Webblog zur LVA Nutzung Interaktiver Medien
Mittwoch, 3. Januar 2007
RC4 - Verschlüsselung


RC4 – Ron’s Code 4

Allgemeines über RC4

RC4 ist eine so genannte Stromchiffrierung, die von Ronald L. Rivest 1987 für RSA Data Security Inc. (heute RSA Security) entwickelt wurde. Es wird von vielen Standards wie SSH, HTTPS und WLAN verwendet [1]. Der Algorithmus war sieben Jahre lang geheim („security by obscurity“), bis 1994 der Quellcode anonym veröffentlicht wurde [2].

Beschreibung der Funktionalität

RC4 hat eine variable Schlüssellänge und diese kann bis zu 2048 Bit betragen. Es wird immer ein Byte auf einmal verschlüsselt. Kern des Verfahrens ist die so genannte „S-Box“. S-Box ist eine zufällige Vertauschung der natürlichen Zahlen 0 bis 255 [1]. Mit der S-Box wird eine Zufallsfolge erzeugt, die Bit für Bit durch Addition modulo 2 (XOR-Verknüpfung) mit dem Nachrichtenstrom verknüpft wird [2].

Verschlüsselung:

Zuerst wird die S-Box linear aufgefüllt: S0 = 0, S1 = 1, … S255 = 255. Dann wird folgende Schleife durchlaufen:
Für i = 0 bis 255
j = (j + Si + Ki mod k) mod 256
vertausche (Si und Sj)
nächstes i

wobei folgendes zu definieren ist:
K = der Schlüssel
k = die Schlüssellänge

Jetzt soll ein Zufallsbyte erzeugt werden. Dieses Byte wird mit dem Klartextbyte xor-verknüpft, um das Geheimtextbyte zu erhalten[1]:

1. Erhöhe i um 1
2. Addiere Si zu j
3. Vertausche Si und Sj
4. Setze die temporäre Variable t auf Si + Sj
5. Gebe St aus

Dabei ist unbedingt zu beachten, dass jedes Ergebnis einer modulo-256-Operation unterzogen wird. Schließlich hat die S-Box ja nur 256 Einträge, d.h. der erste Eintrag ist S0 und der letzte S255.

Entschlüsselung:

Zur Entschlüsselung xor-verknüpft man das Geheimtextbyte mit dem Zufallsbyte und erhält das Klartextbyte. Demnach ist die Vorgehensweise bei der Verschlüsselung die gleiche wie bei der Entschlüsselung. Xor macht das eben möglich. Es können beliebig viel Schlüsselbytes erzeugt werden. Um einen Text zu verschlüsseln, brauchen wir so viele Bytes wie der Text lang ist. Bei einem 1302 Byte langen Text werden 1302 Schlüsselbytes ausgegeben.

Probleme und Schwächen

Bislang konnten keine schwerwiegenden Schwächen im Algorithmus selbst festgestellt werden. Nennenswerte Schwächen des Verfahrens liegen allein in der Initialisierung der S-Box begründet. Bei einer zufällig gewählten S-Box als Ausgangspunkt der Berechnung ist das Verfahren schwer oder gar nicht zu knacken [2]. Im ungünstigsten Fall liegt dem Angreifer (Knacker) ein Paar Klartext/Chiffretext vor. Um an die ganze Zufallssequenz zu gelangen, müsste der Angreifer nur den Klartext und den Chiffretext xor-en, weil eben folgendes gilt:

b xor k xor b = k, wobei

b = Klartextbyte
k = Zufallsbyte

b xor k ist also nichts anderes als der Chiffretext. Der Angreifer kann zwar nicht direkt auf den ursprünglichen Schlüssel gelangen, er kann aber andere verschlüsselte Texte mit höherer Wahrscheinlichkeit knacken [1].

Beispiel:

Bei Kontoüberweisungen werden Kontonummer, Betrag usw. immer an der gleichen Position stehen. Kontonummern und Beträge sind relativ systematisch aufgebaut. Durch ein einfaches XOR mit entsprechend berechneten Masken lassen sich Beträge und Kontonummern verändern, wobei der Betrug aber nur mit einer gewissen Wahrscheinlichkeit auffällt. Die Fälschung würde aber sehr ungenau ausfallen. Der Angreifer kann kein bestimmtes Zielkonto angeben und auch den verschlüsselten Text nicht lesen.

RC4 ist sicher?

Es wird davon ausgegangen, dass RC4 sicher ist. RSA-Security behauptet, der Algorithmus sei resistent gegen „differentielle und lineare Kryptoanalyse, arbeite mit großen Zyklen und sei hochgradig nichlinear“ [3]. Bisher konnte kein Verfahren von Rivest (eben RC4 auch nicht) erfolgreich geknackt werden [1].

Anwendung

RC4 wird in vielen Software-Produkten eingesetzt und wegen ihrer Einfachheit ist sie die beliebteste Stromchiffrierung.

RC4 wird in vielen Anwendungen verwendet [4]:
- TLS (Transport-Schicht-Sicherheit)
- WEP (verdrahtetes gleichwertiges Privatleben)
- WPA (Wi-Fi geschützter Zugang)
- TKIP (zeitliches Schlüsselvollständigkeit-Protokoll)
- Microsoft XBOX
- Oracle SQL
- Microsoft Office usw.



Quellen

[1]
Kryptographie – RC4
http://www.kuno-kohn.de/crypto/crypto/rc4.htm

[2]
RC4-Wikipedia
http://de.wikipedia.org/wiki/RC4

[3]
RSA security
http://www.rsasecurity.com

[4]
Anwendung RC4
http://www.tech-faq.com/lang/de/rc4.shtml

... comment

Online for 6626 days
Last update: 2007.01.03, 12:53
status
You're not logged in ... login
menu
... home
... topics
... galleries

... ::collabor:: home
search
 
calendar
Januar 2007
Mo
Di
Mi
Do
Fr
Sa
So
 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
 
 
 
 
 
recent updates
RC4 - Verschlüsselung
RC4 – Ron’s Code 4 Allgemeines über...
by Kenan.Mujkanovic.Uni-Linz (2007.01.03, 12:53)
Guter Beitrag
Lg, und einen guten Rutsch ins Neue Jahr Sonja (Tutorin)
by Sonja.Pöchtrager.Uni-Linz (2006.12.31, 11:21)
CMS – Content Management...
Content Management Systeme - Übersicht und Vergleich Definition...
by Kenan.Mujkanovic.Uni-Linz (2006.12.19, 14:04)
Basistechniken im Internet
Eröffnungsbeitrag - XML – Einige interessante...
by Kenan.Mujkanovic.Uni-Linz (2006.11.07, 21:00)

xml version of this page

made with antville