X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/canny.git/blobdiff_plain/51df4be4d70fabf22f3abc0fe92b515086f74021..f96233fc65ad1523ba849069ed5b7daa8f5ef9b1:/ourapproach.tex?ds=sidebyside diff --git a/ourapproach.tex b/ourapproach.tex index 5389d35..2378139 100644 --- a/ourapproach.tex +++ b/ourapproach.tex @@ -8,7 +8,8 @@ The message extraction is then presented (Sect.~\ref{sub:extract}) and a runnin The flowcharts given in Fig.~\ref{fig:sch} summarize our steganography scheme denoted by -STABYLO, which stands for STeganography with cAnny, Bbs, binarY embedding at LOw cost. +STABYLO, which stands for STeganography with +Adaptive, Bbs, binarY embedding at LOw cost. What follows are successively some details of the inner steps and the flows both inside the embedding stage (Fig.~\ref{fig:sch:emb}) and inside the extraction one (Fig.~\ref{fig:sch:ext}). @@ -48,7 +49,7 @@ Let us first focus on the data embedding. \subsection{Security considerations}\label{sub:bbs} -Among methods of the message encryption/decryption +Among the methods of message encryption/decryption (see~\cite{DBLP:journals/ejisec/FontaineG07} for a survey) we implement the Blum-Goldwasser cryptosystem~\cite{Blum:1985:EPP:19478.19501} that is based on the Blum Blum Shub~\cite{DBLP:conf/crypto/ShubBB82} @@ -87,7 +88,7 @@ how they modify them. Many techniques have been proposed in the literature to detect edges in images (whose noise has been initially reduced). -They can be separated in two categories: first and second order detection +They can be separated into two categories: first and second order detection methods on the one hand, and fuzzy detectors on the other hand~\cite{KF11}. In first order methods like Sobel, Canny~\cite{Canny:1986:CAE:11274.11275}, \ldots, a first-order derivative (gradient magnitude, etc.) is computed @@ -147,12 +148,13 @@ This is the classical approach adopted in steganography. Practically, the Canny algorithm generates a set of edge pixels related to a threshold that is decreasing until its cardinality -is sufficient. +is sufficient. Even in this situation, our scheme is adapting +its algorithm to meet all the user's requirements. - -Two methods may further be applied to select bits that -will be modified. +Once the map of possibly modified pixels is computed, +two methods may further be applied to extract bits that +are really modified. The first one randomly chooses the subset of pixels to modify by applying the BBS PRNG again. This method is further denoted as a \emph{sample}. Once this set is selected, a classical LSB replacement is applied to embed the @@ -252,14 +254,14 @@ Lena and the first verses are given in Fig.~\ref{fig:lena}. \begin{flushleft} \begin{scriptsize} The skies they were ashen and sober;\linebreak -$~$ The leaves they were crisped and sere—\linebreak -$~$ The leaves they were withering and sere;\linebreak +$\qquad$ The leaves they were crisped and sere—\linebreak +$\qquad$ The leaves they were withering and sere;\linebreak It was night in the lonesome October\linebreak -$~$ Of my most immemorial year;\linebreak +$\qquad$ Of my most immemorial year;\linebreak It was hard by the dim lake of Auber,\linebreak -$~$ In the misty mid region of Weir—\linebreak +$\qquad$ In the misty mid region of Weir—\linebreak It was down by the dank tarn of Auber,\linebreak -$~$ In the ghoul-haunted woodland of Weir. +$\qquad$ In the ghoul-haunted woodland of Weir. \end{scriptsize} \end{flushleft} \end{minipage} @@ -269,7 +271,9 @@ $~$ In the ghoul-haunted woodland of Weir. The edge detection returns 18,641 and 18,455 pixels when $b$ is respectively 7 and 6. These edges are represented in Figure~\ref{fig:edge}. - +When $b$ is 7, it remains one bit per pixel to build the cover vector. +in this configuration, this leads to a cover vector of size 18,641 if b is 7 +and 36,910 if $b$ is 6. \begin{figure}[t] \begin{center} @@ -298,9 +302,18 @@ respectively 7 and 6. These edges are represented in Figure~\ref{fig:edge}. -Only 9,320 bits (resp. 9,227 bits) are available for embedding -in the former configuration where $b$ is 7 (resp. where $b$ is 6). -In both cases, about the third part of the poem is hidden into the cover. +The STC algorithm is optimized when the rate between message length and +cover vector length is less than 1/2. +So, only 9,320 bits are available for embedding +in the configuration where $b$ is 7. + +When $b$ is 6, we could have considered 18,455 bits for the message. +However, first experiments have shown that modifying this number of bits is too +easily detectable. +So, we choose to modify the same amount of bits (9,320) and keep STC optimizing +which bits to change among the 36,910 bits. + +In the two cases, 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}. @@ -337,9 +350,9 @@ $$ V_{ij}= \left\{ \begin{array}{rcl} 0 & \textrm{if} & X_{ij} = Y_{ij} \\ -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 +75 & \textrm{if} & \vert X_{ij} - Y_{ij} \vert = 1 \\ +150 & \textrm{if} & \vert X_{ij} - Y_{ij} \vert = 2 \\ +225 & \textrm{if} & \vert X_{ij} - Y_{ij} \vert = 3 \end{array} \right.. $$ @@ -369,3 +382,6 @@ This function allows to emphasize differences between contents. \caption{Differences with Lena's cover wrt $b$} \label{fig:lenadiff} \end{figure} + + +