date-created: 2024-06-14 04:02:47 date-modified: 2024-11-20 09:10:01

| (5) | Elementare Zahlentheorie |

anchored to [[104.00_anchor_math]]

Overview:

In Mathe 2 haben wir diverse Gruppen bereits betrachtet, sind da aber auf Probleme oder undefinierte Zustände gestoßen [[math2_gruppen]]. Wir möchten diese jetzt ferner betrachten:

  • Teilbarkeit von Zahlen
    • Betrachtung von Primzahlen in diesem Kontext
  • chinesischer Restsatz

| Definition (5.1) | ggT/gcd - größter gemeinsamer Teiler |

Siehe [[math2_Modulo#ggT, teilerfremd|ggT Mathe2]]

Seien jetzt irgendwelche Zahlen aus dem Bereich der ganzen Zahlen. Wir suchen jetzt gemeinsame Teiler für diese Menge:

Wir möchten folgende Eigenschaften betrachten:

[!Definition] größter gemeinsamer Teiler: Ist mindestens ein so ist der größte gemeinsame Teiler die größte natürliche Zahl, die alle teilt!

[!Definition] kleinste gemeinsames Vielfache: Sind jetzt alle , so beschreiben wir das kleinste gemeinsame Vielfache, oder auch die kleinste Zahl, die von allen geteilt wird.

Das heißt wir schauen nach einer Zahl, die von allen Werten in geteilt wird!

[!Important] Teilerfremde Werte Sofern der heißen diese Werte dann teilerfremd

–> Also wir können nur 1 als möglichen Teiler der Menge betrachten, es gibt keinen größeren, gemeinsamen Teiler.

[!Important] paarweise teilerfremde Werte Ist jetzt der , heißen jetzt paarweise teilerfremd.

Also wenn wir zwei Werte betrachten und diese einen ggT von 1 haben, dann sind diese paarweise teilerfremd zueinander!

Diese Eigenschaft ist stärker als die vorherigen, das heißt es überwiegt in der Relevanz. Sei , dann sind die drei Werte teilerfremd, aber nicht paarweise teilerfremd ( denn )

| Bemerkung (5.2) | Teilbarkeit

Seien jetzt

[!Definition] Es gilt jetzt folgend: Wir sehen hier folgend, dass bei dieser Umformung ein beliebiger Faktor angewandt werden kann, der die Eigenschaft nicht verletzt und es somit weiterhin gilt!

Es folgt hieraus mehr oder weniger:

[!Important]
Also wir können daraus jetzt noch folgern:

| Beweis der Teilbarkeit |

Seien jetzt und weiterhin , denn sonst wäre der !

Wir suchen jetzt den ! Wir haben hiermit bereits den Ablauf des euklidischen Algorithmus beschrieben und weiterhin direkt seine Korrektheit bestimmt / gezeigt.

(Erweiterter) Euklidischer Algorithmus

Ferner können wir jetzt noch den euklidischen Algorithmus betrachten:

Weitere Infos hier : [[104.12_erweiteter_euklidischer_algorithmus]]

![[104.12_erweiteter_euklidischer_algorithmus#Overview]]

Korollar (5.10) | Teilerfremde Abhängigkeiten |

[!Definition] Folgerungen für teilerfremde Zahlen Seien jetzt

1. teilerfremd

2. teilerfremd falls gilt, dass , dann gilt auch

| Beweis |

Wir möchten zuerst 1 beweisen:

folgend noch 2:

| Definition (5.11) | Primzahlen |

Wir möchten eine natürliche Zahl jetzt als Primzahl beschreiben, wenn folgend gilt:

[!Definition] Definition Primzahl Eine natürliche Zahl heißt Primzahl, wenn sie nur genau als positive Teiler bestizt. Das heißt also:

  • sie ist nur durch sich selbst teilbar ( im Bereich der natürlichen Zahlen!)
  • sie ist durch 1 teilbar

| Lemma (5.12) | Lemma von Euklid |

[!Important] Lemma von Euklid Sei und weiter auch dann folgt:

| Beweis des Lemma |

Wir können das obige Lemma unter Anwendung der vollständigen Induktion beweisen:

| Primfaktorzerlegung Anwenden |

Wir können die Tatsache, dass man jede natürliche Zahl als Primfaktorzerlegung darstellen soweit anwenden, dass es damit möglich wird etwa den [[#Definition (5.1) ggT/gcd - größter gemeinsamer Teiler]] und auch den [[#kgv]] einfach damit berechnen zu können:

Primfaktorzerlegung:

Wir können eine beliebige Zahl so oft zerlegen, bis wir nur noch nicht-teilbare Faktoren in dem Produkt haben und somit

Das heißt demnach, dass wir eine beliebige Zahl so aufsplitten könnne, dass folgend gilt:

Das heißt ferner, wir können eine beliebige natürliche Zahl in kleinere Teile aufzusplitten. Dabei sollten dann nur noch Primzahlen und Faktoren dieser vorhanden sein.

Beispielsweise:

Es gibt hierbei einige vereinfachbare Strukturen, um die Primzahlen einfacher zu extrahieren:

bsp
2 ist gerade
3quersumme(n) =
5letzte Ziffer in der Zahl

Am Ende werden meist folgende Zahlen noch angebracht / dargestellt:

[!Definition] Vrgehen zur BErechnung der Primfaktorzerlegung:

  1. Wir fangen an und schauen, ob wir die gegebene Zahl durch eine der obigen Primzahlen teilen können.
  2. Wir notieren, die Primzahl, durch die wir geteilt haben und betrachten jetzt den Rest dieser Division.
  3. Wir betrachten den Rest und schauen wieder, wie wir diesen entsprechend teilen könne –> notiere die Primzahl und führe das Verfahren fort, bis wir eine vollständige Zerlegung haben

| Primfaktorzerlegung zur Bestimmung ggT |

[!Important] Primfaktorzerlegung zur Bestimmung des ggT Unter Umständen lässt sich der ggT von zwei Zahlen schneller berechnen, indem wir sie in ihrer Primfaktorzerlegung darstellen und anschließend schauen, inwiefern die Zerteilungen übereinstimmen

Wir können so den ggT dann daraus ziehen, indem wir schauen, welches Produkt in der Primfaktorzerlegung bei beiden Zahlen auftritt Betrachte BSP

ggt alles was die beiden Zahlen gemeinsam haben!

| Primfaktorzerlegung zur Bestimmung kgV |

Hierfür gehen wir ähnlich vor ( im Ansatz zumindest ), werden also auch wieder schauen, dass wir die Primfaktorzerlegung nehmen und dann gucken dass wir mit allen gewählten Primzahlen beide Zahlen konstruieren können.

[!Task] Ansatz: Suche höchste Potenz jeder Primzahl in beiden Zerlegungen –> Dabei müssen wir die Primzahlen aus beiden Zahlen, aus denen wir den KgV (lcm) bilden möchten, übernehmen!

Ein Beispiel bildet eine Abgabe in [[104.88_assignment07]]

| Theorem (5.13) | Fundamentalsatz der elementaren Zahlentheorie |

Zu jeder natürlichen Zahl gibt es endlich viele paarweise verschiedene Primzahlen und natürliche Zahlen mit Die heißen dann Primfaktoren bzw Primteiler von .

Diese Darstellung einer natürlichen Zahl ist eindeutig (bis auf die Reihenfolge).

| Beweis | Fundamentalsatz el. Zahlentheorie |

| Beweis | Korrektheit |

Wir können dies folgend mit der verschärften Induktion beweisen.

[!Important] Intuition verschärfte Induktion Mit der verschärften Induktion möchten wir von allen vorherigen Ergebnissen, die wir gesetzt haben auf die -Struktur ableiten, also

| Beweis | Eindeutigkeit |

Wir möchten noch zeigen, dass diese Primfaktorzerlegung tatsächlich eindeutig ist!:

( Wir möchten dafür annehmen, dass zwei verschiedene Darstellungen existieren ( was nicht möglich ist)). Sei jetzt

| Korollar (5.14) | Euklid unendlich viele Primzahlen

[!Definition] Es gibt unendlich viele Primzahlen

Wir möchten diese Aussage gleich beweisen:

Angenommen es gibt nur endliche viele Primzahlen Dann bilden wir exemplarisch eine Primfaktorzerlegung einer Zahl : Gemäß der vorherigen Betrachtung [[#Theorem (5.13) Fundamentalsatz der elementaren Zahlentheorie|5.13]] : Dadurhc gilt dann:

| Chinesischer Restsatz |

Zum Berechnen von diversen Kongruenz-Gleichungen können wir folgend den chinesischen Restsatz anwenden:

Mehr hier: [[104.13_chinesischer_restsatz]]

![[104.13_chinesischer_restsatz#Overview]]

| Eulersche -Funktion |

Wir haben sie bereits in Mathe 2 in den Restklassen eingebracht und betrachtet: ![[math2_Modulo#Bemerkung ]] (Als kleiner Revisit zur eulerschen Funktion -Funktion):

[!Definition] Definition -Funktion Wir können für folgend definieren: Das heißt, wir beschreieben die Menge der zu teilerfremden Zahlen zwischen ( Also einfach alle Zahlen innerhalb eines Intervalles von 1 - bis , wo wir wissen, dass sie [[104.11_elementare_zahlentheorie#Beweis der Teilbarkeit|teilerfremd]] zu sind!)

Wir haben dabei die komplette Restklasse auch dadurch beschrieben:

| Besonderheit bei Primzahlen |

[!Important] Besonderheit bei Sei dann gilt bei der eulerschen Funktion folgend:

| Bemerkung (5.19) | einfacher Berechnen |

Wir können unter dieser Betrachtung und Anwendung jetzt folgend definieren:

[!Definition] Zerlegung von in kleinere Produkte Sei jetzt , wobei hier für alle gilt, dass sie teilerfremd sind!

Es folgt hieraus jetzt folgend wieder eine Aufteilung in kleinere Produkte ( wir müssen irgendwie das in kleinere Teile aufsplitten können)

Insbesondere ist jetzt weiter: , wobei hier folgend paarweise verschiedene Primzahlen sind, und weiterhin sind die Potenzen ( also es ist wieder eine Primfaktorzerlegung).

Wir können daraus jetzt relativ einfach berechnen:
wir können sie als eine Primfaktorzerlegung darstellen und somit den Term vereinfachen

| Beispiel |

Wir suchen jetzt also für folgende Zahle die Menge von teilerfremden Zahlen, zwischen diesem Intervall von :

[!Definition] Vorgehen durch obige Betrachtung

  1. in kleinere Primfaktoren zerteilen und so die folgende Form erhalten
  2. nimm jetzt jeweils die Primzahlen aus der vorherigen Gleichung und wende an, also etwa
  3. wir können daraus jetzt ein vereinfachtes Produkt bilden: ( bsp: ) Dadurch erhalten wir

| Anwendung Zahlentheorie | RSA

Was already covered and explained in : [[netSec_RSA]] ![[netSec_RSA#RSA Key Generation card]]

[!Tip] Intuition RSA Mit dem RSA Verfahren können wir primär ein asymmetrisches Verfahren zur Verschlüsselung umsetzen. Dabei setzt es auf eine Struktur von Public/Private Key und wendet für beide Keys zwei große Primzahlen an, die genutzt werden, um diese Struktur umzusetzen.

| Grundstruktur | Schlüsselerzeugung |

Sofern wir jetzt ein Paar von Public/Private Key berechnen / erzeugen möchten, gehen wir folgend vor:

[!Definition] Schlüsselerzeugung | RSA

  1. wähle zwei große
  2. bilde jetzt
  3. Berechne jetzt , siehe [[104.01_math_tutorial#]]
  4. wähle jetzt irgendein , das teilerfremd zu ist!
  5. bestimme jetzt noch ein
  6. Diesen Wert können wir ausrechnen unter Anwendung des [[104.12_erweiteter_euklidischer_algorithmus|EEA]], wobei -> also das Inverse zu der Berechnung von !
  7. somit gilt dann: ! –> Wir müssen also die WErte wissen, sonst ist es sehr schwer das zu berechnen!
  8. der Public Key bildet jetzt: , private key

[!Definition] Verschlüsseln durch genutzte Angenommen wir haben jetzt Person X, die etwas an das vorher definierte Konstrukt mit einem Pub/Priv Key, verschicken möchte: Wir gehen folgend vor:

  1. Nachricht ist als Zahl gegeben, wobei
  2. berechne jetzt:
  3. sende dann c an Recipient –> they are able to unwind this equation later!

[!Definition] Entschlüsseln einer Nachricht:

  1. erhalte
  2. berechne jetzt: –> d denotes private key!

Warum gilt jetzt ?: Wir beweisen folgend:

| Warum und nicht gemeinsam bekannt sein sollten:

wird immer als öffentlicher Schlüssel gegeben, weil man diesen Modul brauch, um entsprechend mit dem öffentlichen Key verschlüsseln zu können. Dabei ist , die beiden Primzahlen, die unbekannt sein sollen. Ferner ist , was somit nicht geteilt werden sollte, weil wir sonst berechnen können, wenn man und kennt:


Hier ein Eintrag, von welchem ich die Umformung, zum berechnen von abgeleitet / genommen habe: Source: crypto.stackexchange.com

Why is it important that phi(n) is kept a secret, in RSA?

From the definition of the totient function, we have the relation:

φ(n)=(p−1)(q−1)=pq−p−q+1=(n+1)−(p+q)

It then easily follows that:

(n+1)−φ(n)=p+q

(n+1)−φ(n)−p=q

And you know from the definition of RSA that:

n=pq

Substituting one into the other, you can derive:

n=p(n+1−φ(n)−p)=−p2+(n+1−φ(n))p

With some rearranging, we obtain:

p2−(n+1−φ(n))p+n=0

This is a quadratic equation in p, with:

a=1b=−(n+1−φ(n))c=n

Which can be readily solved using the well-known quadratic formula:

p=−b±|b|2−4ac2a=(n+1−φ(n))±|n+1−φ(n)|2−4n2

Because of symmetry, the two solutions for p will in fact be the two prime factors of n.


Example for factoring

Here is a short example, let n=13×29=377 and φ(n)=(13−1)×(29−1)=12×28=336. Using the quadratic equation shown above, we need to use the following coefficients for the equation:

a=1b=−(377+1−336)=−42c=377

Thus we have the following quadratic to solve:

p2−42p+377=0 ⟹ p=42±|−42|2−4×3772=42±162

Finally, we calculate the two solutions, which are the two prime factors of 377 as expected:

262=13        and        582=29


[!Important] Conclusion In conclusion, knowledge of φ(n) allows one to factor n in time O(1). The other answers are equivalent, in that knowing d achieves the same result (loss of any security properties of RSA), but just for completeness I thought it would be a good idea to show how n can be factored with this information.