• ( gcd ) ikkita son orasidagi eng katta boluvchini topadi. Masalan, Ikkita son umumiy omillarga ega bolmasa, birgalikda tub son
  • Masalan, Ushbu fokuslar hisoblash uchun qulay boladi Asosiy faktorizatsiya murakkabligi
  • Asosiy faktorizatsiya
  • Loyiha ishi mavzu: Shor algoritmi yordamida rsa ni buzish




    Download 1,91 Mb.
    Pdf ko'rish
    bet2/4
    Sana19.05.2024
    Hajmi1,91 Mb.
    #243719
    1   2   3   4
    Bog'liq
    ibm lab

    RSA algoritmi 
    Quyida RSA algoritmi keltirilgan. Hozircha bizning so'zlarimizni qabul 
    qilishingiz mumkin, agar biz asosiy faktorizatsiyani qanday samarali qilishni bilsak, 
    RSA tarix bo'ladi. 
    Biroq, biz yuqoridagi bir nechta atamalarni tushunishimiz kerak. Eng katta 
    umumiy bo'luvchi 
    ( gcd )
    ikkita son orasidagi eng katta bo'luvchini topadi. Masalan, 
    Ikkita son umumiy omillarga ega bo'lmasa, birgalikda 
    tub son
    hisoblanadi. 
    “ mod ”
    dasturchilarga tanish boʻlgan modul operatori (masalan, 14 % 10 = 4). 
    Keling, ba'zi modul hisoblarini ko'rib chiqaylik. 


    Masalan, 
     
    Ushbu fokuslar hisoblash uchun qulay bo'ladi 
    Asosiy faktorizatsiya murakkabligi 
    Klassik hisoblash bilan biz asosiy faktorizatsiyani hal qila oladigan eng yaxshi narsa: 
    bu yerda n - tub sonlar mahsulotini ifodalovchi bitlar soni. Shor algoritmi buni 
    amalga oshirishi mumkin. 
    taxminan eshiklar soni bilan 
    Asosiy faktorizatsiya 
    Ammo uni hal qilish uchun biz yechimni noodatiy tarzda rasmiylashtirishimiz 
    kerak. Quyidagi tenglamalar yordamida 21 ning tub omillarini topamiz. Sehrli 
    tarzda, bu tenglamalar bizning javobimiz bo'lgan 7 va 3 raqamlari bilan tugaydi. 


    Biroq, bu oddiy omad emas. Ularning orqasida ko'plab matematik nazariyalar 
    mavjud. Asosiy g'oya - kvadrati pastdagi o'ngdagi atamaga teng bo'lgan raqamni 
    (bizning holatda 8) topishdir. 
    Shunday ekan, keling, omadimizni yana bir bor sinab ko'ring. X = 2 tasodifiy 
    taxmin bilan boshlang . Birinchidan, biz x va N ko'p tub ekanligini bilmoqchimiz . 
    Buni Evklid algoritmi yordamida amalga oshirish mumkin . Quyida 21 dan 15 gacha 
    bo'lgan umumiy omilni topishga misol keltirilgan. 
    Shunday qilib, 3 21 va 15 uchun umumiy koeffitsient bo'lib, shuning uchun 
    21 va 15 umumiy son emas. Agar x va 21 birgalikda tub bo'lmasa, gcd(x, 21) asosiy 
    omillardan biri bo'ladi va biz tugatdik. Ammo bu haqiqiy muammoda tez-tez sodir 


    bo'lishini kutmang. Katta ehtimol bilan, x N bilan birga tub sondir . Endi biz 
    quyidagi kuchlar funksiyasini hisoblaymiz. 
    ya'ni x=2 bilan . 
    Bu funksiya 6 ( r = 6 ) davriga ega , ya'ni funksiya qiymatlari har 6 ta qiymatda 
    takrorlanadi. Agar r 2 ga bo'linsa, u 3 ga aylanadi. Biz xohlagan 8 raqami oddiygina 
    pow(2, 3), ya'ni . pow(x, 3) . 
    Xulosa qilib aytganda, biz taxmin qilishdan boshlaymizda u bilan birgalikda 
    ishlayotganligini tekshiring. Agar yo'q bo'lsa, biz asosiy omillarni topish uchun gcd 
    dan foydalanamiz. Aks holda, quvvat funksiyasining davrini hisoblaymiz. 
    Agar r davri juft bo'lsa, biz qidirayotgan raqam pow(x, r/2) - quyida qizil rang 
    bilan chizilgan. Agar r juft bo'lmasa, biz x bo'yicha yana bir taxmin qilamiz va 
    qaytadan urinib ko'ramiz. 


    Amalda, siz davrni tenglashtirish uchun juda teng imkoniyatga ega bo'lishingiz 
    kerak. 
    N = 15
    uchun vaziyatni ko'rib chiqing . Bizda ... bor 
    X
    ning juda ko'p tanlovi bizni to'g'ri echimga olib boradi. Imkoniyatlar juda qulay. 
    Qiyin qism modul funksiyasining davrini topishdir. Shor algoritmi bizni 
    Cheklangan xatolik ehtimoli polinom vaqti (BPP) deb nomlangan algoritmlar 
    sinfiga olib boradi. Murakkablik nazariyasida biz eng yomon stsenariy uchun 
    murakkablikni hisoblaymiz, aytaylik 
    O(n)
    . Amalda, eng yomon vaziyat senariysi 
    hali ham eksponent bo'lsa ham (lekin imkoniyat odatda juda kichik) ko'p nomli 
    vaqtda yechim topish umumiy norma bo'lgan muammolar mavjud.Afsuski, 
    yuqoridagi modul funksiyasining davrini topish klassik hisoblash yordamida 
    osonlikcha hal etilmaydi. Bu erda kvant hisoblash keladi. Quyidagi funktsiyaning 
    davri bir marta 
    kvant hisoblash orqali topiladi va u teng, biz 
    gcd ni
    hisoblaymiz . Buni biz avval 
    muhokama qilganimizdek, Evklid algoritmi yordamida osonlik bilan bajarish 
    mumkin

    Ammo davrni aniqlash usulini tushunish uchun birinchi navbatda bir nechta asosiy 
    tushunchalarni qamrab olishimiz kerak. 
    Endi IBMni Kvant labaratoriyasida davom etiramiz. 



    Download 1,91 Mb.
    1   2   3   4




    Download 1,91 Mb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Loyiha ishi mavzu: Shor algoritmi yordamida rsa ni buzish

    Download 1,91 Mb.
    Pdf ko'rish