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

Можна сказати, що шифрування є одною із найголовніших частин сучасної криптографії і важливою частиною інформаційних та комп’ютерних систем, що вже глибоко увійшли у наше життя (Інтернет).

З іншого боку шифрування та криптографія взагалі є, хоча швидше стали, більш математичними науками, що з одного боку дає ширший простір для людей з математичним складом розуму, а з іншого – дозволяє «підключати» фантазію при створенні алгоритмів. Ці 2 фактори не є, що правда, вирішальними, проте у цій проектній роботі саме ці 2 фактори найбільше вплинули на алгоритм.

  1. Розробка алгоритму программи шифрування

    1. Ціль алгоритму

Взагалі-то алгоритми створюються з деякою метою. Алгоритм автора (тобто мій) не є виключенням. Його ціль – зашифрувати зображення так, щоб ніхто, крім людини, що має шифр та програму, жодна людини не мала змоги хоча б здогадатися, або і зовсім відновити зображення. Цей алгоритм є досить аматорським і тому не забезпечує реальний захист зображення, але все-таки людям, що не знають навіть звичайних основ захисту інформації і/або комп’ютерної грамотності (так звані «юзери»), відновити зображення буде досить проблемно, якщо і взагалі можливо. Це зумовлено тим, що цей алгоритм, як і будь-які інші алгоритми нормальної якості не є тривіальним, але якщо і видно, що алгоритм побудований на перемішуванні частин зображення, то за яким порядком вони перемішується не зрозуміло.

    1. Створення алгоритму з врахуванням цілі

Як вже було сказано, алгоритм більше захищає від людей, що слабо розуміються у захисті інформації. Тому було вирішено:

  1. Побудувати свій алгоритм на переміщеннях частин зображення (щоcm на кшталт пазлу), але при йому зробити ці частини певного розміру та форми.

  2. Спосіб переміщення не має бути досить зрозумілим для користувача, бо тоді весь сенс алгоритму зійде на нівець.

  3. Частини зображення не мають бути надто великими, як у пазлу, але і не надто маленькими, наче самі пікселі.

  4. Форма має бути зручною для оптимального переміщення.

  5. Алгоритм має будуватися на симетрії – для зручного переміщення частин.

Отже, переміщатися будуть квадратні масиви пікселів 10 на 10.

    1. Суть роботи алгоритму

Наприклад у нас є зображення 7 на 7 пікселів:

1

8

15

22

29

36

43

2

9

16

23

30

37

44

3

10

17

24

31

38

45

4

11

18

25

32

39

46

5

12

19

26

33

40

47

6

13

20

27

34

41

48

7

14

21

28

35

42

49

Ми їх групуємо у квадрати 2 на 2 піклеля зверху вниз і зліва на право:

І

IV

VII

43

44

ІІ

V

VIII

45

46

ІІІ

VI

IX

47

48

7

14

21

28

35

42

49

Чому ми виділили крайні пікселі: справа у тому, що ці крайні пікселі не можуть утворити квадрати, тому їх переміщення є проблемо, а вирішенням є не переміщення цих пікселі, тому якщо виразити цей підхід псевдокодом4, то переміщувані пікселі це пікселі від [номер_стрічки][1]5 до

[номер_стрічки][ширина_зображення - ширина_зображення mod6 ширина_квадрата] і від [1][номер_стовбчика] до [висота_зображення - висота_зображення mod висота_квадрата][1].

Далі ми переміщаємо квадрати симетрично до горизонтальної центральної вісі (квадрати II, V, VIII):

ІII

IV

IX

43

44

ІІ

V

VIII

45

46

I

VI

VII

47

48

7

14

21

28

35

42

49

Квадрати центральної вісі (II, V, VIII) не переміщаються тому, що їх нікуди переміщати (ні з ким міняти). Але якщо б буде щось на кшталт цього:

І

ІІ

III

IV

То при переміщенні квадратів центральна вісь буде на межі II і III, і квадратів, що не будуть переміщатися не буде:

ІV

ІІI

II

I

Щоб «заплутати» очі людини, що бачить зашифроване зображення парні стовпчики шифруватись не будуть!

Тобто стовпчик 2 шифруватись не буде:

IV

V

VI

Далі буде виконуватись перемішування по вертикалі, реалізація та ж, що і у перемішуванні по горизонталі:

III

IV

IX

43

44

ІІ

V

VIII

45

46

I

VI

VII

47

48

7

14

21

28

35

42

49

IX

IV

III

43

44

ІІ

V

VIII

45

46

VII

VI

I

47

48

7

14

21

28

35

42

49

Отже, я гадаю, що алгоритм шифрування досить зрозумілий.

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