SM3P0 使用浮点或向量寄存器吗?
不使用。标量密码扩展的这些指令使用整数 X 寄存器。
SM3P0 使用 opcode 0010011(0x13)、funct3 001、funct7 0001100。rs1 字段选择源寄存器,12 位立即数提供第二操作数,rd 选择目标寄存器。
sm3p0 是 Zksh 扩展的 SM3 哈希算法 P0 置换指令。实现 P0(x) = x ⊕ ROTL(x, 9) ⊕ ROTL(x, 17),其中 ROTL 为循环左移。读取 rs1,计算 P0 结果写入 rd。SM3 是中国国家密码管理局发布的密码杂凑算法标准(GM/T 0004-2012),P0 函数用于 SM3 的消息扩展和压缩函数中。
SM3P0 是 Zksh 标量密码指令,SM3 P0 置换。页面内容按官方标量密码扩展校对,避免把算法轮函数、密钥调度和寄存器来源混淆。
结合 «sm3p0 a0, a1» 等实际代码理解该场景。
结合 «sm3p0 a0, a1» 等实际代码理解该场景。
不使用。标量密码扩展的这些指令使用整数 X 寄存器。
不是。它是 AES、SHA、SM3 或 SM4 中的一个低级步骤,软件仍需按算法顺序组合多条指令和轮常数/轮密钥。