Помощь в написании студенческих работ
Антистрессовый сервис

Пример шифрования данных с использованием УАШ

РефератПомощь в написанииУзнать стоимостьмоей работы

Так, на вход функции F третьего раунда шифрования поступает значение 1100 0010, которое преобразуется к значению 1011 1101 в соответствии с рис. 46. После этого выход функции F третьего раунда шифрования (т. е. значение 1011 1101) складывается по модулю 2 с левой частью сообщения на входе третьего раунда шифрования (значение 10 010 100). В результате образуется значение 0010 1001. Так как третий… Читать ещё >

Пример шифрования данных с использованием УАШ (реферат, курсовая, диплом, контрольная)

Для того чтобы лучше освоить принцип шифрования данных с использованием блочных симметричных шифров, рассмотрим пример шифрования данных с помощью описанного выше учебного алгоритма шифрования. Для этого возьмем сообщение X = 5 520 310 и ключ К = 176 061 910. Первым делом необходимо перевести эти сообщения в двоичную систему счисления. При переводе необходимо помнить, что сообщение X должно занимать 16 бит, а ключ К — 24 бита. Если в случае перевода в двоичную систему счисления полученная последовательность битов оказывается короче, чем того требует алгоритм шифрования, необходимо дописать недостающее число нулей к старшим значащим разрядам. Таким образом, в результате перевода чисел получим:

Пример шифрования данных с использованием УАШ.

Обратите внимание, что в значении ключа К появились три старших нуля. Следующим шагом является определение раундовых подключей в соответствии с рис. 37:

Пример шифрования данных с использованием УАШ.

Итак, на вход алгоритма шифрования поступает блок данных из 16 бит X = 1101 0111 1010 ООП, который разделяется на две части по 8 бит: левую часть — 1101 0111 и правую часть — 1010 ООП. Для наглядности процесс зашифрования данных представлен на рис. 40.

Правая часть сообщения (значение 1010 0011) поступает на вход функции F первого раунда шифрования, где преобразуется с использованием раундового подключа К1 в соответствии с рис. 36.

Первым преобразованием функции F является перестановка с расширением, которая направлена на перемешивание и размножение битов исходного сообщения. Для того чтобы применить перестановку с расширением, необходимо пронумеровать биты исходной последовательности от 1 до 8 слева направо. После этого биты исходной последовательности необходимо преобразовать с помощью табл. 22. Так, в соответствии с табл. 22, третий бит исходной последовательности станет первым, четвертый бит — вторым, первый — бит третьим и т. д. В результате преобразования исходная последовательность 1010 0011 приводится к виду 1010 0101 1100. Для наглядности процесс применения перестановки с расширением изображен на рис. 41.

После перестановки Е происходит сложение данных с раундовым подключом К1 по модулю 2. Напомним, что операция сложения по модулю 2 работает следующим образом: если складываются два одинаковых бита (т. е. или два нуля, или две единицы), то в результате сложения образуется 0; если же складываются два разных бита (0 и 1 или 1 и 0), то в результате сложения образуется 1. Итак, в результате сложения по модулю 2 данных после перестановки с расширением и раундового подключа К1 получается значение 1011 1111 0001 (рис. 42).

После сложения с раундовым подключом последовательность из 12 битов разбивается на три группы по четыре бита. Каждая из групп поступает на вход одного из трех блоков замены, где преобразуется в соответствии с табл. 23 — 25. Напомним, что первые два блока замены имеют одинаковый принцип работы. Работа третьего блока несколько отличается от первых. Рассмотрим данные преобразования более подробно. Так, в соответствии с последовательностью, полученной после сложения с раундовым подключом, на вход первого блока замены поступает значение 1011. Первый бит последовательности указывает на номер строки в табл. 23, последние три бита — на номер столбца. В результате такого преобразования на выходе блока замены образуется значение 100. Для наглядности процесс преобразования данных с помощью первого блока замены представлен на рис. 43. Аналогичным образом на вход второго блока замены поступает значение 1111, которое в соответствии с табл. 24 преобразуется к значению 001.

Процесс шифрования сообщения Х = 1101 0111 1010 0011 с помощью секретного ключа К = 0001 1010 1101 1101 ОНО 1011.

Рис. 40. Процесс шифрования сообщения Х = 1101 0111 1010 0011 с помощью секретного ключа К = 0001 1010 1101 1101 ОНО 1011.

Применение операции перестановки с расширением.

Рис. 41. Применение операции перестановки с расширением.

Пример шифрования данных с использованием УАШ.

<�Х".

Рис. 42. Сложение данных после перестановки с расширением с.. рауидовым подключом К1

Преобразование данных с помощью первого блока замены.

Рис. 43. Преобразование данных с помощью первого блока замены.

Последние четыре бита последовательности — 0001 — преобразуются с помощью третьего блока замены в соответствии с табл. 25. Здесь первый и последний биты входа в Блок 3, т. е. значение 01, образуют номер строки в таблице замены, а средние два бита, т. с. значение 00, образуют номер столбца. В результате преобразования на выходе блока замены образуется значение 10 (обратим внимание, что на выходе последнего блока замены образуется два бита в отличие от первых двух блоков, где на выходе были трехбитовые значения). Для наглядности процесс преобразования данных с использованием последнего блока замены представлен на рис. 44.

Таким образом, после применения преобразования с помощью блоков замены на выходе образуется последовательность из 8 бит: 100 001 10.

Последним преобразованием функции F является обычная перестановка, работа которой осуществляется в соответствии с табл. 26 и аналогична работе перестановки с расширением, которая была описана раньше. В результате перестановки последовательность 10 000 110 преобразуется в последовательность 1 000 011, которая и является выходом функции F первого раунда шифрования (см. рис. 40).

После того как выполнено преобразование с помощью функции F, необходимо сложить левую часть сообщения на входе первого раунда шифрования (значение 11 010 111) с выходом функции F первого раунда шифрования (т. е. со значением 1 000 011). В результате образуется значение 10 010 100. Далее правая и левая части сообщения меняются местами, т. е. на вход второго раунда шифрования поступает последовательность 10 100 011 10 010 100.

Преобразования дальнейших двух раундов схожи с теми, которые были проведены в первом раунде шифрования. Мы не будем здесь повторять подробное описание одних и тех же действий. Однако для того чтобы проследить дальнейшие преобразования, отобразим их с помощью функции F для второго и третьего раундов, представленных соответственно на рис. 45 и 46.

Преобразование данных с помощью третьего блока замены.

Рис. 44. Преобразование данных с помощью третьего блока замены.

Преобразование функции F второго раунда.

Рис. 45. Преобразование функции F второго раунда.

Преобразование функции F третьего раунда.

Рис. 46. Преобразование функции F третьего раунда.

На вход функции F второго раунда шифрования поступает значение 1001 0100, которое преобразуется к значению ОНО 0001 в соответствии с рис. 45. После этого выход функции F второго раунда шифрования (т. е. значение 0110 0001) складывается по модулю 2 с левой частью сообщения на входе второго раунда шифрования (значение 1010 0011). В результате образуется значение 1100 0010. Далее правая и левая части сообщения меняются местами, т. е. на вход третьего раунда шифрования поступает последовательность 10 010 100 11 000 010.

Так, на вход функции F третьего раунда шифрования поступает значение 1100 0010, которое преобразуется к значению 1011 1101 в соответствии с рис. 46. После этого выход функции F третьего раунда шифрования (т. е. значение 1011 1101) складывается по модулю 2 с левой частью сообщения на входе третьего раунда шифрования (значение 10 010 100). В результате образуется значение 0010 1001. Так как третий раунд шифрования является последним, в нем нс происходит обмена данными между правой и левой частями сообщения. Таким образом, на выход третьего раунда шифрования поступает последовательность 101 001 11 000 010, которая и является искомым шифрованным сообщением.

Процесс расшифрования сообщения Y = 00101001 11000010 с помощью секретного ключа К = 0001 1010 1101 1101 ОНО 1011.

Рис. 47. Процесс расшифрования сообщения Y = 101 001 11 000 010 с помощью секретного ключа К = 0001 1010 1101 1101 ОНО 1011.

Расшифрование данных проводится по той же схеме, что и шифрование, с той разницей, что раундовыс подключи используются в обратном порядке. Процесс расшифрования сообщения 101 001 11 000 010 представлен на рис. 47. Вы можете выполнить его самостоятельно, после чего сверить все промежуточные значения.

Показать весь текст
Заполнить форму текущей работой