我正在查看此页面:http://www.openssl.org/docs/crypto/EVP_BytesToKey.html
在那里,它说:
如果总密钥和IV长度小于摘要长度且使用MD5,则推导算法与PKCS#5 v1.5兼容,否则使用非标准扩展来导出额外数据。 / em>的
我正在使用AES-256-CBC密码和MD5。从上面的摘录判断,这告诉我什么?这是否意味着我与PKCS#5 v1.5兼容,还是意味着它使用了一些非标准的东西?
答案 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_BytesToKey
和openssl enc
等命令。