Một phương pháp được nhiều nhà khoa học quan tâm nghiên cứu đó là nhúng 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ươn
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LÊ THỊ PHƯƠNG HUYỀN
TÌM HIỂU VÀ NGHIÊN CỨU THUẬT TOÁN PHÁT HIỆN ẢNH CÓ GIẤU TIN BẰNG KỸ THUẬT
GIẤU TIN THUẬN NGHỊCH
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
HÀ NỘI - 2014
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
LÊ THỊ PHƯƠNG HUYỀN
TÌM HIỂU VÀ NGHIÊN CỨU THUẬT TOÁN PHÁT HIỆN ẢNH CÓ GIẤU TIN BẰNG KỸ THUẬT GIẤU TIN THUẬN NGHỊCH
Ngành : Công nghệ thông tin Chuyên ngành : Hệ thống thông tin
LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS TRỊNH NHẬT TIẾN
HÀ NỘI - 2014
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan đây là công trình nghiên cứu độc lập của riêng tôi, không sao chép ở bất kỳ một công trình hoặc một luận văn, luận án của các tác giả khác Các số liệu, kết quả nêu trong luận văn này là trung thực và chưa được công bố trong bất kỳ công trình nào khác Các trích dẫn, các số liệu và kết quả tham khảo dùng để so sánh đều có nguồn trích dẫn rõ ràng
Hà Nội, tháng 6 năm 2014
Tác giả luận văn
Lê Thị Phương Huyền
Trang 4MỤC LỤC
LỜI CAM ĐOAN i
MỤC LỤC iv
DANH MỤC CÁC KÝ HIỆU VIẾT TẮT vii
MỞ ĐẦU viii
Chương 1 TỔNG QUAN VỀ GIẤU TIN TRONG ẢNH VÀ PHÁT HIỆN ẢNH CÓ GIẤU TIN 1
1.1 MỘT SỐ KHÁI NIỆM VỀ GIẤU TIN 1
1.1.1 Khái niệm giấu tin 1
1.1.2 Lịch sử kỹ thuật giấu tin 1
1.1.3 Phân loại các kỹ thuật giấu tin 2
1.1.4 Mô hình kỹ thuật giấu tin 3
1.1.5 Các ứng dụng của kỹ thuật giấu tin 4
1.1.5.1 Bảo vệ bản quyền tác giả 4
1.1.5.2 Xác thực thông tin hay phát hiện xuyên tạc thông tin 5
1.1.5.3 Giấu vân tay hay dán nhãn 5
1.1.5.4 Kiểm soát sao chép 5
1.1.5.5 Giấu tin mật 5
1.1.6 Giấu tin trong ảnh số 6
1.1.7 Đặc trưng của kỹ thuật giấu tin trong ảnh số 7
1.1.7.1 Kỹ thuật giấu tin dựa vào đặc điểm hệ thống thị giác người 7
1.1.7.2 Giấu thông tin trong ảnh nhưng không thay đổi kích thước ảnh 7
1.1.7.3 Đảm bảo chất lượng ảnh sau khi giấu tin 8
1.1.7.4 Thông tin mật sẽ bị sai lệch nếu có biến đổi trên ảnh 8
1.2 PHÁT HIỆN ẢNH CÓ GIẤU TIN 9
1.2.1 Khái niệm 9
1.2.2 Phương pháp phát hiện ảnh có giấu tin 10
Chương 2 GIẤU TIN VÀ PHÁT HIỆN GIẤU TIN TRONG ẢNH SỬ DỤNG KỸ THUẬT LSB 15
2.1 CÁC HƯỚNG TIẾP CẬN KỸ THUẬT GIẤU TIN TRONG ẢNH SỐ15 2.1.1 Giấu tin trong miền không gian (miền quan sát) 15
2.1.2 Các phương pháp dựa vào kỹ thuật biến đổi toán học (miền tần số) 15
2.1.3 Các phương pháp sử dụng mặt nạ giác quan 16
2.2 CẤU TRÚC ẢNH BITMAP 18
2.2.1 Khái niệm 18
2.2.2 Định dạng tệp ảnh bitmap 19
2.2.2.1 Ý nghĩa các phần trong tệp ảnh bitmap 19
Trang 52.2.2.2 Kích thước và giá trị các trường trong tệp ảnh bitmap 20
2.3 KỸ THUẬT GIẤU TIN THEO KHỐI BÍT LBS 24
2.3.1 Khái niệm 24
2.3.2 Mô tả kỹ thuật giấu tin LSB 25
2.3.3 Thuật toán thay thế LSB 26
2.3.3.1 Ý tưởng thuật toán 26
2.3.3.2 Thuật toán giấu 26
2.3.3.3 Thuật toán tách tin 27
2.3.4 Thuật toán thay thế LSB theo tỷ lệ p 27
2.3.4.1 Ý tưởng thuật toán 27
2.3.4.2 Thuật toán giấu 28
2.3.4.3 Thuật toán tách tin 28
2.4 PHÁT HIỆN ẢNH GIẤU TIN SỬ DỤNG KỸ THUẬT LSB DỰA TRÊN HISTOGRAM ẢNH HIỆU 30
2.4.1 Một số khái niệm cơ bản 30
2.4.2 Kỹ thuật phát hiện giấu tin LSB dựa trên Histogram ảnh hiệu 32
2.4.2.1 Phương pháp phát hiện 32
2.4.2.2 Thuật toán phát hiện ảnh có giấu tin sử dụng kỹ thuật LSB 36
2.4.2.3 Kết quả ươ ́ c tính 37
2.4.3 Độ đo đánh giá kỹ thuật phát hiện 37
2.4.4 Thử nghiê ̣m chương trình 39
2.4.4.1 Tâ ̣p ảnh thử nghiê ̣m 39
2.4.4.2 Kết qua ̉ thử nghiê ̣m 42
Chương 3 GIẤU TIN VÀ PHÁT HIỆN GIẤU TIN TRONG ẢNH SỬ DỤNG KỸ THUẬT THUẬN NGHỊCH HKC 47
3.1 KỸ THUẬT GIẤU TIN THUẬN NGHỊCH HKC 47
3.1.1 Tổng quan về kỹ thuật giấu tin thuận nghịch 47
3.1.2 Kỹ thuật giấu tin dựa vào dịch chuyển Histogram ảnh số (NSAS) 48
3.1.3 Kỹ thuật giấu tin dựa vào dịch chuyển Histogram ảnh số (HKC) 50
3.2 PHÁT HIỆN ẢNH GIẤU TIN SỬ DỤNG KỸ THUẬT HKC DỰA TRÊN DỊCH CHUYỂN HISTOGRAM 52
3.2.1 Thuật toán phát hiện kỹ thuật HKC của Kuo 52
3.2.2 Thuật toán phát hiện kỹ thuật HKC của Kuo cải tiến 53
3.2.3 Thuật toán phát hiện kỹ thuật HKC đề xuất 55
3.2.4 Đánh giá các kỹ thuật phát hiện dựa trên các độ đo 56
3.2.5 Nhận xét 57
3.3 PHÁT HIỆN ẢNH GIẤU TIN SỬ DỤNG CÁC KỸ THUẬT GIẤU TIN THUẬN NGHỊCH KHÁC 59
3.3.1 Phát hiện ảnh có giấu tin sử dụng kỹ thuật giấu tin thuận nghịch DIH 59
3.3.1.1 Tóm lược kỹ thuật giấu tin thuận nghịch DIH 59
Trang 63.3.1.2 Phương pháp phát hiện ảnh có giấu tin sử dụng kỹ thuật DIH 59
3.3.2 Phát hiện ảnh giấu tin sử dụng kỹ thuật giấu tin thuận nghịch IWH 60
3.3.2.1 Tóm lược kỹ thuật giấu tin thuận nghịch IWH 60
3.3.2.2 Phương pháp phát hiện ảnh có giấu tin sử dụng kỹ thuật DIH 61
3.3.3 Kết luận 62
Chương 4 CHƯƠNG TRÌNH THỬ NGHIỆM 63
4.1 BÀI TOÁN LẬP TRÌNH 63
4.2 CẤU HÌNH HỆ THỐNG 63
4.2.1 Phần cứng 63
4.2.2 Phần mềm 63
4.3 CÁC THÀNH PHẦN CỦA CHƯƠNG TRÌNH 63
4.4 HƯỚNG DẪN SỬ DỤNG CHƯƠNG TRÌNH 64
4.4.1 Giấu tin trong ảnh 64
4.4.2 Phát hiện giấu tin 65
KẾT LUẬN 67
TÀI LIỆU THAM KHẢO 68
Tiếng Việt 68
Tiếng Anh 69
Trang 7DANH MỤC CÁC KÝ HIỆU VIẾT TẮT
DCT Discrete Cosine Transform
DFT Discrete Fourier Transform
DIB Device – Independent Bitmap
GIF Graphics Interchange Format
HKC Kỹ thuật giấu tin thuận nghịch HKC JPEG Joint Photographic Experts Group LSB Least Significant Bit
NSAS Kỹ thuật giấu tin thuận nghịch NSAS
Trang 8MỞ ĐẦU 1/ ĐẶT VẤN ĐỀ
Trong môi trường phân phối điện tử, việc bảo vệ cho các thông tin có giá trị trong quá trình trao đổi là rất quan trọng và ngày càng 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 được trao đổi, điều đó làm tăng tính
tò mò muốn khám phá để tìm ra được nội dung của bản tin
Một phương pháp được nhiều nhà khoa học quan tâm nghiên cứu đó là nhúng 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 Khi truyền đi phương tiện chứa tin, thông tin mật đã được ẩn giấu nên sẽ giảm tránh được sự tò mò và nghi ngờ từ phía đối phương hơn so với phương pháp mã hóa
Tuy nhiên, việc đảm bảo an toàn thông tin mật khi truyền tin bằng phương tiện chứa cũng là vấn đề không kém phần quan trọng Khi giấu thông tin mật vào phương tiện chứa, vẫn không thể tránh khỏi các cách tấn công khác nhau từ phía đối thủ Thuật toán giấu tin có an toàn hoặc dễ phát hiện hay không cũng là bài toán hóc búa cần đặt ra và có tầm quan trọng không nhỏ Do đó, vấn đề phát hiện giấu tin mật cũng ngày càng được thu hút và chú ý rất nhiều từ phía các nhà khoa học trong cũng như ngoài nước
2/ MỤC ĐÍCH CỦA LUẬN VĂN
Bài toán phát hiện giấu tin có hai vấn đề cần giải quyết: phát hiện thông tin
ẩn tiềm tàng trong phương tiện chứa, và lấy ra được thông điệp đã được ẩn giấu trong phương tiện chứa Có rất nhiều phương pháp phân tích giấu tin mật khác nhau và được nghiên cứu một cách hệ thống, rộng rãi Trong luận văn này tiếp cận bài toán phát hiện giấu tin trong ảnh số bằng cách sử dụng dịch chuyển Histogram để phân tích, từ đó đưa ra kết luận ảnh có giấu tin hay không một cách tương đối hợp lý
Trang 9Luận văn tiến hành trình bày và phân tích dựa trên hai thuật toán giấu tin trong ảnh số là: thuật toán giấu tin bằng kỹ thuật giấu tin vào các bít ít quan trọng LSB và thuật toán giấu tin bằng kỹ thuật thuận nghịch HKC Sau đó dựa trên kết quả phân tích để so sánh và đánh giá khả năng phát hiện giấu tin trong ảnh số có sử dụng thuật toán giấu tin bằng kỹ thuật giấu tin thuận nghịch
3/ BỐ CỤC CỦA LUẬN VĂN
Luận văn gồm 62 trang, được trình bày trong 4 chương, có phần mở đầu, phần kết luận, phần mục lục, phần tài liệu tham khảo Các nội dung cơ bản của luận văn được trình bày theo cấu trúc như sau:
Chương 1: Tổng quan về giấu tin trong ảnh và phát hiện ảnh có giấu tin
Trình bày một cách tổng quan về giấu tin trong ảnh, khái niệm, phân loại
và các ứng dụng của kỹ thuật giấu tin, các đặc trưng của kỹ thuật giấu tin trong ảnh số Bên cạnh đó trình bày tổng quan về phát hiện ảnh có giấu tin, bài toán phát hiện ảnh có giấu tin và các phương pháp tiếp cận bài toán phát hiện ảnh có giấu tin
Chương 2: Giấu tin và phát hiện giấu tin trong ảnh sử dụng kỹ thuật LSB
Trong chương 2 rất nhiều các khái niệm, định nghĩa được trình bày nhằm làm rõ hơn các thuật ngữ và vấn đề liên quan cho thuật toán giấu tin theo khối bít LSB và khả năng phát hiện giấu tin của thuật toán như: hướng tiếp cận giấu tin, cấu trúc ảnh BITMAP, các khái niệm về điểm ảnh, giá trị mức xám, histogram, histogram ảnh hiệu… Thuật toán giấu tin theo khối bít LSB cũng được trình bày rõ ràng trong chương này Bên cạnh đó trình bày phương pháp phát hiện ảnh có giấu tin sử dụng thuật toán giấu tin theo khối bít LSB bằng Histogram ảnh hiệu, phương pháp đánh giá kỹ thuật phát hiện và kết quả thu được từ chương trình thử nghiệm
Trang 10Chương 3: Giấu tin và phát hiện giấu tin trong ảnh sử dụng kỹ thuật thuận nghịch HKC
Trình bày tổng quan về kỹ thuật giấu tin thuận nghịch, kỹ thuật giấu tin thuận nghịch dựa vào dịch chuyển Histogram của NSAS, kỹ thuật giấu tin thuận nghịch dựa vào dịch chuyển Histogram của HKC Chương này cũng trình bày các thuật toán phát hiện kỹ thuật giấu tin HKC của Kuo, thuật toán phát hiện kỹ thuật giấu tin HKC của Kuo được cải tiến, kèm theo đó là các kết quả thử nghiệm và đánh giá, từ đó so sánh và nhận xét với kết quả thử nghiệm, đánh giá
ở chương 2 để đưa ra kết luận
Chương 4: Chương trình thử nghiệm
Trình bày bài toán lập trình đặt ra để xây dựng chương trình, cách thức sử dụng và thử nghiệm chương trình phát hiện ảnh có giấu tin sử dụng thuật toán giấu tin theo khối bít LSB
Trang 11Chương 1 TỔNG QUAN VỀ GIẤU TIN TRONG ẢNH VÀ PHÁT HIỆN
ẢNH CÓ GIẤU TIN 1.1 MỘT SỐ KHÁI NIỆM VỀ GIẤU TIN
1.1.1 Khái niệm giấu tin
“Giấu thông tin” gọi tắt là “Giấu tin”, tiếng Hi Lạp là “Steagnography”, tiếng Anh là “Cover Writing” “Giấu thông tin” là một kỹ thuật nhúng (giấu) một lượng thông tin số nào đó vào trong một đối tượng dữ liệu số khác [1]
Kỹ thuật giấu thông tin nhằm mục đích đảm bảo an toàn và bảo mật thông tin theo hai khía cạnh: Một là bảo mật cho dữ liệu được đem giấu, hai là bảo vệ cho chính đối tượng được giấu tin ở trong dữ liệu mang (host data) Hai mục đích khác nhau này dẫn đến hai kỹ thuật chủ yếu của giấu tin Hướng thứ nhất là
giấu tin mật (steganogaphy), nhằm tập trung vào các kỹ thuật giấu tin sao cho
người khác khó phát hiện được đối tượng có chứa thông tin mật bên trong
Hướng thứ hai là thuỷ vân số (watermarking), hướng thuỷ vân số có miền ứng
dụng lớn hơn nên được quan tâm nghiên cứu nhiều hơn và thực tế đã có rất nhiều kỹ thuật được đề xuất
1.1.2 Lịch sử kỹ thuật giấu tin
Từ “Steganography” bắt nguồn từ tiếng Hi Lạp Từ “stegano” trong tiếng
Hi Lạp có nghĩa là “covered”, còn “graphien” có nghĩa là “to write” Như vậy,
“steganography” 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ệ Có lẽ những ghi chép sớm nhất về kỹ thuật giấu thông điệp thuộc về sử gia Hi Lạp Herodotus Khi bạo chúa Hi Lạp là Histiaeus bị vua Darius bắt giữ ở Susa vào thế kỷ thứ V trước Công nguyên, ông ta đã thông minh mưu trí sử dụng một hình thức gửi thông tin bí mật cho con rể của mình là Aristagoras ở Miletus Histiaeus cạo trọc đầu một tên nô lệ tin cậy và xăm thông điệp bí mật lên trên da đầu của anh ta Khi tóc của người nô lệ mọc ra đủ dài và che kín hết thông điệp
bí mật đã xăm thì người nô lệ được gửi tới Miletus Quân của Darius không thể phát hiện ra thông điệp bí mật đã được giấu trên đầu tên nô lệ
Trang 12Một câu chuyện khác về thời Hi Lạp cổ đại cũng do Herodotus ghi lại Môi trường để ghi văn bản chính là các viên thuốc được bọc trong sáp ong Demeratus, một người Hi Lạp yêu nước định báo cho Sparta rằng Xerxes sẽ xâm chiếm Hi Lạp Để tránh bị phát hiện, anh ta đã bóc lớp sáp ong ra khỏi các viên thuốc và khắc thông báo lên bề mặt các viên thuốc này, sau đó bọc lại các viên thuốc bằng một lớp sáp ong mới Những viên thuốc mang tin mật đã được ngụy trang để cùng với các viên thuốc thông thường khác lọt qua mọi sự kiểm soát Mực không màu là phương tiện hữu ích cho bảo mật thông tin trong một thời gian dài Người Romans cổ đã biết sử dụng những chất sẵn có như nước quả, nước tiểu và sữa để viết thông báo bí mật vào giữa các hàng văn tự thông thường Khi được hơ nóng, những thứ mực này do có sẵn muối và gluco nên trở thành sẫm mầu và có thể đọc được
Ý tưởng về che giấu thông tin đã có hàng ngàn năm 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 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 nhiều công trình nghiên cứu Sự phát triển của thông tin số và mạng truyền thông (đặc biệt là mạng Internet) cùng với các kỹ thuật sao chép hoàn hảo, kỹ thuật chỉnh sửa, thay thế tinh vi đã
và đang làm nảy sinh nhiều vấn đề nhức nhối về nạn ăn cắp bản quyền, xuyên tạc trái phép, lan truyền thông tin bất hợp pháp
1.1.3 Phân loại các kỹ thuật giấu tin
Do kỹ thuật giấu tin số mới được hình thành trong thời gian gần đây, nên
xu hướng phát triển vẫn chưa ổn định Có nhiều cách phân loại khác nhau dựa trên những tiêu chí khác nhau Theo Fabien A.P Petitcolas đề xuất năm 1999,
có thể chia lĩnh vực giấu tin thành hai hướng lớn, đó là giấu tin mật và thủy vân
số [6]
Giấu tin mật với mục đích bảo toàn và bảo mật thông tin, tập trung vào các
kỹ thuật giấu thông tin, sao cho người khác khó phát hiện việc có tin được giấu; hơn nữa nếu phát hiện có tin giấu thì giải tin cũng khó thực hiện
Trang 13Thủy vân số lại được chia thành hai hướng nhỏ là thủy vân dễ vỡ và thủy vân bền vững Trong đó thủy vân dễ vỡ yêu cầu thông tin giấu sẽ bị sai lệch nếu
có bất kỳ sự thay đổi vào trên môi trường chứa tin Thủy vân bền vững quan tâm nhiều đến việc nhúng tin đòi hỏi độ bền cao trước các biến đổi thông thường trên môi trường chứa tin
Hình 1.1 Phân loại các kỹ thuật giấu tin
1.1.4 Mô hình kỹ thuật giấu tin
Mô hình của kỹ thuật giấu tin được mô tả trong hình 1.2 và 1.3
Hình 1.2 biểu diễn quá trình giấu tin cơ bản Trong đó, phương tiện chứa tin có thể bao gồm: văn bản, ảnh, audio, video… Thông tin cần giấu tùy theo mục đích của người sử dụng, nó có thể là các thông điệp, các logo, hình ảnh bản quyền… Thông tin được giấu vào trong phương tiện chứa tin nhờ môt bộ nhúng
Bộ nhúng là chương trình theo thuật toán giấu tin và được thực hiện với một khóa bí mật giống như trong hệ mật mã Đầu ra của quá trình giấu tin là phương tiện chứa đã giấu tin Các phương tiện này có thể được phân phối trên mạng [5]
Trang 14Hình 1.2 Lược đồ quá trình giấu tin
Hình 1.3 mô tả quá trình tách tin đã giấu từ môi trường giấu tin Với đầu vào là phương tiện đã chứa tin giấu, một bộ tách tin (tương ứng với bộ nhúng) cùng với khóa sẽ thực hiện việc tách tin Đầu ra của quá trình là phương tiện chứa tin và thông tin đã giấu Trong trường hợp cần thiết, thông tin giấu lấy ra
có thể được xử lý, kiểm định và so sánh với thông tin đã giấu ban đầu
Hình 1.3 Lược đồ tách tin giấu
1.1.5 Các ứng dụng của kỹ thuật giấu tin
1.1.5.1 Bảo vệ bản quyền tác giả
Đây là ứng dụng cơ bản nhất của kỹ thuật thủy vân số Một thông tin nào
đó mang ý nghĩa quyền sở hữu gọi là thủy vân sẽ được nhúng vào trong sản phẩm Thủy vân đó chỉ một mình người chủ sở hữu hợp pháp sản phẩm đó có,
và được dùng làm minh chứng cho bản quyền sản phẩm
Trang 15Yê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á hủy sản phẩm [13].
1.1.5.2 Xác thực thông tin hay phát hiện xuyên tạc thông tin
Một thông tin sẽ được giấu trong phương tiện chứa, sau đó sử dụng để nhận biết xem phương tiện gốc đó có bị thay đổi hay không Thủy vân nên được ẩn để tránh sự tò mò của kẻ thù, hơn nữa việc làm giả thủy vân hợp lệ hay xuyên tạc thông tin nguồn cũng được xem xét
Trong các ứng dụng thực tế, người ta mong muốn tìm được vị trí bị xuyên tạc cũng như phân biệt được các thay đổi Yêu cầu chung đối với các ứng dụng
là khả năng giấu thông tin cao và thủy vân không cần bền vững
1.1.5.3 Giấu vân tay hay dán nhãn
Thủy vân trong ứng dụng này được dùng để nhận diện người gửi hay người nhận của một thông tin nào đó Yêu cầu của ứng dụng này là đảm bảo độ an toàn cao cho thủy vân
1.1.5.4 Kiểm soát sao chép
Các thủy vân trong trường hợp này được dùng để kiểm soát sao chép đối với các thông tin Thiết bị phát hiện ra thủy vân thường được gắn sẵn vào trong
hệ thống đọc ghi Ứ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
1.1.5.5 Giấu tin mật
Thông tin được giấu trong những trường hợp này cần được bảo mật trước các đối thủ Việc giải mã để nhận được thông tin cũng không cần dữ liệu môi trường gốc Bên nhận được thông tin chỉ cần dựa vào thuật toán giấu tin để khôi phục lại thông tin mật
Đối với các thuật toán giấu tin mật chúng ta không chú trọng đến việc bảo
vệ thông tin mật trước sự tấn công của các đối thủ mà thay vào đó các thuật toán
Trang 16quan tâm đến tính ẩn và tính an toàn đối với dữ liệu cần giấu Do đó, các thuật toán giấu tin có độ bảo mật cao sẽ được sử dụng trong ứng dụng giấu tin mật
1.1.6 Giấu tin trong ảnh số
Hiện nay, giấu thông tin trong ảnh là một bộ phận chiếm tỉ lệ lớn nhất trong các chương trình ứng dụng, trong các phần mềm, hay các 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 Hơn nữa giấu thông tin trong ảnh cũng đóng vai trò hết sức quan trọng trong hầu hết các ứng dụng bảo vệ an toàn thông tin như: nhận thực thông tin, xác định xuyên tạc thông tin, bảo vệ bản quyền tác giả, điều khiển truy cập, giấu thông tin mật Chính vì thế mà giấu tin trong ảnh đã ngày càng nhận được sự quan tâm rất lớn của các cá nhân, tổ chức, trường đại học, và viện nghiên cứu 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à chẳng ai biết được đằng sau ảnh đó mang những thông tin có ý nghĩa Và ngày nay, khi ảnh số đã được sử dụng rất phổ biến, thì giấu thông tin trong ảnh
đã đem lại nhiều những ứng dụng quan trọng trên các 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ẻ tín dụng của người tiêu dùng
Phần mềm WinWord 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 nhận 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
Trang 17Việc nhận thức cũng như phát hiện thông tin xuyên tạc đã trở nên vô cùng quan trọng, cấp thiết Và một đặc điểm của giấu thông tin trong ảnh nữa đó là thông tin được giấu một cách vô hình Nó như là 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
1.1.7 Đặc trưng của kỹ thuật giấu tin trong ảnh số
Giấu tin trong ảnh chiếm tỉ trọng lớn trong các ứng dụng giấu tin, vì vậy
mà các nghiên cứu cũng tập trung vào các lĩnh vực giấu tin trong ảnh Các phương tiện chứa khác nhau thì cũng sẽ có các kỹ thuật giấu khác nhau
Đối tượng ảnh là một đối tượng dữ liệu tĩnh có nghĩa là dữ liệu tri giác không biến đổi theo thời gian Dữ liệu ảnh có nhiều định dạng, mỗi định dạng có những tính chất khác nhau nên các kỹ thuật giấu tin trong ảnh thường chú ý những đặc trưng và các tính chất cơ bản sau đây:
1.1.7.1 Kỹ thuật giấu tin dựa vào đặc điểm hệ thống thị giác người
Giấu tin trong ảnh ít nhiều cũng gây ra những thay đổi trên dữ liệu ảnh gốc
Dữ liệu ảnh được quan sát bằng hệ thống thị giác của con người nên các kỹ thuật giấu tin phải đảm bảo một yêu cầu cơ bản là những thay đổi trên ảnh phải rất nhỏ, sao cho bằng mắt thường khó nhận ra được sự thay đổi đó vì có như thế thì mới đảm bảo được độ an toàn cho thông tin giấu Rất nhiều các kỹ thuật đã lợi dụng các tính chất của hệ thống thị giác để giấu tin chẳng hạn như mắt người cảm nhận về sự biến đổi về độ chói kém hơn sự biến đổi về màu hay cảm nhận của mắt về màu xanh da trời là kém nhất trong ba màu cơ bản
1.1.7.2 Giấu thông tin trong ảnh nhưng không thay đổi kích thước ảnh
Các thuật toán thực hiện việc giấu thông tin sẽ được thực hiện trên dữ liệu ảnh Dữ liệu ảnh bao gồm cả phần header, bảng màu (có thể có) và giá trị của các điểm ảnh Khi giấu thông tin, các phương pháp giấu đều biến đổi các giá trị trong phần dữ liệu ảnh chứ không thực hiện việc thêm vào hay bớt đi dữ liệu ảnh Do vậy mà kích thước ảnh trước hay sau khi giấu thông tin là như nhau
Trang 181.1.7.3 Đảm bảo chất lượng ảnh sau khi giấu tin
Đây là một yêu cầu quan trọng đối với giấu tin trong ảnh Sau khi giấu tin bên trong, ảnh phải đảm bảo được yêu cầu không được biến đổi quá nhiều dẫn đến dễ dàng phát hiện sự khác biệt giữa ảnh gốc và ảnh có chứa tin Điều đó sẽ khiến cho đối thủ dễ nghi ngờ và tìm cách tấn công để lấy hoặc sửa đổi thông tin mật Vì vậy, trong các kỹ thuật giấu tin khi chúng ta thực hiện thao tác biến đổi điểm ảnh từ đen sang trắng hoặc ngược lại nếu không khéo sẽ rất dễ bị lộ vị trí điểm ảnh đã biến đổi Do đó, với ảnh đen trắng tập trung vào việc làm thế nào
để thông tin giấu khó bị phát hiện nhưng với ảnh màu hay ảnh xám thì chú trọng đến khả năng giấu của thuật toán
1.1.7.4 Thông tin mật sẽ bị sai lệch nếu có biến đổi trên ảnh
Do phương pháp giấu tin trong ảnh dựa trên việc điều chỉnh các giá trị của các bit theo một quy tắc nào đó và khi giải mã sẽ theo các giá trị đó để tìm được thông tin đã giấu Vì vậy, nếu một phép biến đổi nào đó trên ảnh làm thay đổi giá trị của các bit thì thông tin giấu bị sai lệch Nhờ đặc điểm này mà giấu thông tin trong ảnh có tác dụng nhận thức và phát hiện xuyên tạc thông tin
Trang 191.2 PHÁT HIỆN ẢNH CÓ GIẤU TIN
Giống như trong Mật mã, Thám mã (Cryptanalysis) là kỹ thuật đối lập nhằm giải mã các bản mã thu được để hiểu rõ nội dung ban đầu của bản mã, thì phát hiện ảnh có giấu tin (Image Steganalysis) là kỹ thuật đối lập với Image Steganography nhằm dò tìm ảnh số nào đó có giấu thông tin hay không
Việc nghiên cứu Steganalysis ngoài ý nghĩa khoa học còn có hai ý nghĩa
thực tiễn, đó là: Thứ nhất, nhằm phục vụ đắc lực cho lĩnh vực an toàn thông tin; Thứ hai, nhằm nâng cấp và thúc đẩy sự phát triển của kỹ thuật giấu tin trong
ảnh Với hai mục đích nêu trên dẫn đến hai hướng nghiên cứu khác nhau Hướng thứ nhất, cố gắng xây dựng thuật toán phát hiện mù (blind steganalysis) cho ảnh
có giấu tin sử dụng kỹ thuật giấu bất kỳ Hướng thứ hai, dựa vào kỹ thuật giấu tin nào đó đã biết, xây dựng được thuật toán phát hiện có ràng buộc phù hợp (constraint steganalysis)
Các kỹ thuật giấu tin ra đời sau này ngày càng tinh xảo hơn đòi hỏi các nhà phát hiện ảnh giấu tin không ngừng tìm ra phương pháp phát hiện phù hợp bắt kịp với xu hướng phát triển của kỹ thuật giấu Đặc biệt với tốc độ phát triển nhanh chóng của Internet thì nhu cầu trao đổi thông tin bằng ảnh ngày càng lớn mạnh, do đó để đảm bảo an toàn an ninh, quốc phòng hay nhằm hỗ trợ nâng cấp, cải tiến kỹ thuật giấu nào đó an toàn hơn đang là bài toán cấp thiết đặt ra cho các nhà nghiên cứu trong lĩnh vực an toàn thông tin hiện nay
Trang 20Hình 1.4 Lược đồ quy trình phát hiện ảnh có giấu tin
1.2.2 Phương pháp phát hiện ảnh có giấu tin
Nếu ta có rất ít (hoặc không có) các tri thức về các thuật toán giấu tin mật
cũng như các tham số khác thì có hai vấn đề cần giải quyết đó là: Thứ nhất, phát hiện thông tin ẩn tiềm tàng trong các dữ liệu được quan sát Thứ hai, lấy ra
thông điệp ẩn đã giấu trong dữ liệu được quan sát Cũng có khi bài toán đặt ra phải giải quyết cả hai công việc trên
Các kỹ thuật phân tích giấu tin mật hiện tại tập trung vào việc phát hiện ra
sự có mặt hay không các thông điệp ẩn trong dữ liệu (ảnh) được quan sát
Bài toán trích chọn ra các thông điệp bí mật là bài toán khó hơn bài toán phát hiện, nhưng bài toán phát hiện làm tiền đề cho việc trích chọn Như vậy, có thể xác định hai mục tiêu rõ ràng của bài toán phân tích trên hệ giấu tin mật là:
- Bài toán phân tích giấu tin bị động (Passive steganalysis): Phát hiện sự
hiện diện hay không của thông điệp bí mật trong các dữ liệu được quan sát
- Bài toán p hân tích giấu tin chủ động (Active steganalysis): Trích chọn
(có thể xấp xỉ) một phiên bản của thông điệp bí mật từ một phương tiện chứa tin
Theo Fridrich các phương pháp phân tích giấu tin mật có thể gồm các loại sau: Phân tích trực quan, phân tích định dạng ảnh, phân tích thống kê [7,9,11]
1/ Phân tích trực quan: Đây là phương pháp đơn giản nhất mặc dù kết
quả thường không đáng tin cậy Phương pháp này phát hiện khả năng một ảnh
có giấu tin hay không bằng việc phân tích ảnh một cách trực quan và tìm kiếm những “bất thường” dựa vào quan sát hoă ̣c dựa vào biểu đồ Histogram của ảnh trước và sau khi giấu tin
Dữ liệu ảnh hay S
Bộ nhận dạng
Quyết định: Cover hay Stego ? Biến đổi T
(tùy chọn)
Trang 21Nhiều phương pháp giấu tin mật, bao gồm cả giấu tin dựa trên LSB và phương pháp dựa trên DCT đều loại bỏ những biến dạng ở những vùng ảnh mịn hoặc thuần nhất một cách dễ nhận thấy Thật vậy, việc thay đổi bảng mầu (của một ảnh mầu) dù nhỏ để giấu thông điệp bí mật có thể dẫn đến kết quả là sự thay đổi mầu sắc lớn trên ảnh gốc, đặc biệt là nếu ảnh gốc có chứa các mầu sắc khác nhau ở mức độ cao Cũng bởi thực tế là với một ảnh mầu tự nhiên, sự thay đổi bit một trong các mầu là hiếm Mặc dù các kỹ thuật phân tích trực quan là đơn giản, nhưng chúng khó thực hiện một cách tự động và độ tin cậy của chúng vẫn rất đáng ngờ
Hình 1.5 Ảnh cá chép trước và sau khi giấu tin a) ảnh gốc; b) ảnh giấu tin
2/ Phân tích định dạng ảnh: Có nhiều định dạng tệp tin ảnh khác nhau
như BMP, GIF, PNG, JPEG Mỗi loại có đặc điểm và cấu trúc định dạng tệp tin khác nhau
Ảnh BMP là tệp tin ảnh thường, không được nén bằng bất kỳ thuật toán
nén nào, khi lưu ảnh BMP các điểm ảnh sẽ được lưu trực tiếp vào tệp tin, mỗi điểm ảnh được mô tả bởi một byte hay nhiều byte tùy vào số bít trên một điểm ảnh, và do đó ảnh BMP có kích cỡ rất lớn, gấp nhiều lần so với các ảnh được nén như GIF, PNG, JPEG…
Ảnh GIF là một định dạng tệp tin hình ảnh bitmap cho các ảnh dùng ít hơn
256 màu sắc khác nhau và các hoạt hình dùng ít hơn 256 màu cho mỗi khung hình
Trang 22JPEG lại là một trong những phương pháp nén ảnh hiệu quả, có tỷ lệ nén
ảnh lên tới vài chục lần, tuy nhiên ảnh sau khi giải nén sẽ khác với ảnh ban đầu,
chất lượng ảnh bị suy giảm sau khi giải nén Ảnh PNG là một dạng hình ảnh sử
dụng phương pháp nén dữ liệu mới, không làm mất đi dữ liệu gốc
Phương pháp này thường dựa vào các đi ̣nh da ̣ng ảnh khác nhau để đoán nhâ ̣n kỹ thuâ ̣t giấu khác nhau , với ảnh BMP thường hay sử du ̣ng kỹ thuâ ̣t giấu LSB, còn với nhữ ng ảnh nén la ̣i hay sử du ̣ng kỹ thuâ ̣t giấu trên các hê ̣ số biến đổi như DCT, DFT
Khi thực hiện giấu tin trên ảnh BMP với kỹ thuâ ̣t gi ấu tin LSB, sẽ cho sự thay đổi giá tri ̣ màu sắc trên ảnh giấu tin ở các điểm ảnh là khác nhau Và khi thực hiện phát hiện ảnh giấu tin sẽ dựa vào những thay đổi đó để phân tích Với ảnh JPEG [1]: Ảnh JPEG sử dụng phép biến đổi DCT để biến đổi liên tiếp các khối điểm ảnh 8x8 vào ma trận 64 hệ số DCT Bít LSB của các hệ số DCT được sử dụng như là các bít dư thừa mà ta sẽ giấu các các bit thông điệp ẩn vào trong đó
Như vâ ̣y thông điê ̣p không được giấu trực tiếp vào các điểm ảnh như trong
kỹ thuật LSB mà thay vào đó , thông điê ̣p được giấu vào hê ̣ số DCT Sự thay đổi
hệ số DCT đơn lẻ sẽ tác động lên tất cả 64 điểm ảnh Vì lý do đó không thể áp dụng việc phân tích trực quan đối với loại ảnh này
3/ Phân tích thống kê: Theo Plitzman và Westfeld, lý thuyết thống kê có
thể áp dụng để phân tích thống kê các cặp giá trị (PoV – Pairs of Values) nhằm tìm ra sự khác biệt ở bít LSB PoV có thể là cặp giá trị điểm ảnh, cặp các hệ số DCT hoă ̣c cặp các chỉ số bảng mầu PoV nếu là că ̣p hai giá tri ̣ điểm ảnh chẵn
lẻ, sau khi giấu tin bằng phép lâ ̣t bít hai giá tri ̣ này vẫn giữ nguyên tính chất chẵn
lẻ, và chỉ sai khác nhau ở bít thấp nhất Nhờ phương pháp phân tích thống kê, có thể đưa ra nhâ ̣n xét : trước khi giấu tin, trên ảnh không chứa thông điệp (cover image), mỗi cặp hai giá trị là phân phối không đều; còn sau khi giấu tin, giá trị trong mỗi cặp có xu hướng trở nên bằng nhau Kỹ thuật phân tích thống kê dựa trên các că ̣p PoV còn được go ̣i là kỹ thuâ ̣t PoV
Trang 23Có nhiều kỹ thuật PoV khác nhau như PoV 2, PoV2r, PoV3 Trong đó PoV2 kiểm tra phần t răm củ a các điểm ảnh hiê ̣n ta ̣i mô ̣t cách tuần tự bắt đầu từ góc trên trái của ảnh PoV2r cũng kiểm tra mô ̣t cách tuần tự phần trăm các điểm ảnh hiện tại nhưng bắt đầu ở một điểm bất kỳ nào đó trên ảnh sau đó thực hiệ n phép lật bít cho đến điểm ảnh cuối cùng được chọn PoV3 kiểm tra mỗi tổng phần trăm các điểm ảnh từ 1% đến 100% và trả về xác suất của mỗi tập con các điểm ảnh trên ảnh kiểm tra (các điểm ảnh cũng được kiểm tra một cách tuần tự, bắt đầu từ góc bên trên trái của ảnh)
Hơn nữa, nếu các kỹ thuật giấu tin mật giấu các bít thông điệp tuần tự vào các điểm ảnh (hoặc các chỉ số bảng mầu hoặc các hệ số DCT) mô ̣t cách liên tiếp nhau, bắt đầu từ góc trên trái, ta sẽ quan sát được sự thay đổi đột ngột trong các thống kê Đã có rất nhiều kết quả nghiên cứu sử du ̣ng phương pháp phân tích thống kê, hình 1.6 minh ho ̣a mô ̣t tr ong số các nghiên cứu gần đâ y sử du ̣ng kỹ thuâ ̣t PoV3 [3]
Trang 24a) Đồ thị xác suất giấu tin trươ ́ c khi giấu
b) Đồ thị xác suất giấu tin sau khi giấu 50%
Hình 1.6 Minh họa kỹ thuật PoV3 trong phát hiê ̣n ảnh giấu tin
Trang 25Chương 2 GIẤU TIN VÀ PHÁT HIỆN GIẤU TIN TRONG ẢNH SỬ
DỤNG KỸ THUẬT LSB 2.1 CÁC HƯỚNG TIẾP CẬN KỸ THUẬT GIẤU TIN TRONG ẢNH SỐ
Các phương pháp giấu tin trong ảnh số hiện nay chia thành ba nhóm sau:
2.1.1 Giấu tin trong miền không gian (miền quan sát)
Miền không gian ảnh là miền dữ liệu ảnh gốc, tác động lên miền không gian ảnh chính là tác động lên các điểm ảnh, thay đổi giá trị trực tiếp của điểm ảnh Đây là hướng tiếp cận tự nhiên bởi vì khi nói đến việc giấu tin trong ảnh người ta thường nghĩ ngay đến việc thay đổi giá trị các điểm ảnh nguồn Một phương pháp phổ biến của hướng tiếp cận này là phương pháp tác động đến bit
ít quan trọng của mỗi điểm ảnh Các phương pháp như nhúng vào các bit có trọng số thấp (Least Significant Bit), phương pháp Wu-Lee, … Những phương pháp này lấy từng bit của thông điệp mật rồi rải nó lên ảnh mang, làm thay đổi giá trị các điểm ảnh tại các điểm có giấu tin
Tuy nhiên, phương pháp này cũng có nhiều hạn chế, chẳng hạn như không đảm bảo được tính bền vững của thông tin giấu đối với các thao tác biến đổi như quay ảnh hoặc nén ảnh JPEG Điều này là dễ hiểu vì các thao tác nói trên cũng loại bỏ hoặc làm sai lệch các bit ít quan trọng nhất của mỗi điểm ảnh
2.1.2 Các phương pháp dựa vào kỹ thuật biến đổi toán học (miền tần số)
Hướng tiếp cận dựa trên miền không gian ảnh như đã trình bày ở trên, là cách tiến hành khảo sát tín hiệu và hệ thống rời rạc một cách trực tiếp, trên miền giá trị rời rạc của các điểm ảnh gọi là trên miền biến số độc lập tự nhiên Nhưng trong nhiều trường hợp, cách khảo sát trực tiếp này gặp phải những khó khăn nhất định hoặc rất phức tạp và hiệu quả không cao
Ngoài phương pháp khảo sát trực tiếp, có thể dùng phương pháp khảo sát gián tiếp thông qua các kỹ thuật biến đổi Các biến đổi này làm nhiệm vụ chuyển miền biến số độc lập sang các miền khác Tín hiệu và hệ thống rời rạc sẽ được biểu diễn trong các miền mới với các biến số mới
Trang 26Phương pháp biến đổi này cũng giống như phương pháp biến đổi trong phép tính tích phân hay phương pháp đổi hệ toạ độ trong giải tích của toán phổ thông quen thuộc
Mỗi cách biến đổi sẽ có những ưu và nhược điểm riêng, tuỳ từng trường hợp mà chúng ta chọn phép biến đổi nào cho phù hợp Sau khi khảo sát, biến đổi xong các tín hiệu và hệ thống rời rạc trong miền các biến số mới này, nếu cần thiết có thể dùng các biến đổi ngược để đưa chúng trở lại miền biến số độc lập Phương pháp khảo sát gián tiếp sẽ làm đơn giản rất nhiều các công việc gặp phải khi dùng phương pháp khảo sát trực tiếp trong miền biến số độc lập tự nhiên Hệ thống rời rạc cần khảo sát chính là miền không gian các điểm ảnh Có một số phương pháp biến đổi được sử dụng phổ biến như: Fourier (DFT), Cosin rời rạc (DCT), Wavelet, Contourlet… Đây là những phép biến đổi được sử dụng nhiều trong các kỹ thuật xử lý ảnh và âm thanh
Trong giấu tin, đặc biệt trong kỹ thuật thuỷ vân tiếp cận theo miền tần số, các phép biến đổi từ miền biến số tự nhiên của ảnh sang miền tần số như biến đổi Fourier, biến đổi Cosin rời rạc, Wavelet được sử dụng phổ biến
2.1.3 Các phương pháp sử dụng mặt nạ giác quan
Nhóm phương pháp này được thực hiện dựa trên nguyên lý đánh lừa hệ thống giác quan của con người Mặt nạ nghĩa là hiện tượng mắt người không cảm nhận được một tín hiệu nếu nó ở bên cạnh một tín hiệu nhất định nào đó
Nếu phân chia các phương pháp giấu tin theo định dạng ảnh thì chúng ta có hai nhóm chính:
1/ Nhóm phương pháp phụ thuộc định dạng ảnh
Đặc điểm của các phương pháp này là thông tin dễ bị tổn thương bởi các phép biến đổi ảnh Trong nhóm này lại chia ra theo định dạng ảnh mang, ta có các phương pháp khác nhau như phương pháp giấu tin trong ảnh có bảng mầu, ảnh JPEG…
Trang 272/ Các phương pháp độc lập với định dạng ảnh
Các phương pháp này lợi dụng vào việc biến đổi ảnh để giấu tin vào trong
đó Dựa vào các phép biến đổi khác nhau, có các phương pháp giấu tin khác nhau như phương pháp biến đổi theo miền tần số (DCT, DFT, Wavelet); Các phương pháp biến đổi theo miền không gian; Các phương pháp dựa theo biến đổi hình học
Nếu phân loại các phương pháp giấu tin theo đặc điểm kỹ thuật ta có:
1/ Phương pháp thay thế: thay thế bit dữ liệu trong bản đồ bit; Thay thế bảng
mầu
2/ Phương pháp xử lý tín hiệu: Các phương pháp biến đổi ảnh; Các kỹ thuật
điều chế dải phổ
3/ Phương pháp mã hóa (coding): Lượng hóa, dithering, mã hóa sửa lỗi
4/ Phương pháp thống kê – kiểm thử giả thuyết
5/ Phương pháp sinh mặt nạ - Fractal
Trang 282.2 CẤU TRÚC ẢNH BITMAP
2.2.1 Khái niệm
Ảnh Bitmap là định dạng ảnh do Microsoft đề xuất, có phần mở rộng là BMP hoặc DIB (device – independent bitmap), định dạng ảnh này được dùng để lưu trữ ảnh số, phổ biến trên máy tính sử dụng hệ điều hành Windows, OS/2, và các thiết bị điện tử khác Dữ liệu ảnh bitmap là một ma trận điểm ảnh, mỗi điểm ảnh được biểu diễn bởi một số bit Ảnh bitmap được chia thành ba dạng: Ảnh đen trắng, ảnh đa mức xám và ảnh màu
Ảnh đen trắng: là ảnh mà mỗi điểm ảnh chỉ thể hiện một trong hai trạng
thái 0 và 1 để biểu diễn trạng thái điểm ảnh đen hay trắng
Ảnh đa mức xám: là ảnh mà mỗi điểm ảnh được biểu diễn bởi một giá trị
và đó là cường độ sáng của điểm ảnh
Ảnh màu: Mỗi điểm ảnh được đại diện bởi ba giá trị màu RGB, ứng với
mỗi đại lượng R, G, B ta sẽ được một giá trị màu tương ứng Số lượng màu mà máy tính biểu diễn có thể lên tới hàng triệu màu Nhưng số màu thực sự của một ảnh nào đó có thể là khá nhỏ
Để tiết kiệm bộ nhớ, với các ảnh có số lượng màu nhỏ hơn 256 thì màu của các điểm ảnh được lưu trữ dưới dạng bảng màu (palette) Với các ảnh có số màu lớn hơn 256 thì màu của điểm ảnh không tổ chức dưới dạng bảng, khi đó giá trị của các điểm ảnh chính là giá trị của các thành phần màu R, G, B
Mỗi một điểm ảnh (pixel), số bit biểu diễn màu của nó được gọi là độ sâu màu sắc (color depth) và có thể là 1, 4, 8, 16, 24 hoặc 32 bit cho mỗi pixel Với ảnh 24 bit, mỗi thành phần màu được biểu diễn bởi một byte (8 bit), còn với ảnh
16 bit màu, mỗi điểm ảnh được biểu diễn bởi 4 bit
Trang 292.2.2 Định dạng tệp ảnh bitmap
Ảnh Bitmap được lưu trữ dưới dạng nhị phân, một tệp định dạng bitmap được chia thành các phần cơ bản như:
+ Bitmap File Header gồm 14 byte
+ Bitmap Infomation gồm 40 byte
+ Color Palette - Bảng màu (đối với ảnh đen trắng, ảnh 16 bit, 24 bit, 32
bit thì không có bảng mầu)
+ Bitmap Data: Đây chính là vùng sẽ được dùng để giấu tin (hình 2.1)
BITMAP HEADER BITMAP INFORMATION COLOR PALETTE
BITMAP DATA
Hình 2.1 Minh hoạ cấu trúc tệp ảnh bitmap 2.2.2.1 Ý nghĩa các phần trong tệp ảnh bitmap
1/ Bitmap Header: mô tả thông tin chung về định dạng tệp bitmap, kích
thước của phần này là cố định với mọi tệp ảnh bitmap
2/ Bitmap Information: mô tả thông tin về ảnh được lưu trữ, độ dài của
phần này cũng cố định
3/ Color Palette: chính là bảng màu của ảnh bitmap, độ dài của phần này
có thể bằng không (không có bảng màu) đối với ảnh đen trắng, ảnh màu có số lượng màu lớn hơn 256 màu
4/ Bitmap Data: Thông tin của từng điểm ảnh, độ dài của phần này phụ
thuộc kích thước ảnh Phần data lưu trữ ảnh theo hướng từ dưới lên trên, từ trái qua phải
Trang 302.2.2.2 Kích thước và giá trị các trường trong tệp ảnh bitmap
1/ Bitmap Header
Phần bitmap header có độ dài cố định là: 14 byte, dùng để mô tả thông tin
chung về tệp như: kiểu tệp, độ dài của tệp và một số thông tin liên quan đến tệp ảnh Ý nghĩa của từng trường được mô tả trong bảng 2.1
Bảng 2.1 Ý nghĩa các trường trong vùng Bitmap Header
Byte Dữ liệu Giá trị Độ tin cậy Dùng để hiện ảnh
3-6 Size of the file
(Độ dài của tệp) Unsigned long Không Cần
11-14 Byte offset to bitmap
data
Số TT (tính từ 0) byte đầu của BMP data
Trong phần Bitmap Header có lưu trữ thông tin về kích thước của tệp, thông tin này thực sự cần thiết đối với mọi chương trình Kích thước tệp được tính thông qua công thức:
FileSize = Sizeof(Bitmap Header) + Sizeof(Bitmap Information)
+ Sizeof(Color Palette) + Sizeof(Bitmap Data) (2.1)
Địa chỉ vị trí (offset) của vùng dữ liệu có thể được xác định thông qua công
thức:
Địa chỉ vùng Data = 54 + Sizeof(Color Palette) (2.2)
Đối với ảnh đen trắng và ảnh màu có số lượng màu lớn hơn 256 màu thì giá trị địa chỉ vùng data cố định là 54, vì các loại ảnh này không tổ chức bảng
màu cho các điểm ảnh
Trang 312/ Bitmap Information
Bitmap Informaion dùng để mô tả thông tin về ảnh đang được lưu trữ trong
tệp, kích thước của phần này cố định là 40 byte Ý nghĩa và giá trị của từng
trường trong vùng Bitmap Informaion được mô tả chi tiết trong bảng 2.2
Bảng 2.2 Ý nghĩa các trường trong vùng Bitmap Information
Byte Dữ liệu Giá trị Độ tin cậy Dùng hiện ảnh để
1-4 Number of bytes in Bitmap
Info (Số byte của vùng)
15-16 Number of bits per pixels
(Số bít biểu diễn màu)
In bytes Không Không
33-36 Number of colors in color
Trang 32Bảng 2.3 Cấu trúc và nội dung của color palette
Byte Dữ liệu Giá trị Entry - chỉ số mầu
1 Blue color value 0 – 255 0
2 Green color value 0 – 255 0
5 Blue color value 0 – 255 1
6 Green color value 0 – 255 1
Vậy kích thước của bảng màu của ảnh n bit có thể được tính theo công thức:
Sizeof(Color Palette) = (Number color) * 4 = 4 * 2 n (2.3)
4/ Bitmap Data
Vùng dữ liệu ảnh là giá trị của các điểm ảnh, kích thước của vùng dữ liệu ảnh phụ thuộc vào độ rộng, chiều cao và kiểu ảnh Tốc độ truy xuất bộ nhớ đối với những dữ liệu được sắp xếp trong các địa chỉ được chia ngang nhau theo cấp
số 2, sẽ nhanh hơn so với những dữ liệu không được sắp xếp như vậy Do đó dữ
liệu ảnh được đóng gói theo từng hàng (rows) với kích thước là bội của dword
(32-bit)
Trang 33BitmapData Sizeof( ) * (2.5)
Với ảnh 8 bit màu giá trị của mỗi điểm ảnh trong vùng Data là chỉ số của màu trong bảng màu, chỉ số màu của điểm ảnh là một số nguyên có giá trị từ 0 đến 255 và được lưu trữ trong một byte
Với ảnh có số lượng màu lớn hơn 256 màu thì giá trị trong vùng Data chính
là giá trị của các thành phần màu cơ bản, số lượng bit dùng để biểu diễn giá trị cho từng thành phần màu có thể sẽ khác nhau phụ thuộc vào chất lượng ảnh
Đối với ảnh 24 bit màu, mỗi thành phần màu được lưu trữ bởi 8 bit và thứ
tự lưu trữ là B, G, R Kích thước của tệp ảnh BMP được lưu trên bộ nhớ được tính bằng công thức (2.6):
Height Rowsize
n Filesize 54 4 * 2 * (2.6)
Trang 342.3 KỸ THUẬT GIẤU TIN THEO KHỐI BÍT LBS
2.3.1 Khái niệm
Kỹ thuật giấu tin theo khối bít LSB là phương pháp giấu tin đơn giản nhất,
ý 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 bít ít quan trọng LSB đối với mỗi phần tử trong bảng màu
Bít LSB (Least Significant Bit) là bít có ảnh hưởng ít nhất tới việc quyết định tới màu sắc của mỗi điểm ảnh, vì vậy khi ta thay đổi bít ít quan trọng của một điểm ảnh thì màu sắc của điểm ảnh mới sẽ tương đối gần với điểm ảnh cũ
Ví dụ, đối với ảnh 16 bít thì 15 bít dùng để biểu diễn 3 màu RGB của điểm ảnh, còn bít cuối cùng không dùng đến là bít LSB được tách ra để giấu tin Việc xác định LSB của mỗi điểm ảnh trong một bức ảnh phụ thuộc vào định dạng của ảnh
và số bít màu dành cho mỗi điểm ảnh của nó
Chẳng hạn trong ảnh 256 màu, mỗi màu được biểu diễn bởi 8 bít, và bít cuối cùng được coi là bít ít quan trọng nhất, tức bít bên phải nhất, như hình 2.2
Hình 2.2: Bít ít quan trọng LSB
Trong kỹ thuật này, ta coi bít cuối cùng là LSB, thay đổi giá trị của bít này thì sẽ làm thay đổi giá trị của điểm ảnh lên hoặc xuống đúng một đơn vị, với sự thay đổi nhỏ đó cấp độ màu của điểm ảnh sẽ không bị thay đổi nhiều
Ví dụ khi ta giấu chữ A (mã ASCII là 01000001) vào trong 8 byte của file gốc, cách giấu được thể hiện như trong bảng 2.4
Trang 352.3.2 Mô tả kỹ thuật giấu tin LSB
Gọi C là ảnh nguyên bản 8-bít màu xám, kích thước MC x NC điểm ảnh,
có dạng :
Và M là thông điệp dài n bít biểu diễn dưới dạng :
Giả sử rằng n bít của thông điệp M được nhúng vào k bít LSB ngoài cùng bên phải của ảnh gốc C
Trước tiên, thông điệp bí mật M sẽ được sắp xếp lại để tạo thành một hình ảnh
ảo k bít, m được biểu diễn dưới dạng :
trong đó n’ = MC x NC Việc ánh xạ giữa n bít thông điệp M = {mi} và thông điệp M‟ = { mi‟} có thể được định nghĩa như sau :
j k k
Trang 36Theo toán học, một giá trị xi của điểm ảnh được lựa chọn để lưu trữ k-bít thông điệp mi‟ thay đổi khớp với điểm ảnh đã giấu tin xi‟ như sau:
' '
2
i i
Còn trong quá trình tách tin, với ảnh đã giấu tin S, thông điệp giấu có thể lấy ra mà không đề cập đến ảnh gốc Sử dụng cùng một trình tự như trong quá trình giấu, tập hợp các điểm ảnh {x1‟ , x2‟ , … , xn‟ } lưu trữ các bít thông điệp
bí mật được lựa chọn từ ảnh đã giấu tin k-LSBs của các điểm ảnh được tách ra
và nối lại để tái tạo thông điệp bí mật, mỗi bít mi‟ của thông điệp giấu có thể
được khôi phục bằng công thức sau: m i ’ = x i ’ mod 2 k
2.3.3 Thuật toán thay thế LSB
2.3.3.1 Ý tưởng thuật toán
+ Cho thông tin mật cần giấu là M
+ Đổi M ra hệ nhị phân, tính độ dài của M sau đó thực hiện thay thế các bít thông tin của M vào các bít LSB của ảnh cho đến khi bít thông tin mật không còn nữa thì dừng lại
2.3.3.2 Thuật toán giấu
- Bước 1 : Biểu diễn ma trận điểm ảnh của C về dạng số thập phân với kích
thước M x N phần tử, sau đó chuyển ma trận điểm ảnh về mảng một chiều I với
i phần tử, cuối cùng chuyển sang ma trận dạng nhị phân I2
- Bước 2 : Biểu diễn thông điệp bí mật M về dạng nhị phân
Trang 37- Bước 3 : Cứ 8 bít trong I2 tiến hành tách k bít LSB bên phải ngoài cùng ra và ghép phần còn lại với k bít nhị phân của thông điệp M, kết quả thu được lại đưa
về dạng thập phân và gán ngược lại vào I
- Bước 4 : Thực hiện lặp lại bước 3 cho tới khi lấy hết chuỗi nhị phân của thông
điệp M để ghép với các bít ảnh Chuyển I từ mảng một chiều về mảng hai chiều mxn phần tử Ta được ảnh mới S đã được giấu tin
2.3.3.3 Thuật toán tách tin
- Bước 1 : Biểu diễn ma trận điểm ảnh S về dạng số thập phân với M xN phần
tử, tiếp tục chuyển đổi ma trận ảnh M x N về mảng một chiều I với i phần tử
- Bước 2 : Chuyển các bít ảnh trong I về dạng nhị phân I2 Sau đó, cứ 8 bít trong I2 lại tách lấy k bít ngoài cùng bên phải, đem ghép các kết quả này lại với nhau
- Bước 3 : Kết quả thu được chuyển từ nhị phân về dạng ký tự ta thu được thông
điệp bí mật M
2.3.4 Thuật toán thay thế LSB theo tỷ lệ p
2.3.4.1 Ý tưởng thuật toán
+ Cho tỷ lệ p% thông tin mật cần giấu (so với kích cỡ của ảnh), tạo ra một
ma trận nhị phân có các bít ngẫu nhiên với kích thước bằng p% kích thước ảnh cần giấu
+Thực hiện thay thế các bít thông tin mật trong ma trận ngẫu nhiên vào các bít LSB cho đến khi các bít thông tin mật trong ma trận không còn nữa thì dừng lại
+ Ảnh thu được là ảnh có giấu p% thông tin của ảnh vào các bít LSB
Trang 382.3.4.2 Thuật toán giấu
- Bước 1 : Biểu diễn ma trận điểm ảnh của C về dạng số thập phân với kích
thước M x N phần tử, sau đó chuyển ma trận điểm ảnh về mảng một chiều I với
i phần tử, cuối cùng chuyển sang ma trận dạng nhị phân I2
- Bước 2 : Tính kích thước ma trận ngẫu nhiên là L = p*M*N/100 Từ I2 tạo ra một ma trận I3 có số hàng là M và số cột là R trong đó R = L/M
- Bước 3 : Biểu diễn thông điệp bí mật M về dạng nhị phân
- Bước 4 : Cứ 8 bít trong I3 tiến hành tách k bít LSB bên phải ngoài cùng ra và ghép phần còn lại với k bít nhị phân của thông điệp M, kết quả thu được lại đưa
về dạng thập phân và gán ngược lại vào I
- Bước 5 : Thực hiện lặp lại bước 4 cho tới khi lấy hết chuỗi nhị phân của thông
điệp M để ghép với các bít ảnh Chuyển I từ mảng một chiều về mảng hai chiều MxN phần tử Ta được ảnh mới S đã được giấu tin
2.3.4.3 Thuật toán tách tin
- Bước 1 : Biểu diễn ma trận điểm ảnh S về dạng số thập phân với M x N phần
tử, tiếp tục chuyển đổi ma trận ảnh M x N về mảng một chiều I với i phần tử
Trang 39- Bước 2 : Chuyển các bít ảnh trong I về dạng nhị phân I3
- Bước 3 : Sau đó, cứ 8 bít trong I3 lại tách lấy k bít ngoài cùng bên phải, đem ghép các kết quả này lại với nhau
- Bước 4 : Kết quả thu đƣợc chuyển từ nhị phân về dạng ký tự ta thu đƣợc thông
điệp bí mật M