Thị xác suất phát hiện ảnh có giấu tin

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Kỹ thuật giấu tin trong ảnh và nghiên cứu khả năng có thể để phát hiện ảnh có giấu tin (Trang 63 - 68)

3.3.3 Kỹ thuật phân tích đối ngẫu

3.3.3.1 Khái niệm cơ bản trong kỹ thuật đối ngẫu

Kỹ thuật đối ngẫu hay còn gọi là kỹ thuật RS (Regular – Singular) do Fridrich et.al. đưa ra. Phương pháp này thực hiện các thống kê về sự thay đổi của các nhóm chính quy (Regular)nhóm đơn (Singular) trên ảnh để ước lượng độ dài thông điệp đã giấu một cách chính xác. Phương pháp này phù hợp với ảnh màu và ảnh đa cấp xám khi các thông điệp được giấu một cách ngẫu nhiên. Kỹ thuật RS cũng là một kỹ thuật được dựa trên lý thuyết xác suất thống kê [20, 23, 26, 27].

Giả sử rằng ta có một ảnh có MxN điểm ảnh. Tập P là tập tất cả các giá trị điểm ảnh có trên ảnh. Với ảnh đa cấp xám 8-bit thì P = {0, 1, …, 255}.

Định nghĩa 3.3.1: Một hàm độ khác biệt f trên nhóm G = (x1, x2, …, xn) được định nghĩa như sau

       1 1 1 2 1, ,..., n i i i n x x x x x f

Trong đó x1, x2, …, xn là giá trị các điểm ảnh trên nhóm G. Hàm f được xem như là độ trơn của nhóm G.

Việc giấu tin LSB làm tăng nhiễu trên ảnh do đó ta hi vọng rằng giá trị của hàm f

sẽ tăng (hoặc giảm) sau khi giấu tin LSB.

Định nghĩa 3.3.2: Việc giấu tin LSB sử dụng các kiểu hàm lật (flip) bit Fm(x) với m = -1, 0, 1 và x là giá trị điểm ảnh. Cụ thể như sau:

F1: 0 ↔ 1, 2 ↔ 3, …, 254 ↔ 255.

F−1: −1 ↔ 0, 1 ↔ 2, 3 ↔ 4, …, 253 ↔ 254, 255 ↔ 256 hay F−1(x) = F(x+1) −1 với mọi x.

F0(x) = x, với x P.

Định nghĩa 3.3.3: Phép lật bit F1F-1được áp dụng lên nhóm G(x1, x2, …, xn) với một mặt nạ M (M là một n-bộ với các thành phần nhận giá trị -1, 0 hoặc 1) được định nghĩa như sau:

FM(G) = (FM(1)(x1), FM(2)(x2), …, FM(n)(xn)) trong đó M(i)  {-1, 0, 1} Ví dụ: nếu các giá trị các điểm ảnh trong nhóm G là (39, 38, 40, 41) và mặt nạ M

= (1, 0, 1, 0) thì FM(G) = (F1(39), F0(38), F1(40), F0(41)) = (38, 38, 41, 41).

Định nghĩa 3.3.4: Cho một mặt nạ M, phép lật bit F, và hàm khoảng cách f, một nhóm G các điểm ảnh được phân lớp vào một trong ba lớp sau:

GRf(FM(G)) > f(G).

GSf(FM(G)) < f(G).

GUf(FM(G)) = f(G).

Trong đó R gọi là các nhóm chính quy (Regular), S là các nhóm đơn (Singular) và U là các nhóm không dùng được (Unusable).

Khái niệm 3.3.5: Ta gọi

RM là số tương đối các nhóm R với mặt nạ M không âm, M {0, 1}.

SM là số tương đối các nhóm S với mặt nạ M không âm, M {0, 1}.

R-M là số tương đối của các nhóm R với mặt nạ M không dương, M{-1, 0}.

S-M là số tương đối của các nhóm S với mặt nạ M không dương, M {-1, 0}. Ta có RMxấp xỉ bằng R-MSM xấp xỉ bằng S-M và được viết như sau:

M M R

R   và SMSM

Việc giấu tin LSB tập trung vào sự khác biệt giữa RMSM. Nếu có 50% điểm ảnh bị lật (khi mỗi điểm ảnh bị giấu bit thông điệp) ta thu được RMSM nhưng ảnh hưởng của việc giấu tin LSB đến R-MS-M lại ngược lại. Dưới đây sẽ trình bày các bước cụ thể của kỹ thuật RS trong đó có sử dụng đến các khái niệm và định nghĩa vừa trình bày ở trên.

3.3.3.2 Thuật toán RS Tư tưởng

Kỹ thuật RS phân hoạch ảnh cần kiểm tra thành các nhóm điểm ảnh cố định. Mỗi nhóm đó lại được phân lớp vào các nhóm R hay S phụ thuộc vào sự khác biệt giữa các điểm ảnh trong nhóm bị tăng hoặc giảm sau phép lật bit LSB với mặt nạ M. Sau đó tính xác suất của việc giấu tin căn cứ vào số nhóm R, S đó. (adsbygoogle = window.adsbygoogle || []).push({});

Input

Ảnh I cần kiểm tra.

n: số phần tử của một nhóm

Mn: mặt nạ là một vecto có các phần tử nhận giá trị trong tập {-1, 0, 1}

Output

p: Xác suất giấu tin trong ảnh I

Cách thức thực hiện

Bước 1: Đọc vào ảnh I

Bước 2: Đọc giá trị các điểm ảnh vào một ma trận AMxN. Bước 3: P = P {xi} với xi [0, 255].

Bước 4: Chia ảnh thành MxN/n nhóm khác nhau. Mỗi nhóm n điểm ảnh. Với mỗi nhóm G = (x1, x2, …, xn) ta thực hiện các bước sau:

Bước 5: Tính hàm f(G)      1 1 1 ) ( n i xi xi G f

Bước 6: Cho mặt nạ M = {M(i)}i = 1,…, n với M(i)  {-1, 0, 1}. Tính

FM(G) = (FM(1)(x1), FM(2)(x2), …, FM(n)(xn)) Bước 7: Phân lớp nhóm G Nếu f(FM(G)) > f(G) thì R = R  G; Nếu f(FM(G)) < f(G) thì S = S  G; Nếu f(FM(G)) = f(G) thì U = U  G; Bước 8: Tính

RM = số các nhóm R tương ứng với mặt nạ M, M(i)  {0, 1} SM = số các nhóm S tương ứng với mặt nạ M, M(i)  {0, 1} R-M = số các nhóm R tương ứng với mặt nạ M, M(i)  {-1, 0} S-M = số các nhóm S tương ứng với mặt nạ M, M(i)  {-1, 0} Bước 9:

Nếu |RM| =|SM| thì p = 1

Ngược lại thực hiện các bước 9 đến bước 12 Bước 10: Tính các hệ số

d0 = RM(p/2) - SM(p/2); d1 = RM(1- p/2) - SM(1- p/2); d-0 = R-M(p/2) – S-M(p/2); d-1 = R-M(1- p/2) – S-M(1- p/2);

Bước 11: Tính xp là nghiệm của phương trình

2d1d0x2p d0d1d13d0xpd0d0 0

Bước 12: Tính ước lượng độ dài thông điệp p p = xp /(xp – ½);

3.3.3.3 Phân tích thuật toán RS

Ban đầu phân hoạch MxN điểm ảnh thành (MxN/n) nhóm mỗi nhóm n điểm ảnh độc lập liền kề nhau. Thông thường chọn n = 4 (là các khối 2x2). Với P là tập tất cả các giá trị điểm ảnh. Với mỗi nhóm G chứa n giá trị điểm ảnh trên P. G = (x1, x2, …, xn). Ta sẽ phân lớp các nhóm G vào ba lớp R, S, U. Trước tiên, ta xác định hàm f(G) là tổng khoảng cách về sự khác biệt giữa các phần tử kề nhau trong G theo định nghĩa 3.3.1. Tiếp theo với mỗi điểm ảnh xi (1  i  n) của nhóm G, ta xác định hàm lật bit FM(i)(xi). Giá trị của hàm này phụ thuộc vào giá trị của M(i) tương ứng trong mặt nạ M. Nếu M(i) = 0 thì FM(i)(xi) = xi điều này nghĩa là không có sự thay đổi bit tại xi. Nếu M(i) = 1 và xi ≥ 0 thì FM(i)(xi) sẽ nhận giá trị xi +1 nếu xi là số chẵn, ngược lại sẽ nhận giá trị là xi-1 nếu xi là số lẻ. Nếu M(i) = 1 và xi ≥ -1, thì FM(i)(xi) sẽ nhận giá trị là xi+1 nếu xi là lẻ, ngược lại hàm sẽ nhận giá trị là xi-1 nếu xi là số chẵn. Với mỗi FM(i)(xi) với 1  i  n có ta thu được FM(G) = (FM(1)(x1), FM(2)(x2), …, FM(n)(xn)). Ở bước tiếp theo, với mặt nạ M = {M(i)}i = 1,…, n với M(i)  {-1, 0, 1}, hàm f(G) và FM(G) đã thu được ở bước trước, ta phân lớp nhóm G thành các lớp R, S, U theo định nghĩa 3.3.2. Nếu nhóm G không có sự thay đổi giá trị của các phần tử kề nhau sau phép lật bit theo mặt nạ M (tương ứng M = {0}) thì G  U. Nếu sự khác biệt giữa các phần tử kề nhau sau phép lật bit trên nhóm G theo mặt nạ M là lớn hơn sự khác biệt giữa các phần tử kề nhau trong nhóm G ban đầu thì G  R, ngược lại G  S.

Sau khi phân lớp các nhóm G, nếu sử dụng mặt nạ M với các phần tử có giá trị không âm (thuộc {0,1}) để lật bit, đếm số nhóm G  R, gọi là RM, tương tự SM là số nhóm G  S; nếu sử dụng mặt nạ M với các phần tử có giá trị không dương {-1,0} để lật bit, đếm số nhóm G  R, gọi là R-M, tương tự S-M là số nhóm G  S.

Nếu có một ảnh chứa tin ẩn (stego) với chiều dài thông điệp ẩn đã giấu là p (phần trăm các điểm ảnh) chưa được biết. Khởi tạo, độ đo của số các phần tử trong các nhóm R và S tương ứng là RM(p/2), R-M(p/2), SM(p/2), S-M(p/2).

Giả sử thông điệp là một vecto bit ngẫu nhiên, trung bình chỉ một nửa các điểm ảnh sẽ bị lật bít thông qua việc giấu tin, nếu ta lật bít LSB của tất cả các điểm ảnh thì số các phần tử của nhóm R và S là RM(1 - p/2), SM(1- p/2), R-M(1-p/2), S-M(1- p/2).

Hình 3.4 dưới đây mô tả một đồ thị RS với trục x là giá trị phần trăm các điểm ảnh đã bị lật bit LSB, trục y là số tương đối các nhóm R và S với các mặt nạ M, -M. Trong đó M = [0, 1, 1, 0].

Một phần của tài liệu (LUẬN VĂN THẠC SĨ) Kỹ thuật giấu tin trong ảnh và nghiên cứu khả năng có thể để phát hiện ảnh có giấu tin (Trang 63 - 68)