2.3 Đề xuất các hệ mật mã hỗn loạn làm việc ở mức bit
2.3.2.1 Giải thuật mật mã dùng hàm hỗn loạn Cat-Hadamard
Trước hết, ảnh màu được tách thành ba ảnh mức xám tương ứng biểu diễn cho các
màu R, G và B. Ảnh mỗi màu đó được coi như một ảnh mức xám và được phân tách
thành các mặt phẳng bit trong quá trình xử lý (xem Phần 1.6.1). Bước tiếp theo, hàm
hỗn loạn Cat được áp dụng để hoán vị các bit trong từng mặt phẳng bit và hàm hỗn
loạn Cat-Hadamard được dùng để biến đổi g iá trị điểm ảnh. Tiếp đến là kết hợp các
thành phần mặt ph ẳng bit sau hoán vị để tạo thành ảnh bản mã hóa. 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 kích thướcI M×Nđiểm ảnh.
ĐẦU RA:Ảnh bản mã hóa .C
procedureMẬT MÃ ẢNH
Bên gửi S nhận các tham sốa, btừ hàm phân bố khóa Chebyshev-Key ở Thuật
toán Algorithm 3;
Thiết lập các chỉ số cho mặt phẳng biti= 1 2 3 4 5 6 7 8, , , , , , , ;
5: Tính toánr= (M× )N mod8để chèn thêm các bit;
for1≤ ≤i 8do
Tách mặt phẳng bitith để có ma trận bit Iikích thướcM ×N;
if(r 6= 0)then
Chèn thêm8 − rbit ‘0’ vào ma trậnIi; 10: end if
Hoán vị các bit trong ma trậnIidùng hàm hỗn loạn Cat để nhận được
ma trận bitBi= P erbitbyCat I[ i]; Chuyển đổi ma trậnBi thành mảng các số ở hệ 10, nhận được Ci;
Ghép các mảngCiđể tạo thành các ma trậnM8kích thước 8 8;×
15: end for;
TìmH3theo biểu thức (1.10) và nhận được ma trận kích thước 8 8 × ; Thực hiện nhânM8vớiH3để nhận đượcE = (M 8× H3) mod256;
Chuyển về thành 8 mảng nhị phânE E∗; Sắp xếp lạiE∗để trở thành ma trận bitEi; 20: Ghép 8 ma trậnEithành ảnh ;C end procedure
Trong trường hợp với ảnh màu raster, các ảnh màu bản trơn được xem như gồm các thành phần ảnh mức xám bản trơn. Các ảnh mức xám bản trơn được thực hiện theo giải thuật trên và sau đó các ảnh mức xám của ảnh bản mã hóa của các màu được
ghép lại đ ể thu về ảnh màu bản mã. Ở đây cần chú ý rằng, các ma trận bit Bi được
chuyển về mảng các số ở hệ cơ số 10 thông qua việc nhóm thành các nhóm 8 bit quét
lần lượt theo hàng và cột, rồi sau đó chuyển các nhóm đó thành các số nằm trong dải
từ[0 255], , gọi đó là mảngCi. Các ma trậnM8 vàH3là các ma trận có các phần tử
là các số nguyên nằm trong dải[0 255], . Ma trận bitEi nhận được từ việc ghép từ các
ma trận nhị phân tách ra từ ma trận . Ma trận bitE Ei có kích thước giống nhưIi, chỉ
khác là giá trị các bit tại các vị trí trong ma trận bị thay đổi.
hóa của các ảnh màu và ảnh mức xám. Phân tích phân bố giá trị của các điểm ảnh
(histogram) cho thấy, có tính cấu trúc trong phân bố giá trị điểm ản h ở Hình 2.20(a)
của ảnh bản trơn trong Hình 2.1 9(a); tính chất cấu trúc này bị phá vỡ và phân bố trở
nên đồng đều ở Hình 2.20(b). (a) Ảnh mức xám của màu đỏ (R) của ảnh RGB 2.19(b). (b) Ảnh màu RGB
(Image1). (c)(Image2).Ảnh màu Lena (d)(Image3).Ảnh màu Flower
(e) Ảnh bản mã hóa
của 2.19(a). (f)của 2.19(b).Ảnh bản mã hóa (g)của 2.19(c).Ảnh bản mã hóa (h)của 2.19(d).Ảnh bản mã hóa
Hình 2.19: Ảnh bản trơn và ảnh bản mã hóa. 0 500 1000 1500 0 50 100 150 200 250
(a)Ảnh bản trơn Image1
0 200 400 600 800 1000 0 50 100 150 200 250 (b)Ảnh bản mã hóa Image1
Hình 2.20: Phân bố giá trị điểm ảnh của ảnh bản trơn và ảnh bản mã hóa.