aboutsummaryrefslogtreecommitdiff
path: root/sha3.h
diff options
context:
space:
mode:
Diffstat (limited to 'sha3.h')
-rw-r--r--sha3.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/sha3.h b/sha3.h
index a2014c9..864772a 100644
--- a/sha3.h
+++ b/sha3.h
@@ -74,6 +74,24 @@ _Bool kmac256_xof_absorb(sha3_xof_t * const xof, const uint8_t * const msg, cons
void kmac256_xof_squeeze(sha3_xof_t * const xof, uint8_t * const dst, const size_t len);
void kmac256_xof_once(const kmac_params_t params, const uint8_t * const src, const size_t src_len, uint8_t * const dst, const size_t dst_len);
+typedef struct {
+ const uint8_t *ptr;
+ size_t len;
+} tuplehash_str_t;
+
+typedef struct {
+ const tuplehash_str_t *strs; // strings
+ const size_t num_strs; // number of strings
+ const uint8_t *custom; // customization string
+ const size_t custom_len; // length of customization string, in bytes
+} tuplehash_params_t;
+
+void tuplehash128(const tuplehash_params_t params, uint8_t *dst, const size_t dst_len);
+
+void tuplehash128_xof_init(sha3_xof_t * const xof, const tuplehash_params_t params);
+void tuplehash128_xof_squeeze(sha3_xof_t * const xof, uint8_t *dst, const size_t dst_len);
+void tuplehash128_xof_once(const tuplehash_params_t params, uint8_t *dst, const size_t dst_len);
+
#ifdef __cplusplus
}
#endif /* __cplusplus */