DES алгоритмі арқылы шифрлеу
АЛМАТЫ ЭНЕРГЕТИКА ЖӘНЕ БАЙЛАНЫС УНИВЕРСИТИЕТІ
Компьютерлік технологиялар
«Ақпараттық қауіпсіздік негіздері» пәні бойынша
Курстық жұмыс
Тақырыбы: «DES алгоритмі арқылы шифрлеу»
Орындаған: БВТк09-02 ст
Досмухамедова Ж.Х
Тексерген:доцент Шайхин Б.М
Алматы 2011ж
Кіріспе.......................
Алгоритм және оның қасиеттері:
а) Алгоритм DES...........................
б) Алгоритм
New DES...........................
Криптографиялық
алгоритмдердің баға критерілері...................
Блоктік шифр алгоритмінің
бағалануының жылдамдығы....................
Қолданушы интерфейс
түсініктемесі.................
Программа листингі......................
Қорытынды.....................
Пайдаланылған
әдебиеттер тізімі........................
Кіріспе
Криптография – бұл
ақпаратты қорғау ғылымы. Қорғау
шифрлеу арқылы жетеді,яғни
Шифрлеу методы кем дегенде екі қасиеттерге болу үшін:
- Заңды алушы кері айналымды орындау және хатты шифрді аша алады;
- Хатты тартып алған қарсыластың криптоаналитигі
Криптография көне
замандардан да белгілі және
осы уақытқа дейін тек
Бұл курстық жұмыста DELPHI программалау тілінде DES алгоритмін программасын (консоль түріндегі нұсқасы және пайдаланушының графиктік интерфейсінің қосымшасын) жаздым.
DES алгоритммен істейтін
Алгоритм және оның қасиеттері.
а) Алгоритм DES
DES алгоритмі өзін блоктік шифр ретінде ұсынатын, 64 битті деректерді шифрлауға арналған блок. Алгоритм кірісіне 64 битті блок ашық текст түседі, ал шығысында 64 битті блок шифрмәтіні беріледі. Кілттің ұзындығы 56 бит. 56 биттік кілттің әр қайсысы кіл ретінде қызмет ете алалды және оны кез келген уақытта өзгертуге болады. Құпиялылық кілтпен анықталады. Реттік сандар әлсіз кілттерге сенеді, бірақ олардан қашып кетуге болады. Алгоритм екі негізгі шифрлық методтық бөліктерге бөлінеді: тарату және орын ауыстыру. DES раунды кілтке тәуелді осы әдістердің мәтінге бірлік комбинациясын қолдану болып табылады. DES өзіне 16 раундты қосады, ашық мәтінге бір комбинация 16 рет қолданылады. Алгоритмде тек қана стандарттық арифметика және 64 биттік логикалық операцияда қолданылады, сондықтан да ол 70 жылдардың 2 ші жартысында аппаратурада ұйымдастырылады. Алгоритмде қайталанбалар арнайы микросызбалар ұйымы үшін идеалды қылады. Алғашқы программалық ұйымдар баяу болған , ал қазіргі заманғы программалар олардан әлдеқайда жылдам.
Ашық текстке 64 биттік блокті DES опирирует. Бірінші ауыстырылымнан кейін 32 битті блок оң және сол бөліктерге бөлінеді. Содан кейін бірдей 16 раундық әрекеттер орындалады, яғни мәліметтер кілтпен F функциясы деп аталатында байланысады. 16 раундтан кейін оң және сол бөліктер бірігеді де алгоритм соңғы орын ауыстыруларын аяқтайды..
Әр бір раундта кілттік биттер қозғалады, содан кейін 56 биттік кілттің ішінен 48 бит таңдалады. Бұл 4 операция Fфункциясында орындалады. Содан кейін F функциясынан шыққан нәтиже сол жақ бөлік пен XOR операциясының көмегімен қойылады.. Бұл жағдай 16 рет қайталанады, DES алгоритмінің16 раундын түзе отырып..
Алғашында DES – тің 64 биттік кілті әрбір сегізінші битті тастайтын 56 биттік кілтке дейін қысқартылады. Бұл биттер тек қана нақтылықты бақылау үшін қолданылады және кілтке қатысты қателіктерді тексереді. 56 биттік кілтті шығарғаннан кейін 16 раундты DES қа жаңа 48 битовый кілтастары генерацияланады.
Б) Алгоритм New DES
DES орнына
Роберт Скотпен 1985ж алгоритм New
DES проетілеген. Бұл алгоритм –
DES атынан көрінетіндей оның
Криптографиялық алгоритмдердің баға критерілері
Криптоаналитикалық тұрақтылық түсінігі алгоритм шифріне криптоаналитикалық шабуылдың қиындығы мен және үш көлемді [1, 2] мен сипатталады:
- мәліметтердің қиындығы – алгоритм шифрының криптоаналитикалық шабуылына қажетті ұсталынған мәліметтердің саны.
- есептеу қиындығы – алгоритм шифріне шабуылға қажетті операциялар саны.
- жадының қиындығы – шабуылға қажетті жады көлемі
Жалпыланған критерилер
Криптографикалық тұрақтылық
шифры нақты (толық шектен
тыс әдістен басқа, ашық
- Тек шифр мәтін негізінде анализ – аналитик шифрлеу механизмін біледі және немесе көлемді шифр мәтінімен қол жеткізуге болады, яғни байланыс сымдарына физикалық қол жеткізімділігі бар сыртқы бұзушы моделіне сәйкес.
- Берілген ашық мәтіндегі анализ – криптоаналитикке шифр мәтіні және шығыс ақпаратының сол немесе басқа бөлігі белгілі. Жеке жағдайларда шығыс мәтіні және шифр мәтіні арасындағы сәйкестілік, яғни аналитик немесе n көлемді хабарламаны шифрлеу және оған сәйкестелген ашық мәтін. Мұндай шабуыл анықталған мәліметтер блогы қайталанған кезде стандартты формада дайындалатын стандартты құжаттарды шифрлеу кезінде мүмкін.
- Ашық мәтінде таңдалған анализ – криптоаналитик арнайы таңдалған мәтінді шифрлеу құрылғысына енгізуін және криптобағдарламаның алуына болады, құпиялық кілттің басқарылуымен құралған, яғни n көлемді ашық мәліметтер массивімен таңдалынған шифрланудың нәтижесін алу үшін аналитикалық мүмкіншілігі бар, сәйкесінше ішкі бұзушылардың модулі, шифрлаудың шабуылына қатыстырылған құпиялық кілтті білмейтін тұлғалар, бірақ – та шифрлау құралдарына рұқсаты бар өзінің қызметіне сәйкес.
- Шифр мәтін негізіндегі таңдалған анализ шифрлік кілттің минималды еңбек көлемін ол есептей алатын дешифрлеу мәтінінің шығысында арнайы тәсілмен таңдалып алынған дешифрлеуді қарсыластарының қою мүмкіншілігі бар, яғни дешифрлеу құрылғысына енуге сәйкес n көлемді хабарларды таңдалған шифрлаудың аналитиктің қолында.
- Икемделген мәтін негізіндегі шабуыл-шабушы мәтіндерді шифрлау немесе дешифрлау кезінде білдіріпп қояды, әр бір жаңа мәліметтердің таңдап алдыңғы түрленген бөліктің нәтижесіне тәуелді.
Элементарлы операциялармен
өлшенетін шифр жұмысын
N параметрлі мәліметтердің кейбір соңғы жеткілікті еңбек көлемділігіне шекарасына жетеді, өйткені кейбір үлкейтілген еңбек көлемінің анализіне ынталайды, жұмысының бағалылығын сипаттайтын қол жеткізімділік деп атайды. [4 ] – те бекітілгендей еңбек көлемінің анализінің мәліметтерінің нақты тәсілінің амалы нақты емес шифрларының алынуы мүмкін емес, криптоанализдің түрі кезінде белгілі шифрлардың тұрақтылығын тексерулерде барлық бағалар бағаналады, қазіргі бар тәсілдердің төменделуі анализдердің тәсілдері болашақта өңделіп шықпайтындылығы немесе келешекте өңделіп шықпайтыннының кепілділігі жоқ. Сондықтанда қазіргі кездегі криптоаналитиктің тұрақтылығына негізделеді.
Қазіргі кезде
1. Мүмкін болатын кілттердің
2. Жиілік анализ
3. Диференнциалдық тәсіл
4. Сызықтық тәсіл
Мүмкін болатын кілтердің шектен шығуы
Белгілі шығыс мәліметтердің
Бұл тәсілдің оптимизациясы
бар, бұл [ 1, 2 ] шабуыл сөздігімен
байланысты қолданылады. Бұл
Жиілік аналитик
Нақты тілдік мәтіндерді сипатайтын жиіліктегі анализдерді ескеретін, сәйкес келетін символдық тұрақтылықты және үлкен артықшылыққа ие. Тәсілдік принципі криптопрограмманың символдарының жиілігін есептеуден тұрады және ашық мәтінді модельдердің жиіліктерінің есептеуін салыстырады. Ашық мәтінді және криптограммаға ажырылатын алфавит шифрының тәсілінің артықшылығы қолданылуында болып табылады. Ашық мәтіннің математикалық моделін тұрғызуда ашық мәтінді сипаттайтын жиіліктерін құруға қолданады. Жеткілікті ұзындықты мәтіндік тұрақтылық пен есептеп зерттегенде қолданылады. Ашық мәтін реализацияланған эргодикалық байқаусыз дискреттік уақытының процессімен немесе соңғы санының жағдайы модель Маркованың біркелкілік тізбегімен бейнеленіп қарастырылады. Модельдің шығу кезінде алынатын байланысты мәтіндерге өте жоғарғы реттері жақындалып сәйкестендірілген . Критерилерді негізгі стандартты әдістердің статистикалық гепотизада құралады немесе криптограммаға тиым салынған; негізінде меңгерілген (кейбір сирек алынатын мәтінге қатысуы мәнсіз кезектелген белгілер алынады). Ашық мәтінде жаңа формальданған критерилерді талап етілетін (мәтінді емес мәліметтерге) арнайы алфавиттер қолданылады, кезектелген шығыс спецификациялық формалдауды ескереді өзінен-өзі қиын тапсырма болып табылады қосымша зерттеулермен байланысты.
Тілдерге арналған
критерилерді құру
Криптоанализдің дифференциалды тәсілі
Дифференциалды криптоанализ
– бұл блоктік шифрдың құпия
кілтін шешуге тырысуы r разрядты
рауындылық функция
Криптоанализдің сызықтық тәсілі
Әдетте шифрлеу кезінде
2 модуль бойынша кілттік
Блоктік шифр алгоритмінің бағалануының жылдамдығы
Кез-келген криптографикалық
алгоритмдердің маңызды парамет
Интер активті блоктік
шифрлауды анализдеу
– гаммирлеу (XOR) – g;
– көбейту – s;
– жылжыту – m;
– кесте түрінде орналастыру (S – блокті алгоритмдер) – t.
Элементарлы операцияларды
бағалау үшін арналған блоктік
шифрлаудағы кең таралумен
Осыларды салыстыруға
прототип режимінде DES, NEWDES алгоритмін
алайық. Себебі бұл алгоритмдер
үшін қалыптылық және
DES алгоритмінің раунды кестелік орналастырулардың кеңейтілген және жинақталған еседі ретінде кілтпен қосу және беттік орналастыруларды келесідей сипаттауға болады:
Round DES = 16 * t + 2 * g + 32 * r
Орналастыруды басқарушы және аяқтаушы раунд санының есебімен келесіні аламыз:
DES = 2 * 64 * r + 16 (16 * t + 2 * g + 32 * r) = 640 * r + 256 * t + 32 * g
Ал 17 раундтан DES алгоритмі үшін раундты былай бағалаймыз:
Round New DES = 16 * g + 8 * f
Мұндағы, f – ауыстыру және мәліметтерді біріктіруші раундтық функция осыдан кейін New DES алгоритмінің толығымен келесі үлгі бойынша көрсетуге болады:
New DES = 17 * (16 * g + 8 * (g + t)) = 272 * g + 136 * g +136 * t
Операциялар санынан алынған бағалауды 2 – кестедегідей біріктіруге болады:
Алгоритм |
Жылдамдығы |
DES |
DES = 640 * r + 256 * t + 32 * g |
New DES |
New DES = 272 * g + 136 * f |
2-кесте. Элементарлы операциядағы
блоктік шифрлаудағы алгоритмде
RSA алгоритмі
блоктік шифрдың басқа
Қолданушы интерфейс түсініктемесі
Программа интерфейсі негізігі, бір терезеден тұрады. Жоғарғы бөлігінде кілт сөз жазатын жолақша бар. Кілт сөз 8 символдан құрылуы тиіс. Ал келесі төменгі қабатына шифрлеуге арналған мәтінді енгізіңіз.
Символдар саны қысқартылған 8 болуы керек, келесі жаңа қатарға өту 2символ болып саналады. Жазуды жеңілдету үшін, енгізу терезесінде жазылған символдар саны көрсетіледі. Енгізу кезінде мәтін автоматты түрде бинарлық кодқа ауыстырылады. Бұл алгоритм жұмысының көрнектiлiгi үшiн iстелінген.
Мәтінді енгізіп болғаннан кейін, шифрлау үшін «Encode» кнопкасын басыңыз. Егер қысқартылған 8 шарты орындалмаса, онда экранға ERROR(қате) хабарламасы шығады.
Шифрлеу аяқталғаннан кейін төменгі терезеде шифрленген мәтін және оның бинарлық интерпретациясы пайда болады.
Кері шифрлеу үшін шифрленген мәтінді қайта енгізіп және дұрыс кілт сөзін жазып «Decode» кнопкасын басыңыз.
Қосымша А.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DES, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Edit1: TEdit;
Label2: TLabel;
Memo1: TMemo;
Button1: TButton;
Label3: TLabel;
Memo2: TMemo;
Button2: TButton;
Memo3: TMemo;
Label4: TLabel;
Memo4: TMemo;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Memo1Change(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Edit1Change(Sender: TObject);
procedure Memo2Change(Sender: TObject);
private
{ Private declarations }
public
Data:TBitString;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
Var
I:Integer;
S:String;
begin
IF ((Length(Memo1.Text)mod 8 <> 0) OR (Length(Edit1.Text)mod 8 <> 0)) Then
Begin
MessageBox(Handle,
'Количество букв
в сообщении должно быть
#10#13'Ключ должен состоять из 8 символов',
Nil,MB_ICONSTOP);
Exit;
End;
SetLength(Data,0);
I:=1;
While I<=Length(Memo1.Text) Do
Begin
S:=Copy(Memo1.Text,I,8);
Data:=ConcatBits([Data,
I:=I+8;
End;
Memo2.Text:=BinToAnsiStr(Data)
end;
procedure TForm1.Button2Click(Sender: TObject);
var
I:Integer;
begin
IF ((Length(Memo2.Text)mod 8 <> 0) OR (Length(Edit1.Text)mod 8 <> 0)) Then
Begin
MessageBox(Handle,
'Количество букв
в сообщении должно быть
#10#13'Ключ должен состоять из 8 символов',
Nil,MB_ICONSTOP);
Exit;
End;
SetLength(Data,0);
I:=1;
While I<=Length(Memo2.Text) Do
Begin
Data:=ConcatBits([Data,
I:=I+8;
End;
Memo1.Text:=BinToAnsiStr(Data)
end;
procedure TForm1.Memo1Change(Sender: TObject);
begin
IF Memo1.Text<>'' Then
Memo3.Text:=BinToStr(
Else Memo3.Clear;
Label2.Caption:='Message - ('+IntToStr(Length(Memo1.Text)
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Memo1.OnChange(Self);
Edit1.OnChange(Self);
end;
procedure TForm1.Edit1Change(Sender: TObject);
begin
Label4.Caption:=IntToStr(
end;
procedure TForm1.Memo2Change(Sender: TObject);
begin
IF Memo2.Text<>'' Then
Memo4.Text:=BinToStr(
Else Memo4.Clear;
Label3.Caption:='Encoded message - ('+IntToStr(Length(Memo2.Text)
end;
end.
Қосымша Б
unit DES;
interface
Uses Windows, Classes, SysUtils, Math, Dialogs;
Type
TBitString = Array of Boolean;
PBitString = ^TBitString;
TSplitKeyParts = record
C:TBitString;
D:TBitString;
end;
TSplitKey = Array[0..16]Of TSplitKeyParts;
TConcatKey = Array[0..15]Of TBitString;
TIPKeyParts = record
L:TBitString;
R:TBitString;
end;
TIPKey = Array[0..16]OF TIPKeyParts;
Const
DES_PC1:Array[0..55] Of Byte = (57,49,41,33,25,17,9,
DES_PC2:Array[0..47] Of Byte = (14,17,11,24,1,5,
DES_IP:Array[0..63] Of Byte = (58,50,42,34,26,18,10,2,
60,52,44,36,28,20,12,4,
62,54,46,38,30,22,14,6,
64,56,48,40,32,24,16,8,
57,49,41,33,25,17,9,1,
59,51,43,35,27,19,11,3,
61,53,45,37,29,21,13,5,
63,55,47,39,31,23,15,7);
DES_E:Array[0..47] Of Byte = (32,1,2,3,4,5,
4,5,6,7,8,9,
8,9,10,11,12,13,
12,13,14,15,16,17,
16,17,18,19,20,21,
20,21,22,23,24,25,
24,25,26,27,28,29,
28,29,30,31,32,1);
S_BOXES:Array[0..7,0..3,0..15]
((14,04,13,01,02,15,11,08,03,
(00,15,07,04,14,02,13,01,10,
(04,01,14,08,13,06,02,11,15,
(15,12,08,02,04,09,01,07,05,
((15,01,08,14,06,11,03,04,09,
(03,13,04,07,15,02,08,14,12,
(00,14,07,11,10,04,13,01,05,
(13,08,10,01,03,15,04,02,11,
((10,00,09,14,06,03,15,05,01,
(13,07,00,09,03,04,06,10,02,08
(13,06,04,09,08,15,03,00,11,
(01,10,13,00,06,09,08,07,04,
- Development and analysis of the budget funds On subject «Economy and Finance of the Enterprise»
- Development of lexicography
- Diana Spencer-Princess of Wales
- Die Entwicklungsphasen, beteiligte Akteure, die wichtigste Ziele und politische Kontroversen der letzten Jahren
- Die mülltrennung in deutschland
- Die Schweiz
- Die unterschiedleche rechtlichen Regelungen der Tätigkeiten von Freiberuflern und Gewerbetreibenden
- DElPHI туралы мәлімет
- Delphi: форма и ее свойства
- Delphі ортасымен танысу
- Department of Investment Banking
- Des cas particuliers de l’expression de la condition et de l’hypothèse dans le roman d’Albert Camus
- Design of micro accelerometer
- Desigualdad y pobreza en Rusia en aspecto de la crisis 1998