Симметричные криптосистемы. Алгоритм IDEA.

Алгоритм IDEA (International Data Encryption Algorithm) относится к классу симметричных шифраторов. Данный алгоритм был разработан в 1990 г. в качестве альтернативы алгоритму DES (Data Encryption Standard). В основе алгоритма лежит идея смешанного преобразования, которое случайным образом равномерно распределяет исходный текст по всему пространству шифротекста.

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

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

- Побитное сложение по модулю 2 (XOR) двух 16-битных операндов,

которое будем обозначать как .

- Сложение двух целых 16-битных операндов по модулю 216, обозначенное как .

- Умножение двух чисел без знака по модулю . Результат операции умножения усекается до длины в 16 бит. При вычислении данной операции существует исключение для кода со всеми нулями, который при умножении рассматривается как число . Данную операцию будем обозначать как .

Процедура шифрования состоит из 8-ми одинаковых раундов и дополнительного 9-го выходного раунда (рисунок 9.10, а).

На выходе 9-го раунда формируется содержимое четырёх 16-битных подблоков, образующих блок шифротекста.

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

Здесь F1 и F2 – 16-битные значения, полученные из открытого текста, Z5 и Z6 – 16-битные подключи.

Рисунок 9.10 - Алгоритм IDEA: а) схема процедуры шифрования;

б) мультипликативно-аддитивная структура

 

Все операнды, участвующие в выполнении процедуры шифрования, имеют размерность 16 бит.

На рисунке 9.11 приведена схема выполнения первого раунда алгоритма IDEA.

 

 

Рисунок 9.11 – первый раунд шифрования алгоритма IDEA

 

Данные, получаемые на выходе i-го раунда шифрования, подаются на вход (i+1)-го раунда. Входными данными 1-го раунда являются четыре 16-битных подблока 64-битного блока исходного текста.

Схема выполнения 9-го раунда шифрования приведена на рисунке 9.12.

 

 

Рисунок 9.12 – Девятый раунд шифрования алгоритма IDEA

 

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

На каждом из девяти раундов используются значения 16-битных итерационных ключей , которые получаются путём преобразования исходного 128-битного ключа K.

Первые 8 итерационных ключей берутся как восемь последовательных частей 128-битного ключа. Для получения следующих 8-ми итерационных ключей 128-битное значение ключа циклически сдвигается на 25 бит влево и ключи вновь берутся как его 8 последовательных частей. Данный процесс повторяется до тех пор, пока не будут получены все 52 итерационных ключа.

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

 

Таблица 9.20 – Значения ключей, используемых в алгоритме IDEA для

дешифрования

При этом выполняются следующие соотношения:

(9.7)
(9.8)

 

Таким образом, для ключа значение, обозначаемое как , является аддитивным инверсным по модулю , а значение, обозначаемое как – мультипликативным инверсным по модулю .

Порядок использования итерационных ключей при шифровании показан

на рисунке 9.13.

При выполнении расшифрования раунды алгоритма выполняются в таком же порядке. На вход первого раунда подаётся четыре 16-битных подблока 64-битного блока шифротекста. Значения, полученные после выполнения выходного раунда, являются подблоками 64-битного блока исходного текста. Отличие от процедуры шифрования заключается в том, что вместо ключей используются ключи .

 

 

Рисунок 9.13 - Порядок использования итерационных ключей алгоритма IDEA

 








Дата добавления: 2016-02-04; просмотров: 1084;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.