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

luận văn: phân tích đánh giá hiệu quả của một số thuật toán phát hiện ảnh giấu tin trong miền không gian

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 (1.82 MB, 73 trang )



1

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ




LÝ NGỌC HÙNG




PHÂN TÍCH ĐÁNH GIÁ HIỆU QUẢ CỦA MỘT SỐ
THUẬT TOÁN PHÁT HIỆN ẢNH GIẤU TIN TRONG
MIỀN KHÔNG GIAN






LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN


















Hà Nội - 2014



2

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

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



LÝ NGỌC HÙNG




PHÂN TÍCH ĐÁNH GIÁ HIỆU QUẢ CỦA MỘT SỐ
THUẬT TOÁN PHÁT HIỆN ẢNH GIẤU TIN TRONG

MIỀN KHÔNG GIAN




Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60480104



LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN





NGƯỜI HƯỚNG DẪN KHOA HỌC: TS HỒ VĂN CANH





Hà Nội - 2014




3


LỜI CAM ĐOAN
Tôi xin cam đoan kết quả tìm hiểu, nghiên cứu trong luận văn là của cá nhân tôi.
Các số liệu, kết quả nêu trong luận văn này là trung thực và chưa được công bố trong
bất kỳ công trình nào khác. Các trích dẫn số liệu và kết quả tham khảo đều có xuất xứ
rõ ràng và được trích dẫn hợp pháp.
Hà Nội, tháng 10 năm 2014
Tác giả luận văn


Lý Ngọc Hùng





















4
MỤC LỤC
LỜI CAM ĐOAN 3
MỤC LỤC 4
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT 6
DANH MỤC CÁC HÌNH VẼ 7
MỞ ĐẦU 9
Chương 1. TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN TRONG ẢNH 11
1.1. Sơ lược về lịch sử giấu tin 11
1.2. Khái niệm giấu tin 11
1.3. Phân loại các kỹ thuật giấu tin 13
1.4. Những tính chất của giấu tin trong ảnh 14
1.5. Các hướng tiếp cận của kỹ thuật giấu tin trong ảnh. 15
1.5.1. Hướng tiếp cận dựa trên miền không gian ảnh 15
1.5.2. Hướng tiếp cận dựa trên miền tần số của ảnh 16
1.6. Một số ứng dụng của kỹ thuật giấu tin 16
1.7. Một số kỹ thuật giấu tin 17
1.7.1. Kỹ thuật giấu tin mật trong khối bít sử dụng tính chẵn lẻ của tổng bit 1 17
1.7.1.1. Ý tưởng 17
1.7.1.2. Thuật toán giấu tin 17
1.7.1.3. Quy trình tách tin 18
1.7.2. Kỹ thuật giấu tin Wu-Lee 19
1.7.2.1. Một số định nghĩa 19
1.7.2.2. Thuật toán giấu tin 20
1.7.2.3. Quá trình tách tin 23
1.7.3. Thuật toán giấu tin Yuan – Pan - Tseng 24
1.7.3.1. Ý tưởng 24
1.7.3.2. Thuật toán giấu tin 24
1.7.3.3. Quá trình tách tin 29
1.7.4. Kỹ thuật trải phổ trong watermarking 29

1.7.4.1. Mô tả thuật toán 30
1.7.4.2. Quá trình thủy vân ảnh 30
1.7.4.3. Quá trình tách lấy lại thông tin 32
Chương 2. NGHIÊN CỨU MỘT SỐ THUẬT TOÁN PHÁT HIỆN ẢNH CÓ GIẤU
TIN TRONG MIỀN KHÔNG GIAN 34
2.1. Tổng quan về phát hiện ảnh giấu tin 34
2.2. Các phương pháp phân tích ảnh có giấu tin 34
2.2.1. Phân tích trực quan 34


5
2.2.2. Phân tích theo định dạng ảnh 35
2.2.3. Phân tích theo thống kê 35
2.3. Cơ sở toán học 35
2.4. Một số thuật toán phát hiện ảnh có giấu tin trong miền không gian 39
2.4.1. Kỹ thuật phân tích cặp giá trị điểm ảnh 39
2.4.1.1. Khái niệm cặp giá trị điểm ảnh 39
2.4.1.2. Thuật toán PoV3 39
2.4.1.3. Phân tích thuật toán 40
2.4.2. Kỹ thuật phân tích đối ngẫu 41
2.4.2.1. Khái niệm cơ bản trong kỹ thuật đối ngẫu 41
2.4.2.2. Thuật toán RS 43
2.4.2.3. Phân tích thuật toán RS 45
2.4.3. Kỹ thuật phân tích cặp mẫu SPA 48
2.4.3.1. Các khái niệm 48
2.4.3.2. Phát hiện giấu tin mật LSB nhờ kỹ thuật SPA 51
2.4.3.3. Phân tích kỹ thuật SPA 52
2.4.3.4. Ước lượng độ chính xác của chiều dài thông điệp dấu theo SPA 56
Chương 3. ĐỀ XUẤT THUẬT TOÁN PHÁT HIỆN ẢNH CÓ GIẤU TIN TRONG
MIỀN KHÔNG GIAN 60

3.1. Đặt vấn đề 60
3.2. Xây dựng thuật toán 60
3.2.1. Thuật toán A 61
3.2.2. Thuật toán B 62
3.3. Kết quả thử nghiệm 64
3.3.1. Đối với thuật toán A 64
3.3.2. Đối với thuật toán B 65
3.4. Chương trình thử nghiệm 66
KẾT LUẬN 70
TÀI LIỆU THAM KHẢO 71









6
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT
BMP Bitmap
DCT Discrete Cosine Transform
DFT Discrete Fourier Transform
GIF Graphics Interchange Format
HAS Human Auditory System
HVS Human Visual System
JPEG Joint Photographic Experts Group
LSB Least Significant Bit
PNG Portable Network Graphics

PoV Pairs of Values
RGB Red – Green - Blue


7
DANH MỤC CÁC HÌNH VẼ
Hình 1. 1 Quá trình giấu tin 12
Hình 1. 2 Quá trình giải mã tin giấu 13
Hình 1. 3 Sơ đồ phân loại các kỹ thuật giấu tin 14
Hình 2. 1 Quá trình tổng quát của kỹ thuật phát hiện ảnh giấu tin………………… 34
Hình 2. 2 Đồ thị RS của một ảnh kiểm tra. 46
Hình 2. 3 Xích hữu hạn trạng thái với các trạng thái là các tập con của C
m
(m>0). 50
Hình 2. 4 Xích hữu hạn trạng thái cho tập C
0
. 50
Hình 3. 1 Giao diện chính của chương trình 66
Hình 3. 2 Giao diện giấu tin trong ảnh vào bít có trọng số thấp nhất 67
Hình 3. 3 Giao diện giấu tin theo kỹ thuật WuLee 68
Hình 3. 4 Giao diện phát hiện ảnh có chứa tin theo thuật toán A 68
Hình 3. 5 Giao diện phát hiện ảnh có chứa tin theo thuật toán B 69
Hình 3. 6 Giao diện phát hiện ảnh có chứa tin theo thuật toán A-B với đầu vào là một
tập các tập tin 69




















8
LỜI CÁM ƠN
Bằng tất cả tình cảm của mình, em xin bày tỏ lòng biết ơn sâu sắc tới các Thầy
Cô của bộ môn Hệ thống thông tin, cũng như các thầy cô trong Khoa Công nghệ thông
tin – trường Đại học Công nghệ - Đại học Quốc Gia Hà Nội đã tận tình giảng dạy,
trang bị cho tôi những kiến thức quý báu, đã truyền thụ cho tôi những kiến thức, kinh
nghiệm, đã quan tâm dìu dắt và giúp đỡ tôi trong quá trình học tập cũng như trong lúc
thực hiện luận văn này. Đặc biệt, tôi xin gửi lời cảm ơn chân thành đến thầy giáo Tiến
Sĩ Hồ Văn Canh người đã tận tình chỉ bảo, hướng dẫn cụ thể để tôi có thể hoàn thành
luận văn này. Em kính chúc thầy luôn luôn mạnh khỏe và có nhiều niềm vui.
Xin chân thành gửi lời cám ơn đến các bạn, các đồng nghiệp đã giúp đỡ, động
viên, cổ vũ mình trong suốt quá trình học tập và đặc biệt trong thời gian nghiên cứu
luận văn. Mình rất hy vọng và tin tưởng rằng chúng ta vẫn luôn giữ được những tình
cảm tốt đẹp đó.
Mặc dù đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho phép
nhưng chắc chắn sẽ không tránh khỏi những thiếu sót, kính mong nhận được sự tận
tình chỉ bảo của quý Thầy Cô và các bạn.


Hà Nội, tháng 11 năm 2014


Lý Ngọc Hùng












9
MỞ ĐẦU
1/Đặt vấn đề
Ngày nay cuộc cách mạng thông tin kỹ thuật số đã đem lại những thay đổi sâu
sắc trong xã hội và trong cuộc sống của chúng ta. Những thuận lợi mà thông tin kỹ
thuật số mang lại cũng sinh ra những thách thức và cơ hội mới cho quá trình đổi mới,
xây dựng và phát triển đất nước. Với sự phát triển mạnh mẽ của hệ thống mạng máy
tính đã tạo nên môi trường mở và là phương tiện trao đổi thông tin trong mọi lĩnh vực
chính trị, quân sự, quốc phòng, kinh tế, thương mại….Và chính trong môi trường mở
và tiện nghi như thế xuất hiện những vấn nạn, tiêu cực đang rất cần đến các giải pháp
hữu hiệu cho vấn đề an toàn thông tin như: nạn xuyên tạc thông tin, truy nhập thông
tin trái phép, v.v
Để đảm bảo an toàn và bí mật cho một thông điệp truyền đi người ta thường

dùng phương pháp truyền thống là mã hóa thông điệp theo một quy tắc nào đó đã được
thỏa thuận trước giữa người gửi và người nhận. Tuy nhiên trong khoảng 10 năm gần
đây đã xuất hiện một cách tiếp cận mới để truyền các thông điệp bí mật, đó là giấu các
thông tin quan trọng trong những bức ảnh. Sau khi thực hiện giấu thì việc nhìn bề
ngoài các bức ảnh có chứa thông tin cũng không có gì khác với các bức ảnh ban đầu
chưa giấu chính vì vậy đã hạn chế được tầm kiểm soát của kẻ gian. Mặt khác, dù các
bức ảnh đó bị phát hiện ra là có chứa thông tin trong đó thì với các khóa có độ bảo mật
cao thì việc tìm được nội dung của thông tin đó cũng rất khó có thể thực hiện được.
Song song với việc phát triển các kỹ thuật giấu tin trong đa phương tiện thì kỹ
thuật dò tìm ảnh có chứa thông tin ẩn hiện nay đang phát triển rất mạnh, với hàng trăm
công trình nghiên cứu được công bố trên thế giới hàng năm. Việc dò tìm ảnh có chứa
thông tin bên cạnh việc phân loại đối tượng dữ liệu trên môi trường truyền thông còn
có mục đích đánh giá ngược lại về mức độ an toàn và tin cậy của các thuật toán giấu
tin. Đây là một hướng nghiên cứu triển vọng có thể góp phần đảm bảo an ninh, an toàn
thông tin.
2/ Những đóng góp của luận văn
Trong luận văn này chúng tôi sẽ trình bày một số thuật toán giấu tin mật đã được
công bố trong khoảng thời gian gần đây, bên cạnh đó trong luận văn tôi cũng sẽ trình
bày đánh giá một số thuật toán phát hiện ảnh giấu tin trong miền không gian và đưa ra
hai thuật toán phát hiện ảnh giấu tin bằng phương pháp lý thuyết thống kê dựa trên
phương pháp thống kê tự tương quan (Autocorrelation)


10

Bên cạnh đó luận văn đã thử nghiệm thuật toán giấu tin trong miền không gian
và thử nghiệm phát hiện ảnh giấu tin với hai thuật toán đã đề xuất với bộ dữ liệu ảnh là
100 ảnh để đánh giá các kỹ thuật phát hiện đã đề xuất.
3/ Bố cục của luận văn
Luận văn được trình bày trong 3 chương, có phần mở đầu, phần kết luận, phần

mục lục, phần tài liệu tham khảo. Các nội dung cơ bản của luận văn được trình bày
theo cấu trúc như sau:
Chương 1: Tổng quan về kỹ thuật giấu tin trong ảnh
Chương này sẽ trình bày một cách tổng quan về giấu tin trong ảnh, lịch sử, khái
niệm, phân loại, các đặc trưng, các hướng tiếp cận và một số kỹ thuật giấu tin mật đã
được công bố.
Chương 2: Nghiên cứu một số thuật toán phát hiện ảnh có giấu tin trong miền
không gian
Chương này sẽ trình bày một cách tổng quan về kỹ thuật phát hiện ảnh có giấu
tin, các hướng phân tích để phát hiện ảnh có giấu tin và trình bày một số thuật toán
phát hiện ảnh có giấu tin đã được công bố: Kỹ thuật phân tích cặp giá trị điểm ảnh -
thuật toán PoV3, kỹ thuật phân tích đối ngẫu, kỹ thuật phân tích cặp mẫu SPA.
Chương 3: Đề xuất thuật toán phát hiện ảnh có giấu tin trong miền không gian
Chương này sẽ trình bày hai thuật toán đề xuất và đánh giá độ tin cậy của từng
thuật toán. Cài đặt thử nghiệm việc phát ảnh có giấu tin dựa theo hai thuật toán đã đề
xuất.












11


Chương 1. TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN TRONG ẢNH
1.1. Sơ lược về lịch sử giấu tin
Giấu thông tin bí mật (Steganography) có lịch sử hình thành và phát triển từ rất
lâu đời, nó bắt nguồn từ Hy Lạp và được sử dụng cho tới ngày nay, chủ yếu phục vụ
cho mục đích liên lạc bí mật.
Theo các tài liệu nghiên cứu ghi lại, kỹ thuật giấu tin cổ xưa nhất và cũng là
đơn giản nhất được nhắc tới trong các tài liệu là khi vua Histiaeus (khoảng năm 440
trước công nguyên) cạo sạch tóc xăm thông điệp lên da đầu và chờ khi tóc mọc lại,
người nô lệ đó chuyển thông tin tới người nhận. Một thời gian sau người ta sử dụng
các vật liệu tự nhiên như bảng gỗ, sáp ong, hổ phách cho việc giấu thông tin.
Khi kỹ thuật phát triển hơn, con người sử dụng chữ viết với cỡ chữ nhỏ giấu
trong các vật dụng hàng ngày (như các hộp, vali có hai đáy) để chuyển đi, hoặc dùng
bồ câu để chuyển thông tin để che mắt các nhân viên an ninh, hải quan. Sang thế kỷ
XVII, người ta dùng cách đánh dấu vào các ký tự cần thiết trên một văn bản, một bài
báo công khai nào đó rồi truyền tới tay người nhận. Sau đó là thời kỳ phát triển rực rỡ
của công nghệ hoá học với sản phẩm là mực không màu - là các chất lỏng sản phẩm
hữu cơ không màu và hiển thị màu khi gặp điều kiện hoá - lý thích hợp. Tới ngày nay
với phương pháp kiểm tra độ ẩm bề mặt, mực không màu không còn tác dụng bảo mật
nữa, nhưng nó vẫn còn được dùng như một dạng thuỷ vân để in các block nhỏ hay các
chi tiết phát quang khi bị chiếu tia cực tím.
Trong một vài thập niên gần đây, giấu thông tin mới nhận được sự quan tâm
của các nhà nghiên cứu và các viện công nghệ thông tin với rất nhiều công trình
nghiên cứu. Cuộc cách mạng số hóa thông tin và sự phát triển nhanh chóng của mạng
truyền thông là nguyên nhân chính dẫn đến sự thay đổi này. Những phiên bản sao chép
hoàn hảo, các kĩ thuật thay thế, sửa đổi tinh vi cộng với sự lưu thông trên mạng của
các dữ liệu đa phương tiện đã sinh ra rất nhiều những vấn đề nhức nhối về nạn ăn cắp
bản quyền, phân phối bất hợp pháp, xuyên tạc trái phép…đây là lúc công nghệ giấu tin
được chú ý và phát triển.
1.2. Khái niệm giấu tin
Giấu tin là kỹ thuật giấu hoặc nhúng một lượng thông tin số nào đó vào trong

một đối tượng dữ liệu số khác. Một trong những yêu cầu cơ bản của giấu tin là đảm
bảo tính chất ẩn của thông tin được giấu đồng thời không làm ảnh hưởng đến chất
lượng của dữ liệu gốc.
Kỹ thuật giấu tin thường nhằm đến hai mục đích chính đó là:


12

+ Bảo mật cho dữ liệu được đem giấu.
+ Bảo mật cho chính đối tượng được dùng để giấu tin.
Với hai mục đích khác nhau này mà kỹ thuật giấu tin được phát triển theo hai
khuynh hướng kỹ thuật tương ứng, chủ yếu đó là giấu tin mật và thủy vân số. Đối với
kỹ thuật giấu tin mật thì việc giấu tin tập trung vào các kỹ thuật giấu tin sao cho thông
tin giấu càng được nhiều càng tốt và quan trọng là người khác khó có thể phát hiện
được một đối tượng có bị giấu tin bên trong hay không. Còn đối với kỹ thuật thủy vân
số với mục đích là bảo mật cho chính đối tượng được dùng để giấu tin thì không cần
giấu nhiều thông tin mà chỉ thường tập trung đảm bảo một số yêu cầu như tính bền
vững và đây là một trong những ứng dụng cơ bản nhất của thủy vân số.

Hình 1. 1 Sơ đồ quá trình giấu tin
Hình 1.1 biểu diễn quá trình giấu tin cơ bản, môi trường chứa tin có thể là các
file ảnh, text, audio…bản tin mật là một lượng thông tin mang một ý nghĩa nào đó như
ảnh, logo, đoạn văn bản thông điệp giấu sẽ tuỳ thuộc vào mục đích của người sử
dụng. Bản tin mật sẽ được giấu vào trong môi trường chứa tin nhờ một bộ nhúng. Bộ
nhúng thông tin là những chương trình, triển khai các thuật toán để giấu tin và được
thực hiện với một khoá bí mật giống như các hệ mật mã cổ điển. Sau khi giấu tin, ta
thu được phương tiện chứa bản tin đã giấu và có thể phân phối sử dụng trên mạng.


13


Môi trường chứa
đã được giấu tin
Bản tin mật
Phương tiện
chứa tin
Khóa
Bộ giải mã tin
Kiểm định

Hình 1. 2 Sơ đồ quá trình giải mã tin giấu
Hình 1.2 chỉ ra các quy trình giải mã thông tin đã giấu. Sau khi nhận được
phương tiện chứa đã giấu tin, quá trình giải mã được thực hiện thông qua một bộ giải
mã tương ứng với bộ nhúng thông tin cùng với khoá của quá trình nhúng. Kết quả thu
được gồm phương tiện chứa ban đầu và bản tin mật đã giấu. Bước tiếp theo bản tin
mật sẽ được xử lý kiểm định so sánh với bản tin mật ban đầu.
Giấu tin trong ảnh (image steganography) là kỹ thuật lợi dụng một số thông tin
dư thừa của dữ liệu ảnh gốc để giấu hoặc nhúng thông tin vào đó. Kỹ thuật giấu này
đảm bảo chỉ người giấu và người tách biết được thông tin đã giấu, còn những người
khác không thể cảm nhận được sự tồn tại của thông tin đã giấu trong ảnh.
Nói chung giấu tin trong đa phương tiện là tận dụng độ dư thừa của phương tiện
giấu để thực hiện việc giấu tin, mà người ngoài cuộc “khó” cảm nhận được có thông
tin giấu trong đó.
1.3. Phân loại các kỹ thuật giấu tin
Do kỹ thuật giấu thông tin số thường nhằm đến hai mục đích chính đó là bảo
mật cho dữ liệu được đem giấu và bảo mật cho chính đối tượng được dùng để giấu tin
nên theo Fabien A.P. Petitcolas đề xuất năm 1999 có thể chia lĩnh vực giấu tin theo hai
hướng lớn là giấu tin mật và thủy vân số [10].
Giấu tin mật: việc giấu tin sẽ quan tâm tới việc giấu các tin sao cho thông tin
giấu được càng nhiều càng tốt và quan trọng là người khác khó phát hiện được một đối

tượng có bị giấu tin bên trong hay không bằng kỹ thuật thông thường.
Thủy vân số: việc giấu tin sẽ quan tâm tới việc đánh giấu vào đối tượng nhằm
khẳng định bản quyền sở hữu hay phát hiện xuyên tạc thông tin. Trong thủy vân số
được phân thành 2 loại đó là thủy vân bền vững và thủy vân dễ vỡ. Đối với thủy vân dễ


14

vỡ là kỹ thuật nhúng thuỷ vân vào trong ảnh yêu cầu thông tin giấu sẽ bị sai lệch nếu
có bất kỳ sự thay đổi vào trên môi trường chứa tin. Còn đối với thuỷ vân bền vững thì
thường được ứng dụng trong các ứng dụng bảo vệ bản quyền và yêu cầu độ bền cao
trước sự thay đổi vào môi trường chứa tin. Trong thủy vân bền vững lại được phân ra
làm hai loại thủy vân đó là thủy vân ẩn (cũng giống như giấu tin, bằng mắt thường
không thể nhìn thấy thuỷ vân) và thủy vân hiện (là loại thuỷ vân được hiện ngay trên
sản phẩm và người dùng có thể nhìn thấy được).

Hình 1. 3 Sơ đồ phân loại các kỹ thuật giấu tin
1.4. Những tính chất của giấu tin trong ảnh
Khi giấu thông tin trong ảnh, 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à gần như khi nhìn bình thường vào ảnh đó chúng ta không
thể phát hiện ra rằng đằng sau ảnh là khối thông tin được ẩn trong đó. Và một đặc
điểm của giấu thông tin trong ảnh đó là thông tin được giấu một cách vô hình, nó là
một cách truyền thông tin mật cho nhau mà người khác không thể biết được bởi sau
khi giấu thông tin thì chất lượng ảnh gần như không thay đổi.
Với nhiều định dạng và tính chất của các ảnh là khác khác nhau nên kỹ thuật
giấu tin trong ảnh thường chú ý những tính chất cơ bản sau đây [6]:
*Tính vô hình: nghĩa là với người quan sát bằng mắt thường không thể phát hiện được
ảnh có chứa thông tin ẩn trong đó. Đây là một tính chất cực kỳ quan trọng đối với kỹ
thuật giấu tin mật.
*Tính bền vững: sau khi thực hiện giấu tin vào ảnh mang, bản thân ảnh mang có thể

phải qua các biến đổi khác nhau như lọc tuyến tính, thêm nhiễu, làm sắc nét, mờ nhạt,


15

quay, nén mất dữ liệu, vì vậy tính bền vững của việc giấu tin thể hiện khả năng chiết
rút thông tin sau các xử lý tín hiệu và các kiểu tấn công. Hiện nay, chưa tìm ra phương
pháp nào có thể đảm bảo tính chất này một cách tuyệt đối.
* Khả năng nhúng: là khả năng lượng thông tin cần nhúng càng nhiều càng tốt nhưng
không được vi phạm tính chất khác của kỹ thuật giấu tin mật.
* Tính trong suốt: thông tin mật đem giấu không được gây ảnh hưởng đến chất lượng
cảm thụ của đối tượng chứa. Tức là hình ảnh sau khi được nhúng tin hình hoàn toàn
giống hình ảnh gốc. Nếu vi phạm tính chất này thì bài toán giấu tin không còn ý nghĩa.
* Khả năng không thể phát hiện: tính chất này thể hiện khả năng khó bị phát hiện,
nghĩa là khó xác định một đối tượng có chứa thông tin mật hay không. Để nâng cao
khả năng này, hầu hết các phương pháp giấu tin đều dựa trên đặc điểm của hệ tri giác
con người: HAS (Human Auditory System) và HVS (Human Visual System)
Khả năng khó bị phát hiện của tín hiệu mật phụ thuộc vào hai yếu tố sau:
+ Kỹ thuật nhúng: dữ liệu nhúng phải phù hợp với đối tượng chứa và thuật toán
nhúng. Để thực hiện tốt yêu cầu này, ngoài những kinh nghiệm trong lĩnh vực giấu tin,
còn phải có kiến thức về các loại định dạng tập tin.
+ Kinh nghiệm của kẻ tấn công: nếu như kẻ tấn công có nhiều kinh nghiệm
trong việc phát hiện đối tượng chứa thông tin mật thì khả năng bị phát hiện là không
quá khó.
Trong thực tế, người ta luôn phải cân nhắc giữa tính bền vững, khả năng nhúng
và khả năng không thể phát hiện. Tùy vào mỗi ứng dụng mà ta ưu tiên tiêu chuẩn nào
là trên hết.
1.5. Các hướng tiếp cận của kỹ thuật giấu tin trong ảnh.
1.5.1. Hướng tiếp cận dựa trên miền không gian ảnh
Đây là hướng tiếp cận cơ bản trong số các kỹ thuật giấu tin. Miền không gian

ảnh là miền dữ liệu ảnh gốc, khi tác động lên miền không gian ảnh thì chính là tác
động lên các điểm ảnh và thay đổi giá trị trực tiếp của điểm ảnh đó. Một phương pháp
phổ biến của hướng tiếp cận này là phương pháp thay thế bit ít quan trọng nhất của
mỗi điểm ảnh [2].
Ý tưởng cơ bản của phương pháp thay thế bit ít quan trọng nhất LSB (Least
Significant Bit) là bit được chọn ra từ mỗi điểm ảnh các bit có ít ý nghĩa nhất về mặt
tri giác để sử dụng về việc giấu tin.
Ví dụ, trong ảnh 24 bit màu, mỗi màu được biểu diễn bởi 24 bit tương ứng với
ba màu RGB, mỗi màu chiếm 1byte. Người ta sử dụng một tính chất của mắt người là


16

sự cảm nhận về màu Blue kém sơn so với màu Red, Green, vì vậy ta thường chọn bit
cuối cùng trong 8 bit biểu diễn màu Blue của mỗi điểm ảnh để giấu tin. Thay đổi bít
cuối cùng trong 8 bit biểu diễn màu Blue chỉ làm giá trị biểu diễn màu Blue tăng hoặc
giảm đi 1 đơn vị. Do vậy các bit ít quan trọng nhất trong trường hợp này là bit thứ 24
của mỗi điểm ảnh. Tuy nhiên phương pháp này cũng có nhiều hạn chế như không đảm
bảo tính bền vững đối với các thao tác như quay hay nén ảnh.
1.5.2. Hướng tiếp cận dựa trên miền tần số của ảnh
Nhóm kỹ thuật này sử dụng một phương pháp biến đổi trực giao nào đó, chẳng
hạn như Cosine rời rạc, hay Fourier… Để chuyển miền không gian ảnh sang miền tần
số. Thuỷ vân sẽ được nhúng trong miền không gian tần số của ảnh theo kỹ thuật trải
phổ trong truyền thông. Đây là kỹ thuật phổ biến nhất với nhiều thuật toán và được
hứa hẹn là một phương pháp tốt giải quyết vấn đề đảm bảo hai thuộc tính quan trọng
của thuỷ vân sau khi giấu.
1.6. Một số ứng dụng của kỹ thuật giấu tin
Ngày nay, kỹ thuật giấu tin được triển khai trong nhiều ứng dụng khác nhau
nhằm bảo vệ tính bí mật của thông tin, phục vụ các mục đích tích cực như bảo vệ bản
quyền, thủy vân số, hay phục vụ giấu các thông tin bí mật về quân sự và kinh tế. Trong

đó giấu tin trong ảnh chiếm tỷ lệ lớn nhất ở hệ thống giấu tin trong đa phương tiện.
Sau đây là một số ứng dụng chủ yếu của giấu tin [2].
- Ứng dụng của thủy vân
+ Bảo vệ bản quyền tác giả: đây là ứng dụng cơ bản nhất của kỹ thuật thủy vân
số. Một thông tin nào đó mang ý nghĩa quyền sở hữu sẽ được nhúng vào trong sản
phẩm của nhà sản xuất. Thủy vân đó chỉ có một mình người chủ sở hữu hợp pháp sản
phẩm đó có, và được dùng làm minh chứng cho bản quyền sản phẩm. Yêu cầu kỹ thuật
đối với ứng dụng này là thủy vân phải tồn tại bền vững cùng sản phẩm, muốn bỏ thủy
vân này mà không được phép của người chủ sở hữu, thì chỉ có cách phá hủy sản phẩm.
+ Nhận thực thông tin hay phát hiện xuyên tạc thông tin: một tập các thông tin
sẽ được giấu trong phương tiện chứa sau đó được sử dụng để nhận biết xem môi
trường chứa tin gốc đó có bị thay đổi hay không. Yêu cầu chung đối với các ứng dụng
này là khả năng giấu thông tin cao và thủy vân không cần bền vững.
+ Gán nhãn: tiêu đề, chú giải và nhãn thời gian cũng như các minh hoạ khác có
thể được nhúng vào ảnh, ví dụ đính tên người lên ảnh của họ. Khi đó nếu sao chép ảnh
thì cũng sẽ sao chép cả các dữ liệu nhúng trong nó. Và chỉ có chủ sở hữu của tác
phẩm, người có được khoá bí mật mới có thể tách ra và xem các chú giải, tiêu đề này.


17

+ Kiểm soát sao chép: điều mong muốn đối với các hệ thống phân phối dữ liệu
đa phương tiện là tồn tại một kỹ thuật chống sao chép trái phép dữ liệu. Các thủy vân
trong trường hợp này được dùng để kiểm soát sao chép đối với các thông tin. Thiết bị
phát hiện ra thủy vân thường được gắn sẵn vào trong hệ thống đọc ghi. Ứng dụng loại
này cũng yêu cầu thủy vân phải được đảm bảo an toàn và cũng sử dụng phương pháp
phát hiện thủy vân đã giấu mà không cần thông tin gốc.
- Ứng dụng của giấu tin: thông tin giấu được trong trường hợp này càng nhiều càng
tốt, việc tách tin để nhận được tin giấu cũng không cần phương tiện chứa ban đầu. Các
yêu cầu mạnh về tính bền vững không cần thiết lắm, thay vào đó là thông tin giấu cần

phải đảm bảo tính bí mật.
1.7. Một số kỹ thuật giấu tin
1.7.1. Kỹ thuật giấu tin mật trong khối bít sử dụng tính chẵn lẻ của tổng bit 1
1.7.1.1. Ý tưởng
Ý tưởng cơ bản của kỹ thuật này là chia một ảnh thành các khối nhỏ và trong
mỗi khối nhỏ sẽ giấu một bit thông tin. Dựa vào tính chẵn lẻ của tổng số các bit 1
trong khối để quy định giấu bit 1 hay 0. Cụ thể sau khi giấu thì tổng số các bit 1 trong
khối và bit cần giấu sẽ có cùng tính “chẵn lẻ”. Thuật toán này dùng cho ảnh đen trắng,
ảnh mầu và ảnh xám. Đây là kỹ thuật đơn giản nhất trong các kỹ thuật giấu tin.
1.7.1.2. Thuật toán giấu tin
Đầu vào
 Một file ảnh bitmap đen trắng
 Một file thông tin cần giấu
 Một khóa K: đây là kích thước của khối nhỏ.
Đầu ra
 Một file ảnh đã được giấu tin
Các bước thực hiện
Bước 1: Tiền xử lý
 Chuyển file thông tin cần giấu sang dạng nhị phân D=b
1
b
2
…b
k

 Đọc phần chứa thông tin ảnh (header của ảnh) để lấy các thông tin về
ảnh, đọc bảng màu. Sau đó đọc toàn bộ dữ liệu ảnh vào một mảng hai
chiều M
MxN
để sử dụng cho việc giấu tin

Bước 2: Giấu tin


18

 Chia ma trận M
MxN
thành các khối nhỏ B
i
kích thước K = m
x
n
 Thực hiện giấu bit dữ liệu b
i
vào từng khối B
i

For each B
i

IF sum(B
i
)  b
i
(mod 2) THEN giữ nguyên khối B
i
.
else B’
i
 đảo bit bất kỳ trong B

i
.
End;
Trong kỹ thuật giấu tin này, khóa đơn giản chỉ là kích thước khối nhỏ. K = m
x
n.
Nếu biết kích thước của khối thì ta dễ dàng giải mã theo quy tắc sau.
1.7.1.3. Quy trình tách tin
Đầu vào
 Ảnh đã được giấu tin với dãy bit bí mật D=b
1
b
2
…b
k

 K là khóa bí mật, là kích thước khối nhỏ đã được xác định trước
Đầu ra
 File ảnh chứa tin đã được giấu
 D là dãy bit bí mật đã giấu
Các bước thực hiện
Bước 1 :
 Đọc header của ảnh để biết các thông tin về ảnh
 Đọc bảng màu
 Đọc phần dữ liệu ảnh vào ma trận hai chiều M
MxN

Bước 2 : Chia ma trận M thành các khối nhỏ B
i
với kích thước K=m

x
n
Bước 3 : Theo một thứ tự xác định trước, xét từng khối nhỏ B
i
, thực hiện giải tin theo
quy tắc sau:
 Nếu tổng số các bit 1 trong khối là lẻ thì ta thu được bit dữ liệu giấu là 1.
 Nếu tổng số các bit 1 trong khối là chẵn thì ta thu được bit dữ liệu giấu là 0.
Cứ như vậy, sau khi xử lý hết các khối nhỏ đã giấu thông tin ta thu được chuỗi
bit đã giấu và chuyển file xâu bit nhị phân sang file văn bản.
* Phân tích thuật toán


19

- Việc chọn kích thước khối giấu tùy thuộc vào kích thước ảnh và lượng thông
tin cần giấu sao cho giấu giàn trải trên toàn bộ ảnh.
- Với thuật toán này việc chọn khối khá đơn giản, bắt đầu từ khối đầu tiên và
những khối liên tiếp phía sau một cách tuần tự. Tuy nhiên ta có thể làm khó thuật toán
hơn bằng cách chọn ngẫu nhiên một khối chưa giấu ở mỗi lần giấu. Khi đó, đã làm
tăng độ an toàn của thuật 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ư lần 1
có kích thước khối là 8x8, lần thứ hai 12x12, 16x16… trong trường hợp này thì khóa
là kích thước khối của mỗi lần giấu là khác nhau.
1.7.2. Kỹ thuật giấu tin Wu-Lee
Kỹ thuật giấu tin theo khối bit sử dụng tính chẵn lẻ của tổng số bit 1 trong khối
thể hiện độ an toàn không cao do chỉ có duy nhất kích thước khối là khóa cho quá trình
giấu tin. Do đó thuật toán giấu tin trong ảnh đen trắng do W.Y.Wu và J.H.Lee đưa ra
năm 1989, đã khắc phục phần nào những tồn tại của thuật toán giấu tin theo khối bít sử
dụng tính chẵn lẻ của tổng bít 1 bằng cách đưa thêm khóa K là một một ma trận nhị

phân phục vụ cho việc giấu tin và điều kiện để đảo bit trong mỗi khối nhỏ [14].
1.7.2.1. Một số định nghĩa
Định nghĩa 1.1: Gọi x và y là hai bit tùy ý, phép nhân ký hiệu  trên hai bit x và y.
Phép cộng loại trừ (hay còn gọi là phép XOR) ký hiệu  trên hai bit x và y được định
nghĩa thông qua bảng giá trị như sau:
x y
x

y

x

y
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
Hai phép toán này cũng được áp dụng đối với việc nhân hai ma trận hay cộng
loại trừ hai ma trận. Với điều kiện các ma trận nhị phân đó phải cùng cấp.
Định nghĩa 1.2.
Cho A=A[i,j], B=B[i,j] là 2 ma trận bit cùng cấp m
x
n
Thì A  B = C với C=C[i,j]= A[i,j] B[i,j] ; 1≤ i ≤ m ; 1≤ j ≤ n
Và A  B = D với D=D[i,j]= A[i,j]  B[i,j] ; 1≤ i ≤ m ; 1≤ j ≤ n
Ví dụ:


20



Định nghĩa 1.3
Với một ma trận số A với kích thước bất kỳ thi ta định nghĩa SUM(A) là tổng
tất cả các phần tử của ma trận A. Nếu A là ma trận bit thì SUM(A) chính là tổng số các
bit 1 có trong A.
Với ví dụ trong định nghĩa 1.2 ta có SUM (A)= 10, SUM(B)=9, SUM(C)=5,
SUM(D)=9.
1.7.2.2. Thuật toán giấu tin
* Ý tưởng
Ý tưởng của thuật toán là sử dụng một khóa bí mật K là một ma trận nhị phân
có kích thước m
x
n dùng để làm tăng tính bí mật của các thông điệp được giấu.
* Thuận toán giấu tin
Đầu vào:
 Một ảnh gốc nhị phân F
 Một khóa bí mật K là một ma trận nhị phân kích thước m
x
n
 Xâu bit dữ liệu B=b
1
b
2
b
3
b
p
cần giấu.
Đầu ra: F’ là một file ảnh đã được giấu tin bên trong
Các bước thực hiện

Việc nhúng thông tin giấu vào trong ảnh sẽ được thực hiện bằng cách thay đổi
một số bit của ảnh F theo các bước sau:
Bước 1: Chia ảnh F thành các khối nhỏ F
i
mỗi khối có kích thước cùng với kích thước
của khóa K là m
x
n.
Bước 2:
For each F
i



21

IF 0< SUM(F
i
 K) < SUM (K) THEN
Chuyển sang bước 3 để thực hiện giấu thông tin
ELSE
Giữ nguyên khối F
i
(không giấu dữ liệu vào khối này)
END IF
Bước 3: Giả sử bit cần giấu vào khối Fi là b, ta thực hiện các bước sau đây để thay đổi
khối F
i

IF (SUM(F

i
 K) mod 2 = b) THEN
Giữ nguyên F
i

ELSE IF (SUM(F
i
 K) =1) THEN
Chọn ngẫu nhiên một bit (x,y) trong khối F
i
thỏa mãn đồng hai điều kiện
F
i
[x,y] = 0 và K [x,y] = 1 sau đó thực hiện việc gán lại giá trị của bit Fi[x,y] = 1
ELSE IF SUM(Fi  K) = SUM(K) – 1) THEN
Chọn ngẫu nhiên một bit (x,y) thỏa mãn đồng thời F
i
[x,y] =1 và K[x,y]=1 sau đó thực
hiện gán lại giá trị cho bít F
i
[x,y] = 0;
ELSE
Chọn ngẫu nhiên một bit (x,y) mà K[x,y] = 1
IF Fi[x,y]=0 THEN F
i
[x,y] =1
ELSE F
i
[x,y] = 0;
END IF;

Ví dụ minh họa
Giả sử ta cần giấu dãy bit B = 101 vào ảnh F có kích thước 8x8 và một ma trận
khóa K có kích thước 4x4. Đầu tiên ta thực hiện chia ảnh F thành 4 khối nhỏ F
1
, F
2
, F
3
,
F
4
, mỗi khối nhỏ có kích thước là 4x4. Sau khi chia F thành 4 khối nhỏ ta thực hiện
tính giá trị của (F
1
 K) , (F
2
 K) , (F
3
 K) , (F
4
 K) ta được kết quả như hình vẽ
dưới đây.





22

F1 F2

F1

K F2

K
F=

1

1 1

0

1 0 1 0

1 0 1 0

1

0 1 0

0

1 1

0

1 1 1 1

0 1 0 0


0

1 0 1

1

1 1

1

1 1 0 0

1 0 1 0

1

0 0 0

0 1

0

0 1 0 1

0 0 0 0

0

1 0 1


1

0 1

0

0 0 0 0

1 0 1 0 1 0 1 0

0

0 0 0

0

1 0

1

1 1 1 1

0 1 0 1 0 1 0 1

0

1 0 1

1


0 1

0

0 1 0 0

1 0 1 0 1 0 1 0

0

0 0 0

0

1 0

1

0 1 0 1

0 1 0 1 0 1 0 1

0

1 0 1

F3 F4 K
F3


K F4

K

 Với khối F
1
: SUM (F
1
 K)= 5 < SUM(K) =8. Khối F
1
thỏa mãn điều kiện, ta thực
hiện giấu bít b=1 vào khối này.
Ta có: (SUM (F
1
 K) mod 2) = (5 mod 2) = 1 = b suy ra giữ nguyên khối F
1
coi
như bít đầu tiên b=1 đã được giấu trong F
1
, ta thu được khối F
1
’ = F
1
.
 Với khối F
2
: SUM(F
2
 K)= 7 < SUM(K) = 8. Khối F
2

thỏa mãn điều kiện ta thực
hiện giấu bít tiếp theo b=0 vào khối F
2
này.
Ta có: (SUM(F
2
 K) mod 2) = (7 mod 2) = 1
≠ b. Do SUM(F
2
 K) = SUM(K) – 1
nên ta chọn ngẫu nhiên phần tử [1,3] trong F
2
để thực hiện đảo bit cho phần tử này
vì F
2
[1,3] = K [1,3] = 1. Ta thu được F
2
’ bằng cách đảo bít F
2
[1,3]=0.
 Với khối F
3
: ta có SUM(F
3
 K) = 8 = SUM(K) nên khối F
3
sẽ không được thực
hiện giấu bit.
 Với khối F
4

: SUM(F
4
 K) = 4 < SUM(K)=8. Khối F
4
thỏa mãn điều kiện để thực
hiện giấu bít tiếp theo b=1.
Ta có: SUM(F
4
 K) mod 2 = 4 mod 2 = 0
≠ b. Ta chọn
ngẫu nhiên phần tử F
4
[2,2]
ứng với K[2,2]=1 đảo bit của F
4
[2,2] từ 1 thành 0 ta thu được khối F
4







23

Kết quả thu được sau khi giấu dãy bít B=101 như sau:
F
1
’ F

2

F’=
1 1 1 0 1 0
0
0
0 1 1 0 1 1 1 1
1 1 1 1 1 1 0 0
0 0 1 0 0 1 0 1
1 0 1 0 0 0 0 0
0 1 0 1 1
0
1 1
1 0 1 0 0 1 0 0
0 1 0 1 0 1 0 1
F
3
’ F
4


1.7.2.3. Quá trình tách tin
Đầu vào
 Ảnh F’ đã được giấu tin
 Khóa bí mật K là ma trận nhị phân kích thước m
x
n
Đầu ra
 Ảnh F’ là ảnh gốc ban đầu trước khi giấu tin
 B = b

1
b
2
…b
n
là dãy bit dữ liệu được dấu
Các bước thực hiện
Bước 1 :
 Đọc header của ảnh để biết các thông tin về ảnh
 Đọc bảng màu
 Đọc phần dữ liệu ảnh vào ma trận hai chiều A
Bước 2 : Chia ma trận A thành các khối nhỏ Ai với kích thước là m
x
n cùng với kích
thước của khóa K
FOR EACH A
i

IF 0< SUM (A
i
 K) < SUM (K) THEN


24

b
x
= SUM (A
i
 K) mod 2.

Khi đó ta có ta thu được tập các b
x
chính là dãy bít dữ liệu được giấu.
1.7.3. Thuật toán giấu tin Yuan – Pan - Tseng
1.7.3.1. Ý tưởng
Đây là thuật toán được cải tiến dựa trên cơ sở của thuật toán Wu_Lee của nhóm
tác giả Yu-Yuan, Hsiang-Kuang Pan và Yu-Chee Tseng.
Kỹ thuật giấu tin trong thuật toán này là sử dụng một ma trận khoá và ma trận
trọng số để giấu thông tin. Kết quả của thuật toán sau khi giấu tin đảm bảo được độ an
toàn thông tin và cũng giấu được nhiều thông tin trong ảnh bằng cách chỉ thay đổi tối
đa hai bit trong mỗi khối ảnh. Bên cạnh ưu điểm đạt được thì nhược điểm của phương
pháp này là chất lượng ảnh chưa cao, dễ bị phát hiện đối với ảnh đen trắng.
1.7.3.2. Thuật toán giấu tin
Đầu vào
 F là một ma trận các giá trị điểm ảnh của ảnh gốc dùng để giấu tin.
 Khóa K là một ma trận nhị phân cấp m
x
n
 r là số lượng bit cần giấu trong mỗi khối ảnh F
i
, F
i
có kích thước m
x
n
 B là xâu bit cần giấu với độ dài là k*r bit với k là số khối ảnh giấu.
 Ma trận trọng số W có kích thước m
x
n. Với W[i,j] {1,2,….,2
r

-1} và mỗi phần
tử trong tập {1,2,….,2
r
-1} phải xuất hiện ít nhất một lần trong ma trận trọng số
W.
Đầu ra
 Ảnh F’ đã được giấu xâu bit B
Cách thực hiện
Bước 1: Chia F thành các khối nhỏ F
i
có kích thước m
x
n.
FOR EACH F
i

Begin
Bước 2: Ta xác định 2 ma trận T và P với:
T = F
i
 K , P = T  W
Bước 3: Tính S = SUM(P)
Bước 4: Với mỗi ma trận T ta xác định S
w



25

For each w {1,2,….,2

r
-1}
S
w
= {(j,k) (W[j,k] = w  T
i
[j,k] = 0) v (W[j,k] = 2
r
- w  T
i
[j,k] =1)}
Bước 5: Ta đặt d=(b
1
b
2
…b
r
) – SUM(P)(mod 2
r
)
IF d=0 THEN
Giữ nguyên F
i

END IF
Bước 6:
IF S
d
≠ 0 THEN
Chọn phần tử [j,k] bất kỳ thuộc tập {1,2,3… 2

r
-1 } và đảo bit F
i
[j,k]
Bước 7:
u=d;
WHITE (S
u
= ) DO
v = 2
r
– u; u = (u + d) mod 2
r
;
END ;
Bước 8:
Chọn phần tử [j, k] bất kì thuộc S
u
và đảo bit F
i
[j, k];
Chọn phần tử [j, k] bất kì thuộc S
v
và đảo bit F
i
[j, k];
End
Ví dụ minh họa
- Ta có một ma trận ảnh F
8x8

được chia thành 4 khối ảnh nhỏ F
1
, F
2
, F
3
, F
4

- Ma trận khóa K
4x4,
Ma trận trọng số W
4x4

- Xâu bít cần giấu : B=001 000 010 001 với r =3.
Với r =3 thì đoạn bit 001 sẽ được giấu vào F
1
, đoạn bít 000 sẽ được giấu vào F
2
,
đoạn bit 010 sẽ được giấu vào F
3
, đoạn bit 001 sẽ được giấu vào F
4
.





×