Файл: Программа должна выполнят следующее Генерировать с помощью псевдослучайной функции 2 квадрата Уитстона размером Size.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.01.2024

Просмотров: 61

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

"Шифры сложной замены. Двойной квадрат Уитстона"

Цель:

Выработать у студента умения и навыки шифрования информации с помощью шифра сложной замены "Двойной квадрат Уитстона".

Задание.

1. Ознакомиться с теоретическими сведениями о шифре "Двойной квадрат Уитстона"

2. Выполнить программную реализацию шифрования и дешифрование данных с помощью шифра "Двойной квадрат Уитстона" на любом алгоритмическом языке , согласно своему варианту.

3. Протестировать работу программы.

4. Оформить отчёт.

Программа должна выполнят следующее:

  1. Генерировать с помощью псевдослучайной функции 2 квадрата Уитстона размером Size, заполненный символами алфавита A, согласно вашего варианта
    (Ваш вариант=(Номер в списке группы) mod 25)

  2. Производить зашифрование данных с помощью шифра "Двойной квадрат Уитстона" , используя сгенерированные квадраты, на 1 шаге

  3. Производить расшифрование данных зашифрованных с помощью шифра "Двойной квадрат Уитстона", используя сгенерированные квадраты, на 1 шаге

  4. Если при шифровании в сообщении встречаются символы, не входящие в алфавит то вывести на экран ошибку и прекратить дальнейшие действия

  5. В программе должно быть предусмотрено 2 режима получения ключа – генерация и ввод с помощью клавиатуры или файла

  6. Выводить результаты работы программы на экран. В качестве результата должны быть выведены:

    1. сгенерированный алфавит

    2. размер квадрата

    3. сгенерированные 2 квадрата Уитстона, расположенные один возле другого

    4. открытый и зашифрованный тексты, разбитый на биграммы

    5. зашифрованный и расшифрованный тексты, разбитый на биграммы

  7. Если используется консольная программа, то должна быть предусмотрена возможность зашифрования/расшифрования производить произвольное количество раз, а не только один раз



Таблица 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 левой таблицы, т.е. получаем биграмму шифртекста ОВ.

Если обе буквы биграммы сообщения лежат в одной строке, то и буквы шифртекста берут из этой же строки. Первую букву биграммы открытого текста ищут в левой таблице, а соответствующая ей буква зашифрованной биграммы берётся из правой таблицы, в томже столбце, в котором находится символ открытого сообщения. Вторую букву биграммы открытого текста ищут в правой таблице, а соответствующая ей буква зашифрованной биграммы берётся из левой таблице в том же столбце, что и открытый символ биграммы. Поэтому биграмма сообщения ТО превращается в зашифрованную биграмму ЖБ. Аналогичным образом шифруются все биграммы сообщения:



Сообщение ПР ИЛ ЕТ АЮ Ш ЕС ТО ГО

Шифртекст ПЕ ОВ ЩН ФМ ЕШ РФ ЖБ ДЦ

Расшифрование происходит аналогично зашифрованию, только таблицы, которые применялись при шифровании, меняются местами

Шифрование методом "двойного квадрата" дает весьма устойчивый к вскрытию и простой в применении шифр. Взламывание шифртекста "двойного квадрата" требует больших усилий, при этом длина сообщения должна быть не менее тридцати строк.

Контрольные вопросы


  1. Сколько генерируются таблиц?

  2. Каким образом заполняются таблицы?

  3. Что у нас выступает в качестве ключа?

  4. Каким образом происходит зашифрования данных?

  5. Каким образом происходит расшифрования данных?