1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu và xây dựng chương trình phát hiện ảnh có giấu tin mật bằng phương pháp phân tích độ lệch chuẩn

62 516 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 62
Dung lượng 1,94 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Sở dĩ như vậy là do khi kỹ thuật số bùng nổ,con người cũng “số hoá” lĩnh vực đó phục vụ cho cuộc sống hiện đại dẫn đến nhữngphiên bản sao chép ngày càng hoàn hảo, các kỹ thuật thay thế,

Trang 1

NGUYỄN THỊ LAN PHƯƠNG

NGHIÊN CỨU VÀ XÂY DỰNG CHƯƠNG TRÌNH PHÁT HIỆN ẢNH CÓ GIẤU TIN MẬT BẰNG PHƯƠNG PHÁP PHÂN TÍCH ĐỘ LỆCH CHUẨN

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

THÁI NGUYÊN - 2013

Trang 2

NGUYỄN THỊ LAN PHƯƠNG

NGHIÊN CỨU VÀ XÂY DỰNG CHƯƠNG TRÌNH PHÁT HIỆN ẢNH CÓ GIẤU TIN MẬT BẰNG PHƯƠNG PHÁP PHÂN TÍCH ĐỘ LỆCH CHUẨN

Chuyên ngành: KHOA HỌC MÁY TÍNH

M· sè: 60 48 01 01

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

Ngêi híng dÉn khoa häc: TS Nguyễn Ngọc Cương

THÁI NGUYÊN - 2013

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan luận văn là kết quả nghiên cứu của tôi, không sao chép của ai Nội dung luận văn có tham khảo và sử dụng các tài liệu liên quan, các thông tin trong tài liệu được đăng tải trên các tạp trí và các trang website theo danh mục tài liệu của luận văn.

Tác giả luận văn

Nguyễn Thị Lan Phương

Trang 4

LỜI CẢM ƠN

Để hoàn tất một luận văn thạc sĩ yêu cầu sự tập trung, sự cố gắng và độc lập nghiên cứu Bản thân tôi sau những năm tháng học tập vất vả và nghiên cứu cũng đã cố gắng để hoàn thành được luận văn này Tôi luôn ghi nhận những sự đóng góp giúp đỡ nhiệt tình của những người bên cạnh mình, sự ủng hộ, sự hỗ trợ của bố mẹ bạn bè giúp tôi có thêm động lực để hoàn thành khóa luận tốt nghiệp, nhân đây tôi muốn gửi lời cảm ơn nhất tới họ.

Lời cảm ơn trân trọng đầu tiên tôi muốn dành tới TS Nguyễn Ngọc Cương,

đã hướng dẫn tôi trong suốt quá trình làm luận văn, nhờ sự định hướng của thầy giúp tôi tự tin nghiên cứu những vấn đề mới và giải quyết bài toán một cách khoa học.

Tôi xin trân trọng cảm ơn Ban giám hiệu trường đại học công nghệ thông tin, Đại học Thái nguyên, khoa CNTT đã tạo các điều kiện cho chúng tôi được học tập và làm khóa luận một cách thuận lợi.

Lời cảm ơn sâu sắc muốn được gửi tới các thầy cô giáo đã dạy dỗ và mở ra cho chúng tôi thấy chân trời tri thức mới, hướng dẫn chúng tôi cách khám phá

và làm chủ công nghệ mới.

Tôi muốn gửi lời cảm ơn chân thành đến tập thể lớp CHK10D-KHMT đã cùng tôi đi qua những tháng ngày miệt mài học tập, cùng chia sẻ những niềm vui nỗi buồn, động viên tôi đi qua những khó khăn, để tôi vững bước vượt qua những vất vả, quyết tâm hoàn thành luận văn này.

Tôi xin trân trọng cảm ơn bố mẹ, người đã mang tới tất cả niềm tin, định hướng và theo dõi tôi suốt chặng đường đời Nâng đỡ tôi và đến bên tôi những giây phút khó khăn nhất của cuộc sống.

Tuy nhiên do thời gian có hạn, mặc dù đã nỗ lực cố gắng hết mình nhưng chắc rằng luận văn khó tránh khỏi những thiếu sót Rất mong được sự chỉ bảo, góp ý tận tình của Quý thầy cô và các bạn.

Trang 5

MỤC LỤC

LỜI CAM ĐOAN i

LỜI CẢM ƠN ii

MỤC LỤC iii

DANH MỤC HÌNH VẼ v

DANH MỤC BẢNG BIỂU vi

MỞ ĐẦU 1

1 Tính cấp thiết của đề tài 1

2 Mục tiêu và phạm vi nghiên cứu 2

3 Nội dung của luận văn 2

4 Cấu trúc của luận văn 2

Chương 1: TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN TRONG ẢNH 3

1.1 Một số khái niệm cơ bản về giấu tin 3

1.1.1 Sơ lược về lịch sử giấu tin 3

1.1.2 Khái niệm giấu tin 4

1.2 Các mô hình giấu tin cơ bản 4

Mô hình của kỹ thuật giấu tin cơ bản được mô tả theo 2 hình vẽ sau: 4

1.2.1 Giấu tin trên ảnh tĩnh 5

1.2.2 Giấu thông tin trong ảnh đen trắng và ảnh màu, ảnh đa cấp xám 7

1.2.3 Cấu trúc ảnh bitmap 10

1.3 Các kỹ thuật giấu tin điển hình 13

1.3.1 Giấu tin mật trong khối bit sử dụng tính chẵn lẻ của tổng số bit 1 13

1.3.2 Kỹ thuật giấu tin WU_LEE 17

1.3.3 Kỹ thuật giấu tin YUAN_PAN_TSENG 21

1.3.4 Kỹ thuật gài vào các bit có trọng số thấp (LSB) 28

1.4 Phương pháp đánh giá độ an toàn của một lược đồ giấu tin 28

TỔNG KẾT CHƯƠNG 1 29

Chương 2: CÁC KỸ THUẬT PHÁT HIỆN TRONG ẢNH SỐ CÓ GIẤU TIN MẬT 30

2.1 Phương pháp phát hiện trong ảnh số có giấu tin mật 30

2.2 Phân loại phương pháp phát hiện ảnh giấu tin 30

2.2.1 Phương pháp phát hiện theo trực quan 31

2.2.2 Phân tích theo thống kê 31

2.2.3 Phân tích định dạng ảnh 31

2.3 Cơ sở toán học của kỹ thuật phát hiện ảnh giấu tin theo phương pháp thống kê.32 2.3.1 Các khái niệm 32

Trang 6

2.3.2 Các định lý 41

2.4 Các kỹ thuật phát hiện trong ảnh số có chứa tin mật dựa trên phương pháp thống kê .42 2.4.1 Kỹ thuật phân tích cặp giá trị điểm ảnh 42

2.4.2 Kỹ thuật phân tích đối ngẫu 44

2.4.3 Phát hiện trong ảnh có giấu tin mật bằng phương pháp phân tích “độ lệch chuẩn” .49 Chương 3: CÀI ĐẶT, THỬ NGHIỆM CHƯƠNG TRÌNH PHÁT HIỆN THÔNG TIN ẨN BẰNG PHƯƠNG PHÁP PHÂN TÍCH ĐỘ LỆCH CHUẨN 53

3.1 Môi trường cài đặt 53

3.2 Thuật toán chương trình 54

3.3 Thử nghiệm thuật toán 55

3.4 Một số giao diện của chương trình 56

KẾT LUẬN 58

TÀI LIỆU THAM KHẢO 59

Trang 7

DANH MỤC HÌNH VẼ Hình 1.1: Từ trái qua phải: Mặt nạ, văn bản, thông điệp được truyền bí mật trong văn bản

3

Hình 1.2.1a: Lược đồ quá trình giấu tin 4

Hình 1.2.1b: Lược đồ cho quá trình giải mã 5

Hình 1.3: Cân nhắc giữa chất lượng, dung lượng và tính bền vững 8

Hình 1.4a: Ví dụ về ảnh đen trắng 10

Hình 1.4b: Ví dụ về ảnh đa cấp xám 10

Hình 1.5: Ví dụ về ảnh màu 11

Hình 1.6 Khối B kích thước K = 4 x 4, khối B có 8 bit 1 15

Hình 1.7 Thay đổi bit trong khối B 15

Hình 2.7 Bảng giá trị phép toán XOR 17

Hình 1.8: Minh họa giấu dữ liệu D= “101” vào 4 khối ảnh nhị phân 19

Hình 1.9: Ma trận ảnh F, ma trận khóa K, ma trận trọng số W 24

Hình 1.10: Kết quả phép tính FiK K và (FiKK)W trên mỗi khốiW trên mỗi khốiW trên mỗi khối 24

Hình 2.11: Bảng S* 25

Hình 2.12:Ma trận điểm ảnh F’ thu được 26

Hình 1.13 Kết quả phép tính (F’iK)W trên mỗi khốiWK W trên mỗi khối 27

Hình 1.14: Các tầng của ứng dụng giấu tin 28

Hình 3.1 Mô hình hệ thống 53

Hình 3.2: Một số tệp ảnh thử nghiệm 55

Hình 3.3 Giao diện phân hệ giấu tin 56

Hình 3.4 Giao diện phân hệ phát hiện tin giấu 57

Hình 3.5 Kết quả thực hiện phát hiện tin giấu 57

Trang 8

DANH MỤC BẢNG BIỂUBảng 1.1: Ý nghĩa từng trường trong vùng Bitmap Header 12

Bảng1.2: Ý nghĩa từng trường trong vùng BitmapInfor 12

Trang 9

MỞ ĐẦU

1 Tính cấp thiết của đề tài

“Giấu thông tin” (Steganography) là kỹ thuật giấu thông tin quan trọng vàođối tượng khác Ý tưởng về che giấu thông tin đã có từ hàng ngàn năm về trước nhưng

kỹ thuật này được dùng chủ yếu trong quân đội và cơ quan tình báo các nước Nhữngthập niên gần đây, giấu thông tin mới nhận được sự quan tâm của các nhà nghiên cứuvới hàng loạt các công trình có giá trị Sở dĩ như vậy là do khi kỹ thuật số bùng nổ,con người cũng “số hoá” lĩnh vực đó phục vụ cho cuộc sống hiện đại dẫn đến nhữngphiên bản sao chép ngày càng hoàn hảo, các kỹ thuật thay thế, sửa đổi tinh vi cùng với

sự lưu thông phân phối trên mạng của các dữ liệu đa phương tiện đã phát sinh nhiềuvấn đề vi phạm bản quyền, phân phối bất hợp pháp, xuyên tạc trái phép…

Về nguyên lý, giấu tin 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 giấu tin trong ảnh dễ thực hiện hơn, giấu được nhiềuthông tin hơn, và cũng là đối tượng số được sử dụng khá phổ biến trên Internet hiệnnay, nên kỹ thuật giấu tin trong ảnh chiếm tỉ lệ nhiều nhất trong các loại dữ liệu đaphương tiện Thông tin có thể được giấu trên miền không gian hoặc trên miền biến đổinhư biến đổi tần số (cosine, wavelet, fourier rời rạc) hay biến đổi sai phân (differenceimage)

Phát hiện ảnh có giấu tin (Image Steganalysis) là kỹ thuật đối lập với ImageSteganography nhằm dò tìm ảnh số nào đó có giấu thông tin hay không Đây là rất có

ý nghĩa vì việc nghiên cứu Steganalysis cả về khoa học và 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 giấu tin trong ảnh

Với hai mục đích nêu trên dẫn đến hai hướng nghiên cứu khác nhau Hướngthứ nhất, cố gắng 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ỳ Tiêu biểu là các phương pháp phát hiện bằngphân tích độ lệch chuẩn, phát hiện bằng thống kê 2 một bậc tự do, phát hiện dựa trênphân tích tỷ lệ xám, phát hiện bằng bằng phương pháp ước lượng thông tin giấu trênmiền LSB…

Hướng thứ hai, dựa vào kỹ thuật giấu tin nào đó đã biết, có thể xây dựng đượcthuật toán phát hiện phù hợp (phát hiện có ràng buộc - constraint steganalysis) tức làđưa ra một số kỹ thuật phát hiện có ràng buộc cho ảnh có giấu tin với kỹ thuật giấubiết trước Chúng đều là trường hợp riêng của kỹ thuật giấu LSB nhưng tỉ lệ thay đổitrên LSB của ảnh thường thấp so với lượng thông tin đem giấu (hoặc kích cỡ ảnh) vìvậy phát hiện bằng các kỹ thuật phát hiện mù trên LSB của ảnh thường cho kết quả

Trang 10

không cao Các phương pháp phát hiện tiêu biểu là phương pháp phát hiện dựa trên kỹthuật giấu HKC, phương pháp phát hiện dựa kỹ thuật giấu thuận nghịch dựa trên biểu

đồ giá trị sai phân DIH (Difference Image Histogram), phương pháp phát hiện dựa trên

kỹ thuật giấu tin IWH và RVH

Đã có nhiều công trình nghiên cứu công bố trên thế giới thành công theo haihướng này Tuy nhiên, các kỹ thuật giấu tin ra đời sau ngày càng tinh xảo hơn đòi hỏicác nhà phát hiện ảnh giấu tin không ngừng tìm ra phương pháp phát hiện phù hợp bắtkịp với xu hướng phát triển của kỹ thuật giấu Đặc biệt với tốc độ phát triển nhanhchóng của Internet thì nhu cầu trao đổi thông tin bằng ảnh ngày càng lớn mạnh, do đó

để đảm bảo an toàn an ninh, quốc phòng hay nhằm hỗ trợ nâng cấp, cải tiến kỹ thuậtgiấu nào đó an toàn hơn đang là bài toán cấp thiết đặt ra cho các nhà nghiên cứu tronglĩnh vực an toàn thông tin hiện nay

2 Mục tiêu và phạm vi nghiên cứu

- Từ những vấn đề đã trình bày trên, trong luận văn này tập trung nghiên cứu kỹthuật phát hiện ảnh có giấu tin theo hướng chính đưa ra kỹ thuật phát hiện mù cho ảnh

có giấu tin trên LSB của miền không gian và miền tần số cụ thể là tìm hiểu kỹ thuậtphát hiện mù cho ảnh có giấu tin trên LSB bằng phương pháp phân tích độ lệch chuẩn,

- Đối tượng ảnh nghiên cứu là các ảnh dạng BITMAP như các định dạng: JPG,GIF, PNG, TIF, BMP

3 Nội dung của luận văn

- Tìm hiểu tổng quan về giấu tin trong ảnh, phát hiện ảnh có giấu tin

- Trình bày một số kỹ thuật phát hiện mù cho ảnh có giấu tin nhất là kỹ thuậtphát hiện “độ lệch chuẩn”

- Xây dựng thử nghiệm chương trình cho kỹ thuật phát hiện độ lệch chuẩn

4 Cấu trúc của luận văn

Luận văn gồm ba chương trong đó:

Chương 1 giới thiệu tổng quan về giấu tin trong ảnh, phát hiện ảnh có giấu tin

và các nghiên cứu liên quan

Chương 2 Trình bày kỹ thuật phát hiện mù ảnh giấu tin dựa trên kỹ thuật phântích độ lệch chuẩn

Chương 3 Trình bày việc xây dựng và thử nghiệm chương trình

Trang 11

Chương 1TỔNG QUAN VỀ KỸ THUẬT GIẤU TIN TRONG ẢNH

Giấu tin là một lĩnh vực rộng lớn trong đó những thông tin số cần bảo mật sẽđược giấu trong một đối tượng dữ liệu số khác được gọi là môi trường giấu tin Môitrường giấu tin phổ biến là giấu tin trong đa phương tiện như giấu tin trong các fileảnh, audio, video và được ứng dụng rộng rãi nhất đó là giấu tin trong ảnh số Trongchương này, khóa luận trình bày về các khái niệm cơ bản liên quan đến giấu tin nóichung, quá trình phát triển của giấu tin và các ứng dụng của giấu tin

1.1 Một số khái niệm cơ bản về giấu tin

1.1.1 Sơ lược về lịch sử giấu tin

Giấu tin bắt nguồn từ Hy Lạp, tiếng Hy Lạp gọi đó là Stenography có nghĩa là "dòngchữ bị che phủ" Mục đích cơ bản của giấu tin là nhúng mẩu tin mật vào một môi trườngtruyền tin bình thường sao cho người khác không thể phát hiện ra mẩu tin mật đó

Trong lịch sử, những câu chuyện về nghệ thuật giấu tin được lan truyền từ đờinày qua đời khác [2] Ví dụ, vào thế kỉ thứ 5 trước Công Nguyên, Histaiacus đã cạotrọc đầu một nô lệ, xăm lên đó một thông điệp, sau đó khi đầu nô lệ này mọc tóc trởlại, ông ta phái nô lệ đó mang thông điệp đã được giấu trên đầu đi Ở các tiểu vươngquốc Ả Rập, tại thành phố về khoa học và công nghệ của vua Abdulaziz, một dự án đãđược khởi xướng để dịch thành tiếng Anh các văn bản tiếng Ả Rập cổ về các dòng chữ

bí mật được cho là đã viết cách đây 1200 năm Một vài văn bản này được tìm thấy ởThổ Nhĩ Kỳ và Đức Khoảng 500 năm trước, một nhà toán học người Ý tên là JérômeCardan đã sáng tạo lại một phương thức văn bản bí mật cổ xưa của người Trung Quốc.Văn bản được làm như sau: một tờ giấy làm mặt nạ có nhiều lỗ thủng mà người gửi vàngười nhận đều biết, mặt nạ này sẽ được đặt trên một tờ giấy trắng và người gửi sẽ viếtthông điệp bí mật qua các lỗ thủng trên mặt nạ sau đó vứt mặt nạ đó đi và điền phầncòn lại vào tờ giấy trắng như thể tờ giấy này toàn các thông tin vô thưởng vô phạt(hình 1.1)

Hình 1.1: Từ trái qua phải: Mặt nạ, văn bản, thông điệp được

truyền bí mật trong văn bản

Ngày nay nghệ thuật giấu tin được nghiên cứu để phục vụ các mục đích tíchcực như bảo vệ bản quyền, thủy vân số, hay phục vụ giấu các thông tin bí mật về quân

sự và kinh tế Sự phát triển của công nghệ thông tin đã tạo ra những môi trường giấutin mới vô cùng tiện lợi và phong phú Người ta có thể giấu tin trong các tệp ảnh, trong

Trang 12

các tệp âm thanh, tệp văn bản Cũng có thể giấu tin ngay trong các khoảng trống haycác phân vùng ẩn của môi trường lưu trữ như đĩa cứng, đĩa mềm Các gói tin truyền đitrên mạng cũng là môi trường giấu tin quan trọng và ngay cả các tiện ích phần mềmcũng là môi trường lý tưởng để gài các thông tin quan trọng để xác nhận bản quyền.

1.1.2 Khái niệm giấu tin

“Giấu tin” là một kỹ thuật nhúng (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 Giấu tin trong ảnh số là giấu các mẩu tin cũng là dạng số trongmáy tính vào các tệp ảnh nhị phân sao cho không bị người ngoài phát hiện

Kỹ thuật giấu tin nhằm hai mục đích: một là bảo mật cho dữ liệu được đem giấu,hai là bảo vệ cho chính đối tượng mang tin giấu Hai mục đích khác nhau này dẫn đếnhai kỹ thuật chủ yếu của giấu tin Đó là giấu tin mật và thủy vân số Nói chung giấu tintrong đa phương tiện là tận dụng “độ dư thừa” của phương tiện giấu để thực hiện việcgiấu tin mà người ngoài cuộc “khó” cảm nhận được có thông tin giấu trong đó

1.2 Các mô hình giấu tin cơ bản

Mô hình của kỹ thuật giấu tin cơ bản được mô tả theo 2 hình vẽ sau:

Hình 1.2.1a: Lược đồ quá trình giấu tin

Hình 1.2.1a biểu diễn quá trình giấu tin cơ bản Trong đó, phương tiện chứa tin

Trang 13

có thể bao gồm: văn bản, ảnh, audio, video… Thông tin cần giấu tùy theo mục đích củangười sử dụng, nó có thể là các thông điệp, các logo, hình ảnh bản quyền… Thông tinđược giấu vào trong phương tiện chứa tin nhờ một bộ nhúng Bộ nhúng là nhữngchương trình thực hiện theo những thuật toán để giấu tin và được thực hiện với mộtkhóa bí mật giống như trong một số hệ mật mã Đầu ra của quá trình giấu tin là phươngtiện chứa đã được giấu Các phương tiện này có thể được phân phối trên mạng.

Hình 1.2.1b mô tả quá trình giải mã thông tin đã giấu Với đầu vào là phươngtiện đã chứa tin giấu, một bộ giải mã tin (tương ứng với bộ nhúng) cùng với khóa sẽthực hiện việc giải mã thông tin Đầu ra của quá trình là phương tiện chứa tin và thôngtin đã giấu Trong trường hợp cần thiết, thông tin giấu lấy ra có thể được xử lý, kiểmđịnh và so sánh với thông tin đã giấu ban đầu

Hình 1.2.1b: Lược đồ cho quá trình giải mã

1.2.1 Giấu tin trên ảnh tĩnh

Các đặc trưng giấu tin trong ảnh số

Giấu tin trong ảnh chiếm vị trí chủ yếu trong các kỹ thuật giấu tin phần lớncũng tập trung vào các kỹ thuật giấu tin trong ảnh Các phương tiện chứa khác thì cũng

có các kỹ thuật giấu khác nhau Đối tượng ảnh là một đối tượng dữ liệu được tri giáctĩnh có nghĩa là dữ liệu tri giác không biến đổi theo thời gian (không giống như audio

và video) và có nhiều định dạng cũng như tính chất của các ảnh khác nhau nên các kỹthuật giấu tin trong ảnh phải chú ý những đặc trưng và tính chất cơ bản sau đây:

Trang 14

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ù đã giấu tin vào trong ảnh hay chưa thikhi ta xem ảnh bằng tri giác, dữ liệu ảnh không thay đổi theo thời gian, điều này khácvới dữ liệu audio hay video vì khi ta nghe hay xem thì dữ liệu gốc sẽ thay đổi liên tụcvới tri giác của con người theo các đoạn hay các bài, các cảnh Sự khác biệt này ảnhhưởng lớn đối với các kỹ thuật giấu thông tin trong ảnh với kỹ thuật giấu tin trongaudio hay video

Kỹ thuật giấu phụ thuộc ảnh

Kỹ thuật giấu tin phụ thuộc vào các loại ảnh khác nhau Chẳng hạn như đối vớiảnh đen trắng, ảnh xám hay ảnh mầu đều đòi hỏi những kỹ thuật riêng Ảnh nén hayảnh không nén cũng có những kỹ thuật khác nhau vì ảnh nén có thể mất mát thông tin

do nén ảnh

Kỹ thuật giấu tin lợi dụng tính chất hệ thống tri giác của con người (HVS)

Giấu tin trong ảnh ít nhiều cũng gây ra những thay đổi dữ liệu ảnh gốc Dữ liệuảnh được quan sát bằng hệ thống tri giác (HVA- Human Vision Systen) của con ngườinên các kỹ thuật giấu tin phải đảm bảo một yêu cầu cơ bản là nhưng thay đổi trên ảnhphải rất nhỏ sao cho bằng mắt thường không thể nhận ra được sự khác biệt vì có nhưthế mới đảm bảo được độ an toàn cho thông tin giấu Rất nhiều kỹ thuật đã lợi dụngđược tính chất của hệ thống tri giác để giấu tin chẳng hạn như mắt người cảm nhận về

sự biến đổi về độ xám kém hơn sự biến đổi về màu hay cảm nhận của mắt về màuxanh da trời (Blue) là kém nhất trong ba màu cơ bản RGB (G-Red:đỏ, G-Green: xanh

lá cây, B-Blue: xanh da trời)

Giấu tin trong ảnh tác động lên dữ liệu ảnh nhưng không thay đổi kích thước của ảnh

Các phép toán thực hiện việc giấu thông tin sẽ được thao tác trên dữ liệu củaảnh Dữ liệu ảnh bao gồm cả phần thông tin (header), bảng màu (có thể có) và dữ liệuảnh Khi giấu thông tin các phướng pháp giấu đề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 mà kích ảnh trước vàsau khi giấu thông tin là như nhau

Đảm bảo yêu cầu chất lượng ảnh sau khi giấu tin

Đây là yêu cầu quan trọng đối với giấu thông tin trong ảnh Sau khi giấu thôngtin bên trong ảnh phải đảm bảo được yêu cầu không bị biến đổi để có thể bị phát hiện

dễ dàng so với ảnh gốc Yêu cầu này dường như khá đơn giản đối với ảnh mầu và ảnhxám bởi mỗi một pixel ảnh được biểu diễn bởi một bit, nhiều giá trị và khi ta thay đổimột giá trị nhỏ nào đó thì chất lượng ảnh không thay đổi, thông tin giấu khó bị pháthiện, nhưng đối với ảnh đen trắng thì việc giấu thông tin phức tạp hơn nhiều, vì ảnh

Trang 15

đen trắng mỗi pixel ảnh chỉ gồm hai giá trị hoặc trắng hoặc đen, và ta biến đổi một bitđen thành một bit trắng thì không khéo sẽ rất dễ bị phát hiện Do đó yêu cầu đối vớicác thuật toán giấu thông tin trong ảnh màu hay ảnh xám và giấu thông tin trong ảnhđen trắng là khác nhau Trong khi đối với ảnh mầu thì các thuật toán chú trọng vàoviệc làm sao cho giấu càng nhiều thông tin càng tốt thì các thuât toán áp dụng cho ảnhđen trắng lại tập trung vào làm thế nào để thông tin giấu khó bị phát hiện.

Thông tin trong ảnh sẽ bị biến đổi nếu có bất cứ một biến đổi nào trên ảnh

Vì phương pháp giấu tin trong ảnh dựa trên việc điều chỉnh các giá trị của cácbit theo môt quy tắc nào đó và khi giải mã sẽ theo các giá trị đó để tìm được thông tingiấu Theo đó nếu một phép biến đổi nào đó làm thay đổi giá trị của các bit sẽ làm chothông tin giấu sẽ bị sai lệch Chính đặc điểm này mà giấu thông tin trong ảnh có tácdụng nhận thực và phát hiện xuyên tạc thông tin

Tính cần thiết của ảnh gốc khi giải mã

Các kỹ thuật giấu tin phải phân biệt rõ riệt quá trình giả mã ảnh để lấy thôngtin giấu có cần ảnh gốc hay không Đa số kỹ thuật giấu tin mật thì thường không cầnảnh gốc khi giải mã Thông tin được giấu trong ảnh sẽ được mang cùng dữ liệu ảnh,khi giải mã chỉ cần ảnh đã mang thông tin giấu mà không cần dùng đến ảnh gốc để sosánh đối chiếu

Tuy nhiên nhiều kỹ thuật giấu tin cũng sử dụng ảnh gốc khi giải mã, phương phápnày có tác dụng cho việc đồng bộ hóa ảnh giấu và ảnh gốc Điều này rất cần thiết khi phải

xử lý với các tấn công trên ảnh Gỉa sử như phép tấn công xoay ảnh chẳng hạn, nhờ cóảnh gốc ta so sánh và đồng bộ hóa, khôi phục dạng ban đầu của ảnh thì có thể khôi phụclại được tin đã giấu Những phương pháp này cũng gặp khó khăn khi dữ liệu gốc lớn Ví

dụ như giấu tin trong video, với lượng dữ liệu lớn nếu như để giải mã tin mà dùng phươngpháp này thì khối lương thao tác quá nhiều và không thể áp dụng được

Trên đây là những tính chất và đặc điểm cơ bản chung của giấu tin trong ảnh.Riêng đối với ứng dụng giấu tin mật ( stegangraphy) thì tính chất ẩn, lượng thông tingiấu và độ an toàn là ba tính chất quan trọng nhất

1.2.2 Giấu thông tin trong ảnh đen trắng và ảnh màu, ảnh đa cấp xám

Vì là một lĩnh vực mới phát triển nhưng đã và đang được ứng dụng rộng rãi nêngiá một phương pháp so với phương pháp khác người ta dựa vào một số các tính chấtcủa phương pháp hay tiêu chí đánh giá sau:

Tính vô hình

Giấu tin trong ảnh sẽ làm biến đổi ảnh mang Tính vô hình thể hiện mức độbiến đổi ảnh mang Một phương pháp tốt sẽ làm cho thông tin mật trở nên vô hình trênảnh mang, người dùng không thể phát hiện trong đó có ẩn chứa thông tin Tuy nhiên

Trang 16

không phải lúc nào người ta cũng cố gắng để đạt được tính vô hình cao nhất, ví dụtrong truyền hình, người ta gắn hình ảnh mờ gọi là thuỷ ấn để bảo vệ bản quyền.

Khả năng chống giả mạo

Vì mục đích của một phương pháp giấu tin là chuyển đi thông tin mật Nếukhông thể do thám tin mật thì kẻ địch cũng sẽ cố tìm cách làm sai lạc thông tin mật,làm giả mạo thông tin để gây bất lợi cho đối phương Một phương pháp giấu tin tốt sẽđảm bảo tin mật không bị tấn công một cách có chủ đích trên cơ sở những hiểu biếtđầy đủ về thuật toán nhúng tin (nhưng không biết khoá) và có ảnh mang Đối với lĩnhvực thuỷ ấn số thì khả năng chống giả mạo là đặc tính vô cùng quan trọng Vì có nhưvậy mới bảo vệ được bản quyền, chứng minh tính pháp lý của sản phẩm

Dung lượng giấu

Dung lượng giấu được tính bằng tỷ lệ của lượng tin giấu so với kích thước ảnh

Vì tin mật được gửi cùng với ảnh mang qua mạng nên đây cũng là một chỉ tiêuquan trọng Các phương pháp đều cố làm sao giấu được nhiều tin trong khi vẫn giữđược bí mật Tuy nhiên trong thực tế người ta luôn phải cân nhắc giữa dung lượng vàcác chỉ tiêu khác như tính vô hình, tính ổn định

Hình 1.3: Cân nhắc giữa chất lượng, dung lượng và tính bền vững

Tính bền vững

Sau khi giấu tin vào ảnh mang, bản thân ảnh mang có thể phải qua các khâubiến đổi khác nhau như lọc tuyến tính, lọc phi tuyến, thêm nhiễu, làm sắc nét, mờ nhạt,quay, nén mất dữ liệu Tính bền vững là thước đo sự nguyên vẹn của thông tin mật saunhững biến đổi như vậy

Trang 17

cần phải có độ phức tạp tính toán cao thì mới đảm bảo chịu được sự tấn công củanhiều tin tặc nhằm phá huỷ thuỷ ấn.

Sự khác nhau giữa giấu thông tin trong ảnh đen trắng và ảnh màu, ảnh đa cấp xám

Mỗi loại ảnh khác nhau sẽ có các kỹ thuật khác nhau và có các yêu cầu kỹ thuậtkhác nhau Trong phần này chúng ta sẽ phân biệt các tính chất:

Khởi nguồn của giấu thông tin trong ảnh là thông tin được giấu trong ảnh màuhoặc ảnh xám, trong đó mỗi pixel ảnh mang nhiều giá trị được biểu diễn bằng nhiềubít Với những ảnh đó thì việc thay đổi một giá trị nhỏ của một pixel thì chất lượngảnh gần như không thay đổi, và khả năng bị phát hiện là rất thấp dưới sự quan sát bằngmắt thường Do đó hệ thống tri giác của con người cũng đóng một vai trò quan trọngtrong việc bảo đảm tính ẩn của thông tin giấu trong ảnh Với những ảnh mà mỗi điểmảnh chỉ mang một giới hạn nhỏ các giá trị thì việc giấu thông tin trong ảnh đảm bảotính ẩn của thông tin của thông tin đảm bảo khó khăn hơn nhiều Đặc biệt đối với ảnhđen trắng, mỗi điểm ảnh chỉ mang một trong hai giá trị trắng hoặc đen Vậy thì khithay đổi giá trị một pixel từ đen thành trắng hoặc ngược lại thì rất dễ bị phát hiện Và

do đó với ảnh đen trắng thì số lượng thuật toán không nhiều, và vẫn chưa đạt được kếtquả mong muốn Có thuật toán giấu được nhiều thông tin vào ảnh thì chất lượng ảnhlại kém và dễ bị phát hiện Một số thuật toán khác thì giấu chất lượng ảnh tốt hơnnhưng lượng thông tin được giấu ít và quá đơn giản không đảm bảo được độ an toàncủa thông tin Bảng sau sẽ liệt kê những khác nhau cơ bản giữa giấu thông tin trongảnh đen trắng và ảnh màu

Giấu thông tin trong ảnh đen trắng Giấu thông tin trong ảnh ảnh màu hoặc

ảnh xámThông tin giấu ít hơn đối với ảnh có

cùng kích cỡ với ảnh màu

Thông tin giấu nhiều hơn

Khả năng bị phát hiện trong ảnh có giấu

thông tin cao hơn ảnh màu

Khả năng bị phát hiện thấp

Độ an toàn thông tin thấp do dễ bị phát

hiện có thông tin chứa bên trong

Độ an toàn cao

Các thuật toán giấu ít phức tạp Nhiều thuật toán và có nhiều hướng mở

rộng phát triển Như áp dụng giải thuật ditruyền

1.2.3 Cấu trúc ảnh bitmap

Trang 18

Ảnh BITMAP là định dạng ảnh do hãng microsoft đề xuất có phần mở rộng làBMP Loại ảnh này được truyền tải, sử dụng rộng rãi trên máy tính và các thiết bị điện

tử khác Ảnh bitmap được chia thành ba dạng: ảnh nhị phân (ảnh đen trắng), ảnh đamức xám, ảnh màu

Ảnh đen trắng: là ảnh mà mỗi điểm ảnh chỉ thể hiện một trong hai trạng thái

0 và 1 để biểu diễn trạng thái điểm ảnh đen hay trắng

Hình 1.4a: Ví dụ về ảnh đen trắng Ảnh đa mức xám: là ảnh mà mỗi điểm ảnh được biểu diễn bởi một giá trị và

đó là cường độ sáng của điểm ảnh

Hình 1.4b: Ví dụ về ảnh đa cấp xám Ảnh màu: là ảnh mà mỗi điểm ảnh được biểu diễn bởi ba đại lượng R, G, B.

Số lượng màu có thể của loại ảnh này lên tới 265^3 màu khác nhau Nhưng số lượngmàu trên thực tế của một ảnh nào đó thường khá nhỏ Để tiết kiệm bộ nhớ với các ảnh

có số lượng màu nhỏ hơn 256 thì màu các điểm ảnh được lưu trữ dưới dạng bảngmàu.Với ảnh có số màu lớn thì các điểm ảnh không tổ chức dưới dạng bảng màu, khi

đó giá trị của các điẻm ảnh chinh là giá trị của các thành phần màu R,G,B Với ảnh có

Trang 19

số lượng màu lớn,tùy theo chất lượng ảnh mà quyết định số bit để biểu diễn cho mỗimàu thường là 24 bit, hoặc 32 bit

Với ảnh 24 bit mỗi thành phần màu được biểu diễn bởi một byte(8 bit)

Hình 1.5: Ví dụ về ảnh màu

Ảnh bitmap đựợc lưu trữ dưới dạng nhị phân, một tệp dạng bitmap được chiathành các phần cơ bản như:

-Phần tiêu để tệp (Bitmap header)

-Thông tin về ảnh (Bitmap Infor)

-Bảng màu (Palette Table)

-Vùng dữ liệu(Data)

Thứ tự được lưu trữ trong bộ nhớ như sau: Bitmap Header Bitmap Infor Palette Table Data

Ý nghĩa của các phần trong tệp ảnh bitmap

-Bitmap Header: Mô tả thông tin chung về tệp định dạng bitmap, độ lớn của

phần này cố định với mọi tệp bitmap

-Bitmap Infor: Mô tả thông tin về ảnh được lưu trữ, độ lớn của phần này cố định -Pallete Table: Bảng màu của ảnh bitmap, độ lớn của phần này có thể bằng

không ( không có bảng màu) đối với ảnh đen trắng và ảnh màu có số lượng màu lớnhơn 256 màu

-Data: Thông tin về từng điểm ảnh, độ lớn của phần này phụ thuộc vào kich

thước ảnh Phần Data lưu trữ ảnh theo hướng từ dưới lên trên và từ trái qua phải

Kích thước và giá trị các trường trong tệp ảnh

Trang 20

Bitmap Header

Phần này có độ lớn cố định là 14 bytes, phần này dùng để mô tả thông tin chung

về tệp như:

Kiểu tệp, độ lớn và một số thông tin liên qua đến tệp

Offset(byte)W trên mỗi khối Giá Trị Ý nghĩa

Bảng 1.1: Ý nghĩa từng trường trong vùng Bitmap Header

Trong phần Bitmap Header có mô tả thông tin về độ dài tệp, thông tin này thực

sự cần thiết với mọi chương trình.Tuy nhiên qua thực nghiệm thấy rằng với một số tệpthông tin này không chính xác Người ta đưa cách tính kích thước tệp bitmap thôngqua công thức:

Tệp_Size=Sizeof(Bitmap Header) + Sizeof(Bitmap Infor) + Sizeof(Pallete) +Sizeof(Data)

Địa chỉ vị (offset) của vùng dữ liệu có thể được xác định thông qua công thức: Địa chỉ vùng data = 54+ Sizeof(Pallete)

Đối với ảnh đen trắng và ảnh màu có số lượng màu lớn hơn 256 thì giá trị địachỉ vị cố định là 54

Offset(byte)W trên mỗi khối Giá Trị Ý nghĩa

Bảng1.2: Ý nghĩa từng trường trong vùng BitmapInfor Pallete Table:

Trang 21

Bảng màu là tập các màu sử dụng trong ảnh, mỗi một màu trong ảnh được gọi

là một entry và được lưu trữ bằng 4 byte, mỗi thành phần màu được lưu trữ một bytecòn một byte để dự trữ ( chứa dùng) và thứ tự là B,G,R,Reserved Như vậy kích thướccủa bảng màu có thể tinh theo công thức:

Sizeof(Pallete Table)=(Number color)*4

Data:

Vùng dữ liệu ảnh là giá trị của điểm ảnh, kích thước của vùng dữ liệu ảnh phụthuộc vào độ rộng, chiều cao và kiểu ảnh Với ảnh 8 bit màu thì ta có công thức:Sizeof(Data)=Width*Height

Với ảnh có số màu lớn hơn 256 ta có công thức

Sizeof(Data)=Width*Height*Bit_Number_of_Pixel

Vậy tại vùng Data là giá trị các thành phần màu cơ bản, số lượng bit dùng đểbiểu diễn giá trị cho từng thành phần màu có thể sẽ khác nhau phụ thuộc vào chấtlượng ảnh Ảnh 24 bit mỗi thành phần màu đựơc lưu trữ bởi 8 bit và thứ tự lưu trữ là

B, G, R

1.3 Các kỹ thuật giấu tin điển hình

Trong phần trên chúng ta đã tìm hiểu cấu trúc của ảnh đen trắng, ảnh màu.Trong phần này chúng ta sẽ nghiên cứu cơ sở lý thuyết của các kỹ thuật giấu tin vàocác ảnh này Hiện nay có 4 phương pháp thường được sử dụng để thực hiện kỹ thuậtgiấu tin

1.3.1 Giấu tin mật trong khối bit sử dụng tính chẵn lẻ của tổng số bit 1

1.3.1.1 Ý tưởng

Đây là kỹ thuật đơn giản nhất trong các kỹ thuật giấu tin Ý tưởng cơ bản của

kỹ thuật này là chia một ảnh thành các khối nhỏ và trong mỗi khối nhỏ sẽ giấu một bitthông tin Dựa vào tính chẵn lẻ của tổng số các bit 1 trong khối để qui định giấu bit 1hay 0 Cụ thể sau khi giấu thì tổng số các bit 1 trong khối và bit cần giấu sẽ có cùngtính “chẵn lẻ” Thuật toán này dùng cho ảnh đen trắng, ảnh mầu và ảnh đa cấp xám.Tuy nhiên, trong phần trình bày ở mục ngay sau đây sẽ minh họa thuật toán cho ảnhđen trắng, phần trình bày áp dụng thuật toán cho ảnh mầu và ảnh đa cấp xám sẽ đượcđưa ra tiếp sau

1.3.1.2 Thuật toán giấu tin

Input:

-Một file ảnh bitmap đen trắng FF

-Một file thông tin cần giấu Fb

-Một khóa K (đó là kích thước khối nhỏ)

Output:

Trang 22

-Một file ảnh F’ đã giấu tin.

Cách thức thực hiện:

a) Tiền xử lý

- Chuyển file thông tin cần giấu Fb sang dạng xâu nhị phân D=b1b2…bk.

- Đọc header của ảnh (phần chứa thông tin ảnh), đọc bảng mầu, sau đó đọc toàn

bộ dữ liệu ảnh vào một mảng hai chiều (ma trận) M để sử dụng cho việc giấu tin

b) Quá trình giấu tin

- Bước 1: Chia ma trận M thành các khối nhỏ Bi kích thước K = mxn

- Bước 2: Giấu bit dữ liệu bi vào khối Bi

For each Bi

if sum(Bi) bi (mod 2) then giữ nguyên khối Bi.

else B’i đảo bit bất kì trong Bi.

End;

Giải thích thuật toán:

- Chia phần thông tin ảnh (ma trận hai chiều điểm ảnh) M thành các khối nhỏ

có kích thước K (K = m x n) Giả sử ảnh gốc ban đầu có kích thước M x N, ảnh gốcđược chia thành các khối nhỏ, tổng số các khối nhỏ sẽ là k = (M x N)/ (m x n) khối Vì

là ảnh đen trắng nên mỗi khối là một ma trận hai chiều của các giá trị 0 và 1

Sau khi phân thành các khối nhỏ ta chọn các khối để giấu tin, ta có thể chọnngẫu nhiên các khối nhưng để cho đơn giản ta coi như các khối được chọn tuần tự từkhối đầu tiên cho đến khi hết thông tin cần giấu

- Mỗi khối nhỏ sẽ được dùng để giấu một bit thông tin theo quy tắc: sau khigiấu thì tổng số bit 1 trong khối và bit thông tin cần giẫu sẽ có cùng tính chẵn lẻ.Nghĩa là nếu giấu bit 1 vào khối thì khối đó phải thỏa mãn tính chất tổng số bit 1 trongkhối là số lẻ Ngược lại nếu giấu bit 0 vào khối thì khối đó phải thỏa mãn tính chấttổng số bit 1 trong khối là chẵn

Như vậy, mỗi lần giấu một bit ta có hai trường hợp sau:

- Trường hợp thứ nhất: khối đã thỏa mãn tính chất để giấu một bít thông tin.

Nghĩa là khi cần giấu bit 1 thì tổng số bit 1 đã lẻ rồi hoặc là khi cần giấu bit 0 thì tổng

số bit 0 đã chẵn Trong trường hợp như thế ta không cần thay đổi và xem như bit thông tin đã được giấu

- Trường hợp thứ hai:: khối không thỏa mãn tính chất để giấu một bít thông tin Nghĩa là khi cần giấu bit 1 thì tổng số bit 1 là chẵn hoặc là khi cần giấu bit 0 thì tổng

số bit 0 là lẻ Trong trường hợp này ta cần thay đổi khối đó sao cho thỏa mãn điều kiện

bằng cách đảo trị ngẫu nhiên một bit (từ 0 sang 1, hoặc từ 1 sang 0) Thí dụ:

Trang 23

Xét thí dụ dưới đây minh họa cho hai trường hợp trên.

Cho khối B như sau:

0 1 0 0

1 0 1 1

1 1 0 1

0 0 0 1

Hình 1.6 Khối B kích thước K = 4 x 4, khối B có 8 bit 1

Trường hợp 1: Giả sử ta muốn giấu bit b = 1 vào khối B.

Số lượng bít 1 trong khối B là 8 Như vậy khối B không thỏa mãn yêu cầu Để giấu bit

1 vào khối B ta thay đổi một bit bất kỳ trong khối, đổi bit 0 thành bít 1 hoặc bit 1 thànhbit 0, ta thu được khối B’ Giả sử ta đổi như hình sau:

Hình 1.7 Thay đổi bit trong khối B

Khi đó ta có khối B’ có 7 bit 1 thỏa mãn tính chất

Trường 2: Giả sử ta giấu bit b = 0 vào khối B.

Khối B có 8 bit 1 thỏa mãn tính chất Nên khối B được bảo toàn và bit dữ liệu b

= 0 coi như đã được giấu

Mỗi lần giấu một bit ta lại lấy một khối để giấu theo quy tắc trên cho đến hết lượngthông tin cần giấu Sau khi giấu xong ta được một ma trận hai chiều dữ liệu ảnh mới

Trong thuật toán giấu tin này, khóa đơn giản chỉ là kích thước khối K=mx n.Nếu biết kích thước của khối thì ta dễ dàng giải mã như sau:

c) Quá trình giải tin giấu

Input

- F’ là ảnh đã được giấu dãy bit bí mật D

- K là khóa bí mật, đó là kích thước khối nhỏ đã được xác định trước

Output

- F là file ảnh chứa tin đã được giấu

- D là dãy bit bí mật đã giấu

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

- Đọc header ảnh để biết các thông tin về ảnh, đọc bảng mầu, đọc phần dữ liệuảnh vào ma trận hai chiều M

Trang 24

- Chia M thành các khối nhỏ với kích thước K.

- Theo một thứ tự xác định trước, xét từng khối nhỏ B, giải tin theo quy tắc sau

- Nếu tổng số các bit 1 là lẻ thì ta thu được bit giấu là 1

- Nếu tổng số các bit 1 là chẵn thì ta thu được các bit giấu là 0

Như vậy, sau khi xử lý hết các khối đã giấu ta thu được chuỗi bit đã giấu b’

- Chuyển file xâu bit nhị phân sang file văn bản

1.3.1.3 Phân tích thuật toán

Thuật toán giấu tin trong ảnh dựa vào tính chẵn lẻ của tổng số bit 1 ở trên làrất đơn giản Sau khi nghiên cứu thuật toán này ta có thể đưa ra một số nhận định sau:

- Việc chọn kích thước khối để giấu tin cần căn cứ vào kích thước ảnh vàlượng tin cần giấu sao cho các thông tin giấu có thể giàn trải trên toàn ảnh Ví dụ nếu

ta có ảnh kích thước 512 x 512 pixel và có một lượng thông tin cần giấu là 100 kí tự.Như vậy, file thông tin nhị phân cần giấu là 100 x 8 = 800 bit

Ta có thể thấy để giấu hết thông tin cần ít nhất 800 khối, vậy thì kích thướckhối ta có thể chia trên ảnh là (512x512)/800=327 (dư 544) Với cách tính này thì kíchthước tối đa của một khối là 327 Chẳng hạn ta có thể chọn kích thước cho một khối20x16, 30x15…

Nên chọn khối có kích thước lớn vì như vậy trong trường hợp các khối bị thayđổi thì khoảng cách các bit bị biến đổi sẽ thưa hơn và làm cho ảnh sau khi giấu khónhận biết hơn

-Với thuật toán này việc chọn khối khá đơn giản Ta có thể bắt đầu từ khối đầutiên và các khối tiếp theo một cách tuần tự Tuy nhiên ta có thể làm khó thuật toán hơnbằng cách chọn ngẫu nhiên một khối chưa giấu tin ở mỗi lần giấu Khi đó ta đã làmtăng độ an toàn của thuật toán vì khóa lúc đó còn bao gồm cả chỉ số khối đã giấu tincho từng bit Hoặc ta có thể thay đổi kích thước khối ở mỗi lần giấu Chẳng hạn nhưlần thứ nhất có kích thước khối là 8x8, lần thứ hai là 8x12,… trong những trường hợpnày thì khóa sẽ là kích thước khối ở mỗi lần giấu

- Bản chất của kỹ thuật giấu tin trong ảnh đen trắng đó là một quy ước nào đódưới dạng một mệnh đề (tân từ) P Nếu tân từ P được thỏa thì ứng với bit 1, ngược lạiứng với bit 0 Tân từ P trong thuật toán trên là sum(B)  b (mod 2)

1.3.1.4 Áp dụng thuật toán cho ảnh màu và ảnh đa cấp xám

Nhược điểm cơ bản của phương pháp dùng ảnh đen trắng là thông tin giấu vào

đó được rất ít Nếu giấu nhiều thông tin thì ảnh sẽ thay đổi và người ta dễ dàng pháthiện ra sự có mặt của thông tin ẩn Do đó khi giấu thông tin mật người ta thường chọn

Trang 25

ảnh màu hoặc ảnh đa cấp xám Các ảnh màu và ảnh đa cấp xám có giá trị mỗi điểmảnh được biểu diễn bằng nhiều bít Trong dãy các bít này có một bít được gọi là bít ít

quan trọng nhất (LSB – Least Significant Bit)

LSB là bit mà khi ta đảo giá trị của nó thì điểm màu chỉ bị thay đổi ít nhất Thí

dụ với ảnh đa cấp xám, mỗi mức xám g được biểu diễn bởi số nguyên không âm, thì mức xám g sẽ sai khác ít nhất so với hai mức xám liền kề là g–1 và g+1 Trong trường hợp này bít LSB chính là bit thấp nhất trong dạng biểu diễn nhị phân của g Hầu hết

các thuật toán giấu tin trên ảnh mầu hoặc ảnh đa cấp xám đều áp dụng gián tiếp thuậttoán giấu tin trên ảnh đen trắng theo sơ đồ sau:

- Bước 1: Tạo ảnh đen trắng F từ ảnh mầu Fc bằng một kỹ thuật nào đó Chẳnghạn lấy từ mỗi điểm màu trong Fc một bít quan trọng nhất để làm một điểm ảnh cho F

- Bước 2: Giấu tin vào ảnh đen trắng F để thu được ảnh đen trắng F’

- Bước 3: Đưa lại các bit của F’ vào mỗi điểm ảnh màu tương ứng của Fc đểthu được ảnh màu kết quả là F’c

Như vậy, thuật toán giấu tin trong ảnh đen trắng là cơ sở cho các thuật toángiấu tin nói chung

1.3.2 Kỹ thuật giấu tin WU_LEE

Kỹ thuật giấu tin theo khối bit sử dụng tính chẵn lẻ của tổng số bit 1 trongkhối ở trên thể hiện độ an toàn không cao do chỉ có duy nhất kích thước khối là khóacho quá trình giấu tin, đồng thời ảnh chứa thông tin giấu cũng dễ bị phát hiện do

kỹ thuật có thể sẽ đảo bit trong các khối ảnh toàn màu đen hoặc màu trắng dẫn tới sựbất thường ở vị trí đảo so với các điểm lân cận trong khối Thuật toán giấu tin trongảnh đen trắng do M.Y.Wu và J.H.Lee đưa ra năm 1989 [4] đã khắc phục được phầnnào những tồn tại nêu trên bằng cách đưa thêm khóa K cho việc giấu tin và các điềukiện để đảo bít trong mỗi khối Trước khi xem xét thuật toán ta có một số định nghĩasau:

Định nghĩa 1.1: Gọi x và y là hai bit tùy ý, phép nhân bit kí hiệu là  trên hai

bit x và y ; phép cộng loại trừ (còn gọi là phép XOR) kí hiệu là  trên hai bit x và yđược định nghĩa thông qua bảng chân trị dưới đây

Hình 2.7 Bảng giá trị phép toán XOR

Với mỗi ma trận A, kí hiệu A[i,j] là phần tử trên hàng i, cột j của ma trận A Haiphép toán trên cũng được mở rộng cho các dãy bit hoặc cho các ma trận bit

Ðịnh nghĩa 1.2: hai ma trận A và B có cùng kích thước m x n ta định nghĩa

A ^ B = C, trong đó C[i,j] = A[i,j]^B[i,j]

Trang 26

A B = C, trong đó C[i,j] = A[i,j]B[i,j]

Ðịnh nghĩa 1.3: phép nhân theo vị trí trên hai ma trận A và B (các phần tử là

các số nguyên) có cùng kích thước như sau:

AB = C, trong đó C[i,j] = A[i,j] * B[i,j]

Ðịnh nghĩa 1.4: Với ma trận số B ta định nghĩa sum(B) là tổng tất cả các phần

tử của ma trận B Nếu B là ma trận bit thì sum(B) chính là tổng số các bit 1 có trong B

1.3.2.1 Ý tưởng thuật toán WU_LEE

Với mục tiêu là giấu được càng nhiều thông tin vào trong ảnh mà vẫn đảm bảođược chất lượng ảnh càng tốt, ý tưởng chính của thuật toán là chia ảnh ra thành cáckhối bằng nhau, tìm khối nào ít bị phát hiện nhất, giấu một bit thông tin vào khối đó

1.3.2.2 Mô tả thuật toán

a Quá trình giấu tin

If 0< sum(Fi K) < sum(K) then

chuyển bước 3 để giấu thông tin vào khối Fi, Else giữ nguyên khối Fi.

- Bước 3: Giả sử bit cần giấu vào khối Fi là b, thay đổi Fi như sau:

If sum(Fi K) mod 2 = b then giữ nguyên Fi

else if sum(Fi K) = 1 then chọn ngẫu nhiên một bit [j,k] thỏa đồng thời Fi[j,k] = 1 và K[j,k] = 1.

Đảo giá trị của bit Fi[j,k] = 1 else if sum((Fi K) = sum(K) – 1 then

Chọn ngẫu nhiên một bit [j,k] thỏa Fi[j,k] = 1 và K[j,k] = 1.

Đảo giá trị của bit Fi[j,k] = 0

Trang 27

Else Chọn ngẫu nhiên một bit [j,k] mà K[j,k] = 1 Đảo giá trị của bit Fi[j,k] từ 1 thành 0 hoặc từ 0 thành 1.

End if;

Ví dụ: Giả sử ta cần giấu dãy bit D = “101” vào ảnh F có kích thước 8x8 và

một ma trận khóa K có kích thước 4x4 như hình vẽ dưới đây Ta chia ảnh F thành

4 khối nhỏ F1, F2, F3, F4, mỗi khối nhỏ sẽ có kích thước là 4x4

Hình 1.8: Minh họa giấu dữ liệu D= “101” vào 4 khối ảnh nhị phân

- Với khối F1: Ta có b=1, sum(F1  K) = 5, suy ra sum(F1  K) mod 2 = 1 Tagiữ nguyên F1 Coi như bit đầu tiên đã được giấu trong F1

- Với khối F2: Ta có b=0,sum(F2  K) = 7, suy ra sum(F1  K) mod 2 = 1b.Nhưng sum(F1  K) = 7 = sum(K) -1 nên ta chọn ngẫu nhiên phần tử [4,2] để đảo bittrong khối F2 vì với phần tử này ta có F2[4,2] = 1 và K[4,2] = 1 Ta thu được khốiF’2 Bằng cách đảo bít của F2[4,2] = 0

Trang 28

- Với khối F3: sum(F3  K) = 8 = sum(K) nên ta không giấu được bit dữ liệutiếp theo vào khối này.

- Với khối F4, Ta có b=1, sum(F4  K) = 4, nên sum(F4  K) mod 2 = 0  b.Chọn ngẫu nhiên ô F4[3,1] ứng với K[3,1] = 1 đảo bit của F4[3,1] từ 0 thành 1 ta thuđược khối F’4

- Kết quả được minh họa trên hình 2.4(c)

b, Quá trình giải tin

Input

- F’ là ảnh đã được giấu dãy bit bí mật D

- K là ma trận khóa bí mật, kích thước mxn.

Output

- F là file ảnh chứa tin đã được giấu

- D là dãy bit bí mật đã giấu

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

- Đọc header ảnh để biết các thông tin về ảnh, đọc bảng mầu, đọc phần dữ liệu ảnh vào ma trận hai chiều M

- Chia M thành các khối nhỏ F’i với kích thước mxn.

- For each F’i.

if 0<sum(F’iK)<sum(K) then b=sum(F’iK) mod 2.

Trong đó b là bít nhị phân đã được giấu

1.3.2.3 Phân tích thuật toán

Chúng ta thử phân tích khả năng đối phương phát hiện ảnh có giấu tin hoặctrong trường hợp xấu hơn, đối phương phát hiện được cả khóa bí mật K

Nếu có ảnh gốc F và ảnh đã giấu tin F’, bằng một thủ tục đối sánh đơn giảnđối phương có thể phát hiện ra ảnh có giấu tin hay không Nếu F = F’ thì ảnh không bịgiấu tin, ngược lại F khác F’ thì ảnh có thể bị giấu tin

Trước hết ta hãy xem xét vấn đề khóa K Việc chọn khóa K nhằm làm tăng độ

mật của thuật toán Nếu như trước đây chỉ biết kích thước của khối là m x n thì đốiphương rất dễ khai thác được bản tin mật Ở đây còn phải biết thêm giá trị cụ thể củakhóa K

Phép toán FiK qui định thuật toán chỉ được phép sửa các bit trong khối Fi

ứng với bit 1 trong khóa K Như vậy khóa K được xem như một mặt nạ Tuy nhiên, tavẫn có thể thay phép toán  bởi phép toán khác, chẳng hạn phép toán 

Trang 29

Tiếp theo chúng ta xét đến điều kiện 0 < sum(Fi K) < sum(K) qui định nếu

khối Fi K toàn 0 hoặc giống như khóa K thì không được giấu tin để tránh bị lộ Nếumột khối Fi toàn điểm trắng được truyền đi thì kẻ thù khi bắt được thông tin sẽ dễ

dàng tìm được ra vị trí 1 của khóa K Do vậy ta không dùng trường hợp sum(FiK) = 0

để giấu tin Với trường hợp sum(Fi K) = sum(K) nếu Fi toàn điểm đen thì vị trí bít

thay đổi cũng là vị trí mà bít tương ứng ở khóa K là 1 Để tránh hai trường hợp trênthuật toán đưa ra điều kiện: 0<sum(FiK)<sum(K) khi giấu một bit thông tin vào khối

Fi Nhưng cho dù thế đi chăng nữa thì vị trí tương ứng với bit bị thay đổi cũng tươngứng với bit ở vị trí đó trong khóa K có giá trị 1, và bit không bao giờ bị thay đổi tươngứng sẽ là bit 0 ở vị trí đó trong khóa K Và như thế việc chọn khóa K như thế nào làmột công việc hết sức quan trọng

Trong bước 3 chỉ thực hiện tối đa một phép đảo một bit của khối Fi để thu

được khối F’i nhằm đảm bảo tính bất biến Do việc giấu tin vào khối chỉ cần thay đổitối đa một bit nên việc chọn bit nào trong Fi để đảo cần tuân thủ nguyên tắc: Nếu FiK

có nhiều bit 1 thì chọn bit 1, ngược lại nếu FiK có quá ít bit 1 thì chọn bit 0 Nguyêntắc này làm giảm khả năng bit đảo bị phát hiện

Vì K là khóa bí mật nên thông tin đã được nhúng là bí mật Thuật toán nàylàm thay đổi nhiều nhất một bit của khối Fi khi giấu một bit thông tin vào trong khốinên với một khối có kích thước m x n đủ lớn thì sự thay đổi của Fi là nhỏ

Ảnh F được lựa chọn để giấu thông tin cũng phải được chọn kĩ càng Nếu mộtảnh có quá nhiều điểm đen hoặc điểm trắng thì tỉ lệ bit giấu được sẽ rất thấp Thôngthường người ta chọn ảnh gốc là các ảnh lạ, chẳng hạn ảnh cá nhân để giấu tin nhằmtăng độ bảo mật

Nói chung, thuật toán Wu_Lee vẫn chưa đạt được những yêu cầu cần thiết vềkhả năng giấu, độ an toàn thông tin cũng như chất lượng ảnh Tuy nhiên đó là áp dụngđối với ảnh đen trắng, nếu ta áp dụng kỹ thuật này với ảnh màu và ảnh đa cấp xám thì

sẽ thu được kết quả khả quan hơn

1.3.3 Kỹ thuật giấu tin YUAN_PAN_TSENG

Hai tác giả Yu Yuan, Hsiang Kuang Pan và Yu Chee Tseng là chuyên gia Đạihọc quốc gia Đài Loan, đã phát triển một kỹ thuật giấu tin mới trên cơ sở của thuậttoán Wu_Lee Kỹ thuật này sử dụng một ma trận khóa và một ma trận trọng số để giấutin Thuật toán đảm bảo được độ an toàn của thông tin giấu và cũng giấu được nhiềuthông tin trong ảnh bằng cách chỉ thay đổi nhiều nhất 2 bit trong mỗi khối ảnh Đối vớiảnh đen trắng thì kỹ thuật này có nhược điểm là chất lượng ảnh chưa cao, dễ bị pháthiện Một số định nghĩa đã được dùng trong thuật toán của hai tác giả trên:

Trang 30

Định nghĩa 1.5: Khóa bí mật là một ma trận nhị phân có cùng kích thước mxn

với kích thước của khối ảnh Khóa được dùng một cách bí mật mà chỉ có người gửi vàngười nhận đích thực mới biết được

Định nghĩa 1.6: Ma trận W trọng số cấp r là một ma trận số nguyên có kích

thước bằng kích thước của khối ảnh mxn và thỏa mãn các điều kiện sau:

(i) W là ma trận số nguyên có các phần tử nằm trong khoảng giá trị (0,…,2r-1)với r là một số nguyên dương cho trước thỏa mãn 2r < mxn

(ii) Mỗi phần tử có giá trị từ 1 đến 2r -1 xuất hiện ít nhất một lần trong ma trận

Định nghĩa 1.7: Phép đảo bit (bitwise) là một phép biến đổi trên các bit nhị

phân Đảo bit b tương đương với phép biến đổi thay b bởi 1-b

Định nghĩa 1.8: Với mỗi số nguyên dương p, ta xét tập các số dư trong phép

chia cho p, Zp={0, 1, 2, …, p-1} Trên Zp ta thực hiện các phép toán theo modulo pnhư sau: x, y  Zp:

- Phép cộng: x+y (mod p) = (x +y) mod p

- Phép lấy phần tử đối: -x (mod p) = p-x

- Phép trừ: x – y (mod p) = (x+(p-y)) mod p

- Phép nhân: x  y (mod p) = (x  y) mod p

Các phép toán dùng trong ma trận cũng giống như đã định nghĩa ở trên

1.3.3.1 Ý tưởng của Yuang_Pan_Tseng

Ý tưởng chính của thuật toán giấu tin Yuang_Pan_Tseng là sử dụng thêm một

ma trận trọng số kết hợp với ma trận khóa K và để giấu được r bit dữ liệu vào một khối

m x n nhưng chỉ thay đổi nhiều nhất hai bit dữ liệu trên khối

1.3.3.2 Mô tả thuật toán

a Quá trình giấu tin

Input:

- F là một ma trận giá trị các điểm ảnh gốc dùng để giấu tin

- K là một ma trận khóa nhị phân có kích thước mxn

- r là số lượng bit cần giấu trong mỗi khối ảnh kích thước mxn

- D là xâu thông tin cần giấu gồm k*r bít, k là số khối ảnh giấu

- W là một ma trận trọng số r với các giá trị W[i,j] thuộc tập {1,2,…,2r-1} xuấthiện ít nhất một lần

Output:

- Một file ảnh F’ đã giấu tin b

Trang 31

Cách th ứ c th ự c hi ệ n:

Bước 1: Chia ảnh F thành các khối nhỏ F i có kích thước mxn, đặt p = 2 r ; Với

mỗi khối Fi thực hiện các bước biến đổi sau

Bước 2: Tính

T = F iK; P= TW;

Bước 3: Tính tổng s = sum(P) mod p; đặt b=b 1 b 2 …b r ; d = b – s (mod p);

Bước 4: Với mỗi khối T:

Chọn phần tử [j,k] bất kì thuộc S u và đảo bit F i [j,k];

Chọn phần tử [j,k] bất kì thuộc S v và đảo bit F i [j,k];

End;

Thí d ụ :

Giả sử ta có một ma trận ảnh F8x8 Một ma trận khóa K4x4 và một ma trậntrọng số W4x4 Ta giấu 12 bit sau D=001 000 010 001 vào trong ảnh F Cho r = 3

Ban đầu chia F thành các khối ảnh F1, F2, F3, F4 có cùng kích thước 4x4

1 1 1 0 1 0 1 0

0 1 1 0 1 1 1 1

Ngày đăng: 09/12/2016, 18:10

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[15] Trần Tuấn Điệp, Lý Hoàng Tú, Lý thuyết xác xuất và thống kê toán học, Nhà xuất bản giáo dục, 1999 Khác
[16] Phan Đình Diệu, Lý thuyết mật mã và an toàn thông tin, 2007 Khác
[17] Nguyễn Xuân Huy, Trần Quốc Dũng, Giáo trình giấu tin và thủy vân ảnh, Trung tâm thông tin tư liệu, TTKHTN _- CN 2003 Khác
[18] Hồ Văn Canh, Hồ Thị Hương Thơm, giới thiệu về kỹ thuật giấu tin, Tạp chí An toàn thông tin số 4.2010, trang 25 Khác
[19] Võ Thái Hiệu, Nghiên cứu một số kỹ thuật giấu tin trong truyền thông đa phương tiện (Luận văn Thạc sĩ -2010), ĐHCN-ĐHQG Hà Nội Khác
[20] Nguyễn Phương Mai, Giới thiệu về Steganography, Tạp chí An toàn thông tin, số1(002) 2007, trang 33 Khác

HÌNH ẢNH LIÊN QUAN

Hình 1.1: Từ trái qua phải: Mặt nạ, văn bản, thông điệp được truyền bí mật trong - Nghiên cứu và xây dựng chương trình phát hiện ảnh có giấu tin mật bằng phương pháp phân tích độ lệch chuẩn
Hình 1.1 Từ trái qua phải: Mặt nạ, văn bản, thông điệp được truyền bí mật trong (Trang 12)
Hình 1.2.1a: Lược đồ quá trình giấu tin - Nghiên cứu và xây dựng chương trình phát hiện ảnh có giấu tin mật bằng phương pháp phân tích độ lệch chuẩn
Hình 1.2.1a Lược đồ quá trình giấu tin (Trang 13)
Hình 1.3: Cân nhắc giữa chất lượng, dung lượng và tính bền vững - Nghiên cứu và xây dựng chương trình phát hiện ảnh có giấu tin mật bằng phương pháp phân tích độ lệch chuẩn
Hình 1.3 Cân nhắc giữa chất lượng, dung lượng và tính bền vững (Trang 17)
Hình 1.4a: Ví dụ về ảnh đen trắng Ảnh đa mức xám: là ảnh mà mỗi điểm ảnh được biểu diễn bởi một giá trị và - Nghiên cứu và xây dựng chương trình phát hiện ảnh có giấu tin mật bằng phương pháp phân tích độ lệch chuẩn
Hình 1.4a Ví dụ về ảnh đen trắng Ảnh đa mức xám: là ảnh mà mỗi điểm ảnh được biểu diễn bởi một giá trị và (Trang 19)
Hình 1.9: Ma trận ảnh F, ma trận khóa K, ma trận trọng số W - Nghiên cứu và xây dựng chương trình phát hiện ảnh có giấu tin mật bằng phương pháp phân tích độ lệch chuẩn
Hình 1.9 Ma trận ảnh F, ma trận khóa K, ma trận trọng số W (Trang 33)
Hình 2.11: Bảng S* - Nghiên cứu và xây dựng chương trình phát hiện ảnh có giấu tin mật bằng phương pháp phân tích độ lệch chuẩn
Hình 2.11 Bảng S* (Trang 34)
Hình 1.13. Kết quả phép tính (F’i⊕K)⊗W - Nghiên cứu và xây dựng chương trình phát hiện ảnh có giấu tin mật bằng phương pháp phân tích độ lệch chuẩn
Hình 1.13. Kết quả phép tính (F’i⊕K)⊗W (Trang 36)
Hình 3.1. Mô hình hệ thống - Nghiên cứu và xây dựng chương trình phát hiện ảnh có giấu tin mật bằng phương pháp phân tích độ lệch chuẩn
Hình 3.1. Mô hình hệ thống (Trang 55)
Hình 3.2: Một số tệp ảnh thử nghiệm - Nghiên cứu và xây dựng chương trình phát hiện ảnh có giấu tin mật bằng phương pháp phân tích độ lệch chuẩn
Hình 3.2 Một số tệp ảnh thử nghiệm (Trang 57)
Hình 3.3. Giao diện phân hệ giấu tin - Nghiên cứu và xây dựng chương trình phát hiện ảnh có giấu tin mật bằng phương pháp phân tích độ lệch chuẩn
Hình 3.3. Giao diện phân hệ giấu tin (Trang 58)
Hình 3.4. Giao diện phân hệ phát hiện tin giấu - Nghiên cứu và xây dựng chương trình phát hiện ảnh có giấu tin mật bằng phương pháp phân tích độ lệch chuẩn
Hình 3.4. Giao diện phân hệ phát hiện tin giấu (Trang 59)
Hình 3.5. Kết quả thực hiện phát hiện tin giấu - Nghiên cứu và xây dựng chương trình phát hiện ảnh có giấu tin mật bằng phương pháp phân tích độ lệch chuẩn
Hình 3.5. Kết quả thực hiện phát hiện tin giấu (Trang 59)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w