Đồ án Kỹ thuật giấu tin thuận nghịch trong ảnh bằng hiệu chỉnh hệ số Wavelet - Trần Đại Dương

pdf 44 trang huongle 1900
Bạn đang xem 20 trang mẫu của tài liệu "Đồ án Kỹ thuật giấu tin thuận nghịch trong ảnh bằng hiệu chỉnh hệ số Wavelet - Trần Đại Dương", để 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:

  • pdfdo_an_ky_thuat_giau_tin_thuan_nghich_trong_anh_bang_hieu_chi.pdf

Nội dung text: Đồ án Kỹ thuật giấu tin thuận nghịch trong ảnh bằng hiệu chỉnh hệ số Wavelet - Trần Đại Dương

  1. BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG o0o 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 ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ Thông tin Sinh viên thực hiện: Trần Đại Dương Giáo viên hướng dẫn: TS. Hồ Thị Hương Thơm Mã số sinh viên: 121470 HẢI PHÒNG - 2012 1
  2. LỜI CẢM ƠN Em xin chân thành cảm ơn các thầy, các cô Khoa Công nghệ thông tin - trường Đại học dân lập Hải Phòng đã tận tình dạy dỗ, truyền đạt cho chúng em nhiều kiến thức bổ ích và quý báu trong suốt những năm học đã qua. Em xin tỏ lòng biết ơn sâu sắc đến cô Hồ Thị Hương Thơm, người đã trực tiếp hướng dẫn, giúp đỡ và truyền đạt cho em những kinh nghiệm để đề tài này có thể thực hiện được và hoàn thành. Em xin cảm ơn gia đình và bạn bè đã động viên và giúp đỡ em trong suốt thời gian em làm đề tài tốt nghiệp. Em xin chân thành cảm ơn! Hải phòng, ngày tháng năm 2012 Sinh viên Trần Đại Dương 2
  3. MỤC LỤC LỜI MỞ ĐẦU 4 Chương 1. TỔNG QUAN VỀ GIẤU TIN TRONG ẢNH 5 1.1. Định nghĩa giấu thông tin 5 1.1.1 Định nghĩa 5 1.1.2. Phân loại các kỹ thuật giấu tin 5 1.2. Mô hình giấu thông tin cơ bản 6 1.2.1. Sơ đồ giấu tin 6 1.2.2. Sơ đồ tách tin 7 1.3. Môi trường giấu tin 7 1.3.1. Giấu tin trong ảnh 7 1.3.2. Giấu tin trong audio 8 1.3.3. Giấu thông tin trong video 9 1.3.4. Giấu thông tin trong văn bản dạng text 9 1.4. Cấu trúc ảnh bitmap 10 1.5. Biến đổi Wavelet 10 1.6. Phương pháp đánh giá chất lượng ảnh sau khi giấu tin 12 Chương 2. KỸ THUẬT GIẤU TIN THUẬN NGHỊCH TRONG ẢNH BẰNG HIỆU CHỈNH HỆ SỐ SÓNG NHỎ (WAVELET) 13 2.1. Giới thiệu 13 2.2. Quá trình giấu tin trong ảnh bằng hiệu chỉnh hệ số wavelet 13 2.2.1. Thuật toán giấu tin 13 2.2.2. Ví dụ minh họa 16 2.3. Quá trình tách tin trong ảnh bằng hiệu chỉnh hệ số wavelet 17 2.3.1. Thuật toán tách tin 17 2.4.3. Ví dụ minh họa 19 Chương 3. CÀI ĐẶT THỬ NGHIỆM 20 3.1. Môi trường cài đặt 20 3.2. Giao diện chương trình 20 3.3 Thử nghiệm chương trình 39 KẾT LUẬN 42 Tài liệu tham khảo 43 3
  4. LỜI MỞ ĐẦU Giấu tin trong dữ liệu đa phương tiện một công nghệ mới trong bảo mật thông tin. Đây là một phương pháp mới và phức tạp, nó đang được xem như một công nghệ chìa khóa cho vấn đề bảo vệ bản quyền và điều khiển truy cập ứng dụng trong bảo mật thông tin. Cuộc cách mạng thông tin kỹ thuật số đã đem lại những thay đổi sâu sắc trong xã hội và trong cuộc sống của chúng ta. Những thuận lợi mà thông tin kỹ thuật số mang lại cũng sinh ra những thách thức và cơ hội mới cho quá trình đổi mới. Sự ra đời những phần mềm có tính năng rất mạnh, các thiết bị mới như máy ảnh kỹ thuật số, máy quét chất lượng cao, máy in, máy ghi âm kỹ thuật số, v.v , đã với tới thế giới tiêu dùng rộng lớn để sáng tạo, xử lý và thưởng thức các dữ liệu đa phương tiện (multimedia data). Mạng Internet toàn cầu đã biến thành một xã hội ảo nơi diễn ra quá trình trao đổi thông tin trong mọi lĩnh vực chính trị, quân sự, quốc phòng, kinh tế, thương mại Và chính trong môi trường mở và tiện nghi như thế xuất hiện những vấn nạn, tiêu cực đang rất cần đến các giải pháp hữu hiệu cho vấn đề an toàn thông tin như nạn ăn cắp bản quyền, nạn xuyên tạc thông tin, truy nhập thông tin trái phép v.v Đi tìm giải pháp cho những vấn đề này không chỉ giúp ta hiểu thêm về công nghệ phức tạp đang phát triển rất nhanh này mà còn đưa ra những cơ hội kinh tế mới cần khám phá. Do đó trong đồ án này tìm hiều phương pháp giấu tin trong ảnh. Nôi dung gồm 3 chương chính sau:  Chương 1. Tổng quan về giấu tin trong ảnh. Giới thiệu về một số định nghĩa giấu thông tin môi trường giấu tin, sơ lược về mô hình giấu tin cơ bản. Tìm hiểu về ảnh bitmap, phương pháp biến đổi wavelet và phương pháp đánh giá chất lượng ảnh sau khi giấu thông tin.  Chương 2. Trình bày kỹ thuật giấu tin thuận nghịch trong ảnh bằng hiệu trỉnh hệ số song nhỏ wavelet. Thuật toán, sơ đồ thuật toán, ví dụ minh họa của 2 quá trình giấu tin và tách tin.  Chương 3. Cài đặt và thử nghiệm. Đưa ra môi trường cài đặt, giới thiệu giao diện chương trình và chạy thử nghiệm trên một số ảnh. 4
  5. Chương 1. TỔNG QUAN VỀ GIẤU TIN TRONG ẢNH 1.1. Định nghĩa giấu thông tin 1.1.1 Định nghĩa Giấu thông tin là kỹ thuật giấu (hoặc nhúng) 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 tin” nhiều khi không cần phải chỉ hành động giấu cụ thể mà chỉ mang ý nghĩa quy ước). Định nghĩa trên mang tính tổng quát về giấu tin. Xét riêng trong kỹ thuật giấu tin mật (Steganography), những định nghĩa sau đây cụ thể hơn và được chia theo các hệ giấu tin mật. Từ đó, các hệ thống giấu tin mật có thể chia thành ba loại như: 1.1.1.1. Giấu tin thuần tuý (Pure Steganography) Một bộ 4 σ(C, M, D, E), trong đó C là tập các phương tiện chứa thông tin cần giấu, M là tập thông điệp cần giấu với |C|≥|M|, E: C×M → C là một hàm nhúng thông điệp M vào phương tiện chứa C và D: C → M là hàm giải tin sao cho D(E(c, m)) = m với mọi m ∈ M, c ∈ C được gọi là một hệ pure Steganography. 1.1.1.2. Giấu tin dùng khoá bí mật (Secret key Steganography) Một bộ năm σ(C, M, K, Dk, Ek), trong đó C là tập các phương tiện chứa thông tincần giấu, M là tập thông điệp cần giấu với |C|≥|M|, K là một tập khoá bí mật, Ek: C×M×K → C là một hàm nhúng thông điệp M vào phương tiện chứa C sử dụng khoá K và Dk: C × K→ M là hàm giải tin sao cho Dk(Ek(c, m, k), k) = m với mọi m ∈ M, c ∈ C và k ∈ K được gọi là một hệ Secret key Stegangraphy 1.1.1.3. Giấu tin dùng khoá công khai (Public Key Steganography) Giống như là hệ mã mật khoá công khai, hệ giấu tin mật khoá công khai không sử dụng việc truyền khoá bí mật mà sử dụng hai khoá là khoá bí mật và khoá công khai. Khoá công khai được lưu trong cơ sở dữ liệu công cộng. Được sử dụng trong quá trình giấu tin. Còn khoá bí mật được sử dụng trong quá trình giải tin. 1.1.2. Phân loại các kỹ thuật giấu tin Do kỹ thuật giấu thông tin số mới được hình thành trong thời gian gần đây nên xu hướng phát triển vẫn chưa ổn định. Nhiều phương pháp mới, theo nhiều khía cạnh khác nhau đang và sẽ được đề xuất, bởi vậy chưa thể có được một định nghĩa chính xác, một sự đánh giá phân loại rõ ràng. Sơ đồ phân loại trên hình 2 được Fabien A. P. Petitcolas đưa ra năm 1999, sau hội nghị quốc tế lần thứ hai về giấu tin (1998) và đã được chấp nhận rộng rãi trong giới nghiên cứu. Có thể chia lĩnh vực giấu dữ liệu ra làm hai hướng lớn, đó là watermarking và steganography. Nếu như watermark quan tâm nhiều đến các ứng dụng giấu các mẩu tin ngắn nhưng đòi hỏi độ bền vững lớn của 5
  6. thông tin cần giấu (trước các biến đổi thông thường của tệp dữ liệu môi trường) thì steganography lại quan tâm tới các ứng dụng che giấu các bản tin đòi hỏi mật độ và dung lượng càng lớn càng tốt. 1.2. Mô hình giấu thông tin cơ bản Giấu thông tin vào phương tiện chứa và tách lấy thông tin là hai quá trình trái ngược nhau và có thể mô tả qua sơ đồ khối của hệ thống như sau: 1.2.1. Sơ đồ giấu tin Thông tin cần giấu M Phân phối Phương tiện Phương tiện chứa C (file âm Bộ nhúng chứa tin đã thanh, hình thông tin được giấu tin ảnh ) (s) Khóa giấu tin Hình 1.1. Sơ đồ giấu tin Đầu vào:  Thông tin cần giấu tùy theo mục đích của người sử dụng, nó có thể là thông điệp (với tin giấu bí mật) hay các logo, hình ảnh bản quyền.  Phương tiện chứa: các file ảnh, text, audio là môi trường để nhúng tin.  Khóa là thành phần để góp phần làm tăng độ bảo mật.  Bộ nhúng thông tin: là những chương trình thực hiện việc giấu thông tin. Đầu ra:  là các phương tiện chứa thông tin đã giấu trong đó. Tách thông tin từ các phương tiện chứa diễn ra theo quy trình ngược lại với đầu ra là các thông tin đã được giấu và phương tiện chứa. Phương tiện chứa sau khi tách lấy thông tin có thể được sử dụng, quản lý theo những yêu cầu khác nhau. 6
  7. 1.2.2. Sơ đồ tách tin Khóa giấu tin Phương tiện chứa Phương tiện Bộ nhúng C (file âm thanh, chứa tin đã thông tin hình ảnh ) được giấu tin (S) Thông tin cần giấu M Hình 1.2. Sơ đồ quá trình tách tin 1.3. Môi trường giấu tin 1.3.1. Giấu tin trong ảnh Giấu thông tin trong ảnh, hiện nay, là một bộ phận chiếm tỉ lệ lớn nhất trong các chương trình ứng dụng, các phần mềm, hệ thống giấu tin trong đa phương tiện bởi lượng thông tin được trao đổi bằng ảnh là rất lớn và hơn nữa giấu thông tin trong ảnh cũng đóng vai trò hết sức quan trọng trong hầu hết các ứng dụng bảo vệ an toàn thông tin như: nhận thực thông tin, xác định xuyên tạc thông tin, bảo vệ bản quyền tác giả, điều khiển truy cập, giấu thông tin mật Chính vì thế mà vấn đề này đã nhận được sự quan tâm rất lớn của các nhà cá nhân, tổ chức, trường đại học, và viện nghiên cứu trên thế giới. Thông tin sẽ được giấu cùng với dữ liệu ảnh nhưng chất lượng ảnh ít thay đổi và chẳng ai biết được đằng sau ảnh đó mang những thông tin có ý nghĩa. Ngày nay, khi ảnh số đã được sử dụng rất phổ biến, thì giấu thông tin trong ảnh đã đem lại rất nhiều những ứng dụng quan trọng trên nhiều lĩnh vực trong đời sống xã hội. Ví dụ như đối với các nước phát triển, chữ kí tay đã được số hoá và lưu trữ sử dụng như là hồ sơ cá nhân của các dịch vụ ngân hàng và tài chính, nó được dùng để xác thực trong các thẻ tín dụng của người tiêu dùng. Phần mềm WinWord của MicroSoft cũng cho phép người dùng lưu trữ chữ kí trong ảnh nhị phân rồi gắn vào vị trí nào đó trong file văn 7
  8. bản để đảm bảo tính an toàn của thông tin. Tài liệu sau đó được truyền trực tiếp qua máy fax hoặc lưu truyền trên mạng. Theo đó, việc nhận thực chữ kí, xác thực thông tin đã trở thành một vấn đề cực kì quan trọng khi mà việc ăn cắp thông tin hay xuyên tạc thông tin bởi các tin tặc đang trở thành một vấn nạn đối với bất kì quốc gia nào, tổ chức nào. Thêm vào đó, lại có rất nhiều loại thông tin quan trọng cần được bảo mật như những thông tin về an ninh, thông tin về bảo hiểm hay các thông tin về tài chính, các thông tin này được số hoá và lưu trữ trong hệ thống máy tính hay trên mạng. Chúng rất dễ bị lấy cắp và bị thay đổi bởi các phần mềm chuyên dụng. Việc nhận thực cũng như phát hiện thông tin xuyên tạc đã trở nên vô cùng quan trọng, cấp thiết. Và một đặc điểm của giấu thông tin trong ảnh đó là thông tin được giấu trong ảnh một cách vô hình, nó như là một cách mà truyền thông tin mật cho nhau mà người khác không thể biết được bởi sau khi giấu thông tin thì chất lượng ảnh gần như không thay đổi đặc biệt đối với ảnh mầu hay ảnh xám. 1.3.2. Giấu tin trong audio Giấu thông tin trong audio mang những đặc điểm riêng khác với giấu thông tin trong các đối tượng đa phương tiện khác. Một trong những yêu cầu cơ bản của giấu tin là đảm bảo tính chất ẩn của thông tin được giấu đồng thời không làm ảnh hưởng đến chất lượng của dữ liệu gốc. Để đảm bảo yêu cầu này, kỹ thuật giấu thông tin trong ảnh phụ thuộc vào hệ thống thị giác của con người - HVS (Human Vision System) còn kỹ thuật giấu thông tin trong audio lại phụ thuộc vào hệ thống thính giác HAS (Human Auditory System). Và một vấn đề khó khăn ở đây là hệ thống thính giác của con người nghe được các tín hiệu ở các giải tần rộng và công suất lớn nên đã gây khó dễ đối với các phương pháp giấu tin trong audio. Nhưng thật may là HAS lại kém trong việc phát hiện sự khác biệt các dải tần và công suất điều này có nghĩa là các âm thanh to, cao tần có thể che giấu được các âm thanh nhỏ thấp một cách dễ dàng. Các mô hình phân tích tâm lí đã chỉ ra điểm yếu trên và thông tin này sẽ giúp ích cho việc chọn các audio thích hợp cho việc giấu tin. Vấn đề khó khăn thứ hai đối với giấu thông tin trong audio là kênh truyền tin. Kênh truyền hay băng thông chậm sẽ ảnh hưởng đến chất lượng thông tin sau khi giấu. Ví dụ để nhúng một đoạn java applet vào một đoạn audio (16 bit, 44.100 Hz) có chiều dài bình thường thì các phương pháp nói chung cũng cần ít nhất là 20 bit/s. Giấu thông tin trong audio đòi hỏi yêu cầu rất cao về tính đồng bộ và tính an toàn của thông tin. Các phương pháp giấu thông tin trong audio đều lợi dụng điểm yếu trong hệ thống thính giác của con người. 8
  9. 1.3.3. Giấu thông tin trong video Cũng giống như giấu thông tin trong ảnh hay trong audio, giấu tin trong video cũng được quan tâm và được phát triển mạnh mẽ cho nhiều ứng dụng như điều khiển truy cập thông tin, nhận thực thông tin và bảo vệ bản quyền tác giả. Ta có thể lấy một ví dụ là các hệ thống chương trình trả tiền xem theo đoạn với các video clip (pay per view application). Các kỹ thuật giấu tin trong video cũng được phát triển mạnh mẽ và cũng theo hai khuynh hướng là thuỷ vân số và data hiding. Nhưng phần giới thiệu này chỉ quan tâm tới các kỹ thuật giấu tin trong video. Một phương pháp giấu tin trong video được đưa ra bởi Cox là phương pháp phân bố đều. ý tưởng cơ bản của phương pháp là phân phối thông tin giấu dàn trải theo tần số của dữ liệu chứa gốc. Nhiều nhà nghiên cứu đã dùng những hàm cosin riêng và các hệ số truyền sóng riêng để giấu tin. Trong các thuật toán khởi nguồn thì thường các kỹ thuật cho phép giấu các ảnh vào trong video nhưng thời gian gần đây các kỹ thuật cho phép giấu cả âm thanh và hình ảnh vào video. Như phương pháp của Swanson đã sử dụng phương pháp giấu theo khối, phương pháp này đã giấu được hai bít vào khối 8*8. Hay gần đây nhất là phương pháp của Mukherjee là kỹ thuật giấu audio vào video sử dụng cấu trúc lưới đa chiều 1.3.4. Giấu thông tin trong văn bản dạng text Giấu thông tin vào các văn bản dạng text khó thực hiện hơn do có ít các thông tin dư thừa, để làm được điều này người ta phải khéo léo khai thác các dư thừa tự nhiên của ngôn ngữ. Một cách khác là tận dụng các định dạng văn bản (mã hóa thông tin và khoảng cách giữa các từ khóa hay các dòng văn bản). Từ nội dung của thông điệp cần truyền đi, người ta cũng có thể sử dụng văn phạm phi ngữ cảnh để tạo nên các văn bản “phương tiện chứa” rồi truyền đi. 9
  10. 1.4. Cấu trúc ảnh bitmap Số bit trên mỗi điểm ảnh thường được ký hiệu là n. Một ảnh bitmap n-bit có 2n màu.giá trị càng lớn thì ảnh càng có nhiều màu, và càng rõ nét hơn. Giá trị tiêu biểu của ảnh là 1 (ảnh đen trắng), 4 (ảnh 16 màu), 6 (ảnh 256 màu), 16 (ảnh 65536 màu), và 24 (ảnh 16 triệu màu). Ảnh bitmap 24-bit có chất lượng hình ảnh trung thực nhất. o Chiều cao của ảnh (height), cho bởi điểm ảnh (pixel). o Chiều rộng của ảnh (width), cho bởi điểm ảnh (pixel). Ảnh bitmap gồm 4 phần :  Bitmap Header (14 bytes) : giúp nhận dạng ảnh bitmap.  Bitmap Information (40 bytes) : lưu một số thông tin chi tiết giúp hiển thị ảnh.  Color Palette (4*xbytes), x là số màu của ảnh : định nghĩa các màu sẽ được sử dụng trong ảnh.  Bitmap Data : lưu dữ liệu ảnh. 1.5. Biến đổi Wavelet Wavelet sẽ phân tách ảnh ra thành nhiều dải tần số gọi là các subband. Mỗi mức wavelet sẽ được tác động hai lần: một lần duyệt theo chiều ngang và một lần duyệt theo chiều dọc (thứ tự này không quan trọng bởi bản chất đối xứng) và do đó ta thu được bốn dải (như hình 2.1 thể hiện): 1) horizontally and vertically lowpass (LL) 2) horizontally lowpass and vertically highpass (LH) 3) horizontally highpass and vertically lowpass (HL) 4) horizontally and vertically highpass (HH) 10
  11. a) LL HL 0 R-2 HLR-1 LHR-2 HHR-2 LH HH R-1 R-1 b) Hình 1.3. a) Biến đổi wavelet, b) Cấu trúc dải Chúng ta sẽ cùng xem xét tín hiệu ảnh đầu vào (hoặc tín hiệu tile - component đối với ảnh lớn). Giả sử với sự phân tách wavelet mức R-1 tương ứng với mức phân giải thứ R, đánh số từ 0 tới R-1 thì 0 tương ứng với mức phân giải kém nhất (coarsest resolution) và R-1 tương ứng với mức phân giải tốt nhất (finest resolution). Mỗi một dải trong một lần phân tách sẽ được xác định bởi hướng (orientation) của chính nó (ví dụ LL, LH, HL, HH) và mức phân giải tương ứng của nó (ví dụ 0,1, , R-1). Tại mỗi mức phân giải (ngoại trừ mức thấp nhất), dải LL là dải sẽ bị phân tách nhỏ hơn. Giả dụ, dải LLR-1 là dải sẽ bị phân tách thành các dải LLR-2, HLR-2, LHR-2 và HHR-2. Sau đó, tại mức tiếp theo dải LLR-2 sẽ bị phân tách và cứ như vậy. Quá trình này sẽ lặp đi lặp lại cho tới khi ta thu được dải LL0 và kết quả hiển thị trong hình 2.3. Nếu không thực hiện biến đổi (R=0) thì chỉ có duy nhất dải LL0. 11
  12. 1.6. Phương pháp đánh giá chất lượng ảnh sau khi giấu tin Để đánh giá chất lượng của bức ảnh (hay khung ảnh video) ở đầu ra của bộ mã hoá, người ta thường sử dụng hai tham số: Sai số bình phương trung bình – MSE (mean square error) và phương pháp đề xuất với hệ số tỷ lệ tín hiệu / tín hiệu tạp PSNR (Peak Signal to Noise Ratio). MSE giữa ảnh gốc và ảnh khôi phục được tính như sau: Ở đây: xij biểu thị giá trị điểm ảnh gốc yij biểu thị giá trị điểm ảnh đã được biến đổi m và n lần lượt là chiều rộng và chiều cao của ảnh. PSNR, đơn vị: deciben (dB), thường được sử dụng trong nghiên cứu xử lý hình ảnh: PSNR = 10*log10( ) Thông thường, nếu PSNR > 35dB 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. PSNR càng cao thì chất lượng ảnh khôi phục càng tốt. Khi hai hình ảnh giống hệt nhau, MSE sẽ bằng 0 và PSNR đi đến vô hạn. 12
  13. Chương 2. KỸ THUẬT GIẤU TIN THUẬN NGHỊCH TRONG ẢNH BẰNG HIỆU CHỈNH HỆ SỐ SÓNG NHỎ (WAVELET) 2.1. Giới thiệu Đây là kỹ thuật giấu tin thuận nghịch dựa trên hệ số wavelet bằng việc hiệu chỉnh thích nghi các hệ số này. Ban đầu, miền không gian ảnh số được biến đổi sang miền tần số wavelet nguyên (the integer wavelet transform - IWT) được bốn băng tần LL (Low - Low), LH (Low - high), HL (High - low), HH (High - High). Sau đó, thông tin mật sẽ được nhúng vào các băng tần LH, HL, HH sử dụng hiệu chỉnh hệ số wavelet thích nghi. Kỹ thuật giấu tin thuận nghịch trong ảnh bằng hiệu chỉnh hệ số Wacelet là nghiên cứu của nhóm tác giả người Đài Loan: Ching-Yu Yang, Chih-Hung Lin, Wu-Chih Hu đề xuất năm 2008. Các tác giả nhúng một đoạn thông tin vào trong miền tần số dựa trên việc điều chỉnh hệ số wavelet. Đầu tiên, một hình ảnh đầu vào được tách ra thành các miền biến đổi wavelet. Tiếp theo, các bit dữ liệu được nhúng vào các khối có nguồn gốc từ 3 băng cao tần của miền biến đổi Wavelet. Khi nhúng vào, các hệ số Wavelet của khối nằm ngoài khoảng (-γ, γ) sẽ bị thay đổi giá trị. Sau đó các hệ số Wavelet nằm ngoài khoảng (-β, β) sẽ được dán nhãn và các hệ số này sẽ không được giấu tin để giảm thiểu việc biến dạng của ảnh. Cuối cùng các bit dữ liệu được chuyển sang hệ nhị phân rồi giấu vào các hệ số của khổi thuộc khoảng (-β, β). Cả β và γ là 2 thông số kiểm soát (khóa) và β > γ, k là số nguyên. 2.2. Quá trình giấu tin trong ảnh bằng hiệu chỉnh hệ số wavelet 2.2.1. Thuật toán giấu tin Đầu vào :  Ảnh sử dụng để giấu tin.  Thông tin cần giấu.  Các thông số kiểm soát β, γ, k (β > γ) Đầu ra :  Ảnh đã giấu tin. 13
  14. Các bước thực hiện : Bước 1 : tách khối ảnh và đánh dấu cờ. Ảnh đầu vào sau khi được biến đổi Wavelet thành 4 miền tần số LL, LH, HL, HH. Thông tin sẽ được giấu vào các hệ số Wavelet trong 3 miền dữ liệu ít quan trọng của ảnh là LH, HL, HH. Ma trận ảnh được tách ra thành các mà trận con có kich cỡ n*n để tiện cho việc xử lý. Các hệ số Cij của ma trận con được chuyển sang một giá trị mới Ĉij thỏa mãn quy tắc sau: Cij + γ, if Cij γ và đánh dấu cờ bằng 1 các hệ số này (để tiện cho việc khôi phục ảnh gốc sau này). Bước 2 : dãn nhãn. Tiếp theo, để giảm thiểu độ biến dạng của ảnh sau khi giấu tin các hệ số Ĉij của ma trận sẽ được dán nhãn theo quy tắc: k Ĉij – (2 - 1)β, nếu Ĉij ≤ - β Čij = (2.2) k Ĉij + (2 - 1)β, nếu Ĉij ≥ β Čij biểu thị hệ số dán nhãn, đó là các hệ số sẽ không được giấu thông tin. Bước 3: nhúng thông tin vào ảnh. Thông tin cần giấu sẽ được chuyển sang dữ liệu dạng nhị phân bs để chuẩn bị cho quá trình nhúng dữ liệu vào các khối. Các hệ số Cij thỏa mãn 0 ≤ Cij ≤ β được nhân k với 2 để được cr rồi cộng bs bit dữ liệu. Còn các hệ số Cij thỏa mãn -β ≤ Cij ≤ 0 được k nhân với 2 được cr rồi trừ bs bit dữ liệu. Quá trình này được lặp đi lặp lại cho đến khi tất cả các bit dữ liệu đã được xử lý. Sau khi quá trình nhúng dữ liệu kết thúc các miền Wavelet sẽ được biến đổi ngược lại thành ảnh có giấu tin. 14
  15. Nhâp vào 1 khối IWT n*n -1 C = Cij i=0 xử lý được đưa ra yes Cij γ no Đánh d ấ uyes cờ các hệ số dịch chuyển ĉij = Cij - γ tương ứng với vị trí bitmap = Cij - γ yes ĉij = β no yes k ĉij = ĉij +(2 -1)β Cho bs là dữ liệu đầu vào và cr là các hệ số với -β <= cr < 0 k Ĉr= 2 Cr Ĉr = Ĉr - bs Ci là các hệ số với 0 <= Ci< β k Ĉi= 2 Ci Ĉi = Ĉi +bs Hình 2.1. Sơ đồ giấu tin trong ảnh bằng hiệu chỉnh hệ số Wavelet. 15
  16. 2.2.2. Ví dụ minh họa Đầu vào :  Một khối iwt = [5 -2 -6 -1;-1 1 3 3;-5 0 0 6;0 2 -4 0].  Với các thông số kiểm soát : β = 3, γ = 2, k = 1.  Dãy dữ liệu bit cần giấu b: 0011-1010-0101.  Đầu ra : ta được khối đã giấu tin,và sơ đồ biến đổi khối như sau. 5 -2 -6 -1 3 -2 -4 -1 6 -2 -7 -1 6 -4 -7 -2 -1 1 3 3 -1 1 1 1 -1 1 1 1 -3 3 3 2 -5 0 0 6 -3 0 0 4 -6 0 0 7 -6 1 0 7 0 2 -4 0 0 2 -2 0 0 2 -2 0 0 5 -4 1 Hình 2.2. (a) khối IWT, (b) chuyển khối, (c) khối có nhãn, (d) khối giấu tin. Giả sử bắt đầu từ IWT là một khối của ảnh đã qua biến đổi Wavelet hình 2.2 a). Các hệ số Cij của khối IWT được so sánh nếu Cij γ thì : Ĉij = Cij – γ Đồng thời đánh dấu cờ các hệ số Ĉij này ta được khối mới hình 2.2 b). Tiếp theo thực hiện quá trình dán nhãn cho các hệ số Ĉij nằm ngoài khoảng (-β, β), nếu Ĉij ≥ β thì Čij = Ĉij – (2k - 1)β Ngược lại Ĉij ≤ -β thì : Čij = Ĉij + (2k - 1)β Ta được khối như hình 2.2 c). Cuối cùng dãy dữ liệu cần giấu b được tách ra k thành từng bit một bs rồi nhúng vào các hệ số Ĉij đã được nhân với 2 theo công thức sau : k 2 Ĉij + bs nếu 0 ≤ Ĉij < β Ĉij = k 2 Ĉij + bs nếu -β ≤ Ĉij < 0 Kết thúc là khối kết quả đã giấu dữ liệu hình 2.2 d) 16
  17. 2.3. Quá trình tách tin trong ảnh bằng hiệu chỉnh hệ số wavelet 2.3.1. Thuật toán tách tin Đầu vào :  Ảnh có giấu tin.  Các thông số kiểm soát β, γ, k. Đầu ra :  Thông tin được giấu trong ảnh.  Ảnh gốc. Các bước thực hiện : Bước 1 : chiết xuất dữ liệu. Hình ảnh giấu thông tin được biến đổi thành các miền tần số Wavelet như phần giấu tin, sau đó được đọc thành một khối D với n×n từ các LH, HL và HH các dải của k k Wavelet. Nếu hệ số dj D, tồn tại đáp ứng -2 β 0 thì cộng thêm γ, di < 0 thì trừ γ. Quá trình được lặp đi lặp lại cho đến khi tất cả dữ liệu được trính ra. Kết quả là các bit dữ liệu chứa thông tin ban đầu và ảnh gốc được khôi phục. 17
  18. đọc trong một khối D ẩn từ một khối IWT cho dj là các hệ số trong D và -2kβ <di <2kβ trích xuất dữ liệu bit và khôi phục lại các hệ số ban đầu được đặt giữa -β k và β bằng cách chia di cho 2 (khôi phục lại các hệ số mà ban đầu ít hơn hoặc bằng -β), di là các hệ k số trong D và di ≤ -2 β k di = di + (2 -1) β (khôi phục lại các hệ số mà ban đầu lớn hơn hoặc bằng β) cho dr là các hệ k số trong D và dr ≥ 2 β k dr = dr - (2 -1) β (khôi phục lại các hệ số ban đầu được thực hiện không bit dữ liệu) dr = dr + γ, hoặc di = di - γ nếu cờ tương ứng được thiết lập tại i Hình 2.3. Sơ đồ tách tin trong ảnh hiệu chỉnh hệ số Wavelet. 18
  19. 2.4.3. Ví dụ minh họa Đầu vào :  Một khối iwt = [6 -4 -7 -2; -3 3 3 2; -6 1 0 7; 0 5 -4 1] (đây là khối đã giấu tin trong ví dụ trên)  Với các thông số kiểm soát : β = 3, γ = 2, k = 1. Đầu ra : thu được chuỗi dữ liệu tách khỏi khối là dòng bit 0011-1010-0101, và khối gốc IWT. 6 -4 -7 -2 6 -2 -7 -1 3 -2 -4 -1 5 -2 -6 -1 -3 3 3 2 -1 1 1 1 -1 1 1 1 -1 1 3 3 -6 1 0 7 -6 0 0 7 -3 0 0 4 -5 0 0 6 0 5 -4 1 0 2 -2 0 0 2 -2 0 0 2 -4 0 Hình 2.4. (a) khối giấu tin, (b) chuyển có nhãn, (c) khối chuyển, (d) khối gốc IWT. Giả sử đầu vào là một khối đã qua biến đổi IWT có giấu thông tin hình 2.4 a). Ta chiết xuất dữ liệu (DL) ra bằng cách lấy từng hệ số của khối đầu vào Ĉij thuộc k k k khoảng (-2 β, 2 β) mod cho 2. Sau đó ta chia các hệ số Ĉij cho 2 để bước đầu khôi phục lại khối gốc trước khi giấu tin nhận được hình 2.4 b). Tiếp theo khôi phục lại các hệ số có dán nhãn Čij của khối theo công thức : k k Čij ≤ -2 β thì Cij = Čij + (2 - 1)β k k Čij ≤ -2 β thì Cij = Čij - (2 - 1)β Ta được hình 2.4 c). Cuối cùng là khôi phục lại khối IWT gốc trước khi giấu thông tin, ta xét các hệ số Cij có đánh dấu cờ ở khối 2.4 c) : Cij > 0 thì Cij = Cij + γ Cij > 0 thì Cij = Cij + γ Kết thúc ta nhận được đầu ra là khối gốc IWT hình 2.4 d) nguyên vẹn và dãy dữ liệu DL : 0011-1010-0101 chính xác. 19
  20. Chương 3. CÀI ĐẶT THỬ NGHIỆM 3.1. Môi trường cài đặt Ngôn ngữ cài đặt, môi trường soạn thảo và chạy chương trình được thực hiện trên ngôn ngữ lập trình Matlab 7.0. Hệ điều hành Window XP và môi trường NetFarme Work 2.0. 3.2. Giao diện 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. 20
  21. Từ menu “giau tin iwt” chọn “giau tin” sẽ gọi đến giao diện giấu tin hình 3.2. Hình 3.2. Giao diện giấu tin Đây là giao diện để giấu thông tin vào ảnh bằng hiệu chỉnh hệ số Wavelet. 21
  22. Để nhập ảnh vào ta chọn nút “Mo anh” trong giao dien giau tin, một hộp thoại sẽ được mở ra để ta chọn ảnh đưa vào giấu tin (chương trình chỉ sử dụng ảnh cấp xám 512*512). Hình 3.3. Chọn ảnh để giấu tin. 22
  23. Sau khi chọn ảnh ta nhập các thông số kiểm soát BETA (β), GAMA (γ), K là giá trị số nguyên sao cho thích hợp. Nếu bạn nhập không đúng chương trình sẽ báo lỗi và yêu cầu nhập lại hình 3.4. Hình 3.4. Báo lỗi nhập các thông số kiểm soát. 23
  24. Tiếp theo, ta sẽ nhập dư liệu cần giấu vào ảnh bằng cách nhập trực tiếp dư liệu vào ô dưới chữ “NHAP DU LIEU GIAU” hoặc chọn nút “Chon du lieu” như hình 3.5. Hình 3.5. Chọn dư liệu giấu từ file. 24
  25. Sau khi đã nhập đầy đủ đầu vào cho giao diện giấu tin. Hình 3.6. Giao diện giấu tin sau khi đã nhập liệu 25
  26. Ta chọn nút “Giau tin” để bắt đầu thực hiện quá trình giấu tin trong ảnh bằng hiệu chỉnh hệ số wavelet. Hình 3.7. Thực hiện quá trình giấu tin trong ảnh. 26
  27. Sau khi thực hiện xong quá trình giấu tin sẽ hiển thị hộp thoại thông báo giấu tin thành công. Hình 3.8. Thông báo quá trình giấu tin thành công. 27
  28. Giấu tin xong chương trình sẽ cho ra ảnh đã giấu tin. Hình 3.9. Kết quả của quá trình giấu tin. 28
  29. Lưu ảnh đã giấu tin chọn nút “Luu lai” đặt tên cho ảnh trong File name (gõ cả phần đuôi mở rộng). Hình 3.10. Lưu lại ảnh đã giấu tin. 29
  30. Sau khi lưu ảnh sẽ hiện hộp thoại báo lưu ảnh thành công, để kết thúc chương trình chọn “Thoat”. Hình 3.11. Thông báo lưu ảnh thành công. 30
  31. Từ menu “Tach tin” trên giao diện chính gọi ra giao diện tách tin hình 3.12. Hình 3.12. Giao diện tách tin. Đây là giao diện sẽ lấy ảnh đã giấu thông tin để tách và lấy thông tin ra đồng thời khôi phục lại ảnh gốc đã giấu tin. 31
  32. Thực hiện mở ảnh có giấu tin để tách tin và khôi phục ảnh gốc. Hình 3.13. Chọn ảnh để tách tin và khôi phục. 32
  33. Sau khi nhập ảnh và các thông số kiểm soát tương ứng, chọn nút “Tach tin” để bắt đầu quá trình tách tin. Hình 3.14. Quá trình tách tin khôi phục ảnh gốc. 33
  34. Thực hiện xong quá trình tách tin ta nhận được dư liệu được tách ra và ảnh đã gốc đã được khôi phục hình 3.15. Hình 3.15. Tách tin thành công 34
  35. Lưu lại dư liệu được tách ra. Hình 3.16. Lưu lại thông tin được lấy ra. 35
  36. Lưu lại ảnh đã được khôi phục. Hình 3.17. Lưu ảnh đã được khôi phục. 36
  37. Đây là giao diện đánh giá ảnh sau khi đã giấu tin và khôi phục. Hình 3.18. Giao diện đánh giá ảnh. Chọn nút “ ” để chọn ảnh cần đánh giá. Hình 3.19. chọn ảnh để đánh giá. 37
  38. Sau khi đã chọn 2 ảnh để đánh giá với nhau, chọn nút “Danh gia” để thực hiện quá trình đánh giá. Kết quả sẽ cho ta giá trị đánh giá ảnh, nếu :  Giá trị là 100 db thì 2 ảnh là 1 không có thay đổi.  Giá trị lớn hơn 35 db nhỏ hơn 100 db thì ảnh có thay đổi nhưng ở mức chấp nhận được.  Giá trị nhỏ hơn 35 db thì ảnh biến dạng mắt thường có thể nhận thấy.  Giá trị nhỏ hơn 20 db thì ảnh biến dạng không thể chấp nhận được. Hình 3.20. Đánh giá chất lượng ảnh. 38
  39. 3.3 Thử nghiệm chương trình Tập ảnh A1 gồm 9 ảnh chuẩn cấp xám có kích thước 512 * 512 đây là những ảnh sẽ được sử dụng để giấu tin. Với β = 3, γ = 2, k=1, dữ liệu được giấu có nội dung : “cong hoa xa hoi chu nghia viet nam ”. Nguồn lấy ảnh lấy từ [5]. Hình 3.21. a) Tập ảnh gốc sử dụng giấu tin A1 39
  40. Hình 3.21. b) Tập ảnh đã được giấu thông tin 40
  41. Ảnh gốc Ảnh giấu tin Độ biến dạng PSNR airplane.png 1.png 68.1241 baboon.png 2.png 61.5031 beer.png 3.png 70.1819 elaine.png 4.png 70.7648 house.png 5.png 68.1480 lena.png 6.png 71.8572 peppers.png 8.png 67.7582 sailboat.png 9.png 68.1172 tiffany.png 10.png 70.3406 Hình 3.22. Độ biến dạng PSNR của ảnh gốc so với ảnh sau khi đã giấu tin 41
  42. KẾT LUẬN Báo cáo trình bày tổng quan về giấu thông tin trong ảnh, một trong những lĩnh vực còn khá mới mẻ hiện nay. Đã có rất nhiều phương pháp được đưa ra để giải quyết vấn để trên, chúng được phân thành 2 loại:  Giấu tin trên miền không gian: thông tin được giấu trực tiếp trên các điểm ảnh, đây là những kỹ thuật nhằm bảo mật thông tin được giấu áp dụng cho truyền thông tin mật.  Giấu tin trên miền biến đổi: ảnh sẽ được biến đổi sang miền khác sau đó thông tin được nhúng vào miền biến đổi rồi biến đổi ngược trở lại thành ảnh, đây là những kỹ thuật nhằm bảo vệ ảnh được giấu thường áp dụng để xác thực ảnh. Báo cáo tập trung nghiên cứu sâu về một trong những kỹ thuật trên đó là kỹ thuật giấu tin trong ảnh thuận nghịch bằng hiệu chỉnh hệ số sóng nhỏ (wavelet), đây là kỹ thuật giấu tin trên miền biến đổi. Ảnh được biến đổi sang miền wavelet, sau đó các hệ số wavelet sẽ được xử lý và nhúng thông tin vào. Để thực hiện quá trình xử lý các hệ số wavelet ta sử dụng các thông số kiểm soát là β, λ, k là các số nguyên dương với β>λ. Để quá trình giấu tin và tách tin thu được kết quả hoàn hảo giá trị của k nên là 1 hoặc 2, nếu k≥3 thì ảnh bắt đầu có biến dạng mà mắt thường có thể nhận thấy, k≥5 thì dữ liệu tách ra sẽ bị sai khác. Giá trị β và γ phụ thuộc vào giá trị max của các hệ số biến đổi wavelet, giá trị β và γ càng lớn thì lượng thông tin có thể giấu lớn theo, đồng thời độ biến dạng của ảnh cũng tăng lên. Đây là một kỹ thuật giấu tin trong ảnh mang tính bền vững không gây hư hại cho ảnh mang tin, nhưng chưa thực sự an toàn cho thông tin được giấu. Chính vì thế kỹ thuật này chỉ lên áp dụng giấu thông tin để bảo vệ ảnh nhằm xác thực ảnh. 42
  43. Tài liệu tham khảo [1]. 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 [2]. Ingemar Cox, Jeffrey Bloom, Matthew Miller, Ton Kalker, Jessica Fridrich, Digital Watermarking and Steganography, Morgan Kaufmann, 2008 [3]. Ching-Yu Yang, Chih-Hung Lin, Wu-Chih Hu, Reversible Data Hiding By Adaptive IWT-coefficient Adjustment, Journal of Information Hiding and Multimedia Signal Processing, ©2011 ISSN 2073-4212, (2011), pp.24 -42 [4]. USC-SIPI Image Database, Signal and ImageProcessing Institute, University of Southern California, Database.html [5]. 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. [6]. Ngô Minh Long – Lớp CT701, “Phát hiện ảnh có giấu tin trên Bit ít ý nghĩa nhất LSB”, tiểu án tốt nghiệp ngành CNTT – 2008. [7]. Đỗ 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. [8]. 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. [9]. Nguyễn Thị Kim Cúc – CT801, “Nghiên cứu một số phương pháp bảo mật thông tin trước khi giấu tin trong ảnh”, đồ án tốt nghiệp ngành CNTT – 2008. [10]. Vũ Tuấn Hoàng – CT801, “Nghiên cứu kỹ thuật phát hiện ảnh có giấu tin dựa trên LSB của ảnh cấp xám”, đồ án tốt nghiệp ngành CNTT – 2008. [11]. Vũ Thị Hồng Phương – CT801, “Nghiên cứu kỹ thuật giấu tin trong ảnh gif”, đồ án tốt nghiệp ngành CNTT – 2008. [12]. Đỗ Thị Nguyệt – CT901, “Nghiên cứu một số kỹ thuật ước lượng độ dài thông điệp giấu trên bit có trọng số thấp”, đồ án tốt nghiệp ngành CNTT – 2009. [13]. Mạc như Hiển – CT901, “Nghiên cứu kỹ thuật giấu thông tin trong ảnh GIF”, đồ án tốt nghiệp ngành CNTT – 2009. [14]. Phạm Thị Quỳnh – CT901, “NGHIÊN CỨU KỸ THUẬT PHÁT HIỆN THÔNG TIN ẨN GIẤU TRONG ẢNH JPEG2000”, đồ án tốt nghiệp ngành CNTT – 2009. [15]. Phạm Thị Thu Trang – CT901, “Nghiên cứu kỹ thuật giấu thông tin trong ảnh JPEG2000”, đồ án tốt nghiệp ngành CNTT – 2009. [16]. Trịnh Thị Thu Hà – CT901, “NGHIÊN CỨU KỸ THUẬT PHÁT HIỆN THÔNG TIN ẨN GIẤU TRONG ẢNH GIF ”,đồ án tốt nghiệp ngành CNTT – 2009. [17]. Vũ Trọng Hùng – CT801, “Kỹ thuật giấu tin thuận nghịch dựa trên miền dữ liệu ảnh”, tiểu án tốt nghiệp ngành CNTT – 2009. 43
  44. [18]. Đỗ Lâm Hoàng – CT1001, “Nghiên cứu kỹ thuật giấu tin thuận nghịch trên miền dữ liệu ảnh cấp xám”, đồ án tốt nghiệp ngành CNTT – 2010. [19]. Nguyễn trường Huy- CT1001, “Nghiên cứu kỹ thuật giấu tin trên ảnh nhị phân” , đồ án tốt nghiệp ngành CNTT – 2010. [20]. Vũ Văn Thành- CT1001, “ Tìm hiểu giải pháp và công nghệ xác thực điện tử sử dụng thủy vân số”, đồ án tốt nghiệp ngành CNTT – 2010. [21]. Vũ Văn Tập – CT1001, “Nghiên cứu kỹ thuật phát hiện ảnh có giấu tin trên miền dữ liệu của ảnh”, đồ án tốt nghiệp ngành CNTT – 2010. [22]. Vũ Khắc Quyết – ct1001, “Nghiên cứu kỹ thuật giấu tin với dung lượng thông điệp lớn”, đồ án tốt nghiệp ngành CNTT – 2010. [23]. Phạm Quang Tùng – CT1001, “Tìm hiểu kỹ thuật phát hiện ảnh có giấu tin dựa trên phân tích tương quan giữa các bit LSB của ảnh”, đồ án tốt nghiệp ngành CNTT – 2010. [24]. Vũ Thị Ngọc – CT1101, “Nghiên cứu một giải pháp giấu văn bản trong ảnh”. [25]. Cao Thị Nhung – CT1101, “Tìm hiểu kỹ thuật thủy vân số thuận nghịch cho ảnh nhị phân”, đồ án tốt nghiệp ngành CNTT – 2011. [26]. Hoàng Thị Thuy Dung – CT1101, “Kỹ thuật giấu tin trong ảnh dựa trên MBNS (Multiple Base Notational System)”, đồ án tốt nghiệp ngành CNTT – 2011. [27]. Vũ Thùy Dung – CT1101, “Kỹ thuật giấu tin trong ảnh SES (Steganography Evading Statistical analyses)”, đồ án tốt nghiệp ngành CNTT – 2011. [28]. Trịnh Văn Thành – CT1101, “Phát hiện ảnh có giấu tin trên LSB bằng phương pháp phân tích cặp mẫu”, đồ án tốt nghiệp ngành CNTT – 2011. [29]. Phạm Văn Đại – CT1101, “Kỹ thuật giấu tin dựa trên biến đổi Contourlet”,đồ án tốt nghiệp ngành CNTT – 2011. [30]. Nguyễn Mai Hương – CT1101, “Kỹ thuật giấu tin PVD”,đồ án tốt nghiệp ngành CNTT – 2011. [31]. Phạm Văn Minh, “Kỹ thuật phát hiện mù cho ảnh có giấu tin bằng LLRT (Logarithm likelihood Ratio Test)”, đồ án tốt nghiệp ngành CNTT – 2011. 44