1   2   3   4   5   6
Ім'я файлу: 5_Методичні_вказівки_до_практичних (2).docx
Розширення: docx
Розмір: 108кб.
Дата: 12.04.2020
скачати


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

Харківський національний університет радіоелектроніки

МЕТОДИЧНІ ВКАЗІВКИ

до лабораторних робіт, практичних занять та самостійної роботи

з дисципліни
«БЕЗПЕКА ПРОГРАМ І ДАНИХ»
для студентiв усіх форм навчання

першого (бакалаврського) рівня вищої освіти спеціальності

121 – «Інженерія програмного забезпечення»

Освітня програма – «Програмна інженерія»

ЗАТВЕРДЖЕНО

кафедрою ПІ
Протокол № __

від _________ р.


Харкiв 2018

Методичні вказівки до лабораторних робіт, практичних занять та самостійної роботи з дисципліни «Безпека програм та даних» для студентів усіх форм навчання усіх форм навчання першого (бакалаврського) рівня вищої освіти спеціальності 121 – «Інженерія програмного забезпечення» (освітня програма «Програмна інженерія»)/ Упоряд. О.П. Турута, Н.С. Лєсна, О.В. Олійник, А.В. Работягов, О.О. Олійник – Харків: ХНУРЕ, 2018. – 44 с.

Упорядники О.П. Турута

Н.С. Лєсна

О.В. Олійник

А.В. Работягов

О.О. Олійник

Рецензент А.В. Фролов, к.т.н., доцент кафедри КІТАМ

ЗМІСТ



1.1Мета роботи 6

1.2Теоретичні відомості 6

1.3Завдання до виконання роботи 12

1.4Зміст звіту 12

1.5Контрольні запитання 12

2.1Мета роботи 14

2.2Теоретичні відомості 14

2.3Алгоритм створення відкритого і секретного ключів 14

2.4Завдання до виконання роботи 15

2.5Зміст звіту 16

2.6Контрольні запитання 16

3.1Мета роботи 17

3.2Порядок роботи 17

3.3Теоретичні відомості 17

3.4Завдання для лабораторної роботи 19

3.6Контрольні питання 20

4.1Мета роботи 21

4.2Теоретичні відомості 21

4.3Завдання до виконання роботи 22

4.4Зміст звіту 22

4.5Контрольні питання 23

5.1Мета роботи 24

5.2Порядок роботи 24

5.3Теоретичні відомості 24

5.4Завдання для лабораторної роботи 26

5.5Контрольні питання 26

6.1Мета заняття 28

6.2Теоретичні відомості 28

6.3Завдання для виконання 30

6.4Захист практичного завдання 34

6.5Контрольні питання 34

7.1Мета заняття 35

7.2Теоретичні відомості 35

7.3Завдання для виконання 37

7.4Захист практичного завдання 38

7.5Контрольні питання 38

8.1Мета заняття 39

8.2Завдання для виконання 39

8.3Захист практичного завдання 40

8.4Контрольні питання 40

9.1Мета заняття 41

9.2Завдання для виконання 41

9.3Приклади тем 41

ВСТУП

Мета методичних вказівок – допомогти студентам при підготовці, виконанні та оформленні результатів лабораторних робіт по дисципліні, основним призначенням якої є вивчення базових принципів захисту інформації.

Лабораторні роботи направлені на практичне використання теоретичних положень, які наводяться на лекціях, закріплення та розширення практичних навичок, що отримані на практичних заняттях.

Усі лабораторні роботи виконуються з застосуванням ЕОМ. При цьому необхідно:

  • виконувати правила техніки безпеки при роботі з ЕОМ;

  • виконувати правила поведінки в лабораторії ЕОМ;

  • приходити на заняття строго за розкладом;

  • не допускається зміна прав доступу до системних ресурсів.

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

Допускається виконання лабораторної роботи бригадою у складі двох студентів. Звіт оформлюється один на бригаду, але кожний студент захищає лабораторну роботу індивідуально.

Звіт повинен включати в себе:

  • назву лабораторної роботи;

  • мету лабораторної роботи;

  • завдання і тексти програм;

  • результати виконання програм;

  • висновки.

Без наявності електронної копії звіту для поточної лабораторної роботи і всіх попередніх робіт лабораторна робота не приймається. Захист поточної лабораторної роботи може бути проведений в день виконання або під час наступної лабораторної роботи. Лабораторна робота, яка здається невчасно, не може бути оцінена високою оцінкою.

Захист всіх лабораторних робіт проводиться тільки за допомогою ЕОМ.

Лабораторна рОбота № 1. СТВОРЕННЯ ПРОГРАМНОЇ РЕАЛІЗАЦІЇ АЛГОРИТМУ ШИФРУВАННЯ des



  1. Мета роботи



Ознайомитись з методами і засобами симетричної криптографії, отримати навички створювання програмних засобів з використанням криптографічних інтерфейсів.



  1. Теоретичні відомості

1.2.1 Блоковий шифр

Вхідними даними для блокового шифру є блок розміром n біт і k-бітний ключ. На виході, після застосування шифрувального перетворення, виходить n-бітний зашифрований блок, причому незначні відмінності вхідних даних як правило призводять до істотної зміни результату. Блокові шифри реалізуються шляхом багаторазового застосування до блоків вихідного тексту деяких базових перетворень.

Так як перетворення проводиться по блоках, як окремий крок, необхідно поділити вихідні дані на блоки необхідного розміру. При цьому незалежно від формату вихідних даних, будь то текстові документи, зображення або інші файли, вони повинні бути інтерпретовані в бінарний вигляд і тільки після цього розбиті на блоки. Все вищезазначене може здійснюватися як програмними, так і апаратними засобами.

1.2.2 Перетворення Мережею Фейстеля

Це перетворення над блоками які представляють собою ліву і праву половини регістру зсуву. В алгоритмі DES використовуються пряме перетворення мережею Фейстеля в шифруванні представлене на рисунку 1.1 та зворотне перетворення мережею Фейстеля в розшифруванні представлене на рисунку 1.2. Н схемах використовуються наступні означення:

  • L та R – послідовності бітів (ліва (left) и права (right));

  • XOR — операція побітового додавання по модулю 2;

  • f – функція шифрування;

  • kі – ключ на кожному раунді.



Рисунок 1.1 – Пряме перетворення мережею Фейстеля


Рисунок 1.2 – Зворотне перетворення мережею Фейстеля
Функції шифрування та генерування ключів детальніше будуть розглянуті нижче.

1.2.3 Алгоритм DES

Загальна схема шифрування представлена на рисунку 1.3. Алгоритм DES – це симетричний алгоритм шифрування, який є типовим представником сімейства блокових шифрів. Призначений для шифрування даних 64-бітовими блоками. Довжина ключа дорівнює 56 бітам. Алгоритм представляє собою комбінацію двох основних методів шифрування підстановки і перестановки. Основним комбінаційним блоком DES є застосування до тексту одиничної комбінації цих двох методів. Такий блок називається раундом. DES включає в себе 16 раундів.



Рисунок 1.3 – Загальна схема шифрування в алгоритмі DES
Початкова перестановка IP (Initial Permutation). Згідно з рисунком 1.3 блок вхідного тексту перетворюється за допомогою матриці початкової перестановки IP, тобто біти вхідного блоку переставляються згідно з таблицею 1.1.
Таблиця 1.1 – Початкова перестановка IP


58

50

42

34

26

18

10

2

60

52

44

36

28

20

12

4

62

54

46

38

30

22

14

6

64

56

48

40

32

24

16

8

57

49

41

33

25

17

9

1

59

51

43

35

27

19

11

3

61

53

45

37

29

21

13

5

63

55

47

39

31

23

15

7


Після початкової перестановки 64-бітовий блок IP(Т) приймає участь у 16 циклах перетворення Фейстеля.

Необхідно розбити IP(Т) на дві частини L0 та R0, де L0 та R0 - відповідно 32 старших бітів і 32 молодших бітів блока. ПрипустимоТi-1=Li-1Ri-1 результат (i-1) ітерації, тоді результат i-ой ітерації Ti = LiRi знаходиться:
Li = Ri-1

Ri= Li-1 f(Ri-1,ki)
Ліва частина Li дорівнює правій частині попереднього вектору Li-1Ri-1. В свою чергу права частина Ri – це бітове додавання Li-1 та f(Ri-1,ki) по модулю 2.

В 16 циклах перетворення Фейстеля функція f грає роль шифрування. Аргументами функції f є 32-бітовий вектор Ri-1 та 48-бітовий ключ ki, які є результатом перетворення 56-бітового начального ключа шифру.

Для обчислення функції f використовуються: функція розширення Е, перетворення S (з 8 перетворень S-блоків), і перестановка P.

Функція Е розширює 32-бітовий вектор Ri-1 до 48-бітового вектору E(Ri-1) шляхом дублювання деяких бітів із Ri-1. Порядок бітів вектору E(Ri-1) приведено в табл. 1.2.
Таблиця 1.2 – Функція розширення E


32

1

2

3

4

5

4

5

6

7

8

9

8

9

10

11

12

13

12

13

14

15

16

17

16

17

18

19

20

21

20

21

22

23

24

25

24

25

26

27

28

29

28

29

30

31

32

1

  1   2   3   4   5   6

скачати

© Усі права захищені
написати до нас