Software methods for fast hashing


  • Shay Gueron University of Haifa and Intel Corporation



hashing, universal hash functions, fast software implementations, PCLMUQDQ.


The carry-less multiplication instruction, PCLMULQDQ, is a relatively recent addition to the x86-64 instructions set. It multiplies two binary polynomials of degree , using  arithmetic, and produces a polynomial of degree , stored in a -bit register. PCLMULQDQ is intended to speed up computations in , which are used for AES-GCM authenticated encryption. We show here how PCLMULQDQ can be used for efficient software implementation of a -bit hash function that has a low collision probability. While a -bit hash is normally not a meaningful security primitive, the discussed hashing algorithm can be leveraged for other usages that enjoy fast hashing, e.g., querying/maintaining databases. On the latest Intel architecture (Codename Broadwell), our hash function can process messages at the rate of  cycles per byte. 

Author Biography

Shay Gueron, University of Haifa and Intel Corporation

Associate Professor, Dept. of Mathematics, University of Haifa, Israel

Senior Principal Engineer, Intel Corporation, Intel Development Center, Israel


(1). Choosing a Good Hash Function,

(2). CityHash,

(3). R. Jenkins,

(4). SMHasher MurmurHash,

(5). S. Gueron and M. E. Kounavis. Intel Carry-Less Multiplication and Its Usage for Computing The GCM Mode, Rev 2.01. Intel Software Network.

(6). S. Gueron and M. E. Kounavis. Efficient Implementation of the Galois Counter Mode Using a Carry-less Multiplier and a Fast Reduction Algorithm. Information Processing Letters 110: 549–-553 (2010).




How to Cite

Gueron, S. (2015). Software methods for fast hashing. Discoveries in Agriculture and Food Sciences, 3(1), 85.