đồ án tốt nghiệp hệ mật khóa công khai rsa (rivets - shamir - adleman)

73 475 0
đồ án tốt nghiệp hệ mật khóa công khai rsa (rivets - shamir - adleman)

Đ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

Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 Lời nói đầu Bài toán phân tích số nguyên ra thừa số nguyên tố đã đợc ra đời từ rất lâu và đã có rất nhiều nhà toán học trên thế giới nghiên cứu và giải quyết vấn đề về nó. Ngoài ý nghĩa lý thuyết của bản thân bài toán thì ngời ta còn phát hiện 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ơ sở cho sự ra đời của một hệ mật khoá công khai nổi tiếng ra đời trong năm 1978, đó là hệ mật RSA của Revert - Shamir - Adlemal. Hệ mật này mà độ mật của nó dựa vào tính khó của việc phân tích số N=pq (p, q nguyên tố ) ra thừa số. Tiếp đến trong những việc thiết kế nên các bộ tạo dãy giả ngẫu nhiên một trong những nguyên liệu của nó là các đa thức nguyên thuỷ mà để tạo đợc các đa thức nguyên thuỷ bậc m thì điều đầu tiên phải giải quyết là phân tích hoàn toàn với 2 m -1 ra thừa số nguyên tố. Để giải quyết vấn đề đợc đặt ra trong đồ án này, chúng tôi đa ra một số cơ sở lý thuyết. Chơng 1 sẽ trình bầy về các số Mersenne. Các số có dạng M q =2 q -1 (với q là nguyên tố ) đợc gọi là các số Mersenne và đã đợc nghiên cứu công phu. Chơng 2 xem xét loại bài toán quen thuộc hơn đó là bài toán phân tích số nguyên ra thừa số. Sự đóng góp có tính khoa học của chúng tôi thề hiện bởi việc trình bày các thuật toán về phân tích 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, trong đó trình bày các t tởng của thuật toán phân tích ra thừa số nguyên tố của những số nguyên lớn. Tiếp theo trong chơng này trình bày các cài đặt cụ thể cho những thuật toán liên quan đến việc phân tích ra thừa số nguyên tố, ví dụ nh các phép : +, -, *, / và luỹ thừa các số lớn. Chúng tôi còn đặc biệt lu ý tới việc cài đặt thuật toán Pollard thứ nhất một thuật toán rất hiêụ quả trong việc phân tích những hợp số lớn. Một vấn đề không thể không nói trớc là những vấn đề đợc hiểu thấu đáo sẽ đợc chúng tôi trình bày chi tiết ở mức độ thuật toán khả thi trong việc lập trình, còn một số kết quả cần đến những chuẩn bị toán học cao siêu thì chỉ đợc dẫn các đánh giá tơng ứng về thời gian tính đủ rút ra các thông số cần thiết để xây dựng Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 các tiêu trí. Chúng tôi nghĩ rằng chỉ có thể trình bày bản báo cáo này theo cách nh vậy mới đảm bảo tính cân đối trong cấu trúc bởi vì để làm cho tờng minh dù chỉ một trong những vấn đề đã né tránh trên chúng ta cũng phải cần đến hàng tập tài liệu dầy, đấy là cha kể đến việc chúng ta có đủ kiến thức cần thiết đến mức để có thể trình bày nó cho mọi ngời rõ hay không. Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 Chơng i. Đặt vấn đề và ý nghĩa của bàI toán Bài toán phân tích số nguyên ra thừa số nguyên tố đã đợc ra đời từ rất lâu và đã cuốn hút nhiều bộ óc vĩ đại nhất trên thế giới để giải quyết vấn đề về nó. Ngoài ý nghĩa lý thuyết của bản thân bài toán thì ngời ta còn phát hiện 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ơ sở cho sự ra đời của một hệ mật khoá công khai nổi tiếng vào năm 1978, đó là hệ mật mã RSA ( RSA là từ viết tắt của ba ngời: Rivets Shamir Adleman ). Hệ mật này có nội dung đề cập đến việc phân tích số nguyên tố ngẫu nhiên lớn (chẳng hạn có 80 chữ số) ra thừa số. Một vấn đề quan trọng là 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 tìm đợc một số nguyên tố. Một kết quả nỗi tiếng trong lý thuyết số (đợc gọi là định lý số nguyên tố) phát biểu rằng: số các số nguyên tố không lớn hơn N xấp xỉ bằng N/ln N. Bởi vậy, nếu p đợc chọn ngẫu nhiên thì xác suất p là một số nguyên tố sẽ vào khoảng 1/ln p. Với một mođun 512 bít, ta có 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 p với kích thớc tơng ứng sẽ có một số là số nguyên tố. Dĩ nhiên, nếu chỉ hạn chế xét các số nguyên lẻ thì xác suất sẽ tăng gấp đôi tới khoảng 2/177). Bỡi vậy trên thực tế, hoàn toàn có khả năng tạo đợc các nguyên tố đủ lớn và do đó về mặt thực thể ta có thể thiết lập đợc một hệ mật RSA. Tiếp đến trong những việc thiết kế nên các bộ tạo dãy giả ngẫu nhiên một trong những nguyên liệu của nó là các đa thức nguyên thuỷ mà để tạo đợc các đa thức nguyên thuỷ bậc m thì điều đầu tiên phải giải quyết là phân tích hoàn toàn với 2 m -1 ra thừa số nguyên tố. Để kiểm tra tính nguyên thuỷ của chúng bằng cách dùng thuật toán xác suất Monte- Carlo thời gian đa thức, đây là thuật toán nhanh (tức là một số nguyên n đợc kiểm tra trong thời đa thức theo log 2 n, là số các bít trong biểu diện nhị phân của n). Tuy nhiên, vẫn có khả năng là thuật toán cho rằng n là số nguyên tố trong khi thực tế n là hợp số. Bởi vậy, bằng cách thay đổi thuật toán nhiều lần, có thể giảm xác suất sai số dới một mức ngỡng cho phép. Bản đồ án không đi sâu vào các phân tích của những ý nghĩa nêu trên mà đã đặt nhiệm vụ chính là giải quyết bài toán phân tích số nguyên ra thừa số nguyên tố nh là một việc làm trung gian của một ứng dụng thực tiễn cụ thể. Đã có một khối lợng khổng lồ các tài liệu về các thuật toán phân tích thừa số và việc nghiên cứu kỹ lỡng sẽ đòi hỏi phải có một cuốn sách dày trang hơn quyển sách này. ở đây chỉ cố gắng đa ra một cái nhìn khái quát bao gồm việc thảo luận sơ l- Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 ợc về các thuật toán phân tích thừa số tốt nhất hiện thời và cách sử dụng chúng trong thực tế. Các thuật toán nổi tiếng khác (những thuật toán toán có trớc) bao gồm thuật toán p+1 của Williams, phơng pháp và thuật toán p-1 của Pollard, thuật toán liên phân số và dĩ nhiên cả những phép chia thử. Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 Chơng iI. Số Mersenne và việc phân tích 2.1 Số Mersenne Nếu một số có dạng 2 m -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, có thể chứng minh đợc rằng nếu 2 m -1 là luỹ thừa của một số Prime Power thì nó phải là một số nguyên tố và do vậy m cũng là một số nguyên tố. Các số có dạng M q =2 q -1 (với q là nguyên tố ) đợc gọi là các số Mersenne và đã đợc nghiên cứu công phu. ở vào thời đại của Mersenne, ngời ta đã biết rằng một vài số Mersenne là số chính phơng và một vài số khác là hợp số. Ví dụ, M 2 =3, M 3 =7, M 5 =31, M 7 =127 là nguyên tố, trong khi M 11 =23*89. Vào năm 1640 , Mersenne đã cho rằng M q là số nguyên tố đối với q=13,17,19,31,67,127,257; ông đã nhầm đối với 67 và 257 và đã không đa 61,89 và 107(những số nhỏ hơn 257) vào danh sách trên. Những số này cũng sinh ra các số nguyên tố Mersenne. Phát hiện của ông thực sự đáng kinh ngạc về mặt độ lớn của các số. Một bài toán khá hiển nhiên là: Xét xem một số Mersenne có là số nguyên tố không, và nếu không thì xác định các thừa số của nó ( hay còn gọi là bài toán phân tích ra thừa số). Một kết quả cổ điển do Euler đa ra năm 1750 và sau đó đ- ợc Lagrange (1775) và Lucas (1875) chứng minh là: Bài toán: Nếu q là một số nguyên tố đồng d modulo 4(q3(mod 4)) thì M q chia hết cho 2q+1 khi và chỉ khi 2q+1 là nguyên tố; trong trờng hợp này, nếu q>3 thì M q là hợp số. Chứng minh: Cho n=2q+1 là một thừa số của M. Vì 2 2 #1 (mod n) nên 2 q #1 (mod n), và 2 2q -1=(2 q +1)M q 0 (mod n), từ đó bằng phép thử của Lucas suy ra n là một số nguyên tố. Ngợc lại, cho p=2q+1 là một số nguyên tố. Vì p7(mod 8) nên (2/p)=1, do vậy tồn tại m sao cho 2m 2 (mod p). Điều này chứng tỏ rằng 2 q 2 (p-1)/2 m p- 1 1(mod p) Vì vậy M q chia hết cho p. Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 Hơn nữa, nếu q>3 thì M q =2 q -1>29+1=p, vì vậy M q là hợp số. Vì vậy nếu q=11, 23, 83, 131, 179, 191, 239, 251, thì M q có các ớc tơng ứng là 23, 47, 167, 263, 350, 383, 479, 503. Cũng rất dễ để xác định hình dạng của các thừa số của các số Mersenne: "Nếu M q chia hết cho n thì n 1 (mod 8) và n 1 (mod q)" Chứng minh: Chỉ cần chỉ ra rằng mọi thừa số nguyên tố p của M q có dạng trên là đủ. Thật vậy, nếu p là ớc của Mq=2 q -1 thì 2 q 1 (mod q); Vì vậy theo bài toán nhỏ của Fermat thì q là ớc của p-1, tức là p-1=2kq (vì p#2). Vì vậy: 122) 2 ( 2/)1( qkp p (mod p). Do đó p1 mod (8). Phơng pháp tốt nhất hiện nay dùng để xác định Mq là một số nguyên tố hay là một hợp số đợc phát triển dựa vào việc tính toán một dãy đệ qui do Lucas (1878) và Lehmer (1930) đa ra. Tuy nhiên, bằng cách này vẫn không tìm ra đợc các thừa số cụ thể. Nếu n lẻ, n3 thì M n =2 n -17 (mod 12). Đồng thời, nếu N7 (mod 12) thì ký hiệu Jacobi: 1)1)( 3 () 3 ( 2/)1( == N N N 2.2. Phép thử nguyên tố cho các số Mersenne Cho p=2,Q=-2 và xét các dãy Lucas kép (U m ) m 0 ,(V m ) m 0 , có biệt gthức D=12. N=M n là một số nguyên tố khi và chỉ khi V(N-1)/2 chia hết cho N. Chứng minh: Cho N là một số nguyên tố. Ta có: V 2 (N+1)/2 =V N+1 +2Q (N-1)/2 =V N-1 -4(-2) (N-1)/2 V N+1 -4(-2/N) V N+1 +4(mod N) Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 Vì (-2/N)=(-1/N)(2/N)=-1. Vì vậy chỉ cần chỉ ra rằng N7 (mod N). Theo (IV.4): 2V N-1 =V N V 1 +DU N U 1 =2V N +12U N ; do vậy theo (IV.14) và (IV.13): V N+1 =V N +6V N 2+6(12/N) 2-6-4(mod N). Ngợc lại, giả sử rằng V (N+1)/2 chia hết cho N. Thế thì theo (IV.2), V N+1 chia hết cho N. Đồng thời, theo(IV.6): V 2 (N+1).2 )=1 (gcd_ớc chung lớn nhất). Vì vậy gcd(N,2)=1, nên thu phép thử một (Phần V), N là một số nguyên tố. Để cho tính toán, ngời ta thay dẫy Lucas (V m ) m>=0 bằng dẫy (S k ) k>=1 đợc định nghĩa nh sau: S 0 =4; S k+1 =S 2 k -2; Vì thế dẫy này sẽ khởi đầu bằng 4,14,194, và phép thử nguyên tố đợc phát biểu lại nh sau: M n =2 n -1 là nguyên tố khi và chỉ khi M n là ớc của S n-2 . Chứng minh: S 0 =4=V 2 /2. Giả sử rằng S k-1 =V 2k / 1 2 2 k ; thì S k =S 2 k-1 -2= k k k k k k V V kV 2 2 2 22 2 2 2 2 2 2 2 2 1121 +++ == + . Theo phép thử này thì M n là nguyên tố khi và chỉ khi M n là ớc của V (Mn+1).2 = 2 2 2 2 2 1 = n SV n n , hay tơng đơng M n là ớc của S n-2 . Tính lặp của các phép tính này đã làm cho phép thử trở nên phù hợp. Bằng cách này, tất cả các ví dụ về các số nguyên tố Mersenne lớn đã đợc tìm ra. Năm 1876 , Lucas đã tự mình tìm ra M 127 là nguyên tố và M 67 là hợp số. Sau đó không lâu, Pervushin đã chỉ ra rằng M 61 cũng là nguyên tố. Cuối cùng, vào năm 1927 Lehmer chứng minh đợc M 257 cũng là hợp số. Chú ý rằng M 127 có 39 chữ số và là số nguyên tố lớn nhất đợc biết tới trớc kỷ nguyên của máy tính. Các số nguyên tố Mersenne với q<= 127 đợc tìm ra trớc khi có máy tính điện tử. Năm 1951, Turing đã lần đầu tiên thử dùng một máy tính để tìm các số nguyên tố Mersenne nhng bị thất bại. Năm 1952, Robinson đã tiến hành phép thử của Lucas trên một máy SWAC. Ông đã tìm ra các số nguyên tố Mersenne : M 521 , M 607 _những số đầu tiên tìm đợc bằng máy tính. Các số nguyên tố M 1279 ,M 2203 ,M 2281 cũng đợc tìm ra trong cùng năm ấy. Số nguyên tố Mersenne lớn nhất đã tìm đợc là M 21609 , nó có 65050 chữ số do Slowinski phát hiện năm 1985. Số nguyên tố Mersenne đợc tìm ra cuối cùng là M 110503 do Colquitt và Welsch Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 phát hiện năm 1988. Năm 1989, Bateman, Selfridge và Wagstaff đã đa ra một phỏng đoán liên quan đến các số nguyên tố Mersenne: Cho p là một số tự nhiên lẻ (không nhất thiết phải là nguyên tố). Nếu hai trong các điều kiện sau đây thoả mãn thì điều kiện thứ 3 cũng thoả mãn: a) p2 k 1 hoặc p=4 k 3 b) Mp là một số nguyên tố c) 3 12 +p là một số nguyên tố Phỏng đoán này đã đợc kiểm chứng là đúng đối với mọi p<100.000. Những số nguyên tố p<100.000 thoả mãn cả ba điều kiện là p=3, 5, 7, 13, 17, 19, 31, 61, 127. Có thể tin rằng những số này là các số nguyên tố duy nhất thoả mãn cả ba điều kiện nói trên. Cũng nh đối với các số Fermat, hiện còn có rất nhiều vấn đề mở về các số Mersenne: (1) Liệu có vô hạn các số nguyên tố Mersenne không? (2) Liệu có vô hạn các số Mersenne là hợp số không? Câu trả lời cho cả hai câu hỏi trên chắc là có (3) Có phải mọi số Mersenne đều là không chính phơng không? Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 Kỷ lục: Có 31 số nguyên tố Mersenne đã đợc biết. Dới đây là danh sách đầy đủ của chúng cùng với tên ngời và năm tìm ra. q Năm Ngời phát hiện 2 3 5 7 13 17 19 31 61 89 107 127 521 607 1279 2203 2281 3217 4253 4423 9689 9941 11213 19937 21701 23209 44497 86243 110503 132049 216091 1461 1588 1588 1750 1883 1911 1913 1876 1952 1952 1952 1952 1952 1957 1961 1961 1963 1963 1963 1971 1978 1979 1979 1982 1988 1983 1985 Anonymous * P.A.Cataldi P.A.Cataldi L.Euler I.M.Pervushin R.E.Powers E.Fauquembergue E.Lucas R.M.Robinson R.M.Robinson R.M.Robinson R.M.Robinson R.M.Robinson H.Riesel A.Hurwitz A.Hurwitz D.B.Gillies D.B.Gillies D.B.Gillies B.Tuckerman L.C.Noll & L.Nickel L.C. Noll H.Nelson & D. Slowinski D.Slowinski W.N.Colquitt & L. Welsch, Jr. D.Slowonski D.Slowonski See Dicksons History of the Theory of Numbers, Vol. I.p.6. Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 Chơng iII. Một số thuật toán và phơng pháp phân tích số 3.1 Thuật toán sàng Eratosthenes Thuật toán phân tích số nguyên N đợc mô tả nh sau: Thuật toán 3.1( sàng Eratosthenes ) (1) p=1. (2) p=p+1. (3) Tính r=N mod p. Nếu r>0 quay về (2). Ngợc lại p là ớc của N. Dừng chơng trình Đây là thuật toán có tính phổ thông và mặc dù nh chúng ta đã biết là thuật toán rất tồi vì thời gian tính của nó là O( N ) nhng nếu N có ớc nhỏ thì việc áp dụng thuật toán này lại rất hiệu quả. Hơn thế nữa, thuật toán này cũng có thể lấy điểm xuất phát của bớc (1) là p=[ N ] và tiến hành bớc (2) là p=p-1 thì rõ ràng nó cũng hiệu quả nếu ớc của N rất gần với. 3.2 Thuật toán sàng đồng d Thuật toán 3.2: Lấy ngẫu nhiên hai số a và b ngẫu nhiên Z * N . Kiểm tra gcd((a-b) mod N, N) hoặc gcd((a+b) mod N, N)>1 là xác suất nh sau: Nếu đúng thì gcd((a-b) mod N, N) hoặc gcd((a+b) mod N, N)>1 là ớc của N. Dừng chơng trình. Ngợc lại quay về (1). Bây giờ chúng ta hãy tạm dừng để phân tích thuật toán dới góc độ xác suất nh sau: Cho p là ớc nguyên tố nhỏ nhất của N, thế thì cần 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 chia hết cho p} > 0.5. [...]... sau O( p ) chu trình trong p của Pollard Lý luận này nh sau: yi=x2i-xi=x22i-1+a(x2i-1+a)=x22i-1-x2i-1 =( x2i-1+ xi-1)=( x2i-1+ xi-1)( x2i-2+ x2i-2)( x2i- 2- xi-2) =( x2i-1+ xi-1)( x2i-1+ xi-2) ( xi+ x0)( xi- x0) Vì vậy, thừa số yi tham gia trong tích Qi dùng để tính (Qi, N) chứa ít nhất i+1 thừa số đại số Một thừa số điển hình x k-xi chứa bao nhiêu thừa số nguyên tố khác nhau p? Ngời ta cho rằng... đồng d modulo p ( ab mod p) nhng không đồng d modulo N Khi này p sẽ là ớc của gcd(N,(ab ) mod N) Thuật toán 2.3 (Thuật toán Pollard thứ hai) (1) i=0 (2) i=i+1 (3) Xét gcd((x2i- xi)mod N,N)>1 - Nếu đúng ta có gcd((x2i- xi)mod N,N).Dừng chơng trình - Ngợc lại quay về (2) Bây giờ chúng ta phân tích thời gian tính của thuật toán Một điều dễ dàng nhận ra là: x2i-xi (X22i-1+a )-( Xi-12+a)X22i-1-X2i-1(x2i-1-xi-1)(x2i-1+xi-1)... (X22i-1+a )-( Xi-12+a)X22i-1-X2i-1(x2i-1-xi-1)(x2i-1+xi-1) (x2i-1+xi-1)(x2i-2+xi-2) (xi+x0)(xi+x0) Nh vậy tại bớc thứ i chúng ta đã xét đến i+1 cặp khác nhau và cũng dễ dàng nhận ra rằng các cặp đợc xét trong mọi bớc là không giống nhau do đó hiển nhiên với p bớc chúng ta đã có p cặp khác nhau đợc xét đến và nh đã phân tích ở trên, thuật toán sẽ thành công với xác xuất >0.5.Nói một cách khác thuật toán của Pollard đợc... nhiên khi B càng lớn thì ta càng phải gom nhiều đồng d thức hơn trớc khi có thể tìm đợc một quan hệ phụ thuộc 3.5 Phơng pháp p-1: Thuật toán Pollard thứ nhất Thuật toán kiểu p-1 là thuật toán phân tích số nguyên N dựa vào phân tích của p-1 với p là một ớc nguyên tố của N Thuật toán còn đợc gọi là thuật toán phân tích thứ nhất của Pollard, đây là một thuật toán có tác dụng nếu ta biết đợc các ớc nguyên... này là x i-1,xi-2, ,xi-s, và xj-1, xj-2, ,xk-s, nên rõ ràng là, nếu các dãy của các giá trị này trùng khớp nhau đối với hai giá trị khác nhau của k, thì các giá trị xi và xj, đợc tính từ các giá trị đằng trớc theo cùng một cách sẽ giống nhau Vì vậy, chúng ta có hai dẫy mới gồm s giá trị: Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 xi, xi-1, ,xi-s+1 và xj, xj-1, , xj-s+1 với... việc tìm đợc số a sẽ liên quan đến mật độ này nh sau: Mật độ nói trên sẽ nghịch biến với gcd(p-1,q-1) Nh vậy nếu gcd(p-1,q-1) nhỏ thì việc tìm ra a sẽ thuận lợi, ngợc lại trong trờng hợp khó khăn hơn (gcd(p-1,q-1) lớn) thì trong phần 2.3 sau này chúng tôi sẽ chỉ ra một phơng pháp phân tích hiệu quả hơn Các bớc của thuật toán Pollard (dùng để phân tích N có ớc p với p-1 chỉ gồm các ớc nguyên tố trong... F(xi-1,xi-2, ,xi-s) (mod m) với các giá trị đã cho đối với x1, x2, ,xs Sau đó xs+1, xs+2, có thể đợc tính lần lợt theo công thức đã cho Tuy nhiên, vì tất cả các x k, đợc cho theo modulo m, nên mỗi xk chỉ có thể nhận một trong m giá trị khác nhau (0,1, ,m-1) và vì vậy chỉ có nhiều nhất là ms dãy phân biệt xi-1,xi-2, ,xi-s của s số xk liên tiếp Nh vậy sau cùng lắm là ms+1 bớc đệ qui, hai dãy giống hệt... chế số bớc tìm Q Q0 thì không tìm đợc ớc của N Khi này ta nói N không phân tích đợc bằng thuật toán Pollard với ngỡng Q0 4.2 Phân tích hệ thống Căn cứ vào sơ đồ xuất phát cần phải có các quy tắc để biểu diễn các số lớn trên máy tính, các cách thực hiện các phép toán số học +, -, *, / , và luỹ thừa... hiện tợng một số ớc này bị rút ra giữa hai lần tính toán liên tiếp sử dụng thuật toán Euclid giống hệt nh trong phơng pháp (p-1) Đúng ra trong trờng hợp đó chúng ta phải lu lại tất cả các giá trị của Q 100k, x100k và x200k và chạy lại tính toán từ điển này trở đi với việc sử dụng thuật toán Euclid thờng xuyên hơn Nếu thuật toán hỏng thì toàn bộ thuât toán phải chạy lại từ đầu với môt giá trị khác nhau... số nguyên tố p mà p-1 chỉ gồm những ớc nguyên tố nhỏ thì thuật toán đợc trình bày trong phần này sẽ có hiệu quả ý tởng của thuật toán là tìm một cách ngẫu nhiên số aZ*n có bậc không là ớc của p-1 Số a nếu tìm đợc hiển nhiên phải thoả mãn bap-1 mod N#1, điều này có ý nghĩa N không là ớc của b-1 Mặt khác do p nguyên tố nên theo định lý Fermat ta có b mod p(ap-1 mod N) mod p=1 nh vậy b-1 0 mod p và do đó . điều dễ dàng nhận ra là: x 2i -x i (X 2 2i-1 +a )-( X i-1 2 +a)X 2 2i-1 -X 2 i-1 (x 2i-1 -x i-1 )(x 2i-1 +x i-1 ) (x 2i-1 +x i-1 )(x 2i-2 +x i-2 ) (x i +x 0 )(x i +x 0 ) Nh vậy tại bớc thứ. V 2 (N+1)/2 =V N+1 +2Q (N-1)/2 =V N-1 -4 (-2 ) (N-1)/2 V N+1 -4 (-2 /N) V N+1 +4(mod N) Website: http://www.docs.vn Email : lienhe@docs.vn Tel (: 0918.775.368 Vì (-2 /N)= (-1 /N)(2/N) =-1 . Vì vậy chỉ cần. một hệ mật khoá công khai nổi tiếng ra đời trong năm 1978, đó là hệ mật RSA của Revert - Shamir - Adlemal. Hệ mật này mà độ mật của nó dựa vào tính khó của việc phân tích số N=pq (p, q nguyên

Ngày đăng: 23/08/2014, 13:32

Từ khóa liên quan

Mục lục

  • Lời nói đầu

  • Chương i. Đặt vấn đề và ý nghĩa của bàI toán

  • Chương iI. Số Mersenne và việc phân tích

    • 2.1 Số Mersenne

    • 2.2. Phép thử nguyên tố cho các số Mersenne

    • Chương iII. Một số thuật toán và phương pháp phân tích số

      • 3.1 Thuật toán sàng Eratosthenes

      • 3.3 Thuật toán sàng bậc hai

      • 3.5 Phương pháp p-1: Thuật toán Pollard thứ nhất

      • 3.6 Phương pháp : Thuật toán Pollard thứ hai

      • Nhận xét

      • 3.7 Phương pháp p1: Thuật toán Williams.

      • 3.8 Phương pháp của Pollard

      • 3.9. Mô tả đại số của phương pháp của Pollard

      • 3.10. Một chương trình cho phương pháp của Pollard:

      • Chương VI. Xây dựng phần mềm phân tích

      • các số dạng 2n-1

        • 4.1.Sơ đồ xuất phát

        • 4.2 Phân tích hệ thống

        • 4.3 Cài đặt chương trình

        • 4.4 Sơ đồ khối của các Modulo thuộc chương trình

        • Phụ lục 1: Kết qủa phân tích các số 2n-1, (n<200)

        • Phụ lục 2. Chương trình nguồn

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

Tài liệu liên quan