2011-12-24 58 views
0
讲清EVP_BytesToKey()函数

我期待在本页面:http://www.openssl.org/docs/crypto/EVP_BytesToKey.htmlOpenSSL中

在那里,它说以下内容:

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

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

回答

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之类的命令。