Научная статья на тему 'Новый алгоритм порождения ослабляющих ограничений в задаче обращения хеш-функции md4-39'

Новый алгоритм порождения ослабляющих ограничений в задаче обращения хеш-функции md4-39 Текст научной статьи по специальности «Математика»

CC BY
90
12
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КРИПТОГРАФИЧЕСКИЕ ХЕШ-ФУНКЦИИ / CRYPTOGRAPHIC HASH FUNCTIONS / ОБРАЩЕНИЕ ХЕШ-ФУНКЦИЙ / INVERSION PROBLEM OF HASH FUNCTIONS / MD4 / MD4-39 / SAT

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

Представлены результаты по обращению 39-шаговой версии криптографической хеш-функции MD4 (MD4-39). В их основе лежит специальный алгоритм генерации дополнительных ограничений, накладываемых на переменные сцепления, которые ослабляют исходную задачу поиска прообраза известного хеш-значения. Алгоритм осуществляет поиск ослабляющих ограничений через решение задачи оптимизации на булевом гиперкубе оценочной функции специального вида. При помощи разработанного алгоритма удалось найти новые ограничения на переменные сцепления, использование которых позволило построить атаку на MD4-39, время выполнения которой в десятки раз меньше, чем у лучшей известной атаки. С использованием найденных ограничений удаётся находить MD4-39-прообразы для примерно 65 % (в среднем) случайных 128-битных булевых векторов.

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

Похожие темы научных работ по математике , автор научной работы — Грибанова Ирина Александровна

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

New algorithm for relaxation constrains generation in the inversion problem of MD4-39

The paper presents the preimage attack on 39-step variant of the MD4 cryptographic hash-function (MD4-39) using new approach which can be considered as a development of the ideas proposed earlier by H. Dobbertin. Particularly, we search for special relaxation constraints which are used to simplify the equations corresponding to the problem of finding a preimage for a random MD4-39 hash value. These equations supplemented with the relaxation constraints are reduced to the Boolean Satisfiability Problem (SAT) and then solved using the SAT solvers. We suggest a new method for automatic generation of relaxation constraints by applying the black-box optimization to the function of a special kind, which evaluates the effectiveness of a set of relaxation constraints. The proposed method allows to find new relaxation constraints using which we manage to construct preimage attack on MD4-39 which in dozens of times outperforms the best known attack for considered function.

Текст научной работы на тему «Новый алгоритм порождения ослабляющих ограничений в задаче обращения хеш-функции md4-39»

ПРИКЛАДНАЯ ДИСКРЕТНАЯ МАТЕМАТИКА

№11 ПРИЛОЖЕНИЕ Сентябрь 2018

Секция 7

ВЫЧИСЛИТЕЛЬНЫЕ МЕТОДЫ В ДИСКРЕТНОЙ МАТЕМАТИКЕ

УДК 519.7 DOI 10.17223/2226308X/11/43

НОВЫЙ АЛГОРИТМ ПОРОЖДЕНИЯ ОСЛАБЛЯЮЩИХ ОГРАНИЧЕНИЙ В ЗАДАЧЕ ОБРАЩЕНИЯ ХЕШ-ФУНКЦИИ MD4-391

И. А. Грибанова

Представлены результаты по обращению 39-шаговой версии криптографической хеш-функции MD4 (MD4-39). В их основе лежит специальный алгоритм генерации дополнительных ограничений, накладываемых на переменные сцепления, которые ослабляют исходную задачу поиска прообраза известного хеш-значения. Алгоритм осуществляет поиск ослабляющих ограничений через решение задачи оптимизации на булевом гиперкубе оценочной функции специального вида. При помощи разработанного алгоритма удалось найти новые ограничения на переменные сцепления, использование которых позволило построить атаку на MD4-39, время выполнения которой в десятки раз меньше, чем у лучшей известной атаки. С использованием найденных ограничений удаётся находить MD4-39-прообразы для примерно 65 % (в среднем) случайных 128-битных булевых векторов.

Ключевые слова: криптографические хеш-функции, обращение хеш-функций, MD4, MD4-39, SAT.

Хеш-функция MD4 [1] является одной из первых криптографических хеш-функций, построенных на базе конструкции Меркля — Дамгарда. Несмотря на то, что она была скомпрометирована по отношению к задаче поиска коллизий [2], MD4 остаётся стойкой к задаче обращения, в рамках которой требуется найти неизвестный 512-битный блок открытого текста, хеширование которого даёт известное хеш-значение. В данном контексте интерес представляют задачи обращения неполнораундовых версий хеш-функции MD4. Далее через MD4-k будем обозначать варианты MD4, использующие первые k (k ^ 48) шагов базового алгоритма.

До настоящего момента лучшей из реализованных на практике атак на MD4-k оставалась атака, описанная в [3]. В рамках этой атаки используются так называемые «условия Доббертина», предложенные в [4]. Основная идея состоит в наложении дополнительных ограничений на переменные сцепления на определённых шагах алгоритма вычиления хеша с целью вывода из этих ограничений некоторой информации, приводящей к быстрому решению уравнений криптоанализа. В [3] получаемая таким образом система уравнений криптоанализа сводится к задаче о булевой выполнимости (SAT) и решается при помощи SAT-решателя minisat. Основным достижением работы [3] является построение практических атак на MD4-k, k ^ 39. Следует, однако, отметить, что данные атаки оказались успешными лишь для некоторых конкретных хеш-значений, при этом решение одной задачи требует нескольких часов работы SAT-

1 Работа поддержана Российским научным фондом, проект №16-11-10046.

140

Прикладная дискретная математика. Приложение

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

В настоящей работе представлены новые ослабляющие ограничения, которые позволяют существенно улучшить результаты из [3, 5]. Процесс поиска эффективных ослабляющих ограничений сведён к задаче оптимизации специальной оценочной функции на булевом гиперкубе. Во всех вычислительных экспериментах использовались пропозициональные кодировки, предусматривающие работу с «переменными переключения» [5]. Для построения этих кодировок применялась система Transalg [6, 7]. Оптимизация оценочной функции выполнялась метаэвристическим алгоритмом, относящимся к классу «Tabu search» (поиск с запретами) [8].

Кратко опишем основную идею метода автоматического поиска ослабляющих ограничений. Рассмотрим задачу обращения функции вида /MD4-k : {0,1}512 — {0,1}128 при фиксированном k и сведём её к SAT. Пусть C(/md4-&) —шаблонная КНФ для данной задачи [7], X — множество всех булевых переменных в данной КНФ, а КНФ C(/MD4-k, х) является результатом подстановки в C(/MD4-k) обращаемого хеш-значения X Е{0,1}128.

Множество Q ослабляющих ограничений для рассматриваемой задачи — это множество R = {r1,... , tq}, в котором c каждым ограничением Tj, j = 1,... , Q, связана булева переменная sj из множества переменных переключения S = {s1,...,sq}, S П X = 0. Произвольное ограничение Tj —это, как правило, формула следующего вида:

j Л ... Л j , {xj,.. . , xjt.} С X. Рассмотрим следующую КНФ:

Cj = (Sj V x£) Л ... Л (sj V xjj).

Из формулы sj Л Crj по правилу единичной дизъюнкции (Unit Propagation rule, [9]) выводится формула xJ1 Л ... Л xJttj. С другой стороны, применение поглощения к формуле Sj Л Crj даёт Sj. В данной ситуации будем говорить, что ограничение Tj «активно» при sj = 1 и «неактивно» при sj = 0.

Область всевозможных наборов значений переменных из множества S — это {0,1}Q. Таким образом, каждый ненулевой булев вектор Л Е {0,1}Q задаёт некоторый набор активных ослабляющих ограничений из множества R. Вопрос оценки эффективности конкретного набора ограничений из R нетривиален. На текущем этапе в качестве меры эффективности выбрана функция, заданная следующим образом.

В произвольном векторе Л Е {0,1}Q выделим множество компонент {Лh 1,... , Л^}, 1 ^ d ^ Q, равных единице. Данное множество задаёт набор активных ослабляющих ограничений с номерами h1,... , hd. Рассмотрим функцию

МЛ) = #{xCT : С(Л) —^up xCT,x Е Xin},

в которой (7(Л) = C(/MD4-k, х) Л Д Crj, множество Xin С X — это множество пе-

je{hi,...,hd]

ременных в C(/md4-&, х), кодирующих неизвестный 512-битный вход функции /md4-&, а запись «С(Л) —up xa» означает, что из КНФ С(Л) по правилу единичной дизъюнкции выведена переменная x либо её отрицание. Таким образом, значение функции ^(Л) равно числу формул вида x° над переменными из множества Xin, выводимых по правилу единичной дизъюнкции в результате активизации ослабляющих ограничений, заданных вектором Л.

Вычислительные методы в дискретной математике

141

Оценочная функция ^(А) —это функция типа «черный ящик», аналитические свойства которой неизвестны. Для решения задачи поиска новых ослабляющих ограничений как задачи максимизации данной функции используется метаэвристический алгоритм, относящийся к классу алгоритмов поиска с запретами. В программной реализации алгоритма рассматриваются окрестности Хэмминга радиуса 1 в множестве {0,1}«.

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

Р1 : 000000000000011011101110111010000000000 р2 : 000000000000001011101110111011000000000

Эти ограничения позволяют не только эффективно обращать хеш-значения 0128 и 1128, но и устойчиво находить МВ4-39-прообразы для 128-битных векторов, сгенерированных случайным образом (таблица).

Поиск MD4-39 прообразов для 500 случайно сгенерированных 128-битных векторов

Relaxation constraints Сред. время решения, с Макс. время решения, с Кол-во задач (в % от общего числа)

Прообраз найден Прообраз не найден

Pi 12 80 65 35

P2 46 250 75 25

Для большинства задач (65-75 %) среднее время нахождения одного прообраза при помощи SAT-решателя minisat2.2 на одном ядре процессора Intel i7-3770K (3,5 GHz) составило меньше минуты. В то же время, используя условия из [3, 4], minisat2.2 не находит решения таких задач за несколько часов. Остальные задачи (25-35 %) соответствуют 128-битным векторам, для которых не существует МЮ4-39-прообразов, совместных с условиями р1 или р2, причём этот факт быстро доказывается SAT-решателем.

ЛИТЕРАТУРА

1. Rivest R. L. The MD4 message digest algorithm // LNCS. 1990. V. 537. P. 303-311.

2. Wang X., LaiX., Feng D., et al. Cryptanalysis of the hash functions MD4 and RIPEMD // LNCS. 2005. V. 3494. P. 1-18.

3. De D., Kumarasubramanian A, and Venkatesan R. Inversion attacks on secure hash functions using SAT solvers // LNCS. 2007. V.4501. P. 377-382.

4. Dobbertin H. The first two rounds of md4 are not one-way // LNCS. 1998. V. 1372. P. 284-292.

5. Gribanova I., Zaikin O., Otpuschennikov I., and Semenov A. Using parallel SAT solving algorithms to study the inversion of MD4 hash function // Proc. Parallel Computational Technologies. 2017. P. 100-109.

6. Отпущенников И. В., Семeнов А. А. Технология трансляции комбинаторных проблем в булевы уравнения // Прикладная дискретная математика. 2011. №1. С. 96-115.

7. Otpuschennikov I., Semenov A., Gribanova I., et al. Encoding cryptographic functions to SAT using TRANSALG system // Proc. ECAI2016 —22nd Europ. Conf. Artificial Intelligence. Hague, 2016. V.285. P. 1594-1595.

8. Glover F. and Laguna M. TABU Search. Kluwer, 1999.

9. Dowling W. F. and Gallier J. H. Linear-time algorithms for testing the satisfiability of propositional horn formulae //J. Logic Programming. 1984. V. 1. No. 3. P. 267-284.

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