X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/canny.git/blobdiff_plain/ded436ff1397fd455304cbae04f58e4c0703ea01..b417a74f270da1ad1a8b11552a8508c45cb75085:/ourapproach.tex

diff --git a/ourapproach.tex b/ourapproach.tex
index 9626562..74c1b55 100644
--- a/ourapproach.tex
+++ b/ourapproach.tex
@@ -1,17 +1,18 @@
-The flowcharts given in Fig.~\ref{fig:sch} summarize our steganography scheme denoted as to
-STABYLO for STeganography with cAnny, Bbs, binarY embedding at LOw cost.
-What follows successively details all the inner steps and flow inside 
-the embedding stage (Fig.\ref{fig:sch:emb}) 
-and inside the extraction one(Fig.~\ref{fig:sch:ext}).
-
+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.
+What follows are successively details of the inner steps and flows inside 
+both the embedding stage (Fig.~\ref{fig:sch:emb}) 
+and the extraction one (Fig.~\ref{fig:sch:ext}).
+Let us first focus on the data embedding. 
 
 \begin{figure*}[t]
   \begin{center}
     \subfloat[Data Embedding.]{
       \begin{minipage}{0.49\textwidth}
         \begin{center}
-%          \includegraphics[width=5cm]{emb.pdf}
-          \includegraphics[width=5cm]{emb.ps}
+          %\includegraphics[width=5cm]{emb.pdf}
+          \includegraphics[scale=0.5]{emb.ps}
         \end{center}
       \end{minipage}
       \label{fig:sch:emb}
@@ -19,8 +20,8 @@ and inside the extraction one(Fig.~\ref{fig:sch:ext}).
     \subfloat[Data Extraction.]{
       \begin{minipage}{0.49\textwidth}
         \begin{center}
-%          \includegraphics[width=5cm]{rec.pdf}
-          \includegraphics[width=5cm]{rec.ps}
+          %\includegraphics[width=5cm]{rec.pdf}
+          \includegraphics[scale=0.5]{rec.ps}
         \end{center}
       \end{minipage}
       \label{fig:sch:ext}
@@ -33,39 +34,142 @@ and inside the extraction one(Fig.~\ref{fig:sch:ext}).
 
 
 
-\subsection{Data Embedding} 
 
 
 
 
-\subsubsection{Edge Based Image Steganography}
-Image Quality: Edge Image Steganography
-\JFC{Raphael, les fuzzy edge detection sont souvent utilisÃ©s. 
-  il faudrait comparer les approches en terme de nombre de bits retournÃ©s,
-  en terme de complexitÃ©. } \cite{KF11}
+\subsection{Security Considerations}
+Among 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} 
+pseudorandom number generator (PRNG) and the 
+XOR binary function.
+It has been indeed proven~\cite{DBLP:conf/crypto/ShubBB82} that this PRNG 
+has the property of cryptographical security, \textit{i.e.}, 
+for any sequence of $L$ output bits $x_i$, $x_{i+1}$, \ldots, $x_{i+L-1}$,
+there is no algorithm, whose time complexity is polynomial  in $L$, and 
+which allows to find $x_{i-1}$ and $x_{i+L}$ with a probability greater
+than $1/2$.
+Equivalent formulations of such a property can
+be found. They all lead to the fact that,
+even if the encrypted message is extracted, 
+it is impossible to retrieve the original one in 
+polynomial time.   
+
+Starting thus with a key $k$ and the message \textit{mess} to hide, 
+this step computes a message $m$, which is the encrypted version  of \textit{mess}.
+
+
+\subsection{Edge-Based Image Steganography}
 
 
-Presentation des algos de detection de contour
-CaractÃ©ristiques
+The edge-based image
+steganography schemes 
+already presented \cite{Luo:2010:EAI:1824719.1824720,DBLP:journals/eswa/ChenCL10} differ 
+in how carefully they select edge pixels, and  
+how they modify them.
 
-Comparaison thÃ©oriques, rÃ©fÃ©rences
+%Image Quality: Edge Image Steganography
+%\JFC{Raphael, les fuzzy edge detection sont souvent utilisÃ©s. 
+%  il faudrait comparer les approches en terme de nombre de bits retournÃ©s,
+%  en terme de complexitÃ©. } \cite{KF11}
+%\RC{Ben, Ã  voir car on peut choisir le nombre de pixel avec Canny. Supposons que les fuzzy edge soient retourne un peu plus de points, on sera probablement plus dÃ©tectable...  Finalement on devrait surement vendre notre truc en : on a choisi cet algo car il est performant en vitesse/qualitÃ©. Mais on peut aussi en utilisÃ© d'autres :-)}
 
-Algo de stegano basÃ© juste sur cela : (pas de bbs, pas de stc, mÃªme message).
+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
+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 
+to search for local maxima, whereas in second order ones, zero crossings in a second-order derivative, like the Laplacian computed from the image,
+are searched in order to find edges.
+As for as fuzzy edge methods are concerned, they are obviously based on fuzzy logic to highlight edges.
 
-Quels paramÃ¨tres sont optimaux ? Combinaison ? 
+Canny filters, on their parts, are an old family of algorithms still remaining a state-of-the-art edge detector. They can be well approximated by first-order derivatives of Gaussians.
+As the Canny algorithm is well known and studied, fast, and implementable
+on many  kinds of architectures like FPGAs, smartphones,  desktop machines, and
+GPUs, we have chosen this edge detector for illustrative purpose.
 
+This edge detection is applied on a filtered version of the image given 
+as input.
+More precisely, only $b$ most 
+significant bits are concerned by this step, where 
+the parameter $b$ is practically set with $6$ or $7$. 
+If set with the same value $b$, the edge detection returns thus the same 
+set of pixels for both the cover and the stego image.   
+In our flowcharts, this is represented by ``edgeDetection(b bits)''.
+Then only the 2 LSBs of pixels in the set of edges are returned if $b$ is 6, 
+and the LSB of pixels if $b$ is 7.
+Let $x$ be the sequence of these bits.
+ 
+\JFC{il faudrait comparer les complexites des algo fuzy and canny}
 
 
+% First of all, let us discuss about compexity of edge detetction methods.
+% Let then $M$ and $N$ be the dimension of the original image. 
+% According to~\cite{Hu:2007:HPE:1282866.1282944},
+% even if the fuzzy logic based edge detection methods~\cite{Tyan1993} 
+% have promising results, its complexity is in $C_3 \times O(M \times N)$
+% whereas the complexity on the Canny method~\cite{Canny:1986:CAE:11274.11275} 
+% is in $C_1 \times O(M \times N)$ where  $C_1 < C_3$.
+% \JFC{Verifier ceci...}
+% In experiments detailled in this article, the Canny method has been retained 
+% but the whole approach can be updated to consider 
+% the fuzzy logic edge detector.   
 
 
-\subsubsection{Security Considerations}
 
-Security aspect:
-BBS-based cryptographic version of the message 
 
-\subsubsection{Minimizing Distortion with Syndrome-Treillis Codes} 
 
+
+As argue in the introduction section, we do not adapt the parameters of the
+the edge detection as in~\cite{Luo:2010:EAI:1824719.1824720} but we modify 
+the size of the embedding message. Practically, the lenght of $x$ 
+has to be at least twice as large 
+as the size of the embedded encrypted message. 
+Otherwise, a new image is used to hide the remaning part of the message.  
+
+\subsection{Minimizing Distortion with Syndrome-Treillis Codes} 
 \input{stc}
 
 
-\subsection{Data Extraction}
\ No newline at end of file
+
+% Edge Based Image Steganography schemes 
+% already studied~\cite{Luo:2010:EAI:1824719.1824720,DBLP:journals/eswa/ChenCL10,DBLP:conf/ih/PevnyFB10} differ 
+% how they select edge pixels, and  
+% how they modify these ones.
+
+% First of all, let us discuss about compexity of edge detetction methods.
+% Let then $M$ and $N$ be the dimension of the original image. 
+% According to~\cite{Hu:2007:HPE:1282866.1282944},
+% even if the fuzzy logic based edge detection methods~\cite{Tyan1993} 
+% have promising results, its complexity is in $C_3 \times O(M \times N)$
+% whereas the complexity on the Canny method~\cite{Canny:1986:CAE:11274.11275} 
+% is in $C_1 \times O(M \times N)$ where  $C_1 < C_3$.
+% \JFC{Verifier ceci...}
+% In experiments detailled in this article, the Canny method has been retained 
+% but the whole approach can be updated to consider 
+% the fuzzy logic edge detector.   
+
+% Next, following~\cite{Luo:2010:EAI:1824719.1824720}, our scheme automatically
+% modifies Canny parameters to get a sufficiently large set of edge bits: this 
+% one is practically enlarged untill its size is at least twice as many larger 
+% than the size of embedded message.
+
+
+
+%%RAPH: paragraphe en double :-)
+
+
+
+
+\subsection{Data Extraction}
+The message extraction summarized in Fig.~\ref{fig:sch:ext} follows data embedding
+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.
+Finally, the Blum-Goldwasser decryption function is executed and the original
+message is extracted.
