7 Zufallszahlen. 7.1 Bedeutung
|
|
- Joachim Bretz
- vor 7 Jahren
- Abrufe
Transkript
1 7 Zufallszahlen 7.1 Bedeutung 7.2 Lehmer-Generatoren für Zufallszahlen Aufbau Kombination von Generatoren Berechnung von (as) mod m Empfehlung von Park und Miller Empfehlungen von Knuth 7.3 Tausworthe-Generatoren Aufbau Golombs Gütekriterien Implementation Parallele Nutzung 7.4 Generator von Blum, Blum und Shub 7.5 Test von Zufallszahlen Chi-Quadrat-Test Empirische Tests Tests für Bitfolgen Tests nach FIBS Anwendungen Verschlüsselungsverfahren Primzahltests Buffons Nadelexperiment
2 Bedeutung der Zufallszahlen: Zufallszahlen benötigt man in vielen Gebieten, z.b. (i) (ii) (iii) (iv) (v) (vi) um Glücksspiele durchzuführen, um ausgesuchte Eigenschaften von Algorithmen zu bestimmen, z. B. ihre Effizienz, um Simulationsexperimente durchzuführen, zur Nutzung in der numerischen Mathematik (Stichwort: Monte Carlo Algorithmen), um Nachrichten zwecks Geheimhaltung zu verschlüsseln, zur Nutzung in der genetischen Programmierung, (vii) als neutrale Datenquelle in probabilistischen Testverfahren, (viii) zur Nutzung in probabilistischen Algorithmen, (ix) als Hilfsmittel zur Erzeugung von Kompositionsvielfältigkeiten in der bildenden Kunst, u. s. w.
3 Beispielausgabe eines von Neumannschen Mittelquadrat- Zufallszahlen-Generators, hier für vierstellige Dezimalzahlen: Form: x := (xx div 100) mod Startwert: 6239 Dies ist eine längste Folge für vierziffrige Startwerte, bis periodische Wiederholung einsetzt, -Zeichen kennzeichnen die Periode
4 Lehmer-Generator: Form (L): x n+1 := (a x n + c) mod m (n 0) mit m = Modul (0 < m) a = Multiplikator (1 < a < m) c = Addend (0 c < m) x 0 = Startwert (0 x 0 < m) Beispiel: x n+1 := (7 x n + 6) mod 64 Periodenstruktur von x n+1 = (7 x n + 6) mod 64: 1) 0, 6, 48, 22, 32, 38, 16, 54 2) 1, 13, 33, 45 3) 2, 20, 18, 4, 34, 52, 50, 36 4) 3, 27 5) 5, 41, 37, 9 6) 7, 55 7) 8, 62, 56, 14, 40, 30, 24, 46 8) 10, 12, 26, 60, 42, 44, 58, 28 9) 11, 19 10) 15, 47 11) 17, 61, 49, 29 12) 21, 25, 53, 57 13) 23, 39 14) 31 15) 35, 59 16) 43, 51 17) 63 Bemerkung: Verfügt man über Lehmer-Generatoren, die Zahlenfolgen der Periode m erzeugen, dann entfällt das Startwertwahlproblem weitgehend.
5 Es gilt: x 1 = (a x 0 + c) x 2 = (a 2 x 0 + a c + c) x 3 = (a 3 x 0 + a 2 c + a c + c) x 4 = (a 4 x 0 + a 3 c + a 2 c + a c + c)... allgemein: n n a xn = ( 1 a x0 + c modm n a ) ( 1 0) oder auch: k k a 1 xn+ k = (a xn + c) modm (n 0, a 1 mod m mod m mod m mod m k 0) Sei nun λ > 0 der kleinste Index mit x λ = x 0, dann muß λ λ a 1 x0 = (a x0+ c) mod m gelten, diese Formel kann a 1 man benutzen, um den folgenden Satz herzuleiten. Satz: Ein linearer Generator der Form L besitzt eine Periode der Maximallänge m genau dann, falls gilt: (i) c und m sind teilerfremd, (ii) jede Primzahl p, die m teilt, teilt auch a-1, (iii) a-1 ist ein Vielfaches von 4, falls m ein Vielfaches von 4 ist. Bemerkung: Der Generator x n+1 := (41x n + 5) mod 64 erfüllt die Bedingungen des Satzes.
6 Spezialfälle: (i) Modul m = 2 e, Addend c > 0: Die volle Periode m = 2 e erreicht man nur, falls für den Multiplikator a 1 (mod 4) gilt und der Addend c ungerade ist. Die niederwertigen Bit sind nur geringfügig zufällig. (ii) Modul m = 2 e, Addend c = 0: Die maximale Periode ist 2 e-2, man erreicht sie, falls für den Multiplikator a 3 (mod 8) oder a 5 (mod 8) gilt. Die niederwertigen Bit sind nur geringfügig zufällig. (iii) Modul m ist eine Primzahl größer als 2, c = 0: Die Periode ist in diesem Fall maximal m 1, der Zufallswert 0 ist zu meiden. Eine maximale Periode erhält man, falls man als Multiplikator a ein primitives Element modulo m wählt. Wählt man c 0, dann ist die maximale Periode auch nur m 1, denn die Kongruenz x ax + c (mod m) hat genau eine Lösung. Der Grad der Zufälligkeit der niederwertigen Bit ist durch a bestimmt, er ist im Einzelfall zu ermitteln.
7 Zum Begriff primitives Element: Betrachten wir die Rekursion (R11) x n+1 := a x n mod 11 mit Startwert 1: Für a = 2, 3, 4,..., 10 erhält man die Zyklen: a = 2: 1, 2, 4, 8, 5, 10, 9, 7, 3, 6 a = 3: 1, 3, 9, 5, 4 a = 4: 1, 4, 5, 9, 3 a = 5: 1, 5, 3, 4, 9 a = 6: 1, 6, 3, 7, 9, 10, 5, 8, 4, 2 a = 7: 1, 7, 5, 2, 3, 10, 4, 6, 9, 8 a = 8: 1, 8, 9, 6, 4, 10, 3, 2, 5, 7 a = 9: 1, 9, 4, 3, 5 a = 10: 1, 10 Nur die Multiplikatoren 2, 6, 7 und 8 führen zum Auftreten aller Zahlen 0 bei der Rekursion R11. Man nennt sie primitive Elemente modulo 11. Satz: Sei p eine ungerade Primzahl und sei a 0 (modulo p). a ist genau dann ein primitives Element modulo p, falls gilt: für jeden Primfaktor q von p 1 ist: a (p 1) / q 1 (modulo p).
8 Zur Zufälligkeit der niederwertigen Bit: Ausgabe des Generators x n+1 := (9 x n + 1) mod 32 bei Startwert x 0 = 1: Nummer Zahl Bitkette Nummer Zahl Bitkette Bem.: Sei x n+1 := (ax n + c) mod m (n 0), sei t ein Teiler von m, sei y n := x n mod t (n 0), dann gilt: y n+1 := (ay n + c) mod t (n 0). Dies folgt aus: f mit x n+1 = ax n + c fm, bildet man auf beiden Seiten den Rest bezüglich t, dann erhält man die Rekursion für y n.
9 Zweidimensionale Darstellung der Ausgabe aller Punktpaare (x i, x i+1 ) des Generators x n+1 := (31 x n ) mod : 40: 35 30: : 25 : 20: 15 : 10: 5 : 0: : Bemerkung: Die Verteilung der 60 Punktpaare im (60, 60)-Quadrat macht nicht den Eindruck einer gleichmäßigen, zufälligen Verteilung.
10 Zweidimensionale Darstellung der Ausgabe aller Punktpaare (x i, x i+1 ) des Generators x n+1 := (43 x n ) mod 61 60: 55 50: : 45 : 40: 35 : 30: 25 20: : 15 : 10: 5: : : 0: Bemerkung: Die Verteilung der 60 Punktpaare im (60, 60)-Quadrat ist gleichmäßiger als im Fall des Multiplikators 31; der Spektraltest ermöglicht eine Unterscheidung zwischen guten und weniger guten Multiplikatoren.
11 Kombinieren von Lehmer-Generatoren: Lemma: Seien W 1 und W 2 zwei unabhängige ganzzahlige Zufallsvariablen; W 1 sei gleichverteilt im Intervall [0, m) und der Wertebereich von W 2 liege im Inter-vall [a, b]. Dann gilt: W = (W 1 + W 2 ) mod m ist gleichverteilt in [0, m). Beweis: Sei k [0, m), dann gilt für die Wahrscheinlichkeit P (W = k): P(W = k) = = = = b i= j= a 1 m 1 m P(W P(W = j) P (W b j= a 2 1 P(W q.e.d. + W 2 2 = = k + i m) j) 1 = (k j) mod m) Bemerkung: Verfügt man über mehrere Lehmer-Generatoren L1, L2,..., Ln, dann gewinnt man durch Addition oder Subtraktion dieser Generatoren einen neuen Generator. Seine Periode wird bestimmt durch das kleinste gemeinsame Vielfache der Perioden der benutzten Generatoren.
12 // Zufallszahlengenerator von Brian Wichmann und // David Hill aus Byte 12,3; pp ; (3/1987); // programmiert für Rechner und Implementationen // von Hochsprachen, deren Ganzzahlen mittels 16 Bit // dargestellt werden. #include <cmath> static int x = 7; // Zustand gen1 static int y = 77; // Zustand gen2; static int z = 777; // Zustand gen3; int gen1 () { // x = (171 x) mod x = 171 (x % 177) - 2 (x / 177); if (x < 0) x += 30269; return x ; }//gen1 int gen2 () { // y = (172 y) mod 30307; y = 172 (y % 176) - 35 (y / 176); if (y < 0) y += 30307; return y; }//gen2
13 int gen3 () { // z = (170 z) mod 30323; z = 170 (z % 178) - 63 (z / 178); if (z < 0) z += 30323; return z; }//gen3 // Vor dem ersten Aufruf von random sollten die // Zustandsvariablen mit Zahlen zwischen 1 und // initialisiert werden. double random () { int x = gen1 (); int y = gen2 (); int z = gen3 (); double t = x/ y/ z/ ; t -= floor (t); return t; }//random // Der Generator besitzt eine Periode von // , dies ist das kleinste gemeinsame // Vielfache von , und
14 Berechnung von (171 x) mod für 0 <= x < auf einem Rechner mit vorzeichenbehafteten 16-Bit Ganzahlen ohne Unter- oder Überlauf. Sei x = 177 r + s mit 0 r < 172 und 0 s < 176 Dann a = (171 x) mod = ( r s) mod = (30267 r s) mod = (( ) r s) mod = (171 s 2 r) mod Bemerkungen: (i) (ii) Ist die Größe a negativ, dann wird sie durch eine einmalige Addition von positiv. Analog zeigt man die Korrektheit der angegebenen Berechnungen für y = (172 y) mod und z = (170 z) mod
15 Berechnung von (a s) mod m durch angenäherte Faktorisierung: Vor.: (i) 0 < m, m ganzzahlig (ii) 0 < a < m, a ganzzahlig (iii) 0 < s < m, s ganzzahlig Zerlege m gemäß m = m/a a + m mod a = q a + r Nun ist s = s/q q + s mod q, damit (a s) mod m = (a s/q q + a s mod q) mod m = (a q s/q + a s mod q) mod m = ((m r) s/q + a s mod q) mod m (1) = (a s mod q r s/q ) mod m Nun (2) 0 a s mod q a q m (3) 0 r s/q r m/q m, falls r q Gilt (4) r = m mod a m div a = q, dann läßt sich (a s) mod m ohne Unterlauf oder Überlauf berechnen, wie aus (1), (2) und (3) folgt, falls alle Zahlen zwischen 0 und m darstellbar sind. Bemerkungen: (i) Hinreichend für (4) ist: a 2 m. (ii) Gilt (4) nicht, dann wiederholt man obiges Verfahren zur Berechnung von (r s/q ) mod m, hierbei ist r < a, womit nach Bemerkung (i) das Verfahren konvergiert.
16 Empfehlung von Park und Miller: Bemerkung: Die Autoren nennen diesen Generator den Minimalstandard. // Private constants int const m = ; // = 2^31-1 int const a = 48271; // vorher: // Der Multiplikator liefert gute Ergebnisse // beim Spektraltest. // Private global variable static int s = ; // Startwert austauschbar double random () { static int const q = m / a; // m div a = static int const r = m % a; // m mod a = 3399 // hier: m mod a <= m div a int t = a (s % q) - r (s / q); s = (t > 0)? t : t + m; return double (s) / double (m); }// random
17 119 Werte aus Park-Miller-Generator:
18 Empfehlungen von Knuth für Lehmer-Generatoren: x n+1 := (a x n + c) mod m (n 0) (i) Wähle den Modul m groß, die Rekursionsformel ist exakt auszuwerten. (ii) Ist m = 2 x, dann gelte a mod 8 = 5, ist m = 10 y, dann gelte a mod 200 = 21. (iii) Für a möge gelten m < a < m m. (iv) Das Ziffernmuster von a sollte "recht unregelmäßig" sein. (v) Die Additionskonstante c sollte ungerade sein und nicht ein Vielfaches von 5. (vi) Man sollte daran denken, daß die niederwertigen Ziffern der Zahlen x 0, x 1, x 2,... nicht immer sehr zufällig sind (Gilt nur eingeschränkt für Primzahlmodul). Die Bemerkung (vi) hat Auswirkungen auf die Gewinnung kleiner Zufallszahlen aus großen Zufallszahlen. Sei x i (i 0) eine Folge von Zufallszahlen, die Ableitung von Zufallszahlen aus dem Intervall [0, r) sollte nicht mittels r i = x i mod r erfolgen, sondern eher mittels ((x i div u) r) div v oder auch mittels (x i div w) mod r für sinnvoll gewählte u, v oder w.
19 Beispiel zu (vi): m = 10 8 a = c = 1 Der Startwert x = liefert die folgenden 20 Zahlen: Hier Regelmäßigkeit in der letzten Ziffer.
20 Eine einfache Erweiterung des Lehmer-Generators: (T) x n := (a 1 x n-1 + a 2 x n a k x n-k ) mod p Wählt man als Modul 2, dann verfügt man über einen Generator für zufällige Bitketten, traditionell nennt man Generatoren dieser Art Tausworthe-Generatoren. Bemerkung: Ein Bitgenerator der Form T hat eine Periode der Länge p k - 1, falls p eine Primzahl ist und das zugeordnete Polynom x k - a 1 x k-1 - a 2 x k a k im Körper mit p k Elementen primitiv ist. Primitive Polynome zu bestimmen ist aufwendig, es existieren aber umfangreiche Tabellenwerke, beispielsweise sind die folgenden Polynome für p = 2 primitiv: x 5 + x x 5 + x x 5 + x 4 + x 3 + x x 5 + x 4 + x 2 + x + 1 x 32 + x 7 + x 5 + x 3 + x 2 + x + 1 x 64 + x 4 + x 3 + x + 1 So liefert der Generator x n := x n-1 + x n-3 + x n-4 + x n-5 mit den Startwerten (x 4, x 3, x 2, x 1, x 0 ) = (1, 1, 1, 0, 0) die Bitfolge mit der Periode 31: (B)
21 S. W. Golomb führte für maschinell erzeugte Bitketten b 0, b 1, b 2, b 3, b 4,... folgende Mindestanforderungen ein: K1: In einer Periode differieren die Zahl der 0-Bit und die Zahl der 1-Bit höchstens um 1. K2: In einer Periode haben mindestens die Hälfte der Läufe eine Länge von 1, mindestens ein Viertel der Läufe eine Länge von 2, mindestens ein Achtel der Läufe eine Länge von 3,... K3: Die Autokorrelation ist zweiwertig, genauer p 1 ( 2 b 1) ( 2 b 1) = i= 0 i i+ t p ( t = 0) k ( 1 t p 1) Bemerkung: Eine Folge von 1-Bit, die durch 0-Bit begrenzt wird, nennt man einen 1-Lauf; analog definiert man den 0-Lauf. Für die obige Bitfolge B erhält man: ad K1: ad K2: 15 0-Bit, 16 1-Bit 16 Läufe: 8 Läufe der Länge 1 4 Läufe der Länge 2 2 Läufe der Länge 3 1 Lauf der Länge 4 1 Lauf der Länge 5 ad K3: Die Autokorrelationswerte sind 31 und 1.
22 Schieberegister zur Implementation der Rekursion: x n := (x n-4 + x n-5 + x n-6 + x n-8 ) mod 2 (n 8) beschreibendes Polynom: x 8 + x 4 + x 3 + x : 1 Bit Schieberegister, : Exklusives Oder Folgezustände: Bemerkung: Dem Polynom x 8 + x 4 + x 3 + x läßt sich ein weiteres Schieberegister zuordnen, das bei der Programmierung in Hochsprachen einfacher zu nutzen ist.
23 Beispiel: Erzeugung einer Bitfolge Primitives Polynom: x 32 + x 7 + x 5 + x 3 + x 2 + x + 1 Imitation eines Schieberegisters: unsigned sr32 () { static unsigned sr = Startwert; sr = (((( sr >> 7) ^( sr >> 5) ^( sr >> 3) ^( sr >> 2) ^( sr >> 1) ^( sr )) & 1) << 31) (sr >> 1); return (sr & 0x ) >> 31; }//sr32 Zyklische Nutzung einer Tabelle: static unsigned bitw [32] = {Startwerte}; unsigned b32 () { static unsigned n = 31; n = (n+1)%32; bitw [n] = ( bitw [(n-25)%32] + bitw [(n-27)%32] + bitw [(n-29)%32] + bitw [(n-30)%32] + bitw [(n-31)%32] + bitw [(n-32)%32]) % 2; return bitw [n]; }//b32
24 // Beispiel eines Tausworthe-Generators (auch verzögerter // Fibonacci-Generator genannt) zur Erzeugung von // Zufallszahlen; ein primitives Polynoms wird mit // verschiedenen Anfangswerten parallel genutzt. // Hier: Trinom x^q + x^p + 1; // formelmäßig: x[k] := x [k-q+p] xor x [k-q] für k >= q // oder : x[k] := x [k-p] xor x [k-q] für k >= q // erprobte Paare (p, q) = (103, 250), (27, 98), (37, 532) // Wichtig ist ein guter Zufallszahlengenerator zur // Bereitstellung von Anfangswerten. int irandom () { / z. B. Parks Empfehlung / } // Die folgende Beschreibung läßt sich vereinfachen. const int pp = 103; const int qq = 250; static int p = pp-1; static int q = qq-1; static int table [qq]; void init_table () { for (int i = 0; i < qq; ++i) table [i] = irandom (); }//init_table int trand () { p = (p+1) % qq; q = (q+1) % qq; table [q] ^= table [p] ; return table [q]; }//trand
25 Einige Beispielwerte des Generators (103, 250):
26 Zur Initialisierung paralleler Generatoren: Beispiel: x n := (x n-10 + x n-7 ) mod 2 für n = 10, 11, 12, Bild: Vierfache Parallelität x n 10 x n 9 x n 8 x n 7 x n 6 x n 5 x n 4 x n 3 x n 2 x n 1 Bemerkung: Nutzt man obigen Generator parallel, um Zufallszahlen im Intervall [0, 16) zu erzeugen, dann muß man bei der Initialisierung darauf achten, daß keine Reihe nur 0 Bit enthält. Ersetzt man die parallele Anwendung der Modulo 2 Addition durch eine Addition modulo 2 4, dann muß man nur darauf achten, daß die das niederwertigste Zahlbit repräsentierende Reihe mindestens ein 1 Bit enthält. Dies sicherzustellen ist trivial, ein erwünschter Nebeneffekt ist die Erhöhung der Periode.
27 Generator von Blum, Blum, Shub: 1. Wähle zwei Primzahlen p und q mit p mod 4 = 3 und q mod 4 = 3 und berechne n = p q. 2. Wähle s aus [1, n 1] mit s teilerfremd zu n und berechne x 0 := s 2 mod n. 3. Bilde Folge x i+1 := x i 2 mod n (i 0) 4. Die Folge z i := x i mod 2 (i 0) ist eine kryptographisch sichere Bitfolge. Bemerkung: Die letzten log 2 (n) Bit der Zahlen z i (i 0) werden als kryptographisch sicher angesehen.
28 Beispiel: Die ersten 200 Bit des Generators x := (xx) mod (223251) bei Startwert 321: Bemerkung: Es ist wichtig, daß die Primzahlen p und q hinreichend groß sind, wählt man z. B. p = 7, q = 11, dann hat die Folge z i (i 0) höchstens eine Periode von 4, dies ist bedeutend kleiner als 77. Daher sollte man an p und q die zusätzlichen Forderungen stellen, p = 2p1 + 1, p1 = 2p2 + 1, q = 2q1 + 1, q1 = 2q2 + 1 mit p1, p2, q1 und q2 prim. Selbst unter diesen zusätzlichen Bedingungen ist es schwierig, Anfangswerte zu finden, so daß die Folge z i (i 0) eine hinreichend lange Periode hat. So existieren nur zwei Zyklen der Länge 110 für den Generator x := (x x) mod (2347).
29 Chi-Quadrat Test: Voraussetzungen: 1. Eine stochastische Quelle Q möge eine Folge unabhängiger Ereignisse e 0, e 1, e 2,..., e n,... liefern. 2. Die Ereignisse mögen k > 0 (nichtüberlappenden) Kategorien zuordbar sein; die Wahrscheinlichkeit, mit der ein Ereignis e zur Kategorie K s gehört, sei p s > 0 (s = 1,..., k). 3. Man kategorisiere n > 0 Ereignisse der Quelle Q, wobei k s die Zahl der Ereignisse in Kategorie K s ist. Den Wert (1) ( k n p ) 2 χ 2 k s s = s= 1 n ps nennt man die χ 2 -Statistik mit k 1 Freiheitsgraden. Bemerkungen: (i) Der Wert χ 2 aus Zeile (1) läßt sich umformen zu: (2) χ k k s = n s= 1 p s n Dies folgt aus k 1 + k k k = n und p 1 + p p k = 1
30 (ii) Den Chi-Quadrat Test führte Karl Pearson im Jahre 1900 ein. Ian Hacking hält ihn für eine der 20 wichtigsten Erfindungen des zwanzigsten Jahrhunderts. (iii) Wie aus Zeile (1) ersichtlich, erhalten "seltene" Ereignisse eine hohe Gewichtung. (iv) Die Wahrscheinlichkeit einer Beobachtungskette mit k 1 + k k k = n ist n! k! k! L k! 1 2 k k k p p L p k k k Hieraus lassen sich Vertrauensintervalle für eine Beobachtungskette der Länge n berechnen. (v) Die tabellierte χ 2 Statistik ist unabhängig von n, daher ist sie für kleine n unzuverlässig. Beispielwerte sind: Freiheitsgrad 5%-Quantile 95%-Quantile
31 (vi) Knuth gibt folgende Näherungsformel für Freiheitsgrade k > 30: k k k a a 3 O k ( ) χ mit a = 1.64 für 5%-Quantile und a = 1.64 für 95%-Quantile. (vii) Ein Beispiel: Eine Bitkette der Länge 50, die Wahrscheinlichkeit für das Auftreten eines 1-Bit sei (4 1-Bit) (4 1-Bit) (5 1-Bit) (4 1-Bit) (4 1-Bit) Man hat 21 1-Bit und 29 0-Bit, die Hypothese für gleiche 1-Bit- und 0-Bit-Wahrscheinlichkeiten ergibt: χ 2 (1) = ( 21 25) ( 29 25) = = Dieser Wert ist weder zu klein noch zu groß. Unterteilt man nun die Folge in 5 Abschnitte der Länge 10, dann ist: χ (5) = = = Dieser Wert ist verhältnismäßig klein. 16.
32 Einfache empirische Tests: Ein Zahlengenerator ZG gibt vor, im Intervall [0, 1) gleichverteilte und unabhängige Zahlen zu liefern. Sei z 0, z 1, z 2, z 3,... z n, die von ZG gelieferte Zahlenfolge. Einfache Test erlauben die Widerlegung der Gleichverteilung und Unabhängigkeit. 1) Test auf Gleichverteilung: Man wähle eine hinreichend große Zahl n und eine ganze Zahl d. Man bilde die Folge g i = z i d (0 i n), und zähle, wie oft jede der Zahlen 0, 1, 2,..., d-1 vorkommt. Anschließend führe man einen χ 2 -Test mit d 1 Freiheitsgraden und der einheitlichen Kategorien-Wahrscheinlichkeit 1/d durch. 2) Paartest: Wie im Test auf Gleichverteilung wähle man eine hinreichend große Zahl n und eine positive Ganzzahl d. Man bilde wiederum die Folge g i = z i d (0 i n), nun zählt man das Auftreten der nicht überlappenden Paare (z 2i, z 2i+1 ), die Plausibilität der erhaltenen Kategorienwerte überprüft man in einem χ 2 -Test mit d 2 1 Freiheitsgraden und der Basis-Wahrscheinlichkeit 1/d 2. In diesem Fall sollte n größer als 5 d 2 sein. Dieser Test ist verallgemeinerbar auf Tripel, Quadrupel, Quintupel, u.s.w.
33 3) Geburstagtest ("Birthday Spacings" Test): Dieser Test stammt von George Marsaglia, er untersucht die Abstände in der geordneten Folge der Zufallszahlen, seine Bedeutung liegt darin, daß die meisten Tausworthe-Generatoren ihn nicht bestehen. Zum Ablauf: Ein Generator produziere die nichtnegativen Ganzzahlen I k (k = 1,..., m) im Zahlbereich [1, n]; man führe folgende Schritte aus: (a) Sortiere die Folge I k (k = 1,..., m) aufsteigend. (b) Bilde die Folge der Differenzen D 1 = I 1 - I m + m, D 2 = I 2 -I 1, D 3 = I 3 -I 2,..., D m = I m - I m-1 (c) Setze Y = m Zahl der verschiedenen Differenzen; Y nähert sich asymptotisch einer Poisson- Verteilung mit Parameter λ= m 3 /(4 n), daher wähle man n und m so, daß m³ 4 n. (d) Auf den Kategorien Y = 0, Y = 1, Y = 2; Y > 2 führt man einen χ 2 -Test aus, die Kategorienwahrscheinlichkeiten entnimmt man der zugehörigen Poisson-Verteilung. Die Zahl der Probanden sollte mehrere hundert sein. Bemerkung: Die Zahl dieser Tests läßt sich beliebig verlängern, jede Eigenschaft, für die man die Wahrscheinlichkeitsverteilung kennt, eignet sich als Testgrundlage. Zu fragen ist aber, ob ein weiterer Test neue Erkenntnisse bringt oder nur alte bestätigt.
34 Einfache Tests für Zufallsbitfolgen: Sei b = b 0, b 1, b 2,..., b n-1 ein Abschnitt der Länge n einer Zufallsbitfolge. (i) Monobittest: Sei n 0 die Zahl der 0-Bit, n 1 die Zahl der 1-Bit, dann folgt x 1 = ( n n ) n einer χ 2 -Verteilung mit einem Freiheitsgrad. (ii) Zweibittest Sei n xy die Zahl der Bitpaare (x, y) aus {0, 1} {0, 1}, n 0 und n 1 seien wie oben definiert, dann folgt 4 2 n n + + x 2 = ( n 2 2 ) ( ) 00 n n n11 n0 n1 1 einer χ 2 -Verteilung mit zwei Freiheitsgraden, es gilt auch n 00 + n 01 + n 10 + n 11 = n-1.
35 (iii) Pokertest: Sei m eine positive Ganzzahl mit n/m 5 2 m, sei k = n/m, teile die Folge b in nichtüberlappende Teilabschnitte der Länge m; sei n i die Zahl der Teilabschnitte der Form i (0 i < 2 m ), dann folgt m x 3 = 2 m ni k i= 0 k einer χ 2 -Verteilung mit 2 m - 1 Freiheitsgraden. (iv) Lauftest: Die erwartete Zahl von 1 Läufen oder 0 Läufen der Länge i (1 i < n) in einer Bitfolge der Länge n ist e i = n i+ 3 i+ 2 2 Die Statistik x 4 k = 2 ( B e ) k ( C e ) i e + i= 1 i i= 1 i i e i i 2 folgt einer χ 2 -Verteilung mit 2k 2 Freiheitsgraden. Hierbei sind B i die Zahl der 1-Bit Läufe und C i die Zahl der 0-Bit Läufe für i = 1, 2,..., n.
36 Ergänzung zu (iv): n i + 3 Herleitung der Formel für e i = (0 i < n) i+ 2 2 Man betrachte eine Bitkette der Länge n, wobei die Erzeugung eines 1 Bit oder eines 0 Bit ein unabhängiges Ereignis der Wahrscheinlichkeit 1/2 sei. Man wähle i mit 0 i < n. Ein 1-Bit-Lauf der Länge i wird beschrieben durch das Muster: i-mal Die Wahrscheinlichkeit des Auftretens dieses Musters an einer gültigen Position innerhalb der betrachteten Bitkette ist 2 (i+2). Daraus ergibt sich ei zu e i = 2 (i+2) Zahl gültiger Positionen + 2 (i+1) Zahl der Randpositionen = 2 (i+2) (n (i + 1)) + 2 (i+1) 2 = (n i + 3) 2 (i+2) e n = 2 n q.e.d.
37 Aus FIPS PUB (11/01/1994) Bemerkung: FIPS PUB steht für Federal Information Processing Standards Publication Test für Generatoren von Zufallszahlen, Testobjekt ist jeweils eine Bitkette der Länge (i) Monobittest: Der Test gilt als bestanden, falls 9645 < Zahl der 1-Bit < (ii) Pokertest: Unterteile die Bitkette in 5000 nichtüberlappende 4-Bit Abschnitte. Bestimme die Häufigkeit f (i) (0 i 15) für jedes 4-Bit-Musters; berechne χ 2 gemäß: χ = ( f() i ) i= 0 Der Test gilt als bestanden, falls 1.03 < χ 2 < 57.4 (iii) Lauftest: Sei B i die Zahl der 1-Bit Läufe der Länge i (0<i<6), sei B 6 die Zahl der 1-Bit Läufe der Länge > 5, sei C i die Zahl der 0-Bit Läufe der Länge i (0<i<6), sei C 6 die Zahl der 0-Bit Läufe der Länge > 5.
38 Der Test gilt als bestanden, falls sämtliche B- und C- Werte innerhalb folgender Grenzen liegen. Lauflänge untere Grenze obere Grenze Ferner darf kein Lauf einer Länge größer als 33 existieren. (iv) Wiederholungstest: Produziert ein Zufallszahlengenerator Bitblöcke der Länge n, wobei n > 15 ist, dann dürfen nie zwei aufeinanderfolgende Bitblöcke gleich sein; ist die Produktionslänge l 15, dann sind für diesen Test jeweils n aufeinanderfolgend produzierte Bits zu einem Block der Länge n, wobei n > 15 zu wählen ist, zusammenzufassen.
39 Vernams Verschlüsselungsalgorithmus: Sei N eine Bitkette, die eine Nachricht repräsentiert, sei Z eine zufällige Bitkette, sei die exklusive Oder- Operation für Bitketten, dann Verschlüsselte Nachricht VS = N Z, Entschlüsselte Nachricht N = VS Z. Bemerkung: Die Güte der Verschlüsselung wird bestimmt von der Güte der Bitkette Z, ist Z "wahrhaft zufällig", dann ist dies Verschlüsselungsverfahren sicher. Beispiel: Nachricht = "Zeit" Nachricht als Bitkette: Zufällige Bitkette: Verschlüsselte Nachricht: Entschlüsselte Nachricht:
40 Probabilistischer Primzahltest: Satz von Fermat: p prim ==> a (0 < a < p) a p 1 1 (mod p) Beispiele: mod mod 341, 341 ist nicht prim mod 341 Bemerkung: Man nennt eine Zahl n eine Carmichaelsche Zahl, falls für alle a, die teilerfremd zu n sind, gilt: a n-1 1 (mod n). Satz: Sei p prim und sei 0 < x < p, dann gilt x = 1 und x = p 1 sind die einzigen Lösungen von x 2 1 (mod p) Beweis: x 2 1 (mod p) ==> (x 1) (x+1) 0 (mod p) ==> p x 1 oder p x+1.
41 Millers Test: Sei n ungerade, n > 1, wähle b ( 0 < b < n), sei k := n 1, r := b k mod n Falls r 1 ==> n nicht prim Wiederhole k := k / 2 r := b k mod n bis (k ungerade) oder (r 1 und r n 1) r (1 oder n 1) ==> n nicht prim Beispiele: n = 25, b = (mod 25) (mod 25) (mod 25) (mod 25) n = 341, b = (mod 341) (mod 341) (mod 341) Bemerkung: Die Wahrscheinlichkeit, daß die Nichtprimheit einer ungeraden Zahl n durch einen Millertest nicht entdeckt wird, ist kleiner als 1/4.
42 Buffons Nadelexperiment zur Bestimmung von π: Gegeben sei eine Schar paralleler Linien im Abstand a. Man werfe mehrmals eine Nadel der Länge l (l a) auf diese Schar und zähle, wie oft die Nadel eine Linie schneidet. Bild 1: a x ϕ Zur Beschreibung der Lage einer Nadel verwende man die Koordinaten des Nadelmittelpunkts und den Winkel ϕ zwischen Nadel und den parallelen Linien. Die Nadel schneidet eine Linie, falls für den kleinsten Abstand x des Nadelmittelpunktes zu einer Linie gilt: x (l / 2) sin (ϕ). Bild 2: f (x) = (l / 2) sin (ϕ) a / 2 0 π
43 Die Wahrscheinlichkeit P, daß eine geworfene Nadel eine Linie schneidet, läßt sich als Quotient zweier Flächen berechnen, der Fläche F unterhalb von f und der Rechteckfläche R. Es gilt: F = π 0 l sin( ϕ) dϕ = 2 R = π a / 2 l Damit P = l 2 / (a π) oder π = 2 l / (a P) Im Jahre 1901 berichtete Lazzarini, daß er π mittels Nadelwurfs zu bestimmt habe. Er gab an, daß er 3408 Experimente durchführte, wovon 1808 erfolgreich waren. Bei einem Verhältnis l / a = 5 / 6 erhielt er: π = = = Ein Experiment mit dem Generator von Park und Miller ergibt: Versuche = 1000, Treffer = 312, π = Versuche = 5000, Treffer = 1585, π = Versuche = 10000, Treffer = 3212, π = Versuche = 15000, Treffer = 4851, π = Versuche = 20000, Treffer = 6416, π =
Erzeugung von Pseudozufallszahlen mit Computern
Erzeugung von Pseudozufallszahlen mit Computern Basisgeneratoren und deren Einfluss auf die Qualität der Ergebnisse Lorenz Hauswald IKTP, TU Dresden 7 Dezember 2011 1 / 26 Gliederung Grundlagen 1 Grundlagen
Mehr15 Grundlagen der Simulation
15 Grundlagen der Simulation 15.1 Einführung Komplexe Problemstellungen, die einer analytischen Behandlung nur sehr schwer oder gar nicht zugänglich sind Lösung von diskreten (oder analytischen) Optimierungsaufgaben,
MehrIT-Security. Teil 15: Zufall
IT-Security Teil 15: Zufall 09.05.17 1 Literatur [15-1] http://de.wikipedia.org/wiki/kryptographisch_sicherer_zufallszahlen generator [15-2] https://gnupg.org/documentation/manuals/gcrypt/fips-prng- Description.html
MehrAlgorithmische Kryptographie
Algorithmische Kryptographie Walter Unger Lehrstuhl für Informatik I 16. Februar 2007 Public-Key-Systeme: Rabin 1 Das System nach Rabin 2 Grundlagen Körper Endliche Körper F(q) Definitionen Quadratwurzel
MehrPseudozufallsgeneratoren
Pseudozufallsgeneratoren In welchen kryptographischen Verfahren werden keine Zufallszahlen benötigt? Wie generiert man Zufallszahlen in einer deterministischen Maschine wie dem Computer? Wenn man eine
MehrUE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 8. Zufallszahlen Generatoren Anwendungen
UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 8 Zufallszahlen Generatoren Anwendungen Institut für Pervasive Computing Johannes Kepler Universität Linz Altenberger Straße 69, A-4040
MehrStatistik, Datenanalyse und Simulation
Dr. Michael O. Distler distler@kph.uni-mainz.de Mainz, 16. November 2009 2. Monte Carlo-Methoden 2.1 Zufallszahlen - Warum? 2.2 Zahlendarstellung im Rechner 2.3 Generatoren 2.3.1 Linear kongruente Generatoren
MehrKryptographische Protokolle
Kryptographische Protokolle Lerneinheit 2: Generierung von Primzahlen Prof. Dr. Christoph Karg Studiengang Informatik Hochschule Aalen Wintersemester 2018/2019 15.11.2018 Einleitung Einleitung Diese Lerneinheit
MehrPollards Rho-Methode zur Faktorisierung
C A R L V O N O S S I E T Z K Y Pollards Rho-Methode zur Faktorisierung Abschlusspräsentation Bachelorarbeit Janosch Döcker Carl von Ossietzky Universität Oldenburg Department für Informatik Abteilung
MehrMiller-Rabin Test. Primzahl- und Zerlegbarkeitstests. Zeugen für die Zerlegbarkeit ganzer Zahlen
Miller-Rabin Test Primzahl- und Zerlegbarkeitstests Sei N eine positive ganze Zahl. Wie kann man möglichst effizient feststellen, ob N eine Primzahl oder zerlegbar ist? Dies ist die Aufgabe von Primzahlund
MehrZufallszahlen Mathematik zum Nachbilden von Zufälligkeit SommerUni 2013 Bergische Universität Wuppertal Autor: Prof. Dr.
Zufallszahlen Mathematik zum Nachbilden von Zufälligkeit SommerUni 23 Bergische Universität Wuppertal Autor: Prof. Dr. Roland Pulch Aufgabe: Konstruiere Zufallszahlen aus der Menge {,, 2, 3, 4, 5, 6, 7,
MehrProbabilistische Primzahltests
23.01.2006 Motivation und Überblick Grundsätzliches Vorgehen Motivation und Überblick Als Primzahltest bezeichnet man ein mathematisches Verfahren, mit dem ermittelt wird, ob eine gegebene Zahl eine Primzahl
Mehr4.1 Der Blum-Blum-Shub-Generator
4.1 Der Blum-Blum-Shub-Generator Der Blum-Blum-Shub-Generator oder BBS-Generator setzt bei der in Kapitel III vorgestellten Quadratrest-Vermutung an und funktioniert so: Als ersten Schritt wählt man eine
MehrMiller-Rabin Test. Primzahl- und Zerlegbarkeitstests. Zeugen für die Zerlegbarkeit ganzer Zahlen
Miller-Rabin Test Primzahl- und Zerlegbarkeitstests Sei N eine positive ganze Zahl. Wie kann man möglichst effizient feststellen, ob N eine Primzahl oder zerlegbar ist? Dies ist die Aufgabe von Primzahlund
Mehr3: Zahlentheorie / Primzahlen
Stefan Lucks Diskrete Strukturen (WS 2009/10) 96 3: Zahlentheorie / Primzahlen 3: Zahlentheorie / Primzahlen Stefan Lucks Diskrete Strukturen (WS 2009/10) 97 Definition 37 (Teiler, Vielfache, Primzahlen,
MehrZufallszahlen in AntBrain
Zufallszahlen SEP 291 Zufallszahlen in AntBrain Spezifikation, Teil II: Zum Beispiel könnte ein Objekt vom Typ Match die Spielfelder nach jeweils 1000 Spielrunden speichern; bei einer Anfrage nach den
MehrLösungen der Aufgaben
Lösungen der Aufgaben Aufgabe 1.3.1 Es gibt 42 mögliche Verschlüsselungen. Aufgabe 2.3.4 Ergebnisse sind 0, 4 und 4 1 = 4. Aufgabe 2.3.6 Da in Z 9 10 = 1 ist, erhalten wir x = c 0 + + c m = c 0 + + c m.
Mehr3: Primzahlen. 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen
3: Primzahlen 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen Definition 40 (Teiler, Vielfache, Primzahlen, zusammengesetzte Zahlen) Seien a, b N. a ist ein Teiler von b ( a b ), falls es ein k N gibt
MehrStatistics, Data Analysis, and Simulation SS 2015
Mainz, May 12, 2015 Statistics, Data Analysis, and Simulation SS 2015 08.128.730 Statistik, Datenanalyse und Simulation Dr. Michael O. Distler Dr. Michael O. Distler
MehrLiteratur. [9-3] [9-4]
Literatur [9-1] Willems, Wolfgang: Codierungstheorie und Kryptographie. Mathematik Kompakt, Birkhäuser, 2008 [9-2] Socher, Rolf: Algebra für Informatiker. Hanser, 2012 [9-3] https://de.wikipedia.org/wiki/fermatscher_primzahltest
Mehr7 Zufallszahlen, Simulation
7 Zufallszahlen, Simulation Es ist nützlich, Folgen von i.i.d. R[0, 1]-verteilten Zufallszahlen auf einem Rechner erzeugen zu können vgl. Simulation, Monte-Carlo-Verfahren). Letztere sind i.a. keine echten
Mehr4 Kryptologie. Übersicht
4 Kryptologie Übersicht 4.1 Der erweiterte euklidische Algorithmus................................ 38 4.2 Rechnen mit Restklassen modulo p................................... 39 4.3 Der kleine Satz von
MehrProbabilistische Algorithmen Zufallszahlen - Monte Carlo - Genetische Programmierung
Probabilistische Algorithmen Zufallszahlen - Monte Carlo - Genetische Programmierung 25. Mai 2009 Inhaltsverzeichnis Pseudozufallszahlen Kongruenzmethode Monte-Carlo-Algorithmen Bsp Primzahltest Genetische
MehrZahlentheorie, Arithmetik und Algebra I. Felix Teufel Hallo Welt! -Seminar - LS 2
Zahlentheorie, Arithmetik und Algebra I Felix Teufel 26.07.2017 Hallo Welt! -Seminar - LS 2 Überblick Modulare Arithmetik Größter gemeinsamer Teiler Primzahlen Eulersche Φ-Funktion RSA Quellen 26.07.2017
MehrKapitel 4. Kapitel 4 Restklassen (die modulo-rechnung)
Restklassen (die modulo-rechnung) Inhalt 4.1 4.1 Was Was sind sind Restklassen? [0], [0],[1], [1],...,...,[n 1] 4.2 4.2 Addition von von Restklassen [5] [5] + [7] [7] = [3] [3] 4.3 4.3 Multiplikation von
MehrVI.4 Elgamal. - vorgestellt 1985 von Taher Elgamal. - nach RSA das wichtigste Public-Key Verfahren
VI.4 Elgamal - vorgestellt 1985 von Taher Elgamal - nach RSA das wichtigste Public-Key Verfahren - besitzt viele unterschiedliche Varianten, abhängig von zugrunde liegender zyklischer Gruppe - Elgamal
Mehr3. Lösungsblatt
TECHNISCHE UNIVERSITÄT DARMSTADT FACHGEBIET THEORETISCHE INFORMATIK PROF JOHANNES BUCHMANN NABIL ALKEILANI ALKADRI Einführung in die Kryptographie WS 7/ 8 3 Lösungsblatt 67 P Matrizen und Determinanten
MehrKapitel III Ringe und Körper
Kapitel III Ringe und Körper 1. Definitionen und Beispiele Definition 117 Eine Algebra A = S,,, 0, 1 mit zwei zweistelligen Operatoren und heißt ein Ring, falls R1. S,, 0 eine abelsche Gruppe mit neutralem
MehrWahrscheinlichkeitsrechnung und Statistik
6. Vorlesung - 2018 Diskrete ZG eine diskrete ZG X wird vollständig durch ihre Wahrscheinlichkeitsverteilung beschrieben ( ) x1 x X 2... x i... = p 1 p 2... p i... P(X (a, b]) = und die Verteilungsfunktion
MehrÜbung ln(p) x aus dem Primzahlsatz π(x) x/ ln(x) folgt. Gehen Sie dabei wie folgt vor: i) p x
Übung 0 Übung 0 Zeigen Sie, dass der Primzahlsatz π(x) x/ ln(x) aus p x ln(p) x folgt Übung 02 Zeigen Sie, dass p x ln(p) x aus dem Primzahlsatz π(x) x/ ln(x) folgt Gehen Sie dabei wie folgt vor: i) p
MehrLösung polynomialer Kongruenzen
Seminar zur Zahlentheorie Sommersemester 2019 Lösung polynomialer Kongruenzen 16.05.2019 In diesem Vortrag beschäftigen wir uns mit dem Finden von Lösungen polynomialer Kongruenzen. Dazu werden wir das
MehrDiskrete Mathematik Kongruenzen
Diskrete Mathematik Kongruenzen 31. Mai 2006 1 Inhaltsverzeichnis 1. Einleitung 2. Prime Restklassen 3. Die Sätze von Euler und Fermat 4. Lineare Kongruenzen 5. Systeme 2 Einleitung 3 Fragestellung Wie
MehrPseudo-Zufallsgeneratoren basierend auf dem DLP
Seminar Codes und Kryptografie SS 2004 Struktur des Vortrags Struktur des Vortrags Ziel Motivation 1 Einleitung Ziel Motivation 2 Grundlegende Definitionen Zufallsgeneratoren 3 Generator Sicherheit 4 Generator
Mehr2008W. Vorlesung im 2008W Institut für Algebra Johannes Kepler Universität Linz
Mathematik Institut für Algebra Johannes Kepler Universität Linz Vorlesung im http://www.algebra.uni-linz.ac.at/students/win/ml Inhalt Definierende Eigenschaften Definition 0 ist eine natürliche Zahl;
MehrADS: Algorithmen und Datenstrukturen 2
ADS: Algorithmen und Datenstrukturen 2 Teil 11 Prof. Peter F. Stadler & Dr. Christian Höner zu Siederdissen Bioinformatik/IZBI Institut für Informatik & Interdisziplinäres Zentrum für Bioinformatik Universität
Mehr3 Public-Key-Kryptosysteme
Stand: 05.11.2013 Vorlesung Grundlagen und Methoden der Kryptographie Dietzfelbinger 3 Public-Key-Kryptosysteme 3.1 Verschlüsselung von Nachrichten Wir betrachten ganz einfache Kommunikationsszenarien.
MehrÄltere Aufgaben (bis 1998)
Ältere Aufgaben (bis 1998) Es waren in den 4 Stunden jeweils nur 2 Aufgaben zu bearbeiten, die einzelnen Aufgaben waren umfangreicher. September 1998, Aufgabe 1 Sei p eine ungerade Primzahl. a) Beweise:
MehrGrundlagen der Monte-Carlo-Simulation
Grundlagen der Monte-Carlo-Simulation Prof. Dr. V. Schmidt und S. Luck j 8. November 2007 page 2 Contents Motivation Erzeugung von SPZZ Software Transformation von SPZZ page 3 Motivation Motivation fur
MehrWahrscheinlichkeitsrechnung und Statistik
8. Vorlesung Pseudozufallszahlen sind, wie der Name schon sagt, keine echten Zufallszahlen, sondern werden durch Generatoren erzeugt. Als Pseudozufallszahlen bezeichnet man Zahlenfolgen die durch einen
MehrStatistik I für Betriebswirte Vorlesung 4
Statistik I für Betriebswirte Vorlesung 4 Prof. Dr. Hans-Jörg Starkloff TU Bergakademie Freiberg Institut für Stochastik 25. April 2016 Prof. Dr. Hans-Jörg Starkloff Statistik I für Betriebswirte Vorlesung
Mehr8. Woche Quadratische Reste und Anwendungen. 8. Woche: Quadratische Reste und Anwendungen 163/ 238
8 Woche Quadratische Reste und Anwendungen 8 Woche: Quadratische Reste und Anwendungen 163/ 238 Quadratische Reste Ḋefinition Quadratischer Rest Sei n N Ein Element a Z n heißt quadratischer Rest in Z
MehrZufallszahlen. Diskrete Simulation. Zufallszahlengeneratoren - Zufallszahlen
Zufallszahlen Zufallszahlengeneratoren Transformation von Zufallszahlen Test von Zufallszahlengeneratoren Otto-von-Guericke-Universität Magdeburg Thomas Schulze Zufallszahlengeneratoren - Zufallszahlen
MehrEinführung in die Zahlentheorie
Einführung in die Zahlentheorie Jörn Steuding Uni Wü, SoSe 2015 I Zahlen II Modulare Arithmetik III Quadratische Reste IV Diophantische Gleichungen V Quadratische Formen Wir behandeln die wesentliche Zahlentheorie
MehrKryptographische Zufallszahlen. Schieberegister, Output-Feedback
Kryptographische Zufallszahlen Schieberegister, Output-Feedback Stromchiffren Bei Stromchiffren wird die Eingabe zeichenweise bzw. blockweise mit einer parallel dazu erzeugten Schlüsselfolge meist mit
Mehr1.4 Die maximale Periode
1.4 Die maximale Periode Wann hat ein linearer Kongruenzgenerator zum Modul m die maximal mögliche Periode m? Für einen multiplikativen Generator ist das nicht möglich, weil man vom Folgenglied 0 nie mehr
MehrRSA Parameter öffentlich: N = pq mit p, q prim und e Z RSA Parameter geheim: d Z φ(n)
RSA Parameter { öffentlich: N = pq mit p, q prim und e Z RSA Parameter φ(n) geheim: d Z φ(n) mit ed = 1 mod φ(n). Satz RSA Parameter Generierung RSA-Parameter (N, e, d) können in Zeit O(log 4 N) generiert
Mehr7 Der kleine Satz von Fermat
7 Der kleine Satz von Fermat Polynomkongruenz modulo p. Sei p eine Primzahl, n 0 und c 0,..., c n Z. Wir betrachten die Kongruenz ( ) c 0 + c 1 X +... + c n 1 X n 1 + c n X n 0 mod p d.h.: Wir suchen alle
Mehr1. Grundbegri e der Stochastik
. Grundbegri e der Stochastik Raum der Ereignisse. Die einelementigen Teilmengen f!g heißen auch Elementarereignisse. Das Ereignis A tritt ein, wenn ein! A eintritt. A ist ein geeignetes System von Teilmengen
Mehr1.5.4 Quantile und Modi. Bem [Quantil, Modus]
1.5.4 Quantile und Modi 1.5 Erwartungswert und Varianz Bem. 1.73. [Quantil, Modus] und Vertei- Analog zu Statistik I kann man auch Quantile und Modi definieren. Gegeben sei eine Zufallsvariable X mit Wahrscheinlichkeitsverteilung
Mehr1.Vortrag: Rechnen mit Restklassen/modulo einer Zahl
Westfälische Wilhelms-Universität Münster Mathematik Sommersemester 2017 Seminar: Verschlüsselungs- und Codierungstheorie Leitung: Thomas Timmermann 1.Vortrag: Rechnen mit Restklassen/modulo einer Zahl
Mehr5. Spezielle stetige Verteilungen
5. Spezielle stetige Verteilungen 5.1 Stetige Gleichverteilung Eine Zufallsvariable X folgt einer stetigen Gleichverteilung mit den Parametern a und b, wenn für die Dichtefunktion von X gilt: f x = 1 für
MehrZahlentheorie I. Christoph Egger. 18. Juni Christoph Egger Zahlentheorie I 18. Juni / 32
Zahlentheorie I Christoph Egger 18. Juni 2010 Christoph Egger Zahlentheorie I 18. Juni 2010 1 / 32 Übersicht 1 Modulare Arithmetik Addition & Subtraktion Multiplikation schnelles Potenzieren 2 Teiler Definition
MehrVorab : Von dem indischen Mathematiker D. R. Kaprekar stammt folgender Zusammenhang :
Seite 1 Algorithmen zur Erzeugung von Kaprekar- Konstanten Autor : Dipl.- Ing. Josef Meiler ; Datum : März 015 Vorab : Von dem indischen Mathematiker D. R. Kaprekar stammt folgender Zusammenhang : a) man
Mehr1 Körper. Wir definieren nun, was wir unter einem Körper verstehen, und sehen dann, dass es noch andere, ganz kleine Körper gibt:
1 Körper Sie kennen bereits 2 Beispiele von Zahlkörpern: (Q, +, ) (R, +, ) die rationalen Zahlen mit ihrer Addition und Multiplikation die reellen Zahlen mit ihrer Addition und Multiplikation Vielleicht
MehrZufallszahlenerzeugung
Zufallszahlenerzeugung Anwendunsgebiete: z.b.: - Computerspiele - Kryptographie - Monte-Carlo-Methoden - Simulation Melanie Kaspar, Prof. Dr. B. Grabowski 1 Wie erzeuge ich Zufallszahlen, die sich so verhalten,
MehrCarmichael-Zahlen und Miller-Rabin-Test
Institut für Mathematik Universität Hannover Proseminar: Zahlentheorie und Kryptographie Prof. Dr. C. Bessenrodt Carmichael-Zahlen und Miller-Rabin-Test Felix Pape 15. Mai 2003 1 Carmichael-Zahlen 1.1
MehrKongruenzen und Restklassenringe. 2. Kongruenzen und Restklassenringe
2. Kongruenzen und Restklassenringe Kongruenzen Definition: Wir sagen a ist kongruent zu b modulo m schreiben a b mod m, wenn m die Differenz b-a te Beispiel: Es gilt 2 19 mod 21, 10 0 mod 2. Reflexivität:
MehrProbabilistische Algorithmen
Probabilistische Algorithmen Michal Švancar Gerardo Balderas Hochschule Zittau/Görlitz 21. Dezember 2014 Michal Švancar, Gerardo Balderas (HSZG) Probabilistische Algorithmen 21. Dezember 2014 1 / 40 Inhaltsverzeichnis
Mehr7 Die Sätze von Fermat, Euler und Wilson
53 7 Die Sätze von Fermat, Euler und Wilson Es gibt einige Sätze aus der elementaren Zahlentheorie, die Spezialfälle von Aussagen über endliche Gruppen sind. Z.B. gilt für ein beliebiges Element x einer
MehrLösungsvorschlag zur Nachklausur. Zeigen Sie die folgenden voneinander unabhängigen Aussagen:
Lösungsvorschlag zur Nachklausur Aufgabe 1 Es seien G eine Gruppe und H, K zwei Untergruppen von G. Weiterhin gelte G = {hk h H, k K}. Zeigen Sie die folgenden voneinander unabhängigen Aussagen: a) Sind
MehrKapitel 6: Das quadratische Reziprozitätsgesetz
Kapitel 6: Das quadratische Reziprozitätsgesetz Ziel dieses Kapitels: die Untersuchung der Lösbarkeit der Kongruenzgleichung X also die Frage, ob die ganze Zahl Z eine Quadratwurzel modulo P besitzt. Im
MehrIT-Security. Teil 14: Primzahltest
IT-Security Teil 14: Primzahltest 08.05.17 1 Literatur [14-1] Willems, Wolfgang: Codierungstheorie und Kryptographie. Mathematik Kompakt, Birkhäuser, 2008 [14-2] Socher, Rolf: Algebra für Informatiker.
MehrLösungen zur Klausur GRUNDLAGEN DER WAHRSCHEINLICHKEITSTHEORIE UND STATISTIK
Institut für Stochastik Dr. Steffen Winter Lösungen zur Klausur GRUNDLAGEN DER WAHRSCHEINLICHKEITSTHEORIE UND STATISTIK für Studierende der INFORMATIK vom 17. Juli 01 (Dauer: 90 Minuten) Übersicht über
MehrNr. 4: Pseudo-Zufallszahlengeneratoren
Proseminar: Finanzmathematische Modelle und Simulationen Martin Dieckmann WS 09/0 Nr. 4: Pseudo-Zufallszahlengeneratoren Begriff Pseudo-Zufallszahl Zufallszahlen im Rechner entstehen letztlich immer durch
MehrElliptische Kurven in der Kryptographie, Teil III. 1 Supersingularität
Elliptische Kurven in der Kryptographie, Teil III Vortrag zum Seminar zur Funktionentheorie, 03.1.007 Julia Baumgartner In diesem Vortrag wollen wir supersinguläre elliptische Kurven betrachten und dann
MehrSeminararbeit zur Zahlentheorie. Die Gaußschen Zahlen
Universität Paderborn WS 2007/2008 Warburger Str. 100 33098 Paderborn Seminararbeit zur Zahlentheorie Die Gaußschen Zahlen Tatjana Linkin, Svetlana Krez 20. November 2007 INHALTSVERZEICHNIS 1 Inhaltsverzeichnis
MehrWiederholungsblatt zur Gruppentheorie
Wiederholungsblatt zur Gruppentheorie von Christian Elsholtz, TU Clausthal, WS 1999/2000 Um Ihnen zu helfen, die Gruppentheorie zu wiederholen, stelle ich hier einige wichtige Beispiele und einige Lösungen
Mehr3.5 Kryptographie - eine Anwendung der Kongruenzrechnung
1 3.5 Kryptographie - eine Anwendung der Kongruenzrechnung Das Wort Kryptographie leitet sich aus der griechischen Sprache ab, nämlich aus den beiden Worten κρυπτ oς(kryptos)=versteckt, geheim und γραϕɛιν(grafein)=schreiben.
Mehr6: Diskrete Wahrscheinlichkeit
Stefan Lucks Diskrete Strukturen (WS 2009/10) 219 6: Diskrete Wahrscheinlichkeit 6: Diskrete Wahrscheinlichkeit Stefan Lucks Diskrete Strukturen (WS 2009/10) 220 Wahrscheinlichkeitsrechnung Eines der wichtigsten
MehrAufgabe der Kryptografie
Aufgabe der Kryptografie Eve möchte die Unterhaltung mithören und/oder ausgetauschte Informationen ändern. Alice & Bob kommunzieren über einen unsicheren Kanal. Alice & Bob nutzen Verschlüsselung und digitale
MehrDWT 1.4 Rechnen mit kontinuierlichen Zufallsvariablen 240/476 c Ernst W. Mayr
1.4.4 Laplace-Prinzip in kontinuierlichen Wahrscheinlichkeitsräumen Das folgende Beispiel zeigt, dass im kontinuierlichen Fall die Bedeutung von gleichwahrscheinlich nicht immer ganz klar sein muss. Bertrand
MehrInhalt 2007W. Vorlesung im 2007W
Institut für Algebra Johannes Kepler Universität Linz Vorlesung im http://www.algebra.uni-linz.ac.at/students/win/ml Inhalt Definierende Eigenschaften 0 ist eine natürliche Zahl; Zu jeder natürlichen Zahl
MehrKryptographie und Komplexität
Kryptographie und Komplexität Einheit 4.2 Primzahltests 1. Deterministische Primzahltests 2. Der Primzahltest von Solovay-Strassen 3. Der Milner-Rabin Test Wozu Primzahltests? RSA Schlüssel benötigen sehr
MehrKryptographie und Komplexität
Kryptographie und Komplexität Einheit 4.2 Primzahltests 1. Deterministische Primzahltests 2. Der Primzahltest von Solovay-Strassen 3. Der Milner-Rabin Test Wozu Primzahltests? RSA Schlüssel benötigen sehr
MehrElliptische Kurven und ihre Anwendung in der Kryptographie
Elliptische Kurven und ihre Anwendung in der Kryptographie Carsten Baum Institut für Informatik Universität Potsdam 17. Juni 2009 1 / 29 Inhaltsverzeichnis 1 Mathematische Grundlagen Charakteristik eines
MehrI Grundbegriffe 1 1 Wahrscheinlichkeitsräume Bedingte Wahrscheinlichkeiten und Unabhängigkeit Reellwertige Zufallsvariablen...
Inhaltsverzeichnis I Grundbegriffe 1 1 Wahrscheinlichkeitsräume......................... 1 2 Bedingte Wahrscheinlichkeiten und Unabhängigkeit........... 7 3 Reellwertige Zufallsvariablen........................
MehrVorlesung Diskrete Strukturen Gruppe und Ring
Vorlesung Diskrete Strukturen Gruppe und Ring Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2009/10 1 Bernhard Ganter, TU Dresden Modul Einführung in
MehrEuklidische Algorithmus, Restklassenringe (Z m,, )
Euklidische Algorithmus, Restklassenringe (Z m,, ) Manfred Gruber http://www.cs.hm.edu/~gruber SS 2008, KW 14 Gröÿter gemeinsamer Teiler Denition 1. [Teiler] Eine Zahl m N ist Teiler von n Z, wenn der
MehrEinführung (1) In der Praxis finden Sie viele Anwendungsfelder für Zufallszahlen. Beispiele
11. Zufallszahlen 1 Einführung (1) In der Praxis finden Sie viele Anwendungsfelder für Zufallszahlen. Beispiele sind 1. Computersimulationen 2. Optimierungsprobleme und 3. Hochdimensionale Integrale. Problemstellung:
MehrRandomisierte Algorithmen 2. Erste Beispiele
Randomisierte Algorithmen Randomisierte Algorithmen 2. Erste Beispiele Thomas Worsch Fakultät für Informatik Karlsruher Institut für Technologie Wintersemester 2016/2017 1 / 35 Randomisierter Identitätstest
MehrStatistik für Ingenieure Vorlesung 3
Statistik für Ingenieure Vorlesung 3 Prof. Dr. Hans-Jörg Starkloff TU Bergakademie Freiberg Institut für Stochastik 14. November 2017 3. Zufallsgrößen 3.1 Zufallsgrößen und ihre Verteilung Häufig sind
Mehr9. Primitivwurzeln. O. Forster: Einführung in die Zahlentheorie
9. Primitivwurzeln 9.1. Satz. Sei G eine zyklische Gruppe der Ordnung m und g G ein erzeugendes Element. Das Element a := g k, k Z, ist genau dann ein erzeugendes Element von G, wenn k zu m teilerfremd
MehrVI.3 RSA. - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman. - vorgestellt erstes Public-Key Verschlüsselungsverfahren
VI.3 RSA - RSA benannt nach seinen Erfindern R. Rivest, A. Shamir und L. Adleman - vorgestellt 1977 - erstes Public-Key Verschlüsselungsverfahren - auch heute noch das wichtigste Public-Key Verfahren 1
MehrGrundlagen: Algorithmen und Datenstrukturen
Grundlagen: Algorithmen und Datenstrukturen Prof. Dr. Hanjo Täubig Lehrstuhl für Effiziente Algorithmen (Prof. Dr. Ernst W. Mayr) Institut für Informatik Technische Universität München Sommersemester 2010
MehrStatistik I für Betriebswirte Vorlesung 3
Statistik I für Betriebswirte Vorlesung 3 Dr. Andreas Wünsche TU Bergakademie Freiberg Institut für Stochastik 15. April 2019 Dr. Andreas Wünsche Statistik I für Betriebswirte Vorlesung 3 Version: 1. April
MehrAlgorithmentheorie Randomisierung
Algorithmentheorie 03 - Randomisierung Prof. Dr. S. Albers Randomisierung Klassen von randomisierten Algorithmen Randomisierter Quicksort Randomisierter Primzahltest Kryptographie 2 1. Klassen von randomisierten
Mehr7.5 Erwartungswert, Varianz
7.5 Erwartungswert, Varianz Def. 7.5.: a) X sei eine diskrete ZV, die bei unendl. vielen Werten x k folgende Zusatzbedingung erfüllt: x k p k
MehrVorlesung Mathematik 2 für Informatik
Vorlesung Mathematik 2 für Informatik Inhalt: Modulare Arithmetik Lineare Algebra Vektoren und Matrizen Lineare Gleichungssysteme Vektorräume, lineare Abbildungen Orthogonalität Eigenwerte und Eigenvektoren
MehrQuantenalgorithmus für die Faktorisierung ganzer Zahlen
Quantenalgorithmus für die Faktorisierung ganzer Zahlen Ausgehend von dem allgemeinen Algorithmus für das Hidden Subgroup Problem behandlen wir in diesem Abschnitt den Quantenalgorithmus für die Faktorisierung
MehrExistenz unendlich vieler Primzahlen Es werden mehrere Beweise für die Existenz unendlich vieler Primzahlen vorgetragen.
Seminarausarbeitung Existenz unendlich vieler Primzahlen Es werden mehrere Beweise für die Existenz unendlich vieler Primzahlen vorgetragen. Andre Eberhard Mat. Nr. 25200607 5. November 207 Inhaltsverzeichnis
MehrUniversität Zürich HS , Vorlesung #3
Algebraic Number Theory P. Habegger Universität Zürich HS 2010 6.10.2010, Vorlesung #3 1.4 Diskriminante Die primitivste Invariante eines Zahlkörpers ist sein Grad. Die Diskriminante eines Zahlkörpers
Mehr1 Vorbereitung: Potenzen 2. 2 Einstieg und typische Probleme 3
Das vorliegende Skript beschäftigt sich mit dem Thema Rechnen mit Kongruenzen. Das Skript entsteht entlang einer Unterrichtsreihe in der Mathematischen Schülergesellschaft (MSG) im Jahr 2013. Die vorliegende
MehrZufall oder Absicht?
Zufall oder Absicht? Randomisierung und Derandomisierung Prof. Markus Bläser Universität des Saarlandes 4. Januar 2010 1 / 21 Zufall oder Absicht? 1 Randomisierte Algorithmen 2 Polynom-Identitätstests
MehrHallo Welt für Fortgeschrittene
Hallo Welt für Fortgeschrittene Zahlentheorie, Arithmetik und Algebra II Benjamin Fischer Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Gliederung Lineare Rekursion BigInteger Chinesischer
Mehr1.2 Eigenschaften der ganzen Zahlen
Lineare Algebra I WS 2015/16 c Rudolf Scharlau 13 1.2 Eigenschaften der ganzen Zahlen Dieser Abschnitt handelt von den gewöhlichen ganzen Zahlen Z und ihren Verknüpfungen plus und mal. Man kann die natürlichen
MehrANALYSIS 2 VERSION 26. Juni 2018
ANALYSIS VERSION 6 Juni 018 LISIBACH ANDRÉ 6 Potenzreihenentwicklung 61 Einleitung Die Linearisierung einer Funktion f(x an der Stelle x ist die Funktion L(x f( + df dx ((x Die Linearisierung ist ein Polynom
MehrLösungen zum 9. Übungsblatt zur Vorlesung Höhere Mathematik II für biw/ciw/mach/mage/vt
Karlsruher Institut für Technologie Institut für Algebra und Geometrie PD Dr. F. Hettlich Dr. S. Schmitt Dipl.-Math. J. Kusch Karlsruhe, den 09.06.20 Lösungen zum 9. Übungsblatt zur Vorlesung Höhere Mathematik
Mehr