Asymmetrische Verschlüsselung

Slides:



Advertisements
Ähnliche Präsentationen
Eine Einführung in das RSA-Verfahren an Beispielen
Advertisements

Mündliche Fachprüfung
Beispiel: RSA Man nehme 2 große Primzahlen p und q. p = 3 , q = 5
Beispiel zum RSA-Algorithmus
Präsentation Der Gruppe: Boll, Barbosa, Blädel Klasse: WG 05 a.
Asymmetrische Kryptographie
GIN1b – Exkurs: Primzahlen
Zahlentheorie Algebra und Kryptografie
Ein Public Key Kryptosystem mit perfekten Codes in Graphen.
(Ron Rivest, Adi Shamit, Leonard Adleman , 1977)
Einwegfunktionen mit und ohne „Falltür“
KRYPTOGRAFIE.
Kryptographie Wie funktioniert Electronic Banking?
präsentiert von Ulli, Nina& Kerstin
Kryptograhie Wie funktioniert Electronic Banking?
Zero-Knowledge Protokolle
Institut für Theoretische Informatik
(C) 2003, Hermann Knoll, HTW Chur, Fachhochschule Ostschweiz 1 RSA-Algorithmus 1978 von Ronald Rivest, Adi Shamir und Leonard Adleman erfunden.
IT-Sicherheit Kapitel 3 - Public Key Kryptographie
Präsentiert von Riccardo Fuda.  Klassische (symmetrische) Kryptographie  Der weg zur modernen Kryptographie  Message Authentification Codes  Asymmetrische.
Projekt Crypt Einfache kryptografische Verfahren
RSA ist nach seinen Erfindern Rivest, Shamir und Adleman benannt.
Folie Nr. Stand Jänner 2008 RSA ist nach seinen Erfindern Rivest, Shamir und Adleman benannt RSA ist ein asymmetrisches Kryptosystem 
Modul 6 Handy-Signatur: Anwendung. Anwendungsbereiche der Handy-Signatur „Eigenhändige Unterschrift“ Elektronische Behördenwege Rechtsgültiges Unterschreiben.
© 2013 TravelTainment Kryptographie in der IT Kryptographische Verfahren und ihre Anwendung in der IT.
modals dürfen können mögen müssen sollen wollen to be allowed to
Kryptografie und Datensicherheit RSA. Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 1. Attacken auf Public – Key - Verfahren 2. Der.
Kryptografie und Datensicherheit RSA. Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 1. Asymmetrisches Verschlüsselungsverfahren 2.
Vs Verteilte Hash-Tabellen (distributed hastables, DHT) am Beispiel von Chord (Stoica et al. 2001) Ziel:"Gutes" Verteilen von Informationen auf.
Systems Architecture RSA & DSA Signaturen Elliptische-Kurven-Kryptographie Mechmet Chiousemoglou Christian Krause 29.Mai.
Kryptographie ● Motivation ● Theoretisches ● Symmetrische Verschlüsselung: RC4 ● Asymmetrische Verschlüsselung: RSA.
Mit dem Computer kann man ganz toll präsentieren
Aufgabe 1: Begriffswelt
1 2 3 Wo sind die Kinderrechte aufgeschrieben?
Verschlüsselung nach dem RSA-Verfahren
RSA-PSS und RSA-OAEP Beweisbare Sicherheit für Public Key Kryptografie
oder: wie Computer die Welt sehen
Exercise C “say” => statement “ask” => question
Das Problem des Handlungsreisenden
RSA public key encryption
Manuel Blechschmidt & Volker Grabsch CdE Sommerakademie 2006 Kirchheim
Das RSA-Verfahren Klaus Becker 2017.
modals dürfen können mögen müssen sollen wollen to be allowed to
Kryptographie.
Symmetrische Verschlüsselung
Funktionsweise des RSA-Verfahrens
Die 7 Wege zur Effektivität
Digitale Signaturen & Digitale Zertifikate
Geheime Botschaften September 18 Informatik Kurse
“wish” “as if” “if only it were so”
Symmetrische Verschlüsselung
Graphen.
Meinungen über die Schule
Klausurtermin Klausur Diskrete Mathematik I Do stündig
Routing … … die Suche nach dem Weg..
Titel: Quelle: Übungsart: Titel: Quelle: Uhr Die Uhr lesen lernen
KAMAGRA Halten Sie Ihre Hände
SS 04 Christiane Rauh Christian Hellinger
Mathe Plus – Jahrgangsstufe I und II
Programmierung eines Computers (Funktionsweise)
1. Die rekursive Datenstruktur Liste 1.3 Rekursive Funktionen
DSD – Schriftliche Kommunikation
Der 30-Sekunden Elevator Pitch
Mathematisches Kaleidoskop
Google-Kalender Präsentation:
Das Vektorprodukt Wir definieren erneut eine Multiplikation zwischen zwei Vektoren, das Vektorprodukt, nicht zu verwechseln mit dem Skalarprodukt. Schreibe.
Zusammengesetzte Ereignisse
polis aktuell 2/2019: Musik und Menschenrechte
RGB-LED Projekt INGOLSTADT.
 Präsentation transkript:

Asymmetrische Verschlüsselung

Asymmetrische Verschlüsselung Warum? Grundidee RSA Ablauf Beispiel Etwas Mathematik Probleme / Angriffsstellen Gesellschaftlicher Kontext RSA Ablauf/Visualisierung (inkl. Farbanalogie)

Symmetrische Verschlüsselung Derselbe Schlüssel dient dem Ver- und Entschlüsseln der Nachricht https://www.ssl2buy.com/wiki/symmetric-vs-asymmetric-encryption-what-are-differences

Probleme symmetrischer Verschlüsselung Angriffsstellen Statistische Methoden Hinweis: Im digitalen Kontext gibt es Lösungen für dieses Problem, z.B. AES. Im Kern wird hierbei die Nachricht mehrfach monoalphabetisch verschoben, aber mit verschiedenen Blockgrössen – so bleiben die statistischen Eigenschaften der Ursprungszeichen nicht erhalten Bei der Schlüsselübergabe oder -aufbewahrung Sichere Schlüsselübergabe nur möglich bei vorgängigem physischen Kontakt

Asymmetrische Verschlüsselung Ein (öffentlicher) Schlüssel zum Verschlüsseln Ein (privater) Schlüssel zum Entschlüsseln https://www.ssl2buy.com/wiki/symmetric-vs-asymmetric-encryption-what-are-differences

Wer hat‘s erfunden? Eigentlich drei englische Mathematiker (James Ellis, Clifford Cooks und Malcolm Williamson) 1970-1974  Der britische Geheimdienst erklärte diese Entdeckung zum Staatsgeheimnis und untersagte die Veröffentlichung 1976 kamen die amerikanischen Kryptographen Rivest, Shamir & Adleman auf dieselbe Idee  Diese Art der asymmetrischen Verschlüsselung ist unter dem Namen RSA bekannt. Andere asymmetrische Kryptosysteme sind Varianten dieser Grundform.

Voraussetzungen Verschlüsseln (mit öffentlichem Schlüssel) ist einfach, entschlüsseln (ohne privaten Schlüssel) ist schwer Die Kenntnis des privaten Schlüssels macht das Dechiffrieren einfach Der private Schlüssel lässt sich nicht (einfach) aus dem öffentlichen Schlüssel ableiten

Einwegfunktion Eine mathematische Operation, die einfach durchzuführen, aber nur sehr schwer umzukehren ist. Analogie: Mit dem Rezept einen Kuchen backen ist einfach. Vom Kuchen auf das exakte Rezept schliessen, ist schwer.

Einwegfunktion mit Hintertür Problem der Einwegfunktion: Zumindest der intendierte Empfänger soll ja dechiffrieren können. Hintertür: der private Schlüssel Mit ihm kann leicht dechiffriert werden Er kann aber nur schwer aus dem öffentlichen Schlüssel gewonnen werden Eine Einwegfunktion mit Hintertür kann entstehen, wenn man zwei einzelne Einwegfunktionen geschickt kombiniert. Bei RSA sind das der Modulare Kehrwert die Primfaktorisierung

RSA-Prinzip Verschlüsseln (mit öffentlichem Schlüssel) ist einfach, entschlüsseln (ohne privaten Schlüssel) ist schwer Verschlüsseln mit Modulo und public key (e, n) cipherText = plainText e % n Die Kenntnis des privaten Schlüssels macht das Dechiffrieren einfach Entschlüsseln mit modularem Kehrwert und private key (d, n) plainText = cipherText d % n Der private Schlüssel lässt sich nicht (einfach) aus dem öffentlichen Schlüssel ableiten Man braucht die Primfaktoren von n, um d und e abzuleiten

RSA: Schritt für Schritt p & q wählen (prim) n = p * q ; phi = (p-1) * (q-1) e wählen, so dass e teilerfremd zu phi ist d wählen, so dass d * e = 1 mod phi e & n als public key verschicken d & n als private key behalten Klartext in Blöcke < n zerlegen und einzeln verschlüsseln: cipherText = plainText e % n Geheimtextblöcke versenden Geheimtextblöcke einzeln entschlüsseln: plainText = cipherText d % n Klartextblöcke wieder zusammensetzen Empfänger Sender Empfänger

Wie schwer kann das schon sein? RSA Sicherheit Verschlüsseln: g = ke % n Entschlüsseln: k = gd % n Geheim bleiben p und q (und damit phi), sowie d d berechnen ist NP-schwer man müsste durchprobieren ausser man kennt phi (= Trapdoor!) phi herausfinden ist NP-schwer man müsste n in seine Primfaktoren p * q zerlegen, dann kennt man phi k = Klartext (1 Block) g = Geheimtext (1 Block) n = p*q (grosse Primzahlen, nicht öffentlich) phi = (p-1)*(q-1) e ist teilerfremd zu phi e*d phi = 1 Der Kern ist also die Zerlegung einer sehr grossen Zahl in ihre beiden Primfaktoren. Wie schwer kann das schon sein?

Primfaktorzerlegung Für welche Primfaktoren p und q ist a) n = p * q = 133 b) n = p * q = 2881 ? Lösen Sie die Aufgabe von Hand oder mit dem Taschenrechner Wie sind Sie vorgegangen? Notieren Sie Ihren Lösungsweg in Stichworten Wie viele Rechenschritte braucht Ihr Algorithmus im Allgemeinen (in Abhängigkeit von n)? Angenommen, Sie machen 1 Mio Rechenschritte/Sekunde: Wie lange brauchen Sie, um n = 86609 zu zerlegen? Und für das realistische n = 14590676800758332323018693934907063529240187237535716439958187101987343879900535893836 95714026701498021218180862924674228281570229220767469065434012248896724724079269699871 00581290103199317858753663710862357656510507883714297115637342788911463535102712032765 166518411726859837988672111837205085526346618740053 ? 1a) p=7, q=19 b) p=43, q=67 86609 = 257 * 337 p 12131072439211271897323671531612440428472427633701410925634549312301964373042085619324197365322416866541017057361365214171711713797974299334871062829803541 q 12027524255478748885956220793734512128733387803682075433653899983955179850988797899869146900809131611153346817050832096022160146366346391812470987105415233 With these two large numbers, we can calculate n and ϕ(n)ϕ(n) n 145906768007583323230186939349070635292401872375357164399581871019873438799005358938369571402670149802121818086292467422828157022922076746906543401224889672472407926969987100581290103199317858753663710862357656510507883714297115637342788911463535102712032765166518411726859837988672111837205085526346618740053 http://doctrina.org/How-RSA-Works-With-Examples.html Komplexität der Primfaktorzerlegung Der simpelste Ansatz ist die Probedivision, also n%x für x von 3 bis n (eigentlich genügt n/2).  allgemein: braucht n (bzw. n/2) Rechenschritte um die Zahl n zu zerlegen Andere Methoden (z.B. Zahlensieb) reduzieren die Anzahl Rechenschritte, aber die Einsparungen sind in Bezug auf die Komplexitätsklasse unwesentlich Achtung! Die zugehörige Komplexitätsklasse ist O(2^log(n)) – also in NP – weil das n für die Problemgrösse steht, nicht für den konkreten Input. Die Problemgrösse lässt sich hier am besten an der Länge des Inputs (in Bits) festmachen, und das wäre grob 2^log(n)

Probleme von RSA Grosse Primzahlen erforderlich (mehrere hundert Dezimalstellen lang, Binär meist 1024 – 2048 Stellen) Schlüsselerzeugung: Wer garantiert mir, dass die Primzahlen von meinem Programm wirklich „zufällig“ gewählt werden? Grosser Rechenaufwand (gegenüber AES mind. 1000 mal so gross) Häufig wird mit RSA daher nur der Schlüssel für ein symmetrisches Verfahren übermittelt Sind wir sicher, dass das Problem der Primfaktorzerlegung noch nicht gelöst ist? (vgl. Folie „Wer hat‘s erfunden?“)

RSAmitGUI.jar (s. Webseite) wählen Sie zwei kleine Primzahlen (<20) berechnen Sie: n = p * q und phi = (p-1) * (q-1) hier braucht es einen Wert < n tragen Sie einen Wert ein, der keinen gemeinsamen Teiler mit phi hat (und e < phi) tragen Sie einen Wert ein, so dass e * d bei Division durch phi den Rest 1 lässt g = k e % n k = g d % n

Kryptographie im gesellschaftlichen Kontext «Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on.» Edward Snowden

Auch Mathematiker können irren ... «No one has yet discovered any warlike purpose to be served by the theory of numbers [...] and it seems unlikely that anyone will do so for many years.» G.H. Hardy, 1940 Wenige Jahre später wurde die Verschlüsselung der U-Boot Funksprüche der Nazis u.a. aufgrund zahlentheoretischer Überlegungen geknackt ca. 1970 wurde die erste Form der asymmetrischen Verschlüsselung vom britischen Geheimdienst zum Staatsgeheimnis erklärt Halten Sie es für legitim, dass der britische Geheimdienst das public key Verfahren für sich behalten wollte?

Verschlüsselung funktioniert «Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on.» Edward Snowden Sauber verschlüsselte Inhalte kann (heute) niemand dechiffrieren, selbst die NSA nicht. Wie das geht, ist seit 1977 (RSA) öffentlich bekannt. Seither basiert jegliche Form der Verschlüsselung digitaler Kommunikation auf dieser Idee (bzw. Varianten davon)

Dürfen dafür allgemeine Sicherheitsstandards kompromittiert werden? RSA schwächen Staaten (bzw. deren Geheimdienste) möchten aber noch immer Verschlüsseltes entziffern können (dasselbe gilt natürlich auch für kriminelle Akteure) In den letzten Jahren wurden verschiedene Aktivitäten bekannt, mit denen das Verfahren unterlaufen werden soll, z.B.: durch die Manipulation von Zufallszahlen-Generatoren (NSA) Halten Sie es für ein legitimes staatliches Interesse, Verschlüsselungen knacken zu können? Dürfen dafür allgemeine Sicherheitsstandards kompromittiert werden?

RSA umgehen Staaten (bzw. deren Geheimdienste) möchten aber noch immer Verschlüsseltes entziffern können (dasselbe gilt natürlich auch für kriminelle Akteure) In den letzten Jahre versuchen staatliche Organe zunehmend, das Verfahren zu umgehen, z.B.: z.B. durch „Staatstrojaner“, die Verschlüsselung umgehen, indem sie die Klartextversion aus Endgeräten auslesen Begründung: «Was die Polizei im analogen Bereich darf, das muss sie auch im digitalen rechtlich dürfen und technisch können.» (Thomas de Maizière, deutscher Innenminister) Halten Sie es für ein legitimes staatliches Interesse, Bürger hacken zu können? Und Bürger anderer Staaten?

RSA Analogie mit Farben

Farb-Analogie des RSA-Prinzips Das Grundprinzip von RSA kann man sich auch mit Farbmischungen vorstellen. Diese Analogie beruht auf zwei Grundannahmen: Farben entmischen ist schwer (= Einwegfunktion) Komplementärfarben finden ist schwer (= Einwegfkt.) Indem man beides kombiniert, bekommt man eine Einwegfunktion mit Hintertür. Hinweis: Die Analogie dient dem Verständnis, dummerweise sind aber beide Grundannahmen falsch - jedenfalls wenn es um digitale Farbmischung geht. In echt werden natürlich Zahlen benutzt.

Einwegfunktionen mit Farben Farben mischen ist einfach, die Mischung in ihre Komponenten zu zerlegen, ist schwer Zwei komplementäre Farben erstellen ist einfach, eine bestimmte Komplementärfarbe finden, ist schwer Rot: public key Grün: plain text Mischung: cipher text ? Rot: public key Cyan: private key ?

Einwegfunktion mit Hintertür Da eine Komplementärfarbe die Wirkung ihres Partners negiert, kann sie zur Entschlüsselung der ersten Mischung benutzt werden Analogie: Bob verschlüsselt seinen plain text mit Alices public key Alice erstellt einen public key und einen private key public key Alice dechiffriert den cipher text mit ihrem private key cipher text

RSA-Prinzip mit Farben Verschlüsseln (mit öffentlichem Schlüssel) ist einfach, entschlüsseln (ohne privaten Schlüssel) ist schwer Die Kenntnis des privaten Schlüssels macht das Dechiffrieren einfach Der private Schlüssel lässt sich nicht (einfach) aus dem öffentlichen Schlüssel ableiten Verschlüsseln durch Mischen von plain text und public key Entschlüsseln durch Mischen von cipher text und private key  Umkehrung der Wirkung des public key ? Komplementärfarbe zu public key ? (= private key)

RSA Schritt für Schritt Mit Farben oder Zahlen

Eavesdropping (=Mithören) In der Kryptographie werden die Kommunikationspartner immer Alice und Bob genannte, das ist ein Running Gag. Eve kommt vermutlich von Eavesdropping. EVE Alice Bob https://imgs.xkcd.com/comics/protocol.png

RSA Ablauf, Schritt 1 EVE Alice Bob Zwei komplementäre Farben erstellen: einen public key und einen private key RSA mit Zahlen p & q wählen (prim) n = p * q; phi = (p-1) * (q-1); e & d wählen, so dass e und e*d teilerfremd zu phi sind;

private key behalten, public key an Kommunikationspartner senden RSA Ablauf, Schritt 2 EVE Alice Bob private key behalten, public key an Kommunikationspartner senden RSA mit Zahlen n & e als public key verschicken n & d als private key behalten

RSA Ablauf, Schritt 3 EVE Alice Bob cipher text erstellen durch Mischung von plain text Nachricht und public key RSA mit Zahlen Klartext in Blöcke < n zerlegen, dann jeweils cipherText = plainText e % n

cipher text an Kommunikationspartner senden RSA Ablauf, Schritt 4 EVE Alice Bob cipher text an Kommunikationspartner senden RSA mit Zahlen cipherText verschicken (ggf. mehrere Blöcke)

RSA Ablauf, Schritt 5 plainText = cipherText d % n EVE Alice Bob private key mit cipher text mischen, um die plain text Nachricht zu erhalten RSA mit Zahlen plainText = cipherText d % n (ggf. mehrere Blöcke, dann wieder zusammensetzen)

RSA Sicherheit plainText = cipherText (??) % n EVE Alice Bob Eve hat public key und cipher text abgefangen, kann damit aber nicht auf die eigentliche Nachricht schliessen RSA mit Zahlen plainText = cipherText (??) % n

Wie schwer kann das schon sein? RSA Sicherheit Verschlüsseln: g = ke % n Entschlüsseln: k = gd % n Geheim bleiben p und q (und damit phi), sowie d d berechnen ist NP-schwer man müsste durchprobieren ausser man kennt phi (= Trapdoor!) phi herausfinden ist NP-schwer man müsste n in seine Primfaktoren p * q zerlegen, dann kennt man phi k = Klartext (1 Block) g = Geheimtext (1 Block) n = p*q (grosse Primzahlen, nicht öffentlich) phi = (p-1)*(q-1) e ist teilerfremd zu phi e*d ist teilerfremd zu phi (e*d % phi = 1) Der Kern ist also die Zerlegung einer sehr grossen Zahl in ihre beiden Primfaktoren. Wie schwer kann das schon sein?