Könnten Quantencomputer jede Chiffre knacken? [abgeschlossen]

Mir wurde gesagt, dass Physiker und Informatiker an Computern arbeiten, die die Quantenphysik nutzen könnten, um die Rechenleistung erheblich zu steigern und jede Chiffre zu brechen, sodass die Kryptografie bedeutungslos wird.

Ist es wahr?

Weiterführende Lektüre: Wie wird die Kryptografie durch Quantum Computing verändert? (und wahrscheinlich ziemlich viel im Post-Quantum-Cryptography- Tag von Cryptography und dem Quantencomputing - Tag von Information Security ).
Ich stimme dafür, diese Frage als nicht zum Thema gehörend zu schließen, da es darum geht, die Behauptung der Verwendung eines Quantencomputers zu überprüfen, und überhaupt nicht um Physik. Vielleicht sind Kryptografie oder Skeptiker für diese Frage besser geeignet.
Ich glaube eigentlich nicht, dass das Thema für uns ist. Es ist wirklich eine Frage der Kryptographie - die einzige Verbindung zur Physik besteht darin, zu wissen, dass ein Quantencomputer bestimmte Probleme in weniger als exponentieller Zeit effektiv lösen kann.
Ich glaube nicht einmal, dass es eine so große Sache ist. Ich habe vor einiger Zeit eine ähnliche Frage beantwortet: Wie wird die Kryptografie durch Quantencomputer verändert? , und das Wichtigste daran war, dass wir wissen, wie man mit Computern umgeht, die immer schneller werden: größere Schlüsselräume.
@NathanCooper Wenn ich eine Maschine bauen kann, deren Fähigkeit zum Faktorisieren schneller wächst als die Fähigkeit Ihrer Maschine zum Verschlüsseln/Entschlüsseln, dann helfen größere Schlüsselräume nicht. Oder übersehe ich etwas?
@DanielSank wenn ....
@emory natürlich "wenn". Der Punkt ist, dass das, was Nathan gesagt hat, für mich keinen Sinn ergibt.
Ich denke, die 24 positive Stimmen und mehrere sehr erfolgreiche Antworten deuten darauf hin, dass diese Frage angemessen war. Ich schlage vor, es wieder zu öffnen. Dies ist eine häufig gestellte Frage im Zusammenhang mit Quantencomputing – es ist sicherlich eine interdisziplinäre Frage, aber die Tatsache, dass sie interdisziplinär ist, bedeutet nicht, dass sie nicht beantwortet werden kann oder für dieses Forum nicht zum Thema gehört.

Antworten (7)

Nein ist es nicht.

Quantencomputer können große Zahlen effizient faktorisieren, was es ermöglichen würde, viele der häufig verwendeten Public-Key-Kryptosysteme wie RSA zu knacken, die auf der Härte der Faktorisierung basieren.

Es gibt jedoch andere Kryptosysteme wie die gitterbasierte Kryptographie , die nicht auf der Härte des Faktorisierens basieren und die (nach unserem derzeitigen Wissen) nicht anfällig für Angriffe durch einen Quantencomputer wären.

Quantencomputing ist vielversprechend, aber nicht unendlich leistungsfähig.

Die (übertriebenen) Behauptungen, die Sie gehört haben, basieren wahrscheinlich auf dem berühmtesten Quantencomputing-Algorithmus, dem Shor-Algorithmus . Dies ist eine Methode, um mit einem Quantencomputer ganze Zahlen in Primzahlen zu zerlegen. Wie sich herausstellt, verlassen sich viele Verschlüsselungsschemata auf die Tatsache, dass das Faktorisieren großer Zahlen sehr schwierig ist. Nachrichten lassen sich relativ einfach so verschlüsseln, dass nur jemand, der die Primfaktorzerlegung einer bestimmten Zahl kennt, sie mit vertretbarem Aufwand entschlüsseln kann. Wenn Sie große Zahlen schnell faktorisieren könnten, würden Sie viele heutige Verschlüsselungsschemata knacken.

Es gibt jedoch auch andere Techniken, die nicht unmittelbar von Quantencomputern bedroht sind. Wenn nichts anderes, können Sie immer ein One-Time-Pad verwenden , solange die Nachricht selbst verwendet wird. Dies ist mathematisch unzerbrechlich, da jede Nachricht aus der verschlüsselten mit der entsprechenden Schätzung des Schlüssels "entschlüsselt" werden kann, sodass es für einen Lauscher keine Möglichkeit gibt, die echte Nachricht zu kennen.

Die Quantenberechnung kann auch die Türen zu Möglichkeiten der nächsten Generation zur sicheren Übertragung von Informationen öffnen. Beispielsweise besteht die meiste Verschlüsselung heute genau darin, die Nachricht so zu verschlüsseln, dass nur der beabsichtigte Empfänger sie verstehen kann. Aber es kann gute Quantenwege geben, um physisch sicherzustellen, dass Lauscher überhaupt nicht auf die Übertragung zugreifen können.

Würden Quantencomputer also Lauschern helfen, sich einen Vorteil gegenüber Verschlüsselungsgeräten zu verschaffen, oder umgekehrt? Klingt so, als würde die Entschlüsselung in einigen Fällen einfacher, aber eine gute Verschlüsselung wird auch einfacher.
Bei einmaligen Pads wird die Verschlüsselung sowohl teurer als auch weniger sicher, da das Pad physisch an den Verschlüsseler gesendet werden muss, der dann sicherstellen muss, dass es nicht von The Bad Guys gelesen wird. Bei sehr großen Verkehrsströmen werden auch die Pads groß, also gibt es dort Kosten. Solange der Schlüssel jedoch sicher bleibt, sind Lauscher hilflos und Quantencomputer nutzlos.
Aber in vielen Fällen ist das Abhören nicht das Problem. Angenommen, ich habe eine Datei auf meiner Festplatte, die niemand lesen soll, selbst wenn sie die Maschine stehlen.
Die @innisfree Quantum-Mechanik hilft Verschlüsselern mehr als Lauschern, da Quantum Key Distribution One-Time-Pads über einen unsicheren Kanal nutzbar macht. Aktuelle Systeme sind so konzipiert, dass jeder Lauscher einen Zusammenbruch der Wellenfunktion verursachen und dabei das OTP zerstören würde. Beachten Sie auch, dass der Algorithmus von Shor größtenteils eine theoretische Schwachstelle ist (zum Zeitpunkt des Schreibens war die größte Zahl, die berücksichtigt wurde, 56153), während diese QKD-Systeme heute verwendet werden.

Es gibt tatsächlich eine ganze Komplexitätsklasse, die der Antwort gewidmet ist, die lautet: "Nein, es kann keinen Code knacken." Die Klasse ist als BQP oder „Bounded Error Quantum Polynomial Time“ bekannt. Es ist die Klasse von Entscheidungsproblemen, die von einem Quantencomputer in polynomieller Zeit gelöst werden können, mit nicht mehr als 1/3 Fehlermarge (dieser Fehlerterm wird in einem klassischen Rechenschritt berücksichtigt, der nach den meisten Quantenalgorithmen auftritt, um dies zu verifizieren Ergebnisse sind korrekt).

Es wird angenommen, dass BQP die folgenden Beziehungen zu anderen Komplexitäten hat:

  • Enthält P (Polynomzeit)
  • Überschneidet sich, enthält aber wahrscheinlich nicht vollständig NP (Nondeterministic Polynomial time)
    • Enthält wahrscheinlich kein NP-vollständig (als Folgerung)
  • Teilmenge von PSPACE (Probleme, die mit polynomiellen Platzanforderungen lösbar sind)

(Die größte Unbekannte in dieser Liste ist, dass noch nicht bekannt ist, ob P = NP. Die Liste geht von P! = NP aus, aber wenn P = NP, wären NP und NP-vollständig auch Teil von BQP. Wir wissen es auch nicht Ich weiß nicht, ob NP = BQP oder nicht. Es bleibt also noch viel zu entdecken! )

RSA ist mit Quantencomputern knackbar, da die Aufgabe, große zusammengesetzte Zahlen zu faktorisieren, in BQP liegt, wie der Algorithmus von Shor demonstriert. Shors Algorithmus ist NP (aber nicht NP-vollständig). Es gibt andere NP-Algorithmen, von denen angenommen wird, dass sie außerhalb von BQP liegen und zur Verschlüsselung verwendet werden können (die akzeptierte Antwort ist mit gitterbasierter Kryptographie verknüpft, einer solchen Klasse von Algorithmen).

"Die einzige Unbekannte in dieser Liste ist, dass noch nicht bekannt ist, ob P = NP ist." -- Das genaue Verhältnis von NP und BQP ist ebenfalls unbekannt.

Die bisherigen Antworten konzentrierten sich auf die Verschlüsselung mit öffentlichem Schlüssel, bei der jemand einen öffentlichen Schlüssel veröffentlicht, der zum Verschlüsseln von Nachrichten an ihn verwendet werden kann und der nicht geheim ist. Quantencomputer sind dafür bekannt, einige der Probleme, die am häufigsten als Grundlage der Public-Key-Kryptographie verwendet werden, effizient zu lösen. Es betrifft nicht alle Public-Key-Kryptografien, sondern nur die beliebtesten Schemata; es wirkt sich auf die beliebtesten Schemata aus.

Verschlüsselung ist jedoch mehr als nur ein öffentlicher Schlüssel. Es wird angenommen, dass symmetrische Verschlüsselungsschemata, bei denen die beiden Parteien einen geheimen Schlüssel teilen, nur einer quadratischen Beschleunigung mit Quantencomputern unterliegen (Quantencomputer können eine quadratische Beschleunigung für allgemeine Suchprobleme erreichen, aber nicht mehr). Dies entspricht effektiv einer Halbierung der Schlüssellänge. Im Gegensatz zu den gängigen Public-Key-Systemen ist die effektive Halbierung der Schlüssellänge extrem einfach zu reagieren: Sie können einfach Ihre Schlüssellängen verdoppeln und weitermachen. Symmetrische Verschlüsselung ist weit verbreitet; Selbst wenn die Verschlüsselung mit öffentlichen Schlüsseln verwendet wird, wird sie meistens nur zum Austausch eines Schlüssels für die symmetrische Verschlüsselung verwendet.

Das am weitesten verbreitete symmetrische System, AES, hat eine 256-Bit-Schlüsselvariante, die 128 Bit Sicherheit gegenüber Quantencomputern bietet. Andere in der Entwicklung befindliche Schemata unterstützen 512-Bit-Schlüssel, die 256 Bit effektive Sicherheit bieten würden. Sowohl 128 als auch 256 Bit gelten als auf absehbare Zeit sicher.

Ebenso wird angenommen, dass kryptografische Hash-Funktionen sehr gut gegen Quantencomputer bestehen. Es gibt denselben Algorithmus-basierten Angriff von Grover, aber wie bei Verschlüsselungsfunktionen ist er einfach abzuwehren.

Daher sind alle Behauptungen, dass Kryptografie bedeutungslos wird, völlig falsch, da das Einzige, was ernsthaft betroffen ist, Public-Key-Systeme sind. Public-Key-Systeme sind wichtig, aber Kryptografie ist ein viel breiteres Feld.

Und genau diese Antwort ist der Grund, warum ich denke, dass diese Frage hier nicht zum Thema gehört: Hier gibt es keinen Tropfen Physik (etwas, das wir in jeder Antwort erwarten) .
@KyleKanos: Es gibt hier einen Tropfen Physik in Grovers Algorithmus, der 1997 genug Physik hatte, um in Phys veröffentlicht zu werden. Rev. Lett. ($$) ( arXiv-Version ) . Ich gebe zu, es ist nur ein Tropfen Physik, aber zu wissen, ob es Physik oder Informatik ist, ist ein häufiges (und frustrierendes) Problem mit Quanteninformationen.

Nein. Es kann keinen X-Computer geben, der irgendeine Chiffre knacken kann, weil das One-Time-Pad eine Chiffre ist und One-Time-Pad nicht durch einen Algorithmus gebrochen werden kann (trivialer Beweis in der Informationstheorie).

Ich möchte hinzufügen, dass Quantencomputer keinen bestehenden Code knacken können, da ihre logischen Gatter genau die gleichen Operationen ausführen können wie klassische logische Gatter. Sie fügen neue Möglichkeiten hinzu, während sie die früher in klassischen Computern möglichen beibehalten.

Da Programme im Kern auf logischen Gattern arbeiten, ist es vernünftig anzunehmen, dass jeder existierende Code für klassische Computer auf einem Quantencomputer funktionieren kann.

Siehe auch Quantengatter auf Wikipedia.

Das macht keinen Sinn. Wie schließt die Aussage, dass ein Quantencomputer alles kann, was ein klassischer Computer kann, die Möglichkeit aus, dass Quantencomputer Codes knacken könnten? Zumal klassische Computer Codes knacken können, nur nicht unbedingt in machbarer Zeit. Ihr Argument ist wie zu sagen: "Gabelstapler können keine 20 kg heben, weil sie alles heben können, was ein Mensch kann." Es ist zweimal falsch: Menschen können 20 kg heben, und selbst wenn sie es nicht könnten, der Gabelstapler kann mehr.

Ok - theoretisch könnte ein Quantencomputer so funktionieren:

Sie können eine normale Berechnung starten und für alle möglichen Eingabetasten parallel berechnen. Das heißt, die Entschlüsselung eines verschlüsselten Textes mit dem richtigen Schlüssel dauert genauso lange wie die Entschlüsselung mit jedem möglichen Schlüssel (mit fester Länge). Das würde bedeuten, dass alle traditionellen Verschlüsselungsverfahren wie AES etc. so schnell geknackt werden könnten, wie sie vom Inhaber des legalen Schlüssels entschlüsselt werden könnten.

Der knifflige Teil (wobei sich das One-Time-Pad auszeichnet) besteht darin, festzustellen, ob die resultierende Nachricht, die Sie beim Entschlüsseln erhalten haben, tatsächlich der richtige Text ist. Zum Beispiel sende ich die Nachricht OKan Sie verschlüsselt mit AES 256bit. Jetzt gibt es 2^256 mögliche Schlüssel, um diese Nachricht zu entschlüsseln, und alle von ihnen werden zu einem Ergebnis führen. Viele vielleicht in so etwas wie dem einen oder anderen kryptischen Byte-Symbolen, aber einige Schlüssel könnten zu zwei Buchstaben "WB" führen und einige Kombinationen könnten sogar zu "NO" führen.

Der schwierige Teil besteht also darin, herauszufinden, welches die richtige Nachricht ist! Denn der (theoretische) Quantencomputer wird am Ende nur wenige Ergebnisse mit hoher Wahrscheinlichkeit ausgeben - also muss man einen Check codieren, der erkennt, ob die Ausgabe tatsächlich ein gültiger Text ist. Wenn der Text viel größer als der Schlüssel ist und so etwas wie einfaches Englisch, oder besser ein Standardformat, das auf Integrität überprüft werden kann, könnte dies möglich sein. Aber wenn es mehrere mögliche Ergebnisse gibt, die gültig aussehen, muss ein Mensch sie sortieren, so dass im Falle eines Onetime-Pads, das den Code knackt, genauso gut ist, wie einfach aus heiterem Himmel zu raten. Andere Verschlüsselungsschemata müssen möglicherweise angepasst werden, um gültig aussehende Nachrichten für falsche Schlüssel zu erzeugen, aber dies scheint möglich ...

--

Das würde nur funktionieren, wenn ein echter Quantencomputer so funktionieren könnte. Soweit ich weiß, haben wir keine eindeutigen Beweise dafür, dass ein qc tatsächlich so funktioniert. Vielleicht geht es einfach nicht und wir haben nicht einmal ein Problem ;-)

So funktionieren Quantencomputer nicht. Der Glaube, dass sie es können, ist so weit verbreitet, dass Dr. Aaronson diesem Missverständnis einen ganzen Abschnitt seines Blogs gewidmet hat: Speaking Truth to Parallelism . Sie geben Beschleunigungen für einige Probleme, aber nicht annähernd so viele, wie das vermuten lässt. (Grundsätzlich denken wir nicht, dass BQP = PSPACE ist.)
Es gibt viele Artikel in dieser Kategorie, obwohl es stimmt, dass Memwiderstände oder ähnliche Technologien unter mehreren Problemen leiden (wie der Codierung der Ausgabe), könnte ein Quantencomputer ein komplexes Problem mit hoher Wahrscheinlichkeit grundlegend lösen. Und wenn man die Wahrscheinlichkeit hoch genug einstellen kann, also mit ein paar Läufen zu 99,99% genau ist, ist das praktisch gut genug und könnte die genannten Probleme lösen, wenn jemand so eine QC konstruieren könnte
Das grundlegende Problem ist, dass Sie mit Quantencomputern nicht alle möglichen Eingaben parallel berechnen können: Quantencomputing ist kein Nichtdeterminismus.
Selbst wenn die Zahl von 99,99 % richtig wäre (was, wie erklärt, nicht der Fall ist), sind 0,01 % von 2^256 immer noch ungefähr 1e73, was eine ganze Reihe von Schlüsseln ist, die noch getestet werden müssen. Tatsächlich ungefähr 242 Bit wert. (2^242 ~ 7.07e72) Eine Reduzierung um 99,99 % bringt Ihnen also eine Optimierung im Wert von 14-15 Bit aus einem 256-Bit-Schlüssel. Beeindruckend, ja (viele andere Angriffe neigen dazu, höchstens ein paar Bits aus dem Suchraum zu knabbern , oft mit Varianten mit reduzierten Runden), aber weit entfernt von einem vollständigen Bruch. Ich vermute, dass viele PRNGs schlimmer sind, insbesondere wenn sie zum Zeitpunkt der Schlüsselgenerierung schlecht ausgesät sind.
Erinnern Sie sich an Snowdens „Gehen Sie davon aus, dass Ihr Gegner zu einer Billion Vermutungen pro Sekunde fähig ist“ (zugegebenermaßen in Bezug auf PGP-Passphrasen, aber dennoch; es bildet eine vernünftige Basis für einen Vergleich, und der Unterschied könnte sich auf einige Größenordnungen oder so belaufen). Eine Billion ist 1e12. Damit bleiben uns ungefähr 1e61 Sekunden. Das Alter des Universums wird auf etwa 1e17 Sekunden geschätzt. Sehr großzügig gesprochen, sehen Sie das 1e40-fache des Alters des Universums.
Was Sie beschreiben, ist ein nichtdeterministischer Computer (das "N" in "NP"). Obwohl wir nicht sicher wissen, dass Quantencomputer nicht mit nichtdeterministischen Computern äquivalent sind (das wissen wir nicht einmal P N P ), wir sind ziemlich sicher, dass sie es nicht sind.
-1 Diese Antwort besagt, dass BQP = NP ist, was allgemein als falsch angesehen wird. Mithilfe von Grovers Algorithmus können Quantencomputer Brute-Force-Suchen um einen Quadratwurzelfaktor beschleunigen, was bedeutet, dass Sie einen 256-Bit-AES-Schlüssel in nur 2^128 Operationen Brute-Force erzwingen könnten. Aber das ist immer noch exponentielle Komplexität.