Автор работы: Пользователь скрыл имя, 20 Ноября 2011 в 15:04, курсовая работа
Историю криптографии можно считать равной по возрасту истории существования письменности, потому что именно с появлением письменности возникла потребность придумывать различные способы для хранения информации в виде, доступном только для определённого круга лиц. Люди, от которых информация утаивалась, искали всяческие способы расшифровать закодированные сообщения.
1.Введение ..……………………....…………………………………………..2
2.История метода..………..…….…………………….....................................3 3.Актуальность и Проблематика программы.. ………………….……..…..4
4.Математическая модель.………………….………………………………..5
5.Блок схема алгоритма работы программы.……………………………….6
6.Описание Интерфейса……………………………………………………..10
7.Описание работы программы……………………………………………..13
8.Вывод……………………………………………………………………….18
9.Список литературы…………………….……………
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='')
begin
showmessage('Не выбранны используемые файлы или не введён ключ.Процесс не будет выполнен!');
exit;
end;
y:=form1.LabeledEdit1.Text;
st:=form1.LabeledEdit3.Text;
stcol:=length(st);
AssignFile(f1,form1.
AssignFile(f2,form1.
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.