Tổng quan nghiên cứu

Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ đã chính thức công bố tiêu chuẩn FIPS 203 cho Cơ chế đóng gói khóa dựa trên lưới module vào năm 2022, trong đó lựa chọn CRYSTALS-Kyber làm thuật toán mã hóa khóa công khai duy nhất được tiêu chuẩn hóa. Sự phát triển nhanh chóng của máy tính lượng tử đang đặt các hệ thống mật mã bất đối xứng truyền thống như RSA-2048 hay ECC-256 trước nguy cơ bị bẻ gãy hoàn toàn. Mặc dù cấu trúc mạng module mang lại độ bảo mật vượt trội, các thuật toán mật mã sau lượng tử lại đòi hỏi khối lượng tính toán rất lớn, trong đó phép biến đổi số lý thuyết thuận và nghịch để nhân đa thức bậc 256 chiếm hơn 60% tổng thời gian thực thi trên phần mềm.

Mục tiêu chính của đề tài là đánh giá toàn diện hiệu năng của mã nguồn tham chiếu Kyber512 trên vi xử lý nhúng ARM Cortex-A9 thuộc hệ thống Cyclone V SoC, đồng thời thiết kế bộ tăng tốc phần cứng chuyên dụng cho các phép toán biến đổi số lý thuyết trên nền tảng FPGA. Nghiên cứu được thực hiện trong thời gian 15 tháng từ tháng 09 năm 2022 đến tháng 12 năm 2023 tại Trường Đại học Bách Khoa thuộc Đại học Quốc gia Thành phố Hồ Chí Minh. Các thử nghiệm phần cứng được triển khai trực tiếp trên kit phát triển DE-10 Standard và vi mạch Xilinx Artix-7 XC7A200T.

Ý nghĩa khoa học của nghiên cứu thể hiện qua việc tối ưu hóa cấu trúc tính toán số học trên vành đa thức modulo 3329, cung cấp giải pháp kiến trúc phần cứng lai giữa biến đổi thuận và nghịch. Về mặt thực tiễn, thiết kế giúp giảm tải đáng kể khối lượng tính toán cho các vi xử lý năng lượng thấp, chỉ tiêu thụ 430 bảng tra cứu và 16 khối xử lý tín hiệu số, tạo nền tảng vững chắc cho việc ứng dụng mật mã hậu lượng tử vào các thiết bị biên và hệ thống Internet vạn vật.

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 xây dựng trên nền tảng lý thuyết mật mã học sau lượng tử và bài toán học có lỗi trên mạng module theo đặc tả kỹ thuật tiêu chuẩn FIPS 203. Độ an toàn của CRYSTALS-Kyber dựa trên tính khó giải của các bài toán mạng đại số, vốn bất khả thi đối với cả máy tính cổ điển lẫn máy tính lượng tử. Để tối ưu hóa tốc độ nhân đa thức trên vành số nguyên modulo 3329 với bậc 256, lý thuyết tích chập bọc âm được áp dụng nhằm triệt tiêu các hệ số đệm không cần thiết.

Bốn khái niệm cốt lõi cấu thành nên hệ thống gồm:

  • Khối tính toán bướm đa năng hỗ trợ linh hoạt cả cấu hình Cooley-Tukey cho biến đổi thuận và Gentleman-Sande cho biến đổi nghịch.
  • Bộ cộng tiền tố song song Brent-Kung 16-bit giúp tối ưu hóa đường truyền tín hiệu nhớ.
  • Thuật toán rút gọn số dư Barrett với tham số cố định k bằng 13 và hằng số nhân 20159 nhằm chuyển đổi phép chia modulo phức tạp thành các phép dịch bit và nhân nhanh.
  • Thuật toán rút gọn Montgomery sử dụng hằng số trừ 3327 với cơ số 65536 để xử lý nhanh kết quả phép nhân 16-bit.

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

Nguồn dữ liệu của đề tài bao gồm mã nguồn tham chiếu ngôn ngữ C do nhóm tác giả CRYSTALS-Kyber công bố và các bộ kiểm thử chuẩn của Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ. Quá trình nghiên cứu được triển khai xuyên suốt theo lộ trình 15 tháng từ tháng 09 năm 2022 đến tháng 12 năm 2023.

Cỡ mẫu kiểm thử phần mềm bao gồm 1.000 chu kỳ thực thi kiểm tra tính đúng đắn cho các hàm tạo khóa, đóng gói và giải mã khóa, kết hợp 10.000 bộ vector kiểm thử ngẫu nhiên xác thực. Phương pháp chọn mẫu là chọn mẫu ngẫu nhiên có kiểm soát thông qua các hạt giống cố định để đối chiếu tính toàn vẹn của khóa và bản mã hex.

Phương pháp phân tích được lựa chọn là đo lường thực nghiệm số chu kỳ xung nhịp phần cứng thông qua thanh ghi đếm chu kỳ hiệu năng trên kiến trúc ARM Cortex-A9, kết hợp phân tích mô phỏng mức truyền thanh ghi trên công cụ Questa Intel và Vivado. Lý do lựa chọn phương pháp này là vì việc đo trực tiếp qua thanh ghi chuyên dụng loại bỏ hoàn toàn các sai số do độ trễ hệ điều hành, trong khi mô phỏng dạng sóng cung cấp độ chính xác tuyệt đối ở mức từng bit dữ liệu cho từng chu kỳ clock của mạch tích hợp.

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 và kiểm tra mô phỏng phần cứng đã mang lại bốn kết quả nổi bật:

Thứ nhất, trên vi xử lý nhúng ARM Cortex-A9, mã nguồn tham chiếu Kyber512 tiêu tốn trung bình 705.400 chu kỳ cho bước tạo khóa, 932.099 chu kỳ cho bước đóng gói khóa và 961.607 chu kỳ cho bước giải mã khóa. Khi so sánh với bộ xử lý máy tính để bàn Intel Core i7-4770K chạy mã nguồn tham chiếu với 122.684 chu kỳ tạo khóa và 184.960 chu kỳ giải mã, khối lượng xử lý trên vi xử lý nhúng ARM Cortex-A9 cao hơn khoảng 475% ở bước tạo khóa và cao hơn khoảng 420% ở bước giải mã. So với vi điều khiển ARM Cortex-M4 tiêu tốn 636.181 chu kỳ tạo khóa, hệ thống ARM Cortex-A9 chạy Linux có số chu kỳ cao hơn khoảng 10,88% do phát sinh chi phí quản lý của hệ điều hành.

Thứ hai, thiết kế khối bướm 3 tầng tích hợp bộ cộng Brent-Kung 16-bit đạt độ trễ cố định chính xác 8 chu kỳ xung nhịp cho mỗi phép biến đổi Cooley-Tukey hoặc Gentleman-Sande. Trong đó, khối rút gọn Montgomery chiếm 2 chu kỳ pipeline và khối rút gọn Barrett chiếm 1 chu kỳ pipeline. Việc sử dụng cấu hình 2 khối bướm song song giúp cắt giảm 50% số bước tính toán trong mỗi tầng, chỉ cần 64 hoạt động cho mỗi tầng trên tổng số 7 tầng biến đổi của đa thức 256 phần tử.

Thứ ba, kết quả tổng hợp phần cứng trên dòng chip Xilinx Artix-7 XC7A200T cho thấy mức tiêu thụ tài nguyên tối ưu với chỉ 430 bảng tra cứu, 544 Flip-Flop, 3 khối bộ nhớ Block RAM và 16 khối xử lý tín hiệu số.

Thứ tư, toàn bộ 448 bước tính toán của quá trình biến đổi số lý thuyết thuận và nghịch mô phỏng trên phần mềm Questa Intel đều cho kết quả dữ liệu ngõ ra trùng khớp chính xác 100% với giá trị tính toán từ phần mềm C tham chiếu.

Thảo luận kết quả

Sự chênh lệch lớn về số chu kỳ thực thi giữa vi xử lý ARM Cortex-A9 và kiến trúc máy tính để bàn x86 bắt nguồn từ đặc thù thiết kế tập lệnh rút gọn, vốn ưu tiên tiết kiệm năng lượng và tối giản diện tích đế bán dẫn trên các thiết bị nhúng. Điều này khẳng định sự cần thiết cấp bách của việc chế tạo các khối tăng tốc phần cứng chuyên biệt.

Việc ứng dụng bộ cộng Brent-Kung 16-bit trong khối bướm mang lại ưu thế vượt trội về cấu trúc hình cây nhị phân cân bằng, khống chế hệ số phân nhánh ở mức tối đa là 2 tại mỗi tầng và giảm một nửa chiều dài các đường dây ngang. So với cấu trúc Kogge-Stone truyền thống, thiết kế này triệt tiêu tình trạng nghẽn dây và giảm đáng kể độ trễ trên đường truyền quan trọng.

Dữ liệu thực nghiệm của nghiên cứu có thể được trực quan hóa rất hiệu quả thông qua biểu đồ cột so sánh chu kỳ thực thi của các bước tạo khóa, đóng gói và giải mã trên 4 nền tảng vi xử lý khác nhau gồm Intel Core i7-4770K, AMD Ryzen 5 5600, ARM Cortex-M4 và ARM Cortex-A9. Bên cạnh đó, một bảng số liệu tổng hợp phân phối tài nguyên logic gồm bảng tra cứu, Flip-Flop, bộ nhớ khối và bộ nhân số nguyên sẽ làm nổi bật tính tinh gọn của kiến trúc đề xuất khi so sánh với các công trình nghiên cứu biến đổi số lý thuyết trước đây.

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

Dựa trên kết quả đạt được, bốn giải pháp trọng tâm được khuyến nghị nhằm đưa kiến trúc tăng tốc mật mã vào ứng dụng thực tế:

Thứ nhất, tích hợp trực tiếp khối tăng tốc biến đổi số lý thuyết vào các nhân vi xử lý mở như RISC-V hoặc ARM thông qua giao tiếp bus AXI nội bộ. Chủ thể thực hiện là các kỹ sư thiết kế phần cứng vi mạch, với mục tiêu hành động là cắt giảm tối thiểu 70% tổng thời gian thực thi mã hóa Kyber trên các hệ thống nhúng, hoàn thành triển khai trong vòng 6 tháng.

Thứ hai, mở rộng kiến trúc phần cứng để hỗ trợ đa tham số và chuẩn chữ ký số FIPS 204. Nhóm nghiên cứu mật mã phần cứng tại các viện và trường đại học cần tái cấu trúc bộ tạo địa chỉ và bộ nhớ ROM hệ số xoay, hướng tới hỗ trợ đồng thời các phiên bản Kyber768, Kyber1024 và chữ ký số Dilithium với mức tăng tài nguyên bảng tra cứu không vượt quá 25%, hoàn thành trong thời gian 9 tháng.

Thứ ba, phát triển cơ chế bảo vệ phần cứng chống các kỹ thuật tấn công kênh phụ. Các chuyên gia an toàn thông tin phần cứng cần áp dụng kỹ thuật làm mờ ngẫu nhiên dữ liệu và cân bằng năng lượng tiêu thụ tại khối bướm, đặt mục tiêu đưa tỷ lệ rò rỉ thông tin khóa bí mật về 0% trước các phép phân tích vi sai điện năng, triển khai thử nghiệm trong 12 tháng.

Thứ tư, tối ưu hóa bộ thư viện phần mềm nhúng và trình điều khiển trung gian. Các nhà phát triển hệ thống cần xây dựng các hàm giao tiếp C và C++ tối ưu trên nền tảng Linux nhúng của Cyclone V SoC, hướng tới mục tiêu tăng tốc độ thiết lập phiên mã hóa lên gấp 4 lần cho các thiết bị truyền thông thông tin, tiến độ hoàn thành từ 3 đến 6 tháng.

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

Nội dung luận văn mang lại giá trị thực tiễn và học thuật cho bốn nhóm đối tượng chuyên môn:

Nhóm thứ nhất là các kỹ sư thiết kế vi mạch số và lập trình phần cứng FPGA hoặc ASIC. Công trình cung cấp hướng dẫn chi tiết về kỹ thuật thiết kế khối bướm 3 tầng, cấu hình bộ nhớ RAM cổng kép 128x32-bit và phương pháp ghép đôi dữ liệu 16-bit để tăng gấp đôi thông lượng tính toán.

Nhóm thứ hai là các kỹ sư phát triển phần mềm nhúng và hệ thống an toàn thông tin. Nhóm đối tượng này có thể tham khảo phương pháp cấu hình thanh ghi đếm chu kỳ hiệu năng trên nền tảng ARM Cortex-A9 để đo lường chính xác hiệu năng thuật toán mật mã trên môi trường Linux nhúng.

Nhóm thứ ba là giảng viên, học viên cao học và nghiên cứu sinh chuyên ngành Kỹ thuật Điện tử và Khoa học Máy tính. Luận văn là tài liệu tham khảo giá trị về việc hiện thực hóa tiêu chuẩn FIPS 203 của Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ, cùng các thuật toán rút gọn modulo Barrett và Montgomery cho vành đa thức modulo 3329.

Nhóm thứ tư là các kiến trúc sư giải pháp an ninh mạng và nhà quản lý công nghệ IoT. Báo cáo cung cấp các số liệu thực chứng về chi phí tài nguyên phần cứng chỉ 430 bảng tra cứu và 16 khối xử lý tín hiệu số, giúp đánh giá khả thi việc nâng cấp hệ thống bảo mật chống lại máy tính lượng tử trong thực tế.

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

Tại sao CRYSTALS-Kyber được lựa chọn làm chuẩn mã hóa sau lượng tử duy nhất cho cơ chế đóng gói khóa?

Năm 2022, Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ đã chọn CRYSTALS-Kyber sau 3 vòng đánh giá khắt khe nhờ độ an toàn dựa trên bài toán học có lỗi trên mạng module. Thuật toán mang lại sự cân bằng tối ưu giữa kích thước khóa công khai nhỏ gọn và tốc độ tính toán nhanh, vượt trội hơn các ứng viên khác trong việc chống lại thuật toán lượng tử Shor.

Vai trò then chốt của phép biến đổi số lý thuyết trong thuật toán CRYSTALS-Kyber là gì?

Phép biến đổi số lý thuyết thuận và nghịch đóng vai trò chuyển đổi phép nhân đa thức phức tạp bậc 256 từ miền không gian sang miền tần số, tương tự như biến đổi Fourier nhanh. Phép toán này chiếm hơn 60% tổng thời gian tính toán phần mềm, do đó việc tăng tốc biến đổi số lý thuyết là chìa khóa quyết định hiệu năng toàn hệ thống.

Tại sao bộ cộng Brent-Kung lại được ưu tiên sử dụng trong khối bướm thay vì bộ cộng Kogge-Stone?

Bộ cộng Brent-Kung sở hữu cấu trúc cây tiền tố song song cân bằng, khống chế hệ số phân nhánh ở mức 2 tại mỗi tầng và giảm một nửa mật độ dây nối ngang. Trong thực tế thiết kế mạch, cấu trúc này giúp giảm thiểu hiện tượng nghẽn mạch, tiết kiệm diện tích silicon và giảm tiêu thụ năng lượng hiệu quả hơn so với bộ cộng Kogge-Stone.

Làm thế nào để đo lường chính xác chu kỳ thực thi của mã nguồn Kyber khi chuyển từ x86 sang ARM Cortex-A9?

Mã nguồn x86 sử dụng lệnh đọc bộ đếm hiệu năng đặc thù, vốn không tương thích với ARM. Nghiên cứu đã giải quyết vấn đề bằng cách xây dựng lại kernel module trên Linux để kích hoạt thanh ghi đếm chu kỳ hiệu năng 32-bit của bộ đồng xử lý CP15, cho phép đọc chính xác thời gian thực thi bằng lệnh hợp ngữ chuyên dụng.

Kiến trúc phần cứng trong luận văn tối ưu hóa việc sử dụng bộ nhớ FPGA như thế nào?

Thiết kế kết hợp hai hệ số 16-bit thành một từ dữ liệu 32-bit và lưu trữ trong bộ nhớ RAM cổng kép 128x32-bit. Cùng với bộ tạo địa chỉ tự động và bảng ROM 448x32-bit chứa sẵn hệ số xoay, kiến trúc cho phép 2 khối bướm truy xuất đồng thời mà không bị xung đột, giúp tiết kiệm tối đa tài nguyên bảng tra cứu trên FPGA.

Kết luận

  • Đề tài đã đánh giá thực nghiệm toàn diện hiệu năng mã nguồn C tham chiếu Kyber512 trên vi xử lý nhúng ARM Cortex-A9, xác định thời gian thực thi trung bình 705.400 chu kỳ cho bước tạo khóa và 961.607 chu kỳ cho bước giải mã khóa.
  • Thiết kế thành công kiến trúc phần cứng bộ tăng tốc biến đổi số lý thuyết thuận và nghịch với cấu hình 2 khối bướm 3 tầng, đạt độ trễ xử lý cố định 8 chu kỳ xung nhịp.
  • Ứng dụng xuất sắc bộ cộng tiền tố song song Brent-Kung 16-bit kết hợp hai giải thuật rút gọn số dư Barrett và Montgomery tối ưu riêng cho số nguyên tố 3329.
  • Đạt mức độ tối ưu hóa tài nguyên phần cứng vượt bậc trên chip Xilinx Artix-7 XC7A200T với chỉ 430 bảng tra cứu, 544 Flip-Flop, 3 khối RAM và 16 khối xử lý tín hiệu số.
  • Xác thực độ chính xác chức năng đạt mức hoàn hảo 100% thông qua mô phỏng dạng sóng trên công cụ Questa Intel, đối chiếu trùng khớp hoàn toàn với dữ liệu chuẩn.

Đóng góp chính của luận văn mở ra giải pháp khả thi và kinh tế để hiện thực hóa chuẩn mật mã hậu lượng tử FIPS 203 trên các thiết bị nhúng năng lượng thấp. Kế hoạch tiếp theo trong 6 đến 12 tháng tới sẽ tập trung vào việc nhúng khối tăng tốc vào hệ thống chip RISC-V và bổ sung cơ chế chống tấn công kênh phụ. Các tổ chức và doanh nghiệp công nghệ cần sớm chủ động tích hợp các giải pháp tăng tốc phần cứng mật mã lưới để bảo vệ an toàn dữ liệu trước kỷ nguyên điện toán lượng tử.