SHA256SIG0 使用浮点或向量寄存器吗?
不使用。标量密码扩展的这些指令使用整数 X 寄存器。
SHA-256 σ0函数:ROTR(rs1,7) ⊕ ROTR(rs1,18) ⊕ SHR(rs1,3)
SHA256SIG0 使用 opcode 0010011(0x13)、funct3 001、funct7 0001000。rs1 字段选择源寄存器,12 位立即数提供第二操作数,rd 选择目标寄存器。
sha256sig0 是 Zknh 扩展的标量密码指令,实现 SHA-256 消息调度中使用的 σ0 函数(小写 sigma):σ0(x) = ROTR(x, 7) ⊕ ROTR(x, 18) ⊕ SHR(x, 3)。该指令读取 rs1,计算 σ0 函数结果并写入 rd。用于 SHA-256 的 W_t 消息字扩展前的预处理。
SHA256SIG0 是 Zknh 标量密码指令,SHA-256 变换。页面内容按官方标量密码扩展校对,避免把算法轮函数、密钥调度和寄存器来源混淆。
结合 «sha256sig0 a0, a1» 等实际代码理解该场景。
结合 «sha256sig0 a0, a1» 等实际代码理解该场景。
不使用。标量密码扩展的这些指令使用整数 X 寄存器。
不是。它是 AES、SHA、SM3 或 SM4 中的一个低级步骤,软件仍需按算法顺序组合多条指令和轮常数/轮密钥。