- •Теория алгоритмов (краткий курс лекций для самостоятельной работы)
- •Лекции по теории алгоритмов Введение
- •Предмет криптографии
- •Лекция №1
- •Краткие теоретические сведения
- •1 Шифр сцитала
- •2 Шифр вертикальной перестановки
- •3 Шифр поворотной решетки
- •4 Шифры с использованием магичных квадратов
- •5 Перестановка бит
- •Лекция №2
- •Краткие теоретические сведения
- •Варианты реализации шифров простой замены
- •1 Система шифрования Цезаря
- •2 Афинная система подстановок
- •3 Лозунговый шифр
- •4 Шифровальный квадрат Полибия
- •5 Шифровальная таблица Трисемуса
- •4Х8 «Сколько волка ни корми, он все в лес глядит »
- •Лекция №3
- •Краткие теоретические сведения
- •1 Биграммный шифр Плейфейера
- •2 Шифр с использованием омофонов
- •3 Шифр Гронсфельда
- •4 Система шифрования Вижинера
- •5 Шифр «Двойной квадрат Уитстона»
- •Общие сведения о блочных шифрах
- •Описание алгоритма des
- •Режимы реализации алгоритмов симметричного шифрования
- •Асимметричные криптоалгоритмы
- •Модулярная арифметика
- •Открытое распределение ключей
- •Криптосистема rsa
- •7 Самокорректирующиеся коды
- •7.1 Построение кодов Хемминга (описание алгоритма кодирования)
- •7.2 Обнаружение ошибок в кодах Хемминга
- •7.3 Декодирование
- •Примеры решения задач Задача № 3
- •Задача № 4
- •Алгоритм решения задачи следующий:
- •Литература
Лекция №1
Тема: Шифрование методом перестановок.
Цель: Научиться разрабатывать шифры перестановок и программы для шифрования-дешифрования.
Краткие теоретические сведения
Шифр перестановки(ШП) – преобразование символов исходного текста в соответствии с которым происходит только изменение их порядка без изменения самих символов.
Рассмотрим преобразования с соответствии с ШП, предназначенное для зашифровки исходного текста длиной n символов. Его можно представить с помощью такой таблицы
|
1 |
2 |
… |
k |
… |
n |
|
i1 |
i2 |
… |
ik |
… |
in |
где i1 – номер места шифротекста, на которое попадает первая буква исходного текста;
i2 – номер места шифротекста, на которое попадает вторая буква исходного текста и т.д.
В верхней строке таблицы вписаны числа от 1 до n попорядку, а во второй – эти же числа, но уже в произвольном порядке. Такую таблицу называют перестановкой степени n. Зная перестановку можно осуществить как зашифровку исходного текста, так и расшифровку шифротекста.
Пример: пусть для преобразования используется следующая перестановка
-
1
2
3
4
5
6
6
3
2
5
1
4
Тогда в сответствии с ней слово ДОНЕЦК в шифротексте будет иметь вид КНОЦДЕ.
Существует n! вариантов перестановок степени n (в это число входит и вариант, в котором первая и вторая строка таблицы перестановок полностью совпадают).
Таким образом, ШП предназначен для шифрования исходных текстов длиной n, у которого в качестве множества ключей берется множество всех перестановок степени n. Число ключей этого шифра равно n!. Для использования на практике ШП неудобен в связи с необходимостью при больших значениях n работать с большими таблицами.
Для получения варианта перестановки часто используется некоторая геометрическая фигура, составленная из клеток (чаще всего прямоугольники различных размеров). Шифрование состоит в том, что исходный текст в клетки фигуры вписывают по ходу одного маршрута, а затем для получения шифротекста из заполненной символами фигуры выписывают символы по ходу другого маршрута. Такой шифр называют шифром маршрутной перестановкой. Ключом для такого шифра будет описание фигуры и двух маршрутов (шифрования и дешифрации). Важно чтобы оба маршрута содержали без повторений все клетки фигуры. Геометрическая фигура не обязательно должна быть плоской.
Варианты шифра маршрутной перестановки
1 Шифр сцитала
Одним из первых приспособлений для шифрования, описание которого дошло до нас, был жезл – сцитала, который использовался во время войны Спарты с Афинами в v столетии до н.э. Это устройство представляло собой цилиндр определенного диаметра, на который наматывалась без просветов и нахлестов узкая лента папируса. На этой ленте, как на листе вдоль оси цилиндра записывали обычным способом исходный текст. После этого лента снималась с цилиндра и отправлялась адресату(шифротекст можно было прочесть только намотав ленту на такой же по диаметру цилиндр). По сути, это один из вариантов практической реализации шифра маршрутной перестановки, в котором геометрическая фигура – прямоугольник, размеры которого по количеству строк определяются диаметром цилиндра, а по количеству столбцов – длиной ленты (общее количество клеток должно быть не меньше n , где n – длина исходного текста). Начало маршрутов шифрования и дешифрации совпадают – начало ленты (верхний левый угол прямоугольника), а маршруты следующие: шифрования – по строкам слева направо; дешифрации – по столбцам сверху вниз. Если оценить возможные размеры цилиндра и высоту шрифта, то верхняя оценка числа перестановок (количества ключей) вряд ли превышает 100.
