Vorlesung
Risikomanagement in der IT06 – Kryptographie
Sommersemester 2015
Dr. Rupert Lipowsky
2 Kryptographie und PKI
Definitionen
Kryptologie:Als Kryptologie (von gr. κρυπτός „versteckt, verborgen, geheim“) bezeichnet man die Wissenschaft, die sich mit technischen Verfahren für die Informations-sicherheit beschäftigt. Dabei wird unterschieden zwischen: Kryptographie Kryptoanalyse
Kryptographie:Als Kryptographie bezeichnet man die Wissenschaft der Verschlüsselung von Informationen. Heute beinhaltet der Begriff Verfahren sowohl gegen unbefugtes Lesen als auch gegen unbefugtes Verändern von Informationen.
Steganographie:Als Steganographie (von gr. στεγανός „bedeckt“) bezeichnet die Kunst oder Wissen-schaft der verborgenen Speicherung oder Übermittlung von Informationen
Quelle: Wikipedia
3 Kryptographie und PKI
Einsatz von Kryptographie im Alltag
Quelle: CrypTool
4 Kryptographie und PKI
Geschichtliche Entwicklung der Kryptographie
Kryptographie vor 1975 („klassische Kryptographie“) Caesar-Code Vigenère-Verschlüsselung „One Time Pad“
Kryptographie nach 1975(basierend auf mathematischen Verfahren) Diffie-Hellman(-Merkle) Schlüsselaustausch RSA-Verfahren (RSA = Rivest, Shamir, Adleman) Hashfunktionen (MD-5, SHA-1) PKI (Public Key Infrastructure)
Symmetrische Verfahren (DES, 3DES, AES)
5 Kryptographie und PKI
Grundlagen (1): Ver- und Entschlüsselung
Quelle: CrypTool
Verschlüsselungsverfahren: Bei der Verschlüsselung wird ein Originaltext (Klartext) mit Hilfe eines geheimen Schlüssels in
einen Geheimtext (Chiffretext) umgewandelt. Umgekehrt wird bei der Entschlüsselung mit der Kenntnis des geheimen Schlüssels der
Chiffretext in den Klartext zurückgewandelt. Verschlüsselungsverfahren nutzen Ersetzen von Buchstaben des Alphabets, Veränderung der
Anordnung des Texts, mathematische Funktionen und Berechnungen u.v.m. Schlüssel sind z.B. Buchstaben, Wörter, Zahlen, Zeichen
Arten von Verschlüsselungsverfahren: symmetrische Verfahren asymmetrische Verfahren
6 Kryptographie und PKI
Grundlagen (2): Symmetrische Verfahren
Symmetrische Verschlüsselung:Zur Ver- und Entschlüsselung wird derselbe Schlüssel s verwendet. Es kann sein, dass bei symmetrischen Verfahren der Schlüssel zur Verschlüsselung nicht
völlig identisch ist mit dem Schlüssel zur Entschlüsselung. In diesen Fällen kann aber der eine Schlüssel mit der Kenntnis des anderen leicht ermittelt werden.
Der symmetrische Schlüssel s ist sowohl dem Absender, als auch dem Empfänger bekannt und muss vor Dritten geheim gehalten werden.
Quelle: CrypTool
7 Kryptographie und PKI
Caesar-Verschlüsselung
Ver- und Entschlüsselung durch Verschiebung von Buchstaben Beispiel für Verschlüsselung: „3 Zeichen nach links“ Beispiel für Entschlüsselung: „3 Zeichen nach rechts“ Sonderfall: „ROT13“
Beispiel:Verschlüsselter Text: YHQL YLGL YLFL
Quelle: CrypTool
8 Kryptographie und PKI
Kryptoanalyse der Caesar-Verschlüsselung
Gegenüberstellung der Häufigkeitsverteilungen von einzelnen Buch-staben in einem mit ROT13 verschlüsselten Text und einem (deutschen) Klartext
Quelle: CrypTool
9 Kryptographie und PKI
Vigenère-Verschlüsselung
Beispiel: Schlüsselwort: CHIFFRE
zu verschlüsselnder Text:VIGENERE
Chiffrierter Text:XPOJSVVG
Angriff:Häufigkeitsanalyse bei bekannter Länge des Schlüsselwortes oder Ausprobieren verschiedener Schlüssellängen
10 Kryptographie und PKI
Verschlüsselung mit „One-Time-Pad“
Weiterentwicklung des Vigenère-Verfahrens:Wahl eines (zufälligen) Schlüssels, der genauso lang ist, wie der zu verschlüsselnde Text
Beispiel:
Schlüssel: QXVHCAMDMZSJECBYDPMKlartext: DIESERSATZISTGEHEIMGeheimtext: TFZZGREDFYABXIFFHXY
Zum selben obigen Geheimtext führt:
Schlüssel: HFGSCFEBYFFTMXNQHFGKlartext: MATHEMACHTVIELSPASS
Quelle: Beutelsbacher
11 Kryptographie und PKI
Problem: Verteilung von Schlüsseln
Die Anzahl der (über einen sicherenKanal, z.B. Kurier oder persönlicheÜbergabe) zu verteilenden Schlüssel steigt mit der Anzahl derKommunikationspartner sehrstark an
zusätzliche Nachteile des „One-Time-Pads“: Der Schlüssel muss genauso lang
sein wie die Nachricht selbst Jeder Schlüssel kann nur ein einziges
Mal verwendet werden
Quelle: CrypTool
12 Kryptographie und PKI
Diffie-Hellman-Schlüsselaustausch (1)
Austausch oder Berechnung eines gemein-samen Geheimnisses ohne die Nutzung eines vertrauenswürdigen Kanals: Alice und Bob einigen sich auf eine gemeinsame
Ausgangsfarbe (gelb) Sowohl Alice als auch Bob wählen jeweils eine
eigene „geheime“ Farbe, z.B. rot (Alice) und grün (Bob)
Beide stellen aus der Ausgangsfarbe und der jeweiligen eigenen „geheimen“ Farbe eine Farb-mischung her, z.B. orange (Alice) und cyan (Bob)
Diese Farbmischung wird jeweils an den anderen gesendet
Die eigene „geheime“ Farbe wird der empfangenen Farbmischung hinzugefügt
Die resultierende Mischung ist bei beiden gleich!
Quelle: Wikipedia
13 Kryptographie und PKI
Exkurs: Primzahlen und die Modulo-Funktion
Definition Primzahl:Eine Primzahl ist eine natürliche Zahl, die größer als eins und nur durch sich selbst und durch eins teilbar ist Beispiele für Primzahlen: 3, 5, 7, 11, 13, 17, 19, 23, …
Definition der Modulo-Funktion (vereinfacht):Die Modulo-Funktion berechnet den Rest bei der Division zweier natürlicher Zahlen Beispiele: 5 mod 2 = 1
21 mod 20 = 17 mod 5 = 213 mod 5 = 3
Sonderfälle: 0 mod x = 0 (für alle x > 0)1 mod x = 1 (für alle x > 1)
Quelle: Wikipedia
14 Kryptographie und PKI
Diffie-Hellman-Schlüsselaustausch (2): Verfahren
Wähle eine Primzahl p und eine Zahl g, wobei gelten soll: g größer oder gleich 2 und g kleiner oder gleich p-2
Wähle zwei (Zufalls-) Zahlen a und b (kleiner oder gleich p-2)
Berechne zwei Zahlen A und B wie folgt: A = ga mod p B = gb mod p
Berechne das gemeinsame Geheimnis wie folgt: K = Ba mod p K = Ab mod p
Beide Werte von K sind gleich!
Quelle: Wikipedia
15 Kryptographie und PKI
Diffie-Hellman-Schlüsselaustausch (3): Beispiel
Alice und Bob einigen sich (in öffentlicher Kommunikation) auf die folgenden Zahlen: p = 23 g = 5
Alice und Bob wählen jeweils für sich eine Zufallszahl aus (diese wird nicht übermittelt!): Alice: a = 6 Bob: b = 15
Alice berechnet A und schickt das Ergebnis (öffentlich) an Bob: A = 56 mod 23 = 8
Bob berechnet B und schickt das Ergebnis (öffentlich) an Alice: B = 515 mod 23 = 19
Alice berechnet das gemeinsame Geheimnis wie folgt: K = 196 mod 23 = 2
Bob berechnet das gemeinsame Geheimnis wie folgt: K = 815 mod 23 = 2
Quelle: Wikipedia
16 Kryptographie und PKI
Symmetrische und asymmetrische Verschlüsselung
Quelle: CrypTool
17 Kryptographie und PKI
Grundlagen (3): Asymmetrische Verfahren
Asymmetrische oder „Public Key“ VerschlüsselungZur Ver- und Entschlüsselung werden verschiedene Schlüssel verwendet Es gibt einen geheimen Schlüssel d und einen öffentlichen Schlüssel e Auch mit Kenntnis von e kann d ohne weitere Information praktisch nicht berechnet werden
Quelle: CrypTool
18 Kryptographie und PKI
Der RSA-Algorithmus (1): Verfahren
Wähle zwei (große) Primzahlen p, q und berechne n = p*q Berechne φ(n) = (p-1)*(q-1) Wähle eine Zahl e, die teilerfremd zu φ(n) und kleiner als φ(n) ist
Wähle eine Zahl d, die kleiner als φ(n) ist und
die Bedingung e*d mod φ(n) = 1 erfüllt
Aus den obigen Zahlen werden der öffentliche und der private Schlüssel zusammengesetzt: Öffentlicher Schlüssel: (e, n) Privater Schlüssel: (d, n)
19 Kryptographie und PKI
Der RSA-Algorithmus (2): Beispiel
Verschlüsselung: c = me mod n Entschlüsselung: m = cd mod n
Beispiel:p=17, q=11n = p*q = 187φ(n) = (p-1)*(q-1) = 160e = 7d = 23da: e * d = 161
Verschlüsselung von „Z“ bzw „26“:c = 267mod 187 = 104
Entschlüsselung von „104“:m = 10423mod 187 = 26
20 Kryptographie und PKI
Übung/Aufgabe
Gegeben sei der folgende mit dem RSA-Verfahren verschlüsselte Text:28 21 26 00 28 14 07 01 09 02 26Dieser wurde mit dem öffentlichen Schlüssel (e, n) = (7, 33) verschlüsselt.
Betätigen Sie sich als „Kryptoanalytiker“ und entschlüsseln Sie die Nachricht!Gehen Sie dabei wie folgt vor: Machen Sie eine „Primzahlenzerlegung“ von n
und ermitteln Sie dadurch p und q (da n = p*q) Berechnen Sie φ(n) = (p-1)*(q-1) Finden Sie (durch Probieren) das d des privaten
Schlüssels, welches die folgende Bedingung erfüllt:e*d mod φ(n) = 1
Zur Erinnerung noch die Entschlüsselungsvorschrift:m = cd mod n
Welche Schwächen hat diese Implementierungdes RSA-Algorithmus bzw. welche andere Möglichkeiten zur „Entschlüsselung“ gäbe es?
21 Kryptographie und PKI
Der RSA-Algorithmus (4): Sicherheit
Quelle: CrypTool
Verschlüsselung: Verwendung des öffentlichen Schlüssels (e, n)Entschlüsselung: Verwendung des privaten Schlüssels (d, n)
Quintessenz: Die Sicherheit des RSA-Verfahren beruht auf der Schwierigkeit das Produkt zweier großer Primzahlen (n) zu faktorieren!
22 Kryptographie und PKI
Der RSA-Algorithmus (5): Digitale Signatur
Das RSA-Verfahren kann auch für eine elektronische Signatur verwendet werden!
Quelle: CrypTool
Signatur: Verwendung des privaten Schlüssels (d, n)Verifizierung: Verwendung des öffentlichen Schlüssels (e, n)
Nachteil: Die Signatur wäre genauso lang wie das zu signierende Dokument!
Verschlüsselung:JEDER soll verschlüsselnkönnen, aber nurEINER soll die verschlüsselteNachricht lesenkönnen!
Signatur:Nur EINER soll signieren können, aber JEDER soll die Signaturüberprüfen bzw.verifizierenkönnen!
23 Kryptographie und PKI
Exkurs: Hash-Funktionen (digitaler „Fingerabdruck“)
Definition:Eine Hashfunktion eine (Einweg-) Funktion, die einer Datei oder einem String von nahezu beliebiger Länge einen Wert fester Länge (den Hashwert) zuordnet. Hashfunktionen sind in der Regel nicht umkehrbar. Eine kleine Änderung des Ausgangswertes führt in der Regel zu einer großen Änderung des
Hashwerts
Gebräuchliche Hashfunktionen: MD-5 (message digest algorithm 5, entwickelt 1991 von R.L. Rivest) SHA-1 (secure hash algorithm, vom NIST 1994 spezifiziert)
Beispiel für MD5-Hash:Text: Franz jagt im komplett verwahrlosten Taxi quer durch Bayern
Hash: a3cca2b2aa1e3b5b3b5aad99a8529074Text: Frank jagt im komplett verwahrlosten Taxi quer durch Bayern
Hash: 7e716d0e702df0505fc72e2b89467910
Quelle: Wikipedia
24 Kryptographie und PKI
Digitale Signatur mit RSA (1): Erstellung
Bei der Erstellung einer digitalen Signatur wird: ein Hashwert des zu signierenden Dokuments, Codes o.ä. gebildet, der erzeugte Hashwert mit dem privaten Schlüssel (auch Signaturschlüssel genannt)
„verschlüsselt“ und somit eine „Signatur“ erzeugt und diese Signatur dem Dokument hinzugefügt
Quelle: CrypTool
25 Kryptographie und PKI
Digitale Signatur mit RSA (2): Überprüfung
Quelle: CrypTool
Bei der Überprüfung einer digitalen Signatur wird: ebenfalls ein Hashwert des zu überprüfenden Dokuments, Codes o.ä. gebildet, die Signatur (d.h. der verschlüsselte Hashwert) aus dem signierten Dokument extrahiert
und mit dem öffentlichen Schlüssel des Signierers „entschlüsselt“ der aktuell berechnete Hashwert wird mit dem entschlüsselten Hashwert verglichen und Wenn diese beiden Werte übereinstimmen ist die Signatur verifiziert
26 Kryptographie und PKI
Public Key Infrastructure (PKI): Aufbau
Eine zusätzliche Anforderung (besonders bei der elektronischen Signatur) ist die Authentizität von öffentlichen Schlüsseln, d.h. es muss gewähr-leistet werden, dass ein Schlüssel einer Person zugeordnet werden kann
Erfüllung dieser Anforderung durch „(elektronische) Zertifikate“, welche einen Namen untrennbar mit einem öffentlichen Schlüssel verbinden
Dazu signiert eine „Zertifizierungsstelle“ (Certificate Authority = CA) den öffentlichen Schlüssel eines Antragstellers mit ihrem eigenen privaten Schlüssel
Ein System, welches digitale Zertifikate ausstellt, wird als „Public Key Infrastructure (PKI)“ bezeichnet
Quelle: CrypTool
27 Kryptographie und PKI
Digitale (X.509) Zertifikate
Inhalte eines X.509-Zertifikats: Version Seriennummer Signaturalgorithmus Aussteller Gültigkeit (von, bis) Zertifikatinhaber Zertifikatinhaber-Schlüssel-
informationen:Public-Key-AlgorithmusPublic Key des Zertifikatinhabers
Erweiterungen (optional) Zertifikat-Signaturalgorithmus Zertifikat-Signatur
Quelle: CrypTool
28 Kryptographie und PKI
PKI (1): Beispiel „CAcert.org“
Registrierung und Validierung: Einrichten eines Kontos bei CAcert.org
(gültige Email-Adresse erforderlich) (persönliche) Validierung durch sogenannte CAcert-“Assurer“
Erklärung auf Papierformular und Prüfung eines amtlichen Ausweises des Neumitglieds durch (mindestens drei) CAcert-Assurer (falls der Antragsteller den Assurern nicht persönlich bekannt ist) z.B. im Rahmen einer „Crypto-Party“
„Certificate Request“ und Zertifizierung: Erzeugung eines Zertifikatantrags („Certificate Request“) innerhalb des CAcert-Kontos Signieren des Antrags durch die „CAcert-CA“ und Erzeugung eines Zertifikats
Import der Zertifikate in den Browser/Zertifikatsspeicher des Benutzers Import des generierten persönlichen Zertifikats (und ggf. des privaten Schlüssels) Import der Zertifikate der (ausstellenden) CAs von CAcert (zur Prüfung der Zertifikatskette)
29 Kryptographie und PKI
PKI (2): Überprüfung einer signierten Mail
30 Kryptographie und PKI
Hybride Verfahren (1): Verschlüsselung
Ein Nachteil von asymmetrischen Verschlüsselungsverfahren ist ihre geringe Geschwindigkeit gegenüber symmetrischen Verfahren
Aus diesem Grund werden symmetrische und asymmetrische Verfahren oft wie folgt kombiniert: Es wird ein (oft zufälliger) symmetrischer Sitzungsschlüssel („Session Key“) erzeugt Mit dem symmetrischen Schlüssel werden die zu schützenden Klartextdaten verschlüsselt Der symmetrische Schlüssel wird
mit dem (asymmetrischen) öffent-lichen Schlüssel des Empfängers verschlüsselt
Der verschlüsselte Session Keywird dem verschlüsselten Textbeigelegt und beide Teile werdenan den Empfänger geschickt
Quelle: CrypTool
31 Kryptographie und PKI
Hybride Verfahren (2): Entschlüsselung
Die (hybride) Entschlüsselung erfolgt in umgekehrter Reihenfolge zur Verschlüsselung: Der verschlüsselte symmetrische Session Key wird mit Hilfe des privaten asymmetrischen
Schlüssels entschlüsselt Mit dem entschlüsselten Session Key kann nunmehr die eigentliche Nachricht entschlüsselt
werden
Quelle: CrypTool
32 Kryptographie und PKI
Handout (1): Ver- und Entschlüsselung
Quelle: CrypTool
Verschlüsselungsverfahren: Bei der Verschlüsselung wird ein Originaltext (Klartext) mit Hilfe eines geheimen Schlüssels in
einen Geheimtext (Chiffretext) umgewandelt. Umgekehrt wird bei der Entschlüsselung mit der Kenntnis des geheimen Schlüssels der
Chiffretext in den Klartext zurückgewandelt. Verschlüsselungsverfahren nutzen Ersetzen von Buchstaben des Alphabets, Veränderung der
Anordnung des Texts, mathematische Funktionen und Berechnungen u.v.m. Schlüssel sind z.B. Buchstaben, Wörter, Zahlen, Zeichen
Arten von Verschlüsselungsverfahren: symmetrische Verfahren asymmetrische Verfahren
33 Kryptographie und PKI
Handout (2): Symmetrische Verfahren
Symmetrische Verschlüsselung:Zur Ver- und Entschlüsselung wird derselbe Schlüssel s verwendet. Es kann sein, dass bei symmetrischen Verfahren der Schlüssel zur Verschlüsselung nicht
völlig identisch ist mit dem Schlüssel zur Entschlüsselung. In diesen Fällen kann aber der eine Schlüssel mit der Kenntnis des anderen leicht ermittelt werden.
Der symmetrische Schlüssel s ist sowohl dem Absender, als auch dem Empfänger bekannt und muss vor Dritten geheim gehalten werden.
Quelle: CrypTool
34 Kryptographie und PKI
Handout (3): Asymmetrische Verfahren
Asymmetrische oder „Public Key“ VerschlüsselungZur Ver- und Entschlüsselung werden verschiedene Schlüssel verwendet Es gibt einen geheimen Schlüssel d und einen öffentlichen Schlüssel e Auch mit Kenntnis von e kann d ohne weitere Information praktisch nicht berechnet werden
Quelle: CrypTool
35 Kryptographie und PKI
Handout (4): Übung/Aufgabe
Gegeben sei der folgende mit dem RSA-Verfahren verschlüsselte Text:28 21 26 00 28 14 07 01 09 02 26Dieser wurde mit dem öffentlichen Schlüssel (e, n) = (7, 33) verschlüsselt.
Betätigen Sie sich als „Kryptoanalytiker“ und entschlüsseln Sie die Nachricht!Gehen Sie dabei wie folgt vor: Machen Sie eine „Primzahlenzerlegung“ von n
und ermitteln Sie dadurch p und q (da n = p*q) Berechnen Sie φ(n) = (p-1)*(q-1) Finden Sie (durch Probieren) das d des privaten
Schlüssels, welches die folgende Bedingung erfüllt:e*d mod φ(n) = 1
Zur Erinnerung noch die Entschlüsselungsvorschrift:m = cd mod n
Welche Schwächen hat diese Implementierungdes RSA-Algorithmus bzw. welche andere Möglichkeiten zur „Entschlüsselung“ gäbe es?
36 Kryptographie und PKI
Handout (5): RSA-Ver- und Entschlüsselung
Quelle: CrypTool
Verschlüsselung: Verwendung des öffentlichen Schlüssels (e, n)Entschlüsselung: Verwendung des privaten Schlüssels (d, n)
Quintessenz: Die Sicherheit des RSA-Verfahren beruht auf der Schwierigkeit das Produkt zweier großer Primzahlen (n) zu faktorieren!
37 Kryptographie und PKI
Handout (6): Digitale Signatur
Das RSA-Verfahren kann auch für eine elektronische Signatur verwendet werden!
Quelle: CrypTool
Signatur: Verwendung des privaten Schlüssels (d, n)Verifizierung: Verwendung des öffentlichen Schlüssels (e, n)
Nachteil: Die Signatur wäre genauso lang wie das zu signierende Dokument!
Verschlüsselung:JEDER soll verschlüsselnkönnen, aber nurEINER soll die verschlüsselteNachricht lesenkönnen!
Signatur:Nur EINER soll signieren können, aber JEDER soll die Signaturüberprüfen bzw.verifizierenkönnen!
38 Kryptographie und PKI
Handout (7): Hash-Funktionen
Definition:Eine Hashfunktion eine (Einweg-) Funktion, die einer Datei oder einem String von nahezu beliebiger Länge einen Wert fester Länge (den Hashwert) zuordnet. Hashfunktionen sind in der Regel nicht umkehrbar. Eine kleine Änderung des Ausgangswertes führt in der Regel zu einer großen Änderung des
Hashwerts
Gebräuchliche Hashfunktionen: MD-5 (message digest algorithm 5, entwickelt 1991 von R.L. Rivest) SHA-1 (secure hash algorithm, vom NIST 1994 spezifiziert)
Beispiel für MD5-Hash:Text: Franz jagt im komplett verwahrlosten Taxi quer durch Bayern
Hash: a3cca2b2aa1e3b5b3b5aad99a8529074Text: Frank jagt im komplett verwahrlosten Taxi quer durch Bayern
Hash: 7e716d0e702df0505fc72e2b89467910
Quelle: Wikipedia
39 Kryptographie und PKI
Handout (8): Erstellung einer digitalen Signatur
Bei der Erstellung einer digitalen Signatur wird: ein Hashwert des zu signierenden Dokuments, Codes o.ä. gebildet, der erzeugte Hashwert mit dem privaten Schlüssel (auch Signaturschlüssel genannt)
„verschlüsselt“ und somit eine „Signatur“ erzeugt und diese Signatur dem Dokument hinzugefügt
Quelle: CrypTool
40 Kryptographie und PKI
Handout (9): Überprüfung einer digitalen Signatur
Quelle: CrypTool
Bei der Überprüfung einer digitalen Signatur wird: ebenfalls ein Hashwert des zu überprüfenden Dokuments, Codes o.ä. gebildet, die Signatur (d.h. der verschlüsselte Hashwert) aus dem signierten Dokument extrahiert
und mit dem öffentlichen Schlüssel des Signierers „entschlüsselt“ der aktuell berechnete Hashwert wird mit dem entschlüsselten Hashwert verglichen und Wenn diese beiden Werte übereinstimmen ist die Signatur verifiziert
41 Kryptographie und PKI
Handout (10): Public Key Infrastructure (PKI)
Eine zusätzliche Anforderung (besonders bei der elektronischen Signatur) ist die Authentizität von öffentlichen Schlüsseln, d.h. es muss gewährleistet werden, dass ein Schlüssel einer Person zugeordnet werden kann
Erfüllung dieser Anforderung durch „(elektronische) Zertifikate“, welche einen Namen untrennbar mit einem öffentlichen Schlüssel verbinden
Dazu signiert eine „Zertifizierungsstelle“ (Certificate Authority = CA) den öffentlichen Schlüssel eines Antragstellers mit ihrem eigenen privaten Schlüssel
Ein System, welches digitale Zertifikate ausstellt, wird als „Public Key Infrastructure (PKI)“ bezeichnet
Quelle: CrypTool
42 Kryptographie und PKI
Handout (11): Hybrid-Verschlüsselung
Ein Nachteil von asymmetrischen Verschlüsselungsverfahren ist ihre geringe Geschwindigkeit gegenüber symmetrischen Verfahren
Aus diesem Grund werden symmetrische und asymmetrische Verfahren oft wie folgt kombiniert: Es wird ein (oft zufälliger) symmetrischer Sitzungsschlüssel („Session Key“) erzeugt Mit dem symmetrischen Schlüssel werden die zu schützenden Klartextdaten verschlüsselt Der symmetrische Schlüssel wird
mit dem (asymmetrischen) öffent-lichen Schlüssel des Empfängers verschlüsselt
Der verschlüsselte Session Keywird dem verschlüsselten Textbeigelegt und beide Teile werdenan den Empfänger geschickt
Quelle: CrypTool
43 Kryptographie und PKI
Handout (12): Hybrid-Entschlüsselung
Die (hybride) Entschlüsselung erfolgt in umgekehrter Reihenfolge zur Verschlüsselung: Der verschlüsselte symmetrische Session Key wird mit Hilfe des privaten asymmetrischen
Schlüssels entschlüsselt Mit dem entschlüsselten Session Key kann nunmehr die eigentliche Nachricht entschlüsselt
werden
Quelle: CrypTool
44 Kryptographie und PKI
Ergänzung (1): Diffie-Hellman-Schlüsselaustausch
Wähle eine Primzahl p und eine Zahl g, wobei gelten soll: g größer oder gleich 2 und g kleiner oder gleich p-2
Wähle zwei (Zufalls-) Zahlen a und b (kleiner oder gleich p-2)
Berechne zwei Zahlen A und B wie folgt: A = ga mod p B = gb mod p
Berechne das gemeinsame Geheimnis wie folgt: K = Ba mod p K = Ab mod p
Beide Werte von K sind gleich!
Quelle: Wikipedia
45 Kryptographie und PKI
Ergänzung (2): Beispiel für DH-Schlüsselaustausch
Alice und Bob einigen sich (in öffentlicher Kommunikation) auf die folgenden Zahlen: p = 23 g = 5
Alice und Bob wählen jeweils für sich eine Zufallszahl aus (diese wird nicht übermittelt!): Alice: a = 6 Bob: b = 15
Alice berechnet A und schickt das Ergebnis (öffentlich) an Bob: A = 56 mod 23 = 8
Bob berechnet B und schickt das Ergebnis (öffentlich) an Alice: B = 515 mod 23 = 19
Alice berechnet das gemeinsame Geheimnis wie folgt: K = 196 mod 23 = 2
Bob berechnet das gemeinsame Geheimnis wie folgt: K = 815 mod 23 = 2
Quelle: Wikipedia
46 Kryptographie und PKI
Ergänzung (3): RSA-Verfahren und Schlüssel
Wähle zwei (große) Primzahlen p, q und berechne n = p*q Berechne φ(n) = (p-1)*(q-1) Wähle eine Zahl e, die teilerfremd zu φ(n) und kleiner als φ(n) ist
Wähle eine Zahl d, die kleiner als φ(n) ist und
die Bedingung e*d mod φ(n) = 1 erfüllt
Aus den obigen Zahlen werden der öffentliche und der private Schlüssel zusammengesetzt: Öffentlicher Schlüssel: (e, n) Privater Schlüssel: (d, n)
47 Kryptographie und PKI
Ergänzung (4): Beispiel für RSA-Verfahren
Verschlüsselung: c = me mod n Entschlüsselung: m = cd mod n
Beispiel:p=17, q=11n = p*q = 187φ(n) = (p-1)*(q-1) = 160e = 7d = 23da: e * d = 161
Verschlüsselung von „Z“ bzw „26“:c = 267mod 187 = 104
Entschlüsselung von „104“:m = 10423mod 187 = 26