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

Автор работы: Пользователь скрыл имя, 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 Кб (Скачать файл)
ustify">          else

            size:=(fileSize(x)-filepos(f1));

           blockread(f1,b1,size,q);

            for i:=0 to size-1 do

              begin

                if j>stcol then

                j:=1;

                b2[i]:=b1[i]+ord(st[j]);

                inc(j);

              end;

            blockwrite(f2,b2,size,q);

        end;

    CloseFile(f1);

    CloseFile(f2);

    showmessage('шифрование завершено');

end; 

procedure TForm1.Button4Click(Sender: TObject);

var

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

stcol:byte;

f1,f2:file of byte;

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

st,y:string;

begin

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

begin

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

 exit;

end;

y:=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(y)-filepos(f1))>4095 then

            size:=4095

          else

            size:=(fileSize(y)-filepos(f1));

           blockread(f1,b1,size,q);

            for i:=0 to size-1 do

               begin

                if j>stcol then

                j:=1;

                b2[i]:=b1[i]-ord(st[j]);

                inc(j);

               end;

            blockwrite(f2,b2,size,q);

         end;

    CloseFile(f1);

    CloseFile(f2);

    showmessage('Дешифрование завершено');

end; 

procedure TForm1.MenuItem1Click(Sender: TObject);

begin

  form2.show;

end;

initialization

  {$I unit1.lrs}

end. 

unit Unit2;  

{$mode objfpc}{$H+} 

interface 

uses

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

  StdCtrls, Menus; 

type 

  { TForm2 } 

  TForm2 = class(TForm)

    MainMenu1: TMainMenu;

    Memo1: TMemo;

    MenuItem1: TMenuItem;

    procedure FormCreate(Sender: TObject);

    procedure MenuItem1Click(Sender: TObject);

  private

    { private declarations }

  public

    { public declarations }

  end;  

var

  Form2: TForm2;  

implementation

uses unit1; 

{ TForm2 } 

procedure TForm2.FormCreate(Sender: TObject);

var

s,s1:string;

begin

  form2.Memo1.Clear;

  s:='Чтобы зашифровать Файл необходимо выбрать Исходный Файл, затем "Результирующий Файл"(куда будет сохраняться шифрованная информация).';

  s1:='После  этого нужно ввести "Ключевое  слово" и нажать на кнопку "ШИФРОВАТЬ".Дешифрование Происходит  таким же образом.';

  form2.Memo1.Lines.Add(s);

  form2.Memo1.Lines.Add(s1);

end; 

procedure TForm2.MenuItem1Click(Sender: TObject);

begin

  form2.Close;

end; 

initialization

  {$I unit2.lrs} 

end.

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