mirror of
https://github.com/emmansun/gmsm.git
synced 2025-05-11 11:36:18 +08:00
Updated SM3中的FF2和GG2函数 (markdown)
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)
|
||||||
|
```
|
||||||
|
|
||||||
# 验证
|
# 验证
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user