Криптографическое преобразование конфеенциальной информации представленной в виде файлов по методу Гронсфельда

Автор работы: Пользователь скрыл имя, 20 Ноября 2011 в 15:04, курсовая работа

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

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

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

1.Введение ..……………………....…………………………………………..2
2.История метода..………..…….…………………….....................................3 3.Актуальность и Проблематика программы.. ………………….……..…..4
4.Математическая модель.………………….………………………………..5
5.Блок схема алгоритма работы программы.……………………………….6
6.Описание Интерфейса……………………………………………………..10
7.Описание работы программы……………………………………………..13
8.Вывод……………………………………………………………………….18
9.Список литературы…………………….……………

Файлы: 1 файл

Сабитов Т.Р. Курсовая Метод Гронсфельда.doc

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

    Для этой кнопки выставлен выделяющийся стиль Italic Bold, что подчёркивает её важность.

    9- Объект «TBitBtn», кнопка при нажатии на которую, будет происходить выход из приложения. Для этой кнопки выставлен выделяющийся красный цвет и стиль Bold, что подчёркивает её важность а сам тип TBitBtn учитывает остдельное оформление кнопки, для этой выставлено оформление bkClose, что подчёркивает её важность.

    10- Объект «MainMenu», объект главного меню, в котором выставлена кнопка «Помощь», при нажатии на которую на экран будет выводиться отдельная форма со справкой т.е указанием как пользоваться приложением, на форме справки в MainMenu1 выставлена кнопка «Выход», закрывающая форму.

    11- Объект «OpenDialog», невидимый пользователю компонент, запускающий открытие используемого файла, запускающийся от процедуры нажатия кнопки.

    12- Объект «SaveDialog», невидимый пользователю компонент, запускающий сохранение результирующего файла, запускающийся от процедуры нажатия кнопки.

    13- Объект «TMemo», текстовое поле, предназначенное для вывода справочной информации на форме «Справка».  

       В основном  всё действие программы происходит  на одной главной форме.

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

        Принцип  работы программы такой: 

    1. После нажатия кнопки «Открыть» открывается диалоговое окно выбора файла, посредством использования компонента «OpenDialog».
    2. После выбора файла адрес к этому файлу записывается в свойство Text Компонента «Labeled Edit1».
    3. При нажатии кнопки «Сохранить» открывается диалоговое окно сохранения файла, посредством использования компонента «SaveDialog».
    4. После выбора результирующего файла адрес к этому файлу записывается в свойство Text Компонента «Labeled Edit2».
    5. Далее вводится ключевое слово.
    6. После ввода ключевого слова нажимается кнопка «Шифровать». При нажатии этой кнопки адреса к файлам из LabeledEdit1,2 связываются с переменными, обозначающими файлы, причём если в этих компонентах ничего не указано, то будет выведено сообщение об ошибке.Далее происходит чтение байт из первого файла, сложение их с кодом символа ключа и запись во второй файл. При завершении процедуры происходит вывод сообщения «Шифрование Завершено».
    7. Процесс дешифровки подобен, но при выборе файлов исходным будет шифрованный, и вместо сложения числа байт с кодом символа, будет происходить вычитание. Следует напомнить что чтобы дешифрованный файл был читаемым его разрешение должно быть таким же как и у исходного файла.
    8. Для справки можно нажать на кнопку главного меню первой формы. Откроется вторая форма, с компонентом «Мемо», Текст Справки в который передаётся с нажатием кнопки открытия справки. Выход их формы справки осуществляется посредством нажатия подобной кнопки на главном меню.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

     

7. Описание работы программы

  Чтобы проверить работает программа или нет, произведём шифрование текстового файла, содержащего в себе произвольный текст. 
 

  1. При запуске  программы на экране появится главная форма(рис.6).

Рис.6 Форма Метода Гронсфельда.

  1. Для начала выберем исходный файл нажатием на кнопку открыть(рис.7).

 

Рис.7 Кнопка открытия исходного файла. 

  1. В появившемся  окне выберем файл который будем  шифровать (Рис.8)
 
 

 

Рис. 8 Открытие Файла 

  1. На главной  форме появится путь исходного файла (Рис. 9)
 

     

Рис. 9 Форма с выбранным исходным файлом 
 
 

  1. Нажмём на кнопку сохранить, чтобы выбрать результирующий файл (рис.10).
 

 
 

Рис.10 Кнопка выбора результирующего файла. 

  1. Выберем директорию и введём имя результирующего файла, расширение предлагается ввести пользователю (но для дешифровки ОБЯЗАТЕЛЬНО знать расширение исходного файла, что повышает сложность взлома информации).
 
 
  1. После выбора результирующего файла мы увидим его путь, т.е. куда он будет сохранён. (Рис. 11)
 

     
     

Рис. 11 Форма с выбранным результирующим файлом 

  1. Далее пишем  ключ на основе которого будет идти шифровка, например слово «текст». (Рис. 12)
 

     

Рис. 12 Форма с Набранным ключом 

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

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

 

Рис. 13 Заполененная форма процесса Дешифрования 
 

Так же для пользователей добавлен пункт  «Справка» который открывается  через кнопку «Помощь» в меню. (Рис. 14) 

 

Рис. 14 Форма  окна справки 
 

Покажем наглядно, как происходит процесс шифрования. Зашифруем фразу «Метод Гронсфельда», за ключевое слово возьмём «текст»:

 

  1. Буква «М», символ буквы «204» + символ ключа «т(242)»будет символ «190».
  2. «е(229)» + «е(229)»= «202».
  3. «т(242)» + «к(234)»= «220».
  4. «о(238)» + «с(241)»= «223».
  5. «д(228)» + «т(242)»= «214».
  6. «_(32)» + «т(242)»= «18».
  7. «Г(195)» + «е(229)»= «168».
  8. «р(240)» + «к(234)»= «218».
  9. «о(238)» + «с(241)»= «223».
  10. «н(237)» + «т(242)»= «223».
  11. «с(241)» + «т(242)»= «227».
  12. «ф(244)» + «е(229)»= «217».
  13. «е(229)» + «к(234)»= «207».
  14. «л(235)» + «с(241)»= «220».
  15. «ь(252)» + «т(242)»= «238».
  16. «д(228)» + «т(242)»= «214».
  17. «а(224)» + «е(229)»= «197».
 

    
 
 
 
 

8. Вывод

 

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

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

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

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

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

9.Список используемой литературы 

  1. А. В. Яковлев, А. А. Безбогов, В. В. Родин, В. Н. Шамкин «Криптографическая защита информации».
  2. . http://academout.ru/courseworks/information1/3.php

    3. http://ru.wikipedia.org/wiki/%D0%9F%D0%BE%D0%BB%D0%B8%D0%B0%D0%BB%D1%84%D0%B0%D0%B2%D0%B8%D1%82%D0%BD%D1%8B%D0%B9_%D1%88%D0%B8%D1%84%D1%80 
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     

10.Приложение

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

unit Unit1;

{$mode objfpc}{$H+}

interface

uses

  Classes, SysUtils, FileUtil, LResources, Forms, Controls, Graphics, Dialogs,

  ExtCtrls, StdCtrls, Buttons, ComCtrls, Menus;

type

  { TForm1 } 

  TForm1 = class(TForm)

    BitBtn1: TBitBtn;

    Button1: TButton;

    Button2: TButton;

    Button3: TButton;

    Button4: TButton;

    LabeledEdit1: TLabeledEdit;

    LabeledEdit2: TLabeledEdit;

    LabeledEdit3: TLabeledEdit;

    MainMenu1: TMainMenu;

    MenuItem1: TMenuItem;

    OpenDialog1: TOpenDialog;

    SaveDialog1: TSaveDialog;

    procedure Button1Click(Sender: TObject);

    procedure Button2Click(Sender: TObject);

    procedure Button3Click(Sender: TObject);

    procedure Button4Click(Sender: TObject);

    procedure MenuItem1Click(Sender: TObject);

  private

    { private declarations }

  public

    { public declarations }

  end;  

var

  Form1: TForm1;

implementation

uses Unit2;

{ TForm1 } 

procedure TForm1.Button1Click(Sender: TObject);

begin

if form1.OpenDialog1.Execute then

form1.LabeledEdit1.Text:=form1.OpenDialog1.FileName; 

end; 

procedure TForm1.Button2Click(Sender: TObject);

begin

  if form1.SaveDialog1.Execute then

   form1.LabeledEdit2.Text:=form1.SaveDialog1.FileName;

end; 

procedure TForm1.Button3Click(Sender: TObject);

var

i,j,size,q,k:integer;

stcol:byte;

f1,f2:file of byte;

b1,b2:array[0..4095] of byte;

st,x:string;

begin

if (form1.LabeledEdit3.Text='')or (form1.LabeledEdit1.Text='')or (form1.LabeledEdit2.Text='')then

begin

showmessage('Не  выбранны используемые файлы  или не введён ключ.Процесс  не будет выполнен!');

 exit;

end;

  x:=form1.LabeledEdit1.Text;

  st:=form1.LabeledEdit3.Text;

  stcol:=length(st);

    AssignFile(f1,form1.LabeledEdit1.Text);

    AssignFile(f2,form1.LabeledEdit2.Text);

    reset(f1);

    rewrite(f2);

      while not eof(f1) do

        begin

          if (fileSize(x)-filepos(f1))>4095 then

            size:=4095

Информация о работе Криптографическое преобразование конфеенциальной информации представленной в виде файлов по методу Гронсфельда