O’zbekiston respublikasi axborot texnologiyalari va kommunikatsiyalarni rivojlantirish vazirligi muhammad al-xorazimiy nomidagi toshkent axborot texnologiyalari universiteti mustaqil ish


– jadval. S - blok almashtirish jadvali


Download 0.76 Mb.
bet9/10
Sana13.12.2022
Hajmi0.76 Mb.
#999456
1   2   3   4   5   6   7   8   9   10
Bog'liq
Feystel tarmog‘i va uning xususiyatlari

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

S00

S01

S02

S03

S10

S11

Sij

S13

S20

S21

S22

S23

S30

S31

S32

S33




ShiftRows (Holat baytlarinissiklik surish) akslantirishining qo‘llanilishi quyidagicha amalga oshiriladi. Holat baytlarinissiklik surishda holat jadvali satrlari quyidagicha belgilab olinadi.

C0-satr

S00

S01

S02

S03

C1-satr

S10

S11

S12

S13

C2-satr

S20

S21

S22

S23

C3-satr

S30

S31

S32

S33
  1. – jadval.


ShiftRows (Holat baytlarinissiklik surish) akslantirishida jadvaldagi oxirgi uchta satr har bir baytlari chapgassiklik , 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 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
  1. – jadval.


Keltirilgan jadvalga ko‘ra l = 128 bitli shifrlash uchun Nb=4 ga teng bo‘lib, birinchi satr bo‘yicha holat baytlarinissiklik surish bajarilmaydi, ikkinchi satr bo‘yicha 1 baytga, uchinchi satr bo‘yicha 2 baytga, to‘rtinchi satr bo‘yicha 3 baytga ssiklik surish amalga oshiriladi.
l = 192 bitli shifrlash uchun Nb=6 ga teng bo‘lib, birinchi satr bo‘yicha holat baytlarinissiklik surish bajarilmaydi, ikkinchi satr bo‘yicha 1 baytga, uchinchi satr bo‘yicha 2 baytga, to‘rtinchi satr bo‘yicha 3 baytga ssiklik surish bajariladi.
l = 256 bitli shifrlash uchun Nb=8 ga teng bo‘lib birinchi satr bo‘yicha holat baytlarinissiklik surish bajarilmaydi, ikkinchi qator bo‘yicha 1 baytga, uchinchi satr bo‘yicha 3 baytga, to‘rtinchi satr bo‘yicha 4 baytga ssiklik surish amalga oshiriladi.
4.7 – jadvaldaesa l = 128 bitli shifrlash uchun Nb=4 ga teng bo‘lganda, satrlarni ssiklik surish bajarilgandan keyingi baytlarning o‘rni qay tarzda o‘zgarishi keltirilgan



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



  1. – jadval.


MixColumns (Ustun elementlarini aralashtirish) akslantirishda holat ustunlari elementlari uchinchi darajadan katta bo‘lmagan ko‘phadning koeffitsientlari 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 =s00 , s10 =s11 , s20 =s22 , s30 =s33 , s01 =s01 , s11 =s12 , s21 =s23 , s31 =s30 , s02 =s02 , s12 =s13 , s22 =s20 , s32 =s31 , s03 =s03 , s13 =s10 , s23 =s21 , s33 =s32 ,
ta’kidlangan ko‘phadlar ko‘paytmasining matritsa 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
s3 j

3 j
bo‘ladi, bu erda s- ustun nomeri.

Oxirgi tenglik


s0c  ({02} s0c )  ({03} s1c )  s2c s3c ,
s1c s0c  ({02} s1c )  ({03} s2c )  s3c ,

s2c
s3c
s0c s1c  ({02} s2c )  ({03} s3c ),
 ({03} s0c )  s1c s2c  ({02} s3c ,

tengliklarga ekvivalent.
AddRoundKey (Raund kalitlarini qo‘shish) akslantirishdaholat 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.



    1. Kalitlar generatsiyasi algoritmi (KeySchedule)

Raund kalitlari daslabki kalitdan, algoritmda ko‘zda tutilgan hamma raundlar uchun yaratib olinadi. Bu jarayon:
-kalitni kengaytirish(KeyExpansion);
-raund kalitlarini tanlash (RoundKeySelection); bosqichlaridan iborat.
Raund kalitlarining umumiy bitlari soni kirish ma’lumotining bitlari sonining raund soniga ko‘paytmasiga va yana bitta kirish ma’lumoti 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, avval 128 bitli (16 bayt, simvol) boshlang‘ich kiruvchi kalit kiritib olinadi va to‘rtta ( w1, w2, w3, w4 ) 32 bitdan iborat bo‘lakka bo‘linadi. Qolgan kengaytirilgan kalitlar mana shu to‘rtta ( w1, w2, w3, w4 ) kengaytirilgan kalitlar yordamida topiladi. Kengaytirilgan kalitlar soni

b r
N[w(i)]  N (N  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 generatsiyasining formulalari quyidagi ko‘rinishlarga ega:
w[i]= w[i-1] w[i-Nk] (2.6)
w[i]= SubWord (RotWord (w[i-1] ))Rcon[ i/Nk] w[i-Nk] (2.7)
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 (2.5) formuladan foydalaniladi. Qolgan barcha i=5,6,7,9,10,11,13,... qiymatlarida (2.6) formuladan foydalaniladi. Bu erda w(i) – 32 bit – so‘zlardan iborat.
Masalan, biz ko‘rayotgan holatda raund kalitining uzunligi 128 bit 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 ;

0 – raund kaliti
kirish kaliti

w0, w1, w2, w3.

1 – raund kaliti


Download 0.76 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling