Giấu tin tin trong ảnh là quá trình sử dụng thuật toán, biện pháp kĩ thuật nhằm giấu thông tin trong một đối tượng dữ liệu hay thông tin khác. Mục đích của giấu tin là giấu tin mật và thủy vân số. Giấu tin mật là giấu tin để truyền đi không mong muốn cho người khác biết sử dụng các biện làm sao cho có thể giấu càng nhiều thông tin vào càng tốt. Thủy vân là một dạng cảu giấu tin nhằm mục đích bảo vệ bản quyền tác giả hoặc chống chối bỏ, chống xuyên tạc thông tin
BÁO CÁO GIẤU TIN TRONG ẢNH PHƯƠNG PHÁP DCT VÀ CÁC PHƯƠNG PHÁP PHÁT HIỆN GIẤU TIN TRONG ẢNH Tổ – Nhóm Giảng viên hướng dẫn: TS Đỗ Xuân Chợ SV thực hiện: Trần Mạnh Cường – B14DCAT107 Lê Đức Anh – B14DCAT091 Nguyễn Đình Thái - B14DCAT161 Nguyễn Công Lâm – B14DCAT222 Lưu Bá Sơn – B14DCAT170 Trần Viết Tuấn - B14DCAT268 Nguyễn Anh Minh - B14DCAT240 Contents I Đặt vấn đề II Thủy vân ảnh số .3 III Giấu tin ảnh phương pháp DCT Phép biến đổi DCT .5 Kỹ thuật thủy vân sử dụng phép biến đổi DCT Kết thực nghiệm demo .9 Kết luận .11 IV Một vài phương pháp phát giấu tin ảnh 12 Phân loại phương pháp .12 Thuật toán PoV3 13 Kỹ thuật phân tích đối ngẫu 15 Thuật toán RS 17 I II Đặt vấn đề Trong kỷ nguyên số, thông tin số sử dụng rộng rãi môi trường mở: tài nguyên phân phối cho nhiều người sử dụng, nhu cầu bảo vệ quyền sở hữu trí tuệ sản phẩm số trở thành vấn đề quan trọng nhiều sở nghiên cứu quan tâm Nhúng thủy vân phương tiện công nghệ đánh giá mang lại nhiều hứa hẹn ứng dụng bảo vệ quyền, phát xuyên tạc, điều khiển truy cập liệu đa phương tiện Không giống hệ mật mã sử dụng cho truyền thông không ngăn cấm người dùng sử dụng trái phép liệu đó, phương pháp thủy vân hứa hẹn giải pháp cho vấn đề bảo vệ quyền sản phẩm số mà sản phẩm sử dụng môi trường mở mà không cần đến việc mã hóa Tạo thủy vân phương pháp nhúng lượng thơng tin vào liệu đa phương tiện cần bảo vệ sở hữu mà không để lại ảnh hưởng đến chất lượng sản phẩm Thủy vân phải tồn bền vững với sản phẩm số loại bỏ cơng có chủ đích hay khơng chủ đích trừ phá hủy sản phẩm Thủy vân ảnh số Thủy vân ảnh số giống ảnh gán mác sở hữu người chủ Thủy vân phải mang thơng tin có ý nghĩa xác định người sở hữu ảnh Người ta tập trung vào việc cho thủy vân thỏa mãn hai tính chất quan trọng là: - Ẩn: khơng hiển thị ảnh, không làm ảnh hưởng nhiều đến chất lượng tri giác ảnh - Bền vững: thủy vân phải tồn bền vững với sản phẩm, khơng bị xóa cơng có chủ đích hay khơng có chủ đích Một cách lý tưởng để loại bỏ thủy vân cách phá hủy ảnh Tính phức tạp kỹ thuật thủy vân thể hai tính chất mâu thuẫn lẫn Nếu để đảm bảo tính ẩn thủy vân phải giấu vị trí có ý nghĩa tri giác nhất, bị ý nhất, để đảm bảo tính bền vững thủy vân phải chịu phép xử lí ảnh phổ biến dịch chuyển ảnh, co giãn ảnh, quay ảnh nén ảnh Đơn cử phép nén JPEG lại loại bỏ ảnh thơng tin có tính tri giác để làm giảm kích thước ảnh mà đảm bảo chất lượng ảnh Có hai nhóm kĩ thuật chính: Nhóm kĩ thuật biến đổi miền khơng gian ảnh: nhóm kĩ thuật tập trung vào việc thay đổi trực tiếp lên không gian điểm ảnh sử dụng mơ hình tri giác phương pháp hình học Tuy nhiên, kĩ thuật đảm bảo thuộc tính ẩn mà khơng có tính bền vững Kĩ thuật thường sử dụng ứng dụng nhận thực thông tin, phát xuyên tạc 2 Nhóm kĩ thuật biến đổi miền tần số ảnh: nhóm kĩ thuật sử dụng phương pháp biển đổi trực giao đó, chẳng hạn Cosine rời rạc, hay Fourier… để chuyển miền không gian ảnh sang miền tần số Thủy vân nhúng miền không gian tần số ảnh theo kĩ thuật trải phổ truyền thông Đây kĩ thuật phổ biến với nhiều thuật toán phương pháp tốt giải vấn đề đảm bảo hai thuộc tính quan trọng thủy vân sau giấu III Giấu tin ảnh phương pháp DCT Qua hình ta thấy có hai bước quan trọng để giấu tin DCT “biến đổi khối ảnh thành khối DCT” “giấu tin vào khối DCT đó” Dưới đây, chúng tơi xin trình bày thuật toán cho giai đoạn Phép biến đổi DCT Biến đổi coisin rời rạc DCT (Discrete Cosine Transform) Ahmed đồng nghiệp đưa năm 1974 Từ ứng dụng rộng rãi kỹ thuật xử lí ảnh số Trong kỹ thuật thủy vân ảnh dựa miền tần số ảnh, phép biến đổi DCT sử dụng nhiều Biến đổi DCT khổi N x N định nghĩa sau: Công thức biến đổi DCT thuận từ F(x,y) -> f(u,v): Công thức biến đổi DCT ngược: Trên ảnh hai chiều, khối thường sử dụng 88, 1616 (a) (b) (c) Phân chia ba miền tần số khối ảnh 88 theo phép biến đổi DCT (a) miền tần số thấp (b) miền tần số (c) miền tần số cao Đặc điểm biến đổi DCT: - Thể đặc tính nội dung tần số thơng tin ảnh Hệ số góc lớn đặc trưng cho giá trị trung bình thành phần chiều gọi hệ số DC, hệ số khác có giá trị nhỏ biểu diễn cho thành phần tần số cao theo hướng ngang dọc gọi hệ số AC - Bản thân biến đổi DCT khơng nén liệu sinh 64 hệ số - Theo nguyên lý chung, biến đổi chi tiết điểm ảnh lớn theo hướng khối điểm ảnh, hướng ngang, dọc theo đường chéo tương ứng theo hướng đó, hệ số biến đổi DCT lớn - Tóm lại, DCT làm giảm độ tương quan khơng gian thơng tin khối ảnh Điều cho phép biểu diễn thích hợp miền DCT hệ số DCT có xu hướng có phần dư thừa Hơn nữa, hệ số DCT chứa thông tin nội dung tần số không gian thơng tin khối Nhờ đặc tính tần số khơng gian hệ thống nhìn mắt người, hệ số DCT mã hóa phù hợp, có hệ số DCT quan trọng mã hóa để chuyển đổi - Khối hệ số DCT chia làm miền: miền tần số thấp, miền tần số cao miền tần số Miền tần số thấp chứa thông tin quan trọng ảnh hưởng đến tri giác Miền tần số cao thường không mang tính tri giác cao, nén JPEG thường loại bỏ thông tin miền - Trong thuật toán thủy vân, miền hệ số DCT tần số cao thường khơng sử dụng thường khơng bền vững với phép xử lý ảnh, ảnh JPEG Miền tần số thấp khó sử dụng thay đổi dù nhỏ miền dẫn đến chất lượng tri giác ảnh Vì vậy, miền tần số thường hay sử dụng cho kết tốt Kỹ thuật thủy vân sử dụng phép biến đổi DCT a) Ý tưởng: - - Thuật toán sử dụng phương pháp nhúng thủy vân miền tần số ảnh, giải tần sử dụng để chứa tín hiệu thủy vân miền tần số khối DCT 8x8 Trong đó, khối DCT 8x8 khối ảnh kích thước chọn từ ảnh ban đầu vầ áp dụng phép DCT để chuyển sang miền tần số Mỗi bit tín hiệu thủy vân nhúng khối Thuật toán sử dụng hàm: Max(x,y): hàm cho số lớn hai số x y Min(x,y): hàm cho số nhỏ hai số x y INT(x): hàm lấy phần nguyên số thực x | x |: cho giá trị tuyệt đối x b) Quá trình nhúng thủy vân: Input: Thủy vân W: chuỗi bit ảnh nhị phân Ảnh F kích thước mxn Output: Ảnh F’ nhúng thủy vân Thuật tốn: Bước 1: ảnh F có kích thước mxn chia thành (mxn)/64 khối 8x8, bit thủy vân giấu khối Bk Bước 2: chọn khối Bk biến đổi DCT khối thu Ck Ck = DCT(Bk) Bước 3: chọn hai hệ số vị trí miền tần số khối C k, gọi hai hệ số Ck[i,j] Ck[p,q] Bước 4: tính độ lệch d = | | Ck[i,j] | - | Ck[p,q] | | mod a Trong a tham số thỏa mãn a = 2(2t + 1), với t số nguyên dương Bước 5: bit bk nhúng vào khối Ck cho thỏa mãn bất biến sau: Bước 6: d < 2t + bk = hai hệ số DCT C k[i,j] Ck[p,q] có giá trị tuyệt đối lớn bị thay đổi để thỏa mãn d>=2t+1 theo công thức (1) (2) sau: Max(| Ck[i,j] |, | Ck[p,q] |) + (INT(0.75a) – d) (1) Hệ số chọn cộng thêm lượng (INT(0.75a) – d) Min(| Ck[i,j] |, | Ck[p,q] |) - (INT(0.25a) + d) (2) Hệ số chọn trừ lượng (INT(0.25a) + d) Bước 7: d >= 2t+1 bk = hai hệ số DCT Ck[i,j] Ck[p,q] có giá trị tuyệt đối lớn bị thay đổi để thỏa mãn d < 2t+1 theo công thức (3) hoặ (4) sau: Max(| Ck[i,j] |, | Ck[p,q] |) – (d - INT(0.25a)) (3) Hệ số chọn bị giảm lượng (d - INT(0.25a)) Min(| Ck[i,j] |, | Ck[p,q] |) + (INT(0.25a) - d) (4) Hệ số chọn tăng thêm lượng (INT(0.25a) - d) Bước 8: thực phép biến đổi ngược IDCT khối Ck B’k = IDCT(Ck) Bước 9: ghép khối ảnh B’k để thu ảnh chứa thủy vân F’ c) Chứng minh tính đắn thuật tốn Xét trường hợp sau đây: − Nếu d < 2t +1 với si = d >= 2t+1 với si =1 khơng thay đổi hệ số khối DCT, DCT phép biến đổi thuận nghịch nên giải mã ta thu kết xác − Trường hợp d 0,5 *a = 2t +1 (dpcm) Hoặc ta sử dụng cách biến đổi hai hệ số theo kiểu khác: min(|b’(i,j)| - |b’(p,q)|) - (INT(0,25 *a) +d)) Tính lại d: d’ = (||b’(i,j)|-|b’(p,q)|| - (INT(0,25*a) +d)) mod a d’ = (||b’(i,j)|- |b’(p,q)|| mod a) - (INT(0,25*a) mod a) - (d mod a) d’= d-(INT(0,25*a) mod a) - d = - INT(0,25*a) mod a = INT(0,75*a) >2t +1 − Trường hợp d>=2t +1 si = Ta biến đổi hai hệ số DCT b’(i,j) b’(p,q) sau: max(||b’(i,j)|,|b’(p,q)||) - (d- INT(0,25*a)) Giá trị d là: d’ = (||b’(i,j)|-|b’(p,q)|| - (d-(INT(0,25*a)) mod a d’= ((||b’(i,j)|-|b’(p,q)||) mod a) - (d mod a) + (INT(0,25*a) mod a) d’= d-d + 0,25*a = 0,25*a < 0,5*a = 2t +1(dpcm) Hoặc ta sử dụng cách biến đổi khác hai hệ số DCT: min(||b’(i,j)|- |b’(p,q)||) + INT(1,25*a) - d Khi tính lại d ta được: d’ = (||b’(i,j)|-|b’(p,q)|| + INT(1,25*a) -d) mod a d’= (||b’(i,j))|-|b’(p,q)|| mod a) + (INT(1,25*a) mod a) - (d mod a) d’ = d +INT(0,25*a) -d = INT(0,25*a) < 0,5*a = 2t+1 Vậy với phép biến đổi trên, ta thoả mãn điều kiện giấu tin Kết thực nghiệm demo Kết thực tế cài đặt thử nghiệm cho bảng sau Các hàng số lượng bít giấu vào ảnh Các cột hệ số a chọn Giao hàng cột tỉ lệ lỗi bít tính tổng số bít lỗi tổng số bít đem giấu tính hệ số tương quan C (cross- relation) Ảnh giấu ảnh đa cấp xám Lena.BMP cỡ 512 × 512 pixel Hình Ảnh Lena.BMP 512 × 512 a = 10 a=14 a=18 100 bit 0,990 0,993 0,997 200 bit 0,975 0,990 0,995 300 bit 0,973 0,993 0,997 5000 bit 0,974 0,988 0,994 1000 bit 0,970 0,984 0,994 Bảng 1: Thực nghiệm với ảnh Lena.Bmp 512 × 512 (chưa nén JPEG) Dưới kết thu sau nén JPEG ảnh thuỷ vân với tỉ lệ nén 100%, 90%, 80%, 50% KT kích thước file ban đầu sau nén C hệ số tương quan thuỷ vân trước giấu sau giấu Thuỷ vân có độ dài 1000 bít, hệ số a1, a2, a3 10,14,18 Chất lượng 100 90 80 50 (%) KT(a1) 1,4M 363KB 156KB 121KB 68KB C 0,994 0,983 0,972 0,932 Số bít lỗi 21 50 KT (a2) 1,4M 363KB 172KB 136KB 78KB C 0,993 0,984 0,967 0,941 Số bít lỗi 12 25 44 KT (a3) 1,4M 538KB 200KB 157KB 108KB C 0,986 0,947 0,953 0,896 Số bít lỗi 10 40 34 79 Bảng 2: Thực nghiệm với ảnh Lena.Bmp 512 × 512 với trường hợp nén JPEG Tiếp theo kết thu thực phép lọc, làm sắc ảnh Số lần làm sắc C (a2= 14) C (a2=18) 0,950 0,948 0,918 0,878 0,832 0,905 0,847 0,780 Bảng 3: Kết kiểm nghiệm với phép công làm sắc ảnh a Ảnh Lena sau giấu tin b Ảnh Lena sau lần công làm sắc Kết luận Ảnh chia thành khối 8x8, khối chọn cách ngẫu nhiên để nhúng thủy vân Mỗi khối áp dụng phép biến đổi cosine rời rạc để chuyển liệu tần số khối ảnh Miền tần số thấp khối ảnh chứng minh chứa liệu nhìn thấy ảnh, thay đổi liệu miền dẫn đến thay đổi đáng kể ảnh hiển thị Ngược lại, miền tần số cao chứa liệu ảnh không ảnh hưởng đáng kể đến tri giác ảnh Đây miền tần số cho phép thay đổi mà không gây nhiễu nhiều đến ảnh Tuy nhiên, thủy vân miền lại không bền vững với phép biến đổi ảnh thơng thường Với thuật tốn này, miền chọn để giấu tin miền có tần số tần số cao tần số thấp, kết thực nghiệm thuật toán cho thấy thủy vân đảm bảo tính chất ẩn ảnh bền vững số phép biến đổi ảnh thông thường IV Một vài phương pháp phát giấu tin ảnh Phân loại phương pháp Trong phân tích ảnh giấu thông tin, người ta lại chia làm hai loại: phân tích “mù” (blind steganalysis) phân tích có chủ đích (targeted steganalysis) * Phân tích “mù”: Chúng ta khơng biết trước thuật tốn giấu tin Do đó, thường dựa kinh nghiệm, kết hợp với sở liệu lưu giữ đặc trưng số thuật toán giấu tin phần mềm giấu tin biết để tiến hành phân tích ảnh, đưa kết luận * Phân tích có chủ đích: Chúng ta biết trước thuật toán giấu tin sử dụng, biết trước chiến lược giấu tin gì, ví dụ: chiến lược giấu tin vào bít có trọng số thấp chẳng hạn, chưa biết giấu theo phương pháp (tuần tự, ngẫu nhiên hay theo khu vực ảnh) Để phân tích hệ giấu tin mật này, thường dựa phân tích khác biệt điểm ảnh, phân tích chuyển mầu có đột ngột hay khơng? Tại quan sát mắt thường dải mầu khơng thay đổi, quan sát chế độ nhị phân lại có sai khác đáng nghi ngờ bít LSB? Phương pháp phân tích có chủ đích nghiên cứu phổ biến phân tích cặp giá trị PoV (giá trị điểm ảnh 2k,2k+1), áp dụng tiêu chuẩn xác suất thống kê để đưa kết luận Trong cơng có chủ đích, u cầu đặt ra: ước lượng tỉ lệ tin mật nhúng ảnh bao nhiêu? Một số phương pháp phân tích - Phương pháp phân tích trực quan: Là phương pháp dựa quan sát trực tiếp ảnh đưa kết luận ảnh có giấu tin hay khơng Đây phương pháp đơn giản mang lại hiệu không cao Ngồi việc phân tích vùng ảnh nghi vấn, kết hợp phân tích lược đồ mầu ảnh số phần mềm xử lý ảnh để phát tăng đột biến số gam mầu (đặc biệt gam mầu thuộc bít LSB) Một phương pháp khác sử dụng, mang lại hiệu cao để phát ảnh giấu tin cách tuần tự, phương pháp tăng cường bit có trọng số thấp Để áp dụng phương pháp tăng cường bit có trọng số thấp, ta sử dụng thuật tốn giấu tin vào bit có trọng số thấp, với điều kiện : bit LSB ta chuyển tồn bit cao thành ; bit LSB chuyển toàn bit cao thành Kết mầu sắc ảnh có giấu tin trở lên khác thường, đáng nghi vấn - Phương pháp phân tich cấu trúc ảnh Ngoài việc giấu tin vào trực tiếp vùng lưu giữ liệu ảnh, có số phần mềm giấu tin sử dụng vùng ảnh khơng sử dụng: vùng comment, header, phần kết thúc file ảnh, để giấu tin Dựa cấu trúc ảnh, dễ dàng phát ảnh có giấu tin trường hợp Thực tế, cần sử dụng phần mềm UltraEdit, WinHex, cơng thành cơng - Phương pháp phân tích sử dụng tiêu chuẩn thống kê: Hai tác giả, Plitzmann Westfeld sử dụng tiêu chuẩn xác suất thống kê để phân tích cặp giá trị PoV (Pair of Values) Dựa kết xác suất thu được, đưa dự đốn ảnh có giấu tin hay không Trước giấu tin, ảnh gốc, giá trị PoV có phân phối khơng (giá trị tính tốn tần số xuất cách xa 50/50) Sau giấu tin, khoảng cách giá trị cặp có xu hướng trở nên gần (gần với 50/50) Thuật toán PoV3 Theo nghiên cứu Pfitzmann Westfeld: Giả sử điểm ảnh P có giá trị i, sau giấu tin vào bít LSB điểm ảnh P có giá trị j Hai giá trị i j sai khác bít thấp Cặp giá trị (i,j) gọi cặp PoV Ví dụ: Giả sử điểm ảnh P có giá trị 100, sau giấu tin vào bít thấp có giá trị sau: 100 giấu bít 101 giấu bit Cặp giá trị (100, 101) gọi cặp PoV Tư tưởng Với ảnh I cần kiểm tra, trước tiên ta thống kê tần số giá trị điểm ảnh chẵn, lẻ có mặt ảnh I Ta xác định xác suất giấu tin ảnh thông qua việc áp dụng tiêu chuẩn phân phối tần số cặp PoV Input: Ảnh I cần kiểm tra Output: P: xác suất giấu tin ảnh I Cách thức thực Bước 1: Đọc vào ảnh I Bước 2: Đọc liệu ảnh vào ma trận Mm n Bước 3: Khởi tạo giá trị ban đầu cho vecto X, Y For each k [0, 127] X[k] = 0; Y[k] = Bước 4: Tính X[k] tần số xuất điểm ảnh có giá trị chẵn ảnh Tính Y[k] tần số xuất điểm ảnh có giá trị lẻ ảnh Bước 5: Giả sử ta có N cặp PoV Với k Nếu (X[k] + Y[k]) X[k] = Y[k] = 0; Bước 6: N = N – 1; For each k Z[k] = (X[k] + Y[k])/2; Bước 7: Giả sử ta có N cặp PoV, theo phương pháp thống kê Khi – bình phương với N – bậc tự ta tính = (1) Bước 8: Tính P xác suất việc giấu tin P = - (2) Phân tích thuật tốn Thông thường ảnh kiểm tra ảnh đa cấp xám – bit ta có 256 mức xám khác Thuật toán xác định cặp phần tử giá trị mức xám chẵn, lẻ nên số lượng phần tử chẵn, lẻ có không 256/2 = 128 phần tử Ta xây dựng hai vecto X(x0, x1, …, xk), Y(y0, y1, …., yk) để thống kê tần số xuất điểm ảnh, với k 127 Mỗi phần tử X lưu tần số xuất điểm ảnh chẵn (X[k] = 2k), phần tử Y lưu tần số xuất điểm ảnh lẻ (Y[k] = 2k + 1) với k 127 Ban đầu khởi tạo phần tử X Y Sau thuật tốn thực việc thống kê giá trị mức xám có ảnh cần kiểm tra tương ứng tăng giá trị phần tử X[k] Y[k] Giả sử ta có N cặp PoV, có k mức chẵn (lẻ) k 127 Nếu X[k] + Y[k] X[k] = Y[k] = Z[k] = N = N – Nếu ảnh có chứa thơng điệp tin ẩn X[k] = Z[k] k, phương trình (1) bé tích phân bé từ (2) suy xác suất p lớn Ngược lại lớn suy xác suất p bé Căn vào lớn bé xác suất p ta định ảnh có giấu tin hay khơng Hơn Wesfeld Pfitzmann khẳng định 100% điểm ảnh có chứa thơng tin giấu xác suất giấu tin giảm rõ rệt Kỹ thuật phân tích đối ngẫu Định nghĩa nghĩa sau: Một hàm độ khác biệt f nhóm G = (x1, x2, …, xn) định F(x1, x2, …, xn) = |xi – xi+1| Trong x1, x2, …, xn giá trị điểm ảnh nhóm G Hàm ƒ xem độ trơn nhóm G Việc giấu tin LSB làm tăng nhiễu ảnh ta hy vọng giá trị hàm f tăng (hoặc giảm) sau giấu tin LSB Định nghĩa Việc giấu tin LSB sử dụng kiểu hàm lật (flip) bit Fm(x) với m = -1, 0, x giá trị điểm ảnh Cụ thể sau: F1: ↔ 1, ↔ 3, … , 254 ↔ 255 F-1: -1 ↔ 0, ↔ 2, ↔ 4, … , 253 ↔ 254, 255 ↔ 256 Hay F-1(x) = F(x+1) – với x F0(x) = x, với x P Định nghĩa Phép lật bit F1 F-1 áp dụng lên nhóm G (x1, x2, x3, …., xn) với mặt nạ M (M n – với thành phần nhận giá trị -1, 1) định nghĩa sau: FM(G) = (FM(1)(x1), FM(2(x2), … , FM(n)(xn)) M(i) {-1, 0, 1} Ví dụ: giá trị điểm ảnh nhóm G (39, 38, 40, 41) cho mặt nạ M = (1, 0, 1, 0) FM(G) = (F1(39), F0(38), F1(40), F0(41)) = (38, 38, 41, 41) Định nghĩa Cho mặt nạ M, phép lật bit F, hàm khoảng cách ƒ, nhóm G điểm ảnh phân lớp vào ba lớp sau: G R ƒ (FM (G)) > ƒ(G) G S ƒ (FM (G)) < ƒ(G) G U ƒ (FM (G)) = ƒ(G) Trong R gọi nhóm quy (Regular), S nhóm đơn (Singular) U nhóm không dùng (Unusable) Định nghĩa Ta gọi RM số tương đối nhóm R với mặt nạ M không âm, M {0, 1} SM số tương đối nhóm S với mặt nạ M khơng âm, M {0, 1} R -M số tương đối nhóm R với mặt nạ M khơng dương, M {-1, 0} S-M số tương đối nhóm S với mặt nạ M khơng dương, M {-1, 0} Ta có RM xấp xỉ R-M, S-M xấp xỉ S-M viết sau: RM R-M SM S-M Việc giấu tin LSB tập trung vào khác biệt R M SM Nếu có 50% điểm ảnh bị lật (khi điểm ảnh bị giấu bit thông điệp) ta thu R M SM ảnh hưởng việc giấu tin LSB đến R-M S-M lại ngược lại Dưới trình bày bước cụ thể kỹ thuật RS có sử dụng đến khái niệm định nghĩa vừa trình bày Thuật tốn RS Tư tưởng: Kỹ thuật RS phân hoạch ảnh cần kiểm tra thành nhóm điểm ảnh cố định Mỗi nhóm lại phân lớp vào nhóm R hay S phụ thuộc vào khác biệt điểm ảnh nhóm bị tăng giảm sau phép lật bit LSB với mặt nạ M Sau tính xác suất việc giấu tin vào số nhóm R, S Input Ảnh I cần kiểm tra n: số phần tử nhóm Mn: mặt nạ vecto có phần tử nhận giá trị tập {-1, 0, 1} Output P: Xác suất giấu tin ảnh I Cách thực Bước 1: Đọc vào ảnh I Bước 2: Đọc giá trị điểm ảnh vào ma trận AM × N Bước 3: P = P {xi} với xi [0, 255] Bước 4: Chia ảnh thành M × N/n nhóm khác Mỗi nhóm n điểm ảnh Với nhóm G = (x1, x2, …, xn) ta thực bước sau: Bước 5: Tính hàm ƒ(G) ƒ(G) = |xi – xi+1| 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 ƒ (FM (G)) > ƒ(G) R = R G; ƒ (FM (G)) < ƒ(G) S = S G; ƒ (FM (G)) = ƒ(G) U = U G Bước 8: Tính RM = số nhóm R tương ứng với mặt nạ M, M {0, 1} SM = số nhóm S tương ứng với mặt nạ M, M {0, 1} R-M = số nhóm R tương ứng với mặt nạ M, M {-1, 0} S-M = số nhóm S tương ứng với mặt nạ M, M {-1, 0} Bước 9: Nếu | RM | = | SM | p =1 Ngược lại thực bước đến bước 12 Bước 10: Tính hệ số d0 = RM (p/2) – SM (p/2); d0 = 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 nghiệm phương trình 2(d1 + d0) + (d-0 – d-1- d1- 3d0) xp + d0 – d-0 Bước 12: Tính ước lượng độ dài thơng điệp p P = xp / (xp -1/2) V Ví dụ phân tích phương pháp cụ thể Tiếp theo viết này, sâu mô tả chi tiết kỹ thuật phát giấu tin ảnh – thuật toán thuật nghịch NSAS, HKC HKC cải tiến dựa histogram Đây kỹ thuật thuộc dạng “phân tích có chủ đích” Thuật tốn giấu thuật nghịch NSAS Bước Tìm điểm zero (điểm không) điểm peak (điểm đỉnh) Điểm zero điểm peak điểm có giá trị cấp xám pixel lược đồ histogram ảnh nhỏ cực đại Hình ví dụ minh hoạ cho kỹ thuật (a) histogram ảnh lena trước giấu tin Để đơn giản ví dụ điểm zero vị trí 255 (h(255)=0) điểm peak 154 (h(154)=2859) Bước Qt tồn ảnh theo trình tự từ trái sang phải, từ xuống Các pixel có giá trị xám nằm khoảng [155 254] tăng lên giá trị Nó làm cho tần số 155 Bước Nhúng bit thông điệp “0” “1” vào giá trị xám 154 155 theo nguyên tắc sau: Giả sử pixel xét 154 kiểm tra bit cần nhúng bit “1” pixel 154 tăng lên 1, ngược lại bit cần nhúng bit “0” pixel 154 giữ nguyên Hình (b) Histogram ảnh sau giấu tin Hình a Histogram ảnh gốc, b Histogram ảnh giấu tin Cuối nhận ảnh stego-image, sau chuyển đến người nhận thơng qua internet Người nhận khơi phục lại trực tiếp thơng điệp ảnh gốc kỹ thuật biến đổi ngược Trong kỹ thuật NSAS thấy khả giấu thông điệp phụ thuộc vào độ lớn điểm peak, với ví dụ khả giấu lượng thơng điệp ảnh không 2859 bit ảnh Tuy nhiên làm để truyền thông tin điểm zero đ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 không đề cập tài liệu Để cải tiến vấn đề người ta đề xuất kỹ thuật giấu thuật nghịch HKC Thuật toán giấu thuật nghịch HKC Bước Tìm điểm peak (đó vị trí 154 ảnh ví dụ) hai điểm (đó vị trí 273 23 ảnh ví dụ) Điểm peak điểm tương ứng với số pixel chúng lớn nhỏ ảnh ) Bước Nhằm để khơi phục xác ảnh gốc, đồ vị trí đề xuất dùng để lưu trữ thơng tin vị trí pixel (như điểm peak, điểm bên trái điểm peak, điểm bên phải điểm peak) lược đồ HKC Bước Khởi tạo không gian để nhúng thông điệp Các pixel định vị histogram nằm bên trái điểm peak điểm bên trái dịch sang trái pixel Tương tự, pixel định vị nằm bên phải điểm peak điểm bên phải dịch sang phải pixel Bước Nhúng thông tin mật vào ảnh Hình a Histogram ảnh gốc, b Histogram ảnh giấu tin Do lược đồ HKC khơng nói làm để tăng số cặp (điểm peak, điểm min) đồ định vị vị trí để tăng dung lượng giấu nhiều Để làm điều này, năm 2008 người ta để xuất kỹ thuật giấu cải tiến HKC phương pháp chia khối, thuật tốn sau: Hình (a) Histogram ảnh với khối chia Hình (b) Histogram ảnh có giấu tin khối Thuật toán giấu thuận nghịch HKC cải tiến: Bước 1: Chia miền liệu ảnh cover thành khối (tác giả ví dụ chia thành khối – hình 3) Bước 2: Tính histogram cho khối Sau tìm điểm Max hai điểm khối Đồng thời, tạo không gian nhúng thông điệp cách dịch chuyển hai mặt điểm max sang bên trái bên phải đơn vị Bước 3: Một đồ vị trí tạo để lưu trữ thơng tin pixel (điểm max, điểm bên trái, điểm bên phải khối) Bước 4: Nhúng thông tin mật vào ảnh (minh hoạ hình (a) histogram ảnh trước giấu với khối chia, histogram ảnh sau giấu tin khối chia) Phương pháp phát ảnh có giấu tin Với kỹ thuật giấu thuật nghịch NSAS, HKC HKC cải tiến dùng để truyền thơng điệp người gửi người nhận Mặc dù nhận ảnh stego tương tự ảnh cover, kỹ thuật để lại dấu hiệu khơng bình thường histogram ảnh gốc sau nhúng thông điệp vào ảnh Vào năm 2008, Kuo đồng nghiệp ông đề xuất kỹ thuật phát ảnh có giấu tin kỹ thuật HKC Nhóm tác giả quan sát histogram dựa vào đỉnh peak trước sau giấu thấy hai giá trị lân cận hai bên đỉnh peak bị tụt xuống giấu tin mơ tả hình (a) (b), họ đưa định lý để xây dựng kỹ thuật phát Ở ký hiệu (xi, yi) cặp giá trị yi= h(xi) (với pixel xi có tần số tương ứng yi ảnh) Hình (a) Ảnh gốc, (b) ảnh sau giấu tin Định lý 1: Có cặp giá trị liên tiếp (x 1, y1), (x2, y2), (x3, y3), (x4, y4), (x5, y5) (x3, y3) cặp giá trị điểm peak Tỉ lệ thay đổi điểm liên tục mối quan hệ láng giềng định nghĩa biểu thức (1) (2): (1) (2) Với t2 giá trị ngưỡng ( tơi lấy t2 = 0.1) Do đó, Kuo đưa thuật tốn phát ảnh có giấu tin kỹ thuật HKC theo bước sau: Bước Tìm cặp giá trị điểm peak (xmax, ymax) Bước Tính tỉ lệ thay đổi mối quan hệ láng giềng cách sử dụng định lý Bước Nếu cặp giá trị liên tiếp lân cập (x max, ymax) thoả mãn biểu thức (1) (2) kết luận ảnh có giấu tin vùng này, ngược lại ảnh khơng giấu tin Hình Biểu đồ histogram của: (a) ảnh gốc, (b) ảnh giấu tin NSAS, (c) ảnh giấu tin HKC Với kỹ thuật phát tác giả đề xuất số trường hợp giấu tin HKC thấy không phù hợp thơng điệp khơng giấu hết vào vị trí cột peak Ví dụ hình (a) điểm peak 146, sau giấu tin hai cột giá trị lân cận peak 145 147 bị tụt xuống, lượng giấu độ lớn điểm cho lên giá trị 144 không 145 giá trị 147 khơng 148 (xem hình (c)), biểu thức (2) Kuo khơng thoả mãn Mặt khác, kỹ thuật phát áp dụng với kỹ thuật giấu NSAS với kỹ thuật giấu sau giấu lượng thơng điệp làm tụt giá trị peak hình thành peak giá trị lân cận Ví dụ hình (a) điểm peak 146, sau giấu tin điểm peak 147 hình (b), giá trị peak cũ bị tụt xuống giấu tin Vì chúng tơi đề xuất kỹ thuật phát phù hợp với hai kỹ thuật Chúng ta dựa vào mối quan hệ láng giềng pixel để phát ảnh stego Chúng đưa cách khác áp dụng định lý dùng để phát vùng nhúng liệu mật sau: Định lý 2: Có 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) (x1, y1) (x4, y4) Khi mối quan hệ láng giềng bốn điểm liên tiếp định nghĩa sau: (3) Áp dụng định lý 2, xây dựng thuật tốn phát ảnh có giấu tin kỹ thuật NSAS, HKC HKC cải tiến Thuật tốn phát ảnh có giấu tin kỹ thuật giấu NSAS HKC: Bước 1: Thống kê tần số pixel ảnh Bước 2: Tìm giá pixel có tần số lớn (ký hiệu (x max, ymax)), tìm cặp điểm liên tiếp bên trái (xmax-3,ymax-3), (xmax-2,ymax-2), (xmax-1,ymax-1) liên tiếp phải (x max+1, ymax+1), (xmax+2,ymax+2), (xmax+3,ymax+3) Bước Nếu điểm (xmax-3,ymax-3), (xmax-2,ymax-2), (xmax-1,ymax-1) (xmax, ymax) (xmax, ymax), (xmax+1, ymax+1), (xmax+2,ymax+2) (xmax+3,ymax+3) không thoả mãn biểu thức (3) phát thông điệp giấu vùng Ngược lại, kết luận ảnh khơng giấu tin Thuật tốn phát ảnh có giấu tin kỹ thuật giấu HKC cải tiến: Bước Chia miền liệu ảnh thành khối Bước Thống kê tần số pixel khối Sau khối thực lần lược bước bước để kiểm tra Bước Tìm giá pixel có tần số lớn (ký hiệu (xmax, ymax)), tìm cặp điểm liên tiếp bên trái (xmax-3,ymax-3), (xmax-2,ymax-2), (xmax-1,ymax-1) liên tiếp phải (x max+1, ymax+1), (xmax+2,ymax+2), (xmax+3,ymax+3) Bước Nếu điểm (xmax-3,ymax-3), (xmax-2,ymax-2), (xmax-1,ymax-1) (xmax, ymax) (xmax, ymax), (xmax+1, ymax+1), (xmax+2,ymax+2) (xmax+3,ymax+3) không thoả mãn biểu thức (3) phát thơng điệp giấu vùng Ngược lại, kết luận ảnh khơng giấu tin Vì khơng biết trước số khối chia, lên bước phải thử chia nhiều lần với lần số khối chia khác để kiểm tra ảnh có giấu tin với số khối chia hay không VI Tài liệu tham khảo Watermarking-STegnography ebook Stefan Katzenbeisser Information Hiding Techniques for Steganography and Digital Watermarking ebook Watermarking-STegnography ebook Một số tài liệu google