FPGA Implementation of F2-Linear Pseudorandom Number Generators based on Zynq MPSoC: A Chaotic Iterations Post Processing Case Study

Pseudorandom number generation (PRNG) is a key element in hardware security platforms like fieldprogrammable gate array FPGA circuits. In this article, 18 PRNGs belonging in 4 families (xorshift, LFSR, TGFSR, and LCG) are physically implemented in a FPGA and compared in terms of area, throughput, and statistical tests. Two flows of conception are used for Register Transfer Level (RTL) and High-level Synthesis (HLS). Additionally, the relations between linear complexity, seeds, and arithmetic operations on the one hand, and the resources deployed in FPGA on the other hand, are deeply investigated. In order to do that, a SoC based on Zynq EPP with ARM Cortex-A9 MPSoC is developed to accelerate the implementation and the tests of various PRNGs on FPGA hardware. A case study is finally proposed using chaotic iterations as a post processing for FPGA. The latter has improved the statistical profile of a combination of PRNGs that, without it, failed in the so-called TestU01 statistical battery of tests.

[1]  Jason Cong,et al.  High-Level Synthesis for FPGAs: From Prototyping to Deployment , 2011, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[2]  Michael Luby,et al.  Pseudorandomness and cryptographic applications , 1996, Princeton computer science notes.

[3]  Jacques M. Bahi,et al.  A Novel Pseudo-random Number Generator Based on Discrete Chaotic Iterations , 2009, 2009 First International Conference on Evolving Internet.

[4]  Sebastiano Vigna,et al.  Further scramblings of Marsaglia's xorshift generators , 2014, J. Comput. Appl. Math..

[5]  Jacques M. Bahi,et al.  Efficient and cryptographically secure generation of chaotic pseudorandom numbers on GPU , 2015, The Journal of Supercomputing.

[6]  Pierre L'Ecuyer,et al.  Improved long-period generators based on linear recurrences modulo 2 , 2004, TOMS.

[7]  M. Bernhard Introduction to Chaotic Dynamical Systems , 1992 .

[8]  Takuji Nishimura,et al.  Mersenne twister: a 623-dimensionally equidistributed uniform pseudo-random number generator , 1998, TOMC.

[9]  Pierre L'Ecuyer,et al.  Maximally equidistributed combined Tausworthe generators , 1996, Math. Comput..

[10]  David Thomas,et al.  The Art in Computer Programming , 2001 .

[11]  Wayne Luk,et al.  The LUT-SR Family of Uniform Random Number Generators for FPGA Architectures , 2013, IEEE Transactions on Very Large Scale Integration (VLSI) Systems.

[12]  Pierre L'Ecuyer,et al.  Good Parameters and Implementations for Combined Multiple Recursive Random Number Generators , 1999, Oper. Res..

[13]  Elaine B. Barker,et al.  Recommendation for the Transitioning of Cryptographic Algorithms and Key Sizes , 2010 .

[14]  Melissa E. O'Neill PCG : A Family of Simple Fast Space-Efficient Statistically Good Algorithms for Random Number Generation , 2014 .

[15]  Pierre L'Ecuyer,et al.  TestU01: A C library for empirical testing of random number generators , 2006, TOMS.

[16]  Donald E. Knuth,et al.  The art of computer programming. Vol.2: Seminumerical algorithms , 1981 .

[17]  Craig B. Borkowf,et al.  Random Number Generation and Monte Carlo Methods , 2000, Technometrics.

[18]  Kenneth G. Paterson,et al.  Aspects of Linear Complexity , 1994 .

[19]  Uwe Meyer-Baese,et al.  Digital Signal Processing with Field Programmable Gate Arrays , 2001 .

[20]  Pierre L'Ecuyer,et al.  Distribution properties of multiply-with-c arry random number generators , 1997, Math. Comput..

[21]  Pierre L'Ecuyer,et al.  Tables of maximally equidistributed combined LFSR generators , 1999, Math. Comput..

[22]  James Gleick,et al.  Chaos, Making a New Science , 1987 .

[23]  Makoto Matsumoto,et al.  Twisted GFSR generators II , 1994, TOMC.

[24]  R. Devaney An Introduction to Chaotic Dynamical Systems , 1990 .

[25]  A. Finger,et al.  Pseudo Random Signal Processing: Theory and Application , 2005 .

[26]  Jacques M. Bahi,et al.  FPGA acceleration of a pseudorandom number generator based on chaotic iterations , 2014, J. Inf. Secur. Appl..

[27]  Jacques M. Bahi,et al.  FPGA Design for Pseudorandom Number Generator Based on Chaotic Iteration used in Information Hiding Application , 2013, ArXiv.

[28]  Vamsi Boppana,et al.  Xilinx Zynq-7000 EPP: An extensible processing platform family , 2011, 2011 IEEE Hot Chips 23 Symposium (HCS).

[29]  Rainer A. Rueppel,et al.  Linear Complexity and Random Sequences , 1985, EUROCRYPT.

[30]  Kris Gaj,et al.  Hardware Benchmarking of Cryptographic Algorithms Using High-Level Synthesis Tools: The SHA-3 Contest Case Study , 2015, ARC.

[31]  Sebastiano Vigna,et al.  An Experimental Exploration of Marsaglia's xorshift Generators, Scrambled , 2014, ACM Trans. Math. Softw..