mỘt sỐ kỸ thu ° t gi ¨ u tin
TRANSCRIPT
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
HUYNH BA DIỆU
MỘT SỐ KỸ THUẬT GIẤU TIN
TRONG ÂM THANH SỐ
Chuyên ngành: Hệ thống thông tin
Mã số: 62480104
TÓM TẮT LUẬN AN TIẾN SĨ CÔNG NGHỆ THÔNG TIN
Hà Nội – 2017
Công trình được hoàn thành tại: Trương Đại hoc Công nghê, Đại
hoc Quôc gia Hà Nôi
Ngươi hướng dẫn khoa hoc: PGS. TSKH. Nguyên Xuân Huy
Phản biên: PGS. TS Đô Năng Toàn
........................................................................................
Phản biên: PGS. TS Bui Thu Lâm
........................................................................................
Phản biên: TS. Nguyên Ngoc Cương
........................................................................................
Luận án được bảo vê trước Hôi đồng cấp Đại hoc Quôc gia
chấm luận án tiến sĩ hop tại Trương Đại hoc Công nghê
vào hồi 9 giơ 00 ngày 26 tháng 10 năm 2017
Có thể tìm hiểu luận án tại:
- Thư viên Quôc gia Viêt Nam
- Trung tâm Thông tin - Thư viên, Đại hoc Quôc gia Hà
Nôi
1
MỞ ĐẦU
1. Tính cấp thiết của luận án
Sự phát triển mạnh mẽ của công nghê sô và nhu cầu trao đổi thông
tin thông qua các hê thông được kết nôi mạng dẫn đến đòi hỏi chúng
ta cần phải có các giải pháp để bảo vê thông tin, chông các xâm nhập
trái phép, lấy cắp, xuyên tạc thông tin hay bảo vê bản quyền cho các
dữ liêu sô. Viêc thiết lập các cơ chế phân quyền truy cập, mã hoá thông
tin giúp bảo vê thông tin tôt hơn nhưng chúng không thể đảm bảo an
toàn tuyêt đôi, do đó đòi hỏi chúng ta cần phải tìm các giải pháp khác
nhằm nâng cao tính đa dạng của các loại hình bảo vê. Chúng ta có môt
cách khác để bảo vê thông tin, đó là thực hiên các giao dịch ngầm bên
trong các giao dịch công khai, hay còn goi là giấu tin. Giấu tin không
phải là lĩnh vực mới nhưng vẫn được quan tâm bởi những nhà khoa
hoc làm trong lĩnh vực bảo mật thông tin. Hiên nay giấu tin nói chung
và giấu tin trong âm thanh vẫn còn nhiều vấn đề mở cần nghiên cứu.
2. Mục tiêu của luận án
Trong luận án này chúng tôi đặt ra mục tiêu chính sau đây:
• Nghiên cứu và đề xuất môt sô thuật toán giấu tin trong âm thanh
thực hiên trên miền thơi gian, có thể áp dụng để giấu tin mật.
• Nghiên cứu và đề xuất môt sô thuật toán giấu tin trong âm thanh
trên miền tần sô, bền vững trước môt sô tấn công cơ bản.
3. Đóng góp của luận án
• Đề xuất sử dụng mã hỗ trợ xác thực trong quá trình giấu tin.
Mục đích của viêc mã hoá là tránh trương hợp nhận tin sai nếu têp
chứa tin giấu bị tấn công làm thay đổi nôi dung tin giấu. Kết quả được
đăng tải trong Tạp chí Khoa hoc Tự nhiên và Công nghê, Tạp chí Khoa
hoc Đại hoc quôc gia Hà Nôi năm 2009.
2
• Đề xuất cách chon mẫu dữ liêu và bit điều chỉnh để giấu tin dựa
vào chuỗi ngẫu nhiên được sinh ra từ khoá. Trong kỹ thuật này cũng
đề xuất cách điều chỉnh các bit để sự sai khác giữa các mẫu trên têp
gôc và têp mang tin giấu là ít nhất. Kết quả được đăng tải trong Tạp
chí Khoa hoc Tự nhiên và Công nghê, Tạp chí Khoa hoc Đại hoc quôc
gia Hà Nôi năm 2013.
• Áp dụng và cải tiến các phương pháp giấu tin cho dữ liêu âm
thanh. Kết quả được đăng tải trong kỷ yếu Hôi nghị IEEE SoCPaR
năm 2013 và Hôi nghị IEEE ATC năm 2014 tại Hà Nôi.
• Cải tiến kỹ thuật giấu tin sử dụng tiếng vong của môt tác giả
trước đó. Kết quả nghiên cứu được trình bày và đăng tải trong Kỷ yếu
Hôi nghị Quôc tế ICIEIS năm 2013 tại Malaysia.
• Đề xuất kỹ thuật giấu tin bằng cách điều chỉnh các hê sô trên
miền tần sô của tín hiêu âm thanh. Kết quả nghiên cứu được trình bày
tại Hôi nghị Quôc tế IEEE DICTAP năm 2014 tại Thái Lan.
• Đề xuất kỹ thuật giấu tin bằng cách điều chỉnh các hê sô của
thành phần chi tiết của phép biến đổi wavelet. Kết quả đăng trên tạp
chí Khoa hoc Công nghê, Đại hoc Đà Nẵng.
Nôi dung của luận án dựa trên các bài báo đã công bô.
4. Bố cục của luận án
Bô cục của luận án bao gồm phần mở đầu, bôn chương nôi dung
và phần kết luận. Chương 1 trình bày tổng quan về giấu thông tin.
Chương 2 trình bày về các phương pháp giấu tin trong âm thanh. Nôi
dung chính của luận án được trình bày trong hai chương cuôi. Chương
3 trình bày về các phương pháp giấu tin trên miền thơi gian và chương
4 trình bày về các phương pháp giấu trên miền tần sô.
3
Chương 1
GIẤU THÔNG TIN VÀ GIẤU TIN TRONG ÂM THANH
1.1. Giấu thông tin
1.1.1. Lịch sử giấu thông tin
Từ giấu thông tin (steganography) bắt nguồn từ Hi Lạp và
được sử dụng cho tới ngày nay, có nghĩa là tài liêu được phủ (covered
writing). Công nghê thông tin đã tạo ra những môi trương giấu tin mới,
ta có thể giấu tin trong các têp văn bản, hình ảnh, âm thanh, video…
Ý tưởng về che giấu thông tin đã có từ rất lâu nhưng chủ yếu dung
trong lĩnh vực an ninh và quân sự. Ngày nay, giấu tin còn được dung
để bảo vê bản quyền các tài liêu sô, kiểm soát sao chép.
1.1.2. 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 như hình 1.1.
Hinh 1.1. Sơ đồ của hệ giấu tin
1.1.3. Các yêu cầu của hệ giấu tin
1.1.4. Phân loại giấu tin
Ta có thể phân loại các kỹ thuật giấu tin theo kiểu tài liêu dung
làm dữ liêu chứa, theo miền xử ly hay theo mục đích giấu tin.
1.1.5. Tấn công hệ thống giấu tin
Tấn công môt hê giấu tin bao gồm các phương pháp để phát
hiên, phá huỷ, trích rút hay sửa đổi tin giấu trong dữ liêu mang tin.
Khoá
Dữ liêu
chủ
Quá trình
Giấu tin
Quá trình
Giải tin
Khoá
Dữ liêu
chủ
Dữ liêu
mang tin
Môi
trương
mạng
Thông điêp mật
Thông điêp mật
4
1.1.6. Các ứng dụng của giấu tin
1.1.1.1. Liên lạc bí mật
1.1.1.2. Bảo vệ bản quyền (copyright protection)
1.1.1.3. Nhận thực hay phát hiện xuyên tạc thông tin
1.1.1.4. Ghi dấu vân tay (fingerprinting)
1.1.1.5. Gán nhãn (labeling)
1.1.1.6. Điều khiển sao chép (copy control)
1.2. Giấu tin trong âm thanh số
Giấu tin trong âm thanh dựa vào ngưỡng nghe của con ngươi
và hiên tượng che khuất (masking) âm thanh để giấu tin.
1.2.1. Ngưỡng nghe
Phạm vi nghe của ngươi trong khoảng từ 20Hz đến 20 kHz.
1.2.2. Hiện tượng che khuất
Hiên tượng che khuất tín hiêu âm thanh xảy ra khi môt âm
thanh này ảnh hưởng đến sự cảm nhận âm thanh khác.
1.2.3. Âm thanh và các đặc tính của âm thanh
Ba đặc trưng sinh ly của âm thanh là âm lượng, đô cao và âm
sắc. Đơn vị đo âm thanh là decibel (dB).
1.2.4. Biểu diễn âm thanh số
Sô byte dung để lưu 1 giây âm thanh nb thức (1.2):
𝑆ố 𝑏𝑦𝑡𝑒 ≈ (𝑡ầ𝑛 𝑠ố 𝑙ấ𝑦 𝑚ẫ𝑢 ∗ 𝑠ố 𝑘ê𝑛ℎ ∗ 𝑠ố 𝑏𝑖𝑡 𝑏𝑖ể𝑢 𝑑𝑖ễ𝑛 1 𝑚ẫ𝑢)/8 (1.2)
1.2.5. Các định dạng âm thanh phổ biến
1.2.6. Một số chương trình giấu tin trên âm thanh
Tổng kết chương 1
Chương 1 trình bày các khái niêm liên quan đến giấu tin, phân
loại và các ứng dụng. Ngoài ra, hiên tượng che khuất tín hiêu, cách lấy
mẫu và biểu diễn âm thanh sô, định dạng têp âm thanh và môt sô phần
mềm giấu trên âm thanh hiên có cũng được trình bày.
5
Chương 2
CAC PHƯƠNG PHAP 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
2.1.1.2. Phép biến đổi wavelet (DWT)
2.1.2. Xáo trộn dữ liệu mật
Giả sử có chuỗi M gồm n phần tử, là thông điêp mật cần giấu.
Thay vì giấu tuần tự từng phần tử, ta thực hiên xáo trôn chuỗi M, nhằm
gây khó cho ngươi thám tin khi tấn công 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. Sinh chuỗi giả ngẫu nhiên
Các chuỗi ngẫu nhiên có thể dung để xác định ví trí mẫu được
chon để giấu hoặc vị trí bit giấu.
2.1.3.1. Bộ sinh đồng dư (congruential generator)
2.1.3.2. Bộ sinh Fibonacci
2.2. Đánh giá các phương pháp giấu tin trong âm thanh
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
âm dữ liêu mật vào, tính theo thang đô decibel.
𝑆𝑅𝑁 = 10 𝑙𝑜𝑔10∑ 𝑥(𝑖)2𝑁
𝑖=0
∑ [𝑥(𝑖)−𝑦(𝑖)]2𝑁𝑖=0
(2.5)
2.2.1.2. Độ đo NCC (Normalized Cross Correlation)
NCC dung để đo đô tương quan giữa giữa âm thanh gôc và âm
thanh chứa tin, hoặc chuỗi bit được giấu và chuỗi bit nhận được.
6
𝑁𝐶𝐶 =1
𝑛∗ ∑
[𝑥(𝑖)∗ 𝑦(𝑖)]
[𝑥(𝑖)]2𝑛𝑖=1 (2.6)
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 ít quan trong
của mẫu dữ liêu gôc bằng các bit của tin giấu.
Hinh 2.4. Đ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ẻ tương tự như phương pháp mã hoá LSB
nhưng thay vì dung 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)
Hinh 2.6. Sự dịch chuyển pha của tín hiệu
Phương pháp mã hoá pha giấu tin bằng cách thay thế pha của
đoạn âm thanh ban đầu bằng môt pha tham chiếu thể hiên dữ liêu.
2.3.4. Phương pháp mã hoá tiếng vọng (echo coding)
Phương pháp mã hoá tiếng vong giấu tin vào âm thanh bằng
cách điều chỉnh đô trễ thêm tiếng vong vào tín hiêu gôc.
0 1 0 1 1 1 1 0
Giá trị mẫu sau khi điều chỉnh để giấu bit 1:
0 1 0 1 1 1 1 1
Giá trị mẫu dữ liệu gốc
7
𝑋(𝑛) = 𝑆(𝑛) + 𝛼. 𝑆(𝑛 − 𝑑) (2.8)
Trong đó S(n) là tín hiêu gôc, X(n) là tín hiêu được thêm tiếng
vong, α là hê sô tỉ lê, d là đô trễ.
2.3.5. Phương pháp trải phổ
2.3.6. Phương pháp điều chỉnh biên độ
2.3.7. Phương pháp lượng tử hoá (quantization)
2.3.8. Phương pháp điều chế tỉ lệ thời gian
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 2 của luận án đã trình bày về các kỹ thuật bổ trợ cho
giấu tin trong âm thanh, các kỹ thuật xáo trôn dữ liêu, sinh sô ngẫu
nhiên và các tiêu chí đánh giá các thuật toán giấu. Nôi dung chính của
chương là trình bày về các phương pháp giấu tin trong têp âm thanh.
Chương 3
MỘT SỐ THUẬT TOAN GIẤU TIN TRÊN MIỀN THỜI GIAN
3.1. Thuật toán giấu tin kết hợp mã sửa lôi Hamming
Kỹ thuật giấu kết hợp với kỹ thuật mã hoá Hamming 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
Mã Hamming sử dụng ma trận sinh G và ma trận kiểm tra H.
Với mỗi nhóm 4 bit dữ liêu, mã Hamming (7, 4) thêm 3 bit kiểm tra.
Mã Hamming (7, 4) có thể phát hiên và sửa lỗi 1 bit, phát hiên lỗi 2
bit trong chuỗi 7 bit nhận được.
8
Hinh 2.1. Ma trận sinh và ma trận kiểm tra của mã Hamming (7, 4)
3.1.2. Quá trình giấu tin
Bước 1) Chuỗi bit M được chia thành các đoạn dài 4 bit và mã hóa
thành từ mã có đô dài 7 bit. Đô dài chuỗi M’ sẽ bằng (L/4)*7.
Bước 2) Giấu tin: Đoc têp âm thanh gôc và giấu lần lượt từng bit của
chuỗi M’, theo qui tắc chẵn lẻ của nhóm gồm 3 mẫu. Nếu tổng 3 bit
cuôi của nhóm khác tính chẵn lẻ với bit giấu thì cần điều chỉnh 1 mẫu.
3.1.3. Quá trình giải tin và xác thực tin giấu
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, ta trích chuỗi bit từ têp 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, nhân với ma
trận H. Nếu kết quả nhân các đoạn bằng 0, ta trích các bit dữ liêu của
M’ để nhận M. Trương hợp kết quả khác 0 thì kết luận là có tấn công.
3.1.4. Kết quả thử nghiệm và đánh giá
Kết quả thử nghiêm cho thấy chất lượng têp mang tin tôt,
không phân biêt được khi nghe têp âm thanh gôc và têp mang tin
Bang 3.1. Giá trị SNR khi thực hiện giấu kết hợp mã Hamming
Tên file chứa
Dang tệp
âm thanh
Tệp tin được giấu và giá trị SNR tương ứng
dohoa.cpp
(430 byte)
DuyTanlogo.b
mp (1694 byte)
map.gif
(14845 byte)
jarre-in.wav Đôc tấu 77.56 71.57 62.16
gazebo-in.wav Hòa tấu 78.04 72.19 62.77
brahms-in.wav Hòa tấu 76.33 70.47 60.70
speech-in.wav Bài nói 70.99 64.98 55.50
9
Hinh 3.3. Dữ liệu âm thanh gốc và dữ liệu có chứa tin mật
Khi có tấn công, giá trị môt sô mẫu dữ liêu âm thanh sẽ thay
đổi. Bảng 3.2 thể hiên kết quả khi thay đổi ngẫu nhiên môt sô mẫu trên
têp mang tin và khả năng phát hiên thay đổi của kỹ thuật đề xuất.
Bang 3.2. Phát hiện thay đổi tin mật trên tệp mang tin
Số mẫu điều
chỉnh
Phát hiện thay
đổi
Số bit sai phát
hiện khi giải tin
Số bit có
thể sửa
5 Có 1 1
10 Có 3 2
40 Có 24 20
100 Có 38 14
500 Có 172 75
3.2. Thuật toán giấu điều chỉnh giá trị nhóm bit
3.2.1. Sinh chuỗi xác định mẫu dữ liệu và vị trí trên mẫu
Dung khoá K sinh chuỗi SR, tính chuỗi S và V, trong đó S[i]
cho biết mẫu được chon và V[i] cho biết vị trí bit trên mẫu để giấu.
3.2.2. Điều chỉnh độ lệch bit
PROC DIEUCHINH(i,k)
SET(i,k);
if(i>1) SET(1,1-k); if(i>2) SET(2,1-k);
END PROC
3.2.3. Thuật toán giấu tin theo phương pháp điều chỉnh giá trị nhóm bit
Đầu vào: -Têp âm thanh A, chuỗi bit M, khoá K gồm ba sô (x, y, N).
Đầu ra: - Têp âm thanh A’ có chứa chuỗi bit mật M.
10
Bước 1) Sinh chuỗi SR, từ đó tính mảng S[] và mảng V[].
Bước 2) Giấu lần lượt từng bit Mi theo nguyên tắc nếu bit thứ Vi của
mẫu chon thứ i khác với Mi thì thực hiên DIEUCHINH(Vi, Mi).
Bước 3) Ghi các mẫu đã điều chỉnh ra têp âm thanh A’.
3.2.4. Quá trình giải tin theo phương pháp điều chỉnh giá trị nhóm bit
Đầu vào: - Têp A’ chứa tin giấu, khoá K(x, y, N), đô dài L.
Đầu ra: - Chuỗi bit M được giấu.
Bước 1) Chuẩn bị: dựa vào khoá sinh ra mảng S[] và mảng V[].
Bước 2) Giải tin: đoc têp âm thanh A’, dựa vào mảng S[] và mảng V[],
thực hiên lấy L bit từ các mẫu trên têp A’.
3.2.5. Đánh giá phương pháp giấu tin
3.2.5.1. Chi phí thời gian giấu tin và giải tin
3.2.5.2. Tỉ lệ dữ liệu giấu
3.2.5.3. Độ mật của kỹ thuật
Viêc điều chỉnh các bit để giấu không tạo thành qui luật.
Bang 3.3. Giá trị SNR khi giấu theo phương pháp điều chỉnh nhóm bit
Tên file chứa
Giá trị SNR
dohoa.cpp
(430 byte)
DuyTanlogo.bmp
(1694 byte)
map.gif
(14845 byte)
jarre-in.wav 71.52 65.46 56.14
gazebo-in.wav 72.03 66.23 56.77
brahms-in.wav 70.37 64.54 54.69
speech-in.wav 64.80 58.91 49.49
3.3. Thuật toán điều chỉnh 2 mẫu trong đoan chứa 25 mẫu
3.3.1. Xáo trộn dữ liệu
Chuỗi mật cần giấu được xáo trôn bằng biến đổi Arnold.
3.3.2. Thuật toán giấu 4 bit trong khối 25 mẫu dữ liệu
Thuật toán thực hiên giấu 4 bit mật vào khôi F, kết quả là F’.
11
Bước 1) Xây dựng ma trận A từ 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 XOR 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 XOR tất cả các
phần tử của mỗi côt để được c1c2c3c4.
Bước 4) Thực hiên XOR kết quả trong bước 2 và bước 3 để có s1s2s3s4.
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
giông nhau thỏa điều kiên giấu, ngược lại, cần xét các trương hợp sau:
• Nếu khác nhau 1 bit bi tại vị trí i thì A[i][5] được điều chỉnh lật.
• Nếu 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 F’.
3.3.3. Thuật toán giấu tin
Bước 1) Xáo trôn chuỗi thông điêp mật M ta được M’.
Bước 2) Chia và chuyển dữ liêu âm thanh thành các khôi Fi.
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 4 bit của M’ giấu vào mỗi khôi Fi, theo thuật toán mục 3.3.2.
Bước 4) Chuyển các khôi Fi sang lại dạng vector và ghi ra têp F’.
3.3.4. Thuật toán giải tin
Bước 1) Chia têp âm thanh thành các khôi F kích thước 5*5.
Bước 2) Lấy 4 bit trong mỗi khôi giấu theo cách tính s1s2s3s4 và lấy đủ
sô bit được giấu ra.
Bước 3) Thực hiên phép biến đổi ngược để lấy lại thông điêp mật M.
12
h e l l o w o r l d
1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8
Hoán vị thứ 1000 Hoán vị thứ 1000
1 3 5 4 7 8 2 6 1 3 5 4 7 8 2 6
h l o l w o e r d l
3.3.5. Kết quả thử nghiệm và đánh giá
Hình 3.19 là biểu diễn đoạn gồm 50 mẫu của têp âm thanh
gôc và têp mang tin sau khi giấu 1 byte dữ liêu. Kết quả thử nghiêm
cũng cho thấy kỹ thuật đề xuất đáp ứng tiêu chí SNR khi giấu tin.
Hinh 3.19. Tín hiệu âm thanh trước và sau khi giấu tin
Bang 3.4. Giá trị SNR khi giấu tin theo kỹ thuật MCPT
Tên file 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
3.4. Thuật toán 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ị
Hinh 3.5. Chuỗi tin gốc và chuỗi sau khi hoán vị
3.4.2. Tính tổng XOR của đoạn
Thuật toán tính tổng XOR của đoạn S gồm 256 mẫu.
13
Bước 1) Từ mảng S ta xác định mảng Q, 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;
3.4.3. Thuật toán giấu một byte vào trong khối S gôm 256 mẫu
Bước 1) Tính XOR_sum của đoạn S: h=XOR_sum(S);
Bước 2) Tìm vị trí của mẫu để giấu tin: pos= XOR (h, p);
Bước 3) Nếu giá trị pos > 0 thì Q[pos] = 1 - Q[pos];
Nếu Q[pos] = 0 thì S[pos] += 1, ngược lại S[pos] = S[pos] - 1.
3.4.4. Thuật toán giấu tin
Đầu vào: - Têp âm thanh F, khoá (k, d), và thông điêp cần giấu M.
Đầu ra: - Têp âm thanh F’ chứa tin mật.
Bước 1) Chia thông điêp mật M thành các đoạn có cung đô dài d. Dựa
vào giá trị k, xáo trôn M và ta có được M’.
Bước 2) Chia têp F thành các đoạn Si có đô dài bằng 256.
Bước 3) Lấy lần lượt từng byte của M’ giấu vào trong đoạn Si theo
thuật toán ở mục 3.4.3 cho đến khi toàn bô thông điêp được giấu.
Bước 4) Ghi các đoạn Si ra têp F’.
3.4.5. Thuật toán giải tin
Bước 1) Lấy h= ddq */ đoạn (256 mẫu) từ têp chứa tin mật.
Bước 2) Lặp 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], với M’[i] =XOR_sum(Si).
Bước 3: Đôi với mỗi đoạn gồm d byte của M’, dung 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.4.6. Kết quả thử nghiệm và đánh giá
Bảng 3.5 thể hiên đô đo SNR khi sử dụng kỹ thuật giấu để
giấu các têp dữ liêu vào các têp âm thanh khác nhau.
14
Bang 3.5. Giá trị SNR khi giấu theo thuật toán điều chỉnh một bit
Tên file chứa
Giá trị SNR
dohoa.cpp
(430 byte)
DuyTanlogo.bmp
(1694 byte)
map.gif
(14845 byte)
jarre-in.wav 85.99 80.05 Không giấu được
gazebo-in.wav 86.58 80.64 Không giấu được
brahms-in.wav 84.61 78.62 Không giấu được
speech-in.wav 79.32 32.62 Không giấu được
3.5. Phương pháp điều chỉnh tiếng vong
Kỹ thuật này cải tiến kỹ thuật được đề xuất bởi J. A. R. Chavez
và các đồng sự.
3.5.1. Sơ đô giấu của Rios Chavez
3.5.2. Kỹ thuật điều chỉnh tiếng vọng
Bằng cách dựa vào các giá trị được sinh từ khoá và điều chỉnh
công thức thêm tiếng vong vào dữ liêu gôc, kỹ thuật đề xuất sẽ hạn
chế khả năng ngươi thám tin dò tìm được tin.
3.5.2.1. Thêm tiếng vọng dựa vào số ngẫu nhiên
Để giấu chuỗi bit M ta cần sinh chuỗi R ngẫu nhiên, trong đó Ri
chỉ nhận giá trị 0 hoặc 1. Dựa vào giá trị Ri này ta sẽ giữ nguyên đoạn
hoặc thêm tiếng vong vào đoạn.
Để thêm tiếng vong vào trong đoạn, ta sử dụng công thức (3.11).
Si′(n) = [ 1.1 ∗ Si(n) nếu Si(n) = Si(n − d)
0.99 ∗ Si(n) + 0.1 ∗ Si(n − d) nếu Si(n) <> Si(n − d) (3.11)
Công thức điều chỉnh này tránh được trương hợp rút trích tin sai do có
xử ly cho đoạn có giá trị trung nhau.
1: copy để giấu bit 1, thêm tiếng vong để giấu bit 0
0: copy để giấu bit 0, thêm tiếng vong để giấu bit 1 Nếu Ri =
15
3.5.2.2. Thuật toán giấu
Thuật toán giấu chuỗi bit W vào têp C, kết quả ghi ra têp S.
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 têp C thành các đoạn 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, dung công thức (3.11)
để thêm tiếng vong vào cho các đoạn Si.
Bước 4) Ghi các đoạn Si và chép các mẫu còn lại từ C ra têp S.
3.5.2.3. Thuật toán giải tin
Thuật toán trích chuỗi bit từ têp gôc C và têp mang tin S.
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 têp chứa tin giấu S và têp gôc C thành các đoạn
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 lại bước 3 cho các đoạn dữ liêu Ci, Si cho đến khi lấy đủ L bit.
3.5.3. Kết quả thử nghiệm và đánh giá
Hinh 3.31. Phổ biên độ một đoạn của âm thanh trước và sau khi giấu
Trong thử nghiêm, cặp sô (7, 9137) được chon làm sô mồi cho bô
sinh sô ngẫu nhiên. Chuỗi dữ liêu giấu có đô dài gồm 3440 bit được
16
lấy từ têp dohoa.cpp. Têp chứa được lấy mẫu ở tần sô 44100, sô bit
lượng tử là 16, gồm 1422720 mẫu. Kích thước mỗi đoạn được chon là
1000 và giá trị d1 được chon bằng 441.
Bang 3.6. Giá trị SNR khi thêm tiếng vọng để giấu tin
Tên file chứa
Giá trị SNR
dohoa.cpp
(430 byte)
DuyTanlogo.bmp
(1694 byte)
map.gif
(14845 byte)
S.wav 30.54 27.17 Không giấu được
speech-in.wav 29.12 23.75 Không giấu được
Tổng kết chương 3
Chương 3 trình bày năm thuật toán giấu tin trong âm thanh được
thực hiên trên miền thơi gian.
Chương 4
MỘT SỐ THUẬT TOAN GIẤU TIN TRÊN MIỀN BIẾN ĐỔI
4.1 Thuật toán điều chỉnh các hệ số trên miền biến đổi Fourier
4.1.1. Điều chỉnh giá trị trong miền tần số
Trong kỹ thuật này, mỗi đoạn dữ liêu âm thanh Y sẽ được
chuyển sang miền tần sô dung phép biến đổi Fourier.
FFT(Y)FY (4.1)
Hinh 4.1. Biểu diễn số phức trong hệ toạ độ cực
Sô phức z = x + i ∗ y có thể biểu diễn lại trong hê toạ đô cực
bằng công thức sau :
17
)sin(cos irz (4.2)
Trị tuyêt đôi (magnitude) của sô phức được xác định như sau :
22)( yxzabsr (4.3)
Môt sô mẫu trong dãy FY sẽ được lựa chon và điều chỉnh để giấu
tin. Nếu ta thay đổi đô lớn (magnitude) r của môt sô phức z thành r’
thì giá trị x, y cũng thay đổi theo. Giá trị x’ và y’ được xác định theo
công thức (4.5) và giá trị mới của z được xác định theo công thức (4.6).
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
Thuật toán điều chỉnh sô phức z để giấu bit mật b, dựa vào sô d.
Phương pháp: Dieuchinh(z, b, d)
Bước 1) Tính biên đô (amplitude) và pha của z:
amp = abs(z); phase= angle(z);
Bước 2) Điều chỉnh giá trị sô phức z để giấu bit b:
Nếu b=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 z’ và trả về:
return (r’=complex(amp*cos(phase),amp*sin(phase)));
4.1.3. Thuật toán giấu
Đầu vào: - Vector Y, chuỗi bit M có đô dài q, giá trị d, k, fw.
Đầu ra: - Vector Y’ mang tin.
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ô.
FYk = FFT (Yk).
18
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 không. Điều kiên đoạn được chon để giấu tin là
trong đoạn có sô mẫu có biên đô là đỉnh (peak) lớn hơn hoặc bằng 8
và biên đô phải lớn hơn giá trị k (ngưỡng chon). Nếu thoã mãn điều
kiên giấu thì giấu lần lượt 8 bit tin mật vào trong đoạn 8 phần tử đầu
tiên là đỉnh của đoạn, dung kỹ thuật điều chỉnh ở mục 4.1.2
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’.
Bang 4.1. Giá trị các mẫu trước và sau khi giấu các bit
Giá trị trước khi điều chỉnh Bit giấu Giá trị sau khi điều chỉnh
7.774503 0 7.874503
11.513642 1 11.513642
6.869382 0 6.869382
7.337803 1 7.337803
6.913936 0 7.013936
6.913936 1 6.913936
7.337803 0 7.437803
6.869382 1 6.969382
4.1.4. Thuật toán lấy 1 bit mật từ 1 mẫu
Thuật toán sẽ trích sô nhị phân Mi từ sô phức z.
Phương thức: Getbit (z)
Bước 1) Tính biên đô (amplitude) của z: amp = abs(z);
Bước 2) Lấy bit Mi : nếu mod(amp,d)>d/2 thì Mi =1, ngược lại Mi =0
Bước 3) return Mi
4.1.5. Thuật toán giải tin
Đầu vào: - Vector Y’ mang tin, đô dài chuỗi bit q, sô d, k, fw.
Đầu ra: - Chuỗi bit mật M.
19
Bước 1) Chia Y’ thành các đoạn có cung sô kích thước fw.
Bước 2) Thực hiên FFT trên các đoạn Y’i để chuyển sang miền tần sô:
FY’i = FFT (Y’i).
Tính biên đô cho đoạn và gán sô bit đã nhận được h=0;
Bước 3) Đôi với mỗi đoạn FY’i, kiểm tra đoạn có chứa tin hay không
dựa vào viêc đếm sô đỉnh lớn hơn ngưỡng chon k. Nếu đoạn có chứa
tin thì chon 8 đỉnh đầu tiên trong đoạn để rút trích tin.
M[h] = Getbit( FYk(i), d ); h=h+1; Nếu h>1 thì sang Bước 4;
Xét các đoạn FY’i kế tiếp.
Bước 4) return M.
4.1.6. Kết quả thử nghiệm và đánh giá
Thực nghiêm thực hiên thêm nhiễu trắng vào dữ liêu mang
tin. Nếu tỉ lê gây nhiễu lớn hơn 90 thì không ảnh hưởng đến tin giấu.
Bang 4.2. Tỉ lệ bit sai khi tấn công thêm nhiễu trắng
Tỉ lệ gây nhiêu Số bit nhận sai Tỉ lệ nhận sai
35 310 0.302734375
40 189 0.184570313
50 46 0.044921875
70 40 0.039062500
80 1 0.000976563
>=90 0 0
Hinh 4.5. Ảnh thu được khi giai tin tương ứng với các tỉ lệ gây nhiễu
hê sô nhiễu 35 hê sô nhiễu 40 hê sô nhiễu 50
hê sô nhiễu 70 hê sô nhiễu >=90 hê sô nhiễu 80
20
Bang 4.3. Giá trị SNR khi điều chỉnh biên độ để giấu tin
Tên file chứa
Giá trị SNR
dohoa.cpp (430 byte) DuyTanlogo.bmp
(190 byte)
map.gif
(14845 byte)
S.wav 80.41 76.73 Không giấu được
speech-in.wav 76.35 72.27 Không giấu được
4.2 Thuật toán điều chỉnh hệ số biến đổi wavelet
Phép biến đổi wavelet phân tích tín hiêu thành hai thành phần
là A (Approximation) và D (Detail), trong đó thành phần D không
quan trong. Thay đổi trên D ít ảnh hưởng đến tín hiêu âm thanh gôc.
4.2.1. Thuật toán giấu 1 bit
Thuật toán giấu bit b vào dãy D gồm fw phần tử, dựa vào sô thực d.
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.
h2 = (∑ D[i]fwfw
2+1
)/(fw
2) , h1 = (∑ D[i])/(fw/2)
fw
21 (4.7)
Bước 2) Tính giá trị lêch giá trị trung bình giữa hai đoạn, theo modulo
d: k = abs(h1 − h2) mod 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ì đã thỏa điều kiên giấu,
không cần điều chỉnh;
Ngược lại:
+Nếu b=1 và k<= d/2 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 nếu b=0 và k> d/2 thì công d/2 cho nửa đoạn sau :
D[i] = D[i] + d/2, với i từ fw/2 +1 đến fw.
4.2.2. Thuật toán trích 1 bit
Thuật toán trích bit b từ dãy D gồm fw phần tử, dựa vào sô thực d.
Danh mục các công trình liên quan đến luận án
1. Nguyễn Xuân Huy, Huỳnh Bá Diêu (2009), “Kỹ thuật giấu tin
trong âm thanh hỗ trợ xác thực”, Tạp chí Khoa học Đại học Quốc gia
Hà Nội, Khoa học Tự nhiên và Công nghệ 25, tr. 69-74.
2. Nguyễn Xuân Huy, Huỳnh Bá Diêu, Võ Thị Thanh (2013), “Môt
cải tiến cho kỹ thuật giấu tin dựa vào LSB”, Tạp chí Khoa học Đại học
Quốc gia Hà Nội, Khoa học Tự nhiên và Công nghệ, Tập 29, Sô 2, tr.
31-37.
3. Huynh Ba Dieu (2013), “An Improvement for Hiding Data in
Audio Using Echo Modulation”, Proceedings of the Second
International Conference on Informatics Engineering & Information
Science (ICIEIS2013), pp. 133-138.
4. Huynh Ba Dieu, Nguyen Xuan Huy (2013), “Hiding Data In Audio
Using Modified CPT Scheme”, Proceedings of the Fifth International
Conference of Soft Computing and Pattern Recognition
(SoCPaR2013), pp. 397-401.
5. Huynh Ba Dieu, Nguyen Xuan Huy (2014), “An Improved
Technique for Hiding Data in Audio”, Proceedings of the Fourth
International Conference on Digital Information and Communication
Technology and its Applications (DICTAP2014), pp. 149-153.
6. Nguyen Xuan Huy, Huynh Ba Dieu (2014), “An Efficient Method
for Hiding Data in Audio”, Proceedings of the Fifth International
Conference on Advanced Technologies (ATC’14), pp. 167-171.
7. Nguyễn Xuân Huy, Huỳnh Bá Diêu (2016), “Môt kỹ thuật giấu tin
trong âm thanh dựa vào phép biến đổi wavelet”, Tạp chí Khoa học và
Công nghệ, Đại học Đà Nẵng, Tập 98, Sô 1, tr. 103-106.