pub fn sm3p0(x: u32) -> u32
🔬This is a nightly-only experimental API. (
stdsimd
#48556)Available on RISC-V RV32 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,该指令的执行延迟必须始终独立于它所操作的数据。