Một thuật toán giấu tin trong ảnh có bảng màu và áp dụng giấu tin mật trong ảnh GIF

Tóm tắt

Ngày nay, nhu cầu trao đổi thông tin trên mạng là rất lớn. Theo đó, vấn đề bảo đảm an toàn cho

những thông tin mật cũng trở nên cấp thiết. Có nhiều giải pháp nhằm đảm bảo an toàn cho thông tin trao

đổi, giấu tin trong ảnh là một giải pháp được nhiều nhà khoa học quan tâm nghiên cứu. Bài báo này đề

xuất một thuật toán giấu tin trong ảnh có bảng màu. Giới thiệu việc áp dụng thuật toán cho giấu tin trong

định dạng ảnh GIF.

pdf 5 trang yennguyen 2380
Bạn đang xem tài liệu "Một thuật toán giấu tin trong ảnh có bảng màu và áp dụng giấu tin mật trong ảnh GIF", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Một thuật toán giấu tin trong ảnh có bảng màu và áp dụng giấu tin mật trong ảnh GIF

Một thuật toán giấu tin trong ảnh có bảng màu và áp dụng giấu tin mật trong ảnh GIF
52(4): 52 - 55 Tạp chí KHOA HỌC & CÔNG NGHỆ 4 - 2009 
1 
MỘT THUẬT TOÁN GIẤU TIN TRONG ẢNH CÓ BẢNG MÀU 
VÀ ÁP DỤNG GIẤU TIN MẬT TRONG ẢNH GIF 
Trần Quang Sơn, Nguyễn Văn Tảo (Khoa Công nghệ thông tin - ĐH Thái Nguyên) 
Tóm tắt 
 Ngày nay, nhu cầu trao đổi thông tin trên mạng là rất lớn. Theo đó, vấn đề bảo đảm an toàn cho 
những thông tin mật cũng trở nên cấp thiết. Có nhiều giải pháp nhằm đảm bảo an toàn cho thông tin trao 
đổi, giấu tin trong ảnh là một giải pháp được nhiều nhà khoa học quan tâm nghiên cứu. Bài báo này đề 
xuất một thuật toán giấu tin trong ảnh có bảng màu. Giới thiệu việc áp dụng thuật toán cho giấu tin trong 
định dạng ảnh GIF. 
Từ khoá: Giấu thông tin, an toàn thông tin, ảnh số, bảng màu. 
I.TỔNG QUAN 
Trong môi trường phân phối điện tử rất phát 
triển như hiện nay, việc bảo vệ cho các thông tin 
quan trọng trong quá trình trao đổi trở nên cấp thiết. 
Theo phương pháp truyền thống, thông tin mật 
trước khi truyền đi sẽ được mã hóa, như vậy trong 
quá trình truyền, những người ngoài cuộc quan sát 
bản tin đã mã hóa sẽ biết được tầm quan trọng của 
bản tin trao đổi, điều đó làm tăng sự tò mò muốn 
khám phá để tìm ra nội dung thực của bản tin. 
Gần đây, một phương pháp mới được nhiều 
nhà khoa học quan tâm nghiên cứu đó là nhúng 
các thông tin mật vào các đối tượng dữ liệu khác 
(phương tiện chứa) như ảnh, audio, video, rồi sử 
dụng chính các phương tiện chứa đã bao gồm 
thông tin mật để trao đổi. 
Bài báo này đề xuất một thuật toán giấu tin 
mật trong ảnh có bảng màu với một sự thay đổi 
cảm nhận về ảnh là ít nhất. Từ thuật toán này, 
chúng tôi xây dựng lược đồ giấu tin trong ảnh áp 
dụng với định dạng ảnh GIF. 
II.MỘT SỐ LƯỢC ĐỒ GIẤU TIN TRONG 
ẢNH CÓ BẢNG MÀU 
1.Cấu trúc bảng màu 
Mỗi màu sắc trong máy tính sử dụng 24 bit để 
biểu diễn: 8 bit cho màu đỏ (Red), 8 bit cho màu 
lục (Green), 8 bit cho màu lam (Blue). Một bức 
ảnh định dạng 24 bit (sử dụng màu sắc thực) chứa 
tối đa 224 = 16777216 màu sắc khác nhau. Như 
vậy, để biểu diễn thông tin một điểm ảnh (pixel) 
cần phải sử dụng 3 byte: 1 byte Red, 1 byte Green, 
1 byte Blue. Tuy nhiên trong thực tế không phải 
bức ảnh nào cũng chứa tối đa 16777216 màu sắc. 
Có rất nhiều màu sắc giống nhau xuất hiện trong 
một bức ảnh, thay cho sự sao chép lặp lại các 
thông tin về màu sắc người ta sử dụng cấu trúc 
bảng màu. Với cấu trúc bảng màu, người ta sử 
dụng 1 byte lưu trữ cho một điểm ảnh là giá trị 
tương ứng của một màu trong bảng màu. Một bảng 
màu thực chất là một vector có số phần tử tối đa là 
256 phần tử khác nhau và mỗi một phần tử này 
bao gồm thông tin của ba thành phần Red, Green, 
Blue (RGB). Như vậy, có thể thấy một bức ảnh có 
bảng màu chứa tối đa là 256 màu sắc khác nhau. 
2.Giấu tin trong bảng màu đơn giản (BS) 
Một cấu trúc ảnh có bảng màu thông thường 
gồm ba phần chính: Phần thông tin mô tả ban đầu 
(Header), phần thông tin bảng màu (Palette/Color 
Table), phần dữ liệu ảnh (Image Data). Ý tưởng 
cơ bản của kỹ thuật này là tiến hành giấu tin vào vị 
trí các bit ít quan trọng (Least Significant Bit - 
LSB) đối với mỗi phần tử trong bảng màu. 
Quá trình giấu tin: 
 Với một ảnh gốc I, lấy ra phần thông tin bảng 
màu P. Bảng màu bao gồm các bộ ba thành phần 
RGB tương ứng với tất cả các màu trong bức ảnh. 
 Thông điệp mật dưới dạng nhị phân là một 
chuỗi k bit b = b1,b2,,bk. 
 Mỗi một bit bi sẽ được giấu vào vị trí LSB 
của một bộ ba thành phần RGB tương ứng trong 
bảng màu theo một thuật toán giấu tin nào đó. 
 Sau quá trình giấu tin sẽ thu được một 
bảng màu P’ đã chứa thông tin cần giấu. 
Quá trình tách tin: 
Khi nhận được ảnh đã giấu tin, việc giải mã tin 
sẽ được thực hiện theo các bước: 
52(4): 52 - 55 Tạp chí KHOA HỌC & CÔNG NGHỆ 4 - 2009 
2 
 Đọc ảnh chứa tin, lấy ra được phần thông tin 
bảng màu P’. 
 Mỗi một bit bi sẽ được trích ra từ vị trí LSB 
của một bộ ba thành phần RGB tương ứng trong 
bảng màu. 
Như vậy, sau khi xét hết các thành phần trong 
bảng màu ta thu được chuỗi các bit, chuỗi này là 
thông tin nhị phân đã giấu cần phải lấy ra. 
a. Lược đồ giấu tin của Romana Machado 
(EZStego) 
Kỹ thuật giấu tin trong bảng màu đơn giản BS 
dễ thực hiện. Tuy nhiên, kích thước tin giấu luôn 
là cố định và không phụ thuộc vào dữ liệu ảnh. 
Lược đồ giấu tin của Romana Machado [1] dựa 
trên ý tưởng cải tiến là sắp xếp lại toàn bộ bảng 
màu theo thứ tự về độ chói. Từ đó, đề xuất một 
phương pháp giấu tin vào trong khối dữ liệu ảnh. 
Mỗi một giá trị điểm ảnh (pixel) mang một bit 
thông tin giấu. Dưới đây là lược đồ mô tả quá trình 
giấu một bit thông tin b vào trong một điểm ảnh k: 
Quá trình giấu tin: 
 Sắp xếp lại bảng màu gốc P theo thứ tự về độ 
chói được bảng màu Ps. 
 Độ chói Y = 0.299 * R + 0.587 * G + 0.114 * B 
 Tìm phần tử tương ứng Is của điểm ảnh k trong 
bảng màu Ps. 
 Thay thế bit thông tin giấu b vào LSB của Is thu 
được Is’. 
 Tìm phần tử I trong bảng màu gốc P tương ứng 
với Is’ trong bảng màu Ps. 
 Thay thế giá trị của điểm ảnh k bằng I. 
Quá trình trích tin: 
 Sắp xếp lại bảng màu gốc P theo thứ tự về độ 
chói được bảng màu Ps. 
 Tìm phần tử tương ứng Is của điểm ảnh k trong 
bảng màu Ps. 
 Trích ra LSB trong Is thu được bit thông tin b. 
b.Lược đồ giấu tin của Jessica Fridrich và Du 
Rui (FR) 
Kỹ thuật giấu tin trong ảnh có bảng màu của 
Romana Machado đã khắc phục được nhược điểm 
của lược đồ BS. Tuy nhiên, trong lược đồ của EZ 
các bước thực hiện còn khá phức tạp và một thực 
tế cho thấy là hai thành phần màu có thể cùng độ 
chói nhưng lại rất khác nhau về nhận biết. Để khắc 
phục nhược điểm tính toán phức tạp và những 
ngoại lệ có thể xảy ra J.Fridrich và D.Rui [2] đã đề 
xuất ra một kỹ thuật cải tiến giảm đi quá trình tính 
toán và tăng chất lượng ảnh sau khi giấu tin. 
Lược đồ giấu tin FR về cơ bản vẫn dựa trên tư 
tưởng giấu một bit thông tin vào trong điểm ảnh 
nhưng đã khắc phục được những vấn đề trên bằng 
ý tưởng khoảng cách giữa hai màu C1=(R1, G1, B1) 
và C2=(R2, G2, B2) tìm ra cặp màu gần nhau nhất. 
Dưới đây là lược đồ mô tả quá trình giấu một bit 
thông tin b vào trong một điểm ảnh k: 
Quá trình giấu tin: 
 Với mỗi bit thông tin b chọn ngẫu nhiên một 
điểm ảnh k có màu C1 (R1, G1, B1). Tìm trong bảng 
màu P màu gần nhất C2 (R2, G2, B2) với C1 thỏa 
mãn khoảng cách D1,2 giữa hai màu là nhỏ nhất 
đồng thời thỏa mãn điều kiện chẵn lẻ (parity) bit: 
D1,2
2
 = (R1 – R2)
2
 + (G1 – G2)
2
 + (B1 – B2)
2
 (D1,2
2
 > 
0) và b = (R2 + G2 + B2) Mod 2 
 Thay thế giá trị màu C1 của điểm ảnh k bằng 
một giá trị màu mới C2. 
Quá trình trích tin: 
 Đọc giá trị màu của điểm ảnh k là C1 (R1, G1, 
B1) tiến hành trích ra bit thông tin b theo biểu thức: 
b = (R1 + G1 + B1) Mod 2 
III.ĐỀ XUẤT LƯỢC ĐỒ GIẤU TIN TRONG 
ẢNH CÓ BẢNG MÀU 
1.Ý tưởng 
Một bảng màu chứa tối đa là 256 màu khác 
nhau. Nhưng thực tế qua quá trình kiểm nghiệm 
chúng tôi nhận thấy rằng số lượng thành phần màu 
trong một bảng màu thường là nhỏ hơn 256. Đối 
với một số định dạng ảnh thông dụng như ảnh 
GIF, qua quá trình kiểm tra bảng màu thì số lượng 
thành phần màu thường là khá nhỏ (khoảng 128 
màu). Với nhiều ảnh có số lượng thành phần màu 
thấp thì khoảng cách giữa các màu lại cao, sự phân 
biệt giữa các màu là rõ rệt. Như vậy có thể thấy 
rằng nếu áp dụng lược đồ giấu tin FR với những 
trường hợp này sẽ có thể gây ra những khác biệt 
về cảm nhận lớn. Dựa trên những nhận xét như 
vậy, chúng tôi đề xuất một kỹ thuật cải tiến quá 
52(4): 52 - 55 Tạp chí KHOA HỌC & CÔNG NGHỆ 4 - 2009 
3 
trình biến đổi bảng màu đảm bảo được sự thay đổi 
về cảm nhận là nhỏ nhất có thể. 
2.Quá trình phân tích bảng màu (thuật toán ST) 
Với đề xuất trên, chúng tôi đưa ra một lược đồ 
phân tích bảng màu với mục tiêu giảm thiểu nhất 
sự thay đổi về cảm nhận sau khi giấu tin. 
 Phân tích ảnh, thống kê xác suất xuất hiện của 
mỗi màu trong bảng màu. Sắp xếp lại bảng thống 
kê theo thứ tự giảm dần về tần số xuất hiện. 
 Thay thế những màu có tần số xuất hiện quá ít 
(nhỏ hơn 10) bằng những màu gần nhất với những 
màu có tần số xuất hiện nhiều. Màu gần nhất của 
C1 = (R1, G1, B1) là C2 được tính như sau: 
C2 = (R1, G1, B1 ± 1) 
 Làm mịn dần quá trình biến đổi bảng màu: 
 Tính Di (i = 0..255), Di = j với Min |Ci - Cj| j = 0..255, j 
 i trong đó khoảng cách |Ci - Cj| = (Ri - Rj)
2
 + (Gi 
- Gj)
2
 + (Bi - Bj)
2
 Sắp xếp các cặp i, Di (i = 0..255) theo thứ tự tăng 
dần về khoảng cách 
 C = , lặp lại quá trình sau cho tới khi C chứa 
tất cả các màu trong bảng màu: Nếu tồn tại cặp i, 
Di với i C, Di C thỏa mãn (Ri + Gi + Bi) 
(RDi + GDi + BDi) Mod 2 thì kết nạp vào tập C cặp 
giá trị i, Di. Ngược lại, với i C, Di C thỏa mãn 
(Ri + Gi + Bi) = (RDi + GDi + BDi) Mod 2 thì tiến 
hành biến đổi về (Ri + Gi + Bi) (RDi + GDi + 
BDi) Mod 2 rồi kết nạp vào tập C cặp giá trị i, Di 
a. Quá trình giấu tin 
Tiến hành nhúng chuỗi k bit b = (b1, b2, , bk) vào 
chuỗi n điểm ảnh p=(p1, p2, , pn) với pi = Ri, Gi, 
Bi thu được chuỗi p’ theo các bước [3]: 
 Đọc bảng màu và biến đổi bảng màu theo thuật 
toán ST. 
 Tính )()(
1
idbxxf i
n
i
  
, trong đó db(i) là biểu 
diễn nhị phân của i, xi = (Ri + Gi + Bi) Mod 2. 
 Tính s = b  f(x). 
 Nếu s = 0 thì lấy p’ = p, ngược lại thay thế ps 
bởi ps’ thỏa mãn 
 Dss’
2
 = (Rs – Rs’)
2
 + (Gs – Gs’)
2
 + (Bs – Bs’)
2
 nhỏ 
nhất. 
 Rs + Gs + Bs Rs’ + Gs’ + Bs’. 
 Sắp xếp lại bảng màu thu được sau khi biến đổi 
theo thứ tự về độ chói hoặc khoảng cách màu. 
b.Quá trình trích tin 
Quá trình lọc tìm lại b từ chuỗi p’ với p’i = R’i, 
G’i, B’i được thực hiện theo công thức: 
b = f(x’) với x’i = (R’i + G’i + B’i) Mod 2. 
IV.ÁP DỤNG THUẬT TOÁN ST ĐỂ GIẤU 
TIN TRONG ẢNH GIF 
GIF (Graphics Interchange Format) ra đời vào 
năm 1980 bởi CompuServe như là một phương 
tiện hiệu quả để trao đổi hình ảnh trên mạng. 
Vào đầu những năm 1990, GIF đã xuất hiện 
trên World Wide Web và nhanh chóng trở lên 
quen thuộc với người sử dụng. Gần như phần lớn 
các hình ảnh trên Web hiện nay là GIF, và hầu như 
mọi trình duyệt Web đều hỗ trợ định dạng GIF. 
GIF file là một hệ thống nén để kích thước file là 
nhỏ nhất, và nó có giới hạn là 8 bit màu (256 màu 
khác nhau). Một vài loại khác của GIF hỗ trợ màu 
trong suốt (transparents) và kết hợp nhiều hình 
ảnh trong một file tạo ảnh động (animation). 
Chính vì những lý do thực tế nêu trên, chúng tôi 
đã lựa chọn thực hiện thuật toán giấu tin trên môi 
trường định dạng ảnh GIF. GIF là một định dạng ảnh 
có bảng màu nên hoàn toàn có thể áp dụng mọi ý 
tưởng được đề xuất ở trên cho quá trình giấu tin và 
lọc tin. Hệ thống nén của GIF là nén bảo toàn – LZW 
[4] (Lempel Zev Welch) cho nên có thể áp dụng kỹ 
thuật nén và giải nén kết hợp với quá trình thực hiện 
giấu tin và lọc tin. Dưới đây là một số kết quả thử 
nghiệm thu được qua đánh giá tỉ lệ PSNR [5](Peak 
Signal To Noise Ratio – thể hiện sự tương quan sai 
khác giữa ảnh gốc và ảnh chứa tin giấu, PSNR càng 
lớn thể hiện sự sai khác càng nhỏ) áp dụng với hai 
thuật toán FR và ST trên cùng một ảnh gốc kích 
thước 120x120: 
Kích thước 
dữ liệu ảnh 
Kích thước tin 
giấu (byte) 
Giá trị PSNR 
Lược đồ 
FR 
Lược đồ ST 
120x120 100 46.17 71.02 
120x120 128 45.55 70.25 
120x120 256 40.98 67.41 
120x120 400 30.46 65.47 
Bảng 1. So sánh chất lượng ảnh trước và sau khi giấu 
tin 
52(4): 52 - 55 Tạp chí KHOA HỌC & CÔNG NGHỆ 4 - 2009 
4 
 Hình 1. So sánh ảnh trước và sau khi giấu tin 
Ảnh gốc Ảnh sau khi giấu tin 
Lược đồ FR Lược đồ ST 
V.KẾT LUẬN 
Trong bài báo này, chúng tôi đề xuất một thuật 
toán giấu tin mật ST trên ảnh có bảng màu trên ý 
tưởng biến đổi bảng màu cho thỏa mãn tối ưu về 
cảm nhận sự thay đổi của ảnh. 
Với thuật toán cơ sở nêu trên, chúng tôi xây 
dựng một lược đồ giấu tin mật trong ảnh áp dụng 
trong trao đổi thông tin mật. Hoàn toàn có thể áp 
dụng tốt thuật toán trên với ảnh đa cấp xám và các 
định dạng ảnh sử dụng bảng màu nói chung. 
Chúng tôi tiến hành thử nghiệm thuật toán trên 
môi trường định dạng ảnh GIF phù hợp với xu 
hướng thực tế trong trao đổi thông tin. Thuật toán 
cho kết quả thử nghiệm rất tốt với các mẫu ảnh thu 
được từ trên mạng Internet. Sự thay đổi của ảnh 
sau khi giấu tin gần như không cảm nhận được bởi 
hệ thống thị giác của con người, cho thấy thuật 
toán có thể áp dụng trong thực tế. 
Chúng tôi cũng đã nghiên cứu sử dụng hệ 
thống khóa bí mật, kết hợp với các phương pháp 
kiểm soát chất lượng ảnh khi giấu tin nhằm xây 
dựng lược đồ giấu tin mật trong ảnh đảm bảo tính 
mật, tính an toàn cao đối với tin giấu, đồng thời 
ảnh chứa tin giấu không có những thay đổi bất 
thường so với ảnh gốc. Vì khuôn khổ bài viết nên 
các nội dung về sử dụng kết hợp hệ thống khóa, 
đánh giá độ an toàn của tin giấu sẽ được trình bày 
trong các bài viết tiếp theo. 
TÀI LIỆU THAM KHẢO 
[1].EZStego, 
[2].Fridrich J. A New Steganographic Method for 
Palette-Based Images. Proc. of the IS&T PICS 
conference, April 1998, Savannah, Georgia (1998) pp. 
285 289. 
[3]. Nguyễn Văn Tảo, Một số thuật toán giấu tin và áp 
dụng giấu tin mật trong ảnh. Tạp chí Khoa học và Công 
nghệ, Đại học Thái Nguyên, 4(2), tr. 25-32. 
[4].LZW, 
Welch 
[5].PSNR, ttp://en.wikipedia.org/wiki/Peak_signal-
to-noise_ratio 
52(4): 3 - 12 Tạp chí KHOA HỌC & CÔNG NGHỆ 4 - 2009 
5 
Summary 
A COLOR IMAGE DATA HIDING ALGORITHM APPLIED 
IN THE GIF IMAGE DATA HIDING 
The applications of information communication are now fast increased. Therefore, information security is 
essential in many communication applications. There are many information security solutions were proposed, image 
data hiding is a solution attracting many scientists. This paper proposes a color image data hiding and introduces 
its application in GIF image. 
Keyword: Data Hidding, Security, Digital Image 

File đính kèm:

  • pdfmot_thuat_toan_giau_tin_trong_anh_co_bang_mau_va_ap_dung_gia.pdf