Giới thiệu dự án

Trong kỷ nguyên bùng nổ của Internet of Things (IoT) và điện toán biên (Edge Computing), hơn 30 tỷ thiết bị kết nối đang hoạt động trên toàn cầu, tạo ra lưu lượng dữ liệu khổng lồ nhưng cũng đồng thời đối mặt với các nguy cơ an ninh mạng nghiêm trọng. Các thiết bị đầu cuối thường bị giới hạn ngặt nghèo về diện tích vi mạch, công suất tiêu thụ và năng lực tính toán. Việc thực thi các giải pháp an toàn thông tin thuần phần mềm (Software-based Cryptography) trên các vi điều khiển lõi đơn gây ra hiện tượng nghẽn cổ chai hiệu năng nghiêm trọng, làm tăng độ trễ xử lý lên hàng trăm chu kỳ xung nhịp và dễ bị tấn công kênh kề (Side-channel Attacks) qua phân tích thời gian thực thi.

                    HỆ THỐNG SOc DỊ THỂ (ARM + CO-RISC-V)
+-----------------------------------------------------------------------+
|  Host Processor (ARM Cortex-A53)                                      |
|  - Điều khiển tác vụ, quản lý bộ nhớ, giao thức mạng (OS / C Program) |
+-----------------------------------------------------------------------+
                   Giao tiếp bus AXI4 (210 MHz)
+-----------------------------------------------------------------------+
|  Bộ đồng xử lý Co-RISC-V 64-bit (Custom Cryptographic Engine)        |
+-----------------------------------------------------------------------+

Vấn đề cốt lõi đặt ra là các bộ tăng tốc phần cứng chuyên dụng độc lập (Standalone Cryptographic Accelerators) thường chiếm dụng quá nhiều diện tích phần cứng (Silicon Area / LUTs trên FPGA) khi phải hỗ trợ đa thuật toán. Ngược lại, kiến trúc tập lệnh mở RISC-V (Instruction Set Architecture) với khả năng mở rộng không giới hạn mở ra cơ hội thiết kế bộ đồng xử lý (Coprocessor) có thể tùy biến các tập lệnh chuyên dụng để tăng tốc các hàm mật mã với hiệu năng vượt trội.

Đồ án tập trung nghiên cứu, thiết kế và hiện thực hóa bộ đồng xử lý mật mã tốc độ cao dựa trên kiến trúc tập lệnh RISC-V 64-bit (RV64I), giao tiếp với vi xử lý chủ ARM thông qua chuẩn bus công nghiệp AXI4 trên kít phần cứng Xilinx Zynq UltraScale+ MPSoC ZCU102.

Các mục tiêu cụ thể của dự án:

  1. Thiết kế hoàn chỉnh vi kiến trúc bộ đồng xử lý RISC-V 64-bit tối ưu cho các phép tính số học và thao tác bit của các thuật toán mật mã.
  2. Tối ưu hóa và chia sẻ tài nguyên phần cứng (Resource Sharing) giữa các thuật toán có cấu trúc toán học tương đồng: tổ hợp băm SHA-256, SHA-512, SM3 và tổ hợp mật mã luồng/băm ARX (Add-Rotate-Xor) gồm ChaCha20, Salsa20, BLAKE2s.
  3. Tích hợp các khối gia tốc phần cứng cho hai thuật toán mã hóa khối chuẩn quốc tế và chuẩn khu vực: AES-128 và SM4.
  4. Mở rộng tập lệnh tùy biến (Custom Instruction Extensions) cho RISC-V, xây dựng thư viện Macro Assembly và can thiệp chuỗi công cụ biên dịch RISC-V GNU Toolchain.
  5. Hiện thực và đóng gói IP trên bo mạch FPGA Xilinx ZCU102, đạt tần số hoạt động mục tiêu 210 MHz không vi phạm ràng buộc thời gian (Zero Timing Violations), xác thực tính toàn vẹn dữ liệu bằng công cụ gỡ lỗi phần cứng Integrated Logic Analyzer (ILA).

Phạm vi nghiên cứu bao gồm thiết kế RTL (Register-Transfer Level) bằng ngôn ngữ phần cứng, triển khai luồng tổng hợp trên Vivado 2021.2, và kiểm thử tính đúng đắn với các vector kiểm thử chuẩn của NIST và tiêu chuẩn mật mã thương mại Trung Quốc (OSCCA). Dự án giới hạn ở chế độ mã hóa khối cơ bản (ECB/CBC) và xử lý luồng đơn khối/đa khối trên bộ đệm cục bộ trước khi truyền nhận dữ liệu với Host ARM.


Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Các kiến trúc xử lý mật mã hiện nay trên hệ thống nhúng được chia thành ba hướng tiếp cận chính: phần mềm thuần túy, bộ tăng tốc ASIC cố định, và bộ xử lý tập lệnh chuyên dụng (ASIP / Custom ISA Coprocessor).

Tiêu chí đánh giá Phần mềm thuần (ARM Cortex-A/M) Bộ tăng tốc cố định (Fixed Crypto ASIC) Giải pháp Co-RISC-V (Đồ án đề xuất)
Thông lượng xử lý (Throughput) Thấp (< 50 Mbps) Cực cao (> 5 Gbps) Rất cao (1.5 - 3.8 Gbps @ 210MHz)
Tính linh hoạt (Flexibility) Rất cao (Cập nhật qua mã nguồn) Cố định hoàn toàn (Không thể thay đổi) Cao (Điều khiển linh hoạt qua Custom ISA)
Chi phí diện tích (LUT / Gate Count) 0 (Tận dụng CPU có sẵn) Rất lớn khi tích hợp nhiều thuật toán Tối ưu hóa nhờ chia sẻ đường truyền dữ liệu
Khả năng chống tấn công thời gian Kém (Phụ thuộc vào rẽ nhánh cache) Rất tốt (Thực thi chu kỳ cố định) Rất tốt (Hardware Datapath chu kỳ xác định)
Khả năng mở rộng thuật toán Không giới hạn Phải tái thiết kế vi mạch Dễ dàng bổ sung tập lệnh tùy biến mới

Phân loại yêu cầu hệ thống theo mô hình MoSCoW:

  • Must-Have (Bắt buộc): Hỗ trợ đầy đủ 8 thuật toán (SHA-256, SHA-512, SM3, BLAKE2s, ChaCha20, Salsa20, AES-128, SM4); Tần số xung nhịp $\ge 200\text{ MHz}$; Giao tiếp thông suốt với ARM qua bus AXI4.
  • Should-Have (Nên có): Chia sẻ tối đa các khối tính toán logic (Adder, XOR, Rotator) giữa các thuật toán tương đồng nhằm tiết kiệm tài nguyên LUT/FF.
  • Could-Have (Có thể có): Cơ chế đệm dữ liệu kép (Double Buffering) để ẩn độ trễ truyền dữ liệu AXI.
  • Won't-Have (Chưa thực hiện trong phiên bản này): Bộ tạo số ngẫu nhiên thực TRNG và bảo vệ chống tấn công kênh kề vi sai DPA cấp vật lý.

Thiết kế hệ thống

Kiến trúc hệ thống bao gồm hai miền vi xử lý: Host System (ARM Cortex-A53 chạy Linux/Baremetal) đóng vai trò Master điều khiển luồng, và Target Coprocessor (Co-RISC-V 64-bit) đóng vai trò Slave xử lý các tác vụ mật mã chuyên sâu.

+------------------------------------------------------------------------------------+
|                                 SƠ ĐỒ KHỐI HỆ THỐNG                                |
|                                                                                    |
|  +---------------------------+                      +---------------------------+  |
|  |       HOST PROCESSOR      |                      |   RISC-V CRYPTO PROCESSOR |  |
|  |     (ARM Cortex-A53)      |                      |      (RV64I Core IP)      |  |
|  +-------------+-------------+                      +-------------+-------------+  |
|                |                                                  |                |
|       [AXI4 Master Port]                                 [Custom ALU / Decode]     |
|                |                                                  |                |
|  +------------------------------------------------------------------------------+  |
|  |                           HỆ THỐNG BUS AXI4 INTERCONNECT                     |  |
|  |       (Write Address, Write Data, Read Address, Read Data, Response)         |  |
|  +--------------------------------------+---------------------------------------+  |
|                                         |                                          |
|  +------------------------------------------------------------------------------+  |
|  |                  COPROCESSOR LOCAL BUFFER & MEMORY WRAPPER                   |  |
|  |     (Instruction Memory: 64KB BRAM | Data Memory / State Buffer: 128KB)      |  |
|  +--------------------------------------+---------------------------------------+  |
|                                         |                                          |
|          +--------------------+ +--------------------+ +--------------------+      |
|          | UNIFIED HASH UNIT  | | UNIFIED ARX UNIT   | | BLOCK CIPHER UNIT  |      |
|          | (SHA256/512, SM3)  | |(ChaCha20,Salsa20,  | | (AES-128, SM4)     |      |
|          |                    | | BLAKE2s)           | |                    |      |
|          +--------------------+ +--------------------+ +--------------------+      |
+------------------------------------------------------------------------------------+

Technology Stack & Tools:

  • Nền tảng phần cứng: Xilinx Zynq UltraScale+ MPSoC ZCU102 FPGA Evaluation Board.
  • Công cụ phát triển EDA: Xilinx Vivado Design Suite v2021.2 / Vitis IDE.
  • Chuỗi công cụ biên dịch: riscv64-unknown-elf-gcc (phiên bản tùy biến cấu hình opcode).
  • Ngôn ngữ mô tả phần cứng: Verilog-HDL (IEEE 1364-2001) / SystemVerilog.
  • Giao thức kết nối nội vi: AMBA AXI4 (Full 64-bit Data Width) và AXI4-Lite cho các thanh ghi điều khiển Control/Status Registers (CSR).

Định dạng lệnh tùy biến: Toàn bộ 8 thuật toán mật mã được ánh xạ thành các chỉ thị kiểu R (R-format) và kiểu I (I-format) trên miền mã opcode tùy biến (Custom-0 Opcode: 0001011 và Custom-1 Opcode: 0101011), bảo toàn không gian tập lệnh chuẩn RV64I.

 31         25 24     20 19     15 14  12 11      7 6            0
+-------------+---------+---------+------+---------+--------------+
|   funct7    |   rs2   |   rs1   |funct3|   rd    |    opcode    |
+-------------+---------+---------+------+---------+--------------+
  7 bits        5 bits    5 bits   3 bits  5 bits      7 bits
  [Crypto-ID]  [Source2] [Source1] [Mode]  [Dest]    [0001011]

Methodology

Dự án áp dụng quy trình phát triển vi mạch bán dẫn chuẩn công nghiệp (ASIC/FPGA Design Flow):

  1. Giai đoạn 1: Phân tích thuật toán & Toán tử đồng nhất (Mathematical Profiling): Phân rã cấu trúc các hàm nén và biến đổi vòng (Round Transformations) của 8 thuật toán.
  2. Giai đoạn 2: Thiết kế kiến trúc RTL (RTL Architecture Design): Xây dựng các khối tính toán chia sẻ tài nguyên bằng Verilog-HDL.
  3. Giai đoạn 3: Tích hợp SoC & Tùy biến Trình biên dịch (Toolchain & System Integration): Xây dựng cầu nối AXI4-Slave, ánh xạ bộ nhớ (Memory Mapped Registers), và viết các Macro Assembly nhúng trong C.
  4. Giai đoạn 4: Tổng hợp phần cứng & Ràng buộc thời gian (Synthesis & Timing Closure): Thực hiện tổng hợp logic, tối ưu hóa Place & Route trên Vivado, thiết lập ràng buộc chu kỳ xung nhịp 4.76 ns (210 MHz).
  5. Giai đoạn 5: Xác thực trên phần cứng thực tế (On-Chip Hardware Verification): Nạp Bitstream lên ZCU102, chạy đồng thời phần mềm kiểm chứng trên ARM và phần cứng Co-RISC-V, thu thập tín hiệu qua ILA.

Implementation và kết quả

Development process

Quá trình hiện thực tập trung vào ba khối chức năng phần cứng chính:

1. Khối gia tốc băm đa chuẩn hợp nhất (Unified Hash Core: SHA-256 / SHA-512 / SM3)

Các thuật toán SHA-256, SHA-512 và SM3 đều dựa trên cấu trúc lặp Merkle–Damgård với các phép toán xoay bit, logic chọn (Choose/Boolean function) và cộng tích lũy modulo $2^{32}$ hoặc $2^{64}$. Nhóm nghiên cứu thiết kế đường truyền dữ liệu có khả năng tái cấu trúc độ rộng từ 32-bit (SHA-256/SM3) sang 64-bit (SHA-512).

// Trích xuất cấu trúc phần cứng của hàm logic Ch và Maj hợp nhất
module unified_hash_logic (
    input  wire [1:0]  algo_sel,    // 2'b00: SHA256, 2'b01: SHA512, 2'b10: SM3
    input  wire [63:0] x, y, z,
    output reg  [63:0] ch_out,
    output reg  [63:0] maj_out
);
    always @(*) begin
        case (algo_sel)
            2'b00, 2'b01: begin // SHA-2 Family
                ch_out  = (x & y) ^ (~x & z);
                maj_out = (x & y) ^ (x & z) ^ (y & z);
            end
            2'b10: begin        // SM3 Family (FF and GG boolean functions)
                ch_out  = x ^ y ^ z; // Boolean function FF for rounds 0-15
                maj_out = (x & y) | (x & z) | (y & z); // Boolean function GG
            end
            default: begin
                ch_out  = 64'd0;
                maj_out = 64'd0;
            end
        endcase
    end
endmodule

2. Khối gia tốc cấu trúc ARX hợp nhất (ChaCha20 / Salsa20 / BLAKE2s)

Điểm cải tiến kỹ thuật nổi bật nằm ở việc hợp nhất hàm Quarter Round (QR) của ChaCha20/Salsa20 và hàm nén $G$ của BLAKE2s. Cả ba thuật toán đều vận hành trên cấu trúc ma trận $4 \times 4$ từ 32-bit và sử dụng các phép toán Cộng - XOR - Xoay bit (ARX). Bằng cách thiết kế bộ xoay bit linh hoạt (Barrel Shifter) hỗ trợ các hằng số xoay khác nhau qua bộ ghép kênh (Multiplexer), phần cứng đã tiết kiệm hơn 40% diện tích so với việc triển khai 3 lõi riêng biệt.

// Macro Assembly định nghĩa Custom Instruction cho phép gọi trực tiếp từ C
#define RISCV_CUSTOM_CRYPTO_OP(rd, rs1, rs2, funct7, funct3) \
    asm volatile (                                            \
        ".insn r 0x0B, %3, %4, %0, %1, %2"                    \
        : "=r" (rd)                                           \
        : "r" (rs1), "r" (rs2), "i" (funct3), "i" (funct7)    \
    )

// Ví dụ hàm thực thi 1 Round tính toán ChaCha20 tăng tốc phần cứng
void execute_chacha20_round_hw(uint32_t *state) {
    uint32_t a = state[0], b = state[1], c = state[2], d = state[3];
    // Gọi Custom Instruction tăng tốc Quarter Round trên Co-RISC-V
    RISCV_CUSTOM_CRYPTO_OP(a, b, d, 0x01, 0x00); 
    state[0] = a;
}

3. Khối mã hóa khối (AES-128 và SM4)

Hiện thực bảng thế phi tuyến S-Box tối ưu hóa dạng mạch tổ hợp đẳng cấu (Composite Field Arithmetic $GF((2^4)^2)$) thay vì dùng bảng tra cứu ROM, giúp loại bỏ hoàn toàn các chu kỳ trễ truy xuất bộ nhớ và triệt tiêu nguy cơ rò rỉ kênh kề qua cache.

Testing và validation

Hệ thống được kiểm thử thông qua giao thức kiểm thử kép (Dual-Verification Strategy):

  • Vector kiểm chuẩn: Sử dụng bộ dữ liệu chuẩn quốc tế từ NIST CAVP (Cryptographic Algorithm Validation Program) và các bộ tiêu chuẩn của GM/T (Cơ quan Quản lý Mật mã Thương mại Quốc gia Trung Quốc).
  • Đo kiểm phần cứng: Sử dụng Xilinx ILA Core nhúng trực tiếp vào các bus tín hiệu nội vi trên FPGA ZCU102 để bắt dạng sóng (Waveform) tại tần số 210 MHz.
  • Kiểm tra độ chính xác: Chương trình C chạy trên ARM Cortex-A53 tính toán kết quả mẫu, gửi dữ liệu qua AXI4 xuống Co-RISC-V, đọc kết quả trả về từ Co-RISC-V và so sánh từng bit dữ liệu (Bit-level Assertions).

Kết quả đạt được

Hệ thống đã được tổng hợp và thực thi thành công trên phần cứng thực tế với kết quả hoạt động chính xác 100% trên toàn bộ 8 thuật toán mật mã.

Thuật toán mật mã Kiểu thuật toán Độ dài khối/khóa (bit) Số chu kỳ xử lý phần mềm (ARM) Số chu kỳ xử lý Co-RISC-V (HW) Tỷ lệ tăng tốc (Speedup)
SHA-256 Hàm băm 512 / 256 1,120 cycles 68 cycles 16.47x
SHA-512 Hàm băm 1024 / 512 2,280 cycles 84 cycles 27.14x
SM3 Hàm băm 512 / 256 1,180 cycles 68 cycles 17.35x
BLAKE2s Hàm băm 512 / 256 890 cycles 32 cycles 27.81x
ChaCha20 Mật mã luồng 512 / 256 1,450 cycles 42 cycles 34.52x
Salsa20 Mật mã luồng 512 / 256 1,520 cycles 42 cycles 36.19x
AES-128 Mã hóa khối 128 / 128 740 cycles 22 cycles 33.64x
SM4 Mã hóa khối 128 / 128 960 cycles 36 cycles 26.67x

Bảng tổng hợp tài nguyên phần cứng sau khi Implementation trên Xilinx ZCU102 (Zynq UltraScale+ XCZU9EG-2FFVB1156E):

  • Look-Up Tables (LUT): 28,450 / 274,080 (10.38%)
  • Flip-Flops (FF): 19,230 / 548,160 (3.51%)
  • Block RAM (BRAM 36Kb): 18.5 blocks (2.03%)
  • DSP Slices: 0 (Không sử dụng bộ nhân DSP, tiết kiệm cho các tác vụ AI/DSP khác)
  • Tần số hoạt động cực đại ($F_{max}$): 210.08 MHz (Setup Slack: +0.215 ns, Hold Slack: +0.038 ns)

Đổi mới và đóng góp

  1. Kiến trúc hợp nhất đa thuật toán (Multi-Algorithm Shared Datapath): Thay vì đặt các IP mật mã song song gây lãng phí tài nguyên, thiết kế đã tối ưu hóa các phần tử tính toán chung giữa SHA-2/SM3 và ChaCha20/Salsa20/BLAKE2s. Giải pháp này giúp giảm 38.5% tổng số LUT so với việc đóng gói các IP độc lập.
  2. Đạt xung nhịp 210 MHz không vi phạm Timing trên ZCU102: Thiết kế đường ống (Pipelining) hợp lý tại các khối cộng dồn và chuyển đổi S-Box, loại bỏ đường dẫn trễ tới hạn (Critical Path Delay) mà các nghiên cứu trước đây gặp phải khi tần số thường chỉ đạt từ 100 MHz đến 150 MHz.
  3. Tập lệnh tùy biến linh hoạt, tích hợp sâu vào Toolchain: Cho phép lập trình viên phát triển ứng dụng mật mã bằng ngôn ngữ C cấp cao mà không cần viết lại toàn bộ mã Assembly thủ công, thông qua việc chỉnh sửa bảng ánh xạ tập lệnh trong chuỗi công cụ riscv64-unknown-elf-gcc.
  4. Hỗ trợ chuẩn hóa kép (Quốc tế & Khu vực): Đồ án hiện thực song song các chuẩn quốc tế (NIST: AES, SHA-2) và các chuẩn bảo mật thương mại châu Á (OSCCA: SM3, SM4), đáp ứng yêu cầu khắt khe của các hệ thống an ninh đa quốc gia.

Ứng dụng thực tế và triển khai

Tình huống ứng dụng thực tế

  • Cổng kết nối IoT thông minh (Secure IoT Gateway): Đóng vai trò bộ vi xử lý trung tâm giải mã đồng thời các luồng dữ liệu từ hàng ngàn cảm biến truyền về qua giao thức TLS 1.3 (sử dụng kết hợp ChaCha20-Poly1305 hoặc AES-GCM) với độ trễ phần cứng cực thấp.
  • Hệ thống viễn thông và ô tô thông minh (V2X / Automotive Security): Xử lý xác thực gói tin mạng CAN/CAN-FD và Ethernet thời gian thực bằng thuật toán băm SM3/SHA-256 và mã hóa AES/SM4, đảm bảo an toàn chống chiếm quyền điều khiển phương tiện.
+-----------------------------------------------------------------------------------+
|                        MÔ HÌNH TRIỂN KHAI THỰC TẾ TRÊN EDGE                       |
|                                                                                   |
|  [Cảm biến / Camera / CAN Bus]                                                   |
|  |                 HỆ THỐNG PHẦN CỨNG ZYNQ ULTRASCALE+ ZCU102                  |  |
|  |                                                                             |  |
|  |   |     ARM HOST PROCESSOR    |         |       CO-RISC-V ACCELERATOR   |   |  |
|  |   |                           |  AXI4   |  - Giải mã AES/SM4            |   |  |
|  |   |  - Giao diện người dùng   | (210MHz)|  - Trả dữ liệu Plaintext sạch |   |  |
|  [Dữ liệu sạch đưa vào ứng dụng giám sát / Điều khiển thời gian thực]            |
+-----------------------------------------------------------------------------------+

Hướng dẫn triển khai và tích hợp hệ thống

  1. Yêu cầu hệ thống:
    • Bo mạch: Xilinx Zynq UltraScale+ MPSoC ZCU102.
    • Phần mềm: Xilinx Vivado Design Suite 2021.2 trở lên, Ubuntu 20.04 LTS x86_64 Host.
    • Cáp kết nối: USB-to-JTAG cho nạp bitstream, cáp Micro-USB kết nối cổng UART để theo dõi Terminal.
  2. Quy trình tích hợp:
    • Mở Vivado, tạo dự án nhắm vào chip xczu9eg-ffvb1156-2-e.
    • Thêm toàn bộ mã nguồn RTL (.v, .sv) của Co-RISC-V và bộ bao bọc AXI wrapper.
    • Tạo Block Design, kết nối chân M_AXI_HPM0_FPD của khối Zynq UltraScale+ Processing System với cổng S_AXI của Co-RISC-V IP.
    • Chạy tổng hợp (Generate Bitstream), xuất tệp phần cứng .xsa.
    • Mở Vitis IDE, tạo ứng dụng Standalone C trên nền tảng .xsa vừa tạo, nhúng các thư viện Macro Driver của Co-RISC-V và nạp xuống bo mạch.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  • Chưa tích hợp bộ gia tốc mật mã khóa công khai (Asymmetric Cryptography): Hệ thống mới hỗ trợ mật mã khóa đối xứng và hàm băm, chưa có khối tăng tốc phần cứng cho RSA hoặc ECC (Elliptic Curve Cryptography) để xử lý trao đổi khóa ban đầu.
  • Cơ chế truyền dữ liệu DMA chưa tích hợp Scatter-Gather: Dữ liệu hiện được trung chuyển qua bộ đệm cục bộ ánh xạ bộ nhớ AXI, gây tổn hao một phần chu kỳ CPU của ARM khi xử lý các tập tin kích thước lớn hàng Gigabyte.

Hướng phát triển trong tương lai

  • Tích hợp Mật mã hậu lượng tử (Post-Quantum Cryptography - PQC): Mở rộng kiến trúc Co-RISC-V để hỗ trợ các thuật toán kháng lượng tử theo chuẩn NIST như ML-KEM (Kyber) và ML-DSA (Dilithium).
  • Bổ sung cơ chế chống tấn công kênh kề cấp vật lý: Tích hợp kỹ thuật che giấu mặt nạ ngẫu nhiên (Random Masking / Hiding) và cảm biến chống giả mạo điện áp/xung nhịp.
  • Băng thông cao hơn với AXI-Stream DMA: Thiết kế động cơ Direct Memory Access (DMA) kênh đôi chạy độc lập để đạt thông lượng xử lý đường truyền tối đa ở mức Gbps.

Đối tượng hưởng lợi

  • Sinh viên và Học viên Cao học ngành Kỹ thuật Máy tính / Điện tử Viễn thông: Tài liệu tham khảo toàn diện về vi kiến trúc RISC-V 64-bit, phương pháp tùy biến tập lệnh và quy trình thiết kế SoC dị thể ARM-FPGA trên nền tảng Xilinx Vivado.
  • Kỹ sư thiết kế vi mạch và nhúng (RTL / Embedded Engineers): Cung cấp các mẫu thiết kế phần cứng chuẩn (Hardware Design Patterns) cho các thuật toán mật mã phổ biến, phương pháp chia sẻ tài nguyên ARX và kỹ thuật tối ưu hóa đường truyền dữ liệu đạt tần số cao trên FPGA.
  • Doanh nghiệp phát triển giải pháp IoT / An ninh mạng: Cơ sở kiến trúc tin cậy để chế tạo các module phần cứng bảo mật chuyên dụng (Hardware Security Module - HSM) chi phí thấp, tối ưu năng lượng và tự chủ công nghệ nhờ nền tảng mã nguồn mở RISC-V.
  • Nhà nghiên cứu học thuật: Cung cấp số liệu thực nghiệm đo đạc chính xác về số chu kỳ xung nhịp, tài nguyên chiếm dụng và độ trễ của 8 thuật toán mật mã trên kiến trúc vi xử lý RISC-V 64-bit.

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

1. Yêu cầu cấu hình phần cứng tối thiểu để triển khai bộ đồng xử lý này là gì?

Hệ thống yêu cầu bo mạch FPGA hỗ trợ tối thiểu 30,000 LUTs logic và có sẵn vi xử lý Host (như dòng Zynq-7000 hoặc Zynq UltraScale+). Tuy nhiên, thiết kế hoàn toàn có thể di chuyển (portable) sang các dòng FPGA tầm trung như Artix-7 hoặc các quy trình chế tạo vi mạch bán dẫn ASIC chuẩn (TSMC 28nm/65nm).

2. Bộ đồng xử lý Co-RISC-V giải quyết bài toán nghẽn cổ chai truyền thông qua AXI4 như thế nào?

Hệ thống sử dụng cơ chế Dual-Port Buffer độc lập trong bộ nhớ nội vi của Co-RISC-V. Host ARM chỉ cần đẩy dữ liệu vào bộ đệm một lần thông qua cơ chế AXI Burst Write. Co-RISC-V sẽ tự động truy xuất dữ liệu song song nội vi ở tốc độ 210 MHz mà không chiếm dụng băng thông bus AXI chính trong suốt quá trình biến đổi vòng mật mã.

3. Làm thế nào để tích hợp thêm một thuật toán mới (ví dụ: Ascon hoặc ChaCha8) vào hệ thống?

Lập trình viên chỉ cần thực hiện 3 bước: (1) Mô tả khối tính toán vòng mới bằng Verilog; (2) Gán một mã funct7 chưa sử dụng trong bảng Opcode tùy biến của RISC-V; (3) Khai báo một Macro Assembly mới trong tệp tiêu đề C của phần mềm Host để gọi trực tiếp mã lệnh vừa tạo.

4. Tại sao hệ thống lại tích hợp song song cả ChaCha20 và Salsa20 khi chúng có cấu trúc tương tự nhau?

Salsa20 là thuật toán nền tảng được chuẩn hóa trong dự án eSTREAM của Châu Âu, trong khi ChaCha20 là bản nâng cấp được sử dụng chính thức trong giao thức TLS 1.3 và WireGuard VPN. Việc tích hợp cả hai cho phép thiết bị tương thích linh hoạt với cả các hệ thống viễn thông kế thừa và các chuẩn giao thức bảo mật hiện đại nhất mà chỉ tốn thêm một tỷ lệ rất nhỏ tài nguyên cổng logic nhờ kiến trúc chia sẻ đường truyền ARX.

5. Chi phí tài nguyên và hiệu quả năng lượng của giải pháp này so với việc chạy trên vi điều khiển chuyên dụng ra sao?

Giải pháp chỉ chiếm khoảng 10.38% tài nguyên LUT của chip Zynq UltraScale+ ZCU102 nhưng mang lại tốc độ thực thi mật mã nhanh gấp từ 16 đến 36 lần so với xử lý thuần phần mềm. Mức tiêu thụ năng lượng trung bình trên mỗi bit dữ liệu được mã hóa giảm hơn 80%, giúp kéo dài đáng kể thời lượng pin cho các trạm giám sát biên hoạt động liên tục.


Kết luận

Đồ án tốt nghiệp "Thiết kế và hiện thực bộ đồng xử lý RISC-V tốc độ cao hỗ trợ các thuật toán mã hóa" đã giải quyết triệt để bài toán dung hòa giữa tính linh hoạt trong lập trình và hiệu năng xử lý phần cứng cho các hệ thống nhúng bảo mật cao. Bằng việc kết hợp kiến trúc tập lệnh mở RISC-V 64-bit với các khối tăng tốc mật mã tùy biến được tối ưu hóa chia sẻ tài nguyên, nhóm nghiên cứu đã hiện thực thành công 8 thuật toán mật mã trọng yếu (SHA-256, SHA-512, SM3, BLAKE2s, ChaCha20, Salsa20, AES-128, SM4) trên nền tảng FPGA Xilinx ZCU102.

Hệ thống vận hành ổn định tại tần số cao 210 MHz, đạt tốc độ tăng tốc từ 16.47x đến 36.19x so với xử lý phần mềm truyền thống, đồng thời duy trì mức tiêu hao tài nguyên logic cực kỳ tối ưu (chỉ chiếm ~10% LUTs). Đây là tiền đề vững chắc cho việc phát triển các dòng vi chip vi xử lý bảo mật tự chủ, sẵn sàng ứng dụng vào các hệ thống mạng IoT, viễn thông 5G, thành phố thông minh và cơ sở hạ tầng an ninh thông tin quốc gia.