Định lý nhỏ Fermat khẳng định với mọi số nguyên tố p và mọi số tự nhiên a; ta có:.. Nếu mệnh đề tương tự đúng với hợp sốn và với số tự nhiên a nào đó: thì n được gọi là số giả nguyên tố
Trang 11.SỐ GIẢ NGUYÊN TỐ.
1.
1 1 1 1 Đị Đị Định nh nh llllý ý ý nh nh nhỏ ỏ ỏ Fermat: Fermat:
Nếu p là một số nguyên tố và a không chia hết cho p thì ap-1 ≡ 1 (mod p)
Ch
Chứ ứ ứng ng ng minh minh minh Xét hệ (p-1) số nguyên a, 2a, ,(p-1)a Các số này đều không chia
hết cho p và đôi một không đồng dư với nhau theo modulo p Xét hệ thặng dư dương bé nhất modulo p là 1, 2, , p-1 Ta có :a.2a (p-1)a ≡ (p-1)! (mod p) , Tức là ap-1(p-1)! ≡(p-1)! (mod p) do ((p-1)!, p) = 1 nên ta có ap-1 ≡ 1 (mod p )
1.
1 2 2 2 S S Số ố ố gi gi giả ả ả nguy nguy nguyêêêên n n ttttố ố ố
Định lý nhỏ Fermat khẳng định với mọi số nguyên tố p và mọi số tự nhiên a;
ta có:
Nếu mệnh đề tương tự đúng với hợp sốn và với số tự nhiên a nào đó:
thì n được gọi là số giả nguyên tố cơ sởa.
1.3.
1.3 Đị Đị Định nh nh ngh ngh nghĩĩĩĩa a a a là một số tự nhiên cho trước, hợp số n thỏa mãn
Thì n là số giả nguyên tố cơ sở a
V
Víííí d d dụ ụ ụ Số nguyên 341 là một số giả nguyên tố sơ sở 2 Thật vậy, ta có 341 = 11.31
nên 341 là hợp số, và (11,2) = 1, (31,2) = 1 Áp dụng định lý nhỏ Fermat có:
210 ≡ 1 (mod 11) suy ra 2340 ≡1(mod 11);
230 ≡ 1 (mod 31) nên 2330 ≡1 (mod 31)
Mặt khác 25 ≡1 (mod 31) nên 210 ≡1 (mod 31) suy ra 2340 ≡1(mod 31)
Vậy 2340 ≡ 1 (mod 341) Nên 341 là một số giả nguyên tố cơ sở 2
Nh
Nhậ ậ ận n n x x xéééét: t: t: 341 là số giả nguyên tố cơ sở 2 nhỏ nhất.
Bằng cách tương tự ta cũng có 561 là một số giả nguyên tố cơ sở 2
Thật vậy có 561 = 3.11.17 nên là một hợp số và (3, 2) = (11, 2) = (17, 2) = 1 do
đó áp dụng định lý nhỏ Fermat có:
22 ≡ 1 (mod 3)⇒2560 ≡ 1 (mod 3)
Trang 2210 ≡ 1 (mod 11)⇒2560 ≡ 1(mod 11).
216 ≡ 1 ( mod 17) ⇒ 2560 ≡1 (mod 17)
Vậy 2560 ≡ 1 (mod 561) ⇒ 561 là số giả nguyên tố cơ sở 2
1.3.1.
1.3.1 Đị Đị Định nh nh llllý ý ý Có vô số số giả nguyên tố cơ sở 2.
Ch
Chứ ứ ứng ng ng minh minh.
Giả sử n là một số giả nguyên tố cơ sở 2, ta sẽ chứng minh 2n- 1 cũng là số giả nguyên tố cơ sở 2 Theo giả thiết n là số giả nguyên tố cơ sở 2 nên n là hợp số,suy
ra tồn tại hai số tự nhiên p, q sao cho 1< p, q < n sao cho n = pq
Và 2n-1 ≡ 1 (mod n) Ta có: m = 2n- 1 = 2pq- 1 = (2p-1)(2p(q-1)+ 2p(q-2)+ + 1)
Nên m là hợp số
Do n là số giả nguyên tố cơ sở 2 nên 2n ≡2 (mod n)
⇒ 2n- 2 ≡0 (mod n)⇒ 2p- 2 = kn
Mà m = 2n- 1 nên m - 1 = 2p- 2 = kn⇒2m-1= 2kn
⇒2m-1- 1= 2kn- 1 = (2n- 1)(2n(k-1)+ 2n(k-2)+ + 1)
⇒2m-1- 1= m(2n(k-1) + 2n(k-2)+ + 1)
⇒ m là ước của 2m-1 - 1 nên 2m-1 - 1 ≡0(mod m)⇒2m-1 ≡ 1 (mod m) Vậy m là
số giả nguyên tố cơ sở 2
1.4.
1.4 S S Số ố ố Carmichael Carmichael.
1.4.1.
1.4.1 Đị Đị Định nh nh ngh ngh nghĩĩĩĩa a a Hợp số n thỏa mãn đồng dư thức bn-1 ≡ 1 (mod n) với mọi số nguyên dương b sao cho (n,b) = 1 được gọi là số Carmichael
V
Víííí d d dụ ụ ụ :::: Số 561 = 3.11.17 là số Carmichael.
Thật vậy với mọi số nguyên dương b
sao cho (b, 561) thì (b, 3) = (b, 11) = (b, 17) = 1 áp dụng định lý nhỏ Fermat ta có
b2 ≡1 (mod 3) ⇒ b560 ≡ 1 (mod 3);
b10 ≡1 (mod 11) ⇒ b560 ≡1 (mod 11);
b16 ≡1(mod 17 ⇒ b560 ≡1(mod 17)
nên b560 ≡ 1 (mod 561) Vậy 561 là số Carmichael
1.4.2.
1.4.2 Đị Đị Định nh nh llllý ý ý Số tự nhiên n là số Carmichael khi và chỉ khi n = q1q2 qn, trong đó
Trang 3qj, (j = 1,2 n) là các số nguyên tố khác nhau thỏa mãn qj- 1 là ước của n - 1.
V
Víííí d d dụ ụ ụ:::: 561 = 3.11.17 và (3-1); (11 - 1); (17 - 1) là ước của 560 nên 561 là số
Carmichael
Tương tự 1729 = 7.13.19 có (7-1); (13-1); (19-1) là ước của 1728 nên 1729 là số Carmichael
Số 6601 = 7.23.41 có (7-1); (23-1); (41-1) là ước của 6600 nên 6601 là số Carmichael
V
Víííí d d dụ ụ ụ:::: Nếu 6m + 1, 12m +1, 18m +1 đều là số nguyên tố thì N =
(6m+1)(12m+1)(18m+1) là số Carmichael
Thật vậy đặt p = 6m +1 thì 12m + 1 = 2p -1; 18m +1 = 3p - 2 khi đó ta có p; 2p - 1; 3p - 2 là các số nguyên tố và N = p(2p - 1)(3p -2)
N - 1 = 6p3- 7p2+ 2p - 1 = (p - 1)(6p2 - p + 1), Vậy p - 1 là ước của N - 1
Mặt khác có
6p2 ≡ 0 (mod 2);
Vì p là số nguyên tố lớn hơn 2 nên -p ≡ -1 (mod 2) nên - p + 1 ≡ 0 (mod 2)
Vậy 6p2- p + 1 ≡ 0 (mod 2) suy ra 2p -1 -1 = 2(p-1) là ước của N - 1
6p2 ≡ 0 (mod 3)
p = 6m + 1 ≡ 1 (mod 3) nên - p ≡ -1 (mod 3) ⇒ - p + 1 ≡ 0 (mod 3)
Vậy 6p2- p + 1 ≡ 0 (mod 3) suy ra 3p -2-1 = 3(p-1) là ước của N - 1
N = (6m + 1)(12m + 1)(18m + 1) là số Carmichael
Tương tự ta có: 1729 = 7.13.19 = (6.1 +1)(12.1 + 1)(18.1 +1) nên 1729 là số Carmicheal
294409 = 37.73.109 = (6.6 + 1)(12.6 + 1)(18.6 + 1) nên 294409 là số Carmichael
1.4.3.
1.4.3 Đị Đị Định nh nh llllý ý ý Tồn tại vô hạn số Carmichael.
1.4.4.
1.4.4 Đị Đị Định nh nh L L Lý ý ý Giả sử n = q1q2 qk, trong đó qj, (j = 1,2 n) là các số nguyên tố khác nhau và n là số Carmichael khi đó k ≥ 3
Ch
Chứ ứ ứng ng ng minh minh minh Ta chứng minh bằng phản chứng Giả sử n = pq, p < q Vì n là số
Carmicheal, theo định lý 4.2 ta có n - 1 ≡ 0 (mod (q - 1))
Trang 4Mặt khác n - 1 = p(q - 1 + 1) - 1 = p(q - 1) + (p - 1) ≡ 0 (mod (q - 1))
Do đó q - 1 là ước p -1 điều này trái với giả thiết p < q
Vậy giả sử sai nên k ≥ 3
Nh
Nhậ ậ ận n n x x xéééétttt : 561 là số Carmichael nhỏ nhất.
1.5.
1.5 Ki Ki Kiểểểểm m m tra tra tra Miller Miller.
Giả sử n là số nguyên dương lẻ, n - 1 =2s.t trong đó s là số nguyên không âm t
là số nguyên lẻ Ta nói n trải qua được kiểm tra Miller cơ sở b nếu:
hoặc bt ≡ 1 (mod n) hoặc b2 t ≡ -1 (mod n) với j nào đó (0≤ j≤s−1)
1.6.
1.6 S S Số ố ố gi gi giả ả ả nguy nguy nguyêêêên n n ttttố ố ố m m mạ ạ ạnh nh.
1.6.1.
1.6.1 Đị Đị Định nh nh ngh ngh nghĩĩĩĩa: a: a: 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
1.6.2.
1.6.2 Đị Đị Định nh nh llllý ý ý Tồn tại vô số số giả nguyên tố mạnh cơ sở 2
Ch
Chứ ứ ứng ng ng minh minh minh Giả sử n là số giả nguyên tố cơ sở 2 ta sẽ chứng minh N = 2n - 1 là
số giả nguyên tố mạnh cơ sở 2
Thật vậy n là số giả nguyên tố cơ sở 2 nên 2n-1 ≡ 1(mod n)⇒2n - 1- 1 ≡ 0 (mod n)
Ta có 2n - 1- 1 = nk
Mặt khác n là hợp số nên n = dt
Khi đó N = 2n- 1= 2dt- 1 = (2d- 1)(2d(t-1) + 2d(t-2)+ + 1) Nên 2d - 1 là ước của N nên N là hợp số
N - 1 = 2n- 2 = 2(2n-1 -1) = 2nk ⇒ 2 2−1
N
= 2nk = (2n) k ≡ 1(mod N).(theo chứng minh tồn tại vô số số giả nguyên tố cơ sở 2 )
Vậy với mọi số giả nguyên tố n cơ sở 2 thì N = 2n -1 là một số giả nguyên tố mạnh cơ sở 2, mà do n là vô số nên N là vô số
V
Víííí d d dụ ụ ụ CMR 2047 là số giả nguyên tố mạnh cơ sở 2.
Ta có: 2047 là số lẻ và 2047 = 23.89
2047 - 1 = 2046 = 2.3.11.31 = 21(3.11.31)
Do 211 = 2048 ≡ 1 (mod 2047) nên (211)3.31≡1(mod2047)
Trang 5⇒23.11.31 ≡ 1(mod 2047) Vậy 2047 là số giả nguyên tố mạnh cơ sở 2.
1.6.3.
1.6.3 Đị Đị Định nh nh llllý ý ý ::::
Mọi số giả nguyên tố mạnh cơ sở 2 đều là số giả nguyên tố cơ sở 2
B BẢ Ả ẢNG NG NG C C CÁ Á ÁC C C S S SỐ Ố Ố GI GI GIẢ Ả Ả NGUY NGUY NGUYÊ Ê ÊN N N T T TỐ Ố Ố C C CƠ Ơ Ơ S S SỞ Ở Ở 2 2 2 (60 số )
(Các số in đậm là số Carmichael)
341 11 · 31
561 3 · 11 · 17
645 3 · 5 · 43
1105 5 · 13 · 17
1387 19 · 73
1729 7 · 13 · 19
1905 3 · 5 · 127
2047 23 · 89
2465 5 · 17 · 29
2701 37 · 73
2821 7 · 13 · 31
3277 29 · 113
4033 37 · 109
4369 17 · 257
4371 3 · 31 · 47
4681 31 · 151
5461 43 · 127
6601 7 · 23 · 41
7957 73 · 109
8321 53 · 157
8481 3 · 11 · 257
8911 7 · 19 · 67 10.261 31 · 331
11.305 5 · 7 · 17 · 19 12.801 3 · 17 · 251 13.741 7 · 13 · 151 13.747 59 · 233 13.981 11 · 31 · 41 14.491 43 · 337
15.709 23 · 683
16.705 5 · 13 · 257
18.705 3 · 5 · 29 · 43
18.721 97 · 193
19.951 71 · 281
23.001 3 · 11 · 17 · 41
33.153 3 · 43 · 257 34.945 5 · 29 · 241 35.333 89 · 397 39.865 5 · 7 · 17 · 67
41.665 5 · 13 · 641 42.799 127 · 337
Trang 623.377 97 · 241
25.761 3 · 31 · 277
30.121 7 · 13 · 331
30.889 17 · 23 · 79
31.417 89 · 353
31.609 73 · 433
31.621 103 · 307
49.141 157 · 313 49.981 151 · 331
55.245 3 · 5 · 29 · 127 57.421 7 · 13 · 631 60.701 101 · 601 60.787 89 · 683
(Trích từ en Wikipedia.org/wiki/Fermat_pseudoprime)
Trang 72 2 TH TH THỰ Ự ỰC C C H H HÀ À ÀNH NH NH KI KI KIỂ Ể ỂM M M TRA TRA TRA B B BẰ Ằ ẰNG NG NG MAPLE MAPLE.
2.
2 1 1 1 Ki Ki Kiểểểểm m m tra tra tra ssssố ố ố gi gi giả ả ả nguy nguy nguyêêêên n n ttttố ố ố
Để kiểm tra xem số n có phải là số giả nguyên tố cơ sở b không ?
Trước tiên ta kiểm tra xem n có là hợp số không bằng lệnh :
[>isprime(n);↵
Nếutruethì n là số nguyên tố, không phải là số giả nguyên tố cơ sở b;
Nếufalsen là hợp số thì ta kiểm tra điều kiện bn- b ≡ 0 (mod n) bằng lệnh:
[>is(b^n [>is(b^n b b b mod mod mod n n n = = = 0); 0); ↵
Nếutruethì n là số giả nguyên tố cơ sở b;
Nếufalsen không là số giả nguyên tố cơ sở b
Hoặc là sau khi kiểm tra n là hợp số ta cũng có kiểm tra điều kiện
bn- b ≡ 0 (mod n) bằng lệnh:
[>b&^n [>b&^n b b b mod mod mod n n n ;;;; ↵
Nếu kết quả là 0 thì n là số giả nguyên tố cơ sở b
Nếu kết quả khác 0 thì n không là số giả nguyên tố cơ sở b
V
Víííí d d dụ ụ ụ Số 561 có là số giả nguyên tố cơ sở 2 không?
[>isprime(561); ↵
False [is(2^561 - 2 mod 2 = 0);↵
True Vậy 561 là số giả nguyên tố sơ sở 2
2.2
2.2 Ki Ki Kiểểểểm m m tra tra tra ssssố ố ố Carmichael Carmichael.
Để kiểm tra n có là số Carmicheal không ta thực hiện
B
Bướ ướ ướcccc 1 1 1 phân tích n thành số nguyên tố bằng lệnh:
[>ifactor(n);↵
Nếu n là tích của k (k≥ 3) thừa số nguyên tố khác nhau thì ta tiếp tục bước 2 Ngược lại n không phải là số Carmichael
Trang 8Bướ ướ ướcccc 2 2 2 Lập danh sách các thừa số nguyên tố bằng lệnh:
[>q:=[q1,q2, ,qk ]; ↵
q:=[q1,q2, ,qk]
B
Bướ ướ ướcccc 3 3 3 Tiến hành phép chia n - 1 cho qi- 1 bằng lệnh:
[>[seq(irem(n [>[seq(irem(n -1, -1, -1, q[i]-1,i=1 nops(q)))]; q[i]-1,i=1 nops(q)))];↵
Nếu kết quả là [0,0, ,0] thì n là số Carmichael
Nếu tồn tại một thành phần khác 0 thì n không là số Carmichael
V
Víííí d d dụ ụ ụ Kiểm tra xem 6601 có là số Carmichael không?
[>ifactor(6601);↵
(7)(23)(41) [>q:=[7,23,41];↵
q:=[7,23,41]
[>[seq(irem(6600, q[i]-1,i=1 nops(q)))];↵
[0,0,0]
Vậy 6601 là số Carmichael
2.3
2.3 Ki Ki Kiểểểểm m m tra tra tra ssssố ố ố gi gi giả ả ả nguy nguy nguyêêêên n n ttttố ố ố m m mạ ạ ạnh nh.
Cho n là số nguyên dương lẻ, b là một số tư nhiên cho trước Để kiểm tra xem
n có là số giả nguyên tố mạnh cơ sở b không ta thực hiện các bước sau
B Bướ ướ ướcccc 1 1 1 Kiểm tra n là hợp số bằng lệnh:
[>isprime(n); ↵
Nếu true true true thì n không là số giả nguyên tố mạnh cơ sở b.
Nếu false false false thì n là hợp số.
B Bướ ướ ướcccc 2 2 2 Phân tích n - 1 thành thừa số nguyên tố bằng lệnh.
[>ifactor(n-1);↵
Kết quả thu được là 2st (s là số tự nhiên bất kỳ)
B Bướ ướ ướcccc 3 3 3 Kiểm tra điều kiện bt- 1 ≡ 0(mod n), bằng lệnh
[>is(b^t [>is(b^t 1 1 1 mod mod mod n n n = = = 0) 0) 0) ;;;;↵
Trang 9Nếu kết quả là false false false ta kiểm tra điều kiện b2 t+1≡0(modn) với j = 0,1, , s-1.
Bằng lệnh [>seq(b&^((2^j)*t) [>seq(b&^((2^j)*t) [>seq(b&^((2^j)*t) + + + 1 1 1 mod mod mod n, n, n, j=0, ,s-1); j=0, ,s-1);↵
Nếu kết quả là dãy các số có một phần tử bằng 0 thì n là số giả nguyên tố mạnh cơ
sở b, ngược lại n không là số giả nguyên tố mạnh cơ sở b
V
Víííí d d dụ ụ ụ Kiểm tra xem 2047 có là số giả nguyên tố mạnh cơ sở 2 không?
[>isprime(2047);↵
False [>ifactor (2046);↵
(2)(3)(11)(31) [>2&^(3*11*31) - 1 mod 2047 = 0;↵
True Vậy 2047 là số giả nguyên tố mạnh cơ sở 2
V
Víííí d d dụ ụ ụ Kiểm tra xem 25326001có là số giả nguyên tố mạnh cơ sở 2 không?
[>isprime(25326001);↵
False [>ifactor(25326000);↵
(2)4(3)3(5)3(7)(67) [>2&^(3^3*5^3*7*67) - 1 mod 25326001 =0;↵
False [>seq(2&^((2j)*3^3*5^3*7*67) + 1 mod 25326001, j = 0, 1,2,3);↵
0,2,2,2 Vậy 25326001 là số giả nguyên tố mạnh cơ sở 2
Trang 10T TÀ À ÀIIII LI LI LIỆ Ệ ỆU U U THAM THAM THAM KH KH KHẢ Ả ẢO O
[1] Hà Huy Khoái, Phạm Huy Điển (2003), Số học thuật toán, NXB Đại học Quốc gia Hà Nội
[2] Nguyễn Thành Quang (2011) Số học hiện đại, Trường Đại học Vinh