việc phân tích số nguyên ra quá số nguyên tố vẫn được thành lập từ rất mất thời gian và đã có nhiều nhà toán học tập trên nắm giới nghiên cứu và phân tích và giải quyết vấn đề về nó. Ngoài ý nghĩa lý thuyết của bạn dạng thân câu hỏi thì người ta còn phát hiện ra rất nhiều chân thành và ý nghĩa thực tiễn đặc biệt là trong mật mã.


Bạn đang xem: Thuật toán phân tích một số ra thừa số nguyên tố

*
73 trang | phân tách sẻ: vietpd | Lượt xem: 2448 | Lượt tải: 2
*

Xem thêm: Nghĩa Của Từ : Style Tiếng Việt Là Gì, Nghĩa Của Từ : Style

Bạn sẽ xem trước đôi mươi trang tư liệu Bài toán phân tích số nguyên ra thừa số nguyên tố, để thấy tài liệu hoàn hảo bạn click vào nút download ở trên
Lời nói đầuBài toán đối chiếu số nguyên ra thừa số nguyên tố vẫn được ra đời từ rất lâu và đã có nhiều nhà toán học tập trên vắt giới nghiên cứu và giải quyết và xử lý vấn đề về nó. Ngoài ý nghĩa lý thuyết của phiên bản thân câu hỏi thì fan ta còn phát hiển thị rất nhiều ý nghĩa thực tiễn đặc biệt là trong mật mã.Thứ nhất nó là đại lý cho sự thành lập của một hệ mật khoá công khai nổi tiếng thành lập trong năm 1978, đó là hệ mật RSA của Revert - Shamir - Adlemal. Hệ mật này mà lại độ mật của nó phụ thuộc tính cực nhọc của việc phân tích số N=pq (p, q nhân tố ) ra thừa số.Tiếp đến giữa những việc kiến tạo nên những bộ tạo thành dãy đưa ngẫu nhiên một trong những nguyên liệu của chính nó là các đa thức nguyên thuỷ mà để tạo thành được các đa thức nguyên thuỷ bậc m thì điều trước tiên phải giải quyết và xử lý là phân tích trọn vẹn với 2m-1 ra thừa số nguyên tố.Để giải quyết vấn đề được đưa ra trong thiết bị án này, cửa hàng chúng tôi đưa ra một số cơ sở lý thuyết.Chương 1 sẽ trình bầy về những số Mersenne. Những số có dạng Mq=2q -1 (với q là nhân tố ) được hotline là những số Mersenne cùng đã được phân tích công phu.Chương 2 chú ý loại bài toán thân thuộc hơn kia là việc phân tích số nguyên ra thừa số. Sự góp sức có tính khoa học của shop chúng tôi thề hiện vày việc trình bày các thuật toán về so với số nguyên tố theo cách hiểu của mình. Chương 3 là phần cơ bản của đề án, vào đó trình bày các tứ tưởng của thuật toán phân tích ra quá số nguyên tố của những số nguyên lớn. Tiếp sau trong chương này trình bày các thiết đặt cụ thể cho gần như thuật toán liên quan đến bài toán phân tích ra quá số nguyên tố, lấy một ví dụ như các phép : +, -, *, / cùng luỹ thừa những số lớn. Công ty chúng tôi còn sệt biệt để ý tới việc setup thuật toán Pollard đầu tiên một thuật toán hết sức hiêụ trái trong việc phân tích đầy đủ hợp số lớn.Một sự việc không thể không nói trước là những vấn đề được phát âm thấu đáo vẫn được công ty chúng tôi trình bày cụ thể ở cường độ thuật toán khả thi trong câu hỏi lập trình, còn một số hiệu quả cần mang lại những chuẩn bị toán học cao tay thì chỉ được dẫn các reviews tương ứng về thời hạn tính đầy đủ rút ra những thông số quan trọng để xây dựng các tiêu trí. Shop chúng tôi nghĩ rằng chỉ hoàn toàn có thể trình bày phiên bản báo cáo này theo cách như vậy mới đảm bảo tính bằng phẳng trong cấu trúc bởi vì để làm cho tường minh cho dù chỉ giữa những vấn đề đã tránh mặt trên họ cũng phải phải đến hàng tập tài liệu dầy, đấy là chưa kể đến việc bọn họ có đủ kiến thức quan trọng đến mức để có thể trình bày nó cho mọi bạn rõ giỏi không.Chương i. Đặt vấn đề và ý nghĩa sâu sắc của bài xích toánBài toán đối chiếu số nguyên ra thừa số nguyên tố đã được ra đời từ rất mất thời gian và đã lôi kéo nhiều cỗ óc đẩy đà nhất trên trái đất để giải quyết và xử lý vấn đề về nó. Ngoài ý nghĩa sâu sắc lý thuyết của phiên bản thân bài toán thì fan ta còn phát chỉ ra rất nhiều ý nghĩa thực tiễn đặc biệt là trong mật mã.Thứ nhất, nó là các đại lý cho sự thành lập và hoạt động của một hệ mật khoá công khai minh bạch nổi tiếng vào thời điểm năm 1978, đó là hệ mật mã RSA ( RSA là từ viết tắt của tía người: Rivets – Shamir – Adleman ). Hệ mật này còn có nội dung đề cập đến việc phân tích số nguyên tố thốt nhiên lớn (chẳng hạn có 80 chữ số) ra quá số. Một vấn đề quan trọng đặc biệt là rất cần phải kiểm tra bao nhiêu số nguyên ngẫu nhiên (với kích thước xác định) cho tới khi kiếm được một số nguyên tố. Một công dụng nỗi tiếng trong định hướng số (được call là định lý số nguyên tố) tuyên bố rằng: số những số yếu tắc không lớn hơn N giao động bằng N/ln N. Vì vậy, nếu p được chọn tình cờ thì phần trăm p là một trong những nguyên tố sẽ vào mức 1/ln phường Với một mođun 512 bít, ta bao gồm 1/ln p. ằ 1/77. Điều này có nghĩa là tính trung bình, cứ 177 số nguyên ngẫu nhiên phường với form size tương ứng vẫn có một vài là số nguyên tố. Dĩ nhiên, nếu như chỉ giảm bớt xét các số nguyên lẻ thì phần trăm sẽ tăng gấp rất nhiều lần tới khoảng 2/177). Bỡi vậy bên trên thực tế, hoàn toàn có chức năng tạo được các nguyên tố đủ bự và cho nên vì vậy về mặt thực thể ta có thể tùy chỉnh cấu hình được một hệ mật RSA.Tiếp đến trong số những việc kiến thiết nên những bộ tạo ra dãy giả ngẫu nhiên trong số những nguyên liệu của nó là những đa thức nguyên thuỷ mà lại để tạo được những đa thức nguyên thuỷ bậc m thì điều thứ nhất phải xử lý là phân tích hoàn toàn với 2m-1 ra thừa số nguyên tố. Để soát sổ tính nguyên thuỷ của chúng bằng cách dùng thuật toán tỷ lệ Monte- Carlo thời gian đa thức, đây là thuật toán cấp tốc (tức là một số nguyên n được bình chọn trong thời đa thức theo log2n, là số những bít trong biểu diện nhị phân của n). Tuy nhiên, vẫn có công dụng là thuật toán nhận định rằng n là số nguyên tố trong khi thực tiễn n là hợp số. Do vậy, bằng phương pháp thay đổi thuật toán các lần, rất có thể giảm tỷ lệ sai số bên dưới một mức ngưỡng đến phép.Bản đồ vật án không đi sâu vào những phân tích của những chân thành và ý nghĩa nêu trên nhưng đã đặt nhiệm vụ chính là giải quyết bài toán “phân tích số nguyên ra vượt số nguyên tố như là 1 trong những việc có tác dụng trung gian của một ứng dụng thực tế cụ thể. Đã bao gồm một trọng lượng khổng lồ các tài liệu về các thuật toán so với thừa số và việc phân tích kỹ lưỡng sẽ yên cầu phải bao gồm một cuốn sách dày trang hơn quyển sách này. ở chỗ này chỉ cố gắng đưa ra một cái nhìn khái quát bao hàm việc luận bàn sơ lược về những thuật toán phân tích thừa số cực tốt hiện thời và cách thực hiện chúng vào thực tế. Những thuật toán danh tiếng khác (những thuật toán toán gồm trước) bao gồm thuật toán p+1 của Williams, cách thức r và thuật toán p-1 của Pollard, thuật toán liên phân số và tất nhiên cả mọi phép phân tách thử.Chương iI. Số Mersenne và việc phân tích2.1 Số MersenneNếu một vài có dạng 2m -1 là một số nguyên tố thì m=q là một số nguyên tố. Không khó khăn lắm, tất cả thể chứng tỏ được rằng nếu 2m -1 là luỹ thừa của một số Prime power thì nó cần là một số trong những nguyên tố và do vậy m cũng là một vài nguyên tố. Những số tất cả dạng Mq=2q -1 (với q là yếu tố ) được gọi là những số Mersenne cùng đã được nghiên cứu công phu. Nghỉ ngơi vào thời đại của Mersenne, fan ta đã hiểu được một vài ba số Mersenne là số thiết yếu phương cùng một vài số khác là hợp số. Ví dụ, M2=3, M3=7, M5=31, M7=127 là nguyên tố, trong những lúc M11=23*89. Vào năm 1640 , Mersenne đã nhận định rằng Mq là số nguyên tố so với q=13,17,19,31,67,127,257; ông đã nhầm so với 67 cùng 257 và dường như không đưa 61,89 cùng 107(những số nhỏ dại hơn 257) vào list trên. Phần lớn số này cũng sinh ra những số yếu tố Mersenne. Phát hiện tại của ông đích thực đáng bỡ ngỡ về mặt độ lớn của những số.Một vấn đề khá phân minh là: Xét xem một vài Mersenne bao gồm là số nhân tố không, và còn nếu không thì xác định các quá số của nó ( hay nói một cách khác là bài toán phân tích ra vượt số). Một kết quả cổ xưa do Euler chỉ dẫn năm 1750 và tiếp đến được Lagrange (1775) và Lucas (1875) minh chứng là: bài bác toán: nếu q là một số nguyên tố đồng dư modulo 4(qº3(mod 4)) thì Mq phân chia hết mang đến 2q+1 khi và chỉ khi 2q+1 là nguyên tố; trong trường thích hợp này, trường hợp q>3 thì Mq là hợp số.Chứng minh: mang đến n=2q+1 là 1 trong những thừa số của M. Bởi vì 22#1 (mod n) buộc phải 2q#1 (mod n), với 22q-1=(2q+1)Mqº0 (mod n), từ đó bằng phép test của Lucas suy ra n là một số nguyên tố.Ngược lại, đến p=2q+1 là một trong những nguyên tố. Do pº7(mod 8) đề nghị (2/p)=1, vì vậy tồn tại m sao cho 2ºm2 (mod p). Điều này chứng minh rằng 2qº2(p-1)/2ºmp-1º1(mod p) vày vậy Mq phân chia hết cho p.Hơn nữa, trường hợp q>3 thì Mq=2q-1>29+1=p, vị vậy Mq là vừa lòng số. Vày vậy giả dụ q=11, 23, 83, 131, 179, 191, 239, 251, thì Mq có các ước tương ứng là 23, 47, 167, 263, 350, 383, 479, 503. Cũng khá dễ để xác định hình dạng của những thừa số của các số Mersenne:"Nếu Mq chia hết mang đến n thì nº±1 (mod 8) cùng nº1 (mod q)"Chứng minh: chỉ cần chỉ ra rằng phần đông thừa số nguyên tố p của Mq tất cả dạng trên là đủ.Thật vậy, nếu p. Là mong của Mq=2q-1 thì 2qº1 (mod q); vày vậy theo bài bác toán bé dại của Fermat thì q là cầu của p-1, có nghĩa là p-1=2kq (vì p#2). Vì vậy: (mod p).Do kia pº±1 hack (8).Phương pháp tốt nhất hiện nay dùng để khẳng định Mq là một trong những nguyên tố hay 1 hợp số được phân phát triển phụ thuộc vào việc đo lường một dãy đệ qui vì chưng Lucas (1878) và Lehmer (1930) đưa ra. Tuy nhiên, bằng phương pháp này vẫn không tìm ra được các thừa số gắng thể. Trường hợp n lẻ, n³3 thì Mn=2n-1º7 (mod 12). Đồng thời, giả dụ Nº7 (mod 12) thì cam kết hiệu Jacobi: 2.2. Phép demo nguyên tố cho các số MersenneCho p=2,Q=-2 với xét các dãy Lucas kép (Um)m³0,(Vm)m³0, tất cả biệt gthức D=12. N=Mn là một vài nguyên tố khi và chỉ khi V(N-1)/2 chia hết mang lại N.Chứng minh: mang lại N là một số trong những nguyên tố. Ta có: V2(N+1)/2=VN+1+2Q(N-1)/2=VN-1-4(-2)(N-1)/2 º VN+1-4(-2/N) ºVN+1+4(mod N)Vì (-2/N)=(-1/N)(2/N)=-1. Bởi vì vậy chỉ việc chỉ ra rằng Nº7 (mod N). Theo (IV.4): 2VN-1=VNV1+DUNU1=2VN+12UN; do thế theo (IV.14) với (IV.13): VN+1=VN+6VNº2+6(12/N) º2-6º-4(mod N). Ngược lại, đưa sử rằng V(N+1)/2 phân tách hết mang đến N. Rứa thì theo (IV.2), VN+1 phân tách hết mang lại N. Đồng thời, theo(IV.6): V2(N+1).2)=1 (gcd_ước chung bự nhất). Vì vậy gcd(N,2)=1, nên thu phép demo một (Phần V), N là một số nguyên tố.Để cho tính toán, fan ta vắt dẫy Lucas (Vm)m>=0 bằng dẫy (Sk)k>=1 được quan niệm như sau:S0=4; Sk+1=S2k-2;Vì cầm dẫy này sẽ mở đầu bằng 4,14,194,... Và phép thử nhân tố được tuyên bố lại như sau:Mn=2n-1 là thành phần khi và chỉ còn khi Mn là mong của Sn-2.Chứng minh: S0=4=V2/2. Giả sử rằng Sk-1=V2k/;thì Sk=S2k-1-2=. Theo phép test này thì Mn là nhân tố khi và chỉ khi Mn là ước của V(Mn+1).2=, hay tương đương Mn là ước của Sn-2. Tính lặp của các phép tính này đang làm có thể chấp nhận được thử trở yêu cầu phù hợp. Bằng cách này, toàn bộ các lấy ví dụ như về các số nhân tố Mersenne bự đã được search ra. Năm 1876 , Lucas đang tự mình đưa ra M127 là nguyên tố với M67 là hợp số. Sau đó không lâu, Pervushin đã cho rằng M61 cũng là nguyên tố. Cuối cùng, vào thời điểm năm 1927 Lehmer minh chứng được M257 cũng là hợp số. Chăm chú rằng M127 gồm 39 chữ số với là số nguyên tố bự nhất theo luồng thông tin có sẵn tới trước kỷ nguyên của sản phẩm tính.Các số yếu tắc Mersenne cùng với q0 trở lại (2).Ngược lại p. Là ước của N. Giới hạn chương trình...Đây là thuật toán có tính ít nhiều và tuy nhiên như chúng ta đã biết là thuật toán siêu “tồi” vì thời hạn tính của nó là O() dẫu vậy nếu N gồm ước bé dại thì việc áp dụng thuật toán đó lại rất hiệu quả. Chưa dừng lại ở đó nữa, thuật toán này cũng có thể lấy điểm lên đường của cách (1) là p=<> và thực hiện bước (2) là p=p-1 thì rõ ràng nó cũng kết quả nếu mong của N hết sức “gần” với.3.2 Thuật toán sàng đồng dư Thuật toán 3.2:Lấy bỗng nhiên hai số a với b hốt nhiên ẻZ*N.Kiểm tra gcd((a-b) thủ thuật N, N) hoặc gcd((a+b) thủ thuật N, N)>1 là phần trăm như sau:Nếu đúng thì gcd((a-b) gian lận N, N) hoặc gcd((a+b) thủ thuật N, N)>1 là mong của N. Giới hạn chương trình.Ngược lại quay về (1). Bây giờ chúng ta hãy tạm dừng để so sánh thuật toán dưới góc độ xác suất như sau: Cho p. Là mong nguyên tố bé dại nhất của N, nuốm thì “cần tất cả tối thiểu bao nhiêu cặp a, b được xét đến xác suất có ít nhất một cặp a, b phân tách hết cho p > 0.5”.Bài toán trên nói một cách khác là bài toán “ trùng ngày sinh ” với số m buổi tối thiểu cần tìm trong bài toán sẽ là mằCp cùng với C là một trong những hằng số tính được nào kia ( việc giải cụ thể bài toán trên có thể xem vào ). Như vậy chúng ta cũng có thể thành công trong thuật toán với tỷ lệ >0.5 sau không quá m bước.Hiển nhiên bằng cách duyệt dần thì thời gian tính của thuật toán của chúng ta cũng chẳng không giống gì thời gian tính của phép sàng. Trong , tác giả J. M. Pollard đã áp dụng một cách thức còn được hotline là “phương pháp p” nhằm chỉ việc thông qua bước rất có thể duyệt được m cặp khác biệt như sẽ nêu trong thuật toán. Việc thể hiện cách thức này hoàn toàn có thể mô tả như sau:Chọn hàng giả đột nhiên xi thủ thuật N:i=1,2,... được xác minh như sau xi-1º(xi2+a) gian lận N với a#0 với #-2 còn cực hiếm đầu x0 tuỳ ý.3.3 Thuật toán sàng bậc haiTử tưởng chủ yếu của một loạt khá lớn các thuật toán đối chiếu số như cách thức đặc biệt của Euler, cách thức phân tích những dạng bao gồm phương của Danien Shanks, phương pháp khai triển liên phân số của Morrison cùng Brillhart, phương thức sàng bậc nhị của Pomerance... Là thay tìm đồng dư thức x2=y2 gian lận N làm sao để cho x#±y hack N, còn chuyên môn tìm rõ ràng như vắt nào thì chính là nội dung riêng rẽ của từng thuật toán.Đối cùng với thuật toán sàng bậc nhị của Pomerance được thực hiện như sau:- chọn k số nguyên tố đầu tiên và hotline là các đại lý phân tích.- lựa chọn B là một số trong những nào đó hotline là ngưỡng tìm những thặng dư bậc hai nhỏ.- search k+1 những thặng dư bậc hai bé dại hơn B với phân tích được hoàn toàn trong tập cửa hàng trong lớp những số dạng Q(x)º((m+x)2-N gian lận N với k là số bộ phận của cơ sở, m= còn x=0, ±1, ±2,...- xây cất đồng dư thức x2ºy2 thủ thuật N từ k+1 thặng dư bậc hai tìm kiếm được trên.Cơ sở của thuật toán hầu hết dựa vào đầu tiên là khả năng tìm được k+1 thặng dư bậc nhì và tiếp đến là việc xây dựng đồng dư thức x2ºy2 gian lận N như thế nào.Trước hết chúng ta cùng để mắt tới đến vụ việc thứ hai.Giả sử thặng dư bậc hai sản phẩm i tìm kiếm được ở trên là ri=xi2=qa11.qa12...qakk( qj là số nguyên tố trang bị j của B), ta đặt tương xứng với véc tơ viẻGF(2)2 như sau vi=(a1mod 2, a2 thủ thuật 2,..., ak mod 2). Chý ý rằng gồm thể có khá nhiều giá trị ri khác biệt được ứng cùng với một véc tơ v tuy thế một cách vẻ ngoài ta hoàn toàn có thể coi k+1 véc tơ không giống nhau thu từ những việc ứng k+1 cực hiếm r đã có được ở trên. Minh bạch trong không khí k chiều GF(2)k thì tập k+1 véc tơ vi (i=1,2,...k+1) chắn chắn nhờ vào tuyến tính, trả sử ta có tổng hợp tuyến tính đặc trưng cho sự dựa vào đó là:, cùng với q là véc tơ không với ai không đồng thời bởi không.Khi kia theo khái niệm sẽ là x2 mod N, mặt khác vị điều kiện đặt ra ở bên trên là Q(xi) đối chiếu được trọn vẹn trong tập cơ sở cùng với điều kiện tức là vế yêu cầu của tích đựng toàn các số nón chẵn đối với các vượt số trong cơ sở vì thế nó cũng là 1 trong thặng dư bậc nhì y2 như thế nào đó. Nếu xạ±y gian lận N thì họ sẽ thành công trong bài toán phân tích N với những thừa số tương ứng là gcd(x±y, N). Fan ta cũng chỉ ra rằng rằng năng lực thành công xẩy ra với xác suất là vì chưng vậy thời hạn tính của thuật toán công ty yếu phụ thuộc tuyến tính (thông thường bởi phép khử Gauss).Với việc tìm các thặng dư bậc hai nhỏ thoạt nhọửn chúng ta nhận thấy rằng vì chưng Q(x+rpa)º<(m+x+rpa )2-N mod Nº<(m+x)2-N>+rpa<2(m+x)+rpa>mod NºQ(x)+rpa<2(m+x)+rpa> mod N nên:Nếu page authority là ước của Q(x) thì nó cũng là mong của Q(x+rpa) với tất cả số nguyên r.Từ hiệu quả trên bọn họ thấy rằng nếu như tồn tại quý hiếm x theo yêu ước Q(x) phân tích hoàn toàn trong đại lý và không thật B thì ta hoàn toàn có thể tìm được nó chỉ việc trong kề bên B của 0.Ngoài ra một số công dụng (xem ) không giống cũng không kém phần đặc trưng đó là:Điều kiện phải và đủ nhằm $x làm sao cho p là cầu của Q(x) là kí hiệu Legendge (N/p)=1.Như vậy ko phải cục bộ các số nhân tố trong đều cần được được biểu diễn (đúng hơn là chỉ có tầm khoảng một nửa số thành phần trong cơ sở là xuất hiện trong biểu diễn của những Q(x)) cho nên để chiếm được hệ phụ thuộc vào tuyến tính nêu trong đối chiếu trên thì thường chỉ việc số phương trình khoảng chừng già nửa số các nguyên tố trong cửa hàng là đủ.Nếu pº3 thủ thuật 4 thì cực hiếm xºm±N(p+1)/4 mod p. Là những giá trị tư liệu liên quan