Adds sm4_ck constant for use in sm4 cryptography across different targets. Signed-off-by: Max Chou <max.chou@sifive.com> Reviewed-by: Frank Chang <frank.chang@sifive.com> Signed-off-by: Max Chou <max.chou@sifive.com> Message-ID: <20230711165917.2629866-15-max.chou@sifive.com> Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
		
			
				
	
	
		
			16 lines
		
	
	
		
			351 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			16 lines
		
	
	
		
			351 B
		
	
	
	
		
			C
		
	
	
	
	
	
#ifndef QEMU_SM4_H
 | 
						|
#define QEMU_SM4_H
 | 
						|
 | 
						|
extern const uint8_t sm4_sbox[256];
 | 
						|
extern const uint32_t sm4_ck[32];
 | 
						|
 | 
						|
static inline uint32_t sm4_subword(uint32_t word)
 | 
						|
{
 | 
						|
    return sm4_sbox[word & 0xff] |
 | 
						|
           sm4_sbox[(word >> 8) & 0xff] << 8 |
 | 
						|
           sm4_sbox[(word >> 16) & 0xff] << 16 |
 | 
						|
           sm4_sbox[(word >> 24) & 0xff] << 24;
 | 
						|
}
 | 
						|
 | 
						|
#endif
 |