Vorlesung IT-Sicherheit FH Frankfurt Sommersemester 2007



Ähnliche Dokumente
Kryptographische Systeme (M, C, K, E, D) Symmetrische Verfahren (gleicher Schlüssel zum Verschlüsseln und Entschlüsseln):

Primzahlen und RSA-Verschlüsselung

Beweisbar sichere Verschlüsselung

Verschlüsselung. Kirchstraße 18 Steinfelderstraße Birkweiler Bad Bergzabern Fabian Simon Bfit09

Projekt u23 Symmetrische Kryptografie, Betriebsmodi von Blockchiffren

Einführung Verschlüsselung Mag. Dr. Klaus Coufal

Kryptographische Systeme (M, C, K, e, d) Symmetrische Verfahren (gleicher Schlüssel zum Verschlüsseln und Entschlüsseln):

12 Kryptologie. ... immer wichtiger. Militär (Geheimhaltung) Telebanking, Elektronisches Geld E-Commerce

11. Das RSA Verfahren und andere Verfahren

10. Public-Key Kryptographie

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

monoalphabetisch: Verschiebechiffren (Caesar), multiplikative Chiffren polyalphabetisch: Vigenère-Chiffre

Lehreinheit E V2 Verschlüsselung mit symmetrischen Schlüsseln

Kryptographie eine erste Ubersicht

Professionelle Seminare im Bereich MS-Office

Einführung in die Algebra

1 Mathematische Grundlagen

6.2 Perfekte Sicherheit

KRYPTOLOGIE KRYPTOLOGIE

II.1 Verschlüsselungsverfahren

Einfache kryptographische Verfahren

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

1 C H R I S T O P H D R Ö S S E R D E R M A T H E M A T I K V E R F Ü H R E R

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Grundlagen der Theoretischen Informatik, SoSe 2008

Kapitel 3: Etwas Informationstheorie

Informationsblatt Induktionsbeweis

ReddFort M-Protect. M-Protect 1

10. Kryptographie. Was ist Kryptographie?

Datenverschlüsselung - Einstieg

Musterlösungen zur Linearen Algebra II Blatt 5

Kryptographische Verfahren auf Basis des Diskreten Logarithmus

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

In beiden Fällen auf Datenauthentizität und -integrität extra achten.

Was heißt Kryptographie I? Understanding Cryptography Christof Paar und Jan Pelzl

Betriebsarten von Blockchiffren. ECB Electronic Code Book Mode. Padding. ECB Electronic Code Book Mode

ElGamal Verschlüsselungsverfahren (1984)

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Einführung in die verschlüsselte Kommunikation

7 Rechnen mit Polynomen

1 Kryptosysteme 1 KRYPTOSYSTEME. Definition 1.1 Eine Kryptosystem (P(A), C(B), K, E, D) besteht aus

Klassische Verschlüsselungsverfahren

-Zertifikatsverwaltung

DES der vergangene Standard für Bitblock-Chiffren

1 topologisches Sortieren

Erstellen von x-y-diagrammen in OpenOffice.calc

Anleitung über den Umgang mit Schildern

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Synchronisierung. Kommunikationstechnik, SS 08, Prof. Dr. Stefan Brunthaler 73

Motivation. Formale Grundlagen der Informatik 1 Kapitel 5 Kontextfreie Sprachen. Informales Beispiel. Informales Beispiel.

Institut für Kryptographie und Sicherheit Jun.-Prof. Dr. D. Hofheinz. Stammvorlesung Sicherheit im Sommersemester 2013.

Theoretische Grundlagen der Informatik

Grundlagen der Verschlüsselung und Authentifizierung (2)

Informationen zum neuen Studmail häufige Fragen

Einführung in. Logische Schaltungen

Privatinsolvenz anmelden oder vielleicht sogar vermeiden. Tipps und Hinweise für die Anmeldung der Privatinsolvenz

Informationssicherheit - Lösung Blatt 2

Vorwort... 1 Voraussetzungen... 1 Teilnahme am Testmeeting... 2 Browser Add-on für WebEx installieren... 3 Einrichtung des Audiokanals...

Wie Sie mit Mastern arbeiten

Grundbegriffe der Informatik

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

Asymmetrische. Verschlüsselungsverfahren. erarbeitet von: Emilia Winkler Christian-Weise-Gymnasium Zittau

RSA-Verschlüsselung. Verfahren zur Erzeugung der beiden Schlüssel:

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Prozentrechnung. Wir können nun eine Formel für die Berechnung des Prozentwertes aufstellen:

Lineare Gleichungssysteme

Kulturelle Evolution 12

3 Betriebsarten bei Blockverschlüsselung

Welche Bereiche gibt es auf der Internetseite vom Bundes-Aufsichtsamt für Flugsicherung?

Zusammenfassung der Vorlesung vom

Konzepte der Informatik

4 Aufzählungen und Listen erstellen

Hilfen zur Verwendung der Word-Dokumentvorlage des BIS-Verlags

Viele Bilder auf der FA-Homepage

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Grundlagen der höheren Mathematik Einige Hinweise zum Lösen von Gleichungen

Grundbegriffe der Informatik

Installation OMNIKEY 3121 USB

AutoTexte und AutoKorrektur unter Outlook verwenden

Sichere Anleitung Zertifikate / Schlüssel für Kunden der Sparkasse Germersheim-Kandel. Sichere . der

Lichtbrechung an Linsen

Ein Scan basierter Seitenangriff auf DES

Widerrufsbelehrung der Free-Linked GmbH. Stand: Juni 2014

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

RS-Flip Flop, D-Flip Flop, J-K-Flip Flop, Zählschaltungen

Punkt 1 bis 11: -Anmeldung bei Schlecker und 1-8 -Herunterladen der Software

Alle Schlüssel-Karten (blaue Rückseite) werden den Schlüssel-Farben nach sortiert und in vier getrennte Stapel mit der Bildseite nach oben gelegt.

6.2 Scan-Konvertierung (Scan Conversion)

Welche Gedanken wir uns für die Erstellung einer Präsentation machen, sollen Ihnen die folgende Folien zeigen.

TECHNISCHE UNIVERSITÄT MÜNCHEN

Wachstum 2. Michael Dröttboom 1 LernWerkstatt-Selm.de

Inhalt. Allgemeine Einführung. Argumentationsvermögen. Räumliches Vorstellungsvermögen. Begabungen und Fähigkeiten messen

iphone- und ipad-praxis: Kalender optimal synchronisieren

Hilfedatei der Oden$-Börse Stand Juni 2014

Repetitionsaufgaben Wurzelgleichungen

K.U.Müller November 2009

Theoretische Grundlagen der Informatik WS 09/10

Ein Vorwort, das Sie lesen müssen!

SEK II. Auf den Punkt gebracht!

Transkript:

Vorlesung IT-Sicherheit FH Frankfurt Sommersemester 27 Dr. Volker Scheidemann

Kapitel 3: Kryptografie Allgemeine Kryptosysteme Standards für symmetrische Verschlüsselung: DES und AES Kryptografie mit öffentlichen Schlüsseln Public Key Infrastrukturen Seite: 2

Klassische Chiffren Die Idee, Kryptografie, d.h. Geheimschriften zu benutzen, ist schon sehr alt. Bereits in den ältesten Chiffren wurden die gleichen Prinzipien angewendet, wie in modernen Verschlüsselungssystemen. Eines der einfachsten und bekanntesten Verfahren ist die CÄSAR-Chiffre. Seite: 3

Beispiel: Die CÄSAR-Chiffre Klartext: veni vidi vici Algorithmus: Zyklische Verschiebung nach rechts um n Buchstaben Schlüssel: n=7 Geheimtext: clup cpkp cpjp Seite: 4

Beispiel: Die CÄSAR-Chiffre In dem Film 21 Odysee im Weltall von Stanley Kubrick gibt es einen sprechenden Computer namens HAL. Der Name HAL ist das Ergebnis einer Cäsar-Verschlüsselung mit n = 25. Wie heißt HAL wirklich? Seite: 5

Definitionen 1. Sei Σ eine endliche Menge. Wir nennen Σ ein Alphabet. 2. Die Menge Σ * { x L x x Σ, n } : = N aller Strings endlicher Länge mit Buchstaben aus Σ heißt Menge der Wörter über Σ. 3. Eine Sprache über Σ ist eine Teilmenge 1 n i V * Σ Seite: 6

Beispiel Σ V : = : = { a, b, K, z}, { } x Σ * x ist lateinisch Dann ist z.b. veni V, vidi V, vici V Seite: 7

Definition eines Kryptosystems Gegeben seien zwei Sprachen P und C über einem Alphabet Σ. P (Plaintext) heißt Klartextraum, C Chiffretextraum. Weiter sei eine Menge K gegeben. K nennen wir Schlüsselraum (Key space). Zu jedem k K seien Funktionen E k : P C, D : C k P definiert mit der Eigenschaft, dass zu jedem k K ein d=d k K existiert, sodass für alle p P ist. D ( E ( p) ) p d k = (1) Seite: 8

Definition eines Kryptosystems Die Funktionenfamilie {E k / k K} heißt Familie der Verschlüsselungsfunktionen zum Schlüsselraum K, die Funktionenfamilie {D d / d K} Familie der Entschlüsselungsfunktionen. Ein Kryptosystem über dem Alphabet Σ ist ein Quintupel (P,C,K,E,D) bestehend aus einem Klartextraum P, einem Chiffretextraum C, einem Schlüsselraum K und Familien E und D von Ver- bzw. Entschlüsselungsfunktionen. Seite: 9

Symmetrische und asymmetrische Kryptosysteme Ein Kryptosystem heißt symmetrisch oder Secret Key System, wenn in der Gleichung (1) stets d = k gewählt werden kann oder wenn sich d leicht aus der Kenntnis von k errechnen läßt. Ansonsten heißt es asymmetrisch oder Public Key System. Seite: 1

Beispiel Die Cäsarchiffre lässt sich formal folgendermaßen modellieren. Wir codieren die Buchstaben des Alphabetes mit Zahlen: a =, b = 1,, z = 25 und erhalten folgendes Kryptosystem Σ : = P : = K E D k d {,1, K,25 } = {,1, K,25 }, ( p) : = ( p + k mod 26) ( c) : = ( c d mod 26) : C : = Σ,,, Seite: 11

Die Definition ist sehr formal. Dies hat den Zweck, dass man nur einen Begriff für alle möglichen Anwendungen braucht. In der Praxis sieht es i.a. so aus, dass man pro Verfahren nur eine einzige Verschlüsselungs- bzw. Entschlüsselungsfunktion, d.h. jeweils einen Algorithmus hat, in den ein spezieller Schlüssel eingesetzt wird, um das Verfahren in Gang zu setzen. Das Ergebnis hängt dann praktisch nur vom Schlüssel ab, da alles andere sich nicht ändert. Seite: 12

Seite: 13

Angriffe auf Kryptosysteme Seite: 14

Angriffe auf Kryptosysteme Wir unterscheiden zwischen partiellem und vollständigen Brechen eines Kryptosystems. Partielles Brechen ist beispielsweise das Entschlüsseln einer einzelnen verschlüsselten Nachricht. Dies zieht aber nicht notwendig nach sich, dass man alle Nachrichten entschlüsseln kann. Seite: 15

Angriffe auf Kryptosysteme Ein Kryptosystem ist vollständig gebrochen, wenn ein Angreifer alle Nachrichten entschlüsseln bzw. manipulieren kann. Seite: 16

Angriffe auf Kryptosysteme In der Theorie gibt es mit einer Ausnahmen kein unknackbares Kryptosystem. Es gibt eine Attacke, die immer funktioniert: der Brute Force Angriff Seite: 17

Angriffe auf Kryptosysteme Brute Force Angriff bedeutet, dass ein Angreifer einfach den gesamten Schlüsselraum K nach dem richtigen Schlüssel einen nach dem anderen durchsucht und ausprobiert. Seite: 18

Angriffe auf Kryptosysteme Allerdings versagt selbst der Brute Force Angriff, wenn der Angreifer nicht erkennen kann, welcher Schlüssel denn der richtige ist. Dies ist die Grundlage des einzigen beweisbar sicheren Verfahrens, des so genannten One Time Pads (folgt später). Seite: 19

Angriffe auf Kryptosysteme Die Mindestanforderung an ein Kryptosystem ist, dass ein Brute Force Angriff schwer ist, möglichst exponentielle Laufzeit hat. Dazu muss der Schlüsselraum entsprechend groß sein. Seite: 2

Angriffe auf Kryptosysteme Man beachte jedoch, dass dies zunächst nur eine relative Größe ist. Man erhält nur dann wirklich einen Schlüsselraum der Größe 2 n (bei einem n Bit langen Schlüssel), wenn für das Verfahren keine besonderen Bedingungen an den Schlüssel gestellt werden, wenn also potentiell jeder Schlüssel in Frage kommt. Seite: 21

Angriffe auf Kryptosysteme Viele Verfahren, insbesondere Public Key Verfahren benötigen jedoch spezielle Schlüssel, z.b. Produkte von zwei Primzahlen. Davon gibt es viel weniger im Gesamtraum. In so einem Fall muss die Bitlänge größer gewählt werden. Typische Längen für Public Keys sind 512, 124 oder 248 Bit. Seite: 22

Angriffe auf Kryptosysteme Beispiel: Der Verschlüsselungsalgorithmus DES hat eine Schlüssellänge von 56 Bit. Damit benötigt eine Brute Force Attacke maximal 2 56 = 72.57.594.37.927.936 Versuche. Seite: 23

Angriffe auf Kryptosysteme Diese Zahl gilt bereits seit geraumer Zeit nicht mehr als groß genug, und das, obwohl die Wahrscheinlichkeit, einen DES-Schlüssel zu erraten, geringer ist, als den Hauptgewinn der US- Lotterie zu gewinnen und am gleichen Tag noch vom Blitz erschlagen zu werden. Seite: 24

Angriffe auf Kryptosysteme Die Variante TripleDES (3DES) hat einen Schlüsselraum von 2 168 = (2 56 ) 3 Schlüsseln und gilt auch heute noch als sicher. Allerdings ist der Algorithmus selbst recht aufwändig. Seite: 25

Angriffe auf Kryptosysteme Zum Vergleich: Nehmen wir an Ein Supercomputer könnte eine Billiarde ( = 1 15 ) Schlüssel pro Sekunde testen. Wir könnten eine Milliarde (=1 9 ) solcher Computer parallel arbeiten lassen, sodass jeder einen unterschiedlichen Abschnitt des Schlüsselraums durchsucht. Seite: 26

Angriffe auf Kryptosysteme Ein Jahr hat 31.536. Sekunden. Im Schnitt muss bei einer Brute Force Attacke etwa die Hälfte des Schlüsselraumes durchsucht werden, bis der korrekte Schlüssel gefunden ist. Dies würde also ca. 2 167 / (31.536 x 1 27 ) 5x1 18 Jahre dauern. Das ist 25 Millionen mal so lang, wie unser Universum alt ist. Seite: 27

Angriffe auf Kryptosysteme Ein Kryptosystem gilt als sicher, wenn kein Angriff auf das System bekannt ist, welcher wesentlich besser als ein Brute Force Angriff ist und das einen ausreichend großen Schlüsselraum hat. Nach dem heutigen Stand der Technik und des Wissens muss der Schlüsselraum mindestens etwa 1 3 Schlüssel umfassen. Das sind ca. 2 1. Seite: 28

Angriffe auf Kryptosysteme Neben der Brute Force Attacke unterscheidet man noch folgende allgemeine Angriffe, die sich nach der Art und dem Umfang der dem Angreifer zur Verfügung stehenden Informationen einteilen: Seite: 29

Angriffe auf Kryptosysteme Ciphertext only : Der Angreifer kennt nur einen Chiffretext c = E k (p). Ziel: Finde p oder k. Known plaintext : Der Angreifer kennt ein p und das zugehörige c. Ziel: Finde k. Chosen plaintext : Der Angreifer ist in der Lage, zu jedem p selbst das zugehörige c zu erzeugen. Ziel: Finde k. Seite: 3

Beispiele Ciphertext only : Eve belauscht ein verschlüsseltes Telefonat zwischen Alice und Bob. Known plaintext : Eve fängt eine chiffrierte E-Mail ab von Alice an Bob ab und weiß, dass die E-Mail mit Liebe Grüße, Alice aufhört. Chosen plaintext : Eve hat ein vorkonfiguriertes Verschlüsselungsgerät geklaut und verschlüsselt nun selber Telefonate. Seite: 31

Angriffe auf Kryptosysteme Es macht keinen Sinn, die Sicherheit eines Verfahrens auf die Geheimhaltung des verwendeten Algorithmus zu stützen. Seriöse Anbieter von Verschlüsselungsprodukten verwenden wohlbekannte Standardalgorithmen wie 3DES, AES, RSA etc. Seite: 32

Angriffe auf Kryptosysteme Dieses Vorgehen stützt sich auf das so genannte Kerckhoff sche Prinzip: Die Sicherheit eines kryptografischen Verfahrens darf ausschließlich von der Wahl und der Geheimhaltung des verwendeten Schlüssels abhängen und in keiner Weise vom Verfahren selbst. Seite: 33

Angriffe auf Kryptosysteme Der Grund dafür ist, dass man davon ausgeht, dass ein Verfahren um so besser und sicherer ist, je mehr Menschen sich bereits damit beschäftigt haben. Ein Verfahren, das geheim gehalten wird, setzt sich automatisch dem Verdacht aus, entweder Sicherheitslücken zu enthalten oder Hintertüren, durch die Dritte die Verfahren entschlüsseln können. Seite: 34

Blockchiffren Seite: 35

Blockchiffren: Definition Eine Blockchiffre der Länge n ist ein Kryptosystem (Σ n, Σ n, K, E, D), d.h. Klartextraum und Chiffretextraum bestehen aus Wörtern der Länge n über dem Alphabet Σ. Seite: 36

Blockchiffren Beispiel: Die Cäsar-Chiffre ist eine Blockchiffre der Länge 1, wenn wir als Alphabet die lateinischen Buchstaben verwenden. Codieren wir jedoch Buchstaben als 7 Bit ASCII-Code und benutzen das Bit-Alphabet {,1}, dann ist die Cäsar-Chiffre eine Blockchiffre der Länge 7. Seite: 37

Blockchiffren Üblicherweise legt man in der Praxis für Blockchiffren das Alphabet Σ = {,1} zu Grunde, d.h. Klar- und Chiffretexte sind Bitblöcke einer festen Länge. Viele Kryptoverfahren operieren auf Blöcken der Länge 64 (z.b. DES, 3DES) oder 128 Bit (Rijndael = AES). Seite: 38

Blockchiffren Ein Verschlüsselungsverfahren, welches als Blockchiffre funktioniert, zerlegt einen Klartext entsprechend zunächst in Blöcke fester Länge. Sollte die Gesamtlänge nicht durch die Blocklänge teilbar sein, muss evtl. mit Bit- Auffüllung (Padding) gearbeitet werden. Seite: 39

Permutationschiffren Ein häufiger Baustein von Blockchiffren sind Permutationen. Eine Permutation π operiert auf einem Block der Länge n einfach dadurch, dass π die Reihenfolge der einzelnen Stellen eines Blocks verändert. Seite: 4

Permutationschiffren Beispiel: Der Textblock abc der Länge 3 besitzt die 6 Permutationen abc, acb, bac, bca, cab, cba Frage: Welche Permutationen besitzt der Textblock abcd? Seite: 41

Permutationschiffren Eine Permutation π auf einem Block der Länge n kann man sich als Vorschrift vorstellen, die dem i-ten Eintrag eines Blocks eindeutig eine Position π(i) zuweist, sodass die Indexmenge {1,..., n} dabei unverändert bleibt, d.h. eine Permutation ist eine Bijektion π: {1,..., n} {1,..., n}. Seite: 42

Permutationschiffren Jede Permutation eines n-blocks kann man sich als Schlüssel eines Chiffrierverfahrens vorstellen, d.h. wir haben die Verschlüsselungsfunktion E π ( x ) 1 Lxn := xπ ( 1) Lxπ ( n) Frage: Wie groß ist der Schlüsselraum einer Permutationschiffre von n-blöcken? Seite: 43

Substitutionschiffren Eine weitere Blockchiffrenart sind Substitutionschiffren. Eine Substitutionschiffre ersetzt Blöcke eines Klartextes nach einem festen Schema durch Blöcke von Chiffretext. Dabei stimmen Klar- und Chiffretextraum nicht notwendig überein. Seite: 44

Substitutionschiffren Beispiel: Betrachten wir folgende Zweierblöcke: aa, ab, ac, ba, bb, bc, ca, cb, cc. Dann ist z.b. folgende Substitution möglich: aa 11, ab 11, ac 111, ba 11, bb 11, bc 111, ca 111, cb 111, cc 1111 Der Klartext abacccba würde damit verschlüsselt zu 11111111111 Seite: 45

Stromchiffren Seite: 46

Stromchiffren Stromchiffren funktionieren nach einem etwas anderen Prinzip. Hierbei generiert das Verschlüsselungsverfahren einen kontinuierlichen Strom von Bits, die von einem Angreifer nicht vorhersagbar sind und vom Schlüssel abhängen. Diese werden dann mittels XOR bitweise mit den Klartextbits verknüpft. Seite: 47

Stromchiffren: Beispiel Der Klartext sei 11 1 1 11 11 1. Der Schlüsselstromgenerator produziere folgende (zyklische) Folge von Bits: 11 11 11 11 Dann ergibt sich als Chiffretext: 111 1 11 1 Seite: 48

Das One Time Pad Das einzige Verschlüsselungsverfahren, von dem man theoretisch nachweisen kann, dass es sicher ist, ist das so genannte One Time Pad. Seite: 49

Das One Time Pad Leider ist es in der Realität praktisch nicht einsetzbar. Das One Time Pad erfordert nämlich einen rein zufälligen Schlüsselstrom, dessen Länge mit der Länge des Klartextes übereinstimmt. Außerdem dürfen keine zwei Klartexte mit dem gleichen Schlüsselstrom verschlüsselt werden. Seite: 5

Das One Time Pad Warum ist das OTP sicher? Da der Schlüsselstrom genau so lang, wie der Klartext ist, kann zu einem erzeugten Chiffretext jeder beliebige Klartext gehört haben. Dazu sei c ein fester Chiffretext, der mittels des Schlüssels k aus einem Klartext p erzeugt wurde: c = p k Seite: 51

Das One Time Pad Wir zeigen nun, dass c auch aus einem beliebigen anderen Klartext p erzeugt werden kann ( steht für XOR) : c = p k = p p p k = p k mit k = p p k Seite: 52

Entschlüsseln symmetrischer Chiffren Bisher haben wir uns nur mit der Verschlüsselung von Nachrichten mittels symmetrischer Chiffren beschäftigt. Wie bekommt man nun eine Nachricht aber wieder entschlüsselt, d.h. wie sehen die Entschlüsselungsfunktionen der vorgestellten Chiffren konkret aus? Seite: 53

Entschlüsseln symmetrischer Chiffren Betrachten wir als erstes die Substitutionschiffre. Diese kann man sich als eine Tabelle vorstellen, die die Zuordnungen von Klar- zu Chiffretextblöcken enthält, also z.b. 11 111 11 1111 aa 1 ab 1 ba 1 bb 1 Seite: 54

Entschlüsseln symmetrischer Chiffren Diese Tabelle ist praktisch der Schlüssel für die Substitution, denn sie sagt aus, dass der Block xy durch die Bitfolge zu ersetzen ist, die eine Eins in der Zeile von xy hat, also z.b. aa durch 11. 11 111 11 1111 aa 1 ab 1 ba 1 bb 1 Seite: 55

Entschlüsseln symmetrischer Chiffren Zur Entschlüsselung können fast das gleiche machen. Wir müssen nur in der Tabelle Zeilen und Spalten vertauschen. Man erhält aa ab ba bb 11 1 111 1 11 1 1111 1 Seite: 56

Entschlüsseln symmetrischer Chiffren Nun kann man einfach den Chiffretext als neuen Klartext auffassen und mit der gleichen Substitutionsregel, nur mit geändertem Schlüssel, wieder in den ursprünglichen Text rückübersetzen. aa ab ba bb 11 1 111 1 11 1 1111 1 Seite: 57

Entschlüsseln symmetrischer Chiffren Man kann sagen, dass die Entschlüsselungsfunktion D mit der Verschlüsselungsfunktion E übereinstimmt, wenn die Schlüssel identisch sind. Entschlüsselung ist in diesem Fall das gleiche wie Verschlüsselung nur mit anderem Schlüssel. Auch hierin spiegelt sich die Namensgebung symmetrische Chiffre wieder. Seite: 58

Entschlüsseln symmetrischer Chiffren Formal ist also D d = E k, wobei k die erste Substitutionstabelle und d die transponierte, d.h. an der Hauptdiagonalen gespiegelte Tabelle ist Seite: 59

Entschlüsseln symmetrischer Chiffren Die Entschlüsselung nach dem Schema funktioniert auch für Permutations- und Stromchiffren. Man muss nur die richtigen Schlüssel d finden. Aufgabe: Finden Sie die Schlüssel! Seite: 6

Betriebsmodi für Blockchiffren ECB CBC CFB OFB Produktchiffren und iterierte Chiffren Seite: 61

Electronic Code Book Eine Blockchiffre zerlegt einen Klartext in Blöcke fester Länge. Im ECB Modus werden diese Blöcke dann einer nach dem anderen unabhängig voneinander verschlüsselt. Die Entschlüsselung verläuft genauso. In Formeln: c E ( p ) i p i = Verschlüsselung = k E 1 k i ( c ) i Entschlüsselung Seite: 62

Electronic Code Book Seite: 63

Electronic Code Book: Vorteile Schnell und einfach zu implementieren Verschlüsselungsfehler in einem Block wirken sich nicht auf weitere Blöcke aus Seite: 64

Electronic Code Book: Nachteile Gleiche Klartextblöcke werden auf gleiche Chiffretextblöcke abgebildet. Statistische Häufungen im Klartext tauchen somit im Chiffretext wieder auf. Beispiel: Buchtsabenhäufung in Texten Ein Angreifer kann gefälschte Chiffretextblöcke einstreuen, ohne dass man das an den übrigen Blöcken erkennen kann. Ein Angreifer kann korrekte Chiffretextblöcke abfangen und neu senden (Block Replay). Beispiel: Wiederholte Überweisungsaufträge Seite: 65

Cipher Block Chaining Jeder neue Klartextblock wird vor der Verschlüsselung noch mittels XOR mit dem vorhergehenden Chiffretextblock verknüpft Für den ersten Block wird ein Initialisierungsvektor (IV) benötigt. Der IV ist ein beliebiger Text in Blocklänge. Seite: 66

Cipher Block Chaining Verschlüsselung: c c i : = : = IV E k ( c p ) i 1 i ( ) Entschlüsselung: p = c 1 E c i i 1 für i = 1, 2, 3, k i Seite: 67

Cipher Block Chaining Seite: 68

Cipher Block Chaining Beispiel: Gegeben seien die drei Klartextblöcke 1111, 1111, 11. Wir betrachten die Cäsar-Chiffre als 4-Bit-Blockchiffre mit dem Schlüssel k = 2 im CBC-Modus. Der Initialisierungsvektor sei IV = 1. Damit ergibt sich die Verschlüsselung c = IV = 1 c 1 = E 2 (c p 1 ) = E 2 (1 1111) = E 2 (111) = 111 c 2 = E 2 (c 1 p 2 ) = E 2 (111 1111) = E 2 (1) = 1 c 3 = E 2 (c 2 p 3 ) = E 2 (1 11) = E 2 (1) = 1 Seite: 69

Cipher Block Chaining Beispiel: Nun zur Entschlüsselung: p i = c i-1 E k -1 (c i ). Damit ergibt sich p 1 = c E -2 (c 1 ) = 1 E -2 (111) = 1 111 = 1111 p 2 = c 1 E -2 (c 2 ) = 111 E -2 (1) = 111 1 = 1111 p 3 = c 2 E -2 (c 3 ) = 1 E -2 (1) = 1 1 = 11 Seite: 7

Cipher Block Chaining: Vorteile Statistische Häufungen werden verschleiert Fälschung einzelner Blöcke wird unmöglich Block Replay wird vereitelt Seite: 71

Cipher Block Chaining: Nachteile Verschlüsselungs- oder Übertragungsfehler in einem Block stören den gesamten Chiffretext Unabhängige Verschlüsselung einzelner Blöcke ist nicht möglich Seite: 72

Betriebsmodi Während im ECB und im CBC Modus die Verschlüsselungsfunktion direkt auf den Klartextblöcken operiert, erzeugt sie in den nun folgenden Modi CFB (Cipher Feedback) und OFB (Output Feedback) einen Schlüsselstrom, der dann mit dem Klartext XOR-verknüpft wird. Seite: 73

Betriebsmodi Wie bei allen Stromchiffren ist es hier sehr wichtig, dass Ver- und Entschlüsselung synchron ablaufen. Daher muss die Schlüsselstromgenerierung deterministisch erfolgen. Aus diesem Grund sind Schlüsselströme immer zyklisch (außer bei One Time Pads). Seite: 74

Betriebsmodi Beide Modi besitzen ein Feedback-Register, dessen Länge der Blockgröße der eingesetzten Blockchiffre entspricht, welches zunächst mit einem IV geladen wird. Dieses Register wird mit der Blockchiffre verschlüsselt und liefert dann den eigentlichen Schlüsselstrom. Ein Vorteil dieses Vorgehens ist z.b., dass man nicht erst warten muss, bis ein kompletter Datenblock vorliegt, um mit der Verschlüsselung zu beginnen. Seite: 75

Cipher Feedback (CFB) Seite: 76

Cipher Feedback (CFB) Der große Vorteil des CFB Modus ist seine Fähigkeit zur Selbstsynchronisation. Da die Feedback-Register sowohl zur Ver- als auch zur Entschlüsselung vom gleichen Chiffretext gespeist werden, sind Register der Länge n automatisch nach dem Empfang von n Chiffretextbits synchron. Seite: 77

Output Feedback (OFB) Seite: 78

Output Feedback (OFB) Der OFB Modus hat den Vorteil, dass die Schlüsselstromgenerierung nicht vom Klar- oder Chiffretext abhängt und daher offline erledigt werden kann. Außerdem dehnen sich Fehler nicht aus. Jedes fehlerhafte Bit im Klartext erzeugt genau ein fehlerhaftes Bit im Chiffretext. Diese Eigenschaft ist z.b. bei Sprach- oder Videoübertragungen von Vorteil, in denen einzelne Fehler sich nicht so schwerwiegend auswirken. Seite: 79

Produktchiffren In der Praxis eingesetzte Blockchiffren sind meist Produktchiffren, deren Einzelbausteine Substitutionen und Permutationen sind. Man spricht daher auch von SP-Chiffren. Dies bedeutet nichts anderes, als das die tatsächliche Verschlüsselung eine Hintereinanderausführung dieser Einzelschritte ist: E = E olo E k m, k 1, k Seite: 8

Produktchiffren Da jeder Einzelbaustein E i,k eine invertierbare Funktion ist, ergibt sich die Entschlüsselungsfunktion einfach als Verkettung der einzelnen Entschlüsselungsfunktionen in umgekehrter Reihenfolge: Für einen Klartext p gilt dann nämlich: E 1 1 1 k = E1, k olo Em, k ( ) 1 1 E ( 1, k olo Em, k o Em, k olo E1, k )( p) = E ( E E ) 1 1 olo o olo E ( )( p) = p 1, k m, k m, k 1, k Seite: 81

Iterierte Chiffren Um einen Verschlüsselungsalgorithmus noch im Überblick halten zu können, bedient man sich außerdem meist iterierter Chiffren, d.h. die tatsächliche Verschlüsselung ergibt sich aus dem mehrfachen (schlüsselabhängigen) Durchlauf ein und desselben Algorithmus. Man spricht auch von Runden eines Algorithmus. Seite: 82