I want to implement AES-128-GCM in assembler using Intel AES-NI instructions. I have found reference code in the Intel AES-NI Whitepaper but I don't see code for the GCM mode there (or indeed any use of the PCLMULQDQ instruction). Do I miss something in this document? Or could somebody point me to another similarly clean and simple implementation in assembler with AES-NI instructions that uses GCM mode?

I am hopeful that the implementation will be pretty straightforward given a good reference implementation and also good reference benchmarks for cycles per byte. The main reason I am reimplementing this is as an exercise in using an unusual assembler (DynASM).


closed as off-topic by otus, mikeazo Nov 23 '15 at 14:15

  • This question does not appear to be about cryptography within the scope defined in the help center.
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    $\begingroup$ I'm voting to close this question as off-topic because it is a code request or asking for programming help. $\endgroup$ – otus Nov 23 '15 at 8:02
  • 1
    $\begingroup$ Maybe this will help you. $\endgroup$ – SEJPM Nov 23 '15 at 11:37
  • $\begingroup$ What is your question? This site is not a discussion forum. For that I would recommend sci.crypt. This site is for specific questions. So far all I see in your question is "did I miss something in a document" and "can you point me to some code that does what I want". Definitely not the types of questions we want on this site. I suggest you take the site tour. $\endgroup$ – mikeazo Nov 23 '15 at 14:14
  • $\begingroup$ I think this is a good question given that Intel has published this code and it is very difficult to find. I can't find a direct link to the Intel reference implementation, but I did find a copy of the Intel reference implementation at: secure.yikes.com/~bear/aesni-gcm.tar.gz $\endgroup$ – Claris Feb 2 '17 at 18:14