Курсовая работа : Компонент программного комплекса для шифрования/дешифрования данных 


Полнотекстовый поиск по базе:

Главная >> Курсовая работа >> Информатика, программирование


Компонент программного комплекса для шифрования/дешифрования данных




Введение

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

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

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

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

2. Требования к программе

2.1 Требования к функциональным характеристикам

Система должна обеспечивать возможность выполнения следующих функций:

  • Ввод исходных данных (с клавиатуры, из файла)

  • Выбор алгоритма шифрования/дешифрования

  • Сохранение зашифрованных данных

  • Дешифрование данных по исходному алгоритму шифрования

  • Сохранение дешифрованных данных в файл

2.2 Требования к надежности

Обеспечить целостность хранимой информации.

2.3 Требования к составу и параметрам технических средств

Система должна работать на IBM-совместимых персональных компьютерах. Минимальная конфигурация: тип процессора – Pentium и выше; объем ОЗУ – 32 Мб и выше.

2.4 Требования к информационной и программной совместимости

Система должна работать под управлением операционных систем семейства Windows, реализующих Win32 API.

3. Проектирование

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

Этот проект имеет однопользовательскую архитектуру, так как рассчитан на работу с одним пользователем.

Выбор языка и среды программирования

В качестве среды программирования был использован Borland Delphi 7, основанный на языке Object Pascal. Он был выбран, потому что он реализует возможность использования визуального программирования, что очень важно для данного проекта. Так же его могут использовать программисты со средним уровнем подготовки.

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

Выбор способа организации входных и выходных данных

1.Представление в оперативной памяти

Представление данных в оперативной памяти для программы «DQ_decoder» осуществляется через переменные(тип переменных указан в Приложении 2.)

Входные данные:

  • Ввод исходного текста с клавиатуры

  • Чтение текста из файла

Выходные данные:

  • Кодированный текст в диалоговом окне

2.Представление во внешней памяти

Выходные данные во внешней памяти в программе представлены в виде текстового файла. Имя выходного файла для программы «DQ_decoder» формируется самим пользователем.

3.Структурная схема программного продукта

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

4. Алгоритм представления задачи

шифрование программа текстовый замена

1)Ввод пользовательских данных;

2)Выбор способа шифрования/дешифрования;

3)Шифрование/дешифрование;

4)Вывод результата;

5)Сохранение результата в файл;

5. Проектирование пользовательского интерфейса

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

Интерфейс реализован в виде интерфейса-меню.(Рис. 4) Позволяет пользователю выбирать необходимые операции из специального списка, выводимого программой.

5.1 Тестирование в нормальных условиях

Тип контроля программы: ручной контроль.

Результаты предоставлены в Табл.1

Номер теста

Входные данные

Полученный результат

Зашифровано

Расшифровано

1.Шифрование с паролем(123)

Hello, World!

z˜ќћў, Љ ¤џ•S

Hello, World!

2.Шифрование перестановкой 1

Hello, World!

п2:@=%оъ=::3

Hello, World!

3.Шифрование перестановкой 2

Hello, World!

щ<DJG/шGDD=

Hello, World!

В результате тестирования было установлено , что программа работает исправно и выполняет возложенные на нее функции правильно.

5.2 Общие сведения о программном продукте

Программа «DQ_decoder» позволяет шифровать/дешифровать текстовые данные тремя способами (шифрование с паролем, шифрование перестановкой 1 , шифрование перестановкой 2). Исходные данные можно вводить с клавиатуры, а также из внешнего файла. Результат можно сохранить во внешний текстовый файл.

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

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

5.3 Описание запуска

Запустить программу можно несколькими способами:

  • Двойным щелчком по иконке «DQ_decoder»

  • Выбрать и запустить из меню «Пуск» пункт «Выполнить» и прописать полный путь до приложения (например D:\ProgramFiles\DQ_decoder\DQ_decoder.exe)

  • Нажать правой кнопкой мыши на иконке «DQ_decoder», и выбрать «Открыть».

5.4 Интерфейс

При загрузке программы «DQ_decoder» на экране появится окно. Это окно будет иметь вид, представленный на Рис. 6

Кнопки

  • «Кодировать» позволяет закодировать исходный текст по заданному алгоритму

  • «Декодировать» позволяет декодировать текст по заданному алгоритму

Меню

Окно программы имеет следующее меню, которое содержит вкладки:

  • Файл. В этой закладке есть пункты «Открыть», «Сохранить как», «Выход» с соответствующими функциями.

  • Справка. В этой закладке есть пункты «О программе», «Об авторе», «Инструкция» с соответствующими функциями.

Способ завершения работы

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

  • Стандартный способ принятый в OS Windows

  • Нажав на кнопку «Файл» - > «Выход».

Заключение

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

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

1. Государственный образовательный стандарт по направлению 654600 "Информатика и вычислительная техника" специальности 230105 "Программное обеспечение вычислительной техники и автоматизированных систем".

2. ГОСТ 2.105-79 Единая система конструкторской документации. Общие требования к текстовым документам.

3.ГОСТ 2.105-95 Единая система конструкторской документации. Общие требования к текстовым документам.

4. ГОСТ 7.1-84 Система стандартов по информации, библиотечному и издательскому делу. Библиографическое описание документа. Общие требования и правила составления.

5. ГОСТ 7.32-2001 Система стандартов по информации, библиотечному и издательскому делу. Отчет о научно-исследовательской работе. Структура и правила оформления.

6. Курсовое проектирование: Учебно-методическое пособие./ Живодерова В.В., - Дмитров: ДПК, 2005. - 67 с.

7. Интернет ресурсы (google.ru).

Приложение

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, ComCtrls, Menus;

type

TForm1 = class(TForm)

Button1: TButton;

Button2: TButton;

OpenDialog1: TOpenDialog;

SaveDialog1: TSaveDialog;

Edit1: TEdit;

GroupBox1: TGroupBox;

GroupBox2: TGroupBox;

GroupBox3: TGroupBox;

Label3: TLabel;

Label4: TLabel;

Label5: TLabel;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

RadioButton3: TRadioButton;

Button3: TButton;

Button4: TButton;

Button5: TButton;

Button6: TButton;

MainMenu1: TMainMenu;

N1: TMenuItem;

N2: TMenuItem;

N3: TMenuItem;

N4: TMenuItem;

N5: TMenuItem;

N6: TMenuItem;

N7: TMenuItem;

Memo1: TMemo;

Memo2: TMemo;

N8: TMenuItem;

procedure N8Click(Sender: TObject);

procedure N7Click(Sender: TObject);

procedure N6Click(Sender: TObject);

procedure N4Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure FormCreate(Sender: TObject);

procedure N3Click(Sender: TObject);

procedure N2Click(Sender: TObject);

procedure RadioButton3Click(Sender: TObject);

procedure RadioButton1Click(Sender: TObject);

procedure RadioButton2Click(Sender: TObject);

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

function Chislo: integer;

procedure Button6Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1; f,k:string; t:array[1..1000] of integer;

implementation

uses Unit2, Unit3, Unit4;

{$R *.dfm}

function TForm1.Chislo: integer;

var

i: integer;

begin

for i:=0 to Length(Edit1.Text) do

result:=result+Ord(Edit1.Text[i])+17;

end;

procedure TForm1.FormCreate(Sender: TObject);

begin

memo1.Text:='';

memo2.Text:='';

end;

procedure TForm1.N2Click(Sender: TObject);

begin

if OpenDialog1.Execute then

begin

f:=OpenDialog1.FileName;

Memo1.Lines.LoadFromFile(f);

end;

end;

procedure TForm1.N3Click(Sender: TObject);

begin

if SaveDialog1.Execute then

begin

k:=SaveDialog1.FileName;

Memo2.Lines.SaveToFile(k);

end;

end;

procedure TForm1.N4Click(Sender: TObject);

begin

close;

end;

procedure TForm1.N6Click(Sender: TObject);

begin

form2.visible:=true;

end;

procedure TForm1.N7Click(Sender: TObject);

begin

form3.visible:=true;

end;

procedure TForm1.N8Click(Sender: TObject);

begin

form4.visible:=true;

end;

procedure TForm1.RadioButton1Click(Sender: TObject);

begin

Button1.visible:=true;

Button2.visible:=true;

Button3.visible:=false;

Button4.visible:=false;

Button5.visible:=false;

Button6.visible:=false;

edit1.visible:=true;

end;

procedure TForm1.RadioButton2Click(Sender: TObject);

begin

Button1.visible:=false;

Button2.visible:=false;

Button3.visible:=true;

Button4.visible:=true;

Button5.visible:=false;

Button6.visible:=false;

edit1.visible:=false;

end;

procedure TForm1.RadioButton3Click(Sender: TObject);

begin

Button1.visible:=false;

Button2.visible:=false;

Button3.visible:=false;

Button4.visible:=false;

Button5.visible:=true;

Button6.visible:=true;

edit1.visible:=false;

end;

procedure TForm1.Button1Click(Sender: TObject);

var

d: byte;

i: integer;

begin

f:=memo1.Text;

k:=Edit1.Text;

for i := 1 to Length(f) do

if (f[i]<>' ')AND(f[i]<>'.')AND(f[i]<>';')AND(f[i]<>',') then

f[i]:=Chr( Ord(f[i])+Ord(k[i mod length(k)+1])mod 256) else f[i]:=f[i];

memo2.Text:=f;

end;

procedure TForm1.Button2Click(Sender: TObject);

var

d: byte;

i: integer;

begin

f:=memo1.Text;

for i := 1 to Length(f) do

if (f[i]<>' ') AND(f[i]<>'.')AND(f[i]<>';')AND(f[i]<>',') then

f[i]:=Chr((Ord(f[i])-Ord(Edit1.text[(i mod length(Edit1.text))+1]))mod 256);

memo2.Text:=f;

{ ProgressBar1.Max:=f.Size;

for i:=0 to f.Size-1 do

begin

f.Position:=i;

k.Position:=i;

f.Read(d,1);

d:=d-((i*85)-i+Chislo+28*i+(2*i+5-i-1));

k.Write(d,1);

ProgressBar1.Position:=i;

Application.ProcessMessages;

if Application.Terminated then Break;

end;

ProgressBar1.Position:=i;

k.Free;

f.Free; }

end;

procedure TForm1.Button3Click(Sender: TObject);

var i:longint;u,t:integer; y,w,o:string;

begin

f:=memo1.Text;

k:=Edit1.Text;

for i := length(f) downto 1 do

begin

y:=y+f[i];

end;

for i:=1 to length(f) do

begin

u := Ord(y[i]) ;

u:=u-50;

w:=w+chr(u);

end;

memo2.Text:=w;

memo2.Text:=w;

end;

procedure TForm1.Button4Click(Sender: TObject);

var i,u:integer; y,w,o:string;

begin

f:=memo2.Text;

for i := length(f) downto 1 do

begin

y:=y+f[i];

end;

for i:=1 to length(f) do

begin

u := Ord(y[i]) ;

u:=u+50;

w:=w+chr(u);

end;

memo2.Text:=w;

end;

procedure TForm1.Button5Click(Sender: TObject);

var i,u:integer; y,w,o:string;

begin

f:=memo1.Text;

for i := length(f) downto 1 do

begin

y:=y+f[i];

end;

for i:=1 to length(f) do

begin

u := Ord(y[i]) ;

u:=u-40;

w:=w+chr(u);

end;

memo2.Text:=w;

end;

procedure TForm1.Button6Click(Sender: TObject);

var i,u:integer; y,w,o:string;

begin

f:=memo1.Text;

for i := length(f) downto 1 do

begin

y:=y+f[i];

end;

for i:=1 to length(f) do

begin

u := Ord(y[i]) ;

u:=u+40;

w:=w+chr(u);

end;

memo2.Text:=w;

end;

end.

Похожие работы:

  • Средства защиты данных

    Реферат >> Информатика, программирование
    ... для шифрования, дешифрования информации ... для шифрования реальных данных. Шифрование обеспечивает самый высокий уровень безопасности данных. Как в аппаратном, так и в программном ... Для защиты от нарушителя-профессионала поможет комплекс программно ... компоненты, ...
  • Информатика и программное обеспечение ПЭВМ

    Учебное пособие >> Информатика, программирование
    ... пользователем. Типичные программные компоненты информационных систем ... ее дешифрования и выполнения. Входные данные поступают ... совокупность программ и программных комплексов для обеспечения работы компьютера ... служит модуль шифрования данных. Драйвер порта ...
  • Баричев С. Криптография без секретов

    Реферат >> Информатика, программирование
    ... В симметричных криптосистемах и для шифрования, и для дешифрования используется один и тот ... за­кры­тия данных мо­жет осу­ще­ст­в­лять­ся как про­грамм­но, так ... не­пре­мен­ным ком­по­нен­тов всех ... слу­чае вы­бран­ный ком­плекс крип­то­гра­фи­че­ских ме­то­дов ...
  • Криптография

    Дипломная работа >> Информатика, программирование
    ... для шифрования, и для дешифрования ... данных мо­жет осу­ще­ст­в­лять­ся как про­грамм­но ... шиф­ро­ва­ния они не по­зво­ля­ют обес­пе­чить ау­тен­ти­фи­ка­цию дан­ных. По­это­му сред­ст­ва ау­тен­ти­фи­ка­ции долж­ны ис­поль­зо­вать­ся в ком­плек­се ... ком­по­нен­тов ...
  • Компьютерные преступления и методы защиты информации

    Курсовая работа >> Информатика, программирование
    ... и эксплуатации программно-вычислительных комплексов, приведшая к ... на системы шифрования/дешифрования данных. Средства защиты ... для решения проблем, возникающих в ходе работы с компьютером, и оптимизации его производительности. Набор программных компонентов ...
  • Комплексная защита информации

    Курсовая работа >> Информатика, программирование
    ... проектирования различных компонентов сложных систем. ... 2.Программные средства — это специальные программы и программные комплексы, предназначенные для ... шифрования (дешифрования) реализуется только этим специальным ключом. Чтобы обмен зашифрованными данными ...
  • Оценка и анализ структуры системы защиты информации

    Курсовая работа >> Коммуникации и связь
    ... на ее компоненты.1 Объектом исследования ... Программные средства – специализированные программы и программные комплексы, предназначенные для защиты ... шифрования (дешифрования) определяется только этим специальным ключом. Чтобы обмен зашифрованными данными ...
  • Современные методы защиты информации

    Реферат >> Информатика, программирование
    ... разрушения ее компонентов. Иначе говоря ... т.п. Программные средства — это специальные программы и программные комплексы, предназначенные для защиты ... шифрования (дешифрования) реализуется только этим специальным ключом. Чтобы обмен зашифрованными данными ...
  • Разработка системы управления работой коммерческой компании

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

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