diff --git a/SM3中的FF2和GG2函数.md b/SM3中的FF2和GG2函数.md index b361774..dbc5dcc 100644 --- a/SM3中的FF2和GG2函数.md +++ b/SM3中的FF2和GG2函数.md @@ -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,其等价公式相比原来的公式,因其简单,具有一定的性能优势。 +特别是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) +``` # 验证