Software Random Number Generation Based on Race Conditions

  title={Software Random Number Generation Based on Race Conditions},
  author={Adrian Colesa and Radu Tudoran and Sebastian Banescu},
  journal={2008 10th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing},
The paper presents a new software strategy for generating true random numbers, by creating several threads and letting them compete unsynchronized for a shared variable, whose value is read-modified-updated by each thread repeatedly. The generated sequence of random numbers consists of the final values of the shared variable. Our strategy is based on the functionality of the operating system's thread scheduler. Different values of the shared variable are obtained because the concurrent threads… Expand
Unpredictable Random Number Generator Based on the Performance Data Helper Interface
  • K. Marton, P. Toth, A. Suciu
  • Computer Science
  • 2012 14th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing
  • 2012
This paper proposes an unpredictable random number generator based on the variations in the HPC values provided by the Performance Data Helper (PDH) interface on Windows operating systems and analyzes the randomness quality and throughput of the generator in order to determine its suitability for integration in cryptographic applications. Expand
Unpredictable Random Number Generator Based on Hardware Performance Counters
A new unpredictable random number generator (URNG) based on HPCs is proposed and thorough statistical testing proves the high randomness quality of the produced sequences enabling the generator to be considered a suitable candidate for integration in cryptographic applications. Expand
Generating True Random Numbers Based on Multicore CPU Using Race Conditions and Chaotic Maps
A true random number generator (TRNG) is proposed, harvesting entropy from multicore CPUs to generate non-deterministic outputs, using chaotic networks capable of extracting entropy while postprocessing outputs simultaneously. Expand
Detecting Patching of Executables without System Calls
The implementation of a tamper detection mechanism based on code self-checksumming, able to detect static and dynamic patching of executables, performed by PUPs or other attackers is described and it is observed that the overhead is practically unobservable for the end-user. Expand
The entropy of a distributed computation random number generation from memory interleaving
This work asks to what extent processes communicating through shared memory can extract randomness from their underlying scheduler, e.g., to generate random numbers for cryptographic applications and presents Duez, an algorithm solving this problem with an optimal memory consumption. Expand
Stationarity Enforcement of Accelerator Based TRNG by Genetic Algorithm
This paper develops a TRNG using a heuristic evolutionary algorithm together with signal processing techniques to ensure fast convergence, within the first 100 generations, with a standard deviation over the specified quality level of less than 0.02. Expand
A Novel Pseudo-Random Number Generator Algorithm based on Entropy Source Epoch Timestamp
A new pseudo - random number generator algorithm that uses dynamic system clock converted to Epoch Timestamp as PRNG seed and a Linear Congruential Generator algorithm that produces a sequence of pseudo - randomized numbers that performs mathematical operations to transform numbers that appears to be unrelated to the Seed. Expand
Implementing True Random Number Generators in FPGAs by Chip Filling
A new method for implementing TRNGs in FPGA devices based on filling the chip close to its maximal capacity and exploiting the interconnection network as intensely as possible, with strong chances for the design to exhibit a nondeterministic behavior. Expand
Implementing true random number generators by generating crosstalk effects in FPGA chips
The paper demonstrates the possibility of creating high quality TRNGs based on this entropy source, and suggests it is possible to connect many units of this generator in parallel on a single FPGA, thus increasing the bit generation throughput up to the Gbps level. Expand
Random number sequences are of crucial importance in almost every aspect of modern digital cryptography, having a significant impact on the strength of cryptographic primitives in securing secretExpand


HAVEGE: A user-level software heuristic for generating empirically strong random numbers
This article presents and analyze HAVEGE (HArdware Volatile Entropy Gathering and Expansion), a new user-level software heuristic to generate practically strong random numbers on general-purpose computers and shows how this entropy gathering technique can be combined with pseudorandom number generation in HAVEGE. Expand
An embedded true random number generator for FPGAs
This paper extends a technique that uses on-chip jitter and PLLs to a much larger class of FPGAs that do not contain PLLing to produce random bits at speeds of up to 0.5 Mbits/second with good statistical characteristics. Expand
FPGA Vendor Agnostic True Random Number Generator
The solution is based on a framework for a provable secure true random number generator recently proposed by Sunar, Martin and Stinson, and uses a large amount of ring oscillators with identical ring lengths as a fast noise source - but with some deterministic bits - and eliminates the non-random samples by appropriate post-processing based on resilient functions. Expand
Building fault-tolerant hardware clocks from COTS components
Clocks with a bounded drift rate are an important tool in the construction of dependable applications. However, the drift rates of clocks provided by operating systems on some computing platforms areExpand
Statistical Testing of Random Number Generators
Abstract: Random Number Generators (RNGs) are an important building block for algorithms and protocols in cryptography. They are paramount in the construction of encryption keys and otherExpand
Advanced Linux Programming
While this book will focus mostly on the Application Programming Interface provided by the Linux kernel and the C library, a preliminary introduction to the development tools available will allow all who purchase the book to make immediate use of Linux. Expand
A Robust Chaos-Based True Random Number Generator Embedded in Reconfigurable Switched-Capacitor Hardware
A new chaos-based True Random Number Generator with decreased voltage supply sensitivity and quality of generated bit-streams is confirmed by passing standard FIPS and correlation statistical tests performed in the full range of PSoC device supply voltages. Expand
Bad and Good Ways of Post-processing Biased Physical Random Numbers
  • M. Dichtl
  • Mathematics, Computer Science
  • FSE
  • 2007
It is shown that the quasigroup based approach for post-processing random numbers described in [MGK05] is ineffective and very easy to attack and suggested new algorithms which extract considerably more entropy from their input than the known algorithms with an upper bound for the number of input bits needed before the next output is produced. Expand
Chaos-based random number generators-part I: analysis [cryptography]
This paper and its companion (Part II) are devoted to the analysis of the application of a chaotic piecewise-linear one-dimensional (PL1D) map as random number generator (RNG). Piecewise linearity ofExpand
Randomness and the Netscape browser
By encrypting payment information before transmitting it, a customer can ensure that no one except the company from which he is purchasing can decode that sensitive data. Expand