几个月前,我进入了密码学领域,我对此表示怀疑。从技术上讲,PBKDF 将任何密码(具有任何密钥长度)转换为具有特定密钥长度的单一密钥。我知道这是为了可以使用任何用户输入的密码和密码算法,从而不会导致密钥长度错误。
例如,如果 AES 128 接受 128 位密钥大小,当我用蛮力解密时,我有 2^128 次找到正确密钥 (X) 的可能性。但是用户密码的可能性是无限的(理论上,在实践中一个遥远的 keylength 值界定了可能性)。因此,当程序应用 PBKDF 时,无限数量的用户密码变为相同的 128 位派生密钥 (X)。无论如何,至少一个 128 位的用户密码,应用 PBKDF,会产生正确的派生密钥 (X)。这是真实的?我只是打算将逻辑应用于概念。
无论如何,我记得 128 位密钥长度蛮力意味着很多时间。