Davlat
|
Algoritm
| |
Algoritim mualliflari
| | |
Avstralya
|
LOKI97
|
Lawrie Brown, Josef Pieprzyk, Jennifer Seberry
|
Belgiya
|
RIJNDAEL
|
Joan Daemen, Vincent Rijmen
|
Buyuk Britanya, Isroil, Norvegiya
|
SERPENT
|
Ross Anderson, Eli Biham, Lars Knudsen
|
Germanya
|
MAGENTA
|
Deutsche Telekom AG
|
Kanada
|
CAST-256
|
Entrust Technologies, Inc.
|
DEAL
|
Outerbridge, Knudsen
|
Koreya
|
CRYPTON
|
Future Systems, Inc.
|
Kosta-rika
|
FROG
|
TecApro Internacional S.A.
|
AQSH
|
HPC
|
Rich Schroeppel
|
MARS
|
IBM
|
RC6
|
RSA Laboratories
|
SAFER+
|
Cylink Corporation
|
TWOFISH
|
Bruce Schneier, John Kelsey, Doug Whiting, David Wagner, Chris Hall, Niels Ferguson
|
Fransiya
|
DFC
|
Centre National pour la Recherche Scientifique
|
Yaponya
|
E2
|
Nippon Telegraph and Telephone Corporation (NTT)
|
Bu o`n besh kriptoalgaritm bo`yicha eng kriptobardosh algaritm deb belgiya davlati a`zolari yaratgan RIJNDAEL algaritmi topildi.
1999 yilning mart oyilarida AES algaritmi analizi bo`yicha ikinchi konserensiya bo`lib o`tdi va bu konferensiyada kuchli 5 kriptoalgaritm nomzod etib qo`yildi. Bular quyidagilar edi: MARS, RC6, Rijndael, Serpent и Twofish. Bu bo`lib o`tgan konferensiyada ham RIJNDAEL o`zining kriptoturg`unligini yuqori ekanligini namoyish etdi. Bunda yuqoridagi algaritmlarning VHDL aparatli ko`rinishi namoyish etildi.
Bu konferensiyaning 13-14 aprel 2000 yilda AESning yakuniy qismi bo`lib otdi va buning natijasi o`laroq RIJNDAEL yutub chiqdi va 2001 yilgacha standart yakunlanib u AQSH stanndarti sifatida qabul qilindi.
Quyidagi jadvalda AES kriptoalgaritmlash standartida ishlatiladigan Rijndael shifrlash algaritmining aparatli holda yuqoridagi 5algaritm bilan taqqoslanishi berilgan. [10]
1.11-jadval
Kriptoalgoritmlar harakteristikasi
Kriptoalgaritmlar
|
Serpent
|
Twofish
|
MARS
|
RC6
| | |
Rijndael
| | | |
1
|
Kriptoturg`unligi
|
+
|
+
|
+
|
+
|
+
|
2
|
Kriptoturg`unlik zaxirasi
|
++
|
++
|
++
|
+
|
+
|
3
|
Dastur ko`rinishidagi shifrlash tezligi
|
-
|
±
|
±
|
+
|
+
|
4
|
Dasturni amalga oshirishda kengaytirilgan kalit tezligi
|
±
|
-
|
±
|
±
|
+
|
5
|
Katta miqdordagi resurslar bilan Smart-kartalar
|
+
|
+
|
-
|
±
|
++
|
6
|
Chegaralangan miqdordagi resurslar bilan Smart-kartalar
|
±
|
+
|
-
|
±
|
++
|
7
|
Aparatli amlga oshirish (PLIS)
|
+
|
+
|
-
|
±
|
+
|
8
|
Aparatli amlga oshirish(Maxsus mikrosxemalarda)
|
+
|
±
|
-
|
-
|
+
|
9
|
Foydalanilayotgan va qudratini yo`qotgandagi himoyasi
|
+
|
±
|
-
|
-
|
+
|
10
|
Kengaytirilgan kalitlar prodsedurasida qudratni yo`qotgandagi himoya
|
±
|
±
|
±
|
±
|
-
|
11
|
Smart-kartalarda qudratni yo`qotgandagi himoya
|
±
|
+
|
-
|
±
|
+
|
12
|
Kengaytirilgan kalitlardan foydalanish
|
+
|
+
|
±
|
±
|
±
|
13
|
Mavjuda variantlarni amalga oshirish
|
+
|
+
|
±
|
±
|
+
|
14
|
Paralell hisoblashlarning mavjudligi
|
±
|
±
|
±
|
±
|
+
|
Bizga ma`lumki AES standarti DES standarti o`zini oqlay olmaganligi tufayli yaratilgan edi. Bu standart hozirda Amerika qo`shma shtatlaring “Standartlar va Texnologiyalar Milliy Universiteti (NIST)” qabul qilinib, standart sifatida foydalanilyapti. Undan tashqari unda foydalanilgan Rijndael blokli shifrlash algaritmi ham alohida kriptobardoshligi yuqori va yuqori darajadagi himoyaga ega. Bundan tashqari bu shifrlash algaritmdan ma`lumotlarni shifrlab uzatish uchun ham qo`llaniladi.
Shu bilan birga kriptoalgaritmlar shifrlash va deshifrlashda ma`lumotlar bilan ishlash tezligiga ham bog`liq bo`ladi. Shu o`rinda biz misol tariqasida AES kriptoalgaritmini ba`zi bir algaritmlar bilan tezliklari farqini ko`rib chiqamiz. Bunda biz shifrlash dasturlaridan foydalanamiz.
1.1-rasm. Encryption Algorithm Benchmark
Bunda biz TrueCrypt shifrlash dasturidan foydalandik. Unda 50MB hajmda axborotlar ishlashdagi tezliklar keltirilgan. Bundan ko`rinib turubdiki AES boshqa kriptoalgaritmlarga qaraganda o`zining tezligi bilan ajralib turibdi.[8]
Shifrlash jarayoni umumiy blok sxemasi
Har bir raund shifrlash jarayonlari quyida keltirilgan to‘rtta akslantirishlardan foydalanilgan holda amalga oshiriladi:
1) SubBytes – algoritmda qayd etilgan 16x16 o‘lchamli jadval asosida baytlarni almashtirish, ya'ni S -blok akslantirishlarini amalga oshirish;
2) ShiftRows – algoritmda berilgan jadvalga ko‘ra holat baytlarini
siklik surish;
3) MixColumns – ustun elementlarini aralashtirish, ya'ni algoritmda
berilgan matrisa bo‘yicha akslantirishni amalga oshirish;
4) AddRoundKey – raund kalitlarini qo‘shish, ya'ni bloklar mos
bitlarni XOR amali bilan qo‘shish.
Bu standartning shifrlash algaritmi asosini Rijndael algaritmi yotadi.
2.1- rasm. Shifrlash jarayonining umumiy blok sxemasi.
Deshifrlash jarayoni algoritmi
Shifrlash jarayonida foydalanilgan Sub Bytes( ), ShiftRows( ), MixColumns () va AddRoundKey( ) almashtirishlariga mos ravishda teskari:
invSub Bytes( ),
invShiftRows( ),
invMixColumns ( ),
AddRoundKey( ) ,
almashtirishlar mavjud bo‘lib, bunday holat qaralayotgan simmetrik shifrlash algritmining apparat-texnik qurilmasini yaratishda muhim omillardan hisoblanadi.
Quyida mazkur teskari almashtirishlarni batafsil ko‘rib chiqamiz:
AddRoundKey( ) – almashtrishida ishlatilayotgan XOR amalining xossasiga muvofiq, , ushbu funksiya o‘z-o‘ziga teskari hisoblanadi.
2. invSub Bytes( )- almashtirishi shifrlash jarayonida foydalaniladigan S-blokga (4.4-jadval) teskari amal bajarishga asoslangan. Masalan {a5} bayt uchun teskari bayt almashtirishi amalining natijasi S-blokda 2-satr va 9-ustun elementlarining kesishida joylashgani uchun javob: invSub Bytes({a5})= {29}.
3. invShiftRows( ) – almashtirishi oxirgi holat matrisasining 3-ta satri berilgan jadval asosida o‘nga siklik surish orqali amalga oshiriladi.
4. invMixColumns ( ) – almashtirishida holat matrisasi ustunlari GF(28) maydonda uchinchi darajali ko‘phad ko‘rinishida qaralib, g-1(x) ={0b}x3 +{0d}x2 +{09}x + {0e} ko‘phadga modul x4 +1 ko‘phad bo‘yicha ko‘paytiriladi. Mazkur fikrlarning matematik ifodasini quyidagicha tasvirlash mumkin:
=
Ushbu teskari almashtirishlardan foydalanib, deshifrlash jarayonida generasiya qilingan raund kalitlari oxirgidan boshlab bittadan kamayib qo‘shib boriladi, ya'ni deshifrlash jarayonining 1-raundida shifrma'lumot blokiga 10-raund kaliti qo‘shiladi, 2 – raundida 9-raund kaliti qo‘shiladi va hokazo 10-raundida 1-raund kaliti qo‘shiladi va oxirida dastlabki kalit qo‘shiladi. Yuqorida ta'kidlangan jarayonini boshqa teskari akslantirishlar bilan birgalikda amalga oshirishning umumiy blok sxemasi quyida keltirilgan.
2.2-rasm. Deshifrlash jarayoni umumiy blok sxemasi
2.2 AES kriptoalgaritmining dasturiy moduli
Dasturning umumiy ko‘rinishi quyidagicha.
2.3-rasm. Shifrlash jarayoni quyidagicha bo‘ladi
2.4-rasm. Ushbu oynada ma’lumotni yuklaymiz yoki kiritishimiz mumkin
2.5-rasm. Deshirlash jarayoni
2.6-rasm. Kalitlar generatsiyasi va raundlar soni
XULOSA
Bu individual loyihada AES(Advanced Encryption Standard) standarti va unda qo`llanilgan Rijndael algaritmi, uning tahlili va kriptobardoshligi bilan tanishib chiqib bu standartning qo‘llanish jarayoni haqida to‘liq ma’lumotaga ega bo‘ldim.
AES standarti boshqa standartlarga qaraganda o`zining kriptobardoshliligi bilan ajralib turadi. Unda qo‘llanilgan asosiy matematik amallarning murakkablik darajasi uning turg`unligini yanada oshiradi. Xozirgi kun bu standart eng bardoshli algoritmlar safiga kiradi. Bu algoritmning afzalliglari kriptobardoshliligining samaradorligi va shifrlash tezligining yuqoriligi bilan ajralib turadi.
Bu individual loyihani tayyorlash jarayonida men bu algoritmning qaysi tarmoqda ishlashi va algoritmning tuzilishi bilan to‘liq tanishdim va uni chuqurroq o‘rgandim. Hozirda uning qo‘llanish muhiti barcha blokli shifrlash algoritmlarining rejimlarida qo‘llash mumkin bo‘ladi.
FOYDALANILGAN ASOSIY ADABIYOTLAR
1. Коблитс. Н. Курс теории чисел и криптографии - М., Научное издателство ТВП, 2001 г., 260 цтр. (перевод с английского).
2. Ященко В.В. Введение в криптографию. МСМО, 2003
3. Масленников. Практическая криптография БХВ - СПб 2003
4. Henk C.A. van Tilborg. Encyclopedia of Cryptography and Security.
5. А.П. Алферов, А.Ю. Зубов, А.С. Кузьмин, А.В. Черемушкин. Основы
6. Герасименко В.А. Защита информатсии в автоматизированныx системаx обработки данныx кн. 1.-М.: Энергоатомиздат. -1994.-400с
|
7. Криптографии: Учебное пособие, 2-е изд. –М.: Гелиос АРВ, 2002.-480 с
8. www.wikipedia.org
9. www.ziyonet.uz
10.Xasanov P.F., Хаsanov Х.P., Ахmedova О.P., Davlatov А.B. Kriptotahlil va uning maxsus usullari – Toshkent, 2010 – 125 bet.
ILOVALAR
Dastur kodi:
#include
#pragma hdrstop
#include "Unit1.h"
#include
//#include
#include
FILE *f;
String s1;
#pragma package(smart_init)
#pragma link "sBitBtn"
#pragma link "sLabel"
#pragma link "sPanel"
#pragma link "sSkinManager"
#pragma link "sComboBox"
#pragma link "sScrollBar"
#pragma link "sBitBtn"
#pragma resource "*.dfm"
TForm1 *Form1;
int bor=0;
String shifr(String key,String matn);
String deshifr(String key,String matn);
String InvShiftRows();
String InvMixColumns();
String MixColumns();
String AddRoundKey();
String binary(String s1);
String binary_8(int a);
int pow(int a, int b);
String binary_4(int s1);
int Bayt(String s);
int Int16ToInt10(char c);
char Int10ToInt16(int a);
String SubBytes(String s);
String InvSubBytes(String s);
String orqaga(String a);
String Kupayt(String a, String b);
String XOR_8(String a, String b);
String XOR_9(String a, String b);
String j_mix(String a, char b);void __fastcall TForm1::FormCreate(TObject *Sender){
String s = "",s1="AES.exe";int n =s1.Length();
for(int i=1;i<=Application->ExeName.Length()-n;i++){
s+=Application->ExeName[i];}
s+="\\skins" ; sSkinManager1->Active = false;
sSkinManager1->SkinDirectory = s;
sSkinManager1->SkinName = "Nautilus";
sSkinManager1->Active = true;
String a,b;
a = "2b7e151628aed2a6abf7158809cf4f3c";
O‘quv adabiyotlarni ishlab chiqish va nashr
etishga tayyorlash bo‘yicha uslubiy ko‘rsatmalar
TATU ilmiy-uslubiy kengashi majlisida
ko‘rib chiqildi va nashrga ruxsat etildi
2022 yil ___ _________
bayonnoma № ____
Tuzuvchilar: Irgasheva D.Ya.
Allanov O.M.
Sodiqova D.J.
Taqrizchilar: Xudoyqulov Z.T.
Nasrullayev N.B.
Mas’ul muharrir: _______________
http://fayllar.org
|