Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

33
Quantum Computing RSA-Public-Key- Kryptograhie Shor `94

Transcript of Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

Page 1: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

Quantum Computing

RSA-Public-Key-KryptograhieShor `94

Page 2: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

Überblick

• 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,...

Ich werde heute behandeln:

Page 3: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

Kryptographie-Grundlagen

Kryptographie-Prinzip

• Klartext: „Hallo!“• Sender,

verschlüsselt Text mit Schlüssel

• Geheimtext „101010“• Empfänger, entschlüsselt• Klartext: „Hallo!“

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)

Page 4: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

Das bedeutet: • 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.

Prinzip:• 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

Public-Key-Kryptographie

Page 5: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

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

Page 6: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

1-qubit-gates

Quantencomputer-Grundlagen

Not... Spin-Flip, oder einfach Paulimatrix multiplizieren.

Hadamard ...

Phase-Shift-Gate ...

Mit Hadamard und Phase-Shift lassen sich allgemein 1-qubit-Transformationen erzeugen:

Page 7: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

• „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

2-qubit-gates

Page 8: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

Universeller Satz • 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.

Verschränkte Zustände

• Kann nicht als Produktzustand geschrieben werden.

• Können nur durch Wechselwirkungen zwischen Teilchen entstehen (2-qubit-Gates, wie CNOT)

Quantencomputer-Grundlagen

Page 9: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

„Schnellgkeit“ von Algorithmen

• effiziente Algorithmen = berechenbare Algorithmen, Komplexitätsklasse 'P' , polynomiale Probleme

• ineffiziente Algortihmen = unberechenbare Algorithmen, Komplexitätsklasse 'NP' oder 'N‚exponentielle Probleme

Gegenüberstellung Faktorisierung• Faktorisierung benötigen

wir später! • Shor =

Quantenalgorithmus!

Quantencomputer-Grundlagen

Dezimal-stellen

Klass. Algorithmus

(1GHz)

Shor ’94 (1MHz)

100 150 Tage 2.5 Stunden

300 6 Millionen Jahre

2.5 Tage

Page 10: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

Überlagerung von Zuständen

• = Register...das sind n qubits.

• ... Dezimal• Tensorprodukt zweier

Register mit x... Input-Registery... Output-Register

• Fouriertransformation an x:

Auswerten von Funktionen• 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).

Quantenparallelismus

Page 11: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

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

Ein nettes Beispiel

Page 12: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

Quantenfouriertransformation

Page 13: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

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.

Page 14: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

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

Page 15: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

• Schritt 2.3: Nochmalige Fouriertransformation

, wobei:

, .

Der 2. Schritt-Finden einer Periode P

Page 16: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

• 2.4: Messen der Zustände und Wahrscheinlichkeitsverteilung

Der 2. Schritt-Finden einer Periode P

Page 17: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

Ist Q/P ganzzahlig, gibts nur an diesen z konstrukive Interferenz:

Der 2. Schritt-Finden einer Periode P

Page 18: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

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

Page 19: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

• Schritt 2.5.: Bestimmen von P mittels KettenbruchBei 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

Page 20: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

Der 2. Schritt-Finden einer Periode P

Page 21: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

Demonstrationsbeispiel-RSA-Teil

Der Öffentlichkeit bekannt: N , f also weiß das auch Bob, Codewort cNur Bob bekannt: Message b = „TOPSECRET“Nur Alice bekannt: p, q, d und später nach Decodierung: d

Page 22: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

Demonstrationsbeispiel-RSA-Teil

ET ('public-key') ... (f,N) = (5,35)DT (privater Schlüssel) ... (d) = (5)

Page 23: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

Demonstrationsbeispiel-RSA-Teil

Page 24: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

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,....

Page 25: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

Demonstrationsbeispiel-Shor-Teil

Page 26: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

Demonstrationsbeispiel-Shor-Teil

Page 27: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

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.

Page 28: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

Demonstrationsbeispiel-Shor-Teil

Page 29: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

Demonstrationsbeispiel-Shor-Teil

Page 30: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

Demonstrationsbeispiel-Shor-Teil

Page 31: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

Am Ziel angelangt

Page 32: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

Ergänzungen zur Effizienz

Page 33: Quantum Computing RSA-Public-Key-Kryptograhie Shor `94.

Ende

Es bedankt sich für eure Aufmerksamkeit: Manuel Grill