【问题标题】:Is it safe to use PBKDF2 with SHA256 to generate 128-bit AES keys?使用带有 SHA256 的 PBKDF2 生成 128 位 AES 密钥是否安全?
【发布时间】:2010-11-24 00:00:18
【问题描述】:

我想使用 PBKDF2 和一些加密散列函数来生成 128 位 AES 密钥。 SHA1 也是 128 位的,所以我想将它与 PBKDF2 一起使用,但它被破坏了,所以我选择使用 SHA256。这是安全的,还是散列大小和生成的密钥大小之间的差异会导致某种灾难性的静默截断,从而使 AES 密钥变弱?我应该让它为 AES 生成 256 位密钥吗?

【问题讨论】:

  • 您“想过将 SHA1HMAC 与 PBKDF2 一起使用”??我不明白。 RFC2898 将 SHA1HMAC 指定为 PBKDF2 的 默认 PRF。 (参见 RFC2898 的附录 A.2)。

标签: security encryption cryptography aes sha256


【解决方案1】:

虽然 SHA-1 已“损坏”,但大多数合理的系统只使用 HMAC 版本,它更强大,probably still fine。也就是说,TLS 1.2 等较新的协议正在使用 at least SHA-256 作为其伪随机函数 (PRF)。

您应该可以将结果截断为您需要的大小(就像大多数 PRF 一样)。 this question 上提供了一些先前的讨论。

关于密钥长度,请参阅keylength.com。您要确保在使用每个原语的方式上保持一致。

【讨论】:

    猜你喜欢
    • 2012-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-15
    • 1970-01-01
    • 1970-01-01
    • 2016-05-26
    相关资源
    最近更新 更多