Научная статья на тему 'ОБРАЩЕНИЕ 29-ШАГОВОЙ ФУНКЦИИ СЖАТИЯ MD5 ПРИ ПОМОЩИ АЛГОРИТМОВ РЕШЕНИЯ ПРОБЛЕМЫ БУЛЕВОЙ ВЫПОЛНИМОСТИ'

ОБРАЩЕНИЕ 29-ШАГОВОЙ ФУНКЦИИ СЖАТИЯ MD5 ПРИ ПОМОЩИ АЛГОРИТМОВ РЕШЕНИЯ ПРОБЛЕМЫ БУЛЕВОЙ ВЫПОЛНИМОСТИ Текст научной статьи по специальности «Математика»

CC BY
53
10
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
криптографическая хеш-функция / MD5 / алгебраический криптоанализ / логический криптоанализ / проблема булевой выполнимости / cryptographic hash function / MD5 / algebraic cryptanalysis / logical cryptanalysis / SAT

Аннотация научной статьи по математике, автор научной работы — Заикин Олег Сергеевичзаикин Олег Сергеевич

Криптографическая хеш-функция MD5 предложена в 1992 г. Ключевым компонентом MD5 является 64-шаговая функция сжатия. До сих пор не представляется возможным обратить функцию сжатия MD5 за реальное время, поэтому зачастую в данном контексте анализируются версии с сокращённым количеством шагов. В 2007 г. с помощью алгоритмов решения проблемы булевой выполнимости (SAT) была обращена 26-шаговая функции сжатия MD5. В 2012 г. с помощью SAT были обращены 27и 28-шаговые версии. В настоящем исследовании предлагается подход к формированию 32 промежуточных задач обращения между парой последовательных шагов функции сжатия MD5. С помощью этого подхода построены промежуточные задачи обращения между 28 и 29 шагами. Несколько простых задач использованы для параметризации современного SAT-решателя, в результате чего впервые обращена 29-шаговая функция сжатия MD5.

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

Похожие темы научных работ по математике , автор научной работы — Заикин Олег Сергеевичзаикин Олег Сергеевич

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

INVERTING 29-STEP MD5 COMPRESSION FUNCTION VIA SAT

The cryptographic hash function MD5 was proposed in 1992. Its key component is a 64-step compression function. The compression function is still preimage resistant, that is why its step-reduced versions are usually investigated in this context. In 2007, the 26-step version of the MD5 compression function was inverted via SAT. In 2012, 27- and 28-step versions were inverted via SAT as well. In the paper, an approach to forming 32 intermediate inversion problems between two subsequent steps of the MD5 compression function is proposed. SAT encodings of such problems were constructed between 28 and 29 steps. Several simplest problems were leveraged for tuning a modern SAT solver. As a result, the 29-step version of the MD5 compression function was inverted for the first time.

Текст научной работы на тему «ОБРАЩЕНИЕ 29-ШАГОВОЙ ФУНКЦИИ СЖАТИЯ MD5 ПРИ ПОМОЩИ АЛГОРИТМОВ РЕШЕНИЯ ПРОБЛЕМЫ БУЛЕВОЙ ВЫПОЛНИМОСТИ»

m Ti Eir cEi T2 E2T «2

6 366,6 436,5 0 291,2 348,8 0,05

7 733,2 631,6 0 582,4 696,7 0,1

8 1,4Е3 1,4 Е3 0,05 1,1 Е3 1,2 Е3 0,1

9 2,9Е3 3,7 Е3 0,1 2,3 Е3 2,7 Е3 0,05

10 5,8Е3 5,9 Е3 0 4,6 Е3 7,5 Е3 0,1

11 1,1 Е4 1,0 Е4 0 9,3 Е3 7,6 Е3 0,2

12 2,34 Е4 2,9 Е5 0,1 1,8 Е4 1,6 Е4 0,05

13 4,6Е4 5,8 Е4 0 3,7 Е4 4,9 Е4 0,05

14 9,3Е4 9,7 Е4 0,05 7,4 Е4 1,1 Е5 0,2

15 1,8Е5 2,1 Е5 0,2 1,4 Е5 1,6 Е5 0,1

16 3,7Е5 4,2 Е5 0 2,9 Е5 3,5 Е5 0,1

17 7,5Е5 7,2 Е5 0,05 5,9 Е5 6,3 Е5 0,1

18 1,5Е6 1,3 Е6 0,1 1,1 Е6 1,3 Е6 0,05

19 3,0Е6 3,4 Е6 0,05 2,3 Е6 1,7Е6 0,05

20 6,0Е6 6,3 Е6 0,1 4,7 Е6 4,4 Е6 0

21 1,2Е7 1,0 Е7 0,05 9,5 Е6 1,1 Е7 0,1

22 2,4Е7 2,6 Е7 0,15 1,9 Е7 2,1 Е7 0,1

ЛИТЕРАТУРА

1. Luby М. and Rackoff С. How to construct pseudorandom permutations from pseudorandom functions 11 SIAM J. Comput. 1988. V. 17. P. 373-386.

2. Nachef V., Patarin J., and Volte E. Feistel Ciphers: Security Proofs and Crvptanalvsis. Springer, 2017.

3. Ланкастер П. Теория матриц. M.: Наука, 1978.

4. Денисов О. В. Атаки различения на блочные шифрсистемы по разностям двублочных текстов // Прикладная дискретная математика. 2020. №48. С. 43-62.

5. Ивченко Г. И., Медведев Ю. И. Математическая статистика. М.: Высшая школа, 1984.

УДК 004.8 Б01 10.17223/2226308Х/16/10

ОБРАЩЕНИЕ 29-ШАГОВОЙ ФУНКЦИИ СЖАТИЯ МБ5 ПРИ ПОМОЩИ АЛГОРИТМОВ РЕШЕНИЯ ПРОБЛЕМЫ БУЛЕВОЙ ВЫПОЛНИМОСТИ1

О. С. Заикин

Криптографическая хеш-функция MD5 предложена в 1992 г. Ключевым компонентом MD5 является 64-шаговая функция сжатия. До сих пор не представляется возможным обратить функцию сжатия MD5 за реальное время, поэтому зачастую в данном контексте анализируются версии с сокращённым количеством шагов. В 2007 г. с помощью алгоритмов решения проблемы булевой выполнимости (SAT) была обращена 26-шаговая функции сжатия MD5. В 2012 г. с помощью SAT были обращены 27- и 28-шаговые версии. В настоящем исследовании предлагается подход к формированию 32 промежуточных задач обращения между парой последовательных шагов функции сжатия MD5. С помощью этого подхода построены промежуточные задачи обращения между 28 и 29 шагами. Несколько простых задач использованы для параметризации современного SAT-решателя, в результате чего впервые обращена 29-шаговая функция сжатия MD5.

Ключевые слова: криптографическая хеш-функция, MD5, алгебраический криптоанализ, логический криптоанализ, проблема булевой вы,полним,ост,и.

1Работа выполнена за счёт субсидии Минобрнауки России в рамках проекта № 121041300065-9.

Введение

Принимая на вход сообщение произвольной длины, бееключевые криптографические хеш-функции генерируют хеш фиксированной длины [1]. Такие функции имеют несколько обязательных свойств, среди которых легкость вычисления. Из потенциальных свойств отметим устойчивость к поиску коллизий и к поиску прообраза. Последнее свойство означает, что для произвольного хеша поиск его прообраза (т, е, обращение соответствующей криптографической хеш-функции) не представляется возможным осуществить за реальное время, В 1992 г. была предложена бесключевая криптографическая хеш-функция MD5, которая генерирует хеш длиной 128 бит [2]. Главным компонентом MD5 является функция сжатия, которая смешивает 512-битный блок сообщения со специальным 128-битным регистром в течение 4 раундов, каждый из которых состоит из 16 шагов, С 2005 г. М 1)5 не является стойкой к поиску коллизий [3]. Несмотря на это, данная функция всё ещё широко используется для хеширования паролей и проверки целостности данных. Одна из причин состоит в том, что М 1)5 ещё не скомпрометирована в контексте поиска прообраза.

В последние годы популярным направлением исследований является обращение неполнораундовых версий функции сжатия М 1)5. При этом чаще всего используется логический криптоанализ, т. е. исходная задача сводится к экземпляру проблемы булевой выполнимости, для решения которого применяется SAT-решатель [4]. Отметим, что логический криптоанализ является подвидом алгебраического криптоанализа [5]. В 2007 г. была впервые обращена 26-шаговая функции сжатия MD5 [6]. При этом использовался SAT-решатель, основанный на алгоритме Conflict-Driven Clause Learning (CDCL) [7]. Здесь и далее имеются в виду первые шаги функции сжатия, т.е. в [6] представлен результат обращения сокращённой функции сжатия М 1)5. состоящей из 16 шагов первого раунда и 10 шагов второго раунда. В 2012 г. были впервые обращены 27- и 28-шаговые версии функции сжатия MD5 [8]. Для этого также был применён CDCL-решатель, С тех пор никому не удалось обратить 29-шаговую функцию сжатия MD5, Настоящее исследование нацелено на решение именно этой задачи,

В 2022 г. с помощью метода Cube-and-Conquer были впервые обращены 40-, 41-, 42- и 43-шаговые версии функции сжатия криптографической хеш-функции MD4 [9]. Согласно этому методу, предназначенному для решения трудных экземпляров SAT, сначала с помощью lookahead-решателя задача разбивается на более простые подзадачи, а затем на них запускается CDCL-решатель [10]. Кроме Cube-and-Conquer, в [9] использованы условия Доббертина [11], которые ранее были успешно применены для обращения 39-шаговой функции сжатия MD4 [6, 12]. К сожалению, согласно предварительным исследованиям, условия Доббертина не эффективны в контексте обращения неполнораундовой функции сжатия MD5, Исходя из этого, для решения данной задачи требуется другой подход,

1. Промежуточные задачи обращения функции сжатия MD5

Рассмотрим пару последовательных шагов функции сжатия MD5 с номерами i — 1 иг, 2 ^ i ^ 64, Идея состоит в построении промежуточных задач обращения путём постепенного ослабления i-ro шага, при том что первые i — 1 шагов работают как

i

a ^ b + ((а + Func(b, с, d) + M[j] + K[i]) <<< s).

Здесь a, b, си d — значения четырёх специальных регистров; Func — нелинейная функция; M[j] —32-битное слово, которое является j-й частью 512-битного сообщения M;

K[i] — известная константа; <<< циклический сдвиг влево. Отметим, что на каждом из четырёх раундов для смешивания используется собственная нелинейная функция,

i

ки ослабить шаг путём отбрасывания одной или нескольких операций. Оказалось, что даже если отбросить использование нелинейной функции, для CDCL-решателей задача не становится существенно проще. При этом если отбросить слагаемое M[j], то для CDCL-решателя такая задача становится сопоставимой по сложности с задачей обращения i — 1 шагов.

Предлагается формировать 32 промежуточные задачи обращения между шагами i— 1 и i постепенной заменой на i-м шаге M [j] на слово, частично состоящее из нулевых битов, В первой промежуточной задаче M [j] заменяется на 32 нулевых бита. Следует подчеркнуть, что здесь и далее имеется в виду замена M[j] только на шare i, а не на всех шагах функции сжатия. Во второй промежуточной задаче замена производится на слово, в котором 31 старший бит равен нулю, а оставшийся бит — соответствующему (неизвестному) младшему биту в M[j], Наконец, в 32-й промежуточной задаче на i-м шаге M[j] заменяется на слово, в котором старший бит равен 0, а оставшиеся биты равны соответствующим битам M[j], Таким образом, псевдокод модифицированного i-ro шага для р-й промежуточной задачи обращения выглядит следующим образом:

а ^ b + ((а + Func(b, с, d) + ((M[j] << (32 — р + 1)) >> (32 — р + 1)) + K[i]) <<< s).

Предполагается, что для современных CDCL-решателей первая промежуточная задача обращения сравнима по сложности с задачей обращения i — 1 шагов функции

i

2. Обращение 29-шаговой функции сжатия MD5

На первом этапе были построены две КНФ, кодирующие 28 шагов функции сжатия MD5, Для их построения использованы программные комплексы Transalg [13] и ('ВМС' [14], Было сгенерировано несколько случайных 128-битных слов и путём подстановки в каждую из двух КНФ 128 соответствующих однолin оральных дизъюнктов были получены КНФ, кодирующие задачи обращения для конкретных хешей. Во всех экспериментах использовался CDCL-решатель KlSSAT [15] версии 3,0, так как он показал отличные результаты на соревнованиях SAT-решателей в 2020-2022 гг. Оказалось, что на каждой КНФ KlSSAT находит решение на персональном компьютере примерно за 1-3 часа, но при этом среднее время решения было ниже на КНФ, сгенерированных с помощью ('ВМС. Отметим, что на задачах обращения неполнораундовой функции сжатия МI) I ситуация обратная —там Transalg лучше, чем СВМС [9],

На втором и последующих этапах рассматривались задачи обращения только единичного хеша, т, е, 128-битного слова, состоящего из единиц. Были сделаны 32 КНФ, кодирующие промежуточные задачи обращения между 28 и 29 шагами, KlSSAT был запущен на персональном компьютере с лимитом времени 48 часов на каждой из промежуточных задач. Только первые восемь из них были решены. После этого была проведена параметризация Kiss.\ г на первых четырёх промежуточных задачах, В результате были найдены новые значения параметров KlSSAT, которые позволяют быстрее решать задачи из этого класса. Параметризованная версия KlSSAT решила 13 промежуточных задач с тем же лимитом времени.

На третьем этапе для решения остальных промежуточных задач применялся метод Cube-and-Conquer [10], при этом на второй его стадии работал тот же параметризованный KlSSAT, который использовался на персональном компьютере. Эксперименты

проведены на вычислительном кластере «Академик В, М, Матросов» [16]. Каждой задаче выделялось 7 дней на 5 узлах кластера. В результате из оставшихся 19 промежуточных задач обращения были решены 13, включая 31-ю задачу, в которой на 29-м шаге M[13] заменяется на (M[13] ^ 2) ^ 2.

На четвертом этапе с помощью ('ВМС была сгенерирована КНФ, кодирующая задачу обращения 29-шаговой функции сжатия MD5, На ней в тех же условиях на кластере был запущен Cube-and-Conquer, Решение найдено не было. Напомним, что в самой сложной из решённых промежуточных задач па 29-м шаге M [13] заменяется на слово, в котором два старших бита равны 00, а остальные 30 бит равны соответству-M[13]

29-шаговой функции сжатия, но у M[13] были другие значения старших битов. Были сделаны ещё 3 КНФ, в которых двум старшим битам на 29-м шаге присваиваются значения не 00, как в 31-й промежуточной задаче, а 01, 10 и 11 соответственно. На всех этих КНФ также был запущен Cube-and-Conquer на кластере, и в результате только на варианте 10 было найдено решение. На этот раз у M [13] значения двух старших битов были равны 10. Таким образом, был найден прообраз единичного хеша, который сгенерирован 29-шаговой функцией сжатия MD5, Корректность данного прообраза проверена на реализации MD5 из работы [2].

ЛИТЕРАТУРА

1. Алферов А. П., Зубов А. Ю., Кузьмин А. С., Черемушкин А. В. Основы криптографии. 2-е изд. М.: Гелиос АРВ, 2002.

2. Rivest R. The MD5 message-digest algorithm. RFC 1321. 1992. https://www.ietf.org/rfc/ rfcl321.txt.

3. Wang X. and Yu H. How to break MD5 and other hash functions // LNCS. 2005. V.3494. P. 19-35.

4. Massacci F. and Marram L. Logical crvptanalvsis as a SAT problem //J. Automated Reasoning. 2000. V. 1. P. 165-203.

5. Bard G. Algebraic Crvptanalvsis. N.Y.: Springer, 2009.

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

7. Marques-Silva J. P. and SakallahK.A. GRASP: a search algorithm for prepositional satisfiability 11 IEEE Trans. Computers. 1999. V.48(5). P. 506-521.

8. Legendre F., Dequen G., and Krajecki M. Encoding hash functions as a SAT problem // Proc. ICTAI. Athens, Greece, 2012. P. 916-921.

9. Zaikin O. Inverting 43-step Ml) I via cube-and-conquer // Proc. IJCAI-ECAI 2022. P. 18941900.

10. Heule M. J. H., Kullmann O., Wieringa S., and Biere A. Cube and Conquer: guiding CDCL SAT solvers by lookaheads // LNCS. 2012. V.7261. P. 50-65.

11. DobbertinH. The first two rounds of MI) I are not one-way // LNCS. 1998. V. 1372. P. 284-292.

12. Гриба,нова, И. А. Новый алгоритм порождения ослабляющих ограничений в задаче обращения хеш-функции Ml) 1-39 // Прикладная дискретная математика. Приложение. 2018. №11. С. 139-141.

13. Semenov A. A., Otpuschennikov I. V., Gribanova I. A., et al. Translation of algorithmic descriptions of discrete functions to SAT with application to crvptanalvsis problems // Logical Methods in Computer Science. 2020. V. 16. Iss. 1. P. 29:1-29:42.

14. Clarke Е., Kroening D., and Lerda F. A tool for checking ANSI-C programs // LNCS. 2004.

V.2988. P. 168-176.

15. Biere A. and Fleury M. Gimsatul, IsaSAT and Kissat entering the SAT Competition 2022 //

Proc. SAT Competition 2022. Solver and Benchmark Descriptions. P. 10-11.

16. Иркутский суперкомпьютерный центр CO РАН. http://hpc.icc.ru.

УДК 004.4 DOI 10.17223/2226308Х/16/11

СРАВНИТЕЛЬНЫЙ АНАЛИЗ КАЧЕСТВА ПРЕОБРАЗОВАНИЯ ГРАФИЧЕСКОЙ ИНФОРМАЦИИ С ПОМОЩЬЮ БЛОЧНЫХ

ШИФРОВ

Е. А. Ищукова, Р. Р. Борлаков

Представлены результаты практических экспериментов по влиянию различных алгоритмов шифрования (DES, AES, Магма) в режиме электронной кодовой книги (ECB) на качество преобразования графической информации в зависимости от её свойств. В ходе эксперимента проверена гипотеза, согласно которой качество шифрования зависит не только от алгоритма шифрования и его режима, но и от свойств самой преобразуемой информации. Экспериментально продемонстрировано, что на качество преобразования информации влияют такие параметры, как количество цветов в цветовой палитре, количество крупных и мелких объектов на рисунке, количество пикселей, наличие или отсутствие фона, а также другие.

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

Введение

Известно, что режим шифрования ECB, как правило, используется не для шифрования файлов, а как составная часть других режимов шифрования, которые обеспечивают связь блоков между собой и равномерное перемешивание информации. Тем не менее исследования надёжности шифра всегда начинаются с изучения его работы в режиме ECB. Отдельно обсуждается вопрос о том, как влияет режим шифрования на преобразование разных типов данных. Так, для алгоритма AES было показано, что шифрование графической информации в режиме ECB приводит к сохранению структуры рисунка так, что можно определить содержимое этого рисунка [1, 2]. Рядом исследователей предпринимаются попытки создать новые алгоритмы шифрования, которые бы позволили качественно преобразовывать любую графическую информацию [3, 4]. В настоящей работе мы провели сравнительный анализ влияния различных алгоритмов шифрования, используемых в режиме ECB, на качество преобразования графических изображений в зависимости от свойств самого изображения. В качестве алгоритмов шифрования для исследования были выбраны бывший стандарт шифрования США DES, действующий стандарт шифрования США AES и отечественный алгоритм шифрования Магма.

1. Методы исследования

Алгоритм DES [5] активно использовался до начала 2000 годов, в настоящее время является устаревшим, хотя до сих пор в реализациях некоторых протоколов применяются его модифицированные версии. Например, в стандартах ANSI Х9.17 и ISO 8732 используется тройной DES с двумя ключами (Tripple-DES). Алгоритм DES представляет собой симметричный блочный шифр, построенный по схеме Фейстеля. На его вход

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