Begriff Kryptologie
Wissenschaft, die sich mit Informationssicherheit beschäftigt
Kryptographie
-untersucht Methoden zur Ver- und Entschlüsselung von Nachrichten, Design sicherer Protokolle
Kryptoanalyse
-„Brechen“ von kryptographischen Verfahren, Angriffe auf Protokolle oder Hard- und Software etc.
Kryptographie
-untersucht Methoden zur Ver- und Entschlüsselung von Nachrichten, Design sicherer Protokolle
Kryptoanalyse
-„Brechen“ von kryptographischen Verfahren, Angriffe auf Protokolle oder Hard- und Software etc.
Kommunikations-Modell
Sender und Empfänger einigen sich vorab auf Algorithmus und Schlüssel
Sender verschlüsselt Klartext zu Chiffretext
schickt Chiffretext über möglicherweise unsicheren Kanal, wo ihn Angreifer lesen, verändern, unterdrücken, wieder einspielen kann
Empfänger entschlüsselt Chiffretext zu Klartext
Sender verschlüsselt Klartext zu Chiffretext
schickt Chiffretext über möglicherweise unsicheren Kanal, wo ihn Angreifer lesen, verändern, unterdrücken, wieder einspielen kann
Empfänger entschlüsselt Chiffretext zu Klartext
(Un-)Sicherheit der Caesar- und affinen Chiffre
Caesar- und affine Chiffre sind unsicher:
• Durchprobieren aller Schlüssel möglich
• affine Chiffre ist angreifbar wenn Paare (p1, c1) und (p2, c2) von Klar- und Chiffretext bekannt sind
Idee: möglichst großer Schlüsselraum K (und damit möglichst große Menge E unterschiedlicher Verschlüsselungsfunktionen)
• Schlüsselraum K maximal, wenn für E nicht nur bestimmte bijektive Abbildungen P → C zugelassen, sondern alle möglichen
• ist P = C, so sind die bijektiven Abbildungen E : P → C genau die Permutationen (Umordnungen) der Menge P
• Durchprobieren aller Schlüssel möglich
• affine Chiffre ist angreifbar wenn Paare (p1, c1) und (p2, c2) von Klar- und Chiffretext bekannt sind
Idee: möglichst großer Schlüsselraum K (und damit möglichst große Menge E unterschiedlicher Verschlüsselungsfunktionen)
• Schlüsselraum K maximal, wenn für E nicht nur bestimmte bijektive Abbildungen P → C zugelassen, sondern alle möglichen
• ist P = C, so sind die bijektiven Abbildungen E : P → C genau die Permutationen (Umordnungen) der Menge P
Stromchiffre
verschlüsseln kontinuierlichen Bitstrom
• Bits werden einzeln verschlüsselt, indem
• Klartextstrom mit Schlüsselstrom XOR verknüpft wird
x xor y = (x+y) mod 2
-> 0 xor 0 = 0
1 xor 0 = 1
0 xor 1 = 1
1 xor 1 = 0
Schlüsselstromgenerator erzeugt (potentiell unendlich langen) Schlüsselstrom, basierend auf Schlüssel fester Länge
Anwendung: Echtzeit-Übertragungen (Streaming, Mobilfunk)
• Bits werden einzeln verschlüsselt, indem
• Klartextstrom mit Schlüsselstrom XOR verknüpft wird
x xor y = (x+y) mod 2
-> 0 xor 0 = 0
1 xor 0 = 1
0 xor 1 = 1
1 xor 1 = 0
Schlüsselstromgenerator erzeugt (potentiell unendlich langen) Schlüsselstrom, basierend auf Schlüssel fester Länge
Anwendung: Echtzeit-Übertragungen (Streaming, Mobilfunk)
Blockchiffren
verschlüsseln abschnittsweise Blöcke fester Länge
• längere Klartexte in Blöcke mi zu n Bit zerlegt, diese einzeln verschlüsselt
• typische Blockgröße n = 128
ECB-Modus (electronic codebook mode) verschleiert Regelmäßigkeiten im Klar- text nicht , besser: CBC
Ci = E (mi xor ci - 1)
• längere Klartexte in Blöcke mi zu n Bit zerlegt, diese einzeln verschlüsselt
• typische Blockgröße n = 128
ECB-Modus (electronic codebook mode) verschleiert Regelmäßigkeiten im Klar- text nicht , besser: CBC
Ci = E (mi xor ci - 1)
Nachteile RSA
• Nachteile von RSA:
– Schlüssel sollten mittlerweile ≥ 2048 Bit lang sein
– wachsende Schlüssellänge ⇒ höherer Rechen-Aufwand für Verschlüsselung
• Alternative: Verfahren, die auf sog. diskreten Logarithmen basieren • Beispiele:
– Diffie-Hellman – Protokoll zur Schlüsselvereinbarung – ElGamal – Verschlüsselungsverfahren
• Vorteile:
– in verschiedenen Gruppen implementierbar
– Randomisierung (gleiche Nachricht wird unterschiedlich verschlüsselt)
– effizienter: vergleichbare Sicherheit wie RSA bei kürzeren Schlüsseln
– Schlüssel sollten mittlerweile ≥ 2048 Bit lang sein
– wachsende Schlüssellänge ⇒ höherer Rechen-Aufwand für Verschlüsselung
• Alternative: Verfahren, die auf sog. diskreten Logarithmen basieren • Beispiele:
– Diffie-Hellman – Protokoll zur Schlüsselvereinbarung – ElGamal – Verschlüsselungsverfahren
• Vorteile:
– in verschiedenen Gruppen implementierbar
– Randomisierung (gleiche Nachricht wird unterschiedlich verschlüsselt)
– effizienter: vergleichbare Sicherheit wie RSA bei kürzeren Schlüsseln
Ordnung von Elementen
Die Ordnung der Elemente sind alle Teiler von n-1
Bsp: n= 11
-> Ordnung ist Teiler von 11-1 = 10
= 1,2,5,10
1 hat Ordnung 1 (1^1 mod 11 = 1)
2 hat Ordnung 10 (2^x mod 11 = 1) x= 10
.
.
.
10 hat Ordnung 2 (10^2 mod 11 = 1)
Alle Elemente von 1-10, weil Definitionsbereich / {0}
Bsp: n= 11
-> Ordnung ist Teiler von 11-1 = 10
= 1,2,5,10
1 hat Ordnung 1 (1^1 mod 11 = 1)
2 hat Ordnung 10 (2^x mod 11 = 1) x= 10
.
.
.
10 hat Ordnung 2 (10^2 mod 11 = 1)
Alle Elemente von 1-10, weil Definitionsbereich / {0}
Diffie-Hellman-Schlüsselaustausch
• Alice und Bob wollen gemeinsames Geheimnis (geheimen Schlüssel) vereinbaren, wobei ihre Kommunikation u.U. abgehört wird
Beispiel: p = 7
Setup: g = 3 erfüllt Bedingung ord7(3) = 6
Alice: a=2⇒A=3^2 mod7=2 (g^a mod p)
Bob: b=3⇒B=3^3 mod7=6 (g^b mod p)
Geheimnis: K = B^a mod 7 = 6^2 mod 7 = 1 (von Alice berechnet) K=A^b mod7 = 2^3 mod7 =1 (von Bob berechnet)
-> B^a mod p
-> A^b mod p müssen gleich sein
Ordnung berechnen:
ord7(3) = p-1
ord7(3) = 6
-> 3^6 mod 7 = 1
Beispiel: p = 7
Setup: g = 3 erfüllt Bedingung ord7(3) = 6
Alice: a=2⇒A=3^2 mod7=2 (g^a mod p)
Bob: b=3⇒B=3^3 mod7=6 (g^b mod p)
Geheimnis: K = B^a mod 7 = 6^2 mod 7 = 1 (von Alice berechnet) K=A^b mod7 = 2^3 mod7 =1 (von Bob berechnet)
-> B^a mod p
-> A^b mod p müssen gleich sein
Ordnung berechnen:
ord7(3) = p-1
ord7(3) = 6
-> 3^6 mod 7 = 1
Angriffe auf diskrete Logarithmen
• DL-Berechnung ist eine Möglichkeit, Diffie-Hellman und ElGamal anzugreifen
• K=A^b mod p =g^ab mod p ist Element von⟨g⟩⊆Zp\{0},
• allerdings nicht notwendig, dass ⟨g⟩ = Zp \ {0},
es genügt, dass |⟨g⟩| = ordp (g) groß genug (2^160, 2^224 etc.)
• DL-Problem in ⟨g⟩:
gegeben: y ∈ ⟨g⟩
finde: x∈{0,1,...,ordp(g)−1},sodass y= g^x mod p
• K=A^b mod p =g^ab mod p ist Element von⟨g⟩⊆Zp\{0},
• allerdings nicht notwendig, dass ⟨g⟩ = Zp \ {0},
es genügt, dass |⟨g⟩| = ordp (g) groß genug (2^160, 2^224 etc.)
• DL-Problem in ⟨g⟩:
gegeben: y ∈ ⟨g⟩
finde: x∈{0,1,...,ordp(g)−1},sodass y= g^x mod p
Symmetrische und asymmetrische Verschlüsselung
symmetrische Kryptographie, auch: Private-Key Kryptographie
• Ver- und Entschlüsselung verwenden denselben (d = e) Schlüssel
oder d lässt sich aus e leicht
asymmetrische Kryptographie, auch: Public-Key Kryptographie
• Ver- und Entschlüsselung verwenden verschiedene Schlüssel, d lässt sich aus e nicht effizient
berechnen
• e kann veröffentlicht werden, Ee kann von jedem berechnet werden
• Ver- und Entschlüsselung verwenden denselben (d = e) Schlüssel
oder d lässt sich aus e leicht
asymmetrische Kryptographie, auch: Public-Key Kryptographie
• Ver- und Entschlüsselung verwenden verschiedene Schlüssel, d lässt sich aus e nicht effizient
berechnen
• e kann veröffentlicht werden, Ee kann von jedem berechnet werden
Vergleich symmetrische und asymmetrische Verfahren
symmetrische Verfahren
• sind typischerweise aus einfachen Operationen (wie z.B. XOR, Vertauschung von Bits, Shifts) aufgebaut
• effizient in Hardware realisierbar, hoher Durchsatz
• Problem: Schlüssel muss vorab zwischen Sender und Empfänger sicher ausgetauscht werden
asymmetrische Verfahren
• mathematisch aufwändiger, aber sehr flexibel (etwa in Bezug auf Schüssellänge)
• aber um Größenordnungen langsamer
• Vorteil: sichere Kommunikation spontan möglich, kein geheimer Schlüsselaustausch erfor- derlich (allerdings muss Authentizität des Public Key sichergestellt sein)
• sind typischerweise aus einfachen Operationen (wie z.B. XOR, Vertauschung von Bits, Shifts) aufgebaut
• effizient in Hardware realisierbar, hoher Durchsatz
• Problem: Schlüssel muss vorab zwischen Sender und Empfänger sicher ausgetauscht werden
asymmetrische Verfahren
• mathematisch aufwändiger, aber sehr flexibel (etwa in Bezug auf Schüssellänge)
• aber um Größenordnungen langsamer
• Vorteil: sichere Kommunikation spontan möglich, kein geheimer Schlüsselaustausch erfor- derlich (allerdings muss Authentizität des Public Key sichergestellt sein)
Angriffszenarien
• Ciphertext only
– Angreifer kennt nur die verschlüsselte Nachricht
• Known plaintext
– Angreifer kennt Paare von Klar-/Schlüsseltexten oder Fragmenten
• Chosen plaintext
– Angreifer hat (temporären) Zugang zum Verschlüsselungverfahren
• Chosen ciphertext
– Angreifer hat temporären Zugang zum Entschlüsselungsverfahren (als Black Box) und
versucht, den Schlüssel zu bestimmen
– Angreifer kennt nur die verschlüsselte Nachricht
• Known plaintext
– Angreifer kennt Paare von Klar-/Schlüsseltexten oder Fragmenten
• Chosen plaintext
– Angreifer hat (temporären) Zugang zum Verschlüsselungverfahren
• Chosen ciphertext
– Angreifer hat temporären Zugang zum Entschlüsselungsverfahren (als Black Box) und
versucht, den Schlüssel zu bestimmen
Asymmetrische Kryptographie
Schlüsselmanagement wird einfacher:
• Ver- und Entschlüsselung benutzen verschiedene (inverse) Schlüssel • Empfänger erzeugt beide Schlüssel (Sprechweise: Schlüsselpaar),
– legt Verschlüsselungsschlüssel (Public Key) offen,
– hält Entschlüsselungsschlüssel (Private Key) geheim
• jeder kann sicheren Kanal zum Empfänger aufbauen
• pro Empfänger nur ein Schlüsselpaar erforderlich
• Public Keys werden in öffentlich zugänglichem Verzeichnis gespeichert
• Ver- und Entschlüsselung benutzen verschiedene (inverse) Schlüssel • Empfänger erzeugt beide Schlüssel (Sprechweise: Schlüsselpaar),
– legt Verschlüsselungsschlüssel (Public Key) offen,
– hält Entschlüsselungsschlüssel (Private Key) geheim
• jeder kann sicheren Kanal zum Empfänger aufbauen
• pro Empfänger nur ein Schlüsselpaar erforderlich
• Public Keys werden in öffentlich zugänglichem Verzeichnis gespeichert
RSA-Kryptosystem
• Sicherheit eng verwandt mit Faktorisierungsproblem = Schwierigkeit, große Zahlen in ihre
Primfaktoren zu zerlegen
• gerechnet wird in P = C = Zn, wo n = pq Produkt zweier Primzahlen
• Rechenoperationen: modulare Multiplikation und Potenzierung
• Verschlüsselung ist Exponentiation
E:Zn →Zn, x →xe modn,
-> daher gehört RSA zu den sog. „Exponentialchiffren“
• aktuell häufigstes asymmetrisches Verfahren in der Praxis
Primfaktoren zu zerlegen
• gerechnet wird in P = C = Zn, wo n = pq Produkt zweier Primzahlen
• Rechenoperationen: modulare Multiplikation und Potenzierung
• Verschlüsselung ist Exponentiation
E:Zn →Zn, x →xe modn,
-> daher gehört RSA zu den sog. „Exponentialchiffren“
• aktuell häufigstes asymmetrisches Verfahren in der Praxis
Erweiterter Euklidischer Algorithmus
Algorithmus berechnet: ggT(a, b) und Koeffizienten x, y ∈ Z so dass ggT(a, b) = xa + yb
Anwendung: a ist Modul, b ∈ Za invertierbar gdw. ggT(a, b) = 1;
Bsp:
39/17 = 2 R 2 -> 2 unten 5 rechts
17/5 = 3 R 2 -> 3 unten 2 rechts
Zeile 3/4:
1 - 0 * 2 = 1 / 0 - 1 * 3 = -3
0 - 1 * 2 = -2 / 1 - (-2) * 3 = 7 ....
Anwendung: a ist Modul, b ∈ Za invertierbar gdw. ggT(a, b) = 1;
Bsp:
39 | 17 | 5 | 2 | 1 | 0 |
/ | 2 | 3 | 2 | 2 | |
1 | 0 | 1 | -3 | 7 | -17 |
0 | 1 | -2 | 7 | -16 | 39 |
39/17 = 2 R 2 -> 2 unten 5 rechts
17/5 = 3 R 2 -> 3 unten 2 rechts
Zeile 3/4:
1 - 0 * 2 = 1 / 0 - 1 * 3 = -3
0 - 1 * 2 = -2 / 1 - (-2) * 3 = 7 ....
RSA Signatur
• Schlüsselgenerierung (wie bei RSA-Kryptosystem):
p=31,q=41 ⇒ n=31∗41=1271
φ(n)=(p−1)(q−1)=(31−1)(41−1)=30∗40=1200 – e = 7 erfüllt Bedingungen e > 1 und ggT(7, 1200) = 1
– mit erw. euklidischen Algorithmus erhalte d = e−1 = 343
• Signatur einer Nachricht m = 42 mit Private Key d = 343:
– berechne s(d, m) = s(343, 42) = 42343 mod 1271 = 83
• Signatur s = 83 zu Nachricht m = 42 mit Public Key (n, e) = (1271, 7) verifizieren:
– berechne s^e mod n=837 mod1271=42
– stimmt mit m = 42 überein
p=31,q=41 ⇒ n=31∗41=1271
φ(n)=(p−1)(q−1)=(31−1)(41−1)=30∗40=1200 – e = 7 erfüllt Bedingungen e > 1 und ggT(7, 1200) = 1
– mit erw. euklidischen Algorithmus erhalte d = e−1 = 343
• Signatur einer Nachricht m = 42 mit Private Key d = 343:
– berechne s(d, m) = s(343, 42) = 42343 mod 1271 = 83
• Signatur s = 83 zu Nachricht m = 42 mit Public Key (n, e) = (1271, 7) verifizieren:
– berechne s^e mod n=837 mod1271=42
– stimmt mit m = 42 überein
ECB, CBC, CTR
ECB:
-vertauschen nach vorgegebener Formerl
CBC:
1. Schritt Ausgangssituation aufschreiben
2. Schritt mit Co xor
3. Schritt vertauschen nach vorgegebener Formel
Counter Mode:
Entschlüsselungsfunktion bestimmen:
-c1, c2, c3 in der Formal herausfinden und vertauschen
1. Schritt Chiffrat aufschreiben
2. Schritt Entschlüsselungsfunktion anwenden
3. Schritt mit Co xor
-vertauschen nach vorgegebener Formerl
CBC:
1. Schritt Ausgangssituation aufschreiben
2. Schritt mit Co xor
3. Schritt vertauschen nach vorgegebener Formel
Counter Mode:
Entschlüsselungsfunktion bestimmen:
-c1, c2, c3 in der Formal herausfinden und vertauschen
1. Schritt Chiffrat aufschreiben
2. Schritt Entschlüsselungsfunktion anwenden
3. Schritt mit Co xor
Kryptografische Hashfunktionen
• bilden Bitstring beliebiger Länge auf einen Bitstring fester Länge n ab
• Verwendungen:
1. Signaturen: wie oben beschrieben
2. Checksum einer Datei m: Checksum C = h(m) wird (über separaten Kanal) übertra-gen
3. Message Authentication Code: zur Authentifikation einer Nachricht m
4. Pseudozufall bei Schlüsselgenerierung: PBKDF2 (Password-Based Key Derivation Function 2) erzeugt Schlüssel aus Passwort
5. Proof-of-Work: Nachweis erbrachter Rechenleistung (Bitcoin: Mining)
• Verwendungen:
1. Signaturen: wie oben beschrieben
2. Checksum einer Datei m: Checksum C = h(m) wird (über separaten Kanal) übertra-gen
3. Message Authentication Code: zur Authentifikation einer Nachricht m
4. Pseudozufall bei Schlüsselgenerierung: PBKDF2 (Password-Based Key Derivation Function 2) erzeugt Schlüssel aus Passwort
5. Proof-of-Work: Nachweis erbrachter Rechenleistung (Bitcoin: Mining)
Zusammenfassung kryptographische Mechanismen
kryptographische Mechanismen sind unerlässlich zur Realisierung der zentralen Schutz- ziele der IT-Sicherheit
Mechanismus Schutzziele
Verschlüsselung Vertraulichkeit
Anonymität / Pseudonymität
Message Authentication Authentizität
Codes Integrität
Digitale Authentizität
Signaturen Integrität
Nichtabstreitbarkeit
Mechanismus Schutzziele
Verschlüsselung Vertraulichkeit
Anonymität / Pseudonymität
Message Authentication Authentizität
Codes Integrität
Digitale Authentizität
Signaturen Integrität
Nichtabstreitbarkeit
Flashcard set info:
Author: @destructive_influen...
Main topic: Kryptographie
Topic: Kryptographie
School / Univ.: DHBW Stuttgart
City: Stuttgart
Published: 09.02.2017
Card tags:
All cards (34)
no tags