From a23d0e4eff992a78e4f540fd610db651d4a61bd8 Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Sun, 4 Oct 2015 00:23:25 +0200 Subject: siphash24: expose the internal helper functions --- src/basic/siphash24.c | 15 +++------------ src/basic/siphash24.h | 13 +++++++++++++ 2 files changed, 16 insertions(+), 12 deletions(-) (limited to 'src') diff --git a/src/basic/siphash24.c b/src/basic/siphash24.c index 1c827dff1..308e4230c 100644 --- a/src/basic/siphash24.c +++ b/src/basic/siphash24.c @@ -52,16 +52,7 @@ typedef uint8_t u8; (state)->v2 += (state)->v1; (state)->v1=ROTL((state)->v1,17); (state)->v1 ^= (state)->v2; (state)->v2=ROTL((state)->v2,32); \ } while(0) -struct siphash { - u64 v0; - u64 v1; - u64 v2; - u64 v3; - u64 padding; - size_t inlen; -}; - -static void siphash_init(struct siphash *state, const uint8_t k[16]) { +void siphash_init(struct siphash *state, const uint8_t k[16]) { u64 k0, k1; k0 = U8TO64_LE( k ); @@ -76,7 +67,7 @@ static void siphash_init(struct siphash *state, const uint8_t k[16]) { state->inlen = 0; } -static void siphash24_compress(const void *_in, size_t inlen, struct siphash *state) { +void siphash24_compress(const void *_in, size_t inlen, struct siphash *state) { u64 m; const u8 *in = _in; const u8 *end = in + inlen; @@ -149,7 +140,7 @@ static void siphash24_compress(const void *_in, size_t inlen, struct siphash *st } } -static u64 siphash24_finalize(struct siphash *state) { +uint64_t siphash24_finalize(struct siphash *state) { u64 b; b = state->padding | (( ( u64 )state->inlen ) << 56); diff --git a/src/basic/siphash24.h b/src/basic/siphash24.h index 62e1168a7..c107bdd21 100644 --- a/src/basic/siphash24.h +++ b/src/basic/siphash24.h @@ -3,4 +3,17 @@ #include #include +struct siphash { + uint64_t v0; + uint64_t v1; + uint64_t v2; + uint64_t v3; + uint64_t padding; + size_t inlen; +}; + +void siphash_init(struct siphash *state, const uint8_t k[16]); +void siphash24_compress(const void *in, size_t inlen, struct siphash *state); +uint64_t siphash24_finalize(struct siphash *state); + void siphash24(uint8_t out[8], const void *in, size_t inlen, const uint8_t k[16]); -- cgit v1.2.3