gpt4 book ai didi

assembly - 我什么时候应该单独使用 AESIMC,而不是使用 AESDEC

转载 作者:行者123 更新时间:2023-12-01 02:14:24 26 4
gpt4 key购买 nike

x86 ISA 允许我使用 AES-NI 指令来加密/解密一轮的所有 4 个步骤,或者最后一轮只加密/解密其中的 3 个步骤。

唯一也有单独指令的步骤是 InvMixColumn 转换 ( AESIMC )。

这是为什么?在什么情况下我应该将这个指令与 AESDEC/AESDECLAST 分开使用?

最佳答案

当您执行 AES-192 (FIPS 197) 时,您可以在 key 上应用指令。假设您的 key 在寄存器 xmm2 到 xmm14 中,如下所示:

aesimc xmm2, xmm2
aesimc xmm3, xmm3
aesimc xmm4, xmm4
...
aesimc xmm13, xmm13
aesimc xmm14, xmm14

这发生在 aesdec 之前。指令也可以混合,只要 aesimc 在与解密指令一起使用之前发生在寄存器上:
aesimc xmm14, xmm14
aesdec xmm1, xmm14
aesimc xmm13, xmm13
aesdec xmm1, xmm13
...

但是,首先一次完成所有操作可能会更快,因为这样寄存器很容易用于 aesdec 指令。

仅供引用,说明文档说:

Note: the AESIMC instruction should be applied to the expanded AES round keys (except for the first and last round key) in order to prepare them for decryption using the “Equivalent Inverse Cipher” (defined in FIPS 197).



来源: http://www.intel.com/content/dam/www/public/us/en/documents/white-papers/aes-instructions-set-white-paper.pdf (搜索“代码示例”一章)。

关于assembly - 我什么时候应该单独使用 AESIMC,而不是使用 AESDEC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26159417/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com