Brevet FR3070517A1 — publié le 20190301

SYSTÈME ET PROCÉDÉ D'AUTHENTIFICATION ET DE SIGNATURE NUMÉRIQUE L'invention concerne le domaine des procédés et systèmes d'authentification et de signature numérique. La popularité croissante des implémentations dites « légères » de tels systèmes et/ou procédés cryptographiques relance fortement l'intérêt de disposer de protocoles de sécurité offrant une très grande sécurité tout préservant les ressources matérielles des dispositifs électroniques qui les mettent en oeuvre. Un tel attrait s'est fait jour, il y a quelques dizaines d'années, avec l'avènement des cartes à puce notamment. Celles-ci ont peu à peu été agencées pour effectuer des opérations de cryptographie de complexité croissante, notamment pour la mise en oeuvre de schémas de sécurité à clé publique. À l'époque, les processeurs cryptographiques disponibles étaient coûteux et volumineux. La communauté de recherche a développé des procédés astucieux d'indentification et de signature numérique nécessitant de faibles ressources de calcul et de mémorisation pour leurs mises en oeuvre respectives. La présente invention s'inscrit dans cette démarche et concerne un procédé et un système associé d'identification numérique et de signature numérique ne requérant qu'une quantité limitée de ressources de calcul notamment. Comme mentionné dans le document de brevet US 4,748,668, la création de cartes d'identité infalsifiables basées sur la technologie émergente des cartes à puce a engendré d'importants problèmes pour de 30 nombreuses applications dans les domaines commerciaux et 2 militaires. Cette situation devient particulièrement sensible lorsque deux parties, respectivement un prouveur ("proyer" selon une terminologie anglo-saxonne) A et un vérificateur ("yerifier" selon une terminologie anglo5 saxonne) B, sont adversaires, et que l'on veut rendre impossible à B de se muer en A, quand bien même B ait pu témoigner et vérifier plusieurs preuves d'identités arbitrairement choisies générées par A. Les applications typiques concernent les domaines des 10 passeports qui sont souvent inspectés et photocopiés par des gouvernements hostiles, des cartes de crédit dont les numéros peuvent être copiés sur des cartes vierges ou communiqués par téléphone, des mots de passe informatiques vulnérables aux pirates informatiques et 15 aux écoutes électroniques réalisées par un commandement militaire et/ou un système de contrôle dont les terminaux peuvent se retrouver dans entre les mains d'un ennemi. Trois niveaux de protection peuvent être distingués, 20 parmi lesquels : - « l'Authentification », selon lequel A peut prouver à B qu'il est A, mais quelqu'un d'autre que A ne peut prouver à B qu'il est A ; - « l'Identification », selon lequel A peut prouver à 25 B qu'il est A, mais B ne peut prouver à quelqu'un d'autre qu'il est A ; - « la Signature », selon lequel A peut prouver à B qu'il est A, mais B ne peut prouver, même à lui-même, qu'il est A. L'Authentification est utile uniquement contre des menaces externes lorsque deux parties A et B coopèrent. 3 La distinction entre deux schémas de sécurité basés respectivement sur l'Identification et sur la Signature est subtile et se manifeste principalement lorsque la preuve est interactive et que le vérificateur B veut 5 prouver ultérieurement l'existence de ladite preuve à un juge par exemple. Avec un schéma de sécurité basé sur l'Identification, un vérificateur B peut créer une transcription crédible d'une communication imaginaire impliquant A en 10 choisissant soigneusement des questions et des réponses dans un dialogue donné, alors que dans un schéma de sécurité fondé sur la Signature, seule une communication réelle impliquant A peut générer une transcription crédible. 15 Quoi qu'il en soit, dans de nombreuses applications commerciales et militaires, le problème principal consiste à détecter toute falsification en temps réel et ainsi refuser un service, un accès ou une réponse à un faussaire. Dans ces cas d'application, les notions de 20 transcription et de juge ne sont pas pertinentes, et l'on peut s'appuyer indifféremment sur l'Identification ou la Signature pour bâtir un schéma de sécurité. L'invention est un perfectionnement de schémas de 25 signature et d'identification dits de « Schnorr ». Il est donc opportun de rappeler tout d'abord le fonctionnement de tels schémas. Le Lecteur pourra si nécessaire puiser un enseignement technique plus détaillé en lien avec la notion de schéma de signature et d'identification de 30 Schnorr, notamment au sein des publications « C.P. Schnorr, Efficient identification and signatures for smart cards, in G. Brassard, ed. Advances in Cryptology- 4 Crypto '89, 239-252, Springer-Verlag, 1990 » et « Computer Science, nr. 435 and C.-P. Schnorr, Efficient Signature Generation by Smart Cards, J. Cryptology 4(3), pp161-174 (1991). 5 Désignons le paramètre entier de sécurité À qui est donné à tous les sous-algorithmes constituant le schéma de signature Schnorr. A l'heure actuelle, une valeur de À égale à 160 est considérée comme suffisante et adaptée à 10 la plupart des applications commerciales. Les algorithmes sont randomisés sauf indication contraire. Désignons un échantillonnage aléatoire d'un ensemble fini X selon une distribution uniforme par xEIR'X. Si n est un nombre entier, notons Zn pour désigner 15 l'anneau Z/nZ. Enfin, Zn* désigne les éléments inversibles de Zn. Les signatures de Schnorr sont descendantes des signatures d'ElGamal, ces dernières étant décrites notamment dans le document T. ElGamal (1985) - " A public 20 key cryptosystem and a signature scheme based on discrete logarithms " IEEE Trans Inf Theory. 31 (4): 469-472.). Lesdites signatures d'ElGamal sont connues pour leur sûreté prouvée dans le modèle de l'oracle aléatoire selon lequel la résolution d'instances génériques du problème 25 du Logarithme Discret (DLP, pour Discrete Logarithm Problem selon une terminologie anglo-saxonne) est supposée dure. Le schéma de signature Schnorr est un ensemble de 30 quatre sous-algorithmes ou étapes. Un premier sous-algorithme ou étape de configuration, que nous nommerons Setup(À), consiste en un procédé qui 5 est fonction du paramètre de sécurité À. Un tel procédé Setup(À) consiste à choisir : - deux grands nombres premiers p et q, tels que q>22' et p-1=0 modulo q ; 5 - un groupe cyclique G, sous-ensemble de Zp d'ordre premier q est également choisi, dans lequel on suppose que le problème du logarithme discret (DLP) est difficile, avec un générateur g appartenant audit groupe cyclique G ; 10 - une fonction de hachage H. Les paramètres publics, ci-après parfois nommés collectivement par le vocable anglo-saxon « Parameters », p, q, g, G, H sont ainsi définis. Par ailleurs, nous utiliserons dans la suite du document, la notation « a 15 mod b » pour caractériser l'opération de calcul du reste de la division euclidienne de a par b et ainsi désigner la notion de « modulo » par mesure de concision. Un deuxième sous-algorithme ou étape de génération de 20 clés qui est fonction desdits paramètres, que nous nommerons KeyGen(Parameters) consiste à : - choisir un entier xER [2, q-1] comme clé de signature sk ; - publier y = g' mod p comme clé publique pk. 25 Un troisième sous-algorithme ou étape de production d'une signature qui est fonction desdits paramètres et de la clé de signature sk, que nous nommerons Sign(Parameters, sk, m), où m est un message à signer, 30 consiste à : - choisir un nonce aléatoire kERZ,1* ; 6 - calculer un engagement (ou "commitment", selon une terminologie anglo-saxonne) r = gk mod p ; - calculer e = H(m, r) et s = k-ex mod q. - produire la signature {r, s}. 5 Un quatrième sous-algorithme ou étape de vérification de signature qui est fonction desdits paramètres, de la clé publique pk, du message m et de la signature préalablement produite {r, s}, que nous nommerons 10 Verify(Parameters, pk, m, {r, s}) consiste à : - calculer e = H(m, r) ; - retourner un booléen de valeur « Vrai » ("True" selon une terminologie anglo-saxonne) si gsye = r mod p, ou retourner un booléen de valeur 15 « Faux » ("False" selon une terminologie anglo- saxonne) dans le cas contraire. L'exponentiation modulaire nécessaire à l'exploitation d'un tel schéma de signature constitue 20 généralement un « goulot d'étranglement » pour les dispositifs le mettant en oeuvre. Des techniques dites d'accélération de l'exponentiation ont été développées. En effet, le problème du calcul des exponentiations modulaires est bien connu des personnes en charge de la 25 mise en oeuvre de crypto-systèmes basés sur le problème du Logarithme Discret DLP ou de crypto-systèmes RSA. Dans le cas spécifique de la présente invention, nous voulons calculer r=gk mod p. Les stratégies suivantes ont été proposées, mais leur sécurité est souvent 30 heuristique. L'une desdites stratégies consiste par exemple à utiliser des extensions signées (uniquement applicables 7 aux groupes pour lesquels l'inversion est efficace). Il en est de même pour l'utilisation d'extensions Frobenius ou des méthodes GLV (Gallant-Lambert-Vanstone) / GLS (Galbraith-Lin-Scott) dont on peut connaître 5 respectivement les principes en parcourant notamment les documents « R. P. Gallant, R. J. Lambert, and S. A. Vanstone. Faster point multiplication on elliptic curves with efficient endomorphisms - In J. Kilian, editor, CRYPTO, volume 2139 of Lecture Notes in Computer Science, 10 pages 190-200. Springer, 2001 » et « S. D. Galbraith, X. Lin and M. Scott - Endomorphisms for faster elliptic curve cryptography on a large class of curves. J. Cryptology, 24(3):446-469, 2011 ». Il en est de même pour les exponentiations dites par 15 lots comme suggéré par D. M'Ralhi et D. Naccache dans le document « Batch Exponentiation : A Fast DLP-Based Signature Generation Strategy. ACM Conference on Computer and Communications Security 1996: 58-61 ». Les approches mentionnées ci-dessus fonctionnent pour 20 des valeurs arbitraires de x. Alternativement, on peut choisir une valeur particulière de x avec certaines propriétés qui rendent le calcul plus rapide. Toutefois, il est possible que cela affaiblisse le Problème du Logarithme Discret DLP. 25 Ainsi, on peut : - choisir x avec un faible poids de Hamming tel que proposé dans « Agnew, G.B., Mullin, R.C., Onyszchuk, I.M., Vanstone, S.A : An implementation for a fast public-key cryptosystem. Journal of Cryptology 3(2), 63- 30 79 (1991) » ; - choisir x pour être une extension aléatoire de Frobenius de faible poids de Hamming, comme cela a été 8 décrit dans « Galbraith, S.D. : Mathematics of Public Key Cryptography. Cambridge University Press (2012) ; - choisir x pour être donné par une chaîne d'addition aléatoire, comme proposé dans « Schroeppel, R., Orman, 5 H.K., O'Malley, S.W., Spatscheck, O. : Fast key exchange with elliptic curve systems. In: Coppersmith, D. (ed.) CRYPT0'95. LNCS, vol. 963, pp. 43-56. Springer, Heidelberg, Germany, Santa Barbara, CA, USA (Aug 27-31, 1995) » ; 10 - choisir x pour être un produit d'entiers de faibles poids de Hamming, comme suggéré dans « Hoffstein, J., Silverman, J.H. : Random small hamming weight products with applications to cryptography. Discrete Applied Mathematics 130(1), 37-49 (2003) and later broken in 15 Cheon, J.H., Kim, H. : Analysis of low hamming weight products. Discrete Applied Mathematics 156(12), 2264-2269 (2008) ; - choisir x pour être un petit élément aléatoire dans une représentation GLV, solution « cassée » par Aranha et 20 al. comme décrit dans « Aranha, D.F., Folique, P.A., Gérard, B., Kammerer, J.G., Tibouchi, M., Zapalowicz, J.C. : GLV/GLS decomposition, power analysis, and attacks on ECDSA signatures with single-bit nonce bias. In: Sarkar, P., Iwata, T. (eds.) ASIACRYPT 2014, Part I. 25 LNCS, vol. 8873, pp. 262-281. Springer, Heidelberg, Germany, Kaoshiung, Taiwan, R.O.C. (Dec 7-11, 2014). Une troisième catégorie de méthodes d'accélération de l'exponentiation utilise de grands nombres de pré-calculs 30 pour générer des paires aléatoires (x, g' mod p). Un premier effort dans cette direction a été décrit dans le document « Schnorr, C.P. : Efficient identification and 9 signatures for smart cards. - Brassard, G. (ed.) CRYPT0'89. LNCS, vol. 435, pp. 239-252. Springer, Heidelberg, Germany, Santa Barbara, CA, USA (Aug 20-24, 1990). Cette méthode a toutefois été rapidement cassée 5 comme précisé dans le document « de Rooij, P. : On Schnorr's preprocessing for digital signature schemes. Journal of Cryptology 10(1), 1-16 (1997). D'autres constructions ont été décrites, notamment dans les ouvrages suivants : 10 - Brickell et al. Brickell, E.F., Gordon, D.M., McCurley, K.S., Wilson, D.B. : Fast exponentiation with precomputation (extended abstract) - Rueppel, R.A. (ed.) EUROCRYPT'92. LNCS, vol. 658, pp. 200-207. Springer, Heidelberg, Germany, Bala-tonfured, Hungary (May 24-28, 15 1993) ; - Lee Lim, C.H., Lee, P.J.: More flexible exponentiation with precomputation - Desmedt, Y. (ed.) CRYPT0'94. LNCS, vol. 839, pp. 95-107. Springer, Heidelberg, Germany, Santa Barbara, CA, USA (Aug 21-25, 20 1994) ; - de Rooij, P. : Efficient exponentiation using precomputation and vector addition chains - Santis, A.D. (ed.) EUROCRYPT'94. LNCS, vol. 950, pp. 389-399. Springer, Heidelberg, Germany, Perugia, Italy (May 9-12, 25 1995). La première solution prouvée comme étant sûre est due à Boyko et al., comme décrit dans le document « Boyko, V., Peinado, M., Venkatesan, R. : Speeding up discrete 30 log and factoring based schemes via precomputations. In: Nyberg, K. (ed.) EUROCRYPT'98. LNCS, vol. 1403, pp. 221235. Springer, Heidelberg, Germany, Espoo, Finland (May 10 31 - Jun 4, 1998). Cette méthode est désormais connue sous le sigle BPV. La méthode BPV a été étendue ou perfectionnée dans la littérature suivante « Nguyen, P.Q., Stern, J.: The 5 hardness of the hidden subset sum problem and its cryptographic implications. In: Wiener, M.J. (ed.) CRYPT0'99. LNCS, vol. 1666, pp. 31-46. Springer, Heidelberg, Germany, Santa Barbara, CA, USA (Aug 15-19, 1999) ». 10 Cette méthode améliorée se dénomme E-BPV (pour méthode BPV étendue), où la preuve de sécurité de la méthode BPV a également été donnée, comme mentionné dans les documents : - Nguyen, P.Q., Shparlinski, I.E., Stern, J.: 15 Distribution of modular sums and the security of the server aided exponentiation. In: Cryptography and Computational Number Theory, pp. 331-342. Springer (2001) ; - Coron, J., M'Ralhi, D., Tymen, C.: Fast generation 20 of pairs (k, [k]p) for Koblitz elliptic curves. In: Vaudenay, S., Youssef, A.M. (eds.) Selected Areas in Cryptography, 8th Annual International Workshop, SAC 2001 Toronto, Ontario, Canada, August 16-17, 2001, Revised Papers. Lecture Notes in Computer Science, vol. 2259, pp. 25 151-164. Springer (2001). La méthode BPV s'appuie sur le pré-calcul et le stockage d'un ensemble de paires (k[i], gk[i] mod p). Une paire « aléatoire » (r, gr mod p) est générée en 30 choisissant un sous-ensemble de k[i], en définissant r comme étant leur somme, et en calculant gr mod p correspondant par la multiplication des gk[il mod p 11 respectivement choisis. L'algorithme ou le procédé de pré-calcul E-BPV est une généralisation de celui de BPV. E-BPV dispose des paramètres (u, n, h), où n est le nombre de paires pré-calculées, u est le nombre de paires 5 choisies parmi toutes les paires pré-calculées afin de générer une nouvelle paire "aléatoire" et h encode la puissance maximale à laquelle chaque valeur pré-calculée peut être potentiellement élevée. Intuitivement, plus h et u sont grands, plus grande sera l'entropie introduite 10 dans la paire pré-calculée durant la mise en oeuvre dudit algorithme. Cependant, plus les valeurs de h et u sont élevées, plus le nombre de calculs est grand pour chaque paire générée (x, g' mod p). En d'autres termes, la méthode PBV correspond à une méthode E-BPV pour laquelle 15 le paramètre h prend la valeur 0 ou 1. En tant que telles, les méthodes BPV et E-BPV partagent les mêmes paires pré-calculées. Pour garantir un niveau de sécurité acceptable, le 20 nombre de paires pré-calculées parmi lesquelles lesdits sous-ensembles doivent être choisis doit être suffisamment grand. Il faut en outre utiliser suffisamment de paires pour générer un nouveau couple et h doit être suffisamment grand. Nous pouvons prudemment 25 déterminer le nombre de requêtes de signature transmises par l'adversaire à 2128. Pour la présente invention, pour une sécurité de 128 bits, la taille d'exposant P peut être définie comme valant 3072. Comme suggéré dans « Nguyen, P.Q., Shparlinski, I.E., Stern, J. : 30 Distribution of modular sums and the security of the server aided exponentiation - Cryptography and Computational Number Theory, pp. 331-342. Springer 12 (2001) », nous pouvons définir n = u, et contraindre hu>2340°. En optimisant 2u+h sous cette contrainte, on trouve (h, u)=(176, 455). Cela correspond à 1087 multiplications 5 modulaires. Comme il sera exposé par la suite, la présente invention permet de réutiliser le résultat de cette exponentiation modulaire pour signer 12 fois, c'est-à-dire un coût amorti de 90 multiplications par signature, pour environ 170ko de stockage. 10 Alternativement, nous pouvons satisfaire les contraintes de sécurité en définissant n = 2048, h = 100, u = 320, ce qui correspond à environ 770ko de stockage, procure un coût amorti de 62 multiplications modulaires par signature (toujours pour des lots de 12 signatures). 15 Dans la mise en oeuvre de la présente invention, le problème d'optimisation sous contraintes est résolu pour trouver les meilleurs coefficients, c'est-à-dire le plus faible nombre de multiplications pour une capacité de 20 mémoire donnée. A titre d'exemple de mise en oeuvre préféré mais non limitatif, il apparaît pertinent d'utiliser une accélération selon Brickell et al., telle que décrite par exemple dans le document « Brickell, E.F., Gordon, D.M., McCurley, K.S., Wilson, D.B. : Fast 25 exponentiation with precomputation (extended abstract) - Rueppel, R.A. (ed.) EUROCRYPT'92. LNCS, vol. 658, pp. 200-207. Springer, Heidelberg, Germany, Balatonfüred, Hungary (May 24-28, 1993). 30 L'invention permet de répondre à tout ou partie des inconvénients soulevés par les solutions connues. 13 Parmi les nombreux avantages apportés par l'invention, nous pouvons mentionner que celle-ci améliore grandement l'algorithme de signature numérique populaire publié par Schnorr en 1989 (notamment dans le 5 document « C.P. Schnorr, Efficient identification and signatures for smart cards, in G. Brassard, ed. Advances in Cryptology-Crypto '89, 239-252, Springer-Verlag, 1990. Lecture Notes in Computer Science, nr. 435 and C.-P. Schnorr, Efficient Signature Generation by Smart Cards, 10 J. Cryptology 4(3), pp161-174 (1991)) de sorte que l'exploitation d'un tel algorithme amélioré soit moins exigeante en ressources de calcul pour le ou les dispositifs électroniques qui le mettent en oeuvre. A titre d'exemple, nous pouvons supposer que le dispositif 15 électronique signataire, tel qu'une carte à puce, peut ne comporter qu'une mémoire de données de taille restreinte, par exemple quatre mille bits. Une telle restriction en matière de capacité mémoire, entraîne des compromis capacité mémoire-temps 20 d'exécution, qui ne sont généralement pas pertinents pour les paramètres typiques de Schnorr. L'invention propose ainsi un schéma de signature et d'indentification particulièrement optimisé, conférant des performances accrues au regard des schéma Schnorr connus, quand bien 25 même de tels schémas bénéficieraient d'optimisations découlant de l'intégration de techniques de pré-calcul évoquées précédemment. Il en résulte une étape d'élaboration de signature accélérée. Un tel nouveau procédé et tout dispositif 30 électronique ou appareil le mettant en oeuvre procurent ainsi une amélioration certaine aux schémas 14 d'identification et de signature de Schnorr basés sur le logarithme discret. L'invention s'applique également à la plupart des dérivés de l'algorithme d'identification et de signature 5 de Schnorr, tels que le Digital Signature Standard (FIPS PUB 186-4: Digital Signature Standard (DSS)). La théorie de la présente invention est basée sur la difficulté de calculer des logarithmes discrets modulo un 10 grand nombre premier p. Un protocole connexe fournissant l'identification et la signature est le schéma Schnorr mentionné ci-dessus, mais le nouveau protocole au sens de la présente invention est expérimentalement deux à six fois plus rapide que les protocoles connus et fournit une 15 réponse concrète aux problèmes d'identification et de signature. Le procédé optimisé ainsi que tout dispositif électronique qui le met en oeuvre ne nécessitent aucune tierce partie ou centre de confiance qui connaitrait des clés mères ou des secrets appartenant aux utilisateurs. 20 Dans un déploiement typique, un utilisateur génèrerait sa paire de clés et soumettrait sa clé publique, probablement avec d'autres données d'identification d'utilisateur, à des fins de certification à une infrastructure à clés publiques (ICP 25 ou PKI, pour Public Key Infrastructure, selon une terminologie anglo-saxonne). Aucune autre interaction avec une telle ICP n'est nécessaire grâce à l'invention pour générer ou vérifier des preuves d'identité ou de signature. En outre, un nombre illimité d'utilisateurs 30 peut rejoindre le système sans dégrader ses performances. L'interaction entre signataires ou prouveurs (généralement sous la forme avantageuse mais non 15 limitative de cartes à puce) n'autorisera pas des vérificateurs (généralement sous la forme de terminaux de point de vente, par exemple) à reproduire des signatures existantes, à créer de nouvelles identités ou à modifier 5 des identités existantes. Étant donné qu'aucune information n'est divulguée lors d'une telle interaction, la durée de vie d'une carte à puce ne dépend plus de la fréquence à laquelle elle est utilisée à cette fin. Comme évoqué précédemment, le système de signature 10 Schnorr prouvé sûr sécurisé est populaire et efficace. Cependant, chaque signature nécessite une exponentiation modulaire à un grand nombre aléatoire (puissance) nouvellement généré (c'est-à-dire un nonce), qui est généralement une opération très coûteuse en ressource et 15 en temps. L'essor des dispositifs connectés relance l'intérêt pour les algorithmes de signature à ressources limitées. La présente invention décrit ainsi une variante des signatures de Schnorr qui mutualise les efforts d'exponentiation entre des signatures successives 20 effectuées par le même dispositif électronique signataire ou prouveur. Combinée avec des techniques de pré-calcul, qui si elles étaient simplement associées à l'algorithme Schnorr 25 original ne produiraient pas de résultats ou de performances pertinents, la présente invention amortit le coût de l'exponentiation sur plusieurs signatures, ces dernières partageant un même nonce (nombre arbitraire destiné à être utilisé une seule fois). Alors que le 30 partage d'un nonce détruit la sécurité des signatures classiques de Schnorr, une telle pratique n'engendre pas un problème de sécurité pour un procédé d'identification 16 et de signature conforme à l'invention. Un tel procédé ou schéma selon l'invention est prouvé comme étant sûr, asymptotiquement plus rapide que le schéma de Schnorr original, lorsqu'il est combiné avec des techniques de 5 pré-calcul efficaces : expérimentalement, un schéma conforme à l'invention est deux à six fois plus rapide pour un même nombre de signatures lors de l'utilisation d'un Mégaoctet (1 Mo) de stockage statique. 10 A cette fin, il est notamment prévu un procédé mis en oeuvre par une première unité de traitement d'un dispositif électronique prouveur comportant une première mémoire de données et des premiers moyens de communication assurant une communication avec un 15 dispositif électronique vérificateur tiers, ladite première mémoire de données et lesdits premiers moyens de communication du dispositif électronique prouveur coopérant avec ladite première unité de traitement de ce dernier. Pour permettre la mise en oeuvre d'un schéma de 20 type Schnorr particulièrement optimisé, l'invention prévoit que la première mémoire de données enregistre un premier nombre premier p de P bits et L nombres premiers de Q bits tels que p=2q[11x...xq[L1+1. L étant supérieur à 1, P et Q étant deux entiers. Lorsque le 25 processus démarre une variable index i est initialisée à une valeur déterminée dite valeur initiale d'index. En outre, un tel procédé est agencé pour qu'il comporte : - une étape pour : o si la valeur de i est égale à ladite valeur 30 initiale d'index, produire un engagement r=gk mod p, g étant un générateur appartenant à un groupe cyclique G sous-ensemble de Zp* d'ordre 17 p-1 et k étant un nonce choisi aléatoirement dans Zq ; o mouvementer la valeur de i, celle-ci demeurant inférieure à L ; 5 o déclencher l'émission, par les premiers moyens de communication à destination dudit dispositif électronique vérificateur tiers, dudit index i et de l'engagement r ; - une étape pour : 10 o produire une réponse s[i], à partir de k et d'un défi m[i], ce dernier étant préalablement produit par le dispositif électronique vérificateur tiers et réceptionné par les premiers moyens de communication ; 15 o transmettre ladite réponse s[i] produite audit dispositif électronique vérificateur tiers. Selon un mode de réalisation préféré, P=LQ+1. Un tel procédé selon l'invention peut avantageusement 20 comporter une étape pour produire des clés respectivement privée x et publique y, de sorte que la clé secrète x soit choisie de manière aléatoire dans Zp* et que la clé publique y consiste en y = g' mod p. Pour communiquer une clé publique à tout dispositif 25 susceptible d'interagir, l'étape pour produire des clés peut en outre provoquer une transmission de ladite clé publique y à destination du dispositif électronique vérificateur tiers par les premiers moyens de communication. 30 Pour mettre en application un schéma de signature numérique et de vérification optimisé, l'étape pour 18 élaborer la réponse s[i] d'un procédé mis en oeuvre par un dispositif prouveur conforme à l'invention peut consister à : - produire une composante additionnelle p[i]={0,1}x 5 de À bits, pour une valeur de i donnée comprise entre 1 et L, À étant un paramètre de sécurité entier prédéterminé ; - calculer e[i]=H(m[i],r,p[i]) et s[i]=k-e[i]x mod q[i], H étant une fonction de hachage 10 prédéterminée ; - produire une signature du message m[i] consistant en l'ensemble de valeurs Ir,s[i],p[i]} ; - déclencher la transmission de ladite signature Ir,s[i],P[i]} par les premiers moyens de 15 communication à destination du dispositif électronique vérificateur tiers. En variante pour mettre en application un schéma d'authentification optimisé, l'étape pour élaborer la réponse s[i] d'un procédé mis en oeuvre par un dispositif 20 prouveur conforme à l'invention peut consister à produire s[i]=k-m[i]x mod q[i] pour une valeur d'index i donnée. Quelle que soit l'application visée, avantageusement, un procédé mis en oeuvre par un dispositif électronique prouveur selon l'invention peut comprendre une étape pour 25 produire, choisir et/ou enregistrer dans la première mémoire de données, les paramètres de mise en oeuvre dudit procédé, parmi lesquels les valeurs de q[i], pour tout i compris entre 1 et L, ainsi que les valeurs de P et de Q, L étant la partie entière de P/Q. 30 19 Selon un deuxième objet, l'invention concerne un procédé de vérification d'une signature mis en oeuvre par une deuxième unité de traitement d'un dispositif électronique vérificateur comportant une deuxième mémoire 5 de données et des deuxièmes moyens de communication assurant une communication avec un dispositif électronique prouveur tiers agencé pour produire et transmettre une signature d'un message m[i] selon un procédé conforme à l'invention et tel qu'exprimé 10 précédemment. Ladite deuxième mémoire de données et lesdits deuxièmes moyens de communication du dispositif électronique vérificateur coopèrent avec ladite deuxième unité de traitement de ce dernier. Pour permettre la mise en place d'un schéma de signature et de vérification de 15 signature sûr et efficace, la deuxième mémoire de données enregistre, en tant que paramètres de mise en oeuvre dudit procédé de vérification d'une signature, un premier nombre premier p de P bits et L nombres premiers de Q bits tels que p=2q[11x...xq[L1+1. Lesdits 20 paramètres étant de valeurs identiques à celles exploitées par ledit dispositif électronique prouveur tiers pour élaborer une signature d'un message. En outre, ledit procédé comporte : - une première étape pour : 25 o recevoir, par les deuxièmes moyens de communication, la valeur d'un index i produite par le dispositif électronique prouveur tiers ; o déclencher l'émission, par les deuxièmes 30 moyens de communication à destination dudit 20 dispositif électronique prouveur tiers, la teneur du message m[i] à signer; une étape pour : o réceptionner par les deuxièmes moyens de 5 communication ladite signature du message m[i], produite par le dispositif électronique prouveur tiers sous la forme d'un ensemble de valeurs Ir,s[i],p[i]}), et o vérifier si s[i] appartient ou non à 10 l'ensemble de valeurs {0,...,q[i]-1} étant donnée la valeur q[i] enregistrée dans la deuxième mémoire de données ; - dans la négative, une étape pour rejeter la signature transmise par le dispositif 15 électronique prouveur tiers ; - dans l'affirmative, une étape pour : o calculer e[i]=H(m[i],r,p[i]), H étant une fonction de hachage prédéterminée et exploitée par le dispositif électronique 20 prouveur tiers (SD, SDa, SDb) pour produire ladite signature ; o vérifier si (eilye[ii/r) (P-1)/q[i]=1 mod p, y étant la clé publique du dispositif électronique prouveur tiers (SD, SDa, ADb), 25 préalablement enregistrée dans la deuxième mémoire de données. Si (gswyew/r)(p-u/g[i] 1 mod p, un tel procédé comporte en outre une étape pour rejeter la signature transmise par le dispositif électronique prouveur tiers. 30 En revanche, si (gs[i] ye[i] /r) (P-1)/q[i] = 1 mod p, ledit 21 procédé comporte une étape pour reconnaître la validité de la signature. Selon un troisième objet, l'invention concerne un 5 procédé d'authentification d'un dispositif électronique prouveur tiers mettant en oeuvre un procédé conforme à l'invention selon lequel une réponse s[i] consiste en s[i]=k-m[i]x mod q[i] pour une valeur d'index i donnée. Un tel procédé d'authentification est destiné à être mis 10 en oeuvre par une deuxième unité de traitement d'un dispositif électronique vérificateur comportant une deuxième mémoire de données et des deuxièmes moyens de communication assurant une communication avec ledit dispositif électronique prouveur tiers, ladite deuxième 15 mémoire de données et lesdits deuxièmes moyens de communication du dispositif électronique vérificateur coopérant avec ladite deuxième unité de traitement de ce dernier. Selon l'invention, il est prévu que la deuxième mémoire de données enregistre, en tant que paramètres de 20 mise en oeuvre dudit procédé d'authentification, un premier nombre premier p de P bits et L nombres premiers de Q bits tels que p=2q[11x...xq[L1+1. L étant supérieur à 1, P et Q étant deux entiers. Lesdits paramètres étant de valeurs identiques à celles 25 exploitées par ledit dispositif électronique prouveur tiers. Par ailleurs, un tel procédé d'authentification comporte : une première étape pour recevoir par les deuxièmes moyens de communication la valeur d'un 30 index i produite par le dispositif électronique prouveur tiers ; 22 - une étape pour déclencher l'émission, par les deuxièmes moyens de communication à destination dudit dispositif électronique prouveur tiers, la teneur d'un message défi mli] ERZqw ; 5 - une étape pour : o réceptionner, par les deuxièmes moyens de communication, une réponse s[i] audit message défi rdil, ladite réponse s[i] étant produite par le dispositif électronique prouveur tiers 10 (SD, SDa, SDb) à partir du message défi m[i] ; o vérifier si la réponse s[i] appartient ou non à l'ensemble de valeurs {0,...,q[i]-1} étant donnée la valeur q[i] enregistrée dans la deuxième mémoire de données ; 15 - dans la négative, une étape pour rejeter la demande d'authentification du dispositif électronique prouveur tiers ; - dans l'affirmative, une étape pour vérifier si (gs[ilym[ii/r) (P-1)/g[i] = 1 mod p, y étant la clé 20 publique du dispositif électronique prouveur tiers préalablement enregistrée dans la deuxième mémoire de données. Si (gs[ilym[ii/r) (P-1)/g[i] 1 mod p, un tel procédé d'authentification comporte en outre une étape pour 25 rejeter la demande d'authentification du dispositif électronique prouveur tiers. En revanche, si (gs[ilym[ii/r) (P-1)/q[i] = 1 mod p, ledit procédé comporte une étape pour accepter la demande d'authentification du dispositif électronique prouveur tiers. 30 23 Par ailleurs, pour adapter un équipement conventionnel pour que celui-ci se mue en dispositif électronique prouveur selon l'invention, celle-ci prévoit en outre un produit programme d'ordinateur comportant des 5 instructions de programme qui, lorsqu'elles sont : - préalablement enregistrées dans une première mémoire de programmes d'un tel dispositif électronique prouveur comportant en outre une première unité de traitement agencée pour 10 interpréter lesdites instructions, une première mémoire de données, des premiers moyens de communication assurant une communication avec un dispositif électronique vérificateur tiers, lesdites premières 15 mémoires de données et de programmes et lesdits premiers moyens de communication coopérant avec ladite première unité de traitement ; - exécutées ou interprétées par ladite première 20 unité de traitement, provoquent la mise en oeuvre d'un procédé conforme à l'invention. Ainsi, l'invention concerne en outre un dispositif 25 de signature ou prouveur comportant, une première unité de traitement, une première mémoire de données, une première mémoire de programmes, des premiers moyens de communication assurant une communication avec un dispositif électronique vérificateur tiers, lesdites 30 premières mémoires de données et de programmes et lesdits premiers moyens de communication coopérant avec ladite première unité de traitement. Une adaptation selon l'invention consiste en ce que ladite première mémoire de programmes comporte les instructions d'un produit 24 programme d'ordinateur selon l'invention et tel qu'exprimé ci-avant et en ce que ladite première unité de traitement est agencée pour interpréter les instructions dudit produit programme d'ordinateur. 5 Il en est de même pour adapter un équipement de sorte qu'il se mue en dispositif électronique vérificateur de signature selon l'invention, celle-ci concerne également un produit programme d'ordinateur comportant des 10 instructions de programme qui, lorsqu'elles sont : - préalablement enregistrées dans une deuxième mémoire de programmes d'un dispositif électronique vérificateur comportant en outre une deuxième unité de traitement agencée pour 15 interpréter lesdites instructions, une deuxième mémoire de données, des deuxièmes moyens de communication assurant une communication avec un dispositif électronique prouveur tiers, lesdites deuxièmes mémoires 20 et lesdits deuxièmes moyens de communication coopérant avec ladite deuxième unité de traitement ; - exécutées ou interprétées par ladite deuxième unité de traitement, 25 provoquent la mise en oeuvre d'un procédé de vérification de signature conforme à l'invention. Ainsi, l'invention concerne en outre un dispositif de vérificateur de signature comportant, une deuxième unité 30 de traitement, une deuxième mémoire de données, une deuxième mémoire de programmes, des deuxièmes moyens de communication assurant une communication avec un dispositif électronique prouveur tiers, lesdites deuxièmes mémoires de données et de programmes et lesdits 25 deuxièmes moyens de communication coopérant avec ladite deuxième unité de traitement. Une adaptation selon l'invention consiste en ce que ladite deuxième mémoire de programmes comporte les instructions d'un produit 5 programme d'ordinateur selon l'invention et tel qu'exprimé ci-dessus et en ce que ladite deuxième unité de traitement est agencée pour interpréter les instructions dudit produit programme d'ordinateur. 10 En variante, l'invention prévoit un produit programme d'ordinateur comportant des instructions de programme qui, lorsqu'elles sont : - préalablement enregistrées dans une deuxième mémoire de programmes d'un dispositif 15 électronique vérificateur comportant en outre une deuxième unité de traitement agencée pour interpréter lesdites instructions, une deuxième mémoire de données, des deuxièmes moyens de communication assurant une 20 communication avec un dispositif électronique prouveur tiers, lesdites deuxièmes mémoires et lesdits deuxièmes moyens de communication coopérant avec ladite deuxième unité de traitement ; 25 - exécutées ou interprétées par ladite deuxième unité de traitement, provoquent la mise en oeuvre d'un procédé d'authentification conforme à l'invention. 30 L'invention concerne ainsi un dispositif d'authentification comportant, une deuxième unité de traitement, une deuxième mémoire de données, une deuxième mémoire de programmes, des deuxièmes moyens de communication assurant une communication avec un 26 dispositif électronique prouveur tiers, lesdites deuxièmes mémoires de données et de programmes et lesdits deuxièmes moyens de communication coopérant avec ladite deuxième unité de traitement. Une adaptation selon 5 l'invention consiste en ce que ladite deuxième mémoire de programmes comporte les instructions d'un produit programme d'ordinateur selon l'invention et tel qu'exprimé ci-dessus et en ce que ladite deuxième unité de traitement est agencée pour interpréter les 10 instructions dudit produit programme d'ordinateur. Selon un autre objet, l'invention concerne un système de signature, d'identification et/ou d'authentification comportant un premier dispositif électronique de 15 signature ou prouveur selon l'invention et un deuxième dispositif électronique vérificateur de signature ou d'authentification également conforme à l'invention, lesdits premier et deuxième dispositifs coopérant via des premiers et deuxièmes moyens de communication respectifs. 20 De manière globale, l'invention concerne une variante particulièrement optimisée d'un procédé de type Schnorr, sous la forme d'un procédé de signature et d'identification mis en oeuvre par les unités de 25 traitement respectives d'un premier dispositif électronique prouveur et d'un deuxième dispositif électronique vérificateur d'un système de signature et d'identification selon l'invention, comportant une première étape pour produire, par le premier dispositif 30 électronique prouveur, une signature Ir,s[i],p[i]} d'un message m[i] selon un procédé conforme à l'invention et une deuxième étape pour vérifier la validité de ladite signature par le deuxième dispositif électronique vérificateur selon un procédé de vérification de signature également conforme à l'invention. 27 Enfin, l'invention concerne également une variante particulièrement optimisée à un procédé de type Schnorr, sous la forme d'un procédé d'authentification mis en oeuvre par les unités de traitement respectives d'un 5 premier dispositif électronique prouveur et d'un deuxième dispositif électronique vérificateur d'un système de signature et d'identification selon l'invention, comportant une étape pour produire, par le premier dispositif électronique prouveur, une réponse s[i] à un 10 défi m[i] selon un procédé conforme à l'invention et une deuxième étape pour accepter ou rejeter une authentification par le deuxième dispositif électronique vérificateur selon un procédé d'authentification également conforme à l'invention. 15 Dans les figures et dans la description détaillée suivante, certaines libertés ont été prises en ce qui concerne le détails des modes de communication, des liaisons de données entre un dispositif électronique 20 d'identification ou prouveur (représenté et décrit selon un mode de réalisation préféré mais non limitatif en tant qu'une carte à puce) d'une partie communicante ou entité A et un dispositif électronique de vérification (représenté et décrit selon un mode de réalisation 25 préféré mais non limitatif en tant qu'un terminal de paiement apte à coopérer avec une carte à puce) d'une partie ou entité B. Une telle communication entre les dispositifs de A et de B peut se traduire par une liaison électrique filaire ou en variante par une liaison sans 30 fil, par exemple par voie radiofréquence, et s'appuie sur tout protocole de communication adapté. Pour mettre en oeuvre un procédé de signature, d'identification ou de vérification, un dispositif électronique selon l'invention, dont l'architecture 28 fonctionnelle n'est pas décrite dans les figures, comporte une ou plusieurs unités de traitement, par exemple sous la forme d'un ou plusieurs microprocesseurs ou microcontrôleurs comprenant, ou coopérant avec, une ou 5 plusieurs mémoires, pour certaines n'autorisant qu'un accès en lecture, pour stocker de l'information et/ou un ou plusieurs programmes d'ordinateur requis pour effectuer les opérations décrites ultérieurement. De tels appareils ou dispositifs comportent en outre des moyens 10 de communication ou module d'entrées et sorties leur permettant d'interagir. Les mémoires sont respectivement des mémoire de données pour enregistrer des paramètres de fonctionnement ou des données produites et des mémoire de programmes pour enregistrer les instructions de produits 15 programmes d'ordinateur qui, lors de leur interprétation par l'unité de traitement concernée, provoque la mise en oeuvre d'un procédé d'application idoine. La génération de nombres aléatoires peut être réalisée par tout moyen connu, par exemple au moyen d'une diode de bruit (ou 20 "noise diode" selon une terminologie anglo-saxonne), coopérant ou partie d'une unité de traitement, servant de source de génération aléatoire de bits selon une discrimination appropriée pour obtenir une sortie binaire aléatoire. Habituellement et généralement, on utilise des 25 nombres de 1024 bits. Des tailles d'entiers plus grandes (par exemple 2048 bits) peuvent être utilisées pour des niveaux de sécurité plus élevés, comme cela est évident pour un homme du métier. De même, la formule p=2q[11x...xq[L1+1 peut être 30 substituée par p=2Aq[11x...xq[L1+1 où A est un entier positif quelconque. Une telle variante pourrait permet permettre une génération un peu plus rapide des 29 paramètres p,q[1],...,q[L] comme cela est évident pour un homme du métier. D'autres caractéristiques et avantages apparaîtront 5 plus clairement à la lecture de la description qui suit et à l'examen des figures qui l'accompagnent parmi lesquelles : - la figure 1 est un schéma fonctionnel décrivant partiellement un procédé de signature mis en oeuvre 10 par un dispositif de signature ou « prouveur » conforme à l'invention, tel qu'une carte à puce par exemple, plus précisément les étapes de configuration SetUp et de génération de clés KeyGen précédemment évoquées ; 15 - la figure 2 est un schéma fonctionnel décrivant les interactions entre un procédé de signature et un procédé de vérification de signature mis en oeuvre respectivement par un dispositif de signature ou « prouveur » et un dispositif « vérificateur », par 20 exemple un terminal de paiement, impliqué dans un schéma de signature et d'identification conforme à l'invention ; - la figure 3 est un schéma fonctionnel décrivant précisément un exemple de réalisation d'un procédé 25 de signature et d'un procédé de vérification de signature, lesdits procédés étant conformes à l'invention ; - la figure 4 est un schéma fonctionnel décrivant précisément un exemple de schéma d'authentification 30 conforme à l'invention. 30 L'intuition et le schéma général de l'invention sont les suivants : l'algorithme de signature original de Schnorr utilise un grand nombre premier p et un nombre premier q divisant p-1, ledit nombre premier q étant de 5 taille inférieure à celle du nombre premier p. La sécurité d'un tel système de signature connu repose sur le problème du logarithme discret dans un sous-groupe d'ordre q du groupe multiplicatif de champ fini Zp (où p1 mod q = 0). Habituellement, le nombre premier p est 10 choisi pour être suffisamment grand pour résister aux méthodes de calcul d'index pour résoudre le problème de logarithme discret (par exemple une taille de 3072 bits offre un niveau de sécurité de 128 bits). Le nombre premier q est quant à lui suffisamment grand pour 15 résister aux algorithmes de racine carrée ("square-root algorithms" selon une terminologie anglo-saxonne). Ainsi, par exemple, un nombre q de 256 bits est suffisant généralement pour offrir un niveau de sécurité de 128 bits. L'intuition sous jacente à un procédé selon 20 l'invention, et à tout dispositif électronique mettant en oeuvre ce dernier, consiste à considérer un nombre premier p tel que p-1 a plusieurs facteurs différents q[i] assez grands pour résister aux attaques dites de l'anniversaire ("birthday attacks", selon une terminologie anglo- 25 saxonne), en particulier p=1+2q[1]x...xq[L], L étant supérieur à 1. Etant donné un tel nombre premier p, plusieurs signatures Schnorr « orthogonales » peuvent partager le même composant d'engagement r = gk mod p, où k est une 30 valeur aléatoire ou un nonce. La situation est différente avec les signatures Schnorr standard où, si un nonce k 31 est réutilisé, la clé de signature secrète sk est révélée. Avantageusement, il apparaît que dans ce nouveau cadre inventif r peut être calculé rapidement. Dans le 5 protocole original de Schnorr, un nonce k est choisi uniformément au hasard dans Zq. Cependant, pour être sécurisé, un procédé selon l'invention nécessite que k soit sélectionné dans un ensemble plus grand Zp_i, ce qui engendre un surcroit de calcul considérable pour produire 10 un engagement r. L'invention permet de surmonter cette difficulté en générant un engagement r selon des techniques de pré-calcul qui permettent qu'une exponentiation soit sous-linéaire en la taille de l'opérande. Une fois l'exponentiation rendue sous- 15 linéaire, les schémas d'identification et d'identification conformes à l'invention sont plus efficaces que dans le cadre original de Schnorr car, l'engagement calculé r est utilisé pour générer non pas une seule signature, mais L signatures, amortissant ainsi 20 le coût des opérations de pré-calculs. A l'instar d'un schéma de Schnorr et de l'algorithme de signature numérique DSA (Digital Signature Algorithm, selon une terminologie anglo-saxonne), comme l'indique à 25 titre d'exemple préféré mais non limitatif la figure 1, un procédé de signature 10 selon l'invention, mis en oeuvre par un dispositif électronique de signature SD, par exemple une carte à puce SDa agencée pour comporter dans une mémoire de programmes les instructions d'un programme 30 d'ordinateur idoine, comporte deux premières étapes pour générer des clés. La première étape 11 consiste à choisir des paramètres d'algorithmes qui peuvent être partagés 32 entre différents utilisateurs du système, tandis que la deuxième étape 12 consiste à calculer les clés publique y et privée x pour un seul utilisateur. Le système de signature et d'identification conforme à l'invention peut 5 être qualifié de système « à état » ou encore de « stateful scheme » selon une terminologie anglo-saxonne. Cette caractéristique signifie qu'un dispositif électronique signataire conserve une variable dans une mémoire non volatile et met à jour ladite variable 10 pendant ou après chaque session de signature. Dans un procédé conforme à l'invention, cette variable d'état est de petite taille (généralement un octet) et a pour fonction de mémoriser l'index i de q[i] à utiliser dans l'élaboration de la signature courante (ou durant une 15 session d'identification) ainsi que les valeurs k et gk mod p. Plus précisément, un schéma de signature et d'identification selon l'invention est un schéma de signature à état, dans lequel le dispositif électronique signataire SD signe un message et conserve un état 20 correspondant aux valeurs k, gk mod p et i désignant le nombre premier q[i] utilisé pour la signature courante. Cependant, un tel procédé est plus compact et pratique pour décrire une signature pour L messages simultanés. Un procédé de signature 10 selon l'invention comporte 25 donc une étape 11 de génération de paramètres, une étape 12 de génération de clés par utilisateur (dispositif électronique associé), une étape de génération de signature 13. Un procédé de vérification de signature 20 est quant à lui mis en oeuvre par un dispositif 30 électronique vérificateur VD. L'association des deux procédés 10 et 20 constitue un schéma de signature et d'identification conforme à l'invention. 33 Nous pouvons mentionner qu'un tel schéma est à divulgation nulle de connaissance, comme l'indique de manière détaillée la figure 4, plus loin. Dans ladite description détaillée dudit schéma, les termes et 5 notations mathématiques considérées comme usuelles en cryptographie, connues de l'homme du métier, sont utilisées, sans explications, ni définitions complémentaires. L'étape 11 de génération de paramètres, également 10 appelée processus de configuration, est illustrée en figure 1. Une telle étape 11 consiste tout d'abord à choisir une fonction de hachage cryptographique approuvée H. La fonction de hash SHA-2 standard (selon FIPS 180-4: Secure Hash Standard (SHS), mars 2012) constitue un choix 15 typique bien que non limitatif. Le haché délivré peut être tronqué pour être d'une taille équivalente à celle d'une paire de clés. L'étape 11 consiste à présent à déterminer les longueurs P et Q des clés. La longueur d'une clé constitue la mesure principale de la force 20 cryptographique de ladite clé. Habituellement, P est un multiple de 64 compris entre 512 et 4096 bits (inclus). Q doit être inférieure ou égale à la longueur du haché délivré par la fonction de hachage H. Typiquement, Q est comprise entre 160 et 512 bits. Nous désignons par L le 25 rapport approximatif entre P et Q, c'est-à-dire, comme étant égal à la valeur entière du rapport P/Q, soit L=Floor[P/Q] selon une notation anglo-saxonne. Dans ce qui suit, on suppose que P=LQ+1 par mesure de simplification. Ainsi P=3072 et Q=256 sont des valeurs de 30 sécurité concrètes correspondant au calcul de l'index actuel pour résoudre des problèmes logarithme discret. Choisir L=12, P=3072 et Q=256 correspond à un niveau de 34 sécurité de 128 bits. De tels choix pour H, P et Q peuvent être prédéterminés par programmation ou via des paramètres de configurations enregistrées dans une mémoire de données du dispositif électronique SD mettant 5 en oeuvre le procédé de signature 10. L'étape 11 consiste à présent, selon un mode de réalisation préféré mais non limitatif, à : - générer L-1 nombres premiers q[1],...,q[L-1], chaque q[i] étant d'une longueur de Q bits ; 10 - générer un dernier nombre premier q[L] de taille Q bits de sorte que p=2q[1]x...xq[L]+1 soit un nombre premier ; - choisir g, un générateur du groupe Zp* d'ordre p-1. 15 Les paramètres d'un schéma de signature et d'identification selon l'invention, ci-après parfois désignés par le vocable anglo-saxon « Parameters » sont ainsi constitués et forment l'ensemble (p, lq[1],..., q[L]}, H, g). Ces paramètres sont enregistrés dans une 20 mémoire de données d'un dispositif électronique de signature SD conforme à l'invention. Lesdits paramètres peuvent être partagés entre différents utilisateurs du système, c'est-à-dire entre une pluralité de dispositifs électroniques conformes à l'invention. Cela signifie que 25 pour certains dispositifs électroniques conformes à l'invention, l'étape 11 de configuration précédemment décrite est remplacée par une étape, non pas d'élaboration mais de chargement en mémoires de données, desdits paramètres. Réciproquement, pour un dispositif de 30 signature mettant en oeuvre l'élaboration des paramètres, l'étape 11 peut être complétée par une étape de sortie ou d'exportation des valeurs desdits paramètres produits. 35 Nous pouvons remarquer que l'élaboration desdits paramètres peut éventuellement être réalisée par un dispositif électronique tiers, optionnellement dédié à cet effet comme un serveur PS comportant une unité de 5 traitement propre et des mémoires, et/ou non agencé pour mettre en oeuvre une signature selon l'invention. En liaison avec les figures 1 et 2, le procédé 10 comporte à présent une étape 12 de génération de clés, 10 étape propre à chaque utilisateur, c'est-à-dire à chaque dispositif électronique de signature SD mettant en oeuvre ledit procédé de signature 10. Cette étape 12 de génération de clés, également désigné ci-après parfois processus « KeyGen », est 15 également décrit à titre d'exemple par la figure 1. Connaissant un ensemble de paramètres (p, lq[1],..., q[L]}, H, g) donné (cf. étape 11), l'étape 12 consiste à calculer les clés publique y et privée x, dédiées à un seul utilisateur, soit un dispositif électronique de 20 signature SD conforme à l'invention. Ainsi le processus KeyGen(Parameters), ou étape 12 décrite à titre d'exemple non limitatif par la figure 1, comporte les étapes suivantes : - choisir une clé secrète aléatoire xERZp*. La 25 clé secrète x, notée ci-dessous sk, est maintenue confidentielle pour un utilisateur donné, ou pour un dispositif électronique de signature SD, tel qu'une carte à puce SDa ou SDb ; 30 - calculer la clé publique correspondante y=gx mod p. La clé publique y pour cet utilisateur particulier, ou dispositif électronique de 36 signature SD, dénommée ci-après pk, peut être rendue publique contrairement à la clé sk. Lorsqu'un utilisateur U éligible postule pour obtenir 5 un dispositif électronique de signature SD conforme à l'invention, par exemple sous la forme avantageuse d'une carte à puce, ledit dispositif électronique de signature SD élabore une clé publique y comme indiqué ci-dessus, mettant en oeuvre une étape similaire à l'étape 12 décrite 10 précédemment. Cette clé publique peut être soumise à un organisme certificateur PKI, associée à une chaîne I contenant toutes informations pertinentes concernant l'utilisateur U, comme à titre d'exemples non limitatifs un nom d'utilisateur, une adresse, un numéro 15 d'identification, une description physique, une autorisation ou une habilitation de sécurité, etc. Ladite chaîne I peut en outre comporter des informations complémentaires, propres au dispositif électronique de signature SD en cours de personnalisation, comme la carte 20 SDb, telles qu'une date d'expiration, des limitations ou critères de validité, etc. Comme il s'agit d'informations vérifiées dans la mise en oeuvre d'un schéma de signature et d'identification conforme à l'invention, il est primordial d'inclure suffisamment de variabilité afin de 25 rendre un utilisateur unique au regard de pairs et d'en vérifier leur exactitude. Le procédé de signature 10 comporte à présent une étape 13 de génération de signature, également désigné 30 parfois ci-après par le vocable anglo-saxon "Sign". L'un des avantages d'un schéma de signature et d'identification conforme à l'invention découle de la 37 génération de signatures. En particulier, la même composante d'engagement r=gk mod p peut être partagée pour L signatures définies par le processus Sign(Parameters, sk, m[1],...,m[L]) décrit ci-dessous, en 5 liaison avec l'étape 13 présentée en figures 1, 2 et 3. Ladite étape 13 consiste tout d'abord à choisir 131 par une méthode aléatoire un nonce kERZp, tel que k n'est pas divisible par q[i] pour tout iE{l,...,L}, et à calculer l'engagement r=gk mod p. 10 Le dispositif électronique de signature, en l'espèce la carte à puce SDb en figure 2, mettant en oeuvre un procédé de signature 10 conforme à l'invention peut à présent signer, en une étape 132, avec cet engagement, non pas un seul message, mais L messages m[1],...,m[L], 15 comme décrit ci-après en liaison avec les figures 2 et 3. En effet, en exploitant le paramètre de sécurité ÀEN, ledit paramètre À étant mis à la disposition de tout équipement conforme à l'invention, l'étape 132 consiste à choisir aléatoirement pour chaque message m[i], 20 i=1,...,L, des composantes additionnelles de À bits (ou "À-bit postfix", selon une terminologie anglo-saxonne) p[i]={0,1}x. En outre, ladite étape 132 consiste à calculer e[i]=H(m[i],r,p[i]) et s[i]=k-e[i]x mod q[i] pour 25 iE{l,...,L}. Enfin, l'étape 132 consiste à produire et délivrer les L signatures Ir,s[i],p[i]} ou, sous un formalisme plus compact, Ir, s[1],...,s[L], p[1],...,p[L]}. Comme évoqué ci-dessus, selon l'invention, 30 l'engagement r peut être produit lors d'une session particulière déterminée par une ou plusieurs valeurs déterminées de l'index i. A titre d'exemple de mise en 38 oeuvre préféré, une telle valeur déterminée peut être une valeur initiale comme par exemple la valeur nulle ou 0. En complément, de la production de la valeur courante dudit engagement, la valeur de l'index i peut être 5 mouvementée, c'est-à-dire par exemple avantageusement incrémentée d'une unité. Ainsi, pour une valeur d'index différente de 0, l'engagement r n'est pas à nouveau calculé ou produit. Nous pouvons ainsi, à titre d'exemple de réalisation 10 non limitatif, décrire une telle étape 131 comme suit : o si i=0, produire un engagement r=gk mod p, g étant un générateur appartenant à un groupe cyclique G sous-ensemble de Zp* d'ordre p-1 et k étant un nonce choisi dans Zq ; 15 o incrémenter i d'une unité ; o si i>L alors réinitialiser i à 0. Tout autre mode de réalisation équivalent, exploitant une valeur caractéristique de i, distincte de 0, provoquant la production de l'engagement r, ou une 20 technique alternative pour mouvementer i, pourrait être retenu en variante ou en complément de cet exemple. En liaison avec la figure 3 notamment, de son côté, un dispositif électronique vérificateur de signature VD, tel qu'un terminal de paiement par exemple, met en oeuvre 25 un procédé de vérification de signature 20. Un tel procédé de vérification de signature 20, également désigné ci-après par le vocable anglo-saxon VerifySignature(Parameters, pk, m[i], (r, s[i], p[i]), i) comporte les étapes suivantes. Un tel procédé 20 sous- 30 entend que, préalablement, pour des i, y et r donnés et transmis, à l'issue de l'étape 131, par un dispositif de signature SD, ainsi que pour un message m[i] donné et 39 délivré, en une étape 20a, par un dispositif de vérification VD audit dispositif de signature SD, ce dernier a élaboré puis retourné, conformément à l'étape 132, une signature Ir,s[i],p[i]] donnée. 5 Une première étape 21, d'un procédé de vérification de signature 20 mis en oeuvre par un dispositif VD, consiste à vérifier tout d'abord que, pour un i donné, s[i]E{0, ...,q[i]-1}. Si tel n'est pas le cas, situation illustrée en figure 3 par le lien 21n, la signature est 10 considérée comme non valide. En une étape 23, un résultat binaire Faux, ou « False » selon une terminologie anglo-saxonne, peut être produit. Dans l'affirmative, situation illustrée en figure 3 par le lien 21y, une deuxième étape 22 consiste à 15 calculer e[i]=H(m[i], r, p[i]) et à vérifier que (gswyew/r)(P-u/q[i]=1 mod p. Dans la négative, situation illustrée en figure 3 par le lien 22n, la signature est considérée comme non valide et un résultat binaire de valeur « Faux (ou "False", selon une terminologie 20 anglo-saxonne) l'affirmative, lien 22y, la binaire de terminologie peut être produit en une étape 23. Dans 25 étape 24. situation illustrée en figure 3 par le signature est reconnue valide. Un résultat valeur « Vrai » (ou "True" selon une anglo-saxonne) peut être produit en une Nous pouvons remarquer qu'un schéma de signature et d'identification selon l'invention est mathématiquement correct pour la raison suivante. Prenons g, y, r, s[i] et 30 p[i] produits comme décrit ci-dessus en liaison avec les étapes 12 et 13, respectivement mettant en oeuvre les processus KeyGen et Sign pour un message donné m[i]. Nous pouvons vérifier que (gs[i] ye[i] /r) (P-1) /q[i]=1 mod p. Par la définition de s[i], il existe uEZ tel que gsw= ke[i]x+uq[i] g . Il en découle que gs [ii ye [i] gk = guq[i] mod p. Portant ceci à la puissance (p-1)/q[i], on obtient gu(P5 1)=1 puisque l'ordre du groupe multiplicatif Zp* est p-1. Nous pouvons remarquer en outre, que contrairement à un schéma Schnorr connu, dans l'étape 13 ou « Sign » d'un schéma de signature et d'identification conforme à 10 l'invention, une composante p[i] aléatoire est ajoutée dans l'élaboration d'une signature pour rendre l'argument de la fonction de hachage imprédictible. En liaison avec la figure 4 et selon une variante du 15 présent schéma de signature et d'identification conforme à l'invention, un dispositif électronique vérificateur VD peut identifier un dispositif électronique signataire SD possédant une clé secrète x en utilisant un protocole à divulgation nulle de connaissance. Un procédé 20 d'authentification selon l'invention entre une partie communicante SD, qui, dans le cas de l'authentification, est généralement appelée un prouveur, et une autre partie communicante VD, appelée généralement un vérificateur, comprend des étapes préliminaires de génération de 25 paramètres et de génération de clés utilisateur, identiques à celles du procédé de signature et d'identification détaillées en lien avec les figures 1 et 2, en l'espèce, les étapes 11 et 12 du procédé 10. Dans la description détaillée du processus 30 d'authentification ci-après en liaison avec la figure 4, les termes, notations mathématiques et cryptographiques 41 connues de l'homme du métier sont utilisés sans explications, ni définitions additionnelles. A l'instar du schéma illustré en figure 3, le même 5 composant d'engagement r = gk mod p est partagé pour L sessions d'authentification. Pour cela, le dispositif électronique prouveur SD met en oeuvre un traitement 14, en lieu et place du traitement 13 étudié précédemment. Un tel traitement 14 comporte une 10 première étape 141, consistant à choisir un nonce aléatoire kERZp, tel que k n'est pas divisible par q[i] pour tout iE11, ..., 14, calculer l'engagement r = gk mod p et transmettre r et i à un dispositif vérificateur VD. Le traitement 14 comporte à présent, de manière 15 éventuellement itérative, pour un i compris entre 1 et L : - une étape 142 pour réceptionner, en réponse à ladite émission notamment de l'index i, un nombre aléatoire m[i]ERZq[i] transmis par le 20 dispositif électronique vérificateur VD ; - une étape 143 pour calculer et émettre, à destination dudit dispositif vérificateur VD, une réponse s[i]=k-m[i]x mod q[i]. 25 De son côté, le dispositif électronique vérificateur VD met en oeuvre un traitement 30 comportant : - une étape 31 pour réceptionner, en provenance d'un dispositif électronique prouveur SD, les éléments r et/ou i, voire y si ledit 30 dispositif électronique vérificateur VD ne 42 connaît pas déjà la clé publique y du dispositif électronique prouveur SD ; - une étape 32 pour choisir et émettre le nombre 5 aléatoire lien avec dispositif - une étape dispositif m[i]ERZqw évoqué précédemment en l'étape 142, à destination du électronique prouveur SD ; 33 pour réceptionner, depuis le électronique prouveur SD, la réponse s[i] et tester si ladite réponse s[i] 10 appartient ou non à l'ensemble de valeurs {0,...,q[i]-1} ; - dans la négative, situation illustrée par le lien 33n en figure 4, une étape 34 pour produire un résultat de valeur booléenne 15 « Faux », ou "False" selon une terminologie anglo-saxonne, signifiant que le processus d'authentification a échoué ; - dans l'affirmative, situation illustrée par le lien 33y en figure 20 évaluer la relation p; - si ladite dernière 4, une étape 35 pour ( wym[i] /r ) (P-1) /q[i] =1 mod évaluation se révèle vraie, 25 situation illustrée par le lien 35y en figure 4, une étape 36 pour avantageusement produire un résultat booléen de valeur « Vrai », ou « True » selon une terminologie anglo-saxonne, signifiant l'acceptation de l'authentification. Si la relation ( [i] ym[i] /r ) (P-1) /q[i] -1 mod p se révèle 30 fausse, situation illustrée par le lien 35n en figure 4, l'étape 33 est mise en oeuvre pour signifier l'échec de l'authentification. 43 Un schéma de signature, d'identification ou d'authentification conforme à l'invention est particulièrement avantageux puisqu'il est 5 asymptotiquement plus rapide qu'un processus de signature basé sur Schnorr, notamment lorsque le calcul de l'engagement r = gk mod p est associé à des techniques de pré-calcul efficaces pour effectuer des opérations d'exponentiation sur des grands nombres. De telles 10 techniques sont connues de l'homme du métier et ont été brièvement présentées en début du présent document. Quel que soit le schéma conforme à l'invention retenu, de manière plus générale, nous pouvons remarquer 15 que la réponse s[i] produite à l'étape 132 ou 143, consiste plus généralement à produire une réponse s[i] sous la forme d'un polynôme multivarié, que nous pouvons noter s[i] = Polynôme(r, m[i], p[i], x, k, e[i]) modulo q[i], prenant comme arguments r, m[i], p[i], x, k et/ou 20 e[i] où e[i] est un haché cryptographique de r, m[i] et/ou p[i]. L'invention a été décrite lors de son utilisation pour la réalisation d'un schéma de signature et 25 d'identification, voire d'authentification, mettant en scène un dispositif électronique de signature ou prouveur sous la forme avantageuse d'une carte à puce. L'invention ne saurait être limitée à seul type de dispositif électronique. 30 44 D'autres REVENDICATIONS1. Procédé (10) mis en oeuvre par une première unité de traitement d'un dispositif électronique prouveur (SD, SDa, SDb) comportant une première mémoire de données et des premiers moyens de communication assurant une communication avec un dispositif électronique vérificateur tiers (VD), ladite première mémoire de données et lesdits premiers moyens de communication du dispositif électronique prouveur (SD, SDa, SDb) coopérant avec ladite première unité de traitement de ce dernier, caractérisé en ce que : - la première mémoire de données enregistre un premier nombre premier p de P bits, L nombres premiers q[1],...,q[L] de Q bits tels que p=2q[11x...xq[L1+1, L étant supérieur à 1, P et Q étant deux entiers ; - la première mémoire de données enregistre une valeur déterminée de i, dite valeur initiale d'index ; et en ce que ledit procédé comporte : - une étape (131, 141) pour : o si la valeur de i est égale à ladite valeur initiale d'index, produire un engagement r=gk mod p, g étant un générateur appartenant à un groupe cyclique G sous-ensemble de Zp* d'ordre p-1 et k étant un nonce choisi dans Zq ; 46 o mouvementer la valeur de i, celle-ci n'excédant pas L ; o déclencher l'émission, par les premiers moyens de communication à destination dudit dispositif 5 électronique vérificateur tiers (VD), dudit index i et de l'engagement r ; une étape (13, 132, 14, 143) pour : o produire une réponse s[i], à partir de k et d'un défi m[i], ce dernier étant préalablement 10 produit par le dispositif électronique vérificateur tiers (VD) et réceptionné (132, 142) par les premiers moyens de communication ; o transmettre ladite réponse s[i] produite audit dispositif électronique vérificateur tiers 15 (VD). 2. Procédé selon la revendication précédente, pour lequel P=LQ+1. 20 3. Procédé selon l'une quelconque des revendications précédentes, comportant une étape (12) pour produire des clés respectivement privée x et publique y, de sorte que la clé secrète x soit choisie de manière aléatoire dans RZp* et que la clé publique y 25 consiste en y = g' mod p. 4. Procédé selon la revendication précédente, pour lequel l'étape (12) pour produire des clés provoque en outre une transmission de ladite clé publique y à 47 destination du dispositif électronique vérificateur tiers (VD) par les premiers moyens de communication. 5. Procédé selon l'une quelconque des revendications 5 précédentes, pour lequel l'étape (13, 132) pour élaborer la réponse s[i] consiste à : - produire une composante additionnelle p[i]={0,1}x de À bits, pour une valeur de i donnée comprise entre 1 et L, À étant un 10 paramètre de sécurité entier prédéterminé ; - calculer e[i]=H(m[i],r,p[i]) et s[i]=k-e[i]x mod q[i], H étant une fonction de hachage prédéterminée ; - produire une signature du message m[i] consistant 15 en l'ensemble de valeurs Ir,s[i],p[i]} ; - déclencher la transmission de ladite signature Ir,s[i],p[i]} par les premiers moyens de communication à destination du dispositif électronique vérificateur tiers (VD). 20 6. Procédé selon l'une quelconque des revendications 1 à 4, pour lequel l'étape (14, 143) pour élaborer la réponse s[i] consiste à produire s[i]=k-m[i]x mod q[i] pour une valeur d'index i donnée. 25 7. Procédé selon l'une quelconque des revendications précédentes, comprenant une étape (11) pour produire, choisir et/ou enregistrer dans la première mémoire de données, les paramètres de mise en oeuvre dudit procédé (10), parmi lesquels la valeur du 48 premier p, les valeurs de q[i], pour tout i compris entre 1 et L, ainsi que les valeurs de P et de Q, L étant la partie entière de P/Q. 5 8. Procédé (20) de vérification d'une signature mis en oeuvre par une deuxième unité de traitement d'un dispositif électronique vérificateur (VD) comportant une deuxième mémoire de données et des deuxièmes moyens de communication assurant une communication 10 avec un dispositif électronique prouveur tiers (SD, SDa, SDb) agencé pour produire et transmettre une signature d'un message m[i] selon un procédé (10) conforme à la revendication 5, ladite deuxième mémoire de données et lesdits deuxièmes moyens de 15 communication du dispositif électronique vérificateur coopérant avec ladite deuxième unité de traitement de ce dernier, caractérisé en ce que : - la deuxième mémoire de données enregistre, en tant que paramètres de mise en oeuvre dudit 20 procédé de vérification d'une signature (20), un premier nombre premier p de P bits, L nombres premiers q[1],...,q[L] de Q bits tels que p=2q[11x...xq[L1+1, L étant supérieur à 1, P et Q étant deux entiers, lesdits paramètres étant de 25 valeurs identiques à celles exploitées par ledit dispositif électronique prouveur tiers (SD, SDa, SDb) pour élaborer une signature d'un message ; et en ce que ledit procédé (20) comporte : - une première étape (20a) pour : 49 o recevoir, par les deuxièmes moyens de communication, la valeur d'un index i produite par le dispositif électronique prouveur tiers (SD, SDa, SDb) ; 5 o déclencher l'émission, par les deuxièmes moyens de communication à destination dudit dispositif électronique prouveur tiers (SD, SDa, SDb), la teneur du message m[i] à signer; - une étape (21) pour : 10 o réceptionner par les deuxièmes moyens de communication ladite signature du message m[i], produite par le dispositif électronique prouveur tiers (SD, SDa, SDb) sous la forme d'un ensemble de valeurs Ir,s[i],p[i]}), et 15 o vérifier si s[i] appartient ou non à l'ensemble de valeurs {0,...,q[i]-1} étant donnée la valeur q[i] enregistrée dans la deuxième mémoire de données ; - dans la négative (21n), une étape pour rejeter 20 (23) la signature transmise par le dispositif électronique prouveur tiers (SD, SDa, SDb) ; - dans l'affirmative (21y), une étape (22) pour : o calculer e[i]=H(m[i],r,p[i]), H étant une fonction de hachage prédéterminée et 25 exploitée par le dispositif électronique prouveur tiers (SD, SDa, SDb) pour produire ladite signature ; o vérifier si (eilye[ii/r)(P-1)/q[i]=1 mod p, y étant la clé publique du dispositif 50 électronique prouveur tiers (SD, SDa, ADb), préalablement enregistrée dans la deuxième mémoire de données ; - dans la négative (22n), une étape pour rejeter 5 (23) la signature transmise par le dispositif électronique prouveur tiers (SD, SDa, SDb) ; - dans l'affirmative (22y), une étape pour reconnaître (24) la validité de la signature. 10 9. Procédé (30) d'authentification d'un dispositif électronique prouveur tiers (SD, SDa, SDb) mettant en oeuvre un procédé selon la revendication 6, ledit procédé d'authentification étant mis en oeuvre par une deuxième unité de traitement d'un dispositif 15 électronique vérificateur (VD) comportant une deuxième mémoire de données et des deuxième moyens de communication assurant une communication avec ledit dispositif électronique prouveur tiers (SD, SDa, SDb), ladite deuxième mémoire de données et 20 lesdits deuxièmes moyens de communication du dispositif électronique vérificateur (VD) coopérant avec ladite deuxième unité de traitement de ce dernier, caractérisé en ce que : - la deuxième mémoire de données enregistre, en tant 25 que paramètres de mise en oeuvre dudit procédé de vérification d'une signature (20), un premier nombre premier p de P bits, L nombres premiers q[1],...,q[L] de Q bits tels que p=2q[1]x_xq[L]+1, L étant supérieur à 1, P et Q étant deux entiers, lesdits 51 paramètres étant de valeurs identiques à celles exploitées par ledit dispositif électronique prouveur tiers (SD, SDa, SDb) ; et en ce que ledit procédé (30) comporte : 5 - une première étape (31) pour recevoir par les deuxièmes moyens de communication la valeur d'un index i produite par le dispositif électronique prouveur tiers (SD, SDa, SDb) ; - une étape pour déclencher l'émission, par les 10 deuxièmes moyens de communication à destination dudit dispositif électronique prouveur tiers (SD, SDa, SDb), la teneur d'un message défi m[i] ERZq[ii ; - une étape (33) pour : 15 o réceptionner, par les deuxièmes moyens de communication, une réponse s[i] audit message défi m[i], ladite réponse s[i] étant produite par le dispositif électronique prouveur tiers (SD, SDa, SDb) à partir du message défi m[i] ; 20 o vérifier si la réponse s[i] appartient ou non à l'ensemble de valeurs {0,...,q[i]-1} étant donnée la valeur q[i] enregistrée dans la deuxième mémoire de données ; - dans la négative (33n), une étape pour rejeter 25 (34) la demande d'authentification du dispositif électronique prouveur tiers (SD, SDa, SDb) ; - dans l'affirmative (33y), une étape (35) pour vérifier si (gs[ilym[ii/r) (P-1)/q[i] = 1 mod p, y étant la clé publique du dispositif électronique 52 prouveur tiers (SD, SDa, ADb) préalablement enregistrée dans la deuxième mémoire de données ; - si (35n) (gs[ilym[ii/r) (P-1)/g[i] 1 mod p, une étape 5 pour rejeter (34) la demande d'authentification du dispositif électronique prouveur tiers (SD, SDa, SDb); - si (35y) (gs[ilym[ii/r) (P-1)/q[i] = 1 mod p, une étape pour accepter la demande d'authentification du 10 dispositif électronique prouveur tiers (SD, SDa, SDb). 10. Procédé selon l'une quelconque des revendications 1 à 7, pour lequel l'étape (131, 141) pour produire 15 l'engagement r consiste en un procédé comprenant une étape de pré-calcul. 11. Procédé selon les revendications 5 ou 6, pour lequel la réponse s[i] est un polynôme multivarié 20 s[i] = Polynôme(r, m[i], p[i], x, k, e[i]) modulo q[i] dans r, m[i], p[i], x, k, e[i] où e[i] est un haché cryptographique de r, m[i] et/ou p[i]. 12. Produit programme d'ordinateur comportant des 25 instructions de programme qui, lorsqu'elles sont : - préalablement enregistrées dans une première mémoire de programmes d'un dispositif électronique prouveur (SD, SDa, SDb) comportant en outre une première unité de 30 traitement agencée pour interpréter lesdites 53 instructions, une première mémoire de données, des premiers moyens de communication assurant une communication avec un dispositif électronique vérificateur tiers (VD), 5 lesdites premières mémoires de données et de programmes et lesdits premiers moyens de communication coopérant avec ladite première unité de traitement ; - exécutées ou interprétées par ladite première 10 unité de traitement, provoquent la mise en oeuvre d'un procédé (10) selon l'une quelconque des revendications 1 à 7. 13. Produit programme d'ordinateur comportant des 15 instructions de programme qui, lorsqu'elles sont : - préalablement enregistrées dans une deuxième mémoire de programmes d'un dispositif électronique vérificateur (VD) comportant en outre une deuxième unité de traitement 20 agencée pour interpréter lesdites instructions, une deuxième mémoire de données, des deuxièmes moyens de communication assurant une communication avec un dispositif électronique prouveur tiers 25 (SD, SDa, SDb), lesdites deuxièmes mémoires de données et de programmes et lesdits deuxièmes moyens de communication coopérant avec ladite deuxième unité de traitement ; - exécutées ou interprétées par ladite deuxième 30 unité de traitement, provoquent la mise en oeuvre d'un procédé (20) de vérification de signature selon la revendications 8. 54 14. Produit programme d'ordinateur comportant des instructions de programme qui, lorsqu'elles sont : - préalablement enregistrées dans une deuxième mémoire de programmes d'un dispositif 5 électronique vérificateur (VD) comportant en outre une deuxième unité de traitement agencée pour interpréter lesdites instructions, une deuxième mémoire de données, des deuxièmes moyens de 10 communication assurant une communication avec un dispositif électronique prouveur tiers (SD, SDa, SDb), lesdites deuxièmes mémoires de données et de programmes et lesdits deuxièmes moyens de communication coopérant 15 avec ladite deuxième unité de traitement ; - exécutées ou interprétées par ladite deuxième unité de traitement, provoquent la mise en oeuvre d'un procédé (30) d'authentification selon la revendication 9. 20 15. Dispositif de signature ou prouveur (SD, SDa, SDb) comportant une première unité de traitement, une première mémoire de données, une première mémoire de programmes, des premiers moyens de communication 25 assurant une communication avec un dispositif électronique vérificateur tiers (VD), lesdites premières mémoires de données et de programmes et lesdits premiers moyens de communication coopérant avec ladite première unité de traitement, 30 caractérisé en ce que ladite première mémoire de programmes comporte les instructions d'un produit programme d'ordinateur selon la revendication 12 et en ce que ladite première unité de traitement est 55 agencée pour interpréter les instructions dudit produit programme d'ordinateur. 16. Dispositif de vérificateur de signature (VD) 5 comportant une deuxième unité de traitement, une deuxième mémoire de données, une deuxième mémoire de programmes, des deuxièmes moyens de communication assurant une communication avec un dispositif électronique prouveur tiers (SD, SDa, 10 SDb), lesdites deuxièmes mémoires de données et de programmes et lesdits deuxièmes moyens de communication coopérant avec ladite deuxième unité de traitement, caractérisé en ce que ladite deuxième mémoire de programmes comporte les 15 instructions d'un produit programme d'ordinateur selon la revendication 13 et en ce que ladite deuxième unité de traitement est agencée pour interpréter les instructions dudit produit programme d'ordinateur. 20 17. Dispositif d'authentification (VD) comportant une deuxième unité de traitement, une deuxième mémoire de données, une deuxième mémoire de programmes, des deuxièmes moyens de communication assurant une 25 communication avec un dispositif électronique prouveur tiers (SD, SDa, SDb), lesdites deuxièmes mémoires de données et de programmes et lesdits deuxièmes moyens de communication coopérant avec ladite deuxième unité de traitement, caractérisé en 30 ce que ladite deuxième mémoire de programmes comporte les instructions d'un produit programme d'ordinateur selon la revendication 14 et en ce que ladite deuxième unité de traitement est agencée 56 pour interpréter les instructions dudit produit programme d'ordinateur. 18. Système de signature, d'identification et/ou 5 d'authentification comportant un premier dispositif électronique de signature ou prouveur (SD, SDa, SDb) selon la revendication 15 et un deuxième dispositif électronique vérificateur de signature ou d'authentification (VD) selon la revendication 10 16 ou la revendication 17, lesdits premier et deuxième dispositifs coopérant via des premiers et deuxièmes moyens de communication respectifs. 19. Procédé de signature et d'identification mis en 15 oeuvre par les unités de traitement respectives d'un premier dispositif électronique prouveur (SD, SDa, SDb) et d'un deuxième dispositif électronique vérificateur (VD) d'un système de signature et d'identification selon la revendication précédente, 20 comportant une première étape pour produire, par le premier dispositif électronique prouveur (SD, SDa, SDb), une signature Ir,s[i],p[i]} d'un message m[i] selon un procédé (10) conforme à la revendication 5 et une deuxième étape pour vérifier la validité de 25 ladite signature par le deuxième dispositif électronique vérificateur (VD) selon un procédé de vérification de signature (20) conforme à la revendication 8. 30 20. Procédé d'authentification mis en oeuvre par les unités de traitement respectives d'un premier dispositif électronique prouveur (SD, SDa, SDb) et d'un deuxième dispositif électronique vérificateur 57 (VD) d'un système de signature et d'identification selon la revendication 18, comportant une étape pour produire, par le premier dispositif électronique prouveur (SD, SDa, SDb), une réponse 5 s[i] à un défi m[i] selon un procédé conforme à la revendication 6 et une deuxième étape pour accepter ou rejeter une authentification par le deuxième dispositif électronique vérificateur (VD) selon un procédé d'authentification conforme à la 10 revendication 9.