-1

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

有人可以向我解释一下,并告诉我选择的密码实际上与算法的安全性有什么关系吗?

4

1 回答 1

1

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

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

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

于 2013-07-12T12:33:29.430 回答