Tổ chức thực hiện và cài đặt chương trình

Một phần của tài liệu Một số kỹ thuật giấu dữ liệu trong ảnh tĩnh (Trang 57)

Chương trình đã thử nghiệm cài đặt tất cả các kỹ thuật trình bày:

+ Giấu bí mật một lượng dữ liệu bằng thuật toán 2.2.2 với mục đích tăng lượng thông tin giấu và tăng tính bảo mật. Áp dụng kỹ thuật rút LSB đã trình bày phần 2.2.5. Với ảnh 256 màu trở xuống rút một LSB trên một điểm ảnh và sử dụng phương pháp sắp xếp lại bảng màu. Ảnh true_color nếu lượng dữ liệu cần giấu nhiều nên rút tối đa là 4 bit thấp nhất trên 1 byte điểm ảnh, nếu rút nhiều hơn sẽ gây ra nhiễu.

+ Nhúng thuỷ vân sử dụng thuật toán 2.3.1 và thuật toán 2.3.2 vì mỗi thuật toán có ưu điểm bền vững cho một số phép biến đổi ảnh. Khi nhúng thuỷ vân vào điểm ảnh của ảnh true_color vẫn sử dụng rút 4 bit thấp trên một byte điểm ảnh.

Sử dụng thuật toán 2.2.2 . Tiến hành giấu r = 4 bit dữ liệu trong một khối cấp m X n. Quá trình thực hiện gồm:

Giai đoan nhíme dữ liêu:

+ Tách các bit LSB trong ảnh tạo ma trận thứ cấp. + Đọc ma trận khoá, ma trận trọng số cấp m X n.

+ Chuyển tệp dữ liệu sang dạng nhị phân ( giả sử có dung lượng N bit). + Tiến hành nhúng dữ liệu vào ma trận thứ cấp theo thuật toán, dữ liệu cần nhúng bao gồm:

32 bit : kích thước file dữ liệu.

8 bit : độ dài tên file ( giả sử M bit), nếu bằng 0 giấu thông điệp.

M bit : tên file.

N bit : dữ liệu cần giấu.

Tổng cộng dữ liệu giấu vào ảnh : (32 + 8 +M + N ) bit. + Chuyển ma trận thứ cấp vào ảnh thu được ảnh kết quả.

Giai đoan tách dữ liêu:

+ Tách các bit LSB trong ảnh kết quả tạo ma trận thứ cấp. + Đọc ma trận khoá, ma trận trọng số cấp m X n.

+ T ách 3 & b it dữ liệu đầu để xác định dung lượng dữ liệu đã giấu, tách tiếp độ dài tên file để tách tên file. Sau đó bắt đầu đọc dữ liệu ghi vào file có tên vừa tách được. Quá trình đọc sẽ ngừng khi dữ liệu tách ra bằng dữ liệu giấu vào hoặc hết ma trận thứ cấp.

Kết quả thử nghiệm :

Thử nghiêm L Giấu bí mật dữ liệu vào ảnh 256 màu, mỗi điểm ảnh lấy một bit thấp nhất làm bit LSB .

Ảnh môi trường 256 màu, kích thước 320 X 199, dung lượng 64 Kb. M a trận khoá cấp 4 x 4 , giấu r = 4 bit trong một khối.

Dữ liệu giấu là file dạng text dung lượng 1Kb.

Hình 7 là ảnh gốc và ảnh thu được sau khi nhúng dữ liệu.

a) Ảnh gốc b) Ảnh đã nhúng dữ liệu

H ình 7: Giấu 4 bit dữ liệu vào khối 4 x 4 trên ảnh 256 màu

Nhân xét: Nếu để nguyên ảnh mang tin (hình 7b) nhìn mắt thường cũng thấy

xuất hiện m ột số điểm nhiễu nhưng không đáng kể. Khi phóng to ảnh 200% thấy rõ sự khác nhau ở giữa hai ảnh, có nhiều chấm đen xuất hiện trên cánh hoa. Rõ ràng với những ảnh có nền sáng khó che giấu nhiễu trên ảnh kết quả. Nên sử dụng phương pháp xếp lại bảng màu để giảm nhiễu.

Thửnshiêm 2 : Giấu dữ liệu sử dụng phương pháp xếp lại bảng màu

Để thấy rõ nhiễu xuất hiện ta thí nghiệm trên ảnh 256 màu chỉ sử dụng 5 màu, nền ảnh màu trắng, chữ màu đen, đỏ, xanh, tím. Kích thước ảnh môi trường 46 kb, kích thước dữ liệu cần giấu 909 byte. Tiến hành nhúng 4 bit dữ liệu vào khối 4 x 4 . Hình 8 là ảnh sau khi nhúng dữ liệu bằng hai phương

pháp: không tạo lại bảng màu (hình 8a), tạo lại bảng màu (hình 8b). Rõ ràng không xếp lại bảng màu với những vùng có độ chênh lệch màu lớn dễ nhận thấy rõ những điểm ảnh bị thay đổi, cụ thể trên ảnh vùng màu trắng xuất hiện những chấm khác màu. Khi xếp lại bảng màu ảnh mang dữ liệu đã nhúng không khác ảnh gốc, trên ảnh chỉ xuất hiện 5 màu ban đầu (hình 8b). Như vậy xếp lại bảng màu cũng là một phương pháp chống nhiễu cho ảnh kết quả.

t .*.* • ' .*•' y ••• / »■' I. *1' 1' ' • ■« 'm' • V • ' t \ y V 8 V < . . •’ / / • "'y " ' • ~ ' • em o D a t a H i d i n g ỉ n I m a g e s a ) Ả n h kế t q u ả k h i gi ấ u dữ b) Ả n h k ế t q u ả k h i g i ấ u d ữ l i ệ u , l i ệ u k h ô n g x ếp l ạ i b ản g m àu s ử d ụ n g xế p l ạ i b ản g m àu

H ình 8:Áp dụng phương pháp xếp lại bảng màu giấu 4 bit dữ liệu vào khối 4 x 4 trên ảnh 256 màu

Thử nghiêm 3 . Tăng dung lượng nhúng dữ liệu vào ảnh true - color, rút 4 bit LSB trên một byte màu của điểm ảnh (hình 9).

Dữ liệu nhúng là file văn bản dung lượng: 47Kb ( khoảng 13 trang văn bản). Ảnh môi trường Bliss _ w kích thước 800 X 600 điểm, dung lượng 1,37 Mb. Ma trận khoá cấp 4 x 4 , giấu r = 4 bit trong một khối. Không xuất hiện nhiễu trên ảnh kết quả. So sánh ảnh gốc hình 9a và ảnh kết quả hình 9b, không nhận thấy sự khác biệt giữa hai ảnh. (adsbygoogle = window.adsbygoogle || []).push({});

a) Ảnh gốc b) Ảnh mang tin (rút 12LSB/pixel)

H ình 9 : Giấu 4 bit dữ liệu vào khối 4 x 4 trên ảnh 24 bit màu

Nhân xét: Nếu rút 4 LSB trên một điểm ảnh, khả năng nhúng tối đa khoảng 140Kb. Ảnh mang tin không bị nhiễu. Nhưng chỉ cần lấy mỗi byte màu thêm 1 bit LSB chất lượng ảnh mang tin giảm rõ rệt xem hình 10. Dữ liệu tách từ ảnh kết quả giống như dữ liệu gốc. Chúng tôi đã thử nghiệm giấu một file chương trình, khi tách dữ liệu file chương trình này vẫn hoạt động tốt. Thuật toán giấu và tách thực hiện nhanh.

H ìnhlO : Ảnh kết quả, sử dụng 5 LSB trên 1 byte màu đ ể giấu dữ liệu

3.2.2. N húng thuỷ vân vào ảnh

Sử dụng thuật toán 2.3.1. Thuỷ vân là chuỗi các bit Wị, w2 ... wn . Vì mắt thường kém nhạy với màu blue, nên ta tách kênh blue của ảnh biến đổi DCT để giấu dữ liệu vào hệ số điều biến.

Giai đoan nhúng:

+ Có ảnh gốc, thuỷ vân, cường độ nhúng a . + Tách kênh Blue của ảnh gốc

+ Tính các hệ số DCT 2 chiều của kênh Blue.

+ Lọc n hệ số mạnh nhất thay thế: Hệ s ố mới = Hệ s ố cũ x( ỉ + 0CWị) + Biến đổi DTC 2 chiều ngược từ không gian tần số về không gian màu. Chuyển các đỉnh vượt khỏi giới hạn màu về cận màu gần nhất với nó.

+ Lưu lại ảnh thu được ảnh kết quả.

Giai đoan xác đinh sư có măt thuỷ vân:

Xác định thuỷ vân thông qua sai số. Cần ảnh gốc, ảnh kết quả, thuỷ vân, cường độ nhúng a , sai số Sị, s2.

+ Tách kênh Blue của ảnh gốc, ảnh kết quả. Biến đổi DCT 2 chiều cho 2 kênh này.

+ Y ^ _ Hệ số ảnh kết quả - Hệ số ảnh gốc a.H ê số ảnh gốc

+ Tính chỉ số đồng dạng, và độ lệch trung bình:

+ Kết luận ảnh có thuỷ vân hay không với Sj, s2 cho trước.

Nhân xét:

+ Cuờng độ a thể hiện độ bền vững của thuỷ vân, nếu a lớn thuỷ vân bền vững nhưng ảnh sẽ bị nhiễu, a nhỏ thuỷ vân kém bền vững bù lại không gây nhiễu trên ảnh. Qua thực nghiệm cho thấy chọn a = 0,1 là phù hợp.

+ Sai số nhỏ ảnh hưởng đến tính bền vững của thuỷ vân, chọn sai số lớn dễ dẫn đến kết luận sai. Thực nghiệm nhúng thuỷ vân vào ảnh true_color

kích thước 800 X 600 điểm ảnh chọn sai số cho phép bé hơn 0,2. Thuỷ vân nhúng vào bển vững với phép nén JPEC, phép nhiễu đồng bộ, lọc trung vị. K ết q u ả th ự c nghiệm :

Thử nshiêm 3 : Nhúng thuỷ vân là dòng chữ “Võ Thanh Hải - Học viên lớp K8T1 - Khoa Công nghệ - ĐHQGHN” vào ảnh Bliss_w kích thước 800x600, cường độ nhúng a = 0,1, ảnh kết quả là hình 11, không xuất hiện nhiễu trên ảnh. Xác đinh độ đồng dạng Sim0 = 8,2559, độ lệch trung bình Eo=0,2625.

H ình 11: Ảnh nhúng thuỷ vân bằng lược đồ NEC cuờng độ 0,1.

- Nén JPEC ảnh hình 11 sau đó giải nén, xác định thuỷ vân ta có: Chỉ số đồng dạng : Sim(W ,W ’) =7,0793 sai số (M ^S im ,, Độ lệch trung bình: E (W ’) = 0,3063 sai số 0,17*Eo

Kết quả cho thấy lược đồ này bền vững quá trình nén mất mát thông tin JPEC.

- Thêm nhiễu vào ảnh hình 11 sau đó xác đinh thuỷ vân:

Chỉ số đồng dạng : Sim(W ,W ’) =7,0436 sai số 0,15*Simo Độ lệch trung bình: E(W ’) = 0,3 sai số 0,14*Eo

Như vậy mặc dù chất lượng ảnh bị giảm rất nhiều khi thêm nhiễu nhưng điều kiện xác định thuỷ vân vẫn khả quan, sai số chấp nhận được.

- Ảnh hình 11 qua phép lọc trung vị sau đó xác định thuỷ vân:

Chỉ số đồng dạng Sim(W,W’) =7,9812 sai số 0,03*Simo Độ lệch trung bình: E (W ’) = 0,2729 sai số 0,04*Eo (adsbygoogle = window.adsbygoogle || []).push({});

Kết quả này cho thấy lược đồ NEC bền vững với các phép lọc thông thấp.

- Cắt một phần ảnh hình 11 kích thước 717 X 478, sau đó xác định thuỷ vân: Chỉ số đồng dạng Sim(W,W’) =1,2247 sai số 0,85*Simo Độ lệch trung bình: E (W ’) = 0,3958 sai số 0 ,5 1*E0 Như vậy thuỷ vân không bên vững với phép cắt ảnh.

- Khi tách ảnh không chứa thuỷ vân hoặc thuỷ vân khác với thuỷ vân dùng để xác định, độ đồng dạng và độ lệch trung bình có sai số khá lớn. Tách ảnh không chứa thuỷ vân:

Chỉ số đồng dạng Sim(W,W’) = không xác định. Độ lệch trung bình: E (W ’) = 0,3958 sai số 0,51*Eo

Nhàn xét: Bằng số lần thực nghiệm khá lớn trên nhiều ảnh kết quả chọn Sị, s2

nhỏ hơn 0,2 là hợp lý, khả năng xác định ảnh có chứa thuỷ vân đúng đến 90% với các phép biến đổi ảnh: nén, lọc trung vị, nhiễu,

Thực hiện nhúng thuỷ vân vào điểm ảnh

Sử dụng thuật toán 2.3.2. Thuỷ vân là ảnh trắng đen có kích thước tương đối nhỏ so ảnh môi trường. Nên sử dụng ảnh môi trường true_color, rút 4 LSB trên mỗi bit màu của điểm ảnh.

G ia i đ o a n n h ú n g th u ỷ vân :

+ Tách các bit LSB trong ảnh tạo ma trận thứ cấp.

+ Đọc dữ liệu ảnh của thuỷ vân chuyển sang dạng nhị phân. + Tiến hành nhúng thuỷ vân vào ma trận thứ cấp theo thuật toán + Chuyển ma trận thứ cấp vào ảnh thu được ảnh kết quả.

+ Có ảnh kết quả, kích thước ảnh thuỷ vân, xác suất chấp nhận p. + Tách các bit LSB trong ảnh kết quả tạo ma trận thứ cấp.

+ Xác định thuỷ vân theo thuật toán.

Nhân xét:

+ Quá trình tách thuỷ vân không cần ảnh gốc, không phục hổi lại ảnh gốc, không cần thuỷ vân gốc. Tính bảo mật phụ thuộc vào kích thước thuỷ vân cụ thể chiều rộng và chiều cao của ảnh thuỷ vân.

+ Vì thuỷ vân xác định phụ thuộc vào xác suất, thông thường không chính xác giống như thuỷ vân gốc. Do đó chọn ảnh làm thuỷ vân dễ nhận biết mức độ giống nhau của thuỷ vân tách được với thuỷ vân gốc. Qua kết quả thử nghiệm cho thấy nên chọn 0,55 < p < 0,7. Việc chọn p còn phụ thuộc vào kích thước thuỷ vân so với ảnh. Nên chọn thuỷ vân có kích thước nhỏ hơn

1Kb.

+ Thuỷ vân bền vững qua các phép xử lý ảnh: cắt ảnh nhỏ ( lớn hơn 1/4), phép quay ảnh sau đó quay lại, tăng giảm cường độ sáng.

+ Thuỷ vân bị phá vỡ khi ảnh chịu tác động: nén, giải nén, co, dãn, thêm nhiễu.

Kết q u ả th ử nghiệm :

Ẩnh môi trường true_color Bliss _ w kích thước 800 X 600 điểm, dung lượng 1,37Mb.

Thuỷ vân ảnh 2 mức kích thước 96 X 45 điểm, dung lượng 602 byte.

Thưc nghiêm 4 : Nhúng thuỷ vân vào ảnh B liss_w , hình 12 là ảnh gốc và ảnh đã nhúng thuỷ vân, thuỷ vân gốc và thuỷ vân tách từ ảnh kết quả xác suất p = 0,6826 (hình 13). Nhìn bằng mắt thường ảnh gốc ảnh kết quả giống nhau. Thuỷ vân thu được có ít nhiễu, dễ dàng nhận thấy giống thuỷ vân gốc.

Hình 14 là các thuỷ vân tách đuợc trên cùng ảnh hình 12b, với các mức xác suất khác nhau. Rõ ràng nếu chọn xác suất p lớn cũng không phải là giải pháp tốt.

a) Ảnh gốc b) Ảnh đã nhúng thuỷ vân

H ình 12: Anh gốc và ảnh đã nhúng thuỷ vân, p = 0,6826

a) Thuỷ vân gốc b)Thuỷ vân tách từ ảnh 12b

H ình 13: Thuỷ vân gốc và thuỷ vân tách từ ảnh 12b, p = 0,6826

p =0-4-614 M>.6, 0.6] Ps0.B160 [-0.7, 0.7] PsO.6312 Ỉ-0.9A 91 w M p =0.6826 M, 1] p =0.8284 [-1-4, 1.41 Ĩ S m p=0.91 1-1.7, 1.7] (adsbygoogle = window.adsbygoogle || []).push({});

H ình 14: Thuỷ vân tách ra từ ảnh 12b với các giá trị p

Thưc m hiêm 5 : T iến hành cắt ảnh có chứa thuỷ vân (hình 12b) sau đó tách thuỷ vân với xác suất p = 0,6826. Anh và thuỷ vân tách được như hình 15, rõ ràng thuỷ vân bền vững v ớ i phép cắt.

a) Ảnh cắt từ ảnh hìnhl2b, kích thước 640x330 V I v u I c) Thuỷ vân tách từ ảnh 6 40x330 b) Ảnh cắt từ ảnh hình 12b, kích thước 480 X 460 d) Thuỷ vân tách từ ảnh 480x460

H ình 15: Thuỷ vân tách ra từ ảnh kết quả qua phép cắt ảnh

Thưc niỉhiêm 6: Quay ảnh có chứa thuỷ vân (hình 12b) 15%, rồi quay lại ảnh

đúng vị trí ban đầu, sau đó tách thuỷ vân với xác suất p = 0,6826 thu được hình 16a. Hình 16b là thuỷ vân tách được sau khi ảnh hình 12b bị giảm cường độ sáng. a)Thuỷ vân tách từ ảnh qua phép quay m VUI b)Thuỷ vân tách từ ảnh giảm cường độ sáng

H ình 16 : Thuỷ vân tách ra từ ảnh hình 12b bị quay và giảm cường độ sáng

Giấu dữ liệu bí mật, thuật toán 2.2.2 khi thưc hiện cho kết quả tương đối tốt. Dung lượng giấu khá cao, với ảnh true_color nếu giấu 4 bit trên một khối 4x 4. Dung lượng giấu xấp xỉ 10% lần dung lượng ảnh. Tuy nhiên việc lưu thông tệp ảnh có dung lượng lớn trên Internet không tiện lắm. Có thể dùng ảnh đa cấp xám làm ảnh môi trường.

Nhúng thuỷ vân bằng thuật toán 2.3.2 không bền vững với nén mất mát thông tin, nhưng kết quả tách thuỷ vân tương đối rõ ràng dễ thuyết phục đối phương chấp nhận. Phương pháp này dùng để xác nhận bản quyền tác giả ảnh số. Đối với thuật toán 2.3.1 thuỷ vân được đánh giá có hoặc không, thường dùng trong “điểm chỉ số” , xác định quyền sử dụng hợp pháp của bức ảnh.

K ế t l u ậ n v à đ ề n g h ị K ết luận

Bảo mật thông tin và xác nhận chủ nhân của thông tin đang là vấn đề được các nhà khoa học và xã hội quan tâm vì hiện nay việc xâm phạm bất hợp pháp dữ liệu số trở nên phổ biến, đặc biệt là dạng dữ liệu đa phương tiện. Một trong hướng tiếp cận về lĩnh vực này là giấu dữ liệu vào trong các bức ảnh, cho bức ảnh lưu hành công khai trên các phương tiện truyền thông. Luận văn này đã tổng hợp những nét cơ bản của lĩnh vực giấu dữ liệu trong ảnh tĩnh. Tập trung tìm hiểu theo hai hướng: giấu bền vững và giấu không bền vững dữ liệu vào ảnh. Cải tiến các kỹ thuật để tăng tính vô hình và lượng dữ liệu giấu, giảm nhiễu tối đa trên ảnh mang tin.

Chương một trình bày khái quát về bài toán giấu dữ liệu trong một dữ liệu khác và các hướng tiếp cận. Mỗi kỹ thuật giấu dữ liệu luôn phải thoả hiệp các yếu tố: bền vững, vô hình, dung lượng vì các yếu tố này luôn mâu thuẫn với nhau. Tuỳ theo từng ứng dụng cụ thể người sử dụng có thể chọn phương pháp phù hợp, đặt yêu cầu nào trên yêu cầu nào.

Giấu bí mật (steganography) chủ yếu quan tâm đến tính bảo mật của dữ liệu giấu và tăng tỷ lệ giấu tin. Bảo mật các dữ liệu giấu vào ảnh thể hiện ở chỗ không phát hiện được trong ảnh có chứa dữ liệu ẩn, hoặc giả sử có nghi ngờ nhưng khó lấy chính xác dữ liệu đã nhúng vào ảnh. Giấu bí mật không quan tâm đến tính bền vững, nếu ảnh mang tin bị thay đổi dù vô tình hay cố ý thì không thể phục hồi lại đầy đủ dữ liệu đã giấu, đây cũng là phương pháp lùm tăng tính bảo mật của steganography.

Trong khi đó kỹ thuật nhúng thuỷ vân (watermark) lại chú trọng đến

Một phần của tài liệu Một số kỹ thuật giấu dữ liệu trong ảnh tĩnh (Trang 57)