在openssl中,我在哪里可以找到AES_encrypt
的实现,它是头文件aes.h
中的一个函数。
最佳答案
... where can i find the implementation of AES_encryption
它是AES_加密
,而不是AES_加密
。您将在 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 等硬件支持。请参阅EVP Symmetric Encryption and Decryption在 OpenSSL wiki 上。
事实上,您可能应该使用经过身份验证的加密,因为它同时提供 secret 性和真实性。请参阅EVP Authenticated Encryption and Decryption在 OpenSSL wiki 上。
关于c - openssl中 `aes.h`函数的实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36651355/