Hi, I am

Ngô Tôn

I am a programmer.

Home / HCMUS / Data Hiding and Secret Sharing / Ẩn tin mật trên âm thanh – Audio steganography

Ẩn tin mật trên âm thanh – Audio steganography

Âm thanh được biểu diễn như thế nào trong máy tính?

Âm thanh được biểu diễn trong máy tính dưới dạng một sóng âm đã được rời rạc hóa.

Sóng nguyên thủy được rời rạc hóa
• Mỗi điểm được gọi là một sample
• Mức độ rời rạc hóa theo chiều y (cường độ) được thể hiện bởi bit depth (số bit dùng để lưu giá trị cường độ của một sample)
• Mức độ rời rạc hóa theo chiều x (thời gian) được thể hiện bởi sample rate (số sample / s)

File âm thanh có thể mono hoặc stereo
 Mono: một sóng
 Stereo: hai sóng khác nhau (có cùng chiều dài); khi phát ra, một sóng phát ở loa trái, một sóng phát ở loa phải → cho cảm giác thực hơn

File âm thanh có thể lossless hoặc lossy
 Lossy: đọc dữ liệu từ file, chỉnh sửa dữ liệu, ghi dữ liệu đã chỉnh sửa xuống file, đọc dữ liệu lên lại thì dữ liệu đọc được sẽ không giống so với dữ liệu đã ghi trước đó; ví dụ: file *.mp3
 Lossless: ví dụ, file *.wav

Ẩn dữ liệu ở đâu trên âm thanh?

Cách đơn giản là ẩn vào các bit LSB của mỗi sample

Một cách khác là sử dụng echo (tiếng vang)

 Để nhúng bit 0: thêm vào cover audio một echo với độ trễ δ0
 Để nhúng bit 1: thêm vào cover audio một echo với độ trễ δ1
 Với δ0 và δ1 đủ nhỏ, tai người sẽ không nhận biết được echo.

Để nhúng nhiều bit, ta chia cover audio ra thành nhiều đoạn và nhúng một bit vào mỗi đoạn bằng cách thêm vào đoạn đó echo có độ trễ δ0 hoặc δ1

Quá trình nhúng

Bước 1: tạo ra 2 cover audio, một có echo ứng với bit 0, một có echo ứng với bit 1

Bước 2: tạo ra 2 bộ trộn mixer0 và mixer1; mixer1 được tạo ra dựa vào chuỗi bit nhúng, mixer0 = 1 – mixer1

Bước 3: stego audio = (cover audio + echo0) * mixer0+(cover audio + echo1) * mixer1

Input
 message bits
 cover audio
 delta0, delta1
 decay rate ∈ [0, 1]: tỉ lệ scale cường độ của echo so với sóng âm gốc

Output
 stego audio

Rút trích:

Với một đoạn âm thanh của stego audio, cần xác định xem có echo ở độ trễ nào

Để biết là bit 0 hay 1, ta hãy xem thêm độ trễ của echo ở các đoạn âm thanh khác → sẽ có tất cả 2 giá trị độ trễ δ0 (bit 0) và δ1
(bit 1), nhưng không biết đâu là δ0, đâu là δ1 -> Một cách là tính autocorrelation

Source code (Python)

Âm thanh được biểu diễn như thế nào trong máy tính? Âm thanh được biểu diễn trong máy tính dưới dạng một sóng âm đã được rời rạc hóa. Sóng nguyên thủy được rời rạc hóa • Mỗi điểm được gọi là một sample • Mức độ rời rạc hóa theo chiều y (cường độ) được thể hiện bởi bit depth (số bit dùng để lưu giá trị cường độ của một sample) • Mức độ rời rạc hóa theo chiều x (thời gian) được thể hiện bởi sample rate (số sample / s) File âm thanh có thể mono…

User Rating: 5 ( 1 votes)

About ngoton

Ngô Tôn is a programmer with passion for tailored software solutions. Comes with 6+ years of IT experience, to execute beautiful front-end experiences with secure and robust back-end solutions.

One comment

  1. Thạnksss

Leave a Reply

Your email address will not be published. Required fields are marked *