Алгебраический анализ стойкости криптографических систем защиты информации

Алгебраический анализ стойкости криптографических систем защиты информации

Е.А. Маро

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

- Стандарт симметричного шифрования ГОСТ 28147-89 [1] используется в большинстве российских средств защиты конфиденциальной информации.

- Алгоритм ГОСТ 28147-89 рассматривается в качестве международного стандарта шифрования в ISO 18033.

Алгоритм шифрования ГОСТ 28147-89 в режиме простой замены представляет собой 32 раунда зашифрования, построенного по принципу сети Фейстеля. Длина блока открытого текста (Т) и шифротекста (С) равна 64 бита (8 байт), секретный ключ шифрования (К) - случайная последовательность длиной 256 бит. Блок открытого текста разбивается на две равные части по 32 бита каждая. Над правой частью открытого текста выполняется раундовое преобразование (F), состоящее из трех операций:

- Сложение с раундовым ключом по модулю 232;

- Замена в восьми секретных S-блоках;

- Циклический сдвиг влево на 11 позиций.

Левая часть открытого текста складывается по модулю два с результатом раундового преобразования. После чего производится обмен местами правой и левой частей текстов. Схема алгоритма шифрования ГОСТ 28147-89 приведена на рис. 1.

Раундовые ключи шифрования вычисляются из исходного секретного ключа путем разбиения его на восемь 32-битных блоков: K1, К2,К3, К4, К5, К6, К7, К8. С 1 по 24 раунд ключи используются в прямом порядке: К1, К2,

К3, К4, К5, К6, К7, К8, К1, К2, К3, К4, К5 и так далее. С 25 по 32 раунды ключи берутся в обратном порядке: К8, К7, К6, К5, К4, К3, К2, К1.

F-функция

Секретный ключ, 256 бит: Кеу={К1, К2, КЗ, К4, К5, Кб, К7, К8}

Раундовый ключ, 32 бита: кр{К1, К2, КЗ, К4, К5, Кб, К7, К8, К1, К2, КЗ, К4, К5, Кб, К7, К8, К1, К2, КЗ, К4, К5, Кб, К7, К8, К8, К7, Кб, К5, К4, КЗ, К2, К1}

Рисунок 1 - Алгоритм шифрования ГОСТ 28147-89 Российский стандарт симметричного шифрования ГОСТ 28147-89 является стойким к большинству криптографических атак, например, методу полного перебора на ключевом пространстве, дифференциальному и линейному криптоанализам [2]. В тоже время существует вероятность, что алгоритм ГОСТ 28147-89 может быть уязвим к алгебраическим атакам [3]. Опираясь на методы алгебраического взлома алгоритма Advanced Encryption Standard [4,5], проведен анализ возможности применения алгебраических методов криптоанализа для взлома ГОСТ 28147-89, в частности в данной статье рассмотрен метод Extended Linearization (XL) [6].

Учитывая, что алгебраические атаки в основе своей используют представление нелинейных преобразований шифрования в виде системы уравнений, необходимо знать таблицы замен. Блоки замены, используемые в конкретной реализации алгоритма ГОСТ 28147-89, являются дополнительным секретным элементом. В тоже время существует метод восстановления блоков замены, с которым можно ознакомиться в работах [7-

9]. Метод основан на использовании «накрывающего» свойства сети Фейстеля. Данное свойство заключается в том, что при идентичных раундах шифрования прохождение текста через четное число раундов сети Фейстеля повлечет изменение только половины выходного блока (шифротекста). Для соблюдения требования идентичности раундов используется нулевое значение секретного ключа (атака на выбранных ключах), при этом все раундовые ключи будут также равны нулю. Первый этап атаки - нахождение нулевого вектора (ъ), который равен раундовому преобразованию шифрования от нулевого значения ъ = Р(0). Второй этап - восстановление таблицы блока замены по «накрывающему» свойству. Для алгоритма ГОСТ 28147-89 атака требует выполнения не более 232 операций зашифрования для однозначного определения таблиц замены.

Рассмотрим один раунд алгоритма ГОСТ Ф. Необходимо составить систему уравнений для 8-ми параллельно используемых Б-блоков. Выполним составление уравнений для одного блока, заданного таблицей 1. Аналогичным образом выполняет поиск линейно независимых уравнений для оставшихся 7 блоков замены.

Таблица 1. Таблица замены Б-блока

X 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

У=Б(х) 4 10 9 2 13 8 0 14 6 11 1 12 7 15 5 3

Сначала составляем все уравнения вида (1). Число таких уравнений равно 2=137438953472, число одночленов в них - 37, число переменных - 8.

4 4 4 4 4

£ аХгХ] + £ РХгУ1 + £ Зу1у] +£ Лх1 +£ +П = 0

г, ]=0 г, ]=0 г, ]=0 1=0 г=0

Затем выполним выбор уравнений, верных для исследуемого Б-блока, для этого составлена таблица истинности, представленная на рис. 2.

Для данного Б-блока верными оказались 2097151 уравнений. Из них можно выбрать ~37-24=21 линейно независимых уравнений. Предположим, что получено минимально возможное число линейно независимых уравнений

- 21. Для решения системы обратимся к алгоритму метода еХ1епёеё Ьтегаш2а1;юп. Вычислим параметр ё. Так как отношение —¡= < 2, то

л/Г

принимаем ё=3. Тогда уравнения системы умножаются на одночлены в первой степени: (х1; х2, х3, х4, у1; у2, у3, у4}. Следовательно, получим 21-8=168 дополнительных уравнений. Результирующая система будет содержать 189 уравнений, 75 одночленов, которые после приведения к линейному виду рассматриваются как новые переменные.

х4 хЗ х2 XI У4 уз у2 у1 х4хЗ х4х2 х4х1 хЗх2 хЗх11x2x11у4уЗ У4у2 У4у1 уЗу2 уЗу1 у2у1 х4у4 х4уЗ х4у2 х4у1 хЗу4 хЗуз|хЗу2|хЗу1 х2у4 х2уЗ х2у2 х2у1 х1у4 х1уЗ х1у2 Х1у1 п

0 0 0 0 0 1 0 0 0 0 0 0 ООО 0 0 0 0 0 0 0 0 0 0 ООО 0 0 0 0 0 0 0 0

0 0 0 0 1 0 1 0 0 0 0 0 ООО ООО 1 0 0 0 0 0 0 0 0 0 ООО ООО 0 0 0 0 1 0 0

0 1 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0

0 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0

0 1 0 0 1 0 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 0 0

0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0

0 1 1 0 0 0 0 0 0 0 1  0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

0 1 1 1 1 1 0 0 0 0 1 1 1 1 1 0 1 0 0 0 0 0 0 1 1 1 0 1 1 1 0 1 0

1 0 0 0 1 1 0 0 0 0 0  0 0 0 0 1 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0

1 0 0 1 0 1 1 0 0 1 0  0 0 1 1 0 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 1

1 0 0 1 1 1 0 0 0 1 0 1 0 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 1 0 0 0 1 0 0

1 1 1 1 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0

1 0 0 1 1 1 1 0 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0

1 0 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 0 1 1

1 1 1 0 0 1 0 1 1 1 0 1 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0

1 1 1 1 0 0 1 1 1 1 1 1 1 1 0 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1

Рисунок 2 - Таблица истинности для исследуемого блока замены Таким образом, для одного раунда должна быть получена система из 8-189=1512 уравнений, связывающая вход и выход блока замены. Число переменных составит 64, число одночленов в данной системе равно 75-8=600. Даже если часть уравнений, полученная после умножения, окажется линейно зависимой, оставшихся уравнений будет достаточно для решения методом линеаризации. Полученную систему линейных алгебраических уравнений (СЛАУ) можно решать методами, описанными в работах [10,11].

После составления системы нужно перейти от рассмотрения входов и выходов блока замены к раундовым ключам. Для этого представим ьтый бит входного значения блока замены в виде суммы по модулю 2 бита правой части открытого текста и раудового ключа.

Исходя из структуры одного раунда ГОСТ Ф, выразим выход блока замены через известные данные по формуле (2).

У\ = % >>11Ф >>11

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

При исследовании полнораундного алгоритма ГОСТ Ф система уравнений второго порядка до применения метода ХЬ будет содержать 21-8-32=5376 квадратных уравнения, 32-64=2048 переменных и 37-8-32=9472 одночленов. В результате умножения системы на одночлены в первой степени получим систему с 48384 кубическими уравнениями и 19200 одночленами. В первом раунде замена входных битов блоков замены будет аналогична атаке на однораундовую версию, а выход блока замены останется без изменения неизвестным у1д. Во втором раунде, используя свойство сети Фейстеля, входные биты Б-блока будут представлены формулой (3).

х2л = к2л Ф Ф У\л<<11

Выход блока также задается неизвестным у2д. В последующих раундах связь входных битов блока замены и открытого текста задана формулой (4).

п—1

хпг = кп. Ф Ф V у.,.<<,,, если п нечетное

п,г п,г Иг / 1 ',г<<11 ?

'=П—1

,г п,г ^г

. =1

= кп,г Ф 1и Ф V У',г<<11 , если п четное

Для последнего раунда ГОСТ Ф можно выполнить замену по формулам

(5) и (6).

х32.г = СИ Ф к32л

31

У32.г = СИг >>11 Ф % >>11 Ф V У',г>>11

'=1

Работа выполнена при поддержке грантов РФФИ №12-07-31032-мол_а, №12-07-33007-мол_а_вед.

Список литературы:

1. ГОСТ 28147-89. Системы обработки информации. Защита криптографическая. Алгоритм криптографического преобразования // М.: Изд-во стандартов, 1989. - 28 с.

2. Панасенко С.П., Стандарт шифрования ГОСТ 28147-89. Обзор криптоаналитических исследований. // http://www.cio-world.ru/.

3. Courtois N., Security Evaluation of GOST 28147-89 In View Of International Standardisation // http://eprint.iacr.org/2011/211.

4. Kleiman E., The XL and XSL attacks on Baby Rijndael. // http://orion.math.iastate.edu/dept/thesisarchive/MS/EKleimanMSSS05.pdf

5. Courtois N., How Fast can be Algebraic Attacks on Block Ciphers./ Nicolas T. Courtois // Cryptology ePrint Archive, Report 2006/168, 2006.

6. Courtois N., Klimov A., Patarin J., Shamir A., Efficient algorithms for solving overdefined systems of multivariate polynomial equations // EUROCRYPT, 2000. - pp. 392-407.

7. Saarinen M.-J., A chosen key attack against the secret S-boxes of GOST. // http://citeseer.ist.psu.edu - August 12, 1998.

8. Бабенко Л.К., Маро Е.А., Вычисление блоков замены алгоритма шифрования ГОСТ 28147-89 // Труды конгресса по интеллектуальным системам и информационным технологиям «IS&IT'11». Научное издание в 4-х томах. - М.: Физматлит, 2011. -Т. 3. -с. 393-395.

9. Babenko L.K., Ishchukova E.A., Maro E.A., Research about Strength of GOST 28147-89 Encryption Algorithm // Proceedings of the 5th international conference on Security of information and networks (SIN 2012), ACM, New York, NY, USA, pp. 80-84.

10. Бегляров В.В., Берёза А.Н. Гибридный эволюционный алгоритм решения систем линейных алгебраических уравнений, описывающих электрические цепи [Электронный ресурс] / В.В. Бегляров, А.Н. Берёза // «Инженерный вестник Дона», 2013-№ 1.- Режим доступа: http://ivdon.ru/magazine/archive/n1y2013/1540 (доступ свободный) - Загл. с экрана. - Яз. рус.

11. Целигоров Н.А., Целигорова Е.Н., Мафура Г.В. Математические модели неопределённостей систем управления и методы, используемые для их исследования [Электронный ресурс] / Н.А. Целигоров, Е.Н. Целигорова,

Г.В. Мафура // «Инженерный вестник Дона», 2012 - № 4, часть 2.- Режим доступа: http://ivdon.ru/magazine/archive/n4p2y2012/1340 (доступ свободный) - Загл. с экрана. - Яз. рус.