Научная статья на тему 'Дифференциальный криптоанализ алгоритма ГОСТ 28147-89'

Дифференциальный криптоанализ алгоритма ГОСТ 28147-89 Текст научной статьи по специальности «Математика»

CC BY
1359
167
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ГОСТ / ДИФФЕРЕНЦИАЛЬНЫЙ КРИПТОАНАЛИЗ / ВХОДНАЯ РАЗНОСТЬ / ВЫХОДНАЯ РАЗНОСТЬ ХАРАКТЕРИСТИКА / СЕКРЕТНЫЙ КЛЮЧ / GOST / DIFFERENTIAL CRYPTANALYSIS / INPUT DIFFERENCE / OUTPUT DIFFERENCE / CHARACTERISTIC / SECRET KEY

Аннотация научной статьи по математике, автор научной работы — Бабенко Людмила Климентьевна, Ищукова Евгения Александровна

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

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

Похожие темы научных работ по математике , автор научной работы — Бабенко Людмила Климентьевна, Ищукова Евгения Александровна

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

DIFFERENTIAL CRYPTANALYSIS OF GOST ENCRYPTION ALGORITHM

In this article we explore the resistance of the GOST 28147-89 algorithm to the attack based on differential cryptanalysis. As the result of our research, we have found out that there is a number of S-boxes with weak properties with respect to differential cryptanalysis. The use of such elements in GOST allows obtaining features that have a fairly high probability that can be used to carry out attacks. So, if we use the same weak block replacement, the probability characteristics for the 32 rounds of GOST can reach 2 -25, which makes it relatively easy to get the right pair of texts for analysis.

Текст научной работы на тему «Дифференциальный криптоанализ алгоритма ГОСТ 28147-89»

УДК 681.03.245

JLK. Бабенко, Е.А. Ищукова ДИФФЕРЕНЦИАЛЬНЫЙ КРИПТОАНАЛИЗ АЛГОРИТМА ГОСТ 28147-89*

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

ГОСТ; дифференциальный криптоанализ; входная разность; выходная разность ха; .

L.K. Babenko, E.A. Ischukova DIFFERENTIAL CRYPTANALYSIS OF GOST ENCRYPTION ALGORITHM

In this article we explore the resistance of the GOST 28147-89 algorithm to the attack based on differential cryptanalysis. As the result of our research, we have found out that there is a number of S-boxes with weak properties with respect to differential cryptanalysis. The use of such elements in GOST allows obtaining features that have a fairly high probability that can be used to carry out attacks. So, if we use the same weak block replacement, the probability characteristics for the 32 rounds of GOST can reach 2 -25, which makes it relatively easy to get the right pair of texts for analysis.

GOST; differential cryptanalysis; input difference; output difference; characteristic; secret key.

Метод дифференциального криптоанализа, впервые предложенный Э. Биха-мом (E. Biham) и А. Шамиром (A. Shamir) для анализа алгоритма DES [1, 2], базируется на прослеживании изменения разности двух сообщений при их прохождении через раунды шифрования. После появления работ [1, 2] большинство существовавших на тот момент алгоритмов шифрования были подвергнуты анализу с использованием данного метода. Исследования показали, что метод дифференциального криптоанализа является универсальным, т.е. может быть применен к анализу большинства известных симметричных криптосистем. Именно поэтому вновь создаваемые алгоритмы шифрования в первую очередь тестируются на устойчивость к данному виду анализа.

Данная работа посвящена изучению стойкости к методу дифференциального криптоанализа алгоритма ГОСТ, определенного в качестве государственного стандарта в Российской Федерации. До сих пор в открытой печати имеется сравнительно мало информации о возможных уязвимостях данного шифра. Одной из наиболее значимых работ является статья [3], в которой авторы предложили вариант анализа алгоритма ГОСТ с использованием дифференциального криптоанализа на связанных ключах (Related-Key Attack) при условии использования слабых . -ществления атаки на алгоритм шифрования ГОСТ с помощью классического метода дифференциального криптоанализа и определить условия, при которых осуществление данной атаки возможно.

* Работа поддержана грантом РФФИ № 09-07-00245-а. 120

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

, -пешному осуществлению атаки на основе метода дифференциального криптоанализа. Долгое время считалось, что если оставлять Б-блоки в секрете, то их можно рассматривать как дополнительный ключевой материал [6]. Однако в работе [5] был предложен метод, применение которого позволяет достаточно просто восстановить значения Б-блоков, используемых для шифрования данных.

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

секунд и даже меньше.

Прежде чем приступить к рассмотрению проблемы, введем несколько базо, . разностью будем понимать результат поразрядного сложения по модулю два (операция ХОИ) двух отдельно шифруемых на одном и том же секретном ключе ,

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

Описание алгоритма ГОСТ. Алгоритм шифрования ГОСТ 28147-89 является государственным стандартом Российской Федерации. Его использование обязательно для шифрования данных в государственных организациях РФ. Алгоритм ГОСТ является симметричным блочным шифром, построенным по схеме Фейсте-ля (Ре1в1е1). На вход алгоритма поступает 64-битовый блок данных, который под воздействием 256-6итового ключа преобразуется в 64-битовый блок шифрованных .

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

. 32 , -

следнем раунде шифрования правая и левая части местами не меняются.

В алгоритме шифрования ГОСТ используется 8 Б-блоков, которые преобразуют 4 бита на входе в Б-блок в 4 бита на выходе. В отличие от большинства алгоритмов шифрования ГОСТ не имеет фиксированных блоков замены и может использовать любые варианты блоков.

256

последовательности из восьми 32-битовых слов: К1, К2, КЗ, К4, К5, К6, К7, К8. В каждом раунде шифрования в качестве раундового подключа используется одно из этих 32-битовых слов. При определения раундового подключа руководствуются следующим принципом: с 1 по 24 раунды используются последовательно К1, К2, КЗ, К4,

5, 6, 7, 8, 1, 2 . . 25 32 : 8, 7, 6, 5, 4, 3, 2, 1.

, , раундовый подключ К1.

Дифференциальные свойства криптографических преобразований алгоритма ГОСТ. Сложение по модулю 232. Метод дифференциального криптоанализа базируется на прослеживании изменения несхожести между двумя сообщениями. Для определения несхожести используется операция сложения по модулю два, которая в результате сложения дает ненулевые биты в тех позициях, в которых два исходных сообщения имели различные значения битов. Именно поэтому в алгоритме шифрования БББ при рассмотрении прохождения разности через функцию раундового преобразования Б значение ключа не влияет на изменение разности текстов, так как два одинаковых значения дадут 0 в результате сложения по модулю два. В алгоритме шифрования ГОСТ, в отличие от БББ, сложение с ключом

232.

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

1. , . . -.

:

1 п1 p = — , если входная разность Двх < 2 ; (1)

2

1 п1 p = и_у , если входная разность Двх > 2 , (2)

где к - число ненулевых позиций входной разности.

2. Для входной разности равной Двх=0 на выходе преобразования будет значение выходной разности Двых = 0 с вероятностью р=1.

3. = 2п-1

= 2п-1 = 1.

Более детальное объяснение можно найти в работе [4].

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

:

входной разности АЛ для рассматриваемого Б-блока, по горизонтали - все возможные комбинации выходной разности АС для этого же блока, а на пересечении - А АЛ ( -

ние полученного числа соответствий к возможному числу соответствий; возмож-

2п, п - ,

Б-блока). Пары разностей АЛ и АС, имеющие наибольшую вероятность (или веро-, ), нахождения секретного ключа шифрования.

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

.

идет о разностях двух текстов. Пусть у нас имеется два текста: А и В, тогда их разность равна (Л © В). Если сдвинуть каждое из значений А и В циклически влево на 8 разрядов, то получим разность (А << 8) © (В << 8), которая обладает сле-:

(А << 8) © (В << 8) = (А© В) << 8. (3)

Если рассмотреть эту операцию применительно к алгоритму ГОСТ 28147-89, :

(А << 11) © (В << 11) = (А© В) << 11,

. . ,

11 .

Слабые блоки для алгоритма ГОСТ: поиск и анализ. Алгоритм ГОСТ содержит 8 Б-блоков. При этом сами блоки не являются фиксированными. То есть , , -ванные случайным образом. Криптографическую стойкость алгоритму должно обеспечить достаточно большое число раундов шифрования. Долгое время считалось, что если держать Б-блоки в секрете, то можно рассматривать их как дополнительный ключевой материал. Однако в работе [5] было показано, что Б-блоки, используемые в алгоритме шифрования, можно достаточно просто восстановить.

В связи с этим разумно рассмотреть слабые Б-блоки для алгоритма ГОСТ и оценить степень сложности атаки на основе дифференциального криптоанализа при их использовании.

Было определено, что в качестве слабых выступают те блоки замены, для которых входная разность ДА, содержащая одну единицу (т.е. возможно всего 4 варианта такой разности ДА = 1, ДА = 2, ДА = 4, ДА = 8) заменяется на выходную разность ДС, также содержащую одну единицу (АС = 1, ДС = 2, ДС = 4, ДС = 8).

,

X и Х1, поступающих на вход Б-блока, то можно сопоставить вместе все варианты для получения разностей ДА так, как показано в табл. 1. В табл. 1 в скобках указаны значения входов X и Х1 в десятичном виде.

1

Варианты входных значений для получения разностей ДA

ВходХ Вход Х1 ДА=0001 (1) Вход Х1 ДА=0010 (2) Вход Х1 ДА=0100 (4) Вход Х1 ДА=1000 (8)

0000 (0) 0001 (1) 0010 (2) 0100 (4) 1000 (8)

0001 (1) 0000 (0) 0011 (3) 0101 (5) 1001 (9)

0010 (2) 0011 (3) 0000 (0) 0110 (6) 1010 (10)

0011 (3) 0010 (2) 0001 (1) 0111 (7) 1011 (11)

0100 (4) 0101 (5) 0110 (6) 0000 (0) 1100 (12)

0101 (5) 0100 (4) 0111 (7) 0001 (1) 1101 (13)

0110 (6) 0111 (7) 0100 (4) 0010 (2) 1110 (14)

0111 (7) 0110 (6) 0101 (5) 0011 (3) 1111 (15)

1000 (8) 1001 (9) 1010 (10) 1100 (12) 0000 (0)

1001 (9) 1000 (8) 1011 (11) 1101 (13) 0001 (1)

1010 (10) 1011 (11) 1000 (8) 1110 (14) 0010 (2)

1011 (11) 1010 (10) 1001 (9) 1111 (15) 0011 (3)

1100 (12) 1101 (13) 1110 (14) 1000 (8) 0100 (4)

1101 (13) 1100 (12) 1111 (15) 1001 (9) 0101 (5)

1110 (14) 1111 (15) 1100 (12) 1010 (10) 0110 (6)

1111 (15) 1110 (14) 1101 (13) 1011 (11) 0111 (7)

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

1,

значений ДА = 1, ДА = 2, ДА = 4, ДА = 8. Римские цифры над горизонтальными стрелками и слева от вертикальных стрелок указывают номер связи (связь I - для ДА = 1, связь II - для ДА = 2, связь III - для ДА = 4 и связь IV - для ДА = 8). Так, например, значение ДА, равное 2 (связь II), может быть получено, если X = 0, а

Х1 = 2 или если X = 1, а Х1 = 3 и т.д.

Каждому входному значению ДА может быть противопоставлено одно из четырех выходных значений ДС (ДС = 1, ДС = 2, ДС = 4, ДС = 8). Таким образом,

= 1, = 2, = 4, = 8 -

поставить 24 комбинации из четверок выходных разностей (табл. 2).

Рис. 1. Граф связей для возможных выходов 8-блока

2

Варианты соответствия выходных разностей ДС

№1 ДС №2 ДС №3 ДС №4 ДС №5 ДС №6 ДС №7 ДС №8 ДС №9 ДС №10 ДС №11 ДС №12 ДС

ДА=1 1 1 1 1 1 1 2 2 2 2 2 2

ДА=2 2 2 4 4 8 8 1 1 4 4 8 8

ДА=4 4 8 2 8 2 4 4 8 1 8 1 4

ЛА=8 8 4 8 2 4 2 8 4 8 1 4 1

№13 ДС №14 ДС №15 ДС №16 ДС №17 ДС №18 ДС №19 ДС №20 ДС №21 ДС №22 ДС №23 ДС №24 ДС

ДА=1 4 4 4 4 4 4 8 8 8 8 8 8

ДА=2 1 1 2 2 8 8 1 1 2 2 4 4

ДА=4 2 8 8 1 1 2 2 4 1 4 1 2

ЛА=8 8 2 1 8 2 1 4 2 4 1 2 1

Обозначим ДС| значение выходной разности для ДА = | Тогда в соответствии с рис. 1 можно определить 15 формул для нахождения заполнения искомой таблицы:

а1 = а0 © АС1; а10 = а2 © 4;

а2 = ао © ЛС2; а7 = а3 © 3;

а4 = ао © ЛС3; а11 = а3 © 4;

а8 = ао © ЛС4; а12 = а4 © 4;

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

а3 = а1 © 2; а14 = а6 © 4;

а5 = а1 © 3; а15 = а7 © ЛС4;

а9 = а1 © 4; а13 = а15 © ЛС2:

а6 = а2 © 3;

28 , , представленных выше, достаточно для нахождения Б-блока, остальные формулы будут дублировать друг друга.

Меняя значение ао от 0 до 15, можно получить 16 разных Б-блоков для каждой из возможных комбинаций АС. Таким образом, можно получить 16*24 = 384 различных Б-блоков, обладающих слабыми свойствами.

В качестве примера была использована комбинация №11 из табл. 2 и значе-а0 = 1. , , . 3.

Таблица 3

Сформированный блок замены

Вход 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Выход 1 3 9 11 0 2 8 10 5 7 13 15 4 6 12 14

На первый взгляд может показаться, что полученный Б-блок не может быть использован для осуществления атаки, так как в таблице анализа, построенной для , 0, 1. . , алгоритма ГОСТ Б-блоки не единственное преобразование, оказывающее влияние на изменение вероятности характеристики. Целочисленное сложение данных по 232 . -

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

232.

будет показано, как Б-блок из табл. 3 может быть использован для анализа.

Нахождение характеристик для алгоритма ГОСТ. Для упрощения объяснения в рассматриваемом алгоритме ГОСТ будет использован один и тот же Б-блок, представленный в табл. 3. Это не значит, что для успешного анализа алгоритм ГОСТ должен использовать один и тот же Б-блок. Возможно достаточно большое число комбинаций из 384 слабых блоков, которые могут привести к по.

Прежде чем приступить к нахождению хороших характеристик, необходимо определить, какие характеристики не могут быть использованы для анализа. В соответствии с правилами преобразования разности при прохождении ее через операцию целочисленного сложения по модулю 2П, если входная разность Двх = 2П-1, то на выходе преобразования будет значение выходной разности Двых = 2П-1 с вероятностью р = 1. Таким образом, если правая часть выходной разности характеристики будет равна 80000000х, то такую характеристику нельзя будет использовать для поиска секретного ключа, так как вероятность прохождения характери-

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

, , части выходной разности в каждой тетраде будет содержать значения, отличные от 0 8 . 232 -

хождение единственной характеристики, имеющей ненулевые значения в каждой тетраде, влечет за собой довольно маленькое значение вероятности, так как в каждом раунде через операцию целочисленного сложения будет проходить разность, содержащая минимум 8 единиц. Это не оправдано. Гораздо проще получить несколько характеристик с довольно большими вероятностями, в каждой из которых будет задействованы одна или несколько тетрад.

В работе [4] была представлена разработка универсального алгоритма, позволяющего находить хорошие характеристики для алгоритма ГОСТ. На вход данного алгоритма поступает значение входной разности. После этого рассматриваются все варианты преобразования разности (с учетом свойств таблиц анализа для Б-блоков) и отбираются те выходные разности, для которых вероятность будет , ( -ками алгоритма). В рассматриваемом варианте алгоритма ГОСТ для Б-блока замены, определенного в табл. 3, таблица анализа содержит только максимальные ве-( =1). -ундового преобразования определена единственным образом. В связи с этим поиск выходной разности при заданной входной разности занимает время меньше секунды. Данный алгоритм был использован для опробования всех возможных вариантов входных разностей, в тетрадах которых может находиться одно из пяти значений: 0Х, 1х, 2Х, 4Х и 8. Так как входной блок в алгоритм ГОСТ содержит 64 бита,

т.е. 16 тетрад, то всего было опробовано 516 = 237,15. Анализ 32 раундов алгоритма

ГОСТ показал, что существует достаточно большой объем пар входной - выход, -

( 2-25 2-33) .

ожидалось, входные разности, для которых несколько тетрад (более трех) содержали ненулевые тетрады не дали хороших вероятностей. Таким образом, можно , -

стей. Достаточно рассмотреть несколько вариантов, где в разных тетрадах будут содержаться разные значения, и использовать их в дальнейшем для анализа. Подобный отбор с использованием алгоритма, приведенного в работе [4], может занять от нескольких минут до получаса.

Рассмотрим более подробно одну из найденных характеристик. На вход алгоритма шифрования подается входная разность ДХ1 = 80400000 00000000х. В соответствии со значением ДХ1, на вход функции Б первого раунда шифрования

00000000 , -

стью р1 = 1. После этого выход функции Б складывается по модулю два с левой

1, . . 80400000 , .

В результате на вход второго раунда шифрования поступает значение разности ДХ2 = 00000000 80400000х. Здесь уже на вход функции Б поступает ненулевое значение разности 80400000х. Первым преобразованием функции Б является операция целочисленного сложения по модулю 232. Так как значение 80400000х > 231, , (2), ,

разности 80400000х останется неизменным р2 = 1. Общая вероятность для двух-

2

раундовой характеристики будет равна р = р1*р2 = 2.. Следующим шагом являет-

2

ся преобразование с помощью Б-блоков. Известно, что значение 8 меняется единственно возможным способом на значение 4Х, а значение 4Х - на значение 1Х. Таким образом, после замены с помощью Б-блоков разность преобразуется к виду 40100000х. Последним преобразованием является циклический сдвиг влево на 11 позиций, в результате которого получаем: (40100000х <<< 11) = 80000200х. Таким образом, на выходе Б функции второго раунда появится значение разности

80000200х с вероятностью .1. После сложения с левой частью и обмена местами ' 2

получим, что на вход третьего раунда шифрования поступит значение ДХ3 = 80400000 80000200 .

образом. Примечательно, что после пяти раундов преобразование разностей начинает циклически повторяться. Кроме того, в каждом раунде преобразование разно-

232

выполняется с вероятностью не меньше, чем .1. А в 7 раундах из 32 (раунды но-

2

мер 1, 6, 11, 16, 21, 26, 31) на вход функции Б поступает значение разности, равное

00000000 , = 1. ,

итоговая вероятность для полученной характеристики равна _А_.

Приемы, используемые для поиска секретного ключа. Ранее уже упоми-

,

(в идеале характеристик должно быть столько, чтобы в результате не осталось ни

, 0 8 ),

вероятность будет лежать в диапазоне от 2-25 до 2-33. Такие значения вероятностей позволяют надеяться на сравнительно легкое нахождение правильных пар текстов, пригодных для анализа. Согласно Парадоксу Дней Рождений, для нахождения правильной пары текстов, соответствующей характеристике, которая выполняется

с вероятностью , необходимо в среднем проанализировать 233,5 пар текстов.

225

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

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

232

. 1 -

сматривать восемь тетрад к1, к2, к3, к4, к5, к6, к7, к8 в соответствии с количеством используемых блоков замены. Для каждой тетрады надо производить опробование 16 вариантов возможных значений фрагмента ключа (от 0000 до 1111). Те варианты, которые будут сохранять значение разности в тетрадах ХЯ и ХЯ1

после целочисленного сложения, считаются возможными вариантами значений для фрагмента раундового подключа. Кроме того, необходимо учитыватьь тот факт, что при сложении тетрады сообщения (XR или XR1) с тетрадой раундового подключа может возникнуть перенос из младших разрядов. Поэтому для всех тет-, , , сложения тетрады сообщения и тетрады ключа будет добавляться еще 1 в младший разряд тетрады. При анализе правильных пар текстов некоторые значения для каждой тетрады раундового подключа будут встречаться чаще других, что позволит сделать предположения о возможных значениях раундового подключа.

Повысить результаты анализа позволяет прием, который использовали Э. Би-хам (E. Biham) и А. Шамир (A. Shamir) при анализе алгоритма DES [1]. При поиске правильных пар текстов для полного 16-раундового DES они рассматривали лишь правую часть выходной характеристики. Левая часть выходной характеристики могла быть равна любому значению. В этом случае вероятность прохождения разности через последний раунд шифрования не учитывалась при определении общей вероятности характеристики. Тот факт, что правая часть правильных пар текстов совпадает с правой частью рассматриваемой характеристики, позволяет предположить, что разность текстов при прохождении через раунды шифрования преобразовывалась именно так, как это было определено при построении характеристики. И лишь в последнем раунде разность преобразовывалась одним из возможных способов.

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

необходимо сдвинуть вправо на 11 позиций и в соответствии с таблицей анализа для блоков замены определить значение разности, которое поступало на вход S- . -

ленного сложения по модулю 232. Дальнейшее опробование ключей необходимо , .

В результате такого анализа правильных пар текстов будет сформировано некоторое количество возможных значений (возможно, их будет несколько тысяч) раундового подключа К1. После этого необходимо провести анализ тех же правильных пар текстов, но уже с использованием не фрагментов подключа, а с выде-

32- .

В результате такого опробования останется всего несколько ключей (меньше деся-), .

Результаты. Для того, чтобы убедиться в действенности метода, была сымитирована атака на алгоритм ГОСТ, использующий один слабый блок замены, а также сокращенный до 12 раундов. При этом были использованы 8 раундовых ,

. S- ,

. 3.

, , -, .

Итак, первоначально было найдено 10 характеристик для 12 раундов алго-, . 4. ,

выходных разностей ДУ имеют от одной до трех ненулевых тетрад. При этом каждая тетрада хотя бы один раз имеет значение 1х, 2Х или 4Х.

4

Характеристики для 12 раундов алгоритма ГОСТ

№ ДХ ДУ ДУЬ'1 Р

1 00001000 00000001 00010000 10000000 00010100 1 218

2 00000800 00000004 00000004 00200804 00200800 1 218

3 00020000 00000008 00000008 04002008 04002000 1 218

4 00010000 00000010 00100000 00000001 00101000 1 218

5 00040000 00000020 00000020 08040020 08040000 1 218

6 00008000 00000040 00000040 02008040 02008000 1 218

7 00020000 00000080 00000080 40020080 40020000 1 218

8 00100000 00000100 01000000 00000010 01010000 1 218

9 00400000 00000200 00000200 80400200 80400000 1 213

10 80000000 00400000 00400000 80400200 80000200 1 211

Для каждой характеристики из табл. 4 было опробовано 100 000 пар текстов с целью поиска правильных пар текстов. Полученные правильные пары были проанализированы с использованием техники, описанной выше. Так, в результате

16 384

ключей из общего числа значений 232. Последующее опробование полного раундового подключа оставляло в среднем 5 возможных значений (в зависимости от числа найденных правильных пар текстов это значение колебалось от 2 до 10). Пол-

12 10- -, . 4, 1 2 (

проводились на процессоре Intel Celeron M CPU 530 1.73 GHz, RAM 1007Mb). Бы-

1 000

, .

B данной статье рассмотрена возможность проведения атаки на алгоритм ГОСТ с использованием метода дифференциального криптоанализа при условии, что алгоритм использует слабые S-блоки. Было показано, какие блоки могут счи-, . В результате использования слабых S-блоков для полного 32-раундового алгоритма ГОСТ становится возможным быстрое нахождение характеристик с вероятно, 2-25 2-33,

.

текстов с целью определения секретного ключа шифрования.

Для того чтобы проиллюстрировать возможность анализа, была проведена ими-12- , . скорость анализа позволяет надеяться на успех анализа полного 32-раундового алго-.

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

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

1. Biham E., Shamir A. Differential Cryptanalysis of the Full 16-round DES, Crypto'92, Springer-Velgar, 1998. - P. 487.

2. Biham E., Shamir A Differential Cryptanalysis of DES-like Cryptosystems, Extended Abstract, Crypto'90, Springer-Velgar, 1998. - P. 2

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

3. Kelsey J., Schnier B., Wagner D., Key-Schedule Cryptanalysis of IDEA, G-DES, GOST, SARER, and Triple-DES // http://www.schnier.com - 1996.

4. . ., . . -

28147-89 // -

риалы К Международной научно-практической конференции «Информационная безопасность». Ч. 2. - Таганрог: Изд-во: ТТИ ЮФУ, 2007 - С. 92-97.

5. Saarien M.-J. A Chosen Key Attack Against the Secret S-boxes of GOST // http://www.rn.-js.com - Helsinki University of Technology, Finland.

6. .. . . - .: -Петербург, 2009. - 576 с.

Статью рекомендовал к опубликованию д.т.н., профессор Я.Е. Ромм.

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

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

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

347928, . , . , 2.

.: 88634312018.

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

Ищукова Евгения Александровна

E-mail: jekky82@mail.ru.

Тел.: 88634371905.

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

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; Professor.

Ischukova Evgeniya Aleksandrovna

E-mail: jekky82@mail.ru.

Phone: +78634371905.

The Department of Security of Information Technologies; Associate Professor.

УДК 519.7

. . , . . , . .

РЕАЛИЗАЦИЯ ДВОИЧНЫХ ПСЕВДОСЛУЧАЙНЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ ЛИНЕЙНЫМИ ЧИСЛОВЫМИ ПОЛИНОМАМИ

Разработан алгоритм распараллеливания генерации псевдослучайных двоичных последовательностей (ПСП) на основе представления систем порождающих рекуррентных логических формул посредством линейных числовых полиномов. Линейные числовые полиномы, в отличие от общей (нелинейной) формы, обеспечивают высокую скорость вычислений. «Арифметизация» генераторов ПСП позволяет применить известные арифметиче-

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