Tổng quan nghiên cứu

Sự phát triển mạnh mẽ của máy tính lượng tử đang tạo ra thách thức an ninh mạng nghiêm trọng đối với các thuật toán mật mã khóa công khai truyền thống như RSA hay Elliptic Curve Cryptography (ECC). Theo đánh giá của Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ (NIST), thuật toán Shor có khả năng phá vỡ hoàn toàn các cơ chế mã hóa này trong thời gian đa thức. Nhằm chủ động thiết lập lá chắn bảo mật cho kỷ nguyên hậu lượng tử, năm 2022, NIST đã chính thức lựa chọn CRYSTALS-Kyber là thuật toán duy nhất để chuẩn hóa cơ chế đóng gói khóa (Key-Encapsulation Mechanism - KEM) và mã hóa khóa công khai trong tiêu chuẩn FIPS 203. Thuật toán dựa trên độ phức tạp của bài toán mạng đại số Module Learning with Errors (M-LWE) với modulo nguyên tố cố định q = 3329 và bậc đa thức n = 256.

Mặc dù có độ an toàn toán học vững chắc, quy trình mã hóa và giải mã của CRYSTALS-Kyber đòi hỏi khối lượng tính toán nhân đa thức rất lớn, chiếm tới hơn 60% tổng thời gian thực thi của toàn bộ hệ thống. Phép biến đổi số lý thuyết (Number Theoretic Transform - NTT) và biến đổi nghịch đảo (INTT) là giải pháp tối ưu giúp giảm độ phức tạp tính toán từ O(n^2) xuống O(n log n). Tuy nhiên, khi triển khai trên các bộ vi xử lý nhúng năng lượng thấp như ARM Cortex-A9, thuật toán phần mềm thuần túy cần tiêu tốn từ 705.400 đến 961.607 chu kỳ xung nhịp, gây nghẽn hiệu năng nghiêm trọng.

Nghiên cứu này được thực hiện trong giai đoạn từ tháng 9 năm 2022 đến tháng 12 năm 2023 tại Trường Đại học Bách Khoa – ĐHQG-HCM, tập trung vào mục tiêu thiết kế bộ tăng tốc phần cứng chuyên dụng cho NTT/INTT trên nền tảng FPGA Cyclone V SoC và Xilinx Artix-7. Nghiên cứu mang ý nghĩa khoa học và thực tiễn sâu sắc khi cung cấp giải pháp xử lý phần cứng hiệu năng cao, giảm tải khối lượng tính toán cho CPU nhúng, mở ra tiền đề ứng dụng mật mã sau lượng tử vào các hệ sinh thái IoT và thiết bị viễn thông thế hệ mới.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết áp dụng

Nghiên cứu được xây dựng dựa trên nền tảng lý thuyết mật mã lưới (Lattice-based Cryptography), cụ thể là bài toán Module Learning with Errors (M-LWE) của cấu trúc CRYSTALS-Kyber. Thuật toán phân bổ tính an toàn trên vành đa thức modulo bậc n = 256 và số nguyên tố q = 3329. Trong mô hình này, phép nhân đa thức được tối ưu hóa thông qua lý thuyết Biến đổi số lý thuyết (NTT) kết hợp kỹ thuật Tích chập bọc âm (Negative Wrap Convolution - NWC) nhằm loại bỏ việc mở rộng hệ số bậc không (zero-padding).

Kiến trúc phần cứng áp dụng thuật toán lai kết hợp hai cấu hình tính toán điểm bướm (Butterfly Unit - BU): cấu hình Cooley-Tukey (CT) phục vụ biến đổi thuận NTT và cấu hình Gentleman-Sande (GS) phục vụ biến đổi ngược INTT. Để tối ưu hóa tốc độ và tài nguyên phần cứng, hệ thống tích hợp ba mô hình số học chuyên biệt:

  • Bộ cộng tiền tố song song Brent-Kung (Brent-Kung Adder) 16-bit giúp tối thiểu hóa độ trễ truyền cờ nhớ (carry propagation) và giảm mật độ dây nối.
  • Kỹ thuật rút gọn số dư Signed Barrett với tham số cố định k = 13 và hệ số tỷ lệ v = 19661 nhằm loại bỏ hoàn toàn các phép chia số nguyên phức tạp.
  • Kỹ thuật nhân và rút gọn modulo Montgomery với tham số nghịch đảo v = -3327 và cơ số R = 2^16, cho phép chuyển đổi phép chia dư thành các thao tác nhân và dịch bit nhị phân tốc độ cao.

Phương pháp nghiên cứu

Nghiên cứu sử dụng phương pháp thực nghiệm kết hợp mô phỏng kiểm chứng trên cả hai môi trường phần mềm và phần cứng. Nguồn dữ liệu kiểm thử bao gồm bộ mã nguồn chuẩn C của nhóm tác giả Kyber kết hợp bộ 10.000 vector kiểm tra (test vectors) ngẫu nhiên và 1.000 chu kỳ thử nghiệm tạo khóa, đóng gói và giải mã độc lập nhằm kiểm tra toàn diện tính toàn vẹn và độ an toàn của thuật toán. Phương pháp chọn mẫu kiểm thử ngẫu nhiên toàn phần được áp dụng để đảm bảo bao phủ mọi trường hợp biên của hệ số đa thức đầu vào 16-bit.

Quy trình nghiên cứu trải qua 3 giai đoạn chính trong 15 tháng:

  • Đánh giá hiệu năng phần mềm: Tinh chỉnh mã nguồn tham chiếu Kyber trên hệ điều hành Linux nhúng chạy trên lõi kép ARM Cortex-A9 của kit DE10-Standard, phát triển kernel module chuyên dụng để truy xuất trực tiếp thanh ghi đếm chu kỳ hiệu năng PMCCNTR thuộc vi kiến trúc CP15.
  • Thiết kế phần cứng: Mô hình hóa kiến trúc phần cứng bộ tăng tốc NTT/INTT bằng ngôn ngữ Verilog HDL, xây dựng module Address Generator điều khiển tự động và tổ chức bộ nhớ RAM khối (BRAM) đồng bộ.
  • Tổng hợp và đánh giá mạch: Tổng hợp và tối ưu hóa thiết kế trên phần mềm Intel Quartus Prime Standard 22.1 cho chip Cyclone V và AMD Xilinx Vivado ML 2023.1 cho chip Artix-7 XC7A200T, sau đó đối chiếu dạng sóng mô phỏng trên QuestaIntel với dữ liệu phần mềm để khẳng định tính chính xác 100%.

Kết quả nghiên cứu và thảo luận

Những phát hiện chính

Quá trình thực nghiệm phần mềm trên vi xử lý nhúng ARM Cortex-A9 (tần số 800 MHz) cho phiên bản Kyber512 ghi nhận kết quả tiêu tốn chu kỳ thực thi trung bình:

  • Quá trình tạo khóa (Key Generation): 705.400 chu kỳ.
  • Quá trình đóng gói khóa (Encapsulation): 932.099 chu kỳ.
  • Quá trình giải mã khóa (Decapsulation): 961.607 chu kỳ.

Khi so sánh với vi xử lý x86 Intel Core i7-4770K sử dụng tập lệnh mở rộng AVX2 (KeyGen: 33.856 chu kỳ, Encaps: 45.200 chu kỳ, Decaps: 34.572 chu kỳ), hệ thống ARM Cortex-A9 tiêu tốn số chu kỳ lớn hơn gấp 20 đến 27 lần. Ngay cả khi so với vi điều khiển ARM Cortex-M4 (KeyGen: 636.181 chu kỳ, Encaps: 843.945 chu kỳ, Decaps: 940.320 chu kỳ), Cortex-A9 vẫn cần nhiều chu kỳ hơn do chi phí phân nhánh lệnh và phụ tải từ hệ điều hành.

Về mặt phần cứng, kiến trúc bộ tăng tốc đề xuất sử dụng cấu hình Dual-BU (2 đơn vị Butterfly Unit hoạt động song song) 3 tầng pipeline xử lý toàn bộ 256 hệ số qua 7 lớp tính toán (mỗi lớp chỉ mất 64 bước hoạt động thay vì 128 bước như kiến trúc đơn). Kết quả tổng hợp mạch trên vi mạch FPGA Xilinx Artix-7 XC7A200T thể hiện mức tiêu thụ tài nguyên tối ưu:

  • Số bảng tra cứu logic (LUT): 430 LUT.
  • Số phần tử nhớ (Flip-Flop): 544 FF.
  • Bộ nhớ khối (BRAM): 3 khối.
  • Bộ nhân xử lý tín hiệu số (DSP): 16 khối.
  • Độ trễ tính toán mỗi khối Butterfly CT/GS: 8 chu kỳ xung nhịp (bao gồm 2 chu kỳ pipeline cho Montgomery và 1 chu kỳ cho Barrett).

Thảo luận kết quả

Hiệu năng vượt trội của bộ tăng tốc phần cứng bắt nguồn từ ba cải tiến kiến trúc mang tính cốt lõi. Thứ nhất, việc sử dụng bộ cộng Brent-Kung 16-bit giúp rút ngắn đáng kể đường dẫn trễ tới hạn (critical path) so với bộ cộng gợn truyền thống, đồng thời giảm mật độ tắc nghẽn dây nối so với bộ cộng Kogge-Stone. Thứ hai, sự phối hợp nhịp nhàng giữa giải thuật rút gọn Barrett và Montgomery giúp triệt tiêu hoàn toàn sự phụ thuộc vào các phép chia nguyên modulo 3329 vốn tiêu tốn hàng chục chu kỳ xử lý logic.

Thứ ba, cấu trúc tổ chức bộ nhớ Dual-Port BRAM 128 x 32-bit cho phép ghép cặp hai hệ số đa thức 16-bit thành một từ dữ liệu 32-bit duy nhất tại các vị trí chỉ số 2k và 2k+1 (với k chạy từ 0 đến 127). Cơ chế này kết hợp cùng module sinh địa chỉ (Address Generator) lưu trữ trước trong ROM giúp cấp dữ liệu đồng thời cho cả 2 khối BU trong cùng một chu kỳ clock mà không gây xung đột xung đột cổng truy xuất (memory bank collision).

Các dữ liệu thực nghiệm được trực quan hóa thông qua bảng ma trận so sánh chu kỳ thực thi giữa các nền tảng CPU/FPGA và các biểu đồ dạng sóng kiểm tra logic (Timing Waveforms) trên QuestaIntel. Dạng sóng ngõ ra của 256 hệ số sau biến đổi NTT và INTT hoàn toàn trùng khớp từng bit với kết quả tính toán của phần mềm tham chiếu C, chứng minh phần cứng đạt độ tin cậy tuyệt đối và giải phóng hoàn toàn gánh nặng tính toán cho vi xử lý điều khiển trung tâm.

Đề xuất và khuyến nghị

Dựa trên các kết quả thiết kế và thực nghiệm đã đạt được, nghiên cứu đưa ra 4 khuyến nghị và giải pháp hành động cụ thể nhằm thúc đẩy việc ứng dụng chuẩn mật mã sau lượng tử vào công nghiệp:

  • Tích hợp giao tiếp hệ thống SoC: Nhóm kỹ thuật vi mạch cần triển khai tích hợp lõi IP tăng tốc NTT/INTT vào hệ thống bus AXI-4 tiêu chuẩn trên nền tảng SoC-FPGA. Mục tiêu là kết nối trực tiếp với không gian bộ nhớ của nhân xử lý ARM Cortex-A9, giảm độ trễ truyền nhận dữ liệu DMA xuống dưới mức 5% tổng thời gian thực thi, hoàn thành trong vòng 6 tháng.
  • Mở rộng hỗ trợ toàn diện các cấp độ bảo mật: Các nhà phát triển hệ thống bảo mật cần nâng cấp khối Address Generator và bảng ROM Twiddle Factor để tương thích hoàn toàn với các phiên bản bảo mật nâng cao bao gồm Kyber768 (k = 3) và Kyber1024 (k = 4), giữ vững mức tiêu thụ tài nguyên dưới 1.000 LUT trong lộ trình 9 tháng tới.
  • Xây dựng cơ chế phòng chống tấn công kênh phụ (Side-Channel Attack): Các viện nghiên cứu an toàn thông tin cần bổ sung kỹ thuật che dấu ngẫu nhiên (Boolean masking bậc 1) và cơ chế xáo trộn thứ tự truy xuất bộ nhớ (address shuffling) vào cấu trúc BRAM, ngăn chặn nguy cơ rò rỉ khóa qua phân tích điện năng vi sai (DPA) trước quý 4 năm 2025.
  • Tối ưu hóa vi kiến trúc đa lõi Butterfly: Đơn vị thiết kế phần cứng nên nghiên cứu nâng cấp kiến trúc lên 4 khối BU song song (Quad-BU) với bộ nhớ 64-bit, hướng tới mục tiêu tăng gấp đôi thông lượng tính toán và nâng tần số hoạt động danh định lên trên 250 MHz trên các dòng FPGA 16nm trong giai đoạn 2024-2026.

Đối tượng nên tham khảo luận văn

Luận văn là tài liệu tham khảo chuyên sâu và hữu ích cho 4 nhóm đối tượng sau:

  • Kỹ sư thiết kế vi mạch và phần cứng nhúng: Cung cấp sơ đồ khối chi tiết, mã nguồn RTL Verilog mẫu cho các khối tính toán số học tốc độ cao như bộ cộng Brent-Kung, mạch rút gọn Barrett và Montgomery, hỗ trợ trực tiếp việc xây dựng các bộ đồng xử lý mật mã trên chip FPGA/ASIC.
  • Chuyên gia an toàn thông tin và nghiên cứu mật mã: Nắm bắt phương pháp triển khai thực tế của chuẩn mã hóa FIPS 203 (CRYSTALS-Kyber), hiểu rõ các điểm nghẽn hiệu năng khi chuyển đổi từ lý thuyết toán học sang giải thuật phần mềm và phần cứng.
  • Giảng viên, học viên cao học và sinh viên ngành Điện tử - Viễn thông: Sử dụng làm tài liệu học tập, nghiên cứu điển hình về quy trình phát triển hệ thống nhúng SoC Linux, cách cấu hình kernel module để đo lường hiệu năng phần cứng và kỹ thuật tối ưu hóa tài nguyên logic trên FPGA.
  • Doanh nghiệp công nghệ phát triển thiết bị IoT và thiết bị mạng: Định hướng lộ trình chuyển đổi hạ tầng an ninh mạng sang thời kỳ hậu lượng tử, lựa chọn giải pháp phần cứng tối ưu chi phí và năng lượng cho các thiết bị gateway, camera an ninh và thẻ thông minh.

Câu hỏi thường gặp

  • Tại sao CRYSTALS-Kyber là thuật toán duy nhất được NIST lựa chọn cho mã hóa công khai sau lượng tử? NIST lựa chọn CRYSTALS-Kyber làm cơ sở cho chuẩn FIPS 203 vào năm 2022 nhờ sự cân bằng xuất sắc giữa độ an toàn thuật toán dựa trên mạng M-LWE, kích thước khóa công khai nhỏ gọn chỉ khoảng 800 đến 1.568 bytes và tốc độ xử lý vượt trội so với các ứng viên khác.

  • Biến đổi số lý thuyết (NTT) giữ vai trò như thế nào trong thuật toán Kyber? NTT đóng vai trò là hạt nhân tăng tốc tính toán, giúp chuyển đổi phép nhân đa thức phức tạp trên vành modulo từ miền thời gian sang miền tần số số học. Nhờ đó, độ phức tạp phép toán giảm từ mức bình phương bậc hai xuống mức logarit, rút ngắn thời gian xử lý đa thức hơn 60%.

  • Việc kết hợp hai giải thuật rút gọn Barrett và Montgomery mang lại lợi ích gì cho phần cứng? Sự kết hợp này cho phép bộ tính toán Butterfly xử lý mượt mà cả phép cộng, phép trừ và phép nhân modulo 3329 mà không cần sử dụng bất kỳ bộ chia số nguyên nào. Kỹ thuật này giúp cố định độ trễ xử lý ở mức 8 chu kỳ xung nhịp và tiết kiệm tối đa tài nguyên bộ nhân DSP.

  • Cấu trúc bộ nhớ Dual-Port RAM 128 x 32-bit giải quyết bài toán nghẽn dữ liệu ra sao? Bằng cách ghép hai hệ số 16-bit thành một từ 32-bit, thiết kế cho phép đọc và ghi đồng thời 2 dữ liệu đầu vào cho 2 khối BU song song trong cùng một chu kỳ xung nhịp. Giải pháp này giúp giảm 50% số bước tính toán của mỗi lớp NTT mà không cần tăng số cổng vật lý của khối BRAM.

  • Vì sao thời gian thực thi phần mềm Kyber trên ARM Cortex-A9 lại chậm hơn nhiều so với vi xử lý x86? Vi xử lý nhúng ARM Cortex-A9 sử dụng tập lệnh tiêu thụ năng lượng thấp và không hỗ trợ tập lệnh vector hóa mạnh mẽ như AVX2 trên x86. Do đó, hệ thống cần hơn 705.000 chu kỳ cho một lượt tạo khóa, chứng minh sự cấp thiết của việc tích hợp bộ tăng tốc phần cứng chuyên dụng.

Kết luận

  • Luận văn đã đánh giá toàn diện hiệu năng của mã nguồn chuẩn CRYSTALS-Kyber trên nhân ARM Cortex-A9, làm sáng tỏ các điểm nghẽn tính toán của thuật toán mã hóa hậu lượng tử trên thiết bị nhúng.
  • Đề xuất và hiện thực hóa thành công kiến trúc phần cứng bộ tăng tốc NTT/INTT linh hoạt với 2 khối Butterfly Unit 3 tầng pipeline trên nền tảng FPGA.
  • Thiết kế đạt mức tiêu thụ tài nguyên logic cực kỳ tối ưu trên Xilinx Artix-7 với chỉ 430 LUT, 544 FF, 3 BRAM và 16 DSP, đảm bảo độ chính xác tuyệt đối qua 10.000 vector kiểm tra.
  • Ứng dụng xuất sắc các kỹ thuật số học tiên tiến gồm bộ cộng Brent-Kung 16-bit, giải thuật rút gọn Barrett và Montgomery để triệt tiêu hoàn toàn phép chia số dư phức tạp.
  • Định hình lộ trình phát triển giai đoạn 2024-2026 hướng tới việc tích hợp bus hệ thống AXI, mở rộng đa chuẩn bảo mật Kyber768/1024 và tăng cường bảo vệ chống tấn công kênh phụ.

Công trình là bước đi tiên phong và vững chắc trong việc làm chủ công nghệ mã hóa sau lượng tử tại Việt Nam. Các kỹ sư, nhà nghiên cứu và doanh nghiệp công nghệ quan tâm đến giải pháp bảo mật phần cứng hiệu năng cao hãy tham khảo chi tiết thiết kế để ứng dụng trực tiếp vào các sản phẩm an ninh mạng thế hệ mới.