Diskrete Logarithmen

Ähnliche Dokumente
Seminar zum Thema Kryptographie

Public-Key-Verschlüsselung und Diskrete Logarithmen

Kryptographie und Komplexität

Der kleine Satz von Fermat

Kongruenzen und Restklassenringe. 2. Kongruenzen und Restklassenringe

Diskreter Logarithmus und Primkörper

Kryptographie und Komplexität

13. Der diskrete Logarithmus

Einführung in die Zahlentheorie

Algorithmische Kryptographie

Literatur und Videos. ISM WS 2017/18 Teil 4/Algebren

IT-Security. Teil 9: Einführung in algebraische Strukturen

Kurzskript MfI:AGS WS 2018/19 Teil II: Gruppen / Teil III: Ringe 34

Einführung in die Kryptographie

Proseminar Schlüsselaustausch (Diffie - Hellman)

1 Der Ring der ganzen Zahlen

IT-Sicherheitsmanagement. Teil 4: Einführung in algebraische Strukturen

Polynome und endliche Körper

5. Gruppen, Ringe, Körper

Mathematische Methoden für Informatiker

Thema: Die Einheitengruppe des Restklassenrings /n

4: Algebraische Strukturen / Gruppen

1 Der Ring der ganzen Zahlen

Kapitel 3 Elementare Zahletheorie

Einführung in die Kryptographie

Elemente der Algebra

Elliptische Kurven und ihre Anwendung in der Kryptographie

Wiederholungsblatt zur Gruppentheorie

Proseminar Datensicherheit & Versicherungsmathematik ElGamal-Verfahren

In diesem Kapitel bestimmen wir die multiplikative Struktur der Einheitengruppe (Z/Z) von Z/Z für eine beliebige positive Zahl Z >0.

ggt mit Euklid Satz: Um ggt(k, l) mit dem Euklidischen Algorithmus zu berechnen, braucht man höchstens log Φ k < 3 2 log 2 k rekursive Aufrufe.

1.Vortrag: Rechnen mit Restklassen/modulo einer Zahl

Kapitel 6: Das quadratische Reziprozitätsgesetz

PROSEMINAR LINEARE ALGEBRA

Kapitel 2. Elementare Zahlentheorie Primfaktorzerlegung

Der chinesische Restsatz mit Anwendung

VI.4 Elgamal. - vorgestellt 1985 von Taher Elgamal. - nach RSA das wichtigste Public-Key Verfahren

Mathematische Grundlagen der Kryptografie (1321) SoSe 06

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2015/16

Prof. Dr. H. Brenner Osnabrück SS Zahlentheorie. Vorlesung 4. Die Restklassenringe Z/(n)

4 Der diskrete Logarithmus mit Anwendungen

Körper- und Galoistheorie

Mathematische Strukturen

Vorlesung Diskrete Strukturen Gruppe und Ring

7. Kongruenzrechnung Definition: Proposition: Korollar: Beispiel: b ( a kongruent b modulo n ) auf Z, definiert durch:

Tutorium: Diskrete Mathematik

Lineare Algebra I 5. Tutorium Die Restklassenringe /n

Einführung in Algebra und Zahlentheorie Lösungsvorschläge zur Klausur vom Aufgabe 1 (6 Punkte)

Satz von Euler. Satz von Euler. Korollar 1. Korollar 2 Kleiner Fermat. Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G.

Satz von Euler. Satz von Euler. Korollar 1. Korollar 2 Kleiner Fermat. Sei (G, ) eine endl. abelsche Gruppe. Dann gilt a G = 1 für alle a G.

Interim. Kapitel Einige formale Definitionen

Betriebssysteme und Sicherheit

Digitale Signaturen. Einführung und das Schnorr Signatur Schema. 1 Digitale Signaturen Einführung & das Schnorr Signatur Schema.

4 Diskrete Logarithmen und Anwendungen

30 Ringe und Körper Motivation Definition: Ring. Addition und eine. Häufig gibt es auf einer Menge zwei Verknüpfungen: eine

Diskrete Strukturen Kapitel 5: Algebraische Strukturen (Gruppen)

1 Algebraische Strukturen

Proseminar Bakkalaureat TM 2008/2009 Datensicherheit und Versicherungsmathematik Public-Key-Kryptosystem

Diskrete Strukturen 5.9 Permutationsgruppen 168/558 c Ernst W. Mayr

3.5 Ringe und Körper. Diese Eigenschaften kann man nun auch. 1. (R, +) ist eine kommutative Gruppe. 2. Es gilt das Assoziativgesetz bezüglich.

Ganzzahlige Division mit Rest

Volker Kaatz. Faktorisierung. Faktorisierung. Problem und Algorithmen. Relevanz in der Kryptographie

Mathematik I für Studierende der Informatik und Wirtschaftsinformatik (Diskrete Mathematik) im Wintersemester 2017/2018

Algebraische Strukturen. Idee. Gruppen, Ringe, Körper... (Teschl/Teschl Abschnitt 3.2, siehe auch Kap. 4)

Diskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 4: Zahlentheorie

Elliptische Kurven in der Kryptographie, Teil III. 1 Supersingularität

χ a : N + {0, 1, 1} {( a χ a (n) = χ a (n ). ψ(mn) < ψ(m)ψ(n).

Zahlentheorie, Arithmetik und Algebra

Gruppenbasierte Kryptographie. ElGamal Sicherheit. Drei Probleme. ElGamal Verschlüsselung. Benutzt zyklische Gruppen von (fast) Primzahlordnung:

Die Ringe Z n. Invertierbare Elemente ( Einheiten ) für n > 0 wird auf Z n = {0, 1, 2,..., n 1} definiert: n : Z n Z n Z n : (a, b) (a b) mod n

Primzahlen. Herbert Koch Mathematisches Institut Universität Bonn Die Primfaktorzerlegung. a = st

Kapitel 2: Multiplikative Funktionen. 3 Multiplikative Funktionen. Definition 2.1 (arithmetische Funktion, (vollständig) multiplikative Funktion)

Kapitel III Ringe und Körper

4 Diskrete Logarithmen und Anwendungen

Bsp: Die kleinsten Carmichael-Zahlen sind 561, 1105, 1729, Es gibt unendlich viele Carmichael-Zahlen (Beweis 1994).

Primzahlen im Schulunterricht wozu?

Pseudo-Zufallsgeneratoren basierend auf dem DLP

SS 2017 Torsten Schreiber

Chinesischer Restsatz für Ringe

Mersennesche Primzahlen

3-1 Elementare Zahlentheorie

Eine Menge K, auf der eine Addition. + und eine Multiplikation definiert sind, nennt man einen Körper, wenn folgende Eigenschaften gelten: Körper 1-1

Diskrete Mathematik. Christina Kohl Georg Moser Oleksandra Panasiuk Christian Sternagel Vincent van Oostrom

Elliptic Curve Cryptography

Elliptische Kurven. Definition Elliptische Kurve nach Willems Sei K ein Körper der Charakteristik ungleich 2 und 3. Eine Polynomgleichung der Form

Public-Key Kryptographie mit dem RSA Schema. Torsten Büchner

Abschnitt 5: Kryptographie. j (p j 1). 1 (p 1 1)p α 2

Einführung in die Kryptographie

Teilbarkeitslehre und Restklassenarithmetik

7: Grundlagen der Public-Key-Kryptographie

1 Körper. Wir definieren nun, was wir unter einem Körper verstehen, und sehen dann, dass es noch andere, ganz kleine Körper gibt:

Musterlösung zur Probeklausur zur Angewandten Diskreten Mathematik Dr. Hartmut Lanzinger, Hans- Peter Reck

2. Gruppen und Körper

VI.3 RSA. - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman. - vorgestellt erstes Public-Key Verschlüsselungsverfahren

Asymmetrische Kryptographie u

5 Grundlagen der Zahlentheorie

Transkript:

Westfälische Wilhelms-Universität Münster Ausarbeitung Diskrete Logarithmen im Rahmen des Seminars Multimedia und Graphen Oliver Liebsch Themensteller: Prof. Dr. Herbert Kuchen Betreuer: Dipl.-Wirt.Inform. Michael Poldner Institut für Wirtschaftsinformatik Praktische Informatik in der Wirtschaft

Inhaltsverzeichnis 1 Informationssicherheit durch zahlentheoretische Probleme... 3 2 Restklassenringe und prime Restklassengruppen... 4 2.1 Halbgruppen und Gruppen... 4 2.1.1 Definitionen... 4 2.1.2 Untergruppen... 5 2.2 Ringe und Körper... 5 2.2.1 Definitionen... 5 2.2.2 Restklassen... 5 2.2.3 Restklassengruppen... 6 2.2.4 Restklassenringe... 6 2.2.5 Restklassenkörper... 7 2.2.6 Der kleine Satz von Fermat... 7 2.3 Beispiel... 7 3 Diskrete Logarithmen... 8 3.1 Allgemeine Definition... 9 3.2 Der diskrete Logarithmus in /... 9 3.3 Fortführung des Beispiels aus 2.3... 10 3.4 Anwendungsbeispiel: Diffie-Hellman-Schlüsselaustausch... 11 3.5 Algorithmen für das diskrete Logarithmus-Problem... 12 3.5.1 Kategorisierung der Algorithmen... 12 3.5.2 Enumerationsverfahren... 13 3.5.3 Pollard- -Algorithmus... 13 3.5.4 Pohlig-Hellman-Algorithmus... 17 3.5.5 Index-Calculus-Algorithmus... 20 4 Fazit... 23 5 Literaturverzeichnis... 25 II

Kapitel 1: Informationssicherheit durch zahlentheoretische Probleme 1 Informationssicherheit durch zahlentheoretische Probleme Insbesondere in einer Zeit, in der die digitale Vernetzung sowie das Kommunikationsaufkommen stetig zunehmen, ist es von immenser Bedeutung, sich intensiv mit der Informationssicherheit auf diesen Gebieten zu beschäftigen. Hier spielt das wissenschaftliche Forschungsgebiet der Kryptografie, das neben der Kryptoanalyse ein Teilgebiet der Kryptologie ist, eine besondere Rolle. Kryptografische Methoden sind zentral für die Gewährleistung der Informationssicherheit. Dabei ist es sowohl für die Anwender als auch für die Experten v. a. in kritischen und sensiblen Bereichen wichtig, die Effizienz und Zuverlässigkeit der jeweiligen Verfahren einschätzen zu können. In diesem Zusammenhang bedarf es fundierter Kenntnisse einerseits der Verfahren selbst, andererseits der Verfahren, die die Sicherheit der kryptografischen Verfahren zu umgehen versuchen. Der in dieser Arbeit thematisierte diskrete Logarithmus ist u. a. neben Faktorisierungsproblemen für natürliche Zahlen ein zahlentheoretisches Problem, das eine besondere Bedeutung für die Sicherheit verschiedener kryptografischer Verfahren hat. Ziel dieser Arbeit ist es, den diskreten Logarithmus zu definieren, eine Anwendungsmöglichkeit aufzuzeigen und vier Verfahren zur Berechnung vorzustellen. Es werden jeweils die zentralen Aspekte herausgearbeitet und durch einige Beispiele und Abbildungen ergänzt. In Kapitel 2 werden zunächst die notwendigen mathematischen Grundlagen und Definitionen für die Thematik erläutert. Im Mittelpunkt stehen v. a. Restklassenringe und prime Restklassengruppen. In Kapitel 3 wird der diskrete Logarithmus allgemein und in der Gruppe der primen Restklassen einer Primzahl definiert. Mit dem Diffie-Hellman-Schlüsselaustausch wird kurz eine Anwendungsmöglichkeit für diskrete Logarithmen aufgezeigt. Des Weiteren werden vier Verfahren zur Berechnung des diskreten Logarithmus vorgestellt: das Enumerationsverfahren, der Pollard- -Algorithmus, der Pohlig-Hellman-Algorithmus sowie der Index-Calculus-Algorithmus. Die Ausführungen werden durch Beispiele ergänzt. Die Arbeit schließt in Kapitel 4 mit einem kurzen Fazit. 3

Kapitel 2: Restklassenringe und prime Restklassengruppen 2 Restklassenringe und prime Restklassengruppen Zum besseren Verständnis der Thematik des diskreten Logarithmus und der darauf aufbauenden kryptografischen und kryptoanalytischen Verfahren werden im Folgenden einige der zentralen mathematischen Sachverhalte kurz dargestellt und an einem ausführlichen Beispiel veranschaulicht. 2.1 Halbgruppen und Gruppen 2.1.1 Definitionen Ein Paar, aus einer nicht leeren Menge M und einer Verknüpfung heißt Halbgruppe, wenn folgende Axiome erfüllt sind: 1. :, d. h. die Verknüpfung zweier Elemente der Menge liegt wiederum in der Menge (Abgeschlossenheit, innere Verknüpfung) 2.,, : (Assoziativgesetz) Wenn zusätzlich gilt, dass 3., : (Kommutativgesetz), liegt eine kommutative (abelsche) Halbgruppe vor. Existiere n k önnen des Weiteren: 4. ein neutrales Element: : (bei additiver Verknüpfung Nullelement: 0, bei multiplikativer Verknüpfung Einselement: 1). 5. ein inverses Element: :, heißt dann invertierbar in der Halbgruppe (bei additiver Verknüpfung:, bei multiplikativer Verknüpfung: ). Hat eine Halbgruppe ein neutrales Element und ist jedes Element von invertierbar, liegt eine Gruppe vor. Ist die Halbgruppe kommutativ, so heißt auch die Gruppe kommutativ. Mit wird die Ordnung einer Halbgruppe oder Gruppe bezeichnet. Sie ist definiert als die Anzahl ihrer Elemente, also. 4

Kapitel 2: Restklassenringe und prime Restklassengruppen 2.1.2 Untergruppen Als Untergruppe einer Gruppe wird eine Teilmenge von bezeichnet, die mit der Verknüpfung von wieder eine Gruppe ist. Ist eine multiplikative Gruppe, so ist die Menge für jedes eine Untergruppe von, wobei 0; 1; 2; ist. heißt erzeugendes Element oder Erzeuger, die von erzeugte Untergruppe. Kann jedes Element aus als Potenz mit und geschrieben werden, ist eine zyklische Gruppe (siehe auch Beispiel 2.3). 2.2 Ringe und Körper 2.2.1 Definitionen Ein Tripel,, ist ein Ring, wenn gilt: 1., ist eine kommutative Gruppe mit Nullelement 2., ist eine Halbgruppe 3.,, : (Distributivgesetz) Wenn, zusätzlich kommutativ ist, heißt kommutativer Ring. Das neutrale Element der Halbgruppe, wird Einselement genannt. Ein Ring mit Einselement heißt auch unitärer Ring. Ein Element in einem unitären Ring heißt invertierbar oder Einheit, wenn es in, invertierbar ist. Die Menge der invertierbaren Elemente eines kommutativen Rings mit Einselement bilden die sogenannte Einheitengruppe. Ein kommutativer Ring mit Einselement, in dem es für alle \ 0 ein multiplikatives Inverses gibt, heißt Körper. Im Kontext diskreter Logarithmen spielen die sogenannten Restklassenringe und -körper eine besondere Rolle. Diese werden im Folgenden näher erläutert. 2.2.2 Restklassen Die Restklasse einer Zahl mit 1; 2; 3; ist die Menge aller ganzen Zahlen, die sich aus durch Addition von ganzzahligen Vielfachen von ergeben:,. 5

Kapitel 2: Restklassenringe und prime Restklassengruppen Die Menge aller Restklassen mit m ist /,. Da bei der Division durch alle ganzzahligen Reste von 0 bis 1 auftreten, besitzt genau Elemente. 2.2.3 Restklassengruppen Eine besondere Rolle in der Kryptografie spielt die Menge aller primen Restklassen. Es handelt sich um eine endliche kommutative Gruppe bezüglich der Multiplikation, die als prime Restklassengruppe bezeichnet und durch / symbolisiert wird. Mithilfe der Eulerschen φ-funktion :, wird die Ordnung von / berechnet. ist die Anzahl der Zahlen 1; 2; ; mit, 1 und 1 1. Insbesondere ist 1, wenn eine Primzahl ist. Tabelle 1 stellt für 1; 2; ; 15 alle Werte der Eulerschen φ-funktion dar. m 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 1 2 2 4 2 6 4 6 4 10 4 12 6 8 Tabelle 1: Werte der Eulerschen -Funktion Sei eine multiplikativ geschriebene Gruppe mit neutralem Element 1 und. Die kleinste natürliche Zahl, für die 1 gilt, heißt Ordnung von in. Diese wird mit bezeichnet. Existiert keine solche Zahl, ist die Ordnung von in unendlich. Liegt mit eine endliche und zyklische Gruppe vor, berechnet sich die Anzahl der Erzeuger von zu. Nach [Bu04, S. 36, Theorem 3.10.6] hat jeder Erzeuger von die Ordnung (siehe auch Beispiel 2.3). 2.2.4 Restklassenringe Auf der Menge / aller Restklassen spielen zwei innere Verknüpfungen eine besondere Rolle: 1. : / / / mit (additive Verknüpfung) 6

Kapitel 2: Restklassenringe und prime Restklassengruppen 2. : / / / mit (multiplikative Verknüpfung) Das Tripel /,, bildet einen kommutativen Ring mit Einselement 1 (vgl. 2.2.1), dieser heißt Restklassenring. Vereinfachend wird häufig nur / geschrieben. Ist der größte gemeinsame Teiler, 1, folgt nach [Bu04, S. 31, Theorem 3.6.2], dass die Restklasse in / invertierbar ist. Diese wird als prime Restklasse bezeichnet. 2.2.5 Restklassenkörper Besonders relevant ist die Einheitengruppe eines Körpers, da diese immer zyklisch ist. Falls ein endlicher Körper mit Elementen ist, gilt nach [Bu04, S. 55, Korollar 3.21.3], dass zyklisch von der Ordnung 1 ist und genau 1 Erzeuger hat. Gemäß [Bu04, S. 32, Theorem 3.6.4] ist der Restklassenring / genau dann ein Körper, wenn eine Primzahl ist. / heißt Restklassenkör per; er findet in der Kryptografie vielfach Verwendung. Eine Zahl heißt Primitivwurzel, wenn die Restklasse die prime Restklassengruppe / erzeugt (vgl. [Bu04, S. 55] und Beispiel 2.3). 2.2.6 Der kleine Satz von Fermat Ist, 1, dann folgt 1. Mithilfe dieser Kongruenz können prime Restklassengruppen einfach invertiert werden, denn ist die inverse Restklasse von. Insbesondere gilt für eine Primzahl : 1. Dann ist die inverse Restklasse von. Tatsächlich gilt: 2.3 Beispiel 1. In diesem Beispiel werden insbesondere die Begriffe Ring, Körper, Untergruppe, Erzeuger, Primitivwurzel und Ordnung behandelt. 7

Es seien /13 und K /13.,, ist nicht nur ein kommutativer Ring 13, sondern sogar ein Körper (vgl. 2.2.5). Dabei gilt lt. 2.2.2: 13,, 0 12 13 ; 1 13 ; 2 13 ; ; 12 13. Zunächst ist, eine kommutative Gruppe mit dem Nullelement 13. Da 13 eine Primzahl ist, ist lt. 2.2.2 auch, eine kommutative Gruppe mit dem Einselement 1 13 und der Ordnung 13 12 (vg l. Tabel le 1), d. h. enthält 12 Elemente. Insbesondere besitzt jedes Element 13 aus nach dem kleinen Satz von Fermat (vgl. 2.2.6 ) ein Inverses 13. So gilt z. B. für 5 13 mit 5 13 8 13 tatsächlich: 5 13 8 13 1 13. Die Teilmenge ist eine Untergruppe von für jedes. Insbesondere gilt: 2 13, d. h. 2 13 ist ein Erzeuger von, die Gruppe ist also zyklisch (vgl. 2.2.5). Es gibt 12 4 derartige Erzeuger, nämlich 2 13, 6 13, 7 13 und 11 13, und damit die vier Primitivwu rzeln 2, 6, 7 und 11. Es gilt also: :, 13, 2; 6; 7; 11 bzw. für mit 1; 2; ; 12 : 13 13 13 13. Es gilt sogar 0; 1; ; 11 (vgl. 3.2). Da zyklisch und endlich ist, hat jeder Erzeuger die Ordnung (vgl. 2.2.3). So gilt z. B. für 2 13 : 2 13 13 12. D. h. ist die kleinste natürliche Zah l, für die gil t: 2 13 1 13. 3 Diskrete Logarithmen Dem diskreten Logarithmus kommt in der Kryptografie eine große Bedeutung zu, da die Sicherheit von vielen kryptografischen Verfahren auf dem mit ihm verbundenen soge- 8

nannten diskreten Logarithmus-Problem beruht. Verfahren, die sich dieses Problem zu Nutze machen, sind u. a. das Diffie-Hellmann- (vgl. 3.4) und ElGamal-Verfahren. 3.1 Allgemeine Definition Sei eine endliche, zyklische (also multiplikative) Gruppe mit der bekannten Ordnung, ein Erzeuger von und beliebig. Der diskrete Logarithmus von zur Basis ist dann die kleinste nicht negative Zahl 0; ; 1, für die gilt:. Für den diskreten Logarithmus wird geschrieben. 3.2 Der diskrete Logarithmus in / Für jede Primzahl ist, mit / lt. 2.2.5 eine endliche zyklische Gruppe mit der Ordnung 1. Dabei besitzt 1 ; ; 1 das Einselement 1. Sei nun ein Erzeuger von mit der Primitivwurzel (vgl. 2.2.5). Dann gil t:, d. h. 1; ; 1, mit,d.h.. Wie unter 3.1 gilt auch hier:. Für die gilt sogar die für die Eigenschaften der DL-Funktion wichtige Einschränkung 0; ; 2, wie die folgende Überlegung zeigt. Nach [Bu04, S. 5, Theorem 2.2.4] gilt für ein beliebiges zunächst wegen 1 und 1 0:, (eindeutig bestimmt) mit 0 1 bzw. 0 2, so dass 1. Daraus folgt für die (sieh e oben) :... 9

1 1 D. h. der Exponent kann als ein gewählt werden mit 0 2. Die Abbildung : 1; ; 1 0; ; 2 ist bijektiv und besitzt eine ebenfalls bijektive Umkehrfun ktion : 0; ; 2 1; ; 1, die diskrete Exponentialfunktion. Für die DL-Funktion sind insbesondere die folgenden beiden Rechengesetzte von Interesse (vgl. [MOV97, S. 103]): 1. mit,, 1; ; 1 und. 2. mit, 1; ; 1 und. Während die Exponentialfunktion mithilfe entsprechender Verfahren sehr effizient berechnet werden kann, ist die Berechnung diskreter Logarithmen bei geeigneter Wahl der relevanten Größen ein schwer zu lösendes Problem (diskretes Logarithmus-Problem (DLP)), für das bis heute keine effizienten Algorithmen bekannt sind. Aufgrund dieser Asymmetrie findet der diskrete Logarithmus in der Kryptografie vielfach Verwendung. 3.3 Fortführung des Beispiels aus 2.3 Für 13 hat die prime Restklassengruppe /13 die Ordnung 13 12. Einer der vier Erzeuger dieser Gruppe ist das Element 2 13 mit der Primitivwurzel 2. Für z. B. 3 13 gilt nun: 3 13 16 13 2 13, d.h.4 3. Tabelle 2 und Abbildung 1 geben für 2 und 13 einen vollständigen Überblick über alle diskreten Logarithmen. a 1 2 3 4 5 6 7 8 9 10 11 12 0 1 4 2 9 5 11 3 8 10 7 6 Tabelle 2: Diskrete Logarithmen für 2 und 13 10

DL 2 (a) log 2 (a) 11 10 9 8 7 6 5 4 3 2 1 0 log 2 (a) 1 2 3 4 5 6 7 8 9 10 11 12 a Abbildung 1: diskreter und stetiger Logarithmus Es fällt auf, dass der diskrete Logarithmus nur für bestimmte Argumente mit dem gewöhnlichen Logarithmus übereinstimmt (vgl. Abbildung 1). So gilt z. B. 4 4 2, aber 3 1,58... 3 4. 3.4 Anwendungsbeispiel: Diffie-Hellman-Schlüsselaustausch Das von Diffie und Hellman vorgestellte Verfahren stellt eine sehr anschauliche Anwendungsmöglichkeit des DLP dar. Es handelt sich dabei um ein Verfahren zum Austausch eines geheimen Schlüssels über eine unsichere öffentliche Leitung. Das DLP wird dazu verwendet, den sicheren Austausch des geheimen Schlüssels durchzuführen. Zu Beginn der Kommunikation einigen sich die beteiligten Parteien, hier die Personen Alice und Bob, öffentlich auf eine Primzahl und eine Primitivwurzel (vgl. 2.2.5) mit 2 2. Anschließend wählt Alice zufällig eine natürliche Zahl 0, 1,, 2 als diskreten Logarithmus und berechnet (vgl. 3.2). Bob wählt analog zufällig eine natürliche Zahl 0, 1,, 2 mit und berechnet. Die Ergebnisse und werden an den jeweils anderen Kommunikationspartner geschickt. Alice und Bob können nun den geheimen Schlüssel berechnen. Dazu führt Alice die Berechnung durch, während Bo b mit der Berechnung 11

zum gleichen Ergebnis kommt. Damit ist der geheime Schlüssel bestimmt (vgl. Abbildung 2). Alice öffentliche Leitung Bob p = 17, g = 3 p = 17, g = 3 p = 17, g = 3 wählt: x 1 = 7 a = g x1 mod p = 11 b = 13 a = 11 b = 13 a = 11 wählt: x 2 = 4 b = g x2 mod p = 13 K = b x1 mod p = 4 K = a x2 mod p = 4 Abbildung 2: Beispiel des Diffie-Hellman-Schlüsselaustausches Beim Schlüsselaustausch werden die Zahlen,, und über den öffentlichen Kanal übertragen und können folglich von einer dritten Person abgehört werden. Unbekannt bleiben dieser aber die diskreten Logarithmen und (Diffie-Hellman-Problem). Mindestens einer dieser diskreten Logarithmen ist aber bei Kenntnis der anderen Größen zur Berechnung des geheimen Schlüssels erforderlich. Die Sicherheit des Verfahrens beruht auf der Schwierigkeit, derartige Logarithmen bei geeigneter Wahl der Zahlenwerte zu berechnen (DLP, vgl. 3.2). Ist ein Angreifer in der Lage, das DLP zu lösen, kann er den geheimen Schlüssel berechnen. Bisher ist die Lösung des DLP die einzige bekannte, allgemein anwendbare Methode, um das Diffie-Hellman-Problem in vertretbarer Zeit zu lösen und damit den geheimen Schlüssel zu erfahren. 3.5 Algorithmen für das diskrete Logarithmus-Problem 3.5.1 Kategorisierung der Algorithmen Die bekannten Algorithmen zur Lösung des DLP können nach [MOV97, S. 104] in drei Kategorien eingeteilt werden: 1. Algorithmen, die in beliebigen Gruppen arbeiten, z. B. das Enumerationsverfahren (vgl. 3.5.2), der Shanks Babystep-Giantstep-Algorithmus oder der Pollard-ρ-Algorithmus (vgl. 3.5.3). 12

2. Algorithmen, die in beliebigen Gruppen arbeiten, aber v. a. bei kleinen Primfaktoren sehr effizient arbeiten, z. B. der Pohlig-Hellman-Algorithmus (vgl. 3.5.4). 3. Der Index-Calculus-Algorithmus, der nur in ganz bestimmten Gruppen effizient arbeitet (vgl. 3.5.5). 3.5.2 Enumerationsverfahren Das Enumerationsverfahren ist das intuitivste und einfachste Verfahren zur Bestimmung des diskreten Logarithmus in einer endlichen zyklischen Gruppe (vgl. 3.1). Das Verfahren besteht darin, alle Möglichkeiten für 0; ; 1 sukzessive auszuprobieren, bis für ein konkretes die chung bzw. (vgl. 3.1) erfüllt ist. Erfüllt diese Gleichung, ist der gesuchte diskrete Logarithmus. Für 13 aus /13 mit 6 und Erzeuger 13 mit Primitivwurzel 2 ergibt sich der gesuchte diskrete Logarithmus 6 5 aus der folgenden Tabelle: x 0 1 2 3 4 5 2 13 1 2 4 8 3 6 Tabelle 3: Bestimmung des diskreten Logarithmus für 6, 13und 2 Das Verfahren erfordert im Allgemeinen 1 Multiplikationen, Vergleiche in sowie Speicherplatz für die drei Gruppenelemente, und. Da in kryptografischen Verfahren 2 gewählt wird, ist das Enumerationsverfahren in der Praxis aufgrund des hohen Aufwands es wären mindestens 2 1 Gruppenoperationen notwendig nicht zur Bestimmung des diskreten Logarithmus geeignet. Zur Bestimmung des diskreten Logarithmus 3 1030 von 13 aus /2017 mit 3 (2017 ist Primzahl), dem Erzeuger 2017 und der Primitivwurzel 5 benötigt das Enumerationsverfahren beispielsweise 1 1029 Multiplikationen 2017 und 1030 Vergleiche. 3.5.3 Pollard- -Algorithmus Der Pollard- -Algorithmus ist ein weiteres Verfahren zur Bestimmung des diskreten Logarithmus (vgl. 3.1), das insgesamt weniger Gruppenoperationen, dafür aber mehr Speicherplatz als das Enumerationsverfahren benötigt. Es seien 13

, und paarweise disjunkte Teilmengen von mit sowie 1; ; eine Zufallszahl. Des Weiteren sei eine Folge aus Gruppenelementen definiert durch und ü, ü, ü. Die Folge lässt sich wiederum darstellen durch die beiden Folgen und mit 0 als. Dabei ist die Folge definiert durch die bereits bekannte Zufallszahl (Startwert) und 1 ü, x 2 ü, ü sowie die Folge durch den Startwert 0 und ü, y 2 ü, 1 ü. Da die Gruppe endlich ist, muss die Folge zwei gleiche Gruppenelemente, ein sogenanntes Match, mit 0 und 1 enthalten. Dass immer ein solches Match gefunden wird, liegt daran, dass die Folge periodisch wird. Sei, das erste Match; dann ist 0 und. Aufgrund der Konstruktion der Folge gilt ebenfalls für alle 0. Die Folge ist also periodisch mit Vorperiode s und der Periode k. Grafisch dargestellt ergibt sich ein Bild, das dem griechischen Buchstaben ähnelt (vgl. Abbildung 3), daher hat dieser Algorithmus auch seinen Namen. ß i = ß i+k ß s = ß s+k Periode ß s-1 Vorperiode ß s+k-1 ß 0 Abbildung 3: Darstellung des Pollard- -Algorithmus 14

Für ein Match, gilt: lt. X3.2 Um den diskreten Logarithmus zu bestimmen, muss die letzte Kongruenz gelöst werden. Diese Kongruenz besitzt nach [Bu04, S. 31, Theorem 3.6.2] genau dann eine eindeutige Lösung 1; ; 1, wenn der, 1 ist. Ist das Ergebnis nicht eindeutig, kann die Lösung entweder durch Ausprobieren oder ist dies nicht effizient genug möglich durch wiederholte Durchführung des Verfahrens mit einem anderen Startwert ermittelt werden. Beispiel Für 13 aus /13 mit 6 und Erzeuger 13 mit Primitivwurzel 2, 1; ; 4, 5; ; 8, 9; ; 12, 3 und 0 stellt Tabelle 4 einen Ausschnitt der Folgen für 0 ; ; 8 dar. i 0 8 13 3 0 1 12 13 6 0 2 7 13 6 1 3 10 13 0 2 4 8 13 0 3 5 12 13 0 6 6 7 13 0 7 7 10 13 0 2 8 8 13 0 3 Tabelle 4: Folgen des Pollard- -Algorithmus Ab 4 wiederholen sich die Elemente der Folge mit einer Periode von 4. Folglich ist bei ein Match erreicht. Zu lösen ist die Kongruenz 15

3 3 12 Da der 3,12 3 1 ist, gibt es keine eindeutige Lösung. Nach [Bu04, S. 11, Korollar 2.7.6] existiert jedoch eine Lösung, die eindeutig ist, weil der 3,12 3 ein Teiler von 3 ist. D. h. 3 3 12 wird zu 1 1 4 mit 4 bzw. 4 und führt zu der Lösung 5. Der gesuchte diskrete Logarithmus ist ein er der Werte 5 4, 0 3. k 0 5 6 13 6 13 1 9 5 13 6 13 2 13 2 13 6 13 Tabelle 5: Suche nach dem diskreten Loga rithmus Für 0 ist die Bedingung für den diskreten Logarithmus (vgl. 3.1) erfüllt. Damit ist 5 der gesuchte diskrete Logarithmus. Aufwandsabschätzung Nach [Bu04, S. 181] ist die Summe aus Vorperiode und Periode Ο. Ist 2 und 2, dann liegt das gespeicherte Element in der Periode und die Folge,,,,,, ist mindestens so lang wie die Periode. Folglich stimmt eines ihrer Elemente mit überein. Beim Vergleich aller Elemente der Folge mit wird nach Berechnung von Ο Folgengliedern immer ein Match gefunden. Bisher wird lt. [Bu04, S. 179] Speicherplatz Ο benötigt, da alle Tripel,, gespeichert werden. Dies kann optimiert werden, indem beginnend mit,, immer nur ein Tripel gespeichert wird. Ein neu berechnetes Tripel,, für 1, 2, wird gespeichert, wenn 2 gilt. Es werden also nur die Tripel,, mit 2 gespeichert. Die Berechnung der Folgen ist beendet, wenn ein Match gefunden wird. Der Pollard- -Algorithmus benötigt insgesamt also Ο Gruppenoperationen und muss Ο 1 Tripel speichern. Effizienzsteigerung Werden bei der Durchführung des Algorithmus nicht ein, sondern acht Tripel gespeichert, kann lt. [Bu04, S. 181] die Effizienz gesteigert werden. Laufzeit und Speicherbe- 16

darf bleiben unverändert. Alle Tripel werden mit,, initialisiert. Beginnend mit 1 hat das zuletzt gespeicherte Tripel den Index. Für 1, 2, wird,, berechnet. Liegt ein Match zwischen und einem gespeicherten Gruppenelement vor, wird versucht, den diskreten Logarithmus zu bestimmen. Ist 3, wird das erste gespeicherte Tripel gelöscht und,, an die gespeicherten Tripel angehängt. 3.5.4 Pohlig-Hellman-Algorithmus Der Pohlig-Hellman-Algorithmus erreicht eine Laufzeitverbesserung zur Bestimmung des diskreten Logarithmus (vgl. 3.1), indem dieser nicht direkt berechnet, sondern auf einfachere Probleme zurückgeführt wird: 1. DLP in auf Problem in Gruppen von Primzahlpotenzordnung reduzieren 2. weitere Reduktion auf Problem in Gruppen von Primzahlordnung Voraussetzung ist die Kenntnis der Primfaktorzerlegung der Gruppenordnung : Reduktion auf Primzahlpotenzordnung. Für das DLP jedes Primfakto rs von gilt:,,, mit diskretem Logarithmus. erzeugt eine Gruppe von Primzahlpotenzordnung, die eine zyklische Untergruppe von bildet; ist Element dieser Gruppe. Gilt, so lö st dieses alle DLP der Primfaktoren von :. Umgekehrt kann bei Kenntnis aller aus diesen der diskrete Logarithmus über die simultane Kongruenz für alle Primteiler von berechnet werden, da für diese gilt: 17

1 lt. Bu04, S. 35, Theorem 3.9.2. Ebenfalls teilt den größten gemeinsamen Teiler aller. Da dieser 1 ist, folgt: Es gilt also tatsächlich: 1. :. Um die diskreten Logarithmen zu berechnen, kann z. B. der lard- -Algorithmus (vgl. 3.5.3) verwendet werden. Die simultane Kongruenz und der diskrete Logarithmus können mit Hilfe des chinesischen Restsatzes gelöst werden (Details zum chinesischen Restsatz finden sich u. a. bei [Bu04, S. 43 ff.]). Reduktion auf Primzahlordnungen Die Lösung des DLP wird weiter vereinfacht, indem die diskreten Logarithmen nicht direkt berechnet werden, sondern auf diskrete Logarithmen in Gruppen von Primzahlordnung mit für eine Primzahl zurückgeführt werden. Zu bestimmen ist der diskrete Logarithmus mit 0. kann in die p-adische Darstellung (vgl. [Bu04, S. 5 f.]) gebracht werden:, 0,. Aus und lässt sich jedes als Lösung eines DLP in einer Gruppe der Ordnung bestimmen: 1. 2.2.3. 18

Der Koeffizient ist die Lösung eines DLP in einer Gruppe der Ordnung p, weil die Ordnung hat. Die anderen lassen sich sukzessive beginnend mit berech- nen. Sei mit und. Dann gilt: Sind alle,,, bekannt, kann aus diesen berechnet werden. Mit gilt: : 1 0 1. 2.2.3. Um letztendlich zu bestimmen, müssen also zunächst DLP in Gruppen der Ordnung zur Berechnung der gelöst werden. Wird zur Lösung der diskreten Logarithmen der Pollard- -Algorithmus verwendet, ergibt sich lt. [Bu04, S. 185, Theorem 11.5.4] die Laufzeit: log log. Dabei ist die Anzahl der p-adischen Stellen der, log der Aufwand des Potenzierens, der Aufwand für das Lösen durch den Pollard- -Algorithmus und log der Aufwand des Lösens der simultanen Kongruenzen. Beispi el nach [Bu04, S. 182 ff.] Für 2017 aus /2017 mit 3 und Erzeuger 2017 mit Primitivwurzel 5 wird der diskrete Logarithmus 3, der die Kongruenz 5 3 2017 löst. Die Gruppenordnung ist 2016 2 3 7. Zu berechnen ist 2 2 in einer Untergruppe der Ordnung 2 32 aus der Kongruenz 19

Es ergibt sich 5 3 2017 500 913 2017 2 2 2 2 2 2 2 2 2 2. 2016 1 2017 2 0, 913 2017 2016 2016 2017 2 1, 1579 2017 2016 2016 2017 2 1, 1 2017 2 0 2 0 2 0 1 2 1 2 0 2 0 2 6. Anschließend wird 3 3 3 3 in einer Untergruppe der Ordnung 3 9 berechnet: 294 294 2017 3 1, 294 2017 3 1 3 1 1 3 4. Zuletzt wird 7 7 in einer Untergruppe der Ordnung 7 bestimmt: Aus der simultanen Kongruenz 1879 1879 2017 7 1. 6 32, 4 9, 1 7 ergibt sich der gesuchte diskrete Logarithmus 3 1030 mittels des chinesischen Restsatzes. 3.5.5 Index-Calculus-Algorithmus Die bisher beschriebenen Verfahren arbeiten in beliebigen zyklischen Gruppen. Die Index-Calculus-Algorithmen sind hingegen effizienter in /, wobei eine Primzahl ist (vgl. 2.2.3), und allgemein in der multiplikativen Gruppe eines endlichen Körpers. Im Folgenden wird der einfachste Index-Calculus-Algorithmus vorgestellt. Gesucht ist der diskrete Logarithmus mit mit der Primitivwurzel (vgl. 2.2.5) und Elementen 1; ; 1. Es wird eine Schranke festgelegt und die sogenannte Faktorbasis, aufgestellt. Eine Zahl heißt B-glatt, wenn alle Primfaktoren von in liegen. Die Methode besteht aus zwei Schritten: 20

1. Berechnung der diskreten Logarithmen aller Faktorbasiselemente zur Basis 2. Berechnung des gesuchten diskreten Logarithmus Diskrete Logarithmen der Faktorbasiselemente Gesucht ist der diskrete Logarithmus, der für alle löst. Dazu werden zufällige 1; ; 1 mit B-blatt gewählt und die Faktorisierung, mit den Relationen, berechnet. Nach [Bu04, S. 190] ist das Auffinden von Relationen in / möglich, da die Gruppenelemente in den Ring der ganzen Zahlen abgebildet werden können. Hier existiert eine eindeutige Primfaktorzerlegung. Nach Bestimmung von Relationen wird ein lineares Kongruenzensystem aufgestellt:,,,, 1,.3.2. Die Lösungen dieses Gleichungssystems über / 1 sind die, die mittels des Gaußalgorithmus jeder Primfaktorpotenz, die 1 teilt, bestimmt werden können. Anschließend können die mithilfe des chinesischen Restsatzes berechnet werden. Beis piel nach [ Bu04, S. 187 f.] Sei 2027, 2 und 11 2; 3; 5; 7; 11. Es ergeben sich die Relationen: 3 11 33 2 2027 5 7 11 385 2 2027 2 11 1408 2 2027 3 7 63 2 2027 2 5 1600 2 2027. Aus diesen und für 2, 3, 5, 7, 11 ergibt sich das Kongruenzsystem 3 11 1593 2026 21

5 7 11 983 2026 7 2 11 1318 2026 2 3 7 293 2026 6 2 2 5 1918 2026. Da die Primfaktorzerlegung von 2026 2 1013 ist, muss das Kongruenzensystem 2 und 1013 gelöst werden: Wegen 2 gilt 2 1. Es folgt: 3 11 1 2 5 7 11 1 2 2 11 0 2 7 1 2. 2 5 7 11 1 2 und 3 0 2. Das Kongruenzensystem 1013 3 11 580 1013 5 7 11 983 1013 11 298 1013 2 3 7 293 1013 2 5 899 1013. führt zu 11 298 1013. Zur Bestimmung von 5 muss 2 1013 invertiert werden: 2 507 1 1013. Dies führt zu 5 956 1013. Aus der zweiten Kongruenz ergibt sich 7 742 1013. Aus der ersten Kongruenz folgt 3 282 1013. Letztendlich führt dies zu 2 1, 3 282, 5 1969, 7 1755, 11 1311. Berechnung von Auf der Grundlage der errechneten wird ein Exponent 1; 2; ; 1 gewählt, so dass B-blatt ist: 0, 22

Kapitel 4: Fazit 1. ist dann der gesuchte diskrete Logarithmus. Beispiel nach [Bu04, S. 188] Um die Kongruenz 2 13 2027 zu lösen, werden zunächst solange Zufallszahlen 1; 2; ; 2026 gewählt, bis 13 2 2027 ausschließlich Primfaktoren aus 11 enthält. Es ergibt sich 2 5 11 110 13 2 2027. Unter Zuhilfenah me der Ergebnisse aus dem vorangegangenen Beispiel folgt 1 1969 1311 1397 2026 1884. Die Laufzeit des Index-Calculus-Algorithmus ist nach [Bu04, S. 188] subexponentiell mit 1/2, 1. Lt. [MOV97, S. 109] ist er damit der zurzeit effizienteste bekannte Algorithmus zur Lösung von diskreten Logarithmen in /. Interessant ist, dass der größte Aufwand in der Berechnung der diskreten Logarithmen aller Faktorbasiselemente steckt. Ist diese Berechnung abgeschlossen, können Logarithmen zur gleichen Basis einfach bestimmt werden, da nur noch der zweite Schritt durchzuführen ist. 4 Fazit In dieser Arbeit wurde der diskrete Logarithmus definiert, es wurde mit dem Diffie-Hellman-Schlüsselaustauschverfahren eine Anwendungsmöglichkeit aufgezeigt. Es wurden mit dem Enumerationsverfahren, dem Pollard- -Algorithmus, dem Pohlig-Hellman-Algorithmus sowie dem Index-Calculus-Algorithmus vier Verfahren zur Berechnung des diskreten Logarithmus vorgestellt. Es wurde deutlich, dass der diskrete Logarithmus aufgrund des mit ihm verbundenen diskreten Logarithmus-Problems geeignet ist, als Grundlage für die Sicherheit in kryptografischen Algorithmen eingesetzt zu werden. Dem diskreten Logarithmus kommt folglich in der Kryptografie eine große Bedeutung zu. Letztendlich beruht damit auch die Sicherheit der mit den entsprechenden Verfahren verschlüsselten Informationen auf dem diskreten Logarithmus-Problem. Die Arbeit hat herausgestellt, dass die Asymmetrie zwischen leichter Berechnung der diskreten Exponentialfunktion und der nur schwer 23

Kapitel 4: Fazit berechenbaren diskreten Logarithmusfunktion zentral für die Sicherheit und praktische Verwendbarkeit des diskreten Logarithmus ist. Bis heute ist kein Verfahren bekannt, das allgemein in der Lage ist, den diskreten Logarithmus effizient zu berechnen. Das heißt allerdings nicht, dass solche Verfahren nicht schon existieren und diese nur nicht öffentlich bekannt sind. Gerade Geheimdienste haben in der Vergangenheit die Entdeckung solcher Verfahren lange Zeit geheim gehalten. In anderen Arbeiten konnte theoretisch bewiesen werden, dass das diskrete Logarithmus-Problem auf einem Quantencomputer leicht lösbar wäre. Bisher sind jedoch alle Versuche, einen Quantencomputer zu bauen, gescheitert. Schon diese Unwägbarkeiten zeigen, dass beim Einsatz von kryptografischen Algorithmen auf Basis des diskreten Logarithmus-Problems, sowie generell beim Einsatz kryptografischer Verfahren, sehr genau auf die möglichen Risiken geachtet werden muss. Dazu bedarf es fundierter Kenntnisse aller Aspekte entsprechender Verfahren. Diese Arbeit bietet entsprechende Grundlagen für den diskreten Logarithmus. 24

5 Literaturverzeichnis [Bu04] Johannes Buchmann: Einführung in die Kryptographie, 3., erweiterte Auflage, Springer, 2004. [MOV97] Alfred J. Menezes, Paul C. Van Oorschot, Scott A. Vanstone: Handbook of applied cryptography. In: The CRC Press series on discrete mathematics and its applications Computer sciences applied mathematics engineering, CRC Press, 1997.