Tải bản đầy đủ (.pdf) (63 trang)

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 (LV thạc sĩ)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.71 MB, 63 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

TẠ 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


ĐẠI HỌC THÁI NGUYÊN
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

TẠ 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




i

LỜ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ân
tô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


ii

MỤ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



iii
3.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


iv

DANH 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


v

DANH 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 C m (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


vi

LỜ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ọc cô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 gian thự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úc thầ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ăn này.
Mặc dù em đã cố gắng hoàn thành luận văn trong phạm vi và khả năng cho
phé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


1

MỞ ĐẦ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ển
mạ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ái
phé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ều phươ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 ta thường sử

dụng phương pháp giấu tin mật trong đa phương tiện, phương pháp này là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ông thườ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 an toà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ân tí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:


2

Chươ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 đã được cô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ây dự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ừng

thuật toán. Cài đặt thử nghiệm việc giấu tin dựa theo thuật toán đề xuất.


3

CHƯƠ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ông tin được giấu đồng thời không làm ảnh hưởng đến chất lượng của dữ liệu gốc.
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ện nay.
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úng thô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ại củ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 đây nê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ía cạ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 được Fabien 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
tin giấu được càng nhiều càng tốt và quan trọng là người khác khó phát hiện được
một đối tượng có bị giấu tin bên trong hay không 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ằm
khẳng định bản quyền sở hữu hay phát hiện xuyên tạc thông tin.


4

Infomation
hiding

Watermarking

Steganograph
y
Robust
Copyright

Fragile
Watermarking

Imperceptible

Visible

Watermarking

Watermarking

Hình 1.1 Phân loại các kỹ thuật giấu tin
1.3 Các đặc trưng và tính chất của giấu tin trong ảnh:
Hiện nay, vì phạm vi thông dụng của ảnh mà kỹ thuật giấu tin phần lớn là kỹ

thuật giấu tin trong ảnh. Đổi tượng ảnh là một đối tượng dữ liệu được tri giác tĩnh có
nghĩa là dữ liệu tri giác không biến đổi theo thời gian. Với nhiều định dạng và tính
chất của các ảnh khác nhau ta có một số tính chất sau:
+ 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én cù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.
+ 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 (HVS)


5

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 (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ững thay
đổi trên ảnh rất nhỏ sao cho bằng mắt thường không thể nhận ra được sự khác biệ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 ảnh trướ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ên
nhiều bit, nhiều giá trị và khi ta thay đổi một giá trị nhỏ nào đó thì chất lượng ảnh

không thay đổi, thông tin giấu khó bị phát hiện. Nhưng đối với ảnh đen trắng thì
việc giấu tin phức tạp hơn nhiều, vì ảnh đen trắng mỗi pixel chỉ gồm hai giá trị hoặc
trắ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 để đảm
bả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ủa các
bit theo một quy tắc nào đó và khi giải mã sẽ theo các giá trị đó để tìm được thông
tin giấu. Theo đó, nếu một phép biến đổi nào đó trên ảnh làm thay đổi giá trị của các
bit thì sẽ làm cho thông tin giấu sẽ bị sai lệch. Chính đặc điểm này mà giấu thông tin
trong ảnh có tác dụng nhận thực và phát hiện xuyên tạc thông tin.


6

+ 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
tin giấ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
ảnh gốc khi giải mã, thông tin được giấu trong ảnh sẽ được mang cùng với dự liệu
ảnh, khi giải mã chỉ cần ảnh mang thông tin giấu 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ày rấ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ưng phươ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ượng thô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ản phẩ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à được dùng làm minh chứng cho bản quyền sản phẩm. Giả sử có một thành phẩm
dữ liệu dạng đa phương tiện như ảnh, âm thanh, video cần được lưu thông trên mạng.
Để bảo vệ các sản phẩm chống lại các hành vi lấy cắp hoặc làm nhái cần phải có một
kỹ thuật để “dán tem bản quyền” vào sản phẩm này. Việc dán tem hay chính là việc
nhúng thuỷ vân cần phải đảm bảo không để lại một ảnh hưởng lớn nào đến việc cảm
nhận sản phẩm. Yêu cầu kỹ thuật đối với ứng dụng này là thuỷ vân phải tồn tại bền
vững cùng với sản phẩm, muốn bỏ thuỷ vân này mà không được phép của người chủ
sở hữu thì chỉ có cách là phá huỷ sản phẩm.
+ Xác thực thông tin hay phát hiện xuyên tạc thông tin


7

Một tập các thông tin sẽ được giấu trong phương tiện chứa sau đó được sử
dụng để nhận biết xem dữ liệu trên phương tiện gốc đó có bị thay đổi 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. Trong các
ứng dụng thực tế, người ta mong muốn tìm được vị trí bị xuyên tạc cũng như phân
biệt được các thay đổi (ví dụ như phân biệt xem một đối tượng đa phương tiện chứ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ột
thông tin nào đó trong ứng dụng phân phối sản phẩm. Thuỷ vân trong trường hợp
nà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ản

copy 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ồn tạ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ạng thá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ép DVD đã được ứng dụng ở Nhật. Thuỷ vân mang các giá trị chỉ trạng thái cho
phép sao ché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ân mớ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 được
bả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ần thông tin gốc.


8

+ 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 tín cậy
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ều

kiệ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ới thị
giác bình thường không phân biệt được ảnh môi trường và ảnh kết quả. Trong khi
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ó ủy quyề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ạng lướ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 đề
quan trọ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ả khi thô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ố


9

gắ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ởi ngườ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ững hiể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ữa cò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ích thướ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 trong quá 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ảo
khô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ại
tí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ấu
trong ả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ả mong
muốn. Kết quả mong muốn thường được xác định qua định nghĩa. Để chứng minh
tí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.


10

3. 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ách phâ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 đồ histogram giữ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ền
LSB. 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 ảnh giấ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ích
thố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 độ tin
cậy cao hơn và đặc biệt là cho tập ảnh lớn.


11


CHƯƠ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. Hai
phương pháp đầu tiên của waternarking cũng sớm trở thành phương pháp đầu tiên
của steganography đó là: kỹ thuật giấu trên LSB của ảnh và kỹ thuật chèn tín hiệu
mang thông điệp vào trong ảnh. Trong chương này em sẽ trình bày một số kỹ thuật
giấ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 đen trắ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:
𝑚

𝑛

∑ ∑ 𝐹𝑖′ (𝑢, 𝑣 ) 𝑚𝑜𝑑 2 = 𝑏𝑖 | 𝑢 = 1. . 𝑚, 𝑣 = 1 … 𝑛
𝑢=1 𝑣=1

Bướ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.



12

Ví dụ minh họa:
Cho khối B như sau:
0 1 1 0
1 0 1 1
1 1 0 1
0 0 0 1
Khố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ậy
khố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:
Khối B

Khối B'

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

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.
Quá trình tách tin
Trong thuật toán này khóa đơn giản chỉ là kích thước của khối, nếu biết kích
thước của khối thì dễ dàng giải mã tin theo quy tắc sau:
Bước 1: Chia ảnh thành các khối nhỏ với kích thước khối đã sử dụng khai thực
hiện giấu tin.


13

Bướ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ông
tin 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ật
toá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ấ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 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ưới dạ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ượ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)
Á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ông tin
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 ta
thườ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ột
bit đượ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. Trong
trườ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.



14

Hầ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, aΛb=0
b) Phép toán ⨁: Phép toán cộng loại trừ (còn gọi là phép toán so khác) XOR,
kí hiệu là ⨁ trên hai bít a và b cho ta giá trị 1 nếu a⨁b và giá trị 0 nếu a = b.
a b

aΛb a⨁b

1

0


0

1

1

1

1

0

0

1

0

1

0

0

0

0

c) Phép toán Λ và ⨁ : Cho A và B là hai ma trận bít cùng cấp. Ta phát triển
các phép toán Λ và ⨁ trên các bít tương ứng của A và B như sau:

Nếu A = (aij), B = (bij), C =(cij), D = (dij)


15

thì A Λ B = C với cij = aij Λ bij
và A ⨁ B = D với dij = aij ⨁ bij
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 cần giấu.
Output: F’ là một file ảnh đã giấu tin.
Cách thực hiện:
Khóa K là một ma trận nhị phân có kích thước 𝑚 × 𝑛. Để đơn giản chúng ta
coi kích cỡ của ảnh F là bội của 𝑚 × 𝑛. Việc nhúng thông tin giấu vào trong ảnh sẽ
được thực hiện bằng cách thay đổi một số bit của ảnh F theo các bước sau:
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ỏ Fi,
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 (Fi ^ K) mod 2 =b) then
Giữ nguyên Fi;
else iƒ (SUM(Fi ^ K) =1) then
Chọn ngẫu nhiên một bit [Fi] j,k thỏa:([Fi] j,k = 0 và

[K]j,k = 1);


Thay [Fi] j,k = 1;
else iƒ SUM(Fi^K) = SUM(K) – 1) then
Chọn ngẫu nhiên một bit [Fi] j,k thỏa ([Fi] j,k = 1 và

[K]j,k = 1);

Thay [Fi] j,k = 0;
else
Chọn ngẫu nhiên một bit mà [K] j,k = 1 thay bit [Fi] j,k từ 0 thành 1 hoặc từ 1
thành;


16

End 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 (Fi’^K) < SUM (K) → SUM (Fi’^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 .
F1

F1’

F2

F2’


1 1

1 0 1 0

1 0

1 1 1 0 1 0 1 0

0 1

1 0 1 1

1 1

0 1 1 0 0 1 0 1

1 1

1 1 1 1

0 0

1 1 1 1 1 0 1 0

0 0

1 0 0 1

0 1


1 0

1 0 0 0

0 0

1

0

1

0

1 0 1 0 0 0 0 0

0 1

0 1 1 1

1 1

0

1

0

1


0 1 0 1 0 1 0 1

1 0

1 0 0 1

0 0

1

0

1

0

1 0 1 0 0 0 0 0

0 1

0 1 0 1

0 1

0

1

0


1

0 1 0 1 0 1 0 1

F3

M = 110

F4

0 0 1 0 0 1 0 1

K

F3’

F4’

Hình 2.2 Minh họa giấu dãy bit M = 110 vào 4 khối ảnh nhị phân
Quá trình tách tin:
F’ là ảnh đã được giấu thông điệp M

Input:

K là ma trận khóa bí mật, kích thước 𝑚 × 𝑛.
Output:

Thông điệp được giấu M (ảnh gốc nhị phân F nếu cần giữ lại).

Các bước thực hiện:

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


17

b = 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 đây
chỉ 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ủa
SUM (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 trong khó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-Chee

Tseng khoa công nghệ thông tin và khoa học máy tính, trường đại học quốc gia Đài
Loan đề xuất… Thuật toán sử dụng một ma trận khoá và ma trận trọng số để giấu
thô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ều
thô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.


×