Mirzo ulug’bek nomidagi



Yüklə 0,67 Mb.
səhifə14/93
tarix20.10.2023
ölçüsü0,67 Mb.
#128930
1   ...   10   11   12   13   14   15   16   17   ...   93
KRIPTOGRAFIK USULLAR OQUV QOLLANMA

aij (i  1,..., n;
j  1,2,3,4; )
bir bayt bilan ifodalanib, ushbu




ij
0  a  255 tengsizlikni qanoatlantiradi;

  • yn1  y1 , y2 ,..., yn  xarakteristikasi 256 bo‘lgan chekli maydonda matritsali




An4 x41 akslantirish natijasini ifodalovchi vektor, ya’ni erda yi  baytlar, 0  yi  255, i=1,2,…,n ;
yn4 An4 x41 (mod 256) , bu

  • k k1k2 ...k8  sakizta

ki ,
i 1,...,8; 32-bitli qismkalitlardan iborat bo‘lgan

256-bitli kalit;
- S  blok (oldindan aniqlangan qoida bo‘yicha kalitdan generatsiya



qilinuvchi 256-baytli blok, maxfiy) akslantirish, 256 ta iborat bo‘lgan:
S0 , S1 ,..., S255
-baytlardan

S0

S1

S2



S255


jadval, bu erda
0  S1 , S2 ,..., S256  255
, Si
S j , ya’ni
0  Si  255
shartni

qanoatlantiruvchi Si  sonlarning tasodifiy joylashuvidan iborat;



  • bloklar vektorlarining mos bitlarini mod 2 bo‘yicha – XOR amali bilan

qo‘shish;

  • zn1  z1 , z2 ,..., zn  matritsali kengaytirish akslantirishi natijasi bo‘lgan

yn1  y1 , y2 ,..., yn
–vektorni
S  blok akslantirishlari natijasi, ya’ni
zn1 Syn1  ,

bu erda zi  baytlar, 0  zi  255, i=1,2,…,n;


- ki k1 ik2 i...k32 i  32-bitli i-qismkalit;

- k 1 k ik i...k
i,..., k 4k ik i...k
i –32-bitli i-qismkalitning to‘rtta

i 1 2 8
bayti;
i 25 26 32

- k pi
 k
pik2
pi...k32
pi 32-bitli i-raund kaliti, bu erda pi 1,...,8;


  • 1
    kн –64-bitli boshlang‘ich kalit;

  • –64-bitli oxirgi kalit;

  • f shifrlash funksiyasi;

  • SJ –siqish jadvali, o‘lchovi 16x16 (maxfiy, kalit bilan birgalikda uzatiladi

yoki oldindan aniqlangan qoida bo‘yicha kalitdan generatsiya qilinadi),
qij -

elementlari
0  qij  15,
i  0,...,15,
j  0,...,15
va teng taqsimlangan:

- w41 =


q00

q01



q0,15

q10

q11



q1,15









q15,0

q15,1



q15,15



w1 , w2 , w3 , w4  – 32-bitli (4-baytli) vektor, SJ natijasi.

Shifrlashda kalitlarni saqlash qurilmasiga (massiviga) 32-bitli bo‘lgan

sakkizta
ki -qismkalitlardan tashkil topgan 256-bitli
k k1k2 ...k8
-kalit bloki

kiritiladi, ochiq ma’lumot 64-bitli bloklarga ajratilib, har bir T0 -blok 8-raundli





akslantirishlar jarayonidan o‘tkaziladi. Har bir
i raund kaliti
k pi

  1. bitli

ki k1 ik2 i...k32 i-qismkalitni to‘rtta

k  (k 1, k 2 , k 3 , k 4 )  k ik
i...k
i, ..., k
ik
i...k
i
baytlarga ajratilib, hosil

i i i i i
1 2 8
25 26 32


bo‘lgan
k 1 ,…, k 4
baytlarni o‘nlik sanoq tizimidagi ( k 1 )10 ,…, ( k 4 )10 -qiymatlari




i

i

i

i

i
bo‘yicha S-blok yacheykalari tartib soni (nomeri) aniqlanadi, hamda, har bir k l -

bayt S-blokning k l  -tartib sonli yacheykasida turgan S l
soniga almashtirish bilan

i 10 ki

aniqlanadi, ya’ni



k


k

k Sk1,...,k 4  Sk1 ,...,Sk 4   (S ) ,...,(S )  k1 ,...,k 4  .

pi i i i i
1 2 4 2
i i
pi pi

Dastlabki 256-bitli k k1k2 ...k8 -kalit ikki marta SJ akslantirishidan o‘tkazilib,



    1. bitli boshlang‘ich kalit kн hosil qilinadi.



Dastlabki 256-bitli k k1k2 ...k8 -kalit S-blok akslantirishlaridan o‘tkazilib, hosil

bo‘lgan 256-bitli natija ikki marta SJ akslantirishlaridan o‘tkazilib, 64-bitli oxirgi


kalit olinadi.



Ochiq ma’lumot bloki T0
mos bitlari boshlang‘ich kalit kн
mos bitlari bilan

XOR amali bo‘yicha qo‘shilib, ya’ni
T0 kн =
' , hosil bo‘lgan natija
T ' , yana T




0

T

0

0
o‘zgaruvchiga berilib T T ' , T ikkita 32-bitli qismlarga ajratiladi:
0 0 0
T0  t1 0,t2 0,..., t32 0,t33 0,..., t64 0  (a1 (0), a2 (0),..., a32 (0), b1 (0), b2 (0),..., b32 (0))  (L0 , R0 )
Birinchi raundda f -funksiya qiymatini hisoblash quyidagicha amalga oshiriladi:

      1. Blok

R0 mos bitlari raund kaliti
kp1 k1 p1k2 p1...k32 p1
mos bitlari bilan

XOR amali bo‘yicha qo‘shiladi, ya’ni


b1 0b2 0...b32 0 k1 p1k2 p1...k32 p1=
b1 0 k1 p1b2 0 k2 p1...b32 0 k32 p1
x1 1x2 1...x8 1 x1 1x2 1...x8 1 x1 3x2 3...x8 3 x1 4x2 4...x8 4=

 x1 , x2 , x3 , x4   x41 ;

      1. Oldingi bosqich natijasi

x41
xarakteristikasi 256 bo‘lgan chekli maydonda

aniqlangan to‘g‘ri to‘rtburchakli matritsa
yn1  An4 x41 mod 256 ;
An4
orqali akslantiriladi:


      1. Baytlari soni n ta bo‘lgan

yn1
-vektorning har bir i - bayti
yi , i=1,…n, S -

blok akslantirishlaridan o‘tkaziladi, bunda
i baytning y
iy2
i...y8
i = y
o‘nlik

sanoq tizimidagi ifodasi
y iy i...y i  y
bo‘yicha S –blok yacheykalari


2

1

i
1 2 8 2 i 10

tartib soni aniqlanib,
y iy i...y i = y bayt S-blokning y
-tartib sonli


1 2 8
2 i i 10

yacheykasida turgan



i
S ( y )
soniga almashtirish bilan aniqlanadi, ya’ni:

z Sy   Sy iy i...y
i S  ;

i i 1 2 8
yi 2

      1. Siqish jadvali SJ bo‘yicha 8 n bitli ( n baytli) vektor

zn1
32 -bitli (4-

baytli) vektorga w41 =
w1 , w2 , w3 , w4  akslantiriladi:

  • zn1 -vektorning har bir zi baytiyarim baytli qismlarga ajratiladi, ya’ni


n1 1 n
z z ,..., z =z '1 ,..., z '2n z '2n1 ;

  • yarim baytli

z'1 va
z '2n
bloklarning o‘nlik sanoq tizimidagi qiymatlari
z '1


10

10
vaz '2n
bo‘yicha mos ravishda SJ satr va ustun tartib sonlari aniqlanib, ularning

kesishgan joyidagi yarim bayt
q'   '
yarim baytli
z'1 va
z '2n
iborat bo‘lgan

baytni
qz'  z'
2 n
z 1 10 z 2 n 10


  • 10
    yarim baytga SJ akslantirishi natijasi hisoblanadi. So‘ngra, bu


1 10
jarayon barcha ( z '2 ,
z ' 2n1 ), ( z ' 3 ,
z'2n2 ), …, ( z 'n , z 'n1 ), ya’ni ( z'i ,
z ' 2n(i1) ), bu erda

i=1,…, n; juftliklar uchun qo‘llaniladi;
-oldingi qadamdagi SJ akslantirishi (m-2) marta qo‘llanilib, natijada 32-bitli

(4-baytli)
w41 =
w1 , w2 , w3 , w4
blok olinadi;

      1. To‘la siqish natijasi bo‘lgan

w41 =
w1 , w2 , w3 , w4

  • 32-bitli (4-baytli)

vektorning bitlari XOR amali bo‘yicha L0 -blokning mos bitlariga qo‘shiladi:
L0 w41 t1 0t2 0...t32 0 w1 1w2 1...w8 1w1 2...w8 2w1 3...w8 3w1 4...w8 4 

0

0 p1

p1

1
L0f R , k  R

bu erdafunksiya
f R , k orqali 1-4 –bosqichlar akslantirishlari belgilangan;

      1. R0 –blokning qiymati o‘zgarishsiz

L1 -blokga beriladi:
L1 R0 .

Yuqorida keltirilgan 1-6 –bosqich akslantirishlari e’tiboringizga havola etilayotgan shifrlash algoritmining 1-raund akslantirishlarini ifodalaydi.

Birinchi raund akslantirishlari natijalarini ifodalovchi
L1 va
R1 o‘zgaruvchilar

qiymatlarini mos ravishda
L0 va
R0 o‘zgaruvchilarga berilib, ya’ni
L0 L1 ,
R0 R1

, hamda, birinchi raund kaliti massiviga ikkinchi raund kaliti massivi qiymatini
berib k p1 k p2 , so‘ngra, 1-6 –bosqichlar akslantirishlarini qo‘llab, 2-raund

akslantirishlari amalga oshiriladi. SHunday qilib, agarda (i 1) raund akslantirish





natijalari ma’lum bo‘lsa, ushbu
L0 Li1 ,
R0 Ri1
va k p1 k pi1
amallar bajarilib,

so‘ngra 1-6 –bosqichlar akslantirishlarini qo‘llab, i-raund akslantirishlari amalga oshiriladi. Havola etilayotgan algoritmning raundlari soni 8 ta, ya’ni i=1,2,…,8.



L8 va
R8 -bloklarning birlashmasidan tuzilgan
R8 L8 -blokning bitlari
-


blokning mos bitlariga XOR amali bilan qo‘shiladi, ya’ni
Tк kk
, ochiq

ma’lumotning bitta 64-bitli blokini shifrlash jarayoni tamomlanadi.


Quyida, dastlabki kalitdan raund kalitlarini generatsiya qilish, algoritm

shifrlash jarayonining keltirilgan:
i  raundi, hamda, algoritmning umumiy blok sxemasi





S0

S1

...

S255


Yüklə 0,67 Mb.

Dostları ilə paylaş:
1   ...   10   11   12   13   14   15   16   17   ...   93




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

    Ana səhifə