Divide-and-concatenate: an architecture level optimization technique for universal hash functions

  • Authors:
  • Bo Yang;Ramesh Karri;David A. McGrew

  • Affiliations:
  • Polytechnic University, Brooklyn, NY;Polytechnic University, Brooklyn, NY;Cisco Systems, Inc., San Jose, CA

  • Venue:
  • Proceedings of the 41st annual Design Automation Conference
  • Year:
  • 2004

Quantified Score

Hi-index 0.01

Visualization

Abstract

We present an architecture optimization technique called divide-and-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.