Kỹ thuật giấu tin Chen – Pan – Tseng

Một phần của tài liệu luận văn thạc sĩ tìm hiểu các kỹ thuật giấu tin trong ảnh (Trang 54)

3.2.3.1 Ý tưởng

Thuật toán giấu thông tin trong ảnh đen trắng đƣợc Yu Yuan Chen, Hsiang Kuang Pan và Yu Chee Tseng, khoa Công Nghệ thông tin và Khoa học máy tính thuộc trƣờng Đại học quốc gia Đài Loan đề nghị [18]. Trong phƣơng pháp này, ngoài ma trận khoá (K) còn sử dụng thêm một ma trận trọng số (W) khi giấu thông tin. Thuật toán đảm bảo tốt an toàn và giấu đƣợc nhiều thông tin trong ảnh, bằng cách thay đổi nhiều nhất 2 bit mỗi khối ảnh. Nhƣợc điểm của phƣơng pháp này là chất lƣợng ảnh chƣa cao, dễ bị phát hiện, chỉ nên áp dụng cho ảnh màu. Thuật toán cải tiến sẽ cải thiện rất nhiều chất lƣợng ảnh bằng kỹ thuật chọn hệ số phân bố bit

3.2.3.2. Một số khái niệm:

a) Khoá bí mật (Secret Key) K:

Khoá K là một ma trận nhị phân có cùng kích thƣớc m x n với kích thƣớc của khối ảnh. Khoá đƣợc dùng một cách bí mật giữa ngƣời gửi và ngƣời nhận.

b) Ma trận trọng số (Weight Matrix) cấp r:

Ma trận trọng số cấp r(W) có kích thƣớc bằng kích thƣớc của một khối ảnh (m x n) và thoả mãn các điều kiện sau:

- W là một ma trận số nguyên có các phần tử nằm trong khoảng giá trị (0..2r- 1) với r cho trƣớc thoả mãn điều kiện 2r < (m x n).

- Mỗi một phần tử có giá trị từ (1..2r-1) phải xuất hiện ít nhất 1 lần trong W. Với mỗi m, n, r thoả mãn 2r-1  m x n sẽ có

khả năng chọn W. Ví dụ nhƣ với m = n = 4, r = 2  có 5.356.925.280 khả năng lựa chọn W. Con số này đủ lớn để làm giảm nguy cơ thông tin bị giải mã bởi những kẻ phá hoại.

Hình 33. Ma trận ảnh F(F1, F2, F3, F4) khoá K và ma trận trọng số W

c) Phép đảo bit:

Phép đảo bit là một phép biến đổi trên các bit nhị phân. Đảo bit b tƣơng đƣơng với phép biến đổi thay b bởi 1-b, tức là nếu ban đầu b nhận giá trị 0 thì sau khi đảo

) 1 2 ( 1 2 ) 1 2 ( )! 1 2 (        r r mn r r mn C F F4 F3 1 0 1 1 1 0 1 1 1 0 0 1 0 0 0 1 0 1 0 1 0 0 1 0 1 0 0 0 0 0 0 1 1 1 1 0 1 2 3 4 5 1 2 1 4 0 1 0 1 0 0 0 0 1 K W F2 F1

nó sẽ nhận giá trị 1 và ngƣợc lại, nếu ban đầu b có giá trị là 1 thì sau khi đảo nó sẽ mang giá trị 0.

d) Các phép toán trên ma trận dùng trong thuật toán:

Ngoài các phép toán And, Xor, Sum đã đề cập, trong thuật toán còn sử dụng thêm phép nhân ma trận (ký hiệu ).

Hình 34. F W là phép toán nhân giữa các cặp bit của hai ma trận.

3.2.3.3. Thuật toán:

Dữ liệu vào:

- F : là một ma trận ảnh gốc mà ta dùng để nhúng thông tin. F đƣợc chia thành các khối nhỏ Fi, mỗi ma trận điểm ảnh Fi có kích thƣớc là (m x n), để đơn giản ta giả sử rằng F là bội của các Fi.

- K : là một ma trận khoá ngẫu nhiên có kích thƣớc (m x n). - W: là một ma trận trọng số ngẫu nhiên, cùng kích thƣớc của K. - r : Số lƣợng bit có thể giấu trong mỗi một khối ảnh (m x n). - B : Là lƣợng thông tin cần giấu , B = b1b2...bz (mỗi bi có r bit) - d : độ chênh lệch trọng số.

Dữ liệu ra:

Các ma trận điểm ảnh Fi’ đƣợc thay đổi từ Fi. Các Fi’ cho ra ảnh F’ đã có thông tin giấu.

Thuật toán sẽ thực hiện việc biến đổi mỗi Fi thành Fi’ sao cho luôn thoả mãn điều kiện sau:

SUM((Fi’  K)  W)  b1b2...br (mod 2r).

Mỗi Fi bị biến đổi nhiều nhất là 2 bit. Quá trình biến đổi gồm 4 bƣớc sau đây: 1 0 1 1 1 1 0 0 0 F 1 2 3 4 5 1 2 1 4 W 1 0 3 4 5 1 0 0 0 F  W

B2: Tính tổng SUM(T  W)

B3: Với ma trận T và với mọi w = 1,2,...,2r-1 ta xác định tập hợp Sw nhƣ sau: Sw = {(x,y) | (W[x,y]=w  T[x,y]=0)  (W[x,y]=2r -w T[x,y]=1)}

Dễ nhận thấy Sw là tập hợp các toạ độ (x,y) của ma trận Fi[x,y]sao cho khi đảo bit Fi[x,y] thì Sum ở bƣớc 2 tăng lên w. Thực vậy, ta có :

 Trƣờng hợp 1: Nếu W[x,y] = w và T[x,y] = 0 (adsbygoogle = window.adsbygoogle || []).push({});

Khi đó đảo bit Fi[x,y] sẽ làm cho T[x,y] = 1, do đó Sum tăng lên w  Trƣờng hợp 2: Nếu W[x,y] = 2r -w và T[x,y] = 1

Khi đó đảo bit Fi[x,y] sẽ làm T[x,y] = 0, do đó Sum sẽ giảm đi 2r -w, tức là tăng lên w theo mod 2r

.

Qui ƣớc rằng với mọi w’  w (mod 2r ) trong đó w = 1, 2, ... , 2r-1, ta có: Sw’ = Sw

B4:

Kí hiệu d = (b1b2...bz)- SUM((Fi K)  W) mod 2r.

Ta cần thực hiện việc đảo bit trên Fi để đƣợc Fi’ sao cho tổng Sum tính đƣợc ở B2 khi thay Fi bởi Fi’ sẽ tăng lên d.

 Nếu d = 0, không cần thay đổi Fi

 Nếu d  0 ta thực hiện các công việc sau:

1. Chọn h bất kỳ thuộc tập {0, 1, 2, ... , 2r -1 } sao cho Shd   và S-(h-1)d 

2. Chọn (x,y) bất kỳ thuộc Shd và đảo bit Fi[x,y] (nếu là 0 thì đổi thành 1 và ngƣợc lại, 1 đổi thành 0).

3. Chọn (x,y) bất kỳ thuộc S-(h-1)d và đảo bit Fi[x,y] .

Rõ ràng, để tăng Sum lên d, ta có thể chọn 2 tập khác rỗng Shd và S-(h-1)d. Thật vậy, hai tập này chứa các vị trí bit trong khối Fi mà ta có thể đảo để tăng Sum lên hd và -(h-1)d một cách tƣơng ứng, kết quả cuối cùng là Sum sẽ tăng lên hd + (-(h-1)d) = d.

Tƣơng tự nhƣ các tập Sw khác ta cũng có thể coi tập So là tập chứa các vị trí mà khi đảo những bit có vị trí này trên Fi thì sẽ tăng Sum lên 0. Kết quả này cũng đạt đƣợc nếu ta không đảo bất kỳ bit nào trên Fi . Vì vậy ta có thể coi So là tập rỗng và khi nói “đảo 1 bit có vị trí thuộc tập So” có nghĩa là không cần làm gì cả.

3.2.3.4. Phân tích, đánh giá thuật toán

Sau khi nghiên cứu thuật toán chúng ta có thể đƣa ra một số nhận xét:

 Thuật toán cho phép giấu đƣợc tới [log2(mn+1)] bit dữ liệu vào trong mỗi khối ảnh (m x n) với điều kiện là 2r < (m x n), bằng cách thay đổi nhiều nhất là 2 bit của một khối ảnh. Nhƣ vậy, thuật toán đã có cải tiến nhiều so với những thuật toán khác chỉ giấu đƣợc một bit tin vào mỗi khối ảnh.

 Độ an toàn của thuật toán đƣợc nâng cao thông qua việc sử dụng hai ma trận (khoá, trọng số) để giấu tin và giải tin.

 Thuật toán tƣơng đối dễ cài đặt

 Đây là thuật toán giấu thông tin trong ảnh đen trắng nên ta cũng có thể tính toán hệ số phân bố bit D để cải thiện chất lƣợng ảnh sau khi giấu. Thực nghiệm cho thấy, nếu kết hợp với phần cải tiến này thì chất lƣợng ảnh đƣợc nâng lên đáng kể.

 Sau cải tiến, có thể áp dụng thuật toán cho ảnh màu và ảnh đa cấp xám. Ngƣời ta sử dụng kỹ thuật chọn ra bit ít quan trọng nhất (LSB) của mỗi điểm ảnh để xây dựng ma trận hai chiều các bit 0,1 nhƣ với ảnh đen trắng.

Nếu áp dụng tốt thuật toán này cho ảnh màu thì có thể nói thuật toán đã đạt đƣợc yêu cầu cơ bản của một ứng dụng giấu tin mật, nhƣ đảm bảo tính ẩn của thông tin giấu, số lƣợng thông tin giấu cao và an toàn.

Một phần của tài liệu luận văn thạc sĩ tìm hiểu các kỹ thuật giấu tin trong ảnh (Trang 54)