From abc6db76520b4675f3fe1bba9c8d57f6d44b6015 Mon Sep 17 00:00:00 2001 From: Paul Duncan Date: Sat, 2 Sep 2023 23:34:55 -0400 Subject: sha3.[hc]: add cshake128 functions --- sha3.h | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'sha3.h') diff --git a/sha3.h b/sha3.h index c241758..56e151c 100644 --- a/sha3.h +++ b/sha3.h @@ -36,6 +36,18 @@ _Bool shake256_xof_absorb(sha3_xof_t * const xof, const uint8_t * const m, const void shake256_xof_squeeze(sha3_xof_t * const xof, uint8_t * const dst, const size_t dst_len); void shake256_xof_once(const uint8_t * const src, const size_t src_len, uint8_t * const dst, const size_t dst_len); +typedef struct { + const uint8_t * const name; // NIST function name + const size_t name_len; // length of NIST function name, in bytes + const uint8_t * const custom; // customization string + const size_t custom_len; // length of customization string, in bytes +} cshake_params_t; + +void cshake128_xof_init(sha3_xof_t * const xof, const cshake_params_t params); +_Bool cshake128_xof_absorb(sha3_xof_t * const xof, const uint8_t * const msg, const size_t len); +void cshake128_xof_squeeze(sha3_xof_t * const xof, uint8_t * const dst, const size_t len); +void cshake128(const cshake_params_t params, const uint8_t * const msg, const size_t msg_len, uint8_t * const dst, const size_t dst_len); + #ifdef __cplusplus } #endif /* __cplusplus */ -- cgit v1.2.3