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
|
SubBytes (S -blok akslantirishlari kestesi) báyitlerdi almastırıw procesiniń ulıwma sxemasın tómendegishe súwretlew múmkin.
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
|
S00
|
S01
|
S02
|
S03
|
S10
|
S11
|
Sij
|
S13
|
S20
|
S21
|
S22
|
S23
|
S30
|
S31
|
S32
|
S33
|
ShiftRows
(Jaǵday báyitlerin siklik jıljıtıw ) akslantirishining qollanıwı tómendegishe ámelge asıriladı. Jaǵday báyitlerin siklik jıljıtıwda jaǵday kestesi qatarları tómendegishe belgilep alınadı.
5. 12- keste
ShiftRows (Jaǵday báyitlerin siklik jıljıtıw )
C0 –satr
|
S’00
|
S’01
|
S’02
|
S’03
|
C1 –satr
|
S’10
|
S’11
|
S’12
|
S’13
|
C2 –satr
|
S’20
|
S’21
|
S’22
|
S’23
|
C3 -satr
|
S’30
|
S’31
|
S’32
|
S’33
|
ShiftRows (Jaǵday báyitlerin siklik jıljıtıw ) akslantirishida keste degi aqırǵı ush qatar hár bir báyitleri shepke siklik, yaǵnıy 1- qatar C1 baytqa, 2- qatar C2 baytqa, 3- qatar C3 baytqa jıljıtıladı. C1, C2, C3 jılısıw ma`nisi Nb blok uzınlıǵına baylanıslı bolıp, olar algoritmda kórsetilgeni sıyaqlı, tómendegi 5. 13-kestede anıqlanǵan:
5. 13- keste
Túrli uzınlıqlar ushın ShiftRows (Jaǵday báyitlerin siklik jıljıtıw )
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 kestege kóre l = 128 bitli shifrlaw ushın Nb=4 ke teń bolıp, birinshi qatar boyınsha jaǵday báyitlerin siklik jıljıtıw atqarılmaydı, ekinshi qatar boyınsha 1 baytqa, úshinshi qatar boyınsha 2 baytqa, tórtinshi qatar boyınsha 3 baytqa siklik jıljıtıw ámelge asıriladı.
l = 192 bitli shifrlaw ushın Nb=6 ǵa teń bolıp, birinshi qatar boyınsha jaǵday báyitlerin siklik jıljıtıw atqarılmaydı, ekinshi qatar boyınsha 1 baytqa, úshinshi qatar boyınsha 2 baytqa, tórtinshi qatar boyınsha 3 baytqa siklik jıljıtıw atqarıladı.
l = 256 bitli shifrlaw ushın Nb=8 ge teń bolıp birinshi qatar boyınsha jaǵday báyitlerin siklik jıljıtıw atqarılmaydı, ekinshi qatar boyınsha 1 baytqa, úshinshi qatar boyınsha 3 baytqa, tórtinshi qatar boyınsha 4 baytqa siklik jıljıtıw ámelge asıriladı.
5. 14 - kestede bolsa l = 128 bitli shifrlaw ushın Nb=4 ke teń bolǵanda, qatarlardı siklik jıljıtıw orınlanǵannan keyingi báyitlerdiń ornı qaysı tárzde ózgeriwi kórsetilgen
5. 14- keste
MixColumns (Ústin elementlerin aralastırıw )
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
MixColumns (Ústin elementlerin aralastırıw ) akslantirishida jaǵday ústinleri elementleri úshinshi dárejeden úlken bolmaǵan kóp aǵzalılardıń koefisentlari retinde ańlatılıp, áne sol kóp aǵzalılar algoritmda berilgen:
g(x) = {03}x3 +{01}x2 +{01}x+{02}
kóp aǵzalılarǵa x4+1 modul boyınsha kóbeytiriledi.
Tómendegishe belgilew kiritilip:
s00 = s’00 , s10 = s’11 , s20 = s’22 , s30 = s’33 ,
s01 = s’01 , s11 = s’12 , s21 = s’23 , s31 = s’30 , (5.14)
s02 = s’02 , s12 = s’13 , s22 = s’20 , s32 = s’31 ,
s03 = s’03 , s13 = s’10 , s23 = s’21 , s33 = s’32
aytıp ótken kóp aǵzalılardıń kóbeymesin matrisa kórinisindegi ańlatpası :,, boladı, bul jerde s- ústin nomeri. , ,
Aqırǵı teńlik
teńliklerge ekvivalent.
AddRoundKey (Raund giltlerin qosıw ) akslantirishda jaǵday blokınıń bıytları gilt blokı uyqas bıytları menen xarakteristikası eki bolǵan chekli maydanda qosıladı, yaǵnıy, dızbektiń hár bir ústini hám sol ústindiń elementleri gilt dızbekiniń uyqas ústin hám elementlerine XOR ámeli menen qosıladı.
Giltler generasiyasi algoritmı (Key Schedule). Raund giltleri daslabki giltdan, algoritmda názerde tutılǵan hámme raundlar ushın jaratıp alınadı. Bul process:
kalitni keńeytiw (Key Expansion);
raund giltlerin tańlaw (Round Key Selection)
basqıshlarınan ibarat.
Raund giltleriniń ulıwma bıytları sanı kirisiw maǵlıwmatınıń bıytları sanın raund sanına kóbeymesine hám taǵı bir kirisiw maǵlıwmatınıń bıytları sanın jıyındısına teń (mısal ushın 128 bitli shifrlaw ushın 128*10+128=1408 bıyt raund gilti kerek boladı ), yaǵnıy Nb (Nr+1) hám l (Nr +1) =12811=1408 bıyt.
Sonday eken, 128 bıyt uzınlıqtaǵı blok hám 10 raund ushın 1408 bıyt raund giltleri talap etiledi.
Dáslepki giltni keńeytiwde, 128 bitli (16 báyit, simvol) baslanǵısh kiretuǵın gilt kiritip alınadı hám tórtew ( w1, w2, w3, w4 ) 32 bitdan bolǵan bólekke bólinedi. Qalǵan keńeytirilgen giltler mine sol tórtew ( w1, w2, w3, w4 ) keńeytirilgen giltler járdeminde tabıladı. Yaǵnıy, keńeytirilgen giltler tómende keltirilgen (4. 1) hám (4. 2) formulalar tiykarında esaplab tabıladı. Keńeytirilgen giltler sanı
;
Biz kóreip atırǵan jaǵdayda Nb = 4, Nr = 10 ǵa teń yaǵnıy, báyit uzınlıǵı 4 ke, raundlar sanı 10 ǵa teń. Usılardı bilgen halda ni tabıladı :
= 4* (10+1) = 44
Sonday eken, 128 bitli kirisiw blokına hám 10 raundga iye bolǵan shifrlaw ushın 44 keńeytirilgen giltler kerek bo'lar eken.
Raund giltleri keńeytirilgen giltlerden tómende bayanlaingan qaǵıyda tiykarında jaratıladı. Giltler generasiyasining formulaları tómendegi kórinislerge iye:
w[i]= w[i-1] w[i-Nk], hám w[i]= SubWord (RotWord (w[i-1])) Rcon[ i/Nk] w[i-Nk].
Biziń jaǵdayda Nk = 4 bolǵanlıǵı sebepli i=4, 8, 12, 16, 20, … bahalar ushın (3. 5) formuladan paydalanıp, keńeytirilgen giltler tabıladı. Yaǵnıy, i dıń 4 ke márteli, 4 ke qaldıqsız bólinetuǵın bahalarında formuladan paydalanıladı. Qalǵan barlıq
i = 5, 6, 7, 9, 10, 11, 13,... bahalarında formuladan paydalanıladı. Bul jerde w (i) - 32 bıyt - sózlerden ibarat.
Mısalı, biz kóreip atırǵan halda raund giltining uzınlıǵı 128 bitga teń bolıp, ol tórtew keńeytirilgen giltga teń boladı, yaǵnıy,
128 : 32 = 4 sonday eken, 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 ;
5. 15 - kestede raund giltleri keltirilgen bolıp, 0 - raund gilti baslanǵısh kirisiw gilti esaplanadı, toq qara reń menen berilgen keńeytirilgen giltler joqarıdaǵı formuladan esaplab alınadı, qalǵan giltler bolsa joqarıdaǵı formuladan esaplab tabıladı.
5. 15- keste
Raund giltleri
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.
|
Joqarıdaǵı formula daǵı akslantirishlar tómendegi funksiyalar tiykarında ámelge asıriladı :
RotWord 32 bitli sózdi báyit boyınsha tómendegi kóriniste jıljıtıw atqarıladı. {a0 a1 a2 a3} {a1 a2 a3 a0};
SubWord S bloktan hám SubBytes () funksiyasınan paydalanǵan halda báyit boyınsha akslantirish atqarıladı.
Rcon [j] = 2 j-1, bul jerde j = (i / Nk ), i / Nk - bolıw nátiyjesi pútkil san shıǵadı, sebebi Nk =const bolıp, i dıń Nk ga márteli bahaları ushın bolıw ámeli atqarılıp atır.
Deshifrlash procesi: Shifrlaw processinde paydalanılǵan Sub Bytes (), ShiftRows (), MixColumns () hám AddRoundKey () almastırıwlarına uyqas túrde teris:
invSub Bytes (),
invShiftRows (),
invMixColumns (),
AddRoundKey (),
almastırıwlar ámeldegi bolıp, bunday jaǵday qaralayotgan simmetrik shifrlaw algritmining apparat -texnikalıq apparatın jaratıwda zárúrli faktorlardan esaplanadı.
Paydalanılǵan ádebiyatlar∶
DES Modes of Operation. Federal Information Processing Standards Publication 81, December, 1980.
. Óz DSt 1105:2009 Axborot texnologiyasi. Axborotning kriptografik muhofazasi. Málumotlarni shifrlash algoritmi.
S.K.Ganiev, M.M.Karimov, K.A.Tashev, J.T.Arzieva Informaciyalardı qorǵaw. Informaciya-kommunikaciya sistemaları qáwipsizligi. Sabaqlıq. –T.: «Qaraqalpaqstan», 2019, 446 bet.
Internet resurslari∶
1. Twofish: A 128-Bit Block Cipher [sayt]: https://www.schneier.com/wp-content/uploads/2016/02/paper-twofish-paper.pdf (murojaat vaqti: 26.04.2021). 2. MD5 [sayt]: https://en.wikipedia.org/wiki/MD5 (murojaat vaqti: 26.04.2021). 3. SHA-1 [sayt]: https://en.wikipedia.org/wiki/SHA-1 (murojaat vaqti: 26.04.2021).
Dostları ilə paylaş: |