MỘT KỸ THUẬT GIẤU TIN TRONG ÂM THANH SỬ DỤNG PHÉP BIẾN ĐỔI WAVELET
ISSN 1859-1531 - TẠP CHÍ KHOA HỌC VÀ CƠNG NGHỆ ĐẠI HỌC ĐÀ NẴNG, SỐ 1(98).2016 103 MỘT KỸ THUẬT GIẤU TIN TRONG ÂM THANH SỬ DỤNG PHÉP BIẾN ĐỔI WAVELET A METHOD FOR HIDING DATA IN AUDIO USING WAVELET TRANSFORMATION Nguyễn Xuân Huy1, Huỳnh Bá Diệu2 Viện Công nghệ Thông tin, Viện Hàn lâm Khoa học Công nghệ Việt Nam; nxhuy64@gmail.com Trường Đại học Duy Tân; dieuhb@gmail.com Tóm tắt - Bài báo trình bày thuật toán giấu tin mật âm Dữ liệu âm chuyển sang miền tần số phép biến đổi wavelet Chuỗi tin mật giấu vào đoạn liệu âm thanh, cách điều chỉnh hệ số miền tần số cao đoạn, kết hợp với giá trị chuỗi ngẫu nhiên Thuật tốn đề xuất giấu tin giải tin xác Q trình giải tin khơng cần sử dụng liệu gốc ban đầu chất lượng âm đảm bảo.Tin giấu rút trích xác thực công giảm số bit biễu diễn mẫu liệu từ 16 bit xuống bit Ngồi thuật tốn cịn bền vững trước cơng thêm nhiễu trắng mức thấp Kết thử nghiệm chứng tỏ thuật tốn đề xuất sử dụng để giấu tin mật tệp âm Abstract - This paper presents a new algorithm for hiding data into digital audio signals Audio data is transferred to the frequency domain using wavelet transformation The secret message is hidden in the audio data segments, by adjusting the coefficients on high-frequency domain of each segment, combined with the random number value The proposed algorithm can hide and extract secret message accurately when attacks reduce the bit number of data sample to from 16 The extraction process does not need host signal and sound quality is ensured Experimental results show that the stego audio has good imperceptibility and is robust against different kinds of attacks, such as noise adding, re-sampling The proposed algorithm can be used to hide secret messages in an audio file Từ khóa - giấu tin; lượng tử hố; tỉ lệ liệu; tính bền vững; biến đổi wavelet Key words - data hiding; quantization; data rate; robustness; transform wavelet Đặt vấn đề Sự phát triển mạnh mẽ công nghệ số nhu cầu trao đổi thông tin thông qua hệ thống kết nối mạng địi hỏi cần phải có giải pháp để bảo vệ thông tin Các vi phạm liên quan đến thông tin thường gặp xâm nhập trái phép, lấy cắp, thay đổi nội dung hay vi phạm quyền Ngoài việc thiết lập chế bảo vệ phân quyền truy cập, mã hố thơng tin, cịn có cách khác thực giao dịch ngầm bên giao dịch công khai, giấu thơng tin Giấu thơng tin số kỹ thuật nhúng lượng liệu vào đối tượng chứa số khác Nhiều kiểu liệu số chọn làm liệu chứa cho toán giấu tin ảnh, video, âm Các nghiên cứu giấu tin ảnh, video có nhiều kết ứng dụng quan trọng So với giấu tin ảnh video, giấu tin âm nghiên cứu sau có kết Giấu tin âm dựa vào hệ thống thính giác So với hệ thống thị giác hệ thống thính giác người nhạy phức tạp Hai thuộc tính hệ thống thính giác người khai thác để giấu tin dựa vào tượng che khuất miền thời gian (temporal masking) che khuất miền tần số (frequency masking) Các phương pháp giấu tin âm thực điều chỉnh mẫu liệu âm để giấu tin, khơng thể phân biệt có sai khác âm ban đầu âm sau điều chỉnh nghe Giấu tin dùng để bảo vệ tin giấu (steganography) bảo vệ cho đối tượng chứa tin giấu (watermarking) Các phương pháp giấu tin thực miền thời gian miền biến đổi Đối với phương pháp miền thời gian, bit tin mật giấu trực tiếp vào mẫu liệu Các phương pháp miền biến đổi thực biến đổi liệu âm từ miền thời gian sang miền biến đổi, thực điều chỉnh giá trị miền biến đổi để giấu tin, sau giá trị miền biến đổi biến đổi ngược lại miền thời gian Các phương pháp giấu miền thời gian có ưu điểm dễ cài đặt tỉ lệ liệu giấu cao, có hạn chế không bền vững trước công dạng xử lý số thông thường Các phương pháp điều chỉnh LSB (Least Significant Bit), lượng tử hoá, mã hoá tiếng vọng thuộc loại Các phương pháp giấu tin miền biến đổi làm cho tin giấu bền vững trước cơng, lại làm tăng chi phí tính tốn, phải thực lần biến đổi Các phép biến đổi hay dùng biến đổi Fourier, biến đổi wavelet Trong [4], [12] sử dụng kỹ thuật điều chỉnh tiếng vọng để giấu tin Thuật toán [4] dùng cách thêm tiếng vọng sau chép liệu để giấu tin, thuật toán [12] thêm hai tiếng vọng (trước sau) để giấu tin Công thức thêm tiếng vọng để giấu tin [12] sau: ( ) = ( )∓ ( − )∓ ( + )± ± ( − ) ± ( + ) (1) Một số thuật toán liên quan đến kỹ thuật giấu tin âm cách điều chỉnh LSB trình bày [1], [3], [5], [8] Các thuật tốn giấu thực mẫu liệu âm đơn lẻ dựa vào nhóm mẫu liệu đoạn âm Các thuật toán giấu dùng phương pháp điều chỉnh LSB giấu với tỉ lệ liệu cao Trong [2] đề xuất thuật toán giấu sử dụng phổ (spectrum) hai đoạn âm kề Trong [6], [11] trình bày hai thuật tốn miền biến đổi Fourier Thuật tốn đề xuất [6] bền vững trước công thêm nhiễu trắng, lấy lại mẫu Thuật toán [11] thực điều chỉnh pha tín hiệu gốc để giấu tin Đây kỹ thuật khơng gây nhiễu cho tín hiệu chứa, có tỉ lệ liệu thấp Trong [7], [9], [10] đề xuất thuật toán giấu miền biến đổi wavelet Thuật toán đề xuất 104 Nguyễn Xuân Huy, Huỳnh Bá Diệu [9] tự đồng liệu cách thêm mã đồng vào tin giấu Phương pháp chống cơng dạng cắt xén, dịch chuyển tệp chứa Thuật toán [10] thuật tốn bền vững trước cơng chuyển định dạng Trong báo đề xuất thuật toán giấu tin âm miền biến đổi, sử dụng phương pháp điều chỉnh giá trị trung bình hai đoạn đoạn liệu để giấu tin Phép biến đổi sử dụng phép biến đổi wavelet Hình Tín hiệu gốc tín hiệu sau bỏ thành phần D Thuật toán đề xuất Trong thuật toán đề xuất, chúng tơi sử dụng phương pháp lượng tử hố giá trị trung bình hệ số phép biến đổi wavelet để giấu tin Dữ liệu âm đọc vào từ tệp âm thanh, dùng phép biến đổi wavelet để chuyển sang miền tần số, thực giấu tin miền tần số, sau chuyển ngược lại từ miền tần số sang miền thời gian Dữ liệu âm miền tần số chia thành đoạn bit mật giấu vào đoạn, liệu âm chọn phải đủ dài để chứa hết tin giấu Cụ thể, để giấu n bit số đoạn cần phải có n Ngồi ra, để tránh tin giấu khơng bị phát liệu âm chọn phải bao gồm mẫu có khác (tương tự ta khơng chọn ảnh có màu để giấu tin) Để tăng tính mật, thuật tốn đề xuất sử dụng khóa mật Khóa mật K gồm giá trị (seed, a, m), tham số để sinh chuỗi ngẫu nhiên Chuỗi ngẫu nhiên sinh theo phương pháp đồng dư tuyến tính [13] với giá trị c= 2*a 2.1 Phép biến đổi wavelet Phép biến đổi wavelet đưa Alfréd Haar Phép biến đổi phân tích tín hiệu thành hai thành phần thành phần xấp xỉ A (Approximation) thành phần chi tiết D (Detail) Thành phần xấp xỉ A tương ứng với thành phần tần số thấp thành phần chi tiết D tương ứng với thành phần tần số cao Hình minh hoạ cho việc phân giải tín hiệu thành hai thành phần Hình Thành phần xấp xỉ chi tiết tín hiệu Trong hai thành phần A D, thành phần D không quan trọng thay đổi thành phần ảnh hưởng đến tín hiệu gốc ta biến đổi ngược lại Ví dụ, thay đổi thành phần D=0 thực biến đổi ngược lại, ta có dãy tín hiệu Hình Đây đặc điểm phép biến đổi wavelet Nếu có điều chỉnh nhỏ thành phần D gần khơng ảnh hưởng đến liệu gốc khôi phục lại khơng thể phân biệt có điều chỉnh nghe tai thường Dựa vào đặc tính này, chúng tơi đề xuất cách điều chỉnh giá trị thành phần để giấu tin 2.2 Sự lượng tử hoá (quantization) Để giấu bit liệu mật vào liệu chứa, cần điều chỉnh liệu chứa Các cách thay đổi giá trị mẫu liệu gốc x thành mẫu y để giấu tin gọi lượng tử hoá Có nhiều phương pháp để thay đổi, phương pháp dựa vào bước lượng tử, phương pháp dùng phép chia lấy dư (mod) Trong báo dùng phương pháp điều chỉnh dựa vào phép chia lấy dư Để giấu bit mật vào mẫu x, trước tiên tính giá trị k= x mod d, d số thực dương Ta qui ước điều chỉnh để giá trị k>d/2 muốn giấu bit k d/2 b=0 k d/2 b=1, ngược lại b=0 2.3.3 Thuật tốn giấu tin Dưới thuật toán giấu chuỗi bit mật M gồm n phần tử tệp âm H Đầu vào: - Khoá K, tệp gốc H, chuỗi bit mật M Đầu ra: - Tệp chứa tin mật S Phương pháp Bước 1: Dùng khoá K để sinh chuỗi 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, đó: () ế ()ẻ ( ) = (3) ( ) ế ( ) ℎẵ Bước 3: Đọc liệu mẫu từ tệp âm H vào mảng y Thực biến đổi wavelet cho dãy y [ , ]= ( ) Bước 4: Chia dãy D thành đoạn có kích thước fw, điều chỉnh đoạn để giấu phần tử ( ) vào đoạn , ta Bước 5: Biến đổi wavelet ngược [A, D’] để có y’ ghi y’ tệp kết S 2.3.4 Thuật toán giải tin Đầu vào: - Khoá K, tệp chứa tin S Đầu ra: - Chuỗi bit mật M Phương pháp Bước 1: Đọc liệu mẫu từ tệp âm S vào mảng y Thực biến đổi wavelet cho dãy y [ , ]= ( ) Bước 2: Chia dãy D thành đoạn có kích ( ) từ thước fw trích lấy phần tử đoạn theo thuật tốn trích bit Bước 3: Dùng khố K để sinh chuỗi 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): ′( ) ế ( ) ẻ ( ) = (4) ′( ) ế ( ) ℎẵ Kết thử nghiệm đánh giá Để đánh giá kỹ thuật đề xuất, dựa vào độ đo SRN (Signal – to – Noise Ratio), BER (Bit Error Rate) 105 NCC (Normalized Cross Correlation) Giá trị SNR số lượng thay đổi liệu gốc chèn chuỗi tin mật vào, giá trị BER dùng để đo khác chuỗi tin giấu chuỗi tin nhận giá trị NCC độ tương quan hai chuỗi số, dùng để đo độ tương quan âm gốc âm có chứa tin, chuỗi bit giấu đem giấu chuỗi bit nhận bị cơng Độ đo SNR tính sau: = 10 log () ∑ [ () ∑ (5) ( )] x (n) thể âm gốc y(n) thể âm chứa tin giấu Các kỹ thuật giấu tin âm phải đảm bảo giá trị SRN>=20 giá trị SRN 20 dB xem nhiễu Cơng thức để tính BER sau: = 1 ∑ ( ( )− ( )) (6) ( ) chuỗi tin giấu ( ) chuỗi tin nhận Cơng thức để tính NCC sau: = ∗∑ [ ( )∗ ( )] (7) [ ( )] ( ) là chuỗi số gốc y( ) là chuỗi nhận thực biến đổi Giá trị NCC nằm khoảng từ đến Nếu giá trị gần chứng tỏ hai chuỗi giống Hình Tín hiệu âm gốc âm có chứa tin mật Trong phần thử nghiệm, chọn tệp âm mono lượng tử 16 bit, để giấu chuỗi bit Các tệp âm chọn nhiều thể loại khác nhau, hịa tấu, thơng báo, hay âm hỗn hợp Độ dài chuỗi bit giấu thử nghiệm tuỳ thuộc vào tệp âm chứa Giá trị d chọn 0.1 kích thước đoạn để giấu bit 200 Hình minh họa cho giấu 2000 bit vào tệp âm thanh, hòa tấu nhiều nhạc cụ Bảng Giá trị SRN NCC sau giấu tin Tên tệp S.wav B.wav C.wav E.wav Dạng âm Bài nói Đoạn nhạc Tiếng cười Thơng báo Kích thước tệp 6.5 Mb 1.14 Mb 104 Kb 2.71 Mb Số bit giấu 2000 1400 100 2000 SRN NCC 22.18 21.67 25.74 20.55 0.9989 0.9965 0.9987 0.9955 Bảng thể độ đo SRN độ đo NCC tiến hành giấu chuỗi bit vào tệp âm Các giá trị hệ số SRN Bảng chứng tỏ kỹ thuật đề xuất đạt tiêu chuẩn tỉ lệ nhiễu giấu tin Các giá trị hệ số NCC giấu vào tệp đạt lớn 99%, thể tương đối giống tệp âm gốc 106 Nguyễn Xuân Huy, Huỳnh Bá Diệu tệp âm có chứa tin mật Các thử nghiệm cho thấy thuật tốn đề xuất rút trích tin giấu xác, tệp âm chứa tin mật không bị công Chúng thử nghiệm giảm số bit lượng tử mẫu liệu âm từ 16 bit xuống bit, kết cho thấy công không làm sai chuỗi bit q trình giải tin Để kiểm tra tính bền vững kỹ thuật đề xuất, thực công thêm nhiễu vào tệp chứa tin giấu hàm thêm nhiễu Matlab Kết thực nghiệm cho thấy kỹ thuật đề xuất bền vững với công thêm nhiễu trắng (White Gaussian Noise) hệ số gây nhiễu (SRN) lớn 15 Đối với hệ số gây nhiễu nhỏ 10, làm thay đổi rõ rệt liệu chứa, có làm ảnh hưởng đến tin giấu Kết thử nghiệm thể Bảng ta điều chỉnh chiều dài đoạn fw giá trị ngưỡng d để tăng độ mật cho kỹ thuật giấu Bảng Giá trị BER NCC thêm nhiễu trắng TÀI LIỆU THAM KHẢO Tên tệp S1.wav B1.wav C1.wav E1.wav Tỉ lệ bit sai / Độ tương quan SRN= SRN= 10 SRN>=15 0.005/ 0.9989 0/1 0/ 0.044/ 0.9148 0.057/ 0.9987 0/1 0.12/ 0.7648 0.04/ 0.9202 0/1 0.002/ 0.9950 0/1 0/1 Đối với công thêm nhiễu hạt tiêu (pepper) nhiễu đốm (speckle), tin giấu liệu chứa không bền vững Chúng thực giấu 1444 bit, liệu ảnh ảnh đen trắng Hình 4(a) vào tệp S1.wav Hình 4.b 4.c ảnh rút trích từ tệp âm sau thực thêm nhiễu hạt tiêu với hệ số d= 0.001 (imnoise(y1,'salt & pepper', 0.001)) nhiễu đốm với hệ số v=0.001 (imnoise(y1,'speckle', 0.001)) Các thông số cụ thể khác thể Bảng (a) (b) (c) Hình Ảnh gốc (a) ảnh nhận tệp âm chứa tin bị thêm nhiễu hạt tiêu (b) nhiễu đốm (c) Bảng Giá trị BER NCC thêm nhiễu hạt tiêu nhiễu đốm Số bit sai khác BER NCC Thêm nhiễu hạt tiêu Thêm nhiễu đốm 383 0.26523 0.56568 389 0.26939 0.55967 Độ tương quan Bảng Bảng so sánh chuỗi tin giấu chuỗi tin nhận chịu công Kỹ thuật đề xuất hướng đến mục tiêu dùng để giấu tin mật, nên chọn miền điều chỉnh ảnh hưởng đến nội dung tệp liệu chứa, vùng tần số cao Các nghiên cứu [7], [9], [10] thực giấu miền tần số thấp, thực cho mục đích thủy vân số Độ an tồn sơ đồ giấu phụ thuộc vào khóa K, dùng để sinh chuỗi ngẫu nhiên Từ chuỗi ngẫu nhiên ta xác định bit cần lấy hay Nếu khơng có chuỗi ngẫu nhiên này, người thám tin lấy bit nào, dù biết cách trích tin từ tệp âm Ngoài Kết luận Trong báo này, chúng tơi trình bày kỹ thuật giấu tin mật âm sử dụng phép biến đổi wavelet Dữ liệu âm gốc âm chứa tin mật tương tự với nhau, thỏa mãn yêu cầu tỉ lệ nhiễu độ tương quan Thuật toán đề xuất bền vững trước công giảm số bit lượng tử, thêm nhiễu trắng, chưa bền vững trước công thêm nhiễu hạt tiêu nhiễu đốm Để tăng tỉ lệ liệu giấu tính bền vững tin giấu, tương lai dự kiến cải tiến cách giấu cách kết hợp giấu hai thành phần xấp xỉ thành phần chi tiết phép biến đổi wavelet [1] Cvejic, N.; Seppanen, T., "Increasing robustness of LSB audio steganography using a novel embedding method", Proceeding of the International Conference on Information Technology: Coding and Computing, 2004, vol.2, pp 533-537 [2] Dymarski, P.; Markiewicz, R., "Time and sampling frequency offset correction in audio watermarking", Proceeding of the 18th International Conference on Systems, Signals and Image Processing , 2011, pp.1-4 [3] Ghobadi, A.; Boroujerdizadeh, A.; Yaribakht, A.H.; Karimi, R., "Blind audio watermarking for tamper detection based on LSB", Proceeding of the 15th International Conference on Advanced Communication Technology (ICACT), 2013, pp.1077-1082 [4] H Dieu, “An Improvement for Hiding Data in Audio Using Echo Modulation”, Proceeding of the Second International Conference on Informatics and Engineering and Information Science, 2013, pp 127-132 [5] Huynh Ba Dieu; Nguyen Xuan Huy, "Hiding data in audio using modified CPT scheme", Proceeding of the International Conference of Soft Computing and Pattern Recognition (SoCPaR), 2013, pp 396-400 [6] Liting Gao; Wei Zhao; Xiumei Wen; Lixia Wang, "An audio zerowatermarking algorithm based on FFT”, Proceeding of the 2nd International Conference on Networking and Digital Society (ICNDS), 2010, vol.1, pp.274-277 [7] Liu Tianchi; Yang Guangming; Wang Qi, "A multiple audio watermarking algorithm based on shear resisting DWT and LSB", Proceeding of the 7th International Conference on Networked Computing (INC), 2011, pp.78-83 [8] Nguyen Xuan Huy; Huynh Ba Dieu, "An efficient method for hiding data in audio", Proceeding of the International Conference Advanced Technologies for Communications (ATC), 2014, pp.167-171 [9] Shaoquan Wu; Jiwu Huang; Daren Huang; Shi, Y.Q., "Selfsynchronized audio watermark in DWT domain", Proceeding of the 2004 International Symposium on Circuits and Systems, 2004, vol.5, pp.712-715 [10] Vongpraphip, S.; Ketcham, M., "An Intelligence Audio Watermarking Based on DWT- SVD Using ATS", Global Congress on Intelligent Systems, 2009, vol.3, pp.150-154 [11] Xiumei Wen; Xuejun Ding; Jianhua Li; Liting Gao; Haoyue Sun, "An Audio Watermarking Algorithm Based on Fast Fourier Transform", Proceeding of the 2009 International Conference on Information Management, Innovation Management and Industrial Engineering,2009, vol.1, pp.363-366 [12] Xulai Cao; Linghua Zhang, "Researches on echo kernels of audio digital watermarking technology based on echo hiding", Proceeding of the International Conference on Wireless Communications and Signal Processing, 2011pp.1-5, 2011 [13] http://www.eternallyconfuzzled.com/tuts/algorithms/jsw_tut_rand aspx (truy cập ngày 15 tháng năm 2015) (BBT nhận bài: 06/11/2015, phản biện xong: 19/12/2015) ... người thám tin lấy bit nào, dù biết cách trích tin từ tệp âm Ngoài Kết luận Trong báo này, chúng tơi trình bày kỹ thuật giấu tin mật âm sử dụng phép biến đổi wavelet Dữ liệu âm gốc âm chứa tin mật... toán đề xuất Trong thuật toán đề xuất, sử dụng phương pháp lượng tử hố giá trị trung bình hệ số phép biến đổi wavelet để giấu tin Dữ liệu âm đọc vào từ tệp âm thanh, dùng phép biến đổi wavelet để... miền biến đổi, sử dụng phương pháp điều chỉnh giá trị trung bình hai đoạn đoạn liệu để giấu tin Phép biến đổi sử dụng phép biến đổi wavelet Hình Tín hiệu gốc tín hiệu sau bỏ thành phần D Thuật toán