|
Симметричные криптосистемы. Алгоритм IDEA.Алгоритм IDEA (International Data Encryption Algorithm) относится к классу симметричных шифраторов. Данный алгоритм был разработан в 1990 г. в качестве альтернативы алгоритму DES (Data Encryption Standard). В основе алгоритма лежит идея смешанного преобразования, которое случайным образом равномерно распределяет исходный текст по всему пространству шифротекста. Смешанные преобразования реализуются при помощи перемежающихся последовательностей замен и простых операций перестановок. Преобразование данных производится по блокам, размер которых равен 64 битам. Длина ключа в алгоритме IDEA составляет 128 бит. Каждый 64-битный блок рассматривается как четыре 16-битных подблока, которые преобразуются с использованием следующих целочисленных операций: - Побитное сложение по модулю 2 (XOR) двух 16-битных операндов, которое будем обозначать как - Сложение двух целых 16-битных операндов по модулю 216, обозначенное как - Умножение двух чисел без знака по модулю Процедура шифрования состоит из 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-битных подблока Схема выполнения 9-го раунда шифрования приведена на рисунке 9.12.
Рисунок 9.12 – Девятый раунд шифрования алгоритма IDEA
Следует обратить внимание на то, что 2-й и 3-й подблоки промежуточного значения На каждом из девяти раундов используются значения 16-битных итерационных ключей Первые 8 итерационных ключей Процедура расшифрования состоит из тех же девяти раундов, но только выполняемых с использованием иных значений итерационных ключей. Итерационные ключи расшифрования получают из итерационных ключей шифрования на основе таблицы соответствия (таблица 9.20).
Таблица 9.20 – Значения ключей, используемых в алгоритме IDEA для дешифрования При этом выполняются следующие соотношения:
Таким образом, для ключа Порядок использования итерационных ключей при шифровании показан на рисунке 9.13. При выполнении расшифрования раунды алгоритма выполняются в таком же порядке. На вход первого раунда подаётся четыре 16-битных подблока 64-битного блока шифротекста. Значения, полученные после выполнения выходного раунда, являются подблоками 64-битного блока исходного текста. Отличие от процедуры шифрования заключается в том, что вместо ключей
Рисунок 9.13 - Порядок использования итерационных ключей алгоритма IDEA
![]() ![]() ЧТО ПРОИСХОДИТ ВО ВЗРОСЛОЙ ЖИЗНИ? Если вы все еще «неправильно» связаны с матерью, вы избегаете отделения и независимого взрослого существования... ![]() ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между... ![]() Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычислить, когда этот... ![]() Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|