Kiểm tra Solovay-Strassen

Kiểm tra Solovay-Strassen là một trong các phương pháp kiểm tra tính nguyên tố theo xác suất do Robert M. Solovay và Volker Strassen phát triển.

Ký hiệu Legendre và tiêu chuẩn Euler

Ký hiệu Legendre

Legendre đưa ra ký hiệu mang tên ông cho số nguyên tố lẻ psố nguyên a

( a p ) {\displaystyle \left({\frac {a}{p}}\right)}

  • 0 nếu p chia hết a;
  • 1 nếu a là một bình phương đúng modulo p — nghĩa là nếu tồn tại số nguyên k sao cho k2a (mod p);
  • −1 nếu a không là bình phương đúng modulo p.

Tiêu chuẩn Euler

Euler chứng minh rằng với mọi số nguyên tố p và số a, 1 a < p {\displaystyle 1\leq a<p} ,

( a p ) a ( p 1 ) / 2 ( mod p ) {\displaystyle \left({\frac {a}{p}}\right)\equiv a^{(p-1)/2}{\pmod {p}}}

Ký hiệu Jacobi và số giả nguyên tố Euler

Ký hiệu Jacobi

Ký hiệu Jacobi là mở rộng của Ký hiệu Legendre cho số tự nhiên lẻ n. Giả sử

p 1 α 1 p 2 α 2 p k α k {\displaystyle p_{1}^{\alpha _{1}}p_{2}^{\alpha _{2}}\cdots p_{k}^{\alpha _{k}}}

là dạng phân tích tiêu chuẩn của n và số nguyên a bất kỳ, ký hiẹu Jacobi

( a n ) = ( a p 1 ) α 1 ( a p 2 ) α 2 ( a p k ) α k {\displaystyle \left({\frac {a}{n}}\right)=\left({\frac {a}{p_{1}}}\right)^{\alpha _{1}}\left({\frac {a}{p_{2}}}\right)^{\alpha _{2}}\cdots \left({\frac {a}{p_{k}}}\right)^{\alpha _{k}}}

Số giả nguyên tố Euler

Xem tiêu chuẩn Euler là mệnh đề Q(p,a). Khi đó Q(p,a) đúng với mọi số nguyên tố p và mọi số tự nhiên a, 1 < a < p. Thay số nguyên tố p bằng số lẻ n và ký hiệu Legendre bằng ký hiệu Jacobi, ta định nghĩa:

Đinh nghĩa: Hợp số n được gọi là số giả nguyên tố Euler cơ sở a (1 < a < n) nếu:
( a n ) a ( n 1 ) / 2 ( mod n ) {\displaystyle \left({\frac {a}{n}}\right)\equiv a^{(n-1)/2}{\pmod {n}}}

trong đó ( a n ) {\displaystyle \left({\frac {a}{n}}\right)} là ký hiệu Jacobi.

Kiểm tra Solovay-Strasen

Solovay-Strasen test

INPUTS: n: là số tự nhiên lẻ
OUTPUT: FALSE nếu n là hợp số, nếu không TRUE
  1. Chọn a ngẫu nhiên trong khoảng[1,n-1]
  2. Tính ký hiệu Jacobi J= ( a n ) {\displaystyle \left({\frac {a}{n}}\right)}
  3. Tính x =a (n-1)/2 mod n
  4. Nếu Jx thì trả về FALSE
nếu khác trả về TRUE.

Xác suất sai

  • Định lý: Nếu n là hợp số lẻ thì tồn tại không quá ϕ ( n ) 2 {\displaystyle {\frac {\phi (n)}{2}}} số tự nhiên dương a nhỏ hơn n, nguyên tố cùng nhau với n sao cho n là số giả nguyên tố Euler cơ sở a.
  • Gọi A là biến cố "Số nguyên lẻ n là hợp số"; B là biến cố: "Thuật toán Solova-Strassen trả lời TRUE".
  • Xác suất điều kiện P(B|A) 1 2 {\displaystyle \leq {\frac {1}{2}}} .
  • Tương tự phép thử Miller-Rabin tính được xác suất sai của phép thử Solova-Strasen là
P(A|B)= P ( B | A ) P ( A ) P ( B | A ) P ( A ) + P ( A ¯ ) {\displaystyle {\frac {P(B|A)*P(A)}{P(B|A)P(A)+P({\overline {A}})}}}
P ( A | B ) P ( B | A ) ( ln n 2 ) P ( B | A ) ( ln n 2 ) + 2 {\displaystyle P(A|B)\approx {\frac {P(B|A)*(\ln n-2)}{P(B|A)*(\ln n-2)+2}}}

(Tham khảo: Douglas R. Stisnon. Cryptography Theory and Practice.)

Kiểm tra Solovar-Strasen lặp

Xem thêm

Chú thích

Tham khảo