Разработка приложения для Windows, представляющего собой текстовый редактор с функциями шифрования по методу Цезаря

Автор работы: Пользователь скрыл имя, 09 Февраля 2014 в 10:58, курсовая работа

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

ХХ век - век информатики и информатизации. Технология дает возможность передавать и хранить все большие объемы информации. Это благо имеет и оборотную сторону. Информация становится все более уязвимой по разным причинам:
• возрастающие объемы хранимых и передаваемых данных;
• расширение круга пользователей, имеющих доступ к ресурсам ЭВМ, программам и данным;
• усложнение режимов эксплуатации вычислительных систем.

Содержание

Введение ……………………………………………………………………….3
1 Разработка эскизного и технического проектов программы ……………..4
1.1 Задание ………………………………………………………………4
1.2 Назначение и область применения ………………………………..5
1.3 Технические характеристики ………………………………………5
2 Разработка рабочего проекта ……………………………………………….9
2.1 Разработка программы ……………………………………………..9
2.2 Спецификация программы ………………………………………...10
2.3 Текст программы …………………………………………………..11
2.4 Тестирование программы ………………………………………….14
Заключение …………………………………………………………………….16
Список литературы ……………………………………………………………17

Прикрепленные файлы: 1 файл

курсовая - программирование на языке выс. уровня в СГА.doc

— 182.50 Кб (Скачать документ)

Основные данные о работе

Версия шаблона

1.1

Филиал

Красноярский

Вид работы

Курсовая работа

Название дисциплины

Программирование на языке высокого уровня

Тема

Разработка приложения для Windows, представляющего  собой текстовый редактор с функциями шифрования по методу Цезаря

Фамилия студента

 

Имя студента

 

Отчество студента

 

№ контракта

 

 

 

Содержание

Введение  ……………………………………………………………………….3

1 Разработка  эскизного и технического проектов  программы ……………..4

1.1 Задание ………………………………………………………………4

1.2 Назначение и область применения ………………………………..5

1.3 Технические характеристики  ………………………………………5

2 Разработка  рабочего проекта ……………………………………………….9

2.1 Разработка программы  ……………………………………………..9

2.2 Спецификация программы  ………………………………………...10

2.3 Текст программы  …………………………………………………..11

2.4 Тестирование программы  ………………………………………….14

Заключение  …………………………………………………………………….16

Список литературы ……………………………………………………………17

 

 

Введение

ХХ век - век информатики и  информатизации. Технология дает возможность  передавать и хранить все большие объемы информации. Это благо имеет и оборотную сторону. Информация становится все более уязвимой по разным причинам:

  • возрастающие объемы хранимых и передаваемых данных;
  • расширение круга пользователей, имеющих доступ к ресурсам ЭВМ, программам и данным;
  • усложнение режимов эксплуатации вычислительных систем.

Поэтому все большую важность приобретает  проблема защиты информации от несанкционированного доступа (НСД) при передаче и хранении.

Испытанный метод защиты информации от НСД - шифрование (криптография). Шифрованием называют процесс преобразования открытых данных в зашифрованные или зашифрованных данных в открытые по определенным правилам с применением ключей.

В данной работе делается попытка  рассмотреть основы возможностей среды  разработки Delphi 7 для создания приложений реализующих алгоритм шифрования. В данном случае для наглядной реализации был выбран алгоритм Цезаря.

Система шифрования Цезаря - частный случай шифра простой замены. Метод основан на замене каждой буквы сообщения на другую букву того же алфавита, путем смещения от исходной буквы на K букв.

 

Основная часть

1 Разработка  эскизного и технического проектов  программы 

Произведем разработку эскизного  и технического проекта программы  в соответствии с ГОСТ 19.404–79.

1.1 Задание

В процессе изучения предметной области  и соответствующей литературы было принято решение об установлении темы работы в следующем виде:

«Разработка приложения для Windows, представляющего собой текстовый редактор с функциями шифрования по методу Цезаря»

В соответствии с данной темой принято  следующее задание:

«Написать программу, которая позволяет зашифровывать и расшифровывать с помощью «шифра Цезаря» сообщение, написанное на русском языке.

Данный шифр реализует следующее преобразование текста: каждая буква исходного текста заменяется третьей (или любой другой выбранной) после нее буквой в алфавите, который считается написанным по кругу»

 

1.2 Назначение и область применения

Назначение программы можно  условно разделить на две основных группы:

    • пользовательские возможности;
    • возможности программиста.

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

Возможности программиста заключаются  в благоприятной возможности изучить прием программирования с использованием методов шифрования. В данном случае шифрования по методу Цезаря.

Необходимо отметить, что программа созданная в среде разработки Delphi 7 предназначена только для использования в операционной системе Windows.

1.3 Технические характеристики

Технические характеристики могут  быть последовательно изложены в  пунктах постановки задачи, описания алгоритмов а так же входных и выходных файлов (при необходимости) и выбора состава технических средств.

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

Разработать программное обеспечение для Windows имеющий графический интерфейс пользователя, предоставляющий возможность вводить текст сообщения подлежащего шифрованию, устанавливать величину сдвига (параметр ключ) и так же выбирать направление из двух возможностей шифрование и дешифрование.

Решение данной задачи представляет собой использование представления алфавита как замкнутой цепи (см. рис.1) как для заглавных, так и для строчных букв русского алфавита.

Таким образом, при вводе сообщения «яяя» и при ключе равном «2» зашифрованное сообщение будет иметь вид: «ббб»

     

Рис.1 Представление алфавита как  замкнутого круга

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

Описание алгоритма

Описание алгоритма происходит от общего описании принципа работы до уточнения конкретных функций до тех пор пока их действия не будут предельно ясны.

В данной программе решаются три независимые друг от друга подзадачи:

    • Шифрование;
    • Дешифрование;
    • Выбор ключа сдвига (ключа).

Каждая из подпрограмм требует дополнительные детализации и пояснения. Функция выбора ключа сдвига может быть представлена как служебная так как подходит и для дешифровании и шифрования.

В первую очередь разберем алгоритм шифрования:


 






 








Алгоритм дешифрования полностью  эквивалентен алгоритму шифрования

Организация входных  и выходных данных

Приведенный алгоритм не накладывает  ограничений на использование любого набора входных данных.

Основные требования по заданию:

  • Русский язык;
  • Разделители слов пробелы.

Выбор состава технических  и программных средств

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

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

Среда программирования Delphi 7 позволяет реализовать поставленную задачу со всеми необходимыми требованиями. В среде используется язык Object Pascal. Delphi 7 является объектно-ориентированной средой, что упрощает создание  стандартизированного интерфейса.

 

 

2 Разработка  рабочего проекта

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

2.1 Разработка программы

Разрабатываемое приложение будет содержать одно окно:

Рис.2 Проектирование окна приложения

При разработки данного окна используются следующие компоненты:

  • TForm;
  • TLabel;
  • TButton;
  • TEdit;
  • TMemo.
  • TRadioButton

Ко всем компонентам кроме  TButton применены только визуальные настройки: изменение размера, смена имени и т.д.

Компонент TButton используется для запуска работы основного алгоритма. Два компонента RadioButton используются как вспомогательные в качестве способа выбора направления работы алгоритма. Наконец с помощью компонента Edit можно задать размер шага сдвига.

2.2 Спецификация программы

Рабочий состав проекта приведен в  Таб. 1

Таблица 1

Наименование 

Обозначение

Примечание

Cesar.exe

Исполняемый файл программы

Используется для запуска программы

Project1.cfg

Файл конфигурации проекта

Хранит настройки

Project1.dof

Файл параметров проекта

Содержит установки проекта

Project1.dpr

Файл проекта

Связывает все файлы

Project1.res

Файл ресурсов программы

 

Unit1.dcu

Объектный файл

 

Unit1.ddp

Вспомогательный файл формы

 

Unit1.dfm

Файл формы

 

Unit1.pas

Файл исходного кода

 

 

 

 

2.3 Текст программы

unit Unit1;

interface

uses

  Windows,  SysUtils, Variants, Classes,   Forms,

   StdCtrls, Controls, Buttons;

type

  TForm1 = class(TForm)

    Button1: TButton;

    Edit1: TEdit;

   RadioButton1: TRadioButton;

    RadioButton2: TRadioButton;

    Memo1: TMemo;

    Memo2: TMemo;

    Label1: TLabel;

    Label2: TLabel;

    Label3: TLabel;

    Label4: TLabel;

    Label5: TLabel;

    procedure Button1Click(Sender: TObject);

  private

   { Private declarations }

  public

    { Public declarations }

  end;

var

  Form1: TForm1; // глобальные переменные

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

var

ishod,preobr,temp:string; //строковые переменный

sdvig,a,b,c,d:integer; //целочисленные переменные

begin

ishod:='';

preobr:='';

b:=0;

c:=0;

sdvig:=strtoint(Edit1.text); // считываем сдвиг

if (RadioButton2.Checked) then

  begin

  ishod:=memo1.Lines.Text; // берем текст из мемо 1

  for a:=1 to length(ishod) do  // запускаем цикл

    begin

    b:=ord(ishod[a])+sdvig; // проверяем  не за сдвигом ли буковка

    if b > 255 then  // если  за  сдвигом то

      begin

      c:=b-255; // расчитываем  какая она по счету за сдвигом

      preobr:=preobr+chr(224+c-1); // берем  со сдвигом

      end

      else // если не за  сдвигом

      begin

      preobr:=preobr+chr((ord(ishod[a])+sdvig));// то просто шифруем

      end;

    end;

  memo2.Lines.Add(preobr);  // выводим в мемо 2

  end;

if (RadioButton1.Checked) then   // если выбран метод дешифрования

  begin

  ishod:=memo1.Lines.Text;   // копируем строку

  for a:=1 to length(ishod) do

    begin

    b:=ord(ishod[a])-sdvig;  // проверяем  не за сдвигом ли буква

    if b < 224 then

      begin

      c:=224-b;

      preobr:=preobr+chr(255-c+1);  // если да то смотрим какая

      end

      else

      begin

      preobr:=preobr+chr(((ord(ishod[a])-sdvig)));// если нет то просто расшифровываем

      end;

    end;

    for d:=1 to length(preobr) do // цикл нахождения пробелов

    begin

    if (ord(preobr[d]) < 192) or (ord(preobr[d]) > 255) then preobr[d]:=' ';

    end;

    memo2.Lines.Add(preobr);// выводим в мемо 2

  end;

end;

end.

2.4 Тестирование программы

Проведем демонстрацию работы программы  на нескольких наборах данных.

Рис. 3 Простой пример работы программы: функция шифрования

Рис. 4 Сложный пример работы программы: шифрование нескольких слов 

Рис. 5 Результат работы программы  для функции дешифрование при  ключе «2» 

Рис. 5 Результат работы программы  для функции дешифрование при ключе «3»

 

Заключение

В данной работе были рассмотрены  возможности среды разработки Delphi по созданию приложений для Windows.

Было создано приложение, отвечающее поставленным целям, а именно выполнения алгоритма шифрования по методу Цезаря.

Для создания данного приложения была проведена работа по проектированию алгоритмов и изучению предметной области.

Так же было создано рабочее окно, содержащие все необходимые визуальные компоненты для управления программой пользователем.

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

Глоссарий

№ п/п

Понятие

Определение

В данной колонке разместите порядковые номера понятий глоссария.

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

Количество строк в  таблице должно строго соответствовать  количеству внесенных в нее понятий. Пустых строк в таблице быть не должно.

В данной колонке разместите колонке понятия глоссария.

В данной колонке разместите определения понятий глоссария.


 

Список использованных источников

1

Архангельский, А. Я. Приемы программирования в Delphi на основе VCL [Текст] / А. Я. Архангельский. – М. : Бином-Пресс,2006. – 933 с.

2

Фленов, М. Библия Delphi [Текст] / М. Фленов. – СПб. : БХВ –Петербург, 2004. – 880 с.

3

Парижский, С.М. Delphi Учимся на примерах [Текст] / С.М. Парижский. – Киев: МК-Пресс, 2005. – 216 с.

4

 

5

 

6

 

7

 

8

 

9

 

10

 

Информация о работе Разработка приложения для Windows, представляющего собой текстовый редактор с функциями шифрования по методу Цезаря