You are here:
Publication details
The Efficient Randomness Testing using Boolean Functions
Authors | |
---|---|
Year of publication | 2017 |
Type | Article in Proceedings |
Conference | Proceedings of the 14th International Joint Conference on e-Business and Telecommunications (ICETE 2017) - Volume 4: SECRYPT, Madrid, Spain, July 24-26, 2017 |
MU Faculty or unit | |
Citation | |
web | https://crocs.fi.muni.cz/public/papers/secrypt2017 |
Doi | http://dx.doi.org/10.5220/0006425100920103 |
Field | Informatics |
Keywords | booltest; randomness; randomness testing; polynomials; NIST STS; Dieharder; boolean functions; statistical randomness test |
Description | The wide range of security applications requires data either truly random or indistinguishable from the random. The statistical tests included in batteries like NIST STS or Dieharder are frequently used to assess this randomness property. We designed principally simple, yet powerful statistical randomness test working on the bit level and based on a search for boolean function(s) exhibiting bias not expected for truly random data when applied to the tested stream. The deviances are detected in seconds rather than tens of minutes required by the common batteries. Importantly, the boolean function exhibiting the bias directly describes the pattern responsible for this bias - allowing for construction of bit predictor or fixing the cause of bias in tested function design. The present bias is frequently detected in at least order of magnitude less data than required for NIST STS or Dieharder showing that the tests included in these batteries are either too simple to spot the common biases (like Monobit test) or overly complex (like Fourier Transform test) which requires an extensive amount of data. The proposed approach called BoolTest fills this gap. The performance was verified on more than 20 real world cryptographic functions – block and stream ciphers, hash functions and pseudorandom generators. Among others, the previously unknown bias in output of C rand() and Java Random generators which can be utilized as practical distinguisher was found. |
Related projects: |