Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






Исследование принципов функционирования и анализа блочных шифров



Тема №3.

 

Лабораторная работа №2.

Изучение упрощенного алгоритма блочного шифрования S-IDEA.

 

Цель работы: Изучение принципов функционирования и структуры международного алгоритма шифрования данных IDEA на основе упрощенного алгоритма S-IDEA.

 

Общие сведения.

 

Упрощенный IDEA (S-IDEA) – алгоритм шифрования, по свойствам и структуре основных блоков практически полностью

 
 

Рис.1 Схема алгоритма S-IDEA.

повторяющий IDEA, но использующий меньшие число раундов и длины ключа и блоков. На рис. 1 показана общая структура алгоритма S-IDEA.

 

Данный алгоритм получает на входе 8-битовый блок открытого текста (в процессе шифрования он разбивается на четыре 2-битовых подблока) и 10-битовый ключ, из которого генерируется шестнадцать 2-битовых подключей шифрования Z1..Z16. На выходе генерируется 8-битовый блок шифрованного текста. Алгоритм расшифрования S-IDEA полностью повторяет структуру алгоритма шифрования: в качестве входных данных использует 8-битовый блок шифрованного текста, и тот-же 10-битовый ключ, из которого генерируются шестнадцать 2-битовых подключей расшифрования U1..U16. В результате работы алгоритм расшифрования должен генерировать 8-битовый блок открытого текста.

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

 

Побитовое исключающее "ИЛИ" (XOR, сумма по модулю 2), обозначаемое символом Å.

 

Сложение целых чисел по модулю 22 (по модулю 4) с входными и выходными значениями, рассматриваемыми как 2-битовые целые числа без знака. Эта операция обозначается символом .

 

Умножение целых чисел по модулю 22 + 1 (по модулю 5) с входными и выходными значениями, рассматриваемыми как 2-битовые целые числа без знака, за исключением блока 00, который интерпретируется как 23. Эта операция обозначается символом .

 

В табл. 1 приведены результаты выполнения этих операций.

 

Таблица 1. Функции, используемые в S-IDEA.

 

X Y X Y XY XÅY

 



Вычисление подключей S-IDEA.

В алгоритме S-IDEA используется 10-битовый ключ, который должен быть как у отправителя, так и у получателя сообщения. Из этого до начала шифрования или расшифрования генерируются шестнадцать 2-битовых подключей. При этом применяется следующая схема. Первые пять подключей, обозначенные Z1..Z5, образуются непосредственно из ключа: Z1 равен первым двум битам ключа, Z2 - следующим двум и т.д.

 

Затем к ключу шифрования применяется циклический сдвиг влево на 3 бита и создается пять следующих подключей. Эта процедура повторяется до тех пор, пока не будут получены все 16 подключей. На рис. 2 показано соответствие битов всех подключей битам исходного ключа.



 

Подключи расшифрования U1..U16 получаются из ключей шифрования по схеме, приведенной в табл. 2.

Zi-1 – мультипликативное обращение Zi по модулю 22+1 то есть

Zi Zi-1 = 01.

-Zi – аддитивное обращение Zi по модулю 22 то есть

Zi (-Zi) = 00.

 

Z(10 бит)
Z1 Z2 Z3 Z4 Z5
Z6 Z7 Z8 Z9 Z10
Z11 Z12 Z13 Z14 Z15
Z16                

Рис. 2 Подключи S-IDEA.

 

Таблица 2. Подключи шифрования и дешифрования S-IDEA.

Шифрование
Стадия Обозначение Эквивалент
Раунд 1 Z1 Z2 Z3 Z4 Z5 Z6 Z[1..10,4,5]
Раунд 2 Z7 Z8 Z9 Z10 Z11 Z12 Z[6..10,1..3,7..10]
Преобразование Z13 Z14 Z15 Z16 Z[1..6,10,1]
Расшифрование
Стадия Обозначение Эквивалент
Раунд 1 U1 U2 U3 U4 U5 U6 Z13-1 –Z14 –Z15 Z16-1 Z11 Z12
Раунд 2 U7 U8 U9 U10 U11 U12 Z7-1 -Z8 -Z9 Z10-1 Z5 Z6
Преобразование U13 U14 U15 U16 Z1-1 -Z2 -Z3 Z4-1

 

Шифрование/расшифрование S-IDEA.

 

Процесс шифрования предполагает два раунда и выходное преобразование. Один раунд состоит из преобразования входных блоков и субшифрования. Основой субшифрования является основной строительный блок алгоритма – мультипликативно-аддитивная (МА) структура.

На рис.3 представлена более схема одного (первого) раунда алгоритма шифрования S-IDEA.

Раунд начинается с преобразования, которое с помощью операции сложения и умножения связывает четыре входных подблока с четырьмя подключами. Это преобразование представлено серым прямоугольником вверху рис. 3. Четыре выходных блока этого преобразования связываются операцией XOR с целью получения двух 2-битовых блоков, которые затем подаются на вход структуры МА, представленной на рисунке нижним серым прямоугольником. Кроме того, структура МА получает на входе два подключа, а в результате обработки всех полученных данных на выходе этой структуры генерируется два 2-битовых значения.

Рис. 3 Подробная схема первого раунда шифрования

S-IDEA.

Наконец, четыре блока, полученных на выходе первого преобразования связываются с помощью операции XOR с двумя блоками, полученными на выходе структуры МА, и в результате имеется четыре выходных блока (W1..W4) данного раунда.

Схема выходного преобразования показана на рис. 4.

 

Рис. 4. Выходное преобразование S-IDEA.

 

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

 

Задание.

1. Используя бланк отчета (см. Приложение 1), произвести вручную пошаговое шифрование и/или расшифрование на основе 8-битового блока открытого/шифрованного текста и 10-битового ключа, заданного преподавателем.

2. Используя файл MS Excel[1], для выполнения данной лабораторной работы (см. Приложение 2 – файл s-idea.xls), установить:

а) Значение шифртекста при использовании нулевых открытого текста и ключа.

б) Арифметическую разность открытого и шифрованного текстов и число различающихся битов при изменении по сравнению с нулевыми значениями:

- ключа на 1 бит,

- открытого текста на 1 бит.

3. Оформить отчет с результатами и выводами по работе.

 

Литература.

1. Столлингс В. Криптография и защита сетей. Принципы и практика. 2-е изд. – М.: Вильямс, 2001. – 672 с.

2. Шнайер Б. Прикладная криптография. – М: Триумф, 2002. – 815 с.


[1] Шаблон лабораторной работы, выполняющий операции шифрования/расшифрования и генерации ключей студентам выдается только на время проведения лабораторной работы.


Эта страница нарушает авторские права

allrefrs.ru - 2018 год. Все права принадлежат их авторам!