Tải bản đầy đủ (.pdf) (64 trang)

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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.04 MB, 64 trang )


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






















Hà Nội -
2011
ĐẠ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







Ngành: Công nghệ thông tin
Chuyên ngành: Công nghệ phần mềm
M
ã số: 60 48 10




LUẬN VĂN THẠC







NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Ngô Quốc Tạo













Hà Nội –
2011


2
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ẬT GIẤU TIN 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ỔNG QUAN VỀ THỦY VÂN SỐ 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ỔNG QUAN VỀ ẢNH SỐ VÀ XỬ LÝ ẢNH BITMAP 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ÁC THUẬT TOÁN THỦY VÂN TRÊN MIỀN KHÔNG GIAN 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ÁC THUẬT TOÁN THỦY VÂN DỰA TRÊN MIỀN DCT 32
3
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ÁC THUẬT TOÁN THỦY VÂN DỰA TRÊN MIỀN DWT 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ÁT BIỂU BÀI TOÁN 52
3.2. PHÂN TÍCH BÀI TOÁ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ƢƠNG TRÌNH THỬ 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
4




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

CHỮ VIẾT TẮT
Ý NGHĨA
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)
5
DANH MỤC CÁC BẢNG, HÌNH VẼ


DANH MỤC CÁC BẢ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

DANH MỤC CÁC HÌNH VẼ

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
6

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ố.
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 giấu tin,
tập trung sau đó tiến hành xây dựng chƣơng trình 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
7
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ố.


8
CHƢƠ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
1.1.1. Khái niệm 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.


9
















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 ẩn
(Imperseptipl watermarking)

Giấu tin mật
(steganography)
Thủy vân
(watermaking)
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)
10



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.
11
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
12
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.
13
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.

14
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.
15
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
Tấn công
Nhiễu
Bộ nhúng
thủy vân
Thủy vân
Dữ liệu
số
Khóa thủy vân
Dữ liệu
bản quyền
Bộ tách
thủy vân
Thủy vân
Dữ liệu
bản quyền
Khóa thủy vân
16
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.
17
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à
18
đƣợ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.
19
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:
20
+ 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à 2
biCount
.
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
* header.Height.
Các thao tác xử lý trên không gian ảnh thƣờng đƣợc thực hiện trên các khối con
của phần dữ liệu ảnh, các khối này thông thƣờng là có kích thƣớc bằng nhau và không
có khối nào bị chồng bởi khối khác. Việc chia các khối đƣợc hiểu là chia ma trận lớn
thành các ma trận con trong ma trận dữ liệu ảnh.
Các thao tác xử lý trên không gian ảnh xử lý trực tiếp các giá trị của ma trận
này. Do ma trận này chứa giá trị độc lập, rời rạc của từng điểm ảnh nên các phƣơng
pháp thủy vân thực hiện trong miền không gian ảnh thƣờng không bền vững trƣớc các
tấn công thông thƣờng.
Sau khi xử lý xong, ta thực hiện ghi lại ảnh theo qui trình ngƣợc lại gồm các
bƣớc: ghi lại header, ghi lại bảng màu nếu có, sau đó ghi dữ liệu ẩn.
21
Đố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 2
8
(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 2
8
(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 2
8
=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 2
24
(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
22
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

C
ij =
1

nếu A
ij

B
ij
; C
ij
=0 nếu A
ij =
B
ij


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 C
ij
=1 nếu A
ij
=B
ij

=1,
C
ij
=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 C
ij
= A
ij
* B
ij




23
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.
- 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
Bước 2: so sánh tính chẵn lẻ giữa t và d

i
+ Nếu t và d
i
cùng tính chẵn lẻ thì khối B mặc nhiên đã giấu đƣợc bit d
i

không cần làm gì.
+ Nếu t và d
i
khác tính chẵn lẻ thì ta sẽ đảo 1 bit trong B. Chính sách đảo bit:
nếu số điểm đen và điểm trắng xấp xỉ nhau thì chọn ngẫu nhiên 1 bit để đảo.
Nếu có nhiều điểm đen và có điểm trắng thì sửa điểm trắng thành điểm đen.
Ngƣợc lại sẽ sửa điểm đen thành điểm trắng.
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

Nhúng bit 1




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

1
1
0
0
0
0
0
0
1
0
1
1
1
0

B’


1
0
1
1
0
1
0
0
0
0
1
0

1
1
1
0

B


24
+ 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 B
i
’ trong B’ ta tính Sum[B
i
’]
Bước 2: Tách thủy theo cách xét
Nếu Sum[B
i
’] là chẵn thì bit d
i
=0
Ngược lại, nếu Sum[B
i
’] là lẻ thì bit d

i
=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à 8
x
8,
khối thứ hai có kích thƣớc là 8
x
12 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

×