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]
Har bir raund shifrlash jarayonlari quyida keltirilgan to‘rtta akslantirishlardan foydalanilgan holda amalga oshiriladi:
SubBytes – algoritmda qayd etilgan 16x16 o‘lchamli jadval asosida baytlarni almashtirish, ya'ni S -blok akslantirishlarini amalga oshirish;
ShiftRows – algoritmda berilgan jadvalga ko‘ra holat baytlarini siklik surish;
MixColumns – ustun elementlarini aralashtirish, ya'ni algoritmda berilgan matrisa bo‘yicha akslantirishni amalga oshirish;
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.
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.
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}.
invShiftRows( ) – almashtirishi oxirgi holat matrisasining 3-ta satri berilgan jadval asosida o‘nga siklik surish orqali amalga oshiriladi.
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:
s
s '
0 j 0 e 0b 0 d
09 0 j
s 09 0 e 0b 0 d s '
1 j 1 j =
s
0 d 09 0 e 0b
s '
2 j 2 j
s
0b 0 d 09 0 e
s '
3 j 3 j
1 j
0 e s '0 j 0b s '
2 j
0 d s '
09 s '
3 j
0 j
09 s '
0 e s '
0b s '2 j 0 d s '
1 j
3 j
0 d s ' 09 s ' 0 e s ' 0b s '
1 j
2 j
0 j 1 j 2 j
3 j
0 j
0b s '
0 d s '
09 s '
0 e s '3 j
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
Коблитс. Н. Курс теории чисел и криптографии - М., Научное издателство ТВП, 2001 г., 260 цтр. (перевод с английского).
Ященко В.В. Введение в криптографию. МСМО, 2003
Масленников. Практическая криптография БХВ - СПб 2003
Henk C.A. van Tilborg. Encyclopedia of Cryptography and Security.
А.П. Алферов, А.Ю. Зубов, А.С. Кузьмин, А.В. Черемушкин. Основы
Герасименко В.А. Защита информатсии в автоматизированныx системаx обработки данныx кн. 1.-М.: Энергоатомиздат. -1994.-400с
Криптографии: Учебное пособие, 2-е изд. –М.: Гелиос АРВ, 2002.-480 с
www.wikipedia.org
www.ziyonet.uz
Xasanov P.F., Хаsanov Х.P., Ахmedova О.P., Davlatov А.B. Kriptotahlil va uning maxsus usullari – Toshkent, 2010 – 125 bet.
Dastur kodi: #include #pragma hdrstop #include "Unit1.h" #include
//#include #include
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);
ILOVALAR
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 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"
;
Dostları ilə paylaş: |