From: Jean-François Couchot Date: Fri, 21 Dec 2012 13:50:32 +0000 (+0100) Subject: Merge branch 'master' of ssh://info.iut-bm.univ-fcomte.fr/canny X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/canny.git/commitdiff_plain/274073a1e4ae1b4de1220e26626a582a08a890d6?hp=01e8c9301dc7bf227e7fbe18962c62bcb9cc848f Merge branch 'master' of ssh://info.iut-bm.univ-fcomte.fr/canny --- diff --git a/biblio.bib b/biblio.bib index 5680580..22bcda2 100644 --- a/biblio.bib +++ b/biblio.bib @@ -255,18 +255,6 @@ author = {Jessica J. Fridrich and year = 2001 } -@proceedings{DBLP:conf/ih/2001, - editor = {Ira S. Moskowitz}, - title = {Information Hiding, 4th International Workshop, IHW 2001, - Pittsburgh, PA, USA, April 25-27, 2001, Proceedings}, - booktitle = {Information Hiding}, - publisher = {Springer}, - series = {Lecture Notes in Computer Science}, - volume = {2137}, - year = {2001}, - isbn = {3-540-42733-3}, - bibsource = {DBLP, http://dblp.uni-trier.de} -} @inproceedings{DBLP:conf/ih/KimDR06, added-at = {2007-09-20T00:00:00.000+0200}, @@ -287,7 +275,7 @@ author = {Jessica J. Fridrich and series = {Lecture Notes in Computer Science}, timestamp = {2007-09-20T00:00:00.000+0200}, title = {Modified Matrix Encoding Technique for Minimal Distortion Steganography.}, - url = {http://dblp.uni-trier.de/db/conf/ih/ih2006.html#KimDR06}, + url = {http://dblp.uni-trier.de/db/conf/ih/ih206.html#KimDR06}, volume = 4437, year = 2006 } diff --git a/experiments.tex b/experiments.tex index 0b4d6d7..0011cd4 100644 --- a/experiments.tex +++ b/experiments.tex @@ -39,6 +39,7 @@ Compare to the Edge Adpative scheme detailed in~\cite{Luo:2010:EAI:1824719.18247 \JFC{comparer aux autres approaches} + \subsection{Steganalysis} @@ -77,4 +78,3 @@ Ensemble Classifier & & & \\ \end{table} -\JFC{Raphael, il faut donner des résultats ici} \ No newline at end of file diff --git a/ourapproach.tex b/ourapproach.tex index 4539cf1..f832695 100644 --- a/ourapproach.tex +++ b/ourapproach.tex @@ -85,6 +85,27 @@ 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. +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. \subsubsection{Security Considerations} @@ -104,6 +125,21 @@ it would thus be not possible to retrieve the original one in a polynomial time. +\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. diff --git a/stc/exp/raphus/test_wpsnr.py b/stc/exp/raphus/test_wpsnr.py new file mode 100644 index 0000000..f735467 --- /dev/null +++ b/stc/exp/raphus/test_wpsnr.py @@ -0,0 +1,42 @@ +import Image as im +import numpy as np +from Image import ImageStat as imst +from numpy import linalg as LA + +from math import * + + + +def sig2(mat): + (h,l) = mat.shape + L= 1 + avx = np.empty((h,l)) + for i in xrange(h): + for j in xrange(l): + avx[i,j] = np.average([mat[ip,jp] + for ip in xrange(max(0,i-L),min(h,i+L)) + for jp in xrange(max(0,j-L),min(h,j+L))]) + + s2 = np.empty((h,l)) + for i in xrange(h): + for j in xrange(l): + s2[i,j] = np.average([(mat[ip,jp]- avx[ip,jp])**2 + for ip in xrange(max(0,i-L),min(h,i+L)) + for jp in xrange(max(0,j-L),min(h,j+L))]) + return s2 + +def nvf(mat): + D = 75 + (h,l) = mat.shape + N = np.empty((h,l)) + + s2 = sig2(mat) + sigmax = np.amax(s2) + + for i in xrange(h): + for j in xrange(l): + N[i,j] = float(1)/(1+sigmax(i,j)**2) + + +def wpsnr(mati,mato): + return 10 * log10( (float(np.amax(mati))/(LA.norm(nvf(mato-mati))))**2)