1. Trang chủ
  2. » Mẫu Slide

hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình

81 2 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 đề Hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Tác giả Phạm Lê Song Ngân
Người hướng dẫn PGS.TS. Phạm Quốc Cường
Trường học Trường Đại học Bách Khoa - Đại học Quốc gia TP. HCM
Chuyên ngành Khoa học máy tính
Thể loại Luận văn thạc sĩ
Năm xuất bản 2024
Thành phố Hồ Chí Minh
Định dạng
Số trang 81
Dung lượng 2,46 MB

Nội dung

Một trong những ứng dụngsử dụng hệ thống mã hóa elliptic nổi tiếng nhất chính là bitcoin và blockchain.Đường cong secp256k1 và giải thuật mã hóa chữ ký số ECDSA là tiền đề và vẫn đang là

Trang 1

ĐẠI HỌC QUỐC GIA TP HCM

TRƯỜNG ĐẠI HỌC BÁCH KHOA

-

PHẠM LÊ SONG NGÂN

HỆ THỐNG TĂNG TỐC PHẦN CỨNG CHO GIẢI THUẬT MÃ HÓA DỰA TRÊN

TÍNH TOÁN TÁI CẤU HÌNH

Chuyên ngành : KHOA HỌC MÁY TÍNH

Mã số: 8480101

LUẬN VĂN THẠC SĨ

TP HỒ CHÍ MINH, tháng 01 năm 2024

Trang 2

CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA –ĐHQG -HCM Cán bộ hướng dẫn khoa học : PGS.TS PHẠM QUỐC CƯỜNG

Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm:

(Ghi rõ họ, tên, học hàm, học vị của Hội đồng chấm bảo vệ luận văn thạc sĩ)

1 Chủ tịch hội đồng : PGS.TS Trần Văn Hoài

2 Thư ký hội đồng : TS Phạm Hoàng Anh

3 Giảng viên phản biện 1: TS Phạm Trung Kiên

4 Giảng viên phản biện 2: PGS.TS Trần Ngọc Thịnh

5 Ủy viên hội đồng : TS Tôn Long Phước

Xác nhận của Chủ tịch Hội đồng đánh giá LV và Trưởng Khoa quản lý chuyên ngành sau khi luận văn đã được sửa chữa (nếu có)

CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH

Trang 3

TRƯỜNG ĐẠI HỌC BÁCH KHOA Độc lập - Tự do - Hạnh phúc

NHIỆM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: PHẠM LÊ SONG NGÂN MSHV: 2070420

Ngày, tháng, năm sinh: 19/05/1998 Nơi sinh: TP Hồ Chí Minh Chuyên ngành: Khoa học máy tính Mã số : 8480101

I TÊN ĐỀ TÀI : HỆ THỐNG TĂNG TỐC PHẦN CỨNG CHO GIẢI THUẬT MÃ HÓA

DỰA TRÊN TÍNH TOÁN TÁI CẤU HÌNH

RECONFIGURABLE COMPUTING)

II NHIỆM VỤ VÀ NỘI DUNG :

• Tìm hiểu về hệ mật mã đường cong, thuật toán chữ ký số ECDSA trên các ứng dụng hiện nay nói chung và trên FPGA nói riêng

• Tìm hiểu hoạt động của giải thuật ECDSA

• Sử dụng bộ công cụ Vivado ML và phần cứng FPGA của Xilinx để xây dựng hệ thống tăng tốc phần cứng cho giải thuật ECDSA

• So sánh kết quả hiện thực và hiệu quả của kiến trúc so với các nghiên cứu liên quan trên phần cứng tái cấu hình liên quan, đặc biệt là FPGA

III NGÀY GIAO NHIỆM VỤ : 06/02/2023

IV NGÀY HOÀN THÀNH NHIỆM VỤ: 10/12/2023

V CÁN BỘ HƯỚNG DẪN : PGS.TS Phạm Quốc Cường

Trang 4

LỜI CẢM ƠN

Sau một thời gian tiến hành triển khai nghiên cứu, tôi cũng đã hoàn thành

đề tài luận văn thạc sĩ "Hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựatrên tính toán tái cấu hình" Luận văn được hoàn thành không chỉ là công sứccủa bản thân tác giả mà còn có sự giúp đỡ, hỗ trợ tích cực của nhiều cá nhân

và tập thể

Trước hết, tôi xin bày tỏ lòng biết ơn đến giáo viên hướng dẫn của tôi, thầy

- PGS.TS.Phạm Quốc Cường, đã luôn tận tình hướng dẫn và cho tôi lời khuyêntrong suốt quá trình nghiên cứu và viết luận văn Những kiến thức và ý kiếnkhuyến nghị của thầy vô cùng quý giá và quan trọng vào việc hoàn thành đề tàinày

Tôi cũng xin bày tỏ lòng biết ơn đến ba mẹ tôi, đồng nghiệp và bạn bè củatôi vì sự hỗ trợ tinh thần và ý kiến quý báu trong suốt thời gian tôi nghiên cứu

và viết luận văn Sự động viên và lời khích lệ của họ đã giúp tôi vượt qua nhữngkhó khăn và nỗ lực để đạt được mục tiêu này

Tôi không thể thể hiện được hết lòng biết ơn đến các thầy cô giảng dạy tạitrường Đại học Bách Khoa - ĐHQG TP.HCM, những đồng nghiệp tại công tyMarvell Technology và những bạn học trong suốt thời gian học tập, làm việc vàthực hiện luận văn Sự góp ý và hỗ trợ của họ đã là nguồn động viên quý báutrong suốt quá trình này

Cuối cùng, tôi xin gửi lời cảm ơn đến tất cả những người đã đóng góp thôngtin, tư liệu, và hỗ trợ khác cho dự án nghiên cứu của tôi

Lời cảm ơn này không thể nào đủ lớn để thể hiện lòng biết ơn sâu sắc của tôiđến tất cả những người đã đứng đằng sau việc hoàn thành luận văn này

Xin chân thành cảm ơn

Trân trọng,

Phạm Lê Song Ngân

Trang 5

TÓM TẮT LUẬN VĂN THẠC SĨ

Ngày nay, bảo mật thông tin đóng vai trò vô cùng quan trọng, và các giảithuật mã hóa đang ngày càng trở thành trụ cột trong việc đảm bảo tính toànvẹn và an toàn của thông tin Trong đó, phải kể đến hệ thống mật mã đườngcong elliptic (elliptic curve cryptogrpahy) Cùng với những yêu cầu khắt khe vềtốc độ mã hóa, độ chính xác cao và khả năng lưu trữ tốt, số lượng đường congelliptic được nghiên cứu và công bố ngày càng nhiều; điều này giúp củng cố

độ tin cậy và tính vẹn toàn của hệ thống mã hóa Một trong những ứng dụng

sử dụng hệ thống mã hóa elliptic nổi tiếng nhất chính là bitcoin và blockchain.Đường cong secp256k1 và giải thuật mã hóa chữ ký số ECDSA là tiền đề và v

ẫn đang là công cụ phổ biến trong lĩnh vực bitcoin

Đối với yêu cầu tối ưu hóa hiệu năng hệ thống và khả năng xử lý, đặc biệt làtrên những giải thuật mã hóa/giải mã, luôn là chủ đề nghiên cứu và phát triểnbởi sự ra đời của đa dạng các loại phần cứng tái cấu hình như FPGA, hoặc mạchtích hợp chức năng ASIC Bởi vì tính phổ thông và dễ dàng lập trình, thay đổi

và nâng cấp thiết kế theo nhu cầu mà FPGA luôn rất được săn đón cho các dự

án cải tiến, tăng tốc hệ thống Ngôn ngữ sử dụng cũng đa dạng vì có thể kếthợp ngôn ngữ đặc tả phần cứng HDLs hay thập chí là ngôn ngữ cấp cao (HLS).Điều này giúp đa dạng khả năng thiét kế, tiện nghi thời gian và công sức hiệnthực

Ở đề tài luận văn này, tác giả sử dụng phần cứng Kria KV260 Vision AI vàphần mềm Vivado của nhà phát triển Xilinx để hiện thực bộ mã hóa chữ ký sốECDSA sử dụng đường cong secp256k1 để tối ưu thời gian tích hợp kiến trúc

và xử lý chữ ký số Đường cong elliptic này đước sử dụn phổ biến và các bướchiện thực giải thuật ECDSA được xuất bản nhiều trong các nghiên cứu và tàiliệu Mục tiêu của đề tài này là dựa trên giải thuật ECDSA cơ bản để cải tiếncách hiện thực phần cứng xử lý tính toán, giao tiếp dữ liệu giữa các khối chứcnăng để tăng tốc độ xử lý và tiết kiệm tài nguyên sử dụng cho phần cứng Kếtquả của đề tài cho thấy khả năng tối ưu hóa khối tính toán logic đem lại hiệuquả xử lý nhanh hơn so với kiến trúc truyền thống mà vẫn đảm bảo tính chínhxác của giải thuật

Trang 6

Currently, information security plays an extremely important role, and tography algorithms are increasingly becoming a cornerstone in ensuring theintegrity and safety of information Among them, the elliptic curve cryptogra-phy system (ECC) must be mentioned Within strict requirements for process-ing speed, high accuracy, and good storage capabilities, the number of ellipticcurves researches and publishing are counting, which strengthens the reliabilityand integrity of this encryption system One of the most well-known applicationsusing elliptic curve cryptography is the usage of Bitcoin and Blockchain Thesecp256k1 curve and the ECDSA digital signature algorithm are the foundationand remain popular tools in the field of crypto-currencies

cryp-For optimizing system performance and processing capabilities, especially incryptography algorithms, research and development are ongoing with the emer-gence of various types of re-configurable hardware such as FPGAs or dedicatedASIC integrated circuits Due to their versatility and ease of programming, mod-ification, and design upgrades according to needs, FPGAs are highly sought af-ter for improvement projects, hardware acceleration The language used is alsodiverse as it can combine hardware description languages (HDLs) or even high-level languages (HLS) This helps diversify design capabilities, facilitate timeand effort

In this thesis, the author uses the Kria KV260 Vision AI hardware tem and Xilinx’s Vivado software to implement the ECDSA digital signaturealgorithm using the secp256k1 curve to optimize the integration time of thearchitecture and process digital signatures This elliptic curve is widely used,and the steps to implement the ECDSA algorithm have been published in manyresearch papers and documents The goal of this thesis is to base on the basicECDSA algorithm to improve the workflow of ECDSA, study on how data iscommunicated between functional blocks to increase processing speed, and saveresources used for hardware The results of the thesis show how optimizing thelogic computation block can bring up, which is expected to process faster withhigher efficiency than traditional architectures while still ensuring the accuracy

ecosys-of the algorithm

Trang 7

LỜI CAM ĐOAN

Tôi, Phạm Lê Song Ngân, Mã học viên: 2070420, cam đoan rằng luận văn thạc sĩnày được viết dưới sự hướng dẫn của PGS.TS.Phạm Quốc Cường và hoàn toànphản ánh công trình nghiên cứu và quan điểm cá nhân của tôi Tất cả thông tin

và nguồn tài liệu từ nguồn khác đều đã được dẫn chính xác và đầy đủ theo quytắc trích dẫn và tham chiếu Tôi cam đoan rằng tôi đã tuân thủ mọi quy định

và hướng dẫn về việc viết luận văn của khoa Khoa học và Kỹ thuật máy tínhtrường Đại học Bách Khoa - Đại học Quốc Gia thành phố Hồ Chí Minh trongviệc thực hiện nghiên cứu và viết luận văn này Tôi đảm bảo rằng không có sựgian lận, vi phạm, hoặc sử dụng thông tin từ nguồn khác mà không được nêu

rõ trong luận văn

Tôi hiểu rằng bất kỳ vi phạm nào của tôi đối với các quy tắc và quy định củatrường đại học hoặc tổ chức sẽ bị xem xét một cách nghiêm túc

Phạm Lê Song Ngân

Trang 8

Chương 1 Giới thiệu đề tài 1

1.1 Đặt vấn đề 1

1.2 Lý do chọn đề tài 2

1.3 Mục đích và phạm vi nghiên cứu 2

1.3.1 Mục đích nghiên cứu 3

1.3.2 Phạm vi nghiên cứu 3

1.4 Cấu trúc của luận văn 3

Chương 2 Cơ sở lý thuyết 5 2.1 Khái quát về mã hóa và giải thuật mã hóa đường cong Elliptic Curve 5

2.1.1 Giới thiệu về mã hóa 5

2.1.2 Hệ mật mã đường cong ECC 6

2.2 Biểu diễn tọa độ trên trường hữu hạn 10

2.2.1 Tọa độ quan hệ - tọa độ Affine 10

2.2.2 Tọa độ chiếu - Projective 11

2.3 Các nghiên cứu liên quan 13

2.3.1 Ứng dụng xác thực chữ ký số ECDSA trong thực tế 13

2.3.2 Các nghiên cứu khoa học khác 17

2.4 Tiểu kết 22

Chương 3 Giới thiệu phần cứng FPGA và Kria KV260 Vision AI 23 3.1 Phần cứng máy tính và FPGA 23

3.1.1 Giới thiệu về phần cứng FPGA 23

3.1.2 Kiến trúc của FPGA 25

3.1.3 Các ứng dụng của FPGA trên thực tế 26

3.2 Phần cứng FPGA Kria 260 Vision AI kit 27

Trang 9

Chương 4 Phương pháp giải quyết vấn đề 30 4.1 Các bước của một giải thuật mã hóa trong hệ thống mật mã

đường cong elliptic 30

4.2 Chọn đường cong Elliptic, trường hữu hạn và điểm cơ bản 31

4.3 Tạo khóa 33

4.4 Thuật toán chữ ký số trên mật mã đường cong elliptic 33

4.4.1 Tạo chữ ký và tính toán chữ ký 34

4.4.2 Xác thực chữ ký 46

Chương 5 Hiện thực hệ thống trên công cụ Vivado 48 5.1 Công cụ Vivado ML 48

5.2 Xây dựng giao thức kết nối với phần cứng FPGA 48

5.2.1 Giao thức kết nối AXI 48

5.3 Kiến trúc hệ thống và lượt đồ trạng thái 51

5.4 Kiểm tra tính chính xác của kết quả 55

5.5 Hiện thực trên phần cứng Kria KV260 Vision AI 55

Chương 6 Đánh giá và phân tích kết quả 58 6.1 Kết quả 58

6.2 Phân tích và đánh giá 61

6.3 Tiểu kết 62

Chương 7 Kết luận 63 7.1 Kết quả đạt được 63

7.2 Mở rộng đề tài 64

Trang 10

2.1 Mô hình mã hóa, giải mã cơ bản 5

2.2 Đường cong ECC đối xứng qua trục X và cắt đường cong ở nhiều nhất 3 điểm 7

2.3 Sơ đồ kiến trúc và dữ liệu xác thực ECDSA với khối precompute, nguồn trích dẫn: [16] 16

2.4 Kiến trúc hệ thống, nguồn trích dẫn: [26] 18

2.5 Sơ đồ trạng thái hoạt động của PMC, nguồn trích dẫn: [26] 19

2.6 Kiến trúc phép cộng/trừ song song word-wise, nguồn trích dẫn: [17] 21 3.1 Bảng so sánh hiệu năng và tính linh hoạt trong các nền tảng mạch tích hợp, nguồn trích dẫn: [21] 24

3.2 Kiến trúc và thành phần của FPGA, nguồn trích dẫn: [22] 25

3.3 Các thành phần giao tiếp của phần cứng FPGA Kria KV260 Vision AI Developer Kit, theo: [24] 28

4.1 Bảng quy đổi nhị phân của mã ASCII, nguồn trích dẫn: [32] 35

4.2 Kién trúc phần cứng của khối modular inversion 42

4.3 Kiến trúc phần cứng các thành phần tính toán theo thứ tự: phép cộng, phép trừ 43

4.4 Kiến trúc phần cứng các thành phần tính toán của phép nhân 43

5.1 Kiến trúc thiết kế và hoạt động của giao thức AXI [37] 50

5.2 Các tín hiệu giao tiếp cơ bản của giao thức AXI [37] 50

5.3 Kiến trúc bộ giao tiếp AXI sử dụng trong hệ thống 50

5.4 Giao diện làm việc chính của Vivado ML 51

5.5 Sơ đồ kết nối và điều khiển khi hiện thực hệ thống 52

5.6 Các khối module làm việc của hệ thống 52

5.7 Kết quả chạy mô phỏng tạo chữ ký số với tin nhắn "abc", xuất ra màn hình 53

Trang 11

5.8 Đối với testcase dựa trên thư viện testcase của NIST đề xuất [40] 535.9 Các bước xây dựng chương trình trên Vivado (bên trái) và hiệnthực thiết kế trên phần cứng Kria KV260 (bên phải) 56

6.1 Thống kê tài nguyên sử dụng sau khi tối ưu hóa chương trình 586.2 Báo cáo năng lượng tiêu thụ trên điều kiện năng lượng 596.3 Báo cáo năng lượng tiêu thụ trên điều kiện nhiệt độ 596.4 Bảng thống kê số lượng logic, tốc độ xử lý và tần số tối đa củatừng module xử lý 596.5 Kết quả hiện thực trên Kit phần cứng thực tế 606.6 Kết quả thực hiện gửi gói tin trên đơn vị latency và throughput 606.7 Bảng so sánh thông số khi khởi tạo chữ ký số ECDSA trên cácthiết kế 60

Trang 12

2.1 Thời gian phá khóa ứng với chiều dài của khóa ở mã hóa RSA vàECC, nguồn:[11] 72.2 Số lượng logic trong kiến trúc thiết kế ECDSA (tần số 250MHz) 162.3 So sánh throughput giữa các máy học blockchains và kiến trúc

5.1 Thanh ghi giao tiếp giữa hệ thống xử lý (programming system PS) và thiết kế FPGA (programming logic - PL) 57

Trang 13

-Giới thiệu đề tài

1.1 Đặt vấn đề

Trong thời đại của sự kết nối liên tục và tốc độ truy xuất, xử lý thông tindiễn ra gần như tức thì và cùng với sự phát triển của dữ liệu lớn (big data),máy học (machine learning) và trí tuệ nhân tạo (artificial intelligent), việc bảomật dữ liệu đã trở thành một trong những ưu tiên hàng đầu của thế giới số hóahiện đại Mã hóa dữ liệu là chuyên môn thuộc lĩnh vực công nghệ thông tin, bảomật, nhằm tập trung đảm bảo tính riêng tư người dùng và bảo vệ thông tin, dữliệu khỏi sự truy cập trái phép Các thuật toán mã hóa thường cung cấp nhữngyếu tố bảo mật then chốt như xác thực, tính toàn vẹn và không thu hồi Xácthực cho phép xác minh nguồn gốc của dữ liệu, tính toàn vẹn chứng minh rằngnội dung của dữ liệu không bị thay đổi kể từ khi nó được gửi đi Việc không thuhồi đảm bảo rằng người dùng không thể hủy việc gửi dữ liệu [1]

Tuy nhiên, việc áp dụng các giải thuật mã hóa có thể đồng nghĩa với sự haotổn về hiệu suất khi xử lý dữ liệu, đặc biệt trên các thiết bị phần cứng có tàinguyên hạn chế Trong bối cảnh này, nghiên cứu về cách tối ưu hóa tốc độ xử

lý thông qua tăng tốc phần cứng bằng giải thuật mã hóa đã trở nên quan trọnghơn bao giờ hết

Đối với phần cứng, sự kết thúc của định luật Moore sẽ dẫn đến thách thứctrong việc cải tiến kiến trúc phần cứng hiện tại Các nghiên cứu tập trung xử lýtăng tốc cho phần cứng được quan tâm hơn hết Hiện tại, nhiều kiến trúc phầncứng phục vụ cho mục đích tăng tốc khả năng xử lý dữ liệu bằng các đơn vị tínhtoán không đồng nhất như: Mạch tích hợp dành riêng cho ứng dụng (ASIC), Bộ

xử lý GPU và mạch FPGA [2] Trong đó, FPGA là công nghệ vi mạch tích hợp

có tính ưu việt và mức độ ứng dụng phổ biến nhất trong vòng vài chục năm trởlại đây Ngoài khả năng tái cấu trúc vi mạch toàn cục, một số FPGA hiện đại

Trang 14

còn hỗ trợ tái cấu trúc từng bộ phận riêng lẻ (partial configuration) trong khivẫn đảm bảo hoạt động bình thường cho các bộ phận khác Đây là chức năngcho phép ứng dụng có thể tái cấu trúc một phần thiết kế theo yêu cầu mà khôngcần phải ngừng hệ thống để lập trình lại toàn bộ - cũng là lựa chọn đáng đượccân nhắc cho các đề tài tăng tốc phần cứng [3].

1.2 Lý do chọn đề tài

Tháng 3 năm 2016, Bộ Ngoại Giao Hoa Kỳ, đứng đầu là bộ trưởng JohnKerry, đã dẫn một đoàn đại biểu tới các nước ASEAN trong đó có Việt Nam đểthảo luận về sự phát triển của công nghệ Fintech, trong đó công nghệ Blockchainđược quan tâm hàng đầu [4] Tính đến tháng 03 năm 2022, vốn hoá của Bitcoinhiện đạt 902 tỷ USD [5] Nền tảng cơ sở của Bitcoin chính là lý thuyết về mật

mã mà cụ thể ở đây là hàm băm và lý thuyết về chữ ký số dựa trên Hệ mật mãđường cong Elliptic (ECC) Bên cạnh việc sử dụng trong tiền số Bitcoin, ECCcòn được ứng dụng rất nhiều trong thực tiễn ngành Công nghệ thông tin Cáctrang Web bảo mật https (http-secure) thường được dùng trong thanh toán điện

tử hay ứng dụng riêng tư như gmail đều sử dụng các giao thức TLS (TransportLayer Security) Ưu điểm của hệ mật mã sử dụng đường cong Elliptic (ECC) là

có độ dài khóa nhỏ (160 bit tương đương với khóa độ dài 1024 Bit trong hệ mậtRSA), do sử dụng độ dài khóa nhỏ nên tài nguyên phục vụ cho ECC thườngnhỏ hơn rất nhiều, bên cạnh đó hiệu năng tính toán cũng được nâng cao rõ rệt.Hiện nay ECC đang là xu thế để thay thế RSA

Bên cạnh đó, như đã đề cập ở phần giới thiệu, với việc hiện thực giải thuật

mã hóa này trên hệ thống phần cứng tái cấu hình làm rõ các nhận định về khảnăng bảo mật của giải thuật, tốc độ xử lý và hiệu năng trên phần cứng thôngqua việc xây dựng mô hình kiến trúc thực thi thuật toán mã hóa, mô phỏngchương trình và thực thi trên phần cứng

1.3 Mục đích và phạm vi nghiên cứu

Mục đích, đối tượng và phạm vi nghiên cứu của đề tài luận văn "Hệ thốngtăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình" cóthể được mô tả như sau:

Trang 15

1.3.1 Mục đích nghiên cứu

Tên đề tài thể hiện khả năng cải thiện hiệu suất và tăng cường khả năng xử

lý của hệ thống mã hóa thông tin thông qua việc tích hợp các phương pháp tăngtốc phần cứng trên nền tảng FPGA Trong quá trình nghiên cứu, nhiều loại giảithuật mã hóa đường cong được phân tích và đánh giá để có thể tìm kiếm giảipháp hiệu quả để tối ưu hóa quá trình mã hóa trên FPGA, và có thể là sự kếthợp giữa phần cứng và phần mềm để đạt được hiệu suất tối đa

1.3.2 Phạm vi nghiên cứu

Phạm vi nghiên cứu đề tài tập trung vào các kiến trúc phần cứng tái cấuhình và có thể cải tiến để phục vụ cho mục đích tăng tốc quá trình xử lý giảithuật mã hóa Ngoài ra, kết quả đạt được dùng để phân tích và so sánh hiệusuất giữa các nghiên cứu liên quan trên cùng giải thuật sử dụng Các thông số

về tiêu tốn điện năng, thời gian thực thi, tài nguyên sử dụng đối với hiệu suấtcủa hệ thống cũng được chú trọng và thể hiện trong bảng kết quả

Ở hướng phát triển và nếu có cơ hội, đề tài có thể được cân nhắc để làm thếnào có thể thiết kế một hệ thống tăng tốc phần cứng linh hoạt để hỗ trợ nhiềuloại giải thuật mã hóa dựa trên tính toán tái cấu hình, nhằm tối ưu hóa đượchiệu suất cho quá trình hiện thực

1.4 Cấu trúc của luận văn

Cấu trúc của báo cáo luận văn được phân bổ như sau:

• Chương 1 - Giới thiệu đề tài: nhằm giới thiệu tổng quan về bài toán mãhóa đường cong và mục đích hướng đến của đề tài

• Chương 2 - Cơ sở lý thuyết và các công trình nghiên cứu liên quan: trìnhbày những cơ sở lý thuyết liên quan đến đề tài được sử dụng và các nghiêncứu mang tính ứng dụng lẫn phát triển liên quan đến đề tài

• Chương 3 - Giới thiệu về phần cứng FPGA và sản phẩm Kria KV260 vision

AI thực hiện trong luận văn

• Chương 4 - Phương pháp giải quyết vấn đề: Trình bày các dạng giải thuật

mã hóa đường cong, đặc điểm, thuật toán và phân tích các bước tính toán

có thể gây hao tổn tài nguyên và đề xuất hướng giải quyết

Trang 16

• Chương 5 - Hiện thực hệ thống trên công cụ Vivado - Giải thích sơ đồ,nguyên lý hoạt động của hệ thống và cách thiết lập, xây dựng một chươngtrình hoàn chỉnh

• Chương 6 - Đánh giá và phân tích kết quả: Diễn giải kết quả đánh giá củaphương pháp và so sánh với các nghiên cứu liên quan

• Chương 7 - Kết luận: Nêu kết luận đúc kết được trong quá trình nghiên cứu

và mở rộng hướng phát triển đề tài

Trang 17

Cơ sở lý thuyết

2.1 Khái quát về mã hóa và giải thuật mã hóa đường cong

Elliptic Curve

2.1.1 Giới thiệu về mã hóa

Mã hóa là một phương pháp quan trọng trong bảo mật thông tin, giúp biếnđổi dữ liệu từ dạng rõ ràng thành dạng không rõ ràng bằng cách sử dụng cácthuật toán và khóa Có nhiều hình thức mã hóa, bao gồm mã hóa đối xứng vàbất đối xứng, với mục tiêu chung là đảm bảo tính bí mật và toàn vẹn của dữliệu [6]

Một hệ thống mã hóa và giải mã bao gồm các thành phần:

Hình 2.1: Mô hình mã hóa, giải mã cơ bản

Quá trình mã hóa được tiến hành bằng cách áp dụng hàm toán học (E) lênthông tin P, vốn được biểu diễn dưới dạng số, để trở thành thông tin đã mã hóa

C Quá trình giải mã được tiến hành ngược lại: áp dụng hàm D lên thông tin C

để được thông tin đã giải mã P

Yêu cầu của mã hóa /giải mã bao gồm: Tính bảo mật (confidentiality), Tínhtoàn vẹn (integrity), Tính xác thực(authentication), không thể chối bỏ (non-repudiation) [7]

Trang 18

Các loại mã hóa chính hiện nay: mã hóa đối xứng, mã hóa bất đối xứng Mãhóa đối xứng: là loại mã hoá mà khoá mã hoá và khoá giải mã là một (sử dụngcùng một khoá mật mã) Đây là loại mã hoá thông dụng nhất hiện nay dùng đểtrao đổi dữ liệu Nhược điểm của phương pháp này là làm thế nào để thống nhấtđược khoá mật mã giữa bên gửi và bên nhận Nếu truyền khoá mật mà khôngdùng bất cứ phương pháp bảo vệ nào thì bên thứ ba cũng có khả năng lấy đượckhoá mật mã này một cách dễ dàng Thuật toán mã hoá đối xứng thường gặpnhất hiện nay đó là DES và AES, [8]

Mã hóa bất đối xứng: là mã hóa mà trong đó khoá mã hoá và khoá giải mãkhác nhau Mọi người đều có thể biết được khoá mã hoá và có thể dùng để mãhoá thông tin Tuy nhiên, chỉ có người nhận mới nắm giữ khoá giải mã, vì vậychỉ người nhận mới giải mã được thông tin, dữ liệu Nhược điểm lớn nhất củaphương pháp này đó là tốc độ mã hóa và giải mã diễn ra rất chậm so với phươngpháp mã hoá đối xứng Nếu dùng mã hoá bất đối xứng để truyền – nhận dữ liệuthì sẽ tốn khá nhiều chi phí Thuật toán phổ biến là RSA, ECC[8]

2.1.2 Hệ mật mã đường cong ECC

Mật mã đường cong Elliptic (Elliptic Curve Cryptography - ECC) là một hệthống mã hóa khóa công cộng bất đối xứng bên cạnh hệ thống RSA ECC đượcgiới thiệu lần đầu vào năm 1991 bởi các công trình nghiên cứu độc lập của NealsKoblitz và Victor Miller [9] Độ an toàn của ECC dựa vào bài toán logarit rờirạc trên nhóm các điểm của đường cong elliptic (ECDLP) Những ưu điểm màECC mang lại bao gồm: yêu cầu bộ nhớ thấp, khả năng xử lý thấp, độ an toàncao và thích hợp với các ứng dụng smart card, PDA, cellular phone, v.v [10].Mật mã ECC cung cấp tính an toàn tương đương với các hệ mật khóa côngkhai truyền thống, trong khi độ dài khóa nhỏ hơn nhiều lần Người ta đã ướclượng rằng cỡ khoá 3248 bit của hệ mật RSA cho cùng một độ an toàn như 256bit của hệ mật ECC, kết quả so sánh được thống kê ở bảng 2.1 Điều đó cónghĩa là việc cài đặt ECC sử dụng tài nguyên hệ thống ít hơn, năng lượng tiêuthụ nhỏ hơn Với ưu thế về độ dài khóa nhỏ, ECC đang được ứng dụng rộngrãi trong nhiều lĩnh vực Đường cong elliptic là tập hợp các điểm thỏa mãn mộtphương trình toán học cụ thể Phương trình cho một đường cong elliptic:

y2= x3+ ax + b (2.1)

Trang 19

Tính chất của ECC là đối xứng qua trục x Bất kỳ điểm nào trên đường congđều được phản ánh qua trục x và vẫn giữ nguyên đường cong Một đặc tính nữacủa đường cong này là bất kỳ đường không thẳng đứng nào cũng sẽ cắt đườngcong ở nhiều nhất là ba điểm như hình: 2.2

Hình 2.2: Đường cong ECC đối xứng qua trục X và cắt đường cong ở nhiều nhất 3 điểm

Bảng 2.1: Thời gian phá khóa ứng với chiều dài của khóa ở mã hóa RSA và ECC, nguồn:[11]

Thời gian phá khóa (năm) khóa RSA (bit) khóa ECC (bit)

Trong lĩnh vực mã hóa bất đối xứng, nhiều nghiên cứu và đề xuất được đề ra

để giải quyết việc số lượng phép tính cần thiết để tìm ra cách mã hóa an toànnhất Trong đó, hai trong số các đề xuất vẫn còn tồn tại đến hiện nay bao gồm:bài toán logarit rời rạc (discrete logarithm problem) và bài toán phân tích thừa

số nguyên tố (prime finite field) Từ những giải pháp trên, một số bài toán đượccông bố dựa trên các đề xuất hệ thống mật mã được liệt kê như sau:

Khởi đầu nền móng của đường cong Elliptic là công thức Weierstrasse Đặt

K là một trường hữu hạn hoặc vô hạn Một đường cong được định nghĩa bằng

Trang 20

công thức Weierstrasse như sau:

y2+ a 1 xy + a 3 y = x3+ a 2 x2+ a 4 x + a 6 (2.2)trong đó, a 1 , a 2 , a 3 , a 4 , a 6 ∈ K

Đường cong elliptic trên trường K được ký hiệu E(K) Số lượng các điểmnguyên trên E được thể hiện dưới dạng #E(K) Đối với từng trường khác nhau,công thức 2.2 có thể được biến đổi thành các dạng khác nhau Và một đườngcong elliptic là tập hợp các điểm thỏa công thức trên

2.1.2.1 Đường cong elliptic trên trường nguyên tố hữu hạn

Đường cong elliptic được xây dựng trên các trường hữu hạn E(Fq) được biểudiễn dưới dạng:

y2= x3+ ax + b (2.3)Với P là điểm thuộc đường cong trên, được biểu diễn P(x,y) và ∀ P ∈ E Nếu P

= (x,y) ∈ E thì (x,y) + (x,-y) = ∞ (x, -y) kí hiệu là -P, gọi là điểm âm của P.Các phép toán được sử dụng trên trường này:

2.1.2.1.1 Phép cộng Phép cộng điểm điểm được định nghĩa trên tập đường congE(R) của các điểm có tọa độ (x,y) Theo quy ước, điểm tại vô cực O là điểmcộng với bất kỳ điểm nào cũng sẽ thành chính điểm đó

∀P = (x, y) ∈ E(R), P + O = O + P = P ; (2.4)

∀P (x, y) ∈ E(R) : ±y =px 3 + a4x + a6 (2.5)Với 1 giá trị x, ta sẽ có 2 giá trị tọa độ y Với điểm (-x, y), là điểm đối củađiểm P, kí hiệu −P ∈ E(R) Và:

P + (−P ) = (x, y) + (−x, y) = O (2.6)

Ở phương diện hình học, giả sử ta có 2 điểm phân biệt P và Q, P, Q ∈ E(R),

ta có phép cộng điểm trên đường cong elliptic là: P + Q = R;

Ở phương diện đại số, ta có:

P = (x1, y1), Q = (x2, y2); R = P + Q = (x3, y3) (2.7)

Trang 21

Trong đó, P, Q, R ∈ E(R) và:

y3 = θ(x1+ x3− y1) (2.9)Nếu P ̸= Q,

(2.11)

2.1.2.1.2 Phép nhân Phép nhân được định nghĩa như một dãy các phép cộng:

Q = mP = P + P + + P (2.12)

2.1.2.2 Đường cong elliptic trên trường nhị phân E(F2m )

Đường cong elliptic trong trường nhị phân được biểu diễn dưới dạng:

y2+ xy = x3+ ax2+ b (2.13)Với P là điểm thuộc đường cong trên, được biểu diễn P(x,y) và ∀P ∈E(F2m).Nếu P = (x,y) ∈ E(F2m) thì (x,y) + (x,x+y) = ∞ Điểm (x, x+y) kí hiệu là -P,gọi là điểm âm của P

Các phép toán được sử dụng trên trường này:

Trang 22

2.1.2.2.2 Phép nhân Giả sử: P = (x1, y1) ∈ E(F2m ), vàP ̸= ¬P, thì2P = (x3, y3),với:

2.2 Biểu diễn tọa độ trên trường hữu hạn

Có ba dạng tọa độ cơ bản thường được sử dụng Đó là tọa độ quan hệ (AffineCoordinate), tọa độ chiếu (Projective Coordinate) [13]

2.2.1 Tọa độ quan hệ - tọa độ Affine

Một điểm hữu hạn P trên (E) được xác định bởi hai phần tử x, y trong GF(p)thỏa mã phương trình đường cong:

(E) : Y2= X3+ aX + b; a, b ∈ Fq; 4a3+ 27b2̸= 0( mod p) (2.20)Chúng được gọi là tọa độ quan hệ của điểm P Điểm ở vô cực ∞ không cótọa độ Affine Để phục vụ cho mục đích tính toán, người ta thường biểu diễn ∞

bởi một cặp các hệ số (x,y) không nằm trên (E)

QUY LUẬT:

Gọi E là đường cong elliptic được định nghĩa trên trường hữu hạn P bởiphương trình (E) : Y2 = X3 + aX + b; a, b ∈ F q ; 4a3 + 27b2 ̸= 0( mod p) Gọi

P1 = (x1, y1)vàP2 = (x2, y2)là các điểm trên E vớiP1, P2 ̸= ∞.P3(x3, y3) = P1+P2

được định nghĩa như sau:

1 Nếu x 1 ̸= x 2, thì, với m được tính như 2.10

Trang 23

2.2.2 Tọa độ chiếu - Projective

Để tránh các phép chia trong trường hữu hạn, người ta thường biểu diễn điểmtheo đọa độ chiếu (tọa độ ở dạng phân số) Có hai loại hệ tọa độ chiếu cơ bản

là tọa độ chiếu chuẩn và tọa độ chiếu Jacobian

Trong hệ tọa độ chiếu chuẩn, một điểm được biểu diễn dưới dạng (X, Y, Z)với Z ̸= 0, tương đương với tọa độ Affine là (X/Z, Y/Z)

Phương trình đường cong elliptic tọa độ chiếu chuẩn có dạng: Y2Z = X3+ aXZ2+ bZ3

Trong tọa độ chiếu Jacobian, một điểm (X, Y, Z) sẽ tương đương với điểm(X/Z2, Y/Z3) trong hệ tọa độ Affine

Phương trình đường cong elliptic có dạng: Y2= X3+ aXZ4+ bZ6

Trong tính toán giải thuật đường cong, ta thường biến đổi một điểm có tọa

độ chiếu Jacobian sang tọa độ Affine bằng công thức sau:

hệ tọa độ Affine, cuối cùng bỏ đi mẫu số chúng ta sẽ nhận được công thức tínhcho hệ tọa độ chiếu

Trang 25

2.3 Các nghiên cứu liên quan

Với những lý thuyết đề cập ở trên, kết hợp hiện thực mã hoá ECC trên phầncứng FPGA có cơ hội tăng tốc độ xử lý của thuật toán, phục vụ cho mục tiêubảo mật dữ liệu một cách nhanh chóng Trên thực tế, có nhiều nghiên cứu liênquan đến ứng dụng này đã được công bố Các tác giả đã hiện thực trên nhiềunền tảng phần cứng tái cấu hình khác nhau để so sánh hiệu quả mã hóa Trongphần này, tác giả đề cập đến các nghiên cứu liên quan, minh chứng cho tính khảthi và là cơ sở để đánh giá sản phẩm thực hiện ở giai đoạn luận văn

Những tiêu chí đánh giá khả năng xử lý khi hiện thực các ứng dụng mã hóathể hiện qua các thông số: số lượng logic thiết kế, tần số (frequency), sản phẩm(FPGA), throughput, lệnh/s (operations per seconds)

đủ có độ trễ thấp xác minh chữ ký đã được báo cáo Nhưng vấn đề hiệu suất xảy

ra hầu hết ở phép toán phổ biến trong ECC — phép nhân điểm Để lập luậncho khẳng định này, tác giả đã hiện thực một hệ thống ECDSA (gồm tạo chữ ký

số và xác thực) trên trường số nguyên tố 256 bit Tác giả triển khai trên mạchtích hợp (ASIC) và sử dụng công nghệ tương thích là công nghệ Nano để ứngtheo quy chuẩn nhà máy [quy trình CMOS 65-nm, trường hợp xấu nhất điềukiện quá trình-điện áp-nhiệt độ (PVT)] Tác giả cũng đề xuất một khối tính

Trang 26

toán riêng và đơn giản — một cách tiếp cận mới về việc kết hợp trường hữu hạnphép nhân với các phép toán trường hữu hạn cơ bản khác, góp phần đạt đượchiệu suất tổng thể rất cao Cụ thể, tác giả sử dụng giải thuật nhân Karatsuba,một trong những điều rất nổi tiếng các thuật toán nhân giúp cải thiện hiệu quảtốc độ của phép nhân cổ điển được công bố năm 1962 Gọi x và y là hai số cóL-bit và gọi k = l/2 Thuật toán Karatsuba được đưa ra như sau:

xy = (x2Hk+ xL)(yH2k+ yL) (2.25)Tác giả sử dụng phương pháp tối ưu hóa bằng cách hiện thực kiến trúc từlớp cơ bản lên tổng quát (bottom-up) Ở cấp thấp nhất là các lớp số học, nórất quan trọng đối với số học trường hữu hạn được tối ưu hóa cho độ trễ thấp

Do đó, tác giả khám phá một tập hợp lớn các triển khai có thể, lựa chọn cẩnthận những kiến trúc hứa hẹn nhất để đánh giá trong giai đoạn đầu Vì phépnhân trường hữu hạn cho đến nay là phép nhân hoạt động tốn nhiều thời giannhất, nên tác giả thử nghiệm tổng hợp của ba kiến trúc khác nhau (multiplythen reduce; interleave và Karatsuba) Và hướng tiếp cận thứ hai là từ tổng quátđến chi tiết (Top-down) Ở hướng này, tác giả tập trung vào các phép tính điểm(cộng, nhân đôi) và sử dụng khối tính toán để đẩy nhanh quá trình tính toán.Sau đó đến giai đoạn tính nghịch đảo và cuối cùng là phép nhân để so sánh chữ

ký số Với hướng tiếp cận này, tác giả đã giảm thiểu dc 57% ô nhớ so với phươngpháp trên Cùng với việc sử dụng mạch ASIC, tác giả có thể thực nghiệm trênnhiều điều kiện khác nhau, kết quả cho ra khác nhau trên những công nghệ nano(45nm cho kết quả tần số tốt hơn và độ trễ thấp hơn so với 65nm) [15] cũng đềcập rằng tác giả cũng đã thử trên nền tảng Xilinx và Intel (FPGA), tuy nhiênkết quả không quả quan như trên phần cứng ASIC (về độ trễ cao hơn, số lượnglogic nhiều hơn ASIC, và tần số thấp hơn)

2.3.1.2 Công cụ xác thực ECDSA dựa trên FPGA hiệu quả cho việc cấp phép Blockchain

Theo tác giả, [16] khi các doanh nghiệp nắm bắt công nghệ blockchain, nhiềuvấn đề trong thế giới thực các ứng dụng đã được phát triển và triển khaibằng cách sử dụng quyền nền tảng blockchain (quyền truy cập vào mạng đượckiểm soát bằng cách chỉ cho phép các nút có danh tính đã biết) Các nền tảngblockchain như vậy phụ thuộc rất nhiều vào mật mã để cung cấp một lớp tin cậybên trong mạng, do đó việc xác minh chữ ký mật mã thường xuyên trở thành

Trang 27

điểm nghẽn Trong bài này, tác giả đề xuất một số cách tối ưu hóa cho số họcmô-đun (ví dụ: số nhân tùy chỉnh và rút gọn mô-đun nhanh) và số học điểm (vídụ: giảm đáng kể số lượng điểm gấp đôi và các phép toán bổ sung cũng như biểudiễn NAF có chiều rộng tối ưu) Dựa trên các phép tính arithmetic modular vàpoint modular reduction trong thuật toán ECDSA, tác giả đề xuất một công

cụ xác minh ECDSA có thể được sử dụng bởi bất kỳ ai ứng dụng để xác minhnhanh chữ ký ECDSA Tần số mục tiêu là 250 MHz, một xác minh có thể mất

760 micro-giây, throughput khoảng 1,315 xác minh mỗi giây, nhanh hơn 2.5 lần

so với việc triển khai dựa trên FPGA hiện đại Tác giả cũng sử dụng những giảithuật quen thuộc liên quan đến ECDSA Bên cạnh đó, tác giả nhấn mạnh thuậttoán xác minh chữ ký xử lý thông tin được được biết đến rộng rãi nên không cóthông tin bí mật nào bị rò rỉ thông qua các kênh bên trong khi thực hiện xácminh chữ ký Điều này mở rộng sự lựa chọn của về các thuật toán để triển khaicác mô-đun trong công cụ nhằm tối thiểu tài nguyên phần cứng đồng thời manglại độ trễ thấp Tác giả đề xuất các biện pháp tối ưu hóa trong bối cảnh cácchuỗi khối được cấp phép, cụ thể là HL Fabric (mạng Hyperledger (HL) Fabric,một trong các nút là trình xác thực ngang hàng, chịu trách nhiệm xác thực mộtkhối và tất cả các giao dịch của nó trước khi đưa khối đó vào sổ cái Nhiều cáccông trình gần đây đã chỉ ra rằng trình xác thực ngang hàng là nút thắt lớn

và ảnh hưởng nghiêm trọng đến thông lượng cao nhất) Tác giả cho rằng một

số tham số được cố định trước trong khi các tham số khác có sẵn trước và do

đó cả hai tham số này có thể được xử lý trước để tăng tốc hoạt động xác minhECDSA Cụ thể hơn, chính là điểm cơ bản G và khóa chung K, được biết trướckhi ECDSA bắt đầu Vì vậy, như ngay khi có tọa độ khóa công khai, hệ thống

có thể bắt đầu xử lý chúng Với mục tiêu này, kiến trúc có thể tận dụng điểm

cố định Thuật toán nhân (FPM) để thực hiện điểm số học thay vì thuật toánnhân điểm đồng thời

Thuật toán bắt đầu bằng cách tính toán trước các lũy thừa 2 điểm khác nhauphép nhân cho một điểm P được biết trước (ví dụ: khi w = 4 thì các phép tínhtrước sẽ là P, 16P, 256P, v.v.) Khi điểm tạo được cố định, chúng tôi tính toántrước các giá trị này ngoại tuyến và lưu trữ các giá trị trong BRAM trên FPGA.Đối với công chúng tọa độ chính, tác giả thiết kế một khối tính toán trước riêngbiệt, bên ngoài của công cụ xác minh ECDSA, chạy điểm vô hướng nhị phânthuật toán nhân với nhân đôi điểm, chỉ để tính toán trước các giá trị được đề

Trang 28

cập trước đó.

Khối tính toán trước (pre-compute) tính toán các giá trị điểm cần thiết chokhóa công khai và lưu trữ chúng trong BRAM Việc tính toán bên trong xácminh ECDSA thực tế giảm xuống dòng 4-8 Do đó, việc xác minh ECDSA chỉbao gồm việc cộng điểm các phép toán với các phép toán kép điểm được chuyểnsang tính toán trước Hệ thống sử dụng cửa sổ NAF đế cố định (với cơ sở w =4) để giảm số lượng các hoạt động cộng điểm Chú thích rằng: thuật toán nhânđiểm cố định được thực hiện hai lần; một lần cho điểm tạo G truy cập điểm tínhtoán ngoại tuyến các giá trị ở dòng 1 và lần thứ hai để truy cập khóa chung Kgiá trị điểm được tính toán trước ở dòng 1

Hình 2.3: Sơ đồ kiến trúc và dữ liệu xác thực ECDSA với khối precompute, nguồn trích dẫn: [16]

Kết quả hiện thực của hệ thống này rất ấn tượng khi việc sử dụng tài nguyênphần cứng và độ trễ của công cụ xác minh ECDSA với khối tính toán trước(precompute) có độ trễ 120,000 cycle clocks Ngoài ra, hệ thống trên thực tế chỉyêu cầu 92,000 cycles để thực hiện xác minh chữ ký duy nhất Với phương phápnày, kiến trúc đạt được thông lượng 2,717 xác minh chữ ký mỗi giây Tác giảthực hiện đánh giá công cụ xác minh ECDSA thưc tế trên HL Fabric trong bốicảnh Blockchain đang hoạt động

Bảng 2.2: Số lượng logic trong kiến trúc thiết kế ECDSA (tần số 250MHz)

Design LUT FFs DSP BRAM Latency Throughput

Pre-compute 14,088 1,417 129 15 120,000

-ECDSA eng 21,759 5,625 137 15 92,000 2,717

Trang 29

Bảng 2.3: So sánh throughput giữa các máy học blockchains và kiến trúc HL Fabric

Số lượng máy học Generic ECDSA HL Fabric ECDSA ([16])

10 3,650 TPS 7,520 TPS

2.3.2 Các nghiên cứu khoa học khác

2.3.2.1 Mạch nhân điểm ECC hiệu suất cao

Nghiên cứu này tập trung vào việc cải thiện khả năng xử lý của quá trìnhECPM của mã hóa ECC trên ứng dụng bảo mật thông tin của khối (PhysicalUnclonable Function - PUF) trong các thiết bị IoT Việc rò rỉ, chậm phản hồiPUF trong hệ thống xác thực làm giảm khả năng bảo mật của hệ thống IoT.ECPM là thao tác mất thời gian nhất trong ECC do quy trình tính toán phứctạp và ảnh hưởng đến hiệu quả của bảo mật PUF Để giải quyết vấn đề này,nhóm nghiên cứu đã đề xuất giải pháp sử dụng các nhân điểm có trường nhịphân với độ dài khóa là 233; 283; 409; 571 (bốn độ dài khóa được đề xuất bởiNIST) Bằng cách sử dụng lại các đơn vị tính toán cơ bản, các tài nguyên cầnthiết cho phép nhân điểm được giảm thiểu một cách hiệu quả Điều cải tiến hơnnữa là các phép nhân hai điểm với độ dài khóa nhỏ hơn 283 bit có thể được thựchiện đồng thời trong mạch nhân điểm được thiết kế phức tạp, có thể tăng tốchiệu quả quá trình mã hóa của ECC Mạch được thực hiện trên FPGA XilinxVirtex-6 Kết quả thử nghiệm cho thấy thời gian nhân một điểm của độ dàikhóa 233; 283; 409 và 571 lần lượt là 19.33; 22.36; 41.36 và 56.5 µs với tần sốxung nhịp 135 MHz [26] Ngoài ra, nó chỉ cần 19.33 µs để thực hiện các phéptoán nhân hai điểm khi độ dài khóa là 233 bit cùng một lúc Khi độ dài khóa là

283 bit, thao tác nhân điểm có thể được thực hiện hai lần trong 22.36 µs Kiếntrúc hệ thống như hình 2.4:

Trang 30

Hình 2.4: Kiến trúc hệ thống, nguồn trích dẫn: [26]

Module PM được chia thành ba phần: VAU - đơn vị độ dài mã, FAUC - bộđiều khiển đơn vị số học, bộ điều khiển - PMC VVAU là đơn vị tính toán,module hoạt động tầng dưới cùng của hệ thống, ứng với tầng cuối cùng của kiếntrúc [14] Module này cũng thực hiện các phép tính cộng, trừ, nhân Điểm khácbiệt so với kiến trúc trên là có thêm phép bình phương Hoạt động ở module nàyứng với độ dài khóa của các điểm ECPM FAUC được sử dụng để gửi tín hiệuđiều khiển, yêu cầu các module của của bộ VAU FAUC ứng với tầng modularalgorithms của kiến trúc EdDSA/ECDSA Nhưng cách thức xây dựng chươngtrình có điểm khác ở điểm: FAUC có thêm module chuyển đổi lại tọa độ Và bộphận cuối cùng là PMC - đóng vai trò như một ECC unit, điều khiển toàn bộquá trình PMC ở bài báo này không sử dụng thuật toán EDSA mà sử dụngphương pháp ECPM

Vai trò chính của module PMC là tích hợp các hoạt động của các modulecộng và nhân đôi điểm theo lịch trình để hoạt động thông qua các hoạt độngnhân điểm Về quy trình ECPM, các chức năng cụ thể của module điều khiển

PM được liệt kê như hình 2.5:

1 Các tọa độ affine của điểm cơ sở P được chuyển đổi thành các tọa độ ánh

xạ tiêu chuẩn và quá trình gán khởi tạo dữ liệu của module này đã hoàn tất

2 Khóa bí mật k được quét từng bit để xác định giá trị của từng bit và quá

Trang 31

trình point addition, point doubling thực thi tùy thuộc vào kết quả quét.

3 Theo phương pháp Montgomery, các module cộng và nhân đôi điểm là đượcgọi để thực hiện thao tác lặp

4 Sau khi hoàn thành thao tác nhân điểm trong tọa độ xạ ảnh, phép chuyểnđổi lại tọa độ được yêu cầu để chuyển đổi kết quả thành tọa độ affine (Phépchuyển đổi chuyển đổi các ánh xạ tiêu chuẩn của phép cộng/trừ/nhân thành giátrị tọa độ affine ở các phép nhân điểm Nghĩa là, các tọa độ phải được chuyểnđổi từ các xạ ảnh tiêu chuẩn sang các affine, nghĩa là từ (X, Z) sang (x, y))

Hình 2.5: Sơ đồ trạng thái hoạt động của PMC, nguồn trích dẫn: [26]

Hệ thống tương thích với các hoạt động ECPM của bốn độ dài khóa khácnhau, vì vậy module điều khiển PM phải được đảm bảo hoạt động để đáp ứngvới tín hiệu lựa chọn giá trị độ dài khóa

Tóm lại, trong bài báo này, phương pháp Montgomery và kỹ thuật sử dụngphép chia tọa độ tiêu chuẩn được áp dụng để thực hiện các phép nhân điểm

Trang 32

ECPM trên đường cong ECC để giải quyết thời gian tiêu tốn trong quá trình

mã hóa Thuật toán ECC tương thích với bốn độ dài khóa khác nhau và triểnkhai song song một cặp thuật toán ECC trong trường hợp độ dài khóa 233 hoặc

286, giúp mở rộng phạm vi ứng dụng và cải thiện hiệu quả của hệ thống

2.3.2.2 Triển khai phần cứng có thể mở rộng và tham số hóa của Thuật toán chữ ký số

đường cong Elliptic trên trường nguyên tố

Ở bài báo này, tác giả [17] thực hiện sử dụng một phương pháp đồng thiết

kế phần cứng-phần mềm trên khả năng cấu hình lại nền tảng phần cứng (Xilinxxc6vlx240T-1ff1156) Một số các hoạt động liên quan như tạo khóa riêng, trọng

số nhị phân tính toán và hình thành thông báo SHA được thực hiện trong phầnmềm sử dụng Microblaze (soft core của Xilinx) Phần mềm một phần của FPGAđược sử dụng để truyền tham số tới phần cứng của FPGA nơi tạo chữ ký và việcxác minh được thực hiện Hiệu suất định thời cho tạo và xác minh chữ ký ở kíchthước trường 192 bit là 0.7 ms và 0.844 ms tương ứng Tương tự, ECDSA việctriển khai ở kích thước trường 521 bit yêu cầu 9.145 ms cho tạo chữ ký và 11.92

ms để xác minh chữ ký Cái này bài báo trình bày một kiến trúc được tham sốhóa và có thể mở rộng cho ECDSA trên các trường nguyên tố

Tác giả cũng sử dụng phương pháp chuyển đổi giữa hai ánh xạ tọa độ Affine

và Jacobian để giảm thiểu số lượng phép tính và việc nghịch đảo điểm gây tốnthời gian và tài nguyên Bên cạnh đó, các giải thuật về phép nhân Montgomery

và phép cộng song song các word cũng được đề cập Tác giả cho biết, Phép cộngmô-đun là một trường số nguyên tố quan trọng hơn các hoạt động khác do cóthể ảnh hưởng đến hiệu suất thời gian của ECDSA thực hiện Trong quá trìnhthực hiện ECDSA hiện nay kiến trúc cách tiếp cận bổ sung word-wise đã đượcthông qua tương tự như thiết kế của các bộ cộng như tác giả mô tả bên dưới:

Trang 33

Hình 2.6: Kiến trúc phép cộng/trừ song song word-wise, nguồn trích dẫn: [17]

Ngoài ra, khác với các nghiên cứu khác, bài báo này đề cập đến giải pháphiện thực kiến trúc ECDSA trên nền tảng phần cứng - phần mềmmềm kết hợpMicroblazer Tất cả các tham số được tạo trong phần mềm phải được chuyểntới logic lập trình phần cứng của FPGA Vì điều này, mô-đun giao tiếp đã đượctriển khai và được sử dụng để truyền tham số từ phần mềm sang phần cứng vàsau đó lưu trữ các tham số này vào bộ nhớ thích hợp trong phần cứng Cơ chếghi/đọc BRAM bắt tay đã được thực hiện

Các thành phần được hiện thực trên phần mềm bao gồm:

1 Khởi tạo khóa ngẫu nhiên

2 Bộ mã hóa tin nhắn vào SHA-1

3 Bộ tính toán MSB (bit có quan trọng lớn nhất): giúp phần cứng nhận diệnbit đầu tiên của khóa riêng tư và dữ liệu vào

4 Bộ điều khiển các tham số

Các thành phần hiện thực trên phần cứng bao gồm:

1 Chuyển đổi tọa độ Affine sang Jacobian

2 Montgomery conversion

3 Tích vô hướng ECC

4 Chuyển đổi tọa độ Jacobian sang Affine

5 Montgomery sang tọa độ thường

Với kiến trúc này, tác giả nhận định kiến trúc có khả năng mở rộng cho kíchthước trường cao hơn Hơn nữa, kiến trúc mang tính chung chung và không có

Trang 34

sự giảm thiểu cụ thể các kỹ thuật như được xác định cho số nguyên tố NIST đãđược sử dụng Kiến trúc đề xuất sử dụng kết hợp thiết kế mã phần mềm-phầncứng Một số thao tác một lần như tạo khóa, Đệm tin nhắn SHA-1, tính toán vàkiểm soát MSB việc tạo tham số được thực hiện trong phần mềm là chính Cònhoạt động ECDSA được thực hiện trong phần cứng Hiệu quả về mặt thời giancủa việc thực hiện được đề xuất là vượt trội hơn hầu hết các triển khai phầncứng và phần mềm trong cùng lĩnh vực.

2.4 Tiểu kết

Mật mã đường cong elliptic (ECC) cung cấp một số nhóm thuật toán, dựatrên toán học của các đường cong elliptic trên các trường:

• Thuật toán chữ ký số học ECC như ECDSA (dành cho đường cong cổ điển)

và EdDSA (dành cho đường cong Twisted Edwards)

• Các thuật toán mã hóa ECC và các kịch bản mã hóa kết hợp như ECIES(Integrated Encryption Scheme) và EEECC (EC-based ElGamal)

• Các thuật toán thỏa thuận khóa ECC như ECDH, X25519 và FHMQV.Đối với các phép toán điểm, bản chất của việc thực hiện mã hóa/giải mãđường cong elliptic chính là thực hiện phép nhân điểm và cộng điểm Đây cũngchính là phần tốn nhiều thời gian và tài nguyên nhất trong thiết kế kiến trúcECC Và bản chất của việc thực hiện phép nhân điểm cũng chính là thực hiệnphép toán 2.21 và 2.22; trong đó, các phép toán cơ bản cần sử dụng chính là:nhân, chia, nghịch đảo, cộng và trừ các số nguyên

Mật mã ECC không chỉ là nghiên cứu mà nó còn được ứng dụng rộng rãi,dưới nhiều hình thức thể hiện khác nhau Việc hiện thực giải thuật và tích hợpvào những ứng dụng cụ thể sẽ giúp giải quyết vấn đề bảo mật cho ứng dụng vàvới giải thuật có tốc độ xử lý nhanh, giúp ứng dụng xử lý nhanh những tác vụkhác và đem lại hiệu quả sử dụng cao và mang tính thực tiễn với người dùng

Trang 35

Giới thiệu phần cứng FPGA và Kria KV260 Vision AI

3.1 Phần cứng máy tính và FPGA

Phần cứng máy tính, hay còn gọi là "hardware", là bộ phận vô cùng quantrọng, là hệ thống cơ bản và không thể thiếu của mọi thiết bị điện tử Nó baogồm những thành phần vật lý, từ những con chip nhỏ bé đến những bộ nhớkhổng lồ, đều là những phần tử đóng góp vào sức mạnh và hiệu suất của mộtmáy tính Theo wikipedia, phần đề cập đến các bộ phận vật lý hữu hình củamột hệ thống máy tính; các thành phần điện, điện tử, cơ điện và cơ khí của nónhư là màn hình, chuột, bàn phím, máy in, máy quét, vỏ máy tính, bộ nguồn,

bộ vi xử lý CPU, bo mạch chủ, các dây cáp, cũng như tủ hoặc hộp, các thiết

bị ngoại vi của tất cả các loại, và bất kỳ yếu tố vật lý nào khác có liên quan,tạo nên phần cứng hoặc hỗ trợ vật lý ví dụ như loa, ổ đĩa mềm, ổ đĩa cứng,

ổ CDROM, ổ DVD, card đồ họa VGA, card wifi, card âm thanh, bộ phận tảnnhiệt,

3.1.1 Giới thiệu về phần cứng FPGA

Một trong những thiết kế phổ biển nhất của bộ tính toán tái cấu hình nàychính là mạch FPGA FPGA là viết tắt của thuật ngữ tiếng anh “Field Pro-grammable Gate Array", là một loại vi mạch dùng cấu trúc mảng phần tử logiccho phép người dùng có thể tái cấu hình lại kiến trúc theo ý người dùng để thựcthi một chức năng cụ thể, kèm theo xây dựng các driver tương ứng để phát triểncác phần mềm ứng dụng và giải thuật tối ưu hơn [19] Tuy nhiên, FPGA cũng

sẽ có những lợi thế khi so sánh với ASIC (mạch tích hợp được thiết kế sẵn dànhcho các ứng dụng cụ thể) [20]:

• FPGA có kiến trúc mảng phần tử logic nên có thể thực thi song song so với

vi điều khiển hoặc CPU phải thực thi mã lệnh theo dạng tuần tự FPGA có

Trang 36

thể tăng hiệu suất xử lý của hệ thống, đặc biệt là hệ thống thời gian thực.

• FPGA có thể dễ dàng mở rộng các ngoại vi cũng như giao tiếp với nhiềuthiết bị hơn mà các mạch tích hợp khác không thể

• ASIC sẽ tốn nhiều công suất tiêu thụ hơn thực tế yêu cầu để thực thi tác

vụ nhỏ, so với FPGA FPGA đóng vai trò to lớn trong việc giảm giá thành

và thời gian chế tạo ASIC

• Số lần nạp lên mạch FPGA gần như không giới hạn Nhưng dữ liệu nạpcho FPGA sẽ bị mất khi mất nguồn Nếu muốn lưu giữ file nạp thì file nạpdạng binary phải cần được lưu vào bộ nhớ ngoài hoặc ROM

Hình 3.1: Bảng so sánh hiệu năng và tính linh hoạt trong các nền tảng mạch tích hợp, nguồn trích dẫn: [21]

Ban đầu, phần cứng tái cấu hình được sử dụng để tái cấu hình một đơn vịchức năng trong bộ xử lý trung tâm Điều này cho phép môi trường lập trìnhtruyền thống có thể cải tiến, bổ sung thay đổi theo thời gian Tại đây, các đơn

vị chức năng được cấu hình lại có thể thực thi trên đường dẫn dữ liệu của bộ vi

xử lý, với các thanh ghi được sử dụng để giữ các toán hạng đầu vào và đầu ra.Sau đó, hệ thống có thể sử dụng cùng lúc như một bộ đồng xử lý (co-processor).Một bộ đồng xử lý có thể thực hiện tính toán, và thực thi câu lệnh như một

bộ xử lý trung tâm và không cần sự giám sát liên tục của bộ xử lý trung tâm,

kể cả việc cấp quyền truy cập và đọc/ghi dữ liệu từ bộ nhớ Ngoài ra, hệ thống

Trang 37

tái cấu hình cũng có thể được xem như một đơn vị độc lập (standalone unit).Hầu hết các hệ thống thiết kế này có thể được phân loại như đồng xử lý hoặctrở thành bộ xử lý độc lập bởi tính kiến trúc thiết kế có thể tùy chỉnh của nó.FPGA được xem là một sản phẩm có sẵn trên thị trường [21].

3.1.2 Kiến trúc của FPGA

Có hai phương pháp lập trình FPGA: lập trình dựa trên SRAM và lập trìnhdựa trên kết nối cầu chì Lập trình dựa trên SRAM cần sử dụng các bit củaSRAM cho từng phần tử lập trình Với giá trị bit là 0 thì tắt chuyển mạch, vớigiá trị bit là 1 thì bật chuyển mạch Đối với phương pháp thứ hai, khi lập trìnhdòng lập trình tạo ra kết nối cầu chì FPGA dựa trên SRAM do các SRAM củaFPGA có thể được ghi đọc như SRAM bình thường ngay cả khi chúng ở trong

hệ thống, nên các FPGA có thể được lập trình lại nhiều lần Tuy nhiên với việclập trình FPGA loại này thì trễ định tuyến lại lớn Loại FPGA này thường được

sử dụng cho lập trình cấu hình các mẫu thử của các thiết kế phần cứng trênASIC FPGA dựa vào kết nối cầu chì duy trì cố định nội dung lập trình ngay cảkhi mất nguồn, và trễ định tuyến nhỏ Tuy nhiên chúng yêu cầu một quá trìnhsản xuất phức tạp, và nếu đã lập trình thì không thể thay đổi được nữa

Nhìn chung, kiến trúc tổng quát của FPGA [22] được mô tả như hình 3.2:

Hình 3.2: Kiến trúc và thành phần của FPGA, nguồn trích dẫn: [22]

Trang 38

• Khối logic: thực thi các chức năng logic, cung cấp các tính toán và phần

tử nhớ cơ bản được sử dụng trong hệ thống số CLB (Configurable LogicBlocks) là phần tử cơ bản cấu thành FPGA, là nguồn tài nguyên logic chínhtạo nên các mạch logic đồng bộ lẫn không đồng bộ Một CLB cơ bản gồmmột mạch tổ hợp có thể lập trình (còn gọi là LUT - look up table), mộtFlip-Flop hoặc một chốt (latch)

• Khối kết nối: dùng để liên kết các khối logic và I/O lại với nhau để tạothành một thiết kế hoàn chỉnh

• Khối I/O: cung cấp giao tiếp giữa các khối logic và kiến trúc định tuyếnđến các thành phần bên ngoài

Ngoài ra có thể còn có các mạch điều khiển các tín hiệu xung nhịp số phânphối cho từng khối lô-gic, khối vào ra và các khối mạch lô-gic bổ sung như cácALU, bộ nhớ, bộ ghép kênh (MUX), thanh ghi dịch, mạch giải mã Các FPGAthường được lập trình sau khi đã hàn gắn trên bảng mạch in, tương tự như cáccấu kiện lô-gic khả trình phức tạp lớn Trên thực tế, bộ nhớ truy cập ngẫu nhiêntĩnh (SRAM) của mạch FPGA được lập trình lại mỗi khi bật nguồn, vì FPGA

là dạng chip nhớ tạm thời Do đó, cấu hình sẽ phải nạp lại mỗi lần khởi động lạichip FPGA Muốn lưu giữ lại cấu hình đã lập trình cho FPGA thì ta phải mắcthêm một bộ nhớ chỉ đọc khả trình (PROM) hay bộ nhớ chỉ đọc lập trình được

và xóa được (EEPROM) ngoài để có thể nạp cấu hình tự động trong quá trìnhhoạt động Bộ nhớ ngoài này có nhiệm vụ lưu tệp cấu hình ở dạng nhị phân vàmỗi khi thiết bị được bật nguồn tệp cấu hình từ EEPROM sẽ được nạp tự độngvào bộ nhớ SRAM của mạch FPGA, FPGA hoạt động theo cấu hình đã đượcnạp đó Các giao tiếp cấu hình cơ bản được nạp qua các cổng giao tiếp và cóthể được nạp lại cũng như cấu hình lại vô số lần thông qua các cổng đó

3.1.3 Các ứng dụng của FPGA trên thực tế

Ứng dụng của mạch FPGA bao gồm: xử lý tín hiệu số, các hệ thống mật mãhọc, các hệ thống điều khiển trực quan, phân tích nhận dạng ảnh, nhận dạnggiọng nói, mô hình phần cứng máy tính Ngày nay FPGA còn được ứng dụngtrong các kiến trúc xử lý song song, đặc biệt là các ứng dụng về mã hóa và giải

mã Do có hiệu năng cao cùng khả năng tái cấu hình cho nên công nghệ FPGA

có thể giải quyết được các công thức tính toán phức tạp mà trước kia chỉ được

Trang 39

thực hiện qua các phần mềm trên máy tính Cùng với đó công nghệ FPGA cònđược ứng dụng cả trong các hệ thống thời gian thực.

3.2 Phần cứng FPGA Kria 260 Vision AI kit

Theo [23], Ngày 20/04/2021 Xilinx vừa cho ra mắt Kria K26 Module được thiết kế như một "Vision Accelerator" Trước hết, Xilinx Kria làmột thương hiệu mới giống như Xilinx Alveo Mục tiêu của Kria là cung cấpSystem-on-Modules(SOM) có thể được tích hợp nhanh chóng vào các thiết kế đểtăng tốc độ suy luận AI (Accelerate Artificial Intelligent Inferencing) System-on-Module cung cấp các thành phần cốt lõi của hệ thống xử lý nhúng — baogồm lõi bộ xử lý, giao diện truyền thông và khối bộ nhớ — trên một bảng mạch

System-on-in sẵn sàng sản xuất (PCB) Cách tiếp cận module này làm cho SOM trở nên

lý tưởng để nhúng vào các hệ thống cuối, từ robot đến camera an ninh SOMkhác với hệ thống trên chip (SoC) SoC, như tên gọi của nó, là một tập hợp cácthành phần máy tính quan trọng được đặt trên một con chip Mặc dù SOM cóthể bao gồm SOC nhưng chúng hoạt động trên bo mạch và do đó có không gian

để bao gồm các thành phần bổ sung Trong các dòng Kria mà Xilinx cho ra mắt,dòng sản phẩm Developer Kit dành cho người mới bắt đầu với khả năng tạo racác sản phẩm mẫu một cách nhanh chóng

Dưới đây là thông số kĩ thuật cũng như các thành phần của phần cứng FPGAKria KV260 Vision AIAI:

Trang 40

Hình 3.3: Các thành phần giao tiếp của phần cứng FPGA Kria KV260 Vision AI Developer Kit, theo: [24]

Kria KV260 hướng đến các ứng dụng tăng tốc phần cứng, tiêu chí này chophép các nhà phát triển lập trình theo mục đích và khả năng cá nhân Theo nhàsản xuất, các ứng dụng tăng tốc hệ thống có thể dễ dàng thiết lập và bắt đầuchạy trong vòng chưa đầy 1 giờ, cho phép các nhà phát triển tập trung vào sựkhác biệt và rút ngắn thời gian để triển khai số lượng lớn Các ứng dụng EdgeVision phổ biến hiện có sẵn và một hệ sinh thái các đối tác của Xilinx đang pháttriển Trong phạm vi này, phần cứng được xem là phù hợp với mục ích đã đặt

ra ở tên đề tài: hệ thống tăng tốc phần cứng

Ngày đăng: 22/05/2024, 11:11

HÌNH ẢNH LIÊN QUAN

Hình 2.2: Đường cong ECC đối xứng qua trục X và cắt đường cong ở nhiều nhất 3 điểm - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Hình 2.2 Đường cong ECC đối xứng qua trục X và cắt đường cong ở nhiều nhất 3 điểm (Trang 19)
Bảng 2.1: Thời gian phá khóa ứng với chiều dài của khóa ở mã hóa RSA và ECC, nguồn:[11] - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Bảng 2.1 Thời gian phá khóa ứng với chiều dài của khóa ở mã hóa RSA và ECC, nguồn:[11] (Trang 19)
Hình 2.3: Sơ đồ kiến trúc và dữ liệu xác thực ECDSA với khối precompute, nguồn trích dẫn: [16] - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Hình 2.3 Sơ đồ kiến trúc và dữ liệu xác thực ECDSA với khối precompute, nguồn trích dẫn: [16] (Trang 28)
Bảng 2.2: Số lượng logic trong kiến trúc thiết kế ECDSA (tần số 250MHz) - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Bảng 2.2 Số lượng logic trong kiến trúc thiết kế ECDSA (tần số 250MHz) (Trang 28)
Hình 2.4: Kiến trúc hệ thống, nguồn trích dẫn: [26] - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Hình 2.4 Kiến trúc hệ thống, nguồn trích dẫn: [26] (Trang 30)
Hình 2.5: Sơ đồ trạng thái hoạt động của PMC, nguồn trích dẫn: [26] - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Hình 2.5 Sơ đồ trạng thái hoạt động của PMC, nguồn trích dẫn: [26] (Trang 31)
Hình 2.6: Kiến trúc phép cộng/trừ song song word-wise, nguồn trích dẫn: [17] - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Hình 2.6 Kiến trúc phép cộng/trừ song song word-wise, nguồn trích dẫn: [17] (Trang 33)
Hình 3.1: Bảng so sánh hiệu năng và tính linh hoạt trong các nền tảng mạch tích hợp, nguồn trích dẫn: [21] - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Hình 3.1 Bảng so sánh hiệu năng và tính linh hoạt trong các nền tảng mạch tích hợp, nguồn trích dẫn: [21] (Trang 36)
Hình 3.2: Kiến trúc và thành phần của FPGA, nguồn trích dẫn: [22] - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Hình 3.2 Kiến trúc và thành phần của FPGA, nguồn trích dẫn: [22] (Trang 37)
Hình 3.3: Các thành phần giao tiếp của phần cứng FPGA Kria KV260 Vision AI Developer Kit, theo: - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Hình 3.3 Các thành phần giao tiếp của phần cứng FPGA Kria KV260 Vision AI Developer Kit, theo: (Trang 40)
Bảng 3.1: Bảng thông số kĩ thuật của phần cứng FPGA Kria KV260, nguồn trích dẫn: [23] - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Bảng 3.1 Bảng thông số kĩ thuật của phần cứng FPGA Kria KV260, nguồn trích dẫn: [23] (Trang 41)
Bảng 4.1: Bảng thống kê thuộc tính các tham số trên đường cong elliptic, đề xuất bởi [30] - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Bảng 4.1 Bảng thống kê thuộc tính các tham số trên đường cong elliptic, đề xuất bởi [30] (Trang 43)
Hình 4.1: Bảng quy đổi nhị phân của mã ASCII, nguồn trích dẫn: [32] - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Hình 4.1 Bảng quy đổi nhị phân của mã ASCII, nguồn trích dẫn: [32] (Trang 47)
Bảng 4.2: Bảng giá trị hàm hash (h) h(0) = 0x6a09e667 - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Bảng 4.2 Bảng giá trị hàm hash (h) h(0) = 0x6a09e667 (Trang 48)
Bảng 4.3: Bảng hằng số tròn {K}, nguồn trích dẫn: [33] - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Bảng 4.3 Bảng hằng số tròn {K}, nguồn trích dẫn: [33] (Trang 49)
Hình 4.2: Kién trúc phần cứng của khối modular inversion - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Hình 4.2 Kién trúc phần cứng của khối modular inversion (Trang 54)
Hình 4.4: Kiến trúc phần cứng các thành phần tính toán của phép nhân - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Hình 4.4 Kiến trúc phần cứng các thành phần tính toán của phép nhân (Trang 55)
Hình 4.3: Kiến trúc phần cứng các thành phần tính toán theo thứ tự: phép cộng, phép trừ - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Hình 4.3 Kiến trúc phần cứng các thành phần tính toán theo thứ tự: phép cộng, phép trừ (Trang 55)
Bảng 4.4: Thời gian thực hiện phép tính nhân và xử lý modular reduction song song Cycle Modular Reduction Multiplier Add/Sub Giá trị thanh ghi - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Bảng 4.4 Thời gian thực hiện phép tính nhân và xử lý modular reduction song song Cycle Modular Reduction Multiplier Add/Sub Giá trị thanh ghi (Trang 57)
Bảng 4.5: Thời gian thực hiện phép tính cộng và xử lý modular reduction song song Cycle Modular Reduction Multiplier Add/Sub Giá trị thanh ghi - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Bảng 4.5 Thời gian thực hiện phép tính cộng và xử lý modular reduction song song Cycle Modular Reduction Multiplier Add/Sub Giá trị thanh ghi (Trang 58)
Hình 5.1: Kiến trúc thiết kế và hoạt động của giao thức AXI [37] - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Hình 5.1 Kiến trúc thiết kế và hoạt động của giao thức AXI [37] (Trang 62)
Hình 5.3: Kiến trúc bộ giao tiếp AXI sử dụng trong hệ thống - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Hình 5.3 Kiến trúc bộ giao tiếp AXI sử dụng trong hệ thống (Trang 62)
Hình 5.2: Các tín hiệu giao tiếp cơ bản của giao thức AXI [37] - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Hình 5.2 Các tín hiệu giao tiếp cơ bản của giao thức AXI [37] (Trang 62)
Hình 5.4: Giao diện làm việc chính của Vivado ML - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Hình 5.4 Giao diện làm việc chính của Vivado ML (Trang 63)
Hình 5.5: Sơ đồ kết nối và điều khiển khi hiện thực hệ thống - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Hình 5.5 Sơ đồ kết nối và điều khiển khi hiện thực hệ thống (Trang 64)
Hình 5.6: Các khối module làm việc của hệ thống - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Hình 5.6 Các khối module làm việc của hệ thống (Trang 64)
Hình 5.9: Các bước xây dựng chương trình trên Vivado (bên trái) và hiện thực thiết kế trên phần cứng Kria KV260 (bên phải) - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Hình 5.9 Các bước xây dựng chương trình trên Vivado (bên trái) và hiện thực thiết kế trên phần cứng Kria KV260 (bên phải) (Trang 68)
Bảng 5.1: Thanh ghi giao tiếp giữa hệ thống xử lý (programming system - PS) và thiết kế FPGA (programming logic - PL) - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Bảng 5.1 Thanh ghi giao tiếp giữa hệ thống xử lý (programming system - PS) và thiết kế FPGA (programming logic - PL) (Trang 69)
Hình 6.1: Thống kê tài nguyên sử dụng sau khi tối ưu hóa chương trình - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Hình 6.1 Thống kê tài nguyên sử dụng sau khi tối ưu hóa chương trình (Trang 70)
Hình 6.6: Kết quả thực hiện gửi gói tin trên đơn vị latency và throughput - hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình
Hình 6.6 Kết quả thực hiện gửi gói tin trên đơn vị latency và throughput (Trang 72)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w