High-speed secure pseudorandom function for short messages
SipHash is a C implementation of a family of pseudorandom functions optimized for speed on short messages, designed as a cryptographic defense against hash-flooding denial-of-service attacks. Created in 2012 by Jean-Philippe Aumasson and Daniel J. Bernstein, the project provides reference C code that is portable and prioritized for clarity and debugging. The implementation supports multiple variants including the standard SipHash-2-4, conservative SipHash-4-8, 128-bit output versions, and HalfSipHash for 32-bit word operations, with the code adaptable to different numbers of compression and finalization rounds via compiler flags. As a secure message authentication code and keyed hash function, SipHash has seen widespread integration across operating systems, programming languages, cryptographic libraries, and applications including the Linux kernel, Python, OpenSSL, and WireGuard.