收藏 分销(赏)

N维魔方加密算法设计实现论文.doc

上传人:仙人****88 文档编号:11229782 上传时间:2025-07-09 格式:DOC 页数:30 大小:253.50KB 下载积分:10 金币
下载 相关 举报
N维魔方加密算法设计实现论文.doc_第1页
第1页 / 共30页
N维魔方加密算法设计实现论文.doc_第2页
第2页 / 共30页


点击查看更多>>
资源描述
毕业论文 第24页 毕业设计(论文) 设计论文题目: N维魔方加密算法的设计与实现 学生姓名: 学生学号: 专业班级: 学院名称: 指导老师: 学院院长: 5 月 26 日 摘 要 随着计算机网络的普及,网络攻击、计算机犯罪也随之不断增多。尤其是针对缺少技术支持的个人用户。与公司机关等大型用户相比,个人用户的防护较简单,防护意识差,使得个人隐私容易泄露,网络侵权不断发生。如何满足个人用户的保密、加密需求,采用什么样的加密模型,就成为了值得研究的问题。 本文通过研究现有的三维魔方加密,将三维三阶的魔方映射成用数组表示的虚拟魔方,仿照魔方的移动规律设计并改进了虚拟魔方的加密方式,该方式通过一定的随机步骤移动达到加密置乱的效果。在此基础上将虚拟魔方扩展到N维,分析了加密效率与加密强度随着维度增加的关系,同时结合主流破解方式,分析魔方加密的抗攻击能力。根据魔方加密的特性,找出魔方加密模型运用到文字加密上的不足,结合椭圆曲线加密算法改进N维魔方加密模型。并且针对汉字是象形文字与以字母为基础的拉丁语系不同的特性,加入伪随机数置乱,提高魔方加密对汉字的加密能力。在此研究基础上给出一个简单的实现,该实现是改进后的魔方加密模型。用该实现与DES算法进行对比试验,根据实验结果进行了加密性能和加密效率的总体算法分析。 论文最后对全文进行了总结,并对后续工作进行了展望。 关键词:加密, N维, 魔方, 椭圆, 伪随机 Abstract Chaperonage mankind society of continuously development and progress, calculator gradually infiltration arrive people life of each area. Calculator of universality, biggest push mankind society of progress, speed transact an efficiency, convenience daily of food and clothing living, but in the meantime, network attack, calculator crime also immediately and continuously increase. It particularly is personal customers who aim at a want for technique support. With company organization etc. the large customer compare, personal customer's protection more simple, protection consciousness bad, make personal privacy easy reveal, network infringement continuously occurrence. How satisfy the need of keeping secret, encrypting of personal customer, adoption what kind of encrypt model, became a problem worthy of study. This text encrypt through the research 3D Rubik's cube and reflect 3D Rubik's cube of three ranks to shoot use a several mean of conjecture Rubik's cube, follow a Rubik's cube of move way design and improvement conjecture Rubik's cube of move way, pass certain of random step move attain to encrypt to place disorderly of effect. Expand to N in this conjecture Rubik's cube of the foundation full general, analysis encrypt an efficiency with encrypt strength along with the dimension increment of relation, combine in the meantime main current crack a way, analysis the Rubik's cube encrypt of anti- attack ability. The characteristic encrypted according to the Rubik's cube, find out a Rubik's cube to encrypt a model usage to arrive a writing to encrypt top of shortage, combine oval curve to encrypt calculate way improvement N a Rubik's cube to encrypt model. And aim at Chinese characters is pictograph with take letter of alphabet as foundation of the Latin fasten dissimilarity of characteristic, join false random number place disorderly, exaltation the Rubik's cube encrypt the ability of encrypting Chinese characters. At this research foundation top give a simple of realization, should realization is improvement empress of the Rubik's cube encrypt model. Use that realization to carry on contrast with DES calculate way experiment, according to experiment result carried on to encrypt function and encrypt an efficiency of total calculate way analysis. Thesis the end carried on summary to the full text, and to follow-up work carried on outlook. Key Words:Encrypt;N Wei; Rubik's cube; oval and false random 目 录 第一章 绪论 1 1.1 课题研究的背景 1 1.2 课题研究的现状 1 1.3 论文组织结构 2 第二章 加密算法 3 2.1 私钥加密简介 3 2.2 公开密钥加密简介 4 2.3 加密算法的对比与选择 5 2.4 本章小结 7 第三章 魔方加密算法设计与分析 8 3.1 魔方加密思想 8 3.2 加密算法的设计 9 3.3 密钥的设计 12 3.4 魔方加密的性能 13 3.4.1 魔方加密的总体性能 13 3.4.2 魔方加密的性能与维度的关系 14 3.5 本章小结 15 第四章 魔方加密算法的改进与分析 16 4.1 引入椭圆加密 16 4.2 引入伪随机数置乱加密 16 4.3 魔方加密的改进 17 4.4 改进魔方加密后的性能 18 4.5 本章小结 18 第五章 对比实验及分析 19 5.1 实验设计 19 5.2 实验结果 19 5.3 本章小结 20 总结与展望 21 总结 21 展望 21 致 谢 23 参考文献 24 第一章 绪论 1.1 课题研究的背景 伴随着人类社会的不断发展和进步,计算机逐步渗入到人们生活的各个领域。计算机的普及,极大地推动了人类社会的进步,加快了办公效率,方便了日常的衣食起居,但同时,网络攻击、计算机犯罪也随之不断增多。在各领域的计算机犯罪和网络侵权方面,无论是数量、手段,还是性质、规模,已经到了令人咋舌的地步。据有统计,目前美国每年由于网络安全问题而遭受的经济损失超过170亿美元,德国、英国也均在数十亿美元以上,法国为100亿法郎,网络安全问题日益严重。[1]因此,数据安全问题成了普遍关注的焦点。 数据加密就是将原文件的数据通过某种模型,使其成为一段无意义的数据,只有在通过密钥还原之后才能够读出原来的数据,确保文件内容不被非法阅读和修改,保证信息的安全。解密就是加密的逆过程,就是通过密钥还原文件。 根据加密方式的不同,可分为硬件加密和软件加密,软件加密又分为对称加密和非对称加密。主要方法代码加密、替换加密、变位加密以及在传统加密方式上改进的数据加密标准DES,三层DES,RC2和RC4,数字摘要,国际数据加密算法IDEA。[2]密码学在网络的推动下,已经得到极大的发展。但公众的个人隐私还是受到严重的威胁,个人用户的文件安全还是没有受到充分的保护。 因此,适合个人使用的高效加密模型,及其实现都成为了值得研究的问题。 1.2 课题研究的现状 魔方加密算法是一种变位加密,是在对魔方的大量数学研究基础上发展出来,模仿魔方运转方式移动数据混置来对数据加密,现在已被运用在文件加密中,尤其是图像加密方面。魔方加密具有良好的抗攻击性,较高的加密效率,但单纯 的魔方加密还不足以满足人们的安全需求,所以如何提高魔方的加密性能成了当前研究的热门之一。 例如马虹博博士将动力学系统的Logistic映射产生混沌置乱算法融合到魔方加密当中,由于Logistic映射在一定的参数范围之内会产生混沌,产生的序列具有不可测性。[3]所以可以提高魔方加密的效果,适用图像加密。 在这方面还有大量的研究成果,如叶永伟等人提出了用混沌序列对数字图像进行魔方加密,张丙晨的论文基于魔方加密算法的研究,以及沈建冰等人对魔方变换在数字图像加密中应用的研究等。基于魔方加密的高效性,以及加密强度满足个人隐私需求,可以预见,魔方加密算法将来会被大量的运用到信息加密中,有着广泛的研究前景。 现在关于魔方加密的应用现在多在图像加密方向,针对普通用户的文件加密研究还不充分,因此有必要进一步深入研究魔方加密算法。 1.3 论文组织结构 本文主要是在魔方加密基础上,结合椭圆加密和伪随机数制乱算法,提出一种改进的魔方加密算法,并针对私钥密钥加密方案的ADE算法提出对比试验,分析试验结果,对改进的魔方加密算法给出定性的结论,最后提供一个魔方加密的简单实现。 第一章的内容是介绍本论文的课题研究的背景以及课题研究的现状,最后介绍了一下论文的大概结构和内容。 第二章分别对目前两大加密体制:对称密钥加密算法和公开密钥加密算法进行了简单的介绍;并简单的了解当前的几种主流加密算法。 第三章讲解了魔方加密的主要思想,提供一种魔方加密的算法和密钥的设计。并在此基础上,对魔方加密的性能与魔方维度之间联系进行研究。 第四章是在第三章的基础上,加入椭圆加密和伪随机数置乱加密,对原有的魔方加密进行改进,相应的改进了密钥。这一章介绍了椭圆加密和伪随机数置乱加密的原理,从理论上分析了改进后魔方加密的性能。 第五章是通过前几章的研究,设计出一个与DES算法比较的试验,在试验结果的基础上,对魔方加密算法给出定性的分析。 第六章在改进魔方加密的基础上,简单的实现魔方加密算法。 第七章是对全文的总结。 第二章 加密算法 数据加密就是将原文件的数据通过加密模型(即加密算法)运算,使其成为一段无意义的数据,只有在借助密钥进行逆操作之后才能够读出原来的数据,确保文件内容不被非法阅读和修改,保证信息的安全。解密就是加密的逆过程,就是通过密钥还原文件。当前主要的加密有两种:1.私钥加密。2.公开密钥加密。 2 2.1 私钥加密简介 私钥加密又称为对称加密,这是因为私钥加密算法使用单个私钥来加密和解密数据,同一密钥既用于加密又用于解密。但是由于具有密钥的任何人都可以使用该密钥解密数据,因此必须保护密钥不被未经授权的代理得到。 与公钥算法相比私钥加密算法非常快,特别适用于对较大的数据流执行加密转换。魔方加密属于私钥加密,具有私钥加密的高速优点,所以适合普通个人用户文本加密。 私钥算法的加密思想就是一次加密一个数据块(如 RC2、DES、TripleDES 和 Rijndael),这样要加密或解密字节序列,必须逐块进行。通过算法模型运算将一块中的N个数字加密,形成加密后的密文。 可以危及用此类型密码加密的数据的一个方法是,对每个可能的密钥执行穷举搜索。根据用于执行加密的密钥大小,即使使用最快的计算机执行这种搜索, 也极其耗时,因此难以实施。使用较大的密钥大小将使解密更加困难。虽然从理论上说加密不会使对手无法检索加密的数据,但这确实极大增加了这样做的成本。如果执行彻底搜索来检索只在几天内有意义的数据需要花费三个月的时间,那么穷举搜索的方法是不实用的。 同时,对于给定的私钥 k,一个不使用初始化向量的简单块密码将把相同的明文输入块加密为同样的密文输出块。如果在明文流中有重复的块,那么在密文流中将存在重复的块。如果未经授权的用户知道有关明文块的结构的任何信息,就可以使用这些信息解密已知的密文块并有可能发现密钥。 私钥加密的缺点是必须用同样的密钥进行解密,这样,密钥的内容在传输过程中就存在风险性,有可能被非法破解者截获密钥,所以密钥必须对未经授权的用户保密。由于存在这些问题,私钥加密通常与公钥加密一起使用。 在计算机发展的初期,私钥加密是最为实用的主流加密方法,但是计算机不断地发展,用户不断地增多,密钥就成为了私钥发展的一个瓶颈。 2.2 公开密钥加密简介 公开密钥加密与私钥密钥加密相对应,传统的加密方法是使用对称密钥,由发送者和接收者分别保存同样的密钥,在加密和解密时使用同一个密钥,采用这种方法的主要问题是密钥的生成、注入、存储、管理、分发等很复杂,特别是随着用户的增加,密钥的需求量成倍增加。随着加密文件的海量增加,大量的密钥是一个令所有人头痛的问题。   例如,对应单机文本加密,如果要给N个文本加密,就需要对应保管N个密钥。随着记忆存储体的海量增加,需要加密的文本日渐增多。先且不说用户是否能够自如的运用海量不同的密钥,只是无限制的增加密钥数量就缺少实际使用前景的。 美国斯坦福大学的两名学者迪菲和赫尔曼提出了一种新的加密方法--公开密钥加密队PKE方法。与传统的加密方法不同,该技术采用两个不同的密钥来对 信息加密和解密,它也称为"非对称式加密方法。每个用户有一个对外公开的加密算法E和对外保密的解密算法D,   它们须满足条件: (1)D是E的逆,即D[E(X)]=X; (2)E和D都容易计算。   (3)由E出发去求解D十分困难。 在这种加密方式中,加密密钥不等于解密密钥。密钥可对外公开,使任何人都可将传送给此用户的信息用公开密钥加密发送,而该用户唯一保存的私人密钥是保密的,也只有它能将密文复原、解密。虽然解密密钥理论上可由加密密钥推算出来,但这种算法设计在实际上是不可能的,或者虽然能够推算出,但要花费很长的时间而成为不实际的。所以将加密密钥公开也不会危害密钥的安全。 数学上的单向陷门函数的特点是一个方向求值很容易,但其逆向计算却很困难。例如,两个大素数p和q相乘得到乘积n比较容易计算,但从它们的乘积n分解为两个大素数p和q则十分困难。在n为足够大的情况下,当前的算法不可能在有效的时间内实现。 基于这种理论,出现了著名的RSA算法。这种算法为公用网络上信息的加密和鉴别提供了一种基本的方法。它通常是先生成一对RSA 密钥,其中之一是保密密钥,由用户保存;另一个为公开密钥,可对外公开,甚至可在网络服务器中注册。为提高保密强度,RSA密钥至少为500位长,一般推荐使用1024位。这就使加密的计算量很大。为减少计算量,在传送信息时,常采用传统加密方法与公开密钥加密方法相结合的方式,即信息采用改进的DES或IDEA对话密钥加密,然后使用RSA密钥加密对话密钥和信息摘要。对方收到信息后,用不同的密钥解密并可核对信息摘要。   RSA算法的加密密钥和加密算法分开,使得密钥分配更为方便。它特别符合计算机网络环境。对于网上的大量用户,可以将加密密钥用电话簿的方式印出。如果某用户想与另一用户进行保密通信,只需从公钥簿上查出对方的加密密 钥,用它对所传送的信息加密发出即可。对方收到信息后,用仅为自己所知的解密密钥将信息脱密,了解报文的内容。由此可看出,RSA算法解决了大量网络用户密钥管理的难题。 2.3 加密算法的对比与选择 两种加密方法的体制,总体来说主要有三个方面的不同: 管理方面:公钥密码算法只需要较少的资源就可以实现目的,在密钥的分配上,两者之间相差一个指数级别(一个是n一个是n2)。所以私钥密码算法不适应广域网的使用,而且更重要的一点是它不支持数字签名。 安全方面:由于公钥密码算法基于未解决的数学难题,在破解上几乎不可能。对于私钥密码算法,到了AES虽说从理论来说是不可能破解的,但从计算机的发展角度来看。公钥更具有优越性。 速度上来看:AES的软件实现速度已经达到了每秒数兆或数十兆比特。是公钥的100倍,如果用硬件来实现的话这个比值将扩大到1000倍。 一般个人用户在使用工具时,总是希望耗费尽可能少的等待时间,去完成大量数据的加密。同时,破解密码的主要手段是穷举法,加密的主要目的是提高非法破解者的时间耗费,即使得到明文,也远远超出时效,使其破解行为失去意义,而加密强度要求一般。再加上研究的出发点是针对个人用户的加密需求,所以使用低耗高效的加密是研究算法的主要要求,在选择加密方式时,首选的是加密强度较低的对称密钥加密的魔方加密算法。针对主要的破解方法在3维魔方加密的基础上,逐步改善加密算法。当前主要的密码破解方法有以下几种: 1、唯密文攻击(ciphertext-only attack)。破解人员通过分析拥有的一部分用同一加密方法加密出来的密文来破解未知的密文。任务是恢复尽可能多的明文,或者最好是能推算出加密消息的密钥来,以便采用相同的密钥解算出其它被加密的消息。 2、已知密文攻击(known-plaintext attack)。破解人员知道部分明文,也 知道与这一部分明文相对应的密文。任务就是用加密信息推出用来加密的密钥或者到处一个算法,此算法可以对用同一密钥加密的任何新的消息进行解密。 3、选择明文攻击(chosen-plaintext attack)。破解人员不仅有部分明文和与这一部分明文相对应的密文,而且他们也可选择被加密的明文。这比已知明文攻击更有效。因为破解人员能选择特定的明文块去加密,通过不同的块可以得到更多的关于密钥的信息,任务是推出用来加密消息的密钥或者到处一个算法,此算法可以推用同一密钥加密的任何新的消息进行解密。 4、自适应选择明文攻击(adaptive-chosen-plaintext attack)。这是选择明文攻击的特殊情况。破解人员不仅能选择被加密的密文,而且也能给予以前加密的结果修正这个选择。在选取较小的明文块,然后再基于第一块的结果选择另一明文块,以此类推。 5、选择密文攻击(chosen-ciphertext attack)。破解人员选择不同的被加密的密文,并得到对应的明文。这种攻击主要用于公开密钥算法,选择密文攻击有时也可有效的用于对称算法。前提是分析者能够获得一个密封的“解密盒”,也就是一个专门用于对用某一个特定密钥加密过的密文进行解密的硬件。攻击的方法就是随机产生一个“伪密文”(不一定是合法的),让解密盒进行解密,从所得到的明文和密文进行比较,得到关于密钥或者算法的相关信息。这种攻击实际上和选择明文攻击相类似(就是它的逆过程),只是明文变成密文肯定能够成功,但是逆过程则不一定成功。同时,一般加密算法的设计对于从加密后的密文里面泄露密钥信息是比较注意的,但是从明文里面泄露消息则考虑得相对较少。此外,如果是非对称加密算法,两个破解方向由于密钥长度的不同,会引起破解难度的巨大差别。因此选择密文攻击很可能得到比选择明文攻击更多的信息。[2] 单独的魔方加密有其独特的优点,对应也会有一定的缺陷。在研究中,要找到魔方加密运用在文本加密领域的不足,根据需求,引入合适的加密思想,改进魔方加密模型。研究的主要任务就是针对这5种破解方法,研究魔方加密性能与维度的关系,了解维度提高对加密效率和加密强度的影响,并在研究过程中改进加密算法,提高加密的性能。 2.4 本章小结 介绍了当前加密的两种体制:私钥加密和公开密钥加密。私钥加密就是加密时使用的密钥和解密时使用的密钥相同,这种加密体制的优势是加密速度快,但是每次加密都要生成一个全新的密钥,密钥数量过于庞大,而且密钥的安全性也成了私钥加密不可忽略的问题。相对应的是公开密钥加密,它有一个个人的私钥和可公开的公钥,每个人只需要保管好自己的私钥就可以保证密钥信息不会被传播,这样就大大减少了密钥数量。公开密钥的主要原理是利用当前未解的世界难题,使得难以从算法上破解。 在本章的第三部分介绍了决定算法安全性的一些关键,以及当前的主流破解方式,对应考虑魔方加密的相关性能。一共有五种破解方式:唯密文攻击,已知密文攻击,选择明文攻击,自适应选择明文攻击,选择密文攻击。魔方加密模型对已知密文攻击的抵抗效果不强,需要进一步改进。 第三章 魔方加密算法设计与分析 3 3.1 魔方加密思想 魔方,于20世界70年代末期由匈牙利人Erno Rubik发明,是当时最著名的智力游戏。由3 * 3 * 3个方块组成,在整个魔方的每个小块暴露在外的面上刷有不同的颜色。任意一个3 * 3 * 1的面可以相对于其它面旋转或者扭曲90、180、270度。游戏目标状态是魔方的每一个面颜色调成一致,而任务就是把魔方还原成初始状态。魔方问题相当的复杂,有4.3252 * 1019种不同状态。如果采用魔方来加密的话,一个密钥对应一种状态。理论上密钥空间可以达到4.3252 * 1019 种,假设计算机一秒钟可以尝试255次密码的话,最糟糕的情况需要55.4亿年才能够完全破解。 对于普通的个人用户来说,这样的加密强度已经是绰绰有余了,理论上魔方加密算法在个人文件加密上应该有很大的应用前景。但是,现在魔方加密的主要应用是在图像加密方面。 魔方加密思想就是定义一个容器,把三维实体的魔方问题映射成一个计算机可以理解的数字虚拟问题,然后将这个容器模拟成虚拟的魔方。读入一块数据,让虚拟容器模拟实体魔方的运行方式,使得容器的各个子块像魔方的子块一样达到置乱的效果,同时,数据装在容器的子块中,伴随容器子块也达到置乱效果,这样就完成了加密过程。解密就是加密的逆过程,在加密过程中,记录下移动魔方的次序。需要解密时,容器按照逆循序反过来移动,等完成全部逆过程,文件也就恢复成原始的数据,完成了解密过程。 那么加密后,数据的安全性能就取决于魔方的密钥空间和加密时使用的纬度。首先考虑魔方的密钥空间。美国洛杉矶的加利福利亚州大学Richard E. Korf 等人对3维的魔方问题进行了研究,结合搜索树和穷举法对任意魔方的解法做出推测,大致估计任意的3维3阶魔方都在18步以内有解,绝大部分魔方问题的解都是18步,换句话说,就是密钥的实际空间应该是约等于(3 * 3 * 3)18=1.5 * 10 17。密钥空间虽然没有先前理论上的魔方状态值那么多,但是考虑到一般个人用户的安全需求等级,以及魔方加密的高效性,魔方加密还是很值得研究的。 这样的加密思想在研究过程中还是出现了一个很大的难题,那就是在:3维的情况下,我们可以模拟出物体的运动规律。但是从三维扩展到N维后,已经不再是我们熟悉的3 D物体。在高维度空间中,魔方是怎样运行的,我们怎么样来模拟高纬度魔方的运行? 3.2 加密算法的设计 在三维的前提下,我们可以模拟3 D 世界中最为普遍的3 * 3 * 3魔方,魔方一共有2 7个。有8个角方块,1 2个处在边线中间的边方块,还有6个是个个面中心的中心方块,最后一个是魔方中央的中央方块。在魔方游戏中,中央方块是不可见的,所以在模拟过程中可以忽略这个方块,只需要模拟2 6个元素容器。[4] 在运行的过程中,角方块始终只移动到角方块的位置,边方块和中心方块也只能移动到同性质的位置。而角方块有三个面,如果完全模拟现实的话,对应在虚拟的魔方角方块中,应该有三个元素,边方块对应的有两个数据元素,中心方块只有一个元素。考虑到这些,每个数据元素的容器至少有1个属性来表示它属于哪种方块,再对应的加上可容纳的元素数量。但是光有这些还是不能完全模拟3 D魔方的运行,在魔方的移动过程中,元素的方向状态会发生变化。如果你给魔方的某一个面的每个格上画上同一方向的箭头,在你打乱魔方重新凑齐这个面时,你会发现并不是所有箭头的方向都是一致的。所以,还要加上元素的状态信息。 实体的魔方每次运行,都是把一行8-9个元素进行移动,两边的两行每次移动发生变化的是个元素,中间的一行发生变化的有8个元素(除去中央方格)。转化成计算机能理解的方式,就是一个多维数组,每个数组对应一个数据容器。在魔方运转的时候,对应的部分数组成员就发生数据交换。例如最寻常的3维3 * 3 * 3 魔方,可以定义成一个3 * 3 * 3维的数组,假设坐标可以是A[i] B[i] C[i] (i = 0 ,1 ,2).那么在移动中央B[1]的一列时,就可以简单的映射成a[0]b[1]c[2]->a[0]b[1]c[0],a[1]b[1]c[2]->a[0]b[1]c[1]……而且还要相应的变化方向值,如a[0]b[1]c[2]->a[0]b[1]c[0]时,有两个面的元素发生了变法,正上方的元素移动到了左侧,左侧的元素移动到了下方,也要相应的变化容器里,数值的属性。可以给元素定义六个属性,代表每个方块的六个面,元素的方向发生变化时,只需要把数值从一个属性移动到另外一个属性,没有数值的面就是方格没有显示在魔方外表面。 这样就把魔方运行的物理问题都映射成符号问题之后,这种算法是否实用呢?由于研究的主要目标是针对文本的加密,就不得不考虑文本的特性。如果是简单的图像加密,单个点的颜色信息值是毫无意义的,但文本加密不同。只有特定的英文字母才能组成特定的英文单词,汉语就更不用说了,单个字就有一定的语言信息和位置信息(语法格式)。过于少的容器只能读入少量的文字,发生再多的位移也是豪无意义的。比如说容器只有3个,那么读入英文“yes”,不管你发生多少次位移,如何打乱它的位置,所有的人还是一眼就能读出它的明文。从这点来考虑,完全模拟现实的魔方加密就失去了意义。原因有三: 1. 现实生活中的3 D魔方只有6 * 9 = 54个元素,容量过于小了,虽然说可以通过增加阶数来提高容量,但是提高的比率还不是很客观,4阶的魔方也只有16 * 9 = 144个元素。 2. 将魔方的维数从三维提高后,就不再是我们生活的三维空间物体。如何去想象四维空间中物体的移动规律?虽然说可以通过四维到三维投影的方式来解决这个问题(国外已经有这方面的研究成果),但是维度继 续提高呢?采用过于复杂的计算方式,也失去了实际运用价值。 3. 从前面的分析,我们可以得出,魔方的移动可以近似的模拟成数组的移动。完全写实方案中,为了提高容量,不得不采用大阶数,过于大的阶数会影响魔方的移动效率(为了充分置乱数据,不得不采用更多的移动步骤,降低了计算效率)。那么简单的只采用数组来模拟既可以到达置乱效果,又可以提高效率,为什么还要采用完全写实的方式?[7] 考虑到这些原因,最终,还是选择了简单数组模拟的方式来进行魔方加密。例如3维3阶魔方就定义成27位的3 * 3 * 3数组,四维四阶的魔方就定义成256位的4 * 4 * 4 * 4数组。虽然低阶时,容量还没有完全写实方案大,但是与其不同的是,数组方案中魔方容量是随着维度不断提高递增。比如3维状态下,数组的增长方式是立体的,完全写实方案增长方式是二维的。 图3.1:容量递增比较图 同时,数组方案的容量还随着维度的提高,以更快的方式增长。 图3.2:不同维度容量递增比较图 可以看出,数组方案中,魔方的容量增加速度高的惊人。所以采用这种方案完全可以解决容量不足的问题。同时也完美的扩展到了N维空间。 不过文档在使用魔方加密之前必须经过预处理。假设所采用的魔方容量维n,文档的内容不可能正好是k * n。分成k块后,肯定有一些不足的地方,魔方没有完全填充满,不足的地方可以用空格来填充。使得形成k个饱满的魔方。 移动时,借鉴写实方案中思路,以3维3阶魔方为例,如果要移动b2列,那就把所有B = b2的数据形成一个数据链,然后把这条数据链中的元素循环移动一定的位移。然后模型生成伪随机数列,通过这些伪随机数来指定魔方移动的行列。还是以3维3阶模型来说,无论它怎么移动,都可以分解成三维中,某一维的某一阶移动1-3个90度。那么就可以直接简单的来定义模型移动的方式只有一种,就是以某一维的某一阶进行90度旋转。 考虑到加密时移动的模型数据链中所含元素在明文中根本就是隔离的,而且对应映射到明文中,数据链的移动也变得十分混乱,所以加密效果还是很可观的。文档中内容的相关性以及字母和文字的关联性也变的十分低。(这里假定一个字母在密文中与其在明文中位置紧挨的字母的位置距离的反比为字母的相关性) 3.3 密钥的设计 确定了魔方加密的模型,密钥设计就比较简单了。密钥主要任务是指定魔方模型移动序列,同时,密钥也要能够指定解密的顺序。那么就只能把魔方模型加密时的移动序列完全的添加到密钥信息当中去,也就是说最合适的是私钥加密体制。 而且在加密算法设计中已经确定了指定魔方移动序列的格式,在这里把它具体化成字母就是: ABCABCABC…… A代表的是移动行列所在的是第几维,B代表的是移动行列所在的是第几阶,C代表的是移动多少个基本的步骤(例如三维中,一个基本步骤就是一个90度的移动)。 那么密钥的最基本格式就是ABCABC,为了提高密钥空间,可以在密钥中添加一些无效的移动步骤(就是在实际加密中并没有采用的加密),例如实际加密是50步,那么在3*50之后的ABC格式文字就属于无效移动步骤,在密钥的开头用与ABC格式相同的一个值来表示无效移动步骤的数量。密钥格式就变成了XABCABC,在次基础上添加一个偏移值进行偏移,最终密钥就成为了P+key(key 等于XABCABC进行P步循环移动) 3.4 魔方加密的性能 3.4.1 魔方加密的总体性能 在前面已经分析过,破解密文的方式一共有5种,其中有四种的主要方法是分析加密算法,然后破解用同一加密算法加密的文件。但是这种方法明显的对魔方加密无效,破解者即使明白了加密的全部原理,也必须强行破解,一个一个尝试密码。好比你知道了玩魔方游戏的规则,你还是必须一点点去尝试,才能解决魔方问题,这不同于高考数学题,不是你知道了题目、了解公式就一定解的出来 的。只要密文的文字相关性达到一定的水准(魔方加密的文字相关性会在随后进行分析),真正起关键作用的是密钥。 在前文曾经提过,有研究推测任何3维3阶的魔方问题都可以在18步内有解,而且是绝大部分的解是18步,可以看下图对比。 图3.3:魔方实例求解分布图 根据这个表,可以假设所有的3维3阶模型的解都是18步,每一个问题实例都对应一个惟一解,则密钥空间是(3 * 3 * 3)18 = 5.8E+25。假定解密者的计算机一秒众能运算1000个密码,也需要1844万亿年。这还不考虑提高维度和阶度,只处在最低级的魔方加密,所以想强行破解魔方加密是不可能的。[9] 但是对于已知密文攻击(known-plaintext attack),魔方加密显得有些力不从心。已知密文攻击是通过已知的部分密文和对应的明文,尽可能的破解出更多的用同一密钥加密的密文。这就只能通过改进加密模型来解决这个问题,同时每一次加密都需要保存一个密钥,这显得十分烦琐。而且,密钥加密时随机移动 了50步,但是一个18步的移动序列就可能与它等价,出现的几率虽然很低,但是也需要解决。[10] 3.4.2 魔方加密的性能与维度的关系 对于魔方加密性能中的文字相关性与两个数问题有关,一个是魔方移动的步数是否能够充分置乱,另一个是前面提到的魔方容量问题。很无奈的是,充分置乱只能通大量的随机步骤来实现。而魔方容量,这个与明文中文字相关性联系最为直接也最为紧密的因素主要被魔方维度所制约。所以说,魔方加密性能与魔方的维度有着紧密的联系。 图3.4:加密后文字相关性估略图 想分析两者关系,就必须分析不同阶度情况下,3维至高维度(至少5维),不同维度的加密文字相关性。但是由于各种限制,无法定量的给出两者之间的联系。在这里给一个经过多次实验分析出的估计值: 假定所选阶度都是3阶,明文的数据相关性是1,理想状况的文字相关性是0.01(即在尽挨的前后各十个字中没有原文中紧挨的字)。 可以看出,密文的文字相关性与维度关系是一个曲线关系,当阶数不变提高 维度时,加密效果有显著的提高。 3.5 本章小结 在本章第一部分,文章简单叙述了魔方加密的思想。魔方加密就是在电脑里生成一个容器模拟现实中的魔方,利用魔方的混置效果实现明文的无序化,变成密文。 第二、三部分在第一部分的原理基础上,进行魔方加密算法的设计。根据三维魔方运行的特性,用数组表示魔方,同时改进了魔方的移动方式,使得能够扩展到N维空间。按照设计好的魔方移动方式,设计出密钥,密钥的基本格式是:ABCABC。 第四部分是对魔方加密算法性能的分析。魔方加密的密钥空间相当大,而且魔方加密的加密强度与魔方容量有直接联系,也就是与魔方的维度有直接关系。 第四章 魔方加密算法的改进与分析 4 4.0 引入椭圆加密 公钥密码体制根据其所依据的难题一般分为三类:大整数分解问题类、离散对数问题类、椭圆曲线类。椭圆曲线指的是由韦尔斯特拉斯(Weierstrass)方程: y2+a1xy+a3y=x3+a2x2+a4x+a5 (1) 所确定的平面曲线。其中系数ai(I=1,2,…,5)定义在某个域上,椭圆曲线密码体制中用到的椭圆曲线都是定义在有限域上的。 椭圆曲线上所有的点外加一个叫做无穷远点的特殊点构成的集合连同一个定义的加法运算构成一个Abel群。在等式 mP=P+P+…+P=Q (2) 中,已知m和点P求点Q比较容易,反之已知点Q和点P求m却是相当困难的,这个问题称为椭圆曲线上点群的离散对数问题。[11]椭圆曲线密码体制正是利用这个困难问题设计而来。椭圆曲线密码体制是目前已
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服