Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Бакалаврська дипломна робота Шифр на основі перестановок байтів

.pdf
Скачиваний:
14
Добавлен:
24.01.2021
Размер:
1.4 Mб
Скачать

41

3.5 Тестування програмного засобу

Для зашифрування повідомлення необхідно натиснути на кнопку

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

Рисунок 3.5 – Вигляд файлу з відкритими даними Після завершення процесу зашифрування даних буде запропоновано

зберегти шифротекст у файл. З’явиться вікно вибору файлу для збереження зашифрованих даних. Після збереження даних можна перевірити файл шифротексту (рис. 3.6):

Рисунок 3.6 – Вигляд файлу шифротексту

Для перевірки правильності виконання процесу розшифрування, проведемо його над щойно отриманим шифротекстом. Для цього потрібно натиснути на кнопку «Розшифрувати». Після цього з’явиться вікно вибору файлу, де потрібно обрати файл з зашифрованими даними. Для успішного розшифрування необхідно ввести правильний секретний ключ в текстове поле. Отримані розшифровані дані буде запропоновано зберегти у файл, після чого можна перевірити результат процесу розшифрування (рис. 3.7).

42

Рисунок 3.7 – Вигляд файлу з розшифрованими даними

В результаті тестування програмного засобу помилок виявлено не було, тож можна зробити висновок, що розроблений програмний засіб працює правильно.

43

ВИСНОВКИ

Використання SP-мереж в криптографії є досить актуальним, оскільки на їх основі побудовано багато відомих алгоритмів шифрування, таких як ARIA, Anubis, Threefish, Serpent та AES, що на даний час широко використовується та являється стандартом шифрування Сполучених Штатів. В перечислених шифрах операції перестановки здійснюються в межах окремого блоку, а залежність кожного біта зашифрованого блоку даних від усіх бітів відкритого блоку даних забезпечується виконанням n-ї кількості раундів, що певною мірою обмежує швидкість шифрування.

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

Для його реалізації було розв’язано ряд задач. Насамперед було виконано аналіз відомих шифрів, що побудовані на основі SP-мереж. Було розроблено алгоритм шифрування та описано всі його складові, такі як: генерування псевдовипадкової послідовності, процес перестановки байтів повідомлення,

процеси формування та накладання гами, а також роботу регістрів зсуву з лінійним зворотнім зв’язком. Розроблено програмний засіб, який реалізує роботу алгоритму.

Проведено тестування розробленого програмного засобу на правильність роботи та відсутність помилок.

Проведено аналіз швидкості роботи розробленого алгоритму, та приведено порівняльну характеристику, де було розглянуто такі шифри, як AES-128 та AES-

256, що мають показники швидкості 10,08 та 14,14 операцій на байт відповідно.

Результат показав що розроблений метод шифрування на основі перестановок байтів володіє найвищим показником швидкості серед розглянутих шифрів – 10

операцій на байт.

44

ПЕРЕЛІК ВИКОРИСТАНИХ ДЖЕРЕЛ

1.Шеннон К. Работы по теории информации и кибернетике. – М.: Изд. иностр. лит., 1963. – 830 с.

2.Лужецький В., Білецький А. – Метод шифрування на основі перетворень Уолша.

3.Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си – Applied Cryptography. Protocols, Algorithms and Source Code in C. – М.: Триумф, 2002.

4.A. Menezes, P. vanOorschot and S. Vanstone Handbook of Applied Cryptography

CRC Press, 1996

5.Cusick, Thomas W. & Stanica, Pantelimon. Cryptographic Boolean functions and applications Academic Press, 2009, p. 158-159.

6.Junod, Pascal & Canteaut, Anne. Advanced Linear Cryptanalysis of Block and Stream Ciphers – IOS Press, 2011, p. 2.

7.Heys, Howard, Adams, Carlisle Selected Areas in Cryptography Springler, 2000

p. 79.

8.Katz, Jonathan; Lindell, Yehuda. Introduction to modern cryptography CRC Press, 2008, 166-167 pp.

9.New block cipher: ARIA URL: https://doi.org/10.1007/978-3-540-24691-6_32

10.Kelsey J., Schneier B., Wagner D. A. Key Schedule Weakness in SAFER+ National Institute of Standards and Technology, 1999.

11.Biham E., Shamir A. Power Analysis of the Key Scheduling of the AES Candidates – National Institute of Standards and Technology, 1999.

12.Barreto P.S.L.M., Rijmen V. The Anubis Block Cipher URL: http://www.cosic.esat.kuleuven.be./

13.Лагун А. Е., Костів Ю. М. Генератори псевдовипадкових послідовностей на основі регістрів зсуву з лінійним зворотним зв’язком / Методичні вказівки до лабораторної роботи №5 з дисципліни “Алгоритмічні основи криптології” для

45

студентів базового напряму 6.170101 “Безпека інформаційних і комунікаційних систем” // Укл.: Лагун А. Е., Костів Ю. М. - Львів: НУЛП - 2012. - 15 с.

14.W. Wesley Peterson, Е. J. Weldon, Jr. Error correcting codes // The mit press Cambridge, Massachusetts, and London, England, - 1972. – 595 c.

15.Statistical properties of modern stream ciphers URL: https://periodicals.karazin.ua/cscs/article/view/12151/11577

46

ДОДАТКИ

47

Додаток А

Міністерство освіти і науки України Вінницький національний технічний університет

Факультет інформаційних технологій та комп’ютерної інженерії Кафедра захисту інформації

ЗАТВЕРДЖУЮ завідувач кафедри ЗІ, д. т. н, проф.

____________ В. А. Лужецький

___________ 2020 р.

ТЕХНІЧНЕ ЗАВДАННЯ

до бакалаврської дипломної роботи на тему

«Шифр на основі перестановок байтів»

08-20.БДР.012.00.000 ТЗ

Розробив студент групи 1БС-16б

_________________ Салига Є. С.

Керівник бакалаврської дипломної роботи

д. т. н., проф., зав. кафедри ЗІ

_________________ Лужецький В. А.

«___»___________________ 2020 р.

Вінниця 2020

48

1 Назва та область використання

Програмний засіб, що реалізує шифр на основі перестановки байтів. Дозволяє здійснити зашифрування вхідного повідомлення розміром до 232 байт.

2 Основа для розробки

Робота проводиться на підставі наказу ректора ВНТУ № 75 від 06.03.2020 р.

3 Мета та призначення розробки

Підвищення швидкості шифрування.

4 Джерела розробки

15.Шнайер Б. Прикладная криптография. Протоколы, алгоритмы, исходные тексты на языке Си – Applied Cryptography. Protocols, Algorithms and Source Code in C. – М.: Триумф, 2002.

16.A. Menezes, P. vanOorschot and S. Vanstone Handbook of Applied Cryptography

– CRC Press, 1996

17.Cusick, Thomas W. & Stanica, Pantelimon. Cryptographic Boolean functions and applications Academic Press, 2009, p. 158-159.

18.Junod, Pascal & Canteaut, Anne. Advanced Linear Cryptanalysis of Block and Stream Ciphers – IOS Press, 2011, p. 2.

19.Heys, Howard, Adams, Carlisle Selected Areas in Cryptography Springler, 2000

– p. 79.

5Вимоги до програмного засобу

5.1Параметри розроблюваного програмного засобу:

операційна система - Windows 7/8/10;

мова програмування – Java;

перестановки в межах всього файлу;

підстановки на основі накладання гами;

обсяг даних до 232 байт.

5.2Програмний засіб повинен виконувати такі дії:

забезпечити конфіденційність даних користувача при їх зберіганні та/або передаванні.

6Вимоги до супровідної документації

Графічна і текстова документація повинна відповідати діючим стандартам України.

49

7 Стадії та етапи розробки

Назва етапів роботи

Строк виконання

Результат

1

Аналіз завдання

до 14.03.2020

Вступ, технічне

завдання

 

 

 

 

 

 

 

2

Аналіз літературних джерел, вибір

до 31.03.2020

Звіт з аналізу

алгоритмів захисту.

літературних джерел

 

 

 

 

 

 

 

Розробка схеми пристрою, розробка

 

Схема структурна

3

алгоритму роботи програми та алгоритмів її

до 12.04.2020

модуля та його

 

складових

 

складових

 

 

 

 

 

Підбір програмних засобів для реалізації

 

Алгоритми блоків

4

завдання, створення початкового варіанту

до 21.05.2020

модуля. Макет

 

програми, проведення тестувань

 

програми

 

 

 

 

 

 

 

Діюча програма і

 

Створення кінцевого варіанту програми,

 

остаточний звіт у

5

тестування на працездатність, розробка

до 26.05.2020

вигляді

 

інструкцій по роботі з програмою

 

пояснювальної

 

 

 

записки

 

 

 

 

8Порядок контролю та прийому

8.1До прийому бакалаврської дипломної роботи подається:заключний звіт (пояснювальна записка);ілюстративний матеріал;програмний засіб;

інструкція по роботі з програмним засобом.

8.2Рубіжний контроль керівника _____________________

8.3Попередній захист на кафедрі 27.05.2020

8.4Захист на ДЕК _____________________

50

Додаток Б

Текст програми

Клас Frame

import java.awt.*; import java.applet.*; import java.io.File;

import java.io.IOException; import javax.imageio.ImageIO; import javax.swing.*;

class Frame extends JFrame{

static JTextArea ta1 = new JTextArea(); static JTextArea ta2 = new JTextArea(); public Frame(){

setTitle("Шифрування на основі перестановок байтів"); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setBounds(100,100,700,200);

setResizable(false);

setBackground(new java.awt.Color(250, 240, 230));//(186, 162, 151)); setLocationRelativeTo(null);

setContentPane(new Panel()); Container cont = getContentPane();}

public static void main(String[] args) { Frame f = new Frame(); f.getContentPane().setLayout(null); Menu.Menu(f,ta1,ta2); Interface.Interface(f,ta1,ta2); f.setVisible(true);

}

}

Клас Interface

package cipher;

import java.awt.Color; import java.awt.Font;

import javax.swing.BorderFactory; import javax.swing.JButton; import javax.swing.JLabel;

import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.border.Border;

public class Interface { static int b,c;

static boolean enable = false; static boolean getEnable() {

return enable;

}

static void setEnable(Boolean enablee) { enable=enablee;

}