Steganography is the technique of hiding secret data within an ordinary, non-secret, file or message in order to avoid detection; the secret data is then extracted at its destination. The use of steganography can be combined with encryption as an extra step for hiding or protecting data. The word steganography is derived from the Greek words steganos (meaning hidden or covered) and the Greek root graph (meaning to write).
Steganography can be used to conceal almost any type of digital content, including text, image, video or audio content; the data to be hidden can be hidden inside almost any other type of digital content. The content to be concealed through steganography -- called hidden text -- is often encrypted before being incorporated into the innocuous-seeming cover text file or data stream. If not encrypted, the hidden text is commonly processed in some way in order to increase the difficulty of detecting the secret content.
Steganography is practiced by those wishing to convey a secret message or code. While there are many legitimate uses for steganography, malware developers have also been found to use steganography to obscure the transmission of malicious code.
Forms of steganography have been used for centuries and include almost any technique for hiding a secret message in an otherwise harmless container. For example, using invisible ink to hide secret messages in otherwise inoffensive messages; hiding documents recorded on microdot -- which can be as small as 1 millimeter in diameter -- on or inside legitimate-seeming correspondence; and even by using multiplayer gaming environments to share information.
In this project we are dealing with a special type of Steganography: Audio Steganograpy
We will be encrypting song of .emb format with messages wich later on can be decrypted. Webpage is created for facilitating user-friendly-interface.
Webpage is created using:
- html
- CSS
- javaScript Frameworks used:
- Bootstrap
- Bulma
A total of 5 interconnected webpages are constructed. homepage.html is the starting page, where the user is given option for encryption and decryption in his selected type ( audio/ image/text). Thereafter the user is directed to his desired option. There are two different pages for audio encryption and decryption. For encryption, user is directed to audio_encrypt.html where he has to submit the song and message. After submiting the details, he is forwarded to encrpy_success.html from where he can download his/her encrypted song. For decryption, user is directed to audio_decrypt.html where he has to submit the song. After submiting the details, he is forwarded to decrpy_success.html from where he can view his/her encrypted message. Beautification of there webpages is done through:
- layout.html
- loader.html
- website.css
templates folder contains all these pages. They are called using ajax as per their requirement.
audio_encrpy.py contains the code for audio encryption.
- Algorithm used: LSB(Least Significant Bit)
- Library (for working with audio fie): wave
- Input: song an message
- Output: encrypted song
Encryption is made by changing the least significant bit of the song by the message.
audio_encrpy.py contains the code for audio encryption.
- Algorithm used: LSB(Least Significant Bit)
- Library (for working with audio fie): wave
- Input: encrypted message
- Output: decrypted message
All these different parts are connected and activated using app.py. It renders the desired template using Flask.