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