Design of a pseudo-chaotic number generator as a random number generator
Abstract
Generating random numbers is essential in many
cryptographic applications like key generation, cryptographic
protocols for example Transport Layer Security (TLS) protocol,
nonce and also in Internet for choosing TCP sequence numbers.
We need generators which are able to construct large amounts
of secure random numbers. To this end, True Random Number
Generators (TRNGs) which extract randomness from physical
processes are usually used. The sequences generated by TRNGs
cannot be reproduced. However, generating random numbers
by this way is time-consuming and expensive. Another way to
generate random numbers is to use deterministic random number
generators in which the seed is reseeded many times during the
generation of the sequence. In this paper, we propose a new
pseudo-chaotic number generator (PCNG) that produces random
numbers. The algorithm is refreshed many times by using entropy
source from Linux kernel. Results of statistical properties (i.e.
Nist test, auto and cross-correlation, histogram, chi2-test and
software security analysis) exhibit good performance thus demonstrating
that the proposed generator can be used confidently to
produce random numbers.