mur*_*lai 10 php encryption algorithm mcrypt
有什么区别MCRYPT_RIJNDAEL_128,MCRYPT_RIJNDAEL_256,MCRYPT_BLOWFISH,等哪一个是最适合的网络数据传输?
Dam*_*mon 20
Rijandel是AES的另一个名称,AES是当前"一个很好的标准"算法.数字128或256是密钥长度.
Blowfish是一种较旧的64位分组密码(AES是128位分组密码).
你不能说他们中的任何一个都是"更好"或"更糟",因为它们都没有真正被打破,但一般来说AES应该更优越,大多数实现也更快.此外,最现代的CPU在硬件中支持AES,这将使其更快......因此没有理由不使用AES.
对于密钥长度,128位实际上足以用于对称密码.除非您是贵国核武器代码的守护者,否则您将需要使用256位密钥.
请注意,如果要以合理的方式使用256位密钥,则需要大约40个字符的密码.这再一次表明,加密算法不是安全链中的薄弱环节,而是人类.
编辑:再想一想,对于256位密钥所需的密码长度,50-60个字符可能是更合理的猜测.英语每个字符的熵小于2位.让我们假设你使用一个更随机的字母和数字字符序列(一个仍然能够记住它,虽然......),所以也许我们每个字符有4-5位熵(非常乐观!).这将要求您输入51到64个字符,因此密码的熵大致与密钥匹配.
现在的问题是:我们中有多少人拥有50个字符的密码?:-)
更新:
截至2011年底,Rijndael/AES(Bogdanov,Khovratovich,Rechberger)存在关键恢复攻击,这不是"大多数理论上的"或"热闹的减少轮次"攻击之一.该攻击适用于全面的AES,比蛮力快4倍.因此,人们可能会认为Rijndael"被打破".
实际上,攻击迄今无关紧要.即使使用最短的支持密钥长度,攻击速度比蛮力快四倍也需要2 126次操作,即使使用大量硬件实现也是如此.但是,如果可以改进攻击,将来可能会发生变化.
| 归档时间: |
|
| 查看次数: |
7904 次 |
| 最近记录: |