Miller-Rabinning dastlabki sinovi - Miller–Rabin primality test

The Miller-Rabinning dastlabki sinovi yoki Rabin-Millerning dastlabki sinovi a dastlabki sinov: an algoritm bu raqam berilganligini yoki yo'qligini aniqlaydi ehtimol boshlang'ich bo'lishi mumkin, ga o'xshash Fermalarning dastlabki sinovi va Solovay – Strassen uchun dastlabki sinov. Gari L. Miller uni 1976 yilda kashf etgan; Millerning test versiyasi deterministik, lekin uning to'g'riligi isbotlanmagan narsalarga bog'liq kengaytirilgan Riman gipotezasi.[1] Maykl O. Rabin so'zsiz olish uchun uni o'zgartirdi ehtimollik algoritmi 1980 yilda.[2] Ushbu testni ko'pincha M. M. Artjuhov 1967 yilda kashf etgan deb aytishadi[3] ammo bu noto'g'ri: Artjuhovning qog'ozini o'qish (xususan uning Teoremasi E) uning kashf etganligini ko'rsatadi Solovay-Strassen testi, Miller-Rabin testi emas.

Matematik tushunchalar

Xuddi Fermat va Solovay-Strassen testlari singari, Miller-Rabin testi ham asosiy qiymatlar uchun to'g'ri bo'lgan tenglik yoki tengliklar to'plamiga tayanadi, so'ngra ular biz birinchi darajaga tekshirmoqchi bo'lgan raqamga egami yoki yo'qligini tekshiradi.

Birinchidan, a lemma kvadrat haqida birlikning ildizlari ichida cheklangan maydon Z/pZ, qayerda p asosiy va p > 2. Shubhasiz 1 va -1 qiymatlari har doim kvadratga bo'linishda 1 hosil bo'ladi p; ularga qo'ng'iroq qiling ahamiyatsiz kvadrat ildizlar of 1. Yo'q nodavlat 1 modulning kvadrat ildizlari p (natija uchun maxsus holat, maydonda, a polinom darajasidan ortiq nolga ega emas). Buni ko'rsatish uchun, deylik x 1 modulning kvadrat ildizi p. Keyin:

Boshqacha qilib aytganda, asosiy p mahsulotni ajratadi (x − 1)(x + 1). By Evklid lemmasi bu omillardan birini ajratib turadi x − 1 yoki x + 1, shuni nazarda tutadi x 1 yoki −1 modullariga mos keladi p.

Endi, ruxsat bering n bosh bo'ling va n > 2. Bundan kelib chiqadiki n − 1 teng va biz uni 2 deb yozishimiz mumkins·d, qayerda s va d musbat butun sonlar va d g'alati Har biriga a ichida (Z/nZ)*, yoki

yoki

bir necha 0 ≤ r for uchun s − 1.

Ulardan biri to'g'ri bo'lishi kerakligini ko'rsatish uchun eslang Fermaning kichik teoremasi, bu oddiy son n uchun:

Yuqoridagi lemma bo'yicha, agar biz kvadrat ildizlarini olishni davom ettirsak an−1, biz 1 yoki -1 ni olamiz. Agar biz $ frac {1} $ olsak, u holda ikkinchi tenglik bajariladi va bajariladi. Agar biz hech qachon $ frac {1} $ olmasak, unda $ 2 $ ning har bir kuchini chiqarganimizda, birinchi tenglik qoladi.

Bunday holda n bu asosiy (n> 2), n-1 teng bo'lishi kerak, shunda biz quyidagilarni yozishimiz mumkin:

qachon d toq Shunday qilib, biz yozamiz bu , biz ushbu atamani baholashimiz mumkin:

Shaxsiyatdan bizda bor:

biz atamani quyidagicha kengaytirishimiz mumkin:

va

agar n bu asosiy, keyin yoki yoki yoki yoki ... yoki .

Miller-Rabinning dastlabki sinovi quyidagilarga asoslangan qarama-qarshi yuqoridagi da'vo. Ya'ni agar topsak a shu kabi

va

barchasi uchun 0 ≤ r ≤ s - 1, keyin n asosiy emas. Biz qo'ng'iroq qilamiz a a guvoh kompozitsiyasi uchun n (ba'zan noto'g'ri deb nomlangan a kuchli guvoh, garchi bu haqiqatning aniq dalilidir). Aks holda a deyiladi a kuchli yolg'onchiva n a kuchli ehtimoliy bosh asoslash a. "Kuchli yolg'onchi" atamasi bu holatni anglatadi n kompozitsion, ammo baribir tenglamalar asosiy darajadagi kabi ishlaydi.

Miller-Rabin psevdoprimalar deyiladi kuchli psevdoprimalar.

Har qanday g'alati kompozitsion n ko'plab guvohlari bor a. Biroq, bunday ishlab chiqarishni oddiy usuli yo'q a ma'lum. Yechim sinovni o'tkazishdir ehtimoliy: biz nolga teng bo'lmagan narsani tanlaymiz a yilda Z/nZ tasodifiy, va bu murosa uchun guvoh yoki yo'qligini tekshiring n. Agar n kompozitsion, aksariyat tanlovlar uchun a guvoh bo'ladi va sinov aniqlaydi n yuqori ehtimollik bilan kompozit sifatida. Shunga qaramay, bizning omadsizligimiz va urishimiz uchun kichik imkoniyat bor a bu kuchli yolg'onchi n. Biz mustaqil ravishda tanlanganlar uchun testni takrorlash orqali bunday xatolik ehtimolini kamaytirishimiz mumkin a.

Biroq, ko'plab bazalarga testlarni o'tkazishda kamayib boradigan daromadlar mavjud, chunki agar shunday bo'lsa n bu pseudoprime hisoblanadi a, keyin boshqa bazaga yolg'on voqea bo'lishi ehtimoli ko'proq ko'rinadi b.[4]:§8

Katta sonlarni sinash uchun tasodifiy asoslarni tanlash odatiy holdir aapriori sifatida biz guvohlar va yolg'onchilarni 1, 2, ..., raqamlar orasida taqsimlanishini bilmaymiz. n - 1. Xususan, Arnault [5] 397 raqamli kompozit raqamni berdi, buning uchun barcha asoslar mavjud a 307 dan kamrog'i kuchli yolg'onchilardir. Kutilganidek, bu raqam asosiy tomonidan e'lon qilindi Chinor isprime () 2,3,5,7 va 11 ning bazalarini tekshirish orqali Miller-Rabin testini amalga oshirgan funktsiya. Ammo bir nechta aniq kichik asoslarni tanlash uchun kompozitsiyalarning identifikatsiyasini kafolatlashi mumkin. n aytilgan bazalar tomonidan belgilanadigan maksimaldan kamroq. Ushbu maksimal, asosan, bazalarga nisbatan ancha katta. Kichkina uchun tasodifiy asoslarda bunday determinizm yo'q n, ba'zi bir sharoitlarda aniq bazalar yaxshiroqdir.

Misol

Agar yo'qligini aniqlamoqchi bo'lsak n = 221 asosiy hisoblanadi. Biz yozamiz n − 1 = 220 2. sifatida2· 55, shuning uchun bizda mavjud s = 2 va d = 55. Biz tasodifiy raqamni tanlaymiz a shunday qilib 1 <a < n - 1, ayting a = 174. Biz quyidagilarni hisoblashga kirishamiz:

  • a20·d mod n = 17455 mod 221 = 47-1, n − 1
  • a21·d mod n = 174110 mod 221 = 220 = n − 1.

220 ≡ -1 moddan beri n, yoki 221 asosiy, yoki 174 221 uchun kuchli yolg'onchi. Biz yana bir tasodifiy harakat qilamiz a, bu safar tanlash a = 137:

  • a20·d mod n = 13755 mod 221 = 188-1, n − 1
  • a21·d mod n = 137110 mod 221 = 205 ≠ n − 1.

Demak, 137 - 221 ning murosasiga guvoh, 174 esa aslida yolg'onchi edi. E'tibor bering, bu bizga 221 (ular 13 va 17) omillari haqida hech narsa demaydi. Biroq, keyingi qismdagi 341 bilan keltirilgan misol, ushbu hisob-kitoblarning ba'zida qanday qilib omil yaratishi mumkinligini ko'rsatadi n.

Miller-Rabin testi

Algoritmni yozish mumkin psevdokod quyidagicha. Parametr k testning aniqligini aniqlaydi. Davralar soni qancha ko'p bo'lsa, natija shunchalik aniq bo'ladi.

Kiritish №1: n > 3, ustunlik uchun tekshiriladigan toq tamsayıKirish # 2: k, amalga oshirish uchun sinov turlarining soniChiqish: “kompozit”Agar n kompozitsion deb topildi, “ehtimol asosiy”Deb yozgan n 2. sifatidar·d + 1 bilan d g'alati (2 dan kuchini faktoring bilan n - 1) WitnessLoop: takrorlang k marta: tasodifiy butun sonni tanlang a oralig'ida [2, n − 2]    xad mod n    agar x = 1 yoki x = n − 1 keyin        davom eting WitnessLoop takrorlang r − 1 marta:        xx2 mod n        agar x = n − 1 keyin            davom eting WitnessLoop qaytishkompozitqaytishehtimol asosiy

Murakkablik

Foydalanish takroriy kvadratchalar, ushbu algoritmning ishlash vaqti O (k jurnal3n), qayerda n bu birinchi darajaga tekshirilgan raqam va k o'tkazilgan turlar soni; Shunday qilib, bu samarali, polinomial vaqt algoritmi. FFT -qisobga olingan ko'paytirish ish vaqtini pastga tushirishi mumkin O (k jurnal2n log log n log log log n) = Õ (k jurnal2n).

Aniqlik

Primality testida qilingan xato, kompozitsion raqamni ehtimol bosh deb e'lon qilish ehtimoli bilan o'lchanadi. Ko'proq asoslar a sinab ko'rilgan bo'lsa, testning aniqligi qanchalik yaxshi bo'lsa. Agar shunday bo'lsa, buni ko'rsatish mumkin n kompozitsion, keyin ko'pi bilan14 asoslarning a kuchli yolg'onchilar n.[2][6] Natijada, agar n kompozit, keyin ishlaydi k Miller-Rabin testining takrorlanishi e'lon qilinadi n ehtimol eng katta 4 ehtimollik bilan boshlangk.

Bu yaxshilanish Solovay – Strassen testi, eng yomon error xatosi 2 ga tengk. Bundan tashqari, Miller-Rabin testi Solovay-Strassen testidan qat'iy nazar har bir kompozitsiya uchun kuchliroqdir. n, uchun kuchli yolg'onchilar to'plami n to'plamining pastki qismidir Eyler yolg'onchilari uchun nva ko'pchilik uchun n, ichki qism to'g'ri.

Bundan tashqari, ning katta qiymatlari uchun n, kompozitsion raqamni e'lon qilish ehtimoli, ehtimol, asosan, 4dan sezilarli darajada kichikroqk. Masalan, ko'p sonlar uchun n, bu ehtimollik 8 bilan chegaralangank; raqamlarning nisbati n Bu yuqori chegarani bekor qiladigan narsa yo'qoladi, chunki biz katta qiymatlarni ko'rib chiqamiz n.[7] Shuning uchun o'rtacha ish 4 ga qaraganda ancha aniqroqk, ishlatilishi mumkin bo'lgan haqiqat ishlab chiqaruvchi mumkin bo'lgan asosiy sonlar (pastga qarang). Biroq, bunday yaxshilangan xato chegaralariga ishonmaslik kerak tasdiqlang asosiy kimlar ehtimollik taqsimoti nazorat qilinmaydi, chunki a kriptografik raqib birinchi darajali sinovni engish uchun puxta tanlangan psevdoprime yuborishi mumkin. Bunday sharoitda faqat eng yomon ish xatolik 4 ga tengk ishonish mumkin.

Shuni ta'kidlash kerakki, ushbu algoritmning ko'plab keng tarqalgan dasturlarida biz yuqorida tavsiflangan xatolar bizni qiziqtirmaydi. Yuqoridagi xatolik birikma sonning keyin mumkin bo'lgan asosiy deb e'lon qilinishi ehtimoli k test sinovlari. Biz aksincha, o'tib ketganidan keyin ehtimollik bilan qiziqamiz k test sinovlari, sinovdan o'tgan raqam aslida kompozitsion raqamdir. Rasmiy ravishda, agar biz e'lon qilish hodisasini chaqirsak n keyin mumkin bo'lgan asosiy k Miller-Rabin davralari Ykva biz voqeani shunday deb ataymiz n kompozitdir X (va hodisani belgilang n asosiy hisoblanadi ), keyin yuqoridagi chegara bizga beradi bizni qiziqtiradi . Bayes teoremasi bizga ushbu ikki shartli ehtimollikni, ya'ni bog'lash uchun yo'l beradi

.

Bu bizni tez-tez qiziqtiradigan ehtimollik faqatgina 4 ga bog'liq emasligini aytadik Yuqorida bog'langan, shuningdek yaqin mintaqadagi tub sonlarning zichligiga bog'liq ehtimolliklar n.

Deterministik variantlar

Miller testi

Miller-Rabin algoritmini hamma narsani sinab ko'rish orqali deterministik qilish mumkin a ma'lum bir chegaradan past. Umuman olganda, muammo sinovni hali ham ishonchli bo'lishi uchun chegarani belgilashda.

Agar sinovdan o'tgan raqam n kompozitsion, kuchli yolg'onchilar a coprime to n tegishli ravishda mavjud kichik guruh guruhning (Z/nZ) *, demak, agar barchasini sinab ko'rsak a to'plamdan qaysi hosil qiladi (Z/nZ) *, ulardan biri aytilgan kichik guruh tashqarisida yotishi kerak, shuning uchun kompozitsiyaning guvohi bo'lishi kerak n. Ning haqiqatini taxmin qilsak umumlashtirilgan Riman gipotezasi (GRH), ma'lumki, guruh uning elementlari tomonidan kichikroqdir O ((log.)n)2), bu allaqachon Miller tomonidan qayd etilgan.[1] Da doimiy ishtirok etgan Big O notation ga kamaytirildi Erik Bax.[8] Bu quyidagi deb nomlanuvchi shartli dastlabki sinov algoritmiga olib keladi Miller testi:

Kiritish: n > 1, ustunlik uchun tekshiriladigan toq tamsayıChiqish: “kompozit”Agar n kompozitsion "asosiy”Deb yozgan n 2. sifatidar·d + 1 bilan d g'alati (2 dan kuchini faktoring bilan n - 1) WitnessLoop: Barcha uchun a yilda oralig'i [2, min (n−2, ⌊2(ln n)2⌋)]:    xad mod n    agar x = 1 yoki x = n − 1 keyin        davom eting WitnessLoop takrorlang r − 1 marta:        xx2 mod n        agar x = n − 1 keyin            davom eting WitnessLoop qaytishkompozitqaytishasosiy

Sinovning to'g'riligini ta'minlash uchun umumlashtirilgan Riman gipotezasining to'liq kuchiga ehtiyoj qolmaydi: chunki biz hatto kichik guruhlar bilan ishlaymiz indeks uchun GRH ning amal qilish muddatini qabul qilish kifoya kvadratik Dirichlet belgilar.[6]

Algoritmning ishlash vaqti quyidagicha yumshoq-O yozuv, Õ ((log.) n)4) (FFT asosidagi ko'paytma yordamida).

Miller testi amalda qo'llanilmaydi. Ko'pgina maqsadlarda, ehtimol Miller-Rabin testidan yoki Baillie - PSW dastlabki sinovi ancha tezroq yugurishda etarli ishonchni beradi. Kabi amalda keng qo'llaniladigan isbotlash usullariga qaraganda sekinroq APR-CL va ECPP isbotlanmagan taxminlarga ishonmaydigan natijalarni beradi. Determinatsiyalangan polinom vaqt algoritmini talab qiladigan nazariy maqsadlar uchun uni o'rniga qo'ydi AKS dastlabki sinovi, bu ham tasdiqlanmagan taxminlarga ishonmaydi.

Kichik bazalar to'plamlariga qarshi sinov

Raqam qachon n sinovdan o'tish kichik, barchasini sinab ko'radi a <2 (ln n)2 kerak emas, chunki potentsial guvohlarning juda kichik to'plamlari etarli. Masalan, Pomerance, Selfridge, Wagstaff[4] va Yeske[9] buni tasdiqladilar

  • agar n <2,047, sinov uchun etarli a = 2;
  • agar n <1,373,653, sinov uchun etarli a = 2 va 3;
  • agar n <9,080,191, sinov uchun etarli a = 31 va 73;
  • agar n <25,326,001, sinov uchun etarli a = 2, 3 va 5;
  • agar n <3,215,031,751, sinov uchun etarli a = 2, 3, 5 va 7;
  • agar n <4,759,123,141, sinov uchun etarli a = 2, 7 va 61;
  • agar n <1,122,004,669,633, sinov uchun etarli a = 2, 13, 23 va 1662803;
  • agar n <2,152,302,898,747, sinov uchun etarli a = 2, 3, 5, 7 va 11;
  • agar n <3,474,749,660,383, sinov uchun etarli a = 2, 3, 5, 7, 11 va 13;
  • agar n <341,550,071,728,321, sinov uchun etarli a = 2, 3, 5, 7, 11, 13 va 17.

Feitsma va Galway ishlaridan foydalanib, 2010 yilda barcha 2 ta psevdoprimlarni sanab o'tdi, bu kengaytirildi (qarang. OEISA014233), birinchi natija keyinchalik Tszian va Dengda turli xil usullardan foydalangan holda ko'rsatildi:[10]

  • agar n <3,825,123,056,546,413,051, sinov uchun etarli a = 2, 3, 5, 7, 11, 13, 17, 19 va 23.
  • agar n < 18,446,744,073,709,551,616 = 264, sinovdan o'tkazish kifoya a = 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31 va 37.

Sorenson va Vebster[11] yuqoridagilarni tasdiqlang va 64 bitdan kattaroq natijalar uchun aniq natijalarni hisoblang:

  • agar n <318,665,857,834,031,151,167,461, sinov uchun etarli a = 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31 va 37.
  • agar n <3,317,044,064,679,887,385,961,981, sinov uchun etarli a = 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37 va 41.

Yuqorida ko'rsatilganidan ko'ra ko'proq samaraliroq (kamroq asoslar talab qilinadi) bunday mezonlarning boshqa mezonlari mavjud[12][13][14][15]. Ular hech qanday taxminlarsiz tegishli diapazondagi raqamlar uchun juda tez aniqlanadigan dastlabki sinovlarni beradi.

Mumkin bo'lgan har qanday kirish hajmi uchun potentsial guvohlarning kichik ro'yxati mavjud (ko'pi bilan b uchun qiymatlar b‐Bit raqamlar). Biroq, hech qanday cheklangan bazalar to'plami barcha kompozit sonlar uchun etarli emas. Alford, Granvill va Pomerans cheksiz sonli kompozit sonlar mavjudligini ko'rsatdi n uning eng kichik kompozitsiyasi guvohi kamida (ln.) n)1 / (3 ln ln ln n).[16] Ular, shuningdek, evristik ravishda eng kichik raqam deb bahslashadi w Quyidagi har bir kompozit raqam n dan kamroq kompozitsion guvohga ega w tartibda bo'lishi kerak Θ (log n log log n).

Omillarni topish variantlari

Qo'shish orqali eng katta umumiy bo'luvchi yuqoridagi algoritmga kiritilgan hisob-kitoblar, ba'zida faktorni olishimiz mumkin n shunchaki buni aniqlash o'rniga n kompozitdir. Bu, masalan, qachon sodir bo'ladi n mumkin bo'lgan asosiy bazadir a ammo kuchli ehtimoliy asosiy tayanch emas a.[17]:1402 Ushbu holatni taqqoslash orqali algoritmda aniqlashimiz mumkin x ichki tsiklda nafaqat −1 ga, balki 1 ga ham.

Agar biron bir takrorlashda 1 ≤ bo'lsa men < r algoritm ichki tsiklning qiymatini aniqlaydi ad·2men mod n o'zgaruvchining x oldingi qiymat ekanligini bilib, keyin 1 ga teng x0 = ad·2s−1 o'zgaruvchining x ± 1 dan farqli ekanligi tekshirildi, biz buni chiqarishimiz mumkin x0 $ 1 $ va $ -1 $ bo'lmagan 1 ning kvadrat ildizi. Bu qachon mumkin emasligi sababli n asosiy narsa, bu shuni anglatadiki n kompozitdir. Bundan tashqari:

  • beri x02 ≡ 1 (mod.) n), biz buni bilamiz n ajratadi x02 − 1 = (x0 − 1)(x0 + 1);
  • beri x0 ≢ ± 1 (mod n), biz buni bilamiz n bo'linmaydi x0 − 1 na x0 + 1.

Biz bundan xulosa qilamiz A = GCD (x0 − 1, n) va B = GCD (x0 + 1, n) ning ahamiyatsiz bo'lmagan (asosiy shart emas) omillari n (aslida, beri n g'alati, bu omillar koprime va n = A·B). Demak, agar faktoring maqsad bo'lsa, ushbu GCD hisob-kitoblari algoritmga qo'shimcha qo'shimcha hisoblash xarajatlari bilan kiritilishi mumkin. Bu qo'shilgan yoki o'zgartirilgan kod ajratib ko'rsatiladigan quyidagi psevdokodga olib keladi:

Kirish # 1: n > 3, ustunlik uchun tekshiriladigan toq tamsayıKirish # 2: k, amalga oshirish uchun sinov turlarining soniChiqish: (“ning ko'pligi”, m) agar ahamiyatsiz bo'lmagan omil m ning n topildi,kompozit”Agar n aks holda kompozit deb topilgan, "ehtimol asosiy”Deb yozgan n 2. sifatidar·d + 1 bilan d g'alati (2 dan kuchini faktoring bilan n - 1) WitnessLoop: takrorlang k marta: tasodifiy butun sonni tanlang a oralig'ida [2, n − 2]    xad mod n    agar x = 1 yoki x = n − 1 keyin        davom eting WitnessLoop takrorlang r − 1 marta:        yx2 mod n        agar y = 1:            qaytish (“ning ko'pligi”, GCD (x − 1, n))        xy        agar x = n − 1 keyin            davom eting WitnessLoop qaytishkompozitqaytishehtimol asosiy

Ushbu algoritm ishlaydi emas ehtimollikni keltirib chiqaradi faktorizatsiya algoritm, chunki u faqat sonlar uchun omillarni topishga qodir n ular asos qilib olinadigan psevdoprimdir a (boshqacha qilib aytganda, raqamlar uchun n shu kabi an−1 Mod 1 mod n). Boshqa raqamlar uchun algoritm faqat “qaytadikompozit”Qo'shimcha ma'lumotisiz.

Masalan, ko'rib chiqing n = 341 va a = 2. Bizda bor n − 1 = 85·4. Keyin 285 mod 341 = 32. va 322 mod 341 = 1. Bu bizga buni aytadi n bu psevdoprim asosi 2, ammo kuchli psevdoprim bazasi emas 2. Ushbu bosqichda GCD ni hisoblash orqali biz 341 omilni topamiz: GCD (32 - 1, 341) = 31. Haqiqatdan ham, 341 = 11·31.

Faktorlarni tez-tez topish uchun, xuddi shu g'oyalarni $ mathbb {1} $ kvadrat ildizlariga (yoki boshqa har qanday raqamga) ham qo'llash mumkin, bu strategiyani Miller-Rabin testining oldingi turlaridan olingan bilimlardan foydalanish orqali amalga oshirish mumkin. Ushbu turlarda biz kvadrat ildiz modulini aniqladik n $ -1 $, aytaylik R. Keyin, qachon x2 mod n = n−1, ning qiymatini taqqoslashimiz mumkin x qarshi R: agar x ham emas R na nR, keyin GCD (xR, n) va GCD (x + R, n) ning ahamiyatsiz omillari n.[12]

Mumkin bo'lgan oddiy sonlarni yaratish

Miller-Rabin testidan kuchli ehtimoliy sonlarni hosil qilish uchun foydalanish mumkin, shunchaki butun sonlarni tasodifiy testdan o'tganga qadar chizish. Ushbu algoritm tugaydi deyarli aniq (chunki har bir takrorlashda tub sonni chizish imkoniyati mavjud). Ishlab chiqarish uchun psevdokod bbit kuchli ehtimoliy sonlar (eng muhim bit to'plami bilan) quyidagicha:

Kiritish №1: b, natijaning bit soniKirish # 2: k, amalga oshirish uchun sinov turlarining soniChiqish: kuchli ehtimollik nesa To'g'ri: tasodifiy toq sonni tanlang n oralig'ida [2b−1, 2b−1]    agar Miller-Rabin sinovlari n va k qaytaradi “ehtimol asosiykeyin        qaytish n

Ushbu generatorning xato o'lchovi uning kompozit sonni chiqarish ehtimoli. Miller-Rabin testining o'zi ko'pincha 4 dan kichikroq xatoga yo'l qo'yganligini ishlatadik (yuqoriga qarang), Damgard, Landrock va Muvaffaqiyat turli xil sinf parametrlari bilan generator uchun bir nechta xato chegaralarini keltirib chiqardi b va k[7]. Ushbu xato chegaralari dasturga oqilona tanlashga imkon beradi k kerakli aniqlik uchun.

Ushbu xato chegaralaridan biri 4 ga tengk, bu hamma uchun mos b ≥ 2 (mualliflar buni faqatgina ko'rsatganlar b 51, Ronald Burthe Jr esa qolgan 2 values ​​qiymatlari bilan dalilni to'ldirdi b ≤ 50[18]). Shunga qaramay, bu oddiy chegarani katta qiymatlari uchun yaxshilash mumkin b. Masalan, xuddi shu mualliflar tomonidan olingan yana bir shart:

bu hamma uchun tegishli b ≥ 21 va k ≥ ​b4. Ushbu chegara 4 dan kichikk Bo'lishi bilanoq b ≥ 32.

Bir qator kriptografik kutubxonalarda Miller-Rabin testi yordamida taxminiy sonlarni yaratish mumkin. Albrecht va boshq. Ushbu kutubxonalarning ba'zilari asosiy deb e'lon qilgan kompozitsion raqamlarni tuzishga muvaffaq bo'ldi.[19]

Izohlar

  1. ^ a b Miller, Gari L. (1976), "Rimann gipotezasi va birinchi darajadagi sinovlar", Kompyuter va tizim fanlari jurnali, 13 (3): 300–317, doi:10.1145/800116.803773
  2. ^ a b Rabin, Maykl O. (1980), "Dastlabki darajani sinashning ehtimol algoritmi", Raqamlar nazariyasi jurnali, 12 (1): 128–138, doi:10.1016 / 0022-314X (80) 90084-0
  3. ^ Artjuhov, M. M. (1966-1967), "Kichkina Fermat teoremasi bilan bog'liq sonlarning primalitesining ma'lum mezonlari", Acta Arithmetica, 12: 355–364, JANOB  0213289
  4. ^ a b Karl Pomerance; Jon L. Selfrij; Semyuel S. Vagstaff, kichik (1980 yil iyul). "Psevdoprimes to 25 · 109" (PDF). Hisoblash matematikasi. 35 (151): 1003–1026. doi:10.1090 / S0025-5718-1980-0572872-7.
  5. ^ F. Arnault (1995 yil avgust). "Bir necha asoslarga kuchli psevdoprimalar bo'lgan Karmikel raqamlarini yaratish". Ramziy hisoblash jurnali. 20 (2): 151–161. doi:10.1006 / jsco.1995.1042.
  6. ^ a b Schoof, René (2004), "To'rtta birinchi darajali sinov algoritmi" (PDF), Algoritmik sonlar nazariyasi: panjaralar, sonlar maydonlari, egri chiziqlar va kriptografiya, Kembrij universiteti matbuoti, ISBN  978-0-521-80854-5
  7. ^ a b Damgard, I.; Landrok, P. & Pomerance, C. (1993), "Kuchli ehtimoliy asosiy sinov uchun o'rtacha ish xatolarining baholari" (PDF), Hisoblash matematikasi, 61 (203): 177–194, Bibcode:1993MaCom..61..177D, doi:10.2307/2152945, JSTOR  2152945
  8. ^ Bax, Erik (1990), "Primality testi va unga bog'liq muammolar uchun aniq chegaralar", Hisoblash matematikasi, 55 (191): 355–380, Bibcode:1990MaCom..55..355B, doi:10.2307/2008811, JSTOR  2008811
  9. ^ Jaeschke, Gerxard (1993), "Bir nechta bazalarga kuchli psevdoprimalar to'g'risida", Hisoblash matematikasi, 61 (204): 915–926, doi:10.2307/2153262, JSTOR  2153262
  10. ^ Tszyan, Yupen; Deng, Yingpu (2014). "Birinchi sakkizta asosiy poydevorga kuchli psevdoprimalar". Hisoblash matematikasi. 83 (290): 2915–2924. doi:10.1090 / S0025-5718-2014-02830-5.
  11. ^ Sorenson, Jonatan; Vebster, Jonathan (2015). "O'n ikki asosiy bazaga kuchli psevdoprimalar". Hisoblash matematikasi. 86 (304): 985–1003. arXiv:1509.00864. Bibcode:2015arXiv150900864S. doi:10.1090 / mcom / 3134.
  12. ^ a b Kolduell, Kris. "Asallarni topish va birinchi darajani isbotlash - 2.3: Kuchli ehtimollik va amaliy sinov". Bosh sahifalar. Olingan 24-fevral, 2019.
  13. ^ Zhang, Zhenxiang & Tang, Min (2003), "Bir nechta bazalarga kuchli psevdoprimalarni topish. II", Hisoblash matematikasi, 72 (44): 2085–2097, Bibcode:2003MaCom..72.2085Z, doi:10.1090 / S0025-5718-03-01545-X
  14. ^ Sloan, N. J. A. (tahrir). "A014233 ketma-ketligi (Miller-Rabinning dastlabki sinovi <= n-chi boshlang'ich asosda kompozitsiyani ko'rsatmaydigan eng kichik toq son)". The Butun sonlar ketma-ketligining on-layn ensiklopediyasi. OEIS Foundation.
  15. ^ Izykovski, Voytsex. "Miller-Rabin boshlang'ich sinovining aniqlangan variantlari". Olingan 24-fevral, 2019.
  16. ^ Alford, V. R.; Granville, A.; Pomerance, C. (1994), "Ishonchli guvohlarni topish qiyinligi to'g'risida" (PDF), Kompyuter fanidan ma'ruza matnlari, Springer-Verlag, 877: 1–16, doi:10.1007/3-540-58691-1_36, ISBN  978-3-540-58691-3
  17. ^ Robert Bayli; Semyuel S. Vagstaff, kichik (1980 yil oktyabr). "Lukas Pseudoprimes" (PDF). Hisoblash matematikasi. 35 (152): 1391–1417. doi:10.1090 / S0025-5718-1980-0583518-6. JANOB  0583518.
  18. ^ Burthe Jr., Ronald J. (1996), "Kuchli ehtimoliy asosiy sinov bilan qo'shimcha tekshiruvlar" (PDF), Hisoblash matematikasi, 65 (213): 373–381, Bibcode:1996MaCom..65..373B, doi:10.1090 / S0025-5718-96-00695-3
  19. ^ Martin R. Albrecht; Jeyk Massimo; Kennet G. Paterson; Yuray Somorovskiy (2018 yil 15 oktyabr). Bosh va xurofot: Qarama-qarshilik sharoitida dastlabki sinov (PDF). Kompyuter va aloqa xavfsizligi bo'yicha ACM SIGSAC konferentsiyasi 2018. Toronto: Hisoblash texnikasi assotsiatsiyasi. 281–298 betlar. doi:10.1145/3243734.3243787.

Tashqi havolalar