Updated SM3中的FF2和GG2函数 (markdown)

Sun Yimin 2023-09-22 15:42:40 +08:00
parent 7d42a1d45c
commit 130635e266

@ -7,7 +7,21 @@ $FF2(X, Y, Z) = (X \land Y) \bigoplus (X \land Z) \bigoplus (Y \land Z)$
$GG2(X, Y, Z) = (Y \bigoplus Z) \land X \bigoplus Z$ $GG2(X, Y, Z) = (Y \bigoplus Z) \land X \bigoplus Z$
# 应用 # 应用
特别是GG2其等价公式相比原来的公式因其简单具有一定的性能优势。 特别是GG2其等价公式相比原来的公式因其简单具有一定的性能优势。
原公式:
```asm
MOVL f, y3; \
ANDL e, y3; \ // y3 = e AND f
ANDNL g, e, y1; \ // y1 = NOT(e) AND g
ORL y3, y1; \ // y1 = (e AND f) OR (NOT(e) AND g)
```
等价公式:
```asm
MOVL f, y1; \
XORL g, y1; \
ANDL e, y1; \
XORL g, y1; \ // y1 = GG2(e, f, g)
```
# 验证 # 验证