Hiding a Secret Information in Image Using Gravitational Search Algorithm

Information is so important thing to us. Therefore, protecting the data by using information concealing techniques have become interest in the most applications. This paper proposed new algorithm is gravitational search algorithm in order to determine best locations in a carrier image (color image) that will be used to conceal secret information by effective and efficient method, this paper propose an effective and efficient method for determining best hiding locations in a carrier (colored image) by using gravitational search algorithm. The gravitational search algorithm is depended on gravity rules that concerns the fact that an object with mass attracts one another. The PSNR of the stego image1 and stego image2 are 72.55 and 71.21 respectively.


Introduction
In recent years and with quick growth of internet applications, almost everything has become digitally.The information that are transmit electronically is growing extremely [1].
Unauthorized user who may attempt to overhear this conversation can either tamper with this information to change its original meaning or it can try to listen to the message with intention to decode it and use it to his/her advantage.Both these attacks violated the confidentiality and integrity of the message passed [2].Steganography (information hiding) is a system to protect secret data in the carrier media.The goal of the system is not only to ensure that the secret message sent in secret, but make the transmitter process is invisible, it is the art of the invisible transmitter process and provide denial in the policy of confidential communications [3].The host media must include the most of its original content.The hidden media should be concealed with certain robustness so that the secret can resist certain attack [4].

Steganography Process
The term steganography is come from Greek and indicate to "covered writing".A Steganography technique contains 3 parts: cover-image (which used to hides the secret data), the secret data and the stega-image (which is the carrier image with secret data concealed in it) [5].Majority of the data and information that hide are image, therefore image steganography indicate to the process of setting confidential data in the image by the sender and is sent to the receiver, the receiver then extract the hidden information from the stego image by using stego key (key provided by sender) [6].The major aim is that the confidential data will not be observed if unauthorized user attempts to intercept the cover media.The operation of extract confidential data from the carrier image is easy because it is mirrored of the concealment process, where the confidential data is detected at the finish.The figure (1) display the process of steganography system.The result of the steganographic system is the stego message.The carrier media should be as same data type as stego image, but the secret data may be in any data type.[7]  where all objects move towards other objects with heavier masses.The slow movement of heavier masses guarantees the exploitation step of the algorithm and corresponds to good solutions [8].which says that" every massive particle in the universe attracts other massive one with a force that is directly proportional to the product of their masses and inversely proportional to the square of the distance between them" [9]: in which M1 and M2 are two particles, R2 is the distance between them, G is a gravitational constant and F is the magnitude of the gravitational force.The G is constant: in which G(t) is the value of gravitational constant at time t, and G(t0) is the value of the gravitational constant at the time of the "creation of the universe" that is being considered.
Newton's second law says that when a force f is applied to a mass, its acceleration A only depends on the force and its mass m: A =F/M………………………………..………………….……….…………….(3) Based on above definitions, the (GSA), known as: Let X = [x1, x2,…… xm] be an universe with m masses, such that xi belong to Rn, where i=1,2,…..m, X represent the positions.One can define, at a specific time t, the force acting on mass i from mass j in the d th dimension as following: Where Rij(t) is the Euclidean distance between masses i and j, and e is a small constant.In order to give a stochastic behavior to GSA, assume the total force that acts on agent i in a dimension d as a randomly weighted sum of the forces exerted from other agents: In which yj denotes a randomly generated number between 0 and 1.The acceleration of mass I at time t and dimension d is given by: ai d (t) = (Fdi(t)) /Mi (t) ……………………………………………..…..…...….. (6) In which the mass Mi is calculated as follows:  Output: Determined locations that visited by (GSA).

Begin
Step1: Divided the carrier image into four imaginary section equally.
Step2: Calculate the fitness function for each object (x) in the search space by using Eq.( 12).
Step3: Generate initial position (fac) of 4 agents at the center of each section, and the value of agent=pixel value Step4: For each section do (a) Calculate the value of mass (m) for each object (x), where mass(m)=fitness object(x), (b) Calculate the value of F between every two objects according to Eq. ( 1).
(c) Evaluate the velocity and position for each agent in the section according to Eq. (10) and Eq.( 11) where yi =0.5, vdi= value of the agent's fitness.

Results
The performance and efficiency of GS algorithm that are applied to determine the optimal solution of the carrier for the first 4 locations that are selected in each section for each agent of the image (1) and image ( 2) is shown in table (1) and table (2).Table (3) shows the times for the first ten iteration required for GS algorithm.The stego images are shown in figure (8).The MSE and PSNR are calculated between the original cover images at figure (5(a,c)) and the stego covers at figure (8).Quality metric values are shown in table (4).

( d )
Comparing current agent fitness value (fac) with local agents fitness value (ba).
(e) If (fac) > (ba) then change the location of (fac) with (upper or lower or right or left).(f)If (fac) < (ba) then fac = max(ba).(g)put max(ba) location in the list (L) to be the best location without repetition.(h)Update velocity according to Eq.(10) and position according to Eq.(11).(i)If number of iteration ≠300 then go step 4(c).

Figure 3 :
Figure 3: Block Diagram of Hiding Secret Information Using GSA

Figure 4 :
Figure 4: Block Diagram of Hiding Secret information Using GSA

Figure ( 5 )
Figure(5) show two cover images with and without the locations that are selected by GS algorithm.It is noted that the algorithm was applied to four sections of the image where the locations chosen by the algorithm were colored in green, figure(6) and figure(7) show the relationship between the locations and its values for stego image (1) and stego image(2) respectively and for the upper right section only, also the locations selected are random (non sequential) and have a large fitness which increases security factor and reduces the possibility of image confusion.

Figure 5 :
Figure 5: Cover Image with and without Selected Locations by GSA algorit

Figure 6 :Figure 7 :
Figure 6: The Relationship Between the Locations and its Values for Stego Image (1)

Table 1 :
(1)ation selected by GS with its values for image(1)

Table 2 :
(2)ation selected by GS with its values for image(2)

Table 3 :
Time and Iteration for GS algorithm.