Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364139
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62791)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21319)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21692)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8692)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3462)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20644)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

Реферат: Гибридная система шифрования ГСШ-11

Название: Гибридная система шифрования ГСШ-11
Раздел: Рефераты по информатике
Тип: реферат Добавлен 13:32:29 02 июня 2011 Похожие работы
Просмотров: 29 Комментариев: 20 Оценило: 2 человек Средний балл: 5 Оценка: неизвестно     Скачать

Курский Государственный Университет

Кафедра программного обеспечения и администрирования информационных систем

КУРСОВАЯ РАБОТА

по дисциплине «Программно-аппаратная защита информации»

Тема: Гибридная система шифрования (ГСШ-11)

Выполнила:

студент гр. 52 Ковалёв К.Н.

Принял:

д.т.н., профессор Лопин В.Н.

Курск 2009

СОДЕРЖАНИЕ

1. ЗАДАНИЕ НА ПРОЕКТИРОВАНИЕ .. 3

2. ЛИСТИНГ ПРОГРАММЫ ... 4

3. РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ ГСШ-11 . 15


1. ЗАДАНИЕ НА ПРОЕКТИРОВАНИЕ

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

При выполнении курсовой работы использовать представленную ниже структуру гибридной системы шифрования (ГСШ):


В приведенных структурах используются следующие обозначния:

V – шифрование методом полиалфавитной замены;

S – шифрование методом скремблирования;

T – исходный текст;

F1 - промежуточный шифртекст;

F - результирующий шифртекст.

Формализация исходных данных методов шифрования:

· Исходные данные метода V определяются длиной ключа K.

· Исходные данные метода S определяются тройкой (conf, C0 , n), где:

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

2. C0 – начальное состояние генератора;

3. n – количество двоичных разрядов генератора.

k

conf

C0

n

8

1362

834

14


2. ЛИСТИНГ ПРОГРАММЫ

unit Unit1;

interface

uses

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

Dialogs, StdCtrls, ExtCtrls, Grids, Math, Buttons;

type

TForm1 = class(TForm)

GroupBox2: TGroupBox;

Memo1: TMemo;

GroupBox1: TGroupBox;

Button1: TButton;

Button4: TButton;

Button3: TButton;

Memo2: TMemo;

Button2: TButton;

Button7: TButton;

Button8: TButton;

Button9: TButton;

GroupBox4: TGroupBox;

Memo3: TMemo;

Label1: TLabel;

Label3: TLabel;

Label4: TLabel;

Button5: TButton;

OpenDialog1: TOpenDialog;

SaveDialog1: TSaveDialog;

Button10: TButton;

Button11: TButton;

Button6: TButton;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

BitBtn3: TBitBtn;

LabeledEdit1: TLabeledEdit;

BitBtn4: TBitBtn;

Button12: TButton;

Label2: TLabel;

procedure Button1Click(Sender: TObject);

procedure Matrix;

procedure FormCreate(Sender: TObject);

procedure Zashifr;

procedure Button2Click(Sender: TObject);

procedure Button3Click(Sender: TObject);

Procedure Rashifr;

procedure Button4Click(Sender: TObject);

procedure Button7Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

procedure Button6Click(Sender: TObject);

procedure Button9Click(Sender: TObject);

procedure SymvToBit(cq:char);

function CodeToSymv: integer;

procedure Posl;

procedure NachC(var j,k:longint;n:Byte);

procedure Button8Click(Sender: TObject);

procedure Button10Click(Sender: TObject);

procedure Button11Click(Sender: TObject);

procedure BitBtn1Click(Sender: TObject);

procedure BitBtn2Click(Sender: TObject);

procedure BitBtn3Click(Sender: TObject);

procedure BitBtn4Click(Sender: TObject);

procedure Button12Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

alf,s: String;

M:array of String;

Z,key,C,T: array of byte;

p:longint;

FName:String;

F:TextFile;

NText:TMemo;

implementation

{$R *.dfm}

procedure TForm1.Button3Click(Sender: TObject); //1z

Var Ch:Char;

begin

memo1.Text:='';

memo2.Text:='';

memo3.Text:='';

If OpenDialog1.Execute then

Begin

AssignFile(F,OpenDialog1.FileName);

FName:=OpenDialog1.FileName;

Reset(F);

If IOResult=0 then Begin

While not Eof(f) do

Begin

Read(F,Ch);

Memo1.Text:=Memo1.Text+Ch;

End;

CloseFile(F);

End;

End;

end;

procedure TForm1.Button5Click(Sender: TObject); //1s

begin

FName:='Скремблер';

SaveDialog1.FileName:=Fname;

If SaveDialog1.Execute then Fname:=SaveDialog1.FileName;

Memo1.Lines.SaveToFile(FName);

end;

procedure TForm1.Matrix; //Матрица V

Var i,k:word;

Begin

Setlength(M,length(s)+1);

M[0]:=alf;

For i:=1 to Length(s) do

Begin

k:=pos(s[i],alf);

M[i]:=Copy(alf,k,length(alf)-k+1)+copy(alf,1,k-1);

End;

End;

Procedure TForm1.Zashifr;//Процедура шифрования

Var k,j,l:wORD;

i:longword;

Begin

Matrix;

Memo3.Text:='';

i:=1;

k:=1;

While i<Length(Memo1.Text)+1 do

Begin

If k=Length(s)+1 then Begin

k:=1;

End;

j:=1;

While M[j][1]<>s[k] do

j:=j+1;

l:=pos(Memo1.Text[i],M[0]);

Memo3.Text:=Memo3.Text+M[j][l];

k:=k+1;

i:=i+1;

End;

End;

Procedure TForm1.Rashifr;//Процедура дешифрования

Var k,j,l:wORD;

i:longword;

Begin

Matrix;

Memo2.Text:='';

i:=1;

k:=1;

While i<Length(Memo1.Text)+1 do

Begin

If k=Length(s)+1 then Begin

k:=1;

End;

j:=1;

While M[j][1]<>s[k] do

j:=j+1;

l:=pos(Memo1.Text[i],M[j]);

Memo2.Text:=Memo2.Text+M[0][l];

k:=k+1;

i:=i+1;

End;

End;

//Дешифрование V

procedure TForm1.Button4Click(Sender: TObject);

begin

Button12.Visible:=True;

LabeledEdit1.Visible:=True;

end;

//Шифрование V

procedure TForm1.Button1Click(Sender: TObject);

Var u:Integer;

begin

LabeledEdit1.Visible:=True;

BitBtn4.Visible:=True;

end;

procedure TForm1.FormCreate(Sender: TObject);

var i:byte;

begin

Memo1.Text:='';

Button12.Visible:=False;

LabeledEdit1.Visible:=False;

BitBtn4.Visible:=False;

For i:=0 to 255 Do

alf:=alf+char(i);

end;

Procedure TForm1.NachC(var j,k:longint;n:Byte);//Формир-ние битовых послед-ностей:

Var i:Byte; // конфигурация и начальное состояние

Begin

SetLength(Z,n);

SetLength(key,n);

For i:=n-1 downto 0 do

Begin

If j>1 then Begin

Z[i]:=j mod 2;

j:=j div 2;

End

Else if j=1 then

Begin

Z[i]:=1;

j:=0;

End

Else Z[i]:=0;

If k>1 then Begin

key[i]:=k mod 2;

k:=k div 2;

End

Else if k=1 then

Begin

key[i]:=1;

k:=0;

End

Else key[i]:=0;

End;

End;

Procedure TForm1.Posl;//Формирование псевдослуч. посл-ти

Var Q: array of byte;

k:Byte;

j,i:Integer;

Begin

Setlength(Q,Length(Z));

Setlength(C,Trunc(IntPower(2,Length(Z))));

For j:=0 to Length(Z)-1 do

Q[j]:=key[j];

j:=0;

While j<Trunc(IntPower(2,Length(Z))) do

Begin

i:=High(Z);

p:=Q[i];

While i>0 do

Begin

If Z[i-1]=1 then p:=p xor q[i-1];

i:=i-1;

End;

C[j]:=Q[High(Q)];

For k:=High(Q) downto 1 do

Q[k]:=Q[k-1];

Q[0]:=p;

p:=0;

For k:=0 to High(Q) do

If Q[k]=key[k] then p:=p+1;

If p=Length(Q) then Begin

p:=j;

j:=Trunc(IntPower(2,Length(Z)));

End

else j:=j+1;

End;

Label2.Caption:='Длина последовательности='+IntToStr(p);

End;

Procedure TForm1.SymvToBit(cq:char);//Преобразования символа в бит.посл-ть

Var k,j:Byte;

Begin

j:=ord(cq);//символ переводится в его порядковый № в таблице символов

For k:=7 downto 0 do

Begin

If j>1 then Begin

T[k]:=j mod 2;

j:=j div 2;

End

Else if j=1 then

Begin

T[k]:=1;

j:=0;

End

Else T[k]:=0;

End;

End;

Function TForm1.CodeToSymv: integer; //Преобразование кода в символ

Var k:Byte;

Z,i:Integer;

Begin

Z:=0;

For k:=0 to 7 do

Z:=Z+T[k]*Trunc(IntPower(2,7-k));

CodeToSymv:=Z;

End;

procedure TForm1.Button7Click(Sender: TObject); //2z

Var Ch:Char;

begin

memo2.Text:='';

memo3.Text:='';

If OpenDialog1.Execute then

Begin

AssignFile(F,OpenDialog1.FileName);

FName:=OpenDialog1.FileName;

Reset(F);

If IOResult=0 then Begin

While not Eof(f) do

Begin

Read(F,Ch);

Memo2.Text:=Memo2.Text+Ch;

End;

CloseFile(F);

End;

End;

end;

procedure TForm1.Button8Click(Sender: TObject); //Шифрование S

Var conf,c0:LongInt;

n:Byte;

k:Longword;

j,l:Word;

i:byte;

begin

conf:=1362;

c0:=834;

n:=14;

NachC(conf,c0,n);

Posl;

Setlength(T,8);

j:=0;

Memo1.Text:='';

For k:=1 to Length(Memo2.Text) do

Begin

SymvToBit(Memo2.Text[k]);

If j<p-1 then For l:=0 to 7 do

Begin

T[l]:=C[j] xor T[l];

j:=j+1;

End

Else

Begin

T[l]:=C[j] xor T[l];

j:=0;

End;

Memo1.Text:=Memo1.Text+char(CodeToSymv);

End;

end;

procedure TForm1.Button2Click(Sender: TObject); //2s

begin

FName:='Полиалфиват';

SaveDialog1.FileName:=Fname;

If SaveDialog1.Execute then Fname:=SaveDialog1.FileName;

Memo2.Lines.SaveToFile(FName);

End;

procedure TForm1.Button6Click(Sender: TObject); //3s

begin

FName:='шифр-текст';

SaveDialog1.FileName:=Fname;

If SaveDialog1.Execute then Fname:=SaveDialog1.FileName;

Memo3.Lines.SaveToFile(FName);

end;

procedure TForm1.Button9Click(Sender: TObject); //Дешифрование S

Var conf,c0:LongInt;

n:Byte;

k:Longword;

j,l:Word;

i:byte;

begin

conf:=1362;

c0:=834;

n:=14;

NachC(conf,c0,n);

Posl;

Setlength(T,8);

j:=0;

Memo3.Text:='';

For k:=1 to Length(Memo2.Text) do

Begin

SymvToBit(Memo2.Text[k]);

If j<p-1 then For l:=0 to 7 do

Begin

T[l]:=C[j] xor T[l];

j:=j+1;

End

Else

Begin

T[l]:=C[j] xor T[l];

j:=0;

End;

Memo3.Text:=Memo3.Text+char(CodeToSymv);

End;

end;

procedure TForm1.Button10Click(Sender: TObject);

begin

Memo1.Text:=Memo3.Text;

Memo2.Text:='';

Memo3.Text:='';

end;

procedure TForm1.Button11Click(Sender: TObject);//Новые параметры

begin

s:='';

Memo1.Text:='';

Memo2.Text:='';

Memo3.Text:='';

Label3.Visible:=False;

Label1.Visible:=False;

Button4.Visible:=False;

Button1.Visible:=False;

Button9.Visible:=False;

Button8.Visible:=False;

end;

procedure TForm1.BitBtn1Click(Sender: TObject);

begin

Label3.Visible:=False;

Label1.Visible:=True;

Button4.Visible:=False;

Button1.Visible:=True ;

Button9.Visible:=False;

Button8.Visible:=True ;

end;

procedure TForm1.BitBtn2Click(Sender: TObject);

begin

Label1.Visible:=False;

Label3.Visible:=True;

Button1.Visible:=False;

Button4.Visible:=True;

Button8.Visible:=False;

Button9.Visible:=True ;

end;

procedure TForm1.BitBtn3Click(Sender: TObject);

begin

close

end;

procedure TForm1.BitBtn4Click(Sender: TObject);

Var u:Integer;

begin

LabeledEdit1.Visible:=True;

u:=0;

s :=LabeledEdit1.Text;

while u=0 do

begin

if Length(s)<>8 then

begin

MessageDlg('Длина ключа должна равняться 8! ', mtWarning, [mbOK], 0);

s := InputBox('Метод полиалфавитной замены','Попробуйте еще раз','');

end

else u:=u+1;

end;

BitBtn4.Visible:=False;

LabeledEdit1.Visible:=False;

Zashifr;

end;

procedure TForm1.Button12Click(Sender: TObject);

Var u:Integer;

begin

u:=0;

s :=LabeledEdit1.Text;

while u=0 do

begin

if Length(s)<>8 then

begin

MessageDlg('Длина ключа должна равняться 8!', mtWarning, [mbOK], 0);

s := InputBox('Метод полиалфавитной замены','Попробуйте еще раз','');

end

else u:=u+1;

end;

LabeledEdit1.Visible:=False;

button12.Visible:=False;

Rashifr;

end;

end.


3. РЕЗУЛЬТАТЫ ТЕСТИРОВАНИЯ ГСШ-1 1

Результат шифрования с использованием гибридной системы шифрования (ГСШ-11):

Результат расшифрования с использованием гибридной системы шифрования (ГСШ-11):

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Хватит париться. На сайте FAST-REFERAT.RU вам сделают любой реферат, курсовую или дипломную. Сам пользуюсь, и вам советую!
Никита06:29:46 04 ноября 2021
.
.06:29:45 04 ноября 2021
.
.06:29:43 04 ноября 2021
.
.06:29:41 04 ноября 2021
.
.06:29:39 04 ноября 2021

Смотреть все комментарии (20)
Работы, похожие на Реферат: Гибридная система шифрования ГСШ-11

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

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



Результаты(294113)
Комментарии (4230)
Copyright © 2005-2022 HEKIMA.RU [email protected] реклама на сайте