Hình 1.1 Sơ đồ phân loại kỹ thuật giấu tin Giấu tin mật Seganograph: Quan tâm tới việc giấu các tin sao cho thông tin được giấu là tối đa và khó phát hiện được đối tượng ẩn giấu thông t
Trang 1LỜI CAM ĐOAN
Học viên xin cam đoan đây là công trình nghiên cứu của riêng học viên Các kết quả nêu trong luận văn là trung thực và chƣa từng đƣợc ai công bố trong bất kì công trình nào khác
Học viên xin cam đoan rằng các thông tin trích dẫn trong luận văn đều đã đƣợc chỉ rõ nguồn gốc
Hải Phòng, ngày 14 tháng 03 năm 2016
Học viên cam đoan
Đỗ Công Tuyến
Trang 2Cuối cùng em xin bày tỏ lòng biết ơn sâu sắc tới người thân trong gia đình, bạn bè và đồng nghiệp đã quan tâm, hỗ trợ và động viên trong quá trình thực hiện luận văn
Luận văn này thực hiện trong thời gian ngắn và lĩnh vực nghiên cứu đối với bản thân còn mới mẻ nên không tránh được những thiếu sót, em mong nhận được nhiều ý kiến đóng góp của quý thầy cô cùng toàn thể bạn bè để luận văn này hoàn thiện hơn
Em xin trân trọng cảm ơn!
Hải Phòng, ngày 14 tháng 03 năm 2016
Học viên thực hiện
Đỗ Công Tuyến
Trang 3MỤC LỤC
MỤC LỤC
LỜI CAM ĐOAN 1
LỜI CÁM ƠN 2
MỤC LỤC 3
DANH MỤC CÁC BẢNG 5
DANH MỤC CÁC HÌNH 6
MỞ ĐẦU 8
CHƯƠNG 1 KHÁI NIỆM TỔNG QUAN 9
1.1 Tổng quan kỹ thuật giấu tin trong ảnh 9
1.1.1 Khái niệm 9
1.1.2 Phân loại giấu tin 9
1.1.3 Yêu cầu thiết yếu đối với một hệ thống giấu tin mật 11
1.1.4 Mô hình kỹ thuật giấu tin và tách tin cơ bản 11
1.1.5 Môi trường giấu tin 13
1.1.6 Một số ứng dụng của kỹ thuật giấu tin 15
1.2 Cấu trúc ảnh Bitmap 16
1.2.1 Ảnh đen trắng 17
1.2.2 Ảnh đa mức xám 17
1.2.3 Ảnh màu 18
1.2.4 Ý nghĩa của các phần trong tệp ảnh Bitmap 18
1.3 Phương pháp đánh giá PSNR(peak signal-to-noise ratio) 19
CHƯƠNG 2 CÁC KỸ THUẬT GIẤU TIN TRÊN MIỀN KHÔNG GIAN CỦA ẢNH 20 2.1 KỸ THUẬT GIẤU TIN TRÊN K BIT LSB CỦA ẢNH 20
2.1.1 Ý tưởng 20
2.1.2 Phương pháp giấu tin trên k-LSBs điển hình 21
2.1.3 Phương pháp giấu tin trên k-LSBs cải tiến 23
2.1.4 Ví dụ minh họa 27
2.2 KỸ THUẬT GIẤU TIN DỰA TRÊN SỰ TƯƠNG QUAN CỦA MIỀN KHÔNG GIAN ẢNH 28
Trang 42.2.1 Ý tưởng 28
2.2.2 Phương pháp lấy mẫu 28
2.2.3 Thuật toán giấu tin 29
2.2.4 Thuật toán tách tin 31
2.2.5 Ví dụ minh họa 34
2.3 GIẤU TIN THÍCH NGHI NỘI DUNG BẰNG KỸ THUẬT TỐI GIẢN KHẢ NĂNG PHÁT HIỆN THỐNG KÊ 36
2.3.1 Ý tưởng 36
2.3.2 Mô hình hình ảnh 38
2.3.3 Kiểm tra LR tối ưu và hiệu năng thống kê của phương pháp 40
2.3.4 Giấu tin bằng phương pháp tối thiểu hóa hiệu năng của bộ dò tối ưu (MiPOD) 44
2.3.5 Ước lượng sai khác pixel 45
CHƯƠNG 3 CÀI ĐẶT VÀ THỬ NGHIỆM 51
3.1 Môi trường thử nghiệm 51
3.2 Giao diện chương trình 51
3.2.1 Giao diện chính 51
3.2.2 Giao diện giấu tin LSB 52
3.2.3 Giao diện giấu tin dựa vào sự tương quan miền không gian ảnh 54
3.3 Kết quả thử nghiệm và đánh giá 55
3.3.1 Kỹ thuật giấu tin trên k bit LSB 55
3.3.2 Kỹ thuật giấu ảnh dựa trên sự tương quan của ảnh 60
KẾT LUẬN 68
TÀI LIỆU THAM KHẢO 69
Trang 5DANH MỤC CÁC BẢNG
Bảng 1.1 So sánh giữa giấu tin mật và thủy vân số 11
Bảng 2.1 Ví dụ về giấu chữ “g” vào 8 byte dữ liệu ban đầu 21
Bảng 2.2 Bảng quy đổi 24
Bảng 3.1 Bảng kết quả đo trên PSNR tập mẫu A 56
Bảng 3.2 Bảng kết quả đo trên PSNR tập mẫu B 57
Bảng 3.3 Bảng tính PSNR trung bình LSB điển hình 59
Bảng 3.4 Bảng tính PSNR trung bình LSB cải tiến 59
Bảng 3.5 Kết quả sau giấu tin dựa trên sự tương quan ảnh 61
Bảng 3.6Bảng kết quả sau khi giấu nhiều thông điệp 63
Bảng 3.7 Bảng đánh giá PSRN của ảnh trước và sau khi tách dựa trên sự tương quan miền không gian ảnh 65
Trang 6DANH MỤC CÁC HÌNH
Hình 1.1 Sơ đồ phân loại kỹ thuật giấu tin 10
Hình 1.2 Lược đồ chung cho quá trình giấu tin 12
Hình 1.3 Lược đồ chung cho quá trình tách tin 13
Hình 1.4 Ví dụ về ảnh đen trắng 17
Hình 1.5 Ví dụ về ảnh đa cấp xám 18
Hình 1.6 Ví dụ về ảnh màu 18
Hình 2.1 Mỗi điểm ảnh biểu diễn bởi 8 bit, bit cuối cùng được coi là bit ít quan trọng nhất tức là bit bên phải nhất 20
Hình 2.2 Ví dụ minh họa tách mẫu con trong kỹ thuật giấu tin dựa trên sự tương quan miền không gian ảnh 29
Hình 2.3 Sơ đồ quá trình giấu tin dựa vào sự tương quan miền không gian ảnh 31
Hình 2.4 Sơ đồ quá trình tách tin dựa trên sự tương quan miền không gian ảnh 33
Hình 2.5 Đồ thị biểu diễn kỹ thuật nhúng thích ứng điển hình hiện tại (bên trái) và phương pháp đề xuất MiPOD (bên phải) 46
Hình 2.6 Dòng đầu tiên từ trái qua phải 47
Hình 3.1 Giao diện chính chương trình 51
Hình 3.2 Giao diện giấu tin LSB điển hình 52
Hình 3.3 Giao diện giấu tin LSB cải tiến 52
Hình 3.4 Giao diện tách tin LSB điển hình 53
Hình 3.5 Giao diện tách tin LSB cải tiến 53
Hình 3.6 Giao diện giấu tin dựa vào sự tương quan miền không gian ảnh 54
Hình 3.7 Giao diện tách tin dựa vào sự tương quan miền không gian ảnh 54
Hình 3.8 Tập ảnh mẫu cấp xám A chưa giấu tin kích thước 512x512 thử nghiệm cho kỹ thuật giấu tin trên k bit LSB 55
Trang 7Hình 3.9 Tập ảnh mẫu B chưa giấu tin ngẫu nhiên thử nghiệm cho kỹ thuật giấu tin trên k bit LSB 55
Hình 3.10 Ảnh trước khi giấu dựa trên sự tương quan của ảnh 60
Hình 3.11 Ảnh sau khi giấu dựa trên sự tương quan của ảnh 60
Hình 3.12 Ảnh thông điệp giấu tin dựa trên sự tương quan miền không gian ảnh 62
Hình 3.13 Ảnh gốc khi chưa giấu tin dựa vào sự tương quan miền không gian ảnh
64
Hình 3.14 Ảnh sau khi tách tin dựa trên sự tương quan của miền không gian ảnh 65
Trang 8MỞ ĐẦU
Không thể phủ nhận rằng lĩnh vực công nghệ thông tin đã ảnh hưởng đến tất
cả các lĩnh vực trong cuộc sống ngày nay Sự xuất hiện những phần mềm có tính năng mạnh mẽ, những thiết bị công nghệ tiên tiến hiện đại và hệ thống mạng Internet liên kết toàn cầu đã mang lại cho con người một môi trường làm việc và giao tiếp đầy thuận lợi
Song hành với những lợi ích mà nó đem lại thì cũng mang nhiều thách thức Mạng Internet toàn cầu đã trở thành một xã hội ảo nơi mọi quá trình trao đổi thông tin của các lĩnh vực như chính trị, quân sự, quốc phòng, kinh tế,… Chính trong môi trường đầy tiện nghi như vậy đã xuất hiện những vấn đề tiêu cực như nạn đánh cắp bản quyền, xuyên tạc thông tin, đánh cắp thông tin, truy nhập bất hợp pháp,… Những vấn đề trên đang rất cần những giải pháp hữu hiệu để phòng chống, việc tìm giải pháp cho những vấn đề này sẽ giúp ta hiểu thêm về lĩnh vực công nghệ thông tin phức tạp ngày càng lớn mạnh, còn có những cơ hội kinh tế mới mà nó sẽ
mang lại Vì vậy em quyết định chọn đề tài “Nghiên cứu một số phương pháp giấu tin trên miền không gian của ảnh mới công bố gần đây và cài đặt so sánh với kỹ thuật giấu tin điển hình”để làm luận văn tốt nghiệp Cao học của mình
Bố cục luận văn được chia thành 03 chương:
Chương 1 Trình bày các khái niệm tổng quan về giấu tin:
Chương 2 Một số kỹ thuật giấu tin trên miền không gian của ảnh bao gồm
ba kỹ thuật:
Kỹ thuật giấu tin trên k bit LSB (Least Significant Bit)
Kỹ thuật giấu tin dựa trên sự tương quan của miền không gian ảnh
Giấu tin thích nghi nội dung bằng kỹ thuật tối giản khả năng phát hiện thống kê
Chương 3: Cài đặt và đánh giá kết quả thuật toán đã trình bày ở chương 2
Trang 9CHƯƠNG 1 KHÁI NIỆM TỔNG QUAN 1.1 Tổng quan kỹ thuật giấu tin trong ảnh
Hai vấn đề chính của giấu tin
Bảo mật dữ liệu đem giấu
Bảo mật cho đối tượng được đem giấu thông tin
Ngày nay kỹ thuật giấu tin được nghiên cứu để phục vụ các mục đích tích cực như: bảo vệ bản quyền các tài liệu số hóa (dùng thuỷ vân số), hay giấu các thông tin bí mật về quân sự và kinh tế
Sự phát triển của công nghệ thông tin đã tạo ra những môi trường giấu tin mới vô cùng tiện lợi và phong phú Người ta có thể giấu tin trong các văn bản, hình ảnh, âm thanh Cũng có thể giấu tin ngay trong các khoảng trống hay các phân vùng ẩn của môi trường lưu trữ như đĩa cứng, đĩa mềm Các gói tin truyền đi trên mạng cũng là môi trường giấu tin thuận lợi Các tiện ích phần mềm cũng là môi trường lý tưởng để gài các thông tin quan trọng để xác nhận bản quyền
1.1.2 Phân loại giấu tin
Kỹ thuật giấu tin có thể chia thành hai hướng:
Giấu tin mật (Steganography)
Thủy vân số (Watermarking)
Trang 10Hình 1.1 Sơ đồ phân loại kỹ thuật giấu tin
Giấu tin mật (Seganograph): Quan tâm tới việc giấu các tin sao cho thông
tin được giấu là tối đa và khó phát hiện được đối tượng ẩn giấu thông tin bằng kỹ thuật thông thường
Thủy vân số (Watermaking): Nhúng vào đối tượng để khẳng định bản
quyền tác giả hay xuyên tạc thông tin Thủy phân số được chia làm 2 loại đó là thủy vân bền vững và thủy vân dễ vỡ
Thủy vân bền vững (Robust Watermarking):Thường được dùng trong các
lĩnh vực bảo vệ bản quyền tác giả nó như một hình thức dán tem bản quyền hay sử dụng serial Trong trường hợp này thủy vân được tồn tại một cách bền vững cùng với sản phẩm của tác giả nhằm không cho đối tượng các chỉnh sửa, làm giả hay biến đổi hoặc phá hủy thủy vân Thủy vân bề vững được chia làm 2 loại như sau:
Thuỷ vân ẩn (Visible Watermarking):Nó được coi như giấu tin mà không thể
phát hiện được thủy vân bằng mắt thường
Thuỷ vân hiện (Imperceptible Watermarking): Là loại thuỷ vân được hiện
ngay trên sản phẩm và người dùng có thể nhìn thấy được
Trang 11Thủy vân dễ vỡ (Fragile Watermarking):Thủy vân được giấu trong đối
tượng sẽ không còn nguyên vẹn nếu có bất cứ một phép biến đổi nào làm thay đổi đối tượng gốc được phân bố trong môi trường mở nào đó
Bảng 1.1 So sánh giữa giấu tin mật và thủy vân số
Giấu tin mật Thủy vân số
Phát hiện ra thông điệp bí mật
1.1.3 Yêu cầu thiết yếu đối với một hệ thống giấu tin mật
Có ba yêu cầu thiết yếu đối với một hệ thống giấu tin mật:
Tính vô hình: nghĩa là với người quan sát bằng mắt thường không thể phát
hiện được ảnh có chứa thông tin ẩn trong đó Đây là một tính chất cực kỳ quan trọng đối với kỹ thuật giấu tin mật
Khả năng nhúng: lượng thông tin cần nhúng càng nhiều càng tốt nhưng
không được vi phạm tính chất khác của kỹ thuật giấu tin mật
Khả năng không thể dò tìm được: là khả năng chống lại việc xác định ảnh
đó có hay không có thông tin ẩn bằng các kỹ thuật thống kê toán học thông thường
1.1.4 Mô hình kỹ thuật giấu tin và tách tin cơ bản
Để thực hiện giấu tin cần xây dựng được các thủ tục giấu tin Các thủ tục này sẽ thực hiện nhúng thông tin cần giấu vào môi trường giấu tin Các thủ tục
Trang 12giấu tin thường được thực hiện với một khóa giống như các hệ mật mã để tăng tính bảo mật Sau khi giấu tin ta thu được đối tượng chứa thông tin giấu và có thể phân phối đối tượng đó trên kênh thông tin [1]
Giấu thông tin vào phương tiện chứa và tách lấy thông tin là 2 quá trình trái ngược nhau và có thể mô tả qua sơ đồ khối của hệ thống như hình 1.2 và hình 1.3
Hình 1.2 Lược đồ chung cho quá trình giấu tin
Bản tin mật: Tuỳ thuộc vào mục đích của người sử dụng mà bản tin mật có thể là thông điệp (với các tin 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
Bộ nhúng thông tin: Là những chương trình thực hiện việc giấu tin
Đầu ra: Là các phương tiện chứa đã có tin giấu trong đó
Khoá giấu tin: Khoá viết mật tham gia vào quá trình giấu tin để tăng tính bảo mật
Kiểm định: Kiểm tra thông tin sau khi được giải mã
Sau khi giấu tin, ta thu được phương tiện chứa bản tin đã giấu và phân phối
sử dụng trên mạng
Trang 13Tá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ào 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
Hình 1.3 Lược đồ chung cho quá trình tách tin
Hình 1.3 Chỉ ra các công việc giải mã thông tin đã giấu Sau khi nhận được đối tượng phương tiện chứa có giấu thông tin, quá trình giải mã được thực hiện thông qua một bộ giải mã tương ứng với bộ nhúng thông tin cùng với khoá của quá trình nhúng Kết quả thu được gồm phương tiện chứa gốc và thông tin đã giấu Bước tiếp theo thông tin đã giấu sẽ được xử lý kiểm định so sánh với thông tin ban đầu
1.1.5 Môi trường giấu tin
1.1.5.1 Giấu tin trong ảnh
Hiện nay giấu thông tin trong ảnh là một bộ phận chiếm tỷ lệ lớn 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ư: xác định xuyên tạc thông tin, bảo vệ quyền tác giả…Thông tin
sẽ nhúng trong đối tượng ảnh sao cho đảm bảo ảnh sau khi nhúng có chất lượng ít
Trang 14bị thay và không thể phát hiện được đối tượng ảnh đó ẩn chứa thông tin bên trong bằng mắt thường Ngày nay khi ảnh số được sử dụng rất phổ biến thì giấu thông tin trong ảnh đã mang lại những ứng dụng quan trọng trên các lĩnh vực đời sống xã hội Ví dụ như các nước phát triển việc dùng chữ ký điện tử thay thế chữ ký tay để lưu trữ và sử dụng như là hồ sơ cá nhân của các dịch vụ trong lĩnh vực tài chính ngân hàng.Người dùng có thể lưu trữ chữ ký trong ảnh nhị phân rồi gắn vào vị trí nào đó trong tệp văn bản để đảm bảo tính an toàn của thông tin bằng phần mềm WinWord của Microsoft [1]
1.1.5.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 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 tới chất lượng của dữ liệu Để đảm bảo yêu cầu này chúng ta cần hiểu được rằng 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 – HSV (Human Vision System) còn kỹ thuật giấu thông tin trong audio phụ thuộc vào hệ thống thính giác HAS (Human Auditory System) [1] Hệ thống thính giác của con người chỉ cảm nhận đượ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ó khănkhông hề nhỏ đối với các phương pháp giấu tin trong audio Thính giác của chúng ta khó có thể phát hiện được sự chênh lệch giữa các giải tần và công suất chính vì vậy chúng ta có thể thực hiện nhúng những âm thanh có tín hiệu và công suất nhỏ bên trong những âm thanh có tín hiệu và công suất lớn
Kênh truyền tin hay băng thông chậm hoặc tính ổn định không cao cũng sẽ gây ảnh hưởng lớn đến giấu tin trong audio vì giấu tin trong audio đòi hỏi yêu cầu rất cao về tính đồng bộ cũng như độ an toàn của thông tin
1.1.5.3 Giấu tin trong video
Một trong các kỹ thuật giấu tin trong video được Ingemar Cox đưa ra là kỹ thuật phân bố đều Ý tưởng của thuật toán là phân phối thông tin giấu dàn trải theo tần số của dữ liệu ban đầu
Trang 15Nhiều nhà nghiên cứu dùng các hàm cosin riêng và các hệ số truyền sóng riêng để giấu tin Trước đây khi lĩnh vực giấu tin trong video vừa mới được phát hiện thì chủ yếu là giấu file ảnh vào trong video nhưng ngày nay gần như các kỹ thuật cho phép chúng ta nhúng cả âm thanh lẫn hình ảnh vào trong video
1.1.5.4 Giấu tin trong dạng văn bản text
Việc giấu tin trong văn bản text gặp không ít khó khăn do các thông tin dư thừa trong văn bản text là không nhiều Người ta thường giấu thông tin thông qua định dạng của văn bản text như: Giấu thông tin vào khoảng trắng giữa các từ hay giữa các dòng văn bản
Ngoài việc giấu tin trong dữ liệu đa phương tiện thì gần đây có một số nghiên cứu cho phép giấu tin trong cơ sở dữ liệu quan hệ, các gói tin IP truyền trên mạng Để đáp ứng được nhu cầu giấu tin ngày càng nhiều thì sau này còn phát triển giấu tin trong các môi trường dữ liệu số khác
1.1.6 Một số ứng dụng của kỹ thuật giấu tin
Giấu tin trong ảnh số ngày một phát triển mạnh mẽ và được ứng dụng một cách rộng rãi trong rất nhiều lĩnh vực Các ứng dụng có sử dụng đến giấu tin trong
ảnh số có thể là: Bảo vệ bản quyền tác giả (Copyright Protection), Điểm chỉ số (fingerprinting), Gán nhãn(Labelling), Giấu thông tin mật (Steganography)…
Bảo vệ bản quyền: Là ứng dụng cơ bản nhất của kỹ thuật thuỷ vân số
(watermarking) - một dạng của phương pháp giấu tin Một thông điệp nào đó mang
ý nghĩa sở hữu quyền tác giả (người ta gọi nó là thuỷ vân – watermark) sẽ được nhúng vào các đối tượng khác, thủy vân đó chỉ có tác giả là người chủ sở hữu hợp pháp các đối tượng đó để minh chứng sản phẩm đó là của riêng tác giả Giả sử có một đối tượng dữ liệu dạng đa phương tiện như ảnh, âm thanh, video cần được lưu
và phân phối trên mạng viễn thông Nhằm đảm bảo đối tượng không bị lấy cắp, làm giả, chỉnh sửa thì cần có một kỹ thuật để minh chứng đó là của riêng tác giả bằng việc “dán tem bản quyền” vào đối tượng Việc dán tem được xem như là nhúng thủy vân vào đối tượng nhưng phải đảm bảo tính nguyên vẹn của đối tượng, không bị sai khác hay ảnh hưởng lớn đến việc cảm nhận đối tượng Với kỹ thuật
Trang 16trên thì yêu cầu kỹ thuật của ứng dụng đó là thủy vân phải tồn tại một cách bền vững cùng với đối tượng muốn bỏ thủy vân mà không được sự đồng ý của tác giả thì chỉ có thể phá hủy đối tượng
Điểm chỉ số: Điểm chỉ số nhằm hướng tới mục tiêu truyền thông tin tới
người nhận (không phải chủ sở hữu) để xác nhận đó là bản sao duy nhất của đối tượng
Gán nhãn: Tiêu đề, ghi chú, giải thích, thời gian hay những minh họa khác
có thể được nhúng vào ảnh người ta gọi đó là gán nhãn Ví dụ khi tác giả chụp được một bức ảnh đẹp có thể gắn tên tác giả, địa điểm chụp hay ngày chụp lên trên bức ảnh Khi người khác muốn sao chép ảnh thì cũng sẽ sao chép cả các dữ liệu đã được nhúng trên bức ảnh Chỉ có tác giả, người có khóa mật (Stego-Key) mới tách
ra và xem được các thông tin nhúng trên ảnh Trong một cơ sở dữ liệu ảnh, người
ta có thể nhúng các từ khoá để các động cơ tìm kiếm có thể tìm nhanh một bức ảnh Nếu ảnh là một khung ảnh cho cả một đoạn phim, người ta có thể gán cả thời điểm diễn ra sự kiện để đồng bộ hình ảnh với âm thanh Người ta cũng có thể gán
số lần ảnh được xem để tính tiền thanh toán theo số lần xem
Giấu thông tin mật: Trong nhiều trường hợp sử dụng mật mã có thể gây ra
sự chú ý ngoài mong muốn Ngoài ra việc sử dụng công nghệ mã hoá có thể bị hạn chế một số kỹ thuật giấu tin trong ảnh mầu hoặc cấm sử dụng Ngược lại việc giấu tin trong môi trường nào đó rồi gửi đi trên mạng ít gây sự chú ý Có thể dùng nó để gửi đi một bí mật thương mại, một bản vẽ hoặc các thông tin nhạy cảm khác [1]
1.2 Cấu trúc ảnh Bitmap
BMP là một định dạng tập tin hình ảnh khá phổ biến Các tập tin đồ họa lưu dưới dạng BMP thường có đuôi là BMP hoặc DIB (Device Independent Bitmap)
Các thuộc tính tiêu biểu của một tập tin ảnh BMP (và file ảnh nói chung) là:
Số bit trên mỗi điểm ảnh (bit per pixel), thường được ký hiệu bởi n Một ảnh BMP n-bit có 2n màu Giá trị n 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 n là 1 (ảnh đen trắng), 4 (ảnh 16 màu), 8 (ảnh
Trang 17256 màu), 16 (ảnh 65536 màu) và 24 (ảnh 16 triệu màu) Ảnh BMP 24-bit có chất lượng hình ảnh trung thực nhất
Chiều cao của ảnh (height), chiều rộng của ảnh (width), điểm ảnh (pixel)
Đặc điểm nổi bật nhất của định dạng BMP là tập tin hình ảnh thường không được nén bằng bất kỳ thuật toán nào Khi lưu ảnh, các điểm ảnh được ghi trực tiếp vào tập tin – một điểm ảnh sẽ được mô tả bởi một hay nhiều byte tùy thuộc vào giá trị n của ảnh Do đó, một hình ảnh lưu dưới dạng BMP thường có kích cỡ rất lớn
Ảnh bitmap được chia thành ba dạng: ảnh nhị phân (ảnh đen trắng), ảnh đa mức xám, ảnh màu
Trang 18Hình 1.5 Ví dụ về ảnh đa cấp xám
1.2.3 Ảnh màu
Là ảnh mà mỗi điểm ảnh được biểu diễn bởi ba đại lượng R, G, B Số lượng màu có thể của loại ảnh này lên tới 2653 màu khác nhau Nhưng số lượng màu trên thực tế của một ảnh nào đó thường khá nhỏ
Với ảnh có số màu lớn thì các điểm ảnh không tổ chức dưới dạng bảng màu, khi đó giá trị của các điểm ảnh chính là giá trị của các thành phần màu R, G, B Tùy theo chất lượng ảnh mà quyết định số bit để biểu diễn cho mỗi màu thường là
24 bit, hoặc 32 bit Với ảnh 24 bit mỗi thành phần màu được biểu diễn bởi một byte (8 bit)
Hình 1.6 Ví dụ về ảnh màu
1.2.4 Ý nghĩa của các phần trong tệp ảnh Bitmap
Bitmap Header: Mô tả thông tin chung về tệp đi ̣nh dạng bitmap , độ lớn của phần này cố định với mọi tệp bitmap
Trang 19Bitmap Infor: Mô tả thông tin về ảnh được lưu trữ, độ lớn của phần này cố định Pallete Table: Bảng màu của ảnh bitmap, độ lớn của phần này có thể bằng 0 (không có bảng màu) đối với ảnh đen trắng và ảnh màu có số lượng màu lớn hơn
256 màu
Data: Thông tin về từng điểm ảnh, độ lớn của phần này phụ thuộc vào kích thước ảnh
1.3 Phương pháp đánh giá PSNR(peak signal-to-noise ratio)
PSNR là phương pháp đánh giá độ nhiễu của ảnh trước và sau khi giấu tin, đơn vị đo là logarithm decibel [2] Thông thường PSNR càng cao thì độ nhiễu của ảnh trước và sau khi giấu tin càng thấp Giá trị PSNR được coi là tốt ở vào khoảng 35dB và nhỏ hơn 20dB là không chấp nhận được Hiện nay PSNR được dùng rộng rãi trong kỹ thuật đánh giá chất lượng hình ảnh và video
Cách đơn giản nhất là định nghĩa thông qua trung bình lỗi bình phương (MSE – mean squared error) được dùng cho ảnh 2 chiều có kích
thước m×n trong đó I và K là ảnh gốc và ảnh được khôi phục tương ứng:
MSE = 1
𝑚𝑛 𝑛−1 𝐼 𝑖, 𝑗 − 𝐾 𝑖, 𝑗 2
𝑗 =0
𝑚−1 𝑖=0
PSNR được định nghĩa bởi:
PSNR = 10∗log10
𝑀𝐴𝑋12𝑀𝑆𝐸 = 20∗log10
Ở đây, MAX(I) là giá trị tối đa của điểm ảnh trên ảnh I Khi các điểm ảnh được biểu diễn bởi 8 bit, thì giá trị của nó là 255 Trường hợp tổng quát, điểm ảnh được biểu diễn bởi B bit, MAX(I) là 2B−1 Với ảnh màu biểu diễn 3 giá trị RGB trên 1 điểm ảnh, các tính toán cho PSNR tương tự ngoại trừ việc tính MSE
là tổng của 3 giá trị (tính trên 3 kênh màu RGB) chia cho kích thước của ảnh và chia cho 3
Trang 20CHƯƠNG 2 CÁC KỸ THUẬT GIẤU TIN TRÊN MIỀN KHÔNG GIAN CỦA ẢNH 2.1 KỸ THUẬT GIẤU TIN TRÊN K BIT LSB CỦA ẢNH
2.1.1 Ý tưởng
Ý tưởng cơ bản của kỹ thuật này là tiến hành giấu tin vào vị trí các bit ít quan trọng LSB đối với mỗi phần tử trong bảng màu
Đây là phương pháp giấu tin đơn giản nhất, thông điệp dưới dạng nhị phân
sẽ được giấu (nhúng) vào các bit LSB – là bit có ảnh hưởng ít nhất tới việc quyết định tới màu sắc của mỗi điểm ảnh Vì vậy khi ta thay đổi bit ít quan trọng của một điểm ảnh thì màu sắc của mỗi điểm ảnh mới sẽ tương đối gần với điểm ảnh cũ [3]
Ví dụ đối với ảnh 16 bit thì 15 bit là biểu diễn 3 màu RGB của điểm ảnh còn bit cuối cùng không dùng đến thì ta sẽ tách bit này ra ở mỗi điểm ảnh để giấu tin…
Ví dụ: Tách bit cuối cùng trong 8 bit biểu diễn mỗi điểm ảnh của ảnh 256 màu
Trong phép tách này ta coi bit cuối cùng là bit ít quan trọng nhất, hay đổi giá trị của bit này thì sẽ thay đổi giá trị của điểm ảnh lên hoặc xuống đúng một đơn vị, với sự thay đổi nhỏ đó ta hi vọng là cấp độ màu của điểm ảnh sẽ không bị thay đổi nhỉều
Giả sử ta muốn giấu chữ “g” (mã ASCII là 103 hay 01100111) vào trong 8 byte của file gốc (môi trường) ta làm như sau:
Hình 2.1 Mỗi điểm ảnh biểu diễn bởi 8 bit, bit cuối cùng được coi là
bit ít quan trọng nhất tức là bit bên phải nhất
Trang 21Bảng 2.1 Ví dụ về giấu chữ “g” vào 8 byte dữ liệu ban đầu
STT 8 byte ban đầu Byte cần giấu (B) 8 byte sau khi giấu
Trang 22Thứ hai, tập hợp con n‟ điểm ảnh {x1, x2, … , xn } được chọn từ ảnh gốc C trong 1 chuỗi hành động liên tiếp nhau Tiến trình nhúng hoàn tất bằng việc thay thế k-LSBs của xibởi mi‟ Theo toán học, một giá trị xi của điểm ảnh được lựa chọn để lưu trữ k-bit thông điệp mi‟ được thay đổi khớp với điểm ảnh đã giấu tin x'i như sau: X'i=xi-xi mod 2k+m'i [3]
Trong tiến trình tách, với ảnh đã giấu tin S, thông điệp nhúng có thể được tách ra mà không đề cập đến ảnh gốc Sử dụng cùng một trình tự như trong quá trình nhúng, tập hợp các điểm ảnh {x'1, x'2, , x'n, } lưu trữ các bit thông điệp bí mật được lựa chọn từ ảnh đã giấu tin K-LSBs của các điểm ảnh được tách ra và nối lại để tái tạo lại thông điệp bí mật Trong toán học, việc nhúng thông điệp bit
mi có thể được khôi phục bằng: m‟i=x‟imod 2k
2.1.2.2 Tiền xử lý
Để có thể thực hiện tốt chương trình, trước hết cần bổ sung một số hàm thành phần với mục đích cài đặt chương trình thuận lợi:
- Hàm chuyển đổi từ chuỗi kí tự sang số nhị phân
- Hàm chuyển đổi từ chuỗi số nhị phân sang chuỗi kí tự
Tóm tắt thuật toán thay thế LSB đơn giản:
2.1.2.3 Thuật toán giấu tin
Bước 2: Biểu diễn thông điệp dưới dạng số nhị phân
Trang 23Bước 3: Cứ 8 bit ảnh tách bỏ số bit LSB ngoài cùng bên phải và ghép phần còn lại với 2 bit nhị phân đầu của thông điệp, kết quả thu được đưa về dạng thập phân rồi gán ngược lại vào I(i)
Bước 4: Thực hiện lại bước 3 cho đến khi lấy hết các bit của chuỗi nhị phân thông điệp ghép với các bit ảnh Chuyển đổi ảnh I từ mảng một chiều về mảng 2 chiều m x n phần tử Được ảnh mới đã giấu tin
Với trường hợp giấu trên 4 bit thông điệp làm tương tự, nhưng tách lấy 4 bit nhị phân đầu của ảnh ghép với 4 bit nhị phân thông điệp
2.1.3 Phương pháp giấu tin trên k-LSBs cải tiến
2.1.3.1 Mô tả phương pháp thay thế k bit LSB sử dụng khóa hoán vị
Đây là phương pháp tối ưu khi k là rất lớn
Những hình ảnh C, và thông điệp bí mật M sẽ được sắp xếp lại hình thành các khối bit (blk) C" và M" tương ứng
Trang 24- Hàm mã hóa thông điệp
- Hàm giải mã thông điệp
- Với phương pháp giấu và tách tin nâng cao có quy đổi ta sử dụng bảng sau để quy đổi:
Trang 25Tóm tắt thuật toán thay thế k bit LSB nâng cao:
Trường hợp không quy đổi thông điệp:
2.1.3.3 Thuật toán giấu
Bước 2: Biểu diễn thông tingiấu dưới dạng chuỗi nhị phân
Bước 3: Sử dụng một khóa 8 bit bất kỳ (khóa là kí tự, chuyển khóa về dạng
Trang 26mảng như với thông điệp) đem mã hóa với chuỗi thông điệp bí mật bằng phép XOR: cứ 8 bit khóa đem XOR với 8 bit đầu vào của thông điệp Thực hiện lại bước này cho đến khi nội dung thông điệp được mã hóa hết
Bước 4: Thông điệp đã mã hóa đem giấu vào ảnh tương tự như phương pháp thay thế k bit LSB cổ điển: Là tách lấy 6 bit đầu của bit ảnh đem ghép với 2 bit đầu trong thông điệp rồi chuyển về dạng thập phân và gán ngược lại vào ảnh
Bước 5: Thực hiện bước 4 cho đến khi lấy hết các bit của chuỗi nhị phân thông điệp để ghép với các bit ảnh Chuyển đổi ảnh I từ mảng một chiều về mảng 2 chiều m x n phần tử Được ảnh mới đã giấu tin
Bước 4: Sử dụng hàm giải mã thực hiện giải mã thông điệp bằng khóa 8 bit,
ta thu được kết quả là nội dung gốc của thông điệp
Trường hợp chuyển đổi thông điệp về bảng mã đã được quy ước sẵn
Trang 27Tương tự như trường hợp chuyển đổi kí tự về mã nhị phân của nó, nhưng ở đây khi giấu tin ta sử dụng bảng quy đổi các kí tự và chữ số theo một chuẩn do người lập trình tự định nghĩa Đến bước tách ta lại quy đổi ngược lại về dạng kí tự
Trang 28Mã hóa thông điệp chính là dùng phép XOR(g, h) sẽ được:
Khóa ở đây là ký tự “h” Mã nhị phân là: 01101000
Giả sử ký tự gốc là x được biểu diễn nhị phân bới 8bit sau:xxxxxxxx
2.2.2 Phương pháp lấy mẫu
Lấy mẫu là quá trình lựa chọn đơn vị (ví dụ: điểm ảnh, hệ số) từ một hình ảnh Giả sử rằng một ảnh có kích cỡ N x M điểm ảnh ký hiệu là I (x, y), trong đó x
Trang 29= 0, , M-1 và y = 0, , N-1 Hai yếu tố lấy mẫu ∆u và ∆v, ta có phương pháp lấy mẫu theo hàng và cột theo phương trình (2.1):
Sk(i,j)=I I - ∆v + floor(k−1
Δu ) j ∆u + ((k-1)mod∆u )) (2.1) Trong đó i=0,…M/∆v-1, j=0,…,N/∆u-1, và k=1,…, ∆u x ∆v, nếu N/∆u hoặc M/∆v không phải là một giá trị số nguyên, chúng ta thay đổi kích thước của tất cả các ảnh mẫu
Ví dụ nếu M=N=512 và ∆u = ∆v = 3, kích thước của ảnh mẫu được đặt ở số nguyên gần nhất nhỏ hơn hoặc bằng số: [512/3] = 170 trong cả hai chiều rộng và chiều cao
Hình 2.2 Ví dụ minh họa tách mẫu con trong kỹ thuật giấu tin dựa trên sự tương
quan miền không gian ảnh
2.2.3 Thuật toán giấu tin
Đầu vào: Mô ̣t ảnhcấp xám S, mô ̣t chuỗi nhị phân M
Đầu ra: Ảnh giấu tin I
Bước 1: Tạo ra các mẫu ảnh Sk theo phương trình (2.1) từ ảnh ban đầu S sử dụng hai yếu tố lấy mẫu (∆u, ∆v)
Bước 2: Xác định một tham chiếu phụ SRef để tối đa hóa sự tương quan không gian giữa các mẫu ảnh Lựa chọn SRef từ các phương trình (2.2) Ví dụ, khi
∆u = ∆v = 3, S5 được xác định là tham chiếu Nó được định nghĩa:
SRef= Round ∆u
2 − 1 x ∆v + Round ∆v
2 (2.2)
Trang 30Bước 3 : Tạo ra ảnh khác biệt sai phân giữa mẫu SRef và ảnh mẫu khác ký hiệu SDes, ta được:
Trong đó : 0≤ k1 ≤M/∆v - 1, 0≤ k2 ≤ N/∆u − 1
Bước 4 : trước khi làm rỗng một hệ số cột hệ số H của biểu đồ tần suất sai
phân theo mức nhúng L, với H = -255,…,255 Phụ thuộc vào mức độ giấu sẽ chọn
L sao cho phù hợp vì L ảnh hưởng đến chất lượng ảnh và khả năng mang thông tin
Để đạt được điều này các hệ số sai phân âm và không âm bên ngoài miền lựa chọn giấu tin (tức là ngoài [-L,L] sẽ bị dịch sang trái vá sang phải) Khi đó chỉ những điểm ảnh trong các mẫu ảnh con bị thay đổi Các giá trị hệ số sai phân Hs được tính toán như sau:
Hs = H + L + 1 nếu H ≥ L + 1
H − L − 1 nếu H ≤ −L − 1 (2.4) Điều này có nghĩa:
D′Ref −Des(k1,k2)=SRef(k1,k2) – S′
Des(k1, k2) (2.5) Với :
S′ Des(k1, k2) = SDes k1, k2 − L + 1 nếu H ≥ L + 1
SDes k1, k2 + L + 1 nếu H ≤ −L − 1 (2.6)
Bước 5 : Nhúng tin w(n) bằng cách thay đổi Hs, với w(n) ∈ {0,1} Các hệ số sai phân D' được quét Khi một điểm ảnh với giá trị sai phân bằng -L hoặc + L thì w(n) được nhúng Quá trình này được lặp đi lặp lại cho đến khi không có điểm ảnh với giá trị sai phân bằng ±L Các bước nhúng được thực hiện cho đến khi L <0 Tương tự như vậy, chúng ta chỉ sửa các điểm ảnh trong mẫu con Nhưng thông tin
có thể tính toán như sau:
D′′Ref −Des(k1,k2)=SRef(k1,k2) – S′′
Des(k1,k2) (2.7) Trong đó :
Trang 31S′′Des(k1,k2) =
S′Des k1, k2 + L + 1 nếu D′ = −L, w n = 1S′Des k1, k2 − L + 1 nếu D′ = L, w n = 1
S′ Des k1, k2 + L nếu D′ = −L, w n = 0
S′ Des k1, k2 − L nếu D′ = L, w n = 0
(2.8)
Đối với: L>0
S′′Des(k1,k2)= S′Des k1, k2 − 1 nếu D′ = 0, w n = 1
S′ Des k1, k2 nếu D′ = 0, w n = 0 (2.9) Đối với: L=0
Bước 6 : Cuối cùng, có đƣợc Iw ảnh đã giấu tin thông qua phép nghịch đảo lấy mẫu từ mẫu con SRef và các mẫu con S"Des bị chỉnh sửa
Hình 2.3 Sơ đồ quá trình giấu tin dựa vào sự tương quan miền không gian ảnh
2.2.4 Thuật toán tách tin
Đầu vào: Ảnh Giấu tin I
Đầu ra: Ảnh khôi khục và chuỗi nhị phân M
Trang 32Bước 1 : Từ hai yếu tố lấy mẫu ((∆u, ∆v) và mức nhúng L từ LSB của các
điểm ảnh được lựa chọn bằng cách sử dụng khóa bí mật
Bước 2 : Tạo ra phụ mẫu con theo phương trình (2.1) Từ ảnh Is được sử dụng các yếu tố lấy mẫu ở bước 1
Bước 3 : Xác định tham chiếu phụ Sref từ phương trình (2.2)
Bước 4 : Tính sai phân của ảnh giữa Srefvà Sw Theo (2.10)
Trong đó : 0≤ k1 ≤M/∆v - 1, 0≤ k2 ≤N/∆u - 1, and w = 1,…, ∆u x ∆v, w≠Ref
Bước 5 : Tách các thông điệp giấu w (n) từ sai phân ảnh Quá trình tách tin
là nghịch đảo của quá trình giấu tin Sử dụng một biến L' được dặt giá trị là 0, sai phân ảnh D được quét Khi một điểm ảnh với giá trị sai phân bằng 1 thì bit 1 được lấy ra Nếu các điểm ảnh với giá trị sai phân bằng 0 thì bit 0 được lấy ra Quá trình này được lặp đi lặp lại cho đến khi không có điểm ảnh với giá trị sai phân bằng 0
và 1 Sau đó, L' tăng lên 1, các giá trị sai phân được quét một lần nữa, và thông điệp được tách ra bằng cách sử dụng quy tắc sau đây:
W(n) = 1 nếu D = 2L0 nếu D = 2L′ + 1 hoặc − 2L′hoặc − 2L′′ − 1 (2.11)
Quá trình quét và giải nén này được thực hiện cho đến khi L '> L
Bước 6: Hủy bỏ các tin đã giấu w (n) từ những sai phân
Trong đó :
S′w(k1,k2)= SSw k1, k2 + 1 nếu D k1, k2 = 1
w k1, k2 ngược lại (2.13) Với L‟ = 0,
Trang 33Bước 7: Chuyển các biểu đồ Hs của ảnh sai khác để đƣợc sai phân biểu đồ H
ban đầu nhƣ sau:
Trang 34Giấu tin dựa trên sự tương quan của miền không gian ảnh
Bước 1 : Lấy mẫu ∆u = ∆v = 2 ta được 4 mẫu sau
Bước 2:Xác định tham chiếu phụ SReftừ phương trình (2.2): SRef = 1
Bước 3: Tạo ra ảnh khác biệt sai phân mẫu S1 với các S2,S3,S4 ta được bảng sai phân sau: