Nói về vấn đề bảo mật thông tin ngày nay với công nghệ ngày càng pháttriển thì càng có nhiều kỹ thuật mới ra đời,với việc đưa ra rất nhiều hướngbảo mật thông tin khác nhau sẽ giúp người
Trang 1BÀI TIỂU LUẬN MÔN HỌC PHƯƠNG PHÁP NGHIÊN CỨU KHOA HỌC
TRONG TIN HỌC
Đ TÀI Ề TÀI
Họ và tên học viên: Trương Thành Tú
Mã số học viên: 136011012
LỜI CÁM ƠN
Nhìn vào cuộc sống hiện tại ta dễ nhận thấy rằng cuộc sống của chúng ta có muônvàng thay đổi đáng kể và một trong những thay đổi mà chúng ta dễ nhận thấy nhất đó
là khoa học và công nghệ Khoa học và công nghệ như là đặc trưng của thời đại, và
NGHIÊN CỨU KỸ THUẬT GIẤU
THÔNG TIN VÀO TRONG ẢNH
Trang 2trở thành động lực thúc đẩy sự tiến bộ của nhân loại.
Và không phải dừng lại ở đây, chúng ta chắc chắn một điều rằng khoa học côngnghệ sẽ càng ngày càng phát triển và cuộc sống của chúng ta sẽ có những thay đổitheo thời gian Ở đây, tại thời điểm này nhắc đến khoa học và công nghệ chúng ta sẽkhông thể nào liệt kê hết được, nhưng trong một khía cạnh rất nhỏ chúng ta hãy xemkhoa học công nghệ phát triển như thế nào và việc áp dụng những nguyên lý sáng tạo
để giải quyết một vấn đề ra sao? Trong bài thu hoạch nhỏ này em sẽ trình bày về một
số kỹ thuật cơ bản giấu thông tin vào trong ảnh
Qua đây em cũng xin được gửi lời cảm ơn đến Giáo sư - Tiến sỹ Khoa HọcHoàng Kiếm, người đã tận tâm truyền đạt những kiến thức nền tảng cơ bản chochúng em về môn học “Phương pháp nhiên cứu khoa học trong tin học” Xin chânthành cám ơn Thầy/Cô khoa sau đại học Trường đại học Quốc Tế Hồng Bàng, cảm ơncác bạn trong lớp đã đồng hành học tập cùng nhóm chúng tôi, và cám ơn các bạntrong nhóm đã cùng hỗ trợ giúp đỡ, cùng nghiên cứu để hoàn tất báo cáo này
Trang 3CHƯƠNG 1 TỔNG QUAN VỀ GIẤU TIN TRONG ẢNH 1
I MỘT SỐ KHÁI NIỆM CƠ BẢN 1
1 Định nghĩa về giấu tin 1
2 Sơ lược về lịch sử giấu tin 1
3 Mục đích của giấu tin 2
4 Kỹ thuật giấu thông tin bí mật (Steganography) 3
5 Kỹ thuật giấu thông tin theo kiểu đánh dấu (Watermarking) 3
6 Mô hình kỹ thuật giấu tin 3
6.1 Mô hình kỹ thuật giấu tin 3
6.2 Mô hình kỹ thuật tách tin 4
II GIẤU TIN TRONG ẢNH 5
1 Khái niệm giấu tin trong ảnh 5
2 Một số đặc trưng và tính chất của giấu tin trong ảnh 5
2.1 Phương tiện có chứa dữ liệu tri giác tĩnh 5
2.2 Giấu tin phụ thuộc loại ảnh 5
2.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 5
2.4 Giấu thông tin không làm thay đổi kích thước ảnh 6
2.5 Đảm bảo chất lượng sau khi giấu tin 6
3 Các tiêu chí đánh giá kỹ thuật giấu tin trong ảnh 6
3.1 Tính vô hình 6
3.2 Khả năng giấu thông tin (Hiding Capacity) 6
3.3 Chất lượng của ảnh có giấu thông tin 6
3.4 Tính bền vững của thông tin được giấu 7
3.5 Thuật toán và độ phức tạp của thuật toán 7
4 Các hướng tiếp cận cũa kỹ thuật giấu tin trong ảnh 7
4.1 Tiếp cận trên miền không gian ảnh 7
Trang 4CHƯƠNG 2 MỘT SỐ PHƯƠNG PHÁP GIẤU TIN MẬT 9
I MỘT SỐ PHƯƠNG PHÁP GIẤU TIN MẬT TRONG ẢNH 9
1 Giấu tin mật trong khối bit sử dụng tính chẵn lẻ của tổng số bit 1 9
1.1 Ý tưởng 9
1.2 Thuật toán 9
1.3 Quá trình tách tin 11
1.4 Phân tích thuật toán 12
1.5 Áp dụng thuật toán cho ảnh màu và ảnh đa cấp xám 12
2 Kỹ thuật giấu tin Wu _ Lee 13
2.1 Ý tưởng 13
2.2 Thuật toán 14
2.3 Quá trình tách tin 17
2.4 Phân tích thuật toán 17
3 Kỹ thuật giấu tin Yuan_Pan_Tseng 18
3.1 Ý tưởng 18
3.2 Thuật toán 19
3.3 Quá trình tách tin 23
3.4 Phân tích thuật toán 24
II KỸ THUẬT THỦY VÂN TRÊN ẢNH 25
1 Một số khái niệm cơ bản trong thủy vân số 25
1.1 Khái niệm thủy vân số 25
1.2 Phân loại các kỹ thuật thủy vân 25
1.3 Mô hình hệ thống thủy vân 26
1.4 Các đặc trưng của một hệ thủy vân 27
1 Một số kỹ thuật thủy vân trên ảnh 29
1.1 Phép biến đổi cosin rời rạc 29
1.2 Kỹ thuật thủy vân sử dụng phép biến đổi DCT 31
CHƯƠNG 3 KHẢ NĂNG PHÁT HIỆN ẢNH CÓ GIẤU TIN 37
Trang 51 Bài toán phân tích tin giấu 37
2 Phân loại phương pháp phát hiện ảnh giấu tin 37
2.1 Phân tích trực quan 37
2.2 Phân tích định dạng ảnh 38
2.3 Phân tích thống kê 38
IV KỸ THUẬT PHÂN TÍCH CẶP GIÁ TRỊ ĐIỂM ẢNH 38
1 Khái niệm cặp giá trị 38
2 Thuật toán PoV3 39
2.1 Ý tưởng 39
2.2 Cách thức thực hiện 40
2.3 Phân tích thuật toán 40
V KỸ THUẬT PHÂN TÍCH ĐỐI NGẪU 41
1 Các khái niệm 41
2 Thuật toán RS (Regular – Singular) 43
2.1 Tư tưởng: 43
2.2 Cách thực hiện 44
2.3 Phân tích thuật toán RS 45
Trang 6Hình 1 Phân loại các kỹ thuật giấu tin 2
Hình 2 Lược đồ chung cho quá trình giấu tin 3
Hình 3 Lược đồ chung cho quá trình tách tin 4
Hình 4 Mô hình quá trình nhúng thủy vân 26
Hình 5 Mô hình quá trình nhúng thủy vân 27
Trang 7LSB Least Significant Bit Phương pháp tác động đến các bit
ít quan trọng nhất của các điểmảnh
Trang 8Nói về vấn đề bảo mật thông tin ngày nay với công nghệ ngày càng pháttriển thì càng có nhiều kỹ thuật mới ra đời,với việc đưa ra rất nhiều hướngbảo mật thông tin khác nhau sẽ giúp người dùng tìm được một sự bảo mậttheo đúng sở thích cá nhân cũng như nâng cao kinh nghiệm cho người dùngtrong khâu bảo mật.Do đó phương pháp bảo mật thông tin bằng cách đưa
dấu vào trong môi trường khác như ảnh, audio, video, văn bản, …các
thông tin mật cần giấu được gửi đi bằng các phương tiện giấu tin này làphương pháp bảo mật khá hiệu quả Trong báo cáo này chúng tôi xin đượcgiới thiệu về nội dung bảo mật bằng cách giấu thông tin vào trong ảnh
Kỹ thuật này sử dụng kết hợp giữa dữ liệu mật với các giá trị của điểm ảnh.Các bit có trọng số thấp của điểm ảnh được thay thế để đánh dấu sự hiệndiện của dữ liệu bên trong điểm ảnh đó Đối với việc lựa chọn các kênh đểđánh dấu sự hiện diện của dữ liệu, một bộ tạo số giả ngẫu nhiên được sửdụng nên có thêm một lớp bảo mật cho kỹ thuật và làm cho việc khai tháccác thông tin mật rất khó khăn cho những kẻ xâm nhập Kết quả cho thấy
kỹ thuật là bảo mật chống lại các cuộc tấn công trực quan, thống kê và cốgắng để có thể giấu nhiều dữ liệu hơn bằng cách sử dụng nhiều bit trên mỗiđiểm ảnh
Trang 9CHƯƠNG 1 TỔNG QUAN VỀ GIẤU TIN TRONG ẢNH
I MỘT SỐ KHÁI NIỆM CƠ BẢN
1 Định nghĩa về giấu tin
Giấu tin là kỹ thuật giấu (nhúng) một lượng thông tin số nào đó vào trongmột đối tượng dữ liệu số khác như giấu thông tin trong ảnh, audio, video,văn bản, …
2 Sơ lược về lịch sử giấu tin
Giấu thông tin(Steganography) có nghĩa là kỹ thuật giấu thông tin quantrọng vào đối tượng khác Nó đã có lịch sử phát triển từ hàng nghìn năm vàtrải qua nhiều thời kỳ biến động của xã hội loài người, ngày nay khi kỹthuật số bùng nổ, con người cũng số hoá lĩnh vực này phục vụ cho cuộcsống hiện đại
Từ “Steganography” bắt nguồn từ tiếng Hi Lạp Từ “stegano” trong tiếng
Hi Lạp có nghĩa là “covered”, còn “graphien” có nghĩa là “to write” Nhưvậy, “steganography” có nghĩa là tài liệu được phủ “covered writing” Cáccâu chuyện kể về kỹ thuật giấu thông tin được truyền qua nhiều thế hệ
thuộc về sử gia Hi Lạp Herodotus Khi bạo chúa Hi Lạp Histiaeus bịvua Darius bắt giữ ở Susa vào thế kỷ thứ V 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 một nô lệ tin cậy và xăm mộtthông điệp trên da đầu của anh ta Khi tóc của người nô lệ mọc ra đủdài thì người nô lệ được gửi tới Miletus
Một câu chuyện khác về thời Hi Lạp cổ đại cũng doHerodotus ghi lại Môi trường để ghi văn bản chính là các viên thuốcđược bọc trong sáp ong Demeratus, một người Hi Lạp định báo choSparta rằng Xerxes định xâm chiếm Hi Lạp Để tránh bị phát hiện,anh ta đã bóc lớp sáp ong ra khỏi các viên thuốc và khắc thông báolê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ộtlớp sáp ong mới Những viên thuốc mang tin mật đã ngụy trang được
để cùng với các viên thuốc thông thường khác và lọt qua mọi sự kiểmsoát một cách dễ dàng
trong một thời gian dài Người Romans cổ đã biết sử dụng những
Trang 10chấ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ậtgiữa các hàng văn tự thông thường Khi được hơ nóng, những thứmực này trở nên sẫm mầu và có thể đọc được Mực không màu cũngvẫn còn được sử dụng gần đây, chẳng hạn trong chiến tranh thế giớithứ II Ý tưởng về che giấu thông tin đã có hàng ngàn năm trướcnhưng kỹ thuật này được dùng chủ yếu trong quân đội và trong các
cơ quan tình báo Mãi cho tới vài thập niên gần đây, giấu tin mớinhận được sự quan tâm của các nhà nghiên cứu và các viện côngnghệ thông tin với nhiều công trình nghiên cứu Sự phát triển củathông tin số và mạng truyền thông (đặc biệt là mạng Internet) cùngvới các kỹ thuật sao chép hoàn hảo, kỹ thuật chỉnh sửa, thay thế tinh
vi đã và đang làm nảy sinh nhiều vấn đề nhức nhối về nạn ăn cắp bảnquyền, xuyên tạc trái phép, lan truyền thông tin bất hợp pháp
3 Mục đích của giấu tin
Nhằm mục đích bảo mật cho những dữ liệu được đem giấu Bảo đảm antoànbảo mật cho dữ liệu được đem giấu (bảo vệ bản quyền), và bảo vệ chochính các đối tượng mang tin giấu Có thể thấy hai mục đích khác nhau này
đã dần dần phát triển thành 2 lĩnh vực với những yêu cầu và tính chất khác
nhautrong kỹ thuật 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 chính là tận dụng “độ dư thừa” của phươngtiệ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 cất giấu trong đó
Hình 1 Phân loại các kỹ thuật giấu tin
Trang 114 Kỹ thuật giấu thông tin bí mật (Steganography)
Đảm bảo an toàn và bảo mật thông tin tập trung vào các kỹ thuật giấu tin để
có thể giấu được nhiều thông tin nhất Thông tin mật được giấu trong đốitượng sao cho người khác không phát hiện được
5 Kỹ thuật giấu thông tin theo kiểu đánh dấu (Watermarking)
Để bảo vệ bản quyền của đối tượng chứa thông tin, kỹ thuật giấu tin tậptrung đảm bảo một số yêu cầu như đảm bảo tính bền vững… Đây chính làứng dụng cơ bản nhất của kỹ thuật thuỷ vân số Giấu thông tin bí mật(Steganography) Thuỷ vân số (Watermarking)
6 Mô hình kỹ thuật giấu tin
Giấu thông tin vào phương tiện chứa và tách lấy thông tin là hai quá trìnhtrái ngược nhau và có thể mô tả qua sơ đồ khối của hệ thống như sau
Trên lược đồ:
đích của người sử dụng, nó có thể là thông điệp hoặc các logo, cáchình ảnh bản quyền
Thông tin cần giấu
Thuật toán nhúng tin
Khóa
Kiểm tra
Hình 2 Lược đồ chung cho quá trình giấu tin
Trang 12 Phương tiện chứa tin (Cover Data): môi trường sẽ giấu tin
như: văn bản, audio, video, …
được giấu vào trong phương tiện chứa nhờ một bộ nhúng, bộ nhúng
đó là chương trình, là những thuật toán để giấu tin và được thực hiệnvới khóa bí mật
mật
giấu tin
ra theo quy trình ngược lại với đầu ra là thông tin đã được giấu vàophương tiện chứa
Thông tin cần giấu
Thuật toán tách tin
Phương tiện chứa tin (ảnh, audio, video,
…)
Dữ liệu chứa tin mật
Khóa
Kiểm tra
Hình 3 Lược đồ chung cho quá trình tách tin
Trang 13 Sơ đồ trên chỉ ra các công việc giải mã thông tin đã giấu Saukhi nhận được đối tượng phương tiện chứa có giấu thông tin, quátrình giải mã được thực hiện thông qua một bộ giải mã ứng với bộgiấu thông tin cùng với khoá của quá trình giấu
giấu
sánh với thông tin ban đầu
II GIẤU TIN TRONG ẢNH
1 Khái niệm giấu tin trong ảnh
Giấu tin trong ảnh tuykhông phải là một đề tài mới tuy nhiên nó vẫn đượcquan tâm và có khá nhiều đề tài nghiên cứu kỹ thuật này Từ đó cho thấygiấu tin trong ảnh đóng vai trò hết sức quan trọng trong nhiều ứng dụngnhằm bảo vệ an toàn thông tin như: nhận thực thông tin, xác định xuyên tạcthông tin, bảo vệ bản quyền tác giả Lượng thông tin mang ý nghĩa tùythuộc vào mục đích của người sử dụng sẽ được giấu vào dữ liệu ảnh nhưngchất lượng ảnh ít thay đổi và khó có thể biết được đằng sau ảnh đó mangnhững thông tin có ý nghĩa gì
2 Một sốđặc trưng và tính chất của giấu tin trong ảnh
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 tintrong ảnh Các phương tiện chứa khác nhau thì cũng sẽ có các kỹ thuật giấukhác nhau nên các kỹ thuật giấu tin trong ảnh thường chú ý những đặctrưng và các tính chất cơ bản sau đây:
Dữ liệu gốc ở đây là dữ liệu tĩnh, dù đã giấu thông tin vào trong ảnh haychưa thì khi xem ảnh bằng thị giác, dữ liệu ảnh không thay đổi theo thờigian, điều này khác với dữ liệu âm thanh và dữ liệu băng hình vì khi nghehay xem thì dữ liệu gốc sẽ thay đổi liên tục với tri giác của con người theocác đoạn, các bài, cá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 thì 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
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 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 ảnhphải rất nhỏ, sao cho bằng mắt thường khó nhận ra được sự thay đổi đó vì
có như thế thì mới đảm bảo được độ an toàn cho thông tin giấu
Các phép toán giấu tin sẽ được thực hiện trên dữ liệu của ảnh Dữ liệu ảnhbao gồm phần header (là nơi lưu các thông tin về tệp, kích thước, và địa chỉoffset về vùng dữ liệu), bảng màu (có thể có) và dữ liệu ảnh Khi giấu tin,các phương pháp giấu đều biến đổi giá trị của các bit trong dữ liệu ảnhtrước hay sau khi giấu tin là như nhau
Đây là một yêu cầu quan trọng đối với giấu tin trong ảnh Sau khi giấu tinbên trong, ảnh phải đảm bảo được yêu cầu không bị biến đổi, để có thểkhông 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ễnbởi nhiều bit, nhiều giá trị và khi thay đổi một giá trị nhỏ nào đó thì chấtlượ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 biến đổimộ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áthiện
3 Các tiêu chí đánh giá kỹ thuật giấu tin trong ảnh
Kỹ thuật giấu thông tin trong ảnh phụ thuộc rất nhiều vào hệ thống thị giáccủa con người Tính vô hình hay không cảm nhận được của mắt ngườithường giảm dần ở những vùng ảnh có màu xanh tím, thủy vân ẩn thườngđược chọn giấu trong vùng này
Khả năng giấu thông tin hay lượng thông tin (dung lượng) giấu được trongmột ảnh được tính bằng tỉ lệ giữa lượng thông tin giấu và khích thước củaảnh Các thuật toán giấu tin đều cố gắng đạt được mục tiêu giấu được nhiềutin và gây nhiễu không đáng kể
Thực tế, người ta luôn phải cân nhắc giữa dung lượng thông tin cần giấuvới các tiêu chí như chất lượng (Quality), tính bền vững (Robustness) củathông tin giấu
Trang 15Chất lượng của ảnh có giấu tin được đánh giá qua sự cảm nhận của mắtngười Nên chọn những ảnh có nhiễu, có những vùng góc cạnh hoặc có cấutrúc làm môi truờng, vì mắt thường ít nhận biết được sự biến đổi khi có tingiấu trên những ảnh này.
Tính bền vứng thể hiện qua việc các thông tin giấu không bị thay đổi khiảnh mang tin phải chịu tác động qua các phép xử lý ảnh như: nén, lọc, biếnđổi tỉ lệ,…
Cần nắm được một số kiến thức cơ bản về cấu trúc của ảnh để chọn thuậttoán tìm miền ảnh thích hợp cho việc giấu tin Độ phức tạp của thuật toán
mã hóa và giải mã là yếu tố quan trọng để đánh giá các phương pháp giấutin trong ảnh Yêu cầu về độ phức tạp tính toán phụ thuộc vào từng ứngdụng
Những ứng dụng theo hướng Watermark thường có thuật toán phức tạp hơnhướng Steganography
4 Các hướng tiếp cận cũa kỹ thuật giấu tin trong ả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.Miền không gian ảnh là miền dữ liệu ảnh gốc, tác động lên miền khônggian ảnh chính là tác động lên các điểm ảnh, thay đổi giá trị trực tiếp củacác điểm ảnh Đây là hướng tiếp cận tự nhiên bởi vì khi nói đến việc giấutin trong ảnh người ta thường nghĩ ngay đến việc thay đổi giá trị các điểmảnh nguồn
Phương pháp phổ biến của hướng tiếp cận này là phương pháp tác động đếncác bit ít quan trọng nhất của các điểm ảnh (LSB-Least Significant Bit).Chọn ra từ mỗi điểm ảnh các bit ít có ý nghĩa nhất về mặt tri giác để sửdụng cho việc giấu tin Việc bit nào được coi là ít tri giác nhất và bao nhiêubit có thể được lấy ra để thay thế đều phụ thuộc vào tính chất hệ thống thịgiác của con người và nhu cầu về chất lượng ảnh trong các ứng dụng
Ví dụ: Với ảnh màu mỗi điểm ảnh được biểu diễn bằng 24 bit tương
ứng với 3 màu cơ bản RGB (Red Green Blue), mỗi màu 1 byte Người ta sửdụng sự cảm nhận bằng mắt người về màu B kém hơn so với màu R và G
Vì thế người ta thường chọn bit cuối cùng trong 8 bit biểu diễn màu B củamỗi điểm ảnh để giấu tin, việc này chỉ làm cho giá trị biểu diễn màu B tănghoặc giảm 1 đơn vị Như vậy, bit LSB trong ví dụ này là bít thứ 24 của mỗiđiểm ảnh
Trang 16Một số thuật toán muốn giấu nhiều thông tin hơn và chấp nhận ảnh có chấtlượng thấp hơn có thể sử dụng bit cuối cùng của mỗi byte màu trong hệRGB làm bit LSB, ta sẽ có 3 bit LSB
Tuy nhiên cũng có một số hạn chế như không đảm bảo được tính bền vữngcủa thông tin giấu khi thao tác quay hoặc nén ảnh
Trong một số trường hợp cách khảo sát trực tiếp ở trên cũng gặp phải khókhăn nhất định hoặc rất phức tạp và hiệu quả không cao, do đó ta có thểdùng phương pháp khảo sát gián tiếp thông qua các kỹ thuật biến đổi Cácbiến đổi này làm nhiệm vụ chuyển miền biến số độc lập sang 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 vớicác biến số mới
Mỗi cách biến đổi sẽ có những thuận lợi riêng, tùy từng trường hợp mà sửdụng biến đổi nào Sau khi khảo sát, biến đổi xong các tín hiệu và hệ thốngrời rạc trong miền các biến số mới này, nếu cần thiết có thể dùng các biếnđổi ngược để đưa chúng về miền biến số độc lập
Phương pháp khảo sát gián tiếp sẽ làm đơn giản rất nhiều các công việc gặpphải khi dùng phương pháp khảo sát trực tiếp trong miền biến số độc lập tựnhiên Hệ thống rời rạc cần khảo sát chính là không gian các điểm ảnh Cónhiều phép biến đổi trong đó phổ biến là biến đổi Fourier DFT, biến đổiCosin rời rạc DCT, biến đổi sóng nhỏ DWT… Đây là những phép biến đổiđược sử dụng nhiều trong các kỹ thuật xử lý ảnh Trong giấu tin, nó cũngđược sử dụng, đặc biệt trong các kỹ thuật thủy vân
Trang 17CHƯƠNG 2 MỘT SỐ PHƯƠNG PHÁP GIẤU TIN MẬT
I MỘT SỐ PHƯƠNG PHÁP GIẤU TIN MẬT TRONG ẢNH
1 Giấu tin mật trong khối bit sử dụng tính chẵn lẻ của tổng số bit 1
Input:
- Một file ảnh bitmap đen trắng FF
- Một file thông tin cần giấu Fb
- Một khóa K (đó là kích thước khối nhỏ) Output:
- Một file ảnh F’ đã giấu tin
a Tiền xử lý
D=b1b2…bk
sau đó đọc toàn bộ dữ liệu ảnh vào một mảng hai chiều (ma trận) M
để sử dụng cho việc giấu tin
b Quá trình giấu tin
Trang 18= m n
Trang 19For each B i
if sum(B i ) b i (mod 2) then giữ nguyên khối B i
else B’iđảo bit bất kì trong B i
End;
c Giải thích thuật toán:
sử ảnh gốc ban đầu có kích thước M N, ảnh gốc được chia thành
các khối nhỏ, tổng số các khối nhỏ sẽ là k=(M x N)/(m n) khối Vì
là ảnh đen trắng nên mỗi khối là một ma trận hai chiều của các giá trị
0 và 1
sum(B) là tổng số điểm ảnh đen (điểm ảnh có giá trị bằng 1) trong
lẻ Ta xét hai trường hợp sau:
tính chất để giấu bit dữ liệu b Ta không cần thay đổi gì và xem nhưbit b đã được giấu
để đảo tính chẵn lẻ của sum(B) Dễ thấy ta chỉ cần đảo một bit bất kỳ
Trang 20trong B thì sum(B) sẽ tăng hoặc giảm 1 đơn vị Gọi B’ là khối kếtquả thu được từ khối B sau khi đã đảo một bit trong B Ta có sum(B’)
≡ b (mod 2)
Thí dụ:
Xét thí dụ dưới đây minh họa cho hai trường hợp trên
Cho khối B kích thước K = 4 4, sum(B) = 8
0 1 0 0
1 0 1 1
1 1 0 1
0 0 0 1
(a) Giả sử ta muốn giấu bit b = 1 vào khối B
Số lượng bít 1 trong khối B là 8, sum(B) = 8 Do đó sum(B) 1(mod 2) Như vậy khối B không thỏa mãn yêu cầu Để giấu bit 1và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 bit thông tin rõ vào bít của khối tương ứng (nếuchúng trái dấu nhau) đổi bit 0 thành bít 1 hoặc bít 1 thành bít 0,
ta thu được khối B’ Giả sử thay đổi bittrong khối B như sau:
Trang 21- F’ là ảnh đã được giấu dãy bit bí mật D
- K là khóa bí mật, đó là kích thước khối nhỏ đã được xác định trước Output
- F là file ảnh chứa tin đã được giấu
- D là dãy bit bí mật đã giấu
Các bước thực hiện
- Đọc header ảnh để biết các thông tin về ảnh, đọc bảng mầu, đọcphần dữ liệu ảnh vào ma trận hai chiều M
- Chia M thành các khối nhỏ với kích thước K
- Theo một thứ tự xác định trước, xét từng khối nhỏ B, giải tin theoquy tắc sau:
Nếu tổng số các bit 1 là lẻ thì ta thu được bit giấu là 1Nếu tổng số các bit 1 là chẵn thì ta thu được các bit giấu là 0Như vậy, sau khi xử lý hết các khối đã giấu ta thu được chuỗi bit đã giấu b’Chuyển file xâu bit nhị phân sang file văn bản
Thuật toán giấu tin trong ảnh dựa vào tính chẵn lẻ của tổng số bit 1 ởtrên là rất đơn giản Sau khi nghiên cứu thuật toán này ta có thể đưa ra một
số nhận xét sau:
thước ảnh và lượng tin cần giấu sao cho các thông tin giấu có thể
giàn trải trên toàn ảnh Ví dụ nếu ta có ảnh kích thước 512 512pixel và có một lượng thông tin cần giấu là 100 kí tự Như vậy, filethông tin nhị phân cần giấu là 100 8 = 800 bit Ta có thể thấy đểgiấu hết thông tin cần ít nhất 800 khối, vậy thì kích thước khối ta cóthể chia trên ảnh là (512 512)/800=327 (dư 544) Với cách tính nàythì kích thước tối đa của một khối là 327 Chẳng hạn ta có thể chọn
Trang 22kích thước cho một khối 20 16, 30 15… Nên chọn khối có kíchthước lớn vì như vậy trong trường hợp các khối bị thay đổi thìkhoảng cách các bit bị biến đổi sẽ thưa hơn và làm cho ảnh sau khigiấu khó nhận biết hơn
đầu từ khối đầu tiên và các khối tiếp theo một cách tuần tự Tuynhiên ta có thể làm khó thuật toán hơn bằng cách chọn ngẫu nhiênmột khối chưa giấu tin ở mỗi lần giấu Khi đó ta đã làm tăng độ antoàn của thuật toán vì khóa lúc đó còn bao gồ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ầngiấu Chẳng hạn như lần thứ nhất có kích thước khối là 8 8, lần thứ
hai là 8 12,… trong những trường hợp này thì khóa sẽ là kích thướckhối ở mỗi lần giấu
quy ước nào đó dưới dạng một mệnh đề (tân từ) P Nếu tân từ P đượcthỏa thì ứng với bit 1, ngược lại ứng với bit 0 Tân từ P trong thuậttoán trên là sum(B) b (mod 2)
Nhược điểm cơ bản của phương pháp giấu tin vào ảnh đen trắng làtin giấu vào đó được rất ít Nếu giấu nhiều thông tin thì ảnh sẽ thay đổi vàngười ta dễ dàng phát hiện ra sự có mặt của thông tin ẩn Do đó khi giấu tinmật người ta thường chọn ảnh màu hoặc ảnh đa cấp xám Với ảnh màu vàảnh đa cấp xám, mỗi điểm ảnh được biểu diễn bằng nhiều bít Trong dãycác bít này có một bít được gọi là bít ít quan trọng nhất (LSB – LeastSignificant Bit) LSB là bit mà khi ta đảo giá trị của nó thì điểm màu chỉ bịthay đổi ít nhất Thí dụ với ảnh đa cấp xám, mỗi mức xám g được biểu diễnbởi số nguyên không âm, thì mức xám g sẽ sai khác ít nhất so với hai mứcxám liền kề là g–1 và g+1 Trong trường hợp này bít LSB chính là bit thấpnhất trong dạng biểu diễn nhị phân của g Hầu hết các thuật toán giấu tin
Trang 23trê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 tintrên ảnh đen trắng theo sơ đồ sau:
thuật nào đó Chẳng hạn lấy từ mỗi điểm màu trong Fc một bít quantrọng nhất để làm một điểm ảnh cho F
trắng F’
ứng của Fc để thu được ảnh màu kết quả là F’c
Như vậy ta thấ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 Kỹ thuật giấu tin Wu _ Lee
Kỹ thuật giấu tin theo khối bit sử dụng tính chẵn lẻ của tổng số bit 1trong khối ở trên thể hiện độ an toàn không cao do chỉ có duy nhất kíchthước khối là khóa cho quá trình giấu tin, đồng thời ảnh chứa thông tin giấucũng dễ bị phát hiện do kỹ thuật có thể đảo bit trong khối ảnh toàn màu đenhoặc toàn màu trắng dẫn tới sự bất thường ở vị trí đảo so với các điểm lâncận trong khối
Thuật toán giấu tin trong ảnh đen trắng do M.Y.Wu và J.H.Lee đưa
ra năm 1989 đã 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 khóa K cho việc giấu tin và các điều kiện để đảo bít trong mỗikhối
Định nghĩa 1: Gọi x và y là hai bit tùy ý, phép nhân bit kí hiệu là trên
hai bit x và y ; phép cộng loại trừ (còn gọi là phép XOR) kí hiệu là trênhai bit x và y, Các phép toán ∧ và được định nghĩa thông qua bảng dướiđây:
Trang 24Với mỗi ma trận A, kí hiệu A[i,j] là phần tử trên hàng i, cột j của ma trận A.Hai phép toán trên cũng được mở rộng cho các dãy bit hoặc cho các matrận bit
Định nghĩa2: Hai ma trận A và B có cùng kích thước m n ta định nghĩa
A B = C, trong đó C[i,j] = A[i,j] B[i,j]
A B = C, trong đó C[i,j] = A[i,j] B[i,j]
Định nghĩa 3: Phép nhân theo vị trí trên hai ma trận A và B (các phần tử là
các số nguyên) có cùng kích thước như sau:
A B = C, trong đó C[i,j] = A[i,j] * B[i,j]
Định nghĩa 4: Với ma trận số B ta định nghĩa sum(B) là tổng tất cả các
phần tử của ma trận B Nếu B là ma trận bit thì sum(B) chính là tổng số cácbit 1 có trong B
Ý tưởng thuật toán
Với mục tiêu là giấu được càng nhiều thông tin vào trong ảnh màvẫn đảm bảo được chất lượng ảnh càng tốt, ý tưởng chính của thuật toán làchia ảnh ra thành các khối bằng nhau, tìm khối nào ít bị phát hiện nhất, giấumột bit thông tin vào khối đó
Trang 25Chuyển bước 3 để giấu thông tin vào khối F i , Else giữ nguyên khối F i
if sum(F i K) mod 2 = b then
giữ nguyên F i
else if sum(F i K) = 1 then
chọn ngẫu nhiên một bit [j,k] thỏa đồng thời F i [j, k]=1 và K[j, k]= 1 Đảo giá trị của bit F i [j, k] = 1
else if sum((F i f K) = sum(K) – 1 then
Chọn ngẫu nhiên một bit [j,k] thỏa F i [j,k] = 1 và K[j,k] = 1 Đảo giá trị của bit F i [j,k] = 0
Else
Chọn ngẫu nhiên một bit [j, k] mà K[j, k] = 1 Đảo giá trị của bit F i [j, k] từ 1 thành 0 hoặc từ 0 thành 1 End if;
Thí dụ: Giả sử ta cần giấu dãy bit D = “101” vào ảnh F có kích thước 8 8
và một ma trận khóa K có kích thước 4 4 như hình vẽ dưới đây Ta chiaảnh F thành 4 khối nhỏ F1, F2, F3, F4, mỗi khối nhỏ sẽ có kích thước là 4 4.Minh họa giấu dữ liệu D = “101” vào 4 khối ảnh nhị phân
Trang 26b Giải thích thuật toán:
mod 2 = 1 Ta giữ nguyên F1 Coi như bit đầu tiên đã được giấu trong
F1
nhiên phần tử [4,2] để đảo bit trong khối F2 vì với phần tử này ta có
F2[4,2] = 1 và K[4,2] = 1 Ta thu được khối F’2 Bằng cách đảo bítcủa F2[4,2] = 0
được bit dữ liệu tiếp theo vào khối này
mod 2 = 0 b Chọn ngẫu nhiên ô F4[3,1] ứng với K[3,1] = 1 đảo bit
Trang 27của F4[3,1] từ 0 thành 1 ta thu được khối F’4
- F là file ảnh chứa tin đã được giấu
- D là dãy bit bí mật đã giấu
Trong đó b là bit nhị phân đã được giấu
Trong mục này ta phân tích khả năng đối phương phát hiện ảnh cógiấu tin hoặc trong trường hợp xấu hơn, đối phương phát hiện được cả khóa
bí mật K
Trang 28Nếu có ảnh gốc F và ảnh đã giấu tin F’, bằng một thủ tục đối sánhđơn giản đối phương có thể phát hiện ra ảnh có giấu tin hay không Nếu F =F’ thì ảnh không bị giấu tin, ngược lại F khác F’ thì ảnh có thể bị giấu tin
Trước hết chúng ta xem xét vấn đề khóa K Việc chọn khóa K nhằmlàm tăng độ mật của thuật toán Nếu như trước đây chỉ biết kích thước củakhối là m x n thì đối phương rất dễ khai thác được bản tin mật Ở đây cònphải biết thêm giá trị cụ thể của khóa K
Phép toán Fi K qui định thuật toán chỉ được phép sửa các bit trongkhối Fi ứng với bit 1 trong khóa K Như vậy khóa K được xem như mộtmặt nạ Tuy nhiên, ta vẫn có thể thay phép toán bởi phép toán khác,chẳng hạn phép toán
Tiếp theo chúng ta xét đến điều kiện 0 < sum(Fi K) < sum(K) quiđịnh nếu khối Fi K toàn 0 hoặc giống như khóa K thì không được giấu tin
để tránh bị lộ Nếu một khối Fi toàn điểm trắng được truyền đi thì kẻ thù khibắt được thông tin sẽ dễ dàng tìm được ra vị trí 1 của khóa K Do vậy takhông dùng trường hợp sum(Fi K) = 0 để giấu tin Với trường hợp sum(Fi
K) = sum(K) nếu Fi toàn điểm đen thì vị trí bit thay đổi cũng là vị trí màbit tương ứng ở khóa K là 1 Để tránh hai trường hợp trên thuật toán đưa rađiều kiện: 0<sum(Fi K)<sum(K) khi giấu một bit thông tin vào khối Fi.Nhưng cho dù thế đi chăng nữa thì vị trí tương ứng với bit bị thay đổi cũngtương ứng với bit ở vị trí đó trong khóa K có giá trị 1, và bit không bao giờ
bị thay đổi tương ứng sẽ là bit 0 ở vị trí đó trong khóa K Và như thế việcchọn khóa K như thế nào là một công việc hết sức quan trọng
Trong bước 3 chỉ thực hiện tối đa một phép đảo một bit của khối Fi
để thu được khối F’i nhằm đảm bảo tính bất biến Do việc giấu tin vào khốichỉ cần thay đổi tối đa một bit nên việc chọn bit nào trong Fi để đảo cầntuân thủ nguyên tắc: Nếu Fi K có nhiều bit 1 thì chọn bit 1, ngược lại nếu
Trang 29đảo bị phát hiện Vì K là khóa bí mật nên thông tin đã được nhúng là bímật Thuật toán này làm thay đổi nhiều nhất một bit của khối Fi khi giấumột bit thông tin vào trong khối nên với một khối có kích thước m x n đủ
lớn thì sự thay đổi của Fi là nhỏ.
Ảnh F được lựa chọ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 đen hoặc điểm trắng thì tỉ lệ bit giấu được
sẽ rất thấp Thông thường người ta chọn ảnh gốc là các ảnh lạ, chẳng hạnảnh cá nhân để giấu tin nhằm tăng độ bảo mật
Nói chung, thuật toán Wu_Lee vẫn chưa đạt được những yêu cầucần thiết về khả năng giấu, độ an toàn thông tin cũng như chất lượng ảnh.Tuy nhiên đó là áp dụng đối với ảnh đen trắng, nếu ta áp dụng kỹ thuật nàyvới ảnh màu và ảnh đa cấp xám thì sẽ thu được kết quả khả quan hơn
3 Kỹ thuật giấu tin Yuan_Pan_Tseng
Yu Yuan, Hsiang Kuang Pan và Yu Chee Tseng đã phát triển một kỹthuật giấu tin mới trên cơ sở của thuật toán Wu_Lee Kỹ thuật này sử dụngmột ma trận khóa và một ma trận trọng số để giấu tin Thuật toán đảm bảođược độ an toàn của thông tin giấu và cũng giấu được nhiều thông tin trongảnh bằng cách chỉ thay đổi nhiều nhất 2 bit trong mỗi khối ảnh Đối với ảnhđen trắng thì kỹ thuật này có nhược điểm là chất lượng ảnh chưa cao, dễ bịphát hiện
Định nghĩa 5: Khóa bí mật là một ma trận nhị phân có cùng kích thước
mxn với kích thước của khối ảnh Khóa được dùng một cách bí mật mà chỉ
có người gửi và người nhận đích thực mới biết được
Định nghĩa 7: Phép đảo bit (bitwise) là một phép biến đổi trên các bit nhị
phân Đảo bit b tương đương với phép biến đổi thay b bởi 1-b
Trang 30Định nghĩa 8: Với mỗi số nguyên dương p, ta xét tập các số dư trong phép
chia cho p, Zp={0, 1, 2, …, p-1} Trên Zp ta thực hiện các phép toán theomodulo p như sau: x, y Zp:
- Phép cộng: x+y (mod p) = (x +y) mod p
- Phép lấy phần tử đối: -x (mod p) = p-x
- Phép trừ: x – y (mod p) = (x+(p-y)) mod p
- Phép nhân: x f y (mod p) = (x f y) mod p
Các phép toán dùng trong ma trận cũng giống như đã định nghĩa nếu trên
Ý tưởng thuật toán
Ý tưởng chính của thuật toán giấu tin Yuang_Pan_Tseng là sử dụngthêm một ma trận trọng số kết hợp với ma trận khóa K và để giấu được r bit
dữ liệu vào một khối m x n nhưng chỉ thay đổi nhiều nhất hai bit dữ liệutrên khối
a Quá trình giấu tin
Input:
- F là một ma trận giá trị các điểm ảnh gốc dùng để giấu tin
- K là một ma trận khóa nhị phân có kích thước m x n
- r là số lượng bit cần giấu trong mỗi khối ảnh kích thước m x n
- D là xâu thông tin cần giấu gồm k*r bit, k là số khối ảnh giấu
- W là một ma trận trọng số r với các giá trị W[i,j] thuộc tập {1,2,
…,2 r -1} xuất hiện ít nhất một lần
Output:
- Một file ảnh F’ đã giấu tin b
Thuật toán
Với mỗi khối Fi thực hiện các bước biến đổi sau
Bước 4: Với mỗi khối T:
r
Trang 31Sw = {[j, k] | (W[j, k] = w Ti[j, k] =0) (W[j, k]=2r-w Ti[j,k] =1)}
Chọn phần tử [j, k] bất kì thuộc Su và đảo bit Fi[j, k];
Chọn phần tử [j, k] bất kì thuộc Sv và đảo bit Fi[j, k];
End
ma trận trọng số W4x4 Ta giấu 12 bit sau D=001 000 010 001 vào trong ảnh
F Cho r = 3 Ban đầu chia F thành các khối ảnh F1, F2, F3, F4 có cùng kíchthước 4 4