Nghiên cứu hệ mật mã khối dựa trên hỗn loạn rời rạcNghiên cứu hệ mật mã khối dựa trên hỗn loạn rời rạcNghiên cứu hệ mật mã khối dựa trên hỗn loạn rời rạcNghiên cứu hệ mật mã khối dựa trên hỗn loạn rời rạcNghiên cứu hệ mật mã khối dựa trên hỗn loạn rời rạcNghiên cứu hệ mật mã khối dựa trên hỗn loạn rời rạcNghiên cứu hệ mật mã khối dựa trên hỗn loạn rời rạcNghiên cứu hệ mật mã khối dựa trên hỗn loạn rời rạcNghiên cứu hệ mật mã khối dựa trên hỗn loạn rời rạcNghiên cứu hệ mật mã khối dựa trên hỗn loạn rời rạcNghiên cứu hệ mật mã khối dựa trên hỗn loạn rời rạcNghiên cứu hệ mật mã khối dựa trên hỗn loạn rời rạcNghiên cứu hệ mật mã khối dựa trên hỗn loạn rời rạcNghiên cứu hệ mật mã khối dựa trên hỗn loạn rời rạcNghiên cứu hệ mật mã khối dựa trên hỗn loạn rời rạc
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Trang 2Công trình này được hoàn thành tạiTrường Đại học Bách khoa Hà Nội
Người hướng dẫn khoa học: PGS.TS.Hoàng Mạnh Thắng
Phản biện 1:
Phản biện 2:
Phản biện 3:
Luận án được bảo vệ trước Hội đồng đánh giá luận án tiến sĩ cấp trường
họp tại Trường Đại học Bách khoa Hà Nội
vào hồi giờ, ngày tháng năm
Có thể tìm hiểu luận án tại:
1 Thư viện Tạ Quang Bửu, Trường ĐHBK Hà Nội
2 Thư viện Quốc gia Việt Nam
Trang 3MỞ ĐẦU
1 Mật mã và kỹ thuật hỗn loạn trong bảo mật thông tin
Bảo mật là một kỹ thuật thiết yếu trong hệ thống thông tin Xu hướngphát triển công nghệ thông tin là người dùng có thể chia sẻ và sử dụngchung tài nguyên mạng từ những vị trí địa lý khác nhau trong các thờiđiểm khác nhau, dẫn đến sự phân tán tài nguyên và hậu quả là tăng nguy
cơ mất mát dữ liệu và các thông tin có giá trị Càng mởrộng các kết nốithì xuất hiện càng nhiều lỗ hổng bảo mật, tài nguyên càng dễ bị tấn công
và xâm phạm
Mật mã là một trong những biện pháp an toàn và đáng tin cậy để bảomật dữ liệu hiệu quả Do đó, ứng dụng kỹ thuật mật mã là xu hướng tấtyếu trong truyền tin bảo mật Do vậy những thay đổi trong cách tiếp cậntính an toàn của mật mã hiện đại đã mởra nhiều hướng phát triển mớicủa mật mã như: Bảo mật trong điện toán đám mây; Mởrộng mô hình mãhóa cho đối tượng nhóm và cho việc giải mã bộ phận; An toàn trước cáctấn công vật lý; An toàn trước sự tấn công của máy tính lượng tử và Bảomật trong mạng lưới IoTs
Các hàm hỗn loạn rời rạc được chứng minh là kế thừa được các tínhchất của các hàm hỗn loạn liên tục như tính chất nhạy cảm với điều kiệnđầu, nhạy cảm với sự thay đổi giá trị của các tham số và không thể dự báodài hạn Ưu điểm của mật mã khối hỗn loạn được xem như mô hình pháttriển mật mã hiện đại [25, 31] Về nguyên lý, các phương pháp bảo mậtứng dụng hỗn loạn là lợi dụng sự phức tạp của các đặc tính động học của
hệ thống hỗn loạn cũng như đặc trưng của hệ thống hỗn loạn để che giấuthông tin dựa trên các giải thuật thực hiện khác nhau Do đó, mật mã hỗnloạn là một hướng nghiên cứu mới, an toàn và đáng tin cậy để bảo mật dữ
Trang 4liệu hiệu quả.
Mật mã hạng nhẹ và mật mã hỗn loạn có thể thay thế mật mã chuẩn làhai hướng nghiên cứu được quan tâm trong những năm gần đây Ưu nhượcđiểm của mật mã hỗn loạn đã được nghiên cứu chi tiết Dựa trên nhữngtính chất này, luận án đề xuất dùng hàm hỗn loạn cho mật mã hạng nhẹ
để cải thiện các nhược điểm về bảo mật của mật mã hạng nhẹ Bài toánthiết kế mật mã hạng nhẹ sử dụng hàm hỗn loạn rời rạc như là một hướng
đi mới để cải thiện thời gian thực thi và khả năng bảo mật cho mật mãhạng nhẹ
Các thuật toán mật mã được đề xuất trong [30], [16] và thuật toán ẩntin (steganography)[21] dễ dàng bị phân tích khi chu kỳ của hàm hỗn loạnrời rạc quá ngắn[7] Các tác giả trong [8] đã giải thích sự phụ thuộc củachu kỳ vào các tham số điều khiển Tác giả trong [8] bình luận rằng chu kỳcủa hàm hỗn loạn càng dài thì càng tốt về mặt bảo mật khi áp dụng hàmhỗn loạn đó vào hệ mật mã Do đó, chu kỳ của hệ hỗn loạn rời rạc cũng làmột trong nhưng tham số quan trọng trong bài toán thiết kế mật mã hỗnloạn nói chung
Mật mã hạng nhẹ hướng tới việc tìm ra điểm cân bằng của ba yếu tố:Giảm tài nguyên thực thi, giảm thời gian xử lý, tăng mức độ bảo mật [14]
Do đó, hướng phát triển của mật mã hạng nhẹ được quan tâm nhiều hiệnnay là cải tiến các hệ mã thông qua việc đề xuất các hàm mã hóa mới [32].Mật mã hạng nhẹ và mật mã hỗn loạn để thay thế mật mã chuẩn làhai hướng nghiên cứu được quan tâm trong những năm gần đây Ưu nhượcđiểm của mật mã hỗn loạn đã được nghiên cứu chi tiết Dựa trên nhữngtính chất này, luận án đề xuất dùng hàm hỗn loạn cho mật mã hạng nhẹ
để cải thiện các nhược điểm về bảo mật của mật mã hạng nhẹ Bài toán
Trang 5thiết kế mật mã hạng nhẹ sử dụng hàm hỗn loạn rời rạc như là một hướng
đi mới để cải thiện thời gian thực thi và khả năng bảo mật cho mật mãhạng nhẹ
Phân bố chu kỳ của hàm Cat hai chiều (Arnold’s Cat map) đã đượcphân tích bởi Chen và các cộng sự trong [7, 8, 9], tuy nhiên phương phápnày chỉ áp dụng cho hàm Cat hai chiều và cho các trường hợp giá trị tham
số hoàn toàn xác định Khi áp dụng cho hàm Cat đa chiều phương phápnày trởnên phức tạp rắc rối, và việc đánh giá chu kỳ của hàm Cat mởrộngvẫn là một vấn đề mở cần tìm hiểu
3 Mục tiêu, đối tượng và phạm vi nghiên cứu
Bài toán thiết kế thuật toán hệ mật mã sử dụng các ánh xạ hỗn loạn đãđược nghiên cứu rất nhiều trong thời gian gần đây Có thể khẳng định rằngđây là một hướng nghiên cứu mới trong việc tạo ra những bộ mã mật cóthể tương đương những bộ mã truyền thống về khả năng bảo mật, dễ dàngthực hiện trên phần cứng, giảm thời gian xử lý, giảm chi phí thiết kế.Luận án nghiên cứu một số hướng phát triển của mật mã hiện đại từ
đó dẫn dắt các ra vấn đề trong mật mã hỗn loạn Dựa trên những vấn đề
đã phân tích, luận án đề xuất thuật toán tạo mật mã khối hỗn loạn theocấu trúc mạng hoán vị thay thế (SPN) Khả năng bảo mật của hệ thốngcũng được đánh giá qua các hệ số đặc trưng cho các tấn công bảo mật.Luận án đề xuất hai hàm hỗn loạn rời rạc là Skew Tent và Standardcho mô hình thiết kế hệ mật mã hỗn loạn hạng nhẹ
Luận án đề xuất phương pháp mởrộng hàm Arnold Cat rời rạc dựatrên biến đổi giả Hadamard nhanh gọi là hàm Cat-Hadamard Kết quả đạtđược là hàm Cat-Hadamard kế thừa hoàn toàn các đặc tính hỗn loạn củahàm Cat hai chiều, do đó có thể thay thế hàm Cat bởi Cat-Hadamard trongcác ứng dụng mật mã
4 Ý nghĩa khoa học và những đóng góp của luận án
Luận án nghiên cứu tính chất của các hàm hỗn loạn khi được biểu diễntrong miền hữu hạn chính xác Ảnh hưởng của các tham số đến tính chấtđầu ra và chu kỳ của hàm hỗn loạn một chiều, hai chiều hoặc nhiều chiều
Trang 6Từ đó đề xuất thuật toán mật mã khối theo cấu trúc mạng lưới hoán vịthay thế với các cấu trúc lớp thay thế S-box và lớp hoán vị dựa trên hỗnloạn.
Mởrộng hàm CAT rời rạc trong miền số nguyên hữu hạn và trongtrường Galois, so sánh với các phương pháp hiện có thông qua việc tínhtoán Kolmogorov-Sinai (KS) entropy, hoặc phân bố xác suất Chi- bìnhphương với giả thiết phân bố của chuỗi giả ngẫu nhiên được tạo ra là mộtphân bố đều
Đánh giá các trạng thái trung gian được tạo ra theo các bước lặp hàmCat map mởrộng, lựa chọn tham số thay đổi Chứng minh các tính chấtcủa hàm CAT mởrộng có sự kế thừa từ hàm CAT hai chiều, thông quabiến đổi Hadamard nhanh, số chiều của CAT được tăng lên nhanh chóngtrởthành một hàm đa biến đầu vào Hai ứng dụng hàm Cat mởrộng làthiết kế bộ tạo đa ma trận MDS cho hệ mật mã khối và bộ tạo chuỗi sốgiả ngẫu nhiên
5 Cấu trúc nội dung của luận án
Chương 1, luận án trình bày các nguyên tắc thiết kế hệ mật mã hỗn loạn
và các vấn đề còn tồn tại trong hệ mật mã hỗn loạn, từ đó đề xuất một môhình thiết kế hệ mật mã khối hỗn loạn dựa trên cấu trúc lưới hoán vị thaythế cho ứng dụng mã hóa ảnh Chương 2, luận án đề xuất hai biến thể chothuật toán mật mã khối hạng nhẹ theo cấu trúc mạng hoán vị thay thế(SPN) dựa trên hỗn loạn Các thiết kế hướng tới tiêu chí tăng độ bảo mậtnhưng vẫn thỏa mãn yêu cầu cài đặt, tài nguyên sử dụng và thời gian xử lýphù hợp với yêu cầu của thuật toán mật mã hạng nhẹ Chương 3 đề xuấtmột dạng thức mởrộng hàm Cat dựa trên biến đổi giả Hadamard nhanh,được gọi là hàm Cat-Hadamard Đề xuất hai ứng dụng hàm Cat mởrộng
là thiết kế bộ tạo đa ma trận MDS cho hệ mật mã khối và bộ tạo chuỗi sốgiả ngẫu nhiên
Trang 7Chương 1
MẬT MÃ HỖN LOẠN
1.1 Nguyên lý thiết kế mật mã hỗn loạn
Hỗn loạn được nghiên cứu trong bảo mật về cơ bản chia làm hai nhánhnghiên cứu chính, là bảo mật cho luồng bit ngay trong quá trình truyền tin
và bảo mật cho cả một đơn vị dữ liệu, thường được tính theo khối bit/byte
dữ liệu [24]
Nghiên cứu về hệ mật mã hỗn loạn trong [25], [24] và [43], các tác giả
đã đề xuất 10 nguyên tắc thiết kế hệ mã mật dựa trên hỗn loạn là:
1 Định nghĩa đầy đủ và nghiêm ngặt các nguyên lý thiết kế
2 Định nghĩa đầy đủ và nghiêm ngặt về khóa và không gian khóa
3 Lựa chọn các hàm hỗn loạn (ánh xạ hỗn loạn) có độ nhạy cao để điềukhiển các tham số không phù hợp
4 Lựa chọn hàm hỗn loạn không nên làm lộ toàn bộ đặc tính động lựchọc của hệ thống: Điều này có thể làm cho kẻ tấn công dự đoán thôngtin về các tham số điều khiển hoặc điều kiện khởi tạo
5 Phân tích hiệu năng của các quỹ đạo hỗn loạn như nguồn Entropy
6 Nên sử dụng các hàm (ánh xạ) hỗn loạn có hàm mật độ phân bố đều
và sự đo lường tập bất biến không phụ thuộc vào các tham số điềukhiển
Trang 8Output data
tor Control _ Block
Decrypt
Buffer
Output data
control
r
Hình 1.1: Sơ đồ khối thiết kế phần cứng
7 Không gian bản mã phải được xác định theo cách mà sự khôi phụclại đặc tính động học của các hàm hỗn loạn là không khả thi
8 Thời gian mã hóa/giải mã không phụ thuộc vào giá trị của khóa bímật của một hệ mật mã hỗn loạn
9 Hệ mật mã hỗn loạn có khả năng chống lại các kiểu tấn công cổ điển[39, 43]
10 Chống được các tấn công tương ứng với các ứng dụng cụ thể
1.2 Đề xuất hệ mật mã khối hỗn loạn rời rạc dựa
trên cấu trúc mạng hoán vị - thay thế
Luận án đề xuất sơ đồ khối phần cứng cho hệ mật mã khối hỗn loạn, thiết
kế này đề xuất việc tích hợp cả phần giải mã và phần tạo mã trên cùng mộtkhối Do đó, phần cứng có thể thực hiện chức năng của một bộ mã hoặcmột bộ giải mã đồng thời, phù hợp với các mô hình lưu trữ hoặc truyềnthông tin trong thời gian thực như Hình 1.1
Bản rõ là ảnh số RGB, kích thước cho mỗi lớp mầu là là H × W trong
đó H là kích thước ảnh theo chiều dọc cũng là số lượng điểm ảnh đếm được theo chiều dọc và W là kích thước ảnh theo chiều ngang cũng là số lượng
điểm ảnh đếm được theo chiều ngang, được biểu diễn dưới dạng chuỗi cácbyte liên tiếp một chiều
Trang 9Bản rõ
r
Kp j rp
Hình 1.2 mô tả thuật toán lập mã với khóa bí mật K j được tạo ra từ bộ
tạo khóa K j đóng vai trò là tham số điều khiển và tạo ra hai khóa con cho
khối thay thế và hoán vị là Ks j và Kp j , ta có K j = {Ks j ; Kp j }.
Ảnh RGB-8bit có 3 lớp mầu và mỗi điểm ảnh được mã hóa bằng 8-bit,ảnh đầu vào được biến đổi thành một chuỗi một chiều gồm các byte là
P = [p1p2 p m ], trong đó p m ∈ {0, 1, , 255} Chuỗi P được phần chia
thành các khối có kích thước cố định là T block = 2 byte Khối thứ b là B(b)
sẽ chứa byte thứ i và byte thứ (i + 1) th của chuỗi P Ta có, B(b) = [p i p i+1]
là một khối gồm hai byte p i và p i+1
Mỗi byte trong khối B(b) được thay thế giá trị bằng việc áp dụng hàm Skew Tent rời rạc [15, 31] Ks j là tập các tham số điều khiển tại vòng thứ
j, ta có Ks j = [ks j1 ; ; ks ji ; ; ks jrs ] Trong đó, ks ji là tham số điều khiển
tại vòng thứ i của quá trình thay thế và tại vòng thứ j của toàn bộ thuật toán Sau đó, mỗi khối B(b) thu được sau tiến trình thay thế được sắp xếp
lại trong ma trận bit hai chiều để thực hiện quá trình hoán vị, với kích
thước ma trận hai chiều là M × M Trong quá trình hoán vị, vị trí các bit
trong ma trận hai chiều được hoán đổi bằng hàm Standard [26] Quá trình
thay thế giá trị byte được lặp lại rs lần, sau đó đầu ra của khối thay thế
sẽ là đầu vào của khối hoán vị Quá trình hoán vị vị trí các bit trong ma
trận hai chiều được lặp lại rp lần, và cả hai quá trình này được lặp thêm r
Trang 10LFSR1
Tạo ra các tham số điều khiển
Hình 1.3: Bộ tạo khóa hỗn loạn
lần cho toàn bộ thuật toán
Thuật toán giải mã
Thuật toán giải mã là các tiến trình thực thi ngược lại so với thuật toán mãhóa Tham số của quá trình thay thế ngược hay còn được gọi là giải thay
thế là ks ji sẽ được đồng bộ với các giá trị tương ứng ởthuật toán mã hóa
Toàn bộ các đầu ra của thuật toán giải mã sẽ thu được sau r vòng lặp Về mặt thực thi tham số K r−j−1 cho lần lặp thứ (r −j −1) ởquá trình giải mã
có giá trị tương đương với tham số K j tại vòng lặp thứ j của quá trình mã
hóa Khối điều khiển trong sơ đồ Hình 1.1 sẽ đồng bộ hai tập khóa tương
ứng K j and K r−j−1 cho cả bộ mã hóa và giải mã, ta có K j = {Ks j ; Kp j }
Bộ tạo khóa hỗn loạn
Kiến trúc bộ tạo khóa hỗn loạn trong thiết kế này dựa trên mô hình đượctrình bày trong [15] Bộ tạo khóa gồm hàm Logistic được kết nôi song song
như Hình 1.3 Trong đó, X1(0) , X2(0) và X3(0) nằm trong khoảng từ 1đến 2N − 1.
Trang 11(a) Hình ảnh của bản rõ 1 và bản mã 1
(b) Hình ảnh của bản rõ 2 và bản mã 2 Hình 1.4: Hình ảnh của bản rõ và bản mã tương ứng với thuật toán đề xuất
số CDR tiến đến 100% thì thời gian cần cho thực hiện tấn công vét cạn làgần như vô hạn
Bảng 1.1, lưu các giá trị của các hệ số CDR, NPCR, UACI, các tác giảtrong [45] chỉ ra rằng nếu các giá trị NPCR >99.56%, UACI >33.22%, thì
hệ mật mã không bị phân tích bởi các loại tấn công bảo mật như tấn côngvét cạn, tấn công vi sai và tấn công chỉ biết bản mã[45] Các giá trị chothấy khả năng chống tấn công của hệ mã đề xuất hoàn toàn tương đươngvới các bộ mã kinh điển AES
Trang 12Bảng 1.1: So sánh các hệ số NPCR, UACI và CDR của bản mã thu được từ thuật toán đề xuất và AES
cổng Logic thanh ghi mã hóa
Tài nguyên thực thi
Các mô tả thiết kế phần cứng của thuật toán được trình bày trong các bàibáo đã công bố [C1] và [C3] Kết quả thực nghiệm chỉ ra rằng thuật toánmật mã khối hỗn loạn theo cấu trúc SPN phù hợp với các tiêu chí thiết kế
và giải quyết các vấn đề đã phân tích ởtrên Tài nguyên của hệ mật mãkhi thực thi trên kit phát triển Altera FPGA DE2 là rất nhỏ ≤ 15% so với
tài nguyên của toàn hệ thống
Trang 13Chương 2
ĐỀ XUẤT HỆ MẬT KHỐI HẠNG NHẸ DỰA VÀO CÁC ĐẶC TÍNH HỖN LOẠN CỦA HÀM SKEW TENT
VÀ STANDARD RỜI RẠC
2.1 Thiết kế lớp S-box 4×4 móc xích dựa trên tính
chất hàm Skew Tent rời rạc
với 0 < r ≤ 1 Đồ thị hàm Skew Tent được mô tả trong Hình 2.1.
Hàm Skew Tent rời rạc[30] là F A : [0, M] → [0, M] với tham số 0 < A <
M là tham số điều khiển, được định nghĩa như sau.
Dễ dàng nhận thấy, F K1 là một ánh xạ song ánh, M là số nguyên dương và
M ≥ 2 Trong mật mã học, ánh xạ đảo ngược có vai trò quan trọng trong
Trang 14thuật toán giải mã Gọi F K −1 là hàm ngược của hàm Skew Tent, F K −1 đượctính như sau:
sẽ là các số dương X nằm trong khoảng X = [0, 1, 2, , 2 u − 1] và đầu ra
nằm trong khoảng (0, 1, 2, , 2 v − 1), như vậy không gian giá trị đầu ra của
hàm Skew Tent khi thiết kế S-box là Y = [0, 1, 2, , M − 1] và M = 2 v − 1.
Khi đó, S-box được tạo ra sau khi lặp hàm Skew Tent rời rạc k lần theo
phương trình (2.8)
Trang 15chia thành 16 khối con X i mỗi khối 4 bit X i = x 4×i+3 ||x 4×i+2 ||x 4×i+1 ||x 4×i
với i = {0, 1, 2 15} Các khối X i là đầu vào của lớp S-box 4 × 4-bit nối
móc xích với nhau, các S-box được tạo ra trong Phần 2.1.2 phụ thuộc vào tham số điều khiển K và số vòng lặp rp.
Đầu vào mỗi S-box thu được khi cộng đảo bit (XOR) khối X i và đầu ra
của S-box trước đó Y i−1 trong chuỗi móc xích Tại S-box đầu tiên khối X0cộng với véc-tơ khởi tạo (Initialization vector-IV) là C0 như phương trình(2.9- 2.10), do đó sẽ làm tăng độ ảnh hưởng lẫn nhau của các S-box trongchuỗi
Y0 = S K (K, [X0 ⊕ IV ]). (2.9)
Y m = S K (K, [X m ⊕ Y m−1 ]); m = 1, 3 15, (2.10)
trong đó, S K là các S-box phụ thuộc tham số K Khả năng chống tấn công
phân tích thống kê tuyến tính hoặc vi phân phụ thuộc vào số lượng S-boxhoạt động ởđầu ra Một S-box được gọi là S-box hoạt động nếu và chỉ nếuS-box đó khác không Ta có định lý sau
Trang 162 là hai khối con đầu vào 4 bit Do đó đầu ra
Y j = S j (X j ⊕ Y j−1 ) và Y j+1 = S j+1 (X j+1 ⊕ Y j) có thể viết lại như sau
Y j+1 = S j+1 (X j+1 ⊕ S j (X j ⊕ Y j−1 )) Có thể thấy rằng, M bit đầu vào
chia thành M
4 khối con X j mỗi khối 4 bit, các S-box móc xích với nhaunên mỗi khối con đầu ra được tạo ra sẽ chứa ít nhất 1 S-box hoạt động, vàtương ứng với M
4 đầu ra sẽ có ít nhất M4 S-box hoạt động.
2.2 Thiết kế lớp khuếch tán dựa trên hỗn loạn
Lớp khuếch tán hỗn loạn được mô tả như Hình 2.3 Bao gồm hai lớp con(lớp phụ) là Lớp trộn các byte(MixBytes), lớp thứ hai là lớp hoán vị phituyến (PerBits) theo các bit Đối với thiết kế mật mã hạng nhẹ hiện đại [4,
17, 18, 23, 35, 42], độ dài một khối bản rõ là 2m bit, lớp thay thế có 2m−2
S-box kích thước 4 × 4 − bit, số byte được tính tương ứng là tByte = 2 m−3.
Ví dụ, một khối bản rõ kích thước là 2m = 64 bit, thì tByte = 2 m−3 = 8byte Đầu ra của lớp S-box được sắp xếp lại thành các byte để đưa vào lớp
MixBytes Gọi S i và S i+1 là hai S-box lân cận, và X = S i S i+1 là byte được
ghép bởi hai lân cận nhau, do đó S i là 4 bit trọng số cao và S i+1 là 4 bit
trọng số thấp của X.
Hàm Standard có đặc tính hỗn loạn tốt hơn các hàm hỗn loạn hai chiều