МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ
«БАРАНОВИЧСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
Факультет ________________ инженерный ______________________________________
Кафедра __________ информационные системы и технологии __________________
Дата регистрации работы в деканате _________
Дата регистрации работы на кафедре _________
Отметка о допуске к защите _________
Оценка за защиту _________
КУРСОВАЯ РАБОТА
по дисциплине _ Основы алгоритмизации и программирования _______________
Тема: «Обработка текстовой информации в среде Delphi»
Исполнитель:
студент 1 курса группы ИСТ-11_
Студент (факультет, курс, группа)
Гуринович Алексей Игоревич
Фамилия, имя, отчество
Руководитель:
Старший преподаватель_________
Ученое звание, ученая степень, должность,
Раковцы Галина Михайловна__ _
Фамилия, имя, отчество
Барановичи 2012
МИНИСТЕРСТВО ОБРАЗОВАНИЯ РЕСПУБЛИКИ БЕЛАРУСЬ
УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ
«БАРАНОВИЧСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»
РЕЦЕНЗИЯ
на курсовую работу (проект)
(регистрационный №_____)
Студента
_______
(фамилия, имя, отчество)
Факультет _______
Курс ________________
Дисциплина
_______
Рецензент
_______
(фамилия, имя, отчество)
Дата получения к/р для рецензирования _____________________________________
Дата возвращения к/р после рецензирования _________________________________
Оценка______________ Подпись преподавателя-рецензента ____________________
Текст рецензии:
_______
_________________________________________________
_________________________________________________
_________________________________________________
_________________________________________________
_________________________________________________
_________________________________________________
_________________________________________________
_________________________________________________
Р Е Ф Е Р А Т
Курсовая работа: 20 с., 9 иллюстраций, 4 источника.
ПРОГРАММА ДЛЯ ОБРАБОТКИ ТЕКСТОВОЙ ИНФОРМАЦИИ, ШИФРОВКА И ДЕШИФРОВКА ТЕКСТА, КРИПТОГРАФИЧЕСКАЯ СИСТЕМА, КЛЮЧ.
Объект исследования – возможности среды объектно-ориентированного программирования Delphi для осуществления шифровки текста.
Цель работы – написать программу, которая выполняет шифровку-дешифровку текста.
При выполнении работы использованы методы исследования: изучение литературы, методы синтеза и анализа.
Практическая значимость этой работы заключается в том, что пользователь получит возможность зашифровать конфиденциальную информацию.
Автор подтверждает, что приведенный в работе расчетно-аналитический материал правильно и объективно отражает состояние исследуемого процесса, а все заимствованные из литературных и других источников теоретические, методологические и методические положения и концепции сопровождаются ссылками на их авторов.
________________________
(подпись студента)
СОДЕРЖАНИЕ
ВВЕДЕНИЕ. 5
1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ. 7
1.1 Постановка задачи. 7
1.2 Математическая модель. 7
1.3 Алгоритм решения. 8
1.4 Блок-схема. 9
2. ПРАКТИЧЕСКАЯ ЧАСТЬ. 11
2.1. Описание объектов, свойств и методов. 11
2.2 Формы и основные модули текста программы в среде Delphi 12
2.3 Результат тестирования программного продукта. 16
2.4 Анализ полученных результатов. 18
ЗАКЛЮЧЕНИЕ. 19
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ.. 20
ПРИЛОЖЕНИЕ А.. 21
ВВЕДЕНИЕ
Проблема защиты информации путем ее преобразования, исключающего ее прочтение посторонним лицом, волновала человеческий ум с давних времен. С широким распространением письменности криптография стала формироваться как самостоятельная наука.
Криптография - это наука об обеспечении безопасности данных. Она занимается поисками решений четырех важных проблем безопасности - конфиденциальности, аутентификации, целостности и контроля участников взаимодействия.
История криптографии - ровесница истории человеческого языка. Более того, первоначально письменность сама по себе была
криптографической системой, так как в древних обществах ею владели только избранные. Священные книги Древнего Египта, Древней Индии тому примеры.
Первые криптосистемы встречаются уже в начале нашей эры. Так, Цезарь в своей переписке использовал уже более менее систематический шифр, получивший его имя.
Бурное развитие криптографические системы получили в годы
первой и второй мировых войн. Начиная с послевоенного времени и по нынешний день появление вычислительных средств ускорило разработку и совершенствование криптографических методов.
Актуальность этой науки не угасает с момента основания человеческого языка. Особенно в нашей эры компьютеров требуется обеспечение конфиденциальности информации, невозможности прочтения ее посторонними лицами.
Цель курсовой работы – осуществить шифровку текста с помощью средств Delphi.
Для достижения названной цели в исследовании необходимо решить следующие задачи:
- осуществить постановку задач;
- создать блок-схемы алгоритмов;
- осуществить описание объектов, свойств, методов;
- разработать формы и представить текст программы;
- привести результаты тестирования программного продукта.
Для выполнения этих задач будем использовать среду объектно-ориентированного программирования Delphi.
Основное достоинство Delphi состоит в том, что здесь реализованы идеи визуального программирования. Среда визуального программирования превращает процесс создания программы в приятное и легко понимаемое конструирование приложения из большого набора графических и структурных примитивов.
Курсовая работа состоит из теоретической и практической части. Теоретическая часть состоит из: постановки задачи; математической модели; алгоритма решения задачи и блок. Практическая часть состоит из: описания объектов, свойств и методов; формы и основных модулей текста программы в среде Delphi; результата тестирования программного продукта; графического представления результатов; анализа полученных результатов.
К работе прилагается электронный носитель информации.
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ
Постановка задачи
В данной курсовой работе требуется создать Windows-приложение на алгоритмическом языке Object Pascal в среде визуального программирования Delphi, которое предназначена для шифрования текста следующим образом:
для шифрования текста используется метод, основанный на сложении текста и пароля: "мой текст" + "пароль" = ('м'+'п')('о'+'а')... То есть каждый символ получают путем сложения соответствующих символов текста и пароля. Под "сложением символов" подразумевается сложение номеров этих символов. Обычно пароль длиннее текста, поэтому его размножают: "парольпар". Чтобы расшифровать текст, нужно проделать обратную операцию, то есть из текста вычесть пароль.
Математическая модель
В качестве информации, подлежащей шифрованию и дешифрованию, будут рассматриваться тексты, построенные на некотором алфавите. Под этими терминами понимается следующее.
Алфавит - конечное множество используемых для кодирования информации знаков.
Текст - упорядоченный набор из элементов алфавита.
В качестве примеров алфавитов, используемых в современных ИС можно привести следующие:
- алфавит Z33 - 32 буквы русского алфавита и пробел;
- алфавит Z256 - символы, входящие в стандартные коды ASCII и КОИ-8;
- бинарный алфавит - Z2 = {0,1};
- восьмеричный алфавит или шестнадцатеричный алфавит.
Шифрование - преобразовательный процесс: исходный текст, который носит также название открытого текста, заменяется шифрованным текстом.
Дешифрование - обратный шифрованию процесс. На основе ключа шифрованный текст преобразуется в исходный.
Ключ - информация, необходимая для беспрепятственного шифрования и дешифрования текстов.
На рисунке 1.1 показана блок-схема процедуры шифрования файлов.
Рисунок 1.1 — Процедура шифрования файлов
Алгоритм решения
Для шифровки текста используем цикл, в котором будут наращиваться два аргумента и происходить процесс вставки символов в исходный текст. Первый будет индексом символов исходного текста, а второй – индекс символа в ключе шифровки. То есть первой букве в тексте будет соответствовать первая буква в слове-ключе. Так как слово-пароль обычно меньше исходного текста, при достижении циклом конца слова он возвращается на его начало и продолжает процесс шифровки.
Для дешифровки текста проверим ключ путем извлечения строки, отвечающей за пароль, из текста и сравнения ее с размноженным до длины извлеченной строки предполагаемого пароля. При правильности условия программа вычтет эту строку из зашифрованного текста и тем самым расшифрует текст.
Блок-схема
На рисунке 1.2 представлена блок-схема процесса шифровки, где t – это текст, который будет результатом шифровки, str – исходный текст, w – слово-пароль, а i и k – это индексы для строк str и w соответственно.
Рисунок 1.2 — Блок-схема алгоритма шифрования текста
На рисунке 1.3 представлена блок-схема процесса дешифровки, в процессе которого сначала проверяется введенный ключ, а затем идет сам процесс дешифровки, где t – это текст, который будет результатом дешифровки, str – зашифрованный текст, w – предполагаемое слово-пароль, w0 – строка размноженного пароля, извлеченная из зашифрованного текста, w1 - строка размноженного предполагаемого пароля, а i и k используются как индексы.
Рисунок 1.3 — Блок-схема алгоритма дешифровки текста
2. ПРАКТИЧЕСКАЯ ЧАСТЬ
Описание объектов, свойств и методов
В ходе составления программы были использованы следующие объекты с их свойствами:
Label - текстовая метка (надпись) на форме. Используется для отображения любого текста в окне. Текст задаётся в свойстве Caption.
Edit - поле ввода. Используется для ввода любых данных (текста, числа и т.д.), представленных одной строкой. Текст хранится свойством Text. Свойство MaxLength позволяет задать максимальное число символов, которое может быть введено в поле. Значение 0 означает, что ограничение не установлено.
Memo - многострочный Edit. Используется для ввода больших объёмов текста. Свойство ReadOnly делает этот объект нередактируемым. Свойство ScrollBars позволяет указать полосы прокрутки, которые будут отображаться у поля при недостатке места для всего текста:
•ssNone - без полос прокрутки;
•ssHorizontal - горизонтальная полоса прокрутки;
•ssVertical - вертикальная;
•ssBoth - обе: и горизонтальная, и вертикальная.
Button – командная кнопка. Caption - текст на кнопке.
Компоненты OpenDialog — диалог «Открыть файл» и SaveDialog — диалог «Сохранить файл как...». Все свойства этих компонентов одинаковы, только их смысл несколько различен для открытия и закрытия файлов. Основное свойство, в котором возвращается в виде строки выбранный пользователем файл, — FileName. Типы искомых файлов, появляющиеся в диалоге в выпадающем списке "Тип файла", задаются свойством Filter.