Hiding a secret watermark in image using intelligent water drops algorithm

Information hiding is one of the great significance in our lives today. Especially when it is sent from one place to another place (from sender to receiver) so it is necessary to find an excellent way to hide this secret information. In this paper we will use the Intelligent Water Drops Algorithm (IWDA) to find the best locations in the cover image (color image) that will be used to hide secret watermark image, this algorithm is used to find the best solutions in the search space by depending on their behavior to reach the goal quickly and efficiently, the (IWD) is nature-inspired swarm-based optimization algorithm, it is depend on the processes that occur within natural river system to find the best paths among many paths and can get-away from local optima more readily than evolutionary algorithms. The PSNR value for new objective (stego image ) it has been measured, and it was very good, where the PSNR value for the image (1) and the image (2) were 82.74 and 81.71 respectively.


Introduction
One of the causes that unauthorized persons can be successful is that most of the information they obtain from a system is in a form that they can read and comprehend.unauthorized persons may detect the information to others, modify it to corrupt an individual or organization, or use it to launch an attack.One solution to this problem is, through the use of steganography.
Steganography is a technique of hiding information in digital media.In contrast to cryptography, it is not to keep others from knowing the hidden information but it is to keep others from thinking that the information even exists [1].The major aim of steganography is to hide information in the other cover media so that other person will not notice the existence of the information [2].Steganography and encryption are both used to ensure data confidentiality.
However the major difference between them is that with encryption any person can see that both sides are communicate in secret.Steganography hides the existence of a secret message and in the best case no person can see that both parties are communicate in secret.This makes steganography proper for some tasks for which encryption aren't, such as copyright marking [3].

Steganographic process
Steganography is the art of hiding and transmitting data through obviously unhurt carriers in an effort to hide the existence of the data, the word steganography literally means wrapped or hiding writing as derived from Greek [4].Image steganography system is include two algorithms, one for embedding and one for extraction.The embedding process hides a secret message within a cover media, and the result of embedding process is stego image.The major issue is that the secret message will not be unnoticed if unauthorized user tries to intercept the cover media (cover image).The extraction process is simply because it is the inverse of the embedding process, where the secret message is revealed at the end [5].A general steganography system is shown in Fig (1).It is assumed that the transmitter wishes to send via steganographic transmission, a message to a receiver.The transmitter starts with a cover message, which is an input to the stego-system, in which the embedded message will be hidden.
The hidden message is called the embedded message.A steganographic algorithm combines the cover massage with the embedded message, which is something to be hidden in the cover.
The algorithm may, or may not, use a steganographic key (stego key), which is additional secret data that may be needed in the hidden process.The same key is usually needed to extract the embedded massage again.The output of the steganographic algorithm is the stego message.
The cover massage and stego message must be of the same data type, but the embedded message may be of another data type.The receiver reverses the embedding process to extract the embedded message [6], [7], [8].

Intelligent water drops algorithm
The IWD algorithm is based on the dynamic of river systems, behaviors and responses that occur among the water drops in rivers.The natural water drops are used to develop IWD and the IWDs collaborate together to reach a better solution for a given problem.The IWD algorithm may be used for maximization or minimization problems.The solutions are incrementally constructed by the IWD algorithm.One iteration of the algorithm is finish when all IWDs have finished their solutions.After each iteration, the iteration-best solution T IB is found and it is used to update the total-best solution T TB .Then, the algorithm starts another iteration with new IWDs, the entire process is repeated.The algorithm stops when it reaches the maximum number of iterations itermax or the total-best solution T TB reaches the expected quality.The IWD algorithm has two types of parameters.One type is those that remain constant during the lifetime of the algorithm and they are called 'static parameters'.The other type is those parameters of the algorithm, which are dynamic and they are reinitialized after each iteration of the algorithm.The IWD algorithm is fixed in the following phases [9]: The first soil on each track = InitSoil such that the soil of the track between every two nodes i and j is set by soil(i, j) =InitSoil .
The first velocity of each IWD = InitVel.
Step2: Initialization of dynamic parameters.Every IWD has a visited location list Vc (IWD), which is initially empty: Vc (IWD) ={ }.Each IWD's velocity is put to InitVel.All IWDs are set to have zero amount of soil.
Step3: Firstly prevalence the IWDs randomly on the search space.
Step4: Update the visited location list of each IWD to include the locations just visited.
Step5: Repeat Steps 5.1 to 5.4 for those IWDs with partial solutions.

Then, go to Step 2 if Itercount < Itermax
Step10: The algorithm stops here with the total-best solution T TB . End.

Proposed method
The major aim of the proposed method is to provide secure connection between sender and receiver by using two techniques that the first is Intelligent Drop Water algorithm ( meta heuristic algorithm ) that used to find the best location in the search space (carrier image ) to hide the secret watermark image, second technique is steganography that used least significant bit algorithm to hide the secret watermark image in the last bit for each color (Red (R),Green (G), Blue (B)) of the cover image pixel.Step3: Each IWD have two main factor to move from source to destination that are velocity and soil, the initial value of soil is selected and equal to zero because the drop is do not moving, and initial value of velocity is represent the value of that location that stand it.
The block diagram of applied IWD algorithm to find the best locations is shown in figure (3).

Results
The performance and efficiency of IWD algorithm that are used to determine the best solution in search space is shown by results, figure (5) show the cover image and stego image, and that sites that have been selected by IWD algorithm are coded in red color, when looking at the stego image notice that the locations that have been selected are similar to a river bed.The table (1), ( 2) show some of the locations and its values that are selected by IWD algorithm for image   The
Input : Cover image Output: Determined best locations in cover image Begin Step1: Initialization of static parameters.The quality of the total-best solution T TB is at first set to the worse value: q(T TB ) = − ∞ .Vol: 13 No:2 , April 2017 DOI: http://dx.doi.org/10.24237/djps.1302.279AP-ISSN: 2222-8373 E-ISSN: 2518-9255 The extreme number of iterations itermax = 500.The iteration count itercount = zero.The number of water drops NIWD = put a positive integer value.The velocity updating, the parameters are av = 1 , bv = .01and cv =1.The soil updating, as =1, bs =.01 and cs =1 .The local soil updating parameter pn = a small positive number less than one The global soil updating parameter P IWD = from [0, 1].

Figure ( 6 )
Figure (6): The relationship between the locations and its values for stego image (1).
Fig (8): The Original and Reconstructed image.