Computing Atlas

How Computing Was Built
Sign In
Text size
100%
Theme
Algorithm

Fortuna (PRNG)

Cryptographic Algorithm

Fortuna is a cryptographically secure pseudorandom number generator devised by Bruce Schneier and Niels Ferguson and published in 2003, named after the Roman goddess of chance. It is a family of designs with three parts: a generator, an entropy accumulator and a seed file. The generator runs a good block cipher such as AES, Serpent or Twofish in counter mode and changes its key after every request and after at most one mebibyte of output, so a later key compromise does not expose earlier output. The accumulator spreads incoming entropy over 32 pools and uses pool k only on every 2 to the power k reseeding, which lets the system recover from injected bad entropy without having to estimate how much entropy each source supplies. This is the main difference from the earlier Yarrow design. FreeBSD uses Fortuna for its random device, and Apple operating systems adopted it from 2020.

Connections

In Field

Cryptography, Fields
Source Fortuna (PRNG) (Wikipedia)

Invented

Source Fortuna (PRNG) (Wikipedia)
Sources
Fortuna (PRNG) (Wikipedia)
  • In Group: Cryptographic Techniques, Lead
    Fortuna is a cryptographically secure pseudorandom number generator (CS-PRNG) devised by Bruce Schneier and Niels Ferguson and published in 2003.
  • In Field: Cryptography, Lead
    Fortuna is a cryptographically secure pseudorandom number generator (CS-PRNG) devised by Bruce Schneier and Niels Ferguson and published in 2003.
  • Invented: Bruce Schneier, Lead
    Fortuna is a cryptographically secure pseudorandom number generator (CS-PRNG) devised by Bruce Schneier and Niels Ferguson and published in 2003.
View the Source
Comments (0)
No comments yet. Be the first to share a thought.
Reader Challenges (0)
No disputes yet. Spotted an error or a better source? Open the first one.