Random number generation Flashcards
When are random number generators used (give 4)
- Gaming
- Gambling
- Creating user IDS
- Jurors
- Simulation of complex systems
- Research experiments
- Statistical sampling
- Crypography
What are random numbers?
- A random number is a number chosen by chance
- They are drawn using random sampling techniques from a set of permissible numbers
- Each number drawn must be statistically independent of each
computing random numbers
There are 2 approaches:
- Pseudo-Random number generators
- True random number generators
Pseudo random number generators (PNRGs)
PRNGs use mathematical formulae or precalculated tables to produce sequences of numbers that appear
random.
PNRG characteristics
*Efficiency – can produce many numbers in a short space of time.
*Deterministic - a given sequence of numbers can be reproduced at a later date if the starting point in the sequence is known.
*Periodic - a sequence of numbers will eventually repeat itself.
True random number generators (TRNGs)
*Numbers generated by TRNGs can be considered truly random.
*TRNGs extract randomness from physical phenomena and introduce it into the computing platform.
TRNG charateristics
- Inefficiency –can take some time to produce numbers
- Nondeterministic -a given sequence of numbers cannot be reproduced, although the same sequence may occur several times by chance.
- Aperiodic –a sequence of numbers will not repeat itself, unless by chance.
PNRG Disadvantages
- True random numbers are difficult to obtain.
- Programs using random numbers are difficult to debug, especially when using a TRNG.
- Sequences of random numbers eventually repeat themselves (when using a PRNG).
Why are pseudo-random numbers a security problem?
- Cryptographic keys are generated using random number generators.
- But, pseudo-random numbers are deterministic meaning any sequence of pseudorandom numbers can be reproduced anytime.
- This means cryptographic keys can be reproduced!
- Cryptography can be broken! Data can be decrypted!
secure random numbers
A pseudo random number generator that is suitable for cryptographic usage is called a Cryptographically Secure
Pseudo-Random Number Generator (CSPRNG).
What properties does the CSPRNG exhibit
- It appears random.
- Its value is unpredictable in advance.
- It cannot be reliably reproduced after generation.