Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Звягинцев Б.И._Курсовая работа.docx
Скачиваний:
7
Добавлен:
01.05.2025
Размер:
1 Мб
Скачать

1.4. Анализ алгоритма шифра 2, построение блок-схемы алгоритма шифра и программы шифрования. Описание формата ввода данных

Задача о ходе коня – задача о нахождении маршрута шахматного коня, проходящего через все поля доски по одному разу.

Эта задача известна по крайней мере с XVIII века.  Леонард Эйлер посвятил ей большую работу «Решение одного любопытного вопроса, который, кажется, не подчиняется никакому исследованию» (датируется 26 апреля 1757 года).

В курсовой работе рассмотрим шифрование текста посредством маршрута коня, изображенного на рис.3.

Рисунок 1.4

Шифрование происходит следующим образом: вся шахматная доска 8х8 заполняется слева-направо и сверху-вниз исходным текстом, если остаются свободные клетки, то они заполняются случайными буквами, а если не хватает, то добавляется еще одна аналогичная доска.

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

Таким образом, получаем зашифрованный текст:

ЫОВБППЧИОЙТЛМГОТКНЦЫРОВЧБНЬСЯФЮЗИСТЕКОХАЖГННКЗВЯАТУПГЛТЭНТОЧЬЪИО

Расшифрование:

Используя ключ-маршрут, выписываем поочередно буквы.

НУЖНОВЫТЯГИВАТЬНОГИЗПТНАСКОЛЬКОПОЗВОЛЯЮТПРОСТЫНИТЧКЪЭХЧЧМФЕЦБЙБГ

Заметим, что на конце остались случайные буквы, которые добавились ввиду пустых клеток.

1.5 Разработка общего интерфейса комплекса программ шифрования 1, 2 и 3. Описание формата ввода данных

Общий интерфейс программы выглядит следующим образом:

Рисунок 1.5

Далее будут рассмотрены основные функции программы:

Рисунок 1.6

  1. Окно выбора необходимого шифра

  2. Окно выбора действия (Шифрование или расшифрование)

  3. Поле для ввода ключа (Программа может сгенерировать его сама)

  4. Поле для ввода исходного текста

  5. Поле вывода зашифрованного или расшифрованного текста

  6. Кнопка запуска программы

Подробное описание работы программы:

  1. Исходный текст может быть записан вручную или из файла. Достаточно нажать кнопку «Обзор» у поля Исходного текста и выбрать файл на диске. Программа воспринимает русский текст и практически все знаки препинания. Была исследована литература по передаче телеграмм и сокращению фраз в них. И таким образом, большинство знаков переводится в буквы, также убираются все пробелы. Т.к. подразумевается, что при расшифровании будет либо человек анализировать текст либо словарь русских слов, и проблема расстановки пробелов будет практически отсутствовать. При некорректном вводе, если присутствуют неизвестные программе символы, будет предложено удалить некорректные символы, что сокращает время и увеличивает удобство программы.

Рисунок 1.7

  1. После ввода текста выбираем Шифр.

Рисунок 1.8

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

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

Рисунок 1.9

4) При вводе корректных значений, т.е. при корректном исходном тексте, выбранном режиме шифрования, а также правильном ключе, программа зашифрует текст

Рисунок 1.10

  1. После шифрования, открывается возможность просмотра и анализа диаграмм символов: гистограмм, к слову, у исходного текста и зашифрованного они совпадают, т.к. используются шифры перестановки, буквы-«пустышки» не в счет. В гистограммах каждый столбец имеет подпись, что упрощает его анализ. Учитывая несчетное количество биграмм и триграмм в больших текстах, то подписывать каждый символ теряет смысл, поэтому достаточно нажать на интересующий столбец и мгновенно появится информация о данной биграмме и частоте ее появления. Также, все диаграммы символов можно сохранить в достаточно большом разрешении.

Рисунок 1.11

6) Для расшифрования текста, достаточно аналогичным образом, как и для шифрования текста, выбрать шифр, пункт «Расшифрование», задать ключ и зашифрованный текст. При корректных значениях во всех перечисленных пунктах, шифр достаточно быстро расшифруется. Ввиду изначальной замены знаков препинаний, есть возможность восстановить их, находя те же сокращения и преобразуя их. Будет предложено попытка расшифровать текст посредством перечисленных замен. После расшифрования можно будет заметить оставшиеся на конце случайные буквы, появившиеся в процессе шифрования на пустых местах матриц. Если использовать словари с достаточно большим набором слов, то можно практически полностью автоматизировать процесс разбора расшифрованного текста на слова и предложения, и, конечно, появится возможность убрать буквы-пустышки. И, наконец, одна из возможностей программы – сохранение расшифрованного текста.

Рисунок 1.12

ВЫВОД

Все выбранные для данной исследовательской работы шифры в состоянии решить только одну из задач – обеспечение конфиденциальности, так как они сильно устарели и имеют низкую криптостойкость.

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