Kỹ thuật toán giấu tin trong tệp wav

Một phần của tài liệu Nghiên cứu một số kỹ thuật giấu tin trong môi trường Multimedia (Trang 72)

Giấu tin trong tệp Wav thực chất là giấu thông tin vào các mẫu âm thanh trong vùng Data. Theo một số tài liệu nghiên cứu, hệ thống thính giác của người có thể cảm nhận được tín hiệu âm thanh với băng tần rộng và công suất lớn. Tuy nhiên, đối với sự thay đổi nhỏ về công suất hoặc tần số thấp thì tai người khó có thể phát hiện được.

Với hai yếu điểm của hệ thống thính giác, xuất hiện hai hướng kỹ thuật giấu tin trong dữ liệu âm thanh: hướng thứ nhất, thực hiện giấu tin

trên phổ của tín hiệu bằng việc biến đổi các tần số, hướng thứ hai sẽ thay đổi giá trị công suất.

Tín hiệu âm thanh sau khi được số hoá bằng phương pháp lấy mẫu, mỗi mẫu tín hiệu được mã hoá bởi một số bit nhưng thường là 8 bit hoặc 16 bit. Với cùng số lượng bit mã hoá, mối quan hệ giữa giá trị của các mẫu và công suất của tin hiệu là tỉ lệ thuận. Do vậy, khi thay đổi giá trị của bit thấp trong các mẫu âm thanh sẽ làm thay đổi nhỏ về công suất của tín hiệu.

Tư tưởng của thuật toán

Chia vùng dữ liệu của âm thanh thành các ma trận Fi có cùng kich thước mxn, giá trị của mỗi phần tử trong ma trận là giá trị của một mẫu âm thanh. Áp dụng thuật toán HD8 để giấu tin vào các bit thấp của mẫu âm thanh.

Khi đó phép toán INC trong thuật toán HD8 sẽ được định nghĩa lại như trong công thức (3.6) nếu số bit để mã hoá âm thanh là 16 bít.

         32767 1 32767 1 ) ( A if A A if A A INC B (3.6) Nhận xét:

Giấu tin trong dữ liệu âm thanh với kỹ thuật thay biến đổi giá trị các mẫu âm thanh được thực hiện tương tự với kỹ thuật giấu tin trong ảnh bitmap 24 bit màu, tuy nhiên với kích thước của tệp wav, lượng thông tin có thể giấu được lớn hơn rất nhiều so với tệp bitmap.

Do âm thanh là tin hiệu thay đổi theo thời gian, nên để phân biệt được sự khác biệt giữa tín hiệu âm thanh trước khi giấu và sau khi giấu tin là rất khó khăn.

KẾT LUẬN

1. Kết quả của luận văn

- Thông qua việc nghiên cứu một số kỹ thuật giấu tin mật trên ảnh, luận văn phân tích, đánh giá, và so sánh các kỹ thuật giấu tin, giúp cho người dùng có cách tình tổng quát và đầy đủ khi nghiên cứu và triển khai các hệ thống giấu tin trong thực tiễn.

- Luận văn đưa ra phương pháp chứng minh mới về tính đúng đắn của thuật toán CPT, với cách chứng minh này sẽ giúp quá trình nghiên cứu thuật toán này trở nên dễ dàng hơn.

- Xuất phát từ những nghiên cứu về kỹ thuật giấu tin theo khối bit, luận văn đã đề xuất hai thuật toán giấu tin trên ảnh màu được cải tiến từ hai thuật toán giấu tin của Wu-Lee và Chen – Pan – Tseng, và thực tế cho thấy hai thuật toán này đáp ứng khá tốt các yêu cầu đối với một hệ thống giấu tin.

2. Phƣơng hƣớng nghiên cứu

Tiếp tục nghiên cứu, phát triển kỹ thuật giấu tin và cấu trúc lưu trữ các tệp dữ liệu multimedia như JPEG, MPEG, MP3, MP4.

Nghiên cứu và phát triển một số kỹ thuật thuỷ vân số trên các dữ liệu multimedia để xác thực và bảo vệ các sản phẩm số.

PHỤ LỤC

Trong quá trình thực hiện luận văn, các phần mềm được xây dựng trên ngôn ngữ lập trình visual c++ 6.0. Và dưới đây là cấu trúc các lớp quan trọng. (Toàn bộ mã nguồn của chương trình có thể download tại

http://www.estih.edu.vn/files/Datahiding.zar)

Lớp CBitmap256 được kế thừa từ lớp CMyBitmap, lớp này thực hiện giấu tin trên ảnh bitmap 8 bit màu cài đặt theo thuật toán DH8

class CBitmap256 : public CMyBitmap {

private:

PalleteTable *Pallete; unsigned char *pData; unsigned char * pEditData; CString AppPath;

BYTE T[hang][cot]; BYTE K[hang][cot]; BYTE F[hang][cot]; CString sKeyFileName;

BYTE m,n; // so hang va so cot thuc su protected:

FILE *htFile; BOOL CanhBao;

unsigned int cColorNumber; CString sNeedHide;

BOOL ImageIs256(); // Kiểm tra có đúng là ảnh 8 bit màu không

void GetInformationImage(); // Lấy thông tin về ảnh (adsbygoogle = window.adsbygoogle || []).push({});

void CalculatorTMatrix(); // Tính giá trị ma trận T ứng với F và K BYTE SUM(BYTE Matrix[hang][cot]); // Phép toán SUM

BOOL HidingIntoBlock(BYTE b);// Thuật toán áp dụng cho 1 khối

void SetKeyFileName(CString sKeyFileName);// Thiết lập tên File

public:

void SetFileName(CString FileName);//Thiết lập tên file ảnh

CBitmap256();

virtual ~CBitmap256();

void GetImage(); // Đọc File ảnh vào bộ nhớ

void DrawImage(CDC * pdc); // Vẽ Ảnh

void DataHiding();// Giấu vào toàn bộ ảnh

void GetDataHided();// Giải mã thông tin

void SetsNeedHide(CString s); // Thông tin giấu

unsigned long GetWidth();

void SetPathCurrent(CString path); // Đường dẫn ngầm định

};

Lớp CBitmap24 thực hiện giấu tin trên anh bitmap 24 bit màu class CBitmap24 : public CMyBitmap

{

private:

CString xau;

unsigned long SUMTW(); void ReadKWMatrix(); void CalculatorT(); CString AppPath; CString KeyFile; CString WeightFile; MyColor *Color; BOOL ImageIs24();

int n,m;

unsigned char *pData,*pEditData; unsigned char K[hang][cot];

unsigned char W[hang][cot]; unsigned char F[hang][cot]; unsigned char T[hang][cot]; public:

void SetStringHide(CString s);

void SetFileName(CString FileName); void GetInformationImage();

unsigned long GetWidth(); void GetDataHided(); void DataHiding(); BOOL ReadFMatrix();

BOOL HidingInABlock(unsigned char data); CBitmap24();

virtual ~CBitmap24(); void DrawImage(CDC *pdc); void getImage();

};

Lớp CMyWave sử dụng thuật toán DH24 để giấu tin dữ liệu âm thanh class CMyWave (adsbygoogle = window.adsbygoogle || []).push({});

{

private:

BOOL HideDataInABlock(unsigned char data);// Giấu trong 1 khối BOOL ReadMatranF();// Xây dựng ma trận F từ các mẫu âm thanh void GetInformation();// Thông tin về file wav

unsigned long SUMTW(); //Available FILE *hFile; CString FilePlay; CString FileName; CString AppPath; CString ChunkID; CString Format; CString frmChunkID; CString dataChunkID; CString xau;

unsigned long ChunkSize; unsigned long FileSize; unsigned char *pWave;

unsigned long frmChunkSize; unsigned char AudioFormat; unsigned char NumberChannel; unsigned long SampleRate; unsigned long ByteRate; unsigned char BlockAlign; unsigned char BitsPerSample; unsigned long dataChunkSize;

unsigned char *pData,*pHeaderDataChunk; _int16 *pData16; _int16 *pEditData16; _int16 K[Hang][Cot]; _int16 W[Hang][Cot]; _int16 F[Hang][Cot]; _int16 T[Hang][Cot];

int n,m; public:

void DataHidingFromFile(); // Nhận dữ liệu từ file text

CString GetFilePlay(); // Lấy tên file đang chay

void GetDataHided(); // Giải mã

void SetStringNeed(CString s);// Thông tin cần giấu

void DataHiding(); // Giấu thông tin vào file wav

void ReadMatranKW(); // Đọc hai ma trận khoá từ file

void GetWaveFile();// Trả lại tên file

void SetFileName(CString filename); void OpenFile();

CMyWave();

virtual ~CMyWave(); };

TÀI LIỆU THAM KHẢO Tiếng Việt

[1] Phạm Văn Ất (1995), Kỹ thuật lập trình C, cơ sở và nâng cao, Nhà xuất bàne Khoa học và Kỹ thuật

[2] Vũ Bá Đình, Nguyễn Xuân Huy, Đào Thanh Tĩnh (2002), Đánh giá khả năng giấu dữ liệu trong bản đồ số, tạp chí Tin học và Điều khiển học, số 4, 347-353

[3] Nguyễn Xuân Huy, Bùi Thị Thuý Hằng (2001), Một số cải tiến của kĩ thuật giấu dữ liệu trong ảnh

[4] Phạm Văn Ất, Nguyễn Hữu Cường, Đỗ Văn Tuấn, Giấu tin trong ảnh nhị phân và ứng dụng, Tạp chí Khoa học Giao thông vận tải, số 19 tháng 9 năm 2007

Tiếng Anh

[ 5] M. Wu, J. Lee. A novel data embedding method for two-color fascimile images. In Proceedings of international symposium on multimedia information processing. Chung-Li, Taiwan, R.O.C, 1998. [ 6] Y. Chen, H. Pan, Y. Tseng. A secure data hiding scheme for two- color images. In IEEE symposium on computers and communications,

2000.

[7] Anil.K.Jain (1986), Fundamentals of Digital Image Processing, Prentice - Hall

[8] R.Anderson (1996), Proceedings of the First International Information Hading Workshop, Cambridge, UK, May/June, 1996, vol 1174 of Lecture Notes in Cumputer Science, Berlin Springer-Verlag. [9] http://WWW.iipa.com

PDF Merger

Thank you for evaluating AnyBizSoft PDF Merger! To remove this page, please (adsbygoogle = window.adsbygoogle || []).push({});

register your program!

Go to Purchase Now>>

 Merge multiple PDF files into one  Select page range of PDF to merge  Select specific page(s) to merge

 Extract page(s) from different PDF

Một phần của tài liệu Nghiên cứu một số kỹ thuật giấu tin trong môi trường Multimedia (Trang 72)