7 Zufallszahlen. 7.1 Bedeutung

Größe: px
Ab Seite anzeigen:

Download "7 Zufallszahlen. 7.1 Bedeutung"

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 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

Mehr

15 Grundlagen der Simulation

15 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,

Mehr

IT-Security. Teil 15: Zufall

IT-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

Mehr

Algorithmische Kryptographie

Algorithmische 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

Mehr

Pseudozufallsgeneratoren

Pseudozufallsgeneratoren Pseudozufallsgeneratoren In welchen kryptographischen Verfahren werden keine Zufallszahlen benötigt? Wie generiert man Zufallszahlen in einer deterministischen Maschine wie dem Computer? Wenn man eine

Mehr

UE 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 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

Mehr

Statistik, Datenanalyse und Simulation

Statistik, 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

Mehr

Kryptographische Protokolle

Kryptographische 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

Mehr

Pollards Rho-Methode zur Faktorisierung

Pollards 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

Mehr

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

Miller-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

Mehr

Zufallszahlen Mathematik zum Nachbilden von Zufälligkeit SommerUni 2013 Bergische Universität Wuppertal Autor: Prof. Dr.

Zufallszahlen 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,

Mehr

Probabilistische Primzahltests

Probabilistische 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

Mehr

4.1 Der Blum-Blum-Shub-Generator

4.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

Mehr

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

Miller-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

Mehr

3: Zahlentheorie / Primzahlen

3: 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,

Mehr

Zufallszahlen in AntBrain

Zufallszahlen 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

Mehr

Lösungen der Aufgaben

Lö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.

Mehr

3: Primzahlen. 111 S. Lucks Diskr Strukt. (WS 18/19) 3: Primzahlen

3: 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

Mehr

Statistics, Data Analysis, and Simulation SS 2015

Statistics, 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

Mehr

Literatur. [9-3] [9-4]

Literatur. [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

Mehr

7 Zufallszahlen, Simulation

7 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

Mehr

4 Kryptologie. Übersicht

4 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

Mehr

Probabilistische Algorithmen Zufallszahlen - Monte Carlo - Genetische Programmierung

Probabilistische 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

Mehr

Zahlentheorie, Arithmetik und Algebra I. Felix Teufel Hallo Welt! -Seminar - LS 2

Zahlentheorie, 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

Mehr

Kapitel 4. Kapitel 4 Restklassen (die modulo-rechnung)

Kapitel 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

Mehr

VI.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 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

Mehr

3. Lösungsblatt

3. 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

Mehr

Kapitel III Ringe und Körper

Kapitel 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

Mehr

Wahrscheinlichkeitsrechnung und Statistik

Wahrscheinlichkeitsrechnung 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 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

Mehr

Lösung polynomialer Kongruenzen

Lö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

Mehr

Diskrete Mathematik Kongruenzen

Diskrete 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

Mehr

Pseudo-Zufallsgeneratoren basierend auf dem DLP

Pseudo-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

Mehr

2008W. Vorlesung im 2008W Institut für Algebra Johannes Kepler Universität Linz

2008W. 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;

Mehr

ADS: Algorithmen und Datenstrukturen 2

ADS: 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

Mehr

3 Public-Key-Kryptosysteme

3 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) Ä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:

Mehr

Grundlagen der Monte-Carlo-Simulation

Grundlagen 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

Mehr

Wahrscheinlichkeitsrechnung und Statistik

Wahrscheinlichkeitsrechnung 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

Mehr

Statistik I für Betriebswirte Vorlesung 4

Statistik 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

Mehr

8. 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 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

Mehr

Zufallszahlen. Diskrete Simulation. Zufallszahlengeneratoren - Zufallszahlen

Zufallszahlen. Diskrete Simulation. Zufallszahlengeneratoren - Zufallszahlen Zufallszahlen Zufallszahlengeneratoren Transformation von Zufallszahlen Test von Zufallszahlengeneratoren Otto-von-Guericke-Universität Magdeburg Thomas Schulze Zufallszahlengeneratoren - Zufallszahlen

Mehr

Einführung in die Zahlentheorie

Einfü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

Mehr

Kryptographische Zufallszahlen. Schieberegister, Output-Feedback

Kryptographische 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

Mehr

1.4 Die maximale Periode

1.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

Mehr

RSA 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 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

Mehr

7 Der kleine Satz von Fermat

7 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

Mehr

1. Grundbegri e der Stochastik

1. 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

Mehr

1.5.4 Quantile und Modi. Bem [Quantil, Modus]

1.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

Mehr

1.Vortrag: Rechnen mit Restklassen/modulo einer Zahl

1.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

Mehr

5. Spezielle stetige Verteilungen

5. 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

Mehr

Zahlentheorie I. Christoph Egger. 18. Juni Christoph Egger Zahlentheorie I 18. Juni / 32

Zahlentheorie 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

Mehr

Vorab : Von dem indischen Mathematiker D. R. Kaprekar stammt folgender Zusammenhang :

Vorab : 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

Mehr

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

1 Körper. Wir definieren nun, was wir unter einem Körper verstehen, und sehen dann, dass es noch andere, ganz kleine Körper gibt: 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

Mehr

Zufallszahlenerzeugung

Zufallszahlenerzeugung 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,

Mehr

Carmichael-Zahlen und Miller-Rabin-Test

Carmichael-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

Mehr

Kongruenzen und Restklassenringe. 2. Kongruenzen und Restklassenringe

Kongruenzen 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:

Mehr

Probabilistische Algorithmen

Probabilistische 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

Mehr

7 Die Sätze von Fermat, Euler und Wilson

7 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

Mehr

Lösungsvorschlag zur Nachklausur. Zeigen Sie die folgenden voneinander unabhängigen Aussagen:

Lö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

Mehr

Kapitel 6: Das quadratische Reziprozitätsgesetz

Kapitel 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

Mehr

IT-Security. Teil 14: Primzahltest

IT-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.

Mehr

Lösungen zur Klausur GRUNDLAGEN DER WAHRSCHEINLICHKEITSTHEORIE UND STATISTIK

Lö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

Mehr

Nr. 4: Pseudo-Zufallszahlengeneratoren

Nr. 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

Mehr

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

Elliptische 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

Mehr

Seminararbeit zur Zahlentheorie. Die Gaußschen Zahlen

Seminararbeit 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

Mehr

Wiederholungsblatt zur Gruppentheorie

Wiederholungsblatt 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

Mehr

3.5 Kryptographie - eine Anwendung der Kongruenzrechnung

3.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.

Mehr

6: Diskrete Wahrscheinlichkeit

6: 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

Mehr

Aufgabe der Kryptografie

Aufgabe 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

Mehr

DWT 1.4 Rechnen mit kontinuierlichen Zufallsvariablen 240/476 c Ernst W. Mayr

DWT 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

Mehr

Inhalt 2007W. Vorlesung im 2007W

Inhalt 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

Mehr

Kryptographie und Komplexität

Kryptographie 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

Mehr

Kryptographie und Komplexität

Kryptographie 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

Mehr

Elliptische Kurven und ihre Anwendung in der Kryptographie

Elliptische 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

Mehr

I Grundbegriffe 1 1 Wahrscheinlichkeitsräume Bedingte Wahrscheinlichkeiten und Unabhängigkeit Reellwertige Zufallsvariablen...

I 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........................

Mehr

Vorlesung Diskrete Strukturen Gruppe und Ring

Vorlesung 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

Mehr

Euklidische Algorithmus, Restklassenringe (Z m,, )

Euklidische 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

Mehr

Einführung (1) In der Praxis finden Sie viele Anwendungsfelder für Zufallszahlen. Beispiele

Einfü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:

Mehr

Randomisierte Algorithmen 2. Erste Beispiele

Randomisierte 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

Mehr

Statistik für Ingenieure Vorlesung 3

Statistik 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

Mehr

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

9. 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

Mehr

VI.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 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

Mehr

Grundlagen: Algorithmen und Datenstrukturen

Grundlagen: 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

Mehr

Statistik I für Betriebswirte Vorlesung 3

Statistik 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

Mehr

Algorithmentheorie Randomisierung

Algorithmentheorie Randomisierung Algorithmentheorie 03 - Randomisierung Prof. Dr. S. Albers Randomisierung Klassen von randomisierten Algorithmen Randomisierter Quicksort Randomisierter Primzahltest Kryptographie 2 1. Klassen von randomisierten

Mehr

7.5 Erwartungswert, Varianz

7.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

Mehr

Vorlesung Mathematik 2 für Informatik

Vorlesung 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

Mehr

Quantenalgorithmus für die Faktorisierung ganzer Zahlen

Quantenalgorithmus 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

Mehr

Existenz unendlich vieler Primzahlen Es werden mehrere Beweise für die Existenz unendlich vieler Primzahlen vorgetragen.

Existenz 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

Mehr

Universität Zürich HS , Vorlesung #3

Universitä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

Mehr

1 Vorbereitung: Potenzen 2. 2 Einstieg und typische Probleme 3

1 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

Mehr

Zufall oder Absicht?

Zufall 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

Mehr

Hallo Welt für Fortgeschrittene

Hallo 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

Mehr

1.2 Eigenschaften der ganzen Zahlen

1.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

Mehr

ANALYSIS 2 VERSION 26. Juni 2018

ANALYSIS 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

Mehr

Lösungen zum 9. Übungsblatt zur Vorlesung Höhere Mathematik II für biw/ciw/mach/mage/vt

Lö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