Анализ стойкости блочных алгоритмов шифрования к алгебраическим атакам

Раздел IV. Методы и средства криптографии и стеганографии

УДК 003.26.09

JI.K. Бабенко, Е.А. Маро АНАЛИЗ СТОЙКОСТИ БЛОЧНЫХ АЛГОРИТМОВ ШИФРОВАНИЯ К АЛГЕБРАИЧЕСКИМ АТАКАМ

Проводится исследование стойкости алгоритма ГОСТ к атаке на основе алгебраического криптоанализа. Суть алгебраического анализа заключается в представлении алгоритма шифрования в виде системы уравнений второй степени, связывающей секретный ключ шифрования с открытым и зашифрованным текстом. В качестве метода решения нелинейной системы уравнений, составленной для блоков замены, в работе рассматривается eXtended Linearization метод. В ходе исследования показано, что для 32 раундов алгоритма шифрования ГОСТ составлена система из 5376 квадратных уравнений, связывающих входы и выходы блоков замены. Общее число переменных равно 2048, в системе содержится 9472 одночлена.

ГОСТ 28147-89; ГОСТФ; секретный блок замены; алгебраический криптоанализ; система уравнений второй степени; eXendedLinearization метод; метод исключения Гаусса.

L.K. Babenko, E.A. Maro ANALYSIS OF RESISTANCE BLOCK CIPHERS AGAINST ALGEBRAIC

CRYPTANALYSIS

This paper is devoted to the investigation of GOST algorithm with regard to its resistance against algebraic cryptanalysis. The general idea of algebraic analysis is based on the representation of initial encryption algorithm as a system of multivariate quadratic equations, which define relations between a secret key and a cipher text. Extended linearization method is evaluated as a method for solving the nonlinear system of equations. The research has shown that 32-round GOST is described by a system of 5 376 quadratic equations, which characterize dependencies between inputs and outputs of S-blocks. The total number of variables is 2 048 and the system contains 9 472 monomials.

GOST 28147-89; GOSTФ; S-box; systems of multivariate quadratic equations; algebraic cryptanalysis; extended linearization method; Gaussian elimination.

. -

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

. [1, 2] -

дится исследование стойкости алгоритмов Advanced Encryption Standard и Data Encryption Standard к алгебраическим атакам, однако в открытой печати до сих пор содержится недостаточное количество исследований, посвященных анализу стойкости алгоритма ГОСТ 28147-89 к данным атакам.

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

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

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

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

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

Левая часть открытого текста (TL) складывается по модулю два с результатом .

левой частей текстов. Схема алгоритма шифрования ГОСТ 28147-89 приведена на рис. 1.

Зашифрованное сообщение Рис. 1. Алгоритм шифрования ГОСТ 28147-89

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

Алгоритм шифрования ГОСТ. Алгоритм шифрования ГОСТ по структуре выполняемых операций полностью совпадает с ГОСТ 28147-89, отличием между алгоритмами является способ сложения раундовых ключей: по модулю два в ГОСТ и по модулю 232 в ГОСТ 28147-89.

Исследуемый алгоритм ГОСТ использует 8 одинаковых блоков замен, пред. 1. . 2.

Таблица 1

Блок замены

Вход блока замены 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

Рис. 2. Один раунд алгоритма шифрования ГОСТ ф

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

В общем виде все алгебраические атаки можно разделить на два этапа:

1. -.

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

Та..х.х. + ТА У У + Ту х.у + ТЗ.х. + Те.У +Л=0,

у 1 . . . . у . } 11 1 .

где Х;Х| - комбинация входных битов Б-блока; у;у - комбинация выходных битов Б-блока; х;у - комбинация входных и выходных битов; х; и у; - соответственно входные и выходные биты Б-блока;

- , 0 1.

Для блока замены размером 8 бит можно составить 2‘ уравнений, где I - число одночленов, встречающихся в уравнениях. Параметр I вычисляется по формуле (2).

1=

2s

2

+2з+1,

Для выбора из всего числа возможных уравнений только верных преобразованиям конкретного блока замен формируется таблица проверок уравнений. 06. 2.

Затем выполняется построчная подстановка значений из таблицы проверок в уравнения. В случае выполнения равенства для всех входов блока замены (0-28) уравнение считается соответствующим преобразованиям блока замены. Часть из , , -

.

алгоритмом, описанным в работе [8], или вычислить нелинейно независимые , .

2

Общий вид таблицы проверки

Входные значения Э- блока Выходные значения 8-блика Все сочетания входных и выходных значений Є-блока

Все возможные входные значения 8-бликс_ (от 0 до 28) Хї XI у. Уі ХїХі-1 х:хі у.у.-1 у:уі Х!у, хіуі л

0 0 1 1 1

1 1 0 1 1

При выборе линейно независимых уравнений можно воспользоваться следующей теоремой [9].

Теорема 1. Для любого блока замены размером пхт бит: Б(х1, ..., хп)— (у1, •••, Ут), и для любого подмножества Т из I всех возможных одночленов (2п+т),

если выполняется условие t>2n, то существует по меньшей мере t-2n линейно независимых уравнений, содержащих одночлены из множества T и выполняющиеся с вероятностью 1.

Методы решения системы уравнений, применяемые в криптоанализе.

Рассмотрим способы решения полученной системы. Применение к исходной системе метода Гаусса без дополнительных преобразований системы невозможно из-за наличия произведений неизвестных. В источниках [10, 11] для решения подобного рода систем рекомендуется способ линеаризации и его модификация для увеличения числа линейно независимых уравнений - метод extended Linearization.

Метод extended Linearization предложен Nicolas Courtois, Alexander Klimov, Jacques Patarin и Adi Shamir в работе [1].

Пусть К - некоторое поле, А - система линейно независимых уравнений li=0,(KKm), где каждое li - многочлен вида fi(x1, ..., xn) - bi. Цель данного метода

- получение как минимум одного решения x = (x1, ..., xn) G Kn, для заданного b = (bb ... ,bm) G Km.

В XL алгоритме нужно составить все уравнения вида (^k х..)*^. = 0, где

j=1 j .

x- - G (x ,...х ). Уравнения такого типа обозначим через xk£, в то же время данное j 1 п

выражение будет обозначать совокупность всех подобных уравнений. Совокупность

элементов степени k обозначим как xk = i^k х г^е х G (х х J. Пусть

[ j=l ij ’ ij V n J

DG N, тогда ID - линейное пространство, создаваемое всеми уравнениями вида xk £ для 0<k<D-2.

Алгоритм XL метода имеет следующий вид:

а) Multiply: составление всех произведений вида (Qk.х.,)*t .g Id, гДе k<D-2.

U V .

б) Linearize: рассмотрение каждого одночлена xi в степени < D как новой переменной и применение исключения Гаусса к уравнениям, полученным

).

) Solve: ) , -

чено, по крайней мере, одно уравнение с единственной переменной xi.

) Repeat: -

ний других переменных.

Рассмотрим вычисление параметра алгоритма XL атаки. Пусть D=2, 3,. -параметр XL алгоритма. Алгоритм основан на умножении всех уравнений системы (m) (n) D-2. -

п ^

m новых уравнений. Общее число одночленов,

лучаем примерно R.

D - 2

встречающихся в этих уравнениях, составляет T =

. Большинство из полу-

ченных уравнений являются линейно независимыми. В этом случае нужно выбрать достаточно большое Б такое, что выполняется условие (3):

n л n

R = D-2, m > D; = T

Очевидно, что число линейно независимых уравнений не может превышать число одночленов Т. Если система имеет единственное решение, то существует значение Б, для которого выполняется неравенство Я > Т . Причем число линейно независимых уравнений из И будет достаточно близко к Т. Если разность числа

одночленов (Т) и линейно независимых уравнений не велика, то система будет

.

.

Ожидается, что значение Б, при котором применим метод ХЬ, будет равным или близким к теоретическому значению параметра Б. В этом случае, ХЬ алгоритм будет эффективен при условии (4).

Ч / ч

п2/В1.

Из формулы (4) получаем, что параметр атаки Б вычисляется по формуле (5):

В ~-П=.

ыт

Алгебраический криптоанализ ГОСТ. Составим систему уравнений, описывающую преобразования в блоке замены 4x4, заданном табл. 3.

Таблица 3

Блок замены для составления системы уравнений

'п' п

Я > Т => т> /

О) ~2,

Вход блока замены 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

Для данного блока всего можно составить 2 =137438953472 уравнений вида (1). Составим таблицу истинности для проверки соответствия уравнений преобразованиям в блоке. Таблица истинности представлена на рис. 3.

Рис. 3. Таблица истинности исследуемого блока замены 4x4 бита

При проверке возможных 237 уравнений верными таблице истинности оказались 2 097 151 уравнения. Выделение из общего числа уравнений только линейно

( ). -

дуемого нами блока замены после преобразования системы по алгоритму Гаусса получено 21 линейно независимое уравнение (6).

Х4+Х4У2+Х3У3+Х3У1+Х2У4+Х2У 1=0

Х3+Х3Х2+Х4У1+Х3У3+Х3У2+Х2У4+Х2У3+Х2У2+Х2У1+Х1У4+Х1У3+Х1У2+Х1У1=0 Х2+Х3Х2+Х2У3+Х2У2+Х2У 1=0

Х1+Х4У1+Х3У2+Х2У4+Х2У2+Х2У1+Х1У4+Х1У3+Х1У1=0

У4+Х4У1+Х3У1+Х2У3+Х2У1+Х1У4+Х1У3+Х1У1=0

У3+Х3Х2+Х2У2+Х2У1+Х1У4+Х1У3+1=0

У2+Х4У2+Х1У2+Х1У1=0

У1+Х3У1+Х2У3+Х2У1+Х1У3+Х1У1=0

Х4Х3+Х4У1+Х3У4+Х3У2+Х3У1+Х2У4+Х2У2+Х2У1+Х1У4+Х1У2+Х1У1=0

Х4Х2+Х4У1+Х3У2+Х1У3+Х1У1=0

Х4Х1+Х4У1+Х3У4+Х3У1+Х2У4+Х2У3+Х2У2+Х2У 1+Х1У4+Х1У2=0

Х3Х1+Х3У3+Х3У1+Х2У2+Х1У4+Х1У3+Х1У2=0

Х2Х1+Х4У1+Х3У4+Х3У1+Х2У4+Х2У3+Х2У1+Х1У4+Х1У2+Х1У1=0

У4У3+Х4У1+Х3У4+Х3У2+Х2У4+Х2У2+Х2У1+Х1У4+Х1У3+Х1У2+Х1У1=0

У4У2+Х4У1+Х3У2+Х2У4+Х2У2+Х2У1+Х1У3+Х1У2+Х1У1=0

У4У1+Х3У3+Х3У2+Х2У4+Х2У3+Х1У1=0

У3У2+Х4У4+Х4У2+Х4У1+Х3У3+Х3У2+Х3У1+Х2У4+Х2У1+Х1У 1=0 У3У1+Х4У4+Х4У1+Х3У4+Х2У4+Х2У3+Х2У2+Х2У1+Х1У4+Х1У2=0 У2У1+Х4У4+Х3У2+Х1У3=0

Х4У4+Х3У4+Х3У3+Х3У2+Х2У3+Х2У2+Х1У4+Х1У3+Х1У2+Х1У1=0

Х4У3+Х4У2+Х4У1+Х3У4+Х3У1+Х2У4+Х2У2+Х2У1+Х1У4+Х1У3+Х1У2=0

,

, 168 64 .

, , 36 8=288.

Проведем атаку на два раунда данного алгоритма шифрования. Исходные :

Т=975865455312564352=

=00001101100010101111100001110110000101000111101011110000100000002, шифротекст

С=4092806235576314598=

=11000111001100110110111001101001110100011111100001010101000110102.

,

. 168 , 64 -

288 . ,

, -

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

, 288.

Структура исследуемого алгоритма представлена на рис. 4. На предыдущем этапе составлена система уравнений, связывающая вход и выход блоков замены.

4, -

ставить выходное значение блоков замены ^) как сумму известных открытого текста и шифротекста по формуле (7).

Y1=(TLCR)>>>П, для первого раунда

Y2=(TRCL)>>>11, для второго раунда.

Выполнив замену Y в двух раундах на конкретное значение, соответствующее заданным открытому тексту и шифротексту, мы получаем, что число неизвестных в системах будет сокращено с 64 (х32-хь у32-у0 до 32 (х32-х0. А число

одночленов, встречающихся в системах, уменьшится до 80.

(7). -

чение для первого раунда шифрования будет равно

Yl=(T^Cк)>>>11=

=(00001101100010101111100001110110^ф 110100011111100001010101000110102)>>>11= =110111000111001010101101011011002>>>11= =101011011001101110001110010101012.

32 бит

У 32

э7

У1

Х1

CR

к2

Рис. 4. Два раунда алгоритма шифрования ГОСТф

Выполним подстановку значения Y1 в систему уравнений (6), описывающую преобразования первого раунда шифрования. Решением данной системы является значение Х1= 000101000010100101010111111011102.

Тогда из структуры алгоритма шифрования ГОСТ следует, что ключ пер-( 1) (8).

Kl=Xl©TR

К1=000101000010100101010111111011102ф000101000111101011110000100000002=

=0101001110100111011011102=5482350.

Рассчитаем выходное значение блока замены Y2 для второго раунда по формуле (7).

Y2=(Cl©Tr)>>>11=

=(110001110011001101101110011010012000101000111101011110000100000002)>>>11= =110100110100100110011110111010012>>>11= =110111010011101001101001001100112.

Тогда решением системы для второго раунда является значение X2= 010001001111000110000010111111112.

Как видно из структуры алгоритма шифрования ГОСТ, ключ второго раунда (К2) может быть вычислен по формуле (9).

K2=X2©Cr

K2=X^Cr=

=010001001111000110000010111111112110100011111100001010101000110102= =100101010000100111010111111001012=2500450277.

Выполнена проверка полученных ключей путем зашифрования исходного . ,

.

Криптоанализ трех и более раундов ГОСТ. Аналогично атаке на два раунда алгоритма шифрования ГОСТ система, описывающая преобразования в блоках замены, задана уравнениями (6). Однако для трех и более раундов шифрования сразу выразить выход блоков замены в виде числа через сумму открытого текста и шифротекста будет невозможно. Следовательно, сократить число неизвестных в системе таким образом не удастся.

Рассмотрим три раунда шифрования. Система содержит 3-21-8=504 уравнения, 192 неизвестных и 36-8-3=864 одночлена. Применение метода линеаризации, используемого при анализе двух раундов, не позволяет однозначно найти решение системы. Обратимся к методу extended Linearization (XL) для получения дополни. Xl -

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

D = *1,75.

V2I

, D=3,

D>2. Для каждого блока замены мы имеем дополнительно 21-8=168 уравнений. Система, описывающая работу одного блока замены, содержит 189 уравнений (21 исходное и 168 дополнительно полученных методом XL), 8 неизвестных и

число уникальных одночленов, равное t'=

т

+

,3, А

+8=92. Система, описывающая

преобразования в одном раунде шифрования, будет содержать 8-189=1512 уравнения, 64 неизвестных и не более 9 472 уникальных одночленов (которые затем рассматриваются как новые переменные).

, , систему из 1 512-3=4 536 уравнений с 192 неизвестными и 2 208 уникальными од.

Для N раундов шифрования система будет содержать 1 512^ уравнений с 64^ неизвестными и 736^ уникальными одночленами. Рассчитаем данные характеристики для полного алгоритма ГОСТ (32 раунда): число уравнений равно 48 384, число неизвестных - 2 048, число одночленов - 23 552.

Сложность атаки полагается равной сложности решения системы линейных

уравнений. Сложность решения методом Гаусса системы, описывающей зашифрование в 32 раундах, составит (23552)3=(215)3=245.

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

1. Courtois N., Pieprzyk J. Cryptanalysis of block ciphers with overdefined systems of equations / N. Courtois, J. Pieprzyk // ASIACRYPT. - 2002. - P. 267-287.

2. Courtois N., Gregory V. Bard. Algebraic Cryptanalysis of the Data Encryption Standard // 11-th IMA Conference, 2007. - P. 152-169.

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

4. Бабенко Л.К., Маро КА. Криптоанализ блочных алгоритмов шифрования // Системы высокой доступности. - 2011. - № 2 (7). - С. 13-16.

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

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

7. Шеннон К. Теория связи в секретных системах // http://www.enlight.ru/crypto/ articles/shannon/shann i.htm.

8. Маро Е.А. Алгебраический криптоанализ упрощенного алгоритма шифрования Rijndael // Известия ЮФУ. Технические науки. - 2009. - № 11 (110). - С. 187-199.

9. Kipnis A., Shamir A., Cryptanalysis of the HFE public key cryptosystem by relinearization // Advances in Cryptology-Crypto’99. - Springer, 1999. - (Lect. NotesComput. Sci. Vol. 1666).

- P. 19-30.

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

11. Бабаш А.В., Шанкин Г.П. Криптография. Аспекты защиты. - М.: Издательский дом «Солон-Р», 2002. - 511 с.

Статью рекомендовал к опубликованию д.т.н., профессор Н.И. Витиска.

Бабенко Людмила Климентьевна

Технологический институт федерального государственного автономного

образовательного учреждения высшего профессионального образования «Южный

федеральный университет» в г. Таганроге.

E-mail: blk@fib.tsure.ru.

347928, г. Таганрог, ул. Чехова, 2.

Тел.: 88634312018.

Кафедра безопасности информационных технологий; д.т.н.; профессор.

Маро Екатерина Александровна

E-mail: marokat@gmail.com.

Тел.: +79185209219.

Кафедра безопасности информационных технологий; аспирантка.

Babenko Lyudmila Klimentevna

Taganrog Institute of Technology - Federal State-Owned Autonomy Educational

Establishment of Higher Vocational Education “Southern Federal University”.

E-mail: blk@fib.tsure.ru.

2, Chekhov Street, Taganrog, 347928, Russia.

Phone: +78634312018.

The Department of Security of Information Technologies; Dr. of Eng. Sc.; Professor.

Maro Ekaterina Aleksandrovna

E-mail: marokat@gmail.com.

Phone: +79185209219.

The Department of Security of Information Technologies; Postgraduate Student.