Cryptography Reference
In-Depth Information
um der Forderung nach einem 128-Bit-Schlüssel nachzukommen. Nachdem Kol-
legen Masseys nachgewiesen hatten, dass die Schlüsselaufbereitung des Verfah-
rens einige Schwächen aufwies, besserte der SAFER-Erfinder nach und veröffent-
lichte SAFER SK-64 sowie SAFER SK-128 . Zusätzlich veröffentlichte er dann
noch SAFER SK-40 , um den damaligen Exportrestriktionen der USA zu genügen.
Die drei SK-Varianten unterscheiden sich vom Original nur durch die unter-
schiedliche Schlüsselaufbereitung. SK steht für »Secure Key Schedule«.
1998 erschien mit SAFER+ die nächste SAFER-Version [KhKuMa]. An der
Entwicklung waren neben Massey die beiden armenischen Kryptografen Gurgen
Khachatrian und Melsik Kuregian beteiligt. SAFER+ nahm am AES-Wettbewerb
teil, kam allerdings nicht in die engere Auswahl. Im Jahr 2000 erblickte schließ-
lich SAFER++ als NESSIE-Kandidat (siehe Abschnitt 18.5.4) das Licht der Krypto-
Welt. Sowohl SAFER+ als auch SAFER++ weisen im Vergleich zum Ursprungs-
verfahren einige Änderungen auf, die über die Schlüsselaufbereitung hinausge-
hen. Im Folgenden will ich mich auf die Variante SAFER+ beschränken. Diese ist
besonders wichtig, weil sie im weit verbreiteten Bluetooth-Standard zur Anwen-
dung kommt (siehe Abschnitt 33.3).
9.5.1
Funktionsweise von SAFER+
SAFER+ bietet die im AES-Wettbewerb geforderten Schlüssellängen von 128,
192 und 256 Bit. Die Rundenzahl ist von der Schlüssellänge abhängig. Die Länge
eines Klartextblocks beträgt 128 Bit. Das Verfahren zählt zu den SP-Chiffren.
Eine SAFER+-Runde hat folgenden Ablauf (siehe auch Abbildung 9-5):
1.
Jedes der 16 Bytes eines Blocks wird mit jeweils einem Byte aus dem ersten
Subschlüssel verknüpft (ein Subschlüssel besteht ebenfalls aus 16 Bytes). Die
Verknüpfung ist in acht von 16 Fällen eine Exklusiv-oder-Verknüpfung, an-
sonsten eine Addition.
2.
Acht der 16 resultierenden Bytes werden der Funktion EXP zugeführt, die
anderen der Funktion LOG . EXP und LOG sind S-Boxen, die jeweils 8 Bit
auf nichtlineare Weise auf 8 Bit abbilden. Beide S-Boxen lassen sich mit einer
mathematischen Formel beschreiben. Für EXP gilt: y =45 x mod 257. Für
LOG gilt: y =log 45 x mod 257. x und y sind Byte-Variablen. In beiden For-
meln wird für den Spezialfall x =0 als Ergebnis y =0 festgelegt. EXP und LOG
verwenden Modulo-Rechnungen, wie sie in Abschnitt 10.1.1 beschrieben
werden. Wie man leicht nachrechnet, ist LOG die Umkehrung von EXP
(und umgekehrt). In der Praxis werden die beiden Formeln fast immer vorbe-
rechnet und als Ersetzungstabellen implementiert.
Search WWH ::




Custom Search