
SipHash: a fast short-input PRF - jsnell
https://131002.net/siphash/
======
diminish
Recently implemented a Ruby C extension for format preserving
encryption/decryption pair for unique code generation. From SHA-* family to
AES to Siphash
([https://131002.net/siphash/siphash.pdf](https://131002.net/siphash/siphash.pdf))
the wizardry, hoopla and alchemy going on inside basic crypto building blocks
and hashing methods is amazing. The only "reasonable" building block appears
to be various Feistel networks.

What we're left with is modern cryptanalysis..

Hope the cryptanalysis section of the Siphash home page gets quickly built in.
Today's non-security related applications end up making tomorrow's security
headline.

~~~
pbsd
SipHash's page is missing the recent analysis by Dobraunig et al [1]. The
short summary is that it continues to look strong for its use case.

[1] [https://eprint.iacr.org/2014/722](https://eprint.iacr.org/2014/722)

------
MichaelGG
Somewhat related, if you're looking for a fast but not secure hash, xxhash
seems to be the winner:
[https://code.google.com/p/xxhash/](https://code.google.com/p/xxhash/)

It claims up to 13.8 GB/sec on a Core i5.

But SipHash seems to be the function of choice for fast "secure" hashing like
for hashtables.

~~~
TheLoneWolfling
Is it as good as a secure hash otherwise for random non-malicious data?

~~~
MichaelGG
It's used as a checksum for LZ4 compression. I'd use it where you'd consider
something like CRC. It doesn't claim any security properties like SipHash.

------
acqq
I'm always interested in some benchmarks, so I've dug up this:

[https://groups.google.com/forum/#!topic/golang-
dev/R2O25Xz11...](https://groups.google.com/forum/#!topic/golang-
dev/R2O25Xz11zU)

