pub fn sm3p0(x: u32) -> u32🔬This is a nightly-only experimental API. (
stdsimd #48556)Available on RISC-V RV64 and target feature
zksh only.Expand description
SM3 哈希算法中使用的 P0 转换函数
该函数包含在 Zksh 扩展中。它被定义为:
P0(X) = X ⊕ (X ≪ 9) ⊕ (X ≪ 17)
其中 ⊕ 表示 32 位异或,≪ k 表示左移 k 位。
在 SM3 算法中,当压缩函数 CF 使用中间值 TT2 计算变量 E 一次迭代时,将 P0 转换作为 E ← P0(TT2) 用于后续处理。
根据 RISC-V Cryptography Extensions, Volume I,该指令的执行延迟必须始终独立于它所操作的数据。