Hiện nay, giấu thông tin trong ảnh là một bộ phận chiếm tỉ lệ lớn nhất trong các chương trình ứng dụng, các phần mềm, hệ thống giấu tin trong đa phương tiện bởi lượng thông tin được trao
Trang 3cứu trong luận văn được sử dụng trung thực và có nguồn trích dẫn
- - -
LỜI CẢM ƠN
Em xin gửi lời cảm ơn sâu sắc tới thầy PGS TSKH Nguyễn Xuân Huy - Viện Công nghệ thông tin, người đã gợi mở và định hướng cho em tìm hiểu về lĩnh vực giấu tin trong ảnh Thầy đã hết lòng giúp đỡ, tạo điều kiện cho em nghiên cứu và hoàn thành luận văn này
Em xin cảm ơn các thầy cô trong Viện Công nghệ thông tin, các thầy cô trường ĐH Công nghệ thông tin và Truyền thông - ĐH Thái Nguyên, đã giảng dạy
và giúp đỡ em trong hai năm học qua
Cuối cùng tôi xin cảm ơn tới gia đình, các bạn cùng lớp và các bạn đồng nghiệp đã giúp đỡ, động viên, cùng nghiên cứu, đóng góp ý kiến, chia sẻ kinh nghiệmvới tôi trong suốt quá trình học tập và làm luận văn!
Thái Nguyên - 2011
Trần Đức Nam
Trang 4MỤC LỤC
Trang phụ bìa
Lời cam đoan
MỤC LỤC i
THUẬT NGỮ iii
DANH MỤC HÌNH ẢNH iv
MỞ ĐẦU 1
1 Lý do chọn đề tài 1
2 Mục tiêu của đề tài 4
3 Đối tượng và phạm vi nghiên cứu 4
4 Hướng nghiên cứu của đề tài 4
5 Những nội dung nghiên cứu chính 5
6 Phương pháp nghiên cứu 5
7 Ý nghĩa khoa học của đề tài 5
NỘI DUNG 6
Chương 1: TỔNG QUAN VỀ GIẤU TIN 6
1.1 Một số khái niệm cơ bản 6
1.1.1 Khái niệm về giấu tin 6
1.1.2 Lịch sử của giấu tin 6
1.1.3 Mục đích của giấu tin 7
1.1.4 Mô hình giấu tin cơ bản 8
1.1.5 Các kỹ thuật giấu tin 9
1.1.6 Những tính chất cơ bản của giấu tin mật và thủy vân 12
1.1.7 Các ứng dụng chính của giấu tin 13
1.2 Sơ lược về giấu tin trong đa phương tiện 14
1.3 Đặc trưng và tính chất của giấu tin trong ảnh 16
1.3.1 Phương tiện chứa có dữ liệu tri giác tĩnh 16
1.3.2 Kỹ thuật giấu phụ thuộc vào ảnh 16
1.3.3 Kỹ thuật giấu tin lợi dụng tính chất hệ thống thị giác của con người 17
1.3.4 Giấu tin trong ảnh không thay đổi kích thước của ảnh 17
1.3.5 Đảm bảo yêu cầu chất lượng ảnh sau khi giấu thông tin 17
1.3.6 Tin giấu sẽ bị biến đổi nếu có bất cứ một biến đổi nào trên ảnh 18
1.3.7 Yêu cầu ảnh gốc sau khi giải mã 18
1.4 Các hướng tiếp cận giấu tin trong ảnh 18
1.4.1 Tiếp cận trên miền không gian ảnh 18
1.4.2 Tiếp cận trên miền tần số ảnh 19
Chương 2 MỘT SỐ KỸ THUẬT GIẤU TIN MẬT TRONG ẢNH 21
2.1 Giấu tin theo khối bit đơn giản 21
2.1.1 Ý tưởng 21
2.1.2 Thuật toán giấu tin 21
2.1.3 Quá trình tách tin 23
2.1.4 Ví dụ mô tả 23
2.1.5 Nhận xét thuật toán 25
Trang 52.1.6 Áp dụng thuật toán vào ảnh đen trắng, ảnh màu và ảnh đa cấp xám 26
2.2 Kỹ thuật giấu tin Wu M.Y và Lee J.H 30
2.2.1 Ý tưởng của thuật toán 31
2.2.2 Một số khái niệm sử dụng trong thuật toán 31
2.2.3 Thuật toán giấu tin 32
2.2.4 Phân tích thuật toán 33
2.2.5 Ví dụ mô tả 34
4.2.6 Nhận xét 34
2.3 Kỹ thuật giấu tin Chen-Pan-Tseng 35
2.3.1 Một số khái niệm dùng trong thuật toán 36
2.3.2 Thuật toán 36
2.3.3 Phân tích đánh giá thuật toán 38
2.3.4 Ví dụ mô tả thuật toán 39
2.3.5 Độ an toàn của thuật toán 41
2.4 Kỹ thuật giấu tin LSB 42
2.4.1 Khái niệm bit có trọng số thấp 42
2.4.2 Thuật toán 43
2.4.3 Phân tích thuật toán 44
2.4.4 Ví dụ mô tả 45
2.5 Kỹ thuật sử dụng phép biến đổi DCT 45
2.5.1 Các phép biến đổi miền không gian ảnh sang miền tần số 45
2.5.2 Thuật toán nhúng thủy vân 48
2.5.3 Quá trình tách tin 49
2.5.4 Phân tích thuật toán 50
2.6 Kỹ thuật giấu tin thuận nghịch dựa trên dịch chuyển Histogram 51
2.6.1 Kỹ thuật giấu thuận nghịch NSAS 51
2.6.2 Kỹ thuật giấu thuận nghịch HKC 54
Chương 3: CÀI ĐẶT THỬ NGHIỆM 56
3.1 Tổng quan về ảnh Bitmap 56
3.1.1 Khái niệm về ảnh đen trắng, ảnh màu và ảnh đa mức xám 56
3.1.2 Cấu trúc tập tin ảnh bitmap 58
3.2 Một số kỹ năng xử lý ảnh trong giấu tin 60
3.2.1 Các bước giấu tin trong ảnh 60
3.2.2 Đọc ảnh 61
3.2.3 Tách phần Hearder của ảnh 61
3.2.4 Các hàm xử lý trong chương trình 64
3.2.5 Xây dựng ảnh mới 66
3.3 Xây dựng và thử nghiệm chương trình 66
3.3.1 Giới thiệu thuật toán cài đặt 66
3.3.2 Chương trình thử nghiệm 67
3.3.3 Nhận xét 68
KẾT LUẬN VÀ DỰ KIẾN 71
TÀI LIỆU THAM KHẢO 72
Trang 6THUẬT NGỮ
Chữ
Intrinsic Steganography Giấu tin có xử lý
DCT Discrete Cosine Transform Biến đổi Cosin rời rạc
IDCT Invert Discrete Cosine Transform Biến đổi ngược DCT
DFT Discrete Fourier Transform Biến đổi Forier rời rạc
IDFT Invert Discrete Fourier Transform Biến đổi ngược DFT
DWT Discrete Wavelet Transform Biến đổi Wavelet rời rạc
IDWT Invert Discrete Wavelet Transform Biến đổi ngược DWT
FFT Fast fourier transfer Biến đổi Fourier nhanh
Trang 7DANH MỤC HÌNH ẢNH
Hình 1.1 Những bản mật mã cổ
Hình 1.2 Xuyên tạc thông tin
Hình 1.3 Muc tiêu ẩn dữ liệu trong ảnh
Hình 1.4 Mô hình tổng quát về giấu và tách tin
Hình 1.5 Phân loại các kỹ thuật giấu tin
Hình 2.1 Sơ đồ mô tả thuật toán Giấu tin theo khối bit đơn giản
2.2 Sơ đồ mô tả quá trình tách tin theo khối bit đơn giản
Hình 2.3 Ví dụ dữ liệu ảnh được chia thành các khối kích thước (4*4)
Hình 2.4 Mô ta nhiễu ảnh khi giấu tin
Hình 2.5 Các trường hợp thay đổi vị trí đảo bit
Hình 2.6 Mô tả quá trình đảo bit để giấu tin
Hình 2.7 Kết quả giấu tin theo kỹ thuật LSB
Hình 2.8 Sơ đồ mô tả thuật toán nhúng thuỷ vân
Hình 2.9 Sơ đồ tách tin thủy vân
Hình 2.10 Histogram của ảnh cùng điểm peak và điểm zero
Hình 2.11 Biểu đồ tần xuất của ảnh trước và sau khi khởi tạo không gian giấu Hình 2.12 Biểu đồ tần xuất của ảnh sau khi giấu tin
Hình 2.13 Histogram của ảnh cùng điểm peak và hai điểm zero
Hình 3.1 Sơ đồ các bước giấu tin trong ảnh
Hình 3.2 Sơ đồ phân cấp chức năng
Hình 3.3 Histogram của ảnh có nhiều điểm zero với h(g) = 0
Hình 3.4 Histogram của ảnh với điểm zero có h(g) 0
Trang 9MỞ ĐẦU
1 Lý do chọn đề tài
“Biết người biết ta trăm trận trăm thắng!” đó là câu nói nổi tiếng của các
nhà cầm quân mọi thời đại Chính vì thế mà trong hàng ngàn năm về trước, vua chúa cũng như các tướng lĩnh đều dựa vào mạng lưới thông tin liên lạc hiệu quả và
bí mật để cai trị đất nước và chỉ huy quân đội của mình Đồng thời, tất cả họ đều ý
thức được những hậu quả của việc để lọt thông tin của mình vào tay đối phương, để
lộ những bí mật quý giá cho các nước thù địch cũng như hậu quả của sự phản bội cung cấp thông tin sống còn cho các lực lượng đối kháng Chính nỗi lo sợ bị kẻ thù xem trộm đã thúc đẩy sự ra đời và phát triển của mật mã: đó là những kỹ thuật nhằm che dấu, ngụy trang thông tin, khiến cho chỉ những người cần được nhận mới
có thể đọc được [5]
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 Bên cạnh những thuận lợi mà thông tin kỹ thuật số mang lại cũng nảy sinh những thách thức mới cho quá trình đổi mới này Sự ra đời những phần mềm có tính năng rất 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ố…đã giúp con người có thể sáng tạo, xử lý và thưởng thức các dữ liệu đa phương tiện (multimedia data) Mạng Internet toàn cầu đã biến thà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 vv Trao đổi thông tin bí mật qua các kênh truyền công khai đã, đang và sẽ được sử dụng phổ biến trong kỷ nguyên công nghệ số hiện đại này Và chính trong môi trường mở và tiện nghi như thế xuất hiện những vấn nạn, tiêu cực đang rất cần đến các giải pháp hữu hiệu cho vấn đề an toàn và bảo mật thông tin như nạn ăn cắp bản quyền, xuyên tạc thông tin, truy nhập thông tin trái phép…vv
Vậy làm thế nào để việc trao đổi thông tin bí mật và an toàn trên các kênh truyền công khai như trên được đảm bảo? 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
Trang 10nhanh 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, NAPSACK và phương pháp này đã được chứng minh thực
tế là rất hiệu quả và đang được ứng dụng phổ biến Hiện nay cuộc chiến với các cracker vẫn chưa ngã ngũ, và có lẽ sẽ chẳng bao giờ ngã ngũ thì việc dùng các phương pháp mã hóa sẽ khiến cho những tên cracker tò mò và để ý đến thông tin của bạn, và tất nhiên chúng sẽ tìm mọi cách để crack, vì vậy sẽ chẳng có gì là đảm bảo thông tin của bạn sẽ được an toàn
Hình 1.1 Những bản mật mã cổ Khoảng 10 năm gần đây, một phương pháp mới được coi như là chìa khóa cứu cánh cho vấn đề này đã và đạng được ứng dụng mạnh mẽ ở nhiều nước trên thế giới, đó là phương pháp giấu tin (DataHiding) Với công nghệ data hiding bạn có thể dấu một bản tin mật vào một bức ảnh mà không làm thay đổi bức ảnh (đối với cảm nhận của con người), như vậy chúng ta đã đánh lạc hướng được những tên cracker, thêm vào đó việc thực hiện crack trên mutimedia sẽ khó khăn hơn nhiều so với crack với các văn bản text Hiện nay công nghệ data hiding đã và đang phát triển ở mức độ cao hơn, đó là vấn đề bảo vệ bản quyền , công nghệ sử dụng trong lĩnh vực này là water marking digital (thủy vân kĩ thuật số) vv
Bản thảo 3.000 năm tuổi Mật mã Voynich
Trang 11Hình 1.2 Xuyên tạc thông tin
Cả hai phương pháp trên đều có những ưu, nhược điểm nhất định Mã hoá giúp che giấu nội dung thông tin, giấu tin mật giúp che giấu hoạt động trao đổi thông tin Trên thực tế, để đảm bảo an toàn cho các kênh trao đổi thông tin bí mật ta cần phải kết hợp cả hai phương pháp này
Hiện nay, giấu thông tin trong ảnh là một bộ phận chiếm tỉ lệ lớn nhất trong các chương trình ứng dụng, các phần mềm, hệ thống giấu tin trong đa phương tiện bởi lượng thông tin được trao đổi bằng ả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 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à vấn đề này
đã 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 vv
Hình 1.3 Mục tiêu ẩn dữ liệu trong ảnh
Trang 12Tin rằng lĩnh vực nghiên cứu này có nhiều hứa hẹn trong tương lai gần và dần trở thành một hướng đi mới trong lĩnh vực An toàn và Bảo mật thông tin hiệu
quả Chính vì vậy, tôi đã chọn đề tài “Giấu tin trong ảnh Bitmap 16 màu – 256 màu”
Phần nội dung của luận văn gồm 3 chương: Chương 1 trình bày một số khái niệm cơ bản về giấu tin, tổng quan mô hình giấu tin, một số kỹ thuật và ứng dụng của giấu tin vv Chương 2 tìm hiểu một số lược đồ cơ bản cho ứng dụng giấu tin mật trong ảnh nhị phân làm cơ sở cho việc phát triển ứng dụng giấu tin mật trong ảnh bitmap màu và đa mức xám Chương 3 tìm hiểu về cấu trúc tập tin ảnh bitmap, một số kỹ năng xử lý ảnh trong quá trình giấu tin và cài đặt thử nghiệm chương trình giấu tin trong ảnh bitmap 16 màu - 256 màu
2 Mục tiêu của đề tài
Luận văn tập trung tìm hiểu các phương pháp giấu tin mật trong ảnh bitmap nhằm tăng cường an ninh cho trao đổi thông tin bí mật qua các kênh truyền công khai ngày nay Và cài đặt thử nghiệm chương trình giấu tin trong ảnh bitmap 16 màu – 256 màu
3 Đối tượng và phạm vi nghiên cứu
Tập tin ảnh bitmap là một định dạng ảnh khá phổ biến Các tập tin đồ họa lưu dưới dạng BMP thường có đuôi BMP hoặc DIB (Device Independent Bitmap) Đặc điểm nổi bật nhất của định dạng BMP là tập tin thường không được nén bằng bất kỳ thuật toán nào Định dạng BMP được hỗ trợ bởi hầu hết các phần mềm đồ họa chạy trên Windows, và cả một số ứng dụng trên MS-DOS Giấu thông tin trong
đa phương tiện là một lĩnh vực rộng lớn, do đó đối tượng và phạm vị nghiên cứu của luận văn chỉ tập trung vào các kỹ thuật giấu tin trong ảnh nhị phân Từ đó xây dựng chương trình ứng dụng giấu tin trong ảnh bitmap 16 màu – 256 màu
4 Hướng nghiên cứu của đề tài
- Tìm hiểu các phương pháp giấu tin trong ảnh nhị phân
- Tìm hiểu các phương pháp giấu tin trong ảnh màu và đa mức xám
- Tìm hiểu cấu trúc tập tin ảnh bitmap
Trang 13- Cài đặt thử nghiệm chương trình giấu tin trong ảnh bitmap sử dụng kỹ thuật giấu thuận nghịch dựa trên dịch chuyển Histogram
5 Những nội dung nghiên cứu chính
Đề tài tập trung nghiên cứu các vấn đề cơ bản nhất về giấu tin Một số kỹ thuật giấu tin trong ảnh nhị phận, làm cơ sở cho việc tìm hiểu một số kỹ thuật giấu
tin trên ảnh màu và ảnh đa mức xám, từ đó xây dựng chương trình thử nghiệm
6 Phương pháp nghiên cứu
Về lý thuyết:
- Tìm hiểu một số kỹ thuật giấu tin trong ảnh nhị phân
- Phân tích, đánh giá các thuật toán giấu tin khác nhau trong ảnh nhị phân, ảnh màu và ảnh đa mức xám
- Tìm hiểu cấu trúc tập tin ảnh bitmap
- Tìm hiểu ngôn ngữ lập trình Dev C++, VB.Net vv
Về thực nghiệm:
- Sử dụng ngôn ngữ lập trình Dev C++ xây dựng và cài đặt thử nghiệm chương trình giấu tin trong ảnh bitmap 16 màu – 256 màu
7 Ý nghĩa khoa học của đề tài
Hiện nay, giấu thông tin trong ảnh là một bộ phận chiếm tỉ lệ lớn 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 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, bảo vệ bản quyền tác giả, điều khiển truy cập, giấu thông tin mật vv Chính vì thế mà vấn đề này đã 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à các viện nghiên cứu trên thế giới
Trang 14NỘI DUNG
Chương 1: TỔNG QUAN VỀ GIẤU TIN 1.1 Một số khái niệm cơ bản
1.1.1 Khái niệm về giấu tin
Từ trước đến nay, 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 đã được ứng dụng rộng rãi nhất Thông tin ban đầu được mã hoá (từ bản rõ có ý nghĩa thanh bản mã gồm các ký tự vô nghĩa), sau đó sẽ được giải mã nhờ khoá của hệ mã Đã có rất nhiều hệ mã phức tạp được sử dụng như DES, RSA, NAPSACK , rất hiệu quả và phổ biến Nhưng như đã nói ở trên:
mã hóa biến một thông tin rõ, có nghĩa thành một bản mã với các ký tự vô nghĩa đặt
ra một sự tò mò cho đối phương về ý đồ “đen tối” của nó và đối phương sẽ cố gắng tìm cách giải mã dẫn đến sự không an toàn cho phương pháp này (mặc dù đây là điều rất khó nhưng không phải là chắc chắn không thể làm được)
Một phương pháp mới khác đã và đang được nghiên cứu và ứng dụng mạnh
mẽ ở nhiều nước trên thế giới, đó là phương pháp giấu tin (DataHiding) Vậy “Giấu
thông tin là kỹ thuật nhúng (embedding) một lượng thông tin số nào đó vào
trong một đối tượng dữ liệu số 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
Sự khác biệt chủ yếu giữa mã hoá thông tin và giấu thông tin là mã hoá làm cho các thông tin hiện rõ là nó có được mã hoá hay không, còn với giấu thông tin thì người ta sẽ khó biết được là có thông tin giấu bên trong
1.1.2 Lịch sử của giấu tin
Các kỹ thuật giấu tin đã được đề xuất và sử dụng từ xa xưa, và sau này đã được phát triển ứng dụng cho nhiều lĩnh vực Từ Steganography bắt nguồn từ Hi-Lạp với ý 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 tin (thông tin được hiểu theo nghĩa nguyên thủy của nó) thuộc về sử gia Hy-Lạp Herodotus Khi bạo chúa Hy-Lạp Histiaeus bị vua
Trang 15Darius bắt giữ ở Susa vào thế kỷ thứ năm trước Công nguyên, ông ta đã gửi một thông báo bí mật cho con rể của mình là Aristagoras ở Miletus Histiaeus đã cạo trọc đầu của một nô lệ tin cậy và xăm một thông báo trên da đầu của người nô lệ
ấy Khi tóc của người nô lệ này mọc đủ dài người nô lệ được gửi tới Miletus
Một câu chuyện khác về thời Hy-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 Hy-Lạp, cần thông báo cho Sparta rằng Xerxes định xâm chiếm Hy-Lạp Để tránh bị phát hiện, anh ta đã bóc lớp sáp 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 mới Những viên thuốc được để ngỏ và lọt qua mọi sự kiểm tra một cách dễ dàng
Mực không màu là phương tiện hữu hiệu 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 các thông báo bí mật giữa những hàng văn tự thông thường Khi bị hơ nóng, những thứ mực không nhìn thấy này trở nên sẫm màu
và có thể đọc dễ dàng [1]
Ý 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 hàng loạt công trình nghiên cứu giá trị 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 Những phiên bản sao chép hoàn hảo, các kỹ thuật 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 nhiều vấn
đề nhức nhối như: ă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 vv
1.1.3 Mục đích của giấu tin
An toàn và bảo mật thông tin ngày càng trở nên cấp bách Các thông tin cần bảo mật có thể được mã hóa theo một cách thức nào đó, tuy nhiên với phương pháp
Trang 16này thì thông điệp được mã hóa lại chính là tín hiệu về tầm quan trọng của dữ liệu
đó, nên sẽ thu hút sự chú ý, tò mò của đối phương Hướng tiếp cận mới trong bảo mật là giấu tin (information hiding), tức là những thông tin số cần bảo mật sẽ được giấu vào trong một đối tượng dữ liệu số sao cho sự biến đổi của môi trường sau khi giấu là rất khó nhận biết, đồng thời có thể lấy lại được các thông tin đã giấu khi cần Một ưu điểm của hướng tiếp cận giấu tin so với mã hóa là khi tiếp cạn môi trường giấu tin đối phương khó xác định được là có thông tin giấu ở trong đó không? và không gây sự tò mò hay nghi ngờ gì cho đối phương Ngoài ra phương pháp giấu tin còn thể hiện được ưu thế rõ rệt trong nhiều ứng dụng như phân phối tài liệu số, bảo
vệ bản quyền, xác thực và phát hiện xuyên tạc…vv
Bảo mật thông tin bằng giấu tin có hai khía cạnh Một là bảo mật cho dữ liệu đem giấu, chẳng hạn như giấu tin mật (steganography) Hai là bảo mật chính đối tượng được dùng để giấu tin, chẳng hạn như ứng dụng bảo vệ bản quyền, nhận thực hay phát hiện xuyên tạc thông tin, dấu vân tay hay dán nhãn và điều khiển truy cập (watermarking)
Vậy giấu tin nhằm tới một mục đích trao đổi thông tin bí mật và áp dụng vào việc bảo vệ bản quyền và xác thực thông tin số Việc giấu thông tin mật có ý nghĩa quan trọng đối với an ninh, thông tin có tính chất Quốc gia Hiện nay cơ quan tình báo các nước đã và đang ứng dụng thành công kỹ thuật này để phục vụ cho mục đích của họ
1.1.4 Mô hình giấu tin cơ bản
Để thực hiện giấu tin cần xây dựng được các thủ tục giấu tin Các thủ tục này
sẽ thực hiện nhúng “giấu” thông tin vào môi trường giấu Các thủ tục giấu tin thường được thực hiện với một khóa giống như trong các hệ mật mã để tăng tính bảo mật Sau khi giấu tin ta thu được đối tượng chứa thông tin giấu và có thể phân phối nố trên các kênh thông tin công khai Để giải mã thông tin ta cần nhận được đối tượng có chứa thông tin đã giấu, sau đó sử dụng thủ tục giải mã cùng với khóa
đã dùng trong qúa trình giấu để lấy lại thông tin Hình 1.4 dưới đây nói lên lược đồ tổng quát nhất cho quá trình giấu và tách tin [6]
Trang 17Hình 1.4 Mô hình tổng quát về giấu và tách tin 1.1.5 Các kỹ thuật giấu tin
Do kỹ thuật giấu thông 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 chưa ổn định Nhiều phương pháp mới, theo nhiều khía cạnh khác nhau đang và chắc chắn sẽ được đề xuất, bởi vậy một định nghĩa chính xác, một sự đánh giá phân loại rõ ràng chưa thể có được Sơ đồ phân loại sau được Fabien A P Petitcolas đề xuất năm 1999 [6]
Hình 1.5 Phân loại các kỹ thuật giấu tin
Sơ đồ phân loại này như một bức tranh khái quát về ứng dụng và kỹ thuật giấu thông tin Có thể chia lĩnh vực giấu tin thành hai hướng lớn là giấu tin mật (Steganography) và thủy vân số (Digital watermarking) Giấu tin mật quan tâm đến các ứng dụng sao cho người khác khó phát hiện nhất việc có tin được giấu và nếu có phát hiện tin được giấu thì việc giải tin cũng khó thực hiện nhất
Thủy vân bền vững (Robust watermarking)
Thủy vân dẽ vỡ (Fragile watermarking)
Thủ tục giấu tin Kênh truyền
Thủ tục tách tin
Môi trường giấu
Thông tin giấu Đối phương
Thông tin
Trang 18Phạm vi ứng dụng của thủy vân đa dạng hơn, tùy theo mục đích của hệ thủy vân mà người ta lại chia thành các hướng nhỏ như thủy vân dễ vỡ và thủy vân bền vững
Giấu tin mật (Steganography) là lĩnh vực nghiên cứu việc nhúng các mẩu
tin mật vào một môi trường phủ Trong quá trình giấu tin để tăng bảo mật có thể người ta dùng một khoá viết mật khi đó người ta nói về Intrinsic Steganography (dấu tin có xử lý) Khi đó để giải mã người dùng cũng phải có khoá viết mật đó Chú ý rằng khoá này không phải là khoá dùng để lập mật mã mẩu tin, ví dụ nó có thể là khoá để sinh ra hàm băm phục vụ rải tin vào môi trường phủ Ngược lại nếu không dùng khoá viết mật thì người ta chỉ dấu tin đơn thuần vào môi trường phủ thì khi đó người ta nói về Pure Steganography (dấu tin đơn thuần)
Thuỷ ấn (Watermarking) là kỹ thuật nhúng một biểu tượng vào trong ảnh
môi trường để xác định quyền sở hữu ảnh môi trường, chống sự giả mạo và xuyên tạc thông tin Kích thước của biểu tượng thường nhỏ (từ vài bit tới vài nghìn bit) Kỹ thuật này cho phép đảm bảo nguyên vẹn biểu tượng khi ảnh môi trường bị biến đổi bởi các thao tác như p h é p lọc (filtering), nén mất dữ liệu (lossy compression), hay các biến đổi hình học vv Tuy nhiên việc đảm bảo nguyên vẹn biểu tượng không kể đến khi có sự tấn công dựa trên việc hiểu rõ thuật toán và có bộ giải mã trong tay Thông tin giấu là một định danh duy nhất, ví
dụ định danh người dùng thì khi đó người ta gọi là Fingerprinting (nhận dạng vân tay, điểm chỉ)
Nếu như watermark (thủy vân, thủy ấn) quan tâm nhiều đến ứng dụng giấu các mẩu tin ngắn nhưng đòi hỏi độ bền vững lớn của thông tin cần giấu (trước các biến đổi thông thường của tệp dữ liệu môi trường) 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 lớn này, 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 theo ảnh hưởng các tác động từ bên ngoài có thể chia watermark thành hai loại, một loại bền vững với các tác động
Trang 19sao 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á huỷ trước các tác động nói trên Cũng có thể chia watermark theo đặc tính, một loại cần được che giấu để chỉ có một số người tiếp xúc với nó có thể thấy được thông tin (thủy vân ẩn), loại thứ hai đối lập, cần được mọi người nhìn thấy (thủy vân hiện)
Xét về tính chất thuỷ ấn giống giấu tin ở chỗ tìm cách nhúng thông tin mật vào một môi trường Nhưng về bản chất thì thuỷ ấn có những nét khác ở một số điểm:
Một là: Mục tiêu của thuỷ ấn là nhúng thông tin không lớn thường là biểu tượng, chữ ký hay các đánh dấu khác vào môi trường phủ nhằm phục vụ việc xác nhận bản quyền
Hai là: Khác với giấu tin ở chỗ giấu tin sau đó cần tách lại tin còn thuỷ
ấn tìm cách biến tin giấu thành một thuộc tính của vật mang
Ba là: Chỉ tiêu quan trọng nhất của một thuỷ ấn là tính bền vững, của giấu tin là dung lượng
Bốn là: Điểm khác nữa giữa thuỷ ấn và giấu tin là thuỷ ấn có thể vô hình hoặc hữu hình trên ảnh mang
Kỹ thuật giấu tin được áp dụng cho các loại dữ liệu ảnh, audio, video Chức năng của giấu tin trong ảnh sẽ khác nhau tuỳ theo các hình thức xâm phạm
dữ liệu ảnh
Ảnh bị vi phạm bản quyền: nội dung của ảnh giống với nội dung ảnh bản quyền nhưng chúng được dùng với mục đích mà tác giả không cho phép Để 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 thuỷ 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à thuỷ vân phải tồn tại bền vững cùng với sản phẩm, muốn bỏ thuỷ vân này mà không được phép của người chủ sở hữu thì chỉ có cách là phá huỷ sản phẩm
Ảnh bị sửa đổi: nội dung của ảnh bị xuyên tạc Trong trường hợp này giấu
Trang 20tin có tác dụng phân biệt ảnh bản quyền với ảnh bị sửa đổi nội dung Áp dụng các bước tách tin giống nhau với các ảnh khác nhau, ta sẽ tách được dấu bản quyền đã được đăng ký trước đối với ảnh bị xuyên tạc
Hầu hết giấu tin được gắn cho ảnh là giấu không nhìn thấy nhưng trên thực tế tồn tại một loại giấu tin có thể nhìn thấy, chúng không trong suốt hoàn toàn
1.1.6 Những tính chất cơ bản của giấu tin mật và thủy vân
Giấu tin mật (steganography):
Khả năng không thể nhận biết (impercetibility)
Khả năng chứa được nhiều thông tin (capacity)
Khả năng không thể dò tìm
Khả năng không thể nhận biết được, có nghĩa là với người quan sát bằng mắt thường không thể phát hiện được ảnh có chứa thông tin ẩn trong đó Đây là một tính chất cực kỳ quan trọng đối với kỹ thuật steganography
Khả năng chứa được nhiều thông tin cũng là một tính chất quan trọng đối với
kỹ thuật steganography Tính chất capacity có nghĩa là lượng thông tin cần nhúng càng nhiều càng tốt nhưng không được vi phạm tính chất khác của kỹ thuật steganography
Cuối cùng tính chất không thể dò tìm được hiểu ở đây là khả năng chống lại việc xác định ảnh đó có hay không có thông tin ẩn bằng các kỹ thuật thống kê toán học thông thường Tính chất này cùng với tính chất “không thể nhận biết được” và
độ dài thông điệp cần giấu đóng một vai trò quan trọng và cần thiết trong kỹ thuật steganography
Thủy vân (Watermarking):
Do yêu cầu bảo vệ bản quyền, xác thực thông tin… nên giấu tin thủy vân có yêu cầu khác với giấu tin bí mật Yêu cầu đầu tiên là các dấu hiệu thủy vân phải đủ bền vững trước những tấn công vô tình hay cố ý gỡ bỏ nó Thêm vào đó các dấu hiệu thủy vân phải có ảnh hưởng tối thiểu(về mặt cảm nhận) đối với các phương tiện chứa Vậy các thông tin cần giấu sẽ càng nhỏ càng tốt
Trang 21Mục tiêu và yêu cầu giữa giấu tin mật và thủy vân có thể được mô tả tóm lược trong bảng sau:
Yêu cầu
Giấu được nhiều thông tin nhất
Không cần quan tâm tới độ bền của phương tiện chứa
Không thể quan sát được thông tin giấu
Không kiểm tra được nếu không có khóa thích hợp
Chỉ cần nhúng ít thông tin
Dữ liệu nhúng cần phải mạnh, đảm bảo trước các tấn công
Dữ liệu nhúng có thể nhận thấy hay không nhận thấy
Không kiểm tra được nếu không
có khóa thích hợp
1.1.7 Các ứng dụng chính của giấu tin
Giấu tin mật: Các thông tin giấu được trong trường hợp này càng nhiều
càng tốt, việc giải mã để nhận được thông tin cũng không cần phương tiện chứa ban đầu Các yêu cầu mạnh về chống tấn công của kẻ thù không cần thiết lắm thay vào đó là thông tin giấu phải đảm bảo tính ẩn
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 tác giả gọi là thủy vân sẽ được nhúng vào trong các sản phẩm, thủy vân đó chỉ một mình 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 đáng kể 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 với sản phẩm,
Trang 22muố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
là phá hủy sản phẩm
Xác thực hay phát hiện xuyên tạc thông tin: 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 không Các 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ả 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 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: Thủy 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ụ các vân khác nhau sẽ được nhúng vào các bản sao khác nhau của thông tin gốc trước khi chuyển cho nhiều người Với ứ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 nhập (kiểm soát sao chép): Các thủy vân trong 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 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
1.2 Sơ lược về giấu tin trong đa phương tiện
Giấu tin là một công nghệ mới rất phức tạp, đang được tập trung nghiên cứu
ở nhiều nước trên thế giới như Đức, Mỹ, Italia, Canada, Nhật Bản Những kết quả thực nghiệm cho thấy cần phải có thêm thời gian để nghiên cứu thẩm định, tuy nhiên các nhà khoa học 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
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
Trang 23sả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
Giấu tin trong ảnh: Giấu thông tin trong ảnh hiện nay 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, hơn nữa giấu thông tin trong ảnh cũng đóng vai trò hết sức quan trọng đối với 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, bảo vệ bản quyền tác giả, điều khiển truy cập, giấu thông tin mật vv
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 gì? 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 ứng dụng quan trọng trên nhiều lĩnh vực đời sống xã hội Ví dụ, trong các dịch vụ ngân hàng và tài chính ở một số nước phát triển, thuỷ vân số được sử dụng
để nhận diện khách hàng trong các thẻ tín dụng Mỗi khách hàng có một chữ kí viết tay, sau đó chữ kí này được số hoá và lưu trữ trong hồ sơ của khách hàng Chữ kí này sẽ được sử dụng như là thuỷ vân để nhận thực thông tin khách hàng Trong các thẻ tín dụng, chữ kí tay được giấu trong ảnh của khách hàng trên thẻ Khi sử dụng thẻ, người dùng đưa thẻ vào một hệ thống, hệ thống có gắn thiết bị đọc thuỷ vân trên ảnh và lấy được chữ kí số đã nhúng trong ảnh Thuỷ vân được lấy ra sẽ so sánh với chữ kí số đã lưu trữ xem có trùng hợp không, từ đó xác định nhận thực khách hàng
Giấu tin trong audio: Kỹ thuật giấu thông tin trong audio phụ thuộc vào hệ
thống thính giác của con người (HAS - Human Auditory System) HAS cảm nhận được các tín hiệu ở dải tần rộng và công suất thay đổi lớn, nhưng lại kém trong việc phát hiện sự khác biệt nhỏ giữa các dải tần và công suất Điều này có nghĩa là, các
âm thanh to, cao tần có thể che giấu được các âm thanh nhỏ thấp một cách dễ dàng Kênh truyền tin cũng là một vấn đề Kênh truyền hay băng thông chậm sẽ ảnh
Trang 24hưởng đến chất lượng thông tin sau khi giấu Giấu thông tin trong audio yêu cầu rất cao về tính đồng bộ và tính an toàn của thông tin
Giấu tin trong video: 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 video clip (pay per view application) Các thuật toán trước đây thường cho phép giấu ảnh vào trong video, nhưng gần đây kỹ thuật cho phép giấu cả âm thanh và hình ảnh vào video
1.3 Đặc trưng và tính chất của giấu tin trong ảnh
Như đã được trình bày ở trên, giấu tin trong ảnh chiếm vị trí chủ yếu trong các kỹ thuật giấu tin, chính vì vậy các kỹ thuật giấu tin phần lớn cũng tập trung vào các kỹ thuật 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 được tri giác tĩnh
có nghĩa là dữ liệu tri giác không biến đổi theo thời gian (không giống như audio và video) và có nhiều định dạng cũng như tính chất của các ảnh khác nhau nên các kỹ thuật giấu tin trong ảnh chủ ý những đặc trưng và tính chất cơ bản sau đây:
1.3.1 Phương tiện chứa có dữ liệu tri giác tĩnh
Dữ liệu gốc ở đây là ảnh tĩnh, dù đã giấu thông tin vào trong ảnh hay chưa thì khi ta xem ảnh bằng thị giác, dữ liệu ảnh không thay đổi theo thời gian, điều này khác với dữ liệu audio hay video là khi ta nghe hay xem dữ liệu gốc sẽ thay đổi liên tục với tri giác con người theo các đoạn hay các bài, các ảnh…Sự khác biệt này
sẽ ảnh hưởng lớn đối với các kỹ thuật giấu thông tin trong ảnh với kỹ thuật giấu thông tin trong video hay audio
1.3.2 Kỹ thuật giấu phụ thuộc vào ảnh
Kỹ thuật giấu tin phụ thuộc vào các loại ảnh khác nhau Chẳng hạn như đối với ảnh đen trắng, ảnh xám hay ảnh màu đều đòi hỏi những kỹ thuật riêng, ảnh nén hay ảnh không nén cũng có những kỹ thuật giấu khác nhau vì ảnh nén có thể mất mát thông tin ảnh do nén ảnh…vv
Trang 251.3.3 Kỹ thuật giấu tin lợi dụng tính chất hệ thống thị giác của con 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 (HSV - Human Vision System) 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 những thay đổi trên ảnh là rất nhỏ sao cho bằng mắt thường không thể nhận biết được sự khác biệt vì có như thế mới đảm bảo độ an toàn cho thông tin giấu Rất nhiều kỹ thuật đã lợi dụng tính chất của hệ thống thị giác để giấu tin như chẳng hạn mắt người cảm nhận về độ xám kém hơn sự biến đổi về màu hay sự cảm nhận của mắt
về màu xanh da trời (Blue) là kém nhất trong ba màu cơ bản RGB
1.3.4 Giấu tin trong ảnh không thay đổi kích thước của ảnh
Các phép toán thực hiện việc giấu thông tin sẽ được thao tác trên dữ liệu của ảnh Dữ liệu ảnh bao gồm cả phần thông tin ảnh (header), bảng màu (có thể có) và
dữ liệu ảnh Khi giấu thông tin, các phương pháp giấu để biến đổi các giá trị của các bit trong dữ liệu ảnh chứ không 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
1.3.5 Đảm bảo yêu cầu chất lượng ảnh sau khi giấu thông tin
Đây là một yêu cầu quan trọng đối với giấu thông tin trong ảnh 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 để có thể bị phát hiện dễ dàng so với ảnh gốc Yêu cầu này giường như khá đơn giản đối với ảnh màu hoặc ảnh xám bởi mỗi pixel ảnh được biểu diễn bởi nhiều bit, nhiều giá trị và khi ta thay đổi một giá trị nào đó thì chất lượng ảnh không thay đổi, thông tin giấu khó bị phát hiện, nhưng đối với ảnh đen trắng thì việc giấu thông tin phức tạp hơn nhiều, vì ảnh đen trắng mỗi pixel ảnh chỉ gồm hai giá trị hoặc trắng hoặc đen, và nếu ta biến đổi một bit từ đen thành trắng mà không khéo rất dễ bị phát hiện Do đó, đối với yêu cầu các thuật toán giấu thông tin trong ảnh màu hay ảnh xám và giấu thông tin trong ảnh đen trắng là khác nhau Trong khi đối với ảnh màu thì các thuật toán chú trọng vào việc làm sao cho giấu được càng nhiều thông tin càng tốt thì các thuật toán áp dụng cho ảnh đen trắng thì lại tập trung vào làm thế nào để thông tin giấu khó bị phát hiện
Trang 261.3.6 Tin giấu sẽ bị biến đổi nếu có bất cứ một biến đổi nào trên ảnh
Vì phương pháp giấu tin trên ảnh dựa trên việc điều chỉnh 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 Theo đó, 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 này sẽ làm cho thông tin giấu sẽ bị sai lệch 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à xuyên tạc thông tin
1.3.7 Yêu cầu ảnh gốc sau khi giải mã
Các kỹ thuật giấu tin phải phân biệt rõ ràng quá trình giải mã ảnh để lấy thông tin giấu có cần ảnh gốc hay không Đa số các kỹ thuật giấu tin mật thì không cần ảnh gốc khi giải mã Thông tin được giấu trong ảnh sẽ được mang cùng với dữ liệu ảnh, khi giải mã chỉ cần ảnh đã mang thông tin giấu và khóa để trích chọn thông tin ẩn mà không cần dùng đến ảnh gốc để so sánh đối chiếu
Tuy nhiên, nhiều kỹ thuật giấu tin cũng sử dụng ảnh gốc khi giải mã ảnh, phương pháp này giúp cho việc đồng bộ hóa ảnh giấu và ảnh gốc Điều này rất cần thiết khi phải xử lý đối với các tấn công trên ảnh Giả sử như phép tấn công xoay ảnh chẳng hạn, nhờ có ảnh gốc ta so sánh và đồng bộ hóa và khôi phục dạng ban đầu của ảnh thì có thể khôi phục lại tin đã giấu Nhưng phương pháp này cũng gặp khó khăn khi dữ liệu gốc lớn Ví dụ như giấu tin trong video, với lượng dữ liệu lớn nếu như để giải mã mà dùng phương pháp này thì khối lượng thao tác quá nhiều và không thể áp dụng được
1.4 Các hướng tiếp cận giấu tin trong ảnh
1.4.1 Tiếp cận trên miền không gian ảnh
Đây là hướng tiếp cận cơ bản và tự nhiên trong số các kỹ thuật giấu tin mật Miền không gian ảnh là miền dữ liệu ảnh gốc như một ma trận các điểm ảnh, 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 lẽ 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 cách tiếp cận này là phương pháp thay thế bit ít quan trọng nhất của mỗi điểm ảnh
Trang 27Ý tưởng cơ bản của phương pháp thay thế bit ít quan trọng nhất LSB (Least Significant Bit) là chọn ra từ mỗi điểm ảnh các bit có ít ý nghĩa tri giác nhất để sử dụng cho việc giấu tin Bit nào được coi là ít tri giác nhất và bao nhiêu bit có thể được lấy ra để thay thế thì phụ thuộc vào tính chất hệ thống thị giác con người và phụ thuộc vào nhu cầu chất lượng ảnh trong các ứng dụng ví dụ, trong ảnh 24 bit màu, mỗi màu được biểu diễn bởi 24 bit tương ứng với 3 màu RGB, mỗi màu chiếm
1 byte Người ta sử dụng một tính chất của mắt người là sự cảm nhận về màu B (Blue) kém hơn so với hai màu RG Chính vì thế mà người ta thường chọn bit cuối cùng trong 8 bit biểu diễn màu B của mỗi điểm ảnh để giấu tin Thay đổi bit cuối cùng trong 8 bit biểu diễn màu B chỉ làm cho giá trị biểu diễn màu B tăng hoặc giảm đi 1 đơn vị Do vậy, các bit ít quan trọng nhất trong trường hợp này là bit thứ
24 của mỗi điểm ảnh Một thuật toán muốn giấu nhiều hơn và chất lượng ảnh thấp hơn một chút có thể sử dụng bit cuối cùng của mỗi byte biểu diễn mỗi màu RGB làm bit ít quan trọng nhất Trong trường hợp này thì mỗi điểm ảnh sẽ chọn ra được
3 bit LSB
Tuy nhiên, phương pháp này cũng có nhiều hạn chế như không đảm bảo được tính bền vững của thủy vân đối với các thao tác như quay ảnh hay nén ảnh jpeg chẳng hạn Đ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
1.4.2 Tiếp cận trên miền tần số ảnh
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 này chúng ta có thể dùng nhiều phương pháp khảo sát gián tiếp khác 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 và như vậy tín hiệu và hệ thống rời rạc sẽ được biểu diễn trong miền mới này với các biến số mới
Trang 28Phương pháp biến đổi này cũng giống như phương pháp đổi biến trong tích phân hay phương pháp đổi hệ tọa độ trong toán giải tích của toán phổ thông quen thuộc Nhóm kỹ thuật này sử dụng một phương pháp biến đổi trực giao nào đó, chẳng hạn như Cosine rời rạc, Fourier, hay Wavelet vv để chuyển miền không gian ảnh sang miền tần số Giấu tin sẽ được nhúng trong miền không gian tần số của ảnh theo kỹ thuật trải phổ trong truyền thông Đây là kỹ thuật phổ biến nhất với nhiều thuật toán
và được hứa hẹn là một phương pháp tốt giải quyết vấn đề đảm bảo ba vấn đề quan trong (không hiển thị trên nền ảnh; không làm ảnh hướng nhiều tới chất lượng tri giác của ảnh và tồn tại bền vững cùng sản phẩm, không bị xóa, bị sai lệch bởi các tấn công) của thủy vân
Mỗi một cách biến đổi có những thuận lợi riêng, tùy từng trường hợp mà chúng ta dùng biến đổi nào Sau khi khảo sát xong các tín hiệu và hệ thống rời rạc trong các miền biến số mới này nếu cần thiết chúng ta sẽ dùng các biến đổi ngược
để đưa chúng về miền biến số độc lập cũ
Trang 29Chương 2 MỘT SỐ KỸ THUẬT GIẤU TIN MẬT TRONG ẢNH
Giấu tin trong miền không gian ảnh chủ yếu sử dụng các thuật toán giấu tin theo khối bit Thuật toán giấu tin theo khối bit có ý tưởng chính là chia miền không gian ảnh thành các khối nhỏ kích thước (m*n) để giấu tin vào từng khối với việc sửa các bit nào đó trong khối để đạt được một bất biến làm cơ sở cho quá tình tách tin Sau đậy luận văn tập trung tìm hiểu một số thuật toán giấu tin cơ bản trên ảnh nhị phân làm cơ sở để phát triển các thuật toán giấu tin trong ảnh màu, ảnh đa mức xám, tệp âm thanh, vv
2.1 Giấu tin theo khối bit đơn giản
2.1.1 Ý tưởng
Đây là kỹ thuật đơn giản nhất trong các kỹ thuật giấu tin mật trong ảnh Ý tưởng cơ bản của thuật toán là chia một ảnh gốc thành các khối nhỏ và mỗi khối nhỏ sẽ giấu 1 bit thông tin Thuật toán này dùng cho cả ảnh đa mức xám, ảnh màu
và ảnh đen trắng nhưng để dễ trình bày thuật toán ta sẽ sử dụng ảnh đen trắng (nhị phân), 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
đa mức xám [6]
2.1.2 Thuật toán giấu tin
Vào:
- Một file ảnh Bitmap nhị phân F
- Thông điệp bí mật cần giấu P
- (m*n) là kích thước khối dùng để giấu 1 bit thông tin
Ra: Một file ảnh đã giấu tin F‟
Trang 30- Quá trình giấu tin:
Bước 1 Kiểm tra khả năng giấu hết thông tin vào ảnh:
Số khối kích thước mxn có được là: (M div m) x (N div n)
Nếu (M div m) x (N div n) < s thì không đủ số khối để giấu hết thông tin
Ngược lại thực hiện các bước 2, 3
Bước 2 Chia ma trận I thành các khối kích thước mxn, ký hiệu là Fi (i=1 s) Bước 3 Tiến hành giấu tin:
Lần lượt giấu các bit piP vào từng khối Fi (i=1 s) theo nguyên tắc:
Với SUM(Fi) được định nghĩa là tổng các phần tử của Fi
Nếu SUM(Fi) mod 2 = pi thì giữ nguyên Fi
Ngược lại chọn ngẫu nhiên một bit trong Fi rồi đảo bit này
Như vậy, ta luôn được: pi = SUM(Fi) mod 2 (1)
Bước 4: Xây dựng ảnh mới F‟ từ mảng dữ liệu ảnh mới I‟
Hình 2.1 Sơ đồ mô tả thuật toán Giấu tin theo khối bit đơn giản
Trang 31BEGIN
Ảnh F‟: I‟(M*N) Kích thước khối: (m*n)
Chia I‟ thành các khối F‟i(m*n)
- Kích thước khối (m*n) đã sử dụng trong
quá trình giấu tin
Ra: Thông điệp P cần giấu
Thực hiện:
- Đọc dữ liệu ảnh nhị phân có giấu tin F‟
được một mảng giá trị các điểm ảnh I‟ kích thước
M*N
- Chia I‟ thành các khối có kích thước
mn Ký hiệu các khối là F‟i
- Với mỗi khối F‟i, thực hiện tách bit tin
giấu pi theo công thức: pi = SUM(F‟i) mod 2
- Chuyển chuỗi bit thông tin đã giấu (p1,
p2, , ps) thành thông điệp P
2.2 Sơ đồ mô tả quá trình tách tin theo khối bit đơn giản 2.1.4 Ví dụ mô tả
Quá trình giấu tin:
Chia phần thông tin ảnh thành các khối nhỏ có kích thước (m*n) Giả xử ảnh gốc ban đầu có kích thước là MxN, khi đó, tổng số các khối nhỏ sẽ là (M*N) div (m*n) khối Vì ảnh sử dụng là ảnh nhị phân nên mỗi khối là một ma trận hai chiều chứa các giá trị 0 và 1 như hình vẽ
Hình 2.3 Ví dụ dữ liệu ảnh được chia thành các khối kích thước (4*4)
Trang 32Sau khi phân thành các khối nhỏ ta chọn các khối để giấu tin, ta có thể chọn ngẫu nhiên các khối nhưng để cho đơn giản ta coi như các khối được chọn tuần tự
từ khối đầu tiên cho đến khi hết thông tin giấu
Mỗi khối nhỏ này sẽ được dùng để giấu một bit thông tin theo quy tắc tổng
số bit trong khối và bit thông tin cần giấu sẽ có cùng tính chẵn lẻ (pi = SUM(Fi) mod 2) Nghĩa là, nếu giấu bit 1 vào một khối thì khối đó phải thỏa mãn tính chất tổng số bit trong khối là số lẻ, ngược lại nếu cần giấu bit 0 vào một khối thì khối đó phải thỏa mãn tính chất tổng số bit trong khối là chẵn
Như vậy, mỗi lần giấu 1 bit ta có hai trường hợp xẩy ra như sau:
- Khối đã thỏa mãn tính chất để
giấu một bit thông tin: chẳng hạn như khi
cần giấu bit 1 thì tổng số bit trong khối là
lẻ, hoặc khi cần giấu bit 0 ta có tổng số bit
là chẵn Trong trường hợp này, ta không
cần thay đổi bit trong khối và xem như một bit thông tin đã được giấu vào khối
- Trong trường hợp ngược lại, tính chất của khối không thỏa mãn yêu cầu để giấu tin nghĩa là khi cần giấu bit 1 thì tổng số bit trong khối là chẵn hoặc khi cần giấu bit 0 tổng số bit trong khối là lẻ Trong những trường hợp như trên ta cần phải thay đổi khối đó sao cho thỏa mãn điều kiện bằng cách đảo trị ngẫu nhiên một bit (từ 0 sang 1 hoặc từ 1 sang 0)
Giả sử ta phải giấu bit 1 vào khối Fi như bên:
Trường hợp ở trên SUM(Fi) mod 2 = 0, như vậy
khối B không thỏa mãn yêu cầu để giấu bit 1, để giấu bit 1
vào khối này ta cần phải thay đổi khối bằng cách chuyển
một bit bất kỳ từ 0 sang 1 hoặc từ 1 sang 0 Giả sử ta đổi
như hình vẽ bên (Bit bị thay đổi từ 1 sang 0) Kết quả ta sẽ
Trang 33Mỗi lần giấu 1 bit ta lại lấy một khối để giấu theo quy tắc trên cho đến hết lượng thông tin cần giấu Cuối cùng ta luôn có bất biến SUM(Fi) = pi (làm cơ sở cho quá trình tách tin) Sau khi giấu xong ta thu được một ma trận dữ liệu các điểm ảnh mới I‟ Bước tiếp theo, ta xây dựng ảnh mới F‟ đã được giấu tin từ I‟
Như vậy trong thuật toán giấu tin này khóa đơn giản chỉ là kích thước m*n của khối và mỗi bit thông tin mật được giấu ta chỉ thay đổi tối đa 1 bit trong khối
Quá trình tách tin:
Giả sử ta có các bit thông tin được
giấu trong các khối như bên: Áp dụng
công thức pi = SUM(Fi) mod 2 ta có dãy
bit mật được giấu là P = 001000
ký tự Như vậy, thông điệp nhị phân cần giấu sẽ là 100*8=800 bit 0/1 (vì mỗi ký tự
mã ASCII biểu diễn bởi một byte) Ta có thể thấy để giấu được hết thông tin thì cần
ít nhất 800 khối như vậy ta nên chia khối như thế nào để đủ số khối giấu và giấu giàn trải rộng trên toàn ảnh Lấy 512*512/800 = 327 dư 544 Với kết quả này, kích thước khối tối đa là 327 vậy thì ta có thể chọn các kích thước phù hợp với con số này (phù hợp theo nghĩa đủ lớn và không vượt quá 327) chẳng hạn như 20x15, 16x16…
- Sở dĩ ta nên chọn khối có kích thước lớn vì như vậy nếu như trong trường hợp các bit trong khối bị thay đổi sẽ xa nhau (thưa) làm cho ảnh sau khi giấu khó nhận biết hơn
- Với thuật toán này việc chọn khối khá đơn giản, ta bắt đầu từ khối đầu tiên
và những khối liên tiếp phía sau tuần tự Tuy nhiên, ta có thể làm khó thuật toán
Trang 34hơn bằng cách chọn ngẫu nhiên một khối chưa giấu ở mỗi lần giấu Khi đó, ta đã làm tăng được độ an toàn của thuật toán vì khóa bây giờ còn thêm cả chỉ số khối đã giấu tin cho từng bit Hoặc ta có thể thay đổi kích thước khối ở mỗi lần giấu, chẳng hạn như lần một có kích thước khối là 8*8, lần 2 là 8*12…trong trường hợp này thì khóa sẽ là kích thước khối của mỗi lần giấu
- Một nhận xét quan trọng nữa thông qua thuật toán này là ta phải hiểu được bản chất của giấu tin được thực hiện trong kỹ thuật này Bản chất ở đây là cách thức giấu chẳng qua chỉ là quy ước nào đó, nếu thỏa mãn thì giấu bit 1, ngược lại thì giấu bit 0 Điều này khác hẳn với giấu cái bút bi trong cái bàn vì thực tế là ta có cái bút
bi thực sự và phải giấu nó đâu đó trong cái bàn còn xét trong kỹ thuật giấu tin thì bản chất là ta không có cái bút bi nào hết mà chỉ là thông tin về bút bi
2.1.6 Áp dụng thuật toán vào ảnh đen trắng, ảnh màu và ảnh đa cấp xám
Thuật toán này mặc dù áp dụng cho ảnh đen trắng nhưng nó cũng có thể sử dụng cho ảnh màu hoặc ảnh đa cấp xám Phần này chúng ta sẽ làm rõ việc áp dụng thuật toán vào các loại ảnh và những điều quan trọng khi áp dụng cho từng ảnh
Áp dụng thuật toán cho ảnh đen trắng:
Thuật toán trên được trình bày cho ảnh đen trắng nên ta chỉ quan tâm đến những vấn đề cốt yếu khi áp dụng cho ảnh đen trắng Như ta đã biết ảnh đen trắng khó giấu hơn do đặc điểm, mỗi điểm ảnh chỉ được biểu diễn bởi 1 bit (hoặc 0 – đen, hoặc 1 – trắng) Nếu như ta thay đổi bit 0 sang 1 hay ngược lại từ 1 sang 0 thì đều làm cho ảnh xuất hiện những điểm đen, điểm trắng lạ Như vậy vấn đề cốt yếu ở đây là làm thế nào hạn chế tối đa các điểm đen điểm trắng lạ và làm thế nào để những bit bị thay đổi đó khó bị phát hiện nhất
Hình 2.4 Mô ta nhiễu ảnh khi giấu tin
Trang 35Ta sẽ nghiên cứu một số kỹ thuật cải tiến dành cho ảnh đen trắng sau đây:
Ý tưởng của phần cải tiến này dựa vào một nhận xét: với các ảnh đen trắng thì việc thay đổi một giá trị một bit điểm ảnh từ trắng thành đen hoặc ngược lại thì rất dễ bị phát hiện (bị nhiễu) Nhưng nếu ta đảo bit ở trên viền ảnh giữa miền đen và miền trắng thì bit bị đảo sẽ khó bị nhận biết hơn
Ví dụ: Giả sử ta có một khối ảnh và các bit có thể đảo là hai bit được đánh giấu xám như trong hình vẽ 2.3 (trang bên)
Rõ ràng ta nhận thấy nếu đảo bit như trong hình b thì bit bị đảo sẽ khó nhận biết hơn đảo bit như trong hình c
a) Khối bit ban đầu b) đảo ở vị trí 1 c) Đảo ở vị trí 2
Hình 2.5 Các trường hợp thay đổi vị trí đảo bit
Ý tưởng này đã được thực hiện nhờ một hệ số phân bố bit D Hệ số phân bố bit
D là một đại lượng đặc trưng cho mức độ rời rạc của các bit 0,1 trên một ma trận điểm ảnh và được tính theo công thức sau:
Giả sử ta có một ma trận A chứa các điểm ảnh 0,1, cỡ mxn;
j
1 1
1
(Ai,j xor Ai,j+i)
Dv là hệ số phân bố theo chiều dọc
Trang 361 11
1
(Ai,j xor Ai+1,j)
Dc là hệ số phân bố bit theo đường chéo 1
j
2 1
1
(Ai,j xor Ai-1,j+i)
Da là hệ số phân bố bit đường chéo 2
1
m
i n
j
(Ai,j xor Ai+1,j+i) Với xor là phép toán XOR logic x xor y=1 nếu x # y, ngược lại x xor y = 0 nếu x=y
Thực chất nếu ta duyệt các phần tử của ma trận theo từng dòng và đếm số lần chuyển màu (từ 1 sang 0 hoặc từ 0 sang 1) thì phân bố ngang Dh chính là số lần chuyển màu tính theo các dòng, Dv là tổng số lần chuyển màu tính theo cột, Dc là tổng số lần chuyển màu tính theo đường chéo 1, Da là tổng số lần chuyển màu tính theo đường chéo 2
Số lần chuyển màu Số lần chuyển màu Số lần chuyển màu Số lần chuyển màu tính theo hàng Dh tính theo cột Dv tính theo đường chéo1 theo đường chéo2
Ví dụ: cho một ma trận nhị phân B(4*4) như bên:
Khi đó ta có các hệ số phân bố theo các chiều là:
Trang 37Nếu D càng nhỏ thì mức độ rời rạc càng thấp tức là độ kết dính giữa các bit 0,1 càng lớn Và áp dụng trong thuật toán này ta sẽ chọn cách đảo bit trong khối có
D lớn (mức độ rời rạc của các bit cao dẫn đến khó nhận biết)
Một phần cải tiến nữa của thuật toán là hạn chế các khối giấu tin có tỉ lệ bit đen rất thấp hoặc rất cao vì rất dễ bị phát hiện Và trong một số trường hợp trên ảnh
có những khối toàn trắng hoặc toàn đen thì không nên giấu thông tin vào các khối
đó Trong cải tiến này đã dùng hai biến để chặn cận tỉ lệ bit đen trên một khối là MinBlack và MaxBlack
Áp dụng thuật toán cho ảnh màu và ảnh đa cấp xám:
Thuật toán ở trên hoàn toàn có thể áp dụng cho ảnh màu và ảnh đa cấp xám Các loại ảnh này có giá trị của mỗi điểm ảnh được biểu diễn bằng nhiều bit Vậy làm thế nào để có được một ma trận điểm ảnh 0,1 để thực hiện việc giấu tin như thuật toán ở trên? Ta chỉ việc chọn từ mỗi điểm ảnh đúng một bit và lưu vào ma trận hai chiều các bit 0,1 Việc chọn này thực hiện chọn theo quy tắc chọn bit ít quan trọng nhất LSB (Least Significant Bit)
Đối với ảnh màu và ảnh đa cấp xám ta không cần quan tâm nhiều đến việc chọn điểm cần giấu vì ta đã dùng những bit ít quan trọng nhất để giấu Do vậy, tại mỗi bước giấu ta có thể chọn một bit bất kỳ để thay đổi
Tóm lại: Khởi nguần của giấu thông tin trong ảnh là thông tin được giấu
trong các ảnh màu hoặc ảnh đa mức xám trong đó mỗi pixel ảnh mang nhiều giá trị, được biểu diễn bằng nhiều bit Với những ảnh đó thì việc thay đổi một giá trị nhỏ ở một pixel thì chất lượng ảnh giường như vẫn không thay đổi và khả năng bị phát hiện là rất thấp dưới sự quan sát của mắt thường (hệ thống thị giác của con người cũng đóng một vai trò quan trọng trong việc đảm bảo tính ẩn của thông tin giấu trên ảnh) Với những ảnh mà mỗi điểm ảnh chỉ mang một giới hạn nhỏ các giá trị thì việc giấu thông tin trong ảnh đảm bảo tính ẩn của thông tin giấu là một công việc khó khăn hơn nhiều đặc biệt đối với ảnh đen trắng, mỗi điểm ảnh chỉ mang một trong hai giá trị trắng hoặc đen Vậy khi thay đổi giá trị một pixel từ đen thành trắng hoặc ngược lại là rất dễ bị phát hiện, do đó với ảnh đen trắng thì số lượng thuật toán
Trang 38không nhiều và vẫn chưa đạt được kết qủa mong muốn Có thuật toán giấu được nhiều thông tin vào ảnh thì chất lượng ảnh lại kém và rất dễ bị phát hiện, một số thuật toán khi giấu chất lượng ảnh tốt hơn nhưng lượng thông tin giấu được ít và quá đơn giản không đam bảo được độ an toàn thông tin Bảng sau sẽ liệt kê sự khác nhau cơ bản giữa giấu tin trong ảnh đen trắng với ảnh màu và ảnh đa mức xám
Giấu thông tin trong ảnh đen trắng Giấu thông tin trong ảnh màu và
ảnh đa mức xám
Thông tin giấu it hơn đối với ảnh có cùng
kích cỡ với ảnh màu
Thông tin giấu nhiều hơn
Khả năng bị phát hiện trong ảnh có giấu
thông tin cao
Khả năng bị phát hiện thấp
Độ an toàn thông tin thấp do dễ bị phát
hiện có thông tin chứa bên trong
Độ an toàn cao
Các thuật toán giấu ít, phức tạp Nhiều thuật toán và có nhiều hướng
mở rộng phát triển
2.2 Kỹ thuật giấu tin Wu M.Y và Lee J.H
Kỹ thuật giấu tin theo khối bit đơn giản thể hiện độ an toàn không cao với việc sử dụng duy nhất kích thước khối (m*n) là khoá cho quá trình giấu tin, đồng thời ảnh chứa thông tin giấu cũng dễ bị phát hiện do kỹ thuật có thể đảo bit trong các khối ảnh toàn màu đen hoặc toàn màu trắng dẫn tới sự bất thường ở vị trí bit đảo so với các điểm lân cận trong khối
Năm 1998, Wu M.Y và Lee J.H đã đề xuất một kỹ thuật mới giấu tin trong ảnh đen trắng Kỹ thuật này vẫn dựa trên tư tưởng giấu một bit thông tin vào một khối ảnh gốc nhưng đã khắc phục được phần nào những nhược điểm nêu trên để có được độ an toàn cao hơn và chất lượng ảnh sau khi giấu tốt hơn Bằng cách sử dụng thêm ma trận khoá K cho việc giấu tin và đưa thêm các điều kiện để đảo bit trong mỗi khối, theo điều kiện đó các khối ảnh gốc toàn màu đen hoặc toàn màu trắng sẽ không được sử dụng để giấu tin [3]
Trang 392.2.1 Ý tưởng của thuật toán
Thuật toán Wu-Lee được áp dụng cho ảnh nhị phân có ý tưởng chính là: Một ảnh nhị phân dùng làm môi trường giấu tin cũng được chia thành các khối đều nhau
có kích thước (m*n) Thông tin mật được giấu vào mỗi khối này bằng cách thay đổi nhiều nhất một bit của khối Quá trình biến đổi khối ảnh F thành F‟ để giấu 1 bit pi được thực hiện sao cho đạt được bất biến SUM(K^F‟) mod 2 = pi Công thức này cũng được sử dụng cho quá trình tách lấy tin đã giấu (K là một ma trận nhị phân cũng có kích thước m*n được sử dụng làm khóa nhằm tăng tính bảo mật của thuật toán giấu tin)
2.2.2 Một số khái niệm sử dụng trong thuật toán
Trước hết ta định nghĩa phép toán AND () cho hai ma trận F(m*n) và K(m*n) là phép toán thực hiện việc tính AND hai bit đồng vị của hai ma trận
Gọi a, b là hai bit tùy ý, phép toán nhân bit AND, ký hiệu là trên hai bit a
và b cho giá trị 1 khi và chỉ khi a=b=1, trong các trường hợp còn lại bằng 0
Trang 40Trong mọi thuật toán giấu tin theo khối bit, sau khi thực hiện giấu tin cần phải đạt được một bất biến nào đó, và đây chính là cơ sở để tách lại thông tin giấu Trong thuật toán này, mỗi khối F giấu được một bit thông tin pi sao cho các khối sau khi giấu F‟ đạt được bất biến pi = SUM(F‟^K) mod 2 (có cùng tính chẵn lẻ với bit được giấu)
2.2.3 Thuật toán giấu tin
Dữ liệu vào:
- Ma trận điểm ảnh nhị phân F dùng làm môi trường giấu tin (F được chia thành các khối Fi(m*n))
- K(m*n) là một ma trận nhị phân được sử dụng làm khóa
- Chuỗi bit P = p1p2p3p4 là thông tin cần giấu vào ảnh F
IF 0 < Si < SUM(K) THEN chuyển sang bước 3 để giấu tin (việc giấu thực
chất là biến đổi Fi thành Fi‟ sao cho Si‟ mod 2 = pi)
ELSE bỏ qua khối này, chuyển sang khối khác để giấu