Chương I.--2- 2< E+SEEE+EE+EE+EE+EE+EEEEEEEEEErErkerrerree 2 1. Lý do chọn đề tài. Mục tiêu đề tài. _ Đối tượng nghiên CỨU.- ¿2 <+S<+SE+EE+EE+EEEEEEEEEEEEEEEEEEEEEEEErkrrrrrree 4 Chương 2.-- 2: 2£ £+SE+EE2EE£EEEEEEEEEEEEEEEEEEerkrrrkrree 7 3.
_ Giới thiệu kiến trúc tập lệnh RISC-V. _ Tổng quan kiến trúc RISC-V. Các tập lệnh của kiến trúc RISC-V. Cac phép tính số nguyên.
_ Các lệnh điều khiến. _ Các lệnh trích xuất/ lưu trữ dit liệu. Gai thuật mật mã học nhẹ. TINY JAMBU woneecessessscsssesssesssesssesssesssssssessscssecssecssecssecssessseesesesesesesens 16 1 A a od 00) (0) cee 17 3.
ROMUIUS occ cccccccccceseseessssseceeeeeeececceseseeesssssseeeeeeeeceeeceeeeeseetaeea 17 3. Bộ Đồng Xử Lý.--:- St St St EEE11011211111211211211211 111cc. Giao thức AXI được dùng dé truyền dữ liệu cho bộ đồng xử lý RISC-V.- G «kh HH TH TH ng nh HH 19 3.-- cv HH HH TH TH ng ngư 20 3. Cấu trúc phân kênh của AXI.
Các phương pháp cải tiễn bộ đồng xử lý dành cho các giải thuật mật mã học 25 3. Custom instruction - Các lệnh mở rỘng. Khối ALU ghép đôi xử lý song song 2 lệnh 32-bits. Khối chức năng tùy chỉnh (ASCON ROUND UNIT).
THIẾT KE, CẢI TIEN VA HIỆN THỰC BO DONG XỬ LÝ RISC-V 30 4. Chi tiết thiết kế bộ đồng xử lý RISC-V.--¿--2¿©-+++cx+czs+rxesrseees 30 4. _ Thiết kế tong quát. Thiết kế bộ đồng xử lý chỉ tiẾt.
Khối Program COunIer. _ Khối Instruction Memory. Khối giải mã lệnh : Controller Unit (Instruction Decode). HH TH TH HH key 36 4.
Branch Control : Khối xử lý điều kiện cho các lệnh rẽ nhánh. Khối Data Memory. Khối Load Control và khối Store Control. _ Các cải tiến dành cho bộ đồng xử lý RISC-V.
DUAL~-ALU - khối ALU ghép đôi. Crypto ALU - khối ALU cho các lệnh tùy chỉnh mật mã học. _ Lệnh tùy chỉnh cho SparkÌe. _ Lệnh tùy chỉnh cho GIFT-COBB.
Lénh tùy chỉnh cho giải thuật ISAP. _ Lệnh tùy chỉnh cho giải thuật Tiny Jambu. _ Lệnh tùy chỉnh cho Photon. _ Lệnh tùy chỉnh cho giải thuật Romulus.
Khối chức năng tùy chỉnh - ASCON ROUND. Hién thực trên phần cứng FPGA wo. Hệ thống tổng quat. _ Hiện thực Block Design trên kit Zynq UltraScale+ MPSoC ZCU102 62 4.
Bộ đồng xử lý RISC-V được đóng gói thành CGRA IP. _ Các IP của Xilinx được dùng dé thiết kế Block Design. Khối phân tích logic tích hợp (Integrated Logic Analyzer). MÔ PHONG, KIEM CHUNG VA ĐÁNH GIA KET QUẢ.
Kich bản kiểm chứng kết quả mã hóa. Mô phỏng và kiểm chứng kết quả trên phần mềm Vivado. Kiểm chứng kết quả sau khi hiện thực trên phần cứng FPGA. Đánh giá và so sánh kết quả.--- 2-2 + + E+EE+EE+EE+EE+EEEEE+EEzErrerrerree 74 Chương 6.
KẾT LUẬN VÀ HƯỚNG PHAT TRIỀN. Hướng phát triển.------¿--2¿-++2++2E+tEEEEEEEEEEEEEESrkrrrkrrrrrrrree PHU LUC: THÊM LENH TÙY CHỈNH VÀO TRÌNH BIEN DỊCH GCC CUA DANH MỤC HÌNH Hình 3.1: Các dạng lệnh của kiến trúc RISC-V.-¿- + c x+k+xEt+EeEEESEeEkrxsrerxrkrrx 9 Hình 3.2: Dạng lệnh I của các phép dịch ĐI(.- - --«- < + + **+kE+seeEseeeeeeeeesees 10 Hinh 68080 ¡gi i00017.4: Dinh dạng lệnh JJAAÌ.5: Dinh dạng lệnh JALR .6: Dinh dạng các lệnh Branch. ee esceeseeseeecceseeeeeeseeeseeseeeeeeeeeseeeeeeseeeees 12 Hình 3.7: Dinh dạng lệnh Load/Store .8: Quá trình mã hóa của giải thuật ASCON. St ssseireirerres 14 Hình 3.9: Mang 2 chiều biểu diễn trạng thái mật mã GIFT64.10: Lớp thay Sub(C@ÏÏS.
- <5 + 1s 1 E0 9v ng ng 15 Hình 3.11: Cau hình Slice của PermBiits.-------¿- 5 5c ©522+2xz+xerxerxeerxerxee 15 Hình 3.12: Sơ đồ khối hệ thống giao tiếp giữa Main CPU và RISC-V Co-Processor ¬.13: Interface giữa BUS 1 (Master) va BUS 0 (Slave).14: Các kênh ghi va đọc của AXI oo. ¿óc E3 1E 210118211 83111 911 9111 911 91 1 ng ng 25 Hình 3.17: Khả năng xử lý song song 2 luồng dit liệu của ALU ghép đôi.18: Khối tính toán ROUND ASCON.1: Tổng quan kiến trúc RISC-V €Ore.2: Mô hình FSM của khối controller.----- 5: s¿©s+2+2x++s++zx+zx+zzxezsez 32 Hình 4.3: Mô tả chi tiết kiến trúc pipeline 5 tang của bộ đồng xử lý RISC-V.4: Thanh ghi Program COUTIV€T. 5 5 119108391 E911 19 11 9x vn ke 34 Hình 4. <5 5 E2 11113308911 910 9101 9v vn ng ệc 35 Hinh 4.- eee 11 E1 93 1 TH TH HH41 Hình 4.10: Data Memory chỉ lưu các word 64 DI(.- -- 6-5 ssesersersree 43 Hinh in i0i.13: Load Store doc 1 byte từ Data MemOrV.14: Khối ALU ghép đôi 32 bit.---- 2-2 22£+S£+E£+EE+E£EE+EzEezrerrerreee 46 Hình 4.15: Data Memory ghép đồÔI .16: Quá trình thiết kế các lệnh tùy chỉnh .17: Khối chức năng tùy chỉnh ASCON ROUND.18: Hiện thực phần cứng FPGA của thiết kế .19: Quá trình trao đổi dit liệu của bộ đồng xử lý.20: Tổng quan thiết kế Block Design.21:Phân cấp thiết kế của CGRA IP.22: AXI SmartConnect trên Block Design.- 5555 <++£+sc£+ee+sx 63 Hình 4.23: Zynq UltraScale+ trên Block DDesIgn.-- -««++ss£++sex++eexeeereeess 64 Hình 4.24: System ILA trên Block Design.-- 5 5+ *++vE+seeeeeseeeresees 64 Hình 4.25: Hệ thống truyền tín hiệu cho ILA dé giám sát.1: Kịch bản kiểm chứng kết qua mô phỏng và phần cứng thực tế.2: Các dữ liệu đầu vào cho giải thuật GIFT-COFB.3: Hàm main của GIE T-COIFB.
- óc 1E 91v ng ngư 70 Hình 5.4: Kết quả mã hóa của giải thuật được in ra.----- 2-2 s+ss+cz+ce+szxzxs 70 Hình 5.5: Script biên dich mã nguồn C cho giải thuật.6: Mô phỏng giải thuật GIFT-COFB và đọc ra kết qua mã hóa.7: Xử lý dữ liệu đầu vào.-----¿- 2+ +2+++Ek£EE2EEEEE 2122121211211.8: Truyền dữ liệu cho CGRA IP và các tín hiệu điều khiến .9: Đợi tín hiệu Finish .10: Kết quả được in ra màn hình.-- 2-2 +++++++zx++zx+zzxezxxrseeex 74 Hình 5.11: Biéu đồ so sánh hiệu năng của ARM A53 và bộ đồng xử lý RISC-V.12: Clock summary và Timing Summary của thiết kế .----- 5: 78 DANH MỤC BANG Bảng 3.1: Tập thanh ghi của kiến trúc RISC-V.2: Hiệu quả khi thêm lệnh tùy chỉnh.1: Các tín hiệu của tổng thể thiết kế .2: Các tín hiệu của khối Controller.----2- 2: +2©s++x++£x++zx+zzxzzxezzxez 32 Bảng 4.3: Các tín hiệu của thanh ghi PC.4: Các tín hiệu của khối Instruction MemOry.----- 2-2 2+sz+sz25e2s++‡ 35 Bảng 4.5: Các tín hiệu của khối Instruction Decođer.----- 2-2 22sz+sz+sz+ss 36 Bảng 4.6: Các tín hiệu của khối Register File.-- 2-52 5++cx+2zx2zxrzrxerrsee 37 Bang 4.7: Các phép so sánh của Branch COnIrOÏ.8: Các tín hiệu của khối ALU.---- 2 2£ ©5£+££££E+£E2EEtEE+Eerxerxerrrerxee 39 Bang 4.9: Các phép tính cơ bản của khối ALU .10: Các tín hiệu của Data MeImOry.-- + eee *S2* 2< £*EskEsereerserreree 42 Bảng 4.11: Các lệnh store và load được hỗ trỢ.---- +5 + 2s +£+£+££££zx+xzzxzxers 42 Bang 4.12: Các tín hiệu của khối Store Control.13: Tín hiệu khối Load ContrOl.---2- 2: 2 5£ £+E£+E£2E£EE£EE+E+zEzEezzeee 45 Bang 5.1: Kết quả thông lượng từng giải thuật.2: Hiệu năng giải thuật ASCON khi so với những nghiên cứu khác .3: Kết quả hiện thực phần cứng trên ZCU102.--¿--¿-5¿©cs+25sz255+2 76 Bảng P.1: Các cú pháp dé mô tả dịnh dang lệnh tùy chỉnh.2: Các trường MATCH và MASK cho sigmaQ.3: Các trường MATCH va MASK cho sigmaÔ.4: Mô tả lệnh sigmaO trong TISCV-ODC.5: Chèn lệnh tùy chỉnh vào mã nguồn C của thiết kế.6: hai lệnh sigma0 và sigmal đã được biên dịch thành công.7: Các lệnh tùy chỉnh được thêm vào khối Crypto ALU .-- 85 DANH MỤC TU VIET TAT RISC-V Reduced Instruction Set Computer Five ALU Arithmetic Logic Unit AES Advanced Encryption Standard SHA Secure Hashing Algorithm IP Intellectual Property ARM Advanced RISC Machines DMA Direct Memory Access PIO Peripheral Input / Output AXI Advanced eXtensible Interface FPGA Field Programmable Gate Array RTL Register Transfer Level IOT Internet of Things LWC Lightweight Cryptography ISA Instruction Set Architecture RFID Radio Frequency Identification CPU Central Processing Unit SOC System on Chip NIST National Institute of Standards and Technology SPN Substitution-Permutation Network PL Programmable Logic PS Processing System TÓM TẮT KHÓA LUẬN Khóa luận này trình bày quá trình thiết kế và hiện thực bộ đồng xử lý mật mã dựa trên kiến trúc RISC-V với thông lượng cao, nhằm phục vụ cho các ứng dụng mật mã nhẹ. Mục tiêu chính của đề tài là phát triển một bộ đồng xử lý có khả năng thực thi hiệu qua các giải thuật mật mã học nhẹ như ASCON, GIFT-COFB, ISAP, SPARKLE và TINY JAMBU. Dé đạt được mục tiêu này, nhiều cải tiến đã được thực hiện, bao gồm việc tích hợp các lệnh tùy chỉnh và khối ALU ghép đôi nhằm tăng cường khả năng xử lý song song và khối tùy chỉnh chức năng cho hàm Round của họ giải thuật ASCON. Ngoài ra, giao thức AXI được sử dụng để truyền dữ liệu giữa bộ đồng xử lý và hệ thống chính.
Thiết kế đã được mô phỏng và kiểm chứng trên phần cứng FPGA, cho thấy hiệu năng tốt hơn so với các giải pháp hiện có. Kết quả thực nghiệm và đánh giá cho thấy bộ đồng xử lý RISC-V này đáp ứng được các yêu cầu về hiệu suât và hiệu quả trong các ứng dụng mật mã nhẹ. Lý do chọn đề tài Trong bối cảnh phát triển nhanh chóng của Internet of Things (IoT), các thiết bị kết nối ngảy càng trở nên phổ biến và đa dạng (bao gồm các cảm biến nhiệt độ, độ am, các máy nhận dạng khuôn mặt, micro ghi lại giọng nói). Tuy nhiên, một vấn đề nổi cộm là bảo mật của các hệ thống và thiết bị oT thường không đủ mạnh, dễ dàng trở thành mục tiêu của các cuộc tấn công mạng và đánh cắp dữ liệu.
Nguyên nhân chủ yếu nằm ở sự hạn chế về tài nguyên phần cứng, tốc độ xử lý tính toán kém và yêu cầu năng lượng thấp của các thiết bị này. Các bộ vi xử lý trong các thiết bị IoT thường không đủ mạnh để triển khai các giải thuật mật mã mạnh mẽ, dẫn đến việc sử dụng các giải pháp bảo mật đơn giản và dé bị tắn công. Điều này tạo ra một lỗ hồng bảo mật nghiêm trọng, khiến các thiết bị loT dé bị xâm nhập va dữ liệu nhạy cảm bi đánh cắp. Vì vậy cần có những giải pháp tối ưu phần cứng cho các hệ thống IoT này, tăng cường khả năng xử lý của chúng cho các giải thuật mật mã học.
Các giải thuật mật mã học nhẹ (lightweight cryptography) được thiết kế đặc biệt để hoạt động hiệu quả trên các thiết bị có tài nguyên hạn chế, như các thiết bị IoT. Những giải thuật này tiêu tốn ít sức mạnh tính toán và năng lượng hơn so với các giải thuật mật mã truyền thống, nhưng vẫn đảm bảo mức độ bảo mật đủ dé bảo vệ dữ liệu nhạy cảm. Điều này làm cho chúng trở thành giải pháp lý tưởng cho các thiết bị IoT, giúp cân bằng giữa hiệu suất, bảo mật và tiêu thụ năng lượng. Bằng cách sử dụng các giải thuật mật mã học nhẹ, chúng ta có thể tăng cường bảo mật cho các thiết bị loT mà không gây ra gánh nặng quá lớn về tài nguyên phần cứng hoặc năng lượng.
Kiến trúc RISC-V được chọn để thiết kế bộ đồng xử lý tăng tốc các giải thuật mật mã học nhẹ nhờ vào tính mở, linh hoạt và khả năng tùy chỉnh cao. RISC-V là một kiến trúc mã nguồn mở, cho phép các nhà thiết kế dé dàng mở rộng và tối ưu hóa cho các ứng dụng cụ thể như mật mã học nhẹ.