Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 58 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
58
Dung lượng
384,34 KB
Nội dung
Chơng 4 Hệ mật RSA và vấn đề phân tích thừa số 4.1. Giới thiệu về hệ mật khoá công khai Trong mô hình mật m cổ điển trớc đây mà hiện nay đang đợc nghiên cứu Alice (ngời gửi) và Bob (ngời nhận) chọn một cách bí mật khoá K. Sau đó dùng K để tạo luật m hoá e k và luật giải m d k . Trong hệ mật này d k hoặc giống nh e k hoặc dễ dàng nhận đợc từ nó (ví dụ trong hệ DES quá trình giải m hoàn toàn tơng tự nh quá trình m nhng thủ tục khoá ngợc lại). Các hệ mật thuộc loại này đợc gọi là hệ mật khoá bí mật, nếu để lộ e k thì làm cho hệ thống mất an toàn. Nhợc điểm của hệ mật này là nó yêu cầu phải có thông tin trớc về khoá K giữa Alice và Bob qua một kênh an toàn trớc khi gửi một bản m bất kỳ. Trên thực tế điều này rất khó đảm bảo. Chẳng hạn khi Alice và Bob ở cách xa nhau và họ chỉ có thể liên lạc với nhau bằng th tín điện tử (Email). Trong tình huống đó Alice và Bob không thể tạo một kênh bảo mật với giá phải chăng. ý tởng xây dựng một hệ mật khoá công khai (hay khoá dùng chung) là tìm một hệ mật không có khả năng tính toán để xác định d k khi biết e k . Nếu thực hiện đợc nh vậy thì quy tắc m e k có thể đợc công khai bằng cách công bố nó trong một danh bạ (bởi vậy nên có thuật ngữ hệ mật khoá công khai). Ưu điểm của hệ mật khoá công khai là ở chỗ Alice (hoặc bất kì một ai) có thể gửi một bản tin đ m cho Bob (mà không cần thông tin trớc về khoá mật) bằng cách dùng luật m công khai e k . Ngời nhận A sẽ là ngời duy nhất có thể giải đợc bản m này bằng cách sử dụng luật giải m bí mật d k của mình. Có thể hình dung hệ mật này tơng tự nh sau. Alice đặt một vật vào một hộp kim loại và rồi khoá nó lại bằng một khoá số do Bob để lại. Chỉ có Bob là ngời duy nhất có thể mở đợc hộp vì chỉ có anh ta mới biết tổ hợp m của khoá số của mình. ý tởng về một hệ mật khoá công khai đ đựoc Diffie và Hellman đa ra vào năm 1976. Còn việc hiện thực hoá nó thì do Rivesrt, Shamir và Adleman đa ra đầu tiên vào năm 1977, họ đ tạo nên hệ mật nổi tiếng RSA (sẽ đợc nghiên cứu trong chơng này). Kể từ đó một số hệ đợc công bố, độ mật của chúng dựa trên các bài toán tính toán khác nhau. Sau đây là các hệ mật khoá công khai quan trọng : + Hệ mật RSA: Độ bảo mật của hệ RSA dựa trên độ khó của việc phân tích ra thừa số nguyên tố các số nguyên lớn. Hệ này sẽ đợc mô tả trong phần 4.3. + Hệ mật xếp ba lô Merkle - Hellman: Hệ này và các hệ liên quan dựa trên tính khó giải của bài toán tổng các tập con (bài toán này là bài toán NP đầy đủ là một lớp khá lớn các bài toán không có thuật giải đợc biết trong thời gian đa thức). Tuy nhiên tất cả các hệ mật xếp ba lô khác nhau đều đ bị chứng tỏ là không mật (ngoại trừ hệ mật Chor Rivest sẽ đợc nêu dới đây). Hệ mật này đợc xét ở chơng 5. + Hệ mật McEliece: Hệ này dựa trên lý thuyết m đại số và vẫn còn đợc coi là an toàn. Hệ mật McEliece dựa trên bài toán giải m cho các m tuyến tính (cũng là một bài toán NP đầy đủ). Hệ mật McEliece đợc trình bày ở chơng 5. + Hệ mật Elgamal: Hệ mật Elgamal dựa trên tính khó giải của bài toán logarithm rời rạc trên các trờng hữu hạn (xem trong chơng 5). + Hệ mật Chor - Rivest: Hệ mật Chor - Rivest cũng đợc xem nh một loại hệ mật xếp ba lô. Tuy nhiên nó vẫn đợc coi là an toàn. + Hệ mật trên các đờng cong Elliptic Các hệ mật này là biến tớng cảu các hệ mật khác (chẳng hạn nh hệ mật Elgamal) , chúng làm việc trên các đờng cong Elliptic chứ không phải là trên các trờng hữu hạn. Hệ mật này đảm bảo độ mật với khoá số nhỏ hơn các hệ mật khoá công khai khác (xem chơng 5). Một chú ý quan trọng là một hệ mật khoá công khai không bao giờ có thể đảm bảo đợc độ mật tuyệt đối (an toàn vô điều kiện). Sở dĩ nh vậy vì đối phơng khi nghiên cứu một bản m y có thể m lần lợt các bản rõ bằng luật m công khai e k cho tới khi anh ta tìm đợc bản rõ duy nhất x đảm bảo y = e k (x). Bản rõ này chính là kết quả giải m của y. Bởi vậy ta chỉ nghiên cứu độ mật về mặt tính toán của các hệ mật này. Một khái niệm có ích khi nghiên cứu hệ mật khoá công khai là khái niệm về hàm cửa sập một chiều. Ta định nghĩa khái niệm này một cách không hình thức. Hàm m khoá công khai e k của Bob phải là một hàm dễ tính toán. Song việc tìm hàm ngợc (hàm giải m) phải rất khó khăn (đối với bất kỳ ai không phải là Bob). Đặc tính dễ tính toán nhng khó tính toán hàm ngợc thờng đợc gọi là đặc tính một chiều. Bởi vậy điều kiện cân thiết là e k phải là hàm một chiều. Các hàm một chiều đóng vai trò quan trọng trong mật m học: chúng rất quan trong các hệ mật khoá công khai và trong nhiều lĩnh vực khác. Đáng tiếc là mặc dù có rts nhiều hàm đợc coi là hàm một chiều nhng cho tới nay vẫn không tồn tại một hàm nào có thể chứng minh đợc là hàm một chiều. Sau đây là một ví dụ về một hàm đợc coi là hàm một chiều. Giả sử n là tích của hai số nguyên tố lớn p và q, giả sử b là một số nguyên dơng. Khi đó ta xác định ánh xạ f : Z n Z n là f(x) = x b mod n (với b và n đ đợc chọn thích hợp thì đây chính là hàm m RSA, sau này sẽ còn nói nhiều về nó). Để xây dựng một hệ mật khoá công khai thì việc tìm đợc một hàm một chiều vẫn cha đủ. Ta không muốn e k là hàm một chiều đối với Bob vì anh ta phải có khả năng giải m các bản tin nhận đợc một cách hiệu quả. Điều cần thiết là Bob phải có một cửa sập chứa thông tin bí mật cho phép dễ dàng tìm hàm ngợc của e k . Nh vậy Bob có thể giải m một cách hữu hiệu vì anh ta có một hiểu biết tuyệt mật nào đó về K. Bởi vậy một hàm đợc gọi là cửa sập một chiều nếu nó là hàm một chiều và nó trở nên dễ tính ngợc nếu biết một cửa sập mhất định. Ta sẽ xét cách tìm một cửa sập đối với hàm f nêu ở trên trong phần 4.3. Các tìm này sẽ dẫn đến hệ mật RSA. 4.2. một số vấn đề sâu hơn về lý thuyết số Trớc khi mô tả hệ mật RSA làm việc ra sao cần phải xem xét một số yếu tố liên quan đến lý thuyết số và số học modulo. Hai kết quả cần biết là thuật toán Euclide và định lý phần d China. 4.2.1 Thuật toán Euclide Trong chơng 1 đ xét Z n là một vành với số nguyên dơng bất kỳ n. Ta cũng đ chứng tỏ rằng phần tử b Z n có phần tử nghịch đảo (phần tử ngợc của phép nhân) khi và chỉ khi CLN(b,n) = 1 và các số nguyên dơng nhỏ hơn n và nguyên tố cùng nhau với n bằng (n). Tập các thặng d theo modulo n và nguyên tố cùng nhau với n đợc ký hiệu là Z n * .Không khó khăn có thể thấy rằng Z n * sẽ tạo nên một nhóm Abel đối với phép nhân. Ta cũng biết rằng, phép nhân theo modulo n là giao hoán và kết hợp và phần tử đơn vị là 1. Một phần tử bất kỳ trong Z n * đều có nghịch đảo bội (cũng nằm trong Z n * ). Cuối cùng Z n * là đóng đối với phép nhân vì xy là nguyên tố cùng nhau với n khi x và y nguyên tố cùng nhau với n. (Hy chứng minh điều này!) Cho tới bây giờ ta chỉ biết rằng một phần tử b bất kì Z n * đều có nghịch đảo b -1 song việc tính nó vẫn cha nói đến. Một thuật toán nh vậy đợc gọi là thuật toán Euclide mở rộng. Trớc tiên ta sẽ mô tả thuật toán Euclide, thông thờng thuật toán này đợc dùng để tính ớc số chung lớn nhất (CLN) của hai số nguyên dơng r 0 và r 1 với r 0 > r 1 .Thuật toán Euclide bao gồm việc thực hiện các phép toán nh sau: r 0 = q 1 r 1 +r 2 0 < r 2 < r 1 r 1 = q 2 r 2 +r 3 0 < r 3 < r 2 . . r m -2 = q m -1 r m -1 +r m 0 < r m -1 < r m r m -1 = q m r m Khi đó dễ dàng chứng tỏ đợc rằng CLN(r 0 , r 1 ) = CLN(r 1 , r 2 ) = . . . CLN(r m-1 , r m ) = r m Bởi vậy CLN(r 0 , r 1 ) = r m Vì thuật toán Euclide tính các CLN nên có thể áp dụng nó để xác định xem liệu một số nguyên dơng b < n có nghịch đảo theo modulo n không bằng cách bắt đầu với r 0 = n và r 1 = b. Tuy nhiên thuật toán này không cho phép tính giá trị của phần tử nghịch đảo (nếu nó tồn tại). Bây giờ giả sử định nghĩa một dy số t 0 , t 1 , ,t m theo các công thức truy toán sau (trong đó các giá trị q j đ đợc xác định ở trên) t 0 = 0 t 1 = 1 t j = t j-2 - q j-1 t j-1 mod r 0 nếu j 2 Ta có kết quả quan trọng sau Định lý 4.1. Với 0 j m, ta có r j t j r 1 (mod r 0 ), trong đó các giá trị q j và r j đợc xác định theo thuật toán Euclide còn các giá trị t j đợc xác định theo công thức truy toán ở trên. Chứng minh: Ta chứng minh bằng cách quy nạp theo j. Định lý hiển nhiên đúng với j = 0 và j = 1. Giả sử định lý cũng đúng với j = i-1 và j = i-2, trong đó i 2; sau đây ta sẽ chứng tỏ định lý đúng với j = i. Theo quy nạp ta có r i-2 t i-2 r 1 (mod r 0 ) và r i-1 t i-1 r 1 (mod r 0 ) Bây giờ ta tính r i = r i-2 - q i-1 r i-1 t i-2 r 1 - q i-1 t i-1 r 1 (mod r 0 ) (t i-2 - q i-1 t i-1 )r 1 (mod r 0 ) t i r 1 (mod r 0 ) Bởi vậy theo quy nạp định lý là đúng. Hệ quả rút ra trực tiếp từ định lý trên. Hệ quả 4.2: Giả sử CLN (r 0 ,r 1 ) = 1, khi đó t m = r 1 -1 mod r 0 . Hìn 2.1 Thuật toán Euclide mở rộng: Xét thấy dy các số t 0 , t 1 , . . . , t m có thể đợc tính toán trong thuật toán Euclide đồng thời nh các giá trị q j và r j . Hình 4.1 trình bày thuật toán Euclide mở rộng để tính nghịch đảo của b theo modulo n (nếu nó tồn tại). Trong thuật toán này không phải dùng mảng (array) để ghi các giá trị q j , r j và t j vì chỉ cần nhớ hai giá trị cuối cùng trong mỗi dy này ở một điểm bất kì trong thuật toán. Trong bớc 10 của thuật toán ta đ viết biểu thức cho biến temp theo cách để phép rút gọn theo modulo n đợc thực hiện đối với số dơng. (Trớc đây đ biết rằng việc rút gọn theo modulo của các số âm sẽ dẫn đến các kết quả âm ở nhiêù ngôn ngữ máy tính; còn ở đây ta muốn kết thúc với kết quả dơng). ở bớc 12 luôn có tb r (mod n) (kết quả này đ đợc chứng minh ở định lý 4.1). 1. n 0 = n 2. b 0 = b 3. t 0 = 0 4. t = 1 5. q = n 0 /b 0 6. r = n 0 - qìb 0 7. While r > 0 do 8. temp = t 0 -qìt 9. if temp 0 then temp = temp mod n 10. if temp < 0 then temp = n - ((- temp) mod n) 11. t 0 = t 12. t = temp 13. n 0 = b 0 14. b 0 = r 15. q = n 0 /b 0 16. r = n 0 - qìb 0 17. if b 0 1 then b không có nghịch đảo theo modulo n else b -1 = t mod n . Sau đây là một ví dụ nhỏ để minh hoạ Ví dụ 4.1. Giả sử ta cần tính 28 -1 mod 75. Thuật toán Euclide mở rộng thực hiện nh sau: 75 = 2 ì 28 +29 bớc 6 73 ì 28 mod 75 = 19 bớc 12 28 = 1 ì 19 + 9 bớc 16 3 ì 28 mod 75 = 9 bớc 12 19 = 2 ì 9 + 1 bớc 16 67 ì 28 mod 75 = 1 bớc 12 9 = 9 ì 1 bớc 16 Vì thế 28 -1 mod 75 = 67. 4.2.2. Định lý phần d China Định lý này thực sự là một phơng pháp giải các hệ phơng trình đồng d. Giả sử m 1 , . . . , m r là các số nguyên tố cùng nhau từng đôi một (tức CLN(m i ,m j )=1 nếu ji). Giả sử a 1 ,. . ., a r là các số nguyên xét hệ phơng trình đồng d sau: x a 1 (mod m 1 ) x a 2 (mod m 2 ) . . x a r (mod m r ) Định lý phần d China khẳng định rằng hệ này có nghiệm duy nhất theo modulo M = m 1 ì ìì ì m 2 ì ìì ì . . . ì ìì ì m r . Ta sẽ chứng minh kết quả đó trong phần này và cũng mô tả một thuật toán hữu hiệu để giải hệ đồng d thức dạng trên. Để thuận tiện, xét hàm : Z M Zm 1 ì . . .ìZm r . Hàm này đợc định nghĩa nh sau: (x) = (x mod m 1 , . . . , x mod m r ) Ví dụ 4.2 Giả sử r = 2, m 1 = 5 và m 2 = 3, bởi vậy M = 15. Khi đó hàm có giá trị sau (0) = (0,0) (1) = (1,1) (2) = (2,2) (3) = (3,0) (4) = (4,1) (5) = (0,2) (6) = (1,0) (7) = (2,1) (8) = (3,2) (9) = (4,0) (10) =(0,1) (11) =(1,2) (12) =(2,0) (13) =(3,1) (14) =(4,2) Việc chứng minh định lý phần d China tơng đơng với việc chứng minh rằng hàm là một song ánh. Điều này có thể dễ dàng thấy đợc ở ví dụ 4.2. Trong thực tế có thể đa ra một công thức tờng minh tổng quát cho hàm ngợc -1 . Với 1 i r, định nghĩa: M i = M/m i Khi đó, dễ dàng thấy rằng CLN(M i ,m i ) = 1 với 1 i r. Tiếp theo, với 1 i r, định nghĩa y i = M i -1 mod m i (phần tử nghịch đảo này tồn tại do CLN(M i ,m i ) = 1 và có thể tìm đợc bằng thuật toán Euclide). Cần để ý rằng M i y i 1 (mod m i ) với 1 i r. Bây giờ ta định nghĩa hàm : Zm 1 ì . . . ì Zm r Z M nh sau Ta sẽ chứng tỏ rằng = -1 , tức là nó cho một công thức tờng minh để giải hệ đồng d thức ban đầu. Kí hiệu X = (a 1 , . . . ,a r ) và cho 1 j r. Xét số hạng a i M i y i trong tổng trên khi rút gọn theo modulo m j . Nếu i = j thì a i M i y i a i (mod m i ) ( ) M mod i y i M r 1 i i a r , a 1 a = = vì M i y i 1 (mod m i ) Mặt khác, nếu i j thì a i M i y i 0(mod m j ) do m i M i trong trờng hợp này. Bởi vậy chúng ta có Do điều này đúng đối với mọi j, 1 j r, nên X là nghiệm của hệ phơng trình đồng d. Tới lúc này cần phải chứng tỏ rằng nghiệm X là duy nhất theo modulo M và điều này có thể đợc chứng tỏ bằng cách tính toán đơn giản. là hàm từ một miền có lực lợng M sang một miền có lực lợng M. Ta vừa mới chứng tỏ rằng là một toàn ánh. Bởi vậy phải cũng là một đơn ánh (tức là phép tơng ứng 1 - 1) do miền xác định và miền giá trị có cùng lực lợng. Điều đó kéo theo là một song ánh và -1 = p. Cũng cần chú ý là -1 là một hàm tuyến tính của các biến a 1 ,. . ., a r . Sau đây là một ví dụ lớn hơn để minh hoạ Ví dụ 4.3 Giả sử r = 3, m 1 = 7, m 2 = 11 và m 3 = 13. Khi đó M = 1001. Ta tính M 1 = 143, M 2 = 91 và M 3 = 77 và sau đó tính y 1 = 5, y 2 = 4 và y 3 = 12. Khi đó hàm -1 : Z 7 ìZ 11 ìZ 13 Z 1001 có dạng: -1 (a 1 ,a 2 ,a 3 ) = 715a 1 +364a 2 + 924a 3 mod 1001 Ví dụ, nếu x 5 (mod 7), x 3 (mod 11) và x 10 (mod 13) thì công thức trên sẽ cho ta biết rằng x = 715 ì 5 + 364 ì 3 + 924 ì 10 mod 1001 = 13907 mod 1001 = 894 mod 1001 Điều này có thể kiểm tra đợc bằng cách rút gọn 894 theo modulo 7, 11 và 13. Để tham khảo sau này, ta sẽ ghi các kết quả ở phần này dới dạng một định lý ) ji ii m (mod a )m (mod a X ji yM Định lý 4.3 (Định lý phần d China) Giả sử m 1 , . . . ,m r là các số nguyên dơng nguyên tố cùng nhau từng đôi một và cho a 1 , . . ., a r là các số nguyên. Khi đó, hệ r đồng d thức x a i (mod m i ) (1 i r ) sẽ có một nghiệm duy nhất theo modulo M = m 1 ì . . . ì m r đợc cho theo công thức trong đó M i = M/m i và y i = M i -1 mod m i , với 1 i r. 4.2.3. Các kiến thức cần thiết khác Sau đây sẽ nhắc tới một kết quả khác trong lý thuyết nhóm sơ cấp: định lý Lagrange. Định lý này có liên quan đến cách đề cập về hệ mật RSA. Với một nhóm nhân hữu hạn G, ta định nghĩa cấp của một phần tử g G là số nguyên dơng m bé nhất sao cho g m = 1. Ta có kết quả sau đây (không chứng minh ). Định lý 4.4 (Lagrange ) Giả sử G là một nhóm cấp n và g G. Khi đó cấp của g là ớc của n. Với mục đích đa ra, hệ quả sau rất quan trọng. Hệ quả 4.5 Nếu b Z n * thì b (n) 1 (mod n) Chứng minh: Z n * là nhóm nhân cấp (n). Hệ quả 4.6 (Ferma) Giả sử p là số nguyên tố và b Z p . Khi đó b p b (mod p). Chứng minh: Cho tới giờ ta đ biết rằng, nếu p là số nguyên tố thì Z p * là một nhóm cấp p-1 và một phần tử bất kì trong Z p * sẽ có bậc là ớc của p-1. Tuy nhiên, nếu p là số nguyên tố thì nhóm Z p * là nhóm cyclic: tồn tại một phần tử Z p * M mod yMa x ii r 1i i = = Nếu p là số nguyên tố thì (n) = p-1. Bởi vậy, với b 0(mod p), kết quả trên đợc rút ra từ hệ quả 4.5. Với b 0 (mod p), kết quả trên vẫn đúng do 0 p 0 (mod 0). [...]... gọn theo modulo cần tiến h nh Không khó khăn lắm có thể chứng tỏ rằng, cần thực hiện nhiều nhất l 741 1 9283 = 9283 741 1 = = = = = = 1872 741 1 4 2 117 741 1 741 1 117 741 1 741 1 117 40 177 3 2 5 117 117 theo tính chất 4 theo tính chất 1 theo tính chất 3 theo tính chất 2 theo tính chất 4 theo tính chất 1 theo tính chất 3 O(log n) phép rút gọn... sử dụng thuật toán trên bằng cách quay trở lại ví dụ 4. 5 Ví dụ 4. 5 (tiếp): Ta có n = 1 141 3 v số mũ m hoá công khai b = 3533 Alice sẽ m hoá bản rõ 9726 bằng cách tính 97263533 mod 1 141 3 theo thuật toán bình phơng v nhân nh sau: i bi z 11 1 12ì 9726 = 9726 10 1 9 0 97262 ì 9726 = 2659 26592 = 56 34 8 1 56 342 ì 9726 = 9167 7 1 91672 ì 9726 = 49 58 6 1 5 0 4 0 49 582 ì 9726 = 7783 77832 = 6298 62982 = 46 29... trong mật m Trong ví dụ dụ 4. 10 ở trên, CLN (93 ,40 3) =31 v CLN (312 ,40 3)=13 Trên hình 4. 10 trình b y thuật toán (dùng thuật toán giả định A l m chơng trình con) để phân tích n bằng cách tìm một căn bậc hai không tầm thờng của 1 modulo n (A thực hiện tính số mũ giải m a theo số mũ m b ).Trớc tiên ta sẽ đa ra một ví dụ để minh hoạ cho việc áp dụng thuật toán n y Ví dụ 4. 11 Giả sử n=89855713, b= 349 86517... Euclide mở rộng Sau n y chúng ta sẽ còn tiếp tục nói thêm về vấn dề n y 4. 4 Thực hiện hệ mật RSA Có nhiều khía cạnh cần thảo luận về hệ mật RSA bao gồm các chi tiết về việc thiết lập hệ mật, tính hiệu quả của phép m v giải m v độ mật của hệ Để thiết lập hệ thống, Bob sẽ tuân theo các bớc đợc nêu trong hình 4. 3 Hình 4. 3 Thiết lập hệ mật RSA 1 Bob tạo hai số nguyên tố lớn p v q 2 Bob tính n = p.q v (n)... q=n/p v phơng trình thứ 2 thì ta sẽ thu đợc phơng trình bậc 2 của biến cha biết p : p2-(n-(n) + 1)p + n=0 Hai nghiệmncủa phơng trình n y l p v q l các nhân tữ của n Bởi vậy thám m biết đợc (n) thì anh ta có thể phân tích đợc n v phá đợc hệ mật. Nói cách khác, việc tính (n) không dễ hơn việc phân tích n.Sau đây l một ví dụ dụ minh hoạ : Ví dụ 4. 9 Giả sử thám m đả biết rằng n= 847 73093 v (n)= 47 546 68 Thông... 6597 mod 11200 Bởi vậy số mũ mật để giải m của Bob l a = 6597 Bob sẽ công bố n = 1 141 3 v b = 3533 trong một danh bạ Bây giờ, giả sử Alice muốn gửi bản rõ 9726 tới Bob Cô ta tính 97263533 mod 1 141 3 = 5761 rồi gửi bản m 5761 trên kênh Khi đó Bob nhận đợc bản m 5761, anh ta sử dụng số mũ a mật để tính: 57616597 mod 1 141 3 = 9762 (cho tới lúc n y, các phép m v giải m cho hệ mật đ khá phức tạp, tuy nhiên... số nguyên tố sự dụng trong hệ mặt RSA) Khi đó h m đầu tiên xấp xỉ bằng 175 Ta 175+2m+1 sẽ lập bảng cho hai h m ứng với một số giá trị của m (xem hình4.8) Hình 4. 8 Các xác suất sai đối với phép kiểm tra Solovay- Strasen M 1 2 5 10 20 30 50 100 Mặc dù 175 175+2m+1 2-m 0,500 0250, 0,312.10-1 0,977.10-3 0,9 54. 10-6 0,930.10-9 0,888.10-15 0,789.10-30 0,978 0,956 0,732 0,787.100,8 34. 10 -4 0,815.10-7 0,777.10-13... modulo 11 l 1,3 ,4, 5 v 9 Cần để ý rằng, 2 (1) =1, (5)2=3, (2)2 =4, (4) 2=5, (3)2=9 (ở đây tất cả các phép số học đều thực hiện trong Z11) B i toán quyết định thặng d bậc hai đợc trình b y trên hình 4. 6 sẽ đợc thấy một cách tơnngf minh nh sau: Trớc hết, ta sẽ chứng minh một kết quả- tiêu chuẩn Euler tạo nên thuật toán tất định theo thời gian đa thức cho b i toán về các thặng d bậc hai Định lý 4. 8 (Tiêu chuẩn... m đả biết rằng n= 847 73093 v (n)= 47 546 68 Thông tin n y sẽ dẫn tới phơng trình: p2-1 842 6p+ 847 73093=0 Giải phơng trình n y thu đợc hai nghiệm 9539 v 8887.Đây l hai thừa số của n 4. 6.1 Số mũ giải m Bây giờ chúng ta sẽ chứng minh một kết quả rất thú vị l một thuật toán bất kỳ để tính số mũ giải m a đều có thể đợc dùng nh một chơng trình con (hay một điều kiện )trong thuật toán xác suất phân tích n Bởi... n l các số nguyên lẻ, khi đó: = 2 n n m nếu m n 3 (mod 4) n trong các trờng hợp còn lại m Ví dụ Để minh hoạ cho việc áp dụng các tính chất trên , ta sẽ đánh 741 1 9283 giá kíhiệu Jacobi nh trong bảng dới đây Cần chú ý l trong ví dụ n y, ta đ sử dụng liên tiếp các tính chất4, 1,3 ,v 2 Nói chung, bằng cách áp dụng 4 tính chất trên, có thể tính toánkí hiệu Jacobi m n trong thời . Chơng 4 Hệ mật RSA và vấn đề phân tích thừa số 4. 1. Giới thiệu về hệ mật khoá công khai Trong mô hình mật m cổ điển trớc đây mà hiện nay đang đợc nghiên cứu Alice (ngời gửi) và Bob. để minh hoạ Ví dụ 4. 3 Giả sử r = 3, m 1 = 7, m 2 = 11 và m 3 = 13. Khi đó M = 1001. Ta tính M 1 = 143 , M 2 = 91 và M 3 = 77 và sau đó tính y 1 = 5, y 2 = 4 và y 3 = 12. Khi đó. là khi và chỉ khi i = 1, 5, 7 hoặc 11. Bởi vậy các phần tử nguyên thuỷ theo modulo 13 là 2, 6, 7 và 11. 4. 3. hệ mật RSA Bây giờ chúng ta có thể mô tả hệ mật RSA. Hệ mật này sử dụng các