Als Key generator (deutsch „Schlüsselerzeuger“) wird in der Kryptologie ein Gerät oder ein beispielsweise auf einem Computer laufender Algorithmus bezeichnet, mit dessen Hilfe ein kryptologischer Schlüssel erzeugt werden kann.

Hintergrund

Bearbeiten

Der Schlüssel stellt das zentrale geheime Element einer jeden verschlüsselten Kommunikation dar. Falls es einem Angreifer gelingen sollte, den Schlüssel zu erraten oder auf irgendeine Weise zu erschließen, beispielsweise weil dieser zu sorglos gewählt wurde oder weil er leicht zu erkennende Gesetzmäßigkeiten aufweist, dann ist das Kryptosystem schlagartig unsicher und die Kommunikation kann „mitgelesen“ werden.

Verfahren

Bearbeiten

Im einfachsten Fall überlässt man es einem Menschen, den Schlüssel zu generieren, beispielsweise in Form eines Passworts. Die Erfahrung zeigt jedoch, dass hierbei viele Fehler passieren. Passwörter werden häufig viel zu einfach gewählt (Beispiel: EVA11) und sind deshalb nicht selten leicht zu erraten.

Am besten ist es, kryptographisch sichere Zufalls­zahlen­generatoren zu verwenden. Hierbei unterscheidet man deterministische und nichtdeterministische Zufallsgeneratoren. Erstere verwenden einen mathematischen Algorithmus, beispielsweise ein rückgekoppeltes Schieberegister, um Pseudozufallszahlen zu erzeugen. Nachteil ist, dass ein Algorithmus niemals „wirklichen“ Zufall generieren kann und damit letztlich ausrechenbar ist.

Im Gegensatz dazu können physikalische Zufalls­zahlen­generatoren, beispielsweise Rauschgeneratoren, unvorhersagbare Zufallsfolgen erzeugen. Allerdings zeigt sich auch hier, dass selbst diese nicht in der Lage sind, perfekten Zufall zu generieren. Der amerikanische Mathematiker und Informatiker George Marsaglia (1924–2011), der sich Jahrzehnte lang intensiv mit dieser Thematik befasste, und der eine spezielle Testbatterie, genannt „Diehard“, zur Prüfung der Zufälligkeit entwickelte, empfahl explizit zur Erzeugung von „guten“ Zufallsfolgen am besten mehrere – möglichst unterschiedliche – Verfahren zu benutzen und deren Ergebnisse anschließend mithilfe von kryptologischen Mischern miteinander zu kombinieren. Dabei ging er von dem Grundsatz aus, dass das Ergebnis der Kombination von zwei oder mehreren Zufallsfolgen niemals weniger zufällig ist als jede einzelne, was er empirisch belegen konnte.[1]

Ein Beispiel für einen hardwaremäßig realisierten Key generator ist der PU‑104 der Firma Rohde & Schwarz (siehe auch Weblinks). Zufallsfolgen, wie diese durch Hard- und/oder Software generierten, können beispielsweise verwendet werden, um zusammen mit dem Einmalschlüssel-Verfahren (englisch One-Time-Pad) „unbrechbar“ zu kommunizieren.

Bearbeiten

Einzelnachweise

Bearbeiten
  1. George Marsaglia: Instructions for using DIEHARD – a battery of tests of randomness. Diehard.doc, 7. Januar 1997, S. 3 (englisch).