Tóm tắt Luận án Mật mã dữ liệu ảnh ứng dụng kỹ thuật hỗn loạn

Luận án có một số đóng góp mới được trình bày trong Chương 2 và

Chương 3, chúng được nhóm thành hai cụm chính như sau:

(1) Đề xuất hai hệ mật mã hỗn loạn làm việc ở mức bit để mật mã ảnh.

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ức tạ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. Cụ thể, hệ mật mã được

thiết kế có cấu trúc SPN. Trong đó, thông tin về vị trí điểm ảnh được

dùng để tác động vào đặc tính động của hàm hỗn loạn trong quá trình

hoán vị điểm ảnh; và giá trị của điểm ảnh được dùng để tác động vào

đặc tính động của hàm hỗn loạn trong quá trình khuếch tán. Việc tác

động ở đây xảy ra trên các bit biểu diễn giá trị biến trạng thái của

hàm hỗn loạn và các bit biểu diễn vị trí và giá trị điểm ảnh. Hàm hỗn

loạn Logistic được dùng trong các ví dụ minh họa. Phần cứng cho hệ

mật này cũng được thiết kế dùng ngôn ngữ VHDL để thực hiện trên

FPGA với kết quả đạt được như mong muôn.

pdf27 trang | Chia sẻ: honganh20 | Ngày: 01/03/2022 | Lượt xem: 636 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Tóm tắt Luận án Mật mã dữ liệu ảnh ứng dụng kỹ thuật hỗn loạn, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
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ịch liên kết. 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ã 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ã [3]. 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ải mật mã thông qua tác động/điều chế lên vectơ điều kiện đầu (IV) và/hoặc vào các tham số điều khiển [4]. 1.5.1. Tạo chuỗi bit ngẫu nhiên • 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ác hàm hỗn loạn. • 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 được thự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 [5, 6]. • 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. • 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. 5 1.5.2. Tạo chuỗi số giả ngẫu nhiên • 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ỗi giá trị được sinh ra từ hàm hỗn loạn là các số thực Xn. • 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ằm tạo ra sự bất định. • 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àm hỗn loạn. 1.6 Ảnh số và các đặc điểm 1.6.1. Biểu diễn ảnh số Ảnh số được biểu diễn với hai cấu trúc dữ liệu chính là vectơ và ma trận các điểm ảnh (ảnh raster). 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 nhau. 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 đặ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 được xem xét xoay quanh khả năng tác động và 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ế 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ỗn loạ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. 6 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 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 tăng 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. 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 sử dụng hàm hỗn loạn Cat và Cat-Hadamard nhiều chiều. 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 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 [7, 8, 9]. Trong hệ thống mật mã ảnh dùng cấu trúc SPN trong Hình 2.1. Hình 2.1: Mật mã có cấu trúc SPN dùng hỗn loạn. key scheduling Xáo Thay np nr n Bản mãBản rõ Khóa mật 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: • Tạo qui luật hoán vị hoặc thay thế: 2.2.1. Hoán vị các điểm ảnh sử dụng hỗn loạn Các cơ chế hoán vị dữ liệu cho ảnh 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ị giá trị. 7 Phương pháp 2: Các điểm ảnh được quét để hình thành mảng một chiều, sau đó thực hiện hoán vị trên mảng một chiều này [3]. Luật hoán vị dựa vào biến trạng thái 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 Đánh giá hiệu năng của phép hoán vị • Phần trăm các điểm ảnh lân cận: Tham số PAPC đánh giá bằng cách xét hai của sổ vuông gồm các điểm ảnh. • Khoảng cách giữa các điểm ảnh lân cận: Phương pháp DBAP xét sự di chuyển của điểm ảnh từ cửa sổ W1 ra các vị trí với khoảng cách bao xa so với điểm ảnh quan tâm. 2.2.2. Phép thay thế sử dụng hỗn loạn Phép thay thế không tạo ra lan truyền • Tính chất ánh xạ một-một • Tiêu chí thác chặt (SAC) • Tiêu chí độc lập bit đầu ra (BIC) • Tính chất phân bố XOR vào/ra đồng đều Thay thế có lan truyền 2.3 Đề xuất các hệ mật mã hỗn loạn làm việc ở mức bit 2.3.1. Đề xuất 1: Hệ mật mã dựa trên tác động đặc tính động của hàm hỗn loạn Cấu trúc của hệ thống mật mã được đề xuất ở dạng mô hình Unified như được đưa ra trong Hình 2.2. Hệ thống gồm các quá trình hoán vị, khuếch tán và cân bằng phân bố bit. Bộ mã mật và giải mã mật sử dụng hàm hỗn loạn Logistic cho quá trình hoán vị và khuếch tán. Bộ mật mã Hệ mật đề xuất như trong Hình 2.2. 8 Hình 2.2: Cấu trúc bộ mật mã đề xuất. P Xáo trộn điểm ảnh hỗn loạn (CPP) Khuếch tán hỗn loạn (CD) CP(PP) Cân bằng phân bố bit (BDB) (a) Bộ mật mã PGiải xáo trộn điểm ảnh hỗn loạn (iCPP) Giải khuếch tán hỗn loạn (iCD) C P (iPP)Giải cân bằng phân bố bit (iBDB) (b) Bộ giải mật mã a. Hoán vị điểm ảnh hỗn loạn (CPP) Khối CPP thực hiện hoán vị điểm ảnh trên không gian kích thước hàng và cột của ảnh. Hình 2.3: Cấu trúc khối CPP và CD trong hệ mật mã được đề xuất. Logisc Map Tách bit bits Hoán vị hỗn loạn bits bits bits bits bits bits bits bits Mở rộng bit (a) Khối CPP rounds Tách bit s s Khuếch tán hỗn loạn s Mở rộng bit Logisc map s s ss bitss (b) Khối CD Trong quá trình hoán vị đưa ra ở Hình 2.3(a), giá trị của tham số điều khiển r của hàm hỗn loạn Logistic là m2 bit và được tính bởi biểu thức r = r(perm) ⊕BitE(perm), (2.1) Ở đây, hàm hỗn loạn Logistic có thể được lặp lại n lần vì X(n+1) = 9 Fn(Xn) với IV (perm) là giá trị ban đầu. Vị trí mới của điểm ảnh là XYnew = XY ⊕BitExtr (perm), (2.2) b. Khuếch tán hỗn loạn (CD) Quá trình khuếch tán hỗn loạn như được đưa ra trong Hình 2.3(b). Tham số điều khiển của hàm Logistic được biểu diễn bởi m2 bit r = r(diff) ⊕BitE(diff), (2.3) BitSw(diff) = ⎧⎨ ⎩ C0 cho r(diff) = 1 và p(x, y) vớix = 0 và y = 0, CXY cho r(diff) = 1 và p(x, y) vớix = 0 hoặc y = 0, BitExtr(diff) cho 1 < r(diff) ≤ N (diff) và p(x, y) với ∀x, y. (2.4) Giá trị của các điểm ảnh sau khuếch tán CXY là CXY = PXY ⊕BitExtr (diff), (2.5) với C0 là byte bản mã khởi tạo ban đầu. c. Cân bằng phân bố bit (BDB) Cân bằng phân phối bit nhằm để làm cho phân bố số bit 0 và số bit 1 tương đối bằng nhau. Bộ giải mật mã Bộ giải mật mã được đưa ra Hình 2.2(a).Cấu trúc chi tiết của iCD được minh họa trong Hình 2.4. Giá trị của BitSw(diff) trở thành Hình 2.4: Cấu trúc của iCD. rounds Tách bit s s Giải hoán vị hỗn loạn s Mở rộng bit Chaoc Map s ss bits s Z-1 s s BitSw(diff) = ⎧⎨ ⎩ C0 cho r(diff) = 1 và p(x, y) với x = 0 và y = 0, C−1XY cho r (diff) = 1 và p(x, y) với x = 0 hoặc y = 0, BitExtr(diff) cho 1 < r(diff) ≤ N (diff) và p(x, y) với ∀x, y. (2.6) 10 Bảng 2.1: Số bit biểu diễn dữ liệu. Tham số Số bit Định dạng dấu phảy tĩnh m1 32 1.31 m2 33 2.31 Bảng 2.2: Giá trị của các tham số và số bit biểu diễn Npara. Tham số Giá trị được chọn Số bit biểu diễn r(perm) 3,75 33 r(diff) 3,75 33 IV (perm) 0,0123456789 32 IV (diff) 0,9876543210 32 C0 123 8 Tổng số bit 138 Kết quả mô phỏng Để minh họa hoạt động của hệ thống mật mã đề xuất, ví dụ ở đây được mô phỏng cho ảnh mức xám 8 bit với kích thước 256×256 hoặc k1 = log2256×256 (hay k1= 16 bit và k2 = 8 bit). Bảng 2.1 và 2.2 lần lượt hiển thị số bit và giá trị được chọn cho các tham số. Thứ tự của các bit được mở rộng bit hoặc tách bit ra thể hiện bởi Q(perm)1 , Q (diff) 1 , Q (perm) 2 và Q (diff) 2 sẽ làm cho không gian khóa được mở rộng đáng kể. Phân tích khả năng bảo mật a. Phân tích không gian khóa Do đó, không gian khóa là NSpace = Npara + Norder (= 378 bit), hay 2378. Như vậy, hệ mật mã này hoàn toàn đáp ứng yêu cầu đảm bảo an toàn trước tấn công vét cạn. b. Phân tích độ nhạy của khóa mật Việc mô phỏng được thực hiện với sự khác biệt nhỏ nhất trong mọi thành phần tạo nên khóa mật, tức là r(perm), r(diff), IV (perm), IV (diff) và C0. Lượng sai khác nhỏ nhất được xác định bởi độ phân giải của việc biểu diễn giá trị, tức là giá trị của bit LSB. Giá trị trung bình và độ lệch chuẩn của Cdr được thể hiện trong Bảng 2.4. Điều đó cho thấy phương pháp đề xuất cho ra kết quả lên đến 99,9 là tốt hơn so với giá trị tối đa là 99,63% trong nghiên cứu [10]. Bảng 2.3: Thứ tự các bit được lựa chọn. Các danh sách bit Thứ tự của bit Q (perm) 1 {2, 9, 13, 1, 10, 8, 5, 12, 3, 14, 7, 15, 4, 0, 6, 11} Q (perm) 2 {3, 14, 6, 15, 10, 8, 4, 12, 13, 11, 7, 1, 5, 0, 2, 9} Q (diff) 1 {7, 1, 3, 6, 4, 5, 2, 0} Q (diff) 2 {2, 5, 6, 0, 4, 3, 7, 1} 11 Bảng 2.4: Độ nhạy của khóa mật tính theo Cdr. Tham số xem xét CdrTrung bình (%) Độ lệch chuẩn (%) N 1 2 3 1 2 3 r(perm) 99,8 99,9 99,9 0,015 0,01 0,01 r(diff) 99,7 99,8 99,8 0,02, 0,02 0,01 IV (perm) 98,6 98,8 99,0 0,012 0,01 0,01 IV (diff) 98,9 98,9 99,0 0,02 0,015 0,01 C0 99,0 99,4 99,5 0,021 0,02 0,01 Bảng 2.5: Lượng tin trong ảnh bản mã. Tên ảnh IE N 1 2 3 Lena 7,990 7,990 7,998 Cameraman 7,980 7,990 7,999 House 7,970 7,989 7,999 Peppers 7,985 7,987 7,999 c. Phân tích lượng tin Kết quả này cho thấy giá trị IE đạt được là 7,999 là tốt hơn so với hầu hết các kết quả nghiên cứu được công bố gần đây. Cụ thể, đạt được giá trị là 7,9972 trong [11], 7,9974 trong [12], hay 7,9965 trong [13]... d. Phân tích vi sai Kết quả được thể hiện trong Bảng 2.6 cho thấy NPCR và UACI của hệ mật mã được đề xuất ở đây tốt hơn các kết quả gần đây được công bố trong [10, 13] và tốt hơn so với các kết qủa được trích dẫn trong đó. Kết quả thiết kế mạch cứng a. Thiết kế hàm Logistic nhiều vòng lặp b. Thiết kế cho khối mở rộng bit c. Thiết kế cho khối tách bit d. Thiết kế tổng thể cho khối hoán vị Bảng 2.6: Trung bình của NPCR và UACI được tính toán với 100 ảnh. Nround NPCR(%) UACI(%) Trung bình(%) Lệch chuẩn(%) Trung bình(%) Lệch chuẩn(%) 1 99,6 0,030 33,451 0,020 2 99,8 0,012 33,450 0,015 3 99,9 0,010 33,430 0,011 12 2.3.2. Đề xuất 2: Hệ mật mã hỗn loạn cho ảnh ở mức bit. Hệ thống đề xuất này sử dụng hàm hỗn loạn Cat-Hadamard rời rạc để mã hóa các ảnh ở dạng bitmap dựa trên các quá trình phân rã các mặt phẳng bit. Giải thuật mật mã dùng hàm hỗn loạn Cat-Hadamard Các bước chi tiết thực hiện mật mã ảnh được minh họa trong giải thuật Algorithm 1. Algorithm 1 Mật mã ảnh lớp bit ĐẦU VÀO: Đọc ảnh mức xám I kích thước M ×N điểm ảnh. ĐẦU RA: Ảnh bản mã C. 1: procedure Mật mã ảnh 2: Bên gửi S nhận các tham số a, b từ hàm phân bố khóa Chebyshev-Key ở Thuật toán Algorithm 3; 3: Thiết lập các chỉ số cho mặt phẳng bit i = 1, 2, 3, 4, 5, 6, 7, 8; 4: Tính toán r = (M ×N) mod 8 để chèn thêm các bit; 5: for 1 ≤ i ≤ 8 do 6: Tách mặt phẳng bit ith để có ma trận bit Ii kích thước M ×N ; 7: if (r = 0) then 8: Chèn thêm 8− r bit ‘0’ vào ma trận Ii; 9: end if 10: Hoán vị các bit trong ma trận Ii dùng hàm hỗn loạn Cat để nhận được ma trận bit Bi = PerbitbyCat [Ii]; 11: Chuyển đổi ma trận Bi thành mảng các số ở hệ 10, nhận được Ci; 12: Ghép các mảng Ci để tạo thành các ma trận M8 kích thước 8×8; 13: end for; 14: Tìm H3 theo biểu thức (1.12) và nhận được ma trận kích thước 8× 8; 15: Thực hiện nhân M8 với H3 để nhận được E = (M8 ×H3) mod 256; 16: Chuyển E về thành 8 mảng nhị phân E∗; 17: Sắp xếp lại E∗ để trở thành ma trận bit Ei; 18: Ghép 8 ma trận Ei thành ảnh C; 19: end procedure Các kết quả mô phỏng được đưa ra ở Hình 2.5 cho bản rõ và bản mã của các ảnh màu và ảnh mức xám. 13 Hình 2.5: Ảnh bản rõ và ảnh bản mã. (a) Ảnh màu Lena (Image2). (b) Ảnh bản mã của 2.5(a). (c) Ảnh màu Flower (Im- age3). (d) Ảnh bản mã của 2.5(c). Giải thuật giải mật Giải thuật giải mã là quá trình ngược lại với mật mã. Các chi tiết được thấy trong giải thuật Algorithm 2. Algorithm 2 Giải mật ảnh lớp bit ĐẦU VÀO: Ảnh bản mã C with size M ×N pixels. ĐẦU RA: Ảnh bản rõ khôi phục I. 1: procedure Giải mật ảnh 2: Bên nhận R nhận các tham số a, b từ bên phân phối khóa Chebyshev-Key trong Alogrithm 3; 3: for i = 1, 2, 3, 4, 5, 6, 7, 8 do % Số hiệu của lớp bit 4: Tác lớp bit thứ ith; 5: Lưu lớp bit thứ ith vào ma trận bit Ei ; 6: Chuyển đổi Ei thành mảng các số Bi; 7: Ghép các mảng Bi thành mảng M8; 8: end for; 9: Tìm ma trận nghịch đảo H−13 ; 10: Thực hiện nhân giữa M8 với H−13 để nhận được D =( M8 ×H −1 3 ) mod 256; 11: Chuyển D thành 8 mảng nhị phân D∗; 12: Áp dụng hàm InvertPerbitbyCat(.) vào D∗ để tìm ma trận khôi phục hoán vị D∗∗ = InvertPerbitbyCat [D∗]; 13: Xóa bỏ 8− r bit cuối cùng trong từng Di; 14: Khôi phục ảnh I từ 8 ma trận Di; 15: end procedure 2.4 Kết luận Chương này đã trình bày các đặc trưng cơ bản của hàm hỗn loạn và khả năng ứng dụng chúng vào để thiết kế hệ mật mã. Với các hàm hỗn loạn, ta có các cách khác nhau để dùng vào mật mã, đó là thông qua số lần lặp hàm hỗn loạn, đặc tính động của hàm hỗn loạn, và tham số điều khiển cũng như giá trị điều kiện đầu. 14 Hình 3.1: Mã hóa và giải mã. Xáo trộn (rp vòng) Tạo ra ma trận mở rộng Ảnh bản rõ ME MPE AE ADE MTE Ảnh bản mã Chuyển mảng 1D thành ma trận 2D Khuếch tán (1 vòng) Chuyển ma trận 2D thành mảng 1D Sắp xếp lại thành ảnh C P (a) Các bước mã hóa C P Đảo ngược xáo trộn (rp vòng) Chuyển mảng 1D thành ma trận 2D Ảnh bản rõ khôi phục MPD MTD ADD AD MD Ảnh bản mã Chuyển ma trận 2D thành mảng 1D Tái khuếch tán (1 vòng) Sắp xếp lại thành ảnh Tạo ra ma trận mở rộng (b) Các bước giải mật Chương 3 PHÂN TÍCH MẬT MÃ HỖN LOẠN CÓ CẤU TRÚC SPN Nội dung phần này trình bày điểm yếu về bảo mật của thuật toán mã hóa trong mạng hoán vị-thay thế (SPN) với nhiều vòng hoán vị và một vòng khuếch tán được đề xuất bởi W.Zhang. 3.1 Giới thiệu Cho đến nay, chỉ có hai cuộc tấn công thành công vào các SPN hỗn loạn trong trường hợp một vòng mã hóa được đăng tải trong [14, 15]. Như đã được trình bày trong [14], phương pháp có thể được mở rộng để đối phó với mã hóa nhiều vòng, trong khi công việc trong [14] chỉ thực hiện cho hệ mật mã một vòng. Nghiên cứu này, việc thám mã trên hệ mật hỗn loạn được trình bày. Hai loại tấn công được thực hiện là lựa chọn bản rõ và lựa chọn bản mã. 3.2 Một số qui ước trong phân tích mã Có bốn kiểu tấn công cổ điển chính được xếp theo độ khó giảm dần: Chỉ có bản mã; Biết được bản rõ; Lựa chọn bản rõ; và Lựa chọn bản mã. Một hệ mật không có tính bảo mật nếu có ít nhất một trong các kiểu tấn công trên phá được hệ thống đó. 15 3.3 Mô tả mật mã hóa ảnh Ảnh màu RGB có ba lớp: R (đỏ), G (xanh lá), B (xanh lam). Mỗi lớp được xem như là một ảnh xám. Ảnh ba màu được sắp xếp lại là hai bit cao nhất của mỗi điểm ảnh ở lớp R, G, B được lấy ra và ghép chúng lại thành bức ảnh xám 6 bit có kích thước là N × N và ba bức ảnh xám 6 bit kích thước N ×N có các điểm ảnh là 6 bit thấp tạo thành một ma trận có kích thước 2N×2N . Thuật toán mã hóa bao gồm 2 qúa trình: xáo trộn và khuếch tán như trong Hình 3.1. Tại quá trình mã hóa, P là ảnh rõ, trong khi đó tại giải mã thì P là ảnh được khôi phục. C là ảnh mật. Kí hiệu M là ma trận 2 chiều, A là mảng một chiều. Mô tả các kí hiệu và các dải giá trị được viết như trong phương trình (3.1). Encryption : ⎧⎪⎪⎨ ⎪⎪⎩ P = {f(x, y); f(x, y) ∈ [0, 255], ∀x, y ∈ [1, N ]} ME = {f(x, y); f(x, y) ∈ [0, 63], ∀x, y ∈ [1, 2N ]} MPE = {f(x, y); f(x, y) ∈ [0, 63], ∀x, y ∈ [1, 2N ]} AE = {ac(i); ac(i) ∈ [0, 63], i ∈ [1, 4N 2]} ADE = {cipher_d(i); cipher_d(i) ∈ [0, 63], i ∈ [1, 4N2]} MTE = {f(x, y); f(x, y) ∈ [0, 63], ∀x, y ∈ [1, 2N ]} Decryption : ⎧⎪⎪⎨ ⎪⎪⎩ C = {f(x, y); f(x, y) ∈ [0, 255], ∀x, y ∈ [1, N ]} MD = {f(x, y); f(x, y) ∈ [0, 63], ∀x, y ∈ [1, 2N ]} AD = {cipher_d(i); cipher_d(i) ∈ [0, 63], i ∈ [1, 4N2]} ADD = {ac(i); ac(i) ∈ [0, 63], i ∈ [1, 4N 2]} MTD = {f(x, y); f(x, y) ∈ [0, 63], ∀x, y ∈ [1, 2N ]} MPD = {f(x, y); f(x, y) ∈ [0, 63], ∀x, y ∈ [1, 2N ]} (3.1) Từ mật của phần tử thứ ith được tính toán theo{ temp1 = cipher_d(i− 1) temp2 = rand1(temp1) cipher_d(i) = ([ac(i) ⊕ rand2(temp2)] + rand3(i)) mod 64 (3.2) Phương trình cho quá trình khuếch tán ngược ở giai đoạn giải mã như sau:⎧⎪⎨ ⎪⎩ temp1 = cipher_d(i− 1), temp2 = rand1(temp1), ac(i) = { [64 + cipher_d(i)− rand3(i)]⊕ rand2(temp2), cipher_d(i) < rand3(i), [cipher_d(i)− rand3(i)]⊕ rand2(temp2), cipher_d(i) ≥ rand3(i). (3.3) 3.4 Phân tích hệ mật mã hỗn loạn với một vòng lặp Để hình dung quá trình thám mã, ví dụ với ảnh RGB kích thước 5 × 5 được dùng để mô tả, sau đó trường hợp tổng quát ảnh RGB có kích thước N ×N được diễn giải. Thêm vào đó, ma trận 2D được dùng để thay cho dãy 1D. 3.4.1. Tấn công lựa chọn bản rõ Tấn công vào quá trình xáo trộn Các bước thực hiện lấy lại thông tin hỗn loạn của vị trí hiện tại (x0, y0) và vị trí đích đến (x1, y1) được mô tả như sau: 16 Hình 3.2: Khôi phục luật xáo trộn trong tấn công lựa chọn bản rõ cho vị trí (x0, y0). Mật mã hóa Ảnh bản rõ ngẫu nhiên Parb Tạo ra ma trận mở rộng Carb Mật mã hóa Ảnh mẫu bản rõ được chọn P(x0,y0) Tạo ra ma trận mở rộng C(x0,y0) So sánh (x1,y1) ME_arb ME_(x0,y0) Sửa đổi giá trị tại (x0,y0) Bước 1: chọn ma trận mở rộng ME_arb bất kì. Bước 2: co ma trận ME_arb lại thành Parb để mã hóa. Bước 3: mã hóa Parb thu được Carb ở đầu ra của bộ mã hóa. Bước 4: dãn Carb thu được ma trận MT(Earb) Bước 5: chọn vị trí (x0, y0) để tấn công quá trình xáo trộn. Bước 6: Gán ME_(x0,y0) = M_arb và chỉ khác nhau giá trị tại vị trí (x0, y0). Bước 7: co ME_(x0,y0) lại thành P(x0,y0) để mã hóa. Bước 8: mã hóa P(x0,y0) thu được C(x0,y0) ở đầu ra của bộ mã hóa. Bước 9: tạo ra ma trận mở rộng MTE_(x0,y0) bằng cách dãn C(x0,y0). Bước 10: so sánh hai ma trận MTE_arb và MTE_(x0,y0) để tìm ra vị trí (x1, y1), tại đó bắt đầu có sự khác nhau về giá trị. Bước 11: lưu lại giá trị x1 vào vị trí (x0, y0) của ma trận ROW và lưu lại giá trị y1 vào vị trí (x0, y0) của ma trận COL. Bước 12: lặp lại bước 5 đến bước 11 để quét hết các vị trí hiện tại và tìm ra các vị trí đích. Hình 3.2 cho thấy mô hình tấn công luật xáo trộn. Kết quả của tấn công xáo trộn cho bức ảnh rõ kích thước 5 × 5 và luật xáo trộn đã đạt được. Tấn công vào khuếch tán Trong tấn công khuếch tán, khôi phục của các phần tử của dãy số ngẫu nhiên rcv_rd2 (tương đương với rand2) phải được xác định cho tất các các giái trị có thể có của các từ mà cipher_d(i− 1). Chúng ta hãy quan sát kĩ hơn biểu thức (3.2). Có một phép XOR (⊕) giữa ac(i) và rand2(temp2), giá trị của các bit tại những vị trí khác nhau trong rand2(temp2) có thể được phát hiện dễ dàng bằng cách quan sát các kết quả của cipher_d(i) trong trường hợp ac(i) = 0 và ac(i) = 0. Các giá trị bit tại những vị trí khác nhau của rand2(temp2) có thể được tạo ra bằng các biện pháp kiểm tra bit cho mỗi vị trí bit. Kết quả là, phương trình mô tả bản sao khuếch tán dùng để khôi phục khóa như phương trình (3.4). Với rcv_rd2 và rcv_rd3 là một cặp khóa được khôi phục.{ cipher_d(0) = rcv_rd2_initial cipher_d(i) = ([ac(i) ⊕ rcv_rd2(cipher_d(i− 1))] + rcv_rd3(i, cipher_d(i− 1))) mod 64, ...for i = 1...4N2 (3.4) 17 Hình 3.3: Thủ tục khôi phục lại luật xáo trộn trong tấn công bản mã cho điểm ảnh tại vị trí (x0, y0). Giải mật mã hóa Ảnh bản mã ngẫu nhiên Carb Tạo ra ma trận mở rộng Parb Giải mật mã hóa Ảnh bản mã dùngc cho tấn công xáo trộn C(x0,y0) Tạo ra ma trận mở rộng P(x0,y0) Comparison (x1,y1), MPD_arb MPD_(x0,y0) (x2,y2).... (xn,yn) Sửa đổi giá trị tại (x0,y0) Thuật toán mã hóa này không thể chống lại được kiểu tấn công lựa chọn bản rõ. 3.4.2. Tấn công lựa chọn bản mã Trong việc thực hiện tấn công lựa chọn bản mã, các khóa khuếch tán và các bẳng tra cứu hỗn loạn mong muốn được khôi phục. Chi tiết các thủ tục và các ví dụ được trình bày phần dưới. Tấn công quá trình xáo trộn ngược Nói chung, chiến lược để tấn công luật xáo trộn ngược như Hình 3.3 và kĩ thuật để tìm ra luật xáo trộn đảo là một bit khác nhau so với tấn công lựa chọn bản rõ. Các thủ tục để khôi phục luật xáo trộn được thực hiện như sau: Bước 1: chọn ma trận mở rộng MD_arb bất kì. Bước 2: co ma trận MD_arb lại thành Carb để giải mã. Bước 3: giải mã Carb thu được Parb ở đầu ra của bộ giải mã. Bước 4: dãn Parb thu được ma trận MPD_arb. Bước 5: chọn vị trí (x0, y0) để tấn công quá trình xáo trộn. Bước 6: Gán MD_(x0,y0)=MD_arb và chỉ khác nhau giá trị tại vị trí (x0, y0). Bước 7: co MD_(x0,y0) lại thành C(x0,y0) để mã hóa. Bước 8: sau khi giải mã C(x0,y0) thu được P(x0,y0) ở đầu ra của bộ giải mã. Bước 9: tạo ra ma trận mở rộng MPD_(x0,y0) bằng cách dãn P(x0,y0). Bước 10: so sánh hai ma trận MPD_arb và MPD_(x0,y0) để tìm ra vị trí (x1, y1), tại đó bắt đầu có sự khác nhau về giá trị. Bước 11: Tiếp tục tìm các vị trí (x1, y1) mà chưa có trong bảng tra cứu. Bước 12: lưu lại giá trị x1 vào vị trí (x0, y0) của ma trận ROW và lưu lại giá trị y1 vào vị trí (x0, y0) của ma trận COL. Bước 13: lặp lại bước 5 đến bước 12 để quét hết các vị trí hiện tại và tìm ra các vị trí đích. 18 3.4.3. Tấn công khuếch tán ngược Để tấn công khuếch tán ngược trong lựa chọn bản mã cũng tương tự như tấn công trong lựa chọn bản rõ; bản mã mẫu được chọn cho giải mã và đầu ra tương ứng được tập hợp lại để tìm ra các khóa khuếch tán. Mục tiêu của tấn công này tìm được các khóa khuếch tán ngược rcv_rd2 và rcv_rd3 tương đương với dãy số ngẫu nhiên ban đầu rand2 và rand3. Giải thuật cho tấn công khuếch tán như sau Kết quả là thu được hai tập dãy Algorithm 3 Đầu vào: Ma trận MDarb với giá trị ngẫu nhiên Đầu ra: các mảng giá trị ngẫu nhiên tương đương rcv_rd2 và rcv_rd3 1: procedure Tấn công khuếch tán 2: end procedure số (rcv_rd2a, rcv_rd3a) và (rcv_rd2b, rcv_rd3b). Trong bản sao giải mã, cặp khóa khôi phục được dùng giải mã để giải mã thu được ảnh rõ như khóa giải mã, với phương trình khuếch tán ngược là ⎧⎪⎪⎨ ⎪⎪⎩ cipher_d(0) = rcv_rd2_initial ac(i) = ⎧⎪⎨ ⎪⎩ [64 + cipher_d(i) − rcv_rd3(i, cipher_d(i− 1))] ⊕ rcv_rd2(cipher_d(i− 1)), ....for cipher_d(i) < rcv_rd3(i, cipher_d(i− 1)), [cipher_d(i) − rcv_rd3(i, cipher_d(i− 1))] ⊕ rcv_rd2(cipher_d(i− 1)), ....for cipher_d(i) ≥ rcv_rd3(i, cipher_d(i− 1)). (3.5) Kết quả của tấn công lựa chọn bản mã đạt được. 3.4.4. Ước lượng thời gian tấn công Thời gian tấn công hoán vị Thời gian tấn công khuếch tán 3.4.5. Một số bàn luận về kết quả đạt được của phương pháp này 3.5 Phân tích mật mã ảnh màu đối xứng với cấu trúc SPN nhiều vòng lặp Trong phần này trình bày điểm yếu của hệ mật được đề xuất bởi W. Zhang et al. Phương pháp được đề xuất để khôi phục luật hoán vị được dựa trên tấn công lựa chọn bản mã. Phương pháp này đã thành công trong việc khôi phục luật hoán vị trong trường hợp nhiều vòng mã hóa mà không biết về hệ mật. Các ví dụ cụ thể sẽ chứng minh thám mã. 3.5.1. Giới thiệu 3.5.2. Mô tả về giải thuật mật mã và giải mật mã Hệ mật trong [16] được mô tả như Hình 3.4. Thuật toán mã hóa gồm hai quá trình là rối rắm và khuếch tán. Tại vòng mã hóa r, từ mã thứ i được 19 Hình 3.4: Mật mã hóa và giải mật. (a) Các bước mật mã hóa, (b) Các bước giải mật Quá trình xáo trộn (rp vòng) r=1; Tạo ra ma trận mở rộng Ảnh bản rõ ME (r) MPE (r) AE (r) ADE (r) MTE (r) Ảnh bản mã Chuyển đổi từ chuỗi 1D thành ma trận 2D Quá trình khuếch tán (1 vòng) Chuyển đổi ma trận 2D thành chuỗi 1D Co ma trận MTE (R) tạo thành ảnh (a) (b) C P C P Quá trình giải xáo trộn (rp vòng) Chuyển đổi từ chuỗi 1D thành ma trận 2D Ảnh bản rõ khôi phục MPD (r) MTD (r) ADD (r) AD (r) MD (r) Ảnh bản mã Chuyển đổi ma trận 2D thành chuỗi 1D Quá trình giải khuếch tán (1 vòng) Co má trận MPD (R) tạo thành ảnh r=1; Generaon of expanded matrix r ≤ R sai đúng r ≤ R sai đúng r=r+1 r=r+1 ME (r)MTE (r) MD (r)MPD (r) tính bởi phương trình ⎧⎪⎨ ⎪⎩ temp1 = cipher_d(r)(i− 1) temp2 = rand1(temp1) cipher_d(r)(i) = ([ ac(r)(i) ⊕ rand2(temp2) ] + rand3(i) ) mod 64 (3.6) Quá trình khuếch tán ngược ở phần giải mã có phương trình

Các file đính kèm theo tài liệu này:

  • pdftom_tat_luan_an_mat_ma_du_lieu_anh_ung_dung_ky_thuat_hon_loa.pdf
Tài liệu liên quan