X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/canny.git/blobdiff_plain/5b25d5109dc4414ee3430627eb426d63b8622b63..b417a74f270da1ad1a8b11552a8508c45cb75085:/ourapproach.tex?ds=sidebyside

diff --git a/ourapproach.tex b/ourapproach.tex
index fc22e8f..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,41 +34,76 @@ and inside the extraction one (Fig.~\ref{fig:sch:ext}).
 
 
 
-\subsection{Data Embedding} 
-This section describes the main three steps of the STABYLO data embedding
-scheme. 
-
-
-
-\subsubsection{Edge Based Image Steganography}
-
 
-Edge Based Image Steganography schemes 
-already studied~\cite{Luo:2010:EAI:1824719.1824720,DBLP:journals/eswa/ChenCL10} differ 
-how they select edge pixels, and  
-how they modify these ones.
 
-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 :-)}
 
-There are  many techniques to  detect edges in  images. Main methods  are filter
-edge detection methods such as Sobel  or Canny filter, low order methods such as
-first order  and second order  methods, these methods  are based on  gradient or
-Laplace  operators and  fuzzy edge  methods, which  are based  on fuzzy  logic to
-highlight edges.
 
-Of course, all the algorithms have  advantages and drawbacks which depend on the
-motivation  to  highlight  edges.   Unfortunately  unless testing  most  of  the
-algorithms, which  would require many  times, it is  quite difficult to  have an
-accurate idea on what would produce  such algorithm compared to another. That is
-why we have  chosen Canny algorithm which is well  known, fast and implementable
-on many  kinds of architecture, such  as FPGA, smartphone,  desktop machines and
-GPU. And of course, we do not pretend that this is the best solution.
+\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.   
 
-In order to be able to compute the same set of edge pixels, we suggest to consider all the bits of the image (cover or stego) without the LSB. With an 8 bits image, only the 7 first bits are considered. In our flowcharts, this is represented by LSB(7 bits Edge Detection).
+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}
+
+
+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.
+
+%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 :-)}
+
+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.
+
+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.
@@ -82,11 +118,22 @@ In order to be able to compute the same set of edge pixels, we suggest to consid
 % 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 the Canny algorithm 
-parameters to get a sufficiently large set of edge bits: this 
-one is practically enlarged until its size is at least twice as many larger 
-than the size of embedded message.
+
+
+
+
+
+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}
+
+
 
 % Edge Based Image Steganography schemes 
 % already studied~\cite{Luo:2010:EAI:1824719.1824720,DBLP:journals/eswa/ChenCL10,DBLP:conf/ih/PevnyFB10} differ 
@@ -111,53 +158,17 @@ than the size of embedded message.
 % than the size of embedded message.
 
 
-\subsubsection{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}
-which is based on the Blum Blum Shub~\cite{DBLP:conf/crypto/ShubBB82} Pseudo Random Number Generator (PRNG) 
-for security reasons.
-It has been indeed proven~\cite{DBLP:conf/crypto/ShubBB82} that this PRNG 
-has the cryptographically security property, \textit{i.e.}, 
-for any sequence $L$ of 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$.
-Thus, even if the encrypted message would be extracted, 
-it would thus be not possible to retrieve the original one in a 
-polynomial time.   
-
 
 %%RAPH: paragraphe en double :-)
 
-%% \subsubsection{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}
-%% which is based on the Blum Blum Shub~\cite{DBLP:conf/crypto/ShubBB82} Pseudo Random Number Generator (PRNG) 
-%% for security reasons.
-%% It has been indeed proven~\cite{DBLP:conf/crypto/ShubBB82} that this PRNG 
-%% has the cryptographically security property, \textit{i.e.}, 
-%% for any sequence $L$ of 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$.
-%% Thus, even if the encrypted message would be extracted, 
-%% it would thus be not possible to retrieve the original one in a 
-%% polynomial time. 
-
 
 
 
-
-\subsubsection{Minimizing Distortion with Syndrome-Treillis Codes} 
-\input{stc}
-
-
 \subsection{Data Extraction}
-Message extraction summarized in Fig.~\ref{fig:sch:ext} follows data embedding
+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 set,
+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
