Al-xorazmiy nomidagi tоshkеnt aхbоrоt



Yüklə 0,94 Mb.
səhifə12/14
tarix22.03.2024
ölçüsü0,94 Mb.
#182600
1   ...   6   7   8   9   10   11   12   13   14
Individual loyihani bajarish buyicha ko\'rsatma (3) (2)

SubBytes (S-blok akslantirishlari jadvali) baytlarni almashtirish jarayonining umumiy sxemasini quyidagicha tasvirlash mumkin.
SubBytes jadvali.
1.5-jadval

S00

S01

S02

S03

S10

S11

Sij

S13

S20

S21

S22

S23

S30

S31

S32

S33





S00

S01

S02

S03

S10

S11

Sij

S13

S20

S21

S22

S23

S30

S31

S32

S33






ShiftRows (Holat baytlarini siklik surish) akslantirishining qo‘llanishi - quyidagicha amalga oshiriladi. Holat baytlarini siklik surishda holat jadvali satrlari quyidagicha belgilab olinadi.

C0 - satr C1 - satr C2 - satr C3 - satr


ShiftRows


1.6-jadval


S00

S01

S02

S03

S10

S11

S12

S13

S20

S21

S22

S23

S30

S31

S32

S33



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.7- jadvalda aniqlangan:
Bloklar soni jadvali 1.7 jadval

l

Nb

C0

C1

C2

C3

128

4

0

1

2

3

192

6

0

1

2

3

256

8

0

1

3

4

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. [4]
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.
1.8-jadval

S00

S01

S02

S03

S10

S11

S12

S13

S20

S21

S22

S23

S30

S31

S32

S33




S00

S01

S02

S03

S’11

S12

S’13

S10

S22

S23

S20

S21

S33

S30

S31

S32



ShiftRows jadvali


ShiftRows
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:

11

12

13

10
s00 = s00 , s10 = s , s20 = s22 , s30 = s33 , s01 = s01 , s11 = s , s21 = s23 , s31 = s30 , s02 = s02 , s12 = s , s22 = s20 , s32 = s31 , s03 = s03 , s13 = s , s23 = s21 , s33 = s32
ta'kidlangan ko‘phadlarning ko‘paytmasini matrisa ko‘rinishidagi ifodasi:



s '
        s







0 j 02
03 01
01 0 j


s ' 01 02  03  01 s

1 j

1 j

s ' 01 01 02  03  s
0 c 3

 2 j
2 j

s '
03 01 01 02 s

3 j
3 j

bo‘ladi, bu erda c- ustun nomeri.
Oxirgi tenglik

s 0 c s1c s 2 c s 3 c
 ({ 02 }  s 0 c )  ({ 03}  s1c )  s 2 c s 3 c ,
s 0 c  ({ 02 }  s1c )  ({ 03}  s 2 c )  s 3 c ,
s 0 c s1c  ({ 02 }  s 2 c )  ({ 03}  s 3 c ),
 ({ 03}  s 0 c )  s1c s 2 c  ({ 02 }  s 3 c ,

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)=128 11=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
N[w(i)]  Nb (Nr 1) ;
Biz ko‘rayotgan holatda Nb = 4, Nr = 10 ga teng ya'ni, bayt uzunligi 4 ga,

raundlar soni 10 ga teng. Shularni bilgan holda


N [ w (i )]
ni topiladi:



N [ w (i )] = 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 ;
1.9 jadval.
Algoritm barcha raund kalitlari



0 – raund kaliti kirish kaliti

w0, w1, w2, w3.

1 – raund kaliti


Yüklə 0,94 Mb.

Dostları ilə paylaş:
1   ...   6   7   8   9   10   11   12   13   14




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©genderi.org 2024
rəhbərliyinə müraciət

    Ana səhifə