Khoá luận tốt nghiệp phân tích thừa số nguyên tố và ứng dụng trong mật mã

44 749 4
Khoá luận tốt nghiệp phân tích thừa số nguyên tố và ứng dụng trong mật mã

Đ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

TRƯỜNG ĐẠI HỌC sư PHẠM HÀ NỘI KHOA TOÁN 0O0 KHÓA LUẬN TỐT NGHIỆP PHÂN TÍCH THỪA SỐ NGUYÊN Tố VÀ ỨNG DỤNG TRONG MẬT MÃ Chuyên ngành: TOÁN ỨNG DỤNG Giảng viên hướng dẫn: Sinh viên: Lớp: Trần Vĩnh Đức Đặng Kiều Trang K37-sp Toán HÀ NỘI, 5/2015 Bài khóa luận hoàn thành hướng dẫn nhiệt tình thầy giáo T.s Trần Vĩnh Đức Qua em xin LỜI CẢM ƠN gửi lời cảm ơn sâu sắc tới thầv cô tổ Toán ứng dụng thầy cô khoa Toán trường ĐHSP Hà Nội giúp đỡ em trình học tập đổ thuận lợi cho việc nghiên cứu Đặc biệt, em xin gửi lời cảm ƠI1 chân thành tới thầv giáo T.s Trần Vĩnh Đức người dành cho em hướng dẫn nhiệt tình, chu đáo bảo cho em suốt trình học tập nghiên cứu thực liiệĩi khóa hiận DÌ1 cố gắng, dây lần làm quen với viộc nghiên cứu klioa học lực hạn chế nên khó tránh khỏi sai sót Em mong muốn nhận bảo, đóng góp quí thầy cô khóa luận tốt Em xin chân thành cảm ơn! H N ộ i , t há ng nă m í Sinh viên Đặng Kiều Trang Sau thời gian nghiên cứu với cố gắng, nỗ lực thân hướng dẫn nhiệt tình bảo thầv giáo T.s Trần Vĩnh Đức em hoàn thành khóa luận Em xin cam đoan khóa luận thân nghiên cứu với hướng dẫn thầy giáo T.s Trần Vĩnh Đức không hồ trùng với đồ tài H N ộ i , t há ng nă m í Sinh viên LỜI CAM ĐOAN Dặng Kiều Trang MỤC LỤC Lời cảm ớn Lời cam đoan Phân tích thừa số nguvẽn tố ứng dung mât mã RSA 1.1 Cônư thức Eulor 1.2 Hê mât mã khóa công khai RSA 1.3 Kiểm tra tính nguyện tố L Thuât toán phép nhân tử hóa Pollard p-1 1.5 Phân tích thừa số qua hiôu bình phương Số t r n , sà n e v x âv d ưn e a ua n h ê c ho Dh é D nh â n t ho ?, 1?, ? Tài liêu Số tSà r ưĩ nml b âc i Sà n Q ' t r ng số tham khảo C HƯ Ơ NG LỜI CẢM ƠN PHÂN TÍCH THỪA SỐ NGUYÊN Tố VÀ ỨNG DỤNG TRONG MẬT MÃ RSA 1.1 Công thức Euler Phương pháp thay đổi khóa Diffie-Hellman hệ thống mật mã khóa công khai ElGamal nghiên cứu dựa thực tế dễ để tính lũy thừa a n m o d p , n h n g r ấ t k h ó đ ể t ì m l i c c s ố I I 1Ũ n n ế u t a c h ỉ b i ế t g i t r ị c ủ a a A N mod p Một kết quan trọng mà sử dụng đe phân tích tính đắn Diffie-Hellman ElGamal Định lý Fermat nhỏ, AP ~ L = l(mod p) với а Ф (mod p) Định lý Fermat nhỏ thể ruột tính chất tốt số nguyên tố Nó cho ta biết điều xảy thay P số M số nguyên tố, tức A M-Ì = Ị ( moc [ p) c5 không? Ta thấy câu trả lời không Trong phần ta tìm hiểu khái quát tính đắn Định lý Fermat nhỏ — P Q tích hai số nguyên tố phân biệt, trường hợp quan trụng ứng dụng mã hóa Ta bắt đầu với ví dụ Với lũy thừa modun 15 làm nào? Nếu ta thựchiện bảng lũy thừa bậc bậc mod 15, chúng trông không thật thú vị, nhiều lũy thừa bậc đồng dư với mod 15 Cụ thề, ta thấy a = (mod 15) với a = 1,2, 4, 7, 8,11,13 14; a A Ф (mod 15) với a = 3, 5, 6, 9,10 12 Vậy khác dãy số 1, 2, 4, 7, 8, 11,13, 14 với dãy số 3, 5, 6, 9, 10,12, 15 gì? Ta thấy, số 3, 5, 6, 9, 10,12,15 có bội chung 15, số 1, 2,4, 7, 8, 11, 13, 14 số nguyên tố với 15 Điều cho thấy số phiên Định lý nhỏ Fermat số A số nguyên t ố c ù n g với modun 772, số mũ không thiết phải 777, — Cho M = 15 ta thấy số mũ Tại 4? Ta có the dễ dàng kiểm tra với giá trị a, có thuật toán cụ thể tốt Để chứng minh a = (mod 15) ta cần kiểm tra đồng dư thức A A = ( M O D 3) A A = (mod 5) Từ íll.lỊ) ta thấy a - : fl - : (1.1) Do a — : 15 CAM ĐOAN Hai đồng dư thức (ỊTTTỊ)LỜI nguyên tố theo modim nên ta sử dụng Định lý Fermat nhỏ để kiểm tra chúng Thật a = (a 2)2 = (ứ/3-1))2 = l = (mod 3), a = a 5-1 = (mod 5) Nếu quan sát hai đồng dư thức này, ta thấy tính chất thiết yếu lũy thừa là bội với P P — = P = Bằng việc quan sát này, ta có công thức làm tảng cho hệ thống mật mã khóa công khai RSA Định lí 1.1.1 (Công thức Euler cho pq) Cho p q số nguyên tố khác cho = UCLN(p — l,q — 1) Khỉ a (p-i)(9-i)/ỡ = I (mod pq) Va THỎA MÃN ƯCLN(a, pq) = Đặc biệt, p q số nguyên tố lẻ, a (p-i)(íf-i)/2 = I ( mo d pq) Va THỎA MÃN ƯCLN(a, pq) = C H Ứ N G M I N H Theo giả thiết ta thấy P ' / A G : Q — 1, nên ta tính ữ (p-i)(9- i)/ơ — ^ ữ (p-i)^(9-i)/ơ Y - Ị Ị ^ Q _ L ) / G số nguyên, (mod p) a p_1 = (móc! p) theo Định lý Fermat nhỏ, = = (mod p) lũy thừa 1! Tương tự, thay đổi vai trò P ợ, ta có a Như (p-i)(?-i)/0 = I ( mo d q) — chia hết cho P ợ, chia hết cho điều phải chứng minh PQ Ta □ Phương pháp thay đối khóa Diffie-Hellman hệ thống mật mã khóa công khai ElGamal phụ thuộc vào khó khăn giải phương trình dạng A Trong a, B P X = B (mod p) số biết, P số nguyên tố, X ẩn Hệ thống mật mã khóa công khai RSA mà nghiên cứu phần phụ thuộc vào độ khó việc giải phường trình dạng X E = C (mod N), Với e, c N số biết X ẩn Nói cách khác, việc bảo mật RSA dựa giả thiết khó để tính bậc e modun N Đây có phải giả thuyết hợp lý? Nếu modun N số nguyên tố tương đối dễ LỜI CẢM dàng việc để tính bậc e modun N , ƠN trình bày mệnh đề Mệnh đề 1.1.2 Cho p số nguyên tố e > số nguyên thỏa mẫn ƯCLN(c, p — 1) = Ta thấy e có modun nghịch đảo p — 1, ta nói DE — (mod p — 1) Khỉ đồng dư thức x e = c (mod p) có nghiệm X = c d (mod p) Chứng minh Nếu c = (mod p), X = (mod p) nghiệm m ta cần tìm Giả sử C ^ (mod p) Đồng dư thức D E = (mod p — 1) có nghĩa tồn số nguyên K cho de = + k(p — 1) Bây ta kiểm tra C D nghiệm phương trình X E LỜI CAM ĐOAN = C (mod p) : ( C Ý Y = C D E (mod p) = C = C(C L + K P luật số mũ, ^ ~ ^ (modp) D E = + P ~ L ) K (mod p) = C • L K (mod p) = Như X = C D C — 1), K(P luật số Ĩ11Ũ, từ Định lý Fermat nhỏ, (mod p) nghiệm X E = C (mod p) Để chứng minh nghiệm nhất, ta giả sử X Ị X hai nghiệm đồng dư thức 11.1.21 Ta cần chứng minh Z D E = Z (mod z) với Z bất kỳ, ta □ 58 Vậy Mệnh đề 11.1.21 cỏ nghiệm Ví dụ 1.1.3 Giải đồng dư thức sau X 4714 (mod 7919), Với modun p = 7919 số nguyên tố Theo Mệnh đề 11.1.21 ta cần giải đồng dư thức 1583 D = (mod 7918) Để tìm D ta sử dụng thuật toán Euclide mở rộng, ta tìm D , = 5277 (mod 7981) Từ Mệnh đề 11.1.21 ta thấy X = 47 5277 = 60 59 (mod 7919) nghiệm T 1583 = 47 (mod 7919) Mệnh đề I1.1.2Ỉ cho thấy dễ để tính nghệm modun P số nguyên tố Trong trường hợp cho modun N hợp số có khác biệt quan trọng Nếu biết phân tích N lại dễ dàng để tính nghiệm Các mệnh đề sau trình bày phương pháp làm trường hợp N — PQ \ H tích hai số nguyên tố Các trường hợp tổng quát để lại xem Bài tập Mệnh đề 1.1.4 Cho p q số nguyên tố khác e > thỏa mẫn UCLN(c, (p — l)(q — 1)) = Ta thấy e có modun nghịch đảo ỉ,à (p — l)(q — 1), ta nói DE = (mod (p — l)(q — 1)) Khi đồng dư thức X E = LỜI CẢM ƠN (mod pq), C có nghiệm X = C D (mod pq) (1.2) C H Ứ N G M I N H Giả sử UCLN(c, pq) = 1, (làm tương tự cho trường hợp khác) Chứng minh Mệnh đề 11.1.41 tương tự phần chứng minh Mệnh đề 11 1.21 thay sử dụng định lý Fermat nhỏ, ta sử dụng công thức Euler (Định ly ITTTTTI) ■ Các đồng dư thức nguyên K DE = (mod (p — l)(q — 1)) có nghĩa tồn số cho de = + k(p — )(q — 1) Bây ta kiểm tra C D nghiệm X E = C (mod pq) : ( C D ) E = C D E (mod pq) luật số mũ, = c +k{p-\){q-\) ^mocỊ pq^ de — + k(p — )(q — 1), l Do X = = C(CP~1 = C.L = C C D K ) K (mod pq) luật số mũ, (mod pq) từ công thức Euler (Định lý ỊTTTTTỊ), (mod pq) nghiệm đồng dư thức (11.21) Ta chứng minh nghiệm l d u y Giả sử X = II nghiệm (Ị1.2Ị) u = u^-k{p-i)(g-i) de=l + k(p - ){q - 1) = ( U E ) D L ~ K (mod pq) sử dụng công thức Euler (Định lỳ ỊTỊTỊTỊ) = CD (mod pq) U nghiệm (II.2Ị) Do đó, tất nghiệm (11.2p đồng dư với CD (mod pq), nghiệm □ Nhận xét 1.1.5 Mệnh đềII 1.41 đưa thuật toán để giải X E = c(mod pq) Đầu tiên giải DE — l(mod (p — l)(q — 1)), tính c rf (mod pq) Ta làm cho tính toán nhanh cách sử dụng giá trị nhỏ giải đồng dư thức sau với D D Cho G = UCLN(p — 1, q — 1) giả sử ta : DE = (mod (p ~ ^ (q - 1) ) Từ công thức Euler (Định ly ỊTỊTỊTỊ) ta có ( Ạ P ~ L ^ Q ~ L ^ G = (mod pq) Do chứng minh Mệnh đề 11-1.41 ta viết DE = + K ( P — l)(ợ — ) / G , (c d Ỵ = c d e = c + k ( p - l ) { q ~ ) / g = c.(c { p - l ) { q - l ) ) k = с (mod pq) Vì sử dụng giá trị nhỏ (i, ta thấy C D LỜI CAM ĐOAN (mod pq) mod pq nghiệm c ủ a X е = с Ví dụ 1.1.6 Giải đồng dư thức ^17389 ^ 43927 ( mod 64349)5 với modun = 64 • 349 = 229 -281 tích hai số nguyên tố P = 229 Q = 281 Bước giải đồng dư thức 17389 = (mod 63840), với 63840 = (p — l)(ợ — 1) = 228 • 280 Giải đồng dư thức, ta d = 53509 (mod 63840) Sau đó, từ Mệnh đề 11.1.41 ta có Ж 17389 X = 43 53509 = 144 (mod 64349), nghiệm = 43 (mod 64349) Ta giảm chút công việc cách sử dụng ý tưỏng trình bày Nhận xét 11.1.51 Ta có g = UCLN(p - l)(q - 1) = UCLN(228, 280) = Dó (p - )(q- )/g = (228)(280)/4 = 15960, từ ta tìm giá trị D cách giải đồng dư thứ c 17389 = (mod 15960), có nghiệm D = 5629 (mod 15960), X = 43927 5629 = 14458 (mod 64349), nghiệm X 17389 = 14458 (mod 64349) Chú ý ta có nghiệm tương tự, ta cần nâng 43927 lên hìy thừa 5629^, sử dụng Mệnh đề 11.1.41 yẽu cầu trực tiếp ta nâng 43927 lên lũy thừa 53509^ Cách làm tiết kiệm thời gian, nhiều Bob Plice LỜI TạoCẢM khóa ƠN Chọn số nguyên tố bí mật P Q Chọn số mũ mã hóa e với ƯCLN(e, (p- l)(q — 1)) = Cho biết N = PQ E Mã hóa Chọn rõ 77?, Sử dụng khóa công khai Bob (N,e) để tính = M E (mod N) C Gửi mã cho Bob Giải mã Tính D thỏa mãn — l)(q — 1)) Tính N) M' = (mod (p ED M' rõ = (mod D C M Bảng 1.1: Thành lập khóa RSA, mã hóa giải mã 1.2 Hệ mật mã khóa công khai RSA Bob Alice có vấn đề thông thường việc trao đói thông tin bí mật đường dây thông tin liên lạc an toàn Bob Alice có nhiều cách khác thực công việc này, phụ thuộc vào độ khó việc giải toán logarit rời rạc Trong phần trình bày hệ thống mật mã khóa công khai RSA hệ thống phát minh tất nhiên biết đến nhiều RSA đặt tên theo nhà phát minh Ron Rivest, Adi Shamir Leonard Adleman Việc bảo mật RSA phụ thuộc vào phép lưỡng phân sau • Thiết lập Cho • P Q số nguyên tố lớn, cho N = Bài toán Giải đồng dư thức X PQ , cho e С số nguyên = С (mod N) với ẩn X Е Thuận lợi Bob, người biết giá trị P ợ, dễ dàng tìm X trình bày Mệnh đề I1.1.4Ỉ Khó khăn Eve, người giá trị Phép lưỡng phân Giải X E = С P ợ, dễ dàng tìm X (mod N) dễ dàng cho người có thêm thông tin bổ sung, dường khó khăn cho tất người khác Hệ thống mật mã khóa công khai RSA tóm tắt Bảng 1.1 Khóa bí mật Bob cặp số nguyên tố lớn P Q Khóa công khai ông l c ặ p ( V , e ) g m t í c h N UCLN(9788111, 3130 • 3131 • 3166 • 3174 • 3215 - 2210173785050) = v:i = (0,0,1,1,0, 0, 0,0, 0,1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) 31312 • 31662 • 35612 = (2 • 52 • 72 • 312 • 43)2 = 1012413502 UCLN(9788111, 3131 • 3166 • 3561 - 101241350) = 9788111 v = (1,0, 1,0, 0,0, 0,0, 0,0, 1,0, 0,0, 0,0, 0,0, 0,0) 31292 • 31312 • 43942 = (2 • 53 • • 11 • 23 • 43)2 = 190382502 UCLN(9788111, 3129 • 3131 • 4394 - 19038250) = 9788111 vb = (1,0,1,0,1,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0) 3129 • 31312 • 31742 • 33132 • 44322 = (22 • • 52 • 72 • ll2 • 17 • 23 • 31 • 43)2 = 9270637761002 UCLN(9788111, 3129 • 3131 • 3174 • 3313 • 4432 - 927063776100) = w6 = (1,0, 0,0,1,0, 1,0, 0,0, 0,0) 0,0,0,0, 0,1, 0,0, 31292 ■ 34492 • 44262 • 44422 ■ 23 •47)2 = (22 • 32 ■ 5•7 ■ 11 • 13 ■ 17 = 33111G78C02 UCLN(9788111, 3129 • 3449 • 4426 • 4442 - 3311167860) = v = (1,0, 0,0, 0,0,1,1, 0,0, 0,0, 1,0,0,0, 0,0,1,0) 31292 •33132 • 34492 • 44262 • 46512 = (22 • 3• • 72 • 11 • 17 • 232 • 312 • 47)2 = 1313G0821145402 UCLN(9788111, 3129 • 3313 ■ 3449 • 4426 • 4G51 - 1313G082114540) = 2741 Vg = (1,0,0,0,0,0,0,1,0,0,0,1,1,0,0,0,0,0,0,1) 31292 • 34492 • 44252 • 44262 • 46842 =( 22 • 32 • • 72 • 11 • 13 • 17 • 23 • 37 • 47)2 = 8575924757402 UCLN(9788111, 3129 • 3449 • 4425 • 4426 • 4684 - 857592475740) = Bảng 1.6: phân tích thừa số N = 9788111 32 C HƯ Ơ NG SỐ TRƠN, SÀNG VÀ XÂY DựNG QUAN HỆ CHO PHÉP NHÂN TỬ HOÁ Trong phần trình bày nhanh hai phương pháp biết đến đe làm khó toán phép nhân tử hoá, nghĩa là, phân tích số có dạng N = P Q PQ , số nguyên tố Chúng ta bắt đầu với thảo luận số trơn, hình thành nên công cụ cần thiết để xây dựng quan hệ Tiếp theo trình bày ruột cách chi tiết sàng bậc hai, phương pháp nhanh đề tìm số trơn Cuối cùng, trình bày ngắn gọn sàng trường số, giống sàng bậc hai chỗ cung cấp phương pháp nhanh đe tìm số trơn dạng định Tuy nhiên, N vô lớn, sàng trường số nhanh nhiều so với sàng bậc hai 2.1 Số trơn Các bước xây dựng quan hệ quy trình phân tích thừa số ba bước trình bày Bảng 1.4 đòi hỏi tìm thấy nhiều số nguyên với tính chất a mod N tích số nguyên tố nhỏ Như nói phần cuối Phần 1.4, số phân tích tốt phải có tên gọi Định nghĩa 2.1.1 Một số nguyên n gọi ỉ,ờ, D-trơn tất CÁC thừa số nguyên tố nhỏ D Ví dụ 2.1.2 Dưới ruột vài số 5-trơn vài số 5-trơn: 5-trơn: 2, 3, 4, 5, 6, 8, 9,10,12,15,16,18, 20, 24, 25, 27, 30, 32, 36, Không 5-trơn: 7,11,13,14,17,19, 21, 22, 23, 26, 28, 29, 31, 33, 34, 35, 37, Định nghĩa 2.1.3 Hàm Ф(Х,В) đếm số D — trơn, Ф(Х, В) = Số số nguyên B-trơn n cho < n < X Ví dụ, ^(25,5) = 15, số 5-trơn từ đến 25 15 số 2,3, 4, 5, 6, 8, 9,10,12,15,16,18, 20, 24, 25 2.2 Sàng bậc hai Trong phần này, xác định phần cuối câu hỏi khó cần phải giải nhằm phân tích số lớn nhờ hiệu phương pháp bình phương Làm để tìm nhiều số cho MRI Á А > У/N (mod N) số z?-trơn? Như thảo luận ỏ phần trước, biết ta cần lấy В ~ L ( N Y ^ để phân tích N Một cách tiếp cận nhanh để tìm bình phương B -trơn modim N tìm phân số I mà xấp xỉ VK N với К — 1, 2, 3, Khi a « b kN, A giá trị nhỏ phù hợp, mà số z?-trơn Lý thuyết liên p h â n s ố đ a r a t h u ậ t t o n đ ể t ì m p h â n s ố I n h v ậ y Một phương pháp khác nhanh nhiều thực tế cho giá trị lớn h n chút a sử dụng quy trình giản ước hiệu gọi l s n g để lúc tạo nhiều giá trị A ? ~ B K N z?-trơn Tiếp theo trình bày SÀNG BẬC HAI Pomerance, phương pháp nhanh biết đến để phân tích số lớn N = lớn đáng kể, lớn 2450 PQ lên đến khoảng 350 Đối với số SÀNG TRƯỜNG SỐ phức tạp giữ kỷ lục giới phép nhân tử hoá nhanh Phần lại, ta trình bày phiên đơn giản sàng bậc hai minh họa cho phương pháp phân tích thừa số đại Chúng ta bắt đầu với toán đơn giản cách tìm nhanh số z?-trơn số ràng buộc X cho dù số có dạng cần phải quen với SÀNG A (mod N) Để làm điều này, E R A T O S T H E N E S , p h n g pháp người Hy Lạp cổ để lập danh sách số nguyên tố Ý tưỏng Eratosthenes để tìm số nguyên tố sau Bắt đầu cách khoanh tròn số nguyên tố gạch bội lớn Sau khoanh tròn số (số buộc phải số c ũ n g g c h đ i n h ữ n g b ộ i l n h n c ủ a s ố n h ỏ n h ấ t c h a đ ợ c nguyên tố) khoanh 5, khoanh bỏ bội lớn 5, vân vân Cuối cùng, số khoanh tròn số nguyên tố Phương pháp sàng minh họa ỏ Bảng 2.1, ta lọc tất số nguyên tố nhỏ 10 (Những số nguyên tố số nằm ô bảng) Những số lại không gạch số nguyên tố lại nhỏ 100 Bảng 2.1: Quá trình L(X) = e\Ain *)(in In X) Khi có vài số nguyên tố bị gạch vài lần Ví dụ 6, 12,18 bị gạch hai lần chúng có bội Tương tự số 30 42 số bị gạch lần Giả sử thay gạch số đi, ta thực chia Đầu tiên thực phép chia với 2, sau chia bội cho 3, sau lại chia bội cho 5, v.v Nếu ta làm phép chia với tất số nguyên tố nhỏ D số bị chia xuống 1? Câu trả lời số tích số nguyên tố nhỏ đặc biệt chúng số z?-trơn Vì thu dãy số D - trơn Thật không may, bỏ qua vài số D — trơn, cụ the số chia hết cho lũy thừa số nguyên tố nhỏ, dễ khắc phục toán cách sàng lũy thừa nguyên tố Do đó, sail sàng 3, thay tiếp tục với 5, ta sàng Để làm điều này, ta giản ước từ bội (Nhận thấy ta giản ước từ số này, chúng chẵn, ta giản ước nhân tử bổ sung 2.) Nếu ta làm việc này, cuối cùng, số D — trơn nhỏ X số quy đến Ta có the thấy tất phép chia yêu cầu phải xấp xỉ X ln(ln(Z?)) Hàm số logarit kép ln(ln(Z?)) tăng chậm, nên số trung bình phép chia cần để kiểm tra số riêng lẻ để xác định tính trơn xấp xỉ số Tuy nhiên, mục đích lập dãy số từ đến X số z?-trơn Cái mà ta cần dãy số dạng A đạt điều ta sử dụng đa thức F(T) = T - N Bắt đầu với giá trị A mà lớn VN chút, ta đặt (mod N) số z?-trơn Đe A = [ \ Í N + 1J, đó, [xj số nguyên lớn nhỏ X Sau ta quan sát dãy số: F(a),F(a+l),F(a + 2), ,F(&) (2.1) Mục đích tìm số z?-trơn dãy số cách sàng số nguyên tố nhỏ D xem số dãy số sàng x u ố n g đ ế n Ta chọn số D đủ lớn cho để kết thúc trình sàng ta tìm đủ số z?-trơn nhằm phân tích N Định nghĩa sau có ích việc mô tả trình Định nghĩa 2.2.1 Tập hợp số nguyên tố nhỏ D (hay ỉà tập lũy thừa nguyên tố nhỏ D) gọi ỉà sở nhân tử Giả sử số nguyên tố sỏ nhân tử Những số P dãy (12.1 ỉ) chia hết cho P‘Ỉ Tương đương với, số T A thỏa B mãn: t = N (mod 0)? (2.2) Nếu đồng dư thức (12.21) nghiệm ta loại số nguyên tố dãy (12.11) chia hết cho P P không số Ngược lại đồng dư thức (I 2Ị có chia nghiệm, ta ký hiệu sau: t — O í p VỄL t — $ p ’ (Nếu P = 2, có ruột nghiệm A P ) Cho nên số F(a p ), F(a p + p), F(a p + 2p), F(a p + 3p), số f chia hết cho mục PT H P (A>)> F(Pp + p)> F Wp + 2p), F{P p + 3p), Như sàng nhân tử danh sách (Ị 1Ị) bắt đầu với giá trị nhỏ A P từ tất thoả mãn A = AP ( m o d p), v đ n g dạng c h ú n g ta có t h ể s n g đ i m ộ t nhân tử c ủ a P từ tất mục P T H danh mục (Ị2.1Ị1 bắt đầu với giá trị nhỏ thoả mãn Ị P (mod p) A = Ví dụ 2.2.2 Chúng ta minh hoạ sàng bậc hai áp dụng cho hợp số N = 221 Số nhỏ có bình phương lớn N a = [v22ĨJ + = 15 Ta đặt F(T) = T - 221 sàng số từ -F(15) = đến F ( 30) = 679 dùng số II 1Ũ nguyên tố từ tới Danh sách số T — N ÌẦ 35 68 103 140 179 220 263 308 355 404 455 508 563 620 679 Đầu tiên ta sàng bỏi P = 2, có nghĩa ta giản ước từ tất mục thứ hai danh sách Từ ta 35 ị 2 35 68 10 40 ị ị 34 10 Tiếp theo ta sàng 79 20 63 08 ị 79 355 ị 10 63 40 4 55 ị 154 355 20 50 56 20 ị 55 25 79 ị 56 3 10 79 = Tuy nhiên, đồng dư thức P T = 2 = (mocl 3) nghiệm nên mục danh mục chia hết cho Ta chuyển sang lũy thừa nguyên tố 2 Mọi số lẻ nghiệm đồng dư thức T = 2 = (mod 4), có nghĩa sàng nhân tử khác từ tất mục thứ hai danh sách Tiếp theo ta sàng cách giản ước nhân tử từ mục 35 ị 35 34 10 70 ị ị 17 10 35 Tiếp theo ta chuyển sang 79 10 63 ị 79 P 55 54 355 ị 63 02 55 ị 77 355 01 54 63 ị 4 55 27 10 67 ị 63 55 67 = Đồng dư thức t = 221 = (mocỉ 5) có hai nghiệm, Oí5 = P S = Giá trị với modun T T danh sách mà đồng dư = 16, nên bắt đầu với F(16), ta nhận thấy tất mục thứ năm chia hết cho Sàng nhân tử ta 35 17 03 35 79 ị 55 63 77 55 01 ị 17 03 35 79 11 55 12 56 55 79 12 56 55 79 ị 63 77 55 01 91 Tương tự vậy,tất mục thứ năm bắt đầu với F(19) chia hết cho 5, ta sàng nhân tử 17 10 35 79 11 63 77 ị 17 10 55 10 91 27 63 ị 79 11 63 77 71 Để kết thúc ví dụ , sàng số nguyên tố 79 ị 10 P 15 91 27 63 31 79 = Đồng dư thức t = 221 = (mocl 7) có hai nghiệm A7 = / = Như sàng từ tất mục thứ bảy bắt đầu với F ( 16), tất mục thứ bảy bắt đầu với F ( 19) Từ ta 17 10 17 11 26 77 ị 1 71 10 1 12 56 31 ị 17 10 17 11 26 77 17 10 67 ị 71 10 ị 91 91 12 56 31 97 12 56 31 97 ị 17 11 26 77 71 10 13 Nhận thấy mục ban đầu F(15) = 4, F(16) = 35, F( 19) = 140 sàng tất xuống đến Điều cho ta biết F(15) = 15 = 221, F(16) = 16 = 221, F(19) = 19 - 221 tích số nguyên tố nhỏ, ta tìm số bình phương modun 221 tích số nguyên tố nhỏ: Chúng ta dùng đồng dư thức Íl 2.rì[ j để có quan hệ khác bình phương Ví dụ, (16- 19) EE (2 • - f (mod 221) Tính UCLN(221,16 • 19 - • • 7) = UCLN(221, 234) = 13 cho ta nhân tử không tầm thường 221 Ta nhân tử thành công N = 221, để minh hoạ phương pháp sàng xa hơn, ta tiếp tục sàng đến D = 11 Lũy thừa nguyên tố để sàng Tuy nhiên, đồng dư thức t = 221 (mocl 3) nghiệm, nghĩa t = 221 = (mod 11) c ũ n g nghiệm, ta chuyến sang đến số nguyên tố p = 11 Đồng dư thức t = 221 = Ị N cho phép ta (mod11)có nghiệmlà CMn= = 10, sàng nhân tử 11 từ F ( 23)và từ F(21) Chúngtôi tómlại phương pháp sàng Bảng 1.7, hàng đầu cho giá trị T toàn c c hàng sàng giá trị F(T) = t2 — 221 sử dụng lũy t h a n g u y ê n tố lên đến 11 Nhận thấy hai mục ^(21) F(23), sàng xuống đến 1, cho hai quan hệ bổ sung F(21) = 212 = 22 • • 11 (mod 221) F(23) = 23 = 22 • • 11 (mod 221) Chúng ta kết hợp quan hệ với quan hệ (I9-3ỊÌ để có đẳng thức bình phương mới, ví dụ (19 • 21 • 23) = (2 • • • ll)2 (mod 211) Đây cách khác cho nhân tử 221 : UCLN(221,19 • 21 • 23 - 23 • • 7) = UCLN(221,6097) = 13 Nhận xét 2.2.3 Nếu P số nguyên tố lẻ, đồng dư thức có ngiệm moclun Ỹ Khái quát hơn, đồng dư thức T — N (mod p c ) lũy thừa modun p có nghiệm Điều làm cho việc sàng lũy thừa nguyên tố lẻ tương đối đơn giản 16 17 18 19 20 21 68 03 40 79 20 63 35 ị 2 35 ị 1 35 7 ị 22 25 27 28 29 30 55 40 4 55 08 56 20 79 ị ị ị ị 10 63 15 55 20 55 54 ị ị ị ị ị ị 34 03 ị ị 17 03 79 55 17 03 79 11 17 03 79 11 63 17 03 79 11 63 11 63 35 79 ị 23 63 ị 63 77 77 ị ị 1 77 11 24 55 55 ị 17 03 1 79 1 17 03 1 79 1 17 03 1 79 11 ị 11 11 ị 27 ị 27 10 ị 56 3 10 79 ị 56 55 79 56 55 79 ị 5 71 10 1 27 56 31 71 10 1 27 56 31 97 71 10 1 27 56 31 97 ị 10 55 30 91 ị 79 ị 63 11 71 10 1 27 56 31 97 63 71 10 1 27 56 31 97 Hìnli 2.1: Sàng N = 221 sử dụng số nguyên tố D = 11 lũy thừa phức tạp chút, số nghiệm khác modun 2, moclưn 4, modun lũy thừa cao Ngoài ra, có nghiệm hai Chẳng hạn như, T = N (mod 8) có bốn nghiệm khác moclun N — (mocl 8) Vì sàng lũy thừa thực chất không khó khăn, phải xử lý trường hợp đặc biệt 1.3 Sàng trường số S À N G T R Ư Ờ N G S Ố phương pháp phân tích thừa số làm việc vành với số nguyên thường lớn Trong phần có nội dung giải thích ngắn gọn số ý tưỏng vào làm sàng trường số phương pháp nhanh để phân tích số có dạng N = PQ , P Q số nguyên tố cách xấp xỉ độ lớn Đe phân tích N ta bắt đầu cách tìm số nguyên M khác không đ a thức lồi bất khả quy f(x) £ z[x] có bậc nhỏ thoả mãn /(ra) = (mod N) Ví dụ 2.3.1 Giả sử ta muốn phân tích số N = 2 + Khi ta lấy F (X) = X D = 2103 + 8, F Cho M ( M ) = /(2103 = 2515 + = 8(2515 + 1) = (mod 229 + 1) bậc F(X ) cho S S nghiệm F ( X ) (Lưu ý S S số phức.) Ta làm việc vành ^[SS] = {c0 + C ISS + C 2S S + • • • + C Đ - I S S D G с : Со, C l , Q _ ! G z} Ví dụ 2.3.2 Chúng ta đưa ví dụ để minh hoạ cách thực phép cộng phép nhân vành Z[/3] Cho F ( X ) = H- 3.T — 2.T + T , cho S S nghiệm /(x), xét vành Z [ S S ] Đe cộng phần tử и = - A ß + 7ß + ß v = l + ß - Aß - 2ß\ ta cần cộng hệ số, И + V = — ‘ISS + 3SS2 + Phép nhân phức tạp chút Đầu tiên ta nhân I I V, xem SS biến số, uv = 92 + 308/9 + 111/3 - 133/3 e z[ß\ San ta chia cho F ( S S ) = + S S — S S + S S , xem S S biến số, giữ số dư Bước sàng trường số để tìm nhiều cặp số nguyên (ữjfc, bỵ) đồng thời thoả mãn к п [о,ị — bịTn.) bình phương z г = 1к П {(LỊ г =1 BISS ) bình phiĩơng Z[/9] Do có số nguyên A G z phần tử a E z[jỡ] cho (ữi, òi), Theo định nghĩa z|jỡ], ta tìm biểu thức cho a có dạng O Í — C Q -b C Ị Ị3 + C 2/ 32 + • • • + C D - I P D vớ i Co, Cl, C 2, Q _1 G z (2-5) Theo giả thiết f(rn) = (mod N) Từ ta có M = Ị (mod N) vành z|jỡ], Vậy, mặt ta có, (I2.4Ị1 trở thành A = A (mod N) vành Z[/3], mặt khác, (12.51) trỏ thành A = C Q + C Ị I N + c 2m + • • • + C D - I M D ~ (mod N) vành z [ / ] Do A = ( C + C Ị Ĩ Ĩ I + c 2m + • • • + C D _ I M D ~ ) (mod N) Như ta tạo đồng dư thức A = D tồn vành số nguyên z, thường lệ, có khả cao mà ƯCLN ( A — B , N ) cho thừa số không tầm thường N Làm tìm cặp ( A , Ị , B Ị ) đế hai tích (Ị2.4Ị) thành bình phương? Với tích số thứ nhất, ta dùng thuật toán sàng mà tương tự phương pháp dùng sàng bậc hai để tìm giá r i d ù n g đ i s ố t u y ế n t í n h đ ể t ì m m ộ t t ậ p co n v i t í n h trị a — bm trơn chất mong muốn Ý tưởng Pollard thực tương tự với tích số thứ hai làm vành z[/?] Do đó, tìm cặp số nguyên (a, B ) cho số a — b/3 "trơn" Z[/3] Có nhiều vấn đề nghiêm trọng phát sinh làm điều này, là: 1) Vành z[/?] phần tử thường phép nhân tử hóa thành số nguyên tố hay phần tử bất khả quy Vì vậy, thay vào đó, phân tích ( A — B / ) thành tích iđêan nguyên tố Ta nói а — b / l t r n n ế u n h ữ n g i đ ê a n n g u y ê n t ố xu ấ t h i ệ n t r o n g p h é p p h â n t í c h thừa số nhỏ 2) Thật không may, iđêan vành z[/?] phép phân tích thừa số thành tích iđêan nguyên tố Tuy nhiên, có vành lớn chút, gọi vành số nguyên Q(/ổ), phân tích thừa số iđêan 3) Giả sử vừa chuyển iđêan (П( а г — BỊ Ị ) ) thành bình phương iđêan Z[/3] Có hai vấn đề xảy Thứ nhất, không cần phải bình phương iđêan tạo phần tử Thứ hai, chí iđêan có dạng (7) , ta kết luận ПОг với mõi đơn vị И BI P) = UJ‘2 G Z[/3]*, nói chưng vành Z[/3] có vô số đơn vị Ta bình luận kỹ bước thuật toán Để bắt đ ầ u , ta cần số nguyên 77?,, đa thức lòi bất khả quy /(;x) có bậc n h ỏ t h ỏ a m ã n F ( M ) = (mod N) Thủ thuật để chọn bậc mong muốn D hàm số /, chọn số nguyên ĨTL thỏa mãn: ( N / F L Ù < M < N L / Ù , sau viết N số với sở m, N = C Q + C IĨĨI , + c m + • • • + C A -\ ĨĨI D ~ L + C TI TTI D với < C Ị < 77?, Đi ều kiện cho ĨĨI đảm bảo C (1 = 1, lấy / đa thứ c lồi f ( x ) — C Q + C ỵ X + C X + • • • + C d -iX d ~ l + c d x d Chúng ta cần F(X F(X ) đa thức bất khả quy, F ( X ) thuộc z[x], nói ) = G ( X ) H ( X ) , N = F ( M ) = G ( M ) H ( M ) cho nhân tử hóa N ta thực Vậy ta có F(X ) 772, cho phép ta bắt đầu sử dụng sàng trường số Định nghĩa 2.3.3 Với bất k ỳ о < б < ta xác định hàm số: L ( {X) = e (b*r(inin*)Chú ý với ký hiệu này, hàm số L ( X ) phần 1.7.1 L I J ( X ) Khi ta thể thấy số sử dụng sàng trường số có số mũ nhỏ L / ‘ I { N ) Đe đưa điều vào thực tiễn, sàng trường số sử dụng số К thoả mãn (Số chữ số củaA") ~ (Số chữ số củaN) / Điều dẫn đến cải thiện lớn lần chạy cho giá trị đủ lớn N Định lí 2.3.4 Th, eo m,ộị số giả thiết, hợp lý, thời gian chạy m,ong đợi sàng trường số để phân tích số N Lị/^NỴ với с nhỏ [...]... ta một thừa số không tầm thường nguyên tố, và thừa số Q P 13927189) = 3823 = 3823 của N Thừa số này là số = N / P = 13927189/3823 = 3643 cũng là số nguyên tố Lý do số mũ 14! được làm trong ví dụ này là thừa số p — 1 phân tích được thành tích của các số nguyên tố nhỏ, P Các thừa số khác thỏa mãn - 1 = 3822 = P 2 • 3 • 7 2 • 13 — L = 3642= 2 * 3 * 607, mà không phải là tích của các số nguyên tố nhỏ... Quy trình phân tích thừa số được trình bày trong Bảng 1.4 gồm ba bước: 1 Xây dựng quan hệ 2 Phép khử 3 Tính ƯCLN Ta giả sử mỗi số ữi, ,ữ r tìm được trong Bước 1 thỏa mãn tính chất C Ị = c i ị 2 (mod m) phân tích thành tích của các số nguyên tố nhỏ - ta nói r ằ n g m õ i C Ị là tích của các số nguyên tố được chọn từ tập hợp các số nguyên tố T là { P I 1P 21P 35 Điều này có nghĩa là tồn tại các số mũ EỊJ... những số nguyên tố nhỏ hơn 10 (Những số nguyên tố là những số nằm trong ô trong bảng) Những số còn lại không được gạch là những số nguyên tố còn lại nhỏ hơn 100 Bảng 2.1: Quá trình của L(X) = e\Ain *)(in In X) Khi đó có vài số nguyên tố bị gạch đi vài lần Ví dụ 6, 12,18 bị gạch hai lần vì chúng có bội của 2 và 3 Tương tự những số như 30 và 42 là những số bị gạch 3 lần Giả sử thay vì gạch những số đó đi,... những số nguyên tố nhỏ hơn D thì những số nào bị chia xuống còn 1? Câu trả lời là các số đó là tích của những số nguyên tố nhỏ hơn đặc biệt chúng là những số z?-trơn Vì vậy chúng ta thu được một dãy các số D - trơn Thật không may, chúng ta bỏ qua một vài số D — trơn, cụ the là những số chia hết cho lũy thừa của các số nguyên tố nhỏ, nhưng dễ khắc phục bài toán này bằng cách sàng những lũy thừa nguyên tố. .. phải biết cách phân tích chúng để giải mã thông tin của Alice Nhưng thậm chí tệ hơn, nếu P và Q là những số nguyên tố nhỏ, thì Eve có thể sẽ phân tích được PQ và phá vỡ hệ thống của Bob Do đó, Bob cần phải tìm ra những số nguyên tố lớn hơn Chính xác hơn là ông cần một cách nào đó để phân biệt số nguyên tố và hợp số vì nếu ông tìm ra cách làm này, thì ông có thể chọn ngẫu nhiên những số cho tới khi... 11 ) ( mo d 9 78 81 11 ) ( mo d 9 78 81 11 ) ( mo d 9 78 81 11 ) ( mo d 9 78 81 11 ) và 2 -5 30 và 87 89 và 1 50 50 và 23 54 45 và 28 61 65 và 54 81 14 và 11 87 85 8 và 21 07 49 0 và 23 29 25 0 và 28 92 61 0 và 95 19 12 5 và 44 03 và 1 32 54 và 6 64 02 và 15 51 42 và 38 Ơ8 02 và 11 353 79 và 15 37 80 3 và 20 55 57 9 và 23 63 63 4 = 2 • = 11 = 2 • = 5 • = 5 • = 2 • = 2 • = 2 • = 2 • = 2 • = 53 = 7 •... thấy nhiều số nguyên với tính chất là a 2 mod N là tích của các số nguyên tố nhỏ Như đã nói ở phần cuối của Phần 1.4, các số phân tích được tốt phải có một tên gọi Định nghĩa 2.1.1 Một số nguyên n được gọi ỉ,ờ, D-trơn nếu tất cả CÁC thừa số nguyên tố của nó là nhỏ hơn hoặc bằng D Ví dụ 2.1.2 Dưới đây là ruột vài các số 5-trơn đầu tiên và một vài các số không phải là 5-trơn: 5-trơn: 2, 3, 4, 5, 6, 8,... nó là số nguyên tố Chúng ta sẽ thảo luận về vấn đề khả năng số được chọn ngẫu nhiên là số nguyên tố sau này, nhưng bây giờ thì ông đã có cơ hội tốt để thành công Do đó, những gì Bob thực sự cần là một cách hiệu quả để xác định một số rất lớn là số nguyên tố Ví dụ, giả sử như Bob chọn số lớn có giá trị: n = 31987937737479355332620068643713101490952335301 và ông muốn biết số N có là số nguyên tố hay... hơn phân tích N 1.3 Kiểm tra tính nguyên tố Bob đã đọc xong các phần trên và bây giờ sẵn sàng truyền thông tin cho Alice bằng cách dùng cặp khóa công khai/bí mật RSA của ông Đe tạo ra cặp khóa mã hóa RSA, Bob cần chọn hai số n g u y ê n tố là P và Q có thẻ là hợp số, đó là những số P và Q RẤT LỚN Ông không chọn được hai số nguyên tố đủ lớn nhưng Trước hết, nếu P và Q không phải là số nguyên tố thì... phương pháp của phân tích thừa số 1 Xây dựng quan hệ: Tìm những số nguyên a!,a 2,r/3, ,a r với tính chất C Ị = À Ị (mod N) là tích của các số nguyên tố nhỏ 2 Phép khử: L ấy tích C Ị 1 C Ị 2 • • • C Ị S của một số D để tất cả các sô nguyên tố xuất hiện trong tích đều phải có số mũ chẵn Khi đó C Ị C Ị 2 • • • C Ị S — B 2 là một số chính phương 3 Tính UCLN: Cho a = o,ịlaị2 ''' a i s và tính ƯCLN d b) ... ta thừa số không tầm thường nguyên tố, thừa số Q P 13927189) = 3823 = 3823 N Thừa số số = N / P = 13927189/3823 = 3643 số nguyên tố Lý số mũ 14! làm ví dụ thừa số p — phân tích thành tích số nguyên. .. â n t í c h thừa số nhỏ 2) Thật không may, iđêan vành z[/?] phép phân tích thừa số thành tích iđêan nguyên tố Tuy nhiên, có vành lớn chút, gọi vành số nguyên Q(/ổ), phân tích thừa số iđêan 3)... phương tích số Áp dụng trực tiếp công thức để phân tích thừa số Để phân tích thừa số N , ta tìm số nguyên cho N + B2 số phương A? B Khi N + B = a , N = a2 = b2 = (a + b)(a — 6), ta thực hi ện phân

Ngày đăng: 02/11/2015, 17:00

Từ khóa liên quan

Mục lục

  • 1.1 Công thức Euler

    • a4 = 1 (mod 15) với a = 1,2, 4, 7, 8,11,13 và 14; aA Ф 1 (mod 15) với a = 3, 5, 6, 9,10 và 12.

    • 4714 (mod 7919),

    • de = 1 + k(p — 1 )(q — 1).

    • 17389 = 1 (mod 63840),

    • với 63840 = (p — l)(ợ — 1) = 228 • 280. Giải đồng dư thức, ta được d = 53509 (mod 63840). Sau đó, từ Mệnh đề 11.1.41 ta có

    • X = 43 9 1 253509 = 144 5 8 (mod 64349), là nghiệm của Ж17389 = 43 9 2 7 (mod 64349).

    • g = UCLN(p - l)(q - 1) = UCLN(228, 280) = 4.

    • Dó đó (p - 1 )(q- 1 )/g = (228)(280)/4 = 15960, từ đây ta có thể tìm được

    • 17389 = 1 (mod 15960),

    • 1.2 Hệ mật mã khóa công khai RSA

      • N = p.q = 1223.1987 = 2430101.

      • UCLN(c, (p - 1), (q - 1)) = UCLN(94807, 2426892) = 1.

      • m = 1070777 thỏa mãn 1 < m < N.

      • Bob có (p - 1 ){q - 1) = 1222.1986 = 2426892, giải ed = 1 (mod (p - l)(q - 1)), 94807 = 1 (mod 2426892), với d và thấy rằng d = 1051235. Bob lấy bản mã с = 1473513 và tính

      • N = pq = 66240912547 và (p - l)(q - 1) = 66240396760.

      • p + q = N + l-{p- 1 ){q - 1) = 515788.

      • Phép tính này cho bà phân tích thừa số N = 66240912547 = 241511 • 274277.

      • 1.3 Kiểm tra tính nguyên tố

        • n = 31987937737479355332620068643713101490952335301

        • 5. Vòng lặp ỉ = 0, 1, 2,k — 1.

        • 235 = 263 (mod 561), 22'35 = 2632 = 166 (mod 561), 24'35 EE 1662 EE 67 (mod 561),

        • n - 1 = 172947528 = 23.21618441.

Trích đoạn

Tài liệu cùng người dùng

Tài liệu liên quan