Expand description
A ChaCha20 generator that takes entropy gathered after it was built.
A generator seeded once at boot knows only what the device knew at
boot. On a board that stays up for months, entropy harvested later
reaches the stored seed and the next boot, but nothing that is
running. ReseedingRng closes that gap: whatever harvests entropy
offers a fresh seed through a ReseedSlot, and the generator folds
it into its key the next time it is used.
The slot is a static, so the harvester needs no handle to a
generator that lives inside a MAC or a task. A generator nobody
offers a seed to produces exactly the ChaCha20Rng stream for its
boot seed.
Structsยง
- Reseed
Slot - Where a fresh seed waits for one running generator.
- Reseeding
Rng - ChaCha20, rekeyed whenever its
ReseedSlotholds a fresh seed.