Thiết Kế Bộ Tăng Tốc NTT Cho Mã Hoá Sau Lượng Tử CRYSTALS-KYBER

Luận văn thạc sĩ về thiết kế bộ tăng tốc NTT cho mã hóa sau lượng tử CRYSTALS-Kyber, chuyên ngành kỹ thuật điện tử. Nghiên cứu và phát triển giải pháp phần cứng hiệu quả.

Chuyên ngành

Kỹ Thuật Điện Tử

Người đăng

Ẩn danh

Thể loại

Luận Văn Thạc Sĩ

2024

74
6
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng Quan CRYSTALS Kyber Mã Hóa Sau Lượng Tử An Toàn

Trong bối cảnh máy tính lượng tử ngày càng phát triển, tính bảo mật của các thuật toán mã hóa hiện tại đang bị đe dọa. Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ (NIST) đã chọn CRYSTALS-Kyber làm cơ chế mã hóa khóa công khai và thiết lập khóa tiêu chuẩn cho thời kỳ hậu lượng tử. CRYSTALS-Kyber thuộc họ các thuật toán dựa trên mạng lưới, đảm bảo an toàn dựa trên độ khó của việc giải quyết các vấn đề về lưới mật mã. Thuật toán này đòi hỏi nhiều phép nhân đa thức, đặc biệt là thông qua Number Theoretic Transform (NTT)Inverse NTT (INTT). Điều này đặt ra thách thức lớn về hiệu năng tính toán, đặc biệt khi triển khai trên các hệ thống nhúng. Mục tiêu là đảm bảo tính an toàn trước các cuộc tấn công lượng tử mà vẫn duy trì hiệu quả và tương thích giữa các hệ thống khác nhau, hỗ trợ sự đồng nhất trong cộng đồng quốc tế.

1.1. Lý Do Chọn CRYSTALS Kyber Trong Mã Hóa Sau Lượng Tử

Việc NIST chọn CRYSTALS-Kyber cho thấy tiềm năng ứng dụng rộng rãi trong lĩnh vực bảo mật thông tin. Các thiết kế và tiêu chuẩn cho mã hóa lượng tử sẽ liên tục được nghiên cứu và cải tiến về các thông số, nhằm hoàn thiện khả năng bảo mật và hiệu năng. Theo tài liệu gốc, NIST đã trình bày dự thảo tiêu chuẩn chuẩn hoá của Cơ chế mã hoá Khoá dựa trên lưới module (Module-Lattice-Based Key-Encapsulation Mechanism – MLBKEM) trong Tiêu chuẩn xử lý thông tin Liên Bang (Federal Information Processing Standards - FIPS) 203[1], cho thấy sự quan trọng của nó trong tương lai.

1.2. Thách Thức Hiệu Năng Với NTT Trong CRYSTALS Kyber

CRYSTALS-Kyber đòi hỏi nỗ lực tính toán đáng kể, chủ yếu là phép nhân đa thức trên một vành đa thức giới hạn. Quá trình tạo khóa, mã hóa và giải mã khóa có thể chiếm tỷ lệ lớn trong khả năng tính toán và chu kỳ clock của bộ vi xử lý. Tuy nhiên, không giống như ECC hay RSA, NTT có thể song song hóa để tăng throughput, mở ra cơ hội cải thiện hiệu năng.

II. Vấn Đề Tối Ưu NTT Cho CRYSTALS Kyber Trên FPGA

Mặc dù CRYSTALS-Kyber được thiết kế để cân bằng giữa bảo mật và hiệu năng, việc triển khai hiệu quả vẫn là một thách thức. Các triển khai phần mềm thường tốn nhiều thời gian tính toán cho các phép biến đổi NTTINTT. Để đạt được hiệu năng tối đa và phân bổ tài nguyên hợp lý, cần triển khai các thuật toán mã hóa này trên các phần cứng chuyên dụng. FPGA (Field-Programmable Gate Array) là một nền tảng tiềm năng để tăng tốc các phép tính toán này, đặc biệt là NTT, nhờ khả năng tái cấu hìnhsong song hóa cao. Việc thiết kế một bộ tăng tốc NTT hiệu quả trên FPGA đòi hỏi sự hiểu biết sâu sắc về kiến trúc phần cứng và các kỹ thuật tối ưu hóa.

2.1. Tại Sao FPGA Là Giải Pháp Tiềm Năng Cho NTT

Nhiều nghiên cứu về mã hóa lượng tử gần đây chọn ASICFPGA làm nhân tính toán phụ cho các kiến trúc CPU như RISC-V, ARM, x86_64. Trong đó, FPGA là một nền tảng được sử dụng nhiều trong các nghiên cứu và đánh giá sức mạnh giải thuật cũng như ứng dụng tăng tốc bằng phần cứng. Với các công cụ phát triển như Quartus hay Vivado, FPGA cho phép thiết kế mạch kỹ thuật số chính xác và có quyền quyết định lớn với các kết quả thiết kế.

2.2. Các Hạn Chế Của Triển Khai Phần Mềm NTT Truyền Thống

Triển khai CRYSTALS-Kyber trên phần mềm cần lặp lại nhiều lần các biến đổi NTT thuận và nghịch (INTT), làm cho nó trở thành phần tốn thời gian nhất trong tính toán. Điều này tạo ra nút thắt cổ chai về hiệu năng, đặc biệt trong các ứng dụng yêu cầu thời gian đáp ứng nhanh.

III. Phương Pháp Thiết Kế Bộ Tăng Tốc NTT Hiệu Quả Trên FPGA

Để giải quyết vấn đề hiệu năng của NTT trong CRYSTALS-Kyber, luận văn này trình bày thiết kế một bộ tăng tốc phần cứng hiệu quả cho NTT/INTT trên FPGA. Thiết kế tập trung vào việc tối ưu hóa cấu trúc Butterfly Unit (BU) và giao tiếp giữa các giai đoạn của NTT. Bằng cách tận dụng khả năng song song hóa của FPGA, bộ tăng tốc này có thể cải thiện đáng kể throughput so với các triển khai phần mềm. Luận văn sử dụng phần cứng DE-10 Standard với bộ xử lý Intel (Altera) Cyclone V và công cụ Quartus để thực hiện và đánh giá thiết kế.

3.1. Cấu Trúc Butterfly Unit BU Tối Ưu Cho NTT

Một trong những phương pháp chính để cải thiện hiệu suất NTT là cải tiến cấu trúc Butterfly Unit (BU). Nghiên cứu của Zhang và cộng sự [3] hợp nhất quá trình tiền xử lý của NTT và sau xử lý của INTT với một BU tối ưu hoá cho các phép toán modular trên ước lượng mới số nguyên tố q. Tối ưu hóa BU giúp giảm độ trễ và tăng throughput cho mỗi phép tính NTT.

3.2. Quản Lý Bộ Nhớ Và Giao Tiếp Giai Đoạn Trong NTT

Giao tiếp giữa các giai đoạn của NTT, bao gồm việc lấy dữ liệu từ bộ nhớ và sắp xếp chúng theo thứ tự cho các giai đoạn NTT tiếp theo, cũng rất quan trọng. Việc sử dụng SRAM (Static Random Access Memory) và nhân modulo bit song song có thể cải thiện quá trình NTT. Kế hoạch truy cập bộ nhớ ping-pong cũng được đề xuất để tăng cường throughput dữ liệu, như trong [9].

3.3. Rút Gọn Barrett Và Montgomery Trong NTT

Rút gọn Barrett là một thuật toán modulo phổ biến để tối ưu hoá BU [7]. Rút gọn Montgomery cũng là một kỹ thuật quan trọng trong việc thực hiện phép nhân modulo hiệu quả trong NTT. Việc lựa chọn và tối ưu hóa các thuật toán rút gọn ảnh hưởng lớn đến hiệu năng của bộ tăng tốc.

IV. Triển Khai CRYSTALS Kyber Trên ARM Và FPGA Cyclone V

Luận văn kiểm tra hiệu năng của mã nguồn CRYSTALS-Kyber bằng phần mềm trên vi xử lý nhúng ARM-Cortex A9 của vi xử lý Cyclone V. Mục tiêu là đánh giá khả năng tương thích của CRYSTALS-Kyber khi chạy trên phần cứng Arm, từ đó chứng minh sự cần thiết của việc phần cứng hóa các phép toán này khi triển khai ứng dụng của máy tính nhúng năng lượng thấp. Đồng thời, luận văn xây dựng phần cứng xử lý NTTINTT trên nền tảng FPGA, đánh giá và bàn luận các kết quả cũng như hướng phát triển cho đề tài nói chung và phần cứng hoá các họ mã hóa sau lượng tử nói riêng.

4.1. Chạy Mã Nguồn CRYSTALS Kyber Trên Vi Xử Lý ARM Cortex A9

Luận văn thực hiện chỉnh sửa mã nguồn tham chiếu được công bố bởi nhóm nghiên cứu Kyber để có thể chạy và kiểm thử mã nguồn tham chiếu Kyber trên SoCFPGA Linux, qua đó có cái nhìn sơ bộ về tốc độ của thuật toán. Việc này giúp xác định các điểm nghẽn hiệu năng và làm cơ sở cho việc thiết kế bộ tăng tốc phần cứng.

4.2. Thiết Kế Và Tổng Hợp Bộ Tăng Tốc NTT Trên FPGA Cyclone V

Thiết kế phần cứng NTT được viết bằng ngôn ngữ phần cứng Verilog và kiểm tra đánh giá trên nền tảng FPGA. Phần cứng thiết kế dựa trên ngôn ngữ FPGA, phần mềm chạy trên ARM Cortex-A9 của Intel (Altera) Cyclone V, tổng hợp phần cứng trên Cyclone V (Quartus) và Xilinx Artix-7 (Vivado). Các kết quả tổng hợp và mô phỏng được so sánh với kết quả NTT chạy bằng mã nguồn Kyber.

V. Kết Quả Đánh Giá Hiệu Năng Bộ Tăng Tốc NTT Trên FPGA

Luận văn trình bày các kết quả tổng hợp mạch trên Vivado (Xilinx Artix-7 XC7A200T) và Quartus (Cyclone V), cũng như kết quả mô phỏng QuestaIntel. Các kết quả này được so sánh với kết quả từ phần mềm Kyber để đánh giá hiệu quả của bộ tăng tốc NTT. Đánh giá tập trung vào các chỉ số như throughput, latency, resource utilizationtiêu thụ năng lượng. Kết quả cho thấy bộ tăng tốc NTT có thể cải thiện đáng kể hiệu năng so với triển khai phần mềm, đặc biệt trong các ứng dụng yêu cầu tốc độ cao.

5.1. Kết Quả Tổng Hợp Mạch Trên Xilinx Artix 7 Và Cyclone V

Kết quả tổng hợp mạch trên cả hai nền tảng Xilinx Artix-7 và Cyclone V cho thấy sự khác biệt về tài nguyên sử dụng và tốc độ xung nhịp đạt được. Việc so sánh này giúp đánh giá tính di động của thiết kế và xác định nền tảng phù hợp nhất cho các ứng dụng khác nhau.

5.2. Mô Phỏng Và Kiểm Chứng Chức Năng Của Bộ Tăng Tốc NTT

Mô phỏng QuestaIntel được sử dụng để kiểm chứng chức năng của bộ tăng tốc NTT và đảm bảo tính chính xác của các phép tính. Kết quả mô phỏng được so sánh với kết quả từ phần mềm Kyber để đảm bảo sự tương thích và tính toàn vẹn của dữ liệu.

5.3. So Sánh Hiệu Năng Với Các Nghiên Cứu NTT Khác

Bảng so sánh hiệu năng được trình bày để so sánh thiết kế đề xuất với các nghiên cứu NTT tương tự trước đây. Điều này giúp đánh giá vị trí của nghiên cứu trong bối cảnh chung và xác định các điểm mạnh và điểm yếu của thiết kế.

VI. Kết Luận Hướng Nghiên Cứu Phát Triển Bộ Tăng Tốc NTT Tương Lai

Luận văn này đã trình bày thiết kế và triển khai một bộ tăng tốc NTT hiệu quả cho mã hóa sau lượng tử CRYSTALS-Kyber trên FPGA. Kết quả cho thấy tiềm năng lớn của việc sử dụng phần cứng chuyên dụng để tăng tốc các thuật toán mã hóa hậu lượng tử. Các nghiên cứu tiếp theo có thể tập trung vào việc tối ưu hóa thiết kế để giảm tiêu thụ năng lượng, tăng throughput, và chống lại các cuộc tấn công kênh phụ. Việc tích hợp bộ tăng tốc NTT vào các hệ thống nhúng và đánh giá hiệu năng trong các ứng dụng thực tế cũng là một hướng nghiên cứu quan trọng.

6.1. Tối Ưu Hóa Tiêu Thụ Năng Lượng Của Bộ Tăng Tốc NTT

Giảm thiểu tiêu thụ năng lượng là một yếu tố quan trọng, đặc biệt trong các ứng dụng di động và nhúng. Các kỹ thuật tối ưu hóa năng lượng như clock gating, power gating và voltage scaling có thể được áp dụng để cải thiện hiệu quả năng lượng của bộ tăng tốc.

6.2. Phòng Chống Các Cuộc Tấn Công Kênh Phụ Side Channel Attack

Mật mã được triển khai trên phần cứng có thể dễ bị tấn công kênh phụ. Các nghiên cứu tiếp theo nên tập trung vào việc phát triển các kỹ thuật phòng chống tấn công kênh phụ để đảm bảo tính bảo mật của bộ tăng tốc NTT.

6.3. Ứng Dụng Thực Tế Và Tích Hợp Hệ Thống Nhúng

Việc tích hợp bộ tăng tốc NTT vào các hệ thống nhúng và đánh giá hiệu năng trong các ứng dụng thực tế như bảo mật IoT và truyền thông an toàn là một bước quan trọng để chứng minh tính khả thi và hiệu quả của giải pháp.

16/05/2025

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

MỞ ĐẦU 1 Luận văn thạc sĩ GVHD: TS. Trần Hoàng Linh 1.1 Lý do chọn đề tài Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ (National Institute of Standards and Technology – NIST) đã trình bày dự thảo tiêu chuẩn chuẩn hoá của Cơ chế mã hoá Khoá dựa trên lưới module (Module-Lattice-Based Key- Encapsulation Mechanism – MLBKEM), chọn CRYSTALS-Kyber là mã hoá cơ sở. Việc triển khai phần cứng hiện tại của mật mã hiện đại sẽ cần xử lý tiêu chuẩn mới này một cách có hiệu quả. Việc chuẩn hoá của NIST được giải thích là để tìm ra một loại mã hoá mới an toàn trước sự phát triển của máy tính lượng tử trong tương lai.

Điều này có nghĩa là các loại mã bất đối xứng hiện đại (ECDSA, RSA, …) hiện đang sử dụng rộng rãi trong việc mã hoá thông tin sẽ không còn an toàn nếu bị tấn công bởi máy tính lượng tử. Vì vậy nhu cầu phát triển chuẩn mã hoá để sử dụng cho thời kỳ hậu lượng tử là cấp thiết để giảm rủi ro và tăng cường bảo mật trong truyền thông thông tin. Mục tiêu của chuẩn hoá bao gồm việc đảm bảo tính an toàn, hiệu quả và tương thích giữa các hệ thống khác nhau. Việc này hỗ trợ sự đồng nhất trong cộng đồng quốc tế, giúp các quốc gia và tổ chức thảo luận và triển khai các giải pháp mã hoá lượng tử một cách có trách nhiệm và chuẩn mực.

Vượt qua nhiều ứng cử viên và nhiều vòng của quy trình chuẩn hoá, CRYSTALS-Kyber là thuật toán duy nhất được lựa chọn cho Mã hoá Khoá Công Khai (Public-key Encryption) và Thiết lập khoá (Key Establishment) cho tiêu chuẩn mã hoá sau lượng tử năm 2022. Kyber đòi hỏi nỗ lực tính toán nghiêm túc, chủ yếu là phép nhân đa thức trên một vành đa thức giới hạn. Mã hoá dựa trên mạng mô-đun (module lattice) mang lại cân bằng tốt giữa hiệu năng và bảo mật. Tuy nhiên quá trình tạo khoá, mã hoá và giải mã khoá có thể chiếm một tỷ lệ lớn trong khả năng tính toán và chu kì clock của bộ vi xử lý.

Nhiều nghiên cứu đã triển khai mã hoá lattice-based bằng phần mềm để chứng minh tính khả thi cho nghiên cứu của họ cũng như một phần thể hiện tốc độ tính toán của giải thuật đề xuất. Tuy nhiên, khi một thuật toán mã hoá đã được chuẩn hoá, để 2 Luận văn thạc sĩ GVHD: TS. Trần Hoàng Linh tối ưu tối đa tốc độ tính toán và phân bổ tài nguyên cho hợp lý thì các thuật toán mã hoá này thường được triển khai trên các phần cứng chuyên biệt đảm nhiệm công việc tính toán. Nhiều nghiên cứu về mã hoá lượng tử gần đây cũng chọn ASIC, FPGA dưới dạng độc lập hoặc làm các nhân tính toán phụ đảm nhận việc tính toán cho các giải thuật đặc biệt cho các kiến trúc CPU như RISC-V, ARM, x86_64,… mà trong đó, FPGA là một nền tảng được sử dụng rất nhiều trong các nghiên cứu và đánh giá sức mạnh giải thuật cũng như ứng dụng tăng tốc bằng phần cứng.

Intel (Altera) và AMD (Xilinx) là những nhà sản xuất hang đầu trong lĩnh vực FPGA với các công cụ phát triển như Quartus hay Vivado cho phép người thiết có được những thiết kế mạch kỹ thuật số chính xác và có phần lớn quyền quyết định với các kết quả thiết kế của mình. Với những lý do kể trên, đây là tổng quan về các lý do để học viên chọn “Thiết kế bộ tăng tốc NTT cho mã hoá sau lượng tử CRYSTALS-Kyber” làm đề tài nghiên cứu cho luận văn của mình. 3 Luận văn thạc sĩ GVHD: TS. Trần Hoàng Linh 1.2 Mục đích Với việc Kyber được chọn để chuẩn hoá vào năm 2022 cho thấy tiềm năng ứng dụng rộng rãi của Kyber nói chung và mã hoá sau lượng tử nói riêng vào lĩnh vực bảo mật thông tin.

Các thiết kế và tiêu chuẩn cho mã hoá lượng tử sẽ ngày càng được mở rộng nghiên cứu và cải tiến liên tụ về các thông số thiết kế nhằm hoàn thiện về khả năng bảo mật và hiệu năng của mã hoá lượng tử. Vì vậy, mục đích nghiên cứu của đề tài này nhằm kiểm chứng khả năng tương thích của CRYSTALS-Kyber khi chạy trên phần cứng Arm, từ đó cho thấy sự cần thiết của phần cứng hoá những phép toán này khi triển khai ứng dụng của máy tính nhúng năng lượng thấp. Cuối cùng như xây dựng được phần cứng xử lý NTT và INTT trên nền tảng FPGA, qua đó đánh giá và bàn luận các kết quả cũng như hướng phát triển cho đề tài nói chung và phần cứng hoá các họ mã hoá sau lượng tử nói riêng. 4 Luận văn thạc sĩ GVHD: TS.

Trần Hoàng Linh 1.3 Đối tượng và phạm vi nghiên cứu 1.1 Đối tượng nghiên cứu Đối tượng nghiên cứu của đề tài là phần mềm tham chiếu mã hoá lượng tử CRYSTALS-Kyber cùng với phần cứng xử lý NTT và INTT cho Kyber trên nền tảng FPGA. Phần mềm tham chiếu Kyber được viết bằng ngôn ngữ lập trình C, phần cứng NTT được viết bằng ngôn ngữ phần cứng Verilog và kiểm tra đánh giá trên nền tảng FPGA. Phiên bản Kyber được chọn cho đánh giá hiệu năng phần mềm là Kyber512.2 Phạm vi nghiên cứu Phạm vi nghiên cứu của luận văn là mã nguồn phần mềm CRYSTALS-Kyber trên vi xử lý ARM Cortex-A9 và thuật toán NTT/INTT trên phần cứng theo thông số của mã hoá lượng tử CRYSTALS-Kyber. Tập trung chủ yếu vào nghiên cứu cách ứng dụng để phần cứng hoá thuật toán NTT/INTT mà mã nguồn phần mềm sử dụng trên phần cứng.

Phần cứng thiết kế dựa trên ngôn ngữ FPGA, phần mềm chạy trên ARM Cortex-A9 của Intel (Altera) Cyclone V, tổng hợp phần cứng trên Cyclone V (Quartus) và Xilinx Artix-7 (Vivado).3 Ý nghĩa khoa học Đề tài đóng góp ý nghĩa khoa học trong việc nghiên cứu cách ứng dụng của mã hoá lượng tử CRYSTALS-Kyber trong quá trình chuẩn hoá. Ngoài ra, cũng đóng góp phương pháp ứng dụng phần cứng trong việc tăng tốc tính toán cho mật mã lượng tử CRYSTALS-Kyber đã được chọn chuẩn hoá năm 2022.4 Ý nghĩa thực tiễn Đánh giá tính khả thi của phần mềm tham chiếu trên phần cứng ARM tạo tiền đề cho việc ứng dụng của mã hoá lượng tử CRYTALS-Kyber trên thiết bị điện tử sau này. Ứng dụng việc giảm tải các quy trình tính toán phức tạp của phần mềm bằng bộ tăng tốc tính toán phần cứng NTT cho Kyber có thể áp dụng rộng rãi dưới nhiều hình thức như tích hợp phần cứng tính toán chuyên biệt thành một phần của vi xử lý hoặc tách ra đảm nhiệm như một vi xử lý phụ độc lập đảm nhiệm việc tính toán chuyên biệt. 5 Luận văn thạc sĩ GVHD: TS.

Trần Hoàng Linh 2 TỔNG QUAN 6 Luận văn thạc sĩ GVHD: TS. Trần Hoàng Linh 2.1 Tình hình nghiên cứu trong và ngoài nước Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ (National Institute of Standards and Technology – NIST) đã trình bày dự thảo tiêu chuẩn chuẩn hoá của Cơ chế mã hoá Khoá dựa trên lưới module (Module-Lattice-Based Key- Encapsulation Mechanism – MLBKEM) trong Tiêu chuẩn xử lý thông tin Liên Bang (Federal Information Processing Standards - FIPS) 203[1]. Tiêu chuẩn quy định cơ một cơ chế đóng gói khoá (Key-Encapsulation Mechanism – KEM) sử sụng phương pháp module lưới (Module Lattice) gọi là ML-KEM, dựa trên thông số kỹ thuật của CRYSTALS-Kyber. CRYSTALS-Kyber hay Kyber là một cơ chế đóng gói khoá module dựa trên lưới, yêu cầu việc nhân các đa thức trên một vòng đa thức[2].

Rào cản chính trong hầu hết các triển khai của CRYSTALS-Kyber hiện tại là phương pháp nhân nhanh sử dụng Biến đổi số lý thuyết (Number Theoretic Transform – NTT). Triển khai của Kyber trên phần mềm cần lặp lại nhiều lần các biến đổi NTT thuận và nghịch (Inverse NTT – INTT) làm cho nó trở thành phần tốn thời gian nhất trong tính toán của Kyber [3]. Không giống như cơ chế mã hoá đường cong Elliptic (Elliptic Curve Cryptography – ECC) hay Rivest-Shamir-Adleman (RSA), các phương pháp tính toán chủ yếu theo tuyến tính, NTT có thể thực hiện song song hoá trong việc tính toán để có thể tăng thông lượng (throughput). Các thiết kế phần cứng hiện tại của Kyber và các giải thuật mã hoá sau tượng tử (Post Quantum Cryptography – PQC) dựa trên lưới tương tự cố gắng cải thiện thuật toán bằng nhiều phương pháp.

Hai phương pháp chính để cải thiện hiệu suất NTT là cải tiến cấu trúc Butterfly Unit (BU) và giao tiếp giữa các giai đoạn của NTT, bao gồm việc lấy dữ liệu từ bộ nhớ và sắp xếp chúng theo thứ tự cho các giai đoạn NTT tiếp theo. Zhang và cộng sự [3] hợp nhất quá trình tiền xử lý của NTT và sau xử lý của INTT với một BU tối ưu hoá cho các phép toán modular trên ước lượng mới số nguyên tố q (NEWHOPE prime q). Công trình [4] sử dụng phương pháp tương tự cho NTT và INTT với một thuật toán modular được điều chỉnh cho số nguyên tố Kyber được gọi là Exact KRED và một cấu hình BU 2x2 và độ phức tạp thấp. Ye và cộng sự [5] cải thiện nghiên cứu của Zhang và cộng sự, đã cố định thuật toán giảm 7 Luận văn thạc sĩ GVHD: TS.

Trần Hoàng Linh số dư modulo (modular reduction) vào ước lượng mới số nguyên tố q. Họ cũng giới thiệu một cấu trúc pipeline hoàn chỉnh giữa các giai đoạn của NTT và tính toán với lõi NTT. Cấu trúc BP-NTT[6] sử dụng SRAM (Static Random Access Memory) và nhân modulo bit song song để cải thiện quá trình NTT của họ. Rút gọn Barret là một thuật toán modulo phổ biến để tối ưu hoá BU [7].

Fritzman và cộng sự [8] đã thảo luận về các cuộc tấn công kênh phụ khả năng có thể xảy ra trên phần cứng NTT và đề xuất một thiết kế tiết kiệm năng lượng với một bộ nhớ RAM đơn cổng (single-port RAM). Để tăng cường thông lượng dữ liệu, một kế hoạch truy cập bộ nhớ ping-pong được đề xuất trong [9]. Giải thuật tăng tốc bằng phần cứng có nhiều ứng dụng và áp dụng trên các nền tảng khác nhau như Xilinx FPGA (Xilinx Field Programmable Gate Array) và vi mạch tích hợp ứng dụng - ASIC (Application Specific Integrated Circuit) [10-13]. Paludo và cộng sự [14] đã tích hợp BU vào một hệ thống RISC-V 5 tầng pipeline sẵn sàng hoạt động với linux.

Họ đánh giá hiệu suất trên cả FPGA và 28nm ASIC. CoHA- NTT là kiến trúc nhân đa thức dựa trên NTT đầu tiên với khả năng cấu hình lại trong thời gian chạy và thời gian biên dịch [15]. Geelen và cộng sự [16] giới thiệu một phần mở rộng kiến trúc tập lệnh (Instruction Set Architecture – ISA) mới vào kiến trúc RISC-V của họ để tích hợp NTT. Kuang và cộng sự vector hoá thuật toán NTT để kết hợp nó tốt hơn với kiến trúc RISC-V của họ.

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