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

Tìm hiểu ảnh JPEG và thuật toán giấu tin trong ảnh JPEG

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 (2.44 MB, 88 trang )

Đồ án tốt nghiệp Trang 1 GVHD: Th.s Trần Minh Văn
SVTH: Trương Minh Thịnh
PHỤC LỤC
PHỤC LỤC 1
LờI CảM ƠN 3
MỞ ĐẦU 5
CHƯƠNG 1. KỸ THUẬT GIẤU TIN 8
1.1 KHÁI NIệM 8
1.2 CÁC Kỹ THUậT GIấU TIN 8
1.3 MÔ HÌNH GIấU TIN VÀ GIảI TIN TổNG QUÁT 9
1.4 Sự KHÁC BIệT GIŨA STEGANOGRAPHY, WATERMARKING VÀ CRYPTOGRAPHY 10
1.5 MộT Số ứNG DụNG ĐƯợC TRIểN KHAI 11
1.6 MÔI TRƯờNG GIấU TIN 13
1.6.1 Giấu tin trong audio 13
1.6.2 Giấu thông tin trong video 14
1.6.3 Giấu tin trong ảnh số 14
CHƯƠNG 2. ẢNH SỐ 18
2.1 GIớI THIệU Về ảNH Số 18
2.2 ẢNH RASTER 18
2.2.1 Các loại ảnh raster 19
2.2.2 Định dạng ảnh raster 19
2.3 ẢNH VECTOR 20
2.4 CÁC Kỹ THUậT NÉN ảNH (IMAGE COMPRESSION) 22
CHƯƠNG 3. ẢNH BITMAP (BMP) VÀ THUẬT TOÁN LSB ĐƠN GIẢN 24
3.1 ẢNH BMP 24
3.1.1 Khả năng lưu trữ 24
3.1.2 Device-independent bitmaps và định dạng file BMP 25
3.1.3 BMP file header 26
3.1.4 Bitmap information (DIB header) 27
3.1.5 Bảng màu (Color palette) 29
3.1.6 Dữ liệu ảnh bitmap 30


3.2 THUậT TOÁN LSB ĐƠN GIảN TRÊN MIềN KHÔNG GIAN 31
CHƯƠNG 4. ẢNH JPEG 34
4.1 CHUẩN JPEG VÀ ứNG DụNG 34
4.2 CấU TRÚC ảNH JPEG 35
4.3 VÍ Dụ MÃ HÓA VÀ GIảI MÃ ảNH JPEG 42
Đồ án tốt nghiệp Trang 2 GVHD: Th.s Trần Minh Văn
SVTH: Trương Minh Thịnh
4.3.1 Mã hóa 43
4.3.2 Giải mã file JPEG 53
CHƯƠNG 5. THUẬT TOÁN LSB (YU-YUAN, HSIANG-KUANG PAN VÀ YU-
CHEE TSENG) VÀ ỨNG DỤNG VỚI ẢNH BMP VÀ JPEG 57
5.1 GIớI THIệU 57
5.2 THUậT TOÁN 58
5.2.1 Các kí hiệu dùng trong thuật toán 58
5.2.2 Đặt vấn đề 58
5.2.3 Các bước giấu tin vào Fi 60
5.3 Độ AN TOÀN CủA THUậT TOÁN 62
5.4 VÍ Dụ MINH HọA GIấU TIN TRONG ảNH BITMAP (BMP) 63
5.5 GIấU TIN TRONG ảNH JPEG 66
CHƯƠNG 6. CÀI ĐẶT VÀ CHƯƠNG TRÌNH MINH HỌA 70
6.1 CÀI ĐặT CHƯƠNG TRÌNH 70
6.2 MÔ HÌNH LớP 70
6.3 MÔ HÌNH TUầN Tự CHO CHứC NĂNG GIấU TIN 73
6.3.1 Mô hình giấu tin vào ảnh bitmap 74
6.3.2 Mô hình giấu tin vào ảnh JPEG 75
6.4 MÔ HÌNH TUầN Tự CHO CHứC NĂNG GIảI TIN 76
6.4.1 Mô hình giải tin từ ảnh BMP 77
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 86
TÀI LIỆU THAM KHẢO 88


Đồ án tốt nghiệp Trang 3 GVHD: Th.s Trần Minh Văn
SVTH: Trương Minh Thịnh
Lời cảm ơn
Để hoàn thành tốt khóa học và luận văn tốt nghiệp của mình, em đã nhận được rất
nhiều sự giúp đỡ và giảng dạy tận tình của các thầy cô trong khoa Công Nghệ Thông
Tin trường Đại học Nha Trang. Bên cạnh những bài giảng trên lớp, thầy cô còn cung
cấp những kinh nghiệm thực tế vô cùng quý báu. Em xin bày tỏ lòng biết ơn đến tất cả
các thầy cô.
Đặc biệt em xin cảm ơn đến thầy Trần Minh Văn, giáo viên trực tiếp hướng dẫn
và chỉ bảo em trong suốt quá trình thực hiện đề tài. Đồng thời, em cũng cảm ơn đến các
bạn trong lớp đã tham gia góp ý và hỗ trợ em hoàn thành tốt luận văn này.
Tuy đã nỗ lực hết sức nhưng vẫn không thể không tránh khỏi những thiếu sót
tiềm ẩn, vì thế em rất mong nhận được những góp ý từ các thầy cô cũng như tất cả các
bạn.
Đồ án tốt nghiệp Trang 4 GVHD: Th.s Trần Minh Văn
SVTH: Trương Minh Thịnh
Đồ án tốt nghiệp Trang 5 GVHD: Th.s Trần Minh Văn
SVTH: Trương Minh Thịnh
MỞ ĐẦU

Giới thiệu và mục tiêu của đề tài
Cuộc cách mạng thông tin kỹ thuật số đã đem lại những thay đổi sâu sắc trong xã
hội và trong cuộc sống của chúng ta. Những thuận lợi mà thông tin kỹ thuật số mang
lại cũng sinh ra những thách thức và cơ hội mới cho quá trình đổi mới. Sự ra đời những
phần mềm có tính năng mạnh, các thiết bị mới như máy ảnh kỹ thuật số, máy quét chất
lượng cao, máy in, máy ghi âm kỹ thuật số, v.v cùng với mạng Internet toàn cầu như
một xã hội ảo, nơi diễn ra quá trình 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… đã tác động rất lớn đến đời sống con người
chúng ta. Và, chính trong môi trường mở, tiện nghi như thế các vấn nạn và tiêu cực xã
hội cũng không ngừng tăng cao. Do đó, xã hội đang rất cần đến các giải pháp hữu hiệu

cho vấn đề an toàn thông nhằm ngăn ngừa và chống lại các tệ nạn ăn cắp bản quyền,
nạn xuyên tạc thông tin, truy nhập thông tin trái phép v.v
Trong một quá trình phát triển lâu dài, 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. Thông tin ban đầu sẽ được mã hoá thành các ký hiệu vô nghĩa,
sau đó sẽ được lấy lại thông qua việc giải mã nhờ khoá của hệ mã. Đã có rất nhiều
những hệ mã phức tạp được sử dụng như DES, RSA, AES và phương pháp này đã
được chứng minh thực tế là rất hiệu quả và được ứng dụng phổ biến.
Nhưng ở đây ta không định nói về các hệ mã mật mà ta tìm hiểu về một phương
pháp đã và đang được nghiên cứu và ứng dụng rất mạnh mẽ ở nhiều nước trên thế giới
đó là phương pháp giấu tin (data hiding). Đây là phương pháp mới và phức tạp, nó
đang được xem như một công nghệ chìa khoá cho vấn đề bảo vệ bản quyền, nhận thực
thông tin và điều khiển truy cập … ứng dụng trong an toàn và bảo mật thông tin.
Đồ án tốt nghiệp Trang 6 GVHD: Th.s Trần Minh Văn
SVTH: Trương Minh Thịnh
Giấu thông tin (Steganography) là một kỹ thuật nhúng thông tin (embedding)
vào trong một nguồn đa phương tiện gọi là các phương tiện chứa (host data) mà không
gây ra sự nhận biết về sự tồn tại của thông tin giấu (invisible).
Từ Steganography bắt nguồn từ Hi Lạp và được sử dụng cho tới ngày nay, nó có
nghĩa là tài liệu được phủ (covered writing). Các câu chuyện kể về kỹ thuật giấu thông
tin được truyền qua nhiều thế hệ, ý tưởng về che giấu thông tin đã có từ hàng nghìn
năm về trước nhưng kỹ thuật này được dùng chủ yếu trong quân đội và trong các cơ
quan tình báo. Mãi cho tới vài thập niên gần đây, giấu thông tin mới nhận được sự quan
tâm của các nhà nghiên cứu và các viện công nghệ thông tin với rất nhiều các công
trình nghiên cứu. Cuộc cách mạng số hoá thông tin và sự phát triển nhanh chóng của
mạng truyền thông là nguyên nhân chính dẫn đến sự thay đổi này. Các kỹ thuật sao
chép, thay thế, sửa đổi tinh vi, cộng với sự lưu thông phân phối trên mạng của các dữ
liệu đa phương tiện đã sinh ra rất nhiều vấn đề nhức nhối về nạn ăn cắp bản quyền,
phân phối bất hợp pháp, xuyên tạc trái phép

Sự khác biệt chủ yếu giữa mã hoá thông tin và giấu thông tin là phương pháp mã
hoá làm cho các thông tin hiện rõ là nó có được mã hoá hay không, còn đối với phương
pháp giấu thông tin thì người ta sẽ khó biết được là có thông tin giấu bên trong do tính
chất ẩn (invisible) của thông tin được giấu. 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.
Mục tiêu của đề tài
Với mục đích hiểu rõ thêm về information hiding (IH),đề tài của em sẽ tìm hiểu
về một nhánh của IH đó là steganography (giấu tin mật) và đây là một nhánh nghiên
cứu khá nổi trội trong vấn đề bảo mật ngày nay.
Đề tài sẽ áp dụng kỹ thuật này lên đối tượng ảnh số bitmap và quan trọng hơn cả
Đồ án tốt nghiệp Trang 7 GVHD: Th.s Trần Minh Văn
SVTH: Trương Minh Thịnh
là ảnh JPEG sủ dụng thuật toán giấu tin vào các bit ít quan trọng (LSB - least
significant bit) của 3 nhà khoa học Đài Loan là Yu-Yuan, Hsiang-Kuang Pan và Yu-
Chee Tseng (Department of Computer Science and Information Engineering National
Chiao Tung University Hsin-Chu, 30050, Taiwan).
Đồ án tốt nghiệp Trang 8 GVHD: Th.s Trần Minh Văn
SVTH: Trương Minh Thịnh
CHƯƠNG 1. KỸ THUẬT GIẤU TIN
1.1 Khái niệm
Giấu tin là kỹ thuật nhúng một thông tin nào đó có tính chất nhạy cảm vào một
đối tượng chứa nhằm che giấu sự tồn tại của tin đó trước các đối thủ nhưng vẫn không
làm ảnh hưởng nhiều đến chất lượng của đối tượng chứa.
1.2 Các kỹ thuật giấu tin
Do kỹ thuật giấu tin mới được hình thành trong những năm gần đây nên hướng
phát triển chưa ổn định. Nhiều phướng pháp mới theo nhiều khía cạnh khác nhau đang
được đề xuất, bởi vậy một định nghĩa chình xác, một đánh giá phân loại rõ ràng chưa
thể thực hiện được. Sơ đồ phân loại được Fabien A.P Peticolas đề xuất năm 1999 như

sau:











Information Hiding

(Gi

u tin)

Steganography

(Giấu tin mật)

Watermarking

(Thủy vân số)

Robust Copyright
(Thủy vân bền vững)

Fragile Watermarking

(Thủy vân yếu)
Imperceptible
Watermarking
(Th

y vân

n)

Visible
Watermarking
(Th

y vân hi

n)

Hình 1.1 Sơ đồ phân loại giấu tin
Đồ án tốt nghiệp Trang 9 GVHD: Th.s Trần Minh Văn
SVTH: Trương Minh Thịnh
Có thể chia lĩnh vực giấu tin thành hai hướng chính: đó là watermarking và
steganography. Nếu như watermarking (thủy vân) quan tâm nhiều đến ứng dụng giấu
các mẫu tin ngắn nhưng đòi hỏi sự bền vững của thông tin cần giấu (trước các biến đổi
thông thường của đối tượng chứa) thì steganography lại quan tâm tới ứng dụng che
giấu các bản tin đòi hỏi độ bí mật và dung lượng càng lớn càng tốt. Đối với từng
hướng, quá trình phân loại theo các tiêu chí khác có thể tiếp tục được thực hiện, ví dụ
dựa vào ảnh hưởng tác động từ bên ngoài có thể chia watermarking thành hai loại, một
loại bền vững với tác động sao chép trái phép, loại thứ hai lại cần tính chất hoàn toàn
đối lập: dễ bị phá hủy trước các tác động này. Cũng có thể chia watermarking theo đặc
tính, một loại cần được che giấu để chỉ một số người tiếp xúc với nó có thể thấy được

thông tin, loại thứ hai ngược lại, cần được mọi người nhìn thấy.
1.3 Mô hình giấu tin và giải tin tổng quát
Thông điệp cần giấu và sẽ được nhúng vào phương tiện chứa và được biến đổi
bởi bộ nhúng tin để đảm bảo an toàn cho thông điệp đồng thời hạn chế tối đa sự thay
đổi bên ngoài cho phương tiện chứa. Thông điệp chỉ được trích xuất ra từ phương tiện
chứa đã được nhúng khi có hóa bí mật này.
Phương tiện chứa
đã được giấu tin
Bộ nhúng
tin
Phương tiện chứa
(video, audio, ảnh)
Thông tin cần giấu
Khóa bí mật
Phương tiện chứa
đã được giấu tin
Bộ nhúng
tin
Phương tiện chứa
(video, audio, ảnh)
Thông tin cần giấu
Khóa bí mật
Phương tiện chứa
đã được giấu tin
Bộ nhúng
tin
Phương tiện chứa
(video, audio, ảnh)
Thông tin cần giấu
Khóa bí mật

Bộ nhúng
tin
Phương tiện chứa
(video, audio, ảnh)
Thông tin cần giấu
Khóa bí mật

Hình 1.2 Mô hình giấu tin
Đồ án tốt nghiệp Trang 10 GVHD: Th.s Trần Minh Văn
SVTH: Trương Minh Thịnh
1.4 Sự khác biệt giũa steganography, watermarking và cryptography
Cả 3 phương pháp trên đều hướng tới việc đảm bảo an toàn cho nguồn tin truyền
giữa người gửi và người nhận. Tuy nhiên chúng có những cách thức khác nhau và
chúng ta cần làm rõ hơn về điều này.
Mật mã học hay cryptography là việc bảo vệ nội dung của thông điệp bằng cách
làm biến đổi thông điệp để thông điệp trở nên vô nghĩa, còn đối với
steganography/watermarking đề cập đến sự che giấu bản tin hay che đậy sự tồn tại của
chúng trong một đối tượng không có ý nghĩa cơ mật. Steganography/watermarking do
đó cũng được gọi là sự ẩn thông tin trong thông tin khác và nó áp dụng cả đặc điểm thị
giác và thính giác của con người.
Sự thành công của kẻ tấn công các phương thức trên cũng có sự khác nhau. Đối
với cryptography, kẻ tấn công khi đã đọc được thông điệp bí mật thì đó chính là thành
công trong việc phá vỡ rào cản đối với thông điệp đó. Tuy nhiên, đối với
steganography/ watermarking thì người tấn công phải thực hiện tới hai công đoạn, một
là phải phát hiện được có thông tin mật đang được giấu hay không, hai là có thể đọc,
Phương tiện chứa
đã có tin giấu bên trong
Bộ nhúng
tin
Phương tiện chứa

đã có tin giấu bên trong
Thông tin cần giấu
Khóa bí mật
Phương tiện chứa
đã có tin giấu bên trong
Bộ nhúng
tin
Phương tiện chứa
đã có tin giấu bên trong
Thông tin cần giấu
Khóa bí mật

Hình 1.3 Mô hình giải tin
Đồ án tốt nghiệp Trang 11 GVHD: Th.s Trần Minh Văn
SVTH: Trương Minh Thịnh
sửa đổi hoặc xóa bỏ thông điệp đó hay không.
Tuy steganography/watermarking tạo ra nhiều rào cản hơn nhằm làm tăng sự khó
khăn cho đối thủ nhưng khi việc phát hiện có thông điệp chứa trong đối tượng mang thì
độ an toàn của chúng lại không còn cao nữa.
Watermarking và steganography có những khác biệt cũng không rõ ràng.
Watermarking cũng sẽ giấu thông điệp vào trong đối tượng chứa, và đối tượng chứa
này khi đã được giấu tin vào thì không thể phân biệt với nguyên bản. Nhưng đối với
watermarking, theo một cách nào đó thì kẻ xấu không thể xóa hoặc sửa đổi thông điệp
bên trong đới tượng chứa.
Steganography do đó không chú trọng nhiều đến việc xóa bỏ hay biến đổi thông
điệp được che giấu bên trong, nhưng đối với watermarking điều này trở nên vô cùng
quan trọng.
Thường thì mục đích của steganography và cryptography là bảo vệ thông điệp
giữa hai người hay hai đối tượng với nhau, còn watermarking thì lại khác, nó có vai trò
bảo vệ thông điệp giữa một người hoặc một đối tượng với nhiều người, nhiều đối

tượng khác.
1.5 Một số ứng dụng được triển khai
Ø Bảo vệ quyền tác giả (Copyright protection): đây là ứng dụng cơ bản nhất của
kỹ thuật thủy vân. Một thông tin nào đó mang ý nghĩa quyền sở hữu của tác giả
(gọi là thủy vân : watermarking) sẽ được nhúng vào trong các sản phẩm, thủy
vân đó chỉ người 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 dữ liệu dạng đa phương tiện như
ảnh, âm thanh, video, cần được lưu thông trên mạng, để bảo vệ các sảm phẩm,
chống lại việc lấy cắp hoặc làm nhái thì cần phải có một số kỹ thuật để “đóng
dấu bản quyền” vào các sản phẩm này. Việc dán tem chính là việc nhúng thủy
Đồ án tốt nghiệp Trang 12 GVHD: Th.s Trần Minh Văn
SVTH: Trương Minh Thịnh
vân nhưng cần phải đảm bảo không làm ảnh hưởng đế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 hủy bỏ thủy vân này mà không được phép của chủ sở hữu
thì chỉ có cách hủy sản phẩm.
Ø Chứng thực thông tin hay phát hiện xuyên tạc thông tin: Một tập 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ữ iệu
trên phương tiện gốc có bị thay đổi hay không? Các thủy vân nên được ẩn để
tránh sự tò mò của những người không có trách nhiệ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ầ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í 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 đ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à thuỷ vân
không cần bền vững.
Ø Dấu vân tay hay dán nhãn (fingerprinting and labeling): Thuỷ vân 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 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 ứng

dụng này thì yêu cầu là đảm bảo độ an toàn cao cho các thuỷ vân tránh sự xoá
dấu vết trong khi phân phối.
Ø Điều khiển truy cập (copy control): Các thuỷ vân trong những trường hợp này
được sử dụng để điều khiển truy cập đối với các thông tin. Các thiết bị phát hiện
ra thuỷ vân thường được gắn sẵn vào trong các hệ thống đọc ghi. Các ứng dụng
loại này cũng yêu cầu thuỷ vân phải được bảo đảm an toàn và cũng sử dụng
phương pháp phát hiện thuỷ vân đã giấu mà không cần thông tin gốc.
Đồ án tốt nghiệp Trang 13 GVHD: Th.s Trần Minh Văn
SVTH: Trương Minh Thịnh
Ø Chú giải: Các thông tin giấu được trong những trường hợp này càng nhiều càng
tốt.
1.6 Môi trường giấu tin
Kỹ thuật giấu tin đã được nghiên cứu và áp dụng trong nhiều môi trường dữ liệu
khác nhau như trong dữ liệu đa phương tiện (text, image, audio, video), trong sản phẩm
phần mềm và gần đây là những nghiên cứu trên môi trường cơ sở dữ liệu quan hệ.
Trong các môi trường dữ liệu đó thì dữ liệu đa phương tiện là môi trường chiếm tỉ lệ
chủ yếu trong các kỹ thuật giấu tin.
1.6.1 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 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 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. Các phương pháp giấu thông tin trong audio đều lợi
Đồ án tốt nghiệp Trang 14 GVHD: Th.s Trần Minh Văn
SVTH: Trương Minh Thịnh
dụng điểm yếu trong hệ thống thính giác của con người.
1.6.2 Giấu thông tin trong video
Cũng giống như giấu thông tin trong ảnh hay 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, chứng 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. 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.
1.6.3 Giấu tin trong ảnh số
Giấu thông tin trong ảnh, hiện nay, 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 ảnh là rất lớn và hơn nữa giấu thông tin trong ảnh
cũng đóng vai trò hết sức quan trọng trong các hầu hết các ứng dụng bảo vệ an toàn
thông tin như: chứng 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 Chính vì thế mà vấn đề này đã nhận được
sự quan tâm rất lớn của các nhà khoa học, cá nhân, tổ chức, trường đại học, và viện
nghiên cứu trên thế giới.
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à
không thể biết được đằng sau ảnh đó mang những thông tin có ý nghĩa. 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 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à lưu trữ sử dụ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 để nhận thực trong các thẻ
Đồ án tốt nghiệp Trang 15 GVHD: Th.s Trần Minh Văn
SVTH: Trương Minh Thịnh
tín dụng của người tiêu dùng. Phần mềm Office Word của MicroSoft cũng cho phép
người dùng lưu trữ chữ kí trong ảnh nhị phân rồi gắn vào vị trí nào đó trong file văn
bản để đảm bảo tính an toàn của thông tin. Tài liệu sau đó được truyền trực tiếp qua
máy fax hoặc lưu truyền trên mạng. Theo đó, việc chứng thực chữ kí, xác thực thông
tin đã trở thành một vấn đề cực kì quan trọng khi mà việc ăn cắp thông tin hay xuyên
tạc thông tin bởi các tin tặc đang trở thành một vấn nạn đối với bất kì quốc gia nào, tổ
chức nào.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 như
những thông tin về an ninh, thông tin về bảo hiểm hay các thông tin về tài chính, các
thông tin này được số hoá và lưu trữ trong hệ thống máy tính hay trên mạng. Chúng rất
dễ bị lấy cắp và bị thay đổi bởi các phần mềm chuyên dụng. Việc chứng 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, cấp thiết. Và 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, nó 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 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 xám.
Đã có rất nhiều phương pháp giấu tin trên ảnh số được đề ra như kỹ thuật Wu-Lee
được đưa ra bởi M.Y.Wu và J.H.Lee trong Proceeding of international Symposium on
Multimedia Information Processing 1999. Nhưng thuật toán này vẫn chưa đạt được
những yêu cầu cần thiết về khả năng giấu tin, độ an toàn trước các kiểu tấn công cũng
như chất lượng ảnh sau khi giấu tin vào. Để cải thiện được các nhược điểm trên, Yu-
Yuan, Hsiang-Kuang Pan và Yu-Chee Tseng (Department of Computer Science and
Information Engineering National Chiao Tung University Hsin-Chu, 30050, Taiwan)
đã đề xuất thuật toán khắc phục và được sử dụng phổ biến. Chi tiết thuật toán sẽ được
nêu rõ trong phần sau của báo cáo.
Tính bảo mật của tài liệu thường được thực hiện thông qua phương pháp mã hóa
tài liệu đó. Mặc dù mã hóa được sử dụng khá phổ biến nhưng nó không tránh khỏi
Đồ án tốt nghiệp Trang 16 GVHD: Th.s Trần Minh Văn

SVTH: Trương Minh Thịnh
những hạn chế phát sinh trong khi việc tấn công của kẻ xấu ngày càng tinh vi và thông
minh hơn. Để hạn chế nội dung của tài liệu bị lộ, kẻ xấu có ít cơ hội hơn để tìm ra nội
dung của tài liệu thì Steganography (giấu tin) đã ra đời. Steganography khác với mật
mã hóa ở chỗ nó che giấu các thông tin mật trong các tài liệu mà các tài liệu này không
cần bảo mật nhằm đánh lừa kẻ xấu phát hiện thông tin bên trong nó. Vì thế
Steganography được gọi là data/information hiding.
Để hiểu rõ hơn về steganography chúng ta đến với ví dụ đơn giản về quá trình
truyền tin giữa Alice và Bob, như sau:
Alice và Bob yêu nhau và muốn ở bên nhau nhưng gặp phải sự phản đối của hai
gia đình, hai người bị giám sát chặt chẽ và gặp mặt nhau đối với họ hiện tại là một
việc bất khả thi. Không chịu nổi sự chia rẽ, cuối cùng hai người cũng đã đi đến quyết
định giải thoát cho mình. Và, Alice muốn gửi một thông điệp cho Bob rằng hai người
sẽ cùng nhau trốn gia đình để cao bay xa chạy , sống một cuộc sống hạnh phúc. Alice
gửi cho Bob kế hoạch trốn chạy khỏi sự ngăn cản của hai gia đình. Tuy nhiên, nếu
Alice mã hóa bản kế hoạch và gửi cho Bob thì mặc dù gia đình Bob không biết được
nội dung của thông điệp trên nhưng họ sẽ hủy nó đi và càng quyết liệt hơn để chia cắt
hai người. Cho nên Alice và Bob phải tìm một cách hữu hiệu nhất che đậy bản kế
hoạch và qua mắt được gia đình mình.
Vấn đề nan giải của Alice và Bob sẽ được giải quyết nếu họ tìm đến với kỹ thuật
giấu tin.
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
Đồ án tốt nghiệp Trang 17 GVHD: Th.s Trần Minh Văn
SVTH: Trương Minh Thịnh
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á.




Đồ án tốt nghiệp Trang 18 GVHD: Th.s Trần Minh Văn
SVTH: Trương Minh Thịnh
CHƯƠNG 2. ẢNH SỐ
2.1 Giới thiệu về ảnh số
Một ảnh số biễu diễn một hình ảnh hai chiều bằng các số 0 và 1. Tùy thuộc vào
độ phân giải của ảnh mà ảnh được chia làm hai loại là vector và raster. Ảnh số, không
quan tâm đến chất lượng ảnh, thường được hiểu là ảnh raster hay còn gọi là ảnh
bitmap.
2.2 Ảnh raster
Ảnh raster là ảnh chứa tập các giá trị các số và thường được gọi là các thành phần
của ảnh hay pixel. Một pixel là một thành phần bé nhất trong một ảnh đóng vai trò lưu
giữ giá trị lượng tử về độ sáng của một màu cụ thể nào đó tại một vị trí của ảnh.
Thông thường, tập các pixel được lưu trữ trong bộ nhớ máy tính như một ma trận
hai chiều gồm các số integer. Các giá trị này có thể đã được chuyển đổi và lưu dưới
dạng các giá trị đã được nén.
Ảnh raster có thể tìm thấy từ nhiều thiết bị khác nhau với các công nghệ tạo ảnh
khác nhau như: máy ảnh số, máy quét, …
Khi một hình ảnh raster được tạo ra, hình ảnh được chuyển đổi thành điểm ảnh.
Mỗi điểm ảnh được gán một giá trị cụ thể quyết định màu sắc của nó. Hệ thống hình
ảnh raster sử dụng hệ thống (RGB) màu đỏ, xanh lá cây, màu xanh lam. Một giá trị
RGB (0,0,0) sẽ là màu đen, và các giá trị nằm trong khoảng từ 0 đến 256 cho mỗi kênh
màu, cho phép biểu diễn một loạt các giá trị màu.
Tùy thuộc vào độ phân giải, một số hình ảnh raster có thể được mở rộng để kích
thước rất lớn nhưng vẫn rõ nét, trong khi những ảnh khác trở nên mờ nhạt, vỡ nét gây
cảm giác khó coi. Độ phân giải càng cao thì dung lượng ảnh càng lớn, và ngược lại độ

phân giải càng thấp thì dung lượng file ảnh càng nhỏ. Vì lý do này, khi thao tác với ảnh
Đồ án tốt nghiệp Trang 19 GVHD: Th.s Trần Minh Văn
SVTH: Trương Minh Thịnh
ta cần chọn ra sự cân bằng giữa độ phân giải của ảnh và dung lượng file ảnh.
Độ phân giải của ảnh số tượng trưng cho số lượng điểm ảnh trên một inch (PPI)
hoặc số lượng chấm trên một inch (DPI) trong hình ảnh. Độ phân giải càng cao, số
lượng các điểm ảnh càng lớn, điều này cho phép khi ảnh phóng to sẽ dễ nhìn hơn.
2.2.1 Các loại ảnh raster
Mỗi pixel của ảnh raster thông thường gắn với một vị trí xác định trong ma trận 2
chiều và có giá trị gồm một hoặc nhiều mẫu (samples) liên quan đến vi trí đó. Ảnh số
có thể phân lớp dựa trên số lượng và bản chất của các mẫu này:
v Ảnh nhị phân (binary)
v Ảnh xám (grayscale)
v Ảnh màu (color)
v Ảnh màu giả (false-color)
v Ảnh chuyên đề (thematic)
v Ảnh chức năng (picture function)
Thuật ngữ ảnh kỹ thuật số cũng được áp dụng cho dữ liệu liên quan đến các điểm
rải rác trên một không gian ba chiều, chẳn hạn như ảnh được sản xuất bởi các thiết bị
tomographic. Trong trường hợp đó, mỗi đơn vị dữ liêu gọi là voxel.
2.2.2 Định dạng ảnh raster
Phần lớn chúng ta thường tiếp xúc với ảnh raster thông qua các máy ảnh kỹ thuật
số. Một số máy ảnh kỹ thuật số cho phép can thiệp vào hầu như các dữ liệu chụp được
ở dạng định dạng ảnh thô. Ta nên sử dụng định dạng này khi có thể bởi vì từ dữ liệu
thô này chúng ta có thể cho ra các ảnh ở chất lượng tốt nhất. Định dạng file này cho
Đồ án tốt nghiệp Trang 20 GVHD: Th.s Trần Minh Văn
SVTH: Trương Minh Thịnh
phép các nhiếp ảnh gia và các tác nhân xử lý có quyền điều khuyển và quyết định độ
chính xác của kết quả đầu ra. Nhưng không may là vẫn có nhưng rào cản về quyền sở
hữu thông tin (bí mật thương mại) đối với các nhà sản xuất máy ảnh kỹ thuật số đối với

việc trên, do đó các tổ chức đang nỗi lực tác động đến các nhà sản xuất để họ công khai
các thông tin này. Một định dạng thay thế khác có thể là DNG (Digital Negative) thuộc
sở hữu của Adobe. Tuy nhiên định dạng này vẫn chưa được chấp nhận rộng rãi.
2.3 Ảnh vector
Ảnh vector được tạo thành từ các thành phần và đối tượng khác nhau. Những đối
tượng này được định nghĩa bởi các phương trình toán học chứ không phải là các điểm
ảnh như ở ảnh raster, do đó, chúng luôn hiển thị ở chất lượng cao nhất. Các đối tượng
này có thể bao gồm đường thẳng, đường cong, các hình học có các thuộc tính có thể
chỉnh sửa như màu sắc, đường biên, … Chúng ta có thể thay đổi các thuộc tính đó mà
vẫn không phá hủy đối tượng cơ bản. Một đối tượng trong ảnh vector không chỉ có thể
sửa đổi bằng cách thay đổi các thuộc tính của nó mà còn bởi việc định hình và chuyển
đổi nó bằng cách sử dụng các điểm nút và các điều khiển xử lý.
Vì ảnh vector có tính “mền dẻo” (scalable), độ phân giải
độc lập, nên ta có thể tăng giảm kích thước của chúng theo
các mức độ khác nhau nhưng chúng vẫn giữ được độ sắc nét,
các đường điểm vẫn không bị vỡ nét.
Ví dụ, một bánh xe trong hình ảnh Vector đuợc tạo bởi
sự định nghĩa về mặt toán học với một đường tròn được vẽ
với bán kính nào đó, một vị trí chỉ định trước và đuợc tô với
một mầu chỉ định. Ta có thể dịch chuyển, thay đổi kích thước
hoặc thay đổi mầu của bánh xe mà không làm giảm chất
lượng của hình ảnh.
Hình 2.1 Bánh xe
Đồ án tốt nghiệp Trang 21 GVHD: Th.s Trần Minh Văn
SVTH: Trương Minh Thịnh
Đối với ảnh vector thì chúng không bị giới hạn trong một hình chữ nhật cố định
giống như bitmap. Các đối tượng vector có thể được đặt chồng lên các đối tượng khác
và các đối tượng kia sẽ được hiển thị xuyên qua đối tượng vector này.






Trong hình ví dụ trên, các hình tròn vector và bitmap đều hiển thị chính xác trên
nền trắng. Nhưng khi chúng ta đặt hình tròn bitmap lên một đối tượng khác thì ta thấy
xuất hiện một hình chữ nhật trắng bao quanh nó.
Mặc dầu vậy, nhưng ảnh vector chỉ phù hợp nhất với kiểu chữ, dòng nghệ thuật,
và minh họa, bởi vì, chúng không thể mô tả được tính liên tục của một bức ảnh thông
thường. Mặc dù vậy nhưng đồ họa vector liên tục phát triển và ngày càng được úng
dụng nhiều. Ảnh vector là sự lựa chọn tốt nhất cho các ảnh thường xuyên phải thay đổi
kích thước để đảm bảo chúng luôn đạt được yêu cầu về độ chính xác và hiển thị tốt.
Ảnh vector chủ yếu được tạo ra từ các phần mền đồ họa. Chúng ta không thể
chuyển đổi một ảnh tự nhiên thành một ảnh vector mà không cần đến sự giúp đỡ của
các phần mền đồ họa này. Tuy nhiên, ảnh vector lại rất dễ dàng chuyển đổi sang ảnh
dạng bitmap, quá trình này gọi là rasterizing. Khi chuyển đổi sang dạng bitmap, chúng
ta có thể chuyển sang ở bất kì kích thước ảnh nào tùy thích trước khi cho ra ảnh bitmap
cuối cùng. Trước khi chuyển sang dạng bitmap, chúng ta cần lưu lại bản sao của ảnh
vector đó. Nếu chúng ta muốn chuyển sang ảnh bitmap có kích thước 100x100 và sau
đó muốn thay đổi thì ta chỉ cần mở lại ảnh vector gốc, chọn kích thước yêu thích và lưu

Hình 2.2 Ảnh vector không bị giới hạn trong một hình chữ nhật
Đồ án tốt nghiệp Trang 22 GVHD: Th.s Trần Minh Văn
SVTH: Trương Minh Thịnh
lại. Việc mở một ảnh vector trong một chương trình chỉnh sửa ảnh bitmap thường phá
vỡ các tính chất của ảnh vector đó.
Ảnh vector thường được chuyển đổi sang dạng bitmap và được dùng nhiều trên
web. Một tiêu chuẩn ảnh vector trên web là SVG (scalable vector graphic), một dạng
đồ họa dựa trên XML. Khi đó các ảnh vector sẽ được chuyển đổi sang dạng GIF hoặc
PNG.
2.4 Các kỹ thuật nén ảnh (image compression)

Nén ảnh là việc áp dụng nén dữ liệu vào hình ảnh kỹ thuật số. Trong thực tế,
mục tiêu là để giảm sự dư thừa của dữ liệu ảnh để có thể lưu trữ hoặc truyền tải dữ liệu
trong một hình thức hiệu quả.
Hình ảnh sau khi nén có thể mất mát dữ liệu hoặc không (lossy hoặc lossless).
Nén không mất dữ liệu là kỹ thuật nén ưu tiên cho mục đích lưu trữ và thường được
dùng trong ảnh chụp y khoa, các bản vẽ kỹ thuật, ảnh nghệ thuật ; hình ảnh sau khi
nén giống hệt với ảnh gốc ban đầu. Nén mất dữ liệu với mục đích loại bỏ các dữ liệu
dư thừa trong ảnh đã có nhằm đạt được dung lượng nhỏ tối đa. Mặc dù dữ liệu ảnh có
sự mất mát nhưng trong điều kiện bình thường thì mắt người vẫn không thể nhận ra
được sự thay đổi đó.
Các kỹ thuật sử dụng trong lossless compression:
Ø Run-length encoding: là phương thức mặc định trong PCX hoặc trong BMP,
TGA, TIFF
Ø DPCM và Predictive Coding
Ø Entropy encoding
Ø Adaptive dictionary algorithms như LZW - sử dụng trong ảnh GIF và TIFF
Đồ án tốt nghiệp Trang 23 GVHD: Th.s Trần Minh Văn
SVTH: Trương Minh Thịnh
Ø Deflation- sử trong các ảnh PNG, MNG và TIFF
Ø Chain codes
Các kỹ thuật sử dụng trong lossy compression:
Ø Loại bỏ không gian màu cho các màu phổ biến trong hình ảnh - các màu được
chọn nằm trong bảng màu thuộc phần header của ảnh nén. Mỗi pixel sẽ tham
chiếu đến một chỉ mục màu trong bảng màu. Phương pháp này thường được
kết hợp với dithering để tránh posterization.
Ø Chroma subsampling - kỹ thuật này dựa trên tính chất cảm nhận của mắt
người đối với sự thay đổi về cường độ sáng và sự thay đổi về màu sắc. Do
đó, bằng cách lấy giá trị trung bình hoặc loại bỏ một vài thông tin màu của
hình ảnh thì ta sẽ được ảnh mới mà chất lượng ảnh vẫn đảm bảo chấp nhận
được.

Ø Transform coding - đây là phương pháp thường được sử dụng. Phương pháp
này sử dụng phép biến đổi Fourier như biến đổi DCT hoặc biến đổi wavelet
đi kèm với lượng tủ hóa và mã hóa entropy.
Ø Fractal compression.
Với mục đích của đề tài là tìm hiểu về ảnh JPEG và giấu tin trong ảnh JPEG nên
đề tài sẽ trình bày rõ về kỹ thuật transform coding trong các chương tiếp theo.
Đồ án tốt nghiệp Trang 24 GVHD: Th.s Trần Minh Văn
SVTH: Trương Minh Thịnh
CHƯƠNG 3. ẢNH BITMAP (BMP) VÀ THUẬT TOÁN LSB ĐƠN GIẢN
3.1 Ảnh BMP
3.1.1 Khả năng lưu trữ
Các file BMP và một số file bitmap tương tự khác thì các đơn vị ảnh (pixel) được
lưu trữ dưới dạng 1, 4, 8, 16, 24 hoặc 32 bits/pixel (color depth). Ảnh 8 bit hoặc ít hơn
thì có thể là ảnh xám hoặc ảnh màu được đánh chỉ mục (indexed color).
Ảnh bitmap không nén thường có kích thước file lớn hơn so với ảnh đã được nén
với cùng một ảnh. Ví dụ như, một ảnh 1058x1058 sẽ có dung lượng lưu trữ là 271 KB
ở dạng PNG nhưng sẽ tốn đến 3358 KB nếu ở dạng ảnh BMP 24-bit . Vì vậy ảnh
không nén không thích hợp trong việc lưu chuyển trên Internet hoặc các phương tiện
có tốc độ chậm hoặc có khả năng lưu trữ nhỏ.
Hình 3.1 Lena.bmp 24bit, 512x512 px, dung lượng 263222 byte
Đồ án tốt nghiệp Trang 25 GVHD: Th.s Trần Minh Văn
SVTH: Trương Minh Thịnh
Tùy thuộc vào độ sâu màu mà mỗi pixel của ảnh sẽ được lưu ít nhất bởi n / 8 byte
(trong đó n là độ sâu màu). Kích thước file cho một ảnh BMP n-bit ( =
n
2
màu) theo
đơn vị byte được tính như sau:




với:
◦ Height, Width là số pixel theo chiều cao và chiều rộng

8£BPP

Trong công thức trên, 54 là kích thước của header trong ảnh Windows V3 BMP
(gồm 14 byte BMP file header và 40 byte DIB V3 header sẽ được nói rõ ở phần sau);
một vài header khác có thể có kích thước lớn hơn hoặc nhở hơn tùy loại.
n
4.2
là kích
thước của bảng màu; kích thước này ở hệ thống OS/2 V1 có độ dài xấp xỉ
n
3.2
byte,
các version khác có thể được định nghĩa chỉ bởi các màu cần thiết trong ảnh đó, có khả
năng là bé hơn
n
2
. Nhưng chỉ đối với các ảnh 8 bit hoặc bé hơn 8 bit trên một pixel
mới sử dụng bảng màu trong phần header, đối với các ảnh có độ sâu màu lớn hơn thì
kích thước sẽ là:

với: BPP > 8
3.1.2 Device-independent bitmaps và định dạng file BMP
Microsoft đã định ra một chuẩn bitmaps riêng biệt với các độ sâu màu khác nhau
để giúp ích cho việc chuyển đổi giữa các thiết bị và ứng dụng với nhiều cách thể hiện

×