xref: /linux/include/crypto/sha3.h (revision 4e0385dd7469d933c4adf84a617f872ca547aa07)
1 /*
2  * Common values for SHA-3 algorithms
3  */
4 #ifndef __CRYPTO_SHA3_H__
5 #define __CRYPTO_SHA3_H__
6 
7 #define SHA3_224_DIGEST_SIZE	(224 / 8)
8 #define SHA3_224_BLOCK_SIZE	(200 - 2 * SHA3_224_DIGEST_SIZE)
9 
10 #define SHA3_256_DIGEST_SIZE	(256 / 8)
11 #define SHA3_256_BLOCK_SIZE	(200 - 2 * SHA3_256_DIGEST_SIZE)
12 
13 #define SHA3_384_DIGEST_SIZE	(384 / 8)
14 #define SHA3_384_BLOCK_SIZE	(200 - 2 * SHA3_384_DIGEST_SIZE)
15 
16 #define SHA3_512_DIGEST_SIZE	(512 / 8)
17 #define SHA3_512_BLOCK_SIZE	(200 - 2 * SHA3_512_DIGEST_SIZE)
18 
19 struct sha3_state {
20 	u64		st[25];
21 	unsigned int	md_len;
22 	unsigned int	rsiz;
23 	unsigned int	rsizw;
24 
25 	unsigned int	partial;
26 	u8		buf[SHA3_224_BLOCK_SIZE];
27 };
28 
29 #endif
30