Luận văn thạc sĩ: Thiết kế bộ tăng tốc NTT cho mã hóa lượng tử Crystalskyber

Luận văn thạc sĩ kỹ thuật điện tử về thiết kế bộ tăng tốc NTT cho mã hóa sau lượng tử Crystalskyber, khám phá công nghệ tiên tiến.

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
14
0

Phí lưu trữ

30 Point

Tóm tắt

I. Tổng quan về thiết kế bộ tăng tốc NTT cho mã hóa lượng tử Crystalskyber

Thiết kế bộ tăng tốc NTT cho mã hóa lượng tử Crystalskyber là một trong những nghiên cứu quan trọng trong lĩnh vực bảo mật thông tin. CRYSTALS-Kyber, được chọn làm tiêu chuẩn mã hóa sau lượng tử, yêu cầu hiệu suất tính toán cao để đảm bảo an toàn trước sự phát triển của máy tính lượng tử. Việc tối ưu hóa thuật toán NTT (Number-Theoretic Transform) là cần thiết để cải thiện tốc độ xử lý và giảm thiểu thời gian tính toán. Nghiên cứu này sẽ trình bày các phương pháp thiết kế và triển khai bộ tăng tốc NTT trên nền tảng FPGA.

1.1. Ứng dụng của mã hóa lượng tử Crystalskyber trong bảo mật thông tin

Mã hóa lượng tử Crystalskyber được thiết kế để bảo vệ thông tin trước các cuộc tấn công từ máy tính lượng tử. Với khả năng xử lý mạnh mẽ, Crystalskyber hứa hẹn mang lại sự an toàn cho các hệ thống thông tin trong tương lai. Việc triển khai bộ tăng tốc NTT sẽ giúp tối ưu hóa hiệu suất mã hóa, từ đó nâng cao khả năng bảo mật.

1.2. Tầm quan trọng của bộ tăng tốc NTT trong mã hóa Crystalskyber

Bộ tăng tốc NTT đóng vai trò quan trọng trong việc giảm thiểu thời gian tính toán cho các phép toán đa thức trong Crystalskyber. NTT cho phép thực hiện các phép nhân đa thức một cách hiệu quả, giúp tăng tốc độ mã hóa và giải mã. Việc thiết kế bộ tăng tốc này sẽ giúp cải thiện hiệu suất tổng thể của hệ thống.

II. Thách thức trong việc thiết kế bộ tăng tốc NTT cho Crystalskyber

Việc thiết kế bộ tăng tốc NTT cho mã hóa Crystalskyber không chỉ đơn thuần là cải thiện tốc độ tính toán mà còn phải đối mặt với nhiều thách thức. Các vấn đề như tối ưu hóa tài nguyên phần cứng, đảm bảo tính chính xác của các phép toán và khả năng mở rộng của hệ thống là những yếu tố cần được xem xét kỹ lưỡng.

2.1. Vấn đề tối ưu hóa tài nguyên phần cứng

Tối ưu hóa tài nguyên phần cứng là một trong những thách thức lớn nhất trong thiết kế bộ tăng tốc NTT. Cần phải cân nhắc giữa hiệu suất và chi phí tài nguyên để đảm bảo rằng bộ tăng tốc hoạt động hiệu quả mà không tiêu tốn quá nhiều tài nguyên FPGA.

2.2. Đảm bảo tính chính xác trong các phép toán

Tính chính xác của các phép toán trong NTT là rất quan trọng. Việc thiết kế bộ tăng tốc cần phải đảm bảo rằng các phép toán được thực hiện chính xác để tránh sai sót trong quá trình mã hóa và giải mã. Điều này đòi hỏi sự chú ý đến chi tiết trong thiết kế phần cứng.

III. Phương pháp thiết kế bộ tăng tốc NTT cho Crystalskyber

Để thiết kế bộ tăng tốc NTT cho mã hóa Crystalskyber, cần áp dụng các phương pháp hiện đại trong lĩnh vực thiết kế phần cứng. Việc sử dụng ngôn ngữ mô tả phần cứng Verilog cho phép tạo ra các mô hình chính xác và hiệu quả cho bộ tăng tốc NTT.

3.1. Sử dụng ngôn ngữ Verilog trong thiết kế phần cứng

Ngôn ngữ Verilog là công cụ mạnh mẽ cho việc mô tả và thiết kế các hệ thống phần cứng. Việc sử dụng Verilog trong thiết kế bộ tăng tốc NTT giúp tạo ra các mô hình có thể dễ dàng kiểm tra và tối ưu hóa, từ đó nâng cao hiệu suất của hệ thống.

3.2. Thiết kế cấu trúc Butterfly Unit cho NTT

Cấu trúc Butterfly Unit là một phần quan trọng trong thiết kế bộ tăng tốc NTT. Cấu trúc này cho phép thực hiện các phép toán song song, giúp tăng tốc độ xử lý và giảm thiểu thời gian tính toán. Việc tối ưu hóa cấu trúc này sẽ góp phần nâng cao hiệu suất của bộ tăng tốc.

IV. Kết quả nghiên cứu và ứng dụng thực tiễn của bộ tăng tốc NTT

Kết quả nghiên cứu cho thấy bộ tăng tốc NTT được thiết kế có khả năng cải thiện đáng kể hiệu suất mã hóa của Crystalskyber. Việc triển khai trên nền tảng FPGA cho phép kiểm tra và đánh giá hiệu quả của bộ tăng tốc trong các ứng dụng thực tiễn.

4.1. Đánh giá hiệu suất bộ tăng tốc NTT trên FPGA

Kết quả đánh giá cho thấy bộ tăng tốc NTT hoạt động hiệu quả trên nền tảng FPGA, với tốc độ xử lý nhanh hơn so với các phương pháp truyền thống. Điều này chứng tỏ rằng thiết kế bộ tăng tốc là một giải pháp khả thi cho việc cải thiện hiệu suất mã hóa.

4.2. Ứng dụng bộ tăng tốc NTT trong các hệ thống bảo mật

Bộ tăng tốc NTT có thể được ứng dụng trong nhiều hệ thống bảo mật khác nhau, từ các thiết bị nhúng đến các hệ thống máy chủ lớn. Việc tích hợp bộ tăng tốc này sẽ giúp nâng cao khả năng bảo mật và hiệu suất của các hệ thống thông tin.

V. Kết luận và hướng phát triển tương lai cho bộ tăng tốc NTT

Kết luận từ nghiên cứu cho thấy bộ tăng tốc NTT cho mã hóa Crystalskyber không chỉ cải thiện hiệu suất mà còn mở ra nhiều hướng phát triển mới trong lĩnh vực bảo mật thông tin. Việc tiếp tục nghiên cứu và phát triển các giải pháp tối ưu hóa sẽ giúp nâng cao khả năng bảo mật trong thời đại công nghệ 4.0.

5.1. Tương lai của mã hóa lượng tử và bộ tăng tốc NTT

Mã hóa lượng tử sẽ tiếp tục phát triển và trở thành tiêu chuẩn trong bảo mật thông tin. Bộ tăng tốc NTT sẽ đóng vai trò quan trọng trong việc đảm bảo hiệu suất và an toàn cho các hệ thống mã hóa trong tương lai.

5.2. Hướng nghiên cứu tiếp theo trong thiết kế bộ tăng tốc

Nghiên cứu tiếp theo có thể tập trung vào việc tối ưu hóa hơn nữa bộ tăng tốc NTT, cũng như khám phá các công nghệ mới trong thiết kế phần cứng. Việc áp dụng các công nghệ tiên tiến sẽ giúp nâng cao hiệu suất và khả năng bảo mật của các hệ thống mã hóa.

10/01/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 đủ

Bài luận văn thạc sĩ với tiêu đề "Thiết kế bộ tăng tốc NTT cho mã hóa lượng tử Crystalskyber" của tác giả Nguyễn Hữu Toàn, dưới sự hướng dẫn của TS. Trần Hoàng Linh, thuộc trường Đại học Quốc gia TP. HCM, tập trung vào việc phát triển công nghệ mã hóa lượng tử, một lĩnh vực đang ngày càng trở nên quan trọng trong bối cảnh bảo mật thông tin. Bài viết không chỉ trình bày các phương pháp thiết kế bộ tăng tốc mà còn làm nổi bật những lợi ích của việc áp dụng mã hóa lượng tử trong bảo vệ dữ liệu. Độc giả sẽ tìm thấy những kiến thức quý giá về kỹ thuật điện tử và mã hóa, giúp họ hiểu rõ hơn về tiềm năng của công nghệ này trong tương lai.

Nếu bạn quan tâm đến các nghiên cứu liên quan trong lĩnh vực kỹ thuật điện tử, hãy xem thêm bài viết Nhận dạng tri thức điều khiển thiết bị qua sóng điện não, nơi khám phá các ứng dụng của kỹ thuật điện tử trong nhận dạng thông tin. Ngoài ra, bài viết Giải pháp phát triển công nghiệp hỗ trợ ngành điện tử tại Hà Nội cũng đáng để tìm hiểu, giúp bạn nắm bắt các xu hướng phát triển trong ngành. Cuối cùng, bài viết Nâng cao chất lượng nguồn nhân lực của Công ty TNHH MTV Quang Điện Điện Tử sẽ cung cấp cái nhìn sâu sắc về yếu tố con người trong ngành điện tử. Những tài liệu này không chỉ mở rộng kiến thức mà còn cung cấp nhiều góc nhìn khác nhau về các ứng dụng và phát triển trong lĩnh vực kỹ thuật điện tử.