13. Der diskrete Logarithmus

Ähnliche Dokumente
9. Primitivwurzeln. O. Forster: Einführung in die Zahlentheorie

Diskrete Strukturen Kapitel 5: Algebraische Strukturen (Gruppen)

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

Kapitel 6: Das quadratische Reziprozitätsgesetz

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

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

1.4 Homomorphismen und Isomorphismen

Kryptographie und Komplexität

3-1 Elementare Zahlentheorie

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

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

Liften von Lösungen modulo 2

Körper- und Galoistheorie

n (als K 0 -Vektorraum) und insbesondere

5. Zahlentheoretische Funktionen

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

7 Die Sätze von Fermat, Euler und Wilson

11. Übung zur Vorlesung. Zahlentheorie. im Wintersemester 2015/16

Aufgaben zu Kapitel 1

2.3 Endliche abelsche Gruppen

2. Teilbarkeit. Euklidischer Algorithmus

PROSEMINAR LINEARE ALGEBRA

(a) Welche der folgenden Gruppen hat 24 Elemente? D 6 GL 2 (F 2 ) X Die Tetraedergruppe. (b) Welche der folgenden Aussagen ist wahr?

Isomorphismus. Definition Gruppen-Isomorphismus. Seien (G, +) und (G, ) Gruppen. Die Abbildung f : G G heißt Gruppen-Isomorphismus, falls gilt

14 Kreisteilungskörper

Von den ganzen Zahlen zu GF(p)

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

Aufgabe 1. Stefan K. 3.Übungsblatt Algebra I

4 Der diskrete Logarithmus mit Anwendungen

a x = y log a : R >0 R,

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.

Algorithmische Zahlentheorie

Public-Key-Verschlüsselung und Diskrete Logarithmen

Kanonische Primfaktorzerlegung

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

KAPITEL 1: ENDLICHE KÖRPER 1 ALLGEMEINES 2 GLEICHUNGEN ÜBER EINEM ENDLICHEN KÖRPER

11. Übung zur Vorlesung Zahlentheorie. im Wintersemester 2016/17. Untersuche mit dem Lucas-Lehmer-Test, ob die Zahl n = prim ist.

3. Übungszettel zur Vorlesung. Geometrische Gruppentheorie Musterlösung. Cora Welsch

Elliptische Kurven und ihre Anwendung in der Kryptographie

Algorithmische Kryptographie

6.1 Präsentationen von Gruppen

Lösungsskizzen zu Übungsblatt 1

Tutorium: Diskrete Mathematik

Chinesischer Restsatz für Ringe

Thema: Die Einheitengruppe des Restklassenrings /n

DLP. Adolphe Kankeu Tamghe ALZAGK SEMINAR. Bremen, den 18. Januar Fachbereich Mathematik und Informatik 1 / 27

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

$Id: gruppen.tex,v /04/24 15:25:02 hk Exp $ $Id: ring.tex,v /04/24 15:35:17 hk Exp $

Einführung in die Algebra

Monotone Funktionen. Definition Es sei D R. Eine Funktion f : D R heißt. (ii) monoton fallend, wenn für alle x, x D gilt. x < x f (x) f (x ).

Vorlesung Diskrete Strukturen Gruppe und Ring

Gruppentheorie II. von Nicole Drüke

Elliptic Curve Cryptography

Der kleine Satz von Fermat

4 Der diskrete Logarithmus mit Anwendungen

Vorlesung 6: Gruppen und Homomorphismen

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

Quadrate und Wurzelziehen modulo p

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

Miller-Rabin Test. Primzahl- und Zerlegbarkeitstests. Zeugen für die Zerlegbarkeit ganzer Zahlen

Gruppen. Kapitel Operationen Definiton Gruppe, symmetrische Gruppen. Gruppen und Untergruppen, Lernziele 1. Erzeugendensysteme,

8 Gruppen und Körper

5.1 Affine Räume und affine Abbildungen

Elemente der Mathematik - Sommer 2017

Miller-Rabin Test. Primzahl- und Zerlegbarkeitstests. Zeugen für die Zerlegbarkeit ganzer Zahlen

BA-INF 011 Logik und Diskrete Strukturen WS 2013/14 Mögliche Klausuraufgaben Stand vom

Kapitel V. Affine Geometrie

c Swiss Mathematical Society, 2007

Seminar zum Thema Kryptographie

6.2 Gruppenoperationen, der Satz von Sylow

Einführung in Algebra und Zahlentheorie Lösungsvorschlag zur Klausur am 16. Februar 2016

4: Algebraische Strukturen / Gruppen

15 Grundlagen der Idealtheorie

Inhalt der Vorlesung Elemente der Algebra und Zahlentheorie Prof. Dr. Arno Fehm TU Dresden SS Grundlegende Definitionen (Wiederholung)

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

Lösungen zu Kapitel 8

WS 2008/09. Diskrete Strukturen

Mengenlehre: Mächtigkeit (Ordnung) einer Menge

Seminarvortrag aus Reiner Mathematik Existenz von Primitivwurzeln

Kurzskript MfI:AGS WS 2018/19 Teil II: Gruppen 9

Vektorräume und lineare Abbildungen

Diskrete Logarithmen

Fibonacci-Zahlen und goldener Schnitt

Wiederholung. Gruppen. Untergruppen. Gruppenisomorphismen. Ordnung: Gruppe, Element Satz von Euler: a ord(g) = 1 Elementordung teilt Gruppenordnung

Klausur vom Algebra I. Rolf Farnsteiner

4 Isomorphismen affiner und projektiver Ebenen

Endliche Körper und Codierung SS Übungsblatt. 9. Bestimmen Sie alle primitiven Elemente (Erzeuger der multiplikativen Gruppe) von

$Id: ring.tex,v /05/03 15:13:26 hk Exp $

Transkript:

13. Der diskrete Logarithmus 13.1. Definition. Sei p eine Primzahl. Wie wir in 9 bewiesen haben, ist die multiplikative Gruppe F p des Körpers F p = Z/p zyklisch. Sei g ein erzeugendes Element von F p (Primitivwurzel modulo p). Da F p die Ordnung p 1 hat, ist die Abbildung exp g : Z/(p 1) F p, k g k, bijektiv und wegen exp g (k + l) = exp g (k) exp g (l) sogar ein Gruppen-Isomorphismus der additiven Gruppe (Z/(p 1), +) auf die multiplikative Gruppe F p. Die Umkehrabbildung heißt der diskrete Logarithmus zur Basis g, log g : (Z/p) Z/(p 1). Der Logarithmus genügt der Funktionalgleichung log(xy) = log(x) + log(x) (wir haben zur Vereinfachung den Index g weggelassen) und liefert einen Isomorphismus der multiplikativen Gruppe F p auf die additive Gruppe Z/(p 1). Klassischerweise wurde der diskrete Logarithmus als Index bezeichnet, Schreibweise ind g (x) = log g (x), und diente der Zurückführung der Multiplikation modulo p auf die Addition modulo p 1. So hat Gauß für seine zahlentheoretischen Untersuchungen Index-Tabellen (= Logarithmen-Tafeln) für alle Primzahlen p < 100 aufgestellt. Beispiel. Für die Primzahl p = 13 ist g = 2 eine Primitivwurzel. Rechnet man zunächst alle Potenzen von g aus, so erhält man daraus eine Tabelle mit den Logarithmen: k 0 1 2 3 4 5 6 7 8 9 10 11 exp 2 (k) 1 2 4 8 3 6 12 11 9 5 10 7 x 1 2 3 4 5 6 7 8 9 10 11 12 log 2 (x) 0 1 4 2 9 5 11 3 8 10 7 6 Für große Primzahlen (hundert und mehr Stellen), wie sie heute in den Anwendungen benutzt werden, ist die Erstellung von Logarithmen-Tafeln natürlich nicht mehr praktikabel. Während die Exponentialfunktion mithilfe des schnellen Potenzierungs- Algorithmus sehr effizient berechnet werden kann, ist es im Allgemeinen viel schwieriger, den diskreten Logarithmus zu berechnen. Diese Asymmetrie wird für einige kryptographische Verfahren benützt. 13.2. Shanks Algorithmus zur Berechnung des diskreten Logarithmus. Die naive Methode zur Berechnung von log g (x) besteht darin, der Reihe nach alle Potenzen g k mod p, k = 0, 1, 2,... auszurechnen, bis man auf die Gleichheit g k x mod p stößt. Dann ist k = log g (x). Durchschnittlich wird man dabei etwa p/2 Schritte benötigen, 13 zuletzt geändert am: 2004-06-11 13.1

13. Der diskrete Logarithmus die Komplexität ist also O(p). Shanks hat ein Verfahren erdacht, bei dem man die Komplexität auf etwa O( p) herunterdrücken kann. Dies ist das sog. Giant-Steps- Baby-Steps-Verfahren (GSBS). Wir besprechen es gleich in einer etwas allgemeineren Situation: Sei G eine (multiplikativ geschriebene) zyklische Gruppe der Ordnung m und g ein erzeugendes Element von G. Dann ist die Abbildung exp g : Z/m G, k g k, ein Gruppen-Isomorphismus. Es geht um die Berechnung der Umkehrabbildung log g : G Z/m. Zu vorgegebenem x G muss also ein k bestimmt werden, so dass x = g k. Wir setzen r := m, d.h. r ist die kleinste ganze Zahl m. Der unbekannte Logarithmus k lässt sich schreiben als k = αr + β mit 0 α, β < r. Die Gleichung g k = x ist äquivalent zu g αr = xg β. Um diese Gleichung zu lösen, berechnen wir zuerst die giant steps g νr = (g r ) ν für ν = 0, 1, 2,..., r 1 und speichern sie ab. Dann berechnen wir die baby steps xg µ für µ = 0, 1, 2,... und vergleichen sie mit den giant steps, bis eine Gleichheit g νr = xg µ gefunden wird. Dann ist k := νr + µ der gesuchte Logarithmus. Offenbar ist die Gesamtzahl der zu berechnenden giant steps und baby steps 2 m. Durch geeignete Hash-Techniken bei der Speicherung kann man erreichen, dass ein Vergleich in fast konstanter Zeit (d.h. unabhängig von m) durchgeführt werden kann, so dass also die Gesamtkomplexität O( m) ist. Die Berechnung des diskreten Logarithmus in G kann noch weiter beschleunigt werden, wenn die Ordnung von G keine Primzahl ist. Dazu brauchen wir zunächst einige Vorbereitungen. 13.3. Satz. Sei G eine (multiplikative) zyklische Gruppe der Ordnung m mit erzeugendem Element g. Dann gibt es zu jedem Teiler k m genau eine Untergruppe G(k) G der Ordnung k. Diese Untergruppe kann auf folgende Weisen charakterisiert werden: 13.2

(1) G(k) = {x G : x k = e}. (2) G(k) = Im(G φ G), wobei φ(x) := x m/k. (3) G(k) ist die von g m/k erzeugte zyklische Untergruppe von G. Beweis. Wir bezeichnen die durch (1) bis (3) charakterisierten Untergruppen von G mit G i (k), i = 1, 2, 3. Offenbar gilt G 3 (k) G 2 (k) G 1 (k), und die Ordnung von G 3 (k) ist gleich k, da sie aus den Elementen g j(m/k) für j = 0, 1,..., k 1 besteht. Es ist also nur noch G 1 (k) G 3 (k) zu zeigen. Sei x G 1 (k). Es gilt x = g ν mit einer gewissen ganzen Zahl ν. Da x k = g νk = e, gilt m νk, also m/k ν. Daraus folgt aber x = g ν G 3 (k), q.e.d. 13.4. Satz. Sei G eine zyklische Gruppe der Ordnung m. Es gelte m = m 1 m 2... m r mit paarweise teilerfremden m i 2. Sei G(m i ) G die eindeutig bestimmte Untergruppe von G der Ordnung m i und seien λ 1,..., λ r ganze Zahlen mit λ 1 m m 1 +... + λ r m m r = 1. (Die λ i existieren, da gcd(m/m 1, m/m 2,..., m/m r ) = 1.) Man betrachte die Abbildungen wobei G φ G(m 1 ) G(m 2 )... G(m r ) ψ G, φ(x) := (x m/m 1,..., x m/mr ) und ψ(x 1,..., x r ) := x λ 1 1... x λr r. Dann sind φ und ψ Isomorphismen mit ψ φ = id G. Beweis. Die Gleichung ψ φ = id G folgt direkt aus der Definition der λ i. Da die Gruppen G und r i=1 G(m i) gleichviele Elemente haben, müssen φ und ψ bijektiv, also Isomorphismen sein. 13.5. Pohlig-Hellman-Reduktion. Wir wenden jetzt Satz 13.4 auf das Problem des diskreten Logarithmus an. Wir behalten die Bezeichnungen von 13.4 bei. Sei g G ein erzeugendes Element und x G ein Element, dessen Logarithmus zur Basis g bestimmt werden soll. Wir zeigen, dass dies auf die Berechnung der diskreten Logarithmen in den Gruppen G(m i ) zurückgeführt werden kann. Dazu wenden wir die Abbildung φ auf g und x an: 13.3

13. Der diskrete Logarithmus G φ G(m 1 )... G(m r ) g ( g 1,..., g r ), g i := g m/m i x ( x 1,..., x r ), x i := x m/m i Das Element g i erzeugt die Gruppe G(m i ), also gibt es ganze Zahlen k i mit x i = g k i i für i = 1,..., r. Nach Satz 13.4 gilt daher ist x = x λ 1 1... x λr r = g k 1λ 1 1... g krλr r = g k 1λ 1 m/m 1 +...+k rλ rm/m r ; k := r i=1 k i λ i m m i mod m Z/m der diskrete Logarithmus zur Basis g von x. Da jede natürliche Zahl m in ein Produkt von teilerfremden Primzahlpotenzen zerlegt werden kann, zeigen die obigen Überlegungen, dass das Problem des diskreten Logarithmus in beliebigen zyklischen Gruppen auf das entsprechende Problem in zyklischen Gruppen von Primzahlpotenz-Ordnung zurückgeführt werden kann. Als nächstes zeigen wir, dass man das Problem sogar auf Gruppen mit Primzahl-Ordnung zurückführen kann. 13.6. Zyklische Gruppen von Primzahlpotenz-Ordnung. Sei G eine zyklische Gruppe der Ordnung p n, (p prim, n > 1) mit erzegendem Element g. Nach Satz 13.3 haben wir Untergruppen G(p k ) := {x G : x pk = e}, k = 1,..., n, der Ordnung p k. Die Gruppe G(p k ) ist zyklisch mit erzeugendem Element g pn k die Abbildung und G G(p k ), x x pn k, ist ein surjektiver Gruppen-Homomorphismus. Die Gruppen G(p k ) liefern eine sog. Filtrierung von G, {e} G(p) G(p 2 )... G(p n 1 ) G(p n ) = G. Wir setzen voraus, dass wir einen Algorithmus haben (z.b. den Shanks schen GSBS- Algorithmus), um das diskrete Logarithmus-Problem in der Gruppe G(p) zu lösen. Sei z G vorgegeben. Um die Gleichung z = g t, d.h. t = log g (z), 13.4

in G zu lösen, zeigen wir durch Induktion nach k, wie man ganze Zahlen t k finden kann, so dass z pn k = g pn k t k. Für k = n haben wir dann z = g tn. Der Induktions-Anfang k = 1 ist einfach das diskrete Logarithmus-Problem in G(p), da z pn 1 G(p), und g pn 1 die Gruppe G(p) erzeugt. Induktionsschritt k k + 1. Aus z pn k = g pn k t k folgt ( ) p z pn k 1 g pn k 1 t k = e, d.h. z p n k 1 g pn k 1 t k G(p), also können wir ein ν k finden, so dass Also ist z pn k 1 g pn k 1 t k = (g pn 1 ) ν k. z pn k 1 = g pn k 1 t k+1 mit t k+1 = t k + p k ν k, q.e.d. Zusammenfassend ergibt sich, dass in einer zyklischen Gruppe der Ordnung m = p k 1 1... p kr r das diskrete Logarithmus-Problem in etwa O( p) Schritten gelöst werden kann, wobei p = max{p 1,..., p r }. Für die speziellen Gruppen (Z/p) gibt es noch einen anderen unter dem Namen Index Calculus bekannten Algorithmus, der im Allgemeinen noch schneller ist. Es ist jedoch kein Algorithmus bekannt, dessen Komplexität polynomial mit log p, d.h. polynomial mit der Stellenzahl von p wächst. 13.5