Module reseed

Module reseed 

Source
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ยง

ReseedSlot
Where a fresh seed waits for one running generator.
ReseedingRng
ChaCha20, rekeyed whenever its ReseedSlot holds a fresh seed.