深圳学历教育www.szstudy.com.cn深圳成人高考 数据加密技术的研究综述
BLOWFISH加密法要使用很多字密钥,这些字密钥都在数据加(解)密前被计算出来。
1、P数组由18个32位字密钥组成: P1,P2,......,P18
2、还有4个具有256个入口的32位S盒: S(1,0),S(1,1), ......,S(1,255) S(2,0),S(2,1), ......,S(2,255) S(3,0),S(3,1), ......,S(3,255) S(4,0),S(4,1), ......,S(4,255) 具体计算这些子密钥的方法将在稍候作详细介绍。 (2)加密
BLOWFISH算法由16轮变换组成(设x为64位输入数据): 1、把x平分为部分:xL,xR(32位) 2、For i=1 to 16
xL=xL XOR Pi xR=F(xL) XOR xR 交换xL,xR 3、交换xL,xR(恢复最后一轮交换) 4、xR=xR XOR P17 5、xL=xL XOR P18 6、和并xL,xR 函数F():
平分xL为4个8位子块:a、b、c、d
F(xL)={[S(1,a)+S(2,b) mod 232] XOR S(3,c)} + S(4,d) mod 232 (3)解密
解密与加密类似,但P1,P2,......,P18顺序相反。
补充:BLOWFISH算法为了提高速度,子密钥需提前计算并存于缓冲区中。 (4)子密钥生成具体步骤如下:
1、用固定字符串顺序初始化P数组和S盒,字符串由16进制派值组成。例如:
P1=0x243f6a88
27
深圳学历教育www.szstudy.com.cn深圳成人高考 数据加密技术的研究综述
P2=0x85a308d3 P3=0x13198a2e P4=0x03707344
2、用P1和密钥的前32位进行与运算,P2和后32位进行与运算,依此类推直到
密钥的所有位(可能到P14),重复循环直到P数组与密钥进行与操作。(有
重复字符的短密钥将有相同的结果,例如:A,AA,AAA等等)。 3、当BLOWFISH算法加密全零字符串时,用第1,2步所描述子钥。 4、用第三步的输出代替P1,P2。
5、用修改后的BLOWFISH子钥加密第三步的输出。 6、用第五步输出替换P3,P4。
7、继续操作,用动态改变的BLOWFISH算法按顺序替换所有的P数组和S盒。 总共需要521次重复计算产生所有子钥。把子钥存在缓冲区中要比在加密过程中重复计算好得多(这也是BLOWFISH比DES快的关键所在)[6]。
5.3 椭圆曲线密码体制
椭圆曲线密码体制来源于对椭圆曲线的研究,所谓椭圆曲线指的是由韦尔斯特拉斯(Weierstrass)方程: y2+a1xy+a3y=x3+a2x2+a4x+a6 (1)所确定的平面曲线。其中系数ai(I=1,2,?,6)定义在某个域上,可以是有理数域、实数域、复数域,还可以是有限域GF(pr),椭圆曲线密码体制中用到的椭圆曲线都是定义在有限域上的。
椭圆曲线上所有的点外加一个叫做无穷远点的特殊点构成的集合连同一个定义的加法运算构成一个Abel群。在等式 mP=P+P+?+P=Q (2) 中,已知m和点P求点Q比较容易,反之已知点Q和点P求m却是相当困难的,这个问题称为椭圆曲线上点群的离散对数问题。椭圆曲线密码体制正是利用这个困难问题设计而来。椭圆曲线应用到密码学上最早是由Neal Koblitz 和Victor Miller在1985年分别独立提出的。
椭圆曲线密码体制是目前已知的公钥体制中,对每比特所提供加密强度最高的一种体制。解椭圆曲线上的离散对数问题的最好算法是Pollard rho方法,其时间复杂度为,是完全指数阶的。其中n为等式(2)中m的二进制表示的位数。当n=234, 约为2117,需要1.6x1023 MIPS 年的时间。而我们熟知的RSA所利用的
28
深圳学历教育www.szstudy.com.cn深圳成人高考 数据加密技术的研究综述
是大整数分解的困难问题,目前对于一般情况下的因数分解的最好算法的时间复杂度是子指数阶的,当n=2048时,需要2x1020MIPS年的时间。也就是说当RSA的密钥使用2048位时,ECC的密钥使用234位所获得的安全强度还高出许多。它们之间的密钥长度却相差达9倍,当ECC的密钥更大时它们之间差距将更大。更ECC密钥短的优点是非常明显的,随加密强度的提高,密钥长度变化不大。
5.4 伪随机数加密技术
伪随机数加密技术其实就是通过伪随机数序列使文件的字节值发生变化而产生密文.由于相同的初值得到相同的随机数序列,因此,可以采用同样的伪随机数序列来对密文进行解密将其恢复为明文.
他的加密算法则为:当取定一个初值时,在加密过程中将产生伪随机数序列r1,r2?,rn.
对密文C1有(其中所得a1,a2,?,an即为原明文): ai=Ci-n,当Ci≥r1时 ai=(Ci+256)-n,当Ci 伪随机数加密法的加密和解密程序见附录一。 29 深圳学历教育www.szstudy.com.cn深圳成人高考 数据加密技术的研究综述 6 结论 随着网络系统的发展,网络系统数据网络的迅速发展,各个工作流程离不开计算机和网络,业务数据的安全性就得到很大的重视,各种数据的在网络中的传递,及共享,保证这些数据加密的安全性是很重要。本文通过介绍加密技术的发展状况,并具体阐述了DES、RSA等加密算法概念、优缺点,以及各种在网络层中传输的数据加上各种加密,具体体现在以下方面的应用: 众所周知,数据安全问题涉及 企业 的切身重大利益, 随着网络系统的发展,网络系统数据网络的迅速发展,各个工作流程离不开计算机和网络,业务数据的安全性就得到很大的重视,各种数据的在网络中的传递,及共享,保证这些数据加密的安全性是很重要。尤其是银行系统,加强数据安全更是迫在眉睫。因此, 发展 数据安全技术已成为企业当务之急。而数据安全不仅仅是数据加密技术和加密算法,它还涉及其他很多方面的技术与知识,如:黑客技术、防火墙技术、入侵检测技术、病毒防护技术、信息隐藏技术等。所以,这就要求一个完善的数据加密安全保障系统,不仅应该善于根据具体需求对安全技术进行有效的取舍,而且能够对银行系统中的关键业务数据进行充分的保护。于此同时还应该提高企业的网络安全意识,加大整体防范网络入侵和攻击的能力,并在此基础上形成一支高素质的网络安全管理专业队伍,这样才能从根本上解决企业面临的威胁和捆扰。 由于在现实生活中,我们要确保一些敏感的数据只能被有相应权限的人看到,要确保信息在传输的过程中不会被篡改,截取,这就需要很多的安全系统大量的应用于政府、大公司以及个人系统。数据加密是肯定可以被破解的,但我们所想要的是一个特定时期的安全,也就是说,密文的破解应该是足够的困难,在现实上是不可能的,尤其是短时间内。 30 深圳学历教育www.szstudy.com.cn深圳成人高考 数据加密技术的研究综述 参考文献 [1] 郭丽.关于网络安全之数据加密技术.安徽电子信息职业技术学院学报 2008,(3)6:11-13. [2] 谢冬青,谢志坚, 李超 ,冷健. 关于一种算术编码数据加密方案的密码分析.通信学报 2001,6(4):18-22. [3] 葛淑杰,乔付,任建民;计算机网络通信安全的数据加密算法分析[J];黑龙江科技学院学报;2001,6(3):24-27. [4]嬴政天下.加密算法之RSA算法,http://soft.winzheng.com/infoView/Article_296.htm,2003. [5]蔡立军.计算机网络安全技术[M].北京:中国水利电力出版社 2002,3:68-71. [6] Douglas R.Stinson.《密码学原理与实践》.北京:电子工业出版社,2003,2:131-132. 31