Updated SM4 with AESENCLAST (markdown)

Sun Yimin 2021-10-29 10:25:41 +08:00
parent a62e735b72
commit 471d6d7d34

@ -24,6 +24,9 @@ My question is how to generate all (M1, C1, M2, C2)?
**Evolution path**
sm4_box_aesenclast <-> sm4_box_aesbox_1 <-> sm4_box_aesbox_2 <-> sm4_box_aesbox_3 <-> sm4_box_aesbox_4
**We note that each affine transform can be constructed from XOR of two 4x8-bit table lookups, which we implement with constant time byte shuffle instructions (each 16-entry table is in a single 128-bit register).**
```
sm4_box_aesenclast
y := mm_and_si128(x, const_0f)