Tải bản đầy đủ (.pdf) (75 trang)

Nghiên cứu về các hệ mã khối trong mật mã nhẹ

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.15 MB, 75 trang )

ĐẠ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



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
toán dịch chuyển bit trái
4/96

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
- 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

Áp dụng cho các
nền tảng phần
mềm nhƣ vi điều
khiển 8 bits

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ế


12

Kucuk, Bart preneel
DMPRESENT
HPRESENT


Mã xác
thực
thông
báo

Poschmann, Alex

KECCAK

Guido bertoni, joan
Daemen, Michael
Peeters v Gilles Van
Assche

QUARK

Jean-Philippe
Aumasson, Luca
Henzen, Wili Meier,
Maria Naya-Plasencia

SQUARK

Adi Shamir

80/
128

256


136/
176/
256

- H m nén sử dụng mã khối
PRESENT

Sử dụng trong
những ứng dụng
y u cầu h m 1
chiều v 64 bits
bảo mật

- Đƣợc chọn nhƣ một ti u
chuẩn mới của SHA-3 v o
tháng 10 2012
- Một hoán vị phần cứng PMã xác thực
Sponge sử dụng mã hóa
thông báo, sinh số
KTANTAN v KATAN cùng
giả ngẫu nhi n,
với phần cứng theo định
mã hóa dòng…
hƣớng của mã dòng Grain
- Sử dụng h m tuyến tính dựa
tr n thuật toán mã hóa công
khai RABIN

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ẹ.



13
1.1.5. Một số đặc trƣng của mật mã nhẹ
Các mật mã nhẹ ra đời v phát triển nhằm đáp ứng một nhu cầu cụ thể của
một thiết bị hay một lớp b i toán n o đó. Chúng phù hợp với những ứng dụng
thiết bị có cấu hình nhỏ gọn, tốt độ xử lý nhanh v nhiều phép tính trong một
khoảng thời gian cố định, y u cầu bảo mật không quá cao.
Hệ mật

GE

Throughput 100KHz(Kbit/s)

Logic (µm)

AES

2400

56.6

0.13

DES

2309

44.4


0.18

DESL

1848

44.4

0.18

DESXL

2168

44.4

0.18

PRESENT

1570

200

0.13

KATAN64

1054


25.1

0.13

GRAIN

1294

100

0.13

TRIVIUM

2599

100

0.13

SPROUT

813

100

0.18

Bảng 1.3: Một số thông số của một hệ mật mã nhẹ trong hệ thống
Với những thiết kế ri ng của mình, mật mã nhẹ đem lại nhiều lợi ích đặc

trƣng nhƣ:
- Y u cầu nguồn t i nguy n thấp, năng lƣợng ti u thụ nhỏ, phù hợp với
những trang thiết bị cấu hình nhỏ. Vì các giải pháp trong mật mã nhẹ đều
hƣớng đến việc c i đặt gọn nhẹ tr n những thiết bị có năng lực tính toán
thấp hay t i nguy n hạn chế.
- Giá th nh rẻ: mật mã nhẹ thƣờng đƣợc ứng dụng trong những thiết bị có
tính thâm nhập khắp nơi, cần phải triển khai h ng loạt tr n h ng trăm,
h ng ng n, thậm chí h ng tỷ thiết bị. Chính vì thế việc giảm giá th nh của
công nghệ sử dụng đƣợc quan tâm h ng đầu
- Hoạt động rất nhanh, thực hiện đầy đủ v hiệu quả chức năng của nó.


14
B n cạnh những lợi ích rất thực tế, mật mã nhẹ còn chứa đựng nhiều hiểm
họa cũng nhƣ khó khăn trong quá trình áp dụng:
- Độ an to n của mật mã nhẹ không cao nhƣ những mật mã thông thƣờng
khác, vì nó phải cân đối giữa hai yếu tố l tính an to n v tính gọn nhẹ. Về
cơ bản mật mã nhẹ không phù hợp với những ứng dụng y u cầu độ an to n
cao nhƣ các ứng dụng quân sự, t i chính…
- Các mật mã nhẹ chỉ xử lý đƣợc một lƣợng thông tin nhỏ, không có băng
thông cao. Bản thân mật mã nhẹ đƣợc thiết kế chủ yếu không phải cho
phần mềm m để áp dụng nhúng v o các phần cứng. Vì lƣợng thông tin cần
truyền tr n đây không nhiều.
- Khó khăn trong việc tối ƣu hóa các thuật toán mật mã nhẹ hiện có. Bản
thân các hệ mật mã nhẹ đã mất rất nhiều sức đề kháng trong khi t i nguy n
đƣợc sử dụng l hạn chế. Điều n y l m chậm đáng kể việc phát triển một
thuật toán mật mã nhẹ.
Tất cả những điều n y l m cho việc sử dụng mật mã nhẹ trong thực h nh
có chuy n môn cao l khá khó khăn. Tùy t ng nhu cầu của ứng dụng cũng nhƣ
phần cứng m quyết định có n n lựa chọn sử dụng mật mã nhẹ cho vấn đề bảo

đảm an to n của hệ thống hay không.
1.2. Mật mã khối hạng nhẹ
Nếu xét theo số bit xử lý, mật mã khóa đối xứng có hai loại l mã khối
(block cipher) v mã dòng (stream cipher). Mật mã dòng hoạt động với dữ liệu
đầu v o đƣợc mã hóa t ng bit một có thể đáp ứng đƣợc sự biến thi n theo thời
gian tr n những khối bản rõ ri ng biệt. Mã khối l m việc bằng cách chia khối dữ
liệu cần mã hóa th nh những khối có độ d i nhất định v xử lý (mã hóa giải mã)
tr n các khối dữ liệu n y. Y u cầu của mã khối l phải biết kích thƣớc bản rõ.
Mã khối ng y c ng trở n n phổ biến nhất l khi những thiết bị mã hóa điện tử
bán dẫn bắt đầu xuất hiện với dung lƣợng bộ nhớ thấp. Nhất l với tốc độ phát
triển của IoT nhƣ ng y nay. Ngƣời ta ƣớc tính đến năm 2020 sẽ có hơn 50 tỷ
thiết bị tham gia kết nối v o internet. Ngo i máy tính, các thiết bị có cấu hình
cao thì còn có rất nhiều thiết bị chỉ có chip xử lý hạn chế nhƣ tủ lạnh, điều hòa,
máy giặt…


15
Mã khối hạng nhẹ l một nhóm thuộc mật mã nhẹ sử dụng trong an to n
thông tin, ở đó thuật toán mã hóa sử dụng đầu v o l các khối B-bit v khóa l
K-bit.
Các hệ mã khối hạng nhẹ nhƣ: KLEIN, LED, PRESENT, MINI-AES,
MCRYPTON, KATAN/KTANTAN, DESL/DESX/DESXL, XTEA, LBLOCK,
SIMON, SPECK, SEA, HIGHT, NEOKEON…
Một số hệ mật mã khối hạng nhẹ ti u biểu thƣờng đƣợc sử dụng tr n thế
giới hiện nay:
Hệ mật

Kích thƣớc khối tin

Độ d i khóa


Số vòng mã hóa

KLEIN

64 bits

64 – 80 – 96 bits

12 – 16 – 20

LED

64 bits

64 - 128 bits

32 – 48

PRESENT

64 bits

80 - 128 bits

31

MINI-AES

64 bits


64 bits

10

MCRYPTON

64 bits

64 – 96 - 128 bits

12

KATAN

32 – 48 – 64 bits

80 bits

SIMON

32-48-64-96-128 bits

SPECK

32 - 48 - 64 - 96 – 128
bits

64-72-96-128-144192-256 bits


32-36- 42- 44- 5254- 68- 69 – 72

64 - 72 - 96 - 128 - 144
- 192 - 256 bits

22 - 23 - 26 - 27 - 2829 - 32 - 33 – 34

Bảng 1.4: Một số hệ mật mã khối hạng nhẹ ti u biểu
Để biết rõ hơn thông tin về năng lƣơng ti u thụ v các chi phí về phần cứng
của các hệ mật mã khối hạng nhẹ, chúng ta có thể theo dõi bảng 1.4; 1.5 v 1.6
[3 ]. Nhìn v o những thông tin đƣợc liệt k trong bảng ta có thể nắm đƣợc phần
n o về y u cầu phần cứng của mã khối đó. T đó dựa v o những thông tin đó để
đƣa ra quyết định lựa chọn một hệ mật mã khối hạng nhẹ sao cho phù hợp với
thiết bị nhẹ của mình


16

Cycles Frequency Throughput Area
/block
[MHz]
[Gbps] [kgate]

Algorithm

Block size
[bit]

Key size
[bit]


Peak power
[mW]

Leak power
[uW]

AES(table)(128/128)
AES(comp)(128/128)
Camellia(comp)(128/128)
CLEFIA(128/128)
SIMON(128/128)

128
128
128
128
128

128
128
128
128
128

1
1
1
1
1


25.7
13.4
7.8
5.7
24.7

3.3
1.7
1.0
0.7
3.2

112.4
78.8
60.2
74.6
63.2

175.6
136.5
195.5
172.2

939.6
706.7
891.0
685.9

SPECK(128/128)

Midori(128/128)
TDES(64/168)

128
128
64

128
128
168

1
1
1

3.2
38.5
10.0

0.4
4.9
0.6

44.4
34.6
55.4

73.0
118.2
111.9


417.0
446.1
652.2

LED(64/128)
PRINCE(64/128)
SIMON(64/128)
SPECK(64/128)

64
64
64
64

128
128
128
128

1
1
1
1

6.9
57.1
27.8
7.3


0.4
3.7
1.8
0.5

74.5
9.8
23.8
19.5

99.1
28.1
71.5
35.6

824.0
107.4
260.4
183.0

Midori(64/128)
SIMON(64/96)
SPECK(64/96)
PRESENT(64/80)
Piccolo(64/80)
TWINE(64/80)

64
64
64

64
64
64

128
96
96
80
80
80

1
1
1
1
1
1

46.5
41.3
7.6
34.3
18.0
24.8

3.0
2.6
0.5
2.2
1.2

1.6

12.3
20.3
18.6
23.9
19.1
19.5

34.9
56.7
35.4
57.8
61.0
43.8

149.0
218.1
174.7
259.6
224.8
221.2

SIMON(32/64)
SPECK(32/64)

32
32

64

64

1
1

39.4
15.3

1.3
0.5

9.0
8.2

30.5
17.3

97.4
78.0

AES(table)(128/128)

128

128

AES(comp)(128/128)
Camellia(comp)(128/128)
CLEFIA(128/128)
SIMON(128/128)

SPECK(128/128)
Midori(128/128)

128
128
128
128
128
128

128
128

TDES(64/168)
LED(64/128)
PRINCE(64/128)
SIMON(64/128)

Unrolled, Enc

Unrolled, Enc/Dec
1
11.4

1.5

208.4

337.2


2612.0

128
128
128
128

1
1
1
1
1
1

6.4
7.7
5.7
13.0
1.1
30.7

0.8
1.0
0.7
1.7
0.1
3.9

144.2
63.4

74.3
74.1
69.1
55.6

294.3
133.8
195.5
187.0
127.1
123.7

1734.3
754.9
891.0
803.7
672.5
720.2

64
64
64
64

168
128
128
128

1

1
1
1

9.6
3.1
56.1
16.8

0.6
0.2
3.6
1.1

56.5
215.4
10.1
27.5

112.9
103.1
29.1
83.2

673.3
815.6
108.2
299.1

SPECK(64/128)

Midori(64/128)
SIMON(64/96)

64
64
64

128
128
96

1
1
1

2.7
37.7
21.5

0.2
2.4
1.4

29.9
20.6
23.8

62.3
37.1
62.9


290.8
256.4
255.3

SPECK(64/96)
PRESENT(64/80)
Piccolo(64/80)
TWINE(64/80)

64
64
64
64

96
80
80
80

1
1
1
1

2.9
26.8
16.3
13.1


0.2
1.7
1.0
0.8

28.6
43.8
22.8
25.6

57.8
127.8
64.8
50.9

278.0
505.4
264.0
292.2

SIMON(32/64)

32

64

1

23.6


0.8

10.4

30.9

111.8

SPECK(32/64)

32

64

1

6.9

0.2

12.4

27.5

121.7

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]



×