1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiêu chuẩn và thuật toán kiểm tra số nguyên tố

63 2K 4

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Tiêu chuẩn và thuật toán kiểm tra số nguyên tố
Tác giả Nguyễn Quốc Tuấn
Người hướng dẫn PGS.TS. Nguyễn Thành Quang
Trường học Trường Đại Học Vinh
Chuyên ngành Đại Số Và Lý Thuyết Số
Thể loại Luận văn thạc sĩ
Năm xuất bản 2010
Thành phố Vinh
Định dạng
Số trang 63
Dung lượng 1,3 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Chương 3.GIỚI THIỆU MỘT SỐ CHƯƠNG TRÌNH KIỂM TRA SỐ NGUYÊN TỐ TRÊN MÁY TÍNH VÀ ỨNG DỤNG Một nội dung cơ bản trong Số học đó là các nghiên cứu về số nguyên tố.. tiếp tục phát triển và n

Trang 1

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

NGUYỄN QUỐC TUẤN

TIÊU CHUẨN VÀ THUẬT TOÁN KIỂM TRA SỐ NGUYÊN TỐ

LUẬN VĂN THẠC SĨ TOÁN HỌC Chuyên ngành: ĐẠI SỐ VÀ LÝ THUYẾT SỐ

Trang 2

VINH - 2010

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

NGUYỄN QUỐC TUẤN

TIÊU CHUẨN VÀ THUẬT TOÁN KIỂM TRA SỐ NGUYÊN TỐ

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

Trang 3

Chương 3.

GIỚI THIỆU MỘT SỐ CHƯƠNG TRÌNH KIỂM TRA

SỐ NGUYÊN TỐ TRÊN MÁY TÍNH VÀ ỨNG DỤNG

Một nội dung cơ bản trong Số học đó là các nghiên cứu về số nguyên tố Có

thể nói “Tập hợp số nguyên tố là mỏ vàng của Số học” Đề tài về số nguyên tố vẫn

Trang 4

tiếp tục phát triển và ngày càng hấp dẫn đối với các nhà Toán học: Carl Fiedrich Gauss đã dự đoán kết quả của định lý số nguyên tố khi còn là học sinh trung học Chebyshev (1850) đưa ra các chặn cho số số nguyên tố giữa hai giới hạn cho trước Riemann giới thiệu Giải tích phức thành lý thuyết về hàm zeta Riemann và dẫn đến mối quan hệ giữa các không điểm của hàm zeta và sự phân bố số nguyên tố.

Bài toán xác định một số cho trước có phải là số nguyên tố hay không cónhiều ứng dụng trong thực tiễn Đối với những số nhỏ, bài toán đó dĩ nhiên khôngkhó 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ữuhiệ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ấpnhận được Khi nói đến “những số lớn” ta thường hiểu là những số nguyên dương

có khoảng 100 chữ số thập phân trở lên Ngày nay, các kết quả của số nguyên tố cóứng dụng trực tiếp trong lý thuyết mật mã và một số lĩnh vực khác

Hiện nay, trong các kỳ thi học sinh giỏi Toán – Tin học Quốc gia và Quốc tếcác bài toán về số nguyên tố là một mảng kiến thức quan trọng trong cấu trúc của

đề thi và để giải được các bài toán đó luôn là trăn trở của mỗi học sinh cũng nhưcác thầy cô giáo đang trực tiếp giảng dạy ở các trường THPT, các trường THPTChuyên trong cả nước

Luận văn “Tiêu chuẩn và thuật toán kiểm tra số nguyên tố” được chia

làm ba chương với những nội dung giới thiệu các kết quả về số nguyên tố; một sốthuật toán và ứng dụng của số nguyên tố trong lý thuyết mật mã

Chương 1: Trình bày các khái niệm cơ bản về số nguyên tố, hợp số, số hoànthiện và một số định lý cơ bản của số học như định lí Wilson, định lí về sự vô hạncủa tập các số nguyên tố, định lí Fermat …và giới thiệu một số các số nguyên tốđặc biệt

Chương 2: Trình bày một số thuật toán kiểm tra số nguyên tố như thuật toánsàng số nguyên tố, phương pháp kiểm tra theo xác suất, các phép kiểm tra tất định

và một số điểm khác có liên quan

Trang 5

Chương 3: Giới thiệu một số chương trình kiểm tra số nguyên tố trên máytính và ứng dụng, một số chương trình kiểm tra số nguyên tố; ứng dụng về mật mãhóa khóa công khai và một số bài toán về số nguyên tố.

Tác giả xin bày tỏ lòng biết ơn sâu sắc đến PGS.TS Nguyễn Thành Quang –người đã hướng dẫn, chỉ bảo và giúp đỡ tận tình cho tác giả khi viết luận văn này Tác giả trân trọng cảm ơn PGS TS Ngô Sỹ Tùng, PGS TS Lê Quốc Hán,

TS Nguyễn Thị Hồng Loan đã đọc bản thảo, góp nhiều ý kiến quí báu để tác giảhoàn thành luận văn

Tác giả cảm ơn sự động viên, ủng hộ của Ban Giám hiệu, tập thể giáo viêntrường THPT Đào Duy Từ - TP Thanh Hóa đã tạo điều kiện thuận lợi về mọi mặttrong quá trình công tác, học tập và nghiên cứu

Nội dung của luận văn hướng đến một vấn đề chuyên sâu của Số học, liên hệvới chương trình toán phổ thông và cập nhật về lí thuyết mật mã … Tuy nhiên vớiđiều kiện thực tế và mặc dù đã có nhiều cố gắng nhưng không tránh khỏi nhữnghạn chế và thiếu sót, tác giả mong muốn được sự góp ý và chỉ bảo của thầy, cô vàcác đồng nghiệp

Vinh, ngày 18 tháng 11 năm 2010

Học viên

Nguyễn Quốc Tuấn

CHƯƠNG 1

SỐ NGUYÊN TỐ1.1 CÁC ĐỊNH LÝ VỀ SỐ NGUYÊN TỐ

Trang 6

1.1.1 Định nghĩa Số tự nhiên p > 1 không có một ước số dương nào khác 1 và

chính nó được gọi là số nguyên tố Số tự nhiên q > 1 có ước số dương khác 1 và chính nó được gọi là hợp số Nếu có số tự nhiên d để n = d 2 thì n được gọi là số chính phương.

1.1.2 Đị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 những 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ố.

1.1.3 Định lý Euler Tập hợp tất cả các số nguyên tố là một tập vô hạn.

1.1.4 Định lý về giá trị nguyên tố của một đa thức Không tồn tại đa thức

Chứng minh Với đa thức f x  a x0 ma x1 m1  am, hiển nhiên f n  0 1 với

số nguyên dương đủ lớn n0 Chọn số nguyên tố p chia hết f n 0 và khai triển

f n 0 kp f n 0 kpg n p k 0 , , 

Số g n p k 0 , ,  là số nguyên Như vậy cả ba số hạng trong hệ thức này đều chia hếtcho p với mọi k = 1, 2, … Với k đủ lớn ta có f n 0 kp  pf n 0 kp chia hếtcho p Ta suy ra điều phải chứng minh ■

1.1.5 Định lý Wilson Cho p là số tự nhiên lớn hơn 1, khi đó p là số nguyên tố khi

và chỉ khi (p-1)!+1 chia hết cho p.

1.1.6 Định lý Fermat nhỏ Cho p là số nguyên tố, a   tùy ý Khi đó

Trang 7

10 Số nguyên tố có dạng 10k 1,k  (Centered decagonal primes)

11 Số nguyên tố có dạng 7k 1,k  (Centered heptagonal primes)

12 Số nguyên tố có dạng 4k 1,k  (Centered square primes)

13 Số nguyên tố có dạng 3k 1,k  (Centered triangular primes)

1.2.1.1 Số nguyên tố Fermat

Trang 8

Số Fermat là một khái niệm trong toán học, mang tên nhà toán học Pháp Pierre de Fermat, người đầu tiên đưa ra khái niệm này Nó là một số nguyên dương

có dạng F  n 22n 1, với n là số không âm

F0 = 21 + 1 = 3

F1 = 22 + 1 = 5

F2 = 24 + 1 = 17

F3 = 28 + 1 = 257

F4 = 216 + 1 = 65.537

F5 = 232 + 1 = 4.294.967.297

= 641 × 6.700.417

F6 = 264 + 1 = 18.446.744.073.709.551.617

= 274.177 × 67.280.421.310.721

F7 = 2128 + 1 = 340.282.366.920.938.463.463.374.607.431.768.211.457

= 59.649.589.127.497.217 × 5.704.689.200.685.129.054.721

F8 = 2256 + 1 = 115.792.089.237.316.195.423.570.985.008.687.907.853.269

.984.665.640.564.039.457.584.007.913.129.639.937

= 1.238.926.361.552.897× 93.461.639.715.357.977.769.163. 558.199.606.896.584.051.237.541.638.188.580.280.321

Bảng 1.2.1 Bảng các số Fermat đầu tiên Các công thức thiết lập số Fermat:

Với n ≥ 2 Các hệ thức trên có thể chứng minh bằng cách quy nạp toán học

Ta có thể tính gần đúng số chữ số của chúng bằng hệ thức gần đúng sau:

1.2.1.2 Số nguyên tố Mersenne

Trang 9

1 Sơ lược về lịch sử số nguyên tố Mersenne

Một số nguyên tố Mersenne là một số nguyên tố có dạng M  p 2p  1, trong

đó p là số nguyên tố Bốn số nguyên tố Mersenne đầu tiên là M2 = 3, M3 = 7, M5 =

31 và M7 = 127 đã được biết từ cổ xưa Số thứ năm, M13 = 8191, được tìm thấy vào

trước năm 1461; hai số M17 và M19 tìm được năm 1588 Sau hơn một thế kỷ M31

được kiểm tra bởi Euler vào năm 1750 Số tiếp theo là M127, do E.Lucas tìm thấy

vào năm 1876, sau đó M61 do Pervushin tìm vào năm 1883 Hai số M89 và M107 đượctìm thấy bởi Powers vào năm 1911 và 1914 Số M1398269 phát hiện năm 1996 Từ thế

kỷ 17, các số này được mang tên nhà toán học Pháp Marin Mersenne, người đãchứng minh một loạt các số nguyên tố Mersenne với số mũ lên tới 257 Danh sách

của ông có một số nhầm lẫn như bao gồm cả M67, M257, và bỏ quên M61, M89, M107.Các số nguyên tố lớn nhất được tìm thấy thường là số nguyên tố Mersenne

Các số nguyên tố Mersenne có quan hệ chặt chẽ với các số hoàn thiện Tronglịch sử, việc nghiên cứu các số nguyên tố Mersenne đã từng bị thay đổi do các liên

quan này; vào thế kỷ 4 TCN, Euclid phát biểu rằng nếu M là số nguyên tố

2 Tìm các số nguyên tố Mersenne

Ta biết rằng, nếu Mn là số nguyên tố thì n là số nguyên tố Tuy nhiên, mệnh

đề đảo nói chung là sai Chẳng hạn số Mersenne 2047=2 11 −1 không là nguyên tố vì

nó chia hết cho 89 và 23, mặc dù số 11 là số nguyên tố Điều đó làm giản lược bớtviệc tìm các số nguyên tố Mersenne

Phương pháp tốt nhất để kiểm tra tính nguyên tố của các số Mersenne đượcdựa vào sự tính toán một dãy tuần hoàn, được phát biểu đầu tiên bởi Lucas năm

1878 và chứng minh bởi Lehmer vào những năm 1930 và được gọi là kiểm tra

Trang 10

Lucas-Lehmer Đặc biệt, ta có thể chứng minh rằng (với n > 2) Mn = 2 n − 1 là số

nguyên tố nếu và chỉ nếu Mn chia hết cho Sn-2, trong đó S0 = 4 và với k > 0,

nguyên tố Mersenne M521, vào lúc 10:00 P.M ngày 30/1/1952 khi sử dụng máy tính

tự động Western U.S National Bureau of Standards (SWAC) tại Institute forNumerical Analysis thuộc Đại học California tại Los Angeles, dưới sự điều khiểntrực tiếp của Lehmer, sử dụng chương trình viết và chạy bởi GS R.M Robinson

Nó là số nguyên tố Mersenne đầu tiên tìm thấy sau 38 năm; số tiếp theo M607, đã

được tìm thấy do computer này sau gần hai giờ chạy máy Ba số tiếp theo M1279,

M2203, M2281 đã được tìm thấy với cùng chương trình trên sau nhiều tháng nữa Hiện nay đã biết các số nguyên tố Mersenne rất lớn Dù vậy, đến tháng 4năm 2009, chỉ mới biết 47 số nguyên tố Mersenne, số lớn nhất đã biết là số (243 112

609 − 1) Cũng như nhiều số nguyên tố Mersenne trước đó, nó được tìm ra nhờ dự án

tính toán phân tán trên Internet, được biết với tên gọi Tìm kiếm số nguyên tố Mersenne khổng lồ trên Internet.

3 Danh sách các s nguyên t Mersenne ã bi tố nguyên tố Mersenne đã biết ố nguyên tố Mersenne đã biết đã biết ết

Trang 13

31 216 091 746093103…815528447 65 05006/09/1985 Slowinski

32 756 839 174135906…544677887 227 83219/02/1992

Slowinski & Gage trên Cray-2 tại Phòng thí nghiệm Harwell

33 859 433 129498125…500142591 258 71610/01/1994 Slowinski & Gage

34 1 257 787 412245773…089366527 378 63203/09/1996 Slowinski & Gage

35 1 398 269 814717564…451315711 420 92113/11/1996 GIMPS / Joel Armengaud

36 2 976 221 623340076…729201151 895 93224/08/1997 GIMPS / Gordon

Spence

37 3 021 377 127411683…024694271 909 52627/01/1998 GIMPS / Roland Clarkson

38 6 972 593 437075744…924193791 2 098 96001/06/1999 GIMPS / Nayan Hajratwala

39 13 466 917 924947738…256259071 4 053 94614/11/2001 GIMPS / Michael Cameron

40 * 20 996 011 125976895…855682047 6 320 43017/11/2003 GIMPS / Michael Shafer

41 * 24 036 583 299410429…733969407 7 235 73315/05/2004 GIMPS / Josh

Findley

Trang 14

42 * 25 964 951 122164630…577077247 7 816 23018/02/2005 GIMPS / Martin Nowak

43 * 30 402 457 315416475…652943871 9 152 05215/12/2005 GIMPS / Curtis Cooper & Steven

Boone

44 * 32 582 657 124575026…053967871 9 808 35804/09/2006 GIMPS / Curtis Cooper & Steven

Boone

45 * 37 156 667 202254406…308220927 11 185 27206/09/2008 GIMPS / Hans- Michael Elvenich

46 * 42 643 801 169873516 62314751 12 837 06412/04/2009 GIMPS / Odd M Strindmo

47* 43 112 609 316470269…697152511 12 978 18923/08/2008 GIMPS / Edson Smith

Bảng 1.2.2 Danh sách các số nguyên tố Mersenne đã biết (tính đến tháng 9 năm 2010)

* Cho đến nay vẫn chưa khẳng định được có số nguyên tố Mersenne nào nằmgiữa số thứ 39 (M13466917) và 47 (M43112609) trong bảng mà chưa được phát hiện haykhông, do đó thứ tự các số đó là tạm thời Một ví dụ là số thứ 29 được phát hiện rasau số thứ 30 và 31, số thứ 47 cũng được công bố trước số 45 hai tuần

* Để hình dung độ lớn của số nguyên tố lớn nhất được tìm thấy (số thứ 47), tacần có 3461 trang giấy để biểu diễn số đó với các chữ số trong hệ cơ số 10, 75 chữ

số một dòng và 50 dòng một trang

* Tính tới tháng 8 năm 2005, mới chỉ biết các số nguyên tố Mersenne kép

: 7, 127, 2147483647, 170141183460469231731687303715884105727

1.2.1.3 Số nguyên tố Ramanujan

Trang 15

Số nguyên tố Ramanujan là tên gọi các số nguyên tố thỏa mãn một kết quả

do nhà toán học Ấn Độ Srinivasa Ramanujan tìm ra

Nguồn gốc và định nghĩa Năm 1919, Ramanujan công bố một cách chứng

minh định đề Bertrand Ở phần cuối công bố này (chỉ hai trang), Ramanujan rút ra

thêm một kết luận nữa: π(x) − π(x / 2) ≥ 1, 2, 3, 4, 5, nếu x ≥ 2, 11, 17, 29, 41, trong đó hàm π(x) là số các số nguyên tố không lớn hơn x.

Kết quả này, khi đọc ngược lại, trở thành định nghĩa của số nguyên tố

Ramanujan Nói cách khác: Số nguyên tố Ramanujan là các số Rn sao cho Rn là số nhỏ nhất thỏa mãn điều kiện π(x) − π(x / 2) ≥ n, cho mọi x ≥ R n

Nói cách khác nữa: Số nguyên tố Ramanujan là các số nguyên Rn sao cho Rn

là số nhỏ nhất có thể bảo đảm có n số nguyên tố giữa x và x/2 cho mọi x ≥ Rn

Vì Rn là số nguyên nhỏ nhất thỏa mãn điều kiện trên, nên Rn phải là số nguyên tố Mỗi khi hàm π(x) − π(x / 2) tăng lên 1, đó là do có thêm một số nguyên

tố nữa và các số nguyên tố Ramanujan đầu tiên là: 2, 11, 17, 29, 41

1.2.1.4 Số nguyên tố Chen

Số nguyên tố p được gọi là số nguyên tố Chen (Trần) nếu p + 2 cũng là số

nguyên tố hoặc là tích của hai số nguyên tố

Vào năm 1966, Trần Cảnh Nhuận (Chen Jingrun) đã chứng minh rằng có vô

hạn số nguyên tố như vậy Rudolf Ondrejka (1928-2001) đã tìm được một hìnhvuông kỳ ảo 3x3 của 9 số Chen

17 89 71

113 59 5

47 29 101

Tháng 10 năm 2005, Micha Fleuren và nhóm PrimeForm đã tìm thấy sốnguyên tố Chen lớn nhất hiện nay (1284991359·298305 + 1)·(96060285·2135170 + 1) −

2 với 70301 chữ số

Trang 16

Một số số nguyên tố Chen đầu tiên:

Có giả thiết cho rằng các số nguyên tố họ hàng có mật độ tiệm cận giống nhưcác số nguyên tố sánh đôi Một hằng số tương tự hằng số Brun cho các số nguyên

tố sánh đôi cho các số nguyên tố họ hàng, bắt đầu với (3, 7):

Khi dùng các số nguyên tố họ hàng tới 242, có giá trị của B4 được tính bởi

Marek Wolf năm 1996 là B4 ≈ 1.1970449 (Cần tránh nhầm lẫn hằng số này với

hằng số Brun's cho các số nguyên tố bộ bốn, cũng được kí hiệu là B4)

Các cặp số nguyên tố họ hàng đầu tiên là:

(3, 7), (7, 11), (13, 17), (19, 23), (37, 41), (43, 47), (67, 71), (79, 83), (97, 101),(103, 107), (109, 113), (127, 131), (163, 167), (193, 197), (223, 227), (229, 233),(277, 281), (307, 311), (313, 317), (349, 353), (379, 383), (397, 401), (439, 441),(457, 461), (487, 491), (499, 503), (613, 617), (643, 647), (673, 677), (739, 743),(757, 761), (769, 773), (823, 827), (853, 857), (859, 863), (877, 881), (883, 887),(907, 911), (937, 941),

1.2.1.6 Số nguyên tố giai thừa

Trang 17

Số nguyên tố giai thừa là một số nguyên tố nhỏ hơn hoặc lớn hơn một, so vớimột giai thừa hoặc chính nó là một giai thừa

Ta hiểu là: 2=2!; 3=2!+1; 5= 3!-1; 7 = 3!+1; 23=4!-1; 719=6!-1;5039=7!-1;

39916801 = 11!+1; 479001599= 12!+1; 87178291199 = 14!+1,

Số nguyên tố giai thừa duy nhất đúng là giai thừa, chỉ là số 2=2! Các sốnguyên tố giai thừa được quan tâm trong lý thuyết số vì chúng vắng mặt trong dãyliên tiếp các hợp số Chẳng hạn số nguyên tố tiếp theo 6227020777 = 13! − 23 là

6227020867 = 13! + 67 và giữa 2 số này có 89 hợp số liên tiếp

Nếu n là một số tự nhiên và p là một số nguyên tố, thì n! + p không thể là nguyên tố với p < n, vì nó là một bội của p, cũng như chính n! Nhưng n! + 1, chỉ chắc chắn là bội của 1, vẫn có thể là số nguyên tố (Điều này cũng đúng với n!- p

Trang 18

Bảng 1.2.3 Bảng khảo sát tính nguyên tố của 25 số Fibonacci đầu tiên

Hiện tại, số nguyên tố Fibonacci lớn nhất được biết là F81839, với 17103 chữsố; số lớn nhất có khả năng lá nguyên tố Fibonacci là F604711, với 126377 chữ số.Chưa biết chắc rằng có thể có vô hạn số nguyên tố Fibonacci không

Trang 19

Tính chia hết của các số Fibonacci với chỉ số nguyên tố Các số Fibonacci có chỉ số p nguyên tố không có ước chung lớn hơn 1 với các số Fibonacci khác, đó là

vì ƯCLN(Fn, Fm) = FƯCLN(n,m) Với n ≥ 3, Fn chia hết Fm nếu n chia hết m.

Định lý Carmichael khẳng định rằng mọi số Fibonacci với chỉ số lớn hơn 12

có ít nhất một ước nguyên tố không là ước của các số Fibonacci nào đứng trước nó

1.2.1.8 Số nguyên tố Gauss

Một số nguyên Gauss là một số phức với phần thực và phần ảo đều là các số

nguyên Tập các số nguyên Gauss là một miền nguyên, được ký hiệu là Z[i].

Hình 1.2.4 Hình biểu diễn các số nguyên tố Gauss trên mặt phẳng phức

Các số nguyên Gauss là các điểm nguyên trên mặt phẳng phức

Như vậy, các số nguyên Gauss là tập hợp a bi a b ,  

Chuẩn của số nguyên Gauss là số tự nhiên xác định bằng N(a + bi) = a2 + b2

Chuẩn có tính chất nhân, nghiã là N(z·w) = N(z)·N(w).

Đơn vị của Z[i] là tất cả các phần tử có chuẩn bằng 1, gồm 1, −1, i và −i.

Các phần tử nguyên tố của Z[i] cũng được gọi là các số nguyên tố Gauss Một vài

số nguyên tố thông thường (đôi khi để phân biệt, chúng được gọi là các "số nguyên

tố hữu tỷ") không phải là các số nguyên tố Gauss; chẳng hạn 2 = (1 + i)(1 − i) và

5 = (2 + i)(2 − i) Các số nguyên tố hữu tỷ đồng dư với 3 (mod 4) là số nguyên tố

Trang 20

Gauss; còn các số nguyên tố hữu tỷ đồng dư 1 (mod 4) thì không Đó là vì số

nguyên tố dạng 4k + 1 luôn có thể viết dưới dạng tổng của hai bình phương (định lý Fermat), do đó ta có p = a2 + b2 = (a + bi)(a − bi).

Nếu chuẩn của số nguyên Gauss z là một số nguyên tố, thì z cũng là số nguyên tố Gauss, vì mọi ước không tầm thường của z cũng là ước không tầm thường của chuẩn Chẳng hạn 2 + 3i là một số nguyên tố Gauss vì chuẩn của nó là

Trong toán học, số nguyên tố chính quy là một loại số nguyên tố do Ernst

Kummer định nghĩa: Một số nguyên tố p được gọi là chính quy nếu không tồn tại bất cứ một tử số nào của số Bernoulli Bk (k = 2, 4, 6, …, p − 3.) chia hết cho p

Có giả thuyết là có vô hạn số nguyên tố chính quy Một giả thuyết khác của

nhà toán học (Siegel, 1964) rằng e−1/2, hay khoảng 61% các số nguyên tố là chínhquy Cả 2 giả thuyết này vẫn chưa có ai chứng minh được cho đến 2008

Trong lịch sử Ernst Kummer đã tìm ra loại số này khi đang cố gắng chứngminh định lý lớn Fermat là đúng với số mũ là tích của các số này

Trái lại với số nguyên tố chính quy là số nguyên tố phi chính quy Nếu tồn

tại một tử số của số Bernoulli Bk mà chia hết cho p thì p được gọi là số nguyên tố

phi chính quy K L Jensen đã cho thấy có vô số phi chính quy

Dưới đây là bảng liệt kê một số số nguyên tố chính qui

3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 41, 43, 47, 53, 61, 71, 73, 79, 83, 89, 97, 107,

109, 113, 127, 137, 139, 151, 163, 167, 173, 179, 181, 191, 193, 197, 199, 211,

Trang 22

Các số nguyên tố song sinh

Với p là số nguyên tố, cặp số (p,p+2) gọi là cặp số nguyên tố song sinh.

(3, 5), (5, 7), (11, 13), (17, 19), (29, 31), (41, 43), (59, 61), (71, 73), (101, 103),(107, 109), (137, 139), (149, 151), (179, 181), (191, 193), (197, 199), (227, 229),(239, 241), (269, 271), (281, 283), (311, 313), (347, 349), (419, 421), (431, 433),(461, 463), (521, 523), (569, 571), (599, 601), (617, 619), (641, 643), (659, 661),(809, 811), (821, 823), (827, 829), (857, 859), (881, 883), (1019, 1021), (1031,1033), (1049, 1051), (1061, 1063), (1091, 1093), (1151, 1153), (1229, 1231),(1277, 1279), (1289, 1291), (1301, 1303), (1319, 1321), (1427, 1429), (1451,1453), (1481, 1483), (1487, 1489), (1607, 1609), (1619, 1621), (1667, 1669),

Trang 23

16069), (18041, 18043, 18047, 18049), (18911, 18913, 18917, 18919), (19421,

19423, 19427, 19429), (21011, 21013, 21017, 21019), (22271, 22273, 22277,22279), (25301, 25303, 25307, 25309), (31721, 31723, 31727, 31729), (34841,

34843, 34847, 34849), (43781, 43783, 43787, 43789), (51341, 51343, 51347,51349), (55331, 55333, 55337, 55339), (62981, 62983, 62987, 62989), (67211,

67213, 67217, 67219), (69491, 69493, 69497, 69499),

Các bộ ba số nguyên tố

(5, 7, 11), (7, 11, 13), (11, 13, 17), (13, 17, 19), (17, 19, 23), (37, 41, 43), (41, 43,47), (67, 71, 73), (97, 101, 103), (101, 103, 107), (103, 107, 109), (107, 109, 113),(191, 193, 197), (193, 197, 199), (223, 227, 229), (227, 229, 233), (277, 281, 283),(307, 311, 313), (311, 313, 317), (347, 349, 353), (457, 461, 463), (461, 463, 467),(613, 617, 619), (641, 643, 647), (821, 823, 827), (823, 827, 829), (853, 857, 859),(857, 859, 863), (877, 881, 883), (881, 883, 887)

Trang 24

CHƯƠNG 2TIÊU CHUẨN VÀ THUẬT TOÁN KIỂM TRA SỐ NGUYÊN TỐ

Kiểm tra tính nguyên tố là bài toán kiểm tra xem một số tự nhiên 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ã hóa khoá công khai ra đời Chúng ta sử dụng các tiêu chuẩn về số nguyên tố, đólà: Định lí Wilson, Định lí Fermat bé

2.1 CÔNG THỨC VÀ THUẬT TOÁN SÀNG SỐ NGUYÊN TỐ

2.1.1 Sơ lược về Sàng Eratosthenes

Phương pháp đơn giản nhất để kiểm tra một số n có là số nguyên tố không, là kiểm tra xem nó có chia hết cho các số m nằm trong khoảng 2 đến n − 1 hay không Nếu n chia hết cho một số m nào đó thì n là hợp số, ngược lại n là số nguyên tố.

Thực ra việc kiểm tra với m từ 2 đến n − 1 là không cần thiết, chỉ cần kiểm tra đến n , bởi vì nếu n là hợp số thì chắc chắn có ước số không vượt quá n

Cũng có thể bỏ qua việc kiểm tra trường hợp m = 2 bằng cách chỉ xét các số

lẻ Đi xa hơn một chút, ta chỉ cần xét các số dạng và bỏ qua việc kiểm tra 2

trường hợp m = 2 và m = 3 Đó là vì tất cả các số nguyên đều có dạng 6k + i với k

nào đó và i  0, 1,2,3, 4 mà trong đó 6k + 0, 6k + 2, 6k + 4 chia hết cho 2, còn 6k +

3 thì chia hết cho 3 Từ đó, ta có thể tổng quát hóa thành thuật toán sàngEratosthenes

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

Trang 25

Thuật toán cụ thể của sàng là:

const int MAX_N = 10000;

Trang 26

Hình 2.1.1 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ố

2.1.4 Viết chương trình sàng Eratosthenes theo ngôn ngữ lập trình Pascal

Trang 27

2.2 PHƯƠNG PHÁP KIỂM TRA 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 hợp 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.

2.2.1 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.

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 một loạt 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ố.

2.2.2 Các phép kiểm tra tính nguyên tố ngẫu nhiên

Phép kiểm tra tính nguyên tố của Fermat, đây là phép thử heuristic, tuy nhiên

ít người sử dung phép thử này Được sử dụng nhiều hơn là Kiểm tra Miller-Rabin

và Kiểm tra Solovay-Strassen Với mỗi hợp số n, ít nhất 3

4 (kiểm tra Miller-Rabin)

hoặc 1

2 (kiểm tra Solovay-Strassen) các số a chứng tỏ n là hợp số.

2.2.2.1 Kiểm tra Fermat

Trang 28

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

1 Sơ lược về kiểm tra Fermat

Nếu ta muốn kiểm tra số n có là nguyên tố không, ta lấy ngẫu nhiên các số a'

và kiểm tra theo định lí Fermat Nếu nó không đúng với một giá trị a nào đó thì n là hợp số Nếu đẳng thức đúng với nhiều giá trị của a, ta có thể nói rằng n là số

nguyên tố với xác suất nào đó, hay là một số giả nguyên tố

2 Thuật toán và thời gian thi hành

Thuật toán 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]

if a n − 1 mod n ≠ 1 then

return composite

return probably prime

Khi dùng thuật toán tính nhanh luỹ thừa theo mođun, thời gian thi hành của

thuật toán là O(k × log3n), ở đó k là số lần kiểm tra với mỗi số a ngẫu nhiên, và n là

giá trị ta muốn kiểm tra

3 Khả năng vận dụng

Có khá nhiều giá trị của n là các số Carmichael mà với tất cả các giá trị của a sao cho ƯCLN(a,n) = 1 là giả Fermat Mặc dù các số Carmichael là rất hiếm,

Trang 29

nhưng phép thử Fermat rất ít được dùng so với các phương pháp khác như kiểm traMiller-Rabin hay kiểm tra Solovay-Strassen.

Nói chung, nếu n không là số Carmichael thì ít nhất một nửa các số

 / 

a  n là bằng chứng Fermat

Bằng chứng Fermat được hiểu là: nếu có số a mà a n 1 1 mod n

 ,thì a được xem như một bằng chứng Fermat chứng tỏ n là hợp số.

2.2.2.2 Kiểm tra Miller-Rabin

1 Sơ lược về 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ốcũng như các thuật toán kiểm tra tính nguyên tố: Kiểm tra Fermat và Kiểm traSolovay-Strassen Nó được đề xuất đầu tiên bởi Gary L Miller như một thuật toántất định, dựa trên giả thiết Riemann tổng quát; Michael 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ố đượ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.

2 Tiêu chuẩn Miler-Rabin

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 , 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 dãy số 2 k m

k

xa với k = 0,1,2, ,s Khi đó xk = (xk − 1)2, với k = 1,2, ,s và xs = p.

Trang 30

Nếu x s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

1 mod

k

x  p , hoặc tới k = 0 ta vẫn có x k  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:

Định nghĩa: Hợp số n thoả mãn a p1 1 mod p

 với a nào đó được gọi là sốgiả nguyên tố Fermat cơ sở a

Định nghĩa: Hợp số n được gọi là số giả nguyên tố mạnh Fermat cơ sở a nếu

nó thoả mãn mệnh đề Q(n,a)

Số Carmichael: Hợp số n là số giả nguyên tố Fermat với mọi cơ sở a

{1, ,n}, ƯCLN(a,n) = 1 được gọi là số Carmichael.

4 Thuật toán kiểm tra Miller-Rabin

Miller-Rabin test

INPUT Số tự nhiên lẻ n.

OUTUT NguyenTo: TRUE/FALSE

Phân tích n 1 2  s m trong đó s 1 và m là số tự nhiên lẻ

Chọn ngẫu nhiên số tự nhiên a {2, ,n-1}.

Trang 31

Thay b:=b2(mod n).

Trả lời FALSE Kết thúc

5 Xác suất sai

Tiêu chuẩn kiểm tra Q(n,a)

Trước hết là một bổ đề về căn bậc hai của đơn vị trong trường hữu hạn p,

trong đó p là số nguyên tố Chắc chắn rằng 1 và -1 luôn là các căn bậc hai của 1 theo mođun p Chúng là hai căn bậc hai duy nhất của 1.

Định lý: Nếu n là hợp số dương lẻ thì trong các số a {2, ,n-1} tồn tại không quá

1

4

n  cơ sở a để n là số giả nguyên tố mạnh Fermat.

Gọi A là biến cố "Số n là hợp số" B là biến cố "Kiểm tra Miller-Rabin trả lời n là số nguyên tố" Khi đó xác suất sai của kiểm tra này là xác suất để số n là

hợp số trong khi thuật toán cho câu trả lời TRUE, nghĩa là xác suất điều kiện P(A|B)

Theo định lý trên nếu n là hợp số thì khả năng kiểm tra này trả lời TRUE xảy

ra với xác suất không vượt quá 1

4 , nghĩa là P(B|A)

14

 Tuy nhiên để tính xác suất

sai của kiểm tra Miller-Rbin cần tính xác suất diều kiện P(A|B) Ta đưa ra ước

4

 , còn P B A = 1 vì khi n là \ 

số nguyên tố thì chắc chắn mệnh đề Q(n,a) là đúng và P A  1 P A ln2n

Ngày đăng: 19/12/2013, 09:58

HÌNH ẢNH LIÊN QUAN

Bảng 1.2.1. Bảng các số Fermat đầu tiên - Tiêu chuẩn và thuật toán kiểm tra số nguyên tố
Bảng 1.2.1. Bảng các số Fermat đầu tiên (Trang 8)
Bảng 1.2.2. Danh sách các số nguyên tố Mersenne đã biết (tính đến tháng 9 năm 2010) - Tiêu chuẩn và thuật toán kiểm tra số nguyên tố
Bảng 1.2.2. Danh sách các số nguyên tố Mersenne đã biết (tính đến tháng 9 năm 2010) (Trang 14)
Bảng 1.2.3. Bảng khảo sát tính nguyên tố của 25 số Fibonacci đầu tiên - Tiêu chuẩn và thuật toán kiểm tra số nguyên tố
Bảng 1.2.3. Bảng khảo sát tính nguyên tố của 25 số Fibonacci đầu tiên (Trang 18)
Hình 1.2.4. Hình biểu diễn các số nguyên tố Gauss trên mặt phẳng phức - Tiêu chuẩn và thuật toán kiểm tra số nguyên tố
Hình 1.2.4. Hình biểu diễn các số nguyên tố Gauss trên mặt phẳng phức (Trang 19)
Hình 2.1.1. 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ố - Tiêu chuẩn và thuật toán kiểm tra số nguyên tố
Hình 2.1.1. 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ố (Trang 26)
Hình 3.2.2. Dùng khoá công khai để mã hóa, nhưng dùng khoá bí mật để giải mã. - Tiêu chuẩn và thuật toán kiểm tra số nguyên tố
Hình 3.2.2. Dùng khoá công khai để mã hóa, nhưng dùng khoá bí mật để giải mã (Trang 46)
Hình 3.2.3. Tổ hợp khoá bí mật mình với khoá bí mật của người khác tạo ra khoá dùng chung  chỉ hai người biết. - Tiêu chuẩn và thuật toán kiểm tra số nguyên tố
Hình 3.2.3. Tổ hợp khoá bí mật mình với khoá bí mật của người khác tạo ra khoá dùng chung chỉ hai người biết (Trang 47)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w