Information Security Stack Exchange is a question and answer site for information security professionals. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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

share|improve this question

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.

share|improve this answer

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.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.