Tải bản đầy đủ (.pdf) (19 trang)

Báo cáo bài tập lớn Giấu tin trong âm thanh bằng phương pháp mã hóa pha.

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.13 MB, 19 trang )

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA CƠNG NGHỆ THÔNG TIN

-------------------------------------------

Học phần: Các Kỹ Thuật Giấu Tin
Báo cáo bài tập lớn
Giấu tin trong âm thanh bằng phương pháp mã hóa pha.

Giảng viên : TS. Đỗ Xuân Chợ
Nhóm lớp : 07
Sinh viên

:

Trần Quang Thạo B18DCAT238
Nguyễn Công Phúc B18DCAT186


MỤC LỤC
Chương 1: Giấu tin trong âm thanh bằng phương pháp mã hóa pha.

3

1. Phương pháp mã hóa pha

3

2.Các bước cụ thể của phương pháp giấu tin sử dụng mã hóa pha

6



3. Giải mã

9

4. Đánh giá

9

5. Đánh giá về phương pháp mã hóa pha [3]

10

Chương 2: Demo giấu tin sử dụng phương pháp mã hóa Phase

11

Tài liệu tham khảo

18


Chương 1: Giấu tin trong âm thanh bằng phương pháp mã hóa pha.
1. Phương pháp mã hóa pha
Mã hóa pha là một phương pháp dựa vào đặc tính tai người không phân biệt được sự khác
nhau về pha của hai tín hiệu âm thanh. Việc giấu tin được thực hiện thông qua việc thay
thế pha của một đoạn(segment) âm thanh ban đầu bằng một pha tham chiếu (referency
phase) thể hiện dữ liệu. Pha của các đoạn tiếp theo sẽ được điều chỉnh sao cho độ chênh
lệch pha giữa các đoạn là khơng đổi.


Giả sử ta có hai chuỗi x(t) và y(t) như sau:
𝑥(𝑡) = 𝐴. 𝑐𝑜𝑠⁡(2π𝑓𝑡 + φ)
𝑦(𝑡) = 𝐴. sin 𝑠𝑖𝑛 (2π𝑓𝑡 + φ) = 𝐴. 𝑐𝑜𝑠⁡(2π𝑓𝑡 + φ −

π
2

)

Trong đó A là biên độ, f là tần số và là pha. Thuật ngữ pha được hiểu theo nghĩa đó là
tham chiếu đến một tín hiệu khác. Ví dụ nếu tham chiếu đến tín hiệu
thì tín
hiệu x(t) có pha là
Sơ đồ thuật tốn:

và tín hiệu y(t) có pha là

-

π
2

[1]


Dữ liệu vào

Do phương pháp mã hóa pha sử dụng biến đổi Fourier rời rạc, nên chúng ta sẽ nhắc lại về
phép biến đổi này.
Trong toán học, phép biến đổi Fourier rời rạc (DFT) đơi khi cịn được gọi là phép biến

đổi hữu hạn, là một phép biến đổi trong giải tích Fourier cho các tín hiệu thời gian rời rạc.
Đầu vào của phép biến đổi này là một chuỗi hữu hạn các số thực và hoặc số phức.
Với dãy N số phức: x0, x1,…, x(N-1) sẽ được biến đổi thành chuỗi X0, X1,…,X(N-1)
theo công thức sau:
𝑁−1



𝑋𝑘 = ∑ 𝑥𝑛𝑒
𝑛=0

2π𝑖
𝑁

𝑘𝑛

𝑘=0,……,𝑁−1


Những phương trình này có thể được mơ tả như sau: Các số phức Xk đại diện cho biên độ
và pha ở các bước sóng khác nhau của tín hiệu vào xn. Phép biến đổi DFT tính các giá trị
Xk từ các giá trị xn. Khi viết dưới dạng tọa độ, ta thu được biên độ Ak/N và pha k từ
modules và argument của Xk.
𝐴𝑖(𝑘) =

2

2

𝑅𝑒[𝐹{𝑐𝑖}(𝑘)] + 𝐼𝑚[𝐹{𝑐𝑖}(𝑘)]


φ𝑖(𝑘) = 𝑎𝑟𝑐𝑡𝑎𝑛
Trong đó:

1. Re là phần thực
2. Im là phần ảo
3. T là thời gian

𝐼𝑚[𝐹{𝑐𝑖}(𝑘)]
𝑅𝑒[𝐹{𝑐𝑖}(𝑘)]


2.Các bước cụ thể của phương pháp giấu tin sử dụng mã hóa pha
Bước 1: Dữ liệu âm thanh gốc có chiều dài N được chia thành các segment có chiều
dài bằng chiều dài với thông tin cần giấu.

Bước 2: Mỗi đoạn segment được biến đổi bằng Fourier DFT với ma trận độ lớn phase
là φj(ωk) và ma trận độ lớn tín hiệu là A j(ωk) với 0 ≤ k ≤ N/2 -1, 0<= j <= N-1

Bước 3: Tính độ lệch pha giữa 2 tín hiệu liền kề:


( )

( )

( )

∆φ𝑗 ω𝑘 = ∆φ𝑗+1 ω𝑘 − ∆φ𝑗 ω𝑘 với ∀ 𝑗, 𝑘


Bước 4: Điều chỉnh pha dựa trên công thức:
Phase_new =

{

π
2

𝑛ế𝑢 𝑚𝑒𝑠𝑠𝑎𝑔𝑒𝑏𝑖𝑡 = 0 −

π
2

𝑛ế𝑢 𝑚𝑒𝑠𝑠𝑎𝑔𝑒 𝑏𝑖𝑡 = 1

Khi đó thơng tin giấu chỉ được phép giấu trong vector pha của đoạn đầu tiên

Bước 5: Tạo lại ma trận pha bằng cách sử dụng độ lệch pha đã tính ở bước 3
∆φ𝑗 ω𝑘 = ∆φ𝑗+1 ω𝑘 − ∆φ𝑗 ω𝑘 với ∀ 𝑗, 𝑘

( )

( )

( )

}


Bước 6: Kết hợp với cường độ pha của tín hiệu cũ sau khi đã giấu thơng tin. Mục đích

của bước này chính là tái tạo lại ma trận pha của các đoạn kề nhau. Pha mới bằng pha kề
trướcđó cộng với độ lệch pha đã được tính ở trên

Bước 7: Thực hiện ghép các segment lại và DFT ngược để tạo lại dữ liệu âm thanh. Để
nhận được tin giấu bằng kỹ thuật này, người nhận phải biết độ dài của segment, sau đó
thực hiện DFT để nhận tin.


3. Giải mã
Đối với quá trình giải mã, việc đồng bộ hóa trình tự được thực hiện trước khi giải mã.
Chiều dài của phân đoạn, các điểm DFT và khoảng dữ liệu phải được biết ở người nhận.
Giá trị pha của phân đoạn đầu tiên được phát hiện là 0 hoặc 1, đại diện cho chuỗi nhị
phân được mã hóa.
Vì φ′0 (ωk) được sửa đổi, pha của các phân đoạn sau được sửa đổi tương ứng. Tuy nhiên,
độ lệch pha tương đối của mỗi bên khung được giữ nguyên. Đó là sự khác biệt tương đối
này trong giai đoạn mà tai nhạy cảm nhất.
4. Đánh giá
Sự thay đổi pha là một biến dạng do sự phá vỡ mối quan hệ của các pha giữa mỗi thành
phần tần số. Giảm thiểu sự thay đổi pha hạn chế tốc độ dữ liệu của mã hóa pha. Một
nguyên nhân của sự thay đổi pha là sự thay thế của pha φ′0 (ωk) với mã nhị phân. Độ lớn
của bộ điều chỉnh pha cần phải gần với giá trị ban đầu để giảm thiểu sự biến dạng. Sự
khác biệt giữa các trạng thái bộ điều chỉnh pha nên được tối đa hóa để giảm thiểu tính
nhạy cảm của mã hóa tiếng ồn. Trong biểu diễn pha đã sửa đổi của chúng tôi, một bit 0 là
- π / 2 và bit 1 là + π / 2.

Một nguồn thay đổi khác là tốc độ thay đổi của bộ điều chỉnh pha. Nếu thay đổi được áp
dụng cho mọi khối của DFT nó có khả năng phá vỡ mối quan hệ giai đoạn của các thành
phần tần số lân cận, dẫn đến một nhịp mẫu. Bằng cách thay đổi giai đoạn chậm hơn và
chuyển đổi giữa các giai đoạn thay đổi, độ méo âm thanh được giảm đáng kể. Trong dưới
đây, một so với chuyển tiếp mượt mà được minh họa. Trong Hình A, các cạnh của quá

trình chuyển pha sắc nét, gây ra biến dạng đáng chú ý. Trong Hình B, sự biến đổi pha
diễn ra một cách liên tục giúp giảm những biến dạng chú ý. Lưu ý rằng trong mỗi trường
hợp, các điểm dữ liệu xuất hiện ở cùng một nơi. Biến thể mượt mà này có nhược điểm
của việc giảm băng thơng, vì khơng gian phải được để lại giữa mỗi điểm dữ liệu để cho
phép chuyển đổi.


Kết quả: Trong các thử nghiệm của chúng tôi, kênh mã hóa pha cơng suất thường thay
đổi từ 8 bps đến 32 bps, tùy thuộc vào ngữ cảnh âm thanh. Dung lượng kênh ~ 8 bps có
thể đạt được bằng cách phân bổ tần số 128 khe cắm mỗi bit trong điều kiện nền nhỏ tiếng
ồn. Có thể đạt được công suất từ ​16 bps đến 32 bps bằng cách phân bổ 32 đến 64 khe tần
số cho mỗi khe khi có một nền ồn ào. [2]
5. Đánh giá về phương pháp mã hóa pha [3]
a) Ưu điểm
● Như đã đề cập ở trên, mã hóa pha với thay đổi đủ nhỏ sẽ không bị phát hiện bởi
giác quan của con người do hệ thính giác khơng nhạy cảm với sự thay đổi của pha
âm thanh.
● Mã hóa pha khơng gây nhiễu như các phương pháp với LSB hoặc các phương
pháp khác.
b) Nhược điểm
● Lượng thông tin được giấu nhỏ vì phương pháp mã hóa pha chỉ giấu được thơng
tin trên một đoạn nhỏ của file âm thanh. Nếu muốn tăng lượng thơng tin được giấu
thì có thể kéo dài thêm đoạn của âm thanh gốc, tuy vậy việc đó ít được thực hiện
bởi nếu vậy khả năng bị phát hiện tin được giấu trong file âm thanh sẽ lớn hơn.
● Khả năng ứng dụng bị hạn chế: Ví dụ nếu sử dụng mã hóa pha để giấu tin trong
file âm thanh, file đó có thể dễ dàng bị tấn công và phát hiện do thông tin mật chỉ
ở đầu của file âm thanh.
● Thời gian nạp âm thanh tương đối lâu, trong khi chỉ có khối đầu tiên được nhúng
thông tin, dữ liệu giấu không được phân bố đều trên tồn bộ tín hiệu âm thanh, sử
dụng tài ngun không hiệu quả.



Chương 2: Demo giấu tin sử dụng phương pháp mã hóa Phase
Bài tập được Demo trên mơi trường Matlab. [4]
Link tham khảo: />
Hình 7: Các hàm chính trong demo
Ngun lý hoạt động:
-Đầu tiên ta khởi chạy hàm data_embedding với đầu vào cần giấu là file text.txt chứa
đoạn thông điệp cần giấu


Hàm data_embedding
Đoạn văn bản cần giấu

File text giấu tin

Và file audio dùng để giấu với đuôi .wav


File audio dùng để giấu

-Sau khi nhúng tệp âm thanh, hàm data_embedding sẽ gọi tới hàm phase_enc và thực
hiện nhúng dữ liệu vào file âm thanh
Đầu vào:
Âm thanh cần giấu: signal
Nội dung cần giấu: text
Độ dài frame: L


Hàm phase_enc

Hàm data_embedding gọi tới hàm getBits. Hàm getBits có nhiệm vụ chuyển nội dung
thông điệp từ dạng chữ sang dạng nhị phân

Hàm getBits
-Kết quả sau khi giấu sẽ được lưu trong file audio_in


Kết quả giấu tin
TÁCH TIN:
Để tách tin chúng ta sẽ sử dụng hàm data.extracting_m


Hàm data_extracting_m
Chọn file audio chứa tin giấu ở trên. Sau đó hàm data_extracting.m sẽ gọi hàm
phase_dec.m.
Đầu vào:
Âm thanh chứa tin giấu: signal
Độ dài đoạn thông điệp: L_msg
Độ dài frame: L


Hàm phase_dec
Kết quả thu được là thông tin được giấu sẽ hiển thị trên màn hình console

Kết quả tách tin



Tài liệu tham khảo
[1] Fatiha Djebbar and Najah Abu-Ali, Lightweight Noise Resilient Steganography Scheme for Internet of

Things, 2018.
[2] W. Bender, D. Gruhl and N. Morimoto, Techniques for data hiding, 1996.
[3] X. Đ. Chợ, Bài giảng Các kỹ thuật giấu tin.
[4] "Github," [Online]. Available: />[5] Fatiha Djebbar, Beghdad Ayad, Karim Abed-Meraim and Habi, Unified phase and magnitude speech
spectra data hiding algorithm, 2013.



×