Commit ID: 10052D168AB69B928FD
CVSROOT: /cvs
Module name: src
Changes by: [email protected] 2014/01/11 15:59:42 UTC
Modified files:
kern/include : Makefile
Added files:
kern/include : mirhash.h
Log message:
add BAFH: Better Avalanche for the Jenkins hash
This uses NZAAT Init and Update, and AES MixColumns for Finish.
For hashtables this will need XOR with uint32_t then rotation
with uint5_t (so a total of 37 bit of entropy) for mitigation.
For entropy avalanche this needs mixing, and better handling
of the IV and/or the first four bytes, see BAFHHost* macros.
Thanks to Bob Jenkins for the one-at-a-time hash, Bret Mulvey for
the Hash.cs AvalancheTest, Jonathan “ciruZ” Schleifer and Dominik
“Natureshadow” George for discussion, Theodore “Ted” Ts'o for valuable
input on arc4random_roundhash, “poncho” for suggesting and Orson
“nightcracker” Peters for implementing MixColumns, tarent GmbH for
letting me test this empirically on a 64 GiB RAM machine.
To generate a diff of this changeset, execute the following commands:
cvs -R rdiff -kk -upr1.4 -r1.5 src/kern/include/Makefile
cvs -R rdiff -kk -upr0 -r1.1 src/kern/include/mirhash.h