Wiederholung Chinesischer Restsatz RSA TexPoint fonts used in EMF.

Slides:



Advertisements
Ähnliche Präsentationen
Fast Fourier Transformation
Advertisements

Rekursion: Rekurrenz: Algorithmen rufen sich selbst (rekursiv) auf.
Kapitel 3 Arithmetische Schaltkreise
Polynomial Root Isolation
Algebraische Zahlen: Exaktes Rechnen mit Wurzeln
Wiederholung TexPoint fonts used in EMF.
Schnelle Matrizenoperationen von Christian Büttner
Wiederholung TexPoint fonts used in EMF.
Wiederholung: Ziehen von Elementen
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Wiederholung Operationen auf Mengen Relationen, Abbildungen/Funktionen
Algorithmentheorie 04 –Hashing
WS Algorithmentheorie 02 - Polynomprodukt und Fast Fourier Transformation Prof. Dr. Th. Ottmann.
Algorithmentheorie 02 – Polynomprodukt und Fast Fourier Transformation
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Kapitel 3 Elementare Datenstrukturen TexPoint fonts used in EMF.
Wiederholung Formale Potenzreihen
V. Algebra und Geometrie
Quaternionen Eugenia Schwamberger.
§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.
§ 29 Determinanten: Eigenschaften und Berechnung
Diplomarbeit von Daniel Tameling
Computergrafik – Inhalt Achtung! Kapitel ist relevant für CG-2!
Effiziente Algorithmen
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Effiziente Algorithmen
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 04/
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
Effiziente Algorithmen Hartmut Klauck Universität Frankfurt SS
Quantum Computing Hartmut Klauck Universität Frankfurt WS 05/
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
Umgekehrte Kurvendiskussion
Institut für Theoretische Informatik
4 6 5 Rechenoperationen hoch 2 ??? hoch 2 ??? hoch 2
Scaffold 29S: Komplexe Zahlen
Grundlagen der Algorithmen und Datenstrukturen Kapitel
Folie 1 §21 Das Produkt von Matrizen (21.1) Definition: Für eine (m,n)-Matrix A und eine (n,s)-Matrix B ist das (Matrizen-) Produkt AB definiert als (21.2)
Diskrete Mathematik Angelika Steger Institut für Theoretische Informatik TexPoint fonts used in EMF. Read the TexPoint manual before.
Theory of Programming Prof. Dr. W. Reisig Was heißt „Korrektheit“? W. Reisig Workshop Modellierung Hamburg, März 2015.
11 Ausgewählte Algorithmen der Computergraphik Digitale Geometrie Gebiete und Konturen Farbmodelle Renderalgorithmen Schnelle Multiplikation Fast Fourier.
§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.
Vorlesung AVL-Bäume/Algorithmen-
Vorlesung AVL-Bäume/Algorithmen-
Wiederholung Größte gemeinsame Teiler Satz von Bezout:
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 Verband Ungerichtete Graphen Partielle Ordnung
Kapitel I. Vorspann zum Begriff Vektorraum
 Präsentation transkript:

Wiederholung Chinesischer Restsatz RSA TexPoint fonts used in EMF. ZN  Zm1 £ … £ Zmn ZN*  Zm1* £ … £ Zmn* Quadratwurzeln der 1 sind (§ 1, § 1, …, § 1) Nichttriviale Quadratwurzeln erlauben Faktorisierung RSA Schlüsselgenerierung Ver-/ und Entschlüsselung Faktorisieren , Berechnen von Á(N) , Berechnen von d 30.11.2018 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAA

Sicherheit von RSA RSA-Problem Gegeben: N, e, c=me mod N Gesucht: m2ZN D.h. m=c1/e mod N ist die e-te Wurzel von c in ZN. Beachte: Spezialfälle für e-te Wurzeln sind leicht. Sei me < N. Dann kann c1/e in N leicht berechnet werden. Faktorisieren ist nicht NP-schwer (unter geeigneten Komplexitätsannahmen). Offenes Problem: Algorithmus für e-te Wurzeln ) Algorithmus zum Faktorisieren 30.11.2018

Polynome Form p(x) = anxn + an-1xn-1 + … a1x+a0 ai: Koeffizienten des Polynoms p(x) 2 R[x], falls ai 2 R (z.B. R=Z, R, C) grad(p) := max{i 2 N0| ai  0} grad(0) := (-1) Annahme: Operationen (+,-,*,/) auf ai und x in Zeit O(1). Frage: Komplexität von (+,-,*,/,Auswerten) für Polynome? 30.11.2018

Auswerten eines Polynoms Naive Auswertung von p(x) = anxn + …+ a0: i=0n+1 i = O(n2) Multiplikationen und n Additionen Gesamt: O(n2) Hornerschema: p(x) = ((…((an*x + an-1)*x + an-2) + …)*x +a1)*x + a0 n Multiplikationen und n Additionen Gesamt: O(n) 30.11.2018

Addition/Subtraktion von p(x) Seien a(x) = anxn + … + a0, b(x) = bmxm + … + b0 ObdA n>m. Setze bm+1=…=bn=0. (a+b)(x) = cnxn+ … + c0 mit ci = ai + bi für 0 · i · n Laufzeit Addition/Subtraktion: O(n) 30.11.2018

Multiplikation Schulmethode Seien a(x) = anxn + … + a0, b(x) = bmxm + … + b0 (a*b)(x) = (an*bm)*xn+m + (an-1bm+anbm-1)xn+m-1 + … + (a0b1+a1b0)x + a0b0 = i=0n+m cixi mit ci = j=0i ajbi-j Beachte: an+1 = … = an+m = 0 und bm+1 = … = bn+m = 0 Laufzeit: ObdA n ¸ m Höchstens 2n+1 Koeffizienten O(n) Additionen und Multiplikationen pro Koeffizient Gesamt: O(n2) Operationen Ziel: Laufzeit O(n log n) 30.11.2018

Division Schulmethode Satz: Seien a(x), b(x) 2 Q[x] mit b(x) 0. Dann gibt es q(x),r(x) 2 Q[x] mit a(x) = q(x)*b(x) + r(x) mit grad(r)<grad(b). Sei grad(a)=n, grad(b)=m. Existenz: Für n<m: Setze q(x)=0, r(x)=a(x). Sei n ¸ m. Beweis per Induktion über n IA: Für n=0 gilt m=0. Setze q(x)=1 und r(x)=0. IS n-1 ! n: a‘(x) = a(x) – an/bmxn-m*b(x) hat Grad · n-1 IV: 9 q‘(x),r‘(x) mit a‘(x) = q‘(x)*b(x) + r‘(x) mit grad(r‘)<grad(b) ) a(x) = a‘(x) + an/bm*b(x) = (q‘(x) + an/bm*xn-m)*b(x) + r‘(x) mit grad(r‘)<grad(b). Eindeutigkeit: Sei a=q*b+r=q‘b+r‘ mit (q,r)(q‘,r‘) und grad(r), grad(r‘) < b Es gilt b(q-q‘) = r‘-r Wegen grad(r‘-r) · grad(r‘) < b muss q=q‘ gelten. Damit ist 0 = r‘-r und daher r=r‘. Liefert Methode mit Laufzeit O(n2). 30.11.2018

Point-value Repräsentation Sei a(x) Polynom vom Grad < n. Seien x0,x1,…,xn-1 paarweise verschieden. Sei yi = a(xi) für 0 · i · n-1. {(x0,y0), (x1,y1),…,(xn-1,yn-1)} heisst Point-value Form von a(x). Satz: Sei {(x0,y0), (x1,y1),…,(xn,yn)} eine Point-value Form. Dann gibt es ein eindeutiges a(x) mit grad(a)<n mit a(xi)=yi für i=0,…,n. Finde Koeffizienten a0, …, an-1 mit Vandermonde-Matrix ist invertierbar für paarweise verschiedene xi. ) Existenz und Eindeutigkeit des Lösungsvektors (a0,…,an-1). 30.11.2018

Alternativ: Lagrange Interpolation Setze Jedes der pk(x) hat Grad n, daher auch a(x). pk(xk)=1 und pk(xi) = 0 für i k Daher gilt a(xi) = yi für i=0,…,k 30.11.2018

Arithmetik mit Point-value Form Addition: Sei c(x) = a(x)+b(x). a(x) = {(x0,y0), …, (xn,yn)} b(x) = {(x0,y0‘), …, (xn, yn‘)} c(x) = {(x0,y0+y0‘),…, (xn,yn+yn‘)} Addition in O(n) Multiplikation: Sei c(x) = a(x)*b(x), grad(a), grad(b) < n a(x) = {(x0,y0),…,(x2n-1, y2n-1)} b(x) = {(x0, y0‘),…,(x2n-1, y2n-1‘)} c(x) = {(x0, y0*y0‘), …, (x2n-1, y2n-1*y2n-1‘)} Multiplikation in O(n) Problem: Konvertierung Koeffizientenform ! Point-value Form: Auswerten von Polynom an n Stellen: O(n2) mit Horner-Schema Konvertierung Point-value Form ! Koeffizientenform: Lagrange-Interpolation in Zeit O(n2). Lösung: Werten an geeigneten Stellen aus: 2n-te Einheitswurzeln !2n. 30.11.2018

Multiplizieren von Polynomen Koeffizientenform Gewöhnliche Multiplikation O(n2) a0,…,an-1 b0,…,bn-1 c0,…,c2n-1 Auswertung Ziel: O(n logn) Interpolation Ziel: O(n logn) Punktweise Multiplikation O(n) a(!2n0), …, a(!2n2n–1) b(!2n0), …, b(!2n2n–1) c(!2n0), …, c(!2n2n–1) Point-value Form 30.11.2018

n-te Einheitswurzeln Def: Eine n-te Einheitswurzel ist eine komplexe Zahl ! 2 C mit der Eigenschaft !n = 1 Es gibt exakt n viele n-te Einheitswurzeln e2¼ik/n für k=0,1,…,n-1 Erinnerung: ei® = cos(®) + i*sin(®) n-te Einheitswurzeln besitzen gleichen Abstand auf dem Einheitskreis in der komplexen Ebene !n = e2¼i/n heißt primitive n-te Einheitswurzel Alle n-ten Einheitswurzeln sind Potenzen von !n 30.11.2018