Файл: Программа должна выполнят следующее Генерировать с помощью псевдослучайной функции 2 квадрата Уитстона размером Size.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 11.01.2024
Просмотров: 61
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
"Шифры сложной замены. Двойной квадрат Уитстона"
Цель:
Выработать у студента умения и навыки шифрования информации с помощью шифра сложной замены "Двойной квадрат Уитстона".
Задание.
1. Ознакомиться с теоретическими сведениями о шифре "Двойной квадрат Уитстона"
2. Выполнить программную реализацию шифрования и дешифрование данных с помощью шифра "Двойной квадрат Уитстона" на любом алгоритмическом языке , согласно своему варианту.
3. Протестировать работу программы.
4. Оформить отчёт.
Программа должна выполнят следующее:
-
Генерировать с помощью псевдослучайной функции 2 квадрата Уитстона размером Size, заполненный символами алфавита A, согласно вашего варианта
(Ваш вариант=(Номер в списке группы) mod 25) -
Производить зашифрование данных с помощью шифра "Двойной квадрат Уитстона" , используя сгенерированные квадраты, на 1 шаге -
Производить расшифрование данных зашифрованных с помощью шифра "Двойной квадрат Уитстона", используя сгенерированные квадраты, на 1 шаге -
Если при шифровании в сообщении встречаются символы, не входящие в алфавит то вывести на экран ошибку и прекратить дальнейшие действия -
В программе должно быть предусмотрено 2 режима получения ключа – генерация и ввод с помощью клавиатуры или файла -
Выводить результаты работы программы на экран. В качестве результата должны быть выведены:-
сгенерированный алфавит -
размер квадрата -
сгенерированные 2 квадрата Уитстона, расположенные один возле другого -
открытый и зашифрованный тексты, разбитый на биграммы -
зашифрованный и расшифрованный тексты, разбитый на биграммы
-
-
Если используется консольная программа, то должна быть предусмотрена возможность зашифрования/расшифрования производить произвольное количество раз, а не только один раз
Таблица 1. Варианты заданий.
№ в-та | А | Size |
1 | 5 случайных заглавных английских букв,11 случайных строчных английских букв, спецсимволы :;()[]<>+ | 5x5 |
2 | Заглавные английские буквы, строчные русские буквы, спецсимволы !?,.:;() | 8x8 |
3 | Цифры,10 случайных заглавных английских букв, 16 случайных строчных русских букв. | 6x6 |
4 | Цифры, 15 случайных строчных английских букв | 5x5 |
5 | Строчные английские буквы, числа из диапазона 0..5, спецсимволы !?,.:;()[]<>+-*/– | 7x7 |
6 | Чётные числа из диапазона 0..9, строчные русские буквы, строчные английские буквы, спецсимвол * | 8x8 |
7 | Заглавные буквы английского алфавита, чётные числа из диапазона 0..9, спецсимволы <>+-* | 6x6 |
8 | Строчные английские буквы, нечётные числа из диапазона 0..9, 18 случайных строчных букв английского алфавита | 7x7 |
9 | 9 строчных английских букв, цифры, 6 строчных русских букв | 5x5 |
10 | Строчные английские буквы, заглавные русские буквы, спецсимволы ,.:;()[] | 8x8 |
11 | Заглавные русские буквы, чётные числа из диапазона 0..9, 12 случайных заглавных английских букв | 7x7 |
12 | Нечётные числа из диапазона 0..9, 12 случайных заглавных русских букв, спецсимволы ;()[]<>+-* | 5x5 |
13 | Цифры,14 случайных строчных английских букв, 12 случайных строчных русских букв. | 6x6 |
14 | 17 случайных строчных букв английского алфавита, строчные буквы русского алфавита. | 7x7 |
15 | Цифры, заглавные русские буквы, 5 случайных строчных английских букв, спецсимволы !?,.:;()[]<>+-*/– | 8x8 |
16 | 7 случайных строчных английских букв,9 случайных строчных английских букв, спецсимволы []<>+-*/– | 5x5 |
17 | Заглавные русские буквы, строчные английские буквы, числа из диапазона 0..7 | 8x8 |
18 | нечётные числа из диапазона 0..9, заглавные русские буквы, 12 случайных заглавных английских букв | 7x7 |
19 | 10 случайных заглавных русских букв, чётные числа из диапазона 0..9, 15 случайных строчных английских букв, спецсимволы !?,.:; | 6x6 |
20 | 15 случайных строчных русских букв, цифры | 5x5 |
21 | 5 случайных заглавных английских букв,11 случайных заглавных украинских символов, спецсимволы :;()[]{}- | 5x5 |
22 | Заглавные буквы английского алфавита, нечётные цифры из диапазона 0..9, спецсимволы <>%@* | 6x6 |
23 | строчные английские буквы, строчные украинские буквы, спецсимволы !%,^:;[) | 8x8 |
24 | Цифры,10 случайных строчных украинских букв, 16 случайных английских букв. | 6х6 |
25 | Заглавные английские буквы, числа из диапазона 5..9, спецсимволы !&,.:;(){}%>+-*/– | 7x7 |
фффффффффффффффф
Теоретический материал
Шифр "двойной квадрат" Уитстона
В 1854 г. англичанин Чарльз Уитстон разработал новый метод шифрования биграммами, который называют "двойным квадратом". Свое название этот шифр получил по аналогии с полибианским квадратом. Шифр Уитстона открыл новый этап в истории развития криптографии. В отличие от полибианского шифр "двойной квадрат" использует сразу две таблицы, размещенные по одной горизонтали, а шифрование идет биграммами, как в шифре Плейфейра. Эти не столь сложные модификации привели к появлению на свет качественно новой криптографической системы ручного шифрования. Шифр "двойной квадрат" оказался очень надежным и удобным и применялся Германией даже в годы Второй мировой войны.
Поясним процедуру шифрования этим шифром на примере. Пусть имеются две таблицы со случайно расположенными в них русскими алфавитами (рис.1). Эти две таблицы будут ключами и должны хранится в секрете. Перед шифрованием исходное сообщение разбивают на биграммы. Каждая биграмма шифруется отдельно. Первую букву биграммы находят в левой таблице, а вторую букву - в правой таблице. Затем мысленно строят прямоугольник так, чтобы буквы биграммы лежали в его противоположных вершинах. Другие две вершины этого прямоугольника дают буквы зашифрованной биграммы.
Рисунок 1 - Две таблицы со случайно расположенными символами русского алфавита для шифра "двойной квадрат"
Предположим, что шифруется биграмма исходного текста ИЛ. Буква И находится в столбце 1 и строке 2 левой таблицы. Буква Л находится в столбце 5 и строке 4 правой таблицы. Это означает, что прямоугольник образован строками 2 и 4, а также столбцами 1 левой таблицы и 5 правой таблицы. Следовательно, в биграмму шифртекста входят буква О, расположенная в столбце 5 и строке 2 правой таблицы, и буква В, расположенная в столбце 1 и строке 4 левой таблицы, т.е. получаем биграмму шифртекста ОВ.
Если обе буквы биграммы сообщения лежат в одной строке, то и буквы шифртекста берут из этой же строки. Первую букву биграммы открытого текста ищут в левой таблице, а соответствующая ей буква зашифрованной биграммы берётся из правой таблицы, в томже столбце, в котором находится символ открытого сообщения. Вторую букву биграммы открытого текста ищут в правой таблице, а соответствующая ей буква зашифрованной биграммы берётся из левой таблице в том же столбце, что и открытый символ биграммы. Поэтому биграмма сообщения ТО превращается в зашифрованную биграмму ЖБ. Аналогичным образом шифруются все биграммы сообщения:
Сообщение ПР ИЛ ЕТ АЮ Ш ЕС ТО ГО
Шифртекст ПЕ ОВ ЩН ФМ ЕШ РФ ЖБ ДЦ
Расшифрование происходит аналогично зашифрованию, только таблицы, которые применялись при шифровании, меняются местами
Шифрование методом "двойного квадрата" дает весьма устойчивый к вскрытию и простой в применении шифр. Взламывание шифртекста "двойного квадрата" требует больших усилий, при этом длина сообщения должна быть не менее тридцати строк.
Контрольные вопросы
-
Сколько генерируются таблиц? -
Каким образом заполняются таблицы? -
Что у нас выступает в качестве ключа? -
Каким образом происходит зашифрования данных? -
Каким образом происходит расшифрования данных?