Шифр Цезаря
Автор: Kara777 • Июнь 11, 2022 • Реферат • 6,479 Слов (26 Страниц) • 480 Просмотры
Содержание
1 | Введение | |
2 | Описание шифра Цезаря | 3 |
3 | Используемые инструменты разработки | 3 |
4 | Реализация | 3 |
5 | Листинг | 4 |
6 | Заключение | 15 |
7 | Используемая литература | 15 |
Введение
Рассматриваемое программа разработано на основе технического задания, которое также приведено ниже с незначительными изменениями. Разработанная программа должна состоять из трех частей:
− Функция считывания данных из файлов.
− Шифрование данных в файлах.
− Запись зашифрованной информации в файлы, названия которых аналогичные исходным.
Метод шифрования использованный в данной программе: Шифр Цезаря – моноалфавитный шифр.
Описание Шифра Цезаря
Шифр Цезаря – моноалфавитный шифр. Это тип шифра подстановочного типа, где каждая буква в открытом тексте заменяется на другую букву, смещенную на некоторое фиксированное количество позиций в алфавите. Шифрование представлено с использованием модульной арифметики.
Используемые инструменты разработки
С# - это объектно-ориентированный и типобезопасный язык программирования. C# позволяет разработчикам создавать разные типы безопасных и надежных приложений, выполняющихся в .NET. C# относится к широко известному семейству языков C.
Visual Studio – многофункциональная программа, которая поддерживает многие аспекты разработки программного обеспечения. Интегрированная среда разработки Visual Studio — это стартовая площадка для написания, отладки и сборки кода, а также последующей публикации приложений. Помимо стандартного редактора и отладчика, которые есть в большинстве сред IDE, Visual Studio включает в себя компиляторы, средства автозавершения кода, графические конструкторы и многие другие функции для улучшения процесса разработки.
Реализация
Разработка программы начинается с считывания текста из файлов, класс Text метод TextRead реализует этот процесс.
В папке “Files encrypt” находятся исходный текст. Весь текст из файлов метод сохраняет в поле типа string. После завершения считывания текста метод разбивает его посимвольно и сохраняет в поле типа char. По завершению всех процедур сохранения метод обрезает массив символов от пустых ячеек.
Следующий шаг это шифрование информации, класс Shivrovanie метод Shifr1 реализует этот процесс.
Вводится ключ шифрования (количество позиций на которое должен сместится символ). Ограничиваем ключ до приемлемых значений в районе от 0 до 67 символов. В методе создается поле с русским алфавитом. Далее этот алфавит разбивается посимвольно и сохраняется в массив. Вызывается метод TextRead по завершению которых в поле te.simvols[] появляется разбитый на символы исходный текст. В двух циклах метод перебирает сначала символы из исходного текста, потом символы алфавита параллельно сравнивая их. В случает если символ текста и символ алфавита одинаковы то метод сдвигает букву алфавита на указанное количество позиций заданное ранее ключом шифрования. В конце метода, он сохраняет зашифрованный текст в te.simvols[]. Так же метод сохраняет зашифрованный текст te.simvols1[].
Заключающий шаг это запись зашифрованной информации в файлы, класс Program метод Main.
В начале метода вызываются 2 класса Shivrovanie и Text. В классе Shivrovanie вызывается метод Shifr1. В классе Text используются поля FilesForCoding для нахождения имени файла, и simvols для записи в файл текста. В соответствии с названием исходного файла создается дубликат с надписью Encrypt означающая “Зашифрованный”. В нем хранится зашифрованный тест исходников.
Листинг
Класс Text метод TextRead()
using System;
...