Tóm tắt Luận án Bảo mật dữ liệu bằng kỹ thuật giấu tin trong audio

Chương 2 CÁC PHƯƠNG PHÁP GIẤU TIN TRONG ÂM THANH

2.1 Các kỹ thuật bổ trợ cho giấu tin

2.1.1 Các phép biến đổi từ miền thời gian sang miền tần số

2.1.1.1 Phép biến đổi Fourier rời rạc (DFT)

2.1.1.2 Phép biến đổi wavlet (DWT)

2.1.2 Xáo trộn dữ liệu

Mục đích của việc xáo trộn dữ liệu là gây khó khăn cho người thám tin,

làm cho họ khó khôi phục lại tin mật nếu biết thuật toán rút trích tin.

2.1.2.1 Xáo trộn dữ liệu theo chuỗi hoán vị

2.1.2.2 Xáo trộn dữ liệu bằng phép biến đổi Arnold

2.1.3 Kỹ thuật sinh chuỗi giả ngẫu nhiên

Các phương pháp giấu tin thường dùng kết hợp với các chuỗi ngẫu

nhiên để thực hiện giấu tin. Chẳng hạn như kỹ thuật trải phổ.

2.1.3.1 Bộ sinh đồng dư (congruential generator)

2.1.3.2 Bộ sinh Fibonacci

2.1.3.2 Bộ sinh số Mersenne Twister

2.2 Đánh giá các phương pháp giấu tin trong audio

pdf27 trang | Chia sẻ: lavie11 | Lượt xem: 765 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Tóm tắt Luận án Bảo mật dữ liệu bằng kỹ thuật giấu tin trong audio, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ình 1.1. Sơ đồ trao đổi thông tin có dùng mã hoá. Mã hóa hoặc mật mã hóa dữ liệu là cơ chế chuyển đổi dữ liệu từ bản rõ sang một định dạng khác không thể đọc được gọi là bản mã để có thể ngăn cản những truy cập bất hợp pháp khi dữ liệu trao đổi thông tin. Có hai loại mã hóa chính là mã hóa khóa đối xứng và mã hóa khoá công khai. 1.2.1 Mã hóa khóa đối xứng 1.2.2 Mã hóa khoá công khai 1.3. Giấu thông tin Giấu thông 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 thông 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 mật cho chính đối tượng được dùng để giấu tin. 4 1.3.1 Các thành phần của Hệ giấu tin Một hệ giấu tin gồm có các thành phần chính sau đây: + Thông điệp mật (secret message). + Dữ liệu chứa hay môi trường sẽ chứa tin mật (host signal). + Khoá viết mật K, tham gia vào quá trình giấu tin để tăng tính bảo mật. + Dữ liệu chứa tin mật hay môi trường đã chứa tin mật (stego signal). Sơ đồ của một hệ giấu tin như sau : Hình 1.5. Sơ đồ của hệ giấu tin số. 1.3.2 Phân loại giấu tin Các kỹ thuật giấu thông tin được phân biệt nhau bởi những đặc trưng, tính chất và ứng dụng. Ví dụ ta có thể phân loại các kỹ thuật giấu tin theo miền xử lý, kiểu tài liệu và theo khả năng tri giác của con người. 1.3.3 Các tính chất hệ giấu tin. 1.3.3.1 Tính “vô hình” (Tính bí mật) 1.3.3.2 Khả năng chống giả mạo (Tính toàn vẹn) 1.3.3.3 Tính bền vững 1.3.3.4 Dung lượng tin giấu 1.3.3.5 Độ phức tạp tính toán 1.3.4 Tấn công hệ thống giấu tin. Tấn công một hệ giấu tin là các phương pháp để phát hiện, phá huỷ, trích rút hay sửa đổi tin mật. Sau đây là một số dạng tấn công. 1.3.4.1 Phân tích file chứa tin Quá trình Giấu tin Quá trình Giải tin Khoá K Khoá K Host Signal Stego Signal Network Secret message Host Signal Secret message 5 1.3.4.2 Đối sánh với dữ liệu gốc 1.3.4.3 Định dạng lại 1.3.4.4 Tấn công theo kiểu nén 1.3.5 Các ứng dụng của giấu tin 1.3.5.1 Liên lạc bí mật 1.3.5.2 Bảo vệ bản quyền (copyright protection) 1.3.5.3 Nhận thực hay phát hiện xuyên tạc thông tin (authentication and tamper detection) 1.3.5.4 Giấu vân tay hay dán nhãn (fingerprinting and labeling) 1.3.5.5 Điều khiển sao chép (copy control) 1.4 Giấu tin trong audio Giấu tin trên audio tập trung khai thác khả năng cảm nhận của hệ thính giác người (Human Auditory System). Hình 1.9. Hệ thống thính giác của con người. 1.4.1 Ngưỡng nghe Phạm vi nghe của tai người trong khoảng từ 20Hz đến 20 kHz nhưng nghe rõ nhất đối với âm thanh trong phạm vi từ 1kHz đến 4kHz. 1.4.2 Hiện tượng masking Hiện tượng che khuất tín hiệu âm thanh (auditory masking) xảy ra khi một âm thanh này ảnh hưởng đến sự cảm nhận của âm thanh khác. Âm thanh bị che gọi là maskee, âm thanh che là masker. Hiện tượng masking xảy ra trên cả miền thời gian lẫn miền tần số. 6 1.5 Biểu diễn âm thanh trên máy tính 1.5.1 Biểu diễn âm thanh số Để lưu trữ, xử lý âm thanh bằng máy tính, các tín hiệu âm thanh cần phải được chuyển từ dạng tương tự sang dạng số. Hình 1.17 thể hiện quá trình lấy mẫu, lượng tử hoá khi chuyển tín hiệu ở dạng tương tự sang dạng số. Hình 1.17. Lượng tử hoá và biểu diễn dạng số tín hiệu tương tự 1.5.2 Các định dạng âm thanh phổ biến trên các nền tảng máy tính Các phương pháp giấu tin phụ thuộc vào định dạng âm thanh, kiểu âm thanh trên các nền tảng khác nhau. Ngoài ra tỉ lệ dữ liệu giấu cũng phụ thuộc vào file âm thanh ở dạng nén hay ở dạng thô. 1.6 Một số chương trình giấu tin trên audio. Có nhiều chương trình cho phép giấu tin trong audio như MP3Stego, OpenPuff. Tổng kết chương 1 Trong chương 1 trình bày tổng quan về an toàn thông tin và các khái niệm liên quan bài toán giấu tin, phân loại giấu tin và các ứng dụng của giấu tin. Trong chương này cũng trình bày về đặc tính của hệ thống thính giác của con người, cách biểu diễn âm thanh trên máy tính, các định dạng âm thanh và một số phần mềm giấu tin vào dữ liệu audio đã triển khai trong thực tế. 7 Chương 2 CÁC PHƯƠNG PHÁP GIẤU TIN TRONG ÂM THANH 2.1 Các kỹ thuật bổ trợ cho giấu tin 2.1.1 Các phép biến đổi từ miền thời gian sang miền tần số 2.1.1.1 Phép biến đổi Fourier rời rạc (DFT) 2.1.1.2 Phép biến đổi wavlet (DWT) 2.1.2 Xáo trộn dữ liệu Mục đích của việc xáo trộn dữ liệu là gây khó khăn cho người thám tin, làm cho họ khó khôi phục lại tin mật nếu biết thuật toán rút trích tin. 2.1.2.1 Xáo trộn dữ liệu theo chuỗi hoán vị 2.1.2.2 Xáo trộn dữ liệu bằng phép biến đổi Arnold 2.1.3 Kỹ thuật sinh chuỗi giả ngẫu nhiên Các phương pháp giấu tin thường dùng kết hợp với các chuỗi ngẫu nhiên để thực hiện giấu tin. Chẳng hạn như kỹ thuật trải phổ. 2.1.3.1 Bộ sinh đồng dư (congruential generator) 2.1.3.2 Bộ sinh Fibonacci 2.1.3.2 Bộ sinh số Mersenne Twister 2.2 Đánh giá các phương pháp giấu tin trong audio 2.2.1 Đánh giá bằng các độ đo 2.2.1.1 Độ đo SNR Giá trị của SNR chỉ số lượng thay đổi trên dữ liệu chứa do chèn dữ liệu mật vào và được tính theo thang độ decibel. (2.5) 2.2.1.2 Độ đo MSE (Mean Squared Error) MSE dùng để đo độ méo (distortion) của âm thanh. Nó được tính theo (2.6), trong đó x(n) là âm thanh gốc và y(n) là âm thanh chứa tin giấu. (2.6) 8 2.2.1.3 Khoảng cách Czenakowski (Czenakowski Distance) 2.2.2 Đánh giá bằng các phần mềm phát hiện tin 2.2.3 Đánh giá bằng bảng đánh giá ODG (Object Difference Grade) 2.3. Một số phương pháp giấu tin trong âm thanh 2.3.1 Phương pháp điều chỉnh bit ít quan trọng nhất (LSB coding) Ý tưởng chính của kỹ thuật này là thay thế các bit cuối cùng của mẫu dữ liệu bằng các bit cần giấu để giấu tin. 0 1 0 1 1 1 1 0 Sau khi giấu bit 1 sẽ như sau: 0 1 0 1 1 1 1 1 Hình 0.1. Điều chỉnh bit thấp nhất của mẫu để giấu bit 1. 2.3.2 Phương pháp chẵn lẻ (parity coding) Phương pháp chẵn lẻ cũng tương tự như phương pháp mã hoá LSB nhưng thay vì dùng một mẫu dữ liệu sẽ một nhóm các mẫu. 2.3.3 Phương pháp mã hoá pha (phase coding) Phương pháp mã hoá pha giấu tin thông qua việc thay thế pha của một segment audio ban đầu bằng một pha tham chiếu thể hiện dữ liệu. Hình 2.9 Sự dịch chuyển pha của tín hiệu 2.3.4 Phương pháp mã hoá tiếng vọng (Echo coding) Phương pháp mã hoá tiếng vọng nhúng tin vào một tín hiệu âm thanh gốc bằng cách thêm tiếng vọng vào tín hiệu gốc. Ta có công thức giấu như sau: (2.9) 2.3.5 Phương pháp trải phổ 2.3.6 Phương pháp điều chỉnh biên độ Trong phương pháp này, thông tin được nhúng bằng cách thay đổi năng lượng của 2 hay 3 khối (block). 9 2.3.7 Phương pháp lượng tử hoá (Quantization) Phương pháp lượng tử hoá sẽ thay thế giá trị một mẫu x thành y để giấu tin. Công thức điều chỉnh x thành y như sau: (2.16) 2.3.8 Điều chế tỉ lệ thời gian Ý tưởng cơ bản của phương pháp này là thay đổi tỉ lệ thời gian giữa hai cực đang xét để giấu tin. 2.3.9 Phương pháp giấu dựa vào Patchwork 2.3.10 Phương pháp dựa vào các đặc trưng nổi bật Tổng kết chương 2 Chương hai của luận án đã trình bày về các kỹ thuật bổ trợ cho giấu tin trong audio, các kỹ thuật xáo trộn dữ liệu nhằm mục đích thay đổi thứ tự các bit dữ liệu mật khi giấu vào tín hiệu âm thanh, các kỹ thuật sinh số ngẫu nhiên, các phương pháp giấu và các tiêu chí đánh giá các thuật toán giấu tin. Chương 3 MỘT SỐ THUẬT TOÁN GIẤU TIN TRÊN MIỀN THỜI GIAN 3.1 Phương pháp giấu tin kết hợp mã Hamming Kỹ thuật giấu tin được kết hợp với các kỹ thuật mã hoá Hamming như là một cải tiến nhằm giúp cho người nhận tin hạn chế khả năng nhận tin sai. 3.1.1 Mã Hamming hỗ trợ xác thực Với mỗi nhóm 4 bit dữ liệu, mã Hamming thêm 3 bit kiểm tra. Thuật toán (7,4) của Hamming có thể sửa chữa bất cứ một bit lỗi nào, và phát hiện tất cả lỗi của 1 bit, và các lỗi của 2 bit gây ra [75]. Mã Hamming dùng hai ma trận G và H để mã hoá và kiểm tra lỗi. 3.1.2 Quá trình giấu tin Đầu vào: - File âm thanh gốc C - Chuỗi bit M cần giấu có độ dài L (L là bội số của 8) Đầu ra: - File âm thanh chứa tin giấu C’. 10 Bước 1) Mã hóa Bước 2) Giấu tin - Đọc file chứa C, trích phần header và phần dữ liệu. - Kiểm tra file chứa có đủ để giấu chuỗi bit M’ không. Nếu không đủ thì thì dừng và báo không giấu được. Ngược lại sẽ ghi header của vào C’ sau đó thực hiện giấu từng bit của chuỗi M’ vào phần dữ liệu của C để ghi ra C’ như sau : + Trích tuần tự 3 mẫu dữ liệu của C và tính tổng. Nếu bit đang xét của M’ là 1 mà tổng lẻ thì không phải phải làm gì, ngược lại điều chỉnh mẫu số 2 của 3 mẫu đang xét để cho tổng là số lẻ. Nếu bit đang xét của M’ là 0 mà tổng chẵn thì không phải phải làm gì, ngược lại điều chỉnh mẫu thứ 3 (hoặc mẫu thứ 1) của 3 mẫu đang xét để cho tổng là số chẵn. + Ghi 3 mẫu đang xét ra file C’. - Lặp lại hai bước con trên bước trên cho đến khi toàn bộ các bit của chuỗi M’ đã được giấu. - Ghi các mẫu còn lại từ C vào C’ và kết thúc. 3.1.3 Quá trình giải tin xác thực tin giấu Đầu vào: - File âm thanh chứa tin giấu C’, độ dài chuỗi bit cần lấy. Đầu ra: - Chuỗi bit M cần lấy, hoặc kết luận không lấy tin. Bước 1) Trích thông tin Dựa vào khóa k, kỹ thuật giấu và số bit giấu đã được biết trước, ta tiến hành trích chuỗi bit từ dữ liệu C’’, kết quả ta thu được M’. Bước 2) Xác thực Chia M’ thành các đoạn có độ dài 7, tiến hành nhân từng đoạn này với H để kiểm tra có lỗi hay không. Nếu không có lỗi hoặc lỗi có thể sửa được thì trích các bit trong mỗi đoạn, ngược lại không thì không lấy tin. 11 Hình 3.3 dưới đây là thử nghiệm giấu 100 byte dữ liệu vào file âm thanh file WindowsLogOn.wav, hình minh hoạ cho đoạn đầu gồm 10000 mẫu. Hình 3.3 Dữ liệu âm thanh gốc (trên) và dữ liệu có chứa tin mật (dưới) 3.1 Phương pháp giấu điều chỉnh giá trị nhóm bit Quá trình giấu tin cũng gồm 2 giai đoạn. Giai đoạn 1 sẽ dùng khoá mật K để sinh ra chuỗi ngẫu nhiên gồm L số, trong đó L là chiều dài chuỗi bit mật. Giai đoạn 2 sẽ giấu lần lượt từng bit của chuỗi tin mật vào trong file âm thanh dựa vào chuỗi ngẫu nhiên đã sinh. Việc giấu tin dựa vào chuỗi ngẫu nhiên nhằm mục đích tăng cường tính mật cho tin giấu trong dữ liệu audio. 3.2.1 Sinh chuỗi ngẫu nhiên Khoá K gồm ba số (x, y, N) sẽ được dùng như số mồi và hệ số trong công thức sinh để sinh chuỗi S, chuỗi ngẫu nhiên gồm L số. Công thức (3.3) dùng để sinh dãy SRN: (3.3) 3.2.2 Điều chỉnh độ lệch bit Nếu đổi bit ở vị trí 3 từ 0 thành 1, ta sẽ đổi các bit ở vị trí 2 và ở vị trí 1 thành 0 và nếu đổi bit ở vị trí 3 từ 1 thành 0 ta sẽ đổi các bit ở vị trí 2 và ở vị trí 1 thành 1. Tương tự, nếu đổi bit ở vị trí 2 từ 0 thành 1, ta sẽ đổi bit ở vị trí 1 thành 0 và nếu đổi bit ở vị trí 2 từ 1 thành 0 ta sẽ đổi bit ở vị trí 1 thành 1. 3.2.3 Thuật toán giấu tin Đầu vào: - File âm thanh A, chuỗi M có độ dài L, khoá K gồm ba số (x, y, N). 12 Đầu ra: - File âm thanh A’ có chứa chuỗi bit M. Bước 1) Chuẩn bị: Dựa vào khoá (x, y, N) sinh ra mảng S[] cho biết mẫu dữ liệu được chọn để giấu tin và mảng V[] cho biết vị trí bit sẽ được giấu trong mỗi mẫu. Bước 2) Giấu tin - Đọc file dữ liệu âm thanh, dựa vào mảng S[] để chọn mẫu cần giấu. - Dựa vào mảng V[] để biết vị trị bit giấu. - Nếu bit thứ Vi của mẫu chọn thứ i khác với Mi thì thực hiện DIEUCHINH(Vi, Mi) Sau khi giấu xong, ta dùng các ký hiệu đánh dấu kết thúc tin giấu nhằm phục vụ cho quá trình giải tin. 3.2.3.1 Sinh mảng S[] (3.4) 3.2.3.2 Sinh mảng V[] (3.5) 3.2.4 Quá trình giải tin Đầu vào: File âm thanh A’ chứa tin giấu, khoá K gồm ba số (x, y, N), độ dài L của chuỗi bit cần lấy. Đầu ra: Chuỗi bit M được giấu. Bước 1) Chuẩn bị: Sinh mảng V[] và S[] Bước 2) Giải tin Đọc file dữ liệu âm thanh A’, dựa vào mảng S[] để chọn mẫu có chứa bit thông tin giấu, dựa vào mảng V[] để lấy bit thứ i của mẫu tin giấu. 3.2.5 So sánh với phương pháp LSB nguyên thuỷ 3.2.5.1 Chi phí thời gian giấu tin và giải tin So với kỹ thuật LSB, phương pháp này cần phải tốn thời gian cho việc sinh chuỗi giả ngẫu nhiên, chuỗi S[] và chuỗi V[] và phải tốn chi phí thời gian cho việc điều chỉnh bit để giảm độ chênh lệch giá trị trước và sau khi giấu. 13 3.2.5.2 Tỉ lệ dữ liệu giấu So với phương pháp LSB nguyên thuỷ này có tỉ lệ dữ liệu giấu chỉ bằng ¼. 3.2.5.3 Độ mật của kỹ thuật 3.3. Phương pháp điều chỉnh 2 mẫu trong một đoạn khối 25 mẫu 3.3.1 Xáo trộn dữ liệu Để xáo trộn dữ liệu, luận án đề xuất cách sử dụng phép biến đổi Arnold. 3.3.2 Thuật toán giấu 4 bit trong khối 25 mẫu dữ liệu Đầu vào: - Khối dữ liệu chứa F có kích thước 5*5, 4 bit mật b1b2b3b4 cần giấu. Đầu ra: - Khối dữ liệu chứa tin mật F’. Bước 1) Xây dựng ma trận A từ các LSB của khối F, A[i][j] = LSB(F[i][j]) Bước 2) 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. Bước 3) 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. Bước 4) Thực hiện exclusive-or kết quả trong bước 2 và bước 3 để có s1s2s3s4 trong đó s1=r1 XOR c1, s2=r2 XOR c2 và tương tự như vậy. Bước 5) So sánh kết quả của bước 4 với 4 bit cần giấu b1b2b3b4. Nếu không có sự khác nhau thì không cần phải điều chỉnh trên khối bit A. Ngược lại, cần xét các trường hợp sau: • Nếu có khác nhau 1 bit bi tại vị trí i thì A[i][5] được điều chỉnh lật. • Nếu có khác nhau trên 2 bit bi và bj tại vị trí i và j thì A[i][j] được lật. • Nếu có khác nhau trên 3 bit bi, bj và bk tại 3 vị trí i, j, k thì A[i][j] được lật và A[k][5] được lật. • Nếu có khác nhau trên cả 4 bit bi, bj, bk và bm tại 4 vị trí i, j, k, m thì thực hiện lật A[i][j] và A[k][m] Bước 6) Đặt các bit LSB của khối F[i][j] giống A[i][j] ta được khối F’. 14 Ví dụ ta có đoạn audio gồm 25 mẫu có giá trị như hình 3.10 (tương ứng với ma trận F và 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 Ta tính các vector r, c, s như các hì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 Hình 3.13. Kết quả XOR của chuỗi C và chuỗi R Nếu ta cần giấu bốn 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 như trong hình 3.16. Hình 3.14. Kết quả giấu 4 bit 1100 trong khối F. 3.3.3 Thuật toán giấu tin Đầu vào: - File âm thanh gốc F, khoá mật K, thông điệp mật M. Đầu ra: - File âm thanh chứa tin mật F’. 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 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 15 Bước 1) Xáo trộn chuỗi M Bước 2) Chia dữ liệu file âm thanh thành các segment gồm 25 mẫu, sau đó chuyển sang các khối vuông Fi kích thước 5*5. Bước 3) Thực hiện bước sau cho đến khi toàn bộ thông điệp M’ được giấu vào trong các khối: Lấy lần lượt 4 bit của M’ giấu vào mỗi khối Fi, sử dụng sơ đồ giấu MCPT trên. Bước 4) Chuyển tất cả các khối Fi sang lại dạng vector và ghi ra file F’. Ghi các mẫu còn lại từ F vào F’. 3.3.4 Thuật toán giải tin Thuật toán giải tin gồm hai bước. Đó là tách các bit trong khối rồi thực hiện việc khôi phục lại chuỗi bit. 3.3.5 Kết quả thử nghiệm và đánh giá Kết quả thử nghiệm cho thấy file chứa tin và file gốc có cùng ảnh hưởng đến hệ thống thính giác con người, không thể phân biệt được sự khác nhau. 3.4. Phương pháp điều chỉnh 1 bit để giấu 8 bit dữ liệu 3.4.1 Xáo trộn dữ liệu bằng phương pháp hoán vị 3.4.2 Tính tổng XOR của đoạn Giá trị này được đặt tên là HD_sum. Đầu vào: Đoạn S gồm 256 mẫu chứa giá trị nguyên, Đầu ra: Một số nguyên được gọi là HD_sum của đoạn S. Bước 1) Từ mảng S ta xác định mảng Q có cùng kích thước với S, trong đó Q[i] = S[i]%2. Bước 2) h=0; Bước 3) Lặp i từ 0 đến 255: Nếu (Q[i]!=0) thì h = XOR(h,i); Bước 4) Trả về h; Ở đây XOR là phép toán XOR (exclusive-or). 3.4.3. Thuật toán giấu một byte dữ liệu vào trong khối 256 mẫu. Đầu vào: - Đoạn dữ liệu chứa 256 mẫu (S[0..255]) và byte cần giấu p. 16 Đầu ra: - Đoạn chứa tin (stego - segment) S[0..255]. Bước 1) Tính HD_sum của đoạn S: h=HD_sum(S); Bước 2) Tìm vị trí của mẫu cần thay đổi để giấu tin: pos= XOR (h, p); Bước 3) Lật một bit của mẫu tại vị trí pos để giấu byte p: Nếu giá pos =0 thì không cần phải điều chỉnh mẫu nào trong đoạn S. Nếu giá trị pos > 0 thì cần phải điều chỉnh mẫu tại vị trí pos tham gia trong quá trình tính HD_sum hoặc không : Q[pos] = 1 - Q[pos]; Bước 4) Điều chỉnh giá trị mẫu tại ví trí pos để giấu tin nếu pos>0 Nếu Q[pos] = 0 thì S[pos]= S[pos] +1, ngược lại S[pos]= S[pos] - 1. Thuật toán giấu tin trong file: Giấu lần lượt từng byte vào các khối. Thuật toán giải tin Đầu vào: - File chứa tin mật, khoá (k, d) và q là số byte cần lấy. Đầu ra: - Thông điệp mật M. Bước 1) Lấy h=   ddq */ đoạn từ file chứa tin mật, mỗi đoạn chứa 256 mẫu. Bước 2) Lặp thao tác dưới đây h lần để lấy h byte từ các đoạn, mỗi byte trong mỗi đoạn, byte thứ i được gán cho M’[i]. M’[i] =HD_sum(Si). Bước 3) Đối với mỗi đoạn gồm d byte của chuỗi M’, dùng phép biến đổi khôi phục lại chuỗi tin M như thuật toán đã trình bày ở mục 3.4.1. 3.5. Phương pháp điều chỉnh tiếng vọng 3.5.1 Sơ đồ giấu của Rios Chavez 3.5.2 Đánh giá kỹ thuật đề xuất bởi Rios Chavez Có thể nhận tin sai và thời gian tính toán lớn, có thể giảm xuống. 3.5.3. Kỹ thuật điều chỉnh tiếng vọng 3.5.3.1. Thêm tiếng vọng dựa vào số ngẫu nhiên Công thức để thêm tiếng vọng Để thêm tiếng vọng vào trong đoạn, ta sử dụng công thức (3.11) như sau: 17 (3.11) 3.5.3.2 Thuật toán giấu Đầu vào: - File audio gốc C, chuỗi bit W có độ dài L, khoá (a, b) và số N Đầu ra: - File chứa tin giấu S. Các bước của thuật toán giấu như sau: Bước 1) Sinh ra chuỗi R dựa vào khoá theo công thức (3.9), (3.10). Bước 2) Chia dữ liệu trên file gốc C thành các đoạn (frame) Ci có kích thước bằng nhau. Nếu số frame < độ dài chuỗi bit (L) cần giấu thì dừng. Bước 3) Gán giá trị các đoạn Si bằng Ci Dựa vào giá trị của Ri và giá trị bit cần giấu Wi, dùng công thức (3.11) để thêm tiếng vọng vào cho các đoạn Si. Bước 4) Ghi các đoạn Si ra file S và chép các mẫu còn lại từ C sang S. 3.5.3.3 Thuật toán giải tin Đầu vào: - File chứa tin S, file gốc C, khoá (a, b) và số N, số bit cần lấy L. Đầu ra: - Chuỗi bit W có độ dài L. Bước 1) Sinh ra chuỗi R dựa vào khoá theo công thức (3.9), (3.10). Bước 2) Chia dữ liệu file chứa tin giấu S và file gốc C thành các đoạn (frame) Si, Ci có kích thước bằng nhau. Bước 3) So sánh cepstrum của đoạn Ci với Si và dựa vào giá trị của Ri để trích bit 0 hoặc bit 1. Lặp bước 3 tuần tự cho các đoạn dữ liệu Ci ,Si cho đến khi lấy đủ L bit. 3.5.4. Kết quả thử nghiệm và đánh giá Kết quả đánh giá mức độ nhận biết cho thấy kỹ thuật này không gây ra bất kỳ hiệu ứng nào khi nghe giữa file trước và sau khi giấu tin. 18 Tổng kết chương 3 Trong chương 3 đã trình bày các thuật toán giấu tin trong file âm thanh. Đây là các thuật toán giấu trên miền thời gian. Các thuật toán đề xuất cách kết hợp với mã Hamming nhằm mục đích giảm thiểu nhận tin sai nếu file chứa tin bị tấn công, cách điều chỉnh bit nếu như giấu ở các bit cao chứ không phải LSB. Ngoài ra chương này cũng đề xuất cách giấu dựa vào đặc tính của đoạn dữ liệu, cải tiến cách giấu dùng phương pháp điều chỉnh tiếng vọng. Chương 4 MỘT SỐ THUẬT TOÁN GIẤU TIN TRÊN MIỀN BIẾN ĐỔI 4.1 Phương pháp điều chỉnh các hệ số trên miền biến đổi FFT 4.1.1 Điều chỉnh giá trị trong miền tần số Mỗi một đoạn Y có kích thước gồm fw mẫu sẽ được thực hiện phép biến đổi FFT. Phép biến đổi Fourier đã được trình bày ở chương 2. )(YFFTFY  (4.1) Sau khi thực hiện phép biến đổi FFT, giá trị FY nhận được là dãy các số phức. Số phức có thể thể biểu diễn lại trong hệ toạ độ cực bằng công thức sau: )sin(cos  irz  (4.2) Nếu thay đổi r thành r’ thì   sin'' cos'' ry rx   (4.5)  sin'*cos'' rirz  (4.6) 4.1.2 Thuật toán điều chỉnh mẫu để giấu một bit Đầu vào: Số phức z, bit thông tin mật cần giấu Mj, giá trị d. Đầu ra: Số phức z’. Bước 1) Tính biên độ và pha của z: amp = abs(z); phase= angle(z); Bước 2) Điều chỉnh giá trị r để giấu Mj Nếu Mj==1 Nếu mod (amp, d) < d/2 thì amp = amp + d/2; Ngược lại Nếu mod (amp, d)> =d/2 thì amp = amp + d/2; Bước 3) Tạo số phức mới và trả về: 19 r’=complex(amp*cos(phase),amp*sin(phase)); return r’; 4.1.3 Thuật toán giấu Đầu vào: Vector Y chứa các mẫu, chuỗi bit M có độ dài q, giá trị d, k, fw. Đầu vào: Vector Y’ chứa tin mật. Bước 1) Chia Y thành các đoạn có kích thước bằng nhau, chứa fw (frame width) mẫu trên mỗi đoạn. Thực hiện phép biến đổi FFT trên mỗi đoạn để chuyển từ miền thời gian sang miền tần số. Tính FYk = FFT (Yk). Bước 3) Đối với mỗi đoạn FYk, tính biên độ và kiểm tra xem đoạn có thoả điều kiện để giấu các bit không. Nếu thoả điều kiện giấu thì giấu. Bước 4) Thực hiện IFFT trên mỗi đoạn FY để chuyển FY từ miền tần số về lại miền thời gian lưu vào Y’ Bước 5) Trả về Y’. 4.1.4 Thuật toán lấy 1 bit mật từ 1 mẫu. Đầu vào: Số phức z, số d. Đầu ra: Số nhị phân Mi. Bước 1) Tính biên độ (amplitude) của z: amp = abs(z); Bước 2) Lấy bit Mi dựa vào Ri Nếu mod(amp,d)>d/2 thì Mi =1 Ngược lại Mi =0 Bước 3) return Mi Thuật toán giải tin Đầu vào: Vector Y’ chứa tin mật, độ dài chuỗi bit cần lấy q, số d, k, fw. Đầu ra: Chuỗi bit mật M. Bước 1) Chia Y’ thành các đoạn có cùng số mẫu là fw. Bước 2) Thực hiện FFT trên các đoạn Y để chuyển sang miền tần số: FYk = FFT (Yk). Tính biên độ cho đoạn và gán số bit đã nhận được h=0; 20 Bước 3) Đối với mỗi đoạn FYk, kiểm tra đoạn có chứa tin hay không dựa vào cách tính như trong quá trình giải tin. Nếu đoạn có chứa tin thì chọn 8 đỉnh đầu tiên trong đoạn để rút trích tin. M(h) = Getbit( FYk(i), d ); Bước 4) return M. Kết quả thử nghiệm và đánh giá Các kết quả thử nghiệm cho thấy quá trình giấu và rút trích thông tin hoàn toàn chính xác, không phân biệt được khi nghe file âm thanh gốc và file chứa tin. So với phương pháp giấu trên miền thời gian, phương pháp này có thể chịu được tấn công thêm nhiễu trắng. Nếu tỉ lệ gây nhiễu lớn hơn 90 thì không ảnh hưởng đến tin mật trong quá trình giải tin. 4.2 Phương pháp giấu tin trên miền biến đổi wavelet 4.2.1 Thuật toán giấu 1 bit Đầu vào: - Dãy D gồm fw phần tử D[1..fw], bit cần giấu b, số thực d. Đầu ra: - Dãy D đã được điều chỉnh để chứa bit mật b. Bước 1) Tính giá trị trung bình của nửa đoạn trước và nữa đoạn sau của D. (4.7) Bước 2) Tính giá trị lệch giá trị trung bình giữa hai đoạn, theo modulo d: Bước 3) Điều chỉnh giá trị để giấu bit b: Nếu b=1 và k> d/2 hoặc b=0 và k<= d/2 thì return; Ngược lại: Nếu b=1 thì cộng d/2 cho nữa đoạn trước: D[i]= D[i] + d/2, với i= 1 đến fw/2 Ngược lại thì cộng d/2 cho nữa đoạn sau D[i]= D[i] + d/2, với i= fw +1 đến fw 21 4.2.2. Thuật toán trích 1 bit Đầu vào: - Dãy D gồm fw phần tử D[1..fw], số thực d. Đầu ra: - Bit mật b. Bước 1) Tính giá trị trung bình của nửa đoạn trước và nữa đoạn sau của D theo công thức (4.7) Bước 2) Tính giá trị lệch giá trị trung bình giữa hai đoạn, theo modulo d: Bước 3) Trích bit b: Nếu k> d/2 thì b=1 ngược lại b=0 4.2.3 Thuật toán giấu tin Đầu vào: - Khoá K, file gốc H, chuỗi bit mật M. Đầu ra: - File chứa tin mật S. Phương pháp: Bước 1) Dùng khoá K để sinh ra chuỗi nhị phân ngẫu nhiên R. Bước 2) Biến đổi chuỗi bit mật M thành M’ dựa vào R, trong đó: (4.8) Bước 3) Đọc dữ liệu các mẫu từ file audio H vào mảng y. Thực hiện biến đổi wavelet cho dãy y. Bước 4) Chia dãy D thành các đoạn có cùng kích thước fw và điều chỉnh các đoạn giấu lần lượt từng phần tử vào các đoạn , ta được . Bước 5) Biến đổi wavelet ngược [A, D’] để có được y’ và ghi y’ ra file S. 4.2.4 Thuật toán trích tin Đầu vào: - Khoá K, file chứa tin S. Đầu ra: - Chuỗi bit mật M. Bước 1) Đọc dữ liệu các mẫu từ file audio S vào mảng y. Thực hiện biến đổi wavelet cho dãy y. 22 Bước 2) Chia dãy D thành các đoạn có cùng kích thước fw và lấy lần lượt từng phần tử từ các đoạn theo thuật toán trích bit. Bước 3) Dùng khoá K để sinh ra chuỗi nhị phân ngẫu nhiên R. Bước 4) Biến đổi chuỗi M’ thành M dựa vào R theo công thức 4.8 và trả về. 4.2.5 Kết quả thử nghiệm Trong phần thử nghiệm, chúng tôi chọn các file âm thanh mono 16 bit, giá trị d là 0.1. Chúng tôi thực hiện tấn công thêm nhiễu và thay đổi số bit biểu diễn tín hiệu (16 bit xuống 8 bit) để kiểm tra tính bền vững của kỹ thuật đề xuất. Kết quả thử nghiệm cho thấy tấn công thay đổi số bit biểu diễu mẫu không ảnh hưởng đến tin giấu trong khi phép thê

Các file đính kèm theo tài liệu này:

  • pdftt_bao_mat_du_lieu_bang_ky_thuat_giau_tin_trong_audio_1287_1920315.pdf
Tài liệu liên quan