TJHSST Senior Research Project Implementation of Steganographic Techniques 2006-2007 Danny Friedheim October 31, 2006 Abstract My main areas of interest for this research project are steganography and steganalysis. Keywords: steganography, steganalysis 1 Introduction - Purpose and Scope The purpose of this research will be to investigate various methods of steganography (hiding data within different media). I will develop a new program to hide data within the WAVE file type. The first part of the program itself will be able to accept two inputs: the 'clean' file and the hidden message. It will then combine the two and output a 'doctored' file with the hidden message inside it. The second part of the program will be able to reverse the process, receiving a 'doctored' file as input and extracting the hidden message. 2 Background Steganography is the science of hiding data in a way that only the recipient knows of its existence. This is different from cryptography, where the existence of the data is known, but it is not readable. The process of steganography can be achieved with various algorithms designed to undetectably doctor 1 an image, audio file, or other type of file. There is already a diverse field of research about steganography and its various applications in communicating secret messages. Commercial and opensource programs that implement steganographic techniques include Stealth, stego, Wnstorm, Snow, FFencode, and many more. One example of an individual algorithm is the F5 technique for embedding messages in JPEG images. The algorithm changes the values of randomly generated bits by a very small amount, and is virtually undetectable by statistical analysis. 3 Procedures I plan on using the following tools to work on this project. 3.1 Software Computer language(s) I'll use 1. C++ 3.2 Algorithms/Programs I'll be writing my own algorithms/programs instead of implementing known algorithms for steganographic techniques. I will probably end up with more than one version of the algorithm in the end, continuing to make the algorithm more sophisticated as the year goes on, but having it functional at various stages throughout the process. 4 Expected Results By the end of the year, I expect to have an application that implements steganographic techniques to discreetly hide data in a WAVE file. It should also be able to retrieve data from a modified file, displaying the hidden message. The proof of concept would simply be running the program, showing that the modifications to the file are virtually (and hopefully statistically) undetectable, and then retrieving the correct message from the file. This could be done multiple times with different messages in different files to ensure the project was successful. 2