APR-UTIL siphash library "SipHash-c-d is a family of pseudorandom functions (a.k.a. keyed
hash functions) optimized for speed on short messages", designed by Jean-Philippe Aumasson and Daniel J. Bernstein. It generates a 64bit hash (or MAC) from the message and a 128bit key. See http://cr.yp.to/siphash/siphash-20120620.pdf for the details, c is the number of compression rounds, d the number of finalization rounds; we also define fast implementations for c = 2 with d = 4 (aka siphash-2-4), and c = 4 with d = 8 (aka siphash-4-8), as recommended parameters per the authors.
More...
#include "apr.h"
Go to the source code of this file.
|
| APR_DECLARE (apr_uint64_t) apr_siphash(const void *src |
| Computes SipHash-c-d, producing a 64bit (APR_SIPHASH_DSIZE) hash from a message and a 128bit (APR_SIPHASH_KSIZE) secret key. More...
|
|
| APR_DECLARE (void) apr_siphash_auth(unsigned char out[APR_SIPHASH_DSIZE] |
| Computes SipHash-c-d, producing a 64bit (APR_SIPHASH_DSIZE) hash from a message and a 128bit (APR_SIPHASH_KSIZE) secret key, into a possibly unaligned buffer (using the little endian representation as defined by the authors for interoperabilty) usable as a MAC. More...
|
|
|
apr_size_t | len |
|
apr_size_t const unsigned char | key [APR_SIPHASH_KSIZE] |
|
apr_size_t const unsigned char unsigned int | c |
|
apr_size_t const unsigned char unsigned int unsigned int | d |
|
const void * | src |
|
APR-UTIL siphash library "SipHash-c-d is a family of pseudorandom functions (a.k.a. keyed
hash functions) optimized for speed on short messages", designed by Jean-Philippe Aumasson and Daniel J. Bernstein. It generates a 64bit hash (or MAC) from the message and a 128bit key. See http://cr.yp.to/siphash/siphash-20120620.pdf for the details, c is the number of compression rounds, d the number of finalization rounds; we also define fast implementations for c = 2 with d = 4 (aka siphash-2-4), and c = 4 with d = 8 (aka siphash-4-8), as recommended parameters per the authors.
#define APR_SIPHASH_DSIZE 8 |
size of the siphash digest
#define APR_SIPHASH_KSIZE 16 |
APR_DECLARE |
( |
apr_uint64_t |
| ) |
const |
Computes SipHash-c-d, producing a 64bit (APR_SIPHASH_DSIZE) hash from a message and a 128bit (APR_SIPHASH_KSIZE) secret key.
Computes SipHash-4-8, producing a 64bit (APR_SIPHASH_DSIZE) hash from a message and a 128bit (APR_SIPHASH_KSIZE) secret key.
Computes SipHash-2-4, producing a 64bit (APR_SIPHASH_DSIZE) hash from a message and a 128bit (APR_SIPHASH_KSIZE) secret key.
- Parameters
-
src | The message |
len | The length of the message |
key | The secret key |
c | The number of compression rounds |
d | The number of finalization rounds |
- Returns
- The hash value as a 64bit unsigned integer
- Parameters
-
src | The message to hash |
len | The length of the message |
key | The secret key |
- Returns
- The hash value as a 64bit unsigned integer
- Parameters
-
src | The message |
len | The length of the message |
key | The secret key |
- Returns
- The hash value as a 64bit unsigned integer
Computes SipHash-c-d, producing a 64bit (APR_SIPHASH_DSIZE) hash from a message and a 128bit (APR_SIPHASH_KSIZE) secret key, into a possibly unaligned buffer (using the little endian representation as defined by the authors for interoperabilty) usable as a MAC.
Computes SipHash-4-8, producing a 64bit (APR_SIPHASH_DSIZE) hash from a message and a 128bit (APR_SIPHASH_KSIZE) secret key, into a possibly unaligned buffer (using the little endian representation as defined by the authors for interoperabilty) usable as a MAC.
Computes SipHash-2-4, producing a 64bit (APR_SIPHASH_DSIZE) hash from a message and a 128bit (APR_SIPHASH_KSIZE) secret key, into a possibly unaligned buffer (using the little endian representation as defined by the authors for interoperabilty) usable as a MAC.
- Parameters
-
out | The output buffer (or MAC) |
src | The message |
len | The length of the message |
key | The secret key |
c | The number of compression rounds |
d | The number of finalization rounds |
- Returns
- The hash value as a 64bit unsigned integer
- Parameters
-
out | The output buffer (or MAC) |
src | The message |
len | The length of the message |
key | The secret key |
- Returns
- The hash value as a 64bit unsigned integer