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.
27 trang |
Chia sẻ: honganh20 | Ngày: 01/03/2022 | Lượt xem: 733 | Lượt tải: 0
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:
- tom_tat_luan_an_mat_ma_du_lieu_anh_ung_dung_ky_thuat_hon_loa.pdf