THÔNG TIN TÓM TẮT VỀ NHỮNG KẾT LUẬN MỚI CỦA LUẬN ÁN TIẾN SĨ (Thông tin đưa lên trang Web) Tên luận án: Mật mã dữ liệu ảnh ứng dụng kỹ thuật hỗn loạn. Ngành: Kỹ thuật điện tử Mã số: 9520203 Nghiên cứu sinh: Hoàng Xuân Thành Người hướng dẫn khoa học: PGS.TS. Hoàng Mạnh Thắng Cơ sở đào tạo: Trường Đại học Bách khoa Hà Nội TÓM TẮT KẾT LUẬN MỚI CỦA LUẬN ÁN 1. Luận án đã nghiên cứu chi tiết về hệ mật mã hỗn loạn có cấu trúc SPN và ứng dụng để mật mã dữ liệu ảnh. Các thuộc tính của hệ hỗn loạn cho thấy sự tương đồng với các đặc trưng cần có trong các hệ mật mã. Các thuộc tính của hệ hỗn loạn gồm nhạy với điều kiện đầu, sự phức tạp trong đặc tính động và khó đoán được trạng thái của hệ. Qua nghiên cứu cho thấy, hệ hỗn loạn rời rạc theo thời gian thường được dùng để thiết kế lên hệ mật mã. Các tham số của hệ hỗn loạn được ứng dụng vào việc giấu tin gồm tham số hệ thống, số lần lặp, biến trạng thái, và điều kiện đầu. Các thuộc tính của hệ hỗn loạn được áp dụng vào thiết kế hệ mật mã thông qua các tham số có thể can thiệp và thu nhận được theo nhiều cách khác nhau. Hơn nữa, dữ liệu ảnh có những đặc trưng phân bố thông tin và bit dữ liệu điển hình. Các đặc trưng này được khai thác nhằm thiết kế ra các hệ mật mã phù hợp với dữ liệu và làm việc hiệu quả. 2. Cấu trúc SPN đã được xem là cung cấp khả năng đảm bảo an toàn mật mã tốt nhất. Phần lớn các hệ mật mã hỗn loạn hiện nay được xây dựng theo mô hình mật mã đối xứng dựa trên cấu trúc SPN đều đáp ứng được khả năng đảm bảo an toàn. Tuy nhiên, mặc dù một số hệ mật mã hỗn loạn được xây dựng dựa trên cấu trúc SPN, nhưng trong quá trình thiết kế vẫn tồn tại các điểm chưa chặt chẽ để trở thành các lỗ hổng. Các lỗ hổng đó được khai thác để phân tích mã thành công. Phân tích các lỗ hổng của các hệ mật mã giúp nhà thiết kế và người ứng dụng hệ mật mã hỗn loạn tránh được những nhược điểm này. Kết luận, các nội dung được nghiên cứu này đã được áp dụng để thiết kế ra các hai hệ mật mã làm việc ở mức bit và góp phần phân tích mã và chỉ ra phương pháp khắc phục cho hệ mật mã được đề xuất bởi W. Zhang và các đồng nghiệp.
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
LUẬN ÁN TIẾN SĨ KỸ THUẬT ĐIỆN TỬ
NGƯỜI HƯỚNG DẪN KHOA HỌC:
1 PGS.TS HOÀNG MẠNH THẮNG
HÀ NỘI - 2019
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan các kết quả trình bày trong Luận án là công trình nghiên cứu của tôidưới sự hướng dẫn của PGS.TS Hoàng Mạnh Thắng Các số liệu, kết quả trình bày trongluận án là hoàn toàn trung thực và chưa được công bố trong bất kỳ công trình nào trướcđây Các kết quả sử dụng tham khảo đã được trích dẫn đầy đủ và theo đúng quy định
Hà nội, ngày 06 tháng 11 năm 2019
Tác giả
Hoàng Xuân Thành
Trang 4LỜI CÁM ƠN
Để hoàn thành được Luận án này, tôi xin gửi lời biết ơn sâu sắc đến các Thày cô trong
Bộ môn Điện tử và Kỹ thuật máy tính, Viện Điện tử–Viễn thông đã hỗ trợ, giúp đỡ vàđộng viên tôi trong suốt quá trình làm luận án tiến sĩ tại Trường Đại học Bách khoa HàNội Tôi gửi lời cám ơn đến người hướng dẫn, PGS Hoàng Mạnh Thắng, người chỉ bảo
và định hướng cho tôi trong quá trình nghiên cứu
Xin cám ơn rất nhiều!
Hà nội, ngày 06 tháng 11 năm 2019
Trang 5Mục lục
Trang
1.1 Giới thiệu 7
1.2 Mật mã hiện đại và phân loại .7
1.2.1 Định nghĩa 7
1.2.2 Phân loại mật mã 8
1.3 Hệ thống hỗn loạn 11
1.3.1 Hệ hỗn loạn liên tục theo thời gian 11
1.3.2 Hệ hỗn loạn rời rạc theo thời gian 12
1.3.2.1 Hàm Logistic 13
1.3.2.2 Hàm Henon 13
1.3.2.3 Hàm Cat 14
1.3.2.4 Hàm hỗn loạn Cat-Hadamard 14
1.3.2.5 Hàm Standard .15
1.3.2.6 Hàm Skew tent 15
1.3.2.7 Hàm Chebyshev 16
1.3.2.8 Hàm hỗn loạn không gian-thời gian 16
1.4 Các thuộc tính của hàm hỗn loạn phù hợp cho ứng dụng trong mật mã 16
1.4.1 Các thuộc tính cơ bản 16
1.4.2 Các tham số và tính chất của hàm hỗn loạn dùng trong mật mã 18
1.5 Tạo chuỗi ngẫu nhiên dùng hàm hỗn loạn 20
1.5.1 Tạo chuỗi bit ngẫu nhiên 21
1.5.2 Tạo chuỗi số giả ngẫu nhiên 22
1.6 Ảnh số và các đặc điểm 23
1.6.1 Biểu diễn ảnh số 23
1.6.2 Các đặc trưng của dữ liệu ảnh 24
1.7 Kết luận 26
Trang 6Chương 2: MẬT MÃ ẢNH Ở MỨC BIT ỨNG DỤNG
2.1 Giới thiệu 27
2.2 Mô hình mật mã cấu trúc SPN .28
2.2.1 Hoán vị các điểm ảnh sử dụng hỗn loạn 30
2.2.1.1 Các cơ chế hoán vị dữ liệu cho ảnh .31
2.2.1.2 Luật hoán vị dựa vào biến trạng thái 31
2.2.1.3 Luật hoán vị dựa vào đặc tính động của hàm hỗn loạn rời rạc 35
2.2.1.4 Đánh giá hiệu năng của phép hoán vị 37
2.2.2 Phép thay thế sử dụng hỗn loạn 40
2.2.2.1 Phép thay thế không tạo ra lan truyền 40
2.2.2.2 Thay thế có lan truyền 42
2.3 Đề xuất các hệ mật mã hỗn loạn làm việc ở mức bit .43
2.3.1 Đề xuất 1: Hệ mật mã dựa trên tác động lên đặc tính động của hàm hỗn loạn 44
2.3.1.1 Bộ mật mã .45
2.3.1.2 Bộ giải mật mã 48
2.3.1.3 Kết quả mô phỏng 48
2.3.1.4 Phân tích khả năng bảo mật 49
2.3.1.5 Kết quả thiết kế mạch cứng 53
2.3.2 Đề xuất 2: Hệ mật mã hỗn loạn cho ảnh ở mức bit 60
2.3.2.1 Giải thuật mật mã dùng hàm hỗn loạn Cat-Hadamard 60
2.3.2.2 Giải thuật giải mật 62
2.3.2.3 Chi phí tính toán 62
2.3.2.4 Giải thuật phân phối khóa 63
2.3.2.5 Phân tích khả năng bảo mật 64
2.4 Kết luận 67
Chương 3: PHÂN TÍCH MẬT MÃ HỖN LOẠN CÓ CẤU TRÚC SPN 69 3.1 Giới thiệu 69
3.2 Một số qui ước trong phân tích mã 71
3.3 Mô tả hệ mật mã hỗn loạn được đề xuất bởi W Zhang 71
3.4 Đề xuất 3: Phân tích hệ mật mã hỗn loạn có cấu trúc SPN với một vòng lặp mã75 3.4.1 Tấn công lựa chọn bản rõ 76
3.4.1.1 Tấn công vào quá trình hoán vị 76
3.4.1.2 Tấn công vào khuếch tán 79
Trang 73.4.2 Tấn công lựa chọn bản mã 83
3.4.2.1 Tấn công quá trình hoán vị ngược 83
3.4.2.2 Tấn công khuếch tán ngược 87
3.4.3 Ước lượng thời gian tấn công 90
3.4.3.1 Thời gian tấn công hoán vị .90
3.4.3.2 Thời gian tấn công khuếch tán .91
3.4.4 Một số bàn luận về tấn công một vòng lặp mã 92
3.5 Đề xuất 4: Phân tích mật mã hỗn loạn có cấu trúc SPN với nhiều vòng lặp mã 93 3.5.1 Giải thuật mật mã và giải mật nhiều vòng lặp mã 93
3.5.2 Phân tích mã 95
3.5.2.1 Nhận diện điểm yếu trong hệ mật mã 96
3.5.2.2 Khôi phục luật hoán vị 101
3.5.3 Đề xuất phương pháp nâng cao bảo mật cho hệ mật mã .110
3.5.4 Kết luận .120
Trang 8Danh sách các từ viết tắt
Phần trăm các điểm ảnh lân cận
Trang 9PV Primary vertex Điểm sơ cấp
Inten-sity
Cường độ thay đổi trung bìnhthống nhất
Hoán vị ngược
khuếch tán; Khuếch tán ngược
Trang 10Plaintext Văn bản trơn, bản rõ
các điểm ảnh
Topologically transitive hay
Topo-logical mixing
Cấu trúc đồ hình liên kết
Trang 11Danh sách hình vẽ
1.1 Phân loại nghiên cứu của mật mã học 8
1.2 Mật mã khóa đối xứng và bất đối xứng 9
1.3 Phân loại mật mã theo cấu trúc 10
1.4 Phân loại theo cơ sở nền tảng 11
1.5 Phân loại theo đơn vị dữ liệu được mã hóa 11
1.6 Vùng hút của hàm Henon 13
1.7 Phụ thuộc điều kiện đầu của hàm Logistic với r = 4, 0 17
1.8 Hệ số Lyapunov của hàm Logistic phụ thuộc vào r 17
1.9 Đồ hình phân nhánh của hàm Logistic phụ thuộc vào r 18
1.10 Phân bố của chuỗi giá trị được tạo từ hàm Logistic 19
1.11 Phân bố của chuỗi giá trị được tạo từ hàm Henon với a = 10 và b = 50 19
1.12 LFSR thực hiện theo hàm P (x) = x8+ x6+ x5+ x4+ 1 21
1.13 Bộ tạo chuỗi số dùng hàm hỗn loạn (nguồn: [1]) 23
1.14 Ảnh được biểu diễn dưới dạng véctơ và raster (nguồn: [2]) 24
1.15 Mô tả các lớp bit của ảnh mức xám 8 bit 24
1.16 Hàm tự tương quan của các điểm ảnh trên cùng một dòng điểm ảnh 25
1.17 Ảnh các lớp bit 25
2.1 Mật mã có cấu trúc SPN dùng hỗn loạn 29
2.2 Luật hoán vị và ví dụ hoán vị cho mảng 1D 32
2.3 Luật hoán vị ở dạng 2D 33
2.4 Ví dụ về ảnh hoán vị dùng ma trận hoán vị tạo ra bởi hàm hỗn loạn 33
2.5 Ma trận T và sự khác nhau giữa chúng trong các trường hợp số điểm đầu bỏ đi khác nhau 35
2.6 Luật hoán vị dựa trên đặc tính động của hàm hỗn loạn 36
2.7 Ánh xạ một-một của hàm 36
2.8 Phương pháp đánh giá hoán vị PAPC (nguồn: [3]) 38
2.9 Phương pháp đánh giá hoán vị DBAP (nguồn: [3]) 39
2.10 Cấu trúc bộ mật mã đề xuất 45
2.11 Cấu trúc khối CPP và CD trong hệ mật mã được đề xuất 47
2.12 Cấu trúc của iCD 48
2.13 Các ảnh bản rõ (cột bên trái) và các ảnh sau khi được mật mã (cột phải) 50
Trang 122.14 Thiết kế phần cứng của hàm Logistic nhiều vòng lặp 55
2.15 Thiết kế phần cứng của khối mở rộng 8 bit thành 32 bit 56
2.16 Lưu đồ thực hiện tách 8 bit từ 32 bit đầu vào 57
2.17 Lưu đồ thuật toán của khối CPP 58
2.18 Cấu trúc mạch điện tử tổng thể của khối CPP 59
2.19 Ảnh bản rõ và ảnh bản mã 62
2.20 Phân bố giá trị điểm ảnh bản rõ và bản mã 62
2.21 Tương quan giữa các ảnh bản rõ và bản mã của 2.19(a) 65
2.22 Cdr của giải thuật đề xuất với ảnh Image1 67
3.1 Ảnh RGB được sắp xếp lại thành một ma trận để mật mã 72
3.2 Các bước mật mã và giải mật 73
3.3 Khôi phục luật hoán vị trong tấn công lựa chọn bản rõ cho vị trí (x0, y0) 76
3.4 Ví dụ tấn công vào hoán vị 78
3.5 Kết quả cuối cùng của luật hoán vị 79
3.6 Ví dụ tìm giá trị bit b0 81
3.7 Ví dụ tìm giá trị bit b5 của rand2(temp2) 82
3.8 Tấn công lựa chọn bản rõ trên ảnh 5 × 5 84
3.9 Thủ tục khôi phục lại luật hoán vị trong tấn công bản mã cho điểm ảnh tại vị trí (x0, y0) 85
3.10 Tấn công hoán vị trong lựa chọn bản mã với kích thước ma trận mở rộng là 10 × 10 87
3.11 Tấn công lựa chọn bản mã trên ảnh 5 × 5 90
3.12 Mật mã và giải mật (a) Các bước mật mã, (b) Các bước giải mật 94
3.13 Giải mật để khôi phục ac(i) 97
3.14 Từng bước giải mật mã để chỉ ra điểm yếu với R = 3 99
3.15 Phân tích sự lan truyền ảnh hưởng 100
3.16 Thủ tục khôi phục bảng tra cứu hoán vị tổng quát dùng trong giải mật 101
3.17 Từng bước giải mật để tìm ra điểm yếu 104
3.18 Trình bày bảng khôi phục hoán vị 105
3.19 Các nguồn ảnh hưởng lên vị trí trong giải mật 107
3.20 Phân tích sự ảnh hưởng lan truyền 110
3.21 Từng bước giải mật mã cho Trường hợp 1 với R = 3 116
3.22 Từng bước giải mật mã cho Trường hợp 2 với R = 3 116
3.23 Từng bước giải mật mã cho Trường hợp 3 với R = 3 117
3.24 Từng bước giải mật mã cho Trường hợp 4 với R = 3 118
Trang 133.25 Giải mật mã các bản mã được lựa chọn cho Trường hợp 4 với giá trị
của ac(r+1)(0) bằng với giá trị của cipher(r)(4N2), với R = 3 1193.26 Giải mật mã cho các bản mã được lựa chọn cho Trường hợp 4 với việc
thêm một vòng khuếch tán với R = 3 119
Trang 14Danh sách bảng
1.1 Mức độ quan trọng của bit ở các lớp khác nhau 26
2.1 Số bit biểu diễn dữ liệu 48
2.2 Giá trị của các tham số và số bit biểu diễn Npara 49
2.3 Thứ tự các bit được lựa chọn 49
2.4 Độ nhạy của khóa mật tính theo Cdr 51
2.5 Lượng tin trong ảnh bản mã 52
2.6 Trung bình của NP CR và UACI được tính toán với 100 ảnh 53
2.7 So sánh kết quả mạch điện tạo ra và kết quả từ Matlab 54
2.8 Tổng hợp các ký hiệu 60
2.9 Các hệ số tương quan tương ứng với các ảnh bản rõ và bản mã 65
2.10 Các đại lượng NP CR và UACI 66
3.1 Phát hiện giá trị bit trong b 81
3.2 Thời gian tấn công 92
3.3 Số vị trí bị thay đổi trong giải mật với R 100
3.4 Các vị trí và số lần xuất hiện 108
Trang 15MỞ ĐẦU
Sự phát triển của cơ sở lý thuyết động học bắt đầu từ giữa thế kỷ 17 với nghiên cứu vềphương trình vi phân của Newton đưa ra để mô tả cho luật chuyển động và vạn vật hấpdẫn Ban đầu, các phương trình đó dùng để giải thích cho chuyển động của hành tinhxung quanh mặt trời; sau đó nó dùng để mô tả định luật hấp dẫn giữa hai vật được tínhtoán giữa trái đất và mặt trời Các phương trình động học mô tả lực hấp dẫn của Newtonđược phát triển cho các hệ nhiều vật bởi các nhà toán học và vật lý sau này Những khókhăn trong việc mô tả chính xác hệ ba vật bằng các hệ phương trình vi phân ở thời kỳthời đó đã được mở ra dần kể từ cuối thế kỷ 19 bởi nhà khoa học người pháp tên là HenriPoincaré với các câu hỏi đặt ra và tìm câu trả lời cho mô tả bằng hình học Poincaré cũng
là người đầu tiên thấy có sự hỗn loạn (chaos) được sinh ra bởi hệ thống xác định, mà ở đó
hệ thống phụ thuộc vào điều kiện đầu và không thể dự đoán dài hạn
Các nghiên cứu về động học phi tuyến được thực hiện ở mức cơ bản trong phần đầucủa thế kỷ 20 Dao động phi tuyến được nghiên cứu và ứng dụng nhiều hơn trong vật lý
và kỹ thuật Các ứng dụng của dao động phi tuyến trong laser, thông tin, truyền sóng vôtuyến được đưa ra Từ nửa sau của thế kỷ 20 cho đến nay, hỗn loạn được nghiên cứurộng rãi và được đưa vào ứng dụng trong thực tế như phân tích tín hiệu, mật mã Lý dokhiến các lĩnh vực động học phi tuyến và hỗn loạn được nghiên cứu mạnh mẽ hơn là bởi
sự phát triển của máy tính tốc độ cao Các máy tính tốc độ cao được dùng để mô hình hóacho các hệ phương trình động học một cách dễ dàng hơn, điều mà trước đây không thểthực hiện được Cũng từ đó, các ứng dụng của động học phi tuyến vào các vấn đề thực tếcũng được quan tâm và phát triển Ở đây, cần chú ý rằng hỗn loạn là một trạng thái làmviệc của hệ thống động
Trong năm mươi năm trở lại đây, động học phi tuyến và hỗn loạn được các nhà khoahọc về toán lý phát triển và hình thành các công cụ dùng trong ứng dụng thực tiễn Cáchướng nghiên cứu về động học phi tuyến được thấy gồm: (i) phát triển các giải thuật ứngdụng xử lý tín hiệu vào các tín hiệu được sinh ra bởi các hệ thống phức tạp nhằm tìmhiểu và khai thác các đặc trưng của hệ thống động như dự báo (thời tiết, chỉ số chứngkhoán, ), nhận dạng hệ thống (nhận dạng tiếng nói, phát hiện bệnh qua tín hiệu y sinh ),(ii) tạo ra hệ thống động xác định từ các mạch điện tử, laser, hệ cơ khí nhằm tạo ra cácứng dụng từ đó, (iii) sử dụng tín hiệu được sinh ra từ các hệ thống động vào các mục đích
cụ thể như điều chế truyền tin, mật mã Trong hai thập kỷ trở lại đây, các hướng nghiêncứu ứng dụng hiện tượng hỗn loạn trong hệ động học phi tuyến vào mật mã được phát
Trang 16Trong mật mã học, nguyên tắc cơ bản được dùng để xây dựng các hệ mật mã nhằm
để đảm bảo tính mật của nội dung thông tin là dựa trên sự phức tạp của giải thuật mật
mã và giải mật mã, đồng thời dựa trên các tính chất của số học Các hệ mật mã được đưa
về nguyên tắc này để xem xét Hơn nữa, trong kỷ nguyên số, hầu hết các ứng dụng mật
mã được thực hiện trên các thiết bị số, do vậy độ dài của khóa mật được tính bằng bit vàthường được xem xét như năng lực chịu đựng tấn công vét cạn của hệ mật mã Cũng vẫntheo cách lý giải đó, mật mã ứng dụng hiện tượng hỗn loạn của hệ thống động1 là dựatrên sự phức tạp của hệ động học và sự phức tạp của giải thuật mật mã và giải mật mã.Tuy nhiên, sự phức tạp của hệ hỗn loạn được xem xét tương ứng với bên các tính chất của
số học
Luận án này đề cập đến nghiên cứu ứng dụng hiện tượng hỗn loạn của hệ thống độngcho mật mã ảnh Cụ thể các vấn đề liên quan đến xây dựng hệ mật mã và phân tích mãđược tập trung nghiên cứu
1 Mục tiêu, đối tượng và phạm vi nghiên cứu
Mục tiêu nghiên cứu:
• Nghiên cứu các phương pháp hình thành lên hệ mật mã ứng dụng hàm hỗn loạn.Khả năng chịu được các tấn công và các vấn đề liên quan đến đảm bảo tính mậtđược nghiên cứu Từ đó cho thấy các khả năng phát triển của mật mã hỗn loạn vàkhả năng ứng dụng để mật mã cho dữ liệu ảnh
• Từ các hiểu biết xung quanh các vấn đề của mật mã hỗn loạn, Luận án đề xuất ra hệmật mã hỗn loạn mới có khả năng chịu được các phương pháp tấn công và phù hợpcho thiết kế trên phần cứng
Đối tượng và phạm vi nghiên cứu: Qua thời gian tham khảo xu hướng phát triển,
Luận án đã đi đến lựa chọn đối tượng và phạm vi nghiên cứu như sau:
- Đối tượng nghiên cứu: Luận án được hạn chế và chỉ tập trung vào các hệ mật mã sửdụng các hàm hỗn loạn rời rạc theo thời gian Đề xuất ra hệ mật mã, giải thuật dùng chomật mã hỗn loạn và các giải thuật phân tích các hệ mật mã hỗn loạn
- Phạm vi nghiên cứu: Hệ mật mã được quan tâm trong Luận án này là các hệ mật mãđược xây dựng theo cấu trúc Unified, tức là cấu trúc gồm các lớp S (subsitution) và P(permutation), hay còn gọi là cấu trúc mạng hoán vị-thay thế (Substitution-PermutationNetwork: SPN) Các phương pháp đánh giá truyền thống được dùng để đánh giá hệ mật
1 Hệ mật mã được xây dựng dưa vào hệ hỗn loạn được gọi tắt là hệ mật mã hỗn loạn
Trang 17mã hỗn loạn có cấu trúc SPN nhằm xác định khả năng chịu đựng được các cơ chế tấncông cơ bản.
2 Phương pháp nghiên cứu
Luận án này được nghiên cứu dựa vào các phương pháp phân tích, mô phỏng số, vàđánh giá thống kê Trong đó,
• Phân tích lý thuyết được thực hiện với các hệ mật mã hỗn loạn đã được công bố bởicác nhà khoa học; từ đó xác định được các nội dung cần tập trung nghiên cứu để đềxuất được mô hình mới
• Nội dung nghiên cứu lý thuyết được thực hiện thông qua mô phỏng trên máy tínhbằng phần mềm Matlab phiên bản 2016, phần mềm Altera Quartus II phiên bản 13,
và phần mềm ModelSim phiên bản 6.0 để đưa ra được các kết quả phục vụ cho đánhgiá
• Phương pháp đánh giá thống kê được áp dụng nhằm chỉ ra hoạt động của các hệmật mã hỗn loạn được quan tâm và đưa ra các nhận định về khả năng chịu đựng tấncông
3 Tình hình nghiên cứu trong và ngoài nước
Tình hình nghiên cứu trong nước:
Hiện nay trong nước có một số nhóm nghiên cứu về mật mã theo cách tiếp cận truyềnthống, tức là dựa trên sự phức tạp về giải thuật và dựa trên các tính chất về số học Cácnhóm nghiên cứu chuyên sâu đó thuộc cơ quan chức năng quản lý về mật mã là Ban Cơyếu Chính phủ Ngoài ra, các cơ quan với chức quản lý về an toàn thông tin như Cục Antoàn thông tin - Bộ Thông tin và Truyền thông và Bộ Tư lệnh Tác chiến không gian mạng
- Bộ Quốc phòng Ngoài ra, có một số nhà khoa học thuộc các trường đại học tham gianghiên cứu mang tính học thuật theo hướng tiếp cận truyền thống Một số kết quả nghiêncứu mật mã và mật mã ảnh số theo cách tiếp cận truyền thống gồm [4, 5, 6, 7, 8]
Theo như hiểu biết của tác giả Luận án này, chỉ có duy nhất nhóm nghiên cứu củaPGS Hoàng Mạnh Thắng (người hướng dẫn khoa học của Luận án này) thuộc TrườngĐại học Bách khoa Hà nội tập trung nghiên cứu về hỗn loạn và ứng dụng trong bảo mật
và truyền tin Nhóm nghiên cứu này còn có các thành viên là PGS Nguyễn Xuân Quyền
và TS Tạ Thị Kim Huệ Các kết quả nghiên cứu về ứng dụng hỗn loạn trong mật mãđược đăng tải trên các tạp chí trong và ngoài nước duy nhất xuất phát từ nhóm nghiêncứu này [9, 10]
Trang 18Tình hình nghiên cứu ngoài nước:
Nghiên cứu về các hệ động học phi tuyến và ứng dụng để giải quyết các vấn đề thực tế
đã thu hút đông đảo các nhà khoa học trong cộng đồng nghiên cứu Lĩnh vực mật mã sửdụng các hệ hỗn loạn được nhiều nhóm nghiên cứu thực hiện Danh sách các nhóm lớnnghiên cứu về vấn đề này gồm: Nhóm nghiên cứu được dẫn dắt bởi GS Guanrong RonChen tại Đại học Thành phố Hồng Kông; Nhóm nghiên cứu của TS Arroyo Guarde˜noDavid thuộc đại học Universidad Autónoma de Madrid, và TS Gonzalo Alvarez thuộcHội đồng nghiên cứu quốc gia của Tây Ban Nha; Nhóm nghiên cứu gồm Hidayet O ˘GRAS¸
và Mustafa T ¨URK tại Đại học Batman, Thổ Nhĩ Kỳ; Nhóm nghiên cứu của GS Safwan
El Assad tại Đại học Nantes, Pháp; và nhiều nhóm nghiên cứu khác trên thế giới
Bằng cách dùng chức năng tìm kiếm theo từ khóa “chaotic cryptography” và “chaoticcryptosystems” trên trang Google Scholar đã cho thấy 27.900 và 16.100 kết quả liên quan,
mà phần lớn là các bài báo và sáng chế liên quan đến các từ khóa này Cụ thể, các kếtquả nghiên cứu về lĩnh vực ứng dụng hỗn loạn trong mật mã được công bố và cập nhậtthường xuyên trên các tạp chí khoa học chuyên ngành Các kết quả nghiên cứu chủ yếuđược đăng tải trên các tạp chí thuộc lĩnh vực toán ứng dụng, vật lý, xử lý tín hiệu, và điện
số học Cho đến nay, những cố gắng đó đã tạo ra nhiều hệ mật mã được công bố Tuynhiên, quá trình phát triển và những tranh luận vẫn đang tiếp diễn chưa có hồi kết về cácvấn đề liên quan như tạo hệ mật mã mới, khả năng chịu đựng tấn công, và tối ưu hóacác quá trình Thực tế cho thấy với mật mã theo cách tiếp cận cổ điển, sự đảm bảo mật
mã của ngày hôm nay không chắc chắn còn được đảm bảo ở ngày mai Chưa kể mật mãtheo hướng ứng dụng hỗn loạn vẫn còn đang trong giai đoạn đầu của quá trình phát triểnvới nhiều hấp dẫn Điều này tạo ra sự hấp dẫn và làm động lực nghiên cứu của Luận ánnày Còn một động lực quan trọng hơn, đó là những thách thức nghiên cứu Thách thứcnghiên cứu về mặt học thuật được đặt ra ở đây là thách thức về cách tiếp cận phù hợp với
xu hướng phát triển
Xu hướng phát triển theo quan điểm ứng dụng mật mã thường xuất phát từ nhữngnghiên cứu tạo ra các hệ mật mã dùng trên máy tính với đơn vị dữ liệu được tính bằng
Trang 19byte Trong quá trình phát triển, các nghiên cứu mở rộng ra các hệ mật mã phù hợp vớimạch điện tử với đơn vị dữ liệu được tính bằng bit Mật mã hỗn loạn hiện nay đang pháttriển theo hai hướng này Hơn nữa, khi các nghiên cứu tạo ra các hệ mật mã hỗn loạn rất
đa dạng Các nhà khoa học đi phân tích và tối ưu hóa để tạo ra các hệ mật mã phù hợpvới thực tế Nhằm đưa ứng dụng hệ mật mã hỗn loạn vào thực tế, việc nghiên cứu hệ mật
mã hỗn loạn ở mức bit cần phải được thực hiện làm cơ sở cho triển khai trên các hệ thốngmạch điện tử số Đây là động lực thứ nhất để phát triển thành Luận án này
Bên cạnh đó, phân tích mã là việc làm không thể thiếu, song song với tạo ra các hệ mật
mã Phân tích mật mã có cấu trúc mạng hoán vị-thay thế (SPN: Substitution-PermutationNetwork) được xây dựng dựa trên các hàm hỗn loạn với nhiều vòng lặp hầu như chưađược quan tâm Cho đến nay, số lượng các tấn công thành công vào hệ mật mã hỗn loạn
có cấu trúc SPN, theo hiểu biết của tác giả Luận án này, là chỉ có hai công trình đượccông bố [11, 12] Điểm đáng chú ý là hai công trình này chỉ thành công với hệ mật mãhỗn loạn có một vòng lặp Mặc dù công trình [11] được đăng tải năm 2010 và có đề cậprằng phương pháp đó có thể được mở rộng để phân tích các hệ mật mã nhiều vòng Tuynhiên, từ đó đến khi kết quả nghiên cứu của Luận án này công bố năm 2018, chưa có bất
kỳ công bố nào thực hiện phân tích hệ mật mã hỗn loạn có cấu trúc SPN nhiều vòng lặp.Đây cũng chính là những thách thức tạo thành động lực thứ hai cho việc nghiên cứu củaLuận án này
5 Những đóng góp của Luận án này
Hướng nghiên cứu mà Luận án lựa chọn là đề xuất ra các hệ mật mã làm việc ở mứcbit và đi phân tích mã Việc tạo ra hệ mật mã làm việc ở mức bit được xem như xu hướngtất yếu phù hợp với xu thế như đã đề cập trên Việc phân tích mã để chỉ ra những điểmyếu và cải tiến sao cho tốt hơn là công việc cần thiết Luận án dự kiến có các đóng gópđược nhóm thành hai cụm chính như sau:
• Đề xuất hệ mật mã hỗn loạn làm việc ở mức bit với các tác động lên đặc tính động
Hệ mật mã thứ nhất được hình thành dựa trên nguyên tắc cơ bản về tính chất phứctạp và không ổn định của hệ hỗn loạn khi có tác động vào tham số điều khiển của
hệ hỗn loạn Hệ mật mã thứ hai được đề xuất dựa trên ứng dụng hàm hỗn loạn Catcho hoán vị và Cat-Hadamard nhiều chiều cho quá trình khuếch tán
• Đề xuất phương pháp phân tích hệ mật mã hỗn loạn có cấu trúc SPN với một vònglặp mã và nhiều vòng lặp mã Quá trình phân tích sẽ chỉ ra lỗ hổng bảo mật của các
hệ mật mã hỗn loạn có cấu trúc SPN Từ các nhược điểm của hệ mật mã, các phương
Trang 20pháp đề xuất nhằm nâng cao khả năng bảo mật và chịu được các cơ chế tấn công cơbản.
6 Cấu trúc của Luận án
Luận án này gồm hai phần Phần đầu là Chương 1 có nội dung giới thiệu tổng quan
về hàm hỗn loạn và ảnh số cùng với các thuộc tính và đặc trưng của chúng Phần thứhai được trình bày trong hai chương tiếp theo, Chương 2 và Chương 3, tương ứng với haiphạm vi chính của mật mã, đó là đề xuất hệ mật mã và phân tích mã Cụ thể, cấu trúcLuận án này như sau:
Chương 1 Tổng quan về hàm hỗn loạn và ảnh số: Chương này trình bày tổng quan vềcác hàm hỗn loạn cùng với các thuộc tính được ứng dụng để hình thành các hệ mật mã.Ứng dụng các hàm hỗn loạn để tạo ra các chuỗi ngẫu nhiên cũng được trình bày ở đây.Hơn nữa, dữ liệu ảnh, cách biểu diễn và các đặc trưng của dữ liệu ảnh được trình bày Cácđặc trưng về dữ liệu ảnh được khai thác để hình thành các hệ mật mã làm việc hiệu quả
Từ các vấn đề cơ bản dẫn dắt đến các vấn đề mở cũng như động lực đi đến các đề xuấtđược trình bày ở các chương sau của Luận án
Chương 2 Mật mã ảnh ở mức bit ứng dụng kỹ thuật hỗn loạn: Các mô hình, cấu trúc,phương pháp chung về ứng dụng hỗn loạn để hình thành hệ mật mã được trình bày Nhữngcải tiến mới nhất của hệ mật mã ứng dụng hỗn loạn theo các hướng tiếp cận khác nhauđược đưa ra ở đây Các độ đo và các phương pháp đánh giá tính chất mật của hệ mật mãhỗn loạn được trình bày ở đây Trong đó, hai hệ mật mã hỗn loạn đề xuất được xem như
là đóng góp của Luận án cũng được trình bày trong Chương này
Chương 3 Phân tích mật mã hỗn loạn có cấu trúc SPN: Chương này trình bày cáchướng tiếp cận và các phương pháp phá vỡ an toàn của hệ mật mã hỗn loạn Các cách tiếpcận, phương pháp, và các kết quả mới nhất liên quan đến tính an toàn của mật mã hỗnloạn cũng được đưa ra Các vấn đề được nếu ra ở Chương này sẽ gợi ý cho người thiết kế
hệ mật mã hỗn loạn những điểm cần xem xét để khai thác, đồng thời tránh các bất lợi cóthể có trong thiết kế Các giải thuật, phương pháp phá vỡ an toàn đối với hệ mật mã hỗnloạn có cấu trúc SPN làm việc với một vòng lặp và nhiều vòng lặp, cùng với các ví dụminh họa được trình bày Chương này trình bày lỗ hổng bảo mật của hệ mật mã hỗn loạn
và được dùng làm cơ sở để đề xuất các phương pháp cải tiến nhằm nâng cao khả năngchịu đựng tấn công
Kết luận và hướng phát triển: Cuối cùng, nội dung và các kết quả đạt được, các đónggóp mới, và hướng phát triển được trình bày ở đây
Trang 21Chương 1 TỔNG QUAN VỀ HÀM HỖN LOẠN VÀ ẢNH SỐ
1.1 Giới thiệu
Mật mã được xem như một kỹ thuật trong lĩnh vực an toàn thông tin Nó được dùng chomục đích giữ kín thông tin và trong các trường hợp liên quan đến xác thực như chữ ký số.Những năm gần đây, thực tế ứng dụng trong môi trường mạng nhiều người dùng đòi hỏimật mã phải đáp ứng được tính đa dạng của dữ liệu trên quy mô rộng lớn và được truyềntải trên các thiết bị khác nhau [13, 14] Chính vì vậy, các hướng nghiên cứu về mật mãcũng được phát triển nhằm đa dạng hóa mật mã phù hợp cho các nhu cầu thực tế Với sựphát triển về công nghệ ảnh và nhu cầu sử dụng hình ảnh ngày càng tăng của con ngườidẫn đến lượng dữ liệu ảnh chiếm phần lớn trong các loại dữ liệu do người dùng sinh ra Từ
đó, mật mã cho ảnh rất được quan tâm trong những năm gần đây Dữ liệu ảnh là dữ liệu
có đặc trưng khác với dữ liệu thông thường bởi giá trị của các điểm ảnh lân cận nhau làgần giống nhau Hay nói cách khác, các điểm ảnh gần nhau có tương quan lớn Mặt khác,
dữ liệu ảnh là dữ liệu dạng khối Điều này cần có các nghiên cứu để tìm ra các thuật toánmật mã sao cho phù hợp với loại dữ liệu ảnh là rất cần thiết Trong Chương này, phần đầunói về tổng quan về mật mã và phân loại; phần sau trình bày ảnh và các đặc trưng dữ liệucủa ảnh, các hệ hỗn loạn và khả năng ứng dụng của chúng vào lĩnh vực mật mã
1.2 Mật mã hiện đại và phân loại
Mật mã hiện đại làm việc trên các chuỗi bit Nó dựa vào các thuật toán được biết côngkhai để mã hóa thông tin Tính chất mật đạt được chủ yếu dựa vào khóa mật được dùngtrong thuật toán Khó khăn trong tính toán các thuật toán, sự thiếu thông tin về khóamật, v v làm thất bại trong việc tấn công để thu nhận được thông tin cho dù có biết vềgiải thuật mã Như vậy, mật mã hiện đại chỉ yêu cầu giữ kín khóa mật, còn lại các thôngtin khác là công khai
1.2.1 Định nghĩa
Mật mã hiện đại được định nghĩa là một hệ gồm 5 tham số (P, C, K, E, D) với ý nghĩa
như sau [15]:
• P (plaintext): Tập bản rõ Tập hợp các bản rõ là tập hữu hạn các bản tin gốc cần mật
mã Nó là đầu vào cho quá trình mật mã và là đầu ra ở quá trình giải mật mã thành
Trang 22Mật mã học
Phân tích mã/thám mã Mật mã hóa
Hình 1.1: Phân loại nghiên cứu của mật mã học.
công
• C (ciphertext): Tập bản mã Tập bản mã là tập hợp hữu hạn các bản tin được tạo ra
ở đầu ra của quá trình mật mã
• K (Key): Tập khóa mật Tập khóa mật cũng là tập hợp hữu hạn các khóa, mà mỗi
thành phần của nó được dùng như dữ liệu đầu vào của quá trình mật mã và giải mã
Nó được dùng để mật mã bản rõ thành bản mã và giải bản mã thành bản rõ
• E (Encryption): Tập qui tắc mật mã Tập hữu hạn qui tắc thực hiện mật mã nhằm
biến đổi đầu vào thành bản mã
• D (Decryption): Tập qui tắc giải mật mã Tập các qui tắc được dùng để thực hiện tái
tạo lại bản rõ từ bản mã với sự góp thông tin từ khóa mật
Đối với mỗi khóa K ∈ K, ta có qui tắc mã hóa EK ∈ E và tương ứng với nó là một qui
Có một số cách phân loại trong mật mã như sau:
• Phân loại nghiên cứu về mật mã học được thấy trong Hình 1.1 gồm mật mã và phântích mã hay thám mã Mật mã là đi làm về đảm bảo an toàn cho dữ liệu Nói đếnmật mã là nói đến thiết kế các cơ chế mã dựa trên nền tảng là các giải thuật Ngượclại với mật mã là thám mã, thám mã đi xem xét cơ chế mật mã với mục đích chỉ ranhững khiếm khuyết liên quan đến an toàn thông tin và đồng thời kiểm tra được khảnăng của hệ mật mã được thiết kế
Trang 23(a) Mật mã khóa đối xứng
(b) Mật mã khóa bất đối xứng
Hình 1.2: Mật mã khóa đối xứng và bất đối xứng.
• Phân loại theo cách sử dụng khóa mật ta có mật mã khóa công khai (hay mật mãbất đối xứng) và mật mã khóa riêng tư (hay mã đối xứng) Hệ mật mã đối xứng là
hệ mật mã có khóa mật được dùng cho phía mật mã giống với khóa mật dùng ở bêngiải mật mã [15] Khóa mật này được giữ kín nhằm đảm bảo an toàn thông tin Các
hệ mật mã đối xứng gồm AES, DES, 3DES v v Ngược lại với mật mã đối xứng
là mật mã bất đối xứng Hệ mật mã bất đối xứng được hiểu là khóa mật của bênmật mã khác với khóa mật được dùng ở bên giải mật mã Một tên gọi khác của hệmật mã này là mật mã khóa công khai Hai khóa được dùng cho mật mã và giải mật
mã được gọi là khóa riêng tư (private key) và khóa công khai (public key) Thôngthường, khóa công khai được công bố mở cho bên thực hiện mật mã, và khóa riêng
tư được dùng để giải mật ở bên khôi phục thông tin Hệ mật mã bất đối xứng nổitiếng gồm ElGamal, RSA v v Sự khác nhau giữa hệ mật mã đối xứng và bất đốixứng được thấy trong Hình 1.2
Với hệ mật mã đối xứng, khóa mật cần phải được giữ kín Tuy nhiên, trong điều kiệnkhoảng cách, khóa mật cần phải được gửi từ bên mật mã sang bên giải mật qua môitrường với thuật toán trao đổi khóa như là Diffie-Hellman
Trong điều kiện thực tế của truyền thông, một hệ thống được sinh ra để quản lý và
Trang 24Dữ liệu bản rõ Cộng khóa Thay thế
Trộn tuyến nh
Dữ liệu bản mã Hoán vị
(a) Cấu trúc Unified
Khóa KiF(.)
Li-1 Ri-1
(b) Cấu trúc Feistel
Hình 1.3: Phân loại mật mã theo cấu trúc.
phân phối khóa được hình thành (PKI) cho hệ mật mã khóa công khai Luận án nàykhông đề cập đến hệ thống quản lý và phân phối khóa
• Phân loại dựa vào cách thức tiến hành mã hóa: Ta có mật mã dòng (stream cipher)
và mật mã khối (block cipher) Với mật mã dòng, luồng dữ liệu được di chuyển liêntục trong quá trình mật mã và giải mã Luồng dữ liệu được quan tâm là luồng bit kếthợp với phép toán logic XOR Hệ mật mã luồng nổi tiếng là RC4, A5/1, A5/2 v v.Ngược lại, mật mã khối thực hiện trên một khối dữ liệu và trong quá trình thực hiệnthì khối dữ liệu này được giữ tĩnh
• Phân loại mật mã khối theo cấu trúc ta có cấu trúc Feistel và cấu trúc Unified nhưđược thấy ở Hình 1.3 Cấu trúc Fiestel thực hiện chia dữ liệu thành hai nửa rồi mãhóa, sau đó đảo các nửa này Cấu trúc Unified hay còn gọi là cấu trúc SPN thực hiệnqua nhiều bước mà ở đó điển hình nhất là có bước hoán vị (permutation) và bướcthay thế (substitution) Quá trình mật mã có thể được lặp lại nhiều lần
• Phân loại mật mã theo nền tảng tiếp cận ta có một số cách tiếp cận như đưa ra ởHình 1.4 Ở đó, cách tiếp cận dựa vào tính chất phức tạp của đặc tính động của hàmhỗn loạn được xem như là hướng tiếp cận mới trong hai thập kỷ gần đây
• Phân loại theo đơn vị dữ liệu được thực hiện trong quá trình mã hóa như được thấytrong Hình 1.5 Dữ liệu được mã hóa có đơn vị là byte thường được thấy trong các
hệ thống máy tính Dữ liệu dạng bit thường được thấy với các mật mã luồng và trêncác phần cứng số Mật mã với đơn vị dữ liệu là chữ số được đề xuất gần đây [16]
Trang 25Mật mã học
Mật mã truyền thống Mật mã
1.3.1 Hệ hỗn loạn liên tục theo thời gian
Với các hệ liên tục theo thời gian được diễn tả bởi hệ phương trình vi phân như sau:
tả dễ dàng hoặc có thể được quan sát thấy theo một số cách khác nhau, như trên mạch
Trang 26điện tử tương tự [17], trên laser bán dẫn [18], hoặc trên các hệ cơ khí [19] Nhưng thực
tế, hệ mật mã liên tục theo thời gian được dùng trong các mô hình nhằm đảm bảo truyềnthông bảo mật Cho dù có khả năng sử dụng các hệ liên tục theo thời gian vào mục đíchmật mã, nhưng chúng không được cộng đồng nghiên cứu quan tâm cho mật mã dữ liệukhối Để dùng được với dữ liệu khối, trong một số nghiên cứu, các hệ hỗn loạn liên tụctheo thời gian được triển khai trên các hệ thống số với một số giả định xấp xỉ [20] Trongmột số thiết kế hệ mật mã hỗn loạn, các hàm liên tục được chuyển sang hệ hỗn loạn rờirạc theo một số cách khác nhau Một trong các cách đó là thực hiện so sánh giá trị củabiến trạng thái với các ngưỡng giá trị được đặt ra để chuyển về dạng rời rạc, ví dụ nhưtrong công trình [21]
Chuyển đổi từ giá trị số thực về giá trị số nguyên bằng cách dịch chuyển dấu phảy
về phía phải trong biểu diễn số dưới dạng dấu phảy cố định để có được các giá trị là sốnguyên Điều này tương đương với việc nhân giá trị với một số Rp; với R là cơ số dùng
để biểu diễn giá trị hỗn loạn và p là lũy thừa bằng với số vị trí dấu phảy cần dịch chuyển.Phương pháp này được thấy ở nhiều nghiên cứu gần đây [21]
Trong số các hàm hỗn loạn liên tục theo thời gian, có hàm hỗn loạn trễ thời gian, ở đócác giá trị của biến trạng thái được sinh ra trước đó được đưa quay trở về để tính toán chotrạng thái tương lai [22, 23] Một hàm hỗn loạn trễ được mô tả như sau
dx
với xτi là biến trạng thái được làm trễ một quãng thời gian τi, hay xτi = x(t − τi) Việcdùng các hàm hỗn loạn có trễ vào thiết kế mật mã là tương tự như các hàm hỗn loạn khác.Qua tham khảo nội dung các công trình được đăng tải cho thấy rất ít ứng dụng hệ hỗnloạn liên tục theo thời gian vào thiết kế mật mã khối
1.3.2 Hệ hỗn loạn rời rạc theo thời gian
Hàm hỗn loạn rời rạc theo thời gian là các hàm lặp trong quá trình nó hoạt động để tạo
ra các giá trị hỗn loạn về biên độ Một hàm rời rạc theo thời gian được mô tả bởi
Trong đó,Xnlà véctơ biến trạng thái có giá trị tại lần lặp n, hayXn = {x(i)n , x(i)n ∈ R, i =
1 m} với m biểu diễn cho số chiều (số phương trình trong hệ) Giá trị cho X0 thườngđược gọi là véctơ giá trị điều kiện đầu (IV: initial vector) Trong trường hợp m = 1, biếntrạng thái x(i)
n được ký hiệu là xn Dưới đây là các hàm hỗn loạn rời rạc được dùng trongmật mã hỗn loạn
Trang 27-1.5 -1 -0.5 0 0.5 1 1.5 -0.4
-0.3 -0.2 -0.1 0 0.1 0.2 0.3 0.4
Hình 1.6: Vùng hút của hàm Henon.
1.3.2.1 Hàm Logistic
Hàm Logistic được sử dụng rất phổ biến trong các ứng dụng mật mã, lý do là nó có cấutrúc rất đơn giản, dễ dàng thực hiện trên phần cứng và phần mềm Hàm Logistic đượcdiễn tả bởi biểu thức sau:
trong đó, xn là biến trạng thái ở lần lặp n và r là tham số điều khiển Biến trạng thái củahàm Logistic có phạm vi giới hạn giá trị là xn ∈ (0, 1) Hàm Logistic ở trạng thái hỗnloạn khi giá trị của tham số điều khiển 3, 57 ≤ r ≤ 4
Phạm vi giá trị biến trạng thái của hàm là (xn, yn) phụ thuộc vào tham số điều khiển a
và b Hàm Henon gốc tạo ra hỗn loạn với a = 1, 4 và b = 0, 3 Hàm Henon được điềuchỉnh để trở thành nhiều dạng khác nhau và mang nhiều đặc điểm khác nhau Hình 1.6cho thấy vùng hút (attractor) thể hiện quan hệ giữa xn và yn với a = 1, 4 và b = 0, 3.Hàm Henon được dùng nhiều trong các hệ mật mã hỗn loạn như được thấy ở nhiều công
bố gần đây [24, 25]
Trang 28(1.11)
Trang 29và trong trường hợp k = 3, H3 đối với hàm Cat-Hadamard 8 chiều, tương đương với
"
MN
#!
Trong đó, M và N tương ứng là những giá trị giới hạn trên cho xnvà yn Trên thực tế, cónhiều hệ mật mã dùng hàm Standard được biến đổi khác đi nhằm phù hợp với đặc điểmcủa hệ mật mã mong muốn như được thấy trong [29]
Trang 301.3.2.8 Hàm hỗn loạn không gian-thời gian
Hàm hỗn loạn được hình thành bằng cách ghép các hàm hỗn loạn khác trong miền khônggian và thời gian và được gọi là “spatiotemporal chaos” Cụ thể, hàm hỗn loạn ghépkhông gian-thời gian theo kiểu lưới ghép một chiều (CML) [32] như sau
x(k)n = (1 − ε)g(xkn) + εg(xk−1n ), (1.20)với ε ∈ (0, 1) là hệ số ghép; k biểu diễn cho chỉ số của hàm hỗn loạn được dùng để ghép;
x(k)n là biến trạng thái của lần lặp thứ n của node k Hàm g(.) là hàm hỗn loạn Cách hìnhthành không gian-thời gian thường được dùng để mở rộng hàm hỗn loạn và tăng mứcphức tạp một cách dễ dàng
1.4 Các thuộc tính của hàm hỗn loạn phù hợp cho ứng dụng trong mật mã
1.4.1 Các thuộc tính cơ bản
Các hệ thống hỗn loạn có các thuộc tính gồm: (i) sự phụ thuộc vào điều kiện đầu, (ii) Cótập hợp các điểm mật độ dày với các quĩ đạo tuần hoàn, và (iii) có cấu trúc chuyển dịchliên kết Định nghĩa và cách thức đánh giá về các thuộc tính này được trình bày trong [33].Thông số được dùng để đánh giá mức độ phụ thuộc vào điều kiện đầu của hàm hỗn loạn
đó là hệ số lũy thừa Lyapunov Hệ số lũy thừa Lyapunov âm (<0) thể hiện hệ thống đang
ở trạng thái ổn định; hệ số này bằng 0 thì hệ dao động có chu kỳ; hệ số này dương (>0)cho thấy rằng hiện tượng hỗn loạn tồn tại ở hệ thống động Sự phụ thuộc điều kiện đầucủa hàm hỗn loạn Logistic có thể được thấy trong Hình 1.7 Ở đó, hai điều kiện đầu lần
Trang 310 5 10 15 20 25 30 35 40
n
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
xn
x0=0,123
x0=0,12300000005
Hình 1.7: Phụ thuộc điều kiện đầu của hàm Logistic với r = 4, 0.
Hình 1.8: Hệ số Lyapunov của hàm Logistic phụ thuộc vào r.
lượt là x0 = 0, 123 và 0, 12300000005 sẽ tạo ra các giá trị khác nhau hoàn toàn sau 28lần lặp Việc tính hệ số Lyapunov λ được minh họa trong Hình?? với sự sai khác điều
kiện đầu δ(0), sau các lần lặp, sai khác này sẽ là δ(i) Hệ số Lyapunov được tính theotrung bình các sai khác đó trên N lần lặp như sau
λ= lim
N→∞
1N
r >3, 56
Các bước tính toán Lyapunov cho trường hợp tổng quát và cho dữ liệu thực nghiệmđược trình bày trong [33, 34]
Trang 32Hình 1.9: Đồ hình phân nhánh của hàm Logistic phụ thuộc vào r.
Thuộc tính tập hợp các điểm mật độ dày với các quĩ đạo có chu kỳ được hiểu thôngqua đồ hình phân nhánh của hàm hỗn loạn Đồ hình phân nhánh (bifurcation) được vẽ ravới sự phụ thuộc vào tham số điều khiển Hình 1.9 cho thấy đồ hình phân nhánh của hàmLogistic Ở đó, khi vực phân bố dày đặc các quĩ đạo có chu kỳ cho thấy tồn tại hỗn loạnứng với giá trị của tham số điều khiển tương ứng
Thuộc tính cấu trúc đồ hình liên kết (topologically transitive hay topological mixing)được đề cập đến lần đầu tiên bởi G D Birkhoff năm 1920 Tính chất này được phát biểu
là hàm hỗn loạn f : X → X được gọi là có cấu trúc đồ hình liên kết nếu như có mọi cặpkhông rỗng mở, ký hiệu là A, B ∈ X, thì tồn tại một số nguyên n sao cho fn(A)∩B 6= ∅
Ở đó, fnlà lặp n lần hàm f Khái niệm này có thể hiểu được rằng phạm vi của biến trạngthái được hàm hỗn loạn đi đến nhiều lần
Tất cả các thuộc tính nêu trên đã được chứng minh và làm rõ trong các tài liệu nghiêncứu chuyên sâu về hỗn loạn
1.4.2 Các tham số và tính chất của hàm hỗn loạn dùng trong mật mã
Trước khi đề cập đến ứng dụng hàm hỗn loạn vào mật mã, các hàm hỗn loạn phổ biến đãđược chứng minh rằng có đầy đủ các thuộc tính như trình bày trong phần trước Việc ứngdụng hàm hỗn loạn được dựa trên các yếu tố có lợi để hình thành mật mã, cụ thể là khaithác tính chất phân bố đều của giá trị của biến trạng thái được tạo ra từ hàm hỗn loạn(biến trạng thái) và các tham số của hàm hỗn loạn Các thuộc tính trên của hàm hỗn loạn
đã đưa lại một đặc điểm vô cùng quan trọng đối với hàm hỗn loạn, đó là khả năng khôngthể dự đoán dài hạn trạng thái của hàm hỗn loạn Đặc điểm này làm cho hàm hỗn loạnphù hợp với ứng dụng vào mật mã
Với một hàm hỗn loạn rời rạc được cho như trong biểu thức (1.5), hàm hỗn loạn tạo
ra giá trị của biến trạng thái (X ) Các tham số có thể tác động vào hàm hỗn loạn chính
Trang 330 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0
100 200 300 400 500 600
Giá trị của X n
Hình 1.10: Phân bố của chuỗi giá trị được tạo từ hàm Logistic.
là các điều kiện đầu (X0), tham số hệ thống, số lần lặp n Các giá trị của biến đầu ra củahàm hỗn loạn được dùng để tạo ra các chuỗi số và các chuỗi bit giả ngẫu nhiên cho quátrình mật mã Việc áp đặt giá trị vào các tham số của hàm hỗn loạn được hiểu như tácđộng vào đặc tính động của hàm hỗn loạn Các tham số được tác động sẽ tạo ra giá trịcủa biến trạng thái và giá trị ấy được dùng cho quá trình mật mã
0 20 40 60 80 100 120 140
Giátrịy n
(b) Phân bố của y n
Hình 1.11: Phân bố của chuỗi giá trị được tạo từ hàm Henon với a = 10 và b = 50.
Ví dụ hàm Logistic được lặp nhiều lần để lấy giá trị của biến trạng thái xn dùng trongquá trình tạo ra chuỗi giả ngẫu nhiên Chuỗi giả ngẫu nhiên đó được biến đổi và dùng đểhình thành nên ma trận chuyển vị các điểm ảnh Tuy nhiên, tham số điều khiển r cũngđược dùng cho các lần tạo ra chuỗi giá trị giả ngẫu nhiên khác nhau cho các lần mật mãkhác nhau Hơn nữa, với mỗi giá trị được tạo ra từ hàm hỗn loạn chỉ được giữ lại sau n
Trang 34lần lặp Giá trị của các tham số này hình thành nên khóa mật, không gian giá trị của cáctham số này hình thành nên không gian khóa Trong nghiên cứu [35], S Lian chỉ ra rằnghàm Standard có không gian khóa lớn nhất.
Một trong các tính chất quan trọng của chuỗi giá trị được tạo ra từ hàm hỗn loạn đó
là tính phân bố đều của chuỗi giả ngẫu nhiên Tuy nhiên không phải luôn luôn hàm hỗnloạn tạo ra các chuỗi có phân bố đều Ví dụ, trong Hình 1.10 cho thấy phân bố giá trị của
10000 giá trị xnhàm Logistic được tạo ra với r = 4, 0 và x0 = 0, 123 Ta thấy rằng, phân
bố giá trị được tạo ra bởi hàm Logistic là không đồng đều, tỷ lệ giá trị nằm ở gần 0 và 1nhiều hơn các giá trị khác Hình 1.11 cho thấy phân bố tương đối đều của chuỗi 10000giá trị xn và yn được tạo ra bởi hàm Henon sau khi được chuẩn hóa về (0, 255)
Trong một số trường hợp, do chọn tham số hoặc do hàm hỗn loạn đã tạo ra phân bốgiá trị của các biến đầu ra không đều Ví dụ như sự không đồng nhất ở phân bố của hàmLogistic Trong những trường hợp đó, việc biến đổi giá trị đầu ra là cần thiết để có đượccác đặc tính tốt hơn trong ứng dụng mật mã Có hai cách có thay đổi hàm Logistic Đó
là tạo ra sự biến đổi tham số điều khiển r như được thấy ở [36, 37], và tạo ra sự thay đổitrong biến hỗn loạn xn như được thấy trong [38] Trong một số nghiên cứu khác, các hàmLogistic được ghép lại với nhau để tạo ra sự phức tạp như được thấy ở [39, 40] Các công
bố gần đây cho thấy, hàm Logistic vẫn được sử dụng nhiều trong mật mã
1.5 Tạo chuỗi ngẫu nhiên dùng hàm hỗn loạn
Trong thực tế, có một số cách dùng các hệ hỗn loạn vào mật mã Cách thứ nhất, các giá trịtạo ra từ hàm hỗn loạn được dùng như là một chuỗi giả ngẫu nhiên cho việc mật mã [26].Cách thứ hai là ứng dụng đặc tính động của hàm hỗn loạn trong quá trình mật mã và giảimật mã thông qua tác động/điều chế lên véctơ điều kiện đầu (IV) và/hoặc vào các tham
số điều khiển [36] Tác động được ở đây được hiểu là làm thay đổi giá trị biến trạng tháihoặc thay đổi giá trị của tham số điều khiển Ở giai đoạn đầu nghiên cứu về mật mã hỗnloạn, các chuỗi hỗn loạn được tạo ra và ứng dụng Những năm sau này, đặc tính động họccủa hệ hỗn loạn được khai thác cho mật mã
Trong các hệ mật mã, chuỗi ngẫu nhiên được tạo ra từ một giá trị ban đầu đã được biếttrước, được gọi là giá trị khởi tạo (IV) Chúng được dùng trong cả mật mã dòng và mật
mã khối Chuỗi giả ngẫu nhiên được tạo ra đó dùng trực tiếp vào quá trình mật mã thôngqua quá trình trộn với bản rõ theo biểu thức nào đó để xóa bỏ cấu trúc thống kê của bản
rõ Theo phương pháp cổ điển được dùng nhiều trong các nghiên cứu có sử dụng chuỗibit giả ngẫu nhiên, các chuỗi được tạo ra bằng cách dùng các thanh ghi dịch hồi tiếp tuyếntính (LFSR) [41] Ví dụ như được dùng cho mật mã như được đưa ra ở [42] Hình 1.12
Trang 35mô tả cấu trúc của một LFSR thực hiện theo hàm P (x) = x8+ x6+ x5+ x4+ 1 để tạo
ra chuỗi bit giả ngẫu nhiên Các nghiên cứu gần đây cho thấy, việc dùng LFSR là khôngđảm bảo an toàn bảo mật bởi chu kỳ chuỗi được tạo ra có chiều dài hạn chế [43, 44].Trong những nghiên cứu gần đây, chuỗi giả ngẫu nhiên có thể được tạo ra từ cáchàm hỗn loạn Nó dựa trên các đặc trưng của các hàm hỗn loạn như nhạy với điều kiệnđầu/tham số điều khiển, khả năng dự đoán tương lai dài là không thể,.v v [45] Dựa trêncác tính chất này, các bộ tạo dãy số giả ngẫu nhiên dùng hỗn loạn được đề xuất với cáccấu trúc khác nhau và được ứng dụng vào bảo mật [37, 46, 47]
1.5.1 Tạo chuỗi bit ngẫu nhiên
Để tạo ra chuỗi giả ngẫu nhiên, hàm hỗn loạn sẽ được lặp và tạo ra một chuỗi các giá trịthu nhận được từ biến trạng thái,X = {Xn ∈ R, n ∈ N} Sau đó, các giá trị này đượcbiến đổi theo một số cách khác nhau để thu nhận được chuỗi bit giả ngẫu nhiên Tuynhiên, trong một số nghiên cứu khác lại dùng phép lặp và được điều khiển theo quy luật
để tạo ra chuỗi bit ngẫu nhiên Điển hình của phương pháp dựa vào giá trị để tạo ra chuỗibit ngẫu nhiên gồm:
• Phương pháp 1: Giá trị Xn của biến trạng thái được sinh ra qua quá trình lặp cáchàm hỗn loạn Nó được so sánh với một ngưỡng biết trước Tùy theo giá trị của Xnlớn hơn hay nhỏ hơn ngưỡng mà bit được tạo ra là “0” hay “1” Phương pháp nàyđược thấy trong nhiều nghiên cứu như của Q Wang [48, 49]
• Phương pháp 2: Tạo ra chuỗi bit giả ngẫu nhiên thông qua các phép lặp của đượcthực hiện dựa trên một chuỗi số biết trước và kết hợp với các phép XORshift như
được đề xuất bởi [46, 50] Khái niệm chaotic iteration được định nghĩa ở đây là phép
lặp và cập nhật giá trị dựa vào những điều kiện cho trước Điều kiện là sự kết hợpgiữa những gì được đặt ra và với phép lấy phần sau dấu phảy của một tham số nào
đó như thời gian lúc thực hiện chẳng hạn Việc tạo ra chuối bit giả ngẫu nhiên nàytương đối phức tạp và sẽ rất khó khăn khi thực hiện trên phần cứng
• Phương pháp 3: Chuỗi bit được tạo ra bằng cách ghép các bit từ các giá trị nhậnđược ở đầu ra của hàm hỗn loạn sau mỗi phép lặp Điển hình như được thấy trong
Trang 36công trình của T Xiang et.al [51] Chuỗi bit được tạo ra được chứng minh là có tínhchất thống kê rất tốt (phân bố đều, xuất hiện ngẫu nhiên).
• Phương pháp 4: Từ thực tế đánh giá cho thấy các giá trị được tạo ra từ hàm hỗn loạnđược chứng minh là có tính chất thống kê rất tốt Do vậy, các giá trị hỗn loạn đượcbiểu diễn dưới dạng dấu phảy tĩnh và chúng được dùng để tạo ra chuỗi bit giả ngẫunhiên thông qua việc lấy các bit sau dấu phảy của giá trị hỗn loạn được tạo ra đó.Phương pháp này được thấy trong nghiên cứu của Kohda [52, 53]
Đó là các phương pháp cơ bản để tạo ra chuỗi giả ngẫu nhiên Dưới đây là các phươngpháp tạo ra chuỗi số ngẫu nhiên
1.5.2 Tạo chuỗi số giả ngẫu nhiên
Từ quá trình lặp hàm hỗn loạn, các giá trị hỗn loạn ở dạng số thực được sinh ra Chuỗicác giá trị hỗn loạn này được dùng để tạo ra chuỗi số nguyên giả ngẫu nhiên để dùngtrong mật mã ảnh theo một số cách khác nhau như sau
• Phương pháp 1: Trong nhiều nghiên cứu ứng dụng hỗn loạn vào mật mã, các chuỗigiá trị được sinh ra từ hàm hỗn loạn là các số thực Xn Sau đó Xnđược chuyển sang
số nguyên thông qua biểu thức
• Phương pháp 2: Tạo chuỗi giá trị giả ngẫu nhiên dựa vào hàm hỗn loạn bị tác động
từ bên ngoài bởi giá trị đầu ra của thanh ghi dịch hồi tiếp tuyến tính (LFSR) nhằmtạo ra sự bất định Phương pháp này được đưa ra bởi Hassan Noura [1, 57, 58] Sơ
đồ cấu trúc bộ tạo chuỗi giá trị ngẫu nhiên như được đưa ra ở Hình 1.13 trong [1] Ở
đó, Xi(n − 1) và Xn(i ∈ [1, 3]) là các biến trạng thái; LF SRilà các thanh ghi dịchhồi tiếp tuyến tính; khối tạo ra tham số thực hiện việc kết hợp các biến trạng thái đểhình thành các chuỗi Ksj và KPj được dùng như là khóa mật trong mật mã
• Phương pháp 3: Tạo chuỗi giá trị giả ngẫu nhiên có thể được tạo ra trực tiếp từ hàmhỗn loạn Cách thứ nhất là sắp xếp dãy Xntheo thứ tự tăng dần hoặc giảm dần và tạo
ra chuỗi mới X′ Chỉ số vị trí của các giá trị trong chuỗi cũ bị thay đổi để hình thành
Trang 37Tạo các tham số
Hình 1.13: Bộ tạo chuỗi số dùng hàm hỗn loạn (nguồn: [1])
nên chuỗi mới Chuỗi vị trí mới này chính là một dãy giả ngẫu nhiên [59] Thôngqua các phép toán thao tác với các biến trạng thái được tạo ra từ hàm hỗn loạn Xnkết hợp với hàm mod(.) như ở Phương pháp 1, chuỗi số giả ngẫu nhiên cũng đượctạo ra [60] Một số cách khác có thể được tham khảo ở các công trình [28, 61].Trong các nghiên cứu tạo chuỗi bit và chuỗi giá trị hỗn loạn, các phép kiểm tra theo chuẩnNIST (Chi-test) đều được thực hiện Kết quả các phép kiểm tra thông qua tiêu chuẩn củaNIST [62] cho thấy, tất cả các chuỗi bit và các chuỗi giá trị hỗn loạn được tạo ra trong cácnghiên cứu đều thỏa mãn tính chất ngẫu nhiên và có thể được dùng cho ứng dụng trongmật mã
1.6 Ảnh số và các đặc điểm
1.6.1 Biểu diễn ảnh số
Dữ liệu ảnh hiện nay được dùng rất phổ biến trên mọi lĩnh vực Phần lớn ảnh được lưutrên máy tính đã được số hóa Ảnh được hiển thị với gốc tọa độ (x, y) = (0, 0) nằm ở phíatrên bên trái Kích thước của ảnh được tính bằng số điểm ảnh theo hàng và cột; thườngđược ký hiệu là M hàng và N cột
Ảnh số được biểu diễn với hai cấu trúc dữ liệu chính là véctơ và ma trận các điểm ảnh(ảnh raster) Cấu trúc dữ liệu của ảnh ở dạng véctơ (hay còn gọi là ảnh véctơ) là ảnh màcác đối tượng rời rạc trong ảnh được biểu diễn bởi các điểm, các đường cong, các vùngđược điền đầy Các thành phần biểu diễn cho ảnh véctơ được đánh mã Ví dụ, ảnh đượcđưa ra ở Hình 1.14(a) được biểu diễn cấu trúc dữ liệu dưới dạng véctơ
Đối với ảnh raster, các ma trận các điểm ảnh được ghép lại để tạo thành hình ảnh Mỗiđiểm ảnh được biểu diễn bởi một giá trị thể hiện cho mức độ xám hoặc mức màu Ảnhraster biểu diễn ảnh màu và ảnh mức xám (grayscale) như được thấy trong Hình 1.14(b).Mỗi điểm ảnh trong ảnh mức xám được biểu diễn bởi một số bit, thể hiện cho giá trị mứcxám của điểm ảnh Ảnh mức xám được biểu diễn bởi k bit thì giá trị nhỏ nhất (0) là mức
Trang 38(a) Ảnh véctơ (b) Ảnh raster
Hình 1.14: Ảnh được biểu diễn dưới dạng véctơ và raster (nguồn: [2]).
Hình 1.15: Mô tả các lớp bit của ảnh mức xám 8 bit.
xám của màu đen, giá trị lớn nhất (2k − 1) là mức xám của màu trắng Với ảnh màu,không gian màu mã theo một số cách khác nhau, như RGB, YCbCr, và HSV v Các biểuthức chuyển đổi tương đương giữa các hệ màu được dùng trong nhiều trường hợp [63].Ngoài ra, các ảnh còn được nén nhằm giảm bớt thông tin cho lưu trữ cũng được dùng
Ở đây xem xét ảnh mức xám I thường được biểu diễn bởi k bit có kích thước với Mhàng và N cột điểm ảnh, tức là kích thước của M × N Giá trị của điểm ảnh tại vị trí(x, y) trong ảnh là p(x, y) và được biểu diễn bởi 8 bit (k = 3) Điểm ảnh p(x, y) đượcbiểu diễn dưới dạng bit là p(x, y) =kk
i=0 bi (bi ∈ {0, 1} và k là toán tử ghép vị trí bit) vàgiá trị là v(x, y) = Pk−1
i=0 bi.2i Ở đó, bk−1và b0tương ứng là các bit trọng số lớn nhất vàtrọng số thấp nhất Như vậy, ảnh mức xám k bit được xem như là có k lớp bit như ví dụđược mô tả trong Hình 1.15 Ảnh I được mô tả bởi
1.6.2 Các đặc trưng của dữ liệu ảnh
Với ảnh được chụp tự nhiên, các điểm ảnh lân cận nhau có giá trị gần bằng nhau Đây làđặc trưng quan trọng của ảnh số được dùng để xem xét tạo ra các hệ mật mã phù hợp với
Trang 390 50 100 150 200 250
lags -0.2
0 0.2 0.4 0.6 0.8
Chuỗi ngẫu nhiên ACF dòng điểm ảnh 120 ACF dòng điểm ảnh 10 ACF dòng điểm ảnh 240
Hình 1.16: Hàm tự tương quan của các điểm ảnh trên cùng một dòng điểm ảnh.
(a) Ảnh gốc Lena 8
bit mức xám (b)Ảnh lớp bit thứ 8 (c)Ảnh lớp bit thứ 7 (d) Ảnh lớp bit thứ 6 (e)Ảnh lớp bit thứ 5
(f) Ảnh lớp bit thứ 4 (g) Ảnh lớp bit thứ 3 (h) Ảnh lớp bit thứ 2 (i) Ảnh lớp bit thứ 1
Hình 1.17: Ảnh các lớp bit.
dữ liệu Hình 1.16 cho thấy hàm tự tương quan của ba hàng điểm ảnh có chỉ số 10, 150,
và 240 lấy từ ảnh Lena kích thước 256 × 256 Các hàm tự tương quan này được so sánhvới chuỗi ngẫu nhiên có kích thược 256 giá trị nằm trong khoảng 0-255
Trong nghiên cứu [61], thông tin về ảnh được đánh giá là tập trung ở mặt phẳng các bit
dữ liệu cao Hình 1.17 cho thấy rõ sự quan trọng của các lớp bit cao Ở các lớp bit thấp,ảnh không còn mang nhiều thông tin và trông như ảnh nhiễu ngẫu nhiên Mức độ quantrọng hay ý nghĩa của bit đóng góp lượng thông tin vào điểm ảnh được tính như sau [61]
Trang 40Bảng 1.1: Mức độ quan trọng của bit ở các lớp khác nhau.
Lớp bit % toàn bộ thông tin của một pixel
Từ các kết quả phân tích đặc trưng của dữ liệu ảnh tự nhiên như nói trên, các hệ mật
mã được đề xuất về sau này có xem xét đến đặc trưng của dữ liệu ảnh Chương 2 củaLuận án này đề xuất hệ mật mã ứng dụng kỹ thuật hỗn loạn dựa trên những đặc trưng của
dữ liệu ảnh nhằm tăng hiệu quả quá trình mã hóa
1.7 Kết luận
Trong Chương này đã trình bày tổng quan các nội dung cơ bản của mật mã và phân loạimật mã, các hàm hỗn loạn, và ảnh số cùng với các đặc trưng Các hàm hỗn loạn có cácđặc trưng về đặc tính động đã được nghiên cứu nhiều năm nay Việc ứng dụng các hàmhỗn loạn vào mật mã được xem xét xoay quanh khả năng tác động vào giá trị các biếnhỗn loạn Các hàm hỗn loạn được dùng để tạo ra các chuỗi giả ngẫu nhiên theo một sốcách khác nhau Các chuỗi này có thể được dùng trong các quá trình mật mã trong các đềxuất trước đây
Trong phần lớn các hệ mật mã hỗn loạn được đề xuất từ nhiều năm nay chưa đề cậpđến đặc trưng liên quan đến dữ liệu ảnh Thực tế, ứng dụng hỗn loạn vào thiết kế hệ mật
mã là một hướng còn mới và vẫn còn rất nhiều tranh luận trên các diễn đàn khoa học.Phần lớn các nghiên cứu hiện nay tập trung vào mật mã dữ liệu ảnh, một số ít đề xuất mật
mã cho dữ liệu âm thanh, giọng nói Điều này cho thấy khả năng phát triển ứng dụng hỗnloạn cho mật mã vẫn còn nhiều nhiều triển vọng Chương 2 của Luận án trình bày chi tiết
về các hướng tiếp cận của mật mã ứng dụng kỹ thuật hỗn loạn và các đề xuất của Luận
án này