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

Егоров УОП

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

ПРИЛОЖЕНИЕ А

Техническое задание на программное средство

«СОГЛАСОВАННО»

«УТВЕРЖДЕНО»

Руководитель проекта

И. о. зав. кафедрой «КБИС»

_____________ / Д.А. Короченцев /

_____________ / Д.А. Короченцев /

«___» _________________2020г.

«___» _________________2020г.

А.1 Введение

Наименование разрабатываемого программного средства: “Классическая криптография. Шифрование и дешифрование сообщений

методами Виженера и Бофорта” Область применения: Лабораторные работы по предмету криптография.

Личное пользование приложением.

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

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

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

А.3 Назначение разработки

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

 

Лист

УП.750000.000

31

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

 

Эксплуатационное назначение программного средства заключается в проведении лабораторных занятий по информационной безопасности в вузе.\

А.4 Требование к программе или программному изделию

А.4.1 Требование к функциональным характеристикам

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

Состав выполняемых функций:

Шифрование методами Виженера и Бофора с использованием ключа.

Текст и ключ содержат символы кодировки UTF-8.

Входные данные:

Текст, содержащий символы кодировки UTF-8

Выходные данные:

Текст, содержащий символы кодировки UTF-8

Контроль выходной информации осуществляется пользователем. Данные программой хранятся до следующего использование программы или выхода из нее.

А.4.2 Требование надежности

Разрабатываемая программа должна удовлетворять следующим тре-

бования к надежности:

Отказы программы вследствие внутренних ошибок не допустим;

А.4.3 Условия эксплуатации

Для функционирования программного продукта необходимо

 

Лист

УП.750000.000

32

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

 

соблюдение всех требований и правил эксплуатации компьютерной

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

А.4.4 Требование к составу и параметрам технических средств

Состав технических средств:

27,8 МБ свободного места на диске; 32 или 64-разрядный процессор с частотой не ниже 1 ГГц;

Монитор VGA или HDMI;

Клавиатура и мышь;

Оперативная память не меньше 256 Мб;

Интерпретатор Python не требуется

А.4.5 Требования к информационно и программной совместимости

Программное средство кроссплатформенное

А.4.6 Требования к маркировке и упаковке

Требования к маркировке не предъявляются. Требования к упаковке определяются требованиями к хранению носителей информации, содержащих ПО.

А.4.7 Требования к транспортировке и хранению

Требования к транспортировке и хранению определяются требованиями к транспортировке и хранению носителей информации, содержащих ПО

А.5 Требования к программной документации

 

Лист

УП.750000.000

33

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

 

В состав программной документации должно входить следующее:

раздел с заданием; техническое задание по ГОСТ 19.201; руководство оператора по ГОСТ 19.505; руководство программиста по ГОСТ19.504;

руководство системного программиста по ГОСТ 19.503; алгоритмы решения;

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

А.6 Стадии и этапы разработки

Изучение предметной области (от 11.02.20 до 15.03.20)

Разбор технического задания (от 15.03.20 до 05.04.20)

Разработка графического интерфейса (от 20.03.20 до 15.04.20)

Испытание программного средства на подобранных текстовых примерах

(от 15.04.20 до 20.04.20)

А.7 Порядок и контроль приемки

Порядок и контроль приемки определяется руководством кафедры КБИС Донского государственного технического университета.

Разработчик технического задания:

_____________ Егоров Никита Валентинович

(подпись)

«___»___________2020г

 

Лист

УП.750000.000

34

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

 

Приложение Б

Листинг 1 - Реализация шифра Виженера:

def shifr_Vigenera(self): shifrotext = ""

a = [] k = 0 n = 0

index_str = 0 index_pil = 0 newkey = ""

for i in range(len(self.our_text)): newkey += self.key[i % len(self.key)]

for i in range(len(self.abc)): a.append([])

for j in range(len(self.abc)): a[i].append(self.abc[(j+i)% len(self.abc)])

while n != len(self.our_text):

for ind in range(len(self.abc)):

if a[ind][0]==self.our_text[k%len(newkey)]: index_str = ind

for str in range(len(self.abc)):

if a[0][str]==newkey[k%len(newkey)]: index_pil = str shifrotext+=a[index_str][index_pil]

k += 1 n += 1

return shifrotext

Листинг 2 - реализация расшифрования Виженера

def decoding_Vigenera(self): old_text = ""

a = [] k = 0 n = 0

newkey = ""

for i in range(len(self.sh)):

newkey += self.key[i % len(self.key)] for i in range(len(self.abc)):

a.append([])

for j in range(len(self.abc)): a[i].append(self.abc[(j+i)% len(self.abc)])

while n != len(self.sh):

for ind in range(len(self.abc)):

if a[0][ind]==newkey[k%len(newkey)]: for str in range(len(self.abc)):

if a[str[ind]==self.sh[k%len(self.sh)]: index_str = str

old_text += a[index_str][0]

k += 1

УП.750000.000

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

Лист

35

n += 1 return old_text

Листинг 3 - Реализация шифра Бофра

def shifr_Bofora(self):

 

 

sh = ""

 

 

a = []

 

 

k = 0

 

 

n = 0

 

 

index_str = 0

 

 

newkey = ""

 

 

for i in range(len(self.our_text)):

 

newkey += self.key[i % len(self.key)]

 

for i in range(len(self.abc)):

 

a.append([])

 

 

for j in range(len(self.abc)):

 

a[i].append(self.abc[(j+i)% len(self.abc)])

 

while n != len(self.our_text):

 

for ind in range(len(self.abc)):

 

if a[0][ind]==self.our_text[k%len(our_text)]:

 

for str in range(len(self.abc)):

 

 

if a[str][ind]==newkey[k%len(newkey)]:

 

 

index_str = str

 

 

shifrotext+=a[index_str][0]

 

k

+=

1

n += 1

 

 

return shifrotext

 

 

Листинг 4 - Реализация расшифрования Бофора

def decoding_Bofora(self): old_text= ""

a = [] k = 0 n = 0

index_pil = 0 newkey = ""

for i in range(len(self.sh)):

newkey += self.key[i % len(self.key)] for i in range(len(self.abc)):

a.append([])

for j in range(len(self.abc)): a[i].append(self.abc[(j+i)% len(self.abc)])

while n != len(self.sh):

for str in range(len(self.abc)):

if a[str][0]==self.shifr[k%len(newkey)]: for ind in range(len(self.abc)):

if a[str][ind]==newkey[k%len(newkey)]: our_text=a[0][ind]

k += 1 n += 1

return old_text

УП.750000.000

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

Лист

36

ПРИЛОЖЕНИЕ А

Техническое задание

СОГЛАСОВАНО

Руководитель проекта

__________ А.А. Таран

(подпись)

«___» ______________ 2020 г.

А.1 Введение

А.1.1 Наименование программы

Наименование программы – «Система шифрования сообщений

алгоритмами Виженера и Бофора».

А.1.2 Область применения

Областью применения данного программного обеспечения является область защиты текстовых данных

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

Основанием для разработки является «Учебный план для студентов ВУЗа», факультета «Информатика и вычислительная техника», направление подготовки 10.05.01 – «Компьютерная безопасность» Донского Государственного Технического Университета.

 

Лист

УП.ХХ0000.00

1

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

 

А.3 Назначение разработки

А.3.1 Функциональное назначение

Назначение проектируемой системы заключается в защите текстовой информации, которой пользователи обмениваются по

открытым каналам связи.

А.3.2 Эксплуатационное назначение

Эксплуатационное назначение: программное средство предназначено для изучения студентами вузов основ криптографии.

А.4 Требования к программе

А.4.1 Требования к функциональным характеристикам

Разрабатываемая программа должна обладать следующими

перечисленными ниже функциями:

Работать под управлением ОС Windows 7, Windows 8/8.1, а

также Windows 10;

Шифрование и расшифровывание алгоритмом Плейфера;

Шифрование и расшифровывание алгоритмом Виженера;

Поддержка шифрования букв русского латинского и греческого алфавитов, а также шифрования цифр;

Взаимодействие с пользователем посредством простого графического интерфейса.

 

Лист

УП.ХХ0000.00

2

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

 

А.4.2 Требования к надёжности

Разрабатываемая программа должна удовлетворять следующим требования к надежности:

Отказы программы вследствие внутренних ошибок не допустим;

А.4.3 Условия эксплуатации

Условия эксплуатации совпадают с условиями эксплуатации персональных ЭВМ IBM PC и совместимых с ними персональных компьютеров. Требуется наличие одного оператора. Программа рассчитана на пользователя, владеющего базовыми навыками работы с компьютером.

Входные данные – текст.

А.4.4 Требования к составу и параметрам технических средств

В состав технических средств должен входить персональный компьютер, имеющий следующие минимальные характеристики:

1Процессор IntelCeleron 2 ГГц или аналогичный AMD;

2Оперативная память: не менее 512 мегабайт;

3Операционную систему Windows 7;

4Подключённую клавиатуру и мышь.

Рекомендуемыми системные требования к работе программы:

1Процессор IntelCorei5 2.4 ГГц или аналогичный AMD;

2Оперативная память: не менее 4096 мегабайт;

3Операционную систему Windows 7, 8/8.1, 10;

4Подключённую клавиатуру и мышь.

 

Лист

УП.ХХ0000.00

3

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

 

А.4.5 Требования к информационной и программной

совместимости

Программа должна работать под управлением операционной системы

Mac OS X 10.6 или более поздних версий, либо Ubuntu 10.04 LTS или более поздних версий. Базовый язык программирования – Python, версия 3.5. Среда разработки –PyCharm.

А.4.6 Требования к маркировке и упаковке

Требований к маркировке и упаковке не предъявлялось.

А.4.7 Требования к транспортированию и хранению

Требований к транспортированию и хранению не предъявлялось.

А.5 Требования к программной документации

Программная документация должна включать следующие документы:

документ «Техническое задание» (ГОСТ 19.201-78);

А.6 Стадии и этапы разработки

1.Исследование концепции шифрования данных.

2.Составление технического задания к проекту..

3.Разработка методов шифрования данных.

4.Разработка графического интерфейса программы.

5.Поиск ошибок и отладка программы.

 

Лист

УП.ХХ0000.00

4

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

 

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