LT   EN   RU  
Wednesday 14 April 2021 - Independent and informative portal
Register   Login
News subscribe
Subscribe   Unsubscribe
Visits since 2002 09 12 - 67572447
Pages in 40735
  Computers > Computer technologies > Security > Cryptography
Lankomumo reitingas Print version Print version
Cryptographic Random Number Generators

Cryptographic random number generators generate random numbers for use in cryptographic applications, such as for keys. Conventional random number generators available in most programming languages or programming environments are not suitable for use in cryptographic applications (they are designed for statistical randomness, not to resist prediction by cryptanalysts).

In the optimal case, random numbers are based on true physical sources of randomness that cannot be predicted. Such sources may include the noise from a semiconductor device, the least significant bits of an audio input, or the intervals between device interrupts or user keystrokes. The noise obtained from a physical source is then "distilled" by a cryptographic hash function to make every bit depend on every other bit. Quite often a large pool (several thousand bits) is used to contain randomness, and every bit of the pool is made to depend on every bit of input noise and every other bit of the pool in a cryptographically strong way.

When true physical randomness is not available, pseudo-random numbers must be used. This situation is undesirable, but often arises on general purpose computers. It is always desirable to obtain some environmental noise - such as from device latencies, resource utilization statistics, network statistics, or keyboard interrupts. The point is that the data must be unpredictable for any external observer; to achieve this, the random pool must contain at least 128 bits of true entropy.

Cryptographic pseudo-random number generators typically have a large pool ("seed value") containing randomness. Bits are returned from this pool by taking data from the pool, optionally running the data through a cryptographic hash function to avoid revealing the contents of the pool. When more bits are needed, the pool is stirred by encrypting its contents by a suitable cipher with a random key (that may be taken from an unreturned part of the pool) in a mode which makes every bit of the pool depend on every other bit of the pool. New environmental noise should be mixed into the pool before stirring to make predicting previous or future values even more difficult.

Even though cryptographically strong random number generators are not very difficult to build if designed properly, they are often overlooked. The importance of the random number generator must thus be emphasized - if done badly, it will easily become the weakest point of the system.

Lankomumo reitingas

Diskusijos - Discusions

Versija spausdinimui - Print version

Random tags:    Culture (57)    The Rights of Man (14)    Yoga (4)    Internet (4)    Paintball (10)    Philosophy (2)    Cats (14)    Photography (3)    Martial arts (7)    Beer (10)    Open source (9)    Narcotics no (13)    Philately (8)    Casino’s (10)    Skydiving (10)    Nursing (4)    Sound systems (10)    Education (174)    Linux/Unix (2)    Physics (5)    Kisses (13)    Economics2 (2)    Computers (355)    Sport (81)    Tourism (46)    Geography (10)    Architecture (2)    Music (10)    Monitors (10)    Eurointegration (4)    Suckling (10)    Egypt (43)    Programing (13)    Politics (13)    Tales (13)    Telecomunication (40)    Religion (34)    Mother and child (17)    Literature (24)    Automobiles (10)    PHP (3)    Astronomy (11)    Blow-ups (2)    S.Valiulis (2)    Aquariums (28)    History (4)    Vampire (6)    Aviculture (2)    Energetics (2)    Floriculture (10)
1. Cryptography
2. A Brief History of Cryptography - compiled by Shireen Hebert
3. Cryptography: History
4. Introduction to Cryptosystems
5. Cryptanalysis and Attacks on Cryptosystems
6. Strength of Cryptographic Algorithms
7. Cryptographic Hash Functions
8. Digital Signatures
9. Basic Cryptographic Algorithms
1. Cryptanalysis and Attacks on Cryptosystems
2. A Brief History of Cryptography - compiled by Shireen Hebert
3. Strength of Cryptographic Algorithms
4. Basic Cryptographic Algorithms
5. Cryptography: History
6. Introduction to Cryptosystems
7. Cryptography
8. Cryptographic Hash Functions
9. Digital Signatures