Những đóng góp của luận văn Trong luận văn này tôi sẽ trình bày một số thuật toán giấu tin mật đã được công bố và đánh giá một số thuật toán phát hiện ảnh có giấu tin dựa trên phương phá
Trang 1TẠ THỊ THU QUYÊN
TÌM HIỂU MỘT SỐ THUẬT TOÁN GIẤU TIN MẬT TRONG ẢNH KỸ THUẬT SỐ VÀ XÂY DỰNG MỘT
THUẬT TOÁN GIẤU TIN MẬT
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
THÁI NGUYÊN, 2017
Trang 2TẠ THỊ THU QUYÊN
TÌM HIỂU MỘT SỐ THUẬT TOÁN GIẤU TIN MẬT TRONG ẢNH KỸ THUẬT SỐ VÀ XÂY DỰNG MỘT
THUẬT TOÁN GIẤU TIN MẬT
Chuyên ngành: Khoa học máy tính
Mã số: 60 48 01 01
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Người hướng dẫn khoa học: TS Hồ Văn Canh
THÁI NGUYÊN, 2017
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan kết quả tìm hiểu, nghiên cứu trong luận văn là của cá nhântôi Các số liệu, kết quả nêu trong luận văn này là trung thực và chưa được công bốtrong bất kỳ công trình nào khác Các trích dẫn số liệu và kết quả tham khảo đều cóxuất xứ rõ ràng và được trích dẫn hợp phát
Thái nguyên, tháng 6 năm 2017
Tác giả luận văn
Tạ Thị Thu Quyên
Trang 4MỤC LỤC
LỜI CAM ĐOAN ……….i
MỤC LỤC ii
DANH MỤC CÁC KÍ HIỆU VÀ CHỮ VIẾT TẮT iv
DANH MỤC CÁC HÌNH VẼ v
LỜI CẢM ƠN vi
MỞ ĐẦU 1
1 Đặt vấn đề 1
2 Những đóng góp của luận văn 1
3 Bố cục của luận văn 1
CHƯƠNG I: TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN TRONG ẢNH 3
1.1 Khái niệm: 3
1.2 Phân loại kỹ thuật giấu tin: 3
1.3 Các đặc trưng và tính chất của giấu tin trong ảnh: 4
1.4 Ứng dụng phổ biến của kỹ thuật giấu tin: 6
1.5 Các tiêu chuẩn đánh giá và so sánh các kỹ thuật giấu tin trong ảnh 8
1.6 Các phương pháp phân tích ảnh có giấu tin: 10
CHƯƠNG 2 MỘT SỐ THUẬT TOÁN GIẤU TIN MẬT TRONG ẢNH SỐ 11
2.1 Kỹ thuật giấu tin mật 11
2.1.1 Kỹ thuật giấu tin theo khối bit 11
2.1.2 Thuật toán Wu-lee [10] 14
2.1.3 Thuật toán giấu tin Chen-Pan-Tseng [16] 17
2.2 Kỹ thuật phát hiện ảnh có giấu tin mật 24
2.2.1 Kỹ thuật phân tích cặp giá trị điểm ảnh 24
2.2.2 Kỹ thuật phân tích đối ngẫu 27
2.2.3 Kỹ thuật phân tích cặp mẫu SPA 30
CHƯƠNG III: XÂY DỰNG MỘT THUẬT TOÁN GIẤU TIN MẬT 36
3.1 Thuật toán giấu tin mật mới [10][15] 36
3.1.1 Một số cơ sở lý thuyết toán học 36
3.1.2 Ứng dụng 40
3.1.3 Xây dựng thuật toán giấu tin trong ảnh 42
3.1.4 Ví dụ ứng dụng thuật toán 44
Trang 53.1.5 Độ an toàn của thuật toán 46
3.1.6 Nhận xét đánh giá 47
3.1.7 Kết quả thử nghiệm 48
3.2 Chương trình thử nghiệm 49
3.2.1 Môi trường cài đặt 49
3.2.2 Mô hình hệ thống 49
KẾT LUẬN 53
TÀI LIỆU THAM KHẢO 54
Trang 6DANH MỤC CÁC KÍ HIỆU VÀ CHỮ VIẾT TẮT
1 BMP Basic Metabolic Panel - Ảnh bipmap
2 GIF Graphics Interchange Format - Ảnh có định dạng GIF
3 JPEG Joint Photographic Experts Group - Ảnh nén JPEG
4 LSB Least Significant Bit - Bit có trọng số thấp nhất
5 PNG Portable Network Graphics - Ảnh nén PNG
6 PoV Pairs of Values - cặp giá trị điểm ảnh chẵn/lẻ
7 HVS Human Vision System
8 RGB Red – Green – Blue
Trang 7DANH MỤC CÁC HÌNH VẼ
Hình 2.1 Minh họa giấu bit b = 0 vào khối nhị phân B 12
Hình 2.2 Minh họa giấu dãy bit M = 110 vào 4 khối ảnh nhị phân 16
Hình 2.3 Minh họa kết quả sau khi giấu tin theo thuật toán Chen-Pan-Tseng 24
Hình 2.4 Xích hữu hạn trạng thái với các trạng thái là các tập con của Cm (m > 0) 33 Hình 2.5 Xích hữu hạn trạng thái cho tập C0 33
Bảng 3.1 Bảng quy đổi 42
Hình 3.1 Giao diện chính của chương trình 50
Hình 3.2 Giao diện giấu tin 51
Hình 3.3 Giao diện giấu file dữ liệu 51
Hình 3.4 Giao diện tách tin 52
Hình 3.5 Ảnh trước và sau khi giấu tin 52
Trang 8LỜI CẢM ƠN
Em xin chân thành cảm ơn toàn thể các thầy cô giáo trong trường Đại họccông nghệ thông tin và truyền thông Đại học Thái Nguyên đã hết lòng dạy dỗ chỉbảo, tạo điều kiện tốt cho em trong suốt quá trình học tập cũng như trong thời gianthực hiện luận văn này Đặc biệt em xin gửi lời cảm ơn chân thành và sâu sắc tới
TS Hồ Văn Canh người đã trực tiếp quan tâm, tận tình hướng dẫn giúp đỡ và tạođiều kiện hết sức thuận lợi để em có thể hoàn thành luận văn này Em xin kính chúcthầy và gia đình luôn luôn mạnh khỏe và hành phúc
Tôi cảm ơn các bạn đồng khóa, các đồng nghiệp và gia đình đã động viên,giúp đỡ tôi rất nhiều trong quá trình học tập tại trường Đại học công nghệ thông tin
và truyền thông Đại học Thái Nguyên cũng như trong quá trình thực hiện luậ n vănnày
Mặc dù em đã cố gắng hoàn thành luận văn trong phạm vi và khả năng chophép nhưng chắc chắn sẽ không tránh khỏi những sai sót, kính mong nhận được sựchỉ bảo tận tình của quý thầy cô và các bạn
Thái nguyên, tháng 6 năm 2017
Tạ Thị Thu Quyên
Trang 9MỞ ĐẦU
1 Đặt vấn đề
Với sự phát triển mạnh mẽ của công nghệ thông tin, đặc biêt là sự phát triểnmạnh mẽ của mạng Internet, ngày càng có nhiều thông tin được trao đổi trên mạng.Theo đó là sự ra đời của các phần mềm có nhiều tính năng, các thiết bị mới như máyảnh kỹ thuật số, máy ghi âm kỹ thuật số, điện thoại thông minh, ti vi thông minh… đãđến với người tiêu dùng Mạng Internet toàn cầu đã trở thành một mạng xã hội ảo, nơi
mà mọi người có thể giao lưu, trao đổi thông tin trên mọi lĩnh vực như văn hóa xã hội,kinh tế chính trị, an ninh quốc phòng, giáo dục, y tế… Với môi trường thuận
lợi như vậy thì nhiều vấn đề như ăn cắp bản quyền, xuyên tạc thông tin, truy cập tráiphép thông tin ngày càng gia tăng
Để đảm bảo độ an toàn và tính bí mật cho thông điệp truyền đi, nhiềuphương pháp bảo vệ thông tin đã được đưa ra như phương pháp dùng mật mã học.Phương pháp này sẽ mã hoá thông tin làm cho bản thông điệp được biết rõ là đã bị
mã hoá Dễ gây ra sự chú ý với đối phương Trong thời gian gần đây, người tathường sử dụng phương pháp giấu tin mật trong đa phương tiện, phương pháp nàylàm cho các đối tượng mang tin mật khó có thể bị phát hiện bằng kỹ thuật thôngthường vì nó không làm thay đổi nhiều nội dung ban đầu của đối tượng mang thôngđiệp Đây là một phương pháp mới, đang được nghiên cứu và ứng dụng rất mạnh
mẽ ở nhiều nước trên thế giới Nó được xem như một công nghệ chìa khóa cho vấn
đề bảo vệ bản quyền, an toàn thông tin và điều khiển truy cập… ứng dụng trong antoàn và bảo mật thông tin
Giấu tin là một lĩnh vực rộng lớn Trong đó môi trường giấu tin phổ biến vàrộng rãi nhất là ảnh kỹ thuật số Xuất phát từ thực tế đó, nên em lựa chọn đề tài
“Tìm hiểu một số thuật toán giấu tin mật trong ảnh kỹ thuật số và xây dựng một thuật toán giấu tin mật”.
2 Những đóng góp của luận văn
Trong luận văn này tôi sẽ trình bày một số thuật toán giấu tin mật đã được công
bố và đánh giá một số thuật toán phát hiện ảnh có giấu tin dựa trên phương pháp phântích thống kê Bên cạnh đó luận văn cũng đề xuất một thuật toán giấu tin mật
3 Bố cục của luận văn
Nội dung của luận văn gồm có: Phần mở đầu, ba chương chính, kết luận, mục lục và tài liệu tham khảo Nội dung cơ bản của luận văn được trình bày như sau:
Trang 10Chương 1: Tổng quan về kỹ thuật giấu tin trong ảnh.
Chương này sẽ trình bày tổng quan về kỹ thuật giấu tin
Chương 2: Tìm hiểu một số thuật toán giấu tin mật trong ảnh kỹ thuật số
Chương này sẽ phân tích, đánh giá một số thuật toán giấu tin mật đã đượccông bố: Kỹ thuật giấu tin theo khối bit, thuật toán Wu-lee, thuật toán Chang – Pang– Tseng và trình bày một số kỹ thuật phát hiện ảnh có giấu tin mật Chương 3: Xâydựng một thuật toán giấu tin mật
Chương này sẽ trình bày thuật toán đề xuất và đánh giá độ an toàn của từngthuật toán Cài đặt thử nghiệm việc giấu tin dựa theo thuật toán đề xuất
Trang 11CHƯƠNG I: TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN TRONG
ẢNH 1.1 Khái niệm:
Giấu tin (Steganography) là kỹ thuật giấu hoặc nhúng một lượng thông tin
số nào đó vào trong một đối tượng dữ liệu số khác [1]
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ôngtin đượ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
Kỹ thuật giấu tin thường nhằm đến hai mục đích chính đó là:
+ Bảo mật cho dữ liệu được đem giấu
+ Bảo mật cho chính đối tượng được dùng để giấu tin
Môi trường giấu tin rất đa dạng có thể là giấu trong file ảnh, text, audio …Trong đó có giấu tin trong ảnh (image steganography) là kỹ thuật phổ biến hiệnnay Nó lợi dụng một số thông tin dư thừa của dữ liệu ảnh gốc để giấu hoặc nhúngthông tin vào đó Kỹ thuật giấu này đảm bảo chỉ người giấu và người tách biếtđược thông tin đã giấu, còn những người khác không thể cảm nhận được sự tồn tạicủa thông tin đã giấu trong ảnh
1.2 Phân loại 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 đâynên xu hướng phát triển vẫn chưa ổn định Nhiều phương pháp mới, theo nhiều khíacạnh khác nhau đang và 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 trên hình 1.1 đượcFabien A P Petitcolas đề xuất năm 1999
Giấu tin chia theo hai lĩnh vực chính là giấu tin mật và thủy vân số Đối với kỹthuật giấu tin mật thì việc giấu tin sẽ quan tâm tới việc giấu các tin sao cho thông tingiấ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 bằng kỹ thuật thông thường
Thủy vân số: việc giấu tin sẽ quan tâm tới việc đánh giấu vào đối tượng nhằmkhẳng định bản quyền sở hữu hay phát hiện xuyên tạc thông tin
Trang 12Infomation hiding
Watermarking Steganograph
+ Phương tiện chứa có dữ liệu tri giác tĩnh (Cover Object)
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
+ 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 như đối vớiảnh đen trắng, ảnh xám, ảnh màu đều đòi hỏi các kỹ năng riêng Ảnh nén và không néncùng có các kỹ thuật giấu khác nhau do ảnh nén có thể mất mát thông tin
Trang 14Giấ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 (HVS – 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 là nhữngthay đổi trên ảnh rất nhỏ sao cho bằng mắt thường không thể nhận ra được sự khácbiệt vì có như thế mới đảm bảo được độ an toàn cho thông tin giấu
+ Giấu thông tin trong ảnh tác động lên dữ liệu ảnh nhưng không làm thay đổi kích thước ảnh.
Khi giấu thông tin các phương pháp đề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 kích thước ảnhtrước hay sau giấu tin là như nhau
+ Đảm bảo yêu cầu chất lượng ảnh sau khi giấu tin
Sau khi giấu thông 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 và ảnh đa cấp xám bởi mỗi pixel ảnh được biểu diễn trênnhiều bit, nhiều giá trị và khi ta thay đổi một giá trị nhỏ nào đó thì chất lượng ảnhkhô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 tin phức tạp hơn nhiều, vì ảnh đen trắng mỗi pixel chỉ gồm hai giá trị hoặctrắng hoặc đen và khi biến đổi một bit từ đen sang trắng và ngược lại thì rất dễ bịphát hiện Vì thế với mỗi loại ảnh ta phải áp dụng các kỹ thuật giấu riêng để đảmbảo chất lượng ảnh
+ Thông tin trong ảnh 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 trong ảnh dựa trên việc điều chỉnh các giá trị củacác bit theo một quy tắc nào đó và khi giải mã sẽ theo các giá trị đó để tìm đượcthô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 thì sẽ làm cho thông tin giấu sẽ bị sai lệch Chính đặc điểm này mà giấuthông tin trong ảnh có tác dụng nhận thực và phát hiện xuyên tạc thông tin
Trang 15+ Khi giải tin có thể cần ảnh gốc
Các kỹ thuật giấu tin phải phân biệt rõ ràng quá trình giải mã để lấy thông tingiấu có cần ảnh gốc hay không Đa số với kỹ thuật giấu tin mật thì không cần ảnhgố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 mà không 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 có tác dụng giúp cho việc đồng bộ hóa ảnh giấu và ảnh gốc Điều nàyrất cần thiết khi phải xử lý với các tấn công hình học trên ảnh ( phép xoay ảnh) Nhưngphương pháp này cũng gặp khó khăn khi dữ liệu gốc lớn (giấu tin trong video)
Đối với kỹ thuật giấu tin mật (Steganography) thì các tính chất ẩn, lượngthông tin giấu và độ an toàn là ba tính chất quan trọng nhất
1.4 Ứng dụng phổ biến của kỹ thuật giấu tin:
+ Bảo vệ bản quyền tác giả (copyright protection)
Đây là ứng dụng cơ bản nhất của kỹ thuật thuỷ vân số (digital watermarking)
- một dạng của phương pháp giấu tin Một thông tin nào đó mang ý nghĩa quyền sởhữu tác giả (người ta gọi nó là thuỷ vân - watermark) sẽ được nhúng vào trong các sảnphẩm, thuỷ vân đó chỉ một mình người chủ sở hữu hợp pháp các sản phẩm đó có và đượcdù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 cần được lưu thông trên mạng Để bảo vệ cácsả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ántem 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ầnphả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
+ Xác thực thông tin hay phát hiện xuyên tạc thông tin
Trang 16Một tập các thông tin sẽ được giấu trong phương tiện chứa sau đó được sửdụng để nhận biết xem dữ liệu trên phương tiện gốc đó có bị thay đổi hay không.Các thuỷ vân nên được ẩn để tránh được sự tò mò của kẻ thù, hơn nữa việc làm giảcác thuỷ vân hợp lệ hay xuyên tạc thông tin nguồn cũng cần được xem xét Trongcác ứng dụng thực tế, người ta mong muốn tìm được vị trí bị xuyên tạc cũng nhưphân biệt được các thay đổi (ví dụ như phân biệt xem một đối tượng đa phương tiệnchứa thông tin giấu đã bị thay đổi, xuyên tạc nội dung hay là chỉ bị nén mất dữliệu) Yêu cầu chung đối với ứng dụng này là khả năng giấu thông tin nhiều và thuỷvân không cần bền vững trước các phép xử lý trên đối tượng đã được giấu tin.
+ Nhận dạng vân tay hay dán nhãn
Thuỷ vân được sử dụng để nhận diện người gửi hay người nhận của mộtthông tin nào đó trong ứng dụng phân phối sản phẩm Thuỷ vân trong trường hợpnày cũng tương tự như số serial của sản phẩm phần mềm Mỗi một sản phẩm sẽmang một thuỷ vân riêng Ví dụ như các vân khác nhau sẽ được nhúng vào các bảncopy khác nhau của thông tin gốc trước khi chuyển cho nhiều người Với nhữngứng dụng này thì yêu cầu là đảm bảo độ an toàn cao cho các thuỷ vân tránh sự xoágiấu vết trong khi phân phối
+ Điều khiển sao chép
Điều mong muốn đối với các hệ thống phân phối dữ liệu đa phương tiện là tồntại một kỹ thuật chống sao chép trái phép dữ liệu Có thể sử dụng thuỷ vân để chỉ trạngthái sao chép của dữ liệu Các thuỷ vân trong những trường hợp này được sử dụng đểđiều khiển sao chép đối với các thông tin Các thiết bị phát hiện ra thuỷ vân thườngđược gắn sẵn vào trong các hệ thống đọc ghi Ví dụ như hệ thống quản lí sao chépDVD đã được ứng dụng ở Nhật Thuỷ vân mang các giá trị chỉ trạng thái cho phép saochép dữ liệu như “copy never” - không được phép sao chép hay “copy once”
- chỉ được copy một lần, sau khi copy xong, bộ đọc, ghi thuỷ vân sẽ ghi thuỷ vânmới chỉ trạng thái mới lên DVD Các ứng dụng loại này cũng yêu cầu thuỷ vân phải đượcbảo đảm an toàn và cũng sử dụng phương pháp phát hiện thuỷ vân đã giấu mà không cầnthông tin gốc
Trang 17+ Giấu tin mật
Các thông tin giấu được trong những trường hợp này càng nhiều càng tốt,việc giải mã để nhận được thông tin cũng không cần phương tiện chứa gốc 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 được bảo mật
1.5 Các tiêu chuẩn đánh giá và so sánh các kỹ thuật giấu tin trong ảnh
Tính tin cậy là đặc tính của hệ thống tin tực trên mạng có thể trong một điềukiện nhất định vàn trong một thời gian xác định, hoàn thành một chức năng quyđịnh Tính tin cậy là một trong những yếu tố cơ bản nhất về an toàn của hệ thống., làmục tiêu xây dựng và vận hành của tất cả hệ thống tin tức trên mạng Tính tin cậy
có thể dùng công thực để miêu tả là:
R = MTBF/(MTBF+MTTR)Trong đó: R là biểu thị tính tin cậy
MTBF biểu thị quãng thời gian trung bình giữa hai sư cố.MTTR biểu thị thời gian trung bình khắc phục hai sự cố
Đối với các kỹ thuật giấu tin trong ảnh, tính tin cậy dựa trên đặc điểm của hệthống thị giác của con người Thông tin nhúng là không thấy được, một người vớithị giác bình thường không phân biệt được ảnh môi trường và ảnh kết quả Trongkhi Image Hidding yêu cầu tính vô hình của thông tin giấu ở mức cao thìWatermarking chỉ yêu cầu ở một cấp độ nhất định
+ Tính khả dụng
Tính khả dụng là đặc tính mà tin tức trên mạng được các thực thể có ủyquyền tiếp cận và sử dụng theo yêu cầu, là đặc tính mà dịch vụ tin tức của mạnglưới khi cần thiết cho phép người sử dụng hay thực thể ủy quyền khác sử dụng
Lượng thông tin giấu so với kích thước ảnh môi trường cũng là một vấn đề quantrọng trong một thuật toán giấu tin Rõ ràng là có thể chỉ giấu 1 bit thông tin vào mỗiảnh mà không cần lo lắng về độ nhiễu của ảnh nhưng như vậy sẽ rất kém hiệu quả khithông tin cần giấu có kích thức tính bằng KB Các thuật toán đều đang cố
Trang 18gắng giấu đạt được mục đích làm thế nào để giấu được nhiều tin mà không gây ra nhiễu đáng kể.
+ Tính an toàn và bảo mật thông tin
Tính an toàn và bảo mật thông tin là đặc tính tin tức không bị tiết lộ bởingười sử dụng khác khi muốn xâm nhập vào
Thuật toán nhúng tin được coi là có tính an toàn và bảo mật nếu thông tinđược nhúng không bị tìm ra khi tấn công một cách có chủ đích trên cơ sở nhữnghiểu biết đầy đủ về thuật toán nhúng tin và có bộ giải mã (trừ khóa bí mật), hơn nữacòn có được ảnh đã mang thông tin (ảnh kết quả) Đối với Image Hidding đây làmột yêu cầu rất quan trọng Chẳng hạn đối với thuật toán dò tìm ảnh thứ cấp, kíchthước mxn, độ phức tạp vẫn còn lến tới 2mn khi đã biết ma trận trọng số dùng trongquá trình giấu tin
+ Tính hoàn chỉnh
Tính hoàn chỉnh là đặc tính tin tức mà trong quá trình chuyển dẫn đảm bảokhông bị xóa bỏ, sửa đổi, giả mạo, làm rối trật tự, v.v Tính hoàn chỉnh là một loạitính an toàn tin tức, nó yêu cầu giữ nguyên dang tin tức , tức là tái tạo, lưu trữ,truyền dẫn chính xác tin tức
Yêu cầu cuối cùng là thuật toán phải cho phép lấy lại được thông tin đã giấutrong ảnh mà không cần có ảnh môi trường
+ Tính đúng đắn của thuật toán
Thuật toán phải thể hiện được sự đúng đắn, cụ thể với dữ liệu vào cho trước,thuật toán hoạt động sau một số bước hữu hạn, bước sẽ dừng và cho kết quả mongmuốn Kết quả mong muốn thường được xác định qua định nghĩa Để chứng minhtính đúng đắn của thuật toán người ta có thể căn cứ vào một trong ba nhận xét sauđây:
1 Bằng phép thử chỉ có thể phát hiện tính sai của thuật toán chứ không thể khẳng định tính đúng đắn của thuật toán
2 Muốn khẳng định tính đúng của thuật toán phải tiến hành chứng minh
Trang 193 Có thể và nên chứng minh tính đúng đắn của thuật toán bằng cách dựa trên chính văn bản của thuật toán.
1.6 Các phương pháp phân tích ảnh có giấu tin:
+ Phân tích trực quan
Đây là phương pháp đơn giản nhất mặc dù kết quả thường không đượcđáng tin cậy Việc phát hiện khả năng một ảnh có giấu tin hay không bằng cáchphân tích ảnh một cách trực quan và tìm kiếm những điểm bất thường
Thật vậy, việc thay đổi bảng màu (của một ảnh màu) dù nhỏ để giấu thôngđiệp bí mật có thể dẫn đến kết quả là sự thay đổi màu sắc lớn trên ảnh gốc
Phương pháp này thường dựa vào quan sát hoặc dùng biểu đồ histogramgiữa ảnh gốc và ảnh chưa giấu tin để phát hiện ra sự khác biệt giữa hai ảnh căn cứđưa ra vấn đề nghi vấn Với phương pháp phân tích này thường khó phát hiện vớiảnh có độ nhiễu cao và kích cỡ lớn
+ Phân tích theo định dạng ảnh
Hiện nay có nhiều định dạng tệp tin ảnh khác nhau như GIF, BMP, PNG,JPEG Mỗi loại ảnh có đặc điểm và cấu trúc định dạng tệp tin khác nhau chính vìvậy phương pháp này rất rộng và thường dựa vào các dạng ảnh để đoán nhận kỹthuật giấu hay sử dụng, như các ảnh bitmap thường hay sử dụng giấu trên miềnLSB Do đó, khi thực hiện giấu tin, chẳng hạn giấu tin theo LSB, sẽ cho sự thayđổi trên ảnh kết quả ở các điểm ảnh khác nhau Và khi thực hiện phát hiện ảnhgiấu tin cũng vậy
+ Phân tích theo thống kê
Theo Plitzman và Westfeld, lý thuyết thống kê có thể áp dụng để phân tíchthống kê các cặp giá trị (cặp giá trị điểm ảnh, cặp các hệ số, DCT, cặp các chỉ số(bảng màu) để tìm sự khác biệt ở bit LSB Phương pháp này thường đưa ra độ tincậy cao hơn và đặc biệt là cho tập ảnh lớn
Trang 20CHƯƠNG 2 MỘT SỐ THUẬT TOÁN GIẤU TIN MẬT TRONG ẢNH SỐ 2.1 Kỹ thuật giấu tin mật
Steganography là kỹ thuật được phát triển từ nền tảng của watermarking Haiphương pháp đầu tiên của waternarking cũng sớm trở thành phương pháp đầu tiêncủa steganography đó là: kỹ thuật giấu trên LSB của ảnh và kỹ thuật chèn tín hiệumang thông điệp vào trong ảnh Trong chương này em sẽ trình bày một số kỹ thuậtgiấu trên miền LSB của ảnh
2.1.1 Kỹ thuật giấu tin theo khối bit
Kỹ thuật giấu tin theo khối bít và sử dụng tính chẵn lẻ của các khối bit đểkhôi phục lại thông tin (thường sử dụng các phép toán AND, OR, SUM để tính toán
và biển đổi ảnh giấu tin) thường được dùng cho cả ảnh màu, ảnh xám và ảnh đentrắng.Ý tưởng của thuật toán là chia ảnh thành các khối nhỏ và trong mỗi khối nhỏ
sẽ giấu một bit b (b =0 hoặc b=1)
Thuật toán
Input: Ảnh Bitmap đen trắng F và thông điệp cần giấu P.
Output: Một file ảnh đã giấu tin F’.
Cách thực hiện:
Bước 1: Chuyển file thông tin cần giấu P sang dạng nhị phân ta được P’=b1b2…bN.Bước 2: Chia ảnh gốc F thành N khối nhỏ Fi có kích thước mxn
Bước 3: Với mỗi khối Fi (i = 1, 2,…N) ta 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 F’i thỏa mãn:
=1 =1Bước 4: Kết hợp các khối F’i ta sẽ thu được ảnh F’ chưa thông tin cần giấu
Trang 21Khối B có kích thước K = 4x4, Sum (B) = 9.
- Giả sử ta giấu bít b=0 vào khối B
Số lượng bít 1 trong khối B là 9, sum (B) = 9 Do đó sum (B) ≠ 0 (mod 2) Như vậykhối B không thỏa mãn yêu cầu Để giấu bít 0 vào khối B ta thay đổi một bit bất kỳtrong khối, thường là thay đổi tại vị trí của bít thông tin rõ vào bít của khối tươngứng (nếu chúng trái dấu nhau) đổi bít 0 thành bít 1 hoặc bít 1 thành bít 0, ta thuđược khối B’ Giả sử ta đổi như sau:
Hình 2.1 Minh họa giấu bit b = 0 vào khối nhị phân B
Khi đó ta có sum(B’) = 8 , do đó ta được sum(B’) 0 (mod 2)
- Nếu giấu bít b = 1 vào khối B Ta có sum(B) = 9 nên sum(B) 1 (mod 2).Khối B được bảo toàn và bit dữ liệu b =1 coi như được giấu
Trang 22Bước 2: Xét từng khối nhỏ và giải tin theo quy tắc:
- Nếu tổng các bít 1 là lẻ ta thu được bit giấu là 1;
- Nếu tổng các bít 1 là chẵn ta thu được bit giấu là 0;
Thực hiện cho đến khi hết các khối giấu và ta được chuỗi bit đã mang giấu.Bước 3: Chuyển chuỗi nhị phân sang dạng văn bản
Phân tích thuật toán
Việc chọn kích thước khối giấu tùy thuộc vào kích thước ảnh và lượng thôngtin cần giấu sao cho giấu giàn trải trên từng ảnh
Với thuật toán này việc chọn khối khá đơn giản, bắt đầu từ khối đầu tiên vànhững khối liên tiếp phía sau một cách tuần tự Tuy nhiên ta có thể làm khó thuậttoán hơ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 đó, đãlàm tăng độ 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ấutin 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ạnnhư lần 1 có kích thước khối là 8x8, lần 2 8x12,… trong trường hợp này thì khóa làkích thước khối của mỗi lần giấu
Bản chất của kỹ thuật giấu tin trong ảnh đen trắng là quy ước nào đó dướidạng một mệnh đề (tân từ) P Nếu tân từ P được thỏa mãn thì ứng với bit 1, ngượclại ứng với bit 0 Tân từ P trong thuật toán trên là sum (B) b (mod 2)
Áp dụng thuật toán cho ảnh màu và ảnh đa cấp xám
Nhược điểm cơ bản của phương pháp này dùng cho ảnh đen trắng là thôngtin giấu vào được rất ít Nếu giấu nhiều thông tin thì ảnh sẽ thay đổi nhiều và người
sử dụng sẽ dễ dàng phát hiện sự có mặt của thông tin ẩn Do đó khi giấu tin người tathường chọn ảnh màu hoặc ảnh đa cấp xám Các ảnh màu và đa cấp xám có giá trịmỗi điểm ảnh được biểu diễn bằng nhiều bit Trong dãy các bit biểu diễn này có mộtbit được gọi là bit ít quan trọng nhất (LSB – Least Significant Bit) LSB là bit màkhi ta đảo giá trị của nó thì điểm màu bị thay đổi ít nhất
Ví dụ minh họa:
Với ảnh đa cấp xám, mỗi mức xám h được biểu diễn bởi số nguyên không âm,thì mức xám h sẽ sai khác ít nhất so với hai mức xám liền kề h + 1 và h – 1 Trongtrường hợp này bit LSB chính là bit thấp nhất trong dạng biểu diễn nhị phân của h
Trang 23Hầu hết các thuật toán giấu tin trên ảnh màu hoặc ảnh đa cấp xám đều áp
dụng gián tiếp thuật toán giấu tin trên ảnh đen trắng theo trình tự sau:
Bước 1: Tạo ảnh đen trắng F từ ảnh màu Fc bằng một kỹ thuật nào đó Chẳng hạn
lấy từ mỗi điểm màu trong Fc một bit ít quan trọng nhất để làm một điểm ảnh cho F
Bước 2: Giấu tin vào ảnh đen trắng F để được ảnh đen trắng F’
Bước 3: Đưa lại các bit của F’ vào mỗi điểm ảnh màu tương ứng của Fc để thu được
ảnh màu kết quả là F’c
Như vậy, thuật toán giấu tin trong ảnh đen trắng là cơ sở cho các thuật toán
giấu tin nói chung
2.1.2 Thuật toán Wu-lee [10]
Là thuật toán giấu tin khá phổ biến do W.Y.Wu và J.H.Lee đề xuất năm
1989 Môi trường giấu tin là ảnh nhị phân được chia thành các khối bit đều nhau,
mỗi khối là một ma trận nhị phâ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 bít của khối
Một số khái niệm
a) Phép toán Λ: Gọi a và b là hai bít tuỳ ý, phép toán nhân bít AND, kí hiệu
là Λ trên hai bít a và b cho ta giá trị 1 khi và chỉ khi a=b=1, trong các trường hợp còn lại,
Trang 24thì A Λ B = C với cij = aij Λ bij
và A ⨁ B = D với d ij = a ij ⨁ b ij
Thuật toán
Ý tưởng của thuật toán là sử dụng một khóa bí mật K là một ma trận nhị phân có kích thước × dùng để
làm tăng tính bí mật của các thông điệp được giấu Input: Ảnh gốc nhị phân F, khóa bí mật K và một thông điệp M
Bước 1: Chuyển thông điệp M sang dạng nhị phân Chia ảnh F thành các khối nhỏ F i , mỗi khối có kích thước là ×
Bước 2: Với mỗi khối ảnh nhỏ Fi thu được từ bước 1, ta kiểm tra điều kiện:
0 < SUM (Fi^K) < SUM (K)Nếu đúng thì chuyển tới bước 3 để giấu thông tin vào trong khối Fi, còn nếu không thì không giấu dữ liệu vào trong khối Fi, khối Fi sẽ được giữ nguyên
Bước 3: Gọi bit cần giấu vào khối Fi là b, ta thực hiện các bước sau để thay đổi Fi:
Iƒ (SUM (F i ^ K) mod 2 =b) then
Giữ nguyên Fi;
else iƒ (SUM(F i ^ K) =1) then
Chọn ngẫu nhiên một bit [F i ] j,k thỏa:([F i ] j,k = 0 và [K] j,k = 1); Thay [F i ] j,k = 1;
else iƒ SUM(Fi^K) = SUM(K) – 1) then
Chọn ngẫu nhiên một bit [F i ] j,k thỏa ([F i ] j,k = 1 và [K] j,k = 1); Thay [F i ] j,k = 0;
else
Chọn ngẫu nhiên một bit mà [K] j,k = 1 thay bit [F i ] j,k từ 0 thành 1 hoặc từ 1 thành;
Trang 25End iƒ;
Sau khi gắn dữ liệu thì Fi được chuyển thành Fi ’
và giữ được tính chất bất biến sauđây:
0 < SUM (F i ’ ^K) < SUM (K) → SUM (F i ’ ^K) ≡ b (mod 2).
Ví dụ:
Giả sử ta cần giấu dãy bit M = 110 vào ảnh F có kích thước 8x8 và một ma
trận khóa K có kích thước 4x4, như hình vẽ Trước hết chia ảnh F thành 4 khối nhỏ
F1, F2, F3, F4, mỗi khối nhỏ có kích thước là 4x4
Bước 1: Chia ảnh F’ thành các khối nhỏ F’i với kích thước ×
Bước 2: Ta kiểm tra các khối Fi ’
để tách bit thông tin For each F’i
if 0 < SUM (F’i^K) < SUM (K) then
Trang 26b = SUM (F’i^K) mod 2;
Trong đó b là bít nhị phân đã được giấu
Bước 3: Chuyển chuỗi nhị phân sang dạng văn bản
Phân tích thuật toán:
Việc chọn khóa K nhằm làm tăng độ bảo mật của thuật toán Nếu trước đâychỉ biết kích thước khối là mxn thì đối phương rất rễ khai thác bản tin mật
Thuật toán sử dụng phép toán AND để tính Fi K, nên giá trị lớn nhất củaSUM (Fi K) không thể vượt quá SUM (K) và do tính chất của phép toán AND, nếu
có một khối nào thay đổi thì vị trí thay đổi chỉ xảy ra ở phần tử có giá trị 1 trongkhóa K Vì thế một ảnh F hoàn toàn trắng nào đó được truyền đi thì người ta dễdàng tìm được khóa K, vì vậy mà không dùng trường hợp SUM(F1 K) = 0 Đây làmột kẽ hở của thuật toán đối với khóa
Với SUM (Fi K) = SUM(K) cũng tương tự nếu F hoàn toàn đen thì vị trícủa bit thay đổi cũng là vị trí mà bit tương ứng ở khóa là 1
Nếu ảnh F được lựa chọn để giấu tin có quá nhiều điểm trắng hoặc quá nhiềuđiểm đen thì tỉ lệ bit giấu được sẽ rất thấp
Để tránh những trường hợp trên thuật toán phải thỏa điểu kiện:
0 < SUM (Fi K) < SUM (K) Và việc chọn khóa K hết sức quan trọng
2.1.3 Thuật toán giấu tin Chen-Pan-Tseng [16]
Thuật toán do nhóm tác giả Yu-Yuan Chen, Hsiang-Kuang Pan và Yu-CheeTseng khoa công nghệ thông tin và khoa học máy tính, trường đại học quốc gia ĐàiLoan đề xuất… Thuật toán sử dụng một ma trận khoá và ma trận trọng số để giấuthông tin, thuật toán đảm bảo được tốt an toàn thông tin và cũng giấu được nhiềuthông tin trong ảnh bằng cách thay đổi nhiều nhất hai bit mỗi khối ảnh
Một số khái niệm:
a) Khoá bí mật:
Khoá là một ma trận nhị phân có cùng kích thước m×n với kích thước của khối ảnh Khoá được dùng một cách bí mật giữa người gửi và người nhận.
Trang 27b) Ma trận trọng số cấp r:
Ma trận trọng số W cấp r là một ma trận số nguyên có kích thước bằng kích thước của khối ảnh m×n và thoả các điều kiện sau:
- W có các phần tử nằm trong khoảng giá trị (0 2r-1) với r cho trước thoả mãn điều kiện 2r < m*n
- Mỗi một phần tử có giá trị từ 1 2r-1 xuất hiện ít nhất 1 lần
Ví dụ: xây dựng một ma trận trọng số kích thước 4 × 4, ma trận này chứa các giá trị nằm
Phép toán nhân hai ma trận A Λ BPhép toán tính tổng giá trị trong ma trận SUM(X) Các phép toán này đều đã được nhắc lại ở phần trước
Thuật toán giấu tin
Input:
F: Một ma trận ảnh gốc dùng để giấu thông tin F được chia thành các khối Fi
mỗi ma trận điểm ảnh Fi có kích thước là mxn, để cho đơn giản ta giả sử F là bội của các Fi;
Trang 28B: Lượng thông tin cần giấu gồm × bit, k sẽ là khối ảnh giấu; d: Độ lệch chuẩn trọng số.
Output:
Ảnh đích F’ chứa B, F’ được tạo từ các khối F’i Mỗi F’i thu được từ khối Fi
tương ứng sau khi đã giấu r bit thông tin từ B
Tính ma trận P = T WBước 2: Tính tổng Sum = SUM (P)
Bước 3: Với ma trận T và với mọi w = 1, 2,…2r-1 ta xác định tập hợp Sw như sau:
Sw = {(j, k) (W [j, k] = w ^ T [j, k] = 0) v (W [j, k] = 2r - w ^ T [j, k]
=1)} Từ định nghĩa của tập Sw ta có: Sw’ = Sw.
Bước 4: Ta đặt d = (b1 b2…br) – SUM (P) (mod 2r)
Ta cần thực hiện việc đảo bit trên Fi để được F’i sao cho tổng SUM tính được
ở bước 2 khi thay Fi bởi F’i sẽ tăng lên d Nếu d=0 thì giữ nguyên Fi
Nếu d≠ 0
Trường hợp 1: S d ≠ ∅ thì chọn một phần tử [j,k] bất kỳ thuộc tập S d và đảo bit F i [j,k]
Trường hợp 2: S d = ∅
Trang 29v = 2r – u ; u = (u + d) mod 2r;
1 Chọn phần tử [j, k] bất kì thuộc Su và đảo bit Fi[j, k];
2 Chọn phần tử [j, k] bất kì thuộc Sv và đảo bit Fi[j, k];
F là file ảnh chứa tin đã được giấu
B là dãy bit đã giấu Quy trình
Cách thực hiện:
Bước 1:
Đọc header ảnh để biết các thông tin về ảnh;
Đọc bảng mầu;
Đọc phần dữ liệu ảnh vào ma trận hai chiều M
Bước 2: Chia ma trận điểm ảnh M thành các khối nhỏ F’i với kích thước ×
B ước 3: Với mỗi khối nhỏ F’i Tính b= SUM (F’i K) W) mod 2r Trong đó b làxâu nhị phân được tạo ra bởi r bit thông tin
Ví dụ minh họa thuật toán
Giả sử ta cần giấu dãy bit M = 110001101011 vào ảnh F có kích thước 8x8
và một ma trận khóa K có kích thước 4x4, và một ma trận trọng số W kích thước4x4 như hình vẽ Trước hết chia ảnh F thành 4 khối nhỏ F1, F2, F3, F4, mỗi khối nhỏ
có kích thước là 4x4
Trang 30Ta chọn m = n = 4, r=3, ta dấu dãy bít M = 110001101011 vào trong ảnh F Như
vậy đoạn bít 110 giấu vào khối F1, đoạn bít 001 giấu vào khối F2, đoạn 101 giấu
vào khối F3, đoạn 011 giấu vào khối F4
Bước 1: Ta thực hiện phép toán XOR của Fi và K, ta được:
Trang 31T3 T4
Trang 32Bước 3: Với mỗi Ti ta xác định Siw với W= (1,2,3,4,5,6,7), i=1 4.
Các Siw được xác định như sau: nếu S’iw[j, k] = w thì ta có [j, k] = Siw Các phần tử trong ma trận S’iw[j,k] được xác định như sau :
Trang 33Trên khối S’1w ta thu được S1w (w = 1,2,3,4,5,6,7) như sau :
S11={[1,3],[4,2]}; S12 = {[3,1]}; S13 = {[1,3],[3,4]; S14 = {[1,4],[3,3]}; S15 ={[2,1],[3,2]}; S16= {[1,2],[2,2],[4,1],[4,4]}; S17= {[2,4],[4,3]}.
Trên khối S’2w ta thu được S2w (w = 1,2,3,4,5,6,7) như sau :
Bước 4: Thực hiện giấu thông tin vào mỗi khối:
Khối F1: giấu đoạn bit 110: SUM(P1) = 28;
d=(110) – SUM(P1) (mod 23) = 6 – 28 (mod 8) = 6 ≠ 0
Vậy Sd = S6 = {[1,2],[2,2],[4,1],[4,4]}; Chọn một phần tử tùy ý để đảo bít ở đây ta chọn phần tử F1[2,2] để thực hiện đảo bít ta được F’1
Khối F2: giấu đoạn bit 001: SUM(P2) = 22;
d=(001) – SUM(P2)(mod 23)=1 – 22(mod 8)=3 Vậy Sd = S3 = {[1,3],[2,1]}; Ta chọn phần tử F2[1,3] để thực hiện đảo bít ta được F’2
Khối F3: giấu đoạn bit 101: SUM(P3) = 27;
d=(101) – SUM(P3)(mod 23)=5 – 27(mod 8)=6 Vậy Sd = S6 ={[2,2],[3,1],[4,4]}; Tachọn phần tử F3[4,4] để thực hiện đảo bít ta được F’3
Khối F4: giấu đoạn bit 011: SUM(P4) = 25;
d=(011) – SUM(P4)(mod 23)=3 – 25(mod 8)=6
Vậy Sd = S6 ={[2,2],[3,1],[4,1],[4,4]}; Ta chọn phần tử F4[4,1] để thực hiện đảo bít
ta được F’4
Vậy ta thu được ảnh F’ như sau: