mỘt sỐ kỸ thu ° t gi ¨ u tin

23
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ HUNH B DIỆU MT SKTHUT GIU TIN TRONG ÂM THANH SỐ Chuyên ngành: Hệ thống thông tin Mã số: 62480104 TÓM TẮT LUẬN N TIẾN SĨ CÔNG NGHỆ THÔNG TIN Hà Nội – 2017

Upload: others

Post on 23-Oct-2021

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: MỘT SỐ KỸ THU ° T GI ¨ U TIN

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

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

HUYNH BA DIỆU

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

TRONG ÂM THANH SỐ

Chuyên ngành: Hệ thống thông tin

Mã số: 62480104

TÓM TẮT LUẬN AN TIẾN SĨ CÔNG NGHỆ THÔNG TIN

Hà Nội – 2017

Page 2: MỘT SỐ KỸ THU ° T GI ¨ U TIN

Công trình được hoàn thành tại: Trương Đại hoc Công nghê, Đại

hoc Quôc gia Hà Nôi

Ngươi hướng dẫn khoa hoc: PGS. TSKH. Nguyên Xuân Huy

Phản biên: PGS. TS Đô Năng Toàn

........................................................................................

Phản biên: PGS. TS Bui Thu Lâm

........................................................................................

Phản biên: TS. Nguyên Ngoc Cương

........................................................................................

Luận án được bảo vê trước Hôi đồng cấp Đại hoc Quôc gia

chấm luận án tiến sĩ hop tại Trương Đại hoc Công nghê

vào hồi 9 giơ 00 ngày 26 tháng 10 năm 2017

Có thể tìm hiểu luận án tại:

- Thư viên Quôc gia Viêt Nam

- Trung tâm Thông tin - Thư viên, Đại hoc Quôc gia Hà

Nôi

Page 3: MỘT SỐ KỸ THU ° T GI ¨ U TIN

1

MỞ ĐẦU

1. Tính cấp thiết của luận án

Sự phát triển mạnh mẽ của công nghê sô và nhu cầu trao đổi thông

tin thông qua các hê thông được kết nôi mạng dẫn đến đòi hỏi chúng

ta cần phải có các giải pháp để bảo vê thông tin, chông các xâm nhập

trái phép, lấy cắp, xuyên tạc thông tin hay bảo vê bản quyền cho các

dữ liêu sô. Viêc thiết lập các cơ chế phân quyền truy cập, mã hoá thông

tin giúp bảo vê thông tin tôt hơn nhưng chúng không thể đảm bảo an

toàn tuyêt đôi, do đó đòi hỏi chúng ta cần phải tìm các giải pháp khác

nhằm nâng cao tính đa dạng của các loại hình bảo vê. Chúng ta có môt

cách khác để bảo vê thông tin, đó là thực hiên các giao dịch ngầm bên

trong các giao dịch công khai, hay còn goi là giấu tin. Giấu tin không

phải là lĩnh vực mới nhưng vẫn được quan tâm bởi những nhà khoa

hoc làm trong lĩnh vực bảo mật thông tin. Hiên nay giấu tin nói chung

và giấu tin trong âm thanh vẫn còn nhiều vấn đề mở cần nghiên cứu.

2. Mục tiêu của luận án

Trong luận án này chúng tôi đặt ra mục tiêu chính sau đây:

• Nghiên cứu và đề xuất môt sô thuật toán giấu tin trong âm thanh

thực hiên trên miền thơi gian, có thể áp dụng để giấu tin mật.

• Nghiên cứu và đề xuất môt sô thuật toán giấu tin trong âm thanh

trên miền tần sô, bền vững trước môt sô tấn công cơ bản.

3. Đóng góp của luận án

• Đề xuất sử dụng mã hỗ trợ xác thực trong quá trình giấu tin.

Mục đích của viêc mã hoá là tránh trương hợp nhận tin sai nếu têp

chứa tin giấu bị tấn công làm thay đổi nôi dung tin giấu. Kết quả được

đăng tải trong Tạp chí Khoa hoc Tự nhiên và Công nghê, Tạp chí Khoa

hoc Đại hoc quôc gia Hà Nôi năm 2009.

Page 4: MỘT SỐ KỸ THU ° T GI ¨ U TIN

2

• Đề xuất cách chon mẫu dữ liêu và bit điều chỉnh để giấu tin dựa

vào chuỗi ngẫu nhiên được sinh ra từ khoá. Trong kỹ thuật này cũng

đề xuất cách điều chỉnh các bit để sự sai khác giữa các mẫu trên têp

gôc và têp mang tin giấu là ít nhất. Kết quả được đăng tải trong Tạp

chí Khoa hoc Tự nhiên và Công nghê, Tạp chí Khoa hoc Đại hoc quôc

gia Hà Nôi năm 2013.

• Áp dụng và cải tiến các phương pháp giấu tin cho dữ liêu âm

thanh. Kết quả được đăng tải trong kỷ yếu Hôi nghị IEEE SoCPaR

năm 2013 và Hôi nghị IEEE ATC năm 2014 tại Hà Nôi.

• Cải tiến kỹ thuật giấu tin sử dụng tiếng vong của môt tác giả

trước đó. Kết quả nghiên cứu được trình bày và đăng tải trong Kỷ yếu

Hôi nghị Quôc tế ICIEIS năm 2013 tại Malaysia.

• Đề xuất kỹ thuật giấu tin bằng cách điều chỉnh các hê sô trên

miền tần sô của tín hiêu âm thanh. Kết quả nghiên cứu được trình bày

tại Hôi nghị Quôc tế IEEE DICTAP năm 2014 tại Thái Lan.

• Đề xuất kỹ thuật giấu tin bằng cách điều chỉnh các hê sô của

thành phần chi tiết của phép biến đổi wavelet. Kết quả đăng trên tạp

chí Khoa hoc Công nghê, Đại hoc Đà Nẵng.

Nôi dung của luận án dựa trên các bài báo đã công bô.

4. Bố cục của luận án

Bô cục của luận án bao gồm phần mở đầu, bôn chương nôi dung

và phần kết luận. Chương 1 trình bày tổng quan về giấu thông tin.

Chương 2 trình bày về các phương pháp giấu tin trong âm thanh. Nôi

dung chính của luận án được trình bày trong hai chương cuôi. Chương

3 trình bày về các phương pháp giấu tin trên miền thơi gian và chương

4 trình bày về các phương pháp giấu trên miền tần sô.

Page 5: MỘT SỐ KỸ THU ° T GI ¨ U TIN

3

Chương 1

GIẤU THÔNG TIN VÀ GIẤU TIN TRONG ÂM THANH

1.1. Giấu thông tin

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

Từ giấu thông tin (steganography) bắt nguồn từ Hi Lạp và

được sử dụng cho tới ngày nay, có nghĩa là tài liêu được phủ (covered

writing). Công nghê thông tin đã tạo ra những môi trương giấu tin mới,

ta có thể giấu tin trong các têp văn bản, hình ảnh, âm thanh, video…

Ý tưởng về che giấu thông tin đã có từ rất lâu nhưng chủ yếu dung

trong lĩnh vực an ninh và quân sự. Ngày nay, giấu tin còn được dung

để bảo vê bản quyền các tài liêu sô, kiểm soát sao chép.

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

Môt hê giấu tin gồm có các thành như hình 1.1.

Hinh 1.1. Sơ đồ của hệ giấu tin

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

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

Ta có thể phân loại các kỹ thuật giấu tin theo kiểu tài liêu dung

làm dữ liêu chứa, theo miền xử ly hay theo mục đích giấu tin.

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

Tấn công môt hê giấu tin bao gồm các phương pháp để phát

hiên, phá huỷ, trích rút hay sửa đổi tin giấu trong dữ liêu mang tin.

Khoá

Dữ liêu

chủ

Quá trình

Giấu tin

Quá trình

Giải tin

Khoá

Dữ liêu

chủ

Dữ liêu

mang tin

Môi

trương

mạng

Thông điêp mật

Thông điêp mật

Page 6: MỘT SỐ KỸ THU ° T GI ¨ U TIN

4

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

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

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

1.1.1.3. Nhận thực hay phát hiện xuyên tạc thông tin

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

1.1.1.5. Gán nhãn (labeling)

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

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

Giấu tin trong âm thanh dựa vào ngưỡng nghe của con ngươi

và hiên tượng che khuất (masking) âm thanh để giấu tin.

1.2.1. Ngưỡng nghe

Phạm vi nghe của ngươi trong khoảng từ 20Hz đến 20 kHz.

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

Hiên tượng che khuất tín hiêu âm thanh xảy ra khi môt âm

thanh này ảnh hưởng đến sự cảm nhận âm thanh khác.

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

Ba đặc trưng sinh ly của âm thanh là âm lượng, đô cao và âm

sắc. Đơn vị đo âm thanh là decibel (dB).

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

Sô byte dung để lưu 1 giây âm thanh nb thức (1.2):

𝑆ố 𝑏𝑦𝑡𝑒 ≈ (𝑡ầ𝑛 𝑠ố 𝑙ấ𝑦 𝑚ẫ𝑢 ∗ 𝑠ố 𝑘ê𝑛ℎ ∗ 𝑠ố 𝑏𝑖𝑡 𝑏𝑖ể𝑢 𝑑𝑖ễ𝑛 1 𝑚ẫ𝑢)/8 (1.2)

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

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

Tổng kết chương 1

Chương 1 trình bày các khái niêm liên quan đến giấu tin, phân

loại và các ứng dụng. Ngoài ra, hiên tượng che khuất tín hiêu, cách lấy

mẫu và biểu diễn âm thanh sô, định dạng têp âm thanh và môt sô phần

mềm giấu trên âm thanh hiên có cũng được trình bày.

Page 7: MỘT SỐ KỸ THU ° T GI ¨ U TIN

5

Chương 2

CAC PHƯƠNG PHAP GIẤU TIN TRONG ÂM THANH

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

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

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

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

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

Giả sử có chuỗi M gồm n phần tử, là thông điêp mật cần giấu.

Thay vì giấu tuần tự từng phần tử, ta thực hiên xáo trôn chuỗi M, nhằm

gây khó cho ngươi thám tin khi tấn công rút trích tin.

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

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

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

Các chuỗi ngẫu nhiên có thể dung để xác định ví trí mẫu được

chon để giấu hoặc vị trí bit giấu.

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

2.1.3.2. Bộ sinh Fibonacci

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

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

2.2.1.1. Độ đo SNR

Giá trị của SNR chỉ sô lượng thay đổi trên dữ liêu chứa do chèn

âm dữ liêu mật vào, tính theo thang đô decibel.

𝑆𝑅𝑁 = 10 𝑙𝑜𝑔10∑ 𝑥(𝑖)2𝑁

𝑖=0

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

(2.5)

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

NCC dung để đo đô tương quan giữa giữa âm thanh gôc và âm

thanh chứa tin, hoặc chuỗi bit được giấu và chuỗi bit nhận được.

Page 8: MỘT SỐ KỸ THU ° T GI ¨ U TIN

6

𝑁𝐶𝐶 =1

𝑛∗ ∑

[𝑥(𝑖)∗ 𝑦(𝑖)]

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

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

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

2.3. Một số phương pháp giấu tin trong âm thanh

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

Ý tưởng chính của kỹ thuật này là thay thế các bit ít quan trong

của mẫu dữ liêu gôc bằng các bit của tin giấu.

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

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

Phương pháp chẵn lẻ tương tự như phương pháp mã hoá LSB

nhưng thay vì dung môt mẫu dữ liêu sẽ môt nhóm các mẫu.

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

Hinh 2.6. Sự dịch chuyển pha của tín hiệu

Phương pháp mã hoá pha giấu tin bằng cách thay thế pha của

đoạn âm thanh ban đầu bằng môt pha tham chiếu thể hiên dữ liêu.

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

Phương pháp mã hoá tiếng vong giấu tin vào âm thanh bằng

cách điều chỉnh đô trễ thêm tiếng vong vào tín hiêu gôc.

0 1 0 1 1 1 1 0

Giá trị mẫu sau khi điều chỉnh để giấu bit 1:

0 1 0 1 1 1 1 1

Giá trị mẫu dữ liệu gốc

Page 9: MỘT SỐ KỸ THU ° T GI ¨ U TIN

7

𝑋(𝑛) = 𝑆(𝑛) + 𝛼. 𝑆(𝑛 − 𝑑) (2.8)

Trong đó S(n) là tín hiêu gôc, X(n) là tín hiêu được thêm tiếng

vong, α là hê sô tỉ lê, d là đô trễ.

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

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

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

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

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

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

Tổng kết chương 2

Chương 2 của luận án đã trình bày về các kỹ thuật bổ trợ cho

giấu tin trong âm thanh, các kỹ thuật xáo trôn dữ liêu, sinh sô ngẫu

nhiên và các tiêu chí đánh giá các thuật toán giấu. Nôi dung chính của

chương là trình bày về các phương pháp giấu tin trong têp âm thanh.

Chương 3

MỘT SỐ THUẬT TOAN GIẤU TIN TRÊN MIỀN THỜI GIAN

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

Kỹ thuật giấu kết hợp với kỹ thuật mã hoá Hamming nhằm

giúp cho ngươi nhận tin hạn chế khả năng nhận tin sai.

3.1.1. Mã Hamming

Mã Hamming sử dụng ma trận sinh G và ma trận kiểm tra H.

Với mỗi nhóm 4 bit dữ liêu, mã Hamming (7, 4) thêm 3 bit kiểm tra.

Mã Hamming (7, 4) có thể phát hiên và sửa lỗi 1 bit, phát hiên lỗi 2

bit trong chuỗi 7 bit nhận được.

Page 10: MỘT SỐ KỸ THU ° T GI ¨ U TIN

8

Hinh 2.1. Ma trận sinh và ma trận kiểm tra của mã Hamming (7, 4)

3.1.2. Quá trình giấu tin

Bước 1) Chuỗi bit M được chia thành các đoạn dài 4 bit và mã hóa

thành từ mã có đô dài 7 bit. Đô dài chuỗi M’ sẽ bằng (L/4)*7.

Bước 2) Giấu tin: Đoc têp âm thanh gôc và giấu lần lượt từng bit của

chuỗi M’, theo qui tắc chẵn lẻ của nhóm gồm 3 mẫu. Nếu tổng 3 bit

cuôi của nhóm khác tính chẵn lẻ với bit giấu thì cần điều chỉnh 1 mẫu.

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

Bước 1) Trích thông tin: Dựa vào khóa k, kỹ thuật giấu và sô bit đã

giấu, ta trích chuỗi bit từ têp C’’, kết quả ta thu được M’.

Bước 2) Xác thực: Chia M’ thành các đoạn có đô dài 7, nhân với ma

trận H. Nếu kết quả nhân các đoạn bằng 0, ta trích các bit dữ liêu của

M’ để nhận M. Trương hợp kết quả khác 0 thì kết luận là có tấn công.

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

Kết quả thử nghiêm cho thấy chất lượng têp mang tin tôt,

không phân biêt được khi nghe têp âm thanh gôc và têp mang tin

Bang 3.1. Giá trị SNR khi thực hiện giấu kết hợp mã Hamming

Tên file chứa

Dang tệp

âm thanh

Tệp tin được giấu và giá trị SNR tương ứng

dohoa.cpp

(430 byte)

DuyTanlogo.b

mp (1694 byte)

map.gif

(14845 byte)

jarre-in.wav Đôc tấu 77.56 71.57 62.16

gazebo-in.wav Hòa tấu 78.04 72.19 62.77

brahms-in.wav Hòa tấu 76.33 70.47 60.70

speech-in.wav Bài nói 70.99 64.98 55.50

Page 11: MỘT SỐ KỸ THU ° T GI ¨ U TIN

9

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

Khi có tấn công, giá trị môt sô mẫu dữ liêu âm thanh sẽ thay

đổi. Bảng 3.2 thể hiên kết quả khi thay đổi ngẫu nhiên môt sô mẫu trên

têp mang tin và khả năng phát hiên thay đổi của kỹ thuật đề xuất.

Bang 3.2. Phát hiện thay đổi tin mật trên tệp mang tin

Số mẫu điều

chỉnh

Phát hiện thay

đổi

Số bit sai phát

hiện khi giải tin

Số bit có

thể sửa

5 Có 1 1

10 Có 3 2

40 Có 24 20

100 Có 38 14

500 Có 172 75

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

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

Dung khoá K sinh chuỗi SR, tính chuỗi S và V, trong đó S[i]

cho biết mẫu được chon và V[i] cho biết vị trí bit trên mẫu để giấu.

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

PROC DIEUCHINH(i,k)

SET(i,k);

if(i>1) SET(1,1-k); if(i>2) SET(2,1-k);

END PROC

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

Đầu vào: -Têp âm thanh A, chuỗi bit M, khoá K gồm ba sô (x, y, N).

Đầu ra: - Têp âm thanh A’ có chứa chuỗi bit mật M.

Page 12: MỘT SỐ KỸ THU ° T GI ¨ U TIN

10

Bước 1) Sinh chuỗi SR, từ đó tính mảng S[] và mảng V[].

Bước 2) Giấu lần lượt từng bit Mi theo nguyên tắc nếu bit thứ Vi của

mẫu chon thứ i khác với Mi thì thực hiên DIEUCHINH(Vi, Mi).

Bước 3) Ghi các mẫu đã điều chỉnh ra têp âm thanh A’.

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

Đầu vào: - Têp A’ chứa tin giấu, khoá K(x, y, N), đô dài L.

Đầu ra: - Chuỗi bit M được giấu.

Bước 1) Chuẩn bị: dựa vào khoá sinh ra mảng S[] và mảng V[].

Bước 2) Giải tin: đoc têp âm thanh A’, dựa vào mảng S[] và mảng V[],

thực hiên lấy L bit từ các mẫu trên têp A’.

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

3.2.5.1. Chi phí thời gian giấu tin và giải tin

3.2.5.2. Tỉ lệ dữ liệu giấu

3.2.5.3. Độ mật của kỹ thuật

Viêc điều chỉnh các bit để giấu không tạo thành qui luật.

Bang 3.3. Giá trị SNR khi giấu theo phương pháp điều chỉnh nhóm bit

Tên file chứa

Giá trị SNR

dohoa.cpp

(430 byte)

DuyTanlogo.bmp

(1694 byte)

map.gif

(14845 byte)

jarre-in.wav 71.52 65.46 56.14

gazebo-in.wav 72.03 66.23 56.77

brahms-in.wav 70.37 64.54 54.69

speech-in.wav 64.80 58.91 49.49

3.3. Thuật toán điều chỉnh 2 mẫu trong đoan chứa 25 mẫu

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

Chuỗi mật cần giấu được xáo trôn bằng biến đổi Arnold.

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

Thuật toán thực hiên giấu 4 bit mật vào khôi F, kết quả là F’.

Page 13: MỘT SỐ KỸ THU ° T GI ¨ U TIN

11

Bước 1) Xây dựng ma trận A từ khôi F, A[i][j] = LSB(F[i][j])

Bước 2) Lấy 4 dòng đầu của A, mỗi dòng thực hiên phép XOR tất cả

các phần tử trong dòng, ta có r1r2r3r4.

Bước 3) Lấy 4 côt đầu tiên của A, mỗi côt thực hiên XOR tất cả các

phần tử của mỗi côt để được c1c2c3c4.

Bước 4) Thực hiên XOR kết quả trong bước 2 và bước 3 để có s1s2s3s4.

Bước 5) So sánh kết quả của Bước 4) với 4 bit cần giấu b1b2b3b4. Nếu

giông nhau thỏa điều kiên giấu, ngược lại, cần xét các trương hợp sau:

• Nếu khác nhau 1 bit bi tại vị trí i thì A[i][5] được điều chỉnh lật.

• Nếu khác nhau trên 2 bit bi và bj tại vị trí i và j thì A[i][j] được lật.

• Nếu có khác nhau trên 3 bit bi, bj và bk tại 3 vị trí i, j, k thì A[i][j]

được lật và A[k][5] được lật.

• Nếu có khác nhau trên cả 4 bit bi, bj, bk và bm tại 4 vị trí i, j, k, m thì

thực hiên lật A[i][j] và A[k][m].

Bước 6) Đặt các bit LSB của khôi F[i][j] giông A[i][j] ta được F’.

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

Bước 1) Xáo trôn chuỗi thông điêp mật M ta được M’.

Bước 2) Chia và chuyển dữ liêu âm thanh thành các khôi Fi.

Bước 3) Thực hiên bước sau cho đến khi toàn bô thông điêp M’ được

giấu vào trong các khôi:

Lấy 4 bit của M’ giấu vào mỗi khôi Fi, theo thuật toán mục 3.3.2.

Bước 4) Chuyển các khôi Fi sang lại dạng vector và ghi ra têp F’.

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

Bước 1) Chia têp âm thanh thành các khôi F kích thước 5*5.

Bước 2) Lấy 4 bit trong mỗi khôi giấu theo cách tính s1s2s3s4 và lấy đủ

sô bit được giấu ra.

Bước 3) Thực hiên phép biến đổi ngược để lấy lại thông điêp mật M.

Page 14: MỘT SỐ KỸ THU ° T GI ¨ U TIN

12

h e l l o w o r l d

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8

Hoán vị thứ 1000 Hoán vị thứ 1000

1 3 5 4 7 8 2 6 1 3 5 4 7 8 2 6

h l o l w o e r d l

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

Hình 3.19 là biểu diễn đoạn gồm 50 mẫu của têp âm thanh

gôc và têp mang tin sau khi giấu 1 byte dữ liêu. Kết quả thử nghiêm

cũng cho thấy kỹ thuật đề xuất đáp ứng tiêu chí SNR khi giấu tin.

Hinh 3.19. Tín hiệu âm thanh trước và sau khi giấu tin

Bang 3.4. Giá trị SNR khi giấu tin theo kỹ thuật MCPT

Tên file chứa

Giá trị SNR

dohoa.cpp

(430 byte)

DuyTanlogo.bmp

(1694 byte)

map.gif

(14845 byte)

jarre-in.wav 82.57 76.04 66.63

gazebo-in.wav 82.57 76.65 67.21

brahms-in.wav 80.51 74.66 65.19

speech-in.wav 75.37 69.42 59.95

3.4. Thuật toán chỉnh 1 bit để giấu 8 bit dữ liệu

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

Hinh 3.5. Chuỗi tin gốc và chuỗi sau khi hoán vị

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

Thuật toán tính tổng XOR của đoạn S gồm 256 mẫu.

Page 15: MỘT SỐ KỸ THU ° T GI ¨ U TIN

13

Bước 1) Từ mảng S ta xác định mảng Q, trong đó Q[i] = S[i]%2.

Bước 2) h=0;

Bước 3) Lặp i từ 0 đến 255: Nếu (Q[i]!=0) thì h = XOR(h,i);

Bước 4) Trả về h;

3.4.3. Thuật toán giấu một byte vào trong khối S gôm 256 mẫu

Bước 1) Tính XOR_sum của đoạn S: h=XOR_sum(S);

Bước 2) Tìm vị trí của mẫu để giấu tin: pos= XOR (h, p);

Bước 3) Nếu giá trị pos > 0 thì Q[pos] = 1 - Q[pos];

Nếu Q[pos] = 0 thì S[pos] += 1, ngược lại S[pos] = S[pos] - 1.

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

Đầu vào: - Têp âm thanh F, khoá (k, d), và thông điêp cần giấu M.

Đầu ra: - Têp âm thanh F’ chứa tin mật.

Bước 1) Chia thông điêp mật M thành các đoạn có cung đô dài d. Dựa

vào giá trị k, xáo trôn M và ta có được M’.

Bước 2) Chia têp F thành các đoạn Si có đô dài bằng 256.

Bước 3) Lấy lần lượt từng byte của M’ giấu vào trong đoạn Si theo

thuật toán ở mục 3.4.3 cho đến khi toàn bô thông điêp được giấu.

Bước 4) Ghi các đoạn Si ra têp F’.

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

Bước 1) Lấy h= ddq */ đoạn (256 mẫu) từ têp chứa tin mật.

Bước 2) Lặp h lần để lấy h byte từ các đoạn, mỗi byte trong mỗi đoạn,

byte thứ i được gán cho M’[i], với M’[i] =XOR_sum(Si).

Bước 3: Đôi với mỗi đoạn gồm d byte của M’, dung phép biến đổi

khôi phục lại chuỗi tin M như thuật toán đã trình bày ở mục 3.4.1.

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

Bảng 3.5 thể hiên đô đo SNR khi sử dụng kỹ thuật giấu để

giấu các têp dữ liêu vào các têp âm thanh khác nhau.

Page 16: MỘT SỐ KỸ THU ° T GI ¨ U TIN

14

Bang 3.5. Giá trị SNR khi giấu theo thuật toán điều chỉnh một bit

Tên file chứa

Giá trị SNR

dohoa.cpp

(430 byte)

DuyTanlogo.bmp

(1694 byte)

map.gif

(14845 byte)

jarre-in.wav 85.99 80.05 Không giấu được

gazebo-in.wav 86.58 80.64 Không giấu được

brahms-in.wav 84.61 78.62 Không giấu được

speech-in.wav 79.32 32.62 Không giấu được

3.5. Phương pháp điều chỉnh tiếng vong

Kỹ thuật này cải tiến kỹ thuật được đề xuất bởi J. A. R. Chavez

và các đồng sự.

3.5.1. Sơ đô giấu của Rios Chavez

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

Bằng cách dựa vào các giá trị được sinh từ khoá và điều chỉnh

công thức thêm tiếng vong vào dữ liêu gôc, kỹ thuật đề xuất sẽ hạn

chế khả năng ngươi thám tin dò tìm được tin.

3.5.2.1. Thêm tiếng vọng dựa vào số ngẫu nhiên

Để giấu chuỗi bit M ta cần sinh chuỗi R ngẫu nhiên, trong đó Ri

chỉ nhận giá trị 0 hoặc 1. Dựa vào giá trị Ri này ta sẽ giữ nguyên đoạn

hoặc thêm tiếng vong vào đoạn.

Để thêm tiếng vong vào trong đoạn, ta sử dụng công thức (3.11).

Si′(n) = [ 1.1 ∗ Si(n) nếu Si(n) = Si(n − d)

0.99 ∗ Si(n) + 0.1 ∗ Si(n − d) nếu Si(n) <> Si(n − d) (3.11)

Công thức điều chỉnh này tránh được trương hợp rút trích tin sai do có

xử ly cho đoạn có giá trị trung nhau.

1: copy để giấu bit 1, thêm tiếng vong để giấu bit 0

0: copy để giấu bit 0, thêm tiếng vong để giấu bit 1 Nếu Ri =

Page 17: MỘT SỐ KỸ THU ° T GI ¨ U TIN

15

3.5.2.2. Thuật toán giấu

Thuật toán giấu chuỗi bit W vào têp C, kết quả ghi ra têp S.

Bước 1) Sinh ra chuỗi R dựa vào khoá theo công thức (3.9), (3.10).

Bước 2) Chia dữ liêu trên têp C thành các đoạn Ci có kích thước bằng

nhau. Nếu sô frame < đô dài chuỗi bit (L) cần giấu thì dừng.

Bước 3) Gán giá trị các đoạn Si bằng Ci

Dựa vào giá trị của Ri và giá trị bit cần giấu Wi, dung công thức (3.11)

để thêm tiếng vong vào cho các đoạn Si.

Bước 4) Ghi các đoạn Si và chép các mẫu còn lại từ C ra têp S.

3.5.2.3. Thuật toán giải tin

Thuật toán trích chuỗi bit từ têp gôc C và têp mang tin S.

Bước 1) Sinh ra chuỗi R dựa vào khoá theo công thức (3.9), (3.10).

Bước 2) Chia dữ liêu têp chứa tin giấu S và têp gôc C thành các đoạn

Si, Ci có kích thước bằng nhau.

Bước 3) So sánh cepstrum của đoạn Ci với Si và dựa vào giá trị của Ri

để trích bit 0 hoặc bit 1.

Lặp lại bước 3 cho các đoạn dữ liêu Ci, Si cho đến khi lấy đủ L bit.

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

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

Trong thử nghiêm, cặp sô (7, 9137) được chon làm sô mồi cho bô

sinh sô ngẫu nhiên. Chuỗi dữ liêu giấu có đô dài gồm 3440 bit được

Page 18: MỘT SỐ KỸ THU ° T GI ¨ U TIN

16

lấy từ têp dohoa.cpp. Têp chứa được lấy mẫu ở tần sô 44100, sô bit

lượng tử là 16, gồm 1422720 mẫu. Kích thước mỗi đoạn được chon là

1000 và giá trị d1 được chon bằng 441.

Bang 3.6. Giá trị SNR khi thêm tiếng vọng để giấu tin

Tên file chứa

Giá trị SNR

dohoa.cpp

(430 byte)

DuyTanlogo.bmp

(1694 byte)

map.gif

(14845 byte)

S.wav 30.54 27.17 Không giấu được

speech-in.wav 29.12 23.75 Không giấu được

Tổng kết chương 3

Chương 3 trình bày năm thuật toán giấu tin trong âm thanh được

thực hiên trên miền thơi gian.

Chương 4

MỘT SỐ THUẬT TOAN GIẤU TIN TRÊN MIỀN BIẾN ĐỔI

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

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

Trong kỹ thuật này, mỗi đoạn dữ liêu âm thanh Y sẽ được

chuyển sang miền tần sô dung phép biến đổi Fourier.

FFT(Y)FY (4.1)

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

Sô phức z = x + i ∗ y có thể biểu diễn lại trong hê toạ đô cực

bằng công thức sau :

Page 19: MỘT SỐ KỸ THU ° T GI ¨ U TIN

17

)sin(cos irz (4.2)

Trị tuyêt đôi (magnitude) của sô phức được xác định như sau :

22)( yxzabsr (4.3)

Môt sô mẫu trong dãy FY sẽ được lựa chon và điều chỉnh để giấu

tin. Nếu ta thay đổi đô lớn (magnitude) r của môt sô phức z thành r’

thì giá trị x, y cũng thay đổi theo. Giá trị x’ và y’ được xác định theo

công thức (4.5) và giá trị mới của z được xác định theo công thức (4.6).

sin''

cos''

ry

rx

(4.5)

sin'*cos'' rirz (4.6)

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

Thuật toán điều chỉnh sô phức z để giấu bit mật b, dựa vào sô d.

Phương pháp: Dieuchinh(z, b, d)

Bước 1) Tính biên đô (amplitude) và pha của z:

amp = abs(z); phase= angle(z);

Bước 2) Điều chỉnh giá trị sô phức z để giấu bit b:

Nếu b=1 { nếu mod (amp, d) < d/2 thì amp = amp + d/2; }

Ngược lại nếu mod (amp, d)> =d/2 thì amp = amp + d/2;

Bước 3) Tạo sô phức mới z’ và trả về:

return (r’=complex(amp*cos(phase),amp*sin(phase)));

4.1.3. Thuật toán giấu

Đầu vào: - Vector Y, chuỗi bit M có đô dài q, giá trị d, k, fw.

Đầu ra: - Vector Y’ mang tin.

Bước 1) Chia Y thành các đoạn có kích thước bằng nhau, chứa fw

(frame width) mẫu trên mỗi đoạn. Thực hiên phép biến đổi FFT trên

mỗi đoạn để chuyển từ miền thơi gian sang miền tần sô.

FYk = FFT (Yk).

Page 20: MỘT SỐ KỸ THU ° T GI ¨ U TIN

18

Bước 3) Đôi với mỗi đoạn FYk, tính biên đô và kiểm tra xem đoạn có

thoả điều kiên để giấu không. Điều kiên đoạn được chon để giấu tin là

trong đoạn có sô mẫu có biên đô là đỉnh (peak) lớn hơn hoặc bằng 8

và biên đô phải lớn hơn giá trị k (ngưỡng chon). Nếu thoã mãn điều

kiên giấu thì giấu lần lượt 8 bit tin mật vào trong đoạn 8 phần tử đầu

tiên là đỉnh của đoạn, dung kỹ thuật điều chỉnh ở mục 4.1.2

Bước 4) Thực hiên IFFT trên mỗi đoạn FY để chuyển FY từ miền tần

sô về lại miền thơi gian lưu vào Y’

Bước 5) Trả về Y’.

Bang 4.1. Giá trị các mẫu trước và sau khi giấu các bit

Giá trị trước khi điều chỉnh Bit giấu Giá trị sau khi điều chỉnh

7.774503 0 7.874503

11.513642 1 11.513642

6.869382 0 6.869382

7.337803 1 7.337803

6.913936 0 7.013936

6.913936 1 6.913936

7.337803 0 7.437803

6.869382 1 6.969382

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

Thuật toán sẽ trích sô nhị phân Mi từ sô phức z.

Phương thức: Getbit (z)

Bước 1) Tính biên đô (amplitude) của z: amp = abs(z);

Bước 2) Lấy bit Mi : nếu mod(amp,d)>d/2 thì Mi =1, ngược lại Mi =0

Bước 3) return Mi

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

Đầu vào: - Vector Y’ mang tin, đô dài chuỗi bit q, sô d, k, fw.

Đầu ra: - Chuỗi bit mật M.

Page 21: MỘT SỐ KỸ THU ° T GI ¨ U TIN

19

Bước 1) Chia Y’ thành các đoạn có cung sô kích thước fw.

Bước 2) Thực hiên FFT trên các đoạn Y’i để chuyển sang miền tần sô:

FY’i = FFT (Y’i).

Tính biên đô cho đoạn và gán sô bit đã nhận được h=0;

Bước 3) Đôi với mỗi đoạn FY’i, kiểm tra đoạn có chứa tin hay không

dựa vào viêc đếm sô đỉnh lớn hơn ngưỡng chon k. Nếu đoạn có chứa

tin thì chon 8 đỉnh đầu tiên trong đoạn để rút trích tin.

M[h] = Getbit( FYk(i), d ); h=h+1; Nếu h>1 thì sang Bước 4;

Xét các đoạn FY’i kế tiếp.

Bước 4) return M.

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

Thực nghiêm thực hiên thêm nhiễu trắng vào dữ liêu mang

tin. Nếu tỉ lê gây nhiễu lớn hơn 90 thì không ảnh hưởng đến tin giấu.

Bang 4.2. Tỉ lệ bit sai khi tấn công thêm nhiễu trắng

Tỉ lệ gây nhiêu Số bit nhận sai Tỉ lệ nhận sai

35 310 0.302734375

40 189 0.184570313

50 46 0.044921875

70 40 0.039062500

80 1 0.000976563

>=90 0 0

Hinh 4.5. Ảnh thu được khi giai tin tương ứng với các tỉ lệ gây nhiễu

hê sô nhiễu 35 hê sô nhiễu 40 hê sô nhiễu 50

hê sô nhiễu 70 hê sô nhiễu >=90 hê sô nhiễu 80

Page 22: MỘT SỐ KỸ THU ° T GI ¨ U TIN

20

Bang 4.3. Giá trị SNR khi điều chỉnh biên độ để giấu tin

Tên file chứa

Giá trị SNR

dohoa.cpp (430 byte) DuyTanlogo.bmp

(190 byte)

map.gif

(14845 byte)

S.wav 80.41 76.73 Không giấu được

speech-in.wav 76.35 72.27 Không giấu được

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

Phép biến đổi wavelet phân tích tín hiêu thành hai thành phần

là A (Approximation) và D (Detail), trong đó thành phần D không

quan trong. Thay đổi trên D ít ảnh hưởng đến tín hiêu âm thanh gôc.

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

Thuật toán giấu bit b vào dãy D gồm fw phần tử, dựa vào sô thực d.

Bước 1) Tính giá trị trung bình của nửa đoạn trước và nửa đoạn sau

của D.

h2 = (∑ D[i]fwfw

2+1

)/(fw

2) , h1 = (∑ D[i])/(fw/2)

fw

21 (4.7)

Bước 2) Tính giá trị lêch giá trị trung bình giữa hai đoạn, theo modulo

d: k = abs(h1 − h2) mod d

Bước 3) Điều chỉnh giá trị để giấu bit b :

Nếu b=1 và k> d/2 hoặc b=0 và k<= d/2 thì đã thỏa điều kiên giấu,

không cần điều chỉnh;

Ngược lại:

+Nếu b=1 và k<= d/2 thì công d/2 cho nửa đoạn trước :

D[i] = D[i] + d/2, với i= 1 đến fw/2.

+Ngược lại nếu b=0 và k> d/2 thì công d/2 cho nửa đoạn sau :

D[i] = D[i] + d/2, với i từ fw/2 +1 đến fw.

4.2.2. Thuật toán trích 1 bit

Thuật toán trích bit b từ dãy D gồm fw phần tử, dựa vào sô thực d.

Page 23: MỘT SỐ KỸ THU ° T GI ¨ U TIN

Danh mục các công trình liên quan đến luận án

1. Nguyễn Xuân Huy, Huỳnh Bá Diêu (2009), “Kỹ thuật giấu tin

trong âm thanh hỗ trợ xác thực”, Tạp chí Khoa học Đại học Quốc gia

Hà Nội, Khoa học Tự nhiên và Công nghệ 25, tr. 69-74.

2. Nguyễn Xuân Huy, Huỳnh Bá Diêu, Võ Thị Thanh (2013), “Môt

cải tiến cho kỹ thuật giấu tin dựa vào LSB”, Tạp chí Khoa học Đại học

Quốc gia Hà Nội, Khoa học Tự nhiên và Công nghệ, Tập 29, Sô 2, tr.

31-37.

3. Huynh Ba Dieu (2013), “An Improvement for Hiding Data in

Audio Using Echo Modulation”, Proceedings of the Second

International Conference on Informatics Engineering & Information

Science (ICIEIS2013), pp. 133-138.

4. Huynh Ba Dieu, Nguyen Xuan Huy (2013), “Hiding Data In Audio

Using Modified CPT Scheme”, Proceedings of the Fifth International

Conference of Soft Computing and Pattern Recognition

(SoCPaR2013), pp. 397-401.

5. Huynh Ba Dieu, Nguyen Xuan Huy (2014), “An Improved

Technique for Hiding Data in Audio”, Proceedings of the Fourth

International Conference on Digital Information and Communication

Technology and its Applications (DICTAP2014), pp. 149-153.

6. Nguyen Xuan Huy, Huynh Ba Dieu (2014), “An Efficient Method

for Hiding Data in Audio”, Proceedings of the Fifth International

Conference on Advanced Technologies (ATC’14), pp. 167-171.

7. Nguyễn Xuân Huy, Huỳnh Bá Diêu (2016), “Môt kỹ thuật giấu tin

trong âm thanh dựa vào phép biến đổi wavelet”, Tạp chí Khoa học và

Công nghệ, Đại học Đà Nẵng, Tập 98, Sô 1, tr. 103-106.