about
Pseudo-Random Number Generation Using Generative Adversarial Networks (2018) (arxiv.org)
4 points by lnyan on May 1, 2022 | hide | past | pdf | discuss on HN

In plain words: A neural net learns to make random numbers by playing a game where a rival tries to guess the hidden half of its output from the visible half, instead of copying a pattern. It passed about 99% of standard randomness checks, beating common non-cryptographic generators.

Abstract · Pseudo-Random Number Generation using Generative Adversarial Networks

Pseudo-random number generators (PRNG) are a fundamental element of many security algorithms. We introduce a novel approach to their implementation, by proposing the use of generative adversarial networks (GAN) to train a neural network to behave as a PRNG. Furthermore, we showcase a number of interesting modifications to the standard GAN architecture. The most significant is partially concealing the output of the GAN's generator, and training the adversary to discover a mapping from the overt part to the concealed part. The generator therefore learns to produce values the adversary cannot predict, rather than to approximate an explicit reference distribution. We demonstrate that a GAN can effectively train even a small feed-forward fully connected neural network to produce pseudo-random number sequences with good statistical properties. At best, subjected to the NIST test suite, the trained generator passed around 99% of test instances and 98% of overall tests, outperforming a number of standard non-cryptographic PRNGs.

Marcello De Bernardi, MHR Khouzani, Pasquale Malacaria
arXiv:1810.00378 · cs.LG, stat.ML · submitted Sep 30, 2018
abstract · pdf · html

add comment on HN
Also discussed: Apr 2022 (30 points, 13 comments)