sm4: try VCIPHERLAST

This commit is contained in:
Sun Yimin 2024-09-11 09:01:42 +08:00 committed by GitHub
parent 69e3749a10
commit 6c62c14405
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -101,7 +101,7 @@ GLOBL ·rcon(SB), RODATA, $192
// - y: 128 bits temp register // - y: 128 bits temp register
// - z: 128 bits temp register // - z: 128 bits temp register
#define AFFINE_TRANSFORM_N(L, H, V_FOUR, x, y, z) \ #define AFFINE_TRANSFORM_N(L, H, V_FOUR, x, y, z) \
VNAND x, NIBBLE_MASK, z; \ VNAND NIBBLE_MASK, x, z; \
VPERM L, L, z, y; \ VPERM L, L, z, y; \
VSRW x, V_FOUR, x; \ VSRW x, V_FOUR, x; \
VAND NIBBLE_MASK, x, z; \ VAND NIBBLE_MASK, x, z; \
@ -118,7 +118,7 @@ GLOBL ·rcon(SB), RODATA, $192
AFFINE_TRANSFORM(M1L, M1H, V_FOUR, x, y, z); \ AFFINE_TRANSFORM(M1L, M1H, V_FOUR, x, y, z); \
; \ ; \
VPERM x, x, INVERSE_SHIFT_ROWS, x; \ VPERM x, x, INVERSE_SHIFT_ROWS, x; \
VCIPHERLAST x, NIBBLE_MASK, x; \ VCIPHERLAST NIBBLE_MASK, x, x; \
; \ ; \
AFFINE_TRANSFORM_N(M2L, M2H, V_FOUR, x, y, z) AFFINE_TRANSFORM_N(M2L, M2H, V_FOUR, x, y, z)