欢迎来到天天文库
浏览记录
ID:10995428
大小:57.00 KB
页数:5页
时间:2018-07-09
《一种基于陷门收缩原理的公钥算法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、一种基于“陷门收缩”原理的公钥算法2.设计思想根据Merkle和Hellman提出的经典陷门收缩算法的基本思想,“背包问题”在不知道“陷门信息”的情况下是难以计算求解的,如果知道了“陷门信息”,则求解就变得容易了。本文算法的私有密钥(解密密钥)是在数论的“陷门收缩”理论基础上由随机产生加复杂构造而生成,符合“收缩”计算规律,并利用陷门原理,由私有密钥导出公有密钥(加密密钥)。加密时根据公有密钥由明码导出密码;解密时,利用陷门原理,由密码及关键数导出中间密码,并根据私有密钥收缩求出明码。本算法的一般数
2、学描述为:设X为明码为密码为中间密码为公有密钥(公开)为私有密钥(保密)加密过程:解密过程:①②在密码分析的攻击中,密钥占有极其重要的地位,由于公开密钥密码体制自身的特点,私有密钥的设计成为该密码体制中的关键技术。本文所述的关键是以“陷门收缩”理论为基础构造产生出符合收缩计算规律的私有密钥。私有密钥的构造产生方法,体现了本算法的特点,使该算法具有较高的保密强度。3.本算法的原理与方法3.1算法中用到的一些变量及私有密钥的构造原理(1)设要求加密的数据为X(明文),即,∈(0,1)(2)关键数据r,t
3、,s满足①(r,t)=1②r>t③t•s(modr)=1(3)设计构造一组私有密钥(解密密钥)使其满足①,=2,3,…,64②r>算法中应将r,s,t,私有保存。(4)求一组加密密钥(公开),使其满足•t(modr)3.2加密过程密文:3.3解密过程(1)求关键数s,因为s•t(modr)=1(r,t)=1所以可利用欧几里得算法求得s。(2)求中间密码,有•s(modr)(3)收缩求解,有1当时即0其它1当时(=n-1,n-2,…,3,2,
4、1)0其它4.私有密钥的构造与密码长度分析4.1私有密钥的构造私有密钥的设计构造是本文的目的和重点,也是实现本算法的关键。假设一个明码的长度为64bit,即为(为0或1),私有密钥的个数应与明码的长度相等,即i=64。由数论中的收缩理论可知私有密钥应满足如下公式:=2,3,…,64因此对私有密钥可进行如下构造:(1)产生一组随机整数,0≤≤64(2)构造,1≤n≤65使满足,为符合收缩计算规律的私有密钥。它是由困难的收缩问题转换为易解的收缩问题,求解明码X的关键所在,也是算法的核心所在。对于掌握了私
5、有密钥的人来说解密容易,而对于局外人,不知道私有密钥则求解却十分困难,包括解密与求解该私有密钥。4.2密码长度分析如前所述私有密钥是由64个随机数(0≤≤64),根据=2,3,…,64的理论按照公式构造产生出来的,即:由于≤64,其最大值为=64,据此可分析可能达到的最大值。因为那么取=64,则因为r>又因为所以取r=已知r-1•(r-1)由此可知密文的最大长度可能达到,因此加密后的密码长度将大于或等于明码长度(64bit),因此若加密过程中每次从文件中取8个字节长的明码进行加密,
6、那么解密过程中就要每次从加密后的文件中取10个字节长的密文进行解密。5.算法的保密强度分析5.1密码体制的安全性密码体制的安全性在于:一是密钥的管理。包括密钥的产生、选择、传递、改变以及取消等安全措施。二是加密、解密算法的设计。即使已知明文X和相对应的密文Y,甚至掌握了加、解密算法本身,也很难计算出密钥来,因而就不可能根据未被破译的密文,得到原来的明文。由此可知,密码体制的保密性应取决于对密钥的保密,而不是算法的保密。这是一个好的密码体制所应该具备的特征。公钥密码体制正具备这样的优点:它公开加密算法
7、和加密密钥,只对解密密钥进行保密。密码算法要能够挫败对方的攻击,必须使明文成为密文和密钥的一个足够复杂的数学函数,并使每个密钥成为密文和明文的一个足够复杂的函数。对于公钥密码体制来说,一般保密强度是建立在一种特定的已知问题求解困难这个假设之上的。如RSA公钥密码和背包公钥密码,前者其密码强度建立在具有大素数因子的合数因子分解困难这个著名的数学难题之上,后者其密码强度建立在著名的古典背包问题的数学难题之上。因此,公钥密码算法本身就应具有较强的保密强度。对于密钥,由于其在密码分析攻击中占有极其重要的地位
8、,而公钥密码又只对其解密密钥进行保密,因此密钥的设计和保护就成为该加密体制的关键技术。若对X的每一取值计算,并将结果与密文比较,若相等,则就是所求。假如用一台每秒作10亿次运算的处理器,进行上述算法的穷举试验的时间复杂性是O(),所花费的机器时间需要约21296天,即大约58年的时间。若用1000个处理器,则需要21天,因此这种破译方法显然不切实际的。对于本算法采用第二种破译手段也是无效的。首先该算法即不是“变形”密码也不是“变位”密码,其密文不存在“变形”和“变位”
此文档下载收益归作者所有