1. Trang chủ
  2. » Luận Văn - Báo Cáo

Hệ thống thủy vân số và ứng dụng

64 1K 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 64
Dung lượng 3,04 MB

Nội dung

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 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ố.. Thủy vân là kỹ thuật

Trang 1

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

PHÙNG THỊ LAN

HỆ THỐNG THỦY VÂN SỐ VÀ ỨNG DỤNG

LUẬN VĂN THẠC SĨ

Hà Nội - 2011

Trang 2

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

Trang 3

MỤC LỤC

LỜI CAM ĐOAN 1

DANH MỤC CÁC CHỮ VIẾT TẮT 4

DANH MỤC CÁC BẢNG, HÌNH VẼ 5

MỞ ĐẦU 6

CHƯƠNG 1 - TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN VÀ THỦY VÂN SỐ 8

1.1 KỸTHUẬTGIẤUTIN 8

1.1.1 Khái niệm giấu tin 8

1.1.2 Phân loại các kỹ thuật giấu tin 8

1.1.3 Giấu tin trong dữ liệu đa phương tiện 11

1.2 TỔNGQUANVỀTHỦYVÂNSỐ 14

1.2.1 Lịch sử phương pháp thủy vân số 14

1.2.2 Hệ thống thủy vân số 14

1.2.3 Các khả năng tấn công trên hệ thống thủy vân 16

1.2.4 Đặc trưng của thủy vân số 16

1.2.5 Các hướng ứng dụng của thủy vân số 17

CHƯƠNG 2 - MỘT SỐ THUẬT TOÁN THỦY VÂN TRÊN ẢNH SỐ 19

2.1.TỔNGQUANVỀẢNHSỐVÀXỬLÝẢNHBITMAP 19

2.1.1 Khái niệm về ảnh số và phân loại 19

2.1.2 Cấu tạo của ảnh bitmap 19

2.1.3 Xử lý ảnh bitmap 20

2.2. CÁCTHUẬTTOÁNTHỦYVÂNTRÊNMIỀNKHÔNGGIAN 21

2.2.1 Ý tưởng 21

2.2.2 Các phép toán sử dụng trong thuật toán 22

2.2.3 Thuật toán 1(SW) 23

2.2.4 Thuật toán 2 (Wu-Lee) 25

2.2.5 Thuật toán 3 (PCT) 27

2.2.6 Thuật toán 4 (LSB) 31

2.3.CÁCTHUẬTTOÁNTHỦYVÂNDỰATRÊNMIỀN DCT 32

Trang 4

2.3.1 Biến đổi cosin rời rạc DCT 32

2.3.2 Quy trình kỹ thuật thủy vân trên miền DCT 34

2.3.3 Thuật toán DCT 1 36

2.3.4 Thuật toán DCT 2 40

2.3.5 Thuật toán DCT 3 41

2.4.CÁCTHUẬTTOÁNTHỦYVÂNDỰATRÊNMIỀNDWT 43

2.4.1 Biến đổi sóng nhỏ rời rạc DWT 43

2.4.2 Thuật toán DWT1 48

2.4.3 Thuật toán DWT2 50

CHƯƠNG 3 - XÂY DỰNG ỨNG DỤNG 52

3.1.PHÁTBIỂUBÀITOÁN 52

3.2.PHÂNTÍCHBÀITOÁN 52

3.2.1 Đặc tả yêu cầu người sử dụng 52

3.2.2 Mô tả chức năng hệ thống 52

3.3.CHƯƠNGTRÌNHTHỬNGHIỆM 55

3.3.1 Chức năng nhúng thủy vân 55

3.3.2 Chức năng tách thủy vân 57

3.3.3 Kiểm tra tính xác thực thông tin 57

3.3.4 Kiểm tra tính bền vững 58

KẾT LUẬN 61

TÀI LIỆU THAM KHẢO 62

Trang 5

DANH MỤC CÁC CHỮ VIẾT TẮT

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

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 LSB Bít quan trọng nhất (Least Significant Bit)

DCT Biến đổi Cosine rời rạc (Discrete Cosine Transform) DWT Biến đổi sóng nhỏ rời rạc (Discrete Wavelet Transform)

Trang 6

DANH MỤC CÁC BẢNG, HÌNH VẼ

DANHMỤCCÁCBẢNG

Bảng 2.1 Ví dụ bảng các hệ số DCT 33

Bảng 2.2 Minh họa thuật toán DCT 1 38

Bảng 2.3 Minh họa thuật toán DCT3 42

Bảng 3.1 Bảng tổng hợp kết quả thử nghiệm 60

DANHMỤCCÁCHÌNHVẼ Hình 1.1 Sơ đồ phân loại kỹ thuật giấu tin 9

Hình 1.2 Ví dụ về thủy vân ẩn và thủy vân hiện 10

Hình 1.3 Sơ đồ hệ thống thủy vân số 15

Hình 2.1 Minh họa thuật toán 1(SW): nhúng bit 1 vào khối ảnh B 23

Hình 2.2: Minh họa chọn điểm ảnh giấu tin vào những khối ảnh một màu 24

Hình 2.3 Minh họa thuật toán Wu-Le: nhúng đoạn bit 011 26

Hình 2.4 Minh họa thuật toán 3 (TCP): nhúng đoạn bit “001010000001” 30

Hình 2.5 Minh họa thuật toán 4 (LSB): nhúng bít 1110 31

Hình 2.6 Phân chia 3 miền tần số của phép biến đổi DCT 34

Hình 2.7 Quy trình nhúng và tách thủy vân theo kỹ thủy vân trên miền DCT 35

Hình 2.8 Sự khác nhau giữa sóng(a) và sóng nhỏ(b) 43

Hình 2.9 Sơ đồ phân tách ảnh 2 chiều 45

Hình 2.10 Thể hiện bước phân tách ảnh 2 chiều 45

Hình 2.11 Sơ đồ bước xử lý ghép ảnh 2 chiều 46

Hình 2.12 Lược đồ sau ba mức phân tách theo kiểu hình chóp 47

Hình 2.13 Kết quả phân tách kiểu hình chóp 47

Hình 2.14 Lược đồ qua hai lần phân tách kiểu đóng gói 48

Hình 2.15 Kết quả phân tách kiểu đóng gói 48

Hình 3.1 Sơ đồ chức năng hệ thống 53

Hình 3.2 Giao diện khi mở ảnh gốc 55

Hình 3.3 Giao diện khi tạo thủy vân 56

Hình 3.4 Giao diện khi nhúng thủy vân 56

Hình 3.5 Giao diện khi tách thủy vân 57

Hình 3.6 Kết quả tách thủy vân từ ảnh chứa thủy vân không bị chỉnh sửa 58

Hình 3.7 Kết quả tách thủy vân từ ảnh sau khi tấn công tăng độ sáng 58

Hình 3.8 Chất lươ ̣ng ảnh sau kiểm ứng bằng Photoshop 59

Trang 7

MỞ ĐẦU

1 Lý do chọn đề tài

Ngày nay, cùng với sự phát triển của công nghệ thông tin là sự phát triển mạnh

mẽ của các phương tiện dữ liệu số (như các bức ảnh, các audio, video ), việc đánh dấu bản quyền cho các dữ liệu này cũng ngày một cải tiến và nâng cao Tuy nhiên, công nghệ thông tin phát triển giúp cho việc chỉnh sửa, sao chép các dữ liệu số trở lên

dễ dàng điều này kéo theo một thực trạng là số lượng các bản sao chép bất hợp pháp của các dữ liệu số ngày một nhiều Làm thế nào để xác nhận bản quyền tác giả, phát hiện sự xuyên tạc thông tin là một nhu cầu thiết yếu nhằm bảo vệ bản quyền cho các phương tiện dữ liệu số Kỹ thuật thủy vân số (Digital Watermarking) là một trong những giải pháp đưa ra để giải quyết vấn đề này

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 Thủy vân là một mẩu tin được ẩn trực tiếp trong dữ liệu số 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

Đó là những lí do mà em chọn đề tài “Hệ thống thủy vân số và ứ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 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 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ố

3 Đố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 trên ảnh số Ứng dụng 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ố

Trang 8

cài đặt thành công thuật toán thủy vân trên miền không gian nhằm ứng dụng xác thực nội dung thông tin và 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 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 Một số thuật toán thủy vân 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 ứng dụng

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 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 9

CHƯƠNG 1 - TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN VÀ

1.1 Kỹ thuật giấu tin

Loài người đã biết đến nhiều phương pháp bảo vệ thông tin khác nhau, giải

pháp được biết đến sớm nhất đó là các hệ mật mã Với phương pháp này, thông tin ban

đầu được mã hóa, sau đó sẽ được giải mã nhờ khóa của hệ mã Độ an toàn của thông

tin là do độ phức tạp của việc tìm ra khóa giải mã Các hệ mật mã như DES, RSA,

NAPSACK…đã được sử dụng rất hiệu quả và phổ biến cho đến ngày nay Tuy nhiên,

việc truyền các thông tin sau khi mã hóa sẽ khiến đối phương nghi ngờ và tìm mọi

cách để thám mã Hơn nữa, việc mã hóa và giải mã chỉ đảm bảo an toàn cho dữ liệu

trong quá trình truyền thông, sau khi giải mã dữ liệu sẽ không được bảo vệ nữa

Một hướng nghiên cứu mới đã thu hút sự quan tâm của nhiều người trong

những năm gần đây đó là kỹ thuật giấu tin Cho tới nay kỹ thuật giấu tin đã được ứng

dụng mạnh mẽ ở nhiều nước trên thế giới

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

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 [7]

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

Thủy vân là kỹ thuật giấu (nhúng) một lượng thông tin nhỏ vào dữ liệu nguồn

nhằm ứng dụng bảo vệ bản quyền, phát hiện xuyên tạc thông tin cho dữ liệu được

nhúng 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

Trang 10

Hình 1.1 Sơ đồ phân loại kỹ thuật giấu tin

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 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

Giấu tin (Information hiding)

Thủy vân bền vững (robust copyright marking)

Thủy vân dễ vỡ (Fragile watermarking)

Thủy vân hiện (Visible watermarking)

Trang 11

Hình 1.2 Ví dụ về thủy vân ẩn và thủy vân hiện

 Phân biệt giấu tin mật và thủy vân

Xét về tính chất, thủy vân giống giấu tin mật ở 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 12

1.1.3 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.3.1 Giấu tin trong ảnh

Hiện nay giấu tin trong ảnh chiếm tỷ lệ lớn nhất trong các chương trình ứng dụng, các phần mềm, các hệ thống giấu tin trong phương tiện do lượng thông tin được trao đổi bằng ảnh là rất lớn Hơn nữa, giấu thông tin trong ảnh cũng đóng vai trò quan trọng trong hầu hết các ứng dụng bảo vệ an toàn thông tin như: xác thực thông tin, bảo

vệ bản quyền tác giả, điều khiển truy cập, giấu tin bí mật…Do đó vấn đề này đã nhận được sự quan tâm lớn của các cá nhân, tổ chức, trường đại học, và viện nghiên cứu trên thế giới [1]

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 quan 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

Trang 13

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 đó

1.1.3.2 Giấu tin trong audio

Giấu thông tin trong audio mang những đặc điểm riêng khác với giấu thông tin trong các đối tượng đa phương tiện khác Một trong những yêu cầu cơ bản của giấu tin

là đảm bảo tính chất ẩn của thông tin được giấu đồng thời không làm ảnh hưởng 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

Trang 14

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ó

1.1.3.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 đi

- Do giới hạn của băng thông nên việc giấu tin không được làm thay đổi kích thước của dữ liệu

- Các dữ liệu video thường được lưu ở dạng nén, thông thường dựa vào quá trình xử lý sự thay đổi ảnh từ khung hình này đến khung hình khác Vì vậy, khi giấu tin cần đảm bảo rằng thông tin không quá dễ phát hiện ra bằng mắt thường

1.1.3.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 15

1.2 Tổng quan về 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 [8], 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à gì? 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

1.2.2 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

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

Trang 16

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 phâ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

 Quá trình tá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.3 Sơ đồ hệ thống thủy vân số

Kênh truyền tin

Bộ nhúng thủy vân

Bộ tách thủy vân Thủy vân bản quyền Dữ liệu

Khóa thủy vân

Trang 17

1.2.3 Các khả năng tấn công trên hệ thống thủy vân

Thủy vân bền vững phải vượt qua được các tấn công ngẫu nhiên và cố ý Sau đây là một số khả năng tấn công được biết đến nhiều nhất

Tấn công đơn giản: là dạng tấn công cố gắng làm hỏng thủy vân đã được

nhúng bằng cách thao tác lên toàn bộ dữ liệu đã được nhúng thủy vân mà không có ý định nhận dạng để tách lấy thủy vân

Tấn công phát hiện: là sự tấn công với mục đích loại bỏ đi mối quan hệ và vô

hiệu hóa khả năng khôi phục thủy vân, làm cho bộ phát hiện không thể xác định được thủy vân Điều này được thực hiện chủ yếu bằng cách thay đổi hình dạng hình học như: phóng to thu nhỏ, xoay, cắt xén, xóa hoặc chèn thêm điểm ảnh và các phép biến đổi hình học…

Tấn công nhập nhằng: là sự tấn công với mục đích gây nhầm lẫn bằng cách

tạo ra dữ liệu gốc giả hoặc dữ liệu đã được nhúng thủy vân giả Ví dụ: kẻ tấn công có thể làm giản tính xác thực của thủy vân bằng cách nhúng một hoặc nhiều thủy vân bổ sung sao cho thủy vân mới không thể phân biệt được với thủy vân ban đầu – thủy vân dùng để xác thực

Tấn công loại bỏ: nhằm mục đích phân tích để xác định ra thủy vân hoặc dữ

liệu gốc, tách dữ liệu đã được nhúng thủy vân thành dữ liệu gốc và thủy vân

Cần chú ý rằng sự phân biệt trên nhiều khi không rõ ràng và nhiều khả năng tấn công không thể phân loại được vào một nhóm cụ thể nào cả

1.2.4 Đặc trưng của thủy vân số

Như đã đề cập trước đây, kỹ thuật thủy vân số rất hữu dụng khi ta muốn nhúng siêu dữ liệu vào trong nội dung số Có một số cơ chế như sử dụng phần đầu của file dữ liệu gốc để lưu trữ siêu dữ liệu Tuy nhiên khi muốn chèn các thủy vân hiện vào ảnh và video, hoặc thêm thông tin về audio trong audio thì kỹ thuật thủy vân khá phức tạp vì

nó có các đặc trưng chính sau đây:

Tính không thấy được (ẩn): Khi nội dung số được nhúng thủy vân ta có thể

không nhìn thấy được nội dung đã được nhúng vì gần như việc nhúng thủy vân vào nội dung đa phương tiện sẽ không làm thay đổi nhiều nội dung đa phương tiện đó so với nguyên bản của nó Có nhiều phương pháp khác nhau để đạt được điều đó Chẳng hạn, phương pháp nén mất dữ liệu nhằm làm giảm sự tồn tại của dữ liệu đến mức chỉ còn là dòng tín hiệu nhỏ nhất Các nghiên cứu về thủy vân trước đây thường tập trung thiết

kế dấu thủy vân vô hình và đặt chúng trong vùng tín hiệu không quan trọng về mặt cảm nhận, ví dụ như vùng tần số cao hoặc các bít ít quan trọng Các kỹ thuật nghiên cứu gần đây (chẳng hạn như kỹ thuật trải phổ) lại chèn thủy vân vào vùng quan trọng

về mặt cảm nhận Thực nghiệm cho thấy, các kỹ thuật này không những đảm tính ẩn của thủy vân mà còn nâng cao tính bền vững của thủy vân chống lại các tấn công vào

dữ liệu

Trang 18

Tính bền vững: thủy vân tạo ra phải bền vững với bất kỳ thao tác chỉnh sửa

nào lên dữ liệu gốc Thủy vân sẽ không bị thay đổi hay phá hủy trước các hành vi có chủ tâm hoặc các hành vi làm thay đổi hình dạng hình học của dữ liệu gốc Ví dụ: chuyển đổi từ tín hiệu tương tự sang tín hiệu số, từ tín hiệu số sang tín hiệu tương tự, cắt xén, lấy mẫu, quay, co dãn tỷ lệ và nén Tính bền vững của thủy vân bao gồm 2 yêu cầu: thủy vân còn tồn tại trong dữ liệu sau khi biến đổi dữ liệu và có thể tách được thủy vân nhờ bộ tách thủy vân

Để đạt được tính bền vững một giải pháp đưa ra là đặt thủy vân trong vùng tín hiệu quan trọng về mặt cảm nhận Vì khi dữ liệu bị thay đổi, độ trung thực của dữ liệu chỉ được đảm bảo khi vùng tín hiệu quan trọng về mặt cảm nhận còn tồn tại nguyên vẹn trong khi vùng không quan trọng có thể bị thay đổi rất nhiều

Tính dễ hỏng: là đặc tính đối ngược hoàn toàn với tính bền vững Thủy vân sẽ

bị phá hủy bởi bất cứ phương thức chỉnh sửa nào trên dữ liệu, vì vậy bất kỳ thao tác nào tác động vào dữ liệu cũng sẽ bị phát hiện

Tính không tách rời: khi nội dung số đã được nhúng thủy vân thì không thể

tách thủy vân ra khỏi nội dung số để lấy lại nội dung gốc

Tính bảo mật: Kỹ thuật thủy vân giúp ngăn chặn việc sử dụng vi phạm bản

quyền nội dung số Khóa thủy vân đảm bảo chỉ có tác giả mới có quyền chỉnh sửa thủy vân có trong nội dung 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ả (copyright protection): Đây là ứng dụng cơ bản

nhất của kỹ thuật thủy vân [2] 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 đề 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à

Trang 19

đượ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 20

CHƯƠNG 2 - MỘT SỐ THUẬT TOÁN THỦY VÂN TRÊN ẢNH SỐ

2.1 Tổng quan về ảnh số và xử lý ảnh Bitmap

2.1.1 Khái niệm về ảnh số và phân loại

Một bức ảnh số là một mảnh dữ liệu hai chiều (2D) của nhiều điểm màu (pixel) Thực chất là một tập hợp các điểm màu liên tiếp xếp liền nhau hoặc tập hợp các đường hình học nhằm miêu tả một phong cảnh, sự vật hay một chủ đề Trên máy tính, ảnh được lưu lại trên các file nhị phân theo các định dạng do nhà sản xuất quy định

Có khoảng hơn 50 định dạng ảnh khác nhau được chia làm 2 dạng cơ bản là ảnh bitmap và ảnh véc tơ

Ảnh bitmap: được xây dựng từ rất nhiều các điểm màu pixel, các pixel này

được sắp xếp với nhau theo một trật tự nhất định Các ảnh có độ phân dải cao (ảnh chất lượng cao) bao gồm nhiều pixel và chiếm nhiều không gian bộ nhớ hơn những bức ảnh có độ phân dải thấp Các loại ảnh bitmap phổ biến là PNG, GIF, BMP, JPEC được tạo từ các phần mềm như Adobe Photoshop, Corel Photopaint

Chất lượng ảnh bitmap sẽ thay đổi khi chúng ta phóng to hay thu nhỏ kích thước ảnh Nhìn chung, ảnh bitmap có chất lượng tốt, hình ảnh và màu sắc trung thực nhưng lại tốn không gian lưu trữ, tốc độ hiển thị chậm và tương đối phức tạp trong việc xử lý ảnh

Ảnh vector: được xây dựng từ nhiều chương trình khác nhau Nếu như ảnh

bitmap lưu trữ các điểm ảnh thì ảnh vector lại lưu trữ các lệnh dùng để vẽ hình ảnh đó Các đối tượng cơ bản trong ảnh vector gồm có các đường thẳng, đường cong và một số hình toán học cơ bản (vuông, tròn, elip ) cùng với thuộc tính màu sắc, độ dày đường nét ảnh vector cho chất lượng ảnh cao hơn ảnh bitmap Ảnh vector cho phép biến đổi theo tỷ lệ nên chúng không phụ thuộc vào độ phân giải, việc tăng hay giảm kích thước ảnh không làm ảnh hưởng tới chất lượng ảnh Các file ảnh vector phổ biến là WMF, CDR, CGM

2.1.2 Cấu tạo của ảnh bitmap

Cấu tạo một file ảnh bitmap gồm 3 phần cơ bản: phần đầu (Bitmapheader), bảng màu (palette) và dữ liệu (bitmapdata)

Phần đầu (bitmapheader): chứa 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:

Trang 21

+ Bicount =1: ảnh Bitmap là một ả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

+ Bicount =4: ảnh Bitmap là ảnh 16 màu, mỗi điểm ảnh được biểu diễn bởi 4 bit + Bicount =8: ảnh Bitmap là ảnh 256 màu, mỗi điểm ảnh được biểu diễn bởi 1

byte

+ Bicount =16: ảnh 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ủa màu đỏ, xanh lá cây, xanh lơ của một điểm ảnh

+ Bicount 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

Phần bảng màu (Palette): 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

Phần dữ liệu (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

2.1.3 Xử lý ảnh bitmap

Để đọ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

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 22

Đối tượng đầu tiên mà kỹ thuật giấu tin nhắm đến là lớp ảnh bitmap (BMP)

Để 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,…, 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

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 bị hạn chế

Ả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ủa 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à 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

2.2 Các thuật toán thủy vân 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 Ý 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ỏ, 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

Trang 23

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

2.2.2 Các phép toán sử dụng trong thuật toán

a/ Phép đảo bit: là một phép biến đổi trên các bit nhị phân Đảo bit b tương

đương với phép biến đổi thay b bởi 1-b, 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 nó

sẽ mang giá trị 0

b/ 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 

c/ 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

d/ 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,

Cij=0 trong các trường hợp còn lại

e/ Phép nhân hai ma trận số nguyên A, B (ký hiệu AB) được định nghĩa:

C= A  B, với Cij = Aij * Bij

Trang 24

2.2.3 Thuật toán 1(SW)

Đây là một thuật toán đơn giản (Simple Watermarking) [13] Cho một file ảnh Bitmap đen trắng F, dữ liệu thủy vân d được biểu diễn dưới dạng nhị phân (dãy bit 0/1) Các bit 1 gọi là đ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

a/ Quá trình nhúng thủy vân

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]

Trang 25

+ 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

b/ Quá trình tách thủy vân

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

c/ Nhận xét

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 nà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.2: Minh họa chọn điểm ảnh giấu tin vào những khối ảnh một màu

Trang 26

2.2.4 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 [17] đư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:

a/ Quá trình nhúng tin

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(FiK) 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(FiK) mod2 ≠ b) và SUM(FiK)=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

Trường hợp 3: Nếu (SUM(FiK) mod2 ≠ b) và SUM(FiK)=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(FiK) mod2 ≠ b) và 1<SUM(FiK)<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

Trang 27

Bít dữ liệu nhúng

0 1 1

Hình 2.3 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

tử này ta có F4[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)

b/ Quá trình tách tin

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à:

Trang 28

- 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 Dĩ nhiê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

2.2.5 Thuật toán 3 (PCT)

Thuật toán này được đưa ra bởi 3 tác giả Hsiang-Kuang Pan, Yu-Yuan Chen, and Yu-Chee Tseng [14] Thuật toán cho phép nhúng nhiều bit vào 1 khối bằng cách có thể đảo 2 bit trong 1 khối Trong thuật toán có sử dụng khóa K và ma trận trọng số W nhằm bảo đảm an toàn cho thủy vân được nhúng

- Khóa bí mật K: là một ma trận nhị phân có cùng kích thước mxn với kích thước của khối ảnh Khóa được dùng một cách bí mật giữa người gửi và người nhận

- Ma trận trọng số W cấp r: ma trận này có kích thước bằng kích thước của một khối ảnh (mxn) và thỏa mãn các điều kiện sau:

+ W là một ma trận số nguyên có các phần tử nằm trong khoảng (0 2r-1) với

r cho trước thỏa mãn điều kiện 2r<(mxn)

Trang 29

+ Mỗi phần tử có giá trị từ (1 2r-1) phải xuất hiện ít nhất 1 lần trong W

Với mỗi n,m,r thỏa mãn 2r-1<=mxn sẽ có:

1

2r  2r  1 !  ( 2r  1 )mnr

mnC

Khả năng chọn W là rất lớn Ví dụ với m=n=4, r=2  có 5.356.925.280 khả năng lựa chọn W Con số này đủ lớn để làm giảm nguy cơ thủy vân bị phát hiện

a/ Quá trình nhúng thủy vân:

- Input:

+ F: là một ma trận ảnh gốc mà ta dùng để nhúng thông tin F được chia thành các khối nhỏ Fi, mỗi ma trận điểm ảnh Fi có kích thước là (mxn), để đơn giản ta giả sử rằng F là bội của các Fi

+ K: là một ma trận khóa ngẫu nhiên có kích thước mxn

+ W: là một ma trận trọng số ngẫu nhiên, cùng kích thước của K

+ r: số lượng bit có thể dấu trong mỗi khối ảnh mxn

+ B: là lượng thông tin cần dấu, B=b1b2…bz (mỗi bi có r bit)

Bước 3: Với ma trận T và với mọi w={1,2,…,2r-1} ta xác định tập hợp Sw sau:

Sw={(x,y)|(W[x,y]=w T[x,y]=0)(W[x,y]=2r-w  T[x,y]=1)}

Dễ nhận thấy Sw là tập hợp các tọa độ (x,y) của ma trận Fi[x,y] sao cho khi đảo bit Fi[x,y] thì Sum ở bước 2 tăng lên w Thực vậy, ta có:

+ Trường hợp 1: nếu W[x,y]=w và T[x,y]=0

Khi đó đảo bit Fi[x,y] sẽ làm cho T[x,y]=1, do đó Sum tăng lên w

+ Trường hợp 2: Nếu W[x,y] = 2r-w và T[x,y]=1

Khi đó đảo bit Fi[x,y] sẽ làm T[x,y] =0, do đó Sum sẽ giảm đi 2r-w, tức là tăng lên w theo mod 2r

Quy ước rằng với mọi w’w(mod 2r) trong đó w=1,2,…,2r-1 ta có: Sw’=Sw

Bước 4: Ký hiệu d=(b1b2…br)- SUM(TW) mod 2r

Trang 30

Đảo bit trên Fi để được Fi’sao cho tổng Sum tính được ở bước 2 khi thay Fi bởi

Fi’ sẽ tăng lên d

+ Nếu d=0, không cần thay đổi Fi

+ Nếu d0 ta thực hiện các công việc sau:

1 Chọn h bất kỳ thuộc tập {0,1,2,…,2r-1} sao cho Shd và S-(h-1)d

2 Chọn (x,y) bất kỳ thuộc Shd và đảo bit Fi[x,y]

3 Chọn (x,y) bất kỳ thuộc S-(h-1)d và đảo bit Fi[x,y]

Rõ ràng, để tăng Sum lên d, ta có thể chọn 2 tập khác rỗng Shd và S-(h-1)d

Thật vậy, hai tập này chứa các vị trí bit trong khối Fi mà ta có thể đảo để tăng Sum lên hd và –(h-1)d một cách tương ứng, kết quả cuối cùng là sum sẽ tăng lên hd+(-(h-1)d) =d

Tương tự như các tập Sw khác ta cũng có thể coi tập S0 là tập chứa các vị trí mà khi đảo những bit có vị trí này trên Fi thì sẽ tăng Sum lên 0 Kết quả này cũng đạt được nếu ta không đảo bất kỳ bit nào trên Fi Vì vậy ta có thể coi S0 là tập rỗng và khi nói đảo một bit có vị trí thuộc tập S0 có nghĩa là không cần làm gì cả

* Ví dụ minh họa:

Giả sử cần nhúng 12 bit thông tin “001010000001” vào F Tiến hành:

Ta chia F thành 4 khối (F1, F2 , F3 , F4 ) kích thước mỗi khối 4x4

Mỗi khối giấu 3 bit (r=3)  tạo ma trận trọng số W thỏa mãn các điều kiện Thực hiện phép cộng loại trừ từng khối với Fi K thu được ảnh T

Với mỗi khối ảnh trên ảnh T thực hiện:

Với F1 : có SUM(T1 W) mod 8= 0, để giấu 3 bit đầu tiên là “001” vào

F1 cần biến đổi F1 sao cho SUM(T1 W) tăng lên 1 Nhận thấy T1[2,4]=0 và W[2,4]=1 nên ta có thể đảo giá trị bit F1[2,4] để được F1’

Với F2 : có SUM(T2 W) mod 8 =2 và 3 bit tiếp theo cần giấu là “010” nên hiển nhiên được F2’ đã giấu bit mà không cần biến đổi

Với F3 : có SUM(T3 W) mod 8 =2, để giấu 3 bit tiếp theo là “000” vào

F3 cần biến đổi F3 sao cho SUM(T3 W) tăng lên 6 bằng cách đảo bit

Với F4 : có SUM(T1 W) mod 8 =4 , để giấu 3 bit cuối là “001” vào F4

cần biến đổi F4 sao cho SUM(T1 W) tăng lên 1 Việc này không thể thực hiện được khi đảo 1 bit trong F4 mà phải đảo 2 bit Chọn S10=S2=(2,2) và

S5=S3={(1,3),(2,1),(3,2),(3,4)} rồi đảo 2 bit S4[2,2] và S4[3,2]

Trang 31

Bước 3: sử dụng ma trận khóa và ma trận trọng số để tính giá trị của r bít thủy

vân đƣợc nhúng vào trong mỗi khối ảnh bằng công thức:

Trang 32

Bước 4: chuyển đối bit thành ký tự

c/ Nhận xét

- Thuật toán cho phép nhúng được tới log2(mn+1) bit dữ liệu vào trong mỗi khối ảnh mxn với điều kiện là 2r<mxn, bằng cách thay đổi nhiều nhất là 2 bit của một khối ảnh Như vậy, thuật toán đã có cải tiến nhiều so với những thuật toán khác chỉ nhúng được một bit tin vào mỗi khối ảnh

- Độ an toàn của thuật toán được nâng cao thông qua việc sử dụng hai ma trận:

ma trận khóa và ma trận trọng số để nhúng và tách thủy vân

- Thuật toán tương đối dễ cài đặt

- Đây là thuật toán nhúng thủy vân vào ảnh đen trắng nên ta cũng có thể tính toán hệ số phân bố bit d để cải thiện chất lượng ảnh sau khi nhúng thủy vân Thực nghiệm cho thấy nếu kết hợp với phần cải tiến này thì chất lượng ảnh được nâng lên đáng kể

- Sau cải tiến có thể áp dụng thuật toán cho ảnh màu và ảnh đa cấp xám Người

ta sử dụng kỹ thuật chọn ra bit ít quan trọng nhất (LBS) của mỗi điểm ảnh để xây dựng ma trận hai chiều các bit 0, 1 như với ảnh đen trắng Nếu áp dụng tốt thuật toán này cho ảnh màu thì có thể nói thuật toán đã đạt yêu cầu cơ bản của một ứng dụng thủy vân, như đảm bảo tính ẩn, số lượng thủy vân dấu được cao và an toàn

2.2.6 Thuật toán 4 (LSB)

Đây là thuật toán thủy vân dựa vào các bit ít quan trọng LSB.[8] Các loại ảnh màu và đa mức xám có giá trị của mỗi điểm ảnh được biểu diễn bằng dãy nhiều bit Trong dãy các bit này có một bit được gọi là bit it quan trọng nhất (LSB – Least Significant Bit) Bit ít quan trọng nhất là bit mà khi ta đảo giá trị của nó thì điểm màu

bị thay đổi ít nhất

Ví dụ, với ảnh đa mức xám, mỗi mức xám được biểu diễn qua một số nguyên không âm, thì mức xám m sẽ sai khác ít nhất so với hai mức xám liền kề là m-1 hoặc m+1 Trong trường hợp này bit it quan trọng nhất chính là bit thấp nhất trong dạng biểu diễn nhị phân của m Đảo bit này sẽ làm thay đổi mức xám m thành m-1 hoặc m+1 Hầu hết các thuật toán thủy vân trên ảnh màu và ảnh đa cấp xám thường sử dụng gián tiếp thuật toán thủy vân trên ảnh đen trắng

Ngày đăng: 25/03/2015, 09:42

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w