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

70 289 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

ĐẠ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 HÓA TRÊN ĐƯỜNG CONG ELLIPTIC DỰA TRÊN CHUỖI 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 HÓA TRÊN ĐƯỜNG CONG ELLIPTIC DỰA TRÊN CHUỖI SỐ KÉP TỐI ƯU Chuyên ngành: sở toán cho tin học 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 - - 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 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, 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, 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 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 đườ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 khóa công khai RSA Tập số Mục lục Lời mở đầu Chương sở lý thuyết 1.1 lược mật 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 dựa đường cong Elliptic 20 1.3.1 Quá trình hóa 22 1.3.2 Quá trình giải 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 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 hóa giải đường cong Elliptic 59 3.3.1 Hệ mật 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 đề 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 giải pháp an toàn truyền thông Các nhà khoa học phát minh hệ mật 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 dựa đường cong elliptic Hệ mật đánh giá độ 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 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 dựa đường cong elliptic giảm bớt khó khăn phép tính Q = rS với vô hướng r nhiều cách để biểu diễn r nên ta 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 hóa, định chọn đề tài: "Nghiên cứu phát triển 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, 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 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: 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ế Chương 1.1 sở lý thuyết lược mật học Mật người sử dụng từ lâu đời Các hình thức mật 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 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 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ật tương ứng thay gửi văn rõ A gửi cho B mật, B nhận mật khôi phục lại văn rõ để hiểu thông tin 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 nên không đọc hiểu được; Còn A tạo mật B giải mật thành rõ để hiểu hai người thoả thuận chìa khoá chung, với khoá chung A tạo mật từ rõ B khôi phục rõ từ mật Khoá chung gọi khoá mật Để thực phép mật mã, ta cần thuật toán biến rõ với khoá mật thành mật thuật toán ngược lại biến mật với khoá mật thành rõ Các thuật toán gọi tương ứng thuật toán lập thuật toán giải Các thuật toán thường không thiết phải giữ bí mật, cần giữ bí mật khoá mật Trong thực tiễn, hoạt động ngược lại với hoạt động bảo mật khám phá bí mật từ “lấy trộm” được, hoạt động thường gọi thám hay phá khoá [2] Hiện nay, người ta chia hệ mật thành hai loại chính: • Mật khóa đối xứng, hay gọi mật khóa bí mật [3] • Mật khóa bất đối xứng, hay gọi mật khóa công khai [3] Nhắc đến hệ mật khóa bí mật, ta thấy ưu điểm trội việc dùng chung khóa để lập giải thực nhanh chóng đơn giản Mặc dù 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 thêm kênh an toàn để trao đổi khóa cho khóa giữ bí mật 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 khoá đối xứng, năm 1976 Diffie Hellman đưa khái niệm hệ mật khoá công khai phương pháp trao đổi công khai để tạo khoá bí mật chung 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 khoá công khai hay gọi hệ mật phi đối xứng sử dụng cặp khoá, khoá hoá gọi khoá công khai (public key) khoá giải gọi khoá bí mật hay khóa riêng (private key) Trong hệ mật này, khoá hoá khác với khoá giải 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 giữ bí mật khoá hoá công bố công khai Một người sử dụng khoá công khai để hoá tin tức, người khoá giải khả xem rõ Người gửi A hoá thông điệp khóa công người nhận người nhận B giải thông điệp với khoá riêng tương ứng 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 dựa đường cong Elliptic Trong số hệ mật trên, hệ 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 khoá công khai Hệ mật 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 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 hóa giải 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: Từ đó, trọng số Hamming r : W (C[r]) = Khi đó: Q = 1717P = 20 30 − 22 31 + 26 33 P = 20 30 P − 22 31 P + 26 33 P Dựa vào khai triển, số phép toán cần tính là: • W (C[r]) − = − = phép cộng điểm • xm−1 = phép nhân điểm • ym−1 = phép nhân ba điểm Vậy chi phí tính số phép toán từ (2.2.3) là: 2Padd + 6Pdou + 3Ptri = (1[i] + 1[s] + 2[m]) + (1[i] + 2[s] + 2[m]) + (1[i] + 4[s] + 7[m]) = 11[i] + 26[s] + 37[m] Để tính nhân vô hướng Q = rP với r = 314159 Từ thuật toán 11, ta phân tích r là: r = 215 32 + 211 32 + 28 31 + 24 31 − 20 30 Chuỗi số kép: C[314159] = R, X, Y , đó: R = −1, 1, 1, 1, X = 0, 4, 8, 11, 15 Y = 0, 1, 1, 2, Từ đó, trọng số Hamming r : W (C[r]) = Khi đó: Q = 314159P = 215 32 + 211 32 + 28 31 + 24 31 − 20 30 P = 215 32 P + 211 32 P + 28 31 P + 24 31 P − 20 30 P = 3(2(2(2(2(2(2(2(2(3(2(2(2(2(2(2(2P )))) + P )))) + P )))) + P )))) − P Dựa vào khai triển, số phép toán cần tính là: • W (C[r]) − = − = phép cộng điểm 54 • xm−1 = 15 phép nhân điểm • ym−1 = phép nhân ba điểm Vậy chi phí tính số phép toán từ (2.2.3) là: 4Padd + 15Pdou + 2Ptri = (1[i] + 1[s] + 2[m]) + 15 (1[i] + 2[s] + 2[m]) + (1[i] + 4[s] + 7[m]) = 21[i] + 42[s] + 52[m] Kết so sánh Trong phần này, ta kí hiệu sau: • Phương pháp sử dụng chuỗi số kép tối ưu miền Ds = {0, 1} viết gọn lại phương pháp DBC-1 • Phương pháp sử dụng chuỗi số kép tối ưu miền Ds = {0, 1, −1} viết gọn lại phương pháp DBC-2 Với r = 314159 r = 1717 ta bảng tổng hợp chi phí phương pháp nhân vô hướng sau: Phương pháp Chi phí [i]/[m] = 30 1717 Cộng thông thường 1716 (1[i] + 1[s] + 2[m]) 56284.8[m] Double-and-Add 16[i] + 26[s] + 32[m] 532.8[m] NAF 16[i] + 27[s] + 32[m] 533.6[m] Phương pháp DBC - 15[i] + 27[s] + 35[m] 506.6[m] Phương pháp DBC - 11[i] + 26[s] + 37[m] 387.8[m] 314159 Cộng thông thường 314158 (1[i] + 1[s] + 2[m]) 10304384.2[m] Double-and-Add 28[i] + 46[s] + 56[m] 932.8[m] NAF 26[i] + 44[s] + 52[m] 867.2[m] Phương pháp DBC -1 24[i] + 45[s] + 58[m] 814[m] Phương pháp DBC -2 21[i] + 42[s] + 52[m] 715.6[m] r Bảng 2: Chi phí tính nhân vô hướng phương pháp Dựa vào kết phân tích bảng chi phí trên, ta đưa đánh giá sau: 55 • Mỗi phương pháp cho ta chi phí tính nhân vô hướng khác Qua phân tích cụ thể với r = 1717 r = 314159, ta thấy phương pháp DBC-1 DBC-2 sử dụng ba phép toán điểm lại chi phí tính toán thấp so với phương pháp lại sử dụng hai phép toán điểm • Phương pháp DBC-2 chi phí thực thấp Khi r lớn chênh lêch chi phí tính với phương pháp lại nhiều Với r = 1717, chi phí giảm 118.8[m] so với phương pháp DBC-1, giảm khoảng 145[m] so với phương pháp Double and Add phương pháp NAF giảm hẳn 55897[m] so với phương pháp cộng thông thường Khi r lớn hơn, độ chênh lệch chi phí phương pháp trở nên rõ ràng hơn, cụ thể với r = 314159, chi phí giảm khoảng 243.6[m] so với phương pháp DBC-1, giảm khoảng 297[m] so với phương pháp NAF, giảm khoảng 363[m] so với phương pháp Double and Add giảm hẳn 10303812[m] so với phương pháp cộng thông thường Như vậy, chi phí nhân vô hướng bốn phương pháp lại r bé chênh lệch không nhiều, r lớn chênh lệch thể rõ ràng • Biểu diễn vô hướng r góp phần quan trọng việc tính nhân vô hướng, từ bảng thấy phương pháp dùng chuỗi số kép cho chi phí nhỏ so với chuỗi nhị phân chuỗi hình thức không liền kề Do sử dụng DBC phép toán điểm dùng tăng lên, nên làm giảm số lượng phép toán dẫn đến chi phí tính nhân vô hướng giảm Ví dụ, vài đường cong phép nhân ba điểm tính tương đối nhanh tức chuỗi số kép nhanh khai triển nhị phân • Đối với vài số r khai triển nhị phân chi phí tốt áp dụng vào hệ tính nhân vô hướng, chẳng hạn r = 1717 phương pháp Double and Add chi phí tính thấp phương pháp NAF, nhiên chênh lệch không đáng kể Ta biểu đồ so sánh chi phí phương pháp tính nhân vô hướng sau: 56 Hình 10: Biểu đồ so sánh chi phí phương pháp 3.2 Kết dựa sở chạy chương trình Với liệu đầu vào, dựa thời gian chạy chương trình tính phép nhân vô hướng, ta bảng kết sau: Phương pháp Thời gian (mili giây) 751 Double-and-Add 0.015 NAF 0.031 Phương pháp DBC - 0.015 19991 Double-and-Add 0.437 NAF 0.359 Phương pháp DBC - 0.326 99131 Double-and-Add 7.44 NAF 7.408 Phương pháp DBC-1 7.225 374321 Double-and-Add 156.488 NAF 155.87 Phương pháp DBC-1 112.4 p Bảng 3: Thời gian chạy chương trình tính nhân vô hướng phương pháp 57 Tóm lại, dựa kết tính chi phí phép nhân vô hướng kết chạy chương trình phương pháp nhân vô hướng, ta rút kết luận: • Phương pháp tính nhân vô hướng đóng vai trò quan trọng trình hóa giải • Phương pháp tính nhân vô hướng sử dụng chuỗi số kép tối ưu cho chi phí thấp tốc độ hóa nhanh phương pháp lại • Chi phí phép nhân vô hướng phụ thuộc chủ yếu vào số lượng phép toán điểm không phụ thuộc nhiều vào việc sử dụng nhiều hay phép toán điểm Số lượng phép toán điểm nhiều chi phí tính toán cao ngược lại • Chi phí phép nhân vô hướng phụ thuộc vào miền giá trị số Ds Mở rộng miền Ds đồng nghĩa với việc giảm trọng số Hamming Từ làm số phép cộng điểm kết chi phí tính nhân vô hướng giảm • Chi phí phép nhân vô hướng phụ thuộc vào biểu diễn vô hướng r miền số khác Như vậy, việc giảm chi phí tính toán tăng tốc độ xử lý phép tính nhân vô hướng giúp cho hệ mật đường cong elliptic ưu trội phương pháp hóa công khai khác ECC ứng viên phù hợp để thay RSA việc tạo khóa ngắn đảm bảo an toàn, từ triển khai nhiều tảng thiết bị từ mạch điện tử đơn giản đến máy tính lớn, dễ dàng tạo hệ thống mạng đáng tin cậy phục vụ tốt cho xã hội 3.3 Ứng dụng hóa giải đường cong Elliptic Phần giới thiệu hệ mật công khai ElGamal sử dụng phương pháp ElGamal để hóa giải văn 58 3.3.1 Hệ mật khóa công khai ElGamal Hệ mật ElGamal đề xuất T.ElGamal năm 1985, dựa vào độ phức tạp toán logarit rời rạc đồ hệ mật khóa công khai ElGamal (tài liệu [1]) cho bởi: δ = (P, C, K, E, D) Trong đó: • P = Zp∗ tập kí tự rõ C = Zp∗ Zp∗ tập kí tự với p số nguyên tố • K = (K , K ” ) tập khóa, K = (p, α, β) khóa công khai dùng để lập mã, K ” = a khóa bí mật dùng để giải với α phần tử nguyên thủy theo mod p, tức Zp∗ β ≡ αa mod p • E thuật toán lập • D thuật toán giải 3.3.2 Cài đặt chương trình sử dụng phương pháp ElGamal Phương pháp hóa khóa công khai ElGamal A muốn gửi thông báo cho B Trước hết B sinh khóa công khai sau: • B chọn đường cong elliptic E trường nguyên tố hữu hạn Zp cho toán logarit rời rạc khó (E(Zp )) • B chọn điểm P ∈ (E) (thông thường ta chọn điểm P cho bậc số nguyên tố lớn) • B chọn số nguyên bí mật s tính B = sP Như vậy: (E, Zp , P, B) khóa công khai B Để gửi thông báo cho B, A làm sau: • Tải khóa công khai • Biểu diễn thông báo cẩu A điểm thuộc đường cong E • Chọn số nguyên ngẫu nhiên bí mật k tính M1 = kP 59 • Tính M2 = M + kB • Gửi M1 , M2 cho B B giải cách tính: M = M2 − sM1 Cách giải vì: M2 − sM1 = (M + kB) − skP = M + ksP − skP = M Cài đặt chương trình Sử dụng phương pháp Elgamal để hóa giải văn với tham số sau: • Văn cần hóa lưu file test.txt sau: Hình 11: Văn cần hóa • Chọn đường cong E với hệ số a = 1, b = 188, p = 751 Khi đường cong y = (x3 + x + 188) mod 751 số điểm 769 số nguyên tố, thỏa mãn điểm đường cong phần tử sinh nhóm điểm đường cong E • Chọn số nguyên bí mật s = 754 • Điểm sở P = (0; 375) • Chọn số nguyên ngẫu nhiên bí mật k = 136 Khi đó, ta sau: Do khác biệt kiểu int kiểu char C dẫn đến chênh lệch giá trị 60 Hình 12: Bản ghi tệp đọc lại tệp Do đó, ta cần trì đối chiếu đảm bảo trả lại giá trị số kí tự trước ghi vào tệp Với tham số trên, ta đối chiếu tương ứng là: Hình 13: Bản đối chiếu Trong đó, đối chiếu xây dựng sau: x = m1 ∗ Q.x mod p y = m2 ∗ Q.y mod p Với m1 , m2 kí tự rõ kiểu char; Q.x, Q.y tọa độ điểm bí mật kP , kiểu int p số nguyên tố xác định đường cong; x, y kiểu int Khi đó, x, y lưu vào kiểu kí tự char với giá trị x mod 127 y mod 127, đối chiếu tương ứng x div 127 y div 127 Việc lấy lại giá trị x ban đầu thực sau: • Gọi x1 , a kí tự giá trị đối chiếu tương ứng • Ép kiểu x1 từ ký tự char kiểu số nguyên int • Thực lấy lại giá trị x theo công thức: x = a ∗ 127 + x1 61 Sau thực trình trên, ta thu x1 = x ban đầu để tiếp tục thực thao tác giải Cuối cùng, việc giải thu văn rõ: Áp dụng phương pháp Hình 14: Bản kết giải ElGamal để hóa giải mã, ta thay đổi phương pháp tính nhân vô hướng từ sử dụng chuỗi số kép tối ưu phương pháp khác Double and add hay NAF, thu kết 62 KẾT LUẬN Các kết đạt luận văn Sau trình tìm hiểu nghiên cứu đề tài: "Nghiên cứu phát triển hóa đường cong Elliptic dựa chuỗi số kép tối ưu", thu hoạch kết sau: • Nghiên cứu sở lý thuyết đường cong elliptic elliptic trường nguyên tố hữu hạn: định nghĩa, tính chất, phép toán chi phí phép toán điểm đường cong Elliptic • Phân tích tìm hiểu vài phép toán điểm đường cong Elliptic trường nguyên tố hữu hạn để áp dụng vào tính nhân vô hướng hệ mật đường cong EllipticNghiên cứu phương pháp sử dụng đại diện vô hướng r để tính nhân vô hướng - sở để xây dựng đường cong elliptic: phương pháp nhân đôi cộng; phương pháp sử dụng chuỗi hình thức không liền kề (NAF), phương pháp sử dụng chuỗi số kép tối ưu miền Ds = {0, 1} Ds = {0, 1, −1} • Đưa kết tính toán sở lý thuyết, kết chạy chương trình tính nhân vô hướng cho phương pháp để chứng minh việc sử dụng chuỗi số kép tối ưu cho chi phí tính toán thấp, tốc độ, thời gian nhanh phương pháp lại, đặc biệt với số nguyên tố p lớn • Ứng dụng thuật toán tính nhân vô hướng vào việc hóa giải văn phương pháp ElGamal Hướng nghiên cứu Tiếp tục phát triển đề tài theo hướng giảm thời gian, chi phí tính toán phép tính nhân vô hướng hệ mật dựa đường cong elliptic theo hướng sau: • Hoàn thiện chương trình tính nhân vô hướng sử dụng chuỗi số kép tối ưu miền Ds = {0; 1; −1}, • Thực nghiệm hóa giải với độ dài khóa độ an toàn thực tế, • Mở rộng thuật toán tìm chuỗi sở kép tối ưu cho d-số nguyên miền Ds bất kì, • Nghiên cứu phương pháp sử dụng chuỗi số kép tối ưu để tính nhân đa vô hướng miền Ds 63 PHỤ LỤC Thuật toán 9: Tính wNAF(r) Input: số w, số nguyên dương r Output: wN AF (r) 1: i ← 2: while r ≥ 3: if k is odd then 4: ri ← r mod w 5: r ← r − ri 6: else 7: ri ← 8: r ← 2r 9: i←i+1 10: return (ri−1 , ri−2 , , r1 , r0 ) Thuật toán 10: Phương pháp wNAF Input: P ∈ (E), số nguyên dương r với khai triển N AF (r) = (rn−1 , rn−2 , , r1 , r0 ) Output: Q = rP 1: Tính giá trị: Pi = iP for i ∈ 1, 3, 5, , 2w−1 − 2: Q ← 3: for i = n − downto 4: Q ← 2Q 5: if(ri = 0) then 6: if ri > then Q ← Q + Pri 7: else Q ← Q − Pri 8: return Q Thuật toán 13 : Tìm tối ưu FindOptimal (v, C[v2 ], C[v3 ]) Input: Số nguyên dương v , C[v2 ] chuỗi số kép tối ưu số kép tối ưu v Output: C[v] chuỗi số kép tối ưu v 1: c2 ← P (C[v2 ]) + Pdou 64 v , C[v3 ] chuỗi 2: if v ≡ mod then 3: c2 ← c2 + Padd 4: end if 5: c3 ← P (C[v3 ]) + Ptri 6: if v ≡ mod then 7: c3 ← c3 + Padd 8: if v ≡ mod then 9: c3 ← ∞ 10: end if 11: if c2 ≤ c3 and v ≡ mod then 12: C[v] ≡ R[v], X[v], Y [v] where R[v] = R[v2 ] X[v] = x[v]0 , ., x[v]m−1 where x[v]t ← x[v2 ]t + Y [v] = Y [v2 ] 13: else if c2 ≤ c3 and v ≡ mod then 14: C[v] ≡ R[v], X[v], Y [v] where R[v] = 1, R[v2 ] X[v] = 0, x[v]1 , ., x[v]m−1 where x[v]t ← x[v2 ]t−1 + Y [v] = 0, Y [v2 ] 15: else if v ≡ mod then 16: C[v] ≡ R[v], X[v], Y [v] where R[v] = R[v3 ] X[v] = X[v3 ] Y [v] = y[v]0 , ., y[v]m−1 where y[v]t ← y[v2 ]t + 17: else if v ≡ mod then 18: C[v] ≡ R[v], X[v], Y [v] where R[v] = 1, R[v3 ] X[v] = 0, X[v3 ] Y [v] = 0, y[v]1 , ., y[v]m−1 where y[v]t ← y[v3 ]t−1 + 19: end if Thuật toán 14: Tìm tập mang tập số cho trước Input: Cho tập số Ds 65 Output: Tập mang G 1: Ct ←− 0, G ←− ∅ 2: while Ct = ∅ 3: let x ∈ Ct 4: Ct ←− Ct ∪ ( x+d ∈ Z |d ∈ Ds − G − x) x+d+1 5: Ct ←− Ct ∪ ( ∈ Z |d ∈ Ds − G − x) 6: Ct ←− Ct ∪ ( x+d ∈ Z |d ∈ Ds − G − x) x+d+1 7: Ct ←− Ct ∪ ( ∈ Z |d ∈ Ds − G − x) 8: G ←− G ∪ x 9: Ct ←− Ct − x 10: end while Thuật toán 16: Thuật toán FindOptimal(va, C[v2 + G], C[v3 + G]) Input: Cho số nguyên dương va va va va Chuỗi số kép tối ưu [ ] + g[[ ]] với g[[ ]] ∈ G, C[va2 + G] 2 va va va ] + g[[ ]] với g[[ ]] ∈ G, C[va3 + G] 3 Output: Chuỗi số kép tối ưu va, C[va] Chuỗi số kép tối ưu [ 1: for all u ∈ Ds 2: if va − u ≡ mod then 3: c2,u ←− P (C[ va − u ]) + Pdou 4: if u = then 5: c2,u ←− c2,u + Padd 6: else 7: c2,u ←− ∞ 8: end if 9: end if 10: end for 11: c2 ←− minu∈Ds ,C2,u ; u2 ←− minargu∈Ds ,C2,u , vc2 ←− 12: for all u ∈ Ds 13: if va − u ≡ mod then 14: c3,u ←− P (C[ 15: if u = then va − u ]) + Ptri 66 va − u2 16: c3,u ←− c3,u + Padd 17: else 18: c3,u ←− ∞ 19: end if 20: end if 21: end for 22: c3 ←− minu∈Ds ,C3,u ; u3 ←− minargu∈Ds ,C3,u , vc3 ←− va − u3 23: if c2 ≤ c3 and u2 = then 24: C[v] ←− R[v], X[v], Y [v] where R[v] = R[vc2 ] X[v] = x[v]0 , , x[v]m−1 where x[v]t ←− x[vc2 ]t + Y [v] = Y [vc2 ] 25: else if c2 ≤ c3 then 26: C[v] ←− R[v], X[v], Y [v] where R[v] = u2 , R[vc2 ] X[v] = 0, x[v]0 , , x[v]m−1 where x[v]t ←− x[vc2 ]t−1 + Y [v] = 0, Y [vc2 ] 27: else if u3 = then 28: C[v] ←− R[v], X[v], Y [v] where R[v] = R[vc3 ] X[v] = X[vc3 ] Y [v] = y[v]0 , , y[v]m−1 where y[v]t ←− y[vc3 ]t + 29: else 30: C[v] ←− R[v], X[v], Y [v] where R[v] = u3 , R[vc3 ] X[v] = 0, X[vc3 ] Y [v] = 0, y[v]1 , , y[v]m−1 where y[v]t ←− y[vc3 ]t−1 + 31: end if 67 Tài liệu [1] Phan Đình Diệu (2002), Lý thuyết mật an toàn thông tin, NXB Đại Học Quốc Gia Hà Nội [2] Dương Anh Đức Trần Minh Triết (2005), hóa ứng dụng, NXB Đại học Quốc gia thành phố Hồ Chí Minh [3] Trần Minh Văn (2008), Bài giảng An Toàn bảo mật thông tin, Trường ĐH Nha Trang [4] D Hankerson, A Menezes, and S Vanstone,"Guide to Elliptic Curve Cryptography",Springer, New York, Secaucus, NJ, 2003, isbn: 038795273X [5] Jayaprakash Kar( 2015), "Low Cost Elliptic Curve Scalar Multiplication For Constrained Devices", International Journal Of Pure And Apllied Mathematics, Vol.102 [6] Mathieu Cietl, Marc Joye, Kristin Lauter, Peter L.Montgomery( 2003), "Trading Inversions for Multipications in Elliptic Curve Cryptography", Cryptology ePrint Archive, Report (2003/25) [7] Nicolas Meloni and M Anwar Hasan (2009), "Elliptic Curve Scalar Multiplication Combining Yao’s Algorithm and Double Bases", Department of Electrical and Computer Engineering University of Waterloo [8] V S Dimitrov, L Imbert, and P K Mishra(2005), "Fast Elliptic Curve Point Multiplication using Double-Base Chains", IACR Cryptology ePrint Archive [9] V S Dimitrov, G A Jullien, and W C Miller (May1998), "An algorithm for modular exponentitation", Information Processing Letters, 66(3),155–159 [10] V S Dimitrov, L Imbert, and P K Mishra (2012), "Optimal Elliptic Curve scalar mutiplication using Double-Base Chains", The Society of Digital Information and Wireless Communications, International Journal of Digital Information and Wireless Communications (IJDIWC) 2(1), pp 115-134 [11] Vorapong Suppakitpalsarn, Masato Edahiro, Hiroshi Imai (2012), "Fast Elliptic curve cryptography using optimal double - Base Chains", International Journal of Digital Information and Wireless Communications, Vol.2(No.1), pp.923-942 68 ... 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: 20/06/2017, 22:07

Từ khóa liên quan

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

Tài liệu liên quan