Nghiên cứu phát triển mã hóa trên đường cong Elliptic dựa trên chuỗi cơ số kép tối ưu

20 303 0
Nghiên cứu phát triển mã hóa trên đường cong Elliptic dựa trên chuỗi cơ số kép tối ưu

Đ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

Header Page of 16 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN ————————— Đặng Thị Liên NGHIÊN CỨU PHÁT TRIỂN MÃ HÓA TRÊN ĐƯỜNG CONG ELLIPTIC DỰA TRÊN CHUỖI CƠ SỐ KÉP TỐI ƯU LUẬN VĂN THẠC SĨ KHOA HỌC Hà Nội - 2016 Footer Page of 16 Header Page of 16 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN ————————— Đặng Thị Liên NGHIÊN CỨU PHÁT TRIỂN MÃ HÓA TRÊN ĐƯỜNG CONG ELLIPTIC DỰA TRÊN CHUỖI CƠ SỐ KÉP TỐI ƯU Chuyên ngành: Cơ sở toán cho tin học Mã số : 60460110 LUẬN VĂN THẠC SĨ KHOA HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Nguyễn Hải Vinh Hà Nội - 2016 Footer Page of 16 Header Page of 16 LỜI CẢM ƠN Được phân công khoa Toán - Cơ - Tin học, Trường Đại học Khoa học Tự nhiên, Đại Học Quốc Gia Hà Nội, đồng ý Thầy giáo hướng dẫn TS Nguyễn Hải Vinh, thực đề tài "Nghiên cứu phát triển mã hóa đường cong Elliptic dựa chuỗi số kép tối ưu" Để hoàn thành luận văn này, xin bày tỏ lòng biết ơn sâu sắc tới TS Nguyễn Hải Vinh - người Thầy trực tiếp hướng dẫn bảo giúp hoàn thành luận văn thạc sĩ Tôi xin chân thành cảm ơn Thầy, Cô giáo tận tình hướng dẫn, giảng dạy suốt trình học tập rèn luyện trường Qua đây, xin gửi lời cảm ơn tới gia đình, bạn bè, đồng nghiệp - người bên cạnh cổ vũ, động viên, giúp đỡ suốt trình học tập thực luận văn Mặc dù cố gắng thực luận văn song kiến thức nhiều hạn chế nên luận văn không tránh khỏi thiết sót định Do đó, mong góp ý quý Thầy, Cô giáo bạn để luận văn hoàn thiện Tôi xin chân thành cảm ơn! Hưng Yên, ngày tháng năm 2016 Học viên Đặng Thị Liên Footer Page of 16 Header Page of 16 BẢNG KÍ HIỆU, CHỮ VIẾT TẮT STT Kí hiệu DBC DBNS EC ECC NAF I S M RSA 10 Ds Dạng đầy đủ Double Base Chains Double Base Number System Elliptic Curve Elliptic Curve Cryptography Non Adjacent Form Field Inversions Field Squarings Field Multiplications Cryptosystem proposed by Rivest, Shamir, Adleman Digit set Footer Page of 16 Ý nghĩa Chuỗi số kép Hệ biểu diễn số kép Đường cong Elliptic Hệ mật mã đường cong Elliptic Dạng hình thức không liền kề Phép nghịch đảo trường Phép bình phương trường Phép nhân trường Hệ mật mã khóa công khai RSA Tập số Header Page of 16 Mục lục Lời mở đầu Chương Cơ sở lý thuyết 1.1 Sơ lược mật mã học 1.2 Đường cong Elliptic trường nguyên tố hữu hạn 10 1.2.1 Định nghĩa 10 1.2.2 Tính chất đường cong Elliptic 12 1.2.3 Các phép toán đường cong Elliptic 13 1.2.4 Chi phí số phép toán điểm 16 Hệ mật mã dựa đường cong Elliptic 20 1.3.1 Quá trình mã hóa 22 1.3.2 Quá trình giải mã 22 1.3 Chương Một số phương pháp chi phí tính phép nhân vô hướng đường cong elliptic 24 2.1 Đặt toán 24 2.2 Một số phương pháp chi phí tính phép nhân vô hướng đường cong elliptic 24 2.2.1 Phương pháp Double-and-Add 24 2.2.2 Phương pháp sử dụng chuỗi hình thức không liền kề (NAF) 27 2.2.3 Phương pháp sử dụng chuỗi số kép tối ưu 30 Chương Áp dụng tính toán thực tế 3.1 50 Tính toán sở lý thuyết 50 3.1.1 Chi phí phương pháp Double-and-Add 50 3.1.2 Chi phí phương pháp NAF 51 3.1.3 Chi phí phương pháp sử dụng DBC miền Ds = {0, 1} 53 Footer Page of 16 Header Page of 16 3.1.4 Chi phí phương pháp sử dụng DBC miền Ds = {0, 1, −1} 54 3.2 Kết dựa sở chạy chương trình 58 3.3 Ứng dụng mã hóa giải mã đường cong Elliptic 59 3.3.1 Hệ mật mã khóa công khai ElGamal 60 3.3.2 Cài đặt chương trình sử dụng phương pháp ElGamal 60 Kết luận 64 Phụ lục 65 Tài liệu tham khảo 68 Footer Page of 16 Header Page of 16 LỜI MỞ ĐẦU Ngày nay, phát triển công nghệ thông tin, truyền thông nói chung đặc biệt bùng nổ internet nói riêng giúp cho việc trao đổi thông tin trở nên nhanh chóng, dễ dàng Song song với lợi ích tồn số vấn đề trình lưu trữ truyền tải thông tin, thông tin bị đánh cắp, bị sai lệch bị giả mạo Điều ảnh hưởng đến tổ chức, công ty hay quốc gia Để giải vấn đề trên, an toàn thông tin đặt cấp thiết Kỹ thuật mật mã giải pháp an toàn truyền thông Các nhà khoa học phát minh hệ mật mã nhằm che dấu thông tin làm rõ chúng để tránh kẻ cố tình phá hoạt hệ mật: RSA, ElGamal an toàn, nhiên độ dài khóa lớn nên số lĩnh vực ứng dụng Chính vậy, người ta phát minh hệ mật hệ mật mã dựa đường cong elliptic Hệ mật đánh giá có độ bảo mật an toàn cao hiệu số hệ mật công khai khác khả bảo mật ECC cao với kích thước khóa nhỏ nên làm giảm thời gian tạo khóa, thu gọn kích thước chứng nhận giao dịch mạng giảm kích thước tham số hệ thống mã hóa Mục đích luận văn nghiên cứu phương pháp giảm thời gian tạo khóa cách tập trung vào hệ thắt nút cổ chai ECC - "phép nhân với đại lượng vô hướng" (gọi tắt nhân vô hướng) Q = rS , với S, Q điểm EC, r số nguyên dương Thời gian tính toán hệ phụ thuộc mạnh mẽ vào biểu diễn vô hướng r, biểu diễn thường gặp chuỗi nhị phân, chuỗi hình thức không liền kề, chuỗi số kép, Yêu cầu đặt hệ mật mã dựa đường cong elliptic giảm bớt khó khăn phép tính Q = rS với vô hướng r có nhiều cách để biểu diễn r nên ta có phương pháp tính nhân vô hướng đặc trưng cho biểu diễn Để làm rõ vai trò biểu diễn vô hướng r hệ ECC phát triển phương pháp thực phép nhân vô hướng nhằm giảm chi phí, thời gian tính toán trình mã hóa, định chọn đề tài: "Nghiên cứu phát triển mã hóa đường cong Elliptic dựa chuỗi số kép tối ưu" Đối tượng nghiên cứu luận văn bao gồm sở toán học hệ mật dựa đường cong elliptic; phương pháp chi phí tính nhân vô hướng, tập trung vào phương pháp sử dụng chuỗi số kép tối ưu miền Ds khác Footer Page of 16 Header Page of 16 Phạm vi nghiên cứu luận văn: Dựa sách báo khoa học liên quan đến hệ mật đường cong Elliptic, mà trọng tâm báo "Fast Elliptic curve cryptography using optimal double - Base Chains" nhóm tác giả Vorapong Suppakitpalsarn, Masato Edahiro, Hiroshi Imai Bài báo đề xuất phương án sử dụng chuỗi số kép tối ưu để tính nhân vô hướng miền miền Ds = {0, 1} Ds = {0, 1, −1} Kết luận văn nghiên cứu trình hoàn thiện mã hóa đường cong Elliptic qua phương pháp nhân vô hướng khác So sánh, đối chiếu phương pháp từ rút phương pháp hiệu tối ưu Ứng với phương pháp xây dựng chương trình minh họa cho Dựa vào mục đích, phạm vi, đối tượng nghiên cứu, luận văn trình bày bao gồm chương với phần mở đầu, kết luận phụ lục: • Chương 1: Cơ sở lý thuyết • Chương 2: Một số phương pháp chi phí tính phép nhân vô hướng đường cong Elliptic • Chương 3: Áp dụng tính toán thực tế Footer Page of 16 Header Page of 16 Chương 1.1 Cơ sở lý thuyết Sơ lược mật mã học Mật mã người sử dụng từ lâu đời Các hình thức mật mã sơ khai tìm thấy từ khoảng bốn nghìn năm trước văn minh Ai Cập cổ đại Trải qua hàng nghìn năm lịch sử, mật mã sử dụng rộng rãi khắp nơi giới từ Đông sang Tây để giữ bí mật cho việc giao lưu thông tin nhiều lĩnh vực hoạt động người quốc gia, đặc biệt lĩnh vực quân sự, trị, ngoại giao Mật mã trước hết loại hoạt động thực tiễn, nội dung để giữ bí mật thông tin Ví dụ muốn gửi văn từ người gửi A đến người nhận B, A phải tạo cho văn mã mật tương ứng thay gửi văn rõ A gửi cho B mã mật, B nhận mã mật khôi phục lại văn rõ để hiểu thông tin mà A muốn gửi cho Do văn gửi thường chuyển qua đường công khai nên người “lấy trộm” được, mật mã nên không đọc hiểu được; Còn A tạo mã mật B giải mã mật thành rõ để hiểu hai người có thoả thuận chìa khoá chung, với khoá chung A tạo mã mật từ rõ B khôi phục rõ từ mã mật Khoá chung gọi khoá mật mã Để thực phép mật mã, ta cần có thuật toán biến rõ với khoá mật mã thành mã mật thuật toán ngược lại biến mật với khoá mật mã thành rõ Các thuật toán gọi tương ứng thuật toán lập mã thuật toán giải mã Các thuật toán thường không thiết phải giữ bí mật, mà cần giữ bí mật khoá mật mã Trong thực tiễn, có hoạt động ngược lại với hoạt động bảo mật khám phá bí mật từ mã “lấy trộm” được, hoạt động thường gọi mã thám hay phá khoá [2] Hiện nay, người ta chia hệ mật mã thành hai loại chính: • Mật mã khóa đối xứng, hay gọi mật mã khóa bí mật [3] • Mật mã khóa bất đối xứng, hay gọi mật mã khóa công khai [3] Nhắc đến hệ mật mã khóa bí mật, ta thấy ưu điểm trội việc dùng chung khóa để lập mã giải mã thực nhanh chóng đơn giản Mặc dù mã hóa đối xứng phát triển từ cổ điển đến đại tồn hai điểm yếu sau: Footer Page of 16 Header Page 10 of 16 • Vấn đề trao đổi khóa người gửi người nhận: Cần có thêm kênh an toàn để trao đổi khóa cho khóa giữ bí mật có người gửi người nhận biết Điều trở nên khó khăn khối lượng thông tin truyền tải khắp giới lớn Việc thiết lập kênh an toàn tốn mặt chi phí chậm trễ mặt thời gian • Tính bảo mật khóa: Vì khóa dùng chung cho người gửi người nhận nên khóa bị lộ sở quy trách nhiệm cho người Để giải vấn đề phân phối thoả thuận khoá mật mã khoá đối xứng, năm 1976 Diffie Hellman đưa khái niệm hệ mật mã khoá công khai phương pháp trao đổi công khai để tạo khoá bí mật chung mà tính an toàn bảo đảm độ khó toán toán học, cụ thể toán tính logarit rời rạc [1] Hệ mật mã khoá công khai hay gọi hệ mật mã phi đối xứng sử dụng cặp khoá, khoá mã hoá gọi khoá công khai (public key) khoá giải mã gọi khoá bí mật hay khóa riêng (private key) Trong hệ mật này, khoá mã hoá khác với khoá giải mã Về mặt toán học từ khoá công khai khó tính khoá riêng Biết khoá không dễ dàng tìm khoá Khoá giải mã giữ bí mật khoá mã hoá công bố công khai Một người sử dụng khoá công khai để mã hoá tin tức, có người có khoá giải mã có khả xem rõ Người gửi A mã hoá thông điệp khóa công người nhận người nhận B giải mã thông điệp với khoá riêng tương ứng Có nhiều hệ thống khoá công khai triển khai rộng rãi hệ RSA, hệ ElGamal sử dụng giao thức trao đổi khoá Diffie-Hellman lên năm gần hệ mật mã dựa đường cong Elliptic Trong số hệ mật mã trên, hệ mã hóa công khai RSA hệ cộng đồng chuẩn quốc tế công nghiệp chấp nhận rộng rãi việc thực thi mật mã khoá công khai Hệ mật mã RSA, Rivest, Shamir Adleman [3] tìm ra, công bố lần vào tháng năm 1977 tạp chí Scientific American Hệ mật mã RSA sử dụng rộng rãi thực tiễn đặc biệt cho mục đích bảo mật xác thực liệu số Tính bảo mật an toàn chúng bảo đảm độ phức tạp toán số học tiếng toán phân tích số thành thừa số nguyên tố [1] Để thực mã hóa giải mã phương pháp RSA [2], RSA dùng phép lũy thừa modulo lý thuyết số thực theo bước sau: Footer Page 10 of 16 Header Page 11 of 16 Chọn hai số nguyên tố lớn p q tính N = pq Cần chọn p q cho: M < 2i−1 < N < 2i Với i = 1024 N số nguyên dài khoảng 309 chữ số Tính n = (p − 1)(q − 1) Tìm số e cho e nguyên tố với n Tìm số d cho e.d ≡ (mod n) (d nghịch đảo e phép modulo n ) Hủy bỏ n, p q Chọn khóa công khai KU cặp (e, N ), khóa riêng KR cặp (d, N ) Việc mã hóa thực theo công thức: C = E(M, KU ) = M e mod N Việc giải mã thực theo công thức: M = D(C, KR ) = C d mod N Đối với phương pháp RSA, để đảm bảo an toàn, phải chọn số N lớn (1024 bít) nên việc sinh khóa, lập mã giải mã phức tạp, dẫn đến tốc độ thực chậm Để khắc phục nhược điểm này, năm 1985, hai nhà khoa học Neal Koblitz Victor S Miller độc lập nghiên cứu đưa đề xuất ứng dụng lý thuyết toán học đường cong elliptic (elliptic curve) trường hữu hạn [3] để xây dựng mã hóa dựa đường cong Elliptic Mã hóa đường cong elliptic giải vấn đề mã hóa RSA dùng tham số có kích thước ngắn (168 bít) nhiên đảm bảo độ an toàn RSA 1024 bít Ưu điểm bật ECC hệ mật mã sử dụng khoá có độ dài nhỏ so với RSA Từ làm tăng tốc độ xử lý cách đáng kể, số phép toán dùng để mã hoá giải mã yêu cầu thiết bị có khả tính toán thấp hơn, nên giúp tăng tốc độ làm giảm lượng cần sử dụng trình mã hoá giải mã Sau đây, tìm hiểu chi tiết lý thuyết toán học đường cong elliptic trường nguyên tố hữu hạn hệ mật mã dựa đường cong elliptic Footer Page 11 of 16 Header Page 12 of 16 1.2 Đường cong Elliptic trường nguyên tố hữu hạn Tính bảo mật hệ thống mã hóa sử dụng đường cong elliptic dựa điểm mấu chốt độ phức tạp toán logarit rời rạc hệ thống đại số [1] Không giống toán logarit rời rạc trường hữu hạn toán phân tích thừa số số nguyên, toán logarit rời rạc đường cong elliptic chưa có thuật toán có thời gian nhỏ cấp lũy thừa Thuật toán tốt biết đến hôm tốn thời gian thực cấp lũy thừa 1.2.1 Định nghĩa Gọi K trường hữu hạn vô hạn Một đường cong elliptic định nghĩa trường K công thức Weierstrass (theo tài liệu [4, 7]): y z + a1 xyz + a3 yz = x3 + a2 x2 z + a4 xz + a6 z a1 , a2 , a3 , a4 , a6 ∈ K Đường cong elliptic trường K kí hiệu E(K) Đối với trường khác nhau, công thức Weierstrass biến đổi đơn giản hóa thành dạng khác Trong luận văn xét đường cong elliptic trường nguyên tố hữu hạn nên ta có dạng thu gọn đường cong với định nghĩa sau: Đường cong Elliptic E trường nguyên tố hữu hạn Zp kí hiệu (E(Zp )), đường cong có hệ số thuộc trường Zp , đường cong có dạng: (E(Zp )) : y mod p = x3 + ax + b mod p (1.2.1) với a, b ∈ Zp , ∆ = −16 4a3 + 27b2 = , char(Zp ) > , tập tất cặp điểm (x, y) với x, y ∈ Zp thỏa mãn phương trình với điểm O - gọi điểm vô cực Ví dụ trường Z23 , chọn a = 1, b = 1, x = 9, y = ta có: 72 mod 23 = (93 + + 1) mod 23 49 mod 23 = 739 mod 23 = 10 Footer Page 12 of 16 Header Page 13 of 16 Khác với đường cong Elliptic trường số thực [1], biểu diễn đường cong Elliptic E(Zp ) đồ thị hàm số liên tục Bảng bên liệt kê điểm (x, y) đường cong y = x3 + x + trường Z23 với a = 1, b = sau: Bảng 1: Danh sách điểm đường cong y mod 23 = x3 + x + mod 23 (0, 1) (6, 4) (12, 19) (0, 22) (6, 19) (13, 7) (1, 7) (7, 11) (13, 16) (1, 16) (7, 12) (17, 3) (3, 10) (9, 7) (17, 20) (3, 13) (9, 16) (18, 3) (4, 0) (11, 3) (18, 20) (5, 4) (11, 20) (19, 5) (5, 19) (12, 4) (19, 18) Cũng tương tự khái niệm đối xứng qua trục hoành đường cong Elliptic trường số thực E (R), đường cong Elliptic trường nguyên tố hữu hạn E(Zp ) đối xứng theo nghĩa đối xứng modulo Thật vậy, giả sử điểm (x, y) thuộc E(Zp ) thỏa mãn (1.2.1) điểm (x, p − y) thuộc (1.2.1) vì: (p − y)2 mod p = p2 − 2py + y mod p ≡ y mod p Ví dụ (1, 7) đối xứng với (1, 16) + 16 = mod 23 (3, 10) đối xứng với (3, 13) 10 + 13 = mod 23 Hình vẽ bên minh họa tính đối xứng điểm thuộc đường cong Elliptic trường nguyên tố hữu hạn: 11 Footer Page 13 of 16 Header Page 14 of 16 Hình 1: Minh họa tính đối xứng Z23 Các điểm đối xứng với qua đường y = 11.5 Riêng điểm (4, 0) xem đối xứng với 1.2.2 Tính chất đường cong Elliptic • Nếu hai điểm P (x1 , y1 ) Q(x2 , y2 ) (với x1 = x2 ) nằm đường cong Elliptic (E), đường thẳng qua hai điểm P Q cắt điểm R(x3 , y3 ) nằm đường cong (E) đó, R xác định thông qua P Q • Tiếp tuyến đường cong điểm P (x, y) đường cong (E) cắt (E) điểm (E), điểm xác định thông qua P 12 Footer Page 14 of 16 Header Page 15 of 16 Hình 2: Minh họa tính chất đường cong Elliptic 1.2.3 Các phép toán đường cong Elliptic Dựa vào tính chất đường cong Elliptic, xác định hai phép toán đường cong Elliptic là: phép cộng điểm phép nhân điểm Sau công thức tính phép toán 13 Footer Page 15 of 16 Header Page 16 of 16 Phép cộng điểm • Định nghĩa: Với điểm P (xP , yP ), Q(xQ , yQ ) bất kỳ, phép cộng R = P + Q xác định công thức: xR = α2 − xP − xQ mod p yR = α(xP − xR ) − yP mod p đó: α= y −y Q P  mod p  xQ − xP   3xP + a mod p 2yP P = Q P = Q Hình 3: Minh họa phép cộng điểm Chú ý điểm (xR ; yR ) , (xR ; −yR )cùng nằm đường cong Elliptic xét mặt hình học điểm (xP ; yP ), (xQ ; yQ ) (xR ; yR ) nằm đường thẳng Ngoài ra, ta định nghĩa thêm: P + O = O + P = P • Tính chất: Dễ thấy rằng: (E(Zp ), +) tạo thành nhóm Abelian: – Tính đóng: Nếu P, Q ∈ E(Zp ) P + Q ∈ E(Zp ) 14 Footer Page 16 of 16 Header Page 17 of 16 – Tính kết hợp: Nếu ∀P, Q, R ∈ E(Zp ) P + (Q + R) = (P + Q) + R – Tồn phần tử trung hòa O: ∀P ∈ E(Zp ) P + O = O + P = P (theo định nghĩa) – Tồn phần tử nghịch đảo: với P (x, y) ∈ E(Zp ) tồn phần tử −P (x, p − y) ∈ E(Zp ) , điểm đối xứng P để P + (−P ) = O – Tính chất giao hoán: Nếu P, Q ∈ E(Zp ) P + Q = Q + P Phép nhân điểm • Phép nhân số nguyên r với điểm P ∈ (E) điểm R ∈ (E) xác định r − lần phép cộng điểm: rP = P + P + + P r Vì vậy, P điểm thuộc đường cong Elliptic E với số nguyên dương r dễ dàng xác định điểm R = rP Hình 4: Minh họa phép nhân đôi điểm R = 2P Từ tính chất phép toán đường cong Elliptic trường nguyên tố hữu hạn Zp ta thấy việc mã hóa đường cong Elliptic việc thực phép nhân vô 15 Footer Page 17 of 16 Header Page 18 of 16 hướng r với điểm P ∈ E(Zp ): Q = rP ∈ E(Zp ) với r số nguyên dương lớn, Q khóa công khai dùng tạo đường cong Elipptic Có nhiều phương pháp để tính nhân vô hướng này, tùy vào biểu diễn r phương pháp lại dùng phép toán điểm khác Sau đây, ta tìm hiểu thuật toán chi phí phép toán thuật toán để tính phép nhân với đại lượng vô hướng 1.2.4 Chi phí số phép toán điểm Cho P (x1 , y1 ), Q(x2 , y2 ) ∈ E(Zp ) Các phép toán số học trường nguyên tố hữu hạn Zp ký hiệu sau: • Phép toán nghịch đảo, ký hiệu là: I • Phép toán bình phương, ký hiệu là: S • Phép toán nhân, ký hiệu là: M Để tính chi phí phép toán điểm P Q dựa vào việc đếm số phép toán số học (I, S, M ) trường nguyên tố hữu hạn thuật toán • Phép toán điểm P + Q, 2P Nếu P = Q có phép toán cộng điểm P + Q Nếu P = Q có phép toán nhân đôi điểm 2P – Phép cộng điểm: P + Q = R(x3 , y3 ), đó: x3 = α2 − x1 − x2 (mod p) y3 = (α (x1 − x3 ) − y1 ) (mod p) y − y1 với α = (mod p) = (y2 − y1 ) (x2 − x1 )−1 (mod p ) x2 − x1 – Phép nhân đôi điểm: 2P = R (x3 , y3 ), đó: x3 = α2 − 2x1 (mod p) y3 = (α (x1 − x3 ) − y1 ) (mod p) với α = 3x21 + a (mod p) = 2y1 3x21 + a (2y1 )−1 (mod p) Từ tính chất phân tích dẫn đến thuật toán sau [6]: 16 Footer Page 18 of 16 Header Page 19 of 16 Thuật toán : Cộng, nhân điểm Input: P (x1 , y1 ), Q(x2 , y2 ) ∈ E(Zp ) Output: R(x3 , y3 ) = P + Q 1: if P = O return Q 2: if Q = O return P 3: if P = Q : 4: ∆1 ← (3x21 + a)(2y1 )−1 (mod p) 5: x3 ← ∆21 − 2x1 (mod p) 6: y3 ← (∆1 (x1 − x3 ) − y1 ) (mod p) 7: if P = −Q : return O 8: if P = Q : 9: ∆1 ← (y2 − y1 )(x2 − x1 )−1 (mod p) 10: x3 ← ∆21 − x1 − x2 (mod p) 11: y3 ← (∆1 (x1 − x3 ) − y1 ) (mod p) 12: return (x3 , y3 ) Tổng 2P : 1S + 1I + 1M 1S 1M 1I + 1M 1S 1M 1I + 2S + 2M 1I + 1S + 2M P +Q: • Phép toán điểm 2P + Q – Ta có: P (x1 , y1 ), Q(x2 , y2 ) với x1 = x2 tính ∆1 = với: y2 − y1 , P +Q = (x3 , y3 ) x2 − x x3 = ∆21 − x1 − x2 , y3 = ∆1 (x1 − x3 ) − y1 Tính S = 2P + Q = P + (P + Q) = (x4 , y4 ) y3 − y1 (∆1 (x1 − x3 ) − y1 ) − y1 2y1 = = − ∆1 x3 − x1 x3 − x1 x1 − x3 x4 = ∆22 − x1 − x3 = ∆22 − x1 − ∆21 + x1 + x2 = ∆22 − ∆21 + x2 = Ta có: ∆2 = (∆2 − ∆1 )(∆2 + ∆1 ) + x2 y4 = (x1 − x4 )∆2 − y1 – Biến đổi, từ công thức: x4 = (∆2 − ∆1 )(∆2 + ∆1 ) + x2 2y1  − ∆1 ∆2 =   x1 − x3  ta thay: x3 = ∆21 − x1 − x2   y2 − y1   ∆1 = x2 − x1 17 Footer Page 19 of 16 Header Page 20 of 16 dẫn đến đặt d = (x2 − x1 )2 (2x1 + x2 ) − (y2 − y1 )2 Dễ dàng có: d = (x2 − x1 )2 (2x1 + x2 ) − ∆21 (x2 − x1 )2 = (x2 − x1 )2 (2x1 + x2 − ∆21 ) = (x2 − x1 )2 (2x1 + x2 − x3 − x1 − x2 ) = (x2 − x1 )2 (x1 − x3 ) Định nghĩa: D = d(x2 − x1 ), I = D−1 , suy ra: = dD−1 = dI x2 − x1 (x2 − x1 )2 (x2 − x1 )3 = = = (x2 − x1 )3 I x1 − x3 d D Từ phân tích ta có thuật toán sau [6]: Thuật toán 2: Tính 2P + Q Input: P (x1 , y1 ), Q(x2 , y2 ) ∈ E(Zp ) Output: S(x4 , y4 ) = 2P + Q 1: if (x1 = x2 ) then 2: (y1 = y2 ) then return 3P else return P 3: A ← (x2 − x1 )2 (mod p), B ← (y2 − y1 )2 (mod SS p) 4: d ← (A (2x1 + x2 ) − B) (mod p) M 5: if (d = 0) then return O 6: D ← (d (x2 − x1 )) (mod p) ,I ← D−1 (mod p) MI 7: ∆1 ← (dI (y2 − y1 )) (mod p) MM 8: ∆2 ← (2y1 A (x2 − x1 ) I − ∆1 ) (mod p) MMM 9: x4 ← ((∆2 − ∆1 ) (∆2 + ∆1 ) + x2 ) (mod p) M 10: y4 ← ((x1 − x4 ) ∆2 − y1 ) (mod p) M 11: return (x4 , y4 ) Tổng 1I + 2S + 9M • Phép toán điểm 3P – Khi P = Q thuật toán không cho ta biết làm để tính 3P , dùng cách biến đổi tương tự thuật toán ta có phân tích để tính 3P sau: 18 Footer Page 20 of 16 ... TỰ NHIÊN ————————— Đặng Thị Liên NGHIÊN CỨU PHÁT TRIỂN MÃ HÓA TRÊN ĐƯỜNG CONG ELLIPTIC DỰA TRÊN CHUỖI CƠ SỐ KÉP TỐI ƯU Chuyên ngành: Cơ sở toán cho tin học Mã số : 60460110 LUẬN VĂN THẠC SĨ KHOA... ECC phát triển phương pháp thực phép nhân vô hướng nhằm giảm chi phí, thời gian tính toán trình mã hóa, định chọn đề tài: "Nghiên cứu phát triển mã hóa đường cong Elliptic dựa chuỗi số kép tối ưu" ... thuyết toán học đường cong elliptic (elliptic curve) trường hữu hạn [3] để xây dựng mã hóa dựa đường cong Elliptic Mã hóa đường cong elliptic giải vấn đề mã hóa RSA dùng tham số có kích thước

Ngày đăng: 13/03/2017, 21:48

Từ khóa liên quan

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

Tài liệu liên quan