Random Number Generators—Principles and Practices: A Guide for Engineers and ProgrammersRandom Number Generators, Principles and Practices has been written for programmers, hardware engineers, and sophisticated hobbyists interested in understanding random numbers generators and gaining the tools necessary to work with random number generators with confidence and knowledge. Using an approach that employs clear diagrams and running code examples rather than excessive mathematics, random number related topics such as entropy estimation, entropy extraction, entropy sources, PRNGs, randomness testing, distribution generation, and many others are exposed and demystified. If you have ever
Then this might be the book for you. |
Contents
1 | |
23 | |
3 Entropy Extraction | 41 |
4 Cryptographically Secure Pseudorandom Number Generators | 95 |
5 Nondeterministic Random Number Generators | 119 |
6 Statistically Uniform Noncryptographic PRNGs | 123 |
7 Gaussian or Normally Distributed PRNGs | 137 |
8 Testing Random Numbers | 145 |
15 Making a Uniform Random Number Between Nonpower of Two Bounds | 329 |
16 Generating Random Prime Numbers | 337 |
17 Additive Distributions | 345 |
18 Probability Distributions | 349 |
19 Quantifying Entropy | 383 |
20 Random Methods to Generate π | 393 |
Appendix A Adaptive Proportion Test Cutoff Tables | 397 |
Appendix B HighPrecision Incomplete Beta Function Implementation | 403 |
9 Online Random Number Testing | 173 |
10 SP80022 Distinguishability Tests | 199 |
11 Software Tools | 251 |
12 RdRand and RdSeed Instructions in x86 CPUs | 289 |
13 Accessing RNGs from Software | 295 |
14 FloatingPoint Random Numbers | 317 |
Appendix C Incomplete Gamma Function Implementation | 409 |
Appendix D Software Tool Sources | 415 |
Appendix E Listing Reference | 417 |
421 | |
423 | |
Other editions - View all
Random Number Generators--Principles and Practices: A Guide for Engineers ... David Johnston No preview available - 2018 |
Common terms and phrases
algorithm bias biased binary binomial bits of entropy block block cipher bytes CBC-MAC circuit Compute count CPUID CPUs cryptographic CTR DRBG curve debiaser dieharder djenrandom djent elif entropy extractor entropy source equation error error_prob example exponent filename floating point frequency full entropy gamma function histogram HMAC implementation import math import random incomplete gamma function integer Intel iterations kibibyte Listing loop mantissa matrix metastable min-entropy multiple n-bit NIST noise source nondeterministic nonuniform NRBG number of bits online health test pattern prime PRNG probability quantile function random bits random data random numbers random walk range RdRand instruction Rényi entropy reseed result Ring Oscillator Salsa20 samples seed sequence serial correlation serial correlation coefficient Shannon entropy specification statistical steps symbol Table therand uint32_t uint64_t uniform random update usr/bin/env python import voltage Ziggurat algorithm