Mục đích của luận văn Giấu dữ liệu là một lĩnh vực rộng lớn, trong luận văn này chỉ trình bày các kỹ thuật giấu dữ liệu trong ảnh, giới thiệu các phương pháp nhằm nâng cao chất lượng giấ
Trang 1i
LỜI CAM ĐOAN Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi Các dữ liệu, kết quả nêu trong luận văn là trung thực và chưa được công bố trong bất kỳ công trình nào khác
Hà Nội, tháng 9 năm 2013 Tác giả luận văn
Nguyễn Viết Phú
Trang 2ii
LỜI CẢM ƠN Tôi xin chân thành cảm ơn các Thầy, Cô giáo trong Viện Toán Tin Ứng dụng
và các cán bộ, nhân viên của Viện Đào tạo sau đại học, Trường Đại học Bách Khoa
Hà Nội; các cán bộ, nhân viên của Viện Đào tạo Nhân lực Quốc tế đã luôn nhiệt tình và tạo mọi điều kiện tốt nhất cho tôi trong suốt quá trình học tập
Xin chân thành cảm ơn các anh, các chị và các bạn học viên lớp Cao học 11A TOAN-HT – Trường Đại học Bách khoa Hà Nội đã luôn động viên, giúp đỡ và chia sẽ với tôi những kinh nghiệm trong học tập cũng như trong cuộc sống đời thường
Đặc biệt xin bày tỏ lòng biết ơn sâu sắc đến PGS.TS Phan Trung Huy đã tận tình giúp đỡ tôi định hướng, hình thành, nghiên cứu và hoàn thành luận văn Mặc dù đã có nhiều cố gắng, song do sự hạn hẹp về thời gian, điều kiện nghiên cứu và trình độ, luận văn không tránh khỏi những sai sót, khiếm khuyết Tôi rất mong được sự đóng góp ý kiến của các thầy giáo, cô giáo và các đồng nghiệp
Hà Nội, 2013 Người thực hiện luận văn
Nguyễn Viết Phú
Trang 3iii
MỤC LỤC
DANH MỤC VIẾT TẮT vi
DANH MỤC BẢNG BIỂU vii
DANH MỤC HÌNH ẢNH viii
MỞ ĐẦU 1
1.Mục đích của luận văn 2
2.Những đóng góp của luận văn 2
Chương 1 TỔNG QUAN VỀ GIẤU TIN TRONG ẢNH SỐ 3
1.1.Khái niệm giấu tin 3
1.2.Lịch sử giấu tin 3
1.3.Mô hình giấu tin cơ bản 4
1.4.Phân loại các kỹ thuật giấu tin 5
1.5.Các ứng dụng của kỹ thuật giấu tin 6
1.6.Giấu tin trong dữ liệu đa phương tiện 8
1.6.1.Giấu tin trong ảnh và các đặc trưng 8
1.6.1.1.Giấu tin trong ảnh 8
1.6.1.2.Các đặc trưng cơ bản 9
1.6.2.Giấu tin trong Audio 11
1.6.3.Giấu thông tin trong video 12
1.6.4.Tổng quan về ảnh số 12
Chương 2 MỘT SỐ PHƯƠNG PHÁP GIẤU TIN TRÊN ẢNH NHỊ PHÂN 19
2.1.Kỹ thuật giấu tin theo khối bít 19
2.1.1.Ý tưởng 19
2.1.2.Thuật toán giấu tin 19
2.1.3.Phân tích thuật toán 20
2.2.Tỷ lệ giấu tin tối đa 21
2.3.Kỹ thuật giấu tin Wu – Lee 22
Trang 4iv
2.3.1.Thuật toán giấu tin 23
2.3.2.Phân tích thuật toán 25
2.3.3.Thí dụ minh họa thuật toán Wu-Lee 26
2.3.4.Một số nhận xét về thuật toán Wu-lee 27
2.4.Kỹ thuật giấu tin Chen – Pan – Tseng 28
2.4.1.Ý tưởng 29
2.4.2.Thuật toán CPT 29
2.4.3.Cách chứng minh về tính đúng đắn của thuật toán 31
2.4.4.Một số thí dụ minh họa thuật toán CPT 33
2.4.5.Phân tích thuật toán 36
Chương 3 NÂNG CAO CHẤT LƯƠNG GIẤU TIN BẰNG PHƯƠNG PHÁP MODULE 38
3.1.Một số phương giấu tin trong ảnh màu và ảnh đa cấp xám 38
3.1.1.Giấu tin trong ảnh màu và ảnh đa cấp xám 38
3.2.Phương pháp giấu tin theo module 42
3.2.1.Phương pháp module 42
3.2.2.Giấu tin sử dụng phương pháp Module 42
3.2.3.Giấu tin sử dụng tập 1-cơ sở 44
3.2.4.Giấu tin sử dụng tập 2-cơ sở 44
3.2.5.Một số sơ đồ giấu tin theo tiếp cận module trên Z3 45
3.2.5.1.Sơ đồ giấu tin trên ảnh xám 45
3.2.5.2.Sơ đồ giấu tin sử dụng module Z44 trên ảnh nhị phân 48
3.2.6.Phương pháp giấu tin theo module Z3 51
3.2.7.Thuật toán giấu tin trong ảnh xám theo module Z34 52
3.2.8.Thuật toán giấu tin trong ảnh xám theo module Z6 55
3.2.8.1.Thuật toán giấu tin B1 57
3.2.8.2.Thuật toán khôi phục B2 58
3.2.8.3.Giấu dữ liệu trong dãy các khối của ảnh nhị phân G 60
3.2.8.4.Kết quả thử nghiệm 61
Trang 5v
Chương 4 XÂY DỰNG CHƯƠNG TRÌNH ỨNG DỤNG 63
4.1.Thiết kế chương trình 63
4.1.1.Sơ đồ mức ngữ cảnh 63
4.1.2.Sơ đồ nhúng thông tin vào ảnh 63
4.1.3.Sơ đồ tách thông tin từ ảnh giấu tin 64
4.2.Chương trình giấu tin 64
4.2.1.Nhúng tin vào ảnh 64
4.2.1.1.Giấu tin trên ảnh nhị phân Z44 66
4.2.1.2 Giấu tin trên ảnh xám Z3 67
4.2.1.3 Giấu tin trên ảnh nhị phân Z62 68
4.2.2.Tách thông tin từ ảnh 69
KẾT LUẬN 72
TÀI LIỆU THAM KHẢO 74
Trang 6vi
DANH MỤC VIẾT TẮT
Trang 7vii
DANH MỤC BẢNG BIỂU Bảng 1-1 Minh hoạ cấu trúc tệp ảnh bitmap 15Bảng 1-2 Ý nghĩa từng trường trong vùng Bitmap Header 16Bảng 1-3 Ý nghĩa và giá trị các trường trong vùng Bitmap Infor 17Bảng 3-1 So sánh tỷ lệ giấu tin giữa MSDR và các sơ đồ CPT, 4
4
Z , 6 2
Z 62
Trang 8viii
DANH MỤC HÌNH ẢNH Hình 1-1 Từ trái qua phải: Mặt nạ, văn bản, thông điệp được truyền bí mật trong
văn bản 3
Hình 1-2 Lược đồ quá trình giấu tin mật 4
Hình 1-3 Lược đồ quá trình giải mã tin mật 5
Hình 1-4 Phân loại các kỹ thuật giấu tin 6
Hình 1-5 Ví dụ về ảnh màu 13
Hình 1-6.Ví dụ về ảnh đa cấp xám 14
Hình 1-7.Ví dụ về ảnh đen trắng 14
Hình 2-1 Minh hoạ thuật toán giấu tin của Wu-lee 26
Hình 2-2 Minh hoạ giữa thay đổi ngẫu nhiên và thay đổi có định hướng 28
Hình 2-3 Minh hoạ thuật toán CPT trường hợp thay đổi 1 bit 33
Hình 2-4 Minh hoạ quá trình giải mã thông tin đã giấu 34
Hình 2-5 Thí dụ minh hoạ trường hợp thay đổi hai bit 36
Hình 3-1 Minh họa kĩ thuật giấu LSB 40
Hình 4-1 Sơ đồ quan hệ trong hệ thống giấu tin 63
Hình 4-2 Sơ đồ nhúng tin mật và ảnh 63
Hình 4-3 Sơ đồ tách tin từ ảnh có giấu tin 64
Hình 4-4 Ảnh nhị phân Lenna.bmp 64
Hình 4-5 Tệp tin mật cần giấu 65
Hình 4-6 Giao diện chọn giải thuật nhúng tin mật 65
Hình 4-7 Giao diện nhúng dữ liệu vào ảnh trong giải thuật 4 4 Z 66
Hình 4-8 Thông báo nhúng dữ liệu thành công 66
Trang 9ix
Hình 4.1 Thông báo các thông số sau khi nhúng dữ liệu thành công 77
Hình 4-10 Giao diện nhúng dữ liệu vào ảnh trong giải thuật 67
Hình 4-11 Thông báo các thông số sau khi nhúng dữ liệu thành công 68
Hình 4-12 Giao diện nhúng dữ liệu vào ảnh trong giải thuật 68
Hình 4-13 Thông báo các thông số sau khi nhúng dữ liệu thành công 69
Hình 4-14 Giao diện tách tin mật từ ảnh 69
Hình 4-15 Khôi phục tin trên ảnh nhị phân 70
Hình 4-16 Thông báo khôi phục tin trên ảnh nhị phân 70
Hình 4-17 Tệp dữ liệu được tách ra từ ảnh giấu tin 70
Hình 4-18 Tách tin trên 71
Hình 4-19 Tệp dữ liệu được tách ra từ ảnh giấu tin 71
Trang 101
MỞ ĐẦU
Ngày nay, cùng với sự phát triển mạnh mẽ của ngành khoa học công nghệ thông tin, mạng máy tính nói chung cũng như mạng internet đã tạo nên một môi trường mở và là phương tiện trao đổi thông tin quan trọng với mọi người Với lượng thông tin được truyền qua mạng ngày càng nhiều thì nguy cơ dữ liệu bị truy cập trái phép cũng tăng lên Vì vậy vấn đề bảo đảm an toàn và bảo mật thông tin cho dữ liệu truyền trên mạng là rất cần thiết
Để đảm bảo an toàn và bí mật cho một thông điệp truyền đi người ta thường dùng phương pháp truyền thống là mã hóa thông điệp theo một qui tắc nào đó đã được thỏa thuận trước giữa người gửi và người nhận Tuy nhiên, phương thức này thường gây sự chú ý của đối phương về tầm quan trọng về nội dung của thông điệp Thời gian gần đây đã xuất hiện một cách tiếp cận để truyền các thông điệp bí mật,
đó là giấu các thông tin quan trọng trong những bức ảnh thông thường Bề ngoài các bức ảnh có chứa thông tin mật cũng không có gì khác với ảnh số và được sử dụng phổ biến nên vô hiệu việc theo dõi, tấn công của đối phương Mặt khác, dù các bức ảnh đó bị phát hiện ra là có chứa thông tin trong đó thì với các khóa có độ bảo mật cao thì việc tìm được nội dung của thông tin đó cũng rất khó có thể thực hiện được Xét theo khía cạnh tổng quát thì giấu thông tin cũng là một hệ mã mật nhằm bảo đảm tính an toàn thông tin, nhưng phương pháp này ưu điểm là ở chỗ giảm được khả năng phát hiện được sự tồn tại của thông tin trong nguồn mang Không giống như mã hóa thông tin là chống sự truy cập và sửa chữa một cách trái phép thông tin, mục tiêu của giấu thông tin là làm cho thông tin trộn lẫn với các điểm ảnh Điều này sẽ đánh lừa được sự phát hiện của các tin tặc và do đó làm giảm khả năng bị giải mã
Kết hợp các kỹ thuật giấu tin với các kỹ thuật mã hóa ta có thể nâng cao độ
an toàn cho việc truyền tin
Trang 112
1 Mục đích của luận văn
Giấu dữ liệu là một lĩnh vực rộng lớn, trong luận văn này chỉ trình bày các
kỹ thuật giấu dữ liệu trong ảnh, giới thiệu các phương pháp nhằm nâng cao chất lượng giấu tin
Do khuôn khổ nghiên cứu, nội dung luận văn tập trung vào việc trình bày một số kỹ thuật giấu dữ liệu trong ảnh đã được công bố, sau đó giới thiệu các kỹ thuật giấu dữ liệu trong ảnh nhị phân và ảnh đa cấp xám theo tiếp cận module của nhóm tác giả PGS.TS Phan Trung Huy[1], [14], [15] và xây dựng một chương trình giấu tin thực nghiệm thực hiện các thuật toán giấu tin , và
2 Những đóng góp của luận văn
- Luận văn cung cấp một cách nhìn tổng quát về giấu tin trên môi trường đa phương tiện
- Luận văn trình bày các phương pháp và chứng minh về tính đúng đắn của thuật toán Wu-Lee [4], CPT [5] với cách chứng minh sẽ giúp quá trình nghiên cứu thuật toán này trở nên dễ dàng hơn
- Trình bày ba thuật toán giấu tin trên ảnh nhị phân và ảnh đa cấp xám theo tiếp cận module của nhóm tác giả PGS.TS Phan Trung Huy
- Xây dựng chương trình giấu tin thực nghiệm cài đặt các thuật toán theo tiếp cận module , ,
Trang 123
Chương 1 TỔNG QUAN VỀ GIẤU TIN TRONG ẢNH SỐ
1.1 Khái niệm giấu tin
“Giấu 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 Giấu tin trong ảnh số là giấu các mẩu tin cũng là dạng số trong máy tính vào các tệp ảnh nhị phân sao cho không bị người ngoài phát hiện
Kỹ thuật giấu tin nhằm hai mục đích: 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 mang tin giấu Hai mục đích khác nhau này dẫn đến hai kỹ thuật chủ yếu của giấu tin Đó là giấu tin mật và thủy vân số Nói chung giấu tin trong đa phương tiện là tận dụng “độ dư thừa” của phương tiện giấu để thực hiện việc giấu tin mà người ngoài cuộc “khó” cảm nhận được có thông tin giấu trong đó
1.2 Lịch sử giấu tin
Giấu tin bắt nguồn từ Hy Lạp, tiếng Hy Lạp gọi đó là Stenography có nghĩa là "dòng chữ bị che phủ" Mục đích cơ bản của giấu tin là nhúng mẩu tin mật vào một môi trường truyền tin bình thường sao cho người khác không thể phát hiện
ra mẩu tin mật đó
500 năm trước, một nhà toán học người Ý tên là Jérôme Cardan đã sáng tạo lại một phương thức văn bản bí mật cổ xưa của người Trung Quốc Văn bản được làm như sau: một tờ giấy làm mặt nạ có nhiều lỗ thủng mà người gửi và người nhận đều biết, mặt nạ này sẽ được đặt trên một tờ giấy trắng và người gửi sẽ viết thông điệp bí mật qua các lỗ thủng trên mặt nạ sau đó vứt mặt nạ đó đi và điền phần còn lại vào tờ giấy trắng như tờ giấy này toàn các thông tin vô thưởng
vô phạt (hình 1.1)
Hình 1-1 Từ trái qua phải: Mặt nạ, văn bản, thông điệp được truyền bí mật trong văn bản
Trang 134
Ngày nay nghệ thuật giấu tin được nghiên cứu để phục vụ các mục đích tích cực như bảo vệ bản quyền, thủy vân số, hay phục vụ giấu các thông tin bí mật về quân sự và kinh tế Sự phát triển của công nghệ thông tin đã tạo ra những môi trường giấu tin vô cùng tiện lợi và phong phú Người ta có thể giấu tin trong các tệp ảnh, trong các tệp âm thanh, tệp văn bản Cũng có thể giấu tin ngay trong các khoảng trống hay các phân vùng ẩn của môi trường lưu trữ như đĩa cứng, đĩa mềm Các gói tin truyền đi trên mạng cũng là môi trường giấu tin quan trọng và ngay cả các tiện ích phần mềm cũng là môi trường lý tưởng để gài các thông tin quan trọng để xác nhận bản quyền
1.3 Mô hình giấu tin cơ bản
Hình 1-2 Lược đồ quá trình giấu tin mật
Hình 1.2 biểu diễn mô hì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 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à những chương trình thực hiện theo những 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 một số hệ mật mã Đầu ra
Trang 145
của quá trình nhúng tin là phương tiện chứa đã được giấu tin Các phương tiện chứa này có thể được phân phối trên mạng
Hình 1-3 Lược đồ quá trình giải mã tin mật
Hình 1.3 mô tả quá trình giải mã thông tin đã được giấu trước đó Đầu vào là phương tin có chứa tin giấu, qua một bộ giải mã tin (tương ứng với bộ nhúng tin) cùng với khóa sẽ được thực hiện việc giải mã thông tin Đầu ra của quá trình là phương tiện chứa tin và thông tin mật đã giấu trước đó Trong trường hợp cần thiết, thông tin lấy ra có thể được xử lý, kiểm định và so sánh với thông tin đã giấu ban đầu
1.4 Phân loại các kỹ thuật giấu tin
Kỹ thuật giấu tin nhằm mục đích đảm bảo an toàn và bảo mật thông tin ở hai khía cạnh Một là bảo mật cho giữ liệu được đem giấu (embedded data), chẳng hạn như giấu tin mật: thông tin mật được giấu kỹ trong một đối tượng khác sao cho người khác không phát hiện được (steganography), hai là bảo mật cho chính đối tượng được dùng để giấu tin (host data), chẳng hạn như ứng dụng bảo vệ bản quyền, phát hiện xuyên tạc thông tin (watermarking)
Trang 156
Hai khía cạnh khác nhau này dẫn đến hai khuynh hướng kỹ thuật chủ yếu của giấu tin Khuynh hướng thứ nhất là giấu tin mật (Steganography) Khuynh hướng này tập trung vào các kỹ thuật giấu tin sao cho thông tin giấu được càng nhiều càng tốt và quan trọng là người khác khó phát hiện được một đối tượng có bị giấu tin bên trong hay không Khuynh hướng thứ hai là thuỷ vân số (watermarking) Khuynh hướng thuỷ vân số đánh giấu vào đối tượng nhằm khẳng định bản quyền sở hữu hay phát hiện xuyên tạc thông tin Thuỷ vân số có miền ứng dụng lớn hơn, đòi hỏi độ bền vững cao của các thông tin cần giấu đối với các biến đổi thông thường của các tệp dữ liệu môi trường nên được quan tâm nghiên cứu nhiều hơn và thực tế
đã có nhiều những kỹ thuật dành cho khuynh hướng này
Hình 1-4 Phân loại các kỹ thuật giấu tin
Phạ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
1.5 Các ứng dụng của kỹ thuật giấu tin
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
Trang 167
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 sản 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, 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 là phá hủy sản phẩm
Xác thực thông tin hay phát hiện giả mạo: 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 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 giấu vết trong khi phân phối
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
Trang 178
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 không thể phát hiện
1.6 Giấu tin trong dữ liệu đa phương tiện
Kỹ thuật giấu tin đã được nghiên cứu và áp dụng trong nhiều môi trường dữ liệu khác nhau như trong dữ liệu đa phương tiện (text, image, audio, video), trong sản phẩm phần mềm và gần đây là những nghiên cứu trên môi trường cơ sở dữ liệu quan hệ Trong các môi trường dữ liệu đó thì dữ liệu đa phương tiện là môi trường chiếm tỉ lệ chủ yếu trong các kỹ thuật giấu tin
1.6.1 Giấu tin trong ảnh và các đặc trưng
Giấu tin trong ảnh, hiện nay, là một bộ phận chiếm tỷ lệ lớn nhất trong các chương trình ứng dụng, các phần mềm, hệ thống giấu tin trong dữ liệu đ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 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ư: xác 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 nhập, giấu tin mật … 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
1.6.1.1 Giấu tin trong ảnh
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à ít ai biết được bên trong bức ảnh đó mang những thông tin có ý nghĩa khác Và ngày nay, khi ảnh số đã được sử dụng phổ biến, thì giấu tin đã đem lại rất nhiều những ứng dụng quan trọng trong trên nhiều lĩnh vực trong đời sống xã hội Ví dụ như đối với các nước phát triển, chữ ký tay đã được số hóa 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 để xác nhận các thẻ tín dụng của người tiêu dùng 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, chúng rất dễ bị lấy cắp và bị thay đổi bởi các phần
Trang 189
mềm chuyên dụng Phát hiện thông tin xuyên tạc đã trở nên vô cùng quan trọng và cấp thiết Một đặc điểm của giấu tin trong ảnh đó là thông tin được giấu trong ảnh một cách vô hình, nó như là một cách truyền thông tin mật cho nhau mà người khác không thể biết được bởi sau khi giấu 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 đa mức xám
1.6.1.2 Các đặc trưng cơ bản
Giấu tin trong ảnh chiếm vị trí chủ yếu trong các kỹ thuật giấu tin, vì vậy mà 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 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ú ý tới các đặc trưng cơ bản sau đây:
- Phương tiện có chứa dữ liệu tri giác tĩnh
Dữ liệu gốc ở đây là dữ liệu tĩnh, dù đã giấu 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 âm thanh và dữ liệu băng hình vì khi ta nghe hay xem thì dữ liệu gốc sẽ thay đổi liên tục với tri giác của con người theo các đoạn, các bài hay các ảnh…
- Kỹ thuật giấu phụ thuộc ảnh
Kỹ thuật giấu tin phụ thuộc vào các loại ảnh khác nhau Chẳng hạn đối với ảnh đen trắng, ảnh xám hay ảnh màu ta cũng có những kỹ thuật riêng cho từng loại ảnh có những đặc trưng khác nhau
- 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 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ỏ
Trang 1910
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 kém nhất trong ba màu cơ bản
- Giấu tin trong ảnh tác động lên dữ liệu ảnh nhưng không thay đổi kích thước ảnh
Các thuật toán thực hiện công việc giấu tin sẽ được thực hiện trên dữ liệu của ảnh Dữ liệu ảnh bao gồm phần header, bảng màu (có thể có) và dữ liệu ảnh Do vậy
mà kích thước ảnh trước và sau khi giấu tin là như nhau
- Đảm bảo chất lượng 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 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 dường như khá đơn giản đối với ảnh màu hoặc ảnh xám bởi mỗi điểm ảnh được biểu diễn bởi nhiều bit, nhiều giá trị và khi ta thay đổi một giá trị nhỏ nào đó thì chất lượng ảnh thay đổi không đáng kể, thông tin giấu khó bị phát hiện, nhưng đối với ảnh đen trắng mỗi điểm ảnh chỉ là đen hoặc trắng,
và nếu ta biến đổi một bit từ trắng thành đen và ngược lại mà không khéo thì sẽ rất
dễ bị phát hiện Do đó, yêu cầu đối với các thuật toán giấu tin trong ảnh màu hay ảnh xám và giấu 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 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 lại tập trung vào việc làm thế nào để thông tin giấu khó bị phát hiện nhất
- Thông tin trong ảnh sẽ bị biến đổi nếu có bất cứ biến đổi nào trên ảnh
Vì 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 Theo đó, nếu một phép biến đổi nào đó trên ảnh làm thay đổi giá trị
Trang 2011
của các bit thì sẽ làm cho thông tin giấu bị sai lệch Nhờ đặc điểm này mà giấu tin trong ảnh có tác dụng nhận thực và phát hiện xuyên tạc thông tin
- Vai trò của ảnh gốc khi giải tin
Các kỹ thuật giấu tin phải xác định rõ ràng quá trình lọc ảnh để lấy thông tin giấu cần đến ảnh gốc hay không cần Đa số các kỹ thuật giấu tin mật thì thường không cần ảnh gốc để 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 mà không cần dùng đến ảnh gốc để so sánh đối chiếu
1.6.2 Giấu tin trong Audio
- Kỹ thuật này phụ thuộc vào hệ thống thính giác của con người, sử dụng các âm thanh to cao tần để che giấu các âm thanh nhỏ, thấp
- Giấu thông tin trong audio mang những đặc điểm riêng khác với giấu thông tin trong các đối tượng đa phương tiện khác như ảnh, video, văn bản 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 Để đảm bảo yêu cầu này ta lưu ý rằng kỹ thuật giấu thông tin trong ảnh phụ thuộc vào hệ thống thị giác của con người – HSV (Human Vision System) còn kỹ thuật giấu thông tin trong audio lại phụ thuộc vào hệ thống thính giác HAS (Human Auditory System)
- Khó khăn của việc giấu thông tin trong audio:
Thứ nhất: Hệ thống thính giác của con người nghe được các tín hiệu ở các giải tần rộng và công suất lớn nên đó gây khó dễ đối với các phương pháp giấu tin trong audio Nhưng tai con người lại kém trong việc phát hiện sự khác biệt các giải tần và công suất 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
Thứ hai: Đó là kênh truyền tin, kênh truyền hay băng thông chậm sẽ ảnh hưởng đến chất lượng thông tin sau khi giấu Giấu thông tin trong audio đòi hỏi yêu cầu rất cao về tính đồng bộ và tính an toàn của thông tin Các phương pháp giấu
Trang 2112
thông tin trong audio đều lợi dụng điểm yếu trong hệ thống thính giác của con người
1.6.3 Giấu thông tin trong video
- Ý tưởng cơ bản của phương pháp này là phân phối thông tin giấu giàn trải theo tần số của dữ liệu gốc Cụ thể giấu cả âm thanh và hình ảnh vào video Phương pháp này được đưa ra bởi Cox và được nhiều nhà nghiên cứu thử nghiệm dùng các hàm cosin riêng và các hệ số truyền sóng riêng để giấu tin và đem lại hiểu quả cao 1.6.4 Tổng quan về ảnh số
Một vài định dạng phổ biến cho file ảnh kĩ thuật số bao gồm BMP, GIF, PNG, JPG, … Trong đồ họa máy tính BMP còn được biết đến với tên Windows bitmap, là một định tập tin hình ảnh phổ biến Có 3 dạng ảnh số phổ biến: Ảnh nhị phân, ảnh đa mức xám, ảnh màu
Ảnh Bitmap
Ảnh Bitmap là định dạng ảnh do Microsoft đề xuất, có phần mở rộng là BMP, loại ảnh này truyền tải, sử dụng rộng rãi trên máy tính, và các thiết bị điện tử khác
Ảnh bitmap được chia thành ba dạng: Ảnh đen trắng, ảnh đa mức xám và Ảnh màu
Ảnh màu : Không gian màu là những phương pháp định lượng màu sắc được thiết lập công thức một cách khoa học Hệ thống không gian màu cho phép mỗi màu được xác định theo số học, bằng cách đó ta có thể chọn và lặp lại những màu nào đó thật chính xác Bạn sẽ tiếp xúc với những không gian màu chính sau đây: HLS (sắc thái, quang độ và độ bão hòa), HSB (sắc thái, độ bão hòa và độ đậm nhạt), RGB (đỏ, lục, lam) và CYMK (xanh hóa học, vàng, tím sen, đen) CMYK là không gian màu được sử dụng trong công nghiệp in ấn và bị giới hạn bởi mức độ thể hiện của mực in và chất màu Không gian RGB - hệ thống màu thường gặp nhất
Trang 22Hình 1-5 Ví dụ về ảnh màu
Ảnh nhị phân là ảnh kỹ thuật số mà chỉ có hai giá trị có thể cho mỗi pixel Thông thường hai màu sắc được sử dụng cho một ảnh nhị phân là đen và trắng (ảnh đen trắng), mặc dù có thể được sử dụng bất kỳ hai màu sắc khác Có màu sắc được
sử dụng cho đối tượng trong hình là màu nền trước khi phần còn lại của hình ảnh là màu nền
Ả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
Trang 2415
thông tin về ảnh (BITMAP INFOR), bảng màu (PALLETE Table) và vùng dữ liệu ảnh (DATA) Và thứ tự các phần của tệp ảnh được lưu trữ tuần tự trong bộ nhớ như trong hình Bảng 1.1
BITMAP HEADER BITMAP INFOR PALLETE Table DATA Bảng 1-1 Minh hoạ cấu trúc tệp ảnh bitmap
Ý nghĩa các phần trong tệp ảnh bitmap
Bitmap Header: mô tả thông tin chung về File định dạng bitmap, độ dài của phần này được cố định với mọi file ảnh bitmap
Bitmap Infor: mô tả thông tin về ảnh được lưu trữ, độ dài của phần này cũng
cố định
Pallete Table: 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 và ảnh màu có số lượng màu lớn hơn 256 màu
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 và từ trái qua phải
Kích thước và giá trị các trường trong tệp ảnh bitmap
Bitmap Header
Phần bitmap header có độ dài cố định là: 14 byte, phần này dùng để mô tả thông tin chung về file như: Kiểu file, độ dài của tệp và một số thông tin liên quan đến tệp ảnh
Trang 2516
Ý nghĩa của từng trường được mô tả trong bảng 1.2
trình nhận dạng
3 -> 6 Unsigned long Kích thước file
11 -> 14 Unsigned long Địa chỉ phần dữ liệu ảnh
Bảng 1-2 Ý nghĩa từng trường trong vùng Bitmap Header
Trong phần Bitmap Header có mô tả thông tin về độ dài của file, thông tin này thực sự cần thiết đối với mọi chương trình Nhưng qua quá trình thực nghiệm đối với một số file thì thông tin này lại không chính xác, và trong luận văn đưa ra cách tính kích thước file thông qua công thức:
FileSize = Sizeof(Bitmap Header) + Sizeof(Bitmap Infor)
+ Sizeof(Pallete) + Sizeof(Data) (1.1)
Địa chỉ vị (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(Pallete Table) (1.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
Bitmap Infor
Bitmap Infor dùng để mô tả thông tin về ảnh đang được lưu trữ trong file, kích thướcc của phần này cố định là 40 byte
Trang 2617
Ý nghĩa và giá trị của từng trường trong vùng Bitmap Infor được mô tả chi tiết trong Bảng 1.3
Offset
1 -> 4 40 Số lượng byte của cùng Bitmap Infor
5->8 Unsigned long Độ rộng của ảnh tính theo Pixel
9 -> 12 Unsigned long Độ cao của ảnh tính theo Pixel
15 -> 16 Unsigned integer Số bit để biểu diễn một điểm ảnh
17 -> 20 Unsigned long Kiểu nén
21 -> 24 Unsigned long Kích thước của ảnh tính theo Byte
25 -> 28 Unsigned long Độ phân giải của ảnh theo chiều ngang
29 -> 32 Unsigned long Độ phân giải của anh theo chiều ngang 33->36 Unsigned long Số lượng màu trong bảng màu
37 -> 40 Unsigned long Số màu quan trọng
Bảng 1-3 Ý nghĩa và giá trị các trường trong vùng Bitmap Infor
Pallete Table
Bảng màu là tập các màu được sử dụng trong ảnh (ảnh 8 bit màu), mỗi một màu trong bảng màu được gọi là một Entry và được lưu trữ bởi 4 byte, mỗi thành phần màu được lưu trữ một byte còn một byte để dữ trữ (chứa dùng) và thứ tự lưu trữ là B, G, R, Reserved Như vậy kích thước của bảng màu có thể được tính theo công thức:
Trang 27Sizeof(Data) = Width * Height (1.4)
Sizeof(Data) = Width * Height * Bit_Number_of_Pixel (1.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, do vậy kích thước của vùng này được tính theo công thức (1.4)
Như đã trình bày ở trên, 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
Trang 2819
Chương 2 MỘT SỐ PHƯƠNG PHÁP GIẤU TIN TRÊN ẢNH NHỊ PHÂN
Trong chương này, tập trung trình bày, phân tích, đánh giá, so sánh kết quả thực hiện của một số kỹ thuật giấu tin trên không gian ảnh nhị phân Dựa trên sự phân tích, đánh giá hai kỹ thuật giấu tin của Wu-Lee và của Y.Chen, H.Pan, Y.Tseng, trong luận văn đưa ra một số nhận xét theo khía cạnh kỹ thuật và ứng dụng Các nhận xét này sẽ là cơ sở để cải tiến, phát triển một số thuật toán giấu tin được trình bày trong chương tiếp theo
Dựa vào dự phân tích đánh giá kỹ thuật giấu tin của Y.Chen, H.Pan, Y.Tseng trong chương này, luận văn sẽ trình bày một phương pháp chứng minh về tính đúng đăn cho thuật toán giấu tin CPT Với cách chứng minh, không những giúp người đọc dễ hiểu hơn, mà phương pháp chứng minh này còn chỉ ra được cận trên của quá trình lặp trong thuật toán
2.1 Kỹ thuật giấu tin theo khối bít
2.1.2 Thuật toán giấu tin
Quá trình giấu tin
Trang 2920
Ảnh nhị phân G được biến đổi từ F và G có chứa dãy bít b1 b2 bN
Nội dung thuật toán
Bước 1: Chia ảnh gốc F thành các ma trận điểm ảnh Fi có kích thước mxn
Để không mất tính tổng quát, chúng ta giả sử F luôn chia được thành N khối kích thước mxn
Bước 2: Với mỗi khối Fi (i = 1,2, ….,N) sẽ tiến hành giấu một bit bi (bi = 0 hoặc bi =1) bằng cách biến đổi Fi thành Gi sao cho Gi thỏa mãn bất biến sau:
,
|2
mod),(
Bước 3: Kết hợp các khối Gi ta sẽ thu được ảnh G chứa dãy bít b1 b2…… bN
Quá trình giải tin
Khi nhận được ảnh đã giấu tin, quá trình giải mã tin sẽ được thực hiện theo các bước sau đây
Chia ảnh thành các khối có kích thước giống kích thước khối đã sử dụng khi thực hiện giấu, đây chính là khoá để giải mã
Với mỗi khối việc giải tin theo quy tắc: đếm số bít 1 trong khối, nếu tổng số bít 1 là lẻ thì thu được bít 1, ngược lại thu được bít 0 Và cứ tiếp tục cho đến khi hết các khối đã giấu
Như vậy, sau khi xét hết các khối đã giấu ta thu được một chuỗi bit Chuỗi bit này chính là thông tin đã giấu trong ảnh nhị phân
2.1.3 Phân tích thuật toán
Thuật toán giấu tin trong ảnh 2.1 là rất đơn giản Sau khi nghiên cứu thuật toán này có thể đưa ra một số nhận xét và đánh giá sau đây
Tuỳ theo yêu cầu của việc giấu tin, việc chọn kích thước khối để giấu tin cần phải căn cứ vào kích thước ảnh và lượng thông tin cần giấu sao cho các thông tin được giấu giàn trải trên toàn ảnh
Trang 3021
Tuỳ theo mục đích của việc giấu tin và nhu cầu về lượng thông tin giấu ta sẽ chọn kích thước khối phù hợp Kích thước khối càng lớn thì lượng thông tin có thể giấu càng thấp, đồng thời ảnh sau khi giấu tin cũng ít thay đổi ảnh gốc và ngược lại Với thuật toán này, việc chia ảnh gốc thành các khối điểm ảnh có kích thước giống nhau là khá đơn giản Tuy nhiên, để tăng tính an toàn cho thuật toán chúng ta
có thể chia ảnh gốc thành các khối điểm ảnh có kích thước khác nhau và vị trí bắt đầu của mỗi khối theo một thuật toán xác định nào đó Khi đó, để giải mã được tin
đã giấu các thuật toán thám mã không những phải xác định kích thước của từng khối mà còn phải xác định vị trí bắt đầu của mỗi khối thay cho việc chỉ cần tìm kích thước của các khối như trong thuật toán giấu tin trong 2.1
Bản chất của cách thức giấu chẳng qua là một sự quy ước nào đó, nếu thoả mãn thì giấu bit 1, ngược lại thì giấu bit 0 Các khối ảnh sau khi giấu tin luôn thoả mãn một tính chất (bất biến) và tính chất này là cơ sở cho quá trình giải mã tin giấu
Sở dĩ ta thực hiện được điều này vì thông tin giấu chỉ có hai trường hợp, một là bit
1, hai là bit 0
Kỹ thuật trên sẽ gặp phải hiện tượng gây bất thường đối với ảnh sau khi giấu thông tin, đặc biệt là khi cần phải thay đổi giá trị của một phần tử trên khối ảnh một màu (toàn số 0 hoặc toàn số 1) Khi đó, bằng mắt thường chúng ta có thể dễ dàng nhận ra sự thay đổi của ảnh trước và sau khi giấu tin
Quá trình tách lấy thông tin đã giấu trong kỹ thuật này sử dụng khoá là kích thước của khối, không cần sử dụng ảnh gốc
2.2 Tỷ lệ giấu tin tối đa
Trong phần này, không mất tính tổng quát ta chỉ xét một ma trận F xác định
có kích thước m×n của các điểm ảnh thuộc ảnh G F được xét như là một tập hợp của các điểm ảnh, trong đó tùy tình huống, ta xem mỗi phần tử Fij (hoặc cặp (i,j))được xem như là một điểm ảnh, và cũng có thể xem như là màu của điểm ảnh Đặt q = mn Cho k là số nguyên > 1 thể hiện số mầu của các điểm ảnh Fij, đối với
Trang 3122
ảnh nhị phân k=2, với ảnh mầu nói chung k>2 Việc thay đổi điểm ảnh Fij được hiểu
là màu Fij được thay đổi thành mầu Fij’ với k cách khác nhau
Chúng ta xét các phương pháp mở rộng dựa trên CPT (CPTE schemes) là các phương phương pháp giấu tin trong một ma trận F bằng cách thay đổi nhiều nhất 2 phần tử thuộc F Với F đã chọn, mỗi ma trận F’ sau khi có sự thay đổi các phần tử được gọi là một cấu hình Vì mỗi phần tử có k-1 cách thay đổi, do đó ta có số cấu hình tối đa có được khi ta thay đổi một phần tử của F là (k-1).q, nếu chúng ta thay đổi 2 phần tử đồng thời thì sẽ thu được tối đa (k-1).q.(q-1)/2 cấu hình
Như vậy nếu ta thay đổi từ 0 đến 2 phần tử thì số cấu hình tối đa thu được là 1+(k-1).q+(k-1).q.(q-1)/2 Điều này có nghĩa là chúng ta có thể giấu nhiều nhất
R= log2(1+(k-1).q+(k-1)2.q.(q-1)/2) bit mật trong F
Đối với trường hợp ảnh nhị phân ta có k=2, do vậy R = log2(1+q+q.(q-1)/2)
= log2(1+q.(q+1)/2)
Ta gọi R là tỷ lệ giấu tin tối đa (MSDR) của các phương pháp giấu tin trên ảnh nhị phân dựa trên phương pháp CPT mở rộng
2.3 Kỹ thuật giấu tin Wu – Lee
Kỹ thuật giấu tin theo khối bit trong 2.1 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 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ể sẽ thay đổi giá trị của một bit trong các khối ảnh toàn màu đen hoặc toàn màu trắng Điều này sẽ có thể dẫn tới sự bất thường ở vị trí thay đổi so với các vị trí lân cận trong khối
Thuật toán giấu thông tin trong ảnh đen trắng do M.Y.Wu và J.H.Lee [4] đưa
ra trong một bài báo đăng tại Proceedings of international Symposium on Multimedia Information Processing 1999 đã khắc phục được phần nào những tồn tại nêu trên bằng cách đưa thêm khoá K cho việc giấu tin và đưa thêm các điều kiện để thay đổi bit trong mỗi khối
Trang 3223
2.3.1 Thuật toán giấu tin
Cho hai ma trận A và B cùng kích thước, ta định nghĩa một số phép toán trên
0 1 0
1 0 1 0 4 3
0 1 1
1 1 1 1 1 0
1 1 0
1 0 1
Theo định nghĩa 2.2.1, nếu phép toán được áp dụng trên hai ma trận nhị phân khi đó nó sẽ tương đương với phép toán and nhị phân thông thường
Định nghĩa 2.2.2: Phép đảo giá trị phần tử Ai,j (ký hiệu NOT (Aij )) được định nghĩa: Cij = NOT (Aij), vơi Cij = 1 nếu Aij = 0 và Cij = 0 nếu Aij=1
Định nghĩa 2.2.3: Phép SUM trên ma trận A kích thước mxn (ký hiệu SUM(A) ) được định nghĩa: s= SUM(A) =
m i
3 1 0
1 0 1
Tư tưởng giấu tin của Wu - Lee
Thuật toán giấu tin 2.2 được thể hiệu như sau: chia ảnh môi trường thành các khối điểm ảnh có cùng kích thước mxn Với mỗi khối điểm ảnh F (ma trận điểm ảnh) có thể được giấu tối đa 1 bit b (b= 0 hoặc b = 1) Quá
Trang 33- Fmxn là ma trận nhị phân và là ma trận môi trường để giấu tin
- Kmxn là ma trận nhị phân khoá và giá trị của ma trận K phải được giữ bí mật
- b là bít nhị phân cần giấu (b = 0 hoặc b = 1)
b =SUM(G K) mod 2 (2.4)
Nội dung thuật toán
Bước 1: đặt s = SUM(FK)
Bước 2: if 0 < s < SUM(K) then
// sẽ biến đổi F thành G thoả mãn bất biến 2.2 và 2.3
Xét các trường hợp sau:
Trang 3425
Trường hợp 1 if s mod 2 = b then
G = F // giấu mà không cần biến đổi
Trường hợp 2 if s = SUM(K) -1 then
- Chọn ngẫu nhiên phần tử (i,j) thoả Fi,j = 1 và Ki,j =1
Trường hợp 4 if (s >1) and (s <SUM(K) -1 ) then
- Chọn ngẫu nhiên phần tử (i,j) thoả Ki,j =1
- Fi,j = NOT (Fi,j)
- G = F
2.3.2 Phân tích thuật toán
Thuật toán sử dụng K nhằm làm tăng độ mật cho thuật toán giấu tin, Nếu trước đây chỉ biết kích thước khối là mxn thì đối phương đã có thể dễ dàng giải mã được tin mật thông qua ảnh chứa tin, nhưng với thuật toán của Wu-Lee ngoài giá trị m,n các thuật toán thám mã còn phải xác định giá trị cụ thể của ma trận K Do vậy,
để tìm được ma trận khóa K khi đã biết m, n các thuật toán thám mã phải duyệt O(2m*n) trường hợp khác nhau
Theo định nghĩa phép toán , và bất biến (2.3) nên nội dung thuật toán Lee sẽ biến đổi F thành G sao cho SUM(G K) cùng tính chẵn lẻ với b Do vậy, nếu b không cùng tính chẵn lẻ với SUM(G K) thì thuật toán sẽ thực hiện đảo giá
Trang 352.3.3 Thí dụ minh họa thuật toán Wu-Lee
Giả sử ta cần giấu dãy bit b1b2b3 = 011 vào một ảnh kích thước 6x6 với ma trận khóa K có kích thước 3x3 như trong hình vẽ Ta chia ảnh F thành 4 khối ảnh nhỏ với mỗi khối kích thước là 3x3 ta thu được F1, F2, F3, F4
Hình 2-1 Minh hoạ thuật toán giấu tin của Wu-lee
- Với F1, 0< SUM(F1 K) = 3 < SUM(K) nên thuật toán sẽ giấu b1 (b1=0) vào F1 bằng cách biến đổi F1 thành G1 sao cho SUM(G1 K) mod 2 = b1 Trong trường hợp này, SUM(F1 K) thoả T/h 4 tại Bước 3 trong thuật toán, do vậy chúng
ta sẽ đảo giá trị tại phần tử (i,j) của F1 ứng với Ki,j = 1 Giải sử ta chọn phần tử (1,2) kết quả sẽ thu được như G1
- Vì SUM(F2 K) = 0 nên khối F2 sẽ không được dùng để giấu dữ liệu do vậy G2 = F2
Trang 3627
- Với F3, do F3 thoả mãn điều kiện 0< SUM(F3 K) = 3 < SUM(K), nên thuật toán sẽ thực hiện giấu b2 vào F3 Trong trường hợp này, ta thấy SUM(F3 K) mod 2 = 1 = b2 nên không cần biến đổi F3 và G3 bằng F3
- Với F4, 0< SUM(F4 K) = 4 <SUM(K) nên thuật toán sẽ thực hiện giấu bit b3 = 1 vào khối F4bằng cách biến đổi F4thành G4 thoả mãn tính chất (2) và (3) Do SUM(F4 K) = SUM(K) -1 nên chúng ta chọn ngẫu nhiên phần tử (i,j) mà F4(i,j) =
1 mà Ki,j = 1 và thay đổi F4(i,j) = 0.Giả sử ta chọn phần tử (3,3) kết quả sẽ thu được như G4
2.3.4 Một số nhận xét về thuật toán Wu-lee
Thứ nhất: ảnh môi trường để thực hiện giấu thông tin cũng phải được chọn
kỹ càng Nếu một ảnh có quá nhiều điểm trắng (hoặc đen) thì tỉ lệ bit giấu được sẽ rất thấp
Thứ hai: Vì trong mỗi ma trận điểm ảnh F thuật toán chỉ biến đổi tối đa là một phần tử (từ 1 thành 0 hoặc từ 0 thành 1), do vậy nếu chọn m, n đủ lớn thì sự thay đổi này khó có thể nhận biết bằng mắt thường nhưng khả năng giấu của thuật toán lại giảm đáng kể
Thứ ba: Khi cần biến đổi ma trận F, thuật toán luôn thay đổi ngẫu nhiên một phần tử Fi,j ứng với Ki,j=1 Do vậy, trong một số trường hợp ảnh sau khi được giấu tin sẽ xuất hiện những điểm khác biệt so với ảnh gốc và dễ dàng phân biệt được bằng mắt thường Do đó, để tăng tính che giấu cho thuật toán chúng ta nên chọn phần tử (i,j) có định hướng theo một tiêu chí nào đó
Xét ví dụ giấu bit 0 vào ma trận có kích thước 5x4 với các giá trị cụ thể như sau:
Trang 3728
Giải sử chọn ngẫu nhiên phần (1,4) để thay đổi ta thu được G và thay đổi trên biên (có định hướng) ta chọn phần tử (5,3) kết quả ta được G’ Trong trường hợp này, chúng ta thấy rằng khả năng che giấu của G’ cao hơn G giống như trong Hình 2.2
Hình 2-2 Minh hoạ giữa thay đổi ngẫu nhiên và thay đổi có định hướng
2.4 Kỹ thuật giấu tin Chen – Pan – Tseng
Định nghĩa 2.3.1: Phép XOR hai ma trận nhị phân cùng cấp A và B (ký hiệu
A B) được định nghĩa: C = A B với Cij = 1 nếu Aij Bij và Cij = 0 nếu Aij= BijThí dụ minh hoạ phép toán thực hiện trên hai ma trận nhị phân kích thước 3x3 như sau
0 1 1 0
0 0 0 1
0 1 0 1
1 1 0 0
1 0 1 0
1 0 1 1
1 1 0 0
1 0 1 0
1 1 0 0
1 0 1 0
1 0 0 1
Định nghĩa 2.3.2: Ma trận W kích thước mxn được gọi là ma trận trọng số cấp r (2r <= m*n | r là một số nguyên) nếu mọi phần tử của W thoả mãn điều kiện {Wi,j |i=1 m, j=1 n} = {1,2, …,2r-1}
Thí dụ minh hoạ về ma trận trọng số cấp 3 (r = 3) với ma trận W như sau:
1 7 4
7 6 5
2 3 1 W
Trang 381 7 1
7 6 5
2 3 1
K lại không phải là ma trận trọng số cấp 3 vì
trong ma trận K không tồn tại phần tử (i,j) để Ki,j = 4, mà 4 {1,2, 23-1} vậy {Ki,j
|i=1 m, j=1 n} ≠ {1,2, …,2r-1}
2.4.1 Ý tưởng
Thuật toán giấu tin của ba tác giả Y.Chen, H.Pan, Y.Tseng (CPT) [5] cũng
áp dụng tư tưởng giấu tin theo khối bit nhưng mỗi khối có thể giấu được một dãy r bit (với 2r-1 ≤ m×n) bằng cách thay đổi nhiều nhất hai bit trong khối Như vậy so với thuật toán giấu tin của Wu-Lee, thuật toán CPT có khả năng giấu rất cao, trong khi số bit cần thay đổi khá ít, do đó sẽ không ảnh hưởng đáng kể đến chất lượng ảnh sau khi giấu Thuật toán CPT sử dụng một ma trận trọng số để giấu được một dãy nhiều bit vào trong mỗi khối, và ma trận trọng số này cũng chính là một thành phần
bí mật cùng với ma trận khoá, do vậy độ an toàn của thuật toán CPT cao hơn của thuật toán giấu tin của Wu-Lee
2.4.2 Thuật toán CPT
Tóm tắt thuật toán
Để tiện cho việc trình bày, trong luận văn sẽ trình bày nội dung thuật toán CPT áp dụng cho một khối bit (ma trận nhị phân) Các phép toán sử dụng trong thuật toán này đều được hiểu theo nghĩa mod 2r
Input:
- Fm×n là ma trận nhị phân (khối điểm ảnh) và là môi trường dùng để giấu tin
- r là số bit cần giấu vào ma trận F, r phải thỏa mãn điều kiện 2r≤m×n
- Km×n là ma trận nhị phân và là khóa bí mật để giải tin
- Wm×n là ma trận trọng số cấp r, ma trận W được giữ bí mật
- b1,b2, ,br là dãy bit nhị phân cần giấu
Trang 3930
Output:
Gọi b là giá trị thập phân của dãy b1,b2, ,br, G là ma trận sau khi đã giấu b vào F bằng cách biến đổi tối đa 2 phân tử trong ma trận F, khi đó G phải thoả mãn bất biến (2.5)
Trang 4031
Trường hợp 2.1 Nếu ZdØ thì chọn (i,j) Zd rồi đảo giá trị phần tử Fi,j, khi đó theo định nghĩa (2.1) S sẽ tăng thêm d đơn vị do đó đạt được bất biến (2.7) Trường hợp 2.2 Nếu Zd = Ø thì tiếp tục xét Z2d, Z3d Chọn h là số tự nhiên đầu tiên thoả mãn ZhdØ (xem nhận xét 2.1 bên dưới)
+ Chọn (i,j) Zhd và thay đổi bit Fi,j, khi đó theo (2.6) S tăng thêm một lượng
là hd (2.8) + Chọn (u,v) Zd-hd và thay đổi Fu,v, khi đó theo (2.6) S tăng thêm một lượng là d-hd (Zd-hd Ø xem nhận xét 3.2 bên dưới) (2.9)
Từ (2.8) và (2.9) suy ra cần thay đổi hai bit Fi,j và Fu,v của F để có thể giấu được r bit thông tin vào F
Nhận xét 2.1 Qua các bước thực hiện của thuật toán nhận thấy thuật toán sẽ luôn thực hiện được nếu tồn tại h thoả mãn ZhdØ
Điều này sẽ được chứng minh trong mục tiếp theo
2.4.3 Cách chứng minh về tính đúng đắn của thuật toán
Nhận xét 3.1 Theo định nghĩa tập Zα và tính chất của ma trận trọng số W thì
Vì vậy phải tồn tại ít nhất một cặp (i,j) sao cho Wi,j = α
Mặt khác do T là ma trận nhị phân nên Ti,j có giá trị bằng 0 hoặc 1 Xét các trường hợp:
- Nếu Ti,j = 0: Do Wi,j = α nên (i,j) thoả điều kiện thứ nhất trong (2.6), vậy (i,j) Zα