MỤC LỤC
LỜI CẢM ƠN ………………………………………………………………………………………………….. ii
LỜI CAM ĐOAN ……………………………………………………………………………………………. iii
MỤC LỤC ……………………………………………………………………………………………………… iv
DANH MỤC HÌNH VẼ ………………………………………………………………………………….. vii
DANH MỤC BẢNG BIỂU ………………………………………………………………………………. ix
DANH MỤC TỪ VIẾT TẮT ……………………………………………………………………………… x
MỞ ĐẦU …………………………………………………………………………………………………………. 1
Chương 1. MẬT MÃ DÒNG TRONG MẬT MÃ NHẸ ………………………………………. 4
1.1. Tổng quan về mật mã nhẹ ………………………………………………………………………. 4
1.1.1. Một số khái niệm cơ bản ………………………………………………………………….. 4
1.1.2. Quá trình hình thành và phát triển của mật mã nhẹ ……………………………… 6
1.1.3. Nguyên lý thiết kế thuật toán mật mã nhẹ…………………………………………… 6
1.1.4. Các mật mã nhẹ nguyên thủy ……………………………………………………………. 8
1.1.5. Ứng dụng mật mã nhẹ trong IoT ……………………………………………………… 13
1.2. Mật mã dòng trong mật mã nhẹ …………………………………………………………….. 14
1.2.1. Khái niệm …………………………………………………………………………………….. 14
1.2.2. Các thuật toán đặc trưng …………………………………………………………………. 17
1.2.3. Triển vọng của mật mã dòng trong mật mã nhẹ trong IoT ………………….. 20
Chương 2. HỌ GRAIN ………………………………………………………………………………….. 22
2.1. Lịch sử ……………………………………………………………………………………………….. 22
2.2. Mô tả Grain ………………………………………………………………………………………… 22
2.2.1. Grain V0 ………………………………………………………………………………………. 22
2.2.2. Grain V1 ………………………………………………………………………………………. 24
2.2.3. Grain 128 ……………………………………………………………………………………… 25
2.2.4. Grain-128a ……………………………………………………………………………………. 26
2.2.5. Tạo khóa ………………………………………………………………………………………. 27
2.3. Nguyên lý thiết kế ……………………………………………………………………………….. 28
2.3.1. Tiêu chuẩn thiết kế ………………………………………………………………………… 28
2.3.2. Tốc độ thực hiện ……………………………………………………………………………. 29
2.3.3. Phức tạp phần cứng ……………………………………………………………………….. 30
2.4. Một số cải tiến hệ mật Grain …………………………………………………………………. 30
2.5. Phân tích Grain……………………………………………………………………………………. 31
2.5.1. So sánh các phiên bản trong họ Grain ………………………………………………. 31
2.5.2. So sánh Grain với một số hệ mã hóa nhẹ khác ………………………………….. 34
2.5.3. Điểm yếu ……………………………………………………………………………………… 37
Chương 3. MÃ HÓA GRAIN TRÊN THIẾT BỊ RASPBERRY ………………………….. 40
3.1. Mô tả bài toán …………………………………………………………………………………….. 40
3.2. Giải quyết bài toán ………………………………………………………………………………. 40
3.1.1. Mã hóa đầu cuối ……………………………………………………………………………. 41
3.1.2. Mã xác thực thông báo …………………………………………………………………… 41
3.1.3. Hàm băm Keccak ………………………………………………………………………….. 43
3.1.4. Tạo và trao đổi khóa ………………………………………………………………………. 46
3.1.5. Mô hình mã hóa và xác thực …………………………………………………………… 47
3.3. Môi trường và dữ liệu thực nghiệm ……………………………………………………….. 50
3.3.1. Môi trường lập trình ………………………………………………………………………. 50
3.3.2. Môi trường thực nghiệm ………………………………………………………………… 50
3.3.3. Thiết lập phần cứng ……………………………………………………………………….. 50
3.4. Ứng dụng mã hóa đầu cuối và mã xác thực trong giải quyết bài toán …………. 53
3.5. Kịch bản thực nghiệm ………………………………………………………………………….. 54
3.5.1. Raspberry lấy dữ liệu từ các sensor và gửi đến client …………………………. 54
3.5.2. Client gửi thông tin điều khiển đến Server ……………………………………….. 54
3.5.3. Tạo và trao đổi khóa giữa Server và Client ……………………………………….. 55
3.6. Kết quả thu được …………………………………………………………………………………. 56
3.7. Đánh giá …………………………………………………………………………………………….. 59
3.7.1. Đánh giá an toàn ……………………………………………………………………………. 59
3.7.2. Đánh giá hiệu năng ………………………………………………………………………… 60
3.7.3. So sánh với các giải thuật khác ứng dụng trên Raspberry …………………… 61
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN…………………………………………………………… 62
TÀI LIỆU THAM KHẢO ………………………………………………………………………………… 64
PHỤ LỤC ………………………………………………………………………………………………………. 67
A. RASPBERRY Pi ……………………………………………………………………………………. 67
A.1. Raspberry là gì? …………………………………………………………………………………. 67
A.2. Phần cứng ………………………………………………………………………………………….. 68
A.3. Hệ điều hành và phần mềm ………………………………………………………………….. 69
A.4. Ưu nhược điểm của Raspbery ………………………………………………………………. 69
A5. Thông số kỹ thuật của thiết bị Raspberry được thực nghiệm trong luận văn .. 69
B. SHT11…………………………………………………………………………………………………… 70
C. TIÊU CHUẨN CỦA MẬT MÃ NHẸ ……………………………………………………….. 70
C.1. Tiêu chuẩn mã hóa ISO/IEC ………………………………………………………………… 71
C.2. Tiêu chuẩn mã hóa khu vực …………………………………………………………………. 72
C.3. Giao thức truyền thông………………………………………………………………………… 72
C.4. Thư viện định hướng IoT …………………………………………………………………….. 72
D. MÃ NGUỒN …………………………………………………………………………………………. 73
D.1. Grain128.c …………………………………………………………………………………………. 73
D.2. ecrypt-sync.c ……………………………………………………………………………………… 76
D.3. Ví dụ kết quả mã hóa và giải mã với Grain-128 ……………………………………… 76

