Hi,

I have written application code for encryption and decryption using OpenSSL
library.
I am testing on machine where AES-NI support is present. I am not sure how
can I confirm
whether execution is using AES-NI instruction set.

When run command line openssl speed -evp aes128, I was seeing
aesni_cbc_cipher() getting hit.
But with my sample code, I am not seeing aesni_cbc_cipher() getting
executed..

Openssl ver: OpenSSL-1.0.1h

Sample high level code is like
 OpenSSL_add_all_algorithms();
 ERR_load_crypto_strings();
 OPENSSL_config(NULL);

  EVP_CIPHER_CTX_init(&ctx);
  if(1 != EVP_DecryptInit_ex(&ctx, EVP_aes_128_cbc(), NULL, key, iv))
    handleErrors();
  EVP_CIPHER_CTX_set_padding(&ctx, 0);

  if(1 != EVP_DecryptUpdate(&ctx, plaintext, &len, ciphertext,
ciphertext_len))
    handleErrors();
  plaintext_len = len;

  if(1 != EVP_DecryptFinal_ex(&ctx, plaintext + len, &len)) handleErrors();
  plaintext_len += len;
  EVP_CIPHER_CTX_cleanup(&ctx);

Any pointers will be appreciated..


Thanks
Mukesh

Reply via email to