лаб 15. Лаб раб 15. Лабораторные работы
Скачать 0.6 Mb.
|
Шифрование S-DESКак уже упоминалось, процесс шифрования представляет собой последовательное выполнение пяти операций, которые рассмотрим каждую в отдельности. Начальная и завершающая перестановкиНа вход алгоритма поступает 8-битовый блок открытого текста, к которому применяется начальная перестановка, заданная функцией IP (Таблица 3). Таблица 3. Начальная перестановка
Все 8 битов открытого текста сохраняют свои значения, но меняется порядок их следования. На завершающей стадии алгоритма выполняется обратная перестановка (Таблица 4). Таблица 4. Обратная перестановка
Как легко убедиться с помощью простой проверки, вторая из приведенных выше перестановок действительно является обратной по отношению к первой т.е. IР-1(IP(X)) = X. Функция fкСамым сложным компонентом S-DES является функция fк , представляющая собой комбинацию перестановки и подстановки. Пусть L и R означают соответственно первые 4 бита и последние 4 бита 8-битовой последовательности, подаваемой на вход fк, и пусть F — некоторое отображение пространства 4-битовых строк в себя, не обязательно являющееся взаимно однозначным. Тогда fк(L, R) = (L F(R, SK), R) , где SK обозначает подключ, а — операцию XOR (побитовое исключающее "ИЛИ"). Например, если в результате применения функции IP получено значение (10111101) и F(1101, SK) = (1110) для некоторого ключа SK, то fк(10111101) = (01011101), так как (1011) (1110)= (0101). Теперь опишем отображение F. На входе этого отображения имеем 4-битовое значение (n1 n2 n3 n4) . Первой операцией является операция расширения/перестановки (Таблица 5). Таблица 5 Операция расширения/перестановки.
Для дальнейшего рассмотрения удобнее представить результат в следующей форме:
К этому значению с помощью операции XOR добавляется 8-битовый подключ, К1(k11 , k12, k13, k14, k15, k16, k17, k18, k19, k20)
Переименуем полученные в результате 8 битов:
Первые четыре бита (первая строка приведенной выше матрицы) поступают на вход модуля S0, на выходе которого получается 2-битовая последовательность, а оставшиеся четыре бита (вторая строка матрицы) — на вход модуля S1, на выходе которого получается другая 2-битовая последовательность. Модули S0 и S1 можно определить так: 0 1 2 3 0 1 2 3
Эти S-модули (матрицы кодирования) работают следующим образом. Первый и четвертый биты входной последовательности рассматриваются как 2-битовые числа, определяющие строку, а второй и третий — как числа, определяющие столбец S-матрицы. Элементы, находящиеся на пересечении соответствующих строки и столбца, задают 2- битовые выходные значения. Например, если (р0,0 р0,3) = (00) и (р0,1 р0,2) = (10), то выходные 2 бита задаются значением, которое находится на пересечении строки 0 и столбца 2 матрицы S0 (оно равно 3 или (11) в двоичном представлении). Точно так же (р1,0 р1,3) и (р1,1 р1,2) служат для определения строки и столбца матрицы S1, на пересечении которых стоит значение, задающее вторые 2 бита. Теперь 4 бита, полученные на выходе модулей S0 и S1, преобразуются с помощью перестановки следующим образом. Р4
Результат применения перестановки Р4 и является результатом функции F. |