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.
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
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
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
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
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
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ộ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
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.
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
đâ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