Чи можливо зашифрувати CNF?


17

Чи можливо перетворити CNF в інший CNF таким, щоCΨ(C)

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

Якщо є така , то її можна використовувати для того, щоб інші вирішували обчислювальні завдання для нас (можливо, замінивши рішення CNF іншими проблемами - я вибрав CNF, тому що хотів зробити проблему більш конкретною), у такому Таким чином, вони не можуть отримати прибуток від можливого рішення, навіть якщо вони знають, яку проблему ми використали для їх вирішення. Наприклад, ми могли б вбудувати проблему факторизації в комп'ютерну гру, яка дозволяє гравцям грати, лише якщо вони працюють над нашою проблемою у фоновому режимі, час від часу надсилаючи назад докази обчислення. Можливо, програмне забезпечення може бути навіть "безкоштовним" таким чином, коли "безкоштовно" приховує (можливо, більшу) вартість в рахунках за електроенергію ваших батьків.Ψ


2
Друкарська помилка "... не дає ніякої допомоги у вирішенні " ?. До речі, якщо ви не переживаєте за структуру Ψ, тобто "гравець" не має доступу до Ψ ( C ), а лише до рішення x , то проста випадкова перестановка знака змінних ( π ℓ ( ℓ i ) = ± ℓ i ) і випадкова перестановка індексів змінних повинна зробити рішення x з Ψ ( C ) абсолютно непридатним для вирішення CCΨΨ(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, але вона працює для передбачуваної програми.


Афаїк, гомоморфне шифрування призначене для обчислення деяких чисел. Як саме ти би використовував це для моєї проблеми?
— domotorp

FHE визначений для булевих схем. Трактуйте екземпляр CNF як бітовий вектор. Враховуючи розмір введення, ви можете побудувати булеву схему, яка видає призначення, якщо така є (див. Cs.stackexchange.com/q/72289/627 ).
— Дієго де Естрада

Я думаю, що різниця полягає в тому, що у вашому рішенні збереження конфіденційності кодування є досить дорогим порівняно із завданням, яке ми хочемо вирішити. Я хотів би кодувати в поліноміальний час експоненціальний обсяг роботи.
— domotorp

@domotorp Я розумію. Є спосіб використовувати FHE без схем, дивіться eprint.iacr.org/2013/229.pdf
— Дієго де Естрада

4
Оскільки все більше і більше користувачів звертаються до вашої відповіді, можливо, вона містить щось, що я пропустив. Ви зараз заявляєте, що це працює на моє запитання чи просто на додаток? Я також дивився на папір, але це не так просто зрозуміти. Чи можете ви сказати мені, який конкретний результат / теорема міг би бути застосований у моєму випадку?
— domotorp
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.