Brevet FR2887048A1 — publié le 20061215

La présente invention concerne la production de suites pseudoaléatoires de symboles appartenant à un alphabet donné. De telles suites sont notamment utilisées dans certaines procédures cryptographiques. On appelle suite pseudo-aléatoire une suite qui, bien que produite de manière déterministe, soit impossible à distinguer, du moins en un temps "raisonnable", d'une suite de symboles dans laquelle chaque symbole serait choisi parfaitement au hasard dans l'alphabet (la signification de ce qu'on entend par un temps "raisonnable" est évidemment liée à l'application visée et à la puissance de calcul disponible). En pratique, on produit habituellement une suite pseudo-aléatoire en initialisant un algorithme approprié au moyen d'un paramètre secret (appelé, selon le contexte, "graine" ou "clé"), et le cas échéant d'un paramètre additionnel, secret ou non, appelé "vecteur d'initialisation". L'alphabet mentionné ci-dessus peut, par exemple, être l'ensemble binaire {0,1}, ou l'ensemble des chiffres de 0 à 9, ou encore l'ensemble alphanumérique comprenant les chiffres et les lettres majuscules et minuscules. Dans le cadre de la présente invention, on supposera seulement que les symboles de l'alphabet appartiennent à un corps fini (ou "corps de Galois" GF(q)) K de cardinal q 2. Une application importante des suites pseudo-aléatoires est le "chiffrement à flot". Cette technique permet de chiffrer (au sens de la cryptographie) une suite de données en clair {xi} (indexées par i), à valeurs dans l'alphabet, au moyen d'une autre suite {z; } à valeurs dans le même alphabet, où {z; } est, justement, la suite produite par un générateur pseudo- aléatoire, pour obtenir une suite chiffrée {y;}, également à valeurs dans l'alphabet. Autrement dit, on fait le choix d'une loi de composition interne y, = x; * z; dans l'alphabet; par exemple, cette loi interne peut être le "OU exclusif' lorsque l'alphabet est l'alphabet binaire {0,1}. Le chiffrement à flot est également appelé chiffrement "à la volée" en raison du fait que les données y sont chiffrées une par une -- par opposition aux méthodes de chiffrement faisant intervenir des blocs de données. Le chiffrement à flot présente, par rapport au chiffrement par blocs, l'avantage de réduire les problèmes de délai de transmission et de stockage des données, mais il requiert évidemment un débit de symboles pseudo-aléatoires au moins aussi élevé que le débit de données en clair; l'application au chiffrement à flot est donc réservé aux générateurs de suites pseudo-aléatoires relativement rapides. Le chiffrement à flot est notamment mis en oeuvre dans le protocole de protection des échanges sur Internet appelé "TLS" (initiales des mots anglais "Transport Layer Security", cf. l'article de T. Dierks, et C. Allen intitulé "The TLS Protocol, version 1.0, RFC 2246", janvier 1999), dont l'un des algorithmes de chiffrement à flot les plus utilisés est l'algorithme "RC4" (cf. l'article de J.D. Golic intitulé "Linear Statistical Weakness of Alleged RC4 Keystream Generator", Actes de "Advances in Cryptology EUROCRYPT '97", pages 226 à 238, éditeur W. Fumy, Lecture Notes in Computer Science vol. 1233, Springer-Verlag), et dans le chiffrement du trafic et de la signalisation sur la voie radio dans le système "GSM", au moyen d'algorithmes dont le plus répandu est l'algorithme "A5/1" (cf. l'article de A. Biryukov, A. Shamir et D. Wagner intitulé "Real Time Cryptanalysis of A5/1 on a PC", Actes de "FSE 2000", pages 1 à 18, éditeur B. Schneier, Springer Verlag 2000). Il existe d'autres applications importantes des suites pseudoaléatoires, par exemple dans les calculs stochastiques et dans les protocoles cryptographiques d'authentification à clé publique. Beaucoup d'algorithmes à flot actuels, par exemple l'algorithme A5/1 mentionné ci-dessus, utilisent des suites récurrentes linéaires produites par des registres à rétroaction linéaire, éventuellement combinées à l'aide de fonctions non linéaires (cf. l'article de A. Canteaut intitulé "Le chiffrement à la volée", dossier hors-série du magazine "Pour la Science", pages 86 et 87, Paris, juillet-octobre 2002). Or aucun des procédés de production de suites pseudo-aléatoires 15 connus ne concilie de façon pleinement satisfaisante les deux conditions suivantes: 1 ) l'existence d'arguments de sécurité forts, sur lesquelles on puisse fonder une grande confiance dans l'impossibilité pratique de distinguer les suites pseudo-aléatoires produites de suites parfaitement aléatoires, et 2 ) l'efficacité, c'est-à-dire l'utilisation de ressources de calcul (temps, mémoire, et ainsi de suite) minimales par symbole de la suite produite. En effet, la première condition requiert que la solidité du générateur repose aussi directement que possible sur la difficulté d'un problème mathématique bien identifié et considéré comme difficile. On connaît des algorithmes satisfaisant cette première condition, par exemple l'algorithme de "Blum-Micali" (cf. l'article de M. Blum et S. Micali intitulé "How to generate cryptographically strong sequences of pseudorandom bits", J. Computing, vol. 13 n 4, pages 850 à 863, novembre 1984), reposant sur la difficulté du problème du logarithme discret, ou l'algorithme de "Blum-Blum-Shub" (cf. l'article de L. Blum, M. Blum et M. Shub intitulé "A simple secure unpredictable pseudorandom number generator", J. Computing, vol. 15, pages 364 à 383, 1986) reposant sur la difficulté du problème de la factorisation, mais ces deux algorithmes (et plus généralement tous les algorithmes de cette catégorie) présentent une efficacité nettement inférieure à celle des algorithmes actuels les plus rapides, comme par exemple l'algorithme RC4 mentionné ci-dessus. C'est pourquoi aucun générateur pseudo-aléatoire connu possédant des arguments de sécurité forts (c'est-à-dire pour lequel on peut démontrer que le succès d'une attaque contre le générateur implique la capacité à résoudre un problème mathématique réputé difficile) n"est utilisé actuellement à l'échelle industrielle. A l'inverse, la sécurité des générateurs de suites pseudo-aléatoires les plus rapides connus comme RC4, ou de certains générateurs faisant usage de registres à rétroaction linéaires tels que "Snow 2" (cf. l'article de P. Ekdahl et T. Johansson intitulé "A new version of the stream cipher SnoW', Actes de "Selected Areas in Ctyptography 2002", pages 47 à 61, éditeurs K. Nyberg et H.M. Heys, Springer Verlag 2002) ne repose pas sur la difficulté de problèmes mathématiques bien identifiés et considérés comme difficiles. Il en résulte une sécurité potentiellement faible: dans le passé, on a découvert des attaques visant plusieurs générateurs de cette catégorie; ainsi, l'attaque contre l'algorithme de chiffrement "WEP" (une variante de l'algorithme RC4) utilisé dans le système IEEE 802. 11 (plus connu sous le nom de "WiFi"), attaque découverte en 2001 par S. Fluhrer, 1. Mantin et A. Shamir (cf. l'article intitulé "Weaknesses in the Key Scheduling Algorithm of RC4", Actes de "Selected Areas in Cryptography 2001", Springer Verlag) représente un exemple spectaculaire des conséquences possibles de l'absence d'arguments de sécurité forts. La présente invention concerne donc, selon un premier aspect, un procédé pour engendrer une suite pseudo-aléatoire de termes appartenant à un corps fini K de cardinal q 2, ledit procédé comprenant le calcul itératif, à partir d'un n-uplet d'initialisation X( ) =(X( ),,X( )2,..., X( )n) d'éléments de K, de n-uplets X") =(X('),,X(')z,...,X(')n) d'éléments de K (où i=1,2,...), chaque n -uplet X( résultant de manière prédéterminée au moins d'un m - uplet = (Y('),,,Y("2,...,Y('',n) d'éléments de K et les termes de ladite suite pseudo-aléatoire étant extraits de manière prédéterminée des n -uplets X( et/ou des m -uplets Y"). Ce procédé est remarquable en ce que, pour au moins une valeur de i, au moins une composante Y( k (où k =1,2,...,m) du m -uplet Y") est obtenue en appliquant une forme quadratique prédéterminée, à coefficients dans K, aux composantes du n -uplet X('- Il est clair que la sécurité offerte par le procédé de chiffrement à flot selon l'invention sera d'autant plus grande que, d'une part, il sera appliqué à plus de valeurs de i, et que d'autre part, pour toute valeur de i donnée, il sera appliqué à un plus grand nombre de composantes Y")k. Ainsi, cette sécurité résulte de la difficulté du problème de la résolution d'un système d'équations quadratiques sur un corps fini. On peut montrer, sous réserve de la vérification d'une conjecture (dite "P NP"), communément admise, de la "théorie de la complexité", que, quel que soit le corps fini K considéré, la résolution de ce problème requiert un temps plus que polynomial (même si la vérification qu'un candidat donné est, ou n'est pas, solution de ce système d'équations peut, elle, être effectuée en un temps polynomial) (un tel problème est appelé "NP-dur"). De plus, même pour des tailles assez modestes de m et de n (par exemple pour K = GF(2) et in et n supérieurs ou égaux à 100), on ne connaît actuellement, dans le cas où les valeurs de in et n sont suffisamment voisines l'une de l'autre, aucune méthode de résolution efficace d'instances aléatoires de ce problème. Mais en outre, la production de symboles pseudo-aléatoires au moyen du procédé selon l'invention est avantageusement rapide, du moins pour des valeurs de paramètres suffisamment petites (mais suffisamment -4 grandes pour que le problème que l'on vient de mentionner puisse toujours être considéré comme difficile). Selon des caractéristiques particulières, on obtient le n -uplet X(0 à partir au moins ciu m -uplet Y(') de diverses manières assez simples à mettre 5 en oeuvre. Par exemple: - X( est obtenu par extraction des n premières composantes de Y(0, i.e. X( = (Y('), Y(')z Y(') ); - X( =N(Yt ) , où N est une fonction linéaire ou affine sur K ou un sous-corps de K; X('' est obtenu en appliquant au couple (X(-",Y('') une fonction F linéaire ou affine sur K ou un sous-corps de K. Selon d'autres caractéristiques particulières, on obtient une suite pseudo-aléatoire Z('' en sortie (aux fins d'une utilisation quelconque de l'invention), les termes Z('' de cette suite sortante pouvant être commodément extraits des n -uplets X( et/ou des m -uplets Y(') de diverses manières assez simples à mettre en oeuvre. Par exemple: - on prend m > n et l'on obtient une valeur de sortie Z( par extraction des (m - n) dernières composantes de Y( , i.e. Z( = n+1, n+2,..., m, -on obtient une valeur de sortie Z('', constituée d'un t-uplet, où 1 Selon un deuxième aspect, l'invention concerne un générateur de suite pseudo-aléatoire de termes appartenant à un corps fini K de cardinal q 2, ledit générateur ayant des moyens pour calculer itérativement, à partir d'un n-uplet d'initialisation X(0' =(X(0'I,X( 2,.. .,X( n) d'éléments de K, des n-uplets X(') = (X( ,,X( 2,...,X( n) d'éléments de K (où i =1,2,... ), chaque n -uplet XW résultant de manière prédéterminée au moins d'un m -uplet Y( = (Y( , Y( z Y("m) d'éléments de K et les termes de ladite suite pseudo-aléatoire étant extraits de manière prédéterminée des n uplets X(0 et/ou des m -uplets Y . Ce générateur est remarquable en ce qu'il comprend en outre des moyens pour obtenir, pour au moins une valeur de i, au moins une composante Y'')k (où k 1,2,...,m) du m -uplet Y(') en appliquant une forme quadratique prédéterminée, à coefficients dans K, aux composantes du n -uplet X('- Selon des caractéristiques particulières, le générateur de suite pseudo-aléatoire comprend en outre des moyens pour calculer X(0 en appliquant au couple (X('-'',Y('') une fonction F linéaire ou affine sur K ou un sous-corps de K. Selon d"autres caractéristiques particulières, le générateur de suite pseudo-aléatoire comprend en outre des moyens pour déduire du couple (X('-'),Y(0) une valeur de sortie Z( , constituée d'un t-uplet, où 1 t m, de valeurs de K, au moyen d'une fonction de sortie prédéterminée S, i.e. Z( = S(X('- , Y( ) ; cette fonction S peut par exemple être linéaire ou affine sur K ou un sous-corps de K, ou encore être quadratique. Les avantages offerts par ces générateurs sont essentiellement les mêmes que ceux offerts par les procédés correspondants succinctement exposés cidessus. L'invention vise également: - un moyen de stockage de données inamovible comportant des instructions de code de programme informatique pour l'exécution des étapes de l'un quelconque des procédés pour engendrer une suite pseudo-aléatoire succinctement exposés ci-dessus, -un moyen de stockage de données partiellement ou totalement amovible, comportant des instructions de code de programme informatique pour l'exécution des étapes de l'un quelconque des procédés pour engendrer une suite pseudo- aléatoire succinctement exposés ci-dessus, et - un programme d'ordinateur contenant des instructions telles que, lorsque ledit programme commande un dispositif de traitement de données programmable, lesdites instructions font que ledit dispositif de traitement de données met en oeuvre l'un quelconque des procédés pour engendrer une suite pseudo- aléatoire succinctement exposés ci-dessus. Les avantages offerts par ces moyens de stockage de données et ce programme d'ordinateur sont essentiellement les mêmes que ceux offerts par lesdits procédés. D'autres aspects et avantages de l'invention apparaîtront à la lecture de la description détaillée ci-dessous de modes de réalisation particuliers, donnés à titre d'exemples non limitatifs. La description se réfère aux dessins qui l'accompagnent, dans lesquels: - la figure 1 est un schéma synoptique illustrant un mode de réalisation du générateur selon l'invention, et - la figure 2 est un schéma synoptique illustrant un cas particulier, particulièrement simple à mettre en oeuvre, du mode de réalisation illustré sur la figure 1. Comme expliqué ci-dessus, la présente invention s'appuie sur la difficulté du problème de la résolution de m équations quadratiques à n inconnues sur un corps fini K à q éléments. Ce problème peut être formulé de manière précise de la façon suivante: étant donné un système (G) de in équations quadratiques à n inconnues x, à xn appartenant à un corps fini K, de la forme E aij x,xi+ xi+yk =yk (1 On notera par la suite "G" la fonction, décrite par le système d'équations (G), qui à un n-uplet X=(x,,x2,...,xn) de valeurs d'entrée associe le m -uplet Y = (y,, y2,..., yin) de valeurs de sortie. Selon l'invention, le générateur pseudo-aléatoire appelle de manière 15 itérative une (ou des) forme(s) quadratique(s) associant au moins une variable Y(')k (où k =1,2,...,m) à n variables X(- j (où j = 1, 2,...,n). Comme expliqué ci-dessus, les paramètres q, m et n sont de préférence choisis de façon à ce que: - la résolution d'un système de m équations quadratiques à n inconnues sur K puisse être considérée comme difficile, ce qui nécessite que les valeurs de m et n soient suffisamment grandes, et que leurs ordres de grandeur soient suffisamment voisins l'un de l'autre (on pourra par exemple prendre qn et qm tous deux entre 280 et 2400), et les calculs puissent être effectués efficacement, ce qui nécessite que 25 les valeurs de q, m et n soient suffisamment petites (on pourra par exemple prendre q inférieur à une centaine avec m et n inférieurs à quelques centaines). On notera en outre que, plus grand sera le nombre de coefficients au et, Qj nuls dans (G), et plus rapides seront ces calculs. On va décrire à présent un mode de réalisation de l'invention, illustré sur la figure 1. Dans ce mode de réalisation, on calcule, pour chaque valeur de i, toutes les composantes du m -uplet P en appliquant une forme quadratique à coefficients dans K aux composantes du n -uplet X(- ; de plus, on réutilise les mêmes formes quadratiques à chaque itération, c'est-à- dire que l'on applique à chaque itération une même fonction G prédéterminée du type décrit ci-dessus. En premier lieu, au cours d'une étape d'initialisation, on constitue un nuplet X( '. Selon l'utilisation prévue pour le générateur, X( pourra dépendre soit d'une graine publique, soit d'une clé secrète, soit d'un vecteur d'initialisation, soit d'une combinaison de plusieurs de ces éléments; un vecteur d'initialisation est un paramètre additionnel, généralement non secret, qui permet d'utiliser plusieurs fois la même clé secrète pour engendrer plusieurs suites pseudo-aléatoires distinctes. On met ensuite en oeuvre des étapes itératives pour produire, à partir de l'état initial X( ' et selon la méthode décrite ci-dessous, une suite 10 pseudo-aléatoire Zw (où i =1,2,...) constituée de t-uplets d'éléments de K, où t est une constante comprise entre 1 et m. Le nombre total d'itérations pourra par exemple être compris entre 1 et 250. A l'itération n i, un état courant X(-') constitué d'un n-uplet d'éléments de K est pris comme valeur d'entrée pour mettre en oeuvre les 15 sous-étapes suivantes: 1) un m -uplet Y('' de valeurs de K est déduit de X(-') à l'aide de la fonction quadratique G définie précédemment, i.e. y(i) = G(X- ), 2) une valeur de sortie Z(0 est obtenue en appliquant au couple (X(-'),Y( ) une fonction de sortie S choisie, i.e. Z(' = S(X('- , Y( ) , et 3) un nouvel état courant X( , constitué d'un n -uplet de valeurs de K, est obtenu en appliquant au couple (X(- ,Y( ) une fonction de rétroaction F choisie, i.e. X( = F(X(-'),Y" Sur la figure 1, on a choisi de représenter ce procédé de manière séquentielle (deux itérations successives), mais on 1pourrait aussi bien le représenter de manière rebouclée. Le point important à noter ici est que les étapes successives du procédé selon l'invention peuvent être mises en oeuvre par un seul et même circuit électronique. Voici quelques choix possibles pour la fonction de rétroaction F mentionnée ci-dessus: - la fonction F est formellement indépendante de X( et le nouvel état courant X( est simplement obtenu par extraction des n premières composantes de Yw, i.e. X( _ (Y('),,Y(02,...,Y( n): ce choix est illustré sur la figure 2; - la fonction F est linéaire ou affine sur K ou sur un sous-corps de K; 35 en particulier, la fonction F peut être formellement indépendante de X(- , de sorte que X() = N(Y(' , où N est une fonction linéaire ou affine sur K ou sur un sous-corps de K. Voici quelques choix possibles pour la fonction de sortie S mentionnée cidessus: - 8 - la fonction S est formellement indépendante de X''- , et la valeur de sortie Z(" est simplement obtenue par extraction des t = m n dernières composantes de YY", i.e. Z( =(Ymn+,,Yu'n+z,...,Y(' ,n): ce choix est illustré sur la figure 2; - la fonction S est linéaire, ou affine (c'est à dire représentée par une matrice), sur K ou sur un souscorps de K; en particulier, la fonction S peut être formellement indépendante de Y( , de sorte que Z''' = M(X('-'') , où M est une fonction linéaire ou affine sur K ou sur un sous-corps de K: le paradigme de sécurité de Goldreich-Levin s'applique alors (i.e. on peut démontrer dans ce cas que la capacité à prévoir le terme suivant de la suite pseudoaléatoire à partir des termes précédents est équivalente à la capacité à résoudre le problème mathématique difficile); - ladite fonction S est quadratique. Pour terminer, on va mentionner quelques applications possibles de 15 l'invention, dans lesquelles on choisit de ne faire appel en sortie qu'à la suite Z( . Comme on l'a vu, la suite est constituée de t-uplets d'éléments de K. Pour obtenir une suite composée d'éléments de K proprement dits (scalaires), on peut par exemple émettre les t composantes de chaque Z( séquentiellement. On peut alors constituer une suite "rétrécie" d'éléments de K, c'est-àdire une suite dans laquelle chaque terme est supprimé ou conservé selon une règle prédéterminée en fonction des termes précédant et/ou suivant le terme considéré. On peut aussi constituer une suite dans laquelle chaque symbole résulte de l'addition dans K d'un nombre prédéterminé de symboles issus de la suite Z ) (par exemple, deux par deux). Enfin, si l'alphabet a pour cardinal q = 2 , et si l'on souhaite réaliser une séquence pseudo-aléatoire d'éléments binaires ("bits"), on pourra 30 transformer chacun des éléments pseudo-aléatoires de K ainsi obtenus en une séquence de p bits. REVENDICATIONS 1. Procédé pour engendrer une suite pseudo-aléatoire de termes appartenant à un corps fini K de cardinal q > 2 utilisés dans une procédure cryptographique, ledit procédé comprenant le calcul itératif, à partir d'un n - uplet d'initialisation X(') _ (X( )1, X( )2,..., X( )n) d'éléments de K, de n -uplets x") _(X('),,X(')2,...,X(')n) d'éléments de K (où i=1,2,...), chaque n-uplet X(') résultant de manière prédéterminée au moins d'un m -uplet Y(') _ (Y('),, Y( 2,..., Y('),n) d'éléments de K et les termes de ladite suite pseudo-aléatoire étant extraits de manière prédéterminée des n -uplets X(') et/ou des m -uplets Y(') , caractérisé en ce que, pour au moins une valeur de i, au moins une composante Y(')k (où k =1,2,...,m) du m-uplet Y(') est obtenue en appliquant une forme quadratique prédéterminée, à coefficients dans K, aux composantes du n uplet X('-') . 2. Procédé selon la revendication 1, caractérisé en ce que X(') est obtenu par extraction des n premières composantes de Y('), i.e. X(t) _ (Y(i)1 y(i) 2 Y(i)n). 3. Procédé selon la revendication 1, caractérisé en ce que X(') =N(Y(')), où N est une fonction linéaire ou affine sur K ou un sous-corps de K. 4. Procédé selon la revendication 1, caractérisé en ce que X(') est obtenu en appliquant au couple (X('-'),Y(')) une fonction F linéaire ou affine sur K ou un sous-corps de K. 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que m > n et en ce que l'on obtient une valeur de sortie Z(') par extraction des (m n) dernières composantes de Y"), i.e. Z(') = (Y(')n+I Y(')n+2 Y(')m) . 6. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que l'on obtient une valeur de sortie Z('), constituée d'un tuplet, où 1 t m, de valeurs de K, en appliquant à X('-') une fonction M linéaire ou affine sur K ou un sous-corps de K, i.e. Z") = M(X('-')) . 7. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que l'on déduit du couple (X('-'),Y(')) une valeur de sortie Z( , constituée d'un t-uplet, où 1 t m, de valeurs de K, au moyen d'une fonction de sortie prédéterminée S, i.e. Z(') = S(X('-'),Y(')) . 8. Procédé selon la revendication 7, caractérisé en ce que ladite fonction S est linéaire ou affine sur K ou un sous-corps de K. 9. Procédé selon la revendication 7, caractérisé en ce que ladite fonction S est quadratique. 10. Générateur de suite pseudo-aléatoire de termes appartenant à un corps fini K de cardinal q 2 mis en oeuvre dans une procédure cryptographique, ledit générateur ayant des moyens pour calculer itérativement, à partir d'un n-uplet d'initialisation X( = d'éléments de K, des n-uplets _ (X (') , , X w2,..., X""n) d'éléments de K (où i =1,2,... ), chaque n -uplet X0" résultant de manière prédéterminée au moins d'un m -uplet Y"' _ (Y('',, P) 2,..., Y(1)m) d'éléments de K et les termes de ladite suite pseudoaléatoire étant extraits de manière prédéterminée des n -uplets X") et/ou des m -uplets Y"), caractérisé en ce qu'il comprend en outre des moyens pour obtenir, pour au moins une valeur de i, au moins une composante Y"'k (où k =1,2,...,m) du m -uplet P) en appliquant une forme quadratique prédéterminée, à coefficients dans K, aux composantes du n-uplet X('- . 11. Générateur de suite pseudo-aléatoire selon la revendication 10, caractérisé en ce qu'il comprend en outre des moyens pour calculer x") en appliquant au couple (X"- ,Y")) une fonction F linéaire ou affine sur K ou un sous-corps de K. 12. Générateur de suite pseudo-aléatoire selon la revendication 10, caractérisé en ce que qu'il comprend en outre des moyens pour déduire du couple (X"-'',Y"') une valeur de sortie constituée d'un t-uplet, où 1 t m, de valeurs de K, au moyen d'une fonction de sortie prédéterminée S, i.e. = S(e-'),Y(')) 13. Moyen de stockage de données inamovible comportant des instructions de code de programme informatique pour l'exécution des étapes d'un procédé selon l'une quelconque des revendications 1 à 9. 14. Moyen de stockage de données partiellement ou totalement amovible, comportant des instructions de code de programme informatique pour l'exécution des étapes d'un procédé selon l'une quelconque des revendications 1 à 9. 15. Programme d'ordinateur contenant des instructions telles que, lorsque ledit programme commande un dispositif de traitement de données programmable, lesdites instructions font que ledit dispositif de traitement de données met en oeuvre un procédé selon l'une quelconque des revendications 1 à 9.