Научная статья на тему 'ОЦЕНКИ ТРУДНОСТИ ДОКАЗАТЕЛЬСТВ И КРИПТОГРАФИЧЕСКИХ АТАК, ОСНОВАННЫХ НА ЛАЗЕЙКАХ'

ОЦЕНКИ ТРУДНОСТИ ДОКАЗАТЕЛЬСТВ И КРИПТОГРАФИЧЕСКИХ АТАК, ОСНОВАННЫХ НА ЛАЗЕЙКАХ Текст научной статьи по специальности «Математика»

CC BY
26
5
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
проблема булевой вы / полним / остл1 (SAT) / система доказательства / лазейка / алгоритм CDCL / Boolean satisfiability (SAT) / propositional proof system / backdoor / CDCL algorithm

Аннотация научной статьи по математике, автор научной работы — Семенов Александр Анатольевич

Рассматривается задача построения древовидных сертификатов доказательств невыполнимости булевых формул в предположении, что такое доказательство генерируется SAT-решателем, основанным на алгоритме CDCL. Такого сорта древовидные представления удобны, когда для конкретной формулы требуется оценить, насколько трудно доказать её невыполнимость, либо требуется оценить трудоёмкость некоторой криптографической атаки, осуществляемой при помощи SAT-решателя. Предложены древовидные описания сценариев работы CDCL в применении как к невыполнимым формулам, возникающим, например, в задачах символьной верификации, так и к выполнимым формулам, кодирующим задачи обращения дискретных (в том числе криптографических) функций. Доказан ряд свойств введённых древовидных структур. В частности, на языке таких структур сформулировано базовое свойство класса криптографических атак, основанного на инверсных лазейках.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

THE USE OF BACKDOORS TO ESTIMATE THE HARDNESS OF PROPOSITIONAL PROOFS AND CRYPTOGRAPHIC ATTACKS

In the paper, we consider the problem of constructing tree-like unsatisfiability proof certificates under the assumption that this proof is generated by a SAT solver based on the CDCL algorithm. Such tree-like representations are convenient when it is necessary to evaluate how hard it is to prove the unsatisfiability of a specific formula, or to estimate the runtime of some cryptographic attack mounted using the SAT solver. We propose tree-like descriptions of CDCL scenarios in application to both unsatisfiable formulas arising in, e.g. symbolic verification, and to satisfiable formulas encoding the problems of inversion of discrete functions (including cryptographic ones). We prove a number of properties of the introduced tree-like structures. In particular, we formulate the basic property of the class of cryptographic attacks based on inverse backdoor sets in the language of the proposed structures.

Текст научной работы на тему «ОЦЕНКИ ТРУДНОСТИ ДОКАЗАТЕЛЬСТВ И КРИПТОГРАФИЧЕСКИХ АТАК, ОСНОВАННЫХ НА ЛАЗЕЙКАХ»

Таблица 3

Сравнение времени выполнения зашифрования/расшифрования

для реализации на GW2A

Тактовая частота генератора гаммы Блоков в транзакции 1 Гбайт 2 Гбайт

25 МГц 8 19 м 38 с 40 м 2 с

16 17 м 20 с 33 м 27 с

100 МГц 8 12 м 34 с 25 м 53 с

16 8м 48с 16 м 24 с

Показано, что увеличение тактовой частоты генератора гаммы позволяет значительно сократить время работы шифратора,

ЛИТЕРАТУРА

1. SD Specifications. Part 1. Physical Laver Simplified Specification Version 9.00. SD Association, 2022.

2. ГОСТ P 34.12-2015. Информационная технология. Криптографическая защита информации. Блочные шифры. М.: Стандартинформ, 2015.

3. ГОСТ Р 34.13-2015. Информационная технология. Криптографическая защита информации. Режимы работы блочных шифров. М.: Стандартинформ, 2015.

УДК 519.7 !)()! 10.17223/2226308Х/16/23

ОЦЕНКИ ТРУДНОСТИ ДОКАЗАТЕЛЬСТВ И КРИПТОГРАФИЧЕСКИХ АТАК, ОСНОВАННЫХ НА ЛАЗЕЙКАХ1

А. А. Семёнов

Рассматривается задача построения древовидных сертификатов доказательств невыполнимости булевых формул в предположении, что такое доказательство генерируется ЗАТ-решателем, основанным на алгоритме СОСТ.. Такого сорта древовидные представления удобны, когда для конкретной формулы требуется оценить, насколько трудно доказать её невыполнимость, либо требуется оценить трудоёмкость некоторой криптографической атаки, осуществляемой при помощи БАТ-решателя. Предложены древовидные описания сценариев работы СБСЬ в применении как к невыполнимым формулам, возникающим, например, в задачах символьной верификации, так и к выполнимым формулам, кодирующим задачи обращения дискретных (в том числе криптографических) функций. Доказан ряд свойств введённых древовидных структур. В частности, на языке таких структур сформулировано базовое свойство класса криптографических атак, основанного на инверсных лазейках.

Ключевые слова: проблема булевой вы полним ост,и (БАТ), система доказательства, лазейка, алгоритм СБСЬ.

1. Системы доказательства, способы представления доказательств,

лазейки

Пусть и — некоторый полный алгоритм, решающий проблему булевой выполнимости, например, и —метод резолюций [1], алгоритм БР1Х [2] или алгоритм СБСЬ [3].

1 Исследование выполнено в рамках Госзадания Минобрнауки России по проекту «Теоретические основы, методы и высокопроизводительные алгоритмы непрерывной и дискретной оптимизации для поддержки междисциплинарных научных исследований», номер гос. регистрации 121041300065-9.

В соответствии с [4] будем говорить, что алгоритм U задаёт систему доказательства, если существует всюду определённая функция вида

fu : {0,1}* х {0,1}* ^{0,1},

заданная некоторым полиномиальным алгоритмом, такая, что fu (ж, у) = 1, если у — двоичное описание невыполнимой булевой формулы в КНФ, а ж —двоичное описание Uy

случае fu(ж, у) = 0. Таким образом, можно сказать, что алгоритм, задающий fu, не только распознаёт по паре (ж, у) невыполнимость формулы, предетавленной словом у, но также проверяет сертификат её невыполнимости, представленный словом ж, и тот

U

U

может не придаваться особого значения, если речь идёт об оценках сложности доказательств на бесконечных семействах формул, длина которых растёт в зависимости от некоторого натурального параметра (например, формулы Дирихле РНРП+1 [4])-В таких ситуациях можно использовать различные способы представления доказательств—лишь бы они были полиномиально эквивалентными, то есть большая длина должна быть ограничена полиномом от меньшей длины. Однако если нас интересуют оценки трудности вполне конкретных конечных формул, на основании которых

U

(например, в результате его дополнения какими-либо новыми эвристиками), то вы-

U

будем использовать для представления доказательства ж специальные древововидные структуры. Идея представлять доказательства при помощи деревьев не нова и широко используется во многих статьях по сложности доказательств [5-8], В данной работе мы, однако, детально описываем новый класс древовидных структур, которые хорошо подходят для представления работы современных SAT-решателей, основанных на алгоритме CDCL, Именно эти решатели сейчас доминируют в решении сложных практических задач из широкого спектра областей, включающих верификацию дискретных управляющих систем и криптоанализ.

Ещё один элемент новизны предлагаемого подхода состоит в том, что для оценивания трудности формул с точки зрения размера доказательства мы используем специальные структуры, известные как лазейки (Backdoors), «Классические» лазейки (конкретно, «сильные лазейки» (Strong Backdoors)) описаны в [9]. Как отмечено в работе [8], любая сильная лазейка для невыполнимой булевой формулы автоматически даёт некоторую верхнюю оценку трудности этой формулы. Сильные лазейки, размер которых мал относительно общего числа переменных в формуле, часто могут быть найдены на основе информации о булевой схеме, по которой данная формула построена. Такие ситуации типичны для задач верификации и криптоанализа. Однако зачастую даже такие сильные лазейки слишком велики для того, чтобы построить на их основе нетривиальную оценку трудности рассматриваемой формулы. Другой подход состоит в том, что множество переменных может не быть строгой лазейкой в смысле [9], но тем не менее использование этого множества может существенным образом сокращать время доказательства невыполнимости формулы каким-либо полным алгоритмом решения SAT (например, алгоритмом CDCL), Такого сорта лазейки исследованы в [10]. Наконец, для задач обращения дискретных функций из криптографических приложений могут быть использованы так называемые инверсные лазейки, введённые в [11], Довольно понятным является тот факт, что произвольную лазейку

(как множество, составленное из некоторых переменных рассматриваемой формулы) можно представить в виде дерева. И, таким образом, процесс доказательства невыполнимости формулы либо криптографическая атака, как некоторый частный случай SAT, могут быть описаны древовидными структурами, в которых представление работы алгоритма решения SAT комбинируется с представлением лазейки, используемой для упрощения рассматриваемой задачи. Далее описан общий класс таких древовидных структур и исследованы их базовые свойства,

2. Древовидные структуры, представляющие работу алгоритмов DPLL и CDCL

Пусть С — некоторая невыполнимая КНФ над множеством переменных X = = |xi,...,xK}, Везде далее в роли полного алгоритма, доказывающего невыполнимость С, мы используем CDCL [12] и его слабую версию DPLL как основы систем доказательств, которые по мнению целого ряда исследователей имеют относительно хорошую «автоматизируемоеть» (то есть относительно эффективно находят относительно короткие доказательства). Для представления процесса доказательства невы-С

деревья следующих двух типов. Дерево первого типа, связанное с DPLL, является полным (full, то есть каждая его нетерминальная вершина имеет два прямых потомка). Обход такого дерева соответствует стандартному поиску в глубину. Рёбра, пройденные в направлении от корня к терминальной вершине, помечаются как пройденные. Если найдена терминальная вершина, то возврат происходит к ближайшей нетерминальной вершине, у которой имеется непройденное ребро,

С

быть представлен деревом данного типа, хорошо известен. Тем не менее приведём некоторые пояснения, поскольку аналогичные рассуждения потребуются далее. Итак, пусть А —алгоритм DPLL и С — произвольная КНФ над переменными X, Построим дерево, которое обозначим Ta. Любой нетерминальной вершине v данного дерева приписана булева переменная xv G X. Каждому ребру из нетерминальной вершины v соответствует литерал xv или — xv. Пусть г— корень Ta и xr — переменная, приписанная г. Пусть v v = г, — некоторая нетерминальная вершина и v' — её прямой потомок. Тогда некоторое множество литералов Lv' над перемениыми {xr,... ,xv} соответствует пути из г в v'. Находяеь в v', применим правило единичного дизъюнкта (Unit Propagation, UP, [12]) к С и литералам из Lv' до тех пор, пока не будет порождён конфликт или не будет получена КНФ с неопределённым статусом, в последнем случае перейдём из v' к следующей вершине. Если переход по ребру (v, v') даёт конфликт, то v' становится терминальной вершиной и помечается символом Если поиск находится в терминальной вершине ± некоторого пути п, то на следующем шаге делается возврат к ближайшей к ± нетерминальной вершине v, имеющей инцидентное ей ребро, которое не было пройдено. Если такого ребра не существует, то обход Ta завершается.

Зафиксируем на дереве Ta некоторый порядок его обхода в соответствии с алгоритмом поиска в глубину (DFS) и обозначим полученное дерево через ТД. Заметим, что дерево может быть использовано как сертификат не выполнимости С: будем обходить ТТ алгоритмом DFS, применять правило UP к соответствующим литералам

СС путь в ТТ оканчивается терминальной вершиной Суммируя все сказанное, имеем следующий факт.

Утверждение 1. Пусть C — невыполнимая КНФ, Тогда существует такое дерево ТД, используя которое, можно верифицировать не выполнимость C детерминированным алгоритмом за время O(|C| ■ |ТД|). Все листья дерева ТД в таком случае помечены символом

Второй тип деревьев, рассматриваемых далее, — это двоичные деревья, которые в общем случае не обязаны быть полными, то есть допускается, что некоторая нетерминальная вершина может иметь только одного прямого потомка.

Обозначим через A SAT-решатель па основе алгоритма CDCL, дополнительно полагая, что A не совершает рестартов в процессе опровержения C. Заметим, что A — полный, то есть A опровергает C за конечное время. Свяжем с процессом работы A специальное дерево Тд второго типа, Далее опишем структуру Тд, Ниже использованы понятия, специфичные для CDCL, объяснение которых может быть найдено в [12].

Пусть v — произвольная нетерминальная вершина в Тд, Данной вершине приписана некоторая переменная из X, которую будем обозначать xv, Перемениая xv является «переменной выбора» (decision variable), чьё значение (decision literal) выбирается на некотором уровне выбора (decision level), для обозначения которого используется запись @k (k ^ 1) [3, 12], Для любой нетерминальной вершины v имеет место: 1 ^ deg(v) ^ 2 (deg(v) означает выходную степень вершины v),

v

вать значению переменной xv, выбранному на некотором уровне выбора @k (k ^ 1), Будем называть такое ребро левым (соответствующим образом располагая его на ри-

v

зательно ведёт в нетерминальную вершину v', соответствующую уровню выбора с номером @(k + 1). Такая ситуация соответствует тому факту, что результатом некоторого конфликта является возврат на уровень @j, j ^ k — 1 («нехронологический бэктрекинг» [3]), Разберем теперь ситуацию, когда deg(v) = 2, В этом случае, помимо левого v

ро соответствует ситуации, когда в результате анализа конфликта на уровне @k был построен «выученный дизъюнкт» (learnt clause) Dk, содержащий единственный литерал, который был выбран (а не выведен) на уровне @k (полагаем, что для синтеза Dk используется UIP (Unit Implication Point) алгоритм [12]), В этом случае правое ребро, v

Assertion [3]) на дизъюнкте Dk, Пусть v* — корень дерева Тд, Не ограничивая общности, положим, что v* имеет два исходящих ребра: левое и правое. Этим двум рёбрам соответствуют два поддерева Тд, которые обозначим через Тдг и Тдг соответственно, Построение дерева останавливается, если в процессе построения Тдг в результате анализа конфликта порождается выученный дизъюнкт, состоящий из единственного литерала Z(xv*)@1, где Z(xv*) — это литерал, выбранный на уровне @1, Фрагмент дерева описанной конфигурации приведён на рис, 1,

C

средством алгоритма CDCL без рестартов можно поставить в соответствие некоторое дерево Тд описанной структуры.

Заметим, что дерево Тд соответствует конкретному сценарию работы алгорит-

Т д

Т д

с данным порядком ТД, Отметим, что в дереве ТД присутствуют только символы переменных, приписанные вершинам, символ приписанный терминальным вершинам,

Рис. 1. Фрагмент дерева

символы выбранных литералов, которые приписаны левым рёбрам нетерминальных вершин, и числа, задающие порядок обхода вершин.

Утверждение 3. Пусть С — невыполнимая КНФ и А — СБСЬ БАТ-решатель, не выполняющий рестартов. Тогда существует дерево ТД, используя которое, можно верифицировать невыполнимость С детерминированным алгоритмом за время 0(|С| • |ТД|), Все листья Т Д в таком случае помечены символом _1_,

Теперь предположим, что решатель А па основе СБСЬ совершает в процессе опровержения С рестарты, а также стандартные процедуры, такие, как чистка конфликтных баз.

Сопоставим каждому фрагменту работы А между рестартами с ном ерами д — 1 и ^ ^^^^^^ ^^^^^^^^^^ ша, обозначаемое через (ТД) (считаем, что началу работы А предшествовал рестарт с номером д = 0). Пусть д* — номер рестарта, после которого невыполнимость С была доказана. Тем самым мы связываем с процессом опровержения С решателем А некоторый лес ^д = | (ТД) 1,..., (Т-)^„

Отметим, что лес ^д, так же как и деревья ТД, можно рассматривать как сертификат невыполнимости С, поскольку Тд задаёт конкретный сцепарий работы А па С

мации (генерируемые А выученные дизъюнкты) ограничен полиномом от |С| • |Тд|, где | ^д | — суммарное число листьев по всем деревьям в Тд, Таким образ ом, Тд лишь задаёт некоторую фиксированную последовательность уровней решения, всю остальную информацию верифицирующий алгоритм воспроизводит па основе Тд, подавая алгоритму а4 уровни решения в соответствии с порядком т. Следующий факт напрямую следует из анализа структуры леса Тд,

Теорема 1. Величина |Тд| равна числу конфликтов, которые порождает алгоритм А, опровергая невыполнимую КНФ С.

3. Древовидные сертификаты доказательств невыполнимости

на основе лазеек

С

ством переменных X, Напомним определение сильной лазейки [9]. В его основе лежит

понятие вспомогательного полиномиального алгоритма (sub-solver в терминологии [9]), Такой алгоритм, обозначаемый через P, имеет полиномиальную сложность и должен по произвольной КНФ C либо выдать корректный ответ о выполнимости/невыполнимости C, либо отвергнуть C (неопределённый ответ). Простейшим примером такого алгоритма является правило единичного дизъюнкта.

Произвольное множество В Ç X называется сильной лазейкой для C относительно полиномиального алгоритма P, если для любого набора в значений переменных из B (в € {0,1}|Б|) алгоритм P корректно решает проблему выполнимости КНФ C[в/В], полученную из C в результате подстановки в неё набора в (обозначаем данный факт через C [в/В ] € S (P )), "

B

C

polv(|C|) 2|B|, Действительно, за такое время SAT в отношении C может быть решена за счёт перебора всех в € {0,1}|B| и проверки условия C [в/В ] € S (P ), Таким образом, B

Во многих задачах, связанных со схемами, известны сильные лазейки, размер которых может составлять доли процента от общего числа переменных в формуле. Рассмотрим, например, проблему доказательства эквивалентности двух булевых схем [13] (Logical Equivalence Checking, LEC), В данной задаче рассматриваются две схемы из функциональных элементов некоторого полного базиса (булевы схемы) Sf и Sg, задающие функции f : {0,1}n ^ {0,1}m и g : {0,1}n ^ {0,1}m; требуется доказать или опровергнуть предположение, что f и g па самом деле являются одной и той же функцией (f = g). Известно, что данную задачу можно за линейное от числа узлов в схемах Sf и Sg время свести к SAT в отношении специальной КНФ Cf=g: схемы эквивалентны (то есть задают одну и ту же функцию) тогда и только тогда, когда Cf=g невыполнима, КНФ Cf=g строится по схемам Sf, Sg (выходы которых объединяются специальным функциональным блоком — «майтером» (miter) [13]) при помощи преобразований I loin нна [14], Основываясь на свойствах этих преобразований, несложно показать, что Cf=g имеет сильную лазейку относительно правила единичного дизъюнкта, состоящую из n переменных, — такая лазейка образована переменными, приписанными входам схем Sf ,Sg, Например, для задачи проверки эквивалентности двух схем, реализующих различные алгоритмы умножения пары 16-битных натуральных чисел, данная лазейка состоит из 32 переменных, тогда как общее число пвременных в Cf=g составляет 9861, если рассматривается задача эквивалентности алгоритмов «Столбик» и «декомпозиция Карацубы» на произвольных парах 16-битных чисел. Таким образом, невыполнимость Cf=g может быть доказана за 232 применений полиномиального алгоритма P (в роли которого выступает UP) к формулам вида C [в/В], в € {0,1}32,

Заметим, что булев гиперкуб {0,1}n может быть представлен в виде полного завершённого бинарного дерева Tn, состоящего из 2n путей —каждый путь соответствует конкретному вектору из {0,1}n, Корню и внутренним узлам такого дерева можно сопоставить булевы переменные, а листьям — значения произвольной булевой функции, определённой всюду на {0,1}n, Пусть Xin = {xi,... , жп} — переменные, приписанные входам схем Sf, Sg, Сопоставим Xin дерево Tn, представляющее гиперкуб {0,1}n, Семантику терминальных вершин (листьев) Tn определим следующим образом. Каждому пути из корня в лист Tn соответствует конкретный набор значений a = (а1,..., an) переменных из Xm, который естественным образом задает набор литералов ж^1,..., ж^" (здесь и далее ж°" = ж при a = 1 и ж°" = —ж при a = 0 [15]), К данному набору литералов и КНФ Cf=g применяется правило единичного дизъюнкта (UP), Из свойств преобра-

зований Цейтина следует, что схемы Sf и Sg эквивалентны тогда и только тогда, когда для каждой ветви дерева Tn применение UP к соответствующему набору литералов и КНФ Cf=g даёт конфликт. Соответствующий лист дерева в этом случае помечается символом Таким образом, дерево Tn с листьями, помеченными символом можно рассматривать как сертификат невыполнимости КНФ Cf=g, аналогичный в концептуальном смысле рассмотренным деревьям типа Fa (A —алгоритм DPLL),

Пусть C — произвольная невыполнимая КНФ над переменными X, Рассмотрим произвольное множество B С X и представим гиперкуб {0,1}|B| в виде дерева Ts, s = |Bкак описано выше. Пусть в = (въ ..., ) _ произвольный набор из {0,1}s и ж^1,..., жвв — множество литералов над B, соответствующее набору в- Если применение правила UP к КНФ ж^1 Л • • • Л жвв Л C порождает конфликт, то лист дерева Ts, соответствующий пути в становится терминальной вершиной и получает метку Если же применение UP к КНФ ж^1 Л • • • Л жв Л C не выводит конфликт, то применяем к ж^1 Л- • •Лж^8 ЛС алгоритм CDCL, сценарий работы которого представляется лесом F^,

Ts

волом «приклеивается» (при помощи вспомогательных непомеченных рёбер) лес вида F^, описывающий работу алгоритма CDCL A па соответствующей КНФ вида ж^1 Л • • • Л жв Л С, Полученное в результате дерево (вообще говоря, не бинарное) обозначим через FB д, Если для С имеется некоторое доказательство на основе сильной лазейки, представленное деревом с 2n листьями (для некоторого n) — например, если С кодирует некоторую LEC задачу и n = |Xmто очевидный интерес вызывает вопрос существования дерева вида Fbaj, число листьев которого существенно меньше чем 2n. Если такое дерево существует, то можно говорить, что С имеет доказательство невыполнимости, которое эффективнее метода грубой силы (brute force), В этом слу-

B

лазейки — такие лазейки исследовались в [10, 16],

4. Древовидные представления криптографических атак на основе инверсных лазеек

Наконец, перенесём идею оценивать трудность доказательств через размер деревьев описанного вида на оценки трудности атак на криптографические функции с использованием SAT-решателей, За отправную точку возьмём понятие инверсной лазейки (Inverse Backdoor Set, IBS) [11], Напомним контекст проблемы. Рассматривается задача обращения функции f : {0,1}n ^ {0,1}m, заданной некоторым известным быстрым алгоритмом Af (например, генератором ключевого потока): известен 7 е Range f, требуется найти такой а е {0,1}n, что f (а) = 7, Одним из следствий теоремы Ку-

Af n

поетроить схему Sf из функциональных элементов над произвольным полным бази-

f

эффективно строится КНФ Cf, называемая далее шаблонной КНФ функции f [18], Если в Cf подставить (в смысле [19]) набор 7 е Range f то полученная КНФ Cf (7) будет выполнимой, и если удастся найти выполняющий её набор, то будет найден и а е {0,1}n : f (а) = 7. С другой стороны, применение UP к произвольной КНФ вида ж?1 Л • • • Л ж^" Л Cf (Xm = {ж1,..., жп} — переменные, приписанные входу схемы Sf, а = (а1,..., ап) — произвольное ело во из {0,1}n) даёт бесконфликтный вывод всех переменных в Cf, в том числе вывод набора 7 : f(а) = 7. Пусть X —множество переменных в КНФ С, рассмотрим произвольное B С X, Для фиксированного а е {0,1}n

обозначим через ва набор значений переменных из В, полученный в результате применения иР к КНФ ха1 Л • • • Лхап Л С/, Назовём ва набором, индуцированным входом а,

В [11] предложен следующий сценарий поиска прообразов для произвольной функции /, заданной схемой 5/, Зададим на {0,1 }п равномерное распределение и пусть а — произвольный вектор, выбранный из {0,1}п в соответствии с этим распределением. Для конкретного В С X рассмотрим индуцированный а набор ва значений переменных из В и табор 7а = / (а) Подстав им 7а и ва в С/, обозначим полученную КНФ через С/(7а, ва) и применим к С/(7а, ва) БАТ-решатель А на основе алгоритма СБСЬ, Очевидно, что КНФ С/ (7а, ва) выполнима. Зададим не которое £ > 0 и определим величину : {0,1}п ^ {0,1}, которая равна 1, если А нашёл набор, выполняющий С/(7а, ва) за время ^ ¿, в противном случае положим (а) = 0, Тогда долю таких а € {0,1}га, для которых £в,г(а) = 1, можно рассматривать как вероятность успеха в эксперименте Бернулли, обозначаемую через р, и оценивать данную вероятность

В

с конкретным значением вероятности р называется инверсной лазейкой (ГОБ) с параметрами ^ = |В|,р,£ В [11] описана атака на /, которая анализирует г выходов 7..., 7Г функции /, построенных по выбираемым случайно и независимо входам а1,..., аг. Если потребовать, чтобы вероятность обратить хотя бы один из г этих выходов была больше 95%, то время выполнения такой атаки составит 25 • £ • |~3/р]. Время £ в [11] измерялось в секундах, что, вообще говоря, не вполне удачно, если рассматривать выполнение атаки на различных по производительности вычислительных платформах. Представим атаки на основе ГОБ древовидными структурами описанного выше вида.

Рассматриваем задачу обращения функции / : {0,1}п ^ {0,1}т, Пусть С/ — шаблонная КНФ функции /; X — множество переменных в С/ 7 — произвольное значение /.Рассмотрим произвольное В С X (положим В = {х1,..., х8}). Представим гиперкуб {0,1}|в| в виде дерева Т5, в = |ВС каждой ветвью дерева Т5, которая соответствует конкретному набору в € {0,1}5, в = (в1,... , в«) свяжем лес РДд, интерпретирующий работу СБСЬ-решателя А на формуле ж^1 Л - • • ЛЛ С/ (7) Алгоритм А останавливает работу, как только доказывает невыполнимость соответствующей формулы вида ж^1 Л • • • Л Л С/ (7) либо находит выполняющий её набор. Ограничим теперь множество ветвей леса РДд Для каждой фор мулы ж^1 Л • • • Л жвз Л С/ (7) первыми £ ветвями. Полученное дерево обозначим через Тв д Пусть п — произвольный путь в дереве Тв д Из описания структуры Тв д 4 следует, что п задает некоторое множество переменных Хп = {жП,..., ж£} и множество литералов над XП, обозначаемое ТП = ¿П,..., такое, что применение 11Р к ¿П Л • • • Л Л С/ (7) либо выводит конфликт (в этом случае лист, завершающий п, получает метку либо даёт вывод набора, выполняющего С/ (7), Последний факт соответствует решению задачи обращения рассматриваемого 7 € Еапёе /, и листу, завершающему такой путь, присвоим метку +,

Следующее утверждение является, по сути, переформулировкой основного теоретического результата [11] на языке деревьев, введенных в настоящей работе.

Теорема 2. Пусть В — инверсная лазейка с параметрами р, и 7 € Еап§е/ — значение / полученное для входа а, выбранного из {0,1}п в соответствии с равномерным распределением. Тогда вероятность того, что дерево Твд4, построенное для КНФ С/(7), содержит путь п, лист которого имеет метку +, равна р.

Заметим, что предшествующие теореме 2 построения, а также теорема 1 означают,

в частности, что время t в атаках на основе инверсных лазеек удобно измерять в числе

конфликтов, которые порождает основанный на CDCL решатель A.

ЛИТЕРАТУРА

1. Robinson J. A. Machine-oriented logic based on resolution principle //J. ACM. 1965. V. 12. Iss. 1. P. 23-41.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

2. Davis M., LogemannG., and Loveland D. A machine program for theorem-proving // Commun. ACM. 1962. V. 5. No. 7. P. 394-397.

3. Marques-Silva J. and Sakallah K. GRASP: A new search algorithm for satisfiability // Proc. ICC AD. San Jose, CA, USA, 1996. P. 220-227.

4. Cook S. and Reckhow R. The relative efficiency of propositional proof systems //J. Symbolic Logic. 1979. V. 44. No. 1. P. 36-50.

5. Ben-Sasson E. and Wigderson A. Short proofs are narrow — resolution made simple // J. ACM. 2001. V. 48(2). P. 149-169.

6. Bonet M. L., Esteban J. L., Galesi N., and Johannsen J. Exponential separations between restricted resolution and cutting planes proof systems // Proc. 39th Ann. Svmp. FOCS. Palo Alto, CA, USA, 1998. P. 638-647.

7. Beame P. and Pitassi T. Simplified and improved resolution lower bounds // Proc. 37th Conf. FOCS. Burlington, VT, USA, 1996. P. 274-282.

8. Ansotegui C., Bonet M.L., Levy J., and Many a F. Measuring the hardness of SAT instances // Proc. AAAI Conf. Chicago, Illinois, USA, July 13-17, 2008. P. 222-228.

9. Williams R., Gomes C., and SelmanB. Backdoors to typical case complexity // Proc. 18th Int. Conf. IJCAI. Acapulco, Mexico, 2003. P. 1173-1178.

10. Semenov A., Chivilikhin D., Pavlenko A., et al. Evaluating the hardness of SAT instances using evolutionary algorithms // Proc. 27th Int. Conf. CP 2021. V. 210. Article No. 47. P. 1-18.

11. Semenov A., Zaikin O., Otpuschennikov I., et al. On cryptographic attacks using backdoors for SAT 11 Proc. AAAI. New Orleans, Louisiana, USA, 2018. P. 6641-6648.

12. Marques-Silva J., Lynce I., and Malik S. Conflict-driven clause learning SAT solvers // Handbook of Satisfiability. Second Ed. IOS Press, 2021. P. 133-182.

13. Molitor P. and Mohnke J. Equivalence Checking of Digital Circuits: Fundamentals, Principles, Methods. Kluwer Academic Publ., 2004.

14. Цейтин Г. С. О сложности вывода в исчислении высказываний // Записки научн. семинаров ЛОМИ. 1968. Т. 8. С. 234-259.

15. Яблонский С. В. Введение в дискретную математику. М.: Наука, 1986.

16. Chivilikhin D., Pavlenko A., and Semenov A. Decomposing hard SAT instances with metaheuristic optimization // Intern. J. Artificial Intelligence. 2023. V. 21. No. 2. P. 61-92.

17. Goldreich O. Computational Complexity: A Conceptual Perspective. Cambridge University Press, 2008.

18. Semenov A., Otpuschennikov I., Gribanova I., et al. Translation of algorithmic descriptions of discrete functions to SAT with applications to crvptanalvsis problems // Logical Methods in Computer Sci. 2020. V. 16. Iss. 1. Article No. 29. P. 1-42."

19. Chang C. and Lee R. Symbolic Logic and Mechanical Theorem Proving. Elsevier, 1973.

i Надоели баннеры? Вы всегда можете отключить рекламу.