Wiederholung Größte gemeinsame Teiler Satz von Bezout:

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmentheorie 08 – Dynamische Programmierung (1)
Advertisements

Beispiel zum RSA-Algorithmus
Eine dynamische Menge, die diese Operationen unterstützt,
Programmierung 1 - Repetitorium
Asymptotische Notation
Kapitel 3 Arithmetische Schaltkreise
Wiederholung TexPoint fonts used in EMF.
Schnelle Matrizenoperationen von Christian Büttner
Wiederholung TexPoint fonts used in EMF.
Wiederholung: Ziehen von Elementen
Übungsbetrieb Di neuer Raum HZO 60
Rekursion vs. Iteration
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Wiederholung Operationen auf Mengen Relationen, Abbildungen/Funktionen
Algorithmentheorie 04 –Hashing
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (10 - Suchverfahren) T. Lauer.
Kapitel 3 Elementare Datenstrukturen TexPoint fonts used in EMF.
Wiederholung Formale Potenzreihen
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUTE University of Paderborn Algorithms and Complexity Algorithmen und Komplexität Teil 1: Grundlegende.
Wir suchen ‘ mit m = m    ‘ c  ‘ mod 26
Matthias Spohrer · TU München 8. Präsenzveranstaltung – TU Stammgelände Innenstadt Nachqualifizierungskurs für Informatiklehrkräfte.
§8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein weiteres.
Rekursive Funktionen (Fakultät)
§10 Vektorraum. Definition und Beispiele
Diplomarbeit von Daniel Tameling
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
§10 Vektorraum. Definition und Beispiele
Polynome und schnelle Fourier-Transformation
Institut für Theoretische Informatik
Institut für Theoretische Informatik
Institut für Theoretische Informatik
Institut für Theoretische Informatik
Institut für Theoretische Informatik
2.4 Rekursion Klassifikation und Beispiele
Noam CHOMSKY, Sheila GREIBACH
ENDLICHE KÖRPER RSA – VERFAHREN.
Grundlagen der Algorithmen und Datenstrukturen Kapitel
Kapitel 4 Restklassen (die modulo-Rechnung)
Diskrete Mathematik Angelika Steger Institut für Theoretische Informatik TexPoint fonts used in EMF. Read the TexPoint manual before.
Folie 1 §8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein.
Kryptografie und Datensicherheit RSA. Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 1. Attacken auf Public – Key - Verfahren 2. Der.
Kryptografie und Datensicherheit RSA. Kryptografie und Datensicherheit RSA - Public-Key-Verschlüsselung 1. Asymmetrisches Verschlüsselungsverfahren 2.
§8 Gruppen und Körper (8.1) Definition: Eine Gruppe G ist eine Menge zusammen mit einer Verknüpfung, die jedem Paar (a,b) von Elementen aus G ein weiteres.
2.4 Rekursion Klassifikation und Beispiele
RSA public key encryption
Wiederholung TexPoint fonts used in EMF.
Wiederholung Gerichtete Graphen Digraph D=(V,E)
Wiederholung TexPoint fonts used in EMF.
Christian Scheideler WS 2008
Übungen Übungsanmeldung Übungskorrektur
Wiederholung Breitensuche BFS mit Startknoten s Tiefensuche
Organisatorisches DiMa für Master of Science Mathe anrechenbar
Fragestunden & Übungsschein
TexPoint fonts used in EMF.
TexPoint fonts used in EMF.
Klausurtermin Klausur Diskrete Mathematik I Do stündig
Wiederholung TexPoint fonts used in EMF.
Wiederholung Körper K Eigenschaften von multiplikativen Gruppen
Kleiner Schreibfehler
Korrektur Aufgabe 8.1 Anstatt x2-2x+3 muss es heissen x2-4x+3.
Wiederholung Gruppen Untergruppen Gruppenisomorphismen
Wiederholung Umwandlung in Koordinatenform
Zusammenfassung Königsberger Brückenproblem Planare Graphen
Wiederholung Chinesischer Restsatz RSA TexPoint fonts used in EMF.
Wiederholung Verband Ungerichtete Graphen Partielle Ordnung
Kapitel I. Vorspann zum Begriff Vektorraum
 Präsentation transkript:

Wiederholung Größte gemeinsame Teiler Satz von Bezout: ggT(a,b) = min{k 2 N | k = ax + by, x,y 2 Z} Satz zur Teilerfremdheit: ggT(a,p)=ggT(b,p)=1 ) ggT(ab,p)=1 Fundamentalsatz der Arithmetik Jedes n besitzt eine eindeutige Primfaktorzerlegung ggT-Satz: ggT(a,b) = ggT(b, a mod b) Euklidischer Algorithmus 18.09.2018 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAA

Euklidischer Algorithmus (300 v. Chr.) Algorithmus Euklid Eingabe: a,b 2 N if (b=0) then return a; else return Euklid(b, a mod b) Ausgabe: ggT(a,b) Korrektheit: Schritt 1.: ggT(a,0) = a. Schritt 2.: Folgt aus ggT-Satz. 18.09.2018

Laufzeit des Euklidischen Algorithmus Fibonacci-Zahlen: F0:=0, F1 := 1 Fi := Fi-1+Fi-2 für i ¸ 2. Satz: Sei a>b und sei k die Anzahl von Rekursionen in Euklid(a,b). Dann gilt a ¸ Fk+2 und b ¸ Fk+1. Induktion über k: IA: k=1: b¸1= F2 a > b, d.h. a ¸ 2=F3 IS: k-1 ! k: Euklid(a,b) ruft Euklid(b, a mod b) auf. Euklid(b, a mod b) benötigt k-1 Aufrufe, d.h. b ¸ Fk+1 und (a mod b) ¸ Fk. b + (a mod b) = b + (a - ba/bcb) · a (wegen a>b folgt ba/bc ¸ 1) ) a ¸ b + (a mod b) ¸ Fk+1 + Fk = Fk+2 18.09.2018

Logarithmische Laufzeit Korollar: Sei a>b und b<Fk+1. Dann benötigt Euklid(a,b) weniger als k rekursive Aufrufe. Es gilt: Fk = £(Ák), wobei der goldene Schnitt ist. ) k = O(log b) rekursive Aufrufe Wegen a>b gilt O(log b) = O(log a) rekursive Aufrufe. Multiplikation/Division mit Operanden der Bitlänge O(log a): Zeit O(log2 a) Insgesamt: O(log3 a) Man beachte: a,b werden sukzessive kleiner. Exakte Analyse liefert O(log2 a). 18.09.2018

Fibonacci-Zahlen sind worst-case Wählen b=Fk<Fk+1. Euklid(Fk+1,Fk) = Euklid (Fk, Fk+1 mod Fk) = Euklid (Fk, Fk-1) = Euklid (Fk-1, Fk-2) … = Euklid (F3, F2) = Euklid(2,1) = Euklid (1,0) Man benötigt genau k-1 rekursive Aufrufe 18.09.2018

Erweiterter Euklidischer Algorithmus Erweiterter Euklidischer Algorithmus (EEA) Eingabe: a,b 2 N If (b=0) return (a,1,0) (d‘,x‘,y‘) Ã EEA(b, a mod b) (d,x,y) Ã (d‘,y‘,x‘-ba/bcy‘) Ausgabe: d = ggT(a,b) = xa+yb Korrektheit: Schritt1.: b=0: d = a = ggT(a,0) = 1*a + 0*b Schritt2.: d‘ = x‘b + y‘(a mod b) und d‘ = ggT(b, mod a) = ggT(a,b) = d (ggT-Satz) Schritt3.: ) d = x‘b + y‘(a-ba/bcb) = y‘a + (x‘-ba/bcy‘)b = xa + yb Laufzeit: O(log2 a) analog zu Euklid(a,b) 18.09.2018

Beispiel ggT(15,11) a b b a/b c x y 15 11 1 3 -4 4 2 -1 - - Alternative Schreibweise: 15 - 1*11 = 4 1 = 11 + 3*(15-1*11) = 3*15-4*11 11 – 2* 4 = 3 1 = 4 – 1*(11-2*4) = -11+3*4 4 – 1* 3 = 1 1 = 4 – 1*3 3 - 3* 1 = 0 18.09.2018

Abelsche Gruppen Def: Eine abelsche Gruppe ist ein Tupel (G, ±) bestehend aus einer Menge G und einer Verknüpfung ± mit Abgeschlossenheit: ± : G £ G ! G, (a,b)  a ± b Kommutativität: a ± b = b ± a Assoziativität: (a ± b) ± c = a ± (b ± c) Neutrales Element: 9! e: a ± e = a für alle a 2 G. Inverses Element: Schreibweise multiplikativ: 9! a-1: a ± a-1 = e für alle a 2 G. Schreibweise additiv : 9! -a : a ± -a = e für alle a 2 G. Vereinfachte Schreibweise: G statt (G, ±) 18.09.2018

Beispiele für Gruppen (Z,+) ist additive Gruppe: Neutrales Element: 0 Inverses von a 2 Z: -a (Q n {0}, *) ist multiplikative Gruppe: Neutrales Element: 1 Inverses von a/b 2 Q n {0}: b/a (Z, *) ist keine Gruppe: 2 besitzt kein Inverses in Z Betrachten nun Beispiele für endliche Gruppen. 18.09.2018

Die additive Gruppe (Zm,+) Satz: Die Menge Zm ist zusammen mit der Addition modulo m eine additive Gruppe. Abgeschlossenheit: Zm£Zm ! Zm Sei a+b = q*m+r, mit 0· r <m. Dann gilt: a+b = r mod m mit r 2 Zm Kommutativität und Assoziativität: Folgen aus Kommutativität und Assoziativität der Addition über Z. Neutrales Element: 0 2 Zm: a+0 = a mod m Inverses von a: -a = (m-a) 2 Zm für a  0: a+(m-a) = m = 0 mod m -0 = 0 2 Zm für a=0 : 0+0 = 0 mod m 18.09.2018

Definition Zn*. Def.: Sei n 2 N. Zn* := {a 2 Zn | ggT(a, n)=1} Eulersche phi-Funktion: Á(n):= |Zn*| Beispiele: Sei p=n prim. Zp*= Zp n {0} = {1,2,…,p-1} Á(p) = |{1,2,…p-1}| = p-1 Sei n=p*q mit p,q prim (RSA-Modul) Zn* = Zn n {0,p,2p,…,(q-1)p,q,2q,…,(p-1)q) Á(n) = |Zn*| = n-1-(q-1)-(p-1) = n-p-q+1 = (p-1)(q-1) 18.09.2018

Die multiplikative Gruppe Zn* Satz: Zn* ist zusammen mit der Multiplikation modulo n eine multiplikative Gruppe. Abgeschlossenheit: Zn*£Zn* ! Zn* Satz zur Teilerfremdheit: Seien a,b 2 Zn* , d.h. ggT(a,n)=ggT(b,n)=1. ) ggT(a*b, n)=1=ggT(a*b mod n, n) (ggT-Satz), d.h. a*b mod n 2 Zn* Kommutativität und Assoziativität: Folgen aus Kommutativität/Assoziativität der Multiplikation über Z. Neutrales Element: 1 2 Zn*: a*1 = a mod n für alle a 2 Zn* Inverses von a 2 Zn*: Satz von Bezout: 1 = ggT(a,n) = ax + ny für x,y 2 Z. OBdA x 2 Zn, denn 1 = a(x+kn) + n(y-ak) für alle k 2 Z Es gilt ax = 1 – ny = 1 mod n, d.h. x = a-1 2 Zn. Ferner gilt x 2 Zn*, da xa + ny = 1 = ggT(x,n) (Satz von Bezout). 18.09.2018