Khóa luận tốt nghiệp kỹ thuật máy tính bộ tăng tốc đa chế độ hiệu suất cao cho mật mã hậu lượng tử crystalskyber

Khóa luận tốt nghiệp kỹ thuật máy tính nghiên cứu bộ tăng tốc đa chế độ hiệu suất cao cho mật mã hậu lượng tử CrystalSkyber, ứng dụng công nghệ tiên tiến.

Chuyên ngành

Kỹ thuật Máy tính

Người đăng

Ẩn danh

Thể loại

khóa luận tốt nghiệp

2024

70
3
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: LÝ DO CHỌN ĐỀ TÀI

1.1. Lý do chọn đề tài

1.2. Mục đích và mục tiêu của đề tài

1.3. Đối tượng và phạm vi nghiên cứu

1.4. Ý nghĩa khoa học và thực tiễn

2. CHƯƠNG 2: TỔNG QUAN VỀ MÃ HÓA

2.1. Tổng quan về mật mã hậu lượng tử

2.2. Tổng quan về thuật toán mật mã hậu lượng tử CRYSTALS-Kyber

2.3. Các tham số CRYSTALS-Kyber

2.4. Lý thuyết về Kyber

3. CHƯƠNG 3: THIẾT KẾ PHẦN CỨNG

3.1. Kiến trúc tổng quan của phần cứng CRYSTALS-Kyber

3.2. Thiết kế Hash-Core dựa trên SHA3

3.3. Thiết kế phần cứng lấy mẫu đồng nhất

3.4. Thiết kế phần cứng lấy mẫu phân phối nhị thức trung tâm

3.5. Thiết kế phần cứng Unified NTT/INTT

3.6. Kiến trúc phần cứng Fully-Pipelined Butterfly Unit (FPBU)

3.7. Kiến trúc phần cứng Barret-Reduce

3.8. Thiết kế phần cứng Pointwise Multiply Accumulate

3.9. Thiết kế phần cứng Unified Add/Sub mod q

3.10. Thiết kế phần cứng các Compress, Decompress, Encode và Decode

4. CHƯƠNG 4: ĐÁNH GIÁ KẾT QUẢ

4.1. Đánh giá trên phần mềm Vivado 2020

4.2. Đánh giá trên ZCU102 FPGA

4.3. So sánh CKA trên FPGA với các CPU mạnh nhất

4.4. So sánh với các nghiên cứu khác dựa trên FPGA

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

DANH MỤC HÌNH

DANH MỤC BẢNG

DANH MỤC TỪ VIẾT TẮT

Tóm tắt

I. Lý do chọn đề tài

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 tạo (AI) và Internet vạn vật (IoT) đã dẫn đến sự gia tăng các mối đe dọa về bảo mật. 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 nghiêm trọng đối với các hệ thống mật mã truyền thống như RSA và ECC. Để đối phó với điều này, Viện Tiêu chuẩn và Công nghệ Quốc gia (NIST) đã 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ử (PQC). Trong số các thuật toán này, CRYSTALS-Kyber nổi bật với khả năng bảo mật mạnh mẽ và được đánh giá cao trong giới học thuật và doanh nghiệp. Tuy nhiên, việc triển khai Kyber trên phần cứng vẫn gặp nhiều thách thức, đặc biệt là trong việc đạt được hiệu suất cao với tốc độ xử lý nhanh. Do đó, nghiên cứu này nhằm thiết kế một bộ tăng tốc đa chế độ cho CRYSTALS-Kyber, nhằm tối ưu hóa hiệu suất và năng lượng tiêu thụ.

II. Mục đích và mục tiêu của đề tài

Mục đích của đề tài là hiện thực hóa một kiến trúc phần cứng cho thuật toán mật mã hậu lượng tử CRYSTALS-Kyber bằng ngôn ngữ mô tả phần cứng Verilog. Mục tiêu chính bao gồm thiết kế phần cứng có khả năng thực hiện ba chế độ chính: Tạo khóa, Mã hóa và Giải mã. Đề tài cũng hướng đến việc triển khai thành công trên hệ thống SoC để xác minh độ chính xác của phần cứng. Đặc biệt, nghiên cứu sẽ đánh giá hiệu suất của phần cứng thông qua các chỉ số như Area-Delay Product (ADP) và Power-Delay Product (PDP). Việc đạt được các mục tiêu này sẽ góp phần nâng cao hiệu quả của CRYSTALS-Kyber trong các ứng dụng thực tế.

III. Tổng quan về mã hóa

Mã hóa là phương pháp biến đổi dữ liệu để chỉ những bên được phép mới có thể truy cập nội dung thông qua việc giải mã. Có hai loại mã hóa chính: mã hóa đối xứng và mã hóa bất đối xứng. Mã hóa đối xứng sử dụng một khóa chung cho cả người gửi và người nhận, trong khi mã hóa bất đối xứng sử dụng hai khóa khác nhau: một khóa công khai để mã hóa và một khóa bí mật để giải mã. Việc hiểu rõ về các phương pháp mã hóa này là cần thiết để phát triển các giải pháp bảo mật hiệu quả cho các hệ thống hiện đại.

IV. Tổng quan về mật mã hậu lượng tử

Mật mã hậu lượng tử đang mở ra một cánh cửa mới về bảo mật trong bối cảnh sự phát triển của máy tính lượng tử. Các thuật toán mật mã hậu lượng tử như CRYSTALS-Kyber đã được NIST chuẩn hóa để bảo vệ dữ liệu trước các cuộc tấn công của máy tính lượng tử. CRYSTALS-Kyber, với khả năng bảo mật vượt trội, đã trở thành một trong những ứng cử viên hàng đầu cho chuẩn hóa. Tuy nhiên, việc triển khai các thuật toán này trên phần cứng vẫn gặp nhiều thách thức, đặc biệt là trong việc tối ưu hóa tốc độ và hiệu suất. Nghiên cứu này sẽ tập trung vào việc phát triển một bộ tăng tốc cho CRYSTALS-Kyber nhằm cải thiện hiệu suất và khả năng ứng dụng trong thực tế.

V. Thiết kế phần cứng

Thiết kế phần cứng cho bộ tăng tốc CRYSTALS-Kyber bao gồm việc phát triển các module chính như Unified NTT/INTT, Pointwise Multiply Accumulate và các phương pháp rút gọn tối ưu. Việc chia sẻ tài nguyên giữa các module sẽ giúp tối ưu hóa diện tích và tốc độ xử lý. Đặc biệt, module Unified NTT/INTT được tối ưu hóa để giảm thiểu độ phức tạp và thời gian tính toán. Kết quả cho thấy rằng thiết kế này không chỉ cải thiện hiệu suất mà còn giảm thiểu tiêu thụ năng lượng, từ đó nâng cao khả năng ứng dụng trong các hệ thống thực tế.

VI. Đánh giá kết quả

Kết quả đánh giá cho thấy bộ tăng tốc CRYSTALS-Kyber đã được triển khai thành công trên Zynq UltraScale+ MPSoC ZCU102 FPGA. Các chỉ số như Power-Delay Product (PDP) cho thấy hiệu suất của bộ tăng tốc này tốt hơn ít nhất 12.3 lần so với các CPU mạnh mẽ. So với các kiến trúc Kyber trước đây, bộ tăng tốc này nhanh hơn ít nhất 1.38 lần và có ADP tốt hơn ít nhất 1.9 lần. Những kết quả này chứng minh rằng thiết kế phần cứng không chỉ đạt được mục tiêu về hiệu suất mà còn mở ra hướng đi mới cho việc triển khai các thuật toán mật mã hậu lượng tử trong thực tế.

VII. Kết luận và hướng phát triển

Nghiên cứu này đã thành công trong việc thiết kế và triển khai bộ tăng tốc đa chế độ cho CRYSTALS-Kyber, góp phần nâng cao hiệu suất và khả năng ứng dụng của thuật toán mật mã hậu lượng tử. Hướng phát triển tiếp theo có thể bao gồm việc mở rộng khả năng của bộ tăng tốc để hỗ trợ nhiều thuật toán mật mã khác, cũng như cải thiện hơn nữa hiệu suất và khả năng tiêu thụ năng lượng. Việc nghiên cứu và phát triển các giải pháp bảo mật hiệu quả sẽ là cần thiết trong bối cảnh công nghệ ngày càng phát triển.

21/02/2025

Trích đoạn nội dung tài liệu

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.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ