d39aafe416 | ||
---|---|---|
.gitignore | ||
LICENSE | ||
README.md | ||
main.c | ||
makefile | ||
siphash24.c |
README.md
SipHash
Reference implementation of SipHash, a family of pseudorandom functions optimized for speed on short messages.
SipHash was designed as a mitigation to hash-flooding DoS attacks. It is now used in the hash tables implementation of Python, Ruby, Perl 5, etc.
SipHash was designed by Jean-Philippe Aumasson and Daniel J. Bernstein.
Usage
Running
$ make
will compile and run sanity checks (test vectors) for SipHash-2-4, the default version of SipHash.
The code can be adapted to implement SipHash-c-d, the version of SipHash with c compression rounds and d finalization rounds, by tweaking the lines
#define cROUNDS 2
#define dROUNDS 4
License
The SipHash reference code is released under CC0 license, a public domain-like licence.
References
The SipHash page includes
- a list of third-party implementations and modules
- a list of projects using SipHash
- references to cryptanalysis results