Homomorphe Verschlüsselung



Ähnliche Dokumente
11. Das RSA Verfahren und andere Verfahren

Erste Vorlesung Kryptographie

Das RSA-Verschlüsselungsverfahren 1 Christian Vollmer

10. Kryptographie. Was ist Kryptographie?

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

Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009

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

10. Public-Key Kryptographie

Lenstras Algorithmus für Faktorisierung

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

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

Primzahlen und RSA-Verschlüsselung

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

Verschlüsselung. Chiffrat. Eve

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Verwendung des IDS Backup Systems unter Windows 2000

RSA Verfahren. Kapitel 7 p. 103

GnuPG für Mail Mac OS X 10.4 und 10.5

Informatik für Ökonomen II HS 09

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

Einfache kryptographische Verfahren

Thunderbird Portable + GPG/Enigmail

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

Der Zwei-Quadrate-Satz von Fermat

Kryptographische Verfahren auf Basis des Diskreten Logarithmus

Linux User Group Tübingen

Zur Sicherheit von RSA

Anwendungsbeispiele Buchhaltung

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

Voll homomorpe Verschlüsselung

Skript und Aufgabensammlung Terme und Gleichungen Mathefritz Verlag Jörg Christmann Nur zum Privaten Gebrauch! Alle Rechte vorbehalten!

-Verschlüsselung mit S/MIME

1 Kryptosysteme 1 KRYPTOSYSTEME. Definition 1.1 Eine Kryptosystem (P(A), C(B), K, E, D) besteht aus

Kryptographie mit elliptischen Kurven

Elliptische Kurven in der Kryptographie

Zeichen bei Zahlen entschlüsseln

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

Sicherer Datenaustausch mit Sticky Password 8

Public-Key-Kryptosystem

IT-Sicherheit: Kryptographie. Asymmetrische Kryptographie

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

Kapitalerhöhung - Verbuchung

Homomorphe Verschlüsselung

Exkurs Kryptographie

Über das Hüten von Geheimnissen

Modul Diskrete Mathematik WiSe 2011/12

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Schritt-für-Schritt-Anleitung So verschlüsseln Sie Ihr -Konto in Outlook 2010

Verschlüsseln Sie Ihre Dateien lückenlos Verwenden Sie TrueCrypt, um Ihre Daten zu schützen.

Algorithmische Kryptographie

Zahlensysteme. von Christian Bartl

Informationsblatt Induktionsbeweis

Den Durchblick haben. VOLKSBANK BAD MÜNDER eg. Online aber sicher: Unsere Produkt- und Sicherheitshotline hilft und informiert

Umstellung des Schlüsselpaares der Elektronischen Unterschrift von A003 (768 Bit) auf A004 (1024 Bit)

Zeit lässt sich nicht wie Geld für schlechte Zeiten zur Seite legen. Die Zeit vergeht egal, ob genutzt oder ungenutzt.

Digitale Signaturen. Sven Tabbert

Schritt-für-Schritt-Anleitung So verschlüsseln Sie Ihr -Konto in Outlook 2013

Computeralgebra in der Lehre am Beispiel Kryptografie

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Schritt-für-Schritt-Anleitung So verschlüsseln Sie Ihr -Konto in Outlook Express

7 Rechnen mit Polynomen

Leichte-Sprache-Bilder

Comtarsia SignOn Familie

Professionelle Seminare im Bereich MS-Office

Import des persönlichen Zertifikats in Outlook Express

Wir machen neue Politik für Baden-Württemberg

Möglichkeiten der verschlüsselten -Kommunikation mit der AUDI AG Stand: 11/2015

Sicherer Datenaustausch mit EurOwiG AG

Seminar zur Kryptologie

Statuten in leichter Sprache

Anwendungsbeispiele. Neuerungen in den s. Webling ist ein Produkt der Firma:

Anleitung Thunderbird Verschlu sselung

Import des persönlichen Zertifikats in Outlook 2003

Erste Hilfe. «/IE Cache & Cookies» Logout, alte Seiten erscheinen, Erfasstes verschwindet?

PeDaS Personal Data Safe. - Bedienungsanleitung -

Schritt-für-Schritt-Anleitung So verschlüsseln Sie Ihr -Konto in Thunderbird

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Einführung in die Algebra

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Alle gehören dazu. Vorwort

Erfahrungen mit Hartz IV- Empfängern

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Computerarithmetik ( )

1. Man schreibe die folgenden Aussagen jeweils in einen normalen Satz um. Zum Beispiel kann man die Aussage:

Den Fehler session error bei der Kalenderanmeldung beheben:

10.1 Auflösung, Drucken und Scannen

Schritt-für-Schritt-Anleitung So verschlüsseln Sie Ihr -Konto in Windows Live Mail

Repetitionsaufgaben Wurzelgleichungen

Senden von strukturierten Berichten über das SFTP Häufig gestellte Fragen

Mathematik und Logik

Microsoft PowerPoint 2013 Folien gemeinsam nutzen

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

Probabilistische Primzahlensuche. Marco Berger

Schritt-für-Schritt-Anleitung So verschlüsseln Sie Ihr -Konto in Outlook 2003

Schritt-für-Schritt-Anleitung So verschlüsseln Sie Ihr -Konto auf Ihrem Android Tablet

ICS-Addin. Benutzerhandbuch. Version: 1.0

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

ANLEITUNG - WIE UNTERSTÜTZE ICH AUF STARTNEXT?

Authentikation und digitale Signatur

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN

Transkript:

Homomorphe Verschlüsselung Sophie Friedrich, Nicholas Höllermeier, Martin Schwaighofer 11. Juni 2012

Inhaltsverzeichnis Einleitung Motivation Mathematische Definitionen Wiederholung Gruppe Ring Gruppenhomomorphisums Homomorphe Verschlüsselung Das Verschlüsselungsverfahren Teilhomomorphe Verschlüsselung RSA Paillier-Verfahren Vollhomomorphe Verschlüsselung mathematsiche Definition Anwendungsbeispiele E-Voting Cloud Computing

Was ist homomorphe Verschlüsselung? Homomorphe Verschlüsselung ist eine Form der Verschlüsselung die es ermöglicht: Berechnungen auf Ciphertexten auszuführen wobei das entschlüsselte Resultat das gleiche ist, wie wenn man: die Cyphertexte entschlüsselt auf den entschlüsselten Cyphertexten die Berechnungen durchführt das Ergebnis wieder verschlüsselt

Einfaches Beispiel Alice eröffnet einen Würstelstand in Salzburg, und beauftragt Mallory wöchentlich ihre Verkaufszahlen zu berechnen. Sie verwendet ein homomorphes Verschlüsselungsverfahren um ihre Umsatzdaten vor Mallory geheim zu halten. E(m) = m k und D(c) = c k, wobei k = 2 der von Alice gewählte Schlüssel ist. Alice verkauft von Montag bis Freitag täglich genau ein Würstel, nämlich an Bob. Nur am Mittwoch verkauft sie ihm zwei Würstel. Sie schickt ihre verschlüsselten Umsätze täglich an Mallory. Mallory berechnet 2 + 2 + 4 + 2 + 2 = 12 und sendet diese Zahl am Freitag an Alice zurück. Alice entschlüsselt mit D(12) = 12/2 = 6 und erhält somit das korrekte Ergebnis, ohne Mallory ihre Umsätze zu verraten.

Motivation Wozu homomorphe Verschlüsselung? Cloud-Computing rechenintensive Anwendungen werden auf Server im Internet ausgelagert große Datenmengen werden extern gespeichert Datensicherheit nicht immer optimal gewährleistet E-voting Einhaltung des Wahlgeheimnisses Stimmen müssen aufsummiert und ausgezählt werden,ohne die individuellen Stimmen zu kennen Homomorphe Verschlüsselung schafft Abhilfe für diese Probleme

Gruppe Eine Gruppe ist ein Paar (G, ). G ist eine Menge, eine zweistellige Verknüpfung: : G G G, (a, b) a b Es muss gelten: Assoziativität: a, b, c G : (a b) c = a (b c) neutrales Element: e G, a G : a e = e a = a inverses Element: a G a 1 G : a a 1 = a 1 a = e Eine Gruppe heißt abelsche Gruppe, wenn gilt: a b = b a a, b G d.h. das Kommutativgesetz muss gelten

Ring Ein Ring (R, +, ) ist eine Menge R mit zwei inneren binären Verknüpfungen + und. Dabei muss gelten: (R, +) ist eine abelsche Gruppe Assoziativ bezüglich der Multiplikation: a, b, c R : (a b) c = a (b c) Abgeschlossen bezüglich der Multiplikation: a, b R : a b R Distributivgesetze: a (b + c) = a b + a c (a + b) c = a c + b c

Gruppenhomomorphismus Seien (G, g ) und (F, f ) Gruppen, dann heißt die Abbildung f : G F Gruppenhomomorphismus, wenn a, b G gilt: f (a g b) =f (a) f f (b) Beispiel: Die Exponentialfunktion zwischen den Gruppen (R, +) und (R, ) ist ein Gruppenhomomorphismus, da gilt: exp(x + y) = exp(x) exp(y)

Homomorphe Verschlüsselung Ein Verschlüsselungsverfahren mit E : G G (G,G Gruppen) heißt homomorph, wenn gilt: m 1, m 2 G : E(m 1 g m 2 ) = E(m 1 ) g E(m 2 ) Das Verschlüsselungsverfahren heißt additiv homomorph wenn: G := (G, +) (additive Gruppe) und multiplikativ homomorph wenn: G := (G, ) (multiplikative Gruppe)

RSA RSA ist homomorph bezüglich der Multiplikation: E(m 1 ) = m e 1 mod n : E(m 1 ) E(m 2 ) = m e 1 mod n me 2 mod n = me 1 me 2 mod n = (m 1 m 2 ) e mod n = E(m 1 m 2 )

RSA-Beispiel p = 11 q = 13 n = p q = 143 φ(n) = φ(143) = (11 1) (13 1) = 120 gcd(e, φ(n)) = 1, e = 23 public key: e = 23 und n = 143 d : 23 d + k 120 = 1 d = 47

RSA-Beispiel Wir wollen die Zahlen 7 (m 1 ) und 3 (m 2 ) verschlüsseln: c 1 7 23 mod 143 c 1 = 2 c 2 3 23 mod 143 c 2 = 126 m 1 m 2 = 7 3 = 21, c 3 21 23 mod 143 c 3 = 109 E(m 1 ) E(m 2 ) = c 1 c 2 mod n = 2 126 mod n = 109 E(m 1 m 2 ) = E(7 3) = E(21) = c 3 = 109 Entschlüsselung: 109 d mod n = 109 47 mod 143 = 21

Paillier-Verfahren Wiederholung: (Z/nZ) Restklassenring: Zahlen mit gleichem Rest bei Division durch n werden zu Restklassen mod n zusammengefasst. Diese Restklassen bilden einen Ring. Beispiel: (Z/3Z) = {0, 1, 2} 0 := {...; 18;...; 3; 0; 3; 6;...} d.h. die durch 3 teilbaren Zahlen 1 := {...; 7;...; 1; 4;...} d.h. Divisionsrest ist 1 2 := {...; 8;...; 2; 5;...} d.h. Divisionsrest ist 2 (Z/nZ) prime Restklassengruppe: Wenn für eine Restklasse a gilt: ggt (a, n) = 1,dann heißt diese Klasse prime Restklasse mod n. Die Gruppe all dieser Restklassen heißt prime Restklassengruppe.

Paillier-Verfahren Vereinfachte Generierung des Schlüsselpaares: Wähle Sicherheitsparameter k Wähle p, q P so, dass sie die gleiche Länge in Bits haben (Länge =k) Man definiert ein g = n + 1 public key = (n,g) Man definiert λ = φ(n) = (p 1)(q 1) Man definiert L(x) = x 1 n

Paillier-Verfahren Verschlüsselung einer Nachricht m (Z/nZ): Wähle zufällig r (Z/nZ) c = g m r n mod n 2 Entschlüsselung für ein c (Z/n 2 Z) : m = L(c λ mod n 2 ) λ 1 mod n λ 1 ist das multiplikative Inverse zu λ mod n

Paillier-Verfahren Das Verfahren ist homomorph bezüglich der Addition: Durch Multiplikation von zwei Schlüsseltexten werden die verschlüsselten Klartexte addiert: c 1 c 2 mod n = (g m 1 r n 1 ) (g m 2 r n 2 ) mod n = g m 1+m 2 (r 1 r 2 ) n mod n = g m 1+m 2 r n mod n D(c 1 c 2 mod n 2 ) = m 1 + m 2 mod n

Paillier-Verfahren-Beispiel k = 5 p = 17, binär: p = 10001 q = 19, binär: q = 10011 n = 17 19 = 323 g = n + 1 = 324 λ = (p 1) (q 1) = 16 18 = 288 λ 1 : 288 λ 1 + 323 b = 1 λ 1 = 203

Paillier-Verfahren-Beispiel Wir wollen 7 und 3 verschlüsseln (7, 3 (Z/323Z): r 1 (Z/nZ) = 4, da ggt (323, 4) = 1 r 2 (Z/nZ) = 9, da ggt (323, 9) = 1 c 1 = 324 7 4 323 mod323 2 = 14616 c 2 = 324 3 9 323 mod323 2 = 54262 c 1 c 2 = 793093392 E(m 1 + m 2 ) = E(10) = 324 10 36 323 mod 323 2 = 88663 793093392 mod 323 = 88663 mod 323 161 = 161 Entschlüsselung: D(c 1 c 2 mod n 2 ) = D(793093392 mod 323 2 ) = D(88663) = L(88663 288 mod 323 2 ) 203 mod 323 = L(95609) 203mod 323 = 296 203 mod 323 = 10 = 7 + 3

Vollhomomorphe Verschlüsselung Ein Verschlüsselungsverfahren mit E : R R (R,R Ringe) heißt voll homomorph, wenn gilt: m 1, m 2 R: E(m 1 + r m 2 ) = E(m 1 ) + r E(m 2 ) E(m 1 r m 2 ) = E(m 1 ) r E(m 2 ) D.h. es ist ein Kryptosystem, das Addition und Multiplikation unterstützt.

Schwierigkeiten der vollhomomorphen Verschlüsselung Craig Gentry hat das erste voll homomorphe Kryptosystem 2009 vorgestellt. Dieses Verfahren basiert auf Problemen der Gittertheorie. Einwegfunktion gewährleistet Sicherheit des Kryptosystems Gittertheorie liefert Probleme, die ℵP-vollständig sind Die vorhandenen Verfahren für Vollhomomorphe Verschlüsselung sind zu langsam und ineffizient für Anwendungen

Anforderung an ein E-Voting System Korrektheit: Eingegangene Stimmen nicht verändern oder löschen, ungültige nicht zählen Demokratisch: Nur berechtigte Wähler dürfen Stimme abgeben, jeder nur einmal Vertraulich: Niemand soll feststellen können, wie ein Wähler abgestimmt hat Überprüfbarkeit: Jeder Wähler kann selbständig prüfen, ob die eigene Stimme korrekt gezählt wurde Gerechtigkeit: keine Zwischenergebnisse verlautbaren, bevor die Abgabefrist abläuft

E-Voting mit Paillier Wahlleiter berechnet n = p q (öffentlich) Einfache Variante: Wähler i wählt v i = 0 für NEIN,v i = 1 für JA c i = g v i ri n mod n 2 öffentlich c := n c i i=1 Wahlleiter erhält c, entschlüsselt es und veröffentlicht das Ergebnis Es gilt: D(c) = n v i i=1

E-Voting mit Paillier Dadurch ist erfüllt: Leiter kennt keine der einzelnen c i s Kein Wähler kennt die v i s der anderen Wähler Wie c berechnet wurde ist öffentlich verifizierbar

Cloud Computing Es ist manchmal von Vorteil, Ressourcen von einem Cloud Provider zu kaufen, als selbst ein Datencenter aufzubauen. Immer mehr nützen Cloud Computing um Daten zu analysieren. Hat man es jedoch mit privaten Daten zu tun, mit denen man Berechnungen anstellen will, stellt sich die Frage: Wie sehr vertraut man dem Cloud Provider? Wie kann man am Besten die Vorteile der Cloud nützen, aber auch die Sicherheit der Daten nicht gefährden? Es ist ein zu großes Sicherheitsrisikio einem öffentlichen Cloud Provider, wie z.b. Google, Zugriff zu unverschlüsselten Daten zu gewährleisten

Cloud Computing und Homomorphe Verschlüsselung Das Prinzip: Alice will eine Datei x {0, 1} m auf Bob s Server speichern Sie schickt ihm E(x 1 )...E(x m ) Nun möchte sie Berechnungen auf dieser Datei ausführen Sie könnte natürlich alles wieder downloaden und selbst die Berechnungen durchführen Hätte sie aber die Möglichkeit große Berechnungen auf ihrem Rechner zu erledigen, hätte sie sich wahrscheinlich nicht für Cloud Computing entschieden Sie bittet Bob diese Aktion auf der verschlüsselten Datei durchzuführen und ihr dann das (verschlüsselte) Ergebnis zu senden Sie kann das Resultat problemlos entschlüsseln. Wären die Daten konventionell verschlüsselt, wäre es dem Provider nicht möglich, auf ihnen Operationen auszuführen, ohne ein falsches Ergebnis zu erhalten.

Cloud Computing und Homomorphe Verschlüsselung - ein Beispiel mit RSA p = 13, q = 23, n = 299, φ(n) = 264, e = 5, d = 53 Firma XYZ hat eine Menge von Daten, z.b. jeweils 5 Produkte an 10 Kunden verkauft. {5, 10} XYZ verschlüsselt die Daten: E(5) = c 1 5 5 mod 299 = 135, E(10) = c 2 10 5 mod 299 = 134 XYZ schickt die Menge der verschlüsselten Daten (135,134) an die Cloud ein paar Monate später, will die Firma wissen, wie viele Produkte sie insgesamt verkauft hat (5*10) der Cloud Provider berechnet 135*134 und schickt das Ergebnis (18090) an XYZ diese entschlüsselt die Zahl m = 18090 53 mod 299 = 50 = 10 5