Praktisch modulo n rechnen

Ähnliche Dokumente
Vorlesung Diskrete Strukturen Gruppe und Ring

Zufallsprimzahlen und eine Revolution in der Kryptographie Stefan Edelkamp

$Id: ring.tex,v /05/03 15:13:26 hk Exp $

Lösungen der Aufgaben

Kanonische Primfaktorzerlegung

Das RSA Verfahren. Die Mathematik von RSA. Ganzzahl Arithmetik. Die Mathematik des RSA-Verfahrens

SCHRIFTLICHE ZUSAMMENFASSUNG ZUM VORTRAG DIE GRUNDLAGEN DER RSA-VERSCHLÜSSELUNG VON DANIEL METZSCH

Lösung zur Klausur zu Krypographie Sommersemester 2005

Mathematik 1 -Arbeitsblatt 1-8: Rechnen mit Potenzen. 1F Wintersemester 2012/2013 Unterlagen: LehrerInnenteam GFB. Potenzen mit negativer Basis

Lenstras Algorithmus für Faktorisierung

Über das Hüten von Geheimnissen

Mathematik und Logik

2.4. Kongruenzklassen

Das RSA Kryptosystem

Die Ringe Z n. Invertierbare Elemente ( Einheiten ) für n > 0 wird auf Z n = {0, 1, 2,..., n 1} definiert: n : Z n Z n Z n : (a, b) (a b) mod n

Hast du auch wirklich versucht, die Aufgaben einmal selbständig zu lösen? Wenn nicht, tue es, bevor du dir die Lösungen anschaust!

Entwicklung der Asymmetrischen Kryptographie und deren Einsatz

Kleiner Fermatscher Satz, Chinesischer Restsatz, Eulersche '-Funktion, RSA

Prof. Dr. H. Brenner Osnabrück SS Zahlentheorie. Vorlesung 4. Die Restklassenringe Z/(n)

WIEDERHOLUNG (BIS ZU BLATT 7)

4: Algebraische Strukturen / Gruppen

11. Das RSA Verfahren und andere Verfahren

Musterlösung zur Probeklausur zur Angewandten Diskreten Mathematik Dr. Hartmut Lanzinger, Hans- Peter Reck

1 Das RSA-Verfahren und seine algorithmischen Grundlagen

n ϕ n

Ganzzahlige Division mit Rest

5. Übung zum G8-Vorkurs Mathematik (WiSe 2011/12)

Oft kommt es darauf an, Potenzen a n mod m zu berechnen. Dabei kann n eine sehr groÿe Zahl sein.

Datensicherheit durch Kryptographie

Elementare Zahlentheorie & RSA

Seminarvortrag aus Reiner Mathematik Existenz von Primitivwurzeln

Zahlentheorie. Vorlesung 14. Fermatsche Primzahlen

RSA Verfahren. Kapitel 7 p. 103

Kryptographie und Komplexität

Probabilistische Primzahltests

Public-Key Kryptographie mit dem RSA Schema. Torsten Büchner

5. bis 10. Klasse. Schnell-Merk-System. Mathematik. Kompaktwissen Testfragen SMS. Mit Lernquiz fürs Handy

Der Zwei-Quadrate-Satz von Fermat

IT-Sicherheit. Jun.-Prof. Dr. Gábor Erdélyi. Siegen, 15. November 2016 WS 2016/2017

Mathematik: Mag. Schmid Wolfgang Arbeitsblatt 8 1. Semester ARBEITSBLATT 8 RECHNEN MIT POTENZEN. 1) Potenzen mit negativer Basis

3.5 Ringe und Körper. Diese Eigenschaften kann man nun auch. 1. (R, +) ist eine kommutative Gruppe. 2. Es gilt das Assoziativgesetz bezüglich.

Stichpunktezettel fürs Tutorium

Aufgabensammlung Klasse 8

Public-Key-Verschlüsselung und Diskrete Logarithmen

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

Modul Diskrete Mathematik WiSe 2011/12

Algebra und Diskrete Mathematik, PS3. Sommersemester Prüfungsfragen

1F Wintersemester 2012/2013 Unterlagen: LehrerInnenteam GFB

kgv-berechnung Invertieren modulo m Simultane Kongruenzen Restklassenringe Modulare Arithmetik Euler sche Funktion Sätze von Fermat und Euler

1 Zahlentheorie. 1.1 Kongruenzen

Computeralgebra in der Lehre am Beispiel Kryptografie

Grundzüge der Informatik Zahlendarstellungen (7)

3. Stegreifaufgabe aus der Mathematik Lösungshinweise

Praktikum Diskrete Optimierung (Teil 11)

Primzahlen. Herbert Koch Mathematisches Institut Universität Bonn Die Primfaktorzerlegung. a = st

Primzahlzertifikat von Pratt

AES und Public-Key-Kryptographie

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens

5. Äquivalenzrelationen

3. Diskrete Mathematik

Rechnen modulo n. Bernhard Ganter. Institut für Algebra TU Dresden D Dresden

1 Modulare Arithmetik

Terme und Gleichungen

3: Zahlentheorie / Primzahlen

Potenzen mit ganzzahligen Exponenten: Rechenregeln

Grundwissen 5. Klasse

Musterlösung zur Probeklausur zur Angewandten Diskreten Mathematik

Grundlagen der Arithmetik und Zahlentheorie

1.2 Eigenschaften der ganzen Zahlen

Angewandte Diskrete Mathematik

Primzahlen und RSA-Verschlüsselung

Sicherheit von hybrider Verschlüsselung

3 Das RSA-Kryptosystem

Technische Informatik - Eine Einführung

ELEMENTARE ZAHLENTHEORIE FÜR LAK Kapitel 2: Kongruenzen und Restklassen

Public-Key-Kryptosystem

Proseminar: Electronic Commerce und Digitale Unterschriften Public-Key-Kryptographie

Einleitung Shor s Algorithmus Anhang. Thomas Neder. 19. Mai 2009

Quadrate und Wurzelziehen modulo p

Asymmetrische Kryptographie u

13. Der diskrete Logarithmus

27. Algorithmus der Woche Public-Key-Kryptographie Verschlüsseln mit öffentlichen Schlüsseln

Kryptographische Verfahren auf Basis des Diskreten Logarithmus

Aufgabenblatt 5 (Schnellübung)

Mathematik III. (für Informatiker) Oliver Ernst. Wintersemester 2014/15. Professur Numerische Mathematik

RSA Verfahren. Ghazwan Al Hayek Hochschule für Technik Stuttgart. 2. November 2008

3. Diskrete Mathematik

Wiederholung Symmetrische Verschlüsselung klassische Verfahren: Substitutionschiffren Transpositionschiffren Vigenère-Chiffre One-Time-Pad moderne

Äquivalenzrelation Restklassen Teilbarkeit in Z Kleiner Satz von Fermat Satz von Euler Eulersche ϕ-funktion

Geheim bleibt geheim: Computeralgebra und Verschlüsselung mit RSA

Elementare Zahlentheorie II

Lernmodul Bruchrechnen. Brüche vollständig kürzen (ggt) Brüche gleichnahmig machen (kgv) Brüche addieren. Brüche subtrahieren. Brüche multiplizieren

Rechnen mit natürlichen Zahlen

Transkript:

Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 1 Praktisch modulo n rechnen Addition und Multiplikation modulo n sind auch dann algorithmisch kein großes Problem, wenn mit großen Zahlen gerechnet wird (z.b. 1000-stellig). Das Verwalten sehr großer Zwischenergebnisse kann vermieden werden, wenn auch Zwischenergebnisse modulo n reduziert werden. Mit Hilfe des Euklidischen Algorithmus kann auch schnell dividiert werden (wo möglich). Selbst das Potenzieren ist einfach:

Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 2 Wie berechnet man 34713 27233 mod 41633? Man stellt zuerst den Exponenten als Binärzahl dar: 27233 = 2 14 + 2 13 + 2 11 + 2 9 + 2 6 + 2 5 + 2 0 = %110101001100001. Sukzessives Ausklammern ergibt 27233 = ((((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2+1) 2 2 2 2 2+1

Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 3 a 27233 = a ((((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2+1) 2 2 2 2 2+1

Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 4 a 27233 = a ( ((((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2+1) 2 2 2 2 2+1 = a ((((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2+1) 2 2 2 2 2) a

Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 5 a 27233 = a ( ((((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2+1) 2 2 2 2 2+1 = a ((((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2+1) 2 2 2 2 2) a = (((((a (((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2+1 ) 2 ) 2 ) 2 ) 2 ) 2 a

Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 6 a 27233 = a ( ((((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2+1) 2 2 2 2 2+1 = a ((((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2+1) 2 2 2 2 2) a = (((((a (((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2+1 ) 2 ) 2 ) 2 ) 2 ) 2 a = (((((a (((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a

Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 7 a 27233 = a ( ((((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2+1) 2 2 2 2 2+1 = a ((((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2+1) 2 2 2 2 2) a = (((((a (((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2+1 ) 2 ) 2 ) 2 ) 2 ) 2 a = (((((a (((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a = ((((((a ((2+1) 2 2+1) 2 2+1) 2 2 2+1 ) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a

Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 8 a 27233 = a ( ((((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2+1) 2 2 2 2 2+1 = a ((((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2+1) 2 2 2 2 2) a = (((((a (((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2+1 ) 2 ) 2 ) 2 ) 2 ) 2 a = (((((a (((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a = ((((((a ((2+1) 2 2+1) 2 2+1) 2 2 2+1 ) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a = ((((((a ((2+1) 2 2+1) 2 2+1) 2 2 2 a) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a

Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 9 a 27233 = a ( ((((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2+1) 2 2 2 2 2+1 = a ((((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2+1) 2 2 2 2 2) a = (((((a (((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2+1 ) 2 ) 2 ) 2 ) 2 ) 2 a = (((((a (((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a = ((((((a ((2+1) 2 2+1) 2 2+1) 2 2 2+1 ) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a = ((((((a ((2+1) 2 2+1) 2 2+1) 2 2 2 a) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a = (((((((((a ((2+1) 2 2+1) 2 2+1 ) 2 ) 2 ) 2 a) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a

Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 10 a 27233 = a ( ((((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2+1) 2 2 2 2 2+1 = a ((((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2+1) 2 2 2 2 2) a = (((((a (((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2+1 ) 2 ) 2 ) 2 ) 2 ) 2 a = (((((a (((2+1) 2 2+1) 2 2+1) 2 2 2+1) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a = ((((((a ((2+1) 2 2+1) 2 2+1) 2 2 2+1 ) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a = ((((((a ((2+1) 2 2+1) 2 2+1) 2 2 2 a) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a = (((((((((a ((2+1) 2 2+1) 2 2+1 ) 2 ) 2 ) 2 a) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a = (((((((((a ((2+1) 2 2+1) 2 2 a) 2 ) 2 ) 2 a) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a

Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 11 a 27233 = (((((((((a ((2+1) 2 2+1) 2 2 a) 2 ) 2 ) 2 a) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a

Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 12 a 27233 = (((((((((a ((2+1) 2 2+1) 2 2 a) 2 ) 2 ) 2 a) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a = (((((((((((a (2+1) 2 2+1 ) 2 ) 2 a) 2 ) 2 ) 2 a) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a

Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 13 a 27233 = (((((((((a ((2+1) 2 2+1) 2 2 a) 2 ) 2 ) 2 a) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a = (((((((((((a (2+1) 2 2+1 ) 2 ) 2 a) 2 ) 2 ) 2 a) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a = (((((((((((a (2+1) 2 2 a) 2 ) 2 a) 2 ) 2 ) 2 a) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a

Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 14 a 27233 = (((((((((a ((2+1) 2 2+1) 2 2 a) 2 ) 2 ) 2 a) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a = (((((((((((a (2+1) 2 2+1 ) 2 ) 2 a) 2 ) 2 ) 2 a) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a = (((((((((((a (2+1) 2 2 a) 2 ) 2 a) 2 ) 2 ) 2 a) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a = (((((((((((((a 2+1 ) 2 ) 2 a) 2 ) 2 a) 2 ) 2 ) 2 a) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a

Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 15 a 27233 = (((((((((a ((2+1) 2 2+1) 2 2 a) 2 ) 2 ) 2 a) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a = (((((((((((a (2+1) 2 2+1 ) 2 ) 2 a) 2 ) 2 ) 2 a) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a = (((((((((((a (2+1) 2 2 a) 2 ) 2 a) 2 ) 2 ) 2 a) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a = (((((((((((((a 2+1 ) 2 ) 2 a) 2 ) 2 a) 2 ) 2 ) 2 a) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a = (((((((((((((a 2 a) 2 ) 2 a) 2 ) 2 a) 2 ) 2 ) 2 a) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a

Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 16 a 27233 = (((((((((a ((2+1) 2 2+1) 2 2 a) 2 ) 2 ) 2 a) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a = (((((((((((a (2+1) 2 2+1 ) 2 ) 2 a) 2 ) 2 ) 2 a) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a = (((((((((((a (2+1) 2 2 a) 2 ) 2 a) 2 ) 2 ) 2 a) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a = (((((((((((((a 2+1 ) 2 ) 2 a) 2 ) 2 a) 2 ) 2 ) 2 a) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a = (((((((((((((a 2 a) 2 ) 2 a) 2 ) 2 a) 2 ) 2 ) 2 a) 2 a) 2 ) 2 ) 2 ) 2 ) 2 a Die Exponentiation mit 27233 kann also durchgeführt werden, indem vierzehn mal quadriert und fünf mal multipliziert wird.

Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 17 Potenzieren modulo n Das Potenzieren mit dem Exponenten e N kann mit (log 2 e)-maligem Quadrieren und Multiplizieren durchgeführt werden. Beim Rechnen modulo n kann dabei bei jedem Rechenschritt modn reduziert werden.

Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 18 Potenzieren modulo n Das Potenzieren mit dem Exponenten e N kann mit (log 2 e)-maligem Quadrieren und Multiplizieren durchgeführt werden. Beim Rechnen modulo n kann dabei bei jedem Rechenschritt modn reduziert werden. Kein auch nur halbwegs schnelles Verfahren ist bekannt, um aus der Angabe von 2 e mod n den Exponenten e zu bestimmen ( binary log ).

Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 19 Öffentlich ein Geheimnis vereinbaren Problemstellung: Zwei Teilnehmer möchten abhörsicher miteinander kommunizieren und dazu ein Verschlüsselungsverfahren benutzen. Dazu müssen sie einen gemeinsamen geheimen Schlüssel verwenden. Wie können sie sich über eine nicht abhörsichere Verbindung auf ein gemeinsames Geheimnis einigen?

Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 20 Öffentlich ein Geheimnis vereinbaren Lösung: Die beiden Teilnehmer A und B einigen sich öffentlich auf eine grosse Zahl n. Jeder Teilnehmer erzeugt eine große Zahl: Teilnehmer A erzeugt die Zahl a und berechnet 2 a mod n Teilnehmer B erzeugt die Zahl b und berechnet 2 b mod n Die Zahlen a und b behalten die Teilnehmer geheim für sich. Die Zahlen 2 a mod n und 2 b mod n teilen sie sich mit. Danach kennt Teilnehmer A die Zahlen a und 2 b mod n, kennt Teilnehmer B die Zahlen b und 2 a mod n, kennt ein Angreifer die Zahlen 2 a mod n und 2 b mod n.

Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 21 Das gemeinsame Geheimnis Die beiden Teilnehmer berechnen 2 a b (2 a ) b (2 b ) a (mod n). Dieses Ergebnis verwenden sie als gemeinsamen Schlüssel für das Verschlüsselungsverfahren. Der Angreifer kennt lediglich 2 a mod n und 2 b mod n. Es ist kein brauchbares Verfahren bekannt, daraus auszurechnen. 2 a b mod n

Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 22 Der Satz von Lagrange Die Ordnung eines Elementes a einer Gruppe (G,, 1, 1) ist die kleinste natürliche Zahl n mit a n = 1, falls es überhaupt eine solche natürliche Zahl gibt, und sonst. Satz 1 Für jedes Element a einer endlichen Gruppe (G,, 1, 1) gilt: Die Ordnung von a ist ein Teiler der Anzahl G der Gruppenelemente.

Mathematik I für Informatiker Das Lemma von Euler-Fermat p. 23 Das Lemma von Euler-Fermat Satz 2 Ist a zu n teilerfremd, dann gilt a ϕ(n) mod n = 1.