Chương 1.-- 2 E2E2EE2EEE1EE121121121121121121121111211 1. Lý do chọn đề tài.---:- St St EEEE1211211211211211211 211211211. Mục đích và mục tiêu của đỀ tài.- -- --G Q Q90 HT ng xxx ven6 1. Đối tượng và phạm vi nghiên CỨU.
Đối tượng nghiên cứu. Pham vi nghiÊn CỨU. Ý nghĩa khoa học và thực tiỄn. Ý nghĩa khoa học.----- 22Et+EE+EE+EE+EE2EEEEEEEEEEEEErkrrrerkeee 7 1.
Ý nghĩa thực tiễn.2c ke E1 11c crre,8 Chương2. Tổng quan về mã hÓa.---©+- 2 + E+SE+EE+EE£EEEEEEEEEEEEEEEEEEEEEEEEErrkrkrree 9 2. Tổng quan về mật mã hậu lượng tử. Tổng quan về thuật toán mật mã hậu lượng tử CRYSTALS-Kyber.--- 2: 2 2+ St+EE£EE2EE2EE+EEEEEEEEEerrrrrerreee 12 3.
Các tham số CRYSTALS-Kyber. Lý thuyết về Kyber.- Án nn TT HH HH HH net 15 3.SQ TH nH TH HH HH rệt 21 Chương 4. THIET KE PHAN CỨNG. Kiến trúc tổng quan của phần cứng CRYSTALS-Kyber.
Thiết kế Hash-Core dựa trên SHA3.¿-2- 5t +x+EeEE+E+EEEE+EeErxerererxee 26 4. _ Thiết kế phan cứng lấy mẫu đồng nhất. _ Thiết kế phần cứng lấy mẫu phân phối nhị thức trung tâm. _ Thiết kế phan cứng Unified NTT/INTT.
Kiến trúc phần cứng Fully-Pipelined Butterfly Unit (FPBU). Kiến trúc phần cứng Barret-Reduce. _ Thiết kế phan cứng Pointwise Multiply Accumulate. Thiết kế phần cứng Unified Add/Sub mod q,.
_ Thiết kế phần cứng các Compress, Decompress, Encode và Decode. ĐÁNH GIÁ KET QUẢ.--- 2-52 2+S£+E++EE+E2EE+EzErErrerreee 49 5. _ Đánh giá trên phần mềm Vivado 2020.-----2¿©¿c++csz2s++zx+cse2 49 5. _ Đánh giá trên ZCU102 FPGA.
So sánh CKA trên FPGA với các CPU mạnh nhất. So sánh với các nghiên cứu khác dựa trên FPGA. Phan cứng Unified NTT/INTT. Phần cứng CRYSTALS-Kyber Accelerator.
KẾT LUẬN VÀ HƯỚNG PHAT TRIÊỀN. KGt lua nh. Hướng phát triển.-----¿-2¿++2E++2E+tEEEEEEEEEEEEEEEEkrrrkrrrkerrree 60 DANH MỤC HÌNH Hình 2.1: Mô hình mã hóa đối xứng.--- 2-2 2 + £+E£+EE+E++E++EE£EE2E£EzEzEerreee 9 Hình 2.2: Mô hình mã hóa bất đối xứng .1: Khái quát độ khó của bài toán giải quyết van đề LWE trên Lattice-based ¬.2: Khái quát cơ chế giao tiếp với Kyber.KeyGenQ: key generation [ Ï].-«---««<ss«+<ss++ 16 Hình 3.- --«-+-««<<<ec<sseessees 17 Hình 3.6: Thuật toán Parse [1] .7: Dinh nghia Bn 0777.8: Thuật toán CBD [[].- c2 S2 22 21151121151 kg HH re 18 Hình 3.9: Thuật toán Decodee [1] .- -- -- - Sc s11 nề 21 Hình 3.1: Kiến trúc tong quan của phan cứng CRYSTALS-Kyber.2: (a) Kiến trúc phần cứng Hash-Core với (b) phần cứng Keccak.3: Kiến trúc phần cứng lấy mẫu đồng nhất .-- 2-2 2 2+z+sz+sz 2š 31 Hình 4.5: Hai đơn vi Butterfly NTT/INTT: (a) Cooley- Tuckey (CT) Butterfly, (b) Gentleman-Sande (GS) Butterfly. 113111 9 1 vn ng rệt 35 Hình 4.6: Thuật toán NTT độ phức tạp thấp.7: Thuật toán INTT có độ phức tạp thấp.----- 2-2 s+ss+s++x+zzxezxzez 36 Hình 4.8: (a) Kiến trúc tong quan của phan cứng Unified NTT/INTT trong Kyber với (b) bảy NTT-Core và một NTT-Core cho xử lý hậu kỳ .9: Kiến trúc phần cứng Fully-Pipelined Butterfly Unit .10: Kiến trúc phần cứng (a) cộng mod q và (b) trừ mod q.11: Thuật toán Modified Barrett Reduce [6T].12: Kiến trúc phần cứng Modified Barrett Reduce.13: Kiến trúc phần cứng (a) Pointwise Multiply Accumulate, (b) Pointwise Multiply Fully-Pipelined KẾ.14: Kiến trúc phan cứng (a) Unified Add/Sub mod q, (b) Unified Add/Sub 0058000.15: Kiến trúc phần cứng (a) Compressdu, (b) Divider.16: Kiến trúc phần cứng (a) Decompressdu, (b) Multiplier by Q.17: Kiến trúc phần cứng Encode1.---¿: + ©z++++cx++zx+zxtzrxerrsez 47 Hình 4.18: Kiến trúc phần cứng Decode1.-----¿-2-+¿+s2+++++£+£++£x++xzzzs+rsez 47 Hình 5.1: Mô hình kiểm tra trên phần mềm Vivado 2020.2: Kết quả so sánh 2 file ciphertext của phần mém và phan cứng mô phỏng trên Vivado 2020.
c 00101122211 1111112301 11111001111 11g 11 ng vế 50 Hình 5.3: Kết quả so sánh 2 file message của phần mềm và phần cứng mô phỏng trên Vivado 2020.-c 1 001111221111 111261 111111001111 11g 1v ng vn gưy 50 Hình 5.4: Mô hình SoC dé triển khai và đánh giá hệ thống.5: Sơ đồ khối khi triển khai IP Kyber trên FPGA.6: Phân tích định lượng về thời gian thực thi CKA và tích năng lượng với độ trễ trên các tần số khác nhau và kích thước đầu vào khác nhau .7: So sánh thời gian thực thi và tích năng lượng với độ trễ giữa CKA va CPU mạnh mẽ trên các kích cỡ đầu vào khác nhau.- - 2s + s2 x+£££++E+zezxzxezs 55 DANH MỤC BANG Bảng 3.1: Tập tham số của Kyberr.- --:- 2 + E+SE+EE+EE£EE+EE2EEEEEEEEEEEEEErErrrerreree 12 Bang 4.1: Các chế độ của phần cứng Hash-COre.1: So sánh kiến trúc phần cứng Unified NTT/INTT được đề xuất với các nghiên cứu tiên tiến khác trên Artix-7 FPGA.-- 2-2 2 2+ +2 E++EE+E+EzEzEzrxee 56 Bảng 5.2: So sánh với các nghiên cứu tiên tiến dựa trên kết quả sau triển khai CRYSTALS-Kyber Accelerator với Artix 7 FPGA.- -- cv sssereeres 57 DANH MỤC TU VIET TAT Viết tắt Tiếng Anh Tiếng Việt Al Artificial Intelligence Tri tuệ nhân tao Application Specific Mach tich hop danh riéng ASIC. , Integrated Circuit cho ứng dung ADP Area-Delay Product Hiệu qua ela Diện và Độ Trê Tích CPU Central Processing Unit Bộ xử lý trung tâm Digital Signature A2 ~Lự, A DSA Algorithm Thuật toán chữ ký sô ECC Elliptic-Curve Mật mã đường cong Cryptography Elliptic Field-Programmable Gate | Lap Trinh Trường Mang FPGA R Array Công loT Internet of Things Internet vạn vật Inverse Number Theoretic Biến đôi lý thuyết số INTT : ; Transform nghich dao LWE Learning-With-Errors Học với lỗi NIST National Institute of Viện Tiêu Chuân và Công Standards and Technology |_ nghệ Quoc Gia Hoa Ky NTT died’ Transform i Biến đổi ly thuyết số PQC Post-Quantum Computer Mật mã hậu lượng tử PWM Pointwise Multyply Nhân theo điểm Hiệu quả giữa Năng PDP Power-Delay Product Lượng Tiêu Thụ và Độ Tré RSA Rivest-Shamir-Adleman SoC System on Chip Hệ thống trên chip TOM TAT KHÓA LUẬN CRYSTALS-Kyber, gọi tắt là Kyber, là một thuật toán mã hóa dữ liệu mới đây đã được NIST chuẩn hóa đề bảo vệ dữ liệu trước sự phát triển nhanh chóng của máy tính lượng tử, đe doa đáng ké đến các hệ thống mật mã truyền thống như RSA và ECC. Do đó, nhiều nghiên cứu về phần cứng đã được thực hiện dé tối ưu hóa hiệu suất và hiệu quả năng lượng của Kyber cho các hệ thống hiện đại như Internet vạn vật (IoT). Tuy nhiên, hầu hết phần cứng hiện tại của Kyber vẫn gặp khó khăn trong việc đạt được tôc độ cao với hiệu suât phân cứng cao.
Vì vậy, nghiên cứu này đề xuất một thiết kế phần cứng cho bộ tăng tốc CRYSTALS-Kyber (CKA) đa chế độ hiệu suất cao nhằm hỗ trợ tất cả các hoạt động chế độ, bao gồm tạo khóa, mã hóa và giải mã, với tốc độ cao và tiêu thụ điện năng thấp. Ba ý tưởng sáng tạo được đề xuất cho CKA đề đạt được những mục tiêu nay là: chia sẻ tài nguyên module dé tái sử dung hầu hết các module chính trong ba chế độ hoạt động: triển khai mô-đun Unified NTT/INTT được tối ưu hóa tốc độ và diện tích do đây là tính toán phức tạp và tốn thời gian nhất; và loại bỏ Montgomery Reduce chỉ sử dụng phương pháp rút gọn tối ưu Barrett Reduce và Pipelined Pointwise Multiply Accumulate dé tăng tốc hoạt động nhân phức tap. Đáng chú ý, module Unified NTT/INTT của nghiên cứu cũng tốt hơn từ 1.3 lần so với các nghiên cứu NTT/INTT trước đây về Area-Delay Product (ADP). CKA đã được triển khai thành công trên Zynq UltraScale+MPSoC ZCU102 FPGA, trong đó Power-Delay Product (PDP) của CKA ít nhất tốt hơn 12.3 lần so với CPU mạnh mẽ.
So với các kiến trúc Kyber trước đây ở ba chế độ hoạt động, CKA nhanh hơn ít nhất 1.38 lần và tốt hơn ít nhất 1.9 lần về ADP. ABSTRACT CRYSTALS-Kyber, briefly called Kyber, is an asymmetric encryption algorithm standardized by NIST to maintain data security in the face of the rapid development of quantum computers, which significantly threaten traditional cryptographic systems such as RSA and ECC. Accordingly, multiple hardware studies have been conducted for Kyber to optimize performance and energy efficiency for modern systems such as the Internet of Things. However, most existing Kyber hardware still faces challenges in achieving high speed with high hardware efficiency.
Therefore, this research proposes a hardware design for a high-performance, multimode CRYSTALS-Kyber accelerator (CKA) to support all operating modes, including key generation, encryption, and decryption, with high speed and low power. Three innovative ideas are proposed for CKA to achieve these goals: resource-sharing modules to reuse almost all main modules in three operating modes, implement a Unified NTT/INTT module to optimize the speed and area of the most complex and time-intensive module, and pipelined pointwise multiply- accumulate and eliminate the Montgomery Reduce method, and use only the modified Barrett Reduce optimal reduction method to accelerate the complex multiplication operation. Notably, compared to NTT/NTT works, our Unified NTT/INTT is also 1.3 times better in area-delay product. The CKA is successfully implemented on the Zynq UltraScale+ MPSoC ZCU102 FPGA, where the power-delay product of CKA is at least 12.3 times better than powerful CPUs.
Compared to previous Kyber architectures in three operating modes, the CKA is at least 1.9 times better in execution time and area-delay product, respectively. Lý do chọn đề tài Hiện nay, sự phát triển mạnh mẽ trong các lĩnh vực như chăm sóc sức khỏe, trò chơi điện tử, viễn thông, trí tuệ nhân tao (Artificial Intelligence — AI) và Internet vạn vật (Internet of Things — IoT),. thì các mối đe dọa trên về bảo mật cũng đang gia tăng. Sự phát triển nhanh chóng của máy tính lượng tử, với khả năng vượt qua siêu máy tính hiện đại, đang trở thành mối đe dọa về vấn đề bảo mật.
Các thuật toán bao mật hiện tại như Rivest-Shamir-Adleman (RSA) hay Elliptic-Curve Cryptography (ECC) có thé dé dàng bị tan công bởi các thuật toán trên máy tính lượng tử như thuật toán Shor. Dé chống lại điều này, Viện Tiêu chuẩn và Công nghệ Quốc gia (National Institute of Standards and Technology — NIST) của Hoa Ky đã khởi xướng chương trình chuẩn hóa các thuật toán mật mã hậu lượng tử (Post-Quantum Computer — PQC) vào năm 2016. Trải qua nhiều vòng đánh giá nghiêm ngặt, nhiều thuật toán không vượt qua, nhưng cũng có nhiều thuật toán cho thay khả năng bảo mật mạnh mẽ va đủ sức chống lại các cuộc tấn công của máy tính lượng tử trong tương lai. Các thuật toán này chủ yếu dựa trên: Lattice-based (dựa trên lưới), Code-based (dựa trên mã), Multivariate Quadratic Equations (dựa trên phương trình bậc hai đa biến), Hash- based (dựa trên ham băm), Supersingular Elliptic Curve Isogeny (dựa trên isogeny của đường cong elliptic siêu đặc) và Symmetric-key (khóa đối xứng).
Trong đó, các thuật toán Lattice-based đang cho thấy tiềm năng to lớn của mình với nhiều thuật toán mã hóa hậu lượng tử đã triển khai Lattice-based. Các thuật toán Lattice-based, bao gồm CRYSTALS-Kyber (Kyber), CRYSTALS-Dilithium, Falcon, Saber va NewHope, đã nổi lên như những ứng cử viên day triển vọng cho chuẩn hóa. Vượt qua tất cả, CRYSTALS-Kyber hay gọi tắt là Kyber đang là thuật toán cho thấy khả năng bảo mật vượt trội và được đánh giá TẤt cao trong giới học thuật và doanh nghiệp. Kyber là thuật toán mã hóa bất đối xứng đã được NIST công bố là đã được chuân hóa và có thê giúp máy tính cô điên chông lại các cuộc tân công bởi máy tính lượng tử trong tương lai.