/* * Keyed 32-bit hash function using TEA in a Davis-Meyer function * H0 = Key * Hi = E Mi(Hi-1) + Hi-1 * * (see Applied Cryptography, 2nd edition, p448). * * Jeremy Fitzhardinge <[email protected]> 1998 * * Jeremy has agreed to the contents of reiserfs/README. -Hans * Yura's function is added (04/07/2000) */ #include <linux/kernel.h> #include "reiserfs.h" #include <asm/types.h> #define DELTA … #define FULLROUNDS … #define PARTROUNDS … /* a, b, c, d - data; h0, h1 - accumulated hash */ #define TEACORE(rounds) … u32 keyed_hash(const signed char *msg, int len) { … } /* * What follows in this file is copyright 2000 by Hans Reiser, and the * licensing of what follows is governed by reiserfs/README */ u32 yura_hash(const signed char *msg, int len) { … } u32 r5_hash(const signed char *msg, int len) { … }