在openssl中实现`aes.h`函数

时间:2016-04-15 15:36:02

标签: c openssl

在openssl中,我在哪里可以找到aes.h的实现,这是头文件{{1}}中的一个函数。

1 个答案:

答案 0 :(得分:1)

  

...我在哪里可以找到AES_encryption的实现

AES_encrypt,而不是AES_encryption。您可以在aes_core.c找到它。

$ grep -IR AES_encrypt * | cut -f 1 -d ':' | sort | uniq | grep '\.c'
apps/speed.c
crypto/aes/aes_cbc.c
crypto/aes/aes_cfb.c
crypto/aes/aes_core.c
crypto/aes/aes_ctr.c
crypto/aes/aes_ecb.c
crypto/aes/aes_ige.c
crypto/aes/aes_ofb.c
crypto/aes/aes_wrap.c
crypto/aes/aes_x86core.c
crypto/evp/e_aes.c
crypto/modes/cts128.c
crypto/modes/gcm128.c

但是,您应该直接使用EVP_*,而不是AES_*AES_*是纯软件实现,因此您不会喜欢AES-NI等硬件支持。请参阅OpenSSL wiki上的EVP Symmetric Encryption and Decryption

事实上,您应该使用经过身份验证的加密,因为它提供 机密性和真实性。请参阅OpenSSL wiki上的EVP Authenticated Encryption and Decryption