TỔNG QUAN VỀ GIẤU TIN TRONG ẢNH
Định nghĩa giấu thông tin
Giấu thông tin là kỹ thuật nhúng một lượng thông tin số vào trong một đối tượng dữ liệu số khác, và không chỉ đơn thuần là hành động giấu mà còn mang ý nghĩa quy ước Trong lĩnh vực giấu tin mật (Steganography), có những định nghĩa cụ thể hơn và được phân loại theo các hệ thống giấu tin mật Các hệ thống này có thể được chia thành ba loại chính.
1.1.1.1 Giấu tin thuần tuý (Pure Steganography)
Một hệ pure Steganography được định nghĩa bởi bộ 4 yếu tố σ(C, M, D, E), trong đó C là tập hợp các phương tiện chứa thông tin cần giấu, M là tập hợp các thông điệp cần giấu với điều kiện |C|≥|M| Hàm E: C×M → C thực hiện việc nhúng thông điệp M vào phương tiện C, trong khi hàm D: C → M giải mã thông tin sao cho D(E(c, m)) = m với mọi m ∈ M và c ∈ C.
1.1.1.2 Giấu tin dùng khoá bí mật (Secret key Steganography)
Một bộ năm σ(C, M, K, Dk, Ek) bao gồm C là tập hợp các phương tiện chứa thông tin cần giấu, M là tập hợp các thông điệp cần giấu với điều kiện |C|≥|M|, K là tập hợp các khóa bí mật Hàm Ek: C×M×K → C được sử dụng để nhúng thông điệp M vào phương tiện chứa C bằng cách sử dụng khóa K.
K và Dk: C × K→ M là hàm giải tin sao cho Dk(Ek(c, m, k), k) = m với mọi m ∈ M, c
∈ C và k ∈ K được gọi là một hệ Secret key Stegangraphy
1.1.1.3 Giấu tin dùng khoá công khai (Public Key Steganography)
Hệ giấu tin mật khoá công khai hoạt động tương tự như hệ mã mật khoá công khai, nhưng không cần truyền khoá bí mật Thay vào đó, nó sử dụng hai loại khoá: khoá công khai và khoá bí mật Khoá công khai được lưu trữ trong cơ sở dữ liệu công cộng và được sử dụng trong quá trình giấu tin, trong khi khoá bí mật được sử dụng để giải mã thông tin.
1.1.2 Phân loại các kỹ thuật giấu tin
Kỹ thuật giấu thông tin số đang trong giai đoạn phát triển chưa ổn định, với nhiều phương pháp mới được đề xuất từ các khía cạnh khác nhau Do đó, hiện tại vẫn chưa có một định nghĩa chính xác cho lĩnh vực này.
Sơ đồ phân loại của Yedla Dinesh và Addanki Parna Ramesh, được đề xuất vào tháng 1 năm 2012, dựa trên phép biến đổi sóng nhỏ (Wavelet), cung cấp một đánh giá phân loại rõ ràng với 6 xác.
Lĩnh vực giấu dữ liệu được chia thành hai hướng chính: watermarking và steganography Watermarking tập trung vào việc giấu thông tin ngắn với độ bền vững cao trước các biến đổi thông thường của tệp dữ liệu, trong khi steganography chú trọng vào việc che giấu các bản tin có mật độ và dung lượng lớn.
Môi trường giấu tin
Giấu thông tin trong ảnh hiện nay là một phần quan trọng trong các ứng dụng và phần mềm, do lượng thông tin được trao đổi qua hình ảnh rất lớn Việc này đóng vai trò thiết yếu trong các ứng dụng bảo vệ an toàn thông tin, như xác thực thông tin, phát hiện xuyên tạc, bảo vệ bản quyền, và kiểm soát truy cập Do đó, vấn đề giấu thông tin trong ảnh đã thu hút sự quan tâm lớn từ cá nhân, tổ chức, trường đại học và viện nghiên cứu trên toàn thế giới.
Giấu tin trong ảnh, hay còn gọi là kỹ thuật steganography, là phương pháp sử dụng thông tin dư thừa của ảnh gốc để nhúng thông tin bí mật vào đó Kỹ thuật này đảm bảo rằng chỉ người gửi và người nhận mới biết về sự tồn tại của thông tin đã giấu, trong khi những người khác khó có thể phát hiện ra.
Giấu tin trong ảnh bao gồm hai giai đoạn chính: nhúng thông tin vào ảnh gốc và tách thông tin đã giấu Để bảo mật thông tin tốt hơn, người ta thường mã hóa dữ liệu trước khi giấu Trong quá trình tách thông tin, việc sử dụng dữ liệu gốc có thể không cần thiết Các kỹ thuật giấu tin hiệu quả thường không yêu cầu dữ liệu gốc để lấy lại thông tin đã giấu.
Hình 1.1 : Sơ đồ quá trình giấu tin trong ảnh
Hình 1.2 : Sơ đồ quá trình tách tin trong ảnh
Hình 1.1 và 1.2 minh họa quá trình giấu tin và tách tin trong ảnh, sử dụng các phép biến đổi tần số như cosine và wavelet thông qua T và T -1.
Thông tin có thể được giấu trong dữ liệu ảnh mà không làm giảm chất lượng hình ảnh, tạo ra nhiều ứng dụng quan trọng trong xã hội hiện đại Ở các nước phát triển, chữ ký tay đã được số hóa và sử dụng trong ngân hàng và tài chính để xác thực thẻ tín dụng Phần mềm WinWord của Microsoft cho phép người dùng lưu trữ chữ ký trong ảnh nhị phân để bảo đảm an toàn thông tin Việc xác thực chữ ký và thông tin trở nên cực kỳ quan trọng trong bối cảnh gia tăng tình trạng ăn cắp và xuyên tạc thông tin Ngoài ra, nhiều loại thông tin nhạy cảm như an ninh, bảo hiểm và tài chính cũng cần được bảo mật và lưu trữ an toàn trên hệ thống máy tính hoặc mạng.
Biến đổi ngược T -1 ( tùy chọn)
Dữ liệu có chứa thông tin s
Dữ liệu có chứa thông tin (Stego) s
Thông tin trong ảnh rất dễ bị đánh cắp và thay đổi bởi các phần mềm chuyên dụng, do đó việc nhận diện và phát hiện thông tin bị xuyên tạc trở nên cực kỳ quan trọng Một đặc điểm nổi bật của việc giấu thông tin trong ảnh là thông tin được ẩn giấu một cách vô hình, cho phép truyền tải thông tin mật mà không ai có thể phát hiện Sau khi giấu thông tin, chất lượng ảnh gần như không thay đổi, đặc biệt là đối với ảnh màu và ảnh xám.
Giấu thông tin trong audio có những đặc điểm riêng biệt so với các phương tiện đa phương tiện khác, với yêu cầu cơ bản là đảm bảo tính ẩn của thông tin mà không làm ảnh hưởng đến chất lượng dữ liệu gốc Kỹ thuật này phụ thuộc vào hệ thống thính giác của con người (HAS), và một thách thức lớn là khả năng nghe của con người ở các tần số rộng và công suất lớn, điều này gây khó khăn cho việc giấu tin Tuy nhiên, HAS lại kém trong việc phát hiện sự khác biệt giữa các dải tần và công suất, cho phép âm thanh lớn che giấu âm thanh nhỏ một cách hiệu quả Các mô hình phân tích tâm lý đã chỉ ra điểm yếu này, giúp lựa chọn audio phù hợp cho việc giấu tin Một thách thức khác là kênh truyền tin, vì băng thông chậm có thể ảnh hưởng đến chất lượng thông tin sau khi giấu Để nhúng thông tin vào audio (16 bit, 44.100 Hz), các phương pháp cần ít nhất 20 bit/s Giấu thông tin trong audio yêu cầu tính đồng bộ và an toàn cao, và các phương pháp hiện tại đều khai thác điểm yếu trong hệ thống thính giác của con người.
1.2.3 Giấu thông tin trong video
Giấu thông tin trong video đang trở thành một xu hướng quan trọng, tương tự như việc giấu thông tin trong ảnh hay audio Công nghệ này được phát triển mạnh mẽ để phục vụ cho nhiều ứng dụng, bao gồm kiểm soát truy cập thông tin, xác thực thông tin và bảo vệ bản quyền tác giả Một ví dụ điển hình là các hệ thống trả tiền xem theo đoạn video clip, cho phép người dùng truy cập nội dung một cách có kiểm soát.
Các kỹ thuật giấu tin trong video đang phát triển mạnh mẽ, tập trung vào hai xu hướng chính: thuỷ vân số và data hiding Một phương pháp nổi bật là phương pháp phân bố đều của Cox, với ý tưởng phân phối thông tin giấu theo tần số của dữ liệu gốc Nhiều nghiên cứu đã áp dụng các hàm cosin riêng và hệ số truyền sóng riêng để thực hiện việc giấu tin Trong khi các thuật toán ban đầu chủ yếu cho phép giấu hình ảnh, gần đây đã có sự phát triển cho phép giấu cả âm thanh và hình ảnh vào video Chẳng hạn, phương pháp của Swanson sử dụng kỹ thuật giấu theo khối, cho phép giấu hai bít vào khối 8x8, và phương pháp mới nhất của Mukherjee áp dụng kỹ thuật giấu âm thanh vào video thông qua cấu trúc lưới đa chiều.
1.2.4 Giấu thông tin trong văn bản dạng text
Việc giấu thông tin vào văn bản dạng text gặp nhiều khó khăn do thiếu thông tin dư thừa Để thực hiện điều này, cần khéo léo khai thác những dư thừa tự nhiên của ngôn ngữ Một phương pháp khác là sử dụng các định dạng văn bản, như mã hóa thông tin và điều chỉnh khoảng cách giữa các từ khóa hoặc dòng văn bản Ngoài ra, người ta có thể áp dụng ngữ pháp phi ngữ cảnh để tạo ra các văn bản “phương tiện chứa” nhằm truyền tải thông điệp hiệu quả.
Biến đổi ảnh từ miền không gian sang miền tần số sóng nhỏ
Sóng nhỏ phân tách ảnh thành nhiều dải tần số gọi là subband Mỗi mức wavelet được xử lý hai lần, một lần theo chiều ngang và một lần theo chiều dọc, tạo ra bốn dải tần số.
1 horizontally and vertically lowpass (LL)
2 horizontally lowpass and vertically highpass (LH)
3 horizontally highpass and vertically lowpass (HL)
4 horizontally and vertically highpass (HH)
Hình 1.3 a) Biến đổi wavelet, b) Cấu trúc dải
Chúng ta sẽ xem xét tín hiệu ảnh đầu vào, cụ thể là tín hiệu tile - component đối với ảnh lớn Với sự phân tách wavelet mức R-1 tương ứng với mức phân giải thứ R, ta đánh số từ 0 đến R-1, trong đó 0 là mức phân giải kém nhất và R-1 là mức tốt nhất Mỗi dải trong phân tách được xác định bởi hướng (như LL, LH, HL, HH) và mức phân giải tương ứng Ở mỗi mức phân giải, dải LL sẽ bị phân tách nhỏ hơn, ví dụ dải LLR-1 sẽ phân tách thành các dải LLR-2, HLR-2, LHR-2 và HHR-2 Quá trình phân tách này sẽ lặp lại cho đến khi thu được dải LL0 Nếu không thực hiện biến đổi (R=0), chỉ có duy nhất dải LL0.
Phương pháp đánh giá chất lượng ảnh bằng PSNR(peak signal-to-noise ratio)
PSNR là phương pháp đánh giá độ nhiễu của ảnh trước và sau khi giấu tin, với đơn vị đo là logarithm decibel Giá trị PSNR cao cho thấy độ nhiễu thấp hơn, trong đó PSNR từ 35dB trở lên được coi là tốt, trong khi dưới 20dB là không chấp nhận được Hiện nay, PSNR được sử dụng rộng rãi trong kỹ thuật đánh giá chất lượng hình ảnh và video sau khi biến đổi.
Cách đơn giản nhất để định nghĩa chất lượng ảnh là sử dụng trung bình lỗi bình phương (MSE - mean squared error), được áp dụng cho ảnh 2 chiều có kích thước m×n, trong đó I là ảnh gốc và K là ảnh được khôi phục tương ứng.
MSE = 1 mn m−1 i=0 n−1 j=0 I i, j − K i, j 2 PSNR được định nghĩa bởi:
MSE (Mean Squared Error) được tính bằng cách lấy giá trị tối đa của điểm ảnh trên ảnh I, ký hiệu là MAX(I) Đối với ảnh 8 bit, giá trị này là 255, trong khi với ảnh B bit, MAX(I) là 2B−1 Đối với ảnh màu, mỗi điểm ảnh có 3 giá trị RGB, do đó, MSE được tính bằng tổng của 3 giá trị RGB chia cho kích thước ảnh và sau đó chia cho 3 để tính PSNR.
GIẤU ẢNH MÀU TRONG ẢNH MÀU
Giới thiệu
-Kĩ thuật giấu ảnh trong ảnh màu do 2 tác giả Yedla dinesh & Addanki parna ramesh đề suất vào tháng 1/2012 dựa trên phép biến đổi sóng nhỏ (Warelet) [3]
Sử dụng phép biến đổi tần số rời rạc để ẩn giấu ảnh thông điệp trong ảnh gốc, đồng thời biến đổi ảnh thông điệp sang miền tần số sóng nhỏ, là một phương pháp hiệu quả trong lĩnh vực giấu tin Kỹ thuật này không chỉ bảo vệ thông tin mà còn đảm bảo tính toàn vẹn của ảnh gốc.
Thuật toán giấu tin
Ảnh sử dụng để giấu tin
Thông tin cần giấu Đầu ra:
Bước 1: Xem xét ảnh gốc ban đầu
Bước 2: Áp dụng biến đổi tần số rời rạc hai mức cho ảnh gốc và phân đoạn nó vào các khối 8 x 8
Bước 3: Khóa mật được sử dụng để quyết định thứ tự khối sẽ được lựa chọn giấu tin
Bước 4: Tính toán đọ phức tạp của mỗi khối cho mỗi kênh màu và tính ngưỡng theo biểu thức:
𝑁 𝐼 𝑁 𝑤 Trong đó Iw là hệ số biến đổi Wavelet của ảnh gốc, N là số hệ số
Bước 5: Khả năng giấu thông tin của mỗi khối phụ thuộc vào giá trị của bit quan trọng nhất (MSB) đầu tiên của các hệ số có độ phức tạp vượt quá ngưỡng T.
Bước 6: Áp dụng biến đổi sóng nhỏ rời rạc 2 mức cho ảnh thông điệp
Bước 7: Phương pháp giấu tin được mô tả như sau : Sau khi biến đổi ảnh gốc A, khi đó A có kích cỡ GA x HA được thể hiện như sau:
Trong đó Cij là các hệ số tương ứng với 3 kênh màu RGB (từ ảnh biến đổi) và M là hệ số của ảnh thông điệp „s‟
Hệ số mij là giá trị tương ứng của ảnh thông điệp đã được biến đổi Để nhúng hệ số "s" vào khối ảnh đã biến đổi, trước tiên chúng ta cần sắp xếp lại thông điệp thành M*.
Trong đó c là tổng khả năng giấu của mỗi khối, s*< GA x H A , khi đó các hệ số được hình thành theo biểu thức sau:
Trong quá trình biến đổi ảnh, khi giá trị hệ số nhỏ hơn ngưỡng, thông tin sẽ được nhúng bằng cách thay thế hệ số m*ij cho C ij Tập hợp các hệ số {C1,C2, Cs*} của Cij sẽ chứa các hệ số thông điệp được điều chỉnh theo công thức đã nêu.
C* ij = C ij – C ij mod 2 c + m* ij
Bước 8: Cuối cùng được ảnh đã giấu tin
Hình 2.1 là sơ đồ tổng quát của quá trình giấu tin
Hình 2.1 Sơ đồ giấu tin trong ảnh Ảnh vào cover để giấu tin
Bi giấu tinerlsóng nhỏ rời rạc
Biến đổi sóng nhỏ rời rạc cho ảnh thông điệp cần giấu Ảnh đã giấu tin
Tính khả năng giấuCho biết ngưỡng
Thuật toán tách tin
Ảnh có giấu tin, kích cỡ của thông điệp đã giấu Đầu ra:
Thông tin được giấu trong ảnh
Bước 1: Biến đổi ảnh đã giấu tin sang miền tần số rời rạc 2 mức
Bước 2: Sử dụng khóa mật đã áp dụng trong quá trình giấu tin
Bước 3:Các hệ số thông điệp đã giấu được tách ra từ các hệ số {C*1,C*2, C*s*} đã được lựa chọn trong quá trình giấu tin
Hình 2.2 là sơ đồ tổng quát của quá trình tách tin
Hình 2.2 Sơ đồ tách tin trong ảnh
Biến đổi sang miền tần số sóng nhỏ rời rạc
Dữ liệu ảnh đã giấu tin
Ví dụ minh họa
Sử dụng ảnh Lena.bmp kích thước 512x512 để che giấu thông tin, trong khi thông điệp là ảnh Logo.bmp kích thước 30x30 Kết quả là ảnh đã giấu tin với chất lượng được đánh giá bằng PSNR đạt 56.8466 Db, nằm trong phạm vi mà mắt thường không thể phát hiện.
Hình 2.3 Tập ảnh thử nghiệm:a) Lena.bmp, b) Logo.bmp, c) Ảnh sau khi giấu tin
CÀI ĐẶT THỬ NGHIỆM
Môi trường cài đặt
Ngôn ngữ cài đặt, môi trường soạn thảo và chạy chương trình được thực hiện trên ngôn ngữ lập trình Matlab 7.7(2008b)
Hệ điều hành Window XP và môi trường NetFarme Work 2.0.
Giao diện chương trình
Hình 3.1 Giao diện chính của chương trình Đây là giao diện khi khởi động, từ đây ta sẽ gọi đến các giao diện khác thông qua menu
Từ menu “Anh Mau” chọn “giau tin” sẽ gọi đến giao diện giấu tin hình 3.2.
Giao diện giấu tin cho phép người dùng nhúng thông tin vào ảnh thông qua việc điều chỉnh hệ số Wavelet Để bắt đầu, người dùng chỉ cần nhấn nút “Mở ảnh” trong giao diện, sau đó một hộp thoại sẽ xuất hiện để lựa chọn ảnh cần giấu tin.
Hình 3.3 Chọn ảnh để giấu tin
Sau khi chon open Anh se duoc giau tin se mo ra
Hình 3.4.Anh de giau tin
Tiếp theo, ta sẽ nhập thông điệp cần giấu vào ảnh bằng cách nhập trực tiếp vào ô thông điệp như hình 3.5
Hình 3.5 Nhập thông điệp cần giấu
Tiếp theo ta sẽ lưu ảnh đã giấutin
Hình 3.6 Lưu ảnh giấu tin
Ta chọn nút “Giau tin” để bắt đầu thực hiện quá trình giấu tin trong ảnh màu
Giấu tin xong chương trình sẽ cho ra ảnh đã giấu tin
Hình 3.7 Kết quả của quá trình giấu tin
Từ menu “Tach tin” trên giao diện chính gọi ra giao diện tách tin hình 3.10
Giao diện tách tin, như hình 3.8, cho phép người dùng lấy ảnh đã được giấu thông tin, từ đó tách và khôi phục lại thông tin cũng như phục hồi ảnh gốc.
Thực hiện mở ảnh có giấu tin để tách tin và khôi phục ảnh thông điệp
Hình 3.9 Chọn ảnh để tách tin và khôi phục
Nhập các thông số kiểm soát tương ứng vaò ô thông tin ảnh thông điệp
Hình 3.10 Nhập thông điệp để tách tin
Sau khi nhập ảnh và các thông số kiểm soát tương ứng, chọn nút “Tach tin” để bắt đầu quá trình tách tin
Hình 3.11 Quá trình tách tin khôi phục ảnh gốc Đây là giao diện đánh giá ảnh sau khi đã giấu tin và khôi phục
Hình 3.12 Giao diện đánh giá ảnh
Chọn nút “…” để chọn ảnh cần đánh giá
Hình 3.13 chọn ảnh để đánh giá
Sau khi đã chọn 2 ảnh để đánh giá với nhau, chọn nút “Danh gia” để thực hiện quá trình đánh giá
Hình3.14 Đánh giá chất lượng ảnh
Kết quả sẽ cho ta giá trị đánh giá ảnh, nếu:
Giá trị là 100 db thì 2 ảnh là 1 không có thay đổi
Giá trị lớn hơn 35 db nhỏ hơn 100 db thì ảnh có thay đổi nhưng ở mức chấp nhận được
Giá trị nhỏ hơn 35 db thì ảnh biến dạng mắt thường có thể nhận thấy
Giá trị nhỏ hơn 20 db thì ảnh biến dạng không thể chấp nhận được.
Thử nghiệm chương trình
Thực nghiệm này sẽ đánh giá chỉ số PSNR giữa ảnh gốc và ảnh sau khi giấu tin Tập ảnh thử nghiệm bao gồm 10 ảnh màu định dạng PNG kích thước 512x512 trong tập A1 và 40 ảnh ngẫu nhiên từ chụp và tải về trên mạng với kích thước khác nhau, được đặt tên từ Image1 đến Image40, đã được chuyển đổi sang cảnh cấp xám bằng phần mềm Adobe Photoshop CS3.
Chuỗi thông điệp giấu:mat.bmp có kích thước 16x14
Tập ảnh màu chuẩn A1 trước khi giấu tin hình 3.18
Hình 3.15 Tập ảnh màu chuẩn A1 trước khi giấu tin
Tập ảnh màu chuẩn A1 sau khi giấu tin
Hình 3.16 Tập ảnh màu chuẩn A1 sau khi giấu tin
Tập ảnh xám& màu chuẩn A2 trước khi giấu tin hình 3.17
Hình 3.17 Tập ảnh màu và xám chuẩn A2 trước khi giấu tin
Tập ảnh xám& màu ngẫu nhiên A2 sau khi giấu tin
Hình 3.18 Tập ảnh màu& xám chuẩn A2 sau khi giấu tin
Bảng 3.1.Kết quả đánh giá PSNRvới hai tập ảnh A1 và A2 Ảnh gốc Ảnh giấu tin Độ biến dạng PSNR
Nhận xét
Kết quả thử nghiệm cho thấy chỉ có thể giấu ảnh màu có kích thước nhỏ hơn 100 x 100 pixel do sự khác biệt về hệ số giữa các ảnh Khi ảnh che giấu thông tin có màu sắc tương đồng với ảnh thông điệp, hệ số của ảnh sẽ ít bị thay đổi, ngược lại, nếu màu sắc không đồng nhất, hệ số điểm ảnh sẽ thay đổi nhiều, ảnh hưởng đến chất lượng Kỹ thuật giấu thông tin trên LSB chỉ thay đổi nhỏ giá trị điểm ảnh, nhưng với ảnh nhị phân hoặc ảnh cấp xám, kỹ thuật này đã được cải thiện đáng kể.