KHOA SAU ĐẠI HỌC
BÀ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
GVHD : GS.TSKH. Hoàng Kiếm
Lớp : Cao học ngành khoa học máy tính K2 đợt 1
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
NGHIÊN CỨU KỸ THUẬT GIẤU
THÔNG TIN VÀO TRONG ẢNH
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ôn
và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à
theo đó hoạt động nghiên cứu khoa học đã trở thành hoạt động khá sôi nổi và rộng
khắp trên đất nước Việt Nam, cũng như trên phạm vi toàn cầu. Khoa học công nghệ
trở 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ông
nghệ 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 đổi
theo 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 xem
khoa 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ọc
Hoà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 cho
chúng em về môn học “Phương pháp nhiên cứu khoa học trong tin học”. Xin chân
thà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 ơn
cá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ạn
trong nhóm đã cùng hỗ trợ giúp đỡ, cùng nghiên cứu để hoàn tất báo cáo này.
MỤC LỤC
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 6
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 7
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
4.2. Tiếp cận trên miền tần số ảnh 8
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ìnhtách tin 12
1.4. Phân tích thuật toán 13
1.5. Áp dụng thuật toán cho ảnh màu và ảnh đa cấp xám 14
2. Kỹ thuật giấu tin Wu _ Lee 15
2.1. Ý tưởng 15
2.2. Thuật toán 16
2.3. Quá trìnhtách tin 19
2.4. Phân tích thuật toán 19
3. Kỹ thuật giấu tin Yuan_Pan_Tseng 21
3.1. Ý tưởng 21
3.2. Thuật toán 22
3.3. Quá trình tách tin 26
3.4. Phân tích thuật toán 27
II.KỸ THUẬT THỦY VÂN TRÊN ẢNH 28
1. Một số khái niệm cơ bản trong thủy vân số 28
1.1. Khái niệm thủy vân số 28
1.2. Phân loại các kỹ thuật thủy vân 28
1.3. Mô hình hệ thống thủy vân 29
1.4. Các đặc trưng của một hệ thủy vân 31
2. Một số kỹ thuật thủy vân trên ảnh 32
2.1. Phép biến đổi cosin rời rạc 32
2.2. Đặc điểm của phép biến đổi DCT trên ảnh hai chiều: 33
2.3. Kỹ thuật thủy vân sử dụng phép biến đổi DCT 34
KHẢ NĂNG PHÁT HIỆN ẢNH CÓ GIẤU TIN 41
III.PHƯƠNG PHÁP PHÁT HIỆN ẢNH GIẤU TIN 41
1. Bài toán phân tích tin giấu 41
2. Phân loại phương pháp phát hiện ảnh giấu tin 41
2.1. Phân tích trực quan 41
2.2. Phân tích định dạng ảnh 42
2.3. Phân tích thống kê 42
IV.KỸ THUẬT PHÂN TÍCH CẶP GIÁ TRỊ ĐIỂM ẢNH 42
1. Khái niệm cặp giá trị 42
2. Thuật toán PoV3 43
2.1. Ý tưởng 43
2.2. Cách thức thực hiện 44
2.3. Phân tích thuật toán 44
V.KỸ THUẬT PHÂN TÍCH ĐỐI NGẪU 45
1. Các khái niệm 45
2. Thuật toán RS (Regular – Singular) 47
2.1. Tư tưởng: 47
2.2. Cách thực hiện 48
2.3. Phân tích thuật toán RS 49
DANH MỤC HÌNH ẢNH
Hì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 29
Hình 5 Mô hình quá trình nhúng thủy vân 31
DANH MỤC TỪ VIẾT TẮT
LSB 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
DCT Discrete Cosine Transform DCT Phép biến đổi cosine rời rạc
RGB Red Green Blue
PoV Pairs of Values Khái niệm về cặp giá trị
LỜI NÓI ĐẦU
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át
triể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ướng
bả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ật
theo đúng sở thích cá nhân cũng như nâng cao kinh nghiệm cho người dùng
trong 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 được
giớ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ện
diệ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ác
cá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.
Tiểu luận An Toàn & Bảo Mật Dữ Liệu GVHDTS. Lê Xuân Trường
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 trong
mộ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 quan
trọ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ộc
số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ác
câu chuyện kể về kỹ thuật giấu thông tin được truyền qua nhiều thế hệ.
♦ Có lẽ những ghi chép sớm nhất về kỹ thuật giấu thông điệp
thuộc về sử gia Hi Lạp Herodotus. Khi bạo chúa Hi Lạp 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ột
thô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 do
Herodotus ghi lại. Môi trường để ghi văn bản chính là các viên thuốc
được bọc trong sáp ong. Demeratus, một người Hi Lạp định báo cho
Sparta 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áo
lên bề mặt các viên thuốc này, sau đó bọc lại các viên thuốc bằng một
lớp sáp ong mới. Những viên thuốc mang tin mật đã 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ểm
soát một cách dễ dàng.
♦ Mực không màu là phương tiện hữu ích cho bảo mật thông tin
trong một thời gian dài. Người Romans cổ đã biết sử dụng những
Trang 1
Tiểu luận An Toàn & Bảo Mật Dữ Liệu GVHDTS. Lê Xuân Trường
chất sẵn có như nước quả, nước tiểu và sữa viết các thông báo bí mật
giữa 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ũng
vẫn còn được sử dụng gần đây, chẳng hạn trong chiến tranh thế giới
thứ II. Ý tưởng về che giấu thông tin đã có hàng ngàn năm trước
nhưng kỹ thuật này được dùng chủ yếu trong quân đội và trong các
cơ quan tình báo. Mãi cho tới vài thập niên gần đây, giấu tin mới
nhận được sự quan tâm của các nhà nghiên cứu và các viện công
nghệ thông tin với nhiều công trình nghiên cứu. Sự phát triển của
thông tin số và mạng truyền thông (đặc biệt là mạng Internet) cùng
với các kỹ thuật sao chép hoàn hảo, kỹ thuật chỉnh sửa, thay thế tinh
vi đã và đang làm nảy sinh nhiều vấn đề nhức nhối về nạn ăn cắp bản
quyền, xuyên tạc trái phép, lan truyền thông tin bất hợp pháp.
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 an
toànbảo mật cho dữ liệu được đem giấu (bảo vệ bản quyền), và bảo vệ cho
chí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ươ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 cất giấu trong đó.
Hình 1 Phân loại các kỹ thuật giấu tin
Trang 2
Tiểu luận An Toàn & Bảo Mật Dữ Liệu GVHDTS. Lê Xuân Trường
4. 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 đối
tượ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ập
trung đả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ình
trái ngược nhau và có thể mô tả qua sơ đồ khối của hệ thống như sau.
6.1. Mô hình kỹ thuật giấu tin
Trên lược đồ:
♦ Thông tin cần giấu (Secret Message): tùy thuộc vào mục
đích của người sử dụng, nó có thể là thông điệp hoặc các logo, các
hình ảnh bản quyền.
Trang 3
Thông tin cần giấu
Thuật toán
nhúng 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 2 Lược đồ chung cho quá trình giấu tin
Tiểu luận An Toàn & Bảo Mật Dữ Liệu GVHDTS. Lê Xuân Trường
♦ Phương tiện chứa tin (Cover Data): môi trường sẽ giấu tin
như: văn bản, audio, video, ….
♦ Thuật toán nhúng tin (Embeding Algorithm):Thông tin sẽ
đượ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ện
với khóa bí mật.
♦ Khóa (Key): Khóa bí mật được sử dụng trong giấu tin.
♦ Dữ liệu chứa tin mật (Stego Data): môi trường đã chứa tin
mật.
♦ Kiểm tra thông tin (Control):Kiểm tra thông tin sau khi
giấu tin
6.2. Mô hình kỹ thuật tách tin
♦ Tách thông tin từ các phương tiện chứa đã được giấu tin diễn
ra theo quy trình ngược lại với đầu ra là thông tin đã được giấu vào
phương tiện chứa.
♦ Phương tiện chứa sau khi tách lấy thông tin có thể được sử
Trang 4
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
Tiểu luận An Toàn & Bảo Mật Dữ Liệu GVHDTS. Lê Xuân Trường
dụng, quản lý theo những yêu cầu khác nhau.
♦ Sơ đồ trên chỉ ra các công việc giải mã thông tin đã giấu. Sau
khi 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.
♦ Kết quả thu được gồm phương tiện chứa gốc và thông tin đã
giấu.
♦ Bước tiếp theo thông tin đã giấu sẽ được xử lý kiểm định so
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 được
quan tâm và có khá nhiều đề tài nghiên cứu kỹ thuật này. Từ đó cho thấy
giấu tin trong ảnh đóng vai trò hết sức quan trọng trong nhiều ứng dụng
nhằm bảo vệ an toàn thông tin như: nhận thực thông tin, xác định xuyên tạc
thông tin, bảo vệ bản quyền tác giả. Lượng thông tin mang ý nghĩa tùy
thuộc vào mục đích của người sử dụng sẽ được giấu vào dữ liệu ảnh nhưng
chất lượng ảnh ít thay đổi và khó có thể biết được đằng sau ảnh đó mang
nhữ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 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 nên các kỹ thuật giấu tin trong ảnh thường chú ý những đặc
trưng và các tính chất cơ bản sau đây:
2.1. 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 thông tin vào trong ảnh hay
chưa thì khi 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 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, các ảnh…
2.2. Giấu tin phụ thuộc loại ả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 5
Tiểu luận An Toàn & Bảo Mật Dữ Liệu GVHDTS. Lê Xuân Trường
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
Giấu tin trong ảnh ít nhiều cũng gây ra những thay đổi trên dữ liệu ảnh gốc.
Dữ liệu ảnh được quan sát bằng hệ thống thị giác của con người, nên các kỹ
thuật giấu tin phải đảm bảo một yêu cầu cơ bản là những thay đổi trên ảnh
phải rất nhỏ, sao cho bằng mắt thường khó nhận ra được sự thay đổi đó vì
có như thế thì mới đảm bảo được độ an toàn cho thông tin giấu.
2.4. Giấu thông tin không làm thay đổi kích thước ảnh
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 ảnh
bao 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 ảnh
trước hay sau khi giấu tin là như nhau.
2.5. Đả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ể
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ễn
bởi nhiều bit, nhiều giá trị và khi 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 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.
3. Các tiêu chí đánh giá kỹ thuật giấu tin trong ảnh
3.1. Tính vô hì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ác
của con người. Tính vô hình hay không cảm nhận được của mắt người
thườ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.
3.2. Khả năng giấu thông tin (Hiding Capacity)
Khả năng giấu thông tin hay lượng thông tin (dung lượng) giấu được trong
mộ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ều
tin 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ấu
với các tiêu chí như chất lượng (Quality), tính bền vững (Robustness) của
thông tin giấu.
Trang 6
Tiểu luận An Toàn & Bảo Mật Dữ Liệu GVHDTS. Lê Xuân Trường
3.3. Chất lượng của ảnh có giấu thông tin
Chất lượng của ảnh có giấu tin được đánh giá qua sự cảm nhận của mắt
người. Nên chọn những ảnh có nhiễu, có những vùng góc cạnh hoặc có cấu
trúc làm môi truờng, vì mắt thường ít nhận biết được sự biến đổi khi có tin
giấu trên những ảnh này.
3.4. Tính bền vững của thông tin được giấu
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ệ,…
3.5. Thuật toán và độ phức tạp của thuật toán
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ật
toá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ấu
tin trong ảnh. Yêu cầu về độ phức tạp tính toán phụ thuộc vào từng ứng
dụng.
Những ứng dụng theo hướng Watermark thường có thuật toán phức tạp hơn
hướng Steganography.
4. Các hướng tiếp cận cũa kỹ thuật giấu tin trong ảnh
4.1. Tiếp cận trên miền không gian ảnh
Đây là hướng tiếp cận cơ bản và tự nhiên trong số các kỹ thuật giấu tin.
Miền không gian ảnh là miền dữ liệu ảnh gốc, tác động lên miền không
gian ảnh chính là tác động lên các điểm ảnh, thay đổi giá trị trực tiếp của
cá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ấu
tin trong ảnh người ta thường nghĩ ngay đến việc thay đổi giá trị các điểm
ảnh nguồn.
Phương pháp phổ biến của hướng tiếp cận này là phương pháp tác động đến
cá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êu
bit 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ủa
mỗ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ăng
hoặ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 7
Tiểu luận An Toàn & Bảo Mật Dữ Liệu GVHDTS. Lê Xuân Trường
Mộ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ất
lượ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ững
của thông tin giấu khi thao tác quay hoặc nén ảnh.
4.2. Tiếp cận trên miền tần số ả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ác
biế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ới
cá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ống
rời rạc trong miền các biến số mới này, nếu cần thiết có thể dùng các biến
đổi ngược để đưa chúng 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ặp
phải khi dùng phương pháp khảo sát trực tiếp trong miền biến số độc lập tự
nhiên. Hệ thống rời rạc cần khảo sát chính là 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 đổi
Cosin 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 8
Tiểu luận An Toàn & Bảo Mật Dữ Liệu GVHDTS. Lê Xuân Trường
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
1.1. Ý tưởng
Đây là kỹ thuật đơn giản nhất trong các kỹ thuật giấu tin. Ý tưởng cơ bản
của kỹ thuật này là chia một ảnh thành các khối nhỏ và trong mỗi khối nhỏ
sẽ giấu một bit thông tin. Dựa vào tính chẵn lẻ của tổng số các bit 1 trong
khối để qui định giấu bit 1 hay 0. Cụ thể sau khi giấu thì tổng số các bit 1
trong khối và bit cần giấu sẽ có cùng tính “chẵn lẻ”. Thuật toán này dùng
cho ảnh đen trắng, ảnh mầu và ảnh đa cấp xám. Tuy nhiên, trong phần trình
bày ở mục ngay sau đây sẽ minh họa thuật toán cho ảnh đen trắng, phần
trình bày áp dụng thuật toán cho ảnh mầu và ảnh đa cấp xám sẽ được nói
đến tiếp sau.
1.2. Thuật toán
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ý
♦ Chuyển file thông tin cần giấu Fb sang dạng xâu nhị phân
D=b
1
b
2
…b
k
.
♦ Đọc header của ảnh (phần chứa thông tin ảnh), đọc bảng màu,
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
♦ Bước 1: Chia ma trận M thành các khối nhỏ B
i
kích thước K
Trang 9
Tiểu luận An Toàn & Bảo Mật Dữ Liệu GVHDTS. Lê Xuân Trường
= m n
♦ Bước 2: Giấu bit dữ liệu b
i
vào khối B
i
.
Trang 10
Tiểu luận An Toàn & Bảo Mật Dữ Liệu GVHDTS. Lê Xuân Trường
For 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:
♦ Chia M thành các khối nhỏ có kích thước K. (K = m n). Giả
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.
♦ Giả sử cần giấu 1 bit dữ liệu b vào một khối B. Kí hiệu
sum(B) là tổng số điểm ảnh đen (điểm ảnh có giá trị bằng 1) trong
khối B. Kí hiệu x y (mod z) hai số tự nhiên x và y đồng dư theo
modulo z. Như vậy x y (mod 2) cho biết x và y có cùng tính chẵn
lẻ. Ta xét hai trường hợp sau:
♦ Trường hợp thứ nhất: sum(B) b (mod 2), khối B thỏa mãn
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.
♦ Trường hợp thứ hai: sum(B) b (mod 2). Ta phải sửa khối B
để đả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 11
Tiểu luận An Toàn & Bảo Mật Dữ Liệu GVHDTS. Lê Xuân Trường
trong B thì sum(B) sẽ tăng hoặc giảm 1 đơn vị. Gọi B’ là khối kết
quả 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 1
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 bit 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 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:
0 1 0 0 0 1 0 0
1 0 1 1 1 0 1 1
1 1 0 1 1 0 0 1
0 0 0 1 0 0 0 1
Khối B Khối B’
Khi đó ta có sum(B’) = 7, do đó ta được sum(B’) 1 (mod 2).
(b) Giả sử ta giấu bit b = 0 vào khối B.
Ta có sum(B) = 8, nên sum(B) 0 (mod 2). Khối B được bảo
toàn và bit dữ liệu b = 0 coi như đã được giấu.
Trong thuật toán giấu tin này, khóa đơn giản chỉ là kích thước
khối. K = m n. Nếu biết kích thước của khối thì ta dễ dàng giải
mã theo quy tắc sau.
1.3. Quá trìnhtách tin
Trang 12
Tiểu luận An Toàn & Bảo Mật Dữ Liệu GVHDTS. Lê Xuân Trường
Input
- 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, đọc
phầ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 theo
quy tắc sau:
Nếu tổng số các bit 1 là lẻ thì ta thu được bit giấu là 1
Nếu tổng số các bit 1 là chẵn thì ta thu được các bit giấu là 0
Như 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
1.4. Phân tích thuật toá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:
♦ Việc chọn kích thước khối để giấu tin cần căn cứ vào kích
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 512
pixel và có một lượng thông tin cần giấu là 100 kí tự. Như vậy, file
thô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ày
thì 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 13
Tiểu luận An Toàn & Bảo Mật Dữ Liệu GVHDTS. Lê Xuân Trường
kích thước cho một khối 20 16, 30 15… Nên chọn khối có kích
thướ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 khi
giấu khó nhận biết hơn.
♦ Với thuật toán này việc chọn khối khá đơn giản. Ta có thể bắt
đầu từ khối đầu tiên và các khối tiếp theo một cách tuần tự. Tuy
nhiên ta có thể làm khó thuật toán hơn bằng cách chọn ngẫu nhiên
một khối chưa giấu tin ở mỗi lần giấu. Khi đó ta đã làm tăng độ an
toàn của thuật toán vì khóa lúc đó còn bao gồm cả chỉ số khối đã giấu
tin cho từng bit. Hoặc ta có thể thay đổi kích thước khối ở mỗi lần
giấu. Chẳng hạn như lần 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ước
khối ở mỗi lần giấu.
♦ Bản chất của kỹ thuật giấu tin trong ảnh đen trắng đó là một
quy ước nào đó dưới dạng một mệnh đề (tân từ) P. Nếu tân từ P được
thỏa thì ứng với bit 1, ngược lại ứng với bit 0. Tân từ P trong thuật
toán trên là sum(B) b (mod 2).
1.5. Á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 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 tin
mậ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ãy
các bít này có một bít được gọi là bít í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 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ễn
bở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ức
xá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ấp
nhấ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 14
Tiểu luận An Toàn & Bảo Mật Dữ Liệu GVHDTS. Lê Xuân Trường
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 sơ đồ 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 bí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 để thu đượ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 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
2.1. Ý tưởng
Kỹ thuật giấu tin theo khối bit sử dụng tính chẵn lẻ của tổng số bit 1
trong khối ở trên thể hiện độ an toàn không cao do chỉ có duy nhất kích
thước khối là khóa cho quá trình giấu tin, đồng thời ảnh chứa thông tin giấu
cũng dễ bị phát hiện do kỹ thuật có thể đảo bit trong khối ảnh toàn màu đen
hoặc toàn màu trắng dẫn tới sự bất thường ở vị trí đảo so với các điểm lân
cậ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ỗi
khố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ên
hai bit x và y, Các phép toán ∧ và được định nghĩa thông qua bảng dưới
đây:
x y
x y x y
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0
Trang 15
Tiểu luận An Toàn & Bảo Mật Dữ Liệu GVHDTS. Lê Xuân Trường
Vớ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 ma
trậ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ác
bit 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ấu
một bit thông tin vào khối đó.
2.2. Thuật toán
a. Quá trình giấu tin
Input:
- Ảnh nhị phân F
- Khóa bí mật K
- Xâu bit dữ liệu cần giấu D
Output:
- Một file ảnh F’ đã giấu tin bên trong.
Cách thức thực hiện:
Bước 1: Chia ảnh F thành các khối nhỏ F
i
, mỗi khối có kích thước K (K =
m x n).
Bước 2:
For each F
i
If 0< sum(F
i
K) < sum(K) then
Trang 16