• Tidak ada hasil yang ditemukan

АЛМАТИНСКОГО УНИВЕРСИТЕТА ... - В Е С Т Н И К - aues.kz

N/A
N/A
Protected

Academic year: 2023

Membagikan "АЛМАТИНСКОГО УНИВЕРСИТЕТА ... - В Е С Т Н И К - aues.kz"

Copied!
19
0
0

Teks penuh

(1)

ДАУКЕЕВА»

ISSN 2790-0886

В Е С Т Н И К

АЛМАТИНСКОГО УНИВЕРСИТЕТА ЭНЕРГЕТИКИ И СВЯЗИ

Учрежден в июне 2008 года

Тематическая направленность: энергетика и энергетическое машиностроение, информационные, телекоммуникационные и космические технологии

2 (61) 2023

Импакт-фактор - 0.095

Научно-технический журнал Выходит 4 раза в год

Алматы

(2)

СВИДЕТЕЛЬСТВО

о постановке на переучет периодического печатного издания, информационного агентства и сетевого издания

№KZ14VPY00024997 выдано

Министерством информации и общественного развития Республики Казахстан

Подписной индекс – 74108

Бас редакторы – главный редактор Стояк В.В.

к.т.н., профессор

Заместитель главного редактора Жауыт Алгазы, доктор PhD Ответственный секретарь Шуебаева Д.А., магистр

Редакция алқасы – Редакционная коллегия

Главный редакторСтояк В.В., кандидат технических наук, профессор Алматинского Университета Энергетики и Связи имени Гумарбека Даукеева, Казахстан;

Заместитель главного редактораЖауыт А., доктор PhD, ассоциированный профессор Алматинского Университета Энергетики и Связи имени Гумарбека Даукеева, Казахстан;

Сагинтаева С.С., доктор экономических наук, кандидат физико-математических наук, профессор математики, академик МАИН;

Ревалде Г., доктор PhD, член-корреспондент Академии наук, директор Национального Совета науки, Рига, Латвия;

Илиев И.К., доктор технических наук, Русенский университет, Болгария;

Белоев К., доктор технических наук, профессор Русенского университета, Болгария;

Обозов А.Д., доктор технических наук, НАН Кыргызской Республики, заведующий Лабораторией «Возобновляемые источники энергии», Кыргызская Республика;

Кузнецов А.А., доктор технических наук, профессор Омского государственного технического университета, ОмГУПС, Российская Федерация, г. Омск;

Алипбаев К.А., PhD, доцент Алматинского Университета Энергетики и Связи имени Гумарбека Даукеева, Казахстан;

Зверева Э.Р., доктор технических наук, профессор Казанского государственного энергетического университета, Российская Федерация, г. Казань;

Лахно В.А., доктор технических наук, профессор Национального университета биоресурсов и природопользования Украины, кафедра компьютерных систем, сетей и кибербезопасности, Украина, Киев;

Омаров Ч.Т., кандидат физико-математических наук, директор Астрофизического института имени В.Г. Фесенкова, Казахстан;

Коньшин С.В., кандидат технических наук, профессор Алматинского Университета Энергетики и Связи имени Гумарбека Даукеева, Казахстан;

Тынымбаев С.Т., кандидат технических наук, профессор Алматинского Университета Энергетики и Связи имени Гумарбека Даукеева, Казахстан.

За достоверность материалов ответственность несут авторы.

При использовании материалов журнала ссылка на «Вестник АУЭС» обязательна.

(3)

66

ИНФОРМАЦИОННЫЕ,

ТЕЛЕКОММУНИКАЦИОННЫЕ И КОСМИЧЕСКИЕ ТЕХНОЛОГИИ

МРНТИ 81.93.29 https://doi.org/10.51775/2790-0886_2023_61_2_66 ОЦЕНКА АЛГОРИТМА ГЕНЕРАЦИИ РАУНДОВЫХ КЛЮЧЕЙ

ЛЕГКОВЕСНОГО ШИФРА LBC-3

Н.А. Капалова, А. Хаумен*, К.Т. Алгазы

«Институт информационных и вычислительных технологий» КН МНВО, Алматы, Казахстан

E-mail: [email protected], [email protected], [email protected]

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

Проведены эксперименты для проверки статистической безопасности сгенерированных последовательностей (раундовых ключей) этого шифра. Для проведения сравнительного анализа также был исследован схема генерации раундовых ключей известного алгоритма PRESENT. Эксперименты проводились с секретными ключами низкой и высокой плотности, а также случайными числами. Статистические свойства сгенерированных раундовых ключей проверялась набором тестов NIST. Также проверены показатели

«Лавинного эффекта» и веса Хэмминга в раундовых ключах. Полученные результаты показывают, что генерация раундовых ключей алгоритма LBC-3 выдает надежные случайные раундовые ключи, которые успешно проходят тесты NIST на случайность.

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

Введение

Безопасность симметричного блочного шифра зависит от надежности алгоритма шифрования и секретного ключа. Поскольку алгоритмы шифрования общедоступны, безопасность шифра напрямую зависит от качества и длины секретного ключа. Согласно NIST [1, 2], минимальная длина ключа для защиты от атак методом перебора составляет 112 бит. В симметричных блочных шифрах функции преобразования в шифровании и алгоритм генерации раундовых ключей (ГРК) напрямую влияют на безопасность зашифрованных данных [3]. Поэтому эти функции должны быть тщательно отобраны и объединены для получения надежного зашифрованного текста.

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

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

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

(4)

67

чтобы раундовые ключи, сгенерированные с помощью ГРК, не должны иметь какой-либо линейной связи друг с другом, а также с секретным ключом [5].

Разработчики шифров учитывают принцип Шеннона на стадии разработки алгоритма шифрования для достижения свойств конфузии и диффузии. Об этих свойствах также следует позаботиться в алгоритмах ГРК, чтобы обеспечить независимость между раундовыми ключами. По сравнению с требованиями надежного алгоритма шифрования, в литературе меньше внимания уделялось требованиям надежного алгоритма составления ГРК. В [6] авторы указали, что ГРК является надежным, если все раундовые ключи одинаково защищены. Согласно работе [5] несколько атак могут использовать линейное соотношение между битами раундовых ключей. Для достижения максимального лавинного эффекта в раундовых ключах авторами предложено, чтобы ГРК обладал свойством, заключающимся в том, что все биты входных ключей должны одинаково влиять на выходные раундовые ключи ГРК. В [7] авторы рекомендовали то, что атаки на связанные ключи и дифференциальные атаки можно было предотвратить, максимизировав лавинообразность в раундовых ключах и избегая линейности в ГРК.

В работе [8] предложили три желательных свойства для ГРК, то есть односторонняя функция защиты от коллизии, независимость между раундовыми и секретными ключами и эффективность реализации. В [9] представлена оценка независимости между раундовыми ключами, сгенерированными ГРК. Авторы показали, что независимость между раундовыми ключами обеспечивает устойчивость ГРК к атаке, зависящей от ключа. Лавинный эффект является желательным криптографическим свойством в криптографически защищенных алгоритмах. Если ГРК показывает хорошее значение лавинности, то это указывает на хорошую безопасность. Низкое значение лавинного эффекта показывает плохую рандомизацию в алгоритме, что может помочь криптоаналитику частично или полностью взломать алгоритм [10].

Надежность алгоритма ГРК зависит от функций, используемых для создания раундовых ключей. В научных работах предлагается множество ГРК, которые используют различные методы для генерации раундовых ключей. Например, блочный шифр IDEA использует линейную функцию (циклический сдвиг) для генерации раундовых ключей [11]. Аналогично алгоритм ГРК блочного шифра PRESENT использует линейную перестановку в качестве основного компонента для генерации раундовых ключей [12]. Однако в шифре PRESENT нелинейная функция (s-box) используется только для ограниченного числа битов (только крайние 4 бита). ГРК из алгоритма AES использует линейные и нелинейные функции для генерации раундовых ключей [13].

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

ГРК из блочного шифра Serpent относится к этой категории [15].

Авторы в [16] выявили слабые места в алгоритме ключевого расписания RC4. В [17] авторы описали преимущества использования хаоса в алгоритме расписания ключей, а в [18] авторы представили многомерный ключевой алгоритм для RC6. Однако во всех этих исследованиях не обсуждались никакие критерии для оценки криптографической надежности алгоритмов составления расписания ключей. Только авторы работы [3] подробно привели методы оценки ГРК алгоритмов шифрования.

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

Исследования показывают, что, хотя статистические тесты не являются достаточными критериями для утверждения криптографической надежности криптографических алгоритмов, тем не менее, они обеспечивают необходимые критерии для надежного криптографического алгоритма. Если алгоритм проходит статистические тесты, это не означает, что алгоритм выдержит все возможные атаки, однако, если алгоритм не проходит необходимые статистические тесты, то он наверняка не выдержит даже базовых атак на алгоритм [3, 19].

В работе рассматривается алгоритм генерации раундовых ключей (ГРК) шифра LBC-3. Для оценки криптографической надежности ГРК LBC-3 были проведены статистические тесты частоты, битовой независимости, битовой корреляции и ключа высокой/низкой плотности. Для сравнения результатов исследования был рассмотрен алгоритм ГРК шифра PRESENT. Такие исследования проводились в работе [19] для ГРК PRESENT, с длиной ключа 128 бит. А в данной работе мы проводили исследования для ключей с длиной 80 битов шифра PRESENT.

(5)

68 1. Блочный алгоритм шифрования LBC-3

Алгоритм LBC-3 разработан для шифрования данных блочного типа длиной 64 бит с ключом 80 бит. LBC-3 при шифровании выполняет 20 раундов. Каждый раунд включает в себя 4 вида преобразования [20]:

- преобразование S, - преобразование RL, - преобразование L, - преобразование K.

1.1 Процесс шифрования

При шифровании исходный блок открытого текста делится на 4 подблока по 16 бит.

Шифрование начинается с добавления первых 64 битов мастер ключа на исходный текст (рисунок 1).

Далее выполняются раундовые преобразования.

Если обозначить раундовый процесс шифрования как E, то получим:

𝐸(𝐴) = [𝐾(𝐿(𝑆(𝐴0)||𝑅𝐿(𝑆(𝐴0)) ⊕ 𝑆(𝐴1)||𝑆(𝐴2)||𝑆(𝐴3)))]𝑟𝑐 = 𝐵, (1)

где 𝐴 = {𝐴0, 𝐴1, 𝐴2, 𝐴3} – 64 битный исходный текст, {𝐴𝑖} – 16 битные подблоки, 𝐵 – 64 битный шифртекст, rc – количество раундов, ⨁ – сложение по модулю 2.

Функция 𝑅𝐿 выполняется только для подблока {𝐴0}. То есть {𝐴1} = 𝑅𝐿(𝐴0) ⨂ 𝐴1.

Рисунок 1 – Общая схема процесса шифрования алгоритма LBC-3 1.2 Преобразование S

Преобразование S было сконструировано для замены битов блока на другие биты с помощью таблиц (S-блок). Это нелинейное преобразование алгоритма использует операции с полубайтами (4 бита). К каждому полубайту применяется нелинейная биективная подстановка, задаваемая одномерным массивом, состоящим из 16 элементов (Таблица 1).

Таблица 1 – Таблица замены

X 0 1 2 3 4 5 6 7 8 9 A B C D E F

S(X) 9 2 A 4 0 6 7 D 5 1 8 3 E F B C

16-битный подблок поступает на вход преобразования S и разбивается на 4 группы по 4 бита.

Каждый полубайт входного блока – это индекс значения, находящегося в таблице подстановок (Таблица 1). Таким образом, на выходе преобразования S будет получен набор полубайтов, находящихся по соответствующим индексам в заданной таблице подстановок:

𝑆(𝐴) = 𝑆(𝑎0)||𝑆(𝑎1)||𝑆(𝑎2)||𝑆(𝑎3), 𝑆: 𝑉4 → 𝑉4, (2) где 𝐴 – входные 16 бит, 𝑎𝑖 – полубайты подблока.

(6)

69

S-блок генерирован путем получения обратного элемента по модулю 𝑥4+ 𝑥3+ 1. После этого к каждому элементу таблицы было применено следующее аффинное преобразование:

‖‖ 𝑏3 𝑏2 𝑏1 𝑏0

‖‖ = ‖

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

‖ ∗ ‖ 𝑏3 𝑏2 𝑏1 𝑏0

‖ + ‖ 1 0 0 1

‖ (3)

где 𝑏𝑖 – биты полубайта, 𝑏𝑖 - новые биты полубайта.

1.3 Преобразование RL

Линейным преобразованием алгоритма LBC-3 является циклический сдвиг битов и подблоков на определенную позицию. 64 бита входного блока делятся на 4 подблока по 16 битов. Линейное преобразование на уровне подблока осуществляется с помощью функции RL, которая применяется только к первому подблоку (Рисунок 1). Результат функции RL суммируется со вторым подблоком по модулю 2 (операция XOR). Функция RL имеет следующий вид:

𝑅𝐿(𝑎) = 𝑎 ⊕ (𝑎 ≪< 7) ⊕ (𝑎 ≪< 10), 𝑎 ∈ 𝐹216, (4) где «≪<» - оператор циклического сдвига битов подблока влево.

1.4 Преобразование L

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

1.5 Преобразование K

После циклических сдвигов подблоков к блоку данных добавляются раундовые ключи по модулю 2. Раундовый ключ, состоящий из 64-х битов, делится на 4 подключа по 16 бит и суммируется с соответствующими подблоками данных.

1.6 Процесс расшифрования

Процесс расшифрования выполняется в обратном порядке. При этом вместо преобразований 𝑆 и 𝐿 используются обратные преобразования 𝑆−1и 𝐿−1, а преобразования 𝑅𝐿 и 𝐾 остаются такими же, как и в процессе шифрования:

𝐷(𝐵) = [𝑆−1(𝐿−1(𝐾(𝐵0)||𝑅𝐿(𝐾(𝐵0))⨁𝐾(𝐵1)||𝐾(𝐵2)||𝐾(𝐵3)))]𝑟𝑐 = 𝐴 (5), где {𝐵𝑖} – подблоки шифртекста. 𝐴 – расшифрованный исходный текст. Функция 𝑅𝐿 выполняется только для подблока {𝐵0}. То есть, {𝐵1} = 𝑅𝐿(𝐵0) ⊕ 𝐵1.

1.7 Преобразование S-1

Это обратное преобразования к табличной замене полубайтов. Оно осуществляется с помощью таблицы 2.

Таблица 2 – Обратная таблица замены

X 0 1 2 3 4 5 6 7 8 9 A B C D E F

S(X) 4 9 1 B 3 8 5 6 A 0 2 E F 7 C D

2. Ключевое расписания алгоритмов

Пусть K – ключ симметричного блочного алгоритма шифрования. Тогда ключевым расписанием называется система функций - {𝜏1, 𝜏2, … , 𝜏𝑟}, при помощи которой ключ K расширяется до r ключей k1,…, kr, где r – число раундов итеративного (раундового) блочного шифра [21].

Ключевое расписание – это процесс генерации ключевой последовательности на основе мастер ключа (секретного ключа). Эти же числовые последовательности, так называемые раундовые ключи, будут использоваться для процедур раундового шифрования.

2.1 Ключевое расписание алгоритма LBC-3

(7)

70

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

Рисунок 2 – Схема генерации раундовых ключей алгоритма LBC-3

Мастер ключ из 80 битов делится на 5 подблоков по 16 бит. На первом этапе первый подблок ключей заменяется на другие биты с помощью таблицы замен S-блок (Таблица 1). На четвертый подблок добавляется константа Nr по модулю 2. Здесь Nr – это номер раунда, который имеет значения от 1 до 20.

На втором этапе биты каждого подблока циклически сдвигаются влево на определенную позицию. Эту процедуру осуществляет функция Ri, здесь i – количество позиций, на которую будут сдвигаться биты подблока. Как показано на рисунке 2, биты первого подблока сдвигаются циклически влево на 6 позицию, второй подблок на 7, третий подблок на 8, остальные подблоки на 9 и 10 соответственно.

На третьем этапе подблоки суммируются по модулю 2 с соседним правым подблоком: первый со вторым, второй с третьим, третий с четвертым подблоком.

На последнем этапе преобразования подблоки циклически сдвигаются влево на одну позицию, то есть подблоки меняются местами целиком.

После вышеуказанных преобразований из 5 подблоков (80 битов) берутся начальные 4 подблока (64 бита), с левой стороны последовательности, и используются как раундовые ключи зашифрования (расшифрования). Полученные из предыдущих преобразований 80 битов будут использоваться как основания для следующих раундовых ключей. Этот процесс продолжается до получения всех раундовых ключей шифрования.

2.2 Ключевое расписание алгоритма PRESENT

Алгоритм PRESENT может принимать ключи либо из 80, либо из 128 бит [22]. Однако в данной работе будет рассматриваться ключевое расписание с 80-битными мастер-ключами. Мастер-ключ хранится в ключевом регистре K и представлен как {𝑘79, 𝑘78, … , 𝑘0}. В первом раунде 64-разрядный ключ раунда 𝐾𝑖= {𝑘63, 𝑘62, … , 𝑘0} состоит из 64 крайних левых битов текущего содержимого регистра K. Таким образом, в первом раунде мы имеем, что:

𝐾𝑖 = {𝑘63, 𝑘62, … , 𝑘0} = {𝑘79, 𝑘78, … , 𝑘16}

После извлечения раундового ключа Ki регистр ключей 𝐾 = {𝑘79, 𝑘78, … , 𝑘0} обновляется следующим образом:

1. [𝑘79, 𝑘78, … , 𝑘1, 𝑘0] = [𝑘18, 𝑘17, … , 𝑘20, 𝑘19], 2. [𝑘79, 𝑘78, 𝑘77, 𝑘76] = 𝑆[𝑘79, 𝑘78, 𝑘77, 𝑘76],

3. [𝑘19, 𝑘18, 𝑘17, 𝑘16, 𝑘15] = [𝑘19, 𝑘18, 𝑘17, 𝑘16, 𝑘15]⨁𝑟𝑜𝑢𝑛𝑑_𝑐𝑜𝑢𝑛𝑡𝑒𝑟.

Таким образом, регистр ключа сдвигается на 61 позицию влево, потом крайние левые четыре бита пропускаются через S-блок основного алгоритма шифрования, а значение round_counter добавляется

(8)

71

к битам k19 k18 k17 k16 k15 из регистра ключа K. Эти процедуры повторяются 31 раз до получения последнего раундового ключа.

3. Оценка ключевого расписания алгоритмов

Взлом алгоритма шифрования путем атаки по словарю отнимает много времени и требует много ресурсов. Таким образом, злоумышленники пытаются использовать другой способ, получая доступ к раундовым ключам или секретным ключам. Поэтому для обеспечения полной безопасности алгоритма желательно усилить ключевое расписание и сам алгоритм шифрования [19]. Надежное ключевое расписание должно генерировать случайные и независимые раундовые ключи, поскольку зависимые раундовые ключи приводят к различным атакам, таким как слайд-атаки, атаки на связанные ключи, атаки типа «встреча посередине», а также линейный и дифференциальный криптоанализ.

В этом разделе рассматриваются оценочные показатели ключевого расписание алгоритма LBC- 3. Для тестирования были выбраны данные следующего типа:

- HDK – high density keys, ключевая последовательность высокой плотности.

- LDK – low density keys, ключевая последовательность низкой плотности.

- RDK – random density keys, ключевая последовательность случайной плотности.

Последовательность HDK – состоит из единичных бит, содержащих только один или два нулевых бита. А LDK – наоборот, состоит из нулевых битов, содержит только один или два единичных бита. RDK – это случайная последовательность битов. Такая схема исходных данных была взята из работы [19].

В данной работе дается оценка качества ГРК алгоритма LBC-3. Для сравнения результатов также были проведены работы по оценке ключевого расписания алгоритма PRESENT-80. Все исходные данные (HDK, LDK, RDK) имеют длину 80 битов и будут служить как секретный ключ для ГРК алгоритмов LBC-3 и PRESENT.

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

- Частотный тест;

- Разница в битах между раундовыми ключами;

- Весовой тест Хэмминга;

- Лавинный эффект в раундовых ключах.

3.1 Частотный тест

Основное внимание в тесте уделяется соотношению нулей и единиц для всей последовательности. Для числовых данных ключей, создаваемых раундовыми ключами, соотношение единиц и нулей в последовательности должно быть равное. Таким образом, частотный тест является базовым тестом NIST для доказательства случайности числовых последовательностей в раундовы ключах [23]. Если какой-либо ГРК не сможет выдать случайные раундовые ключи, то нет необходимости применять какие-либо дальнейшие тесты, поскольку в предстоящих тестах требования станут более строгими, и алгоритм их не пройдет [19]. Оценка в частотном тесте может быть выражена с помощью формул (1)–(3). Для проведения частотного теста выполняем следующие операции [23]:

1. Нули и единицы входной последовательности преобразуются в значения -1 и +1 и суммируются для получения

𝑆𝑛= 𝑋1+ 𝑋2+ ⋯ + 𝑋𝑛, где 𝑋𝑖 = 2𝜀𝑖− 1, (1) 𝜀𝑖 – биты входной последовательности.

2. Вычисляем тестовую статистику:

𝑆𝑜𝑏𝑠=|𝑆𝑛|

√𝑛. (2) 3. Вычисляем p-значение:

𝑝 − 𝑣𝑎𝑙𝑢𝑒 = 𝑒𝑟𝑓𝑐 (𝑆𝑜𝑏𝑠

√2); (3), где erfc - дополнительная функция ошибки.

Для оценки ключевого расписания обоих алгоритмов были использованы 10000 секретных ключей. Все эти ключи были объединены в один файл. В каждом раунде ключи также записываются в один файл. Поскольку алгоритм LBC-3 состоит из 20 раундов шифрования, то для тестирования

(9)

72

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

Этот частотный тест отслеживает вычисленное p-значения из входной последовательности битов. Согласно правилу принятия решений [23], если p-значение ≥ 0.01, то последовательность считается случайной с достоверностью 99%, в противном случае она не случайна.

3.2 Разница в битах между раундовыми ключами

Этот тест направлен на то, чтобы наблюдать сложную взаимосвязь между раундовыми ключами [19]. Эта сложность приведет к оценке конфузии в раундовых ключах. Два последовательных раундовых ключа суммируются по модулью 2 (xor), и общее количество единиц ключей будет подсчитано для целей сравнения. Надежное ключевое расписание дает разницу в битах в 50% и более, что приводит к значительной путанице, за которой последует сложная взаимосвязь между секретным ключом и раундовыми ключами.

3.3 Весовой тест Хэмминга

В работе [24] авторами выполнен вероятностный метаэвристический поиск, чтобы идентифицировать набор раундовых ключей с очень низкими весами Хэмминга. Эти ключи идеально подходят для атаки дифференциального криптоанализа на алгоритм шифрования. Раундовые ключи напрямую сопоставляются с раундовыми данными, и чтобы внести существенные изменения в эти раундовые данные, раундовые ключи должны обладать достаточной случайностью. Более того, большее количество нулей или единиц в раундовых ключах делает последующие ключи предсказуемыми, внося незначительные изменения в раундовые данные. Следовательно, весовой тест Хэмминга гарантирует, что достигается идеальный баланс нулей и единиц между раундовыми ключами для максимальной случайности в зашифрованном тексте. Следовательно, идеально сбалансированная двоичная строка с n битами должна иметь вес Хэмминга n/2 [24].

В алгоритме LBC-3 64 крайних левых бита используются для процесса шифрования каждого раунда, а остальные биты не участвуют в процессе шифрования. Таким образом, расчет для веса Хэмминга применяется только к этим 64 битам, поскольку они непосредственно участвуют в процессе шифрования. Поскольку значение n равно 64, идеальное значение веса Хэмминга для каждой строки равно n/2 = 32. У нас есть 20 раундовых ключей и 1 секретный ключ, всего в ГРК присутствует 21 ключ. Следовательно, значение веса Хэмминга должно составлять 20 раунд x 32 бита = 640 бита, что справедливо эквивалентно 50% от общего количества битов. В тесте один и тот же ключ используется в качестве секретного ключа как для алгоритма LBC-3, так и для алгоритма Present-80, а вес Хэмминга каждого из раундовых ключей рассчитывается с использованием формул:

Вес Хэмминга =Количество единичных битов

Общее количество битов (4) 3.4 Лавинный эффект в раундовых ключах

Лавинный эффект (AE) измеряет эффект изменения зашифрованного текста путем изменения одного бита в соответствующем открытом тексте или ключе. Общее количество битов зашифрованного текста, на которые влияет модификация в открытом тексте, называется лавинным эффектом. Этот тест измеряет нелинейные характеристики предлагаемого алгоритма. Значение для хорошего лавинного эффекта должно составлять 50% битов, гарантируя, что на каждый бит зашифрованного текста влияет открытый текст или бит ключа [25].

Формула, используемая для вычисления AE, определена в (5):

𝐴𝐸 =1

𝑥𝑥𝑖=1|𝑐𝑖− 𝑝𝑖| (5) Здесь x – длина открытого текста/зашифрованного текста, которая в этом алгоритме равна 64 битам, а 𝑐𝑖 и 𝑝𝑖 – это i-й бит зашифрованного текста и открытого текста, соответственно.

Рассчитанное значение дополнительно классифицируется в процентах для сравнения, используя формулы (6).

𝑝𝑒𝑟𝑐𝑒𝑛𝑡𝑎𝑔𝑒 𝑜𝑓 𝑏𝑖𝑡𝑠 𝑐ℎ𝑎𝑛𝑔𝑒𝑑 = 𝐴𝐸 × 100. (6)

(10)

73

Для оценки данного критерия были использованы три ключа следующего вида: LDK, HDK, RDK – описанные в начале раздела 4. В начале тестирования на основе выбранного ключа

генерируются раундовые ключи – 𝐾𝑖. Потом меняем один бит исходного ключа и генерируются также раундовые ключи – 𝐾𝑖′′.

𝐾𝑖 = {𝑘1, 𝑘2, … , 𝑘𝑟𝑐 }; (7) здесь i – позиция измененного бита исходного ключа, rc – порядковый номер раунда.

С помощью формулы (5) находим значения AE – для каждого раунда. В каждой итерации меняем следующий бит исходного ключа и находим значения AE. Таким методом были исследованы раундовые ключи алгоритмов LBC-3 и PRESENT-80.

4. Результаты и обсуждения

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

В разделе 2.2 приведен алгоритм генерации раундовых ключей шифра PRESENT-80. Эта простая конструкция ключевого расписания разработана исключительно для обеспечения безопасности малоресрусных устройств, но эта простая конструкция имеет определенные ограничения, как указано ниже [19]:

1. В раундовых ключах, начиная с раунда 1, не наблюдается надежного перехода. Это связано, прежде всего, с тем, что сдвиг влево (линейная функция) применяется к 47% битам и изменяет только положение бита. Нелинейные функции S-box и xor изменяют 13 битов в каждом раунде, эта разница эквивалентна 10% от всех битов.

2. Если в секретном ключе переключен один бит, разница в битах не видна для всех сгенерированных раундовых ключей. В наихудшем сценарии разница в один бит между двумя секретными ключами приводит только к 16-битной разнице между 31 раундовым ключом. Это не требуемый лавинный эффект среди раундовых ключей. Следовательно, злоумышленник может вычислить статистическую зависимость между раундовыми ключами.

3. Для неслучайного секретного ключа ГРК алгоритма PRESENT требуется 16 раундов (в среднем), чтобы получить идеальный случайный раундовый ключ.

4.1 Частотный тест

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

Для этой цели набор данных из 10 000 случайных секретных ключей использовался в качестве входных данных для обоих ГРК с использованием уравнений (1) – (3). Оба алгоритма проходят частотный тест, поскольку секретные ключи случайны, следовательно, сгенерированные раундовые ключи также случайны. В таблице 3 показана доля прохождения 20 раундовых ключей, полученных из случайных секретных ключей с использованием ГРК алгоритмов. Оба ГРК проходят частотный тест, среднее p-значение алгоритма LBC-3 составляет ~0,58, в то время у алгоритма этот показатель

~0,46.

Таблица 3 – Среднее p-значение раундовых ключей

Round LBC-3 Present Round LBC-3 Present

1 0,82 0,88 11 0,15 0,55

2 0,19 0,84 12 0,99 0,32

3 0,52 0,66 13 0,90 0,30

Таблица 3 – Среднее p-значение раундовых ключей (продолжение)

4 0,05 0,50 14 0,36 0,67

5 0,83 0,44 15 0,32 0,43

6 0,45 0,49 16 0,95 0,31

(11)

74

7 0,59 0,34 17 0,83 0,15

8 0,50 0,34 18 0,60 0,12

9 0,91 0,25 19 0,18 0,43

10 0,39 0,34 20 0,99 0,88

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

4.2 Разница в битах между раундовыми ключами

Алгоритм LBC-3 разработан таким образом, что раундовые ключи напрямую суммируются с раундовыми данными (операция xor). Случайные раундовые ключи должны быть объединены с раундовыми данными, чтобы сделать их менее предсказуемыми и более случайными. Тест оценивает среднее значение разности битов для случайных секретных ключей. Для тестирования были использованы 3 вида секретного ключа LDK, HDK, RDK, описанные в разделе 4. Были выбраны 50 секретных ключей с каждого вида.

В таблицах 4 и 5 показан процент разницы в битах между двумя последовательными раундовыми ключами, сгенерированными ГРК алгоритма LBC-3 и ГРК алгоритма PRESENT, соответственно. Как показывают результаты исследования, у алгоритма LBC-3 среднее значение разниц раундовых ключей трех видов примерно одинаково: LDK – 49.32%, HDK – 49.97%, RDK – 50.41%. В то же время у алгоритма PRESENT эти результаты: LDK – 33.05%, HDK – 34.44%, RDK – 49.87%. При ключах вида LDK процент разницы в битах колеблется от 39% до 51% у алгоритма LBC- 3, от 11% до 52% у алгоритма PRESENT. Хороший результат показали ключи вида RDK: от 49% до 51% у обоих алгоритмов. В идеале переход битов между раундовыми ключами должен составлять не менее 50%. Медленный переход битов в начальных раундах может помочь злоумышленникам предсказать ключи предыдущих раундов и получить доступ к секретному ключу.

Таблица 4 – Результаты теста вычисления разницы между раундовыми ключами алгоритма LBC-3

k(i) xor k(i+1)

LBC-3

HDK LDK Random Keys

Average number

of Bit Diff.

% of Bit Diff.

number of Bit

Diff.

% of Bit Diff.

number of Bit Diff.

% of Bit Diff.

k1+k2 35,96 44,95% 31,2 39,00% 41,08 51,35% 45,10%

k2+k3 40,86 51,08% 36,4 45,50% 40,02 50,03% 48,87%

k3+k4 38,66 48,33% 40,06 50,08% 40,82 51,03% 49,81%

k4+k5 40,54 50,68% 39,98 49,98% 41,32 51,65% 50,77%

k5+k6 39,64 49,55% 39,6 49,50% 39,94 49,93% 49,66%

k6+k7 40,4 50,50% 39,9 49,88% 40,12 50,15% 50,18%

k7+k8 40,6 50,75% 39,8 49,75% 40,64 50,80% 50,43%

k8+k9 40,22 50,28% 40,5 50,63% 40,02 50,03% 50,31%

… … … …

k18+k19 41,32 51,65% 40,28 50,35% 39,68 49,60% 50,53%

k19+k20 40,06 50,08% 40,94 51,18% 39,82 49,78% 50,34%

Average 39,98 49,97% 39,45 49,32% 40,33 50,41% 49,90%

Таблица 5 – Результаты теста вычисления разницы между раундовыми ключами алгоритма PRESENT

k(i) xor k(i+1) PRESENT

HDK LDK Random Keys Average

(12)

75 number

of Bit Diff.

% of Bit Diff.

number of Bit

Diff.

% of Bit Diff.

number of Bit

Diff.

% of Bit Diff.

k1+k2 10,1 12,63% 9,3 11,63% 40,98 51,23% 25,16%

k2+k3 11,04 13,80% 10,22 12,78% 40,28 50,35% 25,64%

k3+k4 14,56 18,20% 14,58 18,23% 38,28 47,85% 28,09%

k4+k5 14,7 18,38% 13,82 17,28% 40,04 50,05% 28,57%

k5+k6 18,1 22,63% 16,4 20,50% 39,44 49,30% 30,81%

k6+k7 18,16 22,70% 17,34 21,68% 40 50,00% 31,46%

k7+k8 23,36 29,20% 22,54 28,18% 40,12 50,15% 35,84%

k8+k9 23,28 29,10% 22,42 28,03% 39 48,75% 35,29%

… … … …

k18+k19 41,28 51,60% 39,34 49,18% 40,18 50,23% 50,33%

k19+k20 44,8 56,00% 41,88 52,35% 39,7 49,63% 52,66%

Average 27,55 34,44% 26,44 33,05% 39,90 49,87% 39,12%

Рисунок 3 – Средние значения процентов разницы в битах между сгенерированными раундовыми ключами алгоритмов LBC-3 и PRESENT

4.3 Весовой тест Хэмминга (HammingWeight Test)

Раундовые ключи с низким весом Хэмминга могут служить подспорьем при атаках дифференциального криптоанализа, как обсуждалось ранее. Для тестирования также выбраны ключи 3-х видов: LDK, HDK, RDK и 50 секретных ключей с каждого вида. На основе этих секретных ключей генерируются раундовые ключи. Для каждого ключа был рассчитан вес Хэмминга с использованием формул (4). Полученные результаты показаны в таблице 6. При ключах LDK вес Хэмминга у алгоритма LBC-3 на 18.25% больше чем у алгоритма PRESENT. Но при HDK алгоритм PRESENT показывает 69,75%, это на 21% больше чем алгоритма LBC-3. А при ключах RDK оба алгоритма принимают примерно одинаковые значения (Таблица 6). Из результатов видно, что алгоритм LBC-3 генерирует раундовые ключи с весом Хэмминга от 48% до 50% при любых видах секретных ключей (Рисунок 4).

Таблица 6 – Среднее значения веса Хэмминга раундовых ключей

The key type LDK HDK RDK

(13)

76

Algorithm LBC-3 PRESENT LBC-3 PRESENT LBC-3 PRESENT Average value of

Hamming weight 48.51% 30.26% 48.69% 69.75% 50.08% 49.95%

4.4 Лавинный эффект в раундовых ключах

Для проведения теста по лавинному эффекту раундовых ключей были выбраны 3 ключа вида HDK, LDK и RDK. Для начала мастер-ключ с помощью ГРК расширяется на раундовые ключи. На следующем этапе меняем первый бит мастер-ключа и генерируем раундовые ключи. Полученные две группы раундовых ключей сравниваются с помощью формулы (5), но здесь находим разницу между битами двух групп раундовых ключей. Выполняем этот же процесс, изменяя следующий бит мастер- ключа. Таким образом вычисляются показатели лавинного эффекта для каждой измененной позиции бита мастер-ключа. Тест проведен для двух алгоритмов отдельно. По результатам теста лавинный показатель раундовых ключей алгоритма LBC-3 имеет значения в среднем ≈37%. В то время этот же показатель алгоритма PRESENT был в среднем ≈2%. Среднее значения лавинного эффекта показаны в таблице 7.

Рисунок 4 – Средние значения весов Хэмминга раундовых ключей вида LDK Таблица 7 – Среднее значения лавинного эффекта раундовых ключей

Алгоритм HDK LDK RDK

LBC-3 37,39% 37,45% 37,50%

PRESENT 2,24% 2,25% 2,21%

Из таблицы 7 видно, что лавинный эффекта раундовых ключей алгоритма PRESENT очень низкий. Это объясняется тем, что нелинейное преобразование в ключевом расписании этого алгоритма имеет очень низкое влияние на биты ключевой последовательности. У алгоритма PRESENT в ключевом расписании через S-блок (таблица замены) проходят только 4 крайних бита ключевой последовательности в каждом раунде. Кроме этого, с 15-й по 19-й бит суммируются с раундовым номером. Этот процесс тоже оказывает низкое влияние на лавинный эффект ключевой последовательности. У алгоритма LBC-3 S-блок действует на 16 бит в каждом раунде и после циклических сдвигов каждый блок будет проходит через S-блок. Поэтому лавинный эффект этого алгоритма выше чем у алгоритма PRESENT.

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

(14)

77

Рисунок 5 – Средние значения лавинного эффекта раундовых ключей LBC-3

Рисунок 6 – Средние значения лавинного эффекта раундовых ключей PRESENT

Заключение

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

Результаты подчеркивают, что ГРК алгоритма LBC-3 повышает общую безопасность существующего блочного шифра. ГРК алгоритма PRESENT предоставляет случайные раундовые ключи только тогда, когда секретный ключ является случайным, но ключевое расписание LBC-3 обеспечивает случайность раундовых ключей для ключей с низкой плотностью, высокой плотностью и случайных секретных ключей. Ключевая последовательность, генерируемая ГРК алгоритма LBC-3, полностью прошли частотный тест. Средние значения процентов разницы в битах между сгенерированными раундовыми ключами алгоритма LBC-3 составляют примерно 50%, что доказывает хорошее качество ключевого расписания. Вес Хэмминга раундовых ключей алгоритма тоже в пределах нормы. Лавинный эффект раундовых ключей алгоритма LBC-3 имели значения в среднем ≈37%. Эти показатели указывают, что ключевое расписание алгоритма LBC-3 обеспечивается достаточным уровнем безопасности самого алгоритма шифрования.

Благодарность

Referensi

Dokumen terkait

к.т.н., профессор Заместитель главного редактора Жауыт Алгазы, доктор PhD Ответственный секретарь Шуебаева Д.А., магистр Редакция алқасы – Редакционная коллегия Главный редактор 

Заманауи жеңілсалмақты криптографиялық алгоритмдерді құру барысында классикалық блокты шифрлардан ерекшелейтін келесі архитектуралық шешімдерді ескеру қажет [8]: - алгоритмнің негізгі

Күн панелінің беткі температурасының қоршаған орта температурасына тәуелділігі қолданылды [1]: 𝑇𝑝𝑖= 𝑇возд+800Е𝑖 𝑇𝑛.экс− 20°С 1 бұнда Tpi - күн панелінің беткі температурасы, 0C; Еi -

Шешім қабылдауды қолдау жүйесінің модулі, оның жай- күйінің болжамды бағалауларын ескере отырып, университеттің бұлтқа бағытталған оқу ортасын масштабтау нұсқаларын бағалау мәселесін

Су таңбасы туралы ақпарат алынғаннан кейін, алынған су таңбасы қайталанатын LDPC кодын декодтау процесі арқылы декодталады, содан кейін су таңбасы туралы болжамды ақпаратты алу үшін

Құю шөміштері үшін, сонымен қатар, төсемнің сыртқы жағында салқындаған кезде пайда болатын температуралық кернеулер, бұл жағдайда-балқыту кезеңінде; - жұмыс ортасының балқымасының

Интерферометриялық әдісіпен ТБТ жазудың сұлбасы Фазалық маска әдісімен 5 - сурет KrF эксимер лазерінің жалғыз импульсімен жазылған I типті ТБТ-дың шағылу спектрі 7 - суретте

In order to be able to recognize descriptors, analyze them and compare them with pattern groups and ultimately issue a conclusion on the preliminary modification of the device, it was