Cryptography Reference
In-Depth Information
16.1.1
Wie eine Stromchiffre funktioniert
Im Gegensatz zu einem Pseudozufallsgenerator muss eine Stromchiffre genau
spezifiziert sein, damit es zwischen Alice und Bob keine Interoperabilitätspro-
bleme gibt. Anders als die im vorhergehenden Kapitel beschriebenen Pseudozu-
fallsgeneratoren lassen die gängigen Stromchiffren daher keinen oder nur sehr
wenig Spielraum für die Implementierung. Wie ein Pseudozufallsgenerator arbei-
tet auch eine Stromchiffre mit einer Fortschaltfunktion. Darüber hinaus gibt es
einen Status . Dies ist eine Variable (sie kann in mehrere Teilvariablen aufgeteilt
sein), in der das Ergebnis der letzten Fortschaltung gespeichert wird.
Bevor ein Keystream generiert wird, ist eine Initialisierung des Status notwen-
dig. Der Startwert des Status kann geheim sein und als Schlüssel verwendet wer-
den. Bei den meisten Verfahren ist dies jedoch nicht der Fall - stattdessen ist die
Fortschaltfunktion schlüsselabhängig. Ein nichtgeheimer Startwert wird als Ini-
tialisierungsvektor bezeichnet. Durch diesen können Alice und Bob eine Wieder-
verwendung der gleichen Zufallsfolge vermeiden, indem sie für jeden Klartext
einen anderen Wert wählen. Es kann sich dabei beispielsweise um eine Zufalls-
zahl handeln. Möglich ist auch ein Zähler, dessen Wert nach jeder Verwendung
erhöht wird. Da der Initialisierungsvektor nicht geheim sein muss, kann ihn Alice
zusammen mit der verschlüsselten Nachricht unverschlüsselt an Bob schicken.
Moderne Stromchiffren sehen meist eine etwas komplexere Initialisierung
vor. Oft werden im Rahmen dieser Initialisierung einige Iterationen ohne Key-
stream-Generierung durchgeführt, um die Sicherheit zu erhöhen. Der Inhalt des
Status wird bei neueren Stromchiffren meist nicht direkt als Keystream verwen-
det. Stattdessen wird der Status einem Zwischenschritt zugeführt, der Keystream-
Extraktion genannt wird. Erst das Ergebnis dieser Operation wird mit dem Klar-
text bzw. Geheimtext exklusiv-oder-verknüpft. Beachten Sie, dass die Keystream-
Extraktion per Definition nicht den Status verändert, sondern lediglich den Aus-
gabewert aus diesem berechnet. Sowohl die Initialisierung als auch die Key-
stream-Extraktion können schlüsselabhängig sein.
Eine wichtige Kenngröße einer Stromchiffre ist die Zahl der Keystream-Bits,
die pro Iteration generiert werden. Hierbei gibt es große Unterschiede - zwischen
einem Bit und mehreren Hundert Bit pro Fortschaltung reicht das Spektrum. Bei
manchen Verfahren ist die Bit-Zahl pro Iteration sogar variabel. Meistens ist die
Zahl der jeweils generierten Keystream-Bits kleiner als die Blocklänge einer
Blockchiffre (diese liegt meist bei 64 oder 128 Bit).
Die Funktionsweise einer Stromchiffre ähnelt in einigen Belangen der einer
kryptografischen Hashfunktion. So arbeiten auch Letztere mit einem Status (oft
als Kettenvariablen bezeichnet), und die zur Berechnung des Hashwerts einge-
setzte Kompressionsfunktion hat eine ähnliche Aufgabe wie die Fortschaltfunk-
tion einer Stromchiffre. Einige neuere Stromchiffren generieren daher nicht nur
einen Keystream, sondern bilden auch gleich einen schlüsselabhängigen Hash-
Search WWH ::




Custom Search