Cryptography Reference
In-Depth Information
2 128 möglichen Variablenbelegungen durchlaufen werden, bevor die LFSRs wie-
der in den Ausgangszustand zurückkommen (einzige Ausnahme ist die Belegung
mit 128 Nullen). Die Ausgabe der LFSRs erfolgt nicht über die jeweils rechts gele-
genen Variablen. Stattdessen liefern LFSR1 und LFSR2 den Inhalt von Variable
24 als Ausgabe, während LFSR3 und LFSR4 jeweils Variable 32 ausgeben.
Der Aufbau von E 0 ist in Abbildung 16-3 ersichtlich. Das Design sieht drei
Bestandteile vor:
LFSR-Block : Der LFSR-Block enthält die vier beschriebenen LFSRs.
Summation Combiner : Dieser realisiert zwei logische Funktionen, die beide
die vier Ausgabe-Bits der LFSRs entgegennehmen. Die erste logische Funktion
nimmt noch ein fünftes Bit hinzu, das aus dem Blender stammt, und liefert als
Ausgabe die Exklusiv-oder-Verknüpfung der fünf Eingabe-Bits. Die Ausgaben
bilden zusammen den Zufallsstrom, mit dem der Klartext verknüpft wird.
Die zweite logische Funktion liefert zwei Bit für den Blender und nimmt dazu
zwei Bit aus dem Blender entgegen. Der Aufbau dieser Funktion ist aus Abbil-
dung 16-3 ersichtlich.
Blender : Der Blender ist ebenfalls eine einfache logische Funktion, jedoch
nicht zustandslos. Zum Blender gehören zwei Zwei-Bit-Register, die in jedem
Taktzyklus den aktuellen Eingabewert speichern und den vorhergehenden
ausgeben. Die beiden Register können insgesamt 16 Zustände annehmen.
Wie in Abbildung 16-3 zu sehen ist, nimmt der Blender zwei Zwei-Bit-Werte
entgegen und gibt einen Zwei-Bit-Wert aus. Der Aufbau des Blenders sieht
neben den beiden Registern noch eine Exklusiv-oder-Verknüpfung sowie die
beiden Funktionen T 1 und T 2 vor. Letztere bilden jeweils einen Zwei-Bit-Wert
nach einer festen Tabelle auf einen anderen Zwei-Bit-Wert ab (es handelt sich
also um zwei Mini-S-Boxen).
Die Generierung des Zufallsstroms funktioniert also bitweise. Zum Verschlüsseln
und Entschlüsseln wird der Zufallsstrom per Exklusiv-oder-Verknüpfung mit
dem Klartext bzw. dem Schlüsseltext verbunden.
Schlüsselaufbereitung von E 0
Die vier LFSRs, die E 0 vorsieht, bestehen zusammen aus 128 Variablen. Am ein-
fachsten wäre es, einen 128-Bit-Schlüssel zu nehmen, diesen auf die jeweiligen
Variablen zu verteilen und loszulegen (für die Initialisierung der Register könnte
man eine Konstante verwenden oder den Schlüssel um vier Bit verlängern). Diese
simple Methode der Schlüsselaufbereitung erschien den E 0 -Schöpfern jedoch zu
unsicher. Sie sahen wohl das Problem, dass Alice und Bob zweimal denselben
Schlüssel verwenden könnten, was bei einer Stromchiffre nicht passieren darf.
Stattdessen sieht E 0 eine relativ aufwendige Schlüsselaufbereitung vor. Diese
setzt voraus, dass ein 128-Bit-Schlüssel K , eine 48-Bit-Bluetooth-Geräteadresse,
Search WWH ::




Custom Search