Chương 1. GIỚI THIỆU DE TÀI. Tổng quan đề tài. _ Tình hình nghiên cứu ngoài nưỚC.
_ Tình hình nghiên cứu trong nưỚC. Mục tiêu đề tài 1. Giới hạn để tài.0111 E1 cce 4 Chương2. Kiến trúc tập lệnh RISC-V.
— Giới thiệu RISC-V 2. Các lệnh chuẩn RV32I được sử dụng trong hệ thống [I]. Lệnh MU Type. Lệnh J— Type eecceecesssssssssssssssossssstssssninsennssessessssscceceesssssssssssnssunennesesees 8 2.
6 TT HH Hết 3 2. Thuật toán SHA256. Giới thiệu thuật toán SHA256. Các bước trong thuật toán SHA256.
Các lệnh hỗ trợ cho việc thực hiện thuật toán SHA256 [2]. Lệnh chuyền đổi sha256sig0. Lệnh chuyền đổi sha256sigl. Lệnh chuyển đổi sha256sum0.
Lệnh chuyển đổi sha256sum1. Hiện thực phần mém thuật toán SHA256.-¿--zc5s2czz+ 22 Chương 3. | THIET KE HE THONG. Thiết kế hệ thống tổng quát.
_ Khối Instruction Memory. Khối Data Memory. Thiết kế hệ thống chỉ tiết 3. Khối Program Counter.
Khối Control Unit. Khối MU come, cv ựa. Khối Crypto_Fu.--cccc2222vcreErkrrrrerrktrrrrrrtrrrrrrrrvee 37 Chương 4. MÔ PHONG VÀ ĐÁNH GIÁ KET QUẢ.1 Mô phỏng các lệnh thuộc kiến trúc RV321.
Mô phỏng thuật toán SHA256. Đánh giá kết quả. Kết quả tần số của ÏP. So sánh kết quả với các bài báo khác.-----:--ccc+ccvsvceccz 48 Chương 5.
THIẾT KE BLOCK DESIGN TREN VIVADO VỚI GIAO THỨC AXT4 -= - 43442ø—œằHẦ. Tổng quan giao thức AXI4 5. Kiến trúc khối thiết kế tổng quan giao tiếp qua AXI4 5. Thiết kế trên Vivado 5.
Các IP của Xilinx dùng trong Block Design .2 IP AXI UART LITE. Kết qua tổng hợp thực thi của Block Design. Kết quả hiện thực thiết kế trên board Xilinx VC707. KÉT LUẬN VÀ HƯỚNG PHÁT TRIEN.
Hướng phát triỀn.---:¿52222+++22E2+++22223++t22EEEvtEEEEvrrrrrrkrrrrrrkee 58 TÀI LIEU THAM KHAO. cccsssccssssssssssosssessesssscscssssecssssssecssssssessasssecesssisesessseescesssecsea 60 DANH MỤC HÌNH Hình 2.1: Các thanh ghi trong RV321[L.2: Dinh dang các lệnh trong R`V321.3: Các giá trị hằng số cho SHA256.2---2222222222cv222vvrrecrvvrrrrrr 18 Hình 2.4: Dinh dạng lệnh sha256s1g0. - + c5 13kg it21 Hình 2.5: Dinh dạng lệnh sha256sig Ì.-- ¿+ + + St +k+E*‡EeEkEkekeErkrkrkrkeree 21 Hình 2.6: Dinh dạng lệnh sha256sum0.--¿- - - 2525252 +‡££££‡ztzk+£exerrkrkexee 21 Hình 2.7: Định dạng lệnh sha256suim| .8: Sơ đô giải thuật SHA256.9: Sơ đồ giải thuật hàm CalculafOT().-- ¿+ ¿5+ cS*k‡‡ssrexsrerrkexex 23 Hình 3.1: Sơ đồ khối tổng quát hệ thống .2: K Khối Instruction MeImOry.-¿-¿¿©22+z22EE+++22EESSzzvvEveerrrrrscee 25 Hình 3.3: Ki Khối Data Memory Hình 3.4: Tl Thiết kế hệ thống chỉ tiết Hình 3.5: Khối Program CounIer.--:-¿2222222+22222E22S2++rrt2tE22vvrrrrrrrrrrrrrer 27 Hình 3.6: Khối Control Unit.----+:+ccc22522tttreeeevtttrrtrrrirrrktrrrrrrrrrrie 28 Hình 3.7: Khối Register Eile.--------cccccccccc2 2222 2E Ettrrrtrrrrrirriiiiriio 32 Hình 3.-----:::ccccccccc tt Eiriio 36 Hình 3.12: Khối Crypto_Fu.1: Các lệnh assembly trong Test case 1 (tính tích hai số).2: Waveform Output của Test case Ì.----6 5552 5<cc+c+xsccce+40 Hình 4.3: Kết quả mô phỏng Test case | trên Venus và trên ModelSim.4: Các lệnh assembly trong Test case 2 (tính giai thừa) .5: Waveform Output của Test Case 2.6: Kết qua mô phỏng Test case 2 trên Venus và trên ModelSim.7: Các lệnh assembly trong Test case 3 (Tính cấp số nhân).8: Waveform Output của Test case 3.-- 5c Set tre 43 Hình 4.9: Kết quả mô phỏng Test case 3.-- 222: ©2222zt222222zt2EEEEzerrrrrseee 43 Hình 4.10: Giá trị băm ban đầu (Hạ,.11: các giá trị hằng số (Ko,.12: Input được chia thành các khối.13: Thông điệp được lưu vào Data MeImOry.14: Kết quả tạo ra từ SCTÏpV.15: Assembly mô phỏng thuật toán SHA256.16: Output thuật toán SHA256 mô phỏng trên ModelSim.17: Kết quả mô phỏng phần mềm.18: Tần số IP.1: Kiến trúc chung của giao thức AXI4.ccc¿---222cscccce+ccccvvsee 50 Hình 5.2: Quá trình đọc của giao thức AX14.3: Quá trình ghi của giao thức AXI4.4: Thiết kế tong quan của Block Design.5: Block Design trén phan mém Vivado.6: IP Microblaze giao tiếp với IP Local memory.7: IP AXI UART LITE. - - 5 5c SESEk‡kEEEEEEEkSEEEEEEkrkrkerrrkek 55 Hình 5.8: Tài nguyên sử dụng trong Block Design .9: Năng lượng tiêu thụ của Block Design.10: Board Xilinx VC707 .-- «+12 TT HH it 56 Hình 5.11: Kết quả hiện thực trên board và kết quả mô phỏng trên ModelSim.
57 DANH MỤC BANG Bảng 2.1: Ví dụ về đệm thông điệp. Tín hiệu khối COre.2: Tín hiệu khối Instruction Memory.3: Tín hiệu khối Data Memory.4: Tín hiệu khối Program COunIeT.-- 22£©222+22222+z++2222+zz+tvvszcezrr 27 Bảng 3.5: Trạng thái hoạt động của khối Program Counter.6: Các tín hiệu của khối Control Unit.---¿+z++22++zz+22szcz+rr 29 Bảng 3.7: Tín hiệu khối Register Eile.8: Trạng thái hoạt động của khối Register Eile.9: Tín hiệu của khối ALLU.¿-222222+2222SS++ttEESSvvettErvrrerrrrrrrrrr 33 Bang 3.10: Tín hiệu điều khiển thực hiện các phép toán của khối ALU.11: Tín hiệu khối Load.:--©2¿22222++222ES++t2EEES+vetvvxvrrerrrserrrrr 34 Bảng 3.12: Tín hiệu size trong khối Load.---¿¿zz+22vvz++22vvvzz+tcvsvceerx 35 Bang 3.13: Tín hiệu của khối Store.14: Tín hiệu size trong khối Store .15: Tín hiệu của ÔN.16: Tín hiệu của khối Crypto_EU.--- ¿22222++222Ev++etvvvvrerrrsrrecrr 37 Bang 4.1: So sánh clock cycle COUHI.- ¿5-5 552 S*2E‡E‡+‡Ee£zkzEexerrrkrkrkerrree 48 Bang 4.2: So sánh tần số và thiết kế. 2:22 2 vvrirtEEEEEkrrrrrrrrrrrrrrrrree 48 DANH MỤC TU VIET TAT Dạng viết tắt Dạng đầy đú RISC-V Reduced Instruction Set Computer FPGA Field Programmable Gate Array ALU Arithmetic Logic Unit SHA Secure Hash Algorithm AES Advanced Encryption Standard IP Intellectual Property TÓM TÁT KHÓA LUẬN Đối với thế giới ngày nay, chúng ta càng phụ thuộc vào công nghệ thông tin và mạng, việc bảo vệ thông tin quan trọng và đảm bảo tính toàn vẹn dữ liệu trở nên cực kỳ quan trọng. Trong bối cảnh đó, thuật toán SHA-256 (Secure Hash Algorithm 256-bit) được sử dụng rộng rãi như một công cu mã hóa bảo mật và xác thực dữ liệu.
Đồng thời, kiến trúc vi xử lý RISC-V đang ngày càng thu hút sự quan tâm và phát triển trong cộng đồng mã nguồn mở. Khóa luận này sẽ tập trung chính vào chủ đề là triển khai bộ vi xử lý RISC-V 32-bit và triển khai thuật toán mã hóa SHA256 trên bộ vi xử lý. RISC-V là bộ kiến trúc tập lệnh mã nguồn mở nên được sử dụng rất nhiều trong nghiên cứu học thuật. Bộ vi xử lý kiến trúc tập lệnh RISC-V cơ bản bao gồm các khối: Control Unit, Program Counter, Instruction Memory, Register File, Algorithm and Logic Unit, Data Memory.
Bên cạnh đó thuật toán SHA256 là một trong những thuật toán băm phổ biến được sử dụng trong nhiều ứng dụng bảo mật như: băm mật khẩu, xác thực và lưu trữ giao dịch,.Do đó việc thực hiện thuật toán này trên các thiết bị nhúng RISC-V đang trở nên ngày càng phổ biến. Trong quá trình nghiên cứu, khóa luận đã thực hiện phân tích chỉ tiết cấu trúc của thuật toán SHA256, từ đó nhóm tiến hành xây dựng demo thuật toán SHA256 trên kiến trúc RISC-V và kiểm tra độ chính xác của thuật toán khi chạy trên kiến trúc RISC-V. Bộ vi xử lý RISC-V 32 bits sẽ được thiết kế để thực thi 37 lệnh thuộc kiến trúc RV32I, bên cạnh đó vi xử lý sẽ được bổ sung lệnh SHA256 để có thé thực thi thuật toán mã hóa SHA256. Bộ vi xử lý được thiết kế bằng ngôn ngữ mô tả phan cứng Verilog, quá trình mô phỏng kết quả sẽ được thực hiện bằng cách mô phỏng chức năng và thời gian thực thi thông qua waveform trên ModelSim và Vivado.
Sau đó, nhóm sẽ tiễn hành kiểm tra quá trình hoạt động của bộ xử lý trên kit Virtex 7 thông qua giao thức AXI4 bằng phần mềm Vivado và Vitis. GIỚI THIỆU ĐÈ TÀI 1. Tổng quan đề tài RISC-V là một kiến trúc tập lệnh mã nguồn mở (ISA) được giới thiệu lần đầu tiên vào năm 2010 tại Đại học California, Berkeley. Kể từ đó, RISC-V đã trở nên phổ biến trong giới nghiên cứu, học thuật và nghiên cứu nhờ tính đơn giản, tính mở rộng và tính linh hoạt của nó.
RISC-V được thiết kế dé có tính mở rộng, có nghĩa là nó có thể được sử dụng trong nhiều thiết bị, từ các hệ thống nhúng nhỏ đến các trung tâm dữ liệu quy mô lớn. RISC-V ISA được dựa trên triết lý Reduced Instruction Set Computing (RISC). tập trung vào việc giảm độ phức tạp của các tập lệnh để cải thiện hiệu suất, hiệu quả năng lượng và dễ dàng thiết kế. RISC-V được thiết kế đề có tính mô-đun, với một tập lệnh cơ bản và các tập mở rộng tùy chọn có thé được thêm vào dé đáp ứng các yêu cầu cụ thể của các ứng dụng khác nhau.
Phương pháp mô-đun này cho phép RISC-V được tùy chỉnh cho các trường hợp sử dụng khác nhau, chang hạn như các thiết bị IoT, điện thoại thông minh, máy chủ và tính toán hiệu năng cao. Một trong những lợi thế chính của RISC-V là tính mở nguồn của nó, có nghĩa là bất kỳ ai cũng có thé sử dụng, chỉnh sửa và phân phối ISA mà không cần phải trả các khoản phí hoặc hạn chế về giấy phép. Điều này đã dẫn đến sự phát triển của một hệ sinh thái phong phú xung quanh RISC-V, với một số lượng ngày càng tăng các công ty và tổ chức đóng góp cho sự phát triển của ISA và các công cụ, thư viện và phần mềm liên quan. Nhu cầu ngày càng tăng về bảo mật các hệ thống máy tính nên việc sử dụng các thuật toán mật mã đang thúc đây sự quan tâm đến độ hiệu quả của các thuật toán mật mã pho biến.
Mặc dù các thuật toán có thé được triển khai trong phần mềm nhưng có thể giảm chỉ phí bộ nhớ và cải thiện tốc độ bằng cách sử dụng các lệnh chuyên dụng và triển khai trên phần cứng. Việc triển khai các thuật toán mã hóa trên phần cứng có các ưu điểm sau: mã hóa dựa trên phần cứng nhanh hơn mã hóa dựa trên phần mềm vì nó giảm tải quá trình mã hóa và giải mã từ CPU sang phần cứng chuyên dụng, mã hóa dựa trên phần cứng an toàn hơn, tiết kiệm năng lượng hơn so với mã hóa dựa trên phần mềm vì nó sử dụng các mạch chuyên dụng được thiết kế dành riêng cho mã hóa và giải mã, mã hóa dựa trên phần cứng có thể mở rộng hơn mã hóa dựa trên phần mềm vì nó có thể dễ dàng tích hợp vào các thiết kế phần cứng hiện có, điều này đặc biệt quan trọng đối với các triển khai quy mô lớn. Trong đề tài này chúng em hiện thực thuật toán mã hóa SHA-256 trên RISC- V. SHA-256 là hàm băm mật mã được sử dụng dé tạo đầu ra có kích thước có định là 256 bit (32 byte).
Đây là một trong những hàm băm được sử dụng rộng rãi nhất trên thế giới và là một phần của họ hàm băm mật mã SHA-2, cũng bao gồm SHA- 224, SHA-384 và SHA-512. SHA-256 thường được sử dụng trong nhiều ứng dụng bảo mật, bao gồm chữ ký số, lưu trữ mật khẩu và kiểm tra tính toàn vẹn của đữ liệu. Nó cũng được sử dụng làm khối xây dựng cho các giao thức mã hóa khác, chẳng hạn như giao thức Bảo mật tầng vận chuyền (TLS) được sử dụng để liên lạc an toàn qua Internet. Tinh hình nghiên cứu ngoài nước Trên thế giới hiện nay, có nhiều những nghiên cứu và cải tiến về kiến trúc tập lệnh RISC-V.
Điểm mạnh của RISC-V là tính mã nguồn mở, kiến trúc linh hoạt và hiệu năng cao, đã thu hút sự quan tâm lớn từ cộng đồng nghiên cứu toàn cầu.