Главная страница

лаб 15. Лаб раб 15. Лабораторные работы


Скачать 0.6 Mb.
НазваниеЛабораторные работы
Анкорлаб 15
Дата22.09.2022
Размер0.6 Mb.
Формат файлаdocx
Имя файлаЛаб раб 15.docx
ТипДокументы
#690117
страница17 из 26
1   ...   13   14   15   16   17   18   19   20   ...   26

Шифрование S-DES


Как уже упоминалось, процесс шифрования представляет собой последовательное выполнение пяти операций, которые рассмотрим каждую в отдельности.

Начальная и завершающая перестановки


На вход алгоритма поступает 8-битовый блок открытого текста, к которому применяется начальная перестановка, заданная функцией IP (Таблица 3).
Таблица 3. Начальная перестановка

IP

2

6

3

1

4

8

5

7


Все 8 битов открытого текста сохраняют свои значения, но меняется порядок их следования. На завершающей стадии алгоритма выполняется обратная перестановка (Таблица 4).
Таблица 4. Обратная перестановка

IP

4

1

3

5

7

2

8

6


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

-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 Операция расширения/перестановки.

Е/Р

4

1

2

3

2

3

4

1


Для дальнейшего рассмотрения удобнее представить результат в следующей форме:

n4

n1

n2

n3

n2

n3

n4

n1


К этому значению с помощью операции XOR добавляется 8-битовый подключ, К1(k11 , k12, k13, k14, k15, k16, k17, k18, k19, k20)

n4 +k11

n1+k12

n2+k13

n3+k14

n2+k15

n3+k16

n4+k17

n1+k18


Переименуем полученные в результате 8 битов:

р4

р1

р2

р3

р2

р3

р4

р1


Первые четыре бита (первая строка приведенной выше матрицы) поступают на вход модуля S0, на выходе которого получается 2-битовая последовательность, а оставшиеся четыре бита (вторая строка матрицы) на вход модуля S1, на выходе которого получается другая 2-битовая последовательность. Модули S0 и S1 можно определить так:
0 1 2 3 0 1 2 3




0

1

0

3

2

0

1

1

2

3

S0 =

1

3

2

1

0

S1 = 1

2

0

1

3




2

0

2

1

3

2

3

0

1

0




3

3

1

3

1

3

2

1

0

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

2

4

3

1


Результат применения перестановки Р4 и является результатом функции F.
1   ...   13   14   15   16   17   18   19   20   ...   26


написать администратору сайта