Wie schwer ist es, in nach

8

Aus dem Graphisomorphismus wissen wir, dass zwei Graphen A und B isomorph sind, wenn es eine Permutationsmatrix P gibt, so dass EIN=P.×B.×P.- -1

Um das Problem zu lösen, müssen wir, wenn zwei Graphen isomorph sind, eine solche Permutationsmatrix P finden. Es wird angenommen, dass das Problem NP ist (und NP für den Fall des Subgraph-Isomorphismus vollständig ist). Ich fand jedoch ein Beispiel für die Lösung von P, das mir vielversprechend erschien und unter http://en.wikipedia.org/wiki/Permutation_matrix im Abschnitt: Lösung für P zu finden ist.

Die Verwirrung, die ich jetzt habe, ist, funktioniert das für größere Matrizen? sehr groß? Habe ich recht, die obige Gleichung ist schwer zu lösen und kann für ein kryptografisches System in Frage kommen?

DW
quelle
Wenn Sie zu CS migrieren, erhalten Sie hoffentlich die Antworten, nach denen Sie suchen.

Antworten:

6

Der Graphisomorphismus wurde gut untersucht. Eine kurze Zusammenfassung: Es ist nicht bekannt, dass das Graphisomorphismusproblem in P liegt (es sind keine Polynomzeitalgorithmen bekannt), aber es wird nicht angenommen, dass es NP-vollständig ist. Es gibt heuristische Algorithmen für den Graphisomorphismus, die in den meisten Fällen, die in der Praxis auftreten, sehr gut funktionieren. Weitere Informationen finden Sie auf der Wikipedia-Seite zum Graphisomorphismus .

Was Ihren speziellen vorgeschlagenen Ansatz betrifft : Auf der Wikipedia-Seite, auf die Sie verlinkt haben, wird bereits erläutert, warum diese Methode im Allgemeinen nicht funktioniert. Diese Methode funktioniert nur, wenn die Matrix, die dem Adjazenzgraphen entspricht, keine wiederholten Eigenwerte enthält. Daher schlägt dies für Diagramme fehl, bei denen wiederholte Eigenwerte vorliegen. Solche Grafiken können nicht ignoriert werden. Infolgedessen funktioniert diese Methode möglicherweise für einige Diagramme, schlägt jedoch für andere Diagramme fehl (oder funktioniert schlecht), sodass es sich nicht um eine allgemeine Lösung handelt.

Der Graphisomorphismus ist aus zwei Gründen kein guter Kandidat für eine Basis für ein kryptografisches System. Erstens können vorhandene heuristische Algorithmen das Problem in der Praxis sehr gut lösen, und es ist nicht klar, wie harte Instanzen des Graphisomorphismus erzeugt werden können. Zweitens, und im Ernst, um für die Kryptographie nützlich zu sein, müssen wir nicht nur ein schweres Problem haben; Wir brauchen eine "versteckte Falltür", die der Ersteller des öffentlichen Schlüssels einbetten kann, was das Problem für den Ersteller leicht macht, für andere jedoch schwer zu erkennen ist. Niemand weiß, wie man eine solche "versteckte Falltür" in das Problem des Graphisomorphismus einbettet.

DW
quelle
1

Wie DW zu Recht bemerkt, ist nicht bekannt, dass der Graphisomorphismus in P vorliegt, und es wird angenommen, dass er nicht NP-hart ist. Darüber hinaus glauben viele, dass es sich um BQP handelt, aber dies wurde nicht bewiesen. Damit gehört es zur gleichen Kategorie wie andere Probleme, auf die Kryptosysteme normalerweise für ihre Sicherheit angewiesen sind, wie z. B. Prime Factoring und das Problem des diskreten Protokolls, von denen beide bekannt sind, dass sie in BQP vorliegen. (Ich weiß nicht, wo das Problem der inversen Multiplikation der elliptischen Kurve oder wie auch immer es heißt, in Bezug auf BQP liegt, aber es würde mich nicht im geringsten überraschen, wenn sich all diese kryptografisch nützlichen Probleme in gewissem Sinne als gleichwertig herausstellen würden.)

Es ist wahr, dass wir keine Probleme mit dem Graphisomorphismus kennen, für die die Lösung "schwer" ist. Nehmen wir jedoch für einen Moment an, dass wir es getan haben. Dann können Sie es ja für die Kryptographie verwenden.

Schauen wir uns als Beispiel ein wissensfreies Schlüsselsystem an, das auf Graphisomorphismus basiert.

Alices privater Schlüssel ist ein beschrifteter Graph (die Beschriftungen können nur ganze Zahlen sein), der so konstruiert wurde, dass es "schwer" ist, einen Graphisomorphismus zu überprüfen, und er enthält einen Hamilton-Zyklus, der "schwer" zu finden ist. Ihr öffentlicher Schlüssel ist nur das beschriftete Diagramm ohne Informationen über den Hamilton-Zyklus. Beachten Sie, dass das Ableiten des privaten Schlüssels vom öffentlichen Schlüssel die Lösung des Hamilton-Zyklus-Problems erfordert, das NP-hart ist und, wie wir annehmen, insbesondere für diesen Graphen schwierig ist.

Alice möchte Bob davon überzeugen, dass sie einen Hamilton-Zyklus in der Grafik kennt, ohne ihm tatsächlich den Hamilton-Zyklus zu geben. Hier ist, wie sie es macht.

Alice schickt Bob eine unbeschriftete Grafik. Sie bietet ihm eine Auswahl an: Entweder zeigt sie die Beschriftungen oder sie zeigt einen Hamilton-Zyklus in der Grafik. Bob wirft eine Münze (oder trifft auf andere Weise eine Entscheidung), welche er will, und Alice tut, was auch immer Bob verlangt.

Wenn Bob darum bittet, dass die Beschriftungen aufgedeckt werden, kann er leicht (in linearer Zeit) überprüfen, ob das beschriftete Beschriftungsdiagramm mit Alices öffentlichem Schlüssel identisch ist, kann jedoch keinen Hamilton-Zyklus finden, da dies NP-schwer wäre. Wenn Bob andererseits nach dem Hamilton-Zyklus gefragt hat, kann er leicht (wieder in linearer Zeit) überprüfen, ob das resultierende unbeschriftete Diagramm tatsächlich einen Hamilton-Zyklus enthält, aber er kann nicht überprüfen, ob es sich um Alices Public-Key-Diagramm handelt. weil der Graphisomorphismus (vermutlich) schwer ist.

Aus Bobs Sicht hätte Alice versuchen können, Bob auszutricksen, indem sie entweder ein Diagramm mit einem bekannten Hamilton-Zyklus angegeben hat, das jedoch nicht isomorph zu ihrem öffentlichen Schlüssel ist, oder indem sie ihm ihr Diagramm mit öffentlichem Schlüssel mit entfernten Beschriftungen gab, ohne das zu kennen Hamilton-Zyklus. Sie würde darauf wetten, dass Bob die falsche Wahl traf. Unter der Annahme, dass Bob seine Wahl wirklich zufällig getroffen hat, hätte dieser Trick eine 50% ige Erfolgschance.

Der obige Austausch wird also mit einem anderen unbeschrifteten Diagramm wiederholt. Nach Runden des Protokolls beträgt die Wahrscheinlichkeit, dass Alice Bob in allen Runden erfolgreich austrickst, , was sehr schnell zu "so sicher, wie Sie sein müssen" konvergiert.n2- -n

Dies ist natürlich bei weitem kein praktisches System. Darüber hinaus gibt es einige offensichtliche Dinge, die Sie tun können, um die Sicherheit zu erhöhen. Anstatt Alice beispielsweise Bob ein unbeschriftetes Diagramm zu senden, könnte sie einfach einen Hash davon senden. Wenn Bob antwortet, kann sie das Diagramm senden und Bob kann überprüfen, ob das Diagramm übereinstimmt.

Trotzdem könnten Sie im Prinzip ein Kryptosystem daraus erstellen, auch wenn es nicht besonders nützlich ist.

Pseudonym
quelle
Es gibt keine "harten Instanzen" von Problemen - für jede Instanz gibt es einen linearen Zeitalgorithmus, der sie löst. Was Sie für Krypto benötigen, ist ein Problem, das im Durchschnitt schwierig ist (und das für minimale Krypto). Selbst wenn sich der Graphisomorphismus als schwierig herausstellt, ist er im Durchschnitt möglicherweise nicht schwierig. Tatsächlich ist nicht bekannt, dass P \ neq NP das Vorhandensein von Problemen impliziert, die für abtastbare Verteilungen im Durchschnitt schwierig sind.
Sasho Nikolov
@Sasho Nikolov, danke für die Klarstellung.
Pseudonym