X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/canny.git/blobdiff_plain/f55b06b2c70a68c4d967b2d33be574709abb45e3..a0f4d76521ca0d84f0de9ba71ecb094fc9e1af33:/ourapproach.tex?ds=sidebyside diff --git a/ourapproach.tex b/ourapproach.tex index f86c8ae..b007dd0 100644 --- a/ourapproach.tex +++ b/ourapproach.tex @@ -20,7 +20,7 @@ Let us first focus on the data embedding. \begin{minipage}{0.49\textwidth} \begin{center} %\includegraphics[width=5cm]{emb.pdf} - \includegraphics[scale=0.5]{emb.ps} + \includegraphics[scale=0.45]{emb.ps} \end{center} \end{minipage} \label{fig:sch:emb} @@ -29,7 +29,7 @@ Let us first focus on the data embedding. \begin{minipage}{0.49\textwidth} \begin{center} %\includegraphics[width=5cm]{rec.pdf} - \includegraphics[scale=0.5]{rec.ps} + \includegraphics[scale=0.45]{rec.ps} \end{center} \end{minipage} \label{fig:sch:ext} @@ -118,7 +118,7 @@ and the LSB of pixels if $b$ is 7. Let $x$ be the sequence of these bits. -The next section section presentsd how our scheme +The next section section presents how our scheme adapts when the size of $x$ is not sufficient for the message $m$ to embed. @@ -136,7 +136,10 @@ Practically, a set of edge pixels is computed according to the Canny algorithm with an high threshold. The message length is thus defined to be less than half of this set cardinality. -If $x$ is then to short for $m$, the message is splitted into sufficient parts. +If $x$ is then to short for $m$, the message is split into sufficient parts +and a new cover image should be used for the remaining part of the message. + + In the latter, the embedding rate is defined as a percentage between the number of modified pixels and the length of the bit message. This is the classical approach adopted in steganography. @@ -151,9 +154,11 @@ Two methods may further be applied to select bits that will be modified. The first one randomly chooses the subset of pixels to modify by applying the BBS PRNG again. This method is further denoted as to \emph{sample}. -The second one is a direct application of the +Once this set is selected, a classical LSB replacement is applied to embed the +stego content. +The second method is a direct application of the STC algorithm~\cite{DBLP:journals/tifs/FillerJF11}. -It is further referred to as \emph{adaptive+STC} and is detailled in the nex section. +It is further referred to as \emph{STC} and is detailed in the next section. @@ -177,7 +182,7 @@ It is further referred to as \emph{adaptive+STC} and is detailled in the nex se -\subsection{Minimizing Distortion with Syndrome-Treillis Codes}\label{sub:stc} +\subsection{Minimizing Distortion with Syndrome-Trellis Codes}\label{sub:stc} \input{stc} @@ -212,19 +217,25 @@ It is further referred to as \emph{adaptive+STC} and is detailled in the nex se \subsection{Data Extraction}\label{sub:extract} -The message extraction summarized in Fig.~\ref{fig:sch:ext} follows data embedding +The message extraction summarized in Fig.~\ref{fig:sch:ext} +follows the data embedding approach since there exists a reverse function for all its steps. -First of all, the same edge detection is applied (on the 7 first bits) to -get the set of LSBs, -which is sufficiently large with respect to the message size given as a key. -Then the STC reverse algorithm is applied to retrieve the encrypted message. + +More precisely, the same edge detection is applied on the $b$ first bits to +produce the sequence $y$ of LSBs. +If the STC approach has been selected in embedding, the STC reverse +algorithm is directly executed to retrieve the encrypted message. +This inverse function takes the $H$ matrix as a parameter. +Otherwise, \textit{i.e.} if the \emph{sample} strategy is retained, +the same random bit selection than in the embedding step +is executed with the same seed, given as a key. Finally, the Blum-Goldwasser decryption function is executed and the original message is extracted. \subsection{Running Example}\label{sub:xpl} In this example, the cover image is Lena -which is a 512*512 image with 256 grayscale levels. +which is a $512\times512$ image with 256 grayscale levels. The message is the poem Ulalume (E. A. Poe), which is constituted by 104 lines, 667 words, and 3754 characters, \textit{i.e.} 30032 bits. Lena and the the first verses are given in Fig.~\ref{fig:lena}. @@ -284,8 +295,8 @@ respectively 7 and 6. These edges are represented in Fig.~\ref{fig:edge} -In the former configuration, only 9320 bits are available -for embeding whereas in the latter we have 9227. +Only 9320 bits (resp. 9227 bits) are available for embedding +in the former configuration where $b$ is 7 (resp. where $b$ is 6). In the both case, about the third part of the poem is hidden into the cover. Results with \emph{adaptive+STC} strategy are presented in Fig.~\ref{fig:lenastego}. @@ -317,20 +328,19 @@ Fig.~\ref{fig:lenastego}. Finally, differences between the original cover and the stego images -are presented in Fig.~\ref{fig:lenadiff}. For each pixel pair of picel $X_{ij}$ -$Y_{ij}$, $X$ and $Y$ being the cover and the stego content respectively, -The pixel value $V_{ij}$ of the difference is defined with the following map +are presented in Fig.~\ref{fig:lenadiff}. For each pixel pair of pixel $X_{ij}$ and $Y_{ij}$ ($X$ and $Y$ being the cover and the stego content respectively), +the pixel value $V_{ij}$ of the difference is defined with the following map $$ V_{ij}= \left\{ \begin{array}{rcl} 0 & \textrm{if} & X_{ij} = Y_{ij} \\ -75 & \textrm{if} & \abs{ (X_{ij} - Y_{ij})} = 1 \\ -75 & \textrm{if} & \abs{ (X_{ij} - Y_{ij})} = 2 \\ -225 & \textrm{if} & \abs{ (X_{ij} - Y_{ij})} = 1 +75 & \textrm{if} & \abs{ X_{ij} - Y_{ij}} = 1 \\ +150 & \textrm{if} & \abs{ X_{ij} - Y_{ij}} = 2 \\ +225 & \textrm{if} & \abs{ X_{ij} - Y_{ij}} = 3 \end{array} -\right. -$$. -This function allows to emphase differences between content. +\right.. +$$ +This function allows to emphasize differences between content. \begin{figure}[t] \begin{center}