Seminar „Verschlüsselungs- und Codierungstheorie“ Der Chinesische Restsatz mit Anwendung Valentin Schulz Matrikelnummer: 421 589 Sommersemester 2017 15.05.2017 Dozent: PD Dr. Timmermann Name: Valentin Schulz Der chinesische Restsatz mit Anwendung Dozent: PD. Dr. Timmermann Seminar: Verschlüsselungsund Codierungstheorie Inhaltsverzeichnis 1. Lösen von linearen Kongruenzen ................................................................................................ 3 2. Lösen von simultanen Kongruenzen ........................................................................................... 5 3. Die Eulersche ๐-Funktion............................................................................................................ 7 4. Literaturverzeichnis ..................................................................................................................... 9 2 Name: Valentin Schulz Der chinesische Restsatz mit Anwendung Dozent: PD. Dr. Timmermann Seminar: Verschlüsselungsund Codierungstheorie 1. Lösen von linearen Kongruenzen Lineare Kongruenzen beschränken sich ausschließlich auf ganzzahlige Lösungen in einem Restklassenring. Um bei einem gegebenen ๐ der Form ๐ ≡ ๐ ๐๐๐ ๐ sollen die beiden Zahlen ๐ und ๐ als gleich angegeben werden. Der formale Weg, dies zu tun, ist der Übergang zu Äquivalenzklassen, bezüglich einer Äquivalenzrelation. Damit also zwei Zahlen ๐ und ๐ modulo ๐ in โค gleich sind, müssen sie der gleichen Äquivalenzklasse angehören, was im ersten Vortrag in Bezug auf Restklassenringe geklärt wurde. Die Äquivalenzklasse, bezüglich der Relation ๐~๐ โบ ๐ ≡ ๐ ๐๐๐ ๐ heißen Restklassen modulo ๐. Bei fixiertem ๐ wird die Restklasse einer ganzen Zahl ๐ mit ๐ฬ bezeichnet. Die Menge aller Restklassen modulo ๐ wird mit โค/๐โค bezeichnet. Innerhalb eines Restklassenrings kann man rechnen, wobei man ein Inverses zu einer bestimmten Zahl nur dann finden kann, wenn diese teilerfremd zu ๐ in โค/๐โค ist. Wir betrachten nun eine Kongruenz der Form ๐ โ ๐ฅ ≡ ๐ mod ๐ und versuchen, durch Umformungen ganzzahlige Lösungen für ๐ฅ bei festem ๐, ๐, ๐ ∈ โค zu finden. Satz 1.1. Es seien ๐, ๐ ∈ โค gegeben. Die Kongruenz ๐ โ ๐ฅ ≡ ๐ mod ๐ ist genau dann in โค lösbar, wenn ๐๐๐(๐, ๐)|๐ gilt. Beweis: "โน" Sei ๐๐ฅ ≡ ๐ ๐๐๐ ๐ mit ๐ฅ ∈ โค. Dann existiert ๐ฆ ∈ โค mit ๐๐ฅ = ๐ + ๐ฆ๐. Umgeformt ergibt sich folgendes: ๐ = ๐๐ฅ − ๐ฆ๐ ๐๐๐(๐, ๐)|๐ โ ๐ฅ und ๐๐๐(๐, ๐)|๐ โ ๐ฆ " โธ" Gelte ๐๐๐ก(๐, ๐)|๐. Nach dem Euklidischen Algorithmus finden wir ganze Zahlen ๐, ๐ mit ๐๐ + ๐๐ = ๐๐๐(๐, ๐) โบ ac ๐ ๐ ๐ + ๐๐ = ๐๐๐(๐, ๐) ๐๐๐(๐, ๐) ๐๐๐(๐, ๐) ๐๐๐(๐, ๐) ๐ ๐ โบ ac + ๐๐ =๐ ๐๐๐(๐, ๐) ๐๐๐(๐, ๐) Rechnet man diese Gleichung mod ๐ ergibt sich: ๐ ๐ ac ๐๐๐(๐,๐) + ๐๐ ๐๐๐(๐,๐) ≡ ๐ mod ๐ ๐ ๐ โ c ๐๐๐(๐,๐) ≡ ๐ mod ๐ 3 Name: Valentin Schulz Der chinesische Restsatz mit Anwendung Dozent: PD. Dr. Timmermann Seminar: Verschlüsselungsund Codierungstheorie und folglich ist ๐ฅ=๐ ๐ ๐๐๐(๐, ๐) โ eine Lösung der Kongruenz. Beispiel 1.2 ๐ = 10, ๐ = 4, ๐ = 7 โถ ๐๐๐(๐, ๐) = 1 Betrachte die Kongruenz 10๐ฅ ≡ 4 mod 7. Sie ist wegen 10 ≡ 3 ๐๐๐ 7 äquivalent zu der Kongruenz 3๐ฅ ≡ 4 mod 7. Lösung: Durch Ausprobieren der Zahlen von 1 bis 7 kommt man zu dem Schluss, dass 6 eine Lösung ist, denn 3 โ 6 ≡ 18 ≡ 4 mod 7. Beispiel 1.3 Wir betrachten die Kongruenz 6๐ฅ ≡ 10 mod 8. 6 Hier ist ๐๐๐(8,6) = 2; also 6๐ฅ ≡ 10 mod 8 genau dann, wenn 2 ๐ฅ = 10 2 8 mod 2. Wir lösen die Kongruenz 3๐ฅ ≡ 5 mod 4 mittels des erweiterten Euklidischen Algorithmus, in dem wir das Inverse von 3 mod 4 suchen. 4 โ ๐ฅ3 + 3 โ ๐ฆ3 = 1 Dafür sei ๐๐๐(๐, ๐) = ๐ โ ๐ฅ๐ + ๐ โ ๐ฆ๐ ๐ 1 2 3 4 ๐๐−2 4 3 ๐๐−1 4 3 1 ๐๐ 4 3 1 0 ๐๐ 1 3 ๐ฅ๐ 1 0 1 ๐ฆ๐ 0 1 -1 Hieraus folgt, dass −1 das Inverse von 3 mod 4 ist. Man kann also beide Seiten der Kongruenz mit −1 multiplizieren und erhält das Ergebnis: 3๐ฅ ≡ 5 mod 4 โบ 3 โ (−1) โ ๐ฅ = 5 โ (−1) mod 4 โบ ๐ฅ ≡ −5 mod 4 โบ ๐ฅ ≡ 3 mod 4 4 Name: Valentin Schulz Der chinesische Restsatz mit Anwendung Dozent: PD. Dr. Timmermann Seminar: Verschlüsselungsund Codierungstheorie 2. Lösen von simultanen Kongruenzen Eine simultane Kongruenz ist ein System von linearen Kongruenzen ๐ฅ ≡ ๐1 mod ๐1 ๐ฅ ≡ ๐2 mod ๐2 โฎ ๐ฅ ≡ ๐๐ mod ๐๐ für die alle ๐ฅ bestimmt werden sollen, die sämtliche Kongruenzen gleichzeitig lösen. Beispiel 2.1: Gummibärchen aus einer Tüte werden gleichmäßig auf 4 Leute verteilt und es bleiben 2 über. Wenn dieselbe Anzahl an Gummibärchen auf 7 Leute verteilt werden, bleiben 3 über. Wie viele Gummibärchen können in der Tüte sein? Die Anzahl ๐ฅ löst dann die Kongruenzen ๐ฅ ≡ 2 mod 4, ๐ฅ ≡ 3 mod 7. 1. Schritt: Inverses Element von beiden Restklassen für die jeweilige andere zu finden: 7 โ ๐ฅ1 ≡ 1 mod 4 โน ๐ฅ1 ≡ 3 mod 4 4 โ ๐ฅ2 ≡ 1 mod 7 โน ๐ฅ2 ≡ 3 mod 7 2. Schritt: Finde die erste Lösung: 2 โ 7 โ 3 + 3 โ 2 โ 4 = 42 + 24 = 66 Dies ist genau eine Lösung der beiden Kongruenzen, da modulo 4 gerechnet der erste Summand die Lösung der ersten Kongruenz ist, aufgrund der vorkommenden 2 multipliziert mit 7 โ 3, was modulo 4 genau 1 ergibt. Der zweite Summand wird durch die Multiplikation mit 4 gerade 0. Modulo 7 gerechnet wird der erste Summand 0 und der zweite Summand gibt die Lösung 3 an, zumal das Produkt von 4 und 2 modulo 7 wieder 1 ergibt. 3. Schritt: Finde alle Lösungen: Alle Lösungen unterscheiden sich vom obigen Ergebnis nur um gemeinsame Vielfache von 4 und 7. 7 โ 4 = 28 66 ≡ 10 mod 28 ๐ฟ = {๐ฅ ∈ โค โถ ๐ฅ ≡ 10 mod 28} 5 Name: Valentin Schulz Der chinesische Restsatz mit Anwendung Dozent: PD. Dr. Timmermann Seminar: Verschlüsselungsund Codierungstheorie Beispiel 2.2. Gegeben seien folgende 3 Kongruenzen ๐ฅ ≡ 3 mod 5, ๐ฅ ≡ 5 mod 7, ๐ฅ ≡ 7 mod 9. ๐ฅ = 3 โ 7 โ 9 โ ๐ฅ1 + 5 โ 5 โ 9 โ ๐ฅ2 + 7 โ 5 โ 7 โ ๐ฅ3 7 โ 9 โ ๐ฅ1 ≡ 1 mod 5 โน ๐ฅ1 ≡ 2 mod 5 5 โ 9 โ ๐ฅ2 ≡ 1 mod 7 โน ๐ฅ2 ≡ 5 mod 5 5 โ 7 โ ๐ฅ1 ≡ 1 mod 5 โน ๐ฅ3 ≡ 8 mod 5 ๐ฅ = 3 โ 7 โ 9 โ 2 + 5 โ 5 โ 9 โ 5 + 7 โ 5 โ 7 โ 8 = 3463 Alle Lösungen sind dann ๐ฅ ≡ 3463 mod 5 โ 7 โ 9 ๐ฅ ≡ 3463 mod 315 ๐ฅ ≡ 313 mod315 ๐ฟ = {๐ฅ ∈ โค โถ ๐ฅ ≡ 313 ๐๐๐ 315} Beispiel 2.3. Ein Bauer möchte alle seine Kühe stolz auf dem Volksfestauszug präsentieren. Wenn er sie aber in 3er-Reihen aufstellt, bleiben 2 Kühe übrig. Stellt er sie in 4er-Reihen auf, bleibt 1 Kuh übrig. Erst mit 7er-Reihen bleibt keine Kuh mehr übrig. Wie viele Kühe hat der Bauer mindestens? Die Anzahl ๐ฅ löst dann die Kongruenzen ๐ฅ ≡ 2 mod 3, ๐ฅ ≡ 1 mod 4, ๐ฅ ≡ 0 mod 7. Die Zahlen ๐1 = 3, ๐2 = 4, ๐3 = 7 sind paarweise teilerfremd. Demzufolge kann man den Chinesischen Restsatz anwenden. Dazu lösen wir die Kongruenzen 4 โ 7 โ ๐ฅ1 ≡ 1 mod 3 โน ๐ฅ1 ≡ 1 mod 3, 3 โ 7 โ ๐ฅ2 ≡ 1 mod 4 โน ๐ฅ2 ≡ 1 mod 4, 3 โ 4 โ ๐ฅ3 ≡ 1 mod 7 โน ๐ฅ3 ≡ 3 mod 7. Dementsprechend wäre eine Lösung: ๐ฅ = 2 โ 4 โ 7 โ 1 + 1 โ 3 โ 7 โ 1 + 0 โ 3 โ 4 โ 3 = 77 Die Menge aller Lösungen ist dann ๐ฟ = {๐ฅ ∈ โค: ๐ฅ ≡ 77 mod 84}. 6 Name: Valentin Schulz Der chinesische Restsatz mit Anwendung Dozent: PD. Dr. Timmermann Seminar: Verschlüsselungsund Codierungstheorie Satz 2.4. (Chinesischer Restklassensatz) Seien ๐1 , … , ๐๐ ∈ โค und seien ๐1 , … , ๐๐ paarweise teilerfremde natürliche Zahlen größer als 1. Dann hat das System von Kongruenzen ๐ฅ ≡ ๐1 mod ๐1 ๐ฅ ≡ ๐2 mod ๐2 โฎ ๐ฅ ≡ ๐๐ mod ๐๐ eine Lösung ๐ฅ ∈ โค und ist ๐ฅ ๐๐๐ ∏๐๐=1 ๐๐ und jede weitere Lösung ๐ฆ ist kongruent zu ๐ฅ mod ∏๐๐=1 ๐๐ . Beweis: ๐ Wir bilden ๐๐ = ๐ , wobei ๐ = ∏๐๐=1 ๐๐ . Dann gilt ๐๐๐(๐๐ , ๐๐ ) = 1. Es existiert also ein ๐ฅ๐ mit ๐ ๐๐ โ ๐ฅ๐ ≡ 1 mod ๐๐ . Nun bilden wir ๐ ๐ฅ = ∑ ๐๐ โ ๐ฅ๐ โ ๐๐ . (2.4.1. ). ๐=1 Anschließend betrachten wir die Gleichung 2.4.1. in โค/๐๐ โค. ๐๐ ≡ 0 mod ๐๐ für ๐ ≠ ๐ Daraus folgt, dass ๐ฅ = ๐๐ โ ๐ฅ๐ โ ๐๐ ≡ ๐๐ โ 1 mod ๐๐ Sei ๐ฆ ∈ โค eine weitere Lösung. Dann gilt ๐ฆ ≡ ๐๐ mod ๐๐ , aber auch ๐ฅ ≡ ๐๐ mod ๐๐ und vor allem ๐ฆ ≡ ๐ฅ mod ๐๐ . Also teilt ๐๐ gerade (๐ฆ − ๐ฅ). Weil der ๐๐๐(๐๐ , ๐๐ ) = 1 mit ๐ ≠ ๐ ist, gilt sogar ๐|(๐ฆ − ๐ฅ) und daraus folgt ๐ฆ ≡ ๐ฅ mod ๐ โ 3. Die Eulersche ๐-Funktion Zur Berechnung des öffentlichen Schlüssels vom RSA-Verschlüsselungsverfahren haben wir ๐(๐) bestimmt. ๐ hat sich aus dem Produkt zweier sehr großen Primzahlen ๐ und ๐ ergeben und damit konnte man ๐(๐) leicht durch ๐(๐) โ ๐(๐) bestimmen. Sätze und Beweise zur Bestimmung der Eulerschen ๐-Funktion werden im Folgenden gezeigt. Theorem 3.1. Seien ๐1 , … , ๐๐ paarweise teilerfremde natürliche Zahlen und ๐ = ∏๐๐=1 ๐๐ . Dann gilt ๐(๐) = ๐(๐1 ) โ ๐(๐2 ) โ … โ ๐(๐๐ ). 7 Name: Valentin Schulz Der chinesische Restsatz mit Anwendung Dozent: PD. Dr. Timmermann Seminar: Verschlüsselungsund Codierungstheorie Beweis: Seien ๐1 , … , ๐๐ paarweise teilerfremd und ๐ = ๐1 โ … โ ๐๐ . Für jedes ๐ ∈ {1, … , ๐} seien ๐๐,1 , … , ๐๐,๐(๐๐) die zu ๐๐ teilerfremden natürlichen Zahlen zwischen 1 und ๐๐ . Zur Bestimmung von φ(m) wollen wir zählen, wieviel natürliche Zahlen a zwischen 1 und m es gibt, die zu m teilerfremd sind. Nun gilt ๐๐๐(๐, ๐) = 1 genau dann, wenn ๐๐๐(๐, ๐๐ ) = 1 für alle ๐ = 1, … , ๐, und das gilt wiederum genau dann, wenn ๐๐ ∈ {1, … , ๐(๐๐ )} existieren mit ๐ ≡ ๐๐,๐1 mod ๐1 , … , ๐ ≡ ๐๐,๐๐ mod ๐๐ Nun gibt es für die Wahl der ๐1 , … , ๐๐ genau ๐(๐1 ) โ … โ ๐(๐๐ ) verschiedene Möglichkeiten, und für jede solche Wahl nach dem CRS genau ein ๐ zwischen 1, … , ๐, welches die obigen Kongruenzen löst. Also gibt es genau ๐(๐1 ) โ … โ ๐(๐๐ ) zu ๐ teilerfremde Zahlen. โ Theorem 3.2. Sei ๐ = ∏๐๐=1 ๐๐ ๐๐ mit ๐๐ ≥ 1 und seien ๐๐ Primzahlen. Dann ist ๐ ๐(๐) = ๐ โ ∏ (1 − ๐=1 1 ). ๐๐ Beispiel 3.3. Wir wollen die Eulersche ๐-Funktion von 90 bestimmen. 90 = 21 โ 32 โ 51 1 1 1 1 2 4 ๐(90) = 90 (1 − ) (1 − ) (1 − ) = 90 โ โ โ = 24 2 3 5 2 3 5 Lemma 3.4. Sei ๐ eine Primzahl und ๐ eine natürliche Zahl. Dann gilt ๐(๐๐ ) = ๐๐ − ๐๐−1 . Beweis: Alle Vielfachen von ๐ bis ๐๐ lauten ๐ โ 1, ๐ โ 2, ๐ โ 3, … , ๐ โ ๐๐−1. Sie sind die einzigen Teiler von ๐๐ . Die Mächtigkeit dieser Menge beträgt ๐๐−1 . Um die Eulersche ๐-Funktion zu bestimmen, benötigen wir alle anderen Elemente von {1,2, … , ๐๐ }. |{1,2, … , ๐๐ }| = ๐๐ ๐) ๐ ๐−1 Also ist ๐(๐ = ๐ − ๐ . โ Beweis von Theorem 3.2.: ๐ ๐ ๐ ๐๐ ๐๐ ๐(๐) = ๐ (∏ ๐๐ ) = ∏ ๐(๐๐ ) = ∏(๐๐ ๐=1 ๐ ๐=1 ๐ = ∏ ๐๐ ๐๐ ∏ (1 − ๐=1 ๐=1 ๐=1 ๐ ๐๐ − ๐๐ ๐ ๐๐ −1 ) = ∏ ๐๐ ๐๐ (1 − ๐=1 1 ) ๐๐ 1 1 ) = ๐ โ ∏ (1 − ) ๐๐ ๐๐ ๐=1 8 โ Name: Valentin Schulz Der chinesische Restsatz mit Anwendung Dozent: PD. Dr. Timmermann Seminar: Verschlüsselungsund Codierungstheorie 4. Literaturverzeichnis [1] Buchmann, Johannes: Einführung in die Kyptographie. 6. Aufl. Springer Spektrum-Verlag. Berlin, Heidelberg 2016 [2] Schmidt, Alexander: Einführung in die algebraische Zahlentheorie. 2. Aufl. Springer-Verlag. Berlin Heidelberg 2007 9