Nghiên cứu khoa học

  Thứ bảy, 23/11/2013 - 14:05:25

Phát hiện ảnh có giấu tin sử dụng một số kỹ thuật giấu thuật nghịch dựa trên dịch chuyển Histogram

Trong thời gian gần đây giấu thuận nghịch được quan tâm một cách đặc biệt. Vào năm 2007, Hwang và các đồng nghiệp đề xuất kỹ thuật giấu thuận nghịch (HKC) [9] cải tiến phương pháp giấu của Ni (NSAS) [7] dựa trên dịch chuyển histogram của ảnh. Tuy nhiên kỹ thuật giấu này tạo ra một sự phân bố không bình thường trên histogram của ảnh sau khi thông điệp được giấu. Kuo và các đồng nghiệp của ông đã nêu ra vấn đề không an toàn của kỹ thuật này và đề xuất kỹ thuật phát hiện tương ứng.

Nhưng kỹ thuật họ đề xuất chỉ có thể phát hiện khi ảnh được giấu với lượng thông điệp giấu lớn 100% khả năng của kỹ thuật HKC, trong một số trường hợp khác nó không thể phát hiện. Vì vậy nhóm tác giả đưa ra một số cải tiến phù hợp để có thể phát hiện cho các trường hợp giấu với lượng thông điệp giấu khác nhau sử dụng kỹ thuật giấu HKC.

Dưới đây là bài báo khoa học “Phát hiện ảnh có giấu tin sử dụng một số kỹ thuật giấu thuận nghịch dựa trên chuyền Histogram” của ThS. Hồ Thị Hương Thơm - Khoa Công Nghệ Thông Tin, Đại học Dân lập Hải Phòng

Abstract

Steganalysis of Reversible Data Hidings Based on Histogram Shift

Recently, some reversible data hiding schemes have been published, Ni et al(NSAS), Hwang et al (HKC), Kuo et al proposed some simple reversible data hiding schemes based on the histogram shift. However, they create an informal distribution in the histogram when the secret massage is hidden in a cover image. In this paper, we propose some steganalytic scheme to detect stego image for the steganographies


1. Mở đầu

Trong thời gian gần đây giấu tin mật trong đa phương tiện ngày càng trở nên phổ biến trong môi trường truyền thông công cộng. Khác với mã hoá thông tin làm cho bản thông điệp được biết rõ là đã bị mã hoá, ngược lại giấu tin trong đa phương tiện làm cho các đối tượng mang tin mật khó có thể bị phát hiện bằng kỹ thuật thông thường vì nó không làm thay đổi nhiều nội dung ban đầu của đối tượng mang thông điệp. Phương pháp giấu tin đơn giản nhất là thông điệp dưới dạng nhị phân sẽ được nhúng “thay thế” vào các bit LSB (Least Signification Bit – Bit ít quan trọng nhất) của ảnh như các kỹ thuật đã công bố [1], [2], [3], [4], [5].  Tuy nhiên, các kỹ thuật này sau khi tách thông điệp không khôi phục lại được ảnh gốc ban đầu.

Một vài lĩnh vực như y học, quân đội hoặc nghiên cứu thực nghiệm vật lý phân tử năng lượng cao, ... nó đòi hỏi không những tách đúng thông điệp mà còn khôi phục đúng ảnh gốc ban đầu. Vào năm 2001, phương pháp giấu thuật nghịch đầu tiên được đề xuất bởi Honsinger cùng các đồng nghiệp [6], từ đó đến nay nhiều kỹ thuật giấu thuật nghịch được công bố với hai hình thức giấu chính là trong miền biến đổi và trong miền dữ liệu.

Gần đây, kỹ thuật giấu thuận nghịch (NSAS) dựa trên dịch chuyển histogram của ảnh được đề xuất bởi Ni và các đồng nghiệp [7], họ chỉ ra rằng kỹ thuật giấu này có độ phức tạp thấp và thời gian thực hiện nhỏ, không làm thay đổi nhiều nội dung ảnh. Sau đó để nâng cao lượng thông điệp giấu trong ảnh Hwang và các đồng nghiệp để xuất kỹ thuật HKC [8] dựa trên cải tiến kỹ thuật của Ni. Đến năm 2008, Kuo và các đồng nghiệp cải thiện lượng thông điệp giấu bằng cách cải tiến kỹ thuật giấu HKC dựa trên hình thức chia khối [10].

Tuy nhiên các kỹ thuật này mặc dù không làm thay đổi nhiều nội dung của vật mang tin nhưng nó để lại một dấu hiệu không bình thường trên lược đồ histogram của các ảnh đó. Vì vậy dựa trên quan sát một loạt histogram của các ảnh sau khi giấu tin bằng các kỹ thuật trên chúng tôi thấy có thể dễ dàng phát hiện ra ảnh có giấu tin sử dụng kỹ thuật này.

Trong phần 2. chúng tôi sẽ trình bày lại thuật toán giấu tin NSAS, HKC và HKC cải tiến,  phương pháp phát hiện ảnh có giấu tin được trình bày chi tiết trong phần 3., phần 4. đưa ra một số kết quả thực nghiệm và cuối cùng là phần kết luận được trình bày trong phần 5.

2. Một số lược đồ giấu tin dựa trên histogram của ảnh

Vào năm 2006, Ni và các đồng nghiệp đã đề xuất lược đồ giấu tin thuật nghịch NSAS trên ảnh dựa trên dịch chuyển histogram của ảnh [7]. Theo kỹ thuật đề xuất của Ni quá trình giấu tin gồm các bước dưới đây:

Thuật toán giấu thuật nghịch NSAS

Bước 1. Tìm một điểm zero (điểm không) và một điểm peak (điểm đỉnh). Điểm zero và điểm peak là điểm có giá trị cấp xám của pixel trong lược đồ histogram của ảnh nhỏ nhất và bằng cực đại. Hình 1 là ví dụ minh hoạ cho kỹ thuật này (a) histogram của ảnh lena trước khi giấu tin. Để đơn giản ví dụ điểm zero ở vị trí 255 (h(255)=0) và điểm peak ở 154 (h(154)=2859).

 Bước 2. Quét toàn bộ ảnh theo trình tự từ trái sang phải, từ trên xuống. Các pixel có giá trị xám nằm trong khoảng [155  254] được tăng lên một giá trị. Nó sẽ làm cho tần số của 155 bằng 0.

Bước 3. Nhúng bit thông điệp “0” và “1” lần lượt vào trong các giá trị xám 154 và 155 theo nguyên tắc sau: Giả sử pixel đang xét là 154 kiểm tra bit cần nhúng nếu là bit “1” thì pixel 154 sẽ tăng lên 1, ngược lại nếu bit cần nhúng là bit “0” thì pixel 154 vẫn giữ nguyên. Hình 1 (b) Histogram của ảnh sau khi giấu tin.

Hình 1. (a) Histogram ảnh gốc, (b) Histogram ảnh giấu tin

Cuối cùng chúng ta nhận được ảnh stego-image, sau đó chúng ta có thể chuyển đến người nhận thông qua internet. Người nhận có thể khôi phục lại trực tiếp thông điệp và ảnh gốc bằng kỹ thuật biến đổi ngược.

Trong kỹ thuật NSAS chúng ta thấy khả năng giấu thông điệp phụ thuộc vào độ lớn của điểm peak, như với ví dụ trên khả năng giấu lượng thông điệp của ảnh không quá 2859 bit trong ảnh.  Tuy nhiên làm thế nào để truyền thông tin về điểm zero và điểm peak hay thông tin bổ sung thông điệp giấu từ người gửi đến người nhận là không được đề cập trong tài liệu này. Để cải tiến vấn đề này Hwang và các đồng nghiệp của ông đề xuất kỹ thuật giấu thuật nghịch HKC [8].

Thuật toán giấu thuật nghịch HKC.

Bước 1. Tìm ra một điểm peak (đó là vị trí 154 trong ảnh ví dụ) và hai điểm min (đó là vị trí 273 và 23 trong ảnh ví dụ). Điểm peak và các điểm min tương ứng với số pixel của chúng là lớn nhất và nhỏ nhất trong ảnh (xem hình 2.1 (b))

Bước 2. Nhằm để khôi phục chính xác ảnh gốc, một bản đồ  vị trí được đề xuất dùng để lưu trữ thông tin vị trí của các pixel (như là điểm peak, điểm min bên trái điểm peak, điểm min bên phải điểm peak) trong lược đồ HKC.

Bước 3. Khởi tạo không gian để nhúng thông điệp. Các pixel được định vị trong histogram nằm ở bên trái giữa điểm peak và điểm min bên trái sẽ dịch sang trái một pixel. Tương tự, các pixel được định vị nằm ở bên phải giữa điểm peak và điểm min bên phải sẽ dịch sang phải một pixel.

Bước 4. Nhúng thông tin mật vào trong ảnh.

Hình 2. (a) Histogram ảnh gốc (b) Histogram ảnh giấu tin

Do lược đồ HKC không nói làm thế nào để tăng số cặp (điểm peak, các điểm min) trong bản đồ định vị vị trí để tăng dung lượng giấu nhiều hơn nữa. Để làm điều này Kuo và các đồng nghiệp (2008) để xuất kỹ thuật giấu cải tiến của HKC [10] bằng phương pháp chia khối, thuật toán như sau:

Hình 3. (a) Histogram của ảnh với 4 khối chia

Hình 3 (b) Histogram của ảnh có giấu tin trên 4 khối

Thuật toán giấu thuận nghịch HKC cải tiến:

Bước 1: Chia miền dữ liệu ảnh cover thành các khối bằng nhau (tác giả ví dụ chia thành 4 khối – hình 3)

Bước 2: Tính histogram cho mỗi khối. Sau đó tìm điểm Max và hai điểm min trong mỗi khối. Đồng thời, tạo ra không gian nhúng thông điệp bằng cách dịch chuyển lần lượt hai mặt của điểm max sang bên trái và bên phải một đơn vị.

Bước 3: Một bản đồ vị trí được tạo ra để lưu trữ thông tin của các pixel (điểm max, điểm min bên trái, điểm min bên phải trong mỗi khối)

Bước 4: Nhúng thông tin mật vào trong ảnh (minh hoạ trong hình 3 (a) histogram của ảnh trước khi giấu với 4 khối chia, histogram của ảnh sau khi giấu tin trên 4 khối chia)

3. Phương pháp phát hiện ảnh có giấu tin

Với kỹ thuật giấu thuật nghịch NSAS, HKC và HKC cải tiến có thể dùng để truyền thông điệp giữa người gửi và người nhận. Mặc dù chúng ta có thể nhận được ảnh stego tương tự như ảnh cover, nhưng các kỹ thuật này để lại một dấu hiệu không bình thường trên histogram của ảnh gốc sau khi nhúng thông điệp vào ảnh.

Vào năm 2008, Kuo và các đồng nghiệp của ông đề xuất kỹ thuật phát hiện ảnh có giấu tin [9] bằng kỹ thuật HKC. Nhóm tác giả quan sát histogram dựa vào đỉnh peak trước và sau khi giấu thấy hai giá trị lân cận hai bên của đỉnh peak bị tụt xuống do giấu tin như mô tả trong hình 4 (a) và (b), vì vậy họ đưa ra định lý 1 để xây dựng kỹ thuật phát hiện dưới đây. Ở đây ký hiệu (xi, yi) là cặp giá trị trong đó yi= h(xi) (với pixel xi có tần số tương ứng là yi trong ảnh).


Hình 4. (a) Ảnh gốc, (b) ảnh sau khi giấu tin

Định lý 1: Có 5 cặp giá trị liên tiếp (x1, y1), (x2, y2), (x3, y3), (x4, y4), (x5, y5). (x3, y3) là cặp giá trị điểm peak. Tỉ lệ thay đổi của 5 điểm liên tục và mối quan hệ láng giềng được định nghĩa lần lượt như biểu thức (1) và (2):

 (1)

(2)

 Với t2 là giá trị ngưỡng (trong [9] tác giả lấy t2 = 0.1)

Do đó, Kuo đưa ra thuật toán phát hiện ảnh có giấu tin bằng kỹ thuật HKC theo các bước sau:

Bước 1. Tìm cặp giá trị điểm peak (xmax, ymax)

Bước 2. Tính tỉ lệ thay đổi và mối quan hệ láng giềng bằng cách sử dụng định lý 1.

Bước 3. Nếu 5 cặp giá trị liên tiếp lân cập (xmax, ymax) thoả mãn biểu thức (1) và (2) thì kết luận ảnh có giấu tin trong vùng này, ngược lại ảnh không giấu tin.


Hình 5. Biểu đồ histogram của: (a) ảnh gốc, (b) ảnh giấu tin bằng NSAS, (c) ảnh giấu tin bằng HKC

Với kỹ thuật phát hiện do Kuo đề xuất trong một số trường hợp giấu tin của HKC chúng tôi thấy không phù hợp khi thông điệp không được giấu hết vào vị trí của cột peak. Ví dụ như hình 5 (a) điểm peak là 146, sau khi giấu tin hai cột giá trị lân cận peak là 145 và 147 bị tụt xuống, nhưng lượng giấu ít hơn độ lớn của 2 điểm này cho lên giá trị của 144 không bằng 145 và giá trị 147 không bằng 148 (xem hình 5 (c)), khi đó biểu thức (2) của Kuo không thoả mãn.

Mặt khác, kỹ thuật phát hiện này không thể áp dụng được với kỹ thuật giấu NSAS vì với kỹ thuật giấu này sau khi giấu một lượng thông điệp nó sẽ làm tụt giá trị của peak và hình thành peak mới là giá trị lân cận của nó. Ví dụ trong hình 5 (a) điểm peak là 146, sau khi giấu tin điểm peak mới là 147 hình 5 (b), còn giá trị peak cũ bị tụt xuống do giấu tin.

Vì vậy chúng tôi đề xuất kỹ thuật phát hiện phù hợp với cả hai kỹ thuật này. Chúng ta cũng dựa vào mối quan hệ láng giềng giữa các pixel để phát hiện ảnh stego. Chúng tôi đưa ra cách khác áp dụng định lý 2 dùng để phát hiện vùng được nhúng dữ liệu mật như sau:

Định lý 2: Có 4 cặp giá trị liên tiếp nhau: (x1, y1), (x2, y2), (x3, y3), (x4, y4) với điểm Peak (điểm max) là (x1, y1) hoặc (x4, y4). Khi mối quan hệ láng giềng của bốn điểm liên tiếp này được định nghĩa như sau:

 (3)

   Áp dụng định lý 2, chúng ta có thể xây dựng các thuật toán phát hiện ảnh có giấu tin bằng kỹ thuật NSAS, HKC và HKC cải tiến.

Thuật toán phát hiện ảnh có giấu tin bằng kỹ thuật giấu NSAS và HKC:

Bước 1: Thống kê tần số pixel của ảnh.

Bước 2: Tìm giá pixel có tần số lớn nhất (ký hiệu (xmax, ymax)), tìm 3 cặp điểm liên tiếp bên trái (xmax­­-3,ymax­-3), (xmax-2,ymax-2), (xmax-1,ymax-1) và liên tiếp phải (xmax+1, ymax+1), (xmax+2,ymax+2), (xmax+3,ymax+3).

Bước 3. Nếu 4 điểm (xmax­­-3,ymax­-3), (xmax-2,ymax-2), (xmax-1,ymax-1) và (xmax, ymax) hoặc (xmax, ymax), (xmax+1, ymax+1), (xmax+2,ymax+2) và (xmax+3,ymax+3) không thoả mãn biểu thức (3) thì chúng ta có thể phát hiện thông điệp được giấu trong vùng này. Ngược lại, có thể kết luận ảnh này không giấu tin.

Thuật toán phát hiện ảnh có giấu tin bằng kỹ thuật giấu HKC cải tiến:

Bước 1. Chia miền dữ liệu ảnh thành các khối bằng nhau.

Bước 2. Thống kê tần số pixel của từng khối. Sau đó mỗi khối được thực hiện lần lược bước 3 và bước 4 để kiểm tra.

Bước 3. Tìm giá pixel có tần số lớn nhất (ký hiệu (xmax, ymax)), tìm 3 cặp điểm liên tiếp bên trái (xmax­­-3,ymax­-3), (xmax-2,ymax-2), (xmax-1,ymax-1) và liên tiếp phải (xmax+1, ymax+1), (xmax+2,ymax+2), (xmax+3,ymax+3).

Bước 4. Nếu 4 điểm (xmax­­-3,ymax­-3), (xmax-2,ymax-2), (xmax-1,ymax-1) và (xmax, ymax) hoặc (xmax, ymax), (xmax+1, ymax+1), (xmax+2,ymax+2) và (xmax+3,ymax+3) không thoả mãn biểu thức (3) thì chúng ta có thể phát hiện thông điệp được giấu trong vùng này. Ngược lại, có thể kết luận ảnh này không giấu tin.

Vì không biết trước số khối được chia, lên bước 1 có thể phải thử chia nhiều lần với mỗi lần số khối chia khác nhau để kiểm tra ảnh có giấu tin với số khối chia hay không.

4. Kết quả thực nghiệm

Để thử nghiệm chương trình, chúng tôi cài đặt trên Matlap phiên bản R2007b với tập dữ liệu ảnh gồm 3 ảnh xám kích cỡ 512x512 pixel gồm Lena, Baboon và Peppers hình 6.1-3 (a) được nạp về từ [5], hình 6.1 – 3 (b) histogram của ảnh ban đầu, hình 6.1-3 (c) histogram của ảnh sau khi giấu tin sử dụng kỹ thuật giấu NSAS, hình 6.1-3 (d) histogram của ảnh sau khi giấu tin sử dụng kỹ thuật giấu HKC và hình 6.1-3 (e) histogram của ảnh sau khi giấu tin sử dụng kỹ thuật giấu HKC cải tiến.

 

5. Kết luận

Từ thực nghiệm trong phần 4. chúng ta thấy rằng có một sự khác biệt rõ nét giữa histogram của ảnh gốc và ảnh có giấu tin. Chúng tôi dựa vào đặc điểm này đề xuất kỹ thuật phát hiện ảnh có giấu tin sử dụng các kỹ thuật giấu NSAS, HKC và HKC cải tiến. Công việc tiếp theo, chúng tôi sẽ nghiên cứu một số kỹ thuật phát hiện ảnh có giấu tin sử dụng các kỹ thuật giấu thuận nghịch khác.

Tài liệu tham khảo

[1]. C. C. Chang, J.Y. Hsiao, and C. S. Chan, “Finding optimal LSB Substitution in image hiding by dynamic programming strategy,” Pattern Recognition, vol. 36, no. 7, pp. 1583 -1595, 2003.

[2]. Z. M. Lu, J. S. Pan, and S. H. Sun, “VQ-based digital image watermarking method,” Electron. Lett, Vol. 36, no. 14, pp. 1201 – 1202, 2000.

[3]. H. C. Wu, N. I. Wu, C. S. Tsai, M. S. Hwang, “Image Steganographic scheme based on pixel-value differencing and LSB replacement methods,” IEE Proc.-Vis. Image Signal Process., Vol. 152, Issue 5, pp. 611 – 615, 2005.

[4]. S. H. Liu, T. H. Chen, H. X. Yao and W. Gao, “A variable depth LSB data hiding technique in images,” Machine Learning and Cybernetics, 2004, pp. 3990-3994, 2004.

[5]. C. I. Podilchuk and E. J. Delp, “Digital watermarking: Algorithms and applications”, IEEE Signal Process. Mag., vol. 18, no. 4, pp. 33-34, Jul. 2001.

[6]. C. W. Honsinger, P. Jones, M. Rabbani, and J. C. Stoffel, “Lossless recovery of an original image containing embedded data”, US Patent application, Docket no: 77102/E-D, 2001.

[7]. Zhicheng Ni, Yun-Qing Shi, Nirwan Ansari, and Wei Su, “Reversible Data Hiding”, IEEE Transactions on Circuits and Systems for Video Technology, Vol. 16, No.3, pp. 354-362, 2006.

[8]. J.H. Hwang, J. W. Kim, and J. U. Choi, “A Reversible Watermarking Based on Histogram Shifting”, IWDW 2006, LNCS 4283, pp. 384-361, 2006.

[9]. Wen-Chung Kuo, Yan-Hung Lin, “On the Security of Reversible Data Hiding Based-on Histogram Shift”,  ICICIC 2008, ISSN/ISBN 9780-769531618, pp. 174-177, 2008.

[10]. Wen-Chung Kuo, Dong-Jin Jiang, Yu-Chih Huang, “A Reversible Data Hiding Scheme Based on Block Division”, Vol. 1, CISP., pp. 365-369, 2008.

[11]. USC-SIPI Image Database, “http://sipi.usc.edu/services/-database/Database.html”.

Nội dung đính kèm:   download 

Phòng QLKH&CGCN
♦ Ý kiến của bạn
Chia sẻ :

Địa chỉ: Số 36 - Đường Dân Lập - Phường Dư Hàng Kênh - Quận Lê Chân - TP Hải Phòng
Điện thoại: 0225 3740577 - 0225 3833802 -- Fax: 0225.3740476 Email: webmaster@hpu.edu.vn