Файл: Ббк 32. 81я7 И74 Составители ст преп. С. И. Жданова ст преп. С. Н. Рога и 74 информационная безопасность методические указания к выполнению лабораторных работ и ргз для студентов очной формы обучения направлений бакалавриата.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 08.11.2023

Просмотров: 145

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
Белгородский государственный технологический университет им. В.Г. Шухова
ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ
Методические указания к выполнению лабораторных работ и РГЗ для студентов очной формы обучения направлений бакалавриата
09.03.02 - Информационные системы и технологии и
09.03.03 - Прикладная информатика
Белгород
2018

1
УДК 007(07)
ББК 32.81я7
И74
Составители: ст. преп. С.И. Жданова ст. преп. С.Н. Рога
И 74 ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ: методические указания к выполнению лабораторных работ и РГЗ для студентов очной формы обучения направлений бакалавриата
09.03.02 - Информационные системы и технологии и
09.03.03 - Прикладная информатика– Белгород:
Изд-во БГТУ им. В.Г. Шухова, 2018. – 82 с.
Методические указания составлены в соответствии с учебным планом и рабочей программой, предназначены для приобретения студентами базовых навыков в работе с криптографическими алгоритмами, содержат теоретический материал и задания к выполнению восьми лабораторных работ.
Методические указания предназначены для студентов очной формы обучения
09.03.02 «Информационные системы и технологии» и 09.03.03 «Прикладная информатика».
Данное издание публикуется в авторской редакции.
УДК 007(07)
ББК 32.81я7
© Белгородский государственный технологический университет
(БГТУ) им. В.Г. Шухова, 2018

2
ОГЛАВЛЕНИЕ
Лабораторная работа №1 Классические шифры подстановки .......... 4
Лабораторная работа №2 Классические шифры перестановки ...... 17
Лабораторная работа №3 Стандарт симметричного шифрования AES ................................................................................... 24
Лабораторная работа №4 Генерация больших простых чисел и
Алгоритмы тестирования на простоту .................................................. 36
Лабораторная работа №5 Алгоритм обмена ключами
Диффи-Хеллмана ............................................................................. 46
Лабораторная работа №6 Реализация комбинированных алгоритмов шифрования данных .............................................................................. 51
Лабораторная работа №7 Алгоритмы хеширования.
Электронная подпись ............................................................................ 60
Лабораторная работа №8 Электронная подпись на основе эллиптической кривой........................................................................... 77
Библиографический список ............................................................. 82

3
Правила выполнения лабораторных работ
По курсу «Информационная безопасность» предусмотрено выполнение восьми лабораторных работ и одного расчетно- графического задания (РГЗ). Студент обязан перед выполнением каждой лабораторной работы самостоятельно ознакомиться с теоретическим материалом и по результатам ее выполнения предоставить отчет. Все отчеты о выполнении лабораторных работ оформляются на листах формата А4. Каждый отчет должен содержать:
1. Заголовок лабораторной работы – номер лабораторной работы, данные о студенте, слова «Выполнение» и «Защита», название и цель работы.
2. Содержание работы и индивидуальные задания.
3. Основные понятия - краткий конспект изученного материала.
4. Ход работы – краткое описание последовательности действий, произведенных при выполнении работы. Привести текст разработанной программы и результаты ее работы. Предусмотреть ввод исходных данных как с клавиатуры, так и из текстового файла. Произвести вывод шифртекста как на экран, так и в выходной текстовый файл.
5. Вывод.
Для защиты лабораторной работы необходимо иметь распечатанный отчет и программу на электронном носителе.


4
Лабораторная работа №1
КЛАССИЧЕСКИЕ ШИФРЫ ПОДСТАНОВКИ
Цель работы: изучение классических криптографических алгоритмовмоноалфавитной и многоалфавитной подстановки; криптоанализ классических шифров на основе гистограмм частот встречаемости символов алфавита.
Краткие теоретические сведения
Исходный текст - сообщение (текстовое или иной другой формы), которое требуется зашифровать.
Ключ - набор значений, используемых для шифрования исходного текста.
Зашифрованные текст - результат применения алгоритма шифрования и ключа к исходному тексту.
В шифровании симметричными ключами используется единственный ключ для кодирования и декодирования информации.
Сами алгоритмы шифрования и дешифрования являются инверсными.
Введем следующие обозначения: Р- исходный текст;
С - зашифрованный текст; k- ключ шифрования, E
k
(x) -алгоритм шифрования, D
k
(x) - алгоритм дешифрования.
Процесс шифрования представлен формулой: С = E
k
(P)
Процесс дешифрования представлен формулой P = D
k
(C), где D
k
(E
k
(x))= E
k
(D
k
(C)) = х.
Принципы Керкгоффса
Принципы
Керкгоффса лежат в основе разработки криптографических систем. Сущность принципа заключается в том,

5 что чем меньше секретов содержат алгоритмы преобразования данных в криптографических системах, тем выше ее безопасность. Так, если утрата любого из секретов приводит к разрушению системы, то система с меньшим числом секретов будет надёжней. Чем больше секретов содержит система, тем более она ненадёжна и потенциально уязвима. Чем меньше секретов в системе — тем выше её прочность.
Следуя данному принципу, в системах шифрования с использованием симметричного ключа засекречивается лишь ключ; сами алгоритмы общеизвестны.
Криптоанализ
Криптоанализ - это наука о методах расшифровки секретной информации без знания ключа.
Изучение методов криптоанализа позволяет оценивать уязвимые места разрабатываемых криптографических систем. Существует 4 общих типа атак криптоанализа:
1) атака на зашифрованный текст - в распоряжении криптоаналитика имеется только зашифрованный текст. Для этой атаки применяют метод грубой силы
(перехватывается зашифрованный текст и задействуются все возможные ключи, пока не получится расшифровать текст), статистическую атаку (использования статистических методов повторяемости отдельных символов в языке), атаку по образцу (повторение отдельных конструкций в зашифрованном тексте и их анализ);
2) атака со знанием исходного текста - имеются пары "зашифрованный /исходный текст". Задача криптоаналика определить алгоритм и ключ шифрования;


6 3) атака с выборкой исходного текста - подобна атаке со знанием исходного текста, только пары "исходный текст/зашифрованный текст" изготавливаются атакующим или лицом имеющим доступ к механизму шифрования;
4) атака с выборкой зашифрованного текста - аналогична атаке с выборкой исходного текста, только подразумевается, что есть некоторый зашифрованный текст и доступ к механизму расшифровки.
Категории классических криптографических
алгоритмов
Классические шрифты бывают двух видов: шифры подстановки и шифры перестановки. Шифры подстановки подразделяются на моноалфавитные и многоалфавитные. Моноалфавитные шифры производят посимвольную замену "один к одному", многоалфавитные - для одинаковых символов исходного текста предполагается различная замена.
Моноалфавитные шифры
В моноалфавитной подстановке отношение между буквой исходного текста и буквой зашифрованного текста - один к одному.
Аддитивные шрифты
Шифр простой замены каждого символа исходного текста на символы с кодировкой сдвинутой относительно исходного текста на определенное значение. Данный подход используют в шифре Цезаря.
Алгоритм шифрования: С = (P+k) mod Z
n
, где Z
n
- мощность алфавита.
Алгоритм дешифрования P= (C-k) mod Z
n.

7
Мультипликативные шифры
В мультипликативных шрифтах процесс шифрования подразумевает умножение исходного текста с ключом, а дешифрование - деление зашифрованного текста на ключ. Так как алгоритмы шифрования/дешифрования основаны на модульной арифметике, то дешифрование представляет собой умножение на мультипликативную инверсию ключа.
Мультипликативная инверсия ключа обозначается k
-1
и означает, что k⋅k
-1
= 1(mod Z
n
)
Алгоритм шифрования: С = (P⋅k) mod Z
n
, где Z
n
- мощность алфавита
Алгоритм дешифрования P= (C⋅k
-1
) mod Z
n.
Афинный шифр
При комбинирование аддитивного и мультипликативного шрифта получается аффинный шрифт. В аффинном шрифте используется пара ключей (k
1
, k
2
) , где k
1
- ключ для мультипликативного шифра, k
2
- ключ аффинного шифра.
Алгоритм шифрования C=(P⋅k
1
+ k
2
) mod Z
n
Алгоритм дешифрования P=((C-k
2
)
⋅k
1
-1
) mod Z
n
Криптоанализ шифров подстановки
Размер ключевого пространства для моноалфавитного шифра перестановки - число перестановок из n, т.е. n!. Если брать достаточное большое n , то атака грубой силы становиться довольно трудоемкой задачей. Однако моноалфавитные шифры не меняют


8 частоту употребления символов. Это означает, что данные типы шифров уязвимы к статистическим атакам.
Шифры подстановки. Многоалфавитные шифры
В многоалфавитной подстановке каждое появление символа может иметь различную замену. Благодаря этому изменяется частота появления символа в тексте, а значит, повышается надежность в отношении статистических атак.
Автоключевой шифр
В данном шифре ключ - это поток подключей, в котором каждый подключ зависит от позиции символа исходного текста, который используется для выбора подключа шифрования.
Алгоритм шифрования C
i
=(P
i
+ k i
) mod Z
n
Алгоритм дешифрования P
i
=(C
i
-k i
) mod Z
n
Криптоанализ автоключевого шифра
Применение данного шифра позволяет скрыть частоты появления символов. Однако данный метод подвержен атаке с помощью грубой силы, так как имеет небольшую мощность множества ключей.
Шифр Плейфеера
Данный шифр использует замену биграмм. Ключ представляет собой матрицу, в которой размещены все символы исходного текста. С помощью соглашений о размещении букв в матрице можно создать множество ключей засекречивания. Шифрование проходит по паре символов исходного текста. Если две буквы пары одинаковые, то, чтобы отделить их, вставляется фиктивная буква. После вставки

9 фиктивных букв, если число символов в исходном тексте нечетно, в конце добавляется один дополнительный фиктивный символ, чтобы сделать число символов четным.
Шифр использует следующее правила шифрования:
1) Если буквы – пары расположены в одной строке матрицы, то соответствующий зашифрованный символ для каждой буквы – следующий символ справа в той же строке. Если символ последний в строке, то возвращаемся в начало строки.
2) Если буквы – пары располагаются в одном столбце матрицы, то соответствующий зашифрованный символ для каждой буквы - символ ниже в том же самом столбце. Если символ последний, то возвращаемся в начало столбца.
3) Если буквы – пары не располагаются в одном столбце или строке матрицы, то соответствующий зашифрованный символ для каждой буквы – символ, который находится в его собственной строке, но в том же самом столбце, что и другой символ.
Таким образом зашифрованный текст представляет собой поток ключей.
P = P
1
, P
2
, P
3

C = C
1
, C
2
, C
3
… k = [(k
1
, k
2
), (k
3
, k
4
)…]
Алгоритм шифрования
C
i
= k i
Алгоритм дешифрования P
i
= k i
Криптоанализ шифра Плейфеера
Данный шифр не скрывает частоты появления двухбуквенных комбинаций, поэтому криптоаналитик, используя атаку на


10 зашифрованный текст, может провести испытания на установление частоты двухбуквенных комбинаций.
Шифр Виженера
Используется ключ длиной не более общего количества символов в алфавите. Шифрование происходит группами размером с длину ключа. Основное отличие от других многоалфавитных шифров - поток ключей зависит от позиции символа в исходном тексте, а не от него самого.
P = P
1
, P
2
, P
3

C = C
1
, C
2
, C
3
… k = [(k
1
, k
2
), (k
3
, k
4
)…]
Алгоритм шифрования
C
i
= k i
Алгоритм дешифрования P
i
= k i
Криптоанализ шифра Виженера
Криптоанализ зашифрованного текста сводится к двум моментам.
Во-первых, необходимо подобрать длину ключа. Для этого анализируется распределение частот в зашифрованном тексте с различным прореживанием (d= 2,3...m). Анализ проводится до тех пор, пока распределение частот не станет сильно отличатся от равномерного. В этом случае предполагают, что длина ключа равняется последнему значению параметра d.
Во-вторых, текст делиться на m различных частей и к каждой части применяется атака на частоту.

11
Шифр Хилла
Исходный текст разбивается на блоки, в качестве ключа выступает квадратная матрица размерности соответствующей размеру блока.
Требование - ключевая матрица должна иметь мультипликативную инверсию, для последующего дешифрования.
Алгоритм шифрования С= P⋅k mod Z
n
Алгоритм дешифрования P= k
-1
⋅C mod Z
n
Криптоанализ шифра Хилла
Криптоанализ, основанный на атаке на зашифрованный текст, очень трудоемкий. В основе взлома стандартного шифра Хилла лежит уязвимость к атаке по выбранному открытому тексту. Если криптоаналитик перехватит n
2
пар символов открытого текста/зашифрованного текста, то он сможет составить систему линейных уравнений и решить ее, получив ключ.
Одноразовый блокнот
Шифр использует уникальный случайно сгенерированный ключ для каждого символа. Одноразовый блокнот - идеальный шифр, однако реализовать коммерческое применение шрифта тяжело.
Криптоанализ одноразового блокнота
Расшифровать зашифрованный текст, не имея ключа, практически невозможно.
Роторный шифр
Роторный шифр в качестве своей основ использует принципы моноалфавитной подстановки. Однако принцип имеет сложный

12 принцип отображения символов зашифрованного и открытого текста
(см. Рис. 1).
Роторный шифр
Криптоанализ роторного шифра
Не сохраняет частоту употребления символов, стоек к атакам грубой силы.
Машина Энигма
Машина "Энигма" была первоначально изобретена в Сербии, но была изменена специалистами немецкой армии и интенсивно использовалась в течение Второй мировой войны. Машина базировалась на принципе шифров ротора. Рисунок 2 показывает упрощенную схему построения машины.