SlideShare une entreprise Scribd logo
1  sur  60
1
MỤC LỤC
Mục lục........................................................................................................................ 1
Danh mục các kí hiệu, các từ viết tắt ................................................................... 3
Danh mục các hình vẽ.............................................................................................. 4
Lời nói đầu ................................................................................................................. 5
Chương 1:Tổng quan về ẩn mã và phân tích ẩn mã ........................................ 7
1.1. Giới thiệu chung về ẩn mã ............................................................................. 7
1.1.1. Lịch sử phát triển của ẩn mã................................................................... 7
1.1.2. Mô hình hệ thống ẩn mã.......................................................................... 9
1.1.3. Ẩn mã trong ảnh số hóa.........................................................................11
1.1.3.1. Giới thiệu chung về ẩn mã trong ảnh số......................................11
1.1.3.2. Những đặc trưng và tính chất của ẩn mã trong ảnh ...................12
1.1.3.3. Các kĩ thuật ẩn mã trong ảnh số....................................................13
1.1.4. Một số ứng dụng của ẩn mã trong thực tế...........................................15
1.2. Phân tích ẩn mã .............................................................................................16
1.2.1. Giới thiệu phân tích ẩn mã ....................................................................16
1.2.2. Bài toán phân tích ẩn mã .......................................................................18
1.2.3. Một số phương pháp phân tích ẩn mã..................................................19
1.2.3.1. Phân tích trực quan.........................................................................19
1.2.3.2. Phân tích thống kê ..........................................................................21
Chương 2: Nghiên cứu phương pháp phát hiện ảnh có giấu tin dùng LSB
bằng phương pháp phân tích cặp giá trị...........................................................22
2.1. Kĩ thuật ẩn mã trên LSB...............................................................................22
2.1.1. Khái niệm bit có ít ý nghĩa nhất............................................................22
2.1.2. Thuật toán ẩn một chuỗi thông tin mật trên LSB ...............................23
2.1.2.1. Ý tưởng thuật toán..........................................................................23
2.1.2.2.Thuật toán ẩn tin mật.......................................................................23
2.1.3. Thuật toán ẩn thông tin mật theo tỉ lệ trên LSB .................................24
2.1.3.1. Ý tưởng thuật toán..........................................................................24
2.1.3.2. Thuật toán giấu..............................................................................24
2
2.2. Phương pháp phân tích cặp giá trị...............................................................25
2.2.1. Cơ sở toán học ........................................................................................25
2.2.1.1. Một số kiến thức về toán xác suất thống kê................................25
2.2.1.2. Phân phối khi bình phương ...........................................................26
2.2.2. Khái niệm cặp giá trị..............................................................................27
2.2.3. Thuật toán PoV3 .....................................................................................27
Chương 3: Cài đặt thử nghiệm............................................................................30
3.1. Môi trường cài đặt.........................................................................................30
3.2. Giao diện của chương trình..........................................................................30
3.3. Đánh giá, phân tích kết quả thực nghiệm...................................................33
3.3.1. Tập ảnh thực nghiệm .............................................................................33
3.3.2. Kết quả thực nghiệm và đánh giá.........................................................35
3.4. Chống lại phương pháp phân tích cặp giá trị.............................................53
Kết luận.....................................................................................................................56
Tài liệu tham khảo..................................................................................................57
Phụ lục.......................................................................................................................58
3
DANH MỤC CÁC KÝ HIỆU CÁC TỪ VIẾT TẮT
SST Từ viết tắt Tên đầy đủ Ý nghĩa
1 LSB Least Significant Bit Bít có ít ý nghĩa nhất
2 RGB Red Green Blue Cơ chế hệ màu cộng
3 POV Pairs of Values Cặp giá trị
4
DANH MỤC CÁC HÌNH VẼ
Trang
Hình 1 Mô hình cơ bản của kỹ thuật ẩn mã 9
Hình 2
Mỗi điểm ảnh biểu diễn bởi 8 bit, bit cuối cùng
được coi là bit có ít ý nghĩa nhất
23
5
LỜI NÓI ĐẦU
Steganography (ẩn mã) là kỹ thuật ẩn 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 bùng nổ, con
người cũng “số hóa” trong lĩnh vực đó phục vụ cho cuộc sống hiện đại.
Về nguyên lý, ẩn mã trong dữ liệu đa phương tiện hay trong dữ liệu ảnh
số không khác gì nhiều, nhưng do ẩn mã trong ảnh dễ thực hiện hơn, ẩn được
nhiều thông tin hơn và cũng là đối tượng số được sử dụng khá phổ biến trên
internet hiện nay, nên kỹ thuật ẩn mã trong ảnh chiếm tỉ lệ nhiều nhất trong các
loại dữ liệu đa phương tiện. Thông tin có thể được ẩn mã trên miền không gian
hoặc trên miền biến đổi như biến đổi tần số (cosine, wavelet, fourier rời rạc)
hay biến đổi sai phân (difference image).
Kỹ thuật ẩn mã trong ảnh đa số là phương pháp giấu trên bít có ít ý
nghĩa nhất - LSB (Least Significant Bit) của điểm ảnh hoặc của các hệ số biến
đổi (biến đổi cosine rời rạc, wavelet rời rạc, sai phân – image diferrence,..).
Ngoài ra còn có một số phương pháp giấu khác theo cách thức có sự thay đổi
nhỏ trên ảnh theo hình thức chèn nhiễu SS(Spread Spectrum), điều chỉnh hệ số
lượng tử QIM (Quantization index modulation)…
Giống như trong mật mã, thám mã là kỹ thuật đối lập nhưng song song
tồn tại và phát triển cùng với sự phát triển của mật mã, nhằm giải mã các “bản
mã” thu được để hiểu rõ nội dung ban đầu của bản mã, thì phát hiện ảnh có ẩn
mã hay còn được gọi là phân tích ẩn mã là kỹ thuật đối lập với ẩn mã trong
ảnh, nhằm dò tìm ảnh số nào đó có ẩn mã hay không. Việc nghiên cứu phân
tích ẩn mã ngoài ý nghĩa khoa học còn có hai ý nghĩa thực tiễn, đó là : Thứ
nhất, nhằm phục vụ đắc lực cho lĩnh vực an toàn thông tin. Thứ hai, nhằm nâng
cấp và thúc đẩy sự phát triển của kỹ thuật ẩn mã trong ảnh. Hiện nay các kỹ
thuật ẩn mã ra đời sau càng ngày càng tinh xảo hơn đòi hỏi các nhà phân tích
ẩn mã không ngừng tìm ra phương pháp phát hiện phù hợp bắt kịp với xu
hướng phát triển của kỹ thuật ẩn mã. Và phương pháp phân tích cặp giá trị để
phát hiện ảnh có tin giấu là một trong những phương pháp được cho là đáng
tin cậy và chính xác đối với các ảnh được nhúng bằng phương pháp lật bit
LSB. Chính vì vậy mà nhóm đã chọn đề tài “Nghiên cứu phương pháp phát
6
hiện ảnh có giấu tin dùng LSB bằng phương pháp phân tích cặp giá trị ” để
nghiên cứu.
Mục tiêu của đề tài:
- Tìm hiểu về phương pháp phân tích cặp giá trị để phát hiện ảnh
có giấu tin dùng kĩ thuật LSB.
- Áp dụng phương pháp phân tích cặp giá trị xây dựng chương
trình demo phát hiện ảnh có giấu tin trong file ảnh và đưa ra những đánh giá
kết quả thực nghiệm.
Do còn hạn chế nhiều về tài liệu, thời gian, kiến thức và kinh nghiệm thực
tế nên đề tài của nhóm không tránh khỏi những thiếu sót và khuyết điểm.
Nhóm thực hiện đề tài rất mong nhận được sự đánh giá, nhận xét của các Thầy,
các Cô và sự góp ý của các bạn sinh viên để giúp đề tài này được hoàn thiện
hơn, từ đó nhóm chúng em có thể rút kinh nghiệm trong nghiên cứu và công
việc sau này.
Nhóm chúng em xin chân thành cảm ơn!
7
Chương 1:
TỔNG QUAN VỀ ẨN MÃ VÀ PHÂN TÍCH ẨN MÃ
1.1. GIỚI THIỆU CHUNG VỀ ẨN MÃ
1.1.1. Lịch sử phát triển của ẩn mã
Vào năm 1499, thuật ngữ Steganography (ẩn mã) được sử dụng lần đầu
tiên bởi linh mục Johannes Trithemius (1462-1516) trong một luận thuyết về
mật mã của ông. Vị linh mục này, sau cuộc gặp với một sư phụ bí ẩn, đã được
truyền đạt những kiến thức về khoa học huyền bí, và sau đó viết cuốn sách
mang tên “STEGANOGRAPHIA” với lời mở đầu như sau: “Trong cuốn sách
của mình, tôi kể về những phương thức mà tôi có thể, bằng cách chuẩn xác và
chắc chắn truyền đạt ý mình cho bất cứ ai giác ngộ được môn phái của tôi, dù
có ở cách xa tôi đến mấy, kể cả tới trăm dặm. Và trong quá trình đó, sẽ không
ai thấy tôi sử dụng bất cứ một dấu hiệu, tín hiệu hay con chữ nào. Và nếu như
tôi có sử dụng một người tùy tùng, và người tùy tùng đó có bị bắt giữa đường
thì không một khẩn cầu, đe dọa, hứa hẹn hay thậm chí cả đòn tra tấn, cũng
không thể bắt người tùy tùng đó tiết lộ bí mật, vì anh ta không hề biết gì về
nó…”.
Nhà giả kim thuật người Anh George Ripley sau khi nghiên cứu kỹ
lưỡng các công trình của Trithemius đã để lại lời bình luận đầy hoảng hốt như
sau: “Van xin những người biết công trình này, đừng in nó ra!”.
Năm 1616, cuốn sách này bị thiêu hủy và hiện nay chỉ còn lại một bản
thuật lại nội dung ghi năm 1621, đang được lưu giữ tại thư viện Quốc gia Đức
ở Berlin.
Tuy nhiên, ý tưởng về việc che giấu thông tin đã có từ hàng nghìn năm
về trước. Có nhiều câu chuyện lịch sử xoay quanh kỹ thuật ẩn mã được lưu
truyền, nhưng có lẽ những ghi chép sớm nhất về kỹ thuật ẩn mã thuộc về sử gia
Hy Lạp Herodotus, khi ông ghi chép lại câu chuyện về nhà quý tộc Hy Lạp
Histaeus. Histaeus sau khi bị vua Darius bắt giữ ở Susa vào thế kỷ thứ 5 trước
Công Nguyên, ông ta đã gửi một thông điệp bí mật cho con rể của mình là
Aristagoras ở Miletus, bằng cách cạo trọc đầu của một nô lệ tin cậy và xăm
thông điệp lên da đầu của người nô lệ ấy. Khi tóc của người nô lệ đủ dài thì
người đó sẽ được gửi tới Miletus.
8
Ẩn mã tiếp tục phát triển trong suốt thế kỷ 15 và 16. Bishop John
Wilkins, sau đó là thạc sỹ của trường đại học Trinity, Cambridge, đã viết
một luận án về ẩn mã. Ông phát minh ra một số các phân loại từ các thông
điệp mã hóa trong âm nhạc, mô tả các nguyên lý của mật mã trên các lá thư
liên tục và tranh cãi chống lại những ai phản đối việc phát hành các quyển
sách trên lĩnh vực này.
Với kỷ nguyên của máy tính, ẩn mã trở nên có giá trị phi thường. Sự
bùng nổ của các kỹ thuật ẩn mã trên các đối tượng dữ liệu số đã hiện diện trong
những năm gần đây. Ngày nay, kỹ thuật ẩn mã được hiểu là một kỹ thuật giấu
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ằm
mục đích bảo vệ thông tin trong các lĩnh vực khác nhau của đời sống.
9
1.1.2. Mô hình hệ thống ẩn mã
Hiện nay có rất nhiều khía cạnh và ứng dụng được phát triển từ khái
niệm ẩn mã nhưng hầu hết chúng đều dựa trên một mô hình, một nguyên lý cơ
bản chung như sau:
Alice muốn chia sẻ một thông điệp bí mật (Secret Message) với Bob,
bằng cách chọn ngẫu nhiên một thông điệp bao phủ (Cover Message hay môi
trường ẩn tin) có thể là ảnh, văn bản, audio… Alice nhúng thông điệp bí mật
vào môi trường ẩn tin, kết hợp với khóa bí mật (Secret Key) sẽ thu được thông
điệp mang tin mật (Stego Message) để truyền cho Bob nhằm tránh sự nghi ngờ
của bên thứ ba. Điều này cần được thực hiện hết sức cẩn thận, để chắc chắn
rằng bên thứ ba Wendy chỉ biết thông điệp chứa tin mật là vô hại và không thể
phát hiện ra thông điệp bí mật được chứa trong đó.
Hình 1. Mô hình cơ bản của kỹ thuật ẩn mã
Tuy vậy, trong thực tế không phải dữ liệu nào cũng có thể được sử dụng
làm vật phủ trong truyền tin mật, bởi vì sự thay đổi thực hiện trong quá trình ẩn
mã phải được coi là không nhìn thấy đối với những người không liên quan đến
quá trình truyền thông. Điều này đòi hỏi vật phủ phải có một lượng dữ liệu dư
10
thừa đủ để giấu thông tin mật, hay nói cách khác là đủ để thay thế được thông
tin mật.
Nếu một người tấn công truy nhập được vào hai “phiên bản” của một
vật phủ thì sẽ dễ dàng phát hiện sự có mặt của thông tin mật và thậm chí có thể
xây dựng lại được những thông tin đó. Vì vậy, một vật phủ không nên được sử
dụng hai lần. Do đó, để tránh việc sử dụng lại, cả người gửi và người nhận phải
huỷ bỏ các vật phủ đã được sử dụng trong quá trình truyền tin.
Trong quá trình ẩn mã, để làm tăng tính bảo mật của thông điệp cần
giấu, có thể dùng nhiều phương pháp khác nhau. Tuy nhiên, về cơ bản thì có
hai loại giao thức ẩn mã học, đó là ẩn mã thuần tuý và ẩn mã có xử lý.
11
1.1.3. Ẩn mã trong ảnh số hóa
1.1.3.1. Giới thiệu chung về ẩn mã trong ảnh số
Hiện nay, ẩn mã trong ảnh chiếm tỉ lệ lớn nhất trong hệ thống ẩn mã.
Bởi lẽ lượng thông tin được trao đổi bằng hình ảnh là rất lớn. Từ việc nghiên
cứu kỹ thuật ẩn mã trong ảnh số chuyển sang kỹ thuật ẩn mã trong các phương
tiện khác như: audio, video, trong văn bản,… không có gì khó khăn về nguyên
tắc. Chính vì lẽ đó, ẩn mã trong ảnh đã và đang được nhiều tổ chức, các trường
đại học, các viện nghiên cứu, các cá nhân quan tâm và đầu tư nghiên cứu.
Thông tin được ẩn vào dữ liệu ảnh, nhưng chất lượng ảnh rất ít thay đổi
và người ta khó có thể nhận thấy bằng mắt thường. Sau vụ khủng bố ngày 11
tháng 9 năm 2001 gây chấn động không chỉ nước Mĩ mà cả thế giới, có một số
nhận định cho rằng chính trùm khủng bố quốc tế Osama Binladen đã dùng cách
thức ẩn thông tin trong ảnh để liên lạc với đồng bọn và chúng đã qua mặt được
cục tình báo trung ương Mĩ và các cơ quan an ninh quốc tế. Sự việc này cho
thấy việc nghiên cứu các vấn đề liên quan đến ẩn mã trong ảnh càng trở nên
quan trọng.
12
1.1.3.2. Những đặc trưng và tính chất của ẩn mã trong ảnh
Ẩn mã trong ảnh chiếm vị trí chủ yếu trong các kỹ thuật ẩn mã. Đối
tượng ảnh là một đối tượng dữ liệu tĩnh. Dữ liệu ảnh có nhiều định dạng, mỗi
định dạng có những tính chất khác nhau, nên kỹ thuật ẩn mã trong ảnh thường
chú ý đến những đặc trưng và các tính chất cơ bản sau đây:
 Phương tiện chứa có dữ liệu tri giác tĩnh:
Dữ liệu gốc ở đây là dữ liệu ảnh tĩnh, dù đã ẩn mã 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. Điều này cũng tạo ra sự khác biệt lớn giữa kỹ thuật ẩn mã trong ảnh với
kỹ thuật ẩn mã trong audio hay video.
 Kỹ thuật ẩn phụ thuộc vào loại ảnh:
Kỹ thuật ẩn phụ thuộc vào các loại ảnh khác nhau. Đối với ảnh đen
trắng, ảnh xám hay ảnh màu, mỗi loại ta có các kỹ thuật riêng phụ thuộc đặc
trưng của ảnh.
 Kỹ thuật ẩn mã lợi dụng tính chất hệ thống thị giác của con người
Ẩn mã 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 ẩn mã phải đảm bao một yêu cầu cơ bản là những thay đổi trên ảnh
phải rất nhỏ sao cho mắt thường khó nhận ra được sự thay đổi đó, để đảm bảo
độ an toàn cho thông tin ẩn. Rất nhiều kỹ thuật đã lợi dụng các tính chất của hệ
thống thị giác để ẩn mã chẳng hạn như mắt người cảm nhận sự biến đổi về độ
chói kém hơn sự biến đổi về màu hay cảm nhận của mắt về màu da trời là kém
nhất trong ba màu cơ bản RGB(Red-Green-Blue).
 Ẩn mã trong ảnh tác động lên dữ liệu ảnh nhưng không thay đổi
kích thước ảnh.
Các thuật toán ẩn mã sẽ được thực hiện trên dữ liệu của ảnh. Dữ liệu ảnh
bao gồm cả phần đầu, bảng màu(có thể có hoặc không) và dữ liệu ảnh. Khi ẩn
mã, các phương pháp ẩn đều biến đổi các giá trị của các bít 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 không thay
đổi.
 Đảm bảo chất lượng ảnh sau khi ẩn
Đây là yêu cầu quan trong đối với ẩn mã trong ảnh. Sau khi ẩn mã bên
trong, ảnh phải đảm bảo không bị biến đổi. Yêu cầu này dường như khá đơn
13
giản đối với ảnh màu và ảnh đa cấp xám nhưng đối với ảnh đen trắng thì phức
tạp hơn nhiều. Bởi vì ảnh trắng đen mỗi điểm ảnh chỉ là đen hoặc trắng, nếu ta
biến đổi một bít đen thành trắng hoặc ngược lại thì có thể rất dễ bị phát hiện.
Do đó yêu cầu đối với ẩn mã trong ảnh màu hay ảnh đa cấp xám và trong ảnh
đen trắng là khác nhau. Với ảnh màu thì thuật toán chú trọng vào việc làm sao
ẩn được càng nhiều thông tin càng tối, với ảnh đen trắng thuật toán tập trung để
làm thế nào thông tin ẩn khó bị phát hiện nhất.
 Thông tin trong ảnh sẽ bị biến đổi nếu có bất cứ biến đổi trên ảnh
Vì phương pháp ẩn mã trong ảnh dựa trên việc điều chỉnh các giá trị của
các bít theo một quy tắc nào đó, và khi tách tin sẽ theo các giá trị đó để tìm
được thông tin ẩn. Theo đó, nếu một phép biến đổi nào đó trên ảnh làm thay
đổi giá trị các bít thì sẽ làm cho thông tin ẩn bị sai lệch. Nhờ đặc điểm này, ẩn
mã trong ảnh có thể xác thực và phát hiện xuyên tạc thông tin.
 Vai trò của ảnh gốc khi giải mã
Kỹ thuật ẩn mã phải xác định rõ ràng quá trình lọc ảnh để lấy tin ẩn có
cần đến ảnh gốc hay không? Đa số các kỹ thuật ẩn mã mật thường không cần
ảnh gốc khi tách tin. Thông tin được ẩn trong ảnh sẽ được mang cùng với dữ
liệu ảnh, khi tách tin chỉ cần ảnh đã mang thông tin ẩn mà không cần dùng ảnh
gốc để so sánh, đối chiếu.
1.1.3.3. Các kĩ thuật ẩn mã trong ảnh số
a) Kĩ thuật ẩn mã trên miền không gian ảnh
Miền không gian ảnh là miền dữ liệu 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 ẩn mã trong ảnh
người ta thường nghĩ ngay đến việc thay đổi giá trị các điểm ảnh nguồn. Một
phương pháp phổ biến của kỹ thuật ẩn mã trên miền không gian ảnh là phương
pháp tác động lên bít ít quan trọng nhất của mỗi điểm ảnh.
Ý tưởng cơ bản của phương pháp tác động đến bít có ít ý nghĩa nhất-
LSB của các điểm ảnh là chọn ra từ mỗi điểm ảnh các bít có ý nghĩa ít nhất về
mặt tri giác để có thể sử dụng cho việc ẩn mã. Việc bít nào được coi là ít tri
giác nhất và bao nhiêu bít 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
14
ứng dụng. Ví dụ với ảnh mầu, mỗi điểm ảnh được biễu diễn bằng 24 bít tương
ứng với ba màu cơ bản RGB, mỗi màu 1 byte. Người ta sử dụng tính chất là
mắt người cảm nhận 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 bít cuối cùng trong 8 bít biểu diễn màu B của mỗi điểm ảnh để ẩn
mã. Thay đổi bít cuối cùng trong 8 bít biểu diễn màu B chỉ làm cho giá trị biểu
diễn màu B tăng hoặc giảm đi 1 đơn vị. Như vậy, bít LSB trong ví dụ này là bít
thứ 24 của mỗi điểm ảnh. Một số thuật toán muốn giấu nhiều thông tin hơn và
chấp nhận chất lượng ảnh thấp hơn một chút có thể sử dụng bít cuối cùng của
mỗi byte màu RGB làm bít LSB. Vậy có 3 bít LSB. Tuy nhiên, phương pháp
này cũng có nhiều hạn chế, chẳng hạn như không đảm bảo được tính bền vững
của thông tin giấu đối với các thao tác biến đổi như quay ảnh hoặc nén ảnh
JPEG.
b) Kĩ thuật ẩn mã trên miền tần số
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 rời rạc (Discrete Fourier Transform), biến đổi Cosin rời rạc
(Discrete Cosin Transform), biến đổi sóng nhỏ (Discrete Waves Transform)…
Đây là những phép biến đổi được sử dụng nhiều trong các kỹ thuật xử ảnh.
15
1.1.4. Một số ứng dụng của ẩn mã trong thực tế
Ngày nay, do sự bùng nổ của cuộc cách mạng trong lĩnh vực tin học –
điện tử - viễn thông mà đại diện cho nó là mạng internet, cùng với sự phát triển
vượt bậc của bộ môn xử lý tín hiệu số, các kỹ thuật ẩn mã được hồi sinh trở lại
và ngày càng đa dạng hơn, đặc biệt là với kỹ thuật dùng các vật chứa là các tệp
hình ảnh và âm thanh. Chúng có hai đặc điểm đáng lưu ý đó là các hình ảnh và
âm thanh số hóa có thể biến đổi mà không làm mất đặc tính của chúng và con
người không có khả năng phân biệt những thay đổi nhỏ về màu sắc hay chất
lượng âm thanh. Sự che giấu thông tin không chỉ ở trong các thiết bị đa phương
tiện số như các tệp văn bản, hình ảnh, âm thanh mà còn ở việc sử dụng các
kênh liên lạc hoặc nhiều phương tiện khác như sử dụng các header trên mỗi gói
dữ liệu trong giao thức TCP/IP hoặc dùng ổ cứng trong một phân đoạn mật…
Tóm lại, với sự hoàn hảo của các tiện ích đa phương tiện số và những
tiến bộ của công nghệ, kỹ thuật này ngày càng phát triển nhanh chóng và được
ứng dụng khắp nơi. Trong lĩnh vực an toàn, nó được kết hợp với các phương
pháp mật mã để có thể chuyển các thông báo mật đi dưới một bức tranh, một
bản nhạc vô hại, nhờ thế làm tăng thêm vòng bảo mật của chúng.
Ngoài ra, ẩn mã cũng bị lợi dụng cho những mục đích không tốt. Những
kẻ xấu đang phát triển các phương pháp tấn công máy tính dùng ẩn mã để che
giấu sự có mặt của mã ác ý. Đôi khi chúng còn được phát triển trong các giao
thức, nơi có thể lợi dụng các “con ngựa thành tơroa” để giải các thông báo ẩn
nằm trú bên trong các kênh liên lạc định tuyến. Khi đó, thông báo có thể không
bị phát hiện và điều này trở nên nguy hiểm.
16
1.2. PHÂN TÍCH ẨN MÃ
1.2.1. Giới thiệu phân tích ẩn mã
Phân tích ẩn mã (Steganalysis) là kỹ thuật phát hiện sự tồn tại của thông
tin ẩn trong nguồn đa phương tiện. Giống như thám mã, mục đích của phân tích
ẩn mã là phát hiện ra ảnh có mang thông tin mật và phá vỡ tính bí mật của vật
mang tin ẩn.
Mục đích của phân tích ẩn mã là để phân loại một ảnh số bất kỳ có phải
là ảnh là ảnh gốc (cover image) hay ảnh có giấu tin (stego image) hay không,
để từ đó có thể đưa ra bước xử lý tiếp theo.
Phân tích ẩn mã rất quan trọng đối với an ninh quốc tế, nó được quan
tâm nhiều khi các tổ chức khủng bố sử dụng kỹ thuật ẩn mã để giao tiếp với
nhau. Trong thực tế phân tích ẩn mã được thực hiện một cách nghiêm túc nên
người ta tin rằng chính phủ Hoa Kỳ, bao gồm cả NSA và bộ quốc phòng Mĩ tài
trợ cho việc nghiên cứu và phát triển phân tích ẩn mã. Nếu một tập tin được coi
là có chứa thông điệp bí mật sau đấy sẽ được sửa đổi lúc đấy sự toàn vẹn của
thông điệp bị mất đi. Điều này có nghĩa Bob sẽ không thể hiểu Alice gửi cho
anh ấy khi anh ấy cố gắng giải mã nó. Một giải pháp an toàn hơn đó là việc xóa
bỏ sao cho nó không bao giờ đến được người nhận.
Phân tích ẩn mã được xem là một khoa học đặc biệt khó khăn, vì nó dựa
trên ẩn mã không an toàn. Nếu muốn ẩn mã thành công, thì phải làm sao cho
thông điệp bí mật tồn tại không để lại dấu hiệu gì. Vì vậy, nếu mô hình này
được tạo ra thành công, thì nó phải là một nhiệm vụ khó khăn cho bất kỳ bên
thứ ba để phát hiện sự can thiệp đã xảy ra.
Jessica Fridrich cho thấy “khả năng phát hiện tin nhắn bí mật trong ảnh
là liên quan đến độ dài tin nhắn”. Và Phân tích ẩn mã thường dựa vào các yếu
tố sau:
17
 Phân tích dựa và các đối tượng đã mang tin.
 Phân tích bằng so sánh đặc trưng: so sánh vật mang tin chưa được
ẩn tin với vật mang tin đã được ẩn, đưa ra sự khác biệt giữa chúng.
 Phân tích dựa vào thông điệp cần ẩn để dò tìm.
 Phân tích dựa vào các thuật toán ẩn tin và các đối tượng ẩn tin đã
biết.
 Phân tích dựa vào thuật toán ẩn tin, đối tượng gốc và đối tượng
sau khi ẩn tin.
Việc nghiên cứu phân tích ẩn tin ngoài ý nghĩa khoa học còn có hai ý
nghĩa thực tiễn đó là : thứ nhất, nhằm phục vụ đắc lực cho lĩnh vực an toàn
thông tin, thứ hai đó là nhằm nâng cao và thúc đẩy sự phát triển của kỹ thuật
giấu tin trong ảnh. Với hai mục đích nêu trên hướng đến việc xây dựng thuật
toán phát hiện mù (blind steganalysis) cho ảnh có giấu tin sử dụng kỹ thuật
giấu bất kỳ, và dựa vào kỹ thuật giấu tin đã biết để có thể xây dựng được thật
toán phát hiện phù hợp (phát hiện ràng buộc – constraint steganalysis).
18
1.2.2. Bài toán phân tích ẩn mã
Phân tích ẩn mã hay còn gọi là tấn công một hệ ẩn tin là phương pháp để
phát hiện, trích rút, phá hủy hay sửa đổi thông tin đã ẩn. Việc phân tích được
coi là thành công hay không còn tùy theo ứng dụng. Đối với việc liên lạc bí
mật, việc phát hiện và chứng minh một hình ảnh có chứa tin mật được coi là
thành công.
Nếu ta có ít kiến thức về các thuật toán ẩn mã mật cũng như các tham số
khác thì có hai vấn đề cần giải quyết đó là : thứ nhất, phát hiện thông tin ẩn
tiềm tàng trong các dữ liệu quan sát. Thứ hai là lấy ra thông điệp ẩn đã giấu
trong dữ liệu được quan sát. Cũng có khi bài toán đặt ra phải giải quyết cả hai
công việc trên. Các kỹ thuật phân tích ẩn mã mật hiện tại tập trung vào việc
phát hiện ra sự có mặt hay không các thông điệp ẩn trong dữ liệu (ảnh) được
quan sát. Bài toán trích chọn ra các thông điệp bí mật là bài toán khó hơn bài
toán phát hiện, nhưng bài toán phát hiện làm tiên đề cho việc trích chọn. Như
vậy, có thể xác định hai mục tiêu rõ ràng của bài toán phân tích trên hệ ẩn mã
tin mật là:
 Phân tích ẩn mã bị động (Passive Steganalysis): phát hiện sự hiện diện hay
không của thông điệp bí mật trong các dữ liệu được quan sát.
 Phân tích ẩn mã chủ động (Active Steganalysis): trích chọn(có thể xấp xỉ) một
phiên bản của thông điệp bí mật từ một phương tiện chứa tin.
19
1.2.3. Một số phương pháp phân tích ẩn mã
1.2.3.1. Phân tích trực quan
Tấn công trực quan được coi là một dạng tấn công khá đơn giản trong
việc phát hiện thông tin che giấu. Kẻ tấn công sẽ kiểm tra các tập tin bằng mắt
thường để xác định sự thay đổi. Nguyên tắc đầu tiên của việc ẩn mã chính là
bất kỳ sự thay đổi nào được thực hiện trên tập tin sẽ không làm suy giảm chất
lượng của nó, do vậy, thực hiện ẩn mã tốt sẽ tạo ra một vật chứa thông tin mật
mà không tạo ra sự nghi ngờ, ít nhất là khi nhìn trực quan. Tuy nhiên, khi
chúng ta bỏ qua những phần có thể sẽ không bị thay đổi bởi việc nhúng thông
tin mật trong đó, mà chỉ tập trung vào những phần có khả năng bị nhúng,
chúng ta có thể sẽ phát hiện được những dấu hiệu có sự thao tác ẩn tin ở đây.
Do vậy, một cuộc tấn công trực quan là thành công nếu nó xác định được một
cách chính xác các tính năng của hình ảnh có thể được bỏ qua (dữ liệu dư
thừa), và các tính năng cần được xem xét (dữ liệu thử nghiệm) để kiểm nghiệm
cho giả thuyết: một bức ảnh bị nghi ngờ có chứa thông tin mật.
a) Tấn công trực quan dựa trên việc ẩn và tìm kiếm tuần tự
Thuật toán Hide & Seek được thực hiện bằng cách thay thế các bít có ít
ý nghĩa nhất (LSB) thành các bit của thông điệp mật cho đến khi tập tin được
nhúng xong. Khi thực hiện một cuộc tấn công trực quan để xác định tồn tại hay
không một hình ảnh bị nghi ngờ là có nhúng tin mật, các kẻ tấn công sẽ tìm
cách để có được một sự khác biệt trực quan cho k điểm ảnh đầu tiên với k là độ
dài của tin nhắn. Sẽ không có giá trị chính xác của k cho đến khi các cuộc tấn
công trực quan được thực hiện thành công và phát hiện có dấu hiệu nhúng tin.
20
b) Tấn công trực quan dựa trên việc ẩn và tìm kiếm ngẫu nhiên
So với việc giấu và tìm kiếm tuần tự thì sẽ khó khăn hơn rất nhiều để
thực hiện một cuộc tấn công trực quan khi một hình ảnh được tạo ra bằng cách
nhúng thông điệp mật vào các vị trí ngẫu nhiên của các LSB. Nếu như trong
trường hợp nhúng tuần tự, chúng ta có thể nhìn thấy một dòng bit chồng chéo
lên nhau trên một mặt phẳng bít, thì trong trường hợp nhúng không ngẫu nhiên,
các bít lại tách ra và rải rác trên hình ảnh. Do vậy, khi chúng ta nhìn vào mặt
phẳng LSB, sẽ có nhiều khó khăn hơn để xác định các khu vực đã bị thay đổi
do kết quả của việc nhúng thông tin (đặc biệt nếu như thông điệp nhúng là rất
ngắn).
Các cuộc tấn công trực quan dựa trên việc nhúng ngẫu nhiên khác và
phức tạp hơn việc nhúng tuần tự, trong đó phương pháp tiếp cận dựa trên việc
phân tích thông tin che giấu sẽ có quyền truy cập vào hình ảnh trung thực để
chứng minh cuộc tấn công thành công. Khi hình ảnh ban đầu được rõ ràng, việc
phân tích thông tin che giấu có thể có được vùng LSB ban đầu cũng như vùng
LSB bị nghi ngờ, sau đó tính toán sự khác biệt giữa chúng bằng cách loại bỏ
những phần giống nhau, từ đó sẽ xem được khu vực đại diện cho các giá trị
không thay đổi giữa hai hình ảnh và khu vực đại diện cho các giá trị bị thay
đổi.
Tóm lại, tấn công trực quan có thể được thực hiện bằng nhiều cách dựa
trên các đặc tính của hình ảnh. Sự thành công của các cuộc tấn công sẽ thay đổi
đáng kể tùy thuộc vào từng thuật toán ẩn mã được sử dụng và định dạng của
ảnh. Thực tế rằng, các cuộc tấn công trực quan không tự động, để chứng minh
một bức ảnh tồn tại sự nghi ngờ về việc nhúng thông tin, họ cần phải nhìn vào
hàng ngàn hình ảnh để có thể xem xét khả năng một hình ảnh duy nhất bị nghi
ngờ có ẩn mã. Một cuộc tấn công trực quan thành công không chỉ cho phép kẻ
tấn công xác định được sự thay đổi trong một hình ảnh mà nó còn tiết lộ cách
mà hệ thống giấu tin hoạt động (tức là nhúng một cách ngẫu nhiên hay tuần tự).
Do vậy, có thể kết luận, các cuộc tấn công trực quan là một công cụ hữu ích
cho việc phân tích và phát hiện thông tin bị ẩn.
21
1.2.3.2. Phân tích thống kê
Trong toán học, nghiên cứu về thống kê có thể xác định được một số
hiện tượng xảy ra một cách ngẫu nhiên trong một tập hợp dữ liệu. Thông
thường, một lý thuyết sẽ được xây dựng để giải thích nguồn gốc của hiện tượng
đó, và phương pháp thống kê có thể được sử dụng để chứng minh giả thuyết
này là đúng hay sai. Nếu xem cấu trúc dữ liệu của một hình ảnh, chúng ta có
thể kiểm tra cách thống kê như thế nào, từ đó sẽ hữu ích cho việc phân tích
thông tin bị giấu nếu hình ảnh đó tồn tại thông điệp ẩn.
Một hình ảnh chứa thông điệp mật có thể được chia thành hai tập hợp dữ
liệu: dữ liệu hình ảnh và dữ liệu tin nhắn. Các dữ liệu hình ảnh liên quan đến
các hình ảnh vật lý mà chúng ta có thể nhìn thấy, thường sẽ liên quan đến giá
trị pixel và màu sắc được sử dụng trong hình ảnh. Các dữ liệu tin nhắn liên
quan đến thông điệp bí mật và nếu được mã hóa thì chúng được tạo ra ngẫu
nhiên hơn dữ liệu hình ảnh, nhưng nó lại dễ bị tấn công bằng hình thức thống
kê. Trong khi đó, dữ liệu tin nhắn thường ít hơn so với dữ liệu hình ảnh nên tỷ
lệ phần trăm ngẫu nhiên được tạo ra bởi dữ liệu tin nhắn tuy nhỏ nhưng đủ để
thực hiện một cuộc tấn công thống kê.
Tấn công thống kê có thể được tự động nên nó thường được ưa thích
hơn tấn công trực quan và tấn công kết cấu. Điều này sẽ giúp cho kẻ tấn công
dễ dàng xác định xem một hình ảnh có giấu thông điệp mật hay không. Một lợi
ích khác của tấn công thống kê là không đòi hỏi phải biết ảnh sau khi phủ sẽ
như thế nào.Trong khi tấn công cấu trúc sẽ thành công rất lớn thì tấn công
thống kê chỉ đơn giản là tạo ra một sự phân tích dựa trên hình ảnh bị nghi ngờ.
Tuy nhiên, việc có kiến thức sâu sắc về các thuật toán nhúng khác nhau
là rất quan trọng. Nếu kẻ tấn công biết được nhiều công cụ nhúng tin, họ có thể
thực hiện một cuộc tấn công thống kê hiệu quả hơn để xác định các biểu hiện
trong quá trình nhúng thông tin.
22
Chương 2:
NGHIÊN CỨU PHƯƠNG PHÁP PHÁT HIỆN ẢNH CÓ GIẤU TIN
DÙNG LSB BẰNG PHƯƠNG PHÁP PHÂN TÍCH CẶP GIÁ TRỊ
2.1. KĨ THUẬT ẨN MÃ TRÊN LSB
2.1.1. Khái niệm bit có ít ý nghĩa nhất
Bít có ít ý nghĩa nhất (LSB) là bit có ảnh hưởng ít nhất tới việc quyết
định tới màu của mỗi điểm ảnh, vì vậy khi ta thay đổi bít có ít ý nghĩa nhất của
một điểm ảnh thì màu của mỗi điểm ảnh mới sẽ tương đối gần với điểm ảnh cũ.
Như vậy kỹ thuật tách bit trong xử lý ảnh được sử dụng nhiều nhất trong quy
trình ẩn mã. Việc xác định LSB của mỗi điểm ảnh trong một bức ảnh phụ thuộc
vào định dạng của ảnh và số bít màu dành cho mỗi điểm ảnh đó. Ví dụ đối với
ảnh 16 bit thì 15 bit là biễu diễn 3 màu RGB của điểm ảnh còn bít cuối cùng
không dùng đến thì ta sẽ tách bít này ra ở mỗi điểm ảnh để giấu tin, hoặc với
ảnh 256 màu thì bít cuối cùng trong 8 bit biễu diễn một điểm ảnh được coi là
bít có ít ý nghĩa nhất.
Ví dụ: tách bit cuối cùng trong 8 bit biễu diễn mỗi điểm ảnh của 256 màu
Hình 2: Mỗi điểm ảnh biểu diễn bởi 8 bit, bit cuối cùng được coi là bit có ít ý
nghĩa nhất
Trong phép tách này ta coi bit cuối cùng là bít có ít ý nghĩa nhất, thay
đổi giá trị của bit này thì sẽ thay đổi giá trị của điểm ảnh lên hoặc xuống đúng
một đơn vị, ví dụ như giá trị điểm ảnh là 234 thì khi thay đổi bít cuối cùng nó
có thể mang giá trị mới là 235 nếu đổi bít cuối cùng từ 0 thành 1.
23
2.1.2. Thuật toán ẩn một chuỗi thông tin mật trên LSB
2.1.2.1. Ý tưởng thuật toán
+ Cho thông tin mật nhúng W, W có thể là :
Một chuỗi bít thông tin mật (vd: W=[00110101111001])
Một chuỗi các ký tự (vd: W =HPU → phải đổi W sang hệ nhị phân).
+ Đổi W ra hệ nhị phân, tính độ dài của thông tin mật W sau đó thực hiện thay
thế các bit thông tin mật W cần ẩn vào các LSB của ảnh cho đến khi bit thông
tin mật cần ẩn không còn nữa thì ngừng.
+ Ảnh thu được là ảnh có ẩn thông tin vào tất cả các LSB của ảnh lần lượt từ
trái qua phải, từ trên xuống dưới.
2.1.2.2.Thuật toán ẩn tin mật
Đầu vào:
Ảnh gốc và thông tin mật cần nhúng.
Đầu ra:
Ảnh có giấu tin.
Các bước thực hiện :
B1: chuyển dữ liệu ảnh sang mảng 2 chiều
B2: đổi thông tin mật sang chuỗi nhị phân (bit)
B3: thay thế các bit thông tin mật vào các LSB của ảnh đến khi các bit thông
tin mật không còn nữa thì ngừng.
24
2.1.3. Thuật toán ẩn thông tin mật theo tỉ lệ trên LSB
2.1.3.1. Ý tưởng thuật toán
+ Cho tỷ lệ p%(so với kích cỡ của ảnh) thông tin mật cần ẩn, tạo một ma trận
ngẫu nhiên các bit nhị phân có kích thước bằng p% ảnh cần ẩn.
+ Thực hiện thay thế các bit thông tin mật trong ma trận ngẫu nhiên vào các
LSB của ảnh cho đến khi bit thông tin mật trong ma trận không còn nữa thì
ngừng.
+ Ảnh thu được là ảnh có giấu p% thông tin của ảnh vào tất cả các LSB của
ảnh lần lượt từ trái qua phải, từ trên xuống dưới.
2.1.3.2. Thuật toán giấu
Đầu vào :
Ảnh gốc và tỷ lệ p% thông tin mật cần nhúng.
Đầu ra :
Ảnh có ẩn mã
Các bước thực hiện:
B1: Chuyển dữ liệu ảnh sang mảng 2 chiều M*N
B2: Tính kích thước ma trận ngẫu nhiên cần tạo ra:
L= p*M*N/100
B3: Tạo một ma trận các bit nhị phân ngẫu nhiên có số hàng M và số cột R=
L/M
B4: Thay thế lần lượt các bit thông tin mật trong ma trận ngẫu nhiên vào các
LSB của ảnh theo quy tắc từ trái sang phải từ trên xuống cho đến khi các bit
thông tin mật trong ma trận ngẫu nhiên không còn thì dừng.
25
2.2. PHƯƠNG PHÁP PHÂN TÍCH CẶP GIÁ TRỊ
2.2.1. Cơ sở toán học
2.2.1.1. Một số kiến thức về toán xác suất thống kê
a) Biến ngẫu nhiên
Biến ngẫu nhiên (bnn) X: là đại lượng nhận các giá trị nào đó phụ thuộc
vào các yếu tố ngẫu nhiên (nn). Về mặt hình thức có thể định nghĩa bnn như là
một hàm số có giá trị thực xác định trên không gian các sự kiện (sao cho
nghịch ảnh của một khoảng số là một sự kiện).
Để phân biệt ta kí hiệu: X, Y, … là các bnn còn x, y là giá trị của các
bnn đó. X mang tính nn còn x là giá trị cụ thể quan sát được khi phép thử đã
tiến hành. Ví dụ:
- Gieo 1 con xúc sắc => bnn là “số chấm xuất hiện” => nó phụ thuộc
kết cục của phép thử và nhận giá trị nguyên từ 1 ->6
- Bnn “nhiệt độ” của 1 phản ứng hóa học trong 1 khoảng thời gian
=> nhiệt độ đó nhận giá trị trong 1 khoảng [t, T], trong đó t là nhiệt
độ min, T là max của phản ứng trong khoảng thời gian trên.
Bnn gồm: bnn rời rạc, bnn liên tục
- Bnn rời rạc: tập giá trị là 1 tập hữu hạn hoặc vô hạn đếm được các
phần tử. VD: điểm thi của 1 học sinh, số cuộc điện thoại của tổng
đài trong 1 đơn vị thời gian,…
- Bnn liên tục: tập giá trị của nó lấp đầy 1 khoảng trên trục số, VD:
huyết áp của bệnh nhân, tuổi thọ của 1 loại bóng đèn điện tử.
b) Hàm phân phối xác suất
Hàm phân phối xác suất kí hiệu: F(x) được xác định như sau:
Nếu X là bnn rời rạc:
Nếu X là bnn liên tục:
   ( )
i
i
x x
F x P X x P X x

   
( ) ( )
x
F x f t dt

 
26
Trong đó: f(t) là hàm mật độ
c) Phân phối Gamma
Đại lượng nn X có phân phối Gamma với các tham số α, p (α, p > 0) nếu
hàm mật độ của nó có dạng:
Trong đó:
2.2.1.2. Phân phối khi bình phương
Phân phối khi bình phương (𝜒2
) là trường hợp đặc biệt của phân phối
Gamma với tham số alpha = ½; p = n/2. Biến ngẫu nhiên (bnn) liên tục X có
phân phối “khi bình phương” n bậc tự do, kí hiệu X ~ 𝜒2
nếu hàm mật độ có
dạng:
𝑓(x) = {
x
n
2
−1
2
n
2 .Γ(
n
2
)
. e−x/2
nếu x > 0
0 nếu x ≤ 0
Trong đó: Γ( 𝑥) = ∫ 𝑥 𝑥 −1 𝑒−𝑡+∞
0
𝑑𝑡 là hàm Gamma.
Phân phối 𝜒2
do Karl Pearson đưa ra vào năm 1900. Nó được sử dụng
phổ biến trong việc kiểm định mối liên hệ giữa hai biến. Phép kiểm định này
cho chúng ta biết có tồn tại hay không mối liên hệ giữa hai biến trong tổng thể.
Trong nghiên cứu này, nhóm xác định xác suất giấu tin của ảnh thông qua việc
áp dụng tiêu chuẩn phân phối 𝜒2 đối với tần số của các cặp giá trị.
1
ê 0
( ) ( )
0
p p x
x e
n u x
f x p

  


 


1
0
( ) p x
p x e dx

 
  
27
2.2.2. Khái niệm cặp giátrị
Khái niệm cặp giá trị (PoV – Pairs of values) được Pfitzman & Westfeld
đưa ra:
Cho một ảnh I. Gọi j là là giá trị của điểm ảnh trên I. Nếu I là ảnh đa cấp xám 8
bit thì j [0, 255]. Nếu j chẵn (j = 2i) thì sau phép lật bit giá trị của j là 2i + 1,
nếu j là lẻ (j = 2i + 1) thì sau phép lật bit giá trị của j là 2i
PoV là một cặp hai giá trị điểm ảnh (2i, 2i + 1) và hai giá trị trong cặp này chỉ
sai khác nhau ở bit thấp nhất.
2.2.3. Thuật toán PoV3
2.2.3.1. Ý tưởng
Với một ảnh I cần kiểm tra, trước tiên ta thống kê tần số của các giá trị
điểm ảnh chẵn, lẻ có mặt trong ảnh I. Ta xác định xác suất giấu tin của ảnh
thông qua việc áp dụng tiêu chuẩn phân phối 𝜒2
đối với tần số của các cặp
PoV.
Input:
Ảnh I cần kiểm tra
Output:
p: Xác suất giấu tin trong ảnh I
2.2.3.2. Thuật toán
Bước 1: Đọc vào ảnh I
Bước 2: Đọc dữ liệu ảnh vào một ma trận Mmxn.
Bước 3: Khởi tạo giá trị ban đầu cho vecto X, Y.
For each k  [0, 127]
X[k] = 0;
Y[k] = 0;
Bước 4:
Tính X[k] là tần số xuất hiện của các điểm ảnh có giá trị chẵn trên ảnh;
Tính Y[k] là tần số xuất hiện của các điểm ảnh có giá trị lẻ trên ảnh;
28
Bước 5: Giả sử ta có N cặp PoV
Với mọi k
Nếu (X[k] + Y[k]) ≤ 4 thì
X[k] = Y[k] = 0 ;
N = N-1 ;
Bước 6:
For each k
Z[k]= (X[k] + Y[k])/2;
Bước 7: Giả sử ta có N cặp PoV, theo phương pháp thống kê Khi bình phương
với N-1 bậc tự do ta tính
Bước 8: Tính p là xác suất của việc giấu tin
Trong đó: Γ (
𝑁−1
2
) = ∫ 𝑥
𝑁−1
2
−1
𝑒−𝑥+∞
0
𝑑𝑥
29
2.2.3.3. Phân tích thuật toán
Thông thường đối với ảnh kiểm tra là một ảnh đa cấp xám 8-bit ta có
256 mức xám khác nhau. Thuật toán xác định các cặp phần tử là các giá trị mức
xám chẵn, lẻ nên số lượng các phần tử chẵn, lẻ như vậy có không quá
256/2=128 phần tử. Ta xây dựng hai vecto X(x0, x1, ..., xk), Y(y0, y1, ..., yk) để
thống kê tần số xuất hiện của các điểm ảnh, với 0≤k ≤ 127. Mỗi phần tử trong
X sẽ lưu tần số xuất hiện các điểm ảnh chẵn (X[k] = 2k), mỗi phần tử trong Y
sẽ lưu tần số xuất hiện các điểm ảnh lẻ (Y[k] = 2k+1) với 0≤k ≤ 127. Ban đầu
khởi tạo các phần tử trong X và trong Y đều bằng 0.
Sau đó thuật toán thực hiện việc thống kê các giá trị mức xám có trong
ảnh cần kiểm tra và tương ứng tăng giá trị của các phần tử trong X và Y. Gọi Z
là vectơ mỗi phần tử Z[k] là giá trị trung bình cộng của X[k] và Y[k]. Giả sử
rằng ta có N cặp PoV, có k mức chẵn (lẻ) 0≤k ≤ 127, nếu X[k] + Y[k] ≤ 4 thì
X[k] = Y[k] = Z[k] = 0 và N = N–1.
Nếu ảnh có chứa thông tin ẩn thì X[k] = Z[k] đối với mọi k, trong
phương trình (1) 𝜒 𝑁−1
2
sẽ bé và do đó tích phân ∫ 𝑒
−𝑥
2 𝑥
𝑁−1
2
−1
𝑑𝑥
𝜒 𝑁−1
2
0
sẽ bé
và từ (2) suy ra xác suất p sẽ lớn. Ngược lại thì 𝜒 𝑁−1
2
sẽ lớn suy ra xác suất p
sẽ bé. Căn cứ vào sự lớn bé của xác suất p ta sẽ quyết định được ảnh có giấu tin
hay không. Hơn nữa Westfeld và Pfitzmann còn khẳng định rằng nếu ít hơn
100% các điểm ảnh có chứa thông tin được giấu thì xác suất giấu tin sẽ giảm rõ
rệt.
30
Chương 3: CÀI ĐẶT THỬ NGHIỆM
3.1. MÔI TRƯỜNG CÀI ĐẶT
Ngôn ngữ cài đặt, môi trường soạn thảo và chạy chương trình được thực hiện
trên ngôn ngữ lập trình Matlab 8.1(R2013a).
Yêu cầu cấu hình(tối thiểu):
- OS: XP, Vista, Win7, 8, 8.1, WinServer,…
- Processors: Pentium 4
- Disk Space: 9GB
- RAM: 2GB
3.2. GIAO DIỆN CỦA CHƯƠNG TRÌNH
 Giao diện chính:
 Giao diện giấu chuỗi kí tự:
31
 Giao diện giấu theo tỷ lệ ảnh:
32
 Giao diện phát hiện PoV3:
33
3.3. ĐÁNH GIÁ PHÂN TÍCH KẾT QUẢ THỰC NGHIỆM
3.3.1. Tập ảnh thực nghiệm
Chọn 7 hình ảnh màu xám 8bit có kích thước khác nhau để thực nghiệm,
dán nhãn lần lượt là Im001.png, Im002.png,…, Im007.png làm các ảnh gốc.
34
Với mỗi hình ảnh gốc, nhúng thông tin trong 10%, 50%, 90% và 100% của các
điểm ảnh và lưu lại mỗi hình ảnh có giấu tin vừa được tạo ra với tên mới dưới
dạng "Flip[tên hình ảnh][phần trăm nhúng].png". (Ví dụ, nhúng tin vào 10%
các điểm ảnh trong Im002 sẽ được ảnh có giấu tin có tên là "FlipIm00210.png"
hay “FlipIm007100.png” là ảnh có giấu tin được tạo ra sau khi nhúng tin vào
100% điểm ảnh của tấm ảnh gốc “Im007.png”).
Kết quả sau khi làm như trên, chúng ta thu được 28 tấm ảnh có giấu tin
và thêm 7 ảnh gốc là 35 tấm. Những bức ảnh này sẽ được dùng để kiểm tra độ
tin cậy của “Phương pháp phân tích cặp giá trị-PoV” (trong nghiên cứu này là
PoV3). Với mỗi hình ảnh thử nghiệm, PoV3 cho ra một bảng xác suất p tương
ứng với 1%, 2%, ..., 100% các điểm ảnh trong hình ảnh. Ví dụ, khả năng nhúng
tương ứng với "10%" là xác suất mà 10% đầu tiên của các điểm ảnh trong hình
ảnh thử nghiệm có chứa thông tin nhúng. Để đơn giản, ký hiệu pr biểu thị xác
suất mà r phần trăm đầu tiên của các điểm ảnh trong hình ảnh thử nghiệm chứa
dữ liệu nhúng. Theo Westfeld và Pfitzmann, khi hình ảnh "Flip[tên hình
ảnh][phần trăm nhúng]" được kiểm tra, pr nên, về mặt lý thuyết, giảm rõ rệt khi
r > [phần trăm nhúng]. Nếu kết quả thử nghiệm thu được r xấp xỉ [phần trăm
nhúng] thì phương pháp PoV3 có độ tin cậy rất cao, ngược lại r càng lệch [phần
trăm nhúng] thì phương pháp PoV3 có độ tin cậy càng thấp.
35
3.3.2. Kết quả thực nghiệm và đánh giá
3.3.2.1. Kết quả
Sau khi tạo được tập ảnh thử nghiệm (28 tấm ảnh có giấu tin và 7 tấm
ảnh gốc), tiến hành kiểm tra từng bức ảnh dựa trên thuật toán PoV3 sẽ thu được
biểu đồ xác suất nhúng và phần trăm kiểm tra. Từ đó lập được bảng thống kê
để đánh giá độ tin cậy của thuật toán.
Qua thử nghiệm bằng POV3 trên 35 bức ảnh, nhóm đã thu được các kết
quả sau:
a) Với Im001 và các ảnh có được từ nhúng tin trong 10%, 50%,
90%,100% điểm ảnh của Im001 (FlipIm00110, FlipIm00150, FlipIm00190,
FlipIm001100)
Kết quả thu được không khả quan , biểu đồ kết quả lệch với lý thuyết rất
nhiều.
Ví dụ: Khi kiểm tra FlipIm001100 thu được
36
Theo lý thuyết, các pr sẽ xấp xỉ 1 tại mọi r, thực tế 33% đầu tiên không cho kết
quả như mong muốn, hơn thế, tại r=11,12,13% POV3 còn kết luận không có
tin mật tại đó. Thử kiểm tra ảnh gốc Im001
mặc dù không nhúng tin, nhưng thực nghiệm cho thấy phần ảnh từ 30-80% bức
ảnh chắc chắn có tin mật. Tương tự, các thử nghiệm với các ảnh được giấu
10,50,90%, POV3 cũng cho kết quả không đáng tin, và có một điều thú vị đó là
POV3 đều cho kết luận chung là phần ảnh từ 30-85% bức ảnh chắc chắn có tin
mật. Chúng ta sẽ chú ý kết luận này để phân tích xem tại sao lại thu được kết
quả như vậy và liệu nguyên nhân gây ra kết quả đó có ảnh hưởng gì tới độ tin
cậy của thuật toán POV3 hay không? Câu trả lời là có. Phân tích cụ thể và giải
thích sẽ được nhóm trình bày ở phần đánh giá.
b) Với Im002 và các ảnh có được từ nhúng tin trong 10%, 50%,
90%,100% của Im002.
Với tập ảnh này, POV3 cho kết quả khả quan hơn.
Kiểm tra Im001 thu được:
37
Mặc dù tại r=1,2% điểm ảnh, pr khác 0, nhưng pr rất nhỏ, chỉ gần 1%.
Với FlipIm00210 – chỉ nhúng tin trong 10% điểm ảnh đầu tiên, kiểm tra
10% đầu tiên cho kết quả tương đối khả quan, tuy nhiên đến 11% thì POV3 báo
có tin mật, đến 22% điểm ảnh thì mới xác định là không còn tin mật (mặc dù
chỉ nhúng 10%)
38
Với các trường hợp nhúng tin trong 50,90,100% điểm ảnh, POV3 đều
cho kết quả không tin cậy. Điểm chú ý là POV3 vẫn cho kết quả là không có
tin mật tại r=9,10,11% điểm ảnh.
Ví dụ: khi kiểm tra FlipIm00250, kết quả thu được là bức ảnh bị giấu tin
đến 72% điểm ảnh.
39
c) Với Im003 và các ảnh có được từ nhúng tin trong 10%, 50%,
90%,100% điểm ảnh của Im003 (FlipIm00310, FlipIm00350, FlipIm00390,
FlipIm003100)
Tập ảnh này POV3 cho kết quả với độ tin cậy rất cao.
Khi kiểm tra Im003
Khi kiểm tra FlipIm00110, tuy tại r=3% pr =0 nhưng sau khi kiểm tra
toàn bộ bức ảnh kết quả thu được rất đáng tin
40
Tương tự với FlipIm00350, FlipIm003100
41
Còn với FlipIm00390, POV3 kết luận 93% điểm ảnh bị nhúng tin – quá
3%
42
d) Một số biểu đồ kết quả sau khi kiểm tra Im004, Im005, Im006, Im007
và các ảnh được tạo ra từ chúng.
POV3 cho kết quả tương đối tin cậy khi kiểm tra Im005,Im006 và các
ảnh được tạo ra từ chúng. Còn đối với Im004, Im007 và các ảnh được tạo ra từ
chúng cho kết quả có độ tin cậy thấp.
FlipIm00410:
FlipIm00550:
43
FlipIm00650:
FlipIm00710:
44
FlipIm00750:
45
3.3.2.2. Đánh giá
Từ biểu đồ thu được sau mỗi lần kiểm tra ảnh, nhóm đã tổng hợp thành
các bảng như sau:
Bảng 1: Flip[Image]: Ảnh gốc
Image: Im001 Im002 Im003 Im004 Im005 Im006 Im007
% Tested
1 ? << K ? K K <<
2 ? << K C K K <<
3 C K K ? K K <<
4 C K K C K K <<
5 C K K C K K K
6 C K K C K K K
7 C K K ? K K K
8 ? K K K K K K
50 C K K K K K K
89 K K K K K K K
100 K K K K K K K
Chú ý: C(có), nếu pr >=0.90; K(không), nếu pr <=0.10; ?(không chắc chắn),
nếu 0.10< pr <0.90; <<, xác suất giấu tin thấp khoảng 1-2%. Chỗ in đậm là kết
quả lệch nhiều so với lý thuyết. Tương tự với các Bảng 2,3,4,5.
Ta thấy, đối với ảnh Im003, Im005, Im006 kết quả thu được có độ tin
cậy rất cao, còn Im002, Im004, Im007 có độ tin cậy tương đối, và cuối cùng là
Im001 có độ tin cậy rất thấp.
46
Bảng 2: Flip[Image]100: Ảnh được nhúng 100%
Image: Im001 Im002 Im003 Im004 Im005 Im006 Im007
% Tested
1 ? C ? ? ? K ?
2 ? C ? C ? C C
3 C C K C K ? C
4 C C ? C K C C
9 ? K C C K C C
11 ? K C C K C C
12 K C C C K C C
14 K C C C ? C C
15 ? C C C ? C C
19 C C C C C C C
85 C C C C C C C
90 C C C C C C C
95 C C C C C C C
100 C C C C C C C
47
Bảng 3: Flip[Image]10: Ảnh được nhúng 10%
Image: Im001 Im002 Im003 Im004 Im005 Im006 Im007
% Tested
1 ? C ? ? ? C C
2 ? C ? C ? ? C
3 C C K C K C C
4 ? C ? C K C C
9 ? K C C K C C
10 ? ? C C K C C
11 ? K K C K C ?
12 ? C K C K C K
13 K C K ? K ? K
14 ? C K ? K K K
16 ? C K ? K K K
30 ? K K K K K K
31 C K K K K K K
83 C K K K K K K
84 ? K K K K K K
89 ? K K K K K K
90 K K K K K K K
100 K K K K K K K
48
Bảng 4: Flip[Image]50: Ảnh được nhúng 50%
Image: Im001 Im002 Im003 Im004 Im005 Im006 Im007
% Tested
1 ? C ? ? ? K ?
3 C C K C K ? C
9 ? K C C K C C
10 ? K C C K C C
20 ? C C C C C C
30 C C C C C C C
40 C C C C C C C
50 C C C C C C C
51 C C ? C ? ? C
52 C C K C K K C
67 C C K C K K C
71 C C K C K K ?
72 C C K ? K K ?
85 C ? K ? K K K
96 ? K K ? K K K
100 ? K K ? K K K
49
Bảng 5: Flip[Image]90: Ảnh được nhúng 90%
Image: Im001 Im002 Im003 Im004 Im005 Im006 Im007
% Tested
1 ? ? ? ? ? K ?
2 ? C K C ? ? C
3 ? ? K C K ? C
4 ? ? ? C K C C
10 ? K C C K C C
11 ? K C C K C C
13 K C C C ? C C
14 K C C C C C C
31 C C C C C C C
32 C C C C C C C
50 C C C C C C C
90 C C C C C C C
91 C C C C C C C
92 C C C C K C C
93 C C C C K C C
95 C C K C K C C
97 C ? K C K C C
98 C K K C K C C
99 C K K C K ? C
100 C. K K C K K C
50
Bảng 6: “Điểm rơi” căn cứ theo Tấn công Khi bình phương
[phần trăm lớn nhất của điểm ảnh đã kiểm tra mà pr ≥0.90]/
[phần trăm tiếp theo của điểm ảnh đã kiểm tra mà pr ≤0.10]
(“Điểm rơi” là điểm mà kể từ vị trí đó xác suất giấu tin sẽ giảm rõ rệt)
Image: Im001 Im002 Im003 Im004 Im005 Im006 Im007
% Emb
0 81/89 0/0 0/0 6/8 0/0 0/0 0/0
10 83/90 16/22 10/11 12/25 0+/3 12/14 10/12
50 85/100+ 72/96 50/52 71/100+ 51/52 50/52 67/78
90 100/100+ 95/98 93/95 100/100+ 91/92 98/100 100/100+
Chú ý: Đối với Bảng 6, phần in đậm là các kết quả có độ tin cậy cao,
khớp với lý thuyết. Phần gạch chân là các kết quả có độ tin cậy thấp, lệch nhiều
so với lý thuyết.
Qua quá trình thực nghiệm, dựa vào các biểu đồ và bảng tổng hợp kết
quả ở trên, nhóm đã thu được các đánh giá như sau:
Thứ nhất: khi sử dụng phương pháp POV3 với những bức ảnh được tạo
ra từ các ảnh gốc Im003, Im005, Im006 cho kết quả có độ tin cậy cao, còn đối
với Im002, Im004, Im007 có độ tin cậy khá thấp, riêng kiểm tra trên Im001 và
các ảnh được tạo ra từ nó thì POV3 không thể xác định được có hay không tin
mật được giấu trong ảnh. Nhóm đã tiến hành phân tích các bức ảnh gốc và thu
được kết quả là các bức ảnh Im003,Im005,Im006 có độ nhiễu về mặt thống kê
rất thấp:
51
Còn các bức ảnh còn lại có độ nhiễu về mặt thống kê rất cao:
52
Như vậy, POV3 tỏ ra không hiệu quả khi mà thông tin mật được nhúng vào bức
ảnh có độ nhiễu cao về mặt thống kê.
Thứ hai: Khi nhúng tin vào vùng đồng nhất của bức ảnh thì POV3
không phát hiện được tin mật. Ví dụ: Khi kiểm tra Im005 và các ảnh được tạo
ra từ nó, POV3 đều cho kết quả là 10% điểm ảnh đầu tiên không giấu tin.
Điều này giải thích vì sao Im005 có độ nhiễu rất thấp về mặt thống kê mà kết
quả kiểm tra bằng POV3 trên tập ảnh của Im005 đều cho thấy 10%điểm ảnh
đầu tiên không chính xác còn lại đều cho độ tin cậy rất cao.
53
3.4. CHỐNG LẠI PHƯƠNG PHÁP PHÂN TÍCH CẶP GIÁ TRỊ
Qua thực nghiệm trên, ta thấy những điểm yếu rõ ràng của các cuộc tấn
công khi bình phương. Dựa vào những điểm yếu này, ta có thể khai thác để lựa
chọn phương pháp giấu tin mà POV3 không phát hiện ra được hoặc cho kết quả
không tin cậy. Ví dụ:
Lựa chọn hình ảnh: Thông thường, chúng ta có thể chọn những ảnh mà
tận dụng được 1 số thiếu sót của tấn công khi bình phương. Một trong những
cách như vậy là chọn hình ảnh nhiễu về mặt thống kê. Thực nghiệm đã chứng
minh là tấn công khi bình phương không đáng tin cậy đối với nhiều ảnh nhiễu,
Hơn nữa, thông tin có thể được nhúng vào trong một số hình ảnh , cho đến một
tỷ lệ nhất định của tổng số điểm ảnh trong hình ảnh để các hình ảnh có và
không có dữ liệu nhúng xuất hiện các thống kê tương tự.
Thực tế là hình ảnh nhiễu là tốt nhất cho kỹ thuật che giấu thông tin.
Tuy nhiên, chúng ta có thể cải thiện sự lựa chọn hình ảnh bằng cách áp đặt hạn
chế bổ sung trên ảnh gốc và sửa đổi các thuật toán nhúng. Ví dụ, chọn một hình
ảnh với một khu vực đồng nhất lớn ở phía trên của hình ảnh và nhiễu suốt phần
còn lại của hình ảnh và bắt đầu nhúng trong khu vực nhiễu, tức là, bỏ qua khu
vực đồng nhất ở phần đầu. Một thuật toán như vậy sẽ làm giảm hiệu quả của hệ
thống phát hiện giấu tin, nên những khu vực đồng nhất lớn ở phía trên của hình
ảnh gây ra khả năng nhúng vẫn gần bằng không cho toàn bộ hình ảnh. Trong
thực tế, nếu một thuật toán nhúng như vậy đã được sử dụng và hình ảnh đã
được thử nghiệm chỉ từ trên xuống dưới, sau đó toàn bộ hình ảnh có thể có độ
mịn tốt, nhưng các thử nghiệm khi bình phương vẫn sẽ chỉ ra rằng không có số
liệu nhúng. Xem xét, ví dụ, hình ảnh FlipIm00590, Im005 với bit nhúng vào
trong 90% của các điểm ảnh
54
nếu hình ảnh này đã được xoay 180 độ như vậy rằng khu vực trơn tru không có
dữ liệu nhúng là ở đầu và sau đó thử nghiệm sử dụng POV3, POV3 sẽ chỉ ra
rằng không có số liệu nhúng khi 100% của các điểm ảnh được kiểm tra. Thực
tế này là hiển nhiên từ thực tế là khi 100% các điểm ảnh trong FlipIm00590
được kiểm tra mà không cần xoay hình ảnh 180 độ, khả năng nhúng là rất gần
bằng không. Do đó nó là hợp lý để hy vọng rằng khi FlipIm00590 xoay được
thử nghiệm sử dụng POV3, thuật toán sẽ cho ra pr gần bằng không cho tất cả r.
Nói cách khác, POV3 trả về không có dữ liệu nhúng trong hình ảnh bất kể bao
nhiêu hình ảnh được thử nghiệm, miễn là các thử nghiệm bắt đầu trong khu vực
trơn tru. Ví dụ: xoay FlipIm00590 và kiểm tra bằng POV3.
55
Tuy nhiên, nếu chúng ta kiểm tra hình ảnh này sử dụng POV2r, chúng ta có
thể kiểm tra điểm ảnh từ 10% đến 100%, mà xác suất nhúng rất gần một. Kể
từ khi xác suất nhúng là gần một cho hình ảnh mịn chỉ khi có dữ liệu nhúng,
chúng ta có thể xác định rằng phần sau này hình ảnh không, trên thực tế, chứa
dữ liệu nhúng.
Lựa chọn các điểm ảnh để nhúng: Ý tưởng cho rằng nếu | X[k] – Z[k] |
là rất lớn, thậm chí với một vài POVs, làm cho 𝜒 𝑁−1
2
lớn và do đó khả năng
nhúng gần bằng không, có thể được mở rộng đến các thuật toán nhúng khác.
Một cách để thay đổi các thuật toán nhúng là lựa chọn pixel nào nên được
nhúng dữ liệu.
Sự hủy bỏ các cặp giá trị (POV): Theo Westfeld và Pfitzmann một điểm
yếu đáng kể của cuộc tấn công khi bình phương là nó chỉ có tác dụng trên thuật
toán nhúng lật bit LSB và do đó tạo ra các POV. Do vậy ta có thể cải tiến thuật
toán nhúng LSB như là giảm giá trị điểm ảnh để có được những hình ảnh giấu
tin thay vì lật bit LSB.
56
KẾT LUẬN
Đề tài của nhóm đã trình bày được một cách tổng quan về kỹ thuật ẩn
mã, những đặc điểm liên quan đến ẩn mã, đồng thời đi sâu vào nghiên phương
pháp phát hiện thông tin mật được giấu trên LSB bằng phương pháp phân tích
cặp giá trị. Và đã thử nghiệm thành công thuật toán POV3 nhằm phát hiện
thông tin mật được giấu trên các LSB của ảnh.
Ưu điểm của phương pháp này là, trong một số trường hợp, nó có thể
dễ dàng phát hiện các thông tin mật được giấu trên LSB thông qua việc phân
tích cặp giá trị. Song nó vẫn còn có những điểm hạn chế như, khi mà thông tin
mật được giấu vào bức ảnh có độ nhiễu cao hoặc vào vùng đồng nhất của ảnh
gốc thì POV3 cũng không cho kết quả đáng tin cậy. Hay khi giấu tin không sử
dụng thuật toán nhúng lật bit LSB thì POV3 không phát hiện ra được thông tin
mật. Với những kiến thức có được từ những nghiên cứu, nhóm đã viết được
chương trình phát hiện thông tin mật được giấu trên các LSB của ảnh, nhóm hi
vọng sẽ có thể phát triển đề tài này hơn nữa vào tương lai, đó là bài toán khó
hơn bài toán phát hiện sự tồn tại của thông tin mật: bài toán trích chọn ra thông
tin mật.
Với sự phát triển của công nghệ thông tin, vấn đề an toàn đối với thông
tin số là vấn đề được quan tâm hàng đầu hiện nay. Tương lai, kỹ thuật ẩn mã và
phân tích ẩn mã chắc chắn sẽ được chú ý và phát triển nhiều hơn, đóng vai trò
quan trọng trong các lĩnh vực liên quan đến thông tin số nhằm đảm bảo an toàn
ngày càng cao hơn, phục vụ cho các yêu cầu của con người không chỉ là liên
lạc bí mật.
Cuối cùng một lần nữa nhóm em xin gửi lời cảm ơn sâu sắc đến cô
Hoàng Thu Phương đã giúp chúng em hoàn thành đề tài nghiên cứu khoa học
này.
57
TÀI LIỆU THAM KHẢO
[1]. Chirsty A.Stanley, Department of Mathematics, Iowa State University,
2005 “Pair of Values and the Chi – squared Attack”
[2]. Philip Bateman, Department of Computing Faculty of Engineering and
Physical Sciences, University of Surrey, 2008 “Image Steganography and
Steganalysis”
[3]. http://tailieuhoctap.vn/chi-tiet-sach/186-nganh-cong-nghe-thong-tin/do-
hoa-ung-dung/769813-xu-ly-anh-tren-matlab
58
PHỤ LỤC
(Một số đoạn code chính của chương trình)
1. Ẩn thông tin mật theo tỉ lệ trên LSB
%FlipEmbed
cover = double(input_image); %Chuyen doi anh sang ma tran 2 chieu
[p,q] = size(cover);
Xa = zeros(128,1);
Xb = zeros(128,1);
Ya = zeros(128,1);
Yb = zeros(128,1);
%-----------------------------------------------------%--------------
---------------------------------------%Histogram
for i=1:p
for j=1:q
if rem(cover(i,j),2)==0
Xb((cover(i,j)/2)+1)=Xb((cover(i,j)/2)+1)+1;
else
Yb(((cover(i,j)-1)/2)+1)=Yb(((cover(i,j)-1)/2)+1)+1;
end
end
end
if answer == 'y'
categories = zeros(128,1);
for i = 1:128
categories(i) = 2*(i-1);
end
V = abs(Yb-Xb);
fig_title = [image_name, '.', image_type,':','|Y-X| Before
Embedding'];
figure (1), plot(categories, V, '*:'); title(fig_title);
xlabel('Category (i)'); ylabel('|Y-X|');
%displays graph
end
%---Random tin
length = input('Nhap chuoi mo ta ve tin nhan (chi nhap 1-100 %): ');
while ((length < 1) || (100 < length))
if (100 < length)
length = input('Ban nhap luong tin qua lon.(Chi nhap 1-100%):
');
else
length = input('Chieu dai tin bi loi. ( chi nhap 1-100%): ');
end
end
length = floor((length/100)*p*q);
save('length','length');
M1 = rand(p,q);
M1 = rem(floor(10*M1),2);
rows = floor(length/q);
col = length - (rows*q);
stego = plus(floor(cover/2)*2 , M1);
if rows < p
nextrow = cat(2,stego(rows+1,1:col),cover(rows+1,col+1:q));
end
59
switch rows
case p
stego = floor(cover/2)*2 + M1;
case (p-1)
stego = cat(1, stego(1:rows,1:q),nextrow);
otherwise
stego = cat(1,
stego(1:rows,1:q),nextrow,cover(rows+2:p,1:q));
end
save('M1','M1');
%-----------------------------------------------------%--------------
---------------------------------------%Histogram
for i=1:p
for j=1:q
if rem(stego(i,j),2)==0
Xa((stego(i,j)/2)+1)=Xa((stego(i,j)/2)+1)+1;
else
Ya(((stego(i,j)-1)/2)+1)=Ya(((stego(i,j)-1)/2)+1)+1;
end
end
end
if answer == 'y'
W = abs(Ya-Xa);
fig_title = [output_image, '.', image_type,': ','|Y-X| After
Embedding'];
figure (2), plot(categories,W,'*:'); title(fig_title);
xlabel('Category (i)'); ylabel('|Y-X|'); %displays
%graph
end
%-----------------------------------------------------%--------------
---------------------------------------%display(stego);
save('stego','stego');
stego1 = uint8(stego);
save('stego1','stego1');
save('original''original');
imwrite(stego1,output_image,'png');
2. Phát hiện ảnh giấu tin bằng phương pháp POV3
%POV3
input_image = imread(x); %Doc anh nhap vao
imshow(image);
A = double(input_image); %
[m,n] = size(A);
percentage = zeros(101,1);
prob = zeros(101,1);
K = zeros(101,1);
%-----------------------------------------------------%--------------
--Tests all percentages, 1-100---------
for h=1:100
k = 128;
percentage(h) = percentage(h) + h;
%chuyen doi % sang thap phan, i.e., 10%=0.10
total_pixels = floor((h/100)*m*n); %Tinh toan tong so pixel
whole_rows = floor(total_pixels/n); %Tính hàng kiem tra so luon
total_pixels
columns_last_row = total_pixels - (whole_rows*n);
X=zeros(128,1); %Dem diem anh chan
60
Y=zeros(128,1); %Dem diem anh le
D=zeros(128,1); %Ho tro tinh toan
%Chi-squared statistic.
for q=1:whole_rows
for r=1:n
if rem(A(q,r),2)==0
X((A(q,r)/2)+1)=X((A(q,r)/2)+1)+1;
else
Y(((A(q,r)-1)/2)+1)=Y(((A(q,r)-1)/2)+1)+1;
end
end
end
for q=whole_rows+1
for r=1:columns_last_row
if rem(A(q,r),2)==0
X((A(q,r)/2)+1)=X((A(q,r)/2)+1)+1;
else
Y(((A(q,r)-1)/2)+1)=Y(((A(q,r)-1)/2)+1)+1;
end
end
end
Z = (X + Y);
for i=1:128
if (X(i)+Y(i)) < 5
X(i) = 0;
Y(i) = 0;
k = k-1;
end
end
Z=Z./2; %Vector trung binh cua X_i and Y_i: Z_i = (X_i + Y_i)/2.
D = (X-Z).^2;
for i=1:128
if Z(i)==0
D(i) = 0;
else
D(i) = D(i)/Z(i);
end
end
format long g;
C=sum(D); %C là các so lieu thong ke Chi-bình phuong, tong các
phan tu trong D.
display(C);
Pcheck=1-gammainc(C/2,(k-1)/2); %Tính xác suat su dung chuc nang
gammainc.
display(Pcheck);
prob(h) = prob(h) + Pcheck;
K(h+1) = K(h+1) + k;
end
fig_title = [x,':','Probability of Embedding vs Percentage Tested'];
percentage = cat(1, percentage(101),percentage(1:100));
prob = cat(1, prob(101), prob(1:100));
result = cat(2, percentage, prob, K);
display(result);
save('result','result');
figure (1), plot(percentage,prob,'*:');
title(fig_title); xlabel('Percentage Tested'); ylabel('Probability of
Embedding'); %displays graph
figure (2), imshow(A, []);
title('Tested Image');

Contenu connexe

Tendances

[Khóa luận tốt nghiệp] - Tìm hiểu và triển khai Snort/SnortSam
[Khóa luận tốt nghiệp] - Tìm hiểu và triển khai Snort/SnortSam[Khóa luận tốt nghiệp] - Tìm hiểu và triển khai Snort/SnortSam
[Khóa luận tốt nghiệp] - Tìm hiểu và triển khai Snort/SnortSamTiki.vn
 
Đề cương môn xử lý ảnh
Đề cương môn xử lý ảnhĐề cương môn xử lý ảnh
Đề cương môn xử lý ảnhJean Valjean
 
Nghiên cứu kỹ thuật giấu tin trong ảnh và ứng dụng.pdf
Nghiên cứu kỹ thuật giấu tin trong ảnh và ứng dụng.pdfNghiên cứu kỹ thuật giấu tin trong ảnh và ứng dụng.pdf
Nghiên cứu kỹ thuật giấu tin trong ảnh và ứng dụng.pdfMan_Ebook
 
Bài giảng mật mã học cơ sở PTIT
Bài giảng mật mã học cơ sở PTITBài giảng mật mã học cơ sở PTIT
Bài giảng mật mã học cơ sở PTITNguynMinh294
 
Kĩ thuật lọc ảnh và ứng dụng trong lọc nhiễu làm trơn
Kĩ thuật lọc ảnh và ứng dụng trong lọc nhiễu làm trơnKĩ thuật lọc ảnh và ứng dụng trong lọc nhiễu làm trơn
Kĩ thuật lọc ảnh và ứng dụng trong lọc nhiễu làm trơnNguyen Thieu
 
Bài giảng an toàn ứng dụng web và csdl PTIT
Bài giảng an toàn ứng dụng web và csdl PTITBài giảng an toàn ứng dụng web và csdl PTIT
Bài giảng an toàn ứng dụng web và csdl PTITNguynMinh294
 
TIM HIEU SSL VA UNG DUNG TREN WEB SERVER
TIM HIEU SSL VA UNG DUNG TREN WEB SERVERTIM HIEU SSL VA UNG DUNG TREN WEB SERVER
TIM HIEU SSL VA UNG DUNG TREN WEB SERVERconglongit90
 

Tendances (20)

Đề tài: Tìm hiểu hệ thống phát hiện xâm nhập IDS-SNORT, 9đ
Đề tài: Tìm hiểu hệ thống phát hiện xâm nhập IDS-SNORT, 9đĐề tài: Tìm hiểu hệ thống phát hiện xâm nhập IDS-SNORT, 9đ
Đề tài: Tìm hiểu hệ thống phát hiện xâm nhập IDS-SNORT, 9đ
 
[Khóa luận tốt nghiệp] - Tìm hiểu và triển khai Snort/SnortSam
[Khóa luận tốt nghiệp] - Tìm hiểu và triển khai Snort/SnortSam[Khóa luận tốt nghiệp] - Tìm hiểu và triển khai Snort/SnortSam
[Khóa luận tốt nghiệp] - Tìm hiểu và triển khai Snort/SnortSam
 
Luận văn: Kỹ thuật giấu tin CPT trên ảnh nhị phân, HAY
Luận văn: Kỹ thuật giấu tin CPT trên ảnh nhị phân, HAYLuận văn: Kỹ thuật giấu tin CPT trên ảnh nhị phân, HAY
Luận văn: Kỹ thuật giấu tin CPT trên ảnh nhị phân, HAY
 
Đề cương môn xử lý ảnh
Đề cương môn xử lý ảnhĐề cương môn xử lý ảnh
Đề cương môn xử lý ảnh
 
Kỹ thuật giấu tin văn bản trong hình ảnh dựa trên hàm modulus
Kỹ thuật giấu tin văn bản trong hình ảnh dựa trên hàm modulusKỹ thuật giấu tin văn bản trong hình ảnh dựa trên hàm modulus
Kỹ thuật giấu tin văn bản trong hình ảnh dựa trên hàm modulus
 
Nghiên cứu kỹ thuật giấu tin trong ảnh và ứng dụng.pdf
Nghiên cứu kỹ thuật giấu tin trong ảnh và ứng dụng.pdfNghiên cứu kỹ thuật giấu tin trong ảnh và ứng dụng.pdf
Nghiên cứu kỹ thuật giấu tin trong ảnh và ứng dụng.pdf
 
Luận văn: Hệ thống phát hiện xâm nhập mạng, HAY
Luận văn: Hệ thống phát hiện xâm nhập mạng, HAYLuận văn: Hệ thống phát hiện xâm nhập mạng, HAY
Luận văn: Hệ thống phát hiện xâm nhập mạng, HAY
 
Bài giảng mật mã học cơ sở PTIT
Bài giảng mật mã học cơ sở PTITBài giảng mật mã học cơ sở PTIT
Bài giảng mật mã học cơ sở PTIT
 
Đề tài: Xây dựng hệ thống tìm kiếm âm thanh theo nội dung tần số
Đề tài: Xây dựng hệ thống tìm kiếm âm thanh theo nội dung tần sốĐề tài: Xây dựng hệ thống tìm kiếm âm thanh theo nội dung tần số
Đề tài: Xây dựng hệ thống tìm kiếm âm thanh theo nội dung tần số
 
Kĩ thuật lọc ảnh và ứng dụng trong lọc nhiễu làm trơn
Kĩ thuật lọc ảnh và ứng dụng trong lọc nhiễu làm trơnKĩ thuật lọc ảnh và ứng dụng trong lọc nhiễu làm trơn
Kĩ thuật lọc ảnh và ứng dụng trong lọc nhiễu làm trơn
 
Đề cương xử lý ảnh
Đề cương xử lý ảnhĐề cương xử lý ảnh
Đề cương xử lý ảnh
 
Luận văn: Kỹ thuật giấu ảnh màu trong ảnh màu, HOT
Luận văn: Kỹ thuật giấu ảnh màu trong ảnh màu, HOTLuận văn: Kỹ thuật giấu ảnh màu trong ảnh màu, HOT
Luận văn: Kỹ thuật giấu ảnh màu trong ảnh màu, HOT
 
Đề tài: Hệ thống phát hiện cảnh báo nguy cơ tấn công mạng
Đề tài: Hệ thống phát hiện cảnh báo nguy cơ tấn công mạngĐề tài: Hệ thống phát hiện cảnh báo nguy cơ tấn công mạng
Đề tài: Hệ thống phát hiện cảnh báo nguy cơ tấn công mạng
 
Bài giảng an toàn ứng dụng web và csdl PTIT
Bài giảng an toàn ứng dụng web và csdl PTITBài giảng an toàn ứng dụng web và csdl PTIT
Bài giảng an toàn ứng dụng web và csdl PTIT
 
Báo cáo snort
Báo cáo snortBáo cáo snort
Báo cáo snort
 
Luận văn: Một số kĩ thuật giấu tin trong âm thanh số, HAY
Luận văn: Một số kĩ thuật giấu tin trong âm thanh số, HAYLuận văn: Một số kĩ thuật giấu tin trong âm thanh số, HAY
Luận văn: Một số kĩ thuật giấu tin trong âm thanh số, HAY
 
Luận văn: Kỹ thuật giấu tin trong tệp văn bản, HOT
Luận văn: Kỹ thuật giấu tin trong tệp văn bản, HOTLuận văn: Kỹ thuật giấu tin trong tệp văn bản, HOT
Luận văn: Kỹ thuật giấu tin trong tệp văn bản, HOT
 
200 đề tài luận văn thạc sĩ an ninh mạng. HAY
200 đề tài luận văn thạc sĩ an ninh mạng. HAY200 đề tài luận văn thạc sĩ an ninh mạng. HAY
200 đề tài luận văn thạc sĩ an ninh mạng. HAY
 
Luận văn: Khai phá dữ liệu; Phân cụm dữ liệu, HAY
Luận văn: Khai phá dữ liệu; Phân cụm dữ liệu, HAYLuận văn: Khai phá dữ liệu; Phân cụm dữ liệu, HAY
Luận văn: Khai phá dữ liệu; Phân cụm dữ liệu, HAY
 
TIM HIEU SSL VA UNG DUNG TREN WEB SERVER
TIM HIEU SSL VA UNG DUNG TREN WEB SERVERTIM HIEU SSL VA UNG DUNG TREN WEB SERVER
TIM HIEU SSL VA UNG DUNG TREN WEB SERVER
 

Similaire à Phát hiện ảnh giấu tin dùng lsb bằng pp po v

NGHIÊN CỨU PHƯƠNG PHÁP QUAY LUI VÀ ỨNG DỤNG GIẢI BÀI TOÁN SUDOKU
NGHIÊN CỨU PHƯƠNG PHÁP QUAY LUI VÀ ỨNG DỤNG GIẢI BÀI TOÁN SUDOKU NGHIÊN CỨU PHƯƠNG PHÁP QUAY LUI VÀ ỨNG DỤNG GIẢI BÀI TOÁN SUDOKU
NGHIÊN CỨU PHƯƠNG PHÁP QUAY LUI VÀ ỨNG DỤNG GIẢI BÀI TOÁN SUDOKU nataliej4
 
Phân Tích Sự Phân Bố Điểm Ảnh Và Sự Phân Tích Độ Đo 9 Điểm.doc
Phân Tích Sự Phân Bố Điểm Ảnh Và Sự Phân Tích Độ Đo 9 Điểm.docPhân Tích Sự Phân Bố Điểm Ảnh Và Sự Phân Tích Độ Đo 9 Điểm.doc
Phân Tích Sự Phân Bố Điểm Ảnh Và Sự Phân Tích Độ Đo 9 Điểm.docmokoboo56
 
Vai Trò Của Nhân Viên Công Tác Xã Hội Trong Việc Hỗ Trợ Người Khuyết Tật Sống...
Vai Trò Của Nhân Viên Công Tác Xã Hội Trong Việc Hỗ Trợ Người Khuyết Tật Sống...Vai Trò Của Nhân Viên Công Tác Xã Hội Trong Việc Hỗ Trợ Người Khuyết Tật Sống...
Vai Trò Của Nhân Viên Công Tác Xã Hội Trong Việc Hỗ Trợ Người Khuyết Tật Sống...Dịch vụ viết thuê Luận Văn - ZALO 0932091562
 
bctntlvn (109).pdf
bctntlvn (109).pdfbctntlvn (109).pdf
bctntlvn (109).pdfLuanvan84
 
Luận văn: Logic mô tả và ứng dụng trong cơ sở dữ liệu, hAY
Luận văn: Logic mô tả và ứng dụng trong cơ sở dữ liệu, hAYLuận văn: Logic mô tả và ứng dụng trong cơ sở dữ liệu, hAY
Luận văn: Logic mô tả và ứng dụng trong cơ sở dữ liệu, hAYViết thuê trọn gói ZALO 0934573149
 
Bài giảng mật mã học cơ sở PTIT
Bài giảng mật mã học cơ sở PTITBài giảng mật mã học cơ sở PTIT
Bài giảng mật mã học cơ sở PTITNguynMinh294
 
49899816 giao-trinh-xu-ly-anh
49899816 giao-trinh-xu-ly-anh49899816 giao-trinh-xu-ly-anh
49899816 giao-trinh-xu-ly-anhphaothu0304
 
Cá nhân hóa ứng dụng và dịch vụ di động hướng ngữ cảnh người dùng.pdf
Cá nhân hóa ứng dụng và dịch vụ di động hướng ngữ cảnh người dùng.pdfCá nhân hóa ứng dụng và dịch vụ di động hướng ngữ cảnh người dùng.pdf
Cá nhân hóa ứng dụng và dịch vụ di động hướng ngữ cảnh người dùng.pdfHanaTiti
 
Hệ thống xử lý tín hiệu điện não tự động phát hiện gai động kinh.pdf
Hệ thống xử lý tín hiệu điện não tự động phát hiện gai động kinh.pdfHệ thống xử lý tín hiệu điện não tự động phát hiện gai động kinh.pdf
Hệ thống xử lý tín hiệu điện não tự động phát hiện gai động kinh.pdfHanaTiti
 

Similaire à Phát hiện ảnh giấu tin dùng lsb bằng pp po v (20)

Luận án: Khái niệm các hệ thống thông tin dựa trên logic mô tả
Luận án: Khái niệm các hệ thống thông tin dựa trên logic mô tảLuận án: Khái niệm các hệ thống thông tin dựa trên logic mô tả
Luận án: Khái niệm các hệ thống thông tin dựa trên logic mô tả
 
GT Co so mat ma .pdf
GT Co so mat ma .pdfGT Co so mat ma .pdf
GT Co so mat ma .pdf
 
NGHIÊN CỨU PHƯƠNG PHÁP QUAY LUI VÀ ỨNG DỤNG GIẢI BÀI TOÁN SUDOKU
NGHIÊN CỨU PHƯƠNG PHÁP QUAY LUI VÀ ỨNG DỤNG GIẢI BÀI TOÁN SUDOKU NGHIÊN CỨU PHƯƠNG PHÁP QUAY LUI VÀ ỨNG DỤNG GIẢI BÀI TOÁN SUDOKU
NGHIÊN CỨU PHƯƠNG PHÁP QUAY LUI VÀ ỨNG DỤNG GIẢI BÀI TOÁN SUDOKU
 
Dj9 vfdlw
Dj9 vfdlwDj9 vfdlw
Dj9 vfdlw
 
Các mô hình học sâu tiên tiến và ứng dụng trong phân tích chuỗi thời gian lâm...
Các mô hình học sâu tiên tiến và ứng dụng trong phân tích chuỗi thời gian lâm...Các mô hình học sâu tiên tiến và ứng dụng trong phân tích chuỗi thời gian lâm...
Các mô hình học sâu tiên tiến và ứng dụng trong phân tích chuỗi thời gian lâm...
 
Phân Tích Sự Phân Bố Điểm Ảnh Và Sự Phân Tích Độ Đo 9 Điểm.doc
Phân Tích Sự Phân Bố Điểm Ảnh Và Sự Phân Tích Độ Đo 9 Điểm.docPhân Tích Sự Phân Bố Điểm Ảnh Và Sự Phân Tích Độ Đo 9 Điểm.doc
Phân Tích Sự Phân Bố Điểm Ảnh Và Sự Phân Tích Độ Đo 9 Điểm.doc
 
Luận văn: Đề xuất thuật toán mã hóa văn bản có độ bảo mật cao
Luận văn: Đề xuất thuật toán mã hóa văn bản có độ bảo mật caoLuận văn: Đề xuất thuật toán mã hóa văn bản có độ bảo mật cao
Luận văn: Đề xuất thuật toán mã hóa văn bản có độ bảo mật cao
 
Luận văn: Thuật toán mã hóa văn bản có độ bảo mật cao, HOT
Luận văn: Thuật toán mã hóa văn bản có độ bảo mật cao, HOTLuận văn: Thuật toán mã hóa văn bản có độ bảo mật cao, HOT
Luận văn: Thuật toán mã hóa văn bản có độ bảo mật cao, HOT
 
Vai Trò Của Nhân Viên Công Tác Xã Hội Trong Việc Hỗ Trợ Người Khuyết Tật Sống...
Vai Trò Của Nhân Viên Công Tác Xã Hội Trong Việc Hỗ Trợ Người Khuyết Tật Sống...Vai Trò Của Nhân Viên Công Tác Xã Hội Trong Việc Hỗ Trợ Người Khuyết Tật Sống...
Vai Trò Của Nhân Viên Công Tác Xã Hội Trong Việc Hỗ Trợ Người Khuyết Tật Sống...
 
Luận văn thạc sĩ - Đặc điểm dân số, dân tộc nước công hòa dân chủ nhân dân Là...
Luận văn thạc sĩ - Đặc điểm dân số, dân tộc nước công hòa dân chủ nhân dân Là...Luận văn thạc sĩ - Đặc điểm dân số, dân tộc nước công hòa dân chủ nhân dân Là...
Luận văn thạc sĩ - Đặc điểm dân số, dân tộc nước công hòa dân chủ nhân dân Là...
 
bctntlvn (109).pdf
bctntlvn (109).pdfbctntlvn (109).pdf
bctntlvn (109).pdf
 
Luận văn: Logic mô tả và ứng dụng trong cơ sở dữ liệu, hAY
Luận văn: Logic mô tả và ứng dụng trong cơ sở dữ liệu, hAYLuận văn: Logic mô tả và ứng dụng trong cơ sở dữ liệu, hAY
Luận văn: Logic mô tả và ứng dụng trong cơ sở dữ liệu, hAY
 
Luận văn: Mô hình đảm bảo an toàn truyền tin dựa trên chữ ký số
Luận văn: Mô hình đảm bảo an toàn truyền tin dựa trên chữ ký sốLuận văn: Mô hình đảm bảo an toàn truyền tin dựa trên chữ ký số
Luận văn: Mô hình đảm bảo an toàn truyền tin dựa trên chữ ký số
 
Luận văn: Nhận dạng mặt người trên matlab, HAY, 9Đ
Luận văn: Nhận dạng mặt người trên matlab, HAY, 9ĐLuận văn: Nhận dạng mặt người trên matlab, HAY, 9Đ
Luận văn: Nhận dạng mặt người trên matlab, HAY, 9Đ
 
Bài giảng mật mã học cơ sở PTIT
Bài giảng mật mã học cơ sở PTITBài giảng mật mã học cơ sở PTIT
Bài giảng mật mã học cơ sở PTIT
 
49899816 giao-trinh-xu-ly-anh
49899816 giao-trinh-xu-ly-anh49899816 giao-trinh-xu-ly-anh
49899816 giao-trinh-xu-ly-anh
 
Cá nhân hóa ứng dụng và dịch vụ di động hướng ngữ cảnh người dùng.pdf
Cá nhân hóa ứng dụng và dịch vụ di động hướng ngữ cảnh người dùng.pdfCá nhân hóa ứng dụng và dịch vụ di động hướng ngữ cảnh người dùng.pdf
Cá nhân hóa ứng dụng và dịch vụ di động hướng ngữ cảnh người dùng.pdf
 
Ứng dụng và dịch vụ di động hướng ngữ cảnh người dùng, HAY
Ứng dụng và dịch vụ di động hướng ngữ cảnh người dùng, HAYỨng dụng và dịch vụ di động hướng ngữ cảnh người dùng, HAY
Ứng dụng và dịch vụ di động hướng ngữ cảnh người dùng, HAY
 
Đề tài: Tra cứu ảnh dựa trên nội dung với phản hồi liên quan, HAY
Đề tài: Tra cứu ảnh dựa trên nội dung với phản hồi liên quan, HAYĐề tài: Tra cứu ảnh dựa trên nội dung với phản hồi liên quan, HAY
Đề tài: Tra cứu ảnh dựa trên nội dung với phản hồi liên quan, HAY
 
Hệ thống xử lý tín hiệu điện não tự động phát hiện gai động kinh.pdf
Hệ thống xử lý tín hiệu điện não tự động phát hiện gai động kinh.pdfHệ thống xử lý tín hiệu điện não tự động phát hiện gai động kinh.pdf
Hệ thống xử lý tín hiệu điện não tự động phát hiện gai động kinh.pdf
 

Phát hiện ảnh giấu tin dùng lsb bằng pp po v

  • 1. 1 MỤC LỤC Mục lục........................................................................................................................ 1 Danh mục các kí hiệu, các từ viết tắt ................................................................... 3 Danh mục các hình vẽ.............................................................................................. 4 Lời nói đầu ................................................................................................................. 5 Chương 1:Tổng quan về ẩn mã và phân tích ẩn mã ........................................ 7 1.1. Giới thiệu chung về ẩn mã ............................................................................. 7 1.1.1. Lịch sử phát triển của ẩn mã................................................................... 7 1.1.2. Mô hình hệ thống ẩn mã.......................................................................... 9 1.1.3. Ẩn mã trong ảnh số hóa.........................................................................11 1.1.3.1. Giới thiệu chung về ẩn mã trong ảnh số......................................11 1.1.3.2. Những đặc trưng và tính chất của ẩn mã trong ảnh ...................12 1.1.3.3. Các kĩ thuật ẩn mã trong ảnh số....................................................13 1.1.4. Một số ứng dụng của ẩn mã trong thực tế...........................................15 1.2. Phân tích ẩn mã .............................................................................................16 1.2.1. Giới thiệu phân tích ẩn mã ....................................................................16 1.2.2. Bài toán phân tích ẩn mã .......................................................................18 1.2.3. Một số phương pháp phân tích ẩn mã..................................................19 1.2.3.1. Phân tích trực quan.........................................................................19 1.2.3.2. Phân tích thống kê ..........................................................................21 Chương 2: Nghiên cứu phương pháp phát hiện ảnh có giấu tin dùng LSB bằng phương pháp phân tích cặp giá trị...........................................................22 2.1. Kĩ thuật ẩn mã trên LSB...............................................................................22 2.1.1. Khái niệm bit có ít ý nghĩa nhất............................................................22 2.1.2. Thuật toán ẩn một chuỗi thông tin mật trên LSB ...............................23 2.1.2.1. Ý tưởng thuật toán..........................................................................23 2.1.2.2.Thuật toán ẩn tin mật.......................................................................23 2.1.3. Thuật toán ẩn thông tin mật theo tỉ lệ trên LSB .................................24 2.1.3.1. Ý tưởng thuật toán..........................................................................24 2.1.3.2. Thuật toán giấu..............................................................................24
  • 2. 2 2.2. Phương pháp phân tích cặp giá trị...............................................................25 2.2.1. Cơ sở toán học ........................................................................................25 2.2.1.1. Một số kiến thức về toán xác suất thống kê................................25 2.2.1.2. Phân phối khi bình phương ...........................................................26 2.2.2. Khái niệm cặp giá trị..............................................................................27 2.2.3. Thuật toán PoV3 .....................................................................................27 Chương 3: Cài đặt thử nghiệm............................................................................30 3.1. Môi trường cài đặt.........................................................................................30 3.2. Giao diện của chương trình..........................................................................30 3.3. Đánh giá, phân tích kết quả thực nghiệm...................................................33 3.3.1. Tập ảnh thực nghiệm .............................................................................33 3.3.2. Kết quả thực nghiệm và đánh giá.........................................................35 3.4. Chống lại phương pháp phân tích cặp giá trị.............................................53 Kết luận.....................................................................................................................56 Tài liệu tham khảo..................................................................................................57 Phụ lục.......................................................................................................................58
  • 3. 3 DANH MỤC CÁC KÝ HIỆU CÁC TỪ VIẾT TẮT SST Từ viết tắt Tên đầy đủ Ý nghĩa 1 LSB Least Significant Bit Bít có ít ý nghĩa nhất 2 RGB Red Green Blue Cơ chế hệ màu cộng 3 POV Pairs of Values Cặp giá trị
  • 4. 4 DANH MỤC CÁC HÌNH VẼ Trang Hình 1 Mô hình cơ bản của kỹ thuật ẩn mã 9 Hình 2 Mỗi điểm ảnh biểu diễn bởi 8 bit, bit cuối cùng được coi là bit có ít ý nghĩa nhất 23
  • 5. 5 LỜI NÓI ĐẦU Steganography (ẩn mã) là kỹ thuật ẩn 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 bùng nổ, con người cũng “số hóa” trong lĩnh vực đó phục vụ cho cuộc sống hiện đại. Về nguyên lý, ẩn mã trong dữ liệu đa phương tiện hay trong dữ liệu ảnh số không khác gì nhiều, nhưng do ẩn mã trong ảnh dễ thực hiện hơn, ẩn được nhiều thông tin hơn và cũng là đối tượng số được sử dụng khá phổ biến trên internet hiện nay, nên kỹ thuật ẩn mã trong ảnh chiếm tỉ lệ nhiều nhất trong các loại dữ liệu đa phương tiện. Thông tin có thể được ẩn mã trên miền không gian hoặc trên miền biến đổi như biến đổi tần số (cosine, wavelet, fourier rời rạc) hay biến đổi sai phân (difference image). Kỹ thuật ẩn mã trong ảnh đa số là phương pháp giấu trên bít có ít ý nghĩa nhất - LSB (Least Significant Bit) của điểm ảnh hoặc của các hệ số biến đổi (biến đổi cosine rời rạc, wavelet rời rạc, sai phân – image diferrence,..). Ngoài ra còn có một số phương pháp giấu khác theo cách thức có sự thay đổi nhỏ trên ảnh theo hình thức chèn nhiễu SS(Spread Spectrum), điều chỉnh hệ số lượng tử QIM (Quantization index modulation)… Giống như trong mật mã, thám mã là kỹ thuật đối lập nhưng song song tồn tại và phát triển cùng với sự phát triển của mật mã, nhằm giải mã các “bản mã” thu được để hiểu rõ nội dung ban đầu của bản mã, thì phát hiện ảnh có ẩn mã hay còn được gọi là phân tích ẩn mã là kỹ thuật đối lập với ẩn mã trong ảnh, nhằm dò tìm ảnh số nào đó có ẩn mã hay không. Việc nghiên cứu phân tích ẩn mã ngoài ý nghĩa khoa học còn có hai ý nghĩa thực tiễn, đó là : Thứ nhất, nhằm phục vụ đắc lực cho lĩnh vực an toàn thông tin. Thứ hai, nhằm nâng cấp và thúc đẩy sự phát triển của kỹ thuật ẩn mã trong ảnh. Hiện nay các kỹ thuật ẩn mã ra đời sau càng ngày càng tinh xảo hơn đòi hỏi các nhà phân tích ẩn mã không ngừng tìm ra phương pháp phát hiện phù hợp bắt kịp với xu hướng phát triển của kỹ thuật ẩn mã. Và phương pháp phân tích cặp giá trị để phát hiện ảnh có tin giấu là một trong những phương pháp được cho là đáng tin cậy và chính xác đối với các ảnh được nhúng bằng phương pháp lật bit LSB. Chính vì vậy mà nhóm đã chọn đề tài “Nghiên cứu phương pháp phát
  • 6. 6 hiện ảnh có giấu tin dùng LSB bằng phương pháp phân tích cặp giá trị ” để nghiên cứu. Mục tiêu của đề tài: - Tìm hiểu về phương pháp phân tích cặp giá trị để phát hiện ảnh có giấu tin dùng kĩ thuật LSB. - Áp dụng phương pháp phân tích cặp giá trị xây dựng chương trình demo phát hiện ảnh có giấu tin trong file ảnh và đưa ra những đánh giá kết quả thực nghiệm. Do còn hạn chế nhiều về tài liệu, thời gian, kiến thức và kinh nghiệm thực tế nên đề tài của nhóm không tránh khỏi những thiếu sót và khuyết điểm. Nhóm thực hiện đề tài rất mong nhận được sự đánh giá, nhận xét của các Thầy, các Cô và sự góp ý của các bạn sinh viên để giúp đề tài này được hoàn thiện hơn, từ đó nhóm chúng em có thể rút kinh nghiệm trong nghiên cứu và công việc sau này. Nhóm chúng em xin chân thành cảm ơn!
  • 7. 7 Chương 1: TỔNG QUAN VỀ ẨN MÃ VÀ PHÂN TÍCH ẨN MÃ 1.1. GIỚI THIỆU CHUNG VỀ ẨN MÃ 1.1.1. Lịch sử phát triển của ẩn mã Vào năm 1499, thuật ngữ Steganography (ẩn mã) được sử dụng lần đầu tiên bởi linh mục Johannes Trithemius (1462-1516) trong một luận thuyết về mật mã của ông. Vị linh mục này, sau cuộc gặp với một sư phụ bí ẩn, đã được truyền đạt những kiến thức về khoa học huyền bí, và sau đó viết cuốn sách mang tên “STEGANOGRAPHIA” với lời mở đầu như sau: “Trong cuốn sách của mình, tôi kể về những phương thức mà tôi có thể, bằng cách chuẩn xác và chắc chắn truyền đạt ý mình cho bất cứ ai giác ngộ được môn phái của tôi, dù có ở cách xa tôi đến mấy, kể cả tới trăm dặm. Và trong quá trình đó, sẽ không ai thấy tôi sử dụng bất cứ một dấu hiệu, tín hiệu hay con chữ nào. Và nếu như tôi có sử dụng một người tùy tùng, và người tùy tùng đó có bị bắt giữa đường thì không một khẩn cầu, đe dọa, hứa hẹn hay thậm chí cả đòn tra tấn, cũng không thể bắt người tùy tùng đó tiết lộ bí mật, vì anh ta không hề biết gì về nó…”. Nhà giả kim thuật người Anh George Ripley sau khi nghiên cứu kỹ lưỡng các công trình của Trithemius đã để lại lời bình luận đầy hoảng hốt như sau: “Van xin những người biết công trình này, đừng in nó ra!”. Năm 1616, cuốn sách này bị thiêu hủy và hiện nay chỉ còn lại một bản thuật lại nội dung ghi năm 1621, đang được lưu giữ tại thư viện Quốc gia Đức ở Berlin. Tuy nhiên, ý tưởng về việc che giấu thông tin đã có từ hàng nghìn năm về trước. Có nhiều câu chuyện lịch sử xoay quanh kỹ thuật ẩn mã được lưu truyền, nhưng có lẽ những ghi chép sớm nhất về kỹ thuật ẩn mã thuộc về sử gia Hy Lạp Herodotus, khi ông ghi chép lại câu chuyện về nhà quý tộc Hy Lạp Histaeus. Histaeus sau khi bị vua Darius bắt giữ ở Susa vào thế kỷ thứ 5 trước Công Nguyên, ông ta đã gửi một thông điệp bí mật cho con rể của mình là Aristagoras ở Miletus, bằng cách cạo trọc đầu của một nô lệ tin cậy và xăm thông điệp lên da đầu của người nô lệ ấy. Khi tóc của người nô lệ đủ dài thì người đó sẽ được gửi tới Miletus.
  • 8. 8 Ẩn mã tiếp tục phát triển trong suốt thế kỷ 15 và 16. Bishop John Wilkins, sau đó là thạc sỹ của trường đại học Trinity, Cambridge, đã viết một luận án về ẩn mã. Ông phát minh ra một số các phân loại từ các thông điệp mã hóa trong âm nhạc, mô tả các nguyên lý của mật mã trên các lá thư liên tục và tranh cãi chống lại những ai phản đối việc phát hành các quyển sách trên lĩnh vực này. Với kỷ nguyên của máy tính, ẩn mã trở nên có giá trị phi thường. Sự bùng nổ của các kỹ thuật ẩn mã trên các đối tượng dữ liệu số đã hiện diện trong những năm gần đây. Ngày nay, kỹ thuật ẩn mã được hiểu là một kỹ thuật giấu 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ằm mục đích bảo vệ thông tin trong các lĩnh vực khác nhau của đời sống.
  • 9. 9 1.1.2. Mô hình hệ thống ẩn mã Hiện nay có rất nhiều khía cạnh và ứng dụng được phát triển từ khái niệm ẩn mã nhưng hầu hết chúng đều dựa trên một mô hình, một nguyên lý cơ bản chung như sau: Alice muốn chia sẻ một thông điệp bí mật (Secret Message) với Bob, bằng cách chọn ngẫu nhiên một thông điệp bao phủ (Cover Message hay môi trường ẩn tin) có thể là ảnh, văn bản, audio… Alice nhúng thông điệp bí mật vào môi trường ẩn tin, kết hợp với khóa bí mật (Secret Key) sẽ thu được thông điệp mang tin mật (Stego Message) để truyền cho Bob nhằm tránh sự nghi ngờ của bên thứ ba. Điều này cần được thực hiện hết sức cẩn thận, để chắc chắn rằng bên thứ ba Wendy chỉ biết thông điệp chứa tin mật là vô hại và không thể phát hiện ra thông điệp bí mật được chứa trong đó. Hình 1. Mô hình cơ bản của kỹ thuật ẩn mã Tuy vậy, trong thực tế không phải dữ liệu nào cũng có thể được sử dụng làm vật phủ trong truyền tin mật, bởi vì sự thay đổi thực hiện trong quá trình ẩn mã phải được coi là không nhìn thấy đối với những người không liên quan đến quá trình truyền thông. Điều này đòi hỏi vật phủ phải có một lượng dữ liệu dư
  • 10. 10 thừa đủ để giấu thông tin mật, hay nói cách khác là đủ để thay thế được thông tin mật. Nếu một người tấn công truy nhập được vào hai “phiên bản” của một vật phủ thì sẽ dễ dàng phát hiện sự có mặt của thông tin mật và thậm chí có thể xây dựng lại được những thông tin đó. Vì vậy, một vật phủ không nên được sử dụng hai lần. Do đó, để tránh việc sử dụng lại, cả người gửi và người nhận phải huỷ bỏ các vật phủ đã được sử dụng trong quá trình truyền tin. Trong quá trình ẩn mã, để làm tăng tính bảo mật của thông điệp cần giấu, có thể dùng nhiều phương pháp khác nhau. Tuy nhiên, về cơ bản thì có hai loại giao thức ẩn mã học, đó là ẩn mã thuần tuý và ẩn mã có xử lý.
  • 11. 11 1.1.3. Ẩn mã trong ảnh số hóa 1.1.3.1. Giới thiệu chung về ẩn mã trong ảnh số Hiện nay, ẩn mã trong ảnh chiếm tỉ lệ lớn nhất trong hệ thống ẩn mã. Bởi lẽ lượng thông tin được trao đổi bằng hình ảnh là rất lớn. Từ việc nghiên cứu kỹ thuật ẩn mã trong ảnh số chuyển sang kỹ thuật ẩn mã trong các phương tiện khác như: audio, video, trong văn bản,… không có gì khó khăn về nguyên tắc. Chính vì lẽ đó, ẩn mã trong ảnh đã và đang được nhiều tổ chức, các trường đại học, các viện nghiên cứu, các cá nhân quan tâm và đầu tư nghiên cứu. Thông tin được ẩn vào dữ liệu ảnh, nhưng chất lượng ảnh rất ít thay đổi và người ta khó có thể nhận thấy bằng mắt thường. Sau vụ khủng bố ngày 11 tháng 9 năm 2001 gây chấn động không chỉ nước Mĩ mà cả thế giới, có một số nhận định cho rằng chính trùm khủng bố quốc tế Osama Binladen đã dùng cách thức ẩn thông tin trong ảnh để liên lạc với đồng bọn và chúng đã qua mặt được cục tình báo trung ương Mĩ và các cơ quan an ninh quốc tế. Sự việc này cho thấy việc nghiên cứu các vấn đề liên quan đến ẩn mã trong ảnh càng trở nên quan trọng.
  • 12. 12 1.1.3.2. Những đặc trưng và tính chất của ẩn mã trong ảnh Ẩn mã trong ảnh chiếm vị trí chủ yếu trong các kỹ thuật ẩn mã. Đối tượng ảnh là một đối tượng dữ liệu tĩnh. Dữ liệu ảnh có nhiều định dạng, mỗi định dạng có những tính chất khác nhau, nên kỹ thuật ẩn mã trong ảnh thường chú ý đến những đặc trưng và các tính chất cơ bản sau đây:  Phương tiện chứa có dữ liệu tri giác tĩnh: Dữ liệu gốc ở đây là dữ liệu ảnh tĩnh, dù đã ẩn mã 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. Điều này cũng tạo ra sự khác biệt lớn giữa kỹ thuật ẩn mã trong ảnh với kỹ thuật ẩn mã trong audio hay video.  Kỹ thuật ẩn phụ thuộc vào loại ảnh: Kỹ thuật ẩn phụ thuộc vào các loại ảnh khác nhau. Đối với ảnh đen trắng, ảnh xám hay ảnh màu, mỗi loại ta có các kỹ thuật riêng phụ thuộc đặc trưng của ảnh.  Kỹ thuật ẩn mã lợi dụng tính chất hệ thống thị giác của con người Ẩn mã 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 ẩn mã phải đảm bao một yêu cầu cơ bản là những thay đổi trên ảnh phải rất nhỏ sao cho mắt thường khó nhận ra được sự thay đổi đó, để đảm bảo độ an toàn cho thông tin ẩn. Rất nhiều kỹ thuật đã lợi dụng các tính chất của hệ thống thị giác để ẩn mã chẳng hạn như mắt người cảm nhận sự biến đổi về độ chói kém hơn sự biến đổi về màu hay cảm nhận của mắt về màu da trời là kém nhất trong ba màu cơ bản RGB(Red-Green-Blue).  Ẩn mã trong ảnh tác động lên dữ liệu ảnh nhưng không thay đổi kích thước ảnh. Các thuật toán ẩn mã sẽ được thực hiện trên dữ liệu của ảnh. Dữ liệu ảnh bao gồm cả phần đầu, bảng màu(có thể có hoặc không) và dữ liệu ảnh. Khi ẩn mã, các phương pháp ẩn đều biến đổi các giá trị của các bít 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 không thay đổi.  Đảm bảo chất lượng ảnh sau khi ẩn Đây là yêu cầu quan trong đối với ẩn mã trong ảnh. Sau khi ẩn mã bên trong, ảnh phải đảm bảo không bị biến đổi. Yêu cầu này dường như khá đơn
  • 13. 13 giản đối với ảnh màu và ảnh đa cấp xám nhưng đối với ảnh đen trắng thì phức tạp hơn nhiều. Bởi vì ảnh trắng đen mỗi điểm ảnh chỉ là đen hoặc trắng, nếu ta biến đổi một bít đen thành trắng hoặc ngược lại thì có thể rất dễ bị phát hiện. Do đó yêu cầu đối với ẩn mã trong ảnh màu hay ảnh đa cấp xám và trong ảnh đen trắng là khác nhau. Với ảnh màu thì thuật toán chú trọng vào việc làm sao ẩn được càng nhiều thông tin càng tối, với ảnh đen trắng thuật toán tập trung để làm thế nào thông tin ẩn khó bị phát hiện nhất.  Thông tin trong ảnh sẽ bị biến đổi nếu có bất cứ biến đổi trên ảnh Vì phương pháp ẩn mã trong ảnh dựa trên việc điều chỉnh các giá trị của các bít theo một quy tắc nào đó, và khi tách tin sẽ theo các giá trị đó để tìm được thông tin ẩn. Theo đó, nếu một phép biến đổi nào đó trên ảnh làm thay đổi giá trị các bít thì sẽ làm cho thông tin ẩn bị sai lệch. Nhờ đặc điểm này, ẩn mã trong ảnh có thể xác thực và phát hiện xuyên tạc thông tin.  Vai trò của ảnh gốc khi giải mã Kỹ thuật ẩn mã phải xác định rõ ràng quá trình lọc ảnh để lấy tin ẩn có cần đến ảnh gốc hay không? Đa số các kỹ thuật ẩn mã mật thường không cần ảnh gốc khi tách tin. Thông tin được ẩn trong ảnh sẽ được mang cùng với dữ liệu ảnh, khi tách tin chỉ cần ảnh đã mang thông tin ẩn mà không cần dùng ảnh gốc để so sánh, đối chiếu. 1.1.3.3. Các kĩ thuật ẩn mã trong ảnh số a) Kĩ thuật ẩn mã trên miền không gian ảnh Miền không gian ảnh là miền dữ liệu 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 ẩn mã trong ảnh người ta thường nghĩ ngay đến việc thay đổi giá trị các điểm ảnh nguồn. Một phương pháp phổ biến của kỹ thuật ẩn mã trên miền không gian ảnh là phương pháp tác động lên bít ít quan trọng nhất của mỗi điểm ảnh. Ý tưởng cơ bản của phương pháp tác động đến bít có ít ý nghĩa nhất- LSB của các điểm ảnh là chọn ra từ mỗi điểm ảnh các bít có ý nghĩa ít nhất về mặt tri giác để có thể sử dụng cho việc ẩn mã. Việc bít nào được coi là ít tri giác nhất và bao nhiêu bít 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
  • 14. 14 ứng dụng. Ví dụ với ảnh mầu, mỗi điểm ảnh được biễu diễn bằng 24 bít tương ứng với ba màu cơ bản RGB, mỗi màu 1 byte. Người ta sử dụng tính chất là mắt người cảm nhận 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 bít cuối cùng trong 8 bít biểu diễn màu B của mỗi điểm ảnh để ẩn mã. Thay đổi bít cuối cùng trong 8 bít biểu diễn màu B chỉ làm cho giá trị biểu diễn màu B tăng hoặc giảm đi 1 đơn vị. Như vậy, bít LSB trong ví dụ này là bít thứ 24 của mỗi điểm ảnh. Một số thuật toán muốn giấu nhiều thông tin hơn và chấp nhận chất lượng ảnh thấp hơn một chút có thể sử dụng bít cuối cùng của mỗi byte màu RGB làm bít LSB. Vậy có 3 bít LSB. Tuy nhiên, phương pháp này cũng có nhiều hạn chế, chẳng hạn như không đảm bảo được tính bền vững của thông tin giấu đối với các thao tác biến đổi như quay ảnh hoặc nén ảnh JPEG. b) Kĩ thuật ẩn mã trên miền tần số 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 rời rạc (Discrete Fourier Transform), biến đổi Cosin rời rạc (Discrete Cosin Transform), biến đổi sóng nhỏ (Discrete Waves Transform)… Đây là những phép biến đổi được sử dụng nhiều trong các kỹ thuật xử ảnh.
  • 15. 15 1.1.4. Một số ứng dụng của ẩn mã trong thực tế Ngày nay, do sự bùng nổ của cuộc cách mạng trong lĩnh vực tin học – điện tử - viễn thông mà đại diện cho nó là mạng internet, cùng với sự phát triển vượt bậc của bộ môn xử lý tín hiệu số, các kỹ thuật ẩn mã được hồi sinh trở lại và ngày càng đa dạng hơn, đặc biệt là với kỹ thuật dùng các vật chứa là các tệp hình ảnh và âm thanh. Chúng có hai đặc điểm đáng lưu ý đó là các hình ảnh và âm thanh số hóa có thể biến đổi mà không làm mất đặc tính của chúng và con người không có khả năng phân biệt những thay đổi nhỏ về màu sắc hay chất lượng âm thanh. Sự che giấu thông tin không chỉ ở trong các thiết bị đa phương tiện số như các tệp văn bản, hình ảnh, âm thanh mà còn ở việc sử dụng các kênh liên lạc hoặc nhiều phương tiện khác như sử dụng các header trên mỗi gói dữ liệu trong giao thức TCP/IP hoặc dùng ổ cứng trong một phân đoạn mật… Tóm lại, với sự hoàn hảo của các tiện ích đa phương tiện số và những tiến bộ của công nghệ, kỹ thuật này ngày càng phát triển nhanh chóng và được ứng dụng khắp nơi. Trong lĩnh vực an toàn, nó được kết hợp với các phương pháp mật mã để có thể chuyển các thông báo mật đi dưới một bức tranh, một bản nhạc vô hại, nhờ thế làm tăng thêm vòng bảo mật của chúng. Ngoài ra, ẩn mã cũng bị lợi dụng cho những mục đích không tốt. Những kẻ xấu đang phát triển các phương pháp tấn công máy tính dùng ẩn mã để che giấu sự có mặt của mã ác ý. Đôi khi chúng còn được phát triển trong các giao thức, nơi có thể lợi dụng các “con ngựa thành tơroa” để giải các thông báo ẩn nằm trú bên trong các kênh liên lạc định tuyến. Khi đó, thông báo có thể không bị phát hiện và điều này trở nên nguy hiểm.
  • 16. 16 1.2. PHÂN TÍCH ẨN MÃ 1.2.1. Giới thiệu phân tích ẩn mã Phân tích ẩn mã (Steganalysis) là kỹ thuật phát hiện sự tồn tại của thông tin ẩn trong nguồn đa phương tiện. Giống như thám mã, mục đích của phân tích ẩn mã là phát hiện ra ảnh có mang thông tin mật và phá vỡ tính bí mật của vật mang tin ẩn. Mục đích của phân tích ẩn mã là để phân loại một ảnh số bất kỳ có phải là ảnh là ảnh gốc (cover image) hay ảnh có giấu tin (stego image) hay không, để từ đó có thể đưa ra bước xử lý tiếp theo. Phân tích ẩn mã rất quan trọng đối với an ninh quốc tế, nó được quan tâm nhiều khi các tổ chức khủng bố sử dụng kỹ thuật ẩn mã để giao tiếp với nhau. Trong thực tế phân tích ẩn mã được thực hiện một cách nghiêm túc nên người ta tin rằng chính phủ Hoa Kỳ, bao gồm cả NSA và bộ quốc phòng Mĩ tài trợ cho việc nghiên cứu và phát triển phân tích ẩn mã. Nếu một tập tin được coi là có chứa thông điệp bí mật sau đấy sẽ được sửa đổi lúc đấy sự toàn vẹn của thông điệp bị mất đi. Điều này có nghĩa Bob sẽ không thể hiểu Alice gửi cho anh ấy khi anh ấy cố gắng giải mã nó. Một giải pháp an toàn hơn đó là việc xóa bỏ sao cho nó không bao giờ đến được người nhận. Phân tích ẩn mã được xem là một khoa học đặc biệt khó khăn, vì nó dựa trên ẩn mã không an toàn. Nếu muốn ẩn mã thành công, thì phải làm sao cho thông điệp bí mật tồn tại không để lại dấu hiệu gì. Vì vậy, nếu mô hình này được tạo ra thành công, thì nó phải là một nhiệm vụ khó khăn cho bất kỳ bên thứ ba để phát hiện sự can thiệp đã xảy ra. Jessica Fridrich cho thấy “khả năng phát hiện tin nhắn bí mật trong ảnh là liên quan đến độ dài tin nhắn”. Và Phân tích ẩn mã thường dựa vào các yếu tố sau:
  • 17. 17  Phân tích dựa và các đối tượng đã mang tin.  Phân tích bằng so sánh đặc trưng: so sánh vật mang tin chưa được ẩn tin với vật mang tin đã được ẩn, đưa ra sự khác biệt giữa chúng.  Phân tích dựa vào thông điệp cần ẩn để dò tìm.  Phân tích dựa vào các thuật toán ẩn tin và các đối tượng ẩn tin đã biết.  Phân tích dựa vào thuật toán ẩn tin, đối tượng gốc và đối tượng sau khi ẩn tin. Việc nghiên cứu phân tích ẩn tin ngoài ý nghĩa khoa học còn có hai ý nghĩa thực tiễn đó là : thứ nhất, nhằm phục vụ đắc lực cho lĩnh vực an toàn thông tin, thứ hai đó là nhằm nâng cao và thúc đẩy sự phát triển của kỹ thuật giấu tin trong ảnh. Với hai mục đích nêu trên hướng đến việc xây dựng thuật toán phát hiện mù (blind steganalysis) cho ảnh có giấu tin sử dụng kỹ thuật giấu bất kỳ, và dựa vào kỹ thuật giấu tin đã biết để có thể xây dựng được thật toán phát hiện phù hợp (phát hiện ràng buộc – constraint steganalysis).
  • 18. 18 1.2.2. Bài toán phân tích ẩn mã Phân tích ẩn mã hay còn gọi là tấn công một hệ ẩn tin là phương pháp để phát hiện, trích rút, phá hủy hay sửa đổi thông tin đã ẩn. Việc phân tích được coi là thành công hay không còn tùy theo ứng dụng. Đối với việc liên lạc bí mật, việc phát hiện và chứng minh một hình ảnh có chứa tin mật được coi là thành công. Nếu ta có ít kiến thức về các thuật toán ẩn mã mật cũng như các tham số khác thì có hai vấn đề cần giải quyết đó là : thứ nhất, phát hiện thông tin ẩn tiềm tàng trong các dữ liệu quan sát. Thứ hai là lấy ra thông điệp ẩn đã giấu trong dữ liệu được quan sát. Cũng có khi bài toán đặt ra phải giải quyết cả hai công việc trên. Các kỹ thuật phân tích ẩn mã mật hiện tại tập trung vào việc phát hiện ra sự có mặt hay không các thông điệp ẩn trong dữ liệu (ảnh) được quan sát. Bài toán trích chọn ra các thông điệp bí mật là bài toán khó hơn bài toán phát hiện, nhưng bài toán phát hiện làm tiên đề cho việc trích chọn. Như vậy, có thể xác định hai mục tiêu rõ ràng của bài toán phân tích trên hệ ẩn mã tin mật là:  Phân tích ẩn mã bị động (Passive Steganalysis): phát hiện sự hiện diện hay không của thông điệp bí mật trong các dữ liệu được quan sát.  Phân tích ẩn mã chủ động (Active Steganalysis): trích chọn(có thể xấp xỉ) một phiên bản của thông điệp bí mật từ một phương tiện chứa tin.
  • 19. 19 1.2.3. Một số phương pháp phân tích ẩn mã 1.2.3.1. Phân tích trực quan Tấn công trực quan được coi là một dạng tấn công khá đơn giản trong việc phát hiện thông tin che giấu. Kẻ tấn công sẽ kiểm tra các tập tin bằng mắt thường để xác định sự thay đổi. Nguyên tắc đầu tiên của việc ẩn mã chính là bất kỳ sự thay đổi nào được thực hiện trên tập tin sẽ không làm suy giảm chất lượng của nó, do vậy, thực hiện ẩn mã tốt sẽ tạo ra một vật chứa thông tin mật mà không tạo ra sự nghi ngờ, ít nhất là khi nhìn trực quan. Tuy nhiên, khi chúng ta bỏ qua những phần có thể sẽ không bị thay đổi bởi việc nhúng thông tin mật trong đó, mà chỉ tập trung vào những phần có khả năng bị nhúng, chúng ta có thể sẽ phát hiện được những dấu hiệu có sự thao tác ẩn tin ở đây. Do vậy, một cuộc tấn công trực quan là thành công nếu nó xác định được một cách chính xác các tính năng của hình ảnh có thể được bỏ qua (dữ liệu dư thừa), và các tính năng cần được xem xét (dữ liệu thử nghiệm) để kiểm nghiệm cho giả thuyết: một bức ảnh bị nghi ngờ có chứa thông tin mật. a) Tấn công trực quan dựa trên việc ẩn và tìm kiếm tuần tự Thuật toán Hide & Seek được thực hiện bằng cách thay thế các bít có ít ý nghĩa nhất (LSB) thành các bit của thông điệp mật cho đến khi tập tin được nhúng xong. Khi thực hiện một cuộc tấn công trực quan để xác định tồn tại hay không một hình ảnh bị nghi ngờ là có nhúng tin mật, các kẻ tấn công sẽ tìm cách để có được một sự khác biệt trực quan cho k điểm ảnh đầu tiên với k là độ dài của tin nhắn. Sẽ không có giá trị chính xác của k cho đến khi các cuộc tấn công trực quan được thực hiện thành công và phát hiện có dấu hiệu nhúng tin.
  • 20. 20 b) Tấn công trực quan dựa trên việc ẩn và tìm kiếm ngẫu nhiên So với việc giấu và tìm kiếm tuần tự thì sẽ khó khăn hơn rất nhiều để thực hiện một cuộc tấn công trực quan khi một hình ảnh được tạo ra bằng cách nhúng thông điệp mật vào các vị trí ngẫu nhiên của các LSB. Nếu như trong trường hợp nhúng tuần tự, chúng ta có thể nhìn thấy một dòng bit chồng chéo lên nhau trên một mặt phẳng bít, thì trong trường hợp nhúng không ngẫu nhiên, các bít lại tách ra và rải rác trên hình ảnh. Do vậy, khi chúng ta nhìn vào mặt phẳng LSB, sẽ có nhiều khó khăn hơn để xác định các khu vực đã bị thay đổi do kết quả của việc nhúng thông tin (đặc biệt nếu như thông điệp nhúng là rất ngắn). Các cuộc tấn công trực quan dựa trên việc nhúng ngẫu nhiên khác và phức tạp hơn việc nhúng tuần tự, trong đó phương pháp tiếp cận dựa trên việc phân tích thông tin che giấu sẽ có quyền truy cập vào hình ảnh trung thực để chứng minh cuộc tấn công thành công. Khi hình ảnh ban đầu được rõ ràng, việc phân tích thông tin che giấu có thể có được vùng LSB ban đầu cũng như vùng LSB bị nghi ngờ, sau đó tính toán sự khác biệt giữa chúng bằng cách loại bỏ những phần giống nhau, từ đó sẽ xem được khu vực đại diện cho các giá trị không thay đổi giữa hai hình ảnh và khu vực đại diện cho các giá trị bị thay đổi. Tóm lại, tấn công trực quan có thể được thực hiện bằng nhiều cách dựa trên các đặc tính của hình ảnh. Sự thành công của các cuộc tấn công sẽ thay đổi đáng kể tùy thuộc vào từng thuật toán ẩn mã được sử dụng và định dạng của ảnh. Thực tế rằng, các cuộc tấn công trực quan không tự động, để chứng minh một bức ảnh tồn tại sự nghi ngờ về việc nhúng thông tin, họ cần phải nhìn vào hàng ngàn hình ảnh để có thể xem xét khả năng một hình ảnh duy nhất bị nghi ngờ có ẩn mã. Một cuộc tấn công trực quan thành công không chỉ cho phép kẻ tấn công xác định được sự thay đổi trong một hình ảnh mà nó còn tiết lộ cách mà hệ thống giấu tin hoạt động (tức là nhúng một cách ngẫu nhiên hay tuần tự). Do vậy, có thể kết luận, các cuộc tấn công trực quan là một công cụ hữu ích cho việc phân tích và phát hiện thông tin bị ẩn.
  • 21. 21 1.2.3.2. Phân tích thống kê Trong toán học, nghiên cứu về thống kê có thể xác định được một số hiện tượng xảy ra một cách ngẫu nhiên trong một tập hợp dữ liệu. Thông thường, một lý thuyết sẽ được xây dựng để giải thích nguồn gốc của hiện tượng đó, và phương pháp thống kê có thể được sử dụng để chứng minh giả thuyết này là đúng hay sai. Nếu xem cấu trúc dữ liệu của một hình ảnh, chúng ta có thể kiểm tra cách thống kê như thế nào, từ đó sẽ hữu ích cho việc phân tích thông tin bị giấu nếu hình ảnh đó tồn tại thông điệp ẩn. Một hình ảnh chứa thông điệp mật có thể được chia thành hai tập hợp dữ liệu: dữ liệu hình ảnh và dữ liệu tin nhắn. Các dữ liệu hình ảnh liên quan đến các hình ảnh vật lý mà chúng ta có thể nhìn thấy, thường sẽ liên quan đến giá trị pixel và màu sắc được sử dụng trong hình ảnh. Các dữ liệu tin nhắn liên quan đến thông điệp bí mật và nếu được mã hóa thì chúng được tạo ra ngẫu nhiên hơn dữ liệu hình ảnh, nhưng nó lại dễ bị tấn công bằng hình thức thống kê. Trong khi đó, dữ liệu tin nhắn thường ít hơn so với dữ liệu hình ảnh nên tỷ lệ phần trăm ngẫu nhiên được tạo ra bởi dữ liệu tin nhắn tuy nhỏ nhưng đủ để thực hiện một cuộc tấn công thống kê. Tấn công thống kê có thể được tự động nên nó thường được ưa thích hơn tấn công trực quan và tấn công kết cấu. Điều này sẽ giúp cho kẻ tấn công dễ dàng xác định xem một hình ảnh có giấu thông điệp mật hay không. Một lợi ích khác của tấn công thống kê là không đòi hỏi phải biết ảnh sau khi phủ sẽ như thế nào.Trong khi tấn công cấu trúc sẽ thành công rất lớn thì tấn công thống kê chỉ đơn giản là tạo ra một sự phân tích dựa trên hình ảnh bị nghi ngờ. Tuy nhiên, việc có kiến thức sâu sắc về các thuật toán nhúng khác nhau là rất quan trọng. Nếu kẻ tấn công biết được nhiều công cụ nhúng tin, họ có thể thực hiện một cuộc tấn công thống kê hiệu quả hơn để xác định các biểu hiện trong quá trình nhúng thông tin.
  • 22. 22 Chương 2: NGHIÊN CỨU PHƯƠNG PHÁP PHÁT HIỆN ẢNH CÓ GIẤU TIN DÙNG LSB BẰNG PHƯƠNG PHÁP PHÂN TÍCH CẶP GIÁ TRỊ 2.1. KĨ THUẬT ẨN MÃ TRÊN LSB 2.1.1. Khái niệm bit có ít ý nghĩa nhất Bít có ít ý nghĩa nhất (LSB) là bit có ảnh hưởng ít nhất tới việc quyết định tới màu của mỗi điểm ảnh, vì vậy khi ta thay đổi bít có ít ý nghĩa nhất của một điểm ảnh thì màu của mỗi điểm ảnh mới sẽ tương đối gần với điểm ảnh cũ. Như vậy kỹ thuật tách bit trong xử lý ảnh được sử dụng nhiều nhất trong quy trình ẩn mã. Việc xác định LSB của mỗi điểm ảnh trong một bức ảnh phụ thuộc vào định dạng của ảnh và số bít màu dành cho mỗi điểm ảnh đó. Ví dụ đối với ảnh 16 bit thì 15 bit là biễu diễn 3 màu RGB của điểm ảnh còn bít cuối cùng không dùng đến thì ta sẽ tách bít này ra ở mỗi điểm ảnh để giấu tin, hoặc với ảnh 256 màu thì bít cuối cùng trong 8 bit biễu diễn một điểm ảnh được coi là bít có ít ý nghĩa nhất. Ví dụ: tách bit cuối cùng trong 8 bit biễu diễn mỗi điểm ảnh của 256 màu Hình 2: Mỗi điểm ảnh biểu diễn bởi 8 bit, bit cuối cùng được coi là bit có ít ý nghĩa nhất Trong phép tách này ta coi bit cuối cùng là bít có ít ý nghĩa nhất, thay đổi giá trị của bit này thì sẽ thay đổi giá trị của điểm ảnh lên hoặc xuống đúng một đơn vị, ví dụ như giá trị điểm ảnh là 234 thì khi thay đổi bít cuối cùng nó có thể mang giá trị mới là 235 nếu đổi bít cuối cùng từ 0 thành 1.
  • 23. 23 2.1.2. Thuật toán ẩn một chuỗi thông tin mật trên LSB 2.1.2.1. Ý tưởng thuật toán + Cho thông tin mật nhúng W, W có thể là : Một chuỗi bít thông tin mật (vd: W=[00110101111001]) Một chuỗi các ký tự (vd: W =HPU → phải đổi W sang hệ nhị phân). + Đổi W ra hệ nhị phân, tính độ dài của thông tin mật W sau đó thực hiện thay thế các bit thông tin mật W cần ẩn vào các LSB của ảnh cho đến khi bit thông tin mật cần ẩn không còn nữa thì ngừng. + Ảnh thu được là ảnh có ẩn thông tin vào tất cả các LSB của ảnh lần lượt từ trái qua phải, từ trên xuống dưới. 2.1.2.2.Thuật toán ẩn tin mật Đầu vào: Ảnh gốc và thông tin mật cần nhúng. Đầu ra: Ảnh có giấu tin. Các bước thực hiện : B1: chuyển dữ liệu ảnh sang mảng 2 chiều B2: đổi thông tin mật sang chuỗi nhị phân (bit) B3: thay thế các bit thông tin mật vào các LSB của ảnh đến khi các bit thông tin mật không còn nữa thì ngừng.
  • 24. 24 2.1.3. Thuật toán ẩn thông tin mật theo tỉ lệ trên LSB 2.1.3.1. Ý tưởng thuật toán + Cho tỷ lệ p%(so với kích cỡ của ảnh) thông tin mật cần ẩn, tạo một ma trận ngẫu nhiên các bit nhị phân có kích thước bằng p% ảnh cần ẩn. + Thực hiện thay thế các bit thông tin mật trong ma trận ngẫu nhiên vào các LSB của ảnh cho đến khi bit thông tin mật trong ma trận không còn nữa thì ngừng. + Ảnh thu được là ảnh có giấu p% thông tin của ảnh vào tất cả các LSB của ảnh lần lượt từ trái qua phải, từ trên xuống dưới. 2.1.3.2. Thuật toán giấu Đầu vào : Ảnh gốc và tỷ lệ p% thông tin mật cần nhúng. Đầu ra : Ảnh có ẩn mã Các bước thực hiện: B1: Chuyển dữ liệu ảnh sang mảng 2 chiều M*N B2: Tính kích thước ma trận ngẫu nhiên cần tạo ra: L= p*M*N/100 B3: Tạo một ma trận các bit nhị phân ngẫu nhiên có số hàng M và số cột R= L/M B4: Thay thế lần lượt các bit thông tin mật trong ma trận ngẫu nhiên vào các LSB của ảnh theo quy tắc từ trái sang phải từ trên xuống cho đến khi các bit thông tin mật trong ma trận ngẫu nhiên không còn thì dừng.
  • 25. 25 2.2. PHƯƠNG PHÁP PHÂN TÍCH CẶP GIÁ TRỊ 2.2.1. Cơ sở toán học 2.2.1.1. Một số kiến thức về toán xác suất thống kê a) Biến ngẫu nhiên Biến ngẫu nhiên (bnn) X: là đại lượng nhận các giá trị nào đó phụ thuộc vào các yếu tố ngẫu nhiên (nn). Về mặt hình thức có thể định nghĩa bnn như là một hàm số có giá trị thực xác định trên không gian các sự kiện (sao cho nghịch ảnh của một khoảng số là một sự kiện). Để phân biệt ta kí hiệu: X, Y, … là các bnn còn x, y là giá trị của các bnn đó. X mang tính nn còn x là giá trị cụ thể quan sát được khi phép thử đã tiến hành. Ví dụ: - Gieo 1 con xúc sắc => bnn là “số chấm xuất hiện” => nó phụ thuộc kết cục của phép thử và nhận giá trị nguyên từ 1 ->6 - Bnn “nhiệt độ” của 1 phản ứng hóa học trong 1 khoảng thời gian => nhiệt độ đó nhận giá trị trong 1 khoảng [t, T], trong đó t là nhiệt độ min, T là max của phản ứng trong khoảng thời gian trên. Bnn gồm: bnn rời rạc, bnn liên tục - Bnn rời rạc: tập giá trị là 1 tập hữu hạn hoặc vô hạn đếm được các phần tử. VD: điểm thi của 1 học sinh, số cuộc điện thoại của tổng đài trong 1 đơn vị thời gian,… - Bnn liên tục: tập giá trị của nó lấp đầy 1 khoảng trên trục số, VD: huyết áp của bệnh nhân, tuổi thọ của 1 loại bóng đèn điện tử. b) Hàm phân phối xác suất Hàm phân phối xác suất kí hiệu: F(x) được xác định như sau: Nếu X là bnn rời rạc: Nếu X là bnn liên tục:    ( ) i i x x F x P X x P X x      ( ) ( ) x F x f t dt   
  • 26. 26 Trong đó: f(t) là hàm mật độ c) Phân phối Gamma Đại lượng nn X có phân phối Gamma với các tham số α, p (α, p > 0) nếu hàm mật độ của nó có dạng: Trong đó: 2.2.1.2. Phân phối khi bình phương Phân phối khi bình phương (𝜒2 ) là trường hợp đặc biệt của phân phối Gamma với tham số alpha = ½; p = n/2. Biến ngẫu nhiên (bnn) liên tục X có phân phối “khi bình phương” n bậc tự do, kí hiệu X ~ 𝜒2 nếu hàm mật độ có dạng: 𝑓(x) = { x n 2 −1 2 n 2 .Γ( n 2 ) . e−x/2 nếu x > 0 0 nếu x ≤ 0 Trong đó: Γ( 𝑥) = ∫ 𝑥 𝑥 −1 𝑒−𝑡+∞ 0 𝑑𝑡 là hàm Gamma. Phân phối 𝜒2 do Karl Pearson đưa ra vào năm 1900. Nó được sử dụng phổ biến trong việc kiểm định mối liên hệ giữa hai biến. Phép kiểm định này cho chúng ta biết có tồn tại hay không mối liên hệ giữa hai biến trong tổng thể. Trong nghiên cứu này, nhóm xác định xác suất giấu tin của ảnh thông qua việc áp dụng tiêu chuẩn phân phối 𝜒2 đối với tần số của các cặp giá trị. 1 ê 0 ( ) ( ) 0 p p x x e n u x f x p           1 0 ( ) p x p x e dx      
  • 27. 27 2.2.2. Khái niệm cặp giátrị Khái niệm cặp giá trị (PoV – Pairs of values) được Pfitzman & Westfeld đưa ra: Cho một ảnh I. Gọi j là là giá trị của điểm ảnh trên I. Nếu I là ảnh đa cấp xám 8 bit thì j [0, 255]. Nếu j chẵn (j = 2i) thì sau phép lật bit giá trị của j là 2i + 1, nếu j là lẻ (j = 2i + 1) thì sau phép lật bit giá trị của j là 2i PoV là một cặp hai giá trị điểm ảnh (2i, 2i + 1) và hai giá trị trong cặp này chỉ sai khác nhau ở bit thấp nhất. 2.2.3. Thuật toán PoV3 2.2.3.1. Ý tưởng Với một ảnh I cần kiểm tra, trước tiên ta thống kê tần số của các giá trị điểm ảnh chẵn, lẻ có mặt trong ảnh I. Ta xác định xác suất giấu tin của ảnh thông qua việc áp dụng tiêu chuẩn phân phối 𝜒2 đối với tần số của các cặp PoV. Input: Ảnh I cần kiểm tra Output: p: Xác suất giấu tin trong ảnh I 2.2.3.2. Thuật toán Bước 1: Đọc vào ảnh I Bước 2: Đọc dữ liệu ảnh vào một ma trận Mmxn. Bước 3: Khởi tạo giá trị ban đầu cho vecto X, Y. For each k  [0, 127] X[k] = 0; Y[k] = 0; Bước 4: Tính X[k] là tần số xuất hiện của các điểm ảnh có giá trị chẵn trên ảnh; Tính Y[k] là tần số xuất hiện của các điểm ảnh có giá trị lẻ trên ảnh;
  • 28. 28 Bước 5: Giả sử ta có N cặp PoV Với mọi k Nếu (X[k] + Y[k]) ≤ 4 thì X[k] = Y[k] = 0 ; N = N-1 ; Bước 6: For each k Z[k]= (X[k] + Y[k])/2; Bước 7: Giả sử ta có N cặp PoV, theo phương pháp thống kê Khi bình phương với N-1 bậc tự do ta tính Bước 8: Tính p là xác suất của việc giấu tin Trong đó: Γ ( 𝑁−1 2 ) = ∫ 𝑥 𝑁−1 2 −1 𝑒−𝑥+∞ 0 𝑑𝑥
  • 29. 29 2.2.3.3. Phân tích thuật toán Thông thường đối với ảnh kiểm tra là một ảnh đa cấp xám 8-bit ta có 256 mức xám khác nhau. Thuật toán xác định các cặp phần tử là các giá trị mức xám chẵn, lẻ nên số lượng các phần tử chẵn, lẻ như vậy có không quá 256/2=128 phần tử. Ta xây dựng hai vecto X(x0, x1, ..., xk), Y(y0, y1, ..., yk) để thống kê tần số xuất hiện của các điểm ảnh, với 0≤k ≤ 127. Mỗi phần tử trong X sẽ lưu tần số xuất hiện các điểm ảnh chẵn (X[k] = 2k), mỗi phần tử trong Y sẽ lưu tần số xuất hiện các điểm ảnh lẻ (Y[k] = 2k+1) với 0≤k ≤ 127. Ban đầu khởi tạo các phần tử trong X và trong Y đều bằng 0. Sau đó thuật toán thực hiện việc thống kê các giá trị mức xám có trong ảnh cần kiểm tra và tương ứng tăng giá trị của các phần tử trong X và Y. Gọi Z là vectơ mỗi phần tử Z[k] là giá trị trung bình cộng của X[k] và Y[k]. Giả sử rằng ta có N cặp PoV, có k mức chẵn (lẻ) 0≤k ≤ 127, nếu X[k] + Y[k] ≤ 4 thì X[k] = Y[k] = Z[k] = 0 và N = N–1. Nếu ảnh có chứa thông tin ẩn thì X[k] = Z[k] đối với mọi k, trong phương trình (1) 𝜒 𝑁−1 2 sẽ bé và do đó tích phân ∫ 𝑒 −𝑥 2 𝑥 𝑁−1 2 −1 𝑑𝑥 𝜒 𝑁−1 2 0 sẽ bé và từ (2) suy ra xác suất p sẽ lớn. Ngược lại thì 𝜒 𝑁−1 2 sẽ lớn suy ra xác suất p sẽ bé. Căn cứ vào sự lớn bé của xác suất p ta sẽ quyết định được ảnh có giấu tin hay không. Hơn nữa Westfeld và Pfitzmann còn khẳng định rằng nếu ít hơn 100% các điểm ảnh có chứa thông tin được giấu thì xác suất giấu tin sẽ giảm rõ rệt.
  • 30. 30 Chương 3: CÀI ĐẶT THỬ NGHIỆM 3.1. MÔI TRƯỜNG CÀI ĐẶT Ngôn ngữ cài đặt, môi trường soạn thảo và chạy chương trình được thực hiện trên ngôn ngữ lập trình Matlab 8.1(R2013a). Yêu cầu cấu hình(tối thiểu): - OS: XP, Vista, Win7, 8, 8.1, WinServer,… - Processors: Pentium 4 - Disk Space: 9GB - RAM: 2GB 3.2. GIAO DIỆN CỦA CHƯƠNG TRÌNH  Giao diện chính:  Giao diện giấu chuỗi kí tự:
  • 31. 31  Giao diện giấu theo tỷ lệ ảnh:
  • 32. 32  Giao diện phát hiện PoV3:
  • 33. 33 3.3. ĐÁNH GIÁ PHÂN TÍCH KẾT QUẢ THỰC NGHIỆM 3.3.1. Tập ảnh thực nghiệm Chọn 7 hình ảnh màu xám 8bit có kích thước khác nhau để thực nghiệm, dán nhãn lần lượt là Im001.png, Im002.png,…, Im007.png làm các ảnh gốc.
  • 34. 34 Với mỗi hình ảnh gốc, nhúng thông tin trong 10%, 50%, 90% và 100% của các điểm ảnh và lưu lại mỗi hình ảnh có giấu tin vừa được tạo ra với tên mới dưới dạng "Flip[tên hình ảnh][phần trăm nhúng].png". (Ví dụ, nhúng tin vào 10% các điểm ảnh trong Im002 sẽ được ảnh có giấu tin có tên là "FlipIm00210.png" hay “FlipIm007100.png” là ảnh có giấu tin được tạo ra sau khi nhúng tin vào 100% điểm ảnh của tấm ảnh gốc “Im007.png”). Kết quả sau khi làm như trên, chúng ta thu được 28 tấm ảnh có giấu tin và thêm 7 ảnh gốc là 35 tấm. Những bức ảnh này sẽ được dùng để kiểm tra độ tin cậy của “Phương pháp phân tích cặp giá trị-PoV” (trong nghiên cứu này là PoV3). Với mỗi hình ảnh thử nghiệm, PoV3 cho ra một bảng xác suất p tương ứng với 1%, 2%, ..., 100% các điểm ảnh trong hình ảnh. Ví dụ, khả năng nhúng tương ứng với "10%" là xác suất mà 10% đầu tiên của các điểm ảnh trong hình ảnh thử nghiệm có chứa thông tin nhúng. Để đơn giản, ký hiệu pr biểu thị xác suất mà r phần trăm đầu tiên của các điểm ảnh trong hình ảnh thử nghiệm chứa dữ liệu nhúng. Theo Westfeld và Pfitzmann, khi hình ảnh "Flip[tên hình ảnh][phần trăm nhúng]" được kiểm tra, pr nên, về mặt lý thuyết, giảm rõ rệt khi r > [phần trăm nhúng]. Nếu kết quả thử nghiệm thu được r xấp xỉ [phần trăm nhúng] thì phương pháp PoV3 có độ tin cậy rất cao, ngược lại r càng lệch [phần trăm nhúng] thì phương pháp PoV3 có độ tin cậy càng thấp.
  • 35. 35 3.3.2. Kết quả thực nghiệm và đánh giá 3.3.2.1. Kết quả Sau khi tạo được tập ảnh thử nghiệm (28 tấm ảnh có giấu tin và 7 tấm ảnh gốc), tiến hành kiểm tra từng bức ảnh dựa trên thuật toán PoV3 sẽ thu được biểu đồ xác suất nhúng và phần trăm kiểm tra. Từ đó lập được bảng thống kê để đánh giá độ tin cậy của thuật toán. Qua thử nghiệm bằng POV3 trên 35 bức ảnh, nhóm đã thu được các kết quả sau: a) Với Im001 và các ảnh có được từ nhúng tin trong 10%, 50%, 90%,100% điểm ảnh của Im001 (FlipIm00110, FlipIm00150, FlipIm00190, FlipIm001100) Kết quả thu được không khả quan , biểu đồ kết quả lệch với lý thuyết rất nhiều. Ví dụ: Khi kiểm tra FlipIm001100 thu được
  • 36. 36 Theo lý thuyết, các pr sẽ xấp xỉ 1 tại mọi r, thực tế 33% đầu tiên không cho kết quả như mong muốn, hơn thế, tại r=11,12,13% POV3 còn kết luận không có tin mật tại đó. Thử kiểm tra ảnh gốc Im001 mặc dù không nhúng tin, nhưng thực nghiệm cho thấy phần ảnh từ 30-80% bức ảnh chắc chắn có tin mật. Tương tự, các thử nghiệm với các ảnh được giấu 10,50,90%, POV3 cũng cho kết quả không đáng tin, và có một điều thú vị đó là POV3 đều cho kết luận chung là phần ảnh từ 30-85% bức ảnh chắc chắn có tin mật. Chúng ta sẽ chú ý kết luận này để phân tích xem tại sao lại thu được kết quả như vậy và liệu nguyên nhân gây ra kết quả đó có ảnh hưởng gì tới độ tin cậy của thuật toán POV3 hay không? Câu trả lời là có. Phân tích cụ thể và giải thích sẽ được nhóm trình bày ở phần đánh giá. b) Với Im002 và các ảnh có được từ nhúng tin trong 10%, 50%, 90%,100% của Im002. Với tập ảnh này, POV3 cho kết quả khả quan hơn. Kiểm tra Im001 thu được:
  • 37. 37 Mặc dù tại r=1,2% điểm ảnh, pr khác 0, nhưng pr rất nhỏ, chỉ gần 1%. Với FlipIm00210 – chỉ nhúng tin trong 10% điểm ảnh đầu tiên, kiểm tra 10% đầu tiên cho kết quả tương đối khả quan, tuy nhiên đến 11% thì POV3 báo có tin mật, đến 22% điểm ảnh thì mới xác định là không còn tin mật (mặc dù chỉ nhúng 10%)
  • 38. 38 Với các trường hợp nhúng tin trong 50,90,100% điểm ảnh, POV3 đều cho kết quả không tin cậy. Điểm chú ý là POV3 vẫn cho kết quả là không có tin mật tại r=9,10,11% điểm ảnh. Ví dụ: khi kiểm tra FlipIm00250, kết quả thu được là bức ảnh bị giấu tin đến 72% điểm ảnh.
  • 39. 39 c) Với Im003 và các ảnh có được từ nhúng tin trong 10%, 50%, 90%,100% điểm ảnh của Im003 (FlipIm00310, FlipIm00350, FlipIm00390, FlipIm003100) Tập ảnh này POV3 cho kết quả với độ tin cậy rất cao. Khi kiểm tra Im003 Khi kiểm tra FlipIm00110, tuy tại r=3% pr =0 nhưng sau khi kiểm tra toàn bộ bức ảnh kết quả thu được rất đáng tin
  • 40. 40 Tương tự với FlipIm00350, FlipIm003100
  • 41. 41 Còn với FlipIm00390, POV3 kết luận 93% điểm ảnh bị nhúng tin – quá 3%
  • 42. 42 d) Một số biểu đồ kết quả sau khi kiểm tra Im004, Im005, Im006, Im007 và các ảnh được tạo ra từ chúng. POV3 cho kết quả tương đối tin cậy khi kiểm tra Im005,Im006 và các ảnh được tạo ra từ chúng. Còn đối với Im004, Im007 và các ảnh được tạo ra từ chúng cho kết quả có độ tin cậy thấp. FlipIm00410: FlipIm00550:
  • 45. 45 3.3.2.2. Đánh giá Từ biểu đồ thu được sau mỗi lần kiểm tra ảnh, nhóm đã tổng hợp thành các bảng như sau: Bảng 1: Flip[Image]: Ảnh gốc Image: Im001 Im002 Im003 Im004 Im005 Im006 Im007 % Tested 1 ? << K ? K K << 2 ? << K C K K << 3 C K K ? K K << 4 C K K C K K << 5 C K K C K K K 6 C K K C K K K 7 C K K ? K K K 8 ? K K K K K K 50 C K K K K K K 89 K K K K K K K 100 K K K K K K K Chú ý: C(có), nếu pr >=0.90; K(không), nếu pr <=0.10; ?(không chắc chắn), nếu 0.10< pr <0.90; <<, xác suất giấu tin thấp khoảng 1-2%. Chỗ in đậm là kết quả lệch nhiều so với lý thuyết. Tương tự với các Bảng 2,3,4,5. Ta thấy, đối với ảnh Im003, Im005, Im006 kết quả thu được có độ tin cậy rất cao, còn Im002, Im004, Im007 có độ tin cậy tương đối, và cuối cùng là Im001 có độ tin cậy rất thấp.
  • 46. 46 Bảng 2: Flip[Image]100: Ảnh được nhúng 100% Image: Im001 Im002 Im003 Im004 Im005 Im006 Im007 % Tested 1 ? C ? ? ? K ? 2 ? C ? C ? C C 3 C C K C K ? C 4 C C ? C K C C 9 ? K C C K C C 11 ? K C C K C C 12 K C C C K C C 14 K C C C ? C C 15 ? C C C ? C C 19 C C C C C C C 85 C C C C C C C 90 C C C C C C C 95 C C C C C C C 100 C C C C C C C
  • 47. 47 Bảng 3: Flip[Image]10: Ảnh được nhúng 10% Image: Im001 Im002 Im003 Im004 Im005 Im006 Im007 % Tested 1 ? C ? ? ? C C 2 ? C ? C ? ? C 3 C C K C K C C 4 ? C ? C K C C 9 ? K C C K C C 10 ? ? C C K C C 11 ? K K C K C ? 12 ? C K C K C K 13 K C K ? K ? K 14 ? C K ? K K K 16 ? C K ? K K K 30 ? K K K K K K 31 C K K K K K K 83 C K K K K K K 84 ? K K K K K K 89 ? K K K K K K 90 K K K K K K K 100 K K K K K K K
  • 48. 48 Bảng 4: Flip[Image]50: Ảnh được nhúng 50% Image: Im001 Im002 Im003 Im004 Im005 Im006 Im007 % Tested 1 ? C ? ? ? K ? 3 C C K C K ? C 9 ? K C C K C C 10 ? K C C K C C 20 ? C C C C C C 30 C C C C C C C 40 C C C C C C C 50 C C C C C C C 51 C C ? C ? ? C 52 C C K C K K C 67 C C K C K K C 71 C C K C K K ? 72 C C K ? K K ? 85 C ? K ? K K K 96 ? K K ? K K K 100 ? K K ? K K K
  • 49. 49 Bảng 5: Flip[Image]90: Ảnh được nhúng 90% Image: Im001 Im002 Im003 Im004 Im005 Im006 Im007 % Tested 1 ? ? ? ? ? K ? 2 ? C K C ? ? C 3 ? ? K C K ? C 4 ? ? ? C K C C 10 ? K C C K C C 11 ? K C C K C C 13 K C C C ? C C 14 K C C C C C C 31 C C C C C C C 32 C C C C C C C 50 C C C C C C C 90 C C C C C C C 91 C C C C C C C 92 C C C C K C C 93 C C C C K C C 95 C C K C K C C 97 C ? K C K C C 98 C K K C K C C 99 C K K C K ? C 100 C. K K C K K C
  • 50. 50 Bảng 6: “Điểm rơi” căn cứ theo Tấn công Khi bình phương [phần trăm lớn nhất của điểm ảnh đã kiểm tra mà pr ≥0.90]/ [phần trăm tiếp theo của điểm ảnh đã kiểm tra mà pr ≤0.10] (“Điểm rơi” là điểm mà kể từ vị trí đó xác suất giấu tin sẽ giảm rõ rệt) Image: Im001 Im002 Im003 Im004 Im005 Im006 Im007 % Emb 0 81/89 0/0 0/0 6/8 0/0 0/0 0/0 10 83/90 16/22 10/11 12/25 0+/3 12/14 10/12 50 85/100+ 72/96 50/52 71/100+ 51/52 50/52 67/78 90 100/100+ 95/98 93/95 100/100+ 91/92 98/100 100/100+ Chú ý: Đối với Bảng 6, phần in đậm là các kết quả có độ tin cậy cao, khớp với lý thuyết. Phần gạch chân là các kết quả có độ tin cậy thấp, lệch nhiều so với lý thuyết. Qua quá trình thực nghiệm, dựa vào các biểu đồ và bảng tổng hợp kết quả ở trên, nhóm đã thu được các đánh giá như sau: Thứ nhất: khi sử dụng phương pháp POV3 với những bức ảnh được tạo ra từ các ảnh gốc Im003, Im005, Im006 cho kết quả có độ tin cậy cao, còn đối với Im002, Im004, Im007 có độ tin cậy khá thấp, riêng kiểm tra trên Im001 và các ảnh được tạo ra từ nó thì POV3 không thể xác định được có hay không tin mật được giấu trong ảnh. Nhóm đã tiến hành phân tích các bức ảnh gốc và thu được kết quả là các bức ảnh Im003,Im005,Im006 có độ nhiễu về mặt thống kê rất thấp:
  • 51. 51 Còn các bức ảnh còn lại có độ nhiễu về mặt thống kê rất cao:
  • 52. 52 Như vậy, POV3 tỏ ra không hiệu quả khi mà thông tin mật được nhúng vào bức ảnh có độ nhiễu cao về mặt thống kê. Thứ hai: Khi nhúng tin vào vùng đồng nhất của bức ảnh thì POV3 không phát hiện được tin mật. Ví dụ: Khi kiểm tra Im005 và các ảnh được tạo ra từ nó, POV3 đều cho kết quả là 10% điểm ảnh đầu tiên không giấu tin. Điều này giải thích vì sao Im005 có độ nhiễu rất thấp về mặt thống kê mà kết quả kiểm tra bằng POV3 trên tập ảnh của Im005 đều cho thấy 10%điểm ảnh đầu tiên không chính xác còn lại đều cho độ tin cậy rất cao.
  • 53. 53 3.4. CHỐNG LẠI PHƯƠNG PHÁP PHÂN TÍCH CẶP GIÁ TRỊ Qua thực nghiệm trên, ta thấy những điểm yếu rõ ràng của các cuộc tấn công khi bình phương. Dựa vào những điểm yếu này, ta có thể khai thác để lựa chọn phương pháp giấu tin mà POV3 không phát hiện ra được hoặc cho kết quả không tin cậy. Ví dụ: Lựa chọn hình ảnh: Thông thường, chúng ta có thể chọn những ảnh mà tận dụng được 1 số thiếu sót của tấn công khi bình phương. Một trong những cách như vậy là chọn hình ảnh nhiễu về mặt thống kê. Thực nghiệm đã chứng minh là tấn công khi bình phương không đáng tin cậy đối với nhiều ảnh nhiễu, Hơn nữa, thông tin có thể được nhúng vào trong một số hình ảnh , cho đến một tỷ lệ nhất định của tổng số điểm ảnh trong hình ảnh để các hình ảnh có và không có dữ liệu nhúng xuất hiện các thống kê tương tự. Thực tế là hình ảnh nhiễu là tốt nhất cho kỹ thuật che giấu thông tin. Tuy nhiên, chúng ta có thể cải thiện sự lựa chọn hình ảnh bằng cách áp đặt hạn chế bổ sung trên ảnh gốc và sửa đổi các thuật toán nhúng. Ví dụ, chọn một hình ảnh với một khu vực đồng nhất lớn ở phía trên của hình ảnh và nhiễu suốt phần còn lại của hình ảnh và bắt đầu nhúng trong khu vực nhiễu, tức là, bỏ qua khu vực đồng nhất ở phần đầu. Một thuật toán như vậy sẽ làm giảm hiệu quả của hệ thống phát hiện giấu tin, nên những khu vực đồng nhất lớn ở phía trên của hình ảnh gây ra khả năng nhúng vẫn gần bằng không cho toàn bộ hình ảnh. Trong thực tế, nếu một thuật toán nhúng như vậy đã được sử dụng và hình ảnh đã được thử nghiệm chỉ từ trên xuống dưới, sau đó toàn bộ hình ảnh có thể có độ mịn tốt, nhưng các thử nghiệm khi bình phương vẫn sẽ chỉ ra rằng không có số liệu nhúng. Xem xét, ví dụ, hình ảnh FlipIm00590, Im005 với bit nhúng vào trong 90% của các điểm ảnh
  • 54. 54 nếu hình ảnh này đã được xoay 180 độ như vậy rằng khu vực trơn tru không có dữ liệu nhúng là ở đầu và sau đó thử nghiệm sử dụng POV3, POV3 sẽ chỉ ra rằng không có số liệu nhúng khi 100% của các điểm ảnh được kiểm tra. Thực tế này là hiển nhiên từ thực tế là khi 100% các điểm ảnh trong FlipIm00590 được kiểm tra mà không cần xoay hình ảnh 180 độ, khả năng nhúng là rất gần bằng không. Do đó nó là hợp lý để hy vọng rằng khi FlipIm00590 xoay được thử nghiệm sử dụng POV3, thuật toán sẽ cho ra pr gần bằng không cho tất cả r. Nói cách khác, POV3 trả về không có dữ liệu nhúng trong hình ảnh bất kể bao nhiêu hình ảnh được thử nghiệm, miễn là các thử nghiệm bắt đầu trong khu vực trơn tru. Ví dụ: xoay FlipIm00590 và kiểm tra bằng POV3.
  • 55. 55 Tuy nhiên, nếu chúng ta kiểm tra hình ảnh này sử dụng POV2r, chúng ta có thể kiểm tra điểm ảnh từ 10% đến 100%, mà xác suất nhúng rất gần một. Kể từ khi xác suất nhúng là gần một cho hình ảnh mịn chỉ khi có dữ liệu nhúng, chúng ta có thể xác định rằng phần sau này hình ảnh không, trên thực tế, chứa dữ liệu nhúng. Lựa chọn các điểm ảnh để nhúng: Ý tưởng cho rằng nếu | X[k] – Z[k] | là rất lớn, thậm chí với một vài POVs, làm cho 𝜒 𝑁−1 2 lớn và do đó khả năng nhúng gần bằng không, có thể được mở rộng đến các thuật toán nhúng khác. Một cách để thay đổi các thuật toán nhúng là lựa chọn pixel nào nên được nhúng dữ liệu. Sự hủy bỏ các cặp giá trị (POV): Theo Westfeld và Pfitzmann một điểm yếu đáng kể của cuộc tấn công khi bình phương là nó chỉ có tác dụng trên thuật toán nhúng lật bit LSB và do đó tạo ra các POV. Do vậy ta có thể cải tiến thuật toán nhúng LSB như là giảm giá trị điểm ảnh để có được những hình ảnh giấu tin thay vì lật bit LSB.
  • 56. 56 KẾT LUẬN Đề tài của nhóm đã trình bày được một cách tổng quan về kỹ thuật ẩn mã, những đặc điểm liên quan đến ẩn mã, đồng thời đi sâu vào nghiên phương pháp phát hiện thông tin mật được giấu trên LSB bằng phương pháp phân tích cặp giá trị. Và đã thử nghiệm thành công thuật toán POV3 nhằm phát hiện thông tin mật được giấu trên các LSB của ảnh. Ưu điểm của phương pháp này là, trong một số trường hợp, nó có thể dễ dàng phát hiện các thông tin mật được giấu trên LSB thông qua việc phân tích cặp giá trị. Song nó vẫn còn có những điểm hạn chế như, khi mà thông tin mật được giấu vào bức ảnh có độ nhiễu cao hoặc vào vùng đồng nhất của ảnh gốc thì POV3 cũng không cho kết quả đáng tin cậy. Hay khi giấu tin không sử dụng thuật toán nhúng lật bit LSB thì POV3 không phát hiện ra được thông tin mật. Với những kiến thức có được từ những nghiên cứu, nhóm đã viết được chương trình phát hiện thông tin mật được giấu trên các LSB của ảnh, nhóm hi vọng sẽ có thể phát triển đề tài này hơn nữa vào tương lai, đó là bài toán khó hơn bài toán phát hiện sự tồn tại của thông tin mật: bài toán trích chọn ra thông tin mật. Với sự phát triển của công nghệ thông tin, vấn đề an toàn đối với thông tin số là vấn đề được quan tâm hàng đầu hiện nay. Tương lai, kỹ thuật ẩn mã và phân tích ẩn mã chắc chắn sẽ được chú ý và phát triển nhiều hơn, đóng vai trò quan trọng trong các lĩnh vực liên quan đến thông tin số nhằm đảm bảo an toàn ngày càng cao hơn, phục vụ cho các yêu cầu của con người không chỉ là liên lạc bí mật. Cuối cùng một lần nữa nhóm em xin gửi lời cảm ơn sâu sắc đến cô Hoàng Thu Phương đã giúp chúng em hoàn thành đề tài nghiên cứu khoa học này.
  • 57. 57 TÀI LIỆU THAM KHẢO [1]. Chirsty A.Stanley, Department of Mathematics, Iowa State University, 2005 “Pair of Values and the Chi – squared Attack” [2]. Philip Bateman, Department of Computing Faculty of Engineering and Physical Sciences, University of Surrey, 2008 “Image Steganography and Steganalysis” [3]. http://tailieuhoctap.vn/chi-tiet-sach/186-nganh-cong-nghe-thong-tin/do- hoa-ung-dung/769813-xu-ly-anh-tren-matlab
  • 58. 58 PHỤ LỤC (Một số đoạn code chính của chương trình) 1. Ẩn thông tin mật theo tỉ lệ trên LSB %FlipEmbed cover = double(input_image); %Chuyen doi anh sang ma tran 2 chieu [p,q] = size(cover); Xa = zeros(128,1); Xb = zeros(128,1); Ya = zeros(128,1); Yb = zeros(128,1); %-----------------------------------------------------%-------------- ---------------------------------------%Histogram for i=1:p for j=1:q if rem(cover(i,j),2)==0 Xb((cover(i,j)/2)+1)=Xb((cover(i,j)/2)+1)+1; else Yb(((cover(i,j)-1)/2)+1)=Yb(((cover(i,j)-1)/2)+1)+1; end end end if answer == 'y' categories = zeros(128,1); for i = 1:128 categories(i) = 2*(i-1); end V = abs(Yb-Xb); fig_title = [image_name, '.', image_type,':','|Y-X| Before Embedding']; figure (1), plot(categories, V, '*:'); title(fig_title); xlabel('Category (i)'); ylabel('|Y-X|'); %displays graph end %---Random tin length = input('Nhap chuoi mo ta ve tin nhan (chi nhap 1-100 %): '); while ((length < 1) || (100 < length)) if (100 < length) length = input('Ban nhap luong tin qua lon.(Chi nhap 1-100%): '); else length = input('Chieu dai tin bi loi. ( chi nhap 1-100%): '); end end length = floor((length/100)*p*q); save('length','length'); M1 = rand(p,q); M1 = rem(floor(10*M1),2); rows = floor(length/q); col = length - (rows*q); stego = plus(floor(cover/2)*2 , M1); if rows < p nextrow = cat(2,stego(rows+1,1:col),cover(rows+1,col+1:q)); end
  • 59. 59 switch rows case p stego = floor(cover/2)*2 + M1; case (p-1) stego = cat(1, stego(1:rows,1:q),nextrow); otherwise stego = cat(1, stego(1:rows,1:q),nextrow,cover(rows+2:p,1:q)); end save('M1','M1'); %-----------------------------------------------------%-------------- ---------------------------------------%Histogram for i=1:p for j=1:q if rem(stego(i,j),2)==0 Xa((stego(i,j)/2)+1)=Xa((stego(i,j)/2)+1)+1; else Ya(((stego(i,j)-1)/2)+1)=Ya(((stego(i,j)-1)/2)+1)+1; end end end if answer == 'y' W = abs(Ya-Xa); fig_title = [output_image, '.', image_type,': ','|Y-X| After Embedding']; figure (2), plot(categories,W,'*:'); title(fig_title); xlabel('Category (i)'); ylabel('|Y-X|'); %displays %graph end %-----------------------------------------------------%-------------- ---------------------------------------%display(stego); save('stego','stego'); stego1 = uint8(stego); save('stego1','stego1'); save('original''original'); imwrite(stego1,output_image,'png'); 2. Phát hiện ảnh giấu tin bằng phương pháp POV3 %POV3 input_image = imread(x); %Doc anh nhap vao imshow(image); A = double(input_image); % [m,n] = size(A); percentage = zeros(101,1); prob = zeros(101,1); K = zeros(101,1); %-----------------------------------------------------%-------------- --Tests all percentages, 1-100--------- for h=1:100 k = 128; percentage(h) = percentage(h) + h; %chuyen doi % sang thap phan, i.e., 10%=0.10 total_pixels = floor((h/100)*m*n); %Tinh toan tong so pixel whole_rows = floor(total_pixels/n); %Tính hàng kiem tra so luon total_pixels columns_last_row = total_pixels - (whole_rows*n); X=zeros(128,1); %Dem diem anh chan
  • 60. 60 Y=zeros(128,1); %Dem diem anh le D=zeros(128,1); %Ho tro tinh toan %Chi-squared statistic. for q=1:whole_rows for r=1:n if rem(A(q,r),2)==0 X((A(q,r)/2)+1)=X((A(q,r)/2)+1)+1; else Y(((A(q,r)-1)/2)+1)=Y(((A(q,r)-1)/2)+1)+1; end end end for q=whole_rows+1 for r=1:columns_last_row if rem(A(q,r),2)==0 X((A(q,r)/2)+1)=X((A(q,r)/2)+1)+1; else Y(((A(q,r)-1)/2)+1)=Y(((A(q,r)-1)/2)+1)+1; end end end Z = (X + Y); for i=1:128 if (X(i)+Y(i)) < 5 X(i) = 0; Y(i) = 0; k = k-1; end end Z=Z./2; %Vector trung binh cua X_i and Y_i: Z_i = (X_i + Y_i)/2. D = (X-Z).^2; for i=1:128 if Z(i)==0 D(i) = 0; else D(i) = D(i)/Z(i); end end format long g; C=sum(D); %C là các so lieu thong ke Chi-bình phuong, tong các phan tu trong D. display(C); Pcheck=1-gammainc(C/2,(k-1)/2); %Tính xác suat su dung chuc nang gammainc. display(Pcheck); prob(h) = prob(h) + Pcheck; K(h+1) = K(h+1) + k; end fig_title = [x,':','Probability of Embedding vs Percentage Tested']; percentage = cat(1, percentage(101),percentage(1:100)); prob = cat(1, prob(101), prob(1:100)); result = cat(2, percentage, prob, K); display(result); save('result','result'); figure (1), plot(percentage,prob,'*:'); title(fig_title); xlabel('Percentage Tested'); ylabel('Probability of Embedding'); %displays graph figure (2), imshow(A, []); title('Tested Image');