是否可以重复基于密码的派生密钥?

时间:2015-11-08 12:01:33

标签: function passwords key repeat kdf

几个月前,我进入了密码学,我有一个疑问。 从技术上讲,PBKDF将任何密码(使用任何密钥长度)转换为具有特定密钥长度的一个密钥。我知道这是因为可以使用任何用户输入的密码和密码算法,不会产生密钥错误。

例如,如果AES 128接受128位密钥大小,当我用暴力解密时,我有2 ^ 128种可能性来找到正确的密钥(X)。但是用户密码可能性是无限的(理论上,在实践中,远离键长值限定了可能性)。因此,当程序应用PBKDF时,无限数量的用户密码变为相同的128位派生密钥(X)。无论如何,应用PBKDF的最小128位用户密码会产生正确的推导密钥(X)。这是真的?我只是故意将逻辑应用于概念。

无论如何,我记得128位关键长度暴力意味着非常多的时间。

1 个答案:

答案 0 :(得分:0)

是的,当然,还有更多可能的密码短语 键。另一方面,假设散列函数是好的,找到一个 碰撞需要2 ^ 64工作,找到一个原像需要2 ^ 128 工作。所以这在实践中不是问题。

编辑回复评论:

听起来你说你可以选择一个很好的长随机 密码,但它可能会生成相同的哈希值 短一个?嗯,是的,这是可能的,但有可能是如此之低 实践它不值得担心。

让我们考虑所有可能的8个字符的密码。 94可打印 字符,提升到8次幂,给出少于2 ^ 53 可能性。出于2 ^ 128个哈希的宇宙,概率为 偶然击中其中一个小于2 ^ -75,或小于1英寸 10 ^ 22。我们更有可能被一次重大的小行星袭击击中 文明将会结束。