ISSN ONLINE(2320-9801) PRINT (2320-9798)

All submissions of the EM system will be redirected to Online Manuscript Submission System. Authors are requested to submit articles directly to Online Manuscript Submission System of respective journal.

Android Application for Secret Image Transmission and Reception Using Chaotic Steganography

Savithri G1 and K.L.Sudha2
  1. B.E, Dept of CSE, K.S. School of Engineering and Management, Bangalore, India
  2. Professor, Dept of ECE, Dayananda Sagar College of Engineering, Bangalore, India.
Related article at Pubmed, Scholar Google

Visit for more related articles at International Journal of Innovative Research in Computer and Communication Engineering


Information hiding is an art which has been used since long back for covert communication. Steganography is the art of hiding secret message within a larger image or a secret image in another cover image, such that the hidden message or an image is undetectable. Chaotic systems are known for its randomness, it can be made utilized in achieving the encryption. In this paper chaos-based encryption algorithm for images is used. This algorithm is based on pixel scrambling where in the randomness of the chaos is made utilized to scramble the position of the pixels. Random pixel insertion method is used for hiding the secrete image in cover image. This Application is developed using the Java programming language in Android Software Development Kit. This application created for the Android operating system can be used in smart mobile phones for sending any image in a secrete manner by hiding it in another larger image.


Encryption, Steganography, Chaos, Android, Java


The amazing developments in the field of network communications during the past years have created a great requirement for secure image transmission over the Internet. Internet is a public network and is not so secure for the transmission of confidential data. To meet this challenge, steganographic techniques need to be applied. In steganography a secret message/image is embedded in another image but change made in cover image will not cause visible changes in the cover image. Chaos is suitable for steganography, as it is closely related to some dynamics of its own characteristics. The behaviour of the chaos system, under certain conditions, presents phenomena which are characterized by sensitivities to initial conditions and system parameters. Through the sensitivities, the system responses act to be random. The main advantages of the chaotic steganographic approach include: Easy implementation, more randomness, sensitivity to initial conditions, non-periodic, and confidential. One of the simplest methods of steganography is random pixel insertion method wherein the scrambled pixels of the secrete image is inserted in a particular order in cover image. In this work, the message to be hidden is altered according to highly random chaotic sequence generated with Henon map. These pixels are inserted in the cover image in a periodic way such that no articrafts are seen in the cover image.


Thousands of papers which are based on steganography are available today. Individual papers deal with different algorithm to increase the secrecy in transmission. Papers which make use of chaos for cryptography uses different chaotic maps to generate random values and use these values to shuffle the pixels [papers 1-7]. To hide the encrypted image, LSB stuffing method is commonly used. DCT based steganography is another method to hide image [papers 8- 11]. But the development of steganography application on android platform is considered to be more challenging as stated by authors of paper [12] “Steganography on a phone is more difficult, because it requires access to the device's operating system, but no one should doubt that committed individuals will have no trouble rising to the challenge”.
One of the most widely used mobile OS these days is ANDROID. Android is a software bunch, comprising not only operating system but also middleware and key applications. It is an open-source platform developed by Google and the Open Handset Alliance on which interesting and powerful new applications can be quickly developed and distributed to many mobile device users.[13,14] In this paper we have considered the development of the application on android platform.


In the algorithm proposed, we consider two images, one is a cover image and another image is the secret image which has to be embedded in the cover image. The dimension of the secret image should be smaller than that of the cover image. The pixels ratio considered in the algorithm is 6:1.
Henon map is used to derive chaotic sequences, which is generated by using the equation
equation eq .(1)
Here „a‟ and „b‟ are constants whose values are selected to get random sequence. Bifurcation map is helpful in selecting these values. In this application, we have used a =1.76 & b =0.1. If the secret image is an 80*80 image, a chaotic sequence of 6400 is produced taking some initial value for xn where we get random region in the bifurcation map shown in figure(1). For Henon map, random region is found when initial value of x is considered in the range 1.1 to 1.4.
Chaotic maps are very sensitive to initial conditions. Even change in 5th decimal position gives a different sequence. Encryption algorithm is based on paper [7]. The chaotic values are arranged in ascending/descending order.
The pixels in the secret image are shuffled as per the order of replaced chaotic values to get scrambled image. The encryption process is illustrated in figure(2). With this we get first level of secrecy.
Second level of secrecy can be obtained in embedding these pixels in cover image. Redundant positions in the image can be selected to embed the pixels. For simplicity, we have embedded the scrambled pixels at periodic intervals.
At the receiving end, embedded pixels are collected back to get shuffled pixels of secret image. Same chaotic sequence is generated with identical constants and initial conditions are arranged in order to get back the correct positions of pixels. Thus original secret image can be recovered. The block diagram of the secrete communication is shown in figure (3).


Android is an open-source platform developed by Google and the Open Handset Alliance, using which interesting and powerful new applications can be quickly developed and distributed to many mobile device users. Some of Android-based devices are Motorola ANDROID, HTC DROID ERIS, and Google Nexus.
Android Development Tools (ADT) is a plug-in for the Eclipse IDE that is designed to give the users an integrated environment in which one can build Android applications. ADT extends the capabilities of Eclipse to let one quickly set up new Android projects, create an application UI, add components based on the Android Framework API and debug the applications using the Android SDK tools
Android applications are written in Java, and then the compiled Java code is packaged into an Android package known as an .apk file. Bundling application data in this way allows applications to be easily distributed for installation on mobile devices. Indeed, the .apk file is the file that users are required to download and all the code in an .apk is essentially one application.


For any application with android, front end design is very important. Here the user will have all choices to select the work to be done and images to be selected which they want to send secretly. Use case diagram for the application is shown in figure (4).
Demonstration starts off with a login page with launcher icon for the application, where one has to enter the correct login password to begin the process. Start page is the next page encountered (Figure 5a). This page contains options like encrypt and decrypt.
On selecting option Encrypt, one enters into the next page.(Figure 5b). Options like Encrypt with chaos and stego are found in this page. Option encrypt with chaos deals with only encryption of secrete image and communicating it, while later deals with embedding encrypted image into a cover image and communicating. Once Encrypt with chaos is Chosen for image steganography, one needs to select a secret image in SD-card or camera. Chaos effect is applied on the secret image and the image obtained as a result is distorted or shuffled image. As seen (see Figure 6b) the pixels of the secret image are uniformly distributed once chaos pixel shuffling algorithm is applied. Chaotic values obtained will be seen in Log Cat.
For steganography, Cover image is then selected and encrypted image is embedded within. At the receiving end, embedded pixels are collected back and decryption of shuffled image gives back the original image. Different pages of the application are shown in figure 5a to 5c,and 6a to 6g .
An Android project contains all the files that comprise the source code for the Android app. The Android SDK tools make it easy to start a new Android project with a set of default project directories and files. Communication can be between any two android mobiles through mms, email or messengers like what‟sapp


A good encryption algorithm should be very much sensitive to the key. Sensitivity in key plays an important role because to some extent it eliminates the element of cryptanalysis. A slight variation in the key should result in totally different image in the rebuilding process at the destination. In this algorithm, the initial condition assumed to generate the chaotic map acts as the key. An effort to decrypt the encrypted image using another map or initial condition which differs by a very small value also will not give back the original image. Obtained results are shown in Figure 7.Figure 7(a) represents the original image, Figure 7(b) represents decrypted image using actual key and Figure 7(c) represents decrypted image with slightly different key i.e. initial condition. The above results are shown for Henon map with initial conditions „a‟=1.80000 (original key) and slightly different value 1.80001. From the obtained result it is clear that a slight variation, say 0.00001 results in totally different image.
The proposed algorithm will not cause statistically detectable artifacts, provided maximum payload which can be safely be hidden is selected. Here the pixel ratio used for secret and cover image is 1:6. If the secret image, which has to be hidden, has identical pixel values as that of the cover image, its performance will be better since there will be no difference in the intensity of the cover image even after applying steganography. Selected cover images which satisfy above conditions will yield better stego images.
The peak signal-to-noise ratio, often abbreviated PSNR, is an engineering terminology that defines the ratio between the maximum possible power of a signal and the power of corrupting noise that affects the representation of the signal. The PSNR is most often used as an important parameter to calibrate the quality of reconstruction of steganographic images. The signal in this case is the original image, and the noise is the error introduced by some steganography algorithm. It is most easily defined via the mean squared error (MSE) which for two m×n monochrome images I and K where one of the images is considered a noisy approximation of the other.
MSE and PSNR for two images with the implemented algorithm are listed in table1 and values are satisfactory as for as the communication purpose is concerned.


The paper describes about the application development for transmitting and receiving secret image through encryption and steganography using chaos in android platform. Key sensitivity is very high for this algorithm as unintended receiver will not be aware of the type of chaotic map used and initial conditions considered. MSE and PSNR are satisfactory for ordinary communication. The application developed can be easily used as multiple windows help in selecting required objects and achieving secret communication.

Tables at a glance

Table icon
Table 1

Figures at a glance

Figure 1 Figure 2 Figure 3 Figure 4 Figure 5
Figure 1 Figure 2 Figure 3 Figure 4 Figure 5
Figure 1 Figure 2
Figure 6 Figure 7