Tư tưởng giấu tin của Wu - Lee
Thuật toán giấu tin Wu-Lee được thể hiệu như sau: chia ảnh môi trường thành các khối điểm ảnh có cùng kích thước mn. Với mỗi khối điểm ảnh F (ma trận điểm ảnh) có thể được giấu tối đa 1 bit b (b= 0 hoặc b = 1). Quá trình giấu tin sẽ thực hiện biến đổi ma trận nhị phân F thành ma trận G, giữa F và G chỉ khác nhau tối đa là một vị trí.
Bài toán
Input:
- m, n là kích thước của ma trận gồm m hàng và n cột, giá trị m, n
được giữ bí mật.
- Fmn là ma trận nhị phân và là ma trận môi trường để giấu tin. - Kmn là ma trận nhị phân khoá và ma trận K phải được giữ bí mật - b là bit nhị phân cần giấu (b = 0 hoặc b = 1).
Output:
Nếu thuật toán thực hiện thành công, kết quả thu được là ma trận G được biến đổi tối đa một phần tử từ ma trận F và G thoả mãn hai bất biến sau:
0 < SUM(G K) < SUM(K) (2.9)
Theo đầu ra của thuật toán, khi nhận được G để kiểm tra ma trận G có giấu thông tin hay không chúng ta sẽ cần kiểm tra G có thoả mãn bất biến (2.9) hay không. Với bất biến (2.10) quá trình giải mã thông tin giấu trong ma trận G có thể dễ dàng xác định được G chứa giá trị bit đã giấu bằng 0 hay bằng 1 theo công thức (2.11)
b =SUM(GK) mod 2 (2.11)
Thuật toán
Bƣớc 1: đặt s = SUM(FK)
Bƣớc 2: if 0 < s < SUM(K) then
// sẽ biến đổi F thành G thoả mãn bất biến 2.9 và 2.10
Xét các trường hợp sau:
Trường hợp 1 if s mod 2 = b then
G = F // giấu mà không cần biến đổi
Trường hợp 2 if s = SUM(K) - 1 then
- Chọn ngẫu nhiên phần tử (i,j) thoả Fi,j = 1 và Ki,j =1
- Fi,j = 0
- G = F
Trường hợp 3 if s = 1 then
- Chọn ngẫu nhiên phần tử (i,j) thoả Fi,j = 0 và Ki,j =1
- Fi,j = 1
- G = F
Trường hợp 4 if (s >1) and (s <SUM(K) -1 ) then
- Chọn ngẫu nhiên phần tử (i,j) thoả Ki,j =1
- Fi,j = NOT (Fi,j)
2.4.2. Phân tích thuật toán
Thuật toán sử dụng ma trận khóa K nhằm làm tăng độ bảo mật cho thuật toán giấu tin. Đối với phương pháp dấu tin theo khối bit, chỉ biết kích thước khối là
n
m thì đối phương đã có thể dễ dàng giải mã được tin mật thông qua ảnh chứa tin, nhưng với thuật toán của Wu-Lee ngoài giá trị m, n, các thuật toán thám mã còn phải xác định giá trị cụ thể của ma trận K. Do vậy, để tìm được ma trận khóa K
khi đã biết m, n các thuật toán thám mã phải duyệt (vét cạn) O(2mn) trường hợp khác nhau[9].
Theo định nghĩa phép toán , và bất biến (2.10) nên nội dung thuật toán Wu-Lee sẽ biến đổi F thành G sao cho SUM(GK) cùng tính chẵn lẻ với b. Do vậy, nếu b không cùng tính chẵn lẻ với SUM(GK) thì thuật toán sẽ thực hiện đảo giá trị của phần tử Fi,j ứng với Ki,j = 1 để đạt được bất biến (2.10). Như vậy, khoá K được xem như một mặt nạ, tạo ra khung nhìn cho thuật toán.
Điều kiện 0<SUM(FK)<SUM(K) quy định, nếu mọi vị trí (i,j) của F tại các vị trí Ki,j = 1 mà Fi,j đều bằng không hoặc đều bằng một thì không nên giấu tin vì nếu thực hiện giấu dễ bị lộ khóa K.
2.4.3. Thí dụ minh họa thuật toán Wu-Lee
Giả sử ta cần giấu dãy bit b1b2b3 = 011 vào một ảnh kích thước 6x6
với ma trận khóa K có kích thước 3x3 như trong Hình 2.4. Ta chia ảnh F
thành 4 khối ảnh nhỏ với mỗi khối kích thước là 3x3 ta thu được F1, F2,
F3, F4. F1 F2 G1 G2 0 1 0 1 0 1 dữ liệu cần giấu: b1b2b3 =011 0 0 0 1 0 1 1 0 1 1 0 0 1 0 1 1 0 0 0 0 1 0 1 0 0 0 1 0 1 0 0 1 0 1 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 0 1 1 1 1 1 0 1 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 F3 F4 K G3 G4