Тест на простоту Поклінґтона (англ. Pocklington–Lehmer primality test) — тест на простоту розроблений Генрі Кабурн Поклінґтоном і Деріком Генрі Лемером для визначення чи є число n {\displaystyle n} простим. На виході тесту або доведення простоти, або неможливість доведення.
Нехай n > 1. {\displaystyle n>1.} Якщо для кожного простого дільника q {\displaystyle q} для n − 1 {\displaystyle n-1} існує ціле таке, що
тоді n {\displaystyle n} — просте.
Позначення: a | b {\displaystyle a|b} означає, що a {\displaystyle a} ділить b . {\displaystyle b.}
Доведення: Для того, щоб показати, що n {\displaystyle n} просте нам потрібно лише показати, що ϕ ( n ) = n − 1 , {\displaystyle \phi (n)=n-1,} або простіше, що ( n − 1 ) | ϕ ( n ) . {\displaystyle (n-1)|\phi (n).} Припустимо це не так, тоді існує просте q {\displaystyle q} і показник r > 0 {\displaystyle r>0} такий, що q r | ( n − 1 ) , {\displaystyle q^{r}|(n-1),} але не ділить ϕ ( n ) . {\displaystyle \phi (n).} Для цього цілого q {\displaystyle q} ми маємо мати ціле, що задовольняє попереднім умовам. Тепер нехай m {\displaystyle m} буде порядком a {\displaystyle a} за модулем n , {\displaystyle n,} тоді m | ( n − 1 ) {\displaystyle m|(n-1)} (перша умова), але не ділить ( n − 1 ) / q {\displaystyle (n-1)/q} (друга умова). Отже q r {\displaystyle q^{r}} ділить m , {\displaystyle m,} яке ділить ϕ ( n ) {\displaystyle \phi (n)} — протиріччя, яке доводить лему.
Теорема Поклінґтона (англ. Pocklington's Theorem) (1914): Нехай n − 1 = q k R , {\displaystyle n-1=q^{k}R,} де q {\displaystyle q} — просте, яке не ділить R . {\displaystyle R.} Якщо існує ціле таке, що a n − 1 ≡ 1 ( mod n ) {\displaystyle a^{n-1}\equiv 1{\pmod {n}}} і gcd ( a ( n − 1 ) / q − 1 , n ) = 1 , {\displaystyle \gcd(a^{(n-1)/q}-1,n)=1,} тоді кожен простий дільник p {\displaystyle p} для n {\displaystyle n} має вигляд q k r + 1. {\displaystyle q^{k}r+1.}
Доведення: Нехай p {\displaystyle p} — довільний простий дільник n , {\displaystyle n,} і нехай m {\displaystyle m} буде порядком a {\displaystyle a} за модулем p . {\displaystyle p.} Як і в лемі, m | ( n − 1 ) = q k R {\displaystyle m|(n-1)=q^{k}R} (перша умова для a ) , {\displaystyle a),} але не ділить ( n − 1 ) / q = q k − 1 R {\displaystyle (n-1)/q=q^{k-1}R} (друга умова); отже q k | m . {\displaystyle q^{k}|m.} Звісно, m | ( p − 1 ) {\displaystyle m|(p-1)} і звідси висновок.
Вислідом застосування теореми Поклінґтона до кожного простого степеневого дільника n {\displaystyle n} (плюс трошки роботи) є:
Теорема: Припустимо, що n − 1 = F × R {\displaystyle n-1=F\times R} (тобто F | ( n − 1 ) {\displaystyle F|(n-1)} ), де F > R , {\displaystyle F>R,} gcd ( F , R ) = 1 {\displaystyle \gcd(F,R)=1} і відома факторизація F = ∏ j = 1 t q j e j {\displaystyle F=\prod _{j=1}^{t}q_{j}^{e_{j}}} . Якщо існує ціле a , {\displaystyle a,} що задовольняє:
тоді кожен простий дільник p {\displaystyle p} для n {\displaystyle n} конгруентний 1 {\displaystyle 1} за модулем F . {\displaystyle F.} З цього випливає, що якщо F > n − 1 , {\displaystyle F>{\sqrt {n}}-1,} тоді n {\displaystyle n} є простим.
Нехай n = R F + 1 {\displaystyle n=RF+1} буде непарним простим з F > n − 1 {\displaystyle F>{\sqrt {n}}-1} і gcd ( R , F ) = 1. {\displaystyle \gcd(R,F)=1.} І нехай різними простими дільниками для F {\displaystyle F} будуть q 1 , q 2 , … , q t . {\displaystyle q_{1},q_{2},\dots ,q_{t}.} Тоді ймовірність, що випадково обрана база a , {\displaystyle a,} 1 ≤ a ≤ n − 1 , {\displaystyle 1\leq a\leq n-1,} задовольняє обом умовам: a n − 1 ≡ ( mod n ) ; {\displaystyle a^{n-1}\equiv {\pmod {n}};} і gcd ( a ( n − 1 ) / q j − 1 , n ) = 1 {\displaystyle \gcd(a^{(n-1)/q_{j}}-1,n)=1} для кожного j , {\displaystyle j,} 1 ≤ j ≤ t , {\displaystyle 1\leq j\leq t,} становить ∏ j = 1 t ( 1 − 1 / q j ) ≥ 1 − ∑ j = 1 t 1 / q j . {\displaystyle \prod _{j=1}^{t}(1-1/q_{j})\geq 1-\sum _{j=1}^{t}1/q_{j}.}
Отже, якщо відома факторизація дільника F > n − 1 , {\displaystyle F>{\sqrt {n}}-1,} тоді для перевірки на простоту, можна просто обирати випадкові цілі в інтервалі [ 2 , n − 2 ] {\displaystyle [2,n-2]} доки на знайдеться таке, що задовольняє умовам 1 і 2, тобто n {\displaystyle n} просте. Якщо таке a {\displaystyle a} не знайшли після розумної кількості ітерацій,[1] тоді n {\displaystyle n} імовірно складене і це можна перевірити через застосування ймовірнісного тесту на простоту.