Cryptography Reference
In-Depth Information
PN
Generator liefert
z
b
1, 2, ...
b
Verschlüsselung
c
z
m
(2.4-1)
b
b
b
Entschlüsselung
m
z
c
b
b
b
PN-Generatoren
Die Stromchiffren RC4 und A5 unterscheiden sich hauptsächlich durch ihre PN-Generatoren.
Benutzt werden RC4 vor allem in Sicherheitsprotokollen im Internet und die Stromchiffre A5
bei der Verschlüsselung der Sprachdaten an der Luftschnittstelle im Mobilfunksystem GSM.
Neben den hier zu besprechenden PN-Generatoren für RC4 und A5 gibt es weitere Lösungen,
die auf der Verschlüsselungsfunktion von Block-Algorithmen basieren: Dies sind die PN-
Generatoren „Output Feedback“ (OFB, Kap. 2.7.2.4) und „Counter-Modus“ (CTR, Kap.
2.7.2.5).
2.4.1 RC4
RC4 wurde 1987 von Ronals L. Rivest (RC4: Ron's Code 4) für RSA Security entwickelt und
1994 anonym veröffentlicht [RC4]. RC4 selbst wurde nicht standardisiert, aber in vielen Stan-
dards praktisch eingesetzt: SSH (secure shell) für einen sicheren Rechnerzugang über das
Netz, SSL (secure socket layer) für einen sicheren Web-Zugang, WEP (wired equivalent pri-
vacy) für eine gesicherte Übertragung über Wireless LAN. (SSH, SSL, WEP: Kap. 6.2, „Si-
cherheitsprotokolle im Internet“).
Die Stromchiffre RC4 arbeitet auf der Basis von Bytes. Ein schlüsselgesteuerter PN-Generator
liefert eine Folge von Pseudo-Zufalls-Bytes z b . Die Chiffrenfolge c b ergibt sich durch bitweise
Addition mod 2 der Nachrichten-Bytes m b und der Pseudo-Zufalls-Bytes z b , siehe (2.4-1) und
Abb. 2-12.
2.4.1.1 RC4, PN-Generator
Der Pseudo-Noise-Generator liefert für jedes Nachrichten-Byte m b ein Pseudo-Zufalls-Byte z b .
Der PN-Generator arbeitet mit einer Substitutionsliste S. Diese enthält 256 Bytes mit den Wer-
ten 0 bis 255. Die Liste S ist anfangs geordnet. Durch einen KSA-Algorithmus (key-
scheduling algorithm) wird die Reihenfolge der Bytes in der Liste S pseudo-zufällig „durchei-
nandergewürfelt“ (permutiert). Die Permutation wird durch den RC4-Schlüssel k gesteuert. In
der Arbeitsphase des PN-Generators werden mit einem PRGA-Algorithmus (pseudo-random
generation algorithm) aus der Liste S einzelne Elemente (Bytes) pseudo-zufällig ausgelesen
und als Pseudo-Zufalls-Byte z b ausgegeben. Dabei werden die Listenelemente weiter verwür-
felt.
KSA-Algorithmus (key-scheduling algorithm)
Die Länge l k des Schlüssels k kann im Bereich 1l k 256 Byte gewählt werden, üblicherweise
im Bereich 5 bis 16 Byte. Neben der Liste S[i] benötigt der Algorithmus noch zwei 8-Bit-
Index-Zeiger i und j. Zunächst wird die Liste mit i=0 bis i=255 vorbesetzt, S[i]=i. Der KSA-
Algorithmus für das Permutieren der Liste S wird durch folgenden Pseudo-Code beschrieben:
Search WWH ::




Custom Search