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.
Few attempts have been made to produce pseudo-random number sequences with neural networks @cite_3 @cite_8 @cite_1 @cite_4 . The most successful approaches have been presented by Tirdad and Sadeghian @cite_1 , and by @cite_4 . The former employed Hopfield neural networks adapted so as to prevent convergence and encourage chaotic behavior, while the latter used an LSTM trained on a sample of random data to obtain indices into the digits of pi. Both papers reported a strong performance in statistical randomness tests. However, neither scheme sought to train an end-to-end" neural network PRNG, instead using the networks as components of more complex algorithms.
@cite_4 @cite_1 @cite_3 @cite_8
2805480962 2132241724 1992313673
Data-driven approaches employ the stochastic process that is simulated using random numbers. The random number can be thought of as an unpredictable value without bias or correlation, so it is essentially impossible to design a system that generates real' random numbers. There have been studies, therefore, that aimed at developing a pseudo random number generator, where the pseudo random number is not perfectly random, but it is practically useful. In this paper, we propose a new system for pseudo random number generation. The recurrent neural networks with long short-term memery (LSTM) units are used to mimic the appearance of a given sequence of irrational numbers (e.g., pi), and they are supposed to generate pseudo random numbers in iterative manner. We design an algorithm to make the output sequence to have no repetition or pattern, and prove its effectiveness by experimental results. Convolutional neural networks provide an efficient method to constrain the complexity of feedforward neural networks by weight sharing and restriction to local connections. This network topology has been applied in particular to image classification when sophisticated preprocessing is to be avoided and raw images are to be classified directly. In this paper two variations of convolutional networks-neocognitron and a modification of neocognitron-are compared with classifiers based on fully connected feedforward layers with respect to their visual recognition performance. For a quantitative experimental comparison with standard classifiers two very different recognition tasks have been-chosen: handwritten digit recognition and face recognition. In the first example, the generalization of convolutional networks is compared to fully connected networks; in the second example human face recognition is investigated under constrained and variable conditions, and the limitations of convolutional networks are discussed. This paper proposes a pseudo random number generator using Elman neural network. The proposed neural network is a recurrent neural network able to generate pseudo-random numbers from the weight matrices obtained from the layer weights of the Elman network. The proposed method is not computationally demanding and is easy to implement for varying bit sequences. The random numbers generated using our method have been subjected to frequency test and ENT test program. The results show that recurrent neural networks can be used as a pseudo random number generator(prng).