Download the Intel AESNI Sample Library


The Intel® AES New Instructions (AES-NI) Sample Library demonstrates how one might implement a high performance Advanced Encryption Standard (AES) block cipher using the new AES-NI instructions available in Intel® Core™ i5, Intel® Core™ i7, Intel® Xeon® 5600 series and newer processors. All code samples can be compiled and run as native 32-bit or 64-bit binaries for both Microsoft Windows* and Linux* operating systems. This package is divided into three parts; The Intel® AES sample library, an AES example implementation using the library, and an application that compares Dr. Brian Gladman’s AES performance with that of the AES-NI optimized library.

For more complete information about compiler optimizations, see our Optimization Notice.


Does Intel have any plans to

Does Intel have any plans to support AES-NI on the Mac using xcode and GCC (llvm-gcc)?
Or is this all up to Apple to add support for the new intrinsics?

Right now the only way to write code with AES-NI seems to be by using the Intel C++ compiler, not Apple's.

I'd love a workaround like the Intel RDRAND library does, using intrinsics when possible, and dropping to maco assembly or even machine code for Mac compatibility.

Is there a supported native library for accessing the AES-NI functionality?
If so, where can I obtain it?

So far, I have discovered only the sample library referenced by this article, and the
example code within the white paper located at

My intuition tells me that Intel never intended for every exploiter to write, debug, and support
his own native library to access the AES-NI functionality.

I am cautiously optimistic that I just haven't located it yet.

Hi Jeffrey and Dan,
in the latest Intel AES-NI Sample Library V1.2, input plaintext for AES-CTR is assumed to have a bytelength of a multiple of 16. Are you planning to add an option of arbitrary bytelength, as AES-CTR supports any bytelength? (Of course, one could add a few bytes to the plaintext prior to encryption.)