We present an architecture optimization technique called divideand-concatenate for universal hash functions. The area of a multiplier increases quadratically and its speed increases gradually with the operand size and two universal hash functions are equivalent if they have the same collision probability property. Based on these observations, the divide-and-concatenate approach divides a 2w-bit data path (with collision probability 2 -2w ) into two w-bit data paths (each with collision probability 2 -w ), applies one message word to these two w-bit data paths and concatenates their results to construct an equivalent 2w-bit data path (with collision probability 2 -2w ). We demonstrate this technique on Linear Congruential Hash (LCH) family. When compared to the 100% overhead associated with duplicating a straightforward 32-bit LCH data path, the divide-and-concatenate approach that uses four equivalent 8-bit data paths yields a 101% increase in throughput with only 52% hardware overhead.
REF Proposed an architecture level optimization technique for universal Hash Functions by using Divide-and-Concatenate approach.
Divide-and-concatenate: an architecture level optimization technique for universal hash functions
DAC '04
Computer Science