5 Randomisierte Algorithmen für Probleme aus der Zahlentheorie

Größe: px
Ab Seite anzeigen:

Download "5 Randomisierte Algorithmen für Probleme aus der Zahlentheorie"

Transkript

1 Stand: Vorlesung Randomisierte Algorithmen Dietzfelbinger 5 Randomisierte Algorithmen für Probleme aus der Zahlentheorie Zu Aussagen, die mit ( ) markiert sind, gibt es Beweise oder Anmerkungen im Anhang A. 5.1 Fakten aus der Zahlentheorie und grundlegende Algorithmen Fakt 5.1 (Division mit Rest). Zu x Z und m 2 gibt es ein r mit 0 r < m und ein q mit x = qm + r. Die Zahlen q und r sind eindeutig bestimmt. Die Zahl r (Rest) bezeichnen wir mit x mod m. Sie hat die Darstellung x qm, unterscheidet sich also von x um ein Vielfaches von m. Wir sagen, dass eine ganze Zahl y die ganze Zahl x teilt (oder dass y ein Teiler von x ist), wenn x = qy für eine ganze Zahl q gilt. Oft schreibt man dafür kurz y x. (Beobachtungen: Aus 0 x folgt x = 0; für jede ganze Zahl y gilt: y 0; für jede ganze Zahl x gilt: 1 x und 1 x. Wenn m 2 ist, ist m x gleichbedeutend mit x mod m = 0.) Fakt 5.2 (( )). Für jedes m 2 bildet die Menge Z m = {0, 1,..., m 1} mit den Operationen Addition modulo m und Multiplikation modulo m einen Ring mit 1. Das heiÿt im Detail: Die Operationen + (mod m) und (mod m) führen nicht aus dem Bereich Z m heraus. Die Addition erfüllt alle Rechenregeln für Gruppen. Insbesondere hat jedes Element a ein additives Inverses a (beachte a = m a für 0 < a < m und 0 = 0). Die Multiplikation hat die 1 als neutrales Element und ist assoziativ; für Addition und Multiplikation gelten die Distributivgesetze. (Für weitere Details siehe Bemerkung A.1.) Lemma 5.3. Für jedes m 2 ist die Abbildung Z Z m, x x mod m, ein Homomorphismus; d. h. für x, y Z gilt: (i) (x + y) mod m = ((x mod m) + (y mod m)) mod m, 1

2 (ii) (xy) mod m = ((x mod m)(y mod m)) mod m. Dieses Lemma wird hauptsächlich benutzt, um Rechnungen zu vereinfachen. Um einen arithmetischen Ausdruck auszuwerten (inklusive Potenzen), kann man auf beliebige Zwischenergebnisse die mod m-operation anwenden. Beispiel: Um 13 7 mod 11 zu berechnen, rechnet man (13 mod 11) 7 mod 11 = (2 5 mod 11) 4 mod 11 = ( 1) 4 mod 11 = 7. Fakt 5.4. Für jedes m 2 gilt: x mod m = y mod m genau dann wenn x y durch m teilbar ist. Beispiel: 29 mod 12 = 53 mod 12 = 5 und = 24 ist durch 12 teilbar. Denition 5.5. (a) Für m, n Z, nicht beide gleich 0, sei ggt(m, n) die gröÿte positive Zahl, die sowohl m als auch n teilt. (b) m, n Z, nicht beide gleich 0, heiÿen teilerfremd, wenn ggt(m, n) = 1 gilt, d. h. wenn keine Zahl > 1 beide teilt. Es gibt einen ezienten Algorithmus zur Ermittlung des gröÿten gemeinsamen Teilers. Er beruht auf den Gleichungen ggt(a, 0) = a für a > 0 ggt(a, b) = ggt(b, a mod b) für a b > 0, und die in ein iteratives Verfahren umgesetzt werden. Algorithmus 5.1 (Euklidischer Algorithmus). Input: Zwei ganze Zahlen m und n. Methode: 1 a, b: integer; 2 if m n 3 then a m ; b n ; 4 else a n ; b m ; 5 while b > 0 repeat 6 (a, b) (b, a mod b); 7 return a. 2

3 i a i b i Tabelle 1: Ablauf des Euklidischen Algorithmus auf einem Beispiel Zeilen 24 dienen nur dazu, die Normalsituation a b 0 herzustellen. Die eigentliche Rechnung ndet in der while-schleife statt. Fakt 5.6. Algorithmus 5.1 gibt ggt(m, n) > 0 aus, wenn m, n nicht beide 0 sind; wenn m = n = 0, ist die Ausgabe 0. Auf Eingabe m = 10534, n = ergibt sich der in Tab. 5.1 angegebene Ablauf. Die Zahlen a i und b i bezeichnen den Inhalt der Variablen a und b, nachdem die Schleife in Zeilen 56 i-mal ausgeführt worden ist. Die Ausgabe ist 46 = ggt(10534, 12742). Um einzusehen, dass der Algorithmus terminiert, ja sogar sehr schnell terminiert, bemerken wir Folgendes. Betrachte den Beginn eines Schleifendurchlaufs. Der Inhalt von a sei a, der Inhalt von b sei b, mit a b > 0. Nach einem Schleifendurchlauf enthält a den Wert a = b und b den Wert b = a mod b. Falls b = 0, endet der Algorithmus. Sonst wird noch ein Durchlauf ausgeführt, an dessen Ende a den Wert b = a mod b enthält. Wir behaupten: b < 1 a. Um dies zu beweisen, betrachten wir 2 zwei Fälle: Wenn b > 1a ist, gilt 2 b = a mod b = a b < 1a. Wenn b 1 a ist, gilt 2 2 b = a mod b < b 1 a. Also halbiert sich der Wert in a in jeweils zwei Durchläufen. 2 Nach dem ersten Schleifendurchlauf enthält a den Wert min{ m, n }. Daraus ergibt sich Teil (a) der folgenden Aussage. Fakt 5.7. (a) Die Schleife in Zeilen 56 wird höchstens O(log(min{ m, n }))-mal ausgeführt. (b) Die gesamte Anzahl von Bitoperationen für den Euklidischen Algorithmus ist O(log( m ) log( n )). 3

4 Man beachte, dass log(n + 1) log n die Anzahl der Bits ist, die man braucht, um n aufzuschreiben. Damit hat der Euklidische Algorithmus bis auf einen konstanten Faktor denselben Aufwand wie die Multiplikation von m und n, wenn man die Schulmethode benutzt. (Es sei bemerkt, dass der Beweis der Schranke in (b) einer kleinen Rechnung bedarf, die die Längen der beteiligten Zahlen genauer verfolgt.) Beispiel: (a) 21 und 25 sind teilerfremd. Es gilt ( 26) 25 = = 1. (b) Es gilt ggt(21, 35) = 7, und = 7. Die folgende sehr nützliche Aussage verallgemeinert diese Beobachtung: Lemma 5.8 (( )... von Bezout). (a) Wenn m, n teilerfremd sind, gibt es x, y mit xm + yn = 1. (b) Für m, n Z, nicht beide gleich 0, gibt es x, y Z mit xm + yn = ggt(m, n). Die Koezienten x, y aus dem Lemma von Bezout kann man mit einer Erweiterung des Euklidischen Algorithmus sehr ezient berechnen. Algorithmus 5.2 (Erweiterter Euklidischer Algorithmus). Eingabe: Ganze Zahlen m und n. Methode: 0 a, b, xa, ya, xb, yb, q: integer; 1 if m n 2 then a m ; b n ; 3 xa sign(m); ya 0; xb 0; yb sign(n); 4 else a n ; b m ; 5 xa 0; ya sign(n); xb sign(m); yb 0; 6 while b > 0 repeat 7 q a div b; 8 (a, b) (b, a q b); 9 (xa, ya, xb, yb) (xb, yb, xa q xb, ya q yb); 10 return (a, xa, ya); Im Algorithmus benutzen wir die Signumfunktion, die wie folgt deniert ist: 1, falls n > 0, sign(n) = 0, falls n = 0, 1, falls n < 0, (1) die also n = sign(n) n für alle n (2) 4

5 erfüllt. Genau wie im ursprünglichen Euklidischen Algorithmus ndet die eigentliche Arbeit in der while-schleife statt (4 Zeilen). Zeilen 15 dienen nur der Vorbereitung und dem Umarrangieren, wenn die Eingabe negative Zahlen enthält oder m < n ist. Die Idee hinter dem Algorithmus ist folgende. Für die Diskussion beschränken wir uns auf den Fall m n 0. Der Euklidische Algorithmus führt in den Variablen a und b Zahlen a und b mit, die stets ggt(a, b) = d = ggt(m, n) erfüllen. Die Variablen xa, ya, xb und yb enthalten immer Zahlenpaare (x a, y a ) und (x b, y b ), die folgende Gleichungen erfüllen: a = x a m + y a n, b = x b m + y b n. Dies wird durch die Initialisierung hergestellt (a = m, b = n, x a = 1, y a = 0, x b = 0, y b = 1). In einem Schleifendurchlauf wird a durch b ersetzt und (x a, y a ) durch (x b, y b ), und es wird b durch a q b ersetzt sowie (x b, y b ) durch (x a q x a, y a q y b ). Dadurch bleiben die Gleichungen gültig. Wenn schlieÿlich b = 0 geworden ist, gilt d = ggt(m, n) = a = x a m + y a n, was die Ausgabe erklärt. Als Beispiel betrachten wir den Ablauf des Algorithmus auf der Eingabe (m, n) = (10534, 12742). Die Zahlen a i,b i, x a,i, y a,i, x b,i, y b,i bezeichnen den Inhalt von a, b, xa, ya, xb, yb nach dem i-ten Schleifendurchlauf. i a i b i x a,i y a,i x b,i y b,i q i Die Ausgabe ist (46, 75, 62). Man überprüft leicht, dass gilt. Allgemein gilt: 46 = ggt(10534, 12742) =

6 Fakt 5.9. (a) Wenn Algorithmus 5.2 auf Eingabe m, n, die nicht beide 0 sind, die Ausgabe (d, x, y) liefert, dann gilt d = ggt(m, n) = xm + yn. (b) Die Anzahl der Schleifendurchläufe ist dieselbe wie beim gewöhnlichen Euklidischen Algorithmus. (c) Die Anzahl von Bitoperationen für Algorithmus 5.2 ist O(log( m ) log( n )). In jeder Struktur Z m spielen die Elemente, die ein multiplikatives Inverses haben, eine spezielle Rolle; sie erhalten eine spezielle Bezeichnung. Lemma 5.10 (( )). Für jedes m 2 und jedes a Z gilt: Es gibt ein b mit ab mod m = 1 genau dann wenn ggt(a, m) = 1. Beispiel: Aus ( 26) 25 = 1 folgt, dass 31 mod 25 = 6 ein multiplikatives Inverses zu 21 modulo 25 ist. Denition Für m 2 sei Z m := {a Z m ggt(a, m) = 1}. Fakt 5.12 (( )). Für jedes m 2 gilt: Z m mit der Multiplikation modulo m als Operation ist eine Gruppe. Beispiel: Z 21 = {1, 2, 4, 5, 8, 10, 11, 13, 16, 17, 19, 20} und Z 7 = {1, 2, 3, 4, 5, 6}. Am schönsten ist die Situation, wenn alle Zahlen < m in Z m liegen. Proposition 5.13 (( )). Für jedes m 2 gilt: m ist Primzahl Z m = {1,..., m 1} Z m ist ein Körper. Die zweite Äquivalenz ist dabei klar: Der Ring Z m ist nach Denition ein Körper genau dann wenn jedes Element von Z m {0} ein multiplikatives Inverses besitzt. Beispiel: Wir rechnen modulo 13 und geben für jedes a Z 13 das Inverse b sowie das Produkt a b an (das natürlich bei der Division durch 13 Rest 1 lassen muss). a b a b ist keine Primzahl, und es gibt keine Zahl b mit 2 b mod 14 = 1; das heiÿt, dass 2 / Z 14 und daher, dass Z 14 kein Körper ist. 6

7 Fakt 5.14 (Kleiner Satz von Fermat). Wenn m eine Primzahl ist, dann gilt : Beweis: Betrachte die Abbildung a m 1 mod m = 1, für jedes a Z m. g a : Z m x ax mod m Z m. Diese Abbildung ist injektiv, da für das zu a inverse Element b gilt: b g a (x) mod m = bax mod m = x. Also: Wir multiplizieren: {1,..., m 1} = {g a (1),..., g a (m 1)} (m 1) mod m = g a (1)... g a (m 1) mod m = a m 1 (1... (m 1)) mod m. Wenn wir beide Seiten mit dem multiplikativen Inversen von 1... (m 1) mod m multiplizieren, erhalten wir 1 = a m 1 mod m. Wir bemerken, dass auch die Umkehrung gilt: Wenn a m 1 mod m = 1 ist, d. h. a m 1 qm = 1 für ein q, dann folgt ggt(a, m) = 1. Wenn also a (Z m {0}) Z m, dann gilt auf jeden Fall a m 1 mod m 1. Ab hier soll p immer eine Primzahl bezeichnen. Normalerweise ist dabei p > 2, also p ungerade. 1 Wir notieren noch wesentliche Eigenschaften von teilerfremden Zahlen. Fakt 5.15 (( )). Wenn m und n teilerfremd sind, und sowohl m als auch n ist Teiler von a, dann ist mn Teiler von a. Sehr grundlegend ist folgende Aussage über teilerfremde Zahlenpaare (m, n), die im wesentlichen sagt, dass die Strukturen Z m Z n (mit komponentenweisen Operationen) und Z mn isomorph sind. Wir beginnen mit einem Beispiel, nämlich m = 3, n = 8, also mn = 24. Die folgende Tabelle gibt die Reste der Zahlen a {0, 1,..., 23} modulo 3 und modulo 8 an. Die Reste wiederholen sich zyklisch für andere a Z. 1 All primes are odd except 2, which is the oddest of all. (D. E. Knuth) 7

8 a a mod a mod a a mod a mod Wenn wir die Einträge in Zeilen 2 und 3 als 24 Paare in Z 3 Z 8 ansehen, erkennen wir, dass sie alle verschieden sind, also auch alle Möglichkeiten in {0, 1, 2} {0, 1,..., 7} abdecken. D. h.: Die Abbildung a (a mod 3, a mod 8) ist eine Bijektion zwischen Z 24 und Z 3 Z 8. Zudem spiegeln sich arithmetische Operationen auf den Elementen von Z 24 wieder in den Resten modulo 3 und 8. Beispielsweise liefert die Addition von (2, 7) und (2, 1) das Resultat (1, 0), das der Addition von 23 und 17 mit dem Resultat 40 = 16 mod 24 entspricht. Genauso ist (2 5 mod 3, 3 5 mod 8) = (2, 3), was der Beobachtung 11 5 mod 24 = 11 entspricht. Der Chinesische Restsatz sagt im wesentlichen, dass eine solche strukturelle Entsprechung zwischen den Resten modulo mn und Paaren von Resten modulo m, n immer gilt, wenn m und n teilerfremd sind. Fakt 5.16 (Chinesischer Restsatz). m und n seien teilerfremd. Dann ist die Abbildung Φ: Z mn x (x mod m, x mod n) Z m Z n bijektiv. Weiterhin: Wenn Φ(x) = (x 1, x 2 ) und Φ(y) = (y 1, y 2 ), dann gilt: (a) Φ(x + mn y) = (x 1 + m y 1, x 2 + n y 2 ); (b) Φ(x mn y) = (x 1 m y 1, x 2 n y 2 ); (c) Φ(x k mod (mn)) = ((x 1 ) k mod m, (x 2 ) k mod n), für k 0. (Dabei bezeichnen + j und j die Addition und die Multiplikation modulo j.) 8

9 Oft kommt es darauf an, Potenzen a n mod m zu berechnen. Dabei kann n eine sehr groÿe Zahl sein mod Wieso kann ein Computer das Ergebnis ( ) in Bruchteilen von Sekunden berechnen? Auf keinen Fall kann er n Multiplikationen durchführen. Es gibt eine recht einfache rekursive Formel, die den Weg zu einer ezienten Berechnung weist: 1, wenn n = 0, a n a, wenn n = 1, mod m = ((a n/2 mod m) 2 ) mod m, wenn n 2 gerade ist, (a (a (n 1)/2 mod m) 2 ) mod m, wenn n 2 ungerade ist. Man erkennt sofort, dass in jeder Rekursionsebene die Bitanzahl des Exponenten um 1 sinkt, dass also die Anzahl der Rekursionsebenen etwa log n beträgt. In jeder Rekursionsstufe ist eine oder sind zwei Multiplikationen modulo m auszuführen, was O((log m) 2 ) Bitoperationen erfordert (Schulmethode). Damit kommt man bei der schnellen Exponentiation selbst bei der einfachsten Implementierung mit O((log n)(log m) 2 ) Bitoperationen zum Ergebnis. Wenn man diesen Algorithmus aus Ezienzgründen iterativ formulieren möchte, benötigt man die Binärdarstellung b k... b 1 b 0 von n in der Reihenfolge von links nach rechts. Diese Darstellung ist normalerweise durch die interne Darstellung gegeben. Alternativ kann man die Binärziern von n durch iterierte Division in der Reihenfolge b 0, b 1,..., b k ermitteln. In Runde i benötigt man dann die Potenz a 2i mod m als Faktor. Diesen kann man einfach durch iteriertes Quadrieren ermitteln, mit der Formel a 2i mod m = (a 2i 1 mod m) 2 mod m. Dies führt zu folgendem Verfahren, das ebenfalls O((log m) 2 ) Bitoperationen erfordert. 9

10 Algorithmus 5.3 (Schnelle modulare Exponentiation). Eingabe: Ganze Zahlen a, n 0, and m 1. Methode: 0 u, s, c: integer; 1 u n; 2 s a mod m; 3 c 1; 4 while u 1 repeat 5 if u ungerade then c (c s) mod m; 6 s s s mod m; 7 u u div 2; 8 return c; Hier ein Beispiel für den Ablauf: Dabei ist a = 2, n = 4321 Binärdarstellung b k... b 0 = ), m = 101. i s i b i c i = = = mod 101 = mod 101 = mod 101 = mod 101 = mod 101 = mod 101 = mod 101 = mod 101 = mod 101 = mod 101 = mod 101 = mod 101 = mod 101 = mod 101 = 89 Zeile 2 wird s mit a mod m = a 20 mod m initialisiert, und u mit n. Die Binärdarstellung von n soll b k... b 1 b 0 sein, mit b k = 1. In jedem Schleifendurchlauf wird u in Zeile 7 halbiert; wenn also Zeile 5 zum (i + 1)-sten Mal ausgeführt wird, enthält u 10

11 die Zahl mit Binärdarstellung b k b k 1... b i. In Zeile 6 jedes Durchlaufs wird der Inhalt von s quadriert (modulo m); wenn also Zeile 5 zum (i + 1)-sten Mal ausgeführt wird, enthält s die Zahl s i = a 2i mod m. Das letzte Bit b i von u wird in Zeile 5 benutzt, um zu entscheiden, ob p mit s i multipliziert werden soll oder nicht. Mit vollständiger Induktion zeigt man, dass nach der i-ten Ausführung von Zeile 5 die Variable p die Zahl 0 j i, b j =1 a2j mod m enthält. Die Abarbeitung der Schleife hält, wenn u 0 geworden ist, was oenbar nach genau k + 1 Durchläufen der Fall ist. An dieser Stelle enthält p das gewünschte Ergebnis 0 j k, b j =1 a2j mod m = a n mod n. Lemma Die Berechnung von a n mod m benötigt O(log n) Multiplikationen und Divisionen modulo m von Zahlen aus {0,..., m 2 1} sowie O((log n)(log m) 2 ) Bitoperationen. Bemerkung: Man kann denselben Algorithmus in einem beliebigen Monoid (Bereiche mit einer assoziativen Operation und einem neutralen Element) benutzen. Einen Monoid bilden zum Beispiel die natürlichen Zahlen mit der Multiplikation oder die Menge Σ über einem Alphabet Σ mit der Konkatenation. In Abschnitt 5.2 benutzen wir die schnelle Exponentiation für einen etwas ungewöhnlichen Monoid. 5.2 Quadratische Reste und Quadratwurzeln modulo p Wir betrachten hier den Begri des quadratischen Rests und der Quadratwurzeln modulo p, für Primzahlen p. Beispiel: Für p = 13 und p = 19 betrachten wir die Quadrate der Zahlen in Z p. a a a 2 mod a a 2 mod Wir bemerken, dass in beiden Fällen jede Zahl entweder keinmal oder zweimal als Quadrat vorkommt, dass infolgedessen genau 1 2 (p 1) Zahlen in Z p als Quadratzahlen auftauchen. Im Fall p = 13 ist 12 = 1 mod 13 eine Quadratzahl, im Fall p = 19 ist 18 = 1 mod 19 keine Quadratzahl. Es stellt sich die Frage, wie man zu gegebenem 11

12 p und a ermitteln kann, ob a in Z p ein Quadrat ist (einfach, wenn man weiÿ, wie es geht) und wie man gegebenenfalls ein c mit c 2 mod p = a nden kann (eventuell nicht ganz so einfach). Bemerkung: In Z p spielt p 1 die Rolle von 1, dem additiven Inversen von 1. Denition Für eine ungerade Primzahl p sei QR p := {a Z p b Z p : b 2 mod p = a} die Menge der quadratischen Reste in Z p. Wir stellen einige auch für sich wichtige Hilfsaussagen bereit. Fakt Wenn p eine ungerade Primzahl ist und s 2, dann gilt: (a) Wenn d 1 ist, dann hat ein Polynom f(x) = X d + a d 1 X d a 1 X + a 0 in Z p höchstens d Nullstellen. (b) Für s 1 gibt es in Z p höchstens s Elemente b mit bs mod p = 1. Beweis: (a) Dies ist eine Tatsache, die in Körpern allgemein gilt. Man kann sich recht leicht überlegen, dass man für Nullstellen b 1,..., b k aus f(x) den Faktor (X b 1 ) (X b k ) ausklammern kann, d. h. f(x) = (X b 1 ) (X b k ) g(x) schreiben kann. Dann kann k nicht gröÿer als der Grad d von f(x) sein. (b) Wenn b 1,..., b s+1 verschiedene Lösungen wären, hätte das Polynom X s 1 Grad s, aber > s Nullstellen, was (a) widerspricht. Lemma Wenn p eine ungerade Primzahl ist, dann gilt b 2 mod p = 1, b Z p genau für b {1, 1} = {1, p 1}. Beweis: Oensichtlich gilt für jedes beliebige m 2, dass 1 2 mod m = 1 und (m 1) 2 mod m = (m(m + 2) + 1) mod m = 1 ist. Nach Fakt 5.19(b) kann das Polynom X 2 1 nicht mehr als diese beiden Nullstellen haben. Allgemeiner gilt: Lemma Wenn p eine ungerade Primzahl ist und a QR p, dann gibt es genau zwei Zahlen b Z p mit b 2 mod p = a. Folgerung: QR p = 1 (p 1). 2 12

13 Beweis: Nach Denition von QR p gibt es ein solches b. Dann gilt auch ( b) 2 mod p = b 2 mod p = a. Weil p ungerade ist, gilt b ( b) mod p = 2b mod p 0, also b b. Nach Fakt 5.19 kann das Polynom X 2 a nicht mehr als diese beiden Nullstellen haben. Die folgende Behauptung erlaubt es zu testen, ob a ein quadratischer Rest ist. Proposition 5.22 (( ) Eulersches Kriterium). Für jede ungerade Primzahl p und jedes a Z p gilt: (a) a (p 1)/2 mod p {1, 1}. (b) a QR p a (p 1)/2 mod p = 1. (Beweis in Anhang A.) Mit diesem Kriterium kann man mit einer schnellen Exponentiation testen, ob eine Zahl a quadratischer Rest modulo p ist oder nicht. Algorithmus 5.4 (Quadratzahltest). Input: Primzahl p, Zahl a mit 1 < a < p Methode: (1) Berechne z = a (p 1)/2 mod p; ( Schnelle Exponentiation ) (2) if z = 1 then return Quadrat else return Nichtquadrat. Wir rechnen versuchsweise in Z 19, für 18 / QR 19 und 17 QR 19 : 18 9 mod 19 = ((( 1) 8 mod 19) 18) mod 19 = 18 1; 17 9 mod 19 = ((( 2) 8 mod 19) ( 2)) mod 19 = (256 ( 2)) mod 19 = (9 ( 2)) mod 19 = 1. Wir notieren eine leichte Folgerung aus dem Eulerschen Kriterium: Korollar Sei p eine ungerade Primzahl. Dann gilt : (a) Für a, b Z p und das Produkt c = ab mod p: a, b QR p c QR p ; a, b / QR p c QR p ; a QR p, b / QR p c / QR p. 13

14 (b) Für a Z p und a 1 in Z p, das multiplikative Inverse von a: a QR p a 1 QR p. ((a) folgt durch Anwendung von Exponentiationsregeln und Proposition 5.22; (b) folgt aus a a 1 = 1 QR p und (a).) Wenn das so einfach geht kann man dann zu einer Quadratzahl a auch leicht eine Quadratwurzel b modulo p berechnen? Erstaunlicherweise gibt es hier zwei sehr verschiedene Fälle. Wir betrachten das Beispiel p = 19. Die Quadrate in Z p sind die 9 Zahlen 1, 4, 5, 6, 7, 9, 11, 16, 17. Wir berechnen a 5 mod 19 für diese Quadratzahlen: a b = a 5 mod b 2 mod Wir sehen: a 5 ist für jede der Quadratzahlen a eine Quadratwurzel. (Die andere ist natürlich dann (19 a 5 ) mod 19.) Dies ist kein Zufall. Die Zahl 5 ergibt sich aus p = 19 als 1 (p + 1). Diese Operation ist für alle Primzahlen möglich, die um 1 unter 4 einem Vielfachen von 4 liegen. Proposition Wenn p eine Primzahl ist derart, dass p + 1 durch 4 teilbar ist, dann ist für jedes a QR p die Zahl a (p+1)/4 mod p eine Quadratwurzel von a. Beweis: ((a (p+1)/4 ) mod p) 2 mod p = (a (p+1)/2 ) mod p = (((a (p 1)/2 ) mod p) a) mod p = a, wobei wir Proposition 5.22(b) benutzt haben. Mit anderen Worten: Für die Primzahlen p {3, 7, 11, 19, 23, 31, 43, 47, 59,... } läuft das Ziehen von Quadratwurzeln auf eine schnelle Exponentiation mit Exponent 1 4 (p+ 1) hinaus. (Bitkomplexität O((log p) 3 ).) Wie steht es mit den anderen Primzahlen 5, 13, 17, 29, 37, 41, 53,...? Gibt es einen ähnlich ezienten Algorithmus zum Finden von Quadratwurzeln? Hier gibt es nochmals zwei Unterfälle. Wenn man leicht einen beliebigen nichtquadratischen Rest modulo p nden kann, dann kann man mit Hilfe eines deterministischen Algorithmus, 14

15 der in Anhang B beschrieben ist, mit O((log p) 2 ) arithmetischen Operationen Quadratwurzeln nden. Dies ist der Fall, wenn p 5 durch 8 teilbar ist, weil dann stets 2 / QR p gilt (Ergebnis der Zahlentheorie im Zusammenhang mit dem Quadratischen Reziprozitätsgesetz). Es bleiben die Primzahlen p, für die p 1 durch 8 teilbar ist, beispielsweise 17, 41, Interessanterweise kennt man für solche Primzahlen keinen deterministischen Algorithmus, der Quadratwurzeln modulo p berechnet und dazu Zeit (log p) O(1) braucht. Wir betrachten hier einen randomisierten Algorithmus für diese Aufgabe. Er funktioniert für alle Primzahlen der Form p, für die p 1 durch 4 teilbar ist. Idee: Gegeben ein a QR p, bezeichne eine Quadratwurzel von a mit. Die andere Quadratwurzel von a ist dann. Rechne mit (in Z p ) wie mit einer Unbekannten. Es entstehen Ausdrücke α + β, die man addieren, subtrahieren und multiplizieren kann. Höhere Potenzen von entstehen nicht, wenn 2 durch a ersetzt wird. Es gelten folgende Regeln: (α + β ) ± (γ + δ ) = (α ± γ) + (β ± δ) ; (3) (α + β ) (γ + δ ) = (αγ + βδ a) + (αδ + βγ). Wenn man diese Operationen implementieren will, stellt man ein Element α + β als (α, β) dar und rechnet wie in (3). Mit den in (3) angegebenen Operationen bildet die Menge der Paare (a, b) in Z p Z p einen Ring mit 1. Insbesondere besitzt die Multiplikation ein neutrales Element, nämlich (1, 0), und die Multiplikation ist kommutativ und assoziativ (prüft man leicht nach). Daher kann man das schnelle Exponentiationsverfahren aus Algorithmus 5.3 anwenden, um symbolisch die Potenz (α + β ) i in log i Runden mit jeweils höchstens 10 Multiplikationen modulo p zu berechnen. Wesentlich ist die folgende Grundeigenschaft. Wenn man in der abstrakten Notation eine Gleichheit ausgerechnet hat, dann gilt sie für beide Wurzeln von a: Wenn sich mit den Regeln von (3) (α + β ) i zu γ + δ berechnet und wenn w 2 mod p = a ist, dann gilt (α + β w) i = γ + δ w. (Man setzt w für ein und verfolgt die symbolische Rechnung, aber nun in Z p.) 15

16 Algorithmus 5.5 (Quadratwurzeln, randomisiert). Input: Primzahl p, wobei p 1 durch 4 teilbar ist; a {1,..., p 1} mit a (p 1)/2 mod p = 1. Methode: ( Finde b mit b 2 = a oder b 2 a / QR p : ) 1 repeat 2 b := Zufallszahl in {1,..., p 1}; 3 if b 2 mod p = a then return b; ( Glück gehabt! ) 4 until (b 2 a) (p 1)/2 mod p = p 1; ( b 2 a nicht-quadratischer Rest ) 5 (c + d ) (b + 1 ) (p 1)/2 ; 6 ( Schnelle Exponentiation mit Ausdrücken α + β, Regeln (3) ) 7 Berechne u = d 1 (im Körper Z p ); 8 ( Erweiterter Euklidischer Algorithmus ) 9 return {u, u}. Korrektheit: w sei eine Quadratwurzel von a, die andere ist dann w. Nach der obigen Vorüberlegung gilt (in Z p gerechnet), weil sowohl w 2 = a als auch ( w) 2 = a gilt: c + dw = (b + w) (p 1)/2 {1, 1} und (4) c dw = (b w) (p 1)/2 {1, 1}. Wir addieren diese beiden Gleichungen und erhalten: 2 c = (b + w) (p 1)/2 + (b w) (p 1)/2. (5) Andererseits ist (b 2 a) (p 1)/2 a = w 2 ein und erhalten = 1 (wegen Zeile 4 im Algorithmus). Wir setzen 1 = (b 2 w 2 ) (p 1)/2 = (b + w) (p 1)/2 (b w) (p 1)/2. Wegen (4) muss einer der Faktoren gleich 1 und der andere gleich 1 sein: {(b + w) (p 1)/2, (b w) (p 1)/2 } = {1, 1}. Mit (5) folgt 2 c = 0, und damit c = 0, weil in Z p gilt, dass 2 = ist. Subtraktion der Gleichungen in (4) ergibt 2dw = (b + w) (p 1)/2 (b w) (p 1)/2. 16

17 Die beiden Terme in der Dierenz sind 1 und 1 (in irgendeiner Reihenfolge), also ist 2dw {2, 2}, oder (wieder weil 2 0): dw {1, 1}, d.h.: w {d 1, d 1 }, wobei das multiplikative Inverse in Z p berechnet wird. Weil nach der Ausgangssituation w und w die Quadratwurzeln von a sind, sind auf jeden Fall u = d 1 und u = d 1 diese Wurzeln. Rechenzeit: In der Laufzeit des Algorithmus gibt es drei entscheidende Komponenten: (i) Das Finden eines Elements b derart dass b Quadratwurzel von a (sehr unwahrscheinlich) oder b 2 a / QR p (ein nicht-quadratischer Rest) ist; (ii) die Exponentiation zum Finden von (a+1 ) (p 1)/2 (die höchstens log p Schleifendurchläufe mit je höchstens 10 modularen Multiplikationen erfordert); (iii) der Aufwand für den erweiterten Euklidischen Algorithmus. Teile (ii) und (iii) haben Kosten, die einer festen Anzahl modularer Exponentiationen entspricht, also O(log p) Multiplikationen und Additionen. Für den ersten Teil ist zu überlegen, was die Dichte G p 1 = {b Z p b 2 = a b 2 a / QR p } p 1 der Menge G der guten Elemente in Z p ist. Behauptung: G = 1 (p + 3). 2 Beweis der Behauptung: Die Elemente w und w sind verschiedene und jedenfalls gute Elemente. Es geht also um die Anzahl der guten Elemente in der Menge ( Nicht- Wurzeln) NW := Z p {w, w}. Wir denieren eine Funktion f : NW Z p durch f(b) := b + w b w (Arithmetik in Z p). Diese Funktion ist wohldeniert, da b w, und sie nimmt den Wert 0 nicht an, da b w. Weiterhin wird der Wert 1 nicht angenommen (wenn b + w = b w, wäre 2w = 0, also w = 0), und der Wert 1 auch nicht (wenn b + w = (b w), wäre 2b = 0, also b = 0, was b Z p widerspricht). Also gilt: f : NW {2,..., p 2}. Man sieht leicht, dass f injektiv ist: 17

18 b 1 + w b 1 w = b 2 + w b 2 w (b 1 + w)(b 2 w) = (b 2 + w)(b 1 w) b 1 b 2 wb 1 + wb 2 w 2 = b 1 b 2 + wb 1 wb 2 w 2 2w(b 2 b 1 ) = 0 b 1 = b 2, wobei wir 2 0 und w 0 benutzt haben. Aus der Injektivität folgt, dass f eine Bijektion zwischen NW und {2,..., p 2} ist. In der letzteren Menge gibt es (p 1)/2 2 quadratische Reste (weil 1 und p 1 quadratische Reste sind: (p 1)/2 ist gerade, daher ist ( 1) (p 1)/2 = 1), also p 3 ((p 1)/2 2) = (p 1)/2 nicht-quadratische Reste. Bleibt zu zeigen: b 2 a QR p b + w b w QR p. Das gilt, weil b 2 a = (b + w)(b w) ist, also (b + w)/(b w) = (b 2 a)/(b w) 2, und nach Korollar 5.23 die Menge der (nicht-)quadratischen Reste in Z p unter Division mit quadratischen Resten (hier (b w) 2 ) abgeschlossen ist. Wegen dieser Eigenschaft von f ist G = 2 + {u NW f(u) / QR p } = 2 + (p 1)/2 = (p + 3)/2. Damit ist die Behauptung bewiesen. Die Wahrscheinlichkeit, in Zeile 2 ein Element von G zu wählen, ist also (p + 3)/(2(p 1)) > 1. Damit ist die erwartete Anzahl 2 von Versuchen, bis ein geeignetes b gefunden wird, kleiner als 2. Bemerkung: Es gibt einen anderen randomisierten Algorithmus zur Ermittlung von Quadratwurzeln modulo p, der mit O((log p) 2 ) Multiplikationen modulo p (entsprechend einer logarithmischen Anzahl von schnellen Exponentiationen) auskommt. Dieser Algorithmus benutzt Randomisierung, um einen beliebigen nichtquadratischen Rest zu nden; mit diesem Element wird dann deterministisch weiter gearbeitet. Siehe Anhang B. Bemerkung: Für Zahlen der Form n = p q für Primzahlen p, q ist kein ezienter Algorithmus zur Ermittlung von Quadratwurzeln modulo n bekannt (auch kein randomisierter!), wenn nur n und die Quadratzahl a (modulo n), nicht aber die Faktoren p und q Teil der Eingabe sind. 18

19 5.3 Der Miller-Rabin-Primzahltest In diesem Abschnitt lernen wir einen randomisierten Algorithmus kennen, der es erlaubt, zu einer gegebenen Zahl n zu entscheiden, ob n eine Primzahl ist oder nicht. Ein idealer Primzahltest sieht so aus: Eingabe: Eine natürliche Zahl n 3. Ausgabe: 0, falls n eine Primzahl ist; 1, falls n zusammengesetzt ist. Wozu braucht man Primzahltests? Zunächst ist die Frage Ist n eine Primzahl? eine grundlegende mathematisch interessante Fragestellung. Spätestens mit dem Siegeszug des RSA-Kryptosystems (siehe Vorlesung Public-Key-Kryptographie) hat sich die Situation jedoch dahin entwickelt, dass man Algorithmen benötigt, die immer wieder neue vielzirige Primzahlen (etwa mit 512 oder 1024 Bits 2 bzw. 155 oder 310 Dezimalziern) bereitstellen können. Den Kern dieser Primzahlerzeugungs-Verfahren (siehe Abschnitt 5.4) bildet ein Verfahren, das eine gegebene Zahl n darauf testet, ob sie prim ist. Ein naiver Primzahltest (versuchsweise Division), der dem brute-force-paradigma folgt, ndet durch direkte Division der Zahl n durch 2, 3, 4,..., n heraus, ob n einen nichttrivialen Teiler hat. Man kann dieses Verfahren durch einige Tricks beschleunigen, aber die Rechenzeit wächst dennoch mit Θ( n). Dies macht es für Zahlen mit mehr als 40 Dezimalstellen praktisch undurchführbar, von Zahlen mit mehr als 100 Dezimalstellen ganz zu schweigen. (Achtung: Damit wird nichts über die Qualität anderer Faktorisierungsalgorithmen gesagt. Es gibt andere, sehr fortgeschrittene Faktorisierungsalgorithmen, die bei entsprechendem Zeitaufwand und mit sehr leistungsstarken Rechnern auch noch mit 200-stelligen Zahlen zurechtkommen. Für Information zu früheren und aktuelleren Faktorisierungserfolgen siehe z. B. In diesem Abschnitt beschreiben wir den randomisierten Primzahltest von Miller- Rabin. Dabei handelt es sich um einen Monte-Carlo-Algorithmus mit einseitigem Fehler. Das heiÿt: Auf Eingaben n, die Primzahlen sind, wird immer 0 ausgegeben; auf Eingaben n, die zusammengesetzt sind, gibt es eine gewisse (von n abhängige) Fehlerwahrscheinlichkeit. Der Miller-Rabin-Algorithmus hat Fehlerschranke 1 4. Wir 2 am : RSA Laboratories currently recommends key sizes of 1024 bits for corporate use and 2048 bits for extremely valuable keys like the root key pair used by a certifying authority (see Question ). Several recent standards specify a 1024-bit minimum for corporate use. Dabei bedeutet key size die Bitanzahl eines Produkts n = p q für Primzahlen p und q mit jeweils der halben Länge. 19

20 beweisen nur die Fehlerschranke 1. Im Beweis benutzen wir einfache zahlentheoretische und gruppentheoretische Überlegungen. Eine herausragende Eigenschaft des 2 Miller-Rabin-Tests ist seine Ezienz. Wir werden sehen, dass selbst bei Verwendung der Schulmethoden für Multiplikation und Division die Bitkomplexität des Primzahltests nur O((log n) 3 ) ist. Bemerkung: Der Miller-Rabin-Algorithmus stammt aus dem Jahr 1977; er folgte einem kurz vorher vorgestellten anderen randomisierten Primzahltest (Solovay- Strassen-Test). Für diesen und andere randomisierte Primzahltests (z. B. Lucas-Lehmer-Test) sei auf die Literatur verwiesen. Im Jahr 2002 stellten Agarwal, Kayal und Saxena einen deterministischen Primzahltest mit polynomieller Rechenzeit vor. (Die Rechenzeit ist z. B. durch O((log n) 7,5 ) beschränkt.) Dieser Algorithmus stellte insofern einen gewaltigen Durchbruch dar, als er ein Jahrhunderte altes oenes Problem löste. Andererseits ist seine Laufzeit im Vergleich etwa zu dem hier diskutierten randomisierten Verfahren so hoch, dass nach wie vor die randomisierten Algorithmen benutzt werden, um für kryptographische Anwendungen Primzahlen zu erzeugen. Da gerade Zahlen leicht zu erkennen sind, beschränken wir im folgenden unsere Überlegungen auf ungerade Zahlen n Der Fermat-Test Wir erinnern uns an den kleinen Satz von Fermat (Fakt 5.14): n ist Primzahl und 1 a < n a n 1 mod n = 1. Wir können diese Aussage dazu benutzen, um Belege oder Zertikate dafür anzugeben, dass eine Zahl n zusammengesetzt ist: Wenn wir eine Zahl a mit 1 a < n nden, für die a n 1 mod n 1 gilt, dann ist n denitiv keine Primzahl. Denition Sei n eine ungerade Zahl. Eine Zahl a mit 1 a < n 1 heiÿt ein F-Zeuge für n, wenn a n 1 mod n 1 gilt. Wenn n zusammengesetzt ist und für a mit 1 a < n 1 die Gleichheit a n 1 mod n = 1 gilt, heiÿt a ein F-Lügner für n. Wenn a ein F-Zeuge für n ist, kann n keine Primzahl sein. Eigentlich ist a also ein Zeuge (oder Beweis oder Zertikat oder Beleg) für die Tatsache, dass n keine Primzahl ist. Wir bemerken, dass ein F-Zeuge belegt, dass es Faktoren k, l > 1 gibt mit n = k l, dass aber solche Faktoren nicht angegeben oder gefunden werden müssen. Dies wird von Primzahltests auch nicht verlangt und normalerweise auch nicht geleistet. 20

21 Vielfache von 7 7, 14, 21, 28, 35, 42, 49, 56, 63, 70, 77, 84 Vielfache von 13 13, 26, 39, 52, 65, 78 F-Zeugen in Z 91 2, 5, 6, 8, 11, 15, 18, 19, 20, 24, 31, 32, 33, 34, 37, 41, 44, 45, 46, 47, 50, 54, 57, 58, 59, 60, 67, 71, 72, 73, 76, 80, 83, 85, 86, 89 F-Lügner 1, 3, 4, 9, 10, 12, 16, 17, 22, 23, 25, 27, 29, 30, 36, 38, 40, 43, 48, 51, 53, 55, 61, 62, 64, 66, 68, 69, 74, 75, 79, 81, 82, 87, 88, 90 Tabelle 2: F-Zeugen und F-Lügner für n = 91 = 7 13 Man sieht sofort, dass 1 und n 1 immer F-Lügner sind: Es gilt 1 n 1 mod n = 1 und (n 1) n 1 ( 1) n 1 1 (mod n), weil n 1 gerade ist. Für jede zusammengesetzte Zahl n gibt es einige F-Zeugen, nämlich die Elemente von {1,..., n 1} Z n. Lemma Ist n keine Primzahl und a Z n \ Z n folgt: a ist F-Zeuge. Beweis: Wenn a n 1 mod n = 1, haben wir nach Fakt 5.4 a n 1 1 = yn für eine ganze Zahl y. Dann ist ggt(n, a) ein Teiler von 1, also muss a Z n gelten. Leider ist für manche zusammengesetzten Zahlen n die Menge {1,..., n 1} Z n äuÿerst dünn. Wenn zum Beispiel n = pq für zwei Primzahlen p und q ist, dann gilt gcd(a, n) > 1 genau dann wenn p oder q ein Teiler von a ist. Es gibt genau p + q 2 solche Zahlen a in {1,..., n 1}, was gegenüber n sehr klein ist, wenn p und q annähernd gleich groÿ sind. Ein Beispiel: n = 91 = Tabelle 2 zeigt, dass es 18 Vielfache von 7 und 13 gibt (für gröÿere p und q wird der Anteil dieser oensichtlichen F-Zeugen noch kleiner sein), und daneben weitere 36 F-Zeugen und 36 F-Lügner in {1, 2,..., 90}. In diesem Beispiel gibt es um einiges mehr F-Zeugen als F-Lügner. Wenn dies für alle zusammengesetzten Zahlen n der Fall wäre, wäre es eine elegante randomisierte Strategie, einfach zufällig nach F-Zeugen zu suchen. Dies führt zu unserem ersten Versuch für einen randomisierten Primzahltest. 21

22 Algorithmus 5.6 (Fermat-Test). Eingabe: Ungerade Zahl n 5. Methode: 1 Wähle a zufällig aus {2,..., n 2}; 2 if a n 1 mod n 1 then return 1 else return 0. Die Laufzeitanalyse liegt auf der Hand: Der teuerste Teil ist die Berechnung der Potenz a n 1 mod n durch schnelle Exponentiation, die nach den Ergebnissen von Lemma 5.17 O(log n) arithmetische Operationen und O((log n) 3 ) Bitoperationen benötigt. Weiter ist es klar, dass der Algorithmus einen F-Zeugen gefunden hat, wenn er 1 ausgibt, dass in diesem Fall also n zusammengesetzt sein muss. Umgekehrt ausgedrückt: Wenn n eine Primzahl ist, gibt der Fermat-Test garantiert 0 aus. Für n = 91 wird das falsche Ergebnis 0 ausgegeben, wenn als a einer der 34 F-Lügner auÿer 1 und 90 gewählt wird. Die Wahrscheinlichkeit hierfür ist 34 = 17 0, Für viele zusammengesetzte Zahlen n gibt es reichlich F-Zeugen, so dass der Fermat- Test für diese n mit konstanter Wahrscheinlichkeit das korrekte Ergebnis liefert. Der Beweis benutzt ein einfaches Ergebnis aus der Gruppentheorie. 3 Fakt Wenn G eine endliche Gruppe und H eine Untergruppe von G ist, dann ist H ein Teiler von G. Insbesondere gilt: Wenn H echte Untergruppe von G ist, dann gilt H 1 2 G. (Der Beweis hierfür läuft etwa so: Die Äquivalenzrelation H auf G, die durch a H b b 1 a H deniert ist, zerlegt die Menge G in Äquivalenzklassen ah = {ah h H}, die sogenannten linken Nebenklassen. Die Anzahl G : H dieser Nebenklassen heiÿt der Index von H in G. Alle diese Nebenklassen haben die gleiche Kardinalität, weil für jedes a die Funktion H h ah ah eine Bijektion zwischen H und ah ist. Daraus folgt: G = H (G : H).) Hilfreich ist noch das folgende Untergruppenkriterium für endliche Gruppen. Fakt Wenn G eine endliche Gruppe mit neutralem Element 1 ist und A eine Teilmenge von G, derart dass (i) 1 A und 3 Wir betrachten im Folgenden die Gruppe Z n mit Multiplikation modulo n als Operation und der 1 als neutralem Elment. 22

23 (ii) A unter der Gruppenoperation von G abgeschlossen ist, d. h., wenn für a, b A auch immer ab A gilt, dann ist A eine Untergruppe von G. (Zum Beweis muss man sich nur überlegen, dass für jedes a A auch das Inverse a 1 in A liegt. Das sieht man so: Weil G endlich ist, können die Elemente 1 = a 0, a, a 2, a 3,... nicht alle verschieden sein. Also gibt es i < j mit a i = a j. Dann ist a j i = 1, also a a j i 1 = 1, also a j i 1 invers zu a, und a j i 1 A wegen der Abgeschlossenheit.) Nun können wir das Verhalten des Fermat-Tests für gutmütige Eingabezahlen n analysieren. Satz Sei n 9 eine ungerade zusammengesetzte Zahl. Wenn es mindestens einen F-Zeugen a Z n gibt, dann liefert der Fermat-Test auf Eingabe n mit Wahrscheinlichkeit gröÿer als 1 die korrekte Antwort 1. 2 Beweis: In Lemma 5.26 haben wir gesehen, dass die Menge L F n = {a 1 a < n, a n 1 mod n = 1} der F-Lügner für n eine Teilmenge von Z n ist. Wir zeigen, dass L F n sogar eine Untergruppe von Z n ist. Hierzu wenden wir Fakt 5.28 an: (i) 1 L F n, weil 1 n 1 = 1; (ii) L F n ist unter der Gruppenoperation in Z n abgeschlossen, nämlich der Multiplikation modulo n, denn wenn a n 1 mod n = 1 und b n 1 mod n = 1, folgt (ab) n 1 a n 1 b n (mod n). Aus der Annahme, dass es in Z n mindestens einen F-Zeugen gibt, erhalten wir, dass L F n eine echte Untergruppe von Z n ist. Mit Fakt 5.27 folgt: L F n ϕ(n)/2 (n 2)/2. Daher ist die Wahrscheinlichkeit, dass ein aus {2,..., n 2} zufällig gewähltes a in L F n {1, n 1} liegt, höchstens wie gewünscht. (n 2)/2 2 n 3 = n 6 2(n 3) < 1 2, (6) Wie üblich verringern wir die Fehlerwahrscheinlichkeit durch Wiederholung. 23

24 Algorithmus 5.7 (Iterierter Fermat-Test). Eingabe: Ungerade Zahl n 5, eine Zahl l 1. Methode: 1 repeat l times 2 a ein zufälliges Element von {2,..., n 2}; 3 if a n 1 mod n 1 then return 1; 4 return 0. Wenn die Ausgabe 1 ist, hat der Algorithmus einen F-Zeugen für n gefunden, also ist n zusammengesetzt. D. h.: Wenn n eine Primzahl ist, ist die Ausgabe 0. Andererseits: Wenn n zusammengesetzt ist, und es mindestens einen F-Zeugen a Z n gibt, dann ist nach Satz 5.29 die Wahrscheinlichkeit für die falsche Ausgabe 0 höchstens ( 1 l 2) = 2 l. Indem wir l genügend groÿ wählen, können wir die Fehlerwahrscheinlichkeit so klein wie gewünscht einstellen. Wenn es darum geht, aus einem genügend groÿen Bereich zufällig gewählte Zahlen darauf zu testen, ob es sich um eine Primzahl handelt, dann ist der Fermat-Test eine sehr eziente und zuverlässige Methode. Wir kommen darauf im folgenden Abschnitt nochmals zurück. Wenn man allerdings über die Herkunft der zu testenden Zahl n keine Information hat und eventuell damit rechnen muss, dass jemand (ein Gegenspieler) absichtlich eine besonders schwierige Eingabe vorlegt, dann stöÿt der Fermat-Test an eine Grenze. Es gibt nämlich widerspenstige zusammengesetzte Zahlen, denen man mit diesem Test nicht beikommen kann, weil alle Elemente von Z n F-Lügner sind. Mit diesen befasst sich der folgende Abschnitt Carmichael-Zahlen Denition Eine ungerade zusammengesetzte Zahl n heiÿt eine Carmichael- Zahl, wenn für alle a Z n die Gleichung an 1 mod n = 1 gilt. Die kleinste Carmichael-Zahl ist 561 = Weitere kleine Carmichael-Zahlen sind 1105 = und 1729 = Erst im Jahr 1994 wurde bewiesen, dass es unendlich viele Carmichael-Zahlen gibt, genauer: wenn x genügend groÿ ist, dann gibt es in {n n x} mehr als x 2/7 Carmichael-Zahlen. Die aktuell beste bekannte untere Schranke ist x 1/3. Genaueres ist über den Anteil von Carmichael-Zahlen an den zusammengesetzten Zahlen nicht bekannt. (Alles deutet aber darauf hin, dass sie eher selten sind.) 24

25 Wenn wir dem Fermat-Test eine Carmichael-Zahl n als Eingabe geben, ist die Wahrscheinlichkeit für die falsche Antwort 0 genau ϕ(n) 2 ϕ(n) n 3 n = ( 1 1 ). p p prim p teilt n Diese Wahrscheinlichkeit liegt nahe an 1, wenn n nur wenige und relativ groÿe Primfaktoren hat. An solchen Carmichael-Zahlen besteht etwa im Bereich der Zahlen im Bereich [10 15, ] kein Mangel, wie ein Blick in entsprechende Tabellen zeigt. Zum Beispiel ist n = = eine Carmichael-Zahl mit ϕ(n)/n > Der Wiederholungstrick zur Wahrscheinlichkeitsverbesserung hilft hier leider auch nicht, denn wenn etwa p 0 der kleinste Primfaktor von n ist, und n nur 3 oder 4 Faktoren hat, dann sind Ω(p 0 ) Wiederholungen nötig, um die Fehlerwahrscheinlichkeit auf 1 2 zu drücken. Sobald p 0 mehr als 30 Dezimalstellen hat, ist dies undurchführbar. Für einen zuverlässigen, ezienten Primzahltest, der für alle Eingabezahlen funktioniert, müssen wir über den Fermat-Test hinausgehen. Interessanterweise ist dies praktisch ohne Ezienzverlust möglich. Für spätere Benutzung stellen wir noch eine Hilfsaussage über Carmichael-Zahlen bereit. Lemma Wenn n eine Carmichael-Zahl ist, dann ist n keine Primzahlpotenz. Beweis: Wir beweisen die Kontraposition: Wenn n = p l für eine ungerade Primzahl p und einen Exponenten l 2 ist, dann ist n keine Carmichael-Zahl. Dazu genügt es, eine Zahl a Z n anzugeben, so dass a n 1 mod n 1 ist. Wir denieren: a := p l (Wenn z. B. p = 7 und l = 3 ist, ist n = 343 und a = = 50.) Man sieht sofort, dass a < p l = n ist, und dass a nicht von p geteilt wird, also a und n teilerfremd sind; also ist a Z n. Nun rechnen wir modulo n, mit der binomischen Formel: a n 1 (p l 1 + 1) n 1 ( ) n 1 (p l 1 ) j (7) j 0 j n (p l 1) p l 1 (mod n). 25

26 (Die letzte Äquivalenz ergibt sich daraus, dass für j 2 gilt, dass (l 1)j l ist, also der Faktor (p l 1 ) j = p (l 1)j durch n = p l teilbar ist, also modulo n wegfällt.) Nun ist p l 1 nicht durch p teilbar, also ist (p l 1) p l 1 nicht durch n = p l teilbar. Damit folgt aus (7), dass a n 1 1 (mod n) ist, also a n 1 mod n 1. Folgerung: Jede Carmichael-Zahl n lässt sich als n = n 1 n 2 schreiben, wo n 1 und n 2 teilerfremde ungerade Zahlen 3 sind. (Eine etwas genauere Untersuchung, die wir hier aber nicht benötigen, ergibt, dass die Primfaktoren einer Carmichael-Zahl n alle verschieden sein müssen, und dass n mindestens drei Primfaktoren haben muss. Aus dieser Tatsache kann man entnehmen, dass Carmichael-Zahlen eher selten sind.) Nichttriviale Quadratwurzeln der 1 Aus Abschnitt 5.2, Lemma 5.20, wissen wir, dass für jede Primzahl p gilt: b 2 mod p = 1 b {1, p 1}. Diese Eigenschaft lässt sich in ein weiteres Zertikat für zusammengesetzte Zahlen ummünzen: Wenn es ein b {2,..., n 2} gibt, das b 2 mod n = 1 erfüllt, dann ist n zusammengesetzt. Zahlen b {2,..., n 2} mit b 2 mod n = 1 heiÿen nichttriviale Quadratwurzeln der 1 modulo n. Solche Zahlen gibt es nur, wenn n zusammengesetzt ist. Beispielsweise sind die Zahlen 1, 27, 64 und 90 genau die Quadratwurzeln der 1 modulo 91; davon sind 27 und 64 nichttrivial. Allgemeiner sieht man mit der Verallgemeinerung von Fakt 5.16 (Chinesischer Restsatz) auf r Faktoren leicht ein, dass es für ein Produkt n = p 1 p r aus verschiedenen ungeraden Primzahlen p 1,..., p r genau 2 r Quadratwurzeln der 1 modulo n gibt, nämlich die Zahlen b, 0 b < n, die b mod p j {1, p j 1}, 1 j r, erfüllen. Wenn n nicht sehr viele verschiedene Primfaktoren hat, ist es also aussichtslos, einfach zufällig gewählte b's darauf zu testen, ob sie vielleicht nichttriviale Quadratwurzeln der 1 sind. Dennoch wird uns dieser Begri bei der Formulierung eines ezienten Primzahltests helfen Der Miller-Rabin-Test Wir kehren nochmals zum Fermat-Test zurück und sehen uns die dort durchgeführte Exponentiation a n 1 mod n etwas genauer an. Die Zahl n 1 ist gerade, daher kann 26

27 a b 0 = a 81 b 1 = a 162 b 2 = a 324 F-Z.? A-Z.? Tabelle 3: Potenzen a n 1 mod n mit Zwischenschritten, n = 325 man sie als n 1 = u 2 k schreiben, für eine ungerade Zahl u und ein k 1. Dann gilt a n 1 ((a u ) mod n) 2k mod n, und wir können a n 1 mod n mit k + 1 Zwischenschritten berechnen: Mit b 0 = a u mod n; b i = (b 2 i 1) mod n, für i = 1,..., k, ist b k = a n 1 mod n. Beispielsweise erhalten wir für n = 325 = den Wert n 1 = 324 = In Tabelle 3 berechnen wir a 81, a 162 und a 324, alle modulo 325, für verschiedene a. Wir sehen, dass 2 ein F-Zeuge für 325 ist, der in Z 325 liegt, und dass 65 ein F-Zeuge ist, der nicht in Z 325 liegt. Dagegen sind 7, 32, 49, 126, 201 und 224 alles F-Lügner für 325. Wenn wir aber mod 325 mit zwei Zwischenschritten berechnen, dann entdecken wir, dass 51 eine nichttriviale Quadratwurzel der 1 ist, was beweist, dass 325 keine Primzahl ist. Ähnlich liefert die Berechnung mit Basis 224, dass 274 eine nichttriviale Quadratwurzel der 1 ist. Die entsprechenden Berechnungen mit 7, 32 und 49 dagegen liefern keine weiteren Informationen, weil (mod 325) und (mod 325) gilt. Auch die Berechnung der Potenzen von 126 liefert keine nichttriviale Quadratwurzel der 1, weil mod 325 = 1 gilt. Wie kann die Folge b 0,..., b k überhaupt aussehen? Wenn b i = 1 or b i = n 1, dann sind b i+1,..., b k alle gleich 1. Daher beginnt die Folge b 0,..., b k mit einer (eventuell leeren) Folge von Elementen / {1, n 1} und endet mit einer (eventuell leeren) 27

28 b 0 b 1 b k 1 b k Fall F-Z.? A-Z.? n a n b n a 1 4b Tabelle 4: Potenzen a n 1 mod n berechnet mit Zwischenschritten, mögliche Fälle. Folge von Einsen. Diese beiden Teile können von einem Eintrag n 1 getrennt sein; dies muss aber nicht so sein. Alle möglichen Muster sind in Tabelle 4 angegeben. Dabei steht für ein Element / {1, n 1}. Es ergeben sich 4 Fälle, mit einigen Unterfällen: Fall 1: b 0 = 1. Alle b i sind gleich 1. Fall 2a: b 0 = n 1. Alle b i mit 0 < i k sind gleich 1. Fall 2b: b 0 / {1, n 1}, aber es gibt ein i {1,..., k 1} mit b i = n 1. Dann gilt b i+1 = = b k = 1. In den Fällen 1, 2a und 2b gilt b k = 1, also hilft der kleine Satz von Fermat nicht weiter. Die Folge (b 0,..., b k ) enthält aber auch keine nichttriviale Quadratwurzel der 1. Es ergibt sich aus der Rechnung kein Hinweis darauf, dass n zusammengesetzt ist. Wenn n eine Primzahl ist, muss einer dieser Fälle eintreten. Fall 3: b k 1. Dann ist n zusammengesetzt, weil a ein F-Zeuge für n ist. (Es spielt keine Rolle, ob b k = n 1 ist oder nicht.) Alle Werte b 0,..., b k 1 müssen dann von 1 und n 1 verschieden sein. Fall 4: b 0 / {1, n 1}, aber es gibt ein i < k mit b i / {1, n 1} und b i+1 = 1. Dann ist b i eine nichttriviale Quadratwurzel der 1 modulo n und damit ein Zertikat dafür, dass n zusammengesetzt ist. (Fall 4b stellt den Sonderfall i = k 1 dar.) In den Fällen 3 und 4 stellt die Zahl a (und seine Potenzen b 0,..., b k ) einen Beleg dafür dar, dass n keine Primzahl ist. Diejenigen a {1,..., n 1}, die zu Fall 3 oder Fall 4 führen, lassen sich wie folgt charakterisieren: 28

29 ( ) b 0 1, und n 1 erscheint nicht in der Folge b 0,..., b k 1. Man beachte, dass das letzte Folgenglied b k keine Rolle spielt. (Es ist daher nur konsequent, dass es im späteren Algorithmus nicht einmal berechnet wird.) Die a, die ( ) erfüllen, sind Beleg dafür, dass n zusammengesetzt ist. Dies führt zu folgender Denition. Denition Sei n 3 ungerade. Wir schreiben n 1 = u 2 k, für u ungerade, k 1. Eine Zahl a, 1 a < n, heiÿt ein A-Zeuge für n, wenn a u mod n 1 und a u 2i mod n n 1 für alle i mit 0 i < k gilt (Fälle 3 und 4). Wenn n zusammengesetzt ist und a, 1 a < n, kein A-Zeuge ist, dann heiÿt a ein A-Lügner für n (Fälle 1 und 2). Die Menge der A-Lügner heiÿt L A n. Aus der obigen Diskussion der möglichen Fälle folgert man leicht folgende Beobachtungen. Lemma Sei n 3 ungerade. (a) Wenn a ein F-Zeuge für n ist, dann ist a auch ein A-Zeuge. (b) Wenn es einen A-Zeugen a für n gibt, dann ist n zusammengesetzt. Beweis: Sei 1 a < n und sei b 0,..., b k die zugehörige Folge a u 2i mod n, 0 i k. (a) Wenn a ein F-Zeuge für n ist, dann gilt b k 1, und daher tritt Fall 3 oder Fall 4b ein. Damit ist a auch ein A-Zeuge für n. (b) Sei a ein A-Zeuge für n. Dann trit auf die Folge (b 0,..., b k ) Fall 3 oder Fall 4 zu. Wir haben oben schon gesehen, dass dann n eine zusammengesetzte Zahl sein muss. Der Miller-Rabin-Test besteht nun einfach darin, ein aus {2,..., n 2} zufällig gewähltes a darauf zu testen, ob a ein A-Zeuge ist. Historisch hat schon der russische Mathematiker M. Artjuhov 1966 vorgeschlagen, die Folge b i = a u 2i mod n, 0 i k, in einem Primzahltest für n zu benutzen. Im Jahr 1976 stellte G. M. Miller einen deterministischen Algorithmus vor, der auf dieser Idee beruhte. Er testete die kleinsten O((log n) 2 ) Elemente a {2, 3,..., n 1} auf die Eigenschaft, A-Zeugen zu sein. Der Algorithmus hat polynomielle Laufzeit und liefert das korrekte Ergebnis, wenn die erweiterte Riemannsche Vermutung (ERH) stimmt, eine berühmte Vermutung aus der Zahlentheorie, die bis heute unbewiesen ist. Um 1980 schlugen M. Rabin und (unabhängig) L. Monier vor, Millers Algorithmus so zu modizieren, dass die zu testende Zahl a zufällig gewählt wird, und bewiesen, dass 29

30 dieser Algorithmus konstante Fehlerwahrscheinlichkeit haben wird. Der Algorithmus heiÿt heute allgemein der Miller-Rabin-Test. Der Test selbst ist leicht und sehr ezient durchführbar: Man berechnet zunächst b 0 = a u mod n und testet, ob b 0 {1, n 1} ist. Falls ja, trit Fall 1 oder Fall 2a zu, die Ausgabe ist 0. Falls nein, berechnet man durch iteriertes Quadrieren nacheinander die Werte b 1, b 2,..., bis entweder der Wert n 1 auftaucht (Fall 2b, Ausgabe 0) oder der Wert 1 auftaucht (Fall 4a, a ist A-Zeuge, Ausgabe 1) oder b 1,..., b k 1 berechnet worden sind, ohne dass Werte n 1 oder 1 vorgekommen sind (Fall 3 oder 4b, a ist A-Zeuge, Ausgabe 1). In Pseudocode sieht das Verfahren dann folgendermaÿen aus: Algorithmus 5.8 (Der Miller-Rabin-Primzahltest). Eingabe: Eine ungerade Zahl n 5. Methode: 1 Bestimme u ungerade und k 1 mit n 1 = u 2 k ; 2 wähle zufällig ein a aus {2,..., n 2}; 3 b a u mod n; ( mit schnellem Potenzieren ) 4 if b {1, n 1} then return 0; ( Fall 1 oder 2a ) 5 for j from 1 to k 1 do ( wiederhole (k 1)-mal ) 6 b b 2 mod n; 7 if b = n 1 then return 0; ( Fall 2b ) 8 if b = 1 then return 1; ( Fall 4a ) 9 return 1. ( Fall 3 oder 4b ) Wie steht es mit der Laufzeit des Algorithmus? Man benötigt höchstens log n Divisionen durch 2, um u und k zu nden. (Zeile 1). (Wenn man benutzt, dass n normalerweise in Binärdarstellung gegeben sein wird, ist die Sache noch einfacher: k ist die Zahl der Nullen, mit der die Binärdarstellung von n 1 aufhört, u ist die Zahl, die durch den Binärstring ohne diese letzten Nullen dargestellt wird.) Die Berechnung von a u mod n mit schneller Exponentiation 3 benötigt O(log n) arithmetische Operationen und O((log n) 3 ) Bitoperationen (mit der Schulmethode für Multiplikation und Division). Die Schleife in Zeilen 58 wird höchstens k-mal durchlaufen; oenbar 30

Oft kommt es darauf an, Potenzen a n mod m zu berechnen. Dabei kann n eine sehr groÿe Zahl sein.

Oft kommt es darauf an, Potenzen a n mod m zu berechnen. Dabei kann n eine sehr groÿe Zahl sein. Oft kommt es darauf an, Potenzen a n mod m zu berechnen. Dabei kann n eine sehr groÿe Zahl sein. 3 1384788374932954500363985493554603584759389 mod 28374618732464817362847326847331872341234 Wieso kann ein

Mehr

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Stefan Lucks Diskrete Strukturen (WS 2009/10) 57 2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Uhr: Stunden mod 24, Minuten mod 60, Sekunden mod 60,... Rechnerarithmetik: mod 2 w, w {8, 16, 32,

Mehr

Probabilistische Primzahltests

Probabilistische Primzahltests Probabilistische Primzahltests Daniel Tanke 11. Dezember 2007 In dieser Arbeit wird ein Verfahren vorgestellt, mit welchem man relativ schnell testen kann, ob eine ganze Zahl eine Primzahl ist. Für einen

Mehr

Lenstras Algorithmus für Faktorisierung

Lenstras Algorithmus für Faktorisierung Lenstras Algorithmus für Faktorisierung Bertil Nestorius 9 März 2010 1 Motivation Die schnelle Faktorisierung von Zahlen ist heutzutage ein sehr wichtigen Thema, zb gibt es in der Kryptographie viele weit

Mehr

Praktikum Diskrete Optimierung (Teil 11) 17.07.2006 1

Praktikum Diskrete Optimierung (Teil 11) 17.07.2006 1 Praktikum Diskrete Optimierung (Teil 11) 17.07.2006 1 1 Primzahltest 1.1 Motivation Primzahlen spielen bei zahlreichen Algorithmen, die Methoden aus der Zahlen-Theorie verwenden, eine zentrale Rolle. Hierzu

Mehr

Der Zwei-Quadrate-Satz von Fermat

Der Zwei-Quadrate-Satz von Fermat Der Zwei-Quadrate-Satz von Fermat Proseminar: Das BUCH der Beweise Fridtjof Schulte Steinberg Institut für Informatik Humboldt-Universität zu Berlin 29.November 2012 1 / 20 Allgemeines Pierre de Fermat

Mehr

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens Mathematische Grundlagen der Kryptographie 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe Stefan Brandstädter Jennifer Karstens 18. Januar 2005 Inhaltsverzeichnis 1 Ganze Zahlen 1 1.1 Grundlagen............................

Mehr

3 Das RSA-Kryptosystem

3 Das RSA-Kryptosystem Stand: 15.12.2014 Vorlesung Grundlagen und Methoden der Kryptographie Dietzfelbinger 3 Das RSA-Kryptosystem RSA: Erfunden von Ronald L. Rivest, Adi Shamir und Leonard Adleman, 1977. (Ein ähnliches Verfahren

Mehr

Primzahlzertifikat von Pratt

Primzahlzertifikat von Pratt Primzahlzertifikat von Pratt Daniela Steidl TU München 17. 04. 2008 Primzahltests in der Informatik "Dass das Problem, die Primzahlen von den Zusammengesetzten zu unterscheiden und letztere in ihre Primfaktoren

Mehr

RSA-Verschlüsselung. von Johannes Becker Gießen 2006/2008

RSA-Verschlüsselung. von Johannes Becker Gießen 2006/2008 RSA-Verschlüsselung von Johannes Becker Gießen 2006/2008 Zusammenfassung Es wird gezeigt, wieso das nach Ronald L. Rivest, Adi Shamir und Leonard Adleman genannte RSA-Krptosstem funktioniert, das mittlerweile

Mehr

Kapitel 4. Euklidische Ringe und die Jordansche Normalform. 4.1 Euklidische Ringe

Kapitel 4. Euklidische Ringe und die Jordansche Normalform. 4.1 Euklidische Ringe Kapitel 4 Euklidische Ringe und die Jordansche Normalform 4.1 Euklidische Ringe Die Ringe der ganzen Zahlen, Z, sowie Polynomringe über Körpern, K[X], wobei K ein Körper ist, haben die folgenden Gemeinsamheiten:

Mehr

RSA Verfahren. Kapitel 7 p. 103

RSA Verfahren. Kapitel 7 p. 103 RSA Verfahren RSA benannt nach den Erfindern Ron Rivest, Adi Shamir und Leonard Adleman war das erste Public-Key Verschlüsselungsverfahren. Sicherheit hängt eng mit der Schwierigkeit zusammen, große Zahlen

Mehr

Faktorisierung ganzer Zahlen mittels Pollards ρ-methode (1975)

Faktorisierung ganzer Zahlen mittels Pollards ρ-methode (1975) Dass das Problem, die Primzahlen von den zusammengesetzten zu unterscheiden und letztere in ihre Primfaktoren zu zerlegen zu den wichtigsten und nützlichsten der ganzen Arithmetik gehört und den Fleiss

Mehr

Einführung in Computer Microsystems

Einführung in Computer Microsystems Einführung in Computer Microsystems Kapitel 9 Entwurf eines eingebetteten Systems für Anwendungen in der IT-Sicherheit Prof. Dr.-Ing. Sorin A. Huss Fachbereich Informatik Integrierte Schaltungen und Systeme

Mehr

vom ggt zu gpg Lars Fischer 1 30.05.2012 Die Mathematik von RSA Lars Fischer Intro Mathematik RSA Anhang 1 lars.scher (bei) gmx-topmail.

vom ggt zu gpg Lars Fischer 1 30.05.2012 Die Mathematik von RSA Lars Fischer Intro Mathematik RSA Anhang 1 lars.scher (bei) gmx-topmail. von Beweis von vom ggt zu gpg 1 30.05.2012 1 lars.scher (bei) gmx-topmail.de Inhaltsverzeichnis von Beweis 1 Einführung 2 von Rechnen mit n Beispiele & Regeln Der gröÿte gemeinsame Teiler Der euklidische

Mehr

11. Primfaktorzerlegungen

11. Primfaktorzerlegungen 78 Andreas Gathmann 11 Primfaktorzerlegungen Euch ist sicher aus der Schule bekannt, dass sich jede positive ganze Zahl a als Produkt a = p 1 p n von Primzahlen schreiben lässt, und dass diese Darstellung

Mehr

Abschnitt: Algorithmendesign und Laufzeitanalyse

Abschnitt: Algorithmendesign und Laufzeitanalyse Abschnitt: Algorithmendesign und Laufzeitanalyse Definition Divide-and-Conquer Paradigma Divide-and-Conquer Algorithmen verwenden die Strategien 1 Divide: Teile das Problem rekursiv in Subproblem gleicher

Mehr

Was bisher geschah Kryptographische Systeme (M, C, K, e, d) Verfahren: symmetrisch klassisch: Verschiebechiffren (Spezialfall Caesar-Code)

Was bisher geschah Kryptographische Systeme (M, C, K, e, d) Verfahren: symmetrisch klassisch: Verschiebechiffren (Spezialfall Caesar-Code) Was bisher geschah Kryptographische Systeme (M, C, K, e, d) Verfahren: symmetrisch klassisch: Verschiebechiffren (Spezialfall Caesar-Code) Multiplikative Chiffren monoalphabetische Substitutions-Chiffren:

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 13 Einheiten Definition 13.1. Ein Element u in einem Ring R heißt Einheit, wenn es ein Element v R gibt mit uv = vu = 1. DasElementv

Mehr

Modul Diskrete Mathematik WiSe 2011/12

Modul Diskrete Mathematik WiSe 2011/12 1 Modul Diskrete Mathematik WiSe 2011/12 Ergänzungsskript zum Kapitel 4.2. Hinweis: Dieses Manuskript ist nur verständlich und von Nutzen für Personen, die regelmäßig und aktiv die zugehörige Vorlesung

Mehr

Kongruenzrechnung. 2 Kongruenzrechnung 7 2.1 Rechnenregeln Addition und Multiplikation... 7 2.2 Rechenregeln bzgl. verschiedener Moduln...

Kongruenzrechnung. 2 Kongruenzrechnung 7 2.1 Rechnenregeln Addition und Multiplikation... 7 2.2 Rechenregeln bzgl. verschiedener Moduln... Kongruenzrechnung Inhaltsverzeichnis 1 Einführung und Definitionen 2 1.1 Einige Beispiele aus dem Alltag..................... 2 1.2 Kongruenzrechnung im Alltag und Rechenproben........... 3 1.3 Kongruenzen

Mehr

Q(n) = n 0 +n 1 +n 2 +...+n k.

Q(n) = n 0 +n 1 +n 2 +...+n k. 25 2 Kongruenzen Mit Hilfe der hier definierten Kongruenz können Aussagen über Teilbarkeit einfacher formuliert und bewiesen werden, und man erhält eine Differenzierung der Zahlen, die bezüglich einer

Mehr

Algebra. Patrik Hubschmid. 8. Oktober 2013

Algebra. Patrik Hubschmid. 8. Oktober 2013 Algebra Patrik Hubschmid 8. Oktober 2013 Inhaltsverzeichnis 1 Fortführung der Gruppentheorie 7 1.1 Sylowsätze.................................... 7 3 Vorwort Dieses Skript zur Vorlesung Algebra im Wintersemester

Mehr

Lösungsblatt zur Vorlesung. Kryptanalyse WS 2009/2010. Blatt 6 / 23. Dezember 2009 / Abgabe bis spätestens 20. Januar 2010, 10 Uhr (vor der Übung)

Lösungsblatt zur Vorlesung. Kryptanalyse WS 2009/2010. Blatt 6 / 23. Dezember 2009 / Abgabe bis spätestens 20. Januar 2010, 10 Uhr (vor der Übung) Ruhr-Universität Bochum Lehrstuhl für Kryptologie und IT-Sicherheit Prof. Dr. Alexander May Mathias Herrmann, Alexander Meurer Lösungsblatt zur Vorlesung Kryptanalyse WS 2009/2010 Blatt 6 / 23. Dezember

Mehr

Mathematik und Logik

Mathematik und Logik Mathematik und Logik 6. Übungsaufgaben 2006-01-24, Lösung 1. Berechnen Sie für das Konto 204938716 bei der Bank mit der Bankleitzahl 54000 den IBAN. Das Verfahren ist z.b. auf http:// de.wikipedia.org/wiki/international_bank_account_number

Mehr

Elementare Zahlentheorie

Elementare Zahlentheorie Elementare Zahlentheorie Prof. Dr. L. Kramer WWU Münster, Sommersemester 2009 Vorlesungsmitschrift von Christian Schulte zu Berge 27. Juli 2009 Inhaltsverzeichnis 1 Primzerlegung 3 1.1 Grundlagen.............................................

Mehr

Zahlentheorie. Daniel Scholz im Winter 2006 / 2007. Überarbeitete Version vom 7. September 2007.

Zahlentheorie. Daniel Scholz im Winter 2006 / 2007. Überarbeitete Version vom 7. September 2007. Zahlentheorie Daniel Scholz im Winter 2006 / 2007 Überarbeitete Version vom 7. September 2007. Inhaltsverzeichnis 1 Einleitung und Grundlagen 4 1.1 Einleitung............................. 4 1.2 Zahlensysteme..........................

Mehr

Ferienakademie 2001: Kryptographie und Sicherheit offener Systeme. Faktorisierung. Stefan Büttcher stefan@buettcher.org

Ferienakademie 2001: Kryptographie und Sicherheit offener Systeme. Faktorisierung. Stefan Büttcher stefan@buettcher.org Ferienakademie 2001: Kryptographie und Sicherheit offener Systeme Faktorisierung Stefan Büttcher stefan@buettcher.org 1 Definition. (RSA-Problem) Gegeben: Ò ÔÕ, ein RSA-Modul mit unbekannten Primfaktoren

Mehr

7 Rechnen mit Polynomen

7 Rechnen mit Polynomen 7 Rechnen mit Polynomen Zu Polynomfunktionen Satz. Zwei Polynomfunktionen und f : R R, x a n x n + a n 1 x n 1 + a 1 x + a 0 g : R R, x b n x n + b n 1 x n 1 + b 1 x + b 0 sind genau dann gleich, wenn

Mehr

Randomisierte Primzahltests Paul Gamper

Randomisierte Primzahltests Paul Gamper Randomisierte Primzahltests Paul Gamper Seminar im Wintersemester 2006/07 Probability and Randomization in Computer Science 07.02.2007, Aachen 1 Abstract Nach einer Einführung, in der ich kurz auf die

Mehr

Elementare Kryptographie

Elementare Kryptographie Universität Paderborn Fakultät für Elektrotechnik, Informatik und Mathematik Institut für Mathematik Elementare Kryptographie Kai Gehrs gehrs@mupad.de Paderborn, 9. Juli 2007 Inhaltsverzeichnis Grundlagen:

Mehr

Kleiner Satz von Fermat

Kleiner Satz von Fermat Kleiner Satz von Fermat Satz Kleiner Satz von Fermat Sei p P. Dann gilt a p a mo p für alle a Z. Wir führen zunächst eine Inuktion für a 0 urch. IA a = 0: 0 p 0 mo p. IS a a+1: Nach vorigem Lemma gilt

Mehr

Elementare Zahlentheorie (Version 1)

Elementare Zahlentheorie (Version 1) Elementare Zahlentheorie (Version (Winter Semester, 2005-6 Zur Notation N ist die Menge der natürlichen Zahlen:, 2, 3, 4, 5,... und so weiter. Z ist die Menge aller ganzen Zahlen:..., 4, 3, 2,, 0,, 2,

Mehr

Anhang I zur Vorlesung Kryptologie: Elementare Zahlentheorie

Anhang I zur Vorlesung Kryptologie: Elementare Zahlentheorie Anhang I zur Vorlesung Kryptologie: Elementare Zahlentheorie von Peter Hellekalek Fakultät für Mathematik, Universität Wien, und Fachbereich Mathematik, Universität Salzburg Tel: +43-(0)662-8044-5310 Fax:

Mehr

Einleitung Shor s Algorithmus Anhang. Thomas Neder. 19. Mai 2009

Einleitung Shor s Algorithmus Anhang. Thomas Neder. 19. Mai 2009 19. Mai 2009 Einleitung Problemstellung Beispiel: RSA Teiler von Zahlen und Periode von Funktionen Klassischer Teil Quantenmechanischer Teil Quantenfouriertransformation Algorithmus zur Suche nach Perioden

Mehr

5.1 Drei wichtige Beweistechniken... 55 5.2 Erklärungen zu den Beweistechniken... 56

5.1 Drei wichtige Beweistechniken... 55 5.2 Erklärungen zu den Beweistechniken... 56 5 Beweistechniken Übersicht 5.1 Drei wichtige Beweistechniken................................. 55 5. Erklärungen zu den Beweistechniken............................ 56 Dieses Kapitel ist den drei wichtigsten

Mehr

Zusatztutorium, 25.01.2013

Zusatztutorium, 25.01.2013 Zusatztutorium, 25.01.2013 David Müßig muessig[at]mi.fu-berlin.de http://page.mi.fu-berlin.de/def/tutorium/ WiSe 12/13 1 Der Homomorphiesatz Der Homomorphiesatz scheint für viele eine Art rotes Tuch zu

Mehr

Vorlesung. 1 Zahlentheorie in Z. Leitfaden. 1.1 Teilbarkeit. Angela Holtmann. Algebra und Zahlentheorie. (natürliche Zahlen ohne die Null)

Vorlesung. 1 Zahlentheorie in Z. Leitfaden. 1.1 Teilbarkeit. Angela Holtmann. Algebra und Zahlentheorie. (natürliche Zahlen ohne die Null) Algebra und Zahlentheorie Vorlesung Algebra und Zahlentheorie Leitfaden 1 Zahlentheorie in Z Bezeichnungen: Z := {..., 3, 2, 1, 0, 1, 2, 3,...} (ganze Zahlen) und N := {1, 2, 3,...} (natürliche Zahlen

Mehr

Pratts Primzahlzertifikate

Pratts Primzahlzertifikate Pratts Primzahlzertifikate Markus Englert 16.04.2009 Technische Universität München Fakultät für Informatik Proseminar: Perlen der Informatik 2 SoSe 2009 Leiter: Prof. Dr. Nipkow 1 Primzahltest Ein Primzahltest

Mehr

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

Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009 Das RSA-Verfahren Armin Litzel Proseminar Kryptographische Protokolle SS 2009 1 Einleitung RSA steht für die drei Namen Ronald L. Rivest, Adi Shamir und Leonard Adleman und bezeichnet ein von diesen Personen

Mehr

DLP. Adolphe Kankeu Tamghe papibobo@informatik.uni-bremen.de ALZAGK SEMINAR. Bremen, den 18. Januar 2011. Fachbereich Mathematik und Informatik 1 / 27

DLP. Adolphe Kankeu Tamghe papibobo@informatik.uni-bremen.de ALZAGK SEMINAR. Bremen, den 18. Januar 2011. Fachbereich Mathematik und Informatik 1 / 27 DLP Adolphe Kankeu Tamghe papibobo@informatik.uni-bremen.de Fachbereich Mathematik und Informatik ALZAGK SEMINAR Bremen, den 18. Januar 2011 1 / 27 Inhaltsverzeichnis 1 Der diskrete Logarithmus Definition

Mehr

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema

Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema Division Für diesen Abschnitt setzen wir voraus, dass der Koeffizientenring ein Körper ist. Betrachte das Schema 2x 4 + x 3 + x + 3 div x 2 + x 1 = 2x 2 x + 3 (2x 4 + 2x 3 2x 2 ) x 3 + 2x 2 + x + 3 ( x

Mehr

Computeralgebra in der Lehre am Beispiel Kryptografie

Computeralgebra in der Lehre am Beispiel Kryptografie Kryptografie Grundlagen RSA KASH Computeralgebra in der Lehre am Beispiel Kryptografie Institut für Mathematik Technische Universität Berlin Kryptografie Grundlagen RSA KASH Überblick Kryptografie mit

Mehr

Es gibt einen Algorithmus, der mit polynomialem Aufwand auskommt.

Es gibt einen Algorithmus, der mit polynomialem Aufwand auskommt. 3 Primzahltests Eine Frage ist zur Durchführbarkeit des RSA-Verfahrens noch zu klären: Gibt es überhaupt Möglichkeiten, die für die Schlüsselerzeugung nötigen Primzahlen zu finden? Die Antwort wird lauten:

Mehr

Primzahltests G abor SAS 2002-2008

Primzahltests G abor SAS 2002-2008 Primzahltests Gábor SAS 2002-2008 Inhaltsverzeichnis 1 Einleitung und Geschichte 4 1.1 Der Primzahlbegriff.......................... 4 1.2 Sieb von Eratosthenes........................ 5 1.3 Feststellung

Mehr

Das RSA-Kryptosystem

Das RSA-Kryptosystem www.mathematik-netz.de Copyright, Page 1 of 12 Das RSA-Kryptosystem Um dieses Dokument verstehen zu können benötigt der Leser nur grundlegende Kenntnisse der Algebra und ein gewisses mathematisches Verständnis.

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

3.1. Die komplexen Zahlen

3.1. Die komplexen Zahlen 3.1. Die komplexen Zahlen Es gibt viele Wege, um komplexe Zahlen einzuführen. Wir gehen hier den wohl einfachsten, indem wir C R als komplexe Zahlenebene und die Punkte dieser Ebene als komplexe Zahlen

Mehr

Wie kann man beweisen, dass (H, ) eine Gruppe ist?

Wie kann man beweisen, dass (H, ) eine Gruppe ist? Wie kann man beweisen, dass (H, ) eine Gruppe ist? Wie kann man beweisen, dass (H, ) eine Gruppe ist? (zb wenn die Multiplikation mit Hilfe einer Tabelle gegeben ist) Wie kann man beweisen, dass (H, )

Mehr

Das P versus N P - Problem

Das P versus N P - Problem Das P versus N P - Problem Dr. Michael Huber Habilitationsvortrag eines der sieben Milleniumsprobleme des Clay Mathematics Institute A gift to Mathematics from Computer Science (Steve Smale) Überblick

Mehr

Probabilistische Primzahlensuche. Marco Berger

Probabilistische Primzahlensuche. Marco Berger Probabilistische Primzahlensuche Marco Berger April 2015 Inhaltsverzeichnis Inhaltsverzeichnis 1 Einleitung 4 1.1 Definition Primzahl................................ 4 1.2 Primzahltest...................................

Mehr

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c)

5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) 5.2 Das All-Pairs-Shortest-Paths-Problem (APSP-Problem) Kürzeste Wege zwischen allen Knoten. Eingabe: Gerichteter Graph G =(V, E, c) mit V = {1,...,n} und E {(v, w) 1 apple v, w apple n, v 6= w}. c : E!

Mehr

ax 2 + bx + c = 0, (4.1)

ax 2 + bx + c = 0, (4.1) Kapitel 4 Komplexe Zahlen Wenn wir uns auf die reellen Zahlen beschränken, ist die Operation des Wurzelziehens (also die Umkehrung der Potenzierung) nicht immer möglich. Zum Beispiel können wir nicht die

Mehr

Teilbarkeit von natürlichen Zahlen

Teilbarkeit von natürlichen Zahlen Teilbarkeit von natürlichen Zahlen Teilbarkeitsregeln: Die Teilbarkeitsregeln beruhen alle darauf, dass man von einer Zahl einen grossen Teil wegschneiden kann, von dem man weiss, dass er sicher durch

Mehr

GF(2 2 ) Beispiel eines Erweiterungskörpers (1)

GF(2 2 ) Beispiel eines Erweiterungskörpers (1) GF(2 2 ) Beispiel eines Erweiterungskörpers (1) Im Kapitel 2.1 wurde bereits gezeigt, dass die endliche Zahlenmenge {0, 1, 2, 3} q = 4 nicht die Eigenschaften eines Galoisfeldes GF(4) erfüllt. Vielmehr

Mehr

Minimale Darstellungen, Kommutator- und Fixräume, projektive Geometrie

Minimale Darstellungen, Kommutator- und Fixräume, projektive Geometrie Notation Die in dieser Arbeit verwendete Notation ist im Wesentlichen Standard, so wie sie beispielsweise in [As] zu nden ist. Einige Abweichungen hiervon, Klarstellungen und zusätzliche Notationen (sofern

Mehr

10. Public-Key Kryptographie

10. Public-Key Kryptographie Stefan Lucks 10. PK-Krypto 274 orlesung Kryptographie (SS06) 10. Public-Key Kryptographie Analyse der Sicherheit von PK Kryptosystemen: Angreifer kennt öffentlichen Schlüssel Chosen Plaintext Angriffe

Mehr

Euklidischer Algorithmus, Restklassenring und seine Struktur, Chinesischer Restklassensatz

Euklidischer Algorithmus, Restklassenring und seine Struktur, Chinesischer Restklassensatz Tobias Kraushaar Kaiserstr. 178 44143 Dortmund Matr.- Nr.: 122964 Euklidischer Algorithmus, Restklassenring und seine Struktur, Chinesischer Restklassensatz 1. EINLEITUNG... 2 2. HAUPTTEIL... 3 2.1. Der

Mehr

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung.

Die Gleichung A x = a hat für A 0 die eindeutig bestimmte Lösung. Für A=0 und a 0 existiert keine Lösung. Lineare Gleichungen mit einer Unbekannten Die Grundform der linearen Gleichung mit einer Unbekannten x lautet A x = a Dabei sind A, a reelle Zahlen. Die Gleichung lösen heißt, alle reellen Zahlen anzugeben,

Mehr

Elemente der Analysis II

Elemente der Analysis II Elemente der Analysis II Kapitel 3: Lineare Abbildungen und Gleichungssysteme Informationen zur Vorlesung: http://www.mathematik.uni-trier.de/ wengenroth/ J. Wengenroth () 15. Mai 2009 1 / 35 3.1 Beispiel

Mehr

Das Briefträgerproblem

Das Briefträgerproblem Das Briefträgerproblem Paul Tabatabai 30. Dezember 2011 Inhaltsverzeichnis 1 Problemstellung und Modellierung 2 1.1 Problem................................ 2 1.2 Modellierung.............................

Mehr

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt

x 2 2x + = 3 + Es gibt genau ein x R mit ax + b = 0, denn es gilt - 17 - Die Frage ist hier also: Für welche x R gilt x = x + 1? Das ist eine quadratische Gleichung für x. Es gilt x = x + 1 x x 3 = 0, und man kann quadratische Ergänzung machen:... ( ) ( ) x x + = 3 +

Mehr

Vorlesung. Komplexe Zahlen

Vorlesung. Komplexe Zahlen Vorlesung Komplexe Zahlen Motivation Am Anfang der Entwicklung der komplexen Zahlen stand ein algebraisches Problem: die Bestimmung der Lösung der Gleichung x 2 + 1 = 0. 1 Mit der Lösung dieses Problems

Mehr

Abiturvorbereitung Mathematik -Dierentialrechnungc Max. Hoffmann

Abiturvorbereitung Mathematik -Dierentialrechnungc Max. Hoffmann Abiturvorbereitung Mathematik -Dierentialrechnungc Max Hoffmann 1 Ganzrationale Funktionen Im Folgenden wollen wir uns mit ganzrationale Funktionen und der Untersuchung solcher beschäftigen. Dabei werden

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Algorithmen und deren Programmierung Prof. Dr. Nikolaus Wulff Definition Algorithmus Ein Algorithmus ist eine präzise formulierte Handlungsanweisung zur Lösung einer gleichartigen

Mehr

Übungsbuch Algebra für Dummies

Übungsbuch Algebra für Dummies ...für Dummies Übungsbuch Algebra für Dummies von Mary Jane Sterling, Alfons Winkelmann 1. Auflage Wiley-VCH Weinheim 2012 Verlag C.H. Beck im Internet: www.beck.de ISBN 978 3 527 70800 0 Zu Leseprobe

Mehr

Die Mathematik von RSA

Die Mathematik von RSA Die Mathematik von RSA Eine Arbeit von Yimin Ge (yimin.ge@chello.at) August 2005 Inhaltsverzeichnis 0 Vorwort 2 1 Prinzip der Einwegverschlüsselung 3 2 Zahlentheoretische Grundlagen 4 2.1 Teilbarkeit und

Mehr

Algebraische Kurven. Vorlesung 26. Die Schnittmultiplizität

Algebraische Kurven. Vorlesung 26. Die Schnittmultiplizität Prof. Dr. H. Brenner Osnabrück SS 2012 Algebraische Kurven Vorlesung 26 Die Schnittmultiplizität Es seien zwei ebene algebraische Kurven C,D A 2 K gegeben, die keine Komponente gemeinsam haben. Dann besteht

Mehr

Ergänzungen zur Analysis I

Ergänzungen zur Analysis I 537. Ergänzungsstunde Logik, Mengen Ergänzungen zur Analysis I Die Behauptungen in Satz 0.2 über die Verknüpfung von Mengen werden auf die entsprechenden Regelnfür die Verknüpfung von Aussagen zurückgeführt.

Mehr

Konzepte von Betriebssystem-Komponenten: Schwerpunkt Sicherheit Grundlagen: Asymmetrische Verschlüsslung, Digitale Signatur

Konzepte von Betriebssystem-Komponenten: Schwerpunkt Sicherheit Grundlagen: Asymmetrische Verschlüsslung, Digitale Signatur Konzepte von Betriebssystem-Komponenten: Schwerpunkt Sicherheit Grundlagen: Asymmetrische Verschlüsslung, Digitale Signatur Rudi Pfister Rudi.Pfister@informatik.stud.uni-erlangen.de Public-Key-Verfahren

Mehr

1. Modulare Arithmetik

1. Modulare Arithmetik 1. Modulare Arithmetik Dreizehn Jahre lang hatten die Briten und Franzosen geglaubt, die Enigma- Verschlüsselung sei nicht zu knacken, doch nun schöpften sie Hoffnung. Die polnischen Erfolge hatten bewiesen,

Mehr

MINT-Circle-Schülerakademie

MINT-Circle-Schülerakademie 1 Einführung MINT-Circle-Schülerakademie Kurze Einführung, was Maple ist, wozu es dienen kann, wo es verwendet wird. Zur Einführung die folgenden Aufgaben bearbeiten lassen. Aufgabe 1. Gib unter Maple

Mehr

Gibt es verschiedene Arten unendlich? Dieter Wolke

Gibt es verschiedene Arten unendlich? Dieter Wolke Gibt es verschiedene Arten unendlich? Dieter Wolke 1 Zuerst zum Gebrauch des Wortes unendlich Es wird in der Mathematik in zwei unterschiedlichen Bedeutungen benutzt Erstens im Zusammenhang mit Funktionen

Mehr

klar. Um die zweite Bedingung zu zeigen, betrachte u i U i mit u i = 0. Das mittlere -Zeichen liefert s

klar. Um die zweite Bedingung zu zeigen, betrachte u i U i mit u i = 0. Das mittlere -Zeichen liefert s Nachtrag zur allgemeinen Vektorraum-Theorie. 1.5.15. Direkte Summen. Sei V ein Vektorraum, seien U 1,..., U t Unterräume, wir schreiben V = U 1 U 2 U t = t i=1 U i falls die folgenden beiden Bedingungen

Mehr

Verschlüsselung. Chiffrat. Eve

Verschlüsselung. Chiffrat. Eve Das RSA Verfahren Verschlüsselung m Chiffrat m k k Eve? Verschlüsselung m Chiffrat m k k Eve? Aber wie verteilt man die Schlüssel? Die Mafia-Methode Sender Empfänger Der Sender verwendet keine Verschlüsselung

Mehr

Homomorphe Verschlüsselung

Homomorphe Verschlüsselung Homomorphe Verschlüsselung Sophie Friedrich, Nicholas Höllermeier, Martin Schwaighofer 11. Juni 2012 Inhaltsverzeichnis Einleitung Motivation Mathematische Definitionen Wiederholung Gruppe Ring Gruppenhomomorphisums

Mehr

4 Greedy-Algorithmen (gierige Algorithmen)

4 Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen (gierige Algorithmen) Greedy-Algorithmen werden oft für die exakte oder approximative Lösung von Optimierungsproblemen verwendet. Typischerweise konstruiert ein Greedy-Algorithmus eine

Mehr

Das Public-Key-Kryptosystem RSA

Das Public-Key-Kryptosystem RSA Kapitel 5 Das Public-Key-Kryptosystem RSA Bisher haben wir Secret-Key-Kryptosysteme betrachtet (Abbildung 1.1). Mit diesem Kapitel wenden wir uns der Public-Key-Kryptographie zu (Abbildung 1.2). In der

Mehr

01321 Mathematische Grundlagen der Kryptograe Vorbereitung auf die mündliche Prüfung Bei Prof. Unger

01321 Mathematische Grundlagen der Kryptograe Vorbereitung auf die mündliche Prüfung Bei Prof. Unger 01321 Mathematische Grundlagen der Kryptograe Vorbereitung auf die mündliche Prüfung Bei Prof. Unger 1 Kryptograe im Allgemeinen Was ist Kryptographie? Kryptograe ist der sichere Nachrichtentransfer über

Mehr

Aufgaben des MSG-Zirkels 10b Schuljahr 2007/2008

Aufgaben des MSG-Zirkels 10b Schuljahr 2007/2008 Aufgaben des MSG-Zirkels 10b Schuljahr 2007/2008 Alexander Bobenko und Ivan Izmestiev Technische Universität Berlin 1 Hausaufgaben vom 12.09.2007 Zahlentheorie 1 Aufgabe 1.1 Berechne die (quadratischen)

Mehr

Theoretische Informatik

Theoretische Informatik Theoretische Informatik Einheit 1 Mathematische Methodik 1. Problemlösen 2. Beweistechniken 3. Wichtige Grundbegriffe Methodik des Problemlösens Klärung der Voraussetzungen Welche Begriffe sind zum Verständnis

Mehr

3. Die Eigenschaften der reellen Zahlen II: Geordnete Körper

3. Die Eigenschaften der reellen Zahlen II: Geordnete Körper 32 Andreas Gathmann 3. Die Eigenschaften der reellen Zahlen II: Geordnete Körper Wir haben bisher von den reellen Zahlen nur die Körpereigenschaften, also die Eigenschaften der vier Grundrechenarten ausgenutzt

Mehr

Lösungen zu Kapitel 7

Lösungen zu Kapitel 7 Lösungen zu Kapitel 7 Lösung zu Aufgabe 1: Nach Definition 7.1 ist eine Verknüpfung auf der Menge H durch eine Abbildung : H H H definiert. Gilt H = {a 1,..., a m }, so wird eine Verknüpfung auch vollständig

Mehr

2.2 Nebenklassen, Normalteiler und Faktorgruppen

2.2 Nebenklassen, Normalteiler und Faktorgruppen Algebra I c Rudolf Scharlau, 2002 2012 61 2.2 Nebenklassen, Normalteiler und Faktorgruppen Bei der Konstruktion der Restklassengruppe Z/mZ hatten wir auf der Gruppe Z mit Hilfe einer Untergruppe mz eine

Mehr

Mathematischer Vorbereitungskurs für Ökonomen

Mathematischer Vorbereitungskurs für Ökonomen Mathematischer Vorbereitungskurs für Ökonomen Dr. Thomas Zehrt Wirtschaftswissenschaftliches Zentrum Universität Basel Gleichungen Inhalt: 1. Grundlegendes 2. Lineare Gleichungen 3. Gleichungen mit Brüchen

Mehr

Kryptographie: Verteidigung gegen die dunklen Künste in der digitalen Welt

Kryptographie: Verteidigung gegen die dunklen Künste in der digitalen Welt Kryptographie: Verteidigung gegen die dunklen Künste in der digitalen Welt Prof. Dr. Rüdiger Weis Beuth Hochschule für Technik Berlin Tag der Mathematik 2015 Flächendeckendes Abhören Regierungen scheitern

Mehr

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik

Wurzeln als Potenzen mit gebrochenen Exponenten. Vorkurs, Mathematik Wurzeln als Potenzen mit gebrochenen Exponenten Zur Einstimmung Wir haben die Formel benutzt x m n = x m n nach der eine Exponentialzahl potenziert wird, indem man die Exponenten multipliziert. Dann sollte

Mehr

4 Kongruenz und Modulorechnung

4 Kongruenz und Modulorechnung 4 Kongruenz und Modulorechnung 39 4 Kongruenz und Modulorechnung In unserer Zeitrechnung haben wir uns daran gewöhnt, nur mit endlich vielen Zahlen zu rechnen. Es ist gerade 3 Uhr und in 50 Stunden muss

Mehr

Leitfaden Lineare Algebra: Determinanten

Leitfaden Lineare Algebra: Determinanten Leitfaden Lineare Algebra: Determinanten Die symmetrische Gruppe S n. Eine Permutation σ der Menge S ist eine bijektive Abbildung σ : S S. Ist S eine endliche Menge, so reicht es zu verlangen, dass σ injektiv

Mehr

Didaktik der Zahlbereiche 4. Die Menge der ganzen Zahlen. Mathematikunterricht in der Jahrgangsstufe 7. Zahlbereichserweiterungen in der Hauptschule

Didaktik der Zahlbereiche 4. Die Menge der ganzen Zahlen. Mathematikunterricht in der Jahrgangsstufe 7. Zahlbereichserweiterungen in der Hauptschule Zahlbereichserweiterungen in der Hauptschule Didaktik der Zahlbereiche 4 Dr. Christian Groß Lehrstuhl Didaktik der Mathematik Universität Augsburg Wintersemester 2006/07 Natürliche Zahlen, : Klasse 5 positive

Mehr

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS)

Literatur. Dominating Set (DS) Dominating Sets in Sensornetzen. Problem Minimum Dominating Set (MDS) Dominating Set 59 Literatur Dominating Set Grundlagen 60 Dominating Set (DS) M. V. Marathe, H. Breu, H.B. Hunt III, S. S. Ravi, and D. J. Rosenkrantz: Simple Heuristics for Unit Disk Graphs. Networks 25,

Mehr

Einführung in die Zahlentheorie und algebraische Strukturen

Einführung in die Zahlentheorie und algebraische Strukturen Einführung in die Zahlentheorie und algebraische Strukturen Wintersemester 2012/2013 Universität Bayreuth Michael Stoll Inhaltsverzeichnis 1. Wiederholung: Gruppen, Ringe, Körper 2 2. Teilbarkeitslehre

Mehr

Höhere Mathematik 3. Apl. Prof. Dr. Norbert Knarr. Wintersemester 2015/16. FB Mathematik

Höhere Mathematik 3. Apl. Prof. Dr. Norbert Knarr. Wintersemester 2015/16. FB Mathematik Höhere Mathematik 3 Apl. Prof. Dr. Norbert Knarr FB Mathematik Wintersemester 2015/16 4. Homogene lineare Dierentialgleichungen 4.1. Grundbegrie 4.1.1. Denition. Es sei J R ein Intervall und a 0 ; : :

Mehr

Karlsruher Institut für Technologie Institut für Algebra und Geometrie

Karlsruher Institut für Technologie Institut für Algebra und Geometrie Karlsruher Institut für Technologie Institut für Algebra und Geometrie PD Dr. Stefan Kühnlein Dipl.-Math. Jochen Schröder Einführung in Algebra und Zahlentheorie Übungsblatt 2 Aufgabe 1 (4 Punkte) Seien

Mehr

Gleichungen und Ungleichungen

Gleichungen und Ungleichungen Gleichungen Ungleichungen. Lineare Gleichungen Sei die Gleichung ax = b gegeben, wobei x die Unbekannte ist a, b reelle Zahlen sind. Diese Gleichung hat als Lösung die einzige reelle Zahl x = b, falls

Mehr

Wintersemester 2005/2006 Gedächtnisprotokoll der mündlichen Prüfung

Wintersemester 2005/2006 Gedächtnisprotokoll der mündlichen Prüfung Wintersemester 2005/2006 Gedächtnisprotokoll der mündlichen Prüfung Ulrich Loup 24.03.2006 Prüfungsstoff: Alegebra I, Analysis IV, Graphentheorie I Prüfer: Prof. Dr. Wilhelm Plesken Protokollant: Dipl.

Mehr

Leitprogramm Bubblesort

Leitprogramm Bubblesort Leitprogramm Bubblesort Dr. Rainer Hauser Inhalt 1 Übersicht...1 2 Input-Block I: Der Sortieralgorithmus Bubblesort...2 3 Input-Block II: Die Effizienz von Bubblesort...6 4 Zusammenfassung...8 5 Lernkontrolle...9

Mehr

Datensicherheit durch Kryptographie

Datensicherheit durch Kryptographie Datensicherheit durch Kryptographie Dr. Michael Hortmann Fachbereich Mathematik, Universität Bremen T-Systems Michael.Hortmann@gmx.de 1 Kryptographie: Klassisch: Wissenschaft und Praxis der Datenverschlüsselung

Mehr

Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14. Auswahl vorausgesetzter Vorkenntnisse

Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14. Auswahl vorausgesetzter Vorkenntnisse UNIVERSITÄT DES SAARLANDES FACHRICHTUNG 6.1 MATHEMATIK Dipl.-Math. Kevin Everard Mathematik für Studierende der Biologie und des Lehramtes Chemie Wintersemester 2013/14 Auswahl vorausgesetzter Vorkenntnisse

Mehr