BÀI TOÁN SỐ NGUYÊN TỐ VÀ CÁC PHƯƠNG PHÁP PHÂN TÍCH RA THỪA SỐ NGUYÊN TỐ

24 782 0
BÀI TOÁN SỐ NGUYÊN TỐ VÀ CÁC PHƯƠNG PHÁP PHÂN TÍCH RA THỪA SỐ NGUYÊN TỐ

Đ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 CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN _ BÀI TẬP LỚN LÝ THUYẾT MÃ HÓA THÔNG TIN Đề tài: BÀI TOÁN SỐ NGUYÊN TỐ VÀ CÁC PHƯƠNG PHÁP PHÂN TÍCH RA THỪA SỐ NGUYÊN TỐ Sinh viên thực hiện: Trịnh Xuân Hinh Trần Hậu Tin Phạm Văn Thành Nhóm Lớp KHMT1-K4 Giảng viên hướng dẫn: Ths Mai Thanh Hồng Hà Nội, 5/2013 MỤC LỤC MỤC LỤC LỜI NÓI ĐẦU CHƯƠNG I: TỔNG QUAN LÝ THUYẾT VÀ MÃ HÓA THÔNG TIN I.Lý thuyết thông tin .2 CHƯƠNG II: SỐ NGUYÊN TỐ VÀ CÁC PHƯƠNG PHÁP PHÂN TÍCH RA THỪA SỐ NGUYÊN TỐ Kết Luận 21 Tài Liệu Tham Khảo: 22 LỜI NÓI ĐẦU Hiện thông tin tác động trực tiếp đến mặt hoạt động kinh tế xã hội hầu hết quốc gia giới Thông tin có vai trò quan trọng, phải đảm bảo tính suốt thông tin nghĩa thông tin không bị sai lệch, bị thay đổi, bị lộ trình truyền từ nơi gửi đến nơi nhận Với phát triển nhanh công nghệ mạng máy tính đặc biệt mạng internet khối lượng thông tin ngày chuyển tải nhiều Nhưng vấn đề đặt phải để đảm bảo tính bảo mật thông tin Do đó, giải pháp dùng hệ mã hóa thông tin để mã hóa thông tin sau gửi để đảm bảo thông tin gửi mạng nguyên vẹn Số nguyên tố đóng vai trò quan trọng mã hóa thông tin, nhiều hệ mã yêu cầu tìm sử dụng số nguyên tố lớn Trong phạm vi tập lớn nhóm em tìm hiểu toán số nguyên tố, phép thử kiểm tra số nguyên tố lớn, cách tạo số nguyên tố lớn, thuật toán để phân tích thừa số nguyên tố CHƯƠNG I: TỔNG QUAN LÝ THUYẾT VÀ MÃ HÓA THÔNG TIN I Lý thuyết thông tin Khái niệm lý thuyết thông tin nắm bắt thông qua việc xem xét hình thức liên lạc phổ biến người: ngôn ngữ Hai yếu tố quan trọng ngôn ngữ ngắn gọn là: từ thông dụng (như "một", "cái", "tôi") nên ngắn gọn từ thông dụng (như "thông tin", "thợ thủ công") để câu không bị dài Sự cân độ dài từ tương tự nén liệu thành phần mã hóa nguồn Ngoài ra, phần câu không nghe bị nghe nhầm tiếng ồn, chẳng hạn có ô tô chạy qua, người nghe đoán ý nghĩa câu Sự vững thành phần thiết yếu cho hệ thống liên lạc điện tử cho ngôn ngữ Tính chất truyền thông đảm bảo mã hóa kênh Mã hóa nguồn mã hóa kênh mối quan tâm lý thuyết thông tin Entropy Lý thuyết thông tin định nghĩa khối lượng thông tin thông báo số bít nhỏ cần thiết để mã hoá tất nghĩa thông báo Ví dụ, trường ngay_thang sở liệu chứa không bít thông tin, thông tin mã hoá với bít = Sunday = Monday 10 = Tuesday 11 = Wednesday 100 = Thursday 101 = Friday 110 = Saturday 111 is unused Nếu thông tin biểu diễn chuỗi ký tự ASCII tương ứng, chiếm nhiều không gian nhớ hơn, không chứa nhiều thông tin Tương ự trường gioi_tinh sở liệu chứa bít thông tin, lưu trữ hai xâu ký tự ASCII : Nam, Nữ Khối lượng thông tin thông báo M đo Entropy thông báo đó, ký hệu H(M) Entropy thông báo gioi_tinh bít, ký hiệu H(gioi_tinh) = 1, Entropy thông báo số ngày tuần nhỏ 3bits Trong trường hợp tổng quát, Entropy thông báo log 2n, với n số khả H(M) = log2n Tốc độ ngôn ngữ (Rate of Language) Đối với ngôn ngữ, tốc độ ngôn ngữ r = H(M)/N trường hợp N độ dài thông báo Tốc độ tiếng Anh bình thường có vài giá trị 1.0 bits/chữ 1.5 bits/chữ cái, áp dụng với giá trị N lớn Tốc độ tuyệt đối ngôn ngữ số bits lớn nhất, chúng mã hoá ký tự Nếu có L ký tự ngôn ngữ, tốc độ tuyệt đối : R = log2L Đây số Entropy lớn ký tự đơn lẻ Đối với tiếng Anh gồm 26 chữ cái, tốc độ tuyệt đối log226 = 4.7bits/chữ Sẽ điều ngạc nhiên tất người thực tế tốc độ tiếng Anh nhỏ nhiều so với tốc độ tuyệt đối An toàn hệ thống mã hoá Shannon định nghĩa rõ ràng, tỉ mỉ mô hình toán học, điều có nghĩa hệ thống mã hoá an toàn Mục đích người phân tích phát khoá k, rõ p, hai thứ Hơn họ hài lòng với vài thông tin có khả rõ p âm số, văn tiếng Đức, bảng tính liệu, v v Trong hầu hết lần phân tích mã, người phân tích có vài thông tin có khả rõ p trước bắt đầu phân tích Họ biết ngôn ngữ mã hoá Ngôn ngữ chắn có dư thừa kết hợp với ngôn ngữ Nếu thông báo gửi tới Bob, bắt đầu với "Dear Bob" Chắc chắn "Dear Bob " khả chuỗi không mang ý nglĩa chẳng hạn "tm*h&rf" Mục đích việc thám mã sửa tập hợp khả có mã với khả rõ Có điều giống hệ thống mã hoá, chúng đạt bí mật tuyệt đối Hệ thống mã hoá mã không mang lại thông tin để tìm lại rõ Shannon phát triển lý thuyết cho rằng, hệ thống mã hoá an toàn tuyệt đối nếu số khoá nhiều số thông báo Hiểu theo nghĩa khác, khoá tối thiểu dài thông báo Ngoại trừ an toàn tuyệt đối, mã mang lại vài thông tin với rõ, đ iều tránh Một thuật toán mật mã tốt giữ cho thông tin mức nhỏ nhất, người thám mã tốt khai thác thông tin để phát rõ Người phân tích mã sử dụng dư thừa tự nhiên ngôn ngữ để làm giảm số khả rõ Nhiều thông tin dư thừa ngôn ngữ, dễ dàng cho phân tích mật mã Chính lý mà nhiều thực mã hoá sử dụng chương trình nén rõ để giảm kích thước văn trước mã hoá chúng Bi trình nén làm giảm dư thừa thông báo Entropy hệ thống mã hoá đo kích thước không gian khoá (keyspace) H(K) = log2(number of keys ) Sự lộn xộn rườm rà (Confusion and Diffusion) Theo nhà khoa học Shannon, có hai k thuật để che dấ u dư thừa thông tin thông báo gốc : lộn xộn rườm rà Kỹ thuật lộn xộn (Confusion) che cấu mối quan hệ rõ gốc Kỹ thuật làm thất bại cố gắng nghiên cứu mã tìm kiếm thông tin dư thra thống kê mẫu Phương pháp dễ để thực điều thông qua lỹ thuật thay Một hệ mã hoá thay đơn giản, chẳng hạn hệ mã dịch vòng Caesar, dựa tảng thay chữ cái, nghĩa chữ thay chữ khác Sự tồn c hữ mã, việc dịch chuyển k vị trí chữ rõ Kỹ thuật rườm rà (Diffusion) làm nất dư thừa rõ bề rộng vượt mã (nghĩa mã kích thước nhỏ rõ) Một người phân tích tìm kiếm dư thừa có thời gian khó khăn đầ tìm chúng Cách đơn giản tạo rườm rà thông qua việc đổi chỗ (hay gọi hoán vị) II Lý thuyết mã hóa Lý thuyết mã hóa :là ngành toán học (mathematics) khoa học điện toán (computer science)) nhằm giải tình trạng lỗi dễ xảy trình truyền thông số liệu kênh truyền có độ nhiễu cao (noisy channels)), dùng phương pháp tinh xảo khiến phần lớn lỗi xảy chỉnh sửa Nó xử lý đặc tính mã (codes)), giúp phù hợp với ứng dụng cụ thể Có hai loại mã hiệu: Mã hóa dùng nguồn (Mã hóa entrôpi (Entropy encoding)) Mã hóa kênh truyền (Sửa lỗi phía trước (Forward error correction)) Cái nói đến mã hóa dùng nguồn Ý định phương pháp nén liệu từ nguồn nó, trước truyền đi, giúp cho việc truyền thông có hiệu Chúng ta chứng kiến thói quen ngày Internet, cách dùng "zip" nén liệu để giảm lượng liệu phải truyền, giảm nhẹ gánh nặng cho mạng lưới truyền thông, đồng thời thu nhỏ cỡ tập tin Cái thứ hai mã hóa kênh truyền Bằng việc cộng thêm bit vào liệu truyền, gọi bit chẵn lẻ (parity bits), kỹ thuật giúp cho việc truyền thông tín hiệu xác môi trường nhiễu loạn kênh truyền thông Có nhiều chương trình ứng dụng, mà người dùng trung bình không để ý đến, sử dụng mã hóa kênh truyền Kỹ thuật Reed-Solomon dùng để nhằm sửa lỗi vết xước bụi bề mặt đĩa âm nhạc CD thông thường Trong ứng dụng này, kênh truyền thông lại thân đĩa CD Điện thoại di động "Cell phones" dùng kỹ thuật mã hóa có hiệu ứng cao (powerful coding technique) để sửa lỗi việc truyền sóng rađiô tần số cao bị yếu mờ bị nhiễu Modem xử lý số liệu, việc truyền thông qua đường điện thoại, đương nhiên NASA, tất sử dụng kỹ thuật mã hóa kênh truyền hiệu ứng để truyền bit số liệu qua đường dây Lý thuyết toán học III + Modular số học Về a = b(mod n) a = b+kn k số nguyên Nếu a b dương a nhỏ n, bạn nghĩ a phần dư b chia cho n Nói chung a b phần dư chia cho n Đôi b gọi thặng dư a, modulo n, a gọi đồng dư b, modulo n Tập hợp số nguyên từ đến n-1 gọi tập hợp thặng dư hoàn toàn modulo n Đi ều có nghĩa là, với s ố nguyên a, thặng dư modul n số từ đến n -1 Modulo số học giống số học bình thường, bao gồm phép giao hoán, kết hợp phân phối Mặt khác giảm giá trị trung gian suốt trình tính toán (a+b) mod n = ((a mod n) + (b mod n)) mod n (a- b) mod n = ((a mod n) - (b mod n)) mod n (axb) mod n = ((a mod n) X (b mod n)) mod n (ax(b + c)) mod n = (((a X b) mod n) + ((a X c) mod n)) mod n Hệ thống mã hoá dụng nhiều tính toán modulo n, vấn đề giống tính toán logarithm rời rạc diện tích hình vuông khó khăn Mặt khác làm việc dễ hơn, bị giới hạn tất giá trị trung gian kết Ví dụ : a số k bits, n kết trung gian phép cộng, trừ, nhân không vượt 24 bits Như thực hàm mũ modulo số học mà không cần sinh kết trung gian đồ sộ + Số nguyên tố Số nguyên tố số lớn 1, chia hết cho nó, không số chia hết Số số nguyên tố Do 7, 17, 53, 73, 2521, 2365347734339 số nguyên tố Số lượng số nguyên tố vô tận Hệ mật mã thường sử dụng số nguyên tố lớn cỡ 512 bits chí lớn + Ước số chung lớn Hai số gọi cặp số nguyên tố mà chúng khôn g có thừa số chung khác 1, hay nói cách khác, ước số chung lớn a n Chúng ta viết sau : gcd(a,n)=1 Số 15 28 cặp số nguyên tố, 15 27 cặp số nguyên tố có ước số chu ng 3, dễ dàng thấy 13 500 cặp số nguyên tố Một số nguyên tố cặp số nguyên tố với tất số khác loại trừ số bội số Một cách dễ để tính toán ước số chung lớn hai số nhờ vào thuật toán Euclid Knuth mô ả thuật toán vài mô hình thuật toán sửa đổi Định lý fermat nhỏ: cho p số nguyên tố a số nguyên dương không chia hết cho p Khi ta có: ap-1≡ mod p Từ định nghĩa Fermat ta có hệ quả: Cho a € z p số nguyên tố ap= a mod p Nếu e , d nguyên dương thỏa mãn điều kiện ed≡1(mod p-1) (a e)d=(ad)e=a mod p CHƯƠNG II: SỐ NGUYÊN TỐ VÀ CÁC PHƯƠNG PHÁP PHÂN TÍCH RA THỪA SỐ NGUYÊN TỐ Số nguyên tố đóng vai trò quan trọng mã hóa thông tin Rất nhiều hệ mã yêu cầu tìm sử dụng số nguyên tố lớn vấn đề đặt làm tìm số nguyên tố lớn? Liệu lấy ngẫu nhiên số nguyên lẻ phân tích thành thừa số nguyên tố Việc phân tích thừa số nguyên tố cần nhiều thời gian rõ ràng phương pháp tốt Nếu phân tích thừa số không khó nhiều hệ mã phá sản Chúng ta tìm hiểu số phép thử nhằm kiểm tra số có phải số nguyên tố hay không với thời gian chấp nhận được: I Một Số Phép Thử Kết Luận Một Số Lớn Là Số Nguyên Tố Kiểm tra sở định luật nhỏ Fermat Phương pháp dựa định luật nhỏ Fermat: Nếu n số nguyên tố số a ∈ Z thỏa mãn phương trình sau: (1) a n ≡ a(mod n) Nếu UCLN (a, n) = , thì: (2) a n −1 ≡ 1(mod n) Cho nên để kiểm tra tính nguyên tố n, chọn số a ∈ Z kiểm tra xem có thỏa mãn định lý Fermat hay không? Nếu định lý Fermat không thỏa với giá trị a n hợp số Nếu định lý thỏa mãn, kết luận n số nguyên tố, định lý điều kiện cần Vì tồn n hợp số, số a ∈ Z , ta có đằng thức a n ≡ a(mod n) , số gọi số Carmichael Ví dụ, xem số 561=3.11.17 Chúng ta chứng tỏ số số Carmichael Đồng dư thức a 561 ≡ a (mod 561) tương đương với hệ a 561 ≡ a (mod 3) , a 561 ≡ a(mod11) , a 561 ≡ a(mod17) Nếu 3|a, a 561 ≡ a ≡ 0(mod 3) Nếu không ước a, a ≡ 1(mod 3) , từ ta có a 560 ≡ 1(mod 3) , hay a 561 ≡ a (mod 3) Tương tự kiểm tra hai số 11 17 Như việc kiểm số nguyên tố theo Fermat có khuyết điểm Các bước kiểm tra tính nguyên tố sau: Chọn ngẫu nhiên a từ tập {1,2, , n − 1} kiểm tra điều kiện UCLN(a,n)=1 Nếu điều kiện không thỏa mãn n hợp số Kiểm tra đẳng thức (2) Nếu đẳng thức (2) không thỏa mãn trả lời n hợp số Nếu đẳng thức trả lời chưa biết, kiểm tra lại số lần với a khác Giải thuật Fermat kiểm tra tính nguyên tố số Đầu vào: n: giá trị để kiểm tra tính nguyên tố; k: tham số tham gia vào trình kiểm tra Đầu ra: hợp số n hợp số, không nguyên tố xác suất repeat k times: lấy a ngẫu nhiên [1, n − 1] if an − mod n ≠ then return hợp số return nguyên tố xác suất Khi dùng thuật toán tính nhanh luỹ thừa theo mođun, thời gian thi hành thuật toán O(k × log3n), k số lần kiểm tra với số a ngẫu nhiên, n giá trị ta muốn kiểm tra Và từ việc kiểm tra dẫn ta đến phần sau Định nghĩa : Cho n>1 số tự nhiên lẻ, n − = 22.d , d số lẻ Số n gọi số giả nguyên tố chặc chẽ sỡ a, a ∈ N , UCLN (a, n) = a d ≡ 1(mod n) , r a d ≡ −1(mod n) , với 0≤ r < s Từ định nghĩa có điều sau Nếu n số nguyên tố, a n −1 ≡ 1(mod n) , tức a2 s −1 d a2 s d ≡ 1(mod n) Từ ta có a2 s −1 d ≡ −1(mod n) , dừng, a ≡ ±1(mod n) Nếu s −1 d ≡ 1(mod n) , lại khai tìm a d hay đồng dư với -1 Để kiểm tra tính nguyên tố số lẻ n, < n < 25.109 , ta dùng trình sau: Bước 1: Kiểm tra tính chặc chẽ giả nguyên tố n sở 2,3,5,7 Nếu n không chặt chẽ giả nguyên tố sở n hợp số Bước 2: Nếu n=3215031751, n hợp số, ngược lại n số nguyên tố Như thấy việc kiểm tra sỡ tính chặc chẽ giả nguyên tố hiệu việc tìm số hợp số, cách điều kiện cần thiết Trong số kết chứng tỏ rằng, điều kiện cần đủ để kiểm tra số nguyên tố n < (67107840) Phép thử Miller: Mệnh đề 1: cho p số nguyên tố giả sử x = 1(mod p), thif x= hay x =-1(mod p) Trên sở định lý Fermat nhỏ mệnh đề 1, Miller đề xuất phương pháp kiểm tra số nguyên tố sau: Định nghĩa: cho số nguyên dương n với n-1=2 st , s số nguyên không âm t số lẻ n vượt qua phép thử Miller sở b b t=1(mod n) bkt=1(mod n) với k=2i, 1 Khi UCLN (b, n) =  b   b   b   b    =   ⋅ ⋅ ⋅   =   = −1  n   p1   pk   p1  Đồng dư thức b Bởi k ≥ ≡ b n −1 n −1 ≡ −1(mod n) tương đương với b n −1 ≡ −1(mod p j ) , với j=1,…,k ≡ −1(mod p2 ) , Như số b tồn Chúng ta xem tập hợp : 14 n −1   a W1 = a | ≤ a ≤ n − 1,UCLN ( a, n) = 1, a ≡  (mod n) , n   n −1   a W2 = a | ≤ a ≤ n − 1,UCLN ( a, n) = 1, a ≠  (mod n) , n    a1a2   a1  a   =    Cho nên đối  n   n  n  Nếu a1 ∈ W1 , a2 ∈ W2 , a1a ∈ W2 ,  với số a ∈ W1 , thặng dư không âm nhỏ a(mod n) thuộc W2 Dẫn đến , | W2 |≥| W1 | , từ rút điều khẳng định định lý Giải thuật kiểm tra Solovay-Strasen Đầu vào: n: số tự nhiên lẻ Đầu ra: FALSE n hợp số, không TRUE Chọn a ngẫu nhiên khoảng[1,n-1] a n Tính ký hiệu Jacobi J=   Tính x =a(n − 1) / 2(mod n) Nếu J ≠ x trả FALSE khác trả TRUE Gọi A biến cố "Số nguyên lẻ n hợp số"; B biến cố: "Thuật toán Solova1 Strassen trả lời TRUE" Xác suất điều kiện P(B|A) ≤ Tương tự phép thử Miller-Rabin tính xác suất sai phép thử SolovaStrasen là: II P ( A | B) = P (B | A ) ⋅ P( A) P ( B | A) ⋅ P ( A) = P( B) P ( B | A) ⋅ P ( A) + P ( B | A) ⋅ P ( A) P( A / B) ≈ P( B | A) ⋅ (ln n − 2) P( B | A) ⋅ (ln n − 2) + Tạo Số Nguyên Tố Lớn: Định nghĩa: số nguyên tố p gọi số nguyên tố mạnh tồn số nguyên r,s t thỏa mãn điều kiện sau: (a) p - có thừa số lớn r (b) p + có thừa số lớn s (c) r – có thừa số nguyên tố lớn t 15 Thuật toán Gordon: (1) Phát sinh ngẫu nhiên hai số nguyên tố s t đủ lớn có số ký số tương đương (2) Chọn số nguyên dương i* tìm số nguyên r=2it+1, với i= i*, i*+1, i*+2, vượt qua phép thử Rabin-Miller (3) Tính z = sr-1 mod r (4) Tính p*= 2zs-1 (5) Chọn số nguyên k*, sau tìm số nguyên p= p*+2krs, với k = k*, k*+1, k*+2, vượt qua phép thử Rabin- Miller (6) Reaturn p Mệnh đề: p tìm theo thuật toán Gordon số nguyên tố mạnh, Chứng minh: theo định lý Fermat nhỏ, ta có sr-1≡ 1(mod r) Vậy: p*=2zs -1 ≡ 2sr-2*s-1 ≡ 2*1-1≡ (mod r) p*=2zs -1≡ -1 (mod r) Từ ta có: III (a) p – = p* +2krs -1 ≡ 0(mod r) -> r= 2it+1 thừa số nguyên tố lớn p-1 (b) p+1 = p* + 2krs+1≡0(mod r) -> s thừa số nguyên tố lớn p+1 (c) r-1 = 2it≡0(mod t)-> t thừa số nguyên tố lớn r-1 Một Số Thuật Toán Phân Tích Ra Thừa Số Nguyên Tố Phương pháp Fermat: Cho n số nguyên dương lẻ Giả sử n = a.b, với a, b số nguyên Do n lẻ nên a, b lẻ Ta viết n dạng: n = s2 – t2 với: s=(a+b)/2, t=(a-b)/2 Do a b số nguyên lẻ nên s t số nguyên dương lẻ Tương tự, có số nguyên dương lẻ viết dạng: Ta phân tích: n=c.d với c=(x+y)/2, d=(x-y)/2 16 Rút từ nhận xét trên, ta tiếp cận toán phân tích thừa số số nguyên dương lẻ n theo cách tìm hai bình phương cho hiệu chúng n Nghĩa là: Ta tìm nghiệm phương trình: n = x – y2 Ta viết: y2 = x2 – n Và tìm số bình phương có dạng x2 – n Quá trình thi hành số nguyên nhỏ m ≥ √n tìm nghiệm dãy số sau: m2 – n, (m+1)2 – n, (m+2)2 – n, Tiến trình đảm bảo dừng m vượt (n+1)/2 Thực vậy: ((n+1)/2)2 – n=((n-1)/2)2 Và tất số hàng biểu thức số nguyên Ví dụ với n = 11 Bắt đầu với m = > √11≈ 3.32 xét dãy sau: 42-11=16-11=5 52-11=25-11=14 62-11=36-11=25=52 Vậy: 11= 62-52=(6+5)(6-5)=11×1 Hạn chế: - Tuy nhiên phương pháp hiệu n tích hai số nguyên tố gần Đây kẽ hở để bẻ khóa số hệ mã (như RSA chẳng hạn) - Mặc dù giải việc phân tích số n thừa số nguyên tố phương pháp Fermat không hiệu Thậm chí phương pháp tệ phương pháp chia thử, chia thử thử với tối đa tới √n fermat có trường hợp phải thử tới (n+1)/2-√n số nguyên n lớn, tới (n+1)/2√n lớn √n Phương pháp Monte- Carlo: 17 Mô tả thuật toán: Cho n hợp số p ước nguyên tố nhỏ n Tạo ngẫu nhiên dãy số m0, m1, ,mk thỏa mãn: k số lớn p k số nhỏ n mi 0≤i≤k, ngẫu nhiên dãy tạo có cặp số m q mr thỏa mã đồng thời hai điều kiện: mq≡mr (mod p) mq ≠ mr (mod n) gcd(mq –mr,n) ước không tầm thường n do: p|(mq –mr) n|(mq –mr) Vấn đề đặt tìm cặp số nhanh Ta thực bước chính: Bước 1: Khởi tạo tiến trình với m0 tạo ngẫu nhiên Bước 2: mi≡m2i-1+1(mod n), 0≤mi≤n Đây dãy ngẫu nhiên hoàn toàn Khi phát sinh phần tử m 2i, kiểm tra ước chung lớn m2i-mi n, gcd(m2i-mi,n)=d 12 tính bk!-1 Ví dụ: n= 632887 Chọn sở b=261482 Ta tạo dãy ri≡bi!(mod n), i= 1,2,3, gcd(r i-1,n) không tầm thường sau: r1 = 261482 (mod 632887) r2 = r12= 155053(mod 632887); gcd(r2-1,n)=1 r3= r23= 386889(mod 632887); gcd(r3-1,n)=1 r4 = r34= 181843(mod 632887); gcd(r4-1,n)=1 r5 = r45= 293943(mod 632887); gcd(r5-1,n)=1 r6 = r56= 630444(mod 632887); gcd(r6-1,n)=1 r7 = r67= 249467(mod 632887); gcd(r7-1,n)=1 r8 = r78= 234544(mod 632887); gcd(r8-1,n)=1 r9 = r89= 422180(mod 632887); gcd(r9-1,n)=1 r10 = r910= 582903(mod 632887); gcd(r10-1,n)=769 19 Ở bước thứ 10, ta tìm 769 ước không tầm thường n=632887 số ta cần tìm 20 Kết Luận Số nguyên tố số lớn 1, chia hết cho nó, không số chia hết Số số nguyên tố Do 7, 17, 53, 73, 2521, 2365347734339 số nguyên tố Số lượng số nguyên tố vô tận Hệ mật mã thường sử dụng số nguyên tố lớn cỡ 512 bits chí lớn Số nguyên tố đóng vai trò quan trọng mã hóa thông tin Rất nhiều hệ mã yêu cầu tìm sử dụng số nguyên tố lớn Trong tập lớn bọn em tìm hiểu phép thử kiểm tra số nguyên tố lớn Các tạo số nguyên tố lớn phân tích thừa số nguyên tố Trong tìm hiểu có nhiều chỗ thiếu sót mong cô bạn góp ý để tập lớn hoàn thiện 21 Tài Liệu Tham Khảo: [1].Ths.Nguyễn Đình Thúc, Bùi Doãn Khanh (2011), Mã hóa thông tin với Java Tập 2, Mã hóa - mật mã [2].Ths.Mai Thanh Hồng- Đại Học Công Nghiệp Hà Nội, Slide giảng lý thuyết mã hóa thông tin [3].Phạm Thị Liên(2009), Lý thuyết thông tin mã hóa 22 [...]... 2it≡0(mod t)-> t là một thừa số nguyên tố lớn của r-1 Một Số Thuật Toán Phân Tích Ra Thừa Số Nguyên Tố 1 Phương pháp Fermat: Cho n là số nguyên dương lẻ Giả sử n = a.b, với a, b là các số nguyên Do n lẻ nên a, b đều lẻ Ta có thể viết n dưới dạng: n = s2 – t2 với: s=(a+b)/2, t=(a-b)/2 Do a và b đều là các số nguyên lẻ nên s và t cũng là các số nguyên dương lẻ Tương tự, nếu có 1 số nguyên dương lẻ được... thường của n=632887 là số ta cần tìm 20 Kết Luận Số nguyên tố là một số lớn hơn 1, nhưng chỉ chia hết cho 1 và chính nó, ngoài ra không còn số nào nó có thể chia hết nữa Số 2 là một số nguyên tố Do vậy 7, 17, 53, 73, 2521, 2365347734339 cũng là số nguyên tố Số lượng số nguyên tố là vô tận Hệ mật mã thường sử dụng số nguyên tố lớn cỡ 512 bits và thậm chí lớn hơn như vậy Số nguyên tố đóng vai trò quan... nguyên tố đóng vai trò quan trọng trong mã hóa thông tin Rất nhiều hệ mã yêu cầu tìm và sử dụng các số nguyên tố lớn Trong bài tập lớn này bọn em tìm hiểu về các phép thử kiểm tra 1 số nguyên tố lớn Các tạo số nguyên tố lớn và phân tích ra thừa số nguyên tố Trong tìm hiểu có nhiều chỗ thiếu sót mong cô và các bạn góp ý để bài tập lớn có thể hoàn thiện hơn 21 Tài Liệu Tham Khảo: [1].Ths.Nguyễn Đình Thúc,... (b) p + 1 có một thừa số lớn là s (c) r – 1 có một thừa số nguyên tố lớn là t 15 Thuật toán Gordon: (1) Phát sinh ngẫu nhiên hai số nguyên tố s và t đủ lớn có số ký số tương đương (2) Chọn một số nguyên dương i* và tìm số nguyên r=2it+1, với i= i*, i*+1, i*+2, đầu tiên vượt qua phép thử Rabin-Miller (3) Tính z = sr-1 mod r (4) Tính p*= 2zs-1 (5) Chọn một số nguyên k*, sau đó tìm số nguyên p= p*+2krs,... Ta có thể phân tích: n=c.d với c=(x+y)/2, d=(x-y)/2 16 Rút ra từ nhận xét trên, ta có thể tiếp cận bài toán phân tích ra thừa số 1 số nguyên dương lẻ n theo cách tìm hai bình phương sao cho hiệu của chúng bằng n Nghĩa là: Ta đi tìm các nghiệm phương trình: n = x 2 – y2 Ta viết: y2 = x2 – n Và tìm các số bình phương có dạng x2 – n Quá trình được thi hành bắt đầu từ số nguyên nhỏ nhất m ≥ √n và tìm nghiệm... nhất khi n là tích của hai số nguyên tố gần nhau Đây là kẽ hở để có thể bẻ khóa một số hệ mã (như RSA chẳng hạn) - Mặc dù vẫn giải quyết được việc phân tích số n ra thừa số nguyên tố nhưng phương pháp Fermat không hiệu quả Thậm chí phương pháp này còn tệ hơn phương pháp chia thử, vì chia thử chỉ thử với tối đa tới √n nhưng fermat thì có trường hợp phải thử tới (n+1)/2-√n số nguyên khi n rất lớn, tới...  Định lý: Nếu n là hợp số lẻ thì tồn tại không quá n số tự nhiên dương a nhỏ hơn 2 n, nguyên tố cùng nhau với n sao cho n là số giả nguyên tố Euler cơ sở a Chứng minh: b ∈ N , mà Chúng ta đi chứng minh tồn tại số b n −1 2 UCLN (b, n) = 1 và b ≠  (mod n) Giả sử n = p1α1 ⋅ ⋅ ⋅ pkα k - tức là phân tích n ra thừa số nguyên tố n Nếu n chia hết cho số bình phương số nguyên tố, thì tìm được b ∈ N ,... một số nguyên tố lớn vượt qua phép thử Miller với 1 cơ sở b nào đó giữa n và n-1 thì ta có thể nói là hơn 75% n là số nguyên tố Vậy thực hiện phép thử Miller với nhiều cơ sở khác nhau thì có thể hy vọng xác suất gần 1 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 ⊂ N và kiểm tra xem chúng có đúng với số n muốn kiểm tra và. .. n=3215031751, thì n là hợp số, ngược lại n là số nguyên tố Như vậy chúng ta thấy việc kiểm tra trên cơ sỡ tính chặc chẽ giả nguyên tố là hiệu quả đối với việc tìm số hợp số, thế nhưng cách này cũng chỉ đúng trong một điều kiện cần thiết Trong một số kết quả chứng tỏ rằng, điều kiện cần và đủ để kiểm tra số nguyên tố là n < (67107840) 2 2 Phép thử Miller: Mệnh đề 1: cho p là số nguyên tố và giả sử x 2 = 1(mod... nhỏ và mệnh đề 1, Miller đã đề xuất một phương pháp kiểm tra số nguyên tố như sau: Định nghĩa: cho số nguyên dương n với n-1=2 st , trong đó s là 1 số nguyên không âm và t là 1 số lẻ n vượt qua phép thử Miller cơ sở b nếu b t=1(mod n) hoặc bkt=1(mod n) với k=2i, 0

Ngày đăng: 30/12/2015, 20:39

Từ khóa liên quan

Mục lục

  • MỤC LỤC

  • LỜI NÓI ĐẦU

  • CHƯƠNG I: TỔNG QUAN LÝ THUYẾT VÀ MÃ HÓA THÔNG TIN

    • I. Lý thuyết thông tin

    • CHƯƠNG II: SỐ NGUYÊN TỐ VÀ CÁC PHƯƠNG PHÁP PHÂN TÍCH RA THỪA SỐ NGUYÊN TỐ

    • Kết Luận

    • Tài Liệu Tham Khảo:

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

Tài liệu liên quan