Verschlüsselungsverfahren

netplanet Werbung

Nahezu alle gängigen Verschlüsselungssysteme basieren auf drei grundlegenden Verschlüsselungsverfahren. Das Wissen über diese drei Verfahren und deren Arbeitsweise ist wichtig, um überhaupt die Nützlichkeit eines Verschlüsselungssystems grundlegend beurteilen zu können.

Verschlüsselungsverfahren

Verschlüsselungsverfahren lassen sich in drei Gruppen einteilen: Symmetrische, asymmetrische und hybride Verschlüsselungsverfahren:

Symmetrische Verschlüsselungsverfahren

Symmetrische Verschlüsselungsverfahren arbeiten mit einem einzigen Schlüssel, welcher der ver- und entschlüsselnden Seite bekannt sein muss (deshalb nennt man sie auch Secret-Key-Verfahren). Dieser Schlüssel wird sowohl für die Ver-, als auch für die Entschlüsselung genutzt, weshalb symmetrische Verschlüsselungsverfahren für gewöhnlich auch sehr schnell und effizient arbeiten. Da diese Art der Verschlüsselung der klassischen Verschlüsselung entspricht, spricht man häufig auch von "herkömmlicher" Verschlüsselung.

Symmetrische Verschlüsselung

Symmetrische Verschlüsselungsverfahren bieten bei entsprechender Schlüssellänge ein hohes Maß an Sicherheit, wenn der Schlüssel beim Absender und Empfänger bereits bekannt ist oder die Schlüsselübergabe zwischen Absender und Empfänger sicher erfolgt (zum Beispiel durch persönliche Übergabe). Zudem bietet ein symmetrischer Schlüssel auch die Möglichkeit, einer ganzen Gruppe die sichere Kommunikation zu ermöglichen, wenn jedes Mitglied dieser Gruppe im Besitz des Schlüssels ist.

Symmetrische Verschlüsselungsverfahren sind sehr verbreitet, da sie von Hause aus sehr schnell und effizient sind und auch bei starker Verschlüsselung einen schnellen Durchsatz bieten. Ein Anwendungsgebiet  ist zum Beispiel Pay-TV. Hier wird das Fernsehsignal durch den Anbieter verschlüsselt gesendet und Kunden können dieses Fernsehsignal wieder entschlüsseln, wenn sie den passenden Schlüssel besitzen. Dazu abonnieren sie das Fernsehprogramm und erhalten den elektronischen Schlüssel per Chipkarte, den sie in ihren Decoder stecken können.

Das Problem, dass Pay-TV von vielen "Schwarzsehern" illegal entschlüsselt und kostenlos geschaut wird, beruht auf den Schwachpunkt der Vertraulichkeit bei symmetrischen Verschlüsselungsverfahren: Jeder, der den elektronischen Schlüssel besitzt, kann die damit verschlüsselte Nachricht entschlüsseln. Das kann der Abonnent sein, eben aber auch der Schwarzseher, der den elektronischen Schlüssel von einem Abonnenten erhalten hat, in dem dieser von seiner Chipkarte eine Kopie angefertigt hat.

Die Antwort des Anbieters ist, den Schlüssel häufig zu wechseln. Damit nicht bei jedem Schlüsselwechsel an alle Abonnenten eine neue Chipkarte geschickt werden muss, wird der Schlüssel während dem laufenden Betrieb gewechselt und auf dem gleichen Wege wie das Fernsehsignal an die Empfangsgeräte gesendet, die diesen Schlüssel dann auf der Chipkarte hinterlegen.

Aber auch hier zeigt sich ein eklatantes und grundsätzliches Problem, denn ja auch die Schwarzseher bekommen diese Schlüsseländerungen mit, da die Vertrauenskette bereits mit dem Kopieren eines früheren Schlüssels gebrochen ist. Die derzeitige Abhilfe ist, die Schlüssel derart gut auf einer Chipkarte unterzubringen, dass er nicht ohne Zerstörung der Karte extrahiert werden kann. Gleichzeitig ist der Schlüssel extrem lang, so dass eine manuelle Suche nach dem richtigen Schlüssel aufgrund der vielen theoretisch möglichen Varianten einer wahren Suche einer Nadel im Heuhaufen gleicht.

Bekannte symmetrische Verschlüsselungsalgorithmen

Diese Auflistung beschränkt sich auf die bekanntesten symmetrischen Verschlüsselungsalgorithmen und stellt mit Sicherheit keine allumfassende Übersicht dar:

  • DES (Digital Encryption Standard)
    DES wurde Mitte der siebziger Jahre des 20. Jahrhunderts von IBM im Rahmen einer öffentlichen Ausschreibung des National Bureau of Standards (NBS) der USA vorgestellt und eingereicht. DES basiert auf dem Verschlüsselungsalgorithmus Lucifer, der einige Jahre zuvor von IBM entwickelt, aber einschneidend verändert wurde. Unter anderem wurde die ursprüngliche Schlüssellänge von 128 auf 64 Bit gekürzt, die effektiv aber nur 56 Bit beträgt, da 8 Bit zu Prüfzwecken benötigt werden. Die große Schwäche ist bei DES deshalb die zu kurze Schlüssellänge, die verschlüsselte Nachrichten angreifbar für Brute-Force-Attacken machen, also Angriffen, bei denen alle möglichen Schlüsselkombinationen systematisch ausprobiert werden. Mit heutiger Computertechnik ist dies inzwischen innerhalb weniger Stunden möglich.
  • 3DES (Triple DES)
    3DES stellt eine Verbesserung von DES dar, in dem vom Prinzip her der DES-Algorithmus dreimal angewendet wird; zunächst mit dem ersten Schlüssel chiffriert, danach mit dem zweiten dechiffriert und zuletzt noch einmal mit dem ersten chiffriert. Damit verdoppelt sich die Schlüssellänge auf 128 Bit, von denen 3 mal 8 Bit wiederum für Prüfzwecke benötigt werden. Effektiv beträgt die Schlüssellänge also 112 Bit. Zwar gilt diese Schlüssellänge als stark und 3DES derzeit als sicher, durch die dreimalige Anwendung des DES-Algorithmus ist 3DES jedoch nicht sehr performant. In der Zwischenzeit wird von der NSA jedoch offiziell AES als Ersatz empfohlen, da hier größere Schlüssellängen unterstützt werden.
  • IDEA (International Data Encryption Algorithm)
    Entwickelt im Jahre 1990 von James L. Massey und Xueija Lai an der Eidgenössischen Technischen Hochschule Zürich. IDEA arbeitet blockchiffrierend und mit einer Schlüssellänge von 128 Bit, zudem arbeitet es schneller als DES. Da es außerhalb der USA entwickelt wurde, wird es vornehmlich in "politisch kritischen" Umfeldern genutzt. IDEA ist innerhalb Europas durch das schweizerische Unternehmen Ascom patentiert, wobei eine nicht-kommerzielle Nutzung lizenzfrei ist, wenn diese durch eine frei verfügbare Software geschieht.
  • CAST ("Carlisle Adams - Stafford Tavares")
    CAST wurde von Carlisle Adams und Stafford Tavares Mitte der neunziger Jahre des 20. Jahrhunderts entwickelt und 1996 zum Patent angemeldet. CAST arbeitet ebenfalls blockchiffrierend und mit Schlüssellängen von 40 bis 128 Bit. Da CAST erheblich schneller arbeitet als DES und 3DES, ist es besonders für zeitkritische Verschlüsselungsanwendungen geeignet.
  • RC4 (Ron's Cipher 4)
    RC4 wurde von Ronald L. Rivest, einem Gründer von RSA Security, 1987 entwickelt. RC4 arbeitet stromchiffrierend und mit variablen Schlüssellängen bis 2.048 Bit. Da es auf einem verhältnismäßig einfachen und effizienten Algorithmus basiert, ist es ebenfalls für zeitkritische Anwendungen geeignet.
  • RC5, RC5a, RC6 (Ron's Cipher 5 bzw. 5a bzw. 6)
    RC5, RC5a und RC6 sind keine direkten Weiterentwicklungen von RC4, sondern stellen eigene, unabhängige Entwicklungen dar, die von Ronald L. Rivest stammen. Alle Verfahren arbeiten blockchiffrierend mit variablen Schlüssellängen und sind von US-Patenten geschützt. RC5 wurde 1995 vorgestellt, RC5a stellt eine Verbesserung von RC5 dar. RC6 ist ebenfalls eine Weiterentwicklung von RC5 und war ein AES-Kandidat.
  • A5
    Das Verfahren A5 ist ein stromchiffrierender Verschlüsselungsalgorithmus, der mit einer Schlüssellänge von 64 Bit arbeitet. A5 besitzt eine gewisse Berühmtheit, da es im GSM-Standard für die Verschlüsselung genutzt wird und der Verschlüsselungsalgorithmus in der Vergangenheit bereits gebrochen wurde.
  • Blowfish
    Der Sicherheitsexperte Bruce Schneier entwickelte Blowfish 1993 und stellte den blockchiffrierenden Algorithmus im April 1994 erstmals vor. Blowfish arbeitet mit variablen Schlüssellängen von 32 bis 448 Bit. Da Blowfish patentfrei ist, ist es besonders im nicht-kommerziellen Umfeld und in Open-Source-Software beliebt.
  • Twofish
    Twofish wurde von Bruce Schneier mitentwickelt und gilt als Nachfolger von Blowfish. Es arbeitet ebenfalls blockchiffrierend mit Schlüssellängen von 128, 192 oder 256 Bit. Twofish wurde als Kandidat für den AES-Wettbewerb (siehe Rijndael) ins Rennen geschickt und erreichte neben den Verfahren Rijndael und Serpent die Runde der letzten drei.
  • Rijndael oder AES (Advanced Encryption Standard)
    Der Verschlüsselungsalgorithmus Rijndael wurde von den Belgiern Joan Daemen und Vincent Rijmen entwickelt, aus deren Nachnamen das Kunstwort "Rijndael" für den Algorithmus entstand. Es wurde für einen Wettbewerb des US-amerikanischen National Institute of Standards and Technology (NIST), dem Nachfolger des NBS, entwickelt und ging nach zweijähriger Prüfung im Oktober 2000 als Sieger hervor. Seitdem wird Rijndael auch als AES bezeichnet. Rijndael arbeitet ebenfalls blockchiffrierend und mit variablen Schlüssellängen von 128, 192 oder 256 Bit und hebt sich besonders bei der Performanz hervor, da es eine sehr kompakte Codebasis besitzt.

Asymmetrische Verschlüsselungsverfahren

Asymmetrische Verschlüsselungsverfahren arbeiten mit so genannten Keypairs ("Schlüsselpaare"), bestehend aus einem Public Key ("Öffentlicher Schlüssel") und einem Private Key ("Privater Schlüssel"). Dieses Schlüsselpaar hängt mathematisch so miteinander zusammen, dass mit dem Public Key verschlüsselte Nachrichten nur noch mit dem dazugehörigen Private Key entschlüsselt werden können.

Asymmetrische Verschlüsselung

Damit eine Nachricht sicher von A nach B transportiert werden kann, benötigt der Absender den Public Key des Empfängers, mit dem er die Nachricht verschlüsselt. Die Verschlüsselung mit dem Public Key ist hierbei eine Einbahnstrasse; mit ihm lässt sich die einmal verschlüsselte Nachricht nicht mehr entschlüsseln. Diese Kryptografie lässt sich nun nur noch mit dem Private Key des Keypairs entschlüsseln, der nur im Besitz des Schlüsselbesitzers sein darf. Allein aus dem Public Key ist nicht der Private Key erzeugbar, es handelt sich tatsächlich um zwei Schlüsselbestandteile, von denen der eine Teil nicht durch den anderen Teil konstruiert werden.

Technisch wird dies mit so genannten Einwegfunktionen realisiert:

Exkurs: Einwegfunktionen

Einwegfunktionen sind Funktionen, die eine Information derart verschlüsseln sollen, so dass sie ohne zusätzliche Hinweise nur noch sehr schwer eindeutig zu entschlüsseln sind. Vergleichen können wir Einwegfunktionen mit einem Postbriefkasten. Sie als Briefkunde können einen Brief in den Briefkasten einwerfen, sie kommen jedoch, wenn er einmal eingeworfen ist, nicht mehr an den Brief heran (außer, Sie würden den Briefkasten gewaltsam aufbrechen). Lediglich der Postabholer hat mit dem Schlüssel des Postbriefkastens die Möglichkeit, diesen zu leeren und die Briefe zum Briefverteilzentrum zu bringen. (Diese Abholung wäre eine so genannte Umkehrfunktion, dazu kommen wir gleich.)

Neben dem Anwendungszweck in asymmetrischen Verschlüsselungsverfahren werden Einwegfunktionen beispielsweise auch in Umfeldern genutzt, in denen Passwörter sicher abgelegt werden sollen und es zur Authentifizierung nicht im Klartext vorliegen soll. Ein Ergebnis einer sehr einfachen Einwegfunktion kann beispielsweise die Zahl 12 sein. Wenn als einzige Regel dieser Funktion gilt, dass das Ergebnis durch eine Multiplikation ganzer Zahlen entsteht, gibt es folgende Möglichkeiten, das Ergebnis 12 zu erhalten:

1 mal 12 oder 2 mal 6 oder 3 mal 4

Der Multiplikand und der Multiplikator können also entweder 1, 2, 3, 4, 6 oder 12 lauten. Ohne den jeweils anderen Faktor ist jedoch ein Faktor nicht eindeutig ermittelbar. Sprich: Wir kennen das Ergebnis, wir kennen die Funktion zur Berechnung des Ergebnisses, wir können jedoch nicht genau sagen, wie die Faktoren lauten, die zum Ergebnis führen. Ein solcher Faktor in unserem (zugegeben recht trivialen und nicht sehr sicheren) Beispiel könnte nun das Passwort sein, das wir verschlüsseln möchten, mehr wissen wir jedoch nicht und könnten dies als Unwissender nur durch Ausprobieren herausfinden.

Um an das Passwort zu kommen, das demnach ein Faktor ist, ist es erforderlich, den anderen Faktor zu kennen. Wenn nun diesen geheim zu haltenden Faktor nur der gewünschte Empfänger der verschlüsselten Nachricht ist, kann er anhand einer so genannten Umkehrfunktion den fehlenden Faktor problemlos ermitteln. Wüssten wir als einen Faktor beispielsweise die Zahl 6, so wüssten wir, dass der andere Faktor die 2 sein muss.

Einwegfunktionen werden nicht nur in asymmetrischen Verschlüsselungsverfahren verwendet, sondern sind auch die Basis für so genannte Hash-Verfahren (siehe weiter unten), die ebenfalls eine wichtige Rolle in der Kryptografie spielen, vor allem in der Elektronischen Signatur.

Die Schlüssellängen von symmetrischen und asymmetrischen Verschlüsselungsverfahren haben übrigens keinerlei Zusammenhang. Während bei symmetrischen Verfahren eine Schlüssellänge von 128 Bit als derzeit ausreichend angesehen wird, ist eine Äquivalenz dieser Schlüssellänge bei asymmetrischen Verfahren bei ungefähr 3.000 Bit. Grundsätzlich gilt bei allen Verschlüsselungsformen immer die Grundregel: Je größer der Schlüssel, desto besser. Die unterschiedlichen Schlüssellängen zwischen symmetrischen und asymmetrischen Verfahren resultieren aber einzig und allein auf die verschiedene Arbeitsweise beider Architekturen.

Bekannte asymmetrische Verschlüsselungsalgorithmen

  • Diffie-Hellman
    Diffie-Hellman wurde von Whitfield Diffie und Martin Hellman 1976 an der University Stanford in Kalifornien entwickelt und stellte damals den ersten öffentlichen Algorithmus dar, der asymmetrisch verschlüsselte. (Später stellte sich heraus, dass in Großbritannien offenbar bereits in den sechziger Jahren des 20. Jahrhunderts ähnliche Forschungen betrieben, aber jedoch aus Geheimhaltungsgründen damals nicht veröffentlicht wurden.)
  • RSA (Rivest - Shamir - Adleman)
    RSA ist der bekannteste asymmetrische Verschlüsselungsalgorithmus und wurde 1977 von den Mathematikern Ronald Rivest, Adi Shamir und Leonard Adleman entwickelt. Ursprünglich wollten sie mit ihrer Arbeit die Thesen von Whitfield Diffie, Martin Hellman und Ralph Merkle widerlegen, die ihren Algorithmus ein Jahr zuvor veröffentlicht hatten. Aus ihren Ergebnissen entwickelten sie ihren Algorithmus RSA heraus. RSA wurde von den Entwicklern in den USA patentiert und exklusiv an das Unternehmen RSA Data Security Inc. lizenziert, das ursprünglich einmal den Entwicklern gehörte, inzwischen aber privatwirtschaftlich eigenständig operiert. Das Patent ist inzwischen im September 2000 ausgelaufen.
  • ElGamal
    ElGamal wurde 1985 von Taher Elgamal (der Buchstabe "g" in seinem Name wird, im Gegensatz zum Namen des Algorithmus, klein geschrieben) entwickelt. ElGamal besitzt gewisse Ähnlichkeiten mit dem Diffie-Hellman- Algorithmus, was die Patentinhaber von Diffie-Hellman zu der Meinung führte, dass der ElGamal-Algorithmus gegen das Diffie-Hellman-Patent verstoße. ElGamal erreichte nie eine ähnlich starke Verbreitung wie Diffie-Hellman oder RSA, da es sehr große Chiffren erzeugte. Es ist jedoch gerade wegen seiner "alternativen" Entstehungsweise in Open-Source-Projekten beliebt, beispielsweise in GnuPG.

Der umgekehrte Weg des Public-Key-Verfahren bietet mit RSA die Möglichkeit der elektronischen Signatur (siehe auch Elektronische Signaturen). Die Eigenschaft des Public-Key-Verfahrens, in beide Richtungen zu funktionieren, macht man sich in Verschlüsselungssystemen zunutze, die neben der Vertraulichkeit und Integrität auch die Authentizität und Verbindlichkeit einer Nachricht sicherstellen müssen.

Hybride Verschlüsselungsverfahren

Hybride Verschlüsselungsverfahren vereinen sowohl symmetrische als auch asymmetrische Verfahren in sich, um die Schnelligkeit von symmetrischen Verschlüsselungsverfahren und die Idee eines Public-Key-Verfahrens zu vereinen, da asymmetrische Verschlüsselungsverfahren von Hause aus erheblich langsamer sind, als symmetrische.

In hybriden Verschlüsselungsverfahren wird die zu verschlüsselnde Information zunächst mit einem symmetrischen Verschlüsselungsverfahren bearbeitet. Für diese symmetrische Verschlüsselung wird ein zufällig generierter elektronischer Schlüssel genutzt. Da symmetrische Verschlüsselungsverfahren in der Regel deutlich schneller arbeiten, als asymmetrische, bietet dies gerade bei sehr großen Dateien sehr hohe Geschwindigkeitsvorteile. Als nächstes wird dann dieser Schlüssel mit einem asymmetrischen Verschlüsselungsverfahren verschlüsselt. Diese beiden Informationen werden dann in einer gemeinsamen kryptografischen Nachricht an den Empfänger geschickt.

Besitzt der Empfänger den Private Key des Keypairs, mit dem verschlüsselt wurde, kann er mit diesem den Schlüssel des symmetrischen Verschlüsselungsverfahren extrahieren und die chiffrierte Nachricht entschlüsseln. Ist die Schlüssellänge des zufällig generierten Schlüssels lang genug, ist auch ein Angriff über das Ausprobieren aller theoretisch möglichen Schlüssel (eine so genannte Brute-Force-Attacke) ein nahezu hoffnungsloses Unterfangen. Außerordentlich wichtig ist jedoch die Qualität des Schlüsselgenerators für den zufällig zu generierenden, symmetrischen Schlüssel; der so erzeugte Schlüssel darf keine auch nur annähernd herauslesbare Systematik zu anderen, generierten Schlüsseln haben.

Faktisch arbeiten fast alle Verschlüsselungsprogramme, die nach dem Public-Key-Verfahren arbeiten, in Wirklichkeit mit hybriden Verfahren, beispielsweise auch PGP (siehe auch Pretty Good Privacy). Es ist deshalb um so wichtiger, dass derartige Programme, die verhältnismäßig viele Verschlüsselungsalgorithmen aufeinander aufbauend anwenden, im Quellcode vorliegen, damit die Sicherheit und Zuverlässigkeit von unabhängigen Experten bewertet werden können.

Hash-Verfahren

Hash-Verfahren sind Verfahren, um aus einer beliebig langen Information einen eindeutigen Fingerprint ("Fingerabdruck") zu erzeugen, einen so genannten Hash-Wert. Fingerprints sind deshalb von der Idee her nichts anderes als definierte Prüfsummen, wie sie uns tagtäglich beispielsweise im ISBN-Buchcode (als jeweils letzte Ziffer im Code) oder in maschinenlesbaren Ausweisen begegnen, nur das Hash-Werte aus kryptografischen Hash-Verfahren für gewöhnlich erheblich komplexer sein müssen, damit ihre Eindeutigkeit gewahrt bleibt. Sehr wichtig ist auch der grundlegende Unterschied von Hash-Verfahren zu Verschlüsselungsverfahren: Ein erzeugter Hash-Wert ist nur eine eindeutige Prüfsumme einer Information, sie enthält diese aber nicht. Genau genommen sollten wir an dieser Stelle jedoch festhalten, dass die meisten Hash-Verfahren keine einfachen Prüfsummenverfahren sind, da Prüfsummen per Definition immer nur durch Additionen erzeugt werden, die meisten Hash-Verfahren jedoch mit Divisionen arbeiten.

Die Idee, die hinter Hash-Verfahren steckt, ist vergleichsweise einfach: Der Absender erzeugt von einer abzusichernden Information den Hash-Wert und sendet sowohl die Information, als auch diesen Hash-Wert an den Empfänger. Dieser berechnet ebenfalls nach dem gleichen Verfahren aus der Information den Hash-Wert und vergleicht beide Werte miteinander. Stimmen die beiden Werte überein, impliziert dies, dass die Information nach der Prüfsummenerzeugung beim Absender unverändert geblieben ist - wenn die Prüfsumme entsprechend komplex ist.

Genau hier liegt auch die Schwierigkeit eines zuverlässigen Hash-Verfahrens: Einerseits soll so ein Verfahren möglichst schnell auch mit größeren Dateien arbeiten können, andererseits soll der Hash-Wert aber so eindeutig sein, dass es extrem schwer sein soll, eine Information derart zu manipulieren, so dass der Hash-Wert der manipulierten Information genau derselbe ist, wie bei der Originalinformation. Ist in einem Verfahren eine gewisse Systematik nachvollziehbar, die das gezielte Erstellen einer Information ermöglicht, um einen bestimmten Hash-Wert zu bekommen (eine so genannte Kollision), gilt das Verfahren als potentiell schwach.

Hash-Werte werden auch zur sicheren Verwaltung von Passwörtern genutzt. Auf dem Zielsystem, auf dem das Passwort gespeichert werden soll, wird hierbei nicht das Passwort selbst, sondern der Hash-Wert des Passwortes gespeichert, das der Benutzer auf seinem Rechner erzeugt hat. Da aus dem Hash-Wert nicht die Originalinformation extrahierbar ist, ist die Speicherung des Hash-Wertes sicher. Wird dieses Passwort nun zur Authentifizierung benötigt, gibt der Benutzer es auf seinem Rechner ein, erzeugt daraus den Hash-Wert und übermittelt diesen, der dann mit dem hinterlegten Hash-Wert verglichen wird.

Bekannte Fingerprinting-Verfahren
Auch hier beschränkt sich die Auflistung auf die bekanntesten Verfahren und stellt keine vollständige Übersicht dar:

  • CRC (Cyclic Redundancy Check)
    CRC zählt ausdrücklich nicht zu kryptografischen Fingerprint-Verfahren, sondern zu allgemeinen Verfahren und wird in dieser Auflistung nur deshalb aufgeführt, um diesen Umstand zu erläutern. Im Gegensatz zu den kryptografischen Verfahren, sind die Prüfsummen von allgemeinen Verfahren (und damit auch von CRC) sehr einfach gehalten und dienen lediglich dazu, eine Information technisch abzusichern, beispielsweise bei der Datenübertragung. Hier wird CRC (ebenso wie das Quersummenverfahren oder das Modulo-Verfahren bei anderen technischen Absicherungen) dazu genutzt, um die Integrität einzelner, relativ kleiner Datenpakete zu sichern.
  • MD2, MD4, MD5 (Message Digest 4 bzw. 5)
    Ronald L. Rivest gilt als Entwickler von MD2 (im Jahre 1989), MD4 (im Jahre 1990) und MD5 (im Jahre 1991), die jeweils einen Fingerprint von 128 Bit Länge erzeugen. MD5 wurde als Ersatz von MD4 entwickelt, da im Algorithmus von MD4 zunächst theoretisch Schwächen gefunden werden, die später tatsächlich nachgewiesen werden konnten. Doch auch bei MD5 wurden im Jahre 2004 Schwächen in einer bestimmten Analyseform gefunden, so dass inzwischen dazu geraten wird, im Zweifelsfall auf SHA auszuweichen.
  • SHA (Secure Hash Algorithm)
    SHA gehört zu der gebräuchlichsten Familie von Fingerprinting-Verfahren und leitet sich vom Secure Hash Standard ab, der in den USA vom National Institute of Standards and Technology (NIST) und der National Security Agency (NSA) entwickelt wurde. Aus diesem Standard heraus wurde 1993 SHA-0 und 1995 SHA-1 entwickelt, die jeweils Fingerprints von 160 Bit Länge produzieren und sich durch eine weitere Berechnungsebene (zusätzliche Rundenoperation bei SHA-1) unterscheiden. Im Jahr 2002 und 2004 veröffentlichte das NIST zusätzlich SHA-256, SHA-384, SHA-512 und im Februar 2004 SHA-224. Diese neuen Varianten erzeugen längere Fingerprints (die Zahl steht dabei für die Länge in Bit) und können damit auch bei sehr großen Dateien zuverlässig zur Signatur verwendet werden. Auch bei SHA wurde im Jahre 2004 Schwächen entdeckt, die zwar nur leichter Natur sind und den theoretisch möglichen Raum für Kollisionen lediglich minimal verkleinert. Bei dieser Analyse wurde zudem mit einer modifizierten Version des Algorithmus gearbeitet, so dass derzeit noch keine wirkliche Schwäche nachgewiesen werden konnte. Dennoch wird von der Nutzung von SHA abgeraten, weshalb das NIST einen Nachfolger sucht.
  • RIPEMD (RACE Integrity Primitives Evaluation Message Digest)
    RIPEMD ist eine Familie von Verfahren, die von Hans Dobbertin, Antoon Bosselaers und Bart Preneel entwickelt und erstmals 1996 veröffentlicht wurden. Sie sind vom Design her MD4 angelehnt. Es existieren ebenfalls mehrere RIPEMD-Versionen, die sich in der Länge des Fingerprints unterscheiden: RIPEMD-128, RIPEMD-160 (am geläufigsten), RIPEMD-256 und RIPEMD-320. Im Gegensatz zu anderen Verfahren geht man bei RIPEMD davon aus, dass es potentiell weniger Schwächen aufweisen dürfte, da die Entwicklung bei RIPEMD offener war, also während der Entwicklung eine größere, einschlägige Diskussion stattfand.
  • Tiger
    Tiger ist ein patentfreies Fingerprinting-Verfahren, das 1996 von Ross Anderson und Eli Biham entwickelt wurde. Es arbeitet mit einer Fingerprint-Länge von 192 Bit, besitzt aber keine sonderlich starke Verbreitung, da es auf 32-Bit-Prozessorumgebungen im Gegensatz zu anderen Verfahren verhältnismäßig langsam ist.

Weiterführende Links

http://www.heise.de/security/artikel/39275/
Heise Security: Harte Nüsse - Verschlüsselungsverfahren und ihre Anwendungen

WERBUNG
Zum Beginn dieser Seite