Разработка приложения «шифр Цезаря»
Введение
Криптография - это наука и искусство шифрования. Сегодня понятие криптографии расширилось и включает в себя аутентификацию, цифровые подписи и множество других элементарных функций безопасности. Криптография охватывает различные области математики, теории связи, технические дисциплины, создающие фундамент для построения защиты данных и взлома шифров. Существует довольно много алгоритмов шифрования информации. Наиболее известным из древних шифров замены является шифр Цезаря, названный так в честь римского императора Гая Юлия Цезаря, который использовал его для секретной переписки со своими генералами. Шифр Цезаря является одним из наиболее изученных в криптографии, и он очень полезен тем, что иллюстрирует принципы модульной арифметики, одной из математических основ кодированного письма. Принцип сокрытия информации в данном шифре довольно несложен. Каждая буква в сообщении заменяется другой буквой, расположенной в алфавите на определенной позиции правее. Чтобы расшифровать данное сообщение, нужно всего лишь знать на какое количество позиций необходимо сместить буквы. Специалисты расходятся во мнениях по поводу практического применения шифра Цезаря, кто-то, утверждает, что сам Гай Юлий Цезарь заменял букву текста, смещая на четыре позиции в алфавите, а кто-то говорит, что он смещал на 3 позиции относительно первоначальной буквы. Также нет точного ответа, в какую именно сторону необходимо было двигаться по алфавиту, вправо или влево.
Содержание
Введение 3
1 Теоретическая часть 5
1.1 Задание 5
1.2 Описание средств разработки 6
1.3 Проект программного обеспечения 8
Алгоритм работы программы 9
2 Практическая часть 11
2.1 Техническое задание 11
2.2 Описание программы 12
2.3 Руководство программиста 13
2.4 Руководство оператора 14
2.5 Описание контрольного примера 15
Заключение 16
Список использованных источников 18
Список использованных источников
1. Казанский А.А., Программирование на Visual C# 2013: учеб.пособие для СПО/ А.А.Казанский.- М.: Издательство Юрайт, 2018.-191с. – Серия: Профессиональное образование.
2. Крамаров С.О., Митясова О.Ю., Соколов С.В., Криптографическая защита информации : учеб. пособие — Москва : РИОР : ИНФРА-М, 2018. — 321 с. — (Высшее образование). — DOI: https://doi.org/10.12737/1716-6. - ISBN 978-5-16-106001-8. - Текст : электронный. - URL: https://new.znanium.com/catalog/product/901659
3. Кувшинов Д.Р., Основы программирования: учеб. пособие для СПО/Д.Р. Кувшинов.- М.: Издательство Юрайт,2018; Екатеринбург: Изд-во Урал. Ун-та.-105 с.- (Серия: профессиональное образование).
4. Кущ Т. А. Электронные учебные пособия [Электронный ресурс] //[сайт] Разработка электронного пособия/ URL: https://sites.google.com/site/razrabotkaelektronnogoposobia/home.
5. Медведев М.А., Программирование на СИ#: Учебное пособие / Медведев А.Н., - 2-е изд., стер. - М.:Флинта, Изд-во Урал. ун-та, 2017. - 64 с. ISBN 978-5-9765-3169-7 - URL: http://znanium.com/catalog/product/948428.
6. Митина, О.А. Программирование [Электронный ресурс]. Методические рекомендации / Т.Л. Борзунова. - М.: Альтаир-МГАВТ. - 2015. - 64 с. - URL: http://znanium.com/catalog.php?bookinfo=537931 .
7. Романьков, В. А. Введение в криптографию. Курс лекций / В.А. Романьков. — 2-е изд., испр. и доп. — Москва : ФОРУМ : ИНФРА-М, 2017. — 240 с. — (Высшее образование). - ISBN 978-5-16-105918-0. - Текст : электронный. - URL: https://new.znanium.com/catalog/product/914480
В объектно-ориентированном программировании и проектировании главной, отправной точкой является не процедура, не действие, а объект. Взаимодействие пользователя с компьютерной программой — это взаимодействие двух объектов — программы и человека, которые обмениваются друг с другом определенными сообщениями. Прикладная программа, построенная по принципам объектной ориентации — это не последовательность каких-то операторов, не некий жесткий алгоритм. Объектно-ориентированная программа — это совокупность объектов и способов их взаимодействия. Отдельным объектом при таком подходе во многих случаях можно считать пользователя программы. Обмен между объектами происходит посредством сообщений. Язык C# является объектно-ориентированным языком, но поддерживает также и компонентно-ориентированное программирование. Разработка современных приложений все больше тяготеет к созданию программных компонентов в форме автономных пакетов, реализующих отдельные функциональные возможности. Важная особенность таких компонентов — это модель программирования на основе свойств, методов и событий. Каждый компонент имеет атрибуты, предоставляющие декларативные сведения о компоненте, а также встроенные элементы документации. C# предоставляет языковые конструкции, непосредственно поддерживающие такую концепцию работы. Благодаря этому C# отлично подходит для создания и применения программных компонентов.