Kiểm tra nguyên tố xác suất

21 657 0
Kiểm tra nguyên tố xác suấ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

Kiểm tra nguyên tố xác suất

Kiểm tra tính nguyên tố xác suất Để thiết lập hệ mật RSA, ta phải tạo số nguyên tố ngẫu nhiên lớn (chẳng hạn có 80 chữ số) Trong thực tế, phơng cách thực điều là: trớc hết phải tạo số ngẩu nhiên lớn, sau kiểm tra tính nguyên thuỷ chúng c¸ch dïng thuËt to¸n x¸c suÊt Monte- Carlo thêi gian đa thức (chẳng hạn nh thuật toán MillerRabin thuật toán Solovay- Strasen) Cả hai thuật toán đợc trình bày phần Chúng thuật toán nhanh (tức số nguyên n đợc kiểm tra thời đa thức theo log2n, số bít biểu diện nhị phân n) Tuy nhiên, có khả thuận toán cho n số nguyên tố thực tế n hợp lệ số Bởi vậy, cách thay đổi thuật toán nhiều lần, giảm xác suất sai số dới mức ngỡng cho phép (sau thảo luận kỹ chút vấn đề này) Một vấn đề quan trọng khác: cần phải kiểm tra số nguyên ngẫu nhiên (với kích thơc xác định)cho tới tìm đợc số nguyên tố Một kết nỗi tiếng lý thuyết số (đợc gọi định lý số nguyên tố) phát biểu rằng: số số nguyên tố không lớn N xấp xỉ N/ln N Bởi vậy, p đợc chọn ngẫu nhiên xác suất p số nguyên tố vào khoảng 1/ln p Với mođun 512 bít, ta có 1/ln p 1/77 Điều có nghĩa 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è số nguyên tố Dĩ nhiên, chĩ hạn chế xét số nguyên lẻ xác suất tăng gấp đôi tới khoảng 2/177) Bỡi thực tế, hoàn toàn có khả tạo đợc nguyên tố đủ lớn mặt thực thể ta thiết lập đợc hệ mật RSA Sau tiếp tục xem xét điều đợc thực hiên nh Một toán định toán toán câu hỏi cần đợc trả lời có không Một thuật toán xác suất thuật toán có sử dụng số ngẫu nhiên (ngợc lại, thuật toán không sử dụng số ngẫu nhiên đợc gọi thuật toán tất định) Các định nghĩa sau có liên quan tới thuật toán xác suất cho toán định Định nghĩa 4.1 Thuật toán Monte Carlo định hớng có thuật toán xác suất cho toán định, câu trả lời có luôn câu trả lời không sai Thuật toán Monte Carlo định hớng không đợc định nghĩa theo cách tơng tự Chúng ta nói rằng, thuật toán Monte Carlo định hớng “cã” cã x¸c st sai b»ng ε nÕu víi bÊt kỳ mổt trờng hợp mà câu trả lời có thuật toán có câu trả lời sai không với xác suất không lớn (xác suất đợc tính phép chon ngẫu nhiên, thực hiên thuật toán với câu vào đà cho) Bài toán định toán hợp lệ số mô tả hình 4.5 Cần ý thuật toán định có câu trả lời có không đặc biệt toán hợp lệ số ta không yêu cầu thuật toán tính tích thừa số n hợp lệ số Trớc tiên ta mô tả thuật toán Soloway- Strasson Đây thuật toán Monte- Carlo định hớng có cho toán hợp số có Trớc tiên ta mô tả thuật toán Soloway- Strasson Đây thuật toán Monte-Carlo định hớng có cho toán hợp số xác xuất sai 1/2 Bởi vậy, thuật toán trả lời có n hợp số; ngợc lại n hợp số thuật toán trả lời có với xác xuất tối thiểu 1/2 Hình 4.5 Bài toán hợp số Đặc trng toán: số nguyên dơng n Câu hỏi: n có phải hợp số không ? Hình 4.6 Bài toán thặng d bậc hai Đặc trng toán: cho p số nguyên tố lẻ sè nguyªn x cho ≤ x ≤ p-1 Câu hỏi: x có phải thặng d bậc hai phép modulo p ? Mặc dù thuật toán Miller-Rabin (ta xét sau) nhanh thuật toán Soloway-Strasson (S-S) nhng ta xét thuật toán S-S trớc dễ hiểu khái niệm, đồng thời lại liên quan tới số vấn đề lý thuyết số (mà ta dùng chơng trình sau) Ta xây dựng số tảng sâu sắc lý thuyết số trớc mô tả thuật toán Định nghĩa 4.2 Giả sử p số nguyên tố lẻ x số nguyên, x p-1 x đợc gọi thặng d bậc hai theo modulo p phơng trình đồng d y2 x (modulo p) có nghiệm yZp x đợc gọi thặng d không bậc hai theo modulo p x ??? (mod p) x thặng d bậc hai theo modulo p Ví dụ 4.6 Các thặng d bậc hai theo modulo 11 1,3,4,5 Cần để ý rằng, (1)2=1, (5)2=3, (2)2=4, (4)2=5, (3)2=9 (ở tất phép số học thực Z11) Bài toán định thặng d bậc hai đợc trình bày hình 4.6 đợc thấy cách tơnngf minh nh sau: Trớc hết, ta chứng minh 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 toán thặng d bậc hai Định lý 4.8 (Tiêu chuẩn Euler) Giả sử p số nguyên tố, x thặng d bËc hai theo modulo p vµ chØ khi: x(p-1)/2 ≡1 (mod p) Chøng minh: Tríc hÕt gi¶ sư rằng, xy2(mod p) Theo hệ 4.6, p số nguyên tố xp-11 (mod p) với x ≡ (mod p) Bëi vËy ta cã : x(p-1)/2 ≡ (y2)(p-1)/2 (mod p) ≡yp-1(mod p) ≡1 (mod p) Ngỵc lại, giả sử x(p-1)/21 (mod p) Cho p phần tử nguyên thuỷ theo modulo p Khi xbi (mod p) với giá trị i Ta cã x(p-1)/2 ≡ (bi)(p-1)/2 (mod p) ≡bi(p-1)/2(mod p) V× p có bậc p-1 nên p-1 phải ớc i(p-1)/2 Bởi i số chẵn nh bậc hai x bi/2 Định lý 4.8 dẫn tới thuật toán thời gian đa thức cho thặng d bậc hai nhờ sử dụng kỹ thuật bình phơng nhân cho phép lấy luỹ thừa theo modulo p Độ phức tạp thuật toán khoảng O((log p)3) Sau tiếp tục đa số định nghĩa từ lý thuyết số: Định nghĩa 4.3 Giả sử p số nguyên tố lẻ Với số nguyªn tè bÊt kú a ≥0, ta a   p định nghĩa ký hiệu Legendre a a p        p    nh sau: nÕu a ≡ (mod p) = thăng d bậc hai theo modulo p -1 thăng d không bậc hai theo modulo p Ta đà biết a(p-1)/2 (mod p) a thặng d bËc hai theo modulo p NÕu a lµ béi p rõ ràng a(p-1)/2 0(mod p) Cuối cùng, a thặng d không bậc hai theo modulo p th× a(p-1)≡ -1 (mod p) v× ap-1≡1(mod p) Bởi vậy, ta có kết cho phép xây dựng thuật toán hữu hiệu để đánh giá ký hiệu Legendre nh sau Định Lý 4.9 (p-1)/2 Giả sử p số nguyên tố Khi (mod p)  a ≡ a   p   Sau định nghĩa tổng quát hoá cho ký hiệu Legendre Định nghĩa 4.4 Giả sử n số nguyên dơng lẻ phân tích theo luỹ thừa nguyên tố n p1e1 pKek Giả sử a số nguyên Ký hiệu a Jacobi r đợc định nghÜa nh sau: a  K a   = ∏  n  i =1 p i      ei VÝ dô 4.7  6278     9975  a   n XÐt ký hiệu Jacobi Phân tích luỹ thừa nguyên tố cđa 9975 lµ: 9975=3 x x x 19 Bëi vËy ta cã:  6278   6278  6278   6278  6278   =       9975       19  = 2   6             3   7    9 =(-1)(-1)2(-1)(-1) = -1 Giả sử n > số lẻ Nếu n số nguyên tố   a(n-1)/2 (mod n) víi a bÊt kú MỈt khác n hợp số đồng ad thức không Nếu phơng trình thìna đợc gọi số giả nguyên tố Euler theo số n Ví dụ: 10 số giả nguyên tố Euler theo số 91 : 10  91  = -1 = 1045 mod 91 Tuy nhiên chứng tỏ rằng, với hợp số lỴ n bÊt kú, sÏ cãp nhiỊu nhÊt mét nưa số nguyên a (sao cho a n-1) số giả nguyên tố Euler số n (xem tập) Điều chứng tỏ rằng, việc kiểm tra tính nguyên tố theo thuật toán Soloway-Strasson đợc nêu hình 4.7 thuật toán Monte-Carlo định hớng cóvới xác xuất sai tối đa 1/2 Đến cha xác định rõ thuật toán ttrên có theo thời gian đa thức hay không Ta đà biết cách đánh giá a(n-1)/2 (mod n) thời gian đa thức O((log n)3), nhiên cần phải làm ®Ĩ tÝnh c¸c ký hiƯu Jacobi mét c¸ch cã hiƯu Vì ký hiệu Jacobi đợc xác định theo thừa số phân tích n Tuy nhiên phân tích đợc n ta đà biết có phải số nguyên tố hay không, cách làm dẫn tới vòng luẩn quẩn Hình 4.7 Thuật toán kiểm tra tính nguyên tố Solova-Strassen với số nguyên lẻ n Chọn số nguyªn ngÉu nhiªn a, ≤ a ≤ n-1 ≡ a(n-1)/2 (mod n) a Trả lời n số nguyên tố n Nếu không Trả lời n hợp số Nếu Rất may đánh giá ký hiệu Jacobi mà không cần phải phân tích n nhờ sử dơng mét sè kÕt qu¶ cđa lý thut sè, kết quan trọng tính chất (tổng quát hoá luật tơng hỗ bậc hai ) Ta liệt kê mà không chứng minh tính chất Nếu n số nguyên tố lẻ m1 m2 (mod n) thì: m1   =  n     m2     n    NÕu n số nguyên lẻ n ≡ ± (mod 8) 2   = -1 nÕu n ≡ ± (mod 8) n NÕu n số nguyên lẻ m m   m  m   =    n   n  n Đặc biệt m=2kt với t số lẻ thì: k m t    =     n  n n Giả sử m n số nguyên lẻ, đó: n =  n −  m  nÕu m ≡ n ≡ (mod 4)     n trường hợp lại m ví dụ Để minh hoạ cho việc áp dụng tính chất , ta đánh giá kí hiệu Jacobi 7411 9283 nh bảng dới Cần ý ví dụ này, ta đà sử dụng liên tiếp tính chất4, 1,3 ,và Nói chung, cách áp dụng tính chất trên, có thĨ tÝnh to¸nkÝ  7411   9283    = −  theo tÝnh chÊt  9283m   7411   hiÖu Jacobi trong thêi gian đa thức Các phép tính số học dùng  n  1872  = −  7411  theo tÝnh thõa chØ lµ rót gän theo modulo vµ phân tích luỹchất 1của thuật toán đợc biểu diễn dới dạng nhị phân việc phân tÝch c¸c l thõa cđa hai sè chÝnh = xác định số số tiếptính chất độ phức tạp việc 117  theo sau Bëi vËy,    7411   7411  sè c¸c phÐp rót gän theo modulo cần thuật toán đợc xác định 117 tiến hành Không khó khăn chøng tá r»ng, cÇn thùc hiƯn = −  7411  theo tÝnh chÊt   nhiỊu nhÊt lµ  7411   = − theo tÝnh chÊt  117   40  = −  177  theo tÝnh chÊt   = −    theo tÝnh chÊt      117   117    =  117  theo tÝnh chÊt    117  =   theo tÝnh chÊt   2 = 5 theo tÝnh chÊt   = -1 theo tÝnh chÊt O(log n) phép rút gọn theo modulo Mỗi phép thực thời gian O((log n)2) Điều chứng tỏ rằng, độ phức tạp O((log n)3) đa thức theo log n Thực phân tích xác hơn, chứng tỏ răng, độ phức tạp cỡ O((log n)2) Giả sử ta đà tạo đợc số ngẫu nhiên n đà kiểm tra tính nguyên tố theo thuật toán Soloway- Strasen Nếu chạy thuật toán m lần câu trả lời n số nguyên tố có mức độ tin cậy nh nào? Quả liều lĩnh coi răng, xác suất 1-2-m Kết luận thờng đợc nêu giáo trình báo kĩ thuật, nhiên ta dẫn theo số liệu cho trớc Cần phải thận trọng dụng tính toán xác suất Ta định nghĩa biến ngẫu nhiên sau: aChỉ kiện số nguyên lẻ n có kích thớc đà định hợp số bChỉ kiện thuật toán trả lời n số nguyên tố m lần liên tiếp Điều chắn prob(b| a)2-m Tuy nhiên xác suất mà ta thực quan tâm prob(a/b), xác suất thờng không giống nh prob(b/a) Có thể tính prob(a/b) định lý Bayes (định lý2.1) Trớc hết cần phải biết prob(a) Giả sử N n 2N áp dụng định lý số nguyên tố: số nguyên tố(lẻ) giửa N 2N xấp xØ b»ng: ` 2N/ln 2N – N/ln N ≈ N/ ln N ≈ n/ln n V× cã N/2 ≈ n/2 số nguyên tố lẻ giửa N 2N, ta dïng íc lỵng Prob(a) ≈ – 2/ln n Sau ®ã cã thĨ tÝnh to¸n nh sau: prob(b a) prob(a) prob(b) prob(a| b) = prob(b a) prob(a) = prob(b a )prob(a) + prob(b a )prob( a) ≈ = Chó ý tính toán ? kiện số nguyên lẻ ngẫu nhiên n số nguyên tố Khá thú vị so sánh hai hàm sau m ????/ Giả n 2256 e177 (đây kích thớc số nguyên tố dụng hệ mặt RSA) Khi hàm xấp xỉ bằng???? Ta lập bảng cho hai hàm ứng với số prob(b a) prob(a) giá trị m (xem hình4.8) Hình 4.8 Các xác suất sai đối a )prob(a) + tra Solovay-)prob( a) prob(b víi phÐp kiĨm prob(b a Strasen M 2-m 10 20 30 50 100 0,500 0250, 0,312.10-1 0,977.10-3 0,954.10-6 0,930.10-9 0,888.10-15 0,789.10-30 0,978 0,956 0,732 0,787.100,834.10-4 0,815.10-7 0,777.10-13 0,690.10-28 MỈc dï????? tiÕn tới o nhanh theo hàm mũ nhng không tiến nhanh 2-m Tuy nhiên, lấy m vào cỡ 50 100 xác suất sai qui lợng nhỏ Phần kÕt thóc b»ng mét tht to¸n Monte- Carlo kh¸c cho toán hợp số, thuật toán Miller- Rabin (M-R) (đợc coi phép kiểm tra giả nguyên tố mạnh) Thuật toán đợc mô tả hình 4.9 Đây thuật toán với thời gian đa thức: độ phức tạp cỡ O((log n)3) tơng tự nh thuËt to¸n S-S Thùc thøc tÕ thuËt toán M-R thực tốt thuật toán S-S Bây thuật toán lời n hợp số n số nguyên tố, tức thuật toán định hớng có Định lý 4.10 thuật toán Miller Rabin hợp số thuật toán monte-carlo định hớng có Hình 4.9 Thuật toán kiểm tra tính nguyên tố Miller-rabin với số nguyên lẻ n Viết n-1=2km, m số lẻ Chän sè nguyªn ngÉu nhiªn a, ≤ a ≤ (n-1 ) TÝnh b=am mod n IF b1 (mod n) then Trả lời n số nguyên tố quit For I=0 to k-1 IF b≡-1 (mod n) then Tr¶ lêi “n số nguyên tố quit Else b=b2 mod n 7.Trả lời n hợp số Chứng minh: Ta chứng minh cách giả sử thuật toán trả lời n hợp số với số nguyên tố n nhân đợc mâu thuẫt Vì thuật toán trả lời nlà hợ số nên chắn am 1(mod n) Bây xét dÃy giá trị b đợc kiểm tra bớc thuật toán Vì b đợc bình phơng phép lặp vòng For nên ta kiểm tra giá trị am , a2m ,,a2k-1m Vì thuật toán trả lời n hợp số nên suy ra: A2m ≡ -1 (mod n) Víi ≤ i k-1 Bây sử dụng giả thiết n số nguyên tố Theo định lý Ferma (hệ 4.6) ta cã A2km ≡ (mod 1) V× n-1 = 2km Khi a2k-1m bậc hai modulo n = mod n Điều thấy rõ nh sau: x bậc hai cđa theo modulo n vµ chØ n(x-1)(x+1) Vì n số nguyên tố nên n(x-1)(tức x1 modun) n(x+1) (tức x-1 modun) Ta ®· cã bëi vËy ta ph¶i cã: a2k-1m ≡ -1(mod n) a2k-1m 1(mod n) Khi a2k-2m phải bậc hai Bằng lập luận tơng tự: A2k-1m 1(mod n) điều mâu thuẫn, trờng hợp thuật toán phải có câu trả lời n số nguyên tố Còn vấn đề cha cha đợc xem xét xác xuất sai thuật toán M-R Mặc dù không chứng minh nhng chứng tỏ đợc xác xuất nhiều ẳ 4.6 Các phơng pháp công hệ mật rsa Trong phần ta lu tâm đến vấn đề:Liệu có phơng pháp công RSA khác với phơng pháp phân tích n không ? trớc tiên ta thấy thám mà cần tính đợc (n) đủ Nếu đà biết n (n) n tích số nguyên tố p q dễ dàng phân tích đợc n cách giải phơng trình sau để tìm hai sè p vµ q cha biÕt: n=pq Φ(n)=(p-1)(q-1) NÕu thay q=n/p phơng trình thứ ta thu đợc phơng trình bậc biến cha biết p : P2-(n-Φ(n) + 1)p + n=0 Hai nghiƯmncđa ph¬ng trình p q nhân tữ n Bởi thám mà biết đợc (n) phân tích đợc n phá đợc hệ mật.Nói cách khác, việc tính (n) không dễ việc phân tích n.Sau ví dụ dụ minh hoạ : Ví dụ 4.9 Giả sử thám mà đả biết n=84773093 (n)= 4754668 Thông tin dẫn tới phơng trình: P2-18426p+84773093=0 Giải phơng trình thu đợc hai nghiệm 9539 8887.Đây hai thừa số 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ị thuật toán để tính số mũ giải mà a đợc dùng nh chơng trình (hay điều kiện )trong thuật toán xác suất phân tích n Bởi việc tính a không dễ việc phân tích n.Tuy nhiên, có điều không quy luật ta phá hệ mật mà không cần tính a Kết có ý nghĩa nhiều mặt lý thuyết Nó cho thấy a bị lộ giá trị m không khó phân tích nữa.Nếu điều xẩy việc Bob chọn số mũ chẳng có ý nghĩa; Điều cần thiết Bob phải chọn lại n Thuật toán mà ta mô tả thuật toán xác suất kiểu las vegas.Sau định nghĩa kiểu thuật toán Định nghĩa 4.5 Giả sử số thực.Thuật toán las vegas mét tht to¸n x¸c st cao cho víi mét trêng hợp toán I, thuật toán không cho kết với xác suất (chẳng hạn thuật toán kết thúc với thông báo không trả lời).Tuy nhiên, thuật toán cho lời giải lời giải Nhân xét:Thuật toán las vegas không cho câu trả lời nhng câu trả lời mà thuật toán cho là câu tra lời đúng.Ngợc lại, thuật toán monte-carlo luôn cho câu trả lời nhng câu trà lời sai Nếu ta có thuật toán las vegas để giải toán đơn giản ta chạy lặp lặp lại thuật toán tìm câu trả lời.Xác suất để thuật toán không trả lời sau m lần liên tiếp m.Số lần chạy trung bình để thu đợc câu tra lời thực tế 1/ (Xem tập ) Giả sử A thuật toán giả định tính số mũ giải mà a từ b Ta mô tả thuật toán las vegas dùng A nh chơng trình giả định (oracle) con.Thuật toán sẻ phân tích n với xác suất tối thiểu 1/2.Bởi thuật toán chạy m lần n đợc phân tích với xác suất tối thiểu 1-1/2m Thuật toán đợc xây dựng sở số nguyên tố định liên quan tới bậc theo modulo n, n=pq tích hai số nguyên tố lẻ phân biệt ta biết phơng trình đồng d X2 1( mod p) có hai nghiệm theo modulo p X=1 mod p Tơng tự, phơng trình đồng d X21(mod q) có hai nghiệm X=±1 mod q V× X2 ≡1 (mod n) vµ chØ X2≡1 (mod p) vµ X2≡1 (mod q) nên suy X2 (mod n) X=±1 mod p vµ X=±1 mod q.Bëi vËy cã bậc theo modulo n tìm đợc thông qua định lý phần d china.Hai nghiệm X=1 mod n; chúng đợc gọi bậc hai tầm thờng giá trị đối theo modulo n Sau ví dụ dụ nhỏ để minh hoạ : Ví dụ 4.10 Giả sử n=403=13 11.Bốn bậc hai theo modulo 403 1,92,311 402.Căn bậc hai 92 nhận đợc cách giải hệ X1 (mod 13) , X-1 (mod 31) theo định lý phần d china.Nếu tìm đợc không tầm thờng này, nghiệm không tầm thờng phải 40392=311.Đó nghiệm hệ X-1(mod 13), X1 (mod 31) Giả sử X bậc hai không tầm thờng modulo n Khi ®ã ta cã n(x-1)(x+1) nhng n không ớc nhân tử vế phải Điều kéo theo UCLN (X+1,n) = p q(và tơng tự UCLN(X-1,n)=p q).Tất nhiên tính UCLN thuật toán Euclide mà không cần phải biết ph©n tÝch nh©n tư cđa n.Bëi vËy, hiĨu biÕt vỊ bậc hai không tầm thờng mod n làm cho việc phân tích n cần thực hiƯn thêi gian ®a thøc Trong vÝ dơ dơ 4.10 trên, UCLN (93,403) =31 UCLN (312,403)=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 cách tìm bậc hai không tầm thờng cđa 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 đa ví dụ để minh hoạ cho việc áp dụng thuật toán ví dụ 4.11 Giả sử n=89855713, b=34986517 a=82330933 giá trị ngẫu nhiên w=5.Ta có : ab-1=23.360059073378795 bớc 6, v=85877701 ë bíc 10 , v=1.Trong bíc 12 ta tÝnh UCLN (85877702,n)=9103 Đây thừa số n; thừa số n/9103=9871 Bây tiến hành phân tích thuật toán.Trớc tiên, nhân thấy ta may mắn chọn đợc w bội p q phân tích đợc n.Điều đợc biểu thị bớc Nếu nguyên tố víi n th× chóng ta sÏ tÝnh wr , w2r, w4r,,Bằng cách bình phơng liện tiếp W2r (mod n) Với giá trị t đó.Vì Ab-1=2sr0 (mod (n)) Hình 4.10 Thuật toán phân tích thừa sè (cho tríc sè mị gi¶i m· a) 10 11 Chän w ngÉu nhiªn cho 1≤ w ≤ n-1 TÝnh x=UCLN(w,n) IF < x < n then quit (thµnh công :x=p x=q) Tính a=A(b) Viết ab-1=2sr, r Lợ TÝnh v=wr mod n IF v=1 (mod n) then quit (không thàmh công) While v (mod n) V0=v v=v2 mod n If v0 ≡-1 (mod n) then Quit (không thành cô g) Else Tính x=UCLN(v0+1,n) (thành công :x=p hc x=q) NÕu ta cã W2r≡1(mod n) Bëi vËy, vòng lặp while kết thúc sau nhiều s bớc lặp kết thúc vòng lặp, ta tìm đợc giá trị v0 cho v021 (mod n) nhng v0≡ (mod n) NÕu v0≡-1 (mod ,n ) th× thuật toán không thành công ; ngợc lại , v0 bậc hai không tầm thờng modulo n ta phân tích đợc n (bớc 12 ) Nhiệm vụ lại phải chứng minh rằng, thuật toán thành công với xác suất ẵ Có hai cách mà theo thuật toán không thành công phân tích n : 11) 1.Wr≡1 (mod n) (bíc 7) 2.W2r≡-1 ( mod n ) với giá trị t , ≤ t ≤ s-1 (bíc Chóng ta cã n+1 ph¬ng trình đồng d để xem xét.Nếu giá trị ngẫu nhiên w nghiệm đồng d thức phép lựa chọn w tồi thuật toán không thành công .Bởi vËy, ta sÏ chun sang tÝnh sè c¸c nghiƯm cđa đông d thức Trớc tiên xét đồng d thức wr1 (md n).Phơng pháp phân tích đồng d thức giống nh cách xem xét cách riêng rẻ nghiệm theo modulo q Sau kết hợp chúng nhờ định lý phần d China Cần đề ý r»ng x≡1 (mod n) vµ chØ x≡1 (mod p) vµ x≡1 (mod q) Nh vËy, tríc hÕt ta phải xét wr1 (mod n) Vì p số nguyên tố nên z*p nhóm cyclic theo định lý 4.7.Giả sử g phần tử nguyên thuỷ theo modulo p.Ta cã thĨ viÕt w=gu víi sè nguyªn u đó, u p-2 Khi ®ã ta cã : r W ≡1(mod p) gur≡1 (mod p) (p-1) ur Gi¶ sư ta biĨu diƠn p-1=2ip1 p1 số lẻ q-1 =2jq1, q1 số lẻ Vì (n)=(p-1)(q-1) (ab-1)=2sr Nên ta có 2i+jp1q12sr Bởi vậy: i+j s Và P1q1 r Bây điều kiện p-1 ur sẻ trở thành 2ip1 ur Vì p1r r lẻ nên điều kiện cần đủ 2iu.Vì thế, u=k 2i, k p1-1 số nghiệm d thức wr1 (mod p) sẻ p1 Bằng lập luận tơng t, ta thấy đồng d thức wr (mod q) sẻ có ®óng q1 nghiƯm.Cã thĨ kÕt hỵp nghiƯm bÊt kú theo modulo p víi nghiƯm bÊt kú theo modulo q ®Ĩ thu đợc nghiệm theo modulo n nhờ định lý phần d China Do số nghiệm đồng d thức wr1 (mod n ) sẻ p1q1 TiÕp theo, xÐt ®ång d thøc w2r ≡1(mod n) với giá trị t cố định (trong : t s-1) Trớc tiên lại xét đồng d thøc theo modulo p råi sau ®o xÐt theo modulo q (Để ý rằng, ???-1 (mod n) w2r≡-1 (mod p) vµ w r ≡ −1( mod q ) Đầu tiên ta xét w r ≡ −1( mod q ) nÕu viÕt nh ë phần ta nhận đợc g r 1( mod q ) Vì g(p-1)/2 -1(mod p) nên ta cã u2tr ≡(p-1)/2( mod p-1) (p-1) │ (u2tr-(p-1)/2) 2(p-1)│ (u2t+1r-(p-1)) Vì p-1=2ip1 nên ta nhận đợc 2i+2 p1 u 2t+1r-2ip1) Loai bá thõa sè chung ta cã t t t u i +1 r + i │ (u -2 ) p1 XÐt thÊy nÕu t ≥ i nghiệm 2i+1 2t+1 i+1 nhng 2i+1 2i Mặt khác t i -1 u nghiệm u bội lẻ 2i-t-1 (chú ý r/p1 số nguyên lẻ) Bởi vậy, số nghiệm trờnh hợp p −1 × =2tp1 i −t −1 i Tơng tự, đồng d thức w r −1 (mod q) sÏ : - Kh«ng cã nghiƯm nÕu t ≥ j - Cã 2tq1 nghiÖm nÕu t ≤ j-1 Từ định lý phần d China ta thấy r»ng sè c¸c nghiƯm cđa w r ≡ −1( mod n ) lµ nÕu t ≥ min{i, j} 22t p1q1 nÕu t ≤ min{i, j ) − t cã thĨ n»m d¶i tõ tíi s-1 Không tính tổnh quát giả sử i j; số nghiệm t ≥ i Tỉng sè c¸c lùa chän”tåi” cđa w nhiỊu nhÊt lµ i p1q1+p1q1(1+2 +2 +…+2 2i-1) 2i − = p1q1(1+ ) 2 3 = p1q1  +  2i   Để ý p-1 = 2ip1 q-1=2jq1 Bây giả sử j i p1q1

Ngày đăng: 22/08/2012, 11:29

Hình ảnh liên quan

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. - Kiểm tra nguyên tố xác suất

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 Xem tại trang 7 của tài liệu.
Hình 4.8. Các xác suất sai đối với phép kiểm tra Solovay- Strasen - Kiểm tra nguyên tố xác suất

Hình 4.8..

Các xác suất sai đối với phép kiểm tra Solovay- Strasen Xem tại trang 9 của tài liệu.
Hình 4.9 Thuật toán kiểm tra tính nguyên tố Miller-rabin với số nguyên lẻ n - Kiểm tra nguyên tố xác suất

Hình 4.9.

Thuật toán kiểm tra tính nguyên tố Miller-rabin với số nguyên lẻ n Xem tại trang 10 của tài liệu.
Hình 4.10 Thuật toán phân tích thừa số (cho trớc số mũ giải mã a). - Kiểm tra nguyên tố xác suất

Hình 4.10.

Thuật toán phân tích thừa số (cho trớc số mũ giải mã a) Xem tại trang 15 của tài liệu.
Hình 4.12. Phép tìm kiếm nhị phân để giải mã RSA. - Kiểm tra nguyên tố xác suất

Hình 4.12..

Phép tìm kiếm nhị phân để giải mã RSA Xem tại trang 20 của tài liệu.
Hình 4.13. Hệ mật Rabin - Kiểm tra nguyên tố xác suất

Hình 4.13..

Hệ mật Rabin Xem tại trang 21 của tài liệu.

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan