Научная статья на тему 'РЕАЛИЗАЦИЯ НОВОЙ СТАТИСТИЧЕСКОЙ АТАКИ НА БЛОЧНЫЙ ШИФР'

РЕАЛИЗАЦИЯ НОВОЙ СТАТИСТИЧЕСКОЙ АТАКИ НА БЛОЧНЫЙ ШИФР Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
25
11
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КРИПТОГРАФИЯ / БЛОЧНЫЙ ШИФР / КРИПТОАНАЛИТИЧЕСКАЯ АТАКА

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

В работе описана модификация атаки на блочный шифр RC6, предложенной В.А. Монаревым и А.М. Лубкиным в 2010 году. Новый метод позволяет найти ключ для 5-раундового шифра на персональном компьютере за приемлемое время. В частности, вычислительная сложность для 5-го и 6-го раунда составляет 2 40 и 2 50 соответственно.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Монарев Виктор Александрович

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

IMPLEMENTATION OF A NEW STATISTICAL ATTACK ON BLOCK ENCRYPTION

In this paper, modification of attack on block encryption RC6 suggested by V.A. Monarev and A.M. Lubkin in 2010 is described. This new method enables to find a key for a five round encryption on PC in acceptable time. In particular, computational complexity for 5 and 6 round is 2 40 and 2 50 respectively.

Текст научной работы на тему «РЕАЛИЗАЦИЯ НОВОЙ СТАТИСТИЧЕСКОЙ АТАКИ НА БЛОЧНЫЙ ШИФР»

Вестник СибГУТИ. 2014. №1

85

УДК 621.391.7

Реализация новой статистической атаки на блочный шифр

В. А. Монарев1

В работе описана модификация атаки на блочный шифр RC6, предложенной В.А.

Монаревым и А.М. Лубкиным в 2010 году. Новый метод позволяет найти ключ для

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

, . 040 о50

вычислительная сложность для 5-го и 6-го раунда составляет 2 и 2 соответственно.

Ключевые слова: криптография, криптоанализ, блочный шифр, криптоаналитическая атака

1. Введение

Шифр ЯС6 был разработан группой исследователей как один из претендентов на звание AES. В данной работе приводится описание модификация атаки, описанной в [1], которая позволяет существенно сократить количество операций при поиске ключа, что делает возможным проведение атаки на 5-раундовую версию шифра ЯС6 на персональном компьютере. Предложенная атака относится к статистическим атакам и была впервые предложена в [2]. Самые лучшие варианты этой атаки на шифр ЯС6 описаны в [3], [4] и [1].

Результаты, приведённые в работе, можно считать лучшими на сегодняшний день для шифра ЯС6 с уменьшенным числом раундов. Поскольку ранее существовавшие алгоритмы поиска ключа имели большую сложность, то ни в одной опубликованной ранее работе не приводятся результаты реализации такого вида атак на шифр ЯС6. В данной работе приводятся результаты реализации атаки на 5-ый раунд и оценка эффективности этой атаки для 5- и 6-раундовых версий шифра.

2. Краткое описание шифра RC6

В экспериментальной части рассматривался 128-битный вариант шифра RC6, когда на вход шифра подаются 4 блока по 32 бита. Перед описанием схемы шифрования введём необходимые обозначения.

lbs n (X) : младшие n бит в числе X;

© : операция XOR

a <<< b : циклический сдвиг a на b бит влево;

a >>> b : циклический сдвиг a на b бит вправо;

1 Работа выполнена при финансовой поддержке РФФИ (грант N 14-01-31484-мол_а).

Sj : j-ый подключ;

r : число раундов шифрования;

(Aj, Bj, Cj, Dj) : вход i-го раунда четыре 32-битных блока (128 бит); f (x) : x(2 x +1);

F (x) : f (x) <<< 5;

x || y : конкатенация x и y.

На начальном этапе секретный 128 (192, 256)-битный ключ преобразуется в массив размера (2r + 4) 32-битных подключей Sq,Sj,... С помощью этого массива происходит шифрование данных по следующему алгоритму. Алгоритм 1 (шифрования) 1..Aj = Aq; Bj = Bq + Sq; Cj = Cq; Dj = Dq + Sj 2.for j = 1 to r do t = F (Bj );u = F (Dj); Aj+1 = Bi; Bj+j = ((Cj 0 u)) <<< (t mod 32)) + S2j+i; Cj+i = Dj; Dj+i = ((Aj 01)) <<< (u mod 32)) + S2j;

3Ar+2 = Ar +1 + S 2r + 2; Br+2 = Br+1; Cr+2 = Cr+1 + S 2r + 3; Dr+2 = Dr +1.

3. Алгоритм поиска секретного ключа шифра RC6

Напомним основную идею поиска секретного ключа по алгоритму, предложенному в [1]. Для того чтобы расшифровать информацию, необходимо найти все секретные подключи £ о, £1,... Их поиск осуществляется по отдельности, начиная с £ о . Для выбора правильного подключа используется статистический тест хи-квадрат (более подробно в [1]).

Алгоритм 2 (вычисление статистики)

1. На вход шифра подаётся последовательность 128-битных блоков данных (четыре 32-битных блока).

(0,0,0,0), (1,0,0,0),... (232 -1,0,0,0), (0,0,1,0), (1,0,1,0),... (1)

2. Каждый блок из (2) шифруется по алгоритму 1 на г раундов. После шифрования вычисляется статистика х (хи-квадрат) для Ь5(АГ+2) || ^$(СГ+2) (1023 степени свободы), то есть объединяются два 5-битных блока и рассматривается выборка из 10-битных чисел.

Для того чтобы найти секретный ключ £ 0, необходимо применить Алгоритм 3.

Алгоритм 3 (атака со сложностью перебора 232)

1. Для каждого £'0 е ^0,1,2,...,232 -1| вычисляем последовательность 128-битных

блоков (А0, В 0, С0, D 0) п, п = 0,1,... по формулам:

Dо = сп; В 0 = ап - £0; А0 = Ьп Ф ^ С0 = dn, где t = F (ап ), которую подаём на вход шифру, где (ап, Ьп, сп, dn ) последовательность вида (1).

2

2. Для каждой последовательности вычисляем статистику х , используя lbs5(Аг+2) || Ь5(СГ+2). По аналогии с Алгоритмом 2 ( подробнее в [1]).

3. Находим значение £ '0, для которого значение х2 максимально. Полагаем его равным искомому £0 .

4. Усовершенствованный алгоритм

Предлагаются два усовершенствования для того, что бы ускорить Алгоритм 3. Во-первых, изменить вид последовательности (1) таким образом, чтобы уменьшить длину последовательности, необходимую для подсчёта статистики х2 и корректного поиска секретного ключа. Во-вторых, предлагается изменить схему подбора секретного подключа. Если в Алгоритме 3 предполагается перебор всех возможных значении подключа S о, то есть пе-32

ребор 2 значений, то в новом алгоритме предлагается производить поиск ключа по частям. Например, сначала найти первые L бит ключа, далее найти оставшиеся 32 - L, где L -целочисленный параметр.

Для того чтобы уменьшить длину последовательности выбранного шифротекста, нужно отметить, что во втором раунде шифра (см. Алгоритм 1 и Алгоритм 3) циклический сдвиг зависит только от первого и третьего блока данных ( A0 и Со ) при условии, что подключ подобран правильно. Таким образом, предлагается подобрать последовательность выбранного шифротекста (an, bn, cn, dn ), чтобы циклический сдвиг на втором раунде был равен нулю.

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

(0,0,0,0), (ab0,0,0), (a2,0,0,0)..., (1)'

где aj упорядочены по возрастанию и F(a;-) mod 32 = 0 для всех i.

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

Таблица 1. Оценки эффективности нового подхода

R Размер выборки Новый метод Старый метод

х2 > 00.99 х 2 > Q0.999 х2 > Qx х2 > Q0.99 х 2 > Q0.999 х2 > Qx

5 216 49 28 12 10 1 0

5 218 151 102 62 10 2 0

5 220 276 231 181 20 3 0

5 222 406 363 315 74 27 5

5 224 502 459 423 253 163 78

В табл. 1 приведены результаты оценки эффективности нового подхода. В строке таблицы приведены числа превышений квантилей распределения хи-квадрат для 1000 случайных ключей в 6-раундовом шифре RC6 при правильно подобранном подключе So (см. Алго-

2

ритм 3). Для подбора ключа на практике необходимо, чтобы при подсчёте статистики х шифротекста получались значения, значительно превышающие Qo 999. В ходе поиска секретного ключа выбирается множество подключей, для которых статистика х2 максимальна.

В [1] предложено выбрать 216 ключей. Очевидно, что даже в случае, если последователь-

32

ность шифротекста была бы «идеальной» псевдослучайной последовательностью, то из 2

22 2

последовательностей для более 2 последовательностей статистика х превысила бы

00 999- Поэтому самым важным столбцом в табл. 1 является столбец 0х (0х = 1239, —12

х = 1 — 2 ). Из результатов следует, что для 6% подключей можно применить атаку при

18

длине выбранного текста 2 , благодаря более эффективному выбору текста. Для предыду-

24

щего варианта атаки длина текста должна быть равна 2 .

Таблица 2. Исследование эффективности подбора подключа для 6-го раунда

^^\£текст Т бит 218 219 220 221 222 223

32 62 116 201 254 306 371

31 61 108 185 241 318 346

30 55 100 187 228 309 348

29 42 77 134 222 322 381

28 15 40 72 165 267 413

27 9 15 49 99 148 249

26 5 12 23 37 91 130

25 3 7 6 21 31 69

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

ключа полным перебором всех возможных 232 значений. Таким образом, сложность перебо-

32 / т

ра уменьшиться в 2 2 раз, если размер необходимого текста не изменится. В таблице

—12

приведены значения превышения квантили 0х, где х = 1 — 2 при переборе Т бит ключа (для 1000 случайных ключей). Отметим, что вычислительную сложность можно найти по формуле

£ • 2Т ,

где £ - количество текста. Легко заметить, что значения по диагоналям соответствуют атакам на шифр с одинаковой сложностью. Например, если подбирается 32 бита подключа

и используется 218 текста (сложность 249 ), то эффективность атаки можно повысить, если

21 48

подбирать 27 бит ключа при длине текста 2 (сложность 2 ).

В табл. 3 приведены результаты для 5-раундовой версии. Из таблицы следует, что если

12 13

вместо подбора 32-бит подключа при 2 текста использовать перебор 27 бит ключа и 2

текста, то сложность уменьшится в 16 раз, а эффективность возрастёт. Таким образом, данный подход даёт существенное повышение эффективности атаки при уменьшении сложности.

Таблица 3. Исследование эффективности подбора подключа для 5-го раунда

^^^Текст Т бит 212 213 214 215 216

32 797 967 996 1000 1000

31 807 978 997 1000 1000

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

30 819 973 998 1000 1000

29 746 942 994 1000 1000

28 665 889 976 1000 1000

27 470 807 927 979 1000

26 250 412 480 621 900

25 139 206 242 315 482

4. Реализация атаки

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

(0,0,0,0), (1,0,1,0),... (232 -1,0,232 -1,0), (0,1,0,1), (1,1,1,1),... (2) В табл. 4 приведены результаты экспериментов для 5-раундовой версии шифра. Производился подбор последних пяти бит у каждого из двух подключей одного раунда (итого 10 бит), при фиксированных (правильно подобранных) 27 битах в каждом из подключей. В первом столбце указано количество использованного текста. Во втором столбце - количество рассмотренных случайных ключей. В третьем столбце - количество ключей, при использо-

2 —12 вании которых статистика шифротекста х превысила Qx (Qx = 1239, х = 1 — 2 ); такие

ключи назовём «подходящими», поскольку для них можно применить статистическую атаку. В четвёртом указан вид последовательности (или последовательность вида (1)' или (2)). В пятом - количество пар подключей, которые были найдены с ошибкой. То есть для некоторых неправильных подключей статистика х2 превысила статистику для правильного под-ключа. Из табличных значений следует, что даже сильное увеличение количества текста не улучшает эффективность подбора последних бит подключей, если выбрана последовательность текста вида (1)'. Изменение же вида последовательности даёт существенное улучшение. Почти все пары ключей будут найдены правильно. Отметим, что сложность нахождения

33

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

Таблица 4. Результаты оценки эффективности атаки на 5-ый раунд

Текст Всего ключей Подходящих ключей Тип текста Ошибок

213 1026 1000 (1)' 994

216 100 100 (1)' 99

223 100 100 (1)' 100

216 491 100 (2) 0

223 191 100 (2) 9

Далее приведём результаты реализации атаки на 5-ый раунд для 10 случайных ключей. В табл. 5 приведены результаты атаки, проведённой по следующему алгоритму:

1. Подбираем множество возможных значений 27 первых бит подключа £0. Размер

13

выборки 2 текста.

2. Подбираем множество возможных значений 27 первых бит подключа .

3. Из двух множеств подбираем правильную пару 27 битных частей £0 и £1.

4. Подбираем оставшиеся 10 бит подключей £0 и (по 5 бит каждого подключа).

26

Размер выборки 2 .

В ячейке стоит плюс, если искомая часть ключа была найдены верно. Минусы в столбцах 2 и 3 соответствуют, так называемым, «сильным ключам». Для этого множества ключей выбор-13

ки 2 недостаточно, чтобы найти правильный ключ. Из результатов следует, что 4 из 10

ключей были найдены правильно, что говорит об эффективности нового подхода.

Таблица 5. Оценка эффективности поиска ключа для 5-го раунда

Номер ключа 27 бит S 0 27 бит S: 10 бит Пара подключей S 0 и Sj

1 + + + +

2 - - - -

3 + + + +

4 + + + +

5 - - - -

6 - + - -

7 - - - -

8 + - - -

9 + - - -

10 + + + +

Литература

1. Монарев В.А., Лубкин А.М. Эффективная атака на блоковый шифр RC6 // Вестник

СибГУТИ. № 4, 2010, с.55- 60.

2. Knudsen L., Meier W. Correlations in RC6 whith a reduce number of rounds // FSE 2000, LNCS

1978 (2000), Springer Verlag, P. 94-108.

3. Miyaji A., Nonaka M. Evaluation of the security of RC6 against the attack // IEICE Trans.

Fundamentals, vol. E88-A, No.1, 2005.

4. Isogai N., Matsunaka T., Miyaji A. Optimized -attack against RC6 // ACNS 2003, LNCS

2846 (2003), Springer Verlag, P. 199-211.

5. Pябко Б.Я., Монарев В.А., Шокин Ю.И. Новый тип атак на блоковые шифры // Проблемы

передачи информации, т. 41, н. 4, 2005, с.181- 128.

6. Miyaji A. and Nonaka M. Cryptanalysis of the Reduced-Round RC6 // Proc. ICICS 2002, LNCS

2513, P. 480-494.

Статья поступила в редакцию 20.12.2013

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

к.ф.-м.н., научный сотрудник ИВТ СО РАН, (630090, Новосибирск, пр. Академика Лаврентьева, 6) тел. (383) 330-61-50, e-mail: viktor.monarev@gmail.com

Implementation of a new statistical attack on block encryption V.A. Monarev

In this paper, modification of attack on block encryption RC6 suggested by V.A. Monarev and A.M. Lubkin in 2010 is described. This new method enables to find a key for a five round encryption on PC in acceptable time. In particular, computational complexity for 5 and 6 round is 240 and 250 respectively.

Keywords: cryptography, cryptoanalysis, block encryption, cryptoanalytic attack.

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