Brevet FR2837039A1 — publié le 20030912

La présente invention concerne un procédé d'insertion d'une information supplémentaire telle qu'une marque secrète dans un signal numérique. Elle concerne également un procédé d'extraction de la marque secrète en vue de l'authentification du signal numérique à partir de la marque secrète qui avait été insérée dans le signal. Corrélativement, la présente invention concerne un dispositif d'insertion d'une information supplémentaire et un dispositif d'extraction adaptés respectivement à mettre en oeuvre les procédés d'insertion et d'extraction conformes à l'invention. La présente invention concerne de manière générale l'authentification de données numériques, et plus particulièrement d'images numériques. Elle a pour but de permettre la détection des changements intervenus dans des données numériques originales. Plus précisément, l'invention s'inscrit dans le domaine technique du marquage (watermarking en anglais) des données numériques qui peut s'interpréter comme l'insertion d'un sceau dans les données numériques, permettant d'authentifier le contenu d'un fichier de données numériques original. Le marquage est alors dit fragile, car les informations supplémentaires insérées doivent être dégradées de façon détectable lorsque l'image marquée a subi des distorsions. Ainsi, il est possible de décider si un document est authentique, c'est-à-dire s'il contient une marque d'identification non modifiée ou s'il a été modifié par rapport à une version initiale authentifiée. L'état de l'art en marquage fragile est décrit par E. T. Lin et E. J. Delp dans A review of fragile image watermarks , dans Proc. Multimedia and Security Workshop (ACM Multimedia'99), pages 25-29, Orlando, 1999. Par exemple, les demandes de brevet français n 2 786 583 et n 2 787 604 décrivent des techniques de marquage fragile. Ces techniques utilisent une clé de décodage publique. La plupart des méthodes d'authentification par marquage présentent un problème de sécurité. En effet, un pirate qui dispose de la clé publique de décodage et du décodeur correspondant peut modifier de manière frauduleuse une image, de sorte que cette image semble être authentique lors d'un décodage ultérieur avec la clé publique. Par ailleurs, le document Using escrow public key to enhance confidence in an image authentification scheme de J. Malcolm et B. Robinson, dans Proc. IEE, 2000, propose d'appliquer un double codage/décodage cryptographique. Deux signatures, au sens cryptographique, sont calculées pour une même image, chacune de ces signatures utilisant un couple de clés publique et privée. La signature publique est utilisée pour décoder l'image. La signature privée est quant à elle utilisée pour vérifier si une image décodée avec la signature publique a été piratée ou non. Ce document introduit donc la notion de double décodage. Mais il est à noter qu'il ne concerne pas le marquage fragile de données. La présente invention vise à remédier aux inconvénients de la technique antérieure, en fournissant un procédé et un dispositif de marquage fragile qui limite le risque de falsification des données marquées. A cette fin, l'invention propose un procédé d'insertion d'une information supplémentaire telle qu'une marque secrète pour l'authentification d'un signal numérique comportant un ensemble de coefficients, caractérisé en ce qu'il comporte les étapes de : - calcul, pour au moins un premier coefficient, d'un premier bit de contrôle respectif en fonction d'une première clé, suivant une première opération prédéterminée, - insertion d'au moins un bit d'information supplémentaire sur ledit au moins un premier coefficient, en fonction de la valeur de son bit de contrôle, - calcul d'une seconde clé, telle que : - le résultat du calcul, pour tous les premiers coefficients pour lesquels un premier bit de contrôle respectif a été calculé, d'un second bit de contrôle en fonction de la seconde clé, suivant une seconde opération prédéterminée est respectivement égal au résultat du calcul du premier bit de contrôle, et - le résultat du calcul, pour au moins un second coefficient pour lequel un premier bit de contrôle respectif n'a pas été calculé, d'un second bit de contrôle en fonction de la seconde clé, suivant une seconde opération prédéterminée est différent du résultat du calcul du premier bit de contrôle calculé pour ledit au moins un second coefficient. Corrélativement, l'invention concerne un dispositif d'insertion d'une information supplémentaire telle qu'une marque secrète pour l'authentification d'un signal numérique comportant un ensemble de coefficients, caractérisé en ce qu'il comporte : - des moyens de calcul, pour au moins un premier coefficient, d'un premier bit de contrôle respectif en fonction d'une première clé, suivant une première opération prédéterminée, - des moyens d'insertion d'au moins un bit d'information supplémentaire sur ledit au moins un premier coefficient, en fonction de la valeur de son bit de contrôle, - des moyens de calcul d'une seconde clé, telle que : - le résultat du calcul, pour tous les premiers coefficients pour lesquels un premier bit de contrôle respectif a été calculé, d'un second bit de contrôle en fonction de la seconde clé, suivant une seconde opération prédéterminée est respectivement égal au résultat du calcul du premier bit de contrôle, et - le résultat du calcul, pour au moins un second coefficient pour lequel un premier bit de contrôle respectif n'a pas été calculé, d'un second bit de contrôle en fonction de la seconde clé, suivant une seconde opération prédéterminée est différent du résultat du calcul du premier bit de contrôle calculé pour ledit au moins un second coefficient. L'invention propose ainsi un procédé de marquage de données qui utilise une clé lors d'insertion du signal de marquage et deux clés pour l'extraction ultérieure de ce signal de marquage. L'une des clés d'extraction est publique tandis que l'autre demeure secrète. L'invention permet de limiter le risque de falsification des données marquées. En effet, l'information supplémentaire peut être extraite avec chacune des deux clés. On peut alors vérifier que la clé publique et la clé privée permettent d'extraire la même information supplémentaire. Selon une caractéristique préférée, la seconde clé est associée au signal numérique dans lequel l'information supplémentaire a été insérée. Ainsi, la seconde clé est publique. Selon une caractéristique préférée, le calcul de la seconde clé comporte, pour chacune des clés d'un ensemble prédéterminé de clé : - le calcul du second bit de contrôle, pour ledit au moins un premier coefficient, suivant la seconde opération prédéterminée, - la comparaison, pour ledit au moins un premier coefficient, du second bit de contrôle et du premier bit de contrôle, - l'élimination des clés pour lesquelles le premier et le second bits de contrôle sont différents, pour ledit au moins un premier coefficient. Ainsi, la seconde clé permet d'obtenir le même bit de contrôle que la première clé, pour les premiers coefficients. Selon une caractéristique préférée, le calcul de la seconde clé comporte : - détermination d'au moins un second coefficient pour lequel un premier bit de contrôle n'a pas été calculé, - calcul, pour ledit au moins un second coefficient, d'un premier bit de contrôle respectif en fonction de la première clé, suivant la première opération prédéterminée, - calcul, pour ledit au moins un second coefficient, d'un second bit de contrôle respectif en fonction de chacune des clés non éliminées, suivant la seconde opération prédéterminée, - détermination de la seconde clé en fonction de la différence entre les premier et second bits de contrôle. Ainsi, la seconde clé permet d'obtenir, pour le ou les seconds coefficients, un second bit de contrôle qui est différent de celui obtenu avec la première clé. Selon une caractéristique préférée, la première opération et la seconde opération sont identiques. La mise en oeuvre est ainsi simplifiée. Le dispositif d'insertion comporte des moyens de mise en oeuvre des caractéristiques précédentes. L'invention concerne aussi un procédé d'extraction d'une information supplémentaire insérée dans un signal numérique par le procédé précédemment présenté, caractérisé en ce qu'il comporte les étapes de : - extraction d'une première information supplémentaire en utilisant la première clé et la première opération prédéterminée, - extraction d'une seconde information supplémentaire en utilisant la seconde clé et la seconde opération prédéterminée, - comparaison de la première et de la seconde informations supplémentaires, - authentification du signal numérique en fonction du résultat de la comparaison. L'invention concerne aussi un dispositif d'extraction comportant des moyens de mise en oeuvre des caractéristiques précédentes. Le dispositif d'insertion, le procédé et le dispositif d'extraction présentent des avantages analogues à ceux précédemment présentés. L'invention concerne aussi un appareil numérique incluant le dispositif selon l'invention, ou des moyens de mise en oeuvre du procédé selon l'invention. Cet appareil numérique est notamment un appareil photographique numérique. Il peut aussi être, par exemple, un caméscope numérique, un scanner, une imprimante, un photocopieur, un télécopieur. Les avantages du dispositif et de l'appareil numérique sont identiques à ceux précédemment exposés. Un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif, éventuellement amovible, mémorise un programme mettant en oeuvre le procédé selon l'invention. Un programme d'ordinateur lisible par un microprocesseur et comportant une ou plusieurs séquence d'instructions est apte à mettre en oeuvre les procédés selon l'invention. Les caractéristiques et avantages de la présente invention apparaîtront plus clairement à la lecture d'un mode préféré de réalisation illustré par les dessins ci-joints, dans lesquels : - la figure 1 est un mode de réalisation d'un dispositif mettant en oeuvre l'invention, - la figure 2 représente un dispositif de codage, - la figure 3 représente un dispositif de décodage correspondant au dispositif de la figure 2, - la figure 4 représente un dispositif de codage selon l'invention, - la figure 5 représente un dispositif de décodage selon l'invention correspondant au dispositif de la figure 4, - la figure 6 représente un mode de réalisation de procédé de codage selon l'invention, - la figure 7 représente un mode de réalisation de procédé de décodage selon l'invention, - la figure 8 représente le détail d'une étape de décodage public, incluse dans le procédé de la figure 7, - la figure 9 représente le détail d'une étape de décodage privé, incluse dans le procédé de la figure 7, - la figure 10 représente le détail d'une étape de recherche d'un ensemble de clés publiques, incluse dans le procédé de la figure 6, - la figure 11 représente le détail d'une étape de recherche d'une clé publique, incluse dans le procédé de la figure 6. Selon le mode de réalisation choisi et représenté à la figure 1, un dispositif mettant en oeuvre l'invention est par exemple un micro-ordinateur 10 connecté à différents périphériques, par exemple une caméra numérique 107 (ou un scanner, ou tout moyen d'acquisition ou de stockage d'image) reliée à une carte graphique et fournissant des informations à traiter selon l'invention. Le dispositif 10 comporte une interface de communication 112 reliée à un réseau 113 apte à transmettre des données numériques à traiter ou inversement à transmettre des données traitées par le dispositif. Le dispositif 10 comporte également un moyen de stockage 108 tel que par exemple un disque dur. Il comporte aussi un lecteur 109 de disque 110. Ce disque 110 peut être une disquette, un CD-ROM, ou un DVD-ROM, par exemple. Le disque 110 comme le disque 108 peuvent contenir des données traitées selon l'invention ainsi que le ou les programmes mettant en oeuvre l'invention qui, une fois lu par le dispositif 10, sera stocké dans le disque dur 108. Selon une variante, le programme permettant au dispositif de mettre en oeuvre l'invention, pourra être stocké en mémoire morte 102 (appelée ROM sur le dessin). En seconde variante, le programme pourra être reçu pour être stocké de façon identique à celle décrite précédemment par l'intermédiaire du réseau de communication 113. Le dispositif 10 est relié à un microphone 111. Les données à traiter selon l'invention seront dans ce cas du signal audio. Ce même dispositif possède un écran 104 permettant de visualiser les données à traiter ou de servir d'interface avec l'utilisateur qui peut ainsi paramétrer certains modes de traitement, à l'aide du clavier 114 ou de tout autre moyen (souris par exemple). L'unité centrale 100 (appelée CPU sur le dessin) exécute les instructions relatives à la mise en oeuvre de l'invention, instructions stockées dans la mémoire morte 102 ou dans les autres éléments de stockage. Lors de la mise sous tension, les programmes de traitement stockés dans une mémoire non volatile, par exemple la ROM 102, sont transférés dans la mémoire vive RAM 103 qui contiendra alors le code exécutable de l'invention ainsi que des registres pour mémoriser les variables nécessaires à la mise en oeuvre de l'invention. De manière plus générale, un moyen de stockage d'information, lisible par un ordinateur ou par un microprocesseur, intégré ou non au dispositif, éventuellement amovible, mémorise un programme mettant en oeuvre le procédé selon l'invention. Le bus de communication 101 permet la communication entre les différents éléments inclus dans le micro-ordinateur 10 ou reliés à lui. La représentation du bus 101 n'est pas limitative et notamment l'unité centrale 100 est susceptible de communiquer des instructions à tout élément du microordinateur 10 directement ou par l'intermédiaire d'un autre élément du microordinateur 10. Un mode de réalisation de dispositif de marquage fragile 20 est décrit en référence à la figure 2. Ce dispositif est décrit dans la demande de brevet français n 2 786 583. Le dispositif est intégré dans un appareil, qui est par exemple un appareil photographique numérique, un caméscope numérique, un scanner, une imprimante, un photocopieur, un télécopieur, un système de gestion de base de données, ou encore un ordinateur. Dans cet exemple, et à titre d'exemple non limitatif, le signal numérique est une image numérique 1 constituée d'une suite d'échantillons numériques. Une image originale 1 peut être représentée par une série de pixels codés par exemple sur 8 bits ou octets. L'image 1 noir et blanc peut ainsi être décomposée dans le domaine spatial en un ensemble de coefficients sur 256 niveaux de gris, chaque valeur de coefficient représentant un pixel de l'image 1. De manière classique dans le domaine de traitement des données numériques, l'image 1 peut également être représentée dans un domaine spectral, après décomposition spectrale de l'image numérique, par un ensemble de coefficients spectraux, éventuellement quantifiés lorsque l'image 1 doit être stockée ou transmise dans un fichier de données compressées. Ces coefficients spectraux sont également représentés sur un nombre L de bits, par exemple L = 8 si le coefficient est représenté sur un octet. Dans la suite de la description relative aux dispositifs d'insertion et d'authentification, les coefficients spatiaux ou spectraux sont indifféremment notés X,, avec i un indice entier. L'information supplémentaire à insérer pour authentifier l'image 1 est une marque secrète W. Cette marque secrète peut contenir une information sur la provenance des données numériques (identification de l'auteur ou du propriétaire de l'image) ou sur leur date de création. Elle est représentée également par un ensemble de valeurs binaires Wj, égales par exemple à 0 ou 1, de taille égale ou inférieure à celle de l'ensemble de coefficients Xj. De manière générale, un dispositif d'insertion est assimilable à un codeur 20 qui code dans une image t, en format compressé ou non, une marque W. Une image marquée l'est fournie en sortie du codeur 20. Les coefficients de l'image 1 sont séparés en deux sous-ensembles. L'un des sous-ensembles est utilisé par un module de calcul 21 qui détermine des données dépendantes de l'image qui serviront ultérieurement à l'authentification. L'autre sous-ensemble est fourni à un module de codage 22 qui insère la marque W dans les coefficients de ce sous-ensemble. Le codeur 20 fournit une image marquée la. Comme exposé dans la demande de brevet n 2 786 583, le dispositif d'insertion comporte : - des moyens de calcul d'un bit de contrôle C, suivant une opération prédéterminée en fonction de L-M premiers plans de bits d'un coefficient Xi ; - des moyens de calcul de M derniers plans de bits suivant une règle prédéterminée réversible en fonction du bit de contrôle C, et d'une valeur binaire w, de l'information supplémentaire W ; et - des moyens de substitution des M derniers plans de bits du coefficient X, par les M derniers plans de bits calculés. Les M plans de bits de poids les plus faibles du coefficient X, sont ainsi modifiés en fonction des autres L-M plans de bits du coefficient X, et de l'information à insérer w,. L'image la peut subir diverses distorsions (compression et décompression, filtrage) de telle sorte qu'une image l'a est transmise en entrée d'un dispositif d'authentification assimilable en partie à un décodeur 30 tel que représenté à la figure 3. Le but du dispositif d'authentification est d'indiquer si l'image l'a est bien l'image la qui a été transmise. Comme exposé dans la demande de brevet n 2 786 583, le dispositif d'authentification comporte pour cela : - un module de calcul 31 d'un bit de contrôle C, suivant la même opération prédéterminée que celle utilisée au codage, en fonction de L-M premiers plans de bits d'un coefficient X, ; - un module d'extraction 32 de la valeur w'i de l'information supplémentaire insérée suivant la règle prédéterminée réversible en fonction du bit de contrôle C, et de M derniers plans de bits du coefficient X, ; Le décodeur 30 permet ainsi de retrouver l'information supplémentaire w', insérée dans l'image reçue l'a. Le dispositif d'authentification comporte également : - des moyens de comparaison 33 de la valeur extraite w'j de l'information supplémentaire insérée et de la valeur binaire Wj de l'information supplémentaire W ; et - des moyens de décision 34 d'authentifier ou non le signal numérique l'a en fonction de l'identité ou non de la valeur extraite w', et de la valeur binaire w, de l'information supplémentaire insérée W. Les moyens de calcul 21 et 31 d'un bit de contrôle C, pour chaque coefficient X, sont identiques dans le dispositif d'insertion et dans le dispositif d'authentification. Par exemple, l'opération prédéterminée mise en oeuvre par ces moyens de calcul 21,31 est une fonction des L-M premiers plans de bits du coefficient X, et d'une clé confidentielle K représentée également sur L bits. La clé confidentielle permet de sécuriser les informations insérées. A titre d'exemple, on peut disposer d'une clé par image 1 à authentifier, ou d'une clé pour un ensemble d'images), ou encore d'une clé unique par type d'appareil qui crée ou stocke les images, par exemple un appareil photographique numérique. En outre, la clé K est identique au codage et au décodage. La figure 4 représente un mode de réalisation de dispositif d'insertion d'une information supplémentaire dans une image, selon l'invention. Ce dispositif est assimilable à un codeur 200. Le codeur 200 reçoit en entrée une image initiale 1 comportant des coefficients X, et un signal de marquage W, qui est une image binaire comportant des coefficients Wj. Le signal W est de taille inférieure ou égale à celle de l'image 1. Le codeur utilise une clé de codage Ks qui est une valeur numérique représentée sur un nombre prédéterminé de bits. La clé Ks est de préférence secrète. Le codage a pour résultat une image la dans laquelle le signal de marquage W a été inséré et qui est visuellement identique à l'image initiale 1. Le codage est identique à celui décrit en référence à la figure 2. Le codage a également pour résultat une clé de décodage Kp, dite clé publique. La clé publique Kp est destinée à être utilisée ultérieurement pour décoder l'image la. La clé publique Kp peut être attachée à l'image codée la, par exemple en étant écrite dans les données d'en-tête du fichier JPEG contenant l'image la. La détermination de la clé Kp est détaillée dans la suite. Le fonctionnement du dispositif de codage sera détaillé dans la suite à l'aide d'algorithmes. Une image l'a est transmise en entrée d'un dispositif d'authentification selon l'invention 300 dont un mode de réalisation est représenté à la figure 5. L'image l'a peut être égale à l'image la. L'image la peut subir diverses distorsions (compression et décompression, filtrage) de telle sorte que l'image l'a est une version altérée de l'image la. Ces distorsions peuvent être assimilées soit à du bruit, soit à un piratage de l'image. Le but du dispositif d'authentification 300 est d'indiquer si l'image l'a est bien l'image la qui a été transmise ou inversement si l'image l'a est une version modifiée de l'image la. Le décodeur 300 comporte deux modules de décodage. Les deux décodeurs effectuent des opérations d'extraction du signal de marquage qui sont analogues. Le premier décodeur 301 utilise la clé secrète Ks égale à la clé utilisée au codage et un mode de décodage 01. Une information Ws est ainsi extraite. Le second décodeur 302 utilise une clé publique Kp et un mode de décodage Ds. Une information Wp est ainsi extraite. Le premier décodeur est dit privé, c'est-à-dire que ses caractéristiques (clé Ks et mode de décodage 01) ne sont pas publiques. Le second décodeur est quant à lui public. Les fonctions 01 et O2 respectent les propriétés suivantes : Dl (la, Ks) = D2 (la, Kp) D1 (lb, Ks) D2 (tb, Kp) Dans lesquelles lb représente une image qui est une modification de l'image la. En d'autres termes, les deux modes de décodage fournissent le même résultat avec une même image préalablement authentifiée avec les clés Ks et Kp, mais des résultats différents avec une image non authentifiée ou avec une image authentifiée puis modifiée. Les informations extraites Ws et Wp sont appliquées à un module de comparaison 303. Ce module vérifie si les informations extraites Ws et Wp sont identiques. Un module d'authentification authentifie ou non l'image l'a en fonction du résultat de la comparaison. Si les informations extraites Ws et Wp sont identiques, alors cela signifie que l'image l'a n'a pas été modifiée par rapport à l'image la. Dans le cas contraire, il y a eu modification de l'image. La figure 6 représente un mode de réalisation de procédé de codage d'une image, selon l'invention. Ce procédé est mis en oeuvre dans le dispositif de codage et comporte des étapes E1 à E6. Le procédé est réalisé sous la forme d'un algorithme qui peut être mémorisé en totalité ou en partie dans tout moyen de stockage d'information capable de coopérer avec le microprocesseur. Ce moyen de stockage est lisible par un ordinateur ou par un microprocesseur. Ce moyen de stockage est intégré ou non au dispositif, et peut être amovible. Par exemple, il peut comporter une bande magnétique, une disquette ou un CD-ROM (disque compact à mémoire figée). Les étapes E 1 et E2 sont décrites dans la demande de brevet français n 2 786 583. Une image à coder est représentée par un ensemble de coefficients, par exemple des coefficients transformés dans le domaine DCT (d'après l'anglais Discret Cosine Transform). L'image est considérée par blocs de coefficients. Un sous-ensemble de coefficients {XI} est déterminé, par exemple en sélectionnant les coefficients dont la magnitude est supérieure à un seuil prédéterminé. L'insertion du signal de marquage est effectuée sur les coefficients de ce sous-ensemble. Pour cela, à l'étape E1, les coefficients du sous-ensemble sont considérés un par un. On considère un coefficient X, et on lui associe une valeur B, qui représente la position du coefficient dans le bloc auquel il appartient. Un bit de contrôle C, est ensuite calculé pour le coefficient Xi. Le bit de contrôle C, est calculé en fonction de la valeur du coefficient X,, de sa position dans le bloc auquel il appartient et de la clé secrète Ks. La première étape du calcul est l'application d'une fonction déterministe h pour calculer une valeur réelle K, = h (Xi, B,, Ks). Par exemple, on a : K, = MSB [X,]. B, + Ks. Où MSB [X,] représente le bit de poids fort de XI, d'après l'anglais Most Significant Bit > > La seconde étape du calcul est un tirage pseudo-aléatoire effectué à partir de la valeur K, précédemment déterminée : C, = f1 (K,). Pour le tirage pseudo-aléatoire, on utilise par exemple la procédure, notée ran1 (...), de génération de valeurs réelles uniformément réparties sur l'intervalle [0, 1], décrite dans l'ouvrage Numerical Recipes in C , seconde édition, Cambridge University Press, 1992, par W. H. Press, S. A. Teukolsky, W. T. Vetterling et B. P. Flannery. La valeur du bit de contrôle C, ainsi déterminée est ensuite utilisée à l'étape E2 pour insérer un coefficient w, du signal de marquage W sur le coefficient X,. Par exemple, toujours comme dans la demande de brevet français n 2 786 583, le coefficient marqué X', est déterminé par la formule : LSB [X',] = C, 0 W, Où 0 représente l'opération binaire OU exclusif n et LSB [X'i] représente le bit de poids faible de X'I. Si les deux bits ont la même valeur, le résultat est égal à un, et à zéro sinon. L'ensemble des coefficients marqués détermine l'image marquée la. Après le calcul de chaque bit de contrôle Ci, le couple (XI ! Ci) est mémorisé à l'étape E3. L'ensemble des couples ainsi formé est noté E. A partir de l'ensemble E, la clé publique Kp correspondant à la clé secrète Ks est calculée à l'étape E4. Pour cela, un intervalle de clés potentielles [Km ! n, Kmax] est considéré. Dans cet intervalle, est recherché un sous-ensemble de clés K qui donnent le même résultat sur l'ensemble E de l'image en cours de traitement, avec la même fonction de calcul fi. Cette condition se traduit par la formule : fi (h (XI, B,, K)) = C,, V (Xi, C,) E E En variante, on recherche les clés K qui donnent le même résultat sur l'ensemble E de l'image en cours de traitement, mais avec une fonction de calcul f2 différente de la fonction fi. Cette condition se traduit par la formule : f2 (h (XI, B,, K)) = CI, V (Xi, Ci) E E. Dans ce cas, on a par exemple : fi (K) = (PRNG1 [K] + PRNG1 [K]/2) % 2, et f2 (K) = (PRNG2 [K]) % 2 où % 2 désigne le reste de la division par deux et PRNG1 [K] et PRNG2 [K] sont des générateurs de nombres pseudo-aléatoires tels que : PRNG1 [K] = ran1 (k) * V1, et PRNG2[K] = ran 1 (k) * V2 Où V1 et V2 sont deux grandes valeurs entières, par exemple égales à 1000 et 500, et ran1 (K) est la procédure de génération de valeurs réelles uniformément réparties sur l'intervalle [0, 1]. L'étape E4 sera détaillée dans la suite. A l'étape suivante E5, on recherche, parmi les clés précédemment déterminées, une clé Kp qui maximise le nombre de différences de résultat par rapport à la clé Ks, pour les valeurs de couples (Xj, B,) qui ne sont pas dans l'ensemble E. Cette recherche est effectuée avec la fonction fi ou la fonction f2, suivant la variante choisie. Cette étape est détaillée dans la suite. A l'étape suivante E6, la clé Kp est attachée à l'image marquée la. Pour cela, elle est par exemple écrite dans les données d'en-tête du fichier contenant l'image marquée la. La clé Kp est utilisable ultérieurement pour l'extraction du signal de marquage. La figure 7 représente un mode de réalisation de procédé de décodage d'une image, selon l'invention. Ce procédé est mis en oeuvre dans le dispositif de décodage et comporte des étapes E 10 à E 13. Le procédé est réalisé sous la forme d'un algorithme qui peut être mémorisé en totalité ou en partie dans tout moyen de stockage d'information capable de coopérer avec le microprocesseur. Ce moyen de stockage est lisible par un ordinateur ou par un microprocesseur. Ce moyen de stockage est intégré ou non au dispositif, et peut être amovible. Par exemple, il peut comporter une bande magnétique, une disquette ou un CD-ROM (disque compact à mémoire figée). L'étape E10 est un premier décodage, dit décodage public, de l'image marquée l'a. Ce décodage utilise la clé publique Kp et la fonction fi ou la fonction f2, suivant la variante choisie lors du codage. Ce décodage a pour résultat une information extraite Wp. Cette étape sera détaillée dans la suite. L'étape suivante E11 est un second décodage, dit décodage privé, de l'image marquée l'a. Ce décodage utilise la clé secrète Ks et la fonction fi. Ce décodage a pour résultat une information extraite Ws. Cette étape sera détaillée dans la suite. Il est à noter que les étapes E10 et E11 peuvent être exécuter dans un ordre inverse ou parallèlement. L'étape suivante E12 est une comparaison des informations extraites Ws et Wp. On recherche ici si les informations extraites sont strictement égales. En effet, les deux clés de décodage doivent donner des résultats égaux sur l'image authentique et des résultats différents dans les autres cas. L'étape suivante E13 est une authentification de l'image l'a, en fonction du résultat de la comparaison. Ainsi, le résultat de la comparaison permet de valider ou non le décodage effectué avec la clé publique. La figure 8 représente l'étape E10 en détail, sous la forme d'un algorithme comportant des étapes E100 à E170. A l'étape E100, l'image l'a est considérée et un sous-ensemble de coefficients X', de l'image l'a est formé. Les coefficients du sous-ensemble sont tels que leur magnitude est supérieure au même seuil prédéterminé que lors de l'insertion. Le sous-ensemble comporte NC coefficients. L'étape suivante E110 est une initialisation à laquelle le paramètre i est mis à la valeur zéro pour considérer un premier coefficient du sousensemble. Un paramètre entier N est également mis à la valeur zéro. Le paramètre N est un compteur de nombre d'erreur. L'étape suivante E120 est le calcul du bit de contrôle C, pour le coefficient courant X',. Ce calcul est effectué avec la clé publique Kp et la fonction fi. En variante, la fonction f2 remplace la fonction fi. Ce calcul est analogue à celui effectué lors de l'insertion. L'étape suivante E130 est l'extraction d'une valeur binaire W',, à partir des bits de poids faible du coefficient X'j. L'étape suivante E140 est une mise à jour du nombre d'erreur N. Si la valeur binaire extraite W', est différente de la valeur binaire W, qui est ici connue, alors le compteur N est incrémenté de une unité. Dans le cas contraire, le compteur N garde sa valeur. A l'étape suivante E150, le paramètre i est incrémenté de une unité pour considérer un coefficient suivant. L'étape suivante E160 est un test pour déterminer le paramètre i est inférieur au nombre de coefficients à traiter NC. Si la réponse est positive, alors l'étape E160 est suivie de l'étape E120 précédemment décrite. Si la réponse est négative à l'étape E160, alors cette étape est suivie de l'étape E170 de décision à laquelle le paramètre N est analysé pour déterminer si l'image traitée est identique ou non à l'image initiale. L'étape E11 de décodage privé est analogue à l'étape E10. Il comporte des étapes analogues à celles de la figure 8, à l'exception de l'étape E120 qui est remplacée par l'étape E220. Comme représenté à la figure 9, le calcul du bit de contrôle est effectué avec la clé secrète Ks et la fonction fi. Ce décodage fournit un ensemble de valeurs binaires Ws qui est comparé avec celui obtenu avec la clé publique (étape E13). La figure 10 représente le détail de l'étape E4 précédemment décrite en référence à la figure 6. Cette étape est la recherche d'un ensemble de clés qui fournissent les mêmes bits de contrôle que la clé secrète Ks sur l'image en cours de traitement. L'étape E4 comporte des sous-étapes E40 à E44. L'étape E40 est une initialisation à laquelle on considère un ensemble de clés qui sont comprises entre deux valeurs Kmin et Kmax. A l'étape suivante E41, on considère une première clé K de l'ensemble précédent. L'étape suivante E42 est le calcul d'un bit de contrôle C', = fi (h (XI, B,, K)) pour la clé courante K, pour chacun des coefficients X,. A l'étape E43, le résultat C', de chacun des calculs précédents est respectivement comparé avec le résultat C, = fi (h (XI, B,, Ka)) calculé à l'étape E1. Dès qu'un des résultats C', est différent du résultat C, respectif, la clé courante K est éliminée. Les étapes E42 et E43 sont réitérées pour toutes les clés de l'ensemble défini à l'étape E40. Lorsque toutes les clés ont été testées, l'étape E44 fournit l'ensemble des clés qui fournissent les mêmes bits de contrôle que la clé secrète Ks sur l'image en cours de traitement. La figure 11 représente le détail de l'étape E5 précédemment décrite en référence à la figure 6. Cette étape est la recherche d'une clé qui fournit le plus possible de bits de contrôle, calculés sur des coefficients n'appartenant pas à l'image courante, différents de ceux fournis par la clé secrète Ks sur l'image en cours de traitement. L'étape E5 comporte des sous-étapes E50 à E57. L'étape E50 est la détermination d'un ensemble Z de couples (Zj, Bj) n'appartenant pas à l'ensemble E (étape E3). Pour cela, on considère ici toutes les valeurs que peuvent prendre les coefficients de l'image, à l'exception de celles qui sont effectivement prises par les coefficients de l'image. En variante, on considère un sous-ensemble de l'ensemble Z, par exemple de même cardinal que l'ensemble E. Les éléments de ce sousensemble peuvent être choisis de manière pseudo-aléatoire. Cette variante est sous-optimale, mais elle est également moins complexe et plus rapide à mettre en oeuvre. L'étape suivante E51 est le calcul et la mémorisation des bits de contrôle calculés pour chacun des couples (Zj, Bj), avec la clé secrète Ks. L'étape suivante E52 est une initialisation à laquelle un paramètre entier m est mis à zéro. Le paramètre m représente la clé courante de l'ensemble des clés déterminé à l'étape E44. L'étape suivante E53 est le calcul et la mémorisation des bits de contrôle calculés pour chacun des couples (Z,, Bj), avec la clé courante Km. L'étape suivante E54 est le décompte des différences Dm entre les bits de contrôle calculés à l'étape E51 et ceux calculés à l'étape E53. A l'étape suivante E55, le paramètre m est incrémenté de une unité pour considérer une clé suivante. L'étape suivante E56 est un test pour vérifier si toutes les clés Km ont été traitées. Si la réponse est négative, l'étape E56 est suivie de l'étape E53 précédemment décrite, pour la clé suivante. Lorsque la réponse est positive à l'étape E56, alors cette étape est suive de l'étape E57 à laquelle la clé Km correspondant à la plus grande valeur Dm est sélectionnée. Cette clé est la clé publique Kp. Selon une première variante, on ne choisit pas à l'étape E57 la clé correspondant à la plus grande valeur Dm, mais une clé parmi celles qui présentent des nombres élevés de différences Dm. En effet, il existe une seule fonction qui réalise le nombre maximal de différences par rapport à une fonction initiale. La connaissance de la clé publique Kp pourrait donc permettre à un pirate de retrouver la clé secrète Ks. Cette variante permet donc de réduire encore plus le risque de piratage. Selon une seconde variante, l'étape E53 de calcul des bits de contrôle avec la clé Km peut être remplacée par une lecture en mémoire de ces bits de contrôle, à condition qu'ils aient été préalablement calculés et mis en mémoire. Cette variante permet une exécution plus rapide, mais nécessite une place mémoire plus importante. Bien entendu, la présente invention n'est nullement limitée aux modes de réalisation décrits et représentés, mais englobe, bien au contraire, toute variante à la portée de l'homme du métier. En particulier, l'invention a été décrite plus spécifiquement en référence à l'insertion d'informations supplémentaires dans des données décrite dans la demande de brevet français n 2 786 583. Néanmoins, elle s'applique à d'autres modes d'insertion, par exemple l'insertion décrite dans la demande de brevet français n 2 787 604. REVENDICATIONS 1. Procédé d'insertion d'une information supplémentaire (W) telle qu'une marque secrète pour l'authentification d'un signal numérique comportant un ensemble de coefficients, caractérisé en ce qu'il comporte les étapes de : - calcul (E1), pour au moins un premier coefficient, d'un premier bit de contrôle respectif en fonction d'une première clé (Ks), suivant une première opération prédéterminée, - insertion (E2) d'au moins un bit d'information supplémentaire sur ledit au moins un premier coefficient, en fonction de la valeur de son bit de contrôle, -calcul (E4, E5) d'une seconde clé (Kp), telle que : - le résultat du calcul, pour tous les premiers coefficients pour lesquels un premier bit de contrôle respectif a été calculé, d'un second bit de contrôle en fonction de la seconde clé (Kp), suivant une seconde opération prédéterminée est respectivement égal au résultat du calcul du premier bit de contrôle, et - le résultat du calcul, pour au moins un second coefficient pour lequel un premier bit de contrôle respectif n'a pas été calculé, d'un second bit de contrôle en fonction de la seconde clé (Kp), suivant une seconde opération prédéterminée est différent du résultat du calcul du premier bit de contrôle calculé pour ledit au moins un second coefficient. 2. Procédé selon la revendication 1, caractérisé en ce que la seconde clé est associée (E6) au signal numérique dans lequel l'information supplémentaire a été insérée. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que le calcul de la seconde clé comporte, pour chacune des clés d'un ensemble prédéterminé de clé : - le calcul (E42) du second bit de contrôle, pour ledit au moins un premier coefficient, suivant la seconde opération prédéterminée, - la comparaison (E43), pour ledit au moins un premier coefficient, du second bit de contrôle et du premier bit de contrôle, - l'élimination (E43) des clés pour lesquelles le premier et le second bits de contrôle sont différents, pour ledit au moins un premier coefficient. 4. Procédé selon la revendication 3, caractérisé en ce que le calcul de la seconde clé comporte : - détermination (E50) d'au moins un second coefficient pour lequel un premier bit de contrôle n'a pas été calculé, - calcul (E51), pour ledit au moins un second coefficient, d'un premier bit de contrôle respectif en fonction de la première clé (Ks), suivant la première opération prédéterminée, - calcul (E53), pour ledit au moins un second coefficient, d'un second bit de contrôle respectif en fonction de chacune des clés non éliminées, suivant la seconde opération prédéterminée, - détermination (E5 ?) de la seconde clé en fonction de la différence entre les premier et second bits de contrôle. 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que la première opération et la seconde opération sont identiques. 6. Procédé d'extraction d'une information supplémentaire insérée dans un signal numérique par le procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce qu'il comporte les étapes de : - extraction (E10) d'une première information supplémentaire en utilisant la première clé et la première opération prédéterminée, - extraction (EU) d'une seconde information supplémentaire en utilisant la seconde clé et la seconde opération prédéterminée, - comparaison (E12) de la première et de la seconde informations supplémentaires, - authentification (E13) du signal numérique en fonction du résultat de la comparaison. 7. Dispositif d'insertion d'une information supplémentaire (W) telle qu'une marque secrète pour l'authentification d'un signal numérique comportant un ensemble de coefficients, caractérisé en ce qu'il comporte (200) : - des moyens de calcul, pour au moins un premier coefficient, d'un premier bit de contrôle respectif en fonction d'une première clé (Ks), suivant une première opération prédéterminée, - des moyens d'insertion d'au moins un bit d'information supplémentaire sur ledit au moins un premier coefficient, en fonction de la valeur de son bit de contrôle, - des moyens de calcul d'une seconde clé (Kp), telle que : - le résultat du calcul, pour tous les premiers coefficients pour lesquels un premier bit de contrôle respectif a été calculé, d'un second bit de contrôle en fonction de la seconde clé (Kp), suivant une seconde opération prédéterminée est respectivement égal au résultat du calcul du premier bit de contrôle, et - le résultat du calcul, pour au moins un second coefficient pour lequel un premier bit de contrôle respectif n'a pas été calculé, d'un second bit de contrôle en fonction de la seconde clé (Kp), suivant une seconde opération prédéterminée est différent du résultat du calcul du premier bit de contrôle calculé pour ledit au moins un second coefficient. 8. Dispositif selon la revendication 7, caractérisé en ce qu'il comporte des moyens pour associer la seconde clé (Kp) au signal numérique dans lequel l'information supplémentaire a été insérée. 9. Dispositif selon la revendication 7 ou 8, caractérisé en ce que les moyens de calcul de la seconde clé comportent : - des moyens de calcul du second bit de contrôle, pour chacune des clés d'un ensemble prédéterminé de clé et pour ledit au moins un premier coefficient, suivant la seconde opération prédéterminée, - des moyens de comparaison, pour chacune des clés de l'ensemble prédéterminé de clé et pour ledit au moins un premier coefficient, du second bit de contrôle et du premier bit de contrôle, - des moyens d'élimination des clés pour lesquelles le premier et le second bits de contrôle sont différents, pour ledit au moins un premier coefficient. 10. Dispositif selon la revendication 9, caractérisé en ce que les moyens de calcul de la seconde clé comportent : - des moyens de détermination d'au moins un second coefficient pour lequel un premier bit de contrôle n'a pas été calculé, - des moyens de calcul, pour ledit au moins un second coefficient, d'un premier bit de contrôle respectif en fonction de la première clé (Ks), suivant la première opération prédéterminée, - des moyens de calcul, pour ledit au moins un second coefficient, d'un second bit de contrôle respectif en fonction de chacune des clés non éliminées, suivant la seconde opération prédéterminée, - des moyens de détermination de la seconde clé (Kp) en fonction de la différence entre les premier et second bits de contrôle. 11. Dispositif selon l'une quelconque des revendications 7 à 10, caractérisé en ce qu'il est adapté à mettre en oeuvre une première opération et une seconde opération qui sont identiques. 12. Dispositif d'extraction d'une information supplémentaire insérée dans un signal numérique par le dispositif selon l'une quelconque des revendications 7 à 11, caractérisé en ce qu'il comporte : - des moyens (301) d'extraction d'une première information supplémentaire en utilisant la première clé et la première opération prédéterminée, - des moyens (302) d'extraction d'une seconde information supplémentaire en utilisant la seconde clé et la seconde opération prédéterminée, - des moyens (303) de comparaison de la première et de la seconde informations supplémentaires, - des moyens (304) d'authentification du signal numérique en fonction du résultat de la comparaison. 13. Dispositif d'insertion selon l'une quelconque des revendications 7 à 11, caractérisé en ce que les moyens de calcul et insertion sont incorporés dans : - un microprocesseur (100), - une mémoire morte (102) comportant un programme pour traiter les données, et - une mémoire vive (103) comportant des registres adaptés à enregistrer des variables modifiées au cours de l'exécution dudit programme. 14. Dispositif d'extraction selon la revendication 12, caractérisé en ce que les moyens d'extraction, comparaison et authentification sont incorporés dans : - un microprocesseur (100), - une mémoire morte (102) comportant un programme pour traiter les données, et - une mémoire vive (103) comportant des registres adaptés à enregistrer des variables modifiées au cours de l'exécution dudit programme. 15. Appareil de traitement (10) d'une image numérique, caractérisé en ce qu'il comporte des moyens adaptés à mettre en oeuvre le procédé selon l'une quelconque des revendications 1 à 6. 16. Appareil de traitement (10) d'une image numérique, caractérisé en ce qu'il comporte le dispositif selon l'une quelconque des revendications 7 à 14.