Encryption - The process of transforming information (plaintext) using an algorithm (called a cipher) to make it unreadable to anyone except those possessing special knowledge, usually referred to as a key.
Terminologies( contd) Steganography - It is the art of hiding the fact that communication is taking place, by hiding information in other information. Many different carrier file formats can be used, but digital images are the most popular because of their frequency on the internet. Different applications may require absolute invisibility of the secret information, while others require a large secret message to be hidden. Terminologies( contd) Decryption :- It is the process of decoding encrypted information so that is can be accessed again by authorized users. It is generally the reverse process of encryption. It is the process of decoding the data which has been encrypted into a secret format. An authorized user can only decrypt data because decryption requires a secret key or password. Why Do We Need Encryption To safely and securely transfer images for the following uses:
1.) Military 2.) Health Care 3.) Mapping and Positioning 4.) Picture messaging on Cell Phones 5.) Privacy 6.) Government Documents
Need of Stenography Nowadays, information is rapidly available through the Internet. Companies have the ability to communicate with a worldwide audience through the World Wide Web.
So Information hiding techniques are received increasing attention due to : a. the availability of multimedia and digital form objects. b. and the need to present solutions to criminal copying and copyright problems.
Motivation As we know, cryptography and steganography have been known for many years. We can encrypt data, but it will be exposed while transferring. On the other hand, we can hide data into a common object, but if someone extracts it, he/she can get the information easily. Therefore, my idea is to apply both of them, so in case one gets the embedded stuff, s/he will face an encrypted data.
Project Idea To combine two security techniques
1. Cryptography (For Encryption & Decryption)
2. Steganography(For Data hiding in a multimedia object)
Why to do so? Hiding data is better than moving it shown and encrypted. To hide data in a popular object that will not attract any attention. In case the data is extracted, it will be encrypted.
Cryptography The science of using mathematics to encrypt and decrypt data. It enables you to send sensitive information across insecure networks (such as the Internet).
Advanced Encryption Standard Advanced Encryption Standard. (AES) Benefits: 1. Very Secure. 2. Reasonable Cost. 3. Main Characteristics: I. Flexibility. II. Simplicity.
Steganography Hiding a secret message within a larger object in such a way that others can not discern the presence of the hidden message. In this project, We use a JPEG image as a cover object. Images can contain enough information to hide, while not appearing to be modified. It is common enough to not attract any attention.
Steganographic Techniques: The Least Significant Bit (LSB): modifying the rightmost bit in each byte by replacing it with a bit from the secret message. Why LSB? Designed for images that have 3 or 4 bytes per pixel. When changing 4 bits in a 4-byte pixel, the change is about 1 / billion.
Improvement in Simple LSB 1. Randomization of inserting the secret message bits into the image. Developed a function that generates a random offset from the set {2,4,6}, then spreads the message bits according to that offset. e.g. Suppose that the offset is 4, then the program will insert the first bit in byte 1, the second bit in byte 5, the third in byte 9 and so on. After reaching certain end, loop back starting from byte 2 then 6, 10, and so on
Improvements( contd) 2. Adding SHA-1 hash for the secret message. The program calculates an sha-hash for the secret message in the hiding stage, and checks this value when retrieving the hidden message. Therefore, it can detect any attempt to modify the message content.
Hiding Variable values in Image The program creates a header for these variables, and reserves the first 70 bytes for that header to insert it after encrypting it. Then it inserts the encrypted message starting from byte 71.
On the recipient side, the program reads the first 70 bytes, decrypts them, and gets the variables values to use them to extract the hidden message.
Program Sequence Hiding Revealing Select a image. Enter a message and a cipher key Encrypting message. Hiding it in the selected image. Select a image (Stego object). Enter the cipher key. Extracting encrypted data from the image. Decrypting and showing the message.