Thuật toán Wu-Lee

Một phần của tài liệu Nghiên cứu nâng cao tính bảo mật trong giấu tin, ứng dụng thuật toán giấu tin CPT trên ảnh 24 bit màu (Trang 25)

Là một thuật toán giấu tin khá phổ biển của M.Wu và J.Lee [15]. Trong thuật toán Wu-Lee [6], môi trường giấu tin là một ảnh nhị phân (có thể coi như là một ma trận nhị phân – mỗi phần tử của ma trận là một bits nhận giá trị 0 hoặc 1) được chia thành các khối bits mxn, mỗi khối giấu được một bit thông tin bằng cách thay đổi nhiều nhất một bit trong khối. Dùng thêm một khóa K có kích thước mxn để tăng tính bảo mật.

Các bước thực hiện giấu tin:

Bước 1: Chia ảnh F thành các ma trận điểm ảnh Fi có kích thước mxn.

Bước 2: Với mỗi Fi nhận được ở bước 1, kiểm tra điều kiện giấu tin 0 < Sum (Fi^K) < Sum (K)

Nếu thỏa mãn điều kiện trên thực hiện bước 3 để giấu một bit dữ liệu vào khối bits Fi, ngược lại dữ liệu không được giấu vào Fi và Fi sẽ được giữ nguyên.

Bước 3: Giấu bit b vào khối bits Fi

If (Sum(Fi^K) mod 2 = b) then Giữ nguyên Fi không đổi; ElseIf (Sum(Fi^K) = 1) then

Chọn một bit Fi(j,k) thỏa mãn: Fi(j,k) = 0 và K(j,k) = 1. Thay Fi(j,k) = 1

ElseIf (Sum(Fi^K) = Sum(K) - 1) then

Chọn một bit Fi(j,k) thỏa mãn: Fi(j,k) = 1 và K(j,k) = 1 Thay Fi(j,k) = 0;

Chọn một bits Fi(j,k) thỏa mãn: K(j,k) = 1 Đảo bit Fi(j,k)

EndIf

Sau khi thực hiện giấu bit b, Fi chuyển thành Fi’ thỏa mãn tính chất bất biến 0 < Sum(Fi’^K) < Sum (K)

b mod 2 = Sum(Fi’^K)

Các bước giải tin:

Dựa vào bất biến khi giấu tin, ta thực hiện lần lượt trên từng khối bits Fi trên ảnh truyền tin. Nếu Fi thỏa mãn bất biến 0 < Sum (Fi^K) < Sum (K) thì bit b giấu trong Fi được tính theo công thức b = Sum(Fi^K) mod 2

Minh họa thuật toán:

Hình 2.4. Giấu 3 bits thông tin trong một ma trận 6x6

Giả sử một ảnh có kích thước 6x6 và một ma trận khóa có kích thước 3x3 như hình vẽ, ta chia ảnh thành các khối F1, F2, F3, F4 có kích thước 3x3.

- Tính Sum(K) = 5

- Vì Sum(F1^K) = Sum(K) nên không giấu dữ liệu vào khối F1

- Sum(F2^K) = 3 < Sum(K) nên có thể giấu một bit trông khối F2. Ta cần giấu một bit 0, nên ta cần chọn một bit F2[i,j] = 0 và K[i,j] = 1, đảo giá trị bit F2[i,j] = 1, F2 chuyển thành F2’ như hình trên.

- Sum(F3^K) = 3 và bit cần giấu là b3 = 1 nên không cần thay đổi trong khối F3 mà vẫn giấu được bit thông tin. Do đó, F3’ = F3

- Sum(F4^K) = 4 và bit cần giấu b4 = 1 nên ta cần tìm một bit F4[i,j] = 1 và K[i,j] = 1, tiến hành đảo bit F4[i,j] = 0, F4 chuyển thành F4’.

2.3.3. Phân tích thuật toán

Thuật toán Wu – Lee tương đối đơn giản, dễ thực hiện. Tuy nhiên, tỉ lệ giấu tin tương đối thấp vì mỗi khối bits chỉ giấu được một bit thông tin, và độ an

toàn chưa cao. Nếu đối phương biết ảnh giấu tin sử dụng thuật toán Wu – Lee thì chỉ cần tìm được m, n và khóa K sẻ giải mã được thông tin đã giấu.

Một phần của tài liệu Nghiên cứu nâng cao tính bảo mật trong giấu tin, ứng dụng thuật toán giấu tin CPT trên ảnh 24 bit màu (Trang 25)