Post-quantum cryptography



Ähnliche Dokumente
Algorithmische Kryptographie

Kryptographie mit elliptischen Kurven

Konzepte von Betriebssystemkomponenten: Schwerpunkt Sicherheit. Asymmetrische Verschlüsselung, Digitale Signatur

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

Computeralgebra in der Lehre am Beispiel Kryptografie

11. Das RSA Verfahren und andere Verfahren

Digitale Signaturen. Sven Tabbert

Lenstras Algorithmus für Faktorisierung

Diffie-Hellman, ElGamal und DSS. Vortrag von David Gümbel am

Lösungsblatt zur Vorlesung. Kryptanalyse WS 2009/2010. Blatt 6 / 23. Dezember 2009 / Abgabe bis spätestens 20. Januar 2010, 10 Uhr (vor der Übung)

Verschlüsselung. Chiffrat. Eve

Asymmetrische. Verschlüsselungsverfahren. erarbeitet von: Emilia Winkler Christian-Weise-Gymnasium Zittau

Elliptische Kurven in der Kryptographie

12 Kryptologie. ... immer wichtiger. Militär (Geheimhaltung) Telebanking, Elektronisches Geld E-Commerce

5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12)

Kryptographie Reine Mathematik in den Geheimdiensten

U3L Ffm Verfahren zur Datenverschlüsselung

Modul Diskrete Mathematik WiSe 2011/12

RSA Verfahren. Kapitel 7 p. 103

Über das Hüten von Geheimnissen

Voll homomorpe Verschlüsselung

27. Algorithmus der Woche Public-Key-Kryptographie Verschlüsseln mit öffentlichen Schlüsseln

Primzahlen und RSA-Verschlüsselung

Basis und Dimension. Als nächstes wollen wir die wichtigen Begriffe Erzeugendensystem und Basis eines Vektorraums definieren.

Musterlösungen zur Linearen Algebra II Blatt 5

Kurze Einführung in kryptographische Grundlagen.

3.3 Eigenwerte und Eigenräume, Diagonalisierung

Programmierkurs Java

Vorlesung Sicherheit

10. Public-Key Kryptographie

Bernd Blümel. Verschlüsselung. Prof. Dr. Blümel

Kryptographische Verfahren auf Basis des Diskreten Logarithmus

Einführung. Vorlesungen zur Komplexitätstheorie: Reduktion und Vollständigkeit (3) Vorlesungen zur Komplexitätstheorie. K-Vollständigkeit (1/5)

Statistische Untersuchungen zu endlichen Funktionsgraphen

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

2. Negative Dualzahlen darstellen

Sicherheit von PDF-Dateien

Authentikation und digitale Signatur

Sicherheit von hybrider Verschlüsselung

Jahrgang: Jahrgang 1. Thema: Systementwicklung einer Webapplikation - Geheimnachrichten-Generator

10. Kryptographie. Was ist Kryptographie?

vorab noch ein paar allgemeine informationen zur d verschlüsselung:

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

Überblick. Lineares Suchen

Numerische Verfahren und Grundlagen der Analysis

Kryptographie in der Moderne

Verschlüsselung. Kirchstraße 18 Steinfelderstraße Birkweiler Bad Bergzabern Fabian Simon Bfit09

Protokoll Frage (Aufgabentyp 1 Allgemeine Frage):

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Information Systems Engineering Seminar

Public-Key-Algorithmen WS2015/2016

IT-Sicherheit Kapitel 3 Public Key Kryptographie

V 2 B, C, D Drinks. Möglicher Lösungsweg a) Gleichungssystem: 300x y = x + 500y = 597,5 2x3 Matrix: Energydrink 0,7 Mineralwasser 0,775,

GF(2 2 ) Beispiel eines Erweiterungskörpers (1)

Zeichen bei Zahlen entschlüsseln

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Technische Universität München SS 2006 Fakultät für Informatik 12. Oktober 2006 Prof. Dr. A. Knoll. Aufgabe 1 Transferfragen (Lösungsvorschlag)

Abituraufgabe zur Stochastik, Hessen 2009, Grundkurs (TR)

Lernziele: Ausgleichstechniken für binäre Bäume verstehen und einsetzen können.

Einführung in die Java- Programmierung

Homomorphe Verschlüsselung

RSA-Verschlüsselung. Verfahren zur Erzeugung der beiden Schlüssel:

Programmieren I. Kapitel 7. Sortieren und Suchen

Visuelle Kryptographie

10.6 Authentizität. Geheimhaltung: nur der Empfänger kann die Nachricht lesen

R ist freie Software und kann von der Website.

Einfache kryptographische Verfahren

Erste Vorlesung Kryptographie

Sicherer Datenaustausch mit EurOwiG AG

5. Abstrakte Klassen. Beispiel (3) Abstrakte Klasse. Beispiel (2) Angenommen, wir wollen die folgende Klassenhierarchie implementieren:

Thunderbird Portable + GPG/Enigmail

Das Kryptosystem von McEliece. auf der Basis von linearen Codes

Zusammenfassung der Vorlesung vom

Lineare Gleichungssysteme

Übung 9 - Lösungsvorschlag

Public-Key-Kryptosystem

Eigenwerte und Eigenvektoren von Matrizen

2 Darstellung von Zahlen und Zeichen

Einleitung Shor s Algorithmus Anhang. Thomas Neder. 19. Mai 2009

Austausch- bzw. Übergangsprozesse und Gleichgewichtsverteilungen

Wie Google Webseiten bewertet. François Bry

Netzsicherheit I, WS 2008/2009 Übung 12. Prof. Dr. Jörg Schwenk

Klausur WS 2006/07 Programmiersprache Java Objektorientierte Programmierung II 15. März 2007

Algorithmen II Vorlesung am

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Eine Logikschaltung zur Addition zweier Zahlen

15 Optimales Kodieren

-Verschlüsselung

Anmerkungen zur Übergangsprüfung

1.1 Auflösungsvermögen von Spektralapparaten

Daniel Warneke Ein Vortrag im Rahmen des Proseminars Software Pioneers

Software Engineering Klassendiagramme Assoziationen

Nachrichten- Verschlüsselung Mit S/MIME

5. Abstrakte Klassen

Festigkeit von FDM-3D-Druckteilen

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

AVL-Bäume Analyse. Theorem Ein AVL-Baum der Höhe h besitzt zwischen F h und 2 h 1 viele Knoten. Definition Wir definieren die nte Fibonaccizahl:

Transkript:

Post-quantum cryptography

Post-quantum cryptography 1. Komplexität & Quantencomputer 2. Kryptografie in Gittern 3. FHE Eine Revolution im Datenschutz?

WIESO?

KOMPLEXITÄT

Public-Key-Kryptografie Grafiken: http://de.wikipedia.org/wiki/asymmetrisches_kryptosystem

Public-Key-Kryptografie

Ziel Schlüsselgenerierung, Ver- und Entschlüsslung sollen leicht durchführbar sein. Entschlüsslung ohne Kenntnis des privaten Schlüssels soll nicht sinnvoll möglich sein

Effizienz Schlüsselgenerierung, Ver- und Entschlüsslung sollen effizient durchführbar sein. Entschlüsslung ohne Kenntnis des privaten Schlüssels soll nicht effizient möglich sein.

Komplexität Wie viele Rechenschritte sind zur Lösung eines Problems nötig? Binäre Suche Hamiltonkreise O(log n) O(2 n ) Grafik: http://en.wikipedia.org/wiki/file:hamiltonian_path.svg http://en.wikipedia.org/wiki/binary_search_tree

Komplexe Probleme in der Kryptografie Faktorisierung von ganzen Zahlen (RSA) N = p q Finde Faktoren p, q.

Komplexe Probleme in der Kryptografie Diskrete Logarithmen (ElGamal) Sei G eine endliche Gruppe, gegeben x, y G mit y = x n. Finde n. Verwendete Gruppen: Ganze Zahlen modulo p Elliptische Kurven

QUANTENCOMPUTER

Quantencomputer Physikalische Repräsentation von Qubits Superposition von Zuständen 0 und 1 Durch Messung kollabieren die Qubits in einen klassischen Zustand Theoretisch können n Qubits 2 n Zustände gleichzeitig repräsentieren. Die Entwicklung von Quanten-Algorithmen ist sehr speziell Zahlreiche Anwendungen

Grovers Algorithmus Suche in einer unsortierten Liste mit N Einträgen Klassisch: O n Quantenalgorithmus: O( n) Grovers Algorithmus verdoppelt die Länge aller Passwörter/Schlüssel, die man brechen kann

Abelsches HSP, Shors Algorithmus Quanten-Fouriertransformation in endlichen Gruppen Shors Algorithmus liefert ausgerechnet eine Lösung in Polynomialzeit für Faktorisierung von ganzen Zahlen Diskrete Logarithmen

Quantencomputer brechen alle populären Public- Key-Verfahren

Quantencomputer Stand der Technik Seit 1980 werden Quanten-Algorithmen theoretisch erforscht Einzelne Quantenberechnungen wurden erfolgreich durchgeführt 2011: Faktorisierung von 143 mit 4 Qubits Heute: 512 Qubits mit Einschränkungen Technische Hürden Offiziell: $79.7 Millionen Forschungsetat der NSA

KRYPTOGRAFIE IN GITTERN

Ganzzahlige Gitter

Ganzzahlige Gitter Definition: Ein ganzzahliges Gitter ist eine Menge von Punkten mit ganzzahligen Koordinaten, die unter Summen und Differenzen abgeschlossen ist.

Gitterbasen Jedes d-dimensionale Gitter wird durch eine Basis aus d linear unabhängigen Vektoren erzeugt.

Gitterbasen v 1 = 1 0, v 2 = 0 1

Gitterbasen v 1 = 2 0, v 2 = 0 2

Gitterbasen v 1 = 2 1, v 2 = 1 2

Gitterbasen? v 1 = 3 1, v 2 = 5 2

Basiswechsel 2 5 3 1 1 5 2 = 1 0 3 1 + 3 5 2 = 0 1

Gitterbasen Verschiedene Basen desselben Gitters!

Basiswechsel und Matrizen Invertieren von ganzzahligen Matrizen Bedingung: 3 5 1 2 1 = 2 5 1 3 det 3 5 1 2 = 1

Gute und schlechte Basen Gute Basis Schlechte Basis Sehr kurze Vektoren Nahezu orthogonal H 1 Unnötig lange Vektoren Nahezu parallel H 1 Hadamard-Quotient H: 1 n det L v 1 v n 0

Probleme in Gittern SVP: Shortest Vector Problem CVP: Closest Vector Problem

Probleme in hochdim. Gittern Multiplikation mit zufälligen Matrizen, det = 1 Gute Basis Schlechte Basis CVP/SVP sehr einfach (LGS lösen, runden) Kein effizientes Verfahren für CVP/SVP bekannt Lattice reduction, kein effizientes Verfahren bekannt

Public-Key-Kryptografie in Gittern Öffentlicher Schlüssel Schlechte Basis eines hochdimensionalen Gitters Privater Schlüssel Gute Basis des Gitters Nachrichten als Gitterpunkte Wer eine gute Basis kennt, kann die Störung eliminieren CVP Nachricht Störung

Beispiel

Public-Key-Kryptografie in Gittern Vorteile Nachteile Sehr effizient Einfach zu implementieren Kein effizienter Quantenalgorithmus bekannt Sehr große Schlüssel d-dim. Gitter d x d - Matrix

NTRU Zusammenhang zwischen Gittern und Polynomen, z.b. Z n Z x / f Praktisches Verfahren: Schlüssel sind Polynome Verwandt mit Gitterreduktion in N Dimensionen (max. Security N=503) O(n log n) Schlüsselgröße

NTRU in der Praxis 1996 patentiert von Hoffstein, Pipher, Silverman Algorithmen NTRUEncrypt, NTRUSign Open-Source-Implementierung verfügbar (http://tbuktu.github.io/ntru/)

Beispiel (Offizielle Demo) private static void encrypt() { System.out.println("NTRU encryption"); // create an instance of NtruEncrypt with a standard parameter set NtruEncrypt ntru = new NtruEncrypt(EncryptionParameters.APR2011_439_FAST); // create an encryption key pair EncryptionKeyPair kp = ntru.generatekeypair(); String msg = "The quick brown fox"; System.out.println(" Before encryption: " + msg); // encrypt the message with the public key created above byte[] enc = ntru.encrypt(msg.getbytes(), kp.getpublic()); // decrypt the message with the private key created above byte[] dec = ntru.decrypt(enc, kp); // print the decrypted message System.out.println(" After decryption: " + new String(dec)); }

FULLY HOMOMORPHIC ENCRYPTION (FHE)

Milliardärsproblem Wie können zwei Milliardäre feststellen, wer von beiden der reichere ist, ohne ihr Vermögen zu offenbaren?

Fully homomorphic encryption Beliebige Berechnungen auf verschlüsselten Daten ausführen: Ein Programm erhält verschlüsselte Eingaben und berechnet die Verschlüssslung der Ausgabe, ohne zu entschlüsseln oder überhaupt den Schlüssel zu kennen.

Revolution im Datenschutz? Auslagerung von Berechnungen Cloud-Computing, Mehrparteien- Berechnung Private Information Retrieval Sichere und geheime Abstimmungen

Implementierung 2009 hat Craig Gentry das erste funktionierende FHE-Kryptosystem vorgestellt Noch unpraktikabel Basierend auf Idealgittern (Polynomringe)

Idee a+b a b

Idee Gitter-Kryptosysteme erlauben Operationen auf den verschlüsselten Daten, akkumulieren aber die Störungen, bis das CVP nicht mehr die richtige Lösung liefert. Lösung: Alle N Schritte die Störung reduzieren Neu verschlüsseln Wie ohne privaten Schlüssel?

Die Lösung Entschlüsslungsalgorithmus homomorph auf verschlüsselten Daten ausführen! Dazu muss die Entschlüsslung in unter N Schritten durchführbar sein. Aber Gitter- Kryptografie ist sehr effizient zu implementieren

Take home message Quantencomputer rücken in greifbare Nähe. Sie brechen ausgerechnet alle heute populären Public-Key-Verfahren. Kryptografie in Gittern (bspw. NTRU) wird durch kein heute bekanntes Verfahren auf Quantencomputern gebrochen FHE wurde erstmals implementiert und verspricht, den Datenschutz zu revolutionieren