Добавил:
Да поможет вам Котельников Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

4 Лекция - Блочные шифры

.pdf
Скачиваний:
5
Добавлен:
23.06.2024
Размер:
794.59 Кб
Скачать

21

Функции F0 и F1 из алгоритма CLEFIA.

Алгоритм CLEFIA считается первым шифром, применяющим технологию DSM (Diffusion Switching Mechanism), заключающуюся в применении матриц рассеивания, для увеличения защищённости от линейного и дифференциального криптоанализа. Разработчики также учли существования нового на тот момент типа атак — алгебраических и объявили об устойчивости к нему.

Отметим, что аппаратная реализации PRESENT требует меньше логических элементов, чем CLEFIA, но благодаря тому, что длина блока в последнем 128 бит, он является более безопасным.

Алгоритмы Present и CLEFIA к настоящему времени являются хорошо изученными, однако не единственными представителями подобного класса блочных шифров, обзору и анализу целого набора которых посвящена работа Жукова Легковесная криптография. Согласно ей данный класс наиболее изучен с точки зрения разработки низкоресурсных криптоалгоритмов.

АНБ предложило в июне 2013 два семейства простых для реализации блочных шифров под названием Speck и Simon. Алгоритм шифрования Speck оптимизирован для программных реализаций, тогда как опубликованный вместе с ним Simon – для аппаратных реализаций.

Speck, построенный как сеть Фейстеля, поддерживает несколько размеров блока и ключа. Блок представляется как два одинаковых двоичных вектора (слова) PT1 и PT2, которые могут иметь иметь размер 16, 24, 32, 48 или 64 бита. Ключ имеет размер 2, 3 или 4 слова. Раундовая функция, состоит из двух циклических сдвигов: вправо и влево на Х бит, сложения правого слова с левым по модулю 2t, где t – размер слова, и операции XOR ключа key и левого слова и левого и правого слова, обозначения которых представлены на рисунках

Обозначение циклическогосдвигавправонаX бит.

Обозначение циклическогосдвигавлевонаX бит.

Обозначение сложения помодулю2t.

22

Обозначение операции XOR.

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

Схемапервых трех раундовработы алгоритмаSpeckсфункцией развертывания ключа.

Количество раундов зависит от выбранных размеров слова и ключа и представлено в таблице.

23

Таблица 1. Зависимость количества раундов в Speck от размера блока и ключа.

Размер блока (бит)

Размер ключа (бит)

Число раундов

2×16 = 32

4×16 = 64

22

2×24 = 48

3×24 = 72

22

4×24 = 96

23

 

2×32 = 64

3×32 = 96

26

4×32 = 128

27

 

2×48 = 96

2×48 = 96

28

3×48 = 144

29

 

2×64 = 128

2×64 = 128

32

3×64 = 192

33

 

4×64 = 256

34

Алгоритм блочного шифрования Simon представляет собой сбалансированную сеть Фейстеля. Представление и длина блока открытого текста и длины ключей у него такие же как и у Speck.

Обозначение операции побитового логического сложения

Раундовая функция алгоритма Simon, использующая операцию побитового логического сложения (ее обозначение показано на рисунке выше) представлена на рисунке.

.

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

Количество раундов в Simon как и в Speck зависит от выбранных размеров слова и ключа, в соответствии со таблицей 2.

24

Таблица 2. Зависимость количества раундов в Simon от размера блока и ключа.

Размер блока (бит)

Размер ключа (бит)

Число раундов

2×16 = 32

64

32

2×24 = 48

72

36

96

36

 

2×32 = 64

96

42

128

44

 

2×48 = 96

96

52

144

54

 

2×64 = 128

128

68

192

69

 

256

72

В настоящее время неизвестны успешные примеры атак на полнораундовые версии Simon и Speck, все известные атаки относятся к редуцированным (с уменьшенным по сравнению со стандартом числом раундов) версиям. Однако недоверие международной общественности к АНБ, подогретое известными разоблачениями Э. Сноудена привело к тому, что в 2017 году был получен отказ в их стандартизации от международной организации стандартизации. Однако в 2018 году под давлением США эти алгоритмы были стандартизированы ISO в рамках стандарта радиоинтерфейса RFID (радиочастотной идентификации).