• Nikolay Borisov's avatar
    crypto: xxhash - Implement xxhash support · 67882e76
    Nikolay Borisov authored
    xxhash is currently implemented as a self-contained module in /lib.
    This patch enables that module to be used as part of the generic kernel
    crypto framework. It adds a simple wrapper to the 64bit version.
    
    I've also added test vectors (with help from Nick Terrell). The upstream
    xxhash code is tested by running hashing operation on random 222 byte
    data with seed values of 0 and a prime number. The upstream test
    suite can be found at https://github.com/Cyan4973/xxHash/blob/cf46e0c/xxhsum.c#L664
    
    Essentially hashing is run on data of length 0,1,14,222 with the
    aforementioned seed values 0 and prime 2654435761. The particular random
    222 byte string was provided to me by Nick Terrell by reading
    /dev/random and the checksums were calculated by the upstream xxsum
    utility with the following bash script:
    
    dd if=/dev/random of=TEST_VECTOR bs=1 count=222
    
    for a in 0 1; do
    	for l in 0 1 14 222; do
    		for s in 0 2654435761; do
    			echo algo $a length $l seed $s;
    			head -c $l TE...
    67882e76
Makefile 6.53 KB