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

Учебники 80152

.pdf
Скачиваний:
3
Добавлен:
01.05.2022
Размер:
628.61 Кб
Скачать

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

Федеральное государственное бюджетное образовательное учреждение высшего образования

«Воронежский государственный технический университет»

Кафедра автоматизированных и вычислительных систем

ПРОГРАММНАЯ РЕАЛИЗАЦИЯ ШИФРОВАНИЯ СООБЩЕНИЙ

МЕТОДИЧЕСКИЕ УКАЗАНИЯ

к выполнению лабораторных работ по дисциплине «Защита информации» для студентов направления 09.03.01

«Информатика и вычислительная техника» (профиль «Вычислительные машины, комплексы, системы и сети»)

очной формы обучения

Воронеж 2021

УДК 681.3.06(07) ББК 32.973

Составители: канд. техн. наук Т. И. Сергеева, канд. техн. наук М. Ю. Сергеев

Программная реализация шифрования сообщений: методические ука-

зания к выполнению лабораторных работ по дисциплине «Защита информации» для студентов направления 09.03.01 «Информатика и вычислительная техника» (профиль «Вычислительные машины, комплексы, системы и сети») очной формы обучения / ФГБОУ ВО «Воронежский государственный технический университет»; сост.: Т. И. Сергеева, М. Ю. Сергеев. Воронеж: Изд-во ВГТУ, 2021. 34 с.

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

Методические указания содержат теоретические сведения и практические задания для проведения лабораторных работ.

Предназначены для проведения лабораторных работ по дисциплине «Защита информации» для студентов 4 курса очной формы обучения.

Методические указания подготовлены в электронном виде и содержатся в файле ZI_OO_LR.pdf.

Ил. 5. Табл. 9. Библиогр.: 4 назв.

УДК 681.3.06(07) ББК 32.973

Рецензент – П. Ю. Гусев, канд. техн. наук, доцент кафедры компьютерных интеллектуальных технологий проектирования ВГТУ

Издается по решению редакционно-издательского совета Воронежского государственного технического университета

2

1. ЛАБОРАТОРНАЯ РАБОТА № 1 РАЗРАБОТКА ПРОГРАММЫ «ГЕНЕРАТОР ПАРОЛЯ»

1.1. Общие сведения

Цель работы – изучение назначения парольной защиты информации, программная реализация генератора паролей.

Подсистемы идентификации (отличие одного пользователя от другого) и аутентификации (проверка подлинности) пользователя играют очень важную роль в системах защиты информации.

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

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

-минимальная длина пароля должна быть не менее 6 символов;

-пароль должен состоять из различных групп символов (малые и большие латинские или русские буквы, цифры, специальные символы '(\, ')', '#' и

т.д.);

-в качестве пароля не должны использоваться реальные слова, имена, фамилии и т.д.

1.2. Реализация генератора паролей в Visual Studio на языке С#

Необходимо осуществить следующие действия.

1.Создать папку для сохранения проекта.

2.Запустить Visual Stidio. Выбрать Create Project, на дереве выбрать

Visual C#, Windows, в правом окне Windows Forms Application, в поле Name

ввести имя программы, выбрать (создать) папку для сохранения проекта в окне

Location, ОК.

3.Создать интерфейс пользователя (окно формы программы представлено на рис. 1).

Интерфейс пользователя включает:

- кнопки выхода и запуска программы генерации пароля; - поясняющие надписи; - окно для ввода имени (идентификатора) пользователя;

- окно для вывода сформированного пароля.

Компонент Label используется для создания надписи, компонент Button – для создания кнопки, компонент textBox – для создания поля для ввода или вывода данных.

4.Написание и отладка программы, проверка работы программы.

3

Рис. 1. Возможный вид оконной формы программы

Текст программы на кнопке «Выход»

Close();

Примеры фрагментов программы на кнопке «Генерация пароля»

//описание строковых переменных

String imp; String parol;

//проверка, что имя пользователя не пусто

if (textBox1.Text == "") textBox1.Text = "Не введено имя пользователя";

// определение двух строковых переменных

String rbb = "АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ";

String mss = "$%^&*()";

//чтение (ввод) содержимого компонента textBox1

//(имени пользователя) в переменную imp

imp = textBox1.Text;

//определение длины имени (идентификатора) пользователя int dimp = imp.Length;

//очистка пароль

parol = "";

// запуск датчика случайных чисел

Random a = new Random();

4

//случайный выбор числа в интервале от 0 до 9 и добавление его в пароль int nn = a.Next(9);

parol = parol + Convert.ToString(nn);

//случайный выбор буквы из имени пользователя и добавление в пароль int q = dimp - 1;

int mm = a.Next(q);

parol = parol + imp[mm];

// случайный выбор двух больших русских букв и добавление их в пароль int drbb = rbb.Length;

q = drbb - 1;

for (int i = 0; i < 2; i++)

{

mm = a.Next(q);

parol = parol + rbb[mm];

}

// случайный выбор специального символа из множества int dmss = mss.Length;

q = dmss - 1; mm = a.Next(q);

parol = parol + mss[mm];

// добавление в пароль к-й буквы из имени пользователя, //где k есть остаток от деления на 10 длины имени

//пользователя. Если к больше количества букв в имени,

//то выбирается последняя буква

int k = dimp % 10;

if (k > dimp) k = dimp - 1; parol = parol + imp[k-1];

// вывод сформированного пароля в компонент textBox2 textBox2.Text = parol;

1.3. Задания для лабораторной работы № 1

Задание

Выполнить следующие действия:

- создать оконную форму для реализации задания, вариант задания выбрать из табл. 1; номер варианта совпадает с порядковым номером студента в списке группы;

5

-написать и отладить программу генерации пароля в соответствии с вариантом задания;

-продемонстрировать преподавателю работу программы;

-оформить отчет.

Отчет

Отчет должен содержать:

-титульный лист;

-задание;

-текст программы генерации пароля с комментариями, поясняющими группы операторов;

-скриншот оконной формы с результатами генерации пароля.

Таблица 1 Варианты заданий на формирование программы - генератора паролей

Вариант

Количество

 

Перечень требований

 

символов

 

 

 

пароля

 

 

 

 

 

1

6

1. b12 - случайные цифры от 0 до 9.

 

 

2. b3, b4 - случайные символы из идентифика-

 

 

тора (имени) пользователя.

 

 

4. b5

- случайный символ из множества

 

 

{!,",#,$,%,&,',(,),*}.

 

 

5. b6 - случайная малая буква английского ал-

 

 

фавита.

 

 

 

2

6

1. b1 – случайный символ из идентификатора

 

 

(имени) пользователя.

 

 

2. b2– случайная малая буква английского ал-

 

 

фавита.

 

 

3.b3, b4 – случайные цифры от 0 до 9.

 

 

4. b5, b6 - случайный символ из множества

 

 

{!,",#,$,%,&,',(,),*}.

 

 

 

 

3

7

1. b1, b2

- случайные малые буквы английского алфа-

 

 

вита.

 

 

 

2. b3, b4 – случайные символы из идентификатора

 

 

(имени) пользователя.

 

 

2.b5, b6

- случайные заглавные буквы английского ал-

 

 

фавита.

 

 

 

3. b7 - случайное число от 0 до 9.

6

 

 

 

 

Продолжение табл. 1

 

 

 

 

 

 

4

7

1. b1, b2 – случайные числа от 0 до 9.

 

 

 

 

 

2. b3, b4 – случайные малые буквы английского алфа-

 

 

 

вита.

 

 

 

 

 

 

 

3. b5 – случайный символ из множества {&, %, $, #, !}

 

 

 

4. b6, b7 - - случайные буквы из идентификатора (имя)

 

 

 

пользователя.

 

 

 

 

 

 

 

 

 

 

 

5

8

1. b1, b2, b3 - случайные цифры.

 

 

 

 

 

2.b4, b5 -

случайные

символы

из

множества

 

 

 

{!,",#,$,%,&,',(,),*}.

 

 

 

 

 

 

3.b6, b7 - случайные буквы из идентификатора (имя)

 

 

 

пользователя.

 

 

 

 

 

 

 

4.b8 – случайная малая буква английского алфавита

 

 

 

 

 

6

8

1. b1, b2, b3 - случайные малые буквы английского ал-

 

 

 

фавита.

 

 

 

 

 

 

 

2. b4, b5, b6 – случайные цифры от 0 до 9.

 

 

 

 

3. b7 – случайная заглавная буква английского алфави-

 

 

 

та

 

 

 

 

 

 

 

4. b8 – случайный символ из идентификатора (имя)

 

 

 

пользователя

 

 

 

 

 

 

 

 

 

 

 

 

 

7

9

1. b1,…, b3 -

случайные

символы

из

множе-

 

 

 

ства {!,",#,$,%,&,',(,),*}

 

 

 

 

 

 

2.b4,…,b6

случайные

 

малые

 

 

 

буквы английского алфавита.

 

 

 

 

 

3. b7, b8 – случайные числа от 0 до 9

 

 

 

 

 

4.b9 - случайный символ из идентификатора пользова-

 

 

 

теля

 

 

 

 

 

 

 

 

 

 

 

8

9

1. b1 – случайная цифра от 0 до 9.

 

 

 

 

 

2. b2,b3 – случайные буквы из идентификатора пользо-

 

 

 

вателя.

 

 

 

 

 

 

 

3. b4, …, b7 – случайные заглавные буквы английского

 

 

 

алфавита.

 

 

 

 

 

 

 

4. b8, b9 – случайные малые буквы русского алфавита

 

 

 

 

 

 

 

 

 

7

 

 

 

 

 

Продолжение табл. 1

 

 

 

 

9

10

1.b1, b2 - случайные большие буквы английского алфа-

 

 

 

вита.

 

 

 

 

 

 

 

 

2.b3 ,…, b5 - случайные символы из идентификатора

 

 

 

пользователя.

 

 

 

 

 

 

 

3. b6,…, b10 - случайные цифры от 0 до 9.

 

 

 

 

 

 

 

10

10

1. b1, b2 – случайные цифры от 0 до 9.

 

 

 

 

2. b3,…, b5 - случайные большие буквы английского

 

 

 

алфавита.

 

 

 

 

 

 

 

 

3. b6, …, b8 - случайные символы

из идентификатора

 

 

 

пользователя.

 

 

 

 

 

 

 

4. b9, b10 – случайные символы из множества

 

 

 

{!,",#,$,%,&,',(,),*}.

 

 

 

 

 

 

 

 

 

11

8

1. b1, b2 - случайные символы из идентификатора поль-

 

 

 

зователя.

 

 

 

 

 

 

 

 

2.b3 ,…, b5 - случайные большие буквы английского

 

 

 

алфавита.

 

 

 

 

 

 

 

 

3. b6, …, b8 -

случайные

символы

из множе-

 

 

 

ства {!,%"&,#,$+*,',(,)}.

 

 

 

 

 

 

 

 

 

 

 

12

8

1.b1, b2 - случайные цифры.

 

 

 

 

 

2.b3,…, b5 - случайные малые буквы русского алфави-

 

 

 

та.

 

 

 

 

 

 

 

 

3. b6 - случайный

символ

из

множества

 

 

 

{!,",#,$,%,&,',(,),*}.

 

 

 

 

 

 

 

4. b7,b8 – случайные символы

из идентификатора

 

 

 

пользователя.

 

 

 

 

 

 

 

 

 

13

8

1. b12 - случайные символы из идентификатора поль-

 

 

 

зователя.

 

 

 

 

 

 

 

 

2. b3, b4, b5 - случайная цифра.

 

 

 

 

 

4. b6 -

случайный

 

символ

из

множества

 

 

 

{!,",#,$,%,&,',(,),*,[,]}.

 

 

 

 

 

 

 

5.b7,b8 - случайная малая буква английского алфавита.

 

 

 

 

 

 

 

14

9

1. b1,b2 – случайные цифры.

 

 

 

 

 

2. b3,b4,– случайные буквы английского алфавита.

 

 

 

3. b5, b6 – случайный символ из идентификатора поль-

 

 

 

зователя.

 

 

 

 

 

 

 

 

4. b7, b8, b9 - случайные символы из множества

 

 

 

{!,",#,$,%,&,',(,),*}.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

8

 

 

 

Продолжение табл. 1

15

8

1. b1, b2 - случайные малые буквы английского алфа-

 

 

 

вита.

 

 

 

 

2. b3,b4,b5 – случайные символы

из идентификатора

 

 

 

пользователя.

 

 

 

 

2. b6, b7 - случайные заглавные буквы английского ал-

 

 

 

фавита.

 

 

 

 

3. b8 – случайное число от 0 до 9.

 

 

 

 

 

 

16

6

1. b1, b2 – случайные числа от 0 до 6.

 

 

 

2. b3, b4 – случайные малые буквы английского алфа-

 

 

 

вита

 

 

 

 

3. b5, b6 - случайные символы из идентификатора

 

 

 

пользователя.

 

 

 

 

 

 

 

17

7

1. b1, b2 - случайные цифры.

 

 

 

 

2. b3, b4- случайные символы из множества

 

 

 

{",#,$,%,&,',(,),*}.

 

 

 

 

3. b5, b6– случайные символы из идентификатора поль-

 

 

 

зователя.

 

 

 

 

4. b7 – случайная малая буква английского алфавита.

 

 

 

 

 

18

8

1. b1, b2, b3 - случайные малые буквы английского ал-

 

 

 

фавита.

 

 

 

 

2. b4, b5– случайные цифры от 0 до 9.

 

 

 

3. b6 – случайная заглавная буква английского алфави-

 

 

 

та.

 

 

 

 

4. b7,b8 – случайные символы

из идентификатора

 

 

 

пользователя.

 

 

 

 

 

 

19

7

1. b1,…, b3 - случайные символы из множе-

 

 

 

ства {!,",#,$,%,&,',(,),*},

 

 

 

 

2. b4, …, b6, - случайные малые буквы английского

 

 

 

алфавита.

 

 

 

 

3. b7 - случайный символ из идентификатора пользова-

 

 

 

теля.

 

 

 

 

 

 

20

8

1. b1, b2 – случайные цифры от 0 до 9.

 

 

 

2. b3 – случайный символ из идентификатора пользо-

 

 

 

вателя.

 

 

 

 

3. b4 – случайная малая буква английского алфавита.

 

 

 

4. b5,…, b8 - случайные заглавные буквы английского

 

 

 

алфавита.

 

 

 

 

 

 

 

 

 

9

 

 

 

 

Окончание табл. 1

21

7

1. b1, b2 – случайные буквы из имени пользователя.

 

 

 

2. b3, b4 – случайные числа от 0 до 9.

 

 

 

3. b5, b6- случайные заглавные буквы русского алфа-

 

 

 

вита

 

 

 

4. b7 – случайная маленькая буква английского алфа-

 

 

 

вита.

 

 

 

 

 

22

8

1. b1, b2 – случайные числа от 0 до 9.

 

 

 

2. b3, b4– случайные буквы из имени пользователя.

 

 

 

3. b5 , b6– случайные маленькие буквы английского ал-

 

 

 

фавита.

 

 

 

4. b7, b8- случайные заглавные буквы русского алфа-

 

 

 

вита.

 

 

 

 

 

23

7

1. b1, b2 – случайные малые буквы русского алфавита.

 

 

 

2. b3, b4 – случайные заглавные буквы английского ал-

 

 

 

фавита.

 

 

 

3. b5, b6- случайные символы из имени пользователя.

 

 

 

4. b7 – случайное число от 0 до 9.

 

 

 

 

 

24

8

1. b1, b2 – случайные символы из имени пользователя.

 

 

 

2. b3, b4– случайные числа от 0 до 9.

 

 

 

3. b5 , b6– случайная символы из множества {(*#^@+-

 

 

 

%}

 

 

 

4. b7, b8- случайные малые буквы русского алфавита.

 

 

 

 

 

25

7

1. b1,…, b3 - случайные символы из имени поль-

 

 

 

зователя.

 

 

 

2. b4, …, b6, - случайные заглавные буквы английского

 

 

 

алфавита.

 

 

 

3. b7 - случайный символ из имени пользователя.

 

 

 

 

 

2. ЛАБОРАТОРНАЯ РАБОТА № 2 ШИФРОВАНИЕ СООБЩЕНИЙ МЕТОДОМ ПЕРЕСТАНОВКИ

2.1. Общие методические указания по выполнению лабораторной работы № 2

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

10

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