Có thể ứng dụng thủy vân để xây dựng các ứng dụng thực hiện việc xác nhận bản quyền, chống giả mạo, điều khiển truy cập… Sau khi nghiên cứu một số tài liệu liên quan đến lĩnh vực giấu ti
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
NGƯỜI HƯỚNG DẪN KHOA HỌC:
PGS.TS NGUYỄN THANH THUỶ
HÀ NỘI - 2010
Trang 2MỤC LỤC
MỞ ĐẦU 3
Chương 1 TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN VÀ THỦY VÂN SỐ 6
1.1 Các khái niệm cơ bản về giấu tin 6
1.1.1 Định nghĩa 6
1.1.2 Phân loại các kỹ thuật giấu tin 6
1.1.3 Vài nét về lịch sử giấu tin 7
1.2 Mô hình kỹ thuật giấu tin 8
1.2.1 Giấu tin trong ảnh 10
1.2.2 Giấu tin trong audio 10
1.2.3 Giấu tin trong video 11
1.2.4 Giấu tin trong văn bản 12
1.3 Giấu tin trong ảnh những đặc trưng và tính chất 12
1.4 Khái niệm và phân loại thủy vân 14
1.4.1 Thủy vân số trên ảnh 14
1.4.2 Phân loại thủy vân 15
1.4.3 Các ứng dụng của thủy vân 16
1.4.4 Những tấn công trên hệ thủy vân 18
1.5 Kỹ thuật thủy vân 18
1.5.1 Sơ đồ của hệ thủy vân 18
1.5.2 Các yêu cầu cơ bản của hệ thủy vân 21
1.5.3 Các kỹ thuật kiểm định thủy vân 23
1.6 Tổng kết chương 1 25
Chương 2 MỘT SỐ KỸ THUẬT BỔ TRỢ CHO THỦY VÂN 26
2.1 Đọc dữ liệu và ghép ảnh bitmap 26
2.2 Các phép biến đổi từ miền không gian ảnh sang miền tần số 28
2.2.1 Phép biến đổi Fourier rời rạc 28
2.2.2 Phép biến đổi Cosin rời rạc 29
2.2.3 Phép biến đổi sóng nhỏ - Descrete Wavelet Transform (DWT) 31
2.3 Kỹ thuật sinh chuỗi giả ngẫu nhiên 33
2.4 Kỹ thuật trải phổ truyền thông 36
2.5 Các kỹ thuật giấu tin trên ảnh 37
2.5.1 Kỹ thuật giấu tin theo khối bit 37
2.5.2 Kỹ thuật giấu tin Wu - Lee 45
2.6 Tổng kết chương 2 51
Chương 3 PHÁT TRIỂN KỸ THUẬT GIẤU TIN BẰNG THỦY VÂN 52
Trang 33.1 Kỹ thuật thủy vân dựa trên phép biến đổi Cosin rời rạc 52
3.1.1 Ý tưởng 52
3.1.2 Quá trình nhúng thủy vân 52
3.1.3 Thuật toán nhúng thủy vân WM 54
3.1.4 Ví dụ minh họa 56
3.1.5 Quá trình trích thủy vân 58
3.1.6 Kết luận 60
3.2 Kỹ thuật thủy vân của Chris Shoemarker 61
3.2.1 Ý tưởng 61
3.2.2 Quá trình nhúng thủy vân 61
3.2.3 Quá trình tách thủy vân 62
3.2.4 Kết quả 62
3.3 Kỹ thuật thủy vân sử dụng phép biến đổi sóng nhỏ 63
3.3.1 Kỹ thuật thủy vân của Raval Mehul va Rege Priti 63
3.3.2 Kỹ thuật thủy vân của Peining Tao và Ahmet M Eskicioglu 64
3.4 Thủy vân trong audio 65
3.4.1 Kỹ thuật chèn vào các bit ít quan trọng 67
3.4.2 Kỹ thuật mã hóa Parity (Parity Coding) 67
3.4.3 Kỹ thuật mã hóa pha (Phase Coding) 68
3.4.4 Kỹ thuật trải phổ 69
3.4.5 Kỹ thuật giấu dựa vào tiếng vang (Echo) 70
3.5 Thủy vân trong video 71
3.6 Thủy vân trong text 73
3.7 Tổng kết chương 3 73
Chương 4 XÂY DỰNG CHƯƠNG TRÌNH THỦY VÂN TRONG ẢNH TĨNH 75
4.1 Phân tích yêu cầu của chương trình 75
4.2 Giới thiệu thuật toán 75
4.3.1 Sơ đồ mô tả chức năng chương trình 76
4.3.2 Giao diện của chương trình 77
4.3 Cấu trúc chương trình 81
4.4 Một số kết quả thực nghiệm 81
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 84
TÀI LIỆU THAM KHẢO 85
Trang 4MỞ ĐẦU
1 Lý do chọn đề tài
Sự phát triển mạnh mẽ các hệ thống đa phương tiện kết nối mạng Internet dẫn đến nhu cầu bảo vệ bản quyền cho các phương tiện dữ liệu số, như các bức ảnh, các audio, video clip v v…Việc bảo vệ bản quyền bao gồm xác nhận bản quyền tác giả và nhận biết các sao chép bất hợp pháp các dữ liệu số này Một lĩnh vực nghiên cứu giải quyết vấn đề này là tìm cách đưa thêm các cấu trúc ẩn hoặc là không ẩn vào dữ liệu số, sao cho các cấu trúc này có thể dùng để chứng thực hay đánh dấu chúng Những cấu trúc này được biết như là thủy vân, thủy vân có thể chứa thông tin về tác giả của sản phẩm, mã số xác định bản quyền, các lời chú thích cần thiết về tác phẩm Có thể ứng dụng thủy vân để xây dựng các ứng dụng thực hiện việc xác nhận bản quyền, chống giả mạo, điều khiển truy cập…
Sau khi nghiên cứu một số tài liệu liên quan đến lĩnh vực giấu tin sử dụng thủy vân số trong các phương tiện media và được sự đồng ý, động viên của thầy
hướng dẫn khoa học, tôi đã chọn đề tài “Nghiên cứu kỹ thuật giấu tin bằng thủy vân số” làm đề tài nghiên cứu cho luận văn cao học của mình
2 Mục đích của luận văn
Mục đích của luận văn là nghiên cứu hệ thống lý thuyết liên quan đến việc giấu tin thông thường và giấu tin sử dụng thủy vân số Các dữ liệu sử dụng để giấu tin có thể là ảnh, là các file audio, video, text Luận văn sẽ tập trung nghiên cứu về thủy vân và ứng dụng của thủy vân trong ảnh, các tính chất và yêu cầu của một hệ thủy vân, các kỹ thuật bổ trợ cho thủy vân, các thuật toán sử dụng trong quá trình nhúng thủy vân Trên cơ sở nghiên cứu lý thuyết đó, tác giả sẽ triển khai cài đặt chưng trình ứng dụng nhúng thủy vân trên ảnh tĩnh
3 Đối tượng và phạm vi nghiên cứu
Luận văn nghiên cứu các kiểu dữ liệu khác nhau cụ thể: ảnh, các file audio, video, text Các hệ thống thủy vân trên các dữ liệu media khac nhau đòi hỏi phải có
Trang 5thuật toán khác nhau và rất phức tạp Trong luận văn này tập trung nghiên cứu kỹ thuật giấu tin bằng thủy vân trên ảnh tĩnh, cụ thể là ảnh bitmap, một kiểu định dạng phổ biến trên các máy tính và trên hệ thống mạng máy tính Ngoài ra luận văn cũng
trình bày một cách sơ lược về các phương pháp thủy vân trong audio, video, text
4 Phương pháp nghiên cứu
Trong luận văn sử dụng phương pháp nghiên cứu tư liệu kết hợp với triển khai thực nghiệm Trên cơ sở nghiên cứu lý thuyết cơ bản giấu tin và về thủy vân cùng với các thuật toán thủy vân trong ảnh sẽ tiến hành cải tiến thuật toán và cài đặt chương trình thực hiện thủy vân trong ảnh tĩnh, nhằm mục đích bảo vệ cho bức ảnh
5 Ý nghĩa khoa học và thực tiễn của đề tài
Về mặt lý thuyết đề tài tiếp cận một hướng nghiên cứu mới trong lĩnh vực
an toàn bảo mật thông tin, đặc biệt là các thông tin được truyền trên các kênh truyền thông công cộng cần bảo vệ bản quyền Đề tài trình bày lý thuyết về kỹ thuật giấu tin sử dụng thủy vân số cụ thể đi sâu chi tiết các phương pháp giấu tin, các thuật toán thủy vân trên các môi trường dữ liệu khác nhau
Về mặt thực tiễn: với việc triển khai thực hiện chương trình, đề tài này có thể ứng dụng trong việc bảo vệ bản quyền phần mềm, bảo vệ bản quyền ảnh số, chống các sai lệch thông tin hay giấu các thông tin mật trong ảnh
6 Bố cục luận văn
Luận văn được phân làm bốn chương, chương một trình bày tổng quan về giấu tin và thủy vân số, chủ yếu trình bày những điểm khác nhau cơ bản của giấu tin mật (steganography) và thủy vân (watermarking), phân loại thủy vân và các lĩnh vực ứng dụng của thủy vân Trong chương này cũng trình bày các yêu cầu cơ bản của thủy vân và các kỹ thuật kiểm định thủy vân
Chương hai trình bày một số kỹ thuật bổ trợ cho thủy vân và một số kỹ thuật giấu tin Cụ thể trình bày các phép biến đổi từ miền không gian ảnh sang miền tần
Trang 6số, bao gồm các phép biến đổi cosin rời rạc, phép biến đổi Fourier rời rạc, phép biến đổi sóng con và kỹ thuật sinh chuỗi giả ngẫu nhiên, kỹ thuật trải phổ
Chương ba trình bày các kỹ thuật giấu tin sử dụng thủy vân số, cụ thể trình bày các thuật toán áp dụng trong quá trình nhúng gỡ thủy vân từ đó đánh giá mức
độ bền vững của thủy vân qua các tấn công
Chương bốn xây dựng chương trình giấu tin bằng thủy vân số trên ảnh tĩnh
từ đó đưa ra một số kết quả thực nghiệm
Trang 7Chương 1 TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN
1.1.2 Phân loại các kỹ thuật giấu tin
Như vậy, có thể chia lĩnh vực giấu tin thành hai hướng lớn, đó là thủy vân số
và giấu tin mật
Giấu tin mật liên quan đến các ứng dụng sao cho người khác khó phát hiện nhất việc có tin được giấu; hơn nữa, nếu phát hiện có tin giấu thì việc giải tin cũng khó thực hiện được Đồng thời, các kỹ thuật giấu tin mật còn quan tâm lượng tin có thể được giấu Lượng thông tin giấu càng lớn thì tính ẩn của thông tin giấu càng thấp
Phạm vi ứng dụng của thủy vân đa dạng hơn, tùy theo mục đích của hệ thủy vân mà người ta lại chia thành các hướng nhỏ như thủy vân dễ vỡ và thủy vân bền vững Thủy vân bền vững quan tâm nhiều đến việc nhúng những mẩu tin đòi hỏi độ bền vững cao của thông tin được giấu trước các biến đổi thông thường trên dữ liệu chứa 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
Trang 8nào trên dữ liệu chứa Một sự phân loại tương đối các kỹ thuật giấu tin được thể hiện trên hình 1.1
Hình 1.1 Phân loại các kỹ thuật giấu tin
1.1.3 Vài nét về lịch sử giấu tin
Từ Steganography bắt nguồn từ tiếng Hy Lạp và được sử dụng cho tới ngày nay, nó có ý nghĩa là tài liệu được phủ (covered witting) 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 tin (thông tin được hiểu theo nghĩa nguyên thủy của nó) thuộc về sử gia Hy Lạp Herodotus Khi bạo chúa Hy Lạp Histiaeus bị vua Darius bắt giữ ở Susa vào thế kỷ thứ năm 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 của một nô lệ tin cậy và xăm một thông báo trên da đầu của người nô lệ ấy Khi tóc của người nô lệ này mọc đủ dài người nô lệ được gửi tới Miletus
Giấu thông tin
Trang 9Một câu chuyện khác về thời Hy 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 Hy Lạp, cần thông báo cho Sparta rằng Xerxes định xâm chiếm Hy Lạp
Để tránh bị phát hiện, anh ta đã bóc lớp sáp 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 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 lọt qua mọi sự kiểm tra một cách dễ dàng
Mực không màu là phương tiện hữu hiệu 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 rắn có sẵn như nước quả, nước tiểu và sữa các thông báo bí mật những hàng văn tự thông thường Khi được hơ nóng, những thứ mực không nhìn thấy này trở nên sẫm mầu và có thể đọc
dễ dàng Mực không màu cũng được sử dụng rất gần đây, như trong thời gian chiến trang thế giới thứ II
Ý tưởng về che giấu thông tin đã có từ hàng nghìn năm về 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 thông tin mới nhận được sự quan tâm của các nhà nghiên cứu với rất nhiều các công trình nghiên cứu
1.2 Mô hình kỹ thuật giấu tin
Mô hình của kỹ thuật giấu tin cơ bản được mô tả trong các Hình 1.2 và 1.3 Trong đó, Hình 1.2 biểu diễn quá trình giấu tin cơ bản Phương tiện chứa bao gồm các đối tượng được dùng làm môi trường để giấu tin như văn bản, audio, video, ảnh… Thông tin cần giấu là một lượng thông tin mang một ý nghĩa nào đó tùy thuộc vào mục đích của người sử dụng Thông tin sẽ được giấu vào trong phương tiện chứa nhờ một bộ nhúng Bộ nhúng là những chương trình theo những 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ư các hệ mã mật cổ điển Sau khi giấu tin ta thu được phương tiện chứa đã giấu và được phân phối trên các môi trường khác nhau
Trang 10Phương tiện chứa
đã được giấu tin
Bộ giải
mã tin
Thông tin giấu Kiểm
định
Hình 1.3 Sơ đồ quá trình giải mã
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 khóa 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 Tùy trường hợp, thông tin tác được có thể cần xử
lí, kiểm định so sánh với thông tin giấu ban đầu
Thông tin cần giấu
Phương tiện chứa
đã được giấu tin
Phân phối
Hình 1.2 Sơ đồ quá trình giấu tin
Thông tin cần giấu
Phương tiện chứa
đã được giấu tin
Trang 11Giấu tin trong dữ liệu đa phương tiện
1.2.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 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 dữ liệu đa phương tiện bởi lượng thông tin trao đổi bằng hình ảnh là rất lớn 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,… Vì thế mà vấn đề này đã nhận được sự quan tâm rất lớn của các cá nhân, tổ chức, trường đại học, và các 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à ít ai biết được bên trong bức ảnh đó mang những thông tin có ý nghĩa khác Và ngày nay, khi ảnh số đã được sử dụng rất phổ biến, 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ụ tại các nước phát triển, chữ ký tay đã được số hóa 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 để nhận thực trong các thẻ tín dụng của người tiêu dùng 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, 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 chúng cũng như phát hiện thông tin xuyên tạc đã trở nên vô cùng quan trọng và cấp thiết 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 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 đa mức xám
1.2.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
Trang 12hưởng nhiều đế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, 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 Và một vấn đề khó khăn ở đây là hệ thống thích 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ó khăn đối với các phương pháp dấu tin trong audio Nhưng hệ thống thính giác lại kém trong việc phát hiện sự khác biệt của các giả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 cho việc 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 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
1.2.3 Giấu tin trong video
Cũng giống như giấu 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ư kiểm soát sao ché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 phim đã xem Một phương pháp giấu tin trong video được đưa ra bởi Cox [14] 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 dể 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ả âm thanh và hình ảnh vào video Như phương pháp của Swanson [21] đã sử dụng cách giấu theo khối, phương pháp này đã giấu được hai bit vào khối 8x8
Kỹ thuật giấu thông tin bằng video áp dụng cả đặc điểm thị giác và thính giác của con người
Trang 13Kỹ thuật giấu tin đang được áp dụng cho nhiều loại đối tượng chứ không chỉ riêng dữ liệu đa phương tiện như ảnh, audio hay video Gần đây, đã có một số nghiên cứu giấu tin trong văn bản text, cơ sở dữ liệu quan hệ và cơ sở dữ liệu XML, cho phép mở ra những hướng nghiên cứu mới
1.2.4 Giấu tin trong văn bản
Trong 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 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 theo hai hướng, thứ nhất văn bản được sử dụng để giấu tin là những văn bản được chụp lại và lưu trên máy như một bức ảnh nhị phân Theo hướng này, các kỹ thuật giấu tin được thực hiện như kỹ thuật giấu tin trong ảnh 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
1.3 Giấu tin trong ảnh những đặc trưng và tính chất
Giấu tin trong ảnh chiếm vị trí chủ yếu trong các kỹ thuật giấu tin, vì vậy các
kỹ thuật giấu tin phần lớn cũng tập trung vào các kỹ thuật giấu tin trong ảnh Các phương tiện chứa khác nhau thì cũng sẽ có các kỹ thuật giấu khác nhau Đối tượng ảnh là một đối tượng dữ liệu tĩnh có nghĩa là dữ liệu tri giác không biến đổi theo thời gian 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 các kỹ thuật giấu tin trong ảnh thường chú ý những đặc trưng và các chất
cơ bản sau đây:
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 của ảnh tĩnh, dù có giấu thông tin vào trong ảnh hay không, 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 khác với dữ liệu audio hay video, vì khi ta nghe hay xem thì dữ liệu gốc sẽ thay đổi liên tục với tri giác của con người theo các đoạn hay các bài, các ảnh… Sự
Trang 14khác biệt này ảnh hưởng lớn đối với các kỹ thuật giấu thông tin trong ảnh với kỹ thuật giấu thông tin trong audio hay video
Kỹ thuật giấu phụ thuộc ảnh
Kỹ thuật giấu tin phụ thuộc vào các loại ảnh khác nhau Chẳng hạn, đối với ảnh đen trắng, ảnh xám hay ảnh màu ta cũng có những kỹ thuật riêng do các loại ảnh có những đặc trưng khác nhau
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 bằng mắt thường khó nhận ra được sự thay đổi đó, vì có như thế mới đảm bảo được độ an toàn cho thông tin giấu Rất nhiều các 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ưn mắt người cảm nhận về 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 xanh da trời là kém nhất trong ba màu cơ bản
Giấu 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 thực hiện công việc giấu thông 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 header, bảng màu (có thể có) 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 mà kích thước ảnh trước hay sau khi giấu thông tin là như nhau
Đảm bào chất lượng ảnh sau khi giấu tin
Đây là một 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 được yêu cầu không bị biến đổi để có thể bị phát hiện
dễ dàng so với ảnh gốc Yêu cầu này dường như là khá đơn giản đối với ảnh mầu hoặc ảnh xám bởi mỗi một điểm ảnh được biểu diễn bởi nhiều bit, nhiều giá trị và
Trang 15khi ta thay đổi một giá trị nhỏ nào đó thì chất lượng ảnh thay đổi không đáng kể, thông tin giấu khó bị phát hiện, nhưng đối với ảnh đen trắng thì việc giấu thông tin phức tạp hơn nhiều, vì đối với ảnh đen trắng mỗi điểm ảnh chỉ là trắng hoặc đen, và nếu ta biến đổi một bit từ đen sang trắng mà không khéo thì sẽ rất dễ bị phát hiện
Do đó, yêu cầu đối với các thuật toán giấu thông tin trong ảnh mầu hay ảnh xám và giấu thông tin trong ảnh đen trắng là khác nhau Trong khi đối với ảnh màu thì các thuật toán chú trọng vào việc sao giấu được càng nhiều thông tin càng tốt, các thuật toán áp dụng cho ảnh đen trắng lại tập trung vào việc 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 qui tắc nào đó và khi giải mã sẽ theo các giá trị đó để tìm được thông tin 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 mà giấu thông tin trong ảnh có tác dụng nhận thực và phát hiện xuyên tạc thông tin
Vai trò của ảnh gốc khi giải tin
Các kỹ thuật giấu tin phải xác định rõ rảng quá trình lọc ảnh để lấy thông tin giấu cần hay không cần đến ảnh gốc Đa số các kỹ thuật giấu tin mật thường không cần đến ảnh gốc khi giải mã Thông tin được giấu trong ảnh sẽ được mang cùng với
dữ liệu ảnh, khi giải mã 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
1.4 Khái niệm và phân loại thủy vân
1.4.1 Thủy vân số trên ảnh
Như đã giới thiệu trong các phần trước, 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ệ cho dữ liệu đem giấu và hai là bảo vệ cho chính đối tượng được sử dụng để giấu tin Tương ứng
Trang 16với hai khía cạnh đó có hai khuynh hướng kỹ thuật rõ ràng đó là giấu tin mật và 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 một bức ảnh và thông tin nhúng được gắn liền với bức ảnh chứa
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, logo nào đó
1.4.2 Phân loại thủy vân
Nói đến thủy vân số là nói đến kỹ thuật giấu tin nhắm đến những ứng dụng bảo đảm an toàn dữ liệu cho đối tượng được sử dụng để giấu tin như: bảo vệ bản quyền, chống xuyên tạc, nhận thực thông tin, điều khiển sao chép v.v… Có thể thấy
rõ là phần ứng dụng của thủy vân rất lớn, mỗi ứng dụng lại có những yêu cầu riêng
và tính chất riêng, do đó các kỹ thuật thủy vân cũng có những tính năng khác biệt tương ứng Có thể chia các kỹ thuật thủy vân theo nhóm như trong hình 1.1
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 khi phân phối trong môi trường mở nếu có bất cứ một phép biến đổi nào làm thay đổi đối tượng sản phẩm gốc thì thủy vân đã được giấu trong đối tượng sẽ không còn nguyên vẹn như thủy vân gốc Các kỹ thuật thủy vân có tính chất này được sử dụng trong các ứng dụng nhận thực thông tin và phát hiện xuyên tạc thông tin Rất dễ hiểu vì sao những ứng dụng này cần đến kỹ thuật thủy vân dễ vỡ Ví dụ như để bảo
vệ chống xuyên tạc một hình ảnh nào đó ta nhúng một thủy vân vào trong ảnh và sau đó phân phối, quảng bá ảnh đó Khi cần kiểm tra lại ảnh ta sử dụng hệ thống đọc thủy vân Nếu không đọc được thủy vân hoặc thủy vân đã bị sai lệch nhiều so với thủy vân ban đầu đã nhúng vào ảnh thì có nghĩa là ảnh đó đã bị thay đổi
Ngược lại với kỹ thuật thủy vân dễ vỡ là kỹ thuật thủy vân bền vững Các kỹ thuật thủy vân bền vững thường được sử 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 như thế, thủy vân phải tồn tại bền vững cùng với
Trang 17sản phảm nhằm chống việc tẩy xóa, làm giả hay biến đổi phá hủy thủy vân Một yêu cẩu lý tưởng đối với thủy vân bền vững là nếu muốn loại bỏ thủy vân thì cách duy nhất là phá hủy sản phẩm
Thủ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 hiện là loại thủy vân được hiện ngay trên sản phẩm và người dùng
có thể nhìn thấy được giống như các biểu tượng kênh chương trình vô tuyến VTV3, CCTV, TV5,… 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 Còn đối với thủy vân ẩn thì cũng giống như giấu tin, yêu cầu tính ẩn cao, bằng mắt thường không thể nhìn thấy thủy vân Trong vấn đề bảo vệ bản quyền, thủy vân ẩn mang tính bất ngờ hơn trong việc phát hiện sản phẩm bị đánh cắp Trong trường hợp này, người chủ sở hữu hợp pháp sẽ chỉ ra bằng chứng là thủy vân đã được nhúng trong sản phẩm bị đánh cắp
1.4.3 Các ứng dụng của thủy vân
Ứng dụng 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 tác giả (thường gọi là thủy vân – watermark) sẽ được nhúng vào trong các sản phẩm Chỉ có chủ sở hữu hợp pháp các sản phẩm đó có quyền thiết kế và nhúng thủy vân vào sản phẩm với mục đích minh chứng cho bản quyền sản phẩm Giả sử có một thành phẩm dữ liệu dạng đa phương tiện như ảnh,
âm thanh, video cần được lưu thông trên mạng Để bảo vệ các sản phẩm, chống lại các hành vi lấy cắp hoặc làm nhái, cần phải có một kỹ thuật để “dán tem bản quyền” vào sản phẩm này Việc dán tem hay chính là việc nhúng thủy vân cần phải đảm bảo không để lại một ảnh hưởng lớn nào đến việc cảm nhậ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 với sản phẩm Muốn gỡ bỏ thủy vân mà không được phép của người chủ sở hữu thì chỉ có cách là phá hủy sản phẩm
Trang 18Nhận thực thông tin hay phát hiện xuyên tạc
Một tập các thông tin sẽ được giấu trong phương tiện chứa sau đó được sử dụng để nhận biết xem dữ liệu trên phương tiện gốc đó có bị thay đổi hay không Các thủy vân nên được ẩn để tránh được sự tò mò của kẻ thù, hơn nữa việc làm giả các thủy vân hợp lệ hay xuyên tạc thông tin nguồn cũng cần đượ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 ứng dụng này 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 những ứng dụng này được sử dụng để nhận diện người gửi hay người nhận của một thông tin nào đó Ví dụ như các vân khác nhau sẽ được nhúng vào các bản sao khác nhau của thông tin gốc trước khi chuyển cho nhiều người [20] Với những ứng dụng này thì yêu cầu là đảm bảo độ an toàn cao cho các thủy vân tránh sự xóa giấu vết trong khi phân phối
Kiểm soát sao chép
Các thủy vân trong những trường hợp này được sử dụng để kiểm soát sao chép đối với các thông tin Các thiết bị phát hiện ra thủy vân thường được gắn sẵn vào trong các hệ thống đọc/ghi Ví dụ như hệ thống quản lý sao chép DVD đã được ứng dụng ở Nhật Các ứng dụng loại này cũng yêu cầu thủy vân phải được bảo đảm
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
Giấu tin mật
Các thông tin giấu được trong những trường hợp này càng nhiều càng tốt, việc giải mã để nhận được thông tin cũng không cần phương tiện ban đầu Các yêu cầu mạnh về chống tấn công của kẻ thù không cần thiết lắm thay vào đó là thông tin giấu phải đảm bảo tính ẩn
Trang 191.4.4 Những tấn công trên hệ thủy vân
Hệ thống thủy vân cần chống lại được một số phép xử lý ảnh thông thường
và một số tấn công có chủ đích đối với ảnh chứa thủy vân Tùy theo mục tiêu bảo
vệ, trong thực tế khi tiến hành thủy vân phải cân nhắc giữa tính bền vững với các thuộc tính khác như lượng thông tin giấu, tính ẩn… Dựa vào những biến đổi có chủ đích hay không có chủ đích đối với hệ thủy vân mà ta có thể phân biệt thành một số loại tấn công sau:
• Biến đổi tín hiệu: làm sắc nét, thay đổi độ tương phản, màu, gamma;
• Nhiễu cộng, nhiễu nhân;
• Lọc tuyến tính;
• Nén mất thông tin;
• Giảm dữ liệu: cropping, sửa histogram;
• Thủy vân nhiều lần
Yêu cầu cơ bản nhất của hệ thống thủy vân bền vững là đảm bảo tính bền vững của thủy vân sao cho các tấn công có chủ đích với mục đích loại bỏ thủy vân sẽ làm cho giá trị thương mại của ảnh gốc bị ảnh hưởng lớn thậm chí đến việc hủy sản phẩm gốc
1.5 Kỹ thuật thủy vân
1.5.1 Sơ đồ của hệ 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:
Quá trình nhúng thủy vân
- Một bức ảnh gốc cần được bảo vệ I;
- Tùy theo mục đích bảo vệ người ta chọn thủy vân có thể là dạng văn bản, chuỗi bit hoặc một bức ảnh gọi chung là thông tin thủy vân W;
Trang 20- Có thể sử dụng một hệ thống khóa K làm khóa cho quá trình nhúng và tách thủy vân;
- Một thuật toán trong hệ thống sẽ kết hợp giữa thông tin về ảnh gốc, thông tin thủy vân, và thông tin khóa để 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 Bức ảnh này sẽ được sử dụng để phân phối
Mô hình quá trình nhúng thủy vân được thể hiện qua hình 1.4
Hình 1.4 Sơ đồ quá trình nhúng thủy vân
Quá trình tách thủy vân
Ảnh chứa thủy vân Iw trong quá trình phân phối có thể bị sử dụng trái phép, người sử dụng có thể đã dùng một số phép biến đổi ảnh thông thường để tấn công vào Iw nhằm phá hủy thủy vân nếu có trong Iw, các tấn công trên Iw tạo ra I*w
Quá trình tách thủy vân từ ảnh chứa I*w (I*w có thể trùng với Iw) được tiến hành như sau:
- Sử dụng ảnh chứa thủy vân I*w, hệ thống khóa K đã sử dụng trong quá trình nhúng thủy vân;
- Tùy theo kỹ thuật, ảnh gốc I có thể được sử dụ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* tách được từ I*w;
Trang 21- Thủy vân tách cần được so sánh với thủy vân gốc W để đưa ra những kết luận
Mô hình quá trình tách thủy vân trong hệ thống thủy vân được trình bày trong hình 1.5
Hình 1.5 Sơ đồ quá trình tách và kiểm định thủy vân Theo mô sơ đồ của hệ thống nhúng và tách thủy vân, ta có một số nhận xét sau:
- Trước khi bức ảnh I được nhúng thủy vân, nó có thể được biến đổi sang miền tần số hoặc thực hiện trực tiếp trên không gian ảnh Nếu các phương pháp thủy vân được thực hiện trên miền không gian ảnh (xử lý trực tiếp trên các điểm ảnh) thủy vân được nhúng thông thường không có độ bền cao, dễ dàng bị phá vỡ bởi các tấn công đơn giản
- Chuỗi thủy vân được nhúng trong ảnh có thể là dãy các bit nhị phân Các phương pháp thủy vân thực hiện giấu từng bit của chuỗi thủy vân vào từng khối nhỏ trong ảnh Thông thường chuỗi nhị phân này được sinh ra một cách ngẫu nhiên từ một khóa K Để tăng tính ngẫu nhiên, người ta có sử dụng các kỹ thuật sinh chuỗi
số giả ngẫu nhiên khác nhau Chuỗi nhị phân này cũng có thể nhận được từ cách chuyển một chuỗi ký tự hay một số sang dạng nhị phân
Thủy vân tách W*
Thủy vân gốcW
Kiểm định
Kết luận
Trang 22- Trong quá trình nhúng thủy vân, từng khối ảnh khác nhau có thể giấu lượng tin khác nhau Đối với khối ảnh là biên (edge) thì lượng tin giấu vào đây phải ít nhất
để tránh làm thay đổi chất lượng ảnh Các khối có độ lệch giữa các bit
1.5.2 Các yêu cầu cơ bản của hệ thủy vân
Hệ thủy vân số trên ảnh cũng là một hệ giấu tin nên cũng có một số đặc điểm
và tính chất giống giấu tin trong ảnh Đó là:
• Phương tiện chứa là ảnh hai chiều tĩnh;
• Thủy vân trên ảnh tác động lên dữ liệu ảnh nhưng không làm thay đổi kích thước ảnh;
• Thông tin được giấu vào trong ảnh nhưng không ảnh hưởng nhiều đến chất lượng ảnh;
• Kỹ thuật giấu phụ thuộc vào bản chất của hệ thống thị giác con người;
• Khi tách thủy vân có thể cần ảnh gốc hoặc không cần
Ngoài một số đặc điểm chung ra, kỹ thuật thủy vân trên ảnh số được phân biệt với kỹ thuật giấu tin mật ở những đặc trưng sau đây:
Thông tin thủy vân có bị biến đổi hay không khi có biến đổi trên ảnh chứa
Đối với hệ thống thủy vân bền vững, yêu cầu thông tin thủy vân không 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, hệ thống thủy vân dễ vỡ yêu cầu thông tin thủy vân sẽ bị thay đổi (vỡ) nếu có bất cứ thay đổi nào trên ảnh chứa thủy vân
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 phát hiện được sự tồn tại của thông tin giấu thì kỹ thuật vân số lại có hai loại là thủy vân ẩn và thủy vân hiện Nghĩa là có loại thủy vân cho phép nhìn thấy được thông tin đem nhúng vào, có loại không nhìn thấy Loại thủy vân hiện được sử dụng cho mục đích công bố công khai về quyền sở
Trang 23hữu, ngược lại, thủy vân ẩn được sử dụng với mục đích gài bí mật các thông tin xác nhận quyền sở hữu
Tính chất bền vững
Đây chính là tính chất quan trọng nhất của một hệ thủy vân Đối với hệ thống thủy vân này, yêu cầu hàng đầu là hệ 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 có chủ đích hoặc không có chủ đích lên ảnh chứa thủy vân Tiêu chuẩn của hệ thủy vân này là thủy vân tồn tại cùng với sự tồn tại của ảnh chứa, thủy vân chỉ bị phá hủy khi chấp nhận mất đi đáng kể chất lượng của ảnh chứa
Thông tin được thủy vân
Một câu hỏi đầu tiên đối với hệ thủy vân là thông tin gì sẽ được giấu vào bên trong ảnh? Kiểu thủy vân hay dùng nhất là một chuỗi các 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… Sử dụng chuỗi ký tự lại bị một hạn chế, đó là mỗi ký tự biểu diễn bằng nhiều bit nếu như vì một lý do nào đó một bit bị lỗi sẽ làm sai cả ký
tự và 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 Ngoài chuỗi ký tự người ta còn sử dụng thủy vân
là ảnh để nhúng, khi đó ta sẽ có ảnh trong ảnh Khi giải tin một số điểm ảnh có thể sai nhưng hình tổng thể sẽ được giữ nguyên
Trong các loại thủy vân, thủy vân ẩn và bền vững là loại đượ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 hệ 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 thuộc tính 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í có ý nghĩa tri giác nhất, ít bị chú ý nhất thì để đảm bảo được thuộc 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à những 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 của ảnh Ví dụ như phép nén JPEG loại bỏ ở ảnh những thông tin ít có tính tri giác nhất để làm giảm kích thước của ảnh mà vẫn đảm
Trang 24bảo được chất lượng ảnh Khi đó những dữ liệu của thủy vân nằm trong vùng này sẽ
bị mất đi hoặc bị biến đổi sai lệch hoàn toàn
1.5.3 Các kỹ thuật kiểm định thủy vân
Hệ thống thủy vân theo hai hướng, thủy vân dễ vỡ và thủy vân bền vững Trong thủy vân bền vững kỹ thuật thủy vân ẩn có nhiều hướng ứng dụng Trong hệ thống thủy vân ẩn, thủy vân được nhúng mang tính bất ngờ trong việc chứng minh quyền sở hữu cho nên yêu cầu cơ bản đối với kỹ thuật này là: tính ẩn của thủy vân trong ảnh chứa, ảnh được nhúng thủy vân vẫn đảm bảo chất lượng thương mại so với ảnh gốc; tính bền vững của thủy vân trước các tấn công thông thường lên ảnh chứa Liên quan đến những yếu tố này, các kỹ thuật đánh giá chất lượng ảnh được
sử dụng
Chất lượng ảnh gốc và ảnh chứa thủy vân
Trong giấu tin nói chung, và trong hệ thống thủy vân ẩn nói riêng, một yêu cầu cao được đặt ra là ảnh sau khi nhúng thông tin có sự sai khác so với ảnh gốc càng ít càng tốt Có thể sử dụng hệ thống tri giác của con người để cảm nhận và đánh giá tiêu chuẩn này
Việc đánh giá, so sánh một cách chính xác sự sai khác về chất lượng ảnh gốc
I và ảnh sau khi nhúng thông tin thủy vân I*w có thể thực hiện qua việc tính giá trị PSNR (Peak Signal to Noise Ratio) giữa ảnh gốc I và ảnh chứa thủy vân I*w có cùng kích thước m x n theo công thức:
PSNR=20 log10⎜⎜⎝⎛Max ) MSE(I ⎟⎟⎠⎞;
)) , ( ) , ( (
1 2 là bình phương độ lệch giữa ảnh
gốc I và ảnh chứa thủy vân I’
Trang 25Với các phép nén ảnh, người ta chấp nhận giá trị PSNR trong khoảng 20–40dB Giá trị PSNR càng lớn thể hiện sự sai khác giữa ảnh gốc và ảnh sau khi nhúng thông tin càng thấp
So sánh thủy vân tách được với thủy vân gốc
Thủy vân được nhúng sau khi giải mã sẽ được so sánh để kiểm định, chứng thực thủy vân Có những thủy vân nhìn thấy được và mang ý nghĩa nhận biết thì công việc trở nên đơn giản chẳng hạn như thủy vân là một chuỗi mã ký tự ASCII mang thông tin nào đó như tên tác giả, ngày tháng… thì khi giải mã ta cũng dễ dàng nhận biết thông tin Hay như thủy vân là một ảnh nào đó chẳng hạn thì giải mã ra cũng được một ảnh tương tự và ta có thể nhìn thấy sự khác biệt giữa hai ảnh
Tuy nhiên, trong một số trường hợp thì thủy vân là một chuỗi bit, khi đó công việc nhận diện thủy vân sẽ không đơn giản Hoặc ngay cả trong trường hợp thủy vân là những thông tin mang ý nghĩa nhận biết được thì cũng phải có kỹ thuật
để kiểm định định lượng sự đúng sai của thủy vân
Có nhiều kỹ thuật để kiểm định định lượng thủy vân Kỹ thuật đơn giản nhất
là tính tỉ lệ đúng sai từng bit theo công thức:
SR = (Số bit trùng nhau)/(Tổng số bit)
Chẳng hạn ta nhúng một thủy vân có độ dài là 1000 bit, khi giải mã so với thủy vân gốc, thủy vân tách được bị sai lệch mất 100 bit và 900 bit con lại là trùng nhau, vậy thì tỉ lệ trùng khớp là SR=900/1000 (=0.9) Theo tiêu chuẩn so sánh này, giá trị SR càng gần 1 thì sự sai khác giữa thủy vân tác được với thủy vân gốc càng thấp
Một số kỹ thuật thủy vân áp dụng với trường hợp thủy vân là một ảnh đa cấp xám Khi đó, các cặp điểm ảnh chênh lệch một đơn vị vẫn được xem là rất nhỏ nên việc đánh giá độ lệch theo cách trên là không phù hợp Trong trường hợp này, sử dụng hệ số đồng dạng SF ( similarity factor) để đánh giá tỷ lệ đồng dạng giữa thủy vân gốc W và thủy vân tách được W* Công thức tính hệ số đồng dạng giữa thủy
Trang 26vân gốc W và thủy vân tác được W* có cùng kích thước N x N được biểu diễn như sau:
j i W j i W SF
2
) , (
) , ( ) , (
Trang 27Chương 2 MỘT SỐ KỸ THUẬT BỔ TRỢ CHO
THỦY VÂN
2.1 Đọc dữ liệu và ghép ảnh bitmap
Ảnh BMP (Bitmap Picture) được phát triển bởi Microsoft Corporation, được lưu trữ dưới dạng độc lập thiêt bị cho phép Windows hiển thị dữ liệu không phụ thuộc vào khung chỉ định màu trên bất kỳ phần cứng nào Tên file mở rộng mặc định của một file ảnh Bitmap là BMP Ảnh BMP được sử dụng trên Microsoft Windows và các ứng dụng chạy trên Windows từ version 3.0 trở lên
Mỗi file ảnh BMP gồm ba phần:
Bitmapheader (54 Byte) Bảng màu (có thể có hoặc không) Thông tin ảnh (Bitmap Data) Trong phần Bitmapheader của ảnh bitmap, thành phần biCount cho biết số bit dành cho mỗi điểm ảnh và số lượng màu lớn nhất của ảnh Bicount có thể nhận các giá trị sau:
• 1: Bitmap là ảnh đen trắng, mỗi bit biểu diễn một điểm ảnh Nếu bit mang giá trị 0 thì điểm ảnh là đen, bit mang giá trị 1 thì điểm ảnh là điểm trắng
• 4: Bitmap là ảnh 16 màu, mỗi điểm ảnh được biểu diễn bởi 4 bit
• 8: Bitmap là ảnh 256 màu, mỗi điểm ảnh được biểu diễn bởi 1 byte
• 16: Bitmap là ảnh Highcolor, mỗi dãy 2 byte liên tiếp trong bitmap biểu diễn cường độ tương đối cảu màu đỏ, xanh lá cây, xanh lơ cảu một điểm ảnh
Trang 28• 24: Bitmap là ảnh Truecolor, mỗi dãy 3 byte liên tiếp trong bitmap biểu diễn cường độ tương đối của màu đỏ, xanh lá cây, xanh lơ (Red, Green, Blue) của một điểm ảnh
Nếu thông số này bằng 24, tức dùng 3 byte để biểu diễn một điểm ảnh thì file ảnh bitmap khi đó sẽ không có bảng màu Nếu thành phần này có giá trị nhỏ hơn hoặc bằng 8, khi đó file ảnh là ảnh 256 màu hoặc ảnh đa cấp xám, hoặc là đen trắng
Palette màu (bảng màu của ảnh): là những ảnh có thành phần biCount nhỏ hơn hoặc bằng 8 bit màu mới có Palette màu Kích thước bảng màu sẽ là 2biCount
BitmapData: phần này nằm ngay sau phần Palette màu của ảnh BMP Đây là phần chứa giá trị màu của điểm ảnh trong BMP Các dòng ảnh được lưu từ dưới lên trên, các điểm ảnh được lưu trữ từ trái sang phải Các giá trị của mỗi điểm ảnh là một chỉ số trỏ tới phần tử mầu tương ứng của Palette màu
Như vậy để đọc được dữ liệu ảnh, ta phải đọc header ảnh, sau đó căn cứ vào thành phần biCount để xem ảnh có bảng màu hay không, nếu có thì đọc bảng màu, không thì ta bỏ qua Dữ liệu ảnh được đọc và lưu vào mảng hai chiều có kích thước bằng header.With * header.Height
Các thao tác xử lý trên không gian ảnh thường được thực hiện trên các khối con của phần dữ liệu ảnh, các khối này thông thường là có kích thước bằng nhau và không có khối nào bị chồng bởi khối khác Việc chia các khối được hiểu là chia ma trận lớn thành các ma trận con trong ma trận dữ liệu ảnh
Các thao tác xử lý trên không gian ảnh xử lý trực tiếp các giá trị của ma trận này Do ma trận này chứa giá trị độc lập, rời rạc của từng điểm ảnh nên các phương pháp thủy vân thực hiện trong miền không gian ảnh thường không bền vững trước các tấn công thông thường
Sau khi xử lý xong, ta thực hiện ghi lại ảnh theo qui trình ngược lại gồm các bước: ghi lại header, ghi lại bảng màu nếu có, sau đó ghi dữ liệu ẩn
Trang 292.2 Các phép biến đổi từ miền không gian ảnh sang miền tần số
Ngoài phương pháp xử lý trực tiếp các giá trị trên không gian ảnh, chúng ta
có thể dùng nhiều 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 tần số độc lập sang các 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 các miền mới này với các biến số mới Phương pháp biến đổi này cũng giống như phương pháp đổi biến trong tính tích phân hay phương pháp đổi hệ tọa độ trong toán giải tích quen thuộc
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
Có nhiều phép biến đổi cho dữ liệu ảnh trong đó có một số phương pháp biến đổi được sử dụng rất phổ biến như Fourier, biến đổi cosin rời rạc, biến đổi wavelet… Đây là những phép biến đổi được sử dụng nhiều trong các kỹ thuật xử lý ảnh
2.2.1 Phép biến đổi Fourier rời rạc
Phép biến đổi Fourier rời rạc (Discrete Fourier Transform – DFT) là một công cụ toán học được dùng để chuyển cách biểu diễn tín hiệu và hệ thống rời rạc sang miền tần số rời rạc Thực chất của cách biểu diễn này là lấy từng điểm rời rạc trên vòng tròn đơn vị trong mặt phẳng Z để biểu diễn Việc biểu diễn trong miền tần
số rời rạc đặc biệt hiệu quả khi xuất hiện các thuật toán tính toán nhanh DFT ta gọi
là phép biến đổi Fourier nhanh (Fast Fourier Transform – FFT) [1], [9]
Biến đổi Fourier rời rạc của một bức ảnh {u(m,n)} được định nghĩa như sau:
ln 1
0
1 0
) , ( )
ln
) , (
1 )
n
m
Với 0<=m,n<=N-1
Trang 302.2.2 Phép biến đổi Cosin rời rạc
Biến đổi cosin rời rạc (Discrete Cosine Transform – DCT) được đưa ra bởi Ahmed và các đồng nghiệp [18],[20] vào năm 1974 Từ đó cho đến nay, nó được sử dụng rất phổ biến trong nhiều kỹ thuật xử lý ảnh số nói riêng và xử lý tín hiệu số nói chung Trong các kỹ thuật thủy vân ảnh dựa trên phép biến đổi dữ liệu ảnh sang miền tần số thì phép biến đổi DTC cũng được sử dụng rất nhiều
Định nghĩa biến đổi cosin rời rạc hai chiều
Biến đổi DCT hai chiều tổng quát là biến đổi trên khối hai chiều bất kỳ MxN, trong đó các khối kích thước 8x8,16x16 được sử dụng nhiều nhất
Phép biến đổi DCT 8x8 được định nghĩa như sau:
) 16
) 1 2 ( cos(
) 16
) 1 2 ( cos(
) , ( 4
) ( ) ( ) ,
0
7 0
ππ
ζ
l k X v
u v u I
+ +
I(u,v) được gọi là hệ số DCT và là số thực
Còn biến đổi ngược IDCT được định nghĩa như sau:
) 16
) 1 2 ( cos(
) 16
) 1 2 ( cos(
) , ( 4
) ( ) ( )
,
0
7 0
ππ
ζ
v u I v u l
k
X
+ +
ở đây 0<=k, l, u, v<=7
Đặc điểm của phép biến đổi DCT ảnh hai chiều:
- Thể hiện đặc tính nội dung về tần số của thông tin ảnh Hệ số góc trên là lớn
và đặc trưng cho giá trị trung bình thành phần một chiều gọi là hệ số DC, còn các hệ
số khác có giá trị nhỏ hơn biểu diễn cho các thành phần tần số cao theo hướng ngang và theo hướng thẳng đứng gọi là hệ số AC
- Bản thân biến đổi DCT không nén được dữ liệu vì cũng sinh ra 64 hệ số
- Theo nguyên lý chung, khi biến đổi chi tiết giữa các điểm ảnh càng lớn theo một hướng nào đó trong khối các điểm ảnh, hướng ngang, hướng thẳng đứng hay
Trang 31theo hướng đường chéo Tương ứng theo các hướng đó, các hệ số biến đổi DCT cũng lớn
Hình 2.1 Năng lượng phân bố của ảnh Lena qua phép biến đổi DCT
Tóm lại, DCT làm giảm độ tương quan không gian của thông tin trong khối ảnh Điều đó, cho phép biểu diễn thích hợp ở miền DCT do các hệ số DCT có xu hướng có phần dư thừa ít hơn Hơn nữa, các hệ số DCT chứa thông tin về nội dung tần số không gian của thông tin trong khối Nhờ các đặc tính tần số không gian của
hệ thống nhìn của mắt người, các hệ số DCT có thể được mã hõa phù hợp, chỉ các
hệ số DCT quan trọng nhất mới được mã hóa để truyền đi
Khối hệ số DCT có thể chia thành ba miền, miền tần số thấp, chứa các thông tin quan trọng ảnh hưởng đến tri giác, miền tần số giữa, và miền tần số cao Các thông tin trong miền tần số cao thường không mang tính tri giác cao, khi nén JPEG thì thường loại bỏ thông tin trong miền này Hình 2.2 dưới đây mô tả sự phân chia
ba miền tần số của phép biến đổi DCT
Trong các thuật toán thủy vân, miền hệ số DCT tần số cao thường không được sử dụng do nó thường không bền vững với các phép xử lý ảnh hoặc nén ảnh JPEG Miền tần số thấp cũng khó được sử dụng do một sự thay đổi dù nhỏ trong miền này cũng ảnh hưởng đến chất lượng tri giác của ảnh Vì vậy, miền tần số ở giữa thường hay được sử dụng nhất và cũng cho kết quả tốt nhất
Trang 32(a)
(b)
(c)
Hình 2.2 Phân chia 3 miền tần số của phép biến đổi DCT
(a) Miền tần số thấp, (b) miền tần số ở giữa, (c) miền tần số cao
2.2.3 Phép biến đổi sóng nhỏ - Descrete Wavelet Transform (DWT)
Ý tưởng của DWT cho tín hiệu một chiều như sau: tín hiệu được chia thành 2 phần, phần tần số cao và phần tần số thấp Thành phần tần số thấp lại được chia tiếp thành hai phần có tần số cao và thấp Với các bài toán nén và thủy vân thường áp dụng không quá năm lần bước phân chia trên Ngoài ra, từ các hệ số DWT, ta có thể tạo lại ảnh ban đầu bằng quá trình DWT ngược hay IDWT
Có thể mô tả bằng toán học DWT và IDWT như sau Đặt
k
k e g
G(ϖ) =∑ − là lọc thông thấp và lọc thông cao tương ứng, mà thỏa mãn một vài điều kiện cho việc tái xây dựng ảnh ban đầu Một tín hiệu F(n) có thể được phân tích đệ quy như sau:
Trang 33) ( )
low
n k n
0 0
high J
low
được gọi là các hệ số của tín hiệu F(n), với f low0 (k)
J là phần tử nhỏ nhất (xấp xỉ) của F(n) và f high (k)
J là phần chi tiết của F(n) tại các dải tần khác nhau Tín hiệu ban đầu F(n) được xây dựng lại từ các hệ số DWT bằng cách đệ quy như sau:
) (
)
j k
k n
k j k
k n
H
H Hình 2.3 Cấu trúc phân tích và
ảnh nhận được qua phép biến đổi sóng nhỏ hai chiều Trong hình trên, sau hai lần thực hiện phép biến đổi DWT, ta thu được bảy băng tần con Các tần số thấp (đạt được bằng lọc thông thấp liên tiếp) tập trung ở
LL
xấp xỉ HL2
LH2 HH2
HL1 chi tiết ngang
LH1 chi tiết
dọc
HH1 chi tiết chéo
Trang 34góc trái trên và trông giống như một ảnh thu nhỏ của ảnh gốc, vì vậy dải phụ này còn được gọi là băng tần chi tiết còn lại
Biến đổi sóng nhỏ có rất nhiều lợi thế so với các biến đổi khác đó là:
- Biến đổi sóng nhỏ là một mô tả đa độ phân giải của ảnh Quá trình giải mã có thể được xử lý tuần tự từ độ phân giải thấp cho đến độ phân giải cao
- Biến đổi DWT gần gũi với hệ thống thị giác người hơn biến đổi DCT Vì vậy, có thể nén với tỉ lệ cao bằng DWT mà sự biến đổi ảnh khó nhận thấy hơn nếu trùng DCT với tỉ lệ tương tự
2.3 Kỹ thuật sinh chuỗi giả ngẫu nhiên
Kỹ thuật sinh chuỗi giả ngẫu nhiên thường được sử dụng để tạo thủy vân dựa trên phương pháp phân tích thống kê Tại sao lại gọi là giả ngẫu nhiên (pseudo – ramdom), vì không có cách nào để tạo ra các số ngẫu nhiên thực sự từ một máy vi tính Phương pháp tốt nhất chúng ta hy vọng là viết các chương trình để tạo ra các chuỗi số có được nhiều thuộc tính giống như các số ngẫu nhiên Một bộ sinh số ngẫu nhiên nên có càng nhiều càng tốt các đặc tính sau:
- Mẫu ngẫu nhiên: nó phải qua được phép kiểm tra thống kê về sự ngẫu nhiên
- Thời gian dài: nó phải đi càng xa càng tốt trước khi lặp lại
- Hiệu quả: nó phải chạy thật nhanh và chỉ đòi hỏi ít chỗ lưu trữ, đặc biệt là đối với các phép mô phỏng đòi hỏi hàng triệu số ngẫu nhiên
- Khả năng lập lại: nó nên tạo ra cùng một dãy nếu nó bắt đầu với cùng điều kiện khởi tạo
- Khả chuyển: nó nên chạy được trên những hệ thống máy tính khác nhau và khả năng tạo ra những dãy số như nhau trên mỗi hệ thống
- Thỏa mãn được toàn bộ yêu cầu trên đối với một bộ sinh số ngẫu nhiên là rất khó Ví dụ, một vài bộ sinh số ngẫu nhiên thường tạo ra các dãy số có đặc tính tuyến tính rất cao mà khi được thể hiện dưới dạng các điểm trong không gian, các
Trang 35dãy số này tạo thành hình ảnh “các điểm ngẫu nhiên đa số đều nằm trên một mặt phẳng nào đó”
Những cố gắng đầu tiên nhằm tạo ra bộ sinh ngẫu nhiên trên máy tính thường dựa vào các thủ tục rất rắc rối có độ phức tạp cao lại thường thất bại trong phép kiểm ngẫu nhiên Một ví dụ là phương pháp “ trung bình bình phương” (mid – square) Phương pháp này tạo dãy số như sau: số hiện tại là trung bình của các bình phương của các số của dãy đứng trước nó Sự thiếu hiểu biết về lý thuyết của những phương pháp như vậy đã tạo nên tác hại và người ta đã nhanh chóng nhận ra rằng các phương pháp đơn giản nhưng với nền tảng lý thuyết được hiểu cặn kẽ thực sự thích hợp hơn
Bộ sinh đồng dư ( congruential generator)
Bộ sinh đồng dư có dạng
Trong đó a và b là hai số nguyên cho trước, trị x0 ban đầu được gọi là “hạt giống” (seed) và số nguyên M là số xấp xỉ (hoặc bằng) với số nguyên lớn nhất trên máy tính Nếu trị số x0 được gán cố định thì việc sinh các dãy là tương đối giống nahu trong các lần chạy Để khởi tạo x0 sao cho các dãy sinh ra khác nhau, người ta thường lấy giờ được lưu trong CMOS để làm số mồi x0 Chất lượng của bộ sinh ngẫu nhiên phụ thuộc vào việc chọn lựa giá trị a và b Và trong bất kỳ trường hợp nào số lần sử dụng bộ sinh này không thể vượt quá M (vì nếu không nó sẽ phát sinh những số lặp lại) Ta có thể có được một bộ sinh ngẫu nhiên khá tốt bằng phương pháp này, nhưng giá trị của a và b phải được chọn lựa rất cẩn thận Nhiều bộ sinh số ngẫu nhiên được cung cấp cho máy tính là thuộc loại đồng dư và một số trong số chúng là rất tồi (không phân bố đều)
Xk=(axk-1+b)(mod M)
Trang 36Bộ sinh đồng dư tạo ra các số nguyên ngẫu nhiên trong đoạn từ 0 đến M-1
Để tạo ra các số thực chấm động ngẫu nhiên, được phân bố đồng nhất trong nửa đoạn [0,1), hay lấy số ngẫu nhiên có được chia cho M
1 vào để kết quả rơi vào nửa đoạn [0,1)
Bộ sinh Fibonacci cần nhiều chỗ lưu trữ hơn bộ sinh đồng dư và cũng đòi hỏi một thủ tục đặc biệt để khởi động (chọn số x1) Mặt khác, bộ sinh Fibonacci có các thuộc tính thống kê rất tốt Một ưu điểm nữa của bộ sinh Fibonacci là chúng có thời gian dài hơn bộ sinh đồng dư Lý do là sự lặp lại của một thành phần sau sẽ lặp lại theo đúng thứ tự
Bộ sinh đồng dư cải tiến
Bộ sinh này được dùng để phát sinh một số nguyên giả ngẫu nhiên trong miền [0 n-1] Đây là một bộ sinh ngẫu nhiên khá thông dụng, đặc biệt là trong các ứng dụng mô phỏng tự nhiên như mô phỏng vũ trụ vô tận Công thức của bộ đồng
dư cải tiến thay giá trị b ở bộ sinh đồng dư bằng giá trị 2a
Cho trước một số nguyên lớn a (người ta thường chọn a là một số nguyên tố)
và một số mồi x0, khi đó xi được xác định bằng công thức sau:
xk= xk-17 – xk-5
Trang 372.4 Kỹ thuật trải phổ truyền thông
Chúng ta đã biết giấu tin là kỹ thuật nhúng một lượng thông tin số nào đó vào trong một đối tượng thông tin số khác Và những người nghiên cứu đã liên tưởng ngay đến một kỹ thuật trong truyền thông cũng có nhưng thao tác tương tự và người ta đã áp dụng thành công ý tưởng đó [10] Kỹ thuật trải phổ trong truyền thông có thể được mô tả một cách sơ lược đơn giản như sau:
Từ một máy phát A muốn truyền thông tin M trên một kênh truyền đến máy
thu B, người ta chia thông tin M thành n gói thông tin nhỏ {s 1 , s 2 ,…, s i ,…, s n }, trước
khi đưa lên kênh truyền dẫn, mỗi gói tin nhỏ s i được trải phổ bằng một mã trải phổ
giả nhiễu Mã trải phổ giả nhiễu này phải được xác định và cung cấp cho bên thu để bên thu nén phổ lấy tin ra Kết quả của việc trải phổ là phổ của tín hiệu được trải rộng ra gấp hàng trăm lần so với ban đầu và mật độ năng lượng phổ cũng thấp xuống làm cho giống nhiễu Công việc này có một số ích lợi sau đây:
- Thứ nhất, thông tin thường có giải tần thấp dễ bị giao thoa với sóng khác
- Thứ hai, đảm bảo độ an toàn truyền tin tránh bị các máy thu khác không chủ đích thu được tín hiệu
- Thứ ba, trải phổ có tác dụng nhiều người dùng chung một giải băng tần Đến đầu thu, nhờ có mã giả nhiễu máy thu sẽ thực hiện việc đồng bộ hóa Việc đồng bộ hóa bao gồm hai giai đoạn đó là giai đoạn bắt chuỗi và bám chuỗi để tìm đúng pha của mã trải phổ giả ngẫu nhiên Sau khi tìm được đúng mã trải phổ giả ngẫu nhiên thì được thực hiện công việc nén phổ để thu được gói thông tin ban đầu Các gói thông tin lại được kết hợp với nhau để thu được thông điệp M
Bây giờ, hãy xem xét bài toán giấu tin dưới góc nhìn truyền thông Các yêu cầu chung nhất đối với thủy vân số đó là thuộc tính ẩn và thuộc tính bền vững, nhưng hai thuộc tính này như có một cái gì đó mâu thuẫn nhau Thuộc tính ẩn có
xi= (axi-1+2a) mod n
Trang 38nghĩa là nói đến những tín hiệu thủy vân phải có năng lượng nhỏ để tránh được những tri giác bình thường trong khi đó thuộc tính bền vững lại nói đến các tín hiệu phải đủ lớn để có thể phát hiện ra sự tồn tại của thủy vân và lấy ra được từ nguồn chứa Dưới những điều kiện này thì ban đầu lý thuyết truyền thông trải phổ là một cách thích hợp nhất cho thủy vân số vì nó sẽ trải rộng tín hiệu thủy vân với một biên
độ thấp nhưng với băng thông đủ rộng để có thể nắm được năng lượng của các tín hiệu dành cho việc phát hiện thủy vân
Ta có thể coi quá trình truyền đối tượng đã được nhúng thủy vân dưới sự tác động của các tấn công bên ngoài cũng giống như là truyền dữ liệu trong môi trường không tin cậy Tiến trình nhúng thủy vân cũng giống như tiến trình mã kênh Giải
mã để lấy thủy vân cũng giống như tiến tình xử lý ở bên nhận thông tin trong một phiên truyền thông
Nhiều kỹ thuật và công cụ trong truyền thông cũng có thể được áp dụng để nâng cao độ bền vững của thủy vân Sẽ là rất thuận tiện nếu ta sử dụng những lý thuyết truyền thông để áp dụng cho thủy vân số Mặc dù những lý thuyết này chủ yếu nhằm vào tính bền vững cảu thủy vân và như vậy nghĩa là không đầy đủ, tuy nhiên nó rất hữu ích trong việc thiết kế và đánh giá thuật toán cho thủy vân
2.5 Các kỹ thuật giấu tin trên ảnh
2.5.1 Kỹ thuật giấu tin theo khối bit
Để thực hiện việc giấu tin trong môi trường ảnh, trước hết cần số hóa các bức ảnh theo những chuẩn phổ biến như BMP, JPEG, GIF,… Sau khi số hóa, tùy thuộc cấp độ màu khác nhau, có thể phân chia môi trường ảnh thành các loại ảnh đen trắng, ảnh xám hay ảnh màu Ảnh đen trắng là ảnh nhị phân có 1 bit màu biểu diễn mỗi điểm ảnh Ứng với điểm đen, bit mang giá trị 0 và ứng vơi điểm trắng, bit mang giá trị 1 Giấu thông tin trong ảnh đen trắng thường gây nhiễu, dễ nhận biết được bằng mắt thường, số lượng thông tin giấu cũng được hạn chế
Trang 39Ảnh màu trong máy tính là một mảng số thể hiện cường độ sáng tại mỗi điểm ảnh Các điểm ảnh cấu trúc theo dạng ảnh mành, số điểm ảnh thay đổi tùy thuộc độ phân giải của màn hình máy tính
Khi chuyển một ảnh tương tự (analog) sang ảnh số, người ta có thể chọn những cách thể hiện màu khác nhau:
- Ảnh 8 bit màu: Mỗi điểm ảnh có thể nhận 1 trong 28(256 màu), chọn từ bảng màu
- Ảnh 8 bit xám: Mỗi điểm ảnh có thể nhận 1 trong 28(256 mức xám) Mức xám là kết quả sự mã hóa tương ứng một cường độ sáng cảu mỗi điểm ảnh với một giá trị số sau quá trình lượng hóa Các mã hóa kinh điển thường dùng là là 16, 32,
64 mức Mã hóa 28=256 (0,1,…, 256) mức là phổ dụng nhất, mỗi điểm ảnh sẽ được
mã hóa bằng tổ hợp 8 bit
- Ảnh 24 bit màu: mỗi điểm ảnh có thể nhận 1 trong 224 (trên 16 triệu màu), mỗi màu là sự pha trộn của 3 màu cơ bản RGB (Red – đỏ, Green – màu xanh lá cây, Blue – xanh da trời), nhận giá trị từ 0 đến 255
Đối tượng đầu tiên mà kỹ thuật giấu tin nhăm đến là lớp ảnh bitmap (BMP),
là loại ảnh phổ biến nhất trên mạng Internet, loại ảnh này cho dung lượng giấu tin cao và các phương pháp giấu tin thuận tiện
Thuật toán giấu tin trong khối bit thường được ứng dụng cho các tệp dữ liệu môi trường kiểu hai màu (đen trắng) như các bản photocopy, fax, mã vạch, hay ảnh đen trắng Ảnh đen trắng khó giấu tin, do đặc điểm mỗi điểm ảnh chỉ được biểu diễn bởi một giá trị bit ( 0 hoặc 1) Nếu ta thay đổi giá trị từ bit 0 sang 1 hay ngược lại thì đều làm xuất hiện những điểm đen, điểm trắng lạ trên ảnh do đó dễ bị phát hiện
Trang 40a) Ý tưởng
Ý tưởng cơ bản của thuật toán trong kỹ thuật này là chia một ảnh gốc thành các khối nhỏ và trong mỗi khối nhỏ sẽ giấu không quá một bit thông tin Thuật toán này dùng cho cả ảnh màu, ảnh đa mức xám và ảnh đen trắng nhưng để dễ trình bày thuật toán chúng ta sẽ sử dụng ảnh đen trắng
Thuật toán giấu tin:
Algorithm SDH ( simple data hiding)
Input:
- File ảnh Bitmap đen trắng F
- Dữ liệu cần giấu d được biểu diễn dưới dạng nhị phân (dãy bit 0/1) Output:
- File ảnh đã giấu tin G
Format: G=SDH(F,d)
Method:
Bước 1: Đọc header của ảnh (phần chứa thông tin ảnh) để lấy thông tin về
ảnh Sau đó đọc toàn bộ dữ liệu ảnh vào một mảng hai chiều A (M x N)để sử dụng cho việc giấu tin
Bước 2: Quá trình giấu tin
- Chia A thành các khối kích thước m x n
- Với mỗi khối B trong A ta xét khả năng giấu một bit dữ liệu d i của d
theo quy tắc cân bằng tính chẵn lẻ như sau:
Gọi t là tổng số điểm trắng (bit mang giá trị 1) trong B Nếu t và d i cùng tính
chẵn lẻ thì không sửa khối B và coi như khối này đã được giấu bit dữ liệu d i Trong
trường hợp ngược lại, nếu t và d i khác tính chẵn lẻ thì đảo ngẫu nhiên một bit trong
B để t và d i trở thành cùng tính chẵn lẻ