AES64ESM 使用浮点或向量寄存器吗?
不使用。标量密码扩展的这些指令使用整数 X 寄存器。
AES 加密中间轮(RV64):两个 64 位源寄存器表示完整状态,执行 ShiftRows/SubBytes/MixColumns
AES64ESM 使用 opcode 0110011(0x33)、funct3 001、funct7 0011011。rs1 和 rs2 字段选择两个源寄存器,rd 字段选择目标寄存器。
aes64esm 是 Zkne 扩展的 RV64 AES 加密中间轮指令。它使用 rs1 和 rs2 两个 64 位源寄存器共同表示完整 128 位 AES 状态,并对该状态应用ShiftRows、SubBytes 和 MixColumns,产生下一轮输出的一半写入 rd。完整 128 位输出通常需要按官方序列以相反源寄存器顺序再执行一次;轮密钥异或不由该 AES64 round 指令隐含完成。
AES64ESM 是 Zkne 标量密码指令,AES 中间轮加密半块。页面内容按官方标量密码扩展校对,避免把算法轮函数、密钥调度和寄存器来源混淆。
结合 «aes64esm a0, a1, a2» 等实际代码理解该场景。
结合 «aes64esm a0, a1, a2» 等实际代码理解该场景。
不使用。标量密码扩展的这些指令使用整数 X 寄存器。
不是。它是 AES、SHA、SM3 或 SM4 中的一个低级步骤,软件仍需按算法顺序组合多条指令和轮常数/轮密钥。