Czy można przekształcić CNF w inny CNF Ψ ( C ), taki jak?
- Funkcja może być obliczona w czasie wielomianowym z jakiegoś tajnego parametru losowego r .
- ma rozwiązanie wtedy i tylko wtedy, gdy C ma rozwiązanie.
- Każde rozwiązanie z Ψ ( C ) można skutecznie przekształcić w roztwór C za pomocą r .
- Bez roztwór x (lub innych własności * F ( C ) ) nie daje żadnych pomocy przy rozwiązywaniu C .
Jeśli istnieje takie , można go wykorzystać do nakłonienia innych do rozwiązania problemów obliczeniowych dla nas (z ewentualnym zastąpieniem rozwiązywania CNF innymi problemami - wybrałem CNF, ponieważ chciałem uszczegółowić problem), w taki sposób że nie mogą skorzystać z możliwego rozwiązania, nawet jeśli wiedzą, jaki problem rozwiązaliśmy. Na przykład moglibyśmy osadzić problem faktoryzacji w grze komputerowej, która pozwala graczom grać tylko wtedy, gdy pracują nad naszym problemem w tle, od czasu do czasu wysyłając dowody obliczeń. Być może oprogramowanie może być nawet „darmowe” w ten sposób, gdzie „darmowe” ukrywa (być może wyższy) koszt w rachunku za energię elektryczną twoich rodziców.
Odpowiedzi:
Feigenbaum in, Encrypting Problem Instances , proponuje definicję (Def. 1) funkcji szyfrowania dla problemów NP-zupełnych, która spełnia twoje wymagania. Udowadnia, że NP-zupełny problem Porównawcze nierówności wektorowe dopuszcza taką funkcję szyfrowania. Na zakończenie dochodzi do głównego twierdzenia, że wszystkie problemy z kompletnością NP, które są p-izomorficzne dla CNF-SAT, są szyfrowalne.
źródło
Wspomniana aplikacja nazywa się w literaturze „dowodem przydatnej pracy”, patrz na przykład ten artykuł .
Możesz użyć w pełni homomorficznego schematu szyfrowania (gdzie tekstem jawnym jest instancja CNF), aby przekazać obliczenia niezaufanemu podmiotowi bez ujawniania danych wejściowych.
To nie odpowiada dokładnie na twoje pytanie, ponieważ taki schemat nie mapuje CNF na inną CNF, ale działa dla zamierzonej aplikacji.
źródło