Thuỷ vấn số hay nhúng thuỷ vân trong một phương tiện là một công nghệ mới được đánh giá mang lại nhiều hứa hẹn trong ứng dụng bảo vệ bản quyền, phát hiện xuyên tạc, điều khiển truy cập đ
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
PHẠM CÔNG HÒA
TÌM HIỂU PHƯƠNG PHÁP THỦY VÂN SỐ THUẬN NGHỊCH VÀ XÂY DỰNG ỨNG DỤNG
Chuyên ngành: Hệ thống thông tin
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS NGÔ QUỐC TẠO
Hà Nội - 2012
Trang 3MỤC LỤC
LỜI CAM ĐOAN 4
DANH MỤC CHỮ VIẾT TẮT 5
DANH MỤC CÁC BẢNG VÀ HÌNH VẼ 6
MỞ ĐẦU 8
CHƯƠNG 1: TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN VÀ THỦY VÂN SỐ 10
1.1 Kỹ thuật giấu tin trong phương tiện số 10
1.1.1 Khái niệm giấu tin và lý thuyết cơ sở 10
1.1.2 Phân loại các kỹ thuật giấu tin 11
1.1.3 Mô hình kỹ thuật giấu tin 11
1.1.4 Giấu tin trong dữ liệu đa phương tiện 12
1.1.4.1 Giấu tin trong ảnh số 12
1.1.4.2 Giấu tin trong Audio 14
1.1.4.3 Giấu tin trong Video 15
1.1.4.4 Giấu tin trong văn bản 15
1.2 Kỹ thuật thủy vân số 16
1.2.1 Lịch sử phương pháp thủy vân số 16
1.2.2 Mô hình thủy vân số 17
1.2.3 Các tính chất quan trọng của kỹ thuật thủy vân số 18
1.2.4 Hệ thống thủy vân số 19
1.2.4.1 Quá trình nhúng thủy vân 19
1.2.4.2 Quá trình trích thủy vân 20
1.2.5 Các hướng ứng dụng của thủy vân 20
1.3 Phân biệt giữa giấu tin và thủy vân 22
CHƯƠNG 2: THỦY VÂN THUẬN NGHỊCH TRÊN ẢNH SỐ 23
2.1 Thủy vân số thuận nghịch 23
2.2 Thủy vân số trên miền không gian 24
2.2.1 Cơ sở lý thuyết 24
2.2.2 Một số thuật toán 25
2.2.2.1 Thuật toán 1(SW) 25
2.2.2.2 Thuật toán 2 (Wu-Lee) 27
2.2.2.3 Thuật toán 3 (PCT) 30
2.2.2.4 Thuật toán 4 (LSB) 33
Trang 42.3 Thủy vân số trên miền tần số 35
2.3.1 Biến đổi cosin rời rạc (DCT) 35
2.3.2 Kỹ thuật thủy vân trên miền DCT 37
2.3.2.1 Thuật toán DCT 1 38
2.3.2.2 Thuật toán DCT 2 39
2.3.2.3 Thuật toán DCT 3 41
2.4 Thủy vân số trên miền Wavelet 43
2.4.1 Phép biến đổi DWT 43
2.4.2 Các thuật toán thủy vân trên miền DWT 45
2.4.2.1 Thuật toán DWT-1 45
2.4.2.2 Thuật toán DWT-2 46
CHƯƠNG 3: XÂY DỰNG CHƯƠNG TRÌNH THỬ NGHIỆM 48
3.1 Phát biểu bài toán 48
3.2 Phân tích và thiết kế hệ thống 48
3.2.1 Mô tả chức năng hệ thống 48
3.2.2 Ứng dụng thử nghiệm 52
3.2.3 Đánh giá độ phức tạp và các tấn công trên ảnh 55
KẾT LUẬN 57
TÀI LIỆU THAM KHẢO 58
Trang 5DANH MỤC CHỮ VIẾT TẮT
CP Bảo vệ bản quyền tác giả (CopyRight Protection) CWT Biến đổi wavelet liên tục (Continuous Wavelet Transform) DCT Biến đổi Cosine rời rạc (Discrete Cosine Transform)
iDCT Biến đổi Cosine rời rạc nghịch (Discrete Cosine
Transform) DFT Biến đổi Fourier rời rạc (Discrete Fourier Transform) DWT Biến đổi sóng nhỏ rời rạc (Discrete Wavelet Transform)
iDWT Biến đổi sóng nhỏ rời rạc ngƣợc (Inverse Discrete Wavelet
Transform)
JPEG Chuẩn nén ảnh của ủy ban JPEG quố tế (Joint
Photographic Experts Group) LSB Bít quan trọng nhất (Least Significant Bit)
PCT Thuật toán thủy vân đặt theo tên 3 tác giả Hsiang-Kuang
Pan, Yu-YuanChen và Yu-chee Tseng
SW Thuật toán thủy vân đơn giản (Simple Watermarking) Wu-Lee Thuật toán thủy vân đặt theo tên 2 tác giả M.Y.Wu và
J.H.Lee
Trang 6DANH MỤC CÁC BẢNG VÀ HÌNH VẼ
1 Danh mục bảng:
Bảng 1.1: Ví dụ bảng các hệ số DCT 35
Bảng 1.2: Minh họa thuật toán DCT3 41
2 Danh mục hình vẽ: Hình 1.1: Quá trình chèn (giấu) tin và tách tin 11
Hình 1.2: Sơ đồ phân loại kỹ thuật giấu tin của A.P Pentitcolas 1999 theo hai hướng nghiên cứu chính là giấu tin mật và thủy vân số 15
Hình 1.3: Ví dụ về thủy vân ẩn và thủy vân hiện 16
Hình 1.4: Mô hình thủy vân do Sviatoslav Voloshynovskiy và các cộng sự đề xuất 16
Hình 1.5: Sơ đồ hệ thống thủy vân số 19
Hình 2.1: Mô hình thủy vân thuận nghịch 22
Hình 2.2: Minh họa thuật toán 1(SW): nhúng bit 1 vào khối ảnh B 25
Hình 2.3: Minh họa chọn điểm ảnh giấu tin vào những khối ảnh một màu 26
Hình 2.4: Minh họa thuật toán Wu-Le: nhúng đoạn bit 011 27
Hình 2.5 Minh họa thuật toán 3 (TCP) 31
Hình 2.6: Minh họa thuật toán 4 (LSB) 33
Hình 2.7 Phân chia 3 miền tần số thấp giữa, cao của phép biến đổi DCT 35
Hình 2.8 Quy trình nhúng và tách thủy vân theo kỹ thủy vân trên miền DCT 36
Hình 2.9 Sự khác nhau giữa sóng (a) và sóng nhỏ (b) 42
Hình 3.1 Sơ đồ chức năng hệ thống 48
Trang 7Hình 3.2: Giao diện khi mở ảnh gốc 51
Hình 3.3: Giao diện ghi lại ảnh đã thủy vân 52
Hình 3.4: Giao diện mở ảnh đã thủy vân 53
Hình 3.5: Giao diện ghi ảnh đã trích thủy vân 54
Trang 8MỞ ĐẦU
1 Lý do chọn đề tài
Trong kỷ nguyên số, thông tin số được sử dụng rộng rãi trong một môi trường mở: tài nguyên được phân phối cho nhiều người sử dụng, nhu cầu được bảo vệ bản quyền và sở hữu trí tuệ các sản phẩm số đã trở thành một vấn đề quan trọng và được nhiều cơ sở nghiên cứu quan tâm Thuỷ vấn số hay nhúng thuỷ vân trong một phương tiện là một công nghệ mới được đánh giá mang lại nhiều hứa hẹn trong ứng dụng bảo vệ bản quyền, phát hiện xuyên tạc, điều khiển truy cập đối với các dữ liệu đa phương tiện
Bằng cách sử dụng thủy vân, dữ liệu số sẽ bảo vệ khỏi sự sao chép bất hợp pháp Tạo thuỷ vân là một phương pháp nhúng một lượng thông tin nào đó vào trong dữ liệu đa phương tiện cần được bảo vệ sở hữu mà không để lại ảnh hưởng nào đến chất lượng của sản phẩm Thuỷ vân phải tồn tại bền vững với sản phẩm số và không thể loại bỏ bằng bất
kì những tấn công có chủ đích hay không chủ đích nào trừ khi phá hủy sản phẩm Thủy vân luôn gắn kết với dữ liệu số Bằng trực quan thì khó có thể phát hiện được thủy vân trong dữ liệu chứa nhưng ta có thể tách được chúng bằng các chương trình có cài đặt thuật toán thủy vân Thủy vân tách được từ dữ liệu số chính là bằng chứng kết luận dữ liệu số
có bị xuyên tạc thông tin hay vi phạm bản quyền không
Thủy vân thuận nghịch sử dụng một phương pháp biến đổi trực giao nào đó, chẳng hạn như Cosine rời rạc, hay Fourier… để chuyển miền không gian ảnh sang miền tần số Thuỷ vân sẽ được nhúng trong miền không gian tần số của ảnh theo kĩ thuật trải phổ trong truyền thông Sau khi trích rút thông tin thủy vân thì vật mang tin (sản phẩm số) vẫn đảm bảo được chất lượng gần như ban đầu Đây là kĩ thuật phổ biến với nhiều thuật toán và được hứa hẹn là một phương pháp tốt giải quyết vấn đề đảm bảo hai thuộc tính quan trọng của thuỷ vân sau khi giấu – đó là tính ẩn và tính bền vững
Dựa vào ý tưởng trên, tôi chọn đề tài “Tìm hiểu phương pháp thủy vân số thuận nghịch và xây dựng ứng dụng” làm nội dung nghiên cứu cho luận văn tốt nghiệp 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 giấu tin trong
đó tập trung vào nhánh thứ hai của giấu tin là thủy vân thuận nghịch trên các phương tiện
số Từ đó, xây dựng chương trình thử nghiệm cài đặt một số thuật toán thủy trên vân thuận nghịch trên ảnh số nhằm ứng dụng xác thực thông tin và bảo vệ bản quyền cho dữ liệu ảnh số
Trang 93 Đối tượng và phạm vi nghiên cứu
Luận văn tập trung nghiên cứu các kỹ thuật thủy vân thuận nghịch trên ảnh số Chương trình thử nghiệm mà luận văn xây dựng là hệ thống nhúng và tách thủy vân nhằm xác thực nội dung thông tin và bảo về bản quyền ảnh số nhưng vẫn đảm bảo chất lượng của ảnh số như ban đầu sau khi trích thủy vân
4 Phương pháp thực hiện
Phương pháp thực hiện đề tài là nghiên cứu các vấn đề liên quan đến thủy vân số, sau
đó tiến hành xây dựng và cài đặt chương trình thử nghiệm
5 Kết quả đạt được
Luận văn đã hệ thống lại các kiến thức cơ bản về giấu tin và thủy vân số, nghiên cứu một số thuật toán thủy vân trên miền không gian và miền tần số Đồng thời cài đặt thành công thuật toán thủy vân trên miền DCT nhằm ứng dụng xác định bản quyền tác giả
6 Bố cục của luận văn
Luận văn được chia làm 3 chương
Chương 1 Tổng quan về kỹ thuật giấu tin và thủy vân số
Nội dung chương 1 đưa ra các kiến thức cơ bản về kỹ thuật giấu tin và thủy vân, từ
đó chỉ ra thủy vân là một nhánh của giấu tin So sánh các phương pháp thủy vân trên miền không gian, miền tần số và thủy vân thuận nghịch Tuy nhiên, mục đích của thủy vân khác hoàn toàn so với mục đích của giấu tin mật và mã hóa Điều này được thể hiện cụ thể ở phần phân tích các hướng ứng dụng quan trọng của thủy vân trong đời thường Có nhiều môi trường đa phương tiện để thực hiện giấu tin và cũng có chừng đó môi trường
để thực hiện thủy vân
Chương 2 Thủy vân thuận nghịch trên ảnh số
Chương này trình bày một số thuật toán thủy vân trên các miền: miền không gian, miền tần số dựa vào biến đổi Cosine rời rạc DCT và miền tần số dựa vào biến đổi sóng nhỏ rời rạc DWT
Chương 3 Xây dựng chương trình thử nghiệm
Phần này sẽ phân tích và thiết kế các modul cho hệ thống, cài đặt thuật toán thủy vân thuận nghịch và chạy thử nghiệm chương trình Thuật toán được lựa chọn cài đặt là thuật toán thủy vân CPT trên miền không gian và thuật toán thủy vân dựa vào DCT trên miền tần số
Trang 10CHƯƠNG 1: TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN VÀ THỦY
VÂN SỐ 1.1 Kỹ thuật giấu tin trong phương tiện số
1.1.1 Khái niệm giấu tin và lý thuyết cơ sở
Steganography có nguồn gốc từ tiếng Hy Lạp và được sử dụng tới ngày nay, nó 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ó từ rất lâu Những tài liệu tìm thấy ghi chép về kỹ thuật giấu thông tin sớm nhất thuộc về sử gia Hy Lạp Herodotus (khoảng năm 440 trước Công nguyên) Khi bạo chúa
Hy Lạp Histiaeus bị vua Darius bắt giữ ở Susa vào thế kỷ thứ 5 trước Công nguyên, ông
ta đã cố gửi 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ệ đó Khi tóc của người nô lệ mọc đủ dài, anh ta được gửi tới Miletus
Trong một câu chuyện khác về thời Hy Lạp cổ đại cũng do Herodotus ghi lại, thì môi trường để ghi văn bản lại là những viên thuốc 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 khỏi các viên thuốc, khắc thông báo lên bề mặt những viên thuốc này, rồi 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 được để ngỏ và lọt qua mọi sự kiểm tra một cách dễ dàng
Ý tưởng về che giấu thông tin đã có từ hàng nghìn năm trước, nhưng trước kia kỹ thuật này chỉ được dùng chủ yếu trong quân đội và các cơ quan tình báo Trong vài thập niên gần đây, giấu tin giành được rất nhiều sự quan tâm của các nhà nghiên cứu, các viện công nghệ, và nhiều công trình nghiên cứu có giá trị đã ra đời Nguyên nhân dẫn tới sự thay đổi này chính là cuộc cách mạng số hóa thông tin và sự phát triển nhanh chóng của mạng truyền thông Những phiên bản sao chép hoàn hảo, các kỹ thuật thay thế, sửa đổi tinh vi, cộng với sự trao đổi dữ liệu đa phương tiện trên mạng đã sinh ra nhiều vấn đề nhức nhối về nạn ăn cắp bản quyền, phân phối bất hợp pháp, xuyên tạc thông tin trái phép,…
Vậy giấu tin là gì? 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 một đối tượng dữ liệu số khác Kỹ thuật giấu thông tin nhằm bảo đảm an toàn và bảo mật thông tin với 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 dùng để giấu dữ liệu vào.Yêu cầu cơ bản của kỹ thuật giấu tin là không làm ảnh hưởng đến dữ liệu gốc
Trang 11Kỹ thuật giấu thông tin nhằm mục đích đảm bảo an toàn và bảo mật mật thông tin ở
cả hai khía cạnh Một là bảo mật cho dữ liệu được đem giấu, hai là bảo mật cho chính đối tượng được dùng để giấu tin Điều này dẫn đến hai khuynh hướng chủ yếu của giấu tin:
Khuynh hướng thứ nhất là giấu tin mật (steganography) Khuynh hướng này tập trưng vào các kỹ thuật giấu tin sao cho thông tin giấu được nhiều và quan trọng là người khác khó phát hiện dược một đối tượng có bị giấu tin bên trong hay không
Khuynh hướng thứ hai là thủy vân số (watermarking) Khuynh hướng thủy vân số đánh giấu vào đối tượng nhằm khẳng định bản quyền quyền sở hữu hay phát hiện
sự xuyên tạc thông tin
1.1.2 Phân loại các kỹ thuật giấu tin
Hai mục đích khác nhau của kỹ thuật giấu tin dẫn đến hai hướng kỹ thuật chủ yếu là giấu tin mật và thủy vân
Giấu tin mật là kỹ thuật giấu một lượng thông tin lớn vào một dữ liệu chứa nào đó sao cho người khác khó phát hiện được một đối tượng có giấu tin bên trong hay không nhằm bảo vệ lượng thông tin đem nhúng Đồ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 càng nhiều càng tốt Tuy nhiên, 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
Các thành phần trong quá trình giấu tin:
Dữ liệu nguồn (Host Signal): là dữ liệu gốc được dùng làm nơi giấu dữ liệu Ví dụ nếu giấu tin trong bức ảnh thì bức ảnh là dữ liệu nguồn
Dữ liệu nhúng (Embed Data): là dữ liệu cần giấu, nó được nhúng vào dữ liệu nguồn, còn gọi là phương tiện giấu tin
Khoá và chìa (nếu cần): để mã hóa thông tin trước khi giấu vào ảnh
Dữ liệu mang thông tin ẩn: là sản phẩm của quá trình giấu tin
1.1.3 Mô hình kỹ thuật giấu tin
Hệ thống giấu tin nói chung bao gồm 2 phần chính: chèn tin và tách tin
Giai đoạn chèn tin, các thông tin khoá (công khai hoặc bí mật) và tin giấu được chèn vào ảnh gốc để được sản phẩm mang tin giấu Giai đoạn tách tin, dữ liệu, khoá (bí mật) và hoặc ảnh gốc (ảnh không chèn tin) sẽ làm dữ liệu cơ sở để tách tin từ sảm phẩm mang tin giấu
Trang 12Hình 1.1: Quá trình chèn (giấu) tin và tách tin
Trong đó:
Mẩu tin mật: có thể là văn bản hoặc tệp ảnh hay bất kỳ một tệp nhị phân nào, vì quá trình xử
lý chúng ta đều chuyển chúng thành chuỗi các bit
Ảnh phủ hay ảnh gốc: ảnh được dùng để làm môi trường nhúng tin mật
Khoá K: khoá viết mật tham gia vào quá trình giấu tin, tăng tính bảo mật
Ảnh mang tin: là ảnh sau khi đã nhúng tin mật vào đó
1.1.4 Giấu tin trong dữ liệu đa phương tiện
Kỹ thuật giấu tin đã được nghiên cứu và áp dụng trong nhiều môi trường dữ liệu khác nhau như trong dữ liệu đa phương tiện (văn bản, hình ảnh, âm thanh, phim), trong sản phẩm phần mềm và gần đây là những nghiên cứu trên lĩnh vực cơ sở dữ liệu quan hệ Trong các dữ liệu đó, dữ liệu đa phương tiện là môi trường chiếm tỷ lệ chủ yếu trong các
kỹ thuật giấu tin
1.1.4.1 Giấu tin trong ảnh số
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à không ai biết được đằng sau đó mang những thông tin có ý nghĩa Ngày nay, khi ảnh số
đã được sử dụng phổ biến, giấu thông tin trong ảnh đã đem lại nhiều những ứng dụng
Trang 13quan trọng trên nhiều lĩnh vực trong đời sống xã hội Ví dụ đối với các nước phát triển, chữ ký tay đã được số hóa và lưu trữ sử dụng như hồ sơ các nhân của các dịch vụ ngân hàng và tài chính, nó được dùng để xác thực trong các thẻ tín dụng của người tiêu dùng Phần mềm WinWord của Microsoft cũng cho phép người dùng lưu trữ chữ ký trong ảnh nhị phân rồi gắn vào vị trí nào đó trong file văn bản để đảm bảo tính an toàn của thông tin Tài liệu sau đó được truyền trực tiếp qua máy fax hoặc lưu truyền trên mạng Theo đó, việc xác thực chữ ký, xác thực thông tin đã trở thành một vấn đề quan trọng khi việc ăn cắp thông tin hay xuyên tạc thông tin bởi các tin tặc đang trở thành một vấn nạn đối với bất kỳ quốc gia nào, tổ chức nào Hơn nữa có nhiều loại thông tin quan trọng cần được bảo mật như những thông tin về an ninh, thông tin về bảo hiểm hay các thông tin về tài chính, các thông tin này được số hóa và lưu trữ trong hệ thống máy tính hay trên mạng Chúng dễ bị lấy cắp và bị thay đổi bởi các phần mềm chuyên dụng Việc xác thực cũng như phát hiện thông tin xuyên tạc đã trở nên vô cùng quan trọng 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, tương 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 chất lượng ảnh gần như không thay đổi đặc biệt đối với ảnh mầu hay ảnh đa cấp xám
Các kỹ thuật giấu tin trong ảnh hiện nay đều thuộc vào một trong 3 nhóm:
Giấu tin trong miền quan sát Đây là kỹ thuật giấu tin vào các bit có trọng số thấp
(Least Significant Bit) Phương pháp này được áp dụng trên các ảnh bitmap không nén, các ảnh dùng bảng mầu Ý tưởng chính của phương pháp là lấy từng bit của mẫu tin mật rồi rải nó lên ảnh mang, thay đổi bit có trọng số thấp của ảnh bằng các bit của mẫu tin mật
và mắt người không cảm nhận được sự thay đổi đó
Các phương pháp dựa vào kỹ thuật biến đổi ảnh Ví dụ biến đổi từ miền không
gian sang miền tần số nhằm đảm bảo tính bền vững của thông tin được gấu, sử dụng cho
kỹ thuật thủy vân bền vững Ý tưởng chính là nhúng thông tin bằng cách điều chế các hệ
số của phép biến đổi Cosin rời rạc theo các bit tin cần giấu và sự làm tròn lỗi khi lượng hóa Một số phương pháp khác thuộc nhóm này sử dụng ảnh như mô hình vật lý với các dải phổ thể hiện mức năng lượng Khi đó giấu tin giống như việc điều chế một tín hiệu dải hẹp vào một dải tần rộng (ảnh phủ)
Các phương pháp sử dụng mặt nạ giác quan Nhóm này dựa trên nguyên lý đánh
lừa giác quan của con người bằng cách làm mờ bức ảnh “Mặt nạ” ở đây ám chỉ hiện tượng mắt người không cảm nhận được một tín hiệu nếu nó ở bên cạnh một tín hiệu nhất định nào đó
Trang 141.1.4.2 Giấu tin trong Audio
Giấu thông tin trong audio mang những đặc điểm riêng khác với giấu thông tin trong các đối tượng đa phương tiện khác Một trong những yêu cầu cơ bản của giấu tin là đảm bảo tính chất ẩn của thông tin được giấu đồng thời không làm ảnh hưởng 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 khá nhạy cảm, 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 những đoạn thông tin nhiễu dễ dàng bị phát hiện làm cho việc giấu tin gặp khó khăn 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 của 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 Các thuật toán giấu tin trong audio được thực hiện trong miền biến đổi tần số, sử dụng kỹ thuật: mã hóa bit thấp, mã hóa tiếng vang, mã hóa pha,
Mã hóa bít thấp: Cũng như các file ảnh, phương pháp chèn vào các bit ít quan trọng
cũng lưu trữ dữ liệu giấu vào trong các bit ít quan trọng của file audio Phương pháp mã hóa LSB là cách đơn giản nhất để nhúng thông tin vào trong dữ liệu audio Phương pháp này sẽ thay thế bít ít quan trọng nhất (thường là bít cuối) của mỗi mẫu dữ liệu bằng bit thông tin giấu
Mã hóa pha là kỹ thuật thực hiện giấu tin trong audio thông qua việc thay thế pha
của một segment audio ban đầu bằng một pha tham chiếu (referency phase) thể hiện dữ liệu Pha của các segment tiếp theo sẽ được điều chỉnh sao cho duy trì mối quan hệ giữa các đoạn
Kỹ thuật giấu dựa vào tiếng vang thực hiện giấu tin bằng cách thêm vào tiếng vang
trong tín hiệu gốc Dữ liệu nhúng được giấu bằng cách thay đổi 3 tham số của tiếng vang: biên độ ban đầu, tỉ lệ phân rã và độ trễ Khi thời gian giữa tín hiệu gốc và tiếng vang giảm xuống, hai tín hiệu có thể trộn lẫn và người nghe khó có thể phân biệt giữa hai tín hiệu Số lượng tin giấu có liên quan đến thời gian trễ của tiếng vang và biên độ của nó
Trang 151.1.4.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ả Nhiều kỹ thuật giấu tin trong ảnh được áp dụng cho giấu tin trong video nhưng đảm bảo các ràng buộc:
Do dữ liệu video là rất lớn nên thời gian để giấu tin cũng rất lớn Vì vậy, việc giấu tin phải được thực hiện trong thời gian thực để truyền các tín hiệu video
1.1.4.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
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, giấu tin được thực hiện bằng cách điều chỉnh khoảng cách giữa các dòng hoặc thay đổi kích thước 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 161.2 Kỹ thuật thủy vân số
1.2.1 Lịch sử phương pháp thủy vân số
Phương pháp thủy vân đầu tiền được thực hiện là thủy vân trên giấy Đó là một thông tin nhỏ được nhúng chìm trong giấy để thể hiện bản gốc hoặc bản chính thức Theo Hartung và Kutter, thủy vân trên giấy đã bắt đầu được sử dụng vào năm 1292 ở Fabriano, Italy – nơi được coi là nơi sinh của thủy vân Sau đó, thủy vân đã nhanh chóng lan rộng trên toàn Italy và rồi trên các nước châu Âu và Mỹ Ban đầu, thủy vân giấy được dùng với mục đích xác định nhãn hàng và nhà máy sản xuất Sau này được sử dụng để xác định định dạng, chất lượng và độ dài, ngày tháng của sản phẩm
Đến thế kỷ thứ 18, nó bắt đầu được dùng cho tiền tệ và cho đến nay thủy vân vẫn là một công cụ được dùng rộng rãi với mục đích bảo mật cho tiền tệ, chống làm tiền giả Thuật ngữ “thủy vân” (watermarking) được đưa ra vào cuối thế 18, nó bắt nguồn từ một loại mực vô hình khi viết lên giấy và chỉ hiển thị khi nhúng giấy đó vào nước Năm 1988, Komatsu và Tominaga đã đưa ra thuật ngữ “thủy vân số” (Digital watermarking)
Vậy thủy vân số là quá trình sử dụng các thông tin (ảnh, chuỗi bít, chuỗi số) nhúng một cách tinh vi vào dữ liệu số (ảnh số, audio, video hay text) nhằm xác định thông tin bản quyền của tác phẩm số Mục đích của thủy vân số là bảo vệ bản quyền cho phương tiện dữ liệu số mang thông tin thủy vâ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
Hình 1.2: Sơ đồ phân loại kỹ thuật giấu tin của A.P Pentitcolas 1999 theo hai hướng
nghiên cứu chính là giấu tin mật và thủy vân số
Giấu tin (Information hiding)
Thủy vân số (watermaking)
Thủy vân dễ vỡ (Fragile watermarking)
Thủy vân bền vững (robust copyright marking)
Thủy vân hiện (Visible watermarking)
Giấu tin mật (steganography)
Thủy vân ẩn (Imperseptipl Mermarking)
Trang 17Thủ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 Hướng này được sử dụng để bảo vệ bản quyền tác giả
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 nào trên dữ liệu chứa Hướng này được sử dụng để phát hiện xuyên tạc thông tin
Ở mỗi loại thủy vân bền vững hoặc thủy vân dễ vỡ lại chia thành hai loại dựa theo đặc tính đó là thủy vân ẩn và thủy vân hiện Thủy vân hiện cho phép nhìn thấy thông tin đem nhúng vào dữ liệu chứa Loại này được sử dụng cho mục đích công bố công khai về quyền sở hữu Ngược lại, thủy vân ẩn không cho phép nhìn thấy nội dung thông tin nhúng
và 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
Hình 1.3: Ví dụ về thủy vân ẩn và thủy vân hiện
1.2.2 Mô hình thủy vân số
Hình 1.4: Mô hình thủy vân do Sviatoslav Voloshynovskiy và các cộng sự đề xuất
Trang 18Mô Mô hình thủy vân Sviatoslav Voloshynovskiy được chia làm 3 phần chính:
1.2.3 Các tính chất quan trọng của kỹ thuật thủy vân số
Tính bền vững: Chất lượng của thuật toán phụ thuộc vào tính bền vững của thủy vân
Đặc biệt đối với thủy vân bền vững, yêu cầu quan trọng là thủy vân không bị thay đổi sau một số phép xử lý trên đối tượng được nhúng Đối với ảnh số, các phép xử lý này có thể
là phép nén thông tin, lọc, tính tiến, quay, làm sắc ảnh, xén ảnh,…
Tính vô hình: Đối với thủy vân ẩn thì mọi thuật toán đều cố gắng nhúng thủy vân sao
cho chúng không bị phát hiện bởi người sử dụng Thông thường đối với một thuât toán nếu tính bền vững cao thì tính vô hình kém và ngược lại, do đó cần có sự cân nhắc giữa tính bền vững và tính vô hình để đảm bảo thủy vân đạt được cả tính bền vững cũng như tính vô hình
Tính bảo mật: Bảo mật đối với khóa, thủy vân sao cho nếu một ai đó không có quyền
thì không thể dò được thủy vân
Tính phức tạp của kỹ thuật thuỷ vân thể hiện ở hai tính chất mâu thuẫn (tính bền vững và tính ẩn) lẫn nhau này Nếu như để đảm bảo tính ẩn thì thuỷ 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, nhưng để đảm bảo được tính bền vững thì thuỷ vân phải chịu được những phép xử lí ảnh phổ biến như dịch chuyển ảnh, co giãn ảnh, quay ảnh hoặc nén ảnh Đơn cử như phép nén JPEG lại 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 bảo được chất lượng ảnh Căn cứ trên các giải pháp đã được công bố, ta có thể phân loại các
kĩ thuật hiện nay thành hai nhóm chính:
Nhóm các kĩ thuật biến đổi miền không gian ảnh (spatial image transfroms): nhóm kĩ thuật này tập trung vào việc thay đổi trực tiếp lên không gian các điểm ảnh và sử dụng các mô hình tri giác và phương pháp hình học Tuy nhiên, các kĩ thuật này chỉ đảm bảo được thuộc tính ẩn mà không có
Trang 19tính bền vững Kĩ thuật này thường được sử dụng trong các ứng dụng nhận thực thông tin, phát hiện xuyên tạc
Nhóm các kĩ thuật biến đổi miền tần số ảnh (frequency image transforms): Nhóm kĩ thuật này sử dụng một phương pháp biến đổi trực giao nào đó, chẳng hạn như Cosine rời rạc, hay Fourier… để chuyển miền không gian ảnh sang miền tần số Thuỷ vân sẽ được nhúng trong miền không gian tần số của ảnh theo kĩ thuật trải phổ trong truyền thông Đây là kĩ thuật phổ biến nhất với nhiều thuật toán và được hứa hẹn là một phương pháp tốt giải quyết vấn đề đảm bảo hai thuộc tính quan trọng của thuỷ vân sau khi giấu
Ngoài hai nhóm trên, gần đây đã xuất hiện những ký thuật dựa trên đặc thù của ảnh
1.2.4 Hệ thống thủy vân số
Hệ thống thủy vân số là quá trình sử dụng một thủy vân nhúng vào trong một dữ liệu
số để được một dữ liệu số có chứa thủy vân hay gọi là dữ liệu có bản quyền Dữ liệu có bản quyền này sẽ được phân phối trên kênh truyền tin Trong quá trình phân phối, dữ liệu bản quyền có thể bị tấn công trái phép hoặc yếu tố gây nhiễu Nếu dữ liệu số bản quyền bị nghi ngờ sao chép trái phép hoặc chỉnh sửa thông tin thì có thể xác minh nhờ quá trình tách thủy vân đã nhúng Như vậy, hệ thống thủy vân số nói chung bao gồm 2 quá trình là quá trình nhúng thủy vân và quá trình tách thủy vân
Thủy vân mang thông tin bảo mật hoặc bản quyền về dữ liệu chứa
Khóa thủy vân được dùng cho cả phiên nhúng và phát hiện thủy vân Khóa thủy vân
là duy nhất với mỗi thủy vân Khóa đó là khóa bí mật, chỉ tác giả mới biết Điều đó nói lên rằng chỉ tác giả mới phát hiện ra được thủy vân Tùy từng bộ nhúng thủy vân mà có các yêu cầu với khóa thủy vân
1.2.4.1 Quá trình nhúng thủy vân
Giai đoạn này gồm thông tin khóa thủy vân, thủy vân, dữ liệu chứa và bộ nhúng thủy vân
Dữ liệu chứa bao gồm các đối tượng như văn bản, audio, video, ảnh… dạng số, được dùng làm môi trường để giấu tin
Bộ nhúng thủy vân là chương trình được cài đặt những thuật toán thủy vân và được thực hiện với một khóa bí mật
Thủy vân sẽ được nhúng vào trong dữ liệu chứa nhờ một bộ nhúng thủy vân Kết quả quá trình này là được dữ liệu chứa đã nhúng thủy vân gọi là dữ liệu có bản quyền và được
Trang 20phân phối trên các môi trường khác nhau Trên đường phân phối có nhiễu và sự tấn công
từ bên ngoài Do đó yêu cầu các kỹ thuật thủy vân số phải bền vững với cả nhiễu và sự tấn công trên
1.2.4.2 Quá trình trích thủy vân
Quá trình tách thủy vân được thực hiện thông qua một bộ tách thủy vân tương ứng với bộ nhúng thủy vân cùng với khóa của quá trình nhúng Kết quả thu được là một thủy vân Thủy vân thu được có thể giống với thủy vân ban đầu hoặc sai khác do nhiễu và sự tấn công trên đường truyền
Hình 1.5: Sơ đồ hệ thống thủy vân số
1.2.5 Các hướng ứng dụng của thủy vân
Bảo vệ bản quyền tác giả CP (copyright protection): Đây là ứng dụng cơ bản nhất
của kỹ thuật thủy vân Trong thực tế, nhiều tác phẩm đã có tác quyền nhưng vẫn bị sử dụng sai mục đích Các thông báo tác quyền này thường được đặt ở một vị trí nào đó trên tác phẩm được phân phối Chẳng hạn, ta thường thấy trên các tài liệu văn bản là
“copyright ngày người sở hữu .” hay trên các tác phẩm âm thanh thì được đặt trên băng đĩa vật lý hoặc trên bao bì, Vấn đề bảo vệ bản quyền này không được đảm bảo vì không quá khó để loại bỏ nó ra khỏi một tài liệu khi cần sao chép Ví dụ, một giáo viên sao chép một số trang từ quyển sách mà quên sao chép thông báo tác quyền ở trang tiêu
Kênh truyền tin
Khóa thủy vân
Trang 21đề Một ví dụ khác nữa là ảnh của người mẫu Lena- một ảnh thử thông thường nhất trong lĩnh vực xử lý ảnh Ban đầu nó là một ảnh phóng to lồng giữa trang tạp chí của Playboy Khi ảnh được scan và dùng cho mục đích kiểm thử, ảnh đã bị cắt xén chỉ còn khuôn mặt
và vai của Lena, dòng chữ Playboy đánh dấu tác quyền cũng bị cắt Ngoài ra, những dòng chữ thông tin về tác quyền này cũng làm giảm bớt vẻ đẹp của bức ảnh
Do các dấu thủy vân có thể vừa không thể nhìn thấy vừa không thể tách rời tác phẩm chứa nó nên sẽ là giải pháp tốt cho việc bảo vệ bản quyền tác giả Dấu thủy vân (một thông tin nào đó mang ý nghĩa quyền sở hữu tác giả) sẽ được nhúng vào trong các sản phẩm, dấu thủy vân đó chỉ người chủ sở hữu hợp pháp các sản phẩm đó có và được dùng làm minh chứng cho bản quyền sản phẩm Giả sử có một 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 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 bỏ thủy vân này mà không được phép của người chủ sở hữu thì chỉ có một cách duy nhất là phá hủy sản phẩm
Xác thực thông tin và phát hiện xuyên tạc thông tin (authentication and tamper detection): dấu thủy vân không chỉ được dùng để chỉ ra thông tin bản quyền tác giả mà
còn được dùng để xác thực thông tin và phát hiện xuyên tạc thông tin Dấu thủy vân sẽ được nhúng trong một tác phẩm sau đó được lấy ra và so sánh với dấu thủy vân ban đầu Nếu có sự sai lệch chứng tỏ tác phẩm gốc đã bị tấn công và xuyên tạc Các thủy vân nên được ẩn để tránh sự tò mò của đối phương, 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 xét đến 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 (ví dụ như phân biệt một đối tượng đa phương tiện chứa thông tin giấu đã bị thay đổi, xuyên tạc nội dung hay chỉ bị nén mất dữ liệu) 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 bền vững
Dấu vân tay hay dán nhãn (fingerprinting and labeling): 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 một thông tin nào đó
Ví dụ các vân khác nhau sẽ được nhúng vào các bản copy khác nhau của thông tin gốc trước khi chuyển cho nhiều người Với những ứng dụng này, yêu cầu là đảm bảo độ an toàn cao cho các thủy vân, tránh khả năng xóa dấu vết trong khi phân phối
Điều khiển truy nhập (copy control): Các thiết bị phát hiện thủy vân (ở đây 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) được gắn sẵn vào trong các hệ thống đọc ghi, tùy thuộc vào việc có thủy vân hay không để điều khiển (cho phép/cấm) truy cập Ví dụ hệ thống quản lý sao chép DVD đã được ứng dụng ở Nhật
Trang 221.3 Phân biệt giữa giấu tin và thủy vân
Xét về tính chất, thủy vân giống giấu tin ở chỗ cả hai hướng này đều tìm cách nhúng thông tin mật vào một môi trường Nhưng về bản chất thì thủy vân và giấu tin có những nét khác ở một số điểm sau:
Mục tiêu của thủy vân là nhúng thông tin không lớn, thường là biểu tượng, chữ ký hay các đánh dấu khác vào môi trường phủ nhằm phục vụ việc xác nhận bản quyền Ngược lại, giấu tin mật yêu cầu lượng thông tin giấu là lớn
Thủy vân khác với giấu tin mật ở chỗ giấu tin sau đó cần tách lại tin còn thủy vân tìm cách biến tin giấu thành một thuộc tính của vật mang
Chỉ tiêu quan trọng nhất của một thủy vân là tính bền vững, của giấu tin là dung lượng
Thủy vân có thể vô hình hoặc hữu hình trên vật mang còn giấu tin chỉ được vô hình
Trang 23CHƯƠNG 2: THỦY VÂN THUẬN NGHỊCH TRÊN ẢNH SỐ 2.1 Thủy vân số thuận nghịch
Thủy vân là phương pháp nhúng thông tin vào một tín hiệu kỹ thuật số như âm thanh, hình ảnh, video Thủy vân thuận nghịch có thể khôi phục lại hình ảnh ban đầu mà không
có bất kỳ sự biến dạng sau khi dữ liệu được trích ra từ sản phẩm đã nhúng thủy vân
Hình 2.1: Mô hình thủy vân thuận nghịch
Trong thời gian gần đây giấu thuận nghịch được quan tâm một cách đặc biệt Các nghiên cứu gần đây về thủy vân thuận nghịch: quá trình trích thủy vân để nhận thông tin nhúng có thể cần hoặc không cần đến ảnh gốc nhưng kết quả thu về ngoài thông tin nhúng
ta có thêm một ảnh có các thuộc tính giống như ảnh gốc
Một vài lĩnh vực như y học, quân đội hoặc nghiên cứu thực nghiệm vật lý phân tử hạt nhân, nó đòi hỏi không những tách đúng thông điệp mà còn khôi phục xấp xỉ đúng ảnh gốc ban đầu Vào năm 2001, phương pháp giấu thuật nghịch đầu tiên được đề xuất bởi Honsinger cùng các đồng nghiệp [6], từ đó đến nay nhiều kỹ thuật giấu thuật nghịch được công bố với hai hình thức giấu chính là trong miền dữ liệu và trong miền dữ liệu biến đổi
Gần đây, kỹ thuật giấu thuận nghịch (NSAS) dựa trên dịch chuyển histogram của ảnh được Zhicheng Ni và các đồng nghiệp đề xuất [7], họ chỉ ra rằng kỹ thuật giấu này có độ phức tạp tính toán thấp, không làm thay đổi nhiều nội dung ảnh Sau đó để nâng cao lượng thông điệp giấu trong ảnh, Hwang và các đồng nghiệp để xuất kỹ thuật HKC [8] dựa trên cải tiến kỹ thuật của Ni để có thể giấu thông điệp với lượng giấu lớn hơn kỹ thuật NSAS
Đối với một số ứng dụng quan trọng như thực thi pháp luật, hệ thống hình ảnh y tế và quân sự, nó là rất quan trọng để khôi phục lại hình ảnh ban đầu mà không có bất kỳ biến dạng Các kỹ thuật thủy vân đáp ứng những yêu cầu được gọi là 'reversible watermarking' Thủy vân thuận nghịch được thiết kế để thông tin nhúng có thể được loại
bỏ hoàn toàn, khôi phục lại hình ảnh ban đầu Thủy vân thuận nghịch mới chỉ được nghiên cứu trong thập kỷ gần đây, nó đã gây sự chú ý rất lớn đối với các nhà nghiên cứu
Do nhiều nghiên cứu trong lĩnh vực này nên rất khó khăn để đánh giá một thuật toán cho một ứng dụng cụ thể Vì vậy, cần có những nghiên cứu xác định để so sánh các thuật toán này trên một số tiêu chí nào đó
Ảnh đã nhúng
Trích thủy vân
Trang 242.2 Thủy vân số trên miền không gian
Các thuật toán thủy vân trong miền không gian tập trung vào việc thay đổi trực tiếp trong miền điểm ảnh Thế mạnh của phương thức thủy vân trong miền điểm ảnh là đơn giản và có độ phức tạp tính toán thấp Tuy nhiên, kỹ thuật này chỉ đảm bảo thuộc tính ẩn
mà không có tính bền vững Vì vậy, các thuật toán này được cài đặt cho ứng dụng xác thực thông tin của ảnh số
2.2.1 Cơ sở lý thuyết
Ý 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ỏ, số lượng bit giấu trong mỗi khối tùy thuộc vào từng thuật toán 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
Ảnh đen trắng (hay còn gọi là ảnh nhị phân) là ảnh chỉ có hai giá trị mức xám là 0 (đen) và 1 (trắng) Để tạo thủy vân cho ảnh đen trắng ta đem nhúng thủy vân vào ảnh nhị phân Thông thường việc nhúng thủy vân vào ảnh đen trắng khó thực hiện hơn ảnh đa cấp xám hay ảnh mầu Lý do là ảnh nhị phân chỉ có hai mức xám duy nhất, vì thế nếu thay đổi một bit của điểm ảnh thì đồng nghĩa với thay đổi toàn bộ điểm ảnh
Có hai cách để nhúng dữ liệu vào ảnh nhị phân là thay đổi giá trị của từng bít riêng lẻ hoặc thay đổi giá trị của một nhóm bít Cách thứ nhất sẽ đảo ngược một điểm đen thành trắng hoặc một điểm trắng thành đen Cách tiếp cận thứ hai sẽ làm thay đổi một số đặc trưng của ảnh như độ dày của cạnh, vị trí tương quan giữa các bit…Cách tiếp cận này tùy thuộc nhiều vào kiểu ảnh (kiểu văn bản, kiểu bản đồ…) Vì số tham số có thể thay đổi là hữu hạn, đặc biệt là với yêu cầu thủy vân ẩn, tổng số dữ liệu có thể dấu được là hữu hạn Một số phép toán thường dùng khi thủy vân trên miền không gian:
Phép đảo bit: là một phép biến đổi trên các bit nhị phân Đảo bit b được hiểu là phép
biến đổi thay b bởi 1-b, tức là nếu ban đầu b nhận giá trị 0 thì sau khi đảo bit nó sẽ nhận giá trị 1 và ngược lại, nếu ban đầu b có giá trị là 1 thì sau khi đảo b mang giá trị 0
Phép XOR (kí hiệu ): là phép cộng loại trừ các phần tử tương ứng trên hai ma trân:
C= A B, với Cij =1nếu Aij Bij; Cij=0 nếu Aij = Bij
Phép Sum ma trận A (ký hiệu là Sum[A]) được định nghĩa là tổng tất cả các phần
tử của ma trận A
Phép nhân bit hai ma trận A, B (ký hiệu là A^ B) được định nghĩa:
C=A ^ B, với Cij =1 nếu Aij =Bij=1,
Trang 25là điểm đen, bit 0 gọi là điểm trắng
Ý tưởng cơ bản của thuật toán này là chia một ảnh gốc thành các khối nhỏ, trong mỗi khối nhỏ sẽ giấu không quá một bit thông tin
- Chia F thành các khối kích thước m x n
- Với mỗi khối B trong F ta xét khả năng giấu một bit dữ liệu d i của d theo các bước:
+ Bước 1: tính tổng SUM[B] các điểm đen trong khối B, đặt t=SUM[B] mod 2
Ví dụ minh họa:
- Giả sử giấu một bit dữ liệu b=1 vào khối B (Hình 2.1)
+ Ta có Sum(B)=8 Do Sum(B) mod 2 =0 nên khối B không thỏa mãn yêu cầu để giấu bit 1 Muốn giấu bit 1 vào khối này ta cần phải thay đổi khối bằng cách chọn một bit bất kỳ và đổi từ 0 sang 1 hoặc từ 1 sang 0 Giả sử ta đảo lại bít tại vị trí B[2,2] ta được khối B’ đã được nhúng bit 1
Trang 26Nhúng bit 1
Hình 2.2 Minh họa thuật toán 1(SW): nhúng bit 1 vào khối ảnh B
+ Giả sử vẫn với khối B đã cho như trên nhưng ta phải giấu bit dữ liệu b=0 vào khối
đó Ta thấy do Sum(B)=8 nên Sum(B) mod 2=0 Khối B được bảo toàn và bit dữ liệu b=0 xem như được giấu
Trong thuật toán thủy vân này, khóa đơn giản là kích thước của khối, tức là bộ số (m,
n) Nếu biết kích thước của khối thì dễ dàng trích lại dữ liệu d theo các bước:
Bước 1: Chia ảnh có nhúng thủy B’ thành các khối kích thước m x n, với mỗi
khối Bi’ trong B’ ta tính Sum[Bi’]
Bước 2: Tách thủy theo cách xét
Nếu Sum[Bi’] là chẵn thì bit di=0
Ngược lại, nếu Sum[Bi’] là lẻ thì bit di=1
Với thuật toán này việc chọn khối là 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ể chọn ngẫu nhiên một khối chưa giấu ở mỗi lần giấu, hoặc chọn các khối theo một thuật toán xác định kèm theo một khóa K Khi đó, ta đã làm tăng được độ an toàn của thuận toán vì khóa bây giờ còn thê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ư khối thứ nhất có kích thước khối là 8x8, khối thứ hai có kích thước
là 8x12 trong trường hợp này thì khóa sẽ gồm cả kích thước khối của mỗi lần giấu
Kỹ thuật trên sẽ gặp phải hiện tượng gây bất thường đối với ảnh sau khi giấu thông tin đặc biệt khi chọn vào những khối ảnh một màu, chẳng hạn một khối toàn đen hoặc toàn trắng Khi đó, nếu cần đảo giá trị một bit thì vị trí bit đảo sẽ khác biệt hoàn toàn với các bit trong khối và dễ bị nhận biết có sự thay đổi Vì vậy để xác định nên thay đổi bít
Trang 27nào trong khối bít ta phải tính hệ số ảnh hưởng của bít đó khi nó bị thay đổi Hệ số này tính bằng cách xét sự thay đổi về tính trơn và tính liên kết với các điểm láng giềng Tính trơn được đo theo sự chuyển đổi mức xám theo chiều ngang và chiều dọc, đường chéo trong cửa sổ 3x3 Tính liên kết được tính bằng số nhóm điểm đen và số nhóm điểm trắng
Ví dụ: Nếu đảo một điểm ảnh trong hình (a) sẽ ít bị chú ý hơn điểm ảnh trong hình (b)
Hình 2.3: Minh họa chọn điểm ảnh giấu tin vào những khối ảnh một màu
2.2.2.2 Thuật toán 2 (Wu-Lee)
Thuật toán này của 2 tác giả M.Y Wu và J.H.Lee đưa ra cải tiến hơn thuật toán 1 bằng việc đưa thêm khóa K sử dụng trong quá trình nhúng và tách thủy vân đồng thời đưa thêm các điều kiện đảo bit trong mỗi khối Với thuật toán này, có thể nhúng một bít vào mỗi khối bằng cách hiệu chỉnh nhiều nhất 1 bít của khối Kỹ thuật này có khả năng làm tăng dữ liệu có thể nhúng
Xét ảnh gốc F, khóa bí mật K và một số dữ liệu được nhúng vào F Khóa bí mật K là một ma trận ảnh có kích thước mxn Để đơn giản ta giả sử kích thước của ảnh gốc F là bội
số của mxn Quá trình nhúng thu được ảnh F có một số bit đã bị hiệu chỉnh Thuật toán thực hiện như sau:
Bước 1: Chia F thành các khối, mỗi khối có kích thước mxn
Bước 2: Với mỗi khối Fi thu được ở bước 1 Kiểm tra điều kiện:
0< SUM(Fi^K)< SUM(K)
Nếu điều kiện trên đúng thì tiếp tục thực hiện bước 3 để nhúng một bit vào Fi Ngược lại, dữ liệu sẽ không được nhúng vào Fi và Fi sẽ được giữ nguyên
Bước 3: Giả sử bit được nhúng vào Fi là b Để hiệu chỉnh Fi ta làm như sau:
Trường hợp 1: Nếu (SUM(FiK) mod2 = b) thì không thay đổi Fi và bit b hiển nhiên đã được nhúng vào khối Fi
Trường hợp 2: Nếu (SUM(FiK) mod2 ≠ b) và SUM(FiK)=1 thì chọn ngẫu nhiên một bit của Fi tại vị trí (i,j) mà Fi(j,k)=0 và K(j,k)=1, đảo Fi(j,k) thành 1
Trang 28Trường hợp 3: Nếu (SUM(FiK) mod2 ≠ b) và SUM(FiK)=SUM(K)-1 thì chọn ngẫu nhiên một bit của Fi tại vị trí (j,k) mà Fi(j,k)=1 và K(j,k)=1, đảo Fi(j,k) thành 0
Trường hợp 4: Nếu (SUM(FiK) mod2 ≠ b) và 1<SUM(FiK)<SUM(K)-1 thì chọn ngẫu nhiên một bit của Fi tại vị trí (j,k) mà K(j,k)=1 và đảo ngược Fi(j,k)
Trong bước 3 chỉ thực hiện tối đa một phép đảo một bit của Fi để thu được khối Fi’ nhằm đảo bảo tính bất biến
Ví dụ minh họa:
Giả sử ta cần nhúng dãy bit d=011 vào một ảnh F có kích thước 6x6 với một ma trận
khóa K có kích thước 3x3 như trong hình 2.3 Ta có SUM(K)=5
Chia ảnh F thành bốn khối nhỏ mỗi khối sẽ có kích thước là 3x3 ta thu được F1, F2, F3, F4
Hình 2.4: Minh họa thuật toán Wu-Le: nhúng đoạn bit 011
Áp dụng thuật toán, lần lượt nhúng các bít vào các khối như sau:
- Với F1, Vì SUM(F1^K) = 5 =SUM(K) không thỏa mãn điều kiện nhúng nên không nhúng dữ liệu vào trong F1
- Với F2, SUM(F2^K) =3 thỏa mãn điều kiện nhúng và bít cần nhúng là 0
Vì SUM(F2^K) mod 2=3 mod 2 0 và 1<SUM(F2^K) <SUM(K)-1 nên ta chọn ngẫu nhiên một vị trí để đảo bit trong khối F2 , chẳng hạn vị trí (2,3) thoả mãn K[2,3]=1
(theo trường hợp 4) Sau khi đảo bit F2[2,3] ta thu được khối F2’ như trên hình vẽ (bit bị đảo được tô xám)
- Với F3, SUM(F3^K)=3 thỏa mãn điều kiện nhúng và bit cần nhúng là 1
Ta có SUM(F3^K) mod 2=3 mod 2=1=b Khối F3’ thu được giữ nguyên khối F3
nhưng với ý nghĩa là khối đã được giấu bit b=1 (theo trường hợp 1)
- Với F4, SUM(F4^K)=4 thỏa mãn điều kiện nhúng và bit cần nhúng là 1
Ta có SUM(F4^K)mod2=4mod2=0 b và SUM(F4^K)=SUM(K)-1 Theo trường
hợp 3 trong thuật toán, ta chọn vị trí (2,1) để đảo bit trong khối F4 vì với phần tử này ta có
Trang 29F4[2,1]=1 và K[2,1]=1 Sau khi đảo bit F4[2,1] ta thu được khối F4’ như trên hình vẽ (bit
bị đảo được tô xám)
Phương pháp giấu tinWu-Lee cho phép giấu nhiều nhất 1 bit dữ liệu trong 1 khối Giả sử có được bất biến 0<SUM(Fi^K) < SUM(K)
Trong thuật toán nhúng tin, tiến hành đảo 1 bit trong mỗi khối Fi sao cho tổng số bit 1 của Fi^K bằng tổng số bit 1 của K, tức là:
Việc chọn khóa K nhằm làm tăng độ bảo mật của thuật toán Nếu thuật toán 1 chỉ
biết kích thước khối là m x n thì đối phương rất dễ khai thác được thủy vân
Phép toán Fi^K quy định thuật toán chỉ được phép sửa các bit trong khối Fi ứng với bit 1 trong khóa K Như vậy, khóa K được xem như một mặt nạ, tạo ra khung nhìn cho thuật toán Ta có thể thay phép toán ^ bằng một phép toán khác, chẳng hạn phép
Điều kiện 0<SUM(Fi^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ộ
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 F
để đảo cần tuân thủ theo nguyên tắc: Nếu Fi^K có nhiều bit 1 thì chọn bit 1, ngược lại nếu Fi^K 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ì khóa K là bí mật nên thông tin đã 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 bên 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ỏ
Ảnh F được lựa chọn để nhúng tin có quá nhiều điểm trắng hay quá nhiều điểm đen đều làm giảm tỷ lệ bít giấu được
Thuật toán Wu-Lee đơn giản, lượng tin giấu được không thấp nhưng tính bảo mật không cao, không thích hợp với ảnh có mảng đen hoặc trắng rộng