Random Number Generation and Extraction


Yevgeniy Dodis Spetember 15, 2021.


Generating random numbers is an essential task in cryptography. They are necessary not only for generating cryptographic keys, but are also needed in steps of cryptographic algorithms or protocols (e.g. initialization vectors for symmetric encryption, password generation, nonce generation). Indeed, the lack of insurance about the generated random numbers can cause serious damages in cryptographic protocols, and vulnerabilities that can be exploited by attackers.

In this talk we revisit a surprisingly rich landscape of the area of random number generation, ranging from theoretical impossibility results to building real-world random-number generators (RNGs) for Windows, Apple and Linux. Some example topics include impossibility of basing cryptography on entropy alone, improved key derivation functions, seedless randomness extraction, design and analysis of ““super-fast”” entropy accumulation found in most modern RNGs, and post-compromise security of RNGs in light of ““premature next”” attacks.

Enjoy Reading This Article?

Here are some more articles you might like to read next:

  • Brooks' Theorem in Graph Streams, A Single-Pass Semi-Streaming Algorithm for Δ-Coloring
  • Foundations of Lattice-based Cryptography
  • Why we couldn't prove SETH hardness of CVP for even norms, Subset-SUM, and Many more!
  • Algorithms and Barriers for Fast Matrix Multiplication
  • Reconstructing Graphs from Random Subgraphs.