DSpace at VNU: 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 148 0
DSpace at VNU: 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

DSpace at VNU: 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 tài liệu, giáo án,...

ĐẠ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 ĐẠ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 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, tơi 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 tơi hồ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 q trình tơi 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 đỡ tơi suốt q 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 tơi nhiều hạn chế nên luận văn khơng tránh khỏi thiết sót định Do đó, tơi mong góp ý q Thầy, Cơ giáo bạn để luận văn hồ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 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 Ý 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ố 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 tốn điểm 16 Hệ mật mã dựa đường cong Elliptic 20 1.3.1 Q 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 tốn thực tế 3.1 50 Tính tố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 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 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 đề q 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 tồn thơng tin đặt cấp thiết Kỹ thuật mật mã giải pháp an tồ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 khơng thể ứ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 tồ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ố ngun dương Thời gian tính tố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 tốn q 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 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 q trình hồ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 tốn thực tế 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 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 khố chung, với khố chung A tạo mã mật từ rõ B khơi phục rõ từ mã mật Khố chung gọi khố 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 tốn gọi tương ứng thuật toán lập mã thuật toán giải mã Các thuật tốn thường khơng thiết phải giữ bí mật, mà ln cần giữ bí mật khố 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: • Vấn đề trao đổi khóa người gửi người nhận: Cần có thêm kênh an tồ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ộ khơng có 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ã khố cơng khai phương pháp trao đổi công khai để tạo khố bí mật chung mà tính an tồn bảo đảm độ khó tốn tốn học, cụ thể tốn tính logarit rời rạc [1] Hệ mật mã khố cơng khai hay gọi hệ mật mã phi đối xứng sử dụng cặp khố, khố mã hố gọi khố cơng khai (public key) khố giải mã gọi khố 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 tốn học từ khố cơng khai khó tính khố riêng Biết khố khơng dễ dàng tìm khố Khố giải mã giữ bí mật khố mã hố cơng bố cơng khai Một người sử dụng khố cơng khai để mã hố tin tức, có người có khố giải mã có khả xem rõ Người gửi A mã hố 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 khố riêng tương ứng Có nhiều hệ thống khố 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ã khố 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 tồn chúng bảo đảm độ phức tạp toán số học tiếng tố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: 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 khố 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ã hố giải mã u cầu thiết bị có khả tính tốn thấp hơn, nên giúp tăng tốc độ làm giảm lượng cần sử dụng q trình mã hố 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 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 tốn logarit rời rạc trường hữu hạn tố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 tố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 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 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 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 tốn 13 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 – 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 ) ln 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 hố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 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 tốn điểm khác Sau đây, ta tìm hiểu thuật tốn chi phí phép tốn thuật tốn để tính phép nhân với đại lượng vơ hướng 1.2.4 Chi phí số phép tố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 tốn nghịch đảo, ký hiệu là: I • Phép tốn bình phương, ký hiệu là: S • Phép tốn nhân, ký hiệu là: M Để tính chi phí phép tố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 ngun tố hữu hạn thuật tốn • Phép toán điểm P + Q, 2P Nếu P = Q có phép tốn cộng điểm P + Q Nếu P = Q có phép tố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 tốn sau [6]: 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 tố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 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 tốn sau [6]: Thuật tố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 tốn điểm 3P – Khi P = Q thuật tố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 ... 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... 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 tốn q trình mã hóa, tơi đị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. .. 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: 16/12/2017, 11:15