I heard this can really speed up encryption performance, but I can't find any good information about how to implement it.


2 Answers 2


The AES instruction set is supported by most modern compilers (gcc/g++ 4.4 or later, Visual Studio 2008 SP1 or later, Intel c/c++ compiler 11.1 or later).

For gcc, you'll have to use the -mtune with a supported CPU type, or the -maes switch.

It looks like the next generation Cryptography API for Windows (in Windows 7) supports AES-NI. So, if you are using the Crypto API in your code, that should automatically happen on supported machines.

Your other option is to use a precompiled library that has AES-NI support built in. Wikipedia has a list of libraries.


If they've released processors with it, the necessary registers and opcodes to use will be in the latest edition of the x86 architecture programming manuals on Intel's website here. Exactly which manual it is in I do not know as I need to grab latest copies myself.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .