Random Number Generators—Principles and Practices - David Johnston

Random Number Generators—Principles and Practices

A Guide for Engineers and Programmers

(Autor)

Buch | Softcover
439 Seiten
2018
De|G Press (Verlag)
978-1-5015-1513-2 (ISBN)
89,95 inkl. MwSt
Random 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 Wondered how to test if data is really random Needed to measure the randomness of data in real time as it is generated Wondered how to get randomness into your programs Wondered whether or not a random number generator is trustworthy Wanted to be able to choose between random number generator solutions Needed to turn uniform random data into a different distribution Needed to ensure the random numbers from your computer will work for your cryptographic application Wanted to combine more than one random number generator to increase reliability or security Wanted to get random numbers in a floating point format Needed to verify that a random number generator meets the requirements of a published standard like SP800-90 or AIS 31 Needed to choose between an LCG, PCG or XorShift algorithm Then this might be the book for you.

David Johnston, Principal Engineer, Intel Corporation

1 Introduction

1.1 Tools

1.2 Terminology

1.3 The Many Types of Random Numbers

1.3.1 Uniform Random Numbers

2 Random Number Generators

2.1 Classes of Random Number Generators

2.2 Names for RNGs

3 Making Random Numbers

3.1 A Quick Overview of the RNG Types

3.2 The Structure of Full RNG Implementations

3.3 Pool Extractor Structures

3.4 Multiple Input Extractors

4 Physically Uncloneable Functions 21

4.1 The other kind âAS Static vs. Dynamic Random Number Generators .

5 Testing Random Numbers

5.1 Known Answer Tests

5.2 Distinguishing From Random

5.3 PRNG Test Suites

5.4 Entropy Measurements

5.5 Min Entropy Estimation

5.6 Model Equivalence Testing

5.7 Statistical Prerequisite Testing

5.8 The problem Distinguishing Entropy and Pseudo-randomness

5.9 PRNG Tests: DieHarder, NIST SP800-22,TestU01, China ICS 35.040

5.10 Entropy Measurements

5.11 Min Entropy Measurements

5.12 Modeling to Test a Source

5.13 Statistical Prerequisites

5.14 Testing for bias .

5.15 results that are âAŸtoo goodâAZ (E.G. Chi-square == 0.5)

5.16 Distinguishing Correlation from Bias

5.17 Testing for Stationary properties

5.18 FFT analysis

5.19 Online Testing

5.20 Working From the Source RNG

5.21 Tools

5.22 Summary

6 Entropy Extraction or Distillation

6.1 A simple extractor, the XOR gate

6.2 A simple way of improving the distribution of random numbers that have known missing

values using XOR

7 Quantifying Entropy

7.1 Rényi Entropy

7.2 Distance From Uniform



Topics to put somewhere in the book- in existing chapters and new chapters



8.1 XOR as a 2 bit extractor

8.2 Properties of real random numbers

8.3 Binomial distributions

8.4 Normal distributions

8.4.1 Dice, more dice

8.4.2 Central limit theorem

8.5 Seeing patterns

8.6 Regression to the mean

8.7 Lack of correlation, bias, algorithmic connections, predictability

8.8 What’s a True random number?

8.9 Random numbers in cryptography

8.10 Things they help with liveness, unpredictability, resistance to attacks

8.11 Examples of use

8.11.1 Salting Passwords .

8.11.2 802.11i exchange

8.11.3 PKMv2 exchange

8.11.4 Making Keys

8.12 Examples of RNG crypto failures

8.12.1 Sony PS3 attack

8.12.2 MiFare Classic

8.12.3 Online Poker

8.12.4 Debian OpenSSL Fiasco

8.12.5 Linux Boot Time Entropy

8.13 Humans and random numbers

8.14 Result of asking people for a random number

8.14.1 Normal People

8.14.2 Crypto People

8.15 Mental Random Number Tricks

8.15.1 How to think of a really random number

8.16 PRNGs

8.17 extractors

8.17.1 CBC MAC

8.17.2 BIW

8.17.3 Von Neumann

8.18 Extractor Theory

8.19 Random Number Standards

8.19.1 SP800-90A B C .

8.19.2 Ansi X9.82

8.20 PRNG Algorithms

8.20.1 SP800-90A CTR DRBG

8.20.2 SP800-90A SHA DRBG

8.20.3 XOR Construction

8.20.4 Oversampling Construction

8.21 Yarrow

8.22 Whirlpool

8.23 Linux Kernel random service

8.24 Appendices

8.25 Resources

8.25.1 SW Sources

8.25.2 Online random number sources

8.26 Example Algorithm Vectors

8.26.1 SP800-90A CTR DRBG 128 & 256

8.26.2 SP800-90A Hash DRBG SHA-1 & SHA 256

8.26.3 AES-CBC-MAC Conditioner 128

8.26.4 AES-CBC-MAC Conditioner

8.27 SP800-90 LZ Tests Issues

Erscheinungsdatum
Zusatzinfo 5 Illustrations, black and white
Verlagsort Boston
Sprache englisch
Maße 170 x 240 mm
Gewicht 823 g
Themenwelt Kunst / Musik / Theater Design / Innenarchitektur / Mode
Informatik Theorie / Studium Algorithmen
Mathematik / Informatik Mathematik Analysis
ISBN-10 1-5015-1513-6 / 1501515136
ISBN-13 978-1-5015-1513-2 / 9781501515132
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
IT zum Anfassen für alle von 9 bis 99 – vom Navi bis Social Media

von Jens Gallenbacher

Buch | Softcover (2021)
Springer (Verlag)
29,99
Interlingua zur Gewährleistung semantischer Interoperabilität in der …

von Josef Ingenerf; Cora Drenkhahn

Buch | Softcover (2023)
Springer Fachmedien (Verlag)
32,99