关于“php_des密钥”的问题,小编就整理了【3】个相关介绍“php_des密钥”的解答:
des算法用来加密的密钥有多少位???DES使用56位密钥对64位的数据块进行加密,并对64位的数据块进行16轮编码。与每轮编码时,一个48位的“每轮”密钥值由56位的完整密钥得出来。DES用软件进行解码需要用很长时间,而用硬件解码速度非常快,但幸运的是当时大多数黑客并没有足够的设备制造出这种硬件设备。在1977年,人们估计要耗资两千万美元才能建成一个专门计算机用于DES的解密,而且需要12个小时的破解才能得到结果。所以,当时DES被认为是一种十分强壮的加密方法。
??但是,当今的计算机速度越来越快了,制造一台这样特殊的机器的花费已经降到了十万美元左右,所以用它来保护十亿美元的银行间线缆时,就会仔细考虑了。另一个方面,如果只用它来保护一台服务器,那么DES确实是一种好的办法,因为黑客绝不会仅仅为入侵一个服务器而花那么多的钱破解DES密文。由于现在已经能用二十万美圆制造一台破译DES的特殊的计算机,所以现在再对要求“强壮”加密的场合已经不再适用了。
??三重DES
??因为确定一种新的加密法是否真的安全是极为困难的,而且DES的唯一密码学缺点,就是密钥长度相对比较短,所以人们并没有放弃使用DES,而是想出了一个解决其长度问题的方法,即采用三重DES。这种方法用两个密钥对明文进行三次加密,假设两个密钥是K1和K2,其算法的步骤如图5.9所示:
DES的密钥长度不够的原因?传统上使用的单重des加密技术,由于其密钥长度为56位,无法确保信息安全性。也正是由于des的脆弱性,绝大部分银行和金融服务公司开始寻求新的加密技术。
对已使用des算法软件和硬件的公司,尽管还有使用des的其他选择,但到目前为止,三重des加密技术是最实用的解决方案。
三重des加密技术是des的新版本,在des基础上进行了很大的改进,用两种不同的密钥,三次使用des加密算法,使得新的des密钥更加安全可靠。
密钥的第一个56位数据位组首先加密,然后用密钥的第二个56位数据位组加密,使密钥的复杂度和长度增加一倍,最后再对第一个56位数据块加密,再一次增加了密钥的复杂性,但没有增加密钥长度。
这样形成的密钥利用穷举搜索法很难破解,因为它只允许2112次的一次性尝试,而不是标准des的2256次。
三重des加密技术基本克服了des密钥长度不足的最大缺陷,成功地使des密钥长度加倍,达到了112位的军用级标准,没有任何攻击方式能破解三重des加密技术,这样它提供了足够的安全性
des加密的详细步骤?DES算法是密码学中的最基本的加密算法,详细加密步骤如下:
①64位密钥经子密钥产生算法产生出16个子密钥,供16轮加密迭代使用。
②64位明文经过初始置换IP,将数据打乱重新排列并分成左右两半。
③由加密函数f实现子密钥K1对R0的加密,结果为32位的数据组f(R0,K1),f(R0,K1)再与L0模2相加,又得到一个32位的数据组L0模2f(R,K1),以L0模2f(R,K1)作为第二次加密迭代的R1,以R0作为第二次加密迭代的L1.
④第二次至第十六次加密迭代,分别使用使用子密钥K2-K16进行,过程与第一次加密迭代相同;
⑤第十六次加密迭代结束后,产生一个64位的数据组,以其左边32位作为R16,右边32位作为L16,两者合并,再经过逆初始置换IP,将数据重新排列,得到64位密文。
到此,以上就是小编对于“php_des密钥”的问题就介绍到这了,希望介绍关于“php_des密钥”的【3】点解答对大家有用。