static uint64_t cms_hash(const CMS * const cms, uint64_t hashes[2], const char * const item, const size_t item_len, const size_t k_i) { if (unlikely(k_i < 2U)) { crypto_shorthash_siphash24((unsigned char *) &hashes[k_i], (const unsigned char *) item, item_len, cms->skeys[k_i]); return hashes[k_i]; } else { return hashes[0] + (((uint64_t) k_i * hashes[1]) % 0xffffffffffffffc5); } }
int crypto_shorthash(unsigned char *out, const unsigned char *in, unsigned long long inlen, const unsigned char *k) { return crypto_shorthash_siphash24(out, in, inlen, k); }