Title :
The never ending problem of counting bits efficiently
Author :
Suciu, A. ; Cobarzan, P. ; Marton, K.
Author_Institution :
Tech. Univ. of Cluj-Napoca, Cluj-Napoca, Romania
Abstract :
The problem of counting the ones of a bit sequence (commonly known as the “popcount” function) is one of the most interesting problems in cryptography. Although it has received attention for a very long time, it was brought back into focus by the new developments in hardware, both for CPUs (SSE 4.2) and for GPUs. The problem is of special interest in the field of testing the quality of random sequences and occurs in the first tests of the NIST battery of statistical tests for randomness. Obviously, for a “good” random sequence we would expect a “popcount” of about half the length of that sequence. Since testing the quality of a random number generator is notoriously computationally intensive we are of course interested in implementing efficiently the “popcount” function. In the present paper we analyze several implementation methods in search of the most efficient one; for now, we restrict our attention to the serial implementations for CPUs.
Keywords :
computer graphic equipment; coprocessors; cryptography; random number generation; statistical testing; CPU; GPU; NIST battery; National Institute of Standards and Technology; counting bit sequence; cryptography; popcount function; random number generator; random sequences quality testing; statistical tests; Generators; Memory management; NIST; Registers; Table lookup; Testing; SSE instruction set; counting bits; cryptography; popcount; random number generator; statistical testing;
Conference_Titel :
Roedunet International Conference (RoEduNet), 2011 10th
Conference_Location :
Iasi
Print_ISBN :
978-1-4577-1233-3
DOI :
10.1109/RoEduNet.2011.5993702