AnsweredAssumed Answered

Which AES Decryption algorithm is used by AMD64 ?

Question asked by ytpaul on Jan 12, 2017

Question 1 : In the AMD64 Architecture Programmer’s manual volume4:128 bit and 256 bit media instruction, The AESDEC instruction is defined to perform a single round of AES decryption which is explained in detail in Appendix A. However, there are two decryption algorithm mentioned in the Appendix A: InvCipher and EqInvCipher. So I want to know which decryption algorithm is used for AMD64 ? what opertions are performed by the AESDEC instruction ?

Question 2: I noticed that the mapping from XMM to GFmatrix between Intel and AMD64 is different. For example XMM={word3, word2, word1, word0}, then the GFmatrix of AMD64={ word3, word2, word1, word0} and the GFmatrix of Intel = {word0, word1, word2, word3}. Does that mean I can not decrypt correctly in AMD64 machine if I use an Intel CPU to encrypt a plain text? If I want use a AMD64 machine to decrypt the cipher encrypted by intel machine, should I permute the cipher text before the start of decryption?

Thank you for your time!