Weiwei Li | c29da5a | 2022-04-23 10:35:01 +0800 | [diff] [blame] | 1 | #ifndef QEMU_SM4_H |
| 2 | #define QEMU_SM4_H |
| 3 | |
| 4 | extern const uint8_t sm4_sbox[256]; |
Max Chou | f5f3a91 | 2023-07-12 00:59:13 +0800 | [diff] [blame] | 5 | extern const uint32_t sm4_ck[32]; |
Weiwei Li | c29da5a | 2022-04-23 10:35:01 +0800 | [diff] [blame] | 6 | |
Max Chou | f6ef550 | 2023-07-12 00:59:12 +0800 | [diff] [blame] | 7 | static inline uint32_t sm4_subword(uint32_t word) |
| 8 | { |
| 9 | return sm4_sbox[word & 0xff] | |
| 10 | sm4_sbox[(word >> 8) & 0xff] << 8 | |
| 11 | sm4_sbox[(word >> 16) & 0xff] << 16 | |
| 12 | sm4_sbox[(word >> 24) & 0xff] << 24; |
| 13 | } |
| 14 | |
Weiwei Li | c29da5a | 2022-04-23 10:35:01 +0800 | [diff] [blame] | 15 | #endif |