ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
TRỊNH THỊ HỒNG
NGHIÊN CỨU NÂNG CAO TÍNH BẢO MẬT
TRONG GIẤU TIN, ỨNG DỤNG THUẬT TOÁN
GIẤU TIN CPT TRÊN ẢNH 24 BIT MÀU
Ngành: Công nghệ thông tin
Chuyên ngành: Hệ thống thông tin
Mã số: 60 48 05
LUẬN VĂN THẠC SĨ
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS TỐNG MINH ĐỨC
Hà Nội-2011
1
MỤC LỤC
Chương 1 .......................................................................................................... 8
TỔNG QUAN VỀ GIẤU TIN TRONG ẢNH .............................................. 8
1.1. Giới thiệu tổng quan giấu tin trong ảnh số ........................................... 8
1.1.1. Khái niệm .................................................................................... 8
1.1.2.
Các thành phần của hệ thống giấu tin trong ảnh ......................... 9
1.1.3.
Một số tính chất của giấu tin trong ảnh số ................................ 10
1.1.4.
Phân loại kỹ thuật giấu tin trong ảnh ........................................ 11
1.1.5.
Ứng dụng kỹ thuật giấu tin trong ảnh ....................................... 13
1.2. Giấu tin trong ảnh nhị phân ................................................................ 14
1.3. Giấu tin trong dữ liệu đa phương tiện ................................................ 15
1.3.1
Giấu tin trong ảnh số. ................................................................ 15
1.3.2
Giấu tin trong audio .................................................................. 15
1.3.3
Giấu tin trong video .................................................................. 16
1.3.4
Giấu tin trong văn bản text........................................................ 16
1.4
Cấu trúc file ảnh bitmap ..................................................................... 17
Chương 2 ........................................................................................................ 20
CÁC KỸ THUẬT GIẤU TIN TRONG ẢNH............................................. 20
2.1. Kỹ thuật giấu tin RLE......................................................................... 20
2.2. Kỹ thuật giấu tin theo khối bít ............................................................ 22
2.2.1. Nội dung thuật toán ................................................................... 23
2.2.2.
Phân tích thuật toán ................................................................... 23
2.3. Kỹ thuật giấu tin Wu-Lee ................................................................... 24
2.3.1. Định nghĩa các phép toán với ma trận ...................................... 24
2.3.2.
Thuật toán Wu-Lee ................................................................... 24
2.3.3.
Phân tích thuật toán ................................................................... 25
2.4. Kỹ thuật giấu tin CPT ......................................................................... 26
2.4.1. Giới thiệu về phương pháp CPT ............................................... 26
2.4.2.
Nội dung thuật toán. .................................................................. 26
2.4.3.
Phân tích đánh giá thuật toán .................................................... 30
2.4.4.
Cải tiến phương pháp CPT nâng cao dung lượng giấu tin. .... 30
2
Chương 3 ........................................................................................................ 35
GIẤU THÔNG TIN VÀO ẢNH MÀU VÀ ẢNH ĐA CẤP XÁM ............ 35
3.1. Kỹ thuật gài các bít có trọng số thấp .................................................. 36
3.2. Kỹ thuật giấu tin dựa trên bảng màu .................................................. 38
3.3. Ứng dụng thuật toán CPT cải tiến giấu tin trên ảnh 24 bit màu........ 39
3.3.1. Ý tưởng...................................................................................... 39
3.3.2.
Thuật toán giấu tin .................................................................... 40
3.3.3.
Thuật toán tách tin..................................................................... 41
3.4. Tăng cường tính bền vững của thông tin giấu trong ảnh 24 bit màu . 41
3.4.1. Ý tưởng...................................................................................... 41
3.4.2.
Thuật toán.................................................................................. 42
Chương 4 ........................................................................................................ 48
MỘT SỐ KẾT QUẢ ĐẠT ĐƯỢC ............................................................... 48
4.1. Chương trình thử nghiệm ................................................................... 48
4.2. Hệ số đánh giá PSNR ......................................................................... 49
KẾT LUẬN ...................................................................................................... 52
TÀI LIỆU THAM KHẢO ............................................................................ 53
3
THUẬT NGỮ TIẾNG ANH.
HSV (Human Visual System)
INFORMATION HIDING
STEGANOGRAPHY
WATERMARKING
RLE (Run Length Coding)
LSB (Least Significant Bit)
PSNR (peak noise ratio)
MSE (mean squared error)
Hệ thống cảm nhận hình ảnh của mắt
người
Giấu tin
Giấu tin mật
Thủy vân số
Mã hóa độ dài
Bit có trọng số thấp
Hệ số đánh giá chất lượng ảnh sau khi
giấu tin
Xác định hệ số cho hai ảnh có cùng
kích thước
4
MỞ ĐẦU
Sự phát triển của kỹ thuật máy tính và sự bùng nổ của mạng Internet đã
đem lại những thay đổi sâu sắc trong cuộc sống và xã hội chúng ta. Bên cạnh
những tiện nghi, thuận lợi mà thông tin kỹ thuật số mang lại cho chúng ta còn
nhiều những thách thức cho quá trình đổi mới. Trên một xã hội ảo, nơi diễn ra
việc 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 … đã 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…
Trong quá trình phát triển của công nghệ, nhiều phương pháp bảo vệ
thông tin đã được đưa ra trong đó giải pháp dùng mật mã học là giải pháp
được ứng dụng rộng rãi nhất. Các hệ mã mật đã được phát triển nhanh chóng
và được ứng dụng rất phổ biến cho đến tận ngày nay. Đã có rất nhiều những
hệ mã phức tạp được sử dụng như DES, RSA, NAPSACK..., giải pháp dùng
hệ mã mật đã được chứng minh thực tế là rất hiệu quả và được ứng dụng phổ
biến.
Sự phát triển của các phương tiện kỹ thuật như máy quét, máy ảnh, máy
ghi âm kỹ thuật số…, cũng như sự phát triển mạnh mẽ của các phần mềm có
tính năng mạnh cho phép người dùng có thể xử lý dễ dàng các dữ liệu đa
phương tiện (Multimedia Data). Một giải pháp đang rất thu hút được sự chú ý
trong thời gian gần đây, là giấu thông tin trong các dữ liệu đa phương tiện như
ảnh, file audio, video... Đây được xem là thành tựu khoa học mới của nhân
loại.
Giấu tin trong dữ liệu đa phương tiện nói chung và giấu tin trong ảnh
nói riêng là một công nghệ mới rất phức tạp, nó đang được các nhà khoa học
tập trung nghiên cứu ở nhiều nước trên thế giới như Đức, Mỹ, Ý, Canada,
Nhật Bản, Trung quốc … Ở nước ta cũng có nhiều nhóm nghiên cứu và đã đạt
được những kết quả khả quan.
Đối với các thuật toán giấu tin, việc áp dụng các thuật toán giấu tin vào
trong ảnh số là một vấn đề được nhiều người quan tâm, việc áp dụng phải
đảm bảo tính hiệu quả, tính mật để đảm bảo tăng cường khả năng giấu tin, dữ
liệu sau khi giấu tin càng ít thay đổi so với dữ liệu gốc càng khó phát hiện.
Chính vì vậy, tác giả chọn đề tài “Nghiên cứu nâng cao tính bảo mật trong
5
giấu tin, ứng dụng thuật toán giấu tin CPT trên ảnh 24 bit màu” để tăng cường
giải pháp bảo mật cho tin giấu trong ảnh.
Cấu trúc luận văn ngoài phần mở đầu, kết luận, luận văn gồm 4
chương:
Chương 1: Tổng quan về giấu tin trong ảnh số.
Chương này trình bày về lịch sử giấu tin, một số ứng dụng của giấu tin
mật, trình bày về mô hình giấu tin, các hướng tiếp cận của kỹ thuật giấu tin
trong ảnh, phân loại các kỹ thuật giấu tin trong ảnh số và trình bày tổng quan
về ảnh số.
Chương 2: Một số kỹ thuật giấu tin trong ảnh
Chương này trình bày một số kỹ thuật giấu tin trên ảnh nhị phân: Kỹ
thuật RLE, Kỹ thuật giấu tin theo khối bit, Kỹ thuật Wu-Lee, Kỹ thuật CPT.
Ứng với mỗi kỹ thuật, rút ra nhận xét đánh giá điểm mạnh, điểm yếu của
thuật toán.
Chương 3: Giấu thông tin vào ảnh màu và ảnh đa cấp xám
Chương này trình bày về cách áp dụng các kỹ thuật giấu tin vào ảnh
24 bit màu, ảnh đa cấp xám. Sử dụng giấu tin vào các mặt phẳng bit.
Tác giả có đưa ra nhận xét đánh giá điểm mạnh, điểm yếu của các
phương pháp và có đề xuất một giải pháp khắc phục sự thay đổi của ảnh sau
khi giấu tin so với ảnh gốc trong trường hợp sử dụng mặt phẳng bit cao để
giấu tin.
Chương 4: Một số kết quả đạt được
6
Lời cam đoan!
Tôi xin cam đoan đây là công trình nghiên cứu thực sự của bản thân,
được thực hiện trên cơ sở nghiên cứu lý thuyết, nghiên cứu thực tiễn và dưới
sự hướng dẫn khoa học của Tiến sĩ Tống Minh Đức. Các số liệu và kết quả
trong luận văn là hoàn toàn trung thực và chưa từng công bố trong các công
trình nghiên cứu khác.
Tác giả
Trịnh Thị Hồng
7
Lời cảm ơn!
Trong suốt quá trình nghiên cứu và học hỏi, đồng thời được sự giúp đỡ,
chỉ bảo tận tình của thầy giáo hướng dẫn TS Tống Minh Đức, tôi đã hoàn
thành báo cáo luận văn của mình. Mặc dù đã cố gắng hết sức, nhưng luận văn
không tránh khỏi những thiếu sót. Rất mong được sự góp ý, chỉ bảo của các
thầy cô và các bạn để đề tài được hoàn chỉnh hơn.
Tôi xin tỏ lòng biết ơn tới các thầy, cô giáo 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 đã truyền thụ
cho tôi những kiến thức vô cùng quý báu và bổ ích trong suốt thời gian học
tập tại trường, đặc biệt là thầy giáo TS Tống Minh Đức đã tận tình hướng dẫn,
giúp đỡ tôi trong quá trình nghiên cứu.
Hà Nội, ngày
tháng 09 năm 2011
Học viên
Trịnh Thị Hồng
8
Chương 1
TỔNG QUAN VỀ GIẤU TIN TRONG ẢNH
1.1. Giới thiệu tổng quan giấu tin trong ảnh số
1.1.1. Khái niệm
Giấu tin (information hiding) là che giấu những thông tin cần bảo mật
nhằm chỉ để một số người được biết và không cho những người khác biết.
Giấu tin số (data hiding) là giấu thông tin số trong một đối tượng dữ
liệu số khác (gọi là môi trường giấu tin) sao cho môi trường trước và sau khi
giấu không có sự khác biệt, đồng thời có thể khôi phục lại chính xác các
thông tin đã giấu. Do đó, đối tượng chứa thông tin ít bị chú ý và khó nhận biết
các đối tượng có giấu thông tin. Ngoài ra, giấu tin còn là giải pháp phát huy
tác dụng trong các ứng dụng phổ biến nội dung số, bảo vệ bản quyền, xác
thực thông tin,…. Kỹ thuật giấu tin nhằm mục đích bảo đảm an toàn và bảo
mật thông tin trong hai lĩnh vực: Giấu tin mật (Steganography) là kỹ thuật
giấu tin để giấu được nhiều thông tin và người khác khó phát hiện việc thông
tin được giấu trong vật mang. Thủy ấn (Watermarking) là kỹ thuật dùng để
bảo vệ đối tượng chứa dữ liệu được giấu như bảo vệ bản quyền, phát hiện
xuyên tạc thông tin,….
Sự khác biệt giữa mã hóa thông tin và giấu thông tin số là mã hóa thông
tin làm cho thông tin được mã hóa không thể đọc được ngoại trừ những người
được phép, biến dữ liệu rõ thành những bản mã, còn giấu thông tin là làm cho
người khác khó phát hiện ra thông tin được giấu trong vật mang tin. Người ta
có thể kết hợp mã hóa và giấu thông tin trong các ứng dụng truyền thông,
thông tin được mã hóa rồi giấu vào vật mạng tin trước khi truyền đi trên
internet.
Môi trường giấu tin là các đối tượng dữ liệu số như âm thanh, hình ảnh,
video, văn bản, cơ sở dữ liệu,… trong đó môi trường ảnh số đã và đang được
nhiều người quan tâm. Giấu tin trong ảnh chiếm một tỉ lệ lớn trong các
chương trình ứng dụng, các hệ thống giấu tin trong đa phương tiện vì lượng
thông tin trao đổi bằng ảnh rất lớn, hơn nữa giấu tin trong ảnh đóng vai trong
quan trọng trong các ứng dụng như xác 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,…
9
Giấu tin trong ảnh số là một phương pháp giấu thông tin vào trong dữ
liệu của file ảnh mà không làm thay đổi chất lượng và dung lượng ảnh. Thông
tin giấu được tách từ ảnh mang (ảnh môi trường) mà không cần ảnh gốc.
Các kỹ thuật giấu tin trong ảnh số chủ yếu dựa trên bản chất hệ thống
thị giác của con người HVS (Human Visual System). Hệ thống thị giác của
con người hạn chế về khả năng cảm nhận những thay đổi nhỏ màu sắc của
điểm ảnh. Bằng mắt thường con người khó thấy sự thay đổi của những ảnh
không có sự khác biệt về màu sắc.
1.1.2. Các thành phần của hệ thống giấu tin trong ảnh
Trong các hệ thống giấu tin trong ảnh gồm có hai phần cơ bản gồm quá
trình nhúng thông tin vào ảnh môi trường và giải tin từ ảnh mang như sau:
Hình 1.1. Lược đồ quá trình giấu tin
Hình 1.2. Lược đồ quá trình giải tin
10
- Mẫu tin mật: thông tin được chứa trong một file văn bản, file ảnh,
video,… trong quá trình xử lý chúng được chuyển đổi thành chuỗi
bít.
- Ảnh gốc: là ảnh được dùng làm môi trường giấu tin, thông tin được
nhúng vào ảnh gốc.
- Khóa K: là một khóa tham gia vào quá trình giấu tin để tăng tính
bảo mật, chỉ những người biết khóa K mới có thể đọc được thông tin
giấu trong ảnh.
- Ảnh mang: là ảnh đã được nhúng thông tin mật vào ảnh gốc. Ảnh
mang dùng để truyền phát trên các kênh truyền thông
- Thủ tục giấu tin: là phương pháp giấu tin, dùng các thuật tin để
nhúng thông tin vào ảnh gốc.
- Thủ tục giải tin: là phương pháp tách tin mật được giấu khi nhận
được ảnh có chứa thông tin mật.
1.1.3. Một số tính chất của giấu tin trong ảnh số
Hiện nay có rất nhiều phương pháp giấu tin trong ảnh được nghiên cứu,
thử nghiệm và ứng dụng. Để đánh giá một phương pháp giấu tin người ta
thường dựa vào các yếu tố sau [6]:
- Tính ẩn (tính vô hình): dựa trên đặc điểm của hệ thống thị giác của
con người, thông tin giấu sẽ làm thay đổi ảnh mang, một người với
thị giác bình thường không thể phân biệt được giữa ảnh mang và
ảnh gốc. Tính ẩn phụ thuộc vào mức độ biến đổi của ảnh mang so
với ảnh gốc trong quá trình giấu tin. Một phương pháp hiệu quả sẽ
làm cho thông tin mật trở nên vô hình trên ảnh mang, người bình
thường không thể phát hiện thông tin chứa trong ảnh.
- Tính an toàn: là khả năng chống lại sự tấn công hoặc giả mạo từ
bên ngoài, chống lại các phương pháp phát hiện ảnh chứa tin mật.
Một hệ thống giấu tin tốt phải đảm bảo tin mật không bị tấn công
một cách chủ đích trên cơ sở biết có những hiểu biết phương pháp
giấu tin như ảnh gốc, ảnh mang, kỹ thuật giấu tin, kỹ thuật giải tin
(nhưng không có khóa),…
- Tính bền vững: sau khi giấu thông tin vào ảnh, ảnh mang có thể
phải trải qua một số biến đổi khác nhau như lọc tuyến tính, lọc phi
tuyến, thêm nhiễu, làm mờ, làm nhạt, nén mất dữ liệu,… Sau các
quá trình biến đổi trên, quá trình giải tin mật không làm sai khác tin
11
đã được giấu. Tính bền vững là thước đo sự nguyên vẹn của thông
tin mật sau các quá trình biến đổi trên.
- Dung lượng giấu tin: được tính bằng tỉ lệ lượng tin (số byte) so với
kích thước của ảnh môi trường (số byte). Tùy thuộc vào thuật toán,
kích thước ảnh môi trường mà dung lượng giấu tin khác nhau.
Thông thường các phương pháp giấu tin đều cố gắng làm tăng dung
lượng tin giấu, tuy nhiên việc làm tăng dung lượng tin giấu ảnh
hưởng tới các đặc tính khác như tính an toàn, tính ẩn,…
- Độ phức tạp tính toán: chỉ tiêu về độ phức tạp tính toán chủ yếu
tính bằng các phép tính toán học trong quá trình giấu tin và quá trình
giải tin. Yêu cầu về độ phức tạp tính toán tùy thuộc vào từng ứng
dụng cụ thể.
- Ảnh môi trường đối với quá trình giải mã: các phương pháp giấu
tin phải đảm bảo yêu cầu là quá trình tách tin mật không cần có ảnh
môi trường.
1.1.4. Phân loại kỹ thuật giấu tin trong ảnh
Dựa vào các tiêu chi khác nhau, người ta có thể phân chia một cách
tương đối các kỹ thuật giấu tin khác nhau.
- Dựa vào mục đích giấu tin:
Trên cơ sở các công trình nghiên cứu, các bài báo được công bố,
có thể chia giấu tin theo hai hướng chính theo sơ đồ sau:
12
Hình 1.3. Sơ đồ phân loại kỹ thuật giấu tin
+ Watermaking (Thủy vân, thủy ấn) đòi hỏi độ bền vững cao của thông
tin cần giấu trước các biến đổi thông thường của dữ liệu môi trường. Có thể
chia thủy vân thành nhiều hướng như thủy vân bền vững và thủy vân dễ vỡ.
Thủy vân bền vững có thể chia thành thủy vân ẩn và thủy vân hiện.
+ Steganoghraphy quan tâm nhiều đến vấn đề giấu tin mật, các ứng
dụng của Steganoghraphy đòi hỏi tính mật cao và dung lượng chứa càng lớn
càng tốt.
- Dựa vào hướng tiếp cận của kỹ thuật giấu tin: có thể chia làm hai
loại như sau:
+ Các kỹ thuật giấu tin tác động lên miền không gian ảnh, thay đổi
trực tiếp giá trị điểm ảnh (thường dùng với các file ảnh không nén,
hoặc nén không mất thông tin).
+ Các kỹ thuật khảo sát trực tiếp thông qua các kỹ thuật biến đổi dữ
liệu khi nén ảnh (thường dùng với các file ảnh nén theo chuẩn có
mất thông tin).
- Dựa vào cấu trúc ảnh gốc có thể chia làm 3 loại:
+ Giấu tin trong ảnh nhị phân.
+ Giấu tin trong ảnh đa cấp xám
+ Giấu tin trong ảnh màu
13
- Ngoài ra dựa vào kỹ thuật biến đổi ảnh có thể chia thành các
phương pháp như: phương pháp gài bits dữ liệu vào bits có trọng số
thấp, phương pháp mã khối bề mặt, phương pháp dựa trên bảng
màu,…
1.1.5. Ứng dụng kỹ thuật giấu tin trong ảnh [6]
Giấu tin trong ảnh số ngày càng được ứng dụng trong nhiều lĩnh vực
như giấu thông tin bí mật, bảo vệ bản quyền, điểm chỉ số, gán nhãn, điều
khiển truy cập,….
- Giấu thông tin bí mật (Steganography): Các thông tin bí mật
được giấu trong đối tượng ảnh thông thường và ít gây chú ý khi trao
đổi trên đường truyền. Trong trường hợp giấu tin, thông tin được
giấu càng nhiều càng tốt, ảnh mang không có sự khác biệt với ảnh
môi trường và việc tách thông tin bí mật không cần ảnh môi trường
ban đầu.
Bảo vệ bản quyền tác giả (Copyright Protection): Đây là ứng
dụng cơ bản nhất của thủy vân số (digital watermarking). Thông tin
được nhúng vào sản phẩm số, được gọi là biểu tượng thủy vân,
mang ý nghĩa chỉ quyền sở hữu hợp pháp của các sản phẩm. Thêm
vào đó, gán nhãn thời gian cũng là một phương pháp chống giả mạo.
Yêu cầu kỹ thuật đối với ứng dụng là thủy vân tồn tại bền vững
cùng với sản phẩm, chỉ người sở hữu mới có khóa để tách biểu
tượng thủy vân ra khỏi 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): Một tập các thông tin sẽ
được giấu trong ảnh gốc, sau đó được sử dụng để nhận biết xem dữ
liệu trên ảnh gốc đó có bị thay đổi hay không. Các thuỷ vân nên
được ẩn để tránh khỏi sự tò mò của đối phương, hơn nữa việc làm
giả các thuỷ 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 (ví dụ
như phân biệt xem một đối tượng ảnh mang đã bị thay đổi, xuyên
tạc nội dung hay là 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 nhiều và không cần bền
vững trước các phép xử lý trên ảnh mang.
- Giấu vân tay hay dán nhãn (Fingerprinting and Labeling): Thủy
vân được sử dụng để nhận diện người gửi hay người nhận của một
14
thông tin nào đó trong ứng dụng phân phối sản phẩm. Thủy vân
trong trường hợp này cũng tương tự như số serial của sản phẩm
phần mềm. Mỗi sản phẩm sẽ mang một thủy vân riêng, ví dụ: các
thủy 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. Những ứng dụng
này yêu cầu bảo đảm độ an toàn cao cho các thủy vân tránh sự xóa
giấu vết trong khi phân phối.
- Điều khiển sao chép (Copy Control): Điều mong muốn đối với
các hệ thống phân phối dữ liệu ảnh số là tồn tại một kỹ thuật chống
sao chép trái phép dữ liệu. Có thể sử dụng thủy vân để chỉ trạng thái
sao chép của dữ liệu, các thủy vân trong những trường hợp này được
sử dụng để điều khiển sao chép đối với các thông tin. Các thiết bị
phát hiện ra thủy vân thường được gán sẵn trong các hệ thống đọc
ghi, ví dụ như hệ thống quản lí sao chép DVD đã được ứng dụng ở
Nhật. Thủy vân mang các giá trị chỉ trạng thái cho phép sao chép dữ
liệu như: copy never - không được phép sao chép, hay copy oncechỉ được sao chép một lần; sau khi sao chép xong, bộ đọc - ghi thủy
ấn sẽ ghi biểu tượng thủy ấn mới chỉ trạng thái mới lên DVD. Các
ứng dụng loại này yêu cầu thủy vân phải được bảo đảm an toàn và
việc phát hiện thủy ấn đã giấu mà không cần thông tin gốc.
1.2. Giấu tin trong ảnh nhị phân
Giấu tin trong ảnh nhị phân dễ bị nhận biết bằng mắt thường và dung
lượng thông tin giấu trong ảnh bị hạn chế. Đối với ảnh nhị phân mỗi điểm ảnh
được biểu diễn bởi một bit (bit 0 tương ứng với màu đen, bit 1 tương ứng với
màu trắng) nên khi có thay các bits dễ bị phát hiện, do đó rất khó giấu tin an
toàn trong ảnh nhị phân. Việc nghiên cứu về các phương pháp giấu tin trong
ảnh nhị phân trước hết giải quyết các khó khăn trên, đồng thời làm cơ sở để
phát triển các thuật toán giấu tin trong ảnh đa cấp xám, ảnh màu, hay các
phương tin lưu trữ thông tin khác. Hiện nay, có một số phương pháp giấu tin
trong ảnh nhị phân như sau:
- Phương pháp RLE (Run Length Code – Mã hóa độ dài RUN), dựa
vào tính chẵn lẻ của cặp RUN để giấu thông tin.
- Phương pháp Wu – Lee: là một thuật toán giấu tin khá phổ biến
của M.Wu và J.Lee. Trong thuật toán Wu – Lee, mỗi ảnh nhị phân
xem như là ma trận nhị phân được chia thành các khối bits mxn, mỗi
15
khối bits giấu được một bit thông tin bằng cách thay đổi nhiều nhất
một bit trong khối.
- Phương pháp CPT: trên cơ sở phát triển ý tưởng thuật toán Wu –
Lee, các tác giá Y.Y.Chen, H.Pan, Y.Tseng (Chen-Phan-Tseng) đề
xuất một phương pháp giấu tin trong ảnh nhị phân, theo đó ảnh
đường chia thành các khối bits khích thước mxn, mỗi khối bít giấu
được tối đa r bits thông tin với r ≤ [log2(m.n + 1)] bằng cách thay
đổi không quá 2 bits trong khối dữ liệu ảnh
- Phương pháp LSB (Least Significant Bits): phương pháp này ứng
dụng cho ảnh màu hoặc ảnh đa cấp xám. LSB là các bits khi bị thay
đổi hầu như không làm ảnh hưởng đến chất lượng ảnh gốc. Ứng
dụng các phương pháp trên ứng với ma trận nhị phân được trích dẫn
từ các bits LSB được ma trận kết quả và trả các bits LSB về ảnh
gốc để tạo thành ảnh mới được giấu thông tin.
Các kỹ thuật giấu tin trong ảnh nhị phân sẽ được trình bày trong
chương 2.
1.3. Giấu tin trong dữ liệu đa phương tiện
1.3.1 Giấu tin trong ảnh số.
Hiện nay, giấu thông tin trong ảnh là một bộ phận chiếm tỷ lệ lớn nhất
trong các chương trình ứng dụng, các phần mềm, hệ thống giấu tin trong đa
phương tiện. Bởi lượng thông tin được trao đổi bằng hình ả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ư: xác 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,… Thông
tin được giấu vào dữ liệu ảnh, nhưng chất lượng ảnh rất ít thay đổi và người ta
khó có thể nhận thấy bằng mắt thường. Ngày nay, khi ảnh số đã được sử dụng
rất phổ biến thì giấu thông tin trong ảnh đã đem lại nhiều ứng dụng quan
trọng trên các lĩnh vực trong đời sống xã hội. Ví dụ: ở các nước phát triển,
chữ ký tay đã được số hóa và lưu trữ sử dụng như là hồ sơ cá nhân của các
dịch vụ ngân hàng, tài chính.
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
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
ảnh hưởng đến chất lượng của dữ liệu gốc. Để đảm bảo yêu cầu này, kỹ thuật
16
giấu tin trong ảnh phụ thuộc vào hệ thống thị giác của con người – HVS
(Human Vision System) còn kỹ thuật giấu tin trong audio lại phụ thuộc vào hệ
thống thính giác HAS (Human Auditory System). Một vấn đề khó khăn ở đây
là hệ thống thính giác của con người nghe được các tín hiệu ở các dải tần rộng
và công suất lớn nên đã gây khó dễ đối với các phương pháp giấu tin trong
audio. Tuy nhiên, HAS lại kém trong việc phát hiện sự khác biệt giữa các dả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 âm thanh nhỏ 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 cho việc
giấu thông tin. Vấn đề khó khăn thứ hai đối với giấu 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. Giấu thông tin trong audio đòi hỏi yêu cầu rất cao về
tính đồng bộ và tính an toàn của thông tin. Tóm lại, các phương pháp giấu tin
trong audio đều dựa vào điểm yếu trong hệ thống thính giác của con người.
1.3.3 Giấu tin trong video
Giống như giấu tin trong ảnh hay trong audio, giấu tin trong video cũng
được quan tâm và phát triển mạnh mẽ cho nhiều ứng dụng như điều khiển
truy cập thông tin, xác thực thông tin và bảo vệ bản quyền tác giả. Ví dụ các
hệ thống chương trình trả tiền xem theo đoạn với các video clip (pay per view
application). Các kỹ thuật giấu tin trong video cũng được phát triển mạnh mẽ
theo hai khuynh hướng là thủy vân số và giấu tin mật. Một phương pháp giấu
tin trong video được đưa ra bởi Cox là phương pháp phân bố đều. Ý tưởng cơ
bản của phương pháp là phân bố thông tin cần giấu dàn trải theo tần số của dữ
liệu gốc. Nhiều nhà nghiên cứu đã dùng những hàm cosin riêng và các hệ số
truyền sóng riêng để giấu tin. Trong các phương pháp khỏi nguồn, thường các
kỹ thuật giấu tin cho phép giấu ảnh vào video, trong thời gian gần đây cho
phép giấu cả âm thanh, hình ảnh vào trong video. Như Swanson đã sử dụng
phương pháp giấu tin theo khối bít, phương pháp này đã giấu được 2 bít vào
khối 8x8. Như vậy, giấu tin trong video dựa cả đặc điểm thị giác và thính giác
của con người.
1.3.4 Giấu tin trong văn bản text.
Giấu thông tin trong văn bản dạng text khó thực hiện hơn do có ít các
thông tin dư thừa, để làm được điều này người ta phải khéo léo khai thác các
dư thừa tự nhiên của ngôn ngữ. Một cách khác là tận dụng các định dạng văn
bản (mã hóa thông tin vào khoảng cách giữa các từ hay các dòng văn bản). Kỹ
17
thuật giấu tin đang được áp dụng cho nhiều loại đối tượng chứ không chỉ cho
dữ liệu đa phương tiện như ảnh, audio, video. Gần đây đã có một số nghiên
cứu giấu tin trong cơ sở dữ liệu quan hệ, các gói IP truyền trên mạng chắc
chắn sau này còn tiếp tục phát triển tiếp cho các môi trường dữ liệu số.
1.4 Cấu trúc file ảnh bitmap
Khái niệm về ảnh bitmap.
Ảnh bitmap do Microsoft phát triển, do vậy còn được gọi là Microsoft
Windowns Bitmap (BMP, DIB, Windows BMP, Windown DIB, Compatible
Bitmap) được lưu trữ độc lập với thiết bị hiển thị (DIB).
File Bitmap là file nhị phân được phân chia thành 4 phần theo thứ tự từ
đầu đến cuối như sau:
File Header
Image Header
Color Palettle
Data of Image
File Header.
File header được dùng để thông báo cho các phần mềm truy xuất biết
đây là file BMP, đồng thời cho biết chính xác độ lớn file, vị trí của dữ liệu
ảnh được thực hiện định vị trong phạm vi file. Nó gồm chính xác 14 byte. Ý
nghĩa và nội dung cụ thể của các byte được thống kê theo bảng dưới đây:
Số bytes
2
4
2
2
4
File Header
Ý nghĩa
Kí hiệu window BMP file, mã ASCII
Kích thước file ảnh (tính theo byte)
Dự trữ (không dùng)
Dự trữ (không dùng)
Khoảng cách từ đầu file đến đầu vùng dữ liệu
Nội dung
BM
0
0
54
Image Header.
Image Header cho biết thông tin về ảnh và những định dạng dữ liệu của
nó như chiều cao, chiều rộng, số bit của một điểm ảnh, dữ liệu ảnh có được
nén hay không.
18
Trong thực tế có hai trường hợp của Image Header: Một được phát
triển theo định dạng OS/2 BMP gồm 12 byte; một được phát triển theo định
dạng Windows BMP gồm ít nhất 40 byte. Tuy nhiên ta có thể kiểm tra ngay
được ảnh thuộc định dạng nào nhờ 4 byte đầu tiên của Image Header ghi
chiều dài của nó. Bảng dưới đây là Image Header theo định dạng Windows
BMP, gồm ý nghĩa và nội dung cụ thể của các byte.
Số bytes
4
4
4
2
2
4
4
4
4
4
4
Windows BMP Header
Ý nghĩa
Kích thước phần Image Header
Chiều rộng mỗi điểm ảnh
Chiều cao mỗi điểm ảnh
Số lượng Image plane
Số bit lưu trữ thông tin một điểm ảnh
Kiểu nén (run - length)
0: Không nén
1: Mã hóa chiều dài 8 bit
2: Mã hóa chiều dài 4 bit
3: RGB bitmap với mặt nạ
Số byte ảnh được nén
Độ phân giải theo chiều ngang
Độ phân giải theo chiều đứng
Số màu thực tế sử dụng
Số màu quan trọng. Có giá trị 0 nếu tất cả các
màu đều quan trọng
Nội dung
40
1
1,4,8,24
Color Palettle.
Bảng màu có thể có hay không tùy thuộc vào định dạng của dữ liệu
ảnh. Bảng màu là mảng một chiều chứa chỉ mục các màu của ảnh, mỗi điểm
ảnh chỉ việc trỏ đến một chỉ mục nào đó trên bảng màu. Bảng màu chiếm 4*n
byte trong đó n là số màu của ảnh. Số bit lưu trữ thông tin mỗi điểm ảnh chỉ
định độ phân giải màu của bitmap. Nếu số bit bằng 1, bảng màu có 21 = 2
màu, thông thường là đen và trắng. Nếu số bit bằng 4, bảng màu có 24 = 16
màu; số bit bằng 8, bảng màu có 28 = 256 màu, số bit bằng 24, bảng màu có
224 = 16.7 triệu màu.
- Đối với dạng ảnh 24 bit: File ảnh không có bảng màu, vì mỗi điểm ảnh đã
được biểu diễn bởi giá trị 24 bit RGB trong vùng dữ liệu bitmap. Thông tin
19
màu cho mỗi điểm ảnh được lưu trữ trong 3 byte dữ liệu liên tục theo thứ
tự tương ứng là: Red, Green, Blue.
- Đối với ảnh 256, 16 và 2 màu tương ứng:
+ Bảng màu chiếm 256*4 =1024 byte, 16*4 = 64 byte, 2*4 = 8 byte.
+ Mỗi màu được mô tả bởi 4 byte, thể hiện 4 thành phần màu: Blue,
Green, Red và Darkgray.
+ Với hầu hết các tệp ảnh BMP, thành phần Darkgray bằng 0.
+ Các thành phần Red, Green, Blue được lưu trữ ở 6 bit cao.
Data of Image.
- Đối với ảnh 24 bit: Mỗi điểm ảnh chiếm 3 byte mô tả ba màu: Red, Green,
Blue.
- Đối với ảnh 256 màu: Mỗi điểm ảnh chiếm 1 byte, chỉ số hiệu màu của
điểm ảnh này (có giá trị bằng 0, 1, …, 255). Màu của điểm ảnh được mô tả
trong bảng màu. Giả sử byte mô tả điểm ảnh có giá trị là b và bảng màu
được chứa trong mảng P, thì thành phần các màu của điểm ảnh này là
P[b].R, P[b].G, P[b].B.
- Đối với ảnh 16 màu: Bảng màu có 16 màu (có giá trị bằng 0, 1, …15). Mỗi
điểm ảnh được mô tả bởi một con số trong bảng màu. Do vậy, giá trị mỗi
điểm ảnh chỉ cần 4 bit để mô tả. Hai điểm ảnh được chứa trong một byte:
điểm ảnh đứng trước được chứa trong 4 bit cao, điểm ảnh đứng sau được
chứa trong 4 bit thấp.
- Đối với ảnh 2 màu: Bảng màu có 2 màu (0, 1). Mỗi điểm ảnh được mô tả
bởi giá trị 0 hoặc 1. Do vậy, giá trị mỗi điểm ảnh chỉ cần 1 bit để mô tả.
Tám điểm ảnh được chứa trong một byte: điểm ảnh đứng trước được chứa
trong bit cao, điểm ảnh trong bit sau được chứa trong bit thấp.
Nếu kích thước byte thực tế của mỗi dòng ảnh không chia hết cho 4 thì
Bitmap sẽ thêm vào cuối dòng một số byte chia hết cho 4. Ta không cần phải
quan tâm nhiều đến vấn đề này vì các hàm hiển thị bitmap API (với 4 hàm
chính AnimatePalette, CreatePalette, SelectPalette và RealizePalette) sẽ thực
hiện điều này một cách tự động. Mặt khác, bitmap ghi dữ liệu ảnh từ dưới lên
theo ảnh thực. Nghĩa là các dòng của một DIB được sắp xếp từ dưới lên, dòng
cao nhất xuất hiện trên màn hình thực tế là dòng cuối cùng được lưu trữ trong
bitmap.
- Xem thêm -