Commit f0582053 authored by Nick Mathewson's avatar Nick Mathewson 🎨
Browse files

csiphash: Add functions to take a global key.

parent f51df9bb
...@@ -132,3 +132,17 @@ uint64_t siphash24(const void *src, unsigned long src_sz, const struct sipkey *k ...@@ -132,3 +132,17 @@ uint64_t siphash24(const void *src, unsigned long src_sz, const struct sipkey *k
return (v0 ^ v1) ^ (v2 ^ v3); 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;
}
...@@ -6,4 +6,7 @@ struct sipkey { ...@@ -6,4 +6,7 @@ struct sipkey {
}; };
uint64_t siphash24(const void *src, unsigned long src_sz, const struct sipkey *key); 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 #endif
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment