Kryptologie/Probedivision (Primzahltest 1)

Aus Wikiversity


Einleitung

Beim RSA-Kryptosystem werden sehr große und zufällig gewählte Primzahlen verwendet. Da diese aus Sicherheitsgründen nach keiner Formel konstruiert werden dürfen, wählt man stattdessen eine zufällige Zahl der gewünschten Größe und überprüft anschließend, ob diese prim ist[1]. Mit der Probedivision können wir eindeutig zeigen, ob es sich bei einer Zahl um eine Primzahl handelt[2].

Die Probedivision beruht auf folgendem Satz:

Satz Primteiler

Sei eine zusammengesetzte Zahl, dann existiert ein Primteiler von , für den gilt: [2].

Beweis Satz Primteiler

Voraussetzung

Sei ist zusammengesetzt

Zu zeigen

Dann existiert ein Primteiler von mit

Beweis

Primzahl und Satz Primteiler
Primzahl
Sei mit , dann heißt Primzahl oder prime Zahl, wenn gilt:

besitzt nur zwei Teiler in , nämlich und .

Andernfalls heißt zusammengesetzte Zahl[3].

Satz Primteiler
Sei mit , dann hat einen Primteiler, d.h. einen Teiler, der

gleichzeitig eine Primzahl ist[4].

Da eine zusammengesetzte Zahl sein soll, handelt es sich nach der Definition von Primzahlen nicht um eine Primzahl.

Es gibt also zwei Zahlen mit und , für die gilt: .

Es gilt außerdem: oder .

Wären beide Zahlen größer als , dann wäre .

Da und nach Satz Primteiler prime Teiler besitzen, teilen diese Primteiler auch .

Somit besitzt einen Primteiler für den gilt: [2].

Probedivision

Algorithmus der Probedivision

Sei  ungerade (für gerade ist Primteiler). Ziel ist es zu ermitteln, ob prim oder zusammengesetzt ist.

  1. Berechne
    • Ist bekannt, dass prim, dann ist zusammengesetzt und die Probedivision abgeschlossen
    • Andernfalls muss der Algorithmus fortgeführt werden
  2. Wähle eine Primzahl
    • Wurde die Probedivision noch nicht auf angewandt, wähle
    • Ist dies mindestens der zweite Durchlauf von Schritt 2 auf , dann wähle die nächstgrößere Primzahl zu diesem Durchlauf
  3. Ermittle, ob die Primzahl ein Teiler von ist
    • Gilt , dann ist zusammengesetzt und die Probedivision abgeschlossen
    • Gilt , dann und es gibt ein , welches noch nicht getestet wurde, dann wiederhole ab Schritt 2
    • Wurden alle durchlaufen und für all diese gilt , so ist prim und die Probedivision abgeschlossen[2]

Beispiel

Tabelle 1: Primzahltabelle für die Primzahlen bis
2
3
5
7
11
13
17
19

Mit der Probedivision testen wir, ob prim ist.

Wir müssen also durch alle möglichen Primzahlen teilen.

Wir lesen die Primzahlen aus einer Primzahltabelle ab (siehe Tabelle 1).

und sind alle in Frage kommende Primzahlen[5].

Nun muss man durch jede dieser Primzahlen nach dem Algorithmus der Probedivision einzeln dividieren.

Es gilt:

, da und .

Für die übrigen Primzahlen erfolgt die Begründung analog und es gilt:

, , , , , , und .

Da keine der Primzahlen ein Primteiler von ist, muss prim sein.

Probedivision als Primzahltest

In der Praxis ist die Verwendung der Probedivision problematisch, da beispielsweise das RSA-Verschlüsselungsverfahren Primzahlen verwendet, die größer als sind[6]. Darüber hinaus kennt man ab einer gewissen Größe der Zahl die Primzahlen nicht mehr und ihre Berechnung ist zu zeitintensiv, sodass man neben den Primzahlen auch einige der übrigen ungeraden Zahlen kleiner (nämlich ab einer gewissen Größe) ausprobieren muss[7]. Für eine Primzahl der Größe muss man somit mehr als Zyklen der Probedivision durchführen. In der Praxis werden daher, beispielsweise beim RSA-Verschlüsselungsalgorithmus, effizientere Verfahren verwendet[6].

Lernaufgabe

Aufgabe

Bestimmen Sie mittels Probedivision, ob es sich bei um eine Primzahl oder eine zusammengesetzte Zahl handelt. Sie können Tabelle 2 nutzen, um die zu testenden Primzahlen zu erhalten.

Tabelle 2: Primzahlen bis
2
3
5
7
11
13
17
19
23
29
31
37
41
43
47
53
Lösung
Wir beginnen mit Schritt 1: Da nicht prim, müssen wir mit Schritt 2 und 3 fortfahren.

Wir testen also alle Primzahlen , bis wir eine Primzahl finden, die teilt:

, , , , , , , , , , , , .

Da , ist zusammengesetzt.

Lernempfehlung

Kursübersicht
Übergeordnete Lerneinheit
7.1: Schlüsselerzeugung des RSA-Verschlüsselungsverfahrens
Vorherige Lerneinheit Aktuelle Lerneinheit Empfohlene Lerneinheit
7.1.1: Primzahl(-eigenschaften) 7.1.2: Probedivision (Primzahltest 1) 7.1.3: Fermat-Test (Primzahltest 2)

Literatur

  1. Beutelspacher, A., Neumann, H. B., & Schwarzpaul, T. (2010). Kryptografie in Theorie und Praxis: Mathematische Grundlagen für Internetsicherheit, Mobilfunk und elektronisches Geld (2., überarb. Aufl). Vieweg + Teubner. S. 118.
  2. 2,0 2,1 2,2 2,3 Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Berlin, Heidelberg: Springer. S. 155.
  3. Burton, D. M., & Dalkowski, H. (2005). Handbuch der elementaren Zahlentheorie mit über 1000 Übungsaufgaben und ihren Lösungen. Lemgo: Heldermann Verlag. S. 47.
  4. Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Berlin, Heidelberg: Springer. S. 10.
  5. Primzahlen: Tabelle der Primzahlen (2 - 100.000). (15. Oktober 2007). Wikibooks, Die freie Bibliothek. Abgerufen am 20. Dezember 2019, 14:22 von https://de.wikibooks.org/w/index.php?title=Primzahlen:_Tabelle_der_Primzahlen_(2_-_100.000)&oldid=327631.
  6. 6,0 6,1 Buchmann, J. (2016). Einführung in die Kryptographie (6. Aufl.). Berlin, Heidelberg: Springer. S. 156f.
  7. Burton, D. M., & Dalkowski, H. (2005). Handbuch der elementaren Zahlentheorie mit über 1000 Übungsaufgaben und ihren Lösungen. Lemgo: Heldermann Verlag. S. 384.