Dies ist im Wesentlichen der Bereich der rechnerischen Komplexitätsklassen. Zum Beispiel kann die Klasse BQP grob als die Menge aller Probleme beschrieben werden, die auf einem Quantencomputer effizient gelöst werden können. Die Schwierigkeit bei Komplexitätsklassen besteht darin, dass es schwierig ist, Trennungen zwischen vielen Klassen zu beweisen, dh das Vorhandensein von Problemen, die in einer Klasse liegen, aber nicht in einer anderen.
In gewissem Sinne reicht es aus zu sagen, "wenn dieser Quantenalgorithmus ihn nicht brechen kann, ist er sicher", müssen Sie nur den richtigen Algorithmus verwenden. Sie benötigen einen BQP-vollständigen Algorithmus, z. B. das Finden von Wurzeln des Jones-Polynoms. Jeder Quantenalgorithmus kann als Instanz eines BQP-vollständigen Algorithmus umgewandelt werden. Allerdings , wie dieser Algorithmus könnte zum Cracken verwendet wird , ist völlig unklar und nicht-trivial. Es reicht nicht aus zu sehen, dass man Dinge nicht direkt brutal erzwingen kann. Dieser Ansatz ist also wahrscheinlich nicht so hilfreich.
Was wollen wir von einem Post-Quanten-Krypto-Szenario? Wir brauchen:
- eine Funktion , die wir zum Zwecke der Verschlüsselung leicht berechnen können.y=f(x)
- für die die Inverse auf einem Quantencomputer nicht einfach berechnet werden kann, dh die Problemklasse liegt außerhalb von BQP.f−1(y)
- Wenn ein Geheimnis , gibt es eine klassisch effizient berechenbare Funktion , dh mit der Zusatzinformation kann die Funktion invertiert werden. Auf diese Weise kann die richtige Person (die über den privaten Schlüssel verfügt, ) die Nachricht entschlüsseln.zg(y,z)=xf(x)z
Diese letzte Kugel ist (im Wesentlichen) die Definition der Komplexitätsklasse NP: die Probleme, für die es schwierig sein kann, eine Lösung zu finden, für die jedoch eine Lösung leicht überprüft werden kann, wenn ein Beweis vorliegt (in unserem Fall entsprechend dem privaten Schlüssel) .
Was wir also suchen, sind Probleme in NP, aber nicht in BQP. Da wir nicht wissen, ob NP = BQP ist, wissen wir nicht, dass solche Dinge existieren. Es gibt jedoch einen guten Weg, um nach Lösungen zu suchen: Wir betrachten NP-vollständige Probleme. Dies sind die schwierigsten Fälle von Problemen in NP. Wenn also BQP NP (was allgemein angenommen wird), sind NP-vollständige Probleme sicherlich nicht in BQP. (Wenn ein Problem für eine Komplexitätsklasse vollständig ist, bedeutet dies, dass Sie, wenn Sie es effizient lösen können, alle Instanzen der Klasse effizient lösen können.) Dies ist also eine Art Anleitung, wo man nach Post-Quanten-Algorithmen suchen könnte .≠
Die zusätzliche Subtilität, die die Sache kompliziert, ist jedoch ungefähr (ich bin kein Experte), dass Komplexitätsklassen über die Komplexität im schlimmsten Fall sprechen, dh für eine gegebene Problemgröße geht es darum, wie schwer die schwierigste mögliche Instanz des Problems ist. Es könnte jedoch nur eine solche Probleminstanz geben, was bedeuten würde, dass es nur einen privaten Schlüssel gibt, wenn wir die Problemgröße beheben (wie es Standard ist, z. B. wenn Sie über 1024-Bit-RSA sprechen; die 1024-Bit sind die Problemgröße). Wenn wir das wissen, kann ein Lauscher diesen privaten Schlüssel nur zum Entschlüsseln von Nachrichten verwenden. Wir brauchen also tatsächlich, dass diese Argumentation der Rechenkomplexität für einen großen Teil der möglichen Eingaben gilt. Dies führt Sie in die Welt der durchschnittlichen Komplexität von Fällen, in der es meines Wissens viel schwieriger wird, solche Aussagen zu treffen.
Es kann hilfreich sein, einen Vergleich mit RSA, einem Kryptosystem mit öffentlichem Schlüssel, anzustellen und die Existenz von Quantencomputern zu ignorieren. Es basiert auf der Schwierigkeit, große zusammengesetzte Zahlen zu berücksichtigen. Dieses Problem ist nicht (vermutlich) in P, daher wird angenommen, dass es für einen Hacker mit einem klassischen Computer schwierig ist, die Antwort zu finden. In der Zwischenzeit ist es in NP, da die Lösung leicht verifiziert werden kann (wenn Sie einen Faktor erhalten, können Sie leicht überprüfen, ob es sich um einen Faktor handelt). Das heißt, es kann vom rechtmäßigen Empfänger mit einem klassischen Computer entschlüsselt werden.