Abstract <p>Numerous applications in physics and technology rely on random number generation: for Monte Carlo purposes, key distribution, and other tasks. For these elaborate hash functions with carefully studied and tuned algorithms have been developed, giving pseudo-random numbers. Depending on the complexity and quality of their output, they vary from very good quality (such as RANLUX with a 10<sup>171</sup> repetition period), to fast algorithms, however of lesser period (such as the Mersenne Twister, a factor of ca. ×40 faster). We here present the implementation of a true-random number “multiplier” algorithm. The algorithm relies on a finite set of true-random numbers from a physical source (in our case 0.2 M atmospheric noise random numbers in the range of 0–9999). The algorithm produces new numbers by combining pairs of 2 random numbers from the list, situated at random distance apart. The random offset is calculated by a shift register structure involving both the local rand() generator, and numbers from the list itself, whereby it produces “non-repetitive repetitions”—i.e., our multiplier has no known period. The tests, performed with the DieHarder [1] test suite, show good quality.</p>

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Quality Random Number Generator

  • M. Dima,
  • M.-T. Dima,
  • S. Dima,
  • M. Mihailescu

摘要

Abstract

Numerous applications in physics and technology rely on random number generation: for Monte Carlo purposes, key distribution, and other tasks. For these elaborate hash functions with carefully studied and tuned algorithms have been developed, giving pseudo-random numbers. Depending on the complexity and quality of their output, they vary from very good quality (such as RANLUX with a 10171 repetition period), to fast algorithms, however of lesser period (such as the Mersenne Twister, a factor of ca. ×40 faster). We here present the implementation of a true-random number “multiplier” algorithm. The algorithm relies on a finite set of true-random numbers from a physical source (in our case 0.2 M atmospheric noise random numbers in the range of 0–9999). The algorithm produces new numbers by combining pairs of 2 random numbers from the list, situated at random distance apart. The random offset is calculated by a shift register structure involving both the local rand() generator, and numbers from the list itself, whereby it produces “non-repetitive repetitions”—i.e., our multiplier has no known period. The tests, performed with the DieHarder [1] test suite, show good quality.