ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
ĐỖ HUY YÊN
NGHIÊN CỨU VỀ CÁC HỆ MÃ KHỐI
TRONG MẬT MÃ NHẸ
LUẬN VĂN THẠC SĨ
Ngành: Kỹ thuật phần mềm
HÀ NỘI - 2019
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ
ĐỖ HUY YÊN
NGHIÊN CỨU VỀ CÁC HỆ MÃ KHỐI
TRONG MẬT MÃ NHẸ
Ng nh
: Kỹ thuật phần mềm
Chuy n ng nh
: Kỹ thuật phần mềm
Mã số
: 8480103.01
LUẬN VĂN THẠC SĨ
Ngành: Kỹ thuật phần mềm
NGƢỜI HƢỚNG D N KHO HỌC:
TS. HỒ VĂN C NH
Hà Nội - 2019
i
LỜI CẢM ƠN
Tôi xin chân th nh cảm ơn Khoa Công nghệ thông tin, Trƣờng Đại học
Công nghệ đã tạo điều kiện, môi trƣờng thuận lợi cho học vi n trong quá trình
học tập, nghi n cứu v ho n th nh luận văn thạc sĩ.
Với lòng biết ơn sâu sắc nhất, tôi xin gửi đến Tiến sĩ Hồ Văn Canh, Cục
KTNV, Bộ Công an, định hƣớng phƣơng pháp nghi n cứu khoa học cho tôi,
đồng thời cung cấp nhiều t i liệu v tạo điều kiện thuận lợi trong suốt quá trình
học tập v nghi n cứu. Nếu không có sự định hƣớng, những lời dạy bảo của các
thầy thì luận văn của tôi rất khó có thể ho n thiện đƣợc. Một lần nữa, tôi xin
chân th nh cảm ơn các thầy.
Tôi xin đƣợc gửi lời cảm ơn đến các thầy, cô trong bộ môn Kỹ thuật phần
mềm v Khoa Công nghệ thông tin, Trƣờng Đại học Công nghệ - Đại học Quốc
gia H Nội đã nhiệt tình giảng dạy v truyền đạt những kiến thức, kinh nghiệm
quý giá trong suốt thời gian tôi học tập tại trƣờng.
Tôi xin đƣợc gửi lời cảm ơn đến các bạn học vi n lớp K22-KTPM, những
ngƣời đồng h nh trong suốt khóa học v có nhiều góp ý bổ ích cho tôi. Cảm ơn
gia đình bạn bè đã quan tâm động vi n giúp tôi có nghị lực phấn đấu để ho n
th nh tốt luận văn n y
Bƣớc đầu đi v o thực tế, tìm hiểu về lĩnh vực chuy n sâu trong An to n
thông tin, kiến thức của tôi còn hạn chế v còn nhiều bỡ ngỡ. Do vậy, không
tránh khỏi những thiếu sót trong luận văn. Tôi rất mong nhận đƣợc những ý kiến
đóng góp quý báu của thầy cô v các bạn để ho n thiện luận văn hơn nữa.
Một lần nữa xin gửi lời cảm ơn chân th nh v sâu sắc.
H Nội, Ng y
tháng
Học vi n thực hiện
Đ Hu Y n
năm 2019
ii
LỜI C M ĐO N
Luận văn thạc sĩ đánh dấu những th nh quả, kiến thức tôi đã tiếp thu đƣợc
trong suốt quá trình rèn luyện, học tập tại trƣờng. Tôi xin cam đoan luận văn
“Nghi n cứu về các hệ mã khối trong mật mã nhẹ” đƣợc ho n th nh bằng quá
trình học tập v nghi n cứu của tôi dƣới sự hƣớng dẫn của TS. Hồ Văn Canh.
Trong to n bộ nội dung nghi n cứu của luận văn, các vấn đề đƣợc trình b y
đều l những tìm hiểu v nghi n cứu của cá nhân tôi, hoặc trích dẫn các nguồn
t i liệu đều đƣợc đƣa ra ở phần t i liệu tham khảo.
Tôi xin cam đoan những lời tr n l sự thật v chịu trách nhiệm trƣớc thầy
cô v hội đồng bảo vệ luận văn thạc sĩ.
H nội, Ng y
tháng
Đ Hu Y n
năm 2019
iii
MỤC LỤC
LỜI CẢM ƠN ........................................................................................................ i
LỜI CAM ĐOAN.................................................................................................. ii
MỤC LỤC ............................................................................................................ iii
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT ........................................... v
DANH MỤC HÌNH VẼ ....................................................................................... vi
DANH MỤC CÁC BẢNG.................................................................................. vii
MỞ ĐẦU ............................................................................................................... 1
CHƢƠNG I: TỔNG QUAN VỀ MẬT MÃ KHỐI TRONG MẬT MÃ NHẸ ..... 4
1.1. Mật mã nhẹ ................................................................................................. 4
1.1.1. Khái niệm về mật mã nhẹ.................................................................... 4
1.1.2. Quá trình hình th nh v phát triển của mật mã nhẹ ............................ 4
1.1.3. Nguy n lý thiết kế thuật toán mật mã nhẹ .......................................... 5
1.1.4. Một số hệ mật trong mật mã nhẹ ........................................................ 8
1.1.5. Một số đặc trƣng của mật mã nhẹ ..................................................... 13
1.2. Mật mã khối hạng nhẹ .............................................................................. 14
CHƢƠNG II. NHỮNG HỆ MẬT MÃ KHỐI HẠNG NHẸ ĐIỂN HÌNH ......... 21
2.1. Những hệ mật mã khối hạng nhẹ điển hình ............................................. 21
2.1.1. Hệ mật PRESENT............................................................................. 21
2.1.2. Hệ mật SIMON v SPECK ............................................................... 21
2.1.3. Hệ mật KATAN/KTANTAN ........................................................... 22
2.1.4. Hệ mật LED ...................................................................................... 23
2.1.5. Hệ mật TEA ...................................................................................... 23
2.1.6. Hệ mật KLEIN .................................................................................. 24
2.1.7. Hệ mật HIGHT ................................................................................. 24
2.1.8. Hệ mật SEA ...................................................................................... 25
2.1.9. Hệ mật NEOKEON........................................................................... 25
2.2. Hệ mật KLEIN ......................................................................................... 25
2.2.1. Ý tƣởng thiết kế ................................................................................ 25
2.2.2. Quá trình mã hóa của KLEIN .......................................................... 26
2.2.3. Tính toán khóa .................................................................................. 32
2.2.4. Điểm yếu của KLEIN ....................................................................... 33
iv
2.3. Hệ mật KATAN ...................................................................................... 34
2.3.1. Ý tƣởng thiết kế ................................................................................ 34
2.3.2. Quá trình mã hóa KATAN................................................................ 35
2.3.3. Tính toán khóa .................................................................................. 37
2.3.4. Điểm yếu của KATAN ..................................................................... 38
2.4. Hệ mật SIMON ....................................................................................... 38
2.4.1. Quá trình mã hóa ............................................................................... 38
2.4.2. Tính toán khóa .................................................................................. 40
2.4.3. Điểm yếu của Simon ......................................................................... 41
2.5. Hệ mật Speck .......................................................................................... 42
2.5.1. Quá trình mã hóa ............................................................................... 42
2.5.2. Tính toán khóa .................................................................................. 43
2.5.3. Điểm yếu của Speck.......................................................................... 43
CHƢƠNG III: XÂY DỰNG CHƢƠNG TRÌNH MÃ HÓA VÀ GIẢI MÃ MÃ
KHỐI TRONG MẬT MÃ NHẸ ......................................................................... 45
3.1. Mô hình hệ thống ..................................................................................... 45
3.2. Phân tích hệ thống .................................................................................... 46
3.2.1. Mã hóa đầu cuối ................................................................................ 46
3.2.2. Cảm biến nhiệt độ - độ ẩm DHT21 ................................................... 47
3.2.4. Phần mềm Station ............................................................................. 51
3.2.5. Phần mềm Server .............................................................................. 52
3.3. Kết quả thực hiện ..................................................................................... 54
3.3.1. Quy trình hoạt động .......................................................................... 54
3.3.2. Kết quả .............................................................................................. 56
3.4. Kết luận v hƣớng phát triển .................................................................... 59
3.4.1. Kết luận ............................................................................................. 59
3.4.2. Hƣớng phát triển ............................................................................... 60
TÀI LIỆU THAM KHẢO ................................................................................... 61
PHỤ LỤC ............................................................................................................ 64
v
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
T viết tắt
Thuật ngữ tiếng anh
Thuật ngữ tiếng việt
AES
Advanced Encryption
Standard
Chuẩn mã hóa nâng cao
Hệ mật AES
DES
Data Encryption
Standard
Chuẩn mã hóa dữ liệu
Hệ mật DES
GE
Gate equivalence
Cổng tƣơng đƣơng một đơn vị đo lƣờng
cho phép xác định độ
phức tạp độc lập về
công nghệ sản xuất của
các mạch kỹ thuật số
IEC
International
Electrotechnical
Commission
Ti u chuẩn International
Electrotechnical
Commission
IoT
Internet of thing
Internet kết nối vạn vật
ISO
International
Organization for
Standardization
Ti u chuẩn hóa
International
Organization for
Standardization.
LFSR
Linear feedback shift
register
Thanh ghi dịch hồi tuyến
tính
LSB
Least Significant Bit
Bit ngo i cùng b n phải
l bit có trọng số nhỏ
nhất
MSB
Most Significant Bit
Bit ngo i cùng b n trái l
bit có trọng số lớn nhất
vi
DANH MỤC HÌNH VẼ
Hình 1.1: Sự thỏa hiệp trong thiết kế mật mã nhẹ [1]…………………………5
Hình 1.2: Các hệ mật trong mật mã nhẹ………………………………………. 8
Hình 1.3: Đồ thị so sánh theo thông số bề mặt của một số mã khối hạng nhẹ
[3] ........................................................................................................................ 19
Hình 1.4: Đồ thị so sánh thông số thông lƣợng của một số mã khối hạng nhẹ
[3]………………………………………………………………………………19
Hình 1.5: Đồ thị so sánh năng lƣợng sử dụng ở mức cao của một số mã khối
hạng nhẹ [3] ......................................................................................................... 20
Hình 1.6: Đồ thị so sánh năng lƣợng sử dụng ở mức thấp của một số mã khối
hạng nhẹ [3] ......................................................................................................... 20
Hình 2.1: Quy trình mã hóa của KLEIN [9] ...................................................... 27
Hình 2.2: Phép biến đổi vòng mã hóa của KLEIN [9] ....................................... 28
Hình 2.3: RotateNibbles của KLEIN [9]............................................................ 31
Hình 2.4: Thuật toán tính toán khóa KLEIN có độ d i khóa 64 bit [9] ............. 34
Hình 2.5: Quá trình mã hóa họ mật mã Katan [16]............................................ 37
Hình 2.6: Quá trình mã hóa của hệ mật Simon [8] ........................................... 39
Hình 2.7: Mở rộng khóa của simon với m=2, m=3 v m=4 [8]......................... 41
Hình 2.8: H m tròn của Speck( x2 i 1, x2 i ) biểu thị mật mã con sau các bƣớc mã
hóa)[8] ................................................................................................................. 43
Hình 2.9: Khóa của Speck [8] ............................................................................ 43
Hình 3.1: Mô hình hệ thống ............................................................................... 46
Hình 3.2: Cảm biến nhiệt độ - độ ẩm DHT21 .................................................... 47
Hình 3.3: Kết nối cảm biến DHT21 với Arduino .............................................. 48
Hình 3.4: Bo mạch Arduino Uno ....................................................................... 48
Hình 3.5: Thƣ viện giao tiếp với cảm biến......................................................... 51
Hình 3.6: Thƣ viện mã hóa v giải mã thông qua thuật toán Speck .................. 51
Hình 3.7: Giao diện phần mềm Station .............................................................. 52
Hình 3.8: Giao diện phần mềm Server ............................................................... 53
Hình 3.9: Chọn chế độ hoạt động....................................................................... 54
Hình 3.10: Kết nối Arduino với cảm biến nhiệt độ - độ ẩm DHT21 ................. 54
Hình 3.11: Kết nối với phần mềm Server .......................................................... 55
Hình 3.12: Chọn cổng COM kết nối với Arduino ............................................. 55
Hình 3.13: Phần mềm Station ở chế độ mã hóa ................................................. 56
Hình 3.14: Phần mềm Server ở chế độ Mã hóa ................................................. 56
Hình 3.15: Tạo tín hiệu điều khiển Bật hệ thống l m mát ................................. 57
Hình 3.16: Tín hiệu trả về t Server đƣợc mã hóa ............................................. 57
Hình 3.17: Đèn Led sáng báo bật hệ thống ........................................................ 58
Hình 3.18: Giao diện phần mềm Station ở chế độ không mã hóa ..................... 58
Hình 3.19: Phần mềm Server ở chế độ không mã hóa ....................................... 59
Hình 3.20: Thời gian thực hiện mã hóa v giải mã (ms) ................................... 60
vii
DANH MỤC CÁC BẢNG
Bảng 1.1: Hiệu quả phần cứng của một số thuật toán mật mã nhẹ ...................... 7
Bảng 1.2: Đặc điểm, ƣu điểm, nhƣợc điểm v ứng dụng của hệ mật mã nhẹ.... 12
Bảng 1.3: Một số thông số của một hệ mật mã nhẹ trong hệ thống ................... 13
Bảng 1.4: Một số hệ mật mã khối hạng nhẹ ti u biểu ........................................ 15
Bảng 1.5: Thông tin phần cứng của một số mã khối hạng nhẹ (kiến trúc không
kiểm soát) [3]....................................................................................................... 16
Bảng 1.6: Thông tin phần cứng của một số mã khối hạng nhẹ( kiến trúc tròn) [3]
............................................................................................................................. 17
Bảng 1.7: Thông tin phần cứng của một số mã khối hạng nhẹ(kiến trúc nối
tiếp)[3] ................................................................................................................. 18
Bảng 2.1: S-box 4 bit sử dụng trong KLEIN [9] ................................................ 27
Bảng 2.2: Sự phân bố vi phân của S-box của KLEIN [9] .................................. 30
Bảng 2.3: Bảng tƣơng quan đầu v o-đầu ra S-box của KLEIN [9] ................... 31
Bảng 2.4: Các tham số cho họ mật mã Katan [16] ............................................. 36
Bảng 2.5: Các tham số của mật mã Simon[8] .................................................... 39
Bảng 2.6: Các tham số của mật mã Speck [8] .................................................... 44
1
MỞ ĐẦU
Cơ sở khoa học và thực tiễn của đề tài:
Sự phát triển của khoa học kỹ thuật đã dẫn đến xuất hiện nhiều thiết bị có
năng lực tính toán lớn nhƣ máy tính cá nhân có bộ vi xử lý 64 bit, tốc độ 3-4
GHz, 2 - 8 GB RAM…. Nhƣng, nhu cầu sử dụng các thiết bị có kích cỡ nhỏ,
khả năng tính toán thấp phục vụ các công việc v giải quyết b i toán chuy n
dụng, đơn giản, điển hình nhƣ các thẻ thông minh (smartcard), vi điều khiển
(microcontroller) ng y c ng tăng. Trong khi đó, các mã khối truyền thống hiện
có khó có thể sử dụng đa năng cho mọi kiểu thiết bị (bộ vi xử lý), do sự phức
tạp, sử dụng nhiều t i nguy n, năng lƣợng. Một mã pháp an to n truyền thống
cũng khó có thể c i đặt hiệu quả tr n các thiết bị có năng lực v t i nguy n hạn
chế (nhƣ các bộ vi điều khiển 4 bit, 8 bit, có kích cỡ RAM nhỏ, tần số thấp). Vì
vậy, nhu cầu cần có các hệ mật mã (mã khóa công khai, mã khối, mã dòng, h m
băm...) ri ng, áp dụng cho các thiết bị, hệ thống bị hạn chế (thông tin cần phải
bảo vệ không quá mật) đã v đang đƣợc đặt ra trong những năm qua. Mật mã
nhẹ l mật mã phù hợp với các c i đặt trong những môi trƣờng bị hạn chế.
Những hạn chế đó dựa tr n các đánh giá về diện tích chip (chip area), năng
lƣợng ti u thụ (energy consumption), kích cỡ mã nguồn chƣơng trình (program
code size), kích cỡ RAM, băng thông (communication bandwidth) v thời gian
thực thi (execution time). Trong những trƣờng hợp n y, sử dụng các thuật toán
mã khối hạng nhẹ l phù hợp v cần đƣợc quan tâm nghi n cứu.
Trong những năm gần đây, chúng ta có thể dễ d ng bắt gặp thuật ngữ IoT
(Internet of Thing) ở bất cứ nơi n o. “Internet of Things” l thuật ngữ để chỉ
những vật đƣợc kết nối internet v có khả năng trao đổi dữ liệu. Đặc điểm chung
của những thiết bị IoT l có kích thƣớc nhỏ gọn v có khả năng ti u thụ điện
thấp. Phần lớn các thiết bị IoT đang gặp phải l vấn đề bảo mật.
Thuật ngữ “Lightweight cryptography” đƣợc đƣa ra thảo luận tại nhiều hội
nghị. Thuật ngữ để chỉ những hệ mật nhẹ có khả năng c i đặt tr n các thiết bị
giới hạn bởi năng lƣơng ti u thụ v khả năng lƣu trữ. Chính vì vậy mật mã nhẹ
rất phù hợp để áp dụng v bảo mật cho các thiết bị IoT. Do đó sự phát triển
nhanh v mạnh của “Internet og Things” cũng chính l nhân tố để thúc đẩy sự
phát triển của mật mã nhẹ. B n cạnh đó có rất nhiều thiết bị giới hạn về năng
lƣợng ti u thụ v khả năng lƣu trữ cần đến sự bảo mật ví dụ nhƣ các thiết bị
2
trong lĩnh vực quân sự, y tế, ngân h ng…n n tiềm năng của mật mã nhẹ l rất
lớn.
Trong luận văn n y tác giả trình b y những nghi n cứu về mật mã nhẹ v đi
sâu v o một nhánh con l mật mã khối hạng nhẹ, Luận văn trình b y những tìm
hiểu của bản thân về các hệ mã khối hạng nhẹ trong đó đi sâu một số hệ mật cụ
thể v xây dựng ứng dụng demo giám sát điều khiển thiết bị l m mát nh thông
minh áp dụng thuật toán mã khối hạng nhẹ.
Nội dung đề tài và những vấn đề cần giải quyết:
Hướng nghiên cứu
- Nghi n cứu một cách tổng quan nhất về mật mã khối trong mật mã nhẹ
- Nghi n cứu những hệ mật mã khối hạng nhẹ điển hình
- Xây dựng chƣơng trình mã hóa, giải mã mã khối trong mật mã nhẹ (xây
dựng ứng dụng demo giám sát, điều khiển thiết bị l m mát nh thông
minh áp dụng thuật toán mã khối hạng nhẹ)
Nội dung nghiên cứu:
Ngo i phần mở đầu v kết luận, nội dung của luận văn đƣợc trình b y trong
3 chƣơng:
CHƢƠNG I: TỔNG QUAN VỀ MẬT MÃ KHỐI TRONG MẬT MÃ
NHẸ
Trong chƣơng n y tác giả giới thiệu tổng quan về mật mã nhẹ v mật mã
khối hạng nhẹ, một số khái niệm quan trọng, quá trình hình th nh v phát triển
của mật mã nhẹ, nguy n lý thiết kế thuật toán của mật mã nhẹ, giới thiệu về một
số hệ mật trong mật mã nhẹ, một số đặc trƣng của mật mã nhẹ v giới thiệu về
mật mã khối.
CHƢƠNG II: NHỮNG HỆ MẬT MÃ KHỐI HẠNG NHẸ ĐIỂN
HÌNH
Chƣơng n y của luận văn, trình b y sơ lƣợc một số mã khối hạng nhẹ điển
hình hiện nay, phần tiếp theo của chƣơng n y tác giả trình b y những hiểu biết
sâu hơn của mình về một số hệ mật điển hình nhƣ hệ mật Klein, hệ mật Katan,
Simon v Speck.
3
CHƢƠNG III: XÂY DỰNG CHƢƠNG TRÌNH MÃ HÓ
MÃ MÃ KHỐI TRONG MẬT MÃ NHẸ
VÀ GIẢI
Chƣơng n y xây dựng demo hệ thống giám sát, điều khiển hệ thống l m
mát cho nh thông minh t xa thông qua Internet có tích hợp thuật toán mã hóa
v giải mã mã khối trong mật mã nhẹ nhằm đảm bảo an to n thông tin, nâng cao
độ tin cậy của hệ thống.
Kết quả đạt đƣợc
Sau thời gian tìm hiểu nghi n cứu, luân văn đã đạt đƣợc một số kết quả ban
đầu. Về lý thuyết nghi n cứu tổng quan nhất về mật mã nhẹ v mã khối hạng
nhẹ. Sau đó tập chung nghi n cứu những hệ mật mã khối hạng nhẹ điển hình. Về
thực nghiệm tôi xây dựng demo hệ thống giám sát, điều khiển hệ thống l m mát
cho nh thông minh t xa thông qua Internet có tích hợp thuật toán mã hóa v
giải mã mã khối trong mật mã nhẹ nhằm đảm bảo an to n thông tin, nâng cao độ
tin cậy của hệ thống.
4
CHƢƠNG I: TỔNG QUAN VỀ MẬT MÃ KHỐI TRONG MẬT MÃ NHẸ
1.1. Mật mã nhẹ
1.1.1. Khái niệm về mật mã nhẹ
Không có ranh giới rõ r ng n o để phân biệt sự nhẹ của các hệ mật với các
hệ mật thông thƣờng [2]. Cũng nhƣ hiện nay chƣa có khái niệm chính xác hay
định lƣợng cụ thể n o về mật mã nhẹ. Vì vậy có rất nhiều phi n bản để định
nghĩa mật mã nhẹ [3]. Mật mã nhẹ l một ng nh nghi n cứu con của mật mã
hƣớng tới việc tối ƣu sự tinh gọn của hệ mật để có thể c i đặt v chạy hiệu quả
tr n các thiết bị vô cùng nhỏ bé v giới hạn bởi năng lƣơng ti u thụ v khả năng
lƣu trữ. Ví dụ nhƣ các thẻ t , thẻ chip gắn tr n các sản phẩm hay có thể gắn v o
bất kỳ vật n o m chúng ta muốn theo dõi. Còn theo ti u chuẩn ISO/IEC 291921thì mật mã nhẹ l mật mã đƣợc dùng cho mục đích bảo mật, xác thực, nhận
dạng v trao đổi khóa, phù hợp c i đặt cho môi trƣờng t i nguy n hạn chế
[4].Theo ti u chuẩn ISO IEC 29192, tính chất nhẹ đƣợc mô tả dựa tr n nền tảng
c i đặt.Trong triển khai phần cứng, diện tích chip v năng lƣơng ti u thụ l
những ti u chí quan trọng để đánh giá tính nhẹ của hệ mật.Trong triển khai phần
mềm thì kích thƣớc mã nguồn, kích thƣớc RAM l ti u chí cho một hệ mật đƣợc
coi l nhẹ.
1.1.2. Quá trình hình thành và phát triển của mật mã nhẹ
Mật mã nhẹ đƣợc nhiều nh nghi n cứu tìm hiểu t rất lâu, cách đây 19
năm đã ra đời v áp dụng chính thức của những mật mã nhẹ đầu ti n: Neokeon
(2000), Grain, trivium v mCrypton (2005), Sea (2006), Present, desl, desxl
(2007), Katan (2009), Klein (2011), Led (2011), LBlock (2011), Simon (2013),
Speck (2013) v Sprout (2015), … ng y c ng có nhiều thuật toán mật mã nhẹ
đƣợc ra đời v nhiều ứng dụng hữu ích [5].
B n cạnh đó mạng lƣới vạn vật kết nối cũng chứa đựng nhiều điểm yếu cơ
hội cho những kẻ tấn công thực hiện những mục đích, h nh động xấu. Nhất l
ứng dụng trong quân đội, công an, ngân h ng hay tự động hóa y u cầu độ bảo
mật v an to n cao. Ngo i những tấn công tr n đƣờng truyền vật lý, mạng lƣới
tính toán vạn vật kết nối còn bị đe dọa bởi những cuộc tấn công chiếm quyền
kiểm soát, tấn công lấy dữ liệu tr n đƣờng truyền…
5
1.1.3. Ngu n lý thiết kế thuật toán mật mã nhẹ
Nguy n lý thiết kế các thuật toán mật mã nhẹ l một b i toán chƣa có lời
giải chính xác cho các thiết bị có t i nguy n hạn chế. Mật mã nhẹ hƣớng tới việc
tạo ra các giải pháp c i đặt rất gọn nhẹ nhƣng không l m giảm quá nhiều về tính
an to n. Thực tế, vấn đề chính trong thiết kế thuật toán của mật mã nhẹ l “thỏa
hiệp” một cách tối ƣu giữa ba ti u chí: độ an to n, hiệu suất v chi phí c i đặt.
(Hình 1.1).
Hình 1.1: Sự thỏa hiệp trong thiết kế mật mã nhẹ [1]
Về độ an toàn, khi thiết kế bất kỳ một hệ mật n o điều kiện đầu ti n cần
đƣợc quan tâm đến l độ an to n của hệ mật. Độ an to n có thể coi l yếu tố
sống còn của một hệ mật. Với mật mã nhẹ, mục ti u xây dựng l thiết kế một hệ
mật không quá yếu v không với mục đích thay thế các thuật toán mã truyền
thống khác, nhƣng phải đủ an to n (tất nhi n không thể kháng lại đƣợc các đối
phƣơng có đủ mọi điều kiện), chi phí (c i đặt, sản xuất) thấp v một y u cầu
quan trọng đối với các thiết bị kiểu n y l tính gọn nhẹ. Tóm lại, cần xây dựng
một hệ mật không phải tốt nhất, m phải cân bằng giữa giá th nh, hiệu suất v
độ an to n. Tuy nhi n rất khó có thể tối ƣu hóa cả 3 khía cạnh tr n.
Về hiệu quả trong cài đặt, thƣờng đƣợc đánh giá qua các độ đo t i nguy n
đƣợc sử dụng bởi thuật toán nhƣ: diện tích bề mặt(Area), Số chu kỳ xung
nhịp(cycles), thời gian thực thi, thông lƣợng, nguồn cung cấp, năng lƣợng, dòng
điện. Tính hiệu quả của phần cứng chính l tỷ lệ thông lƣợng với diện tích sử
dụng của hệ mật mã đó (Bảng 1.1).
6
Diện tích bề mặt (Area):Có thể tính bằng micro m2 nhƣng giá trị n y phụ
thuộc v o công nghệ chế tạo v thƣ viện chuẩn. Diện tích tính theo GE
đƣợc tính bằng cách chia diện tích theo micro m2 cho S cổng NAND 2
đầu v o.
Số chu kỳ xung nhịp (cycles): l số chu kỳ xung nhịp cần để tính toán v
đọc dữ liệu ra.
Thời gian: Lƣợng thời gian cần thiết cho một phép tính cụ thể có thể đƣợc
tính bằng cách chia số chu kỳ xung nhịp cho tần số hoạt động: t = (số chu
kỳ xung nhịp)/tần số. Đơn vị tính theo mi-ni giây (ms).
Thông lƣợng (throughtout): L số các bit đầu ra chia cho 1 lƣợng thời
gian n o đó. Đơn vị [bps]
Nguồn (power): Ti u thụ nguồn có thể đƣợc ƣớc lƣợng ở mức cổng thông
qua bộ bi n dịch c i đặt. Đơn vị thƣờng Micro walt. Chú ý việc ƣớc lƣợng
ti u thụ ở mức transitor l chính xác hơn, nhƣng điều n y sẽ y u cầu
nhiều bƣớc hơn khi thiết kế.
Năng lƣợng (energy): Ti u thụ năng lƣợng đƣợc định nghĩa l ti u thụ
nguồn qua 1 khoảng thời gian cụ thể. Nó thƣờng đƣợc tính toán bằng cách
nhân ti u thụ nguồn với thời gian cần cho phép tính đó, đơn vị Joule tr n
bit.
Dòng điện( current): L ti u thụ nguồn chia cho điện áp thông thƣờng.
Tính hiệu quả c i đặt: eff = (diện tích) thông lƣợng
7
Chu
Số bít Số bít xung
khóa
Khối
tr n
khối
Mã
kỳ Thông
Xử
lý Diện
lƣợng
ở
nhịp
logic
tích
một 100MHZ
(Gec)
(Kpbs)
Mã khối
Present
80
64
32
200
0.18µm
1.570
Hight
128
64
34
188
0.25 µm
3.048
64
13
492
0.13 µm
2.681
mCrypton 96
Mã dòng
Grain
80
1
1
100
0.13 µm
2.599
Trivium
80
1
1
100
0.13 µm
1.294
Bảng 1.1: Hiệu quả phần cứng của một số thuật toán mật mã nhẹ
Giá thành của thuật toán: Thƣờng thì các hệ mật mã nhẹ đƣợc áp dụng tr n
một số lƣợng lớn các thiết bị nhƣ hệ thống IoT. Chính vì vậy giá th nh của thuật
toán đóng vai trò quan trọng trong việc triển khai.
Một hệ mật tốt cần phải cân bằng giữa giá th nh, hiệu suất v độ an to n.
Tuy nhi n việc cân bằng đƣợc cả ba yếu tố n y l một b i toán khó. Vì vậy tùy
v o t ng điều kiện, y u cầu cụ thể, ngƣời thiết kế thuật toán có thể cân đối n n
ƣu ti n khía cạnh n o hơn. Ví dụ khi c i đặt phần cứng có hiệu suất cao thì cần
các y u cầu cao về điện tích, giá th nh cao; Khi thiết kế hệ mã ƣu ti n độ an
to n tr n thiết bị có phần cứng thấp thì hiệu suất sẽ rất thấp.
8
1.1.4. Một số hệ mật trong mật mã nhẹ
Có rất nhiều mật mã nhẹ [3] đƣợc đề xuất trong thời gian gần đây, thay vì
thiết kế ra một mật mã ho n to n mới thì hầu hết các mật mã nhẹ đƣợc lấy ra t
các mật mã truyền thống nhƣng với một v i thay đổi nhỏ.
Mật mã nhẹ gồm có:
Hệ mã khối hạng nhẹ: KLEIN, LED, PRESENT, MINI-AES, KATAN,
KTANTAN, DESL, XTEA, LBLOCK, SIMON, SPECK, SEA,
MCRYPTON, NEOKEON, HIGHT
Hệ mã dòng hạng nhẹ: GRAIN, TRIVIUM
Hệ mã xác thực hạng nhẹ: SQUASH
Hệ h m băm hạng nhẹ: MADE, DM-PRESENT, H-PRESENT,
KECCAK, QUARK, ARMADILLO
Hình 1.2: Các hệ mật trong mật mã nhẹ
Bảng dƣới đây mô tả một số thông số đặc điểm cũng nhƣ ƣu điểm, nhƣợc
điểm v ứng dụng của một hệ mật mã nhẹ:
9
Mật mã
nhẹ
Hệ mật mã
Ngƣời thiết kế
Key(bits)
Block/
IV(bits)
Đặc điểm
Ứng dụng
- 32 vòng lặp
HIGHT
KATAN/
Mã khối
KTANTAN
Hong
Chrstophe de
Canniere,
Orr Dunkelman v
Miroslav Knezevic
SPECK
80
64
32/48/
64
- kiến trúc rất đơn giản. Bản rõ
đƣợc lƣu bởi 2 thanh ghi.
Sử dụng cho định
Trong mỗi vòng, một số bit hƣớng phần cứng
đƣợc lấy ra v đƣa v o h m với t i nguy n
phi tuyến boolean, v LFRS 8 hạn chế
bit để mã hóa
- 16 vòng lặp
DESL,
DESX v
DESXL
SIMON/
128
Triển khai tr n
- Sử dụng phép toán đơn giản:
các thiết bị hạn
8
XOR, mod 2 v dịch bits
chế nhƣ RFID
hay các thiết bị
- có thể thực hiện với 3048
phổ biến khắp nơi
cổng, công nghệ 0.25 µm
56/184
National Security
Agency
64
- Des sử dụng lặp lại một Sbox (6*4 bits) 8 lần
64/72/ 32/48/6 SIMON:XOR, AND v phép
4/96
toán dịch chuyển bit trái
96/128/1
/128
44/192/2
SPECK:XOR, cộng mô đun 22
Tr n cả nền tảng
phần mềm v
phần cứng với t i
10
v phép toán dịch chuyển
vòng trái v phải
56
- Gồm 12/16/20 vòng mã hóa
KLEIN
Gong, Nikova v Law
64/80/
96
F.-X. Standaert, G.
Piret
SEA
N. Gershenfeld
8
64
48/96/
144
J.-J. Quisquater
- Mỗi vòng gồm có 4 lớp:
AddRoundKey, SubNibbles,
RotateNibbles v MixNibbles
- Thiết kế của SEA dựa tr n
một số phép toán cơ bản :
XOR, thay thế, dịch trái, đảo
bit, cộng mod 2b
- cấu trúc SPN với 31 vòng
PRESENT
Orange Labs, Ruhr
University Bochum
and the Technical
University of Denmark
- mỗi vòng thực hiện phép
cộng XOR để đƣa v o khóa
vòng
80/128
64
-Tầng phi tuyến sử dụng một
s-box 4 bits duy nhất đƣợc áp
dụng 16 lần song song trong 1
vòng
Cuối cùng l một phép cộng
nguy n hạn chế
KLEIN thích hợp
cho các thiết bị
giới hạn t i
nguy n nhƣ thẻ
RFID v cảm
biến không dây
Phần mềm trong
bộ điều kiển, thẻ
thông minh hoặc
bộ vi xử lý
11
khóa K32
Lblock
XTEA
Wenling Wu v
Lei Zhang
David Wheeler v
Roger Needham
- Sử dụng một cấu trúc Feistel
80
64
Biến thể với 32 vòng lặp sử
dụng 8 S-box 4 bits
128
64
- Sử dụng 64 vòng lặp
Áp dụng cho các
nền tảng phần
mềm nhƣ vi điều
khiển 8 bits
- Mã dòng đồng bộ
Grain
Martin Hell, Thomas
Johansson v Willi
Meier
64/80/
128
64/96
- Có thể triển khai song song
Ứng dụng sử
dụng Wlan,
RFID/WSN
- Ƣu việt cho phần cứng nhẹ
Mã dòng
H m
băm
- Dựa tr n LFSR v NFSR
TRIVIUM
Christophe De
Canniere v Bart
Preneel
MAME
Hirotaka Yoshida, Dai
watanabe, Katsuyuki
Okeya, Jun katahara,
Hongjun Wu, Ozgul
80
96
80
- Sử dụng 3 thanh ghi LFSR
với thanh ghi đầu ti n sử dụng
các s-box để tạo ra các bits
của keystream, sau đó ADD
với hai LFSR còn lại
256
- Các thao tác logic đơn giản
v s-box đã đem lại hiệu quả
phần cứng cho MAME
Ứng dụng y u
cầu phần cứng
hạn chế
- Xem thêm -