0000 Chiffrierung

27
GFS - Mathematik Chiffrierung/ Verschlüsselung Daniel Holzer WG 12-3 1. Was ist Verschlüsselung ? Wenn man Daten für Fremde unverständlich macht, um den Inhalt zu verbergen, nennt man diesen Vorgang Chiffrierung oder Verschlüsselung. Es gibt nun keinen Klartext mehr, sondern nur noch einen Chiffretext und einen Schlüssel, um diesen wieder zu entschlüsseln, also wieder zum Klartext zu machen. Der Begriff Klartext wird unabhängig davon verwendet, ob die Daten in lesbarer Form, also als ASCII-Text vorliegen oder als Binärdaten. Zur Chiffrierung und Dechiffrierung verwendet man mathematische Funktionen oder Algorithmen. Durch den Schlüssel kann man es nur bestimmten Personen (eben diesen, die den Schlüssel besitzen) ermöglichen, die Daten einzusehen. Zur Chiffrierung beziehungsweise Dechiffrierung muss nicht unbedingt der selbe Schlüssel verwendet werden (siehe 5. Moderne Verfahren). Es kommt bei der Verschlüsselung auch darauf an, was man verschlüsseln will. Wenn man nur Daten auf einem Privat-Computer vor den Mitbenutzern verbergen will ist das etwas anderes wie wenn man Daten vor einflussreichen Regierungen fernhalten will. Allerdings gibt es keinen Grund ein schwächeres, also unsichereres, Verfahren zu verwenden, wenn man beispielsweise „nur“ seine Urlaubsfotos vor unbefugtem Zugriff schützen will. 2. Wieso wird verschlüsselt und wie ? In früheren Zeiten war die Verschlüsselung zum Großteil dem Militär vorbehalten. Als es in der Öffentlichkeit populär wurde, ist es in manchen Ländern sogar verboten worden und ist es bis heute noch. Aber weshalb verschlüsselt man seine Daten überhaupt ? Ein Großteil der modernen schriftlichen Kommunikation wird über Netzwerke, wie zum Beispiel das Internet, abgewickelt. Aus diesem Grund ist es sehr wichtig, seine Informationen vor Unbefugten zu schützen, denn eben diese Daten können prinzipiell von jedem mitgelesen und ausgewertet werden. Daher sollte man Daten, wie Seite 1 von 27

Transcript of 0000 Chiffrierung

Page 1: 0000 Chiffrierung

GFS - Mathematik Chiffrierung/Verschlüsselung Daniel Holzer WG 12-3

1. Was ist Verschlüsselung ?

Wenn man Daten für Fremde unverständlich macht, um den Inhalt zu verbergen, nennt man diesen Vorgang Chiffrierung oder Verschlüsselung. Es gibt nun keinen Klartext mehr, sondern nur noch einen Chiffretext und einen Schlüssel, um diesen wieder zu entschlüsseln, also wieder zum Klartext zu machen.Der Begriff Klartext wird unabhängig davon verwendet, ob die Daten in lesbarer Form, also als ASCII-Text vorliegen oder als Binärdaten.Zur Chiffrierung und Dechiffrierung verwendet man mathematische Funktionen oder Algorithmen.Durch den Schlüssel kann man es nur bestimmten Personen (eben diesen, die den Schlüssel besitzen) ermöglichen, die Daten einzusehen. Zur Chiffrierung beziehungsweise Dechiffrierung muss nicht unbedingt der selbe Schlüssel verwendet werden (siehe 5. Moderne Verfahren).

Es kommt bei der Verschlüsselung auch darauf an, was man verschlüsseln will. Wenn man nur Daten auf einem Privat-Computer vor den Mitbenutzern verbergen will ist das etwas anderes wie wenn man Daten vor einflussreichen Regierungen fernhalten will. Allerdings gibt es keinen Grund ein schwächeres, also unsichereres, Verfahren zu verwenden, wenn man beispielsweise „nur“ seine Urlaubsfotos vor unbefugtem Zugriff schützen will.

2. Wieso wird verschlüsselt und wie ?

In früheren Zeiten war die Verschlüsselung zum Großteil dem Militär vorbehalten. Als es in der Öffentlichkeit populär wurde, ist es in manchen Ländern sogar verboten worden und ist es bis heute noch.

Aber weshalb verschlüsselt man seine Daten überhaupt ?Ein Großteil der modernen schriftlichen Kommunikation wird über Netzwerke, wie zum Beispiel das Internet, abgewickelt. Aus diesem Grund ist es sehr wichtig, seine Informationen vor Unbefugten zu schützen, denn eben diese Daten können prinzipiell von jedem mitgelesen und ausgewertet werden. Daher sollte man Daten, wie beispielsweise die Zugangsdaten zum Bankkonto oder vertrauliche Firmeninterna niemals unverschlüsselt übermitteln. Durch die Verschlüsselung beugt man der potentiellen Unsicherheit bei Transaktionen über das Internet vor und macht es Unbefugten sehr schwer, an die Informationen zu kommen.

Für viele Leute ist es ein Leichtes, Nachrichten abzufangen, zu lesen oder gar zu ändern. Als Beispiel das Versenden von E-Mails. In diesem Fall ist es wie mit der Post. Diejenigen, die bei der Verteilung oder beim Transport beteiligt sind haben die Möglichkeit sie zu lesen. Dies kann vor allem bei Online-Bestellungen bei Versandhäusern, bei Bankgeschäften oder beim Leisten einer elektronischen Unterschrift sehr gefährlich sein. Man stelle sich mal vor, was Unbefugte mit den abgefangenen Daten für Schaden anrichten könnten.

Glücklicherweise ist es heutzutage jedem Internet-Nutzer möglich, Chiffrierungsmethoden zu nutzen. Dies geschieht entweder auf eigene Initiative oder sie werden durch Site-Betreiber zur Verfügung gestellt.

Zwei Sachen sind bei der Chiffrierung besonders wichtig:Authentizität und Integrität.

Seite 1 von 19

Page 2: 0000 Chiffrierung

GFS - Mathematik Chiffrierung/Verschlüsselung Daniel Holzer WG 12-3

Zum Ersten müssen Mechanismen überprüfen, ob die Nachricht auch tatsächlich von dem Absender stammt, der angegeben wird.Und zweitens muss die Unverfälschtheit der Nachricht garantiert sein, das heißt, dass der Klartext nach der Dechiffrierung identisch sein muss mit dem Klartext vor der Chiffrierung.

Ersteres wird durch digitale Signaturen erreicht. Diese sind wie eine Unterschrift und können (normalerweise) nur von einer Person benutzt werden. Außerdem wird dem Absender dadurch auch das nachträgliche Leugnen seiner Urheberschaft unmöglich gemacht.

Die Verfahren der Kryptographie bilden die Grundlage für alle Sicherheitsalgorithmen, aber schon einmal vorweg: Jede Art von Chiffrierung, mit nur einer Ausnahme, kann theoretisch geknackt werden, jedoch größtenteils in fast unvorstellbar langen Zeiträumen und mit einem enormen Kostenaufwand. Diese eine Ausnahme ist das „One-Time-Pad“ (siehe 8. Das One-Time-Pad).

3. Klassische Kryptographie

3.1 Transpositionschiffren

Bei Transpositionschiffren werden die Buchstaben nicht verändert, sondern nur ihre Position im Text. Etwa 2500 v. Chr. wurde zum Beispiel in Sparta ein solcher Algorithmus zur Verschlüsselung verwendet. Damals nutzten die Menschen eine sogenannte Skytale, einen Zylinder mit einem bestimmten Radius, der gleichzeitig als Schlüssel diente. Der Absender der Nachricht wickelte ein schmales Band Papier bzw. Pergament um die Skytale und schrieb seine Nachricht wie auf normales Papier, von links oben nach rechts unten:

Anschließend wurde die Nachricht abgewickelt und verschickt. Sie sah nun etwa so aus:

Benutzte der Empfänger eine Skytale mit dem selben Radius wie der Absender, so konnte er die Nachricht wieder entschlüsseln.

Auch kompliziertere Transpositionschiffren können fast ohne Ausnahme von Computern geknackt werden. Transposition ist alleine also nicht sicher, wird aber zusammen mit Substitution in modernen Computer-Algorithmen verwendet.

Seite 2 von 19

CEE

HRI

ITS

FEP

FXI

RTE

IBL

C E E H R I I T S F E P F X I R T E I B L

Page 3: 0000 Chiffrierung

GFS - Mathematik Chiffrierung/Verschlüsselung Daniel Holzer WG 12-3

3.2 Verschiebechiffren

Diese Chiffrier-Verfahren gehören zu den einfachsten. Hierbei werden die Buchstaben des Klartextes um k Stellen nach links verschoben. Somit erhält man den Geheimtextbuchstaben. Für den kompletten Klartext wird nur ein k verwendet. Der Schlüssel bei diesen Verfahren ist also k. Es gibt genau 26 Möglichkeiten für k.Diese Art der Chiffrierung wird auch als additive Chiffrierung bezeichnet und wurde schon von Julius Caesar verwendet (siehe 4.2 Caesar-Chiffre). Um den Geheimtextbuchstaben zu erhalten wird der Wert k zum Klartextbuchstaben dazu addiert. Hierzu nummeriert man das Alphabet von 1 bis 26 durch: a = 1, b = 2, ... y = 25, z = 26

Die Chiffrierung sieht dann so aus:a + k = D | mit k = 3 entspricht 1 + 3 = 4

Da die Summe auch größer als 26 sein kann, muss man die sogenannte modulo-Operation durchführen.

Beispiel:k = 5(x + 5)mod26 = (24 + 5)mod26 = 3 = CZur Entschlüsselung subtrahiert man k vom Geheimtextbuchstaben, addiert 26 hinzu und führt eine modulo-Operation durch:k = 5, Geheimtextbuchstabe: C(C – 5 + 26)mod26 = (3 – 5 + 26)mod26 = 24 = x

3.3 Mono- und Polyalphabetische Chiffrierung

Insgesamt unterscheidet man in der klassischen Chiffrierung zwei Arten. Erstens die Monoalphabetische Chiffrierung und zweitens die Polyalphabetische Chiffrierung.

Bei einer Monoalphabetischen Chiffrierung wird ein bestimmter Klartextbuchstabe immer zu einem bestimmten Geheimtextbuchstaben. Man kann also jedem Klartextbuchstaben ein bestimmtes Zeichen zuordnen. So wird bei der Verschlüsselung eines Klartextes der Klartextbuchstabe A immer zu dem Geheimtextzeichen H und der Klartextbuchstabe c immer zu dem Geheimtextzeichen §. Natürlich können die Zeichen bei jeder Chiffrierung unterschiedlich zugeordnet werden. Ein Beispiel hierzu wäre das Atbash-Verfahren (siehe 4.1 Atbash).

Dagegen kann bei einer Polyalphabetischen Chiffrierung ein Klartextbuchstabe mehrere unterschiedliche Geheimtextbuchstaben haben. Bei diesen Chiffrierungen kommen mehrere Monoalphabetische Chiffrierungen zum Einsatz. Ein Beispiel für eine Polyalphabetische Chiffrierung ist das Vigenère-Verfahren (siehe 4.3 Vigenère-Verfahren).

Seite 3 von 19

Page 4: 0000 Chiffrierung

GFS - Mathematik Chiffrierung/Verschlüsselung Daniel Holzer WG 12-3

4. Historische Verfahren

4.1 Atbash

Atbash ist der Name des wohl ältesten Chiffrierverfahrens. Bei diesem Verfahren wird als Schlüssel einfach das Alphabet in umgekehrter Reihenfolge genommen:

Klartext A B C D E F G H I J K L M N O P Q R S T U V W X Y ZGeheimtext Z Y X W V U T S R Q P O N M L K J I H G F E D C B A

Im Klartext wird demnach jedes A durch ein Z, jedes B durch ein Y usw. ersetzt.

WRVH RHG VRM YVRHKRVO WVI ZGYZHS XSRUUIRVIFMT.

Selbst in der Bibel wird diese Art der Verschlüsselung verwendet. So steht beispielsweise in Jeremia 25,26 und 51,41 die Stadt Scheschach erwähnt. Dabei handelt es sich um die Stadt Babel, die mit Atbash chiffriert wurde (hebräisches Alphabet: Babylon Sheshak).

4.2 Caesar-Chiffre

Dieses Verfahren beruht auf der Verschiebechiffre, die Julius Caesar bei seinem Briefwechsel mit Cicero verwendete. Im Gegensatz zum verwandten Atbash, wird bei der Caesar-Chiffre der Buchstabe, der verschlüsselt werden soll, um k im Alphabet nach rechts verschoben.Beispiel: k = 5

Klartext A B C D E F G H I J K L M N O P Q R S T U V W X Y ZGeheimtext V W X Y Z A B C D E F G H I J K L M N O P Q R S T U

Bei Atbash kann man den Text noch entziffern, wenn man nur weiß, dass er mit Atbash verschlüsselt wurde. Hier benötigt man noch das k, also die Zahl, um wie viel nach rechts verschoben wurde. Sicherlich kann man es auch ohne schaffen, indem man einfach alles 25 Möglichkeiten ausprobiert.

4.3 Vigenère-Verfahren

Dieses Verfahren hat seinen Namen von seinem Erfinder Blaise de Vigenère. Diese Chiffrierung wurde 1586 veröffentlicht. Hier wird schon ein richtiger Schlüssel verwendet, nicht nur eine Zahl k. Dieser Schlüssel ist ein Wort, das zur Chiffrierung und auch wieder zur Dechiffrierung verwendet wird. Zur Ver- und Entschlüsselung braucht man zusätzlich noch das Vigenère-Quadrat (siehe nächste Seite). Dieses Quadrat besteht aus 26 untereinander gesetzten Alphabeten. Die erste Zeile ist das „Original-Alphabet“, also um 0 Stellen verschoben. Die zweite Zeile ist das um 1 Stelle verschobene Alphabet und die letzte ist um 25 Stellen verschoben. Der Schlüssel, den man verwendet, kann ein beliebiges Wort sein, zum Beispiel KRYPTO. Man schreibt, das Schlüsselwort unter den Klartext und wiederholt es so oft wie nötig:

Klartext C h i f f r i e r u n gSchlüsselwort K R Y P T O K R Y P T O

Seite 4 von 19

Page 5: 0000 Chiffrierung

GFS - Mathematik Chiffrierung/Verschlüsselung Daniel Holzer WG 12-3

Der Schlüsselbuchstabe bestimmt immer, welche Zeile man im Vigenère-Quadrat nehmen muss. Bei K muss man also die Zeile nehmen, die mit K beginnt. Der Klartext Buchstabe zeigt die Spalte an, die für die Chiffrierung relevant ist, also in diesem Fall die Spalte C. Nun schaut man welcher Buchstabe in Zeile K Spalte C steht. Dies ist dann der Geheimtextbuchstabe. In diesem Fall M. Diesen Vorgang wiederholt man für jeden einzelnen Buchstaben im Klartext, bis man den kompletten Text verschlüsselt hat.Letztendlich sieht es folgendermaßen aus:

Klartext C h i f f r i e r u n gSchlüsselwort K R Y P T O K R Y P T OGeheimtext M Y G U Y F S V P J G V

Zur Dechiffrierung sucht man in der Zeile K nach dem Geheimtextbuchstaben M. Die Spalte, in welcher der Geheimtextbuchstabe steht ist der Klartextbuchstabe. In dem Fall C.

Der Vorteil gegenüber den oben genannten Verfahren ist, dass bei der Chiffrierung nach Vigenère zwei gleiche Klartextbuchstaben zu unterschiedlichen Geheimtextbuchstaben verschlüsselt werden (siehe Beispiel oben: f wird zu U und Y).

Das Vigenère-Quadrat

A B C D E F G H I J K L M N O P Q R S T U V W X Y ZB C D E F G H I J K L M N O P Q R S T U V W X Y Z AC D E F G H I J K L M N O P Q R S T U V W X Y Z A BD E F G H I J K L M N O P Q R S T U V W X Y Z A B CE F G H I J K L M N O P Q R S T U V W X Y Z A B C DF G H I J K L M N O P Q R S T U V W X Y Z A B C D EG H I J K L M N O P Q R S T U V W X Y Z A B C D E FH I J K L M N O P Q R S T U V W X Y Z A B C D E F GI J K L M N O P Q R S T U V W X Y Z A B C D E F G HJ K L M N O P Q R S T U V W X Y Z A B C D E F G H IK L M N O P Q R S T U V W X Y Z A B C D E F G H I JL M N O P Q R S T U V W X Y Z A B C D E F G H I J KM N O P Q R S T U V W X Y Z A B C D E F G H I J K LN O P Q R S T U V W X Y Z A B C D E F G H I J K L MO P Q R S T U V W X Y Z A B C D E F G H I J K L M NP Q R S T U V W X Y Z A B C D E F G H I J K L M N OQ R S T U V W X Y Z A B C D E F G H I J K L M N O PR S T U V W X Y Z A B C D E F G H I J K L M N O P QS T U V W X Y Z A B C D E F G H I J K L M N O P Q RT U V W X Y Z A B C D E F G H I J K L M N O P Q R SU V W X Y Z A B C D E F G H I J K L M N O P Q R S TV W X Y Z A B C D E F G H I J K L M N O P Q R S T UW X Y Z A B C D E F G H I J K L M N O P Q R S T U VX Y Z A B C D E F G H I J K L M N O P Q R S T U V WY Z A B C D E F G H I J K L M N O P Q R S T U V W XZ A B C D E F G H I J K L M N O P Q R S T U V W X Y

4.4 Enigma

Seite 5 von 19

Page 6: 0000 Chiffrierung

GFS - Mathematik Chiffrierung/Verschlüsselung Daniel Holzer WG 12-3

Der Begriff Enigma ist abgeleitet vom griechischen Wort “ainigma” und bedeutet Rätsel. Die Enigma ist eine Maschine, die im Zweiten Weltkrieg von der deutschen Wehrmacht eingesetzt wurde, um ihre Funksprüche zu verschlüsseln. Die Enigma besteht aus einer Tastatur mit 26 Buchstaben, die zur Eingabe dient und 26 Lampen mit Buchstaben, die zur Ausgabe dienen. An einer Achse befinden sich drei bewegliche Räder mit je 26 elektrischen Kontakten auf beiden Seiten. Die Räder 1 und 2 haben zusätzlich noch je eine Kerbe. Des weiteren hat die Enigma noch eine Umkehrwalze mit ebenfalls 26 Kontakten. Die Kontakte stellen jeweils einen Buchstaben des Alphabets dar.

Diese Verschlüsselungsmaschine funktioniert folgendermaßen:Beim Drücken einer Taste (z.B. A) dreht sich das erste Rad um eine Position. Wenn sich an dieser Position die Kerbe des Rades befindet, dreht sich auch das zweite Rad und eventuell das dritte (wenn die Kerbe am zweiten Rad „getroffen“ wird). Wenn sich das dritte Rad mitdreht, dreht sich das zweite Rad um zwei Positionen. Nun fließt ein Strom von der Taste zu den Kontakten des ersten Rades auf der einen Seite und durch die innere Verkabelung, welche bei allen Maschinen identisch ist, zu dem Kontakt auf der anderen Seite (W). Dasselbe passiert mit den anderen zwei Rädern (V, dann A). Vom dritten Rad fließt der Strom zur Umkehrwalze. Dort sind je zwei Kontakte miteinander verknüpft (A und S). Danach fließt der Strom wieder durch die drei Räder zurück (R, dann C) und lässt letztendlich ein Lämpchen aufleuchten. Dies ist dann der Geheimtextbuchstabe. In diesem Beispiel in den Klammern ändert sich der gedrückte Buchstabe A innerhalb der Enigma in W-V-A-S-R-C und wird schließlich als G wieder ausgegeben

Da die Enigma reziprok arbeitet, kann man einen Text entschlüsseln, indem man ihn mit den selben Grundeinstellungen nochmals eingibt.

Da die drei Räder herausnehmbar sind, kann der Benutzer die Reihenfolge und die Starteinstellung (z.B. F-T-Q) der Räder festlegen.

5. Moderne Verfahren

Seite 6 von 19

Erstes Rad

Zweites Rad

Drittes Rad

Umkehrwalze

Lämpchen

Tastatur

Steckbord (militärische Erweiterung)

Page 7: 0000 Chiffrierung

GFS - Mathematik Chiffrierung/Verschlüsselung Daniel Holzer WG 12-3

Die Unsicherheit der bisher benutzten Verfahren erkannte man erst, als es die ersten Computer gab. Durch diese bot vor allem die Vigenère-Chiffre keine ausreichende Sicherheit mehr. Aus diesem Grund musste man komplexere, computergestützte Verfahren entwickeln.

Unter modernen Verschlüsselungsverfahren versteht man solche, für die es noch kein Programm gibt, das sie knacken kann. Allerdings kommt es auf die jeweilige Schlüssellänge (siehe 6 Schlüssellängen) an, wie lange ein Rechner(-verbund) benötigt, um das Verfahren mit Hilfe eines Brute-Force-Angriffs (siehe 7.1 Brute-Force-Angriff) zu knacken.

Außerdem unterscheidet man bei den modernen Chiffriertechniken noch symmetrische und asymmetrische Verfahren.

5.1 Symmetrische Verfahren

Bei symmetrischen Verschlüsselungen gibt es nur einen Schlüssel. Dieser wird sowohl zur Chiffrierung als auch zur Dechiffrierung verwendet. Dieser Schlüssel muss, wenn nicht schon erledigt, dem Empfänger der verschlüsselten Nachricht auf sicherem Wege übergeben werden. Im folgenden drei bekannte, da aufeinander aufbauende, symmetrische Verfahren.

5.1.1 Lucifer

1973 wurde Lucifer als erster Algorithmus, der die Blockchiffrierung verwendet, veröffentlicht. Derartige Verfahren werden nach Lucifers Erfinder Horst Feistel auch Feistelnetzwerke genannt.

Bei der „einfachen“ Blockchiffrierung wird der Eingabestrom, der bitweise erfolgt, in gleichgroße Blöcke unterteilt. Dabei wird jeder Block mit dem selben Verfahren separat verschlüsselt. Bei Lucifer wird ein solcher Block nun in zwei Hälften unterteilt und jede Hälfte für sich mit einer Funktion verschlüsselt. Diese Funktion ist vom Schlüssel und dem aktuellen Durchlauf abhängig. Anschließend werden die beiden Hälften miteinander verknüpft. Dieses Verfahren wiederholt sich für den neu entstandenen Block, wobei sich allerdings für jeden Durchlauf die Chiffrierfunktion ändert. Beim Lucifer-Verfahren betragen die Block-Schlüssellängen je 128 Bit (Erklärungen siehe 6. Schlüssellängen).

5.1.2 DES und DES3

DES (Data Encryption Standard) ist eine Weiterentwicklung des Lucifer-Verfahrens.DES arbeitet mit einem auf 56 Bit reduzierten Schlüssel. Der Grund für die Reduzierung ist bis heute noch ungeklärt und einer der größten Kritikpunkte an dem Verfahren. Es wird vermutet, dass die NSA (National Security Agency) ihren Einfluss ausgenutzt hat, um sich eine Hintertüre zu schaffen.Die NSA ist eine amerikanische Bundesbehörde zum "Schutz der amerikanischen Daten". Sie führt unter Anderem Sicherheitsprüfungen für Software durch. Dabei muss sie auch Daten entschlüsseln. Durch den nun schwächeren Schlüssel hatte die NSA nun weniger Aufwand, solche Daten zu entschlüsseln.

1997 wurde DES durch einen Brute-Force-Angriff mit 14000 über das Internet verbundenen Rechnern geknackt. Ein Jahr später wurde eine Hardware veröffentlicht, die jeden DES-Schlüssel innerhalb von drei Tagen knacken konnte. Heutzutage dürfte ein DES-Schlüssel binnen weniger Minuten geknackt sein.

Seite 7 von 19

Page 8: 0000 Chiffrierung

GFS - Mathematik Chiffrierung/Verschlüsselung Daniel Holzer WG 12-3

Funktionsweise

Um mit DES verschlüsseln zu können, muss der Klartext in Bitform vorliegen. Mit der heutigen Technik stellt es aber kein Problem dar, jeden beliebigen Klartext in Bitform umzuwandeln.Der DES-Algorithmus verschlüsselt die Daten immer in einem Block von 64 Bit Länge. Diese Art von Chiffrierung nennt man auch Blockchiffrierung oder Blockalgorithmen. Die komplette Verschlüsselung findet in 16 Runden statt (Erläuterungen dazu weiter unten).

Die Chiffrierung beginnt mit der Eingangspermutation. Sie beeinflusst die Sicherheit des Verfahrens nicht, sondern dienst nur dazu den Klartext (bei der Chiffrierung) bzw. den Chiffretext (bei der Dechiffrierung) in den DES-Chip zu laden. Dies ist notwendig, da DES eigentlich für den Einsatz in der Hardware entwickelt wurde. Bei diesem Vorgang werden die Bitpositionen mit Hilfe einer Substitutionsbox (S-Box) vertauscht. Dabei rutscht beispielsweise Bit 50 auf Position 3, Bit 34 auf Position 5 usw.

Nach der Eingangspermutation kommt die Schlüsseleinteilung. Hier findet die eigentliche Verschlüsselung statt. DES arbeitet wie oben erwähnt mit einem 56-Bit-Schlüssel, deshalb wird zunächst der 64-Bit-Schlüssel mit Hilfe einer Box reduziert. Dabei fällt jedes achte Bit weg. Aus diesem 56-Bit-Schlüssel werden die sogenannten Teilschlüssel generiert. Für Jede Runde gibt es einen Teilschlüssel Ki, wobei i für die jeweilige Runde steht. Hierzu wird der Schlüssel in zwei Hälften zu je 28 Bit zerlegt und diese dann abhängig von der aktuellen Rundennummer um ein oder zwei Bit verschoben. Die Verschiebung ergibt sich aus folgender Tabelle:

Runde 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16Anzahl 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 1

Als nächstes folgt der Zentrale Block. Hier wird der 64-Bit-Block, der soeben die Eingangspermutation durchlaufen hat in zwei Hälften Li und Ri mit je 32 Bit zerlegt. Nun beginnt die erste Runde. Dabei findet zuerst eine Expansionspermutation statt, bei der die 32 Bits von Ri auf 48 Bits erweitert werden. Der kryptographische Zweck, der dieser Operation zugrunde liegt, ist der sogenannte Lawineneffekt. Ein Bit beeinflusst zwei Substitutionen, deshalb wirken sich die Eingabebits schneller auf die Ausgabebits aus. Aus diesem Grund ist jedes Bit des Chiffretextes schon nach fünf Runden von jedem Bit des Klartextes und jedem Bit des Schlüssels abhängig. Anschließend wird der Teilschlüssel Ki mit dem erweiterten Block durch die xor-Operation verknüpft. Nun folgt die sogenannte S-Box-Substitution. Für DES gibt es acht S-Boxen. Jede dieser acht S-Boxen erhält 6 Bit Eingabe und liefert 4 Bit Ausgabe. Das Resultat der xor-Operation, 48 Bits, wird in acht Teilblöcke zerlegt, die jeweils eine Länge von 6 Bit haben. Der erste 6-Bit-Block wird von S-Box 1 bearbeitet, der zweite von S-Box 2 usw.Die S-Boxen bestehen jeweils aus einer Tabelle mit vier Zeilen und 16 Spalten (siehe nächste Seite). Die Zellen der Tabelle bestehen je aus einer 4 Bit langen Zahl. Die 6 Bit Eingabe legen nun fest, in welcher Spalte und Zeile die jeweilige Ausgabe steht.

Die S-Boxen sind bei jedem DES-Verfahren gleich und sehen so aus:

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Seite 8 von 19

Page 9: 0000 Chiffrierung

GFS - Mathematik Chiffrierung/Verschlüsselung Daniel Holzer WG 12-3

0 14 04 13 01 02 15 11 08 03 10 06 12 05 09 00 07 1 00 15 07 04 14 02 13 01 10 06 12 11 09 05 03 08S1 2 04 01 14 08 13 06 02 11 15 12 09 07 03 10 05 00 3 15 12 08 02 04 09 01 07 05 11 03 14 10 00 06 13

0 15 01 08 14 06 11 03 04 09 07 02 13 12 00 05 10 1 03 13 04 07 15 02 08 14 12 00 01 10 06 09 11 05S2 2 00 14 07 11 10 04 13 01 05 08 12 06 09 03 02 15 3 13 08 10 01 03 15 04 02 11 06 07 12 00 05 14 09

0 10 00 09 14 06 03 15 05 01 13 12 07 11 04 02 08 1 13 07 00 09 03 04 06 10 02 08 05 14 12 11 15 01S3 2 13 06 04 09 08 15 03 00 11 01 02 12 05 10 14 07 3 01 10 13 00 06 09 08 07 04 15 14 03 11 05 02 12

0 07 13 14 03 00 06 09 10 01 02 08 05 11 12 04 15 1 13 08 11 05 06 15 00 03 04 07 02 12 01 10 14 09S4 2 10 06 09 00 12 11 07 13 15 01 03 14 05 02 08 04 3 03 15 00 06 10 01 13 08 09 04 05 11 12 07 02 14

0 02 12 04 01 07 10 11 06 08 05 03 15 13 00 14 09 1 13 11 02 12 04 07 13 01 05 00 15 10 03 09 08 06S5 2 04 02 01 11 10 13 07 08 15 09 12 05 06 03 00 14 3 11 08 12 07 01 14 02 12 06 15 00 09 10 04 05 03

0 12 01 10 15 09 02 06 08 00 13 03 04 14 07 05 11 1 10 15 04 02 07 12 09 05 06 01 13 14 00 11 03 08S6 2 09 14 15 05 02 08 12 03 07 00 04 10 01 13 11 06 3 04 03 02 12 09 05 15 10 11 14 01 07 06 00 08 13

0 04 11 02 14 15 00 08 13 03 12 09 07 05 10 06 01 1 13 00 11 07 04 09 01 10 14 03 05 12 02 15 08 06S7 2 01 04 11 13 12 03 07 14 10 15 06 08 00 05 09 02 3 06 11 13 08 01 04 10 07 09 05 00 15 14 02 03 12

0 13 02 08 04 06 15 11 01 10 09 03 14 05 00 12 07 1 01 15 13 08 10 03 07 04 12 05 06 11 00 14 09 02S8 2 07 11 04 01 09 12 14 02 00 06 10 13 15 03 05 08 3 02 01 14 07 04 10 08 13 15 12 09 00 03 05 06 11

Ist die Eingabe auf die sechste S-Box beispielsweise 110011, so ergibt das erste und das letzte Bit zusammen 11. Dies ist die binäre Darstellung für 3. Diese beiden äußeren Bit zeigen die Zeile an, der die Ausgabe zu entnehmen ist. In diesem Fall also Zeile 3. Die vier mittleren Bits ergeben 1001, was die binäre Darstellung für 9 ist. Diese Zahl zeigt die Spalte an, der man die jeweilige Ausgabe entnehmen muss. Also steht die Ausgabe für die 6-Bit-Eingabe 110011 auf die S-Box 6 in Zeile 3 Spalte 9. Dies ist 14, in binärer Darstellung 1110. Somit hat man die 4 Bit Ausgabe für diese S-Box. Dieser Vorgang passiert mit allen acht S-Boxen und anschließend werden die acht 4-Bit-Ausgaben wieder zu einem 32-Bit-Block kombiniert. Auf diesen Block wird nun die sogenannte P-Box-Permutation angewandt. Hierbei werden die Bits einfach nur umgeordnet, wobei jedes Bit genau einmal verwendet wird. Beispiel: Bit 21 kommt auf Position 4, Bit 4 dagegen auf Position 31 usw.Jetzt wird das Ergebnis der P-Box-Permutation mit der anderen Hälfte Li des ursprünglichen 64-Bit-Blocks mit Hilfe der xor-Operation verknüpft. Danach werden die linke und die rechte Hälfte vertauscht und die nächste Runde startet. Nach der letzten Runde werden die zwei Hälften L16 und R16 nicht mehr vertauscht, sondern der Block L16R16 dient als Eingabeblock.

Seite 9 von 19

Page 10: 0000 Chiffrierung

GFS - Mathematik Chiffrierung/Verschlüsselung Daniel Holzer WG 12-3

Letztendlich kommt die Ausgangspermutation, die die umgekehrte Version der Eingangspermutation ist, das heißt die Daten werden wieder aus dem DES-Chip geladen. Somit ist die Chiffrierung mit DES komplett.

Triple-DES (DES3) ist eine erweiterte Version von DES. Hierbei verschlüsselt man einen Klartextblock dreimal mit zwei unterschiedlichen Schlüsseln:Zuerst wird der Block mit Schlüssel 1 verschlüsselt, dann mit Schlüssel 2 entschlüsselt und mit Schlüssel 1 noch einmal verschlüsselt. Dieses Verfahren wird auch als EDE (Encryption-Decryption-Encryption)-Modus bezeichnet. Die Schlüssellänge beträgt 112 (2 · 56) Bit.

Eine weitere Variante für DES3 ist die EDE-Methode mit drei unterschiedlichen Schlüsseln. Der einzige Unterschied zur oben beschriebenen Variante ist, dass im letzten Schritt mit Schlüssel 3 statt erneut mit Schlüssel 1 chiffriert wird. Hier beträgt die Schlüssellänge dann 168 (3 · 56) Bit.

Allerdings sind beide DES3-Varianten vergleichsweise langsam. Deshalb werden modernere und vor allem schnellere Algorithmen bevorzugt.

5.1.3 AES

1997 fand ein Wettbewerb statt, der vom National Institute of Standards and Technology (NIST) organisiert wurde. Dabei sollte ein neuer Verschlüsselungs-Standard mit dem Namen AES (Advanced Encryption Standard) ins Leben gerufen werden. Das Verfahren sollte, als Nachfolger für das wegen dem zu kleinen Schlüssels bereits geknackten DES, ein symmetrischer 128-Bit-Blockalgorithmus mit einer Schlüssellänge von mindestens 128 Bit sein. Neben höchster Sicherheit sollte auch auf eine gute Performance in Soft- und Hardware geachtet werden. Bis Juni 1998 wurden 15 Vorschläge eingesandt, die nun die „Qualifikationsphase“ bestehen mussten. Nun konnte jeder versuchen, die jeweiligen Verfahren zu knacken. Viele bekannte Kryptologen analysierten die Algorithmen und fanden schon sehr bald erste Schwachstellen, die dazu führten, dass diese Algorithmen gebrochen wurden und somit ausschieden. Am Ende dieser ersten Phase am 9. August 1999 standen fünf Algorithmen in der Endausscheidung:

MARS RC6 Rijndael Serpent Twofish

Diese Fünf wurden jetzt noch einmal ausführlich analysiert und getestet. Da sich alle fünf Verfahren als sicher erwiesen gewann die Performance an Bedeutung. Da Rijndael vergleichsweise leicht zu implementieren und schnell in Soft- und Hardware ist, wurde es am 2. Oktober 2000 als Gewinner des AES-Wettbewerbs bekannt gegeben.

Der Rijndael-Algorithmus unterstützt 128-, 192- und 256-Bit-Schlüssel. Dadurch sind Brute-Force-Angriffe, die den 56-Bit-Schlüssel von DES schon nach wenigen Stunden knacken konnten, auf Jahre hinaus nicht umsetzbar.

5.2 Asymmetrische Verfahren

Bei der asymmetrischen Chiffrierung gibt es für eine verschlüsselte Nachricht zwei Schlüssel. Einen sogenannten Public-Key, der zum Verschlüsseln verwendet wird und einen dazugehörigen

Seite 10 von 19

Page 11: 0000 Chiffrierung

GFS - Mathematik Chiffrierung/Verschlüsselung Daniel Holzer WG 12-3

Private-Key, mit dem man die Nachricht wieder entschlüsseln kann. Da man mit dem Public-Key nur verschlüsseln kann, ist es relativ egal, wer ihn zu Gesicht bekommt. Logischerweise gibt man ihn allerdings nur den Personen, von denen man verschlüsselte Nachrichten erhalten will. Diese kann man dann nur mit dem Private-Key, den man auf jeden Fall geheim halten sollte, entschlüsseln. Die beiden Schlüssel müssen gemeinsam von demselben Algorithmus erzeugt werden, nur so ist gewährleistet, dass man nur mit eben dem Private-Key den Chiffretext auch wieder dechiffrieren kann.

Wenn nun also Person A von Person B verschlüsselte Nachrichten empfangen will, muss A sich diese beiden Schlüssel erstellen lassen. Dies geht unter Anderem mit PGP („Pretty Good Privacy“). Jetzt hat A einen Private-Key und den dazugehörigen Public-Key, den er B schicken muss. Dies muss nicht auf sicherem Wege passieren, man kann ihn also zum Beispiel per E-Mail verschicken. Grund dafür ist die Tatsache, dass man mit dem Public-Key eben nur verschlüsseln kann.Ein Beispiel für ein asymmetrisches Verfahren ist RSA.

5.2.1 RSA

Beim RSA-Verfahren muss man zuerst ein Schlüsselpaar (Public-Key und Private-Key) erzeugen. Dies kann durch eine Schlüsselvergabestelle geschehen. Dabei werden zwei große Primzahlen p und q zufällig gewählt. Hier gilt: n = p · q

Anschließend wird Phi(n) (Symbol: ) berechnet. Hier gilt: Phi(n) = (p - 1)(q - 1).

Letztendlich werden noch zwei Zahlen e und d gewählt, damit gilt: (e · d) mod Phi(n) = 1 (im TI: mod(e · d, Phi(n)) = 1 )

Das heißt, d ist der Kehrwert zu e modulo Phi(n).

e ist eine Zahl, die teilerfremd zu Phi(n) ist. Normalerweise nimmt man eine Primzahl > Phi(n). d muss man nun berechnen, damit (e · d) mod Phi(n) = 1 gilt.

Nun hat man die beiden Schlüssel. Der öffentliche Schlüssel setzt sich aus e und n zusammen, der private aus d und n.

p und q sollte man nun vernichten, da sie nicht mehr benötigt werden. Macht man das nicht ist es nur ein unnötiges Risiko, weil wer p und q kennt, kennt auch n und somit wäre das System nicht mehr sicher.

Die Ver- und Entschlüsselung ist nun nicht mehr so schwierig. Hierbei gilt mit p = Klartext und c = Geheimtext folgendes:

Chiffrierung:

c = pe mod n

Seite 11 von 19

Page 12: 0000 Chiffrierung

GFS - Mathematik Chiffrierung/Verschlüsselung Daniel Holzer WG 12-3

Demzufolge wird p mit e potenziert und mit n dividiert. Der Restwert dieser Rechnung ist dann c und somit der Geheimtext. Zu beachten ist dabei, dass p n sein muss. Wenn n also beispielsweise 256 Bit lang ist, muss p kleiner oder gleich 256 Bit lang sein.

Dechiffrierung:

Der Empfänger kann nun mit seinem privaten Schlüssel die Nachricht c folgendermaßen wieder dechiffrieren:

p = cd mod n

Die Sicherheit dieser Chiffrierung beruht auf der Schwierigkeit aus dem Produkt n die Faktoren p und q zu berechnen. Je kleiner e ist, desto schneller ist RSA, aber auch anfälliger gegen Angriffe. Daher sollte e ziemlich groß sein. Die daraus folgende Langsamkeit des Systems schließt das Verschlüsseln eines Klartextes aus zeitlichen Gründen eigentlich aus. Deshalb verschlüsselt man meistens den Klartext mit einem symmetrischen Verfahren und den Schlüssel dafür mit RSA.

6. Schlüssellängen

Bei der Chiffrierung von Daten ist die Schlüssellänge enorm wichtig, denn sie gibt den Ausschlag, wie lange man braucht um das Verfahren zu knacken. Hier eine Tabelle zur Verdeutlichung, wie viel Zeit und Geld man benötigt, um einen symmetrischen Schlüssel mit einem Brute-Force-Angriff zu brechen.

Kosten (US-$) 40 Bit 56 Bit 64 Bit 80 Bit 112 Bit 128 Bit100.000 2 s 35 h 1 J 70.000 J 1014 J 1019 J1 Mio. 0,2 s 3,5 h 37 T 7.000 J 1013 J 1018 J10 Mio. 0,02 s 21 min 4 T 700 J 1012 J 1017 J100 Mio. 2 ms 2 min 9 h 70 J 1011 J 1016 J1 Mrd. 0,2 ms 13 s 1 h 7 J 1010 J 1015 J10 Mrd. 0,02 ms 1 s 5,4 min 245 T 109 J 1014 J

100 Mrd. 2 µs 0,1 s 32 s 24 T 108 J 1013 J1012 0,2 µs 0,01 s 3 s 2,4 T 107 J 1012 J1013 0,02 µs 1 ms 0,3 s 6 h 106 J 1011 J

Für Schlüssel eines asymmetrischen Verfahrens gelten andere Zahlen.

Der 40-Bit-Schlüssel wird von einer speziellen Implementation von RC4 verwendet. Der 56-Bit-Schlüssel gehört zu DES, etwas ältere Algorithmen arbeiteten mit 64-Bit-Schlüsseln und ein von der NSA entwickeltes Verfahren namens Skipjack mit 80-Bit-Schlüsseln. Eine Variante von DES3 verwendet 112-Bit-Schlüssel, aber die meisten modernen Algorithmen benutzen Schlüssel, die mindestens eine Länge von 128 Bit haben, darunter auch der Vorgänger von DES, Lucifer oder die Kandidaten des AES-Wettbewerbs.

Die einfachste Methode einen Schlüssel zu brechen ist der Brute-Force-Angriff. Brute Force heißt rohe Gewalt. Hierbei werden alle möglichen Schlüssel durchprobiert, bis der passende gefunden wird. Ein solcher Angriff benötigt sehr viel Rechenleistung. Die Geschwindigkeit eines Angriffs ist

Seite 12 von 19

Page 13: 0000 Chiffrierung

GFS - Mathematik Chiffrierung/Verschlüsselung Daniel Holzer WG 12-3

abhängig von der Anzahl der durchzuprobierenden Schlüssel (bei einem 56-Bit-Schlüssel sind dies immerhin 72.057.594.037.927.936 mögliche Schlüssel) und von der Geschwindigkeit, die das Verfahren benötigt, um zu schauen ob der Schlüssel passt.

Man geht davon aus, dass sich die Rechenleistung alle fünf Jahre verzehnfacht. Auch hier sind Durchbrüche möglich, andererseits wird man irgendwann auch auf physikalische Grenzen stoßen, die einen weiteren Fortschritt unmöglich machen.

Wenn man einen Computer während seiner Leerlaufzeit einen solchen Angriff durchführen lässt, ist das quasi kostenlos, wenn man die Energiekosten außen vor lässt. Große Rechner-Netzwerke können einen 56-Bit-Schlüssel garantiert in einer bestimmten Zeitspanne, wenn nicht sogar an einem Tag, knacken. Ein solcher Brute-Force-Angriff auf einen 128-Bit-Schlüssel würde aber, selbst wenn man alle verfügbaren Computer miteinander vernetzen würde, undurchführbar sein. Die Dauer würde das Alter des Universums überschreiten.

6.1 56-Bit-Schlüssel

Bei der Schlüssellänge von DES gibt es 7,2 · 1016 mögliche Schlüssel. Wenn man jetzt 1.000 Computer, die jeweils 1 Milliarde Schlüssel pro Sekunde berechnen können, miteinander vernetzt, kann dieses Netzwerk 1012 (1.000 · 1.000.000.000) Schlüssel pro Sekunde berechnen. Führt man mit diesem Zusammenschluss einen Brute-Force-Angriff durch, muss man, um auf die Zeit in Sekunden zu kommen, die benötigt wird um das Verfahren zu knacken, 7,2 · 1016 durch 1012 teilen. Dies sind ca. 72.000 Sekunden, etwa 20 Stunden. Es ist sogar möglich noch größere und schnellere Netzwerke zu erstellen, die einen 56-Bit-Schlüssel, wie zum Beispiel DES, sogar in einer Millisekunde brechen können. Gegen Privatpersonen kann man sich mit DES also schützen, aber gegen Firmen, die Geld haben hat man damit keine Chance

6.2 128-Bit-Schlüssel

Ab dieser Länge ist es nicht mehr möglich, das Verfahren zu brechen, aber zur Verdeutlichung der Sicherheit auch hier noch ein Beispiel:128 Bits sind nicht nur etwa doppelt soviel wie 56 Bits, es sind sogar circa 1021 mal mehr. Nimmt man wieder 1.000 Computer, die jeweils 1 Milliarde Schlüssel pro Sekunde berechnen können, würde man für das knacken einer 128-Bit-Chiffrierung etwa 1019 Jahre brauchen.Mit den selben Vorraussetzungen, die gereicht haben, um den 56-Bit-Schlüssel in 1 Millisekunde zu brechen, benötigt man für 128 Bit 100 Milliarden Jahre.

6.3 256-Bit-Schlüssel

Für Schlüssel der Länge 256 Bit gibt es 1077 Möglichkeiten. Mit den Vorraussetzungen von den oberen zwei Schlüssellängen braucht man es hier gar nicht erst zu versuchen. Wer DES in einer Millisekunde knacken kann, braucht für eine 256-Bit-Chiffrierung 1011 Jahre. Unsere Sonne besitzt 1057 Atome. Wenn man nun 1057 Chips nimmt, die je 1 Milliarde Schlüssel pro Sekunde berechnen kann, braucht man für das Knacken der Chiffrierung über 3.000 Jahre. Um einen 256-Bit-Schlüssel zu brechen würde zu viel Energie und Chips benötigt, daher ist es sehr unwahrscheinlich, dass man eine so starke Chiffrierung je knacken kann.6.4 512-Bit-Schlüssel

Wenn man einen 512-Bit-Schlüssel hat, gibt es etwa 10154 mögliche Schlüssel. Angenommen man hat 1080 Chips. Dies entspricht in etwa der Anzahl der Atome eines Universums. Jeder dieser Chips

Seite 13 von 19

Page 14: 0000 Chiffrierung

GFS - Mathematik Chiffrierung/Verschlüsselung Daniel Holzer WG 12-3

müsste 1064 Schlüssel pro Sekunde berechnen können, um eine 512-Bit-Chiffrierung in ungefähr 100 Jahren zu knacken. Um einen 512-Bit-Schlüssel zu brechen, müsste man unvorstellbar viel Energie aufbringen und enorm viele Chips zur Verfügung haben. Diese Menge an Energie kann man nicht sammeln und die Anzahl an benötigten Chips hätte in unserem Universum überhaupt keinen Platz.

6.5 Fazit

Im Allgemeinen ist es nicht unbedingt notwendig, die längsten Schlüssel zu benutzen, denn um beispielsweise Urlaubsfotos zu sichern benötigt man keinen 128-Bit-Schlüssel. Da würde ein 56-Bit-Schlüssel vollkommen ausreichen. Wenn man aber Daten vor allem und jedem schützen will, sollte man den sichersten Schlüssel verwenden.Auch wenn der Aufwand, den man für einen größeren Schlüssel aufbringen muss, nicht größer ist als für einen kleineren, sollte man den größeren wählen. Warum nicht so sicher wie möglich, wenn es nicht mehr Arbeit macht ?

7. Kryptoanalyse / Angriffstypen

Bei der Kryptoanalyse wird versucht eine verschlüsselte Nachricht zu entschlüsseln, ohne dabei den dazugehörigen Schlüssel zu besitzen. Eine Chiffrierung gilt im Allgemeinen als sicher, wenn keine der unten genannten Angriffstypen funktioniert. Gibt es für ein Verfahren eine leichtere Attacke als Brute-Force, so gilt es zumindest theoretisch als gebrochen. Eine Chiffrierung wird erst nach vielen Jahren erfolgloser Kryptoanalyse als sicher angesehen. Dabei bleibt aber weiterhin ein gewisses Restrisiko, weil es neue und schnellere Analyse-Verfahren geben kann und geben wird.Selbstverständlich gibt es noch andere Angriffstypen als die fünf unten genannten, aber die kommen nur für bestimmte Verfahren in Frage.

Dies sind die fünf Hauptangriffe der Kryptoanalyse:

7.1 Brute-Force-Angriff

Bei dieser Attacke wird mit “roher Gewalt” gearbeitet. Es werden solange alle möglichen Schlüssel ausprobiert, bis man den richtigen gefunden hat. Je mehr Geld man zu Verfügung hat, desto mehr Rechenleistung kann man aufbringen und desto kürzer ist die Zeit, die man benötigt, um ein Verfahren zu brechen. Durch das Internet besteht auch die Möglichkeit durch einen Virus, auf fremden Computern im Hintergrund Schlüssel zu berechnen und die Ergebnisse über einen Server auszutauschen. Durch eine Schlüssellänge 128 Bit kann man ein Verfahren allerdings gegen Brute-Force-Angriffe schützen.

7.2 Known-Ciphertext-Angriff

Wenn man einen größeren Teil des Geheimtextes kennt, den man zum Beispiel durch einen nicht sicheren Kanal mitgehört hat, kann man diesen Angriff auf das Verfahren anwenden. Dabei

Seite 14 von 19

Page 15: 0000 Chiffrierung

GFS - Mathematik Chiffrierung/Verschlüsselung Daniel Holzer WG 12-3

durchsucht man den Geheimtext nach einem Muster. So wurde auch das Vigenère-Verfahren geknackt. Gegen moderne Verfahren ist dieser Angriff allerdings wirkungslos.

7.3 Known-Plaintext-Angriff

Bei diesem Angriffstyp kennt der Angreifer ein zusammengehöriges Paar Klartext/Geheimtext. Beim Klartext kann es sich auch um den vermuteten Inhalt handeln, wie zum Beispiel Standardformulierungen wie „Mit freundlichen Grüßen“.

7.4 Chosen-Plaintext-Angriff

Steht dem Angreifer ein Verfahren mit integriertem, aber nicht bekanntem Schlüsseln zur Verfügung, kann er selbst einen Text verschlüsseln und dabei versuchen Rückschlüsse auf den verwendeten Schlüssel zu ziehen. Als Text kann er beispielsweise lauter binärer Nullen nehmen.

7.5 Chosen-Ciphertext-Angriff

Dieser Angriff ist ähnlich dem Chosen-Plaintext-Angriff, nur dass der Angreifer nun mehrere Geheimtexte vorliegen hat mit denen er den Klartext suchen kann.

8. Das One-Time-Pad

Das One-Time-Pad ist das einzige Chiffrierverfahren, dass nicht nur praktisch, sondern auch theoretisch unknackbar ist. Es wurde 1917 von Major Joseph Mauborgne und Gilbert Vernam von AT&T erfunden, ist aber in der Praxis schwierig umzusetzen. Es gibt nämlich drei Bedingungen, die unbedingt eingehalten werden müssen:

Der Schlüssel... ...muss genauso lang sein wie der Klartext ...muss absolut zufällig sein ...darf nur ein einziges Mal verwendet werden

Nur wenn diese drei Bedingungen eingehalten werden, ist das One-Time-Pad sicher.

Verschlüsselt wird bei diesem Verfahren wie bei der Vigenère-Chiffre oder indem man Buchstaben als Zahlen darstellt (a = 1, ... y = 25, z = 26):

Beispiel: Klartextbuchstabe: o bzw. nSchlüsselbuchtstabe: T bzw. B

Verschlüsselung:

(o + T)mod26 = (15 + 20)mod26 = 9 = I(n + B)mod26 = (19 + 2)mod26 = 21 = PEntschlüsselung:

(26 + I − T)mod 26 = (26 + 9 − 20)mod 26 = 15 = o(26 + P − B)mod 26 = (26 + 21 − 2)mod 26 = 19 = n

Seite 15 von 19

Page 16: 0000 Chiffrierung

GFS - Mathematik Chiffrierung/Verschlüsselung Daniel Holzer WG 12-3

Wenn man nun einen Brief verschlüsseln will, muss der Schlüssel genauso lang sein wie der Klartext. Diesen Schlüssel muss man dann dem Empfänger zukommen lassen. Dies stellt schon das erste Problem dar, denn E-Mail und Post sind nicht 100prozentig sicher und kann man einem Boten wirklich vertrauen ?

Laut der zweiten Bedingung muss der Schlüssel einem echten Zufallsprozess entstammen. Computergesteuerte Zufallsgeneratoren kommen hierbei nicht in Frage, da diese Zahlen mit Hilfe eines bestimmten Startwertes berechnen. Das sind keine echten Zufallszahlen. Ein echter Zufallsprozess ist, wenn man zum Beispiel würfelt oder eine Münze wirft. Hat man also einen Text mit 100 Zeichen muss man 100 mal würfeln.

Auch die letzte Bedingung muss strikt eingehalten werden. Wenn ein Kryptoanalytiker mehrere Geheimtexte hat, bei denen sich die Schlüssel überschneiden, kann er den Klartext rekonstruieren.

Diese Methode der Chiffrierung ist für heutige Verhältnisse natürlich sehr einfach. Aber dennoch auch sicher. Das liegt daran, dass zu jedem Geheimtext jeder Klartext gleicher Länge gehören kann. Man kann aus einem Geheimtext einen völlig wirren Klartext machen, wenn man den falschen Schlüssel verwendet. Es können dabei zwar logische Wörter entstehen, aber ein Sinn wäre dabei nicht zu erkennen.

Im Zweiten Weltkrieg verwendete die englische Entschlüsselungstruppe das One-Time-Pad um dem Premierminister die Nachrichten zu übermitteln, welche von den Deutschen mit der Enigma verschlüsselt und von den Engländern geknackt worden waren. Auch der „Heiße Draht“ zwischen dem Weißen Haus und dem Kreml wurde vermutlich mit dem One-Time-Pad gesichert.

Ein Angriff ist auf das One-Time-Pad möglich:Dabei fängt der Angreifer den Chiffretext ab und versucht den Klartext zu erraten. Verschlüsselt wird ja nach dem System P + K = C, wobei P für plaintext (Klartext), K für key (Schlüssel) und C für ciphertext (Geheimtext) steht. Um den Schlüssel zu bekommen formt man auf K = C – P um. Wenn der Angreifer den Klartext nun richtig errät, hat er den Schlüssel und kann den Chiffretext durch einen selbsterstellten austauschen. Bei einer weiteren Chiffrierung müsste er allerdings erneut raten, weil sonst Bedingung drei nicht erfüllt ist.

Solch ein Angriff ist allerdings nicht empfehlenswert, weil je länger der Text ist, desto mehr muss man raten und desto höher ist die Wahrscheinlichkeit, dass man falsch rät.

I. Begriffe und Definitionen

Seite 16 von 19

Page 17: 0000 Chiffrierung

GFS - Mathematik Chiffrierung/Verschlüsselung Daniel Holzer WG 12-3

Angriff, AttackeEin Verfahren um verschlüsselte Botschaften zu entschlüsseln, indem man die Schwachstellen in einem System ausnutzt. Angriffe sind das Ergebnis einer erfolgreichen Kryptoanalyse.

BitEin Bit ist die kleinstmögliche Informationseinheit und kann entweder den Wert 1 (wahr) oder 0 (falsch) annehmen. Berechnungen mit Bits beruhen auf dem Zahlensystem zu Basis 2. Dabei gibt es 3 Operationen:

BlockchiffrierungForm eines symmetrischen Algorithmus. Bearbeitet wird der Klartext in Bitgruppen, sogenannten Blöcken. Moderne Computeralgorithmen arbeiten mit Blöcken einer Länge von mindestens 64 Bit, gängig sind heutzutage aber 128 Bit.

ChiffreEin Synonym für ein Verschlüsselungs-Verfahren.

Chiffretext, GeheimtextDas Resultat der Verschlüsselung.

ChiffrierungEin Synonym für Verschlüsselung; damit kann aber auch ein Verschlüsselungs-Verfahren gemeint sein, kann also auch synonym zu Chiffre verwendet werden.

DechiffrierungEin Synonym für Entschlüsselung.

Digitale SignaturenSie sichern, dass der Text während der Übertragung nicht verändert wurde und vom Besitzer des öffentlichen Schlüssels stammt, quasi eine digitale Unterschrift.

KlartextDer unverschlüsselte, klare Text.

KryptoanalyseDie Analyse von verschlüsselten Daten. Das Ziel ist es, verschlüsselte Nachrichten zu knacken. Der Versuch, Schwachstellen in einem kryptographischen System zu finden und diese für das "Knacken" des Verfahrens auszunutzen, gehört zum Aufgabengebiet.

Kryptoanalytiker, AngreiferJemand, der versucht, ein kryptographisches System anzugreifen, z.B. mit Hilfe von Kryptoanalyse.

KryptographieDie Wissenschaft von der Verschlüsselung von Daten. Entwicklung von kryptographischen Verfahren zur Verschlüsselung von Daten.KryptologieSie vereinigt Kryptographie und Kryptoanalyse. Ein Kryptologe entwickelt selbst kryptographische Algorithmen und führt Tests an anderen Verfahren durch.

Seite 17 von 19

Und-Operation (0 und 0 = 0 0 und 1 = 0 1 und 0 = 0 1 und 1 = 1)Oder-Operation (0 oder 0 = 0 0 oder 1 = 1 1 oder 0 = 1 1 oder 1 = 1)xor-Operation (0 xor 0 = 0 0 xor 1 = 1 1 xor 0 = 1 1 xor 1 = 0)

Page 18: 0000 Chiffrierung

GFS - Mathematik Chiffrierung/Verschlüsselung Daniel Holzer WG 12-3

modulo-Operationx mod y ist im TI einzugeben mit dem Befehl mod(x,y)Bei der modulo-Operation wird die Division mit Rest durchgeführt. Das Ergebnis einer solchen Operation ist der Restwert.Bei y > x ist das Ergebnis x. Bei y < x ist das Ergebnis der Restwert der Division. 17 : 12 = 1,42 1 · 12 = 12 17 – 12 = 5. Das Ergebnis von 17mod12 ist also 5. Hierbei kann man auch das Beispiel einer Uhr nehmen. 17 Uhr entspricht 5 Uhr, weil Uhren nur bis 12 gehen und dann wieder bei 1 anfangen, also 17mod12.

PermutationEin Synonym für Transposition.

SchlüsselEine Zeichenkette, die den Verschlüsselungs- oder Entschlüsselungs-Algorithmus steuert. Jeder, der im Besitz des richtigen Schlüssels ist, kann also aus dem Geheimtext den Klartext erzeugen.

II. Quellenverzeichnis

http://weblab.uni-lueneburg.de/weblab/seminare/einfuehrungdv/Warnke/krypto/kryptographie/

Seite 18 von 19

Page 19: 0000 Chiffrierung

GFS - Mathematik Chiffrierung/Verschlüsselung Daniel Holzer WG 12-3

http://www.hermetic.ch/crypto/introg.htmhttp://www.www-kurs.de/krypto.htmhttp://www.kuno-kohn.de/crypto/crypto/index.htmhttp://www.kom.e-technik.tu-darmstadt.de/projects/security/html/kryptographie.htmlhttp://www.linuxfibel.de/krypto.htm

Seite 19 von 19