Data hiding by using AES Algorithm

— Data hiding is the art of hiding data for various purposes such as; to maintain private data, secure confidential data and so on. Securely exchange the data over the internet network is very important issue. So, in order to transfer the data securely to the destination, there are many approaches like cryptography and steganography. In this research we propose an AES algorithm for embedding the data into the images which is implemented through the Microsoft .NET framework using the C#.NET.


Introduction
The growing use of Internet needs to take attention while we send and receive personal information in a secured manner.For this, there are many approaches that can transfer the data into different forms so that their resultant data can be understood if it can be returned back into its original form.This technique is known as encryption.However, a major disadvantage of this method is that the existence of data is not hidden.If someone gives enough time then the unreadable encrypted data may be converted into its original form [1]. A solution to this problem has already been achieved by using a "steganography" technique to hide data in a cover media so that other cannot notice it.The characteristics of the cover media depends on the amount of data that can be hidden, the perceptibility of the message and its robustness.In this document, I propose a new system for hiding data stands on many methods and algorithms for image hiding where I store on data file, called sink file in an image file called as container image.The primary objective is to use steganography techniques so as to provide more security and simultaneously using less storage.
This research addresses the security problem of transmitting the data over internet network, the main idea coming when we start asking that how can we send a message secretly to the destination?The science of steganography answers this question.Using steganography, information can be hidden in carriers such as images, audio files, text files, videos and data transmissions.In this document, we proposed some methods and algorithms of an image steganography system to hide a digital text of a secret message [2].
In this project, we propose to develop a system to hiding data by using "STEGANOGRAPHY" technique as I used many methods stands on some techniques to have at the back-end a software for hiding data based on hiding algorithms [3].
After studying the data hiding algorithms, we found many ways to hiding data by using the multimedia files and the main question for me was "Where hidden data hides?" as we found by our search to know where the data hides it's important to know what is the file type of the data that it shall be hidden and the cover file type so it is possible to alter graphic or sound files slightly without losing their overall viability for the viewer and listener.
With audio, you can use bits of file that contain sound not audible to the human ear.With graphic images, you can remove redundant bits of color from the image and still produce a picture STEGANOGRAPHY USING IMAGES that looks intact to human eye and is difficult to discern from its original.It is in those bits that stego hides its data.
By the final of our research we developed a software uses an algorithm, to embed data in an image; The purposed system is called "Steganography", the aim of this research his to encrypt the data; the meaning of encrypt is to hide the data over an image using different steganographic algorithms, in this system AES is the algorithms that we use to hiding the data [4].

Literature
Steganography is the art of hiding and transmitting data through apparently innocuous carriers in an effort to conceal the existence of the data, the word Steganography literally means covered or hiding writing as derived from Greek.Steganography has its place in security.It is not intended to replace cryptography but supplement it.[5] Hiding a message with Steganography methods reduces the chance of a message being detected.If the message is also encrypted then it provides another layer of protection.
Therefore, some Steganographic methods combine traditional Cryptography with Steganography; the sender encrypts the secret message prior to the overall communication process, as it is more difficult for an attacker to detect embedded cipher text in a cover.It has been used through the ages by ordinary people, spies, rulers, government, and armies.There are many stories about Steganography.[6] For example, ancient Greece used methods for hiding messages such as hiding In the field of Steganography, some terminology has developed.The adjectives 'cover', 'embedded', and 'stego' were defined at the information hiding workshop held in Cambridge, England.The term "cover" refers to description of the original, innocent massage, data, audio, video, and so on.Steganography is not a new science; it dates back to ancient times.[7] Hidden information in the cover data is known as the "embedded" data and information hiding is a general term encompassing many sub disciplines, is a term around a wide range of problems beyond that of embedding message in content.The term hiding here can refer to either making the information undetectable or keeping the existence of the information secret.[1] Information hiding is a technique of hiding secret using redundant cover data such as images, audios, movies, documents, etc.This technique has recently become important in a number of application areas.For example, digital video, audio, and images are increasingly embedded with imperceptible marks, which may contain hidden signatures or watermarks that help to prevent unauthorized copy.It is a performance that inserts secret messages into a cover file, so that the existence of the messages is not apparent.[8] Research in information hiding has tremendous increased during the past decade with commercial interests driving the field.Although the art of concealment "hidden information" as old as the history, but the emergence of computer and the evolution of sciences and techniques breathe life again in this art with the use of new ideas, techniques, drawing on the computer characteristics in the way representation of the data, well-known computer representation of all data including ( Multimedia) is binary these representations are often the digital levels and areas and change values-aware of slight not aware or felt by Means sensual of human such as hearing, sight, the advantage use of these properties to hide data in multimedia by replace the values of these sites to the values of data to be hidden, taking into account the acceptable limits for the changeover, and not exceeded to prevent degradation media container with a change becomes aware and felt by human [9][10][11][12][13][14][15][16][17][18][19].It should be noted here that although the art of hidden information come in the beginning of the computer and its techniques However, the seriousness of the work in the stenography as a stand-alone science started in 1995.

Methodology
In the proposed system we concentrate on finding some algorithm to hide the data inside images using steganography technique.An algorithm is designed to hide all the data inputted within the image to protect the privacy of the data.Then, the system is developed based on the new steganography algorithm.
This proposed system provides the user with two options encrypt and decrypt the data, in encryption the secret information is hiding in with image file, and on the other side the decryption is getting the hidden information from the stego image file, and also the user can show the image size after and before the encryption.
The processes of encryption and decryption of the data file consists of:  Providing security for the data to be transmitted through network using steganography. Proposing an approach for hiding the data within an image using astegano graphic algorithm which provides better accuracy and quality of hiding.
Microsoft Techniques is used through the .NET framework to extensively analyze the functions of the ASE algorithm in steganography.Texts and other file formats are encrypted and embedded into an image file which is then transferred to the destination.

ASE Algorithms
The Advanced Encryption Standard (AES), also known by its original name Rijndael (Dutch pronunciation: [ˈrɛindaːl]),is a specification for the encryption of electronic data established by the U.S. National Institute of Standards and Technology (NIST) in 2001.
AES is a variant of the Rijndael block cipher developed by two Belgian cryptographers, Joan Daemen and Vincent Rijmen, who submitted a proposal to NIST during the AES selection process.Rijndael is a family of ciphers with different key and block sizes.For AES, NIST selected three members of the Rijndael family, each with a block size of 128 bits, but three different key lengths: 128, 192 and 256 bits.
AES has been adopted by the U.S. government.It supersedes the Data Encryption Standard (DES), which was published in 1977.The algorithm described by AES is a symmetric-key algorithm, meaning the same key is used for both encrypting and decrypting the data.
In the United States, AES was announced by the NIST as U.S. FIPS PUB 197 (FIPS 197) on November 26, 2001.This announcement followed a five-year standardization process in which fifteen competing designs were presented and evaluated, before the Rijndael cipher was selected as the most suitable (see Advanced Encryption Standard process for more details).AES is included in the ISO/IEC 18033-3 standard.AES became effective as a U.S. federal government standard on May 26, 2002, after approval by the U.S. Secretary of Commerce.AES is available in many different encryption packages, and is the first (and only) publicly accessible cipher approved by the U.S. National Security Agency (NSA) for top secret information when used in an NSA approved cryptographic module (see Security of AES, below).
Advanced Encryption Standard (AES) is a specification for the encryption of electronic data established by the U.S National Institute of Standards and Technology (NIST) in 2001.AES is widely used today as it is a much stronger than DES and triple DES despite being harder to implement  AES is a block cipher. The key size can be 128/192/256 bits. Encrypts data in blocks of 128 bits each.
That means it takes 128 bits as input and outputs 128 bits of encrypted cipher text as output.AES relies on substitution-permutation network principle which means it is performed using a series of linked operations which involves replacing and shuffling of the input data.
AES considers each block as a 16 byte (4 byte x 4 byte = 128 ) grid in a column major arrangement.
Each round comprises of 4 steps: The last round doesn't have the MixColumns round.The SubBytes does the substitution and ShiftRows and MixColumns performs the permutation in the algorithm.
SubBytes: This step implements the substitution.In this step each byte is substituted by another byte.Its performed using a lookup table also called the S-box.This substitution is done in a way that a byte is never substituted by itself and also not substituted by another byte which is a compliment of the current byte.The result of this step is a 16 byte (4 x 4 ) matrix like before.
The next two steps implement the permutation.ShiftRows: This step is just as it sounds.Each row is shifted a particular number of times.
 The first row is not shifted  The second row is shifted once to the left. The third row is shifted twice to the left. The fourth row is shifted thrice to the left.Now the resultant output of the previous stage is XOR-ed with the corresponding round key.Here, the 16 bytes is not considered as a grid but just as 128 bits of data.
After all these rounds 128 bits of encrypted data is given back as output.This process is repeated until all the data to be encrypted undergoes this process.
The stages in the rounds can be easily undone as these stages have an opposite to it which when performed reverts the changes.Each 128 blocks goes through the 10,12 or 14 rounds depending on the key size.
The stages of each round in decryption is as follows : The decryption process is the encryption process done in reverse so i will explain the steps with notable differences.

Inverse Mix Columns :
This step is similar to the Mix Columns step in encryption, but differs in the matrix used to carry out the operation.Inverse S-box is used as a lookup table and using which the bytes are substituted during decryption.
AES instruction set is now integrated into the CPU (offers throughput of several GB/s) to improve the speed and security of applications that use AES for encryption and decryption.Even though it's been 20 years since its introduction we have failed to break the AES algorithm as it is infeasible even with the current technology.Till date the only vulnerability remains in the implementation of the algorithm.

CONCLUSIONS
Although only some of the main image steganographic techniques were discussed in this document, one can see that there exists a large selection of approaches to hiding information in images.All the major image file formats have different methods of hiding messages, with different strong and weak points respectively.Where one technique lacks in payload capacity, the other lacks in robustness.For example, the patchwork approach has a very high level of robustness against most type of attacks, but can hide only a very small amount of information.Least significant bit (AES) in both BMP and GIF makes up for this, but both approaches result in suspicious files that increase the probability of detection when in the presence of a warden.
The proposed approach in this research uses a new steganographic approach called image steganography.The application creates a stego image in which the personal data is embedded inside the cover file image.
Used the Advanced Encryption Standard algorithm in this research for developing the application which is faster and reliable and compression ratio is moderate compared to other algorithms.