security - 使用带有 SHA256 的 PBKDF2 生成 128 位 AES key 是否安全?

标签 security encryption cryptography aes sha256

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

最佳答案

虽然 SHA-1 已“损坏”,但大多数合理的系统仅使用 HMAC版本,哪个更强,probably still fine .也就是说,较新的协议(protocol),如 TLS 1.2 , 正在使用 at least SHA-256他们的伪随机函数 (PRF)。

您应该可以将结果截断到您需要的大小(就像大多数 PRF 所做的那样)。一些先前的讨论可在 this question 上找到.

关于 key 长度,参见keylength.com .您希望确保在使用每个基元的方式上保持一致。

关于security - 使用带有 SHA256 的 PBKDF2 生成 128 位 AES key 是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1351453/

相关文章:

c# - WinRT RSA 加密大数据缓冲区

windows - 确定密码有效期

encryption - 如何选择AES加密模式(CBC ECB CTR OCB CFB)?

python - python HMAC中的填充不是错误的吗?

javascript - 斯坦福 Javascript 加密库 (SJCL) : How to build sjcl. js 并包含 CBC 模式

php - 如何获取md5加密的密码

java - http 请求处理后未调用 postHandle 方法

security - 使用 pathlib 检查子文件夹的安全方法

javascript - WordPress 被黑 : what does this script actually do?

javascript - 在 ruby​​ 中使用 sjcl.js 创建的 AES 解密