MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019....

120
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ HUỲNH BÁ DIỆU MỘT SỐ KỸ THUẬT GIẤU TIN TRONG ÂM THANH SỐ LUẬN ÁN TIẾN SĨ HỆ THỐNG THÔNG TIN Hà Nội – Năm 2017

Transcript of MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019....

Page 1: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

HUỲNH BÁ DIỆU

MỘT SỐ KỸ THUẬT GIẤU TIN

TRONG ÂM THANH SỐ

LUẬN ÁN TIẾN SĨ HỆ THỐNG THÔNG TIN

Hà Nội – Năm 2017

Page 2: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

ĐẠI HỌC QUỐC GIA HÀ NỘI

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

HUỲNH BÁ 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ố: 62 48 01 04

LUẬN ÁN TIẾN SĨ HỆ THỐNG THÔNG TIN

NGƯỜI HƯỚNG DẪN KHOA HỌC:

PGS. TSKH. NGUYỄN XUÂN HUY

Hà Nội – Năm 2017

Page 3: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

i

Lời cam đoan

Tôi xin cam đoan đây là công trình nghiên cứu của riêng tôi. Các kết quả được

viết chung với các tác giả khác đều được sự đồng ý của đồng tác giả trước khi đưa

vào luận án. Các kết quả nêu trong luận án là trung thực và chưa từng được ai công

bố trong các công trình nào khác.

Tác giả

Huỳnh Bá Diệu

Page 4: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

ii

Lời cảm ơn

Luận án được thực hiện tại Trường Đại học Công nghệ - Đại học Quốc Gia Hà

Nội dưới sự hướng dẫn của PGS.TSKH. Nguyễn Xuân Huy.

Tôi xin bày tỏ lòng biết ơn sâu sắc đến PGS.TSKH. Nguyễn Xuân Huy đã có

những định hướng giúp tôi thành công trong công việc nghiên cứu. Thầy cũng động

viên chỉ bảo cho tôi vượt qua những khó khăn và cho tôi nhiều kiến thức quý báu về

nghiên cứu khoa học. Nhờ sự chỉ bảo của Thầy, tôi mới có thể hoàn thành luận án.

Tôi xin gửi lời cảm ơn sâu sắc đến ơn PGS.TS. Trịnh Nhật Tiến, PGS.TS. Hà

Quang Thụy, PGS.TS. Nguyễn Ngọc Hóa cùng các Thầy Cô ở Bộ môn Các Hệ thống

thông tin, khoa Công nghệ thông tin Trường Đại học Công nghệ, nơi tôi học tập, đã

tạo điều kiện thuận lợi và hỗ trợ cho tôi trong quá trình làm nghiên cứu sinh.

Tôi cũng xin cảm ơn PGS.TS. Phạm Văn Ất đã góp ý để tôi điều chỉnh và hoàn

thành phần nội dung của luận án.

Đặc biệt, tôi xin chân thành cảm ơn Lãnh đạo Trường Đại học Duy Tân đã hỗ

trợ cho tôi kinh phí, tạo điều kiện về thời gian trong quá trình học tập và nghiên cứu.

Cuối cùng, tôi xin gửi lời cảm ơn sâu sắc đến những người thân trong gia đình,

đã cho tôi điểm tựa vững chắc, động viên và nhắc nhở tôi hoàn thành luận án.

Page 5: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

iii

MỤC LỤC

MƠ ĐÂU ............................................................................................................................... 1

Chương 1. GIẤU THÔNG TIN VÀ GIẤU TIN TRONG ÂM THANH .................. 7

1.1. Giấu thông tin ................................................................................................... 7

1.1.1. Lịch sử giấu thông tin .............................................................................. 7

1.1.2. Các thành phần của hệ giấu tin ................................................................ 7

1.1.3. Các yêu cầu của hệ giấu tin ..................................................................... 8

1.1.4. Phân loại giấu tin ................................................................................... 10

1.1.5. Tấn công hệ thống giấu tin .................................................................... 11

1.1.6. Các ứng dụng của giấu tin ..................................................................... 12

1.2. Giấu tin trong âm thanh số ............................................................................. 13

1.2.1. Ngưỡng nghe ......................................................................................... 14

1.2.2. Hiện tượng che khuất ............................................................................. 14

1.2.3. Âm thanh và các đặc tính của âm thanh ................................................ 16

1.2.4. Biểu diễn âm thanh số............................................................................ 17

1.2.5. Các định dạng âm thanh phổ biến ......................................................... 19

1.2.6. Một số chương trình giấu tin trên âm thanh .......................................... 20

Tổng kết chương 1 .................................................................................................. 20

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

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

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

2.1.2. Xáo trộn dữ liệu mật .............................................................................. 24

2.1.3. Sinh chuỗi giả ngẫu nhiên...................................................................... 26

2.2. Đánh giá các phương pháp giấu tin trong âm thanh ....................................... 27

2.2.1. Đánh giá bằng các độ đo ........................................................................ 27

2.2.2. Đánh giá bằng các phần mềm phát hiện tin ........................................... 27

2.2.3. Đánh giá bằng bảng đánh giá ODG (Object Difference Grade) ........... 28

2.3. Phương pháp giấu tin trong âm thanh ............................................................ 28

2.3.1. Phương pháp điều chỉnh bit ít quan trọng nhất (LSB coding) ............... 28

2.3.2. Phương pháp chẵn lẻ (parity coding) ..................................................... 29

2.3.3. Phương pháp mã hoá pha (phase coding) .............................................. 30

2.3.4. Phương pháp mã hoá tiếng vọng (echo coding) .................................... 33

2.3.5. Phương pháp trải phổ ............................................................................. 35

2.3.6. Phương pháp điều chỉnh biên độ ........................................................... 37

2.3.7. Phương pháp lượng tử hoá (quantization) ............................................. 38

Page 6: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

iv

2.3.8. Phương pháp điều chế tỉ lệ thời gian ..................................................... 39

2.3.9. Phương pháp giấu dựa vào Patchwork .................................................. 39

2.3.10. Phương pháp dựa vào các đặc trưng nổi bật ................................... 41

Tổng kết chương 2 .................................................................................................. 42

Chương 3. MỘT SỐ THUẬT TOÁN GIẤU TIN TRÊN MIỀN THỜI GIAN ...... 43

3.1. Thuật toán giấu tin kết hợp mã sửa lỗi Hamming .......................................... 43

3.1.1. Mã Hamming ......................................................................................... 44

3.1.2. Quá trình giấu tin ................................................................................... 45

3.1.3. Quá trình giải tin và xác thực tin giấu ................................................... 46

3.1.4. Kết quả thử nghiệm và đánh giá ............................................................ 47

3.2. Thuật toán giấu điều chỉnh giá trị nhóm bit ................................................... 49

3.2.1. Sinh chuỗi xác định mẫu dữ liệu và vị trí trên mẫu ............................... 49

3.2.2. Điều chỉnh độ lệch bit ............................................................................ 50

3.2.3. Thuật toán giấu tin theo phương pháp điều chỉnh giá trị nhóm bit ....... 51

3.2.4. Quá trình giải tin theo phương pháp điều chỉnh giá trị nhóm bit .......... 53

3.2.5. Đánh giá phương pháp giấu tin.............................................................. 53

3.3. Thuật toán giấu bằng điều chỉnh 2 mẫu trong một đoạn chứa 25 mẫu .......... 56

3.3.1. Xáo trộn dữ liệu ..................................................................................... 56

3.3.2. Thuật toán giấu 4 bit trong khối 25 mẫu dữ liệu ................................... 57

3.3.3. Thuật toán giấu tin ................................................................................. 58

3.3.4. Thuật toán giải tin .................................................................................. 59

3.3.5. Kết quả thử nghiệm và đánh giá ............................................................ 62

3.4. Thuật toán điều chỉnh 1 bit trong khối để giấu 8 bit dữ liệu .......................... 64

3.4.1. Xáo trộn dữ liệu bằng phương pháp hoán vị ......................................... 64

3.4.2. Tính tổng XOR của đoạn ....................................................................... 65

3.4.3. Thuật toán giấu một byte dữ liệu vào trong khối 256 mẫu .................... 68

3.4.4. Thuật toán giấu tin ................................................................................. 69

3.4.5. Thuật toán giải tin .................................................................................. 69

3.4.6. Kết quả thử nghiệm và đánh giá ............................................................ 70

3.5. Thuật toán giấu điều chỉnh tiếng vọng ........................................................... 72

3.5.1. Thuật toán giấu của Rios Chavez .......................................................... 72

3.5.2. Kỹ thuật điều chỉnh tiếng vọng .............................................................. 74

3.5.3. Kết quả thử nghiệm và đánh giá ............................................................ 75

Tổng kết chương 3 .................................................................................................. 77

Chương 4. MỘT SỐ THUẬT TOÁN GIẤU TIN TRÊN MIỀN BIẾN ĐỔI .......... 78

4.1. Thuật toán điều chỉnh các hệ số trên miền biến đổi Fourier .......................... 78

Page 7: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

v

4.1.1. Điều chỉnh giá trị trong miền tần số ...................................................... 78

4.1.2. Thuật toán điều chỉnh mẫu để giấu một bit ........................................... 80

4.1.3. Thuật toán giấu ...................................................................................... 81

4.1.4. Thuật toán lấy 1 bit mật từ 1 mẫu .......................................................... 82

4.1.5. Thuật toán giải tin .................................................................................. 82

4.1.6. Kết quả thử nghiệm và đánh giá ............................................................ 83

4.2. Thuật toán giấu điều chỉnh hệ số biến đổi wavelet ........................................ 86

4.2.1. Thuật toán giấu 1 bit .............................................................................. 86

4.2.2. Thuật toán trích 1 bit trong đoạn ........................................................... 87

4.2.3. Thuật toán giấu tin ................................................................................. 87

4.2.4. Thuật toán trích tin ................................................................................. 88

4.2.5. Kết quả thực nghiệm và đánh giá .......................................................... 88

Tổng kết chương 4 .................................................................................................. 91

KẾT LUẬN .......................................................................................................................... 91

DANH MỤC TÀI LIÊU THAM KHAO ....................................................................... 94

PHỤ LỤC ........................................................................................................................... 101

Page 8: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

vi

Danh mục các ký hiệu và chữ viết tắt

A/D Analog to Digital converter

AAC Advanced Audio Coding

BPSK Binary Phase Shift Keying

CDMA Code-Division Multiple Access

D/A Digital-to-Analog converter

DFT Discrete Fourier transform

DSSS Direct Sequence Spread Spectrum

DWT Discrete Wavelet Transform

ECC Error Corecttion Code

FFT Fast Fourier Transform

HAS Human Auditory System

HVS Human Visual System

IDWT Inverse Discrete Wavelet Transform

IFFT Inverse Fast Fourier Transform

ITU International Telecommunication Union

LSB Least Significant Bit

MCPT Modify Chen-Pan-Tseng scheme

MPEG Moving Picture Experts Group

MPS Modify Patchwork Scheme

MSE Mean Squared Error

NCC Normalized Cross Correlation

ODG Objective Difference Grade

PCM Pulse Code Modulation

RIFF Resource Interchange File Format

SDMI Secure Digital Music Initiative

SNR Signal –to- Noise Ratio

SS Spread Spectrum

Page 9: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

vii

Danh mục các bảng

Bảng 1.1. Môt sô đinh dang tệp âm thanh trên may tinh ..................................... 19

Bảng 1.2. Bảng môt sô phần mềm giấu tin trong âm thanh ................................. 20

Bảng 2.1. Chu kỳ lặp lai của phép biến đổi tương ứng với kich thước N ............ 25

Bảng 2.2. Cac tiêu chi đanh gia theo thang ODG ................................................ 28

Bảng 3.1. Gia tri SNR khi thực hiện giấu kết hợp mã Hamming ......................... 47

Bảng 3.2. Phat hiện thay đổi tin mật trên tệp mang tin ........................................ 48

Bảng 3.3. Bảng gia tri SNR khi giấu tin theo phương phap điều chỉnh nhóm bit 55

Bảng 3.4. Bảng gia tri SNR khi giấu tin vào trong cac tệp theo kỹ thuật MCPT . 63

Bảng 3.5. Bảng gia tri SNR khi giấu tin theo thuật toan điều chỉnh môt bit ........ 71

Bảng 3.6. Bảng gia tri SNR khi thêm tiếng vọng để giấu tin ................................ 76

Bảng 4.1. Gia tri cac mẫu trước và sau khi giấu cac bit ...................................... 82

Bảng 4.2. Tỉ lệ bit sai khi tấn công thêm nhiễu .................................................... 84

Bảng 4.3. Bảng gia tri SNR khi điều chỉnh biên đô để giấu tin ............................ 85

Bảng 4.4. Bảng gia tri SNR và NCC khi giấu tin ................................................. 89

Bảng 4.5. Bảng gia tri NCC khi thêm nhiễu trắng ............................................... 90

Bảng 4.6. Bảng gia tri NCC khi thêm nhiễu hat tiêu và nhiễu đôm ..................... 90

Page 10: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

viii

Danh mục các hình vẽ, đồ thị

Hình 1.1. Sơ đồ của hệ giấu tin ............................................................................... 8

Hình 1.2. Mối quan hệ giữa ba yếu tố chất lượng – dung lượng – bền vững ....... 10

Hình 1.3. Phân loại giấu tin dựa vào mục đích ứng dụng .................................... 10

Hình 1.4. Hệ thống thính giác của con người [66] ............................................... 13

Hình 1.5. Dải tần của âm thanh ............................................................................ 14

Hình 1.6 Ngưỡng che của tín hiệu âm thanh ....................................................... 15

Hình 1.7. Che khuất âm thanh trên miền tần số [74] ............................................ 15

Hình 1.8. Che khuất âm thanh trên miền thời gian [74] ....................................... 15

Hình 1.9. Kỹ thuật làm giảm hao hụt tín hiệu trên đường truyền [80] ................. 17

Hình 1.10. Chuyển âm thanh dạng tương sang dạng số ....................................... 18

Hình 1.11. Lượng tử hoá và biểu diễn dạng số tín hiệu tương tự [80] ................. 18

Hình 2.1. Phân giải tín hiệu thành 2 thành phần xấp xỉ và chi tiết ....................... 23

Hình 2.2. Tín hiệu gốc và tín hiệu đã loại bỏ thành phần D ................................. 24

Hình 2.3. Ảnh gốc và sau khi thực hiện chuyển đổi. ............................................ 25

Hình 2.4. Điều chỉnh bit thấp nhất của mẫu để giấu bit 1 .................................... 29

Hình 2.5. Điều chỉnh mẫu để giấu bit 1 trong khối theo phương pháp chẵn lẻ .... 30

Hình 2.6. Sự dịch chuyển pha của tín hiệu ........................................................... 31

Hình 2.7. Tín hiệu gốc và tín hiệu sau khi dịch chuyển pha 𝜋/2 ......................... 32

Hình 2.8. Hiện tượng không liên tục về pha ......................................................... 33

Hình 2.9. Các thành phần trong tiếng vọng của tín hiệu [32] ............................... 33

Hình 2.10. Xử lý (lọc) mỗi khối để giải tin trong kỹ thuật trải phổ ..................... 36

Hình 2.11. Biên độ và năng lượng của tín hiệu [32] ............................................ 37

Hình 2.12. Sơ đồ điều chỉnh giá trị [32] ............................................................... 38

Hình 2.13. Điều chỉnh độ dốc để giấu thông tin [32] ........................................... 39

Hình 2.14. So sánh giá trị trung bình của tín hiệu không có và có giấu tin. ........ 40

Hình 2.15. Giá trị trung bình của tín hiệu có và không có giấu tin theo MPA ..... 41

Hình 3.1. Minh hoạ mã Hamming với 4 bit dữ liệu và 3 bit kiểm tra chẵn lẻ...... 44

Hình 3.2. Ma trận sinh và ma trận kiểm tra của mã Hamming (7, 4) ................... 44

Page 11: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

ix

Hình 3.3. Dữ liệu âm thanh gốc và dữ liệu có chứa tin mật ................................. 48

Hình 3.4. Độ sai khác khi điều chỉnh bit thứ 3 của mẫu dữ liệu .......................... 50

Hình 3.5. Độ sai khác khi sử dụng kỹ thuật điều chỉnh các bit thấp hơn ............. 51

Hình 3.6. Đoạn dữ liệu tệp âm thanh gốc (trên) và tệp có chứa tin mật (dưới).... 55

Hình 3.7. Minh hoạ kỹ thuật padding ................................................................... 56

Hình 3.8. Vị trí các byte sau khi xáo trộn ............................................................. 57

Hình 3.9. Sơ đồ giấu tin ........................................................................................ 58

Hình 3.10. Ma trận F và A tương ứng từ các mẫu dữ liệu .................................... 60

Hình 3.11. Kết quả XOR 4 cột đầu tiên của từng hàng ........................................ 60

Hình 3.12. Kết quả XOR 4 dòng đầu tiên của từng cột ........................................ 60

Hình 3.13. Kết quả XOR của chuỗi C và chuỗi R ................................................ 60

Hình 3.14. Kết quả giấu 4 bit 0110 trong khối F .................................................. 61

Hình 3.15. Kết quả giấu 4 bit 0111 trong khối F .................................................. 61

Hình 3.16. Kết quả giấu 4 bit 1100 trong khối F .................................................. 61

Hình 3.17. Kết quả giấu 4 bit 1101 trong khối F .................................................. 62

Hình 3.18. Ảnh gốc và ảnh sau khi chuyển đổi để giấu tin .................................. 62

Hình 3.19. Tín hiệu âm thanh trước (trên) và sau khi giấu tin (dưới) .................. 62

Hình 3.20. Sử dụng ký tự bù cho chuỗi tin mật .................................................... 64

Hình 3.21. Chuỗi tin gốc và chuỗi sau khi hoán vị .............................................. 65

Hình 3.22. Khôi phục lại chuỗi gốc từ chuỗi hoán vị ........................................... 65

Hình 3.23. Các giá trị của đoạn âm thanh gồm 256 mẫu ..................................... 66

Hình 3.24. Giá trị của dãy Q tương ứng với các mẫu ........................................... 67

Hình 3.25. Giá trị XOR_sum của dãy Q qua các bước tính ................................. 67

Hình 3.26. Giá trị mới của dãy S .......................................................................... 68

Hình 3.27. Sơ đồ giấu tin dùng XOR_sum của khối ............................................ 69

Hình 3.28. Sóng, phổ của âm thanh trước (trái) và sau khi giấu (phải) ............... 70

Hình 3.29. Biên độ của âm thanh gốc và âm thanh được thêm echo ................... 73

Hình 3.30. Cepstrum của âm thanh gốc và âm thanh được thêm tiếng vọng. ...... 73

Hình 3.31. Phổ biên độ một đoạn của âm thanh trước và sau khi giấu ................ 76

Page 12: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

x

Hình 4.1. Biểu diễn số phức trong hệ toạ độ cực.................................................. 79

Hình 4.2. Điều chỉnh giá trị để giấu 1 bit ............................................................. 80

Hình 4.3. Biên độ đoạn đầu tiên của tệp mang tin ................................................ 83

Hình 4.4. Biên độ của tệp gốc và tệp mang tin ..................................................... 84

Hình 4.5. Ảnh kết quả thu được khi giải tin tương ứng với các tỉ lệ gây nhiễu ... 84

Hình 4.6. Âm thanh gốc và âm thanh chứa tin giấu ............................................. 89

Hình 4.7. Ảnh được giấu và ảnh thu được khi chịu các tấn công thêm nhiễu ...... 90

Page 13: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

1

MƠ ĐÂU

Thông tin số thể hiện rõ những ưu điểm vượt trội, như dễ dàng lưu trữ, sao

chép, chuyển tải, khôi phục và tăng cường chất lượng thông tin. Cùng với đó là sự

phát triển của các thiết bị số, cơ sở hạ tầng và mạng internet, làm cho chúng ta rất dễ

dàng tìm kiếm, sao chép và trao đổi thông tin. Bên cạnh những tiện ích mà thông tin

số và mạng internet mang lại cũng nảy sinh nhiều vấn đề mới, thách thức mới đòi hỏi

chúng ta phải nghiên cứu và giải quyết. Đó là trình trạng xâm nhập trái phép dữ liệu,

lấy cắp, xuyên tạc thông tin, vi phạm và tranh chấp bản quyền các dữ liệu số [53].

Những vấn nạn, thách thức đó không chỉ riêng cho quốc gia, cá nhân, công ty hay

doanh nghiệp nào mà là của tất cả mọi người sống trong thời đại công nghệ số.

Ơ Việt Nam, nhiều văn bản pháp luật đã được Quốc hội ban hành nhằm đảm

bảo chủ quyền số, làm chủ không gian mạng, góp phần bảo đảm quốc phòng, an ninh

đất nước. Một số luật tiêu biểu như Luật an ninh quôc gia số 32/2004/QH11 được

Quốc hội thông qua ngày 03/12/2004; Luật Giao dich điện tử số 51/2005/QH11 được

Quốc hội thông qua ngày 29/11/2005; Luật Công nghệ thông tin số 67/2006/QH11

được Quốc hội thông qua ngày 29/6/2006; Luật an toàn thông tin mang đã được Quốc

hội thông qua ngày 19/11/2015 và có hiệu lực từ ngày 1/7/2016...Thủ tướng Chính

phủ cũng ban hành quyết định số 63/QĐ-TTg ngày 13/01/2010 về việc phê duyệt Quy

hoach phat triển an toàn thông tin sô quôc gia đến năm 2020. Ngoài hệ thống luật,

văn bản pháp qui chúng ta cần phải có những biện pháp kỹ thuật để bảo mật dữ liệu,

đảm bảo an toàn thông tin.

Bảo mật dữ liệu (data security) có nghĩa là bảo vệ dữ liệu trước các hành vi

phá hoại hay các hành vi không mong muốn khác từ những người không được quyền.

Các giải pháp hay được dùng để bảo mật dữ liệu là mã hoá đĩa (disk encryption), sao

lưu (backup), sử dụng các thiết bị đăng nhập hệ thống, bảo mật đường truyền, che

giấu dữ liệu (data masking, gồm mật mã và giấu thông tin). Trong các giải pháp đó,

giải pháp che giấu dữ liệu được sử dụng nhiều.

Trong một thời gian dài, mã hóa dữ liệu được sử dụng như một giải pháp

chính để quyết vấn đề bảo mật thông tin. Mã hóa thực hiện chuyển đổi dữ liệu từ bản

Page 14: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

2

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 trao đổi dữ liệu. Nhiều hệ mã khác nhau, bao gồm

hệ mật mã khóa đối xứng và hệ mật mã khóa công khai, đã được nghiên cứu và triển

khai rất hiệu quả trong thực tế như hệ mã DES, RSA.

Chúng ta còn có 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, gọi là giấu tin (data hiding) hay giấu thông

tin. Giấu 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 tin khác mã hoá ở chỗ là giấu tin giấu đi sự hiện

diện của thông tin trong khi mã hoá giấu đi ý nghĩa của thông tin.

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 để chứa tin. Hai khía cạnh khác nhau

này dẫn đến hai khuynh hướng kỹ thuật chủ yếu của giấu tin. Khuynh hướng thứ nhất

là giấu tin mật (steganography), tập trung vào các kỹ thuật giấu tin sao cho thông tin

giấu được nhiều và quan trọng là người thám tin khó phát hiện được một đối tượng

có chứa tin giấu bên trong hay không. Khuynh hướng thứ hai là thuỷ vân số

(watermarking), nghiên cứu cách thức đánh dấu đối tượng chứa nhằm khẳng định bản

quyền sở hữu hay phát hiện xuyên tạc thông tin. Nhiều kiểu dữ liệu số có thể được

chọn làm dữ liệu chứa cho bài toán giấu tin, như ảnh, video, âm thanh, văn bản, hay

các gói tin được truyền trong mạng.

Giấu tin là một chủ đề đã được nghiên cứu lâu dài nhưng luôn thời sự trên thế

giới. Nhiều cuốn sách về giấu tin, các kỹ thuật giấu tin trong nhiều kiểu dữ liệu khác

nhau đã được công bố, tiêu biểu là cuốn sách về Các kỹ thuật giấu thông tin dùng cho

giấu tin mật và thủy vân số [65] của các tác giả Stefan Katzenbeisser và Fabien A. P.

Petitcolas công bố năm 2000; cuốn sách về Các kỹ thuật thủy vân âm thanh, các kỹ

thuật thủy vân thông minh [32] của Hyoung Joong Kim và các cộng sự công bố năm

2004; cuốn sách về Các công nghệ và kỹ thuật thủy vân âm thanh số: Các ứng dụng

và các tiêu chuẩn [54] của tác giả Nedeljko Cvejic và Tapio Seppänen công bố năm

2008; cuốn sách về Bảo mật đa phương tiện: Các kỹ thuật giấu tin mật và thủy vân

số để bảo vệ sở hữu trí tuệ [19] của tác giả Chun-Shien Lu công bố năm 2005, cuốn

Page 15: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

3

sách về Thủy vân số và Giấu tin mật [33] của tác giả Ingemar J. Cox công bố năm

2008; cuốn sách về Các kỹ thuật tiên tiến các ứng dụng thủy vân đa phương tiện ảnh

âm thanh và video [8] của tác giả Ali Mohammad Al-Ha công bố năm 2010; hai cuốn

sách của tác giả Xing He về Các kỹ thuật thủy vân số trong âm thanh và Xử lý tín

hiệu, Mã hóa tri giác và Thủy vân âm thanh số công bố lần lượt vào các năm 2008 và

2011…Có nhiều hội thảo chuyên về giấu tin đã được tổ chức hằng năm, chẳng hạn

như "International Workshop on Digital-forensics and Watermarking" [82] đã được

tổ chức tới lần thứ 15 vào năm 2016 tại Trung Quốc. Tạp chí dành riêng cho giấu tin

là “Transactions on Data Hiding and Multimedia Security” [87] đã phát triển liên tục

từ năm 2006. Mặc dù đã có lịch sử lâu nhưng giấu tin hiện nay vẫn nhận được sự

quan tâm của cộng đồng nghiên cứu về giấu tin nói riêng và an toàn thông tin nói

chung, thể hiện qua các chủ đề tại các hội nghị quốc tế hằng năm, số lượng các bài

báo được trình bày tại các Hội nghị hằng năm và trên các Tạp chí khoa học. So với

giấu tin trong ảnh, số lượng bài báo công bố liên quan đến giấu tin trong âm thanh ít

hơn, nguyên nhân là do dữ liệu ảnh xuất hiện thường xuyên (trong các ứng dụng,

website) hơn so với âm thanh và do hệ thống thị giác con người ít nhạy hơn so với hệ

thống thính giác, do đó dễ khai thác để giấu tin. Đã có một số luận án thực hiện nghiên

cứu về giấu tin, như của giáo sư MinWu [52], và chuyên về giấu tin trong âm thanh

như của tác giả Nedeljko Cvejic [20].

Tương tự như giấu tin trong ảnh, giấu tin trong âm thanh có thể phân loại thành

giấu trực tiếp trên các mẫu dữ liệu âm thanh hoặc trên miền biến đổi. Trong [21, 22,

23, 69] trình bày các kỹ thuật sử dụng phương pháp điều chỉnh các bit ít quan trọng

của mẫu dữ liệu biểu diễn âm thanh để giấu tin. Trong [76] trình bày kỹ thuật giấu tin

sử dụng patchwork. Trong [72] trình bày thuật toán giấu dựa vào phân tích đặc trưng

của dữ liệu chứa. Một số nghiên cứu dựa vào đặc trưng không phân biệt được sự thay

đổi về pha của hệ thống thính giác con người để giấu tin, như trong các nghiên cứu

[55, 71]. Một số nghiên cứu giấu tin trong tệp âm thanh dựa vào kỹ thuật nén của

định dạng của tệp, như [59] áp dụng để giấu cho định dạng nén mp3, trong [60] áp

dụng để giấu cho định dạng PCM. So với miền thời gian, các thuật toán giấu trên

Page 16: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

4

miền tần số có độ bền vững cao hơn. Các nghiên cứu được trình bày trong [27, 41,

49, 50, 51] thực hiện giấu tin trên miền tần số, sử dụng phép biến đổi Fourier. Một

miền biến đổi khác cũng được dụng để giấu tin là miền biến đổi wavelet, được trình

bày trong các nghiên cứu [29, 75]. Một số phương pháp giấu sử dụng kỹ thuật trải

phổ tín hiệu trong ngành viễn thông để giấu tin như trong [26, 46, 45].

Về tình hình nghiên cứu trong nước, hiện đã có một số luận án tiến sĩ nghiên

cứu về lĩnh vực giấu tin. Luận án của tác giả Vũ Ba Đình [1] nghiên cứu về giấu tin

trong ảnh, cụ thể là bản đồ số. Luận án của tác giả Nguyễn Ngọc Hà [2], Nguyễn Văn

Tảo [5] nghiên cứu về giấu tin trong ảnh và các ứng dụng của giấu tin. Tác giả Nguyễn

Hải Thanh đã phát triển các thuật toán giấu tin trong ảnh và ứng dụng trong mã đàn

hồi [4]. Tác giả Lưu Thị Bích Hường trong luận án của mình đã nghiên cứu và phát

triển các kỹ thuật thủy vân trên cơ sở dữ liệu quan hệ [3]. Một số tác giả khác cũng

chọn đề tài nghiên cứu về lĩnh vực giấu tin trong ảnh làm đề tài luận án và đang trong

giai đoạn hoàn thành. Chủ đề giấu tin cũng đang được một số nhóm nghiên cứu tại

các trường đại học quan tâm, như nhóm nghiên cứu tại Đại học Khoa học tự nhiên

thành phố Hồ Chí Minh, nhóm nghiên cứu tại Đại học giao thông vận tải, nhóm

nghiên cứu tại Đại học Hải Phòng. Các luận án trong nước trước đây chủ yếu chọn

ảnh làm dữ liệu chứa, chưa có luận án nghiên cứu về lĩnh vực giấu tin trong âm thanh.

Giấu tin trong âm thanh cũng đã được một số tác giả khác nghiên cứu, tuy nhiên số

lượng các bài báo công bố bằng tiếng Việt trên các tạp chí khoa học và hội nghị, hội

thảo quốc gia vẫn còn ít. Mặc dù trên thế giới, các nghiên cứu về giấu tin trong dữ

liệu đa phương tiện nói chung và dữ liệu âm thanh nói riêng là không mới, nhưng đối

với chúng ta, việc nghiên cứu và nắm rõ các kỹ thuật giấu tin là cần thiết, giúp chúng

ta chủ động về mặt kỹ thuật và có những biện pháp để quản lý, theo dõi, phát hiện

trao đổi tin.

Hiện nay vẫn còn một số vấn đề về giấu tin trong âm thanh cần phải được

nghiên cứu và giải quyết. Thứ nhất là vấn đề về giấu tin sao cho ít làm thay đổi dữ

liệu chứa nhất. Vấn đề thứ hai là kiểm tra lại tin giấu bên trong có bị thay đổi, có thể

do chủ ý của người thám tin hay do nhiễu, hay không. Vấn đề tiếp theo là nghiên cứu

Page 17: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

5

cách giấu sao cho người thám tin không phát hiện được dữ liệu có chứa tin và rất khó

lấy được tin giấu nếu như không biết khóa. Vấn đề cuối cùng là nghiên cứu cách bảo

vệ tin giấu trong dữ liệu mang tin trước các tấn công hay giấu sao cho tin giấu bền

vững nhất có thể.

Trên cơ sở đó, luận án tập trung nghiên cứu theo hướng chọn dữ liệu chứa là

dữ liệu âm thanh và giấu tin nhằm mục đích bảo vệ tin mật.

Cụ thể, luận án tập trung nghiên cứu các vấn đề sau:

1) Nghiên cứu các phương pháp hỗ trợ việc không nhận tin sai trong quá trình

giải tin và các cách chọn các mẫu tín hiệu âm thanh không theo quy luật để

giấu các bit tin, làm cho người thám tin khó phát hiện tin.

2) Nghiên cứu và áp dụng các kỹ thuật điều chỉnh mẫu dữ liệu để giấu tin.

3) Trình bày một số cải tiến cho bài toán giấu tin trong âm thanh.

Với mục tiêu đặt ra như vậy, luận án đã đạt được một số kết quả, góp một phần

nhỏ vào lĩnh vực nghiên cứu giấu tin. Các kết quả chính của luận án như sau:

Đề xuất sử dụng mã hỗ trợ xác thực để 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, cách chọn mẫu dữ

liệu, vị trí bit trong mẫu dữ liệu cần điều chỉnh để thực hiện giấu tin, áp dụng

các phương pháp giấu tin trên dữ liệu đa phương tiện vào trường hợp cụ thể là

âm thanh. Trong kỹ thuật cũng đưa ra 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 chứa tin giấu là ít nhất. Kết quả được đăng tải

trong Tạp chí Khoa học Tự nhiên và Công nghệ, Tạp chí Khoa học ĐHQG Hà

Nội năm 2009, 2013 và đăng tải trong kỷ yếu Hội nghị quốc tế IEEE SoCPaR

2013 và hội nghị quốc tế IEEE ATC 2014 tại Hà Nội.

Đề xuất cải tiến kỹ thuật giấu tin sử dụng tiếng vọng 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 hai phương pháp điều chỉnh mẫu dữ liệu trên miền tần số để giấu tin.

Phương pháp thứ nhất lựa chọn và điều chỉnh các hệ số trên miền tần số của

tín hiệu âm thanh, sử dụng phép biến đổi Fourier. Phương pháp thứ hai điều

Page 18: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

6

chỉnh giá trị trung bình của các đoạn dữ liệu, sử dụng phép biến đổi wavelet.

Kết quả nghiên cứu được đăng trong kỉ yếu hội nghị tại Hội nghị quốc tế IEEE

DICTAP năm 2014 tại Thái Lan và đã được đăng trên Tạp chí Khoa học Công

nghệ, Đại học Đà Nẵng năm 2016.

Bố cục của luận án bao gồm phần mở đầu, bốn chương nội dung, kết luận và

danh mục các tài liệu tham khảo. Chương 1 của luận án trình bày về một số khái niệm

cơ bản trong giấu tin, tính chất và ứng dụng của giấu tin. Trong chương này cũng

trình bày về cách biểu diễn, lưu trữ âm thanh số trên máy tính, đặc điểm và những

hạn chế của hệ thống thính giác của con người, là cơ sở có thể giấu tin vào trong âm

thanh. Chương 2 của luận án trình bày các phương pháp giấu tin cơ sở dùng để giấu

tin trong âm thanh cùng một số nhận xét được tác giả tổng hợp từ các tài liệu tham

khảo. Trong chương 2 cũng trình bày các kỹ thuật bổ trợ thường được dùng trong

giấu tin, một số độ đo dùng để đánh giá các kỹ thuật giấu tin. Các kỹ thuật bổ trợ và

các độ đo được trình bày trong chương 2 được sử dụng trong các chương tiếp theo

của luận án. Chương 3 trình bày về các phương pháp giấu tin trên miền thời gian. Nội

dung chương này được tổng hợp từ năm bài báo. Các phương pháp giấu tin trong

chương này được thực hiện bằng cách điều chỉnh một mẫu hoặc nhóm các mẫu biểu

diễn dữ liệu âm thanh. Đây là các phương pháp thích hợp cho ứng dụng giấu tin mật.

Chương 4 trình bày hai phương pháp giấu trên miền tần số, được tổng hợp từ hai bài

báo. So với các phương pháp giấu tin ở chương 3, hai phương pháp ở chương 4 có tỉ

lệ dữ liệu thấp hơn nhưng có thể chịu được một số tấn công cơ bản. Phương pháp thứ

nhất thực hiện trên miền tần số thực hiện phép biến đổi Fourier, cho phép giấu 8 bit

dữ liệu trong đoạn 512 mẫu. Phương pháp thứ hai thực hiện giấu dữ liệu trên miền

tần số sử dụng phép biến đổi wavelet, dựa vào giá trị trung bình của đoạn. Hai phương

này có thể được dùng để giấu tin mật, được dùng trong trường hợp dữ liệu mang tin

có thể phải chịu tấn công nhiễu. Phần kết luận của luận án trình bày những kết quả

đạt được, những hạn chế của luận án và hướng phát triển tiếp theo.

Page 19: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

7

Chương 1. GIẤU THÔNG TIN VÀ GIẤU TIN

TRONG ÂM THANH

Chương này của luận án trình bày những nội dung chung về giấu thông tin và

giấu tin trong âm thanh. Bên cạnh trình bày các yêu cầu và ứng dụng của giấu tin,

chương này cũng trình bày cách biểu diễn âm thanh số, các đặc trưng cơ bản của âm

thanh số, tính chất của hệ thống thính giác của con người, là cơ sở để có thể thực hiện

được 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) [58]. Một câu chuyện về

thời Hy-Lạp cổ đại do Herodotus ghi lại kể về giấu thông tin. Demeratus, một người

Hy-Lạp, cần thông báo cho Sparta rằng Xerxes định xâm chiếm Hy-Lạp. Để tránh bị

phát hiện, Demeratus đã bóc lớp sáp ra khỏi các viên thuốc và khắc thông báo lên bề

mặt các viên thuốc này, sau đó bọc lại các viên thuốc bằng một lớp sáp mới. Bằng

cách này, những viên thuốc được để ngỏ và lọt qua mọi sự kiểm tra một cách dễ dàng.

Người Romans cổ đã dùng mực không màu để viết các thông báo bí mật giữa

những hàng văn tự thông thường. Khi bị hơ nóng, những dòng chữ được viết từ loại

mực này se trở nên sẫm màu và có thể đọc được.

Công nghệ thông tin đã tạo ra những môi trường giấu tin mới vô cùng tiện lợi

và phong phú. Ta có thể giấu tin trong văn bản, ảnh, âm thanh, video, các tệp cơ sở

dữ liệu hoặc thậm chí trong các gói tin được truyền trên đường truyền mạng.

Ý tưởng về che giấu thông tin đã có từ rất lâu nhưng kỹ thuật này được dùng

chủ yếu trong quân đội và trong các cơ quan tình báo. Ngày nay giấu tin không chỉ

dùng cho mục đích an ninh, quân sự mà còn để phục vụ các mục đích tích cực như

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 phần chính sau đây:

Page 20: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

8

+ Thông điệp mật (secret message): có thể là văn bản, hình ảnh, âm thanh. Trong quá

trình giấu tin, chúng được chuyển thành chuỗi các bit.

+ Dữ liệu chủ hay môi trường se chứa tin mật (host signal): dữ liệu có thể chọn làm

dữ liệu chủ là tệp ảnh, tệp âm thanh, tệp video hay tệp cơ sở dữ liệu, văn bản.

+ Khoá K: là khóa tham gia vào quá trình giấu tin để tăng tính bảo mật.

+ Dữ liệu mang tin 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.1. Sơ đồ của hệ giấu tin

1.1.3. Các yêu cầu của hệ giấu tin

Có nhiều phương pháp giấu tin cho những kiểu dữ liệu khác nhau. Để đánh

giá chất lượng của một phương pháp giấu tin, người ta dựa vào một số tiêu chí sau:

1.1.3.1. Tính “vô hình”

Khi giấu tin vào trong các dữ liệu chủ se làm thay đổi ít nhiều dữ liệu chủ. Nếu

phương pháp giấu tin tốt, se làm cho thông tin mật trở nên “vô hình” trên dữ liệu

mang tin và người ta “khó có thể” nhận ra trong dữ liệu mang tin có chứa tin mật hay

không. Đối với phương pháp giấu tin trong ảnh, tính vô hình thể hiện ở việc không

nhìn thấy, không phân biệt được sự khác nhau giữa ảnh gốc và ảnh chứa tin giấu. Đối

với phương pháp giấu tin trong âm thanh, tính vô hình thể hiện ở chỗ không phân biệt

được sự khác nhau khi nghe tệp âm thanh gốc và tệp âm thanh chứa tin.

1.1.3.2. Khả năng chống giả mạo

Mục đích của “giấu tin” là để truyền đi thông tin mật. Nếu không thể do thám

tin mật, thì người thám tin cũng cố tìm cách làm sai lạc tin mật, làm giả mạo tin mật

Quá trình

Giấu tin

Quá trình

Giải tin

Khoá Khoá

Dữ liệu chủ

Dữ liệu

mang tin

Môi trường

mạng

Thông điệp mật

Dữ liệu chủ

Thông điệp mật

Page 21: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

9

để gây bất lợi cho đối phương. Một phương pháp giấu tin tốt se đảm bảo tin mật

không bị tấn công một cách có chủ đích trên cơ sở những hiểu biết đầy đủ về thuật

toán giấu tin (nhưng không biết khoá) và có tệp mang tin. Đối với lĩnh vực thủy vân

số thì khả năng chống giả mạo là đặc tính vô cùng quan trọng, vì có như vậy mới bảo

vệ được bản quyền, chứng minh tính pháp lý của sản phẩm (người khác không thể

hay rất khó có thể thay đổi thông tin bản quyền trên sản phẩm).

1.1.3.3. Tính bền vững

Sau khi tin được giấu vào đối tượng chứa, các tệp mang tin được truyền qua

các kênh công cộng và có thể phải qua hay chịu các biến đổi khác nhau, chẳng hạn

như phép lọc, thêm nhiễu, cắt bớt dữ liệu hay lấy mẫu lại. Tính bền vững thể hiện ở

sự nguyên vẹn, không thay đổi (hay thay đổi không đáng kể) của thông tin được giấu

sau những biến đổi như vậy.

1.1.3.4. Dung lượng tin giấu

Dung lượng tin giấu được tính bằng tỷ lệ của lượng tin cần giấu so với kích

thước đối tượng gốc. Các phương pháp giấu tin mật đều cố gắng giấu được càng nhiều

tin trong dữ liệu gốc càng tốt nhưng vẫn giữ được bí mật.

1.1.3.5. Độ phức tạp tính toán

“Độ phức tạp” của thuật toán giấu và giải tin cũng là một chỉ tiêu quan trọng

để đánh giá một phương pháp giấu tin. Chỉ tiêu này cho chúng ta biết “tài nguyên”

(thời gian và bộ nhớ) tốn bao nhiêu dùng cho một phương pháp giấu tin. Với người

có quyền trong hệ thống giấu tin thì thời gian thực hiện phải “nhanh”, nhưng với

người thám tin thì việc giải tin phải là bài toán “khó”.

Ba thuộc tính quan trọng mà một hệ giấu tin nào cũng mong muốn đạt cao

nhất, đó là chất lượng, số lượng và tính bền vững. Thuộc tính chất lượng yêu cầu sự

sai khác giữa dữ liệu gốc và dữ liệu mang tin càng ít càng tốt. Thuộc tính số lượng

yêu cầu giấu càng nhiều tin càng tốt. Thuộc tính bền vững yêu cầu khó thay đổi hay

xóa tin giấu trong dữ liệu mang tin. Tuy nhiên ba đặc tính này lại ảnh hưởng lẫn nhau,

khi đề cao một đặc tính này thì se ảnh hưởng đến các đặc tính còn lại. Ví dụ, khi ta

muốn giấu nhiều tin hơn vào trong một ảnh thì ta phải thay đổi nhiều điểm ảnh hơn

Page 22: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

10

để giấu tin, dẫn đến chất lượng của ảnh chứa tin se giảm hơn so với ảnh gốc. Các ứng

dụng thủy vân quan tâm nhiều đến thuộc tính bền vững trong khi ứng dụng giấu tin

mật quan tâm nhiều đến thuộc tính dung lượng. Mối quan hệ giữa ba thuộc tính thể

hiện như hình 1.2. Khi ta tăng dung lượng (số lượng bit) giấu thì ảnh hưởng đến chất

lượng tệp mang tin, hay khi tăng tính bền vững của tin giấu thì phải giảm dung lượng

giấu cũng như giảm chất lượng tệp mang tin.

Hình 1.2. Môi quan hệ giữa ba yếu tô chất lượng – dung lượng – bền vững

1.1.4. Phân loại giấu tin

Giấu tin có thể phân loại theo đặc trưng, tính chất và ứng dụng. Ta có thể phân

loại các kỹ thuật giấu tin theo kiểu tài liệu dùng làm dữ liệu chứa (văn bản, ảnh, âm

thanh, video..), theo miền xử lý (miền dữ liệu trực tiếp hay miền biến đổi), hay theo

mục đích giấu tin.

Hình 1.3. Phân loai giấu tin dựa vào mục đich ứng dụng

Chất lượng (quality)

Bền vững (robustness)

Dung lượng (capacity)

Infomation hiding

Giấu thông tin

Robust Copyright marking

Thuỷ vân bền vững

Imperceptible Watermarking

Thuỷ vân không nhìn thấy được

Steganography

Giấu tin mật

Watermarking

Thuỷ vân số

Fragile Watermarking

Thuỷ vân “dễ vỡ”

Visible Watermarking

Thuỷ vân có thể nhìn thấy được

Page 23: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

11

Nếu phân theo mục đích giấu tin thì ta có giấu tin mật và thủy vân số. Giấu tin

mật (steganography) là kỹ thuật nhúng “mẩu tin mật” vào “môi trường giấu tin” (môi

trường phủ). Trong quá trình giấu tin ta có thể dùng khoá (stego-key) để tăng tính bảo

mật. Trong giấu tin mật, khoá không phải dùng để mã hóa mẩu tin mà thường được

dùng để xác định vị trí “rải tin mật” vào môi trường giấu tin. Mục đích của giấu tin

mật là bảo vệ thông tin được giấu. Thuỷ vân số là kỹ thuật nhúng “dấu ấn số” vào

một “tài liệu số” nhằm chứng thực (đánh dấu, xác thực) nguồn gốc hay chủ sở hữu

của “tài liệu số” này. Như vậy mục đích của thuỷ vân số là bảo vệ môi trường giấu

tin, bằng cách biến tin giấu thành một thuộc tính của vật mang tin [33].

Các kỹ thuật giấu tin được trình bày trong luận án được phân loại theo miền

xử lý, bao gồm miền dữ liệu của âm thanh (miền thời gian) và miền biến đổi.

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. Việc nghiên cứu các biện pháp của

những người thám tin se hữu ích cho việc thiết kế một hệ giấu tin tốt.

Việc tấn công được coi là thành công hay không tuỳ theo ứng dụng. Đối với

liên lạc bí mật, việc phát hiện và chứng minh được một đối tượng có chứa tin mật

được coi là thành công. Đối với bảo vệ bản quyền hay chống giả mạo, thì việc tấn

công được coi là thành công nếu không chỉ phát hiện ra thuỷ vân mà còn có thể phá

huỷ hay sửa đổi nó.

Các thuật toán tấn công hệ giấu tin cũng tương tự như các thuật toán tấn công

các hệ mã. Nếu như người thám tin có tệp gốc thì se thực hiện so sánh từng bit với

tệp nghi ngờ chứa tin giấu để tìm thông tin mật. Đó là lý do tại sao những tệp quá phổ

biến (tệp âm thanh trong các CD hay các tệp ảnh trên Internet) thường không được

sử dụng làm đối tượng chứa. Một số tấn công thường gặp là phân tích tệp chứa tin để

tìm và/hoặc xóa tin, đối sánh với dữ liệu gốc để lấy hoặc thay thế tin mật, chuyển

định dạng, nén, thêm nhiễu để làm mất tin …Sức mạnh của một thuật toán giấu tin

phụ thuộc vào khả năng vượt qua các tấn công.

Page 24: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

12

1.1.6. Các ứng dụng của giấu tin

1.1.6.1. Liên lạc bí mật

Giấu tin có thể được sử dụng để liên lạc bí mật giữa người gửi và người nhận.

Nếu chúng ta dùng phương pháp mã hóa thì bản mã của tin mật có thể gây ra sự chú

ý cho người thám mã. Tuy nhiên nếu ta giấu tin mật vào trong môi trường nào đó rồi

gửi đi trên mạng máy tính se ít gây ra sự chú ý hơn. Hiện nay người ta phối hợp đồng

thời nhiều giải pháp để truyền tin mật trên mạng công khai: Đầu tiên tin mật được

nén, sau đó se thực hiện mã hóa và cuối cùng giấu bản mã vào trong môi trường chứa.

1.1.6.2. Bảo vệ bản quyền (copyright protection)

Đây là ứng dụng cơ bản nhất của kỹ thuật thuỷ vân số. Một thông tin nào đó

mang ý nghĩa quyền sở hữu tác giả se được nhúng vào trong các sản phẩm. Việc

nhúng thuỷ vân cần phải đảm bảo không để lại một ảnh hưởng lớn nào đến việc cảm

nhận sản phẩm. Yêu cầu kỹ thuật đối với ứng dụng này là thuỷ vân phải tồn tại bền

vững cùng với sản phẩm, muốn bỏ thuỷ vân mà không được phép của người sở hữu

thì chỉ có cách phá huỷ sản phẩm.

1.1.6.3. Nhận thực hay phát hiện xuyên tạc thông tin (authentication and

tamper detection)

Đối với ứng dụng này, một tập các thông tin se được giấu trong dữ liệu chứa

và sau đó được sử dụng để nhận biết xem dữ liệu chứa đó có bị thay đổi hay không.

Yêu cầu chung đối với ứng dụng này là khả năng giấu thông tin nhiều và thuỷ vân

không cần bền vững trước các phép xử lý trên đối tượng đã được giấu tin.

1.1.6.4. Ghi dấu vân tay (fingerprinting)

Mục tiêu của ghi dấu vân tay là để chuyển thông tin về người nhận sản phẩm

phương tiện số nhằm xác định đây là bản sao duy nhất của sản phẩm. Về mặt ý nghĩa,

ghi dấu vân tay tương tự như số xê ri của phần mềm. Mỗi một sản phẩm se mang một

thuỷ vân riêng và được nhúng vào các bản copy khác nhau của thông tin gốc trước

khi chuyển cho nhiều người. Với những ứng dụng này thì yêu cầu là đảm bảo độ an

toàn cao cho các thuỷ vân, tránh sự xoá dấu vết trong khi phân phối.

Page 25: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

13

1.1.6.5. Gán nhãn (labeling)

Tiêu đề, chú giải và nhãn thời gian cũng như các minh hoạ khác có thể được

nhúng vào trong đối tượng chứa. Ví dụ ta có thể đính tên người lên ảnh hoặc đính tên

vùng địa phương lên bản đồ. Khi đó, nếu sao chép ảnh thì cũng se sao chép cả các dữ

liệu nhúng trong nó. Và chỉ có chủ sở hữu của tác phẩm mới có thể tách ra và xem

các chú giải này. Gán nhãn cũng được sử dụng để nhúng các từ khoá vào trong các

đối tượng chứa để các động cơ tìm kiếm có thể tìm nhanh đối tượng.

1.1.6.6. Điều khiển sao chép (copy control)

Đối với các hệ thống phân phối dữ liệu đa phương tiện, một yêu cầu luôn đặt

ra là cần có kỹ thuật chống sao chép trái phép dữ liệu. Có thể dùng thuỷ vân trong

những trường hợp này để điều khiển sao chép đối với các thông tin [73]. Các thiết bị

phát hiện ra thuỷ vân thường được gắn sẵn vào trong các hệ thống đọc ghi. Thuỷ vân

mang các giá trị chỉ trạng thái cho phép sao chép dữ liệu như “copy never” - không

được phép sao chép hay “copy once” - chỉ được copy một lần. Sau khi copy xong, bộ

đọc, ghi thuỷ vân se ghi thuỷ vân mới chỉ trạng thái mới lên DVD. Các ứng dụng loại

này cũng yêu cầu thuỷ vân phải được bảo đảm an toàn và sử dụng phương pháp phát

hiện thuỷ vân đã giấu không cần thông tin gốc.

1.2. Giấu tin trong âm thanh số

Ngay từ những ngày đầu phát triển, các thuật toán giấu tin hầu hết chỉ tập trung

nghiên cứu nhiều lĩnh vực ảnh. Khác với giấu tin trong ảnh là khai thác hệ thống thị

giác của con người, giấu tin trên âm thanh tập trung khai thác khả năng cảm nhận của

hệ thính giác của con người (Human Auditory System).

Hình 1.4. Hệ thông thinh giac của con ngươi [66]

Page 26: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

14

Hình 1.4 mô tả cấu trúc hệ thống thính giác của con người. Các tín hiệu âm

thanh từ môi trường bên ngoài se được thu nhận bởi tai ngoài, sau đó các tín hiệu này

chuyển đến màng nhĩ và chuyển đến các tế bào thần kinh thông qua các cấu trúc bên

trong của tai.

Theo các nghiên cứu về sinh học, hệ thính giác người nhạy cảm hơn nhiều so

với hệ thống thị giác và các tấn công trên âm thanh số cũng đa dạng hơn nên giấu tin

trên âm thanh không phải là lĩnh vực dễ thực hiện [74]. Giấu tin trong âm thanh dựa

vào ngưỡng nghe của 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 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. Ngưỡng nghe của con người

thay đổi theo độ tuổi và có sự khác nhau giữa nam và nữ. Hình 1.5 thể hiện dải tần

của âm thanh. Những âm thanh trong khoảng từ 0 - 20Hz gọi là hạ âm, những âm

thanh trên 20 KHz gọi là siêu âm. Con người không nghe được hạ âm và siêu âm.

Hình 1.5. Dải tần của âm thanh

1.2.2. Hiện tượng che khuất

Mặc dù tai người có thể nghe ở dải tần rộng nhưng những gì tai người có thể

nghe phụ thuộc vào môi trường nơi đang nghe. Nếu như ở trong môi trường nhiễu

mạnh (ví dụ nhiễu trắng), nhiều âm thanh nhỏ se bị che khuất (masked), vì thế ta

không thể nghe được chúng.

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 một âm thanh khác. Âm thanh bị che gọi là

maskee, âm thanh che là masker. Khoảng cường độ khác nhau giữa maskee và masker

gọi là mức độ che.

20 kHz 20Hz

Hạ âm Âm thanh Siêu âm

Page 27: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

15

Hình 1.6 Ngưỡng che của tin hiệu âm thanh

Ví dụ ban đầu ta có thể nghe âm thanh ở mức 10 dB. Khi có sự xuất hiện đồng

thời một âm thanh khác thì ta không thể nghe được âm thanh ban đầu trừ khi ta điều

chỉnh âm thanh ban đầu lên 26 dB. Như vậy khoảng bị che (masked threshold) của

âm thanh ban đầu so với âm thanh che là 16 dB. Hình 1.6 minh hoạ cho ngưỡng che

của tín hiệu âm thanh.

Hình 1.7. Che khuất âm thanh trên miền tần sô [74]

Hiện tượng che khuất âm thanh xảy ra trên cả miền tần số và miền thời gian.

Hình 1.7 minh họa cho che khuất âm thanh trong miền tần số (simultaneous masking)

và hình 1.8 minh họa cho che khuất âm thanh trong miền thời gian (temporal

masking).

Hình 1.8. Che khuất âm thanh trên miền thơi gian [74]

Page 28: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

16

1.2.3. Âm thanh và các đặc tính của âm thanh

Âm thanh là các dao động cơ học của các phân tử, nguyên tử hay các hạt làm

nên vật chất và lan truyền trong vật chất như các sóng. Âm thanh, giống như nhiều

sóng, được đặc trưng bởi tần số, bước sóng, chu kỳ, biên độ và vận tốc lan truyền. Ba

đặc trưng sinh lý của âm thanh là âm lượng, độ cao, âm sắc. Âm lượng đại diện cho

độ lớn (loudness) của tín hiệu âm thanh, tương quan với biên độ của tín hiệu, cũng

được xem là năng lượng hoặc cường độ của tín hiệu âm thanh. Độ cao đại diện cho

tỷ lệ rung của tín hiệu âm thanh, có thể biểu diễn bởi tần số cơ bản hoặc tương đương.

Âm sắc đại diện cho nội dung ngữ nghĩa của tín hiệu âm thanh, giúp ta phân biệt âm

do các nguồn khác nhau phát ra.

Đơn vị để đo âm thanh là decibel (dB). Decibel được dùng để so sánh độ mạnh

của 2 âm thanh. Giá trị của này thể hiện tỉ lệ (ratio) chứ không phải là một giá trị cụ

thể.

𝑑𝐵 = 20𝑙𝑜𝑔10(𝑃1

𝑃𝑅𝐿) (1.1)

Trong đó PRL là cường độ (strength) của tín hiệu cần so sánh và P1 là cường

độ của tín hiệu được so sánh.

Ví dụ: P1=3.1*PRL thì:

dB =20*log10(3.1PRL/PRL)

=20*log10(3.1) =20*0.49993 =9.827 ~ 10.

Các đặc tính của âm thanh:

- Âm thanh có thể dùng máy biến năng chuyển âm thanh từ dạng này sang

dạng năng lượng khác để lưu trữ.

- Cường độ bức xạ của âm thanh giảm dần tỉ lệ với bình phương khoảng

cách với nguồn.

Khi làm việc trong môi trường âm thanh, ngoài thông tin số thể hiện âm thanh

chúng ta còn phải chú ý đến phương tiện truyền dẫn tín hiệu âm thanh đó. Phương

tiện truyền dẫn một tín hiệu âm thanh là môi trường mà trong đó tín hiệu phải đi qua

để đến được đích. Có thể chia môi trường truyền dẫn ra thành 4 nhóm như sau:

Page 29: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

17

- Môi trường số end – to – end: trong đó các tệp âm thanh được copy trực tiếp

từ máy này sang máy khác.

- Môi trường lấy mẫu lại theo tỉ lệ khác: trong đó tín hiệu được lấy mẫu lại

theo tỉ lệ lấy mẫu cao hoặc thấp hơn.

- Môi trường truyền dẫn analog và lấy mẫu lại : trong đó tín hiệu được chuyển

sang analog sau đó lấy mẫu lại.

- Môi trường "over the air": tín hiệu được truyền qua không khí và được lấy

mẫu lại bằng micro.

Tùy vào môi trường truyền tín hiệu âm thanh mà có các kỹ thuật thích hợp để

nhúng dữ liệu vào tệp âm thanh này.

Chất lượng tín hiệu có thể giảm sút khi truyền trên đường truyền. Ơ dạng tương

tự hay dạng số, chúng ta đều có những cách để làm giảm sự hao hụt tín hiệu trên

đường truyền. Hình 1.9 minh hoạ cho các kỹ thuật làm giảm sự hao hụt tín hiệu trong

trường hợp tín hiệu tương tự và tín hiệu số.

Hình 1.9. Kỹ thuật làm giảm hao hụt tin hiệu trên đương truyền [80]

1.2.4. Biểu diễn âm thanh số

Để lưu trữ và 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ố. Thông tin số đại diện của một tệp âm

thanh bao gồm các mẫu tín hiệu được lấy theo phương pháp lượng tử hóa và lấy mẫu

theo thời gian [74]. Âm thanh thường được lượng tử hóa với độ sâu số (bit depth) 8,

16 hoặc 24 bit. Đối với âm thanh chất lượng cao, mức lượng tử thường được sử dụng

là 16 bit. Tỷ lệ lấy mẫu theo thời gian quyết định biên vùng tần số. Tỉ lệ lấy mẫu

thông thường nằm trong khoảng 8 kHz đến 44.1 kHz

Page 30: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

18

Hình 1.10. Chuyển âm thanh dang tương sang dang sô

Hình 1.11 thể hiện chi tiết 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ố. Lỗi lượng tử (quantization error) có thể giảm xuống

bằng cách tăng tỉ lệ lấy mẫu (sampling rate) và dùng nhiều bit hơn để biểu diễn giá

trị một mẫu (quantization level).

Hình 1.11. Lượng tử hoa và biểu diễn dang sô tin hiệu tương tự [80]

Page 31: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

19

Một mẫu dữ liệu âm thanh có thể biểu diễn bằng 8 bit, 16 bit hay 24 bit và tệp

âm thanh có thể gồm 1 kênh (mono) hay 2 kênh (stereo). Số byte dùng để lưu 1 giây

âm thanh được xác định theo công thức (1.2):

Số byte ≈ (tần số lấy mẫu ∗ số kênh ∗ số bit biểu diễn 1 mẫu)/8 (1.2)

Ví dụ với âm thanh stereo, dùng 16 bit để lưu 1 mẫu, tần số lấy mẫu 44 kHz, mã hoá

PCM, thì số byte cần dùng để lưu 3 phút se là:

≈ 3min*60sec/min*44000samples/sec*16bits/sample*2(channel)/8bits/byte

≈ 31.68 Mb.

1.2.5. Các định dạng âm thanh phổ biến

Do các thuật toán giấu tin phụ thuộc vào định dạng của tệp âm thanh, nên để

giấu tin vào tệp âm thanh, ta cần hiểu rõ định dạng tệp âm thanh. Có thể phân các

định dạng thành âm thanh thành ba nhóm, đó là nhóm định dạng không nén, nhóm

định dạng nén không mất mát thông tin và nhóm định dạng nén mất mát thông tin.

Bảng 1.1 trình bày một số định dạng âm thanh thường gặp trên các hệ thống máy tính

[86].

Bảng 1.1. Môt sô đinh dang tệp âm thanh trên may tinh

Kiểu Phần mơ rộng Codec

AIFF (Mac) .aif, .aiff *PCM

AU (Sun/Next) .au *u-law

CD audio (CDDA) N/A PCM

MP3 .mp3 MPEG Audio Layer-III

Windows Media Audio .wma Proprietary (Microsoft)

QuickTime .qt Proprietary (Apple Computer)

RealAudio .ra, ram Proprietary (Real Networks)

WAV .wav *PCM

• WAV (.wav) : là kiểu định dạng đại diện cho âm thanh kỹ thuật số trong

Windows PCs.

• AIFF (aif) và AU (.au) : AIFF là kiểu định dạng âm thanh đại diện cho

Macintosh, AU là kiểu định dạng đại diện cho hệ thống Sun.

Page 32: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

20

• RealAudio (.ra) : là hệ thống được sử dụng đầu tiên đại diện cho luồng âm

thanh và hình ảnh trên Internet.

• MIDI (.mid) : được ghi tắt của Music Instrument Digital Interface, là chuẩn

đại diện cho thông tin âm nhạc chuyển giao giữa phương tiện điện tử và máy tính.

• QuickTime (.qt) : được sử dụng để định dạng đa phương tiện từ máy tính

Apple, hỗ trợ cả luồng âm thanh và luồng hình ảnh.

1.2.6. Một số chương trình giấu tin trên âm thanh

Đã có nhiều phần mềm giấu tin trong âm thanh được phát triển và ứng dụng

trong thực tế. Bảng 1.2 thể hiện một số chương trình giấu hiện tại trong khảo sát của

Pedram Hayati và các cộng sự [81]. Ngoài giấu tin trên âm thanh, một số phần mềm

có thể giấu trên nhiều loại dữ liệu và chạy trên nhiều hệ điều hành khác nhau. Ví dụ

như OpenPuff có thể giấu trên ảnh, video, âm thanh và tệp pdf.

Bảng 1.2. Bảng môt sô phần mềm giấu tin trong âm thanh

Tên phần mềm giấu tin Định dạng hỗ trợ Dạng bản quyền

Info Stego mp3 Shareware

ScramDisk wav Shareware

MP3Stego mp3 Mã nguồn mở

StegoWav wav Mã nguồn mở

Hide4PGP mp3, voc Mã nguồn mở

Steghide wav, au Mã nguồn mở

S-Tool wav Mã nguồn mở

Invisible Secrets wav Thương mại

Steganos wav, voc Thương mại

Tổng kết chương 1

Trong chương 1 trình bày các khái niệm liên quan đế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ề hiện tượng che

khuất của tín hiệu, cách lấy mẫu và biểu diễn âm thanh trên máy tính, các định dạng

tệp âm thanh phổ biến và một số phần mềm giấu tin trên âm thanh đã triển khai trong

thực tế.

Page 33: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

21

Page 34: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

22

Chương 2. PHƯƠNG PHÁP GIẤU TIN TRONG

ÂM THANH

Chương này se trình bày các phương pháp dùng để giấu tin trong âm thanh

cùng các ưu nhược điểm của từng phương pháp. Trong chương cũng trình bày các kỹ

thuật xáo trộn dữ liệu nhằm thay đổi thứ tự các bit giấu, các kỹ thuật biến đổi dữ liệu

từ miền thời gian sang miền tần số cùng một số độ đo (chỉ số) thường được dùng để

đánh giá chất lượng các kỹ thuật giấu.

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

Để giấu tin hiệu quả, thông thường ta cần dùng các kỹ thuật bổ trợ. Các kỹ

thuật này bao gồm chuyển dữ liệu âm thanh từ miền thời gian sang miền tần số, kỹ

thuật sinh các chuỗi số ngẫu nhiên và các kỹ thuật thay đổi thứ tự giấu các bit trong

chuỗi bit mật.

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

Ngoài phương pháp xử lý trực tiếp giá trị các mẫu âm thanh trên miền thời

gian, chúng ta có thể dùng phương pháp khảo sát gián tiếp thông qua các kỹ thuật

biến đổi. Các biến đổi này làm nhiệm vụ chuyển miền biến số độc lập sang các miền

khác với các biến số mới. Phương pháp khảo sát gián tiếp này se làm đơn giản rất

nhiều các công việc mà chúng ta gặp phải khi dùng phương pháp khảo sát trực tiếp

trong miền biến số độc lập. Có nhiều cách biến đổi, trong đó cách biến đổi hay được

sử dụng là biến đổi Fourier, biến đổi wavelet…

2.1.1.1. Phép biến đổi Fourier rời rạc

Phép biến đổi Fourier rời rạc (DFT) còn được gọi là biến đổi Fourier hữu hạn.

Đầu vào của biến đổi này là một chuỗi hữu hạn các số thực hoặc số phức. Phép biến

đổi DFT phân tích một dãy các số thành các thành phần ở các tần số khác nhau, là

một công cụ lý tưởng để xử lý thông tin trên các máy tính. Một biến đổi Fourier nhanh

(FFT) là một thuật toán hiệu quả để tính DFT với độ phức tạp là O(nlogn) thay vì tính

trực tiếp là O(n2) [15].

Page 35: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

23

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

Phép biến đổi Fourier là một công cụ quan trọng trong xử lý tín hiệu số. Tuy

nhiên, phép biến đổi này chỉ cung cấp thông tin có tính toàn cục và chỉ thích hợp cho

những tín hiệu tuần hoàn, không chứa các đột biến hoặc các thay đổi không dự báo

được. Phép biến đổi wavelet khắc phục hạn chế này của biến đổi Fourier. Biến đổi

wavelet được tính dựa vào phân tích đa phân giải [6]. Ý tưởng của phân tích đa phân

giải là sử dụng các kỹ thuật lọc số trong quá trình phân tích. Mỗi một tín hiệu được

phân tích thành hai thành phần: thành phần xấp xỉ A (Approximation) tương ứng với

thành phần tần số thấp và thành phần chi tiết D (Detail) tương ứng với thành phần tần

số cao, thông qua hai bộ lọc thông thấp và thông cao, trong đó, bộ lọc thông cao sử

dụng hàm wavelet và bộ lọc thông thấp sử dụng hàm tỉ lệ.

Hình 2.1. Phân giải tin hiệu thành 2 thành phần xấp xỉ và chi tiết

Hình 2.1 minh họa cho việc phân tích tín hiệu âm thanh thành hai thành

phần xấp xỉ và chi tiết. Chuỗi tín hiệu gốc là dữ liệu của một tệp âm thanh gồm

1422720 mẫu se được phân tích thành hai dãy A và D có độ dài gồm 711363 mẫu.

Trong hai thành phần A và D, thành phần D không quan trọng. Những thay

đổi trên thành phần này ít ảnh hưởng đến tín hiệu khi ta khôi phục lại. Ví dụ nếu

thay đổi thành phần D=0 (loại bỏ thành phần D), thực hiện biến đổi ngược lại, ta

se có dãy tín hiệu như hình 2.2.

Page 36: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

24

Hình 2.2. Tin hiệu gôc và tin hiệu đã loai bỏ thành phần D

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 vào trong tệp

âm thanh. Thay vì giấu tuần tự từng phần tử từ M1 đến Mn, ta thực hiện xáo trộn chuỗi

M rồi mới đem giấu vào tệp âm thanh. Mục đích của việc này là để gây khó khăn cho

người thám tin khi thực hiện tấn công rút trích tin. Nếu người thám tin biết thuật toán

giấu thì rất có thể dò ra được chuỗi tin giấu. Xáo trộn dữ liệu đòi hỏi người thám tin

phải sắp xếp lại chuỗi tin nhận được theo trật tự đúng mới biết được tin, nếu không,

chuỗi tin nhận được cũng không có ý nghĩa. Dưới đây là hai thuật toán dùng để xáo

trộn dữ liệu được sử dụng trong các chương sau của luận án.

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

Nếu chuỗi tin mật cần giấu có độ dài n (đánh số từ 1 đến n) thì se có n! hoán

vị của nó. Ta có thể hoán vị chuỗi mật này trước khi giấu. Có nhiều kỹ thuật tạo hoán

vị của tập {1,2,..., n} [62]. Một trong các cách hiệu quả là dùng phương pháp sinh

theo kiểu thứ tự từ điển.

Ví dụ ta có chuỗi cần giấu là “axnd”. Ta gán cho các ký tự chuỗi giá trị theo

đúng thứ tự xuất hiện của chúng là {1, 2, 3, 4}.

Chuỗi này se có 24 hoán vị là {1, 2, 3, 4}, {1, 2, 4, 3},{1, 3, 2, 4},{1, 3, 4,

2},{1, 4, 2, 3},{1, 4, 3, 2},{2, 1, 3, 4},{2, 1, 4, 3},{2, 3, 1, 4},{2, 3, 4, 1},{2, 4, 1,

3},{ 2, 4, 3, 1},{3, 1, 2, 4},{3, 1, 4, 2},{3, 2, 1, 4},{3, 2, 4, 1},{3, 4, 1, 2},{3, 4, 2,

1},{4, 1, 2, 3},{4, 1, 3, 2, 4},{4, 2, 1, 3},{4, 2, 3, 1},{4, 3, 1, 2},{4, 3, 2, 1}.

Page 37: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

25

Khi chọn k là 1 giá trị nào đó trong n! giá trị thì ta se chọn hoán vị thứ k của

chuỗi ban đầu và đem chuỗi đó đi giấu thay vì chuỗi nguyên gốc (k=1). Trong trường

hợp giá trị k lớn hơn n! thì k se được gán bằng (k mod n!) + 1.

Ví dụ k= 20 thì chuỗi giấu là: “danx” tương ứng với hoán vị {4, 1, 3, 2}.

Khi n lớn thì việc sinh chuỗi hoán vị thứ k (lớn) có thể tốn thời gian. Có nhiều

cách để sinh ra hoán các hoán vị này. Một thuật toán hiệu quả để sinh ra hoán vị thứ

k của tập n phần tử được trình bày trong [30].

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

Biến đổi Arnold là kỹ thuật biến đổi dùng để xáo trộn các điểm ảnh [14]. Gọi

I(x, y) là điểm ảnh ban đầu ở toạ độ (x, y). Sau khi thực hiện phép chuyển đổi, điểm

ảnh se được chuyển đến toạ độ mới là (x’, y’). Công thức xác định (x’, y’) như sau:

[𝑥′𝑦′

] = [1 11 2

] [𝑥𝑦] (𝑚𝑜𝑑 𝑁) (2.1)

trong đó x, y ∈ {0,1, ..., N-1} và x’, y’ ∈ {0,1, ..., N-1}.

Bảng 2.1. Chu kỳ lặp lai của phép biến đổi tương ứng với kich thước N

N 2 3 6 10 16 20 32 64 80 100

Chu kỳ 3 4 12 30 12 30 24 36 60 150

Nếu thực hiện một số lần biến đổi, ảnh biến đổi se trở lại ảnh ban đầu. Chu kỳ

của phép biến đổi tương ứng với kích thước khối ảnh N được thể hiện trong bảng 2.1.

Hình 2.3. Ảnh gôc và sau khi thực hiện chuyển đổi.

Hình 2.3 là minh hoạ cho ảnh gốc là logo Đại học Công nghệ, Đại học Quốc

gia Hà Nội, kích thước 80*80 và hình ảnh xáo trộn ở các bước 1, 2, 6, 12 (dòng trên,

Page 38: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

26

từ trái qua phải) và 20, 30, 40, 58, 59 (dòng dưới, từ trái qua phải) sử dụng phép biến

đổi trong [84].

Ảnh có kích thước n=80, chu kỳ là 60. Nếu lấy ảnh ở lần chuyển 59 và thực

hiện thêm 1 lần nữa thì se được ảnh ban đầu.

2.1.3. Sinh chuỗi giả ngẫu nhiên

Các phương pháp giấu tin trong audio 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. Chuỗi ngẫu nhiên này có thể dùng để xác định ví trí

mẫu được chọn để giấu hoặc vị trí bit giấu. Các số ngẫu nhiên có thể được sinh trực

tiếp bằng các bộ sinh trong máy tính (C++, PHP và Matlab sử dụng bộ sinh Mersenne

Twister) hoặc do người lập trình tự cài đặt. Trong [25] trình bày một số thuật toán về

cách sinh số ngẫu nhiên.

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

Công thức cho bộ sinh số đồng dư có dạng:

𝑥𝑘 = (𝑎 ∗ 𝑥𝑘−1 + 𝑏) 𝑚𝑜𝑑 𝑀 (2.2)

Trong đó a và b là hai số nguyên cho trước, trị x0 ban đầu được gọi là “hạt

giống” (seed) và số nguyên M là số xấp xỉ (hoặc bằng) với số nguyên lớn nhất trên

máy tính. Bộ sinh đồng dư cải tiến sử dụng công thức như sau :

𝑥𝑘 = (𝑎 ∗ 𝑥𝑘−1 + 2 ∗ 𝑎) 𝑚𝑜𝑑 𝑛 (2.3)

trong đó a là một số nguyên lớn và thường chọn là một số nguyên tố, số mồi là x0.

2.1.3.2. Bộ sinh Fibonacci

Bộ sinh này se tạo ra giá trị mới như là một hiệu, một tổng hoặc một tích của

các giá trị trước. Một ví dụ tiêu biểu là bộ sinh hiệu:

𝑥𝑘 = (𝑥𝑘−17 − 𝑥𝑘−5) (2.4)

Chúng ta nói rằng, bộ sinh này có độ trễ 17 và 5. Bộ sinh hiệu này có thể tạo ra

một kết quả âm. Một ưu điểm của bộ sinh Fibonacci so với bộ sinh đồng dư là bộ sinh

Fibonacci có thời gian (lặp lại) dài.

Page 39: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

27

2.2. Đánh giá các phương pháp giấu tin trong âm thanh

Để đánh giá hiệu năng của các kỹ thuật giấu tin trong âm thanh, chúng ta

thường dựa vào tỉ lệ có thể cảm nhận và tỉ lệ có thể phát hiện.

2.2.1. Đánh giá bằng các độ đo

2.2.1.1. Độ đo SNR

Để đánh giá khả năng cảm nhận ta dựa vào tham số là segSNR (segmental

signal – to – noise ratio). Giá trị của segSNR chỉ số lượng thay đổi trên dữ liệu chứa

do chèn âm dữ liệu mật vào và được tính theo thang độ decibel. Trong dữ liệu âm

thanh, giá trị SNR dưới 20 dB thường được xem là nhiễu trong khi giá trị SNR từ 20

dB hàm ý rằng chất lượng âm thanh được đảm bảo.

Độ đo SNR được tính như sau:

𝑆𝑅𝑁 = 10 log10∑ 𝑥(𝑖)2𝑁

𝑖=0

∑ [𝑥(𝑖)−𝑦(𝑖)]2𝑁𝑖=0

(2.5)

Trong công thức trên, x (n) thể hiện âm thanh gốc và y(n) thể hiện âm thanh

chứa tin giấu.

2.2.1.2. Độ đo NCC (Normalized Cross Correlation)

NCC dùng để đo độ tương quan giữa hai chuỗi số, có thể dùng để đo độ tương

quan giữa âm thanh gốc và âm thanh có chứa tin, hoặc chuỗi bit được giấu và chuỗi

bit nhận được.

Công thức để tính NCC như sau:

𝑁𝐶𝐶 =1

n∗ ∑

[𝑥(𝑖)∗ 𝑦(𝑖)]

[𝑥(𝑖)]2𝑛i=1 (2.6)

trong đó 𝑥(𝑖) là chuỗi số gốc và y(𝑖) là chuỗi nhận được có các thay đổi trên

chuỗi dữ liệu gốc.

Giá trị của NCC nằm trong khoảng từ 0 đến 1. Nếu giá trị này càng gần 1

chứng tỏ hai chuỗi càng giống nhau.

2.2.2. Đánh giá bằng các phần mềm phát hiện tin

Có thể dùng các phần mềm phát hiện tin để đánh giá các kỹ thuật giấu tin. Rất

nhiều phần mềm phát hiện tin giấu trong ảnh đã được phát triển nhưng số phần mềm

Page 40: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

28

phát hiện tin giấu trong audio thì chưa nhiều. Ba phần mềm tiêu biểu phát hiện tin

trong âm thanh là HITIT, Stego-Suite và Stegsecret. HITIT được phát triển bởi

Yavanoglu U và các cộng sự, thực hiện phát hiện tin giấu trong tệp wav. Stego-Suite

là sản phẩm thương mại của công ty Allien và Stegsecret là sản phẩm mã nguồn mở

được phát triển bởi Alfonso Muñoz. Nếu như kỹ thuật giấu của chúng ta không vượt

qua được một phần mềm phát hiện tin giấu thì không thể nói kỹ thuật giấu là an toàn.

2.2.3. Đánh giá bằng bảng đánh giá ODG (Object Difference Grade)

Bảng đánh giá ODG được đề xuất bởi hiệp hội viễn thông quốc tế ITU

(International Telecommunication Union) [47]. Đây là kỹ thuật chủ quan, dựa vào

cảm nhận của con người. Bảng ODG gồm có 5 tiêu chí tương ứng với 5 mức điểm

khác nhau. Chi tiết các tiêu chí trong bảng 2.2.

Bảng 2.2. Cac tiêu chi đanh gia theo thang ODG

Mô tả sự thay đổi trên dữ liệu gốc ODG

Không cảm nhận được 0.0

Cảm nhận được, nhưng không gây khó chịu −1.0

Hơi gây khó chịu −2.0

Gây khó chịu −3.0

Rất khó chịu −4.0

2.3. Phương pháp giấu tin trong âm thanh

Các phương pháp giấu tin trong âm thanh có thể thực hiện trên miền thời gian

hoặc miền tần số, hoặc kết hợp trên cả hai miền. Một số phương pháp có thể cần sử

dụng tín hiệu gốc trong quá trình rút trích thông tin. Mục này se trình bày một số

phương pháp giấu tin cơ bản và các nghiên cứu liên quan đến phương pháp giấu đó.

2.3.1. Phương pháp điều chỉnh bit ít quan trọng nhất (LSB coding)

Đây là một trong những kỹ thuật được nghiên cứu và ứng dụng sớm nhất trong

lĩnh vực giấu tin trên âm thanh cũng như trên các định dạng dữ liệu khác. Ý tưởng

chính của kỹ thuật này là thay thế các bit ít quan trọng của mẫu dữ liệu gốc bằng các

bit của tin giấu. Các bit được gọi là bit ít quan trọng khi ta thay đổi giá trị của bit đó

Page 41: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

29

từ 0 sang 1 hay từ 1 sang 0 thì sự thay đổi giá trị của mẫu dữ liệu không lớn và nó

không gây ra sự khác biệt nào đối với hệ thống tri giác của con người. Ví dụ ta có

mẫu 8 bit có giá trị bằng 94 và cần giấu bit 1 vào trong mẫu này. Khi đó ta se điều

chỉnh giá trị bit cuối cùng mẫu từ 0 thành 1 và giá trị mới của mẫu là 95. Hình 2.4

minh hoạ cách điều chỉnh bit trên mẫu có giá trị 94 để giấu bit 1. Trong trường hợp

cần giấu bit 0 vào mẫu này thì ta không cần điều chỉnh giá trị của mẫu.

Hình 2.4. Điều chỉnh bit thấp nhất của mẫu để giấu bit 1

Khi giấu 1 bit mật vào mẫu dữ liệu thì độ lệch giá trị giữa mẫu dữ liệu gốc và

dữ liệu mang tin tối đa là 1.

Để tăng độ bền vững của kỹ thuật giấu này, ta có thể giấu nhiều lần chuỗi thông

điệp mật hoặc điều chỉnh vị trí các bit cao hơn trong mỗi mẫu để giấu tin. Các kỹ

thuật giấu dùng phương pháp điều chỉnh LSB thường chọn các bit từ vị trí 1 đến 3,

tính từ bên phải sang trái. Ưu điểm của phương pháp LSB là tỉ lệ dữ liệu lớn, bình

quân 8 mẫu dữ liệu có thể giấu một byte dữ liệu mật, vì vậy tỉ lệ dữ liệu có thể bằng

số mẫu dữ liệu trong tệp. Do không phải thực hiện nhiều phép toán phức tạp nên

phương pháp này có thời gian thực hiện rất nhanh. Đối với phương pháp điều chỉnh

LSB, ta có thể tăng thêm tỉ lệ giấu bằng cách dùng hai bit LSB, nghĩa là trong mỗi

mẫu ta se giấu 2 bit mật. Tuy nhiên cách này cũng làm tăng nhiễu trên đối tượng chứa

dẫn đến đối phương dễ phát hiện và thực hiện các tấn công. Trong [5, 14, 15, 16, 22]

là một số cải tiến cho kỹ thuật giấu tin trong âm thanh sử dụng phương pháp điều

chỉnh LSB, với mục đích là giảm sự thay đổi của dữ liệu gốc.

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 se dùng một nhóm các mẫu. Dãy tín hiệu chứa se được chia

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

Page 42: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

30

thành các đoạn (khối) có cùng kích thước. Tính chẵn lẻ của đoạn được xác định bằng

tổng giá trị các mẫu trong đoạn đó chẵn hay lẻ. Nếu như đoạn có tính chẵn nhưng cần

giấu bit 1 thì se điều chỉnh (lật) một bit của một mẫu nào đó trong đoạn để đoạn có

tính lẻ. Nếu như cần giấu bit 0 vào đoạn có tính chẵn thì không cần phải làm gì. Tương

tự như vậy cho trường hợp giấu bit 1.

Hình 2.5. Điều chỉnh mẫu để giấu bit 1 trong khôi theo phương phap chẵn lẻ

Hình 2.5 minh họa cho việc giấu bit 1 vào khối. Do tổng giá trị của khối là số

chẵn nên ta se điều chỉnh giá trị 1 mẫu để đảm bảo tổng của khối có giá trị lẻ.

Trong quá trình giải tin ta se dựa vào tính chẵn lẻ của đoạn để rút trích các bit.

Nếu như đoạn có tính lẻ thì rút trích bit 1, ngược lại rút trích bit 0.

Tính chẵn lẻ của đoạn cũng có thể được xác định theo một tiêu chí khác nào đó.

Ví dụ có thể xác định tính chẵn lẻ theo tổng số bit 1 của các mẫu trong đoạn.

So với phương pháp mã hoá LSB, phương pháp mã hoá chẵn lẻ có tỉ lệ dữ liệu

thấp hơn, do phải dùng nhiều mẫu hơn để giấu 1 bit. Có thể nâng độ an toàn của

phương pháp này bằng cách chọn các đoạn có kích thước không cố định và điều chỉnh

hàm xác định tính chẵn lẻ của đoạn.

Kỹ thuật chẵn lẻ được dùng nhiều trong giấu tin trong ảnh. Trong [61] trình bày

một kỹ thuật giấu dựa vào mã hoá chẵn lẻ giấu tin trong ảnh.

2.3.3. Phương pháp mã hoá pha (phase coding)

Mã hóa pha là một phương pháp khác dùng để giấu tin trong âm thanh. Phương

pháp mã hoá pha 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

96 39 26 9 68

20 27 40 51 19

37 42 40 78 617

60 14 29 8 139

26 19 86 0 63

96 39 26 9 68

20 27 40 50 19

37 42 40 78 617

60 14 29 8 139

26 19 86 0 63

Page 43: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

31

phase) thể hiện dữ liệu. Pha của các đoạn tiếp theo se được điều chỉnh sao cho duy trì

mối quan hệ giữa các đoạn [7].

Hình 2.6. Sự dich chuyển pha của tin hiệu

Giả sử ta có hai chuỗi x(t) và y(t) như sau:

𝑥(𝑡) = 𝐴. 𝑐𝑜𝑠 (2𝜋𝑓𝑡 + 𝜑)

𝑦(𝑡) = 𝐴. 𝑠𝑖𝑛(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 nào khác. Ví dụ nếu tham chiếu đến tín hiệu

𝐴. cos (2𝜋𝑓𝑡) thì tín hiệu x(t) có pha là 𝜑 và tín hiệu y(t) có pha là 𝜑 − 𝜋

2.

Thuật toán giấu tin sử dụng phương pháp mã hoá pha như sau :

Bước 1) Chuỗi âm thanh gốc được chia thành dãy N đoạn (segment) ngắn và

biến đổi Fourier cho từng đoạn.

Bước 2) Tính sự chênh lệch về pha giữa các đoạn kề nhau.

Bước 3) Điều chỉnh pha để giấu tin:

- Đối với pha đầu tiên, tạo pha P0 tùy ý.

- Đối với tất cả các đoạn khác, tạo ra các pha mới để giấu tin theo công thức

(2.7).

phasenew= {π

2⁄ nếu giấu bit 1

- π2⁄ nếu muốn giấu bit 0

(2.7)

- Kết hợp pha mới này với biên độ gốc để tạo ra đoạn mới, Sn.

Bước 4) Thực hiện biến đổi Fourier ngược các đoạn và kết nối các đoạn lại để

tạo ra tín hiệu âm thanh mới.

Page 44: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

32

Để giải tin được giấu theo phương pháp này cần phải biết chiều dài của các

đoạn, thực hiện theo chiều ngược lại để lấy lần lượt các bit giấu.

Ví dụ có tín hiệu phức X gồm 256 (t=256) mẫu, được sinh theo công thức:

X=complex (cos (2*pi*2*t), sin (2*pi*2*t))

Y là kết quả khi dịch pha X một khoảng 𝜋 2⁄ .

Minh hoạ cho tín hiệu X, Y và pha của chúng trong hình 2.7.

Hình 2.7. Tin hiệu gôc và tin hiệu sau khi dich chuyển pha 𝜋/2

Mã hoá pha có ưu điểm là không gây nhiễu cho tín hiệu gốc. Lý do là phương

pháp mã hoá pha chỉ thay đổi pha chứ không thay đổi biên độ và tần số của tín hiệu

gốc. Hạn chế của phương pháp mã hoá pha là có tỉ lệ dữ liệu thấp và thời gian xử lý

để giấu tin lâu.

Tỉ lệ dữ liệu giấu của phương pháp này thấp vì dữ liệu chỉ được giấu trong

đoạn đầu nên tối đa chỉ bằng kích thước đoạn đầu (cũng bằng kích thước mỗi đoạn).

Ta không thể tăng kích thước của mỗi đoạn lên quá lớn vì nếu như vậy se gây

ra hiện tượng không liên tục về pha trong tín hiệu (phase discontinuous) và người

thám tin dựa vào đặc trưng này phát hiện tệp có chứa tin giấu [71]. Thông thường ta

dùng các kỹ thuật làm phẳng pha để kiểm tra sau khi giấu tin xong. Hình 2.8 minh

họa sự không liên tục về pha trong tín hiệu.

Page 45: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

33

Hình 2.8. Hiện tượng không liên tục về pha

Trong [10, 55] trình bày hai thuật toán giấu tin trong audio sử dụng phương

pháp mã hoá pha. Kỹ thuật đề xuất có thể bền vững trước các tấn công lấy lại mẫu,

nén, thêm nhiễu. Do tỉ lệ dữ liệu thấp nên phương pháp mã hoá pha chủ yếu dùng cho

thuỷ vân. Nghiên cứu trong [42] trình bày một kỹ thuật giấu nhiều thuỷ vân trên dữ

liệu âm thanh stereo dùng phương pháp mã hoá pha.

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 thanh bằng cách điều chỉnh

độ trễ thêm tiếng vọng vào tín hiệu gốc. Phương pháp này dựa vào đặc trưng của hệ

thống thính giác con người là không phân biệt được hai âm thanh nếu chúng xảy ra

gần như đồng thời, có độ lệch trong khoảng từ 1 đến 40 mili giây [70]. Gọi S(n) là tín

hiệu gốc và X(n) là tín hiệu được thêm tiếng vọng. Ta có công thức giấu như sau:

𝑋(𝑛) = 𝑆(𝑛) + 𝛼. 𝑆(𝑛 − 𝑑) (2.8)

Hình 2.9. Cac thành phần trong tiếng vọng của tin hiệu [32]

Dữ liệu nhúng được giấu bằng cách thay đổi 3 tham số của tiếng vọng là biên

độ ban đầu, tỉ lệ phân rã và độ trễ. Các tham số này thể hiện như trong hình 2.9.

Nếu độ lệch thời gian giữa tín hiệu gốc và tiếng vọng thấp thì hai tín hiệu có thể

trộn lẫn mà hệ thống thính giác của con người rất khó nhận biết được. Giá trị độ lệch

Page 46: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

34

này không thể xác định chính xác vì tuỳ thuộc vào chất lượng âm thanh và kiểu âm

thanh. Giá trị được chọn trong các phương pháp giấu tin sử dụng kỹ thuật điều chỉnh

tiếng vọng là dưới 20 mili giây.

Bằng cách dùng thời gian trễ khác nhau giữa tín hiệu gốc và tiếng vọng để thể

hiện tương ứng giá trị nhị phân 1 hoặc 0, theo cách đó dữ liệu được giấu vào tệp âm

thanh. Hai độ trễ có thể chọn cố định hoặc tuỳ biến tuỳ thuộc vào khoá.

Khi đó công thức (2.8) se được điều chỉnh để giấu bit 1 và bit 0 trên một đoạn

âm thanh se là:

𝑋(𝑛) = 𝑆(𝑛) + 𝛼. 𝑆(𝑛 − 𝑑1)

𝑋(𝑛) = 𝑆(𝑛) + 𝛼. 𝑆(𝑛 − 𝑑0) (2.9)

Trong một số bài toán, ta chỉ cần thêm một tiếng vọng vào tín hiệu gốc như

công thức (2.9) để giấu tin. Tuy nhiên, trong các phương pháp điều chỉnh tiếng vọng

cải tiến, ta có thể thêm nhiều tiếng vọng, có thể là vọng trước và vọng sau so với tín

hiệu gốc để giấu tin. Ví dụ trong [37] đề xuất phương pháp thêm tiếng vọng cả trước

và sau so với tín hiệu gốc như công thức (2.10).

𝑋(𝑛) = 𝑆(𝑛) + 𝛼. 𝑆(𝑛 + 𝑑) + 𝛼. 𝑆(𝑛 − 𝑑) (2.10)

Bằng cách phân tích cepstrum của 𝑋(𝑛) ta se biết chính xác vị trí thêm tiếng

vọng [7]. Để rút trích tin giấu, ta se phân tích cepstrum của từng đoạn, dò tìm ra độ

lệch 𝑑0 , 𝑑1 từ đó se rút trích bit 0 hoặc bit 1. Chi tiết về cepstrum của tín hiệu được

trình bày ở mục 3.5.

Việc phân tích cepstrum để dò ra các giá trị 𝑑0, 𝑑1 trong quá trình giải tin tốn

nhiều thời gian, và đây cũng chính là khuyết điểm của phương pháp mã hoá tiếng

vọng. Ngoài ra, phương pháp giấu tin này chỉ cần biết kích thước mỗi đoạn giấu mà

không cần dùng tín hiệu gốc trong quá trình giải tin nên người thám tin cũng có thể

tự phân tích cepstrum để lấy tin giấu.

Trong [38, 53] trình bày hai thuật toán giấu tin trong âm thanh sử dụng phương

pháp mã hoá tiếng vọng. Trong [38] echo được thêm vào tín hiệu âm thanh dựa vào

chuỗi ngẫu nhiên. Trong [53] chỉ thêm tiếng vọng vào đoạn âm thanh để giấu tin nếu

Page 47: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

35

năng lượng của đoạn đó lớn hơn một ngưỡng cho trước. Thuật toán cũng đề xuất chỉ

dùng 1 độ trễ để giấu 2 bit khác nhau, nhưng trên 2 kênh khác nhau.

2.3.5. Phương pháp trải phổ

Mô hình tổng quát của nhóm phương pháp này được dựa trên sự đồng bộ giữa

tín hiệu âm thanh và dãy chuỗi giả ngẫu nhiên. Một chuỗi ngẫu nhiên kết hợp với

chuỗi tin mật cần giấu se được trải trên chuỗi âm thanh gốc, có thể trên miền thời

gian hoặc miền tần số.

Có nhiều phương pháp khác nhau dùng để trải dữ liệu nhúng vào phổ tần số

[83]. Kỹ thuật DSSS (Direct Sequency Spread Spectrum) trải tín hiệu bằng cách nhân

tín hiệu với một dãy giả ngẫu nhiên nào đó được gọi là chip. Tuy nhiên phương pháp

này cũng giống như phương pháp chèn vào các bit ít quan trọng là có thể thêm vào

các nhiễu ngẫu nhiên mà người nghe có thể phát hiện ra [56]. Đối với phương pháp

FHSS (Frenquency Hopped Spread Spectrum), tín hiệu âm thanh gốc được chia thành

các mảnh nhỏ hơn và mỗi mảnh mang một tần số duy nhất. Lợi điểm cơ bản của kỹ

thuật trải phổ là có thể chống lại các thay đổi. Bởi vì dữ liệu nhúng được trải đều trên

dữ liệu chứa nên rất khó có thể thay đổi thông tin nhúng mà không làm thay đổi dữ

liệu chứa. Đây là một đặc điểm đáng chú ý để thực hiện thủy vân trong âm thanh.

2.3.5.1. Thuật toán giấu tin theo phương pháp trải phổ

Đầu vào: - Tín hiệu gốc s(n);

- Chuỗi bit cần giấu b(n);

- Khoá k dùng để sinh chuỗi ngẫu nhiên.

Đầu ra: - Tín hiệu x(n) chứa tin mật.

Bước 1) Chuyển chuỗi bit nhị phân cần giấu 𝑣(𝑛) sang dạng lưỡng cực 𝑏(𝑛)

tương ứng, trong đó 𝑏(𝑖) = 1 𝑛ế𝑢 𝑣(𝑖) = 1 𝑣à 𝑏(𝑖) = −1 𝑛ế𝑢 𝑏(𝑖) = 0.

Bước 2) Sinh chuỗi ngẫu nhiên 𝑟(𝑛) dựa vào khoá.

Bước 3) Xây dựng chuỗi tin giấu 𝑤(𝑛) = 𝑏. 𝑟(𝑛).

Bước 4) Trải chuỗi tin giấu vào chuỗi tín hiệu gốc dùng công thức (2.11)

𝑥(𝑛) = 𝑠(𝑛) + 𝛼. 𝑤(𝑛) (2.11)

Page 48: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

36

Trong công thức (2.11) trên, 𝛼 là giá trị dùng để điều chỉnh tính không cảm

nhận được của dữ liệu trước và sau khi giấu và/hoặc tính bền vững của tin giấu.

2.3.5.2. Thuật toán giải tin theo phương pháp trải phổ

Quá trình giải tin dựa vào sự tương quan tuyến tính (linear correlation) giữa

hai chuỗi x(n) và r(n), trong đó r(n) là chuỗi ngẫu nhiên được sinh ra từ khoá mật.

Trong quá trình giải tin cũng cần sử dụng các phương pháp xử lý tín hiệu số như lọc

thông cao hay các phương phương pháp lọc khác.

Hình 2.10. Xử lý (lọc) mỗi khôi để giải tin trong kỹ thuật trải phổ

Đầu vào: -Tín hiệu chứa tin mật x(n);

- Khoá k dùng để sinh chuỗi ngẫu nhiên;

- Ngưỡng 𝜌 để phân biệt bit 0 hoặc bit 1.

Đầu ra : - Chuỗi bit b(n), là chuỗi thông tin mật.

Bước 1) Sinh chuỗi ngẫu nhiên 𝑟(𝑛) dựa vào khoá.

Bước 2) Lấy từng bit trong mỗi đoạn

- Tính giá trị c trong mỗi đoạn theo công thức (2.12):

𝑐 =1

𝑁∑ 𝑥(𝑖)𝑁

𝑖=1 ∗ 𝑟(𝑖) (2.12)

với N là độ dài mỗi đoạn.

- Nếu c> 𝜌 thì trả về bit 1 ngược lại trả về bit 0.

Trong thuật toán giải tin, công thức (2.12) tương ứng với:

𝑐 =1

𝑁∑ 𝑥(𝑖)𝑁

𝑖=1 ∗ 𝑟(𝑖) = 1

𝑁∑ [𝑠(𝑖) + 𝛼. b ∗ r(𝑖)]𝑁

𝑖=1 ∗ 𝑟(𝑖)

= 1

𝑁∑ 𝑠(𝑖)𝑁

𝑖=1 ∗ 𝑟(𝑖) +1

𝑁∑ 𝛼. 𝑏𝑁

𝑖=1 ∗ 𝑟(𝑖)2 (2.13)

Để lấy được chuỗi tin đã giấu thì ta cần điều chỉnh sao cho phần thứ nhất của

công thức (2.13) nhỏ hơn so với phần thứ 2. Nếu không thoả mãn yêu cầu này thì tin

nhận được khi giải se bị sai. Giải pháp để đảm bảo yêu cầu phần thứ 2 trong công

Page 49: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

37

thức (2.13) lớn hơn là sử dụng phương pháp tiền xử lý trên tín hiệu x(n), chẳng hạn

lọc để loại bỏ s(n) ra khỏi x(n).

Có rất nhiều phương pháp trải phổ đã được nhiều nhóm tác giả nghiên cứu như

[27, 43, 44, 45, 56, 75]. Các phương pháp này rất hay nhưng đều gặp phải những trở

ngại đáng kể, đó là cần tốn rất nhiều thời gian để lọc nhiễu.

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). Năng lượng của mỗi block kích thước N được xác định như

công thức (2.14):

𝐸 = ∑ 𝑎𝑏𝑠(𝑆(𝑖))𝑁𝑖=1 (2.14)

Nếu các tín hiệu trong khối có biên độ lớn thì năng lượng của khối se cao.

Hình 2.11. Biên đô và năng lượng của tin hiệu [32]

Giả sử có hai block liền nhau được dùng để nhúng thông tin. Ta có thể làm cho

năng lượng của hai block A và B giống hay khác nhau bằng cách chỉnh sửa biên độ

của từng block. Gọi EA và EB lần lượt là năng lượng của block A và block B.

- Nếu E A ≥ EB – ℓ, ta xác định bit giá trị của thông điệp mật m = 0.

- Nếu EA < EB -ℓ, ta xác định bit giá trị thông điệp mật m = 1.

Phương pháp này có hạn chế khi độ lệch hai khối lớn. Giả sử block A có năng

lượng cao hơn nhiều so với block B. Khi bit thông điệp mật m nhúng vào là 0 se

không có vấn đề gì. Ngược lại, nếu giấu bit 1 ta phải điều chỉnh sao cho năng lượng

EB lớn hơn EA. Vì khoảng năng lượng giữa hai block chênh lệch nhau rất lớn, do đó,

sau khi chỉnh sửa, kết quả đạt được không còn tự nhiên như lúc đầu mà rất dễ bị phát

hiện. Vấn đề khó khăn này có thể được giải quyết bằng cách sử dụng đến ba block

thay vì sử dụng hai block, hoặc có thể sử dụng nhiều hơn.

Page 50: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

38

2.3.7. Phương pháp lượng tử hoá (quantization)

Phương pháp lượng tử hoá se 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:

𝑦 = {𝑞(𝑥, 𝐷) +

𝐷

4 𝑛ế𝑢 𝑔𝑖ấ𝑢 𝑏𝑖𝑡 1

𝑞(𝑥, 𝐷) −𝐷

4 𝑛ế𝑢 𝑔𝑖ấ𝑢 𝑏𝑖𝑡 0

(2.15)

Trong công thức (2.15), 𝑞(. ) là hàm lượng tử và 𝐷 là bước lượng tử. Hàm lượng

tử 𝑞(𝑥, 𝐷) như công thức (2.16):

𝑞(𝑥, 𝐷) = [𝑥/𝐷] ∗ 𝐷 (2.16)

Trong đó [𝑥] là hàm lấy số nguyên gần x nhất. Hình 2.12 minh hoạ cho phương

pháp lượng tử.

Giả sử một mẫu dữ liệu x được lượng tử đến vị trí nốt đen 𝑞(𝑥, 𝐷). Nếu giá trị

bit cần giấu là 0 thì se điều chỉnh để di chuyển đến vị trí nốt trắng, ngược lại se được

di chuyển đến nốt chéo.

Hình 2.12. Sơ đồ điều chỉnh gia tri [32]

Ví dụ x=81, D = 8, khi đó 𝑞(𝑥, 𝐷) =𝑞(81, 8) = 80. Nếu cần giấu bit 1 thì y=82,

ngược lại y se bằng 78 nếu giấu bit 0.

Công thức trích 1 bit b khi giải tin như sau:

𝑏 = {1 𝑛ế𝑢 0 < 𝑦 − 𝑞(𝑥, 𝐷) ≤

𝐷

4

0 𝑛ế𝑢 −𝐷

4≤ 𝑦 − 𝑞(𝑥, 𝐷) < 0

(2.17)

Một cải tiến của phương pháp này được [17] đưa ra bằng cách dùng thêm một

vector phụ (vector dither). Công thức điều chỉnh như sau:

𝑦𝑚 = 𝑞(𝑥 + 𝑑𝑚, 𝐷) − 𝑑𝑚 (2.18)

Page 51: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

39

Trong đó m là chỉ số và 𝑑𝑚 là phần tử thứ m của vector phụ. Ví dụ cho 𝑑1=2,

𝑑2=0, x=8 và D = 4 thì 𝑦1= 10 và 𝑦2= 8.

2.3.8. Phương pháp điều chế tỉ lệ thời gian

Phương pháp điều chỉnh tỉ lệ thời gian được thực hiện bằng cách kéo dài hoặc

rút ngắn tỉ lệ thời gian âm thanh. Ý 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 (tức là hai giá trị cực đại và cực tiểu trong đoạn xét). Khoảng

giữa hai cực được chia làm N phân đoạn bằng nhau. Ta thay đổi độ dốc của tín hiệu,

tuỳ thuộc vào bit muốn nhúng. Ví dụ dốc thoải để giấu bit 1, dốc đứng để giấu bit 0.

Hình 2.13. Điều chỉnh đô dôc để giấu thông tin [32]

Trong [46] trình bày thuật toán giấu dùng phương pháp điều chỉnh tỉ lệ thời gian

nâng cao cải tiến khả năng chống tấn công chỉnh sửa tỉ lệ thời gian.

2.3.9. Phương pháp giấu dựa vào Patchwork

Phương pháp Patchwork nhúng một lượng giá trị vào trong dữ liệu gốc, ban

đầu được thiết kế cho giấu tin trong ảnh. Thuật toán giấu tin theo sơ đồ này gồm hai

bước chính:

Bước 1) Chọn 2 tập ngẫu nhiên A, B

Bước 2) Thêm vào giá trị d cho mỗi phần tử thuộc tập A và trừ ra d đối với

mỗi phần tử thuộc tập B, trong đó d là một hằng số có giá trị nhỏ.

𝑎𝑖∗ = 𝑎𝑖 + 𝑑 và 𝑏𝑖

∗ = 𝑏𝑖 − 𝑑

Quá trình giải tin được thực hiện bắt đầu bằng cách trừ các giá trị các mẫu trên

hai tập A, B. Tiếp theo giá trị 𝐸[��∗ − ��∗] được dùng để xác định các mẫu có tin giấu

Giấu bit 1 Giấu bit 0

Tín hiệu gốc

Page 52: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

40

hay không. Giá trị ��∗ và ��∗ là giá trị trung bình của A và B sau khi được giấu tin. Quá

trình giải tin theo kỹ thuật Patchwork không cần dùng tin gốc.

Hình 2.14. So sanh gia tri trung bình của tin hiệu không có và có giấu tin.

Kỹ thuật này có hạn chế là quá trình giải tin có thể nhận tin sai. Ta có:

𝐸[��∗ − ��∗] = 𝐸[(�� + 𝑑 ) − (�� − 𝑑)] = 𝐸[�� − �� ] + 2𝑑 (2.19)

Kỹ thuật này giả định 𝐸[��∗ − ��∗] = 2𝑑 hay 𝐸[ �� − �� ] = 0 nhưng trong thực tế

𝐸[�� − �� ] không thoả giá trị bằng 0, điều này dẫn đến quá trình rút trích có thể

nhận giá trị sai.

Yeo và Kim trong [76] cải tiến kỹ thuật giấu dựa trên Patchwork gọi là MPA.

Kỹ thuật này hạn chế việc giải tin sai của thuật toán Patchwork.

Các bước của quá trình giấu tin như sau:

Bước 1) Chọn hai tập ngẫu nhiên A, B sau đó thực hiện các phép tính �� và �� rồi

tính giá trị S theo công thức (2.20) như sau:

𝑆 = √∑ (𝑎𝑖− 𝑎) 2+ ∑ (𝑏𝑖− ��)2𝑁

𝑖=1𝑁𝑖=1

𝑁∗(𝑁−1) (2.20)

Bước 2) Hàm nhúng được thực hiện theo công thức (2.21):

{𝑎𝑖

∗ = 𝑎𝑖 + 𝑠𝑖𝑔𝑛(�� − ��)√𝐶 ∗ 𝑆/2

𝑏𝑖 ∗ = 𝑏𝑖 + 𝑠𝑖𝑔𝑛(�� − ��)√𝐶 ∗ 𝑆/2

(2.21)

Trong công thức trên C là một hằng số, sign là hàm làm cho giá trị lớn hơn se lớn hơn

và giá trị nhỏ se nhỏ hơn. Mục đích của việc này là làm cho giá trị trung bình khoảng

cách giữa hai giá trị mẫu luôn lớn hơn 𝑑 = √𝐶 ∗ 𝑆.

Page 53: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

41

Hình 2.15. Gia tri trung bình của tin hiệu có và không có giấu tin theo MPA

Theo cách điều chỉnh của thuật toán MPA, giá trị phân bố giá trị trung bình

khoảng cách 2 mẫu se như hình 2.15.

Thuật toán giải tin như sau:

Bước 1) Tính giá trị thống kê như công thức (2.20)

𝑇2 =(��− ��)2

𝑆2 (2.20)

Bước 2) So sánh giá trị 𝑇2 với ngưỡng 𝛽. Nếu 𝑇2 > 𝛽 thì xác nhận có tin giấu, ngược

lại thì không có.

2.3.10. Phương pháp dựa vào các đặc trưng nổi bật

Các đặc trưng nổi bật là các tín hiệu đặc biệt, gây được sự chú ý của người

nhúng và người rút trích, nhưng vẫn phải bảo đảm cho kẻ tấn công không phát hiện

ra. Chúng có thể là tự nhiên có được hay do chính ta tạo ra. Tuy nhiên, trong bất kỳ

cách nào thì chúng cũng phải bền vững đối với các tấn công. Và các đặc trưng này

thường được tạo và rút trích theo kinh nghiệm. Đặc biệt, các đặc trưng nổi bật này rất

tốt cho quá trình đồng bộ hoá để dò tìm ra thông tin giấu trong quá trình rút trích. Wu

và các cộng sự trong [72] đề xuất một kỹ thuật giấu dựa vào chính nội dung của tín

hiệu âm thanh. Trong [61] cũng trình bày thuật toán giấu dựa vào các đỉnh của dữ

liệu (peak) để giấu tin trong âm thanh định dạng mp3.

Các kỹ thuật giấu ở trên là cơ sở nền tảng để tiến hành giấu tin trong âm thanh.

Một số chi tiết liên quan đến các kỹ thuật giấu đã được trình bày trong nghiên cứu

của các tác giả khác ở [13, 19, 20, 34]. Các nghiên cứu trong [11, 21, 22, 23, 28] thực

Page 54: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

42

hiện các cải tiến trên kỹ thuật giấu LSB để giấu tin. Một số nghiên cứu kết hợp giữa

mã hoá và giấu tin như [12] hoặc kết hợp nhiều kỹ thuật giấu với nhau như trong [35].

Mỗi một định dạng âm thanh khác nhau đòi hỏi các kỹ thuật giấu khác nhau.

Trong [77] trình bày kỹ thuật giấu có điều chỉnh tỉ lệ bit cho âm thanh chuẩn AAC,

[59] trình bày thuật toán giấu cho dữ liệu theo định dạng mp3 và [60] trình bày thuật

toán giấu cho định dạng PCM. Đối với ứng dụng dạng thời gian thực và cho các thiết

bị di động, hai thuật toán giấu được trình bày trong [27, 39].

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 nhằm mục đích thay đổi thứ tự các bit dữ liệu mật

trước khi giấu vào tín hiệu âm thanh, các kỹ thuật sinh số ngẫu nhiên, các tiêu chí

đánh giá các thuật toán giấu tin. Nội dung chính của chương trình bày về các phương

pháp giấu tin trong tệp âm thanh, là cơ sở nền tảng để triển khai các kỹ thuật giấu.

Mục này của chương cũng có những đánh giá các ưu nhược điểm của từng phương

pháp, đánh giá khả năng áp dụng của các phương pháp đó trong giấu tin mật hay thủy

vân, các giải pháp cải tiến từng phương pháp để nâng cao hiệu quả giấu về cả tỉ lệ dữ

liệu và tính bền vững cùng các nghiên cứu liên quan đến phương pháp giấu đó.

Page 55: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

43

Chương 3. MỘT SỐ THUẬT TOÁN GIẤU TIN TRÊN

MIỀN THỜI GIAN

Những vấn đề cần phải quan tâm giải quyết trong bài toán giấu tin là ít làm

thay đổi dữ liệu chứa, phát hiện được có tấn công làm thay đổi tin giấu và tránh người

thám tin lấy được tin giấu. Chương này của luận án se trình bày 5 thuật toán giấu tin,

giải quyết một phần những vấn đề trên. Nội dung chương dựa trên các bài báo, từ bài

số 1 đến bài số 4 và bài số 6, trong danh mục các công trình khoa học. Các thuật toán

trình bày trong chương này thực hiện giấu tin trên miền thời gian, bằng cách điều

chỉnh trực tiếp giá trị các mẫu dữ liệu. Đây là các thuật toán giấu không bền vững

nhưng có tỉ lệ dữ liệu lớn và thích hợp để giấu tin mật. Trong thử nghiệm đánh giá

các thuật toán ở chương 3 và chương 4, luận án sử dụng các tệp âm thanh mẫu tại địa

chỉ website [79, 88] làm dữ liệu chứa. Các tệp âm thanh được chọn là đại diện cho

các kiểu âm thanh khác nhau, đó là bài phát biểu, tiếng cười, đoạn thông báo ở nơi

công cộng hoặc bản hòa tấu. Khi triển khai trong thực tế, việc lựa chọn các tệp âm

thanh làm dữ liệu chứa cũng có ảnh hưởng đến tính mật của việc giấu tin. Thông

thường các tệp âm thanh được chọn phải là các tệp không phổ biến, mục đích là để

người thám tin không có dữ liệu âm thanh gốc để đối chiếu với tệp mang tin. Trong

thử nghiệm, kiểu tệp dữ liệu được chọn để giấu là tệp văn bản (dohoa.cpp), tệp ảnh

nhị phân (DuyTanlogo, có các kích thước khác nhau) và một tệp ảnh có kích thước

lớn (map.gif) để so sánh dung lượng giấu của các kỹ thuật với nhau.

3.1. Thuật toán giấu tin kết hợp mã sửa lỗi Hamming

Các phương pháp giấu tin trên dữ liệu số thực hiện giấu tin vào các “khe hở”

của dữ liệu chứa C. Khe hở của dữ liệu được hiểu là khoảng biến thiên giá trị của dữ

liệu có cùng ảnh hưởng đến hệ thống tri giác của con người. Sau khi giấu tin xong,

dữ liệu mang tin giấu C’ se được truyền đi ra môi trường công cộng và bên nhận se

giải tin để lấy lại tin giấu. Trong quá trình truyền, đối tượng C’ có thể chịu một số tấn

công [9, 57] làm cho nội dung C’ bị thay đổi thành C’’. Khi giải tin, người giải tin se

giải được M’ từ C’’ thay vì có được M từ C’. Se có trường hợp M’ khác với M trong

Page 56: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

44

khi người giải tin không hề hay biết và vẫn dùng M’. Trong một số ứng dụng, việc

sai sót này trong một mức độ nào đó là có thể cho phép, nhưng đa số ứng dụng thì

việc sai khác giữa M và M’ là không thể chấp nhận và có thể gây ra hậu quả nghiêm

trọng, chẳng hạn như trong lĩnh vực ngân hàng, y tế, quân sự... đòi hỏi sự chính xác

tuyệt đối. Thuật toán giấu kết hợp với mã hoá Hamming nhằm giúp cho người nhận

tin hạn chế thấp nhất khả năng nhận tin sai, có thể biết được tin khi nhận M’ có bị sai

khác với bản tin gốc M được giấu hay không và đưa ra bản sửa lỗi M’’.

3.1.1. Mã Hamming

Mã Hamming là một mã trong họ các mã sửa lỗi ECC (Error Correction Code)

được công bố năm 1950. Nguyên lý của mã Hamming bắt nguồn từ việc khai triển và

mở rộng quan điểm chẵn lẻ. Với mỗi nhóm 4 bit dữ liệu, mã Hamming thêm 3 bit

kiểm tra. Hình 3.1 là minh hoạ mã Hamming (7,4) trong đó có 4 bit dữ liệu được

truyền đi d1, d2, d3, d4 và 3 bit chẵn lẻ kiểm tra p1, p2, p3.

Hình 3.1. Minh hoa mã Hamming với 4 bit dữ liệu và 3 bit kiểm tra chẵn lẻ

Mã Hamming sử dụng hai ma trận, gọi là ma trận sinh G và ma trận kiểm tra

H. Đối với mã Hamming (7,4) ma trận G và H se như sau :

Hình 3.2. Ma trận sinh và ma trận kiểm tra của mã Hamming (7, 4)

Page 57: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

45

Chuỗi bit thông tin u se được mã hóa bằng cách nhân với ma trận sinh G, kết

quả được từ mã v. Từ mã v được tính theo công thức :

v = G ∗ u (3.1)

Nếu nhân v với H se được 0. Đây là công thức để kiểm tra lỗi :

H ∗ v = 0 (3.2)

Ví dụ ta cần gửi đi chuỗi bit thông tin là u = 1011. Chuỗi u này se được mã hóa thành

từ mã là v = 0110011 và truyền đi.

Bên nhận se nhận được chuỗi bit r. Để kiểm tra r nhận được có sai hay không,

ta tiến hành nhân r với H, nếu kết quả khác 0 thì r bị sai.

Ta có thể viết r = v + e trong đó e là vector lỗi. Nếu e chỉ gồm có một bit lỗi

thì mã Hamming có thể sửa được. Nếu e gồm 2 lỗi thì mã Hamming chỉ phát hiện

được lỗi chứ không sửa được [67].

Mã Hamming (7,4) có thể mở rộng sang (8,4) bằng cách thêm một dòng bit

chẵn lẻ ở dòng đầu tiên của ma trận G và thêm bit chẵn lẻ vào dòng cuối cùng của ma

trận H.

Vận dụng tính chất có thể phát hiện được 2 lỗi trên 7 bit nhận được của mã

Hamming, thuật toán đề xuất dưới đây kết hợp phương pháp giấu với phương pháp

mã hóa chuỗi bit sử dụng mã Hamming. Việc dùng mã Hamming nhằm mục đích

kiểm soát quá trình tin giấu gửi đi (trong đối tượng chứa) có bị thay đổi hay không.

3.1.2. Quá trình giấu tin

Quá trình giấu tin gồm 2 bước là mã hoá và giấu. Mục đích của bước 1 là thêm

các bit kiểm tra tin giấu có bị thay đổi không. Bước 2 se thực hiện giấu chuỗi bit đã

mã hoá vào tệp âm thanh theo một thuật toán đã định trước.

Thuật toán giấu tin kết hợp mã xác thực như sau:

Đầu vào: - Tệp â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: - Tệp âm thanh chứa tin giấu C’.

Các bước giấu tin như sau:

Bước 1) Mã hóa

Page 58: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

46

Chuỗi bit M được chia thành các đoạn có độ dài 4 bit. Mỗi đoạn bit thông tin

này se được mã hoá dùng mã Hamming se thành từ mã có độ dài 7 bit. Ghép các

chuỗi bit kết quả lại để được chuỗi bit M’. Độ dài chuỗi M’ se bằng (L/4)*7.

Bước 2) Giấu tin

- Đọc tệp chứa C, trích phần header và phần dữ liệu.

- Kiểm tra tệp chứa có đủ để giấu chuỗi bit M’ không. Nếu không đủ thì

dừng và báo không giấu được. Ngược lại se ghi header của C 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ì đã thỏa điều kiện giấu, không cần điều chỉnh, 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ì đã thỏa điều kiện giấu, không cần

điều chỉnh, ngược lại điều chỉnh mẫu 1 hoặc mẫu thứ 3 trong 3 mẫu đang

xét để cho tổng là số chẵn.

+ Ghi 3 mẫu đang xét ra tệp 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 và xác thực tin giấu

Thuật toán giải tin và xác thực tin giấu như sau:

Đầu vào: - Tệp â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.

Các bước thực hiện giải tin như sau:

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

Page 59: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

47

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.

Trường hợp 1: Nếu như toàn bộ kết quả nhân các đoạn của M’ với H đều cho

kết quả 0 thì kết luận là không có tấn công trên C’ và thực hiện trích các bit dữ liệu

của M’ để nhận lại tin giấu M.

Trường hợp 2: Nếu như trong quá trình nhân các đoạn của M’ với H có đoạn

cho kết quả khác 0 thì kết luận là có tấn công hoặc do nhiễu và ghi nhận cách sửa lỗi.

Trong trường hợp này cũng rút trích dữ liệu từ M’ sau khi thực hiện sửa lỗi và tạo lại

tin giấu. Nếu như trong mỗi đoạn 7 bit có 2 bit lỗi thì hệ thống se không tự sửa lỗi

được. Trường hợp này yêu cầu gửi lại hoặc không sử dụng thông tin rút trích trong

dữ liệu mang tin ra.

3.1.4. Kết quả thử nghiệm và đánh giá

Để đánh giá kỹ thuật đề xuất, chúng tôi thực hiện giấu giấu các tệp dữ liệu vào

tệp âm thanh gốc vào kiểm tra giá trị SNR. Kết quả thử nghiệm được thể hiện trong

bảng 3.1 và cho thấy tỉ lệ này đáp ứng yêu cầu về chất lượng của tệp âm thanh mang

tin so với tệp âm thanh gốc.

Bảng 3.1. Gia tri SNR khi thực hiện giấu kết hợp mã Hamming

Tên tệp chứa Dạng tệp âm

thanh

Giá trị SNR

dohoa.cpp

(430 byte)

DuyTanlogo.bmp

(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 Thông báo 70.99 64.98 55.50

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 sự khác nhau khi nghe tệp âm thanh gốc và tệp mang tin. Kỹ thuật đề xuất cũng

cho phép rút trích đúng tin mật từ tệp mang tin. Hình 3.3 là đoạn gồm 100 mẫu tệp

âm thanh gốc speech-in.wav và tệp mang tin khi giấu tệp map.gif.

Page 60: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

48

Hình 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 trên tệp mang tin, giá trị một số mẫu dữ liệu âm thanh se thay

đổi. Nếu như không biết trước hoặc không có kỹ thuật nào kiểm soát, người nhận tin

có thể nhận tin sai. Mục đích chính của phương pháp giấu tin kết hợp với mã

Hamming là kiểm tra xem thông tin khi nhận có phải đúng là tin bên gửi đã gửi hay

không. Nếu như chúng ta chỉ sử dụng mã hoá thì chỉ có tác dụng làm cho người thám

tin không biết thông tin ta giấu là gì chứ không giúp ta kiểm tra được trong quá trình

truyền thông tin trên đường truyền công cộng, dữ liệu mang tin có bị thay đổi, làm

sai hay không. Thuật toán giấu vừa trình bày là một cách giúp chúng ta kiểm tra lại

thông tin rút trích trong dữ liệu mang tin trước khi quyết định sử dụng nó.

Bảng 3.2. Phat 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

Để thử nghiệm khả năng phát hiện thay đổi trên tệp mang tin, làm sai khác tin

nhận được khi giải tin, luận án thực hiện điều chỉnh ngẫu nhiên một số mẫu trên tệp

mang tin. Tệp được chọn giấu là tệp map.gif và tệp âm thanh speech-in.wav được

Page 61: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

49

chọn làm dữ liệu chứa. Sau khi giấu tin xong, tệp âm thanh mang tin se được điều

chỉnh ngẫu nhiên một số mẫu. Kết quả thử nghiệm thể hiện trong bảng 3.2.

Tính an toàn của lược đồ giấu này phụ thuộc vào việc giữ mật kỹ thuật. Có thể

nâng cao tính an toàn cho kỹ thuật giấu bằng cách mã hóa (che thông tin) chuỗi thông

tin mật trước, sau đó dùng mã Hamming mã hóa để phục vụ cho việc kiểm tra lỗi rồi

mới thực hiện giấu.

Do phải thêm 3 bit kiểm tra (hoặc 4 bit nếu sử dụng mã Hamming mở rộng)

vào 4 bit dữ liệu nên tỉ lệ dữ liệu xấp xỉ bằng ½ so với phương pháp giấu không sử

dụng mã kiểm tra. Ngoài ra thuật toán điều chỉnh dựa vào tính chẵn lẻ của 3 mẫu kề

nhau để giấu nên tỉ lệ dữ liệu giấu xấp xỉ 1/6 số mẫu của dữ liệu chứa.

Chuỗi tin mật trước khi giấu cần được mã hóa bằng cách nhân với ma trận sinh

G và khi trích tin ta cần nhân với ma trận H để kiểm tra nên tốc độ giấu có chậm hơn

so với phương pháp dùng trực tiếp.

Kỹ thuật giấu này phù hợp với các ứng dụng gửi tin mật.

3.2. Thuật toán giấu điều chỉnh giá trị nhóm bit

Mục này của luận án trình bày một kỹ thuật giấu tin trong âm thanh dựa vào

việc điều chỉnh LSB. Việc giấu tin được thực hiện bằng cách chọn các mẫu và vị trí

bit trên mỗi mẫu dữ liệu để giấu tin. Kỹ thuật này cũng đề xuất cách điều chỉnh bit để

làm giảm độ sai khác giữa mẫu dữ liệu gốc và mẫu dữ liệu mang tin giấu. Kỹ thuật

giấu dùng chuỗi số ngẫu nhiên được sinh từ khoá bí mật.

Quá trình giấu tin gồm 2 giai đoạn. Giai đoạn 1 se 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 se giấu

lần lượt từng bit của chuỗi tin mật vào trong tệp â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.

3.2.1. Sinh chuỗi xác định mẫu dữ liệu và vị trí trên mẫu

Phương pháp đề xuất dưới đây se dùng chuỗi giả ngẫu nhiên để xác định vị trí

các mẫu dữ liệu chọn và vị trí bit se dùng để giấu tin. Bộ sinh số ngẫu nhiên được

Page 62: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

50

chọn là bộ sinh số đồng dư cải tiến đã được trình bày ở mục 2.1.3. Khoá K gồm ba

số (x, y, N) se được dùng như số mồi và hệ số trong công thức sinh chuỗi ngẫu nhiên

SR gồm L số. Sau đó dựa vào chuỗi SR này, ta se tính ra chuỗi S và chuỗi V, trong

đó S[i] cho biết mẫu nào được chọn để giấu và V[i] cho biết vị trí bit trên mẫu được

chọn lần thứ i để giấu bit mật thứ i. Công thức (3.3) dùng để sinh dãy SR như sau:

𝑆𝑅[𝑖] = (𝑥 ∗ 𝑆𝑅[𝑖 − 1] + 2 ∗ 𝑦)𝑚𝑜𝑑 𝑁 (3.3)

3.2.2. Điều chỉnh độ lệch bit

Đối với phương pháp chèn vào các bit ít quan trọng, ta có thể sử dụng các bit

ở vị trí từ 1 đến 3 của mẫu dữ liệu gốc để chứa tin giấu. Trong trường hợp thay đổi

bit ở vị trí 3, độ lệch giá trị giữa mẫu dữ liệu gốc và mẫu dữ liệu sau khi điều chỉnh

để giấu tin là 4 như hình 3.4. Tương tự nếu điều chỉnh bit ở vị trí thứ 2 thì giữa dữ

liệu gốc và dữ liệu mang tin se sai khác nhau 2 đơn vị.

Hình 3.4. Đô sai khac khi điều chỉnh bit thứ 3 của mẫu dữ liệu

Nếu bit tin mật được giấu vào vị trí bit 3 se an toàn hơn (trước một số tấn công)

so với giấu ở vị trí bit 1. Mặc dù 3 vị trí bit giấu là ít ảnh hưởng đến hệ thống tri giác

của con người nhưng nếu giấu quá nhiều vị trí bit 3 se làm cho người nghe dễ phát

hiện ra hoặc nghi ngờ do ảnh hưởng đến tính “trong suốt” của dữ liệu chứa. Nguyên

nhân là do giấu trên bit thứ 3 se gây ra sự sai khác giữa tín hiệu âm thanh gốc và tín

hiệu âm thanh chứa tin giấu nhiều hơn so với giấu trên bit 1. Để giảm độ lệch khi

chèn vào bit cao ta tiến hành như sau:

Nếu đổi bit ở vị trí 3 từ 0 thành 1, ta se đổ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 se đổi các bit ở vị trí 2 và ở vị trí 1 thành 1.

1 1 0 1 1 0 1 1

1 1 0 1 1 1 1 1

219

223

1 1 0 1 1 1 0 0

1 1 0 1 1 0 0 0

220

giá trị tương ứng chuỗi bit

216

Page 63: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

51

Tương tự, nếu đổi bit ở vị trí 2 từ 0 thành 1, ta se đổi bit ở vị trí 1 thành 0 và

nếu đổi bit ở vị trí 2 từ 1 thành 0 ta se đổi bit ở vị trí 1 thành 1.

Thủ tục điều chỉnh bit thứ i chứa giá trị k (k =0 hoặc k=1) như sau:

PROC DIEUCHINH(i,k)

SET(i,k);

if(i>1) SET(1,1-k); if(i>2) SET(2,1-k);

END PROC

Hình 3.5. Đô sai khac khi sử dụng kỹ thuật điều chỉnh cac bit thấp hơn

Nếu tiến hành điều chỉnh theo phương pháp đề xuất thì chênh lệch giá trị giữa

mẫu dữ liệu âm thanh gốc và mẫu âm thanh mang tin chỉ là 1, thấp hơn so với trường

hợp giữ nguyên như hình 3.4. Trong [78] đề xuất một thuật toán điều chỉnh các mẫu

bit nhằm làm giảm sai khác giá trị mẫu trước và sau khi giấu theo hướng tiếp cận gen.

So với thuật toán đề xuất thì thuật toán trong [78] cho phép giấu các bit ở mức cao

hơn và giải quyết được yêu cầu chống phá mã.

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 có độ dài L, 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.

Bước 1) Chuẩn bị

Dựa vào khoá (x, y, N) sinh ra chuỗi ngẫu nhiên SR theo công thức (3.3), từ

đó tính 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 se được giấu trong mỗi mẫu.

1 1 0 1 1 0 1 1

1 1 0 1 1 1 0 0

219

220

1 1 0 1 1 1 0 0

1 1 0 1 1 0 1 1

220

219

Page 64: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

52

Bước 2) Giấu tin: Giấu lần lượt từng bit mật Mi cho đến khi giấu xong.

- Đọc tệp 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)

Bước 3) Ghi các mẫu đã được điều chỉnh ra tệp âm thanh A’.

3.2.3.1. Sinh mảng S[]

Mỗi một phần tử trong mảng S[] được dùng trong thuật toán có giá trị trong

khoảng [1..4]. Giá trị S[i] = p có nghĩa là mẫu được chọn để giấu bit Mi se cách mẫu

được chọn để giấu bit Mi-1 p mẫu, vì vậy S[i] luôn lớn hơn 0 để tránh trường hợp hai

bit được giấu trên cùng một mẫu dữ liệu. Công thức xác định S[i] dựa vào chuỗi ngẫu

nhiên SR như sau:

S[i] = (SR[i] mod 9) mod 4 + 1 (3.4)

Ví dụ, ta cần giấu hai byte dữ liệu và dùng khoá K gồm 3 số là (7, 9137, 10000).

Chuỗi số ngẫu nhiên gồm 16 số se được sinh như sau:

SR={ 7, 18323, 46535, 44019, 26407, 3123, 40135, 99219, 12807, 7923

73735, 34419, 59207, 32723, 47335, 49619}

Khi đó giá trị của mảng S se là:

S= { 4, 1, 2, 1, 2, 1, 1, 4, 1, 4, 4, 4, 2, 1, 1, 3}

Mảng S[i] cho biết mẫu kế tiếp se được chọn giấu tin, so với mẫu đã chọn để

giấu bit thứ i-1, do đó vị trí các mẫu được chọn để giấu 16 bit dữ liệu là {4, 5, 7, 8,

10,11, 12, 16, 17, 21, 25, 29, 31, 32, 33, 36 }.

3.2.3.2. Sinh mảng V[]

Trên mỗi mẫu dữ liệu được xác định dựa vào mảng S[i] ta se chọn ra vị trí bit

cần điều chỉnh để giấu bit tin mật. Vị trí bit được chọn là một vị trí ngẫu nhiên nằm

trong phạm vi từ 1 đến 3 chứ không cố định. Giá trị của V[i] cũng dựa vào giá trị của

chuỗi ngẫu nhiên SR[] và được xác định như công thức (3.5).

V[i] = (SR[i]mod 3) + 1 (3.5)

Page 65: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

53

Ví dụ với chuỗi SR như trên và cần giấu 2 byte dữ liệu thì kết quả mảng V se

như sau:

V={2, 3, 3, 1, 2, 1, 2, 1, 1, 1, 2, 1, 3, 3, 2, 3}

Để giấu được chuỗi bit độ dài L vào trong tệp âm thanh A thì tệp A được chọn

phải có ít nhất 4*L mẫu, do đó kích thước tệp làm đối tượng chứa cần được kiểm tra

trước khi giấu tin.

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 â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ị

Dựa vào khoá (x, y, N) sinh ra mảng S[] cho biết mẫu dữ liệu có chứa tin và

mảng V[] cho biết vị trí bit chứa tin.

Bước 2) Giải tin

Đọc tệp 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.

Thực hiện liên tục cho đến khi L bit đã được lấy.

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

Phương pháp LSB nguyên thuỷ se chọn 1 vị trí bit cố định và các mẫu dữ liệu

tuần tự để giấu tin. So với kỹ thuật LSB nguyên thuỷ, 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[]. Bên cạnh đó ta

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. Ngoài ra trong quá trình giải tin chúng ta cũng tốn chi phí cho sinh

chuỗi giả ngẫu nhiên để biết vị trí mẫu và bit chứa tin giấu. Như vậy, so với thuật

toán điều chỉnh LSB nguyên thủy, thời gian để giấu tin và giải tin của thuật toán đề

xuất lâu hơn.

Page 66: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

54

3.2.5.2. Tỉ lệ dữ liệu giấu

Phương pháp LSB nguyên thuỷ thực hiện giấu bit tin trên 1 mẫu dữ liệu.

Phương pháp cải tiến này dùng mảng độ lệch để xác định mẫu giấu. Trường hợp xấu

nhất, các mẫu này đều có độ lệch 4 nên cần ít nhất là 4*L mẫu để có thể giấu chuỗi

bit độ dài L. Vì vậy so với phương pháp LSB nguyên thuỷ này có tỉ lệ dữ liệu giấu

thấp hơn, chỉ bằng ¼.

3.2.5.3. Độ mật của kỹ thuật

Giả định rằng nếu biết độ dài của chuỗi bit giấu là L, người thám tin phải chọn

ra L mẫu dữ liệu trong 4*L mẫu. Trong số )!3!.(

)!4(4 LL

LC

L

L cách chọn chỉ có 1 cách

chọn là đúng. Sau khi chọn xong được L mẫu chắc chắn chứa tin giấu, người thám

tin phải dò 1 trong 3L chuỗi bit để xác định chuỗi tin giấu. Đối với phương pháp LSB

dùng cho giấu tin mật, với độ dài L lớn, thì khả năng tìm này gần như không thể.

Trong trường hợp những người thám tin có được tệp âm thanh gốc A và tệp

chứa tin giấu A’ thì người thám tin cũng không thể dùng phương pháp trừ các mẫu

để lấy được chuỗi tin giấu như phương pháp LSB nguyên thuỷ, vì trong phương pháp

cải tiến chúng ta có thể thay đổi nhiều hơn 1 bit chỉ để giấu 1 bit tin. Việc điều chỉnh

nhiều bit không tạo thành qui luật để người thám tin phát hiện được bit mật trong mẫu

dữ liệu. Ví dụ với ba bit cuối của mẫu dữ liệu là “100” thì ta có thể trích bit 1 nếu như

vị trí giấu ở bit 3 hoặc cũng có thể là trích bit 0 nếu như giấu ở vị trí 1.

Bên cạnh đó, việc chọn bộ sinh số ngẫu nhiên với các tham số khác nhau cũng

gây khó khăn cho những người thám tin khi họ muốn lấy tin giấu.

Bù lại chi phí thời gian cho quá trình giấu tin và giải tin, chúng ta có được một

kỹ thuật an toàn hơn so với cách dùng LSB nguyên thuỷ.

Với việc chọn ngẫu nhiên các mẫu và các bit dữ liệu để giấu tin se làm cho

người thám tin khó rút trích thông tin. Kỹ thuật điều chỉnh bit se làm giảm độ sai khác

giữa tệp chứa thông tin và tệp gốc.

Page 67: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

55

Các thử nghiệm cho thấy không thể phân biệt được sự khác nhau khi nghe tệp

âm thanh gốc và tệp âm thanh mang tin. Hình 3.6 minh hoạ cho một đoạn dữ liệu âm

thanh gồm 200 mẫu của tệp âm thanh gốc và tệp âm thanh mang tin, sau khi giấu 808

byte dữ liệu, tương ứng với 6464 bit vào tệp âm thanh gốc.

Hình 3.6. Đoan dữ liệu tệp âm thanh gôc (trên) và tệp có chứa tin mật (dưới)

Thử nghiệm giấu các tệp dữ liệu mật khác nhau vào nhiều tệp âm thanh khác

nhau cũng cho thấy tệp mang tin đáp ứng được tiêu chí về tham số SNR khi giấu tin.

Bảng 3.3 thể hiện các giá trị thử nghiệm.

Bảng 3.3. Bảng gia tri SNR khi giấu tin theo phương phap điều chỉnh nhóm bit

Tên tệp 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

Page 68: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

56

3.3. Thuật toán giấu bằng điều chỉnh 2 mẫu trong một đoạn chứa 25 mẫu

Mục này của luận án se trình bày về một thuật toán giấu trên âm thanh dựa

trên những điều chỉnh thuật toán CPT (Chen-Pan-Tseng) [18]. CPT là lược đồ giấu

tin vào ảnh đen trắng. Trong thuật toán đề xuất không dùng hai ma trận làm khoá như

trong sơ đồ của CPT để giảm thời gian tính toán, thay vào đó se xáo trộn dữ liệu mật

trước khi giấu. Thuật toán giấu gồm hai giai đoạn. Giai đoạn 1 thực hiện xáo trộn dữ

liệu mật, dùng phép biến đổi Arnold. Giai đoạn 2 se giấu chuỗi tin đã được xáo trộn

vào trong tệp âm thanh bằng cách giấu tuần tự 4 bit trong 25 mẫu hay 1 byte dữ liệu

mật trong 50 mẫu dữ liệu âm thanh. Chuỗi bit (hay chuỗi các byte mật cần giấu) được

xáo trộn trước khi giấu nhằm mục đích làm cho người thám tin khó lấy lại thông tin

mật trong trường hợp dò được chuỗi tin mật. Để giấu một byte dữ liệu, thuật toán

thực hiện điều chỉnh nhiều nhất 4 bit của của 4 mẫu trong 2 khối, mỗi khối 25 mẫu.

3.3.1. Xáo trộn dữ liệu

Trong kỹ thuật đề xuất sử dụng phép biến đổi Arnold để xáo trộn dữ liệu. Chi

tiết về phép biến đổi Arnold đã được trình bày ở mục 2.12. Để có thể áp dụng phép

biến đổi này cho chuỗi dữ liệu thì chuỗi mật được cắt ra thành các đoạn bằng nhau

sau đó ghép lại thành khối vuông. Trong trường hợp không chuyển được thành các

khối vuông thì ta dùng các byte đệm (padding) để tạo thành khối vuông. Sau khi giải

tin thì các byte đệm này se được loại ra.

Hình 3.7 minh hoạ kỹ thuật sử dụng các byte đệm khi chuyển 17 byte dữ liệu

thành khối vuông có kích thước 5*5.

Hình 3.7. Minh hoa kỹ thuật padding

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17

1 2 3 4 5

6 7 8 9 10

11 12 13 14 15

16 17 18 19 20

21 22 23 24 25

Page 69: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

57

Đối với chuỗi thông điệp mật dài, ta có thể chuyển thành các khối nhỏ rồi thực

hiện biến đổi trên khối nhỏ đó. Ví dụ với 17 byte thì ta có thể chia thành hai khối 3*3,

như vậy ta se thêm 1 byte ghép thay vì 8 byte nếu như ta chuyển thành khối 5*5.

Nếu ta chia dữ liệu giấu thành các khối nhỏ thì có ưu điểm là làm giảm số byte

thừa vô nghĩa thêm vào trong khối. Nhược điểm của cách trên là nếu khối quá nhỏ

thì có chu kỳ ngắn, làm cho người thám tin dễ lần ra tin mật hơn so với khối lớn.

Sau khi xáo trộn xong, khối vuông se được chuyển thành dãy 1 chiều, được

lấy tuần tự theo từng dòng. Ví dụ 17 byte dữ liệu được đánh số và ghép thành khối

như hình 3.7 se được xáo trộn và ghép lại như hình 3.8 với số lần dịch chuyển là 3.

Hình 3.8. Vi tri cac byte sau khi xao trôn

3.3.2. Thuật toán giấu 4 bit trong khối 25 mẫu dữ liệu

Mô hình CPT điều chỉnh (Modify CPT - MCPT) se thực hiện giấu 4 bit dữ liệu

trong đoạn 25 mẫu dữ liệu của tệp âm thanh, trong đó thay đổi tối đa 2 bit của 2 mẫu

dữ liệu. Đoạn gồm 25 mẫu se được chuyển thành khối F có kích thước 5*5. Chi tiết

thuật toán MCPT giấu 4 bit trên khối như sau :

Đầ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 mang tin mật F’.

Các bước của thuật toán giấu như sau:

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 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.

Page 70: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

58

Bước 4) Thực hiện XOR 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’.

3.3.3. Thuật toán giấu tin

Thuật toán giấu tin được minh hoạ như hình 3.9. Việc xáo trộn chuỗi tin mật

có thể thực hiện trên chuỗi các bit hoặc chuỗi các byte, sau đó chuyển chuỗi các byte

sang chuỗi bit rồi thực hiện giấu.

Hình 3.9. Sơ đồ giấu tin

Thuật toán giấu:

Đầu vào: - Tệp âm thanh gốc F, khoá mật K, thông điệp mật M.

Đầu ra: - Tệp âm thanh chứa tin mật F’.

Bước 1) Chuyển thông điệp mật M sang khối vuông rồi dùng phép biến đổi

Arnold để xáo trộn dữ liệu. Khoá K gồm hai số cho biết kích thước khối và số lần

Tệp mang tin

Tệp gốc

Chuỗi bit mật

Khoá

Chia thành các khối 5*5

Xáo trộn dữ liệu

Giấu 4 bit vào mỗi khối

Page 71: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

59

thực hiện chuyển đổi. Trong trường hợp chuỗi thông điệp ngắn hơn so với khối vuông,

ta se dùng kỹ thuật padding để thêm các ký hiệu trắng vào thông điệp. Khối thông

điệp này sau đó se được chuyển lại thành M’, là dạng vector.

Bước 2) Chia dữ liệu tệp âm thanh thành các đoạn gồm 25 mẫu, sau đó chuyển

các đoạn sang các khối vuông Fi có 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 tệp 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à bước tách các bit trong khối và thực

hiện khôi phục lại chuỗi bit.

Đầu vào: - Tệp chứa tin mật, khoá K và độ dài chuỗi bit giấu q.

Đầu ra: - Chuỗi thông điệp mật.

Bước 1) Chia tệp âm thanh thành các đoạn có kích thước bằng nhau và bằng

25. Mỗi đoạn này se biến đổi thành khối F kích thước 5*5.

Bước 2) Lấy 4 bit trong mỗi khối giấu:

a) Thành lập ma trận A có kích thước 5*5. Giá trị A[i][j] se bit cuối, bit ít

quan trọng nhất của F[i][j].

b) 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.

c) 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.

d) Thực hiện XOR giữa r1r2r3r4 và c1c2c3c4 để có s1s2s3s4 trong đó s1=r1 XOR

c1, s2=r2 XOR c2 và tương tự như vậy.

Lặp Bước 2 trên mỗi khối cho đến khi nào ⌈𝑞

𝑁2⁄ ⌉ ∗ 𝑁2 bit được lấy ra.

Page 72: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

60

Bước 3) Dùng khoá K và thực hiện phép biến đổi Arnold, xoá các padding

nếu có để lấy lại thông điệp mật M.

Ví dụ ta có đoạn âm thanh gồm 25 mẫu có giá trị như sau:

{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}.

Chúng ta chuyển đoạn sang dạng ma trận F5*5 bằng cách lấy lần lượt 5 phần

tử của dãy và gán cho mỗi dòng của F. Sau đó dựa vào F ta có ma trận A.

Hình 3.10. Ma trận F và A tương ứng từ cac mẫu dữ liệu

Áp dụng Bước 2 trong thuật toán giấu trên khối A, ta có r1r2r3r4 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

Thực hiện Bước 3 trong thuật toán giấu, ta có c1c2c3c4 như hình 3.12. Thực

hiện Bước 4 trong thuật toán giấu ta có kết quả s1s2s3s4 như sau:

Hình 3.13. Kết quả XOR của chuỗi C và chuỗi R

Nếu ta cần giấu 4 bit 0010, do 4 bit giống hoàn toàn với chuỗi S nên ta không

cần thực hiện điều chỉnh nào trên khối dữ liệu.

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

Page 73: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

61

Nếu ta cần giấu 4 bit 0110, do có 1 bit khác nhau với S ở vị trí 2, vì thế ta lật

giá trị ô A[2][5], từ đó dẫn đến điều chỉnh F[2][5]. Kết quả như trong hình 3.14.

Hình 3.14. Kết quả giấu 4 bit 0110 trong khôi F

Nếu ta cần giấu 4 bit 0111 vào trong khối F, do có 2 bit khác nhau với S ở vị

trí 2 và 4, vì thế ta lật giá trị ô A [2][4]. Kết quả điều chỉnh và giá trị các mẫu dữ liệu

âm thanh được thể hiện trong hình 3.15.

Hình 3.15. Kết quả giấu 4 bit 0111 trong khôi F

Nếu ta cần giấu 4 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 và giá trị các mẫu dữ liệu âm thanh

được thể hiện trong hình 3.16.

Hình 3.16. Kết quả giấu 4 bit 1100 trong khôi F

18 39 65526 8 65526

20 27 40 50 19

37 42 4 78 65519

46 65514 29 65508 31

65500 5 65486 0 65482

0 1 0 0 0

0 1 0 0 1

1 0 0 0 1

0 0 1 0 1

0 1 0 0 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

18 39 65526 8 65526

20 27 40 51 19

37 42 4 78 65519

46 65514 29 65508 31

65500 5 65486 0 65482

0 1 0 0 0

0 1 0 1 1

1 0 0 0 1

0 0 1 0 1

0 1 0 0 0

Page 74: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

62

Nếu ta cần giấu 4 bit 1101, có 4 bit khác nhau với S ở vị trí 1, 2, 3 và 4, vì thế

ta lật giá trị ô A[1][2] và A[3][4]. Kết quả điều chỉnh và giá trị các mẫu dữ liệu âm

thanh được thể hiện như hình 3.17.

Hình 3.17. Kết quả giấu 4 bit 1101 trong khôi F

3.3.5. Kết quả thử nghiệm và đánh giá

Dưới đây là một kết quả thực nghiệm. Thông tin mật được giấu là dữ liệu ảnh

logo đại học Duy Tân, có kích thước 64*64. Tệp âm thanh chứa được lấy mẫu ở tần

số 44.1 Hz, dài 58 giây. Khoá K gồm thông tin về số lần dịch chuyển là 4 và kích

thước khối là 64. Từ dữ liệu ảnh chuyển đổi này se chuyển thành chuỗi bit để giấu.

Hình 3.18. Ảnh gôc và ảnh sau khi chuyển đổi để giấu tin

Hình 3.19 là biểu diễn một đoạn gồm 50 mẫu của tệp âm thanh gốc và 50 mẫu

của tệp âm thanh mang tin sau khi giấu 1 byte dữ liệu. Khi đánh giá theo thang đo

ODG giữa hai tệp cho thấy không thể phân biệt được sự khác nhau giữa hai tệp.

Hình 3.19. Tin hiệu âm thanh trước (trên) và sau khi giấu tin (dưới)

18 38 65526 8 65526

20 27 40 50 19

37 42 4 79 65519

46 65514 29 65508 31

65500 5 65486 0 65482

0 0 0 0 0

0 1 0 0 1

1 0 0 1 1

0 0 1 0 1

0 1 0 0 0

a

)

Page 75: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

63

Bảng 3.4. Bảng gia tri SNR khi giấu tin vào trong cac tệp theo kỹ thuật MCPT

Tên tệp 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

Kết quả thử nghiệm giấu nhiều tệp khác nhau trên nhiều tệp âm thanh khác

nhau cũng cho thấy kỹ thuật đề xuất đáp ứng được tiêu chí hệ số SNR khi giấu tin.

So với mô hình CPT áp dụng trên ảnh, kỹ thuật điều chỉnh không sử dụng các

phép nhân ma trận con trong quá trình giấu và giải tin nên thời gian thực hiện khi

giấu và giải tin nhanh hơn. Tuy nhiên hạn chế của của kỹ thuật là độ mật không cao.

Trong mô hình CPT, hai ma trận K và W được dùng làm khoá. Số cách chọn ma trận

K là 2m*n và số cách chọn W là (2r -1)m*n. Người thám tin se rất khó dò ra tin mật vì

số cách chọn K và W là quá lớn. Để giấu log(mn+1) bit trong khối m*n, mô hình

CPT có độ phức tạp là O(m*n*n). Kỹ thuật đề xuất chọn mỗi đoạn có kích thước 25

để giấu 4 bit, mục đích là để thuận lợi cho việc giấu từng byte dữ liệu. Để khắc phục

tính dễ lộ tin giấu của kỹ thuật, thuật toán đề xuất sử dụng phép biến đổi Arnold để

xáo trộn dữ liệu. Chi phí cho mỗi lần thực hiện biến đổi khối là O(N2), trong đó N là

kích thước của khối. Đối với mỗi khối ta thực hiện k lần biến đổi để xáo trộn dữ liệu.

Nếu chuỗi tin mật có độ dài q thì số khối cần xáo trộn là ⌈𝑞

𝑁2⁄ ⌉.

Phương pháp điều chỉnh LSB nguyên thuỷ thay đổi 1 bit dữ liệu để giấu 1 bit

tin mật, cho phép giấu nhiều tin nhưng dễ gây nhiễu lên dữ liệu chứa. So với kỹ thuật

điều chỉnh LSB, kỹ thuật này giảm một nửa số lần điều chỉnh bit để giấu cùng số bit

dữ liệu. Phương pháp giấu chẵn lẻ se thay đổi một mẫu trong khối để giấu 1 bit, dựa

vào tính chẵn lẻ của khối và bit cần giấu. Để giấu 4 bit, kỹ thuật giấu chẵn lẻ cũng

điều chỉnh nhiều nhất 4 bit của 4 mẫu. Như vậy, so với kỹ thuật giấu chẵn lẻ, kỹ thuật

b

)

Page 76: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

64

đề xuất điều chỉnh ít mẫu hơn, trong khi đó dung lượng giấu có thể xem tương đương.

Để giấu 4 bit dữ liệu ta cần 25 mẫu dữ liệu âm thanh, hay 1 byte dữ liệu cần 50 mẫu.

Tính an toàn của lược đồ giấu phụ thuộc vào việc xáo trộn dữ liệu. Thực chất

của việc xáo trộn dữ liệu là thay đổi thứ tự nhúng các bit mật vào trong các mẫu dữ

liệu. Nếu người thám tin biết phương pháp điều chỉnh để giấu bit nhưng không biết

thứ tự lấy các bit thì cũng không biết được tin mật. Vì vậy việc chọn khối có kích

thước lớn để xáo trộn dữ liệu là cần thiết.

Kỹ thuật này chỉ phù hợp cho giấu tin mật trong âm thanh, không phù hợp cho

thuỷ vân do không bền vững với các tấn công. Dựa vào đặc tính ít điều chỉnh dữ liệu

của kỹ thuật, ta có thể nâng cao tính bền vững bằng cách chọn các bit ở mức cao hơn

để giấu tin thay vì sử dụng bit ở vị trí 1 của mẫu dữ liệu.

3.4. Thuật toán điều chỉnh 1 bit trong khối để giấu 8 bit dữ liệu

Phần này của luận án trình bày về một thuật toán giấu 8 bit dữ liệu trong đoạn

chứa 256 mẫu dữ liệu bằng cách thay đổi 1 bit. Ý tưởng thuật toán dựa vào kỹ thuật

giấu tin trong ảnh của nhóm tác giả trình bày trong [68], áp dụng trên dữ liệu âm

thanh. Thuật toán giấu cũng bao gồm hai bước là hoán vị chuỗi dữ liệu trước khi giấu

và giấu lần lượt 8 bit dữ liệu đã được hoán vị vào trong mỗi khối gồm 256 mẫu.

3.4.1. Xáo trộn dữ liệu bằng phương pháp hoán vị

Để xáo trộn dữ liệu, trong thuật toán này luận án đề xuất cách dùng hoán vị.

Cho M là chuỗi tin mật cần giấu. Chuỗi M này se được xáo trộn bằng cách hoán vị

các phần tử. Thuật toán hoán vị dãy n phần tử đã được trình bày trong chương 2.

Bước hoán vị này cần khoá là bộ (d, k). Chuỗi M se được chia thành các đoạn

bằng nhau có độ dài d. Trong trường hợp nếu không đủ d thì ta thêm các ký tự đệm,

là các ký tự trắng (blank, mã ASCII là 32). Hình 3.20 dưới đây minh hoạ cho chuỗi

tin mật là “hello world” và giá trị của d là 8, khi đó ta se dùng 5 ký tự bù.

Hình 3.20. Sử dụng ký tự bù cho chuỗi tin mật

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

Page 77: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

65

Phần tử thứ 2 trong bộ khoá là giá trị k. Giá trị của k là một số nguyên nằm

trong đoạn từ 1 đến d!, ở đây d! là số hoán vị của tập gồm d phần tử. Việc hoán vị

được thực hiện trên mỗi đoạn gồm d phần tử riêng lẻ.

Hình 3.21. Chuỗi tin gôc và chuỗi sau khi hoan vi

Ví dụ ta cần xáo trộn chuỗi M là “hello world” dùng phương pháp hoán vị, với

khoá là bộ (8,1000). Ta có hoán vị thứ 1000 của các phần tử {1,2,3,4,5,6,7,8} là

{1,3,5,4,7,8,2,6}, vì thế giá trị của chuỗi M’ nhận được là “hlolwoe rd l ”. Kết quả

minh hoạ như trong hình 3.21.

Để khôi phục lại chuỗi tin gốc M từ chuỗi xáo trộn M’ ta cần phải dùng khoá

là bộ (d, k). Từ khoá (d, k) ta xây dựng cấu hình hoán vị thứ k của bộ d phần tử {1,

2, 3, …d}. Chuỗi nhận được khi giải tin là hoán vị thứ k nên tương ứng với mỗi vị

trí, ta khôi phục lại chuỗi ban đầu. Hình 3.22 minh hoạ cho việc khôi phục chuỗi gốc

M từ chuỗi hoán vị M’ là “hachilan” và khoá là bộ (8, 5398).

Hình 3.22. Khôi phục lai chuỗi gôc từ chuỗi hoan vi

3.4.2. Tính tổng XOR của đoạn

Dưới đây là thuật toán tính tổng XOR của đoạn gồm 256 mẫu.

Đầu vào: - Đoạn S gồm 256 mẫu giá trị nguyên, được đánh số từ S[0] đến S[255].

Đầu ra: - Một số nguyên được gọi là XOR_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.

Hoán vị thứ 5398

2 1 5 8 7 6 3 4

h a c h i l a n

1 2 3 4 5 6 7 8

a h a n c l i h

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

Page 78: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

66

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;

Sau đây là minh hoạ cho cách tính XOR_sum của dãy 256 mẫu. Hình 3.23 là giá trị

của đoạn âm thanh gồm 256 mẫu, các mẫu tuần tự theo dòng, từ dòng 1 đến dòng 16.

Từ các giá trị của các mẫu trong đoạn âm thanh, ta lập dãy Q cũng gồm 256

phần tử, trong đó Q[i] có giá trị là bit cuối của mẫu thứ i, như hình 3.24.

Hình 3.23. Cac gia tri của đoan âm thanh gồm 256 mẫu

130 130 131 131 132 132 132 131 131 130 129 128 127 126 126 125

125 125 125 125 125 126 126 126 126 126 126 126 126 127 127 128

128 129 130 130 131 131 131 132 132 132 132 132 132 132 133 133

133 133 133 132 132 132 131 130 130 129 128 127 127 126 126 125

125 125 125 125 125 125 125 125 126 126 126 126 126 126 126 126

126 126 126 126 126 126 126 126 125 125 125 124 124 124 124 124

124 124 124 124 124 123 123 123 123 124 124 124 124 125 125 125

125 124 124 122 121 119 118 116 115 114 114 114 115 116 117 119

121 122 124 125 126 127 128 128 128 129 129 129 129 128 128 128

127 127 126 126 126 125 125 125 126 126 126 127 127 128 128 128

128 128 127 127 126 126 125 125 125 125 125 125 125 125 126 126

127 127 128 128 128 128 128 129 129 129 129 129 129 129 129 129

129 129 129 129 129 128 128 128 127 127 127 127 127 127 127 127

127 127 128 128 128 128 128 128 128 127 127 127 126 126 125 125

125 124 124 123 123 123 122 122 122 122 122 122 123 123 123 124

124 124 124 124 124 124 124 124 124 124 124 124 124 124 125 125

Page 79: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

67

0 0 1 1 0 0 0 1 1 0 1 0 1 0 0 1

1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0

0 1 0 0 1 1 1 0 0 0 0 0 0 0 1 1

1 1 1 0 0 0 1 0 0 1 0 1 1 0 0 1

1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 0

0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1

1 0 0 0 1 1 0 0 1 0 0 0 1 0 1 1

1 0 0 1 0 1 0 0 0 1 1 1 1 0 0 0

1 1 0 0 0 1 1 1 0 0 0 1 1 0 0 0

0 0 1 1 0 0 1 1 1 1 1 1 1 1 0 0

1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1

1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1

1 1 0 0 0 0 0 0 0 1 1 1 0 0 1 1

1 0 0 1 1 1 0 0 0 0 0 0 1 1 1 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1

Hình 3.24. Gia tri của dãy Q tương ứng với cac mẫu

Từ giá trị của dãy Q, ta tính giá trị XOR_sum của dãy. Hình 3.25 minh hoạ

cho giá trị XOR_sum lần lượt qua mỗi bước tính. Kết quả XOR_sum của dãy là 11.

Hình 3.25. Gia tri XOR_sum của dãy Q qua cac bước tinh

0 0 2 1 0 0 0 6 14 0 4 0 8 0 0 7

23 6 20 7 19 0 0 0 0 0 0 0 0 14 16 0

0 49 0 0 21 48 22 0 0 0 0 0 0 0 56 23

39 22 36 0 0 0 18 0 0 43 0 16 44 0 0 19

83 18 80 19 87 18 84 19 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 75 18 72 0 0 0 0 0

0 0 0 0 0 45 75 44 68 0 0 0 0 41 71 40

88 0 0 0 44 89 0 0 33 0 0 0 93 0 35 92

220 0 0 95 0 218 0 0 0 83 217 82 222 0 0 0

78 223 0 0 0 74 220 75 0 0 0 208 76 0 0 0

0 0 238 77 0 0 235 76 228 77 231 76 224 77 0 0

235 76 0 0 0 0 0 251 67 250 64 251 71 250 68 251

59 250 56 251 63 0 0 0 247 62 244 63 243 62 240 63

239 62 0 0 0 0 0 0 0 231 61 230 0 0 56 231

7 0 0 228 0 229 0 0 0 0 0 0 9 228 10 0

0 0 0 0 0 0 0 0 0 0 0 0 0 0 244 11

Page 80: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

68

3.4.3. Thuật toán giấu một byte dữ liệu vào trong khối 256 mẫu

Dưới đây là thuật toán giấu một byte dữ liệu vào trong đoạn gồm 256 mẫu

nhưng chỉ thay đổi 1 bit của một mẫu trong đoạn dữ liệu chứa.

Đầu vào: - Đoạn dữ liệu chứa gồm 256 mẫu (S[0..255]) và byte cần giấu p.

Đầu ra: - Đoạn chứa tin S[0..255].

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 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ì thỏa điều kiện giấu, không cần điều chỉnh.

Nếu giá trị pos > 0 thì điều chỉnh mẫu tại vị trí pos, có tham gia trong

quá trình tính XOR_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.

130 130 131 131 132 132 132 131 131 130 129 128 127 126 126 125

125 125 125 125 125 126 126 126 126 126 126 126 126 127 127 128

128 129 130 130 131 131 131 132 132 132 132 132 132 132 133 133

133 133 133 132 132 132 131 130 130 129 128 127 127 126 126 125

125 125 125 125 125 125 125 125 126 126 126 126 126 126 126 126

126 126 126 126 126 126 126 126 125 125 125 124 124 124 124 124

124 124 124 124 124 123 123 123 123 124 124 124 124 125 125 125

125 125 124 122 121 119 118 116 115 114 114 114 115 116 117 119

121 122 124 125 126 127 128 128 128 129 129 129 129 128 128 128

127 127 126 126 126 125 125 125 126 126 126 127 127 128 128 128

128 128 127 127 126 126 125 125 125 125 125 125 125 125 126 126

127 127 128 128 128 128 128 129 129 129 129 129 129 129 129 129

129 129 129 129 129 128 128 128 127 127 127 127 127 127 127 127

127 127 128 128 128 128 128 128 128 127 127 127 126 126 125 125

125 124 124 123 123 123 122 122 122 122 122 122 123 123 123 124

124 124 124 124 124 124 124 124 124 124 124 124 124 124 125 125

Hình 3.26. Gia tri mới của dãy S

Page 81: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

69

Tệp mang tin

Chia thành các đoạn

gồm 256 mẫu

Giấu tin

Tệp gốc

Xáo trộn dùng phương

pháp hoán vị

Dữ liệu mật

Khoá

Ví dụ ta cần giấu ký tự ‘z’ vào trong dãy 256 mẫu có giá trị như hình 3.24. Ta

có XOR_sum của đoạn là 11 và ký tự ‘z’ có mã ASCII là 122. Ta thực hiện phép toán

XOR giữa 11 và 122 ta được 113. Kết quả này khác 0 nên ta điều chỉnh giá trị mẫu

tại vị trí 113 (lật bit cuối). Giá trị cũ tại vị trí S[113] là 124 se điều chỉnh thành 125.

Tất cả các giá trị khác của dãy không thay đổi. Kết quả như hình 3.26.

3.4.4. Thuật toán giấu tin

Hình 3.27 mô tả các bước thuật toán giấu tin sử dụng XOR_sum của khối.

Hình 3.27. Sơ đồ giấu tin dùng XOR_sum của khôi

Chi tiết thuật toán giấu như sau:

Đầu vào: - Tệp âm thanh F, khoá (k, d), và thông điệp mật 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ó cùng độ dài d. Dựa vào giá

trị k, và phương pháp hoán vị, 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 nhau và 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

Thuật toán giải tin tương tự như thuật toán giấu nhưng thực hiện theo chiều

ngược lại. Trong quá trình giải tin, ta cần tệp chứa dữ liệu mật, cặp số (k, d) là khoá

và q là dài chuỗi tin mật. Thuật toán giải tin se lần lượt tách từng byte dữ liệu trong

Page 82: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

70

mỗi đoạn 256 mẫu, thực hiện khôi phục lại q byte tin mật ban đầu dựa vào khoá (k,

d). Chi tiết thuật toán như sau:

Đầu vào: - Tệp chứa tin mật, khoá (k, d) và q là số byte thông điệp mật cần lấy.

Đầu ra: - Thông điệp mật M.

Bước 1) Lấy h= ddq */ đoạn từ tệp 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] =XOR_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.4.6. Kết quả thử nghiệm và đánh giá

Dưới đây là các hình minh hoạ khi thử nghiệm giấu 2048 byte vào trong tệp

âm thanh có độ dài 32 giây. Hình 3.28 là sóng, phổ của dữ liệu gốc và sóng, phổ của

dữ liệu sau khi giấu tin. Phương pháp giấu này không cho thấy sự khác biệt giữa tệp

âm thanh gốc và tệp mang tin khi đánh giá bằng cảm nhận chủ quan (nghe bằng tai).

Hình 3.28. Sóng, phổ của âm thanh trước (trai) và sau khi giấu (phải)

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. Do tệp map.gif có kích thước lớn nên không giấu

được vào các tệp âm thanh. Đối với tệp giấu được (tệp dohoa.cpp và

DuyTanlogo.bmp) thì giá trị SNR của phương pháp giấu này cao hơn.

Page 83: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

71

Bảng 3.5. Bảng gia tri SNR khi giấu tin theo thuật toan điều chỉnh môt bit

Tên tệp 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

Phép toán XOR có một số tính chất sau:

1. A B= B A

2. A A= 0

3. A 0= A

4. A B A=B

Trong sơ đồ giấu, một byte dữ liệu mật se được giấu trong đoạn 256 mẫu. Để

giấu byte p vào trong đoạn 256 mẫu, ta cần đảm bảo XOR_sum của đoạn đó bằng giá

trị của p. Nếu như XOR_sum của đoạn khác p ta se điều chỉnh giá trị tại vị trí pos

bằng cách lật bit cuối của mẫu. Ơ đây giá trị pos = h XOR p.

Nếu như mẫu tại vị trí pos trước đây có tham gia và quá trình tính XOR_sum

của khối thì mẫu này se được loại ra, h nếu như trước đây mẫu này không tham gia

vào quá trình tính XOR_sum thì nó se được sử dụng để tính XOR_sum của khối.

Về tỉ lệ dữ liệu, phương pháp LSB điều chỉnh 8 bit trên 8 mẫu dữ liệu âm thanh

để giấu 8 bit. Nếu như có 256 mẫu thì có thể giấu được 8 byte dữ liệu mật. Phương

pháp đề xuất trong mục 3.3 se điều chỉnh tối đa 4 mẫu trong 50 mẫu để giấu 1 byte

dữ liệu. So với phương pháp LSB và phương pháp trong mục 3.3 thì tỉ lệ dữ liệu của

kỹ thuật này thấp hơn nhưng tỉ lệ thay đổi trên dữ liệu gốc se thấp hơn nếu so sánh

theo tiêu chí giấu cùng giấu 1 byte dữ liệu.

Kỹ thuật này cơ bản dựa trên việc điều chỉnh các bit LSB nên chỉ phù hợp với

các ứng dụng giấu tin mật mà không dùng cho ứng dụng đánh dấu bản quyền, do tính

không bền vững trước các tấn công.

Page 84: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

72

Do tỉ lệ điều chỉnh bit thấp nên có thể vận dụng giấu vào các bit ở mức cao

hơn nhằm mục đích tăng tính bền vững, hoặc có thể kết hợp giấu trên nhiều mức bit

khác nhau để tăng tỉ lệ giấu.

Tính an toàn của lược đồ giấu phụ thuộc vào khóa, là giá trị d và k. Tính mật

của kỹ thuật có thể tăng nếu như giá trị d được chọn là số đủ lớn. Khi đó số hoán vị

se lớn và khả năng dò để khôi phục tin giấu của người thám tin se thấp hơn do phải

thử nhiều trường hợp hơn.

3.5. Thuật toán giấu điều chỉnh tiếng vọng

Kỹ thuật đề xuất dưới đây là một cải tiến của kỹ thuật đã đề xuất trước đó do

J. A. R. Chavez và các đồng sự đề cập trong [16].

3.5.1. Thuật toán giấu của Rios Chavez

Trong [16] đề xuất một công thức để điều chỉnh dữ liệu chứa nhằm thực hiện

giấu tin. Các bước của thuật toán như sau:

- Chia dữ liệu âm thanh thành các đoạn (frame) Si có cùng kích thước n.

- Thực hiện giấu từng bit trên mỗi đoạn Si. Công thức điều chỉnh để giấu như

sau:

𝑆𝑖′(𝑛) = [ 0.99 ∗ 𝑆𝑖(𝑛) 𝑛ế𝑢 𝑛ℎư 𝑔𝑖ấ𝑢 𝑏𝑖𝑡 0

0.98 ∗ 𝑆𝑖(𝑛) + 0.1 ∗ 𝑆𝑖(𝑛 − 𝑑) 𝑛ế𝑢 𝑛ℎư 𝑔𝑖ấ𝑢 𝑏𝑖𝑡 1 (3.6)

Để giải tin mật giấu trong tệp âm thanh cần phải có tệp âm thanh gốc. Việc giải

tin được thực hiện bằng cách so sánh từng đoạn giữa dữ liệu gốc và dữ liệu mang tin

để xác định tách bit 0 hoặc bit 1.

Có hai hạn chế trong kỹ thuật đề xuất bởi [16]. Trong công thức (3.6) nếu giá

trị của 𝑆𝑖(𝑛) bằng với giá trị của 𝑆𝑖(𝑛 − 𝑑) thì tổng 0.98 ∗ 𝑆𝑖(𝑛) + 0.1 ∗ 𝑆𝑖(𝑛 − 𝑑)

se bằng 0.99 ∗ 𝑆𝑖(𝑛), tương ứng với trường hợp giấu bit 0. Mặc dù khả năng này ít

xảy ra nhưng cũng có thể có, dẫn đến khi rút trích tin ta se lấy lại tin không đúng.

Ngoài ra, ta có thể giảm thời gian tính toán bằng cách chép nguyên nội dung đoạn khi

giấu bit 0 mà không phải thực hiện tính toán.

Để trích dữ liệu mật được giấu bằng phương pháp tiếng vọng, người ta dựa vào

phân tích cepstrum của mỗi đoạn. Cepstrum của mỗi đoạn 𝑆𝑖 được tính như sau:

Page 85: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

73

𝐶𝑒𝑝𝑠 = 𝑅𝑒( 𝐼𝐹 (ln(|𝐹(𝑆𝑖)|))) (3.7)

Trong công thức trên F() ký hiệu phép biến đổi Fourier và IF() là phép biến đổi

Fourier ngược, Re() là lấy phần thực của số phức.

Ví dụ S1 là tín hiệu sin gồm 200 mẫu được sinh như sau:

Fs = 100; t = 0:1/Fs:2.00; S1 = sin(2*pi*45*t);

Ta thêm echo cho S1 tại vị trí 80 và lưu vào S2.

S2 = S1 + 0.5*[zeros(1,80) S1(1:121)];

Hình 3.29. Biên đô của âm thanh gôc và âm thanh được thêm echo

Hình 3.29 minh hoạ cho tín hiệu gốc và tín hiệu có thêm tiếng vọng. Khi phân

tích cepstrum của S2 ta dễ dàng phát hiện echo được thêm vào ở vị trí 80.

Hình 3.30. Cepstrum của âm thanh gôc và âm thanh được thêm tiếng vọng.

Page 86: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

74

Bị phát hiện khi phân tích cepstrum là điểm hạn chế của phương pháp giấu tin

sử dụng phương pháp điều chỉnh tiếng vọng. Khi người thám tin biết kích thước mỗi

frame dùng để giấu, bằng cách phân tích cepstrum, người thám tin có thể dò tìm được

hoặc suy đoán một phần thông tin của tin giấu [57].

3.5.2. Kỹ thuật điều chỉnh tiếng vọng

Kỹ thuật đề xuất dưới đây khắc phục một phần nhược điểm của phương pháp

ở trên. 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 vọng vào dữ liệu gốc, kỹ thuật đề xuất se hạn chế khả năng người thám tin dò

tìm được tin giấu và tránh trường hợp rút trích tin không đúng.

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 có độ dài n ta cần sinh chuỗi R ngẫu nhiên có độ dài n,

trong đó Ri chỉ nhận giá trị 0 hoặc 1. Mỗi một bit mật Mi se được giấu vào trong một

đoạn. Dựa vào giá trị Ri này ta se giữ nguyên đoạn hoặc thêm tiếng vọng vào đoạn.

Cụ thể như sau:

(3.8)

Chuỗi R được tính như sau:

(3.9)

Với xi là giá trị được sinh ra theo bộ sinh số đồng dư như sau:

xi = (axi-1 + b) mod N (3.10)

Để thêm tiếng vọng vào trong đoạn, ta sử dụng công thức (3.11) như sau:

𝑆𝑖′(𝑛) = [ 1.1 ∗ 𝑆𝑖(𝑛) 𝑛ế𝑢 𝑆𝑖(𝑛) = 𝑆𝑖(𝑛 − 𝑑)

0.99 ∗ 𝑆𝑖(𝑛) + 0.1 ∗ 𝑆𝑖(𝑛 − 𝑑) 𝑛ế𝑢 𝑆𝑖(𝑛) <> 𝑆𝑖(𝑛 − 𝑑) (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ử lý cho

đoạn có giá trị trùng nhau.

=1: copy để giấu bit 1, thêm tiếng vọng để giấu bit 0.

=0: copy để giấu bit 0, thêm tiếng vọng để giấu bit 1. Nếu Ri

1 : nếu (xi mod 6) >2

0 : nếu (xi mod 6) <=2 Ri =

Page 87: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

75

3.5.2.2. Thuật toán giấu

Đầu vào: - Tệp âm thanh gốc C, chuỗi bit W có độ dài L, khoá (a, b) và số N.

Đầu ra: - Tệp 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 tệp 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 tệp S và chép các mẫu còn lại từ C sang S.

3.5.2.3. Thuật toán giải tin

Đầu vào: - Tệp chứa tin giấu S, tệp gốc C.

- Khoá (a, b) và số nguyên 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 tệp chứa tin giấu S và tệp 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 lại bước 3 tuần tự cho các đoạn dữ liệu Ci, Si cho đến khi lấy đủ L bit.

Kích thước mỗi đoạn được sử dụng trong giấu tin và giải tin phải giống nhau. Để đảm

bảo kỹ thuật giấu không tạo ra sự khác biệt giữa tệp gốc và tệp mang tin thì thời gian

gây hiệu ứng tiếng không nên lớn hơn 20 mili giây, từ đó se có cách chọn số mẫu trong

mỗi đoạn cho phù hợp.

3.5.3. Kết quả thử nghiệm và đánh giá

Trong thử nghiệm, cặp số (7, 9137) được chọn 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 lấy từ tệp dohoa.cpp. Chuỗi

Page 88: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

76

số ngẫu nhiên R được sinh dựa vào công thức (3.9). Kết quả ta se có chuỗi R có giá

trị như sau: R = {1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0 , 1, 1, 0……}.

Hình 3.31. Phổ biên đô môt đoan của âm thanh trước và sau khi giấu

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 frame được chọn là 1000 và giá trị d1 được chọn bằng 441 tương

ứng dưới mức nhận biết tiếng vọng của hệ thống thính giác của con người. Hình 3.31

là một đoạn được thêm tiếng vọng để giấu tin. Kết quả đánh giá mức độ nhận biết cho

thấy kỹ thuật này không gây ra sự khác biệt nào khi nghe tệp âm thanh gốc và tệp âm

thanh mang tin.

Bảng 3.5 dưới đây thể hiện độ đo SNR khi thử nghiệm giấu 3 tệp dữ liệu vào

trong 2 tệp âm thanh khác nhau. Đối với tệp map.gif không thể giấu do kích thước lớn.

Bảng 3.6. Bảng gia tri SNR khi thêm tiếng vọng để giấu tin

Tên tệp 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

Page 89: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

77

Độ an toàn của lược đồ giấu phụ thuộc vào khóa sinh chuỗi R. Để giấu chuỗi

bit W có độ dài L ta cần phải có dãy R có cùng độ dài với W. Thuật toán để sinh chuỗi

R có độ phức tạp O(L). Chuỗi R được sinh dựa vào khoá bí mật giúp tăng độ mật cho

kỹ thuật. Nếu như người thám tin biết được kỹ thuật giấu dùng phương pháp điều

chỉnh tiếng vọng và kích thước của mỗi đoạn để giấu thông tin nhưng nếu không biết

chuỗi R thì cũng khó lấy lại được tin giấu. Nếu như biết cả số độ dài chuỗi bit là L thì

người thám tin cũng phải dò trong 2L chuỗi nhị phân để xác định được tin giấu.

Tổng kết chương 3

Trong chương 3 đã trình bày năm thuật toán giấu tin trong tệp âm thanh. Các

thuật toán này thực hiện điều chỉnh một bit của mẫu dữ liệu để giấu một hoặc nhiều

bit. Thuật toán 1 thực hiện giấu bằng cách kết hợp với mã Hamming nhằm mục đích

giảm nhận tin sai nếu tệp mang tin bị tấn công. Thuật toán 2 dùng chuỗi ngẫu nhiên

để chọn mẫu và bit của mẫu đó nhúng bit cần giấu vào, cách điều chỉnh bit để giảm

sai khác giữa mẫu dữ liệu gốc và mẫu dữ liệu mang tin. Thuật toán 3 và 4 sử dụng

hai phương pháp khác nhau để xáo trộn dữ liệu và dùng dãy liên tục các mẫu để giấu

tin. Việc giấu 1 bit vào dãy dựa vào đặc tính dữ liệu của dãy đó. Thuật toán 3 điều

chỉnh tối đa 4 bit để giấu 1 byte dữ liệu trong khi thuật toán 4 chỉ điều chỉnh 1 bit

giấu 1 byte dữ liệu. Thuật toán thứ 5 dùng phương pháp thêm tiếng vọng để giấu tin.

Page 90: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

78

Chương 4. MỘT SỐ THUẬT TOÁN GIẤU TIN TRÊN MIỀN

BIẾN ĐỔI

Chương này của luận án se trình bày hai thuật toán giấu tin trong âm thanh

trên miền biến đổi. Hai thuật toán này được công bố trong hai bài báo số 5 và số 7

trong danh mục các công trình. Thuật toán thứ nhất dùng phương pháp lượng tử hoá

để điều chỉnh giá trị trên miền biến đổi Fourier và thuật toán thứ hai điều chỉnh giá

trị trung bình các thành phần chi tiết của đoạn sau khi biến đổi wavelet. Hai thuật

toán này giải quyết một phần vấn đề tệp âm thanh mang tin mật bị tấn công, làm thay

đổi tin giấu bên trong. Thuật toán giấu tin trên miền biến đổi Fourier có thể giấu tin

bền vững trước tấn công thêm nhiễu trắng khi tỉ lệ thêm nhiễu lớn hơn 90. Thuật toán

thứ hai có thể giấu tin bền vững với tấn công lấy lại mẫu ở mức bit thấp hơn và tấn

công thêm nhiễu trắng khi hệ số thêm nhiễu lớn hơn 15.

4.1. Thuật toán điều chỉnh các hệ số trên miền biến đổi Fourier

Trong phần này của luận án se trình bày kỹ thuật giấu tin dựa vào việc điều

chỉnh các hệ số trên miền tần số. Việc giấu các byte dữ liệu được thực hiện trên miền

tần số, bằng cách điều chỉnh giá trị các mẫu sao cho thoả mãn một tính chất xác định

trước, sử dụng phương pháp lượng tử. So với các phương pháp điều chỉnh trên miền

thời gian thì phương pháp này bền vững hơn trước một số tấn công.

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 se được chuyển sang miền tần

số dùng phép biến đổi Fourier nhanh (Fast Fourier Transform). Mỗi một đoạn Y gồm

fw mẫu se được thực hiện phép biến đổi FFT.

FFT(Y)FY (4.1)

Kết quả FY nhận được là dãy gồm các số phức. Trừ trường hợp giá trị 0, mỗi

một số phức đều có thể biểu diễn dưới dạng lượng giác trong hệ toạ độ cực [36]. Hình

4.1 là biểu diễn số phức 𝑧 = 𝑥 + 𝑖 ∗ 𝑦 trong hệ toạ độ cực, trong đó trục Re tương

ứng với phần thực và trục Im tương ứng với phần ảo.

Page 91: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

79

Hình 4.1. Biểu diễn sô phức trong hệ toa đô cực

Số phức 𝑧 = 𝑥 + 𝑖 ∗ 𝑦 có thể biểu diễn lại trong hệ toạ độ cực bằng công thức

sau :

)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)

argument hay pha của số phức z được xác định theo công thức (4.4).

0) yand 0if(xkxd

0) yand 0if(x2

π

0) yand 0if(x2

π

0) yand 0if(xπ)x

yarctan(

0) yand 0if(xπ)x

yarctan(

0)if(x)x

yarctan(

(4.4)

Một số mẫu trong dãy FY se được lựa chọn 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)

Đoạn FY sau khi điều chỉnh se được biến đổi Fourier ngược (IFFT) để chuyển

từ miền tần số sang miền thời gian.

Page 92: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

80

4.1.2. Thuật toán điều chỉnh mẫu để giấu một bit

Dưới đây là thuật toán dùng để điều chỉnh giá trị của một mẫu, là số phức z,

để giấu 1 bit b theo bước điều chỉnh d.

Đầu vào: - Số phức z, bit thông tin mật cần giấu b, giá trị d.

Đầu ra: - Số phức z’.

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ề:

r’=complex(amp*cos(phase),amp*sin(phase));

return r’;

Trong thuật toán trên, hàm mod(amp, d) là hàm tính phần dư của phép chia

của amp cho d. Mục đích của việc cộng thêm khoảng d/2 là để điều chỉnh biên độ của

mẫu ở miền biến đổi thoả mãn tính chất chứa tin. Hình 4.2 minh hoạ cho cách điều

chỉnh giá trị mẫu để giấu một bit.

Hình 4.2. Điều chỉnh gia tri để giấu 1 bit

Số phức z được chọn để điều chỉnh phục vụ giấu tin phải đảm bảo giá trị phải

lớn hơn một ngưỡng nào đó. Để giảm ít sự thay đổi giá trị của mẫu trước và sau khi

giấu, giá trị d được chọn phải đủ nhỏ, thường trong khoảng 0.1 đến 0.4.

vùng điều chỉnh

giấu bit 0

vùng điều chỉnh

giấu bit 1

d/2

Page 93: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

81

4.1.3. Thuật toán giấu

Đầu vào: - Vector Y chứa giá trị các mẫu, chuỗi bit M có độ dài q, giá trị d, k, fw.

Đầu ra: - Vector Y’ mang tin.

Thuật toán giấu gồm các bước sau:

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).

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. Điều kiện đoạn được chọn để 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 chọn). 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, dùng 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’.

Để thuận tiện cho việc tính FFT, kích thước của mỗi đoạn thường được chọn

ở dạng 2n, chẳng hạn như 256 hay 512.

Ngoài ra, nếu giá trị ngưỡng chọn k lớn thì se có rất ít đoạn có thể thỏa được

điều kiện giấu (có 8 phần tử lớn hơn 2 phần tử kề bên). Giá trị này thường được chọn

đủ nhỏ để có nhiều đoạn thỏa tiêu chí có thể giấu được.

Bảng 4.1 dưới đây minh hoạ cho việc điều chỉnh 8 mẫu là đỉnh trong đoạn để

giấu 8 bit tin mật. Các ô có giá trị in đậm ở cột thứ 3 tương ứng với việc phải điều

chỉnh giá trị của mẫu đế giấu tin, các ô có giá trị in bình thường tương ứng với giá trị

của mẫu đã thỏa mãn điều kiện giấu và ta không cần điều chỉnh.

Page 94: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

82

Bảng 4.1. Gia tri cac mẫu trước và sau khi giấu cac 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

Dưới đây là thuật toán lấy 1 bit từ số phức z, dùng để lấy bit tin Mi khi giải tin.

Đầu vào: - Số phức z, số d.

Đầu ra: - Số nhị phân Mi.

Phương pháp: Getbit (z)

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

4.1.5. Thuật toán giải tin

Đầu vào: - Vector Y’ mang tin, độ dài chuỗi bit cần lấy q, số d, k, fw.

Đầu ra: - Chuỗi bit mật M.

Thuật toán giải tin gồm các bước sau đây :

Bước 1) Chia Y’ thành các đoạn có cùng 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;

Page 95: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

83

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 chọn k. 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 ); 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.

Do trong thuật toán giấu, ta chỉ thực hiện điều chỉnh giá trị các mẫu là đỉnh

(lớn hơn hai phần tử bên cạnh) lên một khoảng dương để giấu tin nên nó vẫn duy trì

tính chất là đỉnh sau khi được điều chỉnh (trong trường hợp không điều chỉnh thì

không ảnh hưởng tính chất này). Mặt khác, ta có IFFT(FFT(Y)) = Y nên tính chất các

phần tử là đỉnh được lựa chọn trong mỗi đoạn để giấu tin cũng không thay đổi, nên

ta có thể xác định được các bit mật được giấu từ các mẫu là đỉnh này.

4.1.6. Kết quả thử nghiệm và đánh giá

Trong thử nghiệm đánh giá kỹ thuật, tệp âm thanh được chọn có độ dài 32

giây, lấy mẫu ở tần số 44.1 Khz, gồm 1422720. Chuỗi bit mật gồm 1024 bit, là dữ

liệu ảnh của logo Đại học Duy Tân. Kích thước mỗi đoạn fw là 512, giá trị ngưỡng

chọn là 6 và giá trị d là 0.2. Kết quả thử nghiệm cho thấy không phân biệt được khi

nghe tệp âm thanh gốc và tệp âm thanh mang tin.

Hình 4.3 minh hoạ một đoạn của tệp mang tin gồm 512 mẫu, đã đươc điều

chỉnh để giấu 1 bit tin.

Hình 4.3. Biên đô đoan đầu tiên của tệp mang tin B

Page 96: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

84

Hình 4.4 thể hiện dữ liệu tệp gốc và tệp mang tin.

Hình 4.4. Biên đô của tệp gôc và tệp mang tin

Thực nghiệm thực hiện thêm nhiễu trắng với các tỉ lệ khác vào dữ liệu mang

tin. Bảng 4.2 là mô tả tỉ lệ bit bị sai khi giải tin và hình 4.5 là ảnh nhận được. Nếu tỉ

lệ gây nhiễu lớn hơn 90 thì không ảnh hưởng đến tin giấu.

Bảng 4.2. Tỉ lệ bit sai khi tấn công thêm nhiễu

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.0390625

80 1 0.000976563

>=90 0 0

Hình 4.5. Ảnh kết quả thu được khi giải tin tương ứng với cac tỉ lệ gây nhiễu

A B

A B

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

Page 97: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

85

Bảng 4.3 thể hiện độ đo SNR khi thực nghiệm giấu 3 tệp khác nhau vào hai

tệp âm thanh, theo thuật toán đề xuất ở trên. Tệp map.gif không thể giấu được vào

các tệp được do kích thước lớn.

Bảng 4.3. Bảng gia tri SNR khi điều chỉnh biên đô để giấu tin

Tên tệp 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

Kỹ thuật này giấu 8 bit trên đoạn gồm fw mẫu dữ liệu. Để giấu n byte dữ liệu

thì tệp chứa cần ít nhất n*fw mẫu. Có trường hợp trong một đoạn không thể giấu tin

do không có đủ số mẫu thỏa tiêu chí giấu. Chúng ta có thể điều chỉnh số bit giấu trong

mỗi đoạn tăng hoặc bằng số mẫu là đỉnh trong mỗi đoạn. Giá trị ngưỡng được chọn

không nên lớn vì số mẫu trong đoạn thoả điều kiện lớn hơn ngưỡng chọn không nhiều

và tuỳ thuộc vào tệp âm thanh được chọn làm dữ liệu chứa.

Độ an toàn của lược đồ giấu phụ thuộc vào giá trị là d và k, trong đó d là giá

trị dùng để điều chỉnh mẫu thỏa điều kiện giấu và k là giá trị ngưỡng để chọn các mẫu

trong mỗi khối. Để tăng tính an toàn cho tin giấu, ta có thể kết hợp với chuỗi ngẫu

nhiên như các kỹ thuật đã trình bày trước. Ngoài ra, ta có thể chọn giá trị d khác nhau

trong các đoạn khác nhau để giấu tin, làm cho người thám tin khó lấy lại được tin.

Nếu chọn kích thước mỗi đoạn là 512, để giấu 1 byte dữ liệu, ta cần phải thực

hiện 2*512*log2(512) và bằng 9216 phép toán để thực hiện biến đổi (FFT và IFFT).

Để giấu n byte dữ liệu thì ta cần ít nhất n*9216 phép toán.

Các nghiên cứu trong [49, 50, 51] cũng thực hiện giấu tin trên miền tần số, sử

dụng phép biến đổi FFT. Các nghiên cứu này sử dụng phương pháp nội suy, dùng kết

hợp với dãy số Fibonacci để giấu tin. Các thuật toán giấu này có tỉ lệ dữ liệu cao và

bền vững trước các tấn công thông thường. Nghiên cứu [31, 40, 41] thực hiện tính

cepstrum và giấu dữ liệu trực tiếp trên miền này, nhưng thực chất vẫn là các thuật toán

dùng biến đổi FFT để giấu tin.

Page 98: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

86

4.2. Thuật toán giấu điều chỉnh hệ số biến đổi wavelet

Trong phần này, luận án đề xuất sử dụng phương pháp lượng tử hoá giá trị

trung bình các hệ số của phép biến đổi wavelet để giấu tin. Dữ liệu tệp âm thanh se

được chuyển từ miền thời gian sang miền tần số bằng biến đổi wavelet, sau đó se thực

hiện giấu tin và chuyển ngược lại miền thời gian. Trong phương pháp này sử dụng

khóa là bộ gồm ba số (x0, a, m) cho quá trình giấu tin và giải tin. Các giá trị của khóa

dùng để sinh chuỗi số ngẫu nhiên theo phương pháp đồng dư tuyến tính đã trình bày

ở chương 2, với giá trị c= 2*a. Từ chuỗi số ngẫu nhiên được sinh ra, chúng ta se biến

đổi chuỗi bit mật cần giấu thành chuỗi khác. Mục đích của việc biến đổi này là làm

cho người thám tin khó lấy lại được tin giấu nếu như biết thuật toán điều chỉnh đoạn

dữ liệu để giấu bit.

Như ta đã biết, phép biến đổi wavelet se phân tích tín hiệu thành hai thành

phần là thành phần xấp xỉ A (Approximation) và 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 và thành phần chi tiết D tương

ứng với thành phần tần số cao. Trong hai thành phần A và D, thành phần D là không

quan trọng và những thay đổi trên thành phần này ít ảnh hưởng đến tín hiệu âm thanh

gốc khi ta khôi phục lại. Dựa vào đặc tính này, luận án đề xuất cách điều chỉnh các

giá trị trên thành phần này để giấu tin, bằng cách lượng tử theo modulo. Thuật toán

giấu tin thực hiện lượng tử giá trị trung bình của các mẫu trong một đoạn. Mỗi một

bit se được giấu vào đoạn gồm fw mẫu, được đánh số từ 1 đến fw.

Do thuật toán giấu và trích bit chia mỗi đoạn gồm fw phần tử thành hai nửa

bằng nhau nên giá trị fw được chọn trong thuật toán là số chẵn. Một nửa các mẫu

thành phần D của mỗi đoạn, se được điều chỉnh lên một khoảng d/2 để giấu tin nếu

như không thỏa điều kiện giấu, nên giá trị số thực d khi chọn cần đủ nhỏ để ít làm

thay đổi dữ liệu mang tin so với dữ liệu gốc.

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.

Page 99: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

87

ℎ1 = (∑ 𝐷[𝑖])/(𝑓𝑤/2)𝑓𝑤

21 (4.7)

ℎ2 = (∑ 𝐷[𝑖]𝑓𝑤𝑓𝑤

2+1

)/(𝑓𝑤

2)

Bước 2) Tính giá trị lệch giá trị trung bình giữa hai đoạn, theo modulo d:

𝑘 = 𝑎𝑏𝑠(ℎ1 − ℎ2) 𝑚𝑜𝑑 𝑑

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.

Trong thuật toán giấu, ta qui ước một đoạn đã thỏa điều kiện đã mang tin nếu

như độ lệch trung bình hai nửa lớn hơn d/2 khi cần giấu bit 1 và độ lệch trung bình

hai nửa nhỏ hơn hoặc bằng d/2 khi cần giấu bit 0.

4.2.2. Thuật toán trích 1 bit trong đoạn

Đầ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 ℎ1và nửa đoạn sau ℎ2 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:

𝑘 = 𝑎𝑏𝑠(ℎ1 − ℎ2) 𝑚𝑜𝑑 𝑑

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

Dưới đây là thuật toán giấu chuỗi bit mật M gồm n phần tử và tệp âm thanh H.

Đầu vào: - Khoá K, tệp âm thanh gốc H, chuỗi bit mật M.

Đầu ra: - Tệp âm thanh S mang tin.

Page 100: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

88

Bước 1) Dùng khoá K để sinh ra chuỗi số ngẫu nhiên SR gồm n phần tử.

Bước 2) Biến đổi chuỗi bit mật M thành M’ dựa vào SR, trong đó:

𝑀′(𝑖) = [𝑀(𝑖) 𝑛ế𝑢 S𝑅(𝑖) 𝑙ẻ

1 − 𝑀(𝑖) 𝑛ế𝑢 S𝑅(𝑖) 𝑐ℎẵ𝑛 (4.8)

Bước 3) Đọc dữ liệu các mẫu từ tệp 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 tệp S.

4.2.4. Thuật toán trích tin

Đầu vào: - Khoá K, tệp mang tin S.

Đầu ra : - Chuỗi bit mật M.

Bước 1) Đọc dữ liệu các mẫu từ tệp âm thanh S vào mảng y. Thực hiện biến

đổi wavelet cho dãy y.

[𝐴, 𝐷] = 𝐷𝑊𝑇(𝑦)

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 ngẫu nhiên SR gồm n phần tử.

Bước 4) Biến đổi chuỗi M’ thành M dựa vào SR theo công thức 4.8 và trả về.

Để rút trích đúng tin giấu thì kích thước fw dùng trong thuật toán giấu và giải

tin phải giống nhau. Do biến đổi IDWT(DWT(y)) =Y nên độ lệch trung bình của hai

nửa trong mỗi đoạn gồm fw mẫu vẫn duy trì nên ta có thể lấy chính xác tin đã giấu.

4.2.5. Kết quả thực nghiệm và đánh giá

Phần thực nghiệm thực hiện giấu tin trên các tệp âm thanh mono lượng tử 16

bit, ở nhiều thể loại khác nhau. Độ dài các chuỗi bit được giấu được thử nghiệm tuỳ

thuộc vào tệp âm thanh chứa. Giá trị d được chọn là 0.1 và kích thước mỗi đoạn để

Page 101: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

89

giấu 1 bit là 200. Hình 4.6 minh hoạ cho giấu 2000 bit vào trong tệp âm thanh, là bản

hoà tấu nhiều nhạc cụ.

Hình 4.6. Âm thanh gôc và âm thanh chứa tin giấu

Bảng 4.3 thể hiện độ đo SNR khi tiến hành giấu các chuỗi bit vào các tệp âm

thanh. Các giá trị của hệ số SNR trong Bảng 4.2 chứng tỏ kỹ thuật đề xuất đạt được

tiêu chuẩn về tỉ lệ nhiễu khi giấu tin. Thuật toán đề xuất cũng cho phép rút trích tin

giấu chính xác nếu như tệp âm thanh chứa tin mật không bị các tấn công.

Bảng 4.4. Bảng gia tri SNR và NCC khi giấu tin

Tên tệp Dạng âm

thanh

Kích thước

tệp

Số bit

giấu SNR

S.wav Bài nói 6.5 Mb 2000 22.18

Testmono44100Hz16bit_PCM.wav Đoạn nhạc 1.14 Mb 1400 21.67

PCM1608.wav Tiếng cười 104 Kb 100 25.74

speech-in.wav Thông báo 2.71 Mb 2000 20.55

Kết quả thử nghiệm giảm số bit lượng tử từ 16 bit xuống 8 bit đối với tệp âm

thanh chứa tin giấu cho thấy không ảnh hưởng đến tin mật khi giải tin.

Để kiểm tra tính bền vững của kỹ thuật đề xuất, chúng tôi thực hiện thêm nhiễu

vào tệp mang tin. Ba loại nhiễu lần lượt được thử nghiệm là nhiễu trắng, nhiễu hạt

tiêu và nhiễu đốm. Kết quả thực nghiệm cho thấy kỹ thuật đề xuất bền vững với tấn

công thêm nhiễu trắng (White Gaussian Noise) khi hệ số gây nhiễu lớn hơn 15. Đối

với một tệp âm thanh, nếu như thêm nhiễu trắng với hệ số thêm nhiễu nhỏ hơn 10, se

Page 102: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

90

làm thay đổi rõ rệt tệp âm thanh ban đầu và dễ dàng phát hiện ra sự thay đổi khi nghe

bằng tai. Các kết quả thử nghiệm khi thêm nhiễu trắng thể hiện trong Bảng 4.5.

Bảng 4.5. Bảng gia tri NCC khi thêm nhiễu trắng

Tên tệp

Độ tương quan giữa chuỗi giấu và nhận (NCC)

SNR= 7 SNR= 10 SNR>=15

S_1.wav 0.9989 1 1

Testmono44100Hz16bit_PCM_1.wav 0.9148 0.9987 1

PCM1608_1.wav 0.7648 0.9202 1

speech-in_1.wav 0.9950 1 1

Đối với tấn công thêm nhiễu hạt tiêu (pepper) và nhiễu đốm (speckle), tin giấu

trong dữ liệu mang không bền vững. Dữ liệu ảnh gồm 1444 bit như hình 4.7 (a) được

giấu vào tệp âm thanh S_1.wav. Hình 4.7 (b) và 4.7 (c) lần lượt là ảnh kết quả rút

trích từ tệp âm thanh sau khi thực hiện thêm nhiễu hạt tiêu với hệ số d= 0.001 và

nhiễu đốm với hệ số v=0.001. Các thông số cụ thể khác được thể hiện trong Bảng 4.6.

Hình 4.7. Ảnh được giấu và ảnh thu được khi chiu cac tấn công thêm nhiễu

Bảng 4.6. Bảng gia tri NCC khi thêm nhiễu hat tiêu và nhiễu đôm

Thêm nhiễu hạt tiêu Thêm nhiễu đốm

Số bit sai khác 383 389

NCC 0.56568 0.55967

Độ an toàn của 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 này ta se xác định được các bit cần lấy là 0 hay 1. Nếu

không có chuỗi ngẫu nhiên này, người thám tin se không biết được là lấy bit nào dù

(a) (b) (c)

Page 103: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

91

biết cách trích tin ra từ tệp âm thanh. Ngoài ra ta có thể điều chỉnh chiều dài của mỗi

đoạn fw và giá trị của ngưỡng d để tăng độ mật cho kỹ thuật giấu.

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 ít ảnh hưởng đến nội dung tệp dữ liệu chứa, là vùng tần số cao.

Các nghiên cứu về giấu tin dựa trên phép biến đổi wavelet hiện đang được

nghiên cứu nhiều. Trong [24, 29, 63, 64] trình bày các thuật toán giấu khác nhau dựa

trên biến đổi này, đặc biệt [64] trình bày thuật toán liên quan đến dữ liệu chứa dạng

bài nói (speech).

Tổng kết chương 4

Chương 4 trình hai thuật toán giấu tin trong âm thanh được thực hiện trên miền

tần số. Thuật toán thứ nhất dùng phương pháp điều chỉnh biên độ các hệ số FFT trên

mỗi đoạn để giấu 8 bit dữ liệu. Thuật toán này có thể giải tin không cần dữ liệu gốc

và tin giấu có thể bền vững nếu thêm nhiễu trắng với tỉ lệ >90 lên dữ liệu chứa. Thuật

toán thứ hai thực hiện điều chỉnh các hệ số của phép biến đổi wavelet để giấu tin. So

với thuật toán thứ nhất, thuật toán thứ hai có thể bền vững trước kiểu tấn công giảm

số bit biểu diễn mẫu và tin giấu bền vững với thêm nhiễu trắng nếu như tỉ lệ thêm

nhiễu lớn hơn 15 như trong các bảng kết quả thử nghiệm đã trình bày.

Page 104: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

92

KẾT LUẬN

Giấu thông tin và các ứng dụng của nó là một trong những vấn đề được nhiều

người quan tâm hiện nay. Giấu thông tin được coi là một trong các giải pháp để bảo

mật dữ liệu. Giấu tin trong âm thanh hiện nay vẫn còn nhiều hướng mở, nhất là các

nghiên cứu ứng dụng trong các hệ thời gian thực. Các nghiên cứu để tăng tính bền

vững, sự đồng bộ của tin giấu trong dữ liệu âm thanh đã có nhưng chưa nhiều.

Trên cơ sở nghiên cứu các kỹ thuật giấu tin trong âm thanh, các kỹ thuật bổ

trợ, luận án đã đề xuất một số cải tiến nhằm tăng cường tính mật, đưa ra các giải pháp

khác nhau có thể lựa chọn cho bài toán giấu tin trong âm thanh. Cụ thể, luận án đã

đạt được các kết quả chính sau:

Đề xuất phương pháp giấu tin trong âm thanh kết hợp với sử dụng mã phát

hiện và sửa lỗi. Mục đích của việc này là tránh trường hợp nhận thông tin sai

nếu tệp chứa bị tấn công làm thay đổi nội dung tin giấu.

Đề xuất cách chọn mẫu dữ liệu và vị trí bit của mẫu cần điều chỉnh để giấu

tin, dựa vào chuỗi ngẫu nhiên được sinh ra từ khoá bí mật. Trong kỹ thuật

này cũng đề xuất cách điều chỉnh các bit trong mỗi mẫu dữ liệu được chọn

để giấu sao cho sự sai khác giữa các mẫu dữ liệu trên tệp gốc và các mẫu trên

tệp chứa tin giấu là ít nhất.

Đề xuất các cách xáo trộn dữ liệu mật trước khi giấu tin. Mục đích của việc

này là làm cho người thám tin tốn nhiều thời gian để sắp xếp lại các bit mật

lấy được để có chuỗi tin mật nếu như người thám tin biết thuật toán giấu.

Đề xuất một cải tiến cho kỹ thuật giấu dựa vào tiếng vọng; áp dụng kỹ thuật

giấu tin trong dữ liệu đa phương tiện cho trường hợp cụ thể là dữ liệu âm

thanh, điều chỉnh 1 bit để giấu 1 byte dữ liệu trong khối 256 mẫu, điều chỉnh

4 bit để giấu 1 byte dữ liệu trong 2 khối, mỗi khối 25 mẫu.

Đề xuất hai cách giấu tin mật trên miền tần số bằng cách điều chỉnh các hệ

số của phép biến đổi. Một thuật toán sử dụng phép biến đổi Fourier và một

thuật toán sử dụng phép biến đổi wavelet.

Page 105: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

93

Vấn đề có thể nghiên cứu tiếp theo:

Nghiên cứu nâng cao tính bền vững của tin giấu trước các tấn công để có thể

áp dụng trong đánh dấu bản quyền nhạc số.

Nghiên cứu các phương pháp đồng bộ kết hợp nhằm mục đích phát hiện ra

các đoạn để rút trích tin giấu.

Nghiên cứu các thuật toán giấu và rút trích nhanh để có thể áp dụng cho các

ứng dụng VoIP.

Nghiên cứu phát triển các ứng dụng kết hợp với các thiết bị phần cứng.

Page 106: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

94

DANH MỤC CÁC CÔNG TRÌNH KHOA HỌC

CỦA TÁC GIA 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”, Tap chi Khoa học Đai 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”, Tap chi Khoa học Đai 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”, Tap chi Khoa học và Công nghệ, Đai

học Đà Nẵng, Tập 98, Số 1, tr. 103-106.

Page 107: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

95

TÀI LIÊU THAM KHAO

Tiếng Việt

1 Vũ Ba Đình (2007), Nghiên cứu xây dựng một số giải pháp đảm bảo an toàn

thông tin trong cơ sở dữ liệu không gian, Luận án tiến sỹ toán học, Viện

Công nghệ thông tin – Viện Hàn Lâm Khoa học và Công nghệ Việt Nam.

2 Nguyễn Ngọc Hà (2008) , Phát triển một số kỹ thuật giấu dữ liệu trong ảnh ứng

dụng trong trao đổi thông tin, Luận án tiến sỹ toán học, Viện Công nghệ

thông tin – Viện Hàn Lâm Khoa học và Công nghệ Việt Nam.

3 Lưu Thị Bích Hường (2014), Nghiên cứu và phát triển kỹ thuật thủy vân cơ sở

dữ liệu quan hệ, Luận án tiến sỹ toán học, Viện Công nghệ thông tin –

Viện Hàn Lâm Khoa học và Công nghệ Việt Nam.

4 Nguyễn Hải Thanh (2012), Nghiên cứu phát triển các thuật toán giấu tin trong

ảnh và ứng dụng trong mã đàn hồi, Luận án tiến sỹ toán học, Trường Đại

học Bách khoa Hà Nội.

5 Nguyễn văn Tảo (2008), Nghiên cứu một số kỹ thuật giấu tin và ứng dụng,

Luận án tiến sỹ toán học, Viện Công nghệ thông tin – Viện Hàn Lâm Khoa

học và Công nghệ Việt Nam.

Tiếng Anh

6 Akansu, Ali N. Haddad, Richard A. (1992), Multiresolution Signal

Decomposition: Transforms, Subbands, Wavelets, San Diego Academic

Press, pp. 391- 4422.

7 Alan V. Oppenheim and Ronald W. Schafer (2004), “From Frequency to

Quefrency: A History of the Cepstrum”, IEEE Signal Processing Magazine,

pp. 95- 106.

8 Ali Mohammad Al-Haj (2010), Advanced Techniques in Multimedia

Watermarking Image, Video and Audio Applications, Information Science

Reference (IGI Global).

9 Andreas Lang, Jana Dittmann, Ryan Spring and Claus Vielhauer (2005),

"Audio Watermark Attacks: From Single to Profile Attacks", Proceedings

of the 7th Workshop on Multimedia and Security, pp. 39-50.

10 Ansari R., Malik H. and Khokhar A. (2004), “Data-hiding in audio using

frequency-selective phase alteration”, Proceedings of IEEE International

Conference on Acoustics, Speech, and Signal Processing, pp. 389-392.

Page 108: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

96

11 Asad M., Gilani J. and Khalid A (2011), "An enhanced least significant bit

modification technique for audio steganography", Proceedings of

International Conference on Computer Networks and Information

Technology, pp. 143 - 147.

12 Balgurgi P. P. and Jagtap S. K. (2012), "Intelligent processing: An approach of

audio steganography", Proceedings of International Conference on

Communication, Information & Computing Technology, pp.1 - 6.

13 Bender W., Gruhl D., Morimoto N., Lu A. (1996), “Techniques for data

hiding”, IBM Systems Journal, vol. 35, pp. 313- 336.

14 Bing Li and Jia-wei Xu (2005), “Period of Arnold transformation and its

application in image scrambling”, Journal of Central South University of

Technology, vol. 12 (1), pp. 278-282.

15 Charles Van Loan (1992), Computational Frameworks for the Fast Fourier

Transform, SIAM, pp. 121-187.

16 Chavez J.A. R., Ruiz C. A. and Sanchez S. A G. (2012), “Audio watermarking

of wav files by echo modulation”, Proceedings of CONIELECOMP, pp.

350-354.

17 Chen B., Wornell G. W., (1999), “Dither modulation: A new approach to digital

watermarking and information embedding”, Proceedings of the Security

and Watermarking of Multimedia Contents, vol. 3657, pp. 342-353.

18 Chen Y. Y., Part H. K. and Tseng Y. C. (2000), “A secure data hiding scheme

for two-color images”, Proceedings of Symp on Computers and

Communications, pp. 750-755.

19 Chun-Shien Lu (2005), Multimedia Security:Steganography and Digital

Watermarking Techniques for Protection of Intellectual Property, Idea

Group Publishing.

20 Cvejic N. (2004), Algorithms For Audio Watermarking And Steganography,

Phd Thesis, Oulu University Press.

21 Cvejic N. and Seppanen T. (2002), "Increasing the capacity of LSB-based audio

steganography", Proceedings of IEEE Workshop on Multimedia Signal

processing, pp. 336-338.

22 Cvejic N. and Seppanen T. (2005), "Increasing Robustness of LSB Audio

Steganography by Reduced Distortion LSB Coding", Journal of Universal

Computer Science, vol. 11 (1), pp. 56-65.

23 Cvejic N., Seppanen T. (2004), “Reduced distortion bit-modification for LSB

audio steganography”, Proceedings of International Conference on Signal

Processing, pp. 2318- 2321.

Page 109: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

97

24 Deepthi S., Renuka A. and Natarajan M. (2013), "Data hiding in audio signals

using wavelet transform with enhanced security", Proceedings of ITCSE,

ICDIP, ICAIT, pp. 137 – 146.

25 Donald Knuth (1997), The Art of Computer Programming. vol. 2:

Seminumerical algorithms, Addison-Wesley, pp. 1-70.

26 Esmaili S., Krishnan S. and Raahemifar K. (2003), “A novel spread spectrum

audio watermarking scheme based on time - frequency characteristics”,

Proceedings of IEEE Conf. Electrical and Computer Engineering, vol. 3,

pp. 1963–1966.

27 Fallahpour M. and Megías D. (2014), “Fast and low-complexity audio

watermarking", Proceeding of First international workshop on mobile

internet, pp. 329- 335.

28 Gopalan K. and Qidong Shi (2010), "Audio Steganography Using Bit

Modification - A Tradeoff on Perceptibility and Data Robustness for Large

Payload Audio Embedding", Proceedings of 19th International Conference

on Computer Communications and Networks, pp. 1- 6.

29 Haider Ismael Shahadi, Razali Jidin and Wong Hung Way (2014), "Lossless

Audio Steganography based on Lifting Wavelet Transform and Dynamic

Stego Key", Indian Journal of Science and Technology, vol. 7(3), 323–334.

30 Heap, B. R. (1963). "Permutations by Interchanges", The Computer Journal,

vol. 6(3), pp. 293–294.

31 Hsieh C. T. and Tsou P. Y. (2002), “Blind cepstrum domain audio

watermarking based on time energy features”, Proceedings of 14th

International Conference on Digital Signal Processing, vol. 2, pp. 705-708.

32 Hyoung Joong Kim, Yong Hee Choi, JW Seok, JW Hong (2004), "Audio

Watermarking Techniques, Intelligent Watermarking Techniques", World

Scientific, pp. 185-218.

33 Ingemar J. Cox, Matthew L. Miller, Jeffrey A. Bloom, Jessica Fridrich, Ton

Kalker (2008), Digital Watermarking and Steganography, Morgan

Kaufmann Publishers.

34 Jayaram P., Ranganatha H. R. and Anupama H. S. (2011), "Information Hiding

Using Audio Steganography – A Survey", The International Journal of

Multimedia & Its Applications (IJMA), vol. 3(3), pp. 86-96.

35 Kamalpreet Kaur, Jagriti Bhatia, Hardeep Singh and Rajesh Kumar (2014),

"Multilevel Technique to Improve PSNR and MSE in Audio

Steganography", Proceeding of International Journal of Computer

Applications, vol. 103(5), pp. 1- 4.

Page 110: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

98

36 Kasana, H.S. (2005), "Complex Variables: Theory And Applications (2nd

ed.)", Prentice Hall of India, p. 14-20

37 Kim H.J. and Choi Y.H. (2003), ”A novel echo hiding algorithm”, IEEE

Transactions on Circuits and Systems for Video Technology, vol. 13, pp.

885-889.

38 Ko B. S., Nishimura R. and Suzuki Y. (2005), "Time-Spread echo method for

digital audio watermarking", IEEE Transactions on Multimedia, vol. 7(2),

pp. 212-221.

39 Kotaro Yamamoto and Munetoshi Iwakiri (2010), "Real-Time Audio

Watermarking Based on Characteristics of PCM in Digital Instrument",

Journal of Information Hiding and Multimedia Signal Processing, vol. 1(2),

pp. 59 - 79.

40 Lee S. K. and Ho Y. S. (2000), “Digital audio watermarking in the cepstrum

domain”, IEEE Trans. Consumer Electronics, vol. 46, pp. 744-750.

41 Li X. and Yu H.H. (2000), “Transparent and robust audio data hiding in

cepstrum domain”, Proceedings of IEEE International Conference on

Multimedia and Expo, pp. 397 – 400.

42 Lie W. N., Chang L. C. (2005), “Multiple Watermarks for Stereo Audio Signals

Using Phase-Modulation Techniques”, IEEE Trans. Signal

Processing, vol. 53(2), pp. 806–815.

43 Lie, W.-N., and Chang, L.-C. (2001), “Robust and high-quality time-domain

audio watermarking subject to psychoacoustic masking”, Proceedings of

IEEE International Symposium on Circuits and Systems, vol. 2, pp. 45-48.

44 Lili Li, Jianling Hu, Xiangzhong Fang (2007), “Spread-Spectrum Audio

Watermark Robust Against Pitch-Scale Modification”, Proceedings of

IEEE International Conference on Multimedia and Expo, pp. 1770 - 1773.

45 Malik H, Khokhar A, Rashid A (2004), “Robust audio watermarking using

frequency selective spread spectrum theory”, Proceedings of IEEE

International Conference on Acoustics, Speech, and Signal Processing, pp.

385-388.

46 Mansour, M. F., and Tewfik, A. H. (2001), "Timescale invariant audio data

embedding”, Proceedings of International Conference on Multimedia and

Expo, pp. 76- 79.

47 Marina Bosi and Richard E. Goldberg (2002), Introduction to Digital Audio

Coding and Standards, Kluwer Academic Publishers, pp. 207-357.

48 Martin Steinebach, Fabien A. P. Petitcolas, Jana Dittmann, Nazim Fatès,

Caroline Fontaine, Frédéric Raynal and Christian Seibel (2001), "Stirmark

Page 111: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

99

Benchmark: Audio Watermarking Attacks", Proceedings of Conference on

Information Technology: Coding and Computing, pp. 49- 54.

49 Mehdi Fallahpour and David Megias (2009), "High capacity audio

watermarking using FFT amplitude interpolation", IEICE Electron Express,

vol. 6 (14), pp. 1057-1063.

50 Mehdi Fallahpour and David Megías (2013), "High capacity logarithmic audio

watermarking based on the human auditory system", Proceedings of IEEE

International Symposium on Multimedia, pp. 28- 31.

51 Mehdi Fallahpour and David Megias (2014), “Robust Audio Watermarking

Based on Fibonacci Numbers”, Proceedings of 10th International

Conference onMobile Ad-hoc and Sensor Networks, pp. 343 – 349.

52 Min Wu (2001), Multimedia Data Hiding, Ph.D. Dissertation, Princeton

University.

53 Mitra S. and Manoharan S. (2009), “Experiments with and Enhancements to

Echo Hiding”, Proceedings of Fourth International Conference on Systems

and Networks Communications, pp. 129- 134.

54 Nedeljko Cvejic, Tapio Seppänen (2008), "Digital Audio Watermarking

Techniques and Technologies: Applications and Benchmarks", Information

Science Reference (IGI Global).

55 Nikhil Parab, Mark Nathan, Talele K. T. (2011), "Audio Steganography Using

Differential Phase Encoding", Proceedings of Technology Systems and

Management Communications in Computer and Information Science, vol.

145, pp 146-151.

56 Nugraha R. M. (2011), “Implementation of Direct Sequence Spread Spectrum

steganography on audio data”, Proceedings of International Conference on

Electrical Engineering and Informatics, pp. 1- 6.

57 Nutzinger M. (2012), “Real-time Attacks on Audio Steganography”, Journal

of Information Hiding and Multimedia Signal Processing, vol. 3, pp. 47-65.

58 Petitcolas, FAP; Anderson RJ; Kuhn MG (1999), "Information Hiding: A

survey", Proceedings of the IEEE (special issue on protection of multimedia

content), pp. 1062–1078.

59 Raffaele Pinardi, Fabio Garzia and Roberto Cusani (2013), "Peak-Shaped-

Based Steganographic Technique for MP3 Audio", Journal of Information

Security, vol. 4, pp. 12-18.

60 Ranjeeta Yadav, Sachin Yadav, Jyotsna Singh (2010), "Audio Watermarking

Based on PCM Technique”, International Journal of Computer

Applications, vol. 8(2), pp. 24-28.

Page 112: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

100

61 Rupa C., Avadhani P. and Reddy E. (2012), “An Efficient Security Approach

using PGE and Parity Coding”, International Journal of Distributed and

Parallel Systems (IJDPS), vol. 3(6), pp. 119 - 125.

62 Sedgewick R. (1977), “Permutation Generation Methods”, ACM Computing

Surveys, vol. 9 (2), pp. 137–164.

63 Shah P., Choudhari P. and Sivaraman S. (2008), "Adaptive Wavelet Packet

Based Audio Steganography using Data History", Proceedings of the Third

international Conference onIndustrial and Information Systems, pp. 1-5.

64 Shirali-Shahreza S.and Manzuri-Shalmani M.T. Acoustics (2008), "High

capacity error free wavelet Domain Speech Steganography", Proceedings

of International IEEE International Conference on Speech and Signal

Processing, pp. 1729 - 1732.

65 Stefan Katzenbeisser, Fabien A. P. Petitcolas (2000), "Information Hiding

Techniques for Steganography and Digital Watermarking", ARTECH

House, Inc.

66 Steven W. S. (1997), The Scientist and Engineer's Guide to Digital Signal

Processing, California Technical Pub, pp. 351- 372.

67 Todd K. Moon (2005), Error Correction Coding: Mathematical Methods and

Algorithms, John Wiley & Sons Inc.

68 Tuan D.V., Hien T.D. At P.V. (2012), “A novel data hiding scheme for binary

image”, International Journal of Computer Science and Information

Security, vol. 10 (8), pp. 1-5.

69 Vimal J. and Alex A. M. (2014), "Audio steganography using dual randomness

LSB method", Proceedings of International Conference on Control,

Instrumentation, Communication and Computational Technologies, pp.

941-944.

70 Wallach, H., Newman, E. B., & Rosenzweig, M. R. (1949). "The precedence

effect in sound localization", The American Journal of Psychology, vol. 62,

pp. 315–336.

71 Wei Zeng, Haojun Ai and Ruimin Hu (2007), “A Novel Steganalysis Algorithm

of Phase Coding in Audio Signal”, Proceedings of Sixth International

Conference on Advanced Language Processing and Web Information

Technology, pp. 261 - 264.

72 Wu C. P., Su P.-C. and Kuo C.-C. J. (2000), “Robust and efficient digital audio

watermarking using audio content analysis”, Security and Watermarking of

Multimedia Contents, SPIE, vol. 3971, pp. 382-392.

Page 113: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

101

73 Xing He (2008), Watermarking in Audio: Key Techniques and Technologies,

Cambria Press, pp. 14-15.

74 Xing He (2011), Signal Processing, Perceptual Coding and Watermarking of

Digital Audio: Advanced Technologies and Models, Igi Global, pp 1..13

75 Xuemin Zhao, Yuhong Guo, Jian Liu and Yonghong Yan (2011), “A Spread

Spectrum Audio Watermarking System with High Perceptual Quality”,

Proceedings of Third International Conference on Communications and

Mobile Computing (CMC), pp. 266- 269.

76 Yeo I. K. and Kim H. J. (2001), “Modified patchwork algorithm: A novel audio

watermarking scheme”, Proceedings of International Conference on

Information Technology: Coding and Computing, pp. 237 - 242.

77 Yifang Wei, Li Guo and Yujie Wang (2010), "Controlling bitrate

steganography on AAC audio", Proceedings of International Congress on

Image and Signal Processing (CISP), vol. 9, pp. 4373 - 4375.

78 Zamani M., Manaf A., Ahmad R. B. and Jaryani F. (2009), “A secure audio

steganography approach”, Proceedings of International Conference for

Internet Technology and Secured Transactions, pp. 1 - 6.

Internet

79 http://audiowatermarking.info/awt2_details.php

80 http://cs.uccs.edu/~cs525/audio/audio.html

81 http://debii.curtin.edu.au

82 http://www.iwdw.net/

83 http://sss-mag.com/ss.html#tutorial

84 http://www.jasondavies.com/catmap/

85 http://www.jiscdigitalmedia.ac.uk/guide/an-introduction-to-digital-audio/

86 http://www.nch.com.au/acm/formats.html

87 http://www.springer.com/series/7870

88 https://github.com/ayushev/encoder/tree/master/test

Page 114: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

102

PHỤ LỤC

Thuật toán biến đổi Arnold

function [ out ] = arnold( in, iter ) if (ndims(in) ~= 2) error(‘mang hai chieu'); end [m n] = size(in); if (m ~= n) error([' LOI']); end out = zeros(m); n = n - 1; for j=1:iter for y=0:n for x=0:n p = [ 1 1 ; 1 2 ] * [ x ; y ]; out(mod(p(2), m)+1, mod(p(1), m)+1) = in(y+1, x+1); end end in = out; end end

Thuật toán giấu kết hợp mã Hamming

function Hiding_Alg1 fileID = fopen('d:\dohoa.cpp'); %fileID = fopen('d:\Duy_Tan_logo_64_64.bmp');

%fileID = fopen('d:\map.gif');

fni= 'd:\SP.wav' ; [Img, n] = fread(fileID); Img=reshape(Img, 1, []); S= bytes_bit_strings(Img); Img=S; fprintf('\nSo byte du lieu giau = %d\n', n); %x=Img; x= encode_H(Img); kk=numel(x) ; len=kk; fprintf('\nSo bit giau = %5.0f \n',kk); fprintf('\ndang thuc hien giau tin.....'); [y, fs] = audioread(fni,'native'); hh= numel(y); y1=y; for ii=1:len y1(ii)= bitset(y1(ii),1,x(ii)); end fprintf('\n So bit sai khac truoc khi ghi = %5.2f', sum(y1~=y)); fprintf('\n -gia tri SNR = %5.4f', snr(y1(1:hh), y1(1:hh)-y(1:hh))); %fprintf('\n ----gia tri MSE = %5.4f', MSE(y, y1)); % tan cong thay doi bit y1=ghi_ngau_nhien(y1,5); audiowrite('d:\E2.wav',y1,fs); fprintf('\n da giau xong!!!\n'); fprintf('\n dang lay tin....\n'); [y,fs] = audioread('d:\E2.wav','native'); x1(1:len)=0; for ii=1:len

Page 115: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

103

x1(ii)= bitget(y(ii),1); end %x1= bitget(y(1:len),1); %xx=x1; xx= decode_H(x1); fprintf('\nDO dai chuoi bit nhan khi giai ma = %d\n', numel(xx)); hh=0; for ii=1:n if xx(ii)== Img(ii) hh=hh+1; end end fprintf('\n So bit sai khac khi nhan = %5d', sum(Img~=xx)); end

Thuật toán giấu điều chỉnh các bit trong mẫu để giảm độ lệch

function Hiding_Alg2 fileID = fopen('d:\dohoa.cpp'); %fileID = fopen('d:\Duy_Tan_logo_64_64.bmp'); %fileID = fopen('d:\map.gif'); [Img, n] = fread(fileID); Img=reshape(Img, 1, []); S= bytes_bit_strings(Img); Img=S; fprintf('\nSo byte du lieu giau = %d\n', n); x=Img; kk=numel(x) ; len=kk; [S, V] =Sinh_chuoi_S_V(len); fprintf('\nSo bit giau = %5.0f \n',kk); fni= 'd:\ja.wav' ; fprintf('\ndang thuc hien giau tin.....'); [y, fs] = audioread(fni,'native'); hh= numel(y); y1=y; vt=0; for i=1:len vt=vt+ S(i); h= y1(vt);bi= bitget(h,V(i)); if bi~=x(i) h= bitset(h,V(i),x(i)); vm= 1-x(i); end y1(vt)= h; end fprintf('\n -gia tri SNR = %5.4f', snr(y1(1:hh), y1(1:hh)-y(1:hh))); audiowrite('d:\E2.wav',y1,fs); fprintf('\n da giau xong!!!\n'); fprintf('\n dang lay tin....\n'); [y,fs] = audioread('d:\E2.wav','native'); x1(1:len)=0; vt=0; for i=1:len vt=vt+ S(i); h= y(vt); x1(i)= bitget(h,V(i)); end hh=0; for ii=1:len if x1(ii)== Img(ii) hh=hh+1;

Page 116: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

104

end end fprintf('\n So bit sai khac khi nhan = %5d', sum(Img~=x1)); fprintf('\n So bit sai khac khi nhan = %5d', len-hh); xx= bit_strings_bytes(x1); fileID = fopen('d:\CAP_NGOAC_XYZ.cpp','w'); fwrite(fileID,xx); fclose(fileID); fprintf('\n da thuc hien xong, FINI !!!\n'); end

Thuật toán giấu 4 bit trên đoạn 25 mẫu

function Hiding_Alg3 fileID = fopen('d:\dohoa.cpp'); %fileID = fopen('d:\Duy_Tan_logo_64_64.bmp'); %fileID = fopen('d:\map.gif'); [Img, n] = fread(fileID); Img=reshape(Img, 1, []); S= bytes_bit_strings(Img); Img=S; fprintf('\nSo byte du lieu giau = %d\n', n); x=Img; kk=numel(x) ; len=kk; Img=reshape(Img, 1, []); n= length(Img); fprintf('\nDO dai chuoi bit goc = %d\n', n); kk=numel(Img); d=kk/4; fprintf('\nSo bit giau = %5.0f \n',kk); fni= 'd:\JA.wav' ; audioinfo( fni ); fprintf('\ndang thuc hien giau tin.....'); [y, fs] = audioread(fni,'native'); y1=y; hh= numel(y); noms=0; fprintf('\n Can dieu chinh %d doan de giau:\n', d); for i=1:d b_start= (i-1)*4 +1; b_end = b_start + 3; f_start= (i-1)*25 +1; f_end = f_start + 24; b(1:4)=Img(b_start:b_end); F(1:25)=y(f_start:f_end); len=25; A(1:25)=0; for ii=1:len A(ii)= bitget(F(ii),1); end r(1:4)=0; r(1)= bitxor(A(1), bitxor(A(2), bitxor(A(3), bitxor(A(4), A(5))))); r(2)= bitxor(A(6), bitxor(A(7), bitxor(A(8), bitxor(A(9), A(10))))); r(3)= bitxor(A(11), bitxor(A(12), bitxor(A(13), bitxor(A(14), A(15))))); r(4)= bitxor(A(16), bitxor(A(17), bitxor(A(18), bitxor(A(19), A(20))))); c(1:4)=0; c(1)= bitxor(A(1), bitxor(A(6), bitxor(A(11), bitxor(A(16), A(21))))); c(2)= bitxor(A(2), bitxor(A(7), bitxor(A(12), bitxor(A(17), A(22))))); c(3)= bitxor(A(3), bitxor(A(8), bitxor(A(13), bitxor(A(18), A(23))))); c(4)= bitxor(A(4), bitxor(A(9), bitxor(A(14), bitxor(A(19), A(24))))); s(1:4)=0; s(1)= bitxor(r(1),c(1));s(2)= bitxor(r(2),c(2)); s(3)= bitxor(r(3),c(3)); s(4)= bitxor(r(4),c(4)); dd=sum(b~=s); dc=0;

Page 117: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

105

switch dd case 1 v1=1; while (s(v1)==b(v1)) v1=v1+1; end A((v1-1)*5 +5)= 1- A((v1-1)*5 +5); dc=1; case 2 v1=1; while (s(v1)==b(v1)) v1=v1+1; end v2=v1+1; while (s(v2)==b(v2)) v2=v2+1; end A((v1-1)*5 +v2)= 1- A((v1-1)*5 +v2); dc=1; case 3 v1=1; while (s(v1)==b(v1)) v1=v1+1; end v2=v1+1; while (s(v2)==b(v2)) v2=v2+1; end v3=v2+1; while (s(v3)==b(v3)) v3=v3+1; end A((v1-1)*5 +v2)= 1- A((v1-1)*5 +v2); A((v3-1)*5 +5)= 1- A((v3-1)*5 +5); dc=2; case 4 v1=1; v2=2; v3=3; v4=4; A((v1-1)*5 +v2)= 1- A((v1-1)*5 +v2); A((v3-1)*5 +v4)= 1- A((v3-1)*5 +v4); dc=2; end noms= noms +dc; F1= bitset(F,1,A); y1(f_start:f_end)=F1(1:25) ; end fprintf('\n SO MAU DIEU CHINH DE GIAU = %d\n', noms); fprintf('\n SAI KHAC THUC TE = %d\n', sum(y1~=y)); fprintf('\n -----SNR = %5.4f', snr(y1(1:hh), y1(1:hh)-y(1:hh))); audiowrite('d:\E2.wav',y1,fs); fprintf('\n da giau xong!!!\n'); fprintf('\n dang lay tin....\n'); [y,fs] = audioread('d:\E2.wav','native'); x1(1:kk)=0; for i=1:d b_start= (i-1)*4 +1; b_end = b_start + 3; f_start= (i-1)*25 +1; f_end = f_start + 24;

Page 118: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

106

F=y(f_start:f_end); len=25; A(1:25)=0; for ii=1:len A(ii)= bitget(F(ii),1); end r(1:4)=0; r(1)= bitxor(A(1), bitxor(A(2), bitxor(A(3), bitxor(A(4), A(5))))); r(2)= bitxor(A(6), bitxor(A(7), bitxor(A(8), bitxor(A(9), A(10))))); r(3)= bitxor(A(11), bitxor(A(12), bitxor(A(13), bitxor(A(14), A(15))))); r(4)= bitxor(A(16), bitxor(A(17), bitxor(A(18), bitxor(A(19), A(20))))); c(1:4)=0; c(1)= bitxor(A(1), bitxor(A(6), bitxor(A(11), bitxor(A(16), A(21))))); c(2)= bitxor(A(2), bitxor(A(7), bitxor(A(12), bitxor(A(17), A(22))))); c(3)= bitxor(A(3), bitxor(A(8), bitxor(A(13), bitxor(A(18), A(23))))); c(4)= bitxor(A(4), bitxor(A(9), bitxor(A(14), bitxor(A(19), A(24))))); s(1:4)=0; s(1)= bitxor(r(1),c(1)); s(2)= bitxor(r(2),c(2)); s(3)= bitxor(r(3),c(3)) s(4)= bitxor(r(4),c(4)); xx=s; x1(b_start:b_end)=xx(1:4) ;

end fprintf('\n da lay tin xong!!!\n'); end

Thuật toán giấu thêm tiếng vọng

function hiding_Alg5 fni='D:\S.wav'; [x, fs] = audioread(fni); y1=x; %-- doc file logo anh %Img= imread('D:\Duy_Tan_logo_32_32.bmp');

fileID = fopen('d:\dohoa.cpp'); [Img, n] = fread(fileID); Img=reshape(Img, 1, []); Im= dec2bin(Img); disp('Kich thuoc chuoi='); disp(length(Im)); n=length(Im); w=Im; % n=1000; w=rand(1,n); % ----sinh chuoi ngau nhien tu cap khoa (7,9137) ---- k=9137; seed=7; a=0; r=0; for i=1:n if(i==1) a(i)=seed; r(i)=mod(a(i),2); else xx= mod(k*(a(end) + 2) , 10000); a(end+1)=xx; if (mod(xx,6)>2) r(end+1)=1; else r(end+1)=0; end end end %---------------------------------------------------- l= length(x); framesize=1000; kk= l/200; if(kk<n) disp('Khong the giau duoc l= '); else

Page 119: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

107

d=0; for i=1:n if(w(i)== r(i)); else for j=(i-1)*framesize+441:i*framesize if( y1(j)== y1(j-440)) y1(j) = 0.99*y1(j) + 0.2*y1(j-440); else y1(j) = 0.99*y1(j) + 0.1*y1(j-440); end end d=d+1; end end %soundsc(y1,fs); disp('GIAU THANH CONG!!!'); audiowrite('D:\TC_R001_E.wav',y1, fs); y=x; hh= length(y); fprintf('\n --gia tri SNR = %5.4f', snr(y1(1:hh), y1(1:hh)-y(1:hh))); end end

Thuật toán giấu trên phép biến đổi DWT

function Hiding_Alg7 fni= 'd:\sp.wav' ; [y, fs, nb] = wavread(fni); dd= length(y); Img= imread('D:\yy.bmp'); I_Img= Img; Img=reshape(Img, 1, []); n= length(Img) ; fprintf('DO dai chuoi bit giau = %d', n); w(1:n)=Img(1:n); w1(1:n)=0; [A,D] = dwt(y,'sym4'); k1= length(A); k2= length(D); frameWidth = 200; fprintf('\n so bit co the giau = %d\n',( k2/ frameWidth)-10); hsize= frameWidth/2; numSamples = length(D);

numFrames = floor(numSamples/frameWidth);

dd=0.1; hd=dd/2; k=0; for i = 1:n startSample = (i-1)*frameWidth+1; endSample = startSample+frameWidth-1;

h1= sum(D(startSample:startSample + hsize-1))/hsize; h2= sum(D(startSample + hsize: endSample))/hsize; kk= mod(abs(h1-h2), dd); if(w(i)==1) if(kk<=hd)

D(startSample:startSample+hsize-1) =

D(startSample:startSample+hsize-1) + hd; k=k+1; end else if(kk>hd) D(startSample + hsize: endSample) =

D(startSample +hsize: endSample) + hd; k=k+1; end end end

Page 120: MỘT SỐ KỸ THUẬT GIẤU TINlib.uet.vnu.edu.vn/bitstream/123456789/979/1/Luan_an... · 2019. 2. 20. · TRONG ÂM THANH SỐ Chuyên ngành: HỆ THỐNG THÔNG TIN Mã số:

108

fprintf('\nSo mau dieu chinh= %d/%d\n',k, n ); y1 = idwt(A,D, 'sym4'); x=y1; %x = awgn(y1,10,'measured' ); % Add white Gaussian noise. %x = imnoise(y1,'salt & pepper', 0.001); %x = imnoise(y1,'speckle', 0.001); d=0; soundsc(x, fs); for i=1:length(x) if(y1(i) ~=x(i)) d= d+1; end end fprintf('\n SAI KHAC KHI THEM NHIEU LA = %d', d); %Yq= quantize(y,8); k= length(y); if k> length(y1) k=length(y1); end fprintf('\n SNR = %5.4f', snr(y1(1:k), y1(1:k)- y(1:k))); kk= length(y); if kk > length(y1) kk= length(y1) end a = corr2(y(1:kk),y1(1:kk)); fprintf('\n NCC= %d',a); fprintf('\n Dang ghi file....\n'); wavwrite(x, fs,'D:\TT1.wav'); fprintf('\n Da ghi xong file!\n'); [y1, fs, nb] = wavread('D:\TT1.wav'); [A1,D1] = dwt(y1,'sym4'); for i = 1:n startSample = (i-1)*frameWidth+1;endSample = startSample+frameWidth-1;

h1= sum(D1(startSample:startSample + hsize-1))/hsize; h2= sum(D1(startSample + hsize: endSample))/hsize; kk= mod(abs(h1-h2),dd); if(kk >0.025) w1(i)= 1; end end d=0; for i=1:n if(w1(i) ~=w(i)) d= d+1; end end fprintf('\n Sai khac = %d', d); a = corr2(w,w1); fprintf('\n NCC = %d',a); %w1(5)=0; [number,ratio] = biterr(w(1:n),w1(1:n)); fprintf('\n diff = %d rate= %f\n', number,ratio); E_Img= reshape(w1(1:n),[38, 38]); figure; imshow(E_Img);

end