Tổng quan nghiên cứu
Trong bối cảnh sự phát triển nhanh chóng của máy tính lượng tử, các phương pháp mã hóa truyền thống như RSA và ECDSA đang dần mất đi tính an toàn trước các cuộc tấn công lượng tử. Theo ước tính, việc bảo vệ thông tin trong thời kỳ hậu lượng tử hóa trở nên cấp thiết hơn bao giờ hết. Tổ chức National Institute of Standards and Technology (NIST) đã triển khai quy trình chuẩn hóa mã hóa sau lượng tử (Post-Quantum Cryptography - PQC) từ năm 2016 nhằm tìm kiếm các giải pháp mã hóa mới có khả năng chống lại các cuộc tấn công từ máy tính lượng tử. Trong vòng 3 của quy trình này, CRYSTALS-Kyber, một dạng mã hóa dựa trên cấu trúc lưới (lattice-based), được đánh giá là ứng viên sáng giá nhất nhờ sự cân bằng giữa bảo mật và hiệu quả tính toán.
Mã hóa CRYSTALS-Kyber dựa trên bài toán Module Learning With Errors (MLWE) với các phép toán nhân đa thức phức tạp, đòi hỏi tối ưu hóa hiệu quả xử lý để ứng dụng thực tế. Phép biến đổi Number Theoretic Transform (NTT) và biến đổi nghịch đảo INTT là các thành phần cốt lõi giúp tăng tốc các phép nhân đa thức này. Mục tiêu nghiên cứu của luận văn là thiết kế phần cứng xử lý NTT và INTT trên nền tảng FPGA Intel Cyclone V, sử dụng ngôn ngữ mô tả phần cứng Verilog, nhằm tối ưu hiệu suất và tài nguyên sử dụng cho mã hóa lượng tử CRYSTALS-Kyber.
Phạm vi nghiên cứu tập trung vào thuật toán NTT/INTT với thông số n = 256 phù hợp cho Kyber, đánh giá trên FPGA Cyclone V. Ý nghĩa của nghiên cứu không chỉ nằm ở việc đóng góp về mặt khoa học trong lĩnh vực mã hóa lượng tử lattice-based mà còn có giá trị thực tiễn trong việc chuẩn hóa và ứng dụng mã hóa lượng tử trên các thiết bị điện tử hiện đại, góp phần nâng cao bảo mật thông tin trong kỷ nguyên mới.
Cơ sở lý thuyết và phương pháp nghiên cứu
Khung lý thuyết áp dụng
Luận văn dựa trên ba nền tảng lý thuyết chính:
Mã hóa bất đối xứng và mã hóa lượng tử CRYSTALS-Kyber: CRYSTALS-Kyber là một thuật toán mã hóa bất đối xứng dựa trên bài toán MLWE, sử dụng các phép nhân đa thức trong vành đa thức giới hạn. Thuật toán bao gồm ba bước chính: tạo khóa, mã hóa và giải mã, trong đó phép nhân đa thức chiếm phần lớn độ phức tạp tính toán.
Number Theoretic Transform (NTT) và Inverse NTT (INTT): NTT là phép biến đổi số học giúp chuyển đổi đa thức từ dạng hệ số sang dạng giá trị, cho phép thực hiện phép nhân đa thức hiệu quả với độ phức tạp giảm từ O(n²) xuống O(n log n). Phiên bản tối ưu sử dụng Negative Wrapped Convolution (NWC) giúp tránh việc đệm hệ số 0, phù hợp với thông số n=256 của Kyber. Các đơn vị xử lý cánh bướm (Butterfly Unit - BU) Cooley-Tukey (CT) và Gentleman-Sande (GS) được áp dụng cho NTT và INTT tương ứng.
Phép toán rút gọn modulo Exact-KRED: Để xử lý các phép toán modulo với modulus q=3329 đặc biệt của Kyber, thuật toán Exact-KRED được phát triển dựa trên các phiên bản KRED và K2-RED, giúp giảm độ phức tạp và tránh tràn số trong quá trình tính toán modulo.
Các khái niệm chính bao gồm: mã hóa bất đối xứng, MLWE, NTT/INTT, Negative Wrapped Convolution, Butterfly Unit, Exact-KRED, và bộ nhớ BRAM M10K trên FPGA Cyclone V.
Phương pháp nghiên cứu
Nguồn dữ liệu nghiên cứu bao gồm các tài liệu lý thuyết về mã hóa lượng tử, thuật toán NTT/INTT, và các nghiên cứu phần cứng trước đây về mã hóa lattice-based. Phương pháp nghiên cứu tập trung vào:
Thiết kế phần cứng: Xây dựng kiến trúc bộ gia tốc NTT/INTT trên FPGA Intel Cyclone V sử dụng Verilog, bao gồm thiết kế các đơn vị cánh bướm, bộ rút gọn modulo Exact-KRED, và bộ nhớ BRAM M10K.
Phân tích và tối ưu: Sử dụng các thuật toán NTT/INTT độ phức tạp thấp, áp dụng kỹ thuật pipeline và cân bằng thanh ghi để tối ưu tốc độ và tài nguyên sử dụng.
Mô phỏng và tổng hợp: Mô phỏng thiết kế bằng ModelSim để kiểm tra chức năng, tổng hợp bằng Quartus Prime để đánh giá tốc độ tối đa (fmax) và tài nguyên tiêu thụ.
Timeline nghiên cứu: Nghiên cứu được thực hiện trong khoảng thời gian từ tháng 01/2021 đến tháng 12/2021, với các giai đoạn chính gồm tìm hiểu lý thuyết, thiết kế phần cứng, mô phỏng, tổng hợp và đánh giá kết quả.
Kết quả nghiên cứu và thảo luận
Những phát hiện chính
Thiết kế phần cứng NTT/INTT hiệu quả: Bộ gia tốc NTT/INTT được thiết kế với cấu hình 2x2 Butterfly Unit, sử dụng bộ rút gọn modulo Exact-KRED và bộ rút gọn modulo chia nửa, đạt tốc độ tối đa 237 MHz khi tổng hợp trên FPGA Intel Cyclone V. Thiết kế sử dụng 1322 ALMs, 2929 thanh ghi, 4 khối DSP và 1 khối BRAM M10K.
Tối ưu pipeline và cân bằng thanh ghi: Việc cân bằng các thanh ghi giữa các mạch tổ hợp giúp thiết kế pipeline đạt tốc độ mạch tối ưu, giảm độ trễ tổng thể xuống còn 13 chu kỳ cho mỗi quy trình thực hiện giải thuật CT/GS.
Hiệu suất vượt trội so với các nghiên cứu trước: So sánh với các nghiên cứu NTT tương tự, thiết kế này nhanh hơn gấp 2.4 lần so với một số nghiên cứu sử dụng bộ nhân Karatsuba và có tỉ lệ tài nguyên tiêu thụ trên tốc độ tối ưu hơn nhiều. Ví dụ, so với nghiên cứu sử dụng cấu trúc 3 khối RAM và thuật toán Barret Reduction, thiết kế này đạt tốc độ cao hơn với tài nguyên sử dụng hợp lý.
Mô phỏng và kiểm tra chính xác: Kết quả mô phỏng trên ModelSim cho thấy các khối nhỏ như Exact-KRED, Butterfly Unit và toàn bộ bộ gia tốc hoạt động chính xác với các chế độ CT, GS và bypass. Kết quả tổng hợp Quartus cho thấy thiết kế có thể hoạt động ổn định trong các điều kiện môi trường khác nhau với tốc độ mạch trung bình khoảng 237 MHz.
Thảo luận kết quả
Nguyên nhân chính giúp thiết kế đạt hiệu suất cao là việc áp dụng thuật toán NTT/INTT độ phức tạp thấp, kết hợp với kỹ thuật pipeline và cân bằng thanh ghi hợp lý. Việc sử dụng bộ rút gọn modulo Exact-KRED giúp giảm thiểu tràn số và tăng độ chính xác trong các phép toán modulo đặc thù của Kyber. So với các nghiên cứu trước, thiết kế này tận dụng tốt tài nguyên FPGA Cyclone V, đặc biệt là các khối DSP và bộ nhớ BRAM M10K, để đạt được tốc độ xử lý cao mà không làm tăng đáng kể tài nguyên tiêu thụ.
Dữ liệu có thể được trình bày qua các biểu đồ so sánh tốc độ xử lý (MHz) và tài nguyên tiêu thụ (ALMs, DSPs) giữa các nghiên cứu, cũng như bảng tổng hợp các thông số kỹ thuật và kết quả mô phỏng. Điều này giúp minh họa rõ ràng ưu điểm của thiết kế trong việc cân bằng giữa hiệu suất và tài nguyên.
Đề xuất và khuyến nghị
Tăng cường tối ưu pipeline: Đề xuất tiếp tục nghiên cứu và áp dụng các kỹ thuật pipeline sâu hơn nhằm giảm độ trễ và tăng tốc độ xử lý NTT/INTT, hướng tới mục tiêu đạt tốc độ trên 300 MHz trong vòng 1-2 năm tới. Chủ thể thực hiện là nhóm nghiên cứu phần cứng FPGA.
Mở rộng thiết kế cho các phiên bản Kyber khác: Phát triển thiết kế phần cứng tương thích với các phiên bản Kyber768 và Kyber1024, với các thông số n và k lớn hơn, nhằm đáp ứng nhu cầu bảo mật cao hơn. Thời gian thực hiện dự kiến 1 năm, do nhóm nghiên cứu và kỹ sư phần cứng đảm nhiệm.
Tích hợp với vi xử lý chính: Nghiên cứu tích hợp bộ gia tốc NTT/INTT vào vi xử lý chính hoặc vi xử lý phụ trong các thiết bị điện tử để giảm tải cho CPU, nâng cao hiệu quả tổng thể của hệ thống mã hóa lượng tử. Khuyến nghị thực hiện trong 2 năm với sự phối hợp giữa nhóm nghiên cứu và nhà sản xuất chip.
Nâng cao khả năng chống tấn công kênh bên (side-channel attack): Phát triển các giải pháp bảo mật phần cứng nhằm chống lại các tấn công kênh bên, đảm bảo an toàn cho bộ gia tốc trong môi trường thực tế. Đây là hướng nghiên cứu quan trọng trong 3 năm tới, do các chuyên gia bảo mật và kỹ sư phần cứng phối hợp thực hiện.
Đối tượng nên tham khảo luận văn
Nhà nghiên cứu và sinh viên ngành Kỹ thuật Điện tử và Mật mã học: Luận văn cung cấp kiến thức sâu sắc về thiết kế phần cứng cho mã hóa lượng tử, giúp họ hiểu rõ các thuật toán NTT/INTT và cách tối ưu trên FPGA.
Kỹ sư phát triển phần cứng FPGA và ASIC: Các kỹ sư có thể áp dụng các kiến thức và thiết kế trong luận văn để phát triển các bộ gia tốc mã hóa lượng tử hiệu quả, phục vụ cho các sản phẩm bảo mật cao cấp.
Doanh nghiệp và tổ chức phát triển giải pháp bảo mật thông tin: Tham khảo để đánh giá khả năng ứng dụng mã hóa lượng tử CRYSTALS-Kyber trên phần cứng, từ đó xây dựng các sản phẩm bảo mật phù hợp với xu hướng công nghệ mới.
Cơ quan quản lý và chuẩn hóa công nghệ: Có thể sử dụng kết quả nghiên cứu để tham khảo trong quá trình xây dựng tiêu chuẩn và chính sách về bảo mật thông tin trong kỷ nguyên hậu lượng tử.
Câu hỏi thường gặp
Tại sao CRYSTALS-Kyber được chọn làm đối tượng nghiên cứu?
CRYSTALS-Kyber là một trong những ứng viên sáng giá nhất trong chuẩn hóa mã hóa sau lượng tử của NIST, với khả năng bảo mật cao và hiệu quả tính toán tốt nhờ sử dụng thuật toán lattice-based và NTT.Phần cứng FPGA có ưu điểm gì so với phần mềm trong mã hóa lượng tử?
Phần cứng FPGA cho phép tối ưu tốc độ xử lý, giảm độ trễ và tiêu thụ năng lượng thấp hơn so với phần mềm, đồng thời dễ dàng tùy chỉnh và tích hợp vào các hệ thống nhúng.Thiết kế phần cứng này có thể áp dụng cho các thuật toán mã hóa khác không?
Thiết kế tập trung vào NTT/INTT có thể được điều chỉnh để áp dụng cho các thuật toán mã hóa lattice-based khác có cấu trúc tương tự, tuy nhiên cần tùy biến thông số và kiến trúc phù hợp.Làm thế nào để đảm bảo an toàn trước các tấn công kênh bên?
Cần phát triển các kỹ thuật bảo vệ phần cứng như che giấu tín hiệu, ngẫu nhiên hóa thời gian xử lý và kiểm soát rò rỉ điện từ để chống lại các tấn công kênh bên.Tài nguyên FPGA sử dụng có thể mở rộng cho các ứng dụng lớn hơn không?
Với việc sử dụng 1322 ALMs, 4 DSPs và 1 BRAM M10K, thiết kế có thể mở rộng hoặc tích hợp thêm các module khác trên cùng một FPGA hoặc chuyển sang các FPGA có tài nguyên lớn hơn để đáp ứng nhu cầu phức tạp hơn.
Kết luận
- Thiết kế phần cứng xử lý NTT và INTT trên FPGA cho mã hóa lượng tử CRYSTALS-Kyber đạt tốc độ tối đa 237 MHz với tài nguyên hợp lý, vượt trội so với các nghiên cứu trước.
- Áp dụng thuật toán NTT/INTT độ phức tạp thấp và kỹ thuật pipeline giúp tối ưu hiệu suất và giảm độ trễ xử lý.
- Bộ rút gọn modulo Exact-KRED đảm bảo tính chính xác và hiệu quả trong các phép toán modulo đặc thù của Kyber.
- Kết quả mô phỏng và tổng hợp chứng minh tính khả thi và hiệu quả của thiết kế trên nền tảng FPGA Intel Cyclone V.
- Hướng nghiên cứu tiếp theo tập trung vào mở rộng thiết kế cho các phiên bản Kyber khác, tích hợp vào hệ thống vi xử lý và nâng cao bảo mật phần cứng.
Để tiếp tục phát triển và ứng dụng mã hóa lượng tử trong thực tế, các nhà nghiên cứu và kỹ sư phần cứng được khuyến khích áp dụng và mở rộng các kết quả nghiên cứu này. Hành động ngay hôm nay để góp phần bảo vệ an toàn thông tin trong kỷ nguyên hậu lượng tử!