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

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

57 954 7

Đ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

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 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 MỤC LỤC MỞ ĐẦU Chương 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 số nguyên tố Phân bố số nguyên tố Số nguyên tố xác suất Chương 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ố Maple KẾT LUẬN TÀI LIỆU THAM KHẢO Trang 4 13 20 26 26 30 42 43 52 53 MỞ ĐẦU Qua nhiều thống kê số học, cho thấy số tự nhiên thỏa mãn tính chất số nguyên tố (chẳng hạn kết luận Định lí Fermat bé) "có nhiều khả năng" số nguyên tố Do đó, Lý thuyết số có khái niệm số nguyên tố xác suất sau: Một số tự nhiên n thoả mãn tính chất số nguyên tố gọi số nguyên tố với xác suất đó, hay nói gọn số nguyên tố xác suất (probable prime) Một số nguyên tố xác suất gọi số giả nguyên tố (pseudoprime) hợp số Tuỳ theo tính chất số nguyên tố mà thoả mãn, ta 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ó phân biệt rõ số nguyên tố xác suất với số giả nguyên tố Số nguyên tố xác suất số nguyên tố hợp số, số giả nguyên tố hợp số thoả mãn tính chất số nguyên tố Kiểm tra tính nguyên tố (primality test) toán kiểm tra xem số tự nhiên có phải số nguyên tố hay không? Bài toán đặc biệt trở nên quan trọng hệ mật mã khoá công khai đời Liên hệ với toán trên, kiểm tra số nguyên cho trước có phải số giả nguyên tố hay không (pseudoprimality test) có nhiều ứng dụng thực tiễn Đối với số nhỏ, toán dĩ nhiên không khó Tuy nhiên làm việc với số lớn, ta cần tìm thuật toán hữu hiệu nghĩa thực máy tính khoảng thời gian chấp nhận Có loại số giả nguyên tố? Tính chất chúng nhế chúng có ứng dụng gì? Đó vấn đề mà đặt ra, để tìm hiểu luận văn này, với tựa đề “Về số loại số giả nguyên tố” Luận văn chia làm hai chương với nội dung giới thiệu kết về: số nguyên tố; số giả nguyên tố; kiểm tra nguyên tố; kiểm tra giả nguyên tố; số thuật toán ứng dụng số nguyên tố số giả nguyên tố Chương 1: Trình bày định lý số nguyên tố, số nguyên tố xác suất số thuật toán để tính nguyên tố theo xác suất Chương : Giới thiệu số loại số giả nguyên tố Trình bày sơ lược Maple; đồng thời giới thiệu ứng dụng kiểm tra số giả nguyên tố Maple Trong trình học tập, nghiên cứu viết luận văn, nhiều cố gắng, song chắn thiếu sót Tôi mong nhận góp ý, bảo thầy cô giáo 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, bảo; cảm ơn thầy cô giáo Bộ môn Đại số, Khoa Toán học, Phòng Đào tạo Sau Đại học Thư viện Trường Đại học Vinh giúp đỡ, tạo điều kiện để hoàn thành luận văn Tôi xin cảm ơn gia đình, bạn bè, đồng nghiệp giúp đỡ suốt thời gian học tập nghiên cứu Nghệ An, tháng 08 năm 2013 Lê Thị Cẩm Anh CHƯƠNG SỐ NGUYÊN TỐ XÁC SUẤT 1.1 Số nguyên tố Những khái niệm kết số nguyên tố giới thiệu nhiều sách Số học Trong chương này, trình bày kiến thức số nguyên tố dựa theo tài liệu [3] ,[4] [9] 1.1.1 Định nghĩa Số nguyên tố số nguyên lớn 1, không chia hết cho số nguyên dương (không có ước thực sự) Một số nguyên lớn số nguyên tố gọi hợp số 1.1.2 Định lý Ước nhỏ khác số tự nhiên lớn 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, số nguyên tố lớn Chứng minh Giả sử có hữu hạn số nguyên tố p1 , , pk ( k ≥ 1) , ta đặt a = p1 pk + Khi đó, theo Định lý 1.1.2, ước nhỏ p khác a số nguyên tố Vì có hữu hạn số nguyên tố ( p = p j j = 1, k ) p1 , , pk ( k ≥ 1) , nên Từ suy ra, số nguyên tố p ước Ta có điều mâu thuẫn ■ 1.1.4 Định lý Số học Mọi số tự nhiên lớn phân tích thành tích thừa số nguyên tố phân tích không kể đến thứ tự thừa số Số nguyên tố coi “tích” gồm thừa số Từ có dạng phân tích tiêu chuẩn số tự nhiên n >1 n = p1a p2a L pka k p1 , p2 , , pk số nguyên tố phân biệt, a1 , a , , a k số tự nhiên khác Khi n số lớn, việc kiểm tra xem n số nguyên tố hay hợp số toán phân tích hợp số n thừa số nguyên tố toán khó Nếu n cỡ vào khoảng 100 chữ số thập phân, số phép tính bít cần thiết để kiểm tra n có phải số nguyên tố hay không vào cỡ 1050 Với máy tính thực triệu phép tính giây, thời gian cần thiết vào khoảng 3,1× 1036 năm Trong tin học, toán dạng gọi “Bài toán bất trị” (xem [3]) 1.1.5 Định lý Wilson Số tự nhiên p > số nguyên tố ( p − 1) ! ≡ −1( mod p ) Chứng minh Giả sử p số nguyên tố Khi p = , ta có ( p − 1) ! = ≡ −1( mod ) Bây giả sử p số nguyên tố lớn Với số nguyên b với ≤ b ≤ p − , tồn số nguyên a với ≤ a ≤ p − , ab ≡ 1( mod p ) Hơn nữa, số nguyên dương nhỏ p , có p − nghịch đảo Do đó, ta nhóm số nguyên từ đến p − thành p−3 cặp số nguyên cho tích cặp đồng dư với theo module p Vì vậy, ta có 2.3 ( p − 3)( p − 2) ≡ 1(mod p ) Nhân hai vế với p − , ta ( 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 b ước số p , với b < p Khi đó, b ước số ( p − 1) ! Nhưng theo giả thiết, p lại ước số ( p − 1) ! + 1, b = Vậy p số nguyên tố Định lý chứng minh  Để đơn giản, ta gọi công việc xem xét số cho có phải số nguyên tố hay không kiểm tra nguyên tố Về mặt lý thuyết, định lý Wilson dùng để kiểm tra nguyên tố Tuy nhiên, thuật toán dựa theo định lý Wilson khó sử dụng với số nguyên lớn, số p đủ lớn ( p − 1) ! lớn Do đó, số phép tính bit đòi hỏi cao Định lý sau có nhiều ứng dụng toán kiểm tra nguyên tố 1.1.6 Định nghĩa Hàm số Euler ϕ (m) hàm số học có giá trị số tự nhiên m ≠ số số nguyên dương không vượt m nguyên tố với m: ϕ ( m) = ∑ 1≤k ≤ m ( k ,m ) =1 Hàm ϕ (m) có nhiều ứng dụng kích thước (cấp) nhóm nhân số nguyên module m Hơn nữa, hàm Euler ϕ (m) ta có công thức Gauss công thức tổng trải ước dương d m: å j (d ) = m dm 1.1.7 Định lí Euler Nếu m > a số nguyên, nguyên tố aϕ ( m ) ≡ 1(mod m) Các tính chất hàm Euler sử dụng để tính đồng dư lũy thừa lớn ứng dụng mã hoá thông tin Chẳng hạn, ta cần tính a n (mod k ) , n số nguyên lớn Ví dụ Tìm số dư 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ì 230 º 1(mod 77) Mặt khác, 1000000 = 30.33333 +10 21000000 º 210 º 23(mod 77) 1.1.8 Định lý Fermat bé Nếu p số nguyên tố b số nguyên không chia hết cho p b p −1 ≡ 1( mod p ) Chứng minh Xét hệ p − số nguyên b, 2b, , ( p − 1) b Các số nguyên không chia hết cho p đôi không đồng dư với theo module p Xét hệ thặng dư dương bé module p 1, 2, , p − Ta có b.2b ( p − 1) b ≡ 1.2 ( p − 1) ≡ ( p − 1) !( mod p ) , tức b p −1 ( p − 1) ! ≡ ( p − 1) !( mod p ) Vì ( ( p − 1) !, p ) = 1, nên giản ước hai vế đồng dư thức, ta có b p −1 ≡ 1( mod p )  1.1.9 Hệ Nếu p số nguyên tố a số nguyên 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ó nguyên tố không, ta lấy ngẫu nhiên số nguyên b kiểm tra xem đồng dư thức n thức b ≡ b ( mod n ) có không Nếu đồng dư thức không với giá trị b n hợp số Nếu đồng dư thức với nhiều giá trị b, ta nói n số nguyên tố với xác suất Có thể phép thử cho ta kết 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 phép kiểm tra tính nguyên tố số tự nhiên n; đòi hỏi có thừa số nguyên tố n − biết Nếu tồn số b nhỏ n lớn số thoả mãn b n−1 ≡ 1( mod n ) , đồng dư thức sau không thoả mãn b( n−1)/ q ≡ 1( mod n ) , với ước nguyên tố q n − 1, n số nguyên tố Nếu không tìm thấy số nguyên b n hợp số Ví dụ Với n = 71, n − = 70 = Lấy b = 11, trước hết 1170 ≡ 1( mod 71) Kiểm tra với ước khác 70 ta có 1135 ≡ 70 ≡/ 1( mod 71) , 1114 ≡ 54 ≡/ 1( mod 71) , 1110 ≡ 32 ≡/ 1( mod 71) Do bậc 11 module 71 70 71 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ẻ số nguyên Proth Định lý Proth Cho p số Proth, dạng k 2n + 1, với k lẻ k < 2n Khi đó, có số nguyên b cho b p −1 ≡ −1( mod p ) p số nguyên tố Francois Proth (1852 - 1879) tìm định lý khoảng vào năm 1878 Định lý Proth phương pháp kiểm tra tính nguyên tố dùng cho số Proth Bảy số nguyên Proth P1 = 21 + = P2 = 22 + = P3 = 23 + = P4 = × 22 + = 13 P5 = 24 + = 17 P6 = × 23 + = 25 P7 = 25 + = 33, có số kiểm tra nguyên tố nhờ kiểm tra Proth 10 a n −1 a ≡b n −1 n −1 ≡ − 1( mod q1 ) , ≡ 1( mod q2 q3 qr ) Do a n −1 ≡/ ± 1( mod n ) , trái với giả thiết phản chứng Như vậy, với b, < b < n, ( b, n ) = ta có b n −1 ≡ 1( mod n ) Từ đồng dư giả thiết phản chứng, ta có b n −1 b  ≡   ≡ 1( mod n ) n Điều mâu thuẫn với bổ đề 2.2.10, ta có điều phải chứng minh  Định lí 2.2.9 dùng làm sở cho thuật toán Solovay – Strassen kiểm tra nguyên tố xác suất Ta có định lí sau 2.2.12 Định lí Đối với hợp số lẻ n , tồn không dương b nhỏ n , nguyên tố với φ ( n) số nguyên n , cho n số giả nguyên tố mạnh Euler sở b Chứng minh Theo bổ đề 2.2.11, tồn số b, < b < n, ( b, n ) = cho b ( n −1) b  ≡/   ( mod n )  n Giả sử a1 , a2 , , am số thỏa mãn ≤ a j < n, ( a j , n ) = n −1 aj  a j ≡   ≡ 1( mod n ) n  Giả sử r1 , r2 , , rm thặng dư dương bé số ba1 , ba2 , , bam Các số rj khác nguyên tố với n Ta chứng minh chúng 43 không thỏa mãn đồng dư thức số a j Thật vậy, giả sử ngược lại r n −1 j  rj  ≡   ≡ 1( mod n ) n  ta có n −1  ba j  ba j ≡   ≡ 1( mod n ) , n  n −1 b a n −1 j b   a j  ≡     ( mod n )  n  n  Từ suy b ( n −1) b  ≡   ( mod n ) , n mâu thuẫn với tính chất b Như vậy, tập hợp số a j rj không giao Gộp hai tập hợp này, ta 2m số khác nhau, bé n nguyên tố với n Từ suy m < φ ( n) , định lí chứng minh  Nhận xét Từ định lí trên, ta thấy rằng, n hợp số lẻ, b số chọn ngẫu nhiên số 1, 2, , n − 1, xác suất để n số giả nguyên tố Euler có sở b bé Ta có định lí sau 2.2.10 Định lí (Thuật toán kiểm tra số nguyên tố xác suất Solovay – Strassen) Cho n số nguyên dương Ta chọn ngẫu nhiên k số b1 , b2 , , bk từ số 1, 2, , n − Đối với số nguyên b j , xét đồng dư thức b n −1 j b j  ≡   ( mod n ) , n  44 ta có kết luận sau  Nếu đồng dư thức nghiệm n hợp số  Nếu n số nguyên tố đồng dư thức nghiệm  Nếu n hợp số, xác suất để đồng dư thức nghiệm bé 2k Như vậy, k đủ lớn, n trải qua kiểm tra xác suất đây, “hầu chắn” n số nguyên tố Nhận xét 1) Vì số giả nguyên tố mạnh sở b số giả nguyên tố Euler sở b , nên hợp số n trải qua kiểm tra xác suất Solovay – Strassen lớn số hợp số trải qua kiểm tra Rabin Cả hai thuật ( toán kiểm tra cần Ο k ( log n ) ) phép tính bit 2) Chẳng hạn, n trải qua kiểm tra xác suất Solovay – Strassen với k = 40 Khi n hợp số với xác suất nhỏ 2−40 tương đương với 10−12 , bé xác suất để phần cứng máy tính mắc sai lầm 45 2.3 Số giả nguyên tố Euler – Jacobi 2.3.1 Định nghĩa Định lí Euler khẳng định: Với số nguyên tố p số b b p −1 b  b  ≡   ( mod p ) ,   kí hiệu Legendre Khi mở  p  p rộng kí hiệu Legendre cho số tự nhiên lẻ n số tự nhiên b , ta có kí hiệu b  Jacobi kí hiệu giống kí hiệu Legendre    n Số tự nhiên lẻ n thỏa mãn đồng dư thức tương tự định lí Euler b n −1 b  ≡   ( mod n ) ,  n với b gọi số nguyên tố xác suất Euler – Jacobi sở b Nếu n hợp số thỏa mãn đồng dư thức gọi số giả nguyên tố Euler – Jacobi sở b 2.3.2 Định lí Mọi số giả nguyên tố Euler – Jacobi sở b số giả nguyên tố Euler sở b 2.3.3 Định lí Mọi số giả nguyên tố Fermat mạnh sở b số giả nguyên tố Euler – Jacobi 2.3.4 Định lí Mọi số giả nguyên tố Euler – Jacobi sở b thoả mãn hai điều kiện sau số giả nguyên tố mạnh sở b i ) n ≡ ( mod ) b  ii ) Kí hiệu Jacobi   = −  n 46 2.4 Kiểm tra số giả nguyên tố Maple 2.4.1 Giới thiệu sơ lược Maple Maple phần mềm Toán học Trường Đại học Tổng hợp Waterloo (Canada) xây dựng đưa vào sử dụng năm 1985 Sau nhiều lần cải tiến phát triển, qua nhiều phiên khác nhau, Maple ngày hoàn thiện Maple chạy tất hệ điều hành, có lập trình trợ giúp (Help) dễ sử dụng Từ phiên đến phiên nay, Maple cung cấp ngày nhiều công cụ trực quan, gói lệnh tự học gắn liền với toán phổ thông đại học Ưu điểm khiến ngày có nhiều nước giới lựa chọn sử dụng Maple dạy - học toán tương tác trước đòi hỏi thực tiễn phát triển giáo dục Chức Maple: • Thực tính toán với khối lượng lớn, với thời gian nhanh độ xác cao • Sử dụng gói chuyên dụng Maple để giải toán cụ thể như: vẽ đồ thị (gói plots), hình học giải tích (gói geometry), đại số tuyến tính (gói linalg), giải tích (gói student), phương trình vi phân (gói detools), lý thuyết số (gói numtheory), Dữ liệu rời rạc (gói discreteTransforms), • Thiết kế đối tượng chiều • Minh họa hình học thuận tiện gồm: vẽ đồ thị tĩnh động đường mặt cho hàm tùy ý nhiều hệ tọa độ khác nhau; • Tính toán biểu thức đại số; • Có thể thực hiệc hầu hết phép toán chương trình toán đại học sau đại học; Ngôn ngữ lập trình đơn giản mạnh mẽ, có khả tương tác với ngôn ngữ lập trình khác; • Một công cụ biên soạn giáo án giảng điện tử, thích hợp với cáclớp học tương tác trực tiếp; • Một công cụ hữu ích cho học sinh sinh viên việc tự học Lệnh Maple gõ vào trang làm việc dấu nhắc lệnh “>” theo ngầm định hiển thị phông Courier màu đỏ Một lệnh kết thúc dấu “:” “;” lệnh thực việc nhấn Enter trỏ dòng lệnh 47 Ký hiệu phép toán Maple: Phép nhân biểu thị dấu * ; Phép chia biểu thị dấu / ; Phép lũy thừa biểu thị dấu ^; Phép khai biểu thị dấu Sqrt 2.4.2.Thuật toán kiểm tra nguyên tố Giả thuyết Nếu ký hiệu pk số nguyên tố thứ k (kể từ số trở đi) số An = p1 p2 p3 pn − số nguyên tố với n >2 Trong tuyển tập 30 năm báo Toán học Tuổi trẻ, Nhà xuất Giáo dục, Hà Nội, 1997 viết rằng: “Bằng cách thử ta thấy số A3 , A4 , A5 , A6 , A7 số nguyên tố Tuy nhiên muốn kiểm tra A cần phải làm 300 phép chia để kiểm tra A9 cần tới 1300 phép chia, tức vài buổi làm tính” Với Maple, ta kiểm định giả thuyết nhờ nhận biết số A7 = 3.5.7.11.13.17.19 – 2; A8 = 3.5.7.11.13.17.19 23 – số nguyên tố lệnh ifactor (phân tích số thừa số nguyên tố): [> ifactor(3*5*7*11*13*17*19 –2); (72747673) [> ifactor (3*5*7*11*13*17*19*23 –2); (1673196523) Ta tiếp tục thử với số A9 = 3.5.7.11.13.17.19 23.29 – [> ifactor (3*5*7*11*13*17*19*23*29 –2); (43)(167)(450473) Như vậy, A9 hợp số ta có câu trả lời phủ định cho giả thuyết 2.4.3.Thuật toán kiểm tra theo Định lý Wilson Bước 1: Nhập số nguyên dương cần kiểm tra [> p: = 2311; q: = 24253; p: = 2311 48 q: = 24253 Bước 2: Kiểm tra điều kiện ( p − 1)! ≡ −1(mod p ) lệnh [> evalb ((p-1)! mod p = p – 1) ; evalb ((q –1)! modq = q –1 ) ; true false Như vậy, p số nguyên tố, q số nguyên tố 2.4.4 Thuật toán kiểm tra số giả nguyên tố Fermat Muốn kiểm tra số n có phải số giả nguyên tố Fermat sở b hay không, ta cần n số nguyên tố sau kiểm tra điều kiện b n − b ≡ 0(mod n) có thỏa mãn hay không Thủ tục tiến hành: + Nhập vào hai số nguyên n,b lệnh [> n:= ; b:= ; n:= b:= + Kiểm tra xem n có số nguyên tố hay không (nếu n số nguyên tố số giả nguyên tố Fermat) [> isprime (n); false + Nếu kết “false” tiến hành kiểm tra đồng dư thức có thỏa mãn hay không [> is (b^n - bmod n = 0) ; Nếu hàm trả lời giá trị “True” n số giả nguyên tố Fermat sở b Ví dụ Với n=1373653 b=3 [> n:=1373653; b:=3; n:= 1373653 b:= [> isprime (1373653); 49 false [> is (3^1373653 – mod 1373653 = 0) ; true Kết cho thấy 1373653 số giả nguyên tố sở 2.4.5 Thuật toán kiểm tra số Carmichael Trước hết ta nhập vào số nguyên dương n cần kiểm tra [> n:= 6601; n:= 6601 Kiểm tra xem số n có phải số nguyên tố không? [> isprime (n); false Nếu n số nguyên tố số Carmichael, ngược lại ta tiếp tục phân tích số n thừa số nguyên tố [> L:= ifactor (n); L:=(7)(23)(41) Nếu có thừa số mang số mũ lớn kết luận n số Carmichael Ngược lại, thừa số n khác ta kiểm tra tiếp Trước hết ta lập danh sách thừa số nguyên tố lệnh: [> q:= [7,23,41]; q:= [7,23,41] Sau tiến hành kiểm tra tính chia hết phép chia chia số n – cho số (qi - 1), i = 1,2,…, k Việc tương đương với việc xem thành phần danh sách phần dư có hay không, lệnh [> [seq(irem(n - , q[i]-1), i=1 nops(q))]; [0,0,0] Nếu danh sách có thành phần khác n Carmichael, ngược lại cho ta kết số Carmichael Kết cho ta thấy số 6601 số Carmichael 2.4.6 Kiểm tra số giả nguyên tố Fermat mạnh 50 Bước 1: Phân tích số n thừa số nguyên tố [> ifactor(n -1); Bước 2: Từ kết phân tích biết n - viết dạng n - = 2st (s số tự nhiên bất kỳ, t số lẻ) Ta kiểm tra điều kiện: [>is(b&^t mod n= 1) ; Nếu điều kiện nghiệm (lệnh cho giá trị true ) n số giả nguyên tố mạnh sở b, ngược lại ta kiểm tra điều kiện sau : [> is(b&^t-1 mod n = 0) ; Nếu lệnh cho giá trị true n số giả nguyên tố mạnh sở b Nếu kết false ta tiếp tục kiểm tra điều kiện b t + = 0(mod n) j có thoả mãn với j khoảng từ đến s - hay không Nếu có j kết luận n số giả nguyên tố mạnh sở b, ngược lại ta kết luận Có thể thực điều lệnh sau : [> seq (b&^( (2^j)*t)+1 mod n, j= s-1) ; Kết lệnh dãy bao gồm s số tự nhiên, có số dãy kết luận n số giả nguyên tố mạnh sở b, ngược lại Ví dụ Kiểm tra số 25326001 có phải số nguyên tố Fermat mạnh sở [> n:=25326001; b:=2; n:=25326001 b:=2 [> isprime(n); false [> factor(n-1); ( ) ( 3) ( ) ( ) ( 67 ) 3 Ta có, [> s:=4; t:=3^3*5^3*7*67; s:=4 t:=1582875 51 [> is(b&^t mod n = 1); false Ta kiểm tra tiếp [> is(b&^t-1 mod n = 0); false [> seq (b&^ ((2^j)*t)+1 mod n, j = s-1); 0, 2, 2, Như số 25326001 số giả nguyên tố mạnh sở Với b = 3; ta có kết tương tự Nhưng với b = ta có : [> n:=25326001; b:=7; n:=25326001 b:=7 [> s:=4; t:=3^3*5^3*7*67; s:=4 t:=1582875 [> is(b&^t mod n = 1); false [> is(b&^t-1 mod n = 0); false [> seq (b&^ ((2^j)*t)+1 mod n, j= s-1); 19453142, 16857741, 11448588, 10127251 Vậy, số 25326001 số giả nguyên tố Fermat mạnh sở 2, 3, không số giả nguyên tố Fermat mạnh sở 2.4.7 Kiểm tra số giả nguyên tố Euler Ta biết số giả nguyên tố Euler sở b hợp số n cho lũy thừa bậc ( n − 1) b theo module n đem lại giá trị jacobi (b, n) Cho nên, để biết số n có số giả nguyên tố Euler sở b hay không ta cần thực bước sau 52 Kiểm tra xem n có phải hợp số không lệnh: [> isprime (n); Rồi tính kí hiệu Jacobi theo lệnh: [> J:=jacobi (b , n); sau kiểm tra điều kiện: [> is (b^& ( (n – 1) / 2) mod n = J) ; Nếu kết cho cho true ta nói n có số giả nguyên tố Euler sở b , ngược lại không Ví dụ [> isprime (1105); false [> J:=jacobi (2 , 1105); J= :1 [> is (b^& ( (1105 – 1) / 2) mod 1105 = J) ; true Ta lập quy trình để kiểm tra xem số 11111 số giả nguyên tố Euler theo sở b đó, ví dụ b = , hay không qua lệnh sau: [> n:=11111; b:=2; n:= 11111 b:= [> isprime (n); false [> J:=jacobi (b , n); J= :1 [> is (b^& ( (n – 1) / 2) mod n = J) ; false Tương tự vậy, ta dễ dàng gán cho b tất giá trị từ đến ta thấy số 11111 số giả nguyên tố Euler theo sở b 53 khoảng từ May thay với b = 10 ta kết số 11111 số giả nguyên tố Euler sở 10 Thật vậy, ta có [> n:=11111; b:=10; n:= 11111 b:= 10 [> isprime (n); false [> J:=jacobi (b , n); J= :1 [> is (b^& ( (n – 1) / 2) mod n = J) ; true Như vậy, việc tìm tìm số giả nguyên tố Euler chuyên dễ Ta biết số giả nguyên tố Euler số giả nguyên tố (theo sở) Thật vậy, ta kiểm định lại điều qua lệnh: [> is (10&^11111 - 10 mod 11111 = 0) ; true Ta biết số số giả nguyên tố Euler không giả nguyên tố mạnh Tuy nhiên, ta gặp điều may mắn 11111 số giả nguyên tố Euler sở 10 mà số giả nguyên tố mạnh sở 10 Thật vậy: [> n:=11111; b:=10; n:= 11111 b:= 10 [> ifactor(n -1); 2.5.11.101 [> s:=1; t:=3*5*11*101; s:= b:= 16665 [> is(b&^t mod n = 1); true 54 Tuy nhiên, số 11111 không số giả nguyên tố mạnh với sở tiếp theo, như: 11, 12, 13, 14 KẾT LUẬN Việc tìm hiểu số nguyên tố, số giả nguyên tố, số nguyên tố xác suất nhiều nhà toán học nước giới đặc biệt quan tâm, vai trò ứng dụng ngày quan trọng chúng nhiều 55 lĩnh vực có ứng dụng công cụ toán - tin học như: mật mã, thẻ ATM, chữ ký điện tử, thông tin, truyền thông… Kiểm tra tính nguyên tố (primality test) toán kiểm tra xem số tự nhiên n có phải số nguyên tố hay không? Bài toán đặc biệt trở nên quan trọng hệ mật mã khoá công khai đời Liên hệ với toán trên, kiểm tra số nguyên cho trước có phải số giả nguyên tố hay không (pseudoprimality test) có nhiều ứng dụng thực tiễn Vì vậy, luận văn tập trung giới thiệu kết về: số nguyên tố; số giả nguyên tố; kiểm tra nguyên tố; kiểm tra giả nguyên tố; phân bố số nguyên tố số giả nguyên tố; số thuật toán ứng dụng số nguyên tố số giả nguyên tố; kiểm tra số giả nguyên tố phần mềm Maple Luận văn tiếp tục theo hướng tìm hiểu sâu ứng dụng số nguyên tố số giả nguyên tố lĩnh vực mã hoá thông tin 56 TÀI LIỆU THAM KHẢO TIẾNG VIỆT [1] Phạm Huy Điển (2002), Tính toán, lập trình giảng dạy toán học Maple, Nhà xuất Khoa học Kỹ thuật, Hà Nội [2] Phan Huy Khải (2006), Các chuyên đề Số học bồi dưỡng học sinh giỏi toán trung học, Nhà xuất Giáo dục, Hà Nội [3] Hà Huy Khoái, Phạm Huy Điển (2003), Số học thuật toán, Nhà xuất Đại học Quốc gia Hà Nội [4] Nguyễn Thành Quang (2011), Lý thuyết trường ứng dụng, Nhà xuất Đại học Quốc gia Hà Nội TIẾNG ANH [5] D M Burton (2002), Elementary Number Theory, Tata McGraw-Hill Company, New Delhi [6] J R Chen (1966), On the representation of a large even integer as the sum of a prime and the product of at most two primes, Kexue Tongbao, 17, 385–386 [7] J R Chen (1973), On the representation of a larger even integer as the sum of a prime and the product of at most two primes, Sci Sinica, 16, 157–176 [8] M O Rabin (1980), Probabilistic algoritms for testing primality, Journal of Number Theory, Vol 12, 128-138 [9] P M Ross (1975), On Chen's theorem that each large even number has the form (p1 + p2) or (p1 + p2p3), J London Math Soc , 104, 500 - 506 [10] S G Telang (2001), Number Theory, Tata McGraw-Hill Company, New Delhi 57 [...]... 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ố. .. Miller cơ sở b thì n là số giả nguyên tố Fermat cơ sở b 2.1.9 Số giả nguyên tố Fermat mạnh Số nguyên dương n được gọi là số giả nguyên tố Fermat mạnh cơ sở b nếu nó là hợp số và nó trải qua được kiểm tra Miller cơ sở b Như vậy, các số giả nguyên tố Fermat mạnh lại còn ít hơn các số giả nguyên tố Fermat Tuy nhiên ta vẫn có định lí sau 2.1.10 Định lí Tồn tại vô hạn số giả nguyên tố Fermat mạnh cơ sở 2... Các số nguyên tố xác suất theo nghĩa Fermat bé có nhiều khả năng là số nguyên tố Tuy nhiên, đối với mọi cơ sở tùy ý, số các số giả nguyên tố là vô hạn Chẳng hạn, ta chứng minh điều đó với cơ sở 2 2.1.2 Định lí Có vô hạn số giả nguyên tố Fermat cở sở 2 29 Chứng minh Giả sử n là một số giả nguyên tố Ferrmat cơ sở 2 , ta sẽ chứng minh rằng m = 2n − 1 cũng là số giả nguyên tố Fermat cở sở 2 Theo giả. .. 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... nhau Theo định lí về tính vô hạn số giả nguyên tố Fermat cơ sở 2, ta suy ra tồn tại vô hạn số giả nguyên tố Fermat mạnh cơ sở 2 ■ 2.2 Số giả nguyên tố Euler 2.2.1 Ký hiệu Jacobi Kí hiệu Jacobi là mở rộng của kí hiệu Legendre và được sử dụng trong việc tính toán ký hiệu Legendre, cũng như trong các nghiên cứu về số giả nguyên tố Giả sử n là số nguyên dương lẻ, b là số nguyên, nguyên tố cùng nhau k với... [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 )... 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... 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... 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... Vậy m cũng là số giả nguyên tố Fermat 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 2.1.3 Số Carmichael Hợp số n thỏa mãn đồng dư thức b n −1 ≡ 1( mod n ) với mọi số nguyên dương b ... Chương 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 số nguyên tố Phân bố số nguyên tố Số nguyên tố xác suất Chương SỐ GIẢ NGUYÊN TỐ Số giả nguyên tố Fermat Số giả. .. ta 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ó phân biệt rõ số nguyên tố xác... suất với số giả nguyên tố Số nguyên tố xác suất số nguyên tố hợp số, số giả nguyên tố hợp số thoả mãn tính chất số nguyên tố Kiểm tra tính nguyên tố (primality test) toán kiểm tra xem số tự nhiên

Ngày đăng: 28/10/2015, 08:57

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

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w