Разработка прикладной программы по шифрованию файлов

Автор работы: Пользователь скрыл имя, 26 Ноября 2012 в 11:47, дипломная работа

Описание работы

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

Файлы: 1 файл

Пояснительная записка.doc

— 1.10 Мб (Скачать файл)

1. Определены требования к планировке рабочего места:

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

2. Определены требования к монитору:

  • Диагональ 19 дюймов, разрешение 1024 х 768 точек, размер зерна 0,24 мм, частота развертки 85 Гц, соответствие стандартам ТСО’99 и ISO 9001;
  • Рабочие места установлены так, что сотрудники не попадают в опасную зону излучения задней панели монитора.

3. Произведен расчет оптимального  освещения:

  • Необходимый световой поток составляет 19800 лм;
  • Осветительная установка состоит из четырех светильников по четыре лампы ЛБ80 в каждом светильнике;
  • Светильники располагаются в два ряда параллельно стенам с окнами;
  • Потребляемая мощность осветительной установки составляет 1280 Вт.

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

 

ЗАКЛЮЧЕНИЕ

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

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

В проектной  части дипломного проекта была разработана криптографическая программа CRYPTO_XOR. В качестве основного средства для разработки программы использовалась среда визуального программирования Borland Delphi 7. Программа CRYPTO_XOR позволяет шифровать типы файлов c расширением .txt . «Сердцем» криптографической программы является криптоалгоритм. Разработанная криптографическая программа является завершенной комплексной моделью, способной производить двусторонние криптопреобразования над данными произвольного объема. Шифрование файлов осуществляется по оригинальному алгоритму с использованием симметричного ключа, который формируется на основании пароля, введенного пользователем. В результате хеширования пароля ключ достигает необходимой длины. Алгоритм шифрования является блочным шифром, то есть информация шифруется блоками определенной длины. Шифрование каждого последующего блока данных зависит от всех предыдущих. В процессе шифрования происходит также сжатие данных, что обеспечивает еще большую надежность шифрования, так как между зашифрованными блоками данных отсутствует корреляционная зависимость. Временная задержка в проверке пароля не позволяет злоумышленникам узнавать пароль методом полного перебора. Расшифровка зашифрованного файла возможна только при правильно введенном пароле, который использовался при шифровании этого файла.

В экономической части дипломного проекта была рассчитана экономическая  эффективность проекта. Экономическая  эффективность от внедрения криптографической  защиты информации заключается в  предотвращении возможных убытков от хищения или подмены информации. Затраты на создание программного продукта составляют 137064.66 тенге. Эти затраты являются незначительными и составляют 0,18 % годовой себестоимости автотранспортных услуг.

В то же время, хищение или подмена  информации может привести к негативным последствиям:

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

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

 

СПИСОК ЛИТЕРАТУРЫ

    1. Автоматизированные информационные технологии в экономике. Учебник. Под. ред. проф. Г.А. Титоренко. – М.: Юнити, 2000
    2. Алферов А.: Основы криптографии. Учебное пособие. – СПб.: БХВ – Петербург, 2002
    3. Байбурин В.Б.: Введение в защиту информации. – СПб.: БХВ – Петербург, 2004
    4. Безопасность жизнедеятельности. Учебник для вузов. С.В. Белов, А.В. Ильницкая, А.Ф. Козьяков и др. Под общ. ред. С.В. Белова. 2-е изд., испр. и доп. – М.: Высш. шк., 1999
    5. Бухгалтерский учет. Богаченко В.М., Кириллова Н.А. – Ростов н/Д: Феникс, 2001
    6. Введение в защиту информации в автоматизированных системах. Учебное пособие для вузов. Малюк А.А., Пазизин С.В., Погожин Н.С. 2-е изд. – СПб.: БХВ – Петербург, 2004
    7. Вдовенко Л.А.: Системно-информационный подход к оценке экономической деятельности промышленных предприятий. – М.: Финансы и статистика, 1996
    8. Вирт Н.: Алгоритмы и структуры данных. Пер. с англ. – М.: Мир, 2005
    9. Кокорева О.И.: Реестр Windows XP. – СПб.: БХВ – Петербург, 2004
    10. Комягин В.Б.: 1С: Бухгалтерия 7.7 в вопросах и ответах. Самоучитель. Учебное пособие. – СПб.: БХВ – Петербург, 2004
    11. Кондраков Н.П.: Бухгалтерский учет. Учебное пособие. 4-е изд., перераб. и доп. – М.: ИНФРА-М, 2001
    12. Культин Н.Б.: C++ Builder 6. Программирование на Object Pascal. – СПб.: БХВ – Петербург, 2001
    13. Назарова С.В.: Локальные вычислительные сети. – М: Финансы и статистика, 1995
    14. Нанс Б.: Компьютерные сети. – М.: Бином, 1996
    15. Немнюгин С.А.: Turbo Pascal: Практикум. – СПб.: Питер, 2001
    16. Основы современной криптографии. Баричев С.Г., Гончаров В.В., Серов Р.Е. – СПб.: БХВ – Петербург, 2001
    17. Принципы разработки программного обеспечения. Зелковиц М., Шоу А., Гэннон Д. Пер. с англ. – М.: Мир, 1992
    18. Савицкая Г.В.: Анализ хозяйственной деятельности предприятия. Учебник. 2-е изд., испр. и доп. – М.: Инфра-М, 2003
    19. Справочная книга для проектирования электрического освещения. Под. ред. Кнорринга Г.Н. – М.: Энергия, 1996
    20. Фаронов Д.Е.: Профессиональная работа в C++ BUILDER 6. Библиотека программиста. – СПб.: БХВ – Петербург, 2002
    21. Фокс Д.: Программное обеспечение и его разработка. Пер. с англ. – М.: Мир, 1995
    22. Хорошева А.Б., Кремлева В.Г.: 1С: Бухгалтерия 7.7 редакция 4.4. Краткий практический курс для начинающего пользователя. Учебное пособие. – СПб.: БХВ – Петербург, 2003
    23. Экономика, разработка и использование программного обеспечения ЭВМ. Благодатских В.А., Енгибарян М.А., Ковалевская Е.В. и др. – М.: Финансы и статистика, 1995

 

ПРИЛОЖЕНИЕ  А

 

Блок-схема алгоритма программы

 

Рисунок A.1 Общая блок-схема алгоритма программы

 

Продолжение приложения А

 

 

Рисунок A.2 Продолжение общей блок-схемы алгоритма программы

 

ПРИЛОЖЕНИЕ В

Экранные формы программы  CRYPTO_XOR

 

Рисунок В.1- Главная форма

 

Рисунок В.2 - Форма «Открытие файла»

 

Рисунок В.3 - Форма «Шифрование»

 

Рисунок В.4 Вид шифрованного файла

 

Рисунок В.5 Форма «Дешифровать»

Рисунок В.6 Вид расшифрованного  файла

Как создавалась программа

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

С помощью среды программирования DELPHI создаем форму нашей программы.

 

 

 

 

 

 

 

 

Для этого открываем  программу (рис. В.7):

 

Рисунок В.7 - запуск DELPHI

 

На форму помещаем компонент label со страницы Standard (рис. В.8)

Рисунок В.8 - размещение компонентов на форму

 

В нижней левой части  в свойстве Caption вписываем, Введите ключ (рис.В.9)

 

Рисунок В.9 - заполнение свойств

Аналогичным образом  выставляем и заполняем свойства и для label2 и label3 (рис.В.10)

 

 

Рисунок В.10 - забивание формы

 

Со страницы Standard помещаем компонент Edit и в свойстве Text очищаем поле (рис. В.11)

Рисунок В.11 - работа с компонентом Edit

Аналогичным образом  выставляем  Edit2 и Edit3 (рис. В.12)

Рисунок В.12 - забивание формы

 

Со страницы Standard помещаем компонент CheckBox и в свойстве Caption пишем шифровать (рис. В.13)

 

Рисунок В.13 - следующий компонент программы

Также создаем кнопку дешифровать (рис. В.14)

 

Рисунок В.14 - создание кнопки дешифровать

 

Со страницы Standard помещаем компонент Button и в свойстве Caption пишем ОК (рис. В.15)

 

Рисунок В.15 - создание кнопки ОК

 

Далее идет написание криптоалгоритма.

 

 

 

 

 

 

ПРИЛОЖЕНИЕ Д

 

Листинг основного криптоалгоритма

unit XOR_unit;

 

interface

 

uses

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

  Dialogs, StdCtrls, Buttons, ComCtrls, ExtCtrls;

 

type

  TForm1 = class(TForm)

    Button1: TButton;

    Edit1: TEdit;

    Edit2: TEdit;

    Label1: TLabel;

    Label2: TLabel;

    SpeedButton1: TSpeedButton;

    Button2: TButton;

    OpenDialog1: TOpenDialog;

    ProgressBar1: TProgressBar;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure SpeedButton1Click(Sender: TObject);

    procedure Edit1KeyPress(Sender: TObject; var Key: Char);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

procedure TForm1.Button1Click(Sender: TObject);

var key,text,longkey,result:string;

i:integer;

toto:char;

f,temp:textfile;

begin

if Edit1.Text='' then exit;

AssignFile(f,Edit2.Text);

if not FileExists(Edit2.Text) then

  begin

   ShowMessage('Ôàéë íå  ñóùåñòâóåò!');

   Exit;

  end;

AssignFile(temp,GetCurrentDir+'\temp.txt');

Rewrite(temp);

Reset(F);

key:=Edit1.Text;

while not (eof(f)) do

begin

  Readln(f,text);

  for i := 0 to (length(text) div length(key)) do

   longkey := longkey + key;

  for i := 1 to length(text) do

   begin

    // XOR àëãîðèòì

    toto := chr((ord(text[i]) xor ord(longkey[i])));

    result := result + toto;

   end;

  Writeln(temp,result);

  result:='';

  ProgressBar1.Position:=ProgressBar1.Position+1;

  sleep(25);

end;

CloseFile(f);

DeleteFile(Edit2.Text);

CopyFile(PChar(GetCurrentDir+'\temp.txt'), PChar(Edit2.Text), false);

 CloseFile(temp);

//DeleteFile(GetCurrentDir+'\temp.txt');

ProgressBar1.Position:=0;

end;

 

procedure TForm1.Button2Click(Sender: TObject);

var key,text,longkey,result:string;

i:integer;

toto:char;

f,temp:textfile;

begin

if Edit1.Text='' then exit;

AssignFile(f,Edit2.Text);

if not FileExists(Edit2.Text) then

  begin

   ShowMessage('Ôàéë íå  ñóùåñòâóåò!');

   Exit;

  end;

AssignFile(temp,GetCurrentDir+'\temp.txt');

Rewrite(temp);

Reset(F);

key:=Edit1.Text;

while not (eof(f)) do

begin

  Readln(f,text);

  for i := 0 to (length(text) div length(key)) do

   longkey := longkey + key;

  for i := 1 to length(text) do

   begin

    // XOR àëãîðèòì

    toto := chr((ord(text[i]) xor ord(longkey[i])));

    result := result + toto;

   end;

  Writeln(temp,result);

  result:='';

  ProgressBar1.Position:=ProgressBar1.Position+1;

  sleep(25);

end;

CloseFile(f);

DeleteFile(Edit2.Text);

CopyFile(PChar(GetCurrentDir+'\temp.txt'), PChar(Edit2.Text), false);

CloseFile(temp);

DeleteFile(GetCurrentDir+'\temp.txt');

ProgressBar1.Position:=0;

end;

 

procedure TForm1.SpeedButton1Click(Sender: TObject);

begin

if OpenDialog1.Execute then Edit2.Text:=OpenDialog1.FileName;

end;

 

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);

begin

if not( Key in ['0'..'9', Chr( VK_BACK )] ) then Key := #0;

end;

 

end.


Информация о работе Разработка прикладной программы по шифрованию файлов