论文部分内容阅读
[摘 要]密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。本文通过介绍密码学基本内容,及对DES算法介绍,并提出对DES算计进行改进。
[关键词]密码学;DES
中图分类号:TG28 文献标识码:A 文章编号:1009-914X(2015)29-0031-01
1 密码学简述
密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。
密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。密码在早期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、图像、数据等都可实施加、脱密变换。
密码学是在编码与破译的斗争实践中逐步发展起来的,并随着先进科学技术的应用,已成为一门综合性的尖端技术科学。它与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。它的现实研究成果,特别是各国政府现用的密码编制及破译手段都具有高度的机密性。
密码学(Cryptography)包括密码编码学和密码分析学。密码体制设计是密码编码学的主要内容,密码体制的破译是密码分析学的主要内容,密码编码技术和密码分析技术是相互依相互支持、密不可分的两个方面。
密码体制有对称密钥密码体制和非对称密钥密码体制。对称密钥密码体制要求加密解密双方拥有相同的密钥。而非对称密钥密码体制是加密解密双方拥有不相同的密钥,在不知道陷门信息的情况下,加密密钥和解密密钥是不能相互算出的。
2 密码学的发展
密码的使用已有几千年的历史,埃及人是最早使用特别的象形文字作为信息编码的人。早在公元前一世纪,恺撒大帝就曾用过一种代换式密码,这种密码机制也曾用于两次世界大战,最广为人知的编码机器是“German Enigma”机,在第二次世界大战中德国人就利用它进行信息加密。
1949年,信息论创始人Shannon发表的论文“保密通信的信息理论”将密码学的研究引入了科学的轨道。
1976年,著名学者Diffie和Hellman 发表的“密码学的新方向”奠定了公钥密码学的基础。
1977年,美国数据加密标准(DES)的公布,使密码学的研究和应用从秘密走向
密码学包括密码编制学和密码分析学这两个相互独立又相互依存的分支。从其发展来看,可分为古典密码——以字符为基本加密单元的密码,以及现代密码——以信息块为基本加密单元的密码。
3 DES 算法
DES算法为密码体制中的对称密码体制,又被成为美国数据加密标准,是1972年美国IBM公司研制的对称密码体制加密算法。
明文按64位进行分组, 密钥长64位,密钥事实上是56位参与DES运算(第8、16、24、32、40、48、56、64位是校验位, 使得每个密钥都有奇数个1)分组后的明文组和56位的密钥按位替代或交换的方法形成密文组的加密方法。
DES加密算法特点:分组比较短、密钥太短、密码生命周期短、运算速度较慢。
DES工作的基本原理是,其入口参数有三个:key、data、mode。 key为加密解密使用的密钥,data为加密解密的数据,mode为其工作模式。当模式为加密模式时,明文按照64位进行分组,形成明文组,key用于对数据加密,当模式为解密模式时,key用于对数据解密。实际运用中,密钥只用到了64位中的56位,这样才具有高的安全性。
4 DES算法改进
为了不使改进后的算法反而减弱了DES的加密强度,尝试新的改进也应该避免以下几种情况:
第一,改变S-盒的次序将减弱DES抵抗差分密码分析的能力,进而减弱DES算法的加密强度,为攻击者提供方便。有经验说,使用某些特定次序的S-盒的16-圈DES仅需要大约选择2个明文就能用差分分析方法破译,并得出结论:不管怎样随机选择S-盒都不会比DES更安全;
第二,n重加密。这将增加(n-1)倍的计算时间,且三重加密也早已是如今人们应用较广的的一种DES变形办法;
第三,每圈迭代都使用不同的子密钥,而不是由单个的56比特密钥来产生。但据密码专家比哈姆(Biham)及沙米尔(Shamir)证明利用261个选择明文便可破译这个DES变形,而不是人们所希望的2768个;
第四,增加分组的长度,并提高DES的速度。广义的DES就是一个失败的例子,即使是分组长度为256比特的64-圈广义DES也比16-圈DES弱。有事实证明:比DES快的任何广义DES也就比它不安全。
目前看来,DES最有可能受到的威胁是已知明文想获取密钥的穷举攻击法,因此,以下的设想也主要是针对这一点进行的,但这只是一个小小的改进,并且也需要花费一点代价。下面将进行详细阐述。
基本思路:
明文攻击法的一个显著特点是根据明文与得出的相应的密文之间的联系来进行判断,但如果用一次一密钥的方法必然带来密钥管理上相应资源的支出,大量的密钥所需要的搜索时间势必影响程序的运行效率,且在密钥的管理上还有一个安全性的问题。这样一来,在总体上也严重损害了DES精巧实用的突出特点。
本文的思路是根据所输入的明文的并不显著的特点来改变子密钥的使用顺序,使得不同的密文其使用的密钥实际上可能完全不同(也可能完全相同),而又不增加管理上的负担,对运行效率的影响也比三重DES小。简单的说,就是将明文经IP变换后每行的0或1的数目的奇偶性用0/1来表示,并将原子密钥做同样处理,然后将两者异或,得到的结果用于将原子密钥重新排序,而后进行正常的DES加密过程;并将16个子密钥的顺序(共64bit)进行加密(可使用原密钥或启用一个辅密钥)。解密时,需先将子密钥的顺序解出,再解出原文。
算法过程:
IP置换,保存结果,并对结果中的每一行,计算每个1后面的0的个数及每个0后面的1的个数,若为奇数,得1,若为偶数,得0,最后一个则计算其前面的0或1 的个数,最后可得到一64bit数,;
将这一64bit数与密钥按位做不进位加法,仍得到一64bit数t;将这64bit按顺序分为16个数,即b0、b1、…、b14、b15;
交换原子密钥的顺序:设原子密钥顺序为:k0、k1、…、k14、k15,交换的原则为:若bx(x:从0到15)的值为y(y:从0到15),则kx与ky交换位置,从b0开始计算、交换,直至b15为止,便可得到一新的子密钥顺序;
按照新的子密钥顺序继续DES的加密过程,直至结束;
出于解密的需要,应将更改后的子密钥顺序代码进行加密,也就是说,若新的子密钥顺序为k10k3k5k9……,则顺序代码为64位的1010 0011 0111 1001 … …,对之进行原DES加密,这时的密钥可采用原密钥或别的工作密钥,结果或其指针可与原码的密文存在一起,以便减少管理上资源及效率的损耗。
解密时只需取回子密钥顺序,便可解回去。
结语
本文介绍了密码学,以及其发展史,并介绍了密码学中的DES算法的发展,优缺点,并加以改进的方法和思路。
参考文献
[1]BehrouzA.Forouzan 著,马振晗 贾军宝 译,密码学与网络安全[M],清华大学出版社;
[2]段钢 著,加密与加密(第三版)[M],电子工业出版社;
[3]单海波 王坤峰 李晓峰 著,微软.NET程序的加密与解密[M],电子工业出版社;
[关键词]密码学;DES
中图分类号:TG28 文献标识码:A 文章编号:1009-914X(2015)29-0031-01
1 密码学简述
密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律,应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称密码学。
密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。密码在早期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、图像、数据等都可实施加、脱密变换。
密码学是在编码与破译的斗争实践中逐步发展起来的,并随着先进科学技术的应用,已成为一门综合性的尖端技术科学。它与语言学、数学、电子学、声学、信息论、计算机科学等有着广泛而密切的联系。它的现实研究成果,特别是各国政府现用的密码编制及破译手段都具有高度的机密性。
密码学(Cryptography)包括密码编码学和密码分析学。密码体制设计是密码编码学的主要内容,密码体制的破译是密码分析学的主要内容,密码编码技术和密码分析技术是相互依相互支持、密不可分的两个方面。
密码体制有对称密钥密码体制和非对称密钥密码体制。对称密钥密码体制要求加密解密双方拥有相同的密钥。而非对称密钥密码体制是加密解密双方拥有不相同的密钥,在不知道陷门信息的情况下,加密密钥和解密密钥是不能相互算出的。
2 密码学的发展
密码的使用已有几千年的历史,埃及人是最早使用特别的象形文字作为信息编码的人。早在公元前一世纪,恺撒大帝就曾用过一种代换式密码,这种密码机制也曾用于两次世界大战,最广为人知的编码机器是“German Enigma”机,在第二次世界大战中德国人就利用它进行信息加密。
1949年,信息论创始人Shannon发表的论文“保密通信的信息理论”将密码学的研究引入了科学的轨道。
1976年,著名学者Diffie和Hellman 发表的“密码学的新方向”奠定了公钥密码学的基础。
1977年,美国数据加密标准(DES)的公布,使密码学的研究和应用从秘密走向
密码学包括密码编制学和密码分析学这两个相互独立又相互依存的分支。从其发展来看,可分为古典密码——以字符为基本加密单元的密码,以及现代密码——以信息块为基本加密单元的密码。
3 DES 算法
DES算法为密码体制中的对称密码体制,又被成为美国数据加密标准,是1972年美国IBM公司研制的对称密码体制加密算法。
明文按64位进行分组, 密钥长64位,密钥事实上是56位参与DES运算(第8、16、24、32、40、48、56、64位是校验位, 使得每个密钥都有奇数个1)分组后的明文组和56位的密钥按位替代或交换的方法形成密文组的加密方法。
DES加密算法特点:分组比较短、密钥太短、密码生命周期短、运算速度较慢。
DES工作的基本原理是,其入口参数有三个:key、data、mode。 key为加密解密使用的密钥,data为加密解密的数据,mode为其工作模式。当模式为加密模式时,明文按照64位进行分组,形成明文组,key用于对数据加密,当模式为解密模式时,key用于对数据解密。实际运用中,密钥只用到了64位中的56位,这样才具有高的安全性。
4 DES算法改进
为了不使改进后的算法反而减弱了DES的加密强度,尝试新的改进也应该避免以下几种情况:
第一,改变S-盒的次序将减弱DES抵抗差分密码分析的能力,进而减弱DES算法的加密强度,为攻击者提供方便。有经验说,使用某些特定次序的S-盒的16-圈DES仅需要大约选择2个明文就能用差分分析方法破译,并得出结论:不管怎样随机选择S-盒都不会比DES更安全;
第二,n重加密。这将增加(n-1)倍的计算时间,且三重加密也早已是如今人们应用较广的的一种DES变形办法;
第三,每圈迭代都使用不同的子密钥,而不是由单个的56比特密钥来产生。但据密码专家比哈姆(Biham)及沙米尔(Shamir)证明利用261个选择明文便可破译这个DES变形,而不是人们所希望的2768个;
第四,增加分组的长度,并提高DES的速度。广义的DES就是一个失败的例子,即使是分组长度为256比特的64-圈广义DES也比16-圈DES弱。有事实证明:比DES快的任何广义DES也就比它不安全。
目前看来,DES最有可能受到的威胁是已知明文想获取密钥的穷举攻击法,因此,以下的设想也主要是针对这一点进行的,但这只是一个小小的改进,并且也需要花费一点代价。下面将进行详细阐述。
基本思路:
明文攻击法的一个显著特点是根据明文与得出的相应的密文之间的联系来进行判断,但如果用一次一密钥的方法必然带来密钥管理上相应资源的支出,大量的密钥所需要的搜索时间势必影响程序的运行效率,且在密钥的管理上还有一个安全性的问题。这样一来,在总体上也严重损害了DES精巧实用的突出特点。
本文的思路是根据所输入的明文的并不显著的特点来改变子密钥的使用顺序,使得不同的密文其使用的密钥实际上可能完全不同(也可能完全相同),而又不增加管理上的负担,对运行效率的影响也比三重DES小。简单的说,就是将明文经IP变换后每行的0或1的数目的奇偶性用0/1来表示,并将原子密钥做同样处理,然后将两者异或,得到的结果用于将原子密钥重新排序,而后进行正常的DES加密过程;并将16个子密钥的顺序(共64bit)进行加密(可使用原密钥或启用一个辅密钥)。解密时,需先将子密钥的顺序解出,再解出原文。
算法过程:
IP置换,保存结果,并对结果中的每一行,计算每个1后面的0的个数及每个0后面的1的个数,若为奇数,得1,若为偶数,得0,最后一个则计算其前面的0或1 的个数,最后可得到一64bit数,;
将这一64bit数与密钥按位做不进位加法,仍得到一64bit数t;将这64bit按顺序分为16个数,即b0、b1、…、b14、b15;
交换原子密钥的顺序:设原子密钥顺序为:k0、k1、…、k14、k15,交换的原则为:若bx(x:从0到15)的值为y(y:从0到15),则kx与ky交换位置,从b0开始计算、交换,直至b15为止,便可得到一新的子密钥顺序;
按照新的子密钥顺序继续DES的加密过程,直至结束;
出于解密的需要,应将更改后的子密钥顺序代码进行加密,也就是说,若新的子密钥顺序为k10k3k5k9……,则顺序代码为64位的1010 0011 0111 1001 … …,对之进行原DES加密,这时的密钥可采用原密钥或别的工作密钥,结果或其指针可与原码的密文存在一起,以便减少管理上资源及效率的损耗。
解密时只需取回子密钥顺序,便可解回去。
结语
本文介绍了密码学,以及其发展史,并介绍了密码学中的DES算法的发展,优缺点,并加以改进的方法和思路。
参考文献
[1]BehrouzA.Forouzan 著,马振晗 贾军宝 译,密码学与网络安全[M],清华大学出版社;
[2]段钢 著,加密与加密(第三版)[M],电子工业出版社;
[3]单海波 王坤峰 李晓峰 著,微软.NET程序的加密与解密[M],电子工业出版社;