Download the Intel AESNI Sample Library

Overview

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.

Comments

's picture

How does this library compare with Gueron's whitepaper assembly listings? (found at http://software.intel.com/en-us/articles/intel-advanced-encryption-standard-aes-instructions-set/ )

Dan Zimmerman (Intel)'s picture

Hi Scott,

Functionally and performance wise, the code is essentially the same. Both libs supports the same AES modes (ECB, CTR, CBC) and yields essentially the same cycle/byte effciency results.

cheers,

Dan

Dan Zimmerman (Intel)'s picture

Testing

juntian's picture

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.)

mikeault's picture

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
http://software.intel.com/en-us/articles/intel-advanced-encryption-standard-aes-instructions-set/#comment-66183

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.

sandeep-p's picture

testing the lib
forwarded copy to RD center
Thank you for the lib

--- Sandeep p Director SB Tech
's picture

Thank you very much for the library!!!

's picture

i can't download the library.
could someone help me.

's picture

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.

devrahul t.'s picture

how can i compile the intel library using visual stdio 2010/2012 please give me some suggestion.not able to compile using visual studio.

Thanks

Pages