Автор: Пользователь скрыл имя, 28 Февраля 2013 в 14:07, курсовая работа
Бұл курстық жұмыста қазіргі заманғы дәстүрлі шифрлеу әдістері негіздеріне сүйенген қағидаларды қарастырамын. Осы мақсатпен кең қолданыс тауып отырған шифрлеу алгоритмі DES (Data Encrytion Standard) мәліметтерді стандартты шифрлеу деген атқа ие болған. DES әдісін ойлап тапқаннан бері симметриялы шифрлеу схемасын қолдануға негізделген басқада көптеген алгоритмдер шықса да DES бәрінен ерекше орын алады. DES тереңдетіп оқу басқада дәстүрлі шифрлеу әдістерін түсінуге көмектеседі.
Кіріспе...........................................................................................................2
Негізгі бөлім:
1. Шифрлеу алгоритмі......................................................................3
2. Жеңілдетілген DES.......................................................................3
3. S-DES кілтін есептеу....................................................................5
4. DES шифрлеу...............................................................................10
4.1 Бастапқы түрлендіру..................................................................12
4.2 Шифрлеу алгоритмінің бөлшектері..........................................12
4.3 Кілттердің есептелуі...................................................................14
4.4 DES-ті дешифрлеу......................................................................16
4.5 DES сенімділігі...........................................................................17
4.6 Сенімділіктің қолдануы.............................................................17
4.7 56-битті кілттерді қолдану.........................................................18
4.8 DES алгоритмінің ішкі құрылымы............................................19
4.9 Кілттің беріктігі..........................................................................20
5. Маскалық жұмыс режимі............................................................21
6. DES Quadruple..............................................................................22
7. DES-ladder....................................................................................22
Қорытынды.................................................. ..............................................25
Қолданылған әдебиеттер........................... ...............................................26
Қосымшалар...............................................................................................27
Maskn = Ek1/3(Maskn-1),
Cn = Dk3/3(MasknEk2/3(Mn)).
Блейз алгоритміне қарағанда Джонс алгоритмі 1,5 есе жылдамдығы аз болып келеді, бірақ тура сондай, 258 шифлеуді орындау кезінде алынуы мүмкін Блейз алгоритмін ашу үшін сол негізгі мәліметтер осы алгоритмнің 168-битті кілт болса жеңіл табуға болады. Ішкі жұмыс істеу режимі және маскалық шифрлеу тек DES көпдеңгейлі нұсқаларында ғана қолданылуы мүмкін емес, сондай-ақ басқа да аналогты түрде кез келген алгоритмде қолдануға болады.
DES Quadruple
Кейбір әдебиеттерде QDES (Quadruple DES – “төрттік” DES) алгоритмі туралы айтылады. QDES алгоритмі өте баяу жұмыс істейді, сондықтан осы алгоритмнің кең қолданыс тапқаны туралы белгісіз.
DES-ladder
1994 жылы Терри Риттер (Terry Ritter) Four-Rung Ladder-DES DES (төрт «баспалдақпен») алгоритмін ұсынды. Алгоритм шындығында түрлендіруді орныдайды оның әрқайсысында DES раундағы тәуелсіз кілттердегі қарапайым мәліметтерді шифрлеу блогының жартысы бір рет шифрлеу орындалады. Сонымен, Ladder-DES алгоритм блогының өлшемі 128 битке, ал қолданылатын кілт өлшемі – 224 битке, яғни DES алгоритм кілтінің төрт есе үлкеюне тең. Берілген алгоритм осыған дейін қарастырылған көп рет кілтті шифрлеу кезінде өлшемі үлкейген концепцияны ары қарай қарастыруды жалғастырады. Ladder-DES Triple DES жұмыс істеу жылдамдығынан жеңеді, себебі Triple DES қатысты мәліметтер блогы екі есе өлшемі үш рет шифрлеудің орнына 4 –ден келеді (Ladder-DES жылдамдығы Double DES-на сәйкес келеді). Double DES және Triple DES аналогты Ladder-DES классикалық DES жасайтын аппараттық немесе программалық қамтама қолданылуы мүмкін. Ladder-DES осалдығы 1997 жылы табылды. Осы алгоритмнің кілтін есептеу үшін 236 блок ашық мәтінін генерирлеу керек, ол келесідей түрге ие: блоктың 64-битті оң жақ бөлігі константа болып табылады, ал сол бөлігі генерирленетін блок бөліктерінде әр түрлі. Ары қарайғы шабуыл логикасы мынадай:
Жоғарыда айтылғандардың айта кете, криптоталдаушы К4 (n1 0-ден 256-1-ге дейінгі цикл) кілт мәнінің әрқайсысына келесі іс-әрекеттерді орындай алады:
К4 тапқаннан кейін
аналогты түрде К3, К2 және К1 есептеледі,
256 нұсқасына толық табумен
Берілген алгоритмнің екілік блоктары Ladder-DES сияқты бастапқы бірінші екі «баспалдақта» шифрленеді, одан кейін субблоктардың оңға бір циклдік қозғалуды орындайды, содан кейін Ladder-DES екі баспалдағы орныдалады. Осы алгоритмнің кілті DES кілтінен 8 есе үлкен өлшемді кілтіне ие, алгоритм авторы 448-битті кілтті 224-битті кілттің орнына қолдануды ұсынды: раундтың тақ кілттері негізгі болып табылады, ал жұп кілтері келесі қарапайым формулалармен есептеледі:
K2= K1 K3
K4= K3 K5
K6= K5 K7
K8= K7 K1.
Бұл нұсқа Ladder-DES бір деңгейлі сияқты сондай жылдамдыққа ие. Ladder-DES, 2x Four-Rung Ladder-DES классикалық түрі сияқты кең қолданысқа ие бола алмады.
Қорытынды
Ақпараттық қауіпсіздік және ақпараттық қорғау пәнінене осы курстық жұмыс арналды, ал дәлірек болатын болсам, «DES алгоритмі» тақырыбына байланысты болды.
DES шифрлеу түрі классикалық симметриялы шифрлеуге жатады. Қазіргі көптеген шифрлеу түрлерінің барлығы осы шифрлеу түрінен шығады. Ол АҚШ-да Ұлттық шифрлеу стандарты болып табылады. DES шифрлеуін компьютерлік технологиялардың дамуына байланысты жылдан жылға жақсартып отыруды қажет етеді. DES әдісін ойлап тапқаннан бері симметриялы шифрлеу схемасын қолдануға негізделген басқада көптеген алгоритмдер шықса да DES бәрінен ерекше орын алады. DES тереңдетіп оқу басқада дәстүрлі шифрлеу әдістерін түсінуге көмектеседі.
АҚШ-тың федералды стандарты DES тіркелгеннен кейін оның сенімділігіне деген пікір-сайыстар ылғи да айтылып жатты. Бұл пікірлер негізінен екі сұраққа байланысты болыды: кілт өлшемі және алгоритмнің ішкі табиғаты.
1973 жылы Ұлттық стандарттар бюросы шифрлеудің ең жақсы жалпымемлекеттік стандартын құру жобасына конкурс жариялады. IBM компаниясы конкурсқа Тачман-Мейер жобасы нәтижесін ұсынды. Олардың алгоритмі шарттсыз ұсынылғандардан ең жақсы және 1977 жылы (DES) мәліметтерді стандартты шифрлеуіне ие болды.
Қорыта келе айтатын болсам DES шифрлеу түрі кең танымал болып үлгерген шифр түрлірінің бірі. Осы курстық жұмысымда DES шифрлеуін толығымен қарастырып өттім. Оны негіздеу үшін төменде программалық жабдықтама құрдым. Онда тексттік файлдарды қолдана отырып жүзеге асырылады және Delphi жоғары деңгейлі программалау тілінде орындалған.
Қолданылған әдебиеттер:
Қосымшалар:
Программа листингі:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
Panel2: TPanel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Edit1: TEdit;
Edit2: TEdit;
Button4: TButton;
Button5: TButton;
procedure Button4Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button4Click(Sender: TObject);
var i,s,txt:string;
i,j,m,n,k,kl:integer;
t:TextFile;
begin
AssignFile('txt1', t, 0);
reset(txt1);
txt:=form1.Edit1; s:=txt;
l:=edit2.text;
kl:=l;
for k:=1 to length(l) do
begin
if l[k]<>' ' then degin
ar[kl]:=strtoint(l[k]);
kl:=kl+1;
end; end;
j:=0;
for i:=i to length(txt) do
begin
j:=i*2; n:=ar[j-1]; m:=ar[j];
if n>m then
begin
w:=n; n:=m; m:=w;
end;
s:=copy(s,m+1, length(txt)-m)+copy(s,n+1,m-n)
end;
edit1.text:=s;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
close;
end;
procedure TForm1.Button5Click(Sender: TObject);
var
s,txt:string;
i,j,w:integer;
n,m:longint;
begin
AssignFile('txt2', t, 0);
reset(txt1);
txt:=Form1.edit2.text;
j:=0; s:=txt;
for i:=length(txt) downto l do
begin
j:=i*2;
n:=ar[j-1];
m:=ar[j];
if n>m then begin
w:=n; n:=m; m:=w;
end;
s:=copy(s,length(txt)-n+1,n)+
end:
edit1.text:=s;
end;
end.