
- •Теория алгоритмов методические указания для самостоятельной подготовки к контролю знаний
- •«Компьютерные науки»
- •С о д е р ж а н и е
- •Перечень тем
- •Тема 1 Шифры перестановки. Разновидности реализации шифров перестановки Краткие теоретические сведения
- •1 Шифр сцитала
- •2 Шифр вертикальной перестановки
- •3 Шифр поворотной решетки
- •4 Шифры с использованием магичных квадратов
- •5 Перестановка бит
- •Задание
- •Варианты заданий темы 1 для самостоятельной подготовки
- •Вопросы по теории темы 1 для самостоятельной подготовки
- •Тема 2 Шифры простой замены. Разновидности реализации шифров простой замены Краткие теоретические сведения
- •Варианты реализации шифров простой замены
- •1 Система шифрования Цезаря
- •2 Афинная система подстановок
- •3 Лозунговый шифр
- •4 Шифровальный квадрат Полибия
- •5 Шифровальная таблица Трисемуса
- •4Х8 «Сколько волка ни корми, он все в лес глядит »
- •Задание
- •Варианты заданий темы 2 для самостоятельной подготовки
- •Вопросы по теории темы 2 для самостоятельной подготовки
- •Тема 3 Шифры сложной замены. Разновидности реализации шифров сложной замены Краткие теоретические сведения
- •1 Биграммный шифр Плейфейера
- •2 Шифр с использованием омофонов
- •3 Шифр Гронсфельда
- •4 Система шифрования Вижинера
- •5 Шифр «Двойной квадрат Уитстона»
- •Задание
- •Варианты заданий темы 3 для самостоятельной подготовки
- •Вопросы по теории темы 3 для самостоятельной подготовки
- •Приложение
- •Открытое распределение ключей
- •Протокол обмена ключами Диффи–Хеллмана
- •Варианты заданий 2 темы 5 для самостоятельной подготовки
- •Задание 2
- •Решение Алгоритм решения задачи следующий:
- •Варианты заданий 1, 2 темы 6 для самостоятельной подготовки
- •Вопросы по теории темы 6 для самостоятельной подготовки
- •Варианты задания 1 темы 7 для самостоятельной подготовки
- •Литература
3 Шифр поворотной решетки
Для использования шифра, названного поворотная решетка, изготавливают трафарет из прямоугольного листа в клетку (размер 2m х 2k клеток). В этом трафарете вырезают mk клеток так, чтобы при наложении его на чистый лист бумаги того же размера четырмя возможными способами (лицевой и обратной сторонами каждая с поворотом на 180 градусов) вырезы без наложений полностью покрывали бы всю площадь чистого листа. Буквы исходного текста последовательно вписывают в вырезы трафарета по строкам слева направо при каждом из четырех его возможных положений в предварительно установленном порядке. Затем для получения шифротекста считывают полученную таблицу последовательно по строкам или столбцам.
Ключом для прочтения (востановления) исходного текста должен быть сам трафарет (или его описание), информация о последовательности(порядке) его поворотов и особенностей считывания таблицы. Количество возможных трафаретов (решеток) составляет T = 4(mk)!, а длина исходного текста составит n=4mk. Число всех перестановок в тексте такой длины составит (4mk)!, что существенно больше числа ключей T.
4 Шифры с использованием магичных квадратов
Магичный квадрат – квадратная таблица с вписаными в клетки последовательными натуральными числами, начиная с 1, которые при суммировании по столбцам, строкам и диагоналям дают одно и то же число. Исходный текст вписывают в магический квадрат в соответствии с нумерацией его клеток. Для получения шифротекста таблицу считывают по строкам или столбцам. В качестве ключа для востановления исходного текста может быть ссылка на номер магического квадрата в некоторой базе, которая известна отправителю и получателю шифротекста.
-
16
3
2
13
5
10
11
8
9
6
7
12
4
15
14
1
Рис 1а
13
8
12
1
2
11
7
14
3
10
6
15
16
5
9
4
Рис 1б
4
15
14
1
9
6
7
12
5
10
11
8
16
3
2
13
Рис 1в
1
12
8
13
14
7
11
2
15
6
10
3
4
9
5
16
Рис 1г
На рисунке выше приведены примеры магических квадратов размера 4х4 (из 880 возможных). Количество магических квадратов размера 5х5 – около 25 тыс.
5 Перестановка бит
Использование компьютеров для выполнения шифрования породило такой метод как перестановка бит в каждом символе исходного текста. К примеру, ключ для такого шифрования может выглядеть так (3,5,7,1,4,2,8,6). Это означает, что исходное сообщение, представленное в бинарной форме разбивается на блоки по 8 бит и в каждом таком блоке происходит перестановка в соответствии с заданнын ключом: на первое место переставляется 3-й бит, на второе–5-й, на третье–7-й и т.д. Возможна разбивка на блоки, содержащие другое число бит.