Непрерывные аппроксимации решения задачи "выполнимость" применительно к криптографическому анализу асимметричных шифров

Автор: Дулькейт Владимир Игоревич, Файзуллин Рашит Тагирович

Журнал: Компьютерная оптика @computer-optics

Рубрика: Обработка изображений: Восстановление изображений, выявление признаков, распознавание образов

Статья в выпуске: 1 т.33, 2009 года.

Бесплатный доступ

Одной из наиболее интересных задач дискретной математики является задача поиска решающего набора в задаче ВЫПОЛНИМОСТЬ. Перспективным направлением в построении методов решения представляется сведение задачи к непрерывному поиску точек глобального минимума, ассоциированного с конъюнктивной нормальной формой (КНФ) функционала. В данной работе обосновывается выбор функционала специального вида и предлагается применить к решению системы нелинейных алгебраических уравнений, определяющих стационарные точки функционала, модифицированный метод последовательных приближений. В работе показано, что метод поддается распараллеливанию. Рассматривается схема применения метода к важным задачам криптографического анализа несимметричных шифров, в том числе для определения некоторых бит двоичного представления неизвестных сомножителей в задачах факторизации больших размерностей.

Еще

Кнф, выполнимость, резолюция, минимизация, криптографический анализ, факторизация

Короткий адрес: https://sciup.org/14058867

IDR: 14058867

Текст научной статьи Непрерывные аппроксимации решения задачи "выполнимость" применительно к криптографическому анализу асимметричных шифров

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

Основным подходом проверки криптографической стойкости асимметричных шифров в настоящее время являются алгоритмы числового решета в поле чисел общего вида [12] и различные модификации алгоритмов ρ- и λ- Полларда, основывающиеся на детерминированном случайном блуждании по группе [11]. Сообщения, появляющиеся время от времени, лишь подтверждают стойкость известных алгоритмов. Например, для факторизации чисел «рабочих» размерностей (~1000 бит) требуется задействовать на несколько месяцев вычислительные мощности кластеров из самых верхних позиций списка Топ-500. То есть увеличение длины ключа в полтора или два раза решает вопрос о криптостойкости принципиально.

Совершенно новой альтернативой алгебраическому подходу является так называемый логический криптоанализ, когда криптографический алгоритм рассматривается как программа для машины Тьюринга и подстановка открытого и шифрованного текстов в эту программу естественным образом приводит к задаче ВЫПОЛНИМОСТЬ для КНФ[9]. Часть выполняющего набора является ключом алгоритма. Идея такого подхода была впервые предложена в работе [8]. Как показал опыт, применение переборных алгоритмов, с частью из которых можно ознакомиться в обзоре [10], сталкивается с принципиальными трудностями, связанными с размерностями задач. Естественно, возникает идея перехода к непрерывным моделям, когда поиск выполнимого набора для КНФ осуществляется как поиск минимума ассоциированного с КНФ функционала. Впервые эта идея была реализована в работах [3, 4]. Были предприняты попытки связать задачу минимизации с некой физической моделью, так, в работе [5] была предложена модель химической кинетики, а в работе [6] - гравитационная аналогия. Обратим внимание на то, что имеется принципиальное отличие непрерывных методов от переборных алгоритмов локального поиска, - сдвиг по антиградиенту происходит по всем переменным сразу. Также, априори известно, что глобальный минимум функционала единственен и в случае, когда локальных минимумов и других особых точек нет, минимизация происходит эффективно. С другой стороны, нет необходимости в том, чтобы «точно» определить все биты ключа. Достаточно той информации, что набор бит, или ключа, или множества бит, однозначно определяющего ключ, совпадает с точным решением с вероятностью значимо большей, чем 0,5. А в результате применения итерационных методов можно надеяться на то, что мы сможем «подобраться» к такой окрестности достаточно близко. Таким образом, проверка известных в настоящее время алгоритмов на стойкость к поиску глобального экстремума является новым и необходимым тестом.

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

Переход от КНФ к ассоциированным функционалам

Пусть дана КНФ на множестве булевых переменных y BN {0,1} :

M

L ( У ) = a C i ( y ), где i = 1

M

C i ( У ) = V l ( y j ), l ( y j ) = y j или y, . j e {1... N } J             J J J

Введем вещественные переменные x e R n [0,1] такие, что x соответствует булевой переменной y , а (1 - x )2 соответствует ее отрицанию.

Рассмотрим переход от задачи ВЫПОЛНИМОСТЬ (SAT) к задаче поиска глобального минимума функционала вида (1):

M min F(x)=e Ci (x), где xe Rn [0,1]         “1

C i (x ) = fl Q , y ( х , ), где                         (1)

j = 1

x 2 ,      если y j - e c i ( x )

Q i,j ( x j ) = I (1 x , ) , если y j - e C i ( x ).

1,

иначе

Суммирование ведется по всем M конъюнктам ДНФ, эквивалентной исходной КНФ. Переход от булевой формулы к вещественной основан на использовании соответствия:

yi V yj ^ xi + x j

< y i . Л y j ^ x2x2   , где { y i . e B , x i e R } .

, y      - (1 - x i .)

Легко заметить, что min F ( x ) = 0 соответст- x e R n [0,1]

вует достижению значения ИСТИНА на исходной КНФ.

Дифференцируя функционал по всем переменным xi , получим систему уравнений:

E z 2 z 2 ... x i = E z 2 z 2.. , i = 1,2,.. P , где §eE             £еЛ

[ x i ,        если y i e c i ( y )

zi = 1

[ (1 - x i ), если y i e c i ( y )

E= { ^ , i e^ : x i e c i ( x ) }

Л = { ^ , i e^ : x i e c i ( x ) } .

Как показано в [1], применение метода Ньютона к решению данного уравнения неэффективно, т.к. решение принадлежит ядру производного оператора. Как альтернатива был предложен метод последовательных приближений с «инерцией»:

K

EE ^ x i ( t P ) 2 x , ( t - k ) 2

p = 0 ^e =

x k ( t + 1) =

= E x j ( t ) x ^ 2( t )~ A x i ( t + 1) = B                  (3)

^ел              def

E a p = 1, a p e R [0,1].

p = 1

Имеется в виду, что итерации проводятся для вещественных чисел, а итоговый или промежуточный вектор проектируется на BN {0,1}, и уже на булевом векторе проверяется ВЫПОЛНИМОСТЬ. Ниже описаны различные модификации метода последовательных приближений с «инерцией» и показаны способы повышения эффективности алгоритма.

Гибридизация алгоритма

Исходная КНФ преобразуется методом резолюции [7], это позволяет получить КНФ с меньшим количеством дизъюнктов и литералов, эквивалентную исходной.

Два дизъюнкта разрешимы относительно бинарной резолюции (бинарно-разрешимы), если они совпадают хотя бы по одной переменной, которая входит в один дизъюнкт с отрицанием, а в другой - без. Бинарно разрешимые дизъюнкты имеют вид:

x V P, x V Q.

Резольвентой бинарно-разрешимых дизъюнктов (бинарной резольвентой) называется дизъюнкт P V Q. Все возможные бинарные резольвенты с помощью операции дизъюнкции добавляются к КНФ и используются для вычисления других резольвент. Процедура ограничивается глубиной рекурсии 1. Дублирующие конъюнкты и тавтологии удаляются. Вычислительная сложность процедуры O(n⋅log(n)).

Основная процедура состоит из последовательных итераций, которые совмещают метод последовательных приближений и сдвиг по антиградиенту, т.к. правая часть (2) - это хотя и градиент исходного функционала, но решения (2) - это всего лишь стационарные точки функционала. Например, если генерировать КНФ по заданной строке бит, случайно строя скобки, так, чтобы строка бит была решающим набором итоговой КНФ, то представительство литералов и их отрицаний будет одинаковым. Это означает, что ассоциированный функционал имеет «квазистационарную» точку с координатами 0,5 для каждой переменной, т.к. Ai ~ 2 Bi . В случае же, когда представительство литералов неравное, то подобные «квазистационарные» точки могут быть произвольными. Например, генерируя случайную систему уравнений и сводя задачу к поиску решающего набора КНФ, мы получаем уже существенно неравное представительство литералов. В этом случае квази-стационарным точкам будут соответствовать решения неопределенных систем, получаемые из исходной системы исключением всего нескольких уравнений. Число таких точек растет экспоненциально с ростом размерности системы, и итерационная процедура поиска стационарной точки, интересующей нас как отвечающей точке минимума, практически перестает сходиться, что и подтверждается экспериментально.

Итерация состоит из двух блоков. Первый блок определяется формулой (3), используется схема Зейделя. Второй блок – реализация сдвига по антиградиенту: x ( t + 1) = 2 x ( t ) - B / A [1].

При приближении к решению скорость сходимости может сильно уменьшаться, одна из возможных причин этого в том, что траектория, образованная последовательными приближениями, «зацикливается» в областях локальных минимумов функционала. Метод смены траектории позволяет выйти из локального минимума с помощью формирования нового вектора приближения, который бы обладал свойствами не худшими, чем текущий вектор приближения, но позволял бы продолжить поиск решения [1].

Распараллеливание алгоритма

Гибридный алгоритм допускает целый набор способов распараллеливания, приведем один из них.

ДНФ, эквивалентная исходной КНФ, делится на две независимые части (подформулы). Векторы решений для подформул определяют точки в n -мерном пространстве. Между полученными точками проводится отрезок прямой. «Двигаясь» по этой прямой с некоторым шагом l, можно вычислить вектора { xl } по формуле

A IХц - x^ I , xli = minXu, x2i) +-----------l .

k

Вектор {xl}, при котором значение функционала (1) минимально, становится новым начальным набором приближений для итерационной процедуры, которая запускается для функционала, ассоциированного со всей формулой.

Описанная процедура позволяет максимально приблизиться к решению. В формуле остаётся до 2% дизъюнктов невыполнимыми. При этом около 2,5% переменных остаются неопределенными, то есть независимо от того, какое значение они будут принимать, выполнимые скобки будут по-прежнему принимать значение ИСТИНА.

Тестирование метода

Для тестирования разработанного алгоритма использовалось несколько типов примеров: тесты с соревнований решателей SAT 2005 года [13], тесты специализированной библиотеки SATLib [14], тесты, сформированные для задачи факторизации, тесты больших размерностей, сформированные псевдослучайным заполнением дизъюнктов.

Результаты тестирования однопроцессорной реализации алгоритма для тестовых задач различных серий из библиотеки SATLib представлены в табл.1.

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

Таблица 1. Результаты численных экспериментов для тестовых задач из SATLib

Наименование теста

Количество литералов (N)

Количество дизъюнктов (M)

Число тестов

% решенных тестов

Максимальное число итераций

Backbone-minimal Sub-instances (формулы с минимальным хребтом), 3-SAT

RTI

100

429

500

98,6

19988

BMS

100

<429

500

79,8

29831

Controlled Backbone Size Instances (формулы с хребтом фикси

рованного размера, b), 3-SAT

CBS_b10

100

403

1000

100

38972

CBS_b10

100

449

1000

100

38880

CBS_b90

100

449

1000

98

29738

Uniform Random 3-SAT (UF)

UF20-91

20

91

1000

100

448

UF250-1065

250

1065

100

98

9731

Задачи, ассоциированные с оптимизационным вариантом задачи «раскраска графа»

FLAT30-60

90

300

100

100

4317

Таблица 2. Результаты численных экспериментов параллельного алгоритма для тестовых задач из SATLib

Наименование теста

Количество литералов (N)

Количество дизъюнктов (M)

% решенных тестов

Число итераций необходимое для решения:

Части КНФ

Всей КНФ

RTI

100

429

100

10

14

BMS

100

<429

100

7

14

sat05-1663

2000

8400

99

20

200

sat05-1676

4000

16800

99

20

200

sat05-1656

12000

50400

99

20

200

UF20-91

20

91

100

10

14

UF250-1065

250

1065

100

20

21

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

Была исследована схема применения метода для решения задач криптографического анализа. Конъюнктивные нормальные формы, ассоциированные с задачами факторизации, дискретного логарифмирования и дискретного логарифмирования на эллиптической кривой рассматриваются в работах [2]. Оценка роста числа дизъюнктов и скобок в зависимости от размерности задачи ( N ) дает нам величину CN 2, C 10 для задачи факторизации и C 1 N 3, C 2 N 3, C 1 100, C 2 1000 для задач дискретного логарифмирования и дискретного логарифмирования на эллиптической кривой. Метод резолюций в применении к КНФ для факторизации уменьшает число дизъюнктов более чем в 2 раза, а в применении к задаче дискретного логарифмирования позволяет уменьшить число переменных на два порядка, что приводит к относительно приемлемым цифрам для массива данных.

В рамках работы проводились исследования близости формируемых методом векторов приближений к вектору решения для задач факторизации больших размерностей. В качестве исходного материала для тестирования были выбраны по 10 независимых примеров размерностей 1024, 2048, 3072 бит. На каждой итерации метода последовательных приближений с «инерцией» проводилось сравнение компонент вектора приближений с соответствующими компонентами вектора решений с целью подсчета числа совпадающих компонент (битов). При этом производилось по 10 стартов со случайно сформированного вектора начального приближения. На рис. 1 показано поведение процентного отношения верно сформированных бит на соответствую-

Рис. 1. Процент совпадающих (верных) бит вектора приближения и вектора решения в зависимости от итерации

Результаты показывают стабильное формирование 68% верных бит при росте размерности задачи. Максимальное (минимальное) число совпадающих бит так же стабильно - 68,3% (67,7%). При этом число верно определенных бит, отвечающих именно битам сомножителей, приблизительно равно 67,9%. Примечательно то, что результат достигается всего за 500-1000 итераций, стартуя со случайно сформированного приближения.

На рис. 2 представлены результаты формирования среднего и максимального числа верно определенных бит при увеличении длины ключа. Отметим, что найденные переменные являются ключевыми для решения задачи, т.е. после подстановки их верных значений в исходную КНФ формула оказывается легко разрешимой относительно оставшихся пе-

Размерность задачи факторизации, бит

Рис. 2. Процент совпадающих (верных) бит вектора приближения и вектора решения в зависимости от размерности задачи

Среднеквадратичное отклонение статистических данных не превышает 10 - 2. Это говорит о стабильном поведении метода на данном типе задач.

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

Одним из таких тестов может служить проверка обстоятельства кластеризации ненулевых строк в матрице умножения классическим «столбиком» числа p на число q в двоичной системе счисления. Каждая строка матрицы умножения состоит либо из нулей, либо из бит числа p . Аналогично, столбец матрицы умножения будет или нулевым столбцом, или столбцом, в котором записано число q . Подставляя в данную матрицу найденные вектора приближений и сравнивая строки и столбцы получившейся матрицы соответственно с p , q или нулевым вектором, можно с определенной долей вероятности выявлять значения неизвестных. Повторяя данную процедуру с различными векторами приближений, можно строить методы голосования, повышающие вероятность определения верных значений неизвестных.

В табл. 3 представлены значения вероятностей верного определения значений бит для 31 независимого примера с помощью данного теста (при размерности чисел сомножителей 256 бит). Так, для задачи факторизации числа длиной 512 бит с вероятностью большей или равной 0,8 определяются биты 1, 13, 46, 73, 86, 101, 142, 217, 255 каждого из сомножителей.

Таблица 3. Результаты численных экспериментов по определению наиболее вероятных бит в сомножителях факторизуемого числа размерности 512 бит

Число совпадений с точным решением в 31 тесте

Частота сов-падения, %

Количество совпавших бит

Доля совпавших бит в процентах от общего числа неизвестных бит (от 512 бит сомножителей), %

31

100

2

0,4

30

96,77

1

0,2

26

83,87

1

0,2

25

80,65

1

0,2

24

77,42

2

0,4

23

74,19

8

1,6

22

70,97

9

1,8

21

67,74

21

4,1

20

64,52

50

9,8

19

61,29

66

12,9

Сумма

161

31,45

Дополнительным тестом является то обстоятельст- во, что функционал (1) после подстановки верных значений указанных бит в исходную КНФ принимает значение меньшее, чем после подстановки их неверных значений. Это позволяет практически точно определять расстановку нулей и единиц в позициях 1, 13, 46, 73, 86, 101, 217, 255. В табл. 4 приведены результаты численных экспериментов по данному тесту.

Таблица 4. Результаты численных экспериментов по определению наиболее вероятных бит в сомножителях факторизуемого числа размерности 512 бит методом сравнения значений функционала (усредненные значения для 30 тестовых КНФ)

Тестируемый бит

Значение функционала при подстановке:

Разница значений функционалов

верного значения тестируемого бита

неверного значения тестируемого бита

13

261,2

263,7

- 2,5

46

260,8

263,5

- 2,7

73

263,0

265,0

- 2,0

86

254,5

256,7

- 2,2

101

255,0

257,3

- 2,3

142

263,2

259,8

+ 3,4

217

263,7

266,9

- 3,2

Аналогичные результаты получены и при выборках из двух и более бит. Полученные результаты ставят под сомнение криптографическую стойкость алгоритма RSA, так как распараллеливание по вариантам и выбор тех вариантов расстановки нулей и единиц в позиции 13, 46,.., при которых значение функционала минимально, позволяет практически точно определять биты сомножителей с номерами 13, 46, ....

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

Статья научная