Entropie in der Kryptografie
Kurz: Entropie misst, wie unvorhersagbar ein Wert ist. Sichere Schlüssel brauchen Entropie, also echte Zufälligkeit, die ein Angreifer nicht erraten kann.
Genauer: Gemessen wird in Bit: Ein Wert mit n Bit Entropie lässt sich nur mit etwa 2ⁿ Versuchen erraten. Ein „128-Bit-Schlüssel” aus einem vorhersagbaren Zufallsgenerator hat in Wahrheit viel weniger.
Im Detail
- Quellen: Zeitpunkte von Tastendrücken und Mausbewegungen, Festplatten- und Netzwerkereignisse, Rauschen in Hardware, CPU-Befehle wie
RDRAND. - Betriebssystem: Der Kern sammelt Entropie in einem Pool und liefert daraus über
/dev/urandomundgetrandom()sichere Zufallszahlen. Moderne Linux-Kerne können das auch kurz nach dem Start. - Problemfälle: Virtuelle Maschinen und kleine Geräte direkt nach dem Start haben wenig Entropie. Kopierte VM-Abbilder liefern identische Zufallszahlen.
- Passwörter: Ein Passwort mit 4 zufälligen Wörtern aus 7776 (Diceware) hat etwa 51 Bit, ein ausgedachtes Muster viel weniger.
- Faustregel: Für Schlüssel nur die kryptografisch sicheren Funktionen der Plattform nutzen (
secrets,crypto.getRandomValues), nierand()oderMath.random().
Siehe auch: Zufallszahlen: Pseudozufall und echter Zufall