Đồ án Phương pháp giấu tin thuận nghịch cho ảnh đã mã hóa - Ngô Văn Hiệp
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Phương pháp giấu tin thuận nghịch cho ảnh đã mã hóa - Ngô Văn Hiệp", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- do_an_phuong_phap_giau_tin_thuan_nghich_cho_anh_da_ma_hoa_ng.pdf
Nội dung text: Đồ án Phương pháp giấu tin thuận nghịch cho ảnh đã mã hóa - Ngô Văn Hiệp
- BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG o0o ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN HẢI PHÒNG 2013
- BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG o0o PHƢƠNG PHÁP GIẤUTIN THUẬN NGHỊCH CHO ẢNH ĐÃ MÃ HÓA ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ Thông tin HẢI PHÒNG - 2013
- BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG o0o PHƢƠNG PHÁP GIẤUTIN THUẬN NGHỊCH CHO ẢNH ĐÃ MÃ HÓA ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ Thông tin Sinhviênthựchiện:NGÔ VĂN HIỆP Giáo viên hƣớng dẫn:TS. HỒ THỊ HƢƠNG THƠM Mã số sinh viên:121315 HẢI PHÒNG - 2013
- BỘ GIÁO DỤC VÀ ĐÀO TẠO CỘNG HÒA XA HỘI CHỦ NGHĨA VIỆT NAM TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG Độclập - Tự do - Hạnhphúc o0o NHIỆM VỤ THIẾT KẾ TỐT NGHIỆP Sinhviên: NGÔ VĂN HIỆP Mã SV: 121315 Lớp: CT 1201 Ngành: CôngNghệThông Tin Tênđềtài:Phƣơngphápgiấu tin thuậnnghịchchoảnhđãmãhóa
- NHIỆM VỤ ĐỀ TÀI 1. Nội dung vàcácyêucầucầngiảiquyếttrongnhiệmvụđềtàitốtnghiệp a. Nội dung - Tổngquanvềmãhóathông tin vàgiấu tin trongảnhsố. - Tìmhiểuphƣơngphápmãhóaảnh - Kỹthuậtgiấu tin thuậnnghịchảnhđãmãhóa, táchthông tin, giảimãảnhmãhóa. - Càiđặt, thửnghiệmchƣơngtrình b. Cácyêucầucầngiảiquyết a) Lýthuyết - Hiểuđƣợccấutrúccơbảncủaảnh Bitmap, phƣơngphápmãhóaảnh - Nắmrõtổngquanvềkỹthuậtgiấu tin thuậnnghịchtrongảnh. - Hiểuvànắmrõkỹthuậtgiấu tin thuậnnghịchtrênảnhmãhóa, tách tin khôiphụcảnhmãhóa, giảimãảnhmãhóa. b) Thựcnghiệm (chƣơngtrình) - CàiđặtđƣợckỹthuậtgiấubằngMatlab, thửnghiệmtrênmộttậpảnhđểcóthểđánhgiáđộtrựcquancủaảnhsauk higiấu tin bằng PSNR, từđóđƣaranhậnxétvềkỹthuậtgiấuápdụngchotậpảnhthửnghiệm. 2. Cácsốliệucầnthiếtđểthiếtkế, tínhtoán - Tậpảnhđểthửnghiệm
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng CÁN BỘ HƢỚNG DẪN ĐỀ TÀI TỐT NGHIỆP Ngƣờihƣớngdẫnthứnhất: Họvàtên:HồThịHƣơngThơm Họchàm, họcvị: TiếnSĩ Cơquancôngtác: TrƣờngĐạiHọcDânLậpHảiPhòng Nội dung hƣớngdẫn: Ngƣờihƣớngdẫnthứhai: Họvàtên: . Họchàm, họcvị: . Cơquancôngtác: Nội dung hƣớngdẫn:Phƣơngphápgiấu tin thuậnnghịchchoảnhđãmãhóa Đềtàitốtnghiệpđƣợcgiaongàythángnăm 2013 Yêucầuphảihoànthànhtrƣớcngàythángnăm 2013 Đãnhậnnhiệmvụ: Đ.T.T.N Đãnhậnnhiệmvụ: Đ.T.T.N Sinhviên Cánbộhƣớngdẫn Đ.T.T.N TS. HồThịHƣơngThơm HảiPhòng, ngày tháng năm 2013 HIỆU TRƢỞNG GS.TS.NGƯT TrầnHữuNghị Ngô Văn Hiệp – CT1201 6
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng PHẦN NHẬN XÉT TÓM TẮT CỦA CÁN BỘ HƢỚNG DẪN 1. Tinhthầntháiđộcủasinhviêntrongquátrìnhlàmđềtàitốtnghiệp: 2. Đánhgiáchấtlƣợngcủađềtàitốtnghiệp (so vớinội dung yêucầuđãđềratrongnhiệmvụđềtàitốtnghiệp) 3. Cho điểmcủacánbộhƣớngdẫn: ( Điểmghibằngsốvàchữ ) Ngày tháng năm 2013 Cánbộhƣớngdẫnchính ( Ký, ghirõhọtên ) Ngô Văn Hiệp – CT1201 7
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng PHẦN NHẬN XÉT ĐÁNH GIÁ CỦA CÁN BỘ CHẤM PHẢN BIỆN ĐỀ TÀI TỐT NGHIỆP 1. Đánhgiáchấtlƣợngđềtàitốtnghiệp (vềcácmặtnhƣcơsởlýluận, thuyết minh chƣơngtrình, giátrịthựctế, ) 2. Cho điểmcủacánbộphảnbiện ( Điểmghibằngsốvàchữ ) Ngày tháng năm 2013 Cánbộchấmphảnbiện ( Ký, ghi rõ họ tên ) Ngô Văn Hiệp – CT1201 8
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng LỜI CẢM ƠN! Trƣớc hết em xin bày tỏ lòng biết ơn sâu sắc nhất tới cô giáo hƣớng dẫn Tiến sĩ Hồ Thị Hƣơng Thơm đã tận tình giúp đỡ em rất nhiều trong suốt quá trình tìm hiểu nghiên cứu và hoàn thành báo cáo tốt nghiệp. Em xin chân thành cảm ơn các thầy cô trong bộ môn tin học – trƣờng DHDL Hải Phòng cũng nhƣ các thầy cô trong trƣờng đã trang bị cho em những kiến thức cơ bản cần thiết để em có thể hoàn thành báo cáo. Xin gửi lời cảm ơn đến bạn bè những ngƣời luôn bên em đã động viên và tạo điều kiện thuận lợi cho em, tận tình giúp đỡ chỉ bảo em những gì em còn thiếu sót trong quá trình làm báo cáo tốt nghiệp. Cuối cùng em xin bày tỏ lòng biết ơn sâu sắc tới những ngƣời thân trong gia đình đã giành cho em sự quan tâm đặc biệt và luôn động viên em. Vì thời gian có hạn, trình độ hiểu biết của bản thân còn nhiều hạn chế.Cho nên trong đồ án không tránh khỏi những thiếu sót, em rất mong nhận đƣợc sự đóng góp ý kiến của tất cả các thầy cô giáo cũng nhƣ các bạn bè để đồ án của em đƣợc hoàn thiện hơn. Em xin chân thành cảm ơn! Hải phòng, ngày tháng năm 2013 Sinh viên thực hiện Ngô Văn Hiệp – CT1201 9
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng MỤC LỤC LỜI CẢM ƠN. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 DANH MỤC HÌNH . . . 4 LỜI MỞ ĐẦU 6 CHƢƠNG1.KHÁI NIỆM TỔNG QUAN . . . 7 1. 1 U THÔNG TIN 7 1. 1. 1 Giới thiệu . . . . . 7 1. 1. 2Giấu tin mật (Steganography) . 8 1. 1. 2. 1 Phân loại steaganography . . 9 1. 1. 2. 2 Ứng dụng của steganography . . . . 10 1. 1. 2. 3 Các yêu cầu của một thuật toán giấu thông tin . . 10 1. 1. 3 Thủy vân số (Watermarking) . . 11 1. 1. 4 . . . . . 13 1. 2 . . 13 1. 2. 1 Khái niệm . . . . 14 1. 2. 2 Cấu trúc ảnh BMP . . . 14 1. 3 . 17 CHƢƠNG 2. KĨ THUẬT GIẤU TIN THUẬN NGHỊCH TRONG ẢNH 18 2. 1 KHÁI NIỆN GIẤU TIN THUẬN NGHỊCH . 18 2. 1. 1 Khái niệm . 18 2. 1. 2 Một số kĩ thuật giấu thuận nghịch điển hình . . . 18 2. 1. 2. . 18 2. 1. 2. 2 Thuật toán cải tiến NSAS . 19 2. 1. 2. 3 ền biến đổi wavelet 19 2. 2 MỘT SỐ KHÁI NIỆM . 19 2. 2. 1 Kĩ Thuật giấu tin trên LSB . . 19 2. 2. 2 Mã hóa ảnh . . 20 Ngô Văn Hiệp – CT1201 10
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 2. 3KĨ THUẬT GIẤU TIN TRÊN ẢNHĐÃ MÃ HÓA 21 2. 3. 1 Giới thiệu 21 2. 3. 2 Thuật toán giấu tin và tách tin 22 2. 3. 2. 1 Thuật toán giấu tin . . . . 22 2. 3. 2. 2 Thuật toán tách tin và khôi phục ảnh gốc . . . . . 24 2. 3. 3 Ví dụ minh họa . . . . 28 CHƢƠNG 3.CÀI ĐẶT VÀ THỬ NGHIỆM . . . . 32 3. 1MÔI TRƢỜNG THỬ NGHIỆM . . . . 32 3. 2 GIAO DIỆN CHƢƠNG TRÌNH . . . . . 32 3. 2. 1 Giao diện chính của chƣơng trình . . . 32 3. 2. 2 Giao diện chƣơng trình giấu tin . . . 33 3. 2. 3 Giao diện tách tin . . . . . 36 3. 2. 3. 1 Giao diện tách tin chỉ có khóa giải mã . . 36 3. 2. 3. 2 Giao diên tách tin chỉ có khóa tách tin . . . . . 37 3. 2. 3. 3 Giao diện tách tin có cả khóa mã hóa và khóa tách tin 37 3. 3 KẾT QUẢ THỰC NGHIỆM VÀ NHẬN XÉT . . . . 40 3. 3. 1 Kết quả thực nghiệm . . . 40 3. 3. 2 Nhận xét . . 41 KẾT LUẬN . 42 TÀI LIỆU THAM KHẢO . 43 Ngô Văn Hiệp – CT1201 11
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng DANH MỤC HÌNH Hình 1.1 Phân loại thông tin . . 8 Hình 1.2 Mô hình giấu tin tổng quát . 8 Hình 1.3 Phân loại Steaganography theo B. Pflizmann . 9 Hình 1.4 Phân loại Watermarking theo B. Pfizmann 12 Hình 1.5 Nhúng logo vào tiền giấy . . 12 Hình 2.1 Minh họ 19 Hình 2.2 Ảnh trƣớc và sau khi mã hóa, a) ảnh ban đầu, b) ảnh sau khi mã hóa . 20 Hình 2.3 Minh họa ba trƣờng hợp của ngƣời nhận khi có khóa tách thông tin . . . 21 Hình 3.1 Giao diện chính của chƣơng trình . 32 Hình 3.2 Giao diện giấu tin . . 33 Hình 3.3 Thƣ mục chứa ảnh gốc . . 33 Hình 3.4 Chọn khóa để mã hóa ảnh . 34 Hình 3.5 Nhập khóa giấu tin M, L, S . . . 34 Hình 3.6Nhập tên ảnh đã mã hóa chứa thông tin 34 Hình 3.7 Chƣơng trình mã hóa và giấu chuỗi thông tin vào ảnh . 35 Hình 3.8 Chƣơng trình sau khi đã thực hiện giấu tin . . . 35 Hình 3.9 Giao diện chỉ có khóa giải mã . . . 36 Hình 3.10 Giao diện tách tin chỉ có khóa tách tin . . . . 36 Hình 3.11 Giao diện tách tin có khóa giải mã và khóa tách tin . . . 37 Hình 3.12 Thƣ mục chƣa ảnh đã giấu tin . 37 Hình 3.13 Thƣ mục chứa khóa mã hóa ảnh . 38 Hình 3.14 Thƣ mục chứa ảnh khôi phục sau khi tách tin 38 Hình 3.15 Ảnh gốc xuất hiện sau khi thực hiện tách tin . . 39 Hình 3.16Nội dung thông tin cần giấu vào 3 ảnh lena. png, baboon. png, house. png. . 40 Hình 3.17 Tậpảnh gốc trƣớc khi chƣa mã hóa . . . . 40 Hình 3.18 Tậpảnh sau khi đã tách tin và khôi phục . . 41 Ngô Văn Hiệp – CT1201 12
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng DANH MỤC BẢNG Bảng 1.1 So sánh giữa mật mã học và giấu thông tin . 11 Bảng 1.2BitmapHeader (54 byte) . . . 15 Bảng 3.1 Đánh giá chất lƣợng trung bình PSNR với giá trị M, S khác nhau trên 3 ảnh lena. png, baboon. png, house. png . . . . 39 Bảng 3.2 Bảng đánh giá chất lƣợng PSNR giữa ảnh gốc và ảnh sau khi khôi phục trên 9 ảnh với . . . 40 Ngô Văn Hiệp – CT1201 13
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng LỜI MỞ ĐẦU , kinh doanh, phƣơng tiê , . , , , khăn. , . , . , chƣơng trình , , . , , . l . Trong đồán này tìm hiểu về tổng quan giấu tin trong ảnh, kỹ thuật giấu tin trong ảnh đã mã hóa. Nội dung của báo cáo đƣợc trình bày trong 3 chƣơng: Chƣơng 1: Trình bày tổng quan về giấu tin, cấu trúc ảnh bitmap và đánh giá chất lƣợng ảnh biến đổi bằng PSNR. Chƣơng 2: Trình bày kỹ thuật giấu tin trong ảnh đã mã hóa. Chƣơng 3: Cài đặt và thử nghiệm cho kỹ thuật giất tin trong ảnh đã mã hóa. Ngô Văn Hiệp – CT1201 14
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng CHƢƠNG 1. 1. 1 1. 1. 1 Giới thiệu Cho tới nay, ợc sử dụng phổ biến nhất trong vấn đề bảo mật thông tin.Trong phƣơng pháp mã hoá thông tin, thông tin sẽ đƣợc chuyển từ dạng “có nghĩa” thành dạng “vô nghĩa”, do đó chỉ những ngƣời hoặc máy tính có “chìa khóa” (key) mới giải mã đƣợc những thông tin này. Tuy nhiên, chính những thông tin “vô nghĩa” đó lại gây sự chú ý của tin tặc, dẫn đến việc thông tin có thể bị tấn công. Đối vớ tin, thông tin mật sẽ đƣợc giấu trong các dữ liệu khác (nhƣ ảnh số, tập tin phim ảnh, âm thanh, ), điều này làm cho tin tặc không nhận ra đƣợc sự tồn tại của thông tin mật. Thay vì truyền tải thông tin đƣợc mã hóa, ta sẽ truyền tải những dữ liệu “có nghĩa” có “chứa” thông tin mật bên trong, ợ ủa tin tặc. ật ngữ dùng chung để chỉ các phƣơng pháp hay kĩ thuật che giấu và gắ ảnh, sách báo, tập tin phim ảnh hay các tập tin âm thanh Thông tin đƣợc giấu rất đa dạng: nó có thể là một con số, một chuỗi các kí tự, một đoạn văn bản hay một ảnh số. Gi có thể đƣợc chia thành hai hƣớng chính là steganography và watermarking (theo mô hình phân loại của B. Pflizmann). Mục đích của steganography là giấ ộ ằm bảo vệ thông tin mật đó, trong khi đó mục đích của watermarking là bảo vệ chính đối tƣợng đƣợc giấu thông tin. Ngô Văn Hiệp – CT1201 15
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Information Hiding Steganography Watermarking Linguistic Technical Robust Fragile Steganograph Steganograph Watermarking Watermarking y y Invisible Visible Watermarking Watermarking Hình 1.1 Sơ đồ phân loại giấu tin Thông tin mật Đối tƣợng chủ thể Đối tƣợng đã nhúng Thuật toán nhúng Khóa mật Thuật toán rút trích Kênh truyền tải Thông tin mật Đối tƣợng gốc Hình 1.2 Mô hình giấu thông tin tổng quát 1. 1. 2 Giấu tin mật (Steganography) Steganography là kĩ thuật che giấu, ằm bảo vệ thông tin đó không bị phát hiện.Thuật ngữ “steganography” có nguồn gốc từ hai chữ Hy Lạp là Ngô Văn Hiệp – CT1201 16
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng “steganos” và “graphein”, có nghĩa “che giấu” và “bản ghi chép”. Mặc dù thuật ngữ “steaganography” mới xuất hiện vào cuối thế kỉ 15, nhƣng cũng nhƣ mật mã học, những ứng dụng đầu tiên của steganography đã có từ hàng ngàn năm trƣớc.Trong thời kì Hy Lạp cổ đại (năm 440 trƣớc Công nguyên), thông điệp đƣợc giấu trong những bản ghi bằng sáp (bằng cách ghi trực tiếp thông tin lên gỗ rồi phủ sáp ong lên), hay đƣợc xăm lên da đầu của nô lệ. Về sau, trong thời kì chiến tranh thế giới I và II, cũng nhƣ trong các hoạt động gián điệp, khủng bố, những kĩ thuật tiên tiến hơn đƣợc sử dụng nhƣ mực vô hình, vi ảnh, vi phim, đánh dấu kí tự 1. 1. 2. 1 Phân loại steaganography Theo B. Pflizmann, ta có các hƣớng phát triển của steaganography nhƣ sau: Steganography Technical Linguistic Steganography Steganography Semagrams Open Codes Visual Text Jargon Covered Semagrams Semagrams Code Ciphers Null Grille Ciphers Ciphers Hình 1.3 Phân loại Steaganography theo B. Pflizmann Phân tích: - Technical steganography Technical steganography liên quan tới việc sử dụng các phƣơng pháp vật lí hay hóa học để che dấu thông tin mật. Ví dụ phƣơng pháp sử dụng mực vô hình, phƣơng pháp vi ảnh. Các phƣơng pháp xuất hiện từ rất lâu và hiện nay hầu nhƣ không còn đƣợc sử dụng. - Linguistics steganography Các phƣơng pháp thuộc loại visual semagrams thƣờng sử dụng các thực thể vật lí, nội dung thông điệp mật thƣờng đƣợc thể hiện Ngô Văn Hiệp – CT1201 17
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng quanh nghĩa của các đối tƣợng này. Ví dụ sử dụng vị trí của các quân cờ trên bàn cờ hoặc vẽ một con ngƣời trong các tƣ thế khác nhau và mỗi tƣ thế ứng với một ý nghĩa riêng. Trong khi đó, các phƣơng pháp trong nhóm text semagrams nội dung thông tin mật đƣợc ẩn chứa thông qua cách hiển thị của văn bản. Một số kĩ thuật loại này có thể áp dụng cho cả văn bản viết tay và văn bản in. Ví dụ thay đổi khoảng cách giữa các kí tự. Ngoài ra các phƣơng pháp thuộc nhóm jorgon code thƣờng nhúng nội dung thông điệp vào trong những tín hiệu có công suất lớn, và nhƣ thế thông tin ẩn sẽ không bị phát hiện. 1. 1. 2. 2 Ứng dụng của steganography Dùng trong truyền thông bí mật nhƣ trong các hoạt động phi pháp, gian lận tài chính, gián điệp công nghiệp, tình báo, Dùng để đính kèm thông tin bổ sung cho một đối tƣợng nào đó. Ví dụ nhƣ trong một album ảnh số, mỗi ảnh có thể kèm thêm thông tin về ngày, tháng, năm, nội dung ảnh, tên ngƣời chụp, 1. 1. 2. 3 Các yêu cầu của một thuật toángiấu thông tin Tính bền vững: Thể hiện ở khả năng ít thay đổi trƣớc các tấn công bên ngoài nhƣ: thay đổi tính chất (thay đổi biên độ, thay đổi tần số lấy mẫu ) đối với tín hiệu âm thanh, các phép biến đổi affine (phép quay, tỉ lệ ), thay đổi chất lƣợng ảnh đối với tín hiệu ảnh, chuyển đổi định dạng dữ liệu (JPG – BMP, WAV – MP3, ). Hiện nay chƣa có phƣơng pháp nào có thể đảm bảo tính chất này một cách tuyệt đối.Với từng ứng dụng cụ thể, mức độ yêu cầu tính chất này sẽ khác nhau (yêu cầu cao hơn đối với watermarking). Khả năng không bị phát hiện: Tính chất này thể hiện ở khả năng khó bị phát hiện, nghĩa là khó xác định một đối tƣợng có chứa thông tin mật hay không. Để nâng cao khả năng này, hầu hết các phƣơng pháp ẩn dữ liệu dựa trên đặc điểm của hai hệ tri giác ngƣời là hệ thị giác (HVS – Human Visual System) và hệ thính giác (HAS – Human Auditory System). Đây là hai cơ quan chủ yếu đƣợc dùng để đánh giá chất lƣợng của một tín hiệu. Khả năng không bị phát hiện phụ thuộc vào hai yếu tố sau: Ngô Văn Hiệp – CT1201 18
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Kĩ thuật giấu tin: dữ liệu đƣợc nhúng phải phù hợp với đối tƣợ thuật toán nhúng. Ví dụ nhƣ một thông tin mật sẽ khó bị phát hiện khi nhúng vào đối tƣợng A nhƣng lại rất dễ thấy khi nhúng vào đối tƣợng B. Kinh nghiệm của kẻ tấn công: nếu kẻ tấn công có nhiều kinh nghiệm thì khả năng phát hiện ra một đối tƣợng có chứa thông tin mật là không quá khó. Khả năng lƣu trữ: Khả năng này thể hiện ở lƣợng thông tin có thể nhúng trong đối tƣợng chủ thể. Do yêu cầu bảo mật nên khả năng lƣu trữ luôn bị hạn chế. Do đó trong trƣờng hợp muốn ẩn một thông tin có kích thƣớc lớn, ta thƣờng chia nhỏ thông tin ra và nhúng vào các đối tƣợng khác nhau. Tính chắc chắn: Tính chất này khác quan trọng trong chứng nhận bản quyền, xác thực Trong thực tế tiêu chí này đƣợc đặt nặng trong kĩ thuật gán nhãn thời gian. Tính bảo mật: Có nhiều cấp độ bảo mật khác nhau, nhƣng nhìn chung có 2 cấp độ chính: Ngƣời dùng hoàn toàn không biết có sự tồn tại của thông tin mật. Ngƣời dùng biết sự tồn tại của thông tin mật, nhƣng phải có khóa khi truy cập. Bảng so sánh sau đây cho ta thấy những điểm khác biệt cơ bản giữa mật mã học và giấu thông tin. Bảng 1. 1 So sánh giữa mật mã học và giấu thông tin Mật mã học Giấu thông tin Thông tin đƣợc mã hóa. Thông tin đƣợc giấu đi. Kĩ thuật mới, vẫn còn tiếp tục phát Kĩ thuật phổ biến. triển. Dựa vào độ phức tạp của thuật toán Dựa vào phƣơng tiện chứa để che để bảo vệ thông tin mã hóa. giấu sự tồn tại của thông tin mật. 1. 1. 3 Thủy vân số (Watermarking) Watermarking là kĩ thuật nhúng thông tin xác nhận hay bản quyền sở hữu vào các đối tƣợng nhƣ hình ảnh, tài liệu, tập tin phim ảnh và âm thanh.Với kĩ thuật watermarking số các tác giả sẽ có thể kí chữ kí trên tác phẩm của mình trƣớc khi phân phối, chia sẻ trên Internet, mà không làm ảnh hƣởng nhiều đến chất lƣợng tác Ngô Văn Hiệp – CT1201 19
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng phẩm.Việc làm này thực sự hiệu quả, giúp bảo vệ và làm giảm thiểu sự tranh chấp về vấn đề bản quyền sở hữu trí tuệ số, vốn đang là vấn đề nóng hiện nay. Phân loại watermarking: Dựa vào các tính chất khác nhau, ta có thể chia kĩ thuật watermarking thành các nhóm nhƣ sau: Watermarking Robust Watermarking Fragile Watermarking Invisible Visible Watermarking Watermarking Hình 1.4Phân loại Watermarking theo B. Pflizmann Thủy vân đƣợc nhúng theo phƣơng pháp robust watermarking rất khó bị phá hủy. Thông thƣờng robust watermarking đƣợc sử dụng trong trƣờng hợp thông tin mật là thông tin rất quan trọng không đƣợc tiết lộ, chỉ có tác giả mới biết chính xác thông tin gì đƣợc giấu trong tác phẩm của họ. Dạng ứng dụng này thƣờng thấy trong các trƣờng hợp bảo vệ bản quyền sở hữu trí tuệ. Đối với các ứng dụng đƣợc xếp vào loại thủy vân hiện rõ (Visible) thì ngƣời dùng có khả năng nhìn thấy thông tin mật.Thông thƣờng các ứng dụng loại này sử dụng một logo làm thông tin mật nhằm mục đích chống giả mạo (Hình 1. 5). Hình 1.5 Nhúng logo vào tiền giấy Ngô Văn Hiệp – CT1201 20
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Với các ứng dụng theo hƣớng Watermarking vô hình (Invisible), thì ngƣời dùng không thể biết đƣợc bất cứ thông tin nào đƣợc nhúng. Các ứng dụng loại này thƣờng là bảo vệ quyền tác giả, bảo vệ quyền sở hữu trí tuệ.Thông tin đƣợc nhúng thƣờng là logo hay đoạn văn bản. Thủy vân dễ vỡ (Fragile Watermarking) thƣờng đƣợc sử dụng trong các ứng dụng bảo vệ nội dung.Bất cứ sự thay đổi nhỏ nào cũng dẫn tới sự phá hủy hoàn toàn watermark.Ngoài mục đích xác thực nội dung thì một ứng dụng mới trong fragile watermarking là phát hiện lỗi trong quá trình truyền nhằm đánh giá hiệu quả truyền tải dữ liệu. Giống nhƣ thuậ ổng quát, một thuật toán watermarking cũng phải đảm bảo các yêu cầu. Tính bền vững. Khả năng không bị phát hiện. Khả năng lƣu trữ. Khả năng vô hình. Tính chắc chắn. Tính bảo mật. Ngoài ra còn có thêm một số yêu cầu khác do những tính chất riêng của watermarking. Ứng dụng của watermarking: Bảo vệ bản quyền, bảo vệ sao chép, kiểm tra tính xác thực của dữ liệu truyền thông 1. 1. 4 Thông điệp (Message): là thuật ngữ dùng để chỉ các thông tin đƣợc giấu trong các phƣơng tiện chứa để chuyển đi. Thông điệp có thể có nhiều dạng nhƣ dạng văn bản hoặc hình ảnh. . . Phƣơng tiện chứa gốc ể chứa thông điệp mật. Đối tƣợng này đƣợc gọi là Cover – .Tùy thuộc vào loại dữ liệu mà nó có các tên khác nhau.Ví dụ: cover image, cover audio, cover text, Phƣơng tiện chứa sau khi đã giấu tin: là phƣơng tin mật, còn đƣợc gọi là Stego – . Ví dụ nếu đối tƣợng bao tin là cover image thì đối tƣợng đã nhúng là stego image. Ngô Văn Hiệp – CT1201 21
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Khóa mật: là khóa tham gia vào quá trình nhúng, Tùy vào từng thuật toán mà ta có sử dụng khóa này hay không. Khóa này còn có tên gọi là stego key. 1. 2 1. 2. 1 Khái niệm Điểm ảnh (pixel) là thành phần cơ bản cấu tạo nên ảnh số (digital image).Ảnh nhị phân là ảnh đơn giản nhất trong đó mỗi điểm ảnh đƣợc cấu tạo bởi một bit. Chỉ có hai trạng thái (0, đen hoặc 1, trắng) cho mỗi điểm ảnh.Đối với ảnh xám (gray-scale image), mỗi điểm ảnh đƣợc biểu diễn nhiều hơn một bit.Một ảnh xám trong đó mỗi điểm ảnh gồm 8 bit sẽ có 256 mức xám. Mức độ xám của mỗi điểm ảnh thƣờng có giá trị từ 0 đến 255 ( 28 mức độ).Giá trị 0 ứng với màu đen và ngƣợc lại 255 biểu diễn màu trắng (do áp dụng quy tắc ánh sáng trắng là sự kết hợp của các sóng màu tạo thành nên chọn 255 là màu trắng). Ảnh màu (đƣợc biểu diễn bằng 24 bit) là một ma trận kích thƣớc MN 3, gồm ba kênh màu: đỏ, xanh lá, và xanh dƣơng (RGB). Mỗi kênh màu của ảnh màu đƣợc xem nhƣ một ảnh xám kích thƣớc MN với các giá trị điểm ảnh trên kênh màu đó từ 0 đến 255.Giá trị thực của mỗi điểm trên ảnh màu đƣợc tổng hợp từ những điểm ảnh tƣơng ứng trên từng kênh đỏ, xanh lá, và xanh dƣơng. 1. 2. 2 Cấu trúc ảnh BMP Để thực hiện việc giấu tin trong ảnh, trƣớc hết ta phải nghiên cứu cấu trúc của ảnh và có khả năng xử lý đƣợc ảnh tức là phải số hoá ảnh. Quá trình số hoá các dạng ảnh khác nhau và không nhƣ nhau.Có nhiều loại ảnh đã đƣợc chuẩn hoá nhƣ: JPEG, PCX, BMP Sau đây là cấu trúc ảnh *.BMP Mỗi file ảnh BMP gồm 3 phần: BitmapHeader (54 byte) Palette màu (bảng màu) BitmapData (thông tin ảnh) Cấu trúc cụ thể của ảnh: - Palette màu (bảng màu): bảng màu của ảnh, chỉ những ảnh lớn hơn hoặc bằng 8 bit màu mới có Palette màu. - BitmapData (thông tin ảnh): phần này nằm ngay sau phần palette màu của ảnh BMP. Đây là phần chứa giá trị màu của điểm ảnh trong ảnh BMP, các dòng ảnh Ngô Văn Hiệp – CT1201 22
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng đƣợc lƣu từ dƣới lên trên, các điểm ảnh đƣợc lƣu từ trái sang phải. Giá trị của mỗi điểm ảnh là một chỉ số trỏ tới phần tử màu tƣơng ứng của palette màu. Bảng 1.2 BitmapHeader (54 byte) Byte Đặt tên Ý nghĩa Giá trị 1 - 2 ID Nhận dạng file „BMP‟ hay 19778 3 – 6 File_Size Kích thƣớc File Kiểu Long trong turbo C 7 – 10 Reserved Dành riêng Mang giá trị 0 11 – 14 OffsetBit Byte bắt đầu vùng dữ Offset của byte bắt đầu liệu vùng dữ liệu 15 -18 Isize Số byte cho vùng info 40 byte 19 – 22 Width Chiều rộng của ảnh Tính bằng điểm ảnh BMP 23 – 26 Height Chiều cao của ảnh Tính bằng điểm ảnh BMP 27 – 28 Planes Số planes màu Cố định là 1 29 – 30 bitCount Số bít cho một pixel Có thể là 1, 4, 6, 16, 24 31-34 Compression Kiểu nén dữ liệu 0: Không nén 1: Nén runlength8bits/ điểm ảnh 2: Nén runlength 4bits/điểm ảnh Ngô Văn Hiệp – CT1201 23
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 35 -38 ImageSize Kích thƣớc ảnh Tính bằng byte 39 – 42 XpelsPerMeter Độ phân giải ngang Tính bằng điểm ảnh/metr 43 – 46 YpelsPerMeter Độ phân giải dọc Tính bằng điểm ảnh/metr 47 – 50 ColorsUsed Số màu sử dụng trong ảnh 51 – 54 ColorsImportant Số màu đƣợc sử dụng khi hiện ảnh - Thành phần BitCount của cấu trúc BitmapHeader cho biết số bit dành cho mỗi điểm ảnh và số lƣợng màu lớn nhất của ảnh. BitCount có thể nhận các giá trị sau: 1: Bitmap là ảnh đen trắng, mỗi bit biểu diễn 1 điểm ảnh. Nếu bit mang giá trị 0 thì điểm ảnh là đen, bit mang giá trị 1 điểm ảnh là điểm trắng. 4: Bitmap là ảnh 16 màu, mỗi điểm ảnh đƣợc biểu diễn bởi 4 bit 8: Bitmap là ảnh 256 màu, mỗi điểm ảnh biểu diễn bởi 1 byte 16: Bitmap là ảnh highcolor, mỗi dãy 2 byte liên tiếp trong bitmap biểu diễn cƣờng độ tƣơng đối của màu đỏ, xanh lá cây, xanh lơ của một điểm ảnh 24: Bitmap là ảnh true color (224 màu), mỗi dãy 3 byte liên tiếp trong bitmap biểu diễn cƣờng độ tƣơng đối của màu đỏ, xanh lá cây, xanh lơ (RGB) của một điểm ảnh - Thành phần ColorUsed của cấu trúc BitmapHeader xác định số lƣợng màu của palette màu thực sự đƣợc sử dụng để hiển thị bitmap. Nếu thành phần này đƣợc đặt là 0, bitmap sử dụng số màu lớn nhất tƣơng ứng với giá trị của BitCount. 1. 3 Để đánh giá chất lƣợng của bức ảnh ta thƣờng sử dụ : Sai số bình phƣơng trung bình – MSE (mean square error) và tỉ số tín hiệu trên nhiễu đỉnh – PSNR (pesak to signal to noise ratio). MSE giữa ảnh gốc và ảnh khôi phục đƣợc tính nhƣ sau: (1. 1) Ngô Văn Hiệp – CT1201 24
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Trong đó tổng lấy theoj, k tính cho tổng tất cả các điểm ảnh trong ảnh vàN là số điểm ảnh trong ảnh.Còn PSNR giữa hai ảnh (b bít cho mỗi điểm ảnh, RMSE là căn bậc 2 của MSE) đƣớc tính theo công thức dB nhƣ sau: (1. 2) Thông thƣờng, nếu PSNR 40dB thì hệ thống mắt ngƣời gần nhƣ không phân biệt đƣợc giữa ảnh gốc và ảnh khôi phục. Ngô Văn Hiệp – CT1201 25
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Chƣơng 2. KĨ THUẬT GIẤU TIN THUẬN NGHỊCH TRONG ẢNH 2. 1Khái niệm giấu tin thuận nghịch 2. 1. 1 Khái niệm Dựa vào mục đích giấu tin và sau khi khôi phục thông điệp ngƣời ta có thể phân loại kĩ thuật giấu thành hai nhóm kĩ thuật giấu cơ bản sau: - Kĩ thuật giấu thuận nghịch: là kĩ thuật giấu sau khi khôi phục thông điệp ta có thể khôi phục xấp xỉ ảnh gốc. Những kĩ thuật này đƣợc phục vụ trong các lĩnh vực nhƣ: y học, khoa học kĩ thuật, quân sự, vệ tinh Đây là những lĩnh vực cần lƣu lại ảnh gốc sau khi tách tin để đảm bảo an toàn cho thông tin đã giấu ngƣời ta có thể hủy vật mang tin. - Kĩ thuật giấu không thuận nghịch: là kĩ thuật giấu sau khi tách tin không thể khôi phục ảnh gốc. Những kĩ thuật này phục vụ trong lĩnh vực trao đổi thông tin mật trong trƣờng hợp cần thiết ngƣời ta có thể hủy vật mang tin mà không cần lƣu trữ 2. 1. 2Một số kĩ thuật giấu thuận nghịch điển hình 2. 1. 2. 1 G : ộng sự 2006. ộng sự [1]. Ý tƣởng: Đề xuất của Ni với cộng sự (2004) nhúng dữ liệu bằng cách dịch chuyển các biểu đồ tần suất. Phƣơng pháp này lần đầu tiên xây dựng một biểu đồ ảnh của ảnh gốc để có đƣợc một điểm cực đại và một điểm cực tiểu sau đó các dữ liệu nhúng bằng cách di chuyển các biểu đồ tần suất dựa vào điểm cực đại và cực tiểu này. Ngô Văn Hiệp – CT1201 26
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 2. 1. 2. 2Thuật toán cải tiến NSAS Giới thiệu: Thuật toán NSAS đƣợc J.H. Hwang, J. W. Kim, and J. U. Choi cải tiến và đề xuất năm 2010 [2]. Ý tƣởng: Thay vì dịch chuyển tất cả các điểm ảnh giữa điểm cực đại và điểm cực tiểu trƣớc khi nhúng, ta kết hợp sự dịch chuyển và các quá trình nhúng với nhau để chỉ ra số lƣợng điểm ảnh dịch chuyển cho 1 kích thƣớc dữ liệu nhúng nhất định. Vì vậy không có thêm khoảng trống giữa các điểm ảnh để dịch chuyển so với phƣơng pháp Ni và các cộng sự (2006). 2. 1. 2. 3 Phương ền biến đổi wavelet 2002[6]. Ý tƣởng: , LH. Dữ liệ ải LH. Lấy 2 điểm ảnh gần nhau tính giá trị trung bình của 2 điểm ảnh này, v 2. 2 Một số khái niệm 2. 2. 1 Kĩ Thuật giấu tin trên LSB Bit có trọng số bé nhất (LSB- Least significant bit): Trong một chuỗi bit B, bit có trọng số bé nhất (LSB) của B đƣợc định nghĩa là bit đầu tiên từ phải sang trong biểu diễn nhị phân của B, đồng thời cũng là bit đơn vị của B. Bit này cho ta biết tính chẵn lẻ của B và khi nó bị thay đổi sẽ không làm ảnh hƣởng nhiều đến giá trị của B. Ngƣợc lại bit có trọng số lớn nhất là bit đầu tiên tử trái sang trong biểu diễn nhị phân của B. Khi ta thay đổi bit này sẽ ảnh hƣởng rất lớn đến giá trị của B. Ví dụ: Với B = “10011100” (156 trong hệ thập phân), các bit có trọng số bé nhất và bit có trọng số lớn nhất nhƣ sau: 10011100 Bit có trọng số lớn nhất Bit có trọng số bé nhất Hình 2. 1 Minh họa phương pháp Ngô Văn Hiệp – CT1201 27
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Khi thay đổi bit có trọng số bé nhất từ 0 thành 1, giá trị của B là “10011101” (157 trong hệ thập phân). Khi thay đổi bit có trọng số lớn nhất từ 1 thành 0, giá trị của B là “00011100” (28 trong hệ thập phân). : là kĩ thuậ ản nhất, ta nhúng trực tiếp các bit của thông điệp cần gửi vào các bit có trọng số bé nhất của ảnh chủ thể. Sự thay đổi các bit có trọng số bé nhất sẽ không tạo ra sự khác biệt mà mắt ngƣời có thể nhận ra, nguyên nhân là do biên độ của sự thay đổi nhỏ. Ƣu điểm của phƣơng pháp LSB là dễ dàng thực hiện và đƣợc sử dụng trong nhiều kĩ thuật khác. Tuy nhiên, hiệu quả của phƣơng pháp này tỉ lệ nghịch với số bit thay thế trong mỗi điểm ảnh và chỉ có thể dừng lại trong khoảng ba bit, nên lƣợng thông tin nhúng sẽ không đƣợc nhiều (chỉ khoảng 20% dung lƣợng so với ảnh chủ thể). 2. 2. 2 Mã hóa ảnh Mã hóa ảnh là phƣơng pháp mã hóa các pixel ảnh thành dạng khó hiểu.Ví dụ minh họa hình 2.2. Trong đó hình 2. 2 a) là ảnh ban đầu trƣớc khi mã hóa, hình 2.2 b) là ảnh sau khi mã hóa. a) b) Hình 2.2 Ảnh trƣớc và sau khi mã hóa, a) ảnh ban đầu, b) ảnh sau khi mã hóa Phƣơng pháp mã hóa ảnh phổ biến Trong [3] sử dụng phƣơng pháp mã hóa bằng phép XOR (mã hóa vòng) chophép mã hóa từng điểm ảnh với một giá trị trên từng bit cụ thể nhƣ sau: Giả sử ảnh ban đầu với kích thƣớc N1 x N2 không nén định dạng và mỗi điểm ảnh có giá trị màu xám thuộc [0, 255]. Ký hiệu các thông tin của một điểm ảnh là bi, j, 0, bi, j, 1, , bi, j, 7 với 1≤ i ≤ N1, 1 ≤ j ≤ N2, giá trịmàu xám là pi, j, và số điểm ảnh là N (N=N1 x N2). Điều đó có nghĩa: Ngô Văn Hiệp – CT1201 28
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng (2. 1) Và (2. 2) Trong giai đoạn mã hóa, kết quả phép toán xor (exclusive_or) giữa bit thông tin ban đầu với bit giả định ngẫu nhiên đƣợc tính theo công thức: (2. 3) Với ri, j, u đƣợc xác định là một khoá mã hóa (sử dụng một thuật toán mật mã tiêu chuẩn dòng). Sau đó, Bi.j. u đƣợc nối có trật tự nhƣ dữ liệu đƣợc mã hóa. 2. 3 Kĩ thuật giấu tin trên ảnh đã mã hóa 2. 3. 1 Giới thiệu Đây là phƣơng pháp giấu tin trên LSB của ảnh đã mã hóa do XiNpeng Zhang đề xuất năm 2002 [3]. Phƣơng pháp này là kĩ thuật giấu thuận nghịch.Đầu tiên, ảnh gốc (ảnh chƣa nén)đƣợc mã hóa bằng một khóa nào đó.Sau đó ngƣời giấu thông tin có thể nén các bit LSB của ảnh đã mã hóa bằng một khóa mã hóa tạo ra không gian phù hợp để chèn dữ liệu. Với ảnh đã mã hóa bao gồm thông tin giấu nếu ngƣời nhận có 1 khóa giấu tin họ có thể tách ra thông tin đã giấu mà không biết nội dung thật của ảnh.Nếu ngƣời nhận có khóa mã hóa ảnh họ có thể giải mã để nhận biết nội dung của ảnh nhƣng không thể tách đƣợc thông tin đã giấu. Nếu ngƣời nhận có cả khóa mã hóa và khóa giấu tin họ có thể vừa tách đƣợc thông tin đã giấu và khôi phục ảnh mà không có bất kì lỗi nào liên quan đến chất lƣợng ảnh khi lƣợng thông tin không quá lớn. Minh họa theo hình 2. 3. Hình 2.3 Minh họa ba trƣờng hợp của ngƣời nhận khi có khóa tách thông tin [3] Ngô Văn Hiệp – CT1201 29
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 2. 3. 2 Thuật toán giấu tin và tách tin 2. 3. 2. 1Thuật toán giấu tin Trong giai đoạn nhúng thông tin, một số thông số đƣợc gắn vào một lƣợng nhỏ của các điểm ảnh đã mã hóa và LSB của điểmảnh đƣợc nén để tạo ra một không gian chứa thông tin và các dữ liệu ban đầu bởi các tham số. Các thủ tục chi tiết nhƣ sau. Theo khóa giấu tin, ngƣời giấu chọn một cách giả ngẫu nhiên Np điểm ảnh đã mã hóa để mang các thông số cho giấu thông tin.Ở đây, Np là một số nguyên dƣơng nhỏ, ví dụ: Np= 20. Các điểm ảnh mã hóa (N – Np) khác hoán vị một cách giả ngẫu nhiên và chia thành từng nhóm, mỗi nhóm trong số đó chứa L điểm ảnh.Cách hoán vị này cũng đƣợc xác định bằng khóa giấu tin.Mỗi nhóm điểm ảnh, tập hợp ít nhất M bit thông tin ít quan trọng nhất (LSB) của L điểm ảnh, và biểu thị chúng là B(k, 1), B(k, 2), , B(k, M*L) trong đó k là một chỉ số nằm trong nhóm [1, ( N – Np)/L] và M là số nguyên dƣơng nhỏ hơn 5. Ngƣời ẩn dữ liệu cũng tạo ra một ma trận G kích thƣớc (M*L –S) x M*L, bao gồm hai phần: (2. 4) Trong khi phần bên trái là một (M*L – S) x (M*L – S) ma trân nhận dạng, phần bên phải Q có kích thƣớc (M*L – S) x S là một ma trận đƣợc nhị phân giả định ngẫu nhiên có nguồn gốc từ khóa giấu tin.Ở đây, S là một số nguyên dƣơng nhỏ.Sau đó, gắn các giá trị của các tham sốNP vào các điểm ảnh đã mã hóa LSB đã chọn. Ví dụ: Np = 20, ngƣời giấu tin có lấy các giá trị của M, L là 2, 14 và 4 bit thông tin, tƣơng ứng, và thay thế các điểm ảnh mã hóa LSB đã chọn với 20 bit thông tin. Tiếp theo, tổng (N – Np) * S/L bit thông tin tạo thành từNp các LSB ban đầu đã chọn và (N – Np) * S/L – Np bit thông tin thêm vào sẽ đƣợc gắn vào các nhóm điểm ảnh. Với mỗi nhóm, tính toán (2. 5) Trong đó phép toán số học là phép chia dƣ cho 2.Nhƣ (2. 5), B(k, 1), B (k, 2), , B (k, M*L) đƣợc nén nhƣ (M*L – S) bit, và một không gian trống có sẵn cho việc lƣu giữ thông tin. Đặt [B (k, M*L – S + 1), B (k, M*L – S + 2) , , B (k, Ngô Văn Hiệp – CT1201 30
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng M*L) của mỗi nhóm là các LSB ban đâu điểm ảnh đã mã hóa đã chọn và dữ liệu cần giấu. Sau đó, thay thế [B(k, 1), B(k, 2), , B(k, M*L)] với [B (k, 1), B (k, 2), , B (k, M*L)]mới, và đặt chúng vào vị trí ban đầu của chúng bằng một phép hoán vị nghịch đảo. Tại cùng thời điểm, (8-M) bit quan trọng nhất (MSB) của điểm ảnh đã mã hóa đƣợc giữ không thay đổi.Kể từ khi S bit đƣợc gắn vào từng nhóm điểm ảnh, tất cả(N –Np) S/L bit có thể đƣợc bố trí trong tất cả các nhóm. Rõ ràng, tỉ lệ nhúng, tỷ lệ giữa số lƣợng dữ liệu giấu và tổng số điểm ảnh gốc, là (2. 6) Từ đó ta có thể tóm lƣợc lại thuật toán giấu tin nhƣ sau: Thuật toán giấu tin Đầu vào: cho 1 ảnh cấp xám 8 bit, chuỗi thông điệp Đầu ra: ảnh đã giấu tin Các bƣớc thực hiện: Bƣớc 1: (Mã hóa ảnh) Giả sử ảnh ban đầu có kích thƣớc N1xN2. Mỗi điểm ảnh với giá trị màu xám thuộc [0, 255]. Chuyển các điểm ảnh sang nhị phân và thực hiện mã hóa các điểm ảnh này với ri( r là khóa mã hóa có kích cỡ bằng N1 x N2, giá trị sinh ngẫu nhiên) theo công thức (2. 1), (2. 2) và (2. 3) đƣợc ma trận ảnh đã mã hóa B. Bƣớc 2: Sử dụng khóa giấu tin là các tham số M (số bit LSB sẽ tách ra từ các điểm ảnh), L (kích cỡ của nhóm chia), S (số bit đƣợc giấu trong từng nhóm). Chọn giả ngẫu nhiên NP bit LSB để giấu các tham số vào ảnh. Chọn (N-NP) điểm ảnh còn lại để giấu tin. Bƣớc 3: Chia (N-NP) này thành các nhóm Gi mỗi nhóm kích cỡ L pixel. Bƣớc 4: Mỗi nhóm Githực hiện giấu tin nhƣ sau: mỗi pixel của nhóm đƣợc tách ra M bit LSB đƣợc chuỗi bit ký hiệu là B(k, 1), B(k, 2), , B(k, M*L) trong đó k là một chỉ số nằm trong nhóm [1, (N – NP)/L] và M là số nguyên dƣơng nhỏ hơn 5, sau đó trong chuỗi bit này giấu S bit thông điệp bằng cách thay thế bit thông điệp vào chuỗi bit một cách giả ngẫu nhiên. Bƣớc 5: Quá trình lặp lại cho đến khi giấu hết chuỗi bit thông điệp Bƣớc 6: thay thế lại các bit của các chuỗi vào các pixel tƣơng ứng của từng nhóm (theo cách ta tách ra) ta đƣợc ảnh mã hóa đã giấu tin. Ngô Văn Hiệp – CT1201 31
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 2. 3. 2. 2 Thuật toán tách tin và khôi phục ảnh gốc Trong quá trình này, chúng ta sẽ xem xét ba trƣờng hợp: ngƣời nhận có chỉ khóa giấu dữ liệu, chỉ có khoá mã hóa, và cả khóa giấu dữ liệu và khóa mã hóa. Với một ảnh đã mã hóa chứa dữ liệu gắn vào, nếu ngƣời nhận chỉ có khóa giấu dữ liệu, đầu tiên ta có thể nhận các giá trị của các tham số M, L và S từ LSB các điểm ảnh mã hóa đƣợc lựa chọn.Sau đó, đổi trật tự và phân chia (N – NP) điểm ảnh khác vào các nhóm (N – NP)/L và tách ra S bit đƣợc gắn vào từ M bit LSB của từng nhóm. Khi có tất cả (N – NP) S/L bit đƣợc tách, ngƣời nhận có thể chia chúng vào thành NPcác điểm ảnh mã hóa LSB ban đầu đã chọnvà (N – NP) S/L – NPbit thông tin đã giấu. Lƣu ý rằng vì các điểm ảnh đƣợc lựa chọn giả ngẫu nhiên và hoán vị, bất kỳ kẻ tấn công mà không có khóa giấu tin không thể có đƣợc giá trị của tham số và các nhóm điểm ảnh, do đó không thể tách các dữ liệu đƣợc gắn vào. Hơn nữa, mặc dù ngƣời nhận có khóa giấu tin có thể tách thành công dữ liệu đƣợc gắn vào nhƣng không thể có đƣợc bất kì thông tin nào của nội dung ảnh ban đầu. Xem xét trƣờng hợp ngƣời nhận chỉ có khóa mã hóa, nhƣng không biết khóa giấu tin.Rõ ràng, không thể có đƣợc giá trị của tham số M, L, S và không thể tách đƣợc dữ liệu đã giấu. Tuy nhiên, nội dung hình ảnh ban đầu có thể đƣợc phục hồi.Biểu thị các đơn vị thông tin của điểm ảnh trong ảnh đƣợc để mã hóa chứa dữ liệu giấu vào là B i, j, 0,B i, j, 1, , B i, j, 7(1 ≤ I ≤ N1 và 1 ≤ j ≤ N2) ngƣời nhận có thể giải mã dữ liệu nhận đƣợc (2. 7) trong đó ri, j, u có đƣợc từ khoá mã hóa. Các giá trị màu xám của các điểm ảnh đƣợc giải mã là: (2. 8) Hoạt động giấu tin không làm thay đổi bất kỳ MSB của hình ảnh đƣợc mã hóa, MSB phải đƣợc giải mã giống nhƣ MSB ban đầu. Vì vậy, nội dung của hình ảnh đƣợc giải mã tƣơng tự nhƣ hình ảnh ban đầu.Theo (2. 5), nếuB(k, M *L – S + 1) = B(k, M *L – S +2) = =B(k, M *L) = 0, thì: (2. 9) Xác suất của trƣờng hợp này là 1/2S, và, trong trƣờng hợp này, (M*L – S) bit gốc trong M LSB có thể đƣợc tách tin một cách chính xác.Từ S nhỏ hơn M*L, chúng ta bỏ qua các biến dạng khác của S bit đƣợc giải mã. Nếu có các bit khác 0trong B(k, M * L – S + 1 ), B(k, M *L – S +2), , B(k, M *L), các dữ liệu đƣợc Ngô Văn Hiệp – CT1201 32
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng mã hóa trong M bit LSB đã đƣợc thay đổi bởi việc giấu tin, do đó dữ liệu tách ra trong các LSB khác so với các dữ liệu ban đầu. Giả sử rằng sự phân bố ban đầu của các dữ liệu trong M bit LSB – là đồng nhất, biến dạng năng lƣợng cho mỗi điểm ảnh tách tin là: (2. 10) Bởi vì xác suất của trƣờng hợp này là( 2S – 1)/2S, năng lƣợng trung bình của sự biến dạng là: (2. 11) Ở đây, sự biến dạng ở các điểm ảnh NP đã chọn cũng bị bỏ qua từ khi số của nó nhỏ hơn so với kích thƣớc N của hình ảnh.Vì vậy, giá trị của PSNR trong ảnh giảimã trực tiếp là: (2. 12) Nếu ngƣời nhận cócả khóa giấu tin và khoá giải mã, anh ta có thể là giải mã các dữ liệu đƣợc gắn vào và phục hồi hình ảnh ban đầu. Theo khóa giấu tin, các giá trị của M, L và S, LSB ban đầu của các điểm ảnh NP đƣợc mã hóa đã chọn, và (N – NP) S/L – NPbit bổ sungcó thể đƣợc tách ra từ ảnh đƣợc mã hóa chứa dữ liệu gắn vào. Bằng cách đặt NP LSB vào vị trí ban đầu của nó, các dữ liệu đã mã hóa của NP điểm ảnh đã chọn đƣợc khôi phục, các giá trị màu xám ban đầu của nó có thể đƣợc giải chính xác bằng cách sử dụng khóa mã hóa. Trong phần sau đây, chúng ta sẽ khôi phục lại các giá trị màu xám ban đầu của (N – NP) điểm ảnh khác. Một nhóm điểm ảnh, bởi vì B (k, 1) , B (k, 2), , B (k, M*L - S) trong (2.5) đƣợc đƣa ra [B (k, 1), B (k, 2), , B (k, M *L)] phải là một trong số các vectơ có mặt (2. 13) Trong đó a là một vector nhị phân có kích cỡ 1 x S, và H là một ma trận kích cỡ S x ML đƣợc tạo ra từ việc đảo chỗ của Q và một ma trận nhận dạng S x S ] (2. 14) Nói cách khác, với những hạn chế của (2.5), có thể có 2S giải pháp là [B(k, 1), B(k, 2) , , B(k, M *L)]T. Với mỗi vecto, chúng ta cố gắng để đặt các yếu tố trong đó vị trí ban đầu để có đƣợc một nhóm điểm ảnh đƣợc mã hóa và sau đó giải mã nhóm điểm ảnh bằng cách sử dụng khoá mật mã. Biểu thị nhóm điểm ảnh đƣợc giải mã là Gk và các giá trị màu xám trong nó nhƣ là ti, j, tính toán tất cả sự khác biệt giữa giải mã và ƣớc lƣợng giá trị màu xám trong nhóm Ngô Văn Hiệp – CT1201 33
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng (2. 15) Trong đó các giá trị màu xám ƣớc lƣợng đƣợc tạo ra từ những điểm lân cận của ảnh đƣợc giải mã trực tiếp, theo (2. 16), đƣợc hiển thị ở dƣới cùng của trang. Rõ ràng, các giá trị màu xám ƣớc tính trong (2. 16) chỉ phụ thuộc vào MSB của các điểm ảnh lân cận. Vì vậy, chúng ta có 2S sai phân D tƣơng ứng với 2Scủa nhóm S điểm ảnh Gk đƣợc giải mã.Trong số 2 nhóm điểm ảnh đƣợc giải mã, một trong số đó phải là những giá trị màu xám ban đầu và sở hữu một D thấp theo mối tƣơng quan không gian trong ảnh tự nhiên. Vì vậy, chúng ta tìm thấy D nhỏ nhất và coi vecto v tƣơng ứng nhƣ [B(k, 1), B(k, 2), , B(k, M *L)]T và giải mã ti, j nhƣ nội dung đƣợc phục hồi. Miễn là số lƣợng các điểm ảnh trong một nhóm là đủ lớn, và không có quá nhiều số bit gắn vào mỗi nhóm, nội dung ban đầu có thể đƣợc khôi phục hoàn toàn bằng các tiêu chí tƣơng quan không gian. Từ 2S sai phân D phải đƣợc tính trong mỗi nhóm, độ phức tạp trong tính toán của khôi phục nội dung phục hồi là O (N. 2S).Mặt khác, nếu nhiều điểm ảnh lân cân và một phƣơng pháp dự đoán thông minh hơn đƣợc sử dụng để ƣớc tính các giá trị màu xám, hiệu suất của khôi phục nội dung sẽ tốt hơn, nhƣng phức tạp tính toán là cao hơn. Để giữ cho độ phức tạp tính toán thấp, chúng ta cho S nhỏ hơn 10 và chỉ sử dụng bốn điểm ảnh lân cận để tính toán giá trị ƣớc lƣợng nhƣ (2. 16). (2. 16) Từ mô tả quá trình tách tin trên chúng ta đƣa ra đƣợc thuật toán tách tin cho trƣờng hợp có cả khóa tách tin và khóa giải mã sau: Thuật toán tách tin Đầu vào: Ảnh đã đƣợc giấu tin Đầu ra: Chuỗi thông điệp đã giấu vàảnh gốc khôi phục Bƣớc 1: Sử dụng khóa giấu tin là các tham số M (số bit LSB sẽ tách ra từ các điểm ảnh), L (kích cỡ của nhóm chia), S (số bit đƣợc giấu trong từng nhóm). Tách raNP bit LSB đã giấu các tham số trong ảnh. Chọn (N–NP) điểm ảnh còn lại để tách tin. Bƣớc 2: Chia (N-NP) này thành các nhóm Gi mỗi nhóm kích cỡ L pixel. Bƣớc 3: Mỗi nhóm Gi thực hiện tách tin nhƣ sau: mỗi pixel của nhóm đƣợc tách ra M bit LSB đƣợc chuỗi bit ký hiệu là B(k, 1), B(k, 2), , B(k, M*L) trong đó k là một chỉ số nằm trong nhóm [1, ( N – NP)/L] và M là số nguyên dƣơng nhỏ Ngô Văn Hiệp – CT1201 34
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng hơn 5, sau đó trong chuỗi bit này tách ra S bit thông điệp đã giấu dựa theo thuật toán giấu. Bƣớc 4: Quá trình lặp lại cho đến khi tách hết số bit thông điệp đã giấu. Bƣớc 5: (Giải mã ảnh) thực hiện giải mã các điểm ảnh với ri(r là khóa đã mã hóa có kích cỡ bằng N1 x N2, ) theo công thức (2. 1), (2. 2) và (2. 3) đƣợc ma trận ảnh đã giải mã B. Khôi phục lại ảnh ban đầu theo công thức (2. 16). 2.3.3 Ví dụ minh họa Đầu vào gồm một ảnh 6x6 và chuỗi thông điệp “TH”.Ký hiệu ma trận điểm ảnh là C. 155 165 166 153 154 166 165 155 162 153 152 154 163 163 163 154 155 156 155 163 145 167 155 159 155 165 136 165 165 162 165 163 137 161 161 160 Bƣớc 1: Mã hóa ảnh với khóa mã hóa r (r là ma trận sinh ngẫu nhiên có kích cỡ bằng 6x6) nhƣ sau: 41 67 58 20 209 110 203 167 233 113 222 233 79 176 39 27 21 46 135 191 211 246 102 67 42 115 137 1 66 37 154 21 255 198 204 34 Khi đó ảnh sau khi mã hóa ta đƣợc: B = C Xor r = Ngô Văn Hiệp – CT1201 35
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 178 230 156 141 75 200 110 60 75 232 70 115 236 19 132 129 142 178 28 28 66 81 253 220 177 214 1 164 231 135 63 182 118 103 109 130 Bƣớc 2: Chuyển chuỗi thông tin “TH” sang nhị phân ta đƣợc:0101010001001000 Chuyển ma trận ảnh đã mã hóa sang ma trận nhị phân 10110010 11100110 10011100 10001101 01001011 11001000 01100101 00111100 01001011 11101000 01000110 01110011 11101100 00010011 10000100 10000001 10001110 10110010 00011100 00011100 01000010 01010001 11111101 11011100 10110001 11010110 00000001 10100100 11100111 10000111 01111111 10110110 01110110 01100111 01101101 10000010 Thực hiện giấu tin với các tham sốNP = 12, M=2, L=6, S= 4. Chuyển các giá trị sang nhị phân M =2 =(0010)2 L = 6 = (0110)2 S = 4 = (0100)2 Ghép các chuỗi này ta đƣợc chuỗi P= 0010 0110 0100 Theo NP =12ta thực hiện chọn 12 bit LSB của 12 pixel trong ảnh đã mã hóa để giấu chuỗi nhị phân P của tham số M, L, S. Để đơn giản ta chọn 12 bit LSB của 2 dòng pixel đầu tiên của ảnh đã mã hóa. 10110010 11100110 10011101 10001100 01001010 11001001 01100101 00111100 01001010 11101001 01000110 01110010 11101100 00010011 10000100 10000001 10001110 10110010 00011100 00011100 01000010 01010001 11111101 11011100 10110001 11010110 00000001 10100100 11100111 10000111 01111111 10110110 01110110 01100111 01101101 10000010 Thực hiện giấu tin vào 36 - NP =24 pixel còn lại. Chia 24 pixel thành 24/L = 4 nhóm (mỗi nhóm L=6pixel) ta đƣợc 4 nhóm sau: Nhóm 1:236 19 132 129 142 178 Ngô Văn Hiệp – CT1201 36
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Nhóm 2:28 28 66 81 253 220 Nhóm 3:177 214 1 164 231 135 Nhóm 4:63 182 118 103 109 130 Bƣớc 3: Tách ra mỗi pixel của nhóm M bit LSB ta đƣợc 4 chuỗi nhị phân Chuỗi 1: 001100011010 Chuỗi 2: 000010010100 Chuỗi 3: 011001001111 Chuỗi 4: 111010110110 Bƣớc 4: Với chuỗi 1 ta thực hiện giấu tin bằng cách thay thế4bit thông điệp0101(vì S= 4) vào 4 bit của chuỗi. Để đơn giản ta thay thế vào các vị trí lẻ của chuỗi từ bên trái sang. Ta đƣợc chuỗi mới: 001100111010 Bƣớc 5: Lặp lại bƣớc 4 cho các chuỗi 2, 3, 4 để giấu các chuỗi nhị phân 0100, 0100, 1000.Ta đƣợc các chuỗi mới. Chuỗi 2: 001000010100 Chuỗi 3: 011001001111 Chuỗi 4: 110000010110 Bƣớc 6: Thay thế lại các bit của các chuỗi vào các pixel tƣơng ứng của từng nhóm (theo cách ta tách ra) ta đƣợc: Nhóm 1:236 19 132 129 142 178 Nhóm 2:28 2964 81 253 220 Nhóm 3:177 214 1 164 231 135 Nhóm 4:63 180 116 101 190 130 Cuối cùng ta đƣợc ảnh mã hóa đã giấu tin có nội dung nhƣ sau: Ngô Văn Hiệp – CT1201 37
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 178 230 157 140 74 201 110 60 74 233 70 114 236 19 132 129 142 178 28 29 64 81 253 220 177 214 1 164 231 135 63 180 116 101 109 130 Thực hiện tách tin theo thư tự ngược lại như sau: Bƣớc 1: Ảnh mã hóa đã giấu thông tin 178 230 157 140 74 201 110 60 74 233 70 114 236 19 132 129 142 178 28 29 64 81 253 220 177 214 1 164 231 135 63 180 116 101 109 130 Chuyển ảnh đã giấu thông tin sang dạng nhị phân 10110010 11100110 10011101 10001100 01001010 11001001 01100101 00111100 01001010 11101001 01000110 01110010 11101100 00010011 10000100 10000001 10001110 10110010 00011100 00011110 01000000 01010000 11111101 11011100 10110001 11010110 00000001 10100100 11100111 10000111 01111111 10110100 01110100 01100101 01101101 10000010 Với NP = 12 có thể lấy đƣợc giá trị của L, M, S Bƣớc 2: Thực hiện tách tin vào 36-Np =24 pixel còn lại. Chia 24 pixel thành 24/L = 4 nhóm (mỗi nhóm L=6 pixel) ta đƣợc 4 nhóm sau: Nhóm 1: 236 19 132 129 142 178 Nhóm 2: 28 29 64 81 253 220 Nhóm 3: 177 214 1 164 231 135 Nhóm 4: 63 180 116 101 190 130 Bƣớc 3: Ngô Văn Hiệp – CT1201 38
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Tách ra 2 bit LSB của mỗi pixel trong nhóm ta đƣợc 4 chuỗi bit sau: Chuỗi 1:001100111010 Chuỗi 2: 001000010100 Chuỗi 3: 011001001111 Chuỗi 4: 110000010110 Thực hiện tách tin tại vị trí lẻ của 4 chuỗi, mỗi chuỗi S ký tự ta đƣợc thông tin cần tách M= 4 ta đƣợc các chuỗi nhị phân 0101 0100 0100 1000 Bƣớc 4: Khôi phục lại ảnh (giải mã) địa vào khóa r ta đƣợc ma trận ảnh: 155 165 166 153 154 166 165 155 162 153 152 154 163 163 163 154 155 156 155 163 145 167 155 159 155 165 136 165 165 162 165 163 137 161 161 160 Ngô Văn Hiệp – CT1201 39
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng CHƢƠNG 3. CÀI ĐẶT VÀ THỬ NGHIỆM 3. 1 Môi trƣờng thử nghiệm -Ngôn ngữ cài đặt: Ngôn ngữ lập trình Matlab phiên bản 7. 7 -Môi trƣờng soạn thảo: Matlab phiên bản 7. 7 -Môi trƣờng chạy chƣơng trình: Môi trƣờng giao diện Matlab phiên bản 7. 7 -Cấu hình tối thiểu để cài đặt Matlap: +Intel hoặc AMD x86 processor supporting SSE2 +Windows XP SP2 x64, SP3, +Dung lƣợng ổ cứng từ 1GB tới 5GB + Bộ nhớ RAM tối thiểu 1GB 3. 2 Giao diện chƣơng trình 3. 2. 1 Giao diện chính của 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. Ngô Văn Hiệp – CT1201 40
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 3. 2. 2 Giao diện chương trình giấu tin Từ giao diện chính của chƣơng trình kích vào giao diện giấu tin, cửa sổ chƣơng trình giấu tin sẽ đƣợc hiện ra Hình 3.2 Giao diện giấu tin Để nhập ảnh gốc cần giấu thông tin ta kích vào nút nhập ảnh cửa sổ thƣ mục chứa ảnh gốc sẽ xuất hiện ta chọn ảnh bất kì để giấu thông tin. Hình 3.3 Thƣ mục chứa ảnh gốc Ngô Văn Hiệp – CT1201 41
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Sau khi nhập ảnh gốc ta kích vào nút lƣu khóa, nhập tên khóa mã hóa ảnh.Khóa này sinh ngẫu nhiên bằng với kích thƣớc của ảnh. Hình 3.4 Chọn khóa để mã hóa ảnh Nhập khóa giấu tin M, L, S vào các ô, trong đó khóa M nằm trong các giá trị từ 1 nhỏ hơn5. Hình 3.5 Nhập khóa giấu tin M, L, S Nhập tên ảnh sau khi đã mã hóa và giấu thông tin ta chọn nút lƣu ảnh đã mã hóa. Ngô Văn Hiệp – CT1201 42
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Hình 3.6 Nhập tên ảnh đã mã hóa chứa thông tin Sau khi nhập xong khóa cần giấu tin ta bắt đầu thực hiện giấu tin kích vào nút “thực hiên giấu tin”, quá trình mã hóa và giấu thông tin sẽ đƣợc bắt đầu. Hình 3.7 Chƣơng trình mã hóa và giấu chuỗi thông tin vào ảnh Khi quá trình mã hóa và giấu thông tin thực hiện xong sẽ xuất hiên thông báo “đã giấu tin xong” ta đƣợc ảnh mã hóa và giấu thông tin trong hộp “đã mã hóa ảnh và giấu tin”. Ngô Văn Hiệp – CT1201 43
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Hình 3.8 Chƣơng trình sau khi đã thực hiện giấu tin 3. 2. 3 Giao diện tách tin 3. 2. 3. 1 Giao diện giấu tin chỉ có khóa giải mã Giao diện chức năng này chỉ có thể khôi phục ảnh gốc, không tách đƣợc thông tin. Hình 3.9 Giao diện chỉ có khóa giải mã 3. 2. 3. 2 Giao diện chỉ có khóa tách tin Ngô Văn Hiệp – CT1201 44
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Giao diện này chỉ tách chuỗi thông điệp giấu trong anh mà không khôi phục đƣợc ảnh gốc. Hình 3.10 Giao diện tách tin chỉ có khóa tách tin 3. 2. 3. 3 Giao diện tách tin có cả khóa mã hóa và khóa tách tin Sau khi thực hiện giấu tin xong, ta quay lại giao diện chính chọn vào nút tách tin. Lựa chọn menu thƣ mục (có đủ khóa mã hóa và khóa tách tin), giao diện tách xuất hiện. Hình 3.11 Giao diện tách tin có khóa giải mã và khóa tách tin Ngô Văn Hiệp – CT1201 45
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Với giao diện tách tin có cả khóa giải mã và khóa tách tin ta có thể tách đƣợc chuỗi thông điệp và khôi phục lại ảnh gốc. Kích vào nút “chọn ảnh” sau đó lựa chọn ảnh cần tách tin. Hình 3.12 Thƣ mục chƣa ảnh đã giấu tin Kích vào nút chọn khóa giải mã sẽ xuất hiện thƣ mục mời chọn khóa giải mã, ta chọn khóa giải mã của đúng ảnh cần tách tin. Hình 3.13Thƣ mục chứakhóa mã hóa ảnh Ngô Văn Hiệp – CT1201 46
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Sau khi chọn khóa xong ta kích vào phần “lƣu ảnh” nhập tên ảnh cần đƣợc khôi phục. Hình 3.14 Thƣ mục chứa ảnh khôi phục sau khi tách tin Sau khi đã lựa chọn xong đầu vào và đầu ra cho chƣơng trình, chúng ta chọn nút “thực hiện tách tin”.Chƣơng trình sẽ thực hiện và đƣa ra kết quả ảnh đã giấu tin ngay trên giao diện của chƣơng trình Hình 3.15 Ảnh gốc xuất hiện sau khi thực hiện tách tin Ngô Văn Hiệp – CT1201 47
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng 3. 3 Kết quả thực nghiệm và nhận xét 3. 3. 1 Kết quả thực nghiệm Thực nghiệm cho ta thấy kết quả giấu tin thuận nghịch cho ảnh đã mã hóa Bảng 3.1 đánh giá chất lƣợng trung bình PSNR với giá trị M, S khác nhau trên 3 ảnh lena.png, baboon.png, house.png (với L=10, cho cùng thông điệp có độ dài bằng 2168 bit nhƣ hình 3. 16) S 1 2 3 4 M 1 71.2927 62.2795 62.3994 62.3411 2 56.3465 54.4783 55.3479 54.6745 3 50.2560 52.4036 53.9487 48.8480 Hình 3.16 Nội dung thông tin cần giấu vào 3 ảnh lena.png, baboon.png, house.png Bảng 3.2 Bảng đánh giá chất lƣợng PSNR giữa ảnh gốc và ảnh sau khi khôi phục trên 9 ảnh với Tên ảnh Gía trị PSNR Ari plane.png 100dB baboon.png 78.3728 dB Beer.png 100dB Elaine.png 82.5023 dB House.png 79.8007 dB Lena.png 82.1915 dB Peppers.png 76.4047 dB Sailboat.png 72.9433 dB Tiffny.png 83.9911 dB Ngô Văn Hiệp – CT1201 48
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Ảnh cấp xám 8 bit trƣớc khi mã hóa Hình 3.17 Tậpảnh gốc trƣớc khi chƣa mã hóa Ảnh sau khi tách thông tin và khôi phục Hình 3.18 Tậpảnh sau khi đã tách tin và khôi phục 3. 3. 2 Nhận xét Đánh giá PSNR(tỉ số tín hiệu trên nhiễu đỉnh) nếu độ nhiễu của ảnh PSNR ≥ 40dBthì hệ thống mắt ngƣời gần nhƣ không phân biệt đƣợc giữa ảnh gốc và ảnh khôi phục. Thời gian xử lý giấu tin phụ thuộc lớn vào dữ liệu đầu vào nhƣ kích thƣớc ảnh gốc, thông điệp giấu lớn hay nhỏ. Ngô Văn Hiệp – CT1201 49
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng Độ an toàn của kỹ thuật cao, phụ thuộc vào giá trịma trận mã hóaảnh r và khóa giấu tin LSB. Qua thử nghiệm em nhận thấy kỹ thuật giấu tin thuận nghịch trong ảnh đã mã hóacó những ƣu nhƣợc điểm sau Ƣu điểm: + Khả năng bảo mật cao do khóa mãvà khóa giấu thông tin LSB do ngƣời nhận và ngƣời gửi biết với nhau. Phải có đầyđủ khóa mã hóa và khóa giải mã mới thực hiện đƣợc tách tin và khôi phụcảnh gốc. Nhƣợcđiểm: + Quá trình giấu và tách tin chậm mất nhiều thời gian + Không có bƣớc tính toán khóa giấu tin LSB và để tăng thêm độ an toàn cho dữ liệu. Ngô Văn Hiệp – CT1201 50
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng KẾT LUẬN Kỹ thuật giấu thông tin trong ảnh là hƣớng nghiên cứu chính của thuật toán giấu thông tin hiện nay và đã đạt đƣợc những kết quả khả quan.Đồ án đã trình bày một số khái niệm liên quan đến việc che giấu thông tin trong ảnh số cũng nhƣ trình bày kỹ thuật giấu tin ảnhđã mã hóa. Với kỹ thuật giấu tin trên ảnhđã mã hóa thì tính vô hình của thông tin sau khi giấu đƣợc đảm bảo, thông qua việc sử dụng một ma trận mã hóa và một khóa mã hóa LSB trong quá trình giấu và tách thông tin. Dùng phƣơng pháp đánh giá PSNR để đánh giá chất lƣợng ảnh trƣớc và sau khi khôi phục kết quả PSNR đạt đƣợc là khá cao. Tuy nhiên, giấu tin mật là vấn đề phức tạp, cộng với khả năng và kinh nghiệm còn hạn chế nên em còn gặp một số khó khăn trong việc tìm hiểu nghiên cứu kỹ thuật giấu tin thuận nghịch trên ảnhđã mã hóa. Vì vậy em rất mong nhận đƣợc sự đóng góp ý kiến quý báu của các thầy cô giáo cũng nhƣ bạn bè để báo của em đƣợc hoàn thiện hơn. Em xin chân thành cảm ơn! Ngô Văn Hiệp – CT1201 51
- Đồ án tốt nghiệp Trƣờng ĐHDL Hải Phòng TÀI LIỆU THAM KHẢO [1]. Ni, Z., Shi, Y., Ansari, N., Su, W. (2003), “Reversible data hiding”, Proc.ISCAS 2003, pp. 912–915. [2]. J.H. Hwang, J. W. Kim, and J. U. Choi (2006), “A Reversible WatermarkingBased on Histogram Shifting”, IWDW 2006, pp. 384-361. [3]. XiNpeng Zhang, Separable Reversible Data Hiding in Encrypted Image,IEEE transactions on information forensics and security, vol. 7, no. 2, april 2012 [4]. Nguyễn Xuân Huy, Trần Quốc Dũng, Giáo trình giấu tin và thuỷ vân ảnh, Trung tâm thông tin tƣ liệu, TTKHTN - CN 2003 [5]. Ingemar Cox, Jeffrey Bloom, Matthew Miller, Ton Kalker, Jessica Fridrich, Digital Watermarking and Steganography, Morgan Kaufmann, 2008 [6]. Jun Tian, Reversible Watermarking by Difference Expansion, Multimedia and Security Workshop at ACM Multimedia ‟02, December 6, 2002, Juan-les-Pins, France. Đồán tốt nghiệp ngành CNTT liên quan đến kỹ thuật giấu tin: [7].Dƣơng Uông Hiên_lớp CT701, “Nghiên cứu kỹ thuật giấu tin mật trên vùng biến đổi DWT”, tiểu án tốt nghiệp ngành CNTT – 2008. [8].Đỗ Trọng Phú – CT702, “Nghiên cứu kỹ thuật giấu tin trên miềm biến đổi DFT”, tiểu án tốt nghiệp ngành CNTT – 2008. [9]. Hoàng Thị Huyền Trang – CT802 ,“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”, đồ án tốt nghiệp ngành CNTT – 2008. [10]. Trần Đại Dƣơng, “Kỹ thuật giấu tin thuận nghịch trong ảnh bằng hiệu chỉnh hệ số wavelet”, đồ án tốt nghiệp ngành CNTT. Ngô Văn Hiệp – CT1201 52