Sie sind auf Seite 1von 7

Verfahren zur Gewinnung

großer Primzahlen (Primzahltests)


Primfaktorzerlegung

6936 = 2 ⋅ 3468

= 2 ⋅ 2 ⋅ 1734

= 2 ⋅ 2 ⋅ 2 ⋅ 867

= 2 ⋅ 2 ⋅ 2 ⋅ 3 ⋅ 289

= 2 ⋅ 2 ⋅ 2 ⋅ 3 ⋅ 17 ⋅ 17

= 23 ⋅ 3 ⋅ 17 2

Verfahren zur Gewinnung großer Primzahlen (Primzahltest)


Adrian Kulisch / adrian.kulisch@mailbox.tu-dresden.de Folie 2
Proseminar Sicherheit in Computersystemen // 18.06.2019
Solovay-Strassen-Test

Verfahren zur Gewinnung großer Primzahlen (Primzahltest)


Adrian Kulisch / adrian.kulisch@mailbox.tu-dresden.de Folie 3
Proseminar Sicherheit in Computersystemen // 18.06.2019
Solovay-Strassen-Test
Algorithmus

Ist p prim?

Wähle Zufallszahl a < p

≠1
Berechne ggT(a, p)
=1
Wdh.
Berechne j = a(p–1)/2 mod p j ≠ J(a, p)
p ist zusammengesetzt.
und Jacobi-Symbol J(a, p)
j ≠ J(a, p)
a ist Zeuge, dass p zu mind. 50% nach t 1
p ist zu 1 – t prim.
prim ist. Ausführungen 2

Verfahren zur Gewinnung großer Primzahlen (Primzahltest)


Adrian Kulisch / adrian.kulisch@mailbox.tu-dresden.de Folie 4
Proseminar Sicherheit in Computersystemen // 18.06.2019
Rabin-Miller-Test

Verfahren zur Gewinnung großer Primzahlen (Primzahltest)


Adrian Kulisch / adrian.kulisch@mailbox.tu-dresden.de Folie 5
Proseminar Sicherheit in Computersystemen // 18.06.2019
Rabin-Miller-Test
Vorberechnungen

Zu testende Zufallszahl p

Berechne b, sodass 2b die


größte Zweierpotenz ist, die p –
1 teilt.

Berechne m, sodass
p – 1 = 2b · m

Verfahren zur Gewinnung großer Primzahlen (Primzahltest)


Adrian Kulisch / adrian.kulisch@mailbox.tu-dresden.de Folie 6
Proseminar Sicherheit in Computersystemen // 18.06.2019
Rabin-Miller-Test
Algorithmus

Ist p prim? Wähle Zufallszahl a < p

Wdh.
Setze j = 0, z = am mod p

ja
a ist Zeuge. z = 1 oder z = p – 1?
nein
ja
j > 0 und z = 1? p ist zusammengesetzt.
nein
ja
z = p – 1?
nein
j<b j=b
j++, z = z2 mod p

Verfahren zur Gewinnung großer Primzahlen (Primzahltest)


Adrian Kulisch / adrian.kulisch@mailbox.tu-dresden.de Folie 7
Proseminar Sicherheit in Computersystemen // 18.06.2019