Kryptographische Algorithmen


3-Way Blowfish CA-1.1 CAST Cobra128
DES Diamond 2 Diffie-Hellman FEAL GOST
IDEA Khufu Khafre LOKI91 Lucifer
Madryga MMB NewDES PC1 RC2
RC4 RC5 REDOC II REDOC III RSA
SAFER Sapphire II SEAL WAKE  
AES-Kandidaten:
CAST 256 CRYPTON DEAL DFC E2
FROG LOKI 97 RC 6 SAFER TWOFISH





Zum Anfang
3-Way 
3-Way ist eine Blockchiffrierung, die von Joan Daemen stammt. Das Verfahren arbeitet mit einer Blocklänge und einer Schlüssellänge von 96 Bit und läßt sich sehr effizient in Hardware implementieren. 
3-Way ist kein Feistel-Netzwerk, sondern eine iterierte Blockchiffrierung. 3-Way kann mit n-Runden arbeiten; Daemen empfiehlt 11. Bisher gibt es keine erfolgreiche Kryptanalyse von 3-Way. Der Algorithmus ist nicht patentiert.
Zum Anfang
Blowfish 
Der Algorithmus wurde von Bruce Schneier entworfen. Blowfish ist ein sehr schneller Algorithmus, der besonders auf 32bit-Prozessoren eine exzellente Performance bietet. Ein weitere Vorteil ist seine variable Schlüssellänge von bis zu 448 Bits (56 Bytes). Er wurde erstmals im April 1994 in Doctor Dobb's Journal publiziert. Nach einem Jahr intensiver Cryptoanalyse war er immer noch ungebrochen (DDJ 10/95). Bis heute sind keine Schwächen bekannt. 

Download des Source-Code für Blowfish (96,6 kB)

Zum Anfang
CA-1.1 
CA ist eine Blockchiffrierung, die von Howard Gutowitz entwickelt wurde und auf zellulären Automaten beruht. Das Verfahren verschlüsselt Klartext in Blöcken der Länge 384 Bit und benutzt einen Schlüssel von 1088 Bit Länge (eigentlich zwei Schlüssel von jeweils 1024 und 64 Bit). CA-1.1 basiert auf einer Verknüpfung von Blöcken. Das bedeutet, daß die Verarbeitung des Nachrichtenblocks teilweise von der Verarbeitung des Stroms zufälliger Informationen getrennt ist, der während der Verschlüsselung eingefügt wird. Diese zufälligen Informationen verknüpfen die Verschlüsselungsstufen miteinander. Die Informationen des Verbindungsglieds werden als Teil der Verschlüsselung erzeugt. 
Da es sich bei CA-1.1 um einen neuen Algorithmus handelt, ist es für Aussagen zu seiner Sicherheit noch zu früh. Gutowitz beschreibt einige mögliche Angriffe einschließlich differentieller Kryptanalyse. Er kann den Algorithmus jedoch nicht knacken. CA-1.1 ist patentiert, steht jedoch für nichtkommerzielle Anwendungen zur freien Verfügung.
Zum Anfang
CAST 
CAST kommt aus Kanada (entwickelt von C. Adams and S. Tavares). Der Algorithmus ist schnell und auf 32bit Prozessoren optimiert. Der CAST-Algorithmus arbeitet mit einer Blockgröße von 64 Bit und Schlüsseln der Länge 64 Bit. Die Stärke des Algorithmus beruht auf seinen S-Boxen. CAST benutzt keine festen S-Boxen, sondern es werden für jede Anwendung neue konstruiert. Es wurde gezeigt, daß CAST differentieller Kryptanalyse widersteht, ebenso wurde seine Widerstandskraft gegen lineare Kryptanalyse bewiesen. Außer Brute-Force ist keine Möglichkeit zum Knacken von CAST bekannt.
Zum Anfang
Cobra128 
Dies ist ein neuer Algorithmus, entworfen von Christian Schneider. Er wurde in der Newsgroup sci.crypt.research Mitte April 1996 publiziert. Man kann Cobra128 als eine Mutation von Blowfish mit einigen interessanten und allgemein anerkannten Erweiterungstechniken ansehen. Cobra128 wurde ursprünglich als 128 Blockchiffrierer mit 24 Verschlüsselungsrunden und einer Schlüssellänge von 72 Bytes entworfen. Durch seine offene Architektur kann er jedoch auf größere oder kleiner Blocklängen erweitert bzw. verkleinert werden.
Zum Anfang
DES 
Bei DES handelt es sich um ein symmetrisches Verfahren, wobei der Algorithmus mit der sogennanten Produktverschlüsselung arbeitet, bei der als elementare Verschlüsselung Subsitutionen und Transpositionen (Permutationen) verwendet werden. Der DES-Algorithmus wurde erstmals 1974 von der US Regierung veröffentlicht und ist als ANSI-Standard normiert (ANSI X3.92-1981). Es handelt sich um einen Blockalgorithmus, welcher 64 Bits Klartext in 64 Bits Schlüsseltext und umgekehrt überführt. Die Schlüssellänge beträgt ebenfalls 64 Bit, wobei jedoch nur 56 Bit hiervon signifikant sind. DES läßt sich sowohl hardwaremässig, wie auch softwaremässig implementieren. Bei den neuesten Hardware-Implemtierungen liegen die Verschlüsselungsraten schon im Bereich GByte/s. Eingesetzt wird das DES Verfahren insbesondere in Finanz-Applikationen und kann als Quasi-Standard bezeichnet werden. Obwohl er seit nunmehr 20 Jahren einer dauerhaften Analyse ausgesetzt war wurden bis heute keine Schwächen entdeckt. Das einzige Problem ist jedoch die zu kurze Schlüssellänge von 8 Bytes (entsprechen 56 Bits). Hat man Zugriff auf schnelle Rechnersysteme, so können alle möglichen Schlüssel innerhalb weniger Stunden getestet werden. 

Zur Sicherheit von DES: 
Seit den ersten Veröffentlichungen des vorgesehenen und später auch realisierten Standards hat es im Zusammenhang mit DES Diskussionen und Kritik gegeben. So wurde z.B. verschiedentlich die Anzahl der internen Runden mit 16 als zu gering empfunden. Die Hauptangriffspunkte sind: 

  • Die Design-Kriterien der S-Boxen wurden zunächst gar nicht, später nur sehr vage bekanntgegeben. Diese für die Sicherheit zentralen Teile könnten 'Falltüren' enthalten, die den Entwicklern von DES die (unbefugte) Invertierung zumindest wesentlich erleichtern.
  • Die Schlüssellänge ist mit acht Byte relativ klein. Nach Abzug der 8 Paritätsbits verbleiben gerade noch 56 frei verfügbare Binärstellen. Es sind also nur N = 256 = 72 057 594 037 927 936 verschiedene Schlüssel wählbar (beim ursprünglichen Entwurf LUCIFER - und dieser Vergleich ist sicher naheliegend - ist die Anzahl der Schlüssel mit 2128 wesentlich größer).
  • Der Schlüssel wird jeweils für eine Verbindung gewählt und bleibt dann vergleichsweise sehr lange fest - dieser praktisch monoalphabetische Gebrauch von DES ist besonders angreifbar.
Berücksichtigt man, das der Industrie hier in Deutschland DES mit ca. zwanzigjähriger Verspätung als modernes Verfahren angeboten wird, dann kann man nur zur Vorsicht raten! 

Bei der von der Firma RSA ausgerufenen Secret-Key Challenge wurde am 17. Juni, nach einer Laufzeit von 140 Tagen, eine mit Standard-DES verschüsselte Nachricht gebrochen. Erreicht wurde dies durch eine Brute Force Attack an welcher tausende von Rechnern teilgenommen haben. Informationen hierzu finden sich unter http://www.klammeraffe.org/challenge

Am 23. Februar wurde die zweite Secret-Key Challenge DES II erfolgreich abgeschlossen. Die Laufzeit betrug diesmal lediglich 39 Tage. 

Triple-DES (3DES) erhöht die Sicherheit vom normalen DES-Verfahren, indem die Daten mit doppelter (112 Bit) oder dreifacher (168 Bit) Schlüssellänge verschlüsselt werden. Es gibt einige DES-Varianten, die den originalen Algorithmus in seiner Schlüssellänge erweitern. Der am meiste gebräuchliche davon ist Triple-DES, welcher einen 64bit-Datenblock dreimal hintereinander mit DES verschlüsselt und dabei drei verschiedene Schlüssel verwendet (bzw. einen Schlüssel, der dann in drei Teile zerlegt wird). Dadurch ergibt sich eine resultierende Schlüssellänge von 32 Bytes (168 Bits), welche die Sicherheit drastisch erhöht, jedoch auch dazu führt, daß der Algorithmus nun sehr langsam arbeitet.

Zum Anfang
Diamond 2 
Diamond 2 ist eine neue Blockchiffrierung mit einer Blockgröße von 128 Bit und einer variablen Schlüssellänge, der auf der Kombination nichtlinearer Funktionen basiert. Eine schnellere Variante von Diamond2, genannt Diamond2 Lite, verwendet eine Blockgröße von 64 Bits. Diamond 2 kann sowohl in Software als auch in Hardware implementiert werden. Zur Sicherheit von Diamond 2 kann man zur Zeit noch nicht viel sagen. 

Download des Source-Code für Diamond 2 (61,7 kB)

Zum Anfang
Diffie-Hellman 
Diffie und Hellman stellten 1976 als erste ein Public-Key-Verfahren vor, das ähnlich wie RSA zu einem Public-Private-Schlüsselpaar führt. Das Diffie- Hellman-Verfahren (DH) nutzt den Elgamal-Algorithmus, der bei gleicher Schlüssellänge genauso sicher ist wie der RSA-Algorithmus. Elgamal beruht auf der Schwierigkeit, diskrete Logarithmen über einem endlichen Körper zu berechnen. 
Zum Anfang
FEAL 
FEAL wurde 1987 von den Japanern Shimizu und Miyaguchi mit dem Ziel entworfen, DES durch einen schnelleren und mindestens ebenso sicheren Algorithmus zu ersetzen. Er ist wie DES ein Feistel-Netzwerk mit 64 Bit-Blöcken, nutzt aber einen 64 Bit-Schlüssel. FEAL-4 (FEAL mit vier Runden) ist auch wirklich deutlich schneller als DES - nur nicht sicherer. 
Mit ganzen 20 gewählten Klartexten wurde FEAL-4 1990 von Murphy mittels differentieller Kryptanalyse gebrochen. Die Entwickler antworteten mit FEAL-8. Nun zeigten Biham und Shamir, daß differentielle Kryptanalyse gegen FEAL für bis zu 32 Runden effektiver als Brute-Force ist. Die Zahl gewählter Klartexte für FEAL-4 sank auf 8 (!), für FEAL-8 betrug sie 10000, und für FEAL-16 waren noch 228 gewählte Klartexte erforderlich. Als Antwort entwarfen die Entwickler FEAL-NX, das 128-Bit-Schlüssel verwendet. Biham und Shamir zeigten, daß ihr Angriff genauso effektiv mit diesem Algorithmus funktioniert. 
Der erste bekannte Angriff mit linearer Kryptanalyse von Matsui und Yamagishi 1992 erlaubte, FEAL-4 mit fünf bekannten Klartexten zu brechen (40 Byte)! Bei FEAL-8 sind immerhin noch 32768 bekannte Klartexte notwendig. Durch sogenannte differentiell-lineare Kryptanalyse kann FEAL-8 mit inzwischen nur noch zwölf gewählten Klartexten gebrochen werden.
Zum Anfang
GOST 
Ein Algorithmus aus der früheren Sowjetunion, das Gegenstück zum DES der westlichen Welt. Obwohl er schon seit langem existiert sind bis heute keine Schwächen bekannt. Das einzig seltsame ist eine kleine Tabelle aus festen Werten (den sogenannten Substitutionsboxen, kurz: S-Boxen). Diese ist nach der Spezifikation austauschbar und könnte somit Auswirkungen auf die Sicherheit des Algorithmus haben. Man kann nun spekulieren, daß einige Instituationen in der damaligen UDSSR bessere und manche "unbedeutendere" leichter zu knackende S-Boxen verwendet haben bzw. benutzen mußten. Dies sind jedoch nur unbestätigte Gerüchte. Bemerkenswert ist auch die doppelt so hohe Rundenzahl von GOST im Vergleich zu Blowfish, was die Sicherheit entscheidend verstärkt. Die Schlüssellänge von GOST beträgt 32 Bytes (entsprechen 256 Bits) und die Blockgröße 64 Bit. 

Download des Source-Code für GOST (14,4 kB)

Zum Anfang
IDEA 
Bei IDEA handelt es sich um einen Block-orientierten konventionellen Verschlüsselungsalgorithmus. Er wurde von Xuejia Lai und James Massey entwickelt und erstmals 1990 veröffentlicht. Eine verbesserte Version erschien 1991. Das Patent wird von der Ascom Systec AG gehalten. IDEA ist als möglicher Ersatz für DES zu sehen. Es wird ebenfalls mit 64 Bit Blöcken gearbeitet, allerdings wird 128 Bit Schlüssel benutzt (bei DES nur 64 Bit bzw. 56 Bit). IDEA ist in den USA, sowie in den meisten europäischen Ländern patentiert. Die erfolgreichsten Angriffe gegen IDEA blieben bisher bereits nach 3,5 Runden stecken. Das Verfahren ist gegen differentielle Kryptanalyse optimiert; Lai vermutet, daß es schon nach vier Runden immun gegen diesen Angriff ist. Auch ein versuchter Angriff mit verwandten Schlüsseln von Biham scheiterte. 

Eine effektivere Kryptanalyse trug Philip Hawkes auf der EUROCRYPT '98 vor. Er entdeckte 265 schwache Schlüssel, bei deren Verwendung jeweils etwa 20 gewählte Klartexte ausreichen, um 72 Bit des Schlüssels zu bestimmen. Die restlichen 56 Bit ermittelt man dann per Brute Force - ein mit DES vergleichbarer Aufwand. Für einen Angreifer bedeutet das: Er kann durchschnittlich etwa aller 9 Trillionen mitgehöriger Sitzungen seine IDEA-Crack-Maschine anwerfen, um den Schlüssel zu brechen. Das klingt noch nicht sonderlich gefährlich. Trotzdem ist es keine Paranoia - die nächste Verbesserung der Kryptanalyse könnte effektiver sein. 

Einen echten Nachteil hat der Algorithmus IDEA allerdings doch: Er ist nicht skalierbar, d.h., er kann die wachsende Verarbeitungsbreite moderner Rechner nicht nutzen. Natürlich ist IDEA noch nicht so lange untersucht worden, daß auch die letzten Zweifler von seiner Sicherheit überzeugt wären. Aber öffentlich sind keine erfolgreichen Angriffe bekannt geworden, obwohl sich Kryptologen zunehmend mit IDEA beschäftigen. 

Zum Anfang
Khufu 
Dieser Algorithmus wurde 1990 von Ralph Merkle vorgestellt. Khufu ist eine 64-Bit-Blockchiffrierung. Obwohl Teile des Schlüssels am Anfang und Ende des Algorithmus mit dem zu verschlüsselnden Block XOR-verknüpft werden, ist die Erzeugung der S-Boxen die Hauptaufgabe des Schlüssels. Diese S-Boxen sind geheim und im wesentlichen Bestandteil des Schlüssels. Khufu benötigt eine gesamte Schlüssellänge von 512 Bit und enthält einen Algorithmus zur Erzeugung der S-Boxen aus dem Schlüssel. Die Anzahl der Runden für den Algorithmus ist nicht spezifiziert. Merkle schreibt, daß Khufu mit acht Runden anfällig für einen Angriff mit gewähltem Klartext ist und empfiehlt 16, 24 oder 32 Runden. 
Da Khufu mit schlüsselabhängigen und geheimen S-Boxen arbeitet, widersteht es differentieller Kryptanalyse. Es gibt einen differentiellen Angriff gegen Khufu mit 16 Runden, der den Schlüssel mit 231 gewählten Klartexten ermittelt, doch dieser Angriff läßt sich nicht auf größere Rundenzahlen erweitern. Unter der Annahme, daß Brute-Force den besten Angriff auf Khufu darstellt, ist die Sicherheit des Algorithmus beeindruckend: Die Schlüssellänge von 512 Bit ergibt die unvorstellbare Komplexität von 2512.
Zum Anfang
Khafre 
Das Schema des ebenfalls von Merkle entwickelten Algorithmus ähnelt Khufu, wurde aber für Anwendungen entwickelt, bei denen keine Zeit für Vorberechnungen zur Verfügung steht. Die S-Boxen hängen nicht vom Schlüssel ab. Khafre benutzt stattdessen feste S-Boxen. 
Merkle nahm an, daß für Khafre Schlüssellängen von 64 oder 128 Bit benutzt würden und mehr Verschlüsselungsrunden nötig seien als für Khufu. Diese Tatsache und die im Vergleich zu Khufu höhere Komplexität von Khafre in jeder Runde bewirken, daß Khafre langsamer ist. Zum Ausgleich benötigt Khafre keinerlei Vorberechnungen und verschlüsselt geringe Datenmengen schneller. 
Biham und Shamir wandten ihre Technik der differentiellen Kryptanalyse 1990 gegen Khafre an. Sie konnten Khafre mit 16 Runden mit einem chosen-plaintext-Angriff und etwa 1500 verschiedenen Verschlüsselungen brechen, was auf einem PC etwa eine Stunde dauerte. Die Umwandlung dieses Angriffs in einen known-plaintext-Angriff würde etwa 238 Verschlüsselungen benötigen. Khafre mit 24 Runden läßt sich mit einem chosen-plaintext-Angriff und 253 Verschlüsselungen knacken, ein known- plaintext-Angriff benötigt 259 Verschlüsselungen.
Zum Anfang
LOKI91 
LOKI91 stammt aus Australien und wurde als mögliche Alternative zu DES vorgestellt. Der Algorithmus arbeitet auf 64-Bit-Blöcken und benutzt einen Schlüssel der Länge 64 Bit. Der Ablauf von LOKI91 ähnelt dem von DES. 
Knudsen versuchte eine Kryptanalyse von LOKI91, fand jedoch heraus, daß der Algorithmus sicher gegen differentielle Kryptanalyse ist. Er entwickelte jedoch einen Angriff mit gewähltem Klartext und verwandten Schlüsseln, der die Komplexität einer Brute-Force-Suche fast um den Faktor vier reduzierte. Dieser Angriff macht sich eine Schwäche in der Schlüsselverwendung zunutze und funktioniert auch, wenn der Algorithmus als Einweg-Hashfunktion verwendet wird. 
Ein anderer Angriff mittels verwandten Schlüsseln knackt LOKI91 mit 232 gewählten Klartexten bei gewähltem Schlüssel oder 248 bekannten Klartexten bei gewähltem Schlüssel. Der Angriff hängt nicht von der Rundenzahl des Algorithmus ab. LOKI91 läßt sich gegen diesen Angriff schützen, indem man die einfache Schlüsselverwaltung ändert.
Zum Anfang
Lucifer 
IBM startete in den späten sechziger Jahren unter Leitung von Horst Feistel und Walt Tuchman ein Forschungsprogramm zur Computer-Kryptographie mit dem Namen Lucifer. Lucifer ist außerdem der Name eines Blockalgorithmus, der in den frühen siebziger Jahren als Resultat dieses Programms entstand. 
Lucifer besteht aus einem Geflecht von Substitutionen und Permutationen und enthält Bausteine, die in ähnlicher Form auch in DES zu finden sind. Lucifer arbeitet mit 16 Runden, Blöcken der Länge 128 Bit und einem im Vergleich zu DES einfacheren Schlüsselschema. 
Biham und Shamir zeigten mit Hilfe differentieller Kryptanalyse, daß man die erste Fassung von Lucifer (mit 32-Bit-Blöcken und acht Runden) mit 40 gewählten Klartexten in 229 Schritten knacken kann. Mit dem selben Angriff läßt sich eine Lucifer-Variante mit 128-Bit-Blöcken und acht Runden mit 60 gewählten Klartexten in 253 Schritten knacken. Ein anderer Angriff mittels differentieller Kryptanalyse knackt eine Lucifer-Variante mit 18 Runden und 128-Bit-Blöcken mit 24 gewählten Klartexten in 221 Schritten. All diese Angriffe benutzen die starken S-Boxen von DES. Durch Kryptanalyse mit verwandten Schlüsseln läßt sich Lucifer mit 128-Bit und beliebiger Rundenzahl mit 233 gewählten Klartexten bei gewähltem Schlüssel oder mit 265 bekannten Klartexten bei gewähltem Schlüssel knacken. Die zweite Fassung von Lucifer ist noch schwächer.
Zum Anfang
Madryga 
W.E. Madryga stellte diesen Blockalgorithmus 1984 vor. Er eignet sich für effiziente Software-Impletierungen, da er auf umständliche Permutationen verzichtet und alle Operationen auf Bytes arbeiten. 
Die Entwurfsziele des Algorithmus beinhalteten u.a., daß es möglich sein sollte, die Längen von Schlüssel und Text anzupassen, um unterschiedlichen Sicherheitsbedürfnissen Genüge zu tun. Geht man von Brute-Force als bester Möglichkeit zum Knacken eines Algorithmus aus, befriedigt man mit einem Schlüssel variabler Länge sicher diejenigen, denen 56 Bit zu wenig waren. Sie konnten diesen Algorithmus mit jeder gewünschten Schlüssellänge implementieren. 
Wissenschaftler an der Queensland University of Technology untersuchten Madryga zusammen mit anderen Blockchiffrierungen. Sie stellten fest, daß es bei diesem Algorithmus keinen Lawineneffekt zwischen Klartext und Chiffretext gab. Eine flüchtige Betrachtung durch Eli Biham erbrachte folgende Beobachtungen: 
  • Der Algorithmus besteht nur aus linearen Operationen, die abhängig von den Daten geringfügig modifiziert werden.
  • Es gibt kein Element, dessen Stärke den S-Boxen von DES vergleichbar wäre.
  • Die Parität aller Bits des Klartexts und des Chiffretexts ist konstant und hängt nur vom Schlüssel ab. Wenn man also einen Klartext und den zugehörigen Chiffretext kennt, kann man für jeden Klartext die Parität des Chiffretexts vorhersagen.
Diese Punkte sind zwar für sich genommen nicht gravierend, dennoch hat er bei diesem Algorithmus kein gutes Gefühl.
Zum Anfang
MMB 
Der Nachteil von IDEA, daß er mit 64-Bit-Blöcken zur Verschlüsselung arbeitet, wurde von Joan Daemen mit dem Algorithmus MMB (Modular Multiplication-based Block Cipher) behoben. MMB beruht auf der gleichen Theorie wie IDEA, nämlich der Mischung von Operationen aus verschiedenen algebraischen Gruppen. MMB ist ein iterativer Algorithmus, der hauptsächlich aus linearen Schritten (XOR und Schlüsselanwendungen) besteht sowie der parallelen Anwendung von vier großen nichtlinearen invertierbaren Substitutionen. Die Substitutionen werden durch eine Multiplikation modulo 232 - 1 mit konstanten Faktoren bestimmt. Dies liefert einen Algorithmus, bei dem sowohl die Schlüssellänge als auch die Blockgröße jeweils 128 Bit betragen. 
Das Design von MMB garantiert, daß jede Runde unabhängig vom Schlüssel eine ausreichende Diffusion bewirkt. MMB wurde außerdem so entworfen, daß es im Gegensatz zu IDEA keine schwachen Schlüssel gibt. 
MMB hat aus verschiedenen Gründen ausgedient, obwohl keine Kryptanalyse veröffentlicht wurde. Zunächst wurde der Algorithmus nicht mit dem Ziel der Widerstandsfähigkeit gegen lineare Kryptanalyse entwickelt. Die Multiplikationsfaktoren wurden zwar so gewählt, daß sie Schutz vor differentieller Kryptanalyse bieten, doch die Entwickler kannten die lineare Kryptanalyse noch nicht. 
Zweitens entwickelte Eli Biham einen wirksamen Angriff mit gewähltem Schlüssel. Er nutzt die Tatsache, daß alle Runden identisch sind und daß die Schlüsselverwaltung nur aus einer zyklischen Verschiebung um 32 Bit besteht. 

Download des Source-Code für MMB (5,77 kB)

Zum Anfang
NewDES 
NewDES wurde 1985 von Robert Scott als möglicher Nachfolger von DES entwickelt. Der Algorithmus ist keine Variante von DES, obwohl sein Name diese Vermutung nahelegt. Er arbeitet auf 64 Bit großen Blöcken des Klartexts, benutzt aber eine Schlüssellänge von 120 Bit. NewDES ist einfacher als DES und verzichtet auf die Eingangs- und Schlußpermutationen. Alle Operationen arbeiten auf ganzen Bytes. 
Scott zeigte, daß nach nur sieben Runden jedes Bit des Klartextblocks jedes Bit des Chiffretextblocks beeinflußt. NewDES unterliegt der gleichen Komplementär- eigenschaften wie DES: Für EK(P) = C gilt EK'(P') = C'. Diese Eigenschaft vermindert den Aufwand für einen Brute-Force-Angriff von 2120 auf 2119 Schritte. Biham bemerkte, daß jede ein vollständiges Byte betreffende Änderung, die auf alle Bytes des Schlüssels und der Daten angewandt wird, eine andere Komplementäreigenschaft zur Folge hat. Dies reduziert einen Brute-Force-Angriff weiter auf 2112 Schritte. 
Damit ist der Algorithmus zwar noch nicht ganz abgeschrieben, doch Bihams kryptanalytischer Angriff mit verwandten Schlüsseln kann NewDES mit 233 gewählten Klartexten bei gewählten Schlüsseln in 248 Schritten knacken. Dieser Angriff ist zwar zeitaufwendig und großteils theoretisch, zeigt aber, daß NewDES schwächer als DES ist. 

Download des Source-Code für NewDES (8,43 kB)

Zum Anfang
PC1 
Dieser Algorithmus ist 100% kompatibel zu RC4. PC1 ist ein Stromverschlüsseler, welcher Bytes einzeln verschlüsseln kann.
Zum Anfang
RC2 
RC2 ist ein Verschlüsselungsalgorithmus mit variabler Schlüssellänge, der von Ron Rivest für RSA Data Security, Inc. (RSADSI) entwickelt wurde. RC2 ist eine 64-Bit-Blockchiffrierung, die als Ersatz für DES entwickelt wurde. Laut Entwicklerfirma sind Software-Implementierungen von RC2 dreimal so schnell wie DES. Der Algorithmus benutzt einen Schlüssel variabler Länge, die von 0 Byte bis zu maximalen String-Länge des Computers reichen kann. Die Geschwindigkeit der Verschlüsselung hängt nicht von der Schlüssellänge ab. Aus dem Schlüssel wird vorab eine schlüsselabhängige Tabelle mit 128 Byte berechnet. Die effektive Anzahl der verschiedenen Schlüssel beträgt damit 21024. RC2 benutzt keine S-Boxen. Die beiden benutzten Operationen heißen "mix" und "mash". Aufgrund einer Vereinbarung zwischen der Software Publishers Association und der amerikanischen Regierung erhielten RC2 und RC4 besonderen Exportstatus unter der Voraussetzung, daß die Schlüssellänge nicht mehr als 40 Bit beträgt. 
Zum Anfang
RC4 
RC4 wurde 1987 von RSA Data Security, Inc. entwickelt, wobei das Design des Algorithmus jedoch geheimgehalten wird. 1994 jedoch tauchte ein Posting im Usenet auf, in welchem ein (wie behauptet wurde) aquivalenter Quellecode vorgestellt wurde. Es wird als sehr wahrscheinlich angenommen, daß der vorgestellte Algorithmus wirklich aquivalent zu RC4 ist. 
Im Unterschied zum Blockalgorithmus RC5 ist RC4 eine typische Stromchiffrierung: In Abhängigkeit von einem Schlüssel variabler Länge wird eine Bytefolge erzeugt, die man als individuellen Schlüssel (One Time Pad) nutzt. Der Geheimtext ergibt sich also durch einfache byteweise XOR-Verknüpfung der Schlüsselbytefolge mit dem Klartext, die Umkehrung arbeitet ebenso. 
Das Verfahren ist tatsächlich erstaunlich einfach und extrem leicht zu programmieren. RC4 ist wirklich simpel und clever entworfen. Nach Aussagen der Firma RSADSI gibt es keine Angriffe mit differentieller oder linearer Kryptanalyse. Mehr ist anscheinend nicht bekannt. Allerdings ist RC4 als Stromchiffrierung empfindlich gegenüber einem Angriff durch Einfügen. Solange ein Softwarepaket RC4 ohne einen Initialisierungsvektor verwendet, ist die Benutzung dieser Software gefährlich, so gut RC4 auch sein mag! 

Download des Source-Code für RC4 (7,69 kB) 

Zum Anfang
RC5 
RC5 wurde von Ron Rivest für RSA Data Security, Inc. entwickelt (April 1995). RC5 ist ein Blockverschlüsselungsalgorithmus und wurde als möglicher Nachfolger von DES gedacht. Im Gegensatz zu DES bietet RC5 eine variable Schlüssel-, Wortlänge und eine variable Anzahl von Durchläufen. RC5 ist sowohl für Software wie auch Hardware Implementierungen geeignet. 

Bei der von der Firma RSA ausgerufenen Secret-Key Challenge soll weltweit eine Brute Force Attack auf RC5 mit zwölf unterschiedlichen Schlüssellängen ausgeführt werden. Weitere Informationen hierzu finden sich unter The Bovine RC5 Cracking Effort Headquarters.  

Der Schlüssel von RC5-48 wurde am 10.02.1997 gefunden, nachdem in 13 Tagen etwa 30% des gesamten Schlüsselraums durchsucht wurde. 

Der Schlüssel von RC5-56 wurde am 19.10.1997 gefunden, nachdem in gut 200 Tagen 49.1% des gesamten Schlüsselraums durchsucht wurde.  

Weiter gehts jetzt mit dem RC5-64 ... 

Download des Source-Code für RC5 (35,7 kB)

Zum Anfang
REDOC II 
REDOC II ist ein weiterer Blockalgorithmus und wurde von Michael Wood für Cryptech, Inc. entwickelt. Er arbeitet mit einem 20 Byte (160 Bit) langen Schlüssel und einer Blocklänge von 80 Bit. 
REDOC II führt alle Operationen (Permutationen, Substitutionen und XOR - Verknüpfungen mit dem Schlüssel) auf Bytes aus. REDOC II benutzt variable Funktionstabellen. Im Gegensatz zu DES, bei dem sich die Permutations- und Substitutionstabellen nicht ändern, arbeitet REDOC II mit Tabellen (S-Boxen), die von Schlüssel und Klartext abhängen. REDOC II hat zehn Runden, von denen jede aus einer komplizierten Folge von Blockmanipulationen besteht. 
Wenn man davon ausgeht, daß ein Brute-Force-Angriff den effizientesten Angriff darstellt, dann ist REDOC II sehr sicher - zur Aufdeckung des Schlüssels sind 2160 Operationen erforderlich. Thomas Cusick kryptanalysierte eine Runde von REDOC II, konnte den Angriff jedoch nicht auf mehrere Runden erweitern. Biham und Shamir setzten differentielle Kryptanalyse erfolgreich gegen eine Runde von REDOC II mit 2300 gewählten Klartexten ein. Der Angriff läßt sich zwar nicht auf mehrere Runden ausdehnen, sie waren jedoch in der Lage, nach vier Runden die Werte dreier Masken zu ermitteln. Weitere Kryptanalysen sind mir bisher nicht bekannt. 

Download des Source-Code für REDOC (6,11 kB)

Zum Anfang
REDOC III 
REDOC III ist eine verbesserte Version von REDOC II, die ebenfalls von Michael Wood entwickelt wurde. Dieser Algorithmus arbeitet mit einer Blocklänge von 80 Bit. Die Schlüssellänge ist variabel und kann bis auf 2560 Byte (20480 Bit) ausgedehnt werden. Der Algorithmus besteht nur aus XOR-Verknüpfungen von Schlüsselbytes mit Nachrichtenbytes; es gibt weder Permutationen noch Substitutionen. 
Dieser Algorithmus ist einfach und schnell. Allerdings ist REDOC III nicht sicher - er ist anfällig für differentielle Kryptanalyse. Es sind dafür nur etwa 223 gewählte Klartexte erforderlich. 

Download des Source-Code für REDOC (6,11 kB)

Zum Anfang
RSA 
RSA ist ein 1977 von Rivest, Shamir und Adleman vorgestellter Algorithmus, der unter anderem in PGP zur asymetrischen Verschlüsselung verwendet wird. Die Schlüssel entstehen dabei durch Multiplikation zweier Primzahlen mit mehreren hundert Stellen. Die hohe Sicherheit von RSA beruht darauf, daß es erheblich aufwendiger ist, aus dem Ergebnis wieder die ursprünglichen Primzahlen zu ermitteln. Kritisch für die Sicherheit einer RSA-Verschlüsselung ist die Länge des verwendeten Schlüssels. 
Problematisch bei RSA ist, daß die Ver- bzw. Entschlüsselung ungleich länger dauert als etwa bei den Algorithmen DES und IDEA. Aus diesem Grund setzen die meisten Public-Key-Produkte auf zwei Algorithmen: Zum Kodieren wird z.B. IDEA verwendet, der dabei benutzte Schlüssel wird anschließend mit RSA kodiert und (in kodierter Form) mit der Nachricht übertragen.
Zum Anfang
SAFER 
SAFER steht für "Secure And Fast Encryption Routine". James Massey entwarf diesen nicht patentierten Algorithmus für die Cylink Corp. Der Algorithmus arbeitet mit einer Blockgröße und einer Schlüssellänge von 64 Bit. Im Gegensatz zu DES handelt es sich nicht um ein Feistel- Netzwerk, sondern um eine iterierte Blockchiffrierung. Dieselbe Funktion wird über eine bestimmte Anzahl von Runden immer wieder angewandt. Jede Runde benutzt zwei 64-Bit-Teilschlüssel. Der Algorithmus arbeitet nur mit Byte-orientierten Operationen. 
Massey zeigte, daß SAFER K-64 nach acht Runden immun gegen differentielle Kryptanalyse ist und bereits nach sechs Runden angemessenen Schutz vor diesem Angriff bietet. Lineare Kryptanalyse gegen diesen Algorithmus ist nach nur drei Runden bereits wirkungslos. 
Knudsen entdeckte einen Schwachpunkt der Schlüsselverwaltung: Für fast jeden Schlüssel existiert mindestens ein anderer Schlüssel, der bestimmte unterschiedliche Klartexte in identische Chiffretexte verschlüsselt. Dies hat zwar keinen Einfluß auf die Sicherheit von SAFER als Verschlüsselungsalgorithmus, vermindert jedoch seine Sicherheit beim Einsatz als Einweg-Hashfunktion. Knudsen empfiehlt in jedem Fall mindestens acht Runden. 
SAFER wurde für die Firma CYLINK entworfen, die mit der NSA unter einer Decke steckt. Man kann nur eine mehrjährige intensive Kryptanalyse vor dem Einsatz von SAFER in irgeneiner Form empfehlen.
Zum Anfang
Sapphire II 
Sapphire II ist eine neue Stromchiffrierung mit einer variablen Schlüssellänge. Die Stromchiffre Sapphire II ist ein recht schneller, kompakter, beweglicher Algorithmus, der zur Verschlüsselung, Authentisierung und Erzeugung zufälliger Zahlen (pseudorandom number generator) benutzt werden kann. Weil es eine verhältnismäßig neue Stromchiffre ist, wird Vorsicht und weitere Studien empfohlen, bevor man sie in kritischen Sicherheits-Anwendungen verwendet. 

Download des Source-Code für Sapphire II (53,7 kB)

Zum Anfang
SEAL 
SEAL ist wie RC5 ein junger Algorithmus - er wurde 1994 von Rogaway und Coppersmith vorgestellt. SEAL ist eine Stromchiffrierung, d.h., aus einem Schlüssel wird eine geheime Schlüsselfolge berechnet und mit dem Geheimtext per XOR verknüpft. SEAL ist sehr gut für die Verschlüsselung ganzer Festplatten geeignet. Im Unterschied zu anderen Stromchiffrierungen lassen sich SEAL-chiffrierte Nachrichten auch über Kanäle verschicken, die ab und zu Daten verschlucken - es gibt kein Synchronisationsproblem. 
Allerdings ist SEAL von IBM patentiert und wurde auch noch nicht öffentlich kryptanalysiert. Wenn jedoch Coppersmith einen Algorithmus entwirft, dann kann man davon ausgehen, daß er gut durchdacht ist. 

Download des Source-Code für SEAL (3,78 kB)

Zum Anfang
WAKE 
WAKE steht für 'Word Auto Key Encryption Algorithm' und wurde von David Wheeler erfunden. Der Algorithmus erzeugt einen Strom von 32-Bit-Wörtern, die mit dem Klartext XOR-verknüpft werden können, um den Chiffretext zu erhalten, oder mit dem Chiffretext, um den Klartext zu erhalten. WAKE ist schnell. 
WAKE arbeitet im CFB-Modus; das vorherige Chiffretextwort wird benutzt, um das nächste Schlüsselwort zu generieren. WAKE benutzt eine S-Box mit 256 Einträgen der Größe 32 Bit. 
Der größte Vorteil von WAKE ist seine Geschwindigkeit. Der Algorithmus ist jedoch anfällig für einen chosen-plaintext- oder chosen-ciphertext-Angriff.
Zum Anfang
CAST-256 
CAST-256 wird von der kanadischen Firma Entrust Technologies, Inc. von Carlisle Adams entwickelt. Der Algorithmus arbeitet mit einer Blockgröße von 128 Bit und Schlüsseln der Länge 256 Bit. 
Zum Anfang
CRYPTON 
CRYPTON wird derzeit von Future Systems, Inc. entwickelt und ist ein Algorithmus mit einer Blockgröße von 128 Bit, einer Schlüssellänge von 256 Bit und 12 Runden. CRYPTON soll angeblich eine hohe Sicherheit gegen existierende Angriffe wie die differentielle und lineare Kryptanalyse besitzen. 

Download des Source-Code für CRYPTON (633 kB - in C) 

Zum Anfang
DEAL 
DEAL (Data Encryption Algorithm with Large blocks) wird von Richard Outerbridge und Lars Knudsen entwickelt. Der Algorithmus arbeiet mit einer Blockgröße von 128 Bit und einer variablen Schlüssellänge von 128, 192 und 256 Bit. 
Zum Anfang
DFC 
Das Laboratory of Computer Sciences der Ecole Normale Supérieure haben in Zusammenarbeit mit der France Telecom DFC (Decorrelated Fast Cipher) entwickelt. 
Zum Anfang
E2 
E2 (Efficient Encryption algorithm) wird von der NTT - Nippon Telegraph and Telephone Corporation entwickelt und ist eine Blockchiffrierung mit einer Blockgröße von 128 Bit und einer variablen Schlüssellänge von 128, 192 oder 256 Bit. 
Zum Anfang
FROG 
FROG wird von der TecApro Internacional S.A. entwickelt und ist ein etwas unkonventioneller Entwurf. Er besitzt eine variable Blockgröße von 64 bis 1024 Bit und eine variable Schlüssellänge von 40 bis 1000 Bit in 8-Bit Schritten. 

Download des Source-Code für FROG (24,2 kB - in C) 

Zum Anfang
LOKI97 
LOKI97 ist eine Weiterentwicklung von LOKI89 und 91 und wird von Lawrie Brown, Josef Pieprzyk und Jennifer Seberry entwickelt. LOKI97 ist eine Blockchiffrierung mit 16 Runden, einer Blockgröße von 128 Bit und einer variablen Schlüssellänge von 128, 192 oder 256 Bit. 

Download des Source-Code für LOKI97 (17,7 kB - in C) 

Zum Anfang
RC6 
RC6 ist eine Weiterentwicklung des RC5-Algorithmus von Ron Rivest (RSA Laboratories). Er besitzt eine Blockgröße von 128 Bit und eine variable Schlüssellänge von 128, 192 oder 256 Bit. 
Zum Anfang
SAFER+ 
SAFER+ ist die Weiterentwicklung von SAFER (Secure and Fast Encryption Routine) von Cylink Corporation. Der Algorithmus besitzt eine Blockgröße von 128 Bit und eine variable Schlüssellänge von 128, 192 oder 256 Bit. 
Zum Anfang
Twofish 
Twofish ist wie Blowfish eine Entwicklung von Counterpane Systems und damit Bruce Schneier. Der Algorithmus besitzt eine Blockgröße von 128 Bit, eine variable Schlüssellänge von 128, 192 oder 256 Bit und soll noch schneller als Blowfish sein. 

Download des Source-Code für Twofish (80,7 kB - in C)