Lớp bit % toàn bộ thông tin của một pixel
1 0 3922. 2 0 7843. 3 1 5686. 4 3 137. 5 6 275. 6 12 55. 7 25 10. 8 50 20.
của Luậ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ại mậ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àm hỗ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ến hỗ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ế
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
tr iển ứng dụng hỗn loạn cho mật mã vẫn còn 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
Chương 2 MẬT MÃ ẢNH Ở MỨC BIT ỨNG DỤNG KỸ THUẬT HỖN LOẠN 2.1 Giới thiệu
Những năm gần đây, hệ mật mã ứng dụng hỗn loạn được nghiên cứu rộng rãi với hàng
loạt các đề xuất [76]. Như được phân loại trong Chương 1, mật mã hỗn loạn được
tạo ra có sự tham gia b ởi hệ thống hỗn loạn và khả năng bảo mật dựa vào sự phức
tạp trong việc mật mã. Đây là cách tiếp cận kh ác so với các tiếp cận mật m ã truyền
thống dựa trên sự phức tạp về số học [77]. Những ưu điểm khi sử dụng hỗn loạn so
với phương pháp truyền thống là sự đơn giản trong thiết kế và không gian khóa có thể
được thay đổi dài ra hoặc ngắn lại dễ dàng. Nhưng nhược điểm đối với hệ mật mã hỗn
loạn được biết cho đến nay là còn thiếu những chứng minh tường minh về khả năng chịu đựng được các tấn công [78, 79]. Tuy nhiên, các nghiên cứu đã và đang được
theo đuổi nhằm tạo ra hệ mật mã h ỗn loạn tin cậy và có khả năng ứng dụng thực tế. Trong những năm đầu của phát triển mật mã hỗn loạn, các hệ mật mã hỗn loạn
được đề xuất chủ yếu nhằm vào các ứng dụng trên nền tảng máy tính, tức là ở đó, đơn
vị dữ liệu nhỏ nhất được tính bằng byte. Đã có hàng trăm công trình đăng tải với các
giải thuật nhằm tạo ra phần mềm trên máy tính. Trong năm năm trở lại đây, việc mật
mã hỗn loạn đã được nghiên cứu theo hướng ứng dụng trên các phần cứng số, ở đó
đơn vị dữ liệu được xem xét theo bit. Đã có hàng chục bài báo đăng tải các mô hình
và giải thuật thực hiện trên đơn vị là bit, ví dụ như [80, 81, 82, 83]. Khi xét từng bit
dữ liệu đồng nghĩa là giải thuật mật mã can thiệp sâu nhất vào dữ liệu, do đó việc mật
mã sẽ nhanh đạt được các tiêu chí bảo mật hơn. Tuy nhiên, các giải thuật này chỉ đạt
được h iệu quả tối đa đúng với cách thức xử lý dữ liệu dạng bit khi chúng được thực
hiện trên phần cứng số. Một công bố rất gần đây và là duy nhất cho đến thời điểm này
thực hiện nghiên cứu với việc xem xét đơn vị dữ liệu là chữ số (digit) được công bố
cuối năm 2018 [16]. Tuy là công trình mới, nhưng khi xét đến đơn vị là chữ số sẽ đòi
hỏi việc tính toán nhiều hơn bởi các phép tách chữ số rời nhau. Ví dụ như điểm ảnh
có giá trị là 152 thì hệ mật mã coi như có ba chữ số là “1”, “5” và “2”.
Một hệ mật mã gồm hai quá trình độc lập nhưng có liên quan đến n hau, đó là quá
tr ình mật mã và giải mật. Sự liên quan giữa hai quá trình này được thể hiện qua giải
hệ mật mã hỗn loạn, các quá trình này được được thực hiện với sự tham gia của hàm
hỗn loạn theo một số cách khác nhau. Bên cạnh đó, các đặc trưng thống kê với các
lớp bit của ảnh tự nhiên được phân tích trong nghiên cứu [61] nhằm tận dụng ưu điểm
cho mật mã. Gần đây, các đặc trưng này được xem xét để thiết kế hệ mật mã.
Chương này trình bày các phương p háp tiếp cận và cấu trúc của hệ mật mã loạn
ứng dụng hàm hỗn loạn. Luận án giới hạn vấn đ ề xem xét ở các hệ mật mã đối xứng
với cấu trúc thay thế-hoán vị (SPN: sub titution-p ermutation network) và ứng dụn g các hàm hỗn loạn rời rạc theo thời gian .
Chương này cũng trình bày đóng góp của Luận án trong việc đề xuất các hệ mã mật
mới làm việc ở mức bit. Phương pháp tác động lên đặc tính động của hàm hỗn loạn
Logistic được thực hiện cho cả quá trình hoán vị điểm ảnh và quá trình khuếch tán.
Việc tác động được thực hiện bằng cách thay đổi g iá trị của tham số điều khiển một
cách thường xuyên ở mức bit trong quá trình mật mã và giải mật mã. Kết quả mang lại
là đặc tính động của hàm Logistic trở lên không ổn định, và nó giúp chịu đựng được các tấn công thống kê. Hơn nữa, không gian khóa được mở rộng đáng kể. Thêm vào
đó, phương pháp cân bằng phân bố bit được đề xuất nhằ m tăng các đặc tính thống kê
của dữ liệu văn bản mã hóa. Nội dung đề xuất này được trình bày trong bài báo [J3].
Hệ mật mã hỗn loạn thứ hai được đề xuất cũng làm việc ở mức bit cho dữ liệu ảnh.
Các hàm hỗn loạn Cat và Cat-Hadamard nhiều chiều được dùng trong quá trình hoán
vị và khuếch tán dữ liệu ảnh. Nộ i dung đề xuất này được trình bày trong bài báo [C1].
2.2 Mô hình mật m ã cấu trúc SPN
Giải thuật mật mã dựa trên hỗn loạn đã và đang được nghiên cứu n hằm để mật mã cho ảnh và video rất phổ biến [76, 84]. Các nghiên cứu phương pháp m ật mã ảnh sử dụng hỗn loạn cần đáp ứng được các điều kiện và h ướng đến tối ưu tốc độ mã,
giảm chi phí về tài nguyên tính toán mà vẫn đảm bảo khả năng bảo mật trước các khả
năng bị thám mã bằng các phương pháp được dùng phổ biến [78]. Theo lý thuyết của Shannon [85], các yêu cầu chung đối với phương pháp mật mã ảnh dùng hỗn loạn cần
phải có các thuộc tính về sự phụ thuộc của văn bản mã hóa (ciphertext) vào văn bản
trơn (plaintext) và khóa (keys). Các thuộc tính đó là tạo ra sự lẫn lộn (confusion) và
khuếch tán (diffusion ). Tính chất lẫn lộn được hiểu là sự phụ thuộc của một đơn vị dữ liệu trong văn bản mã hóa vào nhiều phần của khóa. Tính chất khuếch tán bên mật
mã có được khi thỏa mãn điều kiện khi có sự thay đổi một đơn vị dữ liệu trong văn
bản trơn sẽ làm thay đổi lên ít nhất một nửa số đơn vị dữ liệu trong văn bản mã hóa.
key schedu ngli Xáo Thay np nr n Bản mã Bản rõ Khóa mật Hình 2.1: Mật mã có cấu trúc SPN dùng hỗn loạn.
thay đổi ít nhất một nửa số ký hiệu trong văn bản trơn sau khi giải mật. Hệ mật có
cấu trúc SPN là cách đơn giản nhất đạt được cả tính chất lẫn lộn và khuếch tán đồng
thời. Ở đây cần chú ý, đơn vị dữ liệu được xét theo các đơn vị khác nhau như bit, byte,
và chữ số biểu diễn cho dữ liệu. Trong khi đó phần lớn các hệ mật mã coi đơn vị dữ
liệu là các byte, có những hệ mật mã coi các bit là các đơn vị dữ liệu và mọi thao tác
được thực hiện với bit [61, 86, 87, 88], một số hệ mật mã hỗn loạn được phát triển gần
đây coi chữ số dùng để hình thành nên giá trị của đ iểm ảnh là đơn vị dữ liệu [16]. Hệ
mật mã dựa trên kỹ thuật hỗn loạn được xem là hệ mật mã có cách tiếp cận mới, và
khác với hệ mật mã truyền thống [76, 77, 89]. Thực tế, việc ứng d ụn g hỗn loạn vào
mật mã được thực hiện ở các phần khác nhau của hệ mật mã. Ví dụ, hỗn loạn được
dùng để tạo ra chuỗi ngẫu nhiên dùng làm khóa mật [57, 90], hỗn loạn được dùng đ ể
thực hiện quá trình hoán vị (P-box) vị trí các đơn vị dữ liệu [91, 92], hỗn loạn dùng để
tạo ra quá trình thay thế (S-box) [93, 94]..v..v. Cấu trúc của mô hình SPN dùng hỗn
loạn lần đầu tiên được đề xuất bởi Jiri Fr idrich như trong Hình 2.1. Đây là cấu trúc
được dùng để tham khảo rộng rãi cho các thiết kế về sau này. Cấu trúc gồm khối hoán
vị (permutation) và khối thay thế (substitution). Mỗi khối có thể được thực hiện lặp
nhiều lần và toàn bộ các khối cũng có thể được lặp nhiều lần. Trong mô hình SPN,
hàm hỗn loạn có thể đóng vai trò như cung cấp khóa cho thực hiện hoán vị và thay thế, hoặc tham gia trực tiếp vào các quá trình đó. Các hàm hỗn loạn thường được dùng
gồm hàm Logistic, hàm Standard, hàm Cat, hàm Baker,. . . Trong các hệ mật mã hỗn
loạn cho dữ liệu số, hàm hỗn loạn được dùng để tạo ra các giá trị trong không gian
hữu hạn. Để thực hiện được điều này, các hàm hỗn loạn được đưa về dạn g giá trị rời
rạc thay vì dạng số thực thông qua một số cách khác nhau như được trình bày tron g Mục 1.5 của Chương 1.
quá trình hoán vị và khuếch tán với các tham số điều khiển của quá trình hoán vị và
khuếch tán được sinh ra từ các hàm hỗn loạn. Giai đoạn hoán vị thực hiện nhằm tạo
sự móc nối phức tạp giữa khóa và ảnh mật. Giai đo ạn làm khuếch tán thực hiện để tạo
mối quan hệ giữa ảnh thu nhận được và ảnh mật. Các quá trình này hiện chưa được
đánh giá một cách đầy đủ để làm rõ tính khả thi của mật mã hỗn loạn.
Trong thực tế, việc ứng dụng hỗn loạn vào quá trình mật mã được chia ra theo các hướng như sau:
• Tạo chuỗi ngẫu nhiên dùng hỗn loạn: Một trong các đặc trưng của các hàm hỗn
loạn là nhạy với điều kiện đầu và nhạy với giá trị của tham số hệ thống [95]. Điều
này có nghĩa là với sự thay đổi nhỏ ở giá trị khởi đầu sẽ làm tạo ra các giá trị
khác nhau rất lớn ở chuỗi đầu ra. Điều này cũng xảy ra tương tự với giá trị tham
số hệ thống của hàm hỗn loạn. Đặc trưng này được dùng để tạo ra chuỗi ngẫu nhiên. Các chuỗi ngẫu nhiên này được dùng trong các phần k hác nhau của quá
tr ình mật mã như(i)tạo ra khóa mật cho các bước mật mã,(ii)tạo ra luật hoán
vị cho khối P-box [59, 96], (iii)tạo ra giá trị mới dựa trên giá trị của biến trạng
thái hỗn loạn [97, 98], nó tương tự như qua phép thay thế.
• Tạo qui luật hoán vị hoặc thay thế: Các hàm hỗn loạ n tham gia trực tiếp vào các
khối P-box và S-box theo một số cách khác nhau. Trong mật mã ảnh, hàm hỗn
loạn có thể nhận điều kiện đầu là vị trí của các pixel, sau một loạt các phép lặp,
đầu ra của hàm hỗn loạn dùng để xác định vị trí mới pixel. Tương tự như vậy, giá
tr ị của dữ liệu cần biến đổi được đưa vào hàm hỗn loạn, và đầu ra là giá trị mới
ứng với giá trị được thay thế.
2.2.1 Hoán vị các điểm ảnh sử dụng hỗn loạn
Hoán vị là hình thức hoán đổi vị trí các đơn vị dữ liệu trong ảnh nhằm phá vỡ cấu trúc
thống kê của ảnh, tạo ra sự phụ thuộc của văn bản mã hóa vào khóa mật. Thực tế, việc
hoán vị cần được xem xét thực hiện trên các đơn vị dữ liệu khác nhau sẽ tạo ra các
tính chất khác nhau cho mục đích mật mã ảnh; đó là các tính chất lẫn lộn. Các đơn vị
dữ liệu được xem xét để thực hiện hoán vị gồm (i)cụm các điểm ảnh,(ii)từng điểm
ảnh đơn,(iii)số biểu diễn giá trị điểm ảnh, và(iv)bit dữ liệu trong các điểm ảnh.
Với hoán vị cụm các đ iểm ảnh hoặc các điểm ảnh đơn mang lại tính chất lẫn lộn
mà hoàn toàn không tạo ra sự thay đổ i giá trị của điểm ảnh. Trong trường hợp hoán vị
các số biểu diễn giá trị của điểm ảnh hoặc hoán vị bit của từng điểm ảnh sẽ làm thay
Ba cách xem xét đơn vị dữ liệu được hoán vị ở trên cũng đồng thời thể hiện cho các
giai đoạn phát triển của mật mã hỗn loạn rất rõ ràng. Trong giai đoạn đầu của nghiên
cứu về ứng dụng hỗn loạn trong mật mã ảnh, đơn vị dữ liệu là cụm điểm ảnh được
dùng như trong các nghiên cứu [25, 99]. Trong những năm gần đây, việc h oán vị được thực hiện với điểm ảnh và trên không gian kích thước của ảnh như được thấy trong
nhiều nghiên cứu (ví dụ [58, 100]). Gần đây hơn, hai phương pháp h oán vị được quan
tâm nhiều là hoán vị với chữ số biểu diễn giá trị của điểm ảnh [16] và bit biểu diễn
điểm ảnh [82, 101]. Với dữ liệu là chữ số biểu diễn điểm ản h, ví dụ giá trị biểu diễn
mức xám của điểm ảnh là 218 được hiểu là có ba chữ số gồm “2 ”, “1” và “8”.
Trong các nghiên cứu mật mã ảnh sử dụng hỗn loạn, các hàm hỗn loạn tạo ra luật
hoán vị theo một số cách khác nhau. Hiện nay có hai cách tạo ra luật hoán vị dựa trên
các hàm hỗn loạn gồm: thông tin vị trí điểm ảnh được dùng giá trị khởi đầu cho hàm
hỗn loạn hai chiều, và quy luật hoán vị được tạo ra dựa vào biến trạng thái. Dưới đây
tr ình bày một số phương pháp hoán vị điển hình theo các hướng đề cập trên.
2.2.1.1 Các cơ chế hoán vị dữ liệu cho ảnh
Với luật hoán vị được hìn h thành dựa trên hỗn loạn, các phương pháp dưới đây đã
được nghiên cứu và dùng phổ biến gồm:
Phương pháp 1: Coi ảnh như ma trận 2 chiều, và dùng tọa độ điểm ảnh như là
đầu vào cho các hàm hỗn loạn để tính ra vị trí của điểm ảnh được hoán vị đến. Các
phương pháp này được dùng rất phổ biến. Để có thể thực hiện được phương pháp này,
các hàm hỗn loạn cần có đặc trưng song án h như đã nói ở trên, hoặc là dùn g các vòng tuần hoàn của các hàm hỗn loạn [76].
Phương pháp 2: Các điểm ảnh được quét để hình thành mảng một chiều, s au đó
thực hiện hoán vị trên mảng một chiều này [26]. Theo cách tiếp cậ n này, qui luật hoán vị thường được lưu trữ sẵn trong bộ nhớ.