• DSA ERI algoritmi.
  • Parametrlarni generatsiyalash
  • Imzoni tekshirish ; ; ; ; bo’lganligi bois, imzo to’g’ri. EC DSA raqamli imzo algoritmi.
  • Openssl kutubxonasidan foydalangan holda rsa algoritmi asosida eri hosil qilish




    Download 0,92 Mb.
    bet2/4
    Sana18.05.2024
    Hajmi0,92 Mb.
    #241787
    1   2   3   4
    Alisa




    Bob







    p=3 va q=11 sonlari tanlanadi
    hisoblanadi

    tanlanadi
















    xabarni imzolash










    Tasdiqlash:


    Demak imzo haqiqiy









    DSA ERI algoritmi. 1991 yilda NIST (National Institute of Standard and Technology) tomonidan DSA (Digital Signature Algorithm) algoritmiga asoslangan DSS (Digital Signature Standard) ERI standarti yaratildi. Ushbu algoritm chekli maydonda diskret logarifmlash muammosiga asoslangan. Xesh funksiya sifatida SHA1 standartidan foydalanilgan.
    Ochiq va yopiq kalitlar

    1. Mahfiy kalit

    Imzoni shakllantirish:
    1. Imzolanuvchi M ma'lumotni imzolashda quyidagi ketma – ketliklar bajariladi:

      1. p – tub son tanlanadi (21023< p <21024 va bit uzunligi 64 ga karrali);

      2. q – tub son tanlanadi (2159< q <2160 va p-1 ning bo’luvchisi);

      3. 0 < h < p va h(p-1)/q mod p >1 shartlarni qanoatlantiruvchi h kattalik asosida

    g = h(p-1)/q mod p butun son hisoblanadi;

      1. x – maxfiy kalit orqali, y = qx mod p ochiq kalit hisoblanadi (bu yerda: 0

    1. Ma’lumot jo’natuvchisi tasodifiy k sonini tanlaydi (0shart bilan). Ushbu kattalik imzo shakllantirilgandan so’ng o’chirib tashlanadi.

    2. M ma'lumotni imzolari quyidagilarga teng bo‘ladi:

    r = gk mod p mod q,
    s = k-1(xr + H(M)) mod q.
    Hosil qilingan kattaliklar (r, s) ma’lumot M ga qo’shib imzoni tekshiruvchi tomonga yuboriladi.
    Imzoni tekshirish jarayoni:
    Qabul qilingan M’ ma’lumot va unga qo’yilgan imzo (r’, s’) asosida imzoni tekshirish jarayoni amalga oshiriladi. Bu ikki bosqichdan iborat. Agar imzo birinchi bosqichdagi tekshiruvdan o‘ta olmasa, unda ikkinchi bosqichga o‘tmaydi.
    Qabul qilingan imzolar uchun 0 < s’ < q yoki 0 < r’ < q shart tekshiriladi. Bu shart bajarilsa ikkinchi bosqichga o‘tiladi.

    1. Ikkinchi bosqich quyidagilardan iborat:

    1. v = (s’)-1(mod q) hisoblanadi.

    2. z1 = H(M’) v mod q, z2 = r’ v mod q qiymatlar hisoblanadi.

    3. Shundan so’ng u = mod p mod q qiymat hisoblanadi.

    4. Agar r’ = u tenglik bajarilsa, u holda qo’yilgan elektron raqamli imzo haqiqiy (M = M’) bo’ladi. Aks holda imzo qalbaki deb topiladi.

    • Parametrlarni generatsiyalash

    ;
    Xesh qiymat uzunligi 4 ga tengligi uchun tanlash mumkin.
    Shuningdek, ni tanlash mumkin, ya’ni ;
    Bundan tashqari, .

    • Kalitlarni hosil qilish

    Shaxsiy kalit uchun:
    U holda ochiq kalit quyidagiga teng bo’ldi: .

    • Xabarni imzolash

    deb tanlaylik;
    U holda ;
    bo’lganligi bois, keying qadamga o’tamiz;
    , ya'ni .
    bo’lganligi bois, keyingi qadamga o’tamiz:
    Imzo jufti ga teng.

    • Imzoni tekshirish

    ;
    ;
    ;
    ;
    bo’lganligi bois, imzo to’g’ri.
    EC DSA raqamli imzo algoritmi.
    Imzoni generatsiya kilish algoritmi. Boshlang'ich ma'lumotlar: - imzo lanishi kerak bo'lgan ma'lumot, berilgan parametrlar va imzo kaliti.
    Natija: imzo .
    1) intervaldan tasodifiy soni tanlanmoqda, bu erda nuqta tartibi shartni qanoatlantiruvchi tub son bo‘lishi kerak.
    2) hisoblanadi.
    3) hisoblanadi.
    4) Agar bo’lsa, u holda 1-qadamga boriladi, aks holda keyingi qadamga o‘tiladi.
    5) hisoblanadi.
    6) hisoblanadi.
    7) hisoblanadi.
    8) Agar bo’lsa, u holda 1-qadamga boriladi.
    9) - ma'lumot imzosi - juftligidan iborat.
    Imzoni tekshirish. Boshlang‘ich ma'lumotlar ma'lumot, berilgan (elliptik chiziqqa aloqador) parametrlar, imzoni tekshirish kaliti va ma'lumot imzoni -(r,s). Natija: imzo haqiqiyligi yoki qalbakiligi haqidagi tasdiq.
    Imzoni tekshirish qadamlari:

    1. Agar 1 r, s n-1 bajarilmasa, u holda imzo qalbaki va tekshirishni shu yerda to‘xtatish mumkin.

    2. e= H(M) hisoblansin.

    3. w= H(M) (n-2)mod n hisoblansin.

    4. u1 = s w mod q hisoblansin.

    5. u2 = (n-r) w mod n hisoblansin.

    6. X=[ u1] G+[ u2] Q=(x1,y1) hisoblansin.

    7. Agar x1 mod n = r bo‘lsa, imzo haqiqiy, aks holda imzo qalbaki va algoritm to‘xtatiladi.

    Amaliy qism
    Openssl yordamida ERI ni hosil qilish

    8.1- rasm. Yopiq kalit hosil qilish

    8.2- rasm. Yopiq kalitning ko‘rinishi

    8.3-rasm. Yaratilgan yopiq kalitning fayl ko‘rinishi

    8.4-rasm. Yopiq kalitdan ochiq kalitni hosil qilish



    8.5-rasm. Ochiq kalitning fayl ko‘rinishi



    8.5-rasm. Ochiq kalitning qiymati

    8.6-rasm. Qabul qiliuvchi uchun yopiq kalit hosil qilish

    8.6-rasm. Qabul qiliuvchi uchun ochiq kalit hosil qilish



    8.7-rasm. Qabul qiluvchi uchun hosil qilingan ochiq va yopiq kalitning fayl ko‘rinishi

    8.8-rasm. Ochiq matnning fayl ko‘rinishi

    8.9-rasm. Elektron raqamli imzo hosil qilish

    8.10-rasm. Hosil qilingan elektron raqamli imzoning fayl ko‘rinishi

    8.11-rasm. Ochiq matn faylini shifrlash

    8.12-rasm. Shifrlangan ma’lumotning fayl ko‘rinishi

    8.13-rasm. Shifrlangan faylni ochish

    8.14-rasm. Elektron raqamli imzoni tekshirish
    RSA ni python muhitida dasturini ko’rib chiqamiz
    import os
    # C:\OpenSSL-Win64\bin\openssl.exe
    SSLManzili = input("Iltimos Open-SSL manzilini kiriting-->")
    print("\t!!!RSA ga shifrlash algoritmiga!!!\n\t\t\t Xush kelibsiz")
    def DES3_Shifr():
    ShifrMatn = input("Shifrlamoqchi bo'lgan matn (txt) nomini kiriting-->")
    KalitHajmi = input("Kalit (son) kiriting-->")
    print(os.system(f"{SSLManzili} genrsa -out \"{ShifrMatn}\" {KalitHajmi}"))
    while True:
    x = int(input("1)RSA shifrlash\n2)Exit\nTanlang-->"))
    if x == 1:
    DES3_Shifr()
    else:
    break



    Download 0,92 Mb.
    1   2   3   4




    Download 0,92 Mb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Openssl kutubxonasidan foydalangan holda rsa algoritmi asosida eri hosil qilish

    Download 0,92 Mb.