Можно ли зашифровать CNF?

17

Можно ли преобразовать CNF в другой CNF такой, чтобыCΨ(C)

  1. Функция может быть вычислена за полиномиальное время из некоторого секретного случайного параметра .Ψr
  2. Ψ(C) имеет решение тогда и только тогда, когда имеет решение.C
  3. Любое решение из может быть эффективно преобразовано в решение с помощью .xΨ(C)Cr
  4. Без , решение (или любое другое свойство ) не дает какой - либо помощи в решении .rxΨ(C)C

Если есть такой , то его можно использовать, чтобы заставить других решать вычислительные задачи для нас (возможно, заменив решение CNF другими проблемами - я выбрал CNF, потому что хотел сделать проблему более конкретным), в такой ситуации. таким образом, что они не могут извлечь выгоду из возможного решения, даже если они знают, какую проблему мы использовали для их решения. Например, мы могли бы встроить проблему факторизации в компьютерную игру, которая позволяет игрокам играть, только если они работают над нашей проблемой в фоновом режиме, время от времени отправляя доказательства вычисления. Возможно, программное обеспечение можно даже сделать «бесплатным» таким образом, когда «бесплатное» скрывает (возможно, более высокую) стоимость в счетах за электричество ваших родителей.Ψ

domotorp
источник
2
Опечатка "... не помогает в решении проблемы "? Кстати, если вас не волнует структура Ψ, т. Е. «Игрок» не имеет доступа к Ψ ( C ), а только к решению x , тогда простая случайная перестановка знака переменных ( π ( л я ) = & plusmn ; л я ) и случайная перестановка индексов переменных должны сделать решение х из ф ( C ) полностью непригодным для решения C . CΨΨ(C)xπ(i)=±ixΨ(C)C
Марцио де Биаси
@ Marzio Thx, исправлена ​​опечатка. Но я не понимаю ваш комментарий - вы полагаете, что «игрок» не имеет доступа к а только к x ? Это должно быть понятно из описания, которое она имеет. Ψ(C)x
domotorp
да, простые «случайные литералы и индексы переменных», безусловно, работают, если у игрока нет доступа к структуре (у меня был только быстрый комментарий). Но, возможно, «случайная» идея могла бы быть расширена следующим образом: если C - 3-CNF, то есть только ( 2 n ) 3 возможных различных предложения, и знание Ψ ( C ) (перемешанная версия C ) может быть полезно только зная эффективный способ найти изоморфизм между Ф ( с ) и с . Ψ(C)C(2n)3Ψ(C)CΨ(C)C
Марцио де Биаси
@Marzio По мере развития событий, вероятно (гипер) графизоморфизм быстро разрешим.
Domotorp
1
Посмотрите на зашифрованную гипотезу о полной комплектации. Это говорит о том, что ваше предложение правдоподобно. Она утверждает , что существует инъективна длина возрастают -Secure односторонний функция F таким образом, что СБ и F ( S Т ) не является р-изоморфно. 2nϵff(SAT)
Мохаммед Аль-Туркистани

Ответы:

5

Фейгенбаум в книге « Шифрование экземпляров задачи» предлагает определение (определение 1) функции шифрования для задач, завершающих NP, которая удовлетворяет вашим требованиям. Она доказывает, что NP-полная задача «Сравнительные векторные неравенства» допускает такую ​​функцию шифрования. Она завершает основную теорему о том, что все NP-полные задачи, p-изоморфные CNF-SAT, являются шифруемыми.

Мухаммед Аль-Туркистани
источник
1
И в последующей работе они пришли к выводу, что неполные NP-задачи вряд ли будут зашифрованы! doi.org/10.1016/0022-0000(89)90018-4 Эти документы - то, что я искал. Я удивляюсь, почему я могу понять их гораздо лучше, чем недавние результаты в криптографии - может быть, с тех пор эта область слишком сильно отличается от теории сложности ...
domotorp
8

Упоминаемое вами приложение в литературе называется «доказательством полезной работы», см., Например, эту статью .

Вы можете использовать полностью гомоморфную схему шифрования (где открытый текст - это экземпляр CNF), чтобы делегировать вычисления ненадежной стороне без раскрытия ввода.

Это не отвечает точно на ваш вопрос, так как такая схема не отображает CNF в другой CNF, но она работает для предполагаемого применения.

Диего де Эстрада
источник
Afaik, гомоморфное шифрование предназначено для вычисления некоторых чисел. Как именно вы использовали бы это для моей проблемы?
Домоторп
FHE определен для логических цепей. Рассматривайте экземпляр CNF как битовый вектор. Учитывая размер входного сигнала, вы можете создать логическую схему, которая выводит назначение, если оно есть (см. Cs.stackexchange.com/q/72289/627 ).
Диего де Эстрада
Я думаю, что разница в том, что в вашем решении, хотя конфиденциальность сохраняется, кодирование довольно дорого по сравнению с задачей, которую мы хотим решить. Я хотел бы за полиномиальное время закодировать экспоненциальный объем работы.
domotorp
@domotorp Я понимаю. Есть способ использовать FHE без цепей, см. Eprint.iacr.org/2013/229.pdf
Диего де Эстрада,
4
Поскольку все больше и больше пользователей голосуют за ваш ответ, возможно, в нем есть то, что я пропустил. Вы утверждаете прямо сейчас, что это работает для моего вопроса или только для приложения? Я также посмотрел на бумагу, но это не так легко понять. Не могли бы вы сказать мне, какой конкретный результат / теорема будет применима в моем случае?
domotorp