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

NGHIÊN CỨU GIAO THỨC TRAO ĐỔI KHÓA DIFFIEHELLMAN SỬ DỤNG TÍNH TOÁN ĐẲNG GIỐNG (ISOGENY) TRÊN ĐƯỜNG CONG ELLIPTIC

71 3 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 71
Dung lượng 1,9 MB

Nội dung

NGHIÊN CỨU GIAO THỨC TRAO ĐỔI KHÓA DIFFIEHELLMAN SỬ DỤNG TÍNH TOÁN ĐẲNG GIỐNG (ISOGENY) TRÊN ĐƯỜNG CONG ELLIPTIC Sự kết hợp của vật lý lượng tử và cơ sở toán học hiện đại đã tạo nên máy tính lượng tử. Định luật Moore đã cho thấy: “Số lượng transistor trên một đơn vị diện tích tăng gấp hai lần sau 18 tháng”. Hiện nay, trên thị trường đã có những công ty hàng đầu chế tạo thành công chíp bán dẫn với tiến trình 2nm. Nghĩa là, các tiến trình sản xuất chíp bán dẫn này đã tiến tới ngưỡng giới hạn của kích thước vật lý. Theo Isaac Chuang cùng cộng sự thuộc tập đoàn IBM đã đề xuất về công nghệ máy tính lượng tử. Với sức mạnh của hệ máy tính lượng tử và thuật toán lượng tử có thể phá vỡ các thuật toán mã hoá được coi là an toàn hiện nay như RSA, Elgamal, ... Do vậy cần có các phương pháp mã hoá, phân phối và trao đổi khóa mới để đảm bảo an toàn dữ liệu khi máy tính lượng tử ra đời, đặc biệt là khi máy tính lượng tử được thương mại hoá. Vấn đề đặt ra là hiện nay hệ thống máy tính trên toàn cầu vẫn đang còn sử dụng với công nghệ bán dẫn vô cơ chưa thể thay thế hoàn toàn bằng công nghệ máy tính lượng tử. Do đó, cộng đồng các nhà khoa học vẫn đang tập trung nghiên cứu, tận dụng những thành tựu với công nghệ bán dẫn mà có thể giúp chống được lại các tấn công trên hệ máy tính lượng tử. Với mục tiêu này, các bài toán về mật mã hậu lượng tử được ra đời. Theo đó, có năm lớp nguyên thủy mật mã về hậu lượng tử hình thành: mật mã dựa trên mã, mật mã dựa trên lưới, mật mã dựa trên hàm băm và mật mã đa biến. Điển hình cho các lớp có thể được kể đến là các giao thức mật mã hậu lượng tử như: giao thức McEliece, mã hóa dựa trên lưới của Hoffstein, Pipher và Silverman NTRU, chữ ký hashtree của Merkle, sơ đồ chữ ký HFEv của Patarin và giao thức trao đổi khóa DiffieHellman sử dụng lý thuyết đẳng giống trên đường cong elliptic siêu kỳ dị (SIDH). Giao thức trao đổi khóa SIDH có những ưu điểm về tốc độ tính toán, kích thước khóa nhỏ, thời gian tạo khóa nhanh nhưng vẫn đảm bảo an toàn, có thể chống được một số tấn công trên hệ máy tính lượng tử. Độ an toàn của giao thức trao đổi khóa SIDH được chứng minh bởi chính lý thuyết tính toán đẳng giống trên đường cong elliptic siêu kỳ dị. Nội dung đồ án được chia làm 3 chương như sau: Chương 1: Lý thuyết đẳng giống (isogeny) trên đường cong elliptic siêu kỳ dị với mật mã hậu lượng tử. x Chương này trình bày về tổng quan mật mã hậu lượng tử, các cơ sở lý thuyết về đẳng giống trên đường cong elliptic và ứng dụng của chúng trên đường cong elliptic siêu kỳ dị. Chương 2: Lưu đồ trao đổi khóa DiffieHellman dựa trên ánh xạ đẳng giống (isogeny) trên đường cong elliptic siêu kỳ dị. Chương này trình bày về các phép nhân 2 điểm và 3 điểm trên đường cong elliptic, các phép tính toán 2giống và 3giống, các đồ thị đẳng giống và các lưu đồ trong thuật toán trao đổi khóa SIDH. Chương 3: Xây dựng chương trình mô phỏng giao thức trao đổi khóa DiffieHellman sử dụng tính toán đẳng giống (isogeny) trên đường cong elliptic siêu kỳ dị. Chương này trình bày môi trường thực thi, các hàm được sử dụng trong chương trình và tiến hành chạy và tổng hợp kết quả chương trình mô phỏng giao thức trao đổi khóa SIDH. Kết quả đạt được: Về mặt lý thuyết, đồ án đã trình bày được các nội dung sau: 1. Tìm hiểu được những kiến thức tổng quan về mật mã hậu lượng tử và cơ sở toán học của lý thuyết đẳng giống đường cong elliptic siêu kỳ dị. 2. Tìm hiểu lưu đồ giao thức trao đổi khóa DiffieHellman dựa trên ánh xạ đẳng giống SIDH. Về phần thực nghiệm, đồ án đã thu được kết quả như sau: Xây dựng chương trình mô phỏng thuật toán SIDH. Làm rõ 2 quá trình chính của thuật toán là quá trình tạo khóa công khai quá trình tạo khóa phiên dùng chung. Tổng hợp các kết quả đánh giá hiệu suất và thời gian của thuật toán SIDH qua nhiều lần chạy thực nghiệm. Hướng phát triển: Trong thời gian tới, nếu có thời gian em sẽ tiếp tục nghiên cứu sâu hơn các nội dung liên quan đến đồ án. Cụ thể là: Tiếp tục nghiên cứu về giao thức trao đổi khóa SIDH với cơ chế đóng gói khóa lượng tử KEM. Tiếp tục nghiên cứu đánh giá sự an toàn, hiệu quả và tính khả thi của thuật toán trên các nền tảng ứng dụng khác nhau

ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SĨ NGHIÊN CỨU GIAO THỨC TRAO ĐỔI KHÓA DIFFIE-HELLMAN SỬ DỤNG TÍNH TỐN ĐẲNG GIỐNG (ISOGENY) TRÊN ĐƯỜNG CONG ELLIPTIC Nguyen Thanh Long Hà Nội - 2023 i MỤC LỤC LỜI CẢM ƠN i LỜI CAM ĐOAN Lỗi! Thẻ đánh dấu không được xác định MỤC LỤC ii DANH MỤC KÝ HIỆU iv DANH MỤC CHỮ VIẾT TẮT v DANH MỤC BẢNG BIỂU vi DANH MỤC HÌNH VẼ vii LỜI MỞ ĐẦU ix CHƯƠNG 1: LÝ THUYẾT ĐẲNG GIỐNG (ISOGENY) TRÊN ĐƯỜNG CONG ELLIPTIC SIÊU KỲ DỊ VỚI MẬT MÃ HẬU LƯỢNG TỬ 1.1 Tổng quan mật mã hậu lượng tử 1.2 Cơ sở toán học lý thuyết đẳng giống đường cong elliptic siêu kỳ dị 1.2.1 Tổng quan đường cong elliptic đường cong elliptic dạng Montgomery 1.2.2 Lý thuyết đẳng giống đường cong elliptic siêu kỳ dị 10 1.3 Ứng dụng lý thuyết đẳng giống đường cong elliptic siêu kỳ dị 22 1.4 Kết luận chương 22 CHƯƠNG 2: LƯU ĐỒ TRAO ĐỔI KHÓA DIFFIE-HELLMAN DỰA TRÊN ÁNH XẠ ĐẲNG GIỐNG (ISOGENY) TRÊN ĐƯỜNG CONG ELLIPTIC SIÊU KỲ DỊ 24 2.1 Phép tính toán đẳng giống đồ thị đẳng giống 24 2.1.1 Tập hợp các j − bất biến siêu kỳ dị trường hữu hạn 24 2.1.2 Các phép tính toán đẳng giống 26 2.1.3 Đồ thị đẳng giống 34 ii 2.2 Lưu đồ trao đổi khóa Diffie-Hellman dựa ánh xạ đẳng giống 37 2.2.1 Tổng quan giao thức SIDH 37 2.2.2 Lưu đồ trao đổi khóa Diffie-Hellman dựa ánh xạ đẳng giống 40 2.3 Ưu nhược điểm lưu đồ trao đổi khóa Diffie-Hellman dựa ánh xạ đẳng giống 44 2.4 Kết luận chương 47 CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH MƠ PHỎNG GIAO THỨC TRAO ĐỔI KHĨA DIFFIE-HELLMAN SỬ DỤNG TÍNH TỐN ĐẲNG GIỐNG (ISOGENY) TRÊN ĐƯỜNG CONG ELLIPTIC SIÊU KỲ DỊ 48 3.1 Môi trường thực thi mô 48 3.1.1 Công cụ phần mềm 48 3.1.2 Khởi tạo Project 48 3.1.3 Các hàm, thủ tục cho giao thức SIDH 50 3.2 Xây dựng chương trình mơ giao thức trao đổi khóa Diffie-Hellman sử dụng tính toán đẳng giống đường cong elliptic siêu kỳ dị 52 3.3 Tổng hợp kết chương trình mơ giao thức trao đổi khóa DiffieHellman sử dụng tính toán đẳng giống đường cong elliptic siêu kỳ dị 55 3.4 Kết luận chương 58 KẾT LUẬN 59 TÀI LIỆU THAM KHẢO 60 PHỤ LỤC: HÀM TÍNH TỐN KHĨA CƠNG KHAI VÀ TÍNH TỐN KHĨA PHIÊN DÙNG CHUNG Lỗi! Thẻ đánh dấu không được xác định iii DANH MỤC KÝ HIỆU Fp Trường hữu hạn p phần tử (p số nguyên tố) # E (Fp ) Lực lượng (số điểm) đường cong E trường Fp E [n ] Tập n-xoắn đường cong Elliptic E E (K ) Đường cong E xác định trường đóng đại số K j (E ) Giá trị j-bất biến đường cong E P (K ) Không gian xạ ảnh chiều (mặt phẳng xạ ảnh) trường đóng đại số K A2 (K ) Không gian Affine chiều trường K xADD Phép giả cộng xDBL f Phép giả nhân đôi f - f$ Phép ánh xạ đẳng giống Phép ánh xạ nghịch đảo f Phép đẳng giống đối ngẫu bậc d thỏa mãn (f$ o f )= [d ] (y o f ) Tích hai đẳng giống ker (f ) Nhân ánh xạ đẳng giống # ker (f ) deg (f ) Bậc ánh xạ đẳng giống Fp2 Trường mở rộng bậc (trường phức) trường Fp [n ] Ánh xạ nhân n ker ([n]) Nhân tập n-xoắn P O Nhóm cyclic với nhân phần tử sinh P Điểm vô cực iv DANH MỤC CHỮ VIẾT TẮT Viết tắt Tiếng Anh Tiếng Việt PK Public Key Khóa cơng khai SK Share Key Khóa phiên ECDH Elliptic-curve Diffie Giao thức trao đổi khóa Diffie- Hellman Hellman đường cong Elliptic Supersingular isogeny Giao trao đổi khóa Diffie- Diffie–Hellman key exchange Hellman dựa ánh xạ đẳng giống đường cong elliptic SIDH siêu kỳ dị RSA Ron Rivest – Adi Shamir – Hệ mật RSA Leonard Adleman SHA Secure Hash Algorithm Thuật toán băm an toàn s_k Secret key Khóa bí mật SIKE Supersingular Isogeny Key Đóng gói khóa Isogeny siêu kỳ Encapsulation dị TLS Transport Layer Security Giao thức bảo mật tầng giao vận NTRU Number Theory Research Unit Đơn vị Nghiên cứu Lý thuyết Số SPHINCS Practical stateless hashbased signatures: Lược đồ chữ ký số dựa hàm băm không trạng thái XMSS Extended Merkle Signature Scheme Lược đồ chữ ký Merkle mở rộng ECC Elliptic Curve Cryptography Mật mã đường cong Elliptictic Isogeny Graph Đồ thị đẳng giống v DANH MỤC BẢNG BIỂU Bảng 1.1: Các lược đồ mật mã độ an toàn các lược đồ chống lại các tấn cơng máy tính cổ điển máy tính lượng tử [4] Bảng 2: So sánh ECDH SIDH [8] 13 Bảng 3.1: Tổng hợp kết đạt được chương trình SIDH lần 56 vi DANH MỤC HÌNH VẼ Hình 1.1: Các đường cong elliptic R Hình 1.2: Thuật toán ECDH 12 Hình 1.3: Sơ đồ trao đổi khóa ECDH 12 Hình 1.4: Sơ đồ SIDH 15 Hình 1.5: Sơ đồ SIDH với khóa phiên giá trị j-bất biến 17 Hình 1.6: Tạo đẳng giống từ điểm 18 Hình 1.7: Tạo đẳng giống từ mầm 20 Hình 1.8: Tạo khóa phiên 21 Hình 1.9: Sơ đồ SIDH đầy đủ 21 Hình 2.1: Tập hợp 37 giá trị j − bất biến siêu kỳ dị F4312 24 Hình 2.2: Nhân ker ([2]) @¢ ´ ¢ ánh xạ nhân đơi; nhóm cyclic bậc 28 Hình 2.3: Nhân ker ([3]) @¢ ´ ¢ ánh xạ nhân ba; nhóm cyclic bậc 28 Hình 2.4: Đồ thị 2-giống với p = 431 37 nút các j bất biến siêu kỳ dị các cạnh chúng tương ứng với phép ánh xạ 2-giống 35 Hình 2.5: Đồ thị 3-giống với p = 431 37 nút các j bất biến siêu kỳ dị các cạnh chúng tương ứng với phép ánh xạ 3-giống 36 Hình 2.6: Sơ đồ trao đổi khóa giao thức trao đổi khóa SIDH 40 Hình 2.7: Lưu đồ thuật toán tạo khóa cơng khai Alice 41 Hình 2.8: Lưu đồ thuật toán tạo khóa cơng khai Bob 42 Hình 2.9: Lưu đồ thuật toán tính khóa phiên dùng chung Alice 43 Hình 2.10: Lưu đồ thuật toán tính khóa phiên dùng chung Bob 44 Hình 3.1: Màn hình khởi tạo project Pycharm 49 Hình 3.2: Khởi tạo project thành cơng 50 Hình 3.3: Khóa bí mật Alice Bob 53 vii Hình 3.4: Khóa cơng khai Alice Bob 54 Hình 3.5: Khóa phiên Alice Bob 54 Hình 3.6: Giá trị khóa phiên Alice Bob giống 55 Hình 3.7: File data.txt lưu lại liệu các tham số 57 viii LỜI MỞ ĐẦU Sự kết hợp vật lý lượng tử sở toán học đại tạo nên máy tính lượng tử Định luật Moore cho thấy: “Số lượng transistor đơn vị diện tích tăng gấp hai lần sau 18 tháng” Hiện nay, thị trường có cơng ty hàng đầu chế tạo thành cơng chíp bán dẫn với tiến trình 2nm Nghĩa là, các tiến trình sản xuất chíp bán dẫn tiến tới ngưỡng giới hạn kích thước vật lý Theo Isaac Chuang cộng thuộc tập đoàn IBM đề xuất cơng nghệ máy tính lượng tử Với sức mạnh hệ máy tính lượng tử thuật toán lượng tử phá vỡ các thuật toán mã hoá được coi an toàn RSA, Elgamal, Do cần có các phương pháp mã hoá, phân phối trao đổi khóa để đảm bảo an tồn liệu máy tính lượng tử đời, đặc biệt máy tính lượng tử được thương mại hoá Vấn đề đặt hệ thống máy tính tồn cầu cịn sử dụng với công nghệ bán dẫn vô chưa thể thay hồn tồn cơng nghệ máy tính lượng tử Do đó, cộng đồng các nhà khoa học tập trung nghiên cứu, tận dụng thành tựu với cơng nghệ bán dẫn mà giúp chống được lại các tấn cơng hệ máy tính lượng tử Với mục tiêu này, các toán mật mã hậu lượng tử được đời Theo đó, có năm lớp nguyên thủy mật mã hậu lượng tử hình thành: mật mã dựa mã, mật mã dựa lưới, mật mã dựa hàm băm mật mã đa biến Điển hình cho các lớp được kể đến các giao thức mật mã hậu lượng tử như: giao thức McEliece, mã hóa dựa lưới Hoffstein, Pipher Silverman "NTRU", chữ ký hashtree Merkle, sơ đồ chữ ký "HFEv" Patarin giao thức trao đổi khóa Diffie-Hellman sử dụng lý thuyết đẳng giống đường cong elliptic siêu kỳ dị (SIDH) Giao thức trao đổi khóa SIDH có ưu điểm tốc độ tính toán, kích thước khóa nhỏ, thời gian tạo khóa nhanh đảm bảo an tồn, chống được số tấn cơng hệ máy tính lượng tử Độ an tồn giao thức trao đổi khóa SIDH được chứng minh lý thuyết tính toán đẳng giống đường cong elliptic siêu kỳ dị Nội dung đồ án được chia làm chương sau: Chương 1: Lý thuyết đẳng giống (isogeny) đường cong elliptic siêu kỳ dị với mật mã hậu lượng tử ix Chương trình bày tổng quan mật mã hậu lượng tử, các sở lý thuyết đẳng giống đường cong elliptic ứng dụng chúng đường cong elliptic siêu kỳ dị Chương 2: Lưu đồ trao đổi khóa Diffie-Hellman dựa ánh xạ đẳng giống (isogeny) đường cong elliptic siêu kỳ dị Chương trình bày các phép nhân điểm điểm đường cong elliptic, các phép tính toán 2-giống 3-giống, các đồ thị đẳng giống các lưu đồ thuật toán trao đổi khóa SIDH Chương 3: Xây dựng chương trình mơ giao thức trao đổi khóa Diffie-Hellman sử dụng tính tốn đẳng giống (isogeny) đường cong elliptic siêu kỳ dị Chương trình bày mơi trường thực thi, các hàm được sử dụng chương trình tiến hành chạy tổng hợp kết chương trình mơ giao thức trao đổi khóa SIDH x bí mật các ánh xạ đẳng giống f đường cong elliptic f A A (hay f B ) cịn khóa cơng khai các ánh xạ (E ) (và điểm f A (PA ), f A (QA )) (hay f B (E ) điểm f B (PB ), f B (QB )) Tuy nhiên, điểm khác biệt để toán có khả lượng tử thay sử dụng ánh xạ phép nhân vô hướng, toán lại sử dụng ánh xạ đẳng giống Ánh xạ đẳng giống [Định nghĩa 1.12] ánh xạ hữu tỉ khác thỏa mãn f (¥ E )= ¥ E' Chúng ta biết ánh xạ hữu tỉ có dạng: ỉp (x, y ) p (x, y )ư ữ ữ f (P)= f (x, y )= ỗỗỗ , ữ ữ ỗố q1 (x, y ) q2 (x, y )ø Như so với ECDLP, Bài toán l thay ánh xạ nhân vô hướng các đa thức biến dạng phân số Điều quan trọng để ánh xạ đẳng giống bất khả suy nhân chúng các nhóm l -xoắn (tập hợp các điểm P thỏa mãn [l ]P = ¥ , nghĩa nhóm gồm các điểm P (x, y ) mà cặp (x, y ) phải nghiệm mẫu số) Hơn nữa, phép ánh xạ f phép hợp thành e phép ánh xạ con, tức toán l e phức tạp toán toán l e lần Bài toán l e được các nhà lý thuyết số nghiên cứu 20 năm, được cho khó lũy thừa e đủ lớn Để đảm bảo các lý bảo mật, nên sử dụng các thông số kỹ thuật được đưa [15] 2.4 Kết luận chương Trong chương này, em trình bày mật mã dựa đẳng giống được sử dụng để cung cấp giao thức thiết lập khóa (SIDH) có cấu trúc tương tự ECDH Từ trình bày được lưu đồ thuật toán quá trình trao đổi khóa Diffie-Hellman dựa ánh xạ đẳng giống đảm bảo được tính an tồn lượng tử dựa độ khó toán l e -giống Bất chấp thoái trào dự kiến mật mã cổ điển bao gồm ECDH, mật mã dựa đẳng giống SIDH chứng minh có lựa chọn thay đầy hứa hẹn để cung cấp thêm các giải pháp an toàn thời đại lượng tử tới 47 CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH MƠ PHỎNG GIAO THỨC TRAO ĐỔI KHĨA DIFFIE-HELLMAN SỬ DỤNG TÍNH TỐN ĐẲNG GIỐNG (ISOGENY) TRÊN ĐƯỜNG CONG ELLIPTIC SIÊU KỲ DỊ 3.1 Môi trường thực thi mô 3.1.1 Công cụ phần mềm Bộ phần mềm mơ giao thức trao đổi khóa SIDH bao gồm: - Phần mềm Pycharm để sửa lỗi code, biên dịch mô giao thức - Giao thức được thực thi máy tính với cấu sau: + CPU: i5-9300H 2.4GHz + RAM: 8GB DDR4 (1 khe) 2400 MHz + Ổ cứng: SSD 256GB M.2 PCIe + Màn hình: 15.6" Full HD (1920 x 1080) + Card hình: Card rời NVIDIA GeForce GTX 1050, GB + Hệ điều hành: Windows 10 Home SL 3.1.2 Khởi tạo Project Phần mềm SIDH được đồ án được viết ngơn ngữ Python sử dụng trình biên dịch Pycharm, Các bước khởi tạo project Pycharm được mô tả đây: 48 Khởi động phần mềm Pycharm Chọn New project hình hiển thị Hình 3.1 Hình 3.1: Màn hình khởi tạo project Pycharm Ở phần “Location” chọn đường dẫn lưu project tên project Tích vào “Create a main.py welcome script” Sau nhấn vào “Create” để khởi tạo project Project sau khởi tạo thành cơng hiển thị Hình 3.2 49 Hình 3.2: Khởi tạo project thành cơng 3.1.3 Các hàm, thủ tục cho giao thức SIDH Chương trình SIDH mơ giao thức trao đổi khóa Diffie-Hellman dựa ánh xạ đẳng giống đường cong elliptic sử dụng số hàm sau: - Hàm j_inv: Tính toán giá trị j-bất biến đường cong • Input: Tham số (A:C) đường cong xạ ảnh • Output: Giá trị j-bất biến - Hàm xDBLADD: Nhân đôi điểm cộng điểm vi sai • Input: tọa độ xP , xQ hiệu xạ ảnh xQ- P , số a+ • Output: Tọa độ phép nhân đơi x2P và phép cộng điểm x (Q + P ) - Hàm xADD: Cộng điểm vi sai • Input: Tọa độ xP , xQ hiệu xạ ảnh xQ- P • Output: Tọa độ phép cộng điểm xQ+ P - Hàm xDBL: Nhân đơi điểm • Input: Tọa độ xP , số đường cong a • Output: Tọa độ x2P - Hàm xDBLe: Nhân é2e ù điểm dựa vào phép nhân đôi điểm êë úû 50 • Input: Tọa độ xP , số đường cong a, số lần e • Output: Tọa độ điểm xé2e ùP ú ëê û - Hàm LADDER: Nhân điểm m lần • Input: Tọa độ xP , số đường cong a, vơ hướng m • Output: Tọa độ x[m]P - Hàm LADDER_3_pt: Kết hợp cộng nhân điểm • Input: Tọa độ xP , xQ , xQ- P , số đường cong a, vô hướng m • Ouput: Tọa độ xP+ [m]Q - Hàm xTPL: Nhân điểm (m = 3) • Input: Tọa độ xP , số đường cong a • Ouput: Output: Tọa độ x[3]P - Hàm xTPLe: Nhân éëê3e ùúû điểm dựa vào phép nhân điểm • Input: Tọa độ xP , số đường cong a, số lần e • Output: Tọa độ điểm xé3e ùP ú ëê û - Hàm get_3_isog: Tìm đường cong 3-isogeny • Input: Tọa độ xP điểm xạ ảnh bậc • Output: Hệ số a’ đường cong 3-isogeny - Hàm eval_3_isog: Tìm điểm ánh xạ trường cong 3-isogeny • Input: Tọa độ xP điểm xạ ảnh bậc • Output: Tọa độ xf (P) đường cong 3-isogeny - Hàm first_4_isogeny: Tìm đường cong 4-isogeny tính điểm ánh xạ tạo đường cong 4-isogeny • Input: Tọa độ xP điểm xạ ảnh bậc 4, số đường cong a • Output: Hệ số a’ đường cong 4-isogeny tọa độ xf (P) đường cong 4-isogeny - Hàm get_4_isog: Tìm đường cong 4-isogeny • Input: Tọa độ xP điểm xạ ảnh bậc • Hệ số a’ đường cong 4-isogeny - Hàm eval_4_isog: Tìm điểm ánh xạ trường cong 3-isogeny 51 • Input: Tọa độ xP điểm xạ ảnh bậc • Output: Tọa độ xf (P) đường cong 4-isogeny - Hàm secret_pt: Tính điểm tọa độ xP+ [m]Q Với Q ánh xạ biến dị P đường cong: Q = t (P ) • Input: Tọa độ xP , xQ vô hướng m • Output: Tọa độ xP+ [m]Q - Hàm distort_and_diff: Tìm tọa độ điểm xQ- P Với Q ánh xạ biến dị P đường cong: Q = t (P ) • Input: Tọa độ xP • Output: Tọa độ xQ- P = xt (P)- P - Hàm get_A: Tìm hệ số đường cong a biết điểm P,Q,R với R=Q-P thuộc đường cong motgomery Ea : y = x + ax + x • Input: Tọa độ xP , xQ , xR • Output: Hệ số a - Hàm inv_3_way: Tìm phần tử nghịch đảo trường Fp2 • Input: Các phần tử z1, z2 , z3 thuộc trường Fp2 • Output: Phần tử nghịch đảo z1 ,1 z2 ,1 z3 3.2 Xây dựng chương trình mơ giao thức trao đổi khóa Diffie-Hellman sử dụng tính toán đẳng giống đường cong elliptic siêu kỳ dị Trong phần này, em trình bày kết mơ các bước tính toán khóa cơng khai khóa phiên dùng chung Alice Bob với xuất số phép tính toán đẳng giống giời gian cụ thể quá trình ➢ Chương trình trao đổi khóa Diffie-Hellman dựa ánh xạ đẳng giống Chương trình được viết ngơn ngữ Python được hoạt động dựa các bước: Tạo khóa bí mật, tính khóa cơng khai trao đổi khóa phiên dùng chung Các tham số cho đặc số p là: 52 ìï l A = ïï ïï l B = ïï í f =1 ïï ïï eA = 372 ïï ïỵ eB = 239 Các điểm sở công khai PA (xPA , yPA ), Q (- xPA , iy A ), PB (xPB , yPB ), Q (- xPB , iy B ) được thiết đặt trước cố định ❖ Tạo khóa bí mật: Như trình bày chương trước Alice Bob có khóa bí mật vơ hướng [k ], đó, Alice chọn k Ỵ (0,2e ùúû Bob chọn k Ỵ êëé0,3e A B ù úû Hình 3.3: Khóa bí mật Alice Bob ❖ Tạo khóa cơng khai: Chương trình tạo khóa cơng khai cho đầu khóa công khai Alice Bob gồm các tham số các điểm P’,Q’ Q’-P’ Từ điểm tính được hệ số đường cong a thơng qua hàm get_A chương trình a= (1- xP xQ - xP xQ- P - xQ xQ- P ) xP xQ xQ- P 53 - xP - xQ - xQ- P Hình 3.4: Khóa cơng khai Alice Bob ❖ Tạo khóa phiên: Chương trình tạo khóa phiên có đầu giá trị j-bất biến đường cong cuối mà Alice Bob hướng tới Hình 3.5: Khóa phiên Alice Bob Dựa vào kết mơ thấy với kích thước khóa bí mật Alice 372 bit Alice cần 0.1985s với 638 phép nhân điểm 1330 phép tính toán đẳng giống để tạo 4496 bit kích thước khóa cơng khai Alice mất 0.1895s với 638 phép nhân điểm 722 phép tính toán đẳng giống để tính toán được khóa phiên dùng chung cho hai Về phía Bob, kích thước khóa bí mật Bob 377 bit Bob cần 0.2234s với 811 phép nhân điểm 1841 phép tính toán đẳng giống để tạo 4502 bit kích thước khóa cơng khai Bob mất 0.2384s với 811 phép nhân điểm 1124 phép tính toán đẳng giống để tính toán được khóa phiên dùng chung cho hai ➢ Kiểm tra tính đắn chương trình 54 Hình 3.6 biểu diễn kết quá trình trao đổi khóa phiên Alice Bob Hình 3.6: Giá trị khóa phiên Alice Bob giống Có thể thấy, giá trị khóa phiên Alice Bob Điều có nghĩa quá trình trao đổi khóa diễn thành công Tổng thời gian thực tồn quá trình thuật toán 0.8517s 3.3 Tổng hợp kết chương trình mơ giao thức trao đổi khóa DiffieHellman sử dụng tính tốn đẳng giống đường cong elliptic siêu kỳ dị Để kiểm tra khả hoạt động thuật toán Em tiến hành tổng hợp kết chạy thuật toán sau nhiều lần chạy Các tham số p là: l A = 2, l B = 3, f = , eA = 372 , eB = 239 Các điểm sở công khai PA (xPA , yPA ), Q (- xPA , iy A ), PB (xPB , yPB ), Q (- xPB , iy B ) được thiết đặt trước cố định Khóa bí mật Alice Bob có kích thước khơng thay đổi 128bit, giá trị được thay đổi sau lần chạy Kết sau lần chạy: 55 Bảng 3.1: Tổng hợp kết đạt chương trình SIDH lần Lần Lần Thời gian (s) Kích thước khóa cơng khai (bit) Số phép nhân điểm Số phép tính toán isogeny 1330 0.1885 4497 638 811 1841 0.2064 4500 Tạo khóa phiên Alice 638 772 0.1556 Tạo khóa phiên Bob 811 1124 0.1825 Tổng 2898 5067 0.7340 Quá Số phép nhân điểm Số phép tính toán isogeny Tạo khóa cơng khai Alice 638 Tạo khóa cơng khai Bob trình Lần Thời gian (s) Kích thước khóa cơng khai (bit) Số phép nhân điểm Số phép tính toán isogeny Thời gian (s) Kích thước khóa cơng khai (bit) 1330 0.2094 4498 638 1330 0.2224 4503 811 1841 0.2064 4502 811 1841 0.2064 4501 751 638 772 0.1626 748 638 772 0.1565 751 751 811 1124 0.1885 748 811 1124 0.1825 751 2898 5067 0.7679 2898 5067 0.7680 Thông qua bảng 3.1, Với kích thước khóa bí mật khơng đổi 128 bit Có thể thấy quá trình trao đổi khóa hậu lượng tử SIDH bao gồm quá trình tạo khóa cơng khai tạo khóa phiên được mơ ta sau: - Quá trình tạo khóa cơng khai Alice mất thời gian trung bình 0.2068s với xác 638 phép nhân điểm 1330 phép tính toán đẳng giống để tạo được trung bình 4500 bit khóa cơng khai - Quá trình tạo khóa cơng khai Bob mất thời gian trung bình 0.2064s với xác 811 phép nhân điểm 1841 phép tính toán đẳng giống để tạo được trung bình 4501 bit khóa cơng khai - Quá trình tạo khóa phiên dùng chung Alice mất thời gian trung bình 0.1582s với xác 638 phép nhân điểm 772 phép tính toán đẳng giống để tính được khóa phiên 56 - Quá trình tạo khóa phiên dùng chung Bob mất thời gian trung bình 0.1845s với xác 811 phép nhân điểm 1128 phép tính toán đẳng giống để tính được khóa phiên - Tổng thời gian trung bình thực tồn thuật toán 0.7566s với 2898 phép nhân điểm 5067 phép tính toán đẳng giống Các giá trị khóa Ailce Bob sau được tạo được lưu file data.txt đẩy nhớ máy tính Hình 3.7: File data.txt lưu lại liệu tham số Sau nhiều lần thực thi với các khóa bí mật khác Có thể thấy chương trình thuật trình trao đổi khóa hậu lượng tử SIDH chương trình tính toán khóa nhanh với đầu khóa cơng khai với kích thước lớn đảm bảo an tồn lượng tử Để tối ưu thuật toán nữa, các tác giả xây dựng chế đóng gói khóa KEM được đề xuất thi mật mã hậu lượng tử NIST có khả giảm kích thước khóa cơng khai giảm thời thực thi thuật toán lên tới 2.9 lần so với thuật toán gốc Chi tiết chế được trình bày cụ thể [9] 57 3.4 Kết luận chương Trong chương này, Em trình bày được mơi trường thực thi mơ phỏng, cấu hình thiết bị, các hàm sử dụng chương trình từ mơ được quá trình trao đổi khóa Diffie-Hellman dựa ánh xạ đẳng giống rút được tổng hợp hiệu suất thời gian thực chương trình 58 KẾT LUẬN Kết đạt được: - Về mặt lý thuyết, đồ án trình bày được các nội dung sau: Tìm hiểu được kiến thức tổng quan mật mã hậu lượng tử sở toán học lý thuyết đẳng giống đường cong elliptic siêu kỳ dị Tìm hiểu lưu đồ giao thức trao đổi khóa Diffie-Hellman dựa ánh xạ đẳng giống SIDH - Về phần thực nghiệm, đồ án thu được kết sau: Xây dựng chương trình mơ thuật toán SIDH Làm rõ quá trình thuật toán quá trình tạo khóa cơng khai quá trình tạo khóa phiên dùng chung Tổng hợp các kết đánh giá hiệu suất thời gian thuật toán SIDH qua nhiều lần chạy thực nghiệm Hướng phát triển: Trong thời gian tới, có thời gian em tiếp tục nghiên cứu sâu các nội dung liên quan đến đồ án Cụ thể là: - Tiếp tục nghiên cứu giao thức trao đổi khóa SIDH với chế đóng gói khóa lượng tử KEM - Tiếp tục nghiên cứu đánh giá an toàn, hiệu tính khả thi thuật toán các tảng ứng dụng khác 59 TÀI LIỆU THAM KHẢO [1] P W Shor, "Algorithms for Quantum Computation: Discrete Logarithms and Factoring," In Proceedings of the 35th Annual IEEE Symposium on Foundations of Computer Science (FOCS 1994), IEEE Computer Society Press, p 124–134, 1994 [2] M B P Douglas R Stinson, "Cryptography Theory and Practice, Fourth Edition by Chapman and Hall/CRC," vol 9, 2018 [3] S Beauregard, "Circuit for Shor’s algorithm using 2n+3 qubits," quantph/0205095 [4] Daniel J Bernstein and Tanja Lange, "Post-quantum cryptography-dealing with the fallout of physics success," European Commission under Contract ICT-645622 PQCRYPTO [5] Silverman, J H., "The Arithmetic of Elliptic Curves, 2nd Edition Graduate Texts in Mathematics," Springer, 2009 [6] Craig Costello, Benjamin Smith, "Montgomery curves and their arithmetic," 2017 [7] Peter W Shor, "Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer," SIAM J Computing, vol 26(5), p 1484–1509, 1997 [8] Isara Corporation, "Isogeny-Based Cryptography Tutorial," August 1, 2019 [9] D Jao, R Azarderakhsh, M Campagna, C Costello, L De Feo, B Hess, A Jalali, B Koziel, B LaMacchia, P Longa, M Naehrig, J Renes, V Soukharev, and D Urbanik, "SIKE: Supersingular Isogeny Key Encapsulation," Manuscript available at sike.org, 2017 [10] Craig Costello Microsoft Research, USA, "Supersingular isogeny key exchange for beginners," Email: craigco@microsoft.com [11] V´elu, J., "Isog´enies entre courbes elliptiques," CR Acad, Paris S´er, vol 273, pp A238-A241, 1971 60 [12] Tate, J., "Endomorphisms of abelian varieties over finite fields," Inventiones mathematicae, vol 2(2), pp 134-144, 1966 [13] Steven D Galbraith And Frederik Vercauteren, "Computational Problems In Supersingular Elliptic Curve Isogenies," 2018 [14] Christophe Petit, "Faster Algorithms for Isogeny Problems using Torsion Point Images," In T Takagi and T Peyrin (eds.), ASIACRYPT 2017, Springer LNCS 10624, p 330–353, 2017 [15] David Jao, "Supersingular isogeny key encapsulation," NIST Round Submissions for Post-Quantum Cryptography Standardization, November 30, 2017 [16] L De Feo, D Jao, and J Plut, "Towards quantum-resistant cryptosystems from supersingular elliptic curve isogenies," J Mathematical Cryptology, vol 8(3), p 209–247, 2014 61

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

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w