1. Trang chủ
  2. » Luận Văn - Báo Cáo

NGHIÊN CỨU THUẬT TOÁN CHỨNG MINH TÍNH NGUYÊN TỐ CỦA MỘT SỐ NGUYÊN DỰA TRÊN KỸ THUẬT TÍNH TOÁN CỦA ĐƯỜNG CONG ELLIPTIC

78 5 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 78
Dung lượng 1,02 MB

Nội dung

NGHIÊN CỨU THUẬT TOÁN CHỨNG MINH TÍNH NGUYÊN TỐ CỦA MỘT SỐ NGUYÊN DỰA TRÊN KỸ THUẬT TÍNH TOÁN CỦA ĐƯỜNG CONG ELLIPTIC Số nguyên tố là chủ đề trọng tâm của lý thuyết số và có nhiều ứng dụng trong các lĩnh vực của toán học, đặc biệt trong mật mã hiện đại. Một số thuật toán mật mã khóa công khai, chẳng hạn như RSA, trao đổi khóa DiffleHellman dựa trên số nguyên tố lớn (khoảng 2048 bit), hàm băm, ... đều cần số nguyên tố lớn làm đầu vào thuật toán. Vì vậy việc tính số nguyên tố lớn và đánh giá xem số đó có là số nguyên tố hay không là một vấn đề quan trọng trong mật mã hiện đại. Việc nghiên cứu các phương pháp kiểm tra tính nguyên tố được nghiên cứu từ thế kỷ 17 thể hiện định lý của Fermat, Sollovay và Strassen vào năm 1977. Sau đó được Miller và Rabin phát triển ý tưởng kiểm tra tính nguyên tố theo lý thuyết xác suất. Vào năm 1985, H.W.Lentra đề xuất cách sử dụng các tính toán đường cong elliptic trong việc phân tích các số nguyên. Sau đó Goldwasser và Kilian phát triển việc kiểm tra tính nguyên tố dựa vào nhóm các điểm hữu tỷ của đường cong elliptic trên trường hữu hạn (thuật toán ECPP). Atkin và Morain đề xuất một ý tưởng tốt hơn cho việc chứng minh tính nguyên tố dựa trên đường cong elliptic. Tiếp đó, việc chứng minh tính nguyên tố được thiết kế bởi Adleman, Pomerence và Rumely, thuật toán của họ đã có thời gian chạy khá tốt. Thuật toán có thời gian chạy là đa thức với độ phức tạp đa thức được mong đợi. Cách tiếp cận phù hợp với sử dụng trong thực tế. Năm 2007, Morain và et.la, đã đưa ra một thực thi cho thuật toán ECPP với hiệu quả thực thi tốt và tối ưu hơn cho thuật toán ECPP. Nội dung của đồ án được chia làm 3 nội dung như sau: Chương 1: Tổng quan về một số thuật toán chứng minh tính nguyên tố của số nguyên. Chương này trình bày tổng quan về cơ sở toán học của một số thuật toán chứng minh tính nguyên tố và thuật toán ECPP trong mật mã. Chương 2: Thuật toán chứng minh tính nguyên tố dựa trên đường cong Elliptic. Chương này đưa ra cơ sở toán học của thuật toán chứng minh tính nguyên tố dựa trên đường cong elliptic và trình bày chi tiết hai thuật toán chứng mình tính nguyên tố dựa trên đường cong elliptic của GoldwasserKilian và Atkin. Chương 3: Xây dựng chương trình thuật toán chứng minh tính nguyên tố dựa trên đường cong elliptic. Chương trình trình bày về ngôn ngữ lập trình NetBeans và cách xây dựng chương trình chứng minh tính nguyên tố dựa trên đường cong. Đưa ra cài đặt thực nghiệm và kết 7 quả chương trình chứng minh tính nguyên tố dựa trên đường cong elliptic. Kết quả đạt được: Về mặt lý thuyết, đồ án đã trình bày được các nội dung sau: V Tìm hiểu về cơ sở toán học của thuật toán chứng minh tính nguyên tố của một số nguyên dựa trên kỹ thuật tính toán của đường cong elliptic. V Tìm hiểu thuật toán chứng minh tính nguyên tố theo Goldwasser Kilian và Atkin; Về phần thực nghiệm, đồ án đã thu được kết quả như sau: Xây dựng chương trình chứng minh tính nguyên tố ECPP của một số nguyên dựa trên kỹ thuật tính toán của đường cong elliptic.

ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SĨ NGHIÊN CỨU THUẬT TỐN CHỨNG MINH TÍNH NGUN TỐ CỦA MỘT SỐ NGUN DỰA TRÊN KỸ THUẬT TÍNH TỐN CỦA ĐƯỜNG CONG ELLIPTIC Nguyen Thanh Long Hà Nội - 2023 MỤC LỤC LỜI CẢM ƠN i LỜI CAM ĐOAN ii MỤC LỤC iii DANH MỤC HÌNH VẼ v DANH MỤC KÝ HIỆU vi LỜI MỞ ĐẦU vii CHƯƠNG 1: TỔNG QUAN VỀ MỘT SỐ THUẬT TỐN KIỂM TRA TÍNH NGUN TỐ CỦA SỐ NGUYÊN 1.1 Lịch sử, vai trò số nguyên tố sử dụng mật mã 1.1.1 Giới thiệu số học .1 1.1.2 Các kết lý thuyết số học đại số 1.2 Một số thuật tốn kiểmtra tính ngun tố 12 1.2.1 Thuật tốn kiểm tra tính nguyên tố theo xác suất .12 1.2.2 Thuật tốn kiểm tra tính ngun tố tất định 14 1.2.3 Thuật toán kiểm tra dựa phân rã N-1(tương ứng N+1) 15 1.3 Kết luận chương 20 CHƯƠNG 2: THUẬT TỐN CHỨNG MINH TÍNH NGUN TỐ DỰA TRÊN ĐƯỜNG CONG ELLIPTIC 21 2.1 Tổng quan số học đường cong elliptic 21 2.1.1 Một số khái niệm đường cong đại số 21 2.1.2 Tự đồng cấu frobenius 26 2.1.3 Bậc nhóm 28 2.1.4 Thuật toán ECPP 31 2.2 Thuật tốn chứng minh tính ngun tố dựa đường cong elliptic 32 2.2.1 Thuật toán ECPP Goldwasser-Kilian 32 2.2.2 Thuật toán ECPP Atkin 41 2.2.3 Tính đắn thuật tốn ECPP Atkin 48 2.3 Kết luận chương 53 CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH THUẬT TỐN CHỨNG MINH TINH NGUN TỐ DỰA TRÊN DƯỜNG CONG ELLIPTIC 55 3.1 Mơi trường thực thi chương trình 55 3.2 Xây dựng chương trình chứng minh tính ngun tố ECPP số ngun dựa kỹ thuật tính tốn đường cong elliptic 57 3.2.1 Lưu đồ thuật toán ECPP Atkin 57 3.2.2 Tạo Project C++ 59 3.2.3 Lập trình, thực thi số hàm sử dụng thuật toán ECPP Atkin 60 3.2.4 Kết đạt đánh giá 62 3.3 Phân tích đánh giá độ phức tạp tính tốn cho thuật toán ECPP Atkin 65 3.4 Kết luận chương 67 KẾT LUẬN 68 TÀI LIỆU THAM KHẢO 69 PHỤ LỤC 70 DANH MỤC HÌNH VẼ Hình 3.1: Cài đặt Java 55 Hình 3.2: Kiểm tra phiên Java 56 Hình 3.3: Cài đặt NetBeans thành công 56 Hình 3.4: Trang chủ NetBeans 56 Hình 3.5: Tạo Project C++ 59 Hình 3.6:Chọn đường dẫn lưu Project 60 Hình 3.7: Tạo makefile cho Project 60 Hình 3.8: Hàm rand2 61 Hình 3.9: Hàm gcd 61 Hình 3.10: Hàm inverse 61 Hình 3.11: Hàm modps 62 Hình 3.12: Hàm exp_mod 62 Hình 3.13: Hàm exp_pow 62 Hình 3.14: Khởi tạo giá trị mầm 63 Hình 3.15: Nhập số nguyên 210 chữ số cần kiểm tra 63 Hình 3.16:Kết đạt (số nguyên 210 chữ số) với thời gian thực thi 64 Hình 3.17: Nhập số nguyên 300 chữ số cần kiểm tra 64 Hình 3.18: Kết đạt được(số nguyên 300 chữ số) với thời gian thực thi 65 DANH MỤC KÝ HIỆU Tiếng Việt Viết tắt Tiếng Anh ECPP Elliptic curve primality proving RSA Rivest - Shamir - Adleman Kiểm tra số nguyên tố đường cong elliptic gcd Ước chung lớn lcm Bội chung nhỏ Cl(D) Form class group Nhóm lớp dạng CM Complex multiplication Lý thuyết nhân phức LỜI MỞ ĐẦU Số nguyên tố chủ đề trọng tâm lý thuyết số có nhiều ứng dụng lĩnh vực toán học, đặc biệt mật mã đại Một số thuật toán mật mã khóa cơng khai, chẳng hạn RSA, trao đổi khóa Diffle-Hellman dựa số nguyên tố lớn (khoảng 2048 bit), hàm băm, cần số nguyên tố lớn làm đầu vào thuật tốn Vì việc tính số ngun tố lớn đánh giá xem số có số nguyên tố hay không vấn đề quan trọng mật mã đại Việc nghiên cứu phương pháp kiểm tra tính nguyên tố nghiên cứu từ kỷ 17 thể định lý Fermat, Sollovay Strassen vào năm 1977 Sau Miller Rabin phát triển ý tưởng kiểm tra tính nguyên tố theo lý thuyết xác suất Vào năm 1985, H.W.Lentra đề xuất cách sử dụng tính tốn đường cong elliptic việc phân tích số ngun Sau Goldwasser Kilian phát triển việc kiểm tra tính nguyên tố dựa vào nhóm điểm hữu tỷ đường cong elliptic trường hữu hạn (thuật toán ECPP) Atkin Morain đề xuất ý tưởng tốt cho việc chứng minh tính nguyên tố dựa đường cong elliptic Tiếp đó, việc chứng minh tính ngun tố thiết kế Adleman, Pomerence Rumely, thuật toán họ có thời gian chạy tốt Thuật tốn có thời gian chạy đa thức với độ phức tạp đa thức mong đợi Cách tiếp cận phù hợp với sử dụng thực tế Năm 2007, Morain et.la, đưa thực thi cho thuật toán ECPP với hiệu thực thi tốt tối ưu cho thuật toán ECPP Nội dung đồ án chia làm nội dung sau: Chương 1: Tổng quan số thuật toán chứng minh tính ngun tố số ngun Chương trình bày tổng quan sở toán học số thuật tốn chứng minh tính ngun tố thuật tốn ECPP mật mã Chương 2: Thuật toán chứng minh tính nguyên tố dựa đường cong Elliptic Chương đưa sở toán học thuật toán chứng minh tính nguyên tố dựa đường cong elliptic trình bày chi tiết hai thuật tốn chứng tính nguyên tố dựa đường cong elliptic Goldwasser-Kilian Atkin Chương 3: Xây dựng chương trình thuật tốn chứng minh tính nguyên tố dựa đường cong elliptic Chương trình trình bày ngơn ngữ lập trình NetBeans cách xây dựng chương trình chứng minh tính ngun tố dựa đường cong Đưa cài đặt thực nghiệm kết chương trình chứng minh tính ngun tố dựa đường cong elliptic CHƯƠNG 1: TỔNG QUAN VỀ MỘT SỐ THUẬT TỐN KIỂM TRA TÍNH NGUN TỐ CỦA SỐ NGUYÊN 1.1 Lịch sử, vai trò số nguyên tố sử dụng mật mã Số nguyên tố việc đánh giá xem số có số nguyên tố hay không vấn đề quan trọng mật mã đại Việc nghiên cứu phương pháp kiểm tra tính nguyên tố nghiên cứu theo lý thuyết số Eratos - thenes vào kỷ 3rd BC Hiệu tạo tập số nguyên tố từ tới N khoảng O (N log log N) bước theo phương pháp sàng Eratosthenes Vào kỷ 17 việc nghiên cứu kiểm tra tính nguyên tố thể qua số định lý Fermat Với cải tiến mật mã, cụ thể mã hóa liệu mật mã khóa cơng khai Khi đó, tính quan trọng việc tìm số nguyên tố lớn quan trọng Sử dụng ý tưởng định lý Fermat, vào năm 1977 Sollovay Strassen vào năm 1980 Miller Rabin phát triển ý tưởng kiểm tra tính nguyên tố theo lý thuyết xác suất Sau đó, kiểm tra tính nguyên tố thiết kế Adleman, Pomerence Rumely, thuật tốn họ có thời gian chạy tốt Thời gian chạy thuật toán họ chứng minh O((log N) c'log log log N) với c > Thuật tốn có thời gian chạy đa thức với độ phức tạp đa thức mong đợi Cách tiếp cận phù hợp với sử dụng thực tế Nó cải tiến H.W.Lentra Cohen, cài đặt Cohen A.K.Lenstra Vào năm 1985, H.W.Lentra đề xuất cách sử dụng tính tốn đường cong elliptic việc phân tích số nguyên Sau Goldwasser Kilian phát triển việc kiểm tra tính ngun tố dựa vào nhóm điểm hữu tỷ đường cong elliptic trường hữu hạn (thuật toán ECPP) Atkin Morain đề xuất ý tưởng tốt cho việc chứng minh tính nguyên tố dựa đường cong elliptic Lý thuyết thực tiễn cho thấy rằng, thuật tốn chứng minh tính ngun tố dựa đường cong elliptic có hiệu tốt phương pháp truyền thống 1.1.1 Giới thiệu số học a) Ước chung lớn bội chung nhỏ Số nguyên d chia hết n tồn số nguyên k cho n = kd Khi đó, d cịn gọi ước n Ước d n ước d £ {-n,n,1,-1} Bội N n bội N £ {-n, n} Số nguyên dương nguyên tố khơng có ước Nghĩa là, khơng có ước ngồi nó, đối ±1 Thông thường ta quan tâm đến số nguyên tố dương Mệnh đề Số nguyên dương n ngun tố khơng chia hết cho số nguyên d thỏa mãn < d cho với ước chung e khác m n ta có e|d Ước d ước chung lớn m, n; ký hiệu (m, n) gcd(m, n) Ước chung lớn số nguyên m, n khác số nguyên dương nhỏ dạng xm+yn với x, y e Z Chú ý 5: Hai số nguyên tố ước chung lớn chúng Hệ Cho m, n số nguyên khác Trong tất bội chung m n, có bội N > cho bội chung M khác m, n Khi N|M Bội N bội chung nhỏ m, n (được ký hiệu lcm(n,m)) b) Sự phân tích Định lý (sự phân tích nhất): Mỗi số ngun N viết theo cách tích số nguyên tố N = ±pf pf, với số mũ nguyên dương số nguyên tố pỴ, ,pn khác Hệ Cho N số nguyên dương phân tích thừa số nguyên tố N = ±Pỵ.-.Pe Khi đó, hàm Ơle có dạng: Ợ9(N) = (P1 - 1)Pie (p„ - 1)pn i_1 -1 Bổ đề 9: Cho p số nguyên tố giả sử a b số nguyên với p|(ab) Khi p|a p|b hai Hệ bổ đề Nếu số ngun tố p chia hết tích aa an p chia hết nhân tử Các kết hoàn toàn vành vành Euclid Định nghĩa 10 Cho R miền nguyên, a,b G R, d ước chung a & b Khi d ước chung lớn (viết gcd a & b), d’|d với tất ước chung d’ a &b Bổ đề 11 Cho R miền ideal chính, a, b G R I = (a, b) ideal R sinh a b Nếu I = (d) với d G R d gcd a b Định lý 12 (Thuật toán Euclid): Cho R vành euclid với hàm euclid ip, a,b E R,b * 0,1 = (a, b) Đặt r = a;r = b Vi > 0,r = qpi+i + r+2 cho: ri+2 = iptPi+J w(D) chuyển tới bước 14 ngược lại D < -4 gán a ag2,b bg3; D = -4 gán a ag, D = -3 gán b bg chuyển tới bước - Tìm điểm P (Bước 11): chọn 'ngẫu nhiên' x e Z / NZ thỏa mãn ký hiệu Legendre (tương ứng Jacobi) (điều xảy sau vài phép trial) Sau tính y e Z / NZ x + ax + b , i _ —) - băng với y2 = x3 + ax + b (nếu thất bại chuyển tới bước 14 ) Nếu I N J P + (0:1:0) chuyển tới bước 10 iJ Khối kiểm tra i=0 hay không (Bước 14): Nếu i = đầu thơng điệp ‘ N hợp số’ kết thúc thuật toán Ngược lại gán i i -1 chuyển tới bước 3.2.2 Tạo Project C+ + Chương trình chứng minh tính ngun tố ECPP số nguyên dựa đường cong elliptic viết băng ngơn ngữ C++ có ngơn ngữ lập trình NetBeans IDE Đầu tiên: ngơn ngữ lập trình NetBeans, em tạo Project C++ sau: Vào File New Project C/C++ Hình 3.5: Tạo Project C+ + 59 Tiếp theo: Chọn Next, sau tạo tên thư mục tiếp tục nhấn Next Hình 3.6: Chọn đường dẫn lưu Project Tạo makefile: Hình 3.7: Tạo makefile cho Project Cuối cùng: Chọn Next Project khởi tạo 3.2.3 Lập trình, thực thi số hàm sử dụng thuật toán ECPP Atkin > Hàm rand2 Hàm rand2 đầu kết số giả ngẫu nhiên GMP với 32-bits 60 mpzclass rand2() /* qua _ so n.qau GMP 32-bits mpz_t temp; mpz_init(temp); mpz_urandomb(temp, rstate, 32); mpz_class temp_class(temp); mpz_clear(temp); return tempclass; Hình 3.8: Hàm rand2 > Hàm gcd Hàm gcd đầu kết ước chung lớn a b mpzclass gcdtmpzclass a, mpzclass /* qua la _ { mpzt temp; } b) _ a xa b */ b.getmpzt() Hình 3.9: Hàm gcd > Hàm inverse Hàm inverse đầu kết nghịch ảnh a modulo b no không tồn mpz_class inverse(mpz_class a, mpz_class b) { irpz t temp; mpz_init(temp); if (!mpz_invert(temp, a.get_mpz_t(), b.get_mpz_t())) mpz_set_si(temp, 0); mpz_class temp_class(temp); mpz_clear(temp); return temp_class; L } /* _ qua náiídã _ _ a modulo b no khong ton Hình 3.10: Hàm inverse > Hàm modps Hàm modps đầu kết a modulo b, với giới số hạn không âm 61 mpzclass modpos(mpz_class a, mpzclass b) /* qua a modulo b, alii so _ khons am 0{ mpzclass tempclass; tempclass = a % b; if (tempclass < 0) tempclass += b; return temp class; L } Hình 3.11: Hàm modps Hình 3.12: Hàm exp mod > Hàm exp_pow Hàm exp_pow đầu kết giá trị biểu thức ae mpzclass exp_pow(mpz_class a, long e) /* qua a A e */ 0{ mpzt temp; mpzinit(temp); mpz_pow_ui(temp, a.get_mpz_t() mpzclass tempclass(temp); mpzclear(temp); return teaplass; L e); } Hình 3.13: Hàm exp_pow 3.2.4 Kết đạt đánh giá Chương trình thuật tốn chứng minh tính ngun tố dựa đường cong elliptic triển khai máy tính có cấu sau: 62 - Hệ điều hành Ubuntu 11.10 - Laptop chip AMD RYZEN5, RAM 16GB, ổ SSD 512GB Với số nguyên 210 chữ số thập phân kết thời gian khoảng phút giây Output X Terminal-localhost ecpp_gmp (Build, Run) X ecpp_gmp (Run) X lí Mam ngau nhien = 1654513189 > error_shift = 1000 a Do chinh xac = 10000 So PI = 3.1415926535897932384626433832795(3288419716939937510582097494459230781640628 62089986280348253421170679821480865132823 06647093844609550582231725359408128481117450284102701938521105559644622 948954930381964428810975665933446128475648233786783165 27120190914564856692346034861045432664821339360726024914127372458700660 631558817488152092096282925409171536436789259036001133 05305488204665213841469519415116094330572703657595919530921861173819326 117931051185480744623799627495673518857527248912279381 83011949129833673362440656643086021394946395224737190702179860943702770 539217176293176752384674818467669405132000568127145263 56082778577134275778960917363717872146844090122495343014654958537105079 227968925892354201995611212902196086403441815981362977 47713099605187072113499999983729780499510597317328160963185950244594553 469083026425223082533446850352619311881710100031378387 52886587533208381420617177669147303598253490428755468731159562863882353 787593751957781857780532171226806613001927876611195909 21642019893809525720106548586327886593615338182796823030195203530185296 63 899577362259941389124972177528347913151557485724245415 06959508295331168617278558890750983817546374649393192550604009277016711 390098488240128583616035637076601047101819429555961989 46767837449448255379774726847104047534646208046684259069491293313677028 989152104752162056966024058038150193511253382430035587 64024749647326391419927260426992279678235478163600934172164121992458631 503028618297455570674983850549458858692699569092721079 75093029553211653449872027559602364806654991198818347977535663698074265 425278625518184175746728909777727938000816470600161452 49192173217214772350141441973568548161361157352552133475741849468438523 323907394143334547762416862518983569485562099219222184 27255025425688767179049460165346680498862723279178608578438382796797668 145410095388378636095068006422512520511739298489608412 84886269456042419652850222106611863067442786220391949450471237137869609 563643719172874677646575739624138908658326459958133904 78027590099465764078951269468398352595709825822620522489407726719478268 482601476990902640136394437455305068203496252451749399 65143142980919065925093722169646151570985838741059788595977297549893016 175392846813826868386894277415599185592524595395943104 99725246808459872736446958486538367362226260991246080512438843904512441 365497627807977156914359977001296160894416948685558484 06353422072225828488648158456028506016842739452267467678895252138522549 954666727823986456596116354886230577456498035593634568 17432411251507606947945109659609402522887971089314566913686722874894056 010150330861792868092087476091782493858900971490967598 52613655497818931297848216829989487226588048575640142704775551323796414 515237462343645428584447952658678210511413547357395231 13427166102135969536231442952484937187110145765403590279934403742007310 578539062198387447808478489683321445713868751943506430 Hình 3.14: Khởi tạo giá trị mầm Hình 3.15: Nhập số nguyên 210 chữ số cần kiểm tra 64 X Terminal - localhost ecpp_gmp (Build, Run) x I ecpp_gmp (Run) x co P2 = (1451037960633769163076442829658, 1181017323010200689070103850614) Bmax = 2000 Dmax = 20 N[14] = 108945985474285687081 a=0 b = 55651324281721149729 m = 108945985454690074491 q = 21282405889 p = (3736461923, 35983443110411470626) Pl = (0, 1) P2 = (98015206878705336951, 18043036143803226669) Bíĩiax = 2060 Dmax = 20 N[15] = 21282405889 a=0 b = 413124207 m = 21282665383 q = 98076799 p = (3206933599, 12148737738) Pl = (0, 1) P2 = (7621318249, 3772536611) Day la so nguyen to RUN FINISHED; exit value 0; real time: 6m 24s; user: 660ms; system: 5m 7s Output I Hình 3.16: Kết đạt (số nguyên 210 chữ số) với thời gian thực thi 65 Với số nguyên có 300 chữ số thập phân kết đạt với thời gian thực thi 17 phút 31 giây Hình 3.17: Nhập số nguyên 300 chữ số cần kiểm tra 66 Output X Terminal-localhost ecpp_gmp (Build,, Run) x I ecpp_gmp (Run) x PĨ = (0, 1) P2 = (50907794450864858, 111920392697024042) Bmax - 2Ũ00 Dmax = 20 N[21] = 2304(361451521 a=0 b = 1942212500028 m = 2304058573425 q = 4388682997 p = (1446600507, 1340167487915) Pl = (0, 1) P2 = (990722820725, 2180792036886) Bmax - 2000 Dmax = 20 N[22] = 4388682997 a=0 b = 3966879954 m = 4388798379 q = 2029033 p = (1641057941, 3990335056) Pl = (0, 1) P2 = (2551904700, 1367130906) Day la so nguyen to RUN FINISHED; exit value 0; real time: 18m 40s; user: Is; system: 17m 31s Hình 3.18: Kết đạt được(số nguyên 300 chữ số) với thời gian thực thi 3.3 Phân tích đánh giá độ phức tạp tính toán cho thuật toán ECPP Atkin Hai định lý phía sau theo Heath-Brown Lenstra (tương ứng) giúp có sở toán học để đánh giá độ phức tạp thuật toán ECPP theo Atkin mặt lý thuyết Điều thơng qua cơng trình Atkin với đầu vào thuật toán khác phân phối, cụ thể Định lí (Heath-Brown): Số nguyên y gọi sparse tồn ■jỹ / 21_ log y _| số nguyên tố thuộc y, y+[4Ĩ _ Khi tồn số a cho với x đủ lớn |{y : y e [x,2x], y sparse}| < x5/6 logaX Cho đường cong elliptic (A, B), ký hiệu > số điểm thuộc (A, B) GF(p) Theo định lý Hasse p +1 -2^p

Ngày đăng: 25/08/2023, 14:43

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN