Пример шифрования данных с использованием алгоритма S-DES
После того как выполнено преобразование с помощью функции F, необходимо сложить левую часть сообщения на входе первого раунда шифрования (значение 0010) с выходом функции F первого раунда шифрования (со значением 1000). В результате образуется значение 1010. Далее правая и левая части сообщения меняются местами, т. е. на вход второго раунда шифрования поступает последовательность 0101 1010… Читать ещё >
Пример шифрования данных с использованием алгоритма S-DES (реферат, курсовая, диплом, контрольная)
Для того чтобы лучше освоить принцип шифрования данных с использованием алгоритма S-DES, рассмотрим пример. Для этого возьмем сообщение X = 35. В качестве подключей будем использовать значения К1 и К2, полученные ранее в подразд. 4.2.1. Первым делом необходимо перевести значение X в двоичную систему счисления: X = 100 011.
Итак, на вход алгоритма шифрования поступает блок данных из 8 бит X = 0010 0011, который разделяется на две части по 4 бита: левую часть — 001 и правую часть -0011. Для наглядности процесс зашифрования данных представлен на рис. 52.
Первым преобразованием является начальная перестановка IP, которая выполняется в соответствии с табл. 29. Биты исходной последовательности 0010 ООП нумеруются слева направо от 1 до 8 и подвергаются перестановке: второй бит перемещается в первую позицию, шестой — во вторую и т. д. В итоге значение 0010 0011 преобразуется к виду 0010 0101.
Правая часть сообщения (значение 0101) поступает на вход функции F первого раунда шифрования, где преобразуется с использованием раундового подключа К| в соответствии с рис. 53.
Первым преобразованием функции F является перестановка с расширением, которая направлена на перемешивание и размножение битов исходного сообщения. Для того чтобы применить перестановку с расширением, необходимо пронумеровать биты исходной последовательности от 1 до 4 слева направо. После этого биты исходной последовательности необходимо преобразовать с помощью табл. 31. Так, в соответствии с табл. 31, четвертый бит исходной последовательности станет первым, первый бит — вторым, второй — бит третьим и т. д. В результате преобразования исходная последовательность 0101 приводится к виду 1010 1010. Для наглядности процесс применения перестановки с расширением изображен на рис. 54.
Рис. 52. Процесс шифрования сообщения X = 35ю с помощью алгоритма шифрования S-DES (К = 642ю).
Рис. 53. Преобразование функции F первого раунда.
Рис. 54. Применение операции перестановки с расширением.
После перестановки Е происходит сложение данных с раундовым подключом К| по модулю 2. В результате сложения по модулю 2 данных после перестановки с расширением и раундового подключа К| получается значение 0000 1110 (рис. 55).
Рис. 55. Сложение данных после перестановки с расширением с раундовым подключом К).
После сложения с раундовым подключом последовательность из 8 битов разбивается на две группы по 4 бита. Каждая из групп поступает на вход блоков замены Si и Si, где преобразуется в соответствии с табл. 32 и 33. Напомним, что первый и последний биты входа в S-блок образуют номер строки в таблице замены, а средние 2 бита образуют номер столбца. Так, на вход блока Si поступает значение 0000, а это значит, что в табл. 32 мы выбираем элемент на пересечении строки 00 и столбца 00 — это значение 1 (так как на выходе S-блока 2 бита, то записываем его как 01). На вход блока Sz поступает значение 1110, а эго значит, что в табл. 33 мы выбираем элемент на пересечении строки 10 и столбца 11 — это значение 1 (записываем его как 00). Таким образом, после применения преобразования с помощью блоков замены на выходе образуется последовательность из 4 бит: 0100.
Последним преобразованием функции F является обычная перестановка, работа которой осуществляется в соответствии с табл. 34 и аналогична работе перестановки с расширением, которая была описана раньше. В результате перестановки последовательность 0100 преобразуется в последовательность 1000, которая и является выходом функции F первого раунда шифрования (см. рис. 52).
После того как выполнено преобразование с помощью функции F, необходимо сложить левую часть сообщения на входе первого раунда шифрования (значение 0010) с выходом функции F первого раунда шифрования (со значением 1000). В результате образуется значение 1010. Далее правая и левая части сообщения меняются местами, т. е. на вход второго раунда шифрования поступает последовательность 0101 1010.
Преобразования второго раунда выполняются аналогично первому. На его вход поступает значение 1010. Во втором раунде в функции F используется второй раундовый подключ К2. Преобразования происходят так, как показано на рис. 56.
Рис. 56. Преобразование функции F второго раунда.
В соответствии с рис. 56, на выходе функции F второго раунда шифрования образуется значение 1111. Это значение складывается по модулю 2 с левой частью сообщения на входе второго раунда, т. е. со значением 0101. В результате получается 1010. Таким образом, после двух раундов преобразования (после второго раунда левая и правая половины текста местами не меняются) образуется значение 1010 1010. К нему применяется конечная перестановка 1Р'в соответствии с табл. 30. В результате образуется значение 0111 1000, которое является шифр-текстом.
Расшифрование данных проводится по той же схеме, что и зашифрование, с той разницей, что раундовыс подключи используются в обратном порядке. Процесс расшифрования сообщения 0111 1000 представлен на рис. 57. Вы можете выполнить его самостоятельно, после чего сверить все промежуточные значения.
Рис. 57. Процесс расшифрования сообщения Y = 0111 1000 с помощью алгоритма шифрования S-DES (К = 642ю).