Khóa luận tốt nghiệp kỹ thuật máy tính thiết kế và hiện thực thuật toán kiểm tra chữ kí số rsa trên fpga

Khóa luận tốt nghiệp trình bày thiết kế và hiện thực thuật toán kiểm tra chữ ký số RSA trên FPGA, ứng dụng trong bảo mật thông tin hiệu quả.

Chuyên ngành

Kỹ thuật máy tính

Người đăng

Ẩn danh

Thể loại

Khóa luận tốt nghiệp

2022

76
4
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI

1.1. Đặt vấn đề

1.2. Một số nghiên cứu liên quan

1.3. Hướng nghiên cứu

1.4. Mục tiêu đề ra

1.5. Bố cục báo cáo

1.6. Kế hoạch thực hiện

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. Tổng quan

2.2. Công cụ Vivado Design Suite

2.3. Công cụ Vitis Unified Software Platform

2.4. Các thuật toán được sử dụng

2.4.1. Thuật toán Montgomery Modular Multiplication

2.4.2. Thuật toán Modular Exponentiation

2.4.3. Thuật toán RSA

2.4.4. Thuật toán SHA-256

2.4.5. Thuật toán chữ kí số RSA

3. CHƯƠNG 3: THIẾT KẾ HỆ THỐNG ĐỀ XUẤT

3.1. Khối Montgomery modular multiplication

3.2. Khối Modular exponentiation (RSA)

3.3. Thuật toán SHA-256

3.4. Thuật toán kiểm tra chữ kí số

4. CHƯƠNG 4: HIỆN THỰC THIẾT KẾ VÀ NẠP ỨNG DỤNG CỦA THIẾT KẾ VÀO BOARD FPGA

4.1. Phương pháp đánh giá

4.2. Kết quả tổng hợp các thiết kế

4.3. Thiết kế hệ thống SoC sử dụng khối DSA verification

4.4. Kết quả mô phỏng các thiết kế

4.5. So sánh kết quả thiết kế với các nghiên cứu có liên quan

5. CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI

5.1. Kết luận

5.2. Khó khăn gặp phải

5.3. Hướng phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng quan về đề tài

Khóa luận tập trung vào thiết kế và hiện thực thuật toán kiểm tra chữ ký số RSA trên FPGA, một vấn đề quan trọng trong lĩnh vực kỹ thuật máy tính. Đề tài nhằm giải quyết các thách thức trong việc bảo mật thông tin và xác thực giao dịch điện tử thông qua chữ ký số RSA. Khóa luận này là một phần của khóa luận tốt nghiệp và hướng đến việc tối ưu hóa thuật toán RSA trên phần cứng FPGA.

1.1. Đặt vấn đề

Với sự phát triển của các hệ thống thông tin, việc bảo mật và xác thực giao dịch điện tử trở nên cấp thiết. Chữ ký số RSA là một giải pháp hiệu quả để đảm bảo tính toàn vẹn và xác thực thông tin. Tuy nhiên, việc hiện thực thuật toán này trên phần cứng FPGA vẫn còn nhiều thách thức, đặc biệt là trong việc tối ưu hóa hiệu suất và tài nguyên.

1.2. Mục tiêu đề ra

Mục tiêu chính của khóa luận là hiện thực thuật toán kiểm tra chữ ký số RSA trên FPGA Virtex-7 XC7VX485T-2FFG1761C. Nhóm nghiên cứu hướng đến việc tối ưu hóa thuật toán Montgomery Modular Multiplication và kết hợp với thuật toán SHA-256 để tạo ra một hệ thống kiểm tra chữ ký số hoàn chỉnh.

II. Cơ sở lý thuyết

Chương này trình bày các công cụ và thuật toán được sử dụng trong khóa luận, bao gồm Vivado Design Suite, Vitis Unified Software Platform, và các thuật toán mã hóa như RSA, SHA-256, và Montgomery Modular Multiplication.

2.1. Công cụ Vivado Design Suite

Vivado Design Suite là công cụ chính được sử dụng để thiết kế và hiện thực hệ thống trên FPGA. Nó hỗ trợ tối ưu hóa logic, ước tính độ trễ, và tự động hóa các chiến lược thiết kế. Vivado cũng cung cấp khả năng thiết kế hợp tác thông qua Vivado IP Integrator, giúp tăng tốc quá trình phát triển.

2.2. Thuật toán RSA và SHA 256

Thuật toán RSA là một phương pháp mã hóa bất đối xứng được sử dụng rộng rãi trong việc tạo và kiểm tra chữ ký số. SHA-256 là thuật toán mã hóa một chiều được sử dụng để đảm bảo tính toàn vẹn của dữ liệu. Sự kết hợp của hai thuật toán này tạo nên nền tảng cho hệ thống kiểm tra chữ ký số.

III. Thiết kế hệ thống đề xuất

Chương này trình bày chi tiết về thiết kế hệ thống kiểm tra chữ ký số RSA trên FPGA. Hệ thống bao gồm các khối chính như Montgomery Modular Multiplication, Modular Exponentiation, và SHA-256. Các khối này được thiết kế để hoạt động song song, tối ưu hóa hiệu suất và tài nguyên.

3.1. Khối Montgomery Modular Multiplication

Khối này là trung tâm của thuật toán RSA, được thiết kế để thực hiện phép nhân modulo một cách hiệu quả. Nhóm nghiên cứu đã cải tiến thiết kế để tăng tần số hoạt động và giảm thời gian thực hiện phép tính.

3.2. Khối Modular Exponentiation

Khối này thực hiện phép lũy thừa modulo, một bước quan trọng trong quá trình mã hóa và giải mã RSA. Thiết kế được tối ưu để giảm số chu kỳ cần thiết và tăng tốc độ xử lý.

IV. Hiện thực thiết kế và đánh giá

Chương này trình bày quá trình hiện thực thiết kế trên FPGA và các kết quả đánh giá. Hệ thống được mô phỏng và kiểm tra trên Vivado Design Suite, sau đó được nạp lên FPGA Virtex-7 VC707 để thực thi. Kết quả cho thấy hệ thống đạt được tần số hoạt động 43.478 MHz trong mô phỏng và 30 MHz khi thực thi trên phần cứng.

4.1. Kết quả mô phỏng

Kết quả mô phỏng cho thấy hệ thống hoạt động ổn định và đáp ứng được các yêu cầu về thời gian và tài nguyên. Các khối RSA và SHA-256 được kiểm tra kỹ lưỡng để đảm bảo tính chính xác và hiệu suất.

4.2. Kết quả thực thi trên FPGA

Khi nạp lên FPGA, hệ thống đạt được tốc độ xử lý 30 MHz, phù hợp với các ứng dụng thực tế. Kết quả này được so sánh với các nghiên cứu trước đó, cho thấy sự cải tiến đáng kể về hiệu suất.

V. Kết luận và hướng phát triển

Khóa luận đã thành công trong việc thiết kế và hiện thực thuật toán kiểm tra chữ ký số RSA trên FPGA. Hệ thống đạt được hiệu suất cao và có tiềm năng ứng dụng trong các lĩnh vực bảo mật thông tin. Trong tương lai, nhóm nghiên cứu hướng đến việc tối ưu hóa thêm thuật toán và mở rộng ứng dụng của hệ thống.

5.1. Hướng phát triển

Nhóm nghiên cứu đề xuất việc tích hợp thêm các thuật toán mã hóa khác và tối ưu hóa thiết kế để tăng hiệu suất và giảm tài nguyên sử dụng. Ngoài ra, việc ứng dụng hệ thống trong các lĩnh vực thực tế như giao dịch điện tử và bảo mật dữ liệu cũng là một hướng phát triển quan trọng.

21/02/2025
Khóa luận tốt nghiệp kỹ thuật máy tính thiết kế và hiện thực thuật toán kiểm tra chữ kí số rsa trên fpga

Trích đoạn nội dung tài liệu

Chương 1: Tổng quan đề tài Chương | sẽ đặt van đề về dé tài, hướng nghiên cứu của dé tài và mục tiêu của đề tài. Chương 2: Cơ sở lý thuyết Chương 2 sẽ trình bày những công cụ phục vụ trong việc thiết kế hệ thống và lý thuyết của các giải thuật được sử dụng trong hệ thống. Chương 3: Thiết kế hệ thống đề xuất Chương 3 sẽ trình bày về tổng quan hệ thống kiểm tra chữ kí số RSA cũng như tổng quan thiết kế Block Design của hệ thống và các IP của Xilinx dùng trong thiết kế trên phần mềm Vivado Design Suit. Chương 4: Hiện thực thiết kế và nạp ứng dụng của thiết kế vào board FPGA Chương 4 trình bày phương pháp đánh giá của thiết kế, kiểm tra kết quả mô phỏng của hệ thống dựa trên công cụ Simulation được tích hợp trong Vivado Design Suit và kết quả tổng hợp, thực thi của thiết kế trên Vivado cũng như trên Board FPGA Virtex-7 VC707.

Bên cạnh đó, kết quả thực hiện cũng được so sánh với các nghiên cứu liên quan. Chương 5: Kết luận và hướng phát triển Chương 5 sẽ tóm tắt toàn bộ công việc và kết quả đạt được. Đồng thời đề ra phương hướng phát triển cho đề tài trong tương lai cũng được trình bày ở chương này.6 Kế hoạch thực hiện Nhóm sẽ tiến hành thực hiện khóa luận này theo bảng kế hoạch thực hiện đã đề ra ở Bảng 1.2: Bảng kế hoạch thực hiện Thời gian Lê Nguyễn Công Toại Nguyễn Hoàn Tâm 14/2 - 27/2 Nghiên cứu cấu trúc của bộ Nghiên cứu cấu trúc của bộ kiểm tra chữ kí số RSA. kiểm tra chữ kí số RSA.

Đọc tài liệu. Đọc tài liệu. Vẽ diagram (SHA. 28/2 — 13/3 Tối ưu và hoàn thiện thuật Tìm hiệu và ứng dụng thuật toán RSA.

14/3 — 1/5 Xây dựng khối kiểm tra chữ | Xây dựng khối kiểm tra chữ kí kí số RSA. Tổng hợp, mô phỏng. Xử lý timing, kiểm tra thiết kế. 25/4 — 22/6 Viết báo cáo khóa luận giữa | Xây dựng hệ thống SoC ki.

MicroBlaze sử dụng giao thức Viết bai báo. AXI4Stream cho thiết kế kiểm tra chữ kí số. Viết chương trình tạo Test case bằng Python. Nạp lên FPGA, kiểm tra.

16/5 — 29/5 Đánh giá lại hệ thống. Đánh giá lại hệ thống. 30/5 — hiện tại Viết báo cáo khóa luận. Chỉnh sửa báo cáo khóa luận.

Kiểm tra, đánh giá hệ thống. Kiểm tra, đánh giá hệ thống. Chương 2: Cơ sở lý thuyết 2.1 Tổng quan Có rất nhiều loại phương pháp mã hóa khác nhau đã ra đời. Mỗi loại có những ưu và nhược điểm riêng.

Ta có thể phân chia các phương pháp mã hóa thành 4 loại chính. Ưu và nhược điểm cung các loại thuật toán mã hóa được đề cập ở Bảng 2.1: Ưu và nhược điểm của các thuật toán mã hóa Thuật toán | Ưu điểm Nhược điểm Loại mã hóa MD5 Dễ so sánh và lưu trữ. Hai chuỗi text có thê ra | Mã hóa một Định dạng 128-bit. cùng Message Digest.

| chiéu Dễ kiểm tra lỗi Ít bảo mật hơn SHA. Tính toán nhanh. SHA-256 Rất khó bị bẻ khóa. Cham hơn so với MDS.

Tính toán nhanh. Định dạng 256-bit. DES Có thê định nghĩa khóa | Dinh dạng 56-bit dễ bị | Mã hóa đối tròn. xứng Tính toán tương đối chậm.

AES Định dạng 128/192/256- Cấu trúc đại số đơn bit. giản, mã hóa cùng một Khó dé bẻ khóa. Phúc tap đề triển khai về mặt hiệu suất và bảo mật. RSA Xác minh don giản Tính toán chậm hon.

Mã hóa bất DSS Tính toán nhanh. Xác minh phức tạp. đối xứng Từ Bảng 2.1, nhóm đề xuất một kiến trúc kiểm tra chữ kí số RSA được dựa trên 2 thuật toán là RSA và SHA-256. Mục đích chính của thuật toán này dùng để xác minh bộ dữ liệu nhận được có chính xác như dữ liệu đã gởi hay không.

Quá trình kiểm tra này sẽ được thực hiện song song và kết quả sẽ được so sánh lại với nhau. Nếu chúng trùng khớp với nhau, quá trình kiểm tra chữ kí số này đã hoàn tắt. Ngược lại, nếu chúng không trùng khớp với nhau, hoặc là dữ liệu đã bị thay đổi, hoặc là chữ kí số đã bị thay đổi, hoặc là cả hai. Chỉ tiết về thuật toán sẽ được đề cập ở mục 2.5 trong khóa luận này.2 Công cụ Vivado Design Suite Vivado Design Suite là t6 hợp các phần mềm của hãng Xilinx.

Phần mềm này được tạo ra bằng việc nâng cấp các thế hệ phần mềm thiết kế cũ ISE Design Suite. Vivado được dùng dé phát triển các ứng dụng trên thế hệ chip va board Xilinx® 7 series, Zynq®-7000 All Programmable, UltraScaleTM Các thé hệ board cũ cua Xilinx như Series 6 sẽ vẫn được hỗ trợ bởi ISE, Plan Ahead. Vivado là phần mềm có rất nhiều chức năng. Nói một cách ngắn gọn, nó hỗ trợ tất cả các khâu của quá trình thiết kế Logic sử dụng FPGA.

Vivado cho phép các thuật toán dựa trên Machine Learning (ML) giúp tăng tốc quá trình đóng thiết kế. Công nghệ này có tính năng tối ưu hóa logic dựa trên ML, ước tính độ trễ và chạy thiết kế thông minh, giúp tự động hóa các chiến lược. Xilinx cũng đang giới thiệu khái niệm về một Abstract Shell, cho phép người dùng xác định nhiều mô-đun trong hệ thống dé được biên dịch tăng dan va song song. Điều này cho phép giảm thời gian biên dịch trung bình xuống 5 lần và lên đến 17 lần so với việc biên dịch toàn hệ thống truyền thống.

Abstract Shell cũng giúp bảo vệ IP của khách hàng bằng cách ân các chỉ tiết thiết kế bên ngoài các mô-đun, rất quan trọng đối với các ứng dụng như FPGA như là một Service. Ngoài ra, Vivado cải tiền thiết kế hợp tác với Vivado IP Integrator, cho phép thiết kế mô-đun bằng cách sử dụng tính năng “hộp chứa thiết kế khối” mới. Khả năng này thúc đầy phương pháp luận thiết kế dựa trên nhóm và cho phép đưa ra chiến lược chia đề trị đề xử lý thiết kế lớn với sự phân bồ ở nhiều nơi.1: Phần mềm Vivado Design Suit 2. Công cu Vitis Unified Software Platform Nền tang phần mềm hợp nhất của Vitis bao gồm: ¢ _ Bộ phát triển cốt lõi toàn diện dé xây dựng liền mạch các ứng dụng được tăng tốc.

¢ _ Tập hợp phong phú các thư viện mã nguồn mở được tăng tốc phan cứng được tối ưu hóa cho các nền tảng phần cứng Xilinx FPGA và Versal ACAP. © Môi trường phát triển miền cụ thé cho phép phát triển trực tiếp trong các frameworks quen thuộc, cấp cao hơn. ¢ Hé sinh thái đang phát triển của các thư viện đối tác được tăng tốc phần cứng và các ứng dụng được tạo sẵn. 10 e Vitis Model Composer, một công cụ thiết kế dựa trên mô hình cho phép khám phá và xác minh thiết kế nhanh chóng trong môi trường MathWorks MATLAB® và Simulink® và tăng tốc đường dẫn đến các thiết bị được sản xuất bởi Xilinx.

Vitis Networking P4 cho phép tạo ra các mạng được định nghĩa mềm. Trinh xây dung dit liệu VitisNetP4 tạo ra các hệ thống có thé được lập trình cho một loạt các chức năng xử lý gói từ phân loại gói đơn giản đến chỉnh sửa gói phức tạp. Việc phát triển Vitis cho phép khả năng di chuyền từ nền tảng này sang nền tảng khác. Phương pháp thiết kế dựa trên nền tảng của Vitis mang lại nhiều lợi thế về năng suât.

© Tai sử dụng nền tảng: Hoan đồi các ứng dụng tăng tốc khác nhau với cùng một nên tảng. ¢ Ứng dung Portable: Các port ứng dụng trên các nền tảng khác nhau. © _ Thời gian mô phỏng: Tăng tốc độ đồng mô phỏng với Kernels. e Thời gian chạy: Thời gian chạy mã nguồn mở xử lý giao tiếp thiết bị chủ thông qua PCIe hoặc được nhúng.

© _ Gỡ lỗi hệ thống: Lưu biên dịch phần cứng day đủ bằng cách đồng bộ mô phỏng toàn bộ hệ thống. 11 Caffe Domain-specific. Y_ XILINX Ÿ_ XUNX MATLAB’ ma Partner development OPyTorch a VITIS ^ VITIS SSIMULINK® Ry Development environments bắc ng ow Environments Video Analytics SDK Blockchain Solution Model Composer Networking Vitis & Image Math & Linear Vitis Compiler & Linker i Vits core Vitis HLS RTL Kernel Wizard l[ Al Engine Compiler NACE MTEL cer development kit Xilinx runtime library (XRT) Vitis target platform Zynq : ‘ UltraScale MPSoC Zynq-7000 Kria SoM Varium Cards Versal Cards Hình 2.2: Các thành phan có trong Vitis Unified Software Platform 2.4 Phần mềm tao Test case @ RSA Signature — Oo x GENERATE RSA DIGITAL SIGNATURE Select INPUT option: Keyboard input Open File 12 Phần mềm tạo Test case được xây dụng dựa trên ngôn ngữ Python (Hình 2.3), sử dụng thư viện PyCryptodome va RSA với mục đích tạo dit liệu đầu vào cho thiết kế. Phần mềm cho phép người dùng nhập trực tiếp tin nhắn (message) hoặc sử dụng file text (.txt), với các trường hợp Test case đúng va Test case sai.

Sau khi chạy phần mềm, các giá trị dữ liệu được lưu dưới dạng file text như Hình 2.4, bao gồm: e BLOCK_MESSAGE.txt : chứa các block của message sau khi padding.txt:: chứa số lượng block của message sau khi padding e PublicKey.txt : chứa public key cua RSA ¢ Signature.txt: chứa chữ kí số.txt : chứa thông điệp sau khi mã hóa.txt /6/2022 15:20 TXTFile 2KB [ui’ Digest-txt TXT File 1KB [Ä Num_Turn.tet TXT File 1KB [DÄ PublicKey.txt TXT File 1KB [aif Signature.tet TXT File 1KB Hình 2.4: Các file sau khi tao ra bằng phần mềm 2.5 Các thuật toán được sử dụng 2.1 Thuật toán Montgomery Modular Multiplication Phép nhân mô-đun Montgomery là một phương pháp phô biến đề tính toán phép nhân mô-đun nhanh chóng. Nó được giới thiệu vào năm 1985 bởi Peter L. Bằng cách chuyển đổi các số thành dang Montgomery của nó, các phép tính hiện đơn giản hon và hiệu qua hơn dé tinh AB mod M. Hiệu quả đến từ việc tránh các hoạt động phân chia tốn kém.

Dé chuyền sang dạng số Montgomery, chúng ta cần một số nguyên dương r > M nguyên tổ với A, tức là ged (M, r) = 1. Thông thường, chúng ta thường chọn r là 13 lũy thừa của 2 và M sẽ là một số lẻ, vì phép chia và các phép toán khác trong thuật toán lúc này sẽ được thay thế bằng phép dịch và các phép toán đơn giản khác. Ta có yêu cầu bài toán như sau: S = A.B mod M Gọi các dang Montgomery của A, B và S lần lượt là A', B' và S', trong đó: A'=ArmodM B'=BrmodM S’ =S.r mod M Giá trị trả về của Mô-đun Montgomery là: Mont (A, B, M) = A.B mod M (kết quả mong muốn) Thuật toán Montgomery modular multiplication được thực hiện như sau: For i= 0 to n-1 Begin If (S +A¡B) % 2 == 0) S=(S+A¡B)/⁄2 Else S =(S+A¡B+M)/2 14 End If(S >M) S=S-M Trong đó A, B, M và S là các số n-bit.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Thiết kế và hiện thực thuật toán kiểm tra chữ ký số RSA trên FPGA - Khóa luận tốt nghiệp kỹ thuật máy tính là một tài liệu chuyên sâu tập trung vào việc thiết kế và triển khai thuật toán kiểm tra chữ ký số RSA trên phần cứng FPGA. Tài liệu này không chỉ cung cấp cái nhìn chi tiết về cách thức hoạt động của chữ ký số RSA mà còn đề xuất các giải pháp tối ưu hóa hiệu suất thông qua việc sử dụng FPGA. Điều này mang lại lợi ích lớn cho các kỹ sư và nhà nghiên cứu trong lĩnh vực bảo mật và xử lý tín hiệu số, giúp họ hiểu rõ hơn về cách tích hợp các thuật toán mã hóa vào phần cứng một cách hiệu quả.

Nếu bạn quan tâm đến các ứng dụng thực tế của bảo mật trong hệ thống công nghệ thông tin, bạn có thể khám phá thêm Luận văn thạc sĩ áp dụng tri thức về phát hiện phân loại tấn công từ chối dịch vụ để thiết kế hệ thống bảo vệ. Tài liệu này cung cấp cái nhìn sâu sắc về cách thiết kế hệ thống bảo vệ chống lại các cuộc tấn công từ chối dịch vụ, mở rộng kiến thức của bạn về an ninh mạng và các giải pháp bảo mật hiện đại.