Seed (Kryptografie)
Ein Seed ist der geheime Startwert, aus dem ein Computer eine ganze Reihe von Zufallszahlen oder Schlüsseln berechnet. Wer den Seed kennt, kann alles daraus Abgeleitete nachrechnen — deshalb entscheidet er über die Sicherheit von Verschlüsselung und Krypto-Wallets.
Computer können nicht wirklich würfeln. Sie rechnen stur nach Vorschrift, und dieselbe Rechnung ergibt immer dasselbe Ergebnis. Um trotzdem zufällig wirkende Zahlen zu erzeugen, startet ein Programm mit einem einzigen Anfangswert und rechnet daraus eine lange Folge weiterer Zahlen aus. Dieser Anfangswert heißt Seed, auf Deutsch Startwert oder Saatgut. Aus einem kleinen Seed wächst also eine große Menge scheinbar zufälliger Zahlen. Und wer den Seed kennt, erhält beim Nachrechnen genau dieselbe Folge.
Warum der Seed über die Sicherheit entscheidet
In der Kryptografie, also der Wissenschaft vom Verschlüsseln von Daten, werden geheime Schlüssel aus Zufallszahlen gebildet. Ist der Seed schlecht gewählt, ist auch der Schlüssel schlecht. Ein Angreifer muss dann nicht alle möglichen Schlüssel durchprobieren. Er probiert nur die wahrscheinlichen Seeds durch, und das sind oft erschreckend wenige.
Genau das ist mehrfach passiert. Programme haben als Seed die aktuelle Uhrzeit in Sekunden benutzt. Ein Angreifer kennt den Tag ungefähr, also bleiben nur ein paar hunderttausend Möglichkeiten. Ein Laptop testet die in Minuten. Die Verschlüsselung war mathematisch stark, der Startwert schwach — und damit das ganze System.
Bei Kryptowährungen trägt der Seed eine noch direktere Verantwortung. Aus ihm werden alle Schlüssel einer Geldbörse berechnet. Wer den Seed hat, hat das Geld.
Woher gute Seeds kommen
Ein guter Seed darf nicht vorhersagbar sein. Deshalb sammeln Betriebssysteme dafür echte physikalische Unordnung ein. Genutzt werden zum Beispiel winzige Zeitabstände zwischen Tastendrücken, Schwankungen der Festplattenzugriffe oder elektrisches Rauschen in speziellen Chips. Moderne Prozessoren haben eigene Bauteile, die aus solchem Rauschen Zufall gewinnen.
Diese gesammelte Unordnung nennt man Entropie. Das Betriebssystem mischt sie zu einem Seed und übergibt ihn an einen Zufallsgenerator. Der streckt den kurzen Seed dann zu beliebig vielen Zufallsbits. Programmierer sollen den Zufall deshalb immer beim Betriebssystem anfordern und nicht selbst basteln.
Ein zweiter Punkt ist die Länge. Übliche Seeds sind 128 oder 256 Bit lang. Das sind so viele Möglichkeiten, dass Durchprobieren auch mit allen Rechnern der Welt scheitert.
Wo dir Seeds begegnen
Am sichtbarsten in Krypto-Wallets. Wenn du eine neue Bitcoin- oder Ethereum-Geldbörse anlegst, zeigt sie dir zwölf oder vierundzwanzig englische Wörter. Diese Seed Phrase ist nichts anderes als ein 128 oder 256 Bit langer Seed, in leichter merkbare Wörter übersetzt. Aus ihm werden alle Adressen und Schlüssel des Kontos abgeleitet. Deshalb kannst du mit diesen Wörtern deine Wallet auf einem neuen Handy vollständig wiederherstellen. Und deshalb gilt: nie abfotografieren, nie in eine Cloud tippen, nie jemandem vorlesen. Jeder echte Support fragt danach nicht.
In Nachrichten tauchen Seeds meist auf, wenn etwas schiefgegangen ist. Berichte über gehackte Wallets oder knackbare Zufallsgeneratoren drehen sich fast immer um zu schwache Startwerte.
Es gibt auch einen harmlosen Einsatz derselben Idee. Bei Bildgeneratoren und anderen KI-Werkzeugen kannst du oft einen Seed als Zahl eingeben. Gleicher Seed und gleiche Eingabe ergeben dasselbe Bild. Hier ist Vorhersagbarkeit kein Fehler, sondern erwünscht: Sie macht Ergebnisse wiederholbar. Auch Videospiele nutzen das, wenn sie eine Welt aus einer Zahl erzeugen und Spieler diese Zahl austauschen.