Chương 1. TONG QUAN DE TÀI.--- 2-52 52St+EE£EE2EE2EE2EEEEEEEErrkrrerrree 15 Chương 2. CO SỞ LÝ THUYÊT.--- 2-2 £+S++E£+E++EE+EE+EEEEEErEerrerrerreee 17 2. Kiến trúc RISC-V:.
Lịch sử phát triỂn: .---¿- ¿2£ +£+x+2Ex+2EktEEEtEEEEEEEEEEEerkrerkesrkesree 17 VN) S6 Ai 000n 6 135. RV32I và RVOA4I Instruction S€(:. Các thuật toán mã ha:. Tổng quan về Hash:.
Tổng quan về mật mã hóa SHA-256:. Tổng quan về mật mã hóa SHA -5 12:. Tổng quan về thuật toán SMB:. Tổng quan về thuật toán BLAKE2:.
Tổng quan về thuật toán mã hóa luỗng:. Tổng quan về thuật toán mật mã luồng Salsa20:. Tổng quan về thuật toán mật mã luồng ChaCha20:. Tổng quan về thuật toán AES?.
Tổng quan về thuật toán mã hóa SM4:. Bộ xử lý mã hóa dựa trên kiến trúc RISC-V 64 Dit:. Tổng quan về kiến trúc kết hợp ARM và RISC-V 64 bit:. Các công cụ hỗ tTỢ:.
RISC-V GNU Toolcha1n:. --cc ccssscs**sskseesesereeeeees 50 PC i2. _ PHƯƠNG PHAP THỰC HIỆN. Thiết kế IP RISC-V hỗ trợ các thuật toán mật mã hóa:.
Chi tiết thiết kế Buffer hỗ trợ lưu trữ dữ liệu tạm cho các thuật toán mật mã hÓa:. Chi tiết thiết kế bộ mô-đun tính thuật toán mật mã hóa “SHA-256, SHA- 512, SM3””. Chi tiết thiết kế bộ mô-đun tính thuật toán mật mã hóa “ChaCha20, BLAKE2S, Salsa207”. Thiết kế mô-đun tính toán cho thuật toán AES:.
Thiết kế mô-đun tinh toán cho thuật toán SM4:. Tùy biến lệnh trong RISC-V:. Tổng quan về tùy biến lệnh trong kiến trúc RISC-V:. Chi tiết tùy biến nhóm lệnh cho các thuật toán mật mã hóa:.
KIEM TRA VÀ ĐÁNH GIA KET QUA HIỆN THỰC. Kịch bản kiỂm trat. Chi tiết kết quả kiểm tra hiện thựC:. Đánh giá kết quả hiện thực: .---- -+- + + x+Ex+EE+EE+EEEEEEEEeErExrrkrrerreee 90 Chương 5.
KẾT LUẬN VÀ HƯỚNG PHAT TRIÉN. Hướng phat triỂn:.---- - 2-2 E+SE+SESE£EEEEEEEEEEEEE1EE121121122121111 111. 96 DANH MỤC HÌNH Hình 2.1: Minh họa về thuật toán băm [3] .----2- 2 + + E+EeEE+EeEEeEE+Eerkerxreerxez 29 Hình 2.2: Sơ đồ thuật toán băm SHA-256.---:- 2-22 ©5222+2E2+E++£xvzx+zrxerxez 31 Hình 2.3: Sơ đồ thuật toán băm SHA -5 12.- 2-22 2£ +2E£+EE+EE£+EEeEEerxerrserxee 33 Hình 2.4: Hàm nén của thuật toán SÌM3.5: Hàm nén của thuật toán BLAKEs.6: Mô tả về mật mã luỖng .----- 2-2 2 2 £+EE+EE+EE2EE+E2EE+EEzErrerrerreee 39 Hình 2.7: Ham Quarter Round của thuật toán Salsa20.8: Ham Quarter Round của thuật toán ChaCha20.10: Giadi thudt SM4 oo.11: Tổng quan kiến trúc kết hợp ARM và Co-RISC-V.12: Kiến trúc tong quan của giao thức AXI4.---2--¿-cs¿5cx++cxz5sse2 52 Hình 2.13: Kênh đọc của giao thức A XL4.-- 6 1xx nh rưy53 Hình 2. Kênh ghi của giao thức AXI4 ooo.1: Tổng quan kiến trúc RISC-V woccecccccccecccscesessesessesesssessessessesessesessesseseeaees 54 Hinh 3.2: Co ché hoat động của BufÍ€T .3: Tổng quan thiết kế SHA256.-- 2-2 2 2+S£+EE2EE+E2EE2E2E2EzEerreee 59 Hình 3.4: Khối Block Function.-------¿++++tE+++ttEEEktttEkkrrttrrrrrireeriee 59 Hình 3.5: Khối Hash Function.---2- 2: 2£ +2E££SE£EE£EE£EEtEEESEEEEErEEerkerrerrrervee 61 Hình 3.6: Khối Block Function kết hợp SHA256 và SHA512.7: Khối Hash Function kết hợp SHA256 và SHA512.8: Tổng quan thiết kế kết hợp SHA256 và SHA512.9: Khối Block Function kết hợp SHA256, SHA512 và SM3.10: Kiến trúc kết hợp Hash Function của SHA256, SHA512 và SM3.11: Tổng quan kiến trúc kết hợp SHA256, SHA512, SM3.12: Kiến trúc kết hợp G Function và QuaterRound.13: Khối tính 2 round cho ChaCha và BLAKE2S.14: Khối tính Salsa20 QuaterRound .15: Khối tính 2 round cho Salsa.- ¿2 +2 SE EEEE+E+E+EeEeEEEErEzErEsrrrersrs 70 Hình 3.16: Khối tính kết hợp BLAKE2S, ChaCha20, Salsa20 .------ 2 2 2 +2 ++E£+E++E++E++E£EE+EzErrerrerreee 74 Hình 3.20: Mô-đun tính Cipher cho giải thuật AES .21: Mô-đun tinh Cipher cho giải thuật SÌM4.
7 ScS+ssrsersereeres 75 Hình 4.1: Kết quả tính toán AES của RISC-V va ARM được in ra Terminal dé so 0 —.2: Kết quả của giải thuật AES khi xem trong ILA_ Debug.3: Kết quả tính toán BLAKE2S của RISC-V va ARM của RISC-V được in ra Terminal dé so sánh.4: Kết quả của giải thuật BLAKE2S khi xem trong ILA_ Debug.5: Kết quả tính toán ChaCha20 của RISC-V và ARM được in ra Terminal dé SO SAND 0.6: Kết quả của giải thuật ChaCha20 khi xem trong ILA_Debug.7: Kết quả tính toán SHA256 của RISC-V và ARM được in ra Terminal dé so sánh.>cẽẽẽ ẨẨẶẶ5ẶộŠĐ C ằc C.CÀ¬CÀCOÀÒCÓàÀÀL(Ể-eeeseeeseesses 85 Hình 4.8: Kết qua của giải thuật SHA256 khi xem trong ILA_Debug.9: Kết quả tính toán SHA512 của RISC-V va ARM được in ra Terminal dé SO SAND.10: Kết quả của giải thuật SHA512 khi xem trong ILA_ Debug.11: Kết qua tính toán SM3 của RISC-V va ARM được in ra Terminal dé so 0 .12: Kết qua của giải thuật SM3 khi xem trong ILA_ Debug.13: Kết quả tính toán SM4 của RISC-V và ARM được in ra Terminal dé so 0:0 .15: Kết quả tính toán Salsa20 của RISC-V va ARM được in ra Terminal dé Hình 4.16: Kết quả của giải thuật Salsa20 khi xem trong ILA_Debug.17: So sánh hiệu quả năng lượng của nghiên cứu này với các CPUs. 93 DANH MUC BANG Bang 2.1: Bộ thanh ghi của RISC- V.- «ch eg 19 Bang 2.2: Lệnh định dạng lR.3: Lệnh định dạng Ì.---s«-55<Sc+cSEeEEEtEEitErirEirririiiiriiririe 21 Bang 2.4: Lệnh định dạng S.--s-5<-5c<ScteerttriEkrErHH 1 1 gi 22 Bang 2.5: Lệnh định dạng UƯ. --5s-ccxc+ketrkittrirtErirEirtiirtiiriiririirrerrree 22 Bang 2.7: RV64 Instruction SG(.1: BLAKE2S GF và ChaCha20 QR .ccs-Scsiicsriieiiriiiiierrie 66 Bang 3.2: Sự tương đồng giữa 2 Round ChaCha20 va BLAKE28.3: Lợi ích và bắt lợi của Macro Assembly và chỉnh sửa trình biên dịch.4: Bảng tín hiệu Opcode RISC-V .5: Các trường tùy biến cho tám thuật toán.1: Message kiểm tra với các Độ lớn khối dữ liệu tương ứng.2: Tổng hợp tài nguyên sau Implementation.3: Tổng hợp thông số các giải thuật mật mã hóa.4: So sánh số lượng Cycle khi xử lí một Block dữ liệu qua các giải thuật .5: So sánh thông lượng với các bài nghiên cứu khác .---‹--- 91 DANH MỤC TU VIET TAT Tir viet tat Nghia day du ALU Arithmetic Logic Unit IM Instruction Memory ID Instruction Decode IF Instruction Fetch EXE Execute MEM Memory Access WB Write Back PC Program Counter RS1 Register Source 1 RS2 Register Source 2 RS3 Register Source 3 DM Data Memory WE Write Enable SHA Secure Hash Algorithm AES Advanced Encryption Standard wn Chinese National Standard for Block Cipher ECC Elliptic Curve Cryptography Rivest-Shamir-Adleman RSA (Cryptosystem) BFM Bus Functional Model HDL Hardware Description Language RTL Register Transfer Level FSM Finite State Machine ISA Instruction Set Architecture GCD Greatest Common Divisor GCC GNU Compiler Collection LSB Least Significant Bit MSB Most Significant Bit FIFO First In, First Out LUT Look-Up Table DSP Digital Signal Processing FFT Fast Fourier Transform I2C Inter-Integrated Circuit SPI Serial Peripheral Interface UART Universal Asynchronous Receiver- Transmitter GPIO General Purpose Input/Output PWM Pulse Width Modulation ADC Analog-to-Digital Converter DAC Digital-to-Analog Converter PLL Phase-Locked Loop RAM Random Access Memory ROM Read-Only Memory SRAM Static Random Access Memory DRAM Dynamic Random Access Memory DDR Double Data Rate USB Universal Serial Bus PCIE Peripheral Component Interconnect Express JTAG Joint Test Action Group SOC System on Chip Asc Application-Specific Integrated Circuit FPGA Field-Programmable Gate Array High-Definition Multimedia HDMI Interface TOM TAT KHÓA LUẬN Trong bối cảnh Internet of Things (IoT) ngày càng phát triển và kết nối hàng tỷ thiết bị, vấn đề bảo mật phần cứng trở nên vô cùng quan trọng. Các thiết bị kết nối đa dạng với tài nguyên giới hạn và các biện pháp bảo mật khác nhau đặt ra thách thức lớn trong việc đảm bảo tính bảo mật mạnh mẽ cho phần cứng.
Những mối đe dọa như truy cập trái phép, vi phạm dữ liệu, gia mao thiết bị, và các cuộc tan công ác ý đòi hỏi các giải pháp bảo mật toàn diện. Cùng với đó, sự xuất hiện của kiến trúc tập lệnh RISC-V (ISA) như một sự thay thế cho các kiến trúc sở hữu đã mở ra nhiều cơ hội và thách thức trong việc bảo mật phan cứng. Tinh chất mở của RISC-V khuyến khích sự đổi mới, tùy biến và minh bạch, nhưng cũng đòi hỏi phải xem xét can thận các biện pháp bảo mật dé giải quyết các lỗ hồng tiềm tàng. Khóa luận này tập trung vào việc thiết kế và hiện thực kiến trúc RISC-V 64- bit trên phan cứng FPGA ZCU102 với tan số hoạt động 210MHz mà không gặp phải vấn đề về vi phạm thời gian.
Điều này cho thấy hệ thống có khả năng xử lý tốc độ cao và ôn định. Nhóm nghiên cứu đã hiện thực thành công 8 giải thuật mật mã hóa: SHA2-256, SHA2-512, SM3, ChaCha20, BLAKE2S, Salsa20, SM4, và AES, tất cả đều chạy đúng chức năng khi triển khai trên FPGA ZCU102. Những thành tựu này không chỉ chứng minh khả năng của kiến trúc RISC-V trong việc hỗ trợ các giải thuật mật mã phức tạp ma còn mở ra hướng đi mới trong việc phát triển các hệ thống phần cứng bảo mật cao, đáp ứng nhu cầu ngày càng tăng về bảo mật trong thé giới IoT. TONG QUAN DE TÀI Trong thoi dai phat trién manh mé cua Internet of Things (IoT), sự phát triển của kiến trúc vi xử lý mã nguồn mở RISC-V đã trở thành một chủ đề nóng trong ngành công nghệ thông tin.
Khởi nguồn từ một dự án nghiên cứu tại Đại hoc California, Berkeley vào năm 2010, RISC-V nhanh chóng trở thành một lựa chọn phổ biến với khả năng tùy biến cao và chi phí thấp, phù hợp cho cả nghiên cứu và phát triên sản phâm. Các nghiên cứu về mã hóa trên RISC-V đã ghi nhận những tiến bộ quan trọng. Một nghiên cứu gần đây đã giới thiệu việc tích hợp các thuật toán mã hóa như AES và SHA trên nền tảng RISC-V, cho thấy hiệu suất cao và khả năng bảo mật mạnh mẽ. Nghiên cứu này sử dụng bộ công cụ phần mềm Vivado 2021.2 từ Xilinx trên nền tảng FPGA ZCU102 dé thuc nghiệm va dat được tan số hoạt động lên đến 210MHz mà không gặp phải bat kỳ van đề về việc trễ chu kỳ như ở nghiên cứu [1] va [2].
Ngoài ra, một số nghiên cứu khác cũng đã khai thác tiềm năng của RISC-V trong lĩnh vực mã hóa. Ví dụ, một bài nghiên cứu đã chỉ ra việc tối ưu hóa thuật toán Curve25519 trên nền tang Cortex-M4, mang lại hiệu quả tính toán cao hơn và khả năng chống tan công tốt hơn [1]. Một nghiên cứu khác về AES-GCM đã cho thay sự cải thiện đáng ké về hiệu suất và khả năng chống tan công theo thời gian [1]. Bên cạnh đó, việc triển khai thuật toán BLAKE2 và ChaCha20 trên RISC-V cũng được báo cáo với kết quả đáng khích lệ, đặc biệt trong các ứng dụng yêu cầu độ bảo mật cao và tốc độ xử lý nhanh [2].
Dựa trên những nghiên cứu và kết quả đạt được, nhóm đã thực hiện hiện thực các giải thuật mã hóa: SHA2-256, SHA2-512, SM3, ChaCha20, BLAKE2S, Salsa20, SM4 và AES trên phần cứng FPGA ZCU102. Các giải thuật này đều hoạt động chính xác và đạt được hiệu suất cao với tan số 210MHz, chứng minh khả năng tích hợp và ứng dụng của RISC-V trong các hệ thống bảo mật hiện đại. 15 Bài viết này bao gồm: Chương 2. Cơ sở lý thuyết: Phần này mô tả các lý thuyết về kiến trúc RISC-V, các thuật toán mật mã hóa được sử dụng trong bài viết.
Phương pháp hiện thực: Phần này mô tả chỉ tiết các ý tưởng thiết kế phần cứng bao gồm: RISC-V, buffer và các thuật toán mật mã hóa.