2016-04-15 19 views

回答

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