Kommunikationsalgorithmus RSA Herr Maue Ergänzungsfach Informatik Neue Kantonsschule Aarau Früjahrsemester 2015 24.04.2015 EFI (Hr. Maue) Kryptographie 24.04.2015 1 / 26
Programm heute 1. Verschlüsselungsverfahren 2. Symmetrische Kryptographie 3. Public-Key-Kryptographie 4. Kryptosystem RSA EFI (Hr. Maue) Kryptographie 24.04.2015 2 / 26
Verschlüsselungsverfahren Verschlüsselte Kommunikation Kryptographie Wissenschaft von der Verschlüsselung von Informationen Protokoll Kommunikationsalgorithmus Kryptosystem Verschlüsselungsverfahren Entwurf und Kryptoanalyse EFI (Hr. Maue) Kryptographie 24.04.2015 3 / 26
Verschlüsselungsverfahren Verschlüsselte Kommunikation Kryptographie Wissenschaft von der Verschlüsselung von Informationen Protokoll Kommunikationsalgorithmus Kryptosystem Verschlüsselungsverfahren Entwurf und Kryptoanalyse Weitere kryptographische Anwendungen Authentifizierung Digitale Signatur Geheimnisteilung... EFI (Hr. Maue) Kryptographie 24.04.2015 3 / 26
Verschlüsselungsverfahren Verschlüsselte Kommunikation Kryptographie Wissenschaft von der Verschlüsselung von Informationen Protokoll Kommunikationsalgorithmus Kryptosystem Verschlüsselungsverfahren Entwurf und Kryptoanalyse Weitere kryptographische Anwendungen Authentifizierung Digitale Signatur Geheimnisteilung... EFI (Hr. Maue) Kryptographie 24.04.2015 3 / 26
Verschlüsselungsverfahren Kommunikationsschema Alice Klartext Klartext Bob Schlüssel Verschlüsselung Entschlüsselung Schlüssel Kryptotext Übertragung Kryptotext EFI (Hr. Maue) Kryptographie 24.04.2015 4 / 26
Verschlüsselungsverfahren Kommunikationsschema Alice Klartext Eve Klartext Bob Kryptotext Schlüssel Verschlüsselung Entschlüsselung Schlüssel Kryptotext Übertragung Kryptotext EFI (Hr. Maue) Kryptographie 24.04.2015 4 / 26
Verschlüsselungsverfahren Beispiel: Kryptotext HFWHHGH WA ACFUSBFCH ROVSF GSV WQV RWQV WA GHFOVZSBASSF RWQV RI VCQVSFVOPSBSF VSFFZWQVSF KSBB RSF OZDSBTWFB RWQV FCSHSH PSHSH TFSWS GQVKSWNSF PSHSH SIFS TFCAAS GSSZS OVBH UCHH WA VSVFSB JOHSFZOBR UCHH RSB VSFFB WA VSVFSB JOHSFZOBR EFI (Hr. Maue) Kryptographie 24.04.2015 5 / 26
Verschlüsselungsverfahren Beispiel: Klartext TRITTST IM MORGENROT DAHER SEH ICH DICH IM STRAHLENMEER DICH DU HOCHERHABENER HERRLICHER WENN DER ALPENFIRN DICH ROETET BETET FREIE SCHWEIZER BETET EURE FROMME SEELE AHNT GOTT IM HEHREN VATERLAND GOTT DEN HERRN IM HEHREN VATERLAND EFI (Hr. Maue) Kryptographie 24.04.2015 6 / 26
Symmetrische Kryptographie Exkurs Teilen mit Rest Primarstufe: 11 : 4 = 2 (Rest 3) EFI (Hr. Maue) Kryptographie 24.04.2015 7 / 26
Symmetrische Kryptographie Exkurs Teilen mit Rest Primarstufe: 11 : 4 = 2 (Rest 3) Sekundarstufe II: 11 mod 4 = 3 ( 11 modulo 4 gleich 3 ) EFI (Hr. Maue) Kryptographie 24.04.2015 7 / 26
Symmetrische Kryptographie Exkurs Teilen mit Rest Primarstufe: 11 : 4 = 2 (Rest 3) Sekundarstufe II: 11 mod 4 = 3 ( 11 modulo 4 gleich 3 ) Anders ausgedrückt: 11 = 2 4 + 3 EFI (Hr. Maue) Kryptographie 24.04.2015 7 / 26
Symmetrische Kryptographie Exkurs Teilen mit Rest Primarstufe: 11 : 4 = 2 (Rest 3) Sekundarstufe II: 11 mod 4 = 3 ( 11 modulo 4 gleich 3 ) Anders ausgedrückt: 11 = 2 4 + 3 Modulo-Rechnung Gegeben sind ganze Zahlen n und m > 0 sowie r < m. Wir sagen n mod m = r, falls es eine ganze Zahl k 0 gibt mit n = k m + r. EFI (Hr. Maue) Kryptographie 24.04.2015 7 / 26
Symmetrische Kryptographie Kryptosystem Caesar Klartextalphabet A clear = {A, B, C,..., Z} Kryptotextalphabet A crypt = {A, B, C,..., Z} Schüsselmenge S = Z 26 = {0, 1, 2,..., 25} Verschlüsselung Entschlüsselung Für einen gegebenen Schlüssel s S wird jeder Buchstabe x im Klartext ersetzt durch den Buchstaben y = (x + s) mod 26. Für einen gegebenen Schlüssel s S wird jeder Buchstabe y im Kryptotext ersetzt durch den Buchstaben x = (y + 26 s) mod 26. EFI (Hr. Maue) Kryptographie 24.04.2015 8 / 26
Symmetrische Kryptographie Kryptosystem Permutation 1 Klartextalphabet A clear = {A, B, C,..., Z} Kryptotextalphabet A crypt = {A, B, C,..., Z} Schüsselmenge Menge aller Permutationen über {A, B, C,..., Z} Verschlüsselung Entschlüsselung Für eine gegebene Permutation π : {A, B, C,..., Z} {A, B, C,..., Z} wird jeder Buchstabe x im Klartext ersetzt durch π(x). Für eine gegebene Permutation π : {A, B, C,..., Z} {A, B, C,..., Z} wird jeder Buchstabe y im Kryptotext ersetzt durch π 1 (y). EFI (Hr. Maue) Kryptographie 24.04.2015 9 / 26
Symmetrische Kryptographie Kryptosystem Permutation 2 Eigenschaften grosse Schlüsselzahl ( S = 26!) EFI (Hr. Maue) Kryptographie 24.04.2015 10 / 26
Symmetrische Kryptographie Kryptosystem Permutation 2 Eigenschaften grosse Schlüsselzahl ( S = 26!) gleicher Buchstabe im Klartext wird unabhängig von der Position auf gleichen Buchstaben abgebildet EFI (Hr. Maue) Kryptographie 24.04.2015 10 / 26
Symmetrische Kryptographie Kryptosystem Permutation 2 Eigenschaften grosse Schlüsselzahl ( S = 26!) gleicher Buchstabe im Klartext wird unabhängig von der Position auf gleichen Buchstaben abgebildet Kryptoanalyse mittels Häufigkeitsanalyse EFI (Hr. Maue) Kryptographie 24.04.2015 10 / 26
Symmetrische Kryptographie Häufigkeitsanalyse EFI (Hr. Maue) Kryptographie 24.04.2015 11 / 26
Symmetrische Kryptographie Symmetrische Kryptosysteme Eigenschaften Gleicher Schlüssel für Ver-/Entschlüsselung Schlüssel gemeinsames Geheimnis zwischen Sender/Empfänger Problematik Schlüsselverwaltung bei vielen Agenten Sicherer Schlüsselaustausch EFI (Hr. Maue) Kryptographie 24.04.2015 12 / 26
Public-Key-Kryptographie Öffentlicher Schlüssel Öffentlicher Schlüssel Alice Klartext Eve Klartext Bob Kryptotext Schlüssel Verschlüsselung Entschlüsselung Privater Schlüssel Kryptotext Übertragung Kryptotext EFI (Hr. Maue) Kryptographie 24.04.2015 13 / 26
Public-Key-Kryptographie Öffentlicher Schlüssel Öffentlicher Schlüssel Alice Klartext Eve Klartext Bob Kryptotext Schlüssel Verschlüsselung Entschlüsselung Privater Schlüssel Kryptotext Übertragung Kryptotext Anforderungen Alice: Verschlüsselung effizient Eve: Entschlüsselung nicht effizient Bob: Entschlüsselung mit Zusatzinformation effizient EFI (Hr. Maue) Kryptographie 24.04.2015 13 / 26
Public-Key-Kryptographie Einwegfunktion 1 Anforderungen an Einwegfunktion f f ist effizient berechenbar f 1 ist nicht effizient berechenbar EFI (Hr. Maue) Kryptographie 24.04.2015 14 / 26
Public-Key-Kryptographie Einwegfunktion 1 Anforderungen an Einwegfunktion f f ist effizient berechenbar f 1 ist nicht effizient berechenbar Damit: Alice: Berechnung Kryptotext y := f (x) aus Klartext x Versenden von y in öffentlichem Netz Eve: Klartext f 1 (y) nicht effizient ermittelbar EFI (Hr. Maue) Kryptographie 24.04.2015 14 / 26
Public-Key-Kryptographie Einwegfunktion 2 Modulares Potenzieren Gegeben: c N, Primzahl p Funktion: f c,p (a) = a c mod p EFI (Hr. Maue) Kryptographie 24.04.2015 15 / 26
Public-Key-Kryptographie Einwegfunktion 2 Modulares Potenzieren Gegeben: c N, Primzahl p Funktion: f c,p (a) = a c mod p Aufgabe: Ermitteln Sie jeweils den Wert von a. f 2,11 (a) = 3 f 3,19 (a) = 7 f 26,103 (a) = 56 EFI (Hr. Maue) Kryptographie 24.04.2015 15 / 26
Public-Key-Kryptographie Einwegfunktion 2 Modulares Potenzieren Gegeben: c N, Primzahl p Funktion: f c,p (a) = a c mod p Aufgabe: Ermitteln Sie jeweils den Wert von a. f 2,11 (a) = 3 f 3,19 (a) = 7 f 26,103 (a) = 56 Allgemein f c,p effizient berechenbar (Idee: x 8 = ((x 2 ) 2 ) 2 ) Kein effizienter Algorithmus für Umkehrfunktion bekannt EFI (Hr. Maue) Kryptographie 24.04.2015 15 / 26
Public-Key-Kryptographie Einwegfunktion 2 Modulares Potenzieren Gegeben: c N, Primzahl p Funktion: f c,p (a) = a c mod p Aufgabe: Ermitteln Sie jeweils den Wert von a. f 2,11 (a) = 3 f 3,19 (a) = 7 f 26,103 (a) = 56 Allgemein f c,p effizient berechenbar (Idee: x 8 = ((x 2 ) 2 ) 2 ) Kein effizienter Algorithmus für Umkehrfunktion bekannt Problem: Bob kann Klartext nicht ermitteln EFI (Hr. Maue) Kryptographie 24.04.2015 15 / 26
Public-Key-Kryptographie Einwegfunktion mit Hintertür 1 Anforderung an Einwegfunktion f mit Hintertür f ist effizient berechenbar f 1 ist nicht effizient berechenbar Mit Hilfe eines Geheimnisses (Hintertür) zu f ist f 1 effizient berechenbar EFI (Hr. Maue) Kryptographie 24.04.2015 16 / 26
Public-Key-Kryptographie Einwegfunktion mit Hintertür 1 Anforderung an Einwegfunktion f mit Hintertür f ist effizient berechenbar f 1 ist nicht effizient berechenbar Mit Hilfe eines Geheimnisses (Hintertür) zu f ist f 1 effizient berechenbar Damit: Alice: Berechnung Kryptotext y := f (x) aus Klartext x Versenden von y in öffentlichem Netz Eve: Klartext f 1 (y) nicht effizient ermittelbar Bob: Klartext f 1 (y) mit Hilfe von Hintertür effizient ermittelbar EFI (Hr. Maue) Kryptographie 24.04.2015 16 / 26
Public-Key-Kryptographie Einwegfunktion mit Hintertür 2 Kryptosystem Dominate Klartextalphabet: {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} Öffentlicher Schlüssel: Graph mit n Knoten Verschlüsselung 1. Klartext: Zahl k 2. Zerlegung von k in n Summanden 3. Beliebige Zuordnung der n Summanden zu n Knoten 4. Addiere zur Zahl jedes Knotens die Zahlen all seiner Nachbarn 5. Kryptotext: Graph mit Zahlen EFI (Hr. Maue) Kryptographie 24.04.2015 17 / 26
Public-Key-Kryptographie Einwegfunktion mit Hintertür 3 Beispiel Klartext 999, Graph mit n = 8 Knoten EFI (Hr. Maue) Kryptographie 24.04.2015 18 / 26
Public-Key-Kryptographie Einwegfunktion mit Hintertür 3 Beispiel 999 = 77 + 39 + 123 + 264 + 96 + 133 + 67 + 200 EFI (Hr. Maue) Kryptographie 24.04.2015 18 / 26
Public-Key-Kryptographie Einwegfunktion mit Hintertür 3 Beispiel Zuordnung der n Summanden zu n Knoten EFI (Hr. Maue) Kryptographie 24.04.2015 18 / 26
Public-Key-Kryptographie Einwegfunktion mit Hintertür 3 Beispiel Zuordnung der n Summanden zu n Knoten 77 39 123 264 96 133 67 200 EFI (Hr. Maue) Kryptographie 24.04.2015 18 / 26
Public-Key-Kryptographie Einwegfunktion mit Hintertür 3 Beispiel Addiere zur Zahl jedes Knotens die Zahlen all seiner Nachbarn 77 39 123 264 96 133 67 200 EFI (Hr. Maue) Kryptographie 24.04.2015 18 / 26
Public-Key-Kryptographie Einwegfunktion mit Hintertür 3 Beispiel Addiere zur Zahl jedes Knotens die Zahlen all seiner Nachbarn 239 345 531 454 468 268 654 364 EFI (Hr. Maue) Kryptographie 24.04.2015 18 / 26
Public-Key-Kryptographie Einwegfunktion mit Hintertür 3 Beispiel Kryptotext: Graph mit Zahlen 239 345 531 454 468 268 654 364 EFI (Hr. Maue) Kryptographie 24.04.2015 18 / 26
Public-Key-Kryptographie Einwegfunktion mit Hintertür 4 EFI (Hr. Maue) Kryptographie 24.04.2015 19 / 26
Public-Key-Kryptographie Einwegfunktion mit Hintertür 4 Privater Schlüssel: Exakte dominierende Menge Menge D von Knoten, so dass jeder Knoten entweder in D enthalten ist oder genau ein Element aus D als Nachbarn hat. EFI (Hr. Maue) Kryptographie 24.04.2015 19 / 26
Public-Key-Kryptographie Einwegfunktion mit Hintertür 4 Privater Schlüssel: Exakte dominierende Menge Menge D von Knoten, so dass jeder Knoten entweder in D enthalten ist oder genau ein Element aus D als Nachbarn hat. EFI (Hr. Maue) Kryptographie 24.04.2015 19 / 26
Public-Key-Kryptographie Einwegfunktion mit Hintertür 4 Entschlüsselung Addiere die Zahlen aller Knoten in D EFI (Hr. Maue) Kryptographie 24.04.2015 19 / 26
Public-Key-Kryptographie Einwegfunktion mit Hintertür 4 Entschlüsselung Addiere die Zahlen aller Knoten in D 239 345 531 454 468 268 654 364 EFI (Hr. Maue) Kryptographie 24.04.2015 19 / 26
Public-Key-Kryptographie Einwegfunktion mit Hintertür 4 Entschlüsselung Addiere die Zahlen aller Knoten in D: 531 + 468 = 999 239 345 531 454 468 268 654 364 EFI (Hr. Maue) Kryptographie 24.04.2015 19 / 26
Public-Key-Kryptographie Einwegfunktion mit Hintertür 5 Kryptosystem Dominate Entschlüsselung korrekt Aufbau: Graph mit exakter dominierender Menge effizient kontruierbar EFI (Hr. Maue) Kryptographie 24.04.2015 20 / 26
Public-Key-Kryptographie Einwegfunktion mit Hintertür 5 Kryptosystem Dominate Entschlüsselung korrekt Aufbau: Graph mit exakter dominierender Menge effizient kontruierbar Einwegfunktion mit Hintertür EFI (Hr. Maue) Kryptographie 24.04.2015 20 / 26
Public-Key-Kryptographie Einwegfunktion mit Hintertür 5 Kryptosystem Dominate Entschlüsselung korrekt Aufbau: Graph mit exakter dominierender Menge effizient kontruierbar Einwegfunktion mit Hintertür Verschlüsselung effizient EFI (Hr. Maue) Kryptographie 24.04.2015 20 / 26
Public-Key-Kryptographie Einwegfunktion mit Hintertür 5 Kryptosystem Dominate Entschlüsselung korrekt Aufbau: Graph mit exakter dominierender Menge effizient kontruierbar Einwegfunktion mit Hintertür Verschlüsselung effizient Entschlüsselung effizient mit privatem Schlüssel EFI (Hr. Maue) Kryptographie 24.04.2015 20 / 26
Public-Key-Kryptographie Einwegfunktion mit Hintertür 5 Kryptosystem Dominate Entschlüsselung korrekt Aufbau: Graph mit exakter dominierender Menge effizient kontruierbar Einwegfunktion mit Hintertür Verschlüsselung effizient Entschlüsselung effizient mit privatem Schlüssel Entschlüsselung ohne privaten Schlüssel? EFI (Hr. Maue) Kryptographie 24.04.2015 20 / 26
Public-Key-Kryptographie Einwegfunktion mit Hintertür 6 Entschlüsselung ohne privaten Schlüssel? Dominierende Menge: NP-schweres Problem EFI (Hr. Maue) Kryptographie 24.04.2015 21 / 26
Public-Key-Kryptographie Einwegfunktion mit Hintertür 6 Entschlüsselung ohne privaten Schlüssel? Dominierende Menge: NP-schweres Problem Lineares Gleichungssystem mit n Variablen: 2n 3 Operationen Für n 0 = 500 000 2 2 3 : Entschlüsselung etwa 31.7 Jahre EFI (Hr. Maue) Kryptographie 24.04.2015 21 / 26
Public-Key-Kryptographie Einwegfunktion mit Hintertür 6 Entschlüsselung ohne privaten Schlüssel? Dominierende Menge: NP-schweres Problem Lineares Gleichungssystem mit n Variablen: 2n 3 Operationen Für n 0 = 500 000 2 2 3 : Entschlüsselung etwa 31.7 Jahre Speicherplatz > 10 11 Bits Verschlüsselung n 2 EFI (Hr. Maue) Kryptographie 24.04.2015 21 / 26
Kryptosystem RSA Einführung Allgemeines Standard in der Public-Key-Kryptographie Einsatz zum Schlüsselaustausch Entwickler: Ronald Rivest, Adi Shamir, Leonard Adleman Turing-Award 2002 EFI (Hr. Maue) Kryptographie 24.04.2015 22 / 26
Kryptosystem RSA Einführung Allgemeines Standard in der Public-Key-Kryptographie Einsatz zum Schlüsselaustausch Entwickler: Ronald Rivest, Adi Shamir, Leonard Adleman Turing-Award 2002 Sicherheit Einwegfunktion basiert auf Multiplikation Umkehrfunktion benötigt Faktorisierung EFI (Hr. Maue) Kryptographie 24.04.2015 22 / 26
Kryptosystem RSA Aufbau Aufbau durch Empfänger 1. Wähle zufällig zwei grosse Primzahlen p und q 2. Berechne n := p q 3. Berechne ϕ(n) := (p 1) (q 1) 4. Wähle zufällig eine grosse Zahl d Z n mit ggt(d, ϕ(n)) = 1 5. Berechne das Inverse e zu d, d.h. e mit (d e) mod ϕ(n) = 1 EFI (Hr. Maue) Kryptographie 24.04.2015 23 / 26
Kryptosystem RSA Aufbau Aufbau durch Empfänger 1. Wähle zufällig zwei grosse Primzahlen p und q 2. Berechne n := p q 3. Berechne ϕ(n) := (p 1) (q 1) 4. Wähle zufällig eine grosse Zahl d Z n mit ggt(d, ϕ(n)) = 1 5. Berechne das Inverse e zu d, d.h. e mit (d e) mod ϕ(n) = 1 Schlüsselpaar Öffentlicher Schlüssel: (n, e) Privater Schlüssel: (p, q, ϕ(n), d) EFI (Hr. Maue) Kryptographie 24.04.2015 23 / 26
Kryptosystem RSA Anwendung Schlüsselpaar Öffentlicher Schlüssel: (n, e) Privater Schlüssel: (p, q, ϕ(n), d) EFI (Hr. Maue) Kryptographie 24.04.2015 24 / 26
Kryptosystem RSA Anwendung Schlüsselpaar Öffentlicher Schlüssel: (n, e) Privater Schlüssel: (p, q, ϕ(n), d) Verschlüsselung (Klartextalphabet {0, 1}) 1. Zerlege den Klartext in Blöcke der Länge log 2 (n 1) + 1 2. Betrachte jeden Block als binäre Codierung einer Zahl w Z n 3. Für jeden Block w: Berechne Kryptotext c := w e mod n EFI (Hr. Maue) Kryptographie 24.04.2015 24 / 26
Kryptosystem RSA Anwendung Schlüsselpaar Öffentlicher Schlüssel: (n, e) Privater Schlüssel: (p, q, ϕ(n), d) Verschlüsselung (Klartextalphabet {0, 1}) 1. Zerlege den Klartext in Blöcke der Länge log 2 (n 1) + 1 2. Betrachte jeden Block als binäre Codierung einer Zahl w Z n 3. Für jeden Block w: Berechne Kryptotext c := w e mod n Entschlüsselung Für jeden Kryptotextblock c: Berechne Klartextblock w := c d mod n EFI (Hr. Maue) Kryptographie 24.04.2015 24 / 26
Kryptosystem RSA Analyse Effizienz Aufbau: Multiplikation, Inverses berechnen Ver-/Entschlüsselung: Modulares Potenzieren EFI (Hr. Maue) Kryptographie 24.04.2015 25 / 26
Kryptosystem RSA Analyse Effizienz Aufbau: Multiplikation, Inverses berechnen Ver-/Entschlüsselung: Modulares Potenzieren Korrektheit Es gilt: (w e mod n) d mod n = (w e ) d mod n = w ed mod n Zu zeigen: w ed mod n = w Beweis: Modulrechnung, Chinesischer Restsatz, Kleiner Satz von Fermat EFI (Hr. Maue) Kryptographie 24.04.2015 25 / 26
Kryptosystem RSA Analyse Effizienz Aufbau: Multiplikation, Inverses berechnen Ver-/Entschlüsselung: Modulares Potenzieren Korrektheit Es gilt: (w e mod n) d mod n = (w e ) d mod n = w ed mod n Zu zeigen: w ed mod n = w Beweis: Modulrechnung, Chinesischer Restsatz, Kleiner Satz von Fermat Sicherheit Kein effizienter Algorithmus für Faktorisierung bekannt EFI (Hr. Maue) Kryptographie 24.04.2015 25 / 26
Zusammenfassung Zusammenfassung Symmetrische Kryptosysteme Gleicher Schlüssel für Sender/Empfänger Problem des sicheren Schlüsselaustausches EFI (Hr. Maue) Kryptographie 24.04.2015 26 / 26
Zusammenfassung Zusammenfassung Symmetrische Kryptosysteme Gleicher Schlüssel für Sender/Empfänger Problem des sicheren Schlüsselaustausches Public-Key-Kryptographie Öffentlicher Schlüssel: Einwegfunktion Privater Schlüssel: Hintertür EFI (Hr. Maue) Kryptographie 24.04.2015 26 / 26
Zusammenfassung Zusammenfassung Symmetrische Kryptosysteme Gleicher Schlüssel für Sender/Empfänger Problem des sicheren Schlüsselaustausches Public-Key-Kryptographie Öffentlicher Schlüssel: Einwegfunktion Privater Schlüssel: Hintertür Kryptosystem RSA Standard zum Schlüsselaustausch Sicherheit basiert auf Faktorisierung EFI (Hr. Maue) Kryptographie 24.04.2015 26 / 26