ВВЕДЕНИЕ
Криптография - это наука и искусство шифрования. Сегодня понятие криптографии расширилось и включает в себя аутентификацию, цифровые подписи и множество других элементарных функций безопасности. Криптография охватывает различные области математики, теории связи, технические дисциплины, создающие фундамент для построения защиты данных и взлома шифров.
Существует довольно много алгоритмов шифрования информации.
Наиболее известным из древних методов шифрования является шифр Цезаря, названный так в честь римского правителя Гая Юлия Цезаря, который использовал его для тайной переписки со своими генералами. Шифр Цезаря является одним из наиболее изученных в криптографии, и он очень полезен тем, что иллюстрирует принципы модульной арифметики, одной из математических основ кодированного письма. Принцип сокрытия информации в данном шифре довольно прост. Каждая буква в сообщении заменяется другой буквой, расположенной в алфавите на определенной позиции правее.
Для написания данной программы «Шифр Цезаря» используется среда программирования Delphi.
Основная цель данной работы - обучение. Обучающийся учится формировать постановку задач, составлять алгоритмы их решения и формализовать эти алгоритмы в популярной среде программирования. В ходе разработки программы обучающийся осваивает язык программирования Delphi.
Задачи данной работы:
1)Изучить теоретические сведения, нужные для решения данной задачи;
2) Систематизировать и обобщить полученные знания;
3)Разработать и испытать программу для шифрования и дешифрования кода Цезаря.
4) Провести тестирование и отладку программы.
В данной работе необходимо написать программу "шифр Цезаря", который считывает символы из набранного текса в программе и их шифрует или дешифрует. После чего результат выводит на экран.
Также одной из основных задач является обучение правильному оформлению документации программы, что немаловажно для специалиста.
Уровень сложности этой задачи позволяет ознакомиться с основными этапами написания реальных программ, и приобрести определенные навыки программирования.[1,2]
![]() |
ВЫБОР ЯЗЫКА И СРЕДЫ ПРОГРАММИРОВАНИЯ
Для разработки и написания кода был выбран язык программирования –Delphi.
Delphi - это объектно-ориентированная среда для визуального проектирования Windows приложений с развитыми механизмами повторного использования программного кода. Основным конкурентом Delphi является среда разработки Microsoft Visual C++, имеющая свои преимущества и недостатки, однако являющаяся более популярной, в основном, в силу того, что разработана именно фирмой Microsoft. Существенной чертой Delphi является компонентная модель разработки программных продуктов. Суть модели заключается в поддержке системой постоянно расширяемого набора объектных компонентов, из которых и строится программа. Компоненты в Delphi просты для использования и развития, как результат сокрытия значительной части той структуры программы, которая близка к взаимодействию с операционной системой. Таким образом, для создания в Delphi несложных программных продуктов совершенно не обязательно понимать внутреннюю структуру Windows-приложения, получаемого после разработки в Delphi. Достаточно просто уметь работать с некоторыми компонентами, поставляемыми вместе со средой разработчика. При этом начать работу со средой можно практически без предварительного ознакомления, а написание первого приложения не потребует углубления в особенности системы. Этому отчасти способствует удобный интерфейс среды разработчика, не перегруженный излишними вопросами к разработчику.
Система программирования Delphi рассчитана на программирование различных приложений и предоставляет большое количество компонентов для этого. К тому же работодателей интересует, прежде всего, скорость и качество создания программ, а эти характеристики может обеспечить только среда визуального проектирования, способная взять на себя значительные объемы рутинной работы по подготовке приложений, а также согласовать деятельность группы постановщиков, кодировщиков, тестеров и технических писателей. Возможности Delphi полностью отвечают подобным требованиям и подходят для создания систем любой сложности.[3]
Возможности Delphi:
1.быстрота разработки приложения;
2.высокая производительность разработанного приложения;
3.низкие требования разработанного приложения к ресурсам компьютера;
4.наращиваемость за счет встраивания новых компонентов и инструментов в среду Delphi.
5.удачная проработка иерархии объектов.
СТРУКТУРА ПРОГРАММЫ
Программу позволяет зашифровывать и расшифровывать с помощью «шифра Цезаря» сообщение, написанное на русском или английском языках. Этот шифр реализует следующее преобразование текста: каждая буква исходного текста заменяется ключевой буквой в алфавите.
Описание функций программы:
1) Шифрование русскоязычного и англоязычного текста при известном ключе;
2) Дешифрование русскоязычного и англоязычного текста при известном
ключе.
3) Результат выводится на экран группами по 6 символов
3.2 Структурные схемы алгоритма решения задачи(рис.1-6).
Рисунок 1. Общая блок-схема программы
Рисунок 2. Блок-схема функции шифрования текста
Рисунок 3. Блок-схема функции подготовки данных
Рисунок 4. Блок-схема функции дешифрования текста
Рисунок 5. Блок-схема функции вывода данных
Рисунок 6. Блок-схема программы в целом
ОСНОВНЫЕ СОСТАВЛЯЮЩИЕ
Memo - окно редактирования многострочного текста.
GroupBox - контейнер для размещения элементов управления или других компонентов-контейнеров.
Label - предназначен для показа текста на форме программы, которые не будет меняться в течение работы программы.
Button - представляет собой стандартную кнопку windows, инициирующее какое-то действие.
RadioButton -
это «радио кнопка», представляет собой
элемент управления отображающийся в виде кружка с текстом размешается на форме
как правила два и более переключателей.
Edit - предназначен для ввода пользовательских данных и представляет собой однострочное поле.[4]
ТЕСТИРОВАНИЕ ПРОГРАММЫ
При запуске программы на экран выводиться главное меню, которое содержит 3 текстовых поля:
1-ое поле предназначено для ввода текста который мы хотим зашифровать или расшифровать;
2-ое поле предназначено для ввода ключа, при помощи которого мы будем
зашифровывать(расшифровывать) набранный текст;
3-е поле предназначено для вывода результата проведенной нами операции (рис.7).
Рисунок 7. Главное меню программы
Вводим в 1-ое поле текст для зашифровки и во 2-ое поле ключ. Далее выбираем «Зашифровать» и нажимаем на кнопку «Начать»(рис.8).
Рисунок 8. Ввод данных для шифрования
После нажатия на кнопку «Начать» в 3-ем поле выводиться результат зашифрованного текста(рис.9).
Рисунок 9 . Вывод результата шифрования данных
После получения результата проверяем полученный зашифрованный текст.
Нажимаем на кнопку «Очистить», далее вводим в 1-ое поле полученный нами зашифрованный текст и во 2-ое поле вводим тот же ключ(рис.10).
Рисунок 10. Ввод данных для дешифрования
Нажимаем на кнопку «Начать» в 3-ем поле выводиться расшифрованный текст(рис.11).
Рисунок 11. Вывод результата дешифрования данных
ЗАКЛЮЧЕНИЕ
В результате выполнения данной работы были получены навыки составления алгоритма для поставленной задачи и воплощения этого алгоритма в текст программы, написанной в среде Delphi. А также было разработано программное средство, успешно решающее поставленную задачу, т.е. была написана программа, работающая в двух режимах, позволяющая шифровать и дешифровать тексты «методом Цезаря». Данная программа считывает данные из набранного текса в программе и шифрует или дешифрует их, результат выводит на экран компьютера.
Поставленные задачи были выполнены. Мы изучили теоритические сведения, необходимые для создания программы, разработали алгоритм для шифрования и дешифрования данных, протестировали программу и исправили ошибки.
Целевой аудиторией для данной программы могут быть школьники, студенты ВУЗов для обучения основам шифрования, а именно шифрованию и дешифрованию данных с помощью шифра Цезаря. А так же программу могут использовать преподаватели для проверки заданий по шифрованию и дешифрованию текстов шифром Цезаря и все желающие пользователи для своего досуга
В наше время кодирование информации стало очень популярной темой для обсуждения, так как оно необходимо для передачи информации по интернету (например, банковские операции), защите непосредственно компьютерных систем от несанкционированного доступа и т. п.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. Адаменко М.В. Основы
классической криптологии: секреты шифров и кодов, 2012. — 88 с.
2. Жуан Гомес Математики, шпионы и хакеры. Кодирование и
криптография, 2014. — 25—26 с.
3. Фленов М. Библия Delphi./М.Фленов – Питер,2007.-800с.
4. Радченко П.Н. Основы объектно-ориентированного программирования в среде Borland Delphi.Костанай,2012 -101с,111с
5. Григорьев А.Б. О чем не пишут в книгах по Delphi./ А.Б. Григорьев- БХВ-Петербург 2008.-576с.
6. Фленов М. Библия Delphi./М.Фленов – Питер,2007.-800с.
7. Озеров В. – Советы по Delphi (электронная книга).
8. Лафоре Р. Объектно-ориентированное программирование / Р. Лафоре – 4-е изд. – Питер.: 2010. – 587 с.
9. Рудикова Л.В. Базы данных. Разработка приложений /М.: БХВ-Петербург, 2008. - 365 с.
10. Основы программирования в Delphi 7. Никита Культин. БХВ-Петербург 2010.- 598 с.
11. Бакженова И.Ю. Delphi 7. Самоучитель программиста. 2008 год. 248 стр.
12. ФароновВ.В.Система программирования Delphi. 2007
13. Бобровский С.И. «Delphi 7. Учебный курс». 2008г. с.673
14. Тюкачев Н. и др. «Программирование в Delphi для начинающих». 2007г. с.672
15. Глушаков С.В., Клевцов А.Л. «Delphi2007. Самоучитель». 2008г с.354
16. Архангельский, А.И. Программирование в Delphi для Windows Версии 2006-2007 / А.И. Архангельский. - М.: Бином-Пресс, 2010. - 1248 c.
Скачано с www.znanio.ru
© ООО «Знанио»
С вами с 2009 года.