%% Submissions for peer-review must enable line-numbering 
%% using the lineno option in the \documentclass command.
%%
%% Camera-ready submissions do not need line numbers, and
%% should have this option removed.
%%
%% Please note that the line numbering option requires
%% version 1.1 or newer of the wlpeerj.cls file, and
%% the corresponding author info requires v1.2

\documentclass[fleqn,10pt,lineno]{wlpeerj}

\usepackage{algorithm}
\usepackage{algpseudocode}
\usepackage{longtable}

\title{Double Layer Steganography Technique Using DNA Sequences and Images}

\author[1]{Omnia Abdullah Al-Harbi}
\author[2]{SAsia Othman Aljhadli}
\affil[1]{College of Computer Science and Engineering, University of Jeddah, Jeddah, Saudi Arabia}
\affil[2]{College of Computer Science and Engineering, University of Jeddah, Jeddah, Saudi Arabia}
\corrauthor[1]{First Author}{omnia.alharbi@gmail.com}

% \keywords{Image steganography, DNA steganography,  Robustness, Data security}

\begin{abstract}
Information security has become increasingly challenging as a result of massive advancements in information and communication technologies. Due to the necessity of exchanging private information, along with the open nature of the network, there is an increased risk of various types of attacks. Consequently, data security is an essential component of data communication.

One of the most effective methods used to achieve secrecy is steganography. This method hides data within a cover object without raising suspicion. The level of security is improved when two steganography methods are combined. This approach is known as multilevel steganography, which hides sensitive data in two cover objects in order to provide a two-level security system.

Accordingly, we developed a technique that concentrates on protecting secrecy, while paralleling being robust to attacks. The new technique uses a multi-layer steganography mechanism by using DNA sequences and images as carriers for sensitive data. The technique intends to hide secret messages in the DNA using the substation algorithm, and then the fake DNA is embedded in an image utilizing the discrete cosine transform (DCT) method. Eventually, the stego image is sent to the intended recipient.

Different types of images with different sizes and lengths of messages and DNA sequences were used during the experiments. The results show that the proposed mechanism is resistant to histogram and chi-square attacks. The maximum mean value observed was 0.05, which means the histogram of the original and stego images are nearly identical and the stego image does not raise any suspicion regarding the existence of secret information. 

Besides, the ratios of imperceptibility were good outcomes as the highest PSNR and MSE values were 0.078 and 72.2, respectively. 

Finally, the PNG and BMP images show excellent results. On the other hand, the JPG images failed to meet the expected ratio of imperceptibility and security.
\end{abstract}

\begin{document}

\flushbottom
\maketitle
\thispagestyle{empty}

\section*{Introduction}

The significant improvement in information and communication technologies over the last few decades has increased information security challenges. The security of the data during transmission is essential. The need to exchange sensitive information, as well as the network's openness, increases the probability of numerous attacks. Therefore, data security is important in areas of data communications \citep{vinodhini2018dna}.


The two most popular and significant mechanisms for achieving secrecy are cryptography and steganography. Although these processes differ, they both ensure data security, confidentiality, and integrity \citep{taha2019combination}. Cryptography is a collection of methods based on mathematical concepts. It alters intelligible information into a meaningless form that is unreadable to unauthorized individuals. On the other hand, steganography allows for undetectable communication by concealing data in a cover object \citep{taha2019combination}. Cover object such as text files, images, videos, and DNA sequences are used to hide the hidden data. Steganography's main intention is to conceal sensitive information to avoiding suspicion \citep{morkel2013image}. It relies on hiding the existence of secret data from individuals. In comparison, cryptography offers the ability to transmit the data in a way that prevents unauthorized individuals from reading it.


A two-layer of security is provided by combining cryptography and steganography. The cryptography scrambles the secret message, and then steganography hides the encrypted data in a cover object \citep{aung2014novel}. In the same way, a combination of two steganography methods improves the level of security. This approach is called multilevel steganography, which relies on hiding the sensitive data in two cover objects in order to provide a two-level of security.


As mentioned, the security of data is a real problem when transmitting secret data to remote users over an insecure channel. Accordingly, this research aims to develop a technique that concentrates on protecting secrecy, while paralleling being robust to attacks. The new technique uses a multi-layer steganography mechanism by using DNA sequences and images as carriers for sensitive data. The algorithm of the technique intends to hide secret messages in the DNA, and then the fake DNA is embedded in an image by using an embedding method. Eventually, the result of this algorithm is a stego-image that is sent to the intended recipient.


The proposed technique can be used in various domains, including securing the data from enemies, communicating sensitive data such as criminal records, or transferring patients' data. The following is a breakdown of the paper's structure. Section 2 provides an overview of DNA-based and image-based steganography. Section 3 discusses the related works that have been reviewed. Section 4 illustrates the proposed technique and the methods used to develop it. Section 5 is about the experiments and the evaluation metrics that were used, and the results of these experiments, besides comparisons with existing techniques. Section 6 concludes with a review of the anticipated work


\section*{Background}
\label{sec:Background}
This section begins with a review of the steganography concept, followed by a general biological overview of DNA, and concludes with the use of DNA as a cover object in steganography. It also discusses image-based steganography and its various types.



\subsection*{Steganography}

Steganography is defined as a set of mechanisms that are concerned with concealing secret data in a cover object in such a way that the hidden data is invisible to individuals \citep{cox2007digital}. The term steganography comes from the Greek word "covered writing". Steganography can hide various types of data within a cover file, like text, images, videos, or anything that can be represented as a bit-stream. Moreover, there are different types of cover object, such as text files, images, videos, and DNA sequences.

Mathematically, the below equations represent the embedding (Emb) and extraction (Ext) processes. Let c represent a cover object from a set C of all cover objects, k denotes an optional key from a set K of all keys, and m indicates a secret message from a set M of all secret messages \citep{cox2007digital}.

$$Emb: C\bigoplus K\bigoplus M\rightarrow C^{'}$$
$$Ext:(EM(c,k,m))=m, for \, all \: c\in C, k \in K, m \in M$$

Any steganography technique's main objective is to provide safe, useful, and efficient communication that is also completely undetectable. Any object with a lot of redundant bits is therefore considered to be perfect since it is tough to determine if a redundant bit has changed \citep{hmood2010overview}. The redundant bits of a cover object that give precision considerably greater than needed for the object's use and presentation are referred to as redundancy in this context. As a result, a safe steganography technique is one in which the original cover item cannot be distinguished from the stego object by a person or computer.
The effectiveness of any steganography algorithm is measured using three criteria. The first is capacity, which refers to the maximum quantity of hidden information that an object can contain \citep{altaay2012introduction} . The second criteria is imperceptibility, which states that the stego-cover and original cover are identical and cannot be distinguished from one another \citep{altaay2012introduction}. Third, robustness, which is the resistance to attacks and unexpected modifications \citep{kaur2014steganography}. The association between these three criteria is represented by the steganography triangle shown in figure \ref{fig:Steganography Triangle} \citep{majeed2021review}. In the end, it is vital to maintain the robustness while expanding the capacity and imperceptibility.

\begin{figure}[ht]
\centering
\includegraphics[scale=0.25]{Steganography Triangle.jpg}
\caption{Steganography Triangle \citep{majeed2021review}}
\label{fig:Steganography Triangle}
\end{figure}


\subsection*{DNA}
\paragraph{Biological Overview}
Deoxyribonucleic acid, or DNA, is a molecule that houses the genetic information required for the growth and operation of all recognized living things, including viruses \citep{hamed2016comparative}. Four chemical bases—adenine (A), guanine (G), cytosine (C), and thymine (T)—collectively known as nucleotides are used to encode the information found in DNA \citep{hamed2016comparative}. 

\paragraph{DNA based steganography}
The Deoxyribose Nucleic Acid (DNA) has been used to perform computation operations and is considered as a branch of computing called DNA computing. DNA sequences have various biological properties that can be employed for solving intractable problems \citep{ibrahim2016improving}. Therefore, the biological properties of DNA sequences are exploited to obtain secure and robust cryptography and steganography techniques.

The scientific discipline of DNA steganography is a recent and cutting-edge one that began in 1999. For a number of reasons, the DNA sequences served as an effective transporter for the secret information. A gram of DNA can hold approximately 108 terabytes, therefore it has a large storage capacity \citep{hamed2016comparative}.Additionally, the complexity and randomness of DNA sequences provide dependable security, robustness, and protection \citep{guo2012new}.Furthermore moreover, the easiness with which data may be changed into a DNA sequence and vice versa. Eventually, original DNA and altered DNA cannot be distinguished from one another \citep{marwan2017utilizing}.

A common and easy way of translating data into a DNA format and vice versa is to translate each DNA base into two binary bits. The following table \ref{table:DNA-binary Representation} displays how DNA is represented  in binary . Some of the methods nevertheless developed their own conversion rules.

\begin{table}[!ht]
\caption{DNA-Binary Representation} 
\label{table:DNA-Binary Representation}
    \centering
    \begin{tabular}{|l|l|}
    \hline
        DNA base & Binary representation  \\ \hline
        A & 00  \\ \hline
        C & 01  \\ \hline
        G & 10  \\ \hline
        T & 11  \\ \hline
    \end{tabular}
\end{table}

\subsection*{Image Steganography}
Due to their widespread use online, images are the sort of cover object utilized in steganography the most frequently. It is regarded as the ideal cover object because of the high quantity of superfluous bits.  Image steganography techniques can be divided into two categories: the transform domain and the spatial domain.

The spatial domain methods directly alter the image by changing some of the image's pixel values with the secret message bits \citep{hussain2013survey}. This approach makes use of the huge amount of redundant data. Here are some examples of spatial domain methods: spatial domain methods: least significant bit (LSB), pixel value differencing (PVD), edges based data embedding method (EBE), and random pixel embedding method (RPE).

The transform domain method is another name for the frequency domain method. Before embedding the secret message, these approaches require transforming the cover-image from the spatial domain to the frequency domain \citep{hussain2013survey}. This approach hides messages in significant  areas of the cover image, which create a more resistant to image manipulation attempts. Frequency domain methods include the discrete fourier transformation technique (DFT), the discrete cosine transformation technique (DCT), and the discrete wavelet transformation technique (DWT).


\section*{Literature Review}
\label{sec:Literature Review}
Because the combination of image-based and DNA-based steganography is so new, there aren't many works that deal with concealing data using this approach.
As per literature review done by \cite{alharbi2020robust}, Table \ref{table:Comparison between the reviewed related work} shows the contribution of researchers in this field.

\cite{vinodhini2018dna} The technique depends on splitting the DNA sequence into equal segments, and after that, the secret data is inserted using the insertion method at the end of each segment. The developers tried two distinct approaches for hiding the fake DAN sequence inside the cover image, LSB and F5. The results show that the LSB approach is easily exploitable, and that the fake DNA sequence is easily recoverable. F5 methods, on the other hand, provide superior security.

\cite{roy2015novel} employs the insertion technique to conceal the secret info within the DNA sequence Following that, the DNA sequence is encrypted. The LSB technique is then used to conceal the encrypted DNA sequence within an image.

\cite{das2015improved} uses a fake DNA sequence rather than a real one, by creating it from the cover image. Using the replacement method, the secret data is entered in the DNA. The two-bit least significant bit (LSB), used to conceal two bits in a single pixel, is then used to insert the mutated DNA into the cover image.

For \cite{tuncer2016reversible}, the data is hidden in the DNA sequence using the DNA-XOR approach. And, using LSB, each bit of the fake DNA is placed in the cover image's red, green, and blue channels, respectively

\paragraph{As conclusion} the DNA sequence in \citep{das2015improved} and \citep{tuncer2016reversible} is made from a cover image or secret data and is not real. The secret message bits are inserted into the DNA sequence at different points in \citep{malathi2017highly} and \citep{roy2015novel}, which lengthens the DNA sequence. This technique, known as the insertion method, is classified as the most overt data hiding technique that attracts unauthorized users' attention.

In \citep{roy2015novel} and \citep{das2015improved} The Least Significant Bit (LSB) method is employed, which is considered as the simplest embedding method for concealing hidden information within an image.

\begin{table}[h!]
\centering
\caption{Comparison Between the Related Works} 
\label{table:Comparison between the reviewed related work}
\centering
    \begin{tabular}{|l|l|l|l|l|l|}
    \hline
        \shortstack{Criteria}   & \shortstack{DNA \\source} & \shortstack{DNA\\ hiding \\ technique}  & \shortstack{Image \\ hiding \\technique}   & Strength & Weakness  \\ \hline
        \cite{malathi2017highly} & Database & \shortstack{Insertion\\ Method} & \shortstack{LSB \\ F5} &  \shortstack{uses the F5\\ algorithms \\for hiding the\\ DNA sequence \\into image} & \shortstack{Using the\\ insertion \\method.}    \\ \hline
        \cite{roy2015novel} & Database & \shortstack{Insertion \\Method} & LSB &   \shortstack{Authentication \\ mechanism \\ and Encrypting\\ the DAN \\sequence} & \shortstack{Using the \\ insertion\\ and  LSB\\ methods}    \\ \hline
        \cite{das2015improved} & \shortstack{Constructed \\from the \\cover image} & \shortstack{Replacement \\Rules} & LSB &  \shortstack{Encrypting \\the secret data\\ using RC4 \\before the\\ hiding process} & \shortstack{Two-bit \\ least \\significant\\ substitution\\ (LSB)}  \\ \hline
        \cite{tuncer2016reversible} & \shortstack{Constructed \\from the \\secret data} & XOR & XOR &   \shortstack{The best PSNR\\ values among \\the others\\ and it uses \\the DNA-XOR \\and LSB together \\for hiding\\ the data} & \shortstack{Complexity \\of the\\ algorithm } \\ \hline
    \end{tabular}
    \end{table}

\section*{Methodology}
\label{sec:Methodology}
After reviewing the work done on multilevel steganography using DNA sequences and images together as cover objects. This work contribution is about introducing a new technique that focuses on avoiding the weaknesses of the reviewed work and achieving security. Moreover, to improve efficiency, other criteria were identified and employed during the development of the proposed work.

To achieve our aims, we have to avoid the limitations of the reviewed work. The following are the major aspects that must be complied with: 
\begin{itemize}
\item Using a real DNA sequence to get the benefits of its complexity and randomness gives high protection, security, and robustness.
\item Using an efficient and secure DNA steganography method.
\item Using an efficient image steganography method that gives a high visual quality stego-image to avert attackers’ suspicion.
\end{itemize}

We can describe the proposed work as a layered architecture that consists of two layers or stages. Each layer performs a particular role, and it must go through the layers in sequential order. The input of the architecture is the secret message that needs to be hidden inside a cover object to be invisible to unauthorized individuals. And the output is an image that contains the secret message. The next sections will describe these layers and the methods used in each one in detail.

The proposed technique is implemented using Conda environment in a Jupyter notebook and using the Python language.; it consists of two  main functions as below:
\begin{enumerate}
    \item The secret information is embedded into a real DNA sequence using the substitution algorithm with the use of a pseudo-random generator (PRG). Subsequently, the fake DNA that contains the secret message will be embedded into an image using the discrete cosine transform (DCT).
    \item The extracting mechanism: is similar to the embedding mechanism in which the fake DNA is retrieved from the steg-image and the secret message is retrieved from the fake DNA.
\end{enumerate}

\paragraph{DNA-based steganography  Layer}
The goal of DNA-based steganography is to strengthen security by using a real DNA sequence, because the complexity and randomness of real DNA offer excellent protection, security, and robustness. To embed the hidden message in DNA-based steganography, three primary methods are used: insertion, substitution, and complementary rules-based methods. \citep{shiu2010data}.

Table \ref{tab:DNA-based steganography methods} shows a comparison between them\citep{zebari2017security}. For the insertion method, the DNA sequence length will increase as the secret message is added to it. Because of that, the payload does not equal zero. Additionally, both the sender and the receiver must agree on which part of the message will be inserted, so it is an un-blinded algorithm. For the complementary pair rules, both the sender and the receiver must agree on the rules before starting the process, and it's considered a secure method because the attacker has to know the rules to extract the data unless the attacker eavesdrops on the prior communication between the two sides.

Eventually, the substitution method is considered a secure method as the payload is zero and there are no observed changes to the DNA \citep{malathi2017highly}. Additionally, it has a high capacity. 


Moreover, based on the comparison between the three main methods that are accomplished by \citep{zebari2021significant} the substitution method is considered the strongest because it keeps the payload constant at zero. Therefore, we will use this method in our proposed technique to embed the secret message in the DNA sequence.

To determine where the secret message will be embedded in the DNA sequence. We used the pseudo-random generator (PRG), which is an algorithm that can provide random sequences of numbers indistinguishable from truly random numbers. The initial value can reproduce these numbers entirely, which is the seed. Moreover, random sequences of numbers are unpredictable, so it preserves the overall security \citep{el2020lightweight}.



\begin{table}[!ht]
\caption{DNA-Based Steganography Methods } \label{tab:DNA-based steganography methods}
    \centering
  \begin{tabular}{|p{2cm}|p{3cm}|p{3cm}|p{3.5cm}|p{2.5cm}|}
    \hline
    
        Method Name  & Description  & Strength Points & Weakness \\ \hline
        
        \centering Insertion  & \centering \shortstack{DNA sequence is \\segmented into \\equal parts,\\ then the secret \\message bits \\ is inserted after \\each part.}  & \centering High Capacity &  \shortstack{Payload not \\equal zero \\and un-blinded algorithm}\\ \hline
        \centering \shortstack{complementary \\pair rules} & \centering \shortstack{It uses a defined\\ rules by the \\sender to insert\\ the data in some\\ certain parts\\ of the DNA.} & \centering \shortstack{Secure as the \\attacker has to \\ know rules \\to extract the data} & \shortstack{High modification rate ,\\ Payload not equal zero \\and un-blinded algorithm} \\ \hline
        Substitution  & \centering \shortstack{substitute some\\ parts of the \\DNA that are \\randomly selected }& \shortstack{Secure, High capacity\\ and \\the Payload is \\equal to zero }
        & \shortstack{Un-blinded algorithm} \\ 
        \hline
        
    \end{tabular}
\end{table}

\paragraph{Image-based steganography Layer}
As previously mentioned, there are two categories for image steganography techniques: the spatial domain and the transform domain. Table \ref{tab:Comparison of various techniques of  image steganography } shows an analysis of various techniques of steganography. Based on this analysis, we have selected the DCT method as it is highly secure, and it is challenging to detect the secret data in the image. Moreover, it is easy to implement compared with the transform domain methods \citep{hussain2018image}.
Mainly, DCT divides the image into three frequency bands (low, medium, and high) that help to select which band should contain the secret data. The mid-frequency DCT coefficients were chosen in order to ensure that the visual properties of the modified image are not adversely affected by the embedding effects \citep{evsutin2020digital}.

\begin{table}[!ht]
\caption{Comparison of Various Techniques of  Image Steganography } \label{tab:Comparison of various techniques of  image steganography }
    \raggedleft
    \begin{tabular}{|l|l|l|l|l|l|}
    \hline
        Methods & Domain & Capacity & Imperceptibility & Robustness & Implementation \\ \hline
        LSB & Spatial & High & High & Low & Very simple \\ \hline
        PVD & Spatial & Medium & High & Low & Very simple \\ \hline
        DCT & Transform & Medium & High & High & \shortstack{Easier than other \\transform domain\\ methods} \\ \hline
        DWT & Transform & Medium & High & High & Complex \\ \hline
        DFT & Transform & Medium & High & High & Complex \\ \hline
    \end{tabular}
\end{table}

\subsection*{The proposed technique: Embedding mechanism}

In this section, we will illustrate the embedding technique. Fig \ref{fig:Flow Chart of the Embedding mechanism} shows its workflow. As mentioned before, the proposed work consists of two layers, so we will explain each one separately in the following sections.

\begin{figure}
\centering
\includegraphics[angle=0, scale=0.7]{embedding algorithm.png}
\caption{Flow Chart of the Embedding Mechanism} %caption under figure
\label{fig:Flow Chart of the Embedding mechanism}
\end{figure}

\begin{itemize}
    \item Layer 1: DNA Steganography 
    \begin{enumerate}
        \item Convert the message (M) into binary (M') using algorithm \ref{alg Convert String to binary}.
        
\begin{algorithm}
\caption{Convert String to Binary}\label{alg Convert String to binary}
\begin{algorithmic}
\Require Secret Message (M)

\State $M' = M.encode("ASCII")$

\end{algorithmic}
\end{algorithm}
        \item Convert the binary message (M') into a DNA sequence ($M_{DNA}$) using algorithm \ref{alg Convert binary to DNA sequence}.
\begin{algorithm}
\caption{Convert Binary to DNA Sequence}\label{alg Convert binary to DNA sequence}
\begin{algorithmic}
\Require Binary secret message (M')
\State $X \gets 0$
\State $M_{DNA} \gets ...;$
\State $L \gets length(M')$
\For{$X$ to $L, Every two digits$}                    
        \If{$X \gets "00"$}
          \State $M_{DNA} \gets M_{DNA}.Append("A")$
             \ElsIf {$X \gets "01"$}
           \State $M_{DNA} \gets M_{DNA}.Append("C")$
             \ElsIf {$X \gets "10"$}
           \State $M_{DNA} \gets M_{DNA}.Append("G")$
           \ElsIf {$X \gets "11"$}
           \State $M_{DNA} \gets M_{DNA}.Append("T")$
           \EndIf
           \EndFor
\end{algorithmic}
\end{algorithm}
        \item Generate a random sequence of numbers using PRG using algorithm \ref{alg Pseudo Random Generator},  the numbers in the sequence should be between 0 and 2. 
\begin{algorithm}
\caption{Pseudo Random Generator (PRG)}\label{alg Pseudo Random Generator}
\begin{algorithmic}
\Require $Seed  value$, $M_{DNA}$
\State $X \gets 0$
\State $seed \gets 512$
\State $Random \gets ...$
\State $L \gets length( M_{DNA})$
\State \For{$X \gets L$}  
    \State $V= Randint(0,2)$
    \State $R = Random.append(V)$
  \EndFor  

\end{algorithmic}
\end{algorithm}
        \item Substitution method: In each segment, replace the nucleotide in the DNA sequence with a secret message nucleotide based on the location value gotten by the PRG using algorithm \ref{alg Substation method}.
\begin{algorithm}
\caption{Substation Method}\label{alg Substation method}
\begin{algorithmic}
\Require $M_{DNA}$ , $DNA_{Original}$ ,  $Random$
\State $X \gets 0$
\State $L \gets $length($M_{DNA}$)
  \For${X \gets DNA_{Original}}$
    \If{$M_{DNA}[X] \geq $L}
       \State $Break$; 
    \Else 
       \State $i[Random[DNA_{Original}.index(i)] = M_{DNA}[DNA_{Original}.index(i)]$
   \EndIf
  \EndFor
\end{algorithmic}
\end{algorithm}
        \item Remove extra DNA; we will keep only the used sequence part
    \end{enumerate}
    
    \item Layer2: Image Steganography
    \begin{enumerate}
        \item Dividing the original image into  8 × 8-pixel blocks.
    \item In each block, DCT is applied, and the output is the DCT coefficients. 
    \item coefficients located in the mid-frequency range are selected in each block. the location of the two values has to be symmetric ex: D[4,5] and D[5,4].
    \item For each bit in the $DNA_{Fake}$: to transmit a 0, We will increase the first coefficient ex: D[4,5] and reduce the second ex: D[5,4]. Moreover, to transmit  a 1, reduce the first coefficient ex: D[4,5] and increase the second D[5,4]. 
    
    Algorithm \ref{alg:DCT} shows the pseudo code for hiding the fake DNA into the orignal image. 
    \end{enumerate}
    
    
\begin{algorithm}
\caption{DCT Steganography Algorithm}\label{alg:DCT}
\begin{algorithmic}
\Require $Image_{original},  DNA_{Fake}$
\State $Mid-Coff \gets []$
\State Divide $Image_{original}$ into 8*8 blocks $(B)$
\For {each $B$}
     \State Mid-Coff =Apply DCT using equation(3.1,.3.2, and 3.3)
    \EndFor
\For {each 2 pair of Mid-Coff $(P1,P2)$}
 \If{$DNA_{Fake}$ Bit value =0}
\State increase $P1$
 \ElsIf{$DNA_{Fake}$ Bit value =1}
\State increase $P2$
\EndIf
\EndFor
\end{algorithmic}
\end{algorithm}    
\end{itemize}

\subsection*{The proposed technique: Extracting mechanism}\label{ch3s3s3}

The extraction workflow is shown in figure \ref{fig:Flow Chart of the Extraction mechanism}. The extraction of the secret data from the stego image is shown in the below points .

%add figure
\begin{figure}
\centering
\includegraphics{extraction algorithm.jpeg}
\caption{Flow Chart of the Extraction Mechanism} %caption under figure
\label{fig:Flow Chart of the Extraction mechanism}
\end{figure}

\begin{itemize}
    \item Dividing the Stego original image into 8 × 8-pixel blocks.
    \item In each block, DCT is applied, and the output is the DCT coefficients.
    \item Each block is compressed through a quantization table.
    \item Calculate the LSB of each DC coefficient
    \item Generate a random sequence of numbers using PRG
    \item Segment the extracted DNA, and use the random sequence to extract the nucleotide
    \item Convert the nucleotide into binary using the conversion rules
\end{itemize}



\section*{Experimental and Results}
Several types of experiments were used to evaluate and compare the proposed technique with the previously reviewed techniques. These experiments are in terms of capacity, imperceptibility, and security.
\subsection*{Evaluation Criteria}
In this section, the experiment evaluation criteria are explained. These criteria indicate the stego-quality of the images and enables for comparison with other methods.
\paragraph{Capacity}

The amount of data that can embed inside the cover image without causing any noticeable visual or statistical distortion is referred to as the payload or capacity. \citep{kaur2014steganography}. The capacity of the steganography should be maintained without impacting the imperceptibility and security. The capacity represents by the number of characters, bits, bytes, or kilobytes.
\paragraph{Imperceptibility Metrics}
The main important criteria for steganography is ensuring the invisibility of the secret data. Several metrics, including the human visual system (HVS), Mean Squared Error (MSE), and Peak Signal to Noise Ratio (PSNR), can be used to assess imperceptibility \citep{evsutin2020digital}. We calculate these metrics to evaluate the quality of the stego-image and compare it with the original image and existing techniques. Below we explain the imperceptibility metrics:
\begin{enumerate}
\item The Human visual system (HVS)

HVS means that the embedded data should not be obvious to the human vision \citep{atta2018high}. This means that the original image must be indistinguishable from the stego image. However, secret data was embedded using the proposed technique. Visually, you can see that there is no difference between the two images. As a result, the proposed technique successfully and distortion-free conceals the hidden data in the original image.
\item Mean Squared Error (MSE)

By measuring the distortion in the stego-image, this metric demonstrates the variation between the original image and the stego-image. By comparing each byte in the stego-image with the corresponding byte in the original image. The comparisons result is the mean of the squared intensity differences between the two images \citep{shah2018secure}. This value should be as low as possible to achieve a high-quality stego-image that looks identical to the original image. The MSE is calculated using (equation 1) where the image is divided into N columns and M rows. A pixel's value at the (i,j) location of the original image is represented by $X ij$ in each column, while a pixel's value at the (i,j) position of the stego-image is represented by $Y ij$. \citep{kaur2016survey}.


\begin{flalign}
& MSE = \frac{1}{(MN)}\sum_{i=1}^{M}\sum_{j=1}^{M} (x_{ij}-y_{ij})^2&
\end{flalign}

\item Peak Signal to Noise ratio (PSNR)

The most common metric is PSNR. By dividing the highest color intensity value in the cover image by the MSE, it determines the stego-quality. A large value of PSNR means less distortion; therefore, a small difference between the original and stego images \citep{kaur2016survey}. The PSNR is calculated using (equation 4.2).

\begin{flalign}
& PSNR = 10\cdot\log_{10}\frac{(255)^2}{(MSE)}&
\end{flalign}

\item Structural Similarity Index (SSIM)


The SSIM is another metric for measuring the similarity between the cover and stego image in terms of structural information changes by modeling the image into three elements: the loss of correlation, the luminous distortion, and the contrast distortion. It is used to quantify image quality distortion after embedding the secret data \citep{hashim2018performance}. The outcome of SSIM is a numerical value between zero and one. "1" means that the stego image and original are a perfect match, which means if the outcome value is close to "1" then the stego image has less distortion. There is, therefore, a very small and non-noticeable difference between the original and stego. The SSIM is calculated using (equation 4.3). where $\mu_{C}$ and $\mu_{C*}$ are the average of original image (C) and the stego image (C*), $\sigma_{C}^2$ and $\sigma_{C*}^2$ are the variance of C and C*. And, $\mu_{C}\mu_{C*}$ is the co-variance of C and C*, and Divide by $d_1$ and $d_2$ are to stabilize the division\citep{pan2022double}.

\begin{flalign}
& SSIM = \frac{(\mu_{C}\mu_{C*} + d_1)(\sigma_{CC*} + d_2)}{(\mu_{C}^2+\mu_{C*}^2 + d_1)(\sigma_{C}^2 + \sigma_{C*}^2 + d_2)}&
\end{flalign}
\item Image Fidelity (IF)

This metric determines the general image quality in terms of visual equivalent. The outcome is a numerical value between zero and one. One means that the stego image and original are a perfect match and have less distortion. There is, therefore, a very small and non-noticeable difference between the original and. It is calculated using (equation 4.4) where $C_t$ and $C_i$ are cover bits and stego bits,respectively \citep{elkandoz2019double}.

\begin{flalign}
& IF = 1- \frac{\sum_{t=1}^{H*W}(C_t - S_t)^2}{(\sum_{i=1}^{H*W}(C_i)^2}&
\end{flalign}
\item Entropy 

This metric is used to measure the amount of information that the stego image contains with its original image. Through calculating the difference in uncertainty between both images Thus, the higher this value, the more information the image contains. Entropy is calculated using (equation 4.5) Where in each color channel, The set of grey levels in that channel is represented by N, and their probability is given by p(x) \citep{elkandoz2019double}.

\begin{flalign}
& Entropy = \sum_{x=0}^{N-1} p(x) \log_{2} p(x)&
\end{flalign}
\end{enumerate}

\paragraph{Security analysis}
The essential requirement for steganographic techniques is resistance against unauthorized attacks. This measure is known as robustness. Usually, attackers attempt to retrieve or detect the presence of secret information inside the stego-image \citep{kaur2021hybrid}. To evaluate the security, we used the  most well-known steganography attacks, which are the histogram analysis and the chi-square attack. These attacks are considered one of the most efficient experiments to evaluate the security of a stego-image. The following sections illustrate them:
\begin{enumerate}
\item Histogram Analysis

Histogram analysis is a mathematical analysis of the image data used to identify the correlation between the cover image and stego image. 
It is a graphical diagram in which the x-axis and y-axis explain the pixel difference between each pair of pixels and the number of occurrences, respectively \citep{pradhan2016performance}.
Moreover, it visualizes the differences in pixel value level between the cover image and its corresponding value in the stego images. And these differences can be easily observed.

\item Chi-Square Attack

The chi-square is another well-known method that is used to determine the robustness of the steganography technique against attacks by checking the difference of statistical probability analysis between the original image and the stego image that contains the secret data. The outcome of this method is a numerical value between 0 and 1 \citep{hosam2019attacking}. If the difference is around zero it means no data is hidden inside the image, otherwise, if close one it means the image carried a secret data.

\end{enumerate}
\subsection*{Experimental setup}\label{ch4s3s1}

Experiments were developed using the Conda environment in a Jupyter notebook and using the Python language. With the help of several libraries like: $numpy$ for the advanced calculations, $skimage$ metrics for imperceptibility metrics, $matplotlib$ for histogram analysis and CV2 $(HISTCMP CHISQR)$ for chi-square.

\paragraph{Secret Message}

Different plain text is used in testing with different sizes. All the plain texts contain letters, numbers, and special characters to cover all the possibilities of the plain text.
\paragraph{Images}

To evaluate the proposed technique, six colored images of different types and sizes were used, as shown in Table \ref{table:Images used in testing}. These types are BMP, PNG, and JPG with two different dimensions 1024x 1024 and 512 x 512 pixels.
	

\begin{table}[!ht]
\caption{Images Used in Testing} 
\label{table:Images used in testing}
    \centering
    \begin{tabular}{|l|l|l|l|}
    \hline
        Image Type & Cover image & Image name & Image size  \\ \hline
        \multirow{BMP} & \includegraphics[scale=.2]{lenaa1.png} & Lena & 512*512  \\ \cline{2-4}
        ~ &  \includegraphics[scale=.1]{SwimmingPool.png}& Swimming pool & 1024*1024  \\ \hline
        \multirow{JPG} &  \includegraphics[scale=.2]{City.jpg} & City & 512*512  \\ \cline{2-4}
        ~ & \includegraphics[scale=.08]{Streets.jpg} & Street & 1024*1024  \\ \hline
        \multirow{PNG} & \includegraphics[scale=.2]{CAR.jpg}   & Car & 512*512  \\ \cline{2-4}
        ~ &  \includegraphics[scale=.1 ]{Coast.png}   & Coast & 1024*1024  \\ \hline
    \end{tabular}
\end{table}
\paragraph{DNA Sequences}

Different DNA sequences with different sizes are used to hide the plaintext. The below table \ref{table:DNA sequences used in testing} gives the DNA sequences and their scientific names. And the number of nucleotides in the DNA. These DNA where collected from the The National Center for Biotechnology Information https://www.ncbi.nlm.nih.gov/.

\begin{table}[!ht]
\caption{DNA Sequences Used in Testing} 
\label{table:DNA sequences used in testing}
    \centering
    \begin{tabular}{|l|l|l|}
    \hline
        Locus & Nucleotide & Common name  \\ \hline
        DP001042.1 & 174523 & rabbit  \\ \hline
        DP001046.1 & 173940 & black-handed spider monkey  \\ \hline
        AC254805.6 & 147388 & dog  \\ \hline
        AC254809.1 & 127817 & human  \\ \hline
        AC254802.6 & 144410 & dog  \\ \hline
    \end{tabular}
\end{table}

\subsection*{Experimental Results}

\paragraph{Capacity Results}
As we are using the DCT to hide the data in the images, the maximum capacity is limited by the number of quantized DCT blocks in the image. Table \ref{table:The maximum Capacity per image} shows the image capacity in terms of the maximum characters and bits that can be embedded in each image. 

The results show that the proposed algorithm can hide a large amount of data, up to 90\% of the image size, whatever the image type. Also, the maximum capacity is 1024 characters (8192 bits) using 1024 image size. This means the maximum capacity is equal to the image size for the 1024 image size.

\begin{table}[!ht]
\caption{The Maximum Capacity Per Image} 
\label{table:The maximum Capacity per image}
    \centering
    \begin{tabular}{|l|l|l|l|}
    \hline
        Image Type & Cover image & Capacity (Char) & Capacity (Bits)  \\ \hline
        \multirow{BMP} & Lena & 188 & 1504 \\ \cline{2-4}
         & Swimming pool & 1024 & 8192  \\ \hline
        \multirow{JPG} & City & 256 & 2048  \\ \cline{2-4}
        ~ & Street & 1024 & 8192  \\ \hline
        \multirow{PNG} & Car & 512 & 4096  \\ \cline{2-4}
        ~ & Coast & 1024 & 8192  \\ \hline
    \end{tabular}
\end{table}

\paragraph{Imperceptibility Metrics results}
Table \ref{tab:Imperceptibility Metrics values at different payloads} shows the MSE, PSNR, SSIM, IF, and Entropy for the images used in the evaluation and comparison between the original and stego image after the embedding procedure. In addition, Table \ref{tab:Comparison between the Original image and the stego image} shows that there are no visible artifacts between the two images visually using the HVS. Hence, the proposed technique successfully hides the secret data in the original image without any distortion.

The results show that the MSE, PSNR, SSIM, IF, and Entropy values for PMP and PNG are excellent as the minimum PSNR value is 60.052 and the MSE is 0.064, which means distortion is exceptionally minimal. On the other hand, we found that JPG images are not sufficient for hiding the data using the proposed technique as the PSNR value is between 37 and 31 and the MSE is between 11.413 and 46.704. These ratios affect the quality of the image. 

Moreover, the values for SSIM and IF for the PMP and PNG are excellent as the minimum SSIM value is 0.999766 and IF is 0.994189, which are very close to one, which means that the stego image and original are a perfect match and have less distortion. On the other hand, the SSIM and IF values for JPG are lower than for other image types. The value of the SSIM is between 0.888422 and 0.98144 and the IF value is between 0.490219 and 0.743097. These ratios affect the quality of the image. 

Furthermore, the entropy metric determines the amount of information the image contains. A higher value may lead to the exposure of the existence of hidden data. The average entropy values of PMP and PNG are very good as BMP's average value is 0.005 and PNG's is.004, which are near to zero. Contrarily, the JPG images had a higher value, which is 0.81, and this ratio will expose the existence of hidden data.

\begin{table}[!ht]
\caption{Imperceptibility Metrics Values at Different Payloads} 
\label{tab:Imperceptibility Metrics values at different payloads}
    \centering
    \begin{tabular}{|l|l|l|l|l|l|l|l|}


\hline
Type & Size & Payload & MSE & PSNR & SSIM & IF & Entropy \\
\hline
\multirow{PNG} & \multirow{512} & 10 & 0.011 & 67.708 & 0.999981 & 0.9995 & 0.002  \\ \cline{3-8}
         &  & 50 & 0.032 & 63.047 & 0.999953 & 0.99832 & 0.009  \\ \cline{3-8}
         &  & 90 & 0.078 & 59.234 & 0.999889 & 0.9961 & 0.017  \\ \hline
         \multirow{PNG} & \multirow{1024} & 10 & 0.004 & 72.217 & 0.999936 & 0.99997 & 0  \\\cline{3-8}  
        &  & 50 & 0.008 & 69.156 & 0.9999 & 0.99968 & 0.001  \\ \cline{3-8}
        &  & 90 & 0.012 & 67.502 & 0.999887 & 0.99935 & 0.001  \\ \hline
        \multirow{JPG} & \multirow{512} & 10 & 11.413 & 37.557 & 0.98144 & 0.7431 & 0.081  \\ \cline{3-8}
        &  & 50 & 11.414 & 37.557 & 0.981437 & 0.74309 & 0.081  \\ \cline{3-8}
        &  & 90 & 11.413 & 37.557 & 0.981438 & 0.7431 & 0.081  \\ \hline
        \multirow{JPG}& \multirow{1024} & 10 & 46.695 & 31.438 & 0.888436 & 0.49025 & 0.018  \\ \cline{3-8}
        &  & 50 & 46.702 & 31.437 & 0.888428 & 0.49023 & 0.018  \\ \cline{3-8}
        &  & 90 & 46.704 & 31.437 & 0.888422 & 0.49024 & 0.018  \\ \hline
        \multirow{BMP} & \multirow{512} & 10 & 0.009 & 68.422 & 0.999958 & 0.99936 & 0  \\ \cline{3-8}
        &  & 50 & 0.042 & 61.885 & 0.999847 & 0.99634 & 0.003  \\ \cline{3-8}
        &  & 90 & 0.064 & 60.052 & 0.999766 & 0.99419 & 0.007  \\ \hline
        \multirow{BMP}& \multirow{1024} & 10 & 0.002 & 76.252 & 0.999976 & 0.99991 & 0  \\ \cline{3-8}
        &  & 50 & 0.006 & 70.107 & 0.999939 & 0.99951 & 0.004  \\ \cline{3-8}
        &  & 90 & 0.011 & 67.845 & 0.999912 & 0.99911 & 0.007  \\ \hline
 \end{tabular}
\end{table}

\begin{longtable}{|l|l|l|l|l|}
\caption{Comparison Between the Original Image and the Stego Image} \label{tab:Comparison between the Original image and the stego image} \\

\hline \multicolumn{1}{|c|}{\textbf{Type}} & \multicolumn{1}{c|}{\textbf{Size}} & 
\multicolumn{1}{c|}{\textbf{Payload}} &
\multicolumn{1}{c|}{\textbf{Original image}} & 
\multicolumn{1}{c|}{\textbf{Stego Image}}  \\ \hline 
\endfirsthead

\multicolumn{5}{c}%
{{\bfseries \tablename\ \thetable{} -- Continued from Previous Page}} \\
\hline \multicolumn{1}{|c|}{\textbf{Type}} & \multicolumn{1}{c|}{\textbf{Size}} & 
\multicolumn{1}{c|}{\textbf{Payload}} &
\multicolumn{1}{c|}{\textbf{Original image}} & 
\multicolumn{1}{c|}{\textbf{Stego Image}}
 \\ \hline 
\endhead

\hline \multicolumn{5}{|r|}{{Continued on next page}} \\ \hline
\endfoot

\hline \hline
\endlastfoot

\multirow{PNG} & \multirow {512} & 10 & \includegraphics[scale=.2]{    lenaa1.png} & \includegraphics[scale=.2]{    lenaa1.png} \\ \cline{3-5}
         &  & 50 & \includegraphics[scale=.2]{    lenaa1.png} & \includegraphics[scale=.2]{    lenaa1.png}  \\ \cline{3-5}
         &  & 90 & \includegraphics[scale=.2]{    lenaa1.png} & \includegraphics[scale=.2]{    lenaa1.png}  \\ \hline
         \multirow {PNG} & \multirow {1024} & 10 & \includegraphics[scale=.1]{  SwimmingPool.png} & \includegraphics[scale=.1]{  SwimmingPool.png}   \\  \cline{3-5}
        &  & 50 & \includegraphics[scale=.1]{  SwimmingPool.png} & \includegraphics[scale=.1]{  SwimmingPool.png}  \\ \cline{3-5}
        &  & 90 &\includegraphics[scale=.1]{  SwimmingPool.png} & \includegraphics[scale=.1]{  SwimmingPool.png}  \\ \hline
        \multirow {JPG} & \multirow {512} & 10 & \includegraphics[scale=.2]{  City.jpg} & \includegraphics[scale=.2]{  City.jpg}  \\ \cline{3-5}
        &  & 50 & \includegraphics[scale=.2]{  City.jpg} & \includegraphics[scale=.2]{  City.jpg} \\ \cline{3-5}
        &  & 90 & \includegraphics[scale=.2]{  City.jpg} & \includegraphics[scale=.2]{  City.jpg}  \\ \hline
        \multirow {JPG}& \multirow {1024} & 10 & \includegraphics[scale=.08]{  Streets.jpg} & \includegraphics[scale=.08]{  Streets.jpg}  \\ \cline{3-5}
        &  & 50 & \includegraphics[scale=.08]{  Streets.jpg} & \includegraphics[scale=.08]{  Streets.jpg}  \\ \cline{3-5}
        &  & 90 & \includegraphics[scale=.08]{  Streets.jpg} & \includegraphics[scale=.08]{  Streets.jpg}   \\ \hline
        \multirow {BMP} & \multirow {512} & 10 & \includegraphics[scale=.2]{  CAR.jpg} & \includegraphics[scale=.2]{  CAR.jpg}  \\ \cline{3-5}
        &  & 50 & \includegraphics[scale=.2]{  CAR.jpg} & \includegraphics[scale=.2]{  CAR.jpg}   \\ \cline{3-5}
        &  & 90 & \includegraphics[scale=.2]{  CAR.jpg} & \includegraphics[scale=.2]{  CAR.jpg}   \\ \hline
        \multirow {BMP}& \multirow {1024} & 10 & \includegraphics[scale=.09]{  Coast.png}  & \includegraphics[scale=.09]{  Coast.png}   \\ \cline{3-5}
        &  & 50 &\includegraphics[scale=.09]{  Coast.png}  & \includegraphics[scale=.09]{  Coast.png}  \\ \cline{3-5}
        &  & 90 & \includegraphics[scale=.09]{  Coast.png}  & \includegraphics[scale=.09]{  Coast.png} \\ 

\end{longtable}

\paragraph{Security analysis result}
In histogram, the values of the cover and stego-image are calculated, and the histogram for each image is drawn. Then, it's compared to identify the distortion between the images. Table \ref{tab:Comparison between the original image and the stego image} shows the histogram analysis result. Clearly, it can be seen that PNG and BMP histograms are nearly identical, at variance with the JPG histograms.

From the histogram we obtained the mean, standard deviation, and variance to identify the differences between the two histograms. See Table \ref{tab:Comparison between the Histogram of the original image and stego image in term of Mean, Varanse and standred devation}. From these values, we can see that the BMP and PNG images have the lowest values. Meanwhile, the JPG has higher values 

In addition, probability analysis of the Chi-Square security metric for the cover and stego-image is calculated, as shown in Table \ref{tab:Chi-Square security metric values}. For the BMP and PNG images, the values are around zero, which does not cause any suspicion regarding the existence of secret information. On the other hand, the PNG values are higher. 

As a conclusion, the PNG and BMP images successfully passed the histogram and Chi-Square attacks.


\begin{longtable}{|l|l|l|l|l|}
\caption{Comparison Between the Histogram of Original Image and the Stego Image} \label{tab:Comparison between the Original image and the stego image} \\

\hline \multicolumn{1}{|c|}{\textbf{Type}} & \multicolumn{1}{c|}{\textbf{Size}} & 
\multicolumn{1}{c|}{\textbf{Payload}} &
\multicolumn{1}{c|}{\textbf{Histogram of original image}} & 
\multicolumn{1}{c|}{\textbf{Histogram of stego image}}  \\ \hline 
\endfirsthead

\multicolumn{5}{c}%
{{\bfseries \tablename\ \thetable{} -- Continued from Previous Page}} \\
\hline \multicolumn{1}{|c|}{\textbf{Type}} & \multicolumn{1}{c|}{\textbf{Size}} & 
\multicolumn{1}{c|}{\textbf{Payload}} &
\multicolumn{1}{c|}{\textbf{Histogram of original image}} & 
\multicolumn{1}{c|}{\textbf{Histogram of stego image}}
 \\ \hline 
\endhead

\hline \multicolumn{5}{|r|}{{Continued on next page}} \\ \hline
\endfoot

\hline \hline
\endlastfoot

\multirow {PNG} & \multirow {512} & 10 & \includegraphics[scale=.4]{  H1.png} & \includegraphics[scale=.4]{  H2.png} \\ \cline{3-5}
         &  & 50 & \includegraphics[scale=.4]{  H10.png} & \includegraphics[scale=.4]{  H11.png}  \\ \cline{3-5}
         &  & 90 & \includegraphics[scale=.4]{  H18.png} & \includegraphics[scale=.4]{  H19.png}  \\ \hline
         \multirow {PNG} & \multirow {1024} & 10 & \includegraphics[scale=.4]{  H20.png} & \includegraphics[scale=.4]{  H21.png}   \\ \cline{3-5} 
        &  & 50 & \includegraphics[scale=.4]{  H28.png} & \includegraphics[scale=.4]{  H29.png}  \\ \cline{3-5}
        &  & 90 &\includegraphics[scale=.4]{  H36.png} & \includegraphics[scale=.4]{  H37.png}  \\ \hline
        \multirow {JPG} & \multirow {512} & 10 & \includegraphics[scale=.4]{  H38.png} & \includegraphics[scale=.4]{  H39.png}  \\ \cline{3-5}
        &  & 50 & \includegraphics[scale=.4]{  H46.png} & \includegraphics[scale=.4]{  H47.png} \\ \cline{3-5}
        &  & 90 & \includegraphics[scale=.4]{  H54.png} & \includegraphics[scale=.4]{  H55.png}  \\ \hline
        \multirow {JPG}& \multirow {1024} & 10 & \includegraphics[scale=.4]{  H56.png} & \includegraphics[scale=.4]{  H57.png}  \\ \cline{3-5}
        &  & 50 & \includegraphics[scale=.4]{  H64.png} & \includegraphics[scale=.4]{  H65.png}  \\ \cline{3-5}
        &  & 90 & \includegraphics[scale=.4]{  H72.png} & \includegraphics[scale=.4]{  H73.png}   \\ \hline
        \multirow {BMP} & \multirow {512} & 10 & \includegraphics[scale=.4]{  H74.png} & \includegraphics[scale=.4]{  H75.png}  \\ \cline{3-5}
        &  & 50 & \includegraphics[scale=.4]{  H82.png} & \includegraphics[scale=.4]{  H83.png}   \\ \cline{3-5}
        &  & 90 & \includegraphics[scale=.4]{  H90.png} & \includegraphics[scale=.4]{  H91.png}   \\ \hline
        \multirow {BMP}& \multirow {1024} & 10 & \includegraphics[scale=.4]{  H92.png}  & \includegraphics[scale=.4]{  H93.png}   \\ \cline{3-5}
        &  & 50 &\includegraphics[scale=.4]{  H100.png}  & \includegraphics[scale=.4]{  H101.png}  \\ \cline{3-5}
        &  & 90 & \includegraphics[scale=.4]{  H108.png}  & \includegraphics[scale=.4]{  H109.png} \\ 
\end{longtable}

\begin{longtable}{|l|l|l|l|l|l|}
\caption{Comparison Between the Histogram of the Original Image and Stego Image in Term of Mean, Varanse and standred Devation} \label{tab:Comparison between the Histogram of the original image and stego image in term of Mean, Varanse and standred devation} \\

\hline \multicolumn{1}{|c|}{\textbf{Type}} & \multicolumn{1}{c|}{\textbf{Size}} & 
\multicolumn{1}{c|}{\textbf{Payload}} &
\multicolumn{1}{c|}{\textbf{Mean}} & 
\multicolumn{1}{c|}{\textbf{variance}} & 
\multicolumn{1}{c|}{\textbf{Standard Deviation}}  \\ \hline 
\endfirsthead


\multicolumn{6}{c}%
{{\bfseries \tablename\ \thetable{} -- Continued from Previous Page}} \\
\hline \multicolumn{1}{|c|}{\textbf{Type}} & \multicolumn{1}{c|}{\textbf{Size}} & 
\multicolumn{1}{c|}{\textbf{Payload}} &
\multicolumn{1}{c|}{\textbf{Mean}} & 
\multicolumn{1}{c|}{\textbf{variance}} & 
\multicolumn{1}{c|}{\textbf{Standard Deviation}}  \\ \hline 

\endhead

\hline \multicolumn{6}{|r|}{{Continued on next page}} \\ \hline
\endfoot

\hline \hline
\endlastfoot



\multirow  {PNG} & \multirow  {512}  & 10      & 0.01                                                        & 0.55                & 0.00           \\ \cline{3-6}
                      &                       & 50      & 0.01                                                        & 1.69                & 0.01           \\ \cline{3-6} 
                      &                       & 90      & 0.03                                                        & 4.07                & 0.03           \\ \cline{2-6} 
                      & \multirow  {1024} & 10      & 0.00                                                        & 0.05                & 0.00           \\ \cline{3-6} 
                      &                       & 50      & 0.00                                                        & 0.04                & 0.00           \\ \cline{3-6} 
                      &                       & 90      & 0.00                                                        & 0.09                & 0.00           \\ \hline
\multirow  {JPG} & \multirow  {512}  & 10      & 0.41                                                        & 11.78               & 0.08           \\ \cline{3-6} 
                      &                       & 50      & 0.41                                                        & 11.70               & 0.08           \\ \cline{3-6} 
                      &                       & 90      & 0.41                                                        & 11.67               & 0.08           \\ \cline{2-6} 
                      & \multirow  {1024} & 10      & 0.30                                                        & 32.50               & 0.26           \\ \cline{3-6}  
                      &                       & 50      & 0.30                                                        & 33.10               & 0.26           \\ \cline{3-6} 
                      &                       & 90      & 0.30                                                        & 33.23               & 0.26           \\ \hline
\multirow  {BMP} & \multirow  {512}  & 10      & 0.00                                                        & 0.00                & 0.00           \\ \cline{3-6} 
                      &                       & 50      & 0.00                                                        & 0.03                & 0.00           \\ \cline{3-6}  
                      &                       & 90      & 0.00                                                        & 0.23                & 0.00           \\ \cline{2-6} 
                      & \multirow  {1024} & 10      & 0.01                                                        & 0.79                & 0.01           \\ \cline{3-6}
                      &                       & 50      & 0.02                                                        & 1.33                & 0.01           \\ \cline{3-6} 
                      &                       & 90      & 0.02                                                        & 1.80                & 0.01           \\ \hline

\end{longtable}

\begin{longtable}{|l|l|l|l|}
\caption{Chi-Square Security Metric Values} \label{tab:Chi-Square security metric values} \\

\hline \multicolumn{1}{|c|}{\textbf{Type}} & \multicolumn{1}{c|}{\textbf{Size}} & 
\multicolumn{1}{c|}{\textbf{Payload}} & 
\multicolumn{1}{c|}{\textbf{Chi-Square}}  \\ \hline 
\endfirsthead

\multicolumn{4}{c}%
{{\bfseries \tablename\ \thetable{} -- Continued from Previous Page}} \\
\hline \multicolumn{1}{|c|}{\textbf{Type}} &
\multicolumn{1}{c|}{\textbf{Size}} & 
\multicolumn{1}{c|}{\textbf{Payload}} & 
\multicolumn{1}{c|}{\textbf{Chi-Square}} 
 \\ \hline 
\endhead

\hline \multicolumn{4}{|r|}{{Continued on next page}} \\ \hline
\endfoot

\hline \hline
\endlastfoot

\multirow {PNG} & \multirow {512} & 10 & 0.001 \\ \cline{3-4} 
         &  & 50 &  0.014\\ \cline{3-4} 
         &  & 90 &  0.054\\ \cline{2-4} 
          & \multirow {1024} & 10 &  0.001 \\  \cline{3-4} 
        &  & 50 &  0.001 \\ \cline{3-4} 
        &  & 90 &  0.001\\ \hline
        \multirow {JPG} & \multirow {512} & 10 &  0.709 \\ \cline{3-4} 
        &  & 50 & 0.711\\ \cline{3-4} 
        &  & 90 & 0.71 \\ \cline{2-4} 
        & \multirow {1024} & 10 & 0.149 \\ \cline{3-4} 
        &  & 50 &  0.157\\ \cline{3-4} 
        &  & 90 & 0.159  \\ \hline
        \multirow {BMP} & \multirow {512} & 10 &  0.00\\ \cline{3-4} 
        &  & 50 &   0.002\\ \cline{3-4} 
        &  & 90 &  0.01  \\ \cline{2-4} 
        & \multirow {1024} & 10 & 0  \\ \cline{3-4} 
        &  & 50 & 0.003 \\ \cline{3-4} 
        &  & 90 &0.007\\ 

\end{longtable}

\section{Comparison and Discussion}
This section is to discuss and compare the proposed technique with the previously reviewed techniques in terms of the hiding mechanism, amount of information to be hidden, security and robustness, and finally the imperceptibility metrics.

\begin{enumerate}
    \item \textbf{Capacity}
    
    The amount of the data to be hidden depends on the image size. And because we are using the DCT approach to hide the data, the maximum capacity depends on the number of 8×8 quantized DCT blocks in the images. Also, the previously reviewed techniques used methods that hide the data in the spatial domain, which has a high capacity compared with the frequency domain that we are using in the proposed technique.
The below Table \ref{table:Capacity comparison} shows a comparison between the techniques using 1024×1024 image. And as seen the proposed technique capacity is a little bit lesser than other technique. 

\begin{table}[!ht]
\caption{Capacity Comparison Between the Proposed Technique and Existence Techniques } 
\label{table:Capacity comparison}
    \centering
    \begin{tabular}{|l|l|}
    \hline
        Techniques & Capacity  \\ \hline
        \cite{das2015improved} & 10,922  bits  \\ \hline
        \cite{tuncer2016reversible} & 10,922  bits  \\ \hline
        Proposed technique & 8192 bits   \\ \hline
    \end{tabular}
\end{table}

\item \textbf{Imperceptibility metrics}

The proposed method is compared with \cite{vinodhini2018dna}, \cite{das2015improved} and \cite{tuncer2016reversible} in terms of average MSE and PSNR in table \ref{table:MSE and PSNR comparison}. The results show clearly that the values of the proposed technique using BMP and PNG are higher than the rest, which means the proposed technique has good concealment.

Moreover, in table \ref{table:Entropy comparison} the entropy values were compared with \cite{das2015improved}. The results show that the values of the proposed technique using BMP and PNG are higher than the other techniques.
\begin{table}[]
\centering

\caption{A Comparison Between the Proposed Technique and Existence Techniques in Term of MSE and PSNR} 
\label{table:MSE and PSNR comparison}
\begin{tabular}{|l|l|l|}
\hline
\textbf{Metrics}              & \textbf{MSE}                                                                         & \textbf{PSNR}                                                                        \\ \hline
\textbf{\cite{vinodhini2018dna}}     & 0.172449                                                                             & 55.724                                                                               \\ \hline
\textbf{\cite{das2015improved}}      & 0.203033                                                                             & 55.85522                                                                             \\ \hline
\textbf{\cite{tuncer2016reversible}} & Null                                                                                 & 52.195                                                                               \\ \hline
\textbf{Proposed technique}   & \begin{tabular}[c]{@{}l@{}}BMP=0.022889\\ PNG= 0.022833\\ JPG= 29.05744\end{tabular} & \begin{tabular}[c]{@{}l@{}}BMP=66.85733\\ PNG= 66.28528\\ JPG= 34.49706\end{tabular} \\ \hline
\end{tabular}
\end{table}

\begin{table}[]
\caption{A comparison Between the Proposed Technique and Existence Techniques in Term Entropy} 
\label{table:Entropy comparison}
    \centering
    \begin{tabular}{|l|l|l|l|l|}
    \hline
        \multirow{Metrics} &\multirow{ \cite{das2015improved}} & \multicolumn{3}{l|}{Proposed technique}  \\ \cline{3-5}
        ~ & ~ & BMP & PNG & JPG  \\ \hline
        Entropy & 0.203033 & 0.022889 & 0.022833 & 29.05744  \\ \hline
    \end{tabular}
\end{table}

\item \textbf{Robustness to attacks and Security}

The results of the security analysis of our techniques were compared with
previously reviewed techniques. 
The below table \ref{table:security comparison} shows the mean and standard
deviation. We can see that our technique has good value compared with the
other techniques.
In addition, the DCT possesses resistance to signal processing operations like noise attack and compression since it belongs to the frequency domain methods \cite{lin2010improving}. 

The substitution technique is used, as was already indicated, to conceal the secret data inside the cover image. And in the field of DNA steganography, this method is the most reliable one comparing with others. The proposed method is hence resistant to attacks along with the following reasons:
\begin{itemize}
    \item There are many databases providing accessibility to more than 163 million DNA sequences \cite{shiu2010data}. As a result, it is impossible to detect the original DNA and it challenging to determine whether it contains any concealed secret information. In addition, the probability of identifying the original sequence is \begin{math} \frac {1}{1.63 * 10^{8}} \end{math}
\item Since PRG is used with the substitution method, it is difficult for the attacker to identify how the secret message was concealed in the DNA sequence.
\end{itemize}


\begin{table}[!ht]
\caption{A comparison Between the Proposed Technique and Existence Technique in Term of Security Using Histogram Analysis} 
\label{table:security comparison}
    \centering
    \begin{tabular}{|l|l|l|l|}
    \hline
        Technique & Security analysis & Mean & standard deviation  \\ \hline
        \multirow{\cite{das2015improved}} & Cover Histogram & 145.7929 & 76.3373  \\ 
         & Stego Histogram & 145.795 & 76.332  \\ 
         & Differences & 0.0021 & 0.0053  \\ \hline
        \multirow{Proposed technique} & Cover Histogram & 98.2571 & 69.365  \\ 
         & Stego Histogram & 98.2557 & 69.3648  \\ 
        & Differences & 0.0013 & 0.00024  \\ \hline
    \end{tabular}
\end{table}


\end{enumerate}


\section*{Conclusion}
This work aims to create a robust double-layer steganography technique by hiding the sensitive information in a DNA sequence and then hiding the DNA sequence inside an image. 

We chose to use DNA steganography because of its complexity and randomness, which offer high protection, security, and robustness. 

As well, we chose to hide the DNA sequence to guarantee the invisibility of sensitive information and avert attackers’ suspicion.

The implementation was done using Python and the Jupyter notebook. We used the substation method with the help of the PRG to hide the data inside the DNA technique. And we used the DCT to hide the DNA sequence inside the image. 

During the evaluation of the proposed technique, we used different types of images with different sizes, along with different lengths of messages, and DNA sequences were used during the experiment.

The proposed technique proved its ability to hide sensitive data in different image formats like PNG, JPG, and PMP with different sizes. Also, its capability to hide varied message lengths, up to 1024 characters. And as shown before, there was no visual distortion between the cover and stego images. 

In terms of security, it's proved that it persists to attacks as well as its use of DNA as a first cover layer, which gives a double layer of security.

The result showed that the ratios of imperceptibility metrics for PNG and BMP were outstanding, and they outperformed the existing systems. Contrarily, the JPG images failed to meet the perfect ratios. Moreover, our technique has less capacity than others because we use DCT to hide the data in the image. However, the DCT grants a very secure mechanism for hiding the data in the images. Moreover, in the security analysis, our technique using PNG and BMP has sufficiently good values, and it is outperforming the existing systems.

\bibliography{sample}

\end{document}