2 void Keccak(u32 r
, u32 c
, const u8
*in
, u64 inLen
, u8 sfx
, u8
*out
, u64 outLen
);
4 #define FIPS202_SHA3_224_LEN 28
5 #define FIPS202_SHA3_256_LEN 32
6 #define FIPS202_SHA3_384_LEN 48
7 #define FIPS202_SHA3_512_LEN 64
9 static inline void FIPS202_SHAKE128(const u8
*in
, u64 inLen
, u8
*out
, u64 outLen
) { Keccak(1344, 256, in
, inLen
, 0x1F, out
, outLen
); }
10 static inline void FIPS202_SHAKE256(const u8
*in
, u64 inLen
, u8
*out
, u64 outLen
) { Keccak(1088, 512, in
, inLen
, 0x1F, out
, outLen
); }
11 static inline void FIPS202_SHA3_224(const u8
*in
, u64 inLen
, u8
*out
) { Keccak(1152, 448, in
, inLen
, 0x06, out
, 28); }
12 static inline void FIPS202_SHA3_256(const u8
*in
, u64 inLen
, u8
*out
) { Keccak(1088, 512, in
, inLen
, 0x06, out
, 32); }
13 static inline void FIPS202_SHA3_384(const u8
*in
, u64 inLen
, u8
*out
) { Keccak(832, 768, in
, inLen
, 0x06, out
, 48); }
14 static inline void FIPS202_SHA3_512(const u8
*in
, u64 inLen
, u8
*out
) { Keccak(576, 1024, in
, inLen
, 0x06, out
, 64); }