Виявлення подібної за функціональністю та реалізацією схеми


11

Нехай - вектор булевих змінних. Нехай - дві булеві схеми на . Скажіть, що схожий на якщо:C , D x C Dx=(x1,,xn)C,DxCD

  1. Pr[C(x)D(x)] є експоненціально малим, коли x намальовано рівномірно з {0,1}n (іншими словами, вони мають майже однаковий функціонал); і,

  2. C,D відрізняються відстані редагування графіків на невелику кількість (відстань їх редагування набагато менша за розмір ланцюга, скажімо, O(1) або якась невелика константа), тобто майже всі ворота та дроти C збігаються відповідні ворота та провід у D , із доданими / видаленими / зміненими лише кількома воротами.


Моя проблема: мені задано ланцюг C , і я хочу знати, чи існує схема D , схожа на C але не ідентична C (тобто там, де існує x така, що С(х)D(х) ).

Чи може хтось запропонувати алгоритм вирішення цієї проблеми?

Якщо це допомагає, ми можемо обмежити увагу на ланцюгах D , менших за дану схему С (тобто ми хочемо знати, чи існує схема D така, що D менша за С , D схожа на С , і існує х такий, що С(х)D(х) ).

Якщо це допомагає, ви можете додатково припустити, що нам дано відомі хороші тестові випадки х1,,хм,у1,,ум такі, що С(хi)=уi для всі i , і ми можемо додатково обмежити увагу лише ланцюгами D такими, що D(хi)=уi для всіх i .


Це випливає з практичного застосування, тому якщо ви не можете вирішити цю проблему, сміливо вирішуйте будь-який варіант чи цікавий спеціальний випадок. Наприклад, сміливо інстанціюйте будь-який з параметрів або порогів будь-яким зручним для вас способом. Можна припустити, що схеми не надто великі (розмір поліномів чи щось таке). Не соромтеся замінювати відстань для редагування графіків якоюсь іншою мірою майже відповідності реалізації. Крім того, на практиці розв'язувачі SAT часто напрочуд ефективні в структурованих схемах, що виникають на практиці, тому, ймовірно, добре викликати розв'язувач SAT як підпрограму / оракул (принаймні, якщо ви посилаєтесь на щось на зразок похідного екземпляра SAT від схеми типу ).С

Крім того, бракує будь-яких алгоритмів, я також зацікавився б питанням існування: для "середньої" схеми , яка ймовірність існування деякого який відповідає всім критеріям? (Я сподіваюся, що ця ймовірність дуже мала, але я не маю поняття, якщо це так.)DСD


Практичне застосування полягає в тому, щоб перевірити, чи може ланцюг містити шкідливе заднє / приховане писанка. Гіпотеза про те, як така річ може бути вставлена, іде так. Ми починаємо з "золотої" схеми , яка обчислює потрібну функціональність і не має прихованого заднього проходу. Потім противник робить невелика зміна , щоб ввести прихований чорний хід, отримання модифікованої схеми . Мета заднього куточка - певним чином змінити функцію, обчисленуЯкщо не надто малий, зміна, ймовірно, може бути виявлена ​​випадковим тестуванням, тому супротивник, ймовірно, намагатиметься зберегтиD D C D Pr [ C ( x ) D ( x ) ] Pr [ C ( x ) D ( x ) ] C D x i , y i D D ( x i ) = y i i C D C DСDDСDПр[С(х)D(х)]Пр[С(х)D(х)]дуже мало. Так само, якщо відрізняється від у занадто великій кількості місць, це можна помітити випадковим оглядом ланцюга, тому противник, ймовірно, намагатиметься мінімізувати кількість змін. (І, можливо, існує тестовий набір пар які представляють екземпляри бажаної функціональності, тому ми знаємо, що якою б не була "золота" схема , вона задовольняє для всіх .) Зрештою, нам дається схема (але не "золота" схема ), і ми хочемо знати, чи може бути модифікованою версією деякогоСDхi,уiDD(хi)=уiiСDСD, де було внесено модифікацію для введення прихованого заднього куреня подібного роду.


Скільки бітів утворюють вхід до схеми? Якщо цього достатньо мало, то, можливо, має сенс зробити вичерпне тестування.
András Salamon

@ AndrásSalamon: На жаль, кількість входів у схему на практиці достатньо велика (у програмах, які я маю на увазі), що вичерпне тестування на всіх можливих входах неможливо. Я ціную цю думку, хоча! 2 nн2н
DW

використовували генетичні алгоритми для емпіричного нападу на щось подібне. в цьому випадку з'являється алгоритм, який ви заявляєте, випадкове тестування, є те, що слід спробувати. також, здається, ти зовсім не описуєш, що таке "бекдор" в ланцюзі (це, здається, має деякий нестабільний зв'язок із криптографією), але thx для надання певної спроби мотивації ... Нам здається, що негайним питанням може бути супротивник вставити якусь задню панель, уникаючи виявлення випадковим тестуванням? але загальний сценарій здається не повністю визначеним.
vzn

3
@vzn, Золота схема описує передбачені функціональні можливості пристрою. Припустимо , що зловмисник може обрати / вплинути на 100 з яти вхідних бітів. Ми стурбовані, що в є прихований задній простір, який працює так: якщо зловмисник подає магічне 100-бітове значення на своїх входах, то заднім ланцюгом обчислюється неправильний вихід (з трагічним ефектом), але в іншому випадку поводиться точно так само . Це дозволить зловмиснику викликати трагедію в момент його вибору, але важко виявити за допомогою випадкового тестування (оскільки лише входів викликають трагедію). п З З З D 1 / 2 100D(x)нСССD1/2100
DW

питання здається, що це може мати певне відношення до "хребта" SAT. також дивіться це питання щодо перетворення / помилок cnf vs dnf, що може бути природним / формальним способом кількісної оцінки "подібності", яку ви формально не оцінюєте. правда, нападник може лише "перевернути" "золотий" результат істинного чи хибного, додавши ворота? тобто це звучить як проблема -xor- . g ( x )f(х)г(х)
vzn

Відповіді:


4

Це лише розширений коментар, який прийшов мені в голову відразу після прочитання питання:

  • припустимо, у вас є формула 3SAT з змінними і нехай - відповідна схема;п х 1 , . . . , x n Cϕнx1,...,хнС

  • побудувати нову схему , при додаванні т = п K змінні Y 1 , Y 2 , . . . , У п до і досить ворота і в м нові змінні з виходом вихідного C ( );С'м=нкy1,y2,...,ynkmCC=ϕy1...yм

  • побудуйте нову схему від яка просто примушує її вихід до 0, використовуючи ворота AND і NOT ( )C D = C ¬ C D'C'D'=С'¬С'

Якщо не задовольняє, то і еквівалентні, інакше вони відрізняються, коли задовольняє формулі AND всі , але ви можете вибрати достатньо велику, щоб зробити ймовірність того, що дуже мала.D C x i y i = 1 m y i = 1ϕD'С'хiуi=1муi=1

Отже, якщо у вас є ефективний алгоритм для вашої проблеми, ви можете ефективно вирішити екземпляр 3SAT.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.