Kiểm tra Solovay-Strassen
Giao diện
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
[sửa | sửa mã nguồn]Legendre đưa ra ký hiệu mang tên ông cho số nguyên tố lẻ p và số nguyên a
là
- 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 k2 ≡ a (mod p);
- −1 nếu a không là bình phương đúng modulo p.
Tiêu chuẩn Euler
[sửa | sửa mã nguồn]Euler chứng minh rằng với mọi số nguyên tố p và số a, ,
Ký hiệu Jacobi và số giả nguyên tố Euler
[sửa | sửa mã nguồn]Ký hiệu Jacobi
[sửa | sửa mã nguồn]Ký hiệu Jacobi là mở rộng của Ký hiệu Legendre cho số tự nhiên lẻ n. Giả sử
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
Số giả nguyên tố Euler
[sửa | sửa mã nguồn]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:
trong đó là ký hiệu Jacobi.
Kiểm tra Solovay-Strasen
[sửa | sửa mã nguồn]Solovay-Strasen test
[sửa | sửa mã nguồn]- INPUTS: n: là số tự nhiên lẻ
- OUTPUT: FALSE nếu n là hợp số, nếu không TRUE
- Chọn a ngẫu nhiên trong khoảng[1,n-1]
- Tính ký hiệu Jacobi J=
- Tính x =a (n-1)/2 mod n
- Nếu J ≠ x thì trả về FALSE
- nếu khác trả về TRUE.
Xác suất sai
[sửa | sửa mã nguồn]- Định lý: Nếu n là hợp số lẻ thì tồn tại không quá 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) .
- 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)=
(Tham khảo: Douglas R. Stisnon. Cryptography Theory and Practice.)