1
BỘ QUỐC PHÒNG
HỌC VIỆN KỸ THUẬT QUÂN SỰ
ĐỖ THỊ BẮC
PHÁT TRIỂN MỘT SỐ THUẬT TOÁN
MẬT MÃ CÓ HIỆU QUẢ TÍCH HỢP CAO
TRÊN THIẾT BỊ PHẦN CỨNG
Chuyên ngành: Cơ sở toán học cho tin học
Mã số: 62 46 01 10
TÓM TẮT LUẬN ÁN TIẾN SĨ TOÁN HỌC
HÀ NỘI – 2014
2
CÔNG TRÌNH ĐƯỢC HOÀN THÀNH TẠI
HỌC VIỆN KỸ THUẬT QUÂN SỰ
Người hướng dẫn khoa học:
1. PGS.TS Nguyễn Hiếu Minh
2. PGS.TS Nguyễn Thiện Luận
Phản biện 1: PGS.TS Bạch Nhật Hồng
Phản biện 2: PGS.TS Nguyễn Linh Giang
Phản biện 3: PGS.TS Trần Quang Anh
Luận án được bảo vệ tại Hội đồng chấm luận án
cấp Học viện họp tại Học viện kỹ thuật quân sự
vào hồi giờ ngày tháng năm
Có thể tìm hiểu luận án tại thư viện Học viện kỹ thuật quân sự;
Thư viện Quốc gia
3
MỞ ĐẦU
1. Tính cấp thiết của đề tài nghiên cứu
Ngày nay, công nghệ mạng không dây đóng một vai trò rất quan
trọng trong các hoạt động hàng ngày của phần lớn các cá nhân và tổ
chức, trên các mạng này, thông tin nhạy cảm được phát triển với tốc
tổng hợp, đánh giá và mô phỏng qua phần mềm thực nghiệm.
5. Những đóng góp mới của luận án
- Đề xuất mới mô hình song song cho vòng mã hóa cơ sở và
phương pháp lai ghép phần tử điều khiển được trong thiết kế CSPN.
- Đề xuất phương pháp tối ưu hóa tìm vết vi sai tốt nhất cho lớp
các thuật toán mật mã khối được xây dựng từ CSPN.
- Dựa trên mô hình mới và các mô hình đã được đề xuất trước đó,
đã phát triển các thuật toán mật mã khối (MD-64, Crypt(BM)_64A,
BM-64, BM123-64, BMD-128, BM-128, BM123-128) có hiệu quả
tích hợp cao hơn và có độ an toàn ít nhất là tương đương với một số
thuật toán phổ biến đã được công bố.
- Đề xuất mới hàm băm mềm dẻo và có độ an toàn cao trên cơ sở
sử dụng toán tử điều khiển được và mô hình truy vấn phụ thuộc vào
dữ liệu phù hợp ứng dụng trên các thiết bị không dây.
6. Bố cục của luận án
Gồm mở đầu, 4 chương, kết luận - kiến nghị, tài liệu tham khảo và
phụ lục.
Chương 1
TỔNG QUAN VỀ VẤN ĐỀ NGHIÊN CỨU
1.1. Giới thiệu
Ngày nay mạng không dây đã trở thành một lĩnh vực hấp dẫn và
được sự quan tâm của các nhà cung cấp dịch vụ. Các hệ thống không
dây luôn có sẵn gần như bất cứ lúc nào, bất cứ nơi nào và số lượng
các thiết bị không dây được người dùng sử dụng là rất cao. Các dịch
vụ trên thiết bị không dây được liên tục gia tăng trong các phạm vi
khác nhau và số lượng người có nhu cầu sử dụng các dịch vụ ngày
5
càng lớn. Trong các thiết bị này, nhu cầu cần giao thức an toàn mạnh
là một trong những vấn đề quan trọng nhất và nó phải đối mặt với các
chuẩn của các thiết bị không dây.
dây phụ thuộc vào sự tin tưởng của công chúng đối với vấn đề an
toàn của các giao dịch liên quan. Thuật toán mã hóa đóng vai trò
quan trọng trong việc đạt được những mục tiêu này.
1.6. Xu hướng phát triển thuật toán mật mã trong các mạng không dây
1.6.1. Xu hướng phát triển mật mã khối
Một trong những xu hướng xây dựng thuật toán mật mã tốc độ cao
cho mạng không dây là sử dụng các kiểu toán tử:
- Hoán vị phụ thuộc dữ liệu (DDP- Data Dependent Permutation)
như các thuật toán: CIKS-128, Spectr-H64, Cobra-S128, Song
chúng có điểm yếu trước thám mã tuyến tính và thám mã lượng sai.
- Toán tử phụ thuộc dữ liệu (DDO-Data Dependent Operation) như
DDO-64, Cobra-F64a, Eagle-128, điểm mạnh là phù hợp khi thực
hiện trên phần cứng và có tốc độ cao song chúng chỉ sử dụng lịch
biểu khóa đơn giản nên có khả năng bị tấn công khóa có quan hệ
[24].
- Toán tử chuyển mạch phụ thuộc dữ liệu (SDDO-Switchable Data
Dependent Operation), đây là giải pháp để chống lại các tấn công
khóa có quan hệ. SDDO được đánh giá là một kiểu phần tử mật mã
mới, được định hướng để thiết kế các thuật toán mã hóa nhanh phù
hợp với các ứng dụng trong môi trường không dây.
1.6.2. Xu hướng phát triển hàm băm
Các hàm băm mật mã thường được chia thành hai loại cơ bản là
MAC (Message Authentication Codes) và MDC (Manipulation
Detection Codes). Các phương pháp thiết kế gồm: hàm băm lặp, hàm
băm dựa trên modulo số học, hàm băm dựa trên mật mã khối và các
hàm băm được thiết kế riêng.
Các hàm băm phổ biến được ứng dụng trong thực tế hiện nay như:
Snefru, N-Hash, MD2, MD4, MD5, SHA-1, … đều đã tận dụng được
7
ưu điểm của mỗi phương pháp thiết kế. Điểm hạn chế chung là các
luận án như hàm logic, mật mã khối, cấu trúc của phần tử điều khiển
được và nguyên lý thiết kế CSPN.
Hàm logic tổng quát của F
2/1
biểu diễn theo phương trình:
và của F
2/2
biểu diễn theo phương trình:
2.2. Khái quát chung về các thuật toán phát triển (TTPT)
2.2.1. Mục tiêu và giải pháp hướng đến
Mục tiêu hướng đến của TTPT là ứng dụng trong các mạng không
dây và sử dụng tổ hợp các giải pháp đã nêu chi tiết trong luận án.
2.2.2. Các bước thực hiện và sơ đồ tổng quát
Các TTPT của luận án có chung các bước thực hiện như sau:
trong đó: k là số vòng; k + 1 tương ứng với phép biến đổi cuối cùng
(FT); e ∈ {0, 1} là tham số định nghĩa với (e = 0): mã hóa và (e = 1):
giải mã; Crypt
(e)
: thủ tục mô tả vòng mã hóa cơ sở của thuật toán.
2.2.3. Các mô hình thiết kế của vòng mã hóa cơ sở
Luận án sử dụng 3 mô hình thiết kế cho vòng mã hóa cơ sở: nối
tiếp, song song và kết hợp giữa nối tiếp và song song.
2.2.4. Các phương pháp thiết kế CSPN trong các TTPT
CSPN sử dụng trong các TTPT được thiết kế theo hai mô hình:
CSPN đồng nhất (HO) và CSPN lai ghép (HY).
1. For j = 1 to k-1 do {(A, B) Crypt
(e)
(A, B, Q
j
,U
-1
8/24
,
MD-64 có kích thước khối là 64 bit, gồm 8 vòng mã hóa và khóa
bí mật 128 bit. Hình 2.10 là mô tả chi tiết thiết kế của MD-64. MD-
10
64 sử dụng khóa mật 128 bit và sử dụng lịch biểu khóa đơn giản. (chi
tiết lịch biểu khóa của MD-64 trong luận án).
2.4. Phát triển thuật toán mật mã khối theo mô hình kết hợp
Hình 2.11. Sơ đồ thiết kế của thuật toán BMD-128
a) Vòng mã hóa cơ sở, b) F
8/24
, c) F
-1
8/24
, d) F
8/32
, e) F
32/128
,
f) Hộp SPN, g) F
64/384
, h) SDDO và
11
BMD-128 là thuật toán được phát triển và công bố trong công trình
nghiên cứu số [3]. BMD-128 thiết kế theo mô hình kết hợp nối tiếp
và song song với vòng mã hóa cơ sở và CSPN thiết kế theo phương
pháp đồng nhất (HO). BMD-128 có độ dài khối là 128 bit, với 8 vòng
biến đổi và có độ dài khóa là 256 bit. Hình 2.11 là mô tả chi tiết thiết
kế của BMD-128.
) F
4/8
và F
-1
4/8
,c
1
) F
16/64
, F
-1
16/64,
d
1
)
13
Thuật toán được phát triển với 3 trường hợp như sau:
Trường hợp 1: sử dụng phương pháp thiết kế CSPN đồng nhất
(HO) với phần tử nguyên thủy được lựa chọn là F
2/2
với bộ phần tử
được lựa chọn là (h, f, e, j).
Trường hợp 2: sử dụng phương pháp lai ghép HY1 với 2 phần tử
nguyên thủy được lựa chọn là F
2/2
với bộ phần tử chọn là (h, f, e, j) và
F′
2/2
với bộ phần tử chọn là (e, b, b, c).
Trường hợp 3: sử dụng phương pháp lai ghép HY2, cụ thể nhánh
thuật toán sử dụng CE được lựa chọn là F
2/2
và F′
2/2
như trường hợp
1.
14
Hình 3.6. Sơ đồ thiết kế của thuật toán BM123-128 (TH 1)
a
1
) Vòng mã hóa cơ sở, b
1
) F′
4/8
, c
1
) F′
32/128
, d
1
) F′
16/64
, e
1
) F′
32/256
,
f
1
)
BMD-128 là sau vòng 5). Đây chính là điểm hấp dẫn của các TTPT.
16
Hình 3.25. Vết vi sai sau 2 vòng của BM-128
17
Bảng 3.5. Tổng hợp giá trị vết vi sai các TTPT và so sánh
Mã khối
Số
vòng r
Đặc trưng vi sai
Z P(Z) P(r)
Cobra-F64a [29] 16 3 2
-21
> 2
-105
Spectr-H64 [29] 12 2 1.15 2
-13
≈ 2
-75
COBRA-H64 [29] 8 2 ≈ 1,13 x 2
-19
≈ 2
-75
DDO-64 [29] 6 2 ≈ 2
-29
≈ 2
-87
COBRA-F64A [29] 10 2 < 2
-20
< 2
-100
≈ 2
-144
SG-128 [29] 10 2 ≈ 2
-32
≈ 2
-160
SS-128 [29] 10 2 ≈ 2
-34
≈ 2
-170
Eagle-128 [29] 10 2 ≈ 2
-35
≈ 2
-175
COBRA-S128 [29] 10 2 < 2
-50
< 2
-200
BMD-128 8 2 ≈ 2
-51,5
≈ 2
-206
BM-128 8 2 ≈ 2
-61,5
≈ 2
-246
BM123-128 (TH1) 8 2 ≈ 2
-77
≈ 2
-308
thuật toán trong vòng chung khảo của AES
Tên thuật toán
Kích
thước
khối
Số
vòng
R
(CLBs)
F
(MHz)
T
(Mb/s)
Hiệu quả
(1) (2)
Cấu trúc IL
Twofish-128
128
16 2034 69,979 560 0,28 3,93
RINDAEL-128
128
10 2557 183,957 2355 0,92 5,01
RC6-128
128
20 4415 82,156 526 0,12 1,45
Mars-128
128
32 8658 17,675 71 0,01 0,46
BM-128
128
Crypt(BM)_64A
64
10 1948 211,425 13531 6,95 32,85
BM-64
64
8 2067 166,928 10683 5,17 30,97
BM123-64(TH1) 64
8 2075 167,002 10688 5,15 30,85
BM123-64(TH2) 64
8 2075 167,002 10688 5,15 30,84
BM123-64(TH3) 64
8 1819 166,320 10644 5,85 35,18
20
Hình 3.33. Đồ thị đánh giá hiệu quả tích hợp các thuật toán 128
bit (chế độ IL)
3.5. Tổng hợp chung các TTPT
Phần này tóm tắt lại tất cả các thông số đặt trưng của TTPT và các
thông số đánh giá về độ an toàn và hiệu quả tích hợp.
3.6. Tóm tắt chương 3
Chương 3 trình bày kết quả nghiên cứu mới của luận án về mật mã
khối theo mô hình song song. Kết quả nghiên cứu gồm:
1. Đề xuất mô hình song song và 2 phương pháp lai ghép.
2. Phát triển 5 thuật toán mật mã khối.
3. Đánh giá độ an toàn của 07 thuật toán phát triển (5 thuật toán ở
chương 3 và 2 thuật toán ở chương 2) trước tấn công.
4. Chứng minh các TTPT đạt được hiệu quả tích hợp cao khi triển
khai thực hiện trên FPGA.
Chương 4.
PHÁT TRIỂN HÀM BĂM MỀM DẺO
Chương này trình bày kết quả nghiên cứu mới về hàm băm mềm
1.Thiết lập bộ đếm i:
0i
¬
2. Gán giá trị ban đầu cho biến R, V, N, U,Y:
1. Thay đổi giá trị của N bằng cách gán:
2. Thiết lập biến trung gian n:
3. Thay đổi giá trị của V bằng cách gán:
4. Thay đổi giá trị biến trung gian n:
5. Thay đổi giá trị của U bằng cách gán:
6. Thay đổi giá trị biến trung gian n:
7. Thay đổi giá trị của Y bằng cách gán:
1. Thiết lập bộ đếm i:
0i
¬
;
2. Tính toán số 32 byte
23 17
( mod ) mod ;
i
i
Q a P G
+
′
=
3. Tăng giá trịi: i ← i +1. Nếu
64i
≠
, thì chuyển tới bước 2;
4. Tạo số 2051 byte: S′=q
2
: H
i
:= W
z-1
| … |W
1
| W
0
;
Giá trị băm: G
i
:= R|N|V|Y|U.
4.2.4. Phân tích và đánh giá hàm băm đề xuất
Hàm băm lặp quay vòng MBM: có vai trò như hàm xử lý dữ liệu
của các hàm mã hóa hay hàm nén. Hàm băm lặp quay vòng (MBM)
sử dụng dữ liệu đầu vào mềm dẻo. Hàm này tận dụng được các đặc
tính về sự phụ thuộc dữ liệu, lặp quay vòng và toán tử số học tốc độ
cao. Điều đặc biệt hơn, là sử dụng bộ tham số R, V, Y, U, N như các
khóa con (SubKey) để tính toán ở mỗi lần xử lý hiện tại cũng như tác
động lan truyền sang lần tính toán kế tiếp. R, V, Y, U, N là những giá
trị do người sử dụng chủ động khai báo và khởi tạo thông qua hàm
Initialize. Cách sử dụng bộ G = R|V|Y|U|N cũng giống như dùng các
1. Xác định kích thước của khối dữ liệu vào:
2. Thiết lập bộ đếm thứ nhất j:
3. Thực hiện thủ tục Initialize khởi tạo giá trị: R, V, N, U,Y ;
4. Thiết lập bộ đếm thứ hai k:
5. Thực hiện thủ tục ChangeNVUY;
6. Thay đổi giá trị từ 32 bit hiện thời:
7. Thay đổi giá trị của biến R:
mn
i
và ngược lại nếu có C
i
thì sẽ không
thể tìm ra M
i
.
4.2.5. Khảo sát độ an toàn của hàm băm đề xuất
Phần này luận án khảo sát độ an toàn của hàm băm đề xuất theo tấn
công vét cạn và theo phân tích các thành phần xây dựng hàm băm.
Giả sử rằng giá trị đầu ra của hàm băm MBM là véc tơ nhị phân có
độ dài n = 160 bit khi đó độ an toàn mong muốn khi đề xuất hàm
băm đạt được sẽ là:
Tính kháng va chạm: độ phức tạp tính toán để tạo ra một va chạm
với MBM vào khoảng 2
80
phép băm của MBM.
Tính kháng tiền ảnh thứ nhất: cho trước một giá trị băm n bit, độ
phức tạp để tìm được một bản tin có giá trị băm bằng giá trị này sẽ
vào khoảng 2
160
phép băm của MBM.
Tính kháng tiền ảnh thứ hai: cho trước một bản tin và kết quả băm
tương ứng qua MBM, khi đó độ phức tạp để tìm được bản tin thứ 2
có giá trị băm bằng giá trị này khoảng 2
160
phép băm của MBM.
Hàm băm đề xuất cũng được khảo sát độ an toàn thông qua các
thành phần xây dựng hàm băm.
a. Hàm nén
thước
từ
Số
vòng
lặp
Kích
thước
giá trị
băm
Độ an
toàn
(lí thuyết)
SHA-1 < 2
64
512 32 80 160 80
SHA-2(256) < 2
64
512 32 64 256 128
SHA-2(384) < 2
128
1024 64 80 384 192
SHA-2(512) < 2
128
1024 64 80 512 256
MBM (160)
MBM (192)
……
< 2
128
32*z 32 6*z