所以,球员,有很多不同的密码的使用 - 但哪一个是最安全的时下使用

列表: http://www.php.net/manual/en/ mcrypt.ciphers.php

有帮助吗?

解决方案

如果具有128位密钥的不确定使用AES(也称为“Rijndael算法”)。如果你开发了某种关于密钥大小神物,那么你可以选择一个较长的密钥,例如满足你的不合理的疑虑192或256位;额外的成本是不高(+ 40%工作量AES-256,相对于AES-128,它需要一个很非常快速网络实际观察到的差异)。

要注意的是,无论所选择的键的尺寸,对于AES正确的mcrypt密码是总是MCRYPT_RIJNDAEL_128。这是因为AES标准指的Rijndael加密与128位块大小的味道。如果你想AES-256,您需要使用MCRYPT_RIJNDAEL_128有256位(32字节)的关键,而不是MCRYPT_RIJNDAEL_256

AES于1998年出版,并于2001年被美国政府采纳为联邦标准,它表明毫不示弱时下。一些数学性质被发现后,但它们不影响实际的安全;主要是,他们强调,我们对为什么AES是安全的一些比较精确的知识。没有其它对称加密算法已接收尽可能多的关注(由数千天才解密码的)比AES。

大部分安全问题都来自加密算法是如何使用的,而不是算法本身。使用适当的链接模式,添加MAC,管理填充,最重要手柄的牢固。如果你有这一切的权利(这是更为棘手似乎比什么)然后将它变成时间去担心选择的Rijndael,Twofish的或者其他。

其他提示

除了托马斯Pornin最伟大的答案,你还必须考虑你正在努力在“安全”方面达到什么样的(保密性/完整性/真实性/可用性)。

对于每一种情况下,你需要解决的几个问题,比如......谁没有这适用于?在哪里,为什么它被使用(你有什么保护)?它有多长意味着最后?等

例如,那么可能在真正的256个操作的一个完全成熟的继承加密会话数据时,数据确实只是为了持续比如说20-30分钟是没有意义的。一个安全的128bit的算法将是近两倍快或至少使用负荷少的时钟周期和是一样(如果不是更多的)固定。

还有在加密的东西的意思持续很长一段时间(如机密文件或文件,私钥等)与弱,短键的方法是没有意义的。你会希望在与某种身份验证和正确使用的填充时间的多个算法。我有定期加密和签名应要求使用多种算法客户端的内容(主要是Twofish的,AES,RSA)。

和不要忘记或者(就像托马斯指出的),你可以实现一个安全的方法(或方法)不安全。随着大量的各配方和这样的变体,它可以是棘手的实际实现的东西是“安全的”。

通常,一些是一样安全关键是将其解锁。如果我离开我的车钥匙与钥匙打开车门上车,钥匙不是安全的,它的开放为采取任何人走过。河豚良好分散的32个字符的按键也能发挥同样的事情今天别的安全。 A 3字符键然而可以在一个眨眼被打破。

“最强密码是AES-256”

这对布鲁斯的网站的详细信息,AES-256威力,具有讽刺意味的,是最不安全的三个关键尺寸128,192出来,和256有在256位变形密钥生成的问题。

某些算法比其他人不同的事情做得更好 - 你为“最安全”的标准是不知道什么

您肯定不应该使用任何基于DES算法,这些天(假设你有一个自由选择)。 AES(Rijndael算法)为NIST和其他机构的当前标准。

在特定一般更多比特算法装置更安全,但确保使用一个初始化向量,并且不使用ECB。

HTH

下进行。

按照NIST纸,RJINDAEL相比MARS,Twofish的或蛇具有低的安全余量。如果你真的需要强大的加密算法,选择其中的一个。

http://csrc.nist.gov/archive/aes/round2/ r2report.pdf

要引述如下: “火星似乎具有较高的安全边际。MARS的准确表征 那MARS采用了两种不同类型的回合的事实很困难,因为。火星 已经收到了基于其复杂一些批评,这可能阻碍了其 所述AES开发过程的时间范围内的安全性分析。

Rijndael算法似乎有足够的安全余量。安全裕度是有点 难以衡量,因为轮数与密钥大小变化。 Rijndael算法 已收到两个理由了一些批评:它的安全余量是偏低 跻身决赛,而其数学结构可能会导致攻击。然而,其 结构相当简单,这期间可能促进其安全性分析 所述AES开发过程的特定时间段。

蛇似乎具有高安全余量。蛇还具有结构简单, 这可能的指定的时间范围内促进了它的安全性分析 AES开发过程。

Twofish的出现具有高的安全余量。由于Twofish的使用密钥依赖 功能全面,安全余量的概念可能对这种算法意味着少 比其他入围。的Twofish的S盒上只K / 2的比特的依赖 熵在k位密钥的情况下,引发了猜测,Twofish的可能是适合的 分而治之的攻击,虽然没有这样的攻击已经找到。 Twofish的已收到 一些批评它的复杂性,的时间框架中进行分析困难 AES开发过程“。

如果你想看看细节,有在的一篇文章,主要是由我,在分组密码http://en.citizendium.org/wiki/Block_cipher

要符合当前美国的标准,使用AES,以前的Rijndael。任何来自AES竞争的其他入围 - 蛇,MARS,Twofish的或RC-6 - 应该罚款为好。我认为你需要RC6许可证,虽然。

我通常使用AES-128,因为AES是批准FIPS。最强的密码是AES-256(MCRYPT_RIJNDAEL_256)。

mcrypt的具有模块化设计和新的加密可以很容易地添加。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top