在assembly中实施AES

大家好我正在尝试构建一个代码来演示在汇编中进行AES加密。 最新的英特尔手册

AESENC xmm1,xmm2 / m128 -Perform来自第二个源操作数的一轮AES加密流轮密钥,对来自第一个源操作数的128位数据(状态)进行操作,并将结果存储在目标操作数中。

AESENCLAST xmm1,xmm2 / m128 -Perform最后一轮AES加密流来自第二个源操作数的循环密钥,对来自第一个源操作数的128位数据(状态)进行操作,并将结果存储在目标操作数中。

AESKEYGENASSIST xmm1,xmm2 / m128,imm8通过计算生成加密轮密钥的步骤,使用源操作数中指定的128位数据和指定为立即存储的8位循环常量,帮助扩展AES密码密钥目标操作数中的结果。

要做到这一点,我将尝试在线组装,我将构建它来比较在C中完成的普通AES的速度! 我的第一次头脑风暴让我想到如何在内联汇编中使用xmm任何有关我的probs的帮助/头脑风暴/分享想法或一般的想法欢迎干杯=)

如果要在XMM寄存器中获得128位值,请查看MOVDQA和MOVDQU指令。