Số hóa bởi Trung tâm Học liệu
ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
HOÀNG THỊ THÚY DIỆU
PHƢƠNG PHÁP THỦY VÂN DỄ VỠ
KHÓA CÔNG KHAI ỨNG DỤNG TRONG
BÀI TOÁN CHỐNG GIẢ MẠO VĂN BẰNG
LUẬN VĂN THẠC SỸ KHOA HỌC MÁY TÍNH
Thái Nguyên - 2014
Số hóa bởi Trung tâm Học liệu
LỜI CAM ĐOAN
Tôi xin cam đoan
Những nội dung trong luận văn này là do tôi thực hiện dƣới sự chỉ đạo
trực tiếp của thầy giáo PGS.TS Phạm Văn Ất.
Mọi tham khảo dùng trong luận văn đều đƣợc trích dẫn rõ ràng tên tác
giả, tên công trình, thời gian, địa điểm công bố.
Mọi sao chép không hợp lệ, vi phạm qui chế đào tạo, hay gian trá tôi
xin chịu hoàn toàn trách nhiệm.
Học viên
Hoàng Thị Thúy Diệu
Số hóa bởi Trung tâm Học liệu
LỜI CẢM ƠN
Lời đầu tiên, em xin gửi lời biết ơn sâu sắc đến PGS.TS Phạm Văn Ất
ngƣời đã tận tình hƣớng dẫn, chỉ bảo, giúp đỡ em trong suốt quá trình làm
luận văn.
Em cũng xin gửi lời cảm ơn đến các thầy cô giáo trƣờng Đại học Công
nghệ thông tin và Truyền thông - Đại học Thái Nguyên, các thầy cô Viện
Công nghệ thông tin đã truyền đạt những kiến thức và giúp đỡ em trong suốt
quá trình học của mình.
Tôi cũng xin gửi lời cảm ơn tới Ban giám hiệu trƣờng Cao đẳng Cộng
đồng Bắc Kạn đã tạo điều kiện thuận lợi cho tôi tham gia khóa học và trong
suốt quá trình hoàn thành luận văn.
Và cuối cùng tôi xin gửi lời cảm ơn tới các đồng nghiệp, gia đình và bạn
bè những ngƣời đã ủng hộ, động viên tạo mọi điều kiện giúp đỡ để tôi có
đƣợc kết quả nhƣ ngày hôm nay.
Thái Nguyên, tháng 7 năm 2014
Học viên
Hoàng Thị Thuý Diệu
Số hóa bởi Trung tâm Học liệu
MỤC LỤC
TRANG PHỤ BÌA……………………………………………………………i
LỜI CAM ĐOAN ii
LỜI CẢM ƠN iii
MỤC LỤC iv
DANH MỤC CÁC BẢNG vii
DANH MỤC CÁC HÌNH viii
MỞ ĐẦU 1
Chƣơng 1 3
TỔNG QUAN VỀ CÁC KỸ THUẬT GIẤU TIN 3
1.1. Khái niệm giấu tin 3
1.2. Lịch sử giấu tin 4
1.3. Phân loại các kỹ thuật giấu tin 6
1.4. Ứng dụng của kỹ thuật giấu tin 6
1.5. Một số hƣớng tiếp cận giấu tin trong ảnh 8
1.5.1. Giấu tin trên miền không gian ảnh 8
1.5.2. Giấu tin trên miền tần số 8
1.6. Cấu trúc tệp ảnh bitmap 9
1.6.1. Cấu trúc và nội dung của Bitmap File Header 10
1.6.2. Cấu trúc và nội dung của Bitmap Info 10
1.6.3. Cấu trúc và nội dung của Color Palette 11
1.6.4. Bitmap Data 11
1.7. Một số định nghĩa 11
1.8. Thuật toán giấu tin Wu-Lee 13
1.8.1. Thuật toán nhúng tin 13
1.8.2. Phân tích thuật toán 15
Số hóa bởi Trung tâm Học liệu
1.8.3. Thí dụ minh họa thuật toán nhúng tin Wu-Lee 16
1.8.4. Một số nhận xét về thuật toán Wu-Lee 17
1.9. Thuật toán Chen – Pan – Tseng 18
1.9.1. Ý tƣởng 18
1.9.2. Thuật toán nhúng tin CPT 18
1.9.3. Chứng minh tính đúng đắn của thuật toán 20
1.9.4. Một số thí dụ minh họa thuật toán CPT 22
1.9.5. Phân tích thuật toán 25
1.10. Thuật toán giấu tin THA 26
1.10.1. Thuật toán nhúng tin 26
1.10.2. Ví dụ minh hoạ 27
Chƣơng 2 29
MỘT SỐ LƢỢC ĐỒ THỦY VÂN DỄ VỠ KHÓA CÔNG KHAI 29
2.1. Thủy vân trên ảnh số 29
2.2. Phân loại thủy vân 30
2.3. Giới thiệu về hàm băm 31
2.3.1. Định nghĩa hàm băm 31
2.3.2. Đặc tính của hàm băm 31
2.3.3. Tính chất của hàm băm 32
2.3.4. Một số hàm băm phổ biến 33
2.3.5. Tiêu chuẩn của một hàm băm tốt 35
2.3.6. Ứng dụng của hàm băm 36
2.4. Hệ mật mã khóa công khai 36
2.4.1. Mã khóa công khai 37
2.4.2. Sơ đồ mã khóa công khai 37
2.4.3. Các đặc trƣng của khóa công khai 38
2.4.4. Ứng dụng khóa công khai 38
Số hóa bởi Trung tâm Học liệu
2.4.5. Tính an toàn của các sơ đồ khóa công khai 39
2.5. Hệ mã hóa RSA 39
2.5.1. Tạo khóa cho RSA 40
2.5.2. Sử dụng RSA 40
2.5.3. Ví dụ RSA 40
2.5.4. Sơ đồ chữ ký số RSA 41
2.6. Quản lý và phân phối khóa 42
2.7. Lƣợc đồ thủy vân dễ vỡ khóa công khai trên ảnh nhị phân 43
2.7.1. Thuật toán nhúng dấu thủy vân 44
2.7.2. Thuật toán xác thực tính toàn vẹn 44
2.7.3. Tấn công tính chẵn lẻ 45
2.8. Lƣợc đồ thủy vân dễ vỡ khóa công khai trên ảnh mầu 46
2.8.1. Nhúng tin trên ảnh mầu bằng kỹ thuật chèn bit thấp 46
2.8.2. Thuật toán nhúng thủy vân 48
2.8.3. Thuật toán xác thực 49
Chƣơng 3 51
ỨNG DỤNG THỦY VÂN DỄ VỠ KHOÁ CÔNG KHAI TRONG 51
BÀI TOÁN CHỐNG GIẢ MẠO VĂN BẰNG 51
3.1. Bài toán 51
3.2. Giải pháp 51
3.3. Mô hình xử lý của hệ thống 51
3.4. Kết quả thực nghiệm 53
KẾT LUẬN 58
TÀI LIỆU THAM KHẢO 59
I. Tiếng Việt 59
II. Tiếng Anh 59
Số hóa bởi Trung tâm Học liệu
DANH MỤC CÁC BẢNG
Bảng 1.1. Cấu trúc và nội dung của Bitmap File Header 10
Bảng 1.2. Cấu trúc và nội dung của Bitmap Info 10
Bảng 1.3. Cấu trúc và nội dung của Color Palette 11
Số hóa bởi Trung tâm Học liệu
DANH MỤC CÁC HÌNH
Hình 1.1. Mô hình giấu tin 3
Hình 1.2. Mô hình giải mã thông tin 4
Hình 1.3. Phân loại kỹ thuật giấu tin 6
Hình 1.4. Minh hoạ thuật toán nhúng tin của Wu-Lee 16
Hình 1.5. Minh hoạ giữa thay đổi ngẫu nhiên và thay đổi có định hƣớng 18
Hình 1.6. Minh hoạ thuật toán CPT trƣờng hợp thay đổi 1 bit 222
Hình 1.7. Minh hoạ quá trình giải mã thông tin đã giấu 233
Hình 1.8. Thí dụ minh hoạ trƣờng hợp thay đổi hai bit 25
Hình 2.1. Mô hình thủy vân số 29
Hình 2.2. Phân loại thủy vân theo mục đích ứng dụng 30
Hình 2.3. Sơ đồ mã khóa công khai 38
Hình 2.4. Mô hình thuật toán nhúng thủy vân 44
Hình 2.5. Mô hình xác thực tính toàn vẹn 45
Hình 3.1. Sơ đồ thủy vân ảnh bằng 52
Hình 3.2. Sơ đồ xác thực và định vị vùng giả mạo 53
Hình 3.3. Ảnh bằng gốc Error! Bookmark not defined.
Hình 3.4. Ảnh bằng thủy vân 55
Hình 3.5 Ảnh bằng giả 56
Hình 3.6. Ảnh định vị vùng giả mạo 57
Số hóa bởi Trung tâm Học liệu
1
MỞ ĐẦU
Một trong những thành tựu quan trọng của những thập niên cuối thế kỷ
XX, đầu thế kỷ XXI là sự ra đời, phát triển của mạng Internet. Mọi ngƣời đều
có thể kết nối vào Internet để tìm kiếm thông tin một cách dễ dàng thông qua
nhà cung cấp dịch vụ Internet. Ngƣời dùng có thể đọc thông tin mới nhất, tra
cứu các thƣ viên số, tìm thông tin lĩnh vực mình quan tâm. Bên cạnh đó, các
nhà cung cấp sản phẩm cũng sẵn sàng cung cấp dữ liệu của mình cho ngƣời
dùng thông qua mạng.
Tuy nhiên việc phân phối một cách phổ biến các tài nguyên trên mạng
hiện nay luôn gặp phải vấn nạn sao chép và sử dụng không hợp pháp. Kỹ
thuật thủy vân hiện đang đƣợc xem là một trong những giải pháp quan trọng
trong việc bảo vệ bản quyền và xác thực tính toàn vẹn của dữ liệu số.
Theo mục đích sử dụng của lƣợc đồ thủy vân đƣợc chia thành hai nhóm
chính là thủy vân dễ vỡ và thủy vân bền vững. Mặt khác, dựa vào việc sử
dụng khóa cũng có thể chia thành hai loại là: thủy vân khóa bí mật và thủy
vân khóa công khai. Đối với thủy vân khóa bí mật, do sử dụng chung khóa
cho cả hai quá trình nên cần phải có công đoạn trao đổi khóa giữa ngƣời
nhúng và ngƣời kiểm tra dấu thủy vân, điều này dẫn đến việc bảo mật khóa
gặp phải khó khăn. Tuy nhiên hạn chế này không xuất hiện trong thuật toán
thủy vân khóa công khai.
Nội dung luận văn tập trung vào việc nghiên cứu một số kỹ thuật giấu
dữ liệu trong ảnh đã đƣợc công bố, một số lƣợc đồ thủy vân dễ vỡ khóa công
khai trên ảnh nhị phân và ảnh mầu; ứng dụng những kỹ thuật này trong bài
toán chống giả mạo văn bằng.
Số hóa bởi Trung tâm Học liệu
2
Cấu trúc của luận văn
Dựa vào mục tiêu đã xác định, nội dung của luận văn sẽ đƣợc trình bày
qua 3 chƣơng nhƣ sau:
Chƣơng I: Tổng quan về các kỹ thuật giấu tin
Chƣơng II: Một số lƣợc đồ thủy vân dễ vỡ khóa công khai
Chƣơng III: Ứng dụng thuỷ vân dễ vỡ khoá công khai trong bài toán
chống giả mạo văn bằng.
Do thời gian và trình độ còn hạn chế nên luận văn khó tránh khỏi
những sai sót, kính mong nhận đƣợc sự đóng góp chỉ bảo của các thầy, cô
giáo và các bạn đồng nghiệp.
Qua đây tôi xin cảm ơn thầy giáo PGS.TS Phạm Văn Ất và các thầy
giáo trong Trƣờng Đại học công nghệ thông tin và truyền thông – Đại học
Thái Nguyên đã tận tình hƣớng dẫn tôi trong quá trình học tập cũng nhƣ trong
thời gian nghiên cứu hoàn thiện luận văn này.
Thái Nguyên, tháng 7 năm 2014
Học viên thực hiện
Hoàng Thị Thúy Diệu
Số hóa bởi Trung tâm Học liệu
3
Chƣơng 1
TỔNG QUAN VỀ CÁC KỸ THUẬT GIẤU TIN
Chương này trình bày một số khái niệm và phân tích khả năng ứng dụng
của kỹ thuật giấu tin. Ngoài ra, trong Chương còn trình bày ba thuật toán giấu tin
trên ảnh nhị phân Wu-Lee[8], CPT[6] và THA [7] thường được đề cập trong các
tài liệu. Các thuật toán này là cơ sở để xây dựng lược đồ thủy vân dễ vỡ trình bày
trong Chương 2.
1.1. Khái niệm giấu tin
Giấu tin là một kỹ thuật giấu một lƣợng thông tin số nào đó vào một
đối tƣợng dữ liệu khác.
Kỹ thuật giấu tin nhằm 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 đƣợc giấu tin ở trong. Hai mục
đích khác nhau này dẫn đến hai kỹ thuật chủ yếu của giấu tin. Hƣớng thứ nhất
là giấu tin mật, nhằm tập trung vào các kỹ thuật giấu tin sao cho ngƣời khác
khó phát hiện đƣợc đối tƣợng có chứa thông tin mật bên trong. Hƣớng thứ hai
là thủy vân số, hƣớng thủy vân số có miền ứng dụng lớn hơn nên đƣợc quan
tâm nghiên cứu nhiều hơn và thực tế đã có rất nhiều kỹ thuật đƣợc đề xuất.
Mô hình giấu tin và giải mã thông tin
a. Mô hình giấu tin
Hình 1.1. Mô hình giấu tin
Số hóa bởi Trung tâm Học liệu
4
b. Mô hình giải mã thông tin
Hình 1.2. Mô hình giải mã thông tin
1.2. Lịch sử giấu tin
Các kỹ thuật giấu tin đã đƣợc đề xuất và sử dụng từ xa xƣa, và tiếp tục
đƣợc phát triển cho đến ngày nay.
Các ghi chép đầu tiên về giấu tin đã đƣợc nhà sử học Hy Lạp
Herodotus ghi chép lại, một trong những câu chuyện nổi tiếng khi nói đến
lĩnh vực này là câu chuyện về tên bạo chúa Histiacus. Trong suốt thế kỷ thứ 5
trƣớc công nguyên, Histiacus bị vua Darius giam cầm tại nhà tù Susa. Trong
thời gian này, ông đã cố gắng liên hệ với con rể của mình là Aristagoras ở
Miletus. Để thực hiện âm mƣu này, ông đã cạo đầu của một nô lệ và xăm lên
đó thông điệp cần chuyển, đến khi tóc của nô lệ này mọc dài, hắn đƣợc
chuyển tới Miletus. Phƣơng pháp này về sau đã đƣợc các điệp viên Đức sử
dụng vào đầu thế kỷ 20.
Ngoài ra, từ xa xƣa Demeratus ngƣời Hy Lạp đã nghĩ ra cách khắc
thông báo lên bề mặt các viên thuốc và đƣợc bọc lại cẩn thận. Hay nhƣ cách
sử dụng mực không màu, nƣớc hoa quả, để viết thông báo ẩn v.v.
Thời chiến tranh Pháp – Phổ (1870 – 1871), thông tin đƣợc giấu trong
các đoạn phim nhỏ. Thời chiến tranh thế giới thứ I, tài liệu trao đổi giữa các
điệp viên đƣợc giấu dƣới các siêu dấu chấm. Và rất nhiều phƣơng pháp khác
Số hóa bởi Trung tâm Học liệu
5
đƣợc áp dụng để che giấu thông tin sử dụng trong chiến tranh. Về sau, rất
nhiều kỹ thuật giấu tin trên giấy đã đƣợc phát triển sử dụng các tia cực tím.
Giải pháp giấu thông tin mật vào các bức ảnh đƣợc khám phá và phát triển
đầu tiên vào những năm 1860, do nhiếp ảnh gia Dragon ngƣời Pháp thực hiện.
Ngày nay, giấu thông tin trong ảnh chiếm tỷ lệ lớn trong các chƣơng
trình ứng dụng, các phần mềm, hệ thống giấu tin trong dữ liệu đa phƣơng tiện
bởi lƣợng thông tin đƣợ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ò hết sức quan trọng trong hầu hết các ứng dụng
bảo vệ an toàn thông tin nhƣ: nhận thức thông tin, xác định xuyên tạc thông
tin, bảo vệ bản quyền tác giả, điều khiển truy cập, giấu thông tin mật v.v. Vì
thế mà vấn đề này đã nhận đƣợc sự quan tâm rất lớn của các cá nhân, tổ chức,
trƣờng đại học và viện nghiên cứu trong và ngoài nƣớc.
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à mắt ngƣời không thể phát hiện đƣợc bên trong bức ảnh đó có chứa
thông tin gì. Và ngày nay, khi ảnh số đã đƣợc sử dụng phổ biến thì giấu thông
tin trong ảnh đã đem lại rất nhiều những ứng dụng quan trọng trên nhiều lĩnh
vực trong đời sống xã hội. Ví dụ nhƣ đối với các nƣớc phát triển chữ ký tay
đã đƣợc số hoá và đƣợc lƣu trữ giống nhƣ là hồ sơ cá nhân của các dịch vụ
ngân hàng và tài chính, nó đƣợc dùng để xác thực trong các thẻ tín dụng của
ngƣời tiêu dùng. Thêm vào đó, lại có rất nhiều loại thông tin quan trọng cần
đƣợc bảo mật, chúng rất dễ bị lấy trộm và bị thay đổi bởi các phần mềm
chuyên dụng. Việc nhận 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, bởi sau khi giấu
thông tin thì chất lƣợng ảnh gần nhƣ không thay đổi, đặc biệt đối với ảnh màu
hay ảnh đa mức xám.
Số hóa bởi Trung tâm Học liệu
6
1.3. Phân loại các kỹ thuật giấu tin
Có thể chia lĩnh vực giấu tin thành hai hƣớng chính, đó là giấu tin mật
và thủy vân số.
Kỹ thuật giấu tin mật luôn chú trọng đến tính che giấu, với tính che
giấu, các đối thủ khó có thể phát hiện đƣợc đối tƣợng có chứa tin mật bên
trong hay không; hơn nữa, nếu phát hiện có giấu tin thì việc giải mã thông tin
mật cũng khó có thể thực hiện đƣợc. Đồng thời, các kỹ thuật giấu tin mật còn
quan tâm lƣợng tin có thể đƣợc giấu.
Phạm vi ứng dụng của thủy vân đa dạng hơn, tuỳ theo mục đích của hệ
thủy vân mà ngƣời ta lại chia thành các hƣớng nhỏ nhƣ: thủy vân dễ vỡ và
thủy vân bền vững. Thủy vân bền vững quan tâm nhiều đến việc nhúng những
mẩu tin đòi hỏi độ bền vững cao của thông tin đƣợc giấu trƣớc các biến đổi
thông thƣờng trên dữ liệu môi trƣờng. 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. Nhƣ vây, kỹ
thuật giấu tin có thể đƣợc phân loại nhƣ trong Hình 1.3.
Hình 1.3. Phân loại kỹ thuật giấu tin
1.4. Ứng dụng của kỹ thuật giấu tin
Giấu tin mật: Thông tin đƣợc giấu trong những trƣờng hợp này cần
đƣợc bảo mật trƣớc các đối thủ. Việc giải mã để nhận đƣợc thông tin cũng
không cần dữ liệu môi trƣờng gốc. Đối với các thuật toán giấu tin mật chúng
ta không chú trọng đến việc bảo vệ thông tin mật trƣớc sự tấn công của các
Giấu thông tin
Giấu tin mật
Thuỷ vân số
Số hóa bởi Trung tâm Học liệu
7
đối thủ mà thay vào đó các thuật toán quan tâm đến tính ẩn và tính an toàn đối
với dữ liệu cần giấu. Do đó, các thuật toán giấu tin có độ bảo mật cao sẽ đƣợc
sử dụng trong các ứng dụng giấu tin mật.
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 bản quyền đƣợc sở hữu bởi
tác giả gọi là thủy vân, thông tin này sẽ đƣợc nhúng vào trong các sản phẩm
multimedia, và đó là minh chứng cho bản quyền của tác giả nhằm bảo vệ các
sản phầm chống lại các hành vi lấy cắp hoặc làm nhái. 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, khi
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òn
cách là phá huỷ sản phẩm.
Xác thực thông tin: Một tập các thông tin sẽ đƣợc giấu trong dữ liệu
nguồn và thông tin sẽ đƣợc sử dụng để nhận biết xem dữ liệu nguồn có bị
thay đổi hay không. Với kiểu ứng dụng này các thủy vân nên đƣợc ẩn để tránh
đƣợc 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 đƣợc xem xét. Trong các ứng dụng thực
tế, ngƣời ta mong muốn tìm đƣợc vị trí bị xuyên tạc cũng nhƣ phân biệt đƣợc
các thay đổi. Yêu cầu chung đối với ứng dụng này là khả năng giấu thông tin
cao và thủy vân không cần bền vững.
Giấu vân tay hay dán nhãn: Thủy vân số trong những ứng dụng này
đƣợc sử dụng để nhận diện ngƣời gửi hay ngƣời nhận của một thông tin nào
đó. Ví dụ nhƣ các vân khác nhau sẽ đƣợc nhúng vào các bản sao khác nhau
của thông tin gốc trƣớc khi chuyển cho nhiều ngƣời. Với những ứng dụng này
thì yêu cầu là đảm bảo độ an toàn cao cho các thủy vân tránh sự xoá giấu vết
trong khi phân phối.
Kiểm soát sao chép: Các thủy vân trong những trƣờng hợp này đƣợc
sử dụng để kiểm soát việc sao chép thông tin. Các thiết bị phát hiện ra thủy
vân thƣờng đƣợc gắn sẵn vào trong các hệ thống đọc/ghi. Ví dụ nhƣ hệ thống
Số hóa bởi Trung tâm Học liệu
8
quản lí sao chép DVD đã đƣợc sử dụng ở Nhật. Các ứng dụng loại này 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.
1.5. Một số hƣớng tiếp cận giấu tin trong ảnh
1.5.1. Giấu tin trên miền không gian ảnh
Miền không gian ảnh là miền dữ liệu ảnh gốc, tác động lên miền không
gian ảnh chính là tác động lên các điểm ảnh, thay đổi giá trị trực tiếp của điểm
ảnh. Đây là hƣớng tiếp cận tự nhiên bởi vì khi nói đến việc giấu tin trong ảnh
ngƣời ta thƣờng nghĩ ngay đến việc thay đổi giá trị các điểm ảnh nguồn, một
phƣơng pháp phổ biến của hƣớng tiếp cận này là phƣơng pháp tác động đến
bit ít quan trọng của mỗi điểm ảnh.
Tuy nhiên, phƣơng pháp này cũng có nhiều hạn chế, chẳng hạn nhƣ
không đảm bảo đƣợc tính bền vững của thông tin giấu đối với các thao tác biến
đổi nhƣ quay ảnh hoặc nén ảnh Jpeg. Điều này là dễ hiểu vì các thao tác nói trên
cũng loại bỏ hoặc làm sai lệch các bit ít quan trọng nhất của mỗi điểm ảnh.
1.5.2. Giấu tin trên miền tần số
Hƣớng tiếp cận dựa trên miền không gian ảnh nhƣ đã trình bày ở trên là
cách tiến hành khảo sát tín hiệu và hệ thống rời rạc một cách trực tiếp trên
miền giá trị rời rạc của các điểm ảnh gọi là trên miền biến số độc lập tự nhiên.
Nhƣng trong nhiều trƣờng hợp, cách khảo sát trực tiếp này gặp phải những
khó khăn nhất định hoặc rất phức tạp và hiệu quả không cao.
Ngoài phƣơng pháp khảo sát trực tiếp, có thể dùng phƣơng pháp khảo
sát gián tiếp thông qua các kỹ thuật biến đổi. Các biến đổi này làm nhiệm vụ
chuyển miền biến số độc lập sang các miền khác và nhƣ vậy tín hiệu và hệ
thống rời rạc sẽ đƣợc biểu diễn trong các miền mới với các biến số mới.
Phƣơng pháp biến đổi này cũng giống nhƣ phƣơng pháp biến đổi trong phép
tính tích phân hay phƣơng pháp đổi hệ toạ độ trong giải tích của toán phổ
thông quen thuộc.
Số hóa bởi Trung tâm Học liệu
9
Mỗi cách biến đổi sẽ có những thuận lợi riêng, tuỳ từng trƣờng hợp mà
chúng ta chọn phép biến đổi nào cho phù hợp. Sau khi khảo sát, biến đổi xong
các tín hiệu và hệ thống rời rạc trong miền các biến số mới này, nếu cần thiết
có thể dùng các biến đổi ngƣợc để đƣa chúng trở lại miền biến số độc lập.
Phƣơng pháp khảo sát gián tiếp sẽ làm đơn giản rất nhiều các công việc
gặp phải khi dùng phƣơng pháp khảo sát trực tiếp trong miền biến số độc lập
tự nhiên. Hệ thống rời rạc cần khảo sát chính là miền không gian các điểm
ảnh. Có một số phƣơng pháp biến đổi đƣợc sử dụng rất phổ biến nhƣ: Furier,
Cosine rời rạc (DCT), Wavelet rời rạc (DWT)… Đây là những phép biến đổi
đƣợc sử dụng nhiều trong các kỹ thuật xử lý ảnh và âm thanh. Trong giấu tin,
đặc biệt trong kỹ thuật thủy vân tiếp cận theo miền tần số, các phép biến đổi
từ miền biến số tự nhiên của ảnh sang miền tần số nhƣ biến đổi Furier, biến
đổi cosin rời rạc, Wavelet đƣợc sử dụng phổ biến.
1.6. Cấu trúc tệp ảnh bitmap
Tệp ảnh bitmap là một trong những định dạng ảnh thông dụng đƣợc hỗ
trợ bởi hầu hết các hệ điều hành và thiết bị điện tử. Theo [3], tệp ảnh bitmap
đƣợc chia thành 4 phần nhƣ sau:
Trong đó:
Bitmap File Header gồm 14 byte
Bitmap Info gồm 40 byte
Color palette - Bảng màu (đối với ảnh 24 bít không có bảng mầu)
Bitmap Data
Số hóa bởi Trung tâm Học liệu
10
1.6.1. Cấu trúc và nội dung của Bitmap File Header
Bảng 1.1. Cấu trúc và nội dung của Bitmap File Header
Byte#
Data
Giá trị
1
Kiểu tệp
„B‟
2
Kiểu tệp
„M‟
3 - 6
Size of the file
Unsigned long
7 - 10
Reserved
Zero
11 - 14
Byte offset to bitmap data
Số TT (tính từ 0) byte
đầu của BMP data
1.6.2. Cấu trúc và nội dung của Bitmap Info
Bảng 1.2. Cấu trúc và nội dung của Bitmap Info
Byte #
Data
Giá trị
1 - 4
Number of bytes in Bitmap Info
40
5 - 8
Width of bitmap
In pixels
9 - 12
Height of bitmap
In pixels
13 - 14
Number of color planes
1
15 - 16
Number of bits per pixels
1, 4, 8 hoặc 24
17 - 20
Type of compression
21 - 24
Size of image
In bytes
25 - 28
Horizontal resolution
29 - 32
Vertical resolution
33 - 36
Number of colors In color Palette
Ảnh 24 bít – 0
Ảnh 8 bít - nếu 0 thì
256 mầu
37 - 40
Number of colors importal
Số hóa bởi Trung tâm Học liệu
11
1.6.3. Cấu trúc và nội dung của Color Palette
Bảng 1.3. Cấu trúc và nội dung của Color Palette
Byte#
Data
Giá trị
Entry - chỉ số mầu
1
Blue color value
0 – 255
0
2
Green color value
0 – 255
0
3
Red color value
0 – 255
0
4
Reserved
0
0
5
Blue color value
0 – 255
1
6
Green color value
0 – 255
1
7
Red color value
0 – 255
1
8
Reserved
0
1
9
…
Ghi chú:
- Mỗi entry gồm 4 byte và chứa một mầu trong bảng mầu
- Ảnh 24 bít không có bảng mầu
1.6.4. Bitmap Data
Với ảnh 8 mầu
Mỗi byte chứa chỉ số mầu (tính từ 0) của một điểm ảnh. Các điểm ảnh
đƣợc lƣu trữ trên file theo từng hàng từ dƣới lên trên. Các điểm ảnh mỗi hàng
đƣợc chứa từ trái sang phải.
Với ảnh 24 mầu
Mỗi nhóm 3 byte biểu diễn mầu của một điểm ảnh (byte 1 – Red, byte
2 – Green, byte 3 – Blue). Thứ tự lƣu trữ các điểm ảnh trong file cũng nhƣ với
ảnh 8 màu.
1.7. Một số định nghĩa
Trƣớc tiên luận văn trình bày một số định nghĩa sử dụng trong các thuật
toán nhúng tin.
Số hóa bởi Trung tâm Học liệu
12
Định nghĩa 1.1: Phép hai ma trận nguyên cùng cấp A và B (ký hiệu A
B) đƣợc định nghĩa:
với , i =1 m, j = 1…n
Thí dụ minh hoạ phép toán thực hiện trên hai ma trận nhị phân kích
thƣớc 4x4 nhƣ sau:
0110
0110
0001
0101
1100
1010
1011
1100
1010
1100
1010
1001
1.2:
:
Với
Định nghĩa 1.3: Ma trận W kích thƣớc đƣợc gọi là ma trận trọng số
cấp r với nếu mọi W thoả mãn điều kiện:
Thí dụ minh hoạ về ma trận trọng số cấp 3 (r = 3) với ma trận W nhƣ sau:
362
174
765
231
W
Nhƣng với ma trận
1 3 2
5 6 7
W'
171
2 6 3
lại không phải là ma trận trọng số cấp 3 vì
trong ma trận W' không tồn tại phần tử (i,j) để W'
i,j
= 4, mà
3
4 1,2, ,2 1
,
vậy
'3
,
W | 1 4, 1 3 1,2, ,2 1
ij
ij
Số hóa bởi Trung tâm Học liệu
13
Định nghĩa 1.4: Phép toán SUM trên ma trận A cấp đƣợc tính theo
công thức:
1.5:
hay .
1.8. Thuật toán giấu tin Wu-Lee
Kỹ thuật giấu tin theo khối bit thể hiện độ an toàn không cao với việc
sử dụng duy nhất kích thƣớc khối là khoá cho quá trình giấu tin, đồng thời
ảnh chứa thông tin giấu cũng dễ bị phát hiện do kỹ thuật có thể sẽ thay đổi giá
trị của một bit trong các khối ảnh toàn màu đen hoặc toàn màu trắng. Điều
này sẽ có thể dẫn tới sự bất thƣờng ở vị trí thay đổi so với các vị trí lân cận
trong khối.
Thuật toán giấu thông tin trong ảnh đen trắng do M.Y.Wu và J.H.Lee
[8] đƣa ra trong một bài báo đăng tại Proceedings of international Symposium
on Multimedia Information Processing 1999 đã khắc phục đƣợc phần nào
những tồn tại nêu trên bằng cách đƣa thêm khoá K cho việc giấu tin và đƣa
thêm các điều kiện để thay đổi bit trong mỗi khối.
1.8.1. Thuật toán nhúng tin
Tư tưởng giấu tin của Wu - Lee
Thuật toán giấu tin đƣợc thể hiệu nhƣ sau: chia ảnh môi trƣờng thành
các khối điểm ảnh có cùng kích thƣớc mxn. Với mỗi khối điểm ảnh F (ma
trận điểm ảnh) có thể đƣợc giấu tối đa 1 bit b (b = 0 hoặc b = 1). Quá trình
giấu tin sẽ thực hiện biến đổi ma trận nhị phân F thành ma trận G nhƣng giữa
F và G chỉ khác nhau tối đa là một vị trí.
Tóm tắt thuật toán
Input:
Số hóa bởi Trung tâm Học liệu
14
là kích thƣớc của ma trận gồm m hàng và n cột, giá trị m, n đƣợc
giữ bí mật.
F
mxn
là ma trận nhị phân và là ma trận môi trƣờng để giấu tin.
K
mxn
là ma trận nhị phân khoá và giá trị của ma trận K phải đƣợc giữ bí
mật.
b là bit nhị phân cần giấu (b = 0 hoặc b = 1).
Output:
Nếu thuật toán thực hiện thành công, kết quả thu đƣợc là ma trận G đƣợc
biến đổi tối đa một phần tử từ ma trận F và G thoả mãn hai bất biến sau:
+ 0 < SUM(G K) < SUM(K) (1.1)
+ SUM(G K) mod 2 = b (1.2)
Theo đầu ra của thuật toán, khi nhận đƣợc G để kiểm tra ma trận G có
giấu thông tin hay không chúng ta sẽ cần kiểm tra G có thoả mãn bất biến
(1.1) hay không. Với bất biến (1.2) quá trình giải mã thông tin giấu trong ma
trận G có thể dễ dàng xác định đƣợc G chứa giá trị bit đã giấu bằng 0 hay
bằng 1 theo (1.3)
b =SUM(G K) mod 2 (1.3)
Nội dung thuật toán
Bƣớc 1: đặt s = SUM(F K)
Bƣớc 2: if 0 < s <SUM(K) then
// sẽ biến đổi F thành G thoả mãn bất biến (1.1) và (1.2)
Xét các trường hợp sau:
Trường hợp 1 if s mod 2 = b then
G = F // giấu mà không cần biến đổi
Trường hợp 2 if s = SUM(K) -1 then
- Chọn ngẫu nhiên phần tử (i,j) thoả F
i,j
= 1 và K
i,j
=1
- F
i,j
= 0
Số hóa bởi Trung tâm Học liệu
15
- G = F
Trường hợp 3 if s = 1 then
- Chọn ngẫu nhiên phần tử (i,j) thoả F
i,j
= 0 và K
i,j
=1
- F
i,j
= 1
- G = F
Trường hợp 4 if (s >1) and (s <SUM(K) -1 ) then
- Chọn ngẫu nhiên phần tử (i,j) thoả K
i,j
=1
- F
i,j
= NOT (F
i,j
)
- G = F
1.8.2. Phân tích thuật toán
Thuật toán sử dụng K nhằm làm tăng độ bảo mật cho thuật toán giấu tin.
Nếu trƣớc đây chỉ biết kích thƣớc khối là mxn thì đối phƣơng đã có thể dễ
dàng giải mã đƣợc tin mật thông qua ảnh chứa tin, nhƣng với thuật toán của
Wu-Lee ngoài giá trị m,n các thuật toán thám mã còn phải xác định giá trị cụ
thể của ma trận K. Do vậy, để tìm đƣợc ma trận khóa K khi đã biết m, n các
thuật toán thám mã phải duyệt trƣờng hợp khác nhau.
Theo định nghĩa phép toán , và bất biến (1.2) nên nội dung thuật toán
Wu-Lee sẽ biến đổi F thành G sao cho SUM(G K) cùng tính chẵn lẻ với b.
Do vậy, nếu b không cùng tính chẵn lẻ với SUM(G K) thì thuật toán sẽ
thực hiện đảo giá trị của phần tử F
i,j
ứng với K
i,j
= 1 để đạt đƣợc bất biến (1.2).
Nhƣ vậy, khoá K đƣợc xem nhƣ một mặt nạ, tạo ra khung nhìn cho thuật toán.
Điều kiện 0 <SUM(F K)< SUM(K) quy định, nếu mọi vị trí (i,j) của F
tại các vị trí K
i,j
= 1 mà F
i,j
đều bằng không hoặc đều bằng một thì không nên
giấu tin vì nếu thực hiện giấu dễ bị lộ khóa K.
Số hóa bởi Trung tâm Học liệu
16
1.8.3. Thí dụ minh họa thuật toán nhúng tin Wu-Lee
Giả sử ta cần giấu dãy bit b
1
b
2
b
3
= 011 vào một ảnh kích thƣớc 6x6 với
ma trận khóa K có kích thƣớc 3x3 nhƣ trong hình vẽ. Ta chia ảnh F thành 4
khối ảnh nhỏ với mỗi khối kích thƣớc là 3x3 ta thu đƣợc F1, F2, F3, F4.
F1
F2
G1
G2
0
1
0
1
0
1
Dữ liệu cần giấu: b
1
b
2
b
3
=011
0
0
0
1
0
1
1
0
1
1
0
0
1
0
1
1
0
0
0
0
1
0
1
0
0
0
1
0
1
0
0
1
0
1
1
0
0
1
0
0
1
0
1
1
0
1
1
1
0
1
1
0
1
1
1
1
1
0
1
1
0
0
0
0
1
1
1
0
1
0
0
0
0
1
0
F3
F4
K
G3
G4
Hình 1.4. Minh hoạ thuật toán nhúng tin của Wu-Lee
- Với F1, 0< SUM(F1 K) = 3 < SUM(K) nên thuật toán sẽ giấu b
1
(b
1
= 0) vào F1 bằng cách biến đổi F1 thành G1 sao cho SUM(G1 K) mod 2 =
b
1
. Trong trƣờng hợp này, SUM(F1 K) thoả trƣờng hợp 4 tại Bƣớc 2 trong
thuật toán, do vậy chúng ta sẽ đảo giá trị tại phần tử (i,j) của F1 ứng với K
i,j
=
1. Giả sử ta chọn phần tử (1,2) kết quả sẽ thu đƣợc nhƣ G1.
- Vì SUM(F2 K) = 0 nên khối F2 sẽ không đƣợc dùng để giấu dữ
liệu do vậy G2 = F2.
- Với F3, do F3 thoả mãn điều kiện 0< SUM(F3 K) = 3 < SUM(K),
nên thuật toán sẽ thực hiện giấu b
2
vào F3. Trong trƣờng hợp này, ta thấy
SUM(F3 K) mod 2 = 1 = b
2
nên không cần biến đổi F3 và G3 bằng F3.
- Với F4, 0< SUM(F4 K) = 4 <SUM(K) nên thuật toán sẽ thực hiện
giấu bit b
3
= 1 vào khối F4 bằng cách biến đổi F4 thành G4 thoả mãn tính chất
(2) và (3). Do SUM(F4 K) = SUM(K) -1 nên chúng ta chọn ngẫu nhiên
Số hóa bởi Trung tâm Học liệu
17
phần tử (i,j) mà F4
(i,j)
= 1 mà K
i,j
= 1 và thay đổi F4
(i,j)
= 0. Giả sử ta chọn
phần tử (3,3) kết quả sẽ thu đƣợc nhƣ G4.
1.8.4. Một số nhận xét về thuật toán Wu-Lee
Thứ nhất: ảnh môi trƣờng để thực hiện giấu thông tin cũng phải đƣợc
chọn kỹ càng. Nếu một ảnh có quá nhiều điểm trắng (hoặc đen) thì tỉ lệ bit
giấu đƣợc sẽ rất thấp.
Thứ hai: Vì trong mỗi ma trận điểm ảnh F thuật toán chỉ biến đổi tối đa
là một phần tử (từ 1 thành 0 hoặc từ 0 thành 1), do vậy nếu chọn m, n đủ lớn
thì sự thay đổi này khó có thể nhận biết bằng mắt thƣờng nhƣng khả năng
giấu của thuật toán lại giảm đáng kể.
Thứ ba: Khi cần biến đổi ma trận F, thuật toán luôn thay đổi ngẫu nhiên
một phần tử F
i,j
ứng với K
i,j
= 1. Do vậy, trong một số trƣờng hợp ảnh sau khi
đƣợc giấu tin sẽ xuất hiện những điểm khác biệt so với ảnh gốc và dễ dàng
phân biệt đƣợc bằng mắt thƣờng. Do đó, để tăng tính che giấu cho thuật toán
chúng ta nên chọn phần tử (i,j) có định hƣớng theo một tiêu chí nào đó.
Xét ví dụ giấu bit 0 vào ma trận có kích thƣớc với các giá trị cụ
thể nhƣ sau:
1
0
0
0
1
0
1
1
0
0
0
0
0
1
0
1
F=
1
0
1
0
K=
1
1
0
0
b =
0
0
1
1
0
0
0
1
1
0
1
0
1
1
0
1
0
Giả sử chọn ngẫu nhiên phần tử (1,4) để thay đổi ta thu đƣợc G và thay
đổi trên biên (có định hƣớng) ta chọn phần tử (5,3) kết quả ta đƣợc G‟. Trong
trƣờng hợp này, chúng ta thấy rằng khả năng che giấu của G‟ cao hơn G
giống nhƣ trong Hình 1.5.