KỸ THUẬT GIẤU TIN THEO KHỐI BÍT LBS

Một phần của tài liệu Tìm hiểu và nghiên cứu thuật toán phát hiện ảnh có giấu tin bằng kỹ thuật giấu tin thuận nghịch (Trang 34)

2.3.1. Khái niệm

Kỹ thuật giấu tin theo khối bít LSB là phƣơng pháp giấu tin đơn giản nhất, ý tƣởng cơ bản của kỹ thuật này là tiến hành giấu tin vào vị trí các bít ít quan trọng LSB đối với mỗi phần tử trong bảng màu.

Bít LSB (Least Significant Bit) là bít có ảnh hƣởng ít nhất tới việc quyết định tới màu sắc của mỗi điểm ảnh, vì vậy khi ta thay đổi bít ít quan trọng của một điểm ảnh thì màu sắc của điểm ảnh mới sẽ tƣơng đối gần với điểm ảnh cũ. Ví dụ, đối với ảnh 16 bít thì 15 bít dùng để biểu diễn 3 màu RGB của điểm ảnh, còn bít cuối cùng không dùng đến là bít LSB đƣợc tách ra để giấu tin. Việc xác định LSB của mỗi điểm ảnh trong một bức ảnh phụ thuộc vào định dạng của ảnh và số bít màu dành cho mỗi điểm ảnh của nó.

Chẳng hạn trong ảnh 256 màu, mỗi màu đƣợc biểu diễn bởi 8 bít, và bít cuối cùng đƣợc coi là bít ít quan trọng nhất, tức bít bên phải nhất, nhƣ hình 2.2.

Hình 2.2: Bít ít quan trọng LSB

Trong kỹ thuật này, ta coi bít cuối cùng là LSB, thay đổi giá trị của bít này thì sẽ làm thay đổi giá trị của điểm ảnh lên hoặc xuống đúng một đơn vị, với sự thay đổi nhỏ đó cấp độ màu của điểm ảnh sẽ không bị thay đổi nhiều.

Ví dụ khi ta giấu chữ A (mã ASCII là 01000001) vào trong 8 byte của file gốc, cách giấu đƣợc thể hiện nhƣ trong bảng 2.4.

Bảng 2.4: Ví dụ giấu tin LSB

8 byte ban đầu Byte cần giấu (A) 8 byte sau khi giấu

00101100 0 00101100 10010110 1 10010111 11000101 0 11000100 01011001 0 01011000 01001110 0 01001110 01110111 0 01110110 10010110 0 10010110 10101111 1 10101111 2.3.2. Mô tả kỹ thuật giấu tin LSB

Gọi C là ảnh nguyên bản 8-bít màu xám, kích thƣớc MC x NC điểm ảnh, có dạng :

Và M là thông điệp dài n bít biểu diễn dƣới dạng :

Giả sử rằng n bít của thông điệp M đƣợc nhúng vào k bít LSB ngoài cùng bên phải của ảnh gốc C.

Trƣớc tiên, thông điệp bí mật M sẽ đƣợc sắp xếp lại để tạo thành một hình ảnh ảo k bít, m đƣợc biểu diễn dƣới dạng :

trong đó n’ = MC x NC Việc ánh xạ giữa n bít thông điệp M = {mi} và thông điệp M‟ = { mi‟} có thể đƣợc định nghĩa nhƣ sau : j k k j i ' i m k j m          1 1 0 2

Sau đó, tập hợp con n‟điểm ảnh {x1 , x2 , … , xn } đƣợc chọn từ ảnh gốc C trong một dãy liên tiếp nhau. Khi đó, quá trình giấu tin đƣợc hoàn tất bằng việc thay thế k-LSBs của xi bởi mi‟.

Theo toán học, một giá trị xi của điểm ảnh đƣợc lựa chọn để lƣu trữ k-bít thông điệp mi‟ thay đổi khớp với điểm ảnh đã giấu tin xi‟ nhƣ sau:

' ' 2 mod k i i i i x x m x   

Còn trong quá trình tách tin, với ảnh đã giấu tin S, thông điệp giấu có thể lấy ra mà không đề cập đến ảnh gốc. Sử dụng cùng một trình tự nhƣ trong quá trình giấu, tập hợp các điểm ảnh {x1‟ , x2‟ , … , xn‟ } lƣu trữ các bít thông điệp bí mật đƣợc lựa chọn từ ảnh đã giấu tin. k-LSBs của các điểm ảnh đƣợc tách ra và nối lại để tái tạo thông điệp bí mật, mỗi bít mi‟ của thông điệp giấu có thể đƣợc khôi phục bằng công thức sau: mi’ = xi’ mod 2k

. 2.3.3. Thuật toán thay thế LSB

2.3.3.1. Ý tưởng thuật toán

+ Cho thông tin mật cần giấu là M.

+ Đổi M ra hệ nhị phân, tính độ dài của M sau đó thực hiện thay thế các bít thông tin của M vào các bít LSB của ảnh cho đến khi bít thông tin mật không còn nữa thì dừng lại.

2.3.3.2. Thuật toán giấu

1/. Đầu vào : - Ảnh gốc đa mức xám C - Thông điệp bí mật M - Số bít LSB cần giấu tin: k 2/. Đầu ra : - Ảnh mang tin S 3/. Các bƣớc thực hiện :

- Bước 1 : Biểu diễn ma trận điểm ảnh của C về dạng số thập phân với kích thƣớc M x N phần tử, sau đó chuyển ma trận điểm ảnh về mảng một chiều I với i phần tử, cuối cùng chuyển sang ma trận dạng nhị phân I2.

- Bước 3 : Cứ 8 bít trong I2 tiến hành tách k bít LSB bên phải ngoài cùng ra và ghép phần còn lại với k bít nhị phân của thông điệp M, kết quả thu đƣợc lại đƣa về dạng thập phân và gán ngƣợc lại vào I.

- Bước 4 : Thực hiện lặp lại bƣớc 3 cho tới khi lấy hết chuỗi nhị phân của thông điệp M để ghép với các bít ảnh. Chuyển I từ mảng một chiều về mảng hai chiều mxn phần tử. Ta đƣợc ảnh mới S đã đƣợc giấu tin.

2.3.3.3. Thuật toán tách tin

1/. Đầu vào : - Ảnh mang tin S 2/. Đầu ra : - Ảnh đã tách tin C - Thông điệp bí mật M 3/. Các bƣớc thực hiện :

- Bước 1 : Biểu diễn ma trận điểm ảnh S về dạng số thập phân với M xN phần tử, tiếp tục chuyển đổi ma trận ảnh M x N về mảng một chiều I với i phần tử. - Bước 2 : Chuyển các bít ảnh trong I về dạng nhị phân I2. Sau đó, cứ 8 bít trong I2 lại tách lấy k bít ngoài cùng bên phải, đem ghép các kết quả này lại với nhau.

- Bước 3 : Kết quả thu đƣợc chuyển từ nhị phân về dạng ký tự ta thu đƣợc thông điệp bí mật M.

2.3.4. Thuật toán thay thế LSB theo tỷ lệ p

2.3.4.1. Ý tưởng thuật toán

+ Cho tỷ lệ p% thông tin mật cần giấu (so với kích cỡ của ảnh), tạo ra một ma trận nhị phân có các bít ngẫu nhiên với kích thƣớc bằng p% kích thƣớc ảnh cần giấu.

+Thực hiện thay thế các bít thông tin mật trong ma trận ngẫu nhiên vào các bít LSB cho đến khi các bít thông tin mật trong ma trận không còn nữa thì dừng lại.

2.3.4.2. Thuật toán giấu 1/. Đầu vào : 1/. Đầu vào : - Ảnh gốc đa mức xám C - Thông điệp bí mật M - Số bít LSB cần giấu tin: k - Tỷ lệ p% 2/. Đầu ra : - Ảnh mang tin S 3/. Các bƣớc thực hiện :

- Bước 1 : Biểu diễn ma trận điểm ảnh của C về dạng số thập phân với kích thƣớc M x N phần tử, sau đó chuyển ma trận điểm ảnh về mảng một chiều I với i phần tử, cuối cùng chuyển sang ma trận dạng nhị phân I2.

- Bước 2 : Tính kích thƣớc ma trận ngẫu nhiên là L = p*M*N/100. Từ I2 tạo ra một ma trận I3 có số hàng là M và số cột là R trong đó R = L/M

- Bước 3 : Biểu diễn thông điệp bí mật M về dạng nhị phân.

- Bước 4 : Cứ 8 bít trong I3 tiến hành tách k bít LSB bên phải ngoài cùng ra và ghép phần còn lại với k bít nhị phân của thông điệp M, kết quả thu đƣợc lại đƣa về dạng thập phân và gán ngƣợc lại vào I.

- Bước 5 : Thực hiện lặp lại bƣớc 4 cho tới khi lấy hết chuỗi nhị phân của thông điệp M để ghép với các bít ảnh. Chuyển I từ mảng một chiều về mảng hai chiều MxN phần tử. Ta đƣợc ảnh mới S đã đƣợc giấu tin.

2.3.4.3. Thuật toán tách tin

1/. Đầu vào : - Ảnh mang tin S 2/. Đầu ra : - Ảnh đã tách tin C - Thông điệp bí mật M 3/. Các bƣớc thực hiện :

- Bước 1 : Biểu diễn ma trận điểm ảnh S về dạng số thập phân với M x N phần tử, tiếp tục chuyển đổi ma trận ảnh M x N về mảng một chiều I với i phần tử.

- Bước 2 : Chuyển các bít ảnh trong I về dạng nhị phân I3.

- Bước 3 : Sau đó, cứ 8 bít trong I3 lại tách lấy k bít ngoài cùng bên phải, đem ghép các kết quả này lại với nhau.

- Bước 4 : Kết quả thu đƣợc chuyển từ nhị phân về dạng ký tự ta thu đƣợc thông điệp bí mật M.

2.4. PHÁT HIỆN ẢNH GIẤU TIN SỬ DỤNG KỸ THUẬT LSB DỰA TRÊN HISTOGRAM ẢNH HIỆU TRÊN HISTOGRAM ẢNH HIỆU

2.4.1. Một số khái niệm cơ bản

Đa số các hệ thống giấu tin hầu nhƣ là không hoàn toàn an toàn và có thể để lại các dấu vết dễ nhận ra dƣới dạng này hay dạng khác. Mặc dù con ngƣời khó nhận ra các dấu vết này nhƣng thông qua các kỹ thuật phân tích thống kê, các điểm khác lạ trong ảnh sẽ đƣợc phát hiện ra. Đặc biệt, với các đặc điểm của kỹ thuật giấu tin LSB, nếu chọn dịch chuyển histogram làm công cụ phân tích thống kê mang lại kết quả khá khả quan.

Trong khi tìm hiểu, nghiên cƣ́ u và áp dụng các thuật toán trên một ảnh số nào đó, chúng ta cần lƣu ý một vài khái niệm cơ bản trong lĩnh vƣ̣c xƣ̉ lý ảnh nhƣ sau:

1/. Điểm ả nh: Một phần tƣ̉ nhỏ nhất trong ảnh số ta ̣i to ̣a đô ̣ f (x,y) đƣợc go ̣i là mô ̣t điểm ảnh, mỗi một điểm ảnh tƣơng ƣ́ng với mô ̣t phần tƣ̉ trong ma trâ ̣n ta ̣i hàng x và cột y. Giá trị của phần tử trong ma trận biểu thị cƣờng độ sáng hay giá trị mƣ́c xám của điểm ảnh.

Hình 2.3. Ma trận biểu thi ̣ cường độ sáng của ảnh

Hình 2.3 thể hiện ma trâ ̣n cƣờng đô ̣ sáng của ảnh số BITMAP với số bít biểu diễn màu là 24 (có thang đo đô ̣ xám là [0, 224

-1]). Có thể liệt kê mô ̣t vài điểm ảnh:

- Điểm ảnh (10, 2) có màu đen, giá trị cuờng độ sáng (còn gọi là giá trị mức xám) của điểm ảnh này là 0.

- Điểm ảnh (10, 3) có màu xanh, giá trị mức xám là   23 16 2 i i . - Điểm ảnh (10, 23) có màu trắng, giá trị mức xám là 224

-1.

2/. Giá trị mức xám : Giá trị m ức xám (hay còn đƣợc go ̣i là mƣ́c xám ) của điểm ảnh là cƣờng đô ̣ sáng của điểm ảnh đó , đƣợc gán bằng mô ̣t giá trị nguyên nào đó nằm trong thang đo đô ̣ xám.

3/. Thang đo độ xám: thang đo độ xám phu ̣ thuô ̣c vào số bít dùng để biểu diễn màu của điểm ảnh . Với ảnh số sƣ̉ du ̣ng n bít để biểu diễn màu thì thang đo đô ̣ xám của ảnh số đó đƣợc xác định là [0, 2n

-1]. Ví dụ, đối với ảnh nhị phân dùng 1 bít để biểu diễn màu thì thang đo độ xám là [0, 1] ( 0 là màu đen , 1 là màu trắng), đối với ảnh xám thì thang đo đô ̣ xám là [0, 255] (0 là đen, 255 là trắng).

4/. Histogram: Histogram của một ảnh số với mức xám thuộc dải xám [ 0 , L ] là h(rk) = nk trong đó rk là mức xám thứ k , nk là số điểm ảnh có cùng mức xám thƣ́ k, với 0 ≤ k ≤ L, L > 0.

5/. Biểu đồ Histogram: biểu đồ mô tả sự phân bố các giá trị mức xám củ a các điểm ảnh trong vùng ảnh số đƣợc go ̣i là biểu đồ Histogram, vớ i tru ̣c tung Oy biểu diễn số điểm ảnh nk của mức xám rk còn trục hoành Ox biểu diễn giá trị mƣ́c xám rk, và biểu đồ này còn có tên gọi khác thƣờng dùng là biểu đồ tần suất Histogram. Hình 2.4 thể hiện một ví dụ về biểu đồ tần suất Histogram.

6/. Histogram ảnh hiệu: Giả sử có một ảnh số C bất kỳ , gọi giá trị cƣờng độ sáng của ảnh C ở vị trí (i,j) là C(i,j), và ảnh hiệu D của ảnh C đƣợc định nghĩa là: D(i,j) = C(i,j) – C(i,j+1).

Histogram ảnh hiệu đƣợc định nghĩa là histogram của ảnh hiệu D. Histogram ảnh hiệu tuân theo phân bố Gaussian mở rộng nhƣ hình 2.5.

Hình 2.5 (a) Hình chuẩn “Lena”;(b) Histogram ảnh hiệu của “Lena”

2.4.2. Kỹ thuật phát hiện giấu tin LSB dựa trên Histogram ảnh hiệu

2.4.2.1. Phương pháp phát hiện

Các thông điệp bí mật có thể đƣợc nhúng vào mặt phẳng LSB bằng cách thay thế bất kỳ hay thay thế tuần tự. Thay thế LSB tuần tự dễ thực hiện hơn nhƣng không đảm bảo an toàn vì có sự khác biệt rõ ràng giữa phần đƣợc sửa và phần chƣa đƣợc sửa trong ảnh giấu tin. Thay thế LSB bất kỳ thực hiện rải thông điệp bí mật trong ảnh một cách ngẫu nhiên do đó vấn đề an toàn đƣợc cải thiện hơn.

Giả sử có một ảnh mang C kích cỡ M x N pixel. Rõ ràng dung lƣợng dữ liệu cực đại có thể giấu đƣợc theo kỹ thuật giấu tin LSB là M x N bit. Định nghĩa tỉ lệ nhúng p là tỉ lệ của chiều dài thông điệp đƣợc nhúng so với dung lƣợng cực đại của ảnh.

Gọi histogram ảnh hiệu của ảnh ban đầu là hi , histogram ảnh hiệu của ảnh sau khi đảo ngƣợc tất cả các bit trong mặt phẳng LSB là fi , histogram ảnh hiệu của ảnh sau khi đặt tất cả bit trong mặt phẳng LSB bằng 0 là gi .

Tồn tại mối quan hệ sau giữa hi , figi:

h2i = f2i = a2i,2i * g2i (2.7)

h2i+1 = a2i,2i+1 * g2i + a2i+2,2i+1 * g2i+2 (2.8)

f2i+1 = a2i,2i-1 * g2i + a2i+2,2i+3 * g2i+2 (2.9)

trong đó a2i,2i+j là hệ số tịnh tiến từ histogram gi đến hi. Khi j = 0,1,-1 ta có

0<a2i,2i+j<1, trƣờng hợp khác a2i,2i+j = 0, và chúng thỏa mãn điều kiê ̣n:

a2i,2i-1 + a2i,2i + a2i,2i+1 = 1 (2.10)

Từ sự đối xứng tƣơng đối ở i = 0 của dịch chuyển histogram, ta có a0,1 a0,-1. Kết hợp với điều kiê ̣n (2.10), ta có công thức lặp sau để tính hệ số tịnh tiến cho tất cả các giá trị i dƣơng:

(2.11)

Vì các thông điệp nhúng thƣờng là các chuỗi bit bất kỳ, nên đối với ảnh đã nhúng tin mật vào mặt phẳng LSB một cách hoàn toàn (tức p = 100%) , mặt phẳng LSB độc lập với các mặt phẳng bit còn lại. Do đó, đối với ảnh đã giấu tin ở trên, ta có: a2i,2i-1 0.25 , a2i,2i 0.5 , a2i,2i+1 0.25 , i > 1.

Bảng 2.5 liệt kê một vài hệ số tịnh tiến của ảnh gốc "Lena" và hai tấm ảnh giấu tin với tỉ lệ nhúng p = 50% và p = 100%.

Bảng 2.5: Một vài hệ số tịnh tiến

a2i,2i-1 a2i,2i a2i,2i+1

Ảnh gốc i = 0 0.2316 0.5368 0.2316 i = 1 0.3115 0.5025 0.1860 i = 2 0.3527 0.4841 0.1632 p = 50% i = 0 0.2451 0.5098 0.2451 i = 1 0.2805 0.5009 0.2186 i = 2 0.3025 0.4934 0.2041 p = 100% i = 0 0.2503 0.4993 0.2503 i = 1 0.2502 0.5004 0.2494 i = 2 0.2508 0.5005 0.2487

Khi phân tích kỹ hơn các hệ số tịnh tiến này, chúng ta có thể thấy rằng đối với một tấm ảnh tự nhiên, có một mối tƣơng quan yếu giữa mặt phẳng LSB và các mặt phẳng bit khác. Khi càng có nhiều thông điệp bí mật đƣợc giấu, mối tƣơng quan này càng yếu hơn và cuối cùng mặt phẳng LSB độc lập với các mặt phẳng bit khác.

Từ công thƣ́c (2.8), chúng ta thấy rằng h2i+1 gồm 2 phần a2i,2i+1 * g2i a2i+2,2i+1 * g2i+2 , đồng thời kiểm tra thống kê cho thấy trong các tấm ảnh tự nhiên, hai thành phần này đóng vai trò ngang nhau cho h2i+1, tức là:

(2.12)

Để tiê ̣n hơn trong trình bày và tính toán, ta đă ̣t các hê ̣ số nhƣ sau:

Khi đó với phƣơng pháp phát hiện này:

+ một bức ảnh tự nhiên (ảnh không giấu tin LSB) sẽ có αi ≈ γiγi >1 (2.13), + một bức ảnh có giấu tin LSB trên toàn bộ ảnh sẽ có αi ≈ 1 (2.14).

Các thí nghiệm khác chỉ ra rằng với một i đã cho nhất định, giá trị αi giảm nhẹ so với chiều dài của các thông điệp bí mật giấu khi tỷ lệ giấu tin p

tăng lên 100% , αi giảm xấp xỉ xuống 1.

Để tìm ra hàm liên quan giữa αi và tỷ lệ nhúng p, một loạt các hình ảnh giấu tin đƣợc tạo ra bằng cách giấu các thông điệp bí mật có tỷ lệ giấu p giao động từ

Một phần của tài liệu Tìm hiểu và nghiên cứu thuật toán phát hiện ảnh có giấu tin bằng kỹ thuật giấu tin thuận nghịch (Trang 34)

Tải bản đầy đủ (PDF)

(79 trang)