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

Post on 22-May-2015

967 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

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

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

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

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

Иркутск

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

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

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

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

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

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

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

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

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

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

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

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

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

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-подходы к решению задач криптоанализа

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

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

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

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

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

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

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

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

fn : 0, 1n → 0, 1

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Далее мы рассматриваем семейства функций вида 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-подходы к решению задач криптоанализа

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

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

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

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

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

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-подходы к решению задач криптоанализа

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

Рисунок взят из статьи Бирюкова, Шамира, Вагнера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-подходы к решению задач криптоанализа

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

Рисунок взят из статьи Бирюкова, Шамира, Вагнера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-подходы к решению задач криптоанализа

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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-подходы к решению задач криптоанализа

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

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

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-подходы к решению задач криптоанализа

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

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

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-подходы к решению задач криптоанализа

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вывод

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

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

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

SAT-подход

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

Плюсы:

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

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

Минусы:

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

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

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

SAT-подход

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

Плюсы:

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

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

Минусы:

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

BDD-подход

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

Плюсы:

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

Минусы:

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

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

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

SAT-подход

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

Плюсы:

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

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

Минусы:

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

BDD-подход

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

Плюсы:

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

Минусы:

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

SAT+ROBDD

. . .

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

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

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

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

Решение булевых уравнений в задачах криптоанализа. 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-подходы к решению задач криптоанализа

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

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

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

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

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

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

C = D1 · . . . ·Dm,

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

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

Решение булевых уравнений в задачах криптоанализа. 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-подходы к решению задач криптоанализа

Решение булевых уравнений в задачах криптоанализа. 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-подходы к решению задач криптоанализа

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

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

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

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

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

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

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

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

Пусть задана формула: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-подходы к решению задач криптоанализа

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

Пусть задана формула: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-подходы к решению задач криптоанализа

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

Пусть задана формула: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-подходы к решению задач криптоанализа

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

Пусть задана формула: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-подходы к решению задач криптоанализа

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

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

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

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

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

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

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

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

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

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

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

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

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

Алгоритмы 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-подходы к решению задач криптоанализа

Алгоритмы 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-подходы к решению задач криптоанализа

Алгоритмы 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-подходы к решению задач криптоанализа

Алгоритмы 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-подходы к решению задач криптоанализа

Алгоритмы 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-подходы к решению задач криптоанализа

Алгоритмы 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-подходы к решению задач криптоанализа

Пример работы алгоритма 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-подходы к решению задач криптоанализа

Пример работы алгоритма 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-подходы к решению задач криптоанализа

Пример работы алгоритма 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-подходы к решению задач криптоанализа

Пример работы алгоритма 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-подходы к решению задач криптоанализа

Пример работы алгоритма 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-подходы к решению задач криптоанализа

Пример работы алгоритма 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-подходы к решению задач криптоанализа

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

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

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

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

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

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

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

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

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

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

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

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

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

MiniSat (2003-2010 г.)

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

Современные 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-подходы к решению задач криптоанализа

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример

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

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

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

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

Пример

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

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

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

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

Пример

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

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

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

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

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

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

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

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

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

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

Алгоритм 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-подходы к решению задач криптоанализа

Алгоритм 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-подходы к решению задач криптоанализа

Алгоритм 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-подходы к решению задач криптоанализа

Алгоритм Apply

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

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

Алгоритм Apply

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

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

Алгоритм Apply

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

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

Алгоритм Apply

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

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

Алгоритм Apply

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

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

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

Алгоритм 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-подходы к решению задач криптоанализа

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

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

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

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

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

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

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

О некоторых свойствах 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-подходы к решению задач криптоанализа

О некоторых свойствах 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-подходы к решению задач криптоанализа

О некоторых свойствах 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-подходы к решению задач криптоанализа

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

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

Возможность использования 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-подходы к решению задач криптоанализа

Возможность использования 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-подходы к решению задач криптоанализа

Криптоанализ генератора 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-подходы к решению задач криптоанализа

Криптоанализ генератора 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-подходы к решению задач криптоанализа

Криптоанализ генератора 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-подходы к решению задач криптоанализа

Криптоанализ генератора 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-подходы к решению задач криптоанализа

SAT-решатели

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

ahttp://minisat.se/MiniSat.html

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

SAT-решатели

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

ahttp://minisat.se/MiniSat.html

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

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

SAT-решатели

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

ahttp://minisat.se/MiniSat.html

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

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

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

SAT-решатели

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

ahttp://minisat.se/MiniSat.html

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

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

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

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

SAT-решатели

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

ahttp://minisat.se/MiniSat.html

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

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

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

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

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

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

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

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

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

Пусть 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-подходы к решению задач криптоанализа

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

Пусть 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-подходы к решению задач криптоанализа

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

Пусть 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-подходы к решению задач криптоанализа

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

Декомпозиционное множество 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-подходы к решению задач криптоанализа

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

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

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

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

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

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

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

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

789 1

4039

2345610111213141516171819

20313233343536373841

6261 53545556575859606364

212223242526272829

42434445464748495051

30

52

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

Криптоанализ генератора 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-подходы к решению задач криптоанализа

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

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

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

Криптоанализ генератора 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-подходы к решению задач криптоанализа

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

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

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

Криптоанализ генератора 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-подходы к решению задач криптоанализа

Криптоанализ генератора 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-подходы к решению задач криптоанализа

Криптоанализ генератора 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-подходы к решению задач криптоанализа

Криптоанализ генератора 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-подходы к решению задач криптоанализа

Криптоанализ генератора 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-подходы к решению задач криптоанализа

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

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

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

Криптоанализ генератора 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-подходы к решению задач криптоанализа

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Обобщенная дискретная модель генной сети

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

Обобщенная дискретная модель генной сети

Граф, задающий фрагмент генной сети 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-подходы к решению задач криптоанализа

Обобщенная дискретная модель генной сети на примере 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-подходы к решению задач криптоанализа

Обобщенная дискретная модель генной сети на примере 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-подходы к решению задач криптоанализа

Обобщенная дискретная модель генной сети на примере 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-подходы к решению задач криптоанализа

Обобщенная дискретная модель генной сети: пример (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-подходы к решению задач криптоанализа

Обобщенная дискретная модель генной сети: пример (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-подходы к решению задач криптоанализа

Обобщенная дискретная модель генной сети: пример (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-подходы к решению задач криптоанализа

Обобщенная дискретная модель генной сети: пример (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-подходы к решению задач криптоанализа

Обобщенная дискретная модель генной сети на примере E.coli : общая

концепция исследования

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

Обобщенная дискретная модель генной сети на примере E.coli : общая

концепция исследования

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

Обобщенная дискретная модель генной сети на примере E.coli : общая

концепция исследования

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

Описание алгоритма вычисления автоматного отображения на языке ТА

(пример)

__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-подходы к решению задач криптоанализа

Результат трансляции ТА-программы (пример)

Результатом обработки программы транслятором является система булевых уравнений илиSAT-задача (т.е. одно уравнение вида «КНФ=1»)

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

Результат трансляции ТА-программы (пример)

Результатом обработки программы транслятором является система булевых уравнений или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-подходы к решению задач криптоанализа

Решение полученной SAT-задачи(пример)

Полученная КНФ подается на вход SAT-решателю. На выходе имеемлибо выполняющий набор КНФ, либо ответ «КНФ невыполнима»

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

Решение полученной SAT-задачи(пример)

Полученная КНФ подается на вход SAT-решателю. На выходе имеемлибо выполняющий набор КНФ, либо ответ «КНФ невыполнима»

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

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

Решение полученной SAT-задачи(пример)

Полученная КНФ подается на вход SAT-решателю. На выходе имеемлибо выполняющий набор КНФ, либо ответ «КНФ невыполнима»

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

Неподвижными точками отображения, определяемого сетью,представленной на слайде, при p = 8, будут наборы:

x1 x2 x3

0 0 00 0 7

A =

0 1 13 2 02 2 3

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

Задача исследования обобщенной дискретной модели 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-подходы к решению задач криптоанализа

Задача исследования обобщенной дискретной модели: поиск циклов на

случайных графах

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-подходы к решению задач криптоанализа

Заключение

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

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

Заключение

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

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

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

Заключение

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

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

На данный момент, класс задач, в которых востребованы алгоритмы,использующие SAT и BDD, включает в себя задачи Hardware/Softwareверификации (Model Checking), задачи биоинформатики, задачи криптоанализа.Можно надеяться, что этот класс задач будет и дальше расширяться.

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

Спасибо за внимание!

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

top related