commit f05820531a1e4bc5935609900f0067b2643f0529 Author: Nick Mathewson nickm@torproject.org Date: Wed Feb 12 11:27:03 2014 -0500
csiphash: Add functions to take a global key. --- src/ext/csiphash.c | 14 ++++++++++++++ src/ext/siphash.h | 3 +++ 2 files changed, 17 insertions(+)
diff --git a/src/ext/csiphash.c b/src/ext/csiphash.c index 2f37a5f..9a8833d 100644 --- a/src/ext/csiphash.c +++ b/src/ext/csiphash.c @@ -132,3 +132,17 @@ uint64_t siphash24(const void *src, unsigned long src_sz, const struct sipkey *k return (v0 ^ v1) ^ (v2 ^ v3); }
+ +static int the_siphash_key_is_set = 0; +static struct sipkey the_siphash_key; + +uint64_t siphash24g(const void *src, unsigned long src_sz) { + return siphash24(src, src_sz, &the_siphash_key); +} + +void siphash_set_global_key(const struct sipkey *key) +{ + the_siphash_key.k0 = key->k0; + the_siphash_key.k1 = key->k1; + the_siphash_key_is_set = 1; +} diff --git a/src/ext/siphash.h b/src/ext/siphash.h index ff372bc..964fe7d 100644 --- a/src/ext/siphash.h +++ b/src/ext/siphash.h @@ -6,4 +6,7 @@ struct sipkey { }; uint64_t siphash24(const void *src, unsigned long src_sz, const struct sipkey *key);
+void siphash_set_global_key(const struct sipkey *key); +uint64_t siphash24g(const void *src, unsigned long src_sz); + #endif
tor-commits@lists.torproject.org