Ist es möglich, einen CNF zu verschlüsseln?


17

Ist es möglich, einen CNF in einen anderen CNF Ψ ( C ) umzuwandeln, so dassCΨ(C)

  1. Die Funktion kann in Polynomzeit aus einem geheimen Zufallsparameter r berechnet werden .Ψr
  2. hat genau danneine Lösung,wenn C eine Lösung hat.Ψ(C)C
  3. Jede Lösung von kann mit effizient in eine Lösung von werden .xΨ(C)Cr
  4. Ohne , die Lösung (oder eine andere Eigenschaft der ) gibt keine Hilfe bei der Lösung .rxΨ(C)C

Wenn es ein solches , kann es verwendet werden, um andere dazu zu bringen, rechnerische Herausforderungen für uns zu lösen (wobei möglicherweise das Lösen eines CNF durch andere Probleme ersetzt wird - ich habe CNF gewählt, weil ich das Problem spezifischer machen wollte) Auf diese Weise können sie nicht von einer möglichen Lösung profitieren, selbst wenn sie wissen, welches Problem wir mit ihnen gelöst haben. Zum Beispiel könnten wir ein Faktorisierungsproblem in ein Computerspiel einbetten, das es den Spielern ermöglicht, nur dann zu spielen, wenn sie im Hintergrund an unserem Problem arbeiten, und von Zeit zu Zeit Berechnungsnachweise zurücksenden. Vielleicht kann Software auf diese Weise sogar "kostenlos" gemacht werden, wobei "kostenlos" (möglicherweise höhere) Kosten in der Stromrechnung Ihrer Eltern verbirgt.Ψ


2
Tippfehler "... gibt keine Hilfe beim Lösen von "? Übrigens, wenn Sie nicht über die Struktur von Ψ besorgt sind, dh der "Spieler" hat keinen Zugriff auf Ψ ( C ), sondern nur auf die Lösung x , dann eine einfache zufällige Permutation des Vorzeichens der Variablen ( π ( i ) = ± i ) und eine zufällige Permutation der Indizes der Variablen sollten eine Lösung x von Ψ ( C ) für die Lösung von C völlig unbrauchbar machen . CΨΨ(C)xπ(i)=±ixΨ(C)C
Marzio De Biasi

@ Marzio Thx, fester Tippfehler. Aber ich verstehe Ihren Kommentar nicht - nehmen Sie an, dass der "Spieler" keinen Zugriff auf sondern nur auf x ? Aus der Beschreibung sollte klar sein, dass sie hat. Ψ(C)x
Domotorp

Ja, die einfachen "shuffle literals and variable indexes" funktionieren sicher, wenn der Spieler keinen Zugriff auf die Struktur von (meiner war nur ein kurzer Kommentar). Aber vielleicht könnte die "Shuffle" -Idee auf diese Weise erweitert werden: Wenn C 3-CNF ist, dann gibt es nur ( 2 n ) 3 mögliche unterschiedliche Klauseln, und das Wissen über Ψ ( C ) (eine gemischte Version von C ) könnte nur hilfreich sein, wenn man weiß ein effizienter Weg, um einen Isomorphismus zwischen Ψ ( C ) und C zu finden . Ψ(C)C(2n)3Ψ(C)CΨ(C)C
Marzio De Biasi

@Marzio Da die Dinge auf dem Vormarsch sind, ist wahrscheinlich (Hyper-) Graphisomorphismus schnell lösbar.
Domotorp

1
Schauen Sie sich die verschlüsselte Komplettsatz-Vermutung an. Dies legt nahe, dass Ihr Vorschlag plausibel ist. Es gibt an, dass es eine injektiv längenerhöhende -sichere Einwegfunktion f gibt, so dass SAT und f ( S A T ) nicht p-isomorph sind. 2nϵff(SAT)
Mohammad Al-Turkistany

Antworten:


5

Feigenbaum in, Encrypting Problem Instances , schlägt eine Definition (Def. 1) der Verschlüsselungsfunktion für NP-vollständige Probleme vor, die Ihren Anforderungen entspricht. Sie beweist, dass das NP-vollständige Problem Comparative Vector Inequalities eine solche Verschlüsselungsfunktion zulässt. Sie schließt mit dem Hauptsatz, dass alle NP-vollständigen Probleme, die p-isomorph zu CNF-SAT sind, verschlüsselt werden können.


1
Und in den Nacharbeiten kommen sie zu dem Schluss, dass NP-vollständige Probleme wahrscheinlich nicht verschlüsselt werden können! doi.org/10.1016/0022-0000(89)90018-4 Diese Papiere sind genau das, wonach ich gesucht habe. Ich frage mich, warum ich sie so viel besser verstehen kann als die jüngsten Ergebnisse in der Kryptographie - vielleicht ist das Gebiet seitdem zu sehr von der Komplexitätstheorie
abgewichen

8

Die Anwendung, die Sie erwähnen, wird in der Literatur als "Nachweis nützlicher Arbeit" bezeichnet, siehe beispielsweise diesen Artikel .

Sie können ein vollständig homomorphes Verschlüsselungsschema (wobei der Klartext die CNF-Instanz ist) verwenden, um die Berechnung an eine nicht vertrauenswürdige Partei zu delegieren, ohne die Eingabe offenzulegen.

Dies beantwortet nicht genau Ihre Frage, da ein solches Schema einen CNF keinem anderen CNF zuordnet, aber für die beabsichtigte Anwendung funktioniert.


Afaik, homomorphe Verschlüsselung dient zur Berechnung einiger Zahlen. Wie genau würden Sie es für mein Problem verwenden?
Domotorp

FHE ist für Boolesche Kreise definiert. Behandle die CNF-Instanz als Bitvektor. Bei gegebener Eingabegröße können Sie eine Boolesche Schaltung erstellen, die gegebenenfalls eine Zuweisung ausgibt (siehe cs.stackexchange.com/q/72289/627 ).
Diego de Estrada

Ich denke, dass der Unterschied darin besteht, dass bei Ihrer Lösung die Kodierung im Vergleich zu der Aufgabe, die wir lösen möchten, recht kostspielig ist, obwohl die Privatsphäre gewahrt bleibt. Ich möchte einen exponentiellen Arbeitsaufwand in Polynomialzeit kodieren.
Domotorp

@domotorp Ich verstehe. Es gibt eine Möglichkeit, FHE ohne Schaltkreise zu verwenden, siehe eprint.iacr.org/2013/229.pdf
Diego de Estrada,

4
Da immer mehr Nutzer Ihre Antwort positiv bewerten, enthält sie möglicherweise etwas, das ich verpasst habe. Behauptest du gerade, dass es für meine Frage oder nur für die Anwendung funktioniert? Ich habe mir auch das Papier angesehen, aber es ist nicht so leicht zu fassen. Können Sie mir sagen, welches konkrete Ergebnis / welcher Satz in meinem Fall anwendbar wäre?
Domotorp
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.