1. Trang chủ
  2. » Luận Văn - Báo Cáo

Khóa luận tốt nghiệp Kỹ thuật máy tính: Thiết kế bộ đồng xử lý mật mã dựa trên RISC-V thông lượng cao dành cho Lightweight Cryptography

100 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết Kế Bộ Đồng Xử Lý Mật Mã Dựa Trên RISC-V Thông Lượng Cao Dành Cho Lightweight Cryptography
Tác giả Nguyễn Ngọc Hưng
Người hướng dẫn TS. Lâm Đức Khải, TS. Phạm Hoài Luân
Trường học Đại Học Quốc Gia TP. Hồ Chí Minh
Chuyên ngành Kỹ Thuật Máy Tính
Thể loại Khóa Luận Tốt Nghiệp
Năm xuất bản 2024
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 100
Dung lượng 32,98 MB

Nội dung

TÓM TẮT KHÓA LUẬNKhó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ựatrê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ẹ.. Kết

Trang 1

ĐẠI HOC QUOC GIA TP HO CHÍ MINH

TRUONG DAI HOC CONG NGHE THONG TIN

KHOA KY THUAT MAY TINH

NGUYEN NGOC HUNG - 20521369

KHOA LUAN TOT NGHIEP

LIGHTWEIGHT CRYPTOGRAPHY

DESIGN HIGH-THROUGHPUT RISC-V BASED CRYPTOGRAPHIC CO-PROCESSOR FOR LIGHTWEIGHT

CRYPTOGRAPHY

CU NHAN NGANH KY THUAT MAY TINH

GIANG VIEN HUONG DAN

TS LAM DUC KHAI

TS PHAM HOÀI LUAN

TP HO CHÍ MINH, 2024

Trang 2

LỜI CẢM ƠN

Lời đầu tiên em xin gửi lời cảm ơn chân thành đến toàn thé quý thầy côtrường Đại hoc Công Nghệ Thông Tin — Dai học Quốc gia TP.Hồ Chí Minh, đặcbiệt là quý thầy cô khoa Kỹ Thuật Máy Tính đã tạo điều kiện cho em được họctập và thực hành với nhiều kiến thức, kinh nghiệm trong suốt thời gian học tập

Bên cạnh đó, nhóm xin gửi lời cảm ơn sâu sắc tới thầy Phạm Hoài Luân

và thay Lâm Đức Khai đã dẫn dắt và đưa ra các định hướng đúng đắn cho nghiêncứu, cung cấp các trang thiết bị cũng như dành nhiều thời gian để góp ý và chỉnhsửa để nhóm có thê hoàn thành khóa luận một cách tốt đẹp

Trong quá trình thực hiện khóa luận tốt nghiệp này, nhóm em không thể tránh khỏi những khó khăn và cả những sai sót do những giới hạn liên quan đến

chuyên ngành đặc thù Vì vậy, nhóm em mong các quý Thầy/Cô thông cảm vàđóng góp ý kiến đề đề tài khóa luận này được phát triển và hoàn thiện hơn trong

tương lai.

Một lần nữa nhóm em xin chân thành cảm ơn

TP.Hồ Chí Minh, ngày 26 tháng 6 năm 2024

Sinh Viên Thực Hiện

NGUYÊN NGỌC HƯNG

Trang 3

MỤC LỤCChương I GIỚI THIỆU 2- 2< E+SEEE+EE+EE+EE+EE+EEEEEEEEEErErkerrerree 2

1.1 Lý do chọn đề tài - 2-5 tk EEEE 2 E2E1211211211211 2112112111121 xe 21.2 Mục tiêu đề tài 2k 2k2 E222 2221211121211 2112111111 eerrree 3c0 n 35 41.4 _ Đối tượng nghiên CỨU - ¿2 <+S<+SE+EE+EE+EEEEEEEEEEEEEEEEEEEEEEEErkrrrrrree 4Chương 2 TONG QUAN ¿5252 2522E2EE2E12112112112112112112112121 21 cxe 5

Chương 3 CƠ SỞ LÝ THUYÉTT 2: 2£ £+SE+EE2EE£EEEEEEEEEEEEEEEEEEerkrrrkrree 7

3.1 _ Giới thiệu kiến trúc tập lệnh RISC-V ¿- 2 ¿+ +£x+£EzEerxrrreerxees 7

3.1.1 _ Tổng quan kiến trúc RISC-V -¿ ¿©-+++c++crxvrreerreerreees 73.1.2 Các tập lệnh của kiến trúc RISC-V ¿- + ccx+E+keEeEerkerkererkerkee 93.1.3 Cac phép tính số nguyên - 2+ <+E+x+EE£EEEEESEkrrkerrerrkrree 103.1.4 _ Các lệnh điều khiến -¿- + + ©5++c++ExvEevrxerxerreerkrree lãi3.1.5 _ Các lệnh trích xuất/ lưu trữ dit liệu -2¿2-ss++++zx+s 123.2 Gai thuật mật mã học nhẹ - - ¿-+ <1 13 3*+222EE++SSeeeeeeeezeseree 13

3.2.1 Khái niệm -22EC2Ek 2 E2 1 21121102111 cEkrree 13 3.2.2 ASCON 22221220 22222212111 eeeree 13 3.2.3 GIFT-COFB 5c22k2 k2 E2221021122110711 221211 cre 14 3.2.4 ISAP Q.1 ey 16 3.2.5 SPARKLE o.ccccscssscsssessssssesssesssecssesssesssessucssscssecssesssecssecssessseeseseseseseeens 16 3.2.6 TINY JAMBU woneecessessscsssesssesssesssesssesssssssessscssecssecssecssecssessseesesesesesesens 16

3.2.8 ROMUIUS occ cccccccccceseseessssseceeeeeeececceseseeesssssseeeeeeeeceeeceeeeeseetaeea 17

3.2.9 Grainl28-AEAD - cc x22 1221221121121 21 1c re 18

Trang 4

3.3 Bộ Đồng Xử Lý :- St St St EEE11011211111211211211211 111cc 183.4 Giao thức AXI được dùng dé truyền dữ liệu cho bộ đồng xử lý RISC-V 19

3.4.1 Khái niệm - G «kh HH TH TH ng nh HH 19 3.4.2 _ Quy định cv HH HH TH TH ng ngư 203.4.3 Cấu trúc phân kênh của AXI - ¿2 52+2z+£Et£E+EEerkerrxrrkeres 213.4.4 Transaction OC ccccccccccccsssssccccesssceccesssssecccesssseeeccesseeeeeeesseeeeeeeees 23

3.4.5 Tramsaction ghhl <4 kg ngư 243.5 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.5.1 Custom instruction - Các lệnh mở rỘng -«+++s«++ss+++s+ 25

3.5.2 Khối ALU ghép đôi xử lý song song 2 lệnh 32-bits - 26

3.5.3 Khối chức năng tùy chỉnh (ASCON ROUND UNIT) 27Chương 4 THIẾT KE, CẢI TIEN VA HIỆN THỰC BO DONG XỬ LÝ RISC-V

304.1 Chi tiết thiết kế bộ đồng xử lý RISC-V ¿ 2¿©-+++cx+czs+rxesrseees 30

4.1.1 _ Thiết kế tong quát -¿- +¿©c++E++EEt2EEEEtEEtEkerkerreerkrree 304.1.2 Thiết kế bộ đồng xử lý chỉ tiẾt -¿- 2 5¿252+cEc£E+Eerxerrsrrxrres 33

4.1.2.1 Khối Program COunIer - 2 2+++++c++E++E+Ezxzreee 334.1.2.2 _ Khối Instruction Memory 2-2 2 2+ 22+ £+£+E+zzzxeez 354.1.2.3 Khối giải mã lệnh : Controller Unit (Instruction Decode) 354.1.2.4 Register File HH TH TH HH key 364.1.2.5 Branch Control : Khối xử lý điều kiện cho các lệnh rẽ nhánh 384.1.2.6 Khối ALU -+-c+E++ESEEEEEEEEEEEEEErrrrrrrrrrreee 394.1.2.7 Khối Data Memory - 2 2+++++E++E++E2EE+EzErrrrrerreee 41

Trang 5

4.1.2.8 Khối Load Control và khối Store Control - -=s=szszs+sz 42

4.2 _ Các cải tiến dành cho bộ đồng xử lý RISC-V -¿ -z©5+c5ze- 46

4.2.1 DUAL~-ALU - khối ALU ghép đôi - 2-2 2+sz+c+szxzez 46

4.2.2 Crypto ALU - khối ALU cho các lệnh tùy chỉnh mật mã học 48

4.2.2.1 _ Lệnh tùy chỉnh cho SparkÌe - + +s*+t£svxsereererrrereeres 49 4.2.2.2 _ Lệnh tùy chỉnh cho GIFT-COBB - 5255 sssssseeees 51 4.2.2.3 Lénh tùy chỉnh cho giải thuật ISAP 55c c+ccsccseres 53 4.2.2.4 _ Lệnh tùy chỉnh cho giải thuật Tiny Jambu - 54

4.2.2.5 _ Lệnh tùy chỉnh cho Photon .ccccceessesseeseeeneceeeeeeeeeeseeeeeeeeaees 56 4.2.2.6 _ Lệnh tùy chỉnh cho giải thuật Romulus - - «- «+ 57

4.2.3 Khối chức năng tùy chỉnh - ASCON ROUND -2- 5-52 58 4.3 Hién thực trên phần cứng FPGA wo ecceseescsseessssessessessessesesesessessesessesees 59 4.3.1 Hệ thống tổng quat cecccccecccscssessesssssessessessessessesessesessesssssssssseeseees 59 4.3.2 _ Hiện thực Block Design trên kit Zynq UltraScale+ MPSoC ZCU102 62 4.3.2.1 Bộ đồng xử lý RISC-V được đóng gói thành CGRA IP 62

4.3.2.2 _ Các IP của Xilinx được dùng dé thiết kế Block Design 63

4.3.3 Khối phân tích logic tích hợp (Integrated Logic Analyzer) 65

Chương 5 MÔ PHONG, KIEM CHUNG VA ĐÁNH GIA KET QUẢ 67

5.1 Kich bản kiểm chứng kết quả mã hóa 2-2 2 22+ £+£z+£zzz+se2 67 5.2 Mô phỏng và kiểm chứng kết quả trên phần mềm Vivado - 69

5.3 Kiểm chứng kết quả sau khi hiện thực trên phần cứng FPGA 72

5.4 Đá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 -. ¿¿©+¿ 79

Trang 6

6.1 Kếtluận chư6.2 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

Trang 7

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 9Hì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 10

Hình 3.4: Dinh dạng lệnh JJAAÌ - - G22 E3 E231 391 1331 13111111 11x vn rưy lãi Hình 3.5: Dinh dạng lệnh JALR - G2 32211121113 1181111111111 ket 11 Hình 3.6: Dinh dạng các lệnh Branch ee esceeseeseeecceseeeeeeseeeseeseeeeeeeeeseeeeeeseeeees 12

Hình 3.7: Dinh dạng lệnh Load/Store - G6 S191 91119 111911 9 1v ng 12 Hình 3.8: Quá trình mã hóa của giải thuật ASCON St ssseireirerres 14Hình 3.9: Mang 2 chiều biểu diễn trạng thái mật mã GIFT64 : 14Hình 3.10: Lớp thay Sub(C@ÏÏS - <5 + 1s 1 E0 9v ng ng 15Hì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

¬ đ£“ € “6 Số ẽố hố 19

Hình 3.13: Interface giữa BUS 1 (Master) va BUS 0 (Slave) -«++ 21 Hình 3.14: Các kênh ghi va đọc của AXI oo ceceecccsceseesseceseeeseeeeseeeeeeeeaeeeseeenaeeaes 22 Hình 3.15: Transaction đỌC - c2 1 1111162211 11111 931111111921 111g ve 24 Hình 3.16: Transaction øØÏ1 - - ¿ó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 27

Hình 3.18: Khối tính toán ROUND ASCON 2-52 25222Ecctccverkerrrrrrervee 29Hình 4.1: Tổng quan kiến trúc RISC-V €Ore 2-2 2 22+ ++E++E++E++E+zxzzreee 30Hình 4.2: Mô hình FSM của khối controller - 5: s¿©s+2+2x++s++zx+zx+zzxezsez 32Hình 4.3: Mô tả chi tiết kiến trúc pipeline 5 tang của bộ đồng xử lý RISC-V 33Hình 4.4: Thanh ghi Program COUTIV€T 5 5 119108391 E911 19 11 9x vn ke 34 Hình 4.5: Instruction IDeCO(€T <5 5 E2 11113308911 910 9101 9v vn ng ệc 35

Hinh 4.6: Register File 0n e 37 Hinh 0 g8) (000000 38 Hinh 4.8: ALU 0 .15 39

Hình 4.9: Data Memory - eee 11 E1 93 1 TH TH HH41

Trang 8

Hình 4.10: Data Memory chỉ lưu các word 64 DI( - 6-5 ssesersersree 43

Hinh V280 000i 0n e 45

Hình 4.13: Load Store doc 1 byte từ Data MemOrV - 55+ sssseseerserres 46

Hình 4.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 - - c6 2c S112 E S13 1 91111 11 ngư47

Hình 4.16: Quá trình thiết kế các lệnh tùy chỉnh ssesccsseeeeessseeessseeeesneeeesneeesees 48Hình 4.17: Khối chức năng tùy chỉnh ASCON ROUND 2- 2 2 z+cz+s+ 58Hình 4.18: Hiện thực phần cứng FPGA của thiết kế ¿2 s+25+2sscse2 60Hình 4.19: Quá trình trao đổi dit liệu của bộ đồng xử lý -z s52 61

Hình 4.20: Tổng quan thiết kế Block Design 2-2 25s s2++£++£+zxzzzzzzzez 62

Hình 4.21:Phân cấp thiết kế của CGRA IP - ¿2 5£ ©522£E+£E£+EvExerxerrxervee 63Hình 4.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 64Hình 4.25: Hệ thống truyền tín hiệu cho ILA dé giám sát - 2-22 5¿: 66Hình 5.1: Kịch bản kiểm chứng kết qua mô phỏng và phần cứng thực tế 68Hình 5.2: Các dữ liệu đầu vào cho giải thuật GIFT-COFB -«<+<<<s++ 69Hình 5.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 -2- 2 5255225525522 71Hình 5.6: Mô phỏng giải thuật GIFT-COFB và đọc ra kết qua mã hóa 72Hình 5.7: Xử lý dữ liệu đầu vào -¿- 2+ +2+++Ek£EE2EEEEE 2122121211211 re 72Hình 5.8: Truyền dữ liệu cho CGRA IP và các tín hiệu điều khiến 73Hình 5.9: Đợi tín hiệu Finish - << 3332211111113 2311111135111 1 1185111 re 73Hình 5.10: Kết quả được in ra màn hình 2-2 +++++++zx++zx+zzxezxxrseeex 74Hình 5.11: Biéu đồ so sánh hiệu năng của ARM A53 và bộ đồng xử lý RISC-V 74Hình 5.12: Clock summary và Timing Summary của thiết kế - 5: 78

Trang 9

DANH MỤC BANG

Bảng 3.1: Tập thanh ghi của kiến trúc RISC-V 2 2 2+z+E++E+EerErErrrrrreee 8Bảng 3.2: Hiệu quả khi thêm lệnh tùy chỉnh .- 55+ + + ++skEsseeeeeessees 26Bảng 4.1: Các tín hiệu của tổng thể thiết kế - 2-22 5225¿2c+++xtzzxecxeerseees 30Bảng 4.2: Các tín hiệu của khối Controller 2- 2: +2©s++x++£x++zx+zzxzzxezzxez 32Bảng 4.3: Các tín hiệu của thanh ghi PC - 2 + 3+ E3 E*vESeeereeeerreerreere 34

Bang 4.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 37Bang 4.7: Các phép so sánh của Branch COnIrỌ 5 << 55+ << £+£+seserezees 38Bảng 4.8: Các tín hiệu của khối ALU 2 2£ ©5£+££££E+£E2EEtEE+Eerxerxerrrerxee 39Bang 4.9: Các phép tính cơ bản của khối ALU 2-2 2 252222222222 40Bang 4.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 - 2-2 2 2 £+££+££+££+se2 ++š 44Bang 4.13: Tín hiệu khối Load ContrOl -2- 2: 2 5£ £+E£+E£2E£EE£EE+E+zEzEezzeee 45Bang 5.1: Kết quả thơng lượng từng giải thuật - 2-52 2 22S£+££2£22£2£zzzzez 75Bảng 5.2: Hiệu năng giải thuật ASCON khi so với những nghiên cứu khác 76Bảng 5.3: Kết quả hiện thực phần cứng trên ZCU102 ¿ ¿-5¿©cs+25sz255+2 76Bảng P.1: Các cú pháp dé mơ tả dịnh dang lệnh tùy chỉnh 2-2-5: 82Bảng P.2: Các trường MATCH và MASK cho sigmaQ - << s++sesssss 82 Bảng P.3: Các trường MATCH va MASK cho sigmaƠ - << ++<c++scsssss 82

Bảng P.4: Mơ tả lệnh sigmaO trong TISCV-ODC.C 5 5 5+ ** + vserseeerse 83

Bảng P.5: Chèn lệnh tùy chỉnh vào mã nguồn C của thiết kế - 2: 83

Bảng P.6: hai lệnh sigma0 và sigmal đã được biên dịch thành cơng 84Bảng P.7: Các lệnh tùy chỉnh được thêm vào khối Crypto ALU -. 85

Trang 10

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

Trang 11

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ựatrê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 thihiệ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, baogồ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ậtASCON 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ứngFPGA, 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ẹ.

Trang 12

Chương 1 GIỚI THIEU

1.1 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àngtrở 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ânchủ 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ị IoTthườ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ồngbả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ế đặcbiệ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ácthiế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ácthiế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ănglượ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ậtmậ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ẹ Hơn nữa, RISC-V hỗ trợ một loạt các

tùy chọn phân cứng và phân mêm, giúp tôi ưu hóa hiệu suât và giảm tiêu thụ năng

Trang 13

lượng Khả năng tích hợp dé dàng với các khối phần cứng tùy chỉnh giúp tăng cườngbảo mật mà không làm tăng đáng kế chi phí hoặc phức tạp hóa thiết kế.

FPGA (Field-Programmable Gate Array) là một lựa chọn lý tưởng cho việctriển khai và thử nghiệm bộ đồng xử lý RISC-V cho các giải thuật mật mã học nhẹ.FPGA cho phép thiết kế và điều chỉnh phần cứng một cách linh hoạt và nhanh chóng,giúp giảm thời gian phát triển và tối ưu hóa hiệu năng hệ thống Khả năng tái cấu

hình của FPGA cho phép điều chỉnh kiến trúc để đạt được hiệu suất tối ưu cho các

giải thuật mật mã, đồng thời đảm bảo mức tiêu thụ năng lượng thấp Thêm vào đó,

việc sử dụng FPGA giúp giảm chỉ phí và rủi ro so với việc sản xuất ASIC, làm cho

nó trở thành công cụ mạnh mẽ cho nghiên cứu và phát triên đê tài.

1.2 Mục tiêu đề tài

Một trong những mục tiêu chính của đề tài là cải tiến khối Arithmetic LogicUnit (ALU) của bộ xử lý RISC-V đề có thé xử lý song song hai phép tính 32-bit Việcnày nhằm tăng gấp đôi thông lượng xử lý, giúp nâng cao hiệu suất xử lý chung của

bộ vi xử lý, đặc biệt là khi thực hiện các phép toán liên quan đến mật mã học nhẹ.Bằng cách này, bộ xử lý có thê thực hiện nhiều phép tính cùng lúc, giảm thời gian xử

lý và tăng khả năng đáp ứng của hệ thống

Mục tiêu thứ hai là tích hợp vào bộ xử lý một khối ALU chuyên biệt dành cho

các phép tính mật mã Khối ALU này sẽ chỉ thực hiện các phép toán đặc trưng cho

từng giải thuật mật mã học trên bit, như XOR, AND, OR, và các phép toán dịchchuyền bit Điều này cho phép tối ưu hóa hiệu suất của các giải thuật mật mã học nhẹ,khi mà các phép toán này thường chiếm phần lớn thời gian xử lý

Một mục tiêu quan trọng khác là thêm vào bộ xử lý RISC-V một khối xử lychức năng chuyên biệt dé xử ly toàn bộ các phép hoán vi của ho giải thuật ASCON.ASCON là một trong những giải thuật mật mã học nhẹ được thiết kế cho các thiết bị

có tài nguyên hạn chế Khối xử lý này sẽ giúp tối ưu hóa và tăng tốc độ thực hiện cácphép hoán vị quan trọng trong ASCON, từ đó cải thiện hiệu suất tổng thể của các ứngdụng sử dụng giải thuật này.

Trang 14

Mục tiêu tiếp theo của dé tai là hiện thực hóa thiết kế trên kit Zynq UltraScale+MPSoC ZCU102 Kit ZCU102 là một nền tảng mạnh mẽ và linh hoạt, cho phép triểnkhai và kiểm chứng các cải tiến của bộ xử lý RISC-V trong môi trường thực tế Việchiện thực trên kit này không chỉ giúp kiểm tra và đánh giá hiệu suất của các cải tiếnmột cách trực quan và chính xác, mà còn chứng minh tính khả thi của thiết kế trong

các ứng dụng thực tiễn.

Cuối củng, đề tài sẽ chứng minh được độ hiệu quả của các cải tiễn bằng cách

so sánh kết quả xử lý trước và sau khi tích hợp các thay đổi Điều này sẽ được thựchiện bang cách do lường các chi số hiệu suất như thời gian xử lý, thông lượng, và tiêuthụ năng lượng, chu kỳ thực Qua đó, đề tài sẽ đưa ra được những bằng chứng cụ thể

về hiệu quả của các cải tiến đối với bộ xử lý RISC-V khi thực hiện các giải thuật mật

mã học nhẹ.

1.3 Giới hạn đề tài

Bộ đồng xử lý sẽ hoạt động ở tốc độ clock có tần số là 250MHz Đề tài sẽ hỗtrợ 5 giải thuật mật mã học nhẹ bao gom: GIFT-COFB, ASCON, ISAP, SPARKLE,Tiny Jambu và 2 giải thuật mật mã học khác là SHA256 va AES Bộ đồng xử lý sẽchỉ hỗ trợ tập lệnh RV32-I và RV64-I là hai tập lệnh liên quan tới số nguyên, đồngnghĩa với việc bộ đồng xử lý sẽ không hỗ trợ tính toán các phép tính dau cham

động, các phép tính nhân, chia và chia lấy dư Đề tài sẽ tập trung vào việc thiết kế

phân cứng cho bộ đông xử lý và áp dụng các cải tiên.

1.4 Đối tượng nghiên cứu

- Thiết kế phần cứng cho các giải thuật mật mã học nhẹ và các thuật toán mật mãkhác.

- Bộ đồng xử lý dựa trên kiến trúc tập lệnh RISC-V (RV32-I và RV64-D.

- Hệ thống sẽ hoạt động trên kit Zynq UltraScale+ MPSoC ZCU102

Trang 15

Chuong 2 TONG QUAN

Nam 2020, Stefan Steinegger va Robert Primas đã công bố nghiên cứu [1] vềmột bộ xử ly RISC-V mà trong đó khối ASCON-p (khối nhân tính toán hoán vị vàcũng là khối tính toán chính của gia đình giải thuật ASCON) được gan liền với khốiRegister File Khối ASCON-p này đã giúp tăng tốc độ xử lý cho các giải thuật họASCON lên tới 50 lần so với khi chưa tích hợp khối ASCON-p [1] Cùng với đó việcgan lién khối ASCON-p với tập thanh ghi Register File giúp loại bỏ thời gian truyxuất bộ nhớ, khi giờ đây Register File đã trực tiếp truyền 320-bit trạng thái mật mãcho khối ASCON-p này [1]

Cùng năm 2020, Fabio Campos cùng các cộng sự đã công bố nghiên cứu [4]với mục tiêu so sánh việc triển khai và tối ưu ngôn ngữ Assembly và ngôn ngữ Cđược tối ưu hóa trên thuật toán mật mã học nhẹ trên kiến trúc RISC-V, cùng với đó

là tận dụng khả năng tối ưu trình biên dịch đề cải thiện hiệu suất và tối ưu bộ nhớ

Bài nghiên cứu sử dụng bo mạch cõ sẵn bộ xử lý RISC-V hỗ trợ bộ lệnh RV32IMAC,

tên là HiFivel của SiFive Nghiên cứu chỉ tập trung về mặt triển khai về mặt phầnmềm và thực hiện đo đạc, mô phỏng và không đưa ra các cải tiến cụ thé về mặt phầncứng cụ thê.

Vào năm 2023, Hao Cheng cùng các cộng sự đã công bố một nghiên cứu [5]

về thử nghiệm tốc độ của các giải thuật mật mã học nhẹ từ dự án chuẩn hóa mật mãnhẹ của NIST (NIST-LWC) trên bộ xử lý RISC-V Nghiên cứu đưa ra các thửnghiệm khi áp dụng phần mở rộng “Bit Manipulation Extension” (Zbkb và Zbkx) củakiến trúc RISC-V (một phần tập lệnh mở rộng cho các phép tính mật mã học), thêmcác lệnh mở rộng của các giải thuật Tuy chu kỳ thực thi của các giải thuật đã cónhững cải thiện khi giảm được từ 1.4 đến — 270 lần tổng số chu kỳ so với trước khi

áp dụng các cải tiến Tuy nhiên, nghiên cứu nhấn mạnh việc các giải thuật được tối

ưu theo hướng phần mềm (như các giải thuật Elephant, PHOTON, Romulus) có hiệunăng tốt hơn các giải thuật được tối ưu theo hướng phần cứng (như ASCON,

Trang 16

SPARKLE, XOODYAK) [5] Như vậy việc ứng dụng cho các thiết bị có giới hạn vềphần cứng vẫn chưa được đặt làm trọng tâm.

Trang 17

Chương 3 CƠ SỞ LÝ THUYET

3.1 Giới thiệu kiến trúc tập lệnh RISC-V

3.1.1 Tổng quan kiến trúc RISC-V

Trong chương này, kiến trúc pipeline 5 tầng của RISC-V và kiến trúc cơ bảnRV32-I và RV64-I sẽ được mô tả Kiến trúc RISC-V là một loại ISA mở, áp dụngcác nguyên lý thiết kế của RISC (tương tự với MIPS) mà bất kỳ cơ sở nghiên cứuhoặc doanh nghiệp nào cũng có thé triển khai, sửa đổi cũng như mở rộng mà không

yêu cầu giấy phép hay yêu cầu phí bản quyền (khác biệt so với MIPS, ARM và x86)

Một nguyên tắc cốt lõi của ISA là tính mô-đun: một ISA cơ bản dùng cho mục đích

chung có thé được bổ sung bằng một tập hợp các phần mở rộng chuyên dụng, chuẩn

hoặc không chuẩn (tức là tùy chỉnh) Những tính năng này kết hợp với một cộngđồng xung quanh sẵn sàng hỗ trợ và sự có sẵn của cơ sở hạ tầng hỗ trợ như chuỗicông cụ biên dich, có da dang nhiều phiên bản RISC-V tôn tại (thường là mã nguồnmở) làm cho kiến trúc tập lệnh RISC-V trở nên ngày càng càng phổ biến trong cácnghiên cứu và doanh nghiệp.

Trong phạm vi của khóa luận này, nhóm sé tập trung vào ISA căn ban 32-bit

có tên RV32GC và ISA căn ban 64-bit có tên RV64GC Trong RV32GC, kiến trúc

sử dụng tập 32 thanh ghi với mỗi thanh ghi có độ rộng là 32 bit Bảng 3.1 sau sẽ

phân loại, mô tả vai trò của từng nhóm thanh ghi

Dé dễ sử dụng, các thanh ghi cũng có tên gọi khác zero (x0) được kết nối cứngvới gia trị 0; ra (x1) tương ứng với địa chi trả về; sp (x2) tới con trỏ ngăn xếp; gp (x3)tới con trỏ toàn cục; tp (x4) tới con trỏ luồng a0-a7 (x10-x17) là các đối số hàm vớia0 và al cũng là giá trị trả về s0-s11 (x8-x9, x18-x27) là các thanh ghi được lưu trữ

Cuối cùng, t0-t6 (x5-x7, x28-x31) là các thanh ghi tạm thời

Trang 18

Bảng 3.1: Tập thanh ghi của kiến trúc RISC-VTên thanh ghi Tên ký hiệu Mô tả

X0 Zero Luôn ở giá tri 0

XI Ra Địa chỉ trả về

X2 Sp Con tro stack

X3 Gp Con tro toan cuc

X4 Tp Con trỏ thread

X5 TO Thanh ghi tam / luu dia

chi tra véX6-7 TI-2 Thanh ghi tạm

Xã SO/fp Con tro frame

X9 S1 Thanh ghi lưu trữ

X10-11 A0-1 Tham số / giá trị trả về

X12-17 A2-7 Tham số

X18-27 S32-11 Thanh ghi lưu trữ

X28-31 T3-6 Thanh ghi tam

Đề dé sử dung, các thanh ghi cũng có tên gọi khác Zero (x0) được kết nỗicứng với giá trị 0; ra (x1) tương ứng với địa chỉ trả về; sp (x2) tới con trỏ ngăn xếp;

gp (x3) tới con trỏ toàn cục; tp (x4) tới con trỏ luồng a0-a7 (x10-x17) là các đối sốham với a0 và al cũng là giá trị trả về s0-s1 1 (x8-x9, x18-x27) là các thanh ghi đượclưu trữ Cuối cùng, t0-t6 (x5-x7, x28-x31) là các thanh ghi tạm thời

Các thanh ghi được lưu trữ là s0-s1 1 trong khi các thanh ghi có thé tự do sửa đôi cácđối số là a0-a7 và các thanh ghi tạm thời t0-t6 Loại bỏ các thanh ghi zero, ra, sp, gp

và tp, chúng ta có 27 thanh ghi 32-bit tự do có thể sử dụng

Trang 19

3.1.2 Các tập lệnh của kiến trúc RISC-V

Tập lệnh căn ban của RISC-V bao gồm bốn định dạng lệnh cốt lõi là R/1/S/U, nhưđược hién thị trong hình 3.1 Tat cả đều có độ dài cố định là 32 bit và phải được căn

chỉnh trên ranh giới bốn byte trong bộ nhớ Một ngoại lệ không căn chỉnh địa chỉhướng dẫn được tạo ra khi một nhánh được thực hiện hoặc một nhảy vô điều kiện nếu

địa chỉ đích không được căn chỉnh bốn byte Không có ngoại lệ không căn chỉnh lấyhướng dẫn được tạo ra cho một nhánh có điều kiện không được thực hiện

funct7 rs2 [tsi funct3 rd opcode Lénh R

imm[11:0] rsl funct3 rd opcode Lệnh I

imm[11:5] rs2 rsl funct3 imm[4:0] opcode Lénh S

imm[12] | imm[10:5] rs2 rsl func3 imm[4:0] imm[11] opcode LénhB

imm[31:12] rd opcode Lénh U

imm[20] imm[10:5] | imm[11] imm[19:12] rd opcode Lénh J

Hình 3.1: Cac dạng lệnh của kiến trúc RISC-VGiá tri immediate sẽ được gan nhãn imm|[x], là vi trí các bit của giá triimmediate được định nghĩa theo lệnh, dấu của giá tri nay sẽ được đặt ở bit cao nhấttức imm[31] Các trường địa chỉ thanh ghi bao gồm rsl, rs2, rd được có định vị trí ở

cả 4 dang lệnh, điều này giúp làm đơn giản hóa quá trình giải mã của lệnh

Ngoài 4 định dạng lệnh trên, ISA còn 2 dạng lệnh là B/J Sự khác biệt duy nhấtcủa lệnh B và S là lệnh B sửa dung bội số của 2 cho offset của các lệnh Branch Thay

vì dịch trái tất cả các bit trong giá trị immediate và được mã hóa trong lệnh nhưthường làm, các bit ở giữa (imm[10:1]) và bit dau được giữ ở vị trí cố định, trong khibit thấp nhất trong định dạng S (inst[7]) mã hóa một bit thứ tự cao trong định dạngB.

Tương tự, sự khác biệt duy nhất giữa các định dạng U va J là giá trị immediate

20 bit được dịch trái 12 bit dé tạo thành giá trị trực tiếp U va dich trái 1 bit để tạo

Trang 20

thành giá trị trực tiếp J Vi trí các bit trong các tri immediate của định dạng U va Jđược chọn để tối đa hóa sự chồng chéo với các định dạng khác và với nhau.

| 1mm[{ 11:5] | imm[4:0] rsl | funct3 rd opcode

Hình 3.2: Dạng lệnh I của các phép dich bitNhư được mô tả trong hình 3.2, các phép dịch theo một hăng số được mã hóanhư một dạng đặc biệt của định dạng I-type Toán hạng cần được dịch nằm trong rsl,

và lượng dich được mã hóa trong 5 bit thấp nhất của trường I-immediate Loại dich

sang phải được mã hóa trong một bit cao của I-immediate SLLI là phép dịch trái

logic (số 0 được dịch vào các bit thấp); SRLI là phép dịch phải logic (số 0 được dịchvào các bit cao); và SRAI là phép dịch phải số học (bit dấu ban đầu được sao chép

vào các bit cao bị bỏ trồng)

đặt kết quả vào thanh ghi rd

10

Trang 21

Đối với các phép tính giữa register-register, lệnh được giải mã theo định dạng

R Trong đó thanh ghi rs1 và rs2 mang giá trị nguồn cho phép tính, kết quả được lưuvào thanh ghi rd Trường funct7 và funct3 giúp phân biệt giữa lệnh ADD va SUB làhai lệnh cộng trừ có dấu

3.1.4 Các lệnh điều khiến

Tập lệnh RV32I chia các lệnh rẽ nhánh thành hai nhóm chính là lệnh rẽ nhánhkhông có điều kiện và lệnh rẽ nhánh có điều kiện Các lệnh rẽ nhánh không điều kiện

là các lệnh nhảy Ví dụ lệnh JAL (ump and link) sử dụng dạng lệnh J, trong đó dạng

lệnh J (mô tả trong hình 4.4) giải mã trường offset theo bội số của 2 Số offset được

mở rộng dấu và cộng vào thanh ghi PC dé ra địa chi đích của lệnh cần nhảy đến

31 30 21 @029 1211 76 0

imm[20] imm[lO:l] imm[ll] imm[l9:12] rd opcode

Hình 3.4: Định dạng lệnh JAL Lệnh jump and link register (JALR) được mã hóa theo định dang I Dia chỉđích sẽ được tính bằng cách mở rộng dau của trường offset (imm[11:0]), sau đó cộng

VỚI gia tri nam trong thanh ghi rsl dé tính ra địa chỉ của lệnh đích như được mô tatrong hình 3.5.

tương ứng Luu ý, các lệnh (định dạng lệnh được mô tả trong hình 3.6) BGT, BGTU,

BLE và BLEU có thể được tạo ra bằng cách đảo ngược các toán hạng của lệnh tương

ứng BLT, BLTU, BGE và BGEU.

11

Trang 22

31 30 2524 20191514 12 11 8 6 0

imm[12] imm[10:5] rs2 | rsỈ funct3 imm[4:1] imm[11] opcode

Hình 3.6: Dinh dang các lệnh Branch3.1.5 Các lệnh trích xuất / lưu trữ dữ liệu

Các lệnh nhảy (branch) so sánh hai thanh ghi Lệnh BEQ và BNE thực hiệnnhảy nếu các thanh ghi rs1 và rs2 bằng nhau hoặc khác nhau tương ứng Lệnh BLT

và BLTU thực hiện nhảy nếu rs1 nhỏ hơn rs2, sử dụng so sánh có dấu và không dấutương ứng Lệnh BGE và BGEU thực hiện nhảy nếu rs1 lớn hơn hoặc bằng rs2, SỬdụng so sánh có dấu và không dấu tương ứng Lưu ý, các lệnh BGT, BGTU, BLE vàBLEU có thể được tạo ra bằng cách đảo ngược các toán hạng của lệnh tương ứngBLT, BLTU, BGE và BGEU.

31 20 19 15 14 1211 76 0

imm[1 1:0] | rs] funct3 | rd opcode LOAD

31 25 24 5(lL0ẾP” ii N I2II 76 0

1imm[ 1 1:0] rs2 rsl funct3 rd opcode STORE

Hình 3.7: Dinh dang lệnh Load/StoreHình 3.7 mô tả các lệnh tải và lưu chuyền giá trị giữa thanh ghi va bộ nhớ Các

lệnh tải được mã hóa theo định dạng I-type và các lệnh lưu được mã hóa theo định

dang S-type Địa chi byte hiệu quả được tinh bằng cách cộng thanh ghi rs1 với offset

12-bit được mở rộng dấu Các lệnh tải sao chép một giá tri từ bộ nhớ vao thanh ghi

rd Các lệnh lưu sao chép giá tri từ thanh ghi rs2 vào bộ nhớ.

Lệnh LW tải một giá trị 32-bit từ bộ nhớ vào rd Lệnh LH tải một giá trị 16-bit từ bộ

nhớ, sau đó mở rộng dấu thành giá tri 32-bit trước khi lưu vào rd Lệnh LHU tai mộtgiá tri 16-bit từ bộ nhớ, nhưng sau đó mở rộng không dấu thành giá tri 32-bit trướckhi lưu vào rd LB va LBU được định nghĩa tương tự cho các giá tri 8-bit.

Các lệnh SW, SH và SB lưu giá tri 32-bit, 16-bit và 8-bit từ các bit thấp của thanh

ghi rs2 vào bộ nhớ Đề đạt hiệu suất tốt nhất, địa chỉ hiệu quả cho tất cả các lệnh tải

và lưu nên được căn chỉnh tự nhiên cho mỗi loại dữ liệu (tức là trên địa chỉ chia hết

12

Trang 23

cho 4 byte cho các truy cập 32-bit và chia hết cho 2 byte cho các truy cập 16-bit) ISA

cơ bản hỗ trợ truy cập không căn chỉnh, nhưng chúng có thé chạy rất chậm tùy thuộcvào cai đặt Hơn nữa, tải và lưu căn chỉnh tự nhiên được đảm bảo thực thi nguyên tử,trong khi tải và lưu không căn chỉnh có thể không thực thi nguyên tử và do đó yêucầu đồng bộ hóa bé sung dé dam bảo tính nguyên tử

3.2 Giải thuật mật mã học nhẹ

3.2.1 Khái niệm

Mục tiêu của mã hóa nhẹ (LWC) là cung cấp bảo mật và quyền riêng tư chocác ứng dụng có tài nguyên hạn chế, hệ thống nhúng, Internet vạn vật (IoT) và các hệ

thống vật lý mạng, bao gồm cả hệ thống Nhận dạng Tần số Vô tuyến (RFID), mạng

cảm biến không dây, mạng xe tự động, và chăm sóc sức khỏe Gần đây, NIST đã khởi

xướng quá trình tiêu chuân hóa các thuật toán mã hóa nhẹ.

Vi du, RFID là một trong những công nghệ day triển vọng, có ứng dụng trongquản lý chuỗi cung ứng, hộ chiếu điện tử, thẻ không tiếp xúc, và hệ thống nhận dạng.Trong các hệ thong RFID, có su căng thang giữa bao mật, tính linh hoạt và độ cứng

Chăng hạn, trong một hệ thống RFID thụ động, các thẻ lấy năng lượng từ đầu đọc.Nhiều thuật toán (ví dụ như AES) trong hệ thống như vậy đòi hỏi nhiều tài nguyên

Trong nhiều ứng dụng, một nguyên thủy mã hóa duy nhất không đủ để bảo vệ

toàn bộ hệ thống Do đó, hợp lý khi giả định rằng diện tích chip dành cho mục đích

bao mật nên được sử dụng cho mã hóa, xác thực, tính toán băm, va có thé là tạo bit

ngẫu nhiên giả, những chức năng cơ bản mà một giao thức bảo mật yêu cầu

3.2.2 ASCON

Phép hoán vi Ascon-p thao tác trên một trạng thái 320-bit, được tô chức thành

năm word 64-bit, bằng cách lặp lại áp dụng một hàm vòng (round function) [5]Hàm

vòng này về cơ bản là một Mạng Thay thế-Hoán vị (Substitution-PermutationNetwork - SPN) và bao gồm ba phan: (i) việc thêm một hăng số vòng 8-bit cr vàomột word trạng thai 64-bit, (ii) một lớp thay thế hoạt động trên năm word của trạng

13

Trang 24

thái và thực hiện một phiên bản tuyến tính tương đương của hộp S (S-box) trong quátrình ánh xạ y của Keccak, va (iii) một lớp hoán vị bao gồm các hàm tuyến tính tương

tự như các hàm > trong SHA2 và được thực hiện trên từng từ trạng thái một cách độclập Hộp S ánh xạ năm bit đầu vào thành năm bit đầu ra và được áp dụng cho mỗi cộtcủa trạng thái, trong đó năm từ trạng thái được sắp xếp theo chiều dọc

Initialization Associated Data

Hình 3.8: Quá trình mã hóa của giải thuật ASCON Hình 3.8 mô tả các quá trình mã hóa của giải thuật ASCON chia thành 4 giai đoạn chính : Khởi tao (Initialization), Xử ly Dữ liệu Liên quan (Associated Data), Xử

lý Dữ liệu Gốc (Plaintext), và Hoàn tất (Finalization)

mảng 2 chiều, thứ tự bit là từ trên xuống, sau đó từ phải sang trái Cụ thé, mang 2

chiều được mô ta như trong hình 3.9

So ben - bg bg bo

Si ber -°: bg bs Dị

S= —

| Se ben big bg Ùạ

S53 bes - bir Ủy bg

Hình 3.9: Mang 2 chiều biểu diễn trang thái mật mã GIFT64

14

Trang 25

Bước SubCells : Lớp thay thé của 16 (hoặc 32) hộp S-box 4-bit giống nhau cóthé được áp dung song song với các hoạt động sau đây, trong đó A, V và ¬ là các phéptoán logic AND, OR và NOT tương ứng như trong hình 3.10:

Hình 3.10: Lớp thay SubCellsBước PermBits: Sự hoán vi bit trong GIFT có tính chất đặc biệt là mỗi bit nằmtrong một slice i sẽ vẫn năm trong slice đó qua quá trình hoán vị này Bây giờ, cáchoán vi khác nhau 16-bit (hoặc 32-bit) được áp dụng cho từng Si độc lập Chúng ánh

xạ một bit nằm ở vị trí j trong slice i đến vị trí Pi(j) trong cùng một slice i Nhóm cungcấp trong Hình 3.11 là cấu hình các giá trị Pi(j) cho GIFT64

7 0 W 3 4 5 6 7 8 9 10 11 12 13 14 #15

Po(j) 0 12 8 4 1 13 9 5 2 14 10 6 3 lỗ 11 7 P,(j) 4 0 12 8 5 1 13 9 6 2 14 10 7 3 lỗ II P2(j) 8 4 0 12 9 5 1 18 10 6 2 14 11 7ï 15 3

15

Trang 26

Đề thêm vào hăng số cho vòng, S3 được cập nhật như sau: $3 <93 @ 0x80XY

Trong đó các byte XY = 0UCs€4€ä3caC1€g.

3.2.4 ISAP

Đặc điểm phân biệt chính của gia đình ISAP là các biện pháp chống lại các

cuộc tấn công từ kênh phụ thông qua các biện pháp ở mức chế độ tích hợp sẵn Tuy

nhiên, từ quan điểm của nhân kernel, phiên bản chính Isap-A-128a sử dụng chính xácphép hoán vị Ascon-p giống như các thuật toán AEAD trong gia đình Ascon Isap-A-128a áp dụng phép hoán vi này trong một, sáu hoặc mười hai vòng, tùy thuộc vào(các) hoạt động cụ thể mà phép hoán vị này là một phần của Như đã được giải thíchtrong phan 3.2, Ascon-p hoạt động trên một trạng thái 320-bit và bao gồm (i) việcthêm hằng số vòng, (ii) một lớp thay thé dựa trên hộp S-box 5-bit được cắt thành cácbit, và (iii) một lớp tuyến tính thực hiện các phép XOR và xoay các từ 64-bit

3.2.5 SPARKLE

Phép hoán vi Sparkle bao gồm ba khối xây dựng cơ bản, bao gồm (i) một lớpphi tuyến được tạo thành từ sáu phiên bản song song của hộp ARX Alzette, (ii) mộtlớp lan truyền tuyến tính đơn giản, (iii) việc thêm bước đếm va hằng số vòng vàotrạng thái 384-bit Alzette có thé được coi là một khối mật mã nhỏ 64-bit hoạt động

trên hai từ 32-bit và thực hiện ba phép cộng và bốn phép XOR trong đó một trong

các toán hạng được quay một khoảng cé định, cùng với một phép cộng thông thường

và bốn phép XOR thông thường Trong khi đó, lớp tuyến tính, về bản chất, là mộtvòng Feistel với một hàm Feistel tuyến tính, tiếp theo là một hoán đổi giữa nửa trái

và nửa phải của trạng thái.

3.2.6 TINY JAMBU

Hoan vi (Permutation) dựa trên một bộ dịch chuyên phản hồi phi tuyén

128-bit, trong đó đường phản hồi bao gồm bốn phép XOR từng bit và một phép NAND

từng bit, đây là phép toán phi tuyến duy nhất của TinyJAMBU Người ta có thé dédàng xác định ham cập nhật trạng thái là thao tác quan trong nhất về hiệu suất; nó

16

Trang 27

nhận trạng thái 128-bit và số vòng, cùng với một khóa làm đầu vào Tuy nhiên, TinyJambu không bao gồm một lịch trình khóa Hoan vi Pn khác biệt với các hoán vi củacác ứng viên khác như Ascon, Sparkle và Xoodyak bởi kích thước trạng thái cực kỳnhỏ và thực tế là nó có khóa (tức là, Pn là một hoán vị không công khai) Hơn nữa,

số vòng lớn hơn nhiều, điều này được bù đắp bằng một hàm vòng cực kỳ đơn giản(cơ bản chỉ là một dịch chuyền của trạng thái 128-bit cùng với năm thao tác bit)

3.2.7 Photon

Phép hoán vị PHOTON256 hoạt động trên trạng thái nội bộ có kích thước 256 bit,

được tổ chức thành một ma trận (8 x 8) phần tử của các nibble 4-bit Phép hoán vinày giống SPN, bao gồm 12 vòng, mỗi vòng áp dụng 4 hàm vòng: đó là AddConstant,SubCells, ShiftRows, và MixColumnsSerial S-box 4-bit của PRESENT được sử

dụng trong SubCells; trái ngược với hàm vòng MixColumns cua AES,

MixColumnsSerial được tối ưu hóa đặc biệt đề tạo điều kiện thuận lợi cho việc ápdụng nối tiếp các phép toán trong F24

3.2.8 Romulus

Skinny-128-384 là một mã khối có thê điều chỉnh dựa trên SPN sử dụng một S-boxgọn nhẹ, một lớp khuếch tán rất thưa, và một lịch trình khóa rất nhẹ Do biên độ bảomật cao của Skinny, các nhà thiết kế Romulus đã quyết định sử dụng một biến thể

Skinny với số vòng giảm, cụ thé là 40 thay vì 56 Skinny-128-384 hoạt động trên mộttrạng thái nội bộ có kích thước 128 bit, có thé được xem như một ma trận (4 x 4) phần

tử của byte, tương tự như AES Hàm vòng bao gồm năm thao tác theo thứ tự sau:SubCells, AddConstants, AddRoundTweakey, ShiftRows, và MixColumns SubCells

áp dụng một S-box 8-bit, có thé được triển khai hiệu quả trong phan cứng, cho mỗibyte của trạng thái Thao tác AddConstants thực hiện phép XOR một số hăng số phụthuộc vào vòng tới cột đầu tiên của trạng thái AddRoundTweakey trích xuất tám byte

từ trạng thái tweakey và thực hiện phép XOR chúng với trạng thái, trong đó các byteđược hoán vị và cập nhật băng các LFSR đơn giản ShiftRows xoay các byte củatrạng thái theo hàng sang phải lần lượt bởi 0, 1, 2, và 3 vị trí, tương tự như phép biến

17

Trang 28

đổi ShiftRows của AES Cuối cùng, MixColumns nhân mỗi cột byte của trạng tháivới một ma trận nhị phân.

3.2.0 Grain128-AEAD

Grain-128a dựa trên (một biến thé của) mã dòng "nguyên ban" Grain, mã này từng làmột ứng viên của cuộc thi eSTREAM và được chọn vào danh mục cuối cùng củaeSTREAM Kernel là một hàm tính toán một từ 32-bit của dòng khóa bằng cách sửdụng một trang thái nội bộ có kích thước 256 bit Trang thái này bao gồm một thanhghi dich phan hồi tuyến tính (LFSR) 128-bit và một thanh ghi dịch phản hồi phi tuyến(NFSR) 128-bit Kernel bao gồm ba hàm con chính: một hàm dé cập nhật LFSR (gọi

là hàm f), một hàm dé cập nhật NFSR (gọi là hàm g), và một hàm dé tính toán từ đầu

ra 32-bit (gọi là hàm h).

3.3 Bộ Đồng Xử Lý

Bộ đồng xử lý là một bộ xử lý máy tính được sử dụng dé bổ sung các chứcnăng của bộ xử lý chính (CPU) Các hoạt động được thực hiện bởi bộ đồng xử lý cóthé là số hoc dấu phây động, đồ họa, xử lý tín hiệu, xử lý chuỗi, mật mã học hoặc

giao tiếp I/O với các thiết bị ngoại vi Bằng cách giảm tải các tác vụ đòi hỏi nhiều xử

lý từ bộ xử lý chính, các bộ đồng xử lý có thể tăng tốc hiệu suất hệ thống Bộ đồng

xử lý cho phép một dong máy tính được tùy chỉnh, do đó khách hàng không cần thêm

hiệu suât sẽ không phải trả tiên cho nó.

Bộ đồng xử lý khác nhau về mức độ tự chủ của chúng Một số (chẳng hạn như

FPU) dựa vào sự điều khién trực tiếp thông qua các lệnh của bộ đồng xử lý, đượcnhúng trong luồng lệnh của CPU Những bộ khác là các bộ xử lý độc lập, có khả nănglàm việc không đồng bộ; chúng vẫn không được tối ưu hóa cho mã mục đích chunghoặc không có khả năng làm điều đó do bộ lệnh hạn chế tập trung vào việc tăng tốccác tác vụ cu thé Thông thường, các bộ này được điều khiển bởi truy cập trực tiếp

bộ nhớ (DMA), với bộ xử lý chủ (CPU) xây dựng một danh sách lệnh.

18

Trang 29

Hình 3.12: Sơ đồ khối hệ thống giao tiếp giữa Main CPU và RISC-V Co-Processor

Hình 3.12 mô tả tổng quan bộ đồng xử lý dựa trên RISC-V chuyên dành cho

ứng dung mật mã học, có thé giao tiếp với một bộ xử lý chính khác trên hệ thống

SoC Bộ xử lý trung tâm chính (Main CPU) giao tiếp với bộ đồng xử lý RISC-V thôngqua giao thức AXI (Advanced eXtensible Interface).

3.4 Giao thức AXI được dùng để truyền dữ liệu cho bộ đồng xử lý RISC-V

3.4.1 Khái niệm

AXI (Advanced eXtensible Interface) là một trong các giao thức BUS (BUS protocol) trong họ AMBA (Advanced Microcontroller Bus Architecture) được phat

triển bởi hãng ARM Giao thức AXI được sử dung phổ biến vi day là giao thức mở,

có nhiều đặc điểm hỗ trợ các hệ thống hiệu năng cao (high-performance) và tần sốcao (high-frequency) Những đặc điểm này gồm:

(1) AXI tách riêng pha truyền địa chi (address), thông tin điều khiển (control)

với pha truyền đữ liệu (data)

(2) Hỗ trợ việc trao đôi dữ liệu unaligned và hỗ trợ write strobe

(3) Hỗ trợ các transaction theo cơ chế burst và chỉ cần phát địa chỉ đầu tiên của

burst

19

Trang 30

(4) Tach riêng kênh dữ liệu đọc (read) và kênh dữ liệu ghi (write)

(5) Hỗ trợ phát nhiều địa chỉ chồng lấn (multiple outstanding)

(6) Các transaction có thể hoàn thành không theo thứ tự (out-of-order)

(7) Cho phép chèn thêm các tầng thanh ghi giúp timing của BUS nói riêng và

của hệ thống tốt hơn

3.4.2 Quy định

Giao thức AXI (Advanced eXtensible Interface) đóng vai trò quan trọng trong

việc định nghĩa chuẩn giao tiếp giữa các thành phan trong hệ thống SoC (System onChip) Giao thức này quy định các chuẩn giao tiếp giữa một master và interconnect(bus), một slave va interconnect (bus), cũng như giữa một master và một slave khi master kêt nôi trực tiép với slave.

Trong hệ thống SoC, bus là thành phần chính chịu trách nhiệm kết nối cácmaster và slave Nó không chỉ đảm bảo việc truyền tai thông tin điều khiển và dữ liệu

từ master đến slave mà còn cung cấp cơ chế chuyên thông tin phản hồi từ slave trởlại master Điều này cho phép các master thực hiện các hoạt động truy xuất như đọc(read) và ghi (write) một cách hiệu qua và chính xác.

Hình 3.13 miêu tả Interface trong ngữ cảnh này được hiểu là một nhóm các tín

hiệu giao tiếp giữa hai thành phần, giúp điều phối và quản lý luồng đữ liệu giữa chúng.

Interconnect (BUS) là một thiết kế phức tạp thường bao gồm nhiều interface, với mỗiinterface được kết nối với một master, một slave hoặc một interconnect khác Đặcbiệt, trong một interface giữa hai interconnect, một bus sẽ đóng vai trò như mastertrong khi bus còn lại đảm nhận vai trò của slave Điều này có thể được minh họa quahình 3.13 giữa BUS 0 và BUS 1, nơi BUS 0 có thé là master và BUS1 là slave, hoặc

ngược lai, tùy theo cấu hình cụ thé của hệ thống.

20

Trang 31

Mast | Master | | = =

BUS 1 (Interconnect)

BUS 0 (Interconnect)

Hình 3.13: Interface giữa BUS | (Master) va BUS 0 (Slave)

Giống như các giao thức bus khác, AXI quy định rõ ràng co chế va cách thức

xử ly cho hai hoạt động cơ bản là đọc (read) và ghi (write) Trong hoạt động doc,

master thực hiện việc lay dữ liệu từ slave Ngược lại, trong hoạt động ghi, master phat

dữ liệu đến slave Việc quy định cụ thể các hoạt động này giúp đảm bảo tính đồng bộ

và hiệu quả trong quá trình truyền tải dữ liệu, đồng thời ngăn ngừa các lỗi có thể xảy

ra do sự không nhất quán trong giao tiếp

Trên cơ sở đó, giao thức AXI không chỉ dam bảo tính tương thích và linh hoạt

trong thiết kế hệ thống SoC mà còn nâng cao hiệu suất và độ tin cậy của các hoạt độngtruy xuất đữ liệu giữa các thành phần trong hệ thống Điều này làm cho AXI trở thành

một lựa chọn phô biến và được sử dụng rộng rãi trong các thiết kế SoC hiện đại

3.4.3 Cấu trúc phân kênh của AXI

Giao thức AXI (Advanced eXtensible Interface) hoạt động dựa trên năm loại

kênh độc lập, mỗi kênh đảm nhận một vai trò và nhiệm vụ riêng biệt Sự "độc lập" ở

đây được hiểu là mỗi kênh có thể hoàn thành nhiệm vụ của mình mà không bị phụ

thuộc vao các kênh khác, mặc dù các kênh nay van có môi liên quan tới nhau trong

21

Trang 32

tổng thể hoạt động của hệ thống Cụ thể, năm kênh này bao gồm: kênh địa chỉ đọc

(AR), kênh dữ liệu đọc (R), kênh địa chỉ ghi (AW), kênh dữ liệu ghi (W), và kênh

đáp ứng ghi (B).

Kênh dia chi đọc (AR) chịu trách nhiệm truyền thông tin địa chỉ và các thông

tin điều khiển của một transaction đọc từ master đến slave Tiếp theo đó, kênh dữ liệu

đọc (R) thực hiện việc truyền dữ liệu đọc và thông tin phản hồi của transaction đọc

từ slave trở lại master Tương tự, kênh địa chỉ ghi (AW) truyền tải thông tin địa chi

và thông tin điều khiển của một transaction ghi từ master đến slave, trong khi kênh

dữ liệu ghi (W) đảm nhận việc truyền dir liệu ghi từ master đến slave Cuối cùng,kênh đáp ứng ghi (B) truyền thông tin phản hồi của transaction ghi từ slave trở lại

master.

READ

READ ADDRESS CHANNEL

READ DATA CHANNEL WITH RESPONSE

Master WRITE ADDRESS CHANNEL Slave

WRITE DATA CHANNEL

WRITE

Hình 3.14: Các kênh ghi và đọc của AXI

Hình 3.14 mô tả một transaction trong giao thức AXI, bao gồm bốn thông tin

cơ bản: thông tin địa chi (address), thông tin điều khiển (control), thông tin dữ liệu

(data), và thông tin phản hồi (response) Thông tin địa chỉ xác định đích đến củatransaction, thông tin điều khiển xác định thuộc tính của transaction như loại burst,

độ dài burst, kích thước burst và các thuộc tính khác Thông tin dữ liệu là dữ liệu thực

22

Trang 33

tế được truyền trong transaction, trong khi thông tin phản hồi xác định trạng thái của

transaction, liệu nó có bị lỗi hay không.

Một burst là tập hợp các transfer dữ liệu trong một transaction, với mỗi transfer

dữ liệu gọi là một beat Một burst có thể bao gồm một hoặc nhiều beat, và mỗitransaction quản lý một burst có thuộc tính được quy định bởi thông tin điều khiên

Trong cấu trúc giao thức AXI, một transaction đọc được quản lý bởi hai kênh

là kênh AR và kênh R, trong khi một transaction ghi được quản lý bởi ba kênh là kênh AW, kênh W, và kênh B Sự phân chia này cho phép giao thức AXI thực hiệncác hoạt động đọc và ghi một cách hiệu quả và linh hoạt, đảm bảo tính nhất quán và

hiệu suất cao trong việc truyền tải dữ liệu giữa các thành phần trong hệ thống SoC.Điều này làm cho AXI trở thành một lựa chọn phổ biến trong các thiết kế hệ thốngtích hợp hiện đại, nơi yêu câu về tôc độ, hiệu quả và độ tin cậy ngày càng cao.

3.4.4 Transaction đọc

Hình 3.15 mô tả một transaction đọc gồm hai bước xử lý:

e_ Phía Master gửi một thông tin địa chi và thông tin điều khiển dé khởi động

một transaction đọc trên kênh AR.

e Phía slave gửi các dữ liệu kèm thông tin response trên kênh R Số lượng dữ

liệu và thông tin response được quy định bởi thông tin điều khiến phát từ phíamaster trên kênh AR.

23

Trang 34

Read address channel

Master Read data channel Slave

<

Hinh 3.15: Transaction doc

3.4.5 Transaction ghi

Hình 3.16 mô tả một transaction ghi gồm 3 bước xử ly:

e Phía master gửi một thông tin địa chỉ và thông tin điều khiển để khởi động một

transaction ghi trên kênh AW

e© Phía master gửi các dữ liệu ghi trên kênh W Số lượng dữ liệu ghi được quy

định bởi thông tin điều khiển phát từ phía master trên kênh AW

e Phía slave gửi thông tin response khi burst ghi đã hoàn thành.

Trang 35

Write address channel

3.5 Các phương pháp cải tiến bộ đồng xử ly dành cho các giải thuật mật mã

học

3.5.1 Custom instruction - Các lệnh mở rộng

Cải tiền đầu tiên dành cho bộ xử lý RISC-V là khối ALU chuyên dành cho cácthuật toán mật mã học Hiệu quả mà cải tiến này mang lại như tối ưu hóa hiệu suất

cho ứng dung cụ thé ở đây là các giải thuật mật mã học : một phép tính dai (maj,

sigma của giải thuật SHA256) thay vì phải biên dịch ra thành nhiều lệnh mã máy nhưand, or, not, xor, add, sub, và các lệnh load store dé truy xuất đữ liệu, giờ đây khi

có lệnh tùy chỉnh, phép tính dài đó sẽ chỉ cần biên dịch ra một lệnh duy nhất tươngứng với phép tính đó, từ đó giảm sỐ lượng lệnh được biên dịch ra và thực thi

Tiết kiệm năng lượng tiêu thụ : Bằng cách sử dụng các lệnh tùy chỉnh được tối

ưu hóa, hệ thống có thé thực hiện các tác vụ phức tap hơn (ở đây là các phép tính

25

Trang 36

phức tạp của các giải thuật mật mã học) với ít chu kỳ xử lý hơn, do đó tiêu thụ ít năng lượng hơn.

Bảng 3.2: Hiệu quả khi thêm lệnh tùy chỉnh

tùy chỉnh

sll a3, a5, Oxf sigmal a5, a5 63 lệnh

srl a4, a5, Ox11

or a4, a4, a3

sll a3, a5, Oxd

srl a5, a5, 0x13

or a5, a5, a3

bgeu a5, a4, 20f8 bgeu a5, a4, 20f8

Bảng 3.2 so sánh mã nguồn của giải thuật SHA256 sau khi được biên dịchsang dạng assembly, trước và sau khi được thêm vào lệnh sigmal Có thê thấy sốlượng lệnh đã giảm di, từ đó bộ đồng xử lý chỉ cần xử lý một lệnh duy nhất là sigmala5, a5 đề thực thi xong phép toán

3.5.2 Khoi ALU ghép đôi xử lý song song 2 lệnh 32-bits

Thông thường, các bộ xử lý RISC-V 64bit khi xử lý các lệnh tính toán cho word 32-bit (như các lệnh addw, subw, sllw, ) sẽ tuân theo tập lệnh RV32-I, tức là

sẽ bỏ qua bit tràn và kết qua chỉ tính trên 32-bit thấp của ALU Như vậy phan 32-bitcao còn lại sẽ không được sử dụng đến cho việc tính toán Đề tận dụng tối đa phầncứng, nhóm đề xuất giải pháp ALU tính song song 2 phép tính 32-bit

26

Trang 37

(INPUT DATA 1 (Plain `

text, Key, associated data, )

RISC-V Co-processor

, ` Decrypted Text)

(INPUT DATA 2 (Plain) ¿

text, Key, associated a Rs1 [31:0] Ầ ị “|

và trả về một lúc 2 luồng dữ liệu đầu ra khác nhau Nhờ đó tăng gấp đôi thông lượng

xử lý của các giải thuật mật mã học ở chế độ 32-bit

3.5.3 Khối chức năng tùy chỉnh (ASCON ROUND UNIT)

Vào tháng 3 năm 2021, Viện Tiêu chuẩn và Kỹ thuật Quốc gia Hoa Kỳ (NIST)

đã công bố danh sách 10 ứng cử viên lọt vào vòng chung kết của quy trình tiêu chuẩnhóa mật mã hạng nhẹ Nhóm nghiên cứu của NIST đã đánh giá các ứng cử viên naydựa trên các tiêu chí được đề ra, cập nhật trạng thái qua các vòng thi, phân tích bảo

mật từ các bên thứ ba, kết quả triển khai và đo đạc hiệu suất, cũng như phản hồi từcác hội thảo và diễn đàn của LWC Quyết định cuối cùng rất khó khăn, vì phần lớncác thuật toán lọt vào vòng chung kết đều có hiệu suất vượt trội so với các tiêu chuẩnhiện tại của NIST trên nhiêu nên tảng khác nhau mà vẫn đảm bảo tính bảo mật.

27

Trang 38

ASCON là một trong những ứng cử viên nổi bật, được thiết kế bởi Christoph

Dobraunig, Maria Eichlseder, Florian Mendel và Martin Schlaffer từ Dai học Công

nghệ Graz, Công ty Infineon Technologies và Dai hoc Radboud ASCON sử dụngmột hoán vi hạng nhẹ duy nhất với các chế độ hoạt động dựa trên Sponge va manghoán vị - thay thé (SPN) Thuật toán này có thé được triển khai dé dàng cả trong phầncứng (với chi phí tương đương 2,6 công) và phần mềm Nó sử dụng hộp S-box 5 bit,tương tự như trong lõi hộp S của Keccak, giúp tối ưu hóa cho các ứng dụng hạng nhẹ

và không dễ bị tắn công kênh kề ASCON còn có khả năng đạt được thông lượng cao,

dao động từ 4,9 đến 7,3 Gbps, và lưu trữ trạng thái hiện tại với 320 bit

NIST đã quyết định tiêu chuẩn hóa ASCON cho các ứng dụng mã hóa hạngnhẹ, vì nó đáp ứng được các yêu cầu của hầu hết các trường hợp sử dụng cần đến mật

mã hạng nhẹ Họ ASCON hiện có bảy thành viên, một số hoặc tất cả có thể trở thànhmột phần của tiêu chuân mật mã hạng nhẹ do NIST công bó Các biến thể trong họASCON cung cấp một loạt chức năng, mang đến cho các nhà thiết kế nhiều tùy chọn

cho các nhiệm vụ khác nhau Thông số kỹ thuật của ASCON bao gồm nhiều biến thể

và tiêu chuân cuôi cùng có thê không bao gôm tât cả các biên thê này.

Thông thường những bộ đồng xử lý sẽ được thiết kế để phục vụ tăng tốc độ

xử lý cho một ứng dụng cụ thé Với ứng dụng mật mã học, việc thêm vào các mạch

tổ hợp dé tính toán chỉ có thé thực hiện riêng biệt cho từng giải thuật, như AES vàSHA256 cần những phép tính riêng và cần thực hiện phần cứng cho cả hai giải thuậtnếu bộ đồng xử lý muốn hỗ trợ cả hai giải thuật này Vì vậy kích thước mạch sẽ lớn

và làm chậm bộ xử lý.

Từ những thông tin trên, nhóm quyết định chọn ASCON là giải thuật duy nhất

dé thực hiện phương pháp khối xử lý chức năng tùy chỉnh Trong giải thuật ASCON,hoán vị (một Round) là bước cần duy nhất cần nhiều tác vụ xử lý, tính toán Vì thékhối tổ hợp ASCON Round sẽ được thêm vào bộ xử lý để tính hết một Round trong

vòng một chu kỳ lệnh.

28

Trang 39

trong đó khối trạng thái X2 64 bit sẽ thực hiện phép cộng hăng số Cr dé phá vỡ tính

đối xứng của dữ liệu, ngăn chặn các cuộc tấn công dựa trên tính tuần hoàn hoặc dự

đoán trước được Tiếp theo là phép thế được thực hiện thông qua một mạng phi

tuyến tính S-box (bao gồm các phép NOT, XOR và AND) để tạo ra sự trộn lẫn

mạnh mẽ giữa các bit trong trạng thái Tiếp theo là phép trộn tuyến tính (gồm các

phép dich bit và XOR).

29

Trang 40

Chương 4 THIẾT KE, CẢI TIEN VÀ HIỆN THỰC BO DONG XỬ LÝ

Instruction Fetch (tìm nạp lệnh), Instruction Decode (giải mã lệnh), Execution (thực

thi), Data Memory (lưu trữ và truy xuất dữ liệu), Writeback (ghi lại kết quả) Điều

này sẽ giúp bộ xử lý chạy với tốc độ clock cao hơn so với không pipeline là 250MHz

Bảng 4.1: Các tín hiệu của tông thể thiết kế

Tên tín hiệu Phân loại | Độ rộng Mô tả

Cfg_addr_in input 15 bit Configuration address input : Gia

trị địa chi cho lệnh nạp vào bộđồng xử lý Được truyền vào bộ

nhớ lệnh (instruction memory).

30

Ngày đăng: 08/12/2024, 15:10

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN