Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursach_zashita_informatsi1111111i.doc
Скачиваний:
2
Добавлен:
20.04.2019
Размер:
351.74 Кб
Скачать

Виконання роботи

3.1 Знаходження ключів

Знайдемо ключі S-DES (рис.2):

обчислюємо 10-бітний ключ

4610 = 001011102

Ключ матиме вигляд 01 00101110

Виконуємо перестановку за матрицею Р10:

Р10

3

5

2

7

4

10

1

9

8

6

01 01001110 ->0111000110

Виконаємо циклічний зсув вліво на одну позицію для перших п’яти бітів, а потім других п’яти:

LS-1(01111) = 11110

LS-1(00110) = 01100

Результат 11110 01100

Виконуємо перестановку за матрицею Р8:

P8

6

3

7

4

8

5

10

9

0111001100 ->01111000

K1 = 01111000

Виконаємо циклічний зсув вліво на 2 позиції обох частин результату першого зсуву:

LS-2(11110) = 11101

LS-2(01100) = 10001

Результат 11101 10001

Виконуємо перестановку за матрицею Р8:

P8

6

3

7

4

8

5

10

9

11101 10001->11000110

K2 = 1100 0110

3.2 Шифрування

Знайдемо 8-бітний текст для шифрування:

9310 = 010111012

Пропустимо 8-бітний текст через матрицю IP

IP

3

1

4

8

5

7

2

6

01011101-> 00111011

Виконаємо дії описані у функції fK Розділимо результат на 2 частини і пропустимо праву її частину через матрицю е/р:

0011 1011

E/P

4

1

2

3

2

3

4

1

1011->11010111

Виконаємо операцію XOR з K1

11010111

01111000

10101111

Розділимо результат на 2 частини 1010 і 1111 і пропустимо їх через матриці S0 і S1 i отримаємо 1011

Пропустимо результат через P4:

P4

2

4

3

1

1011->0111

Виконаємо операцію XOR з лівою частиною результату перетворення матрицею ІР:

0111

0011

0100

Складаємо результат з правою частиною результату перетворення матрицею ІР і отримуємо функцію fK :

fK1 = 0100 1011

Пропустимо fK1 через SW отримаємо 1011 0100

Далі виконаємо ту саму функцію fK але для значення після SW 1011 0100:

Розділимо результат SW на 2 частини і пропустимо праву її частину через матрицю Е/Р:

1011 0100

E/Р

4

1

2

3

2

3

4

1

0100 -> 00101000

Виконаємо операцію XOR з другим ключемK2

00101000

1100 0110

11101111

Розділимо результат на 2 частини 1110 і 1111 і пропустимо їх через матриці S0 і S1 i отримаємо 1000

Пропустимо через матрицю P4:

P4

2

4

3

1

1000 -> 0001

Виконаємо операцію XOR з правою частиною результату SW:

0001

1011

1010

Об’єднуємо результат з правою частино результату SW і отримуємо результат другої функції fK :

fK2 = 1010 0100

Цей результат fK2 пропустимо через матрицю ІP-1

ІP-1

2

7

1

3

5

8

6

4

1010 0100 -> 00110010

Encrypted = 001100102 (5010) - наше зашифроване значення.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]