Tải bản đầy đủ (.doc) (57 trang)

Về một số loại số giả nguyên tố

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 (365.58 KB, 57 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC VINH

LÊ THỊ CẨM ANH

VỀ MỘT SỐ LOẠI SỐ GIẢ NGUYÊN TỐ

LUẬN VĂN THẠC SĨ TOÁN HỌC

NGHỆ AN – 2013
1


BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC VINH

LÊ THỊ CẨM ANH

VỀ MỘT SỐ LOẠI SỐ GIẢ NGUYÊN TỐ
CHUYÊN NGÀNH: ĐẠI SỐ VÀ LÝ THUYẾT SỐ
Mã số: 60 46 05

LUẬN VĂN THẠC SĨ TOÁN HỌC

Người hướng dẫn khoa học
PGS.TS. NGUYỄN THÀNH QUANG

NGHỆ AN - 2013
2



MỤC LỤC
MỞ ĐẦU
Chương 1
SỐ NGUYÊN TỐ XÁC SUẤT
1.1
1.2
1.3
1.4

2.1
2.2
2.3
2.4

Số nguyên tố
Các giả thuyết về số nguyên tố
Phân bố số nguyên tố
Số nguyên tố xác suất
Chương 2
SỐ GIẢ NGUYÊN TỐ
Số giả nguyên tố Fermat
Số giả nguyên tố Euler
Số giả nguyên tố Euler – Jacobi
Kiểm tra số giả nguyên tố trên Maple
KẾT LUẬN
TÀI LIỆU THAM KHẢO

Trang
2
4

4
9
13
20
26
26
30
42
43
52
53

MỞ ĐẦU
Qua nhiều thống kê số học, cho thấy rằng nếu một số tự nhiên thỏa
mãn một tính chất nào đó của số nguyên tố (chẳng hạn như kết luận của Định

3


lí Fermat bé) thì "có nhiều khả năng" nó là số nguyên tố. Do đó, trong Lý
thuyết số đã có khái niệm số nguyên tố xác suất như sau:
Một số tự nhiên n thoả mãn một tính chất nào đó của số nguyên tố
được gọi là một số nguyên tố với một xác suất nào đó, hay nói gọn hơn là một
số nguyên tố xác suất (probable prime).
Một số nguyên tố xác suất được gọi là số giả nguyên tố (pseudoprime)
nếu nó là một hợp số. Tuỳ theo tính chất của số nguyên tố mà nó thoả mãn, ta
sẽ có các loại số giả nguyên tố khác nhau, như: số giả nguyên tố Fermat, số
giả nguyên tố Fermat mạnh, số giả nguyên tố Euler, số giả nguyên tố EulerJacobi.
Như vậy, có sự phân biệt rõ giữa số nguyên tố xác suất với số giả
nguyên tố. Số nguyên tố xác suất có thể là số nguyên tố hoặc cũng có thể là

hợp số, trong khi đó số giả nguyên tố chỉ là hợp số và thoả mãn một tính chất
nào đó của số nguyên tố.
Kiểm tra tính nguyên tố (primality test) là bài toán kiểm tra xem một
số tự nhiên

có phải là số nguyên tố hay không? Bài toán này đặc biệt trở

nên quan trọng khi các hệ mật mã khoá công khai ra đời. Liên hệ với bài toán
trên, kiểm tra một số nguyên cho trước có phải là số giả nguyên tố hay không
(pseudoprimality test) cũng có rất nhiều ứng dụng trong thực tiễn. Đối với
những số nhỏ, những bài toán đó dĩ nhiên không khó. Tuy nhiên khi làm việc
với những số lớn, ta cần tìm ra những thuật toán hữu hiệu nghĩa là có thể thực
hiện được trên máy tính trong một khoảng thời gian chấp nhận được. Có bao
nhiêu loại số giả nguyên tố? Tính chất của chúng như nhế nào và chúng có
những ứng dụng gì? Đó là những vấn đề mà chúng tôi sẽ đặt ra, để tìm hiểu
trong bản luận văn này, với tựa đề “Về một số loại số giả nguyên tố” .
Luận văn được chia làm hai chương với những nội dung giới thiệu các
kết quả về: số nguyên tố; số giả nguyên tố; kiểm tra nguyên tố; kiểm tra giả
nguyên tố; một số thuật toán và ứng dụng của số nguyên tố và số giả nguyên
tố.
4


Chương 1: Trình bày các định lý cơ bản về số nguyên tố, số nguyên tố
xác suất và một số thuật toán để tính nguyên tố theo xác suất.
Chương 2 : Giới thiệu một số loại số giả nguyên tố. Trình bày sơ lược
về Maple; đồng thời giới thiệu ứng dụng kiểm tra số giả nguyên tố trên
Maple.
Trong quá trình học tập, nghiên cứu và viết luận văn, tôi cũng đã nhiều
cố gắng, song chắc chắn vẫn còn thiếu sót. Tôi rất mong nhận được sự góp ý,

chỉ bảo của các thầy cô giáo và của các bạn đồng nghiệp.
Tôi xin trân trọng cảm ơn PGS.TS Nguyễn Thành Quang đã tận tình
hướng dẫn, chỉ bảo; cảm ơn các thầy cô giáo trong Bộ môn Đại số, Khoa
Toán học, Phòng Đào tạo Sau Đại học và Thư viện Trường Đại học Vinh đã
giúp đỡ, tạo điều kiện để tôi hoàn thành luận văn này.
Tôi cũng xin cảm ơn gia đình, bạn bè, đồng nghiệp đã giúp đỡ trong
suốt thời gian học tập và nghiên cứu.
Nghệ An, tháng 08 năm 2013
Lê Thị Cẩm Anh

5


CHƯƠNG 1
SỐ NGUYÊN TỐ XÁC SUẤT

1.1. Số nguyên tố
Những khái niệm và kết quả cơ bản về số nguyên tố đã được giới thiệu
trong nhiều cuốn sách về Số học. Trong chương này, chúng tôi trình bày các
kiến thức về số nguyên tố dựa theo các tài liệu [3] ,[4] và [9].
1.1.1. Định nghĩa. Số nguyên tố là số nguyên lớn hơn 1, không chia hết cho
số nguyên dương nào ngoài 1 và chính nó (không có ước thực sự). Một số
nguyên lớn hơn 1 và không phải là số nguyên tố được gọi là hợp số.
1.1.2. Định lý. Ước nhỏ nhất khác 1 của số tự nhiên lớn hơn 1 là số nguyên
tố.
1.1.3. Định lý (Định lý Euclid). Có vô hạn số nguyên tố. Nói khác đi, không
có số nguyên tố lớn nhất.
Chứng minh. Giả sử chỉ có hữu hạn các số nguyên tố p1 ,..., pk ( k ≥ 1) , ta đặt
a = p1... pk + 1. Khi đó, theo Định lý 1.1.2, ước nhỏ nhất p khác 1 của a là số


nguyên tố. Vì chỉ có hữu hạn số nguyên tố

(

p = p j j = 1, k

)

p1 ,..., pk ( k ≥ 1) ,

nên

nào đó. Từ đó suy ra, số nguyên tố p là ước của 1. Ta có

điều mâu thuẫn. ■
1.1.4. Định lý cơ bản của Số học. Mọi số tự nhiên lớn hơn 1 đều phân tích
được thành tích các thừa số nguyên tố và sự phân tích này là duy nhất nếu
không kể đến thứ tự của các thừa số. Số nguyên tố được coi là một “tích” chỉ
gồm một thừa số là chính nó.
Từ đó có dạng phân tích tiêu chuẩn của một số tự nhiên n >1
n = p1a p2a L pka
1

2

k

trong đó p1 , p2 ,..., pk là các số nguyên tố phân biệt, a1 , a 2 ,..., a k là những số
tự nhiên khác 0.


6


Khi n là một số rất lớn, việc kiểm tra xem n là số nguyên tố hay hợp
số và bài toán phân tích một hợp số n ra thừa số nguyên tố là một bài toán
khó. Nếu n cỡ vào khoảng 100 chữ số thập phân, số các phép tính bít cần
thiết để kiểm tra n có phải là số nguyên tố hay không sẽ vào cỡ 1050. Với
những máy tính thực hiện một triệu phép tính trong một giây, thời gian cần
thiết sẽ vào khoảng 3,1× 1036 năm. Trong tin học, những bài toán dạng này
được gọi là “Bài toán bất trị” (xem [3]).
1.1.5. Định lý Wilson. Số tự nhiên p > 1 là số nguyên tố khi và chỉ khi

( p − 1) ! ≡ −1( mod p ) .
Chứng minh. Giả sử p là số nguyên tố.
Khi p = 2 , ta có

( p − 1) ! = 1 ≡ −1( mod 2 ) .
Bây giờ giả sử p là số nguyên tố lớn hơn 2 . Với mỗi số nguyên b với
1 ≤ b ≤ p − 1 , tồn tại duy nhất một số nguyên a với 1 ≤ a ≤ p − 1 , để cho
ab ≡ 1( mod p ) . Hơn nữa, trong các số nguyên dương nhỏ hơn p , chỉ có 1 và
p − 1 là nghịch đảo của chính nó. Do đó, ta có thể nhóm các số nguyên từ 2

đến p − 2 thành

p−3
cặp số nguyên sao cho tích của mỗi cặp đồng dư với 1
2

theo module p . Vì vậy, ta có
2.3...( p − 3)( p − 2) ≡ 1(mod p ).

Nhân hai vế với 1 và p − 1 , ta được
( p − 1)! ≡ 1.2.3...( p − 3)( p − 2)( p − 1) ≡ −1(mod p).
Ngược lại, giả sử p thoả mãn đồng dư thức nói trên và b là một ước số của
p , với b < p . Khi đó, b là một ước số của ( p − 1) ! . Nhưng theo giả thiết, p

lại là ước số của ( p − 1) ! + 1, do đó b = 1. Vậy p là số nguyên tố. Định lý
được chứng minh. 
7


Để đơn giản, ta gọi công việc xem xét một số đã cho có phải là số
nguyên tố hay không là kiểm tra nguyên tố. Về mặt lý thuyết, định lý Wilson
có thể được dùng để kiểm tra nguyên tố. Tuy nhiên, thuật toán dựa theo định
lý Wilson khó có thể sử dụng với những số nguyên lớn, bởi vì khi số p đủ
lớn thì ( p − 1) ! cũng sẽ rất lớn. Do đó, số các phép tính bit đòi hỏi sẽ quá cao.
Định lý sau đây có nhiều ứng dụng trong bài toán kiểm tra nguyên tố.
1.1.6. Định nghĩa. Hàm số Euler ϕ (m) là hàm số học có giá trị tại mỗi số tự
nhiên m ≠ 0 bằng số các số nguyên dương không vượt quá m và nguyên tố
cùng nhau với m:

ϕ ( m) =



1

1≤k ≤ m
( k ,m ) =1

.


Hàm ϕ (m) có nhiều ứng dụng vì nó là kích thước (cấp) của nhóm nhân
các số nguyên module m. Hơn nữa, đối với hàm Euler ϕ (m) ta có công thức
Gauss là công thức tổng trải trên các ước dương d của m:

å j (d ) = m .
dm

1.1.7. Định lí Euler. Nếu m > 1 và a là các số nguyên, nguyên tố cùng nhau
thì

aϕ ( m ) ≡ 1(mod m) .
Các tính chất của hàm Euler được sử dụng để tính đồng dư của những
lũy thừa rất lớn trong các ứng dụng về mã hoá thông tin. Chẳng hạn, ta cần
tính a n (mod k ) , trong đó n là một số nguyên lớn.
Ví dụ. Tìm số dư trong phép chia 21000000 cho 77.
Ta có ϕ (7) = 6; ϕ (11) = 10;26 ≡ 1(mod 7); 210 ≡ 1(mod11) .
Do đó, 230 ≡ 1(mod 7); 230 ≡ 1(mod11) .
Vì vậy

230 º 1(mod 77).

Mặt khác, 1000000 = 30.33333 +10 cho nên

8


21000000 º 210 º 23(mod 77) .

1.1.8. Định lý Fermat bé. Nếu p là số nguyên tố và b là số nguyên không

chia hết cho p thì
b p −1 ≡ 1( mod p ) .

Chứng minh. Xét hệ p − 1 số nguyên b, 2b, ..., ( p − 1) b. Các số nguyên này
đều không chia hết cho p và đôi một không đồng dư với nhau theo module
p . Xét hệ thặng dư dương bé nhất module p là 1, 2,..., p − 1. Ta có
b.2b... ( p − 1) b ≡ 1.2... ( p − 1) ≡ ( p − 1) !( mod p ) ,

tức là
b p −1 ( p − 1) ! ≡ ( p − 1) !( mod p ) .



( ( p − 1) !, p ) = 1, nên giản ước hai vế của đồng dư thức, ta có
b p −1 ≡ 1( mod p ) . 

1.1.9. Hệ quả. Nếu p là số nguyên tố và a là số nguyên bất kỳ thì
a p ≡ a ( mod p ) .

1.1.10. Kiểm tra Fermat. Nếu ta muốn kiểm tra số nguyên n có là nguyên tố
không, thì ta lấy ngẫu nhiên các số nguyên b và kiểm tra xem đồng dư thức
n
thức b ≡ b ( mod n ) có đúng không. Nếu đồng dư thức này không đúng với

một giá trị b nào đó thì n là hợp số. Nếu đồng dư thức này đúng với nhiều giá
trị của b, thì ta có thể nói rằng n là số nguyên tố với xác suất nào đó. Có thể
phép thử sẽ cho ta một kết quả sai.
1.1.11. Kiểm tra Lucas – Lehmer. Trong Số học cho máy tính (hay Số học
thuật toán), kiểm tra Lucas – Lehmer là phép kiểm tra tính nguyên tố đối với
số tự nhiên n; nó đòi hỏi rằng có một thừa số nguyên tố của n − 1 là đã biết.

Nếu tồn tại số b nhỏ hơn n và lớn hơn 1 là số thoả mãn
b n−1 ≡ 1( mod n ) ,
và đồng dư thức sau không thoả mãn
9


b( n−1)/ q ≡ 1( mod n ) ,
với mọi ước nguyên tố q của n − 1, thì n là số nguyên tố. Nếu không tìm thấy
số nguyên b như vậy thì n là hợp số.
Ví dụ. Với n = 71, n − 1 = 70 = 2. 5. 7. Lấy b = 11, trước hết
1170 ≡ 1( mod 71) .
Kiểm tra với các ước khác của 70 ta có
1135 ≡ 70 ≡/ 1( mod 71) ,
1114 ≡ 54 ≡/ 1( mod 71) ,
1110 ≡ 32 ≡/ 1( mod 71) .
Do đó bậc của 11 module 71 là 70 và như vậy 71 là số nguyên tố.
1.1.12. Kiểm tra Proth. Mỗi số nguyên dương p có dạng k 2n + 1, với k lẻ
được là một số nguyên Proth.
Định lý Proth. Cho p là một số Proth, dạng k 2n + 1, với k lẻ và k < 2n. Khi
đó, nếu có số nguyên b nào đó sao cho
b

p −1
2

≡ −1( mod p )

thì p là số nguyên tố.
Francois Proth (1852 - 1879) tìm ra định lý này khoảng vào năm 1878.
Định lý Proth là một phương pháp kiểm tra tính nguyên tố dùng cho các số

Proth. Bảy số nguyên Proth đầu tiên là
P1 = 21 + 1 = 3
P2 = 22 + 1 = 5
P3 = 23 + 1 = 9
P4 = 3 × 22 + 1 = 13
P5 = 24 + 1 = 17
P6 = 3 × 23 + 1 = 25
P7 = 25 + 1 = 33,
trong đó có 4 số được kiểm tra nguyên tố nhờ kiểm tra Proth.

10


1.1.13. Thuật toán đa thức kiểm tra tính nguyên tố. Năm 2002, ba tác giả
Manindra Agrawal, Neeraj Kayal và Nitin Saxena (Viện công nghệ Kanpur
– Ấn Độ ) công bố thuật toán kiểm tra tính nguyên tố với độ phức tạp đa thức
(thường gọi là thuật toán AKS). Tuy nhiên, với bậc đa thức khá cao (khoảng
O(log12n)), cho đến nay, thuật toán chưa chứng tỏ đuợc tính hiệu quả rõ rệt
trong tính toán thực tiễn. Về mặt lý thuyết, thuật toán có ý nghĩa lớn vì vấn đề
này đã thu hút sự quan tâm nghiên cứu của nhiều người trong một thời gian
dài. Thuật toán AKS sử dụng những kiến thức khá sơ cấp với ý tưởng rất
mạch lạc, rõ ràng. Thuật toán xuất phát từ ý tưởng như sau.

1.2. Các giả thuyết về số nguyên tố
1.2.1. Giả thuyết Goldbach - Euler. Mọi số chẵn lớn hơn 2 đều có thể viết
dưới dạng tổng của hai số nguyên tố.
Năm 1742, nhà toán học Goldbach viết thư cho nhà toán học
Euler, trong thư Golbach đã đưa ra bài toán sau (mà sau này thường được gọi
là Giả thuyết Golbach mạnh): Mọi số tự nhiên lớn hơn 5 đều biểu diễn được
dưới dạng tổng của 3 số nguyên tố.

Euler trả lời rằng, theo ông, mọi số chẵn lớn hơn 2 đều biểu diễn được
dưới dạng tổng của 2 số nguyên tố (còn gọi Giả thuyết Golbach yếu). Nếu
chứng minh được một trong hai mệnh đề này, thì sẽ chứng minh được mệnh
đề còn lại.
200 năm sau, đến năm 1937, xung quanh bài toán Golbach nhà toán
học Vinogradov đã giải quyết bằng cách chứng minh rằng mọi số lẻ đủ lớn
đều có thể biểu diễn được dưới dạng tổng của 3 số nguyên tố.
Cho đến nay, bài toán Goldbach-Euler vẫn chưa giải được hoàn toàn. Tuy
nhiên, nếu mệnh đề của Euler là đúng, chúng ta có thể chứng minh mệnh đề
Goldbach như sau: Cho số tự nhiên n > 5, chứng minh rằng n viết được dưới
dạng tổng của 3 số nguyên tố. Xét hai trường hợp sau

11


Trường hợp 1. Nếu n chẵn thì n = 2 + m với m chẵn, m > 3. Vì số chẵn lớn
hơn 2 kế tiếp là 4 nên dù là m > 3 thì m vẫn viết được dưới dạng tổng 2 số
nguyên tố. Do đó, n viết được dưới dạng tổng của 3 số nguyên tố.
Trường hợp 2. Nếu n lẻ thì n = 3 + m với m chẵn, m > 2. Theo mệnh đề
Euler, vì m chẵn, m > 2 nên m viết được dưới dạng tổng hai số nguyên tố. Do
đó, n viết được dưới dạng tổng của 3 số nguyên tố.
Không có gì rõ ràng hơn giả thuyết này, và nó đã được kiểm tra với tất
cả các số chẵn dưới 106. Câu trả lời vẫn là một bài toán mở.
Định lý sau là một bước tiến lớn đối với giả thuyết Goldbach - Euler.
Định lý Chen. Mọi số chẵn đủ lớn đều có thể được viết dưới dạng tổng của
hai số nguyên tố hoặc của một số nguyên tố và một số nửa nguyên tố (tích
của hai số nguyên tố).
Định lý trên được nhà toán học Chen (người Trung Quốc) phát biểu
đầu tiên vào năm 1966 và chứng minh chi tiết vào năm 1973 (xem [5], [6]).
Chứng minh của Chen được P. M. Ross rút gọn khá nhiều (xem [7]) .

1.2.2. Giả thuyết về cặp số nguyên tố sinh đôi
Ta biết rằng các số nguyên tố có thể xa nhau tùy ý. Điều đó được thể
hiện trong kết quả sau. Cho số nguyên dương n tùy ý. Khi đó, tồn tại n số tự
nhiên liên tiếp mà mỗi một trong chúng đều là hợp số.
Vậy nhưng, các số nguyên tố cũng có thể rất gần nhau. Cặp số ( 2,3) là
cặp số nguyên dương liên tiếp duy nhất mà cả hai đều là số nguyên tố. Cặp số

( p, q )

được gọi là cặp số nguyên tố sinh đôi nếu cả hai đều là số nguyên tố và

q = p + 2 . Tìm tất cả các bộ số nguyên tố sinh đôi là một bài tập đơn giản, thế

nhưng vấn đề sau thì lại là một giả thuyết lớn: Tồn tại vô hạn cặp số nguyên
tố sinh đôi. Nói khác đi, tồn tại vô hạn cặp số nguyên tố có khoảng cách nhỏ
hơn 3. Giả thuyết về cặp số nguyên tố sinh đôi được cho là của nhà Toán học
Hy Lạp Euclid và do đó là một trong những bài toán lâu đời nhất của Toán
học.
12


Ta có thể cho công thức tính số các cặp số nguyên tố sinh đôi trong bài
tập sau: Ký hiệu qua π 2 ( x ) số các cặp số nguyên tố sinh đôi ( p, q ) trong đó
q không vượt quá x . Chứng minh rằng, khi x ≥ 7 ta có
π 2 ( x) = 2 +

π

 n!  


π

 (n − 2)! 
,
n  

∑ sin  2 (n + 2)  n + 2   sin  2 n 

7≤ n≤ x

trong đó [x] là ký hiệu phần nguyên của số thực x .
Định lý Brun. ([7]) Nếu chúng ta giả thiết rằng số các cặp số nguyên tố sinh
đôi là vô hạn thì tổng các nghịch đảo của chúng là hội tụ, nghĩa là tổng
1 1 1 1
1
1
1
+ + + + +
+
+L
3 5 7 11 13 17 19

có giá trị hữu hạn.
Yitang Zhang, giáo sư tại Đại học New Hampshire (Durham, Mỹ), vừa
có bước đột phá trong việc chứng minh Giả thuyết về cặp số nguyên tố sinh
đôi. Ông đã chứng minh được rằng, có vô hạn cặp số nguyên tố có khoảng
cách nhỏ hơn 70 triệu. Kết quả của Yitang Zhang vẫn còn cách khá xa so với
việc chứng minh được Giả thuyết về cặp số nguyên tố sinh đôi. Nghĩa là cần
phải giảm từ 7.107 xuống còn 3!. Tuy nhiên, đây được xem là một bước tiến
rất quan trọng bởi vì nó chỉ ra rằng, khoảng cách giữa hai số nguyên tố liên

tiếp không tăng lên đến vô hạn. Trước đó, vào năm 2005, Daniel Goldston
cùng hai cộng sự khác đã chứng minh được rằng:
liminf
n®¥

pn+1 - pn
=0
log pn

trong đó pn là số nguyên tố thứ n. Ngoài ra, nếu chấp nhận Giả thuyết
Elliott–Halberstam, một giả thuyết về sự phân bố của các số nguyên tố, họ
còn chứng minh được rằng: Tồn tại vô số cặp số nguyên tố có khoảng cách
nhỏ hơn 16. Zhang đã giới thiệu kết quả này vào đầu năm 2013 trong một
seminar ở trường Đại học Harvard và đã gửi một bài báo đến Annals of
Mathematics, tạp chí của Viện nghiên cứu Cao cấp Princeton. Hi vọng bài

13


báo sẽ sớm được công bố để các nhà Toán học từ khắp nơi trên thế giới có
thể khẳng định tính đúng đắn của nó.
Bộ ba số nguyên ( p, q, r ) được gọi là bộ số nguyên tố sinh ba nếu cả ba
số đều là số nguyên tố và q = p + 2, r = q + 2. Chúng ta dễ dàng tìm được chỉ
có duy nhất một bộ ba số nguyên tố sinh ba, đó là bộ số ( 3,5, 7 ) . Như vậy, ta
rút ra nhận xét sau “Phải chăng sinh ba thì ít mà sinh đôi thì nhiều”.
1.2.3. Giả thuyết không tồn tại số hoàn chỉnh lẻ
Người Hy Lạp cổ đại có quan niệm rất thần bí về các số. Họ thú vị khi
phát hiện ra số hoàn chỉnh, nghĩa là các số nguyên dương mà tổng các ước số
dương khác nó của nó, bằng chính nó. Đối với số hoàn chỉnh chẵn, có kết quả
sau.

Một số nguyên dương chẵn n là số hoàn chỉnh nếu và chỉ nếu
n = 2 m −1 ( 2 m − 1),
trong đó m ≥ 2 là số nguyên dương sao cho 2 m − 1 là số nguyên tố.
Đối với số hoàn chỉnh lẻ, giả thuyết “Không tồn tại số hoàn chỉnh lẻ”
vẫn chưa được chứng minh.
1.2.4. Giả thuyết tồn tại vô hạn số nguyên tố Mersenne
Các số hoàn chỉnh không chỉ là trò chơi của người Hy Lạp cổ đại. Như
ta đã thấy, ta có một số hoàn chỉnh chẵn khi có một số nguyên tố dạng 2m − 1.
Các số nguyên tố như vậy được gọi là số nguyên tố Mersenne. Các số nguyên
tố Mersenne có vai trò quan trọng trong lý thuyết và cả trong ứng dụng
(chẳng hạn vấn đề tìm các số nguyên tố lớn để xây dựng các hệ mật mã công
khai). Chú ý rằng, nếu 2m − 1 là số nguyên tố thì số tự nhiên m cũng là số
nguyên tố. Tuy nhiên, điều ngược lại không đúng. Chẳng hạn,

211 − 1 = 2047 = 23 × 89 là hợp số. Cho đến nay, người ta vẫn chưa biết có hữu
hạn hay vô hạn số nguyên tố Mersenne. Giả thuyết sau đây vẫn còn chưa
được chứng minh. Tồn tại vô hạn số nguyên tố Mersenne.

14


Gần đây bằng sự trợ giúp của máy tính, người ta đã tìm được các số
nguyên tố Mersenne khá lớn. Chỉ mới biết 46 số nguyên tố Mersenne và số
nguyên tố Mersenne lớn nhất đã biết đến năm 2008 là số 243112609 - 1 , có
12.978.189 chữ số.
1.2.5. Giả thuyết về số nguyên tố Fermat
n

Fermat phát biểu rằng, các số tự nhiên Fn = 22 + 1, n = 0,1, 2,... là số các
số nguyên tố. Các số nguyên tố Fn được gọi là số nguyên tố Fermat. Chẳng hạn,

F0 = 3, F1 = 5, F2 = 17, F3 = 257 là các số nguyên tố Fermat.
n

Fermat đã dự đoán các số có dạng Fn = 22 + 1 là số nguyên tố. Tuy
nhiên đến năm 1732, Euler đã phủ định dự đoán trên bằng cách chứng minh
F5 là hợp số (có ước nguyên tố là 641). Đến nay người ta vẫn chưa tìm ra
thêm số Fermat nào nguyên tố nữa, ngoài F0 , F1 , F2 , F3 , F4 , trong khi đã có hơn
70 số Fermat là hợp số đã được kiểm chứng, với
n = 5, 6, 7, 8, 9, 10, 11, 12, 18, 23, 36, 38, 73,...

Chúng ta chỉ ra một ứng dụng của số nguyên tố Fermat.
Định lý Gauss. Một đường tròn có thể chia thành n phần bằng nhau bằng
k
thước kẻ và compa khi và chỉ khi n có dạng n = 2 q1...qs , trong đó k là một

(

)

số tự nhiên, qi i = 1, s là những số nguyên tố Fermat.
Như vậy có thể chia một vòng tròn thành n phần bằng nhau với
n = 3, 4, 5, 6, 8, 10, 12, 15, 16, 17, 20, 24,..., 257,..., 65537,...

1.3. Phân bố số nguyên tố
1.3.1. Định lý. Mọi hợp số n đều có ước nguyên tố không vượt quá

15

n.



Chứng minh. Vì n là hợp số nên ta có thể viết n = ab trong đó a, b là các số
nguyên với 1 < a ≤ b < n . Rõ ràng ta phải có a hoặc b không vượt quá

n.

Giả sử đó là a , khi đó ước nguyên tố của a là ước nguyên tố của n . ■
Từ định lý trên, ta có thuật toán sau đây để tìm ra các số nguyên tố
nhỏ hơn hoặc bằng số n > 1 cho trước.
1.3.2. Sàng Eratosthenes. Sàng Eratosthenes là một thuật toán để tìm các số
nguyên tố nhỏ hơn n. Thuật toán này do nhà toán học cổ Hy Lạp là
Eratosthenes phát minh ra.
Trước tiên, ta viết dãy số từ 1 đến n. Trong dãy số đó gạch đi số 1, vì nó
không phải là số nguyên tố. Số nguyên tố đầu tiên là 2. Tiếp đến ta gạch tất
cả những số trong dãy chia hết cho 2. Số đầu tiên không chia hết cho 2 là 3
Số 3 là số nguyên tố. Ta lại gạch các số chia hết cho 3 còn lại trong dãy. Tiếp
tục quá trình trên, ta gạch khỏi dãy những số chia hết cho một trong các số
nguyên tố bé hơn hoặc bằng

n . Theo định lý trên, những số còn lại của dãy

không bị gạch là tất cả các số nguyên tố không vượt quá n. Thật vậy, những
số này không có ước nguyên tố nhỏ hơn hoặc bằng căn bậc hai của nó,
vậy nó phải là số nguyên tố.
Bảng sau cho thấy thuật toán đơn giản để tìm số nguyên tố và các bội số.

16


Hình 1.3.2 : Hình minh họa cho thấy thuật toán đơn giản để tìm số

nguyên tố và các bội số
Như vậy, sàng Eratosthenes cho ta một thuật toán xác định mọi số
nguyên tố không vượt quá một số cho trước. Tuy vậy, ta vẫn gặp khó khăn
khi ta làm việc với những số lớn. Nguyên nhân là vì thuật toán có độ phức
tạp quá lớn, ta phải thực hiện phép chia cho tất cả các số nguyên tố không
vượt quá căn n. Bây giờ ta xét về độ phức tạp của thuật toán trên.
1.3.3. Định nghĩa. Với mỗi số thực dương x cho trước. Ký hiệu
1) π ( x) = ∑1
p≤ x

1
2) P ( x) = ∏ (1 − ) −1
p
p≤x

3) S ( x) = ∑
p≤x

1
p

trong đó p lấy các giá trị nguyên tố không vượt quá x .
1.3.4. Định lý. Các hàm số P ( x ) , π ( x ) , S ( x ) là những vô cùng lớn đồng
thời với x .

17


1
Chứng minh. 1) Vì p là số nguyên tố nên ta có 0 < < 1, do đó ta được

p

1
1−

1
p

= 1+

1 1
+
+ ...
p p2

Đây là một chuỗi hội tụ tuyệt đối nên ta có thể lấy tích của chúng ứng với
các số nguyên tố p = p1 , p2 ,..., pπ ( x ) và ta cũng được một chuỗi hội tụ tuyệt đối
 1 1

1
P ( x ) = ∏ 1 + + 2 + ... ÷ = ∑
p p
p≤ x 
 n n

trong đó, trong chuỗi sau cùng, n lấy giá trị 1 và tất cả các số tự nhiên lớn
hơn 1, mà trong đó dạng phân tích tiêu chuẩn của nó không có ước nguyên
tố p > x. Từ đó, có
1
P( x) > ∑ >

n≤ x n

[ x ] +1


1


> ln x.
ξ

Vì ln x là một số vô cùng lớn đồng thời với x, nên bất đẳng thức P ( x ) > ln x
cho P ( x ) cũng là một vô cùng lớn đồng thời với x.
2) Ta chú ý rằng pk ≥ k + 1 với mọi k = 1, 2,... nên ta có

1−

1
1
≥ 1−
,
pk
k +1

do đó
1 −1 π ( x )
1 −1 π ( x ) k + 1
P ( x ) = ∏ (1 − ) ≤ ∏ (1 −
) =∏
,

p
k +1
k
p≤ x
k =1
k =1

hay
P ( x ) ≤ π ( x ) + 1.

Từ đó ta được
π ( x ) > ln x − 1,

tức π ( x ) là vô cùng lớn đồng với x.

18


Ta cũng cần chú ý rằng, định lý về tính vô hạn của tập hợp các số
nguyên tố cho ta biết π ( x ) là một vô cùng lớn theo x. Kết quả này bắt đầu
cho ta thấy bậc của vô cùng lớn π ( x ) , mặc dầu còn rất thô sơ.
3) Từ hệ thức

1
P ( x) = ∏ (1 − ) −1 > ln x,
p
p≤ x

ta được
ln P ( x) = ∑ − ln (1 −

p≤ x

Vì 0 <

1
) > ln x.
p

1 1
≤ , cho nên ta có
p 2

 1 1
1
− ln  1 − ÷ = + 2 + ...
p  p 2p


Từ đó ta được
 1 1
 1
1  1 1
1
1
− ln 1 − ÷ < + 2 1 + + 2 + ... ÷ = + 2 ×
,
1
p
p
2

p
p
p
p
2
p




1−
p

hay ta có bất đẳng thức
− ln (1 −

1
1
1
)< +
.
p
p 2 p( p − 1)

Do đó
1
1
< S ( x) + ∑
,
p ≤ x 2 p ( p − 1)

n ≥ 2 2n( n − 1)

ln P ( x) < S ( x) + ∑
hay

1
ln P( x) < S ( x) + .
2
Cùng với hệ thức ln P ( x) > ln ln x, ta được
S ( x) > ln ln x −

19

1
,
2


nghĩa là ta được S ( x ) là một vô cùng lớn đồng thời với x . ■
Để chuẩn bị cho việc chứng minh rằng

π ( x)
dần tới 0 khi x tiến ra vô
x

cùng, ta giới thiệu hàm số N ( x, r ) xác định như sau.
1.3.5. Định nghĩa hàm số N ( x, r ) . Cho x là một số thực dương và r là số tự
nhiên khác 0. Kí hiệu N ( x, r ) là số các số tự nhiên không lớn hơn x và
nguyên tố cùng nhau với r số nguyên tố đầu tiên p1 , p2 ,..., pr . Ta quy ước
N ( x, 0 ) = [ x ] là số các số tự nhiên khác 0 và không lớn hơn x.

r

r
1.3.6. Bổ đề. N ( x, r ) < 2 + x∏ (1 −
i =1

1
).
pi

Chứng minh. Từ định nghĩa, ta có hệ thức
N ( x, r ) = N ( x, r − 1) − N (

x
, r − 1).
pr

Từ đó ta được
N ( x , r ) = N ( x , 0) − ∑ N (
i =1,...,r

x
x
x
, 0) + ∑ N (
,0) −  + (− 1) r N (
,0),
pi
pi p j
p1 p 2 ... p r

1≤ i ≤ j ≤ r

trong đó các tổng lần lượt lấy với mọi tổ hợp chập 1, chập 2, …, chập r của
các số p1 , p2 ,..., pr . Thay kết quả N ( x, 0 ) = [ x ] vào hệ thức trên được
 x 
 x

x
r
N ( x, r ) = [ x ] − ∑   + ∑ 
 −  + (−1) 
.
p
p
p
p
...
p
1≤i ≤ r  p i  1≤i ≤ j ≤ r 
 i j 
 1 2
r 
Tổng này gồm có 2r số hạng, nếu ta bỏ dấu phần nguyên đi thì ta mắc phải
một sai số nhỏ hơn 2r và ta có hệ thức
N ( x, r ) < 2 r + x ( 1 − ∑

1≤i ≤ r

1
1

1
+ ∑
−  + (−1) r
).
p i 1≤i ≤ j ≤ r p i p j
p1 p 2 ... p r

Do đó, ta thu được bất đẳng thức cần chứng minh
r

N ( x, r ) < 2 r + x∏ (1 −
i =1

20

1
). ■
pi


π ( x)
= 0.
x →∞ x
lim

1.3.7. Định lý.

Chứng minh. Từ định nghĩa của hàm N ( x, r ) , ta có

π ( x) < r + N ( x, r ).

Áp dụng Bổ đề 1.3.6 ta được
r

π ( x) < r + 2 r + x∏ (1 −
i =1

1
).
pi

Gọi ξ là một số mà 2 < ξ < x, và lấy r sao cho pr < ξ < pr +1 , khi đó ta có
r < ξ và r < 2 r < 2 ξ .
Từ bất đẳng thức trên suy ra

π ( x)

1
< 2.
+ ∏ (1 − ).
x
x
pi
p ≤ξ
Mặt khác ta có

∏ (1 −

p ≤ξ

1

1
1
)=
<
,
pi
P (ξ ) ln ξ

nên
π ( x)

1
< 2. +
.
x
x ln ξ
ξ
2
Chọn ξ sao cho khi x tăng vô cùng thì ξ là một vô cùng lớn, còn
x

lại là một vô cùng bé ( chẳng hạn, ta lấy ξ =
2ξ =

ln x
2 2 ln 2

=

1

x2

ln x
), ta được
2 ln 2

và ln ξ = ln ln x − ln(2 ln 2).

Như vậy, ta có

π ( x) 2
1
<
+
,
x
x ln ln x − ln(2 ln 2)
hay ta có

21


π ( x)
c
<
,
x
ln ln x
với một hằng số c thích hợp nào đó. Hệ thức này đã chứng minh định lý. ■
Định lý trên còn cho ta biết π ( x ) là một vô cùng lớn có bậc không lớn

hơn bậc của

x
.
ln ln x

Định lí số nguyên tố nêu trên được phát biểu bởi Gauss năm 1773
nhưng chỉ được chứng minh vào năm 1896 bởi nhà toán học Pháp J.
Hadamard (và một cách độc lập bởi nhà toán học Bỉ C.J. de la Vale’e
Poussin, xem [3]).
Ta có bảng minh họa định lí như sau

π (x)
168
1229
9592
78498
664575
5761455
50847534
455052512
4118054133
37607912018
3460665535898

x
103
104
105
106

107
108
109
1010
1011
1012
1013

x
ln x
144,8
1085,7
8685,9
72382,4
620420,7
5428681,0
48254942,4
434294481,9
394813663,7
36191206825,3
33407267837,1

Như vậy, các số nguyên tố không vượt quá
n
ln n

=

π ( x) /


x
ln x

1,160
1,132
1,104
1,085
1,071
1,061
1,054
1,048
1,043
1,039
1,036
n là vào khoảng

2 n
.
ln n

Khi n là một số rất lớn, việc kiểm tra xem n là số nguyên tố hay hợp
số và bài toán phân tích một hợp số n ra thừa số nguyên tố là một bài toán
khó. Nếu n cỡ vào khoảng 100 chữ số thập phân, số các phép tính bít cần

22


thiết để kiểm tra n có phải là số nguyên tố hay không sẽ vào cỡ 1050. Với
những máy tính thực hiện một triệu phép tính trong một giây, thời gian cần
thiết sẽ vào khoảng 3,1× 1036 năm. Trong tin học, những bài toán dạng này

được gọi là “Bài toán bất trị”.

1.4. Số nguyên tố xác suất
Định lí bé Fermat khẳng định rằng, với mọi số nguyên tố p và mọi số
p
nguyên a , ta có a º a (mod p) . Nếu mệnh đề này cũng đúng với số nguyên
n
dương n và với số nguyên dương a nào đó, tức a º a (mod n) , thì n sẽ

được gọi là số nguyên tố xác suất Fermat cơ sở a .
1.4.1. Kiểm tra Solovay-Strassen tính nguyên tố theo xác suất. Các phép
kiểm tra tính nguyên tố hay dùng nhất là các thuật toán ngẫu nhiên. Giả sử có
một mệnh đề Q(p,a) nào đó đúng với mọi số nguyên tố p và một số tự nhiên
a £ p . Nếu n là một số tự nhiên lẻ và mệnh đề Q(n,a) đúng với một a £ n
được lấy ngẫu nhiên, khi đó a có khả năng là một số nguyên tố. Một thuật
toán kết luận rằng n là số nguyên tố là một thuật toán ngẫu nhiên hay thuật
toán xác suất.
Trong các thuật toán loại này, xác suất sai của phép kiểm tra có thể
giảm xuống nhờ việc chọn một dãy độc lập các số a; nếu với mỗi số a xác
suất để thuật toán kết luận một số là số nguyên tố là nhỏ hơn một nửa thì sau
k lần thử độc lập, xác suất sai là nhỏ hơn 2 −k, độ tin cậy của thuật toán sẽ tăng
lên theo k.
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.
1.4.2. Cấu trúc cơ bản của phép kiểm tra ngẫu nhiên
Cấu trúc cơ bản của một phép kiểm tra ngẫu nhiên là
1. Chọn một số ngẫu nhiên a.

23



2. Kiểm tra một hệ thức nào đó giữa số a và số n đã cho. Nếu hệ thức
sai thì n là một hợp số (số a là "bằng chứng" chứng tỏ n là hợp số) và dừng
thuật toán.
3. Lặp lại bước 1 cho đến khi đạt được số lần đã định hoặc gặp bước 2.
Sau hữu hạn lần kiểm tra, nếu không tìm được bằng chứng chứng tỏ n là hợp
số thì ta kết luận n là số nguyên tố.
1.4.3. Kiểm tra Fermat
Kiểm tra Fermat là một thuật toán xác suất kiểm tra một số tự nhiên là
hợp số hay là số nguyên tố xác suất.
Nếu ta muốn kiểm tra số n có là số nguyên tố không, ta lấy ngẫu nhiên
các số nguyên a và kiểm tra theo định lí Fermat bé. Nếu nó không đúng với
một giá trị a nào đó thì n là hợp số. Còn nếu đẳng thức đúng với nhiều giá trị
của a, thì ta nói rằng n là số nguyên tố với xác suất nào đó.
n −1
Với số nguyên a sao cho a ≡ 1( mod n ) , nếu n là hợp số được thì n gọi là

một số giả nguyên tố Fermat cơ sở a.
n −1
Nếu có một số nguyên a sao cho a ≡/ 1( mod n ) , thì a được xem như là

một bằng chứng Fermat để chứng tỏ n là hợp số.
1.4.4. Thuật toán kiểm tra Fermat
Thuật toán kiểm tra Fermat có thể viết như sau
Inputs: n: giá trị để kiểm tra tính nguyên tố;
k: tham số tham gia vào quá trình kiểm tra
Output: hợp số nếu n là hợp số, nếu không nguyên tố xác suất
repeat k times:
lấy a ngẫu nhiên trong [1, n − 1]
n −1

if a ≡/ 1( mod n ) then

return composite
return probably prime

24


1.4.5. Kiểm tra Miller-Rabin. Kiểm tra Miller-Rabin là một thuật toán xác
suất để kiểm tra tính nguyên tố giống như các thuật toán kiểm tra Fermat và
kiểm tra Solovay-Strassen. Nó được đề xuất đầu tiên bởi G. L. Miller như
một thuật toán tất định, dựa trên giả thiết Riemann tổng quát. M. O. Rabin đã
sửa chữa nó thành một thuật toán xác suất.
Khi sử dụng kiểm tra Miller-Rabin chúng ta căn cứ vào một mệnh đề
Q(p,a) đúng với các số nguyên tố p và mọi số tự nhiên a ∈ A ⊂ Ν và kiểm tra
xem chúng có đúng với số n muốn kiểm tra và một số a ∈ A được chọn ngẫu
nhiên hay không? Nếu mệnh đề Q(n,a) không đúng, thì n không phải là số
nguyên tố, còn nếu Q(n,a) đúng, số n có thể là số nguyên tố với một xác suất
nào đó. Khi tăng số lần thử, xác suất để n là số nguyên tố tăng lên.
Giả sử p là một số nguyên tố lẻ. Khi đó, p − 1 là số chẵn và ta có thể
viết p − 1 dưới dạng 2s m , trong đó s ∈ Ν* và m là số lẻ. Điều này nghĩa là ta
rút hết các thừa số 2 khỏi p − 1 . Lấy số a bất kỳ trong tập { 1, 2,..., p − 1} . Xét
2
dãy số xk = a 2 m , với k = 0,1, 2,..., s. Khi đó xk = ( xk −1 ) , với k = 1, 2,..., s và
k

xs = p.
p −1
Từ định lý Fermat bé, có a ≡ 1 ( mod p ) . Hay xs ≡ 1 ( mod p ) , hay


xs2−1 ≡ 1 ( mod p ) .

Do đó, hoặc xs −1 ≡ 1 ( mod p ) hoặc xs −1 ≡ −1 ( mod p ) .
Nếu xs −1 ≡ −1 ( mod p ) , ta dừng lại, còn nếu ngược lại ta tiếp tục với xs − 2.
Sau một số hữu hạn bước, hoặc ta có một chỉ số k, 0 ≤ k ≤ s − 1 ,sao cho
xk ≡ −1 ( mod p ) , hoặc tới k = 0 ta vẫn có xk ≡ 1 ( mod p ) .

Ta có mệnh đề Q(p,a) như sau
Nếu p là số nguyên tố lẻ và p − 1 = 2 s m thì với mọi a: 0 < a < p -1,

25


×