X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/hdrcouchot.git/blobdiff_plain/1cd71ddffbb51c7d43136d4b00cf09158105ddd5..52b5aa442f61f15f582a3412a4a283118e812859:/ahmad.tex?ds=sidebyside diff --git a/ahmad.tex b/ahmad.tex index 0ebbdb5..1b92dbc 100644 --- a/ahmad.tex +++ b/ahmad.tex @@ -1,4 +1,4 @@ -En étudiant le watermarking, +En étudiant les schémas de watermarking, nous avons constaté que très peu de travaux ciblaient les documents PDF qui représentent cependant une part non anecdotique des données échangées en ligne. @@ -9,25 +9,213 @@ ajoutent des caractères invisibles dans le document. En supprimant ces espaces ou caractères invisibles, la marque s'enlève facilement. Dans~\cite{PD2008}, les auteurs modifient de manière imperceptible -le positionnements des caractères. D'autres éléments de postionnement +le positionnements des caractères. D'autres éléments de positionnement sont intégrés dans~\cite{WT08}. -Une attaque qui remodifierait aléatoirement de manière faible ces positions +Une attaque qui modifierait aléatoirement de manière faible ces positions détruirait la marque dans les deux cas. +La quantification (au sens du traitement du signal) est une réponse +à ces attaques: des positions modifiées de manière mal intentionnée +peuvent grâce cette démarche être rapprochées (abstraites) en des positions +préétablies et conserver ainsi leur information et donc la marque. +STDM~\cite{CW01} est une instance de ces schémas de marquage. + +Ce chapitre présente une application de STDM au marquage de documents PDFs. +\JFC{annonce du plan} + +\section{Rappels sur la Spread Transform Dither Modulation} +\label{sec:STDM} +Les paramètres de ce schéma sont +\begin{itemize} +\item le facteur de quantification $\Delta$ qui est un réel positif; plus $\Delta$ +est grand, plus la distorsion peut être importante; +\item le niveau d'indécision $d_0$ qui est un réel dans +$[-\dfrac{\Delta}{2},\dfrac{\Delta}{2}]$; plus ce nombre a une valeur absolue +élevée, plus les erreurs peuvent être corrigées; +on définit $d_1$ par +$$d_1 = \begin{cases} + d_0 + \Delta/2, & \textrm{ si }~~d_0<0 \\ + d_0 - \Delta/2, & \textrm{ sinon } +\end{cases} +$$ +\item un nombre $L$ d'éléments dans lequel chaque bit de la marque + est embarqué; +\item un vecteur $p$ de projection de taille $L$. + +\end{itemize} + +Soit donc $x$ un vecteur de taille $L$ dans lequel on souhaite embarquer +le bit $m\in\{0,1\}$. +Ce vecteur est remplacé par $x'$ défini par + +\begin{equation}\label{eq:stdm} +x' = f(x,m) = x+ ((\lfloor(\frac{(x^T p) -d_m}{\Delta})\rfloor\Delta +d_m )~ - x^T p)p +\end{equation} + +Avec les mêmes paramètres $\Delta$, $d_0$ , $L$ et $p$ le message +$\hat{m}$ extrait de +$x'$ de taille $L$ est défini par: +\begin{equation} +\hat{m} = arg \min_{ m \in \{0, 1\}} \mid x'^T p - f(x,m) \mid +\label{eq:stdm:ext} +\end{equation} + +Les auteurs de~\cite{CW01} ont montré que la variance de l'erreur +est égale à $D_s = \Delta^2/12L$ +lorsque chacun des $L$ éléments de $x$ suit une distribution uniforme +$U(\Delta)$. +Tous les éléments sont en place pour embarquer une marque +dans un fichier PDF selon le schéma STDM. + +\section{Application au marquage de documents PDF} + +On détaille successivement comment insérer une marque dans un document PDF, +puis comment l'extraire. + +\subsection{Insertion de la marque} + +On cherche à ajouter à un document PDF une marque $m$ de $k$ bits +déjà codée (cryptée, correction d'erreurs incluse). +L'insertion de celle-ci dans le document s'effectue +en quatre étapes. + +On considère comme fixés les paramètres +$\Delta$, $d_0$ , $L$ et la manière de construire le vecteur $p$ +pour ce $L$ donné. + + +\begin{enumerate} +\item Le vecteur hôte $x$ de taille $N$ + est constitué de l'abscisse (flottante) + de chaque caractère rencontré dans le document PDF. + La dimension $L$ est calculée comme la partie entière de $N/k$. + +\item Un générateur pseudo aléatoire (initialisé par une clef) +construit $k$ ensembles $M_1$, \ldots, $M_k$ +de taille $L$ mutuellement disjoints dans $[1,N]$. Ainsi +$\bigcup_{1\le i \le k} M_i \subseteq [N]$. + + +\item Pour chacun des ensembles $M_i$, $ 1 \le i \le k$, + de l'étape précédente, le vecteur $\dot{x} = (x_{j_1}, \ldots ,x_{j_L})$, + est construit où $\{j_1, \ldots, j_L\} = M_i$. + Le vecteur $\dot{x'} = f(\dot{x},m_i)$ est + construit selon l'équation~(\ref{eq:stdm}). + Dans $x$, chacun des $x_{j_1}, \ldots, x_{j_L}$ est remplacé par + $\dot{x'}_{j_1}, \ldots, \dot{x'}_{j_L}$. + +\item L'abscisse de chaque caractère est ainsi redéfini + selon le nouveau vecteur de positions ${x'}$. +\end{enumerate} + +Voyons comment extraire une marque d'une document PDF. + +\subsection{Extraction de la marque} + +On considère comme connue la taille de la marque: c'est $k$ bits. +Les paramètres $\Delta$, $d_0$ et la manière de construire +$p$ en fonction de $L$ sont les mêmes qu'à l'étape précédente d'insertion de +marque. + +\begin{enumerate} +\item on récupère le vecteur $x'$ (de taille $N$ lui aussi) des abscisse des + caractères du document PDF comme dans la phase d'insertion. + la valeur de $L$ est définie comme précédemment. + +\item le même générateur pseudo aléatoire (initialisé avec la même clef) +construit les $k$ mêmes ensembles $M_1$, \ldots, $M_k$ +de taille $L$ mutuellement disjoints dans $[1,N]$. + +\item Pour chacun des ensembles $M_i$, $ 1 \le i \le k$, + de l'étape précédente, le vecteur $\dot{x'} = (x'_{j_1}, \ldots, x'_{j_L})$, + est construit où $\{j_1, \ldots, j_L\} = M_i$. + Le bit $\hat{m}_i$ est défini selon l'équation~(\ref{eq:stdm:ext}) + en remplaçant $x'$ par $\dot{x'}$ . +\end{enumerate} + +\section{Expérimentations } +Le schéma de marquage est paramétré par $\Delta$, $d_0$ et la manière de construire le vecteur $p$ pour une taille $L$. +Les travaux réalisés se sont focalisés sur l'influence du paramètre +$D_S = \frac{\Delta^2}{12L}$ dans l'algorithme en satisfaisant +les deux contraintes antagonistes +de fournir une marque suffisamment robuste +et suffisamment transparente. +On cherche deux réels $a$ et $b$ tels que +$a$ et $b$ correspondent respectivement +au seuil maximum pour être transparent et +au seuil minimum pour être robuste. +Les études de perceptibilité doivent permettre de déterminer $a$ tandis +que celles sur la robustesse devront fixer le seuil $b$. +Finalement, les contraintes précédentes seront satisfaites si et seulement si +$a > b$ et $D_s \in [b,a]$. + +Concernant la transparence, +les expériences présentées dans l'article~\cite{BDCC16} ont consisté en +choisir un texte d'un nombre fixe de caractères $n$ +dans lequel doit être embarqué une marque de taille fixe $k$. +En faisant varier la valeur de $\Delta$, nous avons remarqué que la +valeur $a= 0,01335$ est le seuil au delà duquel il est visuellement +possible de remarquer une différence entre le document original +et le document marqué. + +Il nous reste à détailler les expériences d'étude de robustesse de la démarche. +Comme dans l'évaluation de la transparence, il s'est agit de faire +varier le paramètre $\Delta$. +Pour chacune de ces valeurs, le document a été altéré selon +un flou gaussien (de paramètre 0,1 et 0,25) +et une attaque de type poivre et sel (de paramètre 0,1 et 0,25 aussi). +Le rapport entre le nombre de bits erronés par rapport au nombre total +de bits (nommé BER ci-après) après l'extraction du message est alors calculé. +Le facteur de quantification a été choisi entre 0.1 et 10. +L'expérience a été répétée 500 fois et les moyennes sont représentées +à la figure~\ref{fig:pdf:atq:ber}. +Sur cette figure, on constate que pour peu que la quantification $\Delta$ +soit supérieure à 1, le taux d'erreur est inférieur à 12,5\%. Ce taux peut +être corrigé par un code correcteur usuel. +Avec les paramètres de l'expérimentation, cela revient à considérer un seuil +$b=0,00214$. +Ces expériences ont ainsi pu valider l'existence de seuils de distorsion +permettant d'avoir une méthode à la fois robuste et transparente. + + + +\begin{figure}[ht] +\begin{center} +\begin{tikzpicture} + + \begin{axis}[% + axis x line=bottom, + axis y line=left, + xlabel=$\Delta$, + ylabel=$BER~(\%)$, +width=0.66\textwidth, + legend pos=north east] + \addplot[mark=none, dashed, red,thick] coordinates {(0.1, 13.8742) (0.5, 12.8721) (1, 8.4680) (1.1, 7.3940) (1.2, 6.5020) (1.3, 5.7960) (1.4, 4.9580) (1.5, 4.1180) (1.6, 3.8080) (1.7, 3.2580) (1.8, 2.8320) (1.9, 2.5000) (2, 2.2100) (2.1, 2.0420) (2.2, 1.8120) (2.3, 1.6080) (2.4, 1.4040) (2.5, 1.3860) (3, 1.1100) (5, 1) (10, 1)}; + + \addplot[mark=none, dotted, green,thick] coordinates {(0.1, 10.3501) (0.5, 7.1) (1, 4.7420) (1.1, 4.0580) (1.2, 3.3620) (1.3, 2.8260) (1.4, 2.3900) (1.5, 2.1220) (1.6, 1.9260) (1.7, 1.6540) (1.8, 1.4460) (1.9, 1.3680) (2, 1.3400) (2.1, 1.2460) (2.2, 1.1420) (2.3, 1.0920) (2.4, 1.0600) (2.5, 1.0460) (3, 1.0100) (5, 1) (10, 1)}; + + \addplot[mark=none, dashdotted, blue,thick] coordinates {(0.1, 15.3222) (0.5, 13) (1, 11.1560) (1.1, 10.2920) (1.2, 9.8520) (1.3, 8.7860) (1.4, 8.3960) (1.5, 7.3480) (1.6, 7.0880) (1.7, 6.0940) (1.8, 5.2100) (1.9, 4.8860) (2, 4.5940) (2.1, 4.0140) (2.2, 3.6060) (2.3, 3.3520) (2.4, 2.9300) (2.5, 2.6140) (3, 1.7000) (5, 1.0140) (10, 1)}; + + \addplot[mark=none, dash pattern=on 10pt off 2pt on 5pt off 6pt, black,thick] coordinates {(0.1, 13) (0.5, 10.7) (1, 9.3340) (1.1, 8.7580) (1.2, 7.7080) (1.3, 6.7580) (1.4, 5.9260) (1.5, 5.4320) (1.6, 4.7260) (1.7, 4.3020) (1.8, 3.6200) (1.9, 3.1380) (2, 2.9920) (2.1, 2.5780) (2.2, 2.4340) (2.3, 2.1240) (2.4, 1.8760) (2.5, 1.7386) (3, 1.2880) (5, 1) (10, 1)}; + + \legend{$Gaussian (0.1)$,$Salt\&pepper (0.1)$,$Gaussian (0.25)$,$Salt\&pepper (0.25)$}; + \end{axis} + \end{tikzpicture} +\\ +\end{center} +\caption{Représentation du BER pour des attaques de type flou gaussien et +poivre et sel}\label{fig:pdf:atq:ber} +\end{figure} + + +\section{Conclusion}\label{pdf:s:conclusion} +Ce travail a présenté une démarche outillée +basée sur la Spread Transform Dither Modulation +permettant d'embarquer une marque dans un document PDF. +Les éléments modifiés sont les abscisses des caractères présents +dans le document. + +Deux des propriétés essentielles des algorithmes de marquage ont été étudiées: +la transparence et la robustesse. La notion d'intervalle de distorsion +acceptable a été définie et calculée sur un exemple jouet. -Substitutive Quantization Index Modulation (QIM) methods were -introduced by Chen and Wornell~\cite{CW01}. The Spread Transform Dither -Modulation (STDM) is an implementation of this scheme and it has been -considered robust under different watermarking -attacks~\cite{DM10,WLSYNW13,CW99}. - -In this paper, the goal is to present a blind digital watermarking -scheme for PDF documents based on a variant of the Quantization Index -Modulation method called Spread Transform Dither Modulation -(STDM). The main difficulty in PDF documents is to find a significant -watermarking space in order to embed the secret message under a -sufficient Transparency-Robustness tradeoff. Our contribution consists -in using the $x$-coordinates of a group of characters to embed each -bit of the secret message while choosing the appropriate mean -distortion value which gives the strong tradeoff between transparency -and robustness. \ No newline at end of file