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

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

CC BY
187
27
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
ПОСТКВАНТОВАЯ КРИПТОГРАФИЯ / POST-QUANTUM CRYPTOGRAPHY / POLYNOMIAL ATTACK / DIGITAL SIGNATURE / REED-MULLER CODES

Аннотация научной статьи по математике, автор научной работы — Чижов Иван Владимирович, Ташевцева Наталия Павловна

В работе предлагается алгоритм, который по входу задачи криптоаналитика поиска секретных ключей схемы электронно-цифровой подписи pqsigRM строит эквивалентный ему вход задачи ВЫПОЛНИМОСТИ КНФ. Доказано, что этот алгоритм является полиномиальным. Приводятся теоретические оценки параметров полученной КНФ - длины и количества входящих в нее переменных. В ходе исследования была предложена практическая реализация на Python алгоритма сводимости, то есть алгоритм создания соответствующей КНФ в DIMACS формате для любых параметров r,m схемы pqsigRM. В работе приводятся результаты экспериментов запуска этой реализации на некоторых параметрах схемы и результаты экспериментов по решению задачи выполнимости полученных КНФ для некоторых параметров r,m изначальной задачи криптоаналитика, различными SAT-решателями с открытым исходным кодом - победителями и призерами конкурса SAT Competition 2018, SAT Race 2019, а также более ранними версиями, которые были использованы ранее для криптоанализа системы Мак-Элиса. Описаны параметры схемы ЭЦП pqsigRM, для которых атака применима, т.е. можно подобрать секретные ключи.

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

Похожие темы научных работ по математике , автор научной работы — Чижов Иван Владимирович, Ташевцева Наталия Павловна

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

LOGICAL CRYPTANALYSIS AS PART OF STRENGTH RESEARCH INTO PARTICULAR CODE-BASED SIGNATURE SCHEME

The authors propose an algorithm, which converts input for the cryptoanalyst problem of revealing secret keys of Code-Based Signature Scheme pqsigRM to an equal input for the SATISFIABILITY problem. It is proved in the paper, that the proposed attack is polynomial. The set of parameters of resulting CNF - length and the number of used variables, are theoretically assessed. The practical implementation of the proposed algorithm on Python is developed, which effectively creates the desired CNF in DIMACS format based on arbitrary pgsigRM scheme parameters r,m. Furthermore, the article contains experiment results, including execution results of the designed program for some values of r and m and performance of several open-source SAT-solvers, winners of SAT Competition 2018 and SAT Race 2019 combined with other solvers used earlier for McEliece cryptosystem analysis, on solving the satisfiability problem for the resulting CNF for some values of r,m parameters of original cryptoanalyst problem. A set of parameters for which attack can be applied, that is the secret keys can be recovered, is described.

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

Логический криптоанализ в исследовании стойкости одной схемы кодовой подписи

И. В. Чижов, Н. П. Ташевцева

Аннотация—В работе предлагается алгоритм, который по входу задачи криптоаналитика поиска секретных ключей схемы электронно-цифровой подписи pqsigRM строит эквивалентный ему вход задачи ВЫПОЛНИМОСТИ КНФ. Доказано, что этот алгоритм является полиномиальным. Приводятся теоретические оценки параметров полученной КНФ - длины и количества входящих в нее переменных. В ходе исследования была предложена практическая реализация на Python алгоритма сводимости, то есть алгоритм создания соответствующей КНФ в DIMACS формате для любых параметров r, m схемы pqsigRM. В работе приводятся результаты экспериментов запуска этой реализации на некоторых параметрах схемы и результаты экспериментов по решению задачи выполнимости полученных КНФ для некоторых параметров r, m изначальной задачи крипто-аналитика, различными SAT-решателями с открытым исходным кодом - победителями и призерами конкурса SAT Competition 2018, SAT Race 2019, а также более ранними версиями, которые были использованы ранее для криптоанализа системы Мак-Элиса. Описаны параметры схемы ЭЦП pqsigRM, для которых атака применима, т.е. можно подобрать секретные ключи.

Ключевые слова—Постквантовая криптография, полиномиальная атака, электронно-цифровая подпись, коды Рида-Маллера

I. Введение

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

С каждым годом мы становимся все ближе к созданию квантового компьютера [2], [3]. Помимо того, что существует множество прототипов, еще в 2000-х были созданы первые небольшие регистры [4], состоящие всего из нескольких квантовых битов, и первые 5-битные квантовые вычислительные системы. Пока непонятно, когда именно будут созданы полноценные квантовые вычислительные системы, однако, некоторые ученые, работающие над их разработкой, предсказывают создание квантового компьютера, способного взломать 2000-

Статья получена 25 сентября 2020

Иван Владимирович Чижов, МГУ им. М. В. Ломоносова, Федеральный исследовательский центр «Информатика и управление» РАН, АО «НПК «Криптонит»» (email: ichizhov@cs.msu.ru).

Наталия Павловна Ташевцева, МГУ им. М.В. Ломоносова, ООО «АТ Груп», (email: ntashevtseva@gmail.com).

Работа частично поддержана грантом РФФИ №182903124мк

битный RSA, до 2030 года [5]. В случае появления многокубитного квантового компьютера все современные криптографические механизмы с открытым ключом станут нестойкими.

Национальный институт стандартов и технологий США (NIST) уже официально объявил о необходимости перехода к криптографии, устойчивой к атакам, использующим квантовый компьютер. В России Техническим комитетом 26 по стандартизации «Криптографическая защита информации» создана отдельная группа по «Постквантовым криптографическим механизмам», занимающаяся исследованиями и вопросами стандартизации в области постквантовой криптографии.

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

Одними из основных претендентов на замену являются кодовые криптосистемы Мак-Элиса и Нидеррай-тера, стойкость которых основана на сложности задачи декодирования полных линейных кодов, а в качестве проверочной (или порождающей) матрицы берется некоторая случайная матрица. В 1978 году Роберт Мак-Элис предложил первую криптосистему, основанную на алгебраическом блоковом кодировании и использующую в процессе шифрования рандомизацию [6]. Эта криптосистема использует двоичные коды Гоппы, и идея ее построения основана на максировке линейного кода с эффективным алгоритмом декодирования под случайный код без видимой структуры, а как известно, общая задача декодирования являестя NP-полной [7]. Г. Нидеррайтер в 1986 г. предложил модифицировать криптосистему Мак-Элиса, заменив коды Гоппы на коды Рида-Соломона [8]. Плюсом системы Нидеррайтера является то, что она может быть использована для создания ЭЦП. Однако такая система, построенная на кодах Рида-Соломона, оказалась нестойкой и в 1992 году В. М. Сидельников и С. О. Шестаков построили атаку [9] - показали, что можно восстановить структуру секретного ключа по открытому

и подобрать такие новые секретные матрицы S', H', что Hpub = S'H'. Также В. М. Сидельниковым в 1994 году было показано, что атака на систему Нидеррайтера может быть полиномиально сведена к атаке на систему Мак-Элиса и обратно [10].

Поэтому В. М. Сидельников в 1994 году предложил заменить коды Гоппы в системе Мак-Элиса на коды Рида-Маллера. Однако, криптографический анализ [10] этой системы, а позднее субэкспоненциальный алгоритм атаки Миндера-Шокролахи [11] и полиномальный ало-гритм атаки Чижова-Бородина [12] для большого числа практических параметров, доказали ее недостаточную стойкость.

В 2016 году на конкурсе квантово-устойчивых криптографических механизмов, организованном NIST с целью выбора американского стандарта, была представлена новая ЭЦП pqsigRM, основанная на модифицированных кодах Рида-Маллера [13]. Эта схема является улучшением теоретико-кодовой схемы подписи, разработанной Н. Куртуа, М. Финиазом и Н. Сендриером (N. Courtois, M. Finiazs, N. Sendrier - CFS) [14]. CFS является первым стойким алгоритмом формирования и проверки ЭЦП, использующим алгебраические коды, до этого считалось, что такую схему, например, на основе криптосистемы Мак-Элиса, построить невозможно. CFS протокол ЭЦП основан на криптосистеме Нидеррайтера и его стойкость сводится к сложности решения задачи синдромного декодирования и задачи различимости перестановочных кодов Гоппы от случайных. ЭЦП по схеме CFS имеет высокую стойкость к атакам с использованием квантового вычислителя, в то же время ее очевидным недостатком является высокая трудоемкость формирования ЭЦП. Для формирования подписи по схеме CFS необходимо найти синдром, соответствующий вектору ошибки веса, не превосходящего исправляющей способности кода, поэтому трудоёмкость формирования ЭЦП существенно зависит от вероятности появления такого вектора в случайной выборке из всего пространства и растет как факториал от исправляющей способности кода. Коды Рида-Маллера исправляют много ошибок, поэтому их использование значительно бы улучшило скорость формирования ЭЦП.

В работе [13] описывается модификация схемы подписи, где для начала предлагается заменить коды Гоппы на коды Рида-Маллера в CFS. Однако только замена кодов Гоппы РМ-кодами в CFS не гарантирует устойчивость к некоторым известным атакам. Криптосистема Мак-Элиса, основанная на кодах Рида-Маллера, не устойчива к атаке Миндера-Шокролахи и атаке Чижова-Бородина. Поэтому для защиты от этих атак предлагается модификация, главная идея которой заключается в формировании матрицы кода, на основе которого строится схема подписи, из порождающих матриц кода Рида-Маллера, испорченных частичной перестановкой их столбцов.

В работе проводится логический криптоанализ схемы ЭЦП pqsigRM. Основная его идея состоит в сведении решения задачи криптоаналитика к поиску вектора, на котором выполнима БФ, представленная в виде КНФ - важному виду задачи теории сложности «о ВЫПОЛНИМОСТИ БУЛЕВОЙ ФОРМУЛЫ» (SAT задача -«SATisfiability problem»). Несмотря на то, что С. Куком в 1971 г. была доказана NP-полнота этой задачи [15], существуют подходы, позволяющие для некоторых типов

КНФ ускорять алгоритмы определения выполнимости БФ, а также использовать распределенные алгоритмы, что дает возможность параллелизовать исходную задачу криптоаналитика. Именно эти подходы используются для создания SAT-решателей - программ, позволяющих найти решение задачи ВЫПОЛНИМОСТИ КНФ. История их развития началась еще до доказательства теоремы Кука-Левина, в 1960-х годах с создания Дэвисом и Путнамом классических дедуктивных методов для решения SAT задачи и продолжается до сих пор. Каждый год проводится конкурс SAT-решателей в различных номинациях.

Возжность применения логического криптоанализа к кодовым системам исследовалась ранее в работе М. Бородина [16]. В ней была предложена атака на криптосистему Мак-Элиса, построенную на основе двоичных кодов Рида-Маллера, посредством сведения задачи нахождения секретного ключа к задаче ВЫПОЛНИМОСТИ КНФ, и установлено, что параметры получающейся КНФ не превосходят полинома 2-й степени от длины кода.

В настоящей работе предлагается использовать особенности структуры порождающей матрицы новой схемы ЭЦП pqsigRM и особенности процесса генерации публичного ключа для сведения исходной задачи крип-тоаналитика поиска ключей формирования подписи к задаче ВЫПОЛНИМОСТЬ КНФ, строится полиномиальный алгоритм, который по входу задачи криптоаналитика строит эквивалентный ему вход задачи ВЫПОЛНИМОСТИ КНФ. Приводятся результаты экспериментов запуска этой реализации на некоторых параметрах. Помимо этого в работе представлены результаты экспериментов по решению задачи выполнимости полученных КНФ для некоторых параметров изначальной задачи крипто-аналитика, различными open-source SAT-решателями -победителями и призерами конкурса SAT Competition 2018, SAT Race 2019, а также более ранними версиями, которые были использованы в работе [16] для криптоанализа системы Мак-Элиса. Также установлены некоторые параметры схемы ЭЦП pqsigRM, для которых атака применима, то есть можно подобрать секретные ключи.

II. Коды Рида-Маллера

Пусть x = (xi,...,xn) и y = (y1,...,yn) — векторы над полем F2. Тогда обозначим скалярное произведение векторов x и y как число x • y G F2 : x • y = x1 • y1 ф x2 • y2 + ... ф xn • yn, где ф — сумма по по модулю 2. Векторы, скалярное произведение которых равно нулю, принято называть ортогональными.

Определение 1. Линейный [n, k] - код является произвольным линейным подпространством C размерности k пространства F^ где Fq - конечное поле из q элементов. Параметр n — длина кода, k — размерность кода.

Рассмотрим матрицу G G F^xn, состоящую из k линейно независимых строк. Тогда линейная оболочка C строк матрицы G является линейным [n, k] - кодом, элементы x G C — кодовыми словами, матрица G — порождающей матрицей [n, k] - кода.

Определение 2. Систематической (канонической) формой порождающей матрицы линейного кода будем называть матрицу вида G = [Ik | A], получающуюся из

порождающей матрицы О проведением операций только над строками (или только над столбцами).

Определение 3. [17] Если Ь — линейный [п, к] - код, то дуальный (ортогональный) к нему код Ь^ определяется как множество всех векторов, ортогональных всем кодовым словам кода Ь:

Например, для m ющим образом:

3 матрица будет выглядеть следу-

G'(1, 3) =

Ь^ = {и | и ■ V = 0 Уу е Ь}

Определение 4. [17] Синдромом вектора у называется вектор в = НуТ, где Н - проверочная матрица, у е

Уи,н е V(и-к)*и,в е Уи-н.

Расстояние Хэмминга между двумя векторами - это количество позиций, в которых они отличаются.

Вес Хэмминга вектора - это количество ненулевых позиций этого вектора. Обозначается ^(х). Кодовым расстоянием называется

¿тп = min{dist(u, V)} = тт^^и — у)},и = V

Теорема П.1. [17] Пусть С1 и С2 двоичные \п,к1] и \п,к2] — коды c кодовыми расстояниями и ¿2 соответственно. Тогда множество

С = {(х1х ф у) : ж е Съу е С2}

является \п,к1 + к2]—кодом с кодовым расстоянием

Синдромом вектора у называется вектор в = НуТ, где Н - проверочная матрица, у е Уи,Н е У(и-к)хи,в е Уи-к.

Определение 5. Кодом Рида-Маллера ЯМ (г, т) для любого г : 0 < г < т, называется множество вектор-значений &f всех булевых функций /(у1,...,ут), степень нелинейности (т. е. максимальная длина монома, входящего в полином Жегалкина функции /) которых не превосходит г.

Базисом кода являются все мономы степени не большей г от т переменных:

1, х1? хт ,х1 & х2: хт— 1 & хт,

х1 & х2 & ... & хг, ..., хт-г + 1 & ... & хт (1)

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

Определим далее более интутивно понятное построение порождающей матрицы кода Рида-Маллера. Пусть

0'(0, т) - порождающая матрица кода ЯМ(0, т), это строка из 2т единиц: 0'(0,т) = (1,1,..., 1). Пусть О(1, т)- порождающая матрица кода ЯМ(1, т) такая, что:

• Первая строка это матрица О'(0, т) = (1,1,..., 1), состоящая из 2т единиц

• Следующие т строк и 2т столбцов представляют из себя матрицу, в которой строки являюстя вектор-значениями мономов хт, хт-1, ... ,х1, а столбец ] (при нумерации от 0) соответствует двоичному представлению числа ], записанному в т битах. Обозначим эту матрицу как О'(1, т).

Теперь определим порождающую матрицу О(г, т) кода ЯМ (г, т) как матрицу, составленную сверху вниз из матриц 0'(0, т), О'(1, т), ..., О'(г, т). При этом строками матрицы О'(г,т) являются всевозможные покомпонентные произведения по г строк из О' (1,т), упорядоченные лексиграфически как двоичные векторы. Число строк матрицы О'(г,т) равно (™).

Код Рида-Маллера ЯМ(г, т) является линейным [п, к]-кодом и состоит из 2к слов. Его длина п = 2т. Размерность к = ^Г=0 (т), 0 < г < т. При г = т код считается тривиальным, так как в этом случае код - это все векторы линейного пространства Уи, п = 2т

Любой код Рида-Маллера ЯМ (г, т) может быть описан с помощью конструкции Плоткина следующим образом:

Теорема 11.2 ([17], стр.363). Для любого кода Рида-Маллера RM(r,m) 0 < г < т верно

ЯМ (г, т) = {(и1и ф V) :

и е ЯМ (г, т — 1),у е ЯМ (г — 1, т — 1)} (2)

Теорема 11.3 ([17], стр.364). Кодовое (минимальное) расстояние кода ЯМ (г, т) равно = 2т-г

Теорема 11.4 ([17], стр.20). Код с минимальным расстоянием d может исправлять [ \ ошибок.

Таким образом, очевидно, что код Рида-Маллера ЯМ (г, т) может исправлять Ь = 2т-г-1 — 1 ошибку.

Теорема 11.5 ([17], стр.365). Для всех г, 0 < г < т — 1

код Я(т — г — 1,т) дуален коду Я(г, т)

III. Схема ЭЦП pqsigRM

Л. Модификация кода

Благодаря тому, что код Рида-Маллера может быть определен в виде (2), его порождающую матрицу можно представить в следующей форме, два раза воспользовавшись его рекурсивной структурой:

G(r, m) =

G(r, m — 1) 0

G(r, m — 1) G(r — 1,m — 1)

G(r, m - 2) G(r, m — 2) G(r, m — 2) G(r m— 2)

0 G(r — 1,m — 2) 0 G(r — 1, m — 2)

0 0 G(r — 1,m — 2) G(r — 1, m — 2)

0 0 0 G(r — 2, m — 2)

(3)

Определение 7. Подстановкой на множестве & называется любое взаимно-однозначное отображение множества & в себя. Множество всех подстановок на множестве & обозначают Если & = Ж, N = {1, 2,...,п} то множество подстановок на N обозначается Би

Определение 8. Перестановочной матрицей Р называется квадратная бинарная матрица, в каждой строке

Pi — 1

и столбце которой находится ровно один единичный элемент.

Каждая перестановочная матрица Р размера п х п является матричным представлением подстановки, действующей на множестве из п элементов, а £ Бп: элемент

п(г) = 3.

Определим а\ и а2 как две независимые случайные подстановки р столбцов, р < П, где п длина кода ЯМ (т,т). В схеме pqsigRM предлагается применить эти подстановки к порождающей матрице С(т, т) (3) следующим образом:

• использовать первую подстановку для изменения подматриц С(т, т — 2), соответствующих коду ЯМ (т, т — 2) во всей «первой линии» блочного представления матрицы С(т,т)

• вторую использовать для перестановки столбцов в подматрице С(т — 2,т — 2), соответствующей коду ЯМ (т — 2,т — 2).

В итоге получаем модифицированную матрицу. Обо-

значим ее как G0

г(т, m):

G(r, m - 2)01 G(r, m - 2)01 G(r,m - 2)01 G(r,m - 2)01

0 G(r - 1,m - 2) 0 G(r - 1,m - 2)

0 0 G(r - l,m - 2) G(r - 1,m - 2)

0 0 0 G(r - 2, m - 2)02

(4)

Определение 9. Кодом ЯМ0102 (т,т) будем называть модифицированный код Рида-Маллера с порождающей матрицей О01,02 (т,т) (4), получающейся из порождающей матрицы кода Рида-Маллера с помощью применения подстановок а\ ,а2.

B. Генерация открытого и секретного ключей

По порождающей матрице (4) схемы ЯМ0102 (т,т) строим проверочную матрицу Н01,02 следующим образом: приводим матрицу О01,02 (т,т) к систематической форме с помощью метода Гаусса (если матрица такого

вида существует), получаем

= % | р

Далее составляем новую матрицу, транспонированием матрицы Р:

H,

01,02

[PT I In-k],

C. Формирование и проверка подписи

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

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

Выберем одну из криптографических хэш-функций

h(^) : {0,1}* ^ {0,1}n-k

1) Подпись сообщения: Пусть нам дано сообщение M, которое необходимо подписать. Выбираем для него случайный вектор count € {0,1}n k.

Вычислим синдром s по следующей формуле:

s = h(h(M | Hpub) | count)

Нашей целью для создания подписи является найти вектор ошибки e такой, что

HpubeT = SHai,a2 QeT = s

Домножим обе части равенства слева на матрицу, обратную к S:

Обозначив s'

Ha 1,0-2 Q e — S S

S-1s и e'T — QeT, получаем:

H

01,02

T

e T — s

(5)

Таким образом, мы свели задачу нахождения вектора е к декодированию вектора в ' (5).

Так как вместо матрицы (3) теперь используется порождающая матрица (4), то классический декодер кода Рида-Маллера (алгоритм декодирования Рида [18]) к новому коду ЯМ01о02 (т, т) не применим. Поэтому авторы новой схемы ЭЦП предлагают использовать новый алгоритм декодирования [13]. Применив его, мы находим вектор е . Далее выполняем проверку:

wt(e') < w

(6)

которая в совокупности с единичной матрицей размера (п — к) х (п — к) является искомой проверочной матрицей

Н01 ,02 .

Для генерации публичного ключа также рассмотрим матрицы:

Б - невырожденная (|А| = 0), размера (п — к) х (п — к) Q - случайная перестановочная, размера п х п.

Таким образом в новой схеме pqsigЯM будем использовать:

Открытый ключ: матрица НриЬ = БН01,02 Q, Секретные ключи: матрицы Б - невырожденная, Q - перестановочная, Н01,02 - проверочная для кода ЯМ0102 (т,т) и подстановки (используемые для перестановки столбцов) и а2, которые выбираются случайно и независимо друг от друга из множества подстановок специального вида.

1) Если соотношение (6) выполняется, то вычисляем eT = Q-1e'T. Тогда подписью будет являться тройка (Сообщение, вектор ошибки, случайный вектор) = (M,e, count).

2) Иначе процесс подписи признаем закончившимся неудачно и запускаем заново с выбора нового случайного вектора count.

2) Проверка подписи: Дана тройка (M,e, count). Делаем проверку - если wt(e') < w и HpubeT = h(h(M | Hpub)), то подпись принимаем, иначе считаем недействительной.

IV Описание метода атаки и теоретические оценки

Предлагается провести атаку на схему ЭЦП с помощью техники сведения задачи нахождения секретного ключа к задаче ВЫПОЛНИМОСТИ КНФ. Для начала тончо сформулируем базовую задачу поиска секретных ключей схемы ЭЦП.

Л. Базовая задача криптоаналитика Вход: Открытый ключ НриЬ

Задача: По данному входу получить новые секретные ключи Q', а[, а'2, Б' такие, что

БНа1,а2 Q, (7)

матрица для кода

S ,а' Q = Hpub

- проверочная

(Hpub • Q' У

0

(G'ai,a2 • QT) • HPub = 0

D. Сведение к системе БФ: 2 ^ 3

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

Рассмотрим проверочное соотношение, полученное на предыдущем этапе (8):

где H'a1, ^

RMai}Œ2 (r, m).

B. Этапы сведения базовой задачи криптоаналитика поиска секретного ключа по открыму к задаче выполнимости КНФ

Процесс сведения базовой задачи криптоаналитика к задаче выполнимости КНФ предлагается разбить на несколько этапов. Обозначим основные задачи, рассматриваемые на этих этапах:

1) Базовая задача криптоаналитика

2) Матричная задача криптоаналитика с соотношением

3) Задача решения системы булевых функций

4) Задача выполнимости КНФ

Теперь подробно рассмотрим все этапы и переходы между ними.

C. Матричная задача криптоаналитика: 1 ^ 2

Переформулируем изначально поставленную задачу (7) нахождения секретных перестановок и невырожденной матрицы по открытому ключу:

Б На1,&2Q НриЬ ^ ' Б Н&1,&2 HpubQ

Переобозначим Q = Q '-1.

Пусть О'а1 - порождающая матрица, соответствующая порождающей матрице На1,а2. Тогда рассмотрим следующую цепочку соотношений:

О'&1 (НриЬ ■ ^Т = ОСТ1,СТ2 (Б' ^ )Т =

= (О'^2 ■ НТ^2 )Б'Т = 0

Таким образом, получаем систему:

(G'ai

,а2 • Q ) • Hpub

0.

По определению порождающую матрицу кода ЯМ(г, т) можно представить в следующем виде:

/Оо\

О1

G

(9)

\GrJ

где

G а

(1,1,..., 1),Gi

Qy

Gr

Q У-m— r ■■■ym

a,

У2 *"У1У2---Ут + 1

\&У1 ) \ &У1У2---Ут !

(10)

и - это вектор-значение булевой функции £ Рассмотрим подстановку а1 на множестве {0,...,п/4} = {0,..., 2т-4}, которая задаётся набором чисел.

01

С1о a\

( (0\ 0

n/4 — 2 n/4 — Л =

an/\ — 2 an/\-1 J

(0\ (Л (Л 0 1 1

\°J

( c2 \ a0

W ( al \ a2

10

I aCn/\ — l\ a2

an/\ — 2

\ \a0 ) \al )

l1

aln/\—l

a2

an/\—l

„ m— \ m — \

an/\—2 an/\—l

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

Представив каждое число в двоичной записи, получим матрицу размера т — 4 х 2т-4. Каждую её строку можно трактовать как вектор значений некоторой булевой функции /т+г-3. Поэтому очевидно, что подстановка а1

индуцирует отображение Qyi ^ Q

fi

1, ... , m.

^^ (О'°1^2 ^ ) ^ НриЬ = 0

эквивалентную условию (7) базовой задачи криптоана-литика.

НриЬ известна, поэтому мы можем найти перестановки а1,а2 и перестановочную матрицу Q. Зная это, мы сможем построить проверочную На1 ^2.

Тогда в уравнении Нри= Б'На1,а2 будет неизвестна только матрица Б', и относительно Б' это выражение будет системой линейных алгебраических уравнений.

Таким образом получается, что базовая задача эквивалентна следующей матричной задаче криптоаналитика:

Вход: Открытый ключ НриЬ

Задача: По данному входу получить новые секретные ключи Q', а 1,а'2 такие, что верно матричное уравнение:

Значит при применении подстановки а1 подматрица О(г, т — 2) переходит в матрицу такого же вида (9)-(10):

G(r,m — 2)ai =

(Do\

Di

\DrJ

(11)

где

D0 = (1,1,..., 1),Di =

iQfm—2\

Qf2 \ Qfi )

(8)

где матрица О'а1 - порождающая матрица кода ЯМа1^2 (г,т), полученная из порождающей матрицы кода Рида-Маллера ЯМ(г, т) О(г, т) 4 с помощью подстановок а1 ,а2.

Dr

(Qf 2 f Л

J m— r — 2 ■■■J m— 2

Q fi f2 ■■■fr+i V Ql fi f2 ■■■fr J

(12)

Таким образом, можно представить подматрицы О(т, т — 2)01 порождающей матрицы О'01 02 в следующем виде (13), выразив все элементы с помощью всего (т — 2) • 2?-2 неизвестных, вместо 22т-4 элементов при прямой замене всех элементов на неизвестные. Учитывая, что в порождающей матрице в первом ряду блоков находятся 4 одинаковые подматрицы такого типа (11)-(12), то используется всего (т — 2) • 2т-2 неизвестных, вместо 2? •£= С?-2.

G(r,m - 2)01 -( 1

m—2 a1 1 2 alaf

am—2 a2 12

a2a2

\a1...a1 a2 ...a,2

л2™-2

m—2 1 2 2

a2m-2a2m-2

a 2 m—2 ...a2m-2 J

(13)

где вектор (

a 1 a 2 . .. a I

Q

2m 2

) , например, соответствует

1т-2 *

Аналогичным образом можно представить и подматрицу

О(т — 2,т — 2)02 =

( 1 b1

bm—2 6162

ь2

bm-2 6262

b2m-2

um—2

\b

62

1 — 2 b2m-2

(14)

1 br — 2 b1 br — 2 b1 br — 2 /

1...b1 b2...b2 ... b2m—2 ...b2m — 2j

Все остальные подматрицы матрицы порождающей матрицы О'ОХ 02 известны.

Матрицу Q размера п х п представим в виде:

Q

fql

ч2

wr

ч1 à

чГ

42,m\ q2m

q2 m/

Тогда соотношение

(G'o1

,о2 • QT) • Hpub — 0.

задает систему из к х (п — к) уравнений. При этом максимально возможная степень встречающихся в них мономов равна т +1 (следует из построения), число слагаемых уравнений не превышает 2т2т = 22т = п2, а количество неизвестных равно п(т — 2)/2 +п2. Функции представлены уравнениями вида сумм по модулю 2 мономов различных степеней (не более г+1) и константами 0,1. Сами мономы являются произведениями неболее чем г переменных а* , т. е. так же, как и в определенном выше виде порождающей подматрицы (13)-(14), и переменных

qj.

Тем самым мы получили следующее утверждение:

Утверждение 1. Представлен полиномиальный алгоритм, который по задаче криптоаналитика поиска секретных ключей Q, а\, а2 строит эквивалентную нелинейную систему булевых функций, длина которых не превышает п2, количество неизвестных равно п(т — 2)/2 + п2, а максимально возможная степень встречающихся в них мономов равна т +1.

E. Сведение к задаче Выполнимости КНФ: 3 ^ 4

Этот шаг сведения предлагается разделить на два этапа:

1) Сведение полиномиальной системы к линейной

2) Сведение линейной системы к КНФ

1) I этап: Сведение полиномиальной системы к линейной: Известно, что система любой степени может быть сведена к системе степени < 2 [19]. Этого можно добиться многократно применяя следующую замену:

{т = шхуг} ^ {Ь = шх, с = уг, т = Ьс}

Основная идея этого шага заключается в том, что логическое выражение

(шУпа)(хУпа)(уУпа)(гУпа)(аУпшУпхУпуУпг)

эквивалентно а ^^ (шАхАуАг), которое эквивалентно уравнению над ОГ(2)

т = шхуг.

Поэтому для каждого монома системы степени > 1 мы можем ввести новую переменную, заменив моном на нее. При этом при каждой такой замене потребуется d +1 элементарных дизъюнктов (ЭД) длины 3d + 1.

Утверждение 2. Количество новых переменных, необходимых для замены всех мономов степени d > 1 в системе нелинейных уравнений при сведении этой системы к линейной, не превышает:

No

n2 • [m - 2)

^r — 2 m-2

4 i=1 V i—1 ) 1 V r — 1

) + m-2 ) + (m—2)

для r — 1 для r > 1

(15)

(16)

Доказательство. Рассмотрим построение новой матри-

цы G0

Q. При умножении матрицы G'0

на Q

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

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

1. Любая строка д* известных подматриц О(т—1, т—2) при умножении на столбец матрицы Q даст 0 или 1, так как скалярное произведение векторов д* • qjT будет являться некоторой линейной комбинацией элементов столбца ^^. По определению перестановочной матрицы в любом столбце и строке существует только один ненулевой элемент.

Значит во всех элементах строк с номерами к £

ЕТ=0 С-2) + 1, ЕГ=0 (?) — С-2)] в новой мат-

0.

рице будут находиться константы, d

2. При перемножении первых к G [1,2Г

Ег-2 /?—2\

{ * ) строк матрицы О'01,02 при перемножении строк соответсвующим П^ ~ а* и П^ ~ Ь* будут получаться мономы степени d = 2. Из строения матрицы О'01 02 видно, что таких мономов будет

П2) ]

1

1

1

1

1

1

2

1

1

2

1

b

2

2

n

и

п ■ п ■ (т — 2) аг и п/4 ■ п ■ (т — 2) Ьг. Продолжая аналогично рассуждения для строк, соответствующих о^а^,..., о,1...аг-2 и ЬгЬ^, ...,Ь1...Ьг-2, получим формулу для количества всех мономов степеней d < г — 1

2 (т — 2\ п2 (т — 2\ 5 г-2 2 (т — 2\ Л г )+т( , )=-4 ^'(г — Л

3. Так как последний блок матрицы О'а1 а2 - О(г — 2,т — 2) мономов степени большей г — 1 при умножении на перестановочную матрицу давать не может, то для степеней d = г, г + 1 учитываем только строки из первого блока, соответствующие а1...аг-1,..., а1 ...аг. Они дадут и"2 ((У-!) + (т-2)) мономов степени ! = г, г +1, а значит и новых переменных.

4. Аналогичное рассмотрение случая г = 1 дает соответствующую формулу. □

2) II этап: Сведение линейной системы к КНФ: После первого этапа каждый полином был приведен к «длинным» суммам по модулю 2, то есть может быть представлен как х1 ф х2 ф ... ф х1 =0. Однако для «длинных» сумм невозможно построить КНФ, [20], так как происходит экспоненциальный рост количества ЭД с ростом количества переменных. Чтобы этого избежать, необходимо разбить все «длинные XOR» на более короткие, например, длины 4.

Так, уравнение

Xi © Х2 © ... © xi = 0

а количество переменных не будет превышать

r-2

N12 = n3 2+ n

+

{m:2)

5 Г-2 f m — 2\ (m — 2\ 1+-4 £( .—J4 r—l)

+ n(m- — 2k — 1) + 2k2

то есть параметры получаемой КНФ кубически зависят от длины входа п.

Доказательство. Рассмотрим получившуюся в разделе IV. С нелинейную систему

(G'ai

,а2 • Q ) • Hpub

0.

(17)

(18)

можно привести к эквивалентной системе уравнений

( х1 ф х2 ф хз ф у1 = 0\

у1 ф х4 ф х5 ф у2 = 0

у г ф х4+ ф х4+ ф у+ = 0

V ун ф х—2 ф х—1 ф хх = о)

если I - четное. Если же нечетное, то последнее уравнение будет длины 3. Здесь Н = \1/2] —2 - количество новых переменных. Система будет состоять из Н + 1 уравнения, каждое из которых породит 8 ЭД в КНФ длины 4.

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

(О'а1, <Г2 ■ ) ■ НРиЬ =

эквивалентную ФАЛ, представленную своей КНФ, длина которой будет не больше чем

из к х (п к) уравнений.

Степень любого из мономов не превосходит г +1 (следует из построения), длина уравнений не превосходит 2т ■ 2т = 22т = п2 (длина уравнения, являющегося элементом матрицы О'а1 а2 ■ QT не превышает 2т-2 ■ 4 = 2т, в матрице же НриЬ: 2т = п строк), а количество неизвестных равно N = и(т—2') + п2. Согласно Ш этапам сведения полиномиальной системы к линейной и далее линейной системы к КНФ, описанным выше, проведем преобразования этой системы, чтобы получить КНФ:

1. Все мономы степени !> 1 заменяются на новый переменные, их кол-во не превышает Ж0 (16) из Утверждения 2. Для каждой новой переменной количество новых ЭД будет равно произведению (!+1) на количество таких переменных, соответствующих моному степени !. Просуммировав по всем возможным ! = 3,..., г +1 получаем формулу Ь = ^ Е—(г + 2)(т-2) + п2((г + У-1) + (г + 2)(уг 2)) новых ЭД. После этого получается система из к х (п к) уравнений.

Количество переменных на данном этапе N = и(у2 2 + п2 (сколько было изначально) +N0.

2. Все «длинные» суммы по модулю 2 (17) должны быть заменены на системы уравнений (18), состоящих из меньшего количества слагаемых (допустим, 4). Каждое уравнение длины I (17) породит Н = новых переменных и Н + 1 уравнение (18). А каждое укороченное уравнение заменится на КНФ, состоящее из 8 ЭД длины 4. Получаем:

Длина каждого уравнения I < п2, следовательно, доба-

и2

вится < и— 2 новых переменных для каждого уравнения

и 8(Н + 1) < 4п2 — 8 ЭД.

Значит всего добавится не больше Nxor = к ■ (п — к) ■ (и— 2) переменных.

Длина КНФ при этом увеличится на количество уравнений умноженное на количество новых ЭД, т.е. Ьхог = к х (п — к) ■ 8(Н + 1) < к(п — к)(4п2 — 8).

3. Таким образом, получаем, что общее число переменных не будет превосходить (при г > 1):

= N + Щ + Nхoг

l - 2 2 2

L12 = -n k + n

Г-2 5(i + 2) im — 2 ^ - { i

+

n(m 2) 2 2 Ni2 = ^^-+ n2 + n2

. (m — 2\ , (m — 2) , J , , 2 (m — 2) (m — 2)

+ (r + 1)[ ^(^H j — -k — 8nk + 8k , +( Л++! r )

5 — f m — 2\

+

+ k • (n — k) • (-—2),

2

N12 — n 2 + n2

5 Г-2 f m - 2\ (m - 2\

1+4 M i - 04 r - 0+

i=1 4 ' 4 '

+

r-2)

2

+ n(2 - 2к - 1) + 2к2

а количество ЭД в КНФ, получаеющейся на этом этапе, не превосходит

L12 — L + L xor

L12 — ^ Z(• + 2)(m - ') +

+ n2

m - 2 m - 2

(r + 1\ r __ 1)+(r + 2)( r J

+

+ k(n - k)(4n2 - 8)

L12 — 4n3k + n2

r2

5(i + 2) /m - 2\ fm - 2 4 \ i

i=1

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

4 V i

+

m - 2 m - 2 2

+ (r + 1)( r_ 1)+(r + 2M r )- 4k2

- 8nk + 8k2

( 1

G(r,m - 2)01 —

m—2

'\ 1

1

m— 2

21 2 12 a22

1

\

m—2

a2m—2 a1 a2

a2m—2a2m—2

a 11 ... a r1 a 21 ... a r2

1.

2m—2 .

ar2 m— 2

В КНФ этой функции все ЭД будут длины 2т, так как иначе существовали бы соседние наборы х[, ...,х'ш и у[,...,у!ш, на которых /(х',у') = 0, но это невозможно. Значит для / КНФ является СКНФ и количество ЭД в ней равно п = 2?.

То есть каждая такая функция, соотвествующая паре векторов а*,а^ (частям столбца подматрицы О(т,т — 2)01, породит п ЭД. Количество таких пар будет равно

'(n'—1)

2

m2

n. Значит общее количество

новых ЭД будет равно Lgen — .—1 — n ^^ ^ —

128 - . Новых переменных не добавляется.

Также никак не было учтено, что матрица Q (??) является перестановочной, т.е. что в каждом столбце и строке есть только один ненулевой элемент.

Утверждение 5. При добавлении условий перестановочную матрицу Q количество переменных в КНФ не меняется, а количество ЭД увеличится на Ьд = п2(п — 1) + 2п.

Доказательство. Очевидно, что количество переменных не меняется, уравнений увеличивается на 2п. Каждое уравнение q1 +... + qn = 1 заменяется булевой формулой вида ([1 V с[2)(с[2 V дз)...(Яп-1 V дп)Ыг V q2 V ... V qn) = 1, где сначала берутся все возможные пары из q1,...,qn. Поэтому каждое уравнение породит (П) + 1 ЭД. То есть всего Ьд = 2п • (Ц) + 1) = 2п • (+ 1) =

□ 2n • (+ 1) — n2(n - 1)+2n. новых ЭД

К. Сведение общей задачи выполнимости КНФ к задаче выполнимости КНФ для схемы ЭЦП pqsigЯM

В процессе сведения полиномиальной системы к КНФ была получена КНФ, однако, пока что для общей задачи. Мы ввели неизвестные подматрицы следующим образом:

Таким образом, из утверждений 4-5 очевидно следует утверждение:

Утверждение 6. Существует полиномиальный алгоритм сведения задачи нахождения секретного ключа схемы ЭЦПpqsigЯM, основанной на модифицированных кодах Рида-Маллера, к задаче ВЫПОЛНИМОСТЬ КНФ, длина которой не превышает

L — L12 + Lgen + L>

Q

L — n3(4k + 127 ) +

Нигде в этом условии не было учтено, что все векторы

а* = (а!, ...,а?-2)^ £ [1, 2?-2] должны быть попарно различны.

Утверждение 4. При введении дополнительных условий на неизвестные векторы а* = (а1,..., а?-2),Ь* = (Ь],..,Ь?-2), i £ [1,2?-2] матриц О(т,т — 2)01 и О(т — 2, т — 2)о2 соответственно общее количество новых ЭД, добавленных в построенную на предыдущих этапах КНФ, равно Ьдеп = П^ (п — 1), а новых переменных при этом не прибавится.

Доказательство. Пусть есть векторы х = (х1: ...,хш) и у = (у1у..., ут). Тогда условию х = у будет эквивалентна следующая формула У ?=1 х* © у* = 1. Рассмотрим булеву функцию /(х, у) = (х1 © у1) V ... V (хш © ) от 2т переменных, с возможным количеством значений 22?. Вектора х, у будут совпадать на 2? наборах, то есть у функции / будет 2? нулей.

^ 5^ + 2)(т — 2\ (т — 2\

£ — ( i +1\т - 1) +

+ + 2) (т — 2) — 4кг — 1±

+ 2п(1 — 4к) + 8к2,

то есть длина не превосходит полинома 3 степени от п = 2?, а количество переменных не превосходит

N — N12 — n3 2 + n2

5 ^2 (m - 2\

4 M i - 0 + i=1 4 У

im - 2\ (m - 2\ 1

\r- 1 ) y r J

+ n^ - 2k - 1) + 2k2,

то есть тоже не превосходит полинома 3 степени от

2

k

n

2

1

1

1

а

1

2

2

2

n.

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

5

L < 2n3(2k + 1) + - n2 log2 n + 2(n + -k2)

а количество переменных в этой КНФ

3 k 2 5k n ■ log2 n , 2

N < n3 k + n2 — +-+2k2

2 4 2

G. Программная реализация

Полученный алгоритм сведения задачи криптоаналитика поиска секретных ключей к задаче ВЫПОЛНИМОСТЬ КНФ был реализован программно на Python.

Прямая реализация описанного выше алгоритма была слишком медленной. Уже на параметрах r = 4, m = 7 она работала больше 10 часов. Поэтому была произведена оптимизация (одновременное выполнение некоторых шагов алгоритма, отказ от лишних проверок и т.д.).

Результаты работы программы для различных параметров (r, m) приведена в Таблицах I, II:

(1,4) (2,4) (3,4) (1,5) (2,5) (3,5)

N 776 1032 1168 4120 7192 9008

L 5432 5944 6352 41248 47392 51968

Time(sec) 0,50 0,47 0,34 5,33 7,2 4,53

Space(Mb) 0,106 0,126 0,140 0,776 1,0 1,2

Результаты работы программной реализации алгоритма, m=4, m=5

(2,6) (3,6) (4,6) (5,7) (6,8)

N 45120 65664 75904 627008 5112576

L 358400 405376 425856 3435776 27554304

Time(sec) 101,3 83,8 42,9 6min55sec 3h 40min

Space(Mb) 8,5 10,7 11,7 105,1 895,8

Результаты работы программной реализации алгоритма

Из полученых данных на количество переменных и ЭД видно, что алгоритм при фиксированном m будет работать эффективнее значениях r близких к m, так как время создания КНФ в формате DIMACS при большем r значительно меньше, несмотря на то, что объем получаемого файла растет еще и засчет быстрого роста размеров комментариев - описания переменных.

V Результаты экспериментов

В разделе IV был сформулирован и исследован полиномиальный алгоритм сведения задачи криптоаналитика поиска секретного ключа по открытому к задаче Выполнимости КНФ. Этот алгоритм был реализован программно на языке Python.

Далее на данных, полученных с помощью этой программной реализации, были запущены некоторые победители конкурсов SAT Competition 2018, SAT Race 2019, а также решатели, считающиеся эффективными, но не участвующие в конкурсе. Результаты этих экспериментов приведены в Таблицах III-VI. Время измерялось с помощью утилиты time, итоговый результат рассчитывался как t = user + sys в секундах.

(1,4) (2,4) (3,4)

CaDiCal 0,009 0,014 0,019

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

MapleLCMDiscChronoBT-DL-v3 0,017 0,041 0,041

Maple_LCM_Scavel 0,017 0,017 0,020

Maple_CM_ordUIP 0,026 0,038 0,055

Painless-v2 0,064 0,08 0,079

Plingeling 0,063 0,074 0,09

abcdSAT 0,117 0,11 0,129

picosat 0,008 0,012 0,012

picomus 0,017 0,021 0,021

zchaff64 0,01 0,014 -

slime 0,028 0,025 0,027

Таблица III

Результаты работы SAT-решателей для задачи криптоаналитики получения секретных ключей схемы pqsigRM, m=4

(1,5) (2,5) (3,5)

CaDiCal 0,037 0,040 0,043

MapleLCMDiscChronoBT-DL-v3 0,088 0,102 0,108

Maple LCM Scavel 0,109 0,097 0,099

Maple_CM_ordUIP 0,106 0,136 0,138

Painless-v2 0,247 0,279 0,318

Plingeling 0,153 0,169 0,172

abcdSAT 0,678 0,697 0,725

picosat 0,038 0,056 0,075

picomus 0,092 0,107 0,12

zchaff64 0,042 0,072 0,058

slime 0,168 0,19 0,194

Результаты работы SAT-решателей получения секретных ключей

. IV

для задачи криптоаналитики схемы pqsigRM, m=5

(2,6) (3,6) (4,6)

CaDiCal 0,258 0,475 0,530

MapleLCMDiscChronoBT-DL-v3 1,417 1,631 1,746

Maple LCM Scavel 1,408 1,662 1,759

Maple_CM_ordUIP 1,901 2,140 2,184

Painless-v2 10,23 11,653 12,180

Plingeling 1,3 1,715 1,122

abcdSAT 24,323 24,807 25,643

picosat 0,26 0,423 0,441

picomus 0,877 1,248 1,341

zchaff64 0,51 0,78 0,829

slime 3,995 4,313 4,343

Результаты работы SAT-решателей получения секретных ключей

для задачи криптоаналитики схемы pqsigRM, m=6

(5,7) (6,8)

CaDiCal 7,906 2min 13 sec

MapleLCMDiscChronoBT-DL-v3 35,063 11min 11sec

Maple LCM Scavel 34,65 11min 13sec

Maple_CM_ordUIP 37,047 -

Painless-v2 3min39sec -

Plingeling 5,879 59,987

abcdSAT 36,626 36,484

picosat 12,343 3min 26sec

picomus 20,673 -

zchaff64 11,455 11,118

slime 1min 34sec 42min 14sec

Таблица VI

Результаты работы SAT-решателей для задачи криптоаналитики получения секретных ключей схемы pqsigRM, т=7, т=8

В среднем лучшие результаты показали решатели zchaff64, РИ^еИ^ и рюотш. Решатель zchaff64, несмотря на то, что являлся победителем конкурса решателей

V

только 2007 года и после этого призовых мест вообще не занимал, показал в среднем наименьшее время решения задачи Выполнимости КНФ для задачи криптоаналитика.

Также решатели Plingeling, abcdSAT, Painless-v2 несмотря на то, что являются параллельными, на некоторых параметрах отработали хуже, чем обычные решатели. Связано это может быть с тем, что такие программы задействуют планировщики для распределения задач по ядрам, и они должны быть определенным образом настроены. Поэтому на домашнем компьютере параллельные решатели могут работать даже хуже.

VI. Заключение

Для новой схемы ЭЦП, основанной на модифицированных кодах Рида-Маллера, найден эффективный метод атаки для некоторых значений параметров. Предложен полиномиальный алгоритм сведения задачи крип-тоаналитика поиска секретных ключей криптосистемы pqsigRM к задаче ВЫПОЛНИМОСТИ КНФ с параметрами:

1) Количество переменных

3 к 2 5к n ■ log2 n , 2 N < n3 - + n2 — +-f2- + 2k ;

2 4 2

2) Количество ЭД (длина КНФ)

5

L < 2n3(2k + 1) + 4n2 log2 n + 2(n + 4к2).

Алгоритм сведения реализован программно на Python и оптимизирован для более быстрой работы. Алгоритм протестирован на небольших значениях параметров (r, m). Проведены эксперименты по запуску лучших SAT-решателей последних лет на данных, полученных с помощью реализации алгоритма сведения. Схема для всех рассматриваемых параметров была взломана SAT-решателями, то есть получено решение задачи ВЫПОЛНИМОСТИ КНФ, а значит получены секретные ключи.

Библиография

[1] P. W. Shor, «Algorithms for Quantum Computation: Discrete Logarithms and Factoring», SFCS '94, с. 124—134, 1994. doi: 10.1109/SFCS.1994.365700.

[2] F. Arute, K. Arya, Babbush и et al, «Quantum supremacy using a programmable superconducting processor», Nature, № 574, с. 505—510, 2019, https: //doi.org/10.1038/s41586-019-1666-5.

[3] National Academies of Sciences Engineering, and Medicine, Quantum Computing: Progress and Prospects, E. Grumbling и M. Horowitz, ред. Washington, DC: The National Academies Press, 2019. doi: 10 . 17226 / 25196. url: https : //www. nap. edu/catalog/25196/quantum- computing-progress-and-prospects.

[4] Л. Федичкин, «Квантовые компьютеры», Наука и жизнь, № 1, 2001.

[5] Т. Фолджер, «Квантовый взлом», В мире науЫ, № 4, с. 94—102, 2016.

[6] R. J. McEliece, «A public key cryptosystem based on algebraic coding theory», 1978.

[7] A. Barg, Complexity Issues in Coding Theory, 1997.

[8] Yuan Xing Li, R. H. Deng и Xin Mei Wang, «On the equivalence of McEliece's and Niederreiter's public-key cryptosystems», IEEE Transactions on Information Theory, т. 40, № 1, с. 271—273, 1994.

[9] В. Сидельников и С. Шестаков, «О системе шифрования, построенной на основе обобщенных кодов Рида-Соломона», Дискретная математика, т. 4, № 3, с. 57—63, 1992.

[10] В. Сидельников, «Открытое шифрование на основе двоичных кодов Рида-Маллера», Дискретная математика, т. 6, № 3, с. 3—20, 1994.

[11] L. Minder и A. Shokrollahi, «Cryptanalysis of the Sidelnikov Cryptosystem», EUROCRYPT '07, с. 347—360, 2007. doi: 10.1007/978-3-540-72540-4_20.

[12] М. Бородин и И. Чижов, «Эффективная атака на криптосистему Мак-Элиса, построенную на основе кодов Рида - Маллера», Дискретная математика, т. 26, с. 10—20, янв. 2014. doi: 10.4213/dm1264.

[13] Y. Lee, W. Lee, Y.-S. Kim и J.-S. No, A Modified pqsigRM: RM Code-Based Signature Scheme, https: //eprint.iacr.org/2019/678, 2019.

[14] N. T. Courtois, M. Finiasz и N. Sendrier, «How to Achieve a McEliece-Based Digital Signature Scheme», в Advances in Cryptology — ASIACRYPT 2001, C. Boyd, ред., Berlin, Heidelberg: Springer Berlin Heidelberg, 2001, с. 157—174.

[15] С. Кук, «Сложность процедур вывода теорем», Кибернетический сборник, № 12, с. 5—15, 1971.

[16] И. В. Чижов и М. А. Бородин, «Задача ВЫПОЛНИМОСТЬ и восстановление секретного ключа криптосистемы Мак-Элиса на основе кодов Рида-Маллера», в Тихоновские чтения: Научная конференция, МГУ имени М.В. Ломоносова, 29-31 октября 2012 г.: Тезисы докладов, секция Вычислительная математика и кибернетика, МАКС Пресс Москва, 2012, с. 131—133.

[17] Ф. Мак-Вильямс и Н. Слоэн, Теория кодов, исправляющих ошибки. 1979.

[18] I. Dumer, «Recursive decoding and its performance for low-rate Reed-Muller codes», IEEE Transactions on Information Theory, т. 50, № 5, с. 811—823, 2004. doi: 10.1109/TIT.2004.826632.

[19] Gregory V Bard, Nicolas, T. Courtois и Chris Jefferson, Efficient Methods for Conversion and Solution of Sparse Systems of Low-Degree Multivariate Polynomials over GF(2) via SATSolvers, https://eprint.iacr.org/2007/024, 2007.

[20] N. Creignou и H. Daude, «Satisfiability threshold for random XOR-CNF formulas», Discrete Applied Mathematics, т. 96-97, с. 41—53, окт. 1999. doi: 10. 1016/S0166-218X(99)00032-3.

Logical cryptanalysis as part of strength research into particular code-based signature scheme

Ivan V. Chizhov, Nataliia P. Tashevtseva

Abstract—The authors propose an algorithm, which converts input for the cryptoanalyst problem of revealing secret keys of Code-Based Signature Scheme pqsigRM to an equal input for the SATISFIABILITY problem. It is proved in the paper, that the proposed attack is polynomial. The set of parameters of resulting CNF - length and the number of used variables, are theoretically assessed. The practical implementation of the proposed algorithm on Python is developed, which effectively creates the desired CNF in DIMACS format based on arbitrary pgsigRM scheme parameters r, m. Furthermore, the article contains experiment results, including execution results of the designed program for some values of r and m and performance of several open-source SAT-solvers, winners of SAT Competition 2018 and SAT Race 2019 combined with other solvers used earlier for McEliece cryptosystem analysis, on solving the satisfiability problem for the resulting CNF for some values of r, m parameters of original cryptoanalyst problem. A set of parameters for which attack can be applied, that is the secret keys can be recovered, is described.

Keywords—Post-quantum cryptography, polynomial attack, digital signature, Reed-Muller codes

References

[1] P. W. Shor, «Algorithms for quantum computation: Discrete logarithms and factoring», SFCS '94, pp. 124-134, 1994. doi: 10.1109/SFCS.1994.365700.

[2] F. Arute, K. Arya, Babbush, and et al, «Quantum supremacy using a programmable superconducting processor», Nature, no. 574, pp. 505-510, 2019, https: //doi.org/10.1038/s41586-019-1666-5.

[3] National Academies of Sciences, Engineering, and Medicine, Quantum Computing: Progress and Prospects, E. Grumbling and M. Horowitz, Eds. Washington, DC: The National Academies Press, 2019. doi: 10.17226/25196. [Online]. Available: https : / / www . nap . edu / catalog /25196/ quantum -computing-progress-and-prospects.

[4] L. Fedichkin, «Kvantovye komp'yutery [Quantum computers]», Nauka i zhizn' [Science and Life], no. 1, 2001.

[5] T. Folger, «Kvantovyy Vzlom [Quantum Hack]», V

mire nauki [In the world of science], no. 4, pp. 94102, 2016.

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

[6] R. J. McEliece, «A public key cryptosystem based on algebraic coding theory», 1978.

[7] A. Barg, Complexity Issues in Coding Theory, 1997.

[8] Yuan Xing Li, R. H. Deng, and Xin Mei Wang, «On the equivalence of McEliece's and Niederreiter's public-key cryptosystems», IEEE Transactions on Information Theory, vol. 40, no. 1, pp. 271-273, 1994.

[9] V. Sidelnikov and S. Shestakov, «O sisteme shifrovaniya, postroennoy na osnove obobshchennykh kodov Rida-Solomona [On an encoding system constructed on the basis of generalized Reed-Solomon codes]», Diskretnaya matematika [Discrete mathematics], vol. 4, no. 3, pp. 57-63, 1992.

[10] V Sidelnikov, «Otkrytoe shifrovanie na osnove dvoichnykh kodov Rida-Mallera [A public key cryptosystem based on Reed-Muller binary codes]», Diskretnaya matematika [Discrete mathematics], vol. 6, no. 3, pp. 3-20, 1994.

[11] L. Minder and A. Shokrollahi, «Cryptanalysis of the Sidelnikov Cryptosystem», EUROCRYPT '07, pp. 347-360, 2007. doi: 10.1007/978-3-540-72540-4_20.

[12] M. A. Borodin and I. V Chizhov, «Effektivnaya ataka na kriptosistemu Mak-Elisa, postroennuyu na osnove kodov Rida - Mallera [Effective attack on the McEliece cryptosystem based on Reed-Muller codes]», Diskretnaya matematika [Discrete mathematics], vol. 26, pp. 10-20, Jan. 2014. doi: 10.4213/ dm1264.

[13] Y. Lee, W. Lee, Y.-S. Kim, and J.-S. No, A Modified pqsigRM: RM Code-Based Signature Scheme, Cryp-tology ePrint Archive, Report 2019/678, https://eprint. iacr.org/2019/678, 2019.

[14] N. T. Courtois, M. Finiasz, and N. Sendrier, «How to Achieve a McEliece-Based Digital Signature Scheme», in Advances in Cryptology — ASIACRYPT 2001, C. Boyd, Ed., Berlin, Heidelberg: Springer Berlin Heidelberg, 2001, pp. 157-174.

[15] S. A. Cook, «Slozhnost' protsedur vyvoda teo-rem [The complexity of theorem-proving procedures]», Kiberneticheskiy sbornik [Cybernetic collection], no. 12, pp. 5-15, 1971.

[16] I. V Chizhov and M. A. Borodin, «Zadacha VYPOL-NIMOST" i vosstanovlenie sekretnogo klyucha krip-tosistemy Mak-Elisa na osnove kodov Rida-Mallera [SATISFIABILITY problem and recovering of secret keys of McElice cryptosystem based on Reed-Muller codes]», Russian, in Tikhonovskie chteniya: Nauch-naya konferentsiya, MGU imeni M.V. Lomonosova, 29-31 oktyabrya 2012 g.: Tezisy dokladov, sektsiya Vychislitel'naya matematika i kibernetika [Tikhonov readings: Science conference, MSU named after M.V.Lomonosov, 29-31 of October 2012: Report abstracts, Computational mathematics and cybernetics], MAKS Press Moskva [MAKS Press Moscow], 2012, pp. 131-133.

[17] F. MacWilliams and N. Sloane, Teoriya kodov, is-pravlyayushchikh oshibki [The Theory of Error-Correcting Codes]. 1979.

[18] I. Dumer, «Recursive decoding and its performance for low-rate Reed-Muller codes», IEEE Transactions on Information Theory, vol. 50, no. 5, pp. 811-823, 2004. doi: 10.1109/TIT.2004.826632.

[19] G. V. Bard, N. T. Courtois, and C. Jefferson., Efficient Methods for Conversion and Solution of Sparse Systems of Low-Degree Multivariate Polynomials over GF(2) via SAT-Solvers, https://eprint.iacr.org/2007/ 024, 2007.

[20] N. Creignou and H. Daude, «Satisfiability threshold for random XOR-CNF formulas», Discrete Applied Mathematics, vol. 96-97, pp. 41-53, Oct. 1999. doi: 10.1016/S0166-218X(99)00032-3.

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