Thuật toán giải tin

Một phần của tài liệu (LUẬN án TIẾN sĩ) một số kỹ thuật giấu tin trong âm thanh số luận án TS máy tính 604801 (Trang 71 - 76)

Chương 3 MỘT SỐ THUẬT TOÁN GIẤU TIN TRÊN MIỀN THỜI GIAN

3.3. Thuật toán giấu bằng điều chỉn h2 mẫu trong một đoạn chứa 25 mẫu

3.3.4. Thuật toán giải tin

Thuật tốn giải tin gồm hai bước, đó là bước tách các bit trong khối và thực hiện khôi phục lại chuỗi bit.

Đầu vào: - Tệp chứa tin mật, khoá K và độ dài chuỗi bit giấu q. Đầu ra: - Chuỗi thông điệp mật.

Bước 1) Chia tệp âm thanh thành các đoạn có kích thước bằng nhau và bằng 25. Mỗi đoạn này sẽ biến đổi thành khối F kích thước 5*5.

Bước 2) Lấy 4 bit trong mỗi khối giấu:

a) Thành lập ma trận A có kích thước 5*5. Giá trị A[i][j] sẽ bit cuối, bit ít quan trọng nhất của F[i][j].

b) Lấy 4 dòng đầu của A, mỗi dòng thực hiện phép exclusive-or tất cả các phần tử trong dịng, ta có r1r2r3r4.

c) Lấy 4 cột đầu tiên của A, mỗi cột thực hiện exclusive-or tất cả các phần tử của mỗi cột để được c1c2c3c4.

d) Thực hiện XOR giữa r1r2r3r4 và c1c2c3c4 để có s1s2s3s4 trong đó s1=r1 XOR c1, s2=r2 XOR c2 và tương tự như vậy.

Bước 3) Dùng khoá K và thực hiện phép biến đổi Arnold, xố các padding nếu có để lấy lại thơng điệp mật M.

Ví dụ ta có đoạn âm thanh gồm 25 mẫu có giá trị như sau:

{18, 39, 65526, 8, 65526, 20, 27, 40, 50, 18, 37, 42, 4, 78, 65519, 46, 65514, 29, 65508, 31, 65500, 5, 65486, 0, 65482}.

Chúng ta chuyển đoạn sang dạng ma trận F5*5 bằng cách lấy lần lượt 5 phần tử của dãy và gán cho mỗi dòng của F. Sau đó dựa vào F ta có ma trận A.

Hình 3.10. Ma trận F và A tương ứng từ các mẫu dữ liệu

Áp dụng Bước 2 trong thuật tốn giấu trên khối A, ta có r1r2r3r4 như sau:

Hình 3.11. Kết quả XOR 4 cợt đầu tiên của từng hàng

Hình 3.12. Kết quả XOR 4 dịng đầu tiên của từng cợt

Thực hiện Bước 3 trong thuật tốn giấu, ta có c1c2c3c4 như hình 3.12. Thực hiện Bước 4 trong thuật tốn giấu ta có kết quả s1s2s3s4 như sau:

Hình 3.13. Kết quả XOR của chuỗi C và chuỗi R

Nếu ta cần giấu 4 bit 0010, do 4 bit giống hồn tồn với chuỗi S nên ta khơng cần thực hiện điều chỉnh nào trên khối dữ liệu.

18 39 65526 8 65526 20 27 40 50 18 37 42 4 78 65519 46 65514 29 65508 31 65500 5 65486 0 65482 0 1 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 0 0 r1 r2 r3 r4 1 1 0 0 c1 c2 c3 c4 1 1 1 0 s1 s2 s3 s4 0 0 1 0

Nếu ta cần giấu 4 bit 0110, do có 1 bit khác nhau với S ở vị trí 2, vì thế ta lật giá trị ơ A[2][5], từ đó dẫn đến điều chỉnh F[2][5]. Kết quả như trong hình 3.14.

Hình 3.14. Kết quả giấu 4 bit 0110 trong khối F

Nếu ta cần giấu 4 bit 0111 vào trong khối F, do có 2 bit khác nhau với S ở vị trí 2 và 4, vì thế ta lật giá trị ô A [2][4]. Kết quả điều chỉnh và giá trị các mẫu dữ liệu âm thanh được thể hiện trong hình 3.15.

Hình 3.15. Kết quả giấu 4 bit 0111 trong khối F

Nếu ta cần giấu 4 bit 1100, có 3 bit khác nhau với S ở vị trí 1, 2 và 3, vì thế ta lật giá trị ô A[1][2] A[3][5]. Kết quả điều chỉnh và giá trị các mẫu dữ liệu âm thanh được thể hiện trong hình 3.16.

Hình 3.16. Kết quả giấu 4 bit 1100 trong khối F

18 39 65526 8 65526 20 27 40 50 19 37 42 4 78 65519 46 65514 29 65508 31 65500 5 65486 0 65482 0 1 0 0 0 0 1 0 0 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 0 18 38 65526 8 65526 20 27 40 50 19 37 42 4 78 65518 46 65514 29 65508 31 65500 5 65486 0 65482 0 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 1 0 1 0 1 0 0 0 18 39 65526 8 65526 20 27 40 51 19 37 42 4 78 65519 46 65514 29 65508 31 65500 5 65486 0 65482 0 1 0 0 0 0 1 0 1 1 1 0 0 0 1 0 0 1 0 1 0 1 0 0 0

Nếu ta cần giấu 4 bit 1101, có 4 bit khác nhau với S ở vị trí 1, 2, 3 và 4, vì thế ta lật giá trị ô A[1][2] và A[3][4]. Kết quả điều chỉnh và giá trị các mẫu dữ liệu âm thanh được thể hiện như hình 3.17.

Hình 3.17. Kết quả giấu 4 bit 1101 trong khối F

3.3.5. Kết quả thử nghiệm và đánh giá

Dưới đây là một kết quả thực nghiệm. Thông tin mật được giấu là dữ liệu ảnh logo đại học Duy Tân, có kích thước 64*64. Tệp âm thanh chứa được lấy mẫu ở tần số 44.1 Hz, dài 58 giây. Khố K gồm thơng tin về số lần dịch chuyển là 4 và kích thước khối là 64. Từ dữ liệu ảnh chuyển đổi này sẽ chuyển thành chuỗi bit để giấu.

Hình 3.18. Ảnh gớc và ảnh sau khi chuyển đổi để giấu tin

Hình 3.19 là biểu diễn một đoạn gồm 50 mẫu của tệp âm thanh gốc và 50 mẫu của tệp âm thanh mang tin sau khi giấu 1 byte dữ liệu. Khi đánh giá theo thang đo ODG giữa hai tệp cho thấy không thể phân biệt được sự khác nhau giữa hai tệp.

18 38 65526 8 65526 20 27 40 50 19 37 42 4 79 65519 46 65514 29 65508 31 65500 5 65486 0 65482 0 0 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 0 0

Bảng 3.4. Bảng giá trị SNR khi giấu tin vào trong các tệp theo kỹ thuật MCPT Tên tệp chứa Giá trị SNR dohoa.cpp (430 byte) DuyTanlogo.bmp (1694 byte) map.gif (14845 byte) jarre-in.wav 82.57 76.04 66.63 gazebo-in.wav 82.57 76.65 67.21 brahms-in.wav 80.51 74.66 65.19 speech-in.wav 75.37 69.42 59.95

Kết quả thử nghiệm giấu nhiều tệp khác nhau trên nhiều tệp âm thanh khác nhau cũng cho thấy kỹ thuật đề xuất đáp ứng được tiêu chí hệ số SNR khi giấu tin.

So với mơ hình CPT áp dụng trên ảnh, kỹ thuật điều chỉnh không sử dụng các phép nhân ma trận con trong quá trình giấu và giải tin nên thời gian thực hiện khi giấu và giải tin nhanh hơn. Tuy nhiên hạn chế của của kỹ thuật là độ mật khơng cao. Trong mơ hình CPT, hai ma trận K và W được dùng làm khoá. Số cách chọn ma trận K là 2m*n và số cách chọn W là (2r -1)m*n. Người thám tin sẽ rất khó dị ra tin mật vì số cách chọn K và W là quá lớn. Để giấu log(mn+1) bit trong khối m*n, mơ hình CPT có độ phức tạp là O(m*n*n). Kỹ thuật đề xuất chọn mỗi đoạn có kích thước 25 để giấu 4 bit, mục đích là để thuận lợi cho việc giấu từng byte dữ liệu. Để khắc phục tính dễ lộ tin giấu của kỹ thuật, thuật toán đề xuất sử dụng phép biến đổi Arnold để xáo trộn dữ liệu. Chi phí cho mỗi lần thực hiện biến đổi khối là O(N2), trong đó N là kích thước của khối. Đối với mỗi khối ta thực hiện k lần biến đổi để xáo trộn dữ liệu. Nếu chuỗi tin mật có độ dài q thì số khối cần xáo trộn là ⌈𝑞⁄𝑁2⌉.

Phương pháp điều chỉnh LSB nguyên thuỷ thay đổi 1 bit dữ liệu để giấu 1 bit tin mật, cho phép giấu nhiều tin nhưng dễ gây nhiễu lên dữ liệu chứa. So với kỹ thuật điều chỉnh LSB, kỹ thuật này giảm một nửa số lần điều chỉnh bit để giấu cùng số bit dữ liệu. Phương pháp giấu chẵn lẻ sẽ thay đổi một mẫu trong khối để giấu 1 bit, dựa vào tính chẵn lẻ của khối và bit cần giấu. Để giấu 4 bit, kỹ thuật giấu chẵn lẻ cũng điều chỉnh nhiều nhất 4 bit của 4 mẫu. Như vậy, so với kỹ thuật giấu chẵn lẻ, kỹ thuật

b )

đề xuất điều chỉnh ít mẫu hơn, trong khi đó dung lượng giấu có thể xem tương đương. Để giấu 4 bit dữ liệu ta cần 25 mẫu dữ liệu âm thanh, hay 1 byte dữ liệu cần 50 mẫu. Tính an tồn của lược đồ giấu phụ thuộc vào việc xáo trộn dữ liệu. Thực chất của việc xáo trộn dữ liệu là thay đổi thứ tự nhúng các bit mật vào trong các mẫu dữ liệu. Nếu người thám tin biết phương pháp điều chỉnh để giấu bit nhưng không biết thứ tự lấy các bit thì cũng khơng biết được tin mật. Vì vậy việc chọn khối có kích thước lớn để xáo trộn dữ liệu là cần thiết.

Kỹ thuật này chỉ phù hợp cho giấu tin mật trong âm thanh, không phù hợp cho thuỷ vân do không bền vững với các tấn cơng. Dựa vào đặc tính ít điều chỉnh dữ liệu của kỹ thuật, ta có thể nâng cao tính bền vững bằng cách chọn các bit ở mức cao hơn để giấu tin thay vì sử dụng bit ở vị trí 1 của mẫu dữ liệu.

Một phần của tài liệu (LUẬN án TIẾN sĩ) một số kỹ thuật giấu tin trong âm thanh số luận án TS máy tính 604801 (Trang 71 - 76)

Tải bản đầy đủ (PDF)

(120 trang)