加密加密中的密码长度

时间:2013-07-12 12:18:22

标签: security encryption cryptography aes

所有对称算法都带有128bit或256bit等密钥大小。 我认为密码在算法使用之前被散列,因此它具有一定长度的x位。 如果这是正确的,是否可以实现最大密码长度/安全性? 想象一下,我使用长度为999999的密码,它使用200个不同的符号。暴力攻击需要检查的可能密码数量是200 ^ 999999 ... 如果密码被散列为256位字符串,虽然它只有2 ^ 256种可能的组合吗? 创建一个密码超过1.16 * 10 ^ 77组合使用的长度和字符是没用的吗?

有人可以清楚这一点并告诉我所选密码实际上与算法的安全性有关吗?

1 个答案:

答案 0 :(得分:1)

是的,典型的对称密码只接受128或256位的密钥是正确的。根本没有办法将更多的熵压入密钥。

但是,您应该注意,在可预见的将来,现在或任何地方都无法通过所有2个 128 可能的密钥执行暴力搜索。使用更长的键没有任何好处。 (事实上​​,AES-256甚至可能比AES-128弱;请参阅this。)

然而,我怀疑任何人都可以提出,更不用说记住密码与任何接近128位的熵。为了解释密码比这弱得多的事实,任何合理的实现都会使用密钥派生算法,例如PBKDF2,而不仅仅是简单的哈希。