mirror of
https://github.com/emmansun/gmsm.git
synced 2025-05-11 19:46:17 +08:00
sm4: ppc64x, fix duplicated definition of symbol github.com/emmansun/gmsm/sm4.rcon
This commit is contained in:
parent
2f048ffbdf
commit
11db64eb35
@ -1,31 +1,4 @@
|
||||
DATA ·rcon+0x00(SB)/8, $0x0b0a09080f0e0d0c // byte swap per word
|
||||
DATA ·rcon+0x08(SB)/8, $0x0302010007060504
|
||||
DATA ·rcon+0x10(SB)/8, $0x0001020310111213 // Permute for transpose matrix
|
||||
DATA ·rcon+0x18(SB)/8, $0x0405060714151617
|
||||
DATA ·rcon+0x20(SB)/8, $0x08090a0b18191a1b
|
||||
DATA ·rcon+0x28(SB)/8, $0x0c0d0e0f1c1d1e1f
|
||||
DATA ·rcon+0x30(SB)/8, $0x0001020304050607
|
||||
DATA ·rcon+0x38(SB)/8, $0x1011121314151617
|
||||
DATA ·rcon+0x40(SB)/8, $0x08090a0b0c0d0e0f
|
||||
DATA ·rcon+0x48(SB)/8, $0x18191a1b1c1d1e1f
|
||||
DATA ·rcon+0x50(SB)/8, $0x0c0d0e0f08090a0b // reverse words
|
||||
DATA ·rcon+0x58(SB)/8, $0x0405060700010203
|
||||
DATA ·rcon+0x60(SB)/8, $0x0F0F0F0F0F0F0F0F // nibble mask
|
||||
DATA ·rcon+0x68(SB)/8, $0x0F0F0F0F0F0F0F0F
|
||||
DATA ·rcon+0x70(SB)/8, $0x000D0A0704010E0B // inverse shift rows
|
||||
DATA ·rcon+0x78(SB)/8, $0x0805020F0C090603
|
||||
DATA ·rcon+0x80(SB)/8, $0x691CA0D5B6C37F0A // affine transform matrix m1 low
|
||||
DATA ·rcon+0x88(SB)/8, $0x53269AEF8CF94530
|
||||
DATA ·rcon+0x90(SB)/8, $0x009837AF6CF45BC3 // affine transform matrix m1 high
|
||||
DATA ·rcon+0x98(SB)/8, $0xAB339C04C75FF068
|
||||
DATA ·rcon+0xa0(SB)/8, $0x616EF1FE050A959A // affine transform matrix m2 low
|
||||
DATA ·rcon+0xa8(SB)/8, $0xF5FA656A919E010E
|
||||
DATA ·rcon+0xb0(SB)/8, $0x00A4E044CD692D89 // affine transform matrix m2 high
|
||||
DATA ·rcon+0xb8(SB)/8, $0xA50145E168CC882C
|
||||
GLOBL ·rcon(SB), 8, $192
|
||||
|
||||
#define LOAD_CONSTS(baseAddrReg, offsetReg) \
|
||||
MOVD $·rcon+0x10(SB), baseAddrReg; \
|
||||
LXVD2X (baseAddrReg)(R0), M0; \
|
||||
MOVD $0x10, offsetReg; \
|
||||
LXVD2X (baseAddrReg)(offsetReg), M1; \
|
||||
|
@ -6,6 +6,32 @@
|
||||
|
||||
#include "textflag.h"
|
||||
|
||||
DATA ·rcon+0x00(SB)/8, $0x0b0a09080f0e0d0c // byte swap per word
|
||||
DATA ·rcon+0x08(SB)/8, $0x0302010007060504
|
||||
DATA ·rcon+0x10(SB)/8, $0x0001020310111213 // Permute for transpose matrix
|
||||
DATA ·rcon+0x18(SB)/8, $0x0405060714151617
|
||||
DATA ·rcon+0x20(SB)/8, $0x08090a0b18191a1b
|
||||
DATA ·rcon+0x28(SB)/8, $0x0c0d0e0f1c1d1e1f
|
||||
DATA ·rcon+0x30(SB)/8, $0x0001020304050607
|
||||
DATA ·rcon+0x38(SB)/8, $0x1011121314151617
|
||||
DATA ·rcon+0x40(SB)/8, $0x08090a0b0c0d0e0f
|
||||
DATA ·rcon+0x48(SB)/8, $0x18191a1b1c1d1e1f
|
||||
DATA ·rcon+0x50(SB)/8, $0x0c0d0e0f08090a0b // reverse words
|
||||
DATA ·rcon+0x58(SB)/8, $0x0405060700010203
|
||||
DATA ·rcon+0x60(SB)/8, $0x0F0F0F0F0F0F0F0F // nibble mask
|
||||
DATA ·rcon+0x68(SB)/8, $0x0F0F0F0F0F0F0F0F
|
||||
DATA ·rcon+0x70(SB)/8, $0x000D0A0704010E0B // inverse shift rows
|
||||
DATA ·rcon+0x78(SB)/8, $0x0805020F0C090603
|
||||
DATA ·rcon+0x80(SB)/8, $0x691CA0D5B6C37F0A // affine transform matrix m1 low
|
||||
DATA ·rcon+0x88(SB)/8, $0x53269AEF8CF94530
|
||||
DATA ·rcon+0x90(SB)/8, $0x009837AF6CF45BC3 // affine transform matrix m1 high
|
||||
DATA ·rcon+0x98(SB)/8, $0xAB339C04C75FF068
|
||||
DATA ·rcon+0xa0(SB)/8, $0x616EF1FE050A959A // affine transform matrix m2 low
|
||||
DATA ·rcon+0xa8(SB)/8, $0xF5FA656A919E010E
|
||||
DATA ·rcon+0xb0(SB)/8, $0x00A4E044CD692D89 // affine transform matrix m2 high
|
||||
DATA ·rcon+0xb8(SB)/8, $0xA50145E168CC882C
|
||||
GLOBL ·rcon(SB), RODATA, $192
|
||||
|
||||
#define REVERSE_WORDS V19
|
||||
#define M1L V20
|
||||
#define M1H V21
|
||||
@ -174,6 +200,7 @@ TEXT ·encryptBlocksAsm(SB),NOSPLIT,$0
|
||||
MOVD $·rcon(SB), R4
|
||||
LVX (R4), ESPERMW
|
||||
#endif
|
||||
MOVD $·rcon+0x10(SB), R4
|
||||
LOAD_CONSTS(R4, R3)
|
||||
|
||||
MOVD xk+0(FP), R3
|
||||
|
Loading…
x
Reference in New Issue
Block a user