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: Hiện thực lõi IP thuật toán chữ ký số (DSA) sử dụng hệ mật mã đường cong ELLIPTIC kết hợp thuật toán băm SHA-256 trên FPGA

105 4 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 đề Hiện Thực Lõi IP Thuật Toán Chữ Ký Số (DSA) Sử Dụng Hệ Mật Mã Đường Cong Elliptic Kết Hợp Thuật Toán Băm SHA-256 Trên FPGA
Tác giả Tran Xuan Ngoc Hoan, Nguyen La Thao
Người hướng dẫn ThS. Pham Thanh Hung, TS. Tran Phuoc Xuan
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 105
Dung lượng 33,99 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

TOM TAT KHÓA LUẬNTrọng tâm của đề tài này là nghiên cứu và hiện thực lõi IP thuật toán chữ ký số ECDSA, sử dụng hệ mật mã đường cong Elliptic với kích thước khóa nhỏ giúp giảm thiểu tài

Trang 1

ĐẠI HOC QUOC GIA TP HO CHÍ MINH

TRUONG DAI HOC CONG NGHE THONG TIN

KHOA KY THUAT MAY TINH

TRAN XUAN NGỌC HOAN - 20521338

NGUYEN LÊ THẢO - 20520932

KHÓA LUẬN TÓT NGHIỆP

HIỆN THỰC LOI IP THUAT TOÁN CHỮ KÝ SO (DSA)

SỬ DỤNG HE MAT MÃ DUONG CONG ELLIPTIC KET

HOP THUAT TOAN BAM SHA-256 TREN FPGA

IMPLEMENT IP OF DIGITAL SIGNATURE ALGORITHM

USING ELLIPTIC CURVE CRYTOGRAPHY AND SHA-256 ON

FPGA

CU NHÂN NGANH KỸ THUAT MAY TÍNH

GIANG VIEN HUONG DAN

ThS PHAM THANH HUNG

TS TRAN PHUOC XUAN

TP HO CHÍ MINH, 2024

Trang 2

LỜI CẢM ƠN

Trong khoảng thời gian thực hiện đề tài này, chúng tôi nhận được rất nhiều

sự đóng góp, hỗ trợ từ quý thầy cô khoa kỹ thuật máy tính nói riêng và trường đạihọc Công Nghệ Thông Tin nói chung Sự giúp đỡ day bảo tận tình là một yếu tố

vô cùng quan trọng giúp cho việc thực hiện đề tài diễn ra suôn sẻ Với lòng biết

ơn sâu sắc, chúng tôi xin gửi lời cảm ơn chân thành nhất tới toàn thé đội ngũ cán

bộ tại trường đại hoc Công Nghệ Thông Tin đã tạo điều kiện thuật lợi, môi trườngtuyệt vời trong suốt quá trình đề tài diễn ra Đồng thời cảm ơn những nhận xét bổích, những hỗ tro và các kiến thức nền tảng mà thầy cô đã trao đổi giúp đề tài

hoàn thiện hơn.

Đặc biệt, lời cảm ơn chân thành nhất xin được gửi tới ThS Pham ThanhHùng, giảng viên hướng dẫn chính của chúng tôi Thầy đã hướng dẫn cụ thẻ, chỉ

bảo và đưa ra những đóng góp quý báu trong quá trình thực hiện Những đóng

góp của thầy không chỉ là những gợi ý về mặt học thuật, khắc phục các khó khăngặp phải, mà còn là những kinh nghiệm giúp chúng tôi hoàn thiện những thiếu

sót của bản thân.

Chúng tôi cũng xin gửi lời cảm ơn tới hội đồng bảo vệ khoá luận, những

người đã dành thời gian đánh giá và đưa ra những nhận xét quý báu giúp chúng

tôi cải thiện và hoàn thiện hơn đề tài của mình

Cuối cùng, không thể không nhắc đến gia đình, người thân, bạn bè đã tạođộng lực, điều kiện, giúp đỡ và hỗ trợ chúng tôi để có thể có được sự tập trunghoàn toàn và nỗ lực hoàn thành tốt việc thực hiện khoá luận này

Trang 3

MỤC LỤC

Chương l Mở đầu 2-5222 2E221122112112717112112211 21121 EcEEcre 2

1.1 _ Tổng quan đề tài 5-2-5222 2E12E1221221211212717121 11111111 cre.2

1.3 Phạm vi để tài -ccccc th re 3Chương 2 Co sở lý thuyẾt +- 5s SE E2E221211211211211211211 2111111 1x xe 4

2.1 So lược về mật mã hỌC -: 2s s SE SESEEE9E955E1512E2E5E15121215E2E1 1121 xxe.42.2 Vấn đề logarithm rời rạc 2- c2 e+E2E2E2E12112112212711171 21111 re 5

2.3 Trung itu ann one a 5

2.4 Hệ mật mã đường cong EÏÏIPIC eecesceceseeceeeeeeeeeseeeesseeseeseeeeees 8

2.4.1 Tổng quan về đường cong Elliptic ceccecccsccssesssessesssessesssessesssesseessee 8

2.4.2 Thuat toán trên đường cong Elliptic - - 52-5 +55 <*++s sex 10

2.4.3 Nhân các điểm trên đường cong Elliptic -z zcszscs2 12

2.4.4 Tham số của hệ mật ECC -:-ccc+++cxxtrerxrrrrrrrrrrrrrrrrrred 13

2.4.5 Ứng dụng của hệ mật đường cong Elliptic -¿z5cs¿ 172.5 _ Thuật toán chữ ký số ECDSA -2¿-©2¿+2E++EESEEE2EEEEEEEEEkkerkrerrree 18

2.5.1 _ Tổng quan thuật toán chữ ký số ECDSA - 2: 2 s2cscsccsd 182.5.2 _ Thuật toán sinh — xác thực chữ ký số ECDSA -secs¿ 18

Trang 4

3.1.1 _ Hiện thực tầng thấp nhất -¿© ¿22+ +E2EE2E12EE2ExEEEEEEerkerreei 29

3.1.1.1 _ Thuật toán cộng trừ modulO - 5c +5 + + ++s+ssserseeseexss 29

3.1.1.2 Thuật toán nhân moduÌO - - << + <2 +22 *££££+zzeeezzes 32 3.1.1.3 _ Thuật toán nghịch đảo moduÌO 5+ ++sss+ss++sex+eexssss 35

3.1.2 _ Hiện thực tầng trung gian -5- 2E E2 2212112112121 Exctvet 383.1.3 _ Hiện thực tang trên cùng ¿2+ 2+2 E2 2212112112211 E1 xe 45

3.2 _ Hiện thực thuật toán SHA - 2E 1223111122531 11 1155511111921 key 52

3.3 Hiện thực thuật toán chữ ky số ECDSA -.:- 2t tt E22 2EEEEEEEExerrree 573.4 Xây dựng hệ thống SoC woecceccecceccsscssesssessessessessessessessessessessessecsessesseeaseasease 66

Chương 4 Kết quả hiện thực và đánh giá - ¿©2552 ©2++2x+2z++zx>x+szxez 67

AL Kết quả mô phỏng - +©52+2E22EESEE12EE2EE211271712221E211221 E1 crxee 67

4.1.1 Cac khối phép toán moduÏo -. - ¿+s+++++x++£x++zx++zxzszseee 674.1.2 Khối phép tính trên đường cong Elliptic - 5 scs+¿ 714.1.3 Khối SHA-256 và ECDSA . cccecccrrrirrrrriirerrriiee 79

4.2 So sánh và đánh BIả - SG 0 2011211121111 1111119 1191118 1 ng ng ng re 86

4.2.1 Kết quả sau tông hợp -:-©-+¿22++22kt2Ekt2EkSEkerkxerkrerkree 86

4.2.2 Đánh giá thiết kế - ¿5-22 2E2E1211221221211211 1111111111 88

Chương 5 Kết uane.ccccccccccccccscssessessessessssecssssssssssssssessssesssessessessessesseesessessesseesess 93

Trang 5

DANH MỤC HÌNH

Hình 2.1: Đường cong Elliptic trên trường số thực -¿- 2 z2cs+zczzxerxzre¿ 9Hình 2.2: Phép cộng hai điểm khác nhau trên đường cong Elliptic - I1Hình 2.3: Phép cộng hai điểm trùng nhau trên đường nhau Elliptic 12Hình 3.1: Kiến trúc khối cộng trừ moduÏO 2-2 25s x+£E+£E+£Ee£EzEezErrezreez 31

Hình 3.2: Khối nhân moduÌo 2: 2£ 5¿S£+2E£2EE£EE+2EE2EE2EE£EE+2EEEEEzEEerxzrxerxee 33 Hình 3.3: Máy trạng thái FSM khối nhân modulÌo - 2-2 22 +2 £++zx>xze: 34

Hình 3.4: Khối Datapath nghịch đảo modulo -¿- z2++:sz+zx+zcxzzsee¿ 35Hình 3.5: Sơ đồ máy trạng thái FSM khối nghịch đảo modulo - : 36Hình 3.6: Khối Datapath Fp - ALU o.cceccccecccsscssessessessessessessessessessessessessessessesseesseaees 41Hình 3.7: Máy trạng thái FSM khối Fp - ALLU - 2-2222 ++ezzzs+zxezrxee 43Hình 3.8: Khối Datapath EC Unit - 2 2 2+S2E%+EE£EEEEEEEEEEEeEEerkerrerrerreee 46Hình 3.9: Khối FSM EC_ Unit với các tín hiệu điều khiên -5+- 48

Hình 3.10: Sơ đồ máy trạng thái FSM khối EC_ Unit 5c 525522522522 49

Hình 3.11: Khối Datapath SHA-256 - 2 2++E2S2+EE2EE£EEEEEEEEEEEEEEEEEerkrrerreee 52Hình 3.12: Module w[ï] tính toán lap đầy các word còn lại -z s¿ 53Hình 3.13: Module tính toán các giá trị a! và e' cho việc lưu các biến 54

Hình 3.14: Máy trạng thai FSM SHA-256 c2 St S2t S9 re 55

Hình 3.16: Khối Datapath thuật toán ECDSA - 2 2s xeEEeEeEEeExrxerxees 58Hình 3.17: Máy trạng thai FSM khối ECDSA - 2 ¿£+E++£x+zE++rxzzrszrxez 61Hình 3.18: So đồ máy trạng thai FSM khối ECDSA -2- 2 ©++2z+z+s+2 62

Hình 3.19: Mô hình SOCC - G2 112119112111 119011 110111 19t HT ng ng Hiệp 66

Hình 3.20: Mô hình kết nối SoC trên phần mềm Vivado -s- 2 s2 s55: 66

Hình 4.1: Các file inputA.txt và inputB.txt sau khi thực hiện random 67

Hình 4.2: Kết quả mô phỏng một test case phép cộng modulo -: 67Hình 4.3: File kết quả phép cộng modulo từ vivado và python - 68Hình 4.4: Kết quả mô phỏng một test case phép trừ modulo -s¿ 68Hình 4.5: File kết quả phép trừ modulo từ vivado và python -¿ 68

Trang 6

Hình 4.6: Kết quả mô phỏng một test case phép nhân modulo . ‹ - 69

Hình 4.7: File kết quả phép nhân modulo từ vivado và python -. -: 69

Hình 4.8: Kết quả mô phỏng một test case phép nghịch đảo modulo 69

Hình 4.9: File kết quả phép nghịch đảo modulo từ vivado và python 70

Hình 4.10: Kết quả kiểm tra các test CaSe ¿2 25222 EEEEEEEEEEEEEEerkrrrrrreee 70 Hình 4.11: Kết quả testcase 1 phép tính PA trên công cụ trực tuyến - 71

Hình 4.12: Kết quả testcase 1 phép tinh PD trên công cụ trực tuyến - 71

Hình 4.13: Kết qua mô phỏng testcase 1 trên Vivado ceccsccsscessessessessessessesesseesees 72 Hình 4.14 Kết quả testcase 2 phép tính PA trên công cụ trực tuyến 72

Hình 4.15: Kết quả testcase 2 phép tinh PD trên công cụ trực tuyến - 72

Hình 4.16: Kết quả mô phỏng testcase 2 trên Vivado - 2+ ©sz+cs>xzcse¿ 72 Hình 4.17: Kết qua testcase 3 phép tính PA trên công cụ trực tuyến - 73

Hình 4.18 Kết quả testcase 3 phép tính PD trên công cụ trực tuyến 73

Hình 4.19: Kết quả mô phỏng testcase 5 trên công cụ trực tuyến - 73

Hình 4.20: Kết quả testcase 4 phép tính PA trên công cụ trực tuyến - 74

Hình 4.21: Kết quả testcase 4 phép tinh PD trên công cụ trực tuyến 74

Hình 4.22: Kết quả mô phỏng testcase 4 trên Vivado - s¿©sz+2s>x++cs+2 74 Hình 4.23: Kết quả testcase 5 phép tính PA trên công cụ trực tuyến 75

Hình 4.24: Kết quả testcase 5 phép tinh PD trên công cụ trực tuyến 75 Hình 4.25: Kết qua mô phỏng testcase 5 trên Vivado - xcsscssrxcrxees 75 Hình 4.26: Kết quả testcase 1 trên công cụ trực tuyến - + sc+secxccxees 76

Hình 4.27: Kết quả mô phỏng testcase 1 trên Vivado - 2 x+cx+csscxccxees 76

Hình 4.28: Kết qua testcase 2 trên công cụ trực tuyến -cc¿+cs+ccszccee 77

Hình 4.29: Kết quả mô phỏng testcase 2 trên Vivado -¿- x+cx+csscxcrxees 77

Hình 4.30: Kết quả testcase 3 trên công cụ trực tuyến -cccsc+serxcrxees 77 Hình 4.31: Kết quả mô phỏng testcase 3 trên Vivado -¿- s- x+cxccssrxerxees 78 Hình 4.32: Kết qua testcase 4 trên công cụ trực tuyến -csc+secxccxee: 78

Hình 4.33: Kết quả mô phỏng testcase 4 trên Vivado 2-5 x+cxecssrxcrxees 78

Hình 4.34: Kết quả testcase 5 trên công cụ trực tuyến -cccs+secxccxees 79

Trang 7

Hình 4.35:

Hình 4.36:

Hình 4.37:

Hình 4.38:

Hình 4.39:

Hình 4.40:

Hình 4.41:

Hình 4.42:

Hình 4.43:

Hình 4.44:

Hình 4.45:

Hình 4.46:

Hình 4.47:

Hình 4.48:

Hình 4.49:

Hình 4.50:

Hình 4.51:

Hình 4.52:

Hình 4.53:

Hình 4.54:

Hình 4.55:

Hình 4.56:

Hình 4.57:

Hình 4.58:

Kết quả mô phỏng testcase 5 trên Vivado - 2 s+cs+cxscxsrxeẻ 79

Kết quả kiểm tra văn bản 1 trên công cụ trực tuyến và Vivado 80

Kết quả kiểm tra văn bản 2 trên công cụ trực tuyến và Vivado 81

Kết quả kiểm tra văn bản 3 trên công cụ trực tuyến và Vivado 81

Kết quả kiểm tra văn bản 4 trên công cụ trực tuyến và Vivado 82

Kết quả testcase 1 ECDSA trên công cụ trực tuyến ¬ 82 Kết quả mô phỏng ECDSA testcase 1 trên Vivado -. -: - 83

Kết quả testcase 2 ECDSA trên công cụ trực tuyến - 83

Kết quả mô phỏng ECDSA testcase 2 trên Vivado -s- 83 Kết quả testcase 3 ECDSA trên công cụ trực tuyến -: - 84

Kết quả mô phỏng ECDSA testcase 3 trên Vivado -s- 84 Kết quả testcase 4 ECDSA trên công cụ trực tuyến -:-‹ 84

Kết quả mô phỏng ECDSA testcase 4 trên Vivado -. - 85

Kết quả testcase 4 ECDSA trên công cụ trực tuyến - 85

Kết quả mô phỏng ECDSA testcase 5 trên Vivado -. - 85

Kết quả timing khối SHA-256 2-2 2 E+SE+EE+EEeEEZEeEEzErrrerree 87 Kết quả tài nguyên sử dung và năng lượng khối SHA-256 87

Kết quả sau khi timing khối EC Unit - 2-2-2 s2 s£xe£EzEzzse2 87 Kết qua tài nguyên sử dung và năng lượng khối EC_ Unit 87

Kết qua timing khối ECDSA oi.eseececesceseescessessessessessessessessessessessnssesseeaee 88 Kết qua tài nguyên sử dụng va năng lượng khối ECDSA 88

Thời gian thực thi của khối ECDSA wo.ceececcesesccssesseesessessessessessessessesseeses 88 Kết quả xuất ra của sô Vitis Console trên kit Virtex 7 89 Kết quả trên công cụ trực tuy@n oes eecccsccsessceseessessessessessessessessessessesseeaes 90

Trang 8

DANH MỤC BANG

Bảng 2.1: Thuộc tính của tham số hệ mật đường cong Elliptic qua trường Fp 16

Bảng 3.1: Bang control word máy trạng thái khối nhân Modulo . 35

Bang 3.2: Bang control word máy trạng thái FSM khối nghịch đảo modulo 37

Bang 3.3: Các bước thực hiện phép tính PA 5c + 2+2 svereeerserrsee 39 Bảng 3.4: Ví dụ phép tính PA - c2 2112112111111 55111 1111211111111 1 1 11 He rrkg 39 Bang 3.5: Các bước thực hiện phép tính PD - 5 5c + 2E Esrsrssrrsreske 40 Bang 3.6: Vi du 809i 19:0›ì:)00 11 Ả 40

Bang 3.7: Bảng các tín hiệu điều khiển khối Datapath Fp — ALU 41

Bảng 3.8: Lập lịch thực hiện các phép tính của PA và PD oo eeceeteeeteeeteeeeees 43 Bảng 3.9: Bảng các tín hiệu điều khiến khối Datapath EC_ Unit - 47

Bang 3.10: Bang control word máy trang thái FSM khối EC_ Unit 51

Bảng 3.11: Bang tín hiệu điều khiển khối Datapath SHA-256 - 56

Bang 3.12: Bang control word máy trạng thái FSM SHA-256 «¿ 56

Bang 3.13: Bang tin hiệu điều khiển khối Datapath ECDSA wo 59

Bảng 3.14: Bang control word máy trang thái FSM khối ECDSA - 64

Bảng 3.15: Bang control word máy trạng thai FSM khối ECDSA 65

Bang 4.1: Bảng tài nguyên sử dụng của thiết kế trên kit VirteX-7 -. -: 86 Bang 4.2: Kết qua so sánh khi thực hiện nap kit Virtex 7 -5c 55555: 90

Bảng 4.3: Bảng so sánh các thuật toán ECC - - c2 3321132112 res 9] Bang 4.4: Bảng so sánh các thuật toán ECDSA - 2c SccSSssrsrrrsrrsrreree 92

Trang 9

DANH MUC TU VIET TAT

- Elliptic Curve Cryptography

- Secure Hash Algorithm

- Digital Signature Algorithm

- Elliptic Curve Diffie Hellman Ephemeral

- Elliptic Curve Digital Signature Algorithm

- Rivest-Shamir-Adleman

- Field-Programmable Gate Array

- System on Chip

- Federal Information Processing Standards

- National Institute of Standards and Technology

- Data Encryption Standard

- Advanced Encryption Standard

- International Organization for Standardization

- Standards for Efficient Cryptography Group

- American National Standards Institute

- Institute of Electrical and Electronics Engineers

Trang 10

TOM TAT KHÓA LUẬN

Trọng tâm của đề tài này là nghiên cứu và hiện thực lõi IP thuật toán chữ ký

số (ECDSA), sử dụng hệ mật mã đường cong Elliptic với kích thước khóa nhỏ giúp

giảm thiểu tài nguyên nhưng vẫn đảm bảo tính bảo mật tương đương với hệ thốngRSA Đồng thời, lõi IP này kết hợp với thuật toán băm SHA-256 giúp tăng cường

thêm tính bảo mật của thuật toán.

Đầu tiên, nhóm thực hiện nghiên cứu và hiện thực hệ mật mã đường cong

Elliptic (ECC) với bốn thuật toán con được thiết kế thành bộ Fp-ALU bao gồm: cộng

modulo, trừ modulo, nhân modulo, nghịch đảo modulo, sau đó bộ Fp-ALU được sử

đụng dé hiện thực hai thuật toán chính của hệ mật mã đường cong Elliptic là phépcộng điểm trên đường cong Elliptic và phép nhân trên đường cong Elliptic

Sau đó, nhóm tiếp tục nghiên cứu vả hiện thực thuật toán băm SHA-256,

nghiên cứu và hiện thực thuật toán chữ ký số (ECDSA) sử dụng hai thuật toán trên.

Cuối cùng, nhóm thực hiện kiểm tra kết quả của lõi IP thuật toán chữ ký SỐ,

tài nguyên sử dụng và tốc độ đạt được thông qua phần mềm Vivado và kit VC707

FPGA.

Trang 11

Chương 1 Mớ đầu

1.1 Tổng quan đề tài

Trong kỷ nguyên công nghệ thông tin bùng nổ, việc truyền tai dit liệu và bảomật thông tin trở thành một yếu tố tất yếu cực kì quan trọng đối với các tổ chức,doanh nghiệp và cá nhân Mật mã học đóng vai trò then chốt trong bảo vệ thông tin

khỏi sự can thiệp trái phép, đảm bảo tính toàn vẹn của dữ liệu, xác thực danh tính

người gửi và nhận cũng như ngăn chặn hành vi phủ nhận trách nhiệm từ phía người gui.

ECDSA là một thuật toán chữ ky số dựa trên toán hoc mật mã đường congElliptic, một dạng toán học được sử dụng để cung cấp một phương pháp bảo mậtmạnh mẽ và hiệu quả trong các ứng dụng công nghệ số Thuật toán bằng cách sử dụngđường cong Elliptic và các tham số của một trường hữu hạn dé “ký” (sign) vào van

bản dữ liệu sao cho một người khác có thể xác minh tính xác thực của chữ ký được

tạo ra đó và đảm bảo chữ ký đó chỉ được tạo ra độc quyên bởi người ký Thuật toán

này được đánh giá là một trong những thuật toán mã hóa mạnh mẽ nhất, có thể thay

thé cho RSA — thuật toán phô biến hiện nay

ECDSA cung cấp mức độ an toàn cao với kích thước khóa ngăn, giúp tiêu tốn

Ít tài nguyên trên hệ thống, rút ngắn thời gian ký số và xác thực, đồng thời tăng cường

độ bảo mật bằng việc sử dụng các thuật toán phức tạp trên đường cong Elliptic Điều

này đặc biệt quan trọng trong các ứng dụng yêu cầu xử lí nhanh và hiệu quả như ngân

hàng, thương mại điện tử, blockchain Sự đa dạng ứng dụng cũng như đáp ứng được

các tiêu chuẩn quốc tế khiến ECDSA trở thành lựa chọn quan trọng trong việc đảmbảo an toàn thông tin Dựa vào những yếu tố trên, nhóm quyết định hiện thực lõi IPthuật toán ECDSA tối ưu trên FPGA

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

Mục tiêu cụ thé mà nhóm hướng tới dé tai này như sau:

Trang 12

+ Nghiên cứu và hiện thực các thuật toán modulo bao gồm: thuật toán cộng

modulo, thuật toán trừ modulo, thuật toán nhân modulo và thuật toán nghịch

đảo modulo Tần số mong muốn của các thuật toán đạt được tối thiểu là 100Mhz

+ Nghiên cứu và hiện thực hai thuật toán chính trên đường cong Elliptic bao

gồm phép cộng trên đường cong Elliptic và phép nhân trên đường cong Elliptic

sử dụng các thuật toán modulo trên.

+ Nghiên cứu và hiện thực thuật toán băm SHA-256 với tần số đạt được tốithiểu 50Mhz

+ Hiện thực thiết kế phần cứng hỗ trợ tính toán thuật toán chữ ký số ECDSA sử dụng hệ mật mã đường cong Elliptic kết hợp với thuật toán băm SHA-256.

+ Thực hiện xây dựng hệ thống SoC tích hợp lõi IP thuật toán ECDSA, tần số

đạt được tối thiểu 50Mhz và tối ưu về mặt tài nguyên sử dụng

Phạm vi đề tài+ Nghiên cứu và tối ưu thiết kế phần cứng cho phiên bản khác của thuật toán

DSA là ECDSA Chỉ hiện thực quá trình ký và xác thực chữ ký của thuật toán

ECDSA.

+ Nghiên cứu và thực hiện được các phép tính của đường cong Elliptic với tiêu

chuẩn FIPS từ NIST - tiêu chuẩn đường cong secp256k1.

+ Nghiên cứu và hiện thực cho phiên bản SHA-256 thuộc ho hàm băm SHA -2.

+ Thực hiện trên bộ công cụ Virtex 7 FPGA VC707.

Trang 13

Chương2 Cơ sở lý thuyết

2.1 Sơ lược về mật mã học

Mật mã học là ngành thiết kế và phân tích các kỹ thuật toán học đảm bảo thông

tin liên lạc an toàn trước sự hiện diện của các bên thứ ba không mong muôn.

Thách thức đối với mã hoá là thiết kế ra được cơ chế bảo mật việc trao đôi dữliệu có thé đối mặt với những thiết bị tính toán mạnh mẽ đang phát triển ngày cànglớn mạnh trong thời đại bùng né kỹ thuật bây giờ

Bốn phương pháp mã hoá phô biến bao gồm:

e_ Mã hoá cô điển: đây là phương pháp mã hóa đơn giản nhất, tồn lại lâu nhất

trên thế giới Phương pháp hoạt động này không cần sử dụng tới khóa bảo mật,chỉ can người gửi và người nhận cùng biết về thuật toán dé có thé mã hoá và

giải mã thông tin truyền gửi.

e©_ Mã hoá một chiều: Phương pháp mã hóa này dùng dé mã hóa những dit liệu

mà kết quả sau khi đã mã hoá sẽ không thể trở về trạng thái gốc ban đầu bằng

cách sử dụng các hàm băm.

e©_ Mã hóa đối xứng (symmetric key encryption): Ở phương pháp mã hoá nay,

chìa khóa dùng cho quá trình mã hóa và giải mã là như nhau Hiện nay trên

thé giới, thuật toán đối xứng phổ biến có thể nhắc tới là DES va AES.

© Mã hoá bat đối xứng (public key cryptography): Khác với mã hóa đối xứng

chỉ sử dụng một chìa khóa, phương pháp mã hóa này sử dụng hai khóa riêng

biệt là khóa bí mật (private key) được giữ bí mật và khóa công khai (public

key) được chia sẻ rộng rãi Khóa công khai được sử dung dé mã hóa dữ liệu

còn khóa bí mật dùng để giải mã đữ liệu

Trong bài luận này sẽ chủ yếu tập trung vào mã hoá bất đối xứng sử dụng cho

việc thực hiện chữ ký số của hệ mật mã đường cong Elliptic và hàm băm SHA-256

Trang 14

2.2 Vấn đề logarithm rời rac

Với p là một số nguyên tố, xét nhóm nhân các số nguyên modulo p:

Zp = (1,2, ,p} với phép nhân modulo p

Trong trường hợp ta tính luỹ thừa bậc k của một số bất kì trong nhóm nhân ởtrên rồi thực hiện việc rút gọn theo modulo p thì ta lại nhận được một số khác cũng

thuộc nhóm Đây được gọi là quá trình luỹ thừa rời rạc theo modulo p.

Chang hạn với p = 19, lẫy a= 5 và k= 3 ta sẽ có

5Š = 125 = 11 (mod 19)

Trong ví dụ này, việc tìm k sẽ là phép tính logarithm rời rạc

5* = 11 (mod 19)

Với trình độ tính toán hiện tại, bài toán logarithm rời rạc vẫn là một bài toán

khó, do chưa có các giải thuật hiệu qua dé giải quyết bài toán này Ngược lại, bài toánlũy thừa rời rạc có thê được giải bằng cách sử dụng thuật toán bình phương và nhân.Nhờ vào đặc điểm này nên vấn đề logarithm được sử dụng là nền tang trong các hệ

mật mã Logarithm rời rac trong nhóm con cyclic của các đường cong Elliptic trên trường hữu hạn gọi là mật mã đường cong Elliptic.

2.3 Trường hữu hạn

Van dé logarithm roi rac lién quan dén viéc str dung trường hữu han, một thành

phần quan trọng trong lý thuyết số và tính toán modulo Trong toán học, trường hữu

hạn, còn được gọi là trường Galois (đặt theo tên nhà toán học Évariste Galois), là một

loại trường chỉ chứa một số lượng hữu hạn các phần tử Giống như mọi trường khác,trong trường hữu hạn, các phép tính cộng, trừ, nhân, và chia đều được xác định vàtuân theo các quy tắc cơ bản

Một vi dụ điển hình của trường hữu hạn là trường được xác định bởi các sốnguyên modulo p, trong đó p là một số nguyên tô Trường này được gọi là trường bậc

p và được ký hiệu là Fp, với p là modulo của Fp Với một số nguyên bắt kì thoả mãn

Trang 15

n> 1, gọi là modulo, hai số nguyên a và b chỉ được gọi là đồng du modulo n nếu hiệu

của hai số chia hết cho n, tức là phải tồn tại một số nguyên k thoả mãn a - b = kn

Đồng dư modulo n là một quan hệ đồng dư, mang ý nghĩa rằng nó cũng có các

một quan hệ tương đương và tương thích với các phép toán công, trừ và nhân.

Đồng dư modulo n được ký hiệu là: a = b(mod n)

Trong phép toán tính số dư, dấu ngoặc sẽ mang tính chất đặc biệt hơn thay vìchỉ là ưu tiên như các phép toán thông thường Khi có dấu ngoặc xuất hiện (mod n)

sẽ được áp dụng cho toàn bộ phương trình chứ không chỉ áp dụng với riêng về phải

Trong trường hợp dấu ngoặc không xuất hiện, b mod n sẽ mang ý nghĩa đây là phéptoán modulo Dé rõ hơn, b mod n sẽ là ký hiệu số du khi b chia cho n, tức số nguyên

a sẽ thoả 0 <a <n và a E b (mod n).

Các phép toán trong trường hữu hạn

Các phép cộng trừ trong trường hữu hạn được thực hiện như bình thường và thêm bước giảm vé các giá tri có trong trường hữu hạn.

Thuật toán 1: Phép cộng trong Fp

Dau vào: Số nguyên tố p, số tự nhiên x,y € [0,p — 1]

Đầu ra: z = (x + y) mod p

1 Thực hiện x + y

2 Nếu x + y > p thì z (x+y)—p

3 Trả về kết quả (2)

Trang 16

Thuật toán 2: Phép trừ trong Fp

Dau vào: Số nguyên tố p, số tự nhiên x, y € [0,p — 1]

Đầu ra: z = (x— y)modp

1 Thực hiện x - y

2 Nếu x- y<p thì z (x— y)+p

3 Trả về kết quả (2)

Thuật toán 3: Phép nhân trong Fp

Dau vào: Số nguyên to p, số tự nhiên x, y € [0,p — 1]

Đầu ra: z = x y mod p

Luu ý rang x' chi tồn tai khi x, p nguyên tố cùng nhau, tức là ged(x, p) = 1.

Thuật toán 4: Phép nghịch dao trong Fp cho hệ nhị phân

Đâu vào: Số nguyên tô p, số tự nhiên x,y € [0,p — 1]

Đầu ra: z = y.x~! mod p

Trang 17

Nếu x là số chăn thực hiện x, — x,/2; không thì thực hiện x, < (x, +

p)/23.2 Khi v là số chăn thực hiện

1ú 0/2

Nếu x là số chan thực hiện x, x;/2; không thì thực hiện x © (x2 +

p)/23.3 Nếuu > y thì thực hiện u—v,x, © x, — Xp;

không thì thực hiện v — u, x2 — X2 — X4.

4 Nếu = ¡ trả về kết qua (x) mod p)

còn không trả về kết quả (x2 mod p)

2.4 Hệ mat mã đường cong Elliptic

2.4.1 Tổng quan về đường cong Elliptic

Năm 250 sau Công Nguyên, Diophant đã gặp phải bài toán xác định số tầng,

số qua cầu của toà tháp biết răng khi trải ra mặt phẳng các quả cầu có thé xếp thànhmột hình vuông Dé tìm ra đáp án cho bài toán này, ông đã phải giải phương trình

dưới đây:

x(x + 1)(2x + 1)

y? = 174 274+ 374+ 4x7 = 6

Trong phương trình trên, y chính là số qua cầu thuộc một cạnh của hình vuông

và x là số tầng của toà tháp Đây cũng là một phương trình đường cong Elliptic.

Năm 1637, Peirre de Fermat đã ghi chú vào lề bản sao công trình của Diophant

và công bố định lý lớn Fermat, khang định phương trình:

x"+ y"”=z”,n >2

Suốt hon ba thé ki, với nhiều nỗ lực của các nhà toàn toán học, việc chứng minhđịnh lý vẫn bị thất bại Mãi cho đến những năm 1994, Andrew Wiles, giáo sư tại đạihọc Princeton, bằng việc sử dụng đường cong Elliptic có dạng cùng với lý thuyết về

Trang 18

modulo đã chứng minh được định lý lớn Fermat gây chấn đông lớn cho cộng đồng

toán học toàn câu.

Vào năm 1987, Neal Koblitz đã giới thiệu cuốn sách mang tên “Elliptic CurveCryptosystem” Sau sự kiện này, rất nhiều nghiên cứu về lý thuyết và ứng dụng của

đường cong Elliptic được phát triển va dần phô biển hơn Hệ mật mã đường cong

Elliptic (ECC) đã dang phát triển dé dần trở thành một phan quan trọng trong nền

tảng bảo mật hiện dai và dat được chuân hoá trong các tiêu chuân mật mã quôc tê.

+? P4

2 / | /

/ 44 ⁄ / ⁄

(a) Ey :yÖ=xÌ—x (>) Egy" x" +qx+7

Hình 2.1: Đường cong Elliptic trên trường số thực

Một số tiêu chuẩn liên quan đến đường cong Elliptic:

NIST: NIST đã xuất bản tiêu chuẩn FIPS 186-4, dùng dé định nghĩa

các phương pháp sử dụng đường cong Elliptic cho các thuật

toán chữ ký số và trao đối khóa NIST cũng quan lí các tiêuchuẩn liên quan đến việc lựa chọn tham số hệ mật đường

cong Elliptic.

ISO: ISO/IEC 14888-3 là tiêu chuan quốc tế định nghĩa các thuật

toán mật mã học sử dụng đường cong Elliptic, bao gồm cả

hệ thống chữ ký số và mã hóa

Trang 19

SECG: SECG là một nhóm chuyên gia độc lập, đã phát hành nhiều

tài liệu về tiêu chuẩn triển khai và sử dụng hệ mật mã đường

cong Elliptic trong các ứng dụng quốc tế Các hướng dẫn và

tài liệu hỗ trợ cho người dùng triển khai an toàn và hiệu qua

của ECC.

ANSI: ANSI tham gia vào việc xây dựng các tiêu chuẩn quốc tế liên

quan đến ECC va đảm bảo rằng các tiêu chuẩn này tương

thích và tuân thủ các tiêu chuân mã hóa quốc tế.

2.4.2 Thuật toán trên đường cong Elliptic

Trong đường cong Elliptic, dé biểu diễn các điểm thuộc đường cong, người ta

thường sử dụng ba dạng tọa độ cơ bản:

e Toa độ quan hệ Affine: biểu diễn tọa độ điểm bang cặp số nguyên (x,y)

trên một số trường hữu hạn

e Toa độ chiếu Projective: sử dụng toa độ điểm (X, Y, Z), giúp giảm thiểu

Trong đó, A và B là các hằng số cụ thể, cặp giá trị (x,y) là các tọa độ điểm nằm

trên đường cong Elliptic Các giá trị này thuộc một trường số cụ thé, có thé nhắc tới

như R (trường số thực), C (trường số phức), Q (trường số hữu tỉ), hay một trường Fq

hữu han, trong đó q = p" trong đó p là số nguyên tố với n = 1

10

Trang 20

Cộng các điểm trên đường cong Elliptic :

Phép cộng trên đường cong Elliptic với các điểm P, Q, R thuộc đường cong

cũng có các tính chất tương tự như các tính chất của nhóm:

e Giao hoan: P+Q=Q+P

e Kéthop:(P+Q)+R=P+(Q+R)

e Điểm đơn vị: Tôn tại một điểm O sao cho P+ O=P với mọi điểm P, trong

đường cong Elliptic O là điểm vô cực

se Điểm nghịch đảo: Với mỗi điểm P, tồn tại điểm P’ sao cho P+ P'= OVới 2 điểm Pi(x1, y1) # P2(x2, y2) (PA) thuộc đường cong Elliptic, phép cộnghai điểm được tính theo công thức:

P3(x3,y3) = Pi(xi, yi) + P2(a, y2)

Trong đó, -P3’(x3,y3”) là giao điểm giữa đường thăng được tạo bởi P1 va P2 vớiđường cong Elliptic, điểm Pa(xa,ya) đối xứng với điểm -P3 là kết quả của phép cộng

Trang 21

Tương tự như phép cộng hai điểm khác nhau, điểm P3 cũng là điểm đối xứng

với điểm -P3 khi kẻ đường thang từ điểm P giao thoa với đường cong Elliptic

P3(x3, y3) = (Àˆ“=2XI, À(XI — X3) — VI)

2.4.3 Nhân các điểm trên đường cong Elliptic

Nhân vô hướng các điểm trên đường cong Elliptic:

Trang 22

Thuật toán 5: Phép nhân vô hướng trên đường cong Elliptic

Dau vào: n = {nạ_¡ nạnạ}, P(Px, Py), p và a trong phương trình y2 = x3 + ax +

2.1 Néunj=1 thực hiện Q — PA(Q, P)

e _ Trên đường cong Elliptic E, không tồn tại phép nhân hai điểm, tức là không có

phép toán P x Q với P, Q €E.

® Không ton tại phép chia vô hướng Q/n Nếu biết Q = nP, việc tìm số n từ Q và P

là bài toán Logarithm rời rạc, đây là một bài toán khó như đã được trình bày ở

phần 2.2 Dựa vào độ khó của bài toán này, hệ mật mã đường cong Elliptic có thểđược xây dựng với các giao thức cho mã hóa, xác thực, và trao đổi khóa

2.4.4 Tham số của hệ mật ECC

Tấn công MOV được đặt theo tên của các tác giả đã phát hiện ra nó Menezes,

Okamoto, và Vanstone, là một dang tấn công đặc biệt nhắm vào các hệ mật dựa trên

đường cong Elliptic Tấn công này khai thác lỗ hồng trong một số đường congElliptic, khiến cho việc giải bài toán Logarithm rời rạc trong nhóm các điểm trên

đường cong Elliptic có thé được chuyên đổi thành giải bài toán Logarithm rời rac

trong trường hữu han, từ đó dé dang và nhanh hơn Do đó, dé tránh các tan công nhưMOV, việc lựa chọn các tham số của hệ mật là vô cùng quan trọng va phải dap ứngđược một số tiêu chuẩn nhất định, như được đề cập trong chuẩn [8]

13

Trang 23

e a,b €Fg: Là csác hệ số dùng dé xác định phương trình của đường cong

Elliptic trên Fq với dạng y? = xŸ + ax + b.

se P: Điểm cơ sở P = (xp, yp) €E(Fq), có bậc nguyên to n

e h: Đồng hệ số, được tính bằng #E(Fq) /n

Thuật toán 6: Khởi tạo các giá trị của tham số hệ mật

Đầu vào: q, FR, mức độ bảo mật L thoả 160 < L < |log; q| và 2! = 4/q

Đầu ra: Tham số hệ mật D = (q, FR, S, a, b, P, n, h)

Trang 24

Thuật toán 7: Khởi tạo đường cong Elliptic ngẫu nhiên trên trường nguyên tố

hừu han Fp

Đầu vào: Một số nguyên tố p > 3, và ham bam H I-bit

Đầu ra: Mam S, tham số a,b € Fp định nghĩa đường cong E: y2 = x3+ax+b

Đặt £ UYoP,YPF S \(ÁL LjJgZe,v Y-làaa2» oz (†_ 19/1] we

1, “ t—sl.

2 Chon một chuỗi S ngau nhiên số bit có độ dài g > / bits

3 Tính giá trị băm j = H(S), và cho rọ là bit chuỗi độ dài v bits nhận được bằng

cách lấy v bits giá trị phải ngoài của của h

4 Cho Ro là chuỗi nhận được từ bit trái nhất của z¿ tới 0

5 Cho z là số tự nhiên mà biéu diễn nhị phân là Š

6 Tiri = 7 cho tới s thực hiện

6.1 Cho s; là g-bit biéu diễn nhị phân của số tự nhiên (2 + i) mod 2#

6.2 Tinh Ri= H(s)

7 Thực hiện R = R¿|| Ri|| || Rs

8 Chor là số tự nhiên mà biéu diễn nhị phân là R

9 Nếu r = 0 hoặc 4r +27 = 0 (mod p) thì trở lại bước 2

10 Chon ngẫu nhiên a,b € Fp, không được cả hai là 0, như vậy r.b? = a? (mod p)

Trang 25

Bảng 2.1: Thuộc tính của tham số hệ mật đường cong Elliptic qua trường Fp

Parameters Section Strength | Size |RSA/DSA | Koblitz or ran-dom

Trong bài luận này tiêu chuẩn sử dụng cho đường cong Elliptic sử dung

secp256k1 với các tham số hệ mật như sau:

p = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE

FFFFFC2F

=2256 _ 232 _ 29 _ 28 _ 27 — 26 _— 24 — 4

= 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000

b = 00000000 00000000 00000000 00000000 00000000 00000000 00000000

00000007

Điểm cơ sở G ở dang thu gon:

G = 02 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9 59F2815B 16F81798

Dang không thu gon:

16

Trang 26

G = (04 79BE667E F9DCBBAC 55A06295 CE870B07 029BFCDB 2DCE28D9

59F2815B 16F81798, 483ADA77 26A3C465 SDA4FBFC 0E1108A8 FD17B448

A6855419 9C47D08F FB10D4B8)

Tông sô diém tạo ra từ G va dong hệ sô

n = FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFE BAAEDCE6 AF48A03B BFD25E8C D0364141

h=01

2.4.5 Ứng dụng của hệ mat đường cong Elliptic

ECC, một công nghệ mã hóa dựa trên đường cong Elliptic, đang được áp dụng

rộng rãi trong nhiều ứng dụng: chính phủ Mỹ sử dụng dé bảo vệ thông tin liên lạc nội

bộ, các dự án Tor áp dụng dé bảo dam tính ân danh, và là cơ chế chứng minh quyền

sở hữu trong Bitcoin.

ECC còn có mặt trong việc cung cấp chữ ký số cho iMessage của Apple, mã

hóa thông tin DNS qua DNSCurve, và xác thực cho các trình duyệt web an toàn thông qua SSL/TLS.

Hiệu suất vượt trội của ECDSA so với RSA là không thé phủ nhận, thé hiện

qua việc tạo chữ ký ECDSA với khóa 256-bit nhanh hơn đến 20 lần so với chữ ký

RSA 2048-bit, ngay cả khi sử dụng phiên bản OpenSSL cũ không tối ưu cho ECC

Mặc dù các thuật toán mã hóa khóa công khai thế hệ đầu tiên như RSA vàDiffie-Hellman vẫn còn được sử dung rộng rãi, ECC đang dần trở thành lựa chọnthay thế ưu việt cho RSA Khi truy cập vào các phiên bản HTTPS của các trang webphổ biến như Facebook.com, Amazon.com, Google.com, từ các trình duyệt web,ECC được sử dụng dưới hình thức ECDHE ECDSA ECDHE, là cơ chế trao đổikhóa, còn ECDSA, là cơ chế sinh và xác thực chữ ký số

ECC còn được ứng dụng rộng rãi trong bảo mật thông tin trên các thiết bị ioT,điện thoại thông minh và các hệ thống nhúng

17

Trang 27

2.5 Thuật toán chữ ký số ECDSA

2.5.1 Tổng quan thuật toán chữ ky số ECDSA

ECDSA, được giới thiệu trong phần 2.1, là thuật toán chữ ký số ứng dụng

đường cong Elliptic Thuật toán được sử dụng đảm bảo tính xác thực của thông tin

truyền tải mà không tác động tới tính bảo mật của đữ liệu gốc, qua đó giúp ngăn ngừaviệc thông tin bi giả mạo và chỉnh sửa bởi các bên không mong muốn

Không giống với mã hoá đối xứng như AES, chỉ sử dụng duy nhất một khoá

cho cả hai quá trình giải mã và mã hoá ECDSA ứng dụng các phép tính phức tạp trên

đường cong Elliptic sử dụng một cặp khoá gồm khoá riêng tư và khoá công khai.Chức năng của hai khoá là khác nhau, khoá riêng tư sử dụng đề tạo chữ ký, khoá công

khai trong trường hợp này giúp xác thực tính chính xác của chữ ký, tuy nhiên khoá

không thé giải mã dữ liệu đã được mã hoá Điều này đảm bảo thông tin gốc luôn trong

tình trạng an toản.

Chữ ký số chỉ duy nhất được tạo bởi người sở hữu khoá bí mật, điều này có thểxác minh bởi bat kì cá nhân hay tô chức nào thông qua khoá công khai Với hiệu suấtđược nâng cao và tối ưu được kích thước khoá khiến ECDSA rất hữu ích kết hợp vớitính chất trên đang khiến thuật toán trở thành một lựa chọn hàng đầu trong lĩnh vực

bảo mật.

2.5.2 Thuật toán sinh — xác thực chữ ký số ECDSA

ECDSA được chấp nhận vào năm 1999 thành tiêu chuẩn của ANSI, năm 2000được phê duyệt trở thành tiêu chuẩn của IEEE va NIST Trước đó, vào năm 1998,ECDSA cũng được chấp nhận như một tiêu chuẩn ISO, và hiện tại đang được xemxét dé tích hợp vào một số tiêu chuẩn ISO khác Dưới đây là thuật toán sinh chữ ký

và xác thực chữ ký số ECDSA dựa theo DSA

Người ký tạo ra chữ ký số bằng cách chọn khóa bí mật d, tạo khóa công khaidựa trên khóa bí mật đã chọn Q = dP, sử dụng ham băm đề thực hiện tạo giá trị tómtắt cho văn bản cần ký Chữ ký được tạo ra sẽ là cặp giá tri (r,s) như trong thuật toán

10.

18

Trang 28

Thuật toán 8: DSA tạo ra chữ ký

Đầu vào: Tham số logarithm rời rac (p, g, g), khoá bi mật x, tin nhan m

Thuật toán 9: DSA xác thực chữ ky

Đầu vào: Tham số logarithm rời rac (p, ø, g), khoá công khai y, tin nhắn m, chữ

Nếu r = r thì trả về “Xác thực chữ ky” không thì “Ti chối chữ ky”

Thuật toán xác minh có thể được thực hiện mà không cần biết khóa bí mật hay

giá trị ngẫu nhiên k nhờ vào phương trình tương đương dưới đây:

—1

k =s71(h + xr)(mod q)T = g"* ‘y's

19

Trang 29

Bằng việc luỹ thừa hai về với cơ số g, tính chất toán học đã được xác thực

g* = gh$ gS <=> T= gts yrs" mod p

Người xác minh khi này có thé tinh T theo thuật toán và kiểm tra lại r = T mod q

Bên trên là cách thuật toán DSA thực hiện, băng chính sự phức tạp trong việc

giải mã trên hệ mật mã đường cong Elliptic, hệ mật mã đường cong Elliptic sẽ được

kết hợp vào thuật toán trên tạo ra một phiên bản khác là ECDSA có thuật toán tương

tự như sau:

Thuật toán 10: ECDSA tạo ra chữ ký

Đầu vào: Tham số D = (q, FR, S, a, b, P, n, h), khóa bí mật d, thông điệp m.

Trang 30

Thuật toán 11: ECDSA xác thực chữ ký

Đầu vào: Tham số D = (q FR, S, a, b, P, n, h), khóa công khai Q = dP, thông điệp

nhận được m“, chữ ky (r,s)

Đầu ra: Xác thực hoặc từ chối chữ ký

1 Kiểm tra 7 và s có thuộc khoảng [1, n - 1] Nếu bước kiêm tra sai thì tra giá tri

Nếu r’ = œ thi “Tir chối chữ ký?

Chuyén toa độ x; của rˆ thành số tự nhiên xạ, tính r` = xi mod n

2.6 Giới thiệu hàm băm

Thuật toán băm an toàn (SHA), được gọi là hàm băm nổi tiếng nhất, là tập hợp

các thuật toán băm mật mã được thiết kế dé bảo mật dữ liệu

Các thuật toán được xuất bản lần đầu tiên vào năm 2001 trong bản dự thảo FIPSPUB 180-2, tại thời điểm đó các đánh giá và nhận xét của công chúng đã được chấp

nhận Vào tháng 8 năm 2002, FIPS PUB 180-2 trở thành Tiêu chuẩn băm an toàn

mới, thay thé FIPS PUB 180-1, được phát hành vào tháng 4 năm 1995 Tiêu chuancập nhật bao gồm thuật toán SHA-1 ban đầu, với ký hiệu kỹ thuật được cập nhật phù

hợp với mô tả đó hoạt động bên trong của dòng SHA-2.

Bam là quá trình xáo trộn dữ liệu đầu vào đến mức không thê biến đổi nó trởlại dang ban đầu Quá trình băm thực hiện lấy một phan thông tin và chuyền nó quamột hàm thực hiện các phép toán xáo trộn các dữ liệu ban đầu đó Hàm này được gọi

là hàm băm và đầu ra của quá trình được gọi là giá trị băm/ giá trị tóm tắc

21

Trang 31

Hàm băm mã hoá sẽ luôn đáp ứng được các yêu câu:

e Không thé đảo ngược: Không thể dựa vào giá trị hàm băm dé tim dữ liệu

gốc hoặc các dit liệu khác có cùng giá trị băm

e Tính ngẫu nhiên: Mọi thay đổi nhỏ trong đầu vào đữ liệu cần tạo ra một giá

trị băm khác biệt.

e Tính không đụng độ (kháng va chạm): Điều này đảm bảo rang việc tìm ra

hai đầu vào có cùng giá trị băm là không thé hoặc rất khó khăn

Hiện này các hàm băm được sử dụng chính cho hai chức năng:

Bam mật khẩu: thông thường các website sẽ chuyên mật khẩu người dùng

sang các giá trị băm trước khi lưu trữ trên máy chủ, trong quá trình đăng nhập mật

khẩu sẽ được băm lại và so sánh với giá trị băm trước có trong cơ sở dit liệu dé xác

thực

Xác mình tính toàn vẹn: của tệp tin băng cách xác thực mã hash trước và sau khi tệp tin được chia sẻ

Một số hàm băm thông dụng hiện nay có thé kế đến như MDS, 1,

SHA-256 và SHA-512 Tuy nhiên trong bai luận này sẽ chi tập trung sử dụng vào SHA-2

(sử dụng phién bản SHA-256)

2.6.1 Tóm lược về SHA-256

SHA-256 là một phần của nhóm thuật toán SHA 2, trong đó SHA là viết tắt củaSecure Hash Algorithm (thuật toán băm an toàn) SHA-256 xuất hiện vào năm 2001,

là nỗ lực chung giữa NSA va NIST nhằm giới thiệu phiên bản kế thừa cho dong

SHA-1, vôn đang dan mat di sức mạnh trước các cuộc tân công brute-force.

SHA-256 được thiết kế để chuyền đôi một đầu vào có độ dài bất kỳ thành mộtgiá trị băm có định độ dài 256 bit Quá trình băm này là một quá trình không đảongược và một giá tri băm được tạo ra từ cùng một đầu vào sẽ luôn cho ra kết quảgiống nhau Hơn nữa, việc tìm ra hai đầu vào khác nhau cho cùng một giá trị băm làrất khó, gần như là bất khả thi trong thực tế

22

Trang 32

SHA-256 sử dụng một loạt các phép toán số học và logic dé xử ly dữ liệu đầuvào, bao gồm các phép xor, and, or, not, shift, add va rotate Quá trình băm nay được

thực hiện theo các vòng lặp và cuôi cùng kêt quả băm được trả về là một chuỗi sô

hexa 256-bit Điều này làm cho SHA-256 trở thành một trong những thuật toán băm

an toàn và đáng tin cậy nhất hiện nay

Các đặc trưng nổi bật của hàm băm SHA-256

2.6.2.

Giá trị băm của SHA-256 luôn có độ dài 256 bits không phụ thuộc vào kích

thước của dữ liệu đầu vảo

Độ dài của dữ liệu đầu vào: Độ dài của dữ liệu đầu vào nên nhỏ hơn 264bit Kích thước nên phải nằm trong vùng này dé giữ cho giá trị băm đượcngẫu nhiên nhất có thê

Độ dài của giá trị băm: Độ dài của giá trị băm có thể là 256 bits với hàm

băm SHA-256, 512 bits với SHA-512, Độ dai giá tri băm cảng lớn yêu

cầu việc tính toán nhiều hơn dẫn tới giảm về tốc độ và không gian lưu trữ.Không thé đảo ngược: Theo thiết kế, tat cả các hàm băm như SHA-256 đều

không thể đảo ngược được Sẽ không thể xác định được đữ liệu đầu vàoban đầu từ giá trị băm và giá trị băm cũng không thể trở thành dữ liệu ban

đầu khi chuyên nó qua hàm băm một lần nữa

Cách thức hoạt động

Có bốn quá trình diễn ra khi SHA-256 được thực hiện

Quá trình 1: Đệm thêm các bits

SHA-256 sẽ thêm các bit mở rộng cho đoạn dữ liệu đầu vào, đảm bảo khi

mở rộng sẽ còn trong 64 bits trong khối block 512 bits cuối cùng

Trong quá trình padding, bit đầu tiên được thêm vào là bit mang giá tri 1,các bit còn lai sẽ mang giá tri 0, 64 bits trống là độ dai của dit liệu đầu vào

được thêm vào.

23

Trang 33

Quá trình 2: Khởi tạo các giá trị bộ đệm

e Cac gia trị đầu tiên của giá trị băm lần lượt là

h0:= 0x6a09e667 h1:= Oxbb67ae85

h2:= 0x3c6ef372

h3:= 0xa54ff53a

h4:= 0x510e527f h5:= 0x9b05688c h6:= 0x1f83d9ab

h7:= Ox5be0cd19

e Khởi tao các giá tri khoá từ k[0] đến k[63] lần lượt

k[0 63]:=

0x428a2f98 | 0x71374491 |0xb5c0fbcf |0xe9b5dbaS 0x59flllfl | Ox59f111f1 |0xablc5edS | 0xd§07aa9§ | 0x12835b01 0x243185be | 0x550c7dc3 |0x72be5d74 | Ox80debl fe

0x0fc 19dc6

0x27b70a§S | Ox2e1b2138 | 0x4d2c6dfc 0x766a0abb | 0x§1c2c92e | 0x92722c85 Oxc24b8b70 | 0xc76cSla3 | 0xd192e819 0xd6990624 | Oxf40e3585 | 0xl06aa070 | 0x19a4c116 | Oxle376c08

0x19a4c116 | Oxle376cO8 | 0x2748774c_ | 0x34b0bcbS | 0x391c0cb3

0x4ed§aa4a |0x5b9cca4f | 0x682e6ff3 0x748f82ee | 0x78a5636f

0x84c87814 | Ox8cc70208 | Ox90befffa 0xa4506ceb | Oxbef9a3f7

Oxe67178f2

Quá trình 3: Thực hiện các hàm nén dir liệu

e Một mảng có 64 phần tử với độ rộng 32 bit được tạo ra

e Dữ liệu đầu vào đã chia thành các block 512 bit được đưa vào 16 phần tử

đầu

e Lap day các phan tử còn lại bằng các hàm sau

Cho i từ w[16 63]:

24

Trang 34

s0 = (w[i-15] xoay phải 7) xor (w[i-15] xoay phải 18) xor (w[i-15] >> 3)

sl = (w[i-2] xoay phải 17) xor (w[1-2] xoay phải 19) xor (w[i-2] >> 10)

w[ï] = w[i-16] + s0 + w[i-7] + sl

Gan gia tri các biến của thuật toán SHA như sau:

a:= h0, b:= hl, c:= h2, d:= h3, f:= h5, g:= hó, h:= h7

Thực hiện vòng lặp nén

Cho 1= 0 tới 64 thực hiện

1: S1 =(e xoay phải 6) xor (e xoay phải 11) xor (e xoay phải 25)

2: ch = (e and f) xor ((not e) and g)

3: templ = h + SI + ch + k[ï] + w{i]

4: S0 = (a xoay phải 2) xor (a xoay phải 13) xor (a xoay phải 22)

5: maj = (a and b) xor (a and c) xor (b and c)

Cập nhật các giá trị băm bằng cách cộng lần lượt h0, h1, h2, h3, h4, h5, hó, h7

với lân lượt các biên a, b, c, d, e, f, g, h.

Quá trình 4: Thé hiện giá trị băm cuối cùng

25

Trang 35

e Các khối đữ liệu đầu vào 512 bits sẽ tiếp tục lặp lại trong quá trình 3.

e Kết quả cuối cùng là việc nối giá trị từ h0 đến h7 cho ra giá trị băm cuối

cùng.

2.6.3 Ung dụng của ham băm SHA

Xác thực chữ ký số theo phương pháp mã hoá bất đối xứng để xác minh tính

xác thực của tài liệu/ tệp Các thuật toán băm như SHA-256 đã được chứng minh trong khoảng thời gian dải trong việc đảm bảo xác minh chữ ký.

Bam mật khẩu như đã nói ở trên, trang web chỉ lưu trữ mật khâu người dùng

dưới dạng giá trị băm đề có hai lợi ích là đảm bảo tính bảo mật thông tin cả nhân va

giảm tải cho cơ sở đữ liệu do tất cả các giá trị băm đề có kích thước tương tự nhau

SSL Handshake giao thức SSL là một bộ phận quan trọng trong các phiên duyệt web và nó sử dụng hàm băm SHA, đảm bảo trình duyệt web và máy chủ web

cùng đồng ý trên các khoá bảo mật và xác thực hàm băm dé chuẩn bị cho các kết nối

bảo mật

Integrity Checks tính toán vẹn của dữ liệu sẽ được sử dụng các biến thể củahàm băm SHA-256 và cả thuật toán MD5, đảm bảo đầy đủ chức năng của tệp tin va

không bị sửa đôi trong suốt quá trình di chuyền

Bằng việc kết hợp thuật toán chữ ký số ECDSA và SHA-256 đem lại các lợi

ích lớn hơn trong việc tạo chữ ký và xác thực thông tin như sau:

Bảo mật cao: Đây là một thuật toán dựa trên hệ mã khóa bat đối xứng đặc biệthiệu quả (PKC) ECDSA đóng vai trò là nền tảng cho tính bảo mật của Bitcoin và

được sử dụng rộng rãi trong các ứng dụng nhắn tin cần sự riêng tư Vì một số lý do,

kích thước khoá nhỏ hơn được ưa chuộng hơn các kích thước khoá lớn hơn Vì phép

toán đơn giản hơn với các khóa nhỏ hơn nên thuật toán nhanh hơn có thể tạo ra chữ

ký.

Hiệu suất ứng dụng tốt: Các cặp khóa cần thiết cho việc ký và xác minh chữ ký

số được tạo bằng ECC bởi thuật toán chữ ký số ECDSA ECC thường được sử dụng

26

Trang 36

dé ký các giao dịch hoặc sự kiện trong các ứng dụng blockchain do những ưu điểm

của nó so với các thuật toán khóa công khai khác.

Tốc độ xác minh cao: Tin nhắn đã ký, chữ ký r, s được tạo bởi thuật toán ký vàkhóa chung pubKey, tương ứng với khóa riêng của người ký, đều là đầu vào cho quy

trình được sử dụng dé xác thực chữ ký ECDSA Kết quả là một giá trị boolean, hợp

lệ hoặc không hợp lệ.

Hỗ trợ các tiêu chuẩn của chính phủ: Tiêu chuẩn Chữ ký Số (DSS), Tiêu chuẩn

Xử lý Thông tin Liên bang (FIPS) của Chính phủ Hoa Kỳ, chứa các thông số kỹ thuậtcủa Thuật toán Chữ ký Số (DSA) Việc giải mã bài toán logarit rời rạc (DLP) trongcác nhóm con thứ tự nguyên tổ của Z đóng vai trò là nền tang cho tính bảo mật

Yêu cầu hiện đại: ECC nên tuân thủ theo tiêu chuân FIPS vi ECDSA là mộttrong những kỹ thuật được FIPS phê duyệt cho các chức năng khóa bat đối xứng trong

FIPS 140-2, cùng với RSA và DSA Dựa trên mật mã khóa công khai, đây là một thuật toán đã chứng minh có hiệu quả cao (PKC).

27

Trang 37

Chương3 Hiện thực

3.1 Hiện thực thuật toán ECC

Nhân vô hướng k.P

NAF

method

Tang trung gian:

Trường hữu han va

(E(GF(2m)))

Projective Coordinates

(P+ P)

dd ECC | | Add ECC | | Add ECC

(PI+P2) | |(P1+P2) | | (P1+P2)

Double Double Double

ECC ECC ECE (P+ P) (P+ P) (P+ÐP)

ADDITION MULTIPLV

SQUARE MODULO

INVERSION

Hình 3.1: Hệ thống phân cấp của thuật toán ECC

Các phép toán trên đường cong Elliptic được hiện thực theo mô hình phân cấp

như hình trên, với ba tâng được mô tả như sau:

Tầng trên cùng (Upper Layer): Là phép nhân trên đường cong Elliptic, với k là

số nguyên dương có thê được biéu diễn đưới nhiều dạng khác nhau, điển hình như là

dạng không liền kề (NAF) hoặc dạng nhị phân (Binary) Có nhiều thuật toán khácnhau được sử dụng dé thực hiện phép nhân vô hướng trên đường cong Elliptic như:

thuật toán nhân đôi và cộng (double and add), thuật toán Montgomery Ladder, thuật

toán trượt cửa số (sliding-window),

28

Trang 38

Ở tầng trung gian (Middle Layer): Thực hiện các phép cộng trên đường congElliptic, trong đó có hai điểm khác nhau hoặc trùng nhau Các thuật toán trong tang

này được triển khai dựa trên các tiêu chuẩn khác nhau về hệ tọa độ của đường cong

và sự biểu diễn của trường hữu hạn Thông thường trường hữu hạn chính được sửdụng là trường số nguyên tố GF(p) và trường nhị phân GF(2"), và mỗi trường hữuhạn có thể biểu diễn bằng hai hệ tọa độ là hệ tọa độ quan hệ (affine) và hệ toa độ

Ở tầng này, nhóm thực hiện chủ yếu bốn thuật toán bao gồm: thuật toán cộng

modulo, thuật toán trừ modulo, thuật toán nhân modulo, thuật toán nghịch đảo modulo.

3.1.1.1 Thuật toán cộng trừ modulo

Việc hiện thực phần cứng của thuật toán cộng modulo và trừ modulo có nhiều

điểm tương đồng về mặt thuật toán, sự khác biệt chủ yếu giữa hai thuật toán chỉ đến

từ khối cộng và khối trừ trong kiến trúc Dé tối ưu tài nguyên, thuật toán 8 dưới đâygộp chung hai phép tính cộng modulo và trừ modulo thành một phép tính duy nhất.Trong đó các bước 2- 7 thé hiện phép tính cộng modulo và các bước 10-15 thể hiện

phép tính trừ modulo Trong trường hợp phép tính cộng modulo S = (a + b) mod p,

tín hiệu Sel_ Op phải được đặt thành 0; bộ cộng đầu tiên thực hiện phép cộng giữa haiđầu vào a, b cung cấp tổng S¡ và tín hiệu Couti, bộ cộng thứ hai thực hiện phép trừgiữa S1 và p với đầu ra Sa và Couta Cuối cùng, thực hiện Cout: | Coutz để chọn giá

tri output là S; hoặc S2 Trong trường hợp phép trừ modulo S = (a - b) mod p, tín hiệu

Sel_Op sẽ được đặt thành | và bộ cộng đầu tiên thực hiện phép trừ giữa các đầu vào

a, b và bộ cộng thứ hai cộng kết quả S¡ cho modulo p Tương tự như trường hop đầu

29

Trang 39

tiên, thực hiển kiểm tra giá tri Cout2 dé chon giá tri output là S; hoặc S2 Thuật toánnày chỉ sử dụng 1 chu kì xung clock đề thực hiện tính toán.

Thuật toán 8: Cộng trừ modulo

Đầu vào: a, b I [0, p— 1], p và Sel_ Op

Đầu ra: S = (a + b) mod p

Trang 40

Hình 3.2: Kiến trúc khối cộng trừ modulo

Khối Modular Addition / Subtraction là một khối đơn giản bởi vì chúng chỉ sửdụng các mạch tổ hợp, bao gồm 2 khối Adder dé thực hiện cộng và trừ, 3 bộ mux và

các công logic.

31

Ngày đăng: 23/12/2024, 23:59

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[12] Md. Mainul Islam, Md. Selim Hossain, Moh. Khalid Hasan, Md. ShahJalal, Yeong Min Jang, "Design and Implementation of High-Performance ECC Processor with Unified Point Addition on Twisted Edwards Curve," Seoul, Korea, 2020 Sách, tạp chí
Tiêu đề: Design and Implementation of High-Performance ECCProcessor with Unified Point Addition on Twisted Edwards Curve
[13] Vladimir TrujlloOlaya and Jaime Velasco-Medina, "Hardware Implementation of Elliptic Curve Digital Signature Algorithm over GF(2409) Using SHA-3," Jnternational Journal of Machine Learning and Computing, vol. 12, May 2022 Sách, tạp chí
Tiêu đề: HardwareImplementation of Elliptic Curve Digital Signature Algorithm over GF(2409)Using SHA-3
[14] Komathy K, Narayanasamy P, "Strengthening ECDSA Verification Algorithm to be More Suitable to Mobile Networks," IEEE, 2006 Sách, tạp chí
Tiêu đề: Strengthening ECDSA Verification Algorithmto be More Suitable to Mobile Networks
[15] D. Westhoff, B. Lamparter, C. Paar, A. Weimerskirch, "On Digital Signatures in Ad Hoc Networks," Se/f-Organisation in Mobile Networking, vol. 16, no. 5,p. 411-425, 2005 Sách, tạp chí
Tiêu đề: On Digital Signaturesin Ad Hoc Networks
[16] Elhadjyoussef Wajih, Benhadjyoussef Noura, Machhout Mohsen, Tourki Rached, "Low Power Elliptic Curve Digital Signature," 2012 Sách, tạp chí
Tiêu đề: Low Power Elliptic Curve Digital Signature
[17] PGS. TSKH HOANG ĐĂNG HAL, TS. LEU DUC TÂN, "NGHIÊN CUU GIẢI PHÁP NANG CAO HIỆU QUA SỬ DUNG MAT MA DUONG CONG ELLIPTIC TREN CÁC THIET BỊ TÍNH TOÁN NHUNG," Hà Nội, 2022 Sách, tạp chí
Tiêu đề: NGHIÊN CUUGIẢI PHÁP NANG CAO HIỆU QUA SỬ DUNG MAT MA DUONG CONGELLIPTIC TREN CÁC THIET BỊ TÍNH TOÁN NHUNG
[18] Tim G uneysu and Christof Paar, "Ultra High Performance ECC over NIST Primes on Commercial FPGAs," 2008 Sách, tạp chí
Tiêu đề: Ultra High Performance ECC over NISTPrimes on Commercial FPGAs
[19] Sandeep S.V, Hameem Shanavas.I, Nallusamy.V, Brindha.M, "Hardware Implementation of Elliptic Curve Cryptography over Binary Field," Computer Network and Information Security, vol. 2, pp. 1-7, 2012 Sách, tạp chí
Tiêu đề: HardwareImplementation of Elliptic Curve Cryptography over Binary Field

HÌNH ẢNH LIÊN QUAN

Hình 2.1: Đường cong Elliptic trên trường số thực Một số tiêu chuẩn liên quan đến đường cong Elliptic: - Khóa luận tốt nghiệp Kỹ thuật máy tính: Hiện thực lõi IP thuật toán chữ ký số (DSA) sử dụng hệ mật mã đường cong ELLIPTIC kết hợp thuật toán băm SHA-256 trên FPGA
Hình 2.1 Đường cong Elliptic trên trường số thực Một số tiêu chuẩn liên quan đến đường cong Elliptic: (Trang 18)
Hình 3.1: Hệ thống phân cấp của thuật toán ECC - Khóa luận tốt nghiệp Kỹ thuật máy tính: Hiện thực lõi IP thuật toán chữ ký số (DSA) sử dụng hệ mật mã đường cong ELLIPTIC kết hợp thuật toán băm SHA-256 trên FPGA
Hình 3.1 Hệ thống phân cấp của thuật toán ECC (Trang 37)
Hình 3.2: Kiến trúc khối cộng trừ modulo - Khóa luận tốt nghiệp Kỹ thuật máy tính: Hiện thực lõi IP thuật toán chữ ký số (DSA) sử dụng hệ mật mã đường cong ELLIPTIC kết hợp thuật toán băm SHA-256 trên FPGA
Hình 3.2 Kiến trúc khối cộng trừ modulo (Trang 40)
Hình 3.3: Khối nhân modulo Khối nhân modulo có ba gia tri dau vao dé thuc hién phép tinh bao gom: X, Y, - Khóa luận tốt nghiệp Kỹ thuật máy tính: Hiện thực lõi IP thuật toán chữ ký số (DSA) sử dụng hệ mật mã đường cong ELLIPTIC kết hợp thuật toán băm SHA-256 trên FPGA
Hình 3.3 Khối nhân modulo Khối nhân modulo có ba gia tri dau vao dé thuc hién phép tinh bao gom: X, Y, (Trang 42)
Sơ đồ FSM va bảng chuyền trạng thái khối nhân modulo: - Khóa luận tốt nghiệp Kỹ thuật máy tính: Hiện thực lõi IP thuật toán chữ ký số (DSA) sử dụng hệ mật mã đường cong ELLIPTIC kết hợp thuật toán băm SHA-256 trên FPGA
va bảng chuyền trạng thái khối nhân modulo: (Trang 43)
Bảng 3.1: Bảng control word máy trạng thái khối nhân Modulo - Khóa luận tốt nghiệp Kỹ thuật máy tính: Hiện thực lõi IP thuật toán chữ ký số (DSA) sử dụng hệ mật mã đường cong ELLIPTIC kết hợp thuật toán băm SHA-256 trên FPGA
Bảng 3.1 Bảng control word máy trạng thái khối nhân Modulo (Trang 44)
Hình 3.6: Sơ đồ máy trạng thai FSM khối nghịch dao modulo - Khóa luận tốt nghiệp Kỹ thuật máy tính: Hiện thực lõi IP thuật toán chữ ký số (DSA) sử dụng hệ mật mã đường cong ELLIPTIC kết hợp thuật toán băm SHA-256 trên FPGA
Hình 3.6 Sơ đồ máy trạng thai FSM khối nghịch dao modulo (Trang 45)
Hình 3.9: Khối Datapath EC_ Unit - Khóa luận tốt nghiệp Kỹ thuật máy tính: Hiện thực lõi IP thuật toán chữ ký số (DSA) sử dụng hệ mật mã đường cong ELLIPTIC kết hợp thuật toán băm SHA-256 trên FPGA
Hình 3.9 Khối Datapath EC_ Unit (Trang 55)
Hình 3.11: Sơ đồ máy trạng thái FSM khối EC_ Unit - Khóa luận tốt nghiệp Kỹ thuật máy tính: Hiện thực lõi IP thuật toán chữ ký số (DSA) sử dụng hệ mật mã đường cong ELLIPTIC kết hợp thuật toán băm SHA-256 trên FPGA
Hình 3.11 Sơ đồ máy trạng thái FSM khối EC_ Unit (Trang 58)
Hình 3.12: Khối Datapath SHA-256 Khối Datapath SHA-256 nhận tín hiệu điều khiển từ FSM của khối controller, - Khóa luận tốt nghiệp Kỹ thuật máy tính: Hiện thực lõi IP thuật toán chữ ký số (DSA) sử dụng hệ mật mã đường cong ELLIPTIC kết hợp thuật toán băm SHA-256 trên FPGA
Hình 3.12 Khối Datapath SHA-256 Khối Datapath SHA-256 nhận tín hiệu điều khiển từ FSM của khối controller, (Trang 61)
Hình 3.19: Sơ đồ máy trạng thai FSM khối ECDSA Máy trạng thái FSM khối ECDSA bao gồm 17 state: - Khóa luận tốt nghiệp Kỹ thuật máy tính: Hiện thực lõi IP thuật toán chữ ký số (DSA) sử dụng hệ mật mã đường cong ELLIPTIC kết hợp thuật toán băm SHA-256 trên FPGA
Hình 3.19 Sơ đồ máy trạng thai FSM khối ECDSA Máy trạng thái FSM khối ECDSA bao gồm 17 state: (Trang 71)
Hình 4.26: Kết quả testcase 1 trên công cụ trực tuyến - Khóa luận tốt nghiệp Kỹ thuật máy tính: Hiện thực lõi IP thuật toán chữ ký số (DSA) sử dụng hệ mật mã đường cong ELLIPTIC kết hợp thuật toán băm SHA-256 trên FPGA
Hình 4.26 Kết quả testcase 1 trên công cụ trực tuyến (Trang 85)
Hình 4.37: Kết quả kiêm tra văn bản 2 trên công cụ trực tuyến và Vivado - Khóa luận tốt nghiệp Kỹ thuật máy tính: Hiện thực lõi IP thuật toán chữ ký số (DSA) sử dụng hệ mật mã đường cong ELLIPTIC kết hợp thuật toán băm SHA-256 trên FPGA
Hình 4.37 Kết quả kiêm tra văn bản 2 trên công cụ trực tuyến và Vivado (Trang 90)
Hình 4.38: Kết quả kiểm tra văn bản 3 trên công cụ trực tuyến và Vivado - Khóa luận tốt nghiệp Kỹ thuật máy tính: Hiện thực lõi IP thuật toán chữ ký số (DSA) sử dụng hệ mật mã đường cong ELLIPTIC kết hợp thuật toán băm SHA-256 trên FPGA
Hình 4.38 Kết quả kiểm tra văn bản 3 trên công cụ trực tuyến và Vivado (Trang 90)
Hình 4.57: Kết quả xuất ra của số Vitis Console trên kit Virtex 7 - Khóa luận tốt nghiệp Kỹ thuật máy tính: Hiện thực lõi IP thuật toán chữ ký số (DSA) sử dụng hệ mật mã đường cong ELLIPTIC kết hợp thuật toán băm SHA-256 trên FPGA
Hình 4.57 Kết quả xuất ra của số Vitis Console trên kit Virtex 7 (Trang 98)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm