• Keine Ergebnisse gefunden

Homomorphe Verschlüsselung und Cloud-Computing

N/A
N/A
Protected

Academic year: 2022

Aktie "Homomorphe Verschlüsselung und Cloud-Computing"

Copied!
175
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Adil Bouti

Homomorphe Verschlüsselung und Cloud-Computing

Dissertation

Mathematik und

Informatik

(2)

Lehrgebiet Parallelit¨at und VLSI

Homomorphe Verschl¨ usselung und Cloud-Computing

Der Fakult¨ at f¨ ur Mathematik und Informatik der FernUniversit¨ at in Hagen

zur Erlangung des akademischen Grades eines Dr. rer. nat.

eingereichte Dissertation

von

Herrn M.Sc. Adil Bouti geb. in

Casablanca

August 2020

Tag der Pr¨ufung: 26.02.2020

Referent: Univ.-Prof. Dr. rer. nat. J¨org Keller Koreferent: Univ.-Prof. Dr. rer. nat. Luise Unger

(3)
(4)

Hiermit versichere ich, die vorliegende Arbeit ohne Hilfe Dritter und nur mit den angegebenen Quellen und Hilfsmitteln angefertigt zu haben. Alle Zitate, die aus den angegebenen Quellen entnommen wurden, habe ich als solche kenntlich gemacht.

D¨usseldorf, 08.08.2020 Adil Bouti

(5)
(6)

Malek.

(7)

Nach vielen Jahren intensiver Arbeit liegt meine Dissertation endlich vor Ihnen.

Damit ist es an der Zeit, mich bei denjenigen herzlich zu bedanken, die mich in dieser herausfordernden und ¨außerst lehrreichen Phase meiner akademischen Laufbahn begleitet haben. Ich danke besonders Herrn Prof. Dr. J¨org Keller f¨ur die tatkr¨aftige Unterst¨utzung bei der Entstehung dieser Arbeit und das entgegengebrachte Vertrauen. Ich danke weiterhin Frau Prof. Dr. Luise Unger f¨ur die ¨Ubernahme des Koreferats. Außerdem m¨ochte ich Frau Dr. Silke Hartlieb f¨ur das Korrekturlesen der vorliegenden Arbeit danken.

Ebenso geht mein Dank an meine ehemaligen Kommilitonen und Kollegen, die mich in den vergangenen Jahren mit Tipps und Diskussionen wiederholt in neue inhaltliche Richtungen gelenkt haben. Eine herausragende Stellung nimmt meine Familie ein. Ohne ihre Unterst¨utzung w¨are diese Arbeit nicht zu dem Werk geworden, welches sie heute ist.

(8)

During the last decades, the modern development in information technology con- fronted traditional computer systems with new challenges regarding supporting dynamic business processes and covering load peaks.

The introduction of Internet as a global network allowed the spreading of an innovative business model based on the motto ”‘Do what you can do best! Outsource the rest”’. In the last years outsourcing business processes to cloud providers becomes a significant trend reaching final consumers e.g. as an extension to mobile and gaming products.

This work illuminates the challenges in the use of cloud computing as outsourcing platform for critical user data. Additionally, with regard to security concerns related to cloud usage, existing secure distributed computing and new homomorphic encryption based approaches are presented and discussed in depth.

Within the scope of this work, a practical alternative for full homomorphic encryption schemes based on partial homomorphic encryption algorithms is presented. The algorithm supports ciphertext reuse and fulfills generic security requirements.

The presented concepts are implemented in prototypes to analyse the runtime behavior in different common use cases.

(9)

Die Entwicklung der modernen IT in den letzten Jahrzehnten stellte traditio- nelle Computersysteme vor neue Herausforderungen bez¨uglich der Flexibilit¨at der Infrastruktur bei der Unterst¨utzung von dynamischen Gesch¨aftsprozessen und der Abdeckung von Belastungsspitzen. Mit der breiten Einf¨uhrung des Internets als globales Netzwerk etablierte sich ein innovatives Gesch¨aftsmodell nach dem Motto

”Do what you can do best! Outsource the rest“. Demnach sollten sich Unternehmen auf ihre Kerngesch¨aftsprozesse konzentrieren. Die restlichen Prozesse k¨onnen je nach Kritikalit¨at an verteilt-gemietete Ressour- cen verlagert werden. Dieser Trend hat sich in den letzten Jahren auch im Endanwenderbereich vermehrt verbreitet, so dass immer mehr Unternehmen und Privatpersonen ihre IT-Ressourcen an externe Cloud-Anbieter ausgliedern.

In dieser Arbeit werden die Herausforderungen beim Einsatz des Cloud- Computings beleuchtet. Zus¨atzlich werden, im Hinblick auf die Sicherheitspro- bleme rund um den Einsatz von Cloud-Diensten, vorhandene Ans¨atze zum sicheren Rechnen in der Cloud vorgestellt sowie eigene Konzepte mit unter- schiedlichen homomorphen Kryptosystemen pr¨asentiert und diskutiert.

Im Rahmen dieser Arbeit wurde eine effiziente Alternative f¨ur voll-homomor- phe Verschl¨usselung basierend auf teil-homomorphen Algorithmen pr¨asentiert.

Es wurde eine praktische L¨osung entwickelt, die Ciphertext-Reuse erlaubt und allgemeing¨ultige Sicherheitsanforderungen erf¨ullt. Das vorgestellte Konzept wurde mit prototypischen Implementierungen ¨uberpr¨uft und seine Leistungs- f¨ahigkeit am Beispiel von mehreren Prototypen f¨ur realistische Use Cases untersucht.

(10)

Einige Inhalte in dieser Arbeit wurden in den nachfolgend erw¨ahnten Artikeln ver¨offentlicht:

Bouti, Adil ; Keller, J¨org: Securing cloud-based computations against malicious providers. In: Operating Systems Review 46 (2012), Nr. 2, S. 38–42.

In diesem Artikel wird ein Konzept zur Nutzung von voll-homomorpher Verschl¨usselung anhand der Kombination von unterschiedlichen teil-homomorphen Verschl¨usselungsalgorithmen vorgestellt, imple- mentiert und evaluiert. Ein Benchmark des eingef¨uhrten Protokolls anhand eines Prototypen sowie einige Vorschl¨age zur Erh¨ohung der Praktikabilit¨at und der Effizienz wurden pr¨asentiert. Der Artikel wurde gemeinschaftlich von Adil Bouti und J¨org Keller geschrie- ben. Das Konzept, die Implementierung sowie die Evaluierung der Ergebnisse wurden vom Autor dieser Arbeit geleistet.

Bouti, Adil ; Keller, J¨org: Towards Practical Homomorphic Encryption in Cloud Computing. In: Fourth IEEE Symposium on Network Cloud Computing and Applications, NCCA 2015, Munich, Germany, June 11-12, 2015, 2015, S.

67–74

In diesem Artikel haben die Autoren einige praktische Erweiterung zum Protokoll eingef¨uhrt, die die Effizienz maßgeblich verbessern.

Zus¨atzlich wurde das Protokoll um die Unterst¨utzung von verteilten homomorphen Operationen mit mehreren Teilnehmern erg¨anzt. Als praktisches Beispiel wurde homomorphe Gesichtserkennung mit- tels Eigenface-Algorithmus entwickelt und evaluiert. Der Autor dieser Arbeit hat die vorgestellten Optimierungen konzipiert, imple- mentiert sowie die Effizienz der vorgestellten Ans¨atze anhand von praktischen Anwendungsf¨allen untersucht.

(11)

and Communications, IEEE ISNCC 2017, Marrakesch, Morocco, Mai 15-17, 2017, 2017, S. 1–6

In diesem Artikel wurde ein Prototyp entwickelt, der die Anwendung von homomorphen Operationen bei der Auswertung von genetischen Varianten erm¨oglicht. Im Rahmen des Prototypen wurden Genome- Wide Association Study (GWAS) und verwandte mathematische Auswertungen implementiert. Diese umfassen Minor Allele Frequen- cies (MAF),χ2 Statistik zwischen zwei Testgruppen sowie Hamming Abstand zwischen zwei DNA Sequenzen.

Der Autor dieser Arbeit hat spezifische B¨undelungstechniken f¨ur die eingesetzten Verschl¨usselungsalgorithmen konzipiert und in ho- momorphen Anwendungsf¨allen eingesetzt und evaluiert.

(12)

Vorwort . . . iv

Zusammenfassung . . . iv

1 Einleitung 1 1.1 Ziele und ¨Uberblick dieser Arbeit . . . 3

2 Grundlagen 5 2.1 Notationen . . . 5

2.2 Sicherheitsparameter . . . 6

2.3 Carmichael Zahlen und Funktion . . . 6

2.4 Gittertheorie . . . 7

2.4.1 Idealgitter . . . 8

2.5 Kryptographie . . . 10

2.5.1 Schutzziele . . . 11

2.5.2 Angreifer-Modell . . . 12

2.5.3 Symmetrische Verschl¨usselung . . . 13

2.5.4 Asymmetrische Verschl¨usselung . . . 14

2.5.5 Homomorphe Verschl¨usselung . . . 14

2.5.6 Standard-Modell . . . 14

2.5.7 Semantische Sicherheit . . . 14

2.6 Komplexit¨atstheorie . . . 15

2.6.1 Polynomialzeit . . . 16

2.6.2 Deterministische Algorithmen . . . 16

2.6.3 Probabilistische Algorithmen . . . 17

2.6.4 Einweg-Eigenschaft . . . 17 i

(13)

3.2 Faktorisierungsproblem . . . 20

3.3 Der diskrete Logarithmus . . . 20

3.4 Das Quadratische-Reste-Problem . . . 21

3.5 Das n-te Residuum-Problem . . . 22

3.6 Das Diffie-Hellman-Problem . . . 22

3.6.1 Sicherheit . . . 24

3.7 Praktische Angriffe auf asymmetrische Verschl¨usselungsverfahren 24 3.7.1 Seitenkanalangriffe . . . 25

3.7.2 Differentiale Fault-Angriffe . . . 25

3.7.3 Known Ciphertext Attack . . . 25

3.7.4 Chosen Ciphertext Attack . . . 26

3.7.5 Chosen Plaintext Attack . . . 26

3.7.6 Ununterscheidbarkeit von Geheimtexten . . . 26

3.8 RSA-Kryptosystem . . . 27

3.8.1 Schl¨usselgenerierung . . . 27

3.8.2 Verschl¨usselung . . . 29

3.8.3 Entschl¨usselung . . . 29

3.8.4 Homomorphe Eigenschaft . . . 29

3.8.5 Sicherheit . . . 30

3.8.6 Unsichere Implementierung . . . 36

3.9 El-Gamal-Kryptosystem . . . 38

3.9.1 Schl¨usselgenerierung . . . 39

3.9.2 Verschl¨usselung . . . 39

3.9.3 Entschl¨usselung . . . 39

3.9.4 Sicherheit . . . 40

3.9.5 Homomorphe Eigenschaft . . . 41

3.9.6 Varianten . . . 42

3.10 Paillier Verschl¨usselung . . . 42

3.10.1 Schl¨usselgenerierung . . . 43

3.10.2 Verschl¨usselung . . . 43

3.10.3 Entschl¨usselung . . . 44

3.10.4 Homomorphe Eigenschaft . . . 45

(14)

4 Homomorphe kryptographische Verfahren 49

4.1 Teil-homomorphe kryptographische Verfahren . . . 50

4.1.1 Ubersicht von bekannten teil-homomorphen Kryptosyste-¨ men . . . 52

4.2 Voll-homomorphe Algorithmen . . . 54

4.2.1 Gentry’s Algorithmus . . . 56

4.2.2 Weitere Entwicklungen . . . 60

4.2.3 Komplexit¨at und Implementierungen . . . 61

4.3 Homomorphe Verschl¨usselungen als Baukasten f¨ur kryptographi- sche Protokolle . . . 64

4.3.1 Rechnen mit verschl¨usselten Funktionen . . . 64

4.3.2 Rechnen mit verschl¨usselten Daten . . . 65

4.3.3 Secret-Sharing . . . 65

4.3.4 Secure Multiparty Computation . . . 66

4.3.5 Oblivious-Transfer . . . 67

4.3.6 Digital Watermarking . . . 67

4.3.7 Commitment Schemes . . . 68

4.3.8 Mix-Netzwerke . . . 68

4.3.9 Zero-Knowledge-Beweis . . . 69

4.4 Anwendungsgebiete f¨ur homomorphe Verschl¨usselungsalgorithmen 70 4.4.1 Data Mining . . . 70

4.4.2 Medizinische Daten . . . 70

4.4.3 Finanzdaten . . . 70

4.4.4 Forensische Gesichtserkennung . . . 71

4.5 Einschr¨ankungen von homomorphen Verschl¨usselungsalgorithmen 71 5 Praktische homomorphe L¨osungen 73 5.1 thep Project . . . 74

5.2 PROCEED . . . 74

5.3 HCrypt Project . . . 76

5.3.1 LibScarab Project . . . 76

5.4 HElib . . . 78

(15)

5.7 JLBC . . . 83

5.8 SeComLib . . . 83

5.9 SEAL . . . 84

6 Cloud Computing und homomorphe Verschl¨usselung 87 6.1 Multiprotokoll-Verschl¨usselungs-Gateway . . . 87

6.1.1 Funktionsdarstellung . . . 88

6.2 Verteiltes homomorphes Rechnen . . . 92

6.2.1 RSA . . . 92

6.2.2 Paillier . . . 96

6.2.3 El-Gamal-Kryptosystem . . . 98

6.2.4 Laufzeit . . . 101

6.2.5 Sicherheitsbetrachtung . . . 104

6.2.6 Umverschl¨usselung . . . 106

6.3 Chiffretext-B¨undlung . . . 108

6.3.1 Data Packing bei additiv-homomorpher Verschl¨usselung . 108 6.3.2 Data Packing bei multiplikativ-homomorpher Verschl¨us- selung . . . 113

6.3.3 Vergleich ausgew¨ahlter Implementierungen homomorpher Verschl¨usselungssysteme . . . 116

6.4 Praxisbeispiele . . . 117

6.4.1 Implementierung . . . 118

6.4.2 Mathematische Funktionen . . . 119

6.4.3 Gesichtserkennung . . . 124

6.4.4 Geonm Wide Association Studies (GWAS) . . . 128

7 Zusammenfassung und Ausblick 137

(16)

2.1 Gitter der Dimension 2, aufgespannt von zwei linear unabh¨angi- gen Vektoren. . . 8 2.2 Beispiel einer Basis, die als Public Key in FHE [65] verwendet

wird. . . 10 2.3 Radius f¨ur die private Basis Jsk. . . 11 3.1 Seitenkanal-Angriff auf RSA [87]. . . 38 4.1 Allgemeiner Aufbau einer voll-homomorphen Verschl¨usselung. . 55 6.1 Aufbau eines voll-homomorphen Verschl¨usselungs-Gateways. . . 89 6.2 Laufzeitmessungen f¨ur verteilte Ver- und Entschl¨usselung mit

RSA. . . 102 6.3 Laufzeitmessungen f¨ur verteilte Ver- und Entschl¨usselung mit

Paillier. . . 103 6.4 Rechenleistungsentwicklung des Bitcoin-Netzwerks von 2009 bis

2019. . . 106 6.5 stetige Entwicklung der Block-Bruteforcing bei Bitcoin. . . 106 6.6 Data-Packing f¨ur homomorphe Additionen. . . 112 6.7 Benchmark der Laufzeit der elementaren homomorphen Opera-

tionen. . . 123 6.8 Durchschnittslaufzeit f¨ur Verschl¨usselung mit und ohne Vorbe-

rechnung. . . 133

v

(17)
(18)

2.1 Empfohlene Schl¨ussel- und Hash-Bitl¨angen f¨ur kryptographische

Algorithmen . . . 6

4.1 Bekannte teil-homomorphe Algorithmen im Vergleich. . . 53

4.2 Bekannte voll-homomorphe Verschl¨usselungsalgorithmen im Ver- gleich. . . 63

5.1 CPU Zykluszeit (pro Maschinenzyklus)[25]. . . 78

5.2 Laufzeitergebnisse der homomorphen AES-Implementierung [69]. 80 5.3 Laufzeitmessungen des BGV-Kryptosystems mit Bootstrapping [81] . . . 80

5.4 Messzeiten f¨ur Regressionsanalyse [133]. . . 82

5.5 Messzeiten f¨ur Regressionsanalyse [133]. . . 83

5.6 n und q Kombinationen in SEAL. . . 85

5.7 Laufzeiten f¨ur ausgew¨ahlte n- und q-Kombinationen. . . 86

6.1 Verschl¨usselte Algorithmen und unterst¨utzte homomorphe Ope- rationen. . . 89

6.2 Laufzeitmessungen f¨ur Verschl¨usselung und Entschl¨usselung bei lokalen und verteilten homomorphen Berechnungen. . . 104

6.3 Maximale Anzahl der geb¨undelten Werte f¨ur unterschiedliche Schl¨ussel- und Variablenl¨angen. . . 113

6.4 Vergleich der durchschnittlichen Laufzeit ausgew¨ahlter homo- morpher Frameworks mit dem Multiprotokoll-Algorithmus. . . . 116

6.5 Vergleich des durchschnittlichen Speicherverbrauchs in MB. . . . 117

6.6 Homomorphe Polynomevaluierung. . . 122

6.7 Laufzeitmessungen f¨ur unterschiedliche Gr¨oßen M und Anzahl der Workersw. . . 128

vii

(19)

6.10 Durchschnittliche Laufzeitmessung einer Hamming-Abstand-Berechnung.135 6.11 Homomorphe χ2: Durchschnittslaufzeit in Millisekunden. . . 136

(20)

Einleitung

Der Einsatz von Computersystemen im modernen Zeitalter hat die Stufe ei- ner digitalen Revolution erreicht. Die steigende Bedeutung des Internets im privaten und gesch¨aftlichen Umfeld hat in den letzten drei Jahrzehnten die Entwicklungstendenzen von Computersystemen stark beeinflusst und gepr¨agt.

Nicht nur die Wirtschaft und der private Haushalt mussten sich an diese Offnung des Internets anpassen, sondern auch Geheimdienste und kriminelle¨ Organisationen, die das Internet als Quelle f¨ur Informationen und potentielle Ziele f¨ur sich entdeckt haben. Malware-Autoren haben seit dem

”Moris Wurm“

immer neuere und raffiniertere Methoden entdeckt und entwickelt, um breit- fl¨achige Kompromittierungskampagnen zu starten und die Ressourcen ihrer Opfer f¨ur sich zu nutzen. Kompromittierungstechniken f¨ur Betriebssysteme wie z.B. Buffer-Overflows sorgten f¨ur die ersten Diskussionen um IT-Sicherheit und Maßnahmen zur Absicherung von Systemen und Daten. Seitdem war die Vision von einem vertrauensw¨urdigen Kommunikationsnetz endg¨ultig vorbei und theoretische Ans¨atze f¨ur Paketfilter wurden Anfang der neunziger rasch von wissenschaftlichen Institution und Großunternehmen umgesetzt. Malware- Hersteller bauten oft auf bekannten Schwachstellen in Betriebssystemen auf, um ihre Software persistent auf kompromittierten Systemen zu installieren und dauerhaft zu steuern.

In der heutigen Zeit spielen Daten und Rechenleistung nach wie vor eine Schl¨usselrolle in der Taxonomie von modernen IT-Angriffen. Schon fr¨uh er- kannten Malware-Autoren das Potenzial von Virtualisierung zur persistenten Verschleierung von Malware in Computersystemen und haben entsprechende

1

(21)

Techniken entwickelt [91], die ihnen erlauben Betriebssysteme zu virtualisieren und von Rootkits kontrollieren zu lassen. Sowohl Malware-Autoren als auch Geheimdienste und Wirtschaftsspione h¨angen am Tropf der Sicherheitsforscher, um neue Schwachstellen zu entdecken und diese anschließend in ihren Fra- meworks/Spionageprogrammen zu integrieren. Die große Nachfrage an neuen und vor allen Dingen noch nicht ver¨offentlichten Schwachstellen hat einen Markt f¨ur Software-Schwachstellen ergeben, der vor zehn Jahren nicht denkbar gewesen w¨are. Viele Unternehmen haben sich darauf spezialisiert, zwischen Geheimdiensten und Sicherheitsforschern zu vermitteln und den Verkauf von Informationen zu Sicherheitsl¨ucken abzuwickeln. Diese Entwicklung in der IT- Sicherheitsgemeinde hat bisherige Theorien ¨uber die Nutzung von sogenannten Zero-Day Exploits von Geheimdiensten, um verdeckten Zugriff auf Daten zu erlangen, best¨atigt.

Die Verbreitung von

”Service-Oriented Architectures“ (SOA) und Webser- vices Anfang dieses Jahrhunderts war ein großer Schritt Richtung Cloud Compu- ting. Ressourcen konnten erstmals mittels einfacher Schnittstellen gebucht und freigelassen werden. Mit Salesforce.com war der erste Anbieter f¨ur sogenannte Software As a Service (SaaS) geboren, der sich f¨ur die Entwicklung und das Hosting von Unternehmensapplikationen ¨uber das Internet spezialisiert hat.

Wenig sp¨ater konnten unter anderem auch private Kunden Serversysteme bei Amazon AWS mieten. In der Zwischenzeit gibt es unz¨ahlige Cloud-Anbieter f¨ur die unterschiedlichsten Einsatzszenarien. Der gr¨oßte Teil dieser Anbieter war anfangs in den Vereinigten Staaten ans¨assig. Nach und nach folgten europ¨aische und asiatische Unternehmen mit eigenen

”regionalen“ Cloud-Produkten. Auch im Endanwenderbereich waren in den letzten Jahren vermehrt Mobile Cloud Computing Produkte im Markt, die durch die Verbreitung von Smartpho- nes und Tablets eine große Beliebtheit genießen d¨urfen. Die Beliebtheit von Cloud-Diensten und ihre steigende Verbreitung macht Cloud-Anbieter zu einer beliebten Zielscheibe f¨ur Angreifer mit unterschiedlichen Motivationen.

Die Enth¨ullungen von aktuellen Whistleblowern haben Einblick in die Spio- nageprogramme der 5-Eye-L¨ander gew¨ahrt und die ¨Angste von ¨Uberwachungs- gegnern best¨atigt. Diese Berichte haben das Sicherheitsbewusstsein von vielen Cloud-Nutzern gest¨arkt und eine breite Diskussion ¨uber die Sicherheit von Cloud-Diensten und insbesondere ¨uber die in den genannten L¨andern gehosteten

(22)

Cloud-Angebote entfaltet. Damit stellt neben Malware auch der Cloud-Server eine Gefahr f¨ur die Vertraulichkeit der verarbeiteten Daten dar.

Parallel zur Entwicklung von Cloud-Dienstleistungen wurden in vielen Pro- dukten konkrete Maßnahmen zur Absicherung von Daten in Cloud-Umgebungen pr¨asentiert und diskutiert. Diese beschr¨ankten sich oft lediglich auf die Ab- sicherung der Transportschicht, granulare Berechtigungskonzepte und starke Authentifizierungsprotokolle. Die Daten m¨ussen bei der Auswertung stets im Klartext vorliegen.

Ausgangspunkt f¨ur diese Arbeit ist es, die verschl¨usselte Datenverarbeitung in nicht-vertrauensw¨urdigen Umgebungen z.B. Cloud-Computing, zu untersuchen und m¨ogliche praktikable Ans¨atze zu diesem Zweck auszuarbeiten. Krypto- graphische Algorithmen mit bestimmten Eigenschaften werden so kombiniert, dass eine vertrauensw¨urdige Berechnung von vertraulichen Daten m¨oglich ist.

Dar¨uber hinaus wird dieses Konzept in eine verteilte Architektur integriert, um die Vorteile einer Cloud-Infrastruktur mit denen unseres Ansatzes zu verei- nen. Die vorgestellten Konzepte werden mit prototypischen Implementierungen uberpr¨¨ uft und in ihrer Leistungsf¨ahigkeit und Praktikabilit¨at untersucht.

1.1 Ziele und ¨ Uberblick dieser Arbeit

Ziel dieser Arbeit ist, die Effizienz von homomorphen Algorithmen zu steigern, um sie f¨ur Cloud-Einsatzszenarien praktikabel zu gestalten. Es gibt mehrere Probleme, die den Einsatz von homomorphen Algorithmen bei praktischen Applikationen erschweren. In dieser Arbeit werden neue Ans¨atze vorgestellt, wie homomorphe Algorithmen kombiniert werden k¨onnen, um effiziente Cloud- Applikationen zu implementieren, die ausschließlich mit verschl¨usselten Daten auskommen k¨onnen. Die vorgestellten Neuerungen beinhalten neue Protokolle und effiziente Implementierungen von kryptographischen Protokollen.

Kapitel 2 f¨uhrt in die mathematischen Grundlagen der Algorithmen, die im Rahmen dieser Arbeit behandelt werden, ein. Dar¨uber hinaus werden allgemeine kryptographische Konzepte vorgestellt und erkl¨art.

Ausgew¨ahlte Probleme der Zahlentheorie, die f¨ur den Bau von Verschl¨usse- lungsalgorithmen genutzt werden, werden in Kapitel 3 eingef¨uhrt. Zus¨atzlich werden aktuelle Kryptoanalysen aus der Literatur vorgestellt sowie die Sicher-

(23)

heit der darauf basierenden Algorithmen diskutiert. Zus¨atzlich werden, die im Rahmen dieser Arbeit eingesetzten Algorithmen eingef¨uhrt sowie deren homomorphen Eigenschaften und unterschiedlichen Varianten.

Teil- und voll-homomorphe Algorithmen werden in Kapitel 4 definiert sowie die prominentesten voll-homomorphen Algorithmen in der Literatur vorgestellt.

Im weiteren Verlauf des Kapitels werden die Einsatzszenarien f¨ur homomorphe Verschl¨usselung als Baustein f¨ur Sicherheitsprotokolle vorgestellt.

Kapitel 5 pr¨asentiert aktuelle Implementierungen von homomorphen Frame- works, stellt die eingesetzten Algorithmen vor und diskutiert ihre Einsatzf¨ahig- keit.

Kapitel 6 stellt eine praktische Anwendung teil-homomorpher Kryptosysteme zum Bau von voll-homomorphen Systemen vor. Dazu wird zun¨achst anhand eines einfachen homomorphen Schemas f¨ur Ganzzahlen der grunds¨atzliche Mechanismus erl¨autert. Anschließend wird eine Reihe von implementierten Optimierungen vorgestellt und diskutiert. Einsatzszenarien, die im Rahmen dieser Arbeit anhand homomorpher Verschl¨usselung gesichert wurden, schließen das Kapitel ab.

Kapitel 7 schließt diese Arbeit mit einer Zusammenfassung und einem Aus- blick auf m¨ogliche zusammenh¨angende Forschungsthemen durch nachfolgende Arbeiten ab.

(24)

Grundlagen

2.1 Notationen

ˆ In dieser Arbeit wird mit Rn der n-dimensionale Vektorraum ¨uber den reellen Zahlen bezeichnet.

ˆ {0,1}n bezeichnet den endlichen Raum von bin¨aren Zeichenfolgen der L¨angen. Mit a||b oder manchmal einfach abwird die Konkatenation der Zeichenfolgen a undb beschrieben. Mit a⊕b wird das bitweise exklusive Oder der Vektoren a und b beschrieben.

ˆ MitJmKwird das homomorph verschl¨usselte Elementm∈Zn beschrieben.

Diese Notation wird insbesondere dann benutzt, wenn die homomorphe Eigenschaft des Verschl¨usselungsalgorithmus nicht relevant ist.

ˆ Mit [[m]]+ bzw. [[m]]× wird ein additiv- bzw. ein multiplikativ-homomorph verschl¨usseltes Elementm beschrieben.

ˆ Wir werden bei dieser Arbeit auf die Angabe von Schl¨usseln bei Ver- schl¨usselungen und Entschl¨usselungen verzichten, wenn der zu nutzende Schl¨ussel aus dem Kontext entnehmbar ist.

ˆ MitZ/nZ wird die Menge der Restklassen modulo n ∈N bezeichnet. Ist n eine Primzahl, so wird die Gruppe der primen Restklassen modulop als (Z/nZ) ={∀n∈N, a∈Z/nZ | ggT(a, n) = 1} definiert.

5

(25)

2.2 Sicherheitsparameter

Im Rahmen dieser Arbeit wird auf die Diskussion ¨uber sichere Gr¨oßen von Schl¨usselmaterial verzichtet. Stattdessen wird auf aktuelle Empfehlungen des Bundesamts f¨ur Sicherheit in der Informationstechnik [84] zur¨uckgegriffen, s.

Tabelle 2.1.

Datum Faktor- isierungs- modul

Diskreter Logarithmus Hash-Algorithmen

Schl¨ussel Gruppe

2015 2048 224 2048 SHA-224, SHA-256, SHA-

512/256, SHA-384, SHA- 512, SHA-512/224

2016 2048 256 2048 SHA-256, SHA-384, SHA-

512, SHA-512/256

2017-2022 3072 256 3072 SHA-256, SHA-384, SHA-

512, SHA-512/256

Tabelle 2.1: Empfohlene Schl¨ussel- und Hash-Bitl¨angen f¨ur kryptographische Algorithmen

2.3 Carmichael Zahlen und Funktion

In der Zahlentheorie ist die Carmichael Funktionλ:N→N, der Gruppenexpo- nent der multiplikativen Restklassengruppe Z/nZ:

λ(n) :=min{m≥1| am ≡1 mod n, ∀a∈Z/nZ};

Bei Primzahlen entspricht die Carmichael-Funktion der Eulerschen Phi- Funktion:

λ(p) =ϕ(p) =p−1.

(26)

2.4 Gittertheorie

Die Benutzung von Gittern als zahlentheoretische Grundprobleme zum Bau von Verschl¨usselungsalgorithmen [66, 20, 21, 82] hat in den letzten Jahren eine steigende Beliebtheit gewonnen. Im Folgenden werden die Gittertheorie und verwandte zahlentheoretische Probleme kurz vorgestellt.

Ein Gitter L wird in der linearen Algebra als eine diskrete abelsche Unter- gruppe von Rn definiert.

Definition 2.1 (Gitter) Es seienv1, v2, . . . , vm linear unabh¨angige Vektoren des euklidischen n-dimensionalen Vektorraums Rn. Dann nennt man:

L:=hv1, . . . , vmiZ :=

m P

i=1

xivi

xi ∈Z

ein Gitter zur Basis {v1, v2, . . . , vm} vom Rang m.

Ist der Rang des Gitters gleich n, so spricht man von einem vollst¨andigen Gitter. In Abb. 2.1 wird beispielhaft ein Gitter der Dimension 2 abgebildet.

Definition 2.2 (Untergitter) Seien P, Q⊂Rn zwei Gitter. Dann ist P Unter- gitter von Q, falls P ⊆Q.

Definition 2.3 (Ganzzahlige Gitter) Ein Gitter L heißt ganzzahlig, falls L ein Untergitter von Zm ist.

Definition 2.4 (Basismatrix) Die aus den Vektoren v1, . . . , vm gebildete Matrix B := (v1|. . .|vm)∈Rn×m heißt Basismatrix von L.

Die Gittertheorie findet einen breiten Einsatz in der Kryptographie, ins- besondere bilden schwer zu l¨osende Probleme der Gittertheorie die Basis f¨ur Verschl¨usselungsalgorithmen. Im Folgenden wird eine Zusammenstellung der wichtigsten mathematischen Probleme der Gittertheorie zusammengestellt, die in der Kryptographie Einsatz finden:

1. Shortest Vector Problem (SVP): Gesucht ist ein Gittervektor v∈Lmit v 6= 0 dessen euklidische Norm kvk minimal ist. Es ist bewiesen, dass dieses Problem NP-hart ist [1, 2].

(27)

b1

b2

Abbildung 2.1: Gitter der Dimension 2, aufgespannt von zwei linear unabh¨angi- gen Vektoren.

2. Closest Vector Problem (CVP): Gegeben ein Gittervektor v ∈L, es wird nach einem Gittervektor b∈L gesucht mit minimalem Abstandkb−vk.

Goldreich et al. haben in einer Publikation [72] bewiesen, dass SVP und CVP die gleiche Komplexit¨at haben.

3. Shortest Basis Problem (SBP): Gesucht sind die Vektoren b1,· · ·, bn, die den GitterraumLmit dem minimalen ProduktQn

i=0kbikaufspannen. SBP ist eine Variante des SVP-Problems und hat somit dieselbe Komplexit¨at.

2.4.1 Idealgitter

SeiL ein Gitter. Ein Idealgitter I ∈List eine nicht leere Teilmenge von L, die folgender Eigenschaften erf¨ullt:

(28)

ˆ I ist ein Untergitter vonL und

ˆ ∀a∈Iund b ∈L, a∧b ∈I.

Idealgitter sind Gitter mit einer speziellen Struktur, die gerne von Kryp- tologen in Zusammenhang mit schwer l¨osbaren Problemen der Gittertheorie verwendet, um voll-homomorphe Kryptosysteme zu entwickeln.

Definition 2.5 (Irreduzibles Polynom) In der Algebra wird ein Polynom, das sich nicht als Produkt zweier Polynome, deren Grad mindestens 1 ist, schreiben l¨asst, ein irreduzibles Polynom genannt.

Das Polynom heisst normiert, wenn der f¨uhrende Koeffizient gleich 1 ist.

Definition 2.6 (Idealgitter) Sei f(x)∈Z[x] ein normiertes, irreduzibles Poly- nom vom Grad n und I ein Ideal von R =Z[x]/ < f(x)>, einem Ring dessen Polynome maximal den Grad n−1 besitzen. Ein Idealgitter ist ein ganzzahliges Gitter L ⊆ Zn, sodass L = {g(x) modf(x)|g(x) ∈ I}, wenn Polynom und Koeffizientenvektor identifiziert sind. Sei v = Pn

i=1vixi−1 ∈ I ein Polynom, das zu seinem Koeffizientenvektor (v1,· · · , vn)∈Zn korrespondiert. Die Koef- fizientenvektoren , die mit den Elementen von I korrespondieren, bilden ein sogenanntes Idealgitter, das sowohl additiv als auch multiplikativ ist.

Die Nutzung von Idealgittern ¨uber einem Polynomring als Ausgangsmenge ergibt eine additive und multiplikative Homomorphismuseigenschaft, die zur Bildung von Kryptosystemen genutzt wird. Die Entschl¨usselung von Idealgitter- basierten Kryptosystemen wie z. B. [65] ist vergleichsweise einfacher als z. B.

bei modularer Exponentiation der Fall ist. In der optimierten Verschl¨usselungs- funktion [127] von Gentry’s Kryptosystem besteht die Entschl¨usselungsfunktion lediglich aus einer Matrix-Vektor-Multiplikation.

Probleme der Gitter-Theorie spielen eine wichtige Rolle beim Aufbau von homomorphen verschl¨usselungsalgorithmen. In Blueprint [65] hat Gentry ein Kryptosystem basierend auf dem

”Shortest Independent Vector Problem“ (SIVP) in einem Idealgitter pr¨asentiert. In Abbildungen 2.2 und 2.3 werden die ent- sprechenden ¨offentlichen und privaten Schl¨ussel beispielhaft in einem Gitter dargestellt.

(29)

b1

b2

Abbildung 2.2: Beispiel einer Basis, die als Public Key in FHE [65] verwendet wird.

2.5 Kryptographie

Die Kryptographie ist die Wissenschaft, sch¨utzenswerte Informationen vor Offenlegung, Manipulation oder Sabotage durch Angreifer zu sch¨utzen. Hierzu werden spezielle Kommunikationsprotokolle, die die jeweiligen Schutzbed¨urfnisse der Kommunikationspartner und der ¨ubertragenen Daten erf¨ullen, eingesetzt.

Die Kryptoanalyse ist ein Teilgebiet der Kryptographie, der sich mit der Sicherheit von kryptographischen Algorithmen und Protokollen und in welchen Modellen besch¨aftigt und unter welchen Annahmen sie als sicher gelten. Die Sicherheit von kryptographischen Algorithmen kann mittels der zugrunde lie- genden mathematischen Probleme formal ausgedr¨uckt werden. Somit werden bei der Kryptoanalyse stets Techniken aus der Komplexit¨atstheorie angewen- det, um die Sicherheit bzw. Unsicherheit der untersuchten Algorithmen und

(30)

b1

b2

Abbildung 2.3: Radius f¨ur die private Basis Jsk. Protokolle zu beweisen.

Die Einf¨uhrung der sogenannten Post-Quantum-Kryptographie und die vermehrte Forschung im Gebiet der kryptographischen Primitiven, die einem Quanten-Computer-Angriff standhalten k¨onnen, hat zu einem starken Interesse an algebraischen Gitterstrukturen und deren Anwendung in der Entwicklung von Verschl¨usselungsalgorithmen gef¨uhrt.

2.5.1 Schutzziele

In der modernen Kryptographie ist das Einsatzziel von Kryptographie Methoden bereitzustellen, um Angriffe auf sch¨utzenswerten Daten zu verhindern. Die Schutzziele f¨ur Informationen werden in der Kryptographie wie folgt definiert:

ˆ Vertraulichkeit: Sch¨utzenswerte Informationen oder Teile davon d¨urfen

(31)

ausschließlich f¨ur berechtigte Kommunikationspartner zug¨anglich gemacht werden

ˆ Integrit¨at: Der Empf¨anger einer Nachricht muss eindeutig feststellen k¨onnen, ob eine Nachricht auf dem Kommunikationsweg ausgetauscht oder manipuliert wurde

ˆ Authentizit¨at: Der Empf¨anger einer Nachricht muss die Herkunft einer Nachricht eindeutig feststellen k¨onnen. Ein Angreifer darf nicht Nach- richten im Namen anderer Kommunikationspartner erfolgreich anmaßen k¨onnen

ˆ Nichtabstreitbarkeit: Durchgef¨uhrte Aktionen d¨urfen sp¨ater nicht von den betroffenen geleugnet werden

2.5.2 Angreifer-Modell

Allgemein wird in dieser Arbeit das Dolev-Yao-Modell [50] angewendet, dass ein Angreifer in der Lage ist, Eingaben von Protokollteilnehmern mitzuschneiden und unter Umst¨anden auch zu manipulieren. Er k¨onnte unter Umst¨anden andere Teilnehmer dazu verleiten Aktionen zu t¨atigen, die seine Interessen vertreten. Ein Angreifer ist nach dieser Definition kein Angreifer in einer Man- In-The-Middle-f¨ahigen Position im Netzwerk, sondern mehr als ein berechtigter Protokollteilnehmer zu verstehen. Der Angreifer versucht durch seine Rolle im Protokoll zus¨atzliche Informationen als seine Eingabe(n) und Ausgabe(n) zu gewinnen.

Um die Sicherheit von asymmetrischen Verschl¨usselungsalgorithmen besser vergleichen zu k¨onnen, werden die Verschl¨usselungs-, Entschl¨usselungslaufzeiten, sowie den Aufwand f¨ur einen Angreifer, um den Algorithmus zu brechen, in Funktion eines Sicherheitsparameters k formal beschrieben. Der Sicherheits- parameter wird typischerweise in der Vorbereitungsphase fest definiert und typischerweise danach nicht mehr ver¨andert. Die Aussage, dass die Verschl¨us- selung und Entschl¨usselung in Polynomialzeit in k durchgef¨uhrt werden kann, bedeutet, dass die Laufzeit asymptotisch durch eine Polynomialfunktion nk beschr¨ankt ist.

(32)

Definition 2.7 Ein Verschl¨usselungsalgorithmus gilt als sicher, wenn jeder Po- lynomialzeitalgorithmus, den der Angreifer anwendet, nicht erfolgreich ist.

Die Erfolgschancen eines Angreifers sollten dabei nicht durch den Besitz von fremden Chiffretexten oder ¨offentlichen Schl¨usseln erheblich verbessert werden.

Bei der Kryptoanalyse von kryptographischen Algorithmen wird oft die Annahme gemacht, dass einem Angreifer unendliche Rechenleistungen zu Verf¨u- gung stehen. Diese Annahme hat sich als nicht realistisch erwiesen. Mittlerweile gelten alternative Annahmen, dass Angreifern Ressourcen in einem zumutbaren Rahmen zu Verf¨ugung stehen. Der Fokus beim Sicherheitsbeweis liegt dadurch nicht darauf, dass der Angreifer unm¨oglich einen Algorithmus brechen kann, sondern der Algorithmus in Relation zu den zur Verf¨ugung stehenden Ressour- cen, nicht zu brechen ist.

Es wird allgemein zwischen zwei typischen Arten von Angreifern [73] unter- schieden:

Semi-Honest-Angreifer , wird manchmal auch als

”Honest-But-Curious“ be- zeichnet, ist ein Angreifer der der Protokoll-Spezifikation treu bleibt aber dennoch versucht durch die Analyse der Informationen, die ihm zug¨anglich sind, Informationen ¨uber vertrauliche Daten der anderen Teil- nehmer zu gelangen. Der Angreifer versucht nicht Daten zu ver¨andern oder Nachrichten zu verwerfen, um das Protokollergebnis zu beeinflussen.

B¨osartiger-Angreifer , wird auch als

”aktiver“ Angreifer bezeichnet. Ein sol- cher Angreifer ist in der Lage seine Werte und die Werte von anderen Teilnehmern zu manipulieren und weicht von der Protokoll-Spezifikation ab, um vertrauliche Daten zu kompromittieren.

Im Rahmen dieser Arbeit geht die Sicherheitsbetrachtung, solange nichts ge- genteiliges angenommen wird, von einem

”Honest-But-Curious“ Angreifermodell aus. Der Angreifer versucht bei diesem Modell die Daten nicht zu verf¨alschen, sondern lediglich diese zu gewinnen.

2.5.3 Symmetrische Verschl¨ usselung

In der Kryptographie werden Algorithmen, die zum Verschl¨usseln und Entschl¨us- seln von Daten denselben Schl¨ussel nutzen, als Symmetrische Verschl¨usselung

(33)

genannt. Die Kommunikationspartner sind i. d. R. im Besitz desselben Schl¨us- sels.

2.5.4 Asymmetrische Verschl¨ usselung

1978, Diffie und Hellman habe ihren Artikel [48]

”New Directions in Crypto- graphy“ ver¨offentlicht, in dem sie u.a. auch das Konzept von asymmetrischer Verschl¨usselung definiert haben. Bei asymmetrischer Verschl¨usselung werden grunds¨atzlich unterschiedliche Schl¨ussel f¨ur Verschl¨usselung und Entschl¨uss- leung von Daten genutzt. Der ¨offentliche Schl¨ussel wird zur Verschl¨usselung und ¨Uberpr¨ufung von Signaturen verwendet. der private Schl¨ussel wird zur Ent- schl¨usselung und Erstellung von Signaturen benutzt. Der ¨offentliche Schl¨ussel wird in der Regel ver¨offentlicht und kann von jedem genutzt werden.

2.5.5 Homomorphe Verschl¨ usselung

Gegeben Seien zwei Gruppen (G,⊕) und (H,⊗). Eine homomorphe Verschl¨us- selung ist eine Verschl¨usselungsabbildung eines Kryptosystems f :G→H mit folgender Eigenschaft:

f(a)⊗f(b) =f(a⊕b) f¨ur alle a, b∈G.

2.5.6 Standard-Modell

In der Kryptographie wird mit dem Standard-Modell die Annahme beschrie- ben, dass ein Angreifer nur Zeit- und Ressourcen-Einschr¨ankungen hat. Die Sicherheit von kryptographischen Algorithmen beruht darauf, dass die zu Grun- de liegenden mathematischen Probleme durch die Auswahl von geeigneten Sicherheitsparametern als sicher im Standard-Modell zu betrachten sind.

2.5.7 Semantische Sicherheit

Semantische Sicherheit wurde urspr¨unglich von Goldwasser und Micali [75]

eingef¨uhrt. Eine allgemeine Definition von semantischer Sicherheit ist, dass der Chiffretext keine Informationen ¨uber die dazugeh¨orige Klartextnachricht verr¨at.

Sprich, wenn Bob zwei Klartexte m1 und m2 an Alice zur Verschl¨usselung schickt. Alice entscheidet basierend auf M¨unzenwurf welche Nachricht sie

(34)

verschl¨usselt und diese an Bob schickt. F¨ur Bob soll es nicht m¨oglich sein, mit einer Wahrscheinlichkeit h¨oher als 1/2, zu entscheiden, ob es sich um die Verschl¨usselung vonm1 oder m2 handelt.

2.6 Komplexit¨ atstheorie

In der Komplexit¨atstheorie werden algorithmische Probleme formal in mathe- matisch definierten Schwierigkeitsgraden klassifiziert. Insbesondere versucht die Komplexit¨atstheorie, effizient l¨osbare Probleme von inh¨arent schwierigen Problemen abzugrenzen.

Die Komplexit¨atstheorie spielt eine wichtige Rolle in der Kryptographie und der Auswahl von mathematischen Problemen als Grundlage f¨ur kryptographische Protokolle. Kryptographische Protokolle nutzen mathematische Funktionen, die ohne Kenntnis von geheimen Parametern nicht effizient gel¨ost werden k¨onnen.

In der Komplexit¨atstheorie werden die zu Grunde liegenden Algorithmen analy- siert, um die bei der Durchf¨uhrung ben¨otigten Zeit- und Speicherressourcen zu evaluieren und anschließend die Funktion einer formalen Schwierigkeitsklasse zuzuordnen.

Die Zeitkomplexit¨at beschreibt die Anzahl der Zeiteinheiten, die notwendig sind, um ein Problem mit dem effizientesten Algorithmus l¨osen zu k¨onnen.

Das asymptotische Verhalten einer Funktion in Form einer anderen, meistens einfacheren Funktion, wird in der Literatur [5] mittels der Landau-Notation (O) ausgedr¨uckt.

Definition 2.8 (Obere Schranke) Die asymptotische obere Schranke O(f) ent- h¨alt alle Funktionen g : N → R+, f¨ur die es eine Konstante k > 0 und ein n0 ∈N gibt, so dass f¨ur alle n ≥n0 gilt: g(n)≤k·f(n).

Definition 2.9 (Untere Schranke) Die asymptotische untere SchrankeΩ(f)ent- h¨alt alle Funktionen g : N → R+, f¨ur die es eine Konstante k > 0 und ein n0 ∈N gibt, so dass f¨ur alle n ≥n0 gilt: g(n)≥k·f(n).

Im Folgenden werden einige bekannte Komplexit¨atsklassen aufgef¨uhrt:

ˆ O(1) konstanter Aufwand

(35)

ˆ O(n) linearer Aufwand

ˆ O(logn) logarithmischer Aufwand

ˆ O(n2) quadratischer Aufwand

ˆ O(2n) exponentieller Aufwand

ˆ Die Komplexit¨atsklasse P bezeichnet die Klasse aller Probleme, die mit einem deterministischen Algorithmus in Polynomialzeit l¨osbar sind

ˆ N P bezeichnet die Klasse aller Probleme, die mit einem nicht-deterministischen Algorithmus in Polynomialzeit l¨osbar sind. Es ist noch offen, obP = N P gilt

2.6.1 Polynomialzeit

Ein Algorithmus ist in Polynomialzeit l¨osbar, wenn die ben¨otigte Rechenzeit gemessen durch die Anzahl der Bit-Operationen einer deterministischen Turing- Maschine polynomiell in der L¨ange der Eingabe beschr¨ankt ist, d. h. es existiert bei Eingabel¨ange n eine nat¨urliche konstante Zahl k ≥ 1 mit m(n) = O(nk) gem¨aß der Landau-Notation und m(n) die Worst-Case-Laufzeitfunktion des Al- gorithmus bei Eingabel¨ange n. In der theoretischen Informatik betrachtet man die Polynomialzeit als eine Grenze zwischen praktisch l¨osbaren und praktisch nicht l¨osbaren Problemen. Probleme dieser Komplexit¨atsklasse werden in der Literatur alsP (von polynomiell) bezeichnet.

Bei den g¨angigen asymmetrischen Verschl¨usselungsalgorithmen werden z. B. die Verschl¨usselungs- und Entschl¨usselungsoperationen typischerweise in Polynomi- alzeit in Abh¨angigkeit von einem Sicherheitsparameter k durchgef¨uhrt.

2.6.2 Deterministische Algorithmen

Ein asymmetrischer Verschl¨usselungsalgorithmus wird deterministisch genannt, wenn der Algorithmus bei einer bestimmten Eingabe immer dasselbe Ergebnis liefert und dabei immer gleich vorgeht. Das RSA Kryptosystem [114] ist ein Beispiel f¨ur einen deterministischen Verschl¨usselungsalgorithmus.

Die deterministische Eigenschaft steht manchmal im Konflikt mit Sicherheits- vorgaben, z. B. Schutz vor

”Chosen Ciphertext Attacks“ (CCA). Diese Probleme

(36)

werden hier nicht behandelt und bei den jeweiligen eingesetzten Algorithmen in den sp¨ateren Kapiteln diskutiert.

2.6.3 Probabilistische Algorithmen

Bei probabilistischer Verschl¨usselung wird eine bestimmte Klartextnachricht m bei jedem Verschl¨usselungsdurchlauf in unterschiedliche Chiffretextec0, c1,· · ·, cn umgewandelt. Probabilistische Verschl¨usselungsverfahren nutzen hierzu Zufalls- zahlen, die in die Verschl¨usselungsoperationen einfließen und zu der gew¨unschten Eigenschaft von unterschiedlichen Chiffretexten f¨uhren. Die Anzahl der m¨ogli- chen Chiffretexte h¨angt nur von der Zufallsquelle und der L¨ange des Chiffretexts ab und hat keinen Einfluss auf die Richtigkeit der Entschl¨usselungsfunktion.

Nicht-probabilistische Algorithmen werden f¨ur bestimmte Anwendungszwe- cke so angepasst, dass sie bestimmte probabilistische Eigenschaften vorweisen k¨onnen. Ein Beispiel hierzu ist das Random-Padding bei Netzwerkprotokollen und Signaturschemata [128, 88]. Um RSA vor Chosen-Ciphertext-Attacks zu sch¨utzen, haben Bellare und Rogaway OAEP-Padding [6] pr¨asentiert, das RSA um semantische Sicherheit erweitert hat.

2.6.4 Einweg-Eigenschaft

Die Existenz von Einweg-Funktionen ist immer noch eine umstrittene Frage der heutigen Mathematik [76]. Unabh¨angig davon stellen Einweg-Funktionen die Grundlage f¨ur wichtige kryptographische Grundfunktionen wie z. B. Hash- funktionen dar. In Verschl¨usselungsalgorithmen werden Einweg-Funktionen benutzt, die mit der Kenntnis eines geheimen Parameters leicht invertierbar sind (sog. Trapdoor Funktionen).

Eine intuitive Definition der Einweg-Eigenschaft w¨are daher eine Funktion, die hart zu invertieren sein muss. Eine Einwegfunktion muss folgende Kriterien erf¨ullen:

ˆ Die Berechnung der Einwegfunktion geschieht mit einer polynomiellen Komplexit¨at O(nk), wobeik eine Konstante ist. In der Komplexit¨atstheo- rie wird von der (deterministischen) Polynomialzeit-L¨osbarkeit gesprochen [33]; d. h. der ben¨otigte Aufwand, um die Berechnung durchzuf¨uhren, steigt maximal mit einer Polynomialfunktion.

(37)

ˆ Das Ergebnis einer Einwegfunktion soll schwer invertierbar sein. F¨ur keine probabilistische Polynomialzeit-Funktion M soll es m¨oglich sein, ein Urbild zu einer Einwegfunktion h mit einer Wahrscheinlichkeit, die nicht vernachl¨assigbar ist, zu berechnen, d.h. es muss f¨ur jedes positive Polynom Q gelten

∀M :P(h(M(h(x)))) =h(x)< 1 Q(x),

wobei M ein probabilistischer Polynomialzeit-Algorithmus ist und x zuf¨allig gew¨ahlt werden muss.Q ist eine beliebige Polynomialfunktion.

Viele Verschl¨usselungsalgorithmen basieren auf sogenannten Trapdoor-Funk- tionen, die ohne Kenntnis von geheim gehaltenen Parametern hart zu invertieren sind. Das Problem soll dennoch effizient zu invertieren sein, wenn die richtigen Parameter (Schl¨ussel) bekannt sind. Durch die Ausnutzung der Trapdoor- Eigenschaft einer One-Way-Funktion ist es m¨oglich, sichere Verschl¨usselungsal- gorithmen zu bauen. Die Sicherheit der Public-Key-Verschl¨usselungsalgorithmen basiert auf dieser Eigenschaft. Es ist daher entscheidend, nachvollziehbar zu bele- gen, dass das grundlegende Problem von einem probabilistischen Polynomialzeit- Algorithmus (PPT) l¨osbar aber gleichzeitig hart zu invertieren ist.

In Kapitel 3 werden einige prominente Probleme der Zahlentheorie vorgestellt.

(38)

Public-Key Verschl¨ usselung

Public-Key Verschl¨usselung stellt die Grundlage f¨ur viele kryptographische Protokolle dar und basieren auf bekannten Problemen der Zahlentheorie. Im folgenden Kapitel werden einige Public-Key-Algorithmen vorgestellt, die im Rahmen dieser Arbeit eingesetzt werden. Die mathematischen Probleme der Zahlentheorie auf denen sie basieren, werden gesondert diskutiert.

3.1 Primzahlproblem

Viele asymmetrische Verschl¨usselungsverfahren der modernen Kryptographie nutzen Primzahlen als Grundlage f¨ur die Schl¨usselgenerierung. Diese spielen eine besondere Rolle bei der Sicherheit der genutzten Algorithmen sowie der damit verschl¨usselten Daten.

Definition 3.1 Sei N eine zusammengesetzte große ganze Zahl. Seien u, v ∈N mit N =u·v undu, v ≥1 dann werden u undv Teiler oder Faktoren von N genannt.

Eine nat¨urliche Zahl p >1ist Primzahl, wenn sie genau zwei positive Teiler hat, n¨amlich 1 und p.

Herauszufinden, ob eine Zahl x prim ist oder nicht, ist ein wichtige Frage bei der Generierung von kryptographischen Schl¨usseln. Dieses Problem war schon in der Antike bei griechischen Mathematikern bekannt. In der modernen Zahlentheorie besteht das Problem, einen effizienten Primzahl-Testalgorithmus zu finden. In der Literatur gibt es eine Riehe von Primzahltests u.a. folgende:

19

(39)

ˆ Miller-Rabin-Test

ˆ Solvay-Strassen Test

ˆ AKS-Test

ˆ Etc.

3.2 Faktorisierungsproblem

Das Faktorisierungsproblem ist eines der ¨altesten Probleme der Zahlentheorie.

Das Problem wurde urspr¨unglich von Carl Friedrich Gauß [62] im Jahre 1801 beschrieben:

”Problema, numeros primos a compositis dignoscendi, hosque in factores suos primos resolvendi, ad gravissima ac utilissima totius arithmeticae pertinere. “

Carl Friedrich Gauß hat damals die Wichtigkeit des Faktorisierungsproblems in der Arithmetik erkannt. Ein Faktorisierungsverfahren, das die nicht-triviale Primfaktorzerlegung einer Zahl effizient berechnet, ist bis dato nicht bekannt.

Der vergleichsweise effizienteste, bis jetzt bekannte Faktorisierungsalgorithmus ist das Zahlk¨orpersieb mit einer nicht bewiesenen subexponentiellen Laufzeit e(C+O(1))(logn)13(log logn)23 f¨ur große Zahlen mit 100 Stellen aufw¨arts [110]. Ein enormer Rechenaufwand ist notwendig, um eine große Zahl von mehreren hundert Stellen zu faktorisieren, das macht das Faktorisierungsproblem zu einer beliebten Basis f¨ur moderne kryptographische Verfahren. Dennoch gilt das Problem als effizient l¨osbar mittels eines Quantencomputers. In 1994 pr¨asentierte Peter Shor [123] einen Quantenalgorithmus, der das Faktorisierungsproblem in Polynomialzeit O(n3) l¨osen kann.

3.3 Der diskrete Logarithmus

Definition 3.2 Sei G eine Gruppe (multiplikativ geschrieben) und hgi die zykli- sche Untergruppe der Ordnung n, die von g ∈G generiert wird. Das Problem des diskreten Logarithmus f¨ur G kann wie folgt definiert werden:

(40)

Sei g∈ G und a ∈ hgi ein Exponent, dann gilt es die kleinste nicht-negative Zahl x∈Z zu finden mit:

gx =a.

x wird der diskrete Logarithmus von a zur Basis g genannt.

Definition 3.3 Sei p eine Primzahl und g eine Primitivwurzel modulo p. g ist Erzeuger der primen Restklassengruppe (Z/pZ). Der diskrete Logarithmus einer zu pteilerfremden Zahl x zur Basisg ist definiert als a∈ {0,1, . . . , p−2}

mit:

ga ≡x modp

Die Zahl awird loggx genannt. Die Berechnung der Potenz ga kann effizient durchgef¨uhrt werden. Die Berechnung des diskreten Logarithmus ist hingegen schwer zu berechnen und ist mit einer Einwegfunktion gleich zu setzen.

Das Problem ist f¨ur beliebige zyklische Gruppen formulierbar. Neben G= (Z/pZ) gilt das diskrete Logarithmus Problem f¨ur weitere Gruppen z.B.:

ˆ Multiplikative Gruppe eines beliebigen endlichen K¨orpers

ˆ zyklische Untergruppen von elliptischen Kurven ¨uber endlichen K¨orpern

3.4 Das Quadratische-Reste-Problem

Die Frage, ob eine Zahl f¨ur ein gegebenes Modul ein quadratischer Rest ist oder nicht, wird das Quadratische-Reste-Problem genannt. Wenn das Modul eine Primzahl ist, kann diese Frage durch das Euler-Kriterium effizient beantwortet werden.

Definition 3.4 (Quadratische-Reste-Problem) Eine nat¨urliche Zahlawird qua- dratischer Rest modulo n genannt, wenn ein 0< x < n existiert mit

x2 ≡amodn.

Wenn n eine Primzahl ist, dann wird das Quadratische-Reste-Problem durch die Berechnung des Legendre-Symbols berechnet.

(41)

Definition 3.5 Sei p eine Primzahl unda ∈Z eine ganze zahl. Dann wird das Legendre-Symbol

a p

wie folgt definiert:

a p

=









1 a ist quadratischer Rest modulo p und a 6≡0 (mod p),

−1 a ist nicht quadratischer Rest modulo p, 0 a≡0 (mod p).

Bis jetzt ist kein effizienter Algorithmus bekannt zur L¨osung des Quadratische- Reste-Problems f¨ur zusammengesetzte n. Eine effizient L¨osung des Problems k¨onnte z.B. durch einen effizienten Faktorisierungsalgorithmus erreicht werden.

Das Legendre-Symbol kann der Einfachheit halber auch durch das sogenannte Eulersche Kriterium berechnet werden:

a p

≡ap−12 modp

Das Quadratische-Reste-Problem wird gerne in der Kryptographie als Bau- stein f¨ur asymmetrische Verschl¨usselungsalgorithmen z. B. im Goldwasser-Micali- Kryptosystem [75] eingesetzt, da das Problem bis dato nicht effizient l¨osbar ist.

3.5 Das n-te Residuum-Problem

Das n-te-Residuum-Problem modulo einer Quadratzahl gilt als ein hart zu l¨osendes Problem der Zahlentheorie und wird als Basis von asymmetrischen Verschl¨usselungsverfahren, z. B. Paillier [105], benutzt.

Definition 3.6 Eine Zahl x wird als n-tes Residuum modulo n2 bezeichnet, mit n= pq das Produkt zweier Primzahlen , wenn es eine Zahl y ∈ Zn2 gibt, so dass:

x=yn modn2.

Bis dato ist noch kein effizienter Algorithmus bekannt, der in Polynomialzeit entscheiden kann, ob eine Zahl einn-tes Residuum ist oder nicht.

3.6 Das Diffie-Hellman-Problem

Das Diffie-Hellman-Protokoll besteht aus folgenden Schritten:

(42)

1. Alice undBob einigen sich im Voraus ¨uber eine positive Ganzzahl n, eine zyklische Gruppe primer Ordnung p, wobei peine große Primzahl ist und γ ein Erzeuger dieser Gruppe:

hγi={γi|0≤i < p}=Zp.

2. Alice w¨ahlt eine große geheime Zufallszahl a∈ {0,· · · , p−2} und berech- net:

α=γamodp.

3. Bobw¨ahlt eine große geheime Zufallszahlb∈ {0,· · · , p−2}und berechnet:

β =γb modp.

4. Alice und Bob tauschen die Werte von α und β aus.

5. Alice berechnet inZ/pZ ihren Schl¨ussel:

kaamodp.

6. Bob berechnet ¨ahnlich ˆA´ seinen Schl¨ussel:

kbb modp.

Der von beiden verwendete Schl¨ussel ist γab modp=ka=kb.

Es ist zu beachten, dass γ und p keine vertraulichen Parameter sind und

¨offentlich gemacht werden k¨onnen ohne die Sicherheit des Protokolls zu gef¨ahr- den.

Angenommen ein Angreifer kann die Werte p,γ,α undβ mitschneiden. Das Diffie-Hellman-Problem besteht darin, dass ein Angreifer ohne Kenntnis der jeweiligen Geheimnisse von Alice und Bob (a und b) den geheimen Schl¨ussel nicht berechnen kann:

k =ka=kbab modp.

Ein Angreifer, der diskrete Logarithmen von p berechnen kann, kann auch das Diffie-Hellman-Problem l¨osen.

(43)

3.6.1 Sicherheit

Die einzige bisher bekannte M¨oglichkeit das Diffie-Hellman-Problem zu brechen, ist den diskreten Logarithmus effizient berechnen zu k¨onenn. Auch wenn ein formaler Beweis ¨uber die Sicherheit des diskreten Logarithmus noch fehlt, gilt dieser in kryptographischen Kreisen bis dato als sicher.

Eine naive M¨oglichkeit das Diffie-Hellmann-Problem zu l¨osen w¨areα= γamod poder β =γb modp durch die Anwendung der ersch¨opfenden Suche zu finden.

Dieser Brute-Force-Angriff besteht aus der sukzessiven Berechnung von γi modp,1< i < n

bis α oder β gefunden werden. Dieser Angriff ist exponentiell zur Gr¨oße vonn und ist daher ineffizient.

Durch die Anwendung des Meet-In-The-Middle-Algorithmus

”Baby-Step Giant- Step“ von Daniel Shanks [122] kann der Angreifer Brute-Forcing effizienter durchf¨uhren und somit den diskreten Logarithmus schneller berechnen (im Vergleich zu ersch¨opfender Suche).

3.7 Praktische Angriffe auf asymmetrische Verschl¨ us- selungsverfahren

Das Ziel jedes Angriffs auf einen Verschl¨usselungsalgorithmus ist, im besten Fall, jede verschl¨usselte Nachricht entschl¨usseln zu k¨onnen. Somit gilt der betroffene Algorithmus als vollst¨andig gebrochen. Der Angreifer geht dabei unterschiedlich vor. Allgemein kann dies folgendermaßen erreicht werden:

1. Der Angreifer kann den privaten Schl¨ussel oder Teile davon durch eine Analyse der verschl¨usselten Nachrichten rekonstruieren.

2. Der Angreifer kann ohne Kenntnis des privaten Schl¨ussels Nachrichten oder Teile davon entschl¨usseln.

3. Der Angreifer kann bekannte Klartextnachrichten im Chiffretext wieder- erkennen.

(44)

4. Der Chiffretext verteilt die Klartextnachrichten nicht geleichm¨aßig auf den Chiffretextraum, so dass Klartextstrukturen im Chiffretext erhalten bleiben.

Im Folgenden werden wir eine Auswahl dieser Angriffsklassen zusammengefasst erl¨autern.

3.7.1 Seitenkanalangriffe

Bei Seitenkanalangriffen nutzt der Angreifer den physikalischen Zugriff auf das System, auf dem kryptographische Operationen durchgef¨uhrt werden, um Messungen wie Stromverbrauch, elektromagnetische Strahlungen, Zeitverbrauch und CPU-Auslastung durchzuf¨uhren, die ihm erlauben Informationen ¨uber den oder die eingesetzten Schl¨ussel zu gewinnen.

3.7.2 Differentiale Fault-Angriffe

Bei dieser Angriffsart versucht der Angreifer ein Fehlverhalten bei der krypto- graphischen Operation zu provozieren, um R¨uckschl¨usse ¨uber die eingesetzten Parameter oder den internen Status zu gewinnen. Die Fehlerquellen k¨onnten z. B. zu hohe oder niedrige Temperaturen, starke Stromschwankungen, Unter- oder ¨Ubertaktung des Prozessors und atomare oder magnetische Bestrahlun- gen sein. Dieser Angriff ist in der Kryptographie gut studiert und kann auf jeden Algorithmus angewendet werden. Schutzmechanismen setzen jedoch auf Fehlererkennung und wurden z. B. f¨ur AES [77] und RSA [114] publiziert.

3.7.3 Known Ciphertext Attack

Bei dieser Angriffsart versucht der Angreifer anhand einer Menge bekannter Chiffretexte, Informationen ¨uber Klartextnachrichten zu erfahren. Typischer- weise hat der Angreifer einige Informationen ¨uber den entsprechenden Klartext, z. B. die statistische Verteilung des genutzten Zeichensatzes oder die genutz- te Kommunikationsprotokoll-Spezifikation. Im besten Fall kann der Angreifer Klartextinformationen oder sogar den genutzten Schl¨ussel erfahren. Bei einer Variante des Angriffs kennt der Angreifer nicht mit Sicherheit den Chiffretext.

Hier spricht man von

”Probable Ciphertext Attack“.

(45)

3.7.4 Chosen Ciphertext Attack

Bei dieser Angriffsart wird angenommen, der Angreifer hat Zugriff auf ein Entschl¨usselungsorakel, das ihm erlaubt Nachrichten zu entschl¨usseln ohne den geheimen Schl¨ussel kennen zu m¨ussen.

Daniel Bleichenbacher [9] hat z. B. die adaptive Variante des Chosen- Ciphertext-Angriffs auf die PKCS#1-Standardisierung [86] des RSA-Kryptosystems erfolgreich angewendet. In der Literatur wird die nicht adaptive Variante des Angriffs als

”CCA1“ bezeichnet w¨ahrend die adaptive Variante die Abk¨urzung

”CCA2“ tr¨agt.

3.7.5 Chosen Plaintext Attack

Beim Chosen Plaintext Angriff (CPA) hat der Angreifer die M¨oglichkeit, belie- bige Chiffretextkombinationen zu generieren, um daraus Informationen ¨uber den genutzten Schl¨ussel zu gewinnen. Je nach Verschl¨usselungsverfahren (sym- metrisch/asymmetrisch) unterscheiden sich die CPA-Techniken. Bei asym- metrischer Verschl¨usselung hat der Angreifer typischerweise Zugriff auf den

¨offentlichen Schl¨ussel, w¨ahrend bei symmetrischer Verschl¨usselung der Schl¨ussel oft in einem sicheren Hardware-Modul oder in gesch¨utzten Speicherbereichen gespeichert ist. Bei diesem Angriff passt der Angreifer seine Nachrichten dem generierten Chiffretext entsprechend an, um seinen Angriff zu optimieren. Diese Variante wird auch

”Adaptive Chosen Plaintext Attack“ (CPA) genannt.

3.7.6 Ununterscheidbarkeit von Geheimtexten

Bei der Ununterscheidbarkeit von Chiffretexten wird die Eigenschaft beschrie- ben, dass ein Angreifer zwei unterschiedliche Chiffretexte nicht den dazuge- h¨origen Klartexten erfolgreich zuordnen kann. In der Praxis wird von der Unterscheidung mit einer akzeptablen Wahrscheinlichkeit gesprochen. Betr¨agt die Wahrscheinlichkeit, dass der Angreifer den richtigen Klartext richtig r¨at p= 0,5, wird der Verschl¨usselungsalgorithmus als IND-CCA-sicher bezeichnet.

(46)

3.8 RSA-Kryptosystem

1976 haben Whitfield Diffie und Martin Hellman in ihrem bahnbrechenden Artikel [48]

”New Directions in Cryptography“, eine neue Richtung aufgezeigt, wie Verschl¨usselungs- und Entschl¨usselungsoperationen anhand von unterschied- lichen Schl¨usseln durchgef¨uhrt werden k¨onnen. In dem Artikel wurde schon empfohlen einen Schl¨usselteil zu ver¨offentlichen und den entschl¨usselungsrelevan- ten Schl¨ussel geheim zu halten. Das innovative Konzept l¨oste zum Teil damals noch offene Probleme der Kryptographie, z. B. effiziente Gruppenverschl¨usse- lung ohne vorherige komplexe Schl¨usselverteilung. Das vorgestellte Konzept zum Schl¨usselaustausch fand eine breite Akzeptanz in der Fachliteratur und wird heute noch in der modernen IT eingesetzt. Dar¨uber hinaus f¨uhrten die beiden Wissenschaftler das Konzept von kryptographischen digitalen Signaturen ein.

Die Arbeit von Diffie und Hellman hat den Grundstein f¨ur asymmetrische Verschl¨usselung gelegt. Die Nutzung des diskreten Logarithmus Problems als Basis f¨ur das Signaturschema inspirierte Rivest, Shamir und Adelman, ein weiteres prominentes Problem der Zahlentheorie f¨ur den Aufbau eines sicheren asymmetrischen Verschl¨usselungsalgorithmus zu nutzen.

3.8.1 Schl¨ usselgenerierung

Sei n das RSA-Modul, eine große Zahl von mehreren hundert Stellen. n=p·q wird als Produkt von zwei großen zuf¨allig gew¨ahlten und stochastisch un- abh¨angigen Primzahlen p und q ausgew¨ahlt. Im besten Fall wird die Zahl durch einen echten M¨unzwurf generiert oder durch den Wurf eines W¨urfels mit entsprechender Seitenzahl unter Gleichverteilung ausgew¨ahlt. Die zuf¨allige Auswahl erfolgt in der Praxis in der Regel durch den Einsatz eines Pseudo- Zufallszahlengenerators oder einer physikalischen Zufallsquelle zur Generierung einer Zahl. Anschließend wird durch einen effizienten Algorithmus (z. B. unter- sucht, ob sie eine Primzahl ist. Nach dem Primzahlsatz gibt es ungef¨ahr lnxx Primzahlen kleiner als eine Zahl x. Also gen¨ugen in der Regel lnx Versuche.

Zus¨atzlich m¨ussen p undq ausreichend groß sein, damit ein Angreifer das RSA-Modul n nicht faktorisieren kann und aus pund q, den privaten Schl¨ussel errechnen kann.

(47)

Als n¨achstes wird der Verschl¨usselungsexponente berechnet. Dazu wird die Eulerscheϕ-Funktion von n berechnet

ϕ(n) = (p−1)·(q−1).

Wir w¨ahlen eine nat¨urliche Zahlef¨ur die gilt 1< e < ϕ(N) undeist teilerfremd zuϕ(n):

ggT(e,(p−1)·(q−1)) = 1

e wird typischerweise klein gew¨ahlt. Die vierte Fermatzahl 216+ 1 ist weit verbreitet und gilt fast als eine feste Gr¨oße des Verschl¨usselungsalgorithmus.

Der Entschl¨usselungsexponent wird mittels des erweiterten euklidischen Algorithmus als die multiplikative Inverse von emodulo ϕ(n) berechnet, sprich:

d·e= 1 modϕ(n).

dmuss in der Praxis bestimmte L¨angenvoraussetzungen erf¨ullen, um bekannten Angriffen widerstehen zu k¨onnen. Diese werden wir sp¨ater gesondert betrachten.

Eine triviale Anforderung ist, dassd > max(p, q).

(n, e) wird ¨offentlicher Schl¨ussel genannt und kann ver¨offentlicht werden. (d) wird als privater Schl¨ussel bezeichnet.

(48)

3.8.2 Verschl¨ usselung

Sei m ∈ {0,· · · , n− 1} eine Klartextnachricht. Die Verschl¨usselung erfolgt durch Einsatz des ¨offentlichen Schl¨ussels (n, e):

E(m) = me modn =C.

3.8.3 Entschl¨ usselung

Die Entschl¨usselung erfolgt durch Einsatz des privaten Schl¨ussels d:

D(C) =Cd modn.

Der RSA Algorithmus kann effizient berechnet werden obwohl sowohl bei der Verschl¨usselung als auch bei der Entschl¨usselung modulare Exponentiation- Operationen berechnet werden m¨ussen. Dank Algorithmen wie z. B. der bin¨aren Exponentiation k¨onnen diese aufwendigen Operationen effizient berechnet wer- den.

3.8.4 Homomorphe Eigenschaft

Die RSA-Verschl¨usselung weist eine multiplikativ-homomorphe Eigenschaft auf.

Somit lassen sich beliebige Chiffretexte multiplizieren und somit die Klartexte im Ergebnis auch multiplizieren.

Sei n ein RSA-Modul und e ein Exponent. Die Verschl¨usselung einer Nachricht m wird durch E(x) =xemodn berechnet. Die homomorphe Eigenschaft wird wie folgt dargestellt:

E(x1)· E(x2) mod n=xe1xe2 modn

= (x1x2)emodn

=E(x1·x2 modn)

Die homomorphe Eigenschaft von RSA wird Chiffretext-Formbarkeit genannt und bedeutet, dass ein Angreifer in einem Known-Ciphertext-Kontext in der Lage ist valide Verschl¨usselungen von anderen Werten generieren zu k¨onnen, wenn sich diese aus den bekannten Chiffretexten kombinieren lassen. Durch die Multiplikation von Chiffretexten l¨asst sich eine homomorphe Multiplikationen durchf¨uhren.

(49)

3.8.5 Sicherheit

Die Sicherheit des RSA-Kryptosystems basiert auf der Schwierigkeit eine große nat¨urliche Zahl effizient zu faktorisieren bzw. die e-te Wurzel von czu berech- nen. Das Faktorisierungsproblem zu brechen w¨urde zur Folge haben, dass der Algorithmus als gebrochen gilt. Boneh et al. haben bewiesen [13], dass RSA bei kleinen Exponenten zu brechen einfacher sein k¨onnte als das RSA-Modul zu faktorisieren.

Definition 3.7 (Das RSA-Problem) Seien pundq zwei eindeutige große Prim- zahlen, n=pq ein RSA Modul, e ein Exponent und c∈Zn ein Chiffretext. Das RSA-Problem ist das Problem 0 ≤ m < n zu finden, so dass c = me modn ohne p und q zu kennen.

Der Bruteforce-Angriff gilt f¨ur ausreichend große Schl¨ussel und Parameter als unwahrscheinlich und bietet die wenigsten Erfolgschancen f¨ur einen Angreifer.

Auch wenn das Faktorisierungsproblem als sicher gilt, kann eine unsorgf¨altige Auswahl der Parameter p,q,e und d zur Kompromittierung von Schl¨usselma- terial oder Klartextinformationen f¨uhren. In der Literatur wird eine Reihe von Faktorisierungsangriffen pr¨asentiert und diskutiert. Wir beschr¨anken uns in dieser Arbeit auf den erfolgreichsten dieser Angriffe:

Brute-Force-Angriff Durch eine ersch¨opfende Suche kann der Angreifer ausge- hend von den bekannten Parameterneundnalle m¨oglichen Faktoren vonn =pq errechnen bis er einen Treffer landet. Anschließend kann erϕ(n) = (p−1)(q−1) berechnen und den privaten Schl¨usseld als multiplikative Inverse vone modulo ϕ(n) gewinnen. Dieser triviale Angriff hat in der Praxis unter Einsatz ausreichen- der Rechenleistung realistische Erfolgschancen bei Modulo-Gr¨oßen unter 1024 Bits. Diese Gr¨oße gilt in der Praxis als de facto Grenze zwischen sicheren und unsicheren RSA-Schl¨usseln. Diese Aussage sollte dennoch mit Vorsicht genossen werden insbesondere im Hinblick auf stetig wachsende Rechenleistungen und die Bereitstellung von großen Cloud-Ressourcen. Die Erh¨ohung des RSA-Modul als Maßnahme gegen Brute-Force-Angriffe f¨uhrt zur rapiden Erh¨ohung der Zeitkomplexit¨at der modularen Exponentiation und beeintr¨achtigt die Effizienz des RSA-Algorithmus.

Die Ununterscheidbarkeit von Geheimtexten kann mit RSA nur unter Einsatz

(50)

von zuf¨alligem Padding erreicht werden. Hier ist aber zu beachten, dass die homomorphe Eigenschaft des Protokolls dabei verloren geht.

Euler Funktion

Angenommen ein Angreifer kennt die Werte (n, ϕ(n)), die Faktorisierung von n =p·q erfolgt aus den beiden folgenden Gleichungen:

n =pq

ϕ(n) = (p−1)(q−1)

Durch Einsetzen von q =n/p wird die folgende Gleichung erzielt:

p2 −(n−ϕ(n) + 1)p+n= 0.

Die Gleichung kann effizient gel¨ost werden und f¨uhrt zur Faktorisierung des RSA-Moduls n. Bei diesem Angriff wird davon ausgegangen, dass der Angreifer im Besitz von ϕ(n) ist. ϕ(n) ausgehend vonn zu berechnen gilt als genauso schwer wie n zu faktorisieren.

Pollard-Angriff John M. Pollard hat 1974 [111] einen Algorithmus zur Fak- torisierung von zusammengesetzten Zahlen mit einer bestimmten Eigenschaft vorgestellt. Der Algorithmus basiert auf dem kleinen Satz von Fermat:

Definition 3.8 Sei p eine Primzahl, ∀a∈Z , dann gilt:

ap ≡amodp.

Falls a kein vielfaches von p ist, dann gilt:

ap−1 ≡1 modp.

Im Folgenden der Pollard-Angriffsalgorithmus, der Teilerpvonn=pq findet, wenn p−1 einen relativ kleinen Teiler hat.

(51)

W¨ahle eine nat¨urliche Zahl B ∈ {1,· · · , n−1}.

P OLLARD(n, B);

a:= 2;

for i= 2,3,· · · , B do a:=ai modn;

end

d:=ggT(n, a−1);

if 1< d < n then returnd ; end

if d= 1 then B =B+ 1 ;

P OLLARD(n, B);

end

if d=n then B =B−1 ; P OLLARD(n, B);

end

Algorithmus 1: Pollard-Verfahren f¨ur eine Zahl n.

Um Pollard’sp−1 Faktorisierung zu verhindern, mussp−1 einen großen Faktor r haben derp−1 Faktorisierung widerstehen kann. In der Praxis nutzt man den Begriff starke Primzahlen, um Primzahlen zu beschreiben, die nicht f¨ur die p−1 Faktorisierung anf¨allig sind. Pollard’s p−1 Algorithmus geh¨ort zu einer Familie von Angriffen, die Schw¨achen bei der Schl¨usselgenerierung ausnutzen, um die Faktorisierung des RSA-Moduls effizient durchzuf¨uhren.

Wiener Angriff

Der Angriff von M. J. Wiener [132] in 1990 war der erste Angriff auf RSA, der nicht auf der Faktorisierung des RSA-Moduls basierte. Der Angriff ist effizient und praktikabel f¨ur vergleichsweise kleine private Schl¨ussel d zum Moduln =p·q. Der Angriff funktioniert dann und nur dann, wenn:

d < 4

n

3 und q < p <2q.

Referenzen

ÄHNLICHE DOKUMENTE

Die o liegende A bei p Èa en ie eben olche Implemen a ionen on ei eh n e chiedlichen An Èa en ([SWP , HK14]) d ch chba en Ve chlÈ el ng in ei pop lÈa en NoSQL Da enbanken: Apache Ca

F ¨ur G kann man allgemeiner eine Untergruppe der multiplikativen Gruppe von endlichen K ¨orpern F × q verwenden.. Das ElGamal Verfahren

F ¨ur konkret gegebene Gruppen gibt es keine (sinnvollen) unteren Schranken f ¨ur die Laufzeit, ein DLP zu l ¨osen.. Solche neu berechneten Werte werden zu L

• Es gibt keinen Algorithmus, der das CDH in allgemeinen Gruppen l ¨osen kann, auch unter der Annahme, daß das DDH leicht ist.. • Es gibt Gruppen, in denen das DDH leicht, aber das

• Es gibt keinen Algorithmus, der das CDH in allgemeinen Gruppen l ¨osen kann, auch unter der Annahme, daß das DDH leicht ist.. • Es gibt Gruppen, in denen das DDH leicht, aber das

10.. Verstoß gegen das Mitteilungsverbot aus § 89 Satz 2 TKG. Bußgeldnorm nach Art. Ordnungswidrigkeit nach Art. Adressat der Bußgeldtatbestände. Bußgeldbewehrte

Schl¨ ussel zur Verschl¨ usselung und Entschl¨

Das DES-Verfahren (Data Encryption Standard) wurde 1978 vom amerikanischen NBS (National Bureau of Standards) ver¨offentlicht und war damit das erste ¨offentlich