Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Kryptologie Klaus Becker (2002).

Ähnliche Präsentationen


Präsentation zum Thema: "Kryptologie Klaus Becker (2002)."—  Präsentation transkript:

1 Kryptologie Klaus Becker (2002)

2 E-mail an K. Becker An: KlausBecker@aol.de
Von: Betrifft: Kontoeröffnung Sehr geehrte Herr Becker, Sie haben mit Ihrer Mail vom ein Konto bei unserer Bank beantragt. Wir danken Ihnen für das Vertrauen in unsere Bank. Selbstverständlich können wir Ihnen ein Konto einrichten. Die Kontonummer lautet: Sie erhalten demnächst per Post eine Kreditkarte (PIN 9138). Für die Einrichtung des Kontos sind wir leider gezwungen, Ihnen einen Unkostenbetrag von 50 Euro in Rechnung zu stellen. Wir haben diesen Betrag bereits von Ihrem Konto abgebucht. Bitte zahlen Sie diesen Betrag schnellstmöglich auf Ihr Konto ein. Mit freundlichen Grüßen P. Theuerkauf (Leiter der Service-Abteilung)

3 Sicherheitsprobleme Authentizität:
Stammt die Nachricht wirklich von der billigen Bank, oder erlaubt sich hier jemand einen Scherz? Integrität: Hat jemand die Nachricht manipuliert (PIN geändert)? Verbindlichkeit: Die Bank behauptet, die Nachricht so nicht verschickt zu haben. Stimmt das? Vertraulichkeit: Wurde die Nachricht abgefangen und von einer unbekannten Person gelesen?

4 Sicherheitsanforderungen
Authentizität: Die Nachricht, die man erhält, stammt wirklich von der Person, die als Absender angegeben ist. Integrität: Die Nachricht, die man erhält, ist von keiner dritten Person manipuliert worden. Verbindlichkeit: Der Urheber kann nachträglich nicht bestreiten, die Nachricht verfasst zu haben. Vertraulichkeit: Die Nachricht kann nicht von dritten Personen gelesen werden.

5 Teil 1 Verschlüsselung

6 Kommunikationssituation
Nachricht Liebe ... Sender Empfänger Angreifer

7 Chiffriersysteme x y x f f* Schlüssel Schlüssel Klartext Geheimtext
Verschlüsselungs-funktion Entschlüsselungs-funktion Beachte: Chiffriersysteme dienen der Ver- und Entschlüsselung von Nachrichten. Sie sollen Vertraulichkeit gewähren.

8 Sicherheit bei Chiffriersystemen
Prinzip von Kerckhoff: Die Sicherheit eines Chiffriersystems darf nicht von der Geheimhaltung der Ver- und Entschlüsselungsalgorithmen abhängen. Sie darf sich nur auf die Geheimhaltung der Schlüssel gründen. D.h.: Es sollte praktisch nicht möglich sein, Schlüssel aus Klartext-Geheimtext-Paaren (x,y) zu erschließen.

9 Symmetrische Chiffriersysteme
Geheimtext Schlüssel f Verschlüsselungs-funktion s x Klartext Schlüssel f* Entschlüsselungs-funktion x Klartext Beispiele: Caesar-Chiffriersystem Vigenere-Chiffriersystem

10 Symmetrische Chiffriersysteme
Aufgabe: Beurteile symmetrische Chiffriersysteme hinsichtlich des Aufwands für die Erzeugung von Schlüsseln, für den Austausch von Schlüsseln. Betrachte den Fall, dass bereits n Teilnehmer sich auf das Chiffriersystem geeinigt haben und dass ein neuer Teilnehmer hinzukommt.

11 Asymmetrische Chiffriersysteme
B cB dB x y x f f* Klartext Geheimtext Klartext Verschlüsselungs-funktion Entschlüsselungs-funktion Jeder Teilnehmer verfügt über zwei Schlüssel: c: öffentlicher Schlüssel d: privater Schlüssel

12 Asymmetrische Chiffriersysteme
B cB dB x y x f f* Klartext Geheimtext Klartext Kommunikationsprotokoll: A verschlüsselt x mit dem öffentlichen Schlüssel von B: y = f(cB,x). A sendet y an B. B entschlüsselt y mit seinem privaten Schlüssel: x = f*(dB,y).

13 Asymmetrische Chiffriersysteme
Die Schlüssel werden von einer Schlüsselvergabestelle erzeugt. Die öffentlichen Schlüssel werden in einer öffentlichen Datenbank bereitgestellt. Die Übermittlung des privaten Schlüssels an den Teilnehmer muss sicher sein. Die privaten Schlüssel werden von den Teilnehmern geheim gehalten. (c,d) A: cA B: cB ... dA A A: dA

14 Asymmetrische Chiffriersysteme
Sicherheitsanforderungen: Es ist praktisch unmöglich, aus dem öffentlichen Schlüssel cT den privaten Schlüssel dT zu erschließen. Es ist praktisch unmöglich, den privaten Schlüssel dT aus Klartext-Geheimtextpaaren (x,y) zu erschließen.

15 RSA-Verfahren Schlüsselerzeugung:
RSA: Rivest, Shamir, Adleman (1977) Schlüsselerzeugung: Wähle zwei Primzahlen p und q. Bsp.: p = 7; q = 11 Berechne n = pq und  = (p-1)(q-1). Bsp.: n = 77;  = 60 Bestimme c <  mit ggT(c,) = Günstig: c Primzahl mit p,q < c <  Bsp.: c = 13 Bestimme d mit mod(cd,) = 1. Bsp.: d = 37 (1337 = 481 = 860 + 1) Öffentl. Schlüssel: (c,n) Bsp.: (13,77) Privater Schlüssel: (d,n) Bsp.: (37,77)

16 RSA-Verfahren Schlüssel: Öffentl. Schlüssel: (c,n) Bsp.: (13,77)
Privater Schlüssel: (d,n) Bsp.: (37,77) Verschlüsselung: y = mod(xc,n) Bsp.: x = 6; y = mod(613,77) = 62 Entschlüsselung: x = mod(yd,n) Bsp.: y = 62; x = mod(6237,77) = 6 Bedingung: x < p,q

17 RSA - mathematische Grundlagen
Mathematische Grundlage: Satz von Euler Für zwei teilerfremde natürliche Zahlen a und m gilt: a (m) mod m = 1 bzw. mod(a(m), m) = 1 Eulersche -Funktion: (m): Anzahl der zu m teilerfremden Zahlen, die < m sind Bsp. für die Aussage des Satzes von Euler: m = 5: (5) = 4, da 1, 2, 3, 4 zu 5 teilerfremd sind. mögliche Werte für a: 1, 2, 3, 4, 6, ... (alle teilerfremd zu m = 5) Satz liefert: 14 mod 5 = 1 bzw. 5 | 14 1 24 mod 5 = 1 bzw. 5 | 24 1 44 mod 5 = 1 bzw. 5 | 34 1 44 mod 5 = 1 bzw. 5 | 44 1 64 mod 5 = 1 bzw. 5 | 64 1 74 mod 5 = 1 bzw. 5 | 74 1 ...

18 RSA - Korrektheit Zu zeigen: mod(mod(xc ,n)d ,n) = x bzw. mod(xc)d ,n) = x Es gilt: x und n sind teilerfremd, da x < p, q und n = pq. Setze:  = (p-1)(q-1). Dann ist  = (n). Satz von Euler liefert: mod(x, n) = 1 (*) Konstruktion von c und d liefert: mod(cd,) = 1 Also: Es gibt k mit cd = k + 1 Folglich: (xc)d = xcd = xk + 1 = xxk Mit (*) gilt: mod(xc)d ,n) = mod(x(x)k ,n) = mod(x,n) = x

19 RSA-Verfahren mit DERIVE
Hilfsfunktionen: dient zur Bestimmung von d mit mod(cd,) = 1 Aufruf: MODINV(c, ) MODINV c d MODPOT x dient zur Bestimmung der modularen Potenz Aufrufe: mod(xc,n): MODPOT(x, c, n) mod(yd,n): MODPOT(y, d, n) c y n MODPOT y d x n

20 RSA-Verfahren mit DERIVE
Erzeugung der Schlüssel: DERIVE-Protokoll: p := NEXT_PRIME(1000) 1009 q := NEXT_PRIME(2000) 2003 n := p·q  := (p - 1)·(q - 1) c := NEXT_PRIME(2500) 2503 d := MODINV(c, ) Ergebnis: Öffentl. Schlüssel: (c,n) Bsp.: (2503, ) Privater Schlüssel: (d,n) Bsp.: ( , )

21 RSA-Verfahren mit DERIVE
Verschlüsselung der Nachricht „HALLO“: Öffentl. Schlüssel: (c,n) = (2503, ) Privater Schlüssel: (d,n) = ( , ) Vorbereitung: Kodierung HALLO   801|121|215 beachte: benutzte Zahlen < p,q DERIVE-Protokoll MODPOT(801, c, n) 234247 MODPOT(121, c, n) MODPOT(215, c, n) 697452 Ergebnis: verschlüsselte Nachricht: | |697452

22 RSA-Verfahren mit DERIVE
Entschlüsselung: Öffentl. Schlüssel: (c,n) = (2503, ) Privater Schlüssel: (d,n) = ( , ) DERIVE-Protokoll MODPOT(234247, d, n) 801 MODPOT( , d, n) 121 MODPOT(697452, d, n) 215 Nachbereitung: Dekodierung 801|121|215   HALLO Ergebnis: entschlüsselte Nachricht: HALLO

23 Übung Erzeugen Sie sich mit Derive zunächst ein Schlüsselpaar. Verschlüsseln Sie anschließend mit Derive eine (nicht zu lange) Nachricht. Testen Sie, ob beim Entschlüsseln die ursprüngliche Nachricht wieder entsteht. (Sie können auch eine Nachricht mit ihrem Nachbarn verschlüsselt austauschen.)

24 RSA-Verfahren knacken
RSA knacken: 1. Mögl.: (c,n)  (d,n) 2. Mögl.: (x,y), (c,n)  (d,n) Strategie 1. Mögl.: Strategie 2. Mögl.: n  (p,q) x = mod(yd,n) (p,q)   (x,y,n)  d (c,)  d Schwierigkeit: Primfaktorzerlegung von n diskreter Logarithmus

25 Einwegfunktionen Einwegfunktion:
f ist eine umkehrbare Funktion mit Umkehrfunktion f*. f kann mit geringem Aufwand berechnet werden. f* kann nur mit sehr hohem Aufwand (praktisch nicht) berechnet werden. f f* Beispiel 1: Telefonbuch f : Name  Telefonnummer f*: Telefonnummer  Name Beispiel 2: RSA f : (p,q)  n = pq Produkt von zwei Primzahlen f*: n  (p,q) Primfaktorzerlegung Bed.: n hat mehr als 155 Stell. (512 Bit)

26 Übung Untersuchen Sie mit Derive, wie lang eine Produktberechnung und die zugehörige Berechnung der Primfaktorzerlegung dauert. Gehen Sie hierzu wie im unten abgebildeten Derive-Protokoll vor. Vergrößern Sie schrittweise die benutzten Primzahlen. Was fällt auf? NEXT_PRIME(10^10) NEXT_PRIME(10^11) · FACTOR( )

27 Teil 2 Digitale Signatur

28 Probleme mit der Urheberschaft
Empfänger ändert die Nachricht ab (z. B.: erhöht den Überweisungsbetrag). Absender streitet ab, die Nachricht verschickt zu haben (z. B.: streitet Börsentransaktion ab) Nachrichtenauthentisierung: Gewährleistung der Integrität (Nachricht wurde nicht von Dritten verändert). Gewährleistung der Authentizität (Nachricht stammt vom Absender)

29 Digitale Signatur Anforderungen an eine digitale Signatur
Authentizität: Nur der Urheber des Dokuments kann die Signatur erzeugen. Nichtübertragbarkeit: Die Signatur kann nicht auf andere Dokumente übertragen werden. Verbindlichkeit: Der Absender kann die Urheberschaft nicht abstreiten. Verifizierbarkeit: Der Empfänger kann die Signatur zweifelsfrei prüfen.

30 Erzeugung einer digitalen Signatur
B dA cA x y x f f* Klartext Geheimtext Klartext Grundidee A verschlüsselt x mit seinem privaten Schlüssel.

31 Digitale Signatur A B dA cA x y x f f* Klartext Geheimtext Klartext
Zu den Anforderungen an eine digitale Signatur: Authentizität: nur A verfügt über dA. Nichtübertragbarkeit: anderes x, anderes y Verbindlichkeit: nur A kann x in y umgewandelt haben Verifizierbarkeit: B kann y nur mit cA in ein sinnv. x umwandeln

32 Digitale Signatur A B dA cA x y x f f* Klartext Geheimtext Klartext
Nachteile Das signierte Dok. ist erst nach dem Entschlüsseln lesbar. Es ist sehr aufwendig, das gesamte Dok. zu verschlüsseln. Ausweg Erzeugung eines „digitalen Fingerabdrucks“

33 Digitaler Fingerabdruck
Grundidee: Es wird eine geeignet komprimierte Form des Klartextes x ermittelt. Beispiel: vereinfachte XOR-Kompression Vorbereitung: binäre Kodierung gemäß ASCII-Code UTA  85 | 84 | 65  | | = X1 | X2 | X3 XOR-Kompression: Y1 = Y2 = Y1 XOR X1 = XOR = Y3 = Y2 XOR X2 = XOR = Y4 = Y3 XOR X3 = XOR = Nachbereitung:  0*1+0*2+0*4+0*8+0*16+0*32+1*64+0*128 = 64 Ergebnis: 85 | 84 | 65  64

34 Hash-Funktion Hash-Funktionen
Funktion h, die jeder Nachricht x einen Prüfwert h(x) zuordnet (digitaler Fingerabdruck). Beispiel: x: UTA  85 | 84 | 65 h(x): 64 Einweg-Hash-Funktionen Hashfunktion mit folgender Eigenschaft: Es gibt einen effizienten Algorithmus zur Berechnung von h(x) aus x, aber keinen effizienten Algorithmus zur Berechnung von x aus h(x) (d. h.: es ist praktisch unmöglich zu einem Hashwert eine passende Nachricht zu konstruieren).

35 Digitale Signatur Signierprotokoll:
A bestimmt zur Nachricht x den Hash-Wert h(x) mit der vereinbarten Hash-Funktion h. A erzeugt die digitale Signatur für x: u = f(dA,h(x)). A sendet (x,u) an B. B entschlüsselt u mit dem öffentlichen Schlüssel von A: v = f*(dB,u). B erzeugt den Hash-Wert h(x) und prüft, ob h(x) = v.

36 Anforderungen an Hash-Funktionen
Anforderungen an gute Hash-Funktionen Es ist praktisch unmöglich, aus dem Hashwert h(x) die Nachricht x zu erschließen. (Einweg-Hash-Funktion) Es ist praktisch unmöglich, eine von x verschiedene Nachricht z mit h(x) = h(z) zu erzeugen. (Kollisionsresistenz) Kollisionen Eine Einweg-Hash-Funktion heißt kollisionsresistent, wenn es keinen effizienten Algorithmus gibt, um ein Paar (x, z) mit der Eigenschaft h(x) = h(z) zu finden.

37 Rechtslage Gesetz über Rahmenbedingungen für elektronische Signaturen (Signaturgesetz – SigG) ( ) „Zweck des Gesetzes ist es, Rahmenbedingungen für elektronische Signaturen zu schaffen.“

38 Übung Eine verbesserte Hash-Funktion arbeitet wie folgt:
Vorbereitung: binäre Kodierung gemäß ASCII-Code UTA  85 | 84 | 65  | | = X1 | X2 | X3 XOR-Kompression: Y1 = Y2 = Y1 XOR X1 = XOR =  Y3 = Y2 XOR X2 = XOR =  Y4 = Y3 XOR X3 = XOR =  Nachbereitung:  = 117 Ergebnis: 85 | 84 | 65  117 Erzeugen Sie analog den Hash-Wert von ‚HALLO‘.

39 Sicherheitsinfrastruktur
Teil 3 Sicherheitsinfrastruktur

40 PGP PGP - Pretty Good Privacy Hybridverfahren: PGP kombiniert
symmetrisches Verfahren (z. B. IDEA – Intern. Data Encryption Algorithm) asymmetrisches Verfahren (z. B. RSA) Lit.:

41 PGP Vorbereitung PGP erzeugt mit RSA das Schlüsselpaar (c,d) des Teilnehmes T und speichert es in einer Datei (auf Diskette) ab. Um an (c,d) heranzukommen, muss T ein vorher festgelegtes Password eingeben. T verschickt seinen öffentlichen Schlüssel an alle Personen, mit denen er korrespondieren will / legt ihn auf einen Schlüsselserver. Verschlüsselung: A will x an B schicken. PGP (von A) erzeugt einen Sessionkey s. PGP (von A) verschlüsselt die Nachricht x mit IDEA: y = g(s,x) PGP (von A) verschlüsselt den Sessionkey s mit RSA: u = f(cB,s) A sendet (y,u) an B. PGP (von B) entschlüsselt u: s = f*(dB,u) PGP (von B) entschlüsselt y: x = g*(s,y)

42 Vertauen zu Schlüsseln
Situation: A sendet seinen öffentlichen Schlüssel cA an B. X fängt die Nachricht ab, erzeugt ein neues Schlüsselpaar (cX, dX), ersetzt cA durch cx und schickt die Nachricht an B. B glaubt nun, der öffentliche Schlüssel von A sei cx. Grundproblem: Wie kann gewährleistet werden, dass ein öffentlicher Schlüssel authentisch ist, also demjenigen gehört, der sich als Eigentümer ausgibt?

43 Zertifizierung Zertifizierungsstelle (Trusted Third Party; kurz TTP):
A erzeugt ein neues Schlüsselpaar (cA, dA). A weist sich gegenüber TTP aus (ID-Nachweis). A hinterlegt eine Kopie seines öffentlichen Schlüssels cA bei TTP. TTP erstellt ein Zertifikat Z mit (u. a.) ID und cA. D.h.: TTP verschlüsselt (ID, cA) mit seinem geheimen Schlüssel  Z. Signieren: A signiert Nachricht mit dA und schickt sie an B. B testet, ob cA wirklich A gehört. D.h.: B entschlüsselt Z mit dem öffentl. Schlüssel von TTP / entnimmt ID und cA dem Zertifikat Z. B entschlüsselt die Signatur mit cA. B erzeugt den Hash-Wert der Nachricht und testet die Signatur.

44 Literatur A. Beutelspacher: Kryptologie. Vieweg 1995.
S. Singh: Codes. Hanser 2002. LOG IN 5/6 1996: Themenheft Kryptologie. R. Baumann: Digitale Unterschrift. In: LOG IN 2/99 und 3-4/99. H. Witten, I. Letzner, R.-H. Schulz: RSA & Co in der Schule. Serie in LOG IN ab 3-4/99.

45 Literatur Glossar mit zentralen Begriffen der Kryptologie Initiative des Bundes Unterrichtseinheit zur Einführung asymmetrischer Verfahren ...


Herunterladen ppt "Kryptologie Klaus Becker (2002)."

Ähnliche Präsentationen


Google-Anzeigen