S -blok akslantirishlaridan foydalanib berilgan s –baytni 16-lik sanoq sistemasida s= kabi ifodalab x-satr va y-ustunlar kesishmasidagi baytlar almashtirish natijasi sifatida olinadi. Misol uchun {62} - ni {aa} ga ga almashtiriladi.
X
|
Y
|
0
|
1
|
2
|
3
|
4
|
5
|
6
|
7
|
8
|
9
|
A
|
b
|
c
|
d
|
e
|
F
|
0
|
63
|
7c
|
77
|
7b
|
12
|
6b
|
6f
|
C5
|
30
|
01
|
67
|
2b
|
fe
|
d7
|
ab
|
76
|
1
|
Ca
|
82
|
c9
|
7d
|
Fa
|
59
|
47
|
F0
|
ad
|
d4
|
a2
|
af
|
9c
|
a4
|
72
|
c0
|
2
|
b7
|
Fd
|
93
|
26
|
36
|
3f
|
F7
|
Cc
|
34
|
a5
|
e5
|
f1
|
71
|
d8
|
31
|
15
|
3
|
04
|
c7
|
23
|
c3
|
18
|
96
|
05
|
9a
|
07
|
12
|
80
|
e2
|
eb
|
27
|
b2
|
75
|
4
|
09
|
83
|
2c
|
1a
|
1b
|
62
|
5a
|
a0
|
52
|
3b
|
d6
|
b3
|
29
|
e3
|
2f
|
84
|
5
|
53
|
d1
|
00
|
ed
|
20
|
Fc
|
b1
|
5b
|
6a
|
Cb
|
Be
|
39
|
4a
|
4c
|
58
|
cf
|
6
|
d0
|
Ef
|
aa
|
fb
|
43
|
4d
|
33
|
85
|
45
|
f9
|
02
|
7f
|
50
|
3c
|
9f
|
a8
|
7
|
51
|
a3
|
40
|
8f
|
92
|
9d
|
38
|
f5
|
bc
|
b6
|
Da
|
21
|
10
|
ff
|
f3
|
d2
|
8
|
Cd
|
0c
|
13
|
ec
|
5f
|
97
|
44
|
17
|
c4
|
a7
|
7e
|
3d
|
64
|
5d
|
18
|
73
|
9
|
60
|
81
|
4f
|
dc
|
22
|
2a
|
90
|
88
|
46
|
Ee
|
b8
|
14
|
de
|
5e
|
0b
|
db
|
a
|
e0
|
32
|
3a
|
0a
|
49
|
06
|
24
|
5c
|
c2
|
d3
|
Ac
|
62
|
91
|
95
|
e4
|
79
|
b
|
e7
|
c8
|
37
|
6d
|
8d
|
D5
|
4e
|
a9
|
6c
|
56
|
f4
|
ea
|
65
|
7a
|
ae
|
08
|
c
|
Ba
|
78
|
25
|
2e
|
1c
|
A6
|
b4
|
c6
|
e8
|
Dd
|
74
|
1f
|
4d
|
bd
|
8b
|
8a
|
d
|
70
|
3e
|
b5
|
66
|
48
|
03
|
F6
|
0e
|
61
|
35
|
57
|
b9
|
86
|
c1
|
1d
|
9e
|
e
|
e1
|
f8
|
98
|
11
|
69
|
D9
|
8e
|
94
|
9b
|
1e
|
87
|
e9
|
ce
|
55
|
28
|
df
|
f
|
8c
|
a1
|
89
|
0d
|
Bf
|
E6
|
42
|
68
|
41
|
99
|
2d
|
0f
|
b0
|
54
|
bb
|
16
|
4 – jadval. S blok almashtirish jadvali.
SubBytes (S -blok akslantirishlari jadvali) baytlarni almashtirish jarayonining umumiy sxemasini quyidagicha tasvirlash mumkin
S00
|
S01
|
S02
|
S03
|
S10
|
S11
|
Sij
|
S13
|
S20
|
S21
|
S22
|
S23
|
S30
|
S31
|
S32
|
S33
|
S’00
|
S’01
|
S’02
|
S’03
|
S’10
|
S’11
|
S’ij
|
S’13
|
S’20
|
S’21
|
S’22
|
S’23
|
S’30
|
S’31
|
S’32
|
S’33
|
ShiftRows (Holat baytlarini siklik surish) akslantirishining qo‘llanishi quyidagicha amalga oshiriladi. Holat baytlarini siklik surishda holat jadvali satrlari quyidagicha belgilab olinadi.
S’00
|
S’01
|
S’02
|
S’03
|
S’10
|
S’11
|
S’12
|
S’13
|
S’20
|
S’21
|
S’22
|
S’23
|
S’30
|
S’31
|
S’32
|
S’33
| C0 –satr
C1 -satr
C2 –satr
C3 -satr
5 – jadval.
ShiftRows (Holat baytlarini siklik surish) akslantirishida jadvaldagi oxirgi uchta satr har bir baytlari chapga siklik , ya'ni 1- satr C1 baytga, 2- satr C2 baytga, 3- satr C3 baytga suriladi. C1 , C2 , C3 surilish qiymati Nb blok uzunligiga bog‘liq bo‘lib, ular algoritmda ko‘rsatilganidek, quyidagi 1.6-jadvalda aniqlangan:
l
|
Nb
|
C0
|
C1
|
C2
|
C3
|
128
|
4
|
0
|
1
|
2
|
3
|
192
|
6
|
0
|
1
|
2
|
3
|
256
|
8
|
0
|
1
|
3
|
4
|
6 – jadval.
Keltirlgan jadvalga ko‘ra l = 128 bitli shifrlash uchun Nb=4 ga teng bo‘lib, birinchi satr bo‘yicha holat baytlarini siklik surish bajarilmaydi, ikkinchi satr bo‘yicha 1 baytga, uchinchi satr bo‘yicha 2 baytga, to‘rtinchi satr bo‘yicha 3 baytga siklik surish amalga oshiriladi.
l = 192 bitli shifrlash uchun Nb=6 ga teng bo‘lib, birinchi satr bo‘yicha holat baytlarini siklik surish bajarilmaydi, ikkinchi satr bo‘yicha 1 baytga, uchinchi satr bo‘yicha 2 baytga, to‘rtinchi satr bo‘yicha 3 baytga siklik surish bajariladi.
l = 256 bitli shifrlash uchun Nb=8 ga teng bo‘lib birinchi satr bo‘yicha holat baytlarini siklik surish bajarilmaydi, ikkinchi qator bo‘yicha 1 baytga, uchinchi satr bo‘yicha 3 baytga, to‘rtinchi satr bo‘yicha 4 baytga siklik surish amalga oshiriladi.
7 – jadvalda esa l = 128 bitli shifrlash uchun Nb=4 ga teng bo‘lganda, satrlarni siklik surish bajarilgandan keyingi baytlarning o‘rni qay tarzda o‘zgarishi ko‘rsatilgan
S’00
|
S’01
|
S’02
|
S’03
|
S’11
|
S’12
|
S’13
|
S’10
|
S’22
|
S’23
|
S’20
|
S’21
|
S’33
|
S’30
|
S’31
|
S’32
|
S’00
|
S’01
|
S’02
|
S’03
|
S’10
|
S’11
|
S’12
|
S’13
|
S’20
|
S’21
|
S’22
|
S’23
|
S’30
|
S’31
|
S’32
|
S’33
|
ShiftRows
7 – jadval.
MixColumns (Ustun elementlarini aralashtirish) akslantirishida holat ustunlari elementlari uchinchi darajadan katta bo‘lmagan ko‘phadning koefisentlari sifatida ifodalanib, ana shu ko‘phad algoritmda berilgan:
g(x) = {03}x3 +{01}x2 +{01}x+{02}
ko‘phadga x4+1 modul bo‘yicha ko‘paytiriladi.
Quyidagicha belgilash kiritilib:
s00 = s’00 , s10 = s’11 , s20 = s’22 , s30 = s’33 ,
s01 = s’01 , s11 = s’12 , s21 = s’23 , s31 = s’30 ,
s02 = s’02 , s12 = s’13 , s22 = s’20 , s32 = s’31 ,
s03 = s’03 , s13 = s’10 , s23 = s’21 , s33 = s’32
ta'kidlangan ko‘phadlarning ko‘paytmasini matrisa ko‘rinishidagi ifodasi:
bo‘ladi, bu erda c- ustun nomeri.
Oxirgi tenglik
tengliklarga ekvivalent.
AddRoundKey (Raund kalitlarini qo‘shish) akslantirishda holat blokining bitlari kalit bloki mos bitlari bilan xarakteristikasi ikki bo‘lgan chekli maydonda qo‘shiladi, ya'ni, massivning har bir ustuni va shu ustunning elementlari kalit massivining mos ustun va elementlariga XOR amali bilan qo‘shiladi.
Kalitlar generasiyasi algoritmi (Key Schedule).
Raund kalitlari daslabki kalitdan, algoritmda ko‘zda tutilgan hamma raundlar uchun yaratib olinadi. Bu jarayon:
kalitni kengaytirish (Key Expansion);
raund kalitlarini tanlash (Round Key Selection)
bosqichlaridan iborat.
Raund kalitlarining umumiy bitlari soni kirish ma'lumotining bitlari sonini raund soniga ko‘paytmasiga va yana bitta kirish ma'lumotining bitlari sonini yig‘indisiga teng (misol uchun 128 bitli shifrlash uchun 128*10+128=1408 bit raund kaliti kerak bo‘ladi), ya'ni Nb (Nr+1) va l(Nr +1)=12811=1408 bit.
Demak, 128 bit uzunlikdagi blok va 10 raund uchun 1408 bit raund kalitlari talab qilinadi.
Dastlabki kalitni kengaytirishda, 128 bitli (16 bayt, simvol) boshlang‘ich kiruvchi kalit kiritib olinadi va to‘rtta ( w1, w2, w3, w4 ) 32 bitdan bo‘lgan bo‘lakka bo‘linadi. Qolgan kengaytirilgan kalitlar mana shu to‘rtta ( w1, w2, w3, w4 ) kengaytirilgan kalitlar yordamida topiladi. Ya'ni, kengaytirilgan kalitlar quyida keltirilgan (1) va (2) formulalar asosida hisoblab topiladi. Kengaytirilgan kalitlar soni
;
Biz ko‘rayotgan holatda Nb = 4, Nr = 10 ga teng ya'ni, bayt uzunligi 4 ga, raundlar soni 10 ga teng. Shularni bilgan holda ni topiladi:
= 4*(10+1) = 44
Demak, 128 bitli kirish blokiga va 10 ta raundga ega bo‘lgan shifrlash uchun 44 ta kengaytirilgan kalitlar kerak bo‘lar ekan.
Raund kalitlari kengaytirilgan kalitlardan quyida bayon qilingan qoida asosida yaratiladi. Kalitlar generasiyasining formulalari quyidagi ko‘rinishlarga ega:
w[i]= w[i-1] w[i-Nk] , (3)
va
w[i]= SubWord (RotWord (w[i-1] )) Rcon[ i/Nk] w[i-Nk]. (4.4)
Bizning holatda Nk = 4 bo‘lganligi sababli i=4,8,12,16,20,… qiymatlar uchun (4.2) formuladan foydalanib, kengaytirilgan kalitlar topiladi. Ya'ni, i ning 4 ga karrali, 4 ga qoldiqsiz bo‘linadigan qiymatlarida (4.2) formuladan foydalaniladi. Qolgan barcha
i = 5,6,7,9,10,11,13,... qiymatlarida (3) formuladan foydalaniladi.Bu erda w(i) – 32 bit – so‘zlardan iborat.
Masalan, biz ko‘rayotgan holda raund kalitining uzunligi 128 bitga teng bo‘lib, u to‘rtta kengaytirilgan kalitga teng bo‘ladi, ya'ni,
128 : 32 = 4 demak, w(i) = 1,2,3,4
w1=W1, W2, W3, W4, W5, W6, W7, W8, W9, W10, W11, W12, W13, W14, W15, W16, W17, W18, W19, W20, W21, W22, W23, W24, W25, W26, W27, W28, W29, W30, W31, W32;
w2=W33, W34, W35, W36, W37, W38, W39, W40, W41, W42, W43, W44, W45, W46, W47, W48, W49, W50, W51, W52, W53, W54, W55, W56, W57, W58, W59, W60, W61, W62, W63, W64;
w3=W65 , W66 , W67 , W68 , W69 , W7 , W71 , W72 , W73 , W74 , W75 , W76 , W77 , W78 , W79 , W8 , W81 , W82 , W83 , W84 , W85 , W86 , W87 , W88 , W89 , W9 , W91 , W92 , W93 , W94 , W95 , W96 ;
w4= W97 , W98 , W99 , W100 , W101 , W102 , W103 , W104 , W105 , W106 , W107 , W108 , W109 , W110 , W111 , W112 , W113 , W114 , W115 , W116 , W117 , W118 , W119 , W120 , W121 , W122 , W123 , W124 , W125 , W126 , W127 , W128 ;
8 – jadval. Algoritm barcha raund kalitlari .
0 – raund kaliti kirish kaliti
|
w0, w1, w2, w3.
|
1 – raund kaliti
|
w4, w5, w6, w7.
|
2 – raund kaliti
|
w8, w9, w10, w11.
|
3 – raund kaliti
|
w12, w13, w14, w15.
|
4 – raund kaliti
|
w16, w17, w18, w19.
|
5 – raund kaliti
|
w20, w21, w22, w23.
|
6 – raund kaliti
|
w24, w25, w26, w27.
|
7 – raund kaliti
|
w28, w29, w30, w31.
|
8 – raund kaliti
|
w32, w33, w34, w35.
|
9 – raund kaliti
|
w36, w37, w38, w39.
|
10 – raund kaliti
|
w40, w41, w42, w43.
|
8 – jadvalda raund kalitlari keltirilgan bo‘lib, 0 – raund kaliti boshlang‘ich kirish kaliti hisoblanadi, to‘q qora rang bilan berilgan kengaytirilgan kalitlar (1.4) formuladan hisoblab olinadi, qolgan kalitlar esa (1.3) formuladan hisoblab topiladi.
(1.4) formuladagi akslantirishlar quyidagi funksiyalar asosida amalga oshiriladi:
RotWord 32 bitli so‘zni bayt bo‘yicha quyidagi ko‘rinishda surish bajariladi.
{a0 a1 a2 a3} {a1 a2 a3 a0};
SubWord S blokdan va SubBytes ( ) funksiyasidan foydalangan holda bayt bo‘yicha akslantirish bajariladi.
Rcon [j] = 2j-1 , bu erda j =(i / Nk ) , i / Nk – bo‘lish natijasi butun son chiqadi, chunki Nk =const bo‘lib, i ning Nk ga karrali qiymatlari uchun bo‘lish amali bajarilyapti.
1.2.3. AES kriptoalgaritmi standarti tahlili
AES kriptoalgaritmi asosida “Rijndael” shifrlash algaritmi yotadi. Bu algoritm noan'anaviy blokli shifr bo‘lib, kodlanuvchi ma'lumotlarning har bir bloki qabul qilingan blok uzunligiga qarab 4x4, 4x6 yoki 4x8 o‘lchamdagi baytlarning ikki o‘lchamli massivlari ko‘rinishiga ega.
Shifrdagi barcha o‘zgartirishlar qat'iy matematik asosga ega. Amallarning strukturasi va ketma-ketligi algoritmning ham 8-bitli, ham 32-bitli mikroprosessorlarda samarali bajarilishiga imkon beradi. Algoritm strukturasida ba'zi amallarning parallel ishlanishi ishchi stansiyalarida shifrlash tezligining 4 marta oshishiga olib keladi.
Dastlab DESni almashtirish uchun 1997 yil 2 yanvarda e`lon berildi. Bu tanlovda quyidagicha shartlar qo`yildi. Yaratilayotgan algaritm blokli shifrlashni qo`llab quvvatlashi, kamida har bir blok 128 bit o`lchamda bo`lishi, har bir raundda foydalaniladigan kalitlar uzunligi esa 128, 192 yoki 256 bit bo`lishi shart qilib qo`yildi. Bir so`z bilan aytganda yaratilayotgan algaritm kamida DESda foydalanilgan Triple DES algaritmidan kriptoturg`unligi yuqori bo`lishi ko`zda tutilgandi.
Umuman kriptoalgaritmlarni baholashda asosan quyidagi 3 kategoriya asosida tahlillanadi.
Kriptoturg`unlik-bu algaritmga qo`yiladigan eng birinchi baho sanaladi. Bu ko`rsatkich unda ishtirok etgan matematik funksiyalar, amallar qiyinchilik darajasi bilan baholanadi. Algaritim bahosi- bu ikkinchi zarur ketegorya bo`lib, unda asosan kriptoalgaritmni dastur va aparat ko`rinishida ketadigan sarf-xarajatlar, va uni tizimlardan talab etadigan resurslari miqdori bilan belgilanadi.
Algaritim xarakteristikasi va uning amalga oshirish-bu kategoriyada uni aparatli va dasturli ko`rinishda ishlatiladigan bitlar soni, kalitlar uzunligi, kalitlarni generatsiyaga bardoshliligi kabi xakakteristikalar bilan belgilanadi.
AES standartiga dastabki nomzod etib quyidagi 15 ta kriptoalgaritm qo`yildi. Bular o`rtasida 1998 yil 20 avgustda birinchi konferensiya bo`lib o`tdi. Bu konferensiya quyidagi algaritmlar qatnashdi. Bu algaritmlarning faqat dastur ko`rinishlari foydalanildi.
Davlat
|
Algaritm
|
Algaritim 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.
№
|
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.
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.
II-BOB. AES KRIPTOALGARITMINING DASTURIY MODULINI ISHLAB CHIQISH
2.1. Shifrlash jarayoni umumiy blok sxemasi
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;
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.2. Deshifrlash jarayoni algaritmi
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.
Deshifrlash jarayoni umumiy blok sxemasi
2.3. AES kriptoalgaritmining dasturiy moduli
AES kriptoalgaritmining dasturiy moduli 3 qismdan tashkil topgan. Misol uchun 2b7e151628aed2a6abf7158809cf4f3c kalit yordamida ochiq matnni 3243f6a8885a308d313198a2e0370734 shifrlash va deshifrlash dasturi keltirilgan.
1.Kalit generatsiyasi.
2.Shifrlash jarayoni quyidagicha.
Shfrlangan matn: 3925841d02dc09fbdc118597196a0b32
3.Deshifrlash jarayoni.
Deshifrlangan matn: 3243f6a8885a308d313198a2e0370734
XULOSA
Bu kurs ishida AQSH standarti bo`lib xizmat qiladigan AES standarti, unda qo`llanilgan Rijndael algaritmi, uning tahlili va kriptobardoshligi bilan tanishib chiqdik.
Bu standart boshqa standartlarga qaraganda o`zining kriptoturg`unligi bilan ajralib turadi. Unda foydalanilgan matematik amallarning murakkablik darajasi uning turg`unligini yanada oshiradi. Buni foydalanuvchi ma`lumotini yuborishda qo`llashni maslahat beraman. Chunki bu algaritimda shifrlangan ma`lumotlar hujumlarga bardoshliligi yuqori.
FOYDALANILGAN ASOSIY ADABIYOTLAR
Koblits. N. Kurs teorii chisel i kriptografii - M., Nauchnoe izdatelstvo TVP, 2001 g., 260 ctr. (perevod s angliyskogo).
Yaщenko V.V. Vvedenie v kriptografiyu. MSMO, 2003
Maslennikov. Prakticheskaya kriptografiya BHV – SPb 2003
Shnayer Bryus. Prikladnaya kriptografiya. Protokolы, algoritmы, isxodnыe tekstы na yazыke Si. Triumf. 2002.
Barichev S. Osnovы sovremennoy kriptografii. Uchebnыy kurs. Goryachaya liniya Telekom . 2002
Gerasimenko V.A. Zaщita informatsii v avtomatizirovannыx sistemax obrabotki dannыx kn. 1.-M.: Energoatomizdat. -1994.-400s.
Verbitskiy O.V.Vstuplenie k kriptologii.- Lvov.: Izdatelstvo naukovo-texnichnoy literaturы.-1998.-300s.
Diffi U. Pervыe desyat let kriptografii s otkrыtыm klyuchom //TIIER, t. 76(1988)b T5b s. 54-74.
Miller V. Ispolzovaniya ellipticheskix krivыx v kriptografii .: -1986.-417-426s.
Galatenko V.A. Informatsionnaya bezopasnost. –M.: Finansы i statistika, 1997. –158 s.
Gregori S. Smit. Programmы shifrovaniya dannыx // Mir PK –1997. -№3. -S.58 - 68.
Rostovsev A. G., Mixaylova N. V. Metodы kriptoanaliza klassicheskix shifrov. –M.: Nauka, 1995. –208 s.
Barichev S. V. Kriptografiya bez sekretov. –M.: Nauka, 1998. –120s.
|
Do'stlaringiz bilan baham: |