Научная статья на тему 'ПРИМЕНЕНИЕ АТАКИ РАЗЛИЧЕНИЯ НА ЛЕГКОВЕСНЫЕ БЛОЧНЫЕ ШИФРЫ, ОСНОВАННЫЕ НА ARX-ОПЕРАЦИЯХ'

ПРИМЕНЕНИЕ АТАКИ РАЗЛИЧЕНИЯ НА ЛЕГКОВЕСНЫЕ БЛОЧНЫЕ ШИФРЫ, ОСНОВАННЫЕ НА ARX-ОПЕРАЦИЯХ Текст научной статьи по специальности «Математика»

CC BY
105
21
i Надоели баннеры? Вы всегда можете отключить рекламу.
Область наук
Ключевые слова
КРИПТОГРАФИЯ / ЛЕГКОВЕСНЫЕ БЛОЧНЫЕ ШИФРЫ / АТАКА РАЗЛИЧЕНИЯ / SPECK / SIMON / SIMECK / HIGH-T / LEA / ARX-BASED / DISTINGUISHING ATTACK / LIGHTWEIGHT BLOCK CIPHER / ARX-BASED CIPHER

Аннотация научной статьи по математике, автор научной работы — Сосков Александр Саляхович, Рябко Борис Яковлевич

Рассмотрено применение атаки различения на ряд легковесных блочных шифров, основанных на ARX-операциях (сложение по модулю, циклический сдвиг и исключающее ИЛИ). Представлены экспериментальные результаты и теоретические оценки устойчивости легковесных шифров Speck, Simon, Simeck, HIGHT, LEA к атаке различения. Вывод, что семейство шифров Simeck не выдерживает эту атаку, сделан на основе прогнозов, полученных путем экстраполяции экспериментальных данных.

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

Похожие темы научных работ по математике , автор научной работы — Сосков Александр Саляхович, Рябко Борис Яковлевич

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

The distinguishing attack on ARX-based lightweight block ciphers

The distinguishing attack on modern lightweight ARX-based block ciphers was applied. Distinguishing attack is any form of cryptanalysis on data encrypted by a cipher that allows an attacker distinguishing the encrypted data from random data. Purpose. Modern symmetric-key ciphers must be designed to be immune to such an attack. The purpose of the work was to estimate the resistance of lightweight ciphers Speck, Simon, Simeck, HIGHT, and LEA to a distinguishing attack. Methodology. We note that these ciphers are iterated block ciphers. It is means that they transform blocks of plain text into blocks of cipher text by using the cyclically repeated invertible function known as the round function where each iteration is to be referred as a round. We have experimentally found a maximum number of rounds where encrypted data looked like random bit-sequence by using statistical test “Book Stack”. Then we extrapolated the theoretical length required for a successful distinguishing attack on cipher with full-number rounds by a polynomial of a low degree. Note that cryptography attack is considered as successful if the length of the encrypted sequence is less than the length 2 K ( K - key size). Originality/value. Our experiments and estimations show, that Simeck with 48bit block size and 96-bit key size is not immune to distinguishing attack. We recommended increasing the number of rounds by 15-20% in order to improve the reliability of the Simeck 48/96.

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

Вычислительные технологии

Том 24, № 3, 2019

Применение атаки различения на легковесные блочные шифры, основанные на ARX-операциях*

А. С. Сосков1'*, Б. Я. Рявко1'2

1Институт вычислительных технологий СО РАН, Новосибирск, Россия 2 Новосибирский государственный университет, Россия ^Контактный e-mail: sashasasha-1987@mail.ru

Рассмотрено применение атаки различения на ряд легковесных блочных шифров, основанных на ARX-операциях (сложение по модулю, циклический сдвиг и исключающее ИЛИ). Представлены экспериментальные результаты и теоретические оценки устойчивости легковесных шифров Speck, Simon, Simeck, HIGHT, LEA к атаке различения. Вывод, что семейство шифров Simeck не выдерживает эту атаку, сделан на основе прогнозов, полученных путем экстраполяции экспериментальных данных.

Ключевые слова: криптография, легковесные блочные шифры, атака различения, Speck, Simon, Simeck, HIGHT, LEA, ARX-based.

Библиографическая ссылка: Сосков А.С., Рябко Б.Я. Применение атаки различения на легковесные блочные шифры, основанные на ARX-операциях // Вычислительные технологии. 2019. Т. 24, №3. С. 106-116. DOI: 10.25743/ICT.2019.24.3.008.

Введение

В последние годы наряду с персональными компьютерами, ноутбуками и смартфонами появилось большое количество устройств, которыми можно управлять через Интернет. Эти устройства сильно ограничены по вычислительной мощности, имеют малый объем и отличаются низким энергопотреблением. Примерами систем с такими устройствами являются многие элементы из "Интернета Вещей", беспроводная сенсорная сеть, RFID-метки и др. Развитие указанных технологий делает чрезвычайно актуальными вопросы, связанные с их информационной безопасностью. Так как применение большинства "традиционных" шифров к этим устройствам практически невозможно из-за ограничений по вычислительной мощности, в последние 10-15 лет было предложено большое количество легковесных (lightweight) блочных алгоритмов, а в 2012 г. принят международный стандарт (ISO/IEC 29192), в котором указаны основные требования к алгоритмам легковесной криптографии.

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

* Title translation and abstract in English can be found on page 115.

© ИВТ СО РАН, 2019.

J<1_

к2

■ Исходный текст

1

► Раундовая функция

г

► Раундовая функция

1

► Раундовая функция

1

1 | Зашифрованный 1 ■ текст ]_ ______________

1-й раунд

2-й раунд

N-й раунд

Общий принцип работы блочного шифра итерационного типа. N — число раундов, К\, К2 К^ — раундовые ключи

Размер блока шифра — это фиксированный параметр, обычно равный 32, 48, 64, 96 или 128 битам. Раундовая функция шифра обрабатывает исходный текст определенное число раз, в итоге на выходе формируется зашифрованный текст. Такие итерации называются раундами. Количество раундов N задается авторами шифра. Обычно раундовые функции используют различные ключи, полученные из первоначального ключа (так называемое растягивание ключа), которые принято называть раундовыми ключами. Более детальное описание раундовой функции и формирования раундового ключа для каждого исследуемого в работе шифра приведено в [2-5].

Все блочные шифры должны быть устойчивы ко всем известным типам атак, в том числе и к атаке различения [6]. Цель такой атаки заключается в том, чтобы отличить зашифрованные данные от случайной последовательности. Если это удается, то обычно шифр не рекомендуется к практическому использованию.

В настоящей работе атака различения применяется к блочным шифрам Speck и Simon [2], Simeck [3], HIGHT [4], LEA [5]. Шифры Speck и Simon — два семейства легковесных блочных шифров, которые представлены Агентством национальной безопасности США в 2013 г., а в 2014 г. включены в международный стандарт ISO/IEC 29192. Оба семейства поддерживают различные размеры блоков для шифрования и ключа. Входной блок имеет размеры 32, 48, 64, 96, 128 бит, а секретный ключ — 64, 72, 96, 128, 144, 256 бит. Число раундов для шифрования зависит от выбранных параметров. В табл. 1 представлены параметры блока и ключа для шифров Speck и Simon и соответствующее число раундов, необходимое для шифрования.

Новое семейство легковесных блочных шифров Simeck спроектировано на основе шифров Speck и Simon. Как считают авторы шифра, Simeck работает быстрее и экономнее, обеспечивая примерно такую же информационную безопасность, что Speck и Simon. Шифр Simeck реализован для трех размеров блока (32, 64, 128 бит) и секретного ключа (64, 96, 128 бит).

Таблица 1. Входные параметры шифров

Шифр Размер блока, биты Размер ключа, биты Число раундов

Speck 32 64 22

« 48 96 23

« 64 128 27

Simon 32 64 32

« 48 96 36

« 64 128 44

Simeck 32 64 32

« 48 96 36

« 64 128 44

HIGHT 64 128 32

LEA 128 128 24

Шифр HIGHT предложен в 2006 г., он поддерживает 64-битный блок и 128-битный ключ. Шифр LEA предложен в 2013 г. Он поддерживает 128-битный блок и три размера ключа (128, 192, 256 бит). Число раундов определяется авторами шифра и зависит от выбранных параметров (табл. 1). Отметим, что на данный момент не было опубликовано сведений об атаках, которые позволили бы взломать какой-либо из указанных шифров с полным числом раундов. В работах [7, 8], где описаны наиболее успешные атаки на шифры Speck, Simon и Simeck, рассматриваются атаки на усеченное число раундов шифра. В работе [9] описана атака на 30 раундов шифра Simeck с входным блоком 48 бит и секретным ключом 96 бит (далее 48/96) (при полном числе раундов 36), требующая 248 байт текста и 292 операций шифрования, для Simeck 64/128 описана атака на 37 раундов шифра (при полном числе раундов 44), требующая 263 байт текста и 2121 операций шифрования.

В настоящей работе с помощью статистического теста "стопка книг" проведено исследование легковесных блочных шифров Speck, Simon, Simeck, HIGHT, LEA на устойчивость к атаке различения. Представлены экспериментальные результаты, а также даны теоретические оценки, сколько блоков текста необходимо для того, чтобы отличить шифротекст от случайности.

Экспериментально установлено, что шифротекст после половины всех раундов шифра Simeck 48/96 не подчиняется равномерному распределению. На основании полученных экспериментальных данных построен прогноз, позволяющий предположить, что последовательность на выходе шифра Simeck 48/96 после полного числа раундов можно отличить от равномерного распределения, если ее размер составляет 294 байт. Атака на шифр Simeck 48/96 с полным числом раундов представлена впервые1. Остальные семейства легковесных блочных шифров Speck, Simon, LEA, HIGHT показали хорошую устойчивость к атаке различения.

Статья организована следующим образом. В первом разделе дано описание примененной в работе атаки различения. В разд. 2 приведено описание статистического теста "стопка книг", с помощью которого находились отклонения зашифрованной выборки от случайной. В разд. 3 представлены полученные экспериментальные данные, а в разд. 4 дана теоретическая оценка устойчивости анализируемых шифров к атаке различения.

1 Предварительные результаты анонсированы в IACR Cryptology ePrint Archive https://eprint. iacr.org/2018/047.pdf, а также в трудах международной научной конференции SIBIRCON-2Ö17 https://ieeexplore.ieee.org/document/8109901.

1. Описание атаки различения

Для определения устойчивости шифров к атаке различения использована следующая схема: выборка на выходе шифра с неполным числом раундов анализировалась с помощью статистического теста (так как структура шифра позволяет исследовать текст, зашифрованный после любого числа итераций раундовой функции, а не только после конечного числа раундов). Если отклонения от случайной последовательности удавалось найти, число раундов повышалось на 1 и повторялась процедура, описанная выше, до тех пор, пока статистический тест не отличал зашифрованную выборку от случайной. Таким образом, подавая на вход заведомо неслучайные последовательности разной длины, мы находили максимальное число раундов и минимальную требуемую длину последовательностей, при которых зашифрованная выборка оказывалась неслучайной. Затем минимальная требуемая длина для успешной атаки различения экстраполировалась на шифры с полным числом раундов и оценивалась возможность проведения такой атаки.

На вход функции шифрования подавались блоки, составленные из заведомо неслучайных последовательностей, которые формировались с помощью кодов Грея [10]. Рефлексивный двоичный код Грея (далее — код Грея) является упорядоченным множеством двоичных слов одинаковой длины, в котором два соседних слова различаются только в одном разряде. Используя коды Грея, можно получить последовательность любой размерности (это важно, так как для блока шифра, равного п битам, нужно подавать последовательность именно этого же размера) и любой длины. Например, если шифр имел 32-битный входной блок, требовалось построить множество 32-битных слов, чтобы подать их на вход. Для этого формировалось необходимое число слов кода Грея длины к бит, а затем слева к каждому слову "дописывались" (32 — к) нуля для получения размера слова, равного 32 битам. Например, получались следующие числа: 00..00, 00..01, 00..11, 00..10 и т. д. Затем путем последовательного добавления этих чисел получался блок нужной длины и подавался на вход.

Рассмотрим подробно пример генерации кодов Грея для трех бит (п = 3) на основании кодов для двух бит (п = 2): коды Грея для двух бит выглядят таким образом: 00, 01,11,10. Запишем коды в обратном порядке: 10,11, 01, 00. Затем к начальному списку допишем нули: 000,001,011,010, а к перевернутому списку — единицы: 110,111,101,100. Соединим эти два списка и получим последовательность кодов Грея для трех бит: 110,111,101,100, 000, 001, 011,010. Аналогично коды Грея для п бит могут быть рекурсивно построены на основе кода для п — 1 бит.

2. Описание теста "стопка книг"

Для анализа зашифрованных данных применим статистический тест "стопка книг", который предложен в [11], его подробное описание дано в [12, 13]2.

Допустим, имеем выборку X = (х^,х2, ...,хн) из алфавита А = (а\,а2, ...,а3). С помощью теста "стопка книг" проверяем гипотезу Н0 о том, что элементы из выборки X равновероятны относительно друг друга, т.е. выполняется Р(х^ = а^) = р° = 1/5, п = 1,..., А, г = 1, ...з. Первоначально все "буквы" алфавита находятся в произвольном

2Программная реализация теста выполнена Алексеем Лубкиным. Исходный код доступен по адресу: https://github.com/sashasasha-1987/book-stack.

порядке от 1 до в, который после анализа каждого элемента хп из выборки X меняется по формуле

, хп

и)п(а) + 1, ып(а) <11)п(хп), тп(а), тп(а) > тп(хп).

Такая конструкция похожа на стопку книг, если представить, что номер книги обозначает ее позицию в стопке. Книга извлекается из стопки и после "прочтения" кладется сверху, а ее номер становится первым. Книги, которые первоначально находились сверху, сдвигаются вниз, а порядковые номера книг, которые находились снизу, не меняются. Если гипотеза Нс окажется неверна, то самые часто используемые книги будут постоянно находиться около вершины стопки. Если же Нс верна, то вероятность найти элемент хп на любой позиции в "стопке книг" равна 1/5.

Перед тестированием множество всех "букв" из алфавита делится на две непересекающиеся части: Аг = 1, 2,..., М и А2 = М + 1, М + 2,..., Б. Для хп из выборки X подсчитывается количество элементов и)п(хп), вошедших в первую Аг и вторую А2 части. Ц) означает количество попаданий в верхнюю часть стопки книг, а N — V) — количество попаданий в нижнюю ее часть. Статистика х2 вычисляется по формуле

2 (Ус — МРх)2 ((М — Ус) — N (1 — Рх))2

т = - +-

х МРг + N (1 — Рг) ,

где Рг = \А\/Б.

Известно, что х2 асимптотически стремится к распределению х2 (в нашем случае с одной степенью свободы) [14]. Значение х2 нужно сравнить с квантилем распределения х2 согласно заданной вероятности а. Если х2 < х!а, то гипотеза Нс о равновероятности элементов из выборки X принимается, иначе — отвергается. В нашем эксперименте задана вероятность а = 0.99, для которой х! с99 = 6.6349. Таблицу квантилей х2 можно найти в [14].

3. Экспериментальные результаты

На примере шифра Бтеск покажем, как были получены экспериментальные результаты и каким образом их нужно интерпретировать. На вход исследуемых шифров подавались последовательности разной длины, составленные из кодов Грея. Полученный зашифрованный текст анализировался с помощью статистического теста "стопка книг". Если значение х2 было больше величины квантиля х2 сдд = 6.6349, делался вывод, что выходная последовательность неслучайна с вероятностью 99 %. Отметим, что все вычисления были выполнены на вычислительном комплексе ИВЦ НГУ.

В табл. 2 на примере шифра Бтеск 32/64 показана зависимость степени случайности зашифрованной последовательности от числа раундов и размера подаваемой выборки. Проведено сто тестов для ста случайно выбранных ключей. Здесь Q — количество случаев, когда анализируемая выборка оказалась неслучайной; в — длина подаваемой на вход шифра последовательности; К — номер раунда, после которого анализировалась полученная выходная последовательность. Из таблицы видно, что при увеличении числа раундов зашифрованная последовательность становится все "более случайной", а увеличение длины зашифрованной выборки приводит к тому, что эта последовательность

Таблица 2. Simeck 32/64. Зависимость степени случайности зашифрованной последовательности от числа раундов и размера подаваемой выборки

К 10 10 11 11 11

Б,байты 228 229 2 30 231 232

Я 80 100 9 23 54

становится "менее случайной". Этот широко известный теоретический факт согласуется с подобными исследованиями для других шифров [15, 16].

В табл. 3 предоставлены результаты анализа шифра Б1шеск с параметрами 48/96 и 64/128. Проведено также сто тестов для ста случайно выбранных ключей. При выбранном уровне значимости 0.01 (т. е. а = 0.99) можно сделать вывод, что атака различения успешно применена, если хотя бы в двух-трех тестах были отклонения зашифрованной последовательности от случайной. В этом случае атака различения успешно применена для 18 раундов, при этом минимальная требуемая длина подаваемой на вход выборки составляла 238'5. Для Б1шеск с параметрами 64/128 атака различения успешно проведена для 19 раундов, при этом минимальная требуемая длина подаваемой на вход выборки составляла 236.

В табл. 4 представлено максимальное количество раундов для семейства легковесных блочных шифров Б1шеск с различными размерами блока и ключей, после которых тест зафиксировал отличие зашифрованной выборки от случайной. Здесь $ — длина подаваемой на вход шифра последовательности, необходимая для обнаружения "неслучайностей" у зашифрованной последовательности; К — количество раундов, после которого анализируемая выборка оказалась неслучайной. В скобках указано полное число раундов, заданное авторами этих шифров.

Все результаты, указанные в табл. 2-4, получены экспериментальным путем. Примечательно, что для Бтеск 48/96 и Бтеск 64/128 число раундов, после которого выборка с зашифрованными данными не является случайной, достаточно велико и составляет

Таблица 3. Число раундов, после которых выходная последовательность неслучайна

Simeck 48/96

К 9 10 11 12 13 14 15 16 17 18

Б, байты 26-5 28-5 213-5 217-5 220.5 224.5 228.5 232.5 235.5 238.5

Simeck 64/128

к 10 11 12 13 14 15 16 17 18 19

Б, байты 211 212 214 217 220 223 226 229 233 236

Таблица 4. Семейство легковесных блочных шифров Simeck. Экспериментальная атака

Размер блока/ключа, биты К 5, байты

32/64 10 (32) 229

48/96 18 (36) 238.5

64/128 19 (44) 236

в первом случае около 50 % от общего числа раундов и 43 % во втором. Например, если увеличить вычислительную мощность системы, при помощи которой проводился эксперимент, шифр Б1шеск окажется неустойчив к такому типу атак в случае большего количества раундов, а может быть, и для полного числа раундов.

4. Прогнозы

Чтобы понять, устойчив ли шифр Simeck с такими входными параметрами к атаке различения, мы, основываясь на полученных экспериментальных результатах, экстраполировали минимальную длину последовательности, необходимую для успешной атаки различения на последующие раунды. Обозначим ее как S(r). Построение прогноза и доверительных интервалов выполнено методом, описанным в [17]:

log2 S(r) = ar2 + br + с. (1)

Параметры уравнения регрессии (1) находились с помощью метода наименьших квадратов:

'с ■ п + b Е Гг + а Е г2 = Е log2 Si,

с Е П + b Е г2 + а Е г3 = Е log2 SiTi, (2)

.С Е Гг2 + Ь Е Г3 + а Е rf = Е log2 ЯгГ2.

В результате решения системы уравнений (2) для Simeck 48/96 получены значения коэффициентов уравнения регрессии: с = -31.182, b = 4.3045, а = -0.0227. После подстановки этих значений в уравнение (1) получено

log2 S(r) = -0.0227r2 + 4.3045r - 31.182.

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

Для Simeck 64/128 получены значения коэффициентов уравнения регрессии (1): с = 1.6061, b = -0.1848, а = 0.1061, оно приняло вид

log2 S(r) = 0.1061r2 - 0.1848r + 1.6061.

Затем для прогнозных значений были построены доверительные интервалы по формуле

log2 N(r) ± tf

где sei — стандартное отклонение ошибки прогноза, а tf,а — квантиль ¿-распределения Стьюдента при степенях свободы f = п- т- 1 и уровне значимости а. Так как в нашем случае f = 7, а = 0.95, то tf,а = 2.365. В свою очередь,

2 Ii | 1 | (xi - Х)

Sei = S„ 1+---+

^ " ' П Е(Жг - Х)2

где стандартная ошибка прогнозируемого показателя

2 = Е(Уг - Ух)2

SU 1 .

п — т— 1

Полученные прогнозные результаты для последующих раундов шифров Б1шеек 48/96 и Б1шеек 64/128 (зависимость размера подаваемой выборки от числа раундов, для которых атака различения проведена успешно) показаны в табл. 5. Чтобы атака была интересной для криптографического сообщества, время ее проведения должно быть меньше, чем время, затраченное на поиск ключа способом прямого перебора. Таким образом, рассматривались случаи, когда минимальная длина зашифрованной последовательности меньше длины . То есть нас интересовали случаи 296 байта для шифра с 96-битным ключом и 2128 байта для шифра с 128-битным ключом.

Полученная путем экстраполяции минимальная длина выборки, при которой последовательность на выходе шифра Б1шеек 48/96 е полным числом раундов не является случайной, находится в интервале 290'4 —298'4 байта с вероятностью 0.95. Это означает, что шифр Б1шеек с 48-битным блоком и 96-битным ключом не является устойчивым к атаке различения.

Для шифра Б1шеек с 64-битным блоком и 128-битным ключом количество раундов, при котором тест нашел отклонения последовательности на выходе от случайной, равно 36. Это значение также близко к количеству полных раундов — 44.

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

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

Simeck 48/96

К 19 20 21 34 35 36

Б, байты 240.6 _ 244-2 243.9 _ 247.7 247-2 _ 251-2 285.2 _ 292.7 287.8 _ 295.5 290.4 _ 298.4

Simeck 64/128

К 35 36 42 43 44

Б, байты 2122.3 _ 2127.7 2129.5 _ 2135.1 2177.3 _ 2184.3 2186.0 _ 2193.2 2195.0 _ 2202.4

Таблица 6. Число раундов и необходимая длина последовательности для анализа, после которых зашифрованная последовательность неслучайна

Шифр Параметры шифра Количество раундов 5, байты

Speck 32/64 5(22) 227

« 48/96 6(23) 233.5

« 64/128 6(27) 231

Simon 32/64 9(32) 227

« 48/96 12(36) 236.5

« 64/128 12(44) 236

Simeck 32/64 10(32) 229

« 48/96 18(36) 238.5

« 64/128 19(44) 236

июит 64/128 10(32) 232

ЬЕЛ 128/128 8(24) 234

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

Шифр Параметры шифра Количество раундов

Speck 48/96 12(23)

« 64/128 13(27)

Simon 48/96 20(36)

Simeck 48/96 36(36)

« 64/128 36(44)

LEA 128/128 18(24)

Из табл. 6 видно, что число раундов, после которого зашифрованная выборка отличается от случайной для Simeck 48/96 и для Simeck 64/128, велико и составляет соответственно около 50 и 43 % от общего числа раундов. Для шифров Speck 48/96 и Speck 64/128 число таких раундов составляет примерно 25 и 20%. Можно сделать вывод, что Speck гораздо более устойчив к атаке различения, чем Simeck.

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

Выводы

В настоящей работе применена атака различения на легковесные блочные шифры Speck, Simon, Simeck, HIGHT и LEA. Экспериментальное исследование показало, что шифры Speck, Simon, HIGHT устойчивы к атаке различения, а семейства шифров Simeck нет. Количество раундов, после которого зашифрованная последовательность является неслучайной, достаточно велико, для шифра Simeck 48/96 оно составляет около 50 % от общего числа раундов, а для Simeck 64/128 — 43%. Теоретические оценки на основе полученных данных показали, что длина, при которой последовательность на выходе шифра Simeck 48/96 с полным числом раундов (36) не является случайной, находится в интервале

290.4 - 298.4 байта с вероятностью 0.95. Это означает, что Simeck 48/96 не является устойчивым к атаке различения. Отметим, что на данный момент в литературе нет описания успешных атак на этот шифр с полным числом раундов. Исследование показывает, что для повышения надежности шифра Simeck 48/96 необходимо увеличить количество раундов.

Благодарности. Работа выполнена при финансовой поддержке РФФИ (грант № 1829-03005).

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

[1] Junod, P., Canteaut, A. Advanced linear cryptanalysis of block and stream ciphers. Amsterdam: IOS Press, 2011. 144 p.

[2] Beaulieu, R., Shors, D., Smith, J. et al. The SIMON and SPECK families of lightweight block ciphers. Cryptology ePrint Archive: Report 2013/404. Available at: http://eprint. iacr.org/2013/404 (accessed 25.10.2017).

[3] Yang, G., Zhu, B., Suder, V. et al. The simeck family of lightweight block ciphers. Cryptology ePrint Archive: Report 2015/612. Available at: https://eprint.iacr.org/2015/ 612 (accessed 25.10.2017).

[4] Hong, D., Sung, J., Hong, S. et al. HIGHT: A new block cipher suitable for low-resource device // Intern. Works. on Cryptographic Hardware and Embedded Systems. Berlin; Heidelberg: Springer, 2006. P. 46-59.

[5] Hong, D., Lee, J.K., Kim, D.C. et al. LEA: A 128-bit block cipher for fast encryption on common processors // Intern. Works. on Inform. Security Applications. Cham: Springer, 2013. P. 3-27.

[6] Kunzli, S., Meier, W. Distinguishing attack on MAG. Available at: http://www.ecrypt. eu.org/stream/papersdir/053.pdf (accessed 25.10.2017).

[7] Dinur, I. Improved differential cryptanalysis of round-reduced speck // Intern. Works. on Selected Areas in Cryptography. Cham: Springer, 2014. P. 147-164.

[8] Qiao, K., Hu, L., Sun, S. Differential analysis on simeck and simon with dynamic key-guessing techniques // Intern. Conf. on Inform. Syst. Security and Privacy. Cham: Springer, 2016. P. 64-85.

[9] Qin, L., Chen, H., Wang, X. Linear hull attack on round-reduced simeck with dynamic key-guessing techniques // Australasian Conf. on Inform. Security and Privacy. Cham: Springer, 2016. P. 409-424.

[10] Doran, R.W. The Gray Code // J. of Universal Comput. Science. 2007. Vol. 13, No. 11. P. 1573-1597.

[11] Рябко Б.Я., Пестунов А.И. "Стопка книг" как новый статистический тест для случайных чисел // Пробл. передачи информации. 2004. Т. 40, № 1. C. 73-78.

Ryabko, B.Ya., Pestunov, A.I. "Book Stack" as a new statistical test for random numbers // Probl. of Inform. Transmission. 2004. Vol. 40, No.1. P. 66-71.

[12] Ryabko, B., Fionov, A. Basics of contemporary cryptography for IT practitioners. USA: World Scientific, 2005. 207 p.

[13] Ryabko, B., Monarev, V. Using information theory approach to randomness testing // J. of Statistical Planning and Inference. 2005. Vol. 133, No. 1. P. 95-110.

[14] Кендалл М. Дж., Стьюарт А. Теория распределений. Т. 1. М.: Наука, 1966. 553 c. Kendall, M.G., Stuart, A. The advanced theory of statistics. V. 1. Moscow: Nauka, 1966. 553 p. (In Russ.)

[15] Doroshenko, S., Ryabko, B. The experimental distinguishing attack on RC4. Cryptology ePrint Archive: Report 2006/070. Available at: https://eprint.iacr.org/2006/070.pdf (accessed 25.10.2017).

[16] Lubkin, A., Ryabko, B. The distinguishing attack on ZK-Crypt cipher. eSTREAM, ECRYPT Stream Cipher Project. Report 2005/076. Available at: http://www.ecrypt.eu. org/stream/papersdir/076.pdf

[17] Фёрстер Э., Рёнц Б. Методы корреляционного и регрессионного анализа: Руководство для экономистов. М.: Финансы и статистика, 1983. 302 с.

Förster, E., Ronz, B. Methoden der Korrelations und Regressionsanalyse: Ein Leitfaden für Ökonomen. Berlin: Verlag Die Wirtschaft, 2009. 144 p.

Поступила в 'редакцию 11 мая 2018 г., с доработки — 24 октября 2018 г.

116

A. C. COCKOB, B. H. PS6KO

The distinguishing attack on ARX-based lightweight block ciphers

Soskov, Alexander S.1'*, Ryabko, Boris Ya.1,2

institute of Computational Technologies SB RAS, Novosibirsk, 630090, Russia 2Novosibirsk State University, Novosibirsk, 630090, Russia

* Corresponding author: Soskov, Alexander S., e-mail: sashasasha-1987@mail.ru

The distinguishing attack on modern lightweight ARX-based block ciphers was applied. Distinguishing attack is any form of cryptanalysis on data encrypted by a cipher that allows an attacker distinguishing the encrypted data from random data.

Purpose. Modern symmetric-key ciphers must be designed to be immune to such an attack. The purpose of the work was to estimate the resistance of lightweight ciphers Speck, Simon, Simeck, HIGHT, and LEA to a distinguishing attack.

Methodology. We note that these ciphers are iterated block ciphers. It is means that they transform blocks of plain text into blocks of cipher text by using the cyclically repeated invertible function known as the round function where each iteration is to be referred as a round. We have experimentally found a maximum number of rounds where encrypted data looked like random bit-sequence by using statistical test "Book Stack". Then we extrapolated the theoretical length required for a successful distinguishing attack on cipher with full-number rounds by a polynomial of a low degree. Note that cryptography attack is considered as successful if the length of the encrypted sequence is less than the length 2K (K — key size).

Originality/value. Our experiments and estimations show, that Simeck with 48bit block size and 96-bit key size is not immune to distinguishing attack. We recommended increasing the number of rounds by 15-20% in order to improve the reliability of the Simeck 48/96.

Keywords: distinguishing attack, lightweight block cipher, ARX-based cipher, Speck, Simon, Simeck, HIGHT, LEA.

Cite: Soskov, A.S., Ryabko, B.Ya. The distinguishing attack on ARX-based lightweight block ciphers // Computational Technologies. 2019. Vol. 24, No. 3. P. 106-116. (In Russ.) DOI: 10.25743/ICT.2019.24.3.008.

Acknowledgements. This research was partly supported by RFBR (grant No. 18-2903005).

Received May 11, 2018 Received in revised form October 24, 2018

© ICT SB RAS, 2019

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