Kapitel 2: Zahlentheoretische Algorithmen Gliederung

Größe: px
Ab Seite anzeigen:

Download "Kapitel 2: Zahlentheoretische Algorithmen Gliederung"

Transkript

1 Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen 9. Lineare Programmierung 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

2 Gliederung des Abschnitts Algorithmische Fragestellungen Fahrplan einfache algorithmische Fragestellung Berechnung von modularen Potenzen der größte gemeinsame Teiler und die Berechnung von modularen Inversen... das ist das aus Sicht der Vorlesung wichtige Unterkapitel... wir diskutieren nur solche algorithmische Fragestellungen die im Zusammenhang mit dem Kryptosystem von Rabin eine wichtige Rolle spielen 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

3 Einfache algorithmische Fragestellungen Aufgabenstellungen es seien a und b ganze Zahlen bestimme das Produkt von a und b bestimme den Rest von a bei Teilung durch b bestimme die Binärdarstellung der Zahl b... uns interessieren Algorithmen zur Lösung dieser Aufgaben und deren Komplexität (/* Anzahl der Elementaroperationen in Abhängigkeit von der Länge der Dezimaldarstellung der gegebenen Zahlen */) 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

4 Einfache algorithmische Fragestellungen Bestimmung des Produkts von a und b 7641 * wir wissen bereits, daß die Multiplikation von a und b nach der Schulmethode im worst case die Komplexität O(n 2 ) hat, wobei n das Maximum der Länge von a und b ist /3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

5 Einfache algorithmische Fragestellungen Bestimmung des Restes bei Teilung von a durch b... es wird a gemäß der Schulmethode durch b geteilt (/* den zu zu bestimmenden Rest erhält man quasi nebenbei */) : (/* = mod 43 */)... die Division von a durch b nach der Schulmethode hat dieselbe Komplexität wie die Multiplikation nach der Schulmethode... das Bestimmen des Rests von a bei Teilung durch b gemäß Schulmethode hat im worst case die Komplexität O(n 2 ) hat, wobei n das Maximum der Länge von a und b ist 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

6 Einfache algorithmische Fragestellungen Bestimmung der Binärdarstellung einer Zahl a... es wird a wird sukzessive halbiert, wobei die Stellen nach dem Komma abgeschnitten werden (/* die zu bestimmende Binärdarstellung von a erhält man quasi nebenbei */) 7641 (/* = a /) bin(a) = man benötigt im worst case nicht mehr als 4*n Divisionen durch 2, wobei n die Länge von a ist... das Bestimmen der Binärdarstellung von a hat im worst case die Komplexität O(n 2 ), wobei n die Länge von a ist 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

7 Einordnung Zur Erinnerung bei der Verwendung des Kryptosystems von Rabin hat offenbar der Empfänger der verschlüsselten Nachricht (/* Charly B. */) die mit Abstand komplexeren Berechnungen durchzuführen (/* Lucie muß nur die Zahl k mit k m 2 mod pq bestimmen, was einfach ist */) Entschlüsselung (/* Schritt 1 */) Charly B. bestimmt zunächst natürliche Zahlen m p < p und m q < q mit m p k (p+1)/4 mod p und m q k (q+1)/4 mod q 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

8 Bestimmung modularer Potenzen Aufgabenstellung es seien x, y und z natürliche Zahlen bestimme r = x y mod z es sei n das Maximum der Länge von x, y und z... wir wollen r bestimmen und interessieren uns für die worst case Komplexität des verwendeten Algorithmus in Abhängigkeit von n 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

9 Bestimmung modularer Potenzen Naive Herangehensweise (/* Beispiel + ganz grobe Analyse */) es seien x = 7, y = 11 und z = 23 berechne r = 7*7*7*7*7*7*7*7*7*7*7 (/* r = */) berechne r mit r = r mod 23 (/* r = 22 */)... zur Berechnung von r benötigt man 10 Multiplikationen... Allgemein: wenn y die Länge n hat, dann benötigt man mindestens 10 n-1 viele Multiplikationen um r zu bestimmen... die naive Herangehensweise hat im worst case die Komplexität Ω(10 n ) und ist offenbar hoffnungslos langsam 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

10 Bestimmung modularer Potenzen Andere Herangehensweise (/* Beispiel */) es seien x = 7, y = 11 und z = 23 berechne bin(y) = 1011 berechne r 0 = 7 mod 23 (/* = 7 1 mod 23; also r 0 = 7 */) berechne r 1 = r 0 *r 0 mod 23 (/* = 7 2 mod 23; also r 1 = 3 */) berechne r 2 = r 1 *r 1 mod 23 (/* = 7 4 mod 23; also r 2 = 9 */) berechne r 3 = r 2 *r 2 mod 23 (/* = 7 8 mod 23; also r 3 = 12 */) setze r 0 = r 0, r 1 = r 1, r 2 = 1 und r 3 = r 3 berechne r = r 0 *r 1 *r 2 *r 3 mod 23 (/* r = 2*/)... zur Berechnung von r benötigt man 6 Multiplikationen sowie 7 Berechnungen von Resten bei Teilung durch 23 (/* man berechnet r 1 = r 0 *r 1 mod 23, dann r 2 = r 1 *r 2 mod 23 und am Ende r = r 3 *r 4 mod 23 */) 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

11 Bestimmung modularer Potenzen Andere Herangehensweise (/* Beispiel, Begründung */) es seien x = 7, y = 11 und z = 23 da bin(y) = 1011 ist, gilt y = 1*2 0 +1* * *2 3 = also gilt: 7 11 = 7 (1+2+8) = 7 1 *7 2 *7 0 *7 8 also gilt: *7 2 *7 0 *7 8 mod 23 (((7 1 *7 2 )* 7 0 )*7 8 ) mod alle diese Multiplikationen werden gleich modulo 23 ausgeführt, da somit die Zwischenergebnisse nicht zu groß werden 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

12 Bestimmung modularer Potenzen Andere Herangehensweise (/* allgemeine Vorgehensweise */) es seien x, y, z natürliche Zahlen es sei n das Maximum der Länge von x, y und z 1. berechne bin(y) = x k,...,x 1,x 0 2. berechne r 0 = a mod z (/* = a 1 mod z */) r 1 = r 0 *r 0 mod z (/* = a 2 mod z */)... r k = r k-1 * r k-1 mod z (/* = a 2k mod z */) Methode des fortgesetzten Quadrierens 3. für i = 0,...,k setze r i = r i, falls x i = 1, und r i = 1, sonst 4. berechne r = r 0 *r 1 *...*r k mod z (/* schrittweise */) 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

13 Bestimmung modularer Potenzen Andere Herangehensweise (/* Analyse */) es seien x, y, z natürliche Zahlen es sei n das Maximum der Länge von x, y und z... Schritt 1 hat im worst case die Komplexität O(n 2 )... Schritt 2 hat im worst case die Komplexität O(n 3 ) (/* die Länge der Binärdarstellung von y hat höchstens die Länge 4n */)... Schritt 3 hat worst case die Komplexität O(n)... Schritt 4 hat worst case die Komplexität O(n 3 )... unter Verwendung der Methode des fortgesetzten Quadrierens erhält man Verfahren zum Bestimmen der modularen Potenzen, die im worst case die Komplexität O(n 3 ) hat 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

14 Einordnung Entschlüsselung (/* Schritt 2 */) Charly B. bestimmt ganze Zahlen z p und z q mit z p p + z q q = 1 Charly B. bestimmt die natürlichen Zahlen s 1,t 1 < pq mit s 1 (z p p*m q + z q q*m p ) mod pq und t 1 (z p p*m q - z q q*m p ) mod pq sowie die Zahlen s 2 = pq - s 1 und t 2 = pq - t 1... die Bestimmung der Zahlen z p und z q müssen wir uns genauer ansehen... s 1, t 1, s 2 und t 2 zu bestimmen, ist wiederum einfach 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

15 Einordnung Eine einfache Beobachtung es seien p und q Primzahlen es sei z p und z q ganze Zahlen mit z p p + z q q = 1 es gilt offenbar: z p p 1 mod q und z q q 1 mod p... z p ist die multiplikative Inverse von p modulo q... z q ist die multiplikative Inverse von q modulo p... mit Hilfe einer Erweiterung des Euklidschen Algorithmus zum Bestimmen des größten gemeinsamen Teilers zweier Zahlen p und q kann man die gesuchten multiplikativen Inversen schnell bestimmen 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

16 Vorüberlegung Zentraler Begriff: Größter gemeinsamer Teiler es seien a, b und c ganze Zahlen c ist ein gemeinsamer Teiler von a und b, falls c sowohl a als auch b teilt c ist der größte gemeinsame Teiler von a und b, wenn es kein c > c gibt, welches ebenfalls gemeinsamer Teiler von a und b ist... wir bezeichnen ggt(a,b) den größten gemeinsamen Teiler von a und b Einige einfache Eigenschaften für alle a, b und n gilt: ggt(a,b) = ggt(b,a) = ggt(a, b ) ggt(a,0) = ggt(a,n*a) = a 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

17 Vorüberlegung Eine wichtige Eigenschaft es seien a und b ganze Zahlen Dann gilt: ggt(a,b) = ggt(b,r) mit r = a mod b... zum Beweis dieser Eigenschaft genügt es zu zeigen, daß für jede Zahl t gilt: t ist gemeinsamer Teiler von a und b ist gdw. t ist gemeinsamer Teiler von b und r Begründung: a = xt, b = yt und r = a mod b b = xt und r = yt xt = cyt + r und damit r = (x - cy)*t a = cxt + yt und damit a = (cx + y)*t 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

18 Vorüberlegung Der Euklidsche Algorithmus es seien a und b ganze Zahlen Prozedur Euklid ( a,b ) { if ( b == 0 ) return(a); else { r = a mod b; return(euklid(b,r)); } } Beispiel: a = 27, b = 33 Euklid(27,33) = Euklid(33,27) = Euklid(27,6) = Euklid(6,3) = Euklid(3,0) = 3 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

19 Vorüberlegung Der Euklidsche Algorithmus (/* Analyse */) es seien a und b ganze Zahlen mit a > b und n das Maximum der Länge der Zahlen a und b offenbar hat jede Ausführung des else-zweigs die Komplexität O(n 2 ) Offene Frage: Wie oft wird die Prozedur Euklid(.,.) aufgerufen? es seien (a 0,b 0 ),(a 1,b 1 ), (a 2,b 2 ) die Parameter, die bei den ersten drei Aufrufen der Procedure Euklid(.,.) übergeben werden offenbar gilt: a = a 0 > b = b 0 = a 1 > b 1 = a 2 > b 2 a 0 = c 0 b 0 + b 1 mit c 0 1 und a 1 = c 1 b 1 + b 2 mit c 1 1 also gilt: b 0 = a 1 = c 1 b 1 + b 2 mit c 1 1 also gilt b 0 b 1 + b 2 > 2b 2 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

20 Vorüberlegung Der Euklidsche Algorithmus (/* Analyse, cont */) es seien (a 0,b 0 ),(a 1,b 1 ),..., (a k,b k ) die Parameter, die bei den Aufrufen der Prozedur Euklid(.,.) übergeben werden analog (/* zu ersten drei Aufrufen */) kann man ganz allgemein zeigen, daß gilt: b 2 > 2b 4 und b 4 > 2b 6 und und b 6 > 2b 8... folglich halbiert sich bei jedem zweiten Aufruf der Prozedur Euklid(.,.) der Wert des zweiten Übergabeparameters da die Prozedur Euklid(.,.) nur aufgerufen wird, wenn der zweite Übergabeparameter ungleich 0 ist, gibt es höchstens O(log(b)) viele Prozeduraufrufe... folglich gibt es nur O(n) viele Prozeduraufrufe (/* es gilt log(b) 4n */) und demzufolge hat die Prozedur Euklid(.,.) im worst case die Komplexität O(n 3 ) 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

21 Vorüberlegung Ein anderer Blick auf den größten gemeinsamen Teiler es seien a und b ganze Zahlen und es sei n = ggt(a,b) Dann gilt: ggt(a,b) = min ( { s 1 s L } ) mit L = { xa+yb x,y Z }... also läßt sich n als Linearkombination von a und b darstellen es seien s 1 das minimal Element in L und x und y so gewählt, daß s = ax + yb gilt Teil 1: man kann zeigen, daß ggt(a,b) auch ein Teiler von s ist... also gilt ggt(a,b) s Teil 2: man kann zeigen, daß s sowohl ein Teiler von a als auch von b ist... also gilt s ggt(a,b) 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

22 Vorüberlegung Der Berlekampsche Algorithmus es seien a und b ganze Zahlen Prozedur Berlekamp ( a,b ) { if ( b == 0 ) return(a,1,0); else { r = a mod b; (d,x,y ) := Berlekamp(b,r); x = y ; y = x - (a Div b)*y ; return((d,x,y)) } }... offenbar gilt d = ggt(a,b) 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

23 Vorüberlegung Der Berlekampsche Algorithmus (/* Beispiel */) a = 27, b = 33 Berlekamp(27,33) = (,, ) Berlekamp(33,27) = (,, ) Berlekamp(27,6) = (,, ) Berlekamp(6,3) = (,, ) Berlekamp(3,0) = ( 3,1,0 ) 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

24 Vorüberlegung Der Berlekampsche Algorithmus (/* Beispiel, cont */) a = 27, b = 33 Berlekamp(27,33) = ( 3,5,-4 ) Berlekamp(33,27) = ( 3,-4,5 ) Berlekamp(27,6) = ( 3,1,-4 ) Berlekamp(6,3) = ( 3,0,1 ) Berlekamp(3,0) = ( 3,1,0 ) 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

25 Vorüberlegung Der Berlekampsche Algorithmus (/* Analyse */) es seien a und b ganze Zahlen mit a > b und n das Maximum der Länge der Zahlen a und b... die Prozedur Berlekamp(.,.) hat offenbar im worst case dieselbe Komplexität wie die Prozedur Euklid(.,.); also ebenfalls O(n 3 ) die Korrektheit beweist man induktiv... wenn Berlekamp(a,b) = (d,x,y) gilt, so soll sowohl d = ggt(a,b) als auch x*a + y*b = ggt(a,b) gelten... das d = ggt(a,b) gilt ist uns schon klar 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

26 Vorüberlegung Illustration (/* Korrektheit */) Berlekamp(27,33) = ( 3,5,-4 ) Berlekamp(33,27) = ( 3,-4,5 ) 3 = 5*27 + (-4)*33 3 = (-4)*33 + 5*27 Berlekamp(27,6) = ( 3,1,-4 ) 3 = 1*27 + (-4)*6 Berlekamp(6,3) = ( 3,0,1 ) 3 = 0*6 + 1*3 Berlekamp(3,0) = ( 3,1,0 ) 3 = 1*3 + 0*0 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

27 Vorüberlegung Der Berlekampsche Algorithmus (/* Korrektheit */) es seien (a 0,b 0 ),(a 1,b 1 ),..., (a k,b k ) die Parameter, die bei den Aufrufen der Prozedur Berlekamp(.,.) übergeben werden da b k = 0 und Berlekamp(a k,b k ) = (a k,1,0) gilt, folgt a k = 1*a k + 0*b k es sei Berlekamp(a i+1,b i+1 ) = (a k,x,y ) und a k = x *a i+1 + y *b i+1 (/* IV */) außerdem gilt a i+1 = b i und b i+1 = r mit r = a i mod b i es sei Berlekamp(a i,b i ) = (a k,x,y) mit x = y und y = x - (a i div b i )*y es ist zu zeigen, daß x*a i + y*b i = a k gilt (/* IB */) x*a i + y*b i = y *a i + (x - (a i div b i )*y )*b i = y *a i + x *b i - (a i div b i )*y )*b i = x *b i + y *(a i - (a i div b i )*b i ) = x *b i + y *r = x *a i+1 + y *b i+1 = a k 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

28 Bestimmung multiplikativer Inverser Einordnung es seien p und q Primzahlen es sei z p und z q ganze Zahlen mit z p p + z q q = 1 um z p und z q (/* die gesuchten multiplikativen Inversen */) zu bestimmen, genügt es die Prozedur Berlekamp(.,.) mit den Parametern a = p und b = q aufzurufen als Ergebnis erhält man ganze Zahlen x und y, so daß xa + by = ggt(a,b) gilt da p und q Primzahlen sind gilt ggt(a,b) = 1 demnach gilt z p = x und z q = y 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

29 Fazit Komplexität der Entschlüsselung beim Kryptosystem von Rabin die zentralen Schritte (/* Schritt 1 und Schritt 2 */) haben jeweils im worst case die Komplexität O(n 3 ) alle anderen Schritte haben im worst case die Komplexität O(n 2 )... also kann Charly B. die verschlüsselte Nachricht in moderater Zeit, d.h. im worst case in Zeit O(n 3 ) entschlüsseln 2/3, Folie Prof. Steffen Lange - HDa/FbI - Effiziente Algorithmen

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung

Kapitel 4: Minimal spannende Bäume Gliederung der Vorlesung Kapitel : Minimal spannende Bäume Gliederung der Vorlesung. Fallstudie Bipartite Graphen 2. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Wege. Traveling

Mehr

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung

Kapitel 4: Minimale spannende Bäume Gliederung der Vorlesung Kapitel : Minimale spannende Bäume Gliederung der Vorlesung. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman

Mehr

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung

Kapitel 7: Flüsse in Netzwerken und Anwendungen Gliederung der Vorlesung Gliederung der Vorlesung. Fallstudie Bipartite Graphen. Grundbegriffe. Elementare Graphalgorithmen und Anwendungen. Minimal spannende Bäume. Kürzeste Pfade. Traveling Salesman Problem. Flüsse in Netzwerken

Mehr

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

Hast du auch wirklich versucht, die Aufgaben einmal selbständig zu lösen? Wenn nicht, tue es, bevor du dir die Lösungen anschaust! Chr.Nelius: Zahlentheorie (SoSe 2016) 1 14. Aufgabenblatt ZAHLENTHEORIE (für Master G und HRG) Lösungen Hast du auch wirklich versucht, die Aufgaben einmal selbständig zu lösen? Wenn nicht, tue es, bevor

Mehr

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik

2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Stefan Lucks Diskrete Strukturen (WS 2009/10) 57 2: Zahlentheorie / Restklassen 2.1: Modulare Arithmetik Uhr: Stunden mod 24, Minuten mod 60, Sekunden mod 60,... Rechnerarithmetik: mod 2 w, w {8, 16, 32,

Mehr

Kapitel 5: Dynamisches Programmieren Gliederung

Kapitel 5: Dynamisches Programmieren Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Ganzzahlige Division mit Rest

Ganzzahlige Division mit Rest Modulare Arithmetik Slide 1 Ganzzahlige Division mit Rest Für a,b Æ mit a b gibt es stets eine Zerlegung von a der Form a = q b+r mit 0 r b 1. Hierbei gilt q = a b (salopp formuliert: b passt q-mal in

Mehr

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

$Id: ring.tex,v /05/03 15:13:26 hk Exp $ $Id: ring.tex,v 1.13 2012/05/03 15:13:26 hk Exp $ 3 Ringe 3.1 Der Ring Z m In der letzten Sitzung hatten wir die sogenannten Ringe eingeführt, dies waren Mengen A versehen mit einer Addition + und einer

Mehr

Was bisher geschah Kryptographische Systeme (M, C, K, e, d) Verfahren: symmetrisch klassisch: Verschiebechiffren (Spezialfall Caesar-Code)

Was bisher geschah Kryptographische Systeme (M, C, K, e, d) Verfahren: symmetrisch klassisch: Verschiebechiffren (Spezialfall Caesar-Code) Was bisher geschah Kryptographische Systeme (M, C, K, e, d) Verfahren: symmetrisch klassisch: Verschiebechiffren (Spezialfall Caesar-Code) Multiplikative Chiffren monoalphabetische Substitutions-Chiffren:

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie 4/2, Folie 1 2014 Prof. Steffen Lange - HDa/FbI

Mehr

Kapitel 2: Analyse der Laufzeit von Algorithmen Gliederung

Kapitel 2: Analyse der Laufzeit von Algorithmen Gliederung Gliederung 1. Motivation / Einordnung / Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs

Mehr

Student: Alexander Carls Matrikelnummer: Aufgabe: Beschreibung des euklidischen Algorithmus Datum:

Student: Alexander Carls Matrikelnummer: Aufgabe: Beschreibung des euklidischen Algorithmus Datum: Berufsakademie Stuttgart / Außenstelle Horb Studienbereich Technik Studiengang Informationstechnik Kurs IT2006, 2.Semester Dozent: Olaf Herden Student: Alexander Carls Matrikelnummer: 166270 Aufgabe: Beschreibung

Mehr

Algorithmentheorie Randomisierung. Robert Elsässer

Algorithmentheorie Randomisierung. Robert Elsässer Algorithmentheorie 03 - Randomisierung Robert Elsässer Randomisierung Klassen von randomisierten Algorithmen Randomisierter Quicksort Randomisierter Primzahltest Kryptographie 2 1. Klassen von randomisierten

Mehr

Zahlentheorie I. smo osm. Thomas Huber. Inhaltsverzeichnis. Aktualisiert: 1. August 2016 vers Teilbarkeit 2.

Zahlentheorie I. smo osm. Thomas Huber. Inhaltsverzeichnis. Aktualisiert: 1. August 2016 vers Teilbarkeit 2. Schweizer Mathematik-Olympiade smo osm Zahlentheorie I Thomas Huber Aktualisiert: 1. August 2016 vers. 1.0.0 Inhaltsverzeichnis 1 Teilbarkeit 2 2 ggt und kgv 3 3 Abschätzungen 6 1 Teilbarkeit Im Folgenden

Mehr

n ϕ n

n ϕ n 1 3. Teiler und teilerfremde Zahlen Euler (1707-1783, Gymnasium und Universität in Basel, Professor für Physik und Mathematik in Petersburg und Berlin) war nicht nur einer der produktivsten Mathematiker

Mehr

Das RSA Kryptosystem

Das RSA Kryptosystem Kryptografie Grundlagen RSA Institut für Mathematik Technische Universität Berlin Kryptografie Grundlagen RSA mit geheimem mit öffentlichem Schlüssel Realisierung Kryptografie mit geheimem Schlüssel Alice

Mehr

3. Diskrete Mathematik

3. Diskrete Mathematik Diophantos von Alexandria um 250 Georg Cantor 1845-1918 Pythagoras um 570 v. Chr Pierre de Fermat 1607/8-1665 Seite 1 Inhalt der Vorlesung Teil 3: Diskrete Mathematik 3.1 Zahlentheorie: Abzählbarkeit,

Mehr

Computeralgebra in der Lehre am Beispiel Kryptografie

Computeralgebra in der Lehre am Beispiel Kryptografie Kryptografie Grundlagen RSA KASH Computeralgebra in der Lehre am Beispiel Kryptografie Institut für Mathematik Technische Universität Berlin Kryptografie Grundlagen RSA KASH Überblick Kryptografie mit

Mehr

1.2 Eigenschaften der ganzen Zahlen

1.2 Eigenschaften der ganzen Zahlen Lineare Algebra I WS 2015/16 c Rudolf Scharlau 13 1.2 Eigenschaften der ganzen Zahlen Dieser Abschnitt handelt von den gewöhlichen ganzen Zahlen Z und ihren Verknüpfungen plus und mal. Man kann die natürlichen

Mehr

Komplexität von Algorithmen

Komplexität von Algorithmen Komplexität von Algorithmen Prof. Dr. Christian Böhm WS 07/08 in Zusammenarbeit mit Gefei Zhang http://www.dbs.informatik.uni-muenchen.de/lehre/nfinfosw Ressourcenbedarf - Größenordnungen Prozesse verbrauchen

Mehr

Lenstras Algorithmus für Faktorisierung

Lenstras Algorithmus für Faktorisierung Lenstras Algorithmus für Faktorisierung Bertil Nestorius 9 März 2010 1 Motivation Die schnelle Faktorisierung von Zahlen ist heutzutage ein sehr wichtigen Thema, zb gibt es in der Kryptographie viele weit

Mehr

Stichpunktezettel fürs Tutorium

Stichpunktezettel fürs Tutorium Stichpunktezettel fürs Tutorium Moritz und Dorian 11. November 009 1 Kleiner Fermat Behauptung. Seien a, b N relativ prim und b eine Primzahl. Dann ist a b 1 = 1. Beweis. Wir definieren die Funktion f

Mehr

Zahlentheorie, Arithmetik und Algebra 1

Zahlentheorie, Arithmetik und Algebra 1 Zahlentheorie, Arithmetik und Algebra 1 Monika Huber 24.6.2015 Monika Huber Zahlentheorie, Arithmetik und Algebra 1 24.6.2015 1 / 52 Übersicht Modulare Arithmetik Größter gemeinsamer Teiler Primzahlen

Mehr

31 Polynomringe Motivation Definition: Polynomringe

31 Polynomringe Motivation Definition: Polynomringe 31 Polynomringe 31.1 Motivation Polynome spielen eine wichtige Rolle in vielen Berechnungen, einerseits weil oftmals funktionale Zusammenhänge durch Polynome beschrieben werden, andererseits weil Polynome

Mehr

WIEDERHOLUNG (BIS ZU BLATT 7)

WIEDERHOLUNG (BIS ZU BLATT 7) Universität Bielefeld SS 2016 WIEDERHOLUNG (BIS ZU BLATT 7) JULIA SAUTER Wir wiederholen, welche Aufgabentypen bis zu diesem Zeitpunkt behandelt worden sind. Auf der nächsten Seite können Sie sich selber

Mehr

Kryptographie und Komplexität

Kryptographie und Komplexität Kryptographie und Komplexität Einheit 5.2 ElGamal Systeme 1. Verschlüsselungsverfahren 2. Korrektheit und Komplexität 3. Sicherheitsaspekte Das ElGamal Verschlüsselungsverfahren Public-Key Verfahren von

Mehr

Kapitel 1: Motivation / Grundlagen Gliederung

Kapitel 1: Motivation / Grundlagen Gliederung Gliederung 1. Motivation / Grundlagen 2. Sortier- und Selektionsverfahren 3. Paradigmen des Algorithmenentwurfs 4. Ausgewählte Datenstrukturen 5. Algorithmische Geometrie 6. Umgang mit algorithmisch schwierigen

Mehr

4. ggt und kgv. Chr.Nelius: Zahlentheorie (SS 2007) 9

4. ggt und kgv. Chr.Nelius: Zahlentheorie (SS 2007) 9 Chr.Nelius: Zahlentheorie (SS 2007) 9 4. ggt und kgv (4.1) DEF: Eine ganze Zahl g heißt größter gemeinsamer Teiler (ggt) zweier ganzer Zahlen a und b, wenn gilt: GGT 0 ) g 0 GGT 1 ) g a und g b GGT 2 )

Mehr

1 Zahlentheorie. 1.1 Kongruenzen

1 Zahlentheorie. 1.1 Kongruenzen 3 Zahlentheorie. Kongruenzen Der letzte Abschnitt zeigte, daß es sinnvoll ist, mit großen Zahlen möglichst einfach rechnen zu können. Oft kommt es nicht darauf, an eine Zahl im Detail zu kennen, sondern

Mehr

Einführung in die Algebra

Einführung in die Algebra Prof. Dr. H. Brenner Osnabrück SS 2009 Einführung in die Algebra Vorlesung 4 Das Lemma von Bezout Satz 1. (Lemma von Bézout) Jede Menge von ganzen Zahlen a 1,...,a n besitzt einen größten gemeinsamen Teiler

Mehr

Elementare Zahlentheorie II

Elementare Zahlentheorie II Schülerzirel Mathemati Faultät für Mathemati. Universität Regensburg Elementare Zahlentheorie II Der Satz von Euler-Fermat und die RSA-Verschlüsselung Die Mathemati ist die Königin der Wissenschaften,

Mehr

Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung

Kapitel 3: Untere Schranken für algorithmische Probleme Gliederung Gliederung 1. Grundlagen 2. Analyse der Laufzeit von Algorithmen 3. Untere Schranken für algorithmische Probleme 4. Sortier- und Selektionsverfahren 5. Paradigmen des Algorithmenentwurfs 6. Ausgewählte

Mehr

Lösung zur Klausur zu Krypographie Sommersemester 2005

Lösung zur Klausur zu Krypographie Sommersemester 2005 Lösung zur Klausur zu Krypographie Sommersemester 2005 1. Bestimmen Sie die zwei letzten Ziffern der Dezimaldarstellung von 12 34 Es gilt: 12 34 = 12 32+2 = 12 32 12 2 = 12 (25) 12 2 = ((((12 2 ) 2 ) 2

Mehr

Diskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 4: Zahlentheorie

Diskrete Mathematik. Sebastian Iwanowski FH Wedel. Kap. 4: Zahlentheorie Prof. Dr. Sebastian Iwanowski DM4 Folie 1 Referenzen zum Nacharbeiten: Diskrete Mathematik Sebastian Iwanowski FH Wedel Kap. 4: Zahlentheorie Beutelspacher 5 Lang 7, Biggs 20, 22, 23 (jeweils teilweise,

Mehr

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung

Kapitel 5: Minimale spannende Bäume Gliederung der Vorlesung Gliederung der Vorlesung 1. Grundbegriffe 2. Elementare Graphalgorithmen und Anwendungen 3. Kürzeste Wege. Minimale spannende Bäume. Färbungen und Cliquen. Traveling Salesman Problem. Flüsse in Netzwerken

Mehr

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

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

Mehr

3: Zahlentheorie / Primzahlen

3: Zahlentheorie / Primzahlen Stefan Lucks Diskrete Strukturen (WS 2009/10) 96 3: Zahlentheorie / Primzahlen 3: Zahlentheorie / Primzahlen Stefan Lucks Diskrete Strukturen (WS 2009/10) 97 Definition 37 (Teiler, Vielfache, Primzahlen,

Mehr

Der Euklidische Algorithmus Dieter Wolke

Der Euklidische Algorithmus Dieter Wolke Der Euklidische Algorithmus Dieter Wolke Einleitung. Für den Begriff Algorithmus gibt es keine einheitliche Definition. Eine sehr knappe findet sich in der Encyclopaedia Britannica (1985) A systematic

Mehr

RSA Verfahren. Kapitel 7 p. 103

RSA Verfahren. Kapitel 7 p. 103 RSA Verfahren RSA benannt nach den Erfindern Ron Rivest, Adi Shamir und Leonard Adleman war das erste Public-Key Verschlüsselungsverfahren. Sicherheit hängt eng mit der Schwierigkeit zusammen, große Zahlen

Mehr

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

Musterlösung zur Probeklausur zur Angewandten Diskreten Mathematik Dr. Hartmut Lanzinger, Hans- Peter Reck Musterlösung zur Probeklausur zur Angewandten Diskreten Mathematik Dr. Hartmut Lanzinger, Hans- Peter Reck Gesamtpunktzahl: 114 Punkte, 100 Punkte= 100 %, keine Abgabe 1. Es seien m = 1155 und n = 1280.

Mehr

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

Primzahlen. Herbert Koch Mathematisches Institut Universität Bonn Die Primfaktorzerlegung. a = st Primzahlen Herbert Koch Mathematisches Institut Universität Bonn 12.08.2010 1 Die Primfaktorzerlegung Wir kennen die natürlichen Zahlen N = 1, 2,..., die ganzen Zahlen Z, die rationalen Zahlen (Brüche

Mehr

Datenstrukturen. Sommersemester Kapitel 1: Motivation / Grundlagen. Steffen Lange

Datenstrukturen. Sommersemester Kapitel 1: Motivation / Grundlagen. Steffen Lange Datenstrukturen Sommersemester 2010 Steffen Lange 1/1, Folie 1 2010 Prof. Steffen Lange - HDa/FbI - Datenstrukturen Organisatorisches Vorlesung wöchentlich; zwei Blöcke Folien im Netz (/* bitte zur Vorlesung

Mehr

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie

1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. Bäume / Graphen 5. Hashing 6. Algorithmische Geometrie Gliederung 1. Motivation / Grundlagen 2. Sortierverfahren 3. Elementare Datenstrukturen / Anwendungen 4. äume / Graphen. Hashing 6. Algorithmische Geometrie 4/6, Folie 1 2014 Prof. Steffen Lange - HDa/FbI

Mehr

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie

Kapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie Gliederung 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. 2.2. Reguläre Sprachen 2.3. Kontextfreie Sprachen 2/1, Folie 1 2015 Prof. Steffen

Mehr

11. Das RSA Verfahren und andere Verfahren

11. Das RSA Verfahren und andere Verfahren Chr.Nelius: Kryptographie (SS 2011) 31 11. Das RSA Verfahren und andere Verfahren Eine konkrete Realisierung eines Public Key Kryptosystems ist das sog. RSA Verfahren, das im Jahre 1978 von den drei Wissenschaftlern

Mehr

Prof. Dr. Heinrich Müller; Dr. Frank Weichert 7. September 2015

Prof. Dr. Heinrich Müller; Dr. Frank Weichert 7. September 2015 Technische Universität Dortmund Informatik VII (Graphische Systeme) Prof. Dr. Heinrich Müller; Dr. Frank Weichert 7. September 2015 Übungsaufgaben zum Vorkurs Informatik Wintersemester 2015/2016 Teil I

Mehr

Vortrag zum Proseminar: Kryptographie

Vortrag zum Proseminar: Kryptographie Vortrag zum Proseminar: Kryptographie Thema: Oliver Czernik 6.12.2005 Historie Michael Rabin Professor für Computerwissenschaft Miller-Rabin-Primzahltest Januar 1979 April 1977: RSA Asymmetrisches Verschlüsselungssystem

Mehr

Praktikum Diskrete Optimierung (Teil 11) 17.07.2006 1

Praktikum Diskrete Optimierung (Teil 11) 17.07.2006 1 Praktikum Diskrete Optimierung (Teil 11) 17.07.2006 1 1 Primzahltest 1.1 Motivation Primzahlen spielen bei zahlreichen Algorithmen, die Methoden aus der Zahlen-Theorie verwenden, eine zentrale Rolle. Hierzu

Mehr

3. Diskrete Mathematik

3. Diskrete Mathematik Diophantos von Alexandria, um 250 Georg Cantor, 1845-1918 Pythagoras um 570 v. Chr Pierre de Fermat 1607/8-1665 Seite 1 Inhalt der Vorlesung Teil 3: Diskrete Mathematik 3.1 Zahlentheorie: Abzählbarkeit,

Mehr

Probabilistische Primzahltests

Probabilistische Primzahltests 23.01.2006 Motivation und Überblick Grundsätzliches Vorgehen Motivation und Überblick Als Primzahltest bezeichnet man ein mathematisches Verfahren, mit dem ermittelt wird, ob eine gegebene Zahl eine Primzahl

Mehr

Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009

Das RSA-Verfahren. Armin Litzel. Proseminar Kryptographische Protokolle SS 2009 Das RSA-Verfahren Armin Litzel Proseminar Kryptographische Protokolle SS 2009 1 Einleitung RSA steht für die drei Namen Ronald L. Rivest, Adi Shamir und Leonard Adleman und bezeichnet ein von diesen Personen

Mehr

Aufgaben des MSG-Zirkels 10b Schuljahr 2007/2008

Aufgaben des MSG-Zirkels 10b Schuljahr 2007/2008 Aufgaben des MSG-Zirkels 10b Schuljahr 2007/2008 Alexander Bobenko und Ivan Izmestiev Technische Universität Berlin 1 Hausaufgaben vom 12.09.2007 Zahlentheorie 1 Aufgabe 1.1 Berechne die (quadratischen)

Mehr

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

Mathematische Grundlagen der Kryptographie. 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe. Stefan Brandstädter Jennifer Karstens Mathematische Grundlagen der Kryptographie 1. Ganze Zahlen 2. Kongruenzen und Restklassenringe Stefan Brandstädter Jennifer Karstens 18. Januar 2005 Inhaltsverzeichnis 1 Ganze Zahlen 1 1.1 Grundlagen............................

Mehr

Mathematik und Logik

Mathematik und Logik Mathematik und Logik 6. Übungsaufgaben 2006-01-24, Lösung 1. Berechnen Sie für das Konto 204938716 bei der Bank mit der Bankleitzahl 54000 den IBAN. Das Verfahren ist z.b. auf http:// de.wikipedia.org/wiki/international_bank_account_number

Mehr

Kapitel 6: Graphalgorithmen Gliederung

Kapitel 6: Graphalgorithmen Gliederung Gliederung 1. Grundlagen 2. Zahlentheoretische Algorithmen 3. Sortierverfahren 4. Ausgewählte Datenstrukturen 5. Dynamisches Programmieren 6. Graphalgorithmen 7. String-Matching 8. Kombinatorische Algorithmen

Mehr

Funktionale Programmierung. Funktionale Programmierung: Vorlesungsüberblick. Eigenschaften rein funktionaler Programmierung

Funktionale Programmierung. Funktionale Programmierung: Vorlesungsüberblick. Eigenschaften rein funktionaler Programmierung Funktionale Programmierung 1 Funktionale Programmierung: Vorlesungsüberblick 1. Funktionale Programmierung Prinzipien funktionaler Programmierung Funktionale Programmierung in prozeduralen Sprachen Rekursive

Mehr

Kapitel 2. Ganze Zahlen. 2.1 Teilbarkeit

Kapitel 2. Ganze Zahlen. 2.1 Teilbarkeit Kapitel 2 Ganze Zahlen In diesem Kapitel setzen wir voraus, dass die Menge Z der ganzen Zahlen, ihre Ordnung und die Eigenschaften der Addition und Multiplikation ganzer Zahlen dem Leser vertraut sind.

Mehr

DLP. Adolphe Kankeu Tamghe papibobo@informatik.uni-bremen.de ALZAGK SEMINAR. Bremen, den 18. Januar 2011. Fachbereich Mathematik und Informatik 1 / 27

DLP. Adolphe Kankeu Tamghe papibobo@informatik.uni-bremen.de ALZAGK SEMINAR. Bremen, den 18. Januar 2011. Fachbereich Mathematik und Informatik 1 / 27 DLP Adolphe Kankeu Tamghe papibobo@informatik.uni-bremen.de Fachbereich Mathematik und Informatik ALZAGK SEMINAR Bremen, den 18. Januar 2011 1 / 27 Inhaltsverzeichnis 1 Der diskrete Logarithmus Definition

Mehr

Excel Funktionen durch eigene Funktionen erweitern.

Excel Funktionen durch eigene Funktionen erweitern. Excel Funktionen durch eigene Funktionen erweitern. Excel bietet eine große Anzahl an Funktionen für viele Anwendungsbereiche an. Doch es kommt hin und wieder vor, dass man die eine oder andere Funktion

Mehr

5 Grundlagen der Zahlentheorie

5 Grundlagen der Zahlentheorie 5 Grundlagen der Zahlentheorie 1 Primfaktorzerlegung Seienm, n N + := {k N k > 0} Man schreibt n n, gesprochen m teilt n oder m ist ein Teiler von n, wenn es eine positive natürliche Zahl k gibt mit mk

Mehr

2 Teilbarkeit in Z. (a) Aus a b folgt a b und a b und a b und a b. (b) Aus a b und b c folgt a c.

2 Teilbarkeit in Z. (a) Aus a b folgt a b und a b und a b und a b. (b) Aus a b und b c folgt a c. 2 Teilbarkeit in Z Bis auf weiteres stehen kleine Buchstaben für ganze Zahlen. Teilbarkeit. Sei a 0. Eine Zahl b heißt durch a teilbar, wenn es ein q gibt mit b = qa. Wir sagen dann auch: a teilt b (ist

Mehr

1 Das RSA-Verfahren und seine algorithmischen Grundlagen

1 Das RSA-Verfahren und seine algorithmischen Grundlagen 1 Das RSA-Verfahren und seine algorithmischen Grundlagen Das wichtigste d. h., am weitesten verbreitete und am meisten analysierte asymmetrische Verfahren ist das RSA-Verfahren, benannt nach seinen Erfindern

Mehr

Kommunikationsalgorithmus RSA

Kommunikationsalgorithmus RSA Kommunikationsalgorithmus RSA Herr Maue Ergänzungsfach Informatik Neue Kantonsschule Aarau Früjahrsemester 2015 24.04.2015 EFI (Hr. Maue) Kryptographie 24.04.2015 1 / 26 Programm heute 1. Verschlüsselungsverfahren

Mehr

23. November Betweenness Centrality Closeness Centrality. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108

23. November Betweenness Centrality Closeness Centrality. H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108 23. November 2011 Betweenness Centrality Closeness Centrality H. Meyerhenke: Algorithmische Methoden zur Netzwerkanalyse 108 Betweenness Centrality Grundlegende Idee: Ein Knoten ist wichtig, wenn er auf

Mehr

Name:... Vorname:... Matrikel-Nr.:... Studienfach:...

Name:... Vorname:... Matrikel-Nr.:... Studienfach:... Stefan Lucks Medien Bauhaus-Univ. Weimar Probeklausur Name:.............................. Vorname:........................... Matrikel-Nr.:....................... Studienfach:........................ Wichtige

Mehr

Vorlesung Diskrete Strukturen Gruppe und Ring

Vorlesung Diskrete Strukturen Gruppe und Ring Vorlesung Diskrete Strukturen Gruppe und Ring Bernhard Ganter Institut für Algebra TU Dresden D-01062 Dresden bernhard.ganter@tu-dresden.de WS 2009/10 1 Bernhard Ganter, TU Dresden Modul Einführung in

Mehr

Überblick. 1 Vorbemerkungen. 2 Algorithmen. 3 Eigenschaften von Algorithmen. 4 Historischer Überblick. Einführung

Überblick. 1 Vorbemerkungen. 2 Algorithmen. 3 Eigenschaften von Algorithmen. 4 Historischer Überblick. Einführung Teil I Einführung Überblick 1 Vorbemerkungen 2 Algorithmen 3 4 Historischer Überblick Prof. G. Stumme Algorithmen & Datenstrukturen Sommersemester 2009 1 1 Vorbemerkungen Was ist Informatik? Informatik

Mehr

Quadratisches Sieb. Aufgabenstellung

Quadratisches Sieb. Aufgabenstellung Quadratisches Sieb Aufgabenstellung Sei N > 1 eine zerlegbare positive ganze Zahl. Wir wollen ein Verfahren entwickeln, mit dem N in Primfaktoren zerlegt werden kann. Ist N von der Form N = p e mit einer

Mehr

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra

Effiziente Algorithmen und Datenstrukturen I. Kapitel 10: Lineare Algebra Effiziente Algorithmen und Datenstrukturen I Kapitel 10: Lineare Algebra Christian Scheideler WS 2008 19.02.2009 Kapitel 10 1 Überblick Notation Arithmetik auf großen Zahlen (Addition und Multiplikation)

Mehr

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

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

Mehr

(c) x = a 2 b = ( ) ( ) = Anzahl der Teiler von x: τ(x) = (1 + 1) (3 + 1) (1 + 1) (7 + 1) = 128

(c) x = a 2 b = ( ) ( ) = Anzahl der Teiler von x: τ(x) = (1 + 1) (3 + 1) (1 + 1) (7 + 1) = 128 Aufgabe 1 Wir betrachten die beiden Zahlen a = 57 101 3 und b = 3 57 79 101 (4+2+4=10 Punkte) ( Es gilt: 3, 57, 79, 101 P ) Hier liegt ein Fehler in der Aufgabenstellung vor, denn wegen 57 = 3 19 ist 57

Mehr

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

Kleiner Fermatscher Satz, Chinesischer Restsatz, Eulersche '-Funktion, RSA Kleiner Fermatscher Satz, Chinesischer Restsatz, Eulersche '-Funktion, RSA Manfred Gruber http://www.lrz-muenchen.de/~gruber SS 2009, KW 15 Kleiner Fermatscher Satz Satz 1. Sei p prim und a 2 Z p. Dann

Mehr

7 Der kleine Satz von Fermat

7 Der kleine Satz von Fermat 7 Der kleine Satz von Fermat Polynomkongruenz modulo p. Sei p eine Primzahl, n 0 und c 0,..., c n Z. Wir betrachten die Kongruenz ( ) c 0 + c 1 X +... + c n 1 X n 1 + c n X n 0 mod p d.h.: Wir suchen alle

Mehr

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

Einleitung Shor s Algorithmus Anhang. Thomas Neder. 19. Mai 2009 19. Mai 2009 Einleitung Problemstellung Beispiel: RSA Teiler von Zahlen und Periode von Funktionen Klassischer Teil Quantenmechanischer Teil Quantenfouriertransformation Algorithmus zur Suche nach Perioden

Mehr

Die Menge C der komplexen Zahlen wird im Kapitel Weitere Themen behandelt.

Die Menge C der komplexen Zahlen wird im Kapitel Weitere Themen behandelt. 1 1 Funktionen 1.1 Grundlegende Zahlenmengen Georg Cantor (1845-1918) hat den Begriff der Menge eingeführt. Man versteht darunter die Zusammenfassung einzelner Dinge, welche Elemente genannt werden, zu

Mehr

Der RSA-Algorithmus. 2. Anschließend ist n = p q und ϕ (n) = (p 1) (q 1) zu berechnen.

Der RSA-Algorithmus. 2. Anschließend ist n = p q und ϕ (n) = (p 1) (q 1) zu berechnen. Kapitel 4 Der RSA-Algorithmus Der RSA-Algorithmus ist das heute bekannteste Verfahren aus der Familie der Public-Key-Kryptosysteme. Es wurde 1978 der Öffentlichkeit vorgestellt und gilt bis heute als der

Mehr

13. Der diskrete Logarithmus

13. Der diskrete Logarithmus 13. Der diskrete Logarithmus 13.1. Definition. Sei p eine Primzahl. Wie wir in 9 bewiesen haben, ist die multiplikative Gruppe F p des Körpers F p = Z/p zyklisch. Sei g ein erzeugendes Element von F p

Mehr

Einführung in die Informatik I

Einführung in die Informatik I Einführung in die Informatik I Algorithmen und deren Programmierung Prof. Dr. Nikolaus Wulff Definition Algorithmus Ein Algorithmus ist eine präzise formulierte Handlungsanweisung zur Lösung einer gleichartigen

Mehr

Algorithmen & Programmierung. Rekursive Funktionen (1)

Algorithmen & Programmierung. Rekursive Funktionen (1) Algorithmen & Programmierung Rekursive Funktionen (1) Berechnung der Fakultät Fakultät Die Fakultät N! einer nichtnegativen ganzen Zahl N kann folgendermaßen definiert werden: d.h. zur Berechnung werden

Mehr

Aufgabensammlung aus Mathematik 2 UMIT, SS 2010, Version vom 7. Mai 2010

Aufgabensammlung aus Mathematik 2 UMIT, SS 2010, Version vom 7. Mai 2010 Aufgabensammlung aus Mathematik 2 UMIT, SS 2, Version vom 7. Mai 2 I Aufgabe I Teschl / K 3 Zerlegen Sie die Zahl 8 N in ihre Primfaktoren. Aufgabe II Teschl / K 3 Gegeben sind die natürliche Zahl 7 und

Mehr

Diskrete Strukturen. Restklassenringe WS 2013/2014. Vorlesung vom 24. Jänner 2014

Diskrete Strukturen. Restklassenringe WS 2013/2014. Vorlesung vom 24. Jänner 2014 Diskrete Strukturen WS 2013/2014 Vorlesung vom 24. Jänner 2014 Thomas Vetterlein Institut für Wissensbasierte Mathematische Systeme Johannes-Kepler-Universität Linz 10.1 Die Modulo-n-Relation Definition

Mehr

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

SCHRIFTLICHE ZUSAMMENFASSUNG ZUM VORTRAG DIE GRUNDLAGEN DER RSA-VERSCHLÜSSELUNG VON DANIEL METZSCH SCHRIFTLICHE ZUSAMMENFASSUNG ZUM VORTRAG DIE GRUNDLAGEN DER RSA-VERSCHLÜSSELUNG VON DANIEL METZSCH Freie Universität Berlin Fachbereich für Mathematik & Informatik Institut für Mathematik II Seminar über

Mehr

KAP 2 DER EUKLIDISCHE ALGORITHMUS. 2.1 Diophantische Gleichungen (1)

KAP 2 DER EUKLIDISCHE ALGORITHMUS. 2.1 Diophantische Gleichungen (1) Der Euklidische Algorithmus Seite 1 KAP 2 DER EUKLIDISCHE ALGORITHMUS 2.1 Diophantische Gleichungen (1) Wir beginnen mit einem (klassischen) Beispiel: Ein Bauer bekommt die Aufgabe, auf dem Markt für 1000

Mehr

Asymmetrische Kryptographie u

Asymmetrische Kryptographie u Asymmetrische Kryptographie u23 2015 Simon, Florob e.v. https://koeln.ccc.de Cologne 2015-10-05 1 Zahlentheorie Modulare Arithmetik Algebraische Strukturen Referenzprobleme 2 Diffie-Hellman Diffie-Hellman-Schlüsselaustausch

Mehr

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g:

Abgabe: (vor der Vorlesung) Aufgabe 2.1 (P) O-Notation Beweisen Sie die folgenden Aussagen für positive Funktionen f und g: TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen SS 2009 Grundlagen: Algorithmen und Datenstrukturen Übungsblatt 2 Prof. Dr. Helmut Seidl, S. Pott,

Mehr

Diskrete Strukturen Vorlesungen 13 und 14

Diskrete Strukturen Vorlesungen 13 und 14 Sebastian Thomas RWTH Aachen, WS 2016/17 01.12.2016 07.12.2016 Diskrete Strukturen Vorlesungen 13 und 14 11 Kongruenzen und Restklassenringe In diesem Abschnitt wollen wir eine ganze Serie von neuen Ringen

Mehr

Kombinatorische Optimierung

Kombinatorische Optimierung Juniorprof. Dr. Henning Meyerhenke 1 Henning Meyerhenke: KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Vorlesung 4 Programm des

Mehr

Diskrete Mathematik Kongruenzen

Diskrete Mathematik Kongruenzen Diskrete Mathematik Kongruenzen 31. Mai 2006 1 Inhaltsverzeichnis 1. Einleitung 2. Prime Restklassen 3. Die Sätze von Euler und Fermat 4. Lineare Kongruenzen 5. Systeme 2 Einleitung 3 Fragestellung Wie

Mehr

1 Modulare Arithmetik

1 Modulare Arithmetik $Id: modul.tex,v 1.10 2012/04/12 12:24:19 hk Exp $ 1 Modulare Arithmetik 1.2 Euklidischer Algorithmus Am Ende der letzten Sitzung hatten wir den größten gemeinsamen Teiler zweier ganzer Zahlen a und b

Mehr

1. Modulare Arithmetik

1. Modulare Arithmetik 1. Modulare Arithmetik Dreizehn Jahre lang hatten die Briten und Franzosen geglaubt, die Enigma- Verschlüsselung sei nicht zu knacken, doch nun schöpften sie Hoffnung. Die polnischen Erfolge hatten bewiesen,

Mehr

vom ggt zu gpg Lars Fischer 1 30.05.2012 Die Mathematik von RSA Lars Fischer Intro Mathematik RSA Anhang 1 lars.scher (bei) gmx-topmail.

vom ggt zu gpg Lars Fischer 1 30.05.2012 Die Mathematik von RSA Lars Fischer Intro Mathematik RSA Anhang 1 lars.scher (bei) gmx-topmail. von Beweis von vom ggt zu gpg 1 30.05.2012 1 lars.scher (bei) gmx-topmail.de Inhaltsverzeichnis von Beweis 1 Einführung 2 von Rechnen mit n Beispiele & Regeln Der gröÿte gemeinsame Teiler Der euklidische

Mehr

Aufgabenblatt 5 (Schnellübung)

Aufgabenblatt 5 (Schnellübung) Frühlingssemester 0, Aufgabenblatt (Schnellübung) Aufgabenblatt (Schnellübung) 30 Punkte Aufgabe (Kettenbrüche) a) Bestimme [b 0, b,..., b ] = [,... ], die Kettenbruchentwicklung von r = 3/9. b) Bestimme

Mehr

Elementare Zahlentheorie (Version 1)

Elementare Zahlentheorie (Version 1) Elementare Zahlentheorie (Version (Winter Semester, 2005-6 Zur Notation N ist die Menge der natürlichen Zahlen:, 2, 3, 4, 5,... und so weiter. Z ist die Menge aller ganzen Zahlen:..., 4, 3, 2,, 0,, 2,

Mehr

Vorlesung 4 BETWEENNESS CENTRALITY

Vorlesung 4 BETWEENNESS CENTRALITY Vorlesung 4 BETWEENNESS CENTRALITY 101 Aufgabe! Szenario: Sie arbeiten bei einem sozialen Online-Netzwerk. Aus der Netzwerk-Struktur Ihrer Benutzer sollen Sie wichtige Eigenschaften extrahieren. [http://www.fahrschule-vatterodt.de/

Mehr

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

Proseminar: Electronic Commerce und Digitale Unterschriften Public-Key-Kryptographie Proseminar: Electronic Commerce und Digitale Unterschriften Public-Key-Kryptographie Ziele der Kryptographie 1. Vertraulichkeit (Wie kann man Nachrichten vor Fremden geheim halten?) 2. Integrität (Wie

Mehr

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

Public-Key Kryptographie mit dem RSA Schema. Torsten Büchner Public-Key Kryptographie mit dem RSA Schema Torsten Büchner 7.12.2004 1.Einleitung 1. symmetrische-, asymmetrische Verschlüsselung 2. RSA als asymmetrisches Verfahren 2.Definition von Begriffen 1. Einwegfunktionen

Mehr

WS 2016/17 Torsten Schreiber

WS 2016/17 Torsten Schreiber 104 Diese Fragen sollten Sie ohne Skript beantworten können: Was bedeutet die Rechtseindeutigkeit einer Relation? Was weiß man von einer surjektiven Funktion? Wann ist eine Funktion total / partiell? Welche

Mehr

Geheim bleibt geheim: Computeralgebra und Verschlüsselung mit RSA

Geheim bleibt geheim: Computeralgebra und Verschlüsselung mit RSA Geheim bleibt geheim: Computeralgebra und Verschlüsselung mit RSA Prof. Dr. Wolfram Koepf Universität Kassel http://www.mathematik.uni-kassel.de/~koepf Nordhessischer Tag der Mathematik 16. Februar 2007

Mehr

Proseminar: Primzahlen 1. Vortrag Der erweiterte euklidische Algorithmus

Proseminar: Primzahlen 1. Vortrag Der erweiterte euklidische Algorithmus Proseminar: Primzahlen 1. Vortrag Der erweiterte euklidische Algorithmus Max Zoller 14. April 8 1 Der klassische euklidische Algorithmus Beispiel: ggt 15, 56? 15 = 1 56 + 49 56 = 1 49 + 7 49 = 7 7 + =

Mehr

Ein RSA verwandtes, randomisiertes Public Key Kryptosystem

Ein RSA verwandtes, randomisiertes Public Key Kryptosystem Seminar Codes und Kryptographie WS 2003 Ein RSA verwandtes, randomisiertes Public Key Kryptosystem Kai Gehrs Übersicht 1. Motivation 2. Das Public Key Kryptosystem 2.1 p-sylow Untergruppen und eine spezielle

Mehr