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

Міністерство освіти і науки України

Національний авіаційний університет

Домашня робота

з дисципліни «Захист інформації в спец. системах та мережах»

Виконав студент ФКН-502

Галанцев Г.В.

Прийняв викладач

Давиденко А.М.

Київ 2011

Зміст

Постановка задачі 3

Теоретична частина 3

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

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

3.2 Шифрування 9

Виконаємо дії описані у функції fK 9

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

3.3 Дешифрування 11

Виконаємо дії описані у функції fK 11

Ілюстрація роботи програми 14

Висновки 25

Постановка задачі

Необхідно виконати ручні розрахунки і реалізацію за допомогою програми.

Матриці ІР та ІР-1 беруться по варіанту.

Вхідний текст для шифрування – 2 передостанні цифри студентського квитка (46 в десятковій = 0010 1110 у двійковій системі).

10-бітний ключ – додамо «01» спереду до двох передостанніх цифр студентського у двійковій системі і отримаємо 456 у 10-ковій системі.

Матриці по варіанту:

Матриця IP

3

1

4

8

5

7

2

6

Матриця ІР-1

2

7

1

3

5

8

6

4

Теоретична частина

Спрощений DES - це алгоритм шифрування, що має, скоріше, навчальний, ніж практичне значення. По властивостях і структурі він подібний DES, але має набагато менше параметрів. Даний алгоритм був розроблений професором Едвардом Шейфер (Edward Schaefer) з Університету Санта-Клара.

Загальні відомості

На рис. 1 показана загальна структура спрощеного алгоритму DES (S-DES). Даний алгоритм отримує на вході 8-бітовий блок відкритого тексту і 10-бітовий ключ, а на виході генерується 8-бітовий блок шифрованого тексту. Алгоритм дешифрування S-DES в якості вихідних даних використовує 8-бітовий блок шифрованого тексту і той же 10-бітовий ключ, який застосовувався для шифрування, а в результаті роботи алгоритм дешифрування повинен генерувати 8-бітовий блок відкритого тексту.

Рис. 1. Схема спрощеного алгоритму DES

Алгоритм шифрування включає послідовне виконання п'яти операцій: початкової перестановки IP, складної функції f K, що є композицією операцій перестановки і підстановки і залежить від отриманого ключа, перестановки SW, за якої дві половинки послідовності даних просто міняються місцями, ще раз функції f K і, нарешті , перестановки, зворотної початкової (IP -1). Функція f K використовує в якості вихідних даних не тільки текст, що шифрується, але і 8-бітовий ключ

Даний алгоритм можна представити у вигляді композиції функцій:

шифрований текст = IP -1 (f k2 (SW (f k1 (IP (відкритий текст ))))),

де

K 1 = P8 (зсув (P10 (ключ))),

K 2 = P8 (зсув (зрушення (P10 (ключ )))).

Процес дешифрування, по суті, є процесом, зворотним процесу шифрування:

відкритий текст = IP -1 (f k1 (SW (f k2 (IP (шифрований текст ))))).

Обчислення ключів S-DES

В алгоритмі S-DES використовується 10-бітовий ключ, який повинен бути як у відправника, так і в одержувача повідомлення. З цього ключа на певних етапах шифрування і дешифрування генерується два 8-бітових підключа. На рис. 2 показана схема процедури створення цих підключений.

Рис. 2. Обчислення ключів S-DES

Спочатку виконується перестановка бітів ключа наступним чином. Перестановка P10 в табличній формі має вигляд:

P10

3

5

2

7

4

10

1

9

8

6

Цю таблицю слід читати зліва направо. Кожен її елемент ідентифікує позицію біта вихідних даних у генерується вихідний послідовності. Після цього окремо для перших п'яти бітів і окремо для других виконується циклічний зсув вліво (LS-1). Потім застосовується перестановка P8, в результаті якої з 10-бітового ключа спочатку обираються, а потім переставляються 8 бітів за наступним правилом.

P8

6

3

7

4

8

5

10

9

У результаті цієї операції виходить перший підключ (K 1). Тепер треба повернутися до двох 5-бітовим рядках, отриманими в результаті застосування функцій LS-1, і виконати з кожною з цих рядків циклічний зсув вліво на дві позиції (LS-2). Нарешті, застосувавши до отриманої в результаті послідовності перестановку P8, отримаємо з'єднання K 2.

Шифрування S-DES

На рис. 3 представлена більш детальна схема алгоритму шифрування S-DES. На вхід алгоритму надходить 8-бітовий блок відкритого тексту, до якого застосовується початкова перестановка, задана функцією IP.

Усі 8 бітів відкритого тексту зберігають свої значення, але змінюється порядок їхнього проходження. На завершальній стадії алгоритму виконується зворотна перестановка.

Рис.3. Детальна схема шифрування S-DES

Функція f K

Найскладнішим компонентом S-DES є функція f K, що представляє собою комбінацію перестановки і підстановки. Нехай L і R означають відповідно перші 4 біти і останні 4 біта 8-бітової послідовності, що подається на вхід f K, і нехай F-деяке відображення простору 4-бітових рядків у себе, не обов'язково є взаємно однозначною. Тоді покладемо

fK (L, R) = (L ⊕ F (R, SK), R),

де SK позначає з'єднання, а ⊕ - операцію XOR.

Тепер опишемо відображення F. На вході цього відображення маємо 4-бітове значення (n1, n2, n3, n4). Першою операцією є операція розширення / перестановки.

E/P

4

1

2

3

2

3

4

1

Для подальшого розгляду зручніше представити результат в такій формі:

n4 | n1 n2 | n4

n2 | n3 n4 | n1

До цього значення за допомогою операції XOR додається 8-бітовий з'єднання K1 =

(k11, k12, k13, k14, k15, k16, k17, k18):

n4+k11|n1+k12 n2+k13|n4+k14

n2+k15|n3+k16 n4+k17|n1+k18

Давайте перейменуємо отримані в результаті 8 бітів, як показано нижче

p0,0| p0,1 p0,2|p0,3

p1,0| p1,1 p1,2|p1,3

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

S0:

1

0

3

2

3

2

1

0

0

2

1

3

3

1

3

1

S1:

1

1

2

3

2

0

1

3

3

0

1

0

2

1

0

3

Ці S-модулі (матриці кодування) працюють таким чином. Перший і четвертий біти вхідної послідовності розглядаються як 2-бітові числа, що визначають рядок, а другий і третій - як числа, що визначають стовпець S-матриці. Елементи, що знаходяться на перетині відповідних рядка і стовпця, задають 2-бітові вихідні значення.

Тепер 4 біта, отримані на виході модулів S0 і S1, перетворюються з допомогою перестановки наступним чином.

P4

2

4

3

1

Результат застосування перестановки P4 і є результатом функції F.

Функція-перемикач

Функція f K змінює тільки чотири лівих біта. Тому наступною операцією в алгоритмі шифрування є використання функції SW, яка міняє місцями перші і останні чотири біта послідовності, щоб при наступному виклику функції f K остання працювала вже з іншого четвіркою бітів. При другому виклику f K функції E / P, S0, S1 і P4 залишаються тими ж, що і при першому, але замість ключа K 1 використовується ключ K 2.

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