Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Реферат. Криптографические методы. Без титульника..docx
Скачиваний:
137
Добавлен:
06.02.2016
Размер:
334.34 Кб
Скачать

Герасименко в.А., Размахнин м.К. "Криптографические методы в автоматизированных системах" Зарубежная радиоэлектроника,1982,n8

2. Сяо Д., Керр Д., С.Мэдник "Защита ЭВМ",М.,Мир,1982 - рассмотрены практически все аспекты защиты информации в вычислительных и автоматизированных системах.

3. Хоффман Л.Дж. Современные методы защиты информации. М.,Сов.радио, 1980 - наиболее полная и серьезная монография по теории и практике защиты информации

4. Джефф П.Р. Электроника,1973,т.46,N1 - шифрование данных методом гаммирования.

5. Уолкер Б.Дж., Блейк Я.Ф. Безопасность ЭВМ и организация их защиты.-М.:Связь,1980 - рассматриваются криптографические методы защиты информации, защита данных в файлах или базах данных.

6. Мануильямс Ф.Ж.,Слоан Н.Дж. ТИИЭР,1976,т.64,N12 - детально описаны способы формирования и свойства псевдослучайных последовательностей, которые используются при шифровании данных методом гаммирования.

Стандарт шифрования данных Data Encryption Standard

Источники:

Алгоритмы шифрования.-[Электронный ресурс].Режим доступа:http://www.connect.ru/article.asp?id=5113

Страничка классических блочных шифров.-[Электронный ресурс].Режим доступа:http://www.enlight.ru/crypto/frame.htm

Начинающим.-[Электронный ресурс].Режим доступа:http://wincrypt.chat.ru/begin.html

Приложение

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.