Mirzo ulug’bek nomidagi



Yüklə 0,67 Mb.
səhifə39/93
tarix20.10.2023
ölçüsü0,67 Mb.
#128930
1   ...   35   36   37   38   39   40   41   42   ...   93
KRIPTOGRAFIK USULLAR OQUV QOLLANMA

Boshlang‘ich qayta ishlash. Xeshlanuvchi ma’lumot SHA-1 ga o‘xshab uzunligi 512 ga karrali bo‘lguncha to‘ldiriladi. To‘ldirishda ma’lumotdan keyin 1 yoziladi va qolgan bitlar nolь bilan to‘ldiriladi. Bunda ma’lumot uzunligi 512 modulь bo‘yicha 448 bilan taqqoslanadigan qilib to‘ldiriladi. Keyin berilgan ma’lumotning 64 bitlik uzunligi yoziladi.

  • Ma’lumotni 512 bitlik bloklarga ajratish. Kengaytirilgan ma’lumot 512 bitlik



  • М (1) , М (2) ,..., М ( N )
    bloklarga ajratiladi.




    1. Asosiy sikl. Bussiklni yozish uchun argumenti va qiymatlari 32 bit bo‘lgan oltita mantiqiy funksiyadan foydalaniladi:

    Ch (x,y,z)=(xy)( xz),
    Maj (x,y,z)=(xy)( xz)(yz),
    0(x)=S2(x) S13(x) S22(x),
    1(x)=S6(x) S11(x) S25(x),
    0(x)=S7(x) S18(x) R3(x),
    1(x)=S17(x) S19(x) R10(x).



    М (i )
    blokni


    М (i ) M (i ) M (i ) ...M (i )
    16 ta 32 bitlik so‘zlarga ajratiladi va

    0 1 15



    W ,...,W
    lar quyidagicha aniqlanadi:

    0 63


    Wj


    M (i) ,


    j  0,...,15,




    j
    for j=16 to 63 {
    Wj 1 (Wj 2 ) Wj 7 0 (Wj 15 ) Wj 16
    }



    K 0 ,..., K 63
    o‘zgarmaslar sifatida esa quyidagi 64 ta 16 lik ko‘rinishda

    tasvirlangan tub sonlardan chiqarilgan kub ildizlar kasr qismlarining birinchi 32 biti olinadi:
    428a2f98 71374491 b5c0fbcf e9b5dba5 3956c25b 59f111f1 923f82a4 ab1c5ed5 d807aa98 12835b01 243185be 550c7dc3 72be5d74 80deb1fe 9bdc06a7 c19bf174 e49b69c1 efbe4786 0fc19dc6 240ca1cc2de92c6f 4a7484aa 5cb0a9dc 76f988da 983e5152 a831c66d b00327c8 bf597fc7 c6e00bf3 d5a79147 06ca6351 14292967
    27b70a85 2e1b2138 4d2c6dfc 53380d13 650a7354766a0abb 81c2c92e 92722c85
    a2bfe8a1 a81a664b c24b8b70 c76c51a3 d192e819 d6990624 f40e3585 106aa070 19a4c116 1e376c08 2748774c 34b0bcb5 391c0cb3 4ed8aa4a 5b9cca4f 682e6ff3 748f82ee 78a5636f 84c87814 8cc70208 90befffa a4506ceb bef9a3f7 c67178f2
    Asosiy sikl quyidagicha bo‘ladi:
    for i=0 to N { // N – kengaytirilgan ma’lumotning bloklari soni.

    8

    7

    6

    5

    4

    3

    2
    // a, b, c, d, e, f, g, h registrlarni xesh funksiyaning (i-1) oraliq qiymati bilan // initsializatsiya qilish.


    1
    a H (i1) ;
    b H (i1) ;
    c H (i1) ;
    d H (i1) ;
    e H (i1) ;
    f H (i1) ;
    g H (i1) ;
    h H (i1) ;

    // a, b, c, d, e, f, g, h registrlarga siqish funksiyasini qo‘llaymiz.




    j
    for i=0 to 63 {// Ch (e,f,g), Maj (a,b,c), 0(a), 1(e) va W
    T1 h 1 (e)  Ch(e, f , g)  K j Wj
    T2  0 (a)  Maj(a, b, c)
    larni hisoblaymiz.


    h g ;
    }
    g f ;
    f e ;
    e d T1 ;
    d c ;
    c b ;
    b a ;
    a T1 T2

    // i – oraliq xesh qiymat
    H (i )
    ni hisoblash.

    H (i) a H (i1) ; H (i) b H (i1) ; H (i ) c H (i1) ; H (i) d H (i1) ;
    1 1 2 2 3 3 4 4
    H (i ) e H (i1) ; H (i ) f H (i1) ; H (i ) g H (i1) ; H (i ) h H (i1)
    5 5 6 6 7 7 8 7

    }
    // i – bo‘yichassikl.



    Natijada


    H ( N ) H ( N ) || H ( N ) || H ( N ) || H ( N ) || H ( N ) || H ( N ) || H ( N ) || H ( N )
    ifoda M

    1 2 3 4 5 6 7 8
    ma’lumotning xesh qiymatini beradi.
    SHA-512 xesh funksiyasi o‘zining tuzilishiga ko‘ra, SHA-256 xesh funksiyasiga o‘xshaydi, lekin unda uzunligi 64 bit bo‘lgan so‘zlar ustida amallar bajariladi. Bu algoritmda kiruvchi ma’lumotning uzunligi 2128 bitdan kichik, xesh qiymat uzunligi 512 bit bo‘ladi. Ma’lumotning uzunligi 1024 ga karrali qilib to‘ldiriladi. To‘ldirishda ma’lumot oxiriga 1 yozilib, qolgan qismi nolь bilan shunday to‘ldiriladiki, ma’lumot uzunligi 1024 ga karrali condan 128 bit kam bo‘lishi kerak. Oxiriga berilgan ma’lumotning 128 bit uzunligi qo‘shiladi. SHunday qilib, kengaytirilgan ma’lumot uzunligi 1024 ga karrali bo‘ladi.

    Boshlang‘ich vektor
    H (0)
    8 ta 64 razryadli so‘zlardan iborat bo‘lib, u quyidagi tub

    sonlar kvadrat ildizlarining kasr qismlariga teng qilib olinadi:
    H (0) ={6a09e667f3bcc908, bb67ae8584caa73b, 3c6ef372fe94f82b, a54ff53a5f1d36f1, 510e527fade682d1, 9b05688c2b3e6c1f, 1f83d9abfb41bd6b, 5be0cd19137e2179}.

    Ma’lumot 1024 bitlik qayta ishlanadi.
    М (1) , М (2) ,..., М ( N )
    bloklarga ajratiladi va ular ketma-ket

    Asosiy sikl xuddi SHA-256 algoritmidagidek bo‘lib, faqat SHA-512
    algoritmidagi funksiyalar va bajariladigan amallar 64 bitlik so‘zlarda aniqlangan

    hamda qo‘shish mod 264 bo‘yicha olinadi. Siqish funksiyasi esa faqatssikldagi iteratsiyalar soni bilan farq qiladi:


    j
    for i=0 to 79 { // Ch (e,f,g), Maj (a,b,c), 0(a), 1(e) va W
    T1 h 1 (e)  Ch(e, f , g)  K j Wj
    T2  0 (a)  Maj(a, b, c)
    larni hisoblanadi.


    h g ;
    }
    g f ;
    f e ;
    e d T1 ;
    d c ;
    c b ;
    b a ;
    a T1 T2

    Natijada H ( N ) H ( N ) || H ( N ) || H ( N ) || H ( N ) || H ( N ) || H ( N ) || H ( N ) || H ( N ) ifoda M
    1 2 3 4 5 6 7 8
    ma’lumotning xesh qiymatini beradi.
    Mantiqiy funksiyalar esa SHA-256 algoritmidagi mantiqiy funksiyalardan quyidagicha farq qiladi:
    0(x)=S28(x) S34(x) S39(x),
    1(x)=S14(x) S18(x) S41(x),
    0(x)=S1(x) S8(x) R7(x),
    1(x)=S19(x) S61(x) R6(x).



    М (i )
    blokni


    М (i ) M (i ) M (i ) ...M (i )
    16 ta 64 bitlik bloklarga ajratiladi va

    0 1 15



    0 79
    W ,...,W larni quyidagicha aniqlanadi:



    j

    j
    W M (i) , j  0,...,15,

    for j=16 to 79 {


    Wj 1 (Wj 2 ) Wj 7 0 (Wj 15 ) Wj 16
    }



    K 0 ,..., K 79
    o‘zgarmaslar sifatida esa quyidagi 80 ta 16 lik ko‘rinishda

    tasvirlangan tub sonlardan chiqarilgan kub ildizlar kasr qismlarining birinchi 64 biti olinadi:

    428a2f98d728ae22

    7137449123ef65cd

    b5c0fbcfec4d3b2f

    e9b5dba58189dbbc

    3956c25bf348b538

    59f111f1b605d019

    923f82a4af194f9b

    ab1c5ed5da6d8118

    d807aa98a3030242

    12835b0145706fbe

    243185be4ee4b28c

    550c7dc3d5ffb4e2

    72be5d74f27b896f

    80deb1fe3b1696b1

    9bdc06a725c71235

    c19bf174cf692694

    e49b69c19ef14ad2

    efbe4786384f25e3

    0fc19dc68b8cd5b5

    240ca1cc77ac9c65

    2de92c6f592b0275

    4a7484aa6ea6e483

    5cb0a9dcbd41fbd4

    76f988da831153b5

    983e5152ee66dfab

    a831c66d2db43210

    b00327c898fb213f

    bf597fc7beef0ee4

    c6e00bf33da88fc2

    d5a79147930aa725

    06ca6351e003826f

    142929670a0e6e70

    27b70a8546d22ffc

    2e1b21385c26c926

    4d2c6dfc5ac42aed

    53380d139d95b3df

    650a73548baf63de

    766a0abb3c77b2a8

    81c2c92e47edaee6

    92722c851482353b

    a2bfe8a14cf10364

    a81a664bbc423001

    c24b8b70d0f89791

    c76c51a30654be30

    d192e819d6ef5218

    d69906245565a910

    f40e35855771202a

    106aa07032bbd1b8

    19a4c116b8d2d0c8

    1e376c085141ab53

    2748774cdf8eeb99

    34b0bcb5e19b48a8

    391c0cb3c5c95a63

    4ed8aa4ae3418acb

    5b9cca4f7763e373

    682e6ff3d6b2b8a3

    748f82ee5defb2fc

    78a5636f43172f60

    84c87814a1f0ab72

    8cc702081a6439ec

    90befffa23631e28

    a4506cebde82bde9

    bef9a3f7b2c67915

    c67178f2e372532b

    ca273eceea26619c

    d186b8c721c0c207

    eada7dd6cde0eb1e

    f57d4f7fee6ed178

    06f067aa72176fba

    0a637dc5a2c898a6

    113f9804bef90dae

    1b710b35131c471b

    28db77f523047d84

    32caab7b40c72493

    3c9ebe0a15c9bebc

    431d67c49c100d4c

    4cc5d4becb3e42b6

    597f299cfc657e2a

    5fcb6fab3ad6faec

    6c44198c4a475817.

    SHA-384 xesh funksiyasi algoritmi SHA-512 algoritmidan faqat boshlang‘ich vektori:

    H (0)
    = {cbbb9d5dc1059ed8, 629a292a367cd507, 9159015a3070dd17,

    152fecd8f70e5939, 67332667ffc00b31, 8eb44a8768581511, db0c2e0d64f98fa7, 47b5481dbefa4fa4} bilan farq qiladi. Bu algoritmda kiruvchi ma’lumotning uzunligi 2128 bitdan kichik bo‘lib, xesh qiymat uzunligi 384 bit bo‘ladi. Boshqa hamma hisoblashlar SHA-512 algoritmi bilan bir xil bo‘ladi. Natijada, chiquvchi xesh qiymat sifatida:

    H ( N ) H ( N ) || H ( N ) || H ( N ) || H ( N ) || H ( N ) || H ( N ) || H ( N ) || H ( N )
    ning chap tomondan 384 biti, ya’ni

    1 2 3 4 5 6 7 8



    H ( N ) H ( N ) || H ( N ) || H ( N ) || H ( N ) || H ( N ) || H ( N )
    olinadi.

    1 2 3 4 5 6

      1. Yüklə 0,67 Mb.

        Dostları ilə paylaş:
    1   ...   35   36   37   38   39   40   41   42   ...   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ə