The three of us are really conscious of how much of your personal information is actually shared. That is why we decided to build a platform that allows the user to hide a message within an audio file in order to get a fully private way of communicating.
What it does
Our platform consists of a desktop client, capable of reading audio files, interpreting its frequency spectrum and modifying the values of those frequencies. The key of our idea is to cut out the frequencies from the audio file which are inaudible for the human ear. Then, we add a combination of frequencies in the non-audible range in order to encode a message in the form of text provided by the user. When the encryption is completed, a new audio file is created, which contains the original audio plus the encoded message. The idea is that at this point, the user sends the audio file to someone, that will proceed with the decoding.
The second step is the decoding of the encrypted file, where the user will open the audio file with our platform and will decode it, receiving the original message.
This way, because we store the data as audio, even if someone in the middle of the communication wanted to intercept the message, it would only find a regular audio file. Plus, because we have used non-audible frequencies, the original audio file and the file with the encoded message will sound exactly the same. The attacker not only would have to break the encryption, but it would also have know that there is a message encoded within a regular audio file.
How we built it
We have built a desktop client developed python (module tkinter), also we used waves, numpy and the Fourier Transform.
Challenges we ran into
They were mainly mathematical challenges. Originally, we intended to use the Fourier Transform to transform the sinusoidal wave to the frequential spectrum in order to cut off the frequencies bellow 200Hz (non-audible), before including the secret message. Because of its complexity, we chose to modify the sinusoidal wave instead, which is the reason why when reproducing the encrypted file, a click sound can be heard.
Accomplishments that we're proud of
A fully functional network communication security product. It was the first time that we worked with audio and tkinter. That is why we are proud of accomplishing a functional platform.
What we've learned
Audio Processing, tkinter, advanced math and numpy.
What's next for 200Hz
Using just frequencies below 200Hz, which we tried but had to take another route due to the mathematical complexity of the process and the limited time for the event. This way, the original and the encrypted files would sound exactly the same.