1 En étudiant les schémas de watermarking,
2 nous avons constaté que très peu de travaux ciblaient les documents PDF
3 qui représentent cependant une part non anecdotique des données
5 Parmi ces travaux, \cite{PD2008} propose la modification du nombre
6 d'espaces entre les mots ou entre les paragraphes.
7 Similairement, les auteurs de~\cite{DBLP:journals/sigpro/LeeT10}
8 ajoutent des caractères invisibles dans le document.
9 En supprimant ces espaces ou caractères invisibles, la marque s'enlève
11 Dans~\cite{PD2008}, les auteurs modifient de manière imperceptible
12 le positionnements des caractères. D'autres éléments de postionnement
13 sont intégrés dans~\cite{WT08}.
14 Une attaque qui remodifierait aléatoirement de manière faible ces positions
15 détruirait la marque dans les deux cas.
16 La quantification (au sens du traitement du signal) est une réponse
17 à ces attaques: des positions modifiées de manière mal intentionnée
18 peuvent grâce cette démarche être rapprochées (abstraites) en des positions
19 préétablies et conserver ainsi leur information et donc la marque.
20 STDM~\cite{CW01} est une instance de ces schémas de marquage.
22 Ce chapitre présente une application de STDM au marquage de documents PDFs.
25 \section{Rappels sur la Spread Transform Dither Modulation}
27 Les paramètres de ce schéma sont
29 \item le facteur de quantification $\Delta$ qui est un réel positif; plus $\Delta$
30 est grand, plus la distortion peut être importante;
31 \item le niveau d'indécision $d_0$ qui est un réel dans
32 $[-\dfrac{\Delta}{2},\dfrac{\Delta}{2}]$; plus ce nombre a une valeur absolue
33 élevée, plus les erreurs peuvent être corrigées;
36 d_0 + \Delta/2, & \textrm{ si }~~d_0<0 \\
37 d_0 - \Delta/2, & \textrm{ sinon }
40 \item un nombre $L$ d'éléments dans lequel chaque bit de la marque
42 \item un vecteur $p$ de projection de taille $L$.
46 Soit donc $x$ un vecteur de taille $L$ dans lequel on souhaite embarquer
48 Ce vecteur est remplacé par $x'$ défini par
50 \begin{equation}\label{eq:stdm}
51 x' = f(x,m) = x+ ((\lfloor(\frac{(x^T p) -d_m}{\Delta})\rfloor\Delta +d_m )~ - x^T p)p
54 Avec les mêmes paramètres $\Delta$, $d_0$ , $L$ et $p$ le message
56 $x'$ de taille $L$ est défini par:
57 \begin{equation}\label{eq:stdm:ext}
58 \hat{m} = arg \min_{ m \in \{0, 1\}} \mid x'^T p - f(x,m) \mid
61 Les auteurs de~\cite{CW01} ont montré que la variance de l'erreur
62 est égale à $\Delta^2/12L$
63 lorsque chacun des $L$ éléments de $x$ suit une ditribution uniforme
65 Tous les éléments sont en place pour embarquer une marque
66 dans un fichier PDF selon le schéma STDM.
68 \section{Application au marquage de documents PDF}
70 On détaille successivement comment insérer une marque dans un document PDF,
71 puis comment l'extraire.
73 \subsection{Insertion de la marque}
75 On cherche à ajouter à un document PDF une marque $m$ de $k$ bits
76 déjà codée (cryptée, correction d'erreurs incluse).
77 L'insertion de celle-ci dans le document s'effectue
80 On considère comme fixés les paramètres
81 $\Delta$, $d_0$ et la manière de construire le vecteur $p$ pour une taille
86 \item Le vecteur hôte $x$ de taille $N$
87 est constitué de l'abscice (flottante)
88 de chaque caractère rencontré dans le document PDF.
89 La dimension $L$ est calculée comme la partie entière de $N/k$.
91 \item Un générateur pseudo aléatoire (initialisé par une clef)
92 construit $k$ ensembles $M_1$, \ldots, $M_k$
93 de taille $L$ mutuellement disjoints dans $[1,N]$. Ainsi
94 $\bigcup_{1\le i \le k} M_i \subseteq [N]$.
97 \item Pour chacun des ensembles $M_i$, $ 1 \le i \le k$,
98 de l'étape précédente, le vecteur $\dot{x} = (x_{j_1}, \ldots ,x_{j_L})$,
99 est construit où $\{j_1, \ldots, j_L\} = M_i$.
100 Le vecteur $\dot{x'} = f(\dot{x},m_i)$ est
101 construit selon l'équation~(\ref{eq:stdm}).
102 Dans $x$, chacun des $x_{j_1}, \ldots, x_{j_L}$ est remplacé par
103 $\dot{x'}_{j_1}, \ldots, \dot{x'}_{j_L}$.
105 \item L'abscisse de chaque caractère est ainsi redéfini
106 selon le nouveau vecteur de positions ${x'}$.
109 Voyons comment extraire une marque d'une document PDF.
111 \subsection{Exctraction de la marque}
113 On considère comme connue la taille de la marque: c'est $k$ bits.
114 Les paramètres $\Delta$, $d_0$ et la manière de construire
115 $p$ en fonction de $L$ sont les mêmes qu'à l'étape précédente d'insertion de
119 \item on récupère le vecteur $x'$ (de taille $N$ lui aussi) des abscices des
120 caractères du document PDF comme dans la phase d'insertion.
121 la valeur de $L$ est définie comme précédement.
123 \item le même générateur pseudo aléatoire (initialisé avec la même clef)
124 construit les $k$ mêmes ensembles $M_1$, \ldots, $M_k$
125 de taille $L$ mutuellement disjoints dans $[1,N]$.
127 \item Pour chacun des ensembles $M_i$, $ 1 \le i \le k$,
128 de l'étape précédente, le vecteur $\dot{x'} = (x'_{j_1}, \ldots, x'_{j_L})$,
129 est construit où $\{j_1, \ldots, j_L\} = M_i$.
130 Le bit $\hat{m}_i$ est défini selon l'équation~(\ref{eq:stdm:ext})
131 en remplaçant $x'$ par $\dot{x'}$ .
134 \section{Choix des paramètres}
135 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$.
136 Les travaux réalisés se sont focalisés sur l'influence du paramètre
137 $\Delta$ dans l'algorithme.