AES NI

From ThinkWiki
Jump to: navigation, search

Usage

To use AES NI you need to load the aesni_intel kernel module.

$ /sbin/modinfo aesni_intel
filename:       /lib/modules/3.0.0-13-generic/kernel/arch/x86/crypto/aesni-intel.ko
alias:          aes
license:        GPL
description:    Rijndael (AES) Cipher Algorithm, Intel AES-NI instructions optimized
srcversion:     61A51F44F192D7CE0FBA795
depends:        cryptd,aes-x86_64
vermagic:       3.0.0-13-generic SMP mod_unload modversions 

To see if your CPU supports AES NI check the output of "cat /proc/cpuinfo | grep aes"

$ cat /proc/cpuinfo | grep aes | wc -l
4

To check whether or not AES NI is enabled check the contents of /proc/crypto

$ grep module /proc/crypto | sort -u
module       : aesni_intel
module       : aes_x86_64
module       : arc4
module       : kernel

To see if OpenSSL supports AES-NI run openssl engine

$ openssl engine
(aesni) Intel AES-NI engine
(dynamic) Dynamic engine loading support

Read More