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

Егоров УОП

.pdf
Скачиваний:
19
Добавлен:
02.10.2020
Размер:
1.65 Mб
Скачать

методов. Помимо стандартной библиотеки для языка Python существует большое количество дополнительных библиотек, которые содержат огромный набор полезных инструментов, применимых к ряду задач. Язык обладает динамической типизацией, на что уже акцентировалось внимание,

автоматическим управлением памятью, механизмом обработки исключений,

поддержкой многопоточных вычислений и высокоуровневой структурой данных. Так же для языка Python существует множество фреймворков, которые помогают ускорить работу написания кода. Как уже говорилось, язык программирования Python ориентирован на простоту и читаемость написанного кода. Поэтому человеку, с небольшим опытом программирования или программирующему на другом языке программирования, не составит труда разобрать и понять код, написанный на Python’е. Этот язык хорошо подходит для удобной и лаконичной реализации программного продукта для рабочего стола под управлением ОС Windows. Язык Python интерпретируемый язык программирования, поэтому для запуска приложения часто бывает необходим установленный на ЭВМ интерпретатор Python. Данное приложение не будет требовать дополнительных библиотек и инструментов при его запуске.

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

PyQt5 и инструменты к ней PyQt5-tools. В процессе написания программы я пользовался методами ООП, для большей читабельности кода, а также лучшего понимания при его разборе. В качестве среды разработки, мною был выбран

PyCharm от компании JetBrains. Среда содержит большое количество полезных инструментов разработки.

3.2 Программная реализация шифров Виженера и Бофора

На рисунках 4 и 5 представлены схемы шифрования и дешифрования Виженера:

 

Лист

УП.750000.000

21

Изм. Лист № документа Подпись Дата

 

Рисунок 4 - Схема шифрования Виженера

 

Лист

УП.750000.000

22

Изм. Лист № документа Подпись Дата

 

Рисунок 5 - Схема дешифрования Виженера

cj - номер i-го символа шифротекста; αi - номер i-го символа текста;

βi - номер i-го символа дополненного ключа;

N- алфавит языка или множество символов; len - длинна модифицированного текста;

УП.750000.000

Изм. Лист № документа Подпись Дата

Лист

23

3.3 Вывод к главе 3

В данной главе были успешно реализованы алгоритмы шифрования и де-

шифрования методами Виженера и Бофора. Были приведены блок-схемы ос-

новных этапов выполнения работы криптосистем.

4 Демонстрация работы программы

При запуске приложения, появляется главное окно с выбором криптосистемы. Здесь пользователь делает выбор в пользу шифра, которым он собирается скрывать текст. На рисунке 6 представлено главное окно с выбором необходимой криптосистемы:

Рисунок 6 - Главное окно с выбором криптосистемы

В данной главе, будет демонстрироваться работа шифра Виженера и Бофора с использованием латинского алфавита. В качестве исходного текста я взял Сонет У.Шекспира в оригинале. На рисунках 7.а и 7.б представлены окна выбора языка:

 

Лист

УП.750000.000

24

Изм. Лист № документа Подпись Дата

 

Рисунок 7.а - Окно с выбором языка шифрования Виженера

Рисунок 7.б - Окно с выбором языка шифрования Бофора

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

арабские цифры и символы псевдографики.

После ввода информации, пользователю необходимо выбрать, какой алгоритм к введенному тексту будет применяться. Кнопка Clear - очищает окно ввода message и Key.

На рисунках 8.а и 8.б представлены примеры ввода данных:

 

Лист

УП.750000.000

25

Изм. Лист № документа Подпись Дата

 

Рисунок 8.а - Демонстрация ввода данных Виженера

Рисунок 8.б - Демонстрация ввода данных Бофора

Далее появляется окно, выводящее результат функции. Кнопка OK под-

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

На рисунках 9.а и 9.б представлены окна вывода данных:

 

Лист

УП.750000.000

26

Изм. Лист № документа Подпись Дата

 

Рисунок 9.а - Результат работы алгоритма шифрования Виженера

Рисунок 9.б - Результат работы алгоритма шифрования Бофора

4.1 Вывод к главе 4

В данной главе продемонстрирована работа шифра Виженера с использо-

ванием латинского алфавита.

 

Лист

УП.750000.000

27

Изм. Лист № документа Подпись Дата

 

ЗАКЛЮЧЕНИЕ

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

Во время выполнения задания был изучен и реализован алгоритм шифро-

вания Виженера, изучены модификации данного шифра, включая реализацию алгоритма шифрования Бофора. Так же был проведен анализ алгоритмов шиф-

рования Виженера и его модификаций и дана оценка их криптостойкости. git

В результате проведенной работы было создано программное средство,

использующее алгоритмы шифрования Виженера и Бофора. Програмное сред-

ство получило пользовательский графический интерфейс, разработанный на фреймворке для языка программирования Python PyQt5. Стоит отметить, что приложение не требует использования интерпретатора, что облегчает его экс-

плуатацию пользователем, а также может использоваться на платформах

Windows OS и Linux.

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

Таким образом, поставленные в данной работе задачи были выполнены, а

цели достигнуты. Замечу, что опыт полученный в ходе выполнения разработки и приобретенные навыки будут полезны в дальнейшем обучении и профессио-

нальной деятельности.

 

Лист

УП.750000.000

28

Изм. Лист № документа Подпись Дата

 

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

1. Брюс Шнайер прикладная криптография издательство Триумф 2002 -

797с (ред.)

2. Бабаш А. В., Шанкин Г. П. История криптографии. Часть I. — М.:

Гелиос, 2002. — 240 с

3. Сингх С. Книга шифров. Тайная история шифров и их расшифровки.

М.: Аст, Астрель, 2006. 447 с.

4. Техническая документация по PyQt5, (дата обращения 06.04.2020)

[Электронный ресурс]

URL: https://www.riverbankcomputing.com/static/Docs/PyQt5/

5. Хорст Файстель. Криптография и компьютерная безопасность. 1973-

15с.

6.Kaspersky Daily, (дата обращения 28.03.2020)

[Электронный ресурс]

URL: https://www.kaspersky.ru/blog/vigenere-cipher-history/8856/ 7. Статья о Шифре Виженера (дата обращения 29.03.2020)

[Электронный ресурс]

URL:http://ru.wikibedia.ru/wiki/%D0%A8%D0%B8%D1%84%D1%80_%D0%92 %D0%B8%D0%B6%D0%B5%D0%BD%D0%B5%D1%80%D0%B0

8.Определение Криптографии (дата обращения 29.03.2020)

[Электронный ресурс]

URL: https://prostocoin.com/blog/cryptography

9.Статья о шифре (дата обращения 29.03.2020)

[Электронный ресурс]

URL: https://ru.wikipedia.org/wiki/%D0%A8%D0%B8%D1%84%D1%80

 

Лист

УП.750000.000

29

Изм. Лист № документа Подпись Дата

 

10. Контрразведывательный словарь. — Высшая краснознаменная школа Комитета Государственной Безопасности при Совете Министров СССР им. Ф.

Э. Дзержинского. 1972.

11. Контрразведывательный словарь. — Высшая краснознаменная школа Комитета Государственной Безопасности при Совете Министров СССР им. Ф.

Э. Дзержинского. 1972.

12. Статья о полиалфавитных шифрах (дата обращения 29.03.2020)

[Электронный ресурс]

URL:https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%BB%D0%B8%D0%B0%D0%BB%D1%84 %D0%B0%D0%B2%D0%B8%D1%82%D0%BD%D1%8B%D0%B9_%D1%88% D0%B8%D1%84%D1%80

13. Статья о моноалфавитных шифрах (дата обращения 29.03.2020)

[Электронный ресурс]

URL: https://ru.wikipedia.org/wiki/%D0%A8%D0%B8%D1%84%D1%80_%D0%BF%D1%80%D0%BE %D1%81%D1%82%D0%BE%D0%B9_%D0%B7%D0%B0%D0%BC%D0%B5% D0%BD%D1%8B

14. Определение Гаммирования на Вики (дата обращения 29.03.2020)

[Электронный ресурс]

URL: https://ru.wikipedia.org/wiki/%D0%93%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE

%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5

 

Лист

УП.750000.000

30

Изм. Лист № документа Подпись Дата

 

Соседние файлы в предмете Учебная практика