澄清OpenSSL中的EVP_BytesToKey()函数

时间:2011-12-24 13:43:03

标签: c cryptography openssl

我正在查看此页面:http://www.openssl.org/docs/crypto/EVP_BytesToKey.html

在那里,它说:

如果总密钥和IV长度小于摘要长度且使用MD5,则推导算法与PKCS#5 v1.5兼容,否则使用非标准扩展来导出额外数据。 / em>的

我正在使用AES-256-CBC密码和MD5。从上面的摘录判断,这告诉我什么?这是否意味着我与PKCS#5 v1.5兼容,还是意味着它使用了一些非标准的东西?

1 个答案:

答案 0 :(得分:4)

这意味着它所说的。 PKCS5版本1.5假设密钥字节数加上IV字节数小于或等于散列函数输出的大小。 PKCS5 version version 2修复了这些问题,但是在定义了EVP_BytesToKey函数后出现了问题,因此EVP_BytesToKey以非标准的方式为更大的密钥大小生成关键字节。


某些内部组件中使用了

OpenSSL 1.1.0c changed the digest algorithm。以前使用MD5,1.1.0切换到SHA256。请注意,更改不会影响EVP_BytesToKeyopenssl enc等命令。