Тест простоти Ферма — це імовірнісна перевірка для визначення чи є число ймовірним простим.
Концепція
Мала теорема Ферма стверджує, що якщо просте число і , тоді
Якщо ми хочемо перевірити на простоту, тоді ми можемо обрати випадкове в інтервалі і подивитись чи виконується рівність. Якщо рівність не зберігається, значить число складене. Якщо рівність виконується для багатьох тоді ми кажемо, що — можливо просте.
Може так статись, що за всіх наших перевірках рівність зберігалась. Будь-яке таке, що
тобто складене, називають брехунами. Якщо перевірка пройдена успішно, називають псевдопростим Ферма по базі .
Якщо ми обрали таке, що
тоді називається свідком складеності .
Приклад
Припустимо ми хочемо визначити чи є простим. Випадково оберемо наприклад Перевіримо попереднє рівняння:
Або 221 є простим або 38 є брехун, отже ми беремо інше наприклад 26:
Отже 221 є складеним і 38 дійсно брехун.
Алгоритм і часова складність
Алгоритм можна записати так:
Вхід: : значення для тестування на простоту; : параметр, що визначає кількість перевірок Вихід: складене якщо є складеним, інакше ймовірно просте повторити разів: випадково обрати в діапазоні якщо , тоді повернути складене повернути ймовірно просте
Із використанням швидких алгоритмів для піднесення до степеня за модулем, час виконання становить де є числом перевірок, а — число, яке ми тестуємо на простоту.
Вада
Існує безкінечно багато значень (відомі як числа Кармайкла) для яких всі значення для яких — брехуни. Хоча чисел Кармайкла істотно менше ніж простих,, їх достатньо, щоб часто замість тесту Ферма використовували інші тести простоти такі як тест простоти Міллера-Рабіна та тест простоти Соловея-Штрассена.
Загалом, якщо не є числом Кармайкла, тоді щонайменше половина всіх
є свідками. Для доведення цього покладемо свідком, а брехунами. Тоді
і, отже всі для є свідками.
Тобто, якщо ми запустили незалежних перевірок на складеному числі імовірність, що всі раз нам трапляться брехуни (тобто, імовірність помилки) становить не більше ніж
Застосування
Програма шифрування Pretty Good Privacy (PGP) використовує цей тест у своїх алгоритмах. Шанс утворення числа Кармайкла менш ніж що достатньо для практичних цілей.
Примітки
- Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein (2001). Section 31.8: Primality testing. Introduction to Algorithms (вид. Second Edition). MIT Press; McGraw-Hill. с. 889–890. ISBN .
- Erdös' upper bound for the number of Carmichael numbers is lower than the prime number function n/log(n)
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Test prostoti Ferma ce imovirnisna perevirka dlya viznachennya chi ye chislo jmovirnim prostim KoncepciyaMala teorema Ferma stverdzhuye sho yaksho p displaystyle p proste chislo i 1 a lt p displaystyle 1 leq a lt p todi ap 1 1 modp displaystyle a p 1 equiv 1 pmod p Yaksho mi hochemo pereviriti p displaystyle p na prostotu todi mi mozhemo obrati vipadkove a displaystyle a v intervali i podivitis chi vikonuyetsya rivnist Yaksho rivnist ne zberigayetsya znachit chislo skladene Yaksho rivnist vikonuyetsya dlya bagatoh a displaystyle a todi mi kazhemo sho p displaystyle p mozhlivo proste Mozhe tak statis sho za vsih nashih perevirkah rivnist zberigalas Bud yake a displaystyle a take sho an 1 1 modn displaystyle a n 1 equiv 1 pmod n tobto n displaystyle n skladene nazivayut brehunami Yaksho perevirka projdena uspishno n displaystyle n nazivayut psevdoprostim Ferma po bazi a displaystyle a Yaksho mi obrali a displaystyle a take sho an 1 1 modn displaystyle a n 1 not equiv 1 pmod n todi a displaystyle a nazivayetsya svidkom skladenosti n displaystyle n PrikladPripustimo mi hochemo viznachiti chi ye n 221 displaystyle n 221 prostim Vipadkovo oberemo 1 a 221 displaystyle 1 leq a leq 221 napriklad a 38 displaystyle a 38 Perevirimo poperednye rivnyannya an 1 38220 1 mod221 displaystyle a n 1 38 220 equiv 1 pmod 221 Abo 221 ye prostim abo 38 ye brehun otzhe mi beremo inshe a displaystyle a napriklad 26 an 1 26220 169 1 mod221 displaystyle a n 1 26 220 equiv 169 not equiv 1 pmod 221 Otzhe 221 ye skladenim i 38 dijsno brehun Algoritm i chasova skladnistAlgoritm mozhna zapisati tak Vhid n displaystyle n znachennya dlya testuvannya na prostotu k displaystyle k parametr sho viznachaye kilkist perevirok Vihid skladene yaksho n displaystyle n ye skladenim inakshe jmovirno proste povtoriti k displaystyle k raziv vipadkovo obrati a displaystyle a v diapazoni 1 n 1 displaystyle 1 n 1 yaksho an 1 1 modn displaystyle a n 1 not equiv 1 pmod n todi povernuti skladene povernuti jmovirno proste Iz vikoristannyam shvidkih algoritmiv dlya pidnesennya do stepenya za modulem chas vikonannya stanovit O k log n log log n log log log n displaystyle O k times log n times log log n times log log log n de k displaystyle k ye chislom perevirok a n displaystyle n chislo yake mi testuyemo na prostotu VadaIsnuye bezkinechno bagato znachen n displaystyle n vidomi yak chisla Karmajkla dlya yakih vsi znachennya a displaystyle a dlya yakih gcd a n 1 displaystyle gcd a n 1 brehuni Hocha chisel Karmajkla istotno menshe nizh prostih yih dostatno shob chasto zamist testu Ferma vikoristovuvali inshi testi prostoti taki yak test prostoti Millera Rabina ta test prostoti Soloveya Shtrassena Zagalom yaksho n displaystyle n ne ye chislom Karmajkla todi shonajmenshe polovina vsih a Z nZ displaystyle a in mathbb Z n mathbb Z ye svidkami Dlya dovedennya cogo poklademo a displaystyle a svidkom a a1 a2 as displaystyle a 1 a 2 dots a s brehunami Todi a ai n 1 an 1 ain 1 an 1 1 modn displaystyle a cdot a i n 1 equiv a n 1 cdot a i n 1 equiv a n 1 not equiv 1 pmod n i otzhe vsi a ai displaystyle a times a i dlya i 1 2 s displaystyle i 1 2 s ye svidkami Tobto yaksho mi zapustili k displaystyle k nezalezhnih perevirok na skladenomu chisli n displaystyle n imovirnist sho vsi k displaystyle k raz nam traplyatsya brehuni tobto imovirnist pomilki stanovit ne bilshe nizh 12 k displaystyle left frac 1 2 right k ZastosuvannyaPrograma shifruvannya Pretty Good Privacy PGP vikoristovuye cej test u svoyih algoritmah Shans utvorennya chisla Karmajkla mensh nizh 1 1050 displaystyle 1 10 50 sho dostatno dlya praktichnih cilej PrimitkiThomas H Cormen Charles E Leiserson Ronald L Rivest Clifford Stein 2001 Section 31 8 Primality testing Introduction to Algorithms vid Second Edition MIT Press McGraw Hill s 889 890 ISBN 0 262 03293 7 Erdos upper bound for the number of Carmichael numbers is lower than the prime number function n log n