Zum Hauptinhalt springen

6.2. Cryptographically Strong Sequences (Kryptographisch starke Sequenzen)

6.2. Cryptographically Strong Sequences (Kryptographisch starke Sequenzen)

In Fällen, in denen eine Reihe von Zufallsgrößen generiert werden muss, kann ein Gegner einige Werte in der Sequenz lernen. Im Allgemeinen sollten Gegner nicht in der Lage sein, andere Werte aus denen vorherzusagen, die sie kennen.

Die korrekte Technik ist es, mit einem starken Zufallsseed zu beginnen, kryptographisch starke Schritte von diesem Seed zu nehmen [FERGUSON, SCHNEIER] und nicht den vollständigen Zustand des Generators in den Sequenzelementen offenzulegen. Wenn jeder Wert in der Sequenz auf eine feste Weise aus dem vorherigen Wert berechnet werden kann, dann können, wenn ein beliebiger Wert kompromittiert wird, alle zukünftigen Werte bestimmt werden. Dies wäre beispielsweise der Fall, wenn jeder Wert eine konstante Funktion der zuvor verwendeten Werte wäre, selbst wenn die Funktion eine sehr starke, nicht-invertierbare Message-Digest-Funktion wäre.

(Beachten Sie, dass wenn eine Technik zur Generierung einer Sequenz von Schlüsselwerten schnell genug ist, sie trivial als Basis für ein Vertraulichkeitssystem verwendet werden kann. Wenn zwei Parteien dieselbe Sequenzgenerierungstechnik verwenden und mit demselben Seed-Material beginnen, werden sie identische Sequenzen generieren. Diese könnten beispielsweise an einem Ende mit zu sendenden Daten XOR-verknüpft werden, um sie zu verschlüsseln, und mit diesen Daten beim Empfang XOR-verknüpft werden, um sie zu entschlüsseln, aufgrund der reversiblen Eigenschaften der XOR-Operation. Dies wird üblicherweise als einfache Stromchiffre bezeichnet.)