Лабораторная работа № 1
Тема: Шифрование методом перестановок.
Цель: Научиться разрабатывать программы для шифрования методом перестановок.
Задание
1 Создать перестановочный шифр в соответствии с индивидуальным заданием:
подробно описать процедуры шифрования и дешифрования с указанием всех особенностей и ограничений;
описать ключ шифра (процедуры его получения, хранения и передачи).
2 Привести примеры получения шифротекста и его расшифрования вручную (подходящий исходный текст выбрать самостоятельно).
3 Оценить секретность созданного шифра. Указать возможные мероприятия для повышения секретности.
4 Программно реализовать и продемонстрировать процедуры шифрования – дешифрования текстов.(создается одна программа с соседом по варианту).
Выбор варианта: студент выбирает № варианта задачи, определив значение t, где t = [N/ 18] – остаток от деления нацело числа N (порядковый номер в основном списке группы).
Таблица 1 – Индивидуальные задания к лабораторной работе 1
№ вар. |
Описание шифра |
Ограничения |
Программа |
0 |
Шифр поворотной решетки |
Использовать решетку 10х8 |
расшифр. |
1 |
Перестановка бит в коде исходного текста |
Разбивка на блоки – по 8 бит |
шифров. |
2 |
расшифр. | ||
3 |
Шифрование с использовани-ем магических квадратов. |
Использовать квадраты 4х4, приведенные в тексте ниже |
шифров. |
4 |
расшифр. | ||
5 |
Шифр поворотной решетки |
Использовать решетку 8х6 |
шифров. |
6 |
расшифр. | ||
7 |
Шифр двойной вертикальной перестановки |
Использовать таблицу 7х6 |
шифров. |
8 |
расшифр. | ||
9 |
Шифр вертикальной переста-новки |
Использовать таблицу 8х5 |
шифров. |
10 |
расшифр. | ||
11 |
Перестановка бит в коде исходного текста |
Разбивка на блоки – по 12 бит |
шифров. |
12 |
расшифр. | ||
13 |
Шифр сцитала |
Диаметр жезла не более 90 мм |
шифров. |
14 |
расшифр. | ||
15 |
Шифр двойной вертикальной перестановки |
Использовать таблицу 8х8 |
шифров. |
16 |
расшифр. | ||
17 |
Шифр поворотной решетки |
Использовать решетку 10х8 |
шифров. |
Методические указания
Отчет по лабораторний работе должен содержать ответы на п.п. 1-3 задания, функциональную схему части общей программы, распечатку примеров выполнения программы.
Во время защиты лабораторной работы продемонстрировать процедуру шифрования(дешифрования) текста, ответить на вопросы по программной реализации элементов шифра; ответить на 1-2 контрольных вопроса (приведены в конце текста).
Краткие теоретические сведения
Шифр перестановки(ШП) – преобразование символов исходного текста в соответствии с которым происходит только изменение их порядка без изменения самих символов.
Рассмотрим преобразования с соответствии с ШП, предназначенное для зашифровки исходного текста длиной 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 работать с большими таблицами.
Для получения варианта перестановки часто используется некоторая геометрическая фигура, составленная из клеток (чаще всего прямоугольники различных размеров). Шифрование состоит в том, что исходный текст в клетки фигуры вписывают по ходу одного маршрута, а затем для получения шифротекста из заполненной символами фигуры выписывают символы по ходу другого маршрута. Такой шифр называют шифром маршрутной перестановкой. Ключом для такого шифра будет описание фигуры и двух маршрутов (шифрования и дешифрации). Важно чтобы оба маршрута содержали без повторений все клетки фигуры. Геометрическая фигура не обязательно должна быть плоской.
Варианты шифра маршрутной перестановки