假设我想将“密码派生字节”作为 AES 密钥。例如,我有一个密码“topsecret”,我确实为它计算了 SHA-1 哈希(160 位),我想将这些字节作为 AES-128 的密钥提供。
我应该在 128 位后截断还是进行某种折叠?AES-256 怎么样?我应该重复字节,用 0 填充还是做一些“展开”操作?
我知道在后一种情况下,安全性保持在 160 位,因为 256 位密码池减少到 2^160 种可能的组合,但我只是想克服技术限制(没有 AES-160)。
什么理论说的?(不,对 128 位使用 MD5,对 256 位长散列使用 SHA-256 不是一种选择)