Фрагмент для ознакомления
1
Оглавление
Введение 3
1. Постановка задачи 3
2. Анализ предметной области 3
3. Описание входных данных с указанием требований к ним 4
4. Описание результатов работы программы 4
5. Описание алгоритма работы 5
6. Результаты тестирования программы 6
7. Руководство пользователя 15
Выводы 15
Приложение – код программы 16
Фрагмент для ознакомления
2
Введение
Актуальность настоящей работы обусловлена тем, что защита информации в условиях формирования цифровой экономики и цифрового государства является задачей первостепенной важности.
Существует большое число различных алгоритмов шифрования сообщений разной природы, исторически самыми первыми появились перестановочные и подстановочные шифры.
В перестановочных шифрах может быть использован разный порядок перестановки символов, что может создавать шифры, достаточно хорошо защищенные от взлома.
Реализованный в работе метод шифрования путем перестановки двух соседних символов не является надежным методом шифровки информации, однако же очень хорошо иллюстрирует подход к разработке подобных программ и сам процесс шифровки и дешифровки сообщения.
1. Постановка задачи
Написать программу, которая позволяет зашифровывать и расшифровывать сообщение с помощью «шифра перестановки». Этот шифр меняет местами две соседние буквы. Программа должна позволять загружать исходный текст из файла и сохранять результат в файл. Предусмотреть также возможность ручного ввода текста с последующим сохранением шифра в файл.
2. Анализ предметной области
Перестановочные шифры являются одними из старейших, поэтому теоретическая база технологии проработана достаточно хорошо. В учебной задаче применение перестановочного шифра требует кроме программирования самого алгоритма шифрования создать еще и вспомогательное окружение для работы программы – предусмотреть возможность чтения данных из файла и их записи в файл. Это накладывает определенные ограничения на используемые файлы.
Предполагается, что текстовый файл, предназначенный для работы с программной, будет заканчиваться на служебный символ #0 или eof, что характерно для всех современных текстовых редакторов, но Паскаль по сложившейся традиции этот символ читать не умеет, значит надо будет учесть это при программировании (включением и выключением специфических директив компилятора).
Для современных компиляторов с Паскаля не имеет значение в целом длина строки, в строковой переменной могут храниться файлы большого размера. Для используемого шифра в целом безразлична кодировка файла, потому что программа будет работать с текстом посимвольно совершая лишь перестановку символов местами, но не их преобразование.
3. Описание входных данных с указанием требований к ним
Входные данные задачи – текстовый файл. К кодировке и размеру файла требований не предъявляется. Желательно, чтобы файл заканчивался «нулевым» символом eof, но это требование уже реализуется всеми современными текстовыми редакторами, в которых создаются текстовые файлы.
Альтернативой использованию текстовых файлов может быть ввод строки во время работы программы – в этом случае ограничение на длину строки накладывается объемом свободной оперативной памяти компьютера.
4. Описание результатов работы программы
Основным результатом работы программы является получение зашифрованного с помощью перестановочного шифра текста (взятого из файла или введенного с клавиатуры), расшифровка ранее зашифрованного текста. Реализованы также вспомогательные функции – чтения данных из файла, записи данных в файл, чтения строки с экрана и вывода рабочего текста на экран.
5. Описание алгоритма работы
В программе реализованы два алгоритма, которые могут представлять сложность в реализации и имеют свои специфические особенности.