CRAILGDec 15, 2019

Pseudo Random Number Generation: a Reinforcement Learning approach

arXiv:1912.11531v132 citations
Originality Incremental advance
AI Analysis

This work addresses the need for novel PRNGs in mid-level cryptography and software applications, though it is incremental as it introduces a new method rather than achieving broad SOTA.

The paper tackles the problem of generating pseudo-random number generators (PRNGs) from scratch by proposing a reinforcement learning approach that learns a policy to solve an N-dimensional navigation problem, using test suite averages to iteratively improve the policy, and demonstrates its feasibility compared to classical methods.

Pseudo-Random Numbers Generators (PRNGs) are algorithms produced to generate long sequences of statistically uncorrelated numbers, i.e. Pseudo-Random Numbers (PRNs). These numbers are widely employed in mid-level cryptography and in software applications. Test suites are used to evaluate PRNGs quality by checking statistical properties of the generated sequences. Machine learning techniques are often used to break these generators, for instance approximating a certain generator or a certain sequence using a neural network. But what about using machine learning to generate PRNs generators? This paper proposes a Reinforcement Learning (RL) approach to the task of generating PRNGs from scratch by learning a policy to solve an N-dimensional navigation problem. In this context, N is the length of the period of the generated sequence, and the policy is iteratively improved using the average value of an appropriate test suite run over that period. Aim of this work is to demonstrate the feasibility of the proposed approach, to compare it with classical methods, and to lay the foundation of a research path which combines RL and PRNGs.

Code Implementations2 repos
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes