MỘT SỐ KỸ THUẬT PHÁT HIỆN ẢNH CÓ GIẤU TIN TRÊN MIỀN BIẾN ĐỔI DCT NGHIÊN CỨU KỸ THUẬT PHÁT HIỆN ẢNH GIẤU TIN TRÊN MIỀN BIẾN ĐỔI CỦA ẢNH Giáo viên hướng dẫn Ths Hồ Thị Hương Thơm Sinh viên Hoàng Thị Huy[.]
Trang 1NGHIÊN CỨU KỸ THUẬT PHÁT HIỆN ẢNH GIẤU TIN TRÊN MIỀN BIẾN ĐỔI
CỦA ẢNH
Giáo viên hướng dẫn: Ths Hồ Thị Hương Thơm Sinh viên: Hoàng Thị Huyền Trang
Mã số: 080331 Lớp: CT802 Khóa: 8
Trang 2NỘI DUNG BÁO CÁO
1 TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN
2 KỸ THUẬT GIẤU TIN TRÊN MIỀN BIẾN ĐỔI DCT
3 TỔNG QUAN VỀ KỸ THUẬT PHÁT HIỆN TIN ẨN GiẤU
4 KỸ THUẬT PHÁT HIỆN ẢNH CÓ GIẤU TIN TRÊN MIỀN
BIẾN ĐỔI DCT
5 KẾT QUẢ THỰC NGHIỆM
Trang 31 TỔNG QUAN VỀ KỸ THUẬT
GIẤU TIN
Trang 41 TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN
Giấu thông tin: là một kỹ thuật nhúng (giấu) một lượng thông tin
số nào đó vào trong một đối tượng dữ liệu số khác
Giấu thông tin nhằm mục đích:
+ Bảo mật cho dữ liệu đem giấu + Bảo mật chính đối tượng được dùng để giấu dữ liệu
Môi trường giấu tin: giấu tin trong ảnh, giấu tin trong video,
giấu tin trong audio Hiện nay giấu tin trong ảnh đang được sử dụng nhiều nhất
Giấu tin trong ảnh tập trung chủ yếu vào hai nhóm chính:
+ Giấu trong miền dữ liệu của ảnh
+ Giấu trong miền biến đổi dữ liệu của ảnh
Trang 52 KỸ THUẬT GIẤU TIN TRÊN
MIỀN BIẾN ĐỔI DCT
Trang 62 KỸ THUẬT GIẤU TIN TRÊN MIỀN BIẾN ĐỔI DCT
2.1 Thuật toán giấu tin trong miền biến đổi DCT
Thuật toán giấu tin trong miền biến đổi DCT sẽ sử dụng phương pháp nhúng thuỷ vân trong miền tần số của ảnh, giải tần được sử dụng để chứa tín hiệu thuỷ vân là miền tần số ở giữa của một khối DCT 8x8 Trong đó, các khối DCT 8x8 là những khối ảnh cùng kích thước đã được chọn ra ngẫu nhiên từ ảnh ban đầu và được áp dụng phép biến đổi cosin rời rạc DCT để chuyển sang miền tần số
Trang 72 KỸ THUẬT GIẤU TIN TRÊN MIỀN BIẾN ĐỔI DCT
2.1 Thuật toán giấu tin trong miền biến đổi DCT
Các bước thực hiện:
Kỹ thuật biến đổi DCT được thực hiện như sau: Giả sử ta coi miền dữ liệu của ảnh JPEG như một ma trận C mxn mỗi phần tử là một pixel của ảnh, ta chia ảnh thành nhiều khối mỗi khối có kích thước 8x8 pixel, mỗi khối sử dụng biến đổi DCT để biến đổi khối 8x8 pixel thành 64 hệ số DCT
- Phép biến đổi thuận DCT 8*8 được định nghĩa như sau:
- Biến đổi ngược DCT định nghĩa như sau:
Trang 82 KỸ THUẬT GIẤU TIN TRÊN MIỀN BIẾN ĐỔI DCT
2.2 Thuật toán JSteg
Thuật toán JSteg được đề xuất bởi Derek Upham vào năm 1997 Thuật toán này thay đổi tuần tự các bit LSB của hệ số DCT với bit của thông điệp giấu
Thuật toán JSteg:
Đầu vào: thông điệp, ảnh bao
Đầu ra: Ảnh đã giấu thông tin
While dữ liệu trái còn để nhúng do chuyển đến hệ số DCT tiếp theo
từ ảnh bao
if DCT≠ 0 và DCT≠1 then
Chuyển đến LSB tiếp theo của thông điệp
Thay thế DCT LSB bằng LSB của thông điệp
End if Chèn DCT vào ảnh đã giấu thông điệp
End while
Trang 92 KỸ THUẬT GIẤU TIN TRÊN MIỀN BIẾN ĐỔI DCT
2.2 Thuật toán JSteg
Thuật toán có thể mô tả theo hình vẽ sau:
Hình 2.1: Mô tả quá trình giấu tin trong hệ số DCT của thuật
toán Jsteg
Trang 102 KỸ THUẬT GIẤU TIN TRÊN MIỀN BIẾN ĐỔI DCT
2.3 Thuật toán OutGuess 0.1
Đây là phiên bản đầu tiên được đề xuất bởi Niels Provos là thuật toán cải tiến từ thuật toán JSteg bằng cách sử dụng bộ khởi tạo số giả ngẫu nhiên
để chọn các hệ số DCT ngẫu nhiên Hệ số DCT được chọn ngẫu nhiên sẽ thay thế các bit LSB của hệ số với bit đã được mã hoá của thông điệp mật
Thuật toán OutGuess 0.1:
Đầu vào: thông điệp, ảnh bao
Đầu ra: Ảnh đã giấu thông tin
Khởi tạo bộ khởi tạo số giả ngẫu nhiên với thông điệp bí mật
While dữ liệu trái còn để nhúng do chọn các hệ số DCT ngẫu nhiên từ ảnh
bao
if DCT≠ 0 và DCT≠1 then Chuyển đến LSB tiếp theo của thông điệp
Thay thế DCT LSB bằng LSB của thông điệp
End if Chèn DCT vào ảnh đã giấu thông điệp
End while
Trang 112 KỸ THUẬT GIẤU TIN TRÊN MIỀN BIẾN ĐỔI DCT
2.4 Thuật toán F5
Thuật toán F5 được đề xuất bởi nhà khoa học người Đức Pfitzmann và Westfeld vào năm 2001 Thuật toán này nhúng thông điệp vào LSB của các hệ số DCT theo bước đi giả ngẫu nhiên thông qua tất cả các hệ số DCT của ảnh cover trong đó nó bỏ qua các hệ số
DC và các hệ số bằng 0 Nếu LSB của hệ số DCT không phù hợp với bit thông điệp, giá trị tuyệt đối của hệ số giảm đi 1 Nếu phép trừ dẫn đến 0 thì bit thông điệp phải nhúng vào hệ số tiếp theo, bởi vì ở phía người nhận, thông điệp chỉ được lấy ra ở các hệ số DCT khác 0
Trang 122 KỸ THUẬT GIẤU TIN TRÊN MIỀN BIẾN ĐỔI DCT
2.4 Thuật toán F5
Thuật toán F5 bao gồm các bước sau:
1 Lấy dữ liệu của ảnh
2 Biến đổi miền dữ liệu của ảnh sang miền tần số DCT sau đó lượng tử hoá các hệ số DCT theo Q
3 Tính khả năng có thể nhúng khi không sử dụng matrix
encoding C = h DCT – h DCT /64 –h(0) –h(1)+ 0.49h
4 Tạo ra bộ khởi tạo giả ngẫu nhiên PRNG
5 Thông điệp được chia thành các đoạn gồm k bít, mỗi đoạn nhúng vào một nhóm hệ số DCT 2k–1 theo bước đi giả ngẫu nhiên
6 Nếu độ dài thông điệp phù hợp với khả năng có thể giấu trong ảnh thì quá trình giấu thành công, ngược lại sẽ thông báo lỗi và cho biết độ dài lớn nhất của ảnh có thể giấu để điều chỉnh thông điệp
Trang 133 TỔNG QUAN VỀ KỸ THUẬT
PHÁT HIỆN TIN ẨN GIẤU
Trang 143 TỔNG QUAN VỀ KỸ THUẬT PHÁT HIỆN TIN ẨN GIấU
Steganalysis là kỹ thuật phát hiện sự tồn tại của thông tin ẩn giấu trong multimedia Mục đích của Steganalysis là phát hiện ra thông tin
ẩn và phá vỡ tính bí mật của vật mang tin ẩn.
Phân tích tin ẩn giấu thường dựa vào các yếu tố sau:
- Phân tích dựa vào các đối tượng đã mang tin.
- Phân tích bằng so sánh đặc trưng
- - Phân tích dựa vào thông điệp cần giấu để dò tìm.
- - Phân tích dựa vào các thuật toán giấu tin và các đối tượng giấu đã biết
- - Phân tích dựa vào thuật toán giấu tin, đối tượng gốc và đối tượng sau khi giấu tin.
Trang 153 TỔNG QUAN VỀ KỸ THUẬT PHÁT HIỆN TIN ẨN GIấU
Các phương pháp phân tích có thể phân thành 3 nhóm:
-Phân tích trực quan: Thường dựa vào quan sát hoặc dùng biểu đồ histogram giữa ảnh gốc và ảnh chưa giấu tin để phát hiện ra sự khác biệt giữa hai ảnh
- Phân tích theo dạng ảnh: Phương pháp này thường dựa vào các dạng ảnh bitmap hay là ảnh nén để đoán nhận kỹ thuật giấu hay sử dụng
- Phân tích theo thống kê: Đây là phương pháp sử dụng các lý thuyết thống kê và thống kê toán sau khi đã xác định được nghi vấn đặc trưng
Trang 164 KỸ THUẬT PHÁT HIỆN ẢNH CÓ GIẤU TIN TRÊN MIỀN BIẾN ĐỔI
DCT
Trang 174.1 Kỹ thuật phát hiện thống kê
Kỹ thuật Jsteg và kỹ thuật giấu Outgess giấu tin trên LSB của các hệ số DCT do vậy ta có thể sử dụng thống kê Chi-square để phát hiện ra các ảnh này có giấu tin sử dụng kỹ thuật giấu Jsteg và kỹ thuật giấu Outgess
Thuật toán thống kê chi-square
Input : stego image
Output: kết luận có giấu tin hay không
Trang 184 KỸ THUẬT PHÁT HIỆN ẢNH CÓ GIẤU TIN TRÊN MIỀN
BIẾN ĐỔI DCT
4.1 Kỹ thuật phát hiện thống kê
-Khởi tạo giá trị ban đầu của X và Y đều bằng 0 Sau đó POV đếm giá trị hệ
số DCT, kiểm tra và điền vào X, Y tương ứng
-Sau đó thống kê Chi-Square với n-1 mức tự do đyược tính như sau:
với z i =
Theo giả thuyết, thì 2
n-1 là nhỏ đối với ảnh được giấu tin, vì xi là nhỏ so với
zi Và đối với ảnh không giấu tin thì 2
0
1 2
1 2
2
1
)2
1(
2
du u
e n
n u n
Trang 194 KỸ THUẬT PHÁT HIỆN ẢNH CÓ GIẤU TIN TRÊN MIỀN BIẾN ĐỔI DCT
4.1 Kỹ thuật phát hiện thống kê
Hình 4.1: biểu đồ mô tả phát hiện ảnh có giấu tin sử dụng
thống kê Chi-square
Trang 204 KỸ THUẬT PHÁT HIỆN ẢNH CÓ GIẤU TIN TRÊN MIỀN
BIẾN ĐỔI DCT
4.2 Kỹ thuật phát hiện F5
Các bước nhúng F5 sẽ làm thay đổi hệ số AC Đặt: huv(d)=|{F(u,v)| d=|F(u,v)|,u+v 0}| là tổng hệ số AC DCT trong ảnh cover với tần số (u,v) và giá trị tuyệt đối của nó bằng d Ký hiệu Huv(d) là hàm tương ứng cho ảnh stego
Nếu F5 thay đổi n hệ số AC, tỉ lệ thay đổi =n/P với P là tổng số
hệ số AC Khi F5 thay đổi hệ số giả ngẫu nhiên chúng ta được giá trị histogram đối với ảnh stego là:
Huv(d) < (1-)huv(d) +huv(d+1) với d>0 Huv(0) < huv(0) +huv(1) với d=0
Trang 214 KỸ THUẬT PHÁT HIỆN ẢNH CÓ GIẤU TIN TRÊN MIỀN
BIẾN ĐỔI DCT
4.2 Kỹ thuật phát hiện F5
Sử dụng giá trị ước lượng này để tính toán tỉ lệ thay đổi từ histogram của ảnh cover .Khi d=0 và d=1 là phù hợp tốt nhất bởi vì giá trị hệ số này thay đổi lớn nhất trong suốt quá trình nhúng
Giá trị cuối của được tính là giá trị trung bình của cho tần số (u,v) {(1,2),(2,1), (2,2)} Điều đó dẫn đến độ xấp xỉ
Trang 224 KỸ THUẬT PHÁT HIỆN ẢNH CÓ GIẤU TIN TRÊN MIỀN
BIẾN ĐỔI DCT
Giá trị histogram cho ảnh cover là không rõ và phải ước lượng từ ảnh stego Chúng ta làm điều này bằng cách giải nén ảnh stego sang miền giá trị Sau đó ảnh kết quả được cắt bởi 4 pixel trên mỗi mặt để
di chuyển lỗi vùng biên khối, nhận ước lượng cho ảnh histogram từ ảnh nén lại
Hình 4.1 : Ảnh được cắt bởi 4 pixel trên cả hai mặt
Trang 234 KỸ THUẬT PHÁT HIỆN ẢNH CÓ GIẤU TIN TRÊN MIỀN BIẾN ĐỔI DCT
Hình 4.2 dưới đây biểu diễn một ví dụ về sự ước lượng
histogram tốt khi so sánh với histogram của ảnh gốc Trên biểu đồ biểu diễn dấu thập(+) là histogram của ảnh cover tại vị trí(2,1), giá trị histogram của ảnh stego là dấu sao (*), và giá trị histogram ước lượng hình tròn (o)
Hình 4.2 : Giá trị histogram của ảnh tại vị trí (2,1)
Trang 245 KẾT QUẢ THỰC NGHIỆM
Trang 255 KẾT QUẢ THỰC NGHIỆM
Dùng kỹ thuật phát hiện thống kê để phát hiện 20 ảnh cấp xám PNG được giấu bằng kỹ thuật Jstego, Outgess Dưới đây là bảng kết quả :
Bảng 5.1 Kết quả phát hiện 20 ảnh png bằng thống kê
Trang 265 KẾT QUẢ THỰC NGHIỆM
Dùng kỹ thuật phát hiện F5 để phát hiện 20 ảnh cấp xám Bitmap được chuyển từ ảnh gốc chụp bằng máy ảnh kỹ thuật số
dùng công cụ Photoshop CS 8.0 được giấu bằng kỹ thuật F5
Dưới đây là bảng kết quả kiểm tra:
Bảng 5.2 Tỷ lệ giấu
Trang 27KẾT LUẬN
Trong đồ án này đã đưa ra một cái nhìn tổng quan về vấn đề giấu tin trên miền biến đổi DCT và phát hiện ảnh có giấu tin trên miền biến đổi DCT Vì thời gian nghiên cứu có hạn nên chưa xây dựng được chương trình phần mềm bằng ngôn ngữ chuyên dụng (như là visual C++, C++) mới chỉ thử nghiệm được trên môi trường mô phỏng Matlab để kiểm nghiệm
Hướng nghiên cứu tiếp theo sẽ nghiên cứu tiếp một số kỹ thuật phát hiện khác cho ảnh có giấu trên miền DCT như kỹ thuật break Outgess 0.2,… và hoàn thiện cài đặt đóng gói thành một phần mềm chuyên dụng