csedays. Александр Семенов

161
Использование SAT и BDD решателей в задачах криптоанализа . . . И не только. . . Семенов Александр Анатольевич Лаборатория дискретного анализа и прикладной логики Институт динамики систем и теории управления СО РАН, Иркутск 1/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Upload: lilosea

Post on 22-May-2015

986 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: CSEDays. Александр Семенов

Использование SAT и BDD решателей в задачах

криптоанализа . . .

И не только. . .

Семенов Александр Анатольевич

Лаборатория дискретного анализа и прикладной логикиИнститут динамики систем и теории управления СО РАН,

Иркутск

1/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 2: CSEDays. Александр Семенов

Cамые основы - понятие функции

f(x1, x2, x3, x4) = (x1 ⊕ x2) → (x3 · x4)

2/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 3: CSEDays. Александр Семенов

Cамые основы - понятие функции

f(x1, x2, x3, x4) = (x1 ⊕ x2) → (x3 · x4)

2/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 4: CSEDays. Александр Семенов

Cамые основы - понятие функции

f(x1, x2, x3, x4) = (x1 ⊕ x2) → (x3 · x4)

2/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 5: CSEDays. Александр Семенов

Cамые основы - понятие функции

f(x1, x2, x3, x4) = (x1 ⊕ x2) → (x3 · x4)

2/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 6: CSEDays. Александр Семенов

Cамые основы - понятие функции

f(x1, x2, x3, x4) = (x1 ⊕ x2) → (x3 · x4)

1. T(1,2)

2. S(1)

3. S(3)

4. J(2,3,100)

5. J(1,2)

2/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 7: CSEDays. Александр Семенов

Машина Тьюринга (ДМТ)

3/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 8: CSEDays. Александр Семенов

Машина Тьюринга (ДМТ)

ДМТ-программа, решающая задачураспознавания всевозможныхдвоичных слов из 0, 1∗,заканчивающихся двумя нулями.

3/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 9: CSEDays. Александр Семенов

Машина Тьюринга (ДМТ)

ДМТ-программа, решающая задачураспознавания всевозможныхдвоичных слов из 0, 1∗,заканчивающихся двумя нулями.

Важный факт: данная программа никак не зависит от входных данных.Для каждого n ∈ N данная программа описывает булеву функцию вида

fn : 0, 1n → 0, 1

(такая функция принимает значение 1 на тех двоичных словах длины n,которые заканчиваются двумя нулями, и принимает значение 0 наостальных словах из 0, 1n ).

3/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 10: CSEDays. Александр Семенов

Дискретные функции

Итак, мы получили представление об оченьважном классе функций: это функции вида

f : 0, 1∗ → 0, 1∗,

которые можно задавать/описывать программамидля вычислительных моделей. Этот класс функцийимеет чрезвычайно широкий спектр применения.

4/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 11: CSEDays. Александр Семенов

Дискретные функции

Итак, мы получили представление об оченьважном классе функций: это функции вида

f : 0, 1∗ → 0, 1∗,

которые можно задавать/описывать программамидля вычислительных моделей. Этот класс функцийимеет чрезвычайно широкий спектр применения.

Как уже стало понятно, одни и те же функцииможно задавать различными способами. Способописания функции в виде программы (процедурноеописание) очень естествен. Например, функцию,которая описывается рассмотренным вышеконечным автоматом можно описать только чтопостроенной ДМТ-программой.

4/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 12: CSEDays. Александр Семенов

Дискретные функции

Далее мы рассматриваем семейства функций вида f = fnn∈N ,такие что:

5/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 13: CSEDays. Александр Семенов

Дискретные функции

Далее мы рассматриваем семейства функций вида f = fnn∈N ,такие что:

1. Для любого n ∈ N функция fn : 0, 1n → 0, 1∗ определенавсюду на 0, 1n;

5/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 14: CSEDays. Александр Семенов

Дискретные функции

Далее мы рассматриваем семейства функций вида f = fnn∈N ,такие что:

1. Для любого n ∈ N функция fn : 0, 1n → 0, 1∗ определенавсюду на 0, 1n;

2. Существует ДМТ-программа Mf , вычисляющая любую функциюсемейства f ;

5/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 15: CSEDays. Александр Семенов

Дискретные функции

Далее мы рассматриваем семейства функций вида f = fnn∈N ,такие что:

1. Для любого n ∈ N функция fn : 0, 1n → 0, 1∗ определенавсюду на 0, 1n;

2. Существует ДМТ-программа Mf , вычисляющая любую функциюсемейства f ;

3. Время работы Mf ограничено сверху полиномом от n.

5/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 16: CSEDays. Александр Семенов

Дискретные функции

Далее мы рассматриваем семейства функций вида f = fnn∈N ,такие что:

1. Для любого n ∈ N функция fn : 0, 1n → 0, 1∗ определенавсюду на 0, 1n;

2. Существует ДМТ-программа Mf , вычисляющая любую функциюсемейства f ;

3. Время работы Mf ограничено сверху полиномом от n.

Задача обращения функций из семейств со свойствами 1–3:известно y ∈ range (fn), известна программа Mf , найтиx ∈ 0, 1n : fn (x) = y.

5/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 17: CSEDays. Александр Семенов

Криптоанализ генераторов двоичных последовательностей

y = (y1, ..., ym)x = (x1, ..., xn)fn

Задача криптоанализа: известны алгоритм генератора и выходнаяпоследовательность y = (y1, . . . , ym). Требуется найтиинициализирующую последовательность x = (x1, . . . , xn).

6/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 18: CSEDays. Александр Семенов

Криптоанализ генераторов двоичных последовательностей

y = (y1, ..., ym)x = (x1, ..., xn)fn

Задача криптоанализа: известны алгоритм генератора и выходнаяпоследовательность y = (y1, . . . , ym). Требуется найтиинициализирующую последовательность x = (x1, . . . , xn).

Здесь x ∈ 0, 1n, y ∈ 0, 1m. Как правило, в каждом конкретномгенераторе значение n— длина инициализирующейпоследовательности (она же секретный ключ) фиксировано.Значение m (длина ключевого потока) может быть произвольным.

6/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 19: CSEDays. Александр Семенов

Криптоанализ генераторов двоичных последовательностей

Рисунок взят из статьи Бирюкова, Шамира, Вагнераa

789 1

4039

2345610111213141516171819

2030313233343536373841

6261 53545556575859606364 52

212223242526272829

42434445464748495051

aBiryukov A., Shamir A., Wagner D. Real Time Cryptanalysis of A5/1 on a PC // In Proceedings of

the 7th International Workshop on Fast Software Encryption. 2000. Pp. 1–18.

7/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 20: CSEDays. Александр Семенов

Криптоанализ генераторов двоичных последовательностей

Рисунок взят из статьи Бирюкова, Шамира, Вагнераa

789 1

4039

2345610111213141516171819

2030313233343536373841

6261 53545556575859606364 52

212223242526272829

42434445464748495051

aBiryukov A., Shamir A., Wagner D. Real Time Cryptanalysis of A5/1 on a PC // In Proceedings of

the 7th International Workshop on Fast Software Encryption. 2000. Pp. 1–18.

В основе А5/1 три РСЛОС с полиномами обратной связи: РСЛОС1:

X19 + X18 + X17 + X14 + 1; РСЛОС2: X22 + X21 + 1; РСЛОС3: X23 + X22 + X8 + 1. Т.о.длина секретного ключа равна 64 бита. Пусть bτ

1, bτ

2и bτ

3– это значения ячеек с номерами 9, 30,

и 52 в момент времени τ . Регистр с номером j ∈ 1, 2, 3 сдвигается в момент τ т. т. т., когдаbτj = majority(bτ

1, bτ

2, bτ

3).

majority(x, y, z) = x · y ∨ y · z ∨ x · z.

7/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 21: CSEDays. Александр Семенов

Способы решения задач обращения криптографических функций

Метод грубой силы: алгоритм (то есть описание функции в формепрограммы) реализуется на како-либо быстром вычислителенапример, на GPU) и осуществляется тотальный перебор всехвозможных входов. Данный способ при n > 56 практически неприменим.

8/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 22: CSEDays. Александр Семенов

Способы решения задач обращения криптографических функций

Метод грубой силы: алгоритм (то есть описание функции в формепрограммы) реализуется на како-либо быстром вычислителенапример, на GPU) и осуществляется тотальный перебор всехвозможных входов. Данный способ при n > 56 практически неприменим.

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

8/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 23: CSEDays. Александр Семенов

Способы решения задач обращения криптографических функций

Метод грубой силы: алгоритм (то есть описание функции в формепрограммы) реализуется на како-либо быстром вычислителенапример, на GPU) и осуществляется тотальный перебор всехвозможных входов. Данный способ при n > 56 практически неприменим.

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

Третий способ: сведение задачи обращения к некоторой задаче сестественной и мощной алгоритмикой. Один из таких подходов -сведение к системам уравнений. Например, к булевым илиалгебраическим (скажем, над полем GF (2)).

8/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 24: CSEDays. Александр Семенов

Сведение задач обращения к булевым уравнениям

Сведение к уравнениям осуществляется в результате кодированияработы программы, вычисляющей рассматриваемую функцию.Исходная идея в этом плане принадлежит С. Куку (1971), хотяпримеры кодирования процедурных описаний функций (в видеконечных автоматов) можно найти еще в книге В.М. Глушкова(1962).

9/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 25: CSEDays. Александр Семенов

Сведение задач обращения к булевым уравнениям

Сведение к уравнениям осуществляется в результате кодированияработы программы, вычисляющей рассматриваемую функцию.Исходная идея в этом плане принадлежит С. Куку (1971), хотяпримеры кодирования процедурных описаний функций (в видеконечных автоматов) можно найти еще в книге В.М. Глушкова(1962).

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

9/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 26: CSEDays. Александр Семенов

Сведение задач обращения к булевым уравнениям

Поставим в соответствие состояниям q0, q1, q2 числа 0, 1 и 2соответственно. Далее рассматриваем двоичные кодировки этихчисел: 00,01,10 соответственно.Начальное состояние – q0, допускающее - q2.

9/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 27: CSEDays. Александр Семенов

Сведение задач обращения к булевым уравнениям

Поставим в соответствие состояниям q0, q1, q2 числа 0, 1 и 2соответственно. Далее рассматриваем двоичные кодировки этихчисел: 00,01,10 соответственно.Начальное состояние – q0, допускающее - q2.

Состояние, в которое переходит автомат после прочтения первогосимвола x1, – либо q0, либо q1 (в зависимости от значения x1).Необходимо учитывать, что значение x1 не определено (это символ,а не число).

9/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 28: CSEDays. Александр Семенов

Сведение задач обращения к булевым уравнениям

Вводим новые переменные y11, y1

2. Их назначение – кодирование

«неопределенного» состояния, являющегося результатом переходаавтомата из q0 после прочтения x1.

10/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 29: CSEDays. Александр Семенов

Сведение задач обращения к булевым уравнениям

Аналогично для второго шага (прочтение символа x2 ) имеем:

10/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 30: CSEDays. Александр Семенов

Сведение задач обращения к булевым уравнениям

Все имеющиеся переменные (и старые, и новые) свяжем системойбулевых уравнений (технические подробности опустим):

y11= 1

(

y12≡ x1

)

= 1(

y21≡

(

x2 ∨ y11∨ y1

2

)

·(

x2 ∨ y11∨ y1

2

)

·(

x2 ∨ y11∨ y1

2

))

= 1(

y22≡

(

x2 ∨ y11∨ y1

2

)

·(

x2 ∨ y11∨ y1

2

)

·(

x2 ∨ y11∨ y1

2

))

= 1

11/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 31: CSEDays. Александр Семенов

Сведение задач обращения к булевым уравнениям

Все имеющиеся переменные (и старые, и новые) свяжем системойбулевых уравнений (технические подробности опустим):

y11= 1

(

y12≡ x1

)

= 1(

y21≡

(

x2 ∨ y11∨ y1

2

)

·(

x2 ∨ y11∨ y1

2

)

·(

x2 ∨ y11∨ y1

2

))

= 1(

y22≡

(

x2 ∨ y11∨ y1

2

)

·(

x2 ∨ y11∨ y1

2

)

·(

x2 ∨ y11∨ y1

2

))

= 1

Подставляем в полученную систему y21= 1, y2

2= 0 (вспоминаем, что

допускающее состояние q2 закодировано словом 10).

11/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 32: CSEDays. Александр Семенов

Сведение задач обращения к булевым уравнениям

Все имеющиеся переменные (и старые, и новые) свяжем системойбулевых уравнений (технические подробности опустим):

y11= 1

(

y12≡ x1

)

= 1(

y21≡

(

x2 ∨ y11∨ y1

2

)

·(

x2 ∨ y11∨ y1

2

)

·(

x2 ∨ y11∨ y1

2

))

= 1(

y22≡

(

x2 ∨ y11∨ y1

2

)

·(

x2 ∨ y11∨ y1

2

)

·(

x2 ∨ y11∨ y1

2

))

= 1

Подставляем в полученную систему y21= 1, y2

2= 0 (вспоминаем, что

допускающее состояние q2 закодировано словом 10).

Если в результате получаем совместную систему, то в 0, 12

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

11/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 33: CSEDays. Александр Семенов

Сведение задач обращения к булевым уравнениям

Аналогичным (в целом) образом можно кодировать программы,вычисляющие дискретные функции.

12/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 34: CSEDays. Александр Семенов

Сведение задач обращения к булевым уравнениям

Аналогичным (в целом) образом можно кодировать программы,вычисляющие дискретные функции.

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

12/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 35: CSEDays. Александр Семенов

Сведение задач обращения к булевым уравнениям

Аналогичным (в целом) образом можно кодировать программы,вычисляющие дискретные функции.

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

В структурном смысле получаемые задачи вычислительно трудны (неразрешимы за полиномиальное время в предположении, что P 6= NP ).

12/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 36: CSEDays. Александр Семенов

Сведение задач обращения к булевым уравнениям

Аналогичным (в целом) образом можно кодировать программы,вычисляющие дискретные функции.

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

В структурном смысле получаемые задачи вычислительно трудны (неразрешимы за полиномиальное время в предположении, что P 6= NP ).

Аргументация целесообразности

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

12/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 37: CSEDays. Александр Семенов

Сведение задач обращения к булевым уравнениям

Аналогичным (в целом) образом можно кодировать программы,вычисляющие дискретные функции.

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

В структурном смысле получаемые задачи вычислительно трудны (неразрешимы за полиномиальное время в предположении, что P 6= NP ).

Аргументация целесообразности

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

Вывод

Задачи криптоанализа — аргументированно трудные тесты для решателей.

12/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 38: CSEDays. Александр Семенов

Подходы к решению задач обращения дискретных функций

SAT-подход

Задача обращения функции сводится к задачепоиска решений уравнения вида КНФ=1

Плюсы:

Процедура сводимости эффективная(полиномиальная сложность);

Быстрые SAT-решатели(«эффективны» на очень обширномклассе SAT-задач,включая некоторыезадачи криптоанализа).

Минусы:

В случае существования решенийуравнения КНФ=1 находится одноединственное решение. Длядальнейшего поиска необходимозапретить найденное решение. Прибольшом числе решений процедуразаведомо неэффективна.

13/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 39: CSEDays. Александр Семенов

Подходы к решению задач обращения дискретных функций

SAT-подход

Задача обращения функции сводится к задачепоиска решений уравнения вида КНФ=1

Плюсы:

Процедура сводимости эффективная(полиномиальная сложность);

Быстрые SAT-решатели(«эффективны» на очень обширномклассе SAT-задач,включая некоторыезадачи криптоанализа).

Минусы:

В случае существования решенийуравнения КНФ=1 находится одноединственное решение. Длядальнейшего поиска необходимозапретить найденное решение. Прибольшом числе решений процедуразаведомо неэффективна.

BDD-подход

Задача обращения функции сводится кзадаче построения ROBDD-представлениянекоторой булевой функции

Плюсы:

В случае успешного построенияROBDD и её «компактности» всерешения «видны» явно.

Минусы:

Заведомая неэффективностьпроцедуры построения ROBDD дажедля классов функций, обратимых заполиномиальное время при помощиSAT-подхода;

13/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 40: CSEDays. Александр Семенов

Подходы к решению задач обращения дискретных функций

SAT-подход

Задача обращения функции сводится к задачепоиска решений уравнения вида КНФ=1

Плюсы:

Процедура сводимости эффективная(полиномиальная сложность);

Быстрые SAT-решатели(«эффективны» на очень обширномклассе SAT-задач,включая некоторыезадачи криптоанализа).

Минусы:

В случае существования решенийуравнения КНФ=1 находится одноединственное решение. Длядальнейшего поиска необходимозапретить найденное решение. Прибольшом числе решений процедуразаведомо неэффективна.

BDD-подход

Задача обращения функции сводится кзадаче построения ROBDD-представлениянекоторой булевой функции

Плюсы:

В случае успешного построенияROBDD и её «компактности» всерешения «видны» явно.

Минусы:

Заведомая неэффективностьпроцедуры построения ROBDD дажедля классов функций, обратимых заполиномиальное время при помощиSAT-подхода;

SAT+ROBDD

. . .

13/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 41: CSEDays. Александр Семенов

Решение булевых уравнений в задачах криптоанализа. SAT - подход.

Первый этап SAT - подхода — построение по алгоритму вычисления функции системы булевыхуравнений.

14/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 42: CSEDays. Александр Семенов

Решение булевых уравнений в задачах криптоанализа. SAT - подход.

Первый этап SAT - подхода — построение по алгоритму вычисления функции системы булевыхуравнений.

Система, описывающая один такт работыгенератора A5/1

(

x11

↔ x1 · χ11∨

(

⊕i∈Ixi

)

· χ11

)

= 1(

x12

↔ x2 · χ11∨ x1 · χ1

1

)

= 1

.....................................(

x119

↔ x19 · χ11∨ x18 · χ1

1

)

= 1(

x120

↔ x20 · χ12∨

(

⊕j∈Jxj

)

· χ12

)

= 1(

x121

↔ x21 · χ12∨ x20 · χ1

2

)

= 1

.....................................(

x141

↔ x41 · χ12∨ x40 · χ1

2

)

= 1(

x142

↔ x42 · χ13∨

(

⊕k∈Kxk

)

· χ13

)

= 1(

x143

↔ x43 · χ13∨ x42 · χ1

3

)

= 1

.....................................(

x164

↔ x64 · χ13∨ x63 · χ1

3

)

= 1(

g1 ↔ x119

⊕ x141

⊕ x164

)

= 1

789 1

4039

2345610111213141516171819

2030313233343536373841

6261 53545556575859606364 52

212223242526272829

42434445464748495051

14/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 43: CSEDays. Александр Семенов

Решение булевых уравнений в задачах криптоанализа. SAT - подход.

Второй этап SAT - подхода — преобразование системы булевых уравненийк одному уравнению вида КНФ = 1

15/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 44: CSEDays. Александр Семенов

Решение булевых уравнений в задачах криптоанализа. SAT - подход.

Второй этап SAT - подхода — преобразование системы булевых уравненийк одному уравнению вида КНФ = 1

КНФ - это формула исчисления высказываний вида

C = D1 · . . . ·Dm,

в которой Dj , j ∈ 1, . . . ,m— это дизъюнкты над множеством булевыхпеременных X = x1, . . . , xn.

15/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 45: CSEDays. Александр Семенов

Решение булевых уравнений в задачах криптоанализа. SAT - подход.

Второй этап SAT - подхода — преобразование системы булевых уравненийк одному уравнению вида КНФ = 1

КНФ - это формула исчисления высказываний вида

C = D1 · . . . ·Dm,

в которой Dj , j ∈ 1, . . . ,m— это дизъюнкты над множеством булевыхпеременных X = x1, . . . , xn.

Пример КНФ

C = (x1 ∨ x2) · (x1 ∨ x3 ∨ x4) · (x2 ∨ x3 ∨ x5) · (x4 ∨ x8 ∨ x9)··(x5 ∨ x8 ∨ x9) · (x6 ∨ x5 ∨ x7) · (x1 ∨ x8 ∨ x10) · (x4 ∨ x8 ∨ x10)

15/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 46: CSEDays. Александр Семенов

Решение булевых уравнений в задачах криптоанализа. SAT - подход.

Второй этап SAT - подхода — преобразование системы булевых уравненийк одному уравнению вида КНФ = 1

КНФ - это формула исчисления высказываний вида

C = D1 · . . . ·Dm,

в которой Dj , j ∈ 1, . . . ,m— это дизъюнкты над множеством булевыхпеременных X = x1, . . . , xn.

Пример КНФ

C = (x1 ∨ x2) · (x1 ∨ x3 ∨ x4) · (x2 ∨ x3 ∨ x5) · (x4 ∨ x8 ∨ x9)··(x5 ∨ x8 ∨ x9) · (x6 ∨ x5 ∨ x7) · (x1 ∨ x8 ∨ x10) · (x4 ∨ x8 ∨ x10)

Получение уравнений КНФ = 1 из произвольных систем осуществляетсяпри помощи преобразований Цейтина a.

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

15/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 47: CSEDays. Александр Семенов

Преобразования Цейтина. Пример.

Пусть задана формула:x1 ⊕ x2 ⊕ x3 ⊕ . . .⊕ xn

16/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 48: CSEDays. Александр Семенов

Преобразования Цейтина. Пример.

Пусть задана формула:x1 ⊕ x2 ⊕ x3 ⊕ . . .⊕ xn

Вводим новые переменные y1, . . . , yn−1:y1 ≡ x1 ⊕ x2, y2 ≡ y1 ⊕ x3, . . . ,yn−1 ≡ yn−2 ⊕ xn.

16/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 49: CSEDays. Александр Семенов

Преобразования Цейтина. Пример.

Пусть задана формула:x1 ⊕ x2 ⊕ x3 ⊕ . . .⊕ xn

Вводим новые переменные y1, . . . , yn−1:y1 ≡ x1 ⊕ x2, y2 ≡ y1 ⊕ x3, . . . ,yn−1 ≡ yn−2 ⊕ xn.

C = C1(y1 ≡ x1 ⊕ x2) · . . . · Cn−1(yn−1 ≡ yn−2 ⊕ xn) · yn−1

16/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 50: CSEDays. Александр Семенов

Преобразования Цейтина. Пример.

Пусть задана формула:x1 ⊕ x2 ⊕ x3 ⊕ . . .⊕ xn

Вводим новые переменные y1, . . . , yn−1:y1 ≡ x1 ⊕ x2, y2 ≡ y1 ⊕ x3, . . . ,yn−1 ≡ yn−2 ⊕ xn.

C = C1(y1 ≡ x1 ⊕ x2) · . . . · Cn−1(yn−1 ≡ yn−2 ⊕ xn) · yn−1

Ω1 - множество решений уравнения x1 ⊕ x2 ⊕ x3 ⊕ . . .⊕ xn = 1Ω2 - множество решений уравнения C = 1

16/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 51: CSEDays. Александр Семенов

Преобразования Цейтина. Пример.

Пусть задана формула:x1 ⊕ x2 ⊕ x3 ⊕ . . .⊕ xn

Вводим новые переменные y1, . . . , yn−1:y1 ≡ x1 ⊕ x2, y2 ≡ y1 ⊕ x3, . . . ,yn−1 ≡ yn−2 ⊕ xn.

C = C1(y1 ≡ x1 ⊕ x2) · . . . · Cn−1(yn−1 ≡ yn−2 ⊕ xn) · yn−1

Ω1 - множество решений уравнения x1 ⊕ x2 ⊕ x3 ⊕ . . .⊕ xn = 1Ω2 - множество решений уравнения C = 1

Существует биекция ω : Ω1 → Ω2

16/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 52: CSEDays. Александр Семенов

Преобразования Цейтина. Пример.

Пусть задана формула:x1 ⊕ x2 ⊕ x3 ⊕ . . .⊕ xn

Вводим новые переменные y1, . . . , yn−1:y1 ≡ x1 ⊕ x2, y2 ≡ y1 ⊕ x3, . . . ,yn−1 ≡ yn−2 ⊕ xn.

C = C1(y1 ≡ x1 ⊕ x2) · . . . · Cn−1(yn−1 ≡ yn−2 ⊕ xn) · yn−1

Ω1 - множество решений уравнения x1 ⊕ x2 ⊕ x3 ⊕ . . .⊕ xn = 1Ω2 - множество решений уравнения C = 1

Существует биекция ω : Ω1 → Ω2

В КНФ C 4n− 3 дизъюнкта; минимальное КНФ - представление функцииx1 ⊕ x2 ⊕ x3 ⊕ . . .⊕ xn над множеством переменных X = x1, . . . , xnсодержит 2n−1 дизъюнктов.

16/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 53: CSEDays. Александр Семенов

Алгоритмы DPLL (М. Дэвис, Х. Патнэм, Д. Лоджман, Д. Лавленд, 1960-1962

гг.) и GRASP (Дж. П. Маркес-Сильва, К.А.Сакалла, 1999 г.)

Алгоритм DPLL - это итеративная процедура подстановки значений переменныхс последующим распространением булевых ограничений (Boolean ConstraintPropagation, BCP), отслеживанием конфликтов и бэктрекингом. Собственно BCPосновано на правиле единичного дизъюнкта.

17/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 54: CSEDays. Александр Семенов

Алгоритмы DPLL (М. Дэвис, Х. Патнэм, Д. Лоджман, Д. Лавленд, 1960-1962

гг.) и GRASP (Дж. П. Маркес-Сильва, К.А.Сакалла, 1999 г.)

Алгоритм DPLL - это итеративная процедура подстановки значений переменныхс последующим распространением булевых ограничений (Boolean ConstraintPropagation, BCP), отслеживанием конфликтов и бэктрекингом. Собственно BCPосновано на правиле единичного дизъюнкта.

Правило единичного дизъюнкта

Пусть есть некоторый набор дизъюнктов (КНФ). Если в нем присутствуетединичный дизъюнкт, состоящий из единственного литерала l, то:

Из КНФ удаляется каждый дизъюнкт, содержащий l, за исключениемсамого l;

Во всех дизъюнктах, содержащих ¬l, этот литерал удаляется.

Получаемый в результате набор дизъюнктов эквивалентен исходному.

17/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 55: CSEDays. Александр Семенов

Алгоритмы DPLL (М. Дэвис, Х. Патнэм, Д. Лоджман, Д. Лавленд, 1960-1962

гг.) и GRASP (Дж. П. Маркес-Сильва, К.А.Сакалла, 1999 г.)

Алгоритм DPLL - это итеративная процедура подстановки значений переменныхс последующим распространением булевых ограничений (Boolean ConstraintPropagation, BCP), отслеживанием конфликтов и бэктрекингом. Собственно BCPосновано на правиле единичного дизъюнкта.

Правило единичного дизъюнкта

Пусть есть некоторый набор дизъюнктов (КНФ). Если в нем присутствуетединичный дизъюнкт, состоящий из единственного литерала l, то:

Из КНФ удаляется каждый дизъюнкт, содержащий l, за исключениемсамого l;

Во всех дизъюнктах, содержащих ¬l, этот литерал удаляется.

Получаемый в результате набор дизъюнктов эквивалентен исходному.

Правило единичного дизъюнкта: пример

Пусть есть следующий набор дизъюнктов: a ∨ b,¬a ∨ c,¬c ∨ d, a . Тогда

a ∨ b, ¬a ∨ c, ¬c ∨ d, a× ×¬a ↓ ↓ c, ¬c ∨ d, a

17/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 56: CSEDays. Александр Семенов

Алгоритмы DPLL (М. Дэвис, Х. Патнэм, Д. Лоджман, Д. Лавленд, 1960-1962

гг.) и GRASP (Дж. П. Маркес-Сильва, К.А.Сакалла, 1999 г.)

Требуется определить выполнимость КНФ:C = (x1 ∨ x2) · (x1 ∨ x3 ∨ x4) · (x2 ∨ x3 ∨ x5) · (x4 ∨ x8 ∨ x9)·

·(x5 ∨ x8 ∨ x9) · (x6 ∨ x5 ∨ x7) · (x1 ∨ x8 ∨ x10) · (x4 ∨ x8 ∨ x10).

Угадывание (Decision assignment)

Выбор переменнойxi ∈ x1, . . . , xn, присвоение ейпроизвольного значения иподстановка его в КНФ C.

18/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 57: CSEDays. Александр Семенов

Алгоритмы DPLL (М. Дэвис, Х. Патнэм, Д. Лоджман, Д. Лавленд, 1960-1962

гг.) и GRASP (Дж. П. Маркес-Сильва, К.А.Сакалла, 1999 г.)

Требуется определить выполнимость КНФ:C = (x1 ∨ x2) · (x1 ∨ x3 ∨ x4) · (x2 ∨ x3 ∨ x5) · (x4 ∨ x8 ∨ x9)·

·(x5 ∨ x8 ∨ x9) · (x6 ∨ x5 ∨ x7) · (x1 ∨ x8 ∨ x10) · (x4 ∨ x8 ∨ x10).

Угадывание (Decision assignment)

Выбор переменнойxi ∈ x1, . . . , xn, присвоение ейпроизвольного значения иподстановка его в КНФ C.

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

18/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 58: CSEDays. Александр Семенов

Алгоритмы DPLL (М. Дэвис, Х. Патнэм, Д. Лоджман, Д. Лавленд, 1960-1962

гг.) и GRASP (Дж. П. Маркес-Сильва, К.А.Сакалла, 1999 г.)

Требуется определить выполнимость КНФ:C = (x1 ∨ x2) · (x1 ∨ x3 ∨ x4) · (x2 ∨ x3 ∨ x5) · (x4 ∨ x8 ∨ x9)·

·(x5 ∨ x8 ∨ x9) · (x6 ∨ x5 ∨ x7) · (x1 ∨ x8 ∨ x10) · (x4 ∨ x8 ∨ x10).

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

Boolean Constraint Propagation

Процедура, состоящая витеративном применении правилаединичного дизъюнкта называетсяBCP (Boolean ConstraintPropagation).

18/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 59: CSEDays. Александр Семенов

Алгоритмы DPLL (М. Дэвис, Х. Патнэм, Д. Лоджман, Д. Лавленд, 1960-1962

гг.) и GRASP (Дж. П. Маркес-Сильва, К.А.Сакалла, 1999 г.)

Требуется определить выполнимость КНФ:C = (x1 ∨ x2) · (x1 ∨ x3 ∨ x4) · (x2 ∨ x3 ∨ x5) · (x4 ∨ x8 ∨ x9)·

·(x5 ∨ x8 ∨ x9) · (x6 ∨ x5 ∨ x7) · (x1 ∨ x8 ∨ x10) · (x4 ∨ x8 ∨ x10).

Boolean Constraint Propagation

Процедура, состоящая витеративном применении правилаединичного дизъюнкта называетсяBCP (Boolean ConstraintPropagation).

Конфликт

Если в результате BCP выводитсяконтрарная пара литералов, тоговорят, что происходит конфликт.

18/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 60: CSEDays. Александр Семенов

Алгоритмы DPLL (М. Дэвис, Х. Патнэм, Д. Лоджман, Д. Лавленд, 1960-1962

гг.) и GRASP (Дж. П. Маркес-Сильва, К.А.Сакалла, 1999 г.)

Требуется определить выполнимость КНФ:C = (x1 ∨ x2) · (x1 ∨ x3 ∨ x4) · (x2 ∨ x3 ∨ x5) · (x4 ∨ x8 ∨ x9)·

·(x5 ∨ x8 ∨ x9) · (x6 ∨ x5 ∨ x7) · (x1 ∨ x8 ∨ x10) · (x4 ∨ x8 ∨ x10).

Конфликт

Если в результате BCP выводитсяконтрарная пара литералов, тоговорят, что происходит конфликт.

GRASP (Дж. П. Маркес-Сильва,К.А.Сакалла, 1999 г.)

Модификация алгоритма DPLL сиспользованием нехронологическогобэктрэкинга (бэкджампинга) иCL-процедуры (Clause Learning).

18/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 61: CSEDays. Александр Семенов

Пример работы алгоритма DPLL/GRASP

Требуется определить выполнимость КНФ:C = (x1 ∨ x2) · (x1 ∨ x3 ∨ x4) · (x2 ∨ x3 ∨ x5) · (x4 ∨ x8 ∨ x9)·

·(x5 ∨ x8 ∨ x9) · (x6 ∨ x5 ∨ x7) · (x1 ∨ x8 ∨ x10) · (x4 ∨ x8 ∨ x10).

19/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 62: CSEDays. Александр Семенов

Пример работы алгоритма DPLL/GRASP

Требуется определить выполнимость КНФ:C = (x1 ∨ x2) · (x1 ∨ x3 ∨ x4) · (x2 ∨ x3 ∨ x5) · (x4 ∨ x8 ∨ x9)·

·(x5 ∨ x8 ∨ x9) · (x6 ∨ x5 ∨ x7) · (x1 ∨ x8 ∨ x10) · (x4 ∨ x8 ∨ x10).

19/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 63: CSEDays. Александр Семенов

Пример работы алгоритма DPLL/GRASP

Требуется определить выполнимость КНФ:C = (x1 ∨ x2) · (x1 ∨ x3 ∨ x4) · (x2 ∨ x3 ∨ x5) · (x4 ∨ x8 ∨ x9)·

·(x5 ∨ x8 ∨ x9) · (x6 ∨ x5 ∨ x7) · (x1 ∨ x8 ∨ x10) · (x4 ∨ x8 ∨ x10).

Одновременное означивание x4 = 0, x5 = 1, x8 = 0 приводит к конфликту.Чтобы исключить повторение этой ситуации в графе вывода к КНФприписывается конфликтный дизъюнкт (x4 ∨ x5 ∨ x8).

19/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 64: CSEDays. Александр Семенов

Пример работы алгоритма DPLL/GRASP

В результате приписывания конфликтного дизъюнкта получается следующаяКНФ:

C = (x1 ∨ x2) · (x1 ∨ x3 ∨ x4) · (x2 ∨ x3 ∨ x5) · (x4 ∨ x8 ∨ x9)··(x5 ∨ x8 ∨ x9) · (x6 ∨ x5 ∨ x7) · (x1 ∨ x8 ∨ x10) · (x4 ∨ x8 ∨ x10)·

(x4 ∨ x5 ∨ x8).

20/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 65: CSEDays. Александр Семенов

Пример работы алгоритма DPLL/GRASP

В результате приписывания конфликтного дизъюнкта получается следующаяКНФ:

C = (x1 ∨ x2) · (x1 ∨ x3 ∨ x4) · (x2 ∨ x3 ∨ x5) · (x4 ∨ x8 ∨ x9)··(x5 ∨ x8 ∨ x9) · (x6 ∨ x5 ∨ x7) · (x1 ∨ x8 ∨ x10) · (x4 ∨ x8 ∨ x10)·

(x4 ∨ x5 ∨ x8).

20/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 66: CSEDays. Александр Семенов

Пример работы алгоритма DPLL/GRASP

В результате приписывания конфликтного дизъюнкта получается следующаяКНФ:

C = (x1 ∨ x2) · (x1 ∨ x3 ∨ x4) · (x2 ∨ x3 ∨ x5) · (x4 ∨ x8 ∨ x9)··(x5 ∨ x8 ∨ x9) · (x6 ∨ x5 ∨ x7) · (x1 ∨ x8 ∨ x10) · (x4 ∨ x8 ∨ x10)·

(x4 ∨ x5 ∨ x8).

Конфликт

Уровни решения

20/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 67: CSEDays. Александр Семенов

Современные SAT-решатели на основе DPLL

Помимо бэкджампинга в современных SAT-решателях на основе DPLLиспользуются многочисленные техники, ускоряющие их работу:

1 Эвристики выбора и означивания переменных

2 Различные схемы анализа конфликтов

3 Структуры для организации «ленивых» вычислений (lazycomputations)

21/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 68: CSEDays. Александр Семенов

Современные SAT-решатели на основе DPLL

Помимо бэкджампинга в современных SAT-решателях на основе DPLLиспользуются многочисленные техники, ускоряющие их работу:

1 Эвристики выбора и означивания переменных

2 Различные схемы анализа конфликтов

3 Структуры для организации «ленивых» вычислений (lazycomputations)

Этапы развития второго поколения SAT-решателей на основеDPLL

GRASP (1999 г.)zchaff (2001 г.)

MiniSat (2003-2010 г.)

21/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 69: CSEDays. Александр Семенов

Современные SAT-решатели на основе DPLL

Помимо бэкджампинга в современных SAT-решателях на основе DPLLиспользуются многочисленные техники, ускоряющие их работу:

1 Эвристики выбора и означивания переменных

2 Различные схемы анализа конфликтов

3 Структуры для организации «ленивых» вычислений (lazycomputations)

Этапы развития второго поколения SAT-решателей на основеDPLL

GRASP (1999 г.)zchaff (2001 г.)

MiniSat (2003-2010 г.)

В настоящее время регулярно проводятся соревнования SAT-решателей(http://www.SatLive.org).

21/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 70: CSEDays. Александр Семенов

Двоичные диаграммы решений

Произвольной всюду определенной булевой функции fn : 0, 1n → 0, 1 можнопоставить в соответствие ее двоичное дерево решений T (fn).

22/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 71: CSEDays. Александр Семенов

Двоичные диаграммы решений

Произвольной всюду определенной булевой функции fn : 0, 1n → 0, 1 можнопоставить в соответствие ее двоичное дерево решений T (fn).

22/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 72: CSEDays. Александр Семенов

Двоичные диаграммы решений

Если склеить в одну вершину все листья дерева T (fn), помеченные 0, и то жесамое проделать с листьями, помеченными 1, получится BDD.

23/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 73: CSEDays. Александр Семенов

Двоичные диаграммы решений

Если склеить в одну вершину все листья дерева T (fn), помеченные 0, и то жесамое проделать с листьями, помеченными 1, получится BDD.

23/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 74: CSEDays. Александр Семенов

Двоичные диаграммы решений

Если склеить в одну вершину все листья дерева T (fn), помеченные 0, и то жесамое проделать с листьями, помеченными 1, получится BDD.

Если произвольный путь π в BDD из корня в терминальную вершину несодержит вершин, помеченных одинаковыми переменными, и его прохождениеподчинено общему для всех путей порядку (например,x1 ≺ x2 ≺ . . . ≺ xn−1 ≺ xn), то такая BDD называется упорядоченной (OBDD).

23/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 75: CSEDays. Александр Семенов

Двоичные диаграммы решений

Идея сокращенной OBDD (кратко «ROBDD») заключается в склейкеповторяющихся фрагментов: ROBDD-граф не должен содержать одинаковыхOBDD-подграфов меньших размерностей.

24/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 76: CSEDays. Александр Семенов

Двоичные диаграммы решений

Идея сокращенной OBDD (кратко «ROBDD») заключается в склейкеповторяющихся фрагментов: ROBDD-граф не должен содержать одинаковыхOBDD-подграфов меньших размерностей.

24/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 77: CSEDays. Александр Семенов

Двоичные диаграммы решений

Идея сокращенной OBDD (кратко «ROBDD») заключается в склейкеповторяющихся фрагментов: ROBDD-граф не должен содержать одинаковыхOBDD-подграфов меньших размерностей.

Произвольная всюду определенная булева функция при фиксированном порядкеозначивания переменных имеет однозначное (с точностью до изоморфизмасоответствующих графов) ROBDD-представление (Р. Брайант, 1986).

24/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 78: CSEDays. Александр Семенов

Двоичные диаграммы решений

Пример

Дана булева функция f (x1, x2, x3, ) = x1 ⊕ x2 ⊕ x3. Зафиксируем следующий

порядок означивания переменных: x1 ≺ x2 ≺ x3.

25/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 79: CSEDays. Александр Семенов

Двоичные диаграммы решений

Пример

Дана булева функция f (x1, x2, x3, ) = x1 ⊕ x2 ⊕ x3. Зафиксируем следующий

порядок означивания переменных: x1 ≺ x2 ≺ x3.

25/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 80: CSEDays. Александр Семенов

Двоичные диаграммы решений

Пример

Дана булева функция f (x1, x2, x3, ) = x1 ⊕ x2 ⊕ x3. Зафиксируем следующий

порядок означивания переменных: x1 ≺ x2 ≺ x3.

Рис.: От дерева решений линейной функции к ее ROBDD.25/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 81: CSEDays. Александр Семенов

Значение порядка означивания переменных

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

26/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 82: CSEDays. Александр Семенов

Значение порядка означивания переменных

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

Рис.: ROBDD для функции (x1 ⊕ x2) ∧ (x3 ∨ x4) с порядком переменныхx1 ≺ x2 ≺ x3 ≺ x4 (слева) и x1 ≺ x3 ≺ x2 ≺ x4 (справа).

26/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 83: CSEDays. Александр Семенов

Алгоритм Apply

Основным алгоритмом, используемым в работе с BDD, являетсяалгоритм Apply a

aBryant R. E. Graph-Based Algorithms for Boolean Function Manipulation// IEEE Transactions on Computers. 1986. Vol. 35, no. 8. Pp. 677–691.

27/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 84: CSEDays. Александр Семенов

Алгоритм Apply

Основным алгоритмом, используемым в работе с BDD, являетсяалгоритм Apply a

aBryant R. E. Graph-Based Algorithms for Boolean Function Manipulation// IEEE Transactions on Computers. 1986. Vol. 35, no. 8. Pp. 677–691.

Алгоритм Apply строит ROBDD булевой функции f(x1, . . . , xn),являющейся композицией пары булевых функций:

f(x1, . . . , xn) = f1(x1, . . . , xn) f2(x1, . . . , xn),

где «» — произвольная бинарная логическая связка. При этомApply получает на входе ROBDD функций f1 и f2.

27/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 85: CSEDays. Александр Семенов

Алгоритм Apply

Основным алгоритмом, используемым в работе с BDD, являетсяалгоритм Apply a

aBryant R. E. Graph-Based Algorithms for Boolean Function Manipulation// IEEE Transactions on Computers. 1986. Vol. 35, no. 8. Pp. 677–691.

Алгоритм Apply строит ROBDD булевой функции f(x1, . . . , xn),являющейся композицией пары булевых функций:

f(x1, . . . , xn) = f1(x1, . . . , xn) f2(x1, . . . , xn),

где «» — произвольная бинарная логическая связка. При этомApply получает на входе ROBDD функций f1 и f2.

В случае совпадения порядка означивания переменных в f1 и f2сложность алгоритма Apply оценивается сверху величинойO(|B1| · |B2|), где |B1|, |B2| — размеры ROBDD функций f1 и f2соответственно.

27/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 86: CSEDays. Александр Семенов

Алгоритм Apply

Пример. Рассмотрим булевы функции f1 (x1, x2) = x1 ⊕ x2 иf2 (x1, x3) = x1 ∨ x3. Выберем порядок означивания переменных x1 ≺ x2 ≺ x3.

28/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 87: CSEDays. Александр Семенов

Алгоритм Apply

Пример. Рассмотрим булевы функции f1 (x1, x2) = x1 ⊕ x2 иf2 (x1, x3) = x1 ∨ x3. Выберем порядок означивания переменных x1 ≺ x2 ≺ x3.

28/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 88: CSEDays. Александр Семенов

Алгоритм Apply

Пример. Рассмотрим булевы функции f1 (x1, x2) = x1 ⊕ x2 иf2 (x1, x3) = x1 ∨ x3. Выберем порядок означивания переменных x1 ≺ x2 ≺ x3.

28/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 89: CSEDays. Александр Семенов

Алгоритм Apply

Пример. Рассмотрим булевы функции f1 (x1, x2) = x1 ⊕ x2 иf2 (x1, x3) = x1 ∨ x3. Выберем порядок означивания переменных x1 ≺ x2 ≺ x3.

28/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 90: CSEDays. Александр Семенов

Алгоритм Apply

Пример. Рассмотрим булевы функции f1 (x1, x2) = x1 ⊕ x2 иf2 (x1, x3) = x1 ∨ x3. Выберем порядок означивания переменных x1 ≺ x2 ≺ x3.

Рис.: Работа алгоритма Apply.

28/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 91: CSEDays. Александр Семенов

Алгоритм Apply

Пример. Рассмотрим булевы функции f1 (x1, x2) = x1 ⊕ x2 иf2 (x1, x3) = x1 ∨ x3. Выберем порядок означивания переменных x1 ≺ x2 ≺ x3.

Рис.: Работа алгоритма Apply.

По полученной ROBDDможно найти решениясистемы уравнений

x1 ⊕ x2 = 1x1 ∨ x3 = 1

28/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 92: CSEDays. Александр Семенов

О некоторых свойствах ROBDD

Пусть B - это ROBDD, представляющая булеву функцию fn : 0, 1n → 0, 1. За линейное от|B| время можно найти число наборов значений истинности булевых переменных, на которых fnпринимает значение «1» (алгоритм SAT-count, R.Bryant, 1986)

29/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 93: CSEDays. Александр Семенов

О некоторых свойствах ROBDD

Пусть B - это ROBDD, представляющая булеву функцию fn : 0, 1n → 0, 1. За линейное от|B| время можно найти число наборов значений истинности булевых переменных, на которых fnпринимает значение «1» (алгоритм SAT-count, R.Bryant, 1986)

Для некоторых формул в КНФ, для которых проблема выполнимости решается заполиномиальное время (например, для хорновских КНФ), ROBDD-представление нельзяпостроить за полномиальное время в предположении, что P 6= NP .

29/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 94: CSEDays. Александр Семенов

О некоторых свойствах ROBDD

Пусть B - это ROBDD, представляющая булеву функцию fn : 0, 1n → 0, 1. За линейное от|B| время можно найти число наборов значений истинности булевых переменных, на которых fnпринимает значение «1» (алгоритм SAT-count, R.Bryant, 1986)

Для некоторых формул в КНФ, для которых проблема выполнимости решается заполиномиальное время (например, для хорновских КНФ), ROBDD-представление нельзяпостроить за полномиальное время в предположении, что P 6= NP .

ROBDD-представления функций можно строить непосредственно поих схемным представлениям.

29/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 95: CSEDays. Александр Семенов

О некоторых свойствах ROBDD

Пусть B - это ROBDD, представляющая булеву функцию fn : 0, 1n → 0, 1. За линейное от|B| время можно найти число наборов значений истинности булевых переменных, на которых fnпринимает значение «1» (алгоритм SAT-count, R.Bryant, 1986)

Для некоторых формул в КНФ, для которых проблема выполнимости решается заполиномиальное время (например, для хорновских КНФ), ROBDD-представление нельзяпостроить за полномиальное время в предположении, что P 6= NP .

ROBDD-представления функций можно строить непосредственно поих схемным представлениям.

Обозначим через B(x1), B(x2) - ROBDD-представленияодноместных тождественных функций x1 и x2, через B(¬x2)-ROBDD представление функции ¬x2. ПостроимB⊕ = Apply (B(x1) ⊕ B(x2)) , B& = Apply (B(x1)&B(¬x2)) ,B→ = Apply

(

B⊕ → B&

)

, B = Apply (B→&¬B&)Под ¬Bg понимается ROBDD, получающаяся из Bg перестановкойтерминальных вершин «0» и «1».

29/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 96: CSEDays. Александр Семенов

О некоторых свойствах ROBDD

Пусть B - это ROBDD, представляющая булеву функцию fn : 0, 1n → 0, 1. За линейное от|B| время можно найти число наборов значений истинности булевых переменных, на которых fnпринимает значение «1» (алгоритм SAT-count, R.Bryant, 1986)

Для некоторых формул в КНФ, для которых проблема выполнимости решается заполиномиальное время (например, для хорновских КНФ), ROBDD-представление нельзяпостроить за полномиальное время в предположении, что P 6= NP .

ROBDD-представления функций можно строить непосредственно поих схемным представлениям.

Обозначим через B(x1), B(x2) - ROBDD-представленияодноместных тождественных функций x1 и x2, через B(¬x2)-ROBDD представление функции ¬x2. ПостроимB⊕ = Apply (B(x1) ⊕ B(x2)) , B& = Apply (B(x1)&B(¬x2)) ,B→ = Apply

(

B⊕ → B&

)

, B = Apply (B→&¬B&)Под ¬Bg понимается ROBDD, получающаяся из Bg перестановкойтерминальных вершин «0» и «1».

ROBDD B кодирует задачу обращения рассматриваемой функции вточке y1 = 1, y2 = 0

29/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 97: CSEDays. Александр Семенов

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

30/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 98: CSEDays. Александр Семенов

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

Применение SAT или ROBDD может быть оправдано, в том числе, приосуществлении некоторых отдельных этапов криптоанализа — например, можноиспользовать SAT - решатель для автоматизации многочисленных и однотипныхотносительно простых шагов в некоторых криптоаналитических атаках. Такойподход к атакам на алгоритмы построения хэш-функций (поиск коллизийвторого рода) был описан в работе a

aI. Mironov, L. Zhang, "Applications of SAT Solvers to Cryptanalysis of HashFunctions,"Lecture Notes in Computer Science, vol. 4121, 2006, pp. 102-115.

30/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 99: CSEDays. Александр Семенов

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

Применение SAT или ROBDD может быть оправдано, в том числе, приосуществлении некоторых отдельных этапов криптоанализа — например, можноиспользовать SAT - решатель для автоматизации многочисленных и однотипныхотносительно простых шагов в некоторых криптоаналитических атаках. Такойподход к атакам на алгоритмы построения хэш-функций (поиск коллизийвторого рода) был описан в работе a

aI. Mironov, L. Zhang, "Applications of SAT Solvers to Cryptanalysis of HashFunctions,"Lecture Notes in Computer Science, vol. 4121, 2006, pp. 102-115.

В следующей части презентации мы описываем применение SAT-подхода ккриптоанализу генератора ключевого потока A5/1, осуществленному враспределенной вычислительной среде.

30/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 100: CSEDays. Александр Семенов

Криптоанализ генератора A5/1. Известные атаки

Ранние атаки, в том числе атака Андерсона-Ро, атаки Голича и методБирюкова-Шамира-Вагнераa.

aA. Biryukov, A. Shamir,D. Wagner Real Time Cryptanalysis of A5/1 on aPC // Fast Software Encryption Workshop 2000, April 10-12, 2000, New YorkCity.

31/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 101: CSEDays. Александр Семенов

Криптоанализ генератора A5/1. Известные атаки

Ранние атаки, в том числе атака Андерсона-Ро, атаки Голича и методБирюкова-Шамира-Вагнераa.

aA. Biryukov, A. Shamir,D. Wagner Real Time Cryptanalysis of A5/1 on aPC // Fast Software Encryption Workshop 2000, April 10-12, 2000, New YorkCity.

Недавние атаки (2008-2010 гг., COPACOBANA, A5/1 Cracking Project), общаяметодика — построение rainbow-таблиц, в том числе, с использованиемспециального аппаратного обеспечения (ПЛИС COPACOBANA, графическиеускорители).

31/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 102: CSEDays. Александр Семенов

Криптоанализ генератора A5/1. Известные атаки

Ранние атаки, в том числе атака Андерсона-Ро, атаки Голича и методБирюкова-Шамира-Вагнераa.

aA. Biryukov, A. Shamir,D. Wagner Real Time Cryptanalysis of A5/1 on aPC // Fast Software Encryption Workshop 2000, April 10-12, 2000, New YorkCity.

Недавние атаки (2008-2010 гг., COPACOBANA, A5/1 Cracking Project), общаяметодика — построение rainbow-таблиц, в том числе, с использованиемспециального аппаратного обеспечения (ПЛИС COPACOBANA, графическиеускорители).

Далее описано решение задачи криптоанализа А5/1 в распределеннойвычислительной среде (BNB-Grid) с использованием модифицированногоSAT-решателя MiniSat (2009).

31/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 103: CSEDays. Александр Семенов

Криптоанализ генератора A5/1, SAT-подход

Система, описывающая один такт работыгенератора A5/1

(

x11

↔ x1 · χ11∨

(

⊕i∈Ixi

)

· χ11

)

= 1(

x12

↔ x2 · χ11∨ x1 · χ1

1

)

= 1

.....................................(

x119

↔ x19 · χ11∨ x18 · χ1

1

)

= 1(

x120

↔ x20 · χ12∨

(

⊕j∈Jxj

)

· χ12

)

= 1(

x121

↔ x21 · χ12∨ x20 · χ1

2

)

= 1

.....................................(

x141

↔ x41 · χ12∨ x40 · χ1

2

)

= 1(

x142

↔ x42 · χ13∨

(

⊕k∈Kxk

)

· χ13

)

= 1(

x143

↔ x43 · χ13∨ x42 · χ1

3

)

= 1

.....................................(

x164

↔ x64 · χ13∨ x63 · χ1

3

)

= 1(

g1 ↔ x119

⊕ x141

⊕ x164

)

= 1

789 1

4039

2345610111213141516171819

2030313233343536373841

6261 53545556575859606364 52

212223242526272829

42434445464748495051

32/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 104: CSEDays. Александр Семенов

SAT-решатели

Основной решатель, который далее модифицируется с учетом особенностейрешаемых задач, — Minisat-C v1.14.1a.

ahttp://minisat.se/MiniSat.html

33/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 105: CSEDays. Александр Семенов

SAT-решатели

Основной решатель, который далее модифицируется с учетом особенностейрешаемых задач, — Minisat-C v1.14.1a.

ahttp://minisat.se/MiniSat.html

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

33/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 106: CSEDays. Александр Семенов

SAT-решатели

Основной решатель, который далее модифицируется с учетом особенностейрешаемых задач, — Minisat-C v1.14.1a.

ahttp://minisat.se/MiniSat.html

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

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

33/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 107: CSEDays. Александр Семенов

SAT-решатели

Основной решатель, который далее модифицируется с учетом особенностейрешаемых задач, — Minisat-C v1.14.1a.

ahttp://minisat.se/MiniSat.html

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

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

Наконец, код minisat удобен как база для построения новых решателей.

33/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 108: CSEDays. Александр Семенов

SAT-решатели

Основной решатель, который далее модифицируется с учетом особенностейрешаемых задач, — Minisat-C v1.14.1a.

ahttp://minisat.se/MiniSat.html

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

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

Наконец, код minisat удобен как база для построения новых решателей.

Описанная далее параллельная технология применялась в криптоанализеразличных генераторов ключевого потока с длинами ключей от 64 до 80 бит(пороговый, Гиффорда, суммирующий, А5/1).

33/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 109: CSEDays. Александр Семенов

Простейшие схемы распараллеливания

Пусть C = 1— уравнение, к которому сведена задача обращения некоторойфункции fn (например, задача криптоанализа некоторого генератора), C — КНФнад множеством переменных X = x1, . . . , xn.

34/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 110: CSEDays. Александр Семенов

Простейшие схемы распараллеливания

Пусть C = 1— уравнение, к которому сведена задача обращения некоторойфункции fn (например, задача криптоанализа некоторого генератора), C — КНФнад множеством переменных X = x1, . . . , xn.

Выбираем в множестве X некоторое подмножество

X′ = xi1 , . . . , xid, i1, . . . , id ⊆ 1, . . . , n, d ∈ 1, . . . , n.

X′ = xi1 , . . . , xid— декомпозиционное множество, d — его размерность.

34/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 111: CSEDays. Александр Семенов

Простейшие схемы распараллеливания

Пусть C = 1— уравнение, к которому сведена задача обращения некоторойфункции fn (например, задача криптоанализа некоторого генератора), C — КНФнад множеством переменных X = x1, . . . , xn.

Выбираем в множестве X некоторое подмножество

X′ = xi1 , . . . , xid, i1, . . . , id ⊆ 1, . . . , n, d ∈ 1, . . . , n.

X′ = xi1 , . . . , xid— декомпозиционное множество, d — его размерность.

X′ ставим в соответствие множество Y (X′) = Y1, . . . , Yk, состоящее из k = 2d

различных двоичных векторов длины d, каждый из которых является векторомзначений переменных xi1 , . . . , xid . Cj = C|Yj

, j = 1, . . . , k, — КНФ, полученные врезультате подстановок в C векторов Yj .

34/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 112: CSEDays. Александр Семенов

Простейшие схемы распараллеливания

Пусть C = 1— уравнение, к которому сведена задача обращения некоторойфункции fn (например, задача криптоанализа некоторого генератора), C — КНФнад множеством переменных X = x1, . . . , xn.

Выбираем в множестве X некоторое подмножество

X′ = xi1 , . . . , xid, i1, . . . , id ⊆ 1, . . . , n, d ∈ 1, . . . , n.

X′ = xi1 , . . . , xid— декомпозиционное множество, d — его размерность.

X′ ставим в соответствие множество Y (X′) = Y1, . . . , Yk, состоящее из k = 2d

различных двоичных векторов длины d, каждый из которых является векторомзначений переменных xi1 , . . . , xid . Cj = C|Yj

, j = 1, . . . , k, — КНФ, полученные врезультате подстановок в C векторов Yj .

Множество ∆C(X′) = C1 = C|Y1. . . , Ck = C|Yk

— декомпозиционноесемейство, порожденное X′. ∆C(X′) обрабатывается как параллельный списокзаданий на вычислительном кластере.

34/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 113: CSEDays. Александр Семенов

Выбор декомпозиционных множеств. Прогнозные функции

Декомпозиционное множество X′ можно выбирать различными способами. Какправило, выбирается некоторое «стартовое» X′, после чего предпринимаютсяпопытки его «улучшения» в смысле прогноза трудоемкости параллельноговремени решения SAT-задачи. Такой прогноз можно строить на основевычисляемых эффективно значений прогнозной функции. В рассматриваемыхдалее экспериментах использовалась прогнозная функция следующего вида a:

T(

ΘC

(

X))

=

2|X|

Q(X)· τS

(

ΘC

(

X))

, if 2|X| > R, τS

(

ΘC

(

X))

< g(C)

τS

(

ΘC

(

X))

, if 2|X| ≤ R, τS

(

ΘC

(

X))

< g(C)

∞, if τS

(

ΘC

(

X))

≥ g(C)

a: Semenov, A., Zaikin, O., Bespalov, D., Posypkin, M.: Parallel algorithmsfor SAT in application to inversion problems of some discrete functions.arXiv:1102.3563v1[cs.DC]

35/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 114: CSEDays. Александр Семенов

Вычисление прогнозных функций

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

36/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 115: CSEDays. Александр Семенов

Криптоанализ генератора A5/1 в Грид

В результате использования техники прогнозных функций для генератора A5/1было построено следующее декомпозиционное множество.

37/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 116: CSEDays. Александр Семенов

Криптоанализ генератора A5/1 в Грид

В результате использования техники прогнозных функций для генератора A5/1было построено следующее декомпозиционное множество.

789 1

4039

2345610111213141516171819

20313233343536373841

6261 53545556575859606364

212223242526272829

42434445464748495051

30

52

37/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 117: CSEDays. Александр Семенов

Криптоанализ генератора A5/1 в Грид

В результате использования техники прогнозных функций для генератора A5/1было построено следующее декомпозиционное множество.

789 1

4039

2345610111213141516171819

20313233343536373841

6261 53545556575859606364

212223242526272829

42434445464748495051

30

52

Таким образомX′ = x1, . . . , x9, x20, . . . , x30, x42, . . . , x52 , |X′| = 31.

37/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 118: CSEDays. Александр Семенов

Криптоанализ генератора A5/1 в Грид

Следующая таблица содержит результаты вычисления прогнозных функций (всотнях миллионов секунд) для различных параметров декомпозиции (решательdminisat запускался на одном ядре процессора Intel E8400).

38/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 119: CSEDays. Александр Семенов

Криптоанализ генератора A5/1 в Грид

Следующая таблица содержит результаты вычисления прогнозных функций (всотнях миллионов секунд) для различных параметров декомпозиции (решательdminisat запускался на одном ядре процессора Intel E8400).

Мощность декомпозиционного мн-ваДлина ключевого потока

128 144 160 176 192

29 3.87 3.80 3.69 3.95 3.76

30 3.65 3.59 3.59 3.71 3.83

31 3.76 3.55 3.71 3.73 3.81

32 4.23 4.15 4.27 4.39 4.32

33 4.70 4.87 4.89 4.95 5.23

38/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 120: CSEDays. Александр Семенов

Криптоанализ генератора A5/1 в Грид

Ниже приведены сравнительные характеристики процессоров Intel E8400 и IntelE5472. На последних собран суперкомпьютер Т-60(Чебышёв).

39/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 121: CSEDays. Александр Семенов

Криптоанализ генератора A5/1 в Грид

Ниже приведены сравнительные характеристики процессоров Intel E8400 и IntelE5472. На последних собран суперкомпьютер Т-60(Чебышёв).

Модель процессора Intel E8400 Intel E5472

Число ядер 2 4

Частота ядра 3.0 ГГц 3.0 ГГц

Частота шины 1333 МГц 1600 МГц

Кэш L2 6 Мб 12 Мб

39/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 122: CSEDays. Александр Семенов

Криптоанализ генератора A5/1 в Грид

Ниже приведены сравнительные характеристики процессоров Intel E8400 и IntelE5472. На последних собран суперкомпьютер Т-60(Чебышёв).

Модель процессора Intel E8400 Intel E5472

Число ядер 2 4

Частота ядра 3.0 ГГц 3.0 ГГц

Частота шины 1333 МГц 1600 МГц

Кэш L2 6 Мб 12 Мб

С учетом этих характеристик прогноз времени логического криптоанализа А5/1на Т-60 составляет 19–21 час.

39/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 123: CSEDays. Александр Семенов

Криптоанализ генератора A5/1 в Грид

Однако получить на такое время в полное распоряжение данный кластер не представляетсявозможным. Поэтому задача логического криптоанализа А5/1 решалась в специальнопостроенной для этой цели грид-среде ( использовался программный комплекс BNB-Grid –разработка ИСА РАНa). Построенная грид-среда задействовала три суперкомпьютера,характеристики которых приведены ниже.

aAfanasiev A., Posypkin M., Sigal I. Project BNB-Grid: solving large scale optimization problems in

a distributed environment // Proc. of XXI International Symposium on Nuclear Electronics &Computing. Dubna: JINR. 2008. Pp. 15–19.

40/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 124: CSEDays. Александр Семенов

Криптоанализ генератора A5/1 в Грид

Однако получить на такое время в полное распоряжение данный кластер не представляетсявозможным. Поэтому задача логического криптоанализа А5/1 решалась в специальнопостроенной для этой цели грид-среде ( использовался программный комплекс BNB-Grid –разработка ИСА РАНa). Построенная грид-среда задействовала три суперкомпьютера,характеристики которых приведены ниже.

aAfanasiev A., Posypkin M., Sigal I. Project BNB-Grid: solving large scale optimization problems in

a distributed environment // Proc. of XXI International Symposium on Nuclear Electronics &Computing. Dubna: JINR. 2008. Pp. 15–19.

Название Институт Процессоры Число

MVS-100k Межведомственный супер-компьютерный центр RAS

Xeon E5450 3 ГГц 7920

СКИФ-МГУ Че-бышёв

МГУ Xeon E5472 3 ГГц 5000

Кластер РНЦ РНЦ Курчатовский инсти-тут

Xeon 5345 2.33 ГГц 3456

BlueGene P МГУ Power PC 850 МГц 8192

40/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 125: CSEDays. Александр Семенов

Криптоанализ генератора A5/1 в Грид

Однако получить на такое время в полное распоряжение данный кластер не представляетсявозможным. Поэтому задача логического криптоанализа А5/1 решалась в специальнопостроенной для этой цели грид-среде ( использовался программный комплекс BNB-Grid –разработка ИСА РАНa). Построенная грид-среда задействовала три суперкомпьютера,характеристики которых приведены ниже.

aAfanasiev A., Posypkin M., Sigal I. Project BNB-Grid: solving large scale optimization problems in

a distributed environment // Proc. of XXI International Symposium on Nuclear Electronics &Computing. Dubna: JINR. 2008. Pp. 15–19.

Название Институт Процессоры Число

MVS-100k Межведомственный супер-компьютерный центр RAS

Xeon E5450 3 ГГц 7920

СКИФ-МГУ Че-бышёв

МГУ Xeon E5472 3 ГГц 5000

Кластер РНЦ РНЦ Курчатовский инсти-тут

Xeon 5345 2.33 ГГц 3456

BlueGene P МГУ Power PC 850 МГц 8192

Число одновременно работающих ядер варьировалось от 0 до 5568. Время обработки тестовколебалось от суток до трех.

40/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 126: CSEDays. Александр Семенов

Криптоанализ генератора A5/1 в Грид

Еще в 1997 г. Й. Голичем было отмечено, что различные секретные ключи в А5/1могут порождать одинаковый ключевой поток (произвольной длины).Представляет интерес поиск всех таких «коллизий» секретного ключа пофиксированному фрагменту ключевого потока. В BNB-Grid была решена однатакая задача: по 144 битам ключевого потока были найдены три коллизии(среди которых оригинальный ключ) и показано, что других коллизий нет. Нарешение этой задачи потребовалось 16 суток работы грид-среды.

41/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 127: CSEDays. Александр Семенов

Криптоанализ генератора A5/1 в Грид

Еще в 1997 г. Й. Голичем было отмечено, что различные секретные ключи в А5/1могут порождать одинаковый ключевой поток (произвольной длины).Представляет интерес поиск всех таких «коллизий» секретного ключа пофиксированному фрагменту ключевого потока. В BNB-Grid была решена однатакая задача: по 144 битам ключевого потока были найдены три коллизии(среди которых оригинальный ключ) и показано, что других коллизий нет. Нарешение этой задачи потребовалось 16 суток работы грид-среды.

Оригинальный ключ и коллизии для генератора A5/1 (в шестнадцатеричномформате)

РСЛОС 1 РСЛОС 2 РСЛОС 3

x1, ..., x19 x20, ..., x41 x42, ..., x64

Оригинальный ключ 2C1A7 3D35B9 EEAF2

Коллизия 2C1A7 3E9ADC EEAF2

Коллизия 2C1A7 3D35B9 77579

41/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 128: CSEDays. Александр Семенов

Описанный подход также хорошо зарекомендовал себя при решении задачкриптоанализа следующих генераторов ключевого потока:

42/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 129: CSEDays. Александр Семенов

Описанный подход также хорошо зарекомендовал себя при решении задачкриптоанализа следующих генераторов ключевого потока:

Генератор Гиффорда Суммирующий генератор

42/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 130: CSEDays. Александр Семенов

Описанный подход также хорошо зарекомендовал себя при решении задачкриптоанализа следующих генераторов ключевого потока:

Генератор Гиффорда Суммирующий генератор

Пороговый генератор

42/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 131: CSEDays. Александр Семенов

Итак, как уже отмечалось, успешность методов в решении задач криптоанализапозволяет давать аргументацию их практической эффективности и обосновыветих применимость к решению задач, вычислительная сложность в которые незаложена искусственно. Класс такого рода задач очень широк.

43/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 132: CSEDays. Александр Семенов

Итак, как уже отмечалось, успешность методов в решении задач криптоанализапозволяет давать аргументацию их практической эффективности и обосновыветих применимость к решению задач, вычислительная сложность в которые незаложена искусственно. Класс такого рода задач очень широк.

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

43/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 133: CSEDays. Александр Семенов

Дискретная модель генной сети (С. Кауффман, 1969)

B(U,D) — булева сеть (ориентированный граф, в котором веса вершин и реберпринимают значения 0 и 1).

44/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 134: CSEDays. Александр Семенов

Дискретная модель генной сети (С. Кауффман, 1969)

B(U,D) — булева сеть (ориентированный граф, в котором веса вершин и реберпринимают значения 0 и 1).

k ∈ N, k > 0 — параметр, определяющий входную степень каждой вершиныграфа.

44/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 135: CSEDays. Александр Семенов

Дискретная модель генной сети (С. Кауффман, 1969)

B(U,D) — булева сеть (ориентированный граф, в котором веса вершин и реберпринимают значения 0 и 1).

k ∈ N, k > 0 — параметр, определяющий входную степень каждой вершиныграфа.

Fi : 0, 1k → 0, 1 — булева функция.

44/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 136: CSEDays. Александр Семенов

Дискретная модель генной сети (С. Кауффман, 1969)

B(U,D) — булева сеть (ориентированный граф, в котором веса вершин и реберпринимают значения 0 и 1).

k ∈ N, k > 0 — параметр, определяющий входную степень каждой вершиныграфа.

Fi : 0, 1k → 0, 1 — булева функция.

(x1, . . . , xn) ∈ 0, 1n — состояние сети.

44/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 137: CSEDays. Александр Семенов

Дискретная модель генной сети (С. Кауффман, 1969)

B(U,D) — булева сеть (ориентированный граф, в котором веса вершин и реберпринимают значения 0 и 1).

k ∈ N, k > 0 — параметр, определяющий входную степень каждой вершиныграфа.

Fi : 0, 1k → 0, 1 — булева функция.

(x1, . . . , xn) ∈ 0, 1n — состояние сети.

44/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 138: CSEDays. Александр Семенов

Обобщенная дискретная модель генной сети

45/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 139: CSEDays. Александр Семенов

Обобщенная дискретная модель генной сети

Граф, задающий фрагмент генной сети E.coli, можно описать при помощи матрицы n × n (n –число вершин графа) с компонентами из множества 0, 1, 2, 3

Если вершина с индексом i-черная, то aii = 0

Если вершина с индексом i-зеленая, то aii = 1

Если вершина с индексом i-красная, то aii = 2

Если вершина с индексом i-коричневая, то aii = 3

Если из вершины 1 в вершину 2 дуги нет, то a12 = 0

Если из вершины 1 в вершину 2 ведет зеленая дуга, то a12 = 1

Если из вершины 1 в вершину 2 ведет красная дуга, то a12 = 2

Если из вершины 1 в вершину 2 ведет коричневая дуга, то a12 = 3

46/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 140: CSEDays. Александр Семенов

Обобщенная дискретная модель генной сети на примере E.coli : задание

функций пересчета весов вершин

Все используемые далее функции являются гипотетическими.

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

Пример: активирующих дуг в данную вершину входит больше, чемингибирующих, значит их общее воздействие - активирующее.

Для этого, а также для простоты варьирования параметровфункции пересчета, мы используем вспомогательные функцииδj(xi).

Фактически, эти функции вычисляют вес дуги из вершины синдексом i в вершину с индексом j на текущем шаге в зависимостиот цвета этой дуги и текущего значения веса вершины xi.

Например, δj(xi) можно задавать следующим образом:

δj(xi) =

xi, aij = 1 ∨(

aij = 3 ∧ xi ≥ p2

)

−xi, aij = 2 ∨(

aij = 3 ∧ xi <p2

)

0, aij = 0

A =

0 1 13 2 02 2 3

47/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 141: CSEDays. Александр Семенов

Обобщенная дискретная модель генной сети на примере E.coli : задание

функций пересчета весов вершин

В наших экспериментах мы задавали функциюпересчета весов вершин следующим образом:

x′j =

xj + 1,

(

xi∈Xj

δ(xi) > 0

)

∧ (xj < p− 1)

xj − 1,

(

xi∈Xj

δ(xi) < 0

)

∧ (xj > 0)

xj , иначе

δj(xi) =

xi, aij = 1 ∨(

aij = 3 ∧ xi ≥p2

)

−xi, aij = 2 ∨(

aij = 3 ∧ xi <p2

)

0, aij = 0

A =

0 1 13 2 02 2 3

48/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 142: CSEDays. Александр Семенов

Обобщенная дискретная модель генной сети на примере E.coli : задание

функций пересчета весов вершин, пример

Разберем задание функции пересчета весов вершин напростом примере.

x′1 =

x1 + 1, (δ1(x2) + δ1(x3) > 0) ∧ (x1 < p− 1)x1 − 1, (δ1(x2) + δ1(x3)) ∧ (x1 > 0)

x1, иначе

δ1(x2) =

x2, x2 ≥ p2

−x2, x2 <p2

δ1(x3) = −x3

49/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 143: CSEDays. Александр Семенов

Обобщенная дискретная модель генной сети: пример (p = 8)

x′j =

xj + 1,

xi∈Xj

δ(xi) > 0

∧(

xj < 7)

xj − 1,

xi∈Xj

δ(xi) < 0

∧(

xj > 0)

xj , иначе

50/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 144: CSEDays. Александр Семенов

Обобщенная дискретная модель генной сети: пример (p = 8)

x′j =

xj + 1,

xi∈Xj

δ(xi) > 0

∧(

xj < 7)

xj − 1,

xi∈Xj

δ(xi) < 0

∧(

xj > 0)

xj , иначе

50/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 145: CSEDays. Александр Семенов

Обобщенная дискретная модель генной сети: пример (p = 8)

x′j =

xj + 1,

xi∈Xj

δ(xi) > 0

∧(

xj < 7)

xj − 1,

xi∈Xj

δ(xi) < 0

∧(

xj > 0)

xj , иначе

δ1(x2) =

x2, x2 ≥ 4−x2, x2 < 4

δ2(x1) = x1 δ3(x1) = x1

δ1(x3) = −x3 δ2(x2) = −x2 δ3(x3) =

x3, x3 ≥ 4−x3, x3 < 4

δ2(x3) = −x3

50/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 146: CSEDays. Александр Семенов

Обобщенная дискретная модель генной сети: пример (p = 8)

x′j =

xj + 1,

xi∈Xj

δ(xi) > 0

∧(

xj < 7)

xj − 1,

xi∈Xj

δ(xi) < 0

∧(

xj > 0)

xj , иначе

δ1(x2) =

x2, x2 ≥ 4−x2, x2 < 4

δ2(x1) = x1 δ3(x1) = x1

δ1(x3) = −x3 δ2(x2) = −x2 δ3(x3) =

x3, x3 ≥ 4−x3, x3 < 4

δ2(x3) = −x3

δ1(x2) = 5; δ1(x3) = −4; (5 − 4 > 0) ∧ (x1 < 7) ⇒ x′1

= x1 + 1δ2(x1) = 3; δ2(x2) = −5; δ2(x3) = −4 (3 − 5 − 4 < 0) ∧ (x2 > 0) ⇒ x′

2= x2 − 1

δ3(x1) = 3;δ3(x3) = 4 (3 + 4 > 0) ∧ (x3 < 7) ⇒ x′3

= x3 + 1

50/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 147: CSEDays. Александр Семенов

Обобщенная дискретная модель генной сети на примере E.coli : общая

концепция исследования

51/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 148: CSEDays. Александр Семенов

Обобщенная дискретная модель генной сети на примере E.coli : общая

концепция исследования

51/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 149: CSEDays. Александр Семенов

Обобщенная дискретная модель генной сети на примере E.coli : общая

концепция исследования

51/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 150: CSEDays. Александр Семенов

Описание алгоритма вычисления автоматного отображения на языке ТА

(пример)

__in bit v[3][3];__out bit t[3];__out bit ve[3][3];bit vt[3][2][3];int p = 8;void F0 (int step)int hp0=v[1]*(v[1]>=p/2);int hm0=v[2]+ v[1]*(v[1]<p/2);if (hp0>hm0) & (v[0]<p-1)ve[0]=v[0]+1;else if (hp0<hm0)ve[0]=v[0]-1;else ve[0]=v[0];void F1 (int step)int hp1 = v[0];int hm1 = v[1]+v[2];if ((hp1>hm1)&(v[1]<p-1))ve[1]=v[1]+1;else if ((hp1<hm1)&(v[1]>0))ve[1]=v[1]-1;else ve[1]=v[1];void F2 (int step)int hp2=v[0]+v[2]*(v[2]>=p/2);int hm2=v[2]*(v[2]<p/2);if ((hp2 > hm2)&(v[2]<p-1))ve[2]=v[2]+1;else if ((hp2 < hm2)&(v[2]>0))ve[2]=v[2]-1;else ve[2]=v[2];void main()F0(i); F1(i); F2(i);t=(ve == v);

A =

0 1 13 2 02 2 3

52/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 151: CSEDays. Александр Семенов

Результат трансляции ТА-программы (пример)

Результатом обработки программы транслятором является система булевых уравнений илиSAT-задача (т.е. одно уравнение вида «КНФ=1»)

53/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 152: CSEDays. Александр Семенов

Результат трансляции ТА-программы (пример)

Результатом обработки программы транслятором является система булевых уравнений илиSAT-задача (т.е. одно уравнение вида «КНФ=1»)

x10 = x9∨x8∨x7⊕(x6∨x5∨x4)∧¬(x6∧x5∨x6∧x4∨¬x4∧¬x5∧x6)x11 = (x9∨x8∨x7)∧(x6∨x5∨x4)∧¬(x6∧x5∨x6∧x4∨¬x4∧¬x5∧x6)x12 = (x6∨x5∨x4)∧(x6∧x5∨x6∧x4∨¬x4∧¬x5∧x6)∧¬x10∧¬x11x13 = ¬x1x14 = x2 ⊕ x1x15 = x3 ⊕ x2 ∧ x1x16 = x3 ∧ x2 ∧ x1x17 = x10∧¬((x6∨x5∨x4)∧(x6∧x5∨x6∧x4∨¬x4∧¬x5∧x6))∧¬x11x18 = x11 ∨ x17x19 = ¬x1 ∧ ¬x2 ∨ x1 ∧ x2x20 = ¬x1 ∧ ¬x2 ∧ ¬x3 ∨ x1 ∧ x3 ∨ x2 ∧ x3x21 = x12 ∧ ¬(x1 ∧ x2 ∧ x3)x22 = x18 ∧ (x3 ∨ x2 ∨ x1)x23 = ¬(x12 ∧ ¬(x1 ∧ x2 ∧ x3)) ∧ ¬(x18 ∧ (x3 ∨ x2 ∨ x1))x24 = x21 ∧ x13 ∨ x22 ∧ ¬x1 ∨ x23 ∧ x1x25 = x21 ∧ x14 ∨ x22 ∧ x19 ∨ x23 ∧ x2x26 = x21 ∧ x15 ∨ x22 ∧ x20 ∨ x23 ∧ x3x27 = x6 ∨ x5 ∨ x4 ⊕ x9 ∨ x8 ∨ x7x28 = (x6 ∨ x5 ∨ x4) ∧ (x9 ∨ x8 ∨ x7)x29 = (x3 ∨ x2 ∨ x1) ∧ ¬x27 ∧ ¬x28x30 = ¬x4x31 = x5 ⊕ x4x32 = x6 ⊕ x5 ∧ x4x33 = x6 ∧ x5 ∧ x4x34 = x27 ∧ ¬(x3 ∨ x2 ∨ x1) ∧ ¬x28. . .

A =

0 1 13 2 02 2 3

53/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 153: CSEDays. Александр Семенов

Решение полученной SAT-задачи(пример)

Полученная КНФ подается на вход SAT-решателю. На выходе имеемлибо выполняющий набор КНФ, либо ответ «КНФ невыполнима»

54/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 154: CSEDays. Александр Семенов

Решение полученной SAT-задачи(пример)

Полученная КНФ подается на вход SAT-решателю. На выходе имеемлибо выполняющий набор КНФ, либо ответ «КНФ невыполнима»

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

54/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 155: CSEDays. Александр Семенов

Решение полученной SAT-задачи(пример)

Полученная КНФ подается на вход SAT-решателю. На выходе имеемлибо выполняющий набор КНФ, либо ответ «КНФ невыполнима»

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

Неподвижными точками отображения, определяемого сетью,представленной на слайде, при p = 8, будут наборы:

x1 x2 x3

0 0 00 0 7

A =

0 1 13 2 02 2 3

54/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 156: CSEDays. Александр Семенов

Задача исследования обобщенной дискретной модели E.сoli: поиск

неподвижных точек

Нами были найдены неподвижные точки для дискретногоотображения, задаваемого фрагментом регуляторного контура геннойсети E.coli. В численных экспериментах рассматривался фрагмент -граф на 96 вершинах.

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

При значности p = 32 были получены, например, такие неподвижныеточки:(16 31 0 31 31 0 31 0 0 0 17 0 31 0 0 0 31 0 0 31 31 0 31 31 0 0 31 31 00 31 0 0 0 17 16 16 0 16 0 31 0 0 31 0 16 16 0 0 0 0 16 0 31 0 16 0 31 00 0 16 16 0 31 16 0 16 31 16 0 1 0 0 1 0 0 0 6 16 0 0 0 16 0 0 31 31 31 00 1 31 31 2 0)(16 31 0 31 31 0 31 0 0 0 16 0 31 0 0 0 31 0 0 31 31 0 0 31 16 0 31 31 00 31 0 0 0 16 16 16 0 16 0 31 0 0 31 0 16 16 0 0 0 0 16 0 31 0 16 0 31 00 0 16 16 0 31 16 0 16 31 16 0 0 0 0 1 17 0 0 8 16 0 16 0 0 0 0 31 31 310 0 4 31 31 10 0)

55/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 157: CSEDays. Александр Семенов

Задача исследования обобщенной дискретной модели: поиск циклов на

случайных графах

0 0 3 2 0 0 0 02 0 1 0 0 3 3 01 3 2 0 0 3 3 03 3 3 2 0 1 0 30 3 2 0 1 0 1 03 2 2 2 3 2 0 11 2 2 0 1 2 3 01 1 0 3 2 3 0 0

x′j =

xj + 1,

xi∈Xj

δ(xi) > 0

∨(

xj < 15)

xj + 1,

xi∈Xj

δ(xi) < 0

∨(

xj > 0)

xj , иначе

δ′j(xi) =

1, aij = 1 ∧(

aij = 3 ∨ xi ≥ 8)

−1, aij = 2 ∧(

aij = 3 ∨ xi < 8)

0, aij = 0 ∧ xi = 0

56/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 158: CSEDays. Александр Семенов

Заключение

Представленные в докладе алгоритмы можно рассматривать каквычислительные методы, применимые к решению сложных в структурномсмысле комбинаторных задач из широкого класса.

57/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 159: CSEDays. Александр Семенов

Заключение

Представленные в докладе алгоритмы можно рассматривать каквычислительные методы, применимые к решению сложных в структурномсмысле комбинаторных задач из широкого класса.

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

57/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 160: CSEDays. Александр Семенов

Заключение

Представленные в докладе алгоритмы можно рассматривать каквычислительные методы, применимые к решению сложных в структурномсмысле комбинаторных задач из широкого класса.

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

На данный момент, класс задач, в которых востребованы алгоритмы,использующие SAT и BDD, включает в себя задачи Hardware/Softwareверификации (Model Checking), задачи биоинформатики, задачи криптоанализа.Можно надеяться, что этот класс задач будет и дальше расширяться.

57/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа

Page 161: CSEDays. Александр Семенов

Спасибо за внимание!

58/58 А. А. Семенов SAT и BDD-подходы к решению задач криптоанализа