Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (289.55 KB, 38 trang )
23
Vì n là số nguyên tố nên x0 ≡ 1 (mod n). Do đó x12 ≡ 1 (mod n), tức
là x1 ≡ 1 (mod n) hoặc x1 ≡ −1 (mod n). Tiếp tục quá trình như vậy
ta sẽ đi đến kết luận rằng, hoặc xk ≡ 1 (mod n) với k = 0, 1 · · · s, hoặc
xk ≡ −1 (mod n) với một số nguyên k nào đó. Như vậy n trải qua được
kiểm tra Miller cơ sở b.
Dễ thấy rằng, nếu n trải qua được kiểm tra Miller cơ sở b thì n sẽ là số
giả nguyên tố cơ sở b. Ta có định nghĩa sau.
Định nghĩa 2.2.2. Số nguyên n được gọi là số giả nguyên tố mạnh cơ sở b
nếu nó là hợp số và trải qua được kiểm tra Miller cơ sở b.
Như vậy các số giả nguyên tố mạnh lại còn ít hơn các số giả nguyên tố.
Tuy nhiên, ta có định lý sau.
Định lí 2.2.3. Tồn tại vô số số giả nguyên tố mạnh cơ sở 2.
Chứng minh. Thật vậy, giả sử n là một số giả nguyên tố cơ sở 2. Khi đó,
với số nguyên lẻ k nào đó, ta có 2n−1 − 1 = nk. Đặt N = 2n − 1, khi đó nó
có ước là 2d − 1, với d là ước số nào đó của n. Mặt khác,
N − 1 = 2n − 2 = 2(2n−1 − 1) = 2nk,
2
N−1
2
= 2nk = (2n )k ≡ 1 (mod N).
Vậy với mỗi số giả nguyên tố n, ta xây dựng được số giả nguyên tố mạnh
N với các số n khác nhau cho ta các số N khác nhau. Như vậy định lý được
chứng minh, bởi vì có vô số giả nguyên tố cơ sở 2.
Ta có thể dùng kiểm tra Miller để kiểm tra nguyên tố những số không
lớn lắm. Ta biết rằng, số giả nguyên tố mạnh lẻ cơ sở 2 bé nhất là 2047.
Như vậy, nếu n lẻ và n < 2047, thì n là nguyên tố nếu nó trải qua kiểm tra
Miller. Tương tự như vậy, số 1373653, là số giả nguyên tố mạnh lẻ bé nhất
24
cơ sở 2 và 3, được dùng để kiểm tra nguyên tố những số bé hơn nó. Đối
với cơ sở 2, 3 và 5, số giả nguyên tố mạnh lẻ bé nhất là 25326001, trong
trường hợp cơ sở 2, 3, 5, 7, số tương ứng là 3215031751. Trong những số
nhỏ hơn 25 · 109 , chỉ có một số giả nguyên tố lẻ với cơ sở 2, 3, 5, 7, đó là
3215031751. Như vậy, nếu n < 25 · 109 là số lẻ trải qua kiểm tra Miller cơ
sở 2, 3, 5, 7 thì n là số nguyên tố nếu nó khác với 3215031751.
Cách làm trên đây chỉ áp dụng được khi cần kiểm tra nguyên tố những
số không lớn. Đối với những số lớn, ta có thể dùng thuật toán xác suất dựa
trên định lý sau đây:
Định lí 2.2.4. Nếu n là một hợp số dương lẻ thì tồn tại không quá
n−1
4
cơ
sở b, 1 ≤ b ≤ n − 1 sao cho n trải qua được kiểm tra Miller đối với các cơ
sở đó.
Từ Định lý 2.2.4 suy ra rằng, nếu số b được chọn ngẫu nhiên trong
khoảng 1 ≤ b ≤ n − 1 thì n trải qua kiểm tra Miller cơ sở b với xác suất bé
hơn 1/4. Như vậy, nếu ta chọn k số ngẫu nhiên thì xác suất để n trải qua
kiểm tra Miller đối với k cơ sở đó sẽ bé hơn
1
.
4k
Khi k đủ lớn, ví dụ k = 20,
xác suất đó quá nhỏ, nên với n trải qua với 20 cơ sở ngẫu nhiên thì có thể
tin “hầu chắc chắn” rằng n là số nguyên tố. Từ đó ta có thuật toán xác suất
sau đây.
Thuật toán (Rabin-Miller 1980). Cho N ≥ 3 lẻ, thuật toán sau đây xác
định rằng N là một hợp số, hoặc in ra thông báo N là số nguyên tố với xác
suất lớn hơn 1 − 4120 .
RM1 (Xuất phát). Đặt q ← N −1,t ← 0, và nếu q chẵn đặt q ← q/2, t ← t +1
(bây giờ ta có N − 1 = 2t q, với q lẻ). Sau đó đặt c ← 20
25
RM2 (Chọn a mới). Chọn ngẫu nhiên số a trong khoảng 1 < a < N. Đặt
e ← 0, b← aq (mod N). Nếu b =1, chuyển sang RM4.
RM3 (Bình phương). Nếu b ≡ ±1 (mod n) và e < t −2, ta đặt b ← b2 (mod N),
e ← e + 1. Nếu b = N − 1, in ra thông báo “n là hợp số” và kết thúc
thuật toán.
RM4 Đặt c ← c − 1. Nếu c > 0, chuyển sang RM2. Nếu c = 0, in ra thông
báo “N là số nguyên tố”.
2.3
Số giả nguyên tố Euler
Giả sử p là số nguyên tố lẻ và b là số nguyên dương không chia hết cho p.
Khi đó theo tiêu chuẩn Euler ta có
b
p−1
b 2 ≡ (mod p).
p
Như vậy, để kiểm tra một số n có phải là nguyên tố hay không, ta có thể
lấy một số b nguyên tố cùng nhau với n, và kiểm tra xem đồng dư sau đây
có đúng hay không.
b
n−1
2
b
≡ (mod n),
n
trong đó vế bên phải là ký hiệu Jacobi. Nếu đồng dư thức đó không đúng
thì n phải là hợp số. Nếu đồng dư thức trên đây nghiệm đúng, vẫn chưa kết
luận được n có phải là nguyên tố hay không, nhưng “có nhiều khả năng” n
là số nguyên tố.
Định nghĩa 2.3.1. Số nguyên dương n được gọi là số giả nguyên tố Euler
26
cơ sở b nếu nó là một hợp số và đồng dư thức sau đây nghiệm đúng
b
n−1
b 2 ≡ (mod n).
n
Ta có mối liên hệ gữa số giả nguyên tố Euler cơ sở b và số giả nguyên
tố cơ sở b sau đây:
Định lí 2.3.2. Mọi số giả nguyên tố Euler cơ sở b đều là số giả nguyên tố
cơ sở b.
Chứng minh. Chỉ cần bình phương hai vế của đồng dư thức thoả mãn bởi
các số giả nguyên tố Euler.
Điều ngược lại không đúng. Chẳng hạn, có thể thấy rằng số 341 là số
giả nguyên tố cơ sở 2 , nhưng không là số giả nguyên tố Euler cơ sở 2.
Định lí 2.3.3. Mọi số giả nguyên tố mạnh cơ sở b đều là số giả nguyên tố
Euler cơ sở b.
Chứng minh. Cho n là số giả nguyên tố mạnh cơ sở b. Khi đó, nếu n − 1 =
r
2st, trong đó t lẻ, thì, hoặc bt ≡ 1 (mod n), hoặc b2 t ≡ −1 (mod n), với r
m
a
nào đó 0 ≤ r ≤ s − 1. Giả sử ∏ p j j là phân tích của n thành thừa số nguyên
j=1
tố. Ta xét riêng hai trường hợp.
Trường hợp thứ nhất bt ≡ 1 (mod n). Giả sử p là một ước nguyên tố
của n. Khi đó ord p b | t, và do đó ord p b là số lẻ. Mặt khác, ord p b là ước
của φ (p) = p − 1, nên nó phải là ước của
b
p−1
2
p−1
2 .
≡ 1 (mod p).
Vậy ta có