TU GRAZ RSA-Public-Key-Kryptograhie Shor `94 Quantum Computing RSA-Public-Key-Kryptograhie Shor `94 Manuel Grill
Überblick Ich werde heute behandeln: Public-Key-Kryptographie; RSA-Verfahren Grundlagen des Quantencomputers, „Schnelligkeit“ Quantenparallelismus und Quantenfouriertransformation Die 5 Schritte des Shor-Algorithmus Der 2. Schritt im Shor-Algorithmus Der 2. Schritt im Shor-Algorithmus - Wahrscheinlichkeit Ein Demonstrationsbeispiel mit kleinen Zahlen Beantworten von Fragen, Diskussion, Beweise, Beispiel mit größeren Zahlen, was auch immer,...
Kryptographie-Grundlagen Kryptographie-Prinzip Grundbegriffe Angreifer ... will Geheimtext lesen, muss also Schlüssel finden „Kryptoanalyse“... das macht der Angreifer Schlüssel ... allg. Vorschrift wie ich Klartext verändere (Algorithmus) Klartext: „Hallo!“ Sender, verschlüsselt Text mit Schlüssel Geheimtext „101010“ Empfänger, entschlüsselt Klartext: „Hallo!“
Public-Key-Kryptographie Das bedeutet: Prinzip: Empfänger und Sender benötigen nicht die selbe Information. Empfänger gibt dem Sender einen öffentlich zugänglichen Schlüssel. Empfänger hält privaten Schlüssel geheim. ET ('public-key') DT (privater Schlüssel) b ... Botschaft c ... Geheimtext Public-Key-Eigenschaft: DT kann aus ET nicht berechnet werden! Entschlüsselungseigenschaft: DT(ET (b))=b Codieren: c = EB(b) Decodieren: DB(c)=DB(EB(b))=b
Quantencomputer-Grundlagen quantum circuit model ... mathematisches Modell für Quantencomputer Anstatt der BITS (1,0) haben wir nun QUBITS, die in beliebigem 2-Zustandssystemen realisiert sind zB.: Stern-Gerlach, Polarisation, Metastabile Zustände qubits in z-Basis: ... False ... True
Quantencomputer-Grundlagen 1-qubit-gates Not... Spin-Flip, oder einfach Paulimatrix multiplizieren. Hadamard ... Phase-Shift-Gate ... Mit Hadamard und Phase-Shift lassen sich allgemein 1-qubit-Transformationen erzeugen:
Quantencomputer-Grundlagen 2-qubit-gates „and“ „or“ sind nicht reversibel, d.h.: Reduktion des Hibertraumes, d.h.: Probleme bei Zeitentwicklung, denn wir benötigen UNITÄRE Operatoren. Lösung: Tensorprodukt zweier Zustände , Controlled-U-Gate Macht das gleiche wie das CNOT - Gate, nur für beliebige 1-qubit-Gates U. Also wendet es U auf 2. qubit an, falls das 1. qubit true ist. Controlled – NOT – Gate … CNOT ... Tauscht mit . Matrixdarstellung in z-Basis:
Quantencomputer-Grundlagen Universeller Satz Verschränkte Zustände Mit diesen drei können wir beliebige, unitäre Transformationen durchführen. Erstere beiden sind 1-qubit und drittes ist 2-qubit-Gate. Man baut also jedes Quantennetzwerk mit diesen dreien auf. Auch für n-qubits. Kann nicht als Produktzustand geschrieben werden. Können nur durch Wechselwirkungen zwischen Teilchen entstehen (2-qubit-Gates, wie CNOT)
Quantencomputer-Grundlagen „Schnellgkeit“ von Algorithmen Gegenüberstellung Faktorisierung effiziente Algorithmen = berechenbare Algorithmen, Komplexitätsklasse 'P' , polynomiale Probleme ineffiziente Algortihmen = unberechenbare Algorithmen, Komplexitätsklasse 'NP' oder 'N‚ exponentielle Probleme Faktorisierung benötigen wir später! Shor = Quantenalgorithmus! Dezimal-stellen Klass. Algorithmus (1GHz) Shor ’94 (1MHz) 100 150 Tage 2.5 Stunden 300 6 Millionen Jahre 2.5 Tage
Quantenparallelismus Überlagerung von Zuständen Auswerten von Funktionen = Register ...das sind n qubits. ... Dezimal Tensorprodukt zweier Register mit x... Input-Register y... Output-Register Fouriertransformation an x: Wir können nun mittels einer unitären Transf. mit nur EINEM SCHRITT eine beliebige Funktion für die überlagerten Werte auswerten. Messen allerdings müssen wir sie einzeln (Zustände kollabieren).
Ein nettes Beispiel Rechenzeiten , n = 100 bits. Rechenschritte für klassisches System, Schritte/sek. 1(!) Rechenschritt für Quantencomputer, Entwicklungsjahre + Zeit für eine Rechenoperation. Das ergibt im Vergleich etwa: Jahre (klassisch) : Entwicklungsjahre
Quantenfouriertransformation
5 Schritte des Shor-Algorithmus Sinn? Man kann damit ein große Zahl N faktorisieren, d.h.: N = pq ... p,q sind Primzahlen. Wozu? Sehen wir später. Schritt 1: wir wählen ein zufälliges m < N, ggT(m,N) = 1. Schritt 2: Finden einer Periode der Funktion Schritt 3: P muss gerade sein, sonst zurück zu Schritt 1 Schritt 4: Falls , zurück zu Schritt 1 Sonst weiter zu: Schritt 5: Die Zahl ist dann entweder q oder p. Fertig.
Der 2. Schritt-Finden einer Periode P Für ein klassisches System ist dieser Schritt hier ein „N“ Problem! Schritt 2.0: Schritt 2.1: ... Fouriertransformation, Überlagerung Schritt 2.2: , ... Unitäre Transformation für:
Der 2. Schritt-Finden einer Periode P Schritt 2.3: Nochmalige Fouriertransformation , wobei: , .
Der 2. Schritt-Finden einer Periode P 2.4: Messen der Zustände und Wahrscheinlichkeitsverteilung
Der 2. Schritt-Finden einer Periode P Ist Q/P ganzzahlig, gibts nur an diesen z konstrukive Interferenz:
Der 2. Schritt-Finden einer Periode P Ist Q/P nicht ganzzahlig, so gibt es einen Streubereich, und wir können z messen, die bei unseren späteren Überlegungen zu einer falschen Periode führen. (keine Delta-Peaks mehr!)
Der 2. Schritt-Finden einer Periode P Schritt 2.5.: Bestimmen von P mittels Kettenbruch Bei dieser Methode gibt es für bestimmte z kein Ergenbis, oder ein falsches (bei Brüchen, die sich noch kürzen lassen). Ich wähle alternativ ein z aus dem Streubereich. Es lässt sich aber zeigen, dass, selbst wenn man öfters messen muss, wir immer noch im effizienten Bereich liegen. Wir liegen auch dann noch im berechenbaren Bereich, wenn wir die nachbarn probieren.
Der 2. Schritt-Finden einer Periode P
Demonstrationsbeispiel-RSA-Teil Der Öffentlichkeit bekannt: N , f also weiß das auch Bob, Codewort c Nur Bob bekannt: Message b = „TOPSECRET“ Nur Alice bekannt: p, q, d und später nach Decodierung: d
Demonstrationsbeispiel-RSA-Teil ET ('public-key') ... (f,N) = (5,35) DT (privater Schlüssel) ... (d) = (5)
Demonstrationsbeispiel-RSA-Teil
Demonstrationsbeispiel-Shor-Teil Wichtig! Durch unseren Quantencomputer knacken wir jetzt ein Verfahren, das durchaus oft Anwendung findet! Das RSA-Verfahren ist eines der meistvervendetsten der Public-Key-Kryptographie: Banken, Internet,....
Demonstrationsbeispiel-Shor-Teil
Demonstrationsbeispiel-Shor-Teil
Demonstrationsbeispiel-Shor-Teil Schritt 2.4 ... Wir messen Q/z. Bildet das eine Differenz mit P/d, laut CFE-Bedingung, so erhalten wir unsere richtige Periode P. Es sei denn ggT(d,P) ist nicht 1.
Demonstrationsbeispiel-Shor-Teil
Demonstrationsbeispiel-Shor-Teil
Demonstrationsbeispiel-Shor-Teil
Am Ziel angelangt
Ergänzungen zur Effizienz
Es bedankt sich für eure Aufmerksamkeit: Ende Es bedankt sich für eure Aufmerksamkeit: Manuel Grill