Fortuna (PRNG)
Ein kryptografischer Zufallszahlengenerator von 2003, entworfen, damit niemand schätzen muss, wie viel Entropie er gesammelt hat.
Niels Ferguson und Bruce Schneier stellten ihn in Practical Cryptography als Nachfolger ihres eigenen Yarrow vor. Yarrows Schwachstelle war die Entropieschätzung — man muss wissen, wie zufällig eine Quelle ist, und das weiß man selten. Fortuna umgeht die Frage, indem es die Eingaben auf 32 Pools verteilt. Pool i wird nur bei jedem 2i-ten Reseed geleert, sodass früher oder später ein Pool mehr Zufall enthält, als ein Angreifer per Brute Force durchprobieren kann — gezählt werden musste nichts.
Der Generator selbst ist AES im Zählermodus, der nach jeder Anfrage den Schlüssel wechselt, sodass ein gestohlener interner Zustand nichts über frühere Ausgaben verrät. FreeBSD stellte in Version 11 (2016) auf Fortuna um, und auch der Zufallsgenerator im Apple-Kernel baut auf demselben Entwurf auf.