O’zbekiston respublikasi axborot texnologiyalari va kommunikatsiyalarni rivojlantirish vazirligi muhammad al-xorazimiy nomidagi toshkent axborot texnologiyalari universiteti mustaqil ish
Download 0.76 Mb.
|
Feystel tarmog‘i va uning xususiyatlari
- Bu sahifa navigatsiya:
- Algoritm i -raundining blok sxemasi
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
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 4 k 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; kк –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: - w41 =
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 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 - 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, 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 kк olinadi. XOR amali bo‘yicha qo‘shilib, ya’ni T0 kн = ' , hosil bo‘lgan natija T ' , yana T T 0 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: Blok R0 mos bitlari raund kaliti kp1 k1 p1k2 p1...k32 p1 mos bitlari bilan XOR amali bo‘yicha qo‘shiladi, ya’ni b1 0b2 0...b32 0 k1 p1k2 p1...k32 p1= b1 0 k1 p1b2 0 k2 p1...b32 0 k32 p1 x1 1x2 1...x8 1 x1 1x2 1...x8 1 x1 3x2 3...x8 3 x1 4x2 4...x8 4= x1 , x2 , x3 , x4 x41 ; Oldingi bosqich natijasi x41 xarakteristikasi 256 bo‘lgan chekli maydonda aniqlangan to‘g‘ri to‘rtburchakli matritsa yn1 An4 x41 mod 256 ; An4 orqali akslantiriladi: Baytlari soni n ta bo‘lgan yn1 -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 1 2 i 1 2 8 2 i 10 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 Siqish jadvali SJ bo‘yicha 8 n bitli ( n baytli) vektor zn1 32 -bitli (4- baytli) vektorga w41 = w1 , w2 , w3 , w4 akslantiriladi: zn1 -vektorning har bir zi baytiyarim baytli qismlarga ajratiladi, ya’ni n1 1 n z z ,..., z =z '1 ,..., z '2n z '2n1 ; 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 ' 2n1 ), ( z ' 3 , z'2n2 ), …, ( z 'n , z 'n1 ), ya’ni ( z'i , z ' 2n(i1) ), bu erda i=1,…, n; juftliklar uchun qo‘llaniladi; -oldingi qadamdagi SJ akslantirishi (m-2) marta qo‘llanilib, natijada 32-bitli (4-baytli) w41 = w1 , w2 , w3 , w4 blok olinadi; To‘la siqish natijasi bo‘lgan w41 = w1 , w2 , w3 , w4 32-bitli (4-baytli) vektorning bitlari XOR amali bo‘yicha L0 -blokning mos bitlariga qo‘shiladi: L0 w41 t1 0t2 0...t32 0 w1 1w2 1...w8 1w1 2...w8 2w1 3...w8 3w1 4...w8 4 0 1 0 p1 p1 L0 f R , k R 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 Li1 , R0 Ri1 va k p1 k pi1 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. blokning mos bitlariga XOR amali bilan qo‘shiladi, ya’ni Tк kk Tш , 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
i raund kaliti generatsiyasining blok sxemasiLi (32 bit)=a1(i)a2(i)…a32(i) Ri (32 bit)= b1(i)b2(i)…b32(i) b1(i) b2(i) b3(i) … b32(i) k1(pi+1)k2(pi+1)k3(pi+1)…k32(pi+1) x1(1)…x8(1) x1(2)…x8(2) x1(3)…x8(3) x1(4)…x8(4)= x4x1 ynx1 =(Anx4 x4x1) mod256 ynx1 n-bayt S-blok S0 S1 znx1 n-bayt 1 yarim bayt 1 10 1 2 juftliklarni siqish natijalari olinib, 1-bosqich siqish amalga oshiriladi. Bu jarayon (m-2) marta takrorlanib, to’la siqishga erishiladi. w4x14- bayt f(Ri,kpi+1) + Li+1 Ri+1 Algoritm i-raundining blok sxemasi |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling