liveBook · Manning

Randomness extractor

As explained in Real-World Cryptography

A randomness extractor is a procedure that combines and transforms imperfect random inputs into output with improved randomness properties.

A randomness extractor cleans imperfect noise before cryptographic use. Entropy sources may be biased, correlated, insufficient, predictable, or influenced by outside factors, so one source is not automatically trustworthy. section 8.1

A practical extraction pattern is:

  • Gather noise from several sources, such as physical phenomena measured by hardware random number generators. section 8.1
  • Hash the different inputs to transform their raw noise. section 8.1
  • XOR the resulting digests together before using the output for cryptographic applications. section 8.1

Combining noisy measurements

Suppose one sensor produces a zero slightly more often than a one, while successive bits from another sensor are correlated. Hash both inputs and XOR the digests to gather and clean their noise. Extraction can be slow, however, making high-volume random-number generation a possible bottleneck. section 8.1

How Real-World Cryptography covers it

How deep it goes
Explains imperfect inputs and a hash-and-XOR pattern, but stops short of detailed extractor algorithms or operating-system methods.
Examples
Uses thermal noise, biased bits, correlated successive bits, and hashing followed by XOR.
What you can do after
Apply it by gathering multiple noisy sources, hashing them, and XORing their digests before cryptographic use.
How it connects
Connects entropy sources with true random number generators, hash functions, XOR, and cryptographic applications.

Also explained in

Compare how 2 books explain randomness extractor →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Real-World Cryptography. The section links point to the parts of the book it draws on.