Projets étudiants cryptographie et sécurité/Detraz Caballol Watermarking Steganographie

De Wiki du LAMA (UMR 5127)
Aller à la navigation Aller à la recherche

Introduction

Définitions

Stéganographie : La stéganographie est l'art de dissimuler une information dans une autre (image, son, texte...).

Watermarking : Le watermarking est une technique de stéganographie consistant à cacher un "tatouage numérique" ou une signature dans une image ou tout autre forme de média numérique, mais nous nous concentrerons ici sur les images.

On peut considérer que le watermarking est une forme de stéganographie. Le but est donc de cacher de l'information dans un message totalement lisible. Le message visible reste inchangé (ou presque) même après introduction de l'information qui elle est totalement invisible. L'idée est de permettre qu'à un certain nombre de personnes d'accéder à ces informations par exemple à l'aide d'une clé que la personne qui a marqué son message fournirai.

A quoi ça sert ? Quel est le but ?

Avec l’avènement du numérique, de plus en plus d'informations et de médias sont facilement accessibles et libres d'accès ce qui peut poser de nombreux problèmes de droits d'auteurs. Tout le monde par un simple clique peut récupérer une image sur internet par exemple.
En utilisant un watermarking on protège ses créations en ajoutant un tatouage qui permet d'assurer l'appartenance au créateur et ainsi lutter contre les fraudes, les piratages, etc ... Mais aussi permet d'assurer la paternité car toute copie de la création conserve la signature.
L'avantage d'utiliser un watermarking est que si on utilise un tatouage efficace, celui-ci peut être robuste aux divers traitements appliqués aux images comme par exemple le rognage, la rotation, le lissage ... voire même la compression.

L'image

Nous allons expliquer ici quels sont les watermarkings qu'il est possible de réaliser au sein d'une image. Cela impliquera des notions qui sont directement liées aux images.

Caractéristiques du watermarking

Visibles / Invisibles

Texte alternatif
Watermarking visible sur une image fournie par Fotolia, une banque d'images payantes en ligne

Il existe deux grands types de watermarking :

  • Visibles : altération du fichier de base (exemple : une agence photo ajoutant « © » sur leurs images)
  • Invisibles : imperceptibles par l’utilisateur (exemple : en ajoutant quelques bits à une image)

Robuste / fragile

C'est la capacité qu'un algorithme de watermarking a de pouvoir faire face au diverses transformations et manipulations d'une image. Un algorithme de bonne qualité doit pouvoir conserver l'information qu'il stocke malgré les modifications de l'image.
Un algorithme performant résistera aux transformations : il sera robuste. A l'inverse, s'il n'est pas performant les transformations feront perdre les informations : il sera fragile.
Cependant, dans certains cas, il peut être plus intéressant d'utiliser un marquage fragile. Par exemple si une image comprend des parties des textuelles dont on veut savoir si elle ont été brutalement modifiée par un traitement quelconque. On aura juste à vérifier si le marquage est encore présent, si c'est le cas, cela veut dire que l'image n'a subis aucune transformation et qu'elle est authentique.

Ratio

C'est la quantité d'informations qu'il est possible de stocker dans une image. Selon notre algorithme, tout dépend les parties de l'image que l'on souhaite utiliser, il sera possible de stocker plus ou moins d'informations dans l'image.
Cependant, seuls 16 à 64 bits servent à placer un copyright sur une image, les watermarking sont rarement utilisé pour autre chose que cela. Ils seront rarement utilisés pour stocker de grosses informations brutes volumineuses, donc un ratio peu important n'est pas un problème.

Domaine spatial

Définition

Le domaine spatial est le domaine le plus "classique" ou on parlera avant tout de la valeur des pixels en les situant via des coordonnées x et y. Le watermarking dans ce domaine implique donc des transformations qui agissent directement sur les pixels. Les méthodes sont donc globalement rapides et les comparaisons relativement simples.

Bit de poids faible et Patchwork

Bits de poids faibles

Les modifications du bit de poids faibles sont les modifications les plus simples et les plus connus du watermarking.
Un pixel est codé sur 8 bits. Dans une image en noir et blanc, la valeur des teintes de gris se situent entre 0 (noir) et 255 (blanc). Appliquer des modifications du bits de poids faibles d'un pixel implique de partir du principe que l’œil humain ne perçoit pas les variations de gris d'une seule unité et donc qu'il est largement possible de modifier le bit de poids faible d'un pixel.

Exemple simplifié : insertion d'un A (Binaire : 01000001 ; Décimal : 65)
insertion A dans bit de poids faible

L'algorithme de Patchwork

Cet algorithme se base sur les modifications de bits de poids faibles. Bien que normalement invisible, une étude approfondie des pixels et de leur bits de poids faibles permettent de révéler l'existence du watermarking facilement.

L'algorithme fonctionne de la manière suivante :

  • On génère une clé aléatoirement créant n paires de pixels au sein d'une image. Ainsi on aura des couples de pixels (ai,bi)
  • Pour chaque couples, on va éclaircir les pixels du premier membre (a) d'une valeur v (ajouté la valeur v pour augmenter la luminosité) et on va assombrir les pixels du second membre (b) de cette même valeur v (soustraire v)
  • A l'oeil nu, cette transformation est invisible (ou presque)

Si quelqu'un de lambda, ne sachant pas que l'image est marquée, sélectionne au hasard de nombreux couples de pixels de l'image, et applique l'équation suivante sur la luminosité : S=a-b , il obtiendra un score S proche de 0. (S=a-b≈0).

Cependant si c'est quelqu'un possédant la clé définie par celui qui a marqué l'image qui applique cette même équation, le score S sera proche de 2v car l'équation sera appliquée sur les bons couples de pixels. (S=a-b≈2v) . Ainsi cela confirmera que l'image a bel et bien été marquée par la personne qui a fournie la clé et confirme son authenticité.

Domaine fréquentiel

Définition

Le domaine fréquentiel est une représentation de l'image en la considérant comme une somme de fréquences de différentes amplitudes plutôt que comme un ensemble de pixel.

Transformée de Fourrier

C'est la transformée la plus connue qui permet de passer du domaine spatial au domaine fréquentiel. Les composantes de l'image deviennent donc visibles en fréquence. L'application de la transformation de Fourrier est longue c'est pourquoi il est possible d'effectuer ce même calcul en limitant le durée de la transformation, c'est la Fast Fourrier Transform.

Ressources

Par Julien CABALLOL et Adrien DETRAZ.