X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/hdrcouchot.git/blobdiff_plain/4eb1ee7d55b10be299e02f6374289a378ff478d7..refs/heads/master:/ahmad.tex diff --git a/ahmad.tex b/ahmad.tex index 6aed620..9a70e96 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,38 +9,43 @@ 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 positionnement 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 traitemetn du signal) est une réponse +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 +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} +La première section fournit quelques rappels sur la STDM. Le schéma basé sur +cette approche est présenté à la section~\ref{sec:stdm:schema}. +Finalement, la démarche expérimentale permettant de trouver un compromis entre +robustesse et qualité visuelle est présentée à la section~\ref{sec:stdm:exp}. +Ce travail a été publié dans~\cite{BDCC16}. -\section{Rappels sur STDM} -\section{Spread Transform Dither Modulation} + +\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$ est un réel positif; plus $\Delta$ -est grand, plus la distortion peut être importante; +\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 +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 est embarqué; -\item un vecteur $p$ de projection de taille $L$; +\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} @@ -57,15 +62,166 @@ $\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 à $\Delta^2/12L$ -lorsque chacun des $L$ éléments de $x$ suit une ditribution uniforme +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}\label{sec:stdm:schema} + +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'un 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}\label{sec:stdm:exp} +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 agi 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{Application au marquage de documents PDF} +\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.