
- •Методические указания к лабораторным работам по дисциплине «методы и средства защиты информации»
- •Содержание
- •Введение
- •Лабораторная работа №1. Шифры перестановки и замены
- •Теоретические сведения Шифры перестановки
- •Шифры простой замены
- •Шифры сложной замены
- •Лабораторная работа №2. Алгоритм rsa
- •Теоретические сведения
- •Лабораторная работа №3. Несимметричные алгоритмы шифрования
- •Теоретические сведения Алгоритм Диффи-Хеллмана:
- •Алгоритм Эль-Гамаля:
- •Шифрование Эль-Гамаля:
- •Лабораторная работа №4. Блочные шифры
- •Теоретические сведения
- •Сеть Фейштеля
- •Пример блочного шифра - Блочный шифр des
- •Пример блочного шифра - Блочный шифр tea.
- •Лабораторная работа №5. Шифры обнаружения и коррекции ошибок
- •Теоретические сведения Обнаружение ошибок.
- •Полиномиальная арифметика
- •Двоичная арифметика без учета переносов
- •Полностью рабочий пример
- •Выбор полинома
- •Коррекция ошибок.
- •Циклические коды
- •Представление кодовой комбинации в виде многочлена
- •Циклический сдвиг кодовой комбинации
- •Алгоритм определения ошибки
- •Линейные блочные коды
- •Лабораторная работа №6. Методы сжатия информации
- •Теоретические сведения
- •Сжатие способом кодирования серий (rle)
- •Арифметическое кодирование
- •Алгоритм Лемпеля-Зива-Велча (Lempel-Ziv-Welch - lzw)
- •Двухступенчатое кодирование. Алгоритм Лемпеля-Зива
- •Алгоритм Хаффмана
- •Лабораторная работа №7. Алгоритмы хеширования паролей
- •Теоретические сведения Хеширование паролей
- •Лабораторная работа №8. Методы гаммирования
- •Теоретические сведения Шифрование методом гаммирования
- •«Разоблачение» гаммирования.
- •Варианты заданий:
- •Список литературы
Пример блочного шифра - Блочный шифр tea.
TEA (Tiny Encryption Algorithm) - один из самых простых в реализации, разработанный в Кэмбридже в 1985 году. Параметры шифра: длина блока - 64 бита, длина ключа - 128 бит. Оптимизирован под 32 битные процессоры. Испытан временем и является довольно криптостойким.
В алгоритме использована сеть Фейштеля с двумя ветвями в 32 бита каждая. Образующая функция F обратима. Сеть Фейштеля несимметрична из-за использования в качестве операции наложения не исключающего «ИЛИ», а арифметического сложения.
Недостатком алгоритма является некоторая медлительность, вызванная необходимостью повторять цикл Фейштеля 32 раза (это необходимо для тщательного «перемешивания данных» из-за отсутствия табличных подстановок).
Отличительной чертой криптоалгоритма TEA является его размер. Простота операций, отсутствие табличных подстановок и оптимизация под 32-разрядную архитектуру процессоров позволяет реализовать его на языке ASSEMBLER в предельно малом объеме кода. Недостатком алгоритма является некоторая медлительность, вызванная необходимостью повторять цикл Фейштеля 32 раза (это необходимо для тщательного «перемешивания данных» из-за отсутствия табличных подстановок).
Варианты:
1) Реализовать шифрование текстового файла, методом блочного шифрования, используя блоки длиной 16 бит, ключ длиной 16 бит.
2) Реализовать шифрование текстового файла, методом блочного шифрования, используя блоки длиной 16 бит, ключ длиной 32 бит.
3) Реализовать шифрование текстового файла, методом блочного шифрования, используя блоки длиной 32 бит, ключ длиной 16 бит.
4) Реализовать шифрование текстового файла, методом блочного шифрования, используя блоки длиной 32 бит, ключ длиной 32 бит.
5) Реализовать шифрование текстового файла, методом блочного шифрования, используя блоки длиной 32 бит, ключ длиной 64 бит.
6) Реализовать шифрование текстового файла, методом блочного шифрования, используя блоки длиной 64 бит, ключ длиной 32 бит.
7) Реализовать шифрование бинарного файла, методом блочного шифрования, используя блоки длиной 16 бит, ключ длиной 16 бит.
8) Реализовать шифрование бинарного файла, методом блочного шифрования, используя блоки длиной 16 бит, ключ длиной 32 бит.
9) Реализовать шифрование бинарного файла, методом блочного шифрования, используя блоки длиной 32 бит, ключ длиной 16 бит.
10) Реализовать шифрование бинарного файла, методом блочного шифрования, используя блоки длиной 32 бит, ключ длиной 32 бит.
11) Реализовать шифрование бинарного файла, методом блочного шифрования, используя блоки длиной 32 бит, ключ длиной 64 бит.
12) Реализовать шифрование бинарного файла, методом блочного шифрования, используя блоки длиной 64 бит, ключ длиной 32 бит.
13) Реализовать шифрование текстового файла, методом блочного шифрования, используя блоки длиной 16 бит, ключ длиной 16 бит, реализуя в алгоритме шифрования методику DES.
14) Реализовать шифрование текстового файла, методом блочного шифрования, используя блоки длиной 16 бит, ключ длиной 32 бит, реализуя в алгоритме шифрования методику DES.
15) Реализовать шифрование текстового файла, методом блочного шифрования, используя блоки длиной 32 бит, ключ длиной 16 бит, реализуя в алгоритме шифрования методику DES.
16) Реализовать шифрование текстового файла, методом блочного шифрования, используя блоки длиной 32 бит, ключ длиной 32 бит, реализуя в алгоритме шифрования методику DES.
17) Реализовать шифрование текстового файла, методом блочного шифрования, используя блоки длиной 32 бит, ключ длиной 64 бит, реализуя в алгоритме шифрования методику DES.
18) Реализовать шифрование текстового файла, методом блочного шифрования, используя блоки длиной 64 бит, ключ длиной 32 бит, реализуя в алгоритме шифрования методику DES.
19) Реализовать шифрование бинарного файла, методом блочного шифрования, используя блоки длиной 16 бит, ключ длиной 16 бит, реализуя в алгоритме шифрования методику DES.
20) Реализовать шифрование бинарного файла, методом блочного шифрования, используя блоки длиной 16 бит, ключ длиной 32 бит, реализуя в алгоритме шифрования методику DES.
21) Реализовать шифрование бинарного файла, методом блочного шифрования, используя блоки длиной 32 бит, ключ длиной 16 бит, реализуя в алгоритме шифрования методику DES.
22) Реализовать шифрование бинарного файла, методом блочного шифрования, используя блоки длиной 32 бит, ключ длиной 32 бит, реализуя в алгоритме шифрования методику DES.
23) Реализовать шифрование бинарного файла, методом блочного шифрования, используя блоки длиной 32 бит, ключ длиной 64 бит, реализуя в алгоритме шифрования методику DES.
24) Реализовать шифрование бинарного файла, методом блочного шифрования, используя блоки длиной 64 бит, ключ длиной 32 бит, реализуя в алгоритме шифрования методику DES.
25) Реализовать шифрование текстового файла, методом блочного шифрования, используя блоки длиной 16 бит, ключ длиной 16 бит, реализуя, максимально приближенные к идентичности, алгоритмы шифрования и дешифрования.
26) Реализовать шифрование текстового файла, методом блочного шифрования, используя блоки длиной 16 бит, ключ длиной 32 бит, реализуя, максимально приближенные к идентичности, алгоритмы шифрования и дешифрования.
27) Реализовать шифрование текстового файла, методом блочного шифрования, используя блоки длиной 32 бит, ключ длиной 16 бит, реализуя, максимально приближенные к идентичности, алгоритмы шифрования и дешифрования.
28) Реализовать шифрование бинарного файла, методом блочного шифрования, используя блоки длиной 16 бит, ключ длиной 16 бит, реализуя, максимально приближенные к идентичности, алгоритмы шифрования и дешифрования.
29) Реализовать шифрование бинарного файла, методом блочного шифрования, используя блоки длиной 16 бит, ключ длиной 32 бит, реализуя, максимально приближенные к идентичности, алгоритмы шифрования и дешифрования.
30) Реализовать шифрование бинарного файла, методом блочного шифрования, используя блоки длиной 32 бит, ключ длиной 16 бит, реализуя, максимально приближенные к идентичности, алгоритмы шифрования и дешифрования.