Cryptography Reference
In-Depth Information
Funktionsweise von S osemanuk
Sosemanuk verwendet einen Status der Länge 384 Bit. Davon sind zehnmal 32 Bit
ähnlich wie ein LFSR angeordnet und werden als Register bezeichnet. Die ver-
bleibenden zwei 32-Bit-Variablen werden R1 und R2 genannt. Die Funktions-
weise von Sosemanuk ist in Abbildung 16-10 zu sehen. Die einzelnen Bestand-
teile haben folgende Bedeutung:
Die Zahl a ist eine Konstante, deren Wert in der Spezifikation gegeben ist. Bei
der Fortschaltung wird eine der zehn Registervariablen mit a und eine weitere
mit dem Kehrwert von a multipliziert.
MUX ist eine Funktion, in die zwei 32-Bit-Werte sowie ein weiteres Bit (es ist
das niederwertigste Bit von R1 ) eingehen. Ist dieses einzelne Bit Null, dann
wird der erste 32-Bit-Wert als Ergebnis ausgegeben, ansonsten der zweite.
TRANS ist eine Funktion, die einen 32-Bit-Wert entgegennimmt, diesen mit
der Konstante 54655307 (in Hexadezimalschreibweise) multipliziert (modulo
2 32 ) und anschließend eine Linksrotation um sieben Bit vornimmt.
Serpent1 nimmt 128 Bit (in vier 32-Bit-Blöcken) entgegen und gibt ein Ergeb-
nis im gleichen Format aus. Die 128 eingegebenen Bits werden mit der S-Box
S 2 des Verschlüsselungsverfahrens Serpent bearbeitet. Es werden 32 parallele
S-Boxen benötigt, um die 128 Bit verarbeiten zu können (eine S-Box nimmt
vier Bits entgegen). Vor der S-Box-Anwendung wird die Eingangspermutation
von Serpent durchgeführt, danach die Ausgangspermutation.
Eine Besonderheit von Sosemanuk ist, dass stets vier Iterationen durchgeführt
werden müssen, bevor anschließend vier Keystream-Blöcke (zu je 32 Bit) auf ein-
mal ausgegeben werden. Dies liegt daran, dass die Funktion Serpent1 vier 32-Bit-
Blöcke als Input benötigt und deshalb jeweils drei Blöcke gepuffert werden müs-
sen. Die Initialisierung von Sosemanuk ist in Abbildung 16-11 dargestellt. Auch
hier haben die Entwickler des Verfahrens einige Funktionsblöcke von Serpent
übernommen.
Bewertung von Sosemanuk
In der SASC-Bewertung belegte Sosemanuk bei den Softwareverfahren den drit-
ten Platz. Damit lag das Verfahren deutlich hinter Rabbit und Salsa20, aber auch
deutlich vor allen anderen. Wesentliche Schwachstellen sind bisher nicht bekannt.
16.6.5
Trivium
Triv iu m ist eine Stromchiffre, die von dem bekannten belgischen Kryptologen
Bart Preneel zusammen mit seinem Landsmann Christophe De Cannière entwi-
ckelt wurde [PreCan]. Die beiden beschreiben das Design als einen »Vorgang zum
Herausfinden, wie weit eine Stromchiffre vereinfacht werden kann, ohne die
Sicherheit, die Geschwindigkeit oder die Flexibilität zu opfern«.
Search WWH ::




Custom Search