Начальная и завершающая перестановки
На вход алгоритма поступает 8-битовый блок открытого текста, к которому применяется начальная перестановка, заданная функцией IP.
Все 8 битов открытого текста сохраняют свои значения, но меняется порядок их следования. На завершающей стадии алгоритма выполняется обратная перестановка.
Как легко убедиться с помощью простой проверки, вторая из приведенных выше перестановок действительно является обратной по отношению к первой, т.е. IР-1(IP(Х)) = X. Функция fk Самым сложным компонентом S-DES является функция fk, представляющая собой комбинацию перестановки и подстановки. Пусть L и R означают соответственно первые 4 бита и последние 4 бита 8-битовой последовательности, подаваемой на вход 4, и пусть F – некоторое отображение пространства 4-битовых строк в себя, не обязательно являющееся взаимно однозначным. Тогда fk(L,B)=(L+F(E, SK), R), где SK обозначает подключ, а + – операцию XOR (побитовое исключающее ИЛИ). Например, если в результате применения функции IP (рисунок 3) получено значение (1011 1101) и F(1101, SK) = (1110) для некоторого ключа SK, то fk(10111101) = (01011101), так как (1011)+ (1110) = (0101). Теперь опишем отображение F. На входе этого отображения имеем 4-битовое значение (n1 n2 п3 п4) . Первой операцией является операция расширения/перестановки.
Для дальнейшего рассмотрения удобнее представить результат в следующей форме: К этому значению с помощью операции XOR добавляется 8-битовый подключ : Переименуем полученные в результате 8 битов, как показано ниже: Первые четыре бита (первая строка приведенной выше матрицы) поступают на вход модуля S0, на выходе которого получается 2-битовая последовательность, а оставшиеся четыре бита (вторая строка матрицы) – на вход модуля S1, на выходе которого получается другая 2-битовая последовательность. Эти S-модули (матрицы кодирования) работают следующим образом. Первый и четвертый биты входной последовательности рассматриваются как 2-битовые числа, определяющие строку, а второй и третий – как числа, определяющие столбец S-матрицы. Модули S0 и S1 можно определить следующим образом:
Элементы, находящиеся на пересечении соответствующей строки и столбца, задают двух битовые выходные значения. Например, если (Р0,0 Р0,3) = (00) и (p0,1 p02) = (10), то выходные 2 бита задаются значением, которое находится на пересечении строки 0 и столбца 2 матрицы S0 (оно равно 3 или (11) в двоичном представлении). Точно так же (Р1,0 Р1,3) и (p1,1 p12) служат для определения строки и столбца матрицы S1, на пересечении которых стоит значение, задающее вторые 2 бита. Теперь 4 бита, полученные на выходе модулей S0 и S1, преобразуются с помощью перестановки следующим образом:
Результат применения перестановки Р4 и является результатом функции F. Методика и порядок выполнения работы 1. Изучить теоретический материал работы. 2. Провести исследование процесса шифрования . Каждый студент получает индивидуальное задание по осуществлению процесса шифрования. Открытый текст приведен в таблице 1. В качестве ключа для алгоритма S-DES использовать результаты предыдущего занятия. Таблица 1 – Задание на разработку ключей для S-DES
Содержание отчета и его форма Отчет по лабораторной работе, оформленный письменно в рабочей тетради, должен содержать процесс исследования систем по своему варианту и ответы на контрольные вопросы. Вопросы для защиты работы 1. Поясните особенности процесса шифрования в S-DES. 2. Сколько раундов используется в S-DES. 3. Основные операции шифрования с помощью алгоритма S-DES. ©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.
|