Лабораторная работа № 2
Тема: Шифрование методом замены
Цель: Научиться разрабатывать программы для шифрования методом замены
Задание
1 Создать шифры замены в соответствии с индивидуальным заданием:
- подробно описать процедуры шифрования и дешифрования с указанием всех особенностей и ограничений;
- описать ключ шифра (процедуры его получения, хранения и передачи).
2 Привести примеры получения шифротекста и его расшифрования вручную (подходящий исходный текст выбрать самостоятельно).
3 Оценить секретность созданного шифра. Указать возможные мероприятия для повышения секретности.
4 Программно реализовать и продемонстрировать процедуры шифрования – дешифрования текстов.(создается одна программа с соседом по варианту).
Выбор варианта: студент выбирает № варианта задачи, определив значение t, где t = [N/ 18] – остаток от деления нацело числа N (порядковый номер в основном списке группы).
Таблица 1 – Индивидуальные задания к лабораторной работе 1
№ вар. | Описание шифра | Ограничения | Программа |
Шифр простой замены | Использовать сдвиг не менее 8 | шифров. | |
Афинная система подстановок | Принять А=12, В = 7. | расшифр. | |
шифров. | |||
Лозунговый шифр | Использовать фразу не менее 10 символов | расшифр. | |
шифров. | |||
Полибианский квадрат | Использоватьтаблицу 6х6 | расшифр. | |
шифров. | |||
Таблица Трисемуса | Использовать таблицу 7х6 | расшифр. | |
шифров. | |||
Биграммный шифр | Использовать таблицу 8х5 | расшифр. | |
шифров. | |||
Афинная система подстановок | Принять А=9, В = 13. | расшифр. | |
шифров. | |||
Система омофонов | Использовать информацию из теоретических сведений | расшифр. | |
шифров. | |||
Полибианский квадрат | Использоватьтаблицу 8х8 | расшифр. | |
шифров. | |||
Шифр простой замены | Использовать сдвиг не менее 8 | расшифр. |
Методические указания
|
Отчет по лабораторний работе должен содержать ответы на п.п. 1-3 задания, функциональную схему части общей программы, распечатку примеров выполнения программы.
Во время защиты лабораторной работы продемонстрировать процедуру шифрования(дешифрования) текста, ответить на вопросы по программной реализации элементов шифра; ответить на 1-2 контрольных вопроса (приведены в конце текста).
Краткие теоретические сведения
Шифрами замены называют такие шифры, шифрование с помощью которых осуществляется путем замены каждого символа исходного текста другими символами (шифрообозначениями), при этом порядок символов не меняется.
Формально шифр замены можно описать так: каждой букве α исходного текста ставится в соответствие некоторое множество символов Мα, которое называют множеством шифрообозначений для буквы α. Таблица соответствий и порядок выбора шифрообозначения из множества символов являются ключом шифра замены.
А | Б | В | Г | … | Я |
МА | МБ | МВ | Мг | … | МЯ |
Если множества состоят из одного элемента, то такой шифр называют шифром простой замены.
Варианты шифров простой замены
Система шифрования Цезаря
В качестве ключа в этой системе используется таблица, состоящая из двух строк (первая строка – алфавит исходного сообщения, вторая строка – тот же алфавит, но со сдвигом на несколько букв; при этом алфавитный порядок букв сохраняется).
|
А | Б | В | … | Э | Ю | Я | |
Д | Е | Ж | … | Б | В | Г |
При шифровании каждой буквы исходного текста, ее заменяют буквой, которая находится под ней во второй строке таблицы. Ключ такого шифра легко запомнить по первой букве 2-й строки. Процесс дешифрации выполняется в обратном порядке – каждую букву шифротекста находят во второй строке таблицы и заменяют на букву над ней (с первой строки). Число ключей такого шифра не превышает количество букв алфавита (для русскоязычных текстов Т=33).
Афинная система подстановок
В шифре с таким названием буквы исходного сообщения превращаются в буквы шифротекста в соответствии со следующей формулой:
t1 = A t + B (mod m),
где t – порядковый номер в алфавите буквы исходного текста;
t1 – порядковый номер в том же алфавите соответствующей ей буквы шифротекста;
m – мощность (количество букв) алфавита;
A, B – целые числа (причем A и m взаимно простые).
Пример пусть m = 31; A = 8; B = 6.
Тогда первые 7 букв алфавита в шифротекстах будут заменены так:
t | |||||||
исх. текст | А | Б | В | Г | Д | Е | Ж |
t1 | 0=31 | ||||||
шифротекст | О | Ц | Ю | Д | П | Ч | Я |
Лозунговый шифр
Данный шифр является модификацией шифра 1, в котором для сдвига алфавита во второй строке используется некоторое слово или фраза (коллизия возможного повторения букв в фразе решается просто – если некоторая буква присутствует в фразе больше одного раза, то при заполнении строки 2 фиксируется только ее первое вхождение). Дальше строку 2 продолжают заполнять буквами в алфавитном порядке, начиная с первой (или лучше с последней) буквы, при этом пропускают те буквы, которые появились в строке 2 при записи фразы.
|
Таблица – Шифр замены с использованием фразы «БУДЕМ ЖИТЬ»
А | Б | В | Г | Д | Е | Ж | З | И | К | Л | М | Н | О | П | |
Б | У | Д | Е | М | Ж | И | Т | Ь | Я | Ю | Э | Ы | Ъ | Щ | |
Продолжение таблицы | |||||||||||||||
Р | С | Т | У | Ф | Х | Ц | Ч | Ш | Щ | Ъ | Ы | Ь | Э | Ю | Я |
Ш | Ч | Ц | Х | Ф | С | Р | П | О | Н | Л | К | З | Г | В | А |
Шифровальный квадрат Полибия
Шифр изобрел древнегреческий писатель и историк Полибий. В качестве ключа шифра используется прямоугольная таблица с количеством ячеек равным количеству символов исходного алфавита. Эту таблицу случайным образом заполняют символами этого алфавита. Для получения шифротекста каждый символ исходного текста заменяют на символ, расположенный в том же столбце, но в следующей строке (символы из последней строки заменяют символами из первой строки).
Ниже приведен пример шифровального квадрата Полибия. Фраза «ПРИЙДУ В ДГМА ВОСЬМОГО» в зашифрованном виде будет выглядеть так:
«ЪЯДБУХМУЫЧЬМАГЛЧАЫА»
|
Дешифрование шифротекста выполняется в обратном порядке – каждую букву шифротекста, используя тот же шифровальный квадрат, заменяют на букву с того же столбца, но строкой выше.
5 Шифровальная таблица Трисемуса
Для получения шифровальной таблицы, аналогичной квадрату Полибия используют ключевую фразу или слово. Сначала в таблицу вписывают буквы ключевой фразы. Если некоторая буква присутствует в фразе больше одного раза, то при заполнении таблицы фиксируется только ее первое вхождение. После этого таблицу продолжают заполнять оставшимися буквами, соблюдая алфавитный порядок. В качестве шифра таблица Трисемуса используется аналогично квадрату Полибия.
Ниже приведен пример шифровальной таблицы, для генерации которой использована поговорка «СКОЛЬКО ВОЛКА НИ КОРМИ, ОН ВСЕ В ЛЕС ГЛЯДИТ »
|
Фраза «ПРИЙДУ В ДГМА ВОСЬМОГО» в зашифрованном виде будет выглядеть так:
«ЪЖБЩФЫЯФПЗДЯМИГЗМПМ».
Ключом для такого шифра будет размер таблицы и ключевая фраза:
4х8 «Сколько волка ни корми, он все в лес глядит »
Преимуществами перечисленных выше шифров является простота их реализации, недостатком – низкая стойкость в связи с тем, что шифротексти сохраняют информацию о статистике исходных текстов. Это позволяет криптоаналитику применить частотный анализ для взламывания шифра.
Приведенные ниже шифры позволяют исказить или вообще скрыть информацию о статистике исходного текста.