TECHNISCHE UNIVERSITÄT DARMSTADT Einführung in die Kryptographie FACHGEBIET THEORETISCHE INFORMATIK PROF. JOHANNES BUCHMANN FATEME SHIRAZI WS 2013/2014 2. Lösungsblatt — 25.10.2013 P1 Modulo Rechnen In dieser Aufgabe betrachten wir die Modulo Funktion. Für a, b, c ∈ Z schreiben wir a ≡ b mod c , falls es ein k ∈ Z gibt, so daß a = kc + b. Man kann mod aber auch als Funktion interpretieren. Wir schreiben b mod c = r , falls r ∈ N0 die kleinste nicht negative Zahl ist, für die r ≡ b mod c gilt. (a) Berechnen Sie 248 mod 21. Lösung. 248 mod 21 ≡ 38 ≡ 17. (b) Sei a mod c = ra und b mod c = r b . Zeigen Sie, daß (ra · r b ) ≡ (a · b) mod c . Lösung. a = (ra + ka c) und b = (r b + k b c) für eindeutige ka , k b ∈ Z. Damit gilt: a b = (ra + ka c)(r b + k b c) = ra r b + c(ka r b + k b ra ) + c 2 k b ka , woraus folgt, daß ab ≡ ra r b mod c . (c) Berechnen Sie nun 9999 mod 100. Lösung. 9999 mod 100 ≡ (−1)99 ≡ −1 ≡ 99 =⇒ 9999 mod 100 = 99. P2 Restklassen Sei n eine natürliche Zahl. (a) Zeigen Sie, dass Kongruenz modulo n eine Äquivalenzrelation ist. Lösung. Eine Relation ∼ auf einer Menge M heißt Äquivalenzrelation, wenn folgende Bedingungen erfüllt sind: • Reflexität: a ∼ a, ∀a ∈ M • Symmetrie: a ∼ b ⇒ b ∼ a, ∀a, b ∈ M • Transitivität: a∼b und b ∼ c ⇒ a ∼ c , ∀a, b, c ∈ M ≡ ist eine Äquivalenzrelation weil: • a ≡ a mod n, denn n | a − a = 0 • a ≡ b ⇒ b ≡ a, ⇒ n | a − b ⇒ n | b − a ⇒ b ≡ a mod n • a≡b und b≡c⇒a≡c ⇒ n|a−b n| b−c ⇒ ∃k1 , k2 ∈ Z : a − b = k1 · n (1) b − c = k2 · n (2) Addiere (1) mit (2): a − c = n(k1 − k2 ) ⇒ n | a − c ⇒ a ≡ c mod n (b) Wie viele Äquivalenzklassen modulo n gibt es? Lösung. Es gibt n Äquivalenzklassen modulo n, denn aus dem euklidischen Algorithmus für ganze Zahlen m, n gibt es q, r ∈ Z mit: m = nq + r; 0 ≤ r < n ⇒ m − r = nq ⇒ n | m − r ⇒ m ≡ r mod n, und r ∈ {0, . . . , n − 1}. 1 (c) Zeigen Sie, dass die Menge der Äquivalenzklassen modulo n mit vertretungsweise Multiplikation und Addition einen Ring bildet. Er wird mit Z/nZ bezeichnet. Lösung. Eine nichtleere Menge R mit zwei Verknüpfungen (+) und (*) ist ein Ring wenn folgende Bedingungen erfüllt sind: • (R,+) ist eine abelsche Gruppe: – (+) ist assoziativ. – Es gibt ein neutrales Element. – Jedes Element hat ein Inverses. • (*) ist assoziativ. • Es gelten die Distributivgesetze. • Es gibt ein neutrales Element bezüglich (*). Die Menge Z/nZ sieht wie folgt aus: Z/nZ = {a + nZ : 0 ≤ a < n} wobei a + nZ = {x ∈ Z : x ≡ a mod n} Wir definieren Addition und Multiplikation auf Z/nZ wie folgt: (a + nZ) + (b + nZ) = (a + b) + nZ (a + nZ) ∗ (b + nZ) = (a ∗ b) + nZ Die Struktur (Z/nZ,+,*) ist ein Ring weil: Offensichtlich sind 0 + nZ und 1 + nZ neutral bezüglich Addition und Multiplikation. Das Inverse von a + nZ bezüglich (+) ist (−a) + nZ. Wir zeigen exemplarisch das Distributivgesetz; für die übrigen Bedingugen sind analoge Rechnungen durchzuführen. (a + nZ) · [(b + nZ) + (c + nZ)] = a(b + c) + nZ = (ab + ac) + nZ = a b + nZ + ac + nZ = (a + nZ)(b + nZ) + (a + nZ)(c + nZ) (d) Bestimmen Sie die Elemente in Z/6Z, die ein multiplikatives Inverses haben. Lösung. Das Element 5 + 6Z hat ein Inverses, und zwar 5 + 6Z, denn: 5 · 5 ≡ 1 mod 6 Außerdem hat das Einselement 1 + 6Z ein Inverses. (e) Geben Sie eine notwendige und hinreichende Bedingung dafür an, dass ein Element in Z/nZ invertierbar ist. Lösung. Ein Element a ist genau dann invertierbar mod n wenn ggT(a, n) = 1. (f) Zeigen Sie, dass die Menge der inZ/nZ multiplikativ invertierbaren Elemente eine multiplikative Gruppe bildet. Sie heißt prime Restklassengruppe modulo n und wird mit (Z/nZ)∗ bezeichnet. Lösung. Da (Z/nZ,+,*) ein Ring ist. ist (*) assoziativ und es gibt ein neutrales Element bzüglich (*) und zwar 1 + nZ. Außerdem ist jedes Element in (Z/nZ)∗ invertierbar. Somit bildet ((Z/nZ)∗ ,*) eine Gruppe. (g) Bestimmen Sie die Anzahl der Elemente in Z/pZ für eine Primzahl p. Lösung. Aus Teil (b) gibt es p Elemente in Z/pZ. P3 Sätze mit Namen (a) Schreiben Sie den Satz von Lagrange auf. Lösung. Sei G eine endliche Gruppe und H eine Untergruppe von G . Dann gilt |H| teilt |G|. Alternativ: In endlichen Gruppen teilt die Ordnung jeder Untergruppe die Gruppenordnung. 2 (b) Sei G eine Gruppe mit primer Gruppenordnung p. Zeigen Sie, dass jedes nicht-neutrale Element in G auch die Ordnung p hat, also die gesamte Gruppe erzeugt. Lösung. Die Ordnung jedes Elements teilt die Gruppenordnung. Ist diese prim, dann kann es nur Elemente mit Ordnung 1 und p in der Gruppe geben. Aber das neutrale Element ist eindeutig in einer Gruppe und jedes Element mit Ordnung 1 ist ein neutrales Element. Die Gruppe wird also von jedem nicht-neutralen Element erzeugt. (c) Zeigen Sie, wie der kleine Satz von Fermat aus dem Satz von Lagrange folgt. Lösung. Wir haben in der Vorlesung gesehen, dass die Gleichung kϕ(m) ≡ 1 mod m genau dann gilt, wenn die Ordnung von k ein Teiler von ϕ(m) ist. Die Bedingung ggT(k, m) = 1 garantiert uns das k in der Einheitengruppe (Z/mZ)∗ ist. Diese hat Ordnung ϕ(m) und die von k erzeugte Untergruppe darin hat dieselbe Ordnung wie k, also folgt die Behauptung aus dem Satz von Lagrange. H1 Ordnung von Gruppen und Gruppenelementen (a) Berechnen Sie die Ordnung der Gruppe (Z/6Z)∗ . Q Lösung. (Theorem 3.17.2 im Buch): ϕ(n) = n p|n p−1 p ϕ(n) = ϕ(6) = 2 (b) Berechnen Sie die Ordnung der Gruppe (Z/pqZ)∗ für Primzahlen p und q. Lösung. Die Ordnung der Gruppe (Z/pqZ)∗ für Primzahlen p und q ist: ϕ(pq) = ϕ(p)ϕ(q) = (p − 1)(q − 1). (c) Bestimmen Sie die Ordnungen aller Elemente in (Z/15Z)∗ . Lösung. |(Z/15Z)∗ | = ϕ(3 · 5) = ϕ(3) · ϕ(5) = 2 · 4 = 8 und (Z/15Z)∗ = {a + 15Z, ggT(a, 15) = 1} = {a + 15Z, a = 1, 2, 4, 7, 8, 11, 13, 14} die möglichen Elementordnungen sind nur Teiler von 8: {2, 4, 8}. 22 ≡ 4 mod 15,24 ≡ 1 mod 15, also or der(2 + 15Z) = 4. 42 ≡ 1 mod 15, also or der(4 + 15Z) = 2. 72 ≡ 4 mod 15, 74 ≡ 1 mod 15 also or der(7 + 15Z) = 4. 82 ≡ 4 mod 15, 84 ≡ 1 mod 15 also or der(8 + 15Z) = 4. 112 ≡ 1 mod 15, also or der(11 + 15Z) = 2. 132 ≡ (−2)2 ≡ 4 mod 15, 134 ≡ 1 mod 15 also or d er(13 + 15Z) = 4. 142 ≡ (−1)2 ≡ 1 mod 15, also or der(7 + 15Z) = 2. (d) Seien n > 1 und e ganze Zahlen. Geben Sie ein notwendiges und hinreichendes Kriterium dafür an, dass die ete Potenz einer primen Restklasse modulo n dieselbe Ordnung hat wie die prime Restklasse selbst. Lösung. Sei a eine prime Restklasse modulo n. Aus der Formel: or d er(a e ) = or d er(a) ggT(e, or d er(a)) folgt dass: or d er(a e ) = or der(a) genau dann wenn ggT(e, or d er(a)) = 1. 3 H2 Kleiner Satz von Fermat Benutzen Sie den kleinen Satz von Fermat um das Inverse von 25 mod 257 zu finden. Lösung. Wir haben aϕ(m) ≡ 1 mod m für alle a und m mit ggT(a, m) = 1. Damit gilt a·aϕ(m)−1 ≡ 1 mod m, und aϕ(m)−1 ist das Inverse von a zum Modulus m. Hier ist a = 25 und m = 257. Der Modulus m = 257 ist prim und damit φ(m) = 256. Es bleibt uns 25255 mod 257 mit schneller Exponentiation zu berechnen. Das Ergebnis ist 72 mod 257. Bemerkung: Obwohl die Berechnung des Inversen auf diese Art und Weise möglich ist, so zeigt das Beispiel doch, dass eine Berechnung mit dem Erweiterten Euklidischen Algorithmus schneller vonstatten geht. Auf der anderen Seite ist die hier angewendete Methode auf beliebige Gruppen verallgemeinerbar. H3 Schnelle Exponentiation (a) Nutzen Sie schnelle Exponentiation, um folgende Werte zu berechnen: 2286 mod 2003 31001 mod 2003 5q mod 2003, wobei q = 2002/p und p alle Primzahlen, die 2002 teilen, durchläuft. Lösung. 2002 = 2 · 7 · 11 · 13. Damit nimmt q im letzten Teil der Aufgabe die Werte 1001, 286, 182, 154 an. Die Ergebnisse sind 1 mod 2003, 1 mod 2003, 2002 mod 2003, 874 mod 2003, 886 mod 2003 und 633 mod 2003. (b) Überlegen Sie, dass die schnelle Exponenzierung auch mit der Trinärdarstellung von n funktioniert, wenn man in der theoretischen Beschreibnung alle 2en durch 3en ersetzt. Berechnen Sie auf Binäre und Trinäre Weise: 427 mod 11 und vergleichen Sie Ihre Ergebnisse. Lösung. 427 ≡ 4−3 ≡ 33 ≡ 5 mod 11 4