Dữ liệu ảnh được quan sát bằng hệ thống thị giác của con người nên các kỹ thuật giấu tin phải đảm bảo một yêu cầu cơ bản là những thay đổi trên ảnh phải rất nhỏ sao cho mắt thường khó nh
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
MAI THÀNH HUYÊN
NGHIÊN CỨU MỘT SỐ KHẢ NĂNG PHÁT HIỆN TIN GIẤU TRONG MÔI TRƯỜNG ẢNH
Chuyên ngành : Hệ thống thông tin
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS TRỊNH NHẬT TIẾN
HÀ NỘI - 2009
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các dữ liệu, kết quả nêu trong luận văn là trung thực và chưa từng được công bố trong bất kỳ công trình nào khác
Hà nội, tháng 11 năm 2009
Tác giả luận văn
Mai Thành Huyên
Trang 3
LỜI CẢM ƠN
Tôi xin chân thành cảm ơn các Thầy, Cô giáo trong khoa Công nghệ thông tin và các cán bộ, nhân viên các phòng Đào tạo Sau đại học, trường Đại học Công nghệ, Đại học Quốc gia Hà Nội đã luôn nhiệt tình giúp đỡ và tạo điều kiện tốt nhất cho tôi trong suốt quá trình học tập tại trường
Xin chân thành cảm ơn các anh, các chị và các bạn học viên lớp Cao học K12T3
- trường Đại học Công nghệ thuộc Đại học Quốc gia Hà Nội đã luôn động viên, giúp
đỡ và nhiệt tình chia sẻ với tôi những kinh nghiệm học tập, công tác trong suốt khoá học
Đặc biệt tôi xin bày tỏ lòng biết ơn sâu sắc đến PGS.TS Trịnh Nhật Tiến đã tận
tình giúp đỡ tôi hình thành, nghiên cứu và hoàn chỉnh luận văn
Mặc dù đã có nhiều cố gắng, song do sự hạn hẹp về thời gian, điều kiện nghiên cứu và trình độ, luận văn không tránh khỏi những khiếm khuyết Tôi chân thành mong nhận được sự đóng góp ý kiến của các thầy, cô giáo và đồng nghiệp gần xa
Hà Nội, tháng 11 năm 2009
Người thực hiện luận văn
Mai Thành Huyên
Trang 4MỤC LỤC
LỜI CAM ĐOAN ii
LỜI CẢM ƠN iii
MỤC LỤC iv
Chương 1 TỔNG QUAN VỀ GIẤU TIN TRONG ẢNH 1
1.1 MỘT SỐ KHÁI NIỆM CƠ BẢN 1
1.1.1 Khái niệm giấu tin 1
1.1.2 Phân loại các kỹ thuật giấu tin 1
1.1.3 Sơ lược về lịch sử giấu tin 2
1.1.4 Mô hình cơ bản của kỹ thuật giấu tin 3
1.1.5 Các ứng dụng của kỹ thuật giấu tin 5
1.2 GIẤU THÔNG TIN TRONG DỮ LIỆU ĐA PHƯƠNG TIỆN 6
1.2.1 Giấu tin trong ảnh 6
1.2.2 Giấu tin trong audio 6
1.2.3 Giấu tin trong video 7
1.2.4 Giấu tin trong văn bản 7
1.3 NHỮNG ĐẶC TRƯNG VÀ TÍNH CHẤT CỦA GIẤU TIN TRONG ẢNH 8
1.4 CÁC HƯỚNG TIẾP CẬN CỦA KỸ THUẬT GIẤU TIN TRONG ẢNH 10
1.4.1 Tiếp cận trên miền không gian ảnh 10
1.4.2 Tiếp cận trên miền tần số ảnh 10
1.5 MỘT SỐ PHƯƠNG PHÁP GIẤU TIN MẬT TRONG ẢNH 12
1.5.1 Giấu tin mật trong khối bit sử dụng tính chẵn lẻ của tổng số bit 1 12
1.5.2 Kỹ thuật giấu tin Wu _ Lee 17
1.5.3 Kỹ thuật giấu tin Yuan_Pan_Tseng 23
1.6 KỸ THUẬT THỦY VÂN TRÊN ẢNH 32
1.6.1 Một số khái niệm cơ bản trong thủy vân số 32
1.6.2 Một số kỹ thuật thủy vân trên ảnh 36
Trang 5Chương 2 MỘT SỐ KHẢ NĂNG PHÁT HIỆN ẢNH CÓ GIẤU TIN 55
2.1 PHƯƠNG PHÁP PHÁT HIỆN ẢNH GIẤU TIN 55
2.1.1 Bài toán phân tích tin giấu 56
2.1.2 Phân loại phương pháp phát hiện ảnh giấu tin 57
2.2 Cơ sở toán học 58
2.2.1 Các khái niệm 58
2.2.2 Các định lý 62
2.3 KỸ THUẬT PHÂN TÍCH CẶP GIÁ TRỊ ĐIỂM ẢNH 63
2.3.1 Khái niệm cặp giá trị 63
2.3.2 Thuật toán PoV3 64
2.4 KỸ THUẬT PHÂN TÍCH ĐỐI NGẪU 69
2.4.1 Các khái niệm 69
2.4.2 Thuật toán RS (Regular – Singular) 71
2.5 KỸ THUẬT PHÂN TÍCH CẶP MẪU SPA 76
2.5.1 Các khái niệm 76
2.5.2 Phát hiện giấu tin mật LSB nhờ kỹ thuật SPA 79
2.5.3 Phân tích kỹ thuật SPA 81
2.5.4 Ước lượng độ chính xác của chiều dài thông điệp dấu theo SPA 84
2.6 KỸ THUẬT PHÂN TÍCH ĐỘ LỆCH CHUẨN 91
2.7 KỸ THUẬT THỐNG KÊ – BÌNH PHƯƠNG MỘT BẬC TỰ DO 94
Chương 3 THỬ NGHIỆM 97
3.1 MÔI TRƯỜNG CÀI ĐẶT 97
3.2 MÔ HÌNH HỆ THỐNG 97
3.3 TẬP DỮ LIỆU ẢNH 99
3.4 KẾT QUẢ THỬ NGHIỆM KỸ THUẬT PoV3 101
KẾT LUẬN 107
TÀI LIỆU THAM KHẢO 108
Trang 6Chương 1 TỔNG QUAN VỀ GIẤU TIN TRONG ẢNH
Giấu tin là một lĩnh vực nghiên cứu rộng Trong đó môi trường giấu tin phổ biến
và được ứng dụng rộng rãi nhất là dữ liệu ảnh Trong chương này luận văn bình bày tổng quan vấn đề giấu tin, các mô hình giấu tin, các ứng dụng của giấu tin, đồng thời
đi sâu vào các kỹ thuật nhằm bảo mật thông tin được giấu Hầu hết các kỹ thuật giấu tin mật đều tập trung giấu thông tin vào các bit ít quan trong nhất của mỗi điểm ảnh Phần cuối chương trình bày các kỹ thuật đã được công bố gần đây như giấu tin theo khối bit sử dụng tính chẵn lẻ của tổng số bit 1 trong khối, kỹ thuật Wu_Lee, kỹ thuật Yang_Pan_Tseng
1.1 MỘT SỐ KHÁI NIỆM CƠ BẢN
1.1.1 Khái niệm giấu tin
“Giấu thông tin” gọi tắt là “Giấu tin”, tiếng Hi Lạp là “Steagnography”, tiếng Anh là “Cover Writing” “Giấu thông tin” là một kỹ thuật nhúng (giấu) một lượng thông tin số nào đó vào trong một đối tượng dữ liệu số khác [2]
Kỹ thuật giấu tin nhằm hai mục đích: một là bảo mật cho dữ liệu được đem giấu, hai là bảo vệ cho chính đối tượng mang tin giấu Hai mục đích khác nhau này dẫn đến hai kỹ thuật chủ yếu của giấu tin Đó là giấu tin mật và thủy vân số Nói chung giấu tin trong đa phương tiện là tận dụng “độ dư thừa” của phương tiện giấu để thực hiện việc giấu tin, mà người ngoài cuộc “khó” cảm nhận được có thông tin giấu trong đó
1.1.2 Phân loại các kỹ thuật giấu tin
Do kỹ thuật giấu 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 Có nhiều cách phân loại khác nhau dựa trên những tiêu chí khác nhau Theo Fabien A.P Petitcolas đề xuất năm 1999, có thể chia lĩnh vực giấu tin thành hai hướng lớn, đó là giấu tin mật và thủy vân số [6]
Giấu tin mật với mục đích bảo toàn và bảo mật thông tin, tập trung vào các kỹ thuật giấu thông tin, sao cho người khác khó phát hiện việc có tin được giấu; hơn nữa nếu phát hiện có tin giấu thì giải tin cũng khó thực hiện Bên cạnh đó cũng đặt ra vấn
đề về lượng tin được giấu
Thủy vân số lại được chia thành hai hướng nhỏ là thủy vân dễ vỡ và thủy vân bền vững Trong đó thủy vân dễ vỡ yêu cầu thông tin giấu sẽ bị sai lệch nếu có bất kỳ sự thay đổi vào trên môi trường chứa tin Thủy vân bền vững quan tâm nhiều đến việc
Trang 7Hình 1.1 Phân loại các kỹ thuật giấu tin
1.1.3 Sơ lược về lịch sử giấu tin
Từ “Steganography” bắt nguồn từ tiếng Hi Lạp Từ “stegano” trong tiếng Hi Lạp
có nghĩa là “covered”, còn “graphien” có nghĩa là “to write” Như vậy,
“steganography” có nghĩa là tài liệu được phủ “covered writing” Các câu chuyện kể
về kỹ thuật giấu thông tin được truyền qua nhiều thế hệ Có lẽ những ghi chép sớm nhất về kỹ thuật giấu thông điệp thuộc về sử gia Hi Lạp Herodotus Khi bạo chúa Hi Lạp Histiaeus bị vua Darius bắt giữ ở Susa vào thế kỷ thứ V trước Công nguyên, ông
ta đã gửi một thông báo bí mật cho con rể của mình là Aristagoras ở Miletus Histiaeus
đã cạo trọc đầu một nô lệ tin cậy và xăm một thông điệp trên da đầu của anh ta Khi tóc của người nô lệ mọc ra đủ dài thì người nô lệ được gửi tới Miletus
Một câu chuyện khác về thời Hi Lạp cổ đại cũng do Herodotus ghi lại Môi trường để ghi văn bản chính là các viên thuốc được bọc trong sáp ong Demeratus, một người Hi Lạp định báo cho Sparta rằng Xerxes định xâm chiếm Hi Lạp Để tránh bị phát hiện, anh ta đã bóc lớp sáp ong ra khỏi các viên thuốc và khắc thông báo lên bề mặt các viên thuốc này, sau đó bọc lại các viên thuốc bằng một lớp sáp ong mới Những viên thuốc mang tin mật đã ngụy trang được để cùng với các viên thuốc thông thường khác và lọt qua mọi sự kiểm soát một cách dễ dàng
Giấu thông tin
Thủy vân dễ vỡ
Fragile watermarking
Thủy vân ẩn
Imperceptible watermarking
Thủy vân hiện
Visble watermarking
Trang 8Mực không màu là phương tiện hữu ích cho bảo mật thông tin trong một thời gian dài Người Romans cổ đã biết sử dụng những chất sẵn có như nước quả, nước tiểu
và sữa viết các thông báo bí mật giữa các hàng văn tự thông thường Khi được hơ nóng, những thứ mực này trở nên sẫm mầu và có thể đọc được Mực không màu cũng vẫn còn được sử dụng gần đây, chẳng hạn trong chiến tranh thế giới thứ II [5]
Ý tưởng về che giấu thông tin đã có hàng ngàn năm trước nhưng kỹ thuật này được dùng chủ yếu trong quân đội và trong các cơ quan tình báo Mãi cho tới vài thập niên gần đây, giấu tin mới nhận được sự quan tâm của các nhà nghiên cứu và các viện công nghệ thông tin với nhiều công trình nghiên cứu Sự phát triển của thông tin số và mạng truyền thông (đặc biệt là mạng Internet) cùng với các kỹ thuật sao chép hoàn hảo, kỹ thuật chỉnh sửa, thay thế tinh vi đã và đang làm nảy sinh nhiều vấn đề nhức nhối về nạn ăn cắp bản quyền, xuyên tạc trái phép, lan truyền thông tin bất hợp pháp
1.1.4 Mô hình cơ bản của kỹ thuật giấu tin
Mô hình của kỹ thuật giấu tin được mô tả trong hình 1.2 và 1.3
Hình 1.2 Lược đồ chung cho quá trình giấu tin
Bộ nhúng thông tin
Phân phối
Trang 9Hình 1.2 biểu diễn quá trình giấu tin cơ bản Trong đó, phương tiện chứa tin có
thể bao gồm: văn bản, ảnh, audio, video… Thông tin cần giấu tùy theo mục đích của
người sử dụng, nó có thể là các thông điệp, các logo, hình ảnh bản quyền… Thông tin
được giấu vào trong phương tiện chứa tin nhờ môt bộ nhúng Bộ nhúng là chương
trình theo thuật toán giấu tin và được thực hiện với một khóa bí mật giống như trong
hệ mật mã Đầu ra của quá trình giấu tin là phương tiện chứa đã được giấu tin Các
phương tiện này có thể được phân phối trên mạng [7]
Hình 1.3 mô tả quá trình tách tin đã giấu từ môi trường giấu tin Với đầu vào là
phương tiện đã chứa tin giấu, một bộ tách tin (tương ứng với bộ nhúng) cùng với khóa
sẽ thực hiện việc tách tin Đầu ra của quá trình là phương tiện chứa tin và thông tin đã
giấu Trong trường hợp cần thiết, thông tin giấu lấy ra có thể được xử lý, kiểm định và
so sánh với thông tin đã giấu ban đầu
Hình 1.3 Lược đồ cho quá trình tách tin
Bộ tách
tin Khóa
Thông tin giấu
Phương tiện
(audio, ảnh, video,…)
Phương tiện chứa đã được giấu tin
Kiểm định
Phân
phối
Formatted: Left Deleted: giải mã Deleted: t
Trang 101.1.5 Các ứng dụng của kỹ thuật giấu tin
1.1.5.1 Ứng dụng của thủy vân số
* Bảo vệ bản quyền tác giả
Đây là ứng dụng cơ bản nhất của kỹ thuật thủy vân số Một thông tin nào đó mang ý nghĩa quyền sở hữu gọi là thủy vân sẽ được nhúng vào trong sản phẩm Thủy vân đó chỉ một mình người chủ sở hữu hợp pháp sản phẩm đó có, và được dùng làm minh chứng cho bản quyền sản phẩm Yêu cầu kỹ thuật đối với ứng dụng này là thủy vân phải tồn tại bền vững cùng sản phẩm, muốn bỏ thủy vân này mà không được phép của người chủ sở hữu, thì chỉ có cách phá hủy sản phẩm [8]
* Xác thực thông tin hay phát hiện xuyên tạc thông tin
Một thông tin sẽ được giấu trong phương tiện chứa, sau đó sử dụng để nhận biết xem phương tiện gốc đó có bị thay đổi hay không Thủy vân nên được ẩn để tránh sự
tò mò của kẻ thù, hơn nữa việc làm giả thủy vân hợp lệ hay xuyên tạc thông tin nguồn cũng được xem xét Trong các ứng dụng thực tế, người ta mong muốn tìm được vị trí
bị xuyên tạc cũng như phân biệt được các thay đổi Yêu cầu chung đối với các ứng dụng là khả năng giấu thông tin cao và thủy vân không cần bền vững
* Giấu vân tay hay dán nhãn
Thủy vân trong ứng dụng này được dùng để nhận diện người gửi hay người nhận của một thông tin nào đó Yêu cầu của ứng dụng này là đảm bảo độ an toàn cao cho thủy vân
* Kiểm soát sao chép:
Các thủy vân trong trường hợp này được dùng để kiểm soát sao chép đối với các thông tin Thiết bị phát hiện ra thủy vân thường được gắn sẵn vào trong hệ thống đọc ghi Ứng dụng loại này cũng yêu cầu thủy vân phải được đảm bảo an toàn, và cũng sử dụng phương pháp phát hiện thủy vân đã giấu mà không cần thông tin gốc
1.1.5.2 Ứng dụng của giấu tin mật
Thông tin giấu được trong trường hợp này càng nhiều càng tốt, việc tách tin để nhận được tin giấu cũng không cần phương tiện chứa ban đầu Các yêu cầu mạnh về tính bền vững không cần thiết lắm, thay vào đó là thông tin giấu phải đảm bảo tính bí mật và giảm thời gian lưu thông trên đường truyền
Trang 111.2 GIẤU THÔNG TIN TRONG DỮ LIỆU ĐA PHƯƠNG TIỆN
1.2.1 Giấu tin trong ảnh
Hiện nay, giấu tin trong ảnh chiếm tỉ lệ lớn nhất trong hệ thống giấu tin Bởi lẽ lượng thông tin được trao đổi bằng hình ảnh là rất lớn, hơn nữa chúng còn đóng vai trò quan trọng trong các ứng dụng an toàn thông tin như: xác thực thông tin, bảo vệ bản quyền tác giả, điều khiển truy cập, xác định xuyên tạc thông tin Từ việc nghiên cứu
kỹ thuật giấu tin trong ảnh số chuyển sang kỹ thuật giấu tin trong các phương tiện khác như audio, video, trong văn bản,… không có gì khó khăn về nguyên tắc Chính vì lẽ
đó, giấu tin trong ảnh đã và đang được nhiều tổ chức, các trường đại học, các viện nghiên cứu, các cá nhân quan tâm và đầu tư nghiên cứu [12]
Thông tin được giấu vào dữ liệu ảnh, nhưng chất lượng ảnh rất ít thay đổi và người ta khó có thể nhận thấy bằng mắt thường Sau vụ khủng bố ngày 11 tháng 9 năm
2001 gây chấn động không chỉ nước Mĩ mà cả thế giới, có một số nhận định cho rằng chính trùm khủng bố quốc tế Osama Binladen đã dùng cách thức giấu thông tin trong ảnh để liên lạc với đồng bọn và chúng đã qua mặt được cục tình báo trung ương Mĩ và các cơ quan an ninh quốc tế Sự việc này cho thấy việc nghiên cứu các vấn đề liên quan đến giấu tin trong ảnh càng trở nên quan trọng
1.2.2 Giấu tin trong audio
Giấu tin trong audio mang những đặc điểm riêng khác với giấu 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 tin trong audio phụ thuộc vào thính giác con người (HAS - Human Auditory System) HAS nghe được các tín hiệu ở dải tần rộng và công suất cao nhưng ngược lại cũng kém trong việc phát hiện sự khác biệt của 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
Một vấn đề khó khăn nữa của giấu tin trong môi trường 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 Các phương pháp giấu tin trong audio thường lợi dụng điểm yếu trong hệ thống thính giác con người
Trang 121.2.3 Giấu tin trong video
Giấu tin trong video cũng được quan tâm phát triển và có nhiều ứng dụng như kiểm soát sao chép thông tin, xác thực thông tin và bảo vệ bản quyền tác giả Một phương pháp giấu tin đượ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ố dữ liệu 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 [6] Ví dụ phương pháp của Swanson giấu được hai bit vào khối 8*8 [9] Gần đây nhất là phương pháp của Mukherjee: giấu audio vào video sử dụng cấu trúc lưới đa chiều… Kỹ thuật giấu thông tin trong video áp dụng cả đặc điểm thị giác và thính giác của con người
Kỹ thuật giấu tin đang được áp dụng với nhiều môi trường không chỉ riêng với
dữ liệu đa phương tiện Gần đây đã có nghiên cứu giấu tin trong văn bản, cơ sở dữ liệu quan hệ và cơ sở dữ liệu XML, cho phép mở ra nhiều hướng nghiên cứu mới
1.2.4 Giấu tin trong văn bản
Trong việc trao đổi thông tin qua hệ thống máy tính, văn bản chiếm một tỷ lệ rất lớn so với các loại phương tiện chứa tin khác Tuy vậy, giấu tin trong văn bản lại chưa được quan tâm nghiên cứu nhiều Các nghiên cứu về giấu tin trong văn bản được chia thành hai hướng, thứ nhất là văn bản chứa là những văn bản được chụp lại và lưu trên máy như một ảnh nhị phân Theo hướng này, kỹ thuật giấu tin được thực hiện như giấu tin trong ảnh nhị phân Hướng thứ hai, phương tiện chứa sử dụng cho quá trình giấu tin được lưu dưới dạng văn bản Theo hướng này, các kỹ thuật giấu tin cũng tiến hành như giấu tin trong ảnh bằng cách thay đổi một số ký tự tại một số vị trí trên văn bản
mà không làm ảnh hưởng nhiều đến nội dung văn bản gốc
Trang 131.3 NHỮNG ĐẶC TRƯNG VÀ TÍNH CHẤT CỦA GIẤU TIN TRONG ẢNH
Giấu tin trong ảnh chiếm vị trí chủ yếu trong các kỹ thuật giấu tin Đối tượng ảnh
là một đối tượng dữ liệu tĩnh Dữ liệu ảnh có nhiều định dạng, mỗi định dạng có những tính chất khác nhau, nên kỹ thuật giấu tin trong ảnh thường chú ý đến những đặc trưng
và các tính chất cơ bản sau đây [2, 4]:
Phương tiện chứa có dữ liệu tri giác tĩnh
Dữ liệu gốc ở đây là dữ liệu ảnh tĩnh, dù đã giấu tin vào trong ảnh hay chưa thì khi ta xem ảnh bằng thị giác, dữ liệu ảnh không thay đổi theo thời gian Điều này cũng tạo ra sự khác biệt lớn giữa kỹ thuật giấu tin trong ảnh với kỹ thuật giấu tin trong audio hay video
Kỹ thuật giấu phụ thuộc loại ảnh
Kỹ thuật giấu tin phụ thuộc vào các loại ảnh khác nhau Đối với ảnh đen trắng, ảnh xám hay ảnh màu, với mỗi loại ta lại có các kỹ thuật riêng phụ thuộc đặc trưng của ảnh
Kỹ thuật giấu tin lợi dụng tính chất hệ thống thị giác của con người
Giấu tin trong ảnh ít nhiều cũng gây ra những thay đổi trên dữ liệu ảnh gốc Dữ liệu ảnh được quan sát bằng hệ thống thị giác của con người nên các kỹ thuật giấu tin phải đảm bảo một yêu cầu cơ bản là những thay đổi trên ảnh phải rất nhỏ sao cho mắt thường khó nhận ra được sự thay đổi đó, để đảm bảo độ an toàn cho thông tin giấu Rất nhiều kỹ thuật đã lợi dụng các tính chất của hệ thống thị giác để giấu tin chẳng hạn như mắt người cảm nhận sự biến đổi về độ chói kém hơn sự biến đổi về màu hay cảm nhận của mắt về màu da trời là kém nhất trong ba mầu cơ bản RGB
Giấu thông tin trong ảnh tác động lên dữ liệu ảnh nhưng không thay đổi kích thước ảnh
Các thuật toán giấu tin sẽ được thực hiện trên dữ liệu của ảnh Dữ liệu ảnh bao gồm cả phần đầu, bảng màu (có thể có hoặc không) và dữ liệu ảnh Khi giấu thông tin, các phương pháp giấu đều biến đổi các giá trị của các bit trong dữ liệu ảnh, chứ không thêm vào hay bớt đi dữ liệu ảnh Do vậy kích thước ảnh không thay đổi
Trang 14Đảm bảo chất lượng ảnh sau khi giấu
Đây là yêu cầu quan trọng đối với giấu tin trong ảnh Sau khi giấu tin bên trong, ảnh phải đảm bảo không bị biến đổi Yêu cầu này dường như khá đơn giản đối với ảnh màu và ảnh đa cấp xám nhưng đối với ảnh đen trắng thì phức tạp hơn nhiều Bởi vì ảnh đen trắng mỗi điểm ảnh chỉ là đen hoặc trắng, nếu ta biến đổi một bit đen thành trắng hoặc ngược lại thì có thể rất dễ bị phát hiện Do đó yêu cầu đối với giấu tin trong ảnh màu hay ảnh đa cấp xám và trong ảnh đen trắng là khác nhau Với ảnh màu thì thuật toán chú trọng vào việc làm sao giấu được càng nhiều thông tin càng tốt, với ảnh đen trắng thuật toán tập trung để làm thế nào thông tin giấu khó bị phát hiện nhất
Thông tin trong ảnh sẽ bị biến đổi nếu có bất cứ biến đổi nào trên ảnh
Vì phương pháp giấu tin trong ảnh dựa trên việc điều chỉnh các giá trị của các bit theo một quy tắc nào đó, và khi tách tin sẽ theo các giá trị đó để tìm được thông tin giấu Theo đó, nếu một phép biến đổi nào đó trên ảnh làm thay đổi giá trị của các bit thì sẽ làm cho thông tin giấu bị sai lệch Nhờ đặc điểm này, giấu tin trong ảnh có thể xác thực và phát hiện xuyên tạc thông tin [2]
Vai trò của ảnh gốc khi giải tin
Kỹ thuật giấu tin phải xác định rõ ràng quá trình lọc ảnh để lấy tin giấu có cần đến ảnh gốc hay không? Đa số các kỹ thuật giấu tin mật thường không cần ảnh gốc khi tách tin Thông tin được giấu trong ảnh sẽ được mang cùng với dữ liệu ảnh, khi tách tin chỉ cần ảnh đã mang thông tin giấu mà không cần dùng đến ảnh gốc để so sánh, đối chiếu
Trang 151.4 CÁC HƯỚNG TIẾP CẬN CỦA KỸ THUẬT GIẤU TIN TRONG ẢNH
1.4.1 Tiếp cận trên miền không gian ảnh
Đây là hướng tiếp cận cơ bản và tự nhiên trong số các kỹ thuật giấu tin Miền không gian ảnh là miền dữ liệu ảnh gốc, tác động lên miền không gian ảnh chính là tác động lên các điểm ảnh, thay đổi giá trị trực tiếp của các điểm ảnh Đây là hướng tiếp cận tự nhiên bởi vì khi nói đến việc giấu tin trong ảnh người ta thường nghĩ ngay đến việc thay đổi giá trị các điểm ảnh nguồn Một phương pháp phổ biến của hướng tiếp cận này là phương pháp tác động đến bit ít quan trọng nhất của mỗi điếm ảnh [1]
Ý tưởng cơ bản của phương pháp tác động đến bit ít quan trọng nhất (LSB - Least Significant Bit) của các điểm ảnh là chọn ra từ mỗi điểm ảnh các bit ít có ý nghĩa nhất về mặt tri giác để sử dụng cho việc giấu tin Việc bit nào được coi là ít tri giác nhất và bao nhiêu bit có thể được lấy ra để thay thế đều phụ thuộc vào tính chất hệ thống thị giác của con người và nhu cầu về chất lượng ảnh trong các ứng dụng Ví dụ với ảnh mầu, mỗi điểm ảnh được biểu diễn bằng 24 bit tương ứng với ba màu cơ bản RGB, mỗi màu 1 byte Người ta sử dụng tính chất là mắt người cảm nhận về màu B kém hơn so với màu R và G Vì thế người ta thường chọn bit cuối cùng trong 8 bit biểu diễn màu B của mỗi điểm ảnh để giấu tin Thay đổi bit cuối cùng trong 8 bit biểu diễn màu B chỉ làm cho giá trị biểu diễn màu B tăng hoặc giảm đi 1 đơn vị Như vậy, bit LSB trong ví dụ này là bit thứ 24 của mỗi điểm ảnh
Một số thuật toán muốn giấu nhiều thông tin hơn và chấp nhận chất lượng ảnh thấp hơn một chút có thể sử dụng bít cuối cùng của mỗi byte màu RGB làm bit LSB Vậy có 3 bit LSB
Tuy nhiên, phương pháp này cũng có nhiều hạn chế, chẳng hạn như không đảm bảo được tính bền vững của thông tin giấu đối với các thao tác biến đổi như quay ảnh hoặc nén ảnh JPEG
1.4.2 Tiếp cận trên miền tần số ảnh
Trong một số trường hợp cách khảo sát trực tiếp ở trên cũng gặp phải khó khăn nhất định hoặc rất phức tạp và hiệu quả không cao, do đó ta có thể dùng phương pháp khảo sát gián tiếp thông qua các kỹ thuật biến đổi Các biến đổi này làm nhiệm vụ chuyển miền biến số độc lập sang miền khác và như vậy tín hiệu và hệ thống rời rạc sẽ được biểu diễn trong miền mới với các biến số mới
Trang 16Mỗi cách biến đổi sẽ có những thuận lợi riêng, tùy từng trường hợp mà sử dụng biến đổi nào Sau khi khảo sát, biến đổi xong các tín hiệu và hệ thống rời rạc trong miền các biến số mới này, nếu cần thiết có thể dùng các biến đổi ngược để đưa chúng
về miền biến số độc lập
Phương pháp khảo sát gián tiếp sẽ làm đơn giản rất nhiều các công việc gặp phải khi dùng phương pháp khảo sát trực tiếp trong miền biến số độc lập tự nhiên Hệ thống rời rạc cần khảo sát chính là không gian các điểm ảnh Có nhiều phép biến đổi trong
đó phổ biến là biến đổi Fourier DFT, biến đổi Cosin rời rạc DCT, biến đổi sóng nhỏ DWT… Đây là những phép biến đổi được sử dụng nhiều trong các kỹ thuật xử lý ảnh Trong giấu tin, nó cũng được sử dụng, đặc biệt trong các kỹ thuật thủy vân
Trang 171.5 MỘT SỐ PHƯƠNG PHÁP GIẤU TIN MẬT TRONG ẢNH
1.5.1 Giấu tin mật trong khối bit sử dụng tính chẵn lẻ của tổng số bit 1 1.5.1.1 Ý tưởng
Đây là kỹ thuật đơn giản nhất trong các kỹ thuật giấu tin Ý tưởng cơ bản của kỹ thuật này là chia một ảnh thành các khối nhỏ và trong mỗi khối nhỏ sẽ giấu một bit thông tin Dựa vào tính chẵn lẻ của tổng số các bit 1 trong khối để qui định giấu bit 1 hay 0 Cụ thể sau khi giấu thì tổng số các bit 1 trong khối và bit cần giấu sẽ có cùng tính “chẵn lẻ” Thuật toán này dùng cho ảnh đen trắng, ảnh mầu và ảnh đa cấp xám Tuy nhiên, trong phần trình bày ở mục ngay sau đây sẽ minh họa thuật toán cho ảnh đen trắng, phần trình bày áp dụng thuật toán cho ảnh mầu và ảnh đa cấp xám sẽ được nói đến tiếp sau
1.5.1.2 Thuật toán giấu tin
Input: - Một file ảnh bitmap đen trắng FF
- Một file thông tin cần giấu Fb
- Một khóa K (đó là kích thước khối nhỏ)
Output: - Một file ảnh F’ đã giấu tin
Thuật toán:
1) Tiền xử lý
Chuyển file thông tin cần giấu Fb sang dạng xâu nhị phân D=b 1 b 2 …b k
Đọc header của ảnh (phần chứa thông tin ảnh), đọc bảng mầu, sau đó đọc
toàn bộ dữ liệu ảnh vào một mảng hai chiều (ma trận) M để sử dụng cho
việc giấu tin
2) Quá trình giấu tin
Bước 1: Chia ma trận M thành các khối nhỏ B i kích thước K = m x n
Bước 2: Giấu bit dữ liệu b i vào khối B i
if sum(B i ) b i (mod 2) then giữ nguyên khối B i else B’ i đảo bit bất kì trong B i
End;
Trang 18Giải thích thuật toán:
- Chia M thành các khối nhỏ có kích thước K (K = m x n) Giả sử ảnh gốc ban
đầu có kích thước M x N, ảnh gốc được chia thành các khối nhỏ, tổng số các khối nhỏ
sẽ là k = (M x N)/ (m x n) khối Vì là ảnh đen trắng nên mỗi khối là một ma trận hai chiều của các giá trị 0 và 1
- Giả sử cần giấu 1 bit dữ liệu b vào một khối B Kí hiệu sum(B) là tổng số điểm ảnh đen (điểm ảnh có giá trị bằng 1) trong khối B Kí hiệu x y (mod z) hai số tự nhiên x và y đồng dư theo modulo z Như vậy x y (mod 2) cho biết x và y có cùng tính chẵn lẻ Ta xét hai trường hợp sau:
- Trường hợp thứ nhất: sum(B) b (mod 2), khối B thỏa mãn tính chất để giấu
bit dữ liệu b Ta không cần thay đổi gì và xem như bit b đã được giấu
lẻ của sum(B) Dễ thấy ta chỉ cần đảo một bit bất kỳ trong B thì sum(B) sẽ tăng hoặc giảm 1 đơn vị Gọi B’ là khối kết quả thu được từ khối B sau khi đã đảo một bit trong
B Ta có sum(B’) b (mod 2)
Thí dụ:
Xét thí dụ dưới đây minh họa cho hai trường hợp trên
Cho khối B như sau
0 1 0 0
1 0 1 1
1 1 0 1
0 0 0 1 Khối B kích thước K = 4 x 4, sum(B) = 8
(a) Giả sử ta muốn giấu bit b = 1 vào khối B
Số lượng bít 1 trong khối B là 8, sum(B) = 8 Do đó sum(B) 1 (mod 2) Như vậy khối B không thỏa mãn yêu cầu Để giấu bit 1 vào khối B ta thay đổi một bit bất
kỳ trong khối, thường là thay đổi tại vị trí của bit thông tin rõ vào bít của khối tương ứng (nếu chúng trái dấu nhau) đổi bit 0 thành bít 1 hoặc bít 1 thành bít 0, ta thu được khối B’ Giả sử ta đổi như hình sau:
Trang 19Hình 1.4 Thay đổi bit trong khối B
Khi đó ta có sum(B’) = 7, do đó ta được sum(B’) 1 (mod 2)
(b) Giả sử ta giấu bit b = 0 vào khối B
Ta có sum(B) = 8, nên sum(B) 0 (mod 2) Khối B được bảo toàn và bit dữ liệu
b = 0 coi như đã được giấu
Trong thuật toán giấu tin này, khóa đơn giản chỉ là kích thước khối K = m x n Nếu biết kích thước của khối thì ta dễ dàng giải mã theo quy tắc sau
3) Quá trình tách tin
Input - F’ là ảnh đã được giấu dãy bit bí mật D
- K là khóa bí mật, đó là kích thước khối nhỏ đã được xác định trước
Output - F là file ảnh chứa tin đã được giấu
- D là dãy bit bí mật đã giấu
Các bước thực hiện
- Đọc header ảnh để biết các thông tin về ảnh, đọc bảng mầu, đọc phần dữ liệu
ảnh vào ma trận hai chiều M
- Chia M thành các khối nhỏ với kích thước K
- Theo một thứ tự xác định trước, xét từng khối nhỏ B, giải tin theo quy tắc sau
- Nếu tổng số các bit 1 là lẻ thì ta thu được bit giấu là 1
- Nếu tổng số các bit 1 là chẵn thì ta thu được các bit giấu là 0
Như vậy, sau khi xử lý hết các khối đã giấu ta thu được chuỗi bit đã giấu b’
Chuyển file xâu bit nhị phân sang file văn bản
Trang 201.5.1.3 Phân tích thuật toán
Thuật toán giấu tin trong ảnh dựa vào tính chẵn lẻ của tổng số bit 1 ở trên là rất đơn giản Sau khi nghiên cứu thuật toán này ta có thể đưa ra một số nhận xét sau:
Việc chọn kích thước khối để giấu tin cần căn cứ vào kích thước ảnh và lượng tin cần giấu sao cho các thông tin giấu có thể giàn trải trên toàn ảnh Ví dụ nếu
ta có ảnh kích thước 512 x 512 pixel và có một lượng thông tin cần giấu là 100 kí tự Như vậy, file thông tin nhị phân cần giấu là 100 x 8 = 800 bit Ta có thể thấy để giấu hết thông tin cần ít nhất 800 khối, vậy thì kích thước khối ta có thể chia trên ảnh là (512x512)/800=327 (dư 544) Với cách tính này thì kích thước tối đa của một khối là
327 Chẳng hạn ta có thể chọn kích thước cho một khối 20x16, 30x15… Nên chọn khối có kích thước lớn vì như vậy trong trường hợp các khối bị thay đổi thì khoảng cách các bit bị biến đổi sẽ thưa hơn và làm cho ảnh sau khi giấu khó nhận biết hơn
Với thuật toán này việc chọn khối khá đơn giản Ta có thể bắt đầu từ khối đầu tiên và các khối tiếp theo một cách tuần tự Tuy nhiên ta có thể làm khó thuật toán hơn bằng cách chọn ngẫu nhiên một khối chưa giấu tin ở mỗi lần giấu Khi đó ta đã làm tăng độ an toàn của thuật toán vì khóa lúc đó còn bao gồm cả chỉ số khối đã giấu tin cho từng bit Hoặc ta có thể thay đổi kích thước khối ở mỗi lần giấu Chẳng hạn như lần thứ nhất có kích thước khối là 8x8, lần thứ hai là 8x12,… trong những trường hợp này thì khóa sẽ là kích thước khối ở mỗi lần giấu
Bản chất của kỹ thuật giấu tin trong ảnh đen trắng đó là một quy ước nào
đó dưới dạng một mệnh đề (tân từ) P Nếu tân từ P được thỏa thì ứng với bit 1, ngược lại ứng với bit 0 Tân từ P trong thuật toán trên là sum(B) b (mod 2)
1.5.1.4 Áp dụng thuật toán cho ảnh màu và ảnh đa cấp xám
Nhược điểm cơ bản của phương pháp giấu tin vào ảnh đen trắng là tin giấu vào
đó được rất ít Nếu giấu nhiều thông tin thì ảnh sẽ thay đổi và người ta dễ dàng phát hiện ra sự có mặt của thông tin ẩn Do đó khi giấu tin mật người ta thường chọn ảnh màu hoặc ảnh đa cấp xám Với ảnh màu và ảnh đa cấp xám, mỗi điểm ảnh được biểu diễn bằng nhiều bít Trong dãy các bít này có một bít được gọi là bít ít quan trọng nhất (LSB – Least Significant Bit) LSB là bit mà khi ta đảo giá trị của nó thì điểm màu chỉ
bị thay đổi ít nhất Thí dụ với ảnh đa cấp xám, mỗi mức xám g được biểu diễn bởi số nguyên không âm, thì mức xám g sẽ sai khác ít nhất so với hai mức xám liền kề là g–1
và g+1 Trong trường hợp này bít LSB chính là bit thấp nhất trong dạng biểu diễn nhị phân của g Hầu hết các thuật toán giấu tin trên ảnh mầu hoặc ảnh đa cấp xám đều áp
Trang 21 Bước 1: Tạo ảnh đen trắng F từ ảnh mầu Fc bằng một kỹ thuật nào đó Chẳng hạn lấy từ mỗi điểm màu trong Fc một bít quan trọng nhất để làm một điểm ảnh cho F
Bước 2: Giấu tin vào ảnh đen trắng F để thu được ảnh đen trắng F’
Bước 3: Đưa lại các bit của F’ vào mỗi điểm ảnh màu tương ứng của Fc để thu được ảnh màu kết quả là F’c
Như vậy, thuật toán giấu tin trong ảnh đen trắng là cơ sở cho các thuật toán giấu tin nói chung
Trang 221.5.2 Kỹ thuật giấu tin Wu _ Lee
1.5.2.1 Ý tưởng chính của thuật toán
Kỹ thuật giấu tin theo khối bit sử dụng tính chẵn lẻ của tổng số bit 1 trong khối ở trên thể hiện độ an toàn không cao do chỉ có duy nhất kích thước khối là khóa cho quá trình giấu tin, đồng thời ảnh chứa thông tin giấu cũng dễ bị phát hiện do kỹ thuật có thể đảo bit trong khối ảnh toàn màu đen hoặc toàn màu trắng dẫn tới sự bất thường ở
vị trí đảo so với các điểm lân cận trong khối
Thuật toán giấu tin trong ảnh đen trắng do M.Y.Wu và J.H.Lee đưa ra năm 1989 [11] đã khắc phục được phần nào những tồn tại nêu trên bằng cách đưa thêm khóa K cho việc giấu tin và các điều kiện để đảo bít trong mỗi khối
Định nghĩa 1.1:
Gọi x và y là hai bit tùy ý, phép nhân bit kí hiệu là trên hai bit x và y ; phép cộng loại trừ (còn gọi là phép XOR) kí hiệu là trên hai bit x và y, được định nghĩa thông qua bảng dưới đây
Hai ma trận A và B có cùng kích thước m x n ta định nghĩa
A B = C, trong đó C[i,j] = A[i,j] B[i,j]
A B = C, trong đó C[i,j] = A[i,j] B[i,j]
Trang 23Ý tưởng thuật toán
Với mục tiêu là giấu được càng nhiều thông tin vào trong ảnh mà vẫn đảm bảo được chất lượng ảnh càng tốt, ý tưởng chính của thuật toán là chia ảnh ra thành các khối bằng nhau, tìm khối nào ít bị phát hiện nhất, giấu một bit thông tin vào khối đó
Trang 24Bước 3: Giả sử bit cần giấu vào khối Fi là b, thay đổi Fi như sau:
if sum(Fi K) mod 2 = b then
giữ nguyên Fi
else if sum(Fi K) = 1 then
chọn ngẫu nhiên một bit [j, k] thỏa đồng thời Fi[j, k] = 1 và K[j, k] = 1 Đảo giá trị của bit Fi[j, k] = 1
else if sum((Fi K) = sum(K) – 1 then
Chọn ngẫu nhiên một bit [j, k] thỏa Fi[j, k] = 1 và K[j, k] = 1 Đảo giá trị của bit Fi[j, k] = 0
else
Chọn ngẫu nhiên một bit [j, k] mà K[j, k] = 1
Đảo giá trị của bit Fi[j, k] từ 1 thành 0 hoặc từ 0 thành 1
Trang 26- Với khối F1: Ta có b=1, sum(F1 K) = 5, suy ra sum(F1 K) mod 2 = 1 Ta giữ nguyên F1 Coi như bit đầu tiên đã được giấu trong F1
- Với khối F2: Ta có b=0,sum(F2 K) = 7, suy ra sum(F1 K) mod 2 = 1b Nhưng sum(F1 K) = 7 = sum(K) -1 nên ta chọn ngẫu nhiên phần tử [4,2] để đảo bit trong khối F2 vì với phần tử này ta có F2[4,2] = 1 và K[4,2] = 1 Ta thu được khối F’2 Bằng cách đảo bít của F2[4,2] = 0
- Với khối F3: sum(F3 K ) = 8 = sum(K) nên ta không giấu được bit dữ liệu tiếp theo vào khối này
- Với khối F4, Ta có b=1, sum(F4 K) = 4, nên sum(F4 K) mod 2 = 0 b Chọn ngẫu nhiên ô F4[3,1] ứng với K[3,1] = 1 đảo bit của F4[3,1] từ 0 thành 1 ta thu được khối F’4
- Kết quả được minh họa trên hình 1.6(c)
- F là file ảnh chứa tin đã được giấu
- D là dãy bit bí mật đã giấu
Trang 271.5.2.3 Phân tích thuật toán
Trong mục này ta phân tích khả năng đối phương phát hiện ảnh có giấu tin hoặc trong trường hợp xấu hơn, đối phương phát hiện được cả khóa bí mật K
Nếu có ảnh gốc F và ảnh đã giấu tin F’, bằng một thủ tục đối sánh đơn giản đối phương có thể phát hiện ra ảnh có giấu tin hay không Nếu F = F’ thì ảnh không bị giấu tin, ngược lại F khác F’ thì ảnh có thể bị giấu tin
Trước hết chúng ta xem xét vấn đề khóa K Việc chọn khóa K nhằm làm tăng độ
mật của thuật toán Nếu như trước đây chỉ biết kích thước của khối là m x n thì đối phương rất dễ khai thác được bản tin mật Ở đây còn phải biết thêm giá trị cụ thể của khóa K
với bit 1 trong khóa K Như vậy khóa K được xem như một mặt nạ Tuy nhiên, ta vẫn
có thể thay phép toán bởi phép toán khác, chẳng hạn phép toán
Tiếp theo chúng ta xét đến điều kiện 0 < sum(F i K) < sum(K) qui định nếu khối
Fi K toàn 0 hoặc giống như khóa K thì không được giấu tin để tránh bị lộ Nếu một khối Fi toàn điểm trắng được truyền đi thì kẻ thù khi bắt được thông tin sẽ dễ dàng tìm
được ra vị trí 1 của khóa K Do vậy ta không dùng trường hợp sum(F i K) = 0 để giấu
tin Với trường hợp sum(F i K) = sum(K) nếu Fi toàn điểm đen thì vị trí bít thay đổi cũng là vị trí mà bít tương ứng ở khóa K là 1 Để tránh hai trường hợp trên thuật toán đưa ra điều kiện: 0<sum(FiK)<sum(K) khi giấu một bit thông tin vào khối Fi Nhưng cho dù thế đi chăng nữa thì vị trí tương ứng với bit bị thay đổi cũng tương ứng với bit
ở vị trí đó trong khóa K có giá trị 1, và bit không bao giờ bị thay đổi tương ứng sẽ là bit 0 ở vị trí đó trong khóa K Và như thế việc chọn khóa K như thế nào là một công việc hết sức quan trọng
Trong bước 3 chỉ thực hiện tối đa một phép đảo một bit của khối F i để thu được khối F’i nhằm đảm bảo tính bất biến Do việc giấu tin vào khối chỉ cần thay đổi tối đa một bit nên việc chọn bit nào trong Fi để đảo cần tuân thủ nguyên tắc: Nếu FiK có nhiều bit 1 thì chọn bit 1, ngược lại nếu FiK có quá ít bit 1 thì chọn bit 0 Nguyên tắc này làm giảm khả năng bit đảo bị phát hiện
Vì K là khóa bí mật nên thông tin đã được nhúng là bí mật Thuật toán này làm thay đổi nhiều nhất một bit của khối Fi khi giấu một bit thông tin vào trong khối nên với một khối có kích thước m x n đủ lớn thì sự thay đổi của Fi là nhỏ
Trang 28Ảnh F được lựa chọn để giấu thông tin cũng phải được chọn kĩ càng Nếu một ảnh có quá nhiều điểm đen hoặc điểm trắng thì tỉ lệ bit giấu được sẽ rất thấp Thông thường người ta chọn ảnh gốc là các ảnh lạ, chẳng hạn ảnh cá nhân để giấu tin nhằm tăng độ bảo mật
Nói chung, thuật toán Wu_Lee vẫn chưa đạt được những yêu cầu cần thiết về khả năng giấu, độ an toàn thông tin cũng như chất lượng ảnh Tuy nhiên đó là áp dụng đối với ảnh đen trắng, nếu ta áp dụng kỹ thuật này với ảnh màu và ảnh đa cấp xám thì sẽ thu được kết quả khả quan hơn
1.5.3 Kỹ thuật giấu tin Yuan_Pan_Tseng
1.5.3.1 Ý tưởng chính của thuật toán
Yu Yuan, Hsiang Kuang Pan và Yu Chee Tseng đã phát triển một kỹ thuật giấu tin mới trên cơ sở của thuật toán Wu_Lee Kỹ thuật này sử dụng một ma trận khóa và một ma trận trọng số để giấu tin Thuật toán đảm bảo được độ an toàn của thông tin giấu và cũng giấu được nhiều thông tin trong ảnh bằng cách chỉ thay đổi nhiều nhất 2 bit trong mỗi khối ảnh Đối với ảnh đen trắng thì kỹ thuật này có nhược điểm là chất lượng ảnh chưa cao, dễ bị phát hiện
Định nghĩa 1.5:
Khóa bí mật là một ma trận nhị phân có cùng kích thước mxn với kích thước của khối ảnh Khóa được dùng một cách bí mật mà chỉ có người gửi và người nhận đích thực mới biết được
Định nghĩa 1.6:
Ma trận W trọng số cấp r là một ma trận số nguyên có kích thước bằng kích thước của khối ảnh mxn và thỏa mãn các điều kiện sau:
(i) W là ma trận số nguyên có các phần tử nằm trong khoảng giá trị (0,…,2r-1) với r là một số nguyên dương cho trước thỏa mãn 2r < mxn
(ii) Mỗi phần tử có giá trị từ 1 đến 2r -1 xuất hiện ít nhất một lần trong ma trận
Định nghĩa 1.7:
Phép đảo bit (bitwise) là một phép biến đổi trên các bit nhị phân Đảo bit b tương đương với phép biến đổi thay b bởi 1-b
Trang 29Định nghĩa 1.8:
Với mỗi số nguyên dương p, ta xét tập các số dư trong phép chia cho p, Zp={0, 1,
2, …, p-1} Trên Zp ta thực hiện các phép toán theo modulo p như sau: x, y Zp:
- Phép cộng: x+y (mod p) = (x +y) mod p
- Phép lấy phần tử đối: -x (mod p) = p-x
- Phép trừ: x – y (mod p) = (x+(p-y)) mod p
- Phép nhân: x y (mod p) = (x y) mod p
Các phép toán dùng trong ma trận cũng giống như đã định nghĩa ở mục 1.5.2
Ý tưởng thuật toán
Ý tưởng chính của thuật toán giấu tin Yuang_Pan_Tseng là sử dụng thêm một
ma trận trọng số kết hợp với ma trận khóa K và để giấu được r bit dữ liệu vào một khối
m x n nhưng chỉ thay đổi nhiều nhất hai bit dữ liệu trên khối [10]
1.5.3.2 Thuật toán
1) Quá trình giấu tin
Input:
- F là một ma trận giá trị các điểm ảnh gốc dùng để giấu tin
- K là một ma trận khóa nhị phân có kích thước mxn
- r là số lượng bit cần giấu trong mỗi khối ảnh kích thước mxn
- D là xâu thông tin cần giấu gồm k*r bít, k là số khối ảnh giấu
- W là một ma trận trọng số r với các giá trị W[i,j] thuộc tập {1,2,…,2r-1} xuất hiện ít nhất một lần
Output:
- Một file ảnh F’ đã giấu tin b
Thuật toán
Bước 1: Chia ảnh F thành các khối nhỏ F i có kích thước mxn, đặt p = 2 r ;
Với mỗi khối Fi thực hiện các bước biến đổi sau
Bước 2: Tính
T = F i K; P= T W;
Trang 30Bước 3: Tính tổng s = sum(P) mod p; đặt b=b 1 b 2 …b r ; d = b – s (mod p);
Bước 4: Với mỗi khối T :
For each w {1,2,…,2 r -1} do
S w = {[j, k] (W[j, k] = w T i [j, k] =0) (W[j, k]=2 r -w T i [j, k] =1)} Endfor;
Chọn phần tử [j, k] bất kì thuộc S u và đảo bit F i [j, k];
Chọn phần tử [j, k] bất kì thuộc S v và đảo bit F i [j, k];
End;
Trang 31Thí dụ:
Giả sử ta có một ma trận ảnh F8x8 Một ma trận khóa K4x4 và một ma trận trọng
số W4x4 Ta giấu 12 bit sau D=001 000 010 001 vào trong ảnh F Cho r = 3
Ban đầu chia F thành các khối ảnh F1, F2, F3, F4 có cùng kích thước 4x4
Trang 32Ta thực hiện phép tính FiK và (FiK)W trên mỗi khối đã chia và thu được kết quả như sau
Trang 33Chẳng hạn từ bảng trên ta xét khối S*1 và thu được các Sw (w =1, 2, …, 7) sau
s = sum(F1K)W) mod 8 = 31mod 8 =7; d = b-s (mod 8) = 1-7(mod 8) = 2 0
Sd=S2 ={[1,3]; [2,1]} nên ta có thể chọn tùy ý một trong hai vị trí trong S2 để đảo bit Ta chọn đảo bit ở F1[2,1] khi đó thu được F’1
Với khối F2:
b = (000)2 = 0, Ta có s = sum(F2K)W) mod 8 = 16 mod 8 =0
d = b-s (mod 8) = 0-0 (mod 8) = 0 Giữ nguyên khối F2 và coi như đã giấu được đoạn bit này
Với khối F3:
b = (010)2 = 2, Ta có s = sum(F3K)W) mod 8 = 20 mod 8 =4
d = b-s (mod 8) = 2-4 (mod 8) = 6 0
Sd=S6 ={[1,4]; [2,1]; [2,2]; [4,4]} nên ta có thể chọn tùy ý một phần tử trong
S2 để đảo bit Ta chọn đảo bit ở F3[2,2] khi đó thu được F’3
Trang 34Vậy ảnh F’ thu được bằng cách ghép 4 khối F’1, F’2, F’3, F’4 như sau
- F là file ảnh chứa tin đã được giấu
- D là dãy bit bí mật đã giấu
Thuật toán
- Đọc header ảnh để biết các thông tin về ảnh, đọc bảng mầu, đọc phần dữ liệu
ảnh vào ma trận hai chiều M
- Chia M thành các khối nhỏ F’i với kích thước mxn
- Với mỗi khối nhỏ F’i Tính b= sum((F’iK)W) mod 2r Trong đó b là xâu nhị phân được tạo ra bởi r bit thông tin
Trang 35Tiếp theo ta có các kết quả sau:
sum((F’1K)W) mod 2r = 33 mod 8 = 1 tương ứng xâu 3 bit nhị phân 001 sum((F’2K)W) mod 2r = 16 mod 8 = 0 tương ứng xâu 3 bit nhị phân 000sum((F’3K)W) mod 2r = 26 mod 8 = 2 tương ứng xâu 3 bit nhị phân 010sum((F’4K)W) mod 2r = 33 mod 8 = 1 tương ứng xâu 3 bit nhị phân 001 Như vậy cuối cùng ta thu được xâu bít nhị phân đã giấu ban đầu là D=001000010001
Trang 361.5.3.3 Phân tích thuật toán
Với thuật toán giấu tin sử dụng ma trận trọng số W cấp rvà ma trận khóa K ở trên, ta có thể coi khóa K như một mặt nạ, khi đó ma trận T là ma trận nhị phân cho biết những phần tử tương ứng trong hai khối Fi và K là khác nhau hay không
Tổng s = sum(P) cho biết tổng các trọng số tại các phần tử khác nhau giữa khối
Thủ tục sửa hai vị trí trong một khối bất kỳ như sau:
Trước hết cần tính các Sw (w=1, 2,…,2r -1) theo như bước 4 của thuật toán
S w = {[j,k] (W[j,k] = w T i [j,k] =0) (W[j,k]=2 r -w T i [j,k] =1)}
Như vậy Sw là tập các chỉ số [j,k] trong các khối thỏa các điều kiênh sau
(i) Tại vị trí đó, ma trận trọng số W có giá trị w và các phần tử Fi[j,k]=K[j,k] (do M[j,k]=0)
(ii) Tại vị trí đó, ma trận trọng số W có giá trị 2r-w và các phần tử Fi[j,k]K[j,k] (do M[j,k]=0)
Nếu [j,k] Sw thì ta đảo bit [j,k] trong khối đang xét, tức là thực hiện đổi bit 0
thành 1 hoặc bit 1 thành 0 và như vậy đại lượng s sẽ tăng lên w đơn vị tính theo
modulo 2r
Trang 371.6 KỸ THUẬT THỦY VÂN TRÊN ẢNH
Tính năng an toàn và bảo mật thông tin của kỹ thuật giấu tin được thể hiện ở hai khía cạnh Một là bảo vệ dữ liệu đem giấu, hai là bảo vệ chính đối tượng được sử dụng
để giấu tin Tương ứng với hai khía cạnh đó có hai khuynh hướng kỹ thuật là giấu tin mật và thủy vân số Trong phần này, luận văn sẽ trình bày một số kỹ thuật thủy vân, cũng như giải pháp nâng cao độ an toàn cho thủy vân
1.6.1 Một số khái niệm cơ bản trong thủy vân số
1.6.1.1 Khái niệm thủy vân số
Thủy vân trên ảnh số là kỹ thuật nhúng một lượng thông tin số vào bức ảnh số sao cho người không được phép “khó” có thể lấy được thông tin ra khỏi ảnh, mà không phá hủy chính ảnh đó (ảnh gốc)
Trong kỹ thuật thủy vân số, thông tin nhúng được gọi là thủy vân Thủy vân có thể là một chuỗi các kí tự hay một hình ảnh nào đó
1.6.1.2 Phân loại các kỹ thuật thủy vân
Căn cứ những đặc trưng, tính chất của từng kỹ thuật thủy vân và khía cạnh ứng dụng những kỹ thuật đó, ta có thể chia các kỹ thuật thủy vân theo nhóm được mô tả trong hình 1.1 [27]
Thủy vân dễ vỡ là kỹ thuật nhúng thủy vân vào trong ảnh, sao cho sản phẩm sau
khi phân phối trong môi trường mở, nếu có bất kỳ một phép biến đổi nào làm cho nó
bị thay đổi, thì thủy vân đã giấu trong nó sẽ không còn nguyên vẹn như thủy vân gốc
Kỹ thuật thủy vân có tính chất này được dùng trong các ứng dụng xác thực thông tin
và phát hiện xuyên tạc thông tin [2, 3]
Ngược lại với kỹ thuật thủy vân dễ vỡ là thủy vân bền vững Kỹ thuật thủy vân
bền vững thường được dùng trong các ứng dụng bảo vệ bản quyền Trong những ứng dụng đó, thủy vân đóng vai trò là thông tin sở hữu của người chủ hợp pháp Thủy vân được nhúng trong sản phẩm như một hình thức “dán tem” bản quyền Trong trường hợp đó, thủy vân phải tồn tại bền vững cùng với sản phẩm nhằm chống lại việc tẩy xóa, làm giả hay biến đổi phá hủy thủy vân Nếu muốn hủy bỏ thủy vân chỉ còn cách phá hủy sản phẩm
Trang 38Thủy vân bền vững lại được chia thành hai loại là thủy vân ẩn và thủy vân hiện
Thủy vân ẩn giống như giấu tin, yêu cầu tính ẩn cao, bằng mắt thường không thể thấy
thủy vân Thủy vân ẩn được ứng dụng trong bảo vệ bản quyền Thủy vân hiện là loại
thủy vân hiện ngay trên sản phẩm và người dùng có thể nhìn thấy được giống như những biểu tượng của một công ty, một sản phẩm, một kênh truyền hình,… Các thủy vân hiện trên ảnh thường dưới dạng chìm, mờ hoặc trong suốt để không gây ảnh hưởng đến chất lượng ảnh gốc Đối với thủy vân hiện, thông tin bản quyền hiển thị ngay trên sản phẩm
1.6.1.3 Mô hình hệ thống thủy vân
Một mô hình hệ thống thủy vân tổng quát được xem xét theo hai quá trình là quá trình nhúng thủy vân và quá trình tách thủy vân [15]
Quá trình nhúng thủy vân được mô tả ở hình 1.7 Trong đó
- Một bức ảnh I cần được bảo vệ (ảnh gốc I)
- Thông tin thủy vân W (tùy mục đích bảo vệ, thông tin thủy vân có thể là chuỗi bit, văn bản hoặc ảnh)
- Khóa K (có thể có hoặc không)
- Một thuật toán trong hệ thống sẽ kết hợp giữa thông tin ảnh gốc I, thông tin thủy vân W và khóa K để tạo thành một bức ảnh mới gọi là ảnh đã nhúng thủy vân hay ảnh chứa thủy vân Iw
Hình 1.7 Mô hình quá trình nhúng thủy vân
Quá trình tách thủy vân được mô tả trong hình 1.9 Trong quá trình phân phối, ảnh chứa thủy vân Iw có thể bị người dùng sử dụng một phép biến đổi nào đó để tấn công nhằm phá hủy thủy vân nếu có trong Iw Các tấn công trên tạo ra I’w Quá trình tách thủy vân từ ảnh I’w (I’w có thể trùng với Iw) như sau:
Bộ nhúng thủy vân
Thủy vân W
Ảnh gốc I
Khóa K
Bộ nhúng thủy vân
Trang 39- Ảnh chứa thủy vân I’w
- Khóa K (đã sử dụng trong quá trình nhúng thủy vân)
- Ảnh gốc I (tùy theo kỹ thuật, ảnh gốc có để được sử dụng hoặc không)
- Việc tách thủy vân được thực hiện theo một thuật toán đã xác định Kết quả là thông tin thủy vân W’ được tách từ I’w
- Thủy vân tách được W’ cần so sánh với thủy vân gốc, để đưa ra những kết luận phù hợp
Hình 1.8 Quá trình tách thủy vân
1.6.1.4 Các đặc trưng của một hệ thủy vân
Hệ thủy vân số trên ảnh cũng là một loại giấu tin nên nó cũng có một số đặc điểm
và tính chất giống với giấu tin mật trong ảnh Ngoài ra, kỹ thuật thủy vân còn được phân biệt với giấu tin mật ở những đặc trưng sau đây:
1) Thủy vân có bị biến đổi hay không, khi có biến đổi trên ảnh chứa thủy vân
Đối với thủy vân bền vững, yêu cầu thông tin thủy vân không bị thay đổi trước các tác động làm thay đổi thông tin trên ảnh chứa thủy vân Ngược lại đối với thủy vân
dễ vỡ, yêu vầu thông tin thủy vân sẽ bị thay đổi (vỡ) nếu có bất kỳ thay đổi nào trên ảnh chứa thủy vân
Bộ tách thủy vân
Kiểm định
Thủy vân gốc W
Kết luận
Trang 402) Thủy vân ẩn, thủy vân hiện
Không giống như giấu tin mật với yêu cầu bắt buộc là thông điệp giấu phải ẩn bên trong ảnh sao cho mắt thường không thể phát hiện được, thủy vân số có hai loại là thủy vân ẩn và thủy vân hiện Có loại thủy vân cho phép nhìn thấy được thông tin nhúng vào, có loại không nhìn thấy Thủy vân hiện được dùng cho mục đích công bố công khai về quyền sở hữu Thủy vân ẩn được dùng với mục đích gài bí mật thông tin xác nhận quyền sở hữu
3) Tính chất bền vững
Đây là tính chất quan trọng của thủy vân bền vững Thủy vân phải chống lại được các phép biến đổi hay các tấn công lên ảnh chứa thủy vân Thủy vân phải tồn tại cùng với sự tồn tại của ảnh chứa thủy vân là một tiêu chuẩn của hệ thủy vân này
4) Thông tin được thủy vân
Kiểu thủy vân hay dùng nhất là chuỗi kí tự Chuỗi kí tự được nhúng trực tiếp lên ảnh mang những thông tin như tác giả, tiêu đề, ngày tháng hay thông tin bản quyền Tuy nhiên, việc sử dụng chuỗi ký tự cũng có hạn chế là mỗi ký tự biểu diễn bằng nhiều bit, nếu như một bit bị lỗi thì sẽ làm sai cả ký tự, do đó chỉ cần một phép biến đổi đơn giản như phép nén ảnh cũng có thể làm cho thủy vân bị sai lệch rất nhiều Người ta còn sử dụng thủy vân là ảnh để nhúng, khi đó ta sẽ có ảnh trong ảnh Khi tách tin thì một số điểm ảnh gốc có thể sai nhưng hình tổng thể vẫn được giữ nguyên Trong các loại thủy vân thì thủy vân ẩn và bền vững là được quan tâm nghiên cứu nhiều nhất, vì ý nghĩa ứng dụng lớn của nó như đã nói ở phần trên Do vậy, hai tính chất quan trọng nhất của thủy vân mà các nhà nghiên cứu đang cố gắng đạt được
là tính ẩn và tính bền vững Nhưng đây lại là mấu chốt của sự phức tạp vì hai tính chất này mâu thuẫn nhau Nếu như để đảm bảo tính ẩn, thủy vân phải được giấu trong những vị trí ít có ý nghĩa tri giác nhất, ít bị chú ý nhất thì ngược lại để đảm bảo tính bền vững, thủy vân phải chịu được những phép xử lí ảnh phổ biến như dịch chuyển ảnh hay nén ảnh, mà các phép biến đổi này lại làm mất đi những thông tin ít ý nghĩa tri giác nhất