Формы и основные модули текста программы в среде Delphi

Автор работы: Пользователь скрыл имя, 13 Марта 2013 в 17:33, курсовая работа

Краткое описание

Цель курсовой работы – осуществить шифровку текста с помощью средств Delphi.
Для достижения названной цели в исследовании необходимо решить следующие задачи:
- осуществить постановку задач;
- создать блок-схемы алгоритмов;
- осуществить описание объектов, свойств, методов;
- разработать формы и представить текст программы;
- привести результаты тестирования программного продукта.

Содержание работы

ВВЕДЕНИЕ 6
1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 8
1.1 Постановка задачи 8
1.2 Математическая модель 8
1.3 Алгоритм решения 9
1.4 Блок-схема 10
2. ПРАКТИЧЕСКАЯ ЧАСТЬ 12
2.1. Описание объектов, свойств и методов 12
2.2 Формы и основные модули текста программы в среде Delphi 13
2.3 Результат тестирования программного продукта 17
2.4 Анализ полученных результатов 20
ЗАКЛЮЧЕНИЕ 21
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 22
ПРИЛОЖЕНИЕ А 23

Содержимое работы - 1 файл

Мой курсач_1.docx

— 961.50 Кб (Скачать файл)

 

 

 

Р Е Ф Е Р А Т

 

Курсовая  работа: 22 с., 12 иллюстраций, 7 источников.

ТЕКСТ,  КРИПТОГРАФИЧЕСКАЯ СИСТЕМА, КЛЮЧ, ШИФРОВКА, ДЕШИФРОВКА.

Предмет исследования – возможности среды объектно-ориентированного программирования Delphi для осуществления шифровки текста.

Цель работы – написать программу, которая выполняет шифровку-дешифровку текста.

 При выполнении работы использованы  методы исследования: изучение литературы, методы синтеза и анализа.

Практическая значимость этой работы заключается в том, что пользователь получит возможность зашифровать  конфиденциальную информацию.

 Автор подтверждает, что приведенный в работе расчетно-аналитический материал правильно и объективно отражает состояние исследуемого процесса, а все заимствованные из литературных и других источников теоретические, методологические и методические положения и концепции сопровождаются ссылками на их авторов.

 

 

                ________________________

                  (подпись студента)

 

 

 

 

 

 

 

СОДЕРЖАНИЕ

ВВЕДЕНИЕ 6

1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 8

1.1  Постановка задачи 8

1.2  Математическая модель 8

1.3 Алгоритм решения 9

1.4 Блок-схема 10

2. ПРАКТИЧЕСКАЯ ЧАСТЬ 12

2.1. Описание объектов, свойств и методов 12

2.2 Формы и основные модули текста программы в среде Delphi 13

2.3 Результат тестирования программного продукта 17

2.4 Анализ полученных результатов 20

ЗАКЛЮЧЕНИЕ 21

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 22

ПРИЛОЖЕНИЕ А 23

 

 

 

ВВЕДЕНИЕ

Проблема защиты информации путем ее преобразования, исключающего ее прочтение посторонним лицом, волновала человеческий ум с давних времен. С широким распространением письменности криптография стала формироваться как самостоятельная наука.

Криптография - это наука об обеспечении безопасности данных. Она занимается поисками решений  четырех важных проблем безопасности - конфиденциальности, аутентификации, целостности и контроля участников взаимодействия. [6]

История криптографии - ровесница истории  человеческого языка. Более того, первоначально письменность сама по себе была криптографической системой, так как в древних обществах ею владели только избранные. Священные книги Древнего Египта, Древней Индии тому примеры. [7]

Первые  криптосистемы встречаются уже  в начале нашей эры. Так, Цезарь в  своей переписке использовал  уже более менее систематический шифр, получивший его имя.

Бурное  развитие криптографические системы получили в годы первой и второй мировых войн. Начиная с послевоенного времени и по нынешний день появление вычислительных средств ускорило разработку и совершенствование  криптографических методов.

Актуальность  этой науки не угасает с момента  основания человеческого языка. Особенно в нашей эры компьютеров  требуется обеспечение конфиденциальности информации, невозможности прочтения  ее посторонними лицами.

Цель  курсовой работы – осуществить шифровку текста с помощью средств Delphi.

Для достижения названной цели в исследовании необходимо решить следующие задачи:

- осуществить постановку задач;

- создать блок-схемы алгоритмов;

- осуществить описание объектов, свойств, методов;

- разработать формы и представить текст программы;

- привести результаты тестирования программного продукта.

  Для  выполнения этих задач будем  использовать среду объектно-ориентированного программирования Delphi.

  Основное достоинство Delphi состоит в том, что здесь реализованы идеи визуального программирования. Среда визуального программирования превращает процесс создания программы в приятное и легко понимаемое конструирование приложения из большого набора графических и структурных примитивов.

  Курсовая работа состоит из теоретической и практической части. Теоретическая часть состоит из: постановки задачи; математической модели; алгоритма решения задачи и блок. Практическая часть состоит из: описания объектов, свойств и методов; формы и основных модулей текста программы в среде Delphi; результата тестирования программного продукта; графического представления результатов; анализа полученных результатов.

К работе прилагается электронный  носитель информации.

 

 

 

 

 

 

 

 

 

1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ

1.1  Постановка задачи

 

В данной курсовой работе требуется  создать Windows-приложение на алгоритмическом языке Object Pascal в среде визуального программирования Delphi, которое предназначена для шифрования текста следующим образом:

для шифрования текста используется метод, основанный на сложении текста и пароля: "мой текст" + "пароль" = ('м'+'п')('о'+'а')... То есть каждый символ получают путем сложения соответствующих символов текста и пароля. Под "сложением символов" подразумевается сложение номеров этих символов. Обычно пароль длиннее текста, поэтому его размножают: "парольпар". Чтобы расшифровать текст, нужно проделать обратную операцию, то есть из текста вычесть пароль.

 

1.2  Математическая модель

 

В качестве информации, подлежащей шифрованию и  дешифрованию, будут рассматриваться тексты, построенные на некотором алфавите. Под этими терминами понимается следующее.

Алфавит - конечное множество используемых для кодирования информации знаков.

Текст - упорядоченный набор из элементов алфавита.

В качестве примеров алфавитов, используемых в  современных ИС можно привести следующие:

- алфавит Z33 - 32 буквы русского алфавита и пробел;

- алфавит Z256 - символы, входящие в стандартные коды ASCII и КОИ-8;

- бинарный алфавит - Z2 = {0,1};

- восьмеричный алфавит или шестнадцатеричный алфавит.

Шифрование - преобразовательный процесс: исходный текст, который носит также название открытого текста, заменяется шифрованным текстом.

Дешифрование - обратный шифрованию процесс. На основе ключа шифрованный текст преобразуется в исходный.

Ключ - информация, необходимая для беспрепятственного шифрования и дешифрования текстов.

На рисунке 1.1 показана блок-схема процедуры шифрования файлов.                

 

Рисунок 1.1 — Процедура шифрования файлов

 

1.3 Алгоритм решения

 

Для шифровки текста используем цикл, в котором будут наращиваться два аргумента и происходить процесс вставки символов в исходный текст. Первый будет индексом символов исходного текста, а второй – индекс символа в ключе шифровки. То есть первой букве в тексте будет соответствовать первая буква в слове-ключе. Так как слово-пароль обычно меньше исходного текста, при достижении циклом конца слова он возвращается на его начало и продолжает процесс шифровки.

Для дешифровки текста проверим ключ путем извлечения строки, отвечающей за пароль, из текста и сравнения ее с размноженным до длины извлеченной строки предполагаемого пароля. При правильности условия программа вычтет эту строку из зашифрованного текста и тем самым расшифрует текст.

1.4 Блок-схема

На рисунке 1.2 представлена блок-схема процесса шифровки, где t – это текст, который будет результатом шифровки, str – исходный текст, w – слово-пароль, а i и k – это индексы для строк str и w соответственно.

 

Рисунок 1.2 — Блок-схема алгоритма шифрования текста

 

На рисунке 1.3 представлена блок-схема процесса дешифровки, в процессе которого сначала  проверяется введенный ключ, а  затем идет сам процесс дешифровки, где t – это текст, который будет результатом дешифровки, str – зашифрованный текст, w – предполагаемое слово-пароль, w0 – строка размноженного пароля, извлеченная из зашифрованного текста, w1 - строка размноженного предполагаемого пароля, а i и k используются как индексы.

              

Рисунок 1.3 — Блок-схема алгоритма  дешифровки текста

2. ПРАКТИЧЕСКАЯ ЧАСТЬ

2.1. Описание объектов, свойств и методов

В ходе составления программы были использованы следующие объекты с их свойствами:

Label - текстовая метка (надпись) на форме. Используется для отображения любого текста в окне. Текст задаётся в свойстве Caption.

Edit - поле ввода. Используется для ввода любых данных (текста, числа и т.д.), представленных одной строкой.  Текст хранится свойством Text. Свойство MaxLength позволяет задать максимальное число символов, которое может быть введено в поле. Значение 0 означает, что ограничение не установлено.

Memo - многострочный Edit. Используется для ввода больших объёмов текста. Свойство ReadOnly делает этот объект нередактируемым. Свойство ScrollBars позволяет указать полосы прокрутки, которые будут отображаться у поля при недостатке места для всего текста:

•ssNone - без полос прокрутки;

•ssHorizontal - горизонтальная полоса прокрутки;

•ssVertical - вертикальная;

•ssBoth - обе: и горизонтальная, и вертикальная.

Button – командная кнопка. Caption - текст на кнопке.

Компоненты OpenDialog — диалог «Открыть файл» и SaveDialog — диалог «Сохранить файл как...». Все свойства этих компонентов одинаковы, только их смысл несколько различен для открытия и закрытия файлов. Основное свойство, в котором возвращается в виде строки выбранный пользователем файл, — FileName. Типы искомых файлов, появляющиеся в диалоге в выпадающем списке "Тип файла", задаются свойством Filter.

2.2 Формы и основные  модули текста программы в  среде Delphi

При решении  поставленной задачи будут использованы следующие объекты (рисунок 2.1)

 

Рисунок 2.1 – Объекты программы

Примечание  – источник: собственная разработка

 

Button1..6 - командные кнопки;

Label1..3 – информационные метки;

Edit1 – поле ввода ключа шифра;

Memo1..2 – многострочные текстовые редакторы;

OpenDialog1 – диалог открытия файлов;

SaveDialog1 – диалог сохранения файлов.

 

Данные  объекты размещены нами на форме  пользовательского интерфейса, которая  представлена на рисунке 2.2 и 2.3.

 

 

 

 

Рисунок 2.2 – Форма пользовательского  интерфейса в режиме шифровки

 

Рисунок 2.3 – Форма пользовательского  интерфейса в режиме дешифровки

 

Главной кнопке «Зашифровать»/«Дешифровать»  назначим программный код:

 

procedure TForm1.Button1Click(Sender: TObject);

var w,w0,w1: string; i,k: integer;

begin

str:=Memo1.Text; memo2.Text:=''; w0:=''; w:=Edit1.Text;

if (w='') or (str='') then begin MessageDlg('Присутствуют пустые поля',mtInformation, [mbOK], 0);

exit; end;

if Button1.Caption='Зашифровать' then begin k:=1;

for i:=1 to Length(str) do begin

Memo2.Text:=Memo2.Text+str[i]+w[k];

k:=k+1;

if k>length(w) then k:=1;

end;

end

else begin

  if op then for i:=1 to Length(str) do

 if (str[i]=#$A) then  Delete(str,i,1);

for i:=1 to Length(str) do

if not (odd(i)) then w0:=w0+str[i];

k:=1;

for i:=1 to length(w0) do begin

w1:=w1+w[k];

k:=k+1;

if k>length(w) then k:=1; end;

if w1=w0 then begin

for i:=1 to length(str) do  begin

if (str[i]=#$D) and (op) then Memo2.Text:=Memo2.Text+#10;

if odd(i) then Memo2.Text:=Memo2.Text+str[i]; end; end

else MessageDlg('Неправильный ключ', mtWarning, [mbcancel],0); exit;  end;

op:=false;

end;

 

Кнопка «<-->» отвечает за переключение между режимами программы. Ей назначим код:

procedure TForm1.Button2Click(Sender: TObject);

begin

if Label1.Caption='Исходный текст' then begin

Label1.Caption:='Зашифрованный текст';

Label2.Caption:='Исходный текcт';

Button1.Caption:='Дешифровать';

end

else

begin

Label1.Caption:='Исходный текст';

Label2.Caption:='Зашифрованный текст';

Button1.Caption:='Зашифровать';

end; end;

 

 

После создания приложения приступим к его тестированию.

 

 

 

2.3 Результат тестирования  программного продукта

Для проверки правильности работы программы мы зашифруем какое-нибудь одно слово, чтобы с легкостью  проверить правильность результата вручную.

Запишем в поле «Исходный текст» слово «Мобильник», а в поле «Слово-пароль» - «кот» и нажмем кнопку «Зашифровать» (рисунок 2.4)

Рисунок 2.4 – Шифрование слова при помощи программы.

Зашифровав слово ручным методом  и с помощью программы, мы убедились  в правильности ее работы.

Проверим работу программы, зашифровав большой текст, а затем проведя обратный процесс.

Шифровка  представлена на рисунке 2.5.

Рисунок 2.5 – Диалоговое окно программы после процесса шифровки

 

Проверим способность  программы сохранять текст в  файл и открывать его из файла. Нажмем кнопку «Сохранить в файл», введем имя для файла с исходным текстом и файла с зашифрованным текстом. На рисунке 2.6 показан открытый файл с исходным текстом.

Рисунок 2.6 – Результат сохранения текста

Так как кодировка  зашифрованного текста не определяется блокнотом, то этот файл можно открыть  с помощью Microsoft Word. В результате мы увидим следующий текст, отображенный на рисунке 2.7.

Рисунок 2.7 – Результат сохранения зашифрованного текста

Выполним обратный процесс с зашифрованным текстом, поменяв режим работы, открыв зашифрованный текст из файла и введя ключ шифровки. Следует заметить, что программа проведет процесс дешифровки только при правильном ключе шифровки, иначе будет выведено сообщение «Неверный ключ» (рисунок 2.8).

Информация о работе Формы и основные модули текста программы в среде Delphi