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

Các thuật toán giấu tin trong ảnh

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.92 MB, 66 trang )

MỤC LỤC
LỜI CẢM ƠN ................................................................................................ Error! Bookmark not defined.
LỜI MỞ ĐẦU ............................................................................................................................................2
CHƯƠNG I ................................................................................................................................................4
GIỚI THIỆU CHUNG VỀ KĨ THUẬT GIẤU TIN ..................................................................................4
1.1 Giới thiệu về giấu tin .........................................................................................................................4
1.2 Khái niệm về giấu tin .........................................................................................................................5
1.2.1 Quá trình giấu thông tin............................................................................................................10
1.2.2 Quá trình giải mã......................................................................................................................11
1.2.3 Các thuật ngữ hay dùng trong giấu tin.......................................................................................12
1.3 Phân loại các kĩ thuật giấu thông tin................................................................................................12
1.4 Các yêu cầu trong bài toán giấu tin..................................................................................................13
1.4.1 Khả năng không bị phát hiện (tính ẩn/ vô hình của tin giấu) ......................................................14
1.4.2 Khả năng lưu trữ (Về dung lượng tin giấu)................................................................................14
1.4.3 Tính bền vững ..........................................................................................................................14
1.5 Giấu thông tin trong các sản phẩm Multimedia ................................................................................15
1.5.1 Giấu thông tin trong ảnh ...........................................................................................................15
1.5.2 Giấu tin trong sản phẩm Audio .................................................................................................16
1.5.3 Giấu tin trong Video.................................................................................................................17
1.6 Kết luận...........................................................................................................................................18
CHƯƠNG II.............................................................................................................................................18
MỘT SỐ THUẬT TOÁN GIẤU TIN TRONG ẢNH TĨNH ...................................................................18
2.1 Cấu trúc file ảnh Bitmap..................................................................................................................18
2.2 Các đặc điểm của kĩ thuật giấu tin trong ảnh tĩnh.............................................................................22
2.3 Sự khác biệt giữa giấu tin trong các loại ảnh....................................................................................23
2.4 Một số thuật toán giấu tin trong ảnh tĩnh..........................................................................................24
2.4.1 Nghiên cứu một kỹ thuật giấu tin đơn giản................................................................................25
2.4.2 Kỹ thuật giấu Wu _ Lee............................................................................................................29
2.4.3 Một vài cải tiến kỹ thuật giấu tin Yuan_Pan_Tseng ..................................................................37
2.5 Kết luận...........................................................................................................................................48
CHƯƠNG III ...........................................................................................................................................48


THIẾT KẾ THUẬT TOÁN VÀ CHƯƠNG TRÌNH ...............................................................................48
GIẤU TIN TRONG ỨNG DỤNG TRAO ĐỔI TIN MẬT .....................................................................48
3.1 Giới thiệu chương trình....................................................................................................................48
3.2 Tóm tắt cách cài đặt.........................................................................................................................49
3.3 Giao diện thực hiện..........................................................................................................................58
3.4 Kết quả thử nghiệm và nhận xét .......................................................................................................60
KẾT LUẬN ..............................................................................................................................................64
TÀI LIỆU THAM KHẢO........................................................................................................................66

1


LỜI MỞ ĐẦU
Công nghệ thông tin đang phát triển cao trong giai đoạn hiện nay, đã và ngày
càng khẳng định vai trò không thể thiếu được trong cuộc sống, cũng như trong
nhiều lĩnh vực khoa học kĩ thuật. Công nghệ thông tin được ứng dụng trong nhiều
lĩnh vực khác nhau như: quản lý, thương mại điện tử, nghiên cứu khoa học…Từ đó
yêu cầu đặt ra việc trao đổi thông tin là vô cùng quan trọng, nó có vai trò quyết định
chính trong công việc hiện nay.
Ở nước ta công nghệ thông tin đang phát triển vào đời sống con người một
cách nhanh chóng và mạnh mẽ. Nhu cầu trao đổi lớn về thông tin do Internet mang
lại đã giúp con người trao đổi thông tin thuận tiện và nhanh chóng. Nhưng cũng gây
ra không ít những vấn đề nảy sinh đó là làm thế nào thông tin có thể đảm bảo an
toàn bí mật trong quá trình hòa nhập vào nguồn thông tin khổng lồ trên thế giới.
Việc bảo vệ thông tin đang trở thành nhu cầu quan trọng và cấp thiết. Vấn đề này đã
và đang được nghiên cứu khá nhiều nhằm tìm ra phương pháp hữu hiệu để bảo vệ
thông tin.
An toàn thông tin và bảo mật dữ liệu thông thường được sử dụng bằng các
phương pháp mã hóa, đây là phương pháp được sử dụng trong nhiều năm qua như
các hệ mã có khóa công khai với độ an toàn cao. Tuy nhiên trong giai đoạn hiện

nay, sự phát triển của đa phương tiện như ảnh số, audio, video…với các định dạng
khác nhau và vô cùng phong phú, dữ liệu đa phương tiện rất gần gũi với con người,
tại sao không dùng chính nó để làm vật mang tin? Ngoài ra nếu kết hợp với mã hóa
thì thông tin sẽ có thêm một lớp vỏ bọc an toàn. Đây là giải pháp mới đang được
nghiên cứu ở giai đoạn hiện nay và coi là giải pháp bảo mật trong tương lai.
Trong đợt làm đồ án tốt nghiệp này với sự hướng dẫn của thầy giáo Th.S
Nguyễn Văn Tảo em đã đi tìm hiểu về các thuật toán giấu tin trong ảnh và áp dụng
vào cài đặt thuật toán CPT (Yu-Yuan Chen, Hsiang- Kuang Pan, Yu_Chee Tseng).
Đồ án được chia làm 3 chương:
Chương 1: Giới thiệu chung về kĩ thuật giấu tin.
Chương 2: Một số kĩ thuật giấu tin trong ảnh tĩnh.
Chương 3: Thiết kế thuật toán và chương trình xây dựng ứng dụng trong trao
đổi tin mật..

2


Mặc dù đã cố gắng song đồ án không tránh khỏi những thiếu sót. Em rất mong
nhận được những ý kiến đóng góp của các Thầy Cô giáo cũng như của các bạn sinh
viên để đề tài này được hoàn thiện hơn.

Thái Nguyên, tháng 5 năm 2008

3


CHƯƠNG I
GIỚI THIỆU CHUNG VỀ KĨ THUẬT GIẤU TIN
1.1 Giới thiệu về giấu tin
Ngày nay cùng với sự phát triển của công nghệ kĩ thuật số, các thiết bị xử lý số

như máy ảnh, máy scan, máy in, máy ghi âm kĩ thuật số… cùng các phần mềm
chuyên dụng ra đời đã đem lại cho con người rất nhiều thuận lợi trong các lĩnh vực
học tập, nghiên cứu cũng như vui chơi giải trí.
Bên cạnh công nghệ kĩ thuật số, sự phát triển không ngừng của mạng Internet
toàn cầu và gần đây nhất là sự ra đời của công nghệ mạng không dây (Wireless
Technology) đã và đang giúp cho sự hiểu biết của con người về nhiều lĩnh vực
trong cuộc sống, đồng thời đó còn là cầu nối giữa mọi người trên thế giới lại với
nhau. Chúng ta có thể tìm kiếm thông tin phục vụ cho quá trình học tập nghiên cứu
trong kho tàng tri thức khổng lồ, đó chính là mạng Internet, chỉ cần ngồi ở nhà với
chiếc máy tính nối mạng ta có thể biết được tin tức ở khắp nơi trên thế giới mà
không cần phải mất nhiều thời gian đến tận nơi đó, tầm quan trọng của mạng
Internet quả là to lớn.
Với tầm quan trọng và có nhiều ứng dụng nên ngày nay công nghệ thông tin
đang trở thành một trong những ngành mũi nhọn trong quá trình phát triển kinh tế
xã hội, bên cạnh đó sự hòa nhập và ứng dụng của công nghệ thông tin trong các lĩnh
vực khác cũng đang thu hút được nhiều sự quan tâm như: chính trị, quân sự, quốc
phòng, giáo dục…một số loại hình mới xuất hiện như: chính phủ điện tử, thư viện
điện tử, giáo dục điện tử. sách điện tử, thương mại điện tử và y tế điện tử… tất cả
đều cho thấy vai trò ngày càng to lớn của công nghệ thông tin trong sự phát triển
của nền kinh tế.
Tuy nhiên, nhìn vào những mặt có lợi của công nghệ thông tin nói chung, cũng
như của công nghệ kĩ thuật số và mạng Internet nói riêng, chúng ta không thể không
nói đến những vấn đề đã và đang tồn tại trong nó, đó chính là đảm bảo sự an toàn và
bí mật của những thông tin quan trọng hay những thông tin cá nhân khỏi những kẻ
tò mò. Phương pháp đầu tiên được áp dụng để đảm bảo tính mật của thông tin đó là
mật mã học, với cách này thì thông tin được mã hóa thành những kí hiệu vô nghĩa,
sau đó được gửi tới người nhận và họ sẽ phải giải mã chúng để lấy lại nội dung của

4



thông tin ban đầu, cái mà họ cần sử dụng để khôi phục nội dung gọi là khóa của hệ
mã. Có nhiều phương pháp mã hóa thường được dùng nhưng nhìn chung có thể chia
ra thành hai kiểu chính dựa vào việc sử dụng khóa mã hóa và giải mã, đó là:
 Mã hóa cổ điển: cả hai quá trình mã hóa và giải mã đều sử dụng chung
cùng một khóa, vì vậy khóa này cần phải được giữ hết sức cẩn thận và bí mật, nếu
mất thì ngay cả người mã hóa cũng không thể giải mã nội dung thông tin của chính
mình. Một số hệ mật của kiểu này : Hệ mật Hill, hệ mật Virgine, hệ mã hoán vị…
 Mã hóa công khai: với phương pháp này thì quá trình mã hóa và giải mã sẽ
sử dụng hai khóa khác nhau, người thứ nhất sẽ tạo ra một cặp khóa, khóa bí mật sẽ
được họ giữ lại, còn gửi cho người thứ hai khóa công khai, người đó sẽ sử dụng
khóa công khai để mã hóa nội dung của thông tin, sau đó gửi lại cho người thứ nhất,
người thứ nhất sẽ dùng khóa bí mật của mình để giải mã nội dung của thông tin,
một số hệ mật của kiểu này như: Hệ mã RSA, hệ mã DES, hệ mã Elgamal…
Nếu so sánh độ an toàn của hai phương pháp này thì mã hóa công khai có độ
an toàn cao hơn hẳn, do trường khóa rất lớn vì vậy khả năng thám mã thành công là
rất khó và thời gian thực hiện cũng rất lớn, trong khi đó phương pháp mã hóa cổ
điển thực hiện khá đơn giản, thời gian mã hóa cũng như giải mã nhanh, và đa số các
hệ mật này đều đã bị phá, nên độ an toàn không cao.
Bên cạnh phương pháp mã hóa, còn có cách khác để bảo vệ độ an toàn của
thông tin trên đường vận chuyển, đó là phương pháp giấu tin, tức là thông tin được
giấu vào nguồn chứa mà người khác không phát hiện được. Giấu tin khác mã hóa
tin ở chỗ là giấu tin sẽ ẩn thông tin đi do tính chất ẩn (invisible) của thông tin được
giấu, và không dễ dàng để biết được là có thông tin được giấu trong đó hay không,
trong khi mã hóa không ẩn tin đi và nhìn qua có thể biết ngay được rằng thông tin
đã bị mã hóa hay không. Một khi những thông tin mã hoá bị phát hiện thì những tên
tin tặc sẽ tìm mọi cách để triệt phá. Và cuộc chạy đua giữa những người bảo vệ
thông tin và bọn tin tặc vẫn chưa kết thúc tuyệt đối về bên nào. Trong hoàn cảnh đó
thì giấu thông tin trở thành một phương pháp hữu hiệu.
1.2 Khái niệm về giấu tin

Ngày nay do trình độ khoa học kĩ thuật ngày càng phát triển, nền kinh tế
không ngừng được mở rộng, vì vậy nhiều vấn đề nảy sinh trong thế giới công nghệ

5


thông tin như: vấn đề bản quyền tác giả trên các sản phẩm Audio,Video sẽ được xác
định như thế nào? Nạn xuyên tạc thông tin ngày một nhiều và không thể kiểm soát
nổi do sự tinh vi và công nghệ cao. Nghiên cứu các vấn đề liên quan đến việc đặt
các dấu hiệu để chống sự làm giả, chống nhái nhãn mác và để bảo vệ quyền tác giả
của những tác phẩm tranh ảnh, điện tử…là đối tượng nghiên cứu của lĩnh vực khoa
học giấu tin.
Các dạng thức che giấu thông tin đầu tiên có thể thật sự chỉ là các dạng thức
rất thô sơ sử dụng mã hóa dùng private-key; key trong trường hợp này được hiểu là
phương thức được sử dụng. Các sách Steganography với rất nhiều các ví dụ minh
họa về các phương thức được sử dụng trước đây. Những người đưa tin Hy Lạp đã
viết các thông điệp bằng hình săm trên chiếc đầu cạo trọc của mình. Khi tóc mọc
lên chúng sẽ che hết các thông điệp này. Các bàn sáp được khắc đến lớp gỗ trần là
một thông điệp được giấu. Khi các bàn sáp này được phủ lại sáp như ban đầu. các
thông điệp này đã được dấu kín. Qua thời gian những kĩ thuật mật mã sơ khai này
được cải tiến, cả về tốc độ, dung lượng, lẫn độ an toàn. Ngày nay, các kĩ thuật mã
hóa hình ảnh đã vươn tới cấp độ tinh vi, việc mã hóa chính xác các giao tiếp có thể
coi như rất an toàn trong nhu cầu truyền thông tin. Trên thực tế, dự kiến rằng thuật
toán tốt nhất sử dụng khóa (key) với dung lượng nhiều kilobit là không thể giải mã
cho dù tất cả máy tính trên thế giới hoạt động trong 20 năm tập trung giải mã. Tất
nhiên khả này xảy ra điều này là có thể xảy ra, hoặc khả năng tính toán của máy
tính có bước đột phá, nhưng với hầu hết người dùng sử dụng các ứng dụng hiện nay
các kĩ thuật mã hóa là đủ an toàn.
Tại sao chúng ta lại theo đuổi ý tưởng che giấu thông tin? Có nhiều lý do, điều
đầu tiên là giấu thông tin trong các vật dụng không hẳn là một ý tưởng tồi, giả sử

rằng đó không hẳn là phương pháp an toàn nhất được sử dụng. Steganography là
một ví dụ cho phép chúng ta giấu những thông điệp được mã hóa trong những vật
dụng không thu hút sự chú ý. Một đoạn các kí tự ngẫu nhiên được gửi đi giữa 2
người dùng có thể là cảnh báo cho bên thứ ba những thông điệp nhạy cảm đang
được gửi đi, trong khi những bức tranh trẻ em với vài vệt nhiễu thì không có vẻ gì là
như thế cả. Những thông tin đính kèm những bức tranh thật ra đã được mã hóa
nhưng lại không hề thu hút sự chú ý một chút nào. Điều này trở nên đặc biệt quan

6


trọng khi các kĩ thuật không tương xứng với sự tăng trưởng người dùng và tổ chức.
Các chính phủ và các nhà kinh doanh thường truy cập vào các hệ thống mạnh với
các thuật toán mã hóa tốt hơn là các người dùng đơn lẻ. Vì thế, khả năng những
thông điệp của người dùng đơn lẻ có thể bị bẻ khóa ngày càng cao theo thời gian.
Việc giảm những thông điệp bị chặn bởi các tổ chức được coi như là cách giúp
tăng cường tính riêng tư và bảo mật. Một lợi ích khác đã được đưa ra bởi A. Tewfik
là các thông tin ẩn có về cơ bản có thể thay đổi cách chúng ta nghĩ về việc bảo mật
thông tin. Các phương pháp mã hóa thông thường phụ thuộc vào cách ẩn một thành
phần thông tin được đặt trong cái gọi là hộp an toàn và được khóa bằng cái gọi là
“key”. Bản thân thông tin là không quá phức tạp và tất cả ai với một khóa (key)
chính xác có thể truy cập. Khi chiếc hộp được mở tất cả thông tin bảo mật sẽ mất.
So sánh điều này với các phương pháp che giấu thông tin dùng khóa “”key” nhúng
ngay trong thông tin được gửi. Điều khác biệt này có thể được hiểu dễ hơn bởi
công nghệ mã hóa DVD. Thuật toán CSS lấy những thông tin video số và gói nó
trong một dạng thức mã hóa. Khi đầu đọc DVD cung cấp khóa (key) chính xác,
video sẽ được giải mã và đọc DVD ra màn hình. Khi video đã được giải mã dù chỉ
một lần. nó trở nên vô dụng với nội dung mà không hề có dấu vết của tác giả. So
sánh phương pháp này với ý tưởng sử dụng watermark, mặc dù sự mã hóa
watermark vẫn hiện hữu bất chấp video đã bị thay đổi theo các cách khác nhau và

việc giải mã đã được thử. Với điều này, sự cần thiết có một sự kết hợp giữa cả hai
phương pháp trở nên rất rõ ràng.

Do vai trò và tầm quan trọng của mình nên kĩ thuật giấu tin phải được nghiên
cứu trên tất cả các dạng dữ liệu. Các kĩ thuật giấu tin phổ biến nhất trong môi
trường điện tử như:
 Kĩ thuật giấu tin mật (Steganography)
 Kĩ thuật thủy vân số (Digital Watermarking)
Định nghĩa về Steganography
Giấu thông tin là kĩ thuật nhúng thông tin vào trong một nguồn đa phương
tiện, gọi là các nguồn chứa, mà không gây ra nhận biết về sự tồn tại của thông tin
được giấu trong đó. Trước đây kĩ thuật này đã từng được sử dụng rất thành công

7


trong đại chiến Thế giới lần II, rất nhiều thông tin mật được chuyển đi mà không hề
gây ra sự nghi ngờ cho đối phương, đó là trong quân đội và phục vụ cho công tác
tình báo. Tuy nhiên ngày nay, kĩ thuật giấu thông tin mật đã thu hút được nhiều sự
quan tâm nghiên cứu của các nhà khoa học và các viện công nghệ thông tin để ứng
dụng trong việc bảo vệ bản quyền tác giả, chống phân phối bất hợp pháp, cũng như
xuyên tạc trái phép các nội dung thông tin quan trọng. Các sản phẩm cần giữ bản
quyền ngày nay rất đa dạng ở nhiều thể loại như dữ liệu Multimedia, âm thanh, hình
ảnh…Như vậy kĩ thuật giấu tin không chỉ dừng lại ở mức chỉ đơn giản để xác định
quyền sở hữu nguồn tin, mà còn ở khía cạnh cao hơn đó là để bảo mật các thông tin
quan trọng.
Kĩ thuật giấu tin cũng có những yêu cầu rất khắt khe như:
 Không được làm biến dạng bản tin gốc
 Phải vô hiệu hóa được mọi thao tác như cắt tin, nén tin hay chắt lọc…
Một số ví dụ có liên quan đến kĩ thuật giấu tin như: với một bức tranh khi để

bình thường thì sẽ chẳng có ý nghĩa gì trong đó, nhưng nếu xoay ngược nó lại ta sẽ
thấy nội dung ẩn chứa bên trong, hay một chiếc cốc đựng nước sẽ chẳng có ý nghĩa
gì khi dùng, nhưng nếu nhiệt độ của nó tăng lên đến một mức nào đó thì các hoa
văn bên trong thành cốc sẽ hiện lên rõ rệt…đó tất cả đều là các ứng dụng của kĩ
thuật giấu tin mật. Tuy nhiên trong lĩnh vực tin học sẽ ứng dụng kĩ thuật này như
thế nào, những sản phẩm trong môi trường điện tử ta có thể thấy như: nội dung
thông tin mật sẽ được giấu bên trong một bức ảnh bình thường, chỉ khi sử dụng một
phần mềm đặc biệt thì khi đó ta mới có thể thu lại thông tin được giấu trong nó; với
một tập tin Video hay Audio vẫn nghe hàng ngày sẽ chẳng có gì đáng chú ý cả,
nhưng bên trong nó có thể chứa đựng nội dung quan trọng nào đó, hay đơn giản chỉ
là lời của bài hát đó…
Qua những ví dụ trên, ta có thể thấy vai trò và tầm quan trọng của kĩ thuật
giấu tin mật trong nhiều lĩnh vực, bởi vì mục đích chính của kĩ thuật đó là:
 Bảo mật cho dữ liệu được đem đi giấu
 Bảo mật cho chính đối tượng được dùng để giấu tin
Định nghĩa về Watermarking

8


Watermarking hay còn được gọi là thủy vân số, khuynh hướng này có rất
nhiều ứng dụng trong thực tế. Kĩ thuật này không cần đến tính vô hình của thông
tin, thường nhằm vào các úng dụng nghệ thuật trên giấy để chỉ nguồn gốc, tính sở
hữu hay các liên kết giữa các tài liệu được in trên nhiều tờ giấy khác nhau, trong các
trang trí nghệ thuật. Thủy vân số được sử dụng với nhiều mục đích như :
 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ố - một dạng của phương pháp
giấu tin. Một thông tin nào đó mang ý nghĩa quyền sở hữu tác giả sẽ được nhúng
vào trong các sản phẩm, thủy vân đó chỉ một mình người chủ sở hữu hợp pháp các
sản phẩm đó có và được dùng làm minh chứng cho bản quyền sản phẩm. Giả sử có

một thành phẩm dữ liệu dạng đa phương tiện như ảnh, âm thanh, video và cần được
lưu thông trên mạng.Để 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 cần phải có một kĩ thuật để “dán tem bản quyền” vào sản phẩm này. Việc dán
tem hay chính là việc nhúng thủy vân cần phải đảm bảo không để lại một ảnh
hưởng lớn nào đến việc cảm nhận sản phẩm. Yêu cầu kĩ thuật đối với ứng dụng này
là thủy vân phải tồn tại bền vững cùng 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ải phá hủy sản phẩm đó.
 Xác thực thông tin hoặc 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 phương tiện chứa sau đó được sử
dụng để nhận biết xem dữ liệu trên phương tiện gốc đó có bị thay đổi hay không.
Các thủy vân được để ẩn để tránh sự tò mò, 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 (ví dụ như xem một đối tượng đa phương tiện chứa thông tin giấu đã bị
thay đổi, xuyên tạc nội dung hay 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 cao và thủy vân không cần bền vững.
 Giấu vân tay hay dán nhãn (fingerprinting or labeling) :
Thủy vân trong ứ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 copy khác nhau của thông tin gốc trước khi chuyển cho nhiều người. Với những

9


ứ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ự xóa
dấu vết trong khi phân phối.
 Điều khiển truy cập (copy control):
Các thủy vân trong những trường hợp này được sử dụng để kiểm soát 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 vào

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. Các ứ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.
Giấu
thông tin

Giấu tin mật

Thủy vân số

Thủy vân bền
vững

Thủy vân ẩn

Thủy vân dễ
vỡ

Thủy vân hiện

1.2.1 Quá trình giấu thông tin
Quá trình giấu tin được tiến hành theo các bước sau:
Khóa
Phương tiện
chứa (audio,
image, video)

Nhúng thông tin
giấu vào phương

tiện chứa

Thông tin

10

Phương
tiện chứa
đã được
giấu tin

Phân
phối
sản
phẩm


Đầu tiên cần chọn một phương tiện chứa, thông tin cần giấu sẽ nhúng vào
phương tiện chứa nhờ khóa, sau khi giấu phương tiện chứa sẽ mang thông tin và
được phân phối theo yêu cầu.

Ví dụ: Mã hóa thông điệp và nhúng các bít của thông điệp vào trong ảnh

1.2.2 Quá trình giải mã
Sau khi có được phương tiện chứa thông tin được giấu, nhờ có khóa và bộ giải
mã sẽ tách được tin bên trong phương tiện chứa, mang đi kiểm tra và xác nhận độ
chính xác của thông tin thu được.
Quá trình giải mã sẽ được thực hiện theo quá trình:

11



Khóa

Phương tiện
chứa có giấu
thông tin

Bộ giải mã

Thông tin giấu

Kiểm
định xác
nhận

Phương tiện
chứa
1.2.3 Các thuật ngữ hay dùng trong giấu tin
Datahiding: chỉ thuật ngữ giấu tin nói chung bao gồm cả giấu tin mật
(Steganography) và thủy vân số (watermarking).
Steganography: chỉ kĩ thuật giấu tin mật trong đối tượng.
Watermarking: là kĩ thuật thủy vân số, chỉ những kĩ thuật giấu tin dung để bảo
vệ cho đối tượng chứa thông tin.
Phương tiện chứa: gọi là dữ liệu nguồn (host signal) là nơi để giấu dữ liệu. Ví
dụ giấu tin trong ảnh thì ảnh là phương tiện chứa hay ảnh là dữ liệu nguồn.
Dữ liệu nhúng hay là thông tin giấu (embed data): dữ liệu cần giấu được
nhúng vào trong phương tiện chứa. Trong giấu tin mật thì thông tin giấu là message,
còn trong thủy vân số gọi là thủy vân.
Tính tàng hình (imperceptible): đây là một trong ba yêu cầu của hệ giấu thông

tin. Tính không nhìn thấy là tính chất tàng hình của dữ liệu nhúng trong dữ liệu
nguồn.
Tính bền vững (Robusness): đây là một yêu cầu của hệ giấu thông tin. Tính
bền vững thể hiện ở khả năng chịu được các thao tác biến đổi trên dữ liệu nguồn
như: cắt, xén, lọc…
Khả năng giấu (Embeding Capacity): là lượng dữ liệu cần giấu có khả năng
giấu vào trong dữ liệu nguồn.
Nhiễu (Noise): chỉ sự sai khác của dữ liệu nguồn sau khi giấu thông tin.
1.3 Phân loại các kĩ thuật giấu thông tin
Có nhiều cách phân loại kĩ thuật giấu thông tin:

12


 Phân loại theo dữ liệu nguồn: Nhìn chung các dạng dữ liệu nguồn khác nhau,
người ta sử dụng các kĩ thuật giấu tin khác nhau. Ví dụ dữ liệu nguồn là Audio, ảnh,
Video… thì phải lựa chọn các kĩ thuật khác nhau để đảm bảo yêu cầu hệ giấu tin.
 Phân loại theo tính chất tri giác được và không tri giác được: Sự khác nhau
chủ yếu giữa hệ giấu tin tri giác được và không tri giác được là sự nhận biết nhanh
khi có sự thay đổi nhỏ nguồn tin. Chẳng hạn như dữ liệu nguồn là dạng văn bản
(Text) và dữ liệu nguồn là Code của chương trình thì rõ ràng với dữ liệu nguồn
dạng văn bản khi thay đổi một bit người ta không nhận ra nhưng với dữ liệu nguồn
dạng chương trình khi ta thay đổi một bit chương trình có thể không chạy và ta nhận
thấy ngay được sự khác biệt này.
 Phân loại theo tính tàng hình: Xét về tính tàng hình thì các kĩ thuật giấu tin
chia thành 2 nhóm: Thông tin nhìn thấy được và thông tin không nhìn thấy được.
Các thủy vân nhìn thấy được chủ yếu sử dụng cho ảnh và video.Một mẫu nhìn
thấy được chẳng hạn như Logo nằm đè lên ảnh hoặc Video. Các vân nhìn thấy
thường mô tả cho các thông tin bản quyền, sở hữu quyền truy nhập đối với các
thông tin của phương tiện chứa. Ví dụ như các Logo mờ được gắn vào các phương

tiện vô tuyến. Một kĩ thuật giấu nhìn thấy được đã được áp dụng trước đây là thay
đổi độ sáng tối của ảnh gốc, theo mẫu thủy vân chìm hay nổi. Sự thay đổi đó cũng
cần thực hiện theo một số yêu cầu nhất định như đảm bảo tốt về sự tương phản màu
sắc hay việc thay đổi đó phải theo một quy tắc ngẫu nhiên để tránh việc loại bỏ
những vân đó bằng các hệ thống tự động. Giấu nhìn thấy được trên Video cũng sử
dụng những ý tưởng tương tự.
Phần chủ yếu của các kĩ thuật giấu tin hiện nay là các nghiên cứu cho phương
pháp giấu không nhìn thấy được do tính ưu việt của nó nhưng đây là một công việc
phức tạp vì giấu không nhìn thấy được vừa phải đảm bảo tính vô hình của thông tin
giấu vừa đảm bảo chất lượng của dữ liệu gốc (thiết bị của đa phương tiện chứa).
 Phân loại theo lĩnh vực ứng dụng cũng là một tiêu chuẩn để phân loại kĩ
thuật giấu thông tin. Các ứng dụng cổ điển bao gồm: bảo vệ bản quyền tác giả, nhận
thực thông tin, giấu vân tay, điều khiển truy cập thông tin và chú giải…
1.4 Các yêu cầu trong bài toán giấu tin
Khả năng Lưu
trtrữ
13

Lưu trữ


1.4.1 Khả năng không bị phát hiện (tính ẩn/ vô hình của tin giấu)
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 ẩn thông tin dựa trên đặc điểm của hai hệ tri giác người: hệ thị giác và
hệ thính giác. Đây là hai cơ quan chủ yếu được dùng để đánh giá chất lượng của
một tín hiệu.
Khả năng khó bị phát hiện phụ thuộc vào hai tính chất sau:
 Kỹ thuật nhúng: Dữ liệu được 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 có trong

lĩnh vực ẩn thông tin người thực hiện phải có kiến thức về các loại định dạng tập
tin. Vì có thể với cùng một loại thông tin mật nhưng nó rất khó bị phát hiện trên đối
tượng A, nhưng lại quá dễ khi nhúng vào đối tượng B.
 Kinh nghiệm của kẻ tấn công: Nếu như kẻ tấn công có nhiều kinh nghiệm thì
khả năng phát hiện một đối tượng chứa có chứa thông tin mật là không quá khó.
1.4.2 Khả năng lưu trữ (Về dung lượng tin giấu)
Khả năng này thể hiện ở lượng thông tin của thông điệp mật có thể nhúng
trong đối tượng chứa. Do tính bảo mật nên khả năng lưu trữ luôn bị hạn chế. Do đó
trong trường hợp muốn ẩn một thông tin có kích thước tương đối lớn ta thường chia
nhỏ ra nhiều thành phần và thực hiện nhúng từng phần.
Trong thực tế, khi quyết định chọn phương pháp nhúng nào ta thường lấy ba
tiêu chí trên làm cở sở. Tùy thuộc vào từng ứng dụng mà người ta sẽ ưu tiên cho
tiêu chuẩn nào hơn.
1.4.3 Tính bền vững

14


Thể hiện khả năng ít bị thay đổi trước các tấn công từ bên ngoài: như thay đổi
tính chất (thay đổi tần số lấy mẫu, số bít lấy mẫu…) đối với tín hiệu âm thanh, các
phép biến đổi affine (dịch, quay, tỉ lệ…) thay đổi chất lượng ảnh (thay đổi hệ màu)
đối với tín hiệu ảnh, chuyển đổi định dạng dữ liệu (JPG–BMP, GIF–PCX, WAV–
MP3, MPG–AVI…). Hiện nay chưa có phương pháp nào đảm bảo biện pháp này
một cách tuyệt đối.
Với từng ứng dụng cụ thể, mức độ yêu cầu tính chất này thể hiện khác nhau.
Ví dụ: Trong Watermarking dễ vỡ chỉ cần thay đổi nhỏ trên đối tượng chứa
cũng có thể làm cho đối tượng thông tin mật bị hủy. Thông thường thì mức độ yêu
cầu tính chất này trong các ứng dụng Watermarking cao hơn các ứng dụng ẩn thông
tin khác.
1.5 Giấu thông tin trong các sản phẩm Multimedia

Ngày nay với sự phát triển của mạng Internet, các sản phẩm Multimedia trở
nên rất phổ biến, chúng tồn tại ở nhiều dạng như hình ảnh, âm thanh, câc âm thanh
và hình ảnh động…Việc giấu thông tin trong các dạng khác nhau của Multimedia
cũng có đôi chút khác biệt.
1.5.1 Giấu thông tin trong ảnh
Giấu thông tin trong ảnh thường chiếm tỉ lệ lớn trong thực tế so với các loại
sản phẩm khác. Người ta thường sử dụng nó vào mục đích giữ bản quyền, chống
xuyên tạc thông tin, bảo vệ tính xác thực của tác phẩm, thậm trí dùng để truyền tin
bí mật qua mặt đối phương. Kĩ thuật này đã được áp dụng rất nhiều trong thời gian
chiến tranh thế giới lần II xảy ra, vì vậy mà phương pháp giấu tin trong ảnh rất được
quan tâm nghiên cứu. Tuy nhiên trong kĩ thuật giấu tin trong ảnh có hai hướng
chính là : giấu tin trong ảnh màu và trong ảnh đen trắng. Hiện nay đã có nhiều thuật
toán áp dụng cho giấu tin trong ảnh màu và ảnh đa cấp sáng theo các định dạng
chuẩn như: BMP, GIFF, PCX, JPG… Trong đó với ảnh đen trắng thì việc giấu tin là
khó đảm bảo sự an toàn hơn so với ảnh màu.
Các thuật toán giấu tin trong ảnh màu được phát triển chủ yếu nhằm vào việc
tăng khả năng nhúng các bit vào đối tượng ảnh, còn với ảnh đen trắng thì lại chú
trọng hơn vào tính chất không nhìn thấy được của thông tin trong ảnh sau khi giấu.

15


Giấu thông tin trong ảnh là một phần của việc giấu thông tin trong các thiết bị đa
phương tiện. Thông tin sẽ được giấu cùng với dữ liệu ảnh nhưng chất lượng ảnh
phải ít thay đổi để không ai biết được bên trong ảnh có chứa thông tin và có ý nghĩa
như thế nào. Ngày nay cùng với việc ảnh số đã được sử dụng rất phổ biến thì giấu
tin trong ảnh sẽ đem lại rất nhiều ứng dụng quan trọng trên nhiều lĩnh vực như chữ
kí số hóa và lưu trữ. Rất nhiều thông tin quan trọng cần được bảo mật như thông tin
về an ninh quốc gia, về tài khoản trong ngân hàng…các thông tin này sẽ được số
hóa và lưu trữ trên mạng, vì vậy chúng rất dễ bị đánh cắp hay bị thay đổi làm sai

lệch thông tin.Việc chứng thực thông tin cũng như phát hiện thông tin xuyên tạc đã
trở lên vô cùng quan trọng và cấp thiết, vì những đặc điểm như vậy nên phương
pháp giấu tin trong ảnh đang thu hút được nhiều sự quan tâm bởi thông tin được
giấu một cách vô hình, đó như 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, do sau khi giấu chất lượng ảnh là gần như không thay
đổi. Thông tin giấu trong ảnh thì cũng như là một hệ mật mã, nhằm đảm bảo tính an
toàn thông tin, đó là sự kết hợp giữa hệ mật mã và hình họa nhưng phương pháp này
có ưu điểm là che giấu đươc khả năng phát hiện thông tin chứa trong ảnh
1.5.2 Giấu tin trong sản phẩm Audio
Giấu thông tin trong audio mang những đặc điểm riêng khác với giấu thông tin
trong các đối tượng đa phương tiện khác. Một trong những yêu cầu cơ bản của giấu
tin là đảm bảo tính chất ẩn của thông tin được giấu đồng thời không làm ảnh hưởng
đến chất lượng của dữ liệu gốc. Để đảm bảo yêu cầu này, kỹ thuật giấu thông tin
trong ảnh phụ thuộc vào hệ thống thị giác của con người - HVS (Human Vision
System) còn kỹ thuật giấu thông tin trong audio lại phụ thuộc vào hệ thống thính
giác HAS (Human Auditory System). Và 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 giả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. Nhưng thật may là
HAS lại kém trong việc phát hiện sự khác biệt 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ác âm thanh nhỏ thấp một
cách dễ dàng. Các mô hình phân tích tâm lí đã chỉ ra điểm yếu trên và thông tin này
sẽ giúp ích cho việc chọn các audio thích hợp cho việc giấu tin. Vấn đề khó khăn
thứ hai đối với giấu thông tin trong audio là kênh truyền tin. Kênh truyền hay băng

16


thông chậm sẽ ảnh hưởng đến chất lượng thông tin sau khi giấu. Ví dụ để nhúng
một đoạn java applet vào một đoạn audio (16 bit, 44.100 Hz) có chiều dài bình
thường thì các phương pháp nói chung cũng cần ít nhất là 20 bit/s. 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.
Các phương pháp giấu thông tin trong audio đều lợi dụng điểm yếu trong hệ thống
thính giác của con người.
1.5.3 Giấu tin trong Video
Cũng giống như giấu thông tin trong ảnh hay trong audio, giấu tin trong video
cũng được quan tâm và được phát triển mạnh mẽ cho nhiều ứng dụng như điều
khiển truy cập thông tin, nhận thực thông tin và bảo vệ bản quyền tác giả. Ta có thể
lấy một ví dụ là 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ẽ và cũng theo hai khuynh hướng là thuỷ vân số và data hiding. Nhưng phần
giới thiệu này chỉ quan tâm tới các kỹ thuật giấu tin trong video. 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 phối thông tin giấu dàn trải theo tần số của dữ liệu
chứa 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 thuật toán khởi nguồn thì thường các kỹ thuật cho
phép giấu các ảnh vào trong video nhưng thời gian gần đây các kỹ thuật cho phép
giấu cả âm thanh và hình ảnh vào video. Như phương pháp của Swanson đã sử dụng
phương pháp giấu theo khối, phương pháp này đã giấu được hai bít vào khối 8*8.
Hay gần đây nhất là phương pháp của Mukherjee là kỹ thuật giấu audio vào video
sử dụng hệ thống lưới đa chiều.
Kỹ thuật giấu thông tin áp dụng cả đặc điểm thị giác và thính giác của con
người.
Cũng như giấu tin trong ảnh hay trong các sản phẩm dạng Audio, giấu tin
trong các sản phẩm dạng Video được quan tâm nhiều vì trong thực tế sản phẩm
dạng này được lưu truyền rất phổ biến hiện nay. Kĩ thuật giấu tin dạng này nhằm
xác thực thông tin và bảo vệ bản quyền của tác giả, chống sao chép trái phép các
sản phẩm khi không có sự đồng ý. Các kĩ thuật giấu tin trong Video phát triển theo
hai hướng là thủy vân số và giấu tin, yêu cầu đối với các phương pháp này khắt khe

17



hơn do hệ thống phải đánh lừa được cả thính giác và thị giác của con người. Do tất
cả các thông tin sau khi được số hóa đều ở dạng nhị phân nên kĩ thuật giấu trong các
sản phẩm Audio, hay Video đều có những điểm giống nhau nào đó.
1.6 Kết luận
Trong chương này, chúng ta có thể thấy được cái nhìn tổng quát về các sản
phẩm kĩ thuật số hiện nay, phân loại các kĩ thuật giấu tin trong các dạng sản phẩm
khác nhau. Và cũng thấy được sự khó khăn và phức tạp của kĩ thuật giấu tin, phụ
thuộc vào rất nhiều yếu tố, đồng thời các ứng dụng thực tế và tầm quan trọng của kĩ
thuật này trong nhiều lĩnh vực hiện nay.
Giấu tin 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…Tuy nhiên, những kết quả thực nghiệm cho thấy để thực sự ứng dụng thực tế
thì lĩnh vực này cần phải có thêm thời gian để nghiên cứu thẩm định nhưng các nhà
khoa học cũng khẳng định rằng đây là một công nghệ mới đầy hứa hẹn cho vấn đề
an toàn và bảo mật thông tin. Công việc hiện nay của các nhà khoa học đang tập
trung xây dựng một hệ thống lí thuyết chính xác cho vấn đề giấu tin, đây là một
mảnh đất mới cho các nhà khoa học khám phá.

CHƯƠNG II
MỘT SỐ THUẬT TOÁN GIẤU TIN TRONG ẢNH TĨNH
2.1 Cấu trúc file ảnh Bitmap

18


Ảnh Bitmap là một trong rất nhiều định dạng chuẩn thường gặp, có phần mở
rộng là *.BMP, được Microsoft Corporation đưa ra lần đầu tiên trong phiên bản
Windows 3.0 trở lên. Mỗi ảnh Bitmap đều gồm 3 phần chính là :

 Bitmap header
 Palette màu
 Bitmap data
Trong đó phần Bitmap header chứa thông tin chung về file, và các thông tin về
ảnh, khuôn dạng chuẩn được quy ước trong các tài liệu là :
BITMAPFILEHEADER bmfh;

//Chứa thông tin chung về file

BITMAPINFOHEADER bmih;

//Chứa thông tin chung về ảnh

RGBQUAD

//Bảng màu

BYTE

aColors[];

//Phần dữ liệu ảnh

aBitmapBits[];

Trong đó các cấu trúc được định nghĩa như dưới đây :
typedef struct tagBITMAPFILEHEADER {
UINT

/* bmfh */


bfType;

DWORD bfSize;
UINT

bfReserved1;

UINT

bfReserved2;

DWORD bfOffBits;
} BITMAPFILEHEADER;
typedef struct tagBITMAPINFOHEADER { /* bmih */
DWORD biSize;

LONG biWidth;

LONG biHeight; pixel
WORD biPlanes;
WORD biBitCount;
DWORD biCompression;
DWORD biSizeImage;
LONG

biXPelsPerMeter;

LONG


biYPelsPerMeter;

DWORD biClrUsed;
DWORD biClrImportant;

19


} BITMAPINFOHEADER, *LPBITMAPINFOHEADER;


BitmapHeader: được cho trong bảng sau
Byte

Ý nghĩa

Giá trị

1-2

Nhận dạng file

‘BM’ hay 19778

3-6

Kích thước file

Kiểu Long trong Turbo C


7-10

Dành riêng

Mang giá trị 0

11-14

Byte bắt đầu vùng dữ liệu

Offset của byte bắt đầu vùng dữ liệu

15-18

Số byte cho vùng info

40 byte

19-22

Chiều rộng ảnh BMP

Tính bằng pixel

23-26

Chiều cao ảnh BMP

Tính bằng pixel


27-28

Số planes màu

Cố định là 1

29-30

Số bit cho một pixel

Có thể là 1,4,8,16,24
0: Không nén

31-34

Kiểu nén dữ liệu

1: Nén runlength 8bits/pixel
2: Nén runlength 4bits/pixel

35-38

Kích thước ảnh

Tính bằng byte

39-42

Độ phân giải ngang


Tính bằng pixels/meter

43-46

Độ phân giải dọc

Tính bằng pixels/meter

47-50

51-54

Số màu sử dụng trong
ảnh
Số màu được sử dụng khi
hiện ảnh

Nếu bmih.biBitCount > 8 thì mảng màu rgbq[] trống, ngược lại thì mảng
màu có 2<< bmih.biBitCount phần tử. Cấu trúc của bảng màu như sau :
typedef struct tagRGBQUAD {
BYTE

rgbBlue;

BYTE

rgbGreen;

BYTE


rgbRed;

BYTE

rgbReserved;

20

/* rgbq */


} RGBQUAD;
Sau phần Header và bảng màu là phần chứa dữ liệu của file ảnh, phần này
nằm ngay sau phần Palette, đây là phần chứa giá trị màu của điểm ảnh trong
Bitmap. Các dòng ảnh được lưu trữ từ dưới lên trên, các điểm ảnh được lưu từ trái
sang phải, trong đó giá trị của mỗi điểm ảnh là một số trỏ tới phần tử màu tương
ứng của phần Palette ảnh. Sỗ bit dành cho riêng một pixel sẽ xác định số lượng màu
cho pixel đó. Ví dụ như nếu mỗi pixel được thể hiện bởi 4 bits, thì khi đó số lượng
màu mà pixel có thể xác định là 16 màu. Bảng sau thấy mối liên hệ giữa số bit trên
một pixel với số màu mà pixel có thể thể hiện :

Bits/pixel Số màu pixel thể hiện
1

2^1=2

2

2^2=4


4

2^4=16

8

2^8=256

16

2^16=65536

24

2^24 = 16777216

Hình sau cho thấy các giá trị màu của một ảnh Bitmap mà 1 pixel được thể
hiện bởi 24 bit (mỗi màu RGB được xác định bởi 8 bits) :

Hình 2.1: Bảng màu của ảnh Bitmap 24 bit/pixel

21


Trên thực tế thường gặp nhất là loại ảnh bitmap với 24 bits/pixel, do định dạng
của ảnh nhị phân không được nén nên nó không thích hợp cho việc truyền tải trên
môi trường mạng. Một khái niệm khác liên quan đến định dạng file Bitmap không
thể không nhắc đến là “Bitmap độc lập với thiết bị” hay còn gọi là DeviceIndependent Bitmap (DIB). DIB bao gồm một bảng màu mô tả làm sao để các giá
trị điểm ảnh có thể tương ứng những giá trị màu RGB, điều đó cũng mô tả màu sắc
được tạo ra từ sự phát sáng. Vì vậy DIB có thể thể hiện được màu sắc thích hợp trên

bất kì thiết bị nào, DIB bao gồm những thông tin về màu sắc và kích thước như sau:
 Khuôn dạng màu sắc của thiết bị mà trên đó ảnh được tạo ra.
 Độ phân giải của thiết bị tạo ra ảnh.
 Bảng màu cho thiết bị tạo ra ảnh.
 Một mảng những bit ánh xạ bộ màu red, green, blue tới những pixel trong
khung ảnh hình chữ nhật.
 Xác định chế độ nén dữ liệu được thể hiện bởi lược đồ nén (nếu có ) để giảm
bớt kích thước của mảng bit
 Thông tin về kích thước và màu sắc được lưu trữ trong cấu trúc BitmapInfor,
trong đó cũng chứa đựng một cấu trúc BitmapInforHeader theo sau bởi hai hay
nhiều cấu trúc RGBQuad. Cấu trúc BitmapInforHeader chỉ rõ kích thước của khung
pixel hình chữ nhật, kĩ thuật màu sắc của thiết bị và lược đồ nén được sử dụng để
giảm bớt kích thước của ảnh Bitmap. Còn cấu trúc RGBQuad lại xác định những
màu xuất hiện trên các pixel đó.
2.2 Các đặc điểm của kĩ thuật giấu tin trong ảnh tĩnh
Giấu tin trong ảnh là sự kết hợp của hệ mật mã và hình họa, chúng có một số
các đặc điểm nổi bật như sau :
Nguồn dữ liệu ở đây là các ảnh tĩnh, là ảnh không thay đổi theo thời gian, khác
so với các sản phẩm đa phương tiện như Audio hay Video, khi quan sát dữ liệu gốc
thay đổi liên tục theo các đoạn,các bài hay frames... Sự khác biệt này ảnh hưởng lớn
đến các kĩ thuật giấu thông tin trong các sản phẩm Audio hay Video. Đối với giấu
tin trong ảnh thì phương pháp giấu và kĩ thuật giấu phụ thuộc vào đặc điểm thị giác
của con người như độ sáng, độ tối, độ tương phản của các màu sắc, yếu tố khoảng
cách nhìn, góc nhìn…

22


Giấu thông tin trong ảnh sẽ tác động lên dữ liệu ảnh nhưng không thay đổi
kích thước của ảnh, các phép toán thực hiện công việc giấu thông tin sẽ được thực

hiện trên dữ liệu ảnh. Dữ liệu ảnh là sau khi bỏ qua phần Header,bảng màu. Khi
giấu thông tin, các phương pháp đều làm biến đổi các giá trị của các bit trong phần
dữ liệu ảnh chứ không thêm vào hay bớt đi dữ liệu ảnh, vì vậy mà kích thước ảnh sẽ
được giữ nguyên
Đảm bảo chất lượng ảnh sau khi giấu thông tin, đây là yêu cầu rất quan trọng.
Sau khi giấu thông tin bên trong, ảnh phải đảm bảo yêu cầu không bị biến đổi về
hình dạng cũng như kích thước để có thể bị phát hiện. Yêu cầu này có thể dễ thực
hiện trên ảnh màu hay các ảnh xám bởi mỗi pixel của những ảnh này được biểu diễn
bởi nhiều bit, vì vậy khi ta thay đổi một gíá trị bít trong số các bit thấp thì chất
lượng ảnh hầu như không thay đổi và khó có thể nhận thấy, nhưng đối với ảnh chỉ
có hai màu thì điều này cực kì khó thực hiện, bởi chỉ một sự thay đổi nhỏ cũng dễ
gây sự chú ý của người xem khi so sánh với ảnh gốc. Vì lí do này nên yêu cầu đối
với thuật toán giấu tin trong ảnh màu và ảnh đen trắng là hoàn toàn khác nhau. Đối
với ảnh màu thì thuật toán yêu cầu giấu được càng nhiều thông tin trong ảnh càng
tốt, còn với ảnh đen trắng thì điều quan trọng là làm sao cho thông tin giấu khó bị
phát hiện.
Thông tin được giấu trên ảnh sẽ bị sai lệch nếu có bất cứ một sự biến đổi nào
trên ảnh. Nếu ta sử dụng các chương trình chuyên dụng trong việc xử lý ảnh như
Photoshop hay CorelDraw thì chắc chắn thông tin trong bức ảnh sẽ sai lệch, do giá
trị các bit trên bức ảnh đã bị thay đổi bởi các chương trình xử lý ảnh đó.
Thông tin được giấu trong ảnh sẽ được mang cùng với dữ liệu ảnh, chính vì
điều này mà khi giải mã thông tin ta không cần sử dụng ảnh gốc để so sánh đối
chiếu mà chỉ cần sử dụng ảnh chứa tin.
2.3 Sự khác biệt giữa giấu tin trong các loại ảnh
Mỗi loại ảnh khác nhau sẽ có các kĩ thuật giấu tin khác nhau và có những yêu
cầu kĩ thuật khác nhau.
Đối với các loại ảnh màu và ảnh đa cấp xám thì mỗi pixel ảnh mang nhiếu giá
trị, được biểu diễn bằng nhiều bit, vì vậy việc thay đổi một giá trị nhỏ ở một pixel
thì chất lượng ảnh gần như không đổi và khả năng bị phát hiện là thấp nếu quan sát


23


bằng mắt thường. Do đó thị giác đóng vai trò quan trọng trong việc đảm bảo tính ẩn
của thông tin giấu. Tuy nhiên với những ảnh mà giá trị của nó chỉ mang một giới
hạn nhỏ giá trị các bit thì việc đảm bảo tính ẩn là việc khó khăn hơn, đặc biệt đối
với loại ảnh đen trắng, mỗi điểm ảnh chỉ mang hai giá trị, vì thế khi thay đổi giá trị
một bit từ 0 sang 1 và ngược lại rất dễ bị phát hiện ngay cả khi quan sát bằng mắt
thường. Do đó với ảnh đen trắng số lượng các thuật toán là hạn chế và chưa đạt
được kết quả như mong muốn, có thuật toán giấu được nhiều thông tin nhưng chất
lượng ảnh lại kém và dễ bị phát hiện. Một số thuật toán khác thì giấu được chất
lượng ảnh tốt nhưng lượng thông tin giấu lại ít và quá đơn giản không đảm bảo
được độ an toàn thông tin.
Với ảnh đen trắng, mỗi điểm ảnh chỉ có 2 bit rõ ràng là khó giấu vì chỉ có hai
vị trí để giấu. Ảnh 16 màu mỗi điểm ảnh có 4 bit biểu diễn vì vậy mà số vị trí cần
giấu là 4. Đối với ảnh 256 màu mỗi điểm ảnh được biểu diễn bằng 8 bit, như vậy có
8 vị trí để giấu. Vì vậy mà ta có thể giấu nhiều vị trí với ảnh màu. Những vấn đề đặt
ra ở đây là phải tìm được thuật toán đảm bảo hai yêu cầu sau:
 Giấu được nhiều thông tin hay nhiều bit vào trong ảnh.
 Chất lượng ảnh không giảm, khó phát hiện bằng mắt thường và bằng các kĩ
thuật kiểm tra.
Bảng so sánh giữa giấu tin trong ảnh đen trắng và ảnh màu, ảnh đa cấp xám:

Ảnh đen trắng

Ảnh màu hoặc là ảnh xám

Thông tin giấu ít hơn so với ảnh màu có

Thông tin giấu nhiều hơn


cùng kích cỡ
Khả năng bị phát hiện phương tiện có

Khả năng bị phát hiện thấp hơn

chứa thông tin cao hơn ảnh màu
Độ an toàn thông tin thấp do dễ bị phát

Độ an toàn cao hơn

hiện thông tin chứa

Nhiều thuật toán và có nhiều hướng mở

Các thuật toán giấu ít hơn, phức tạp hơn

rộng. Như là áp dụng thuật giải di truyền

2.4 Một số thuật toán giấu tin trong ảnh tĩnh

24


2.4.1 Nghiên cứu một kỹ thuật giấu tin đơn giản
2.4.1.1 Ý tưởng
Đây có lẽ là kỹ thuật đơn giản nhất trong các kỹ thuật giấu tin, ý tưởng cơ bản
của thuật toán 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. Thuật toán này dùng cho cả ảnh màu, ảnh xám và ảnh đen trắng
nhưng để dễ trình bày thuật toán chúng ta sẽ sử dụng ảnh đen trắng, phần sau sẽ

trình bày phương pháp áp dụng thuật toán vào ảnh màu và ảnh xám.
2.4.1.2 Thuật toán giấu tin
Input:
- Một ảnh Bitmap đen trắng
- Một file thông tin cần giấu
Output:
- Một file ảnh đã giấu tin.
- Một khoá để giải tin
Cách thức thực hiện:
* Tiền xử lí:
Chuyển file thông tin cần giấu sang dạng nhị phân bởi vì thuật toán sẽ giấu
từng bit của thông tin cần giấu vào trong ảnh. Việc biến đổi ngược trở lại file thông
tin sẽ được thực hiện trong quá trình giải tin.
Đọc header của ảnh để lấy thông tin ảnh, đọc bảng màu. Sau đó, đọc toàn bộ
dữ liệu ảnh vào một mảng hai chiều để sử dụng cho việc giấu tin.
* Quá trình giấu tin:
Chia phần thông tin ảnh (ma trận hai chiều điểm ảnh) thành các khối nhỏ có
kích thước m  n. Giả sử ảnh gốc ban đầu có kích thước là M  N, ảnh gốc được
chia thành các khối nhỏ, tổng số các khối nhỏ sẽ là (M  N)/ (m  n) khối. Vì ảnh là
đen trắng nên mỗi khối là một ma trận hai chiều của các giá trị 0 và 1 như hình vẽ:

0

1

0

0

1


1

1

0

0

0

0

0

0

0

1

1

1

1

1

0


0

0

1

0

1

0

1

0

0

1

1

0

1

0

1


0

1

0

1

0

1

1

25


×