ArticlePDF Available

TestU01: A C library for empirical testing of random number generators

Authors:

Abstract

a collection of utilities for the empirical statistical testing of uniform random number generators (RNGs). It provides general implementations of the classical statistical tests for RNGs, as well as several others tests proposed in the literature, and some original ones. Predefined tests suites for sequences of uniform random numbers over the interval (0,1) and for bit sequences are available. Tools are also oered to perform systematic studies of the interaction between a specific test and the structure of the point sets produced by a given family of RNGs. That is, for a given kind of test and a given class of RNGs, to determine how large should be the sample size of the test, as a function of the generator's period length, before the generator starts to fail the test systematically. Finally, the library provides various types of generators implemented in generic form, as well as many specific generators proposed in the literature or found in widely-used software. The tests can be applied to instances of the generators predefined in the library, or to user-defined generators, or to streams of random numbers produced by any kind of device or stored in files. Besides introducing TestU01, the paper provides a survey and a classification of statistical tests for RNGs. It also applies batteries of tests to a long list of widely used RNGs.
A preview of the PDF is not available
... determined by their position , and a weight , at each time step . Given an ensemble (11), one can apply a binning approach to compute a stochastic quantitŷ Θ for which E Θ =ˆ , where for each , ...
... with and integers in the range [0, − 1]. However, even for well chosen values , and , LCGs have poor statistical properties, as demonstrated by benchmark tests such as TestU01 [11]. PCGs improve on the poor statistics of the underlying LCG by applying a 1-way parameterized permutation to its state to generate an output value. ...
Preprint
Full-text available
In PDE-constrained optimization, one aims to find design parameters that minimize some objective, subject to the satisfaction of a partial differential equation. A major challenges is computing gradients of the objective to the design parameters, as applying the chain rule requires computing the Jacobian of the design parameters to the PDE's state. The adjoint method avoids this Jacobian by computing partial derivatives of a Lagrangian. Evaluating these derivatives requires the solution of a second PDE with the adjoint differential operator to the constraint, resulting in a backwards-in-time simulation. Particle-based Monte Carlo solvers are often used to compute the solution to high-dimensional PDEs. However, such solvers have the drawback of introducing noise to the computed results, thus requiring stochastic optimization methods. To guarantee convergence in this setting, both the constraint and adjoint Monte Carlo simulations should simulate the same particle trajectories. For large simulations, storing full paths from the constraint equation for re-use in the adjoint equation becomes infeasible due to memory limitations. In this paper, we provide a reversible extension to the family of permuted congruential pseudorandom number generators (PCG). We then use such a generator to recompute these time-reversed paths for the heat equation, avoiding these memory issues.
... • High-quality random numbers: The MT produces high-quality random numbers that are evenly distributed across the range of possible values. This makes it well-suited for use in simulations, games and other applications where randomness is important [54]. • Large period: The MT has a very large period of 2 19937 − 1, which means that the sequence of numbers generated by the algorithm is very long before it begins to repeat. ...
Article
Full-text available
Citation: Alexan, W.; Alexan, N.; Gabr, M. Multiple-Layer Image Encryption Utilizing Fractional-Order Chen Hyperchaotic Map and Cryptographically Secure PRNGs. Fractal Fract. 2023, 7, 287. Abstract: Image encryption is increasingly becoming an important area of research in information security and network communications as digital images are widely used in various applications and are vulnerable to various types of attacks. In this research work, a color image cryptosystem that is based on multiple layers is proposed. For every layer, an encryption key and an S-box are generated and utilized. These are based on a four-dimensional (4D) dynamical Chen system of a fractional-order, the Mersenne Twister, OpenSLL, Rule 30 Cellular Automata and Intel's MKL. The sequential application of Shannon's ideas of diffusion and confusion three times guarantees a total distortion of any input plain image, thereby, resulting in a totally encrypted one. Apart from the excellent and comparable performance to other state-of-the-art algorithms, showcasing resistance to visual, statistical, entropy, differential, known plaintext and brute-force attacks, the proposed image cryptosystem provides an exceptionally superior performance in two aspects: a vast key space of 2 1658 and an average encryption rate of 3.34 Mbps. Furthermore, the proposed image cryptosystem is shown to successfully pass all the tests of the NIST SP 800 suite.
... Le Xoroshiro [104] (nommé d'après les opérations qu'il réalise : XOR -rotation -shift -rotation), est un PRNG ayant une bonne qualité statistique. Il passe notamment l'ensemble des 106 tests statistiques de la collection BigCrush de la bilbiothèque TestU01 [105], incluant notamment les jeux de tests DIEHARD [106], FIPS 140-2 [107] et NIST SP 800-20 [108], considérés comme des références pour l'analyse statistique de RNGs. ...
Thesis
L'intelligence artificielle (IA) révolutionne déjà nos habitudes à travers des technologies permettant l'analyse, le filtrage et la classification d’une grande quantité de données qui ne peuvent être traitées par des algorithmes classiques de par leur complexité et leur incomplétude. Ainsi, il existe aujourd'hui une forte demande pour le matériel dédié à l'IA alors que les objets capables de capter, traiter et distribuer l'information sont de plus en plus contraints en énergie et que la puissance de calcul requise ne fait qu'augmenter. Dans ce contexte, l'approche Bayésienne semble une piste particulièrement intéressante pour réaliser des tâches de fusion d'information de manière explicable, avec peu de données et à faible coût énergétique. De plus, en réduisant les multiplications à une simple porte ET logique, l'arithmétique stochastique permet de réduire significativement la taille des opérateurs (et donc les coûts de fabrication) ainsi que leur consommation ce qui la rend particulièrement adaptée aux calcul d'inférences Bayésiennes. De premiers résultats montrent l'efficacité énergétique de cette approche stochastique lorsque la taille du problème à traiter est réduite et lorsque la précision requise est faible.Dans cette thèse nous proposons des solutions permettant d’adresser les principaux goulots d’étranglement lorsque la taille du problème augmente : l'espace mémoire nécessaire pour le stockage des distributions de probabilité, le coût en surface, et en puissance consommée pour générer les nombres aléatoires et le temps de calcul élevé dû à la logique stochastique, réduisant les performances énergétiques du système.Par rapport à l’état de l’art, ces contributions permettent de diviser jusqu’à 2 fois la surface et jusqu’à 30 fois la consommation énergétique, tout en divisant jusqu’à 8 fois le temps de calcul.
Book
Full-text available
Akıllı kartlar, radyo frekansı tanımlama etiketleri (RFID), kablosuz sensör düğümleri ve nesnelerin interneti (IoT) kavramı gibi gelişen teknolojiler, yalnızca kolaylıklar ve sorunlara çözüm üretmekle kalmadı aynı zamanda bazı riskler de ortaya çıkardı. Hassas ve kritik bilgileri işleyen veya ileten cihazların çoğalması, güvenlik sorunlarına daha fazla dikkat edilmesini gerektirmektedir. Bunun temel nedeni klasik güvenlik algoritmalarının düşük kaynaklı cihazlar için etkili ve uygulanabilir güvenlik çözümleri sunamamasıdır. Bu nedenle, literatürde blok şifreleme de dâhil olmak üzere birçok hafif şifreleme algoritması önerilmiştir. Ayrıca hafif hash algoritmaları önerilmiştir. Hafif güvenlik algoritmalarının amacı, depolama ve işlem gücü gibi sınırlamaları dikkate alarak performans, hız ve güvenlik ihtiyaçları için dengeli bir çözüm bulmaktır. Kısıtlı kaynaklı cihazlar genellikle iletişimi kablosuz olarak gerçekleştirmektedir. Bu nedenle bu iletişim bozulabilir veya 3. şahıslar tarafından erişilebilir. Bu noktada veri güvenliği ve gizliliği ön plana çıkmaktadır. Bu kitapta IoT, RFID vb. kısıtlı kaynağa sahip cihazlarda güvenlik ve gizlilik konularında bilgiler paylaşılmıştır.
Preprint
Full-text available
Image encryption is increasingly becoming an important area of research in information security and network communications, as digital images are widely used in various applications and are vulnerable to various types of attacks. In this research work, a color image cryptosystem that is based on a 3-layer permutation-substitution network (PSN) is proposed. For every layer, an encryption key and an S-box are generated and utilized. Those are based on a four-dimensional (4D) dynamical Chen system of a fractional-order, the Mersenne Twister, OpenSLL, Rule 30 Cellular Automata and Intel’s MKL. The sequential application of Shannon’s ideas of diffusion and confusion for 3 times guarantees a total distortion of any input plain image, resulting in a totally encrypted one. Apart from the excellent and comparable performance to counterpart algorithms from the literature, showcasing resistance to visual, statistical, entropy, differential, known plaintext and brute-force attacks, the proposed image cryptosystem provides an exceptionally superior performance in 2 aspects: a vast key space of 2^1658 and an average encryption rate of 3.34 Mbps. Furthermore, the proposed image cryptosystem is shown to successfully pass all the tests of the NIST SP 800 suite.
Article
Full-text available
Pseudorandomness is a crucial property that the designers of cryptographic primitives aim to achieve. It is also a key requirement in the calls for proposals of new primitives, as in the case of block ciphers. Therefore, the assessment of the property is an important issue to deal with. Currently, an interesting research line is the understanding of how powerful machine learning methods are in distinguishing pseudorandom objects from truly random objects. Moving along such a research line, in this paper a deep learning-based pseudorandom distinguisher is developed and trained for two well-known lightweight ciphers, Speck and Simon. Specifically, the distinguisher exploits a convolutional Siamese network for distinguishing the outputs of these ciphers from random sequences. Experiments with different instances of Speck and Simon show that the proposed distinguisher highly able to distinguish between the two types of sequences, with an average accuracy of 99.5% for Speck and 99.6% for Simon. Hence, the proposed method could significantly impact the security of these cryptographic primitives and of the applications in which they are used.
Chapter
Essential to atomic, molecular, and optical physics is the ability to perform numerical computations accurately and efficiently. Whether the specific approach involves perturbation theory, close coupling expansion, solution of classical equations of motion, or fitting and smoothing of data, basic computational techniques such as integration, differentiation, interpolation, matrix and eigenvalue manipulation, Monte Carlo sampling, and solution of differential equations must be among the standard tool kit. This chapter outlines a portion of this tool kit with the aim of giving guidance and organization to a wide array of computational techniques. After having digested the present overview, the reader is then referred to detailed treatments given in many of the large number of texts existing on numerical analysis and computational techniques 1 ; 2 ; 3 ; 4 ; 5 ; 6 , mathematical functions 7 ; 8 ; 9 , and mathematical physics 10 ; 11 ; 12 ; 13 ; 14 ; 15 ; 16 ; 17 ; 18 . In addition to these excellent general references, in the age of the internet, many resources are also available through free publishing projects or research laboratory resources made public. Many of these resources seek to provide techniques and computer codes of high accuracy, portability, robustness, and efficiency, and often take advantage of modern structured programming and computational parallelism, going beyond the highly accessible, broadly applicable, but simple numerical recipes and codes described in the classic texts. A list of such numerical analysis software is given on the Wikipedia, providing very brief descriptions of the packages available 19 , and the journal Computer Physics Communications (CPC) publishes computational physics research and applications software with many codes applicable to atomic, molecular, and optical physics (see the CPC program library maintained at Queen's University Belfast 20 ). Especially in the sections that follow on differential equations and computational linear algebra, mention is made of the role of software packages readily available to aid in implementing practical solutions. Finally, in this brief introduction to computational techniques, we note the existence of commercial packages for mathematics, including those for computer algebra, performing numerical calculations and visualizing results through proprietary programming languages, and even performing simulations through such tools as finite-element analysis, including Mathematica, Maple, MATLAB, Mathcad, and COMSOL, for example.
Article
Pseudo-Random Number Generators (PRNGs) yielding numbers with high rates and good randomness quality are crucial for security as networks expand in an ever-connected way. In this work, firstly, we construct a new 2D discrete hyper-chaotic map with linear cross-coupled topological structure combined with the Tent and Logistic map. The proposed map with the aforementioned structure enables it to outperform other enhanced chaotic maps developed recently. Secondly, an efficient PRNG based on the proposed one is implemented on the field-programmable gate array (FPGA) Xilinx xc7k325tffg900-2. Compared with those typical PRNGs, the sequences generated by ours own a high level of randomness and passed the well-known TestU01, Dieharder, and the National Institute of Standards and Technology (NIST) SP800-22 test suite successfully without post-processing. Experimental results show that the proposed PRNG occupies merely 1.4 percent of the resources available on the targeted FPGA despite it yielding numbers with a large bit depth. In addition, the timing report shows the system can operate effectively at a clock of 158 MHz with a maximum throughput of 9.26 Gbps which outperforms the state-of-the-art.
Article
Full-text available
Losowanie prób w badaniach statystycznych i w obliczeniach numerycznych, jak również symulacyjne badanie modeli probabilistycznych właściwie we wszystkich dziedzinach wiedzy wymagają wyposażenia komputera w generatory liczb pseudolosowych. Głównym celem pracy jest porównanie generatorów liczb pseudolosowych normalnych na podstawie ich analizy dokonanej za pomocą różnego rodzaju kryteriów. Zbadano właściwości 12 generatorów liczb pseudolosowych o rozkładzie normalnym. Zaproponowano rozszerzenie rodziny generatorów o dwa tzw. generatory aplikacyjne oraz przyjęcie nowego podejścia do sprawdzania jakości generatorów. Przedstawiono narzędzie przygotowane w języku C++ oraz w języku Visual Basic for Application (VBA) do prowadzenia samodzielnych badań z użyciem generatorów. Symulacje Monte Carlo przeprowadzono w języku C++, a obliczenia wykonano w edytorze VBA przy użyciu arku-sza kalkulacyjnego Microsoft Excel 2016. Analiza uzyskanych wyników wskazuje, że najlepsze właściwości mają generatory: MP Monty Pythona, R, Biegun oraz Ziggurat. Najmniej użyteczne okazują się generatory: BM Boxa-Mullera, Wallace'a, Iloraz oraz Excel. Słowa kluczowe: rozkład normalny, generator liczb pseudolosowych, symulacje Mon-te Carlo Comparison of normal random number generators Summary. The sampling in statistical surveys and numerical calculations as well as simulation testing of probabilistic models in virtually all fields of knowledge require a computer endowed with pseudorandom numbers generators. The main goal of the study is to compare the normal random number generators using various criteria. The properties of 12 random number generators for a normal distribution were investigated. Then, the family of generators was extended by two so-called application generators and a new approach for checking the quality of generators was adopted. A ready-made tool prepared in C++ and in Visual Basic for Application (VBA) for conducting self-contained research using generators was presented. All Monte Carlo simulations were carried out in C++, while the calculations were performed in the VBA editor using the Microsoft Excel 2016 spreadsheet. The analysis of the obtained results shows that the generators with best properties are: MP Monty Python, R, Biegun and Ziggurat. The worst generators, are: BM Box-Muller, Wallace, Iloraz and Excel.
Article
We analyze the lattice structure of certain types of linear congruential generators (LCGs), which include close approximations to the add-withcarry and subtract-with-borrow (AWC/SWB) random number generators introduced by Marsaglia and Zaman, and also to combinations of the latter with ordinary LCGs. It follows from our results that all these generators have an unfavorable lattice structure in large dimensions.
Article
The inversive congruential method for generating uniform pseudorandom numbers is a particularly promising alternative to linear congruential generators with their well known deficiencies. The present paper gives a complete survey of the work on this topic in the last few years. The current state of knowledge about other nonlinear congruential methods is briefly summarized. /// La méthode inversible pour la génération des nombres pseudo-aléatoires est une alternative qui est particulièrement favorable en comparaison de la méthode linéaire avec ses défauts bien connus. L'article présent est une revue du travail dans ce domaine pendant les années dernières. Le niveau scientifique actuel aux autres méthodes non-linéaires est résumé.
Article
This paper summarizes the results of four separate research topics related to the generation of binary sequences by linear feedback shift registers for applications in cryptographic systems.