~/talk

Inside the Linux Kernel Random Number Generator

Talkat Linux Plumbers Conference 2022 · 2022-09-12..09-14· [security]
slides:none on file

The Linux RNG replaces fragile LFSR math with a cryptographic pipeline using blake2s for mixing and ChaCha20 per-CPU streams, avoiding global locks for large performance wins. Vulnerabilities are demonstrated by modeling the old LFSR in pyz3 and solving it with Boolector, showing linear invertibility and small cycles. The overhaul is incremental: 147 commits shrink random.c to ~900 lines with ~500 lines of comments. Boot seeding uses bootloader seeds, RDCOUNTER jitter, and HW RNGs; initialization targets 256 bits, with the first 128 bits applied immediately and the next 128 buffered; reseed cadence is ~1 minute.

AI-written summary · about

  1. 0:00History of random.c
  2. 2:54Old vs. New Approaches
  3. 7:16Incremental modernization
  4. 8:51Entropy collection
  5. 11:41Entropy expansion
  6. 14:01Entropy sources
  7. 18:51Interrupt timing
  8. 21:19Fast mixing function
  9. 23:34Jitter and hardware RNG
  10. 27:39Entropy estimation
  11. 31:42Threat models
  12. 36:44Reseeding policy
  13. 38:45User space interfaces
  14. 42:43Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.