Luận văn Số giả nguyên tố và ứng dụng

Danh sách kí hiệu 5

MỞ ĐẦU 6

Chương 1. Số giả nguyên tố trong lý thuyết mật mã khóa công khai 8

1.1 Cơ sở toán học của lý thuyết mật mã khoá công khai . . . . . 8

1.1.1 Hệ mã khoá RSA . . . . . . . . . . . . . . . . . . . 9

1.1.2 Vấn đề lấy căn bậc hai modulo n . . . . . . . . . . . 10

1.1.3 Độ khó của việc tìm số không chính phương modulo p 11

1.2 Vấn đề sinh số nguyên tố lớn . . . . . . . . . . . . . . . . . 11

Chương 2. Một số loại số giả nguyên tố 14

2.1 Số giả nguyên tố . . . . . . . . . . . . . . . . . . . . . . . 14

2.1.1 Khái niệm . . . . . . . . . . . . . . . . . . . . . . . 14

2.1.2 Số Carmichael . . . . . . . . . . . . . . . . . . . . 16

2.2 Kiểm tra Miller và số giả nguyên tố mạnh . . . . . . . . . . 22

2.3 Số giả nguyên tố Euler . . . . . . . . . . . . . . . . . . . . 25

2.4 Số giả nguyên tố Catalan . . . . . . . . . . . . . . . . . . . 33

KẾT LUẬN VÀ KIẾN NGHỊ 37

TÀI LIỆU THAM KHẢO 38

pdf38 trang | Chia sẻ: honganh20 | Ngày: 28/02/2022 | Lượt xem: 514 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Luận văn Số giả nguyên tố và ứng dụng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
q là các số nguyên tố có chứa 10 nhiều hơn 200 chữ số. Ta sẽ thấy rằng, việc tìm số nguyên tố (xác suất) lớn như vậy rất dễ dàng bằng cách sử dụng các số giả nguyên tố, vấn đề sẽ thảo luận trong luận văn. 1.1.2 Vấn đề lấy căn bậc hai modulo n Từ Định lý Euler ta biết rằng, nếu ta có thể tìm được căn bậc hai b của 1 mod n mà khác ±1, thì điều này chứng tỏ rằng n là hợp số. Thực vậy, từ b suy ra phép phân tích nhân tử của số lẻ n với: gcd(b−1,n)gcd(b+1,n) = gcd(b2−1,n) = n (1.1) (do b2 ≡ 1 (mod n)) trong đó gcd(b−1,n) và gcd(b+1,n) nhỏ hơn n (vì b 6≡ 1 hay −1 (mod n)), kéo theo 1 < gcd(b− 1,n),gcd(b+ 1,n) < n và do đó (1.1) là phép phân tích nhân tử không tầm thường của n. Một cách tổng quát hơn ta giả sử rằng cho trước hợp số lẻ n với ít nhất hai nhân tử nguyên tố phân biệt, Oscar có một hàm fn sao cho nếu a là một bình phương (mod n), thì fn(a)2 ≡ a (mod n). Sử dụng fn, Oscar có thể dễ dàng phân tích nhân tử n (với thời gian đa thức ngẫu nhiên), vì nếu ông lấy các số nguyên b trong khoảng [1,n− 1] một cách ngẫu nhiên thì gcd( fn(b2)− b,n) là một nhân tử không tầm thường của n với điều kiện b 6≡ fn(b2) hay − fn(b2) (mod n); vì có ít nhất bốn căn bậc hai của b2 (mod n), xác suất đây là một phép phân tích nhân tử của n là lớn hơn hoặc bằng 1/2. Sử dụng ý tưởng này, Rabin xây dựng một hệ thống mật mã khoá công khai mà về bản chất việc phá khoá khó như tìm phân tích nhân tử của n. 11 1.1.3 Độ khó của việc tìm số không chính phương modulo p Cho một số nguyên tố lẻ p ta dễ tìm được bình phương modulo p: lấy 1 hoặc 4 hoặc 9, hoặc thậm chí bất kỳ a2 (mod p). Có đúng (p− 1)/2 giá trị trong số các giá trị modulo p khác không là bình phương modulo p, và do đó có đúng (p−1)/2 giá trị không là bình phương modulo p. Ta có thể đoán rằng dễ dàng tìm được chúng, nhưng chúng ta không biết một cách chắc chắn làm thế nào để nhanh chóng tìm một giá trị như vậy cho mỗi số nguyên tố p (mặc dù chúng ta thực sự biết một cách nhanh chóng để kiểm tra một số không chính phương hay không nếu chúng ta có nó). Ý tưởng rõ ràng nhất là thử lần lượt a= 2,3,4, · · · cho tới khi tìm thấy một số không chính phương. Người ta tin rằng có một số không chính phương nhỏ hơn hoặc bằng 2(log p)2, nhưng ta không thể chứng minh được điều này (mặc dù ta có thể suy ra từ Giả thuyết Riemann suy rộng). 1.2 Vấn đề sinh số nguyên tố lớn Trong mục này, ta sẽ thảo luận về độ phức tạp của việc sinh số nguyên tố lớn. Ta sẽ dùng tài liệu Hà Huy Khoái [3] làm tài liệu tham khảo chính. Ta sẽ nghiên cứu việc sinh số nguyên tố thỏa mãn: 1. Số sinh ra có độ dài 3072 bit, 2. Số được sinh ra là ngẫu nhiên, và 3. Thời gian sinh mỗi số phải nhanh, thời gian trung bình bé hơn 5 giây/1 số đối với các máy tính thông thường. 12 Nhắc lại, một số nguyên dương p> 1 được gọi là một số nguyên tố nếu p không chia hết cho số nguyên dương nào ngoài 1 và p. Ngược lại, số p được gọi là hợp số. Ta ký hiệu pi(n) là số các số nguyên tố nhỏ hơn hoặc bằng n, và gọi nó là hàm phân phối của các số nguyên tố. Ví dụ 1.2.1. pi(10) = 4 vì có bốn số nguyên tố nhỏ hơn 10 là 2, 3, 5, 7. Ta có định lý sau đây về ước lượng xấp xỉ hàm số học pi(·): Định lí 1.2.2. Ta có lim n→∞ pi(n) n/ lnn = 1. Nói cách khác, giá trị pi(n) xấp xỉ bằng n/ lnn khi n vô cùng lớn. Ví dụ 1.2.3. Với n= 109, ta có pi(n) = 50847534 và n/ lnn= 48254942. Sai số ở đây là 6%. Vậy ta lấy ngẫu nhiên một số nguyên dương k bit, xác suất để số này là số nguyên tố bằng 1/ ln2k. Vậy về trung bình, ta cần ln2k lần thử để lấy được một số nguyên tố k bit. Ví dụ 1.2.4. Nếu k = 3072 thì trung bình lấy ngẫu nhiên ln23072 ≈ 2130 số, ta sẽ có được một số nguyên tố k bit. Từ phân tích ở trên, về trung bình thuật toán ngẫu nhiên dưới đây sẽ dừng sau 2130 bước lặp. Thuật toán sinh số nguyên tố. 13 Bước 1. Chọn ngẫu nhiên một số nhị phân p độ dài 3072 bit. Bước 2. Đặt cả hai bit cao nhất và bit thấp nhất của p là 1. Bước 3. Kiểm tra xem p có là số nguyên tố hay không. Bước 4. Nếu có thì in ra số nguyên tố p. Còn không thì quay lại Bước 1. Trong Bước 2 của thuật toán. • ta thêm bit thấp nhất của p là 1 để đảm bảo rằng p là số lẻ; • và ta thêm bit cao nhất của p là 1 để đảm bảo rằng số p sinh ra thỏa mãn 23072−1 < p≤ 23072−1, điều này cần thiết vì để đảm bảo an toàn cho thuật toán RSA thì các số nguyên tố sinh ra phải đủ lớn. 14 Chương 2 Một số loại số giả nguyên tố 2.1 Số giả nguyên tố 2.1.1 Khái niệm Bây giờ ta sẽ trình bày khái niệm về các số giả nguyên tố. Theo định lý Fermat, nếu n là số nguyên tố và b là số nguyên tuỳ ý, thì bn ≡ b (mod n). Do đó nếu tồn tại số b sao cho bn 6≡ b (mod n) thì n phải là hợp số. Trong nhiều ứng dụng, chúng ta lại cần đến các thuật toán để chỉ ra một số n là số nguyên tố. Trong trường hợp này, ta không thể dùng Định lý Fermat nhỏ, vì định lý ngược của nó không đúng. Tuy nhiên, nếu một số nguyên thoả mãn các giả thiết của Định lý Fermat nhỏ thì “có nhiều khả năng” nó là một số nguyên tố ! Ta có định nghĩa sau đây. Định nghĩa 2.1.1. Giả sử b là một số nguyên dương. Nếu n là hợp số nguyên dương và bn ≡ b (mod n) thì n được gọi là số giả nguyên tố cơ sở b. Trong trường hợp (n,b) = 1, ta thường dùng định nghĩa tương đương, là bn−1 ≡ 1 (mod n). Trường hợp này, n được gọi là một số giả nguyên tố Fermat. 15 Ví dụ 2.1.2. Số nguyên 561 = 3 ·11 ·17 là số giả nguyên tố cơ sở 2. Thật vậy, áp dụng Định lý Fermat nhỏ, ta có 2560 = (22)280 ≡ 1 (mod 3), 2560 = (210)56 ≡ 1 (mod 11), 2560 = (216)35 ≡ 1 (mod 17). Từ đó suy ra 2560 ≡ 1 (mod 561). Nói chung các số giả nguyên tố ít hơn nhiều so với các số nguyên tố. Chẳng hạn, có tất cả 455052512 số nguyên tố bé hơn 1010 nhưng chỉ có 14884 số giả nguyên tố cơ sở trong khoảng đó. Sự kiện này giải thích cách nói ở trên: Các số thoả mãn Định lý Fermat nhỏ có nhiều khả năng là số nguyên tố. Tuy nhiên đối với mọi cơ sở tuỳ ý, số các số giả nguyên tố là vô hạn. Chẳng hạn, ta chứng minh điều đó đối với cơ sở 2. Định lí 2.1.3. Có vô số số giả nguyên tố cơ sở 2. Chứng minh. Giả sử n là một số giả nguyên tố cơ sở 2, ta sẽ chứng tỏ rằng m = 2n− 1 cũng là số giả nguyên tố cơ sở 2. Theo giả thiết, n là hợp số, chẳng hạn n = dt với 1 < d, t < n, và 2n−1 ≡ 1 (mod n). Dễ thấy rằng m là hợp số, vì (2d − 1) | (2n− 1). Do n là giả nguyên tố, 2n ≡ 2 (mod n) tức là tồn tại k sao cho 2n− 2 = kn. Ta có 2m−1 = 22n−2 = 2kn, và do đó, m= (2n−1) | (2nk−1) = 2m−1−1, tức là 2m−1 ≡ 1 (mod m). Vậy số m là giả nguyên tố cơ sở 2. Như vậy, để kiểm tra một số có phải là số nguyên tố hay không, trước tiên ta xem nó có là giả nguyên tố cơ sở 2 hay không, sau đó có thể tiếp tục kiểm tra đối với các cơ sở khác. Tuy nhiên, tồn tại các số giả nguyên tố với mọi cơ sở, đó là các số Carmichael. Ta sẽ xem xét nó ngay ở mục sau đây. 16 2.1.2 Số Carmichael Định nghĩa 2.1.4. Hợp số nguyên n thoả mãn 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í dụ 2.1.5. Số nguyên 561 = 3 · 11 · 17 là một số Carmichael. Thật vậy, nếu như (b,561) = 1 thì suy ra (b,3) = (b,11) = (b,17) = 1. Theo Định lý Fermat nhỏ, ta có b2 ≡ 1 (mod 3), b10 ≡ 1 (mod 11), b16 ≡ 1 (mod 17). Do đó, viết 560= 2 ·280= 10 ·56= 16 ·35 ta được b560 = ( b2 )280 ≡ 1 (mod 3), b560 = ( b10 )56 ≡ 1 (mod 11), b560 = ( b16 )35 ≡ 1 (mod 17). Từ đó suy ra b560 ≡ 1 (mod 561). Giả thuyết sau đây đã được chứngminh trongW. R. Alford, A. Granville & C. Pomerance [4] : tồn tại vô hạn số Carmichael. Chính xác hơn, như trong [4, Abstract], các tác giả nói rằng sẽ chứng minh có khoảng x2/7 số Carmichael nhỏ hơn x, với x đủ lớn. Ta điểm qua một số cột mốc chính trong lịch sử phát triển của các nghiên cứu về số giả nguyên tố Fermat và số Carmicheal. Vào ngày 18/10/1640, Fermat viết trong một bức thư gửi đến Frenicle, rằng p chia hết ap− a với mọi số nguyên a, với p là một số nguyên tố. Câu hỏi tự nhiên nảy sinh là : Liệu các số nguyên tố có là tất cả những số nguyên lớn hơn 1 thỏa mãn tiêu chuẩn này? 17 Tuy nhiên, năm 1910, Carmichael đã chỉ ra 561 (bằng 3×11×17) chia hết a561−a với mọi số nguyên a. Năm 1899, Korselt đã lưu ý rằng có thể dễ dàng kiểm tra những số nguyên như vậy bằng cách sử dụng Tiêu chuẩn Korselt. n chia hết an− a với mọi số nguyên a nếu và chỉ nếu n là số không có ước chính phương khác 1 (squarefree) và p− 1 chia hết n− 1 với mọi số nguyên tố p chia hết n. Trong loạt bài báo nghiên cứu những năm 1910, Carmichael bắt đầu một nghiên cứu chuyên sâu về các hợp số với tính chất này, về sau được gọi là các số Carmichael (Carmichael numbers). Năm 1912, Carmichael trình bày thuật toán để xây dựng số như vậy, và phát biểu, có lẽ “danh sách này (các số Carmichael) có thể được mở rộng vô hạn” Giả thuyết của Carmicheal chỉ được chứng minh vào năm 1995, trong công trình của W. R. Alhfors, A. Granville và C. Pomerance. Năm 1939, Chernick đã lưu ý rằng nếu p = 6m+ 1, q = 12m+ 1 và r = 18m+1 là các số nguyên tố thì pqr là một số Carmichael. Tính toán chưa công bố của Richard Pinch chỉ ra 8,241 số Carmichael nhỏ hơn 1012, 19,279 nhỏ hơn 1013, 44,706 nhỏ hơn 1014 và 105,212 số nhỏ hơn 1015. Nếu gọi C(x) là số các số Carmicheal nhỏ hơn x thì nhiều tác giả đã cung cấp chặn trên choC(x) C (x)≤ x1−{1+o(1)} log loglogx/ log logx với x→ ∞. Năm 1994, trong [4], ba tác giả W.R. Alford, A. Granville, C. Pomer- ance đã chứng minh rằngC(x)> xα mọi số x lớn và với hằng số α nào đó. 18 Giá trị chính xác của α phụ thuộc vào hai hằng số khác xuất hiện trong Lý thuyết số giải tích. Bây giờ chúng ta mô tả những hằng số này. Giả sử pi(x) là số các số nguyên tố p≤ x, và giả sử pi(x,y) là số các số trong số đó mà p−1 không có các nhân tử nguyên tố vượt quá y. Giả sử E là ký hiệu tất cả các số E trong miền 0 0 sao cho pi(x,x1−E)≥ γ1(E)pi(x) (2.1) với mọi x ≥ x1(E). Năm 1935, Paul Erdo¨s chỉ ra sự tồn tại một số nguyên dương nhỏ trong E . Các giá trị lớn hơn sau đó được tìm thấy bởiWooldridge, Goldfeld, Pomerance, Fouvry và Grupp, Balog và Friedlander. Kết quả tốt nhất được biết đến (xem [4]) là bất kỳ số dương nào nhỏ hơn 1− (2√e)−1 đều thuộc E . Erdo¨s có giả thuyết nói rằng mỗi số dươngnhỏ hơn 1 đều thuộc E , nghĩa là E là khoảng mở (0,1). Ta nhận xét rằng nếu E ∈ E , thì (0,E] ∈ E . Thêm nữa, có thể chứng minh rằng (sử dụng Bất đẳng thức Brun-Titchmarsh) rằng nếu E ∈ E thì E ′ ∈ E với E ′ > E nào đó. Do vậy, E là một khoảng mở. Định nghĩa pi(x;d,a) là số các số nguyên tố nhỏ hơn hay bằng x thuộc cấp số cộng a modulo d. Định lý số nguyên tố đối với cấp số cộng phát biểu rằng pi(x;d,a)∼ pi(x) ϕ(d) với x→ ∞, (2.2) với điều kiện (a,d) = 1, trong đó ϕ là hàm Euler. Một bài toán quan trọng trong Lý thuyết số giải tích là tìm hiểu sự phụ thuộc có thể giữa d và a trong quan hệ tiệm cận này. Ví dụ, có thể d cũng dần tới vô hạn x dần đến vô hạn, và nếu vậy, tốc độ nhanh như thế nào? Người ta phỏng đoán rằng 19 (2.2) xảy ra đều với mọi số nguyên tố cùng nhau a, d với 1 ≤ d ≤ x1−ε , với mỗi ε > 0 cố định. Nếu chấp nhận Giả thuyết Riemann đối với L-hàm Dirichlet thì giả thuyết trên đây có thể được chứng minh cho miền hạn chế hơn 1 ≤ d ≤ x1/2−ε . Tuy nhiên, kết quả mạnh nhất được biết là Định lý Siegel-Walfisz mà trong đó khẳng định rằng (2.2) xảy ra đều với mọi cặp số nguyên tố cùng nhau a, d với 1≤ d ≤ (logx)k, với mỗi k cố định. Nếu ta sẵn sàng bỏ qua các bội của modul “đặc biệt” có thể, thì ta có thể cải thiện đáng kể miền trong Định lý Siegel-Walfisz. Thật vậy, nếu ψ(x) dần đến vô cùng chậm tuỳ ý thì (1.2) đúng với mọi cặp a, d nguyên tố cùng nhau với 1≤ d ≤ xψ(x), trừ ra có thể là với những d mà là bội số của một số nguyên d1(x) nào đó vượt quá một luỹ thừa của logx. Hơn nữa, nếu người ta nới lỏng quan hệ cận tiệm cận trong (2.2), thì có thể lấy 1≤ d ≤ xB với B > 0 nhỏ nào đó. Nếu cho phép nhiều moduli đặc biệt hơn, chúng ta có thể nhận được giá trị lớn hơn của B. Đặc biệt, nếu ký hiệu B là tập hợp các số B trong miền 0 < B < 1 mà với nó tồn tại một số x2(B) và một số nguyên dương DB, sao cho nếu x≥ x2(B), (a,d) = 1 và 1≤ d ≤min { xB,y/x1−B } thì pi(y;d,a)≥ pi(y) 2ϕ(d) (2.3) mỗi khi d không chia hết cho bất kỳ phần tử nào của DB(x), là một tập hợp có không quá DB số nguyên, mỗi số vượt quá logx. Trong [4], các tác giả cũng chứng minh rằng (0,5/12) ∈B và chứng minh một định lý khá mạnh đối với các số trong khoảng này. Định lý về số Carmichael phụ thuộc nhiều vào tập E vàB. Định lí 2.1.6. Với mỗi E ∈ E và B ∈B tồn tại một số x0 = x0(E,B) sao 20 choC(x)≥ xEB với mọi x≥ x0. Do ( 0,1− (2√e)−1) ⊂ E và (0,5/12) ⊂B, ta kết luận rằng C(x) ≥ xβ−ε với mỗi ε > 0 và mọi x lớn phụ thuộc việc chọn ε , trong đó β = (1− (2√e)−1) 5 12 = 0.290306 . . . Lập luận của bài báo dựa vào lập luận độc đáo của Erdo¨s với những sửa đổi nhất định. Ý tưởng là xây dựng một số nguyên L mà với nó tồn tại rất nhiều số nguyên tố p sao cho p−1 chia hết L. Giả sử rằng tích của một số trong những số nguyên tố đó C = p1 . . . pk là đồng dư với 1 mod L. Khi đó C là một số Carmichael, do mỗi p j−1 chia hết L, mà L chia hết C−1, và ta có thể áp dụng tiêu chuẩn Korselt như trên. Thật ra, càng có nhiều tích như vậy chúng ta có thể tìm thấy càng nhiều số Carmichael. Ta cần có tập các số nguyên tố p như vậy lớn đến mức nào để đảm bảo sự tồn tại của những tích như trên? Chúng ta có thể xem các số nguyên tố p như các phần tử của nhóm (Z/LZ)∗ của các thặng dư thu gọn theo mod L. Kết quả sau đây, theo Emde Boas và Kruyswijk (và mở rộng một định lý độc lập theo Kruyswijk và Olson) trả lời một phần câu hỏi trên. Định lí 2.1.7. Nếu G là một nhóm abel hữu hạn mà bậc cực đại của một phần tử là m, thì trong dãy có ít nhất m(1+ log(|G|/m)) (không nhất thiết phân biệt) phần tử của G, tồn tại một dãy con khác rỗng có tích là đơn vị. Để có thể áp dụng Định lí 2.1.7 tìm các số Carmichael bằng phương pháp vừa đề xuất, ta sẽ cần một số nguyên L, với ít nhất λ (L) ( 1+ log ϕ(L) λ (L) ) ≥ λ (L) số nguyên tố pmà p−1 chia hết L. Ở đây hàm lambda Carmichael λ (L) là bậc lớn nhất của một phần tử trong (Z/LZ)∗. Tuy nhiên, số các số nguyên 21 tố như vậy p không thể vượt quá τ(L), số các ước của L (do mỗi p như vậy là 1 cộng với một ước của L), và λ (L) lớn hơn nhiều τ(L). Để tránh vấn đề này chúng ta sẽ chọn L sao cho τ(L) là nhỏ, trong khi, đồng thời có nhiều số nguyên tố p mà p−1 chia hết L. Để làm điều này, ta chọn L là tích của các số nguyên tố q mà mọi nhân tử nguyên tố của q−1 không vượt quá y. Prachar cũng chứng minh rằng có nhiều vô hạn số nguyên m với hơn 2c logm/ log logm ước có dạng p− 1, p nguyên tố. Ở đây c > 0 là một hằng số nào đó phụ thuộc vào một số B ∈B. Không thể làm thực sự tốt hơn, do τ(m) ≤ 2(1+o(1)) logm/ log logm với mọi m khi m→ ∞. Phương pháp của Prachar là lấy một số L mà là tích của tất cả các số nguyên tố lớn đến một điểm nào đó và chứng minh rằng có một số nguyên k với k < Lc ′ và với m= kL có nhiều ước có dạng p−1. Với mục đích này, ta cần λ (kL) là nhỏ so với kL. Nhưng việc đưa vào nhân tử k bí ẩn đó có thể làm hỏng mọi việc, bởi vì không có nguyên nhân nào cho thấy λ (kL) không thể lớn tuỳ ý, ngay cả khi ta xuất phát từ một L mà với nó λ (L) là rất nhỏ so với L. Trong bài báo [4] các tác giả đã sửa đổi phương pháp của Prachar, để khi cho L, ta có thể tìm một số nguyên k nguyên tố cùng nhau với L sao cho có nhiều số nguyên tố p≡ 1 mod k mà p−1 chia hết kL. Trong [4, Section 6] các tác giả cũng trình bày chứng minh cho Định lý sau: Định lí 2.1.8. Với mỗi B ∈B, (0,B)⊂ E . Định lí 2.1.9. Cho ε > 0. Giả sử tồn tại một số xε sao cho pi(x;d,1)≥ pi(x) 2ϕ(d) với mọi số nguyên dương d ≤ x1−ε , x ≥ xε . Khi đó tồn tại một số x′ε sao 22 cho C(x) ≥ x1−2ε với mọi x ≥ x′ε . Đặc biệt, nếu một số xε như vậy tồn tại với mỗi ε > 0, thìC(x) = x1−o(1) khi x→ ∞. Chứng minh của Định lí 2.1.6 là hiệu quả theo ý nghĩa nếu các giá trị bằng số được cho với γ1(E), x1(E), và x2(B), thì giá trị bằng số đối x0(E,B) có thể tính được. Tuy nhiên, giá trị lớn của E mà ngày nay chúng ta biết là thuộc E đã được chứng minh thuộc E thông qua định lý không hiệu quả Bombieri-Vinogradov. Rất có thể, Định lý Friedlander nói rằng mọi số nguyên dương E < 1− (2√e)−1 là thuộc E , có thể được chứng minh từ một dạng yếu hơn, nhưng hiệu quả của định lý này, nhưng chúng ta không đưa vấn đề này ở đây. Điều thú vị cần lưu ý là chứng minh độc đáo của Erdo¨s rằng E chứa số dương E nào đó chỉ sử dụng phương pháp của Brun và do đó hiệu quả. Ta có định lý sau. Định lí 2.1.10. Với mỗi α trong miền 0 < α < 25/144, tồn tại một số có thể tính toán hiệu quả x(α) sao choC(x)≥ xα với mọi x≥ x(α). 2.2 Kiểm tra Miller và số giả nguyên tố mạnh Định nghĩa 2.2.1. Giả sử n là số nguyên dương lẻ, n− 1 = 2st, trong đó s là số nguyên không âm, t là số nguyên dương 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 jt ≡−1 (mod n), với j nào đó, 0≤ j ≤ s−1. Ta chứng tỏ rằng, nếu n là số nguyên tố thì n trải qua được kiểm tra Miller cơ sở b với mọi số b sao cho n | b. Thật vậy, giả sử n−1= 2st. Đặt xk = b(n−1)/2 k = b2 (s−k)t , với k = 0,1, · · ·s. 23 Vì n là số nguyên tố nên x0 ≡ 1 (mod n). Do đó x21 ≡ 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, 2N−12 = 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−14 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 14k . 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− 1420 . 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= 2tq, 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 6≡±1 (mod n) và e< t−2, ta đặt b← b2 (modN), e← e+ 1. Nếu b 6= 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 2 ≡ b p  (mod 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 n  (mod 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 2 ≡ b n  (mod 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= 2st, trong đó t lẻ, thì, hoặc bt ≡ 1 (mod n), hoặc b2rt ≡−1 (mod n), với r nào đó 0≤ r≤ s−1. Giả sử m ∏ j=1 pa jj là phân tích của n thành thừa số nguyên 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 đó ordpb | t, và do đó ordpb là số lẻ. Mặt khác, ordpb là ước của φ(p) = p−1, nên nó phải là ước của p−12 . Vậy ta có b p−1 2 ≡ 1 (mod p). 27 Theo tiêu chuẩn Euler b p = 1, và do đó b n = 1. Mặt khác ta có b n−1 2 = (bt)2 s−1 ≡ 1 (mod p). Vậy n là số giả nguyên tố Euler cơ sở b. Trường hợp thứ hai b2 rt ≡ −1 (mod n). Nếu p là một ước nguyên tố của n thì b2 rt ≡−1 (mod p). Bình phương cả hai vế của đồng dư thức này ta được b2 r+1t ≡ 1 (mod p). Từ đó suy ra ordpb | 2r+1t, nhưng ordpb không là ước của 2rt. Như vậy, ordpb= 2r+1c, trong đó c là một số nguyên lẻ. Mặt khác, vì ordpb | (p−1), 2r+1 | ordpb, nên 2r+1 | (p−1). Như vậy, ta có p= 2r+1d+1, trong đó d là số nguyên. Vì b ordp b 2 ≡−1 (mod p). nên ta cób p ≡ b p−12 = b ordp b2 p−1ordp b = (−1) p−1ordp b = (−1) p−12r+1 c (mod p). Vì c lẻ nên từ đó suy ra b p  = (−1)d. Bây giờ giả sử n có phân tích thành thừa số nguyên tố dạng m ∏ j=1 pa jj . Theo chứng minh phần trên, các ước nguyên tố pi có dạng pi = 2r+1di+1, và ta cób n = m∏ i=1  b pi a i = (−1) m ∑ i=1 aidi. 28 Mặt khác, dễ thấy rằng n≡ 1+2r+1 m ∑ i=1 aidi (mod 22r+2). Do đó t2s−1 = n−1 2 ≡ 2r m ∑ i=1 aidi (mod 2r+1), tức là t2s−1−r ≡ m ∑ i=1 aidi (mod 2), và b n−1 2 = ( b2 rt )2s−1−r = (−1) m ∑ i=1 aidi (mod n). Như vậy, b n−1 2 ≡ b n  (mod n). và n là số giả nguyên tố Euler cơ sở b. Định lý được chứng minh xong. Chú ý rằng, điều ngược lại không phải luôn luôn đúng, tức là tồn tại những số giả nguyên tố Euler cơ sở b không là giả nguyên tố mạnh cơ sở đó. Một ví dụ là với n= 1105, b= 2. Tuy nhiên, với những điều kiện bổ sung, một số giả nguyên tố Euler sẽ là giả nguyên tố mạnh cùng cơ sở. Ta có định lý sau: Định lí 2.3.4. Số n giả nguyên tố Euler cơ sở b là số giả nguyên tố mạnh cơ sở b nếu n≡ 3 (mod 4), hoặc b n =−1. Chứng minh. Trường hợp thứ nhất n ≡ 3 (mod 4). Khi đó n− 1 = 2t và t lẻ. Vì n là số giả nguyên tố Euler cơ sở b nên bt = b n−1 2 ≡ b n  (mod n). 29 Như vậy, n là số giả nguyên tố mạnh cơ sở b. Trong trường hợp thứ hai, ta viết n− 1 = 2st, trong đó t lẻ, s là số nguyên đương. Vì n là số giả nguyên tố mạnh cơ sở b nên b2 s−1t = b n−1 2 = b n  (mod n). Theo giả thiết ta có b2 s−1t ≡−1 (mod n). Vì b n =±1 cho nên hoặc bt ≡ 1 (mod n), hoặc bt ≡−1 (mod n). Như vậy n là số giả nguyên tố mạnh cơ sở b. Dùng số giả nguyên tố Euler, ta có thể xây dựng thuật toán xác suất để kiểm tra một số là nguyên tố hay không. Thuật toán này được tìm ra đầu tiên năm 1977 trong công trình R.M. Solovay, V. Strassen [8]: Ta bắt đầu bằng bổ đề sau. Bổ đề 2.3.5. Giả sử n là một số nguyên dương lẻ không chính phương. Khi đó tồn tại ít nhất một số b với 1< b< n, (b,n) = 1, sao cho b n =−1. Chứng minh. Nếu n là nguyên tố, số b tồn tại theo [1, Địn

Các file đính kèm theo tài liệu này:

  • pdfluan_van_so_gia_nguyen_to_va_ung_dung.pdf
Tài liệu liên quan