FR 2738438 A1 19970307 FR 9613644 A 19961108 La présente invention concerne un système d'identification d'une large variété d'applications basé sur la sécurité selon la difficulté à résoudre des problèmes logarithmiques discrets, un système de signature unique ou multi-numérique fournissant une récupération de message, un système de signature unique ou multi-numérique à annexe, un échange de clé, et un système de signature numérique aveugle. En particulier, la présente invention concerne un système d'identification qui permet à une personne à authentifier o10 d'identifier sa propre identité à un vérificateur plus explicitement et empêche déjà l'information d'authentifica- tion utilisée d'être réutilisée, un système d'échange de clé qui utilise une clé secrète commune entre deux utilisateurs de façon à ne pas permettre à une personne non autorisée de la découvrir, un système de signature numérique fournissant une récupération de message et un système de signature numérique à annexe pour produire une signature numérique d'un type à récupération de message ou d'un type à annexe selon la taille d'un message à signer, un système de signa- ture multi-numérique pour permettre à de multiples signatai- res d'engendrer des signatures numériques par rapport au même message et à les produire dans un type à récupération de message ou un type à annexe selon la taille du message signé, et un système de signature numérique aveugle pour produire une signature numérique quand un message à signer ne doit pas être ouvert au public et, en conséquence, qu'un signataire ne connaît pas le contenu de celui-ci. Avec le développement de la science et de la technologie des semiconducteurs, les ordinateurs se sont largement répandus et l'échange d'informations par l'intermédiaire de réseaux d'ordinateurs augmente de façon drastique. Pour cette raison, il est nécessaire de protéger l'information, telle que l'identification d'une contrepartie pour échanger de l'information avec celle-ci, la source d'informations échangée, et son statut de stockage, avant d'échanger de l'information. Alors que la société actuelle entre dans la société d'informations dans laquelle l'information sera reconnue comme un bien, l'information à transférer par les réseaux de communication publics devient plus importante. En conséquence, les dommages croissent du fait d'une exposition ou altération illégale de l'information. Contre ces dommages, il est d'intérêt croissant de protéger l'information circulant à travers les lignes de communica- tion, telles que les réseaux de communication publics, et des études sur la protection de l'information sont active- ment menées. Par exemple, on a suggéré des systèmes d'identification pour permettre à une contrepartie de communication ou une source de données reçues d'être confirmée quand de l'information a été échangée à travers une variété de lignes de communica- tion, telles que des réseaux de communication publics, et des systèmes de signature numérique pour permettre une signature de séquences binaires codées par un auteur sur un document électronique dans chacun des terminaux avant son traitement de communication, à la place d'une signature manuelle sur un document en papier. Les systèmes de signa- ture numérique permettent à la source du document transmis d'être identifiée, ainsi que de reconnaître son contenu et si le document est illégalement altéré ou non. Dans le système d'identification et les systèmes de signa- ture numérique, en supposant que p est un grand nombre premier, q est un nombre premier pour diviser p-l, g est un iême nombre naturel ayant un reste 1 obtenu en divisant sa qième puissance par p(=gq mod p), g étant entre 1 et p, alors g, q et p sont des coefficients de système communément utilisés par des utilisateurs. Si chaque utilisateur choisit arbitrairement un nombre s entre 1 et q comme une clé secrète et utilise comme une clé publique un reste v(=g-s mod p) obtenu en divisant la -sime puissance de g par p, les coefficients publics utilisés par les utilisateurs respectifs sont v, g, q et p. Il est difficile de découvrir la clé secrète s à partir de ces coefficients publics et cela est équivalent à la diffi- culté de calculer une solution de logarithmes discrets. De nombreux systèmes d'identification à clés publiques et systèmes de signature numérique sont basés sur la sécurité à partir du fait que les logarithmes discrets sont difficiles à calculer. Pour de tels systèmes de signature numérique, on peut les classifier en un système de signature numérique à annexe, un système de signature numérique fournissant une récupération d'un message, et un système de signature numérique hybride utilisant ces méthodes en combinaison. Le système de signature numérique à annexe est une méthode dans laquelle une signature numérique engendrée est attachée à la fin d'un message à signer. Cette signature est traitée par paire avec le message signé. Le système de signature numérique fournissant une récupération de message doit restaurer un message signé à partir d'une signature numéri- que en conséquence de la validité de la signature engendrée. Un vérificateur confirme le contenu du message restauré de façon à vérifier la validité de la signature numérique. Dans le système de signature numérique hybride utilisant le type à annexe et le type à récupération de message en combinaison, une signature numérique est engendrée pour un message dans le type à annexe ou le type à récupération de message, de façon appropriée, selon la longueur (flux de données binaires) du message signé ou le but de la signature. Pour un message d'une courte longueur, le système de signature numérique hybride utilise la méthode de récupé- ration de message de sorte que les données pour vérifier la signature numérique sont réduites et, à son tour, la quanti- té de communication requise est également réduite. Pour un message d'une grande longueur, la méthode à annexe est utilisée tout en incluant l'information concernant le message. Comme indiqué ci-dessus, le système de signature hybride est caractérisé par la génération, de façon adapta- ble, d'une signature numérique selon la longueur d'un message signé. Schnorr a révélé un système d'identification et un système de signature numérique basés sur la sécurité du problème des logarithmes discrets en 1989. Le système de signature numérique suggéré par Schnorr, qui est un système de signa- ture numérique à annexe, introduit une fonction de conver- sion au système de signature numérique suggéré par Elgamal en 1985, de façon à simplifier la procédure pour engendrer et vérifier la signature numérique. De plus, ce système diminue la taille de la signature numérique engendrée. Le système d'identification proposé par Schnorr utilise la même structure algorithmique que le système de signature numérique, et authentifie l'identité d'une personne à une contrepartie de communication. Le système d'identification proposé par Schnorr dans lequel un utilisateur à authenti- fier A authentifie son identité à un vérificateur B sera maintenant décrit. Si les coefficients de système de l'utilisateur à authenti- fier sont g, q et p, la clé secrète est s(l égaux l'un à l'autre. Dans le système de signature numérique à annexe proposé par Schnorr, si un message à signer est m, un signataire A choisit un nombre arbitraire r entre 1 et q et calcule un reste x(=gr mod p) obtenu en divisant la rième puissance de g par p. Le message m et le x calculé sont appliqués à la fonction de conversion pour fournir e(=h(x,m)). Le signa- taire A calcule un reste y(=r+se mod q) obtenu en divisant, par q, r ajouté au produit de s par e. Alors, (e,y) est la signature numérique à annexe pour le message m. La validité de la signature numérique (e,y) à annexe pour le message m peut être facilement vérifiée et sera expliquée ci-dessous. En fait, si la signature numérique à annexe du signataire A pour le message m est (e,y), le vérificateur B calcule un reste x'(=gyve mod p) obtenu en divisant par p le produit de la yième puissance de g par la eième puissance de v qui est la clé publique du signataire A. Le reste x' et le message m sont appliqués à la fonction de conversion pour fournir e'(=h(x',m)). La validité de la signature numérique (e,y) à annexe du signataire A est vérifiée en confirmant que e' et e sont les mêmes. Entre-temps, Nyberg et Rueppel ont proposé un système de signature numérique fournissant une récupération de message basé sur la sécurité du problème des logarithmes discrets en 1993. Ce système de signature numérique fournissant une récupération de message produit une signature numérique pour un message et, de plus, si les mêmes coefficients de système sont utilisés par les deux parties en communication, peut produire une clé de session comme leur clé secrète en utilisant le même algorithme que la signature numérique. Le système de signature numérique fournissant une récupération de message de N-R (Nyberg-Rueppel) sera maintenant décrit. On suppose que les coefficients de système du signataire sont g, q et p, la clé secrète est s(l est v(=g-s mod p), et le message à signer est m. Le signa- taire choisit un nombre arbitraire r entre 1 et q, et calcule un reste x(=mg r mod p) obtenu en divisant par p le ième pisned.L produit du message m par la -rième puissance de g. Le signataire ajoute r à la clé secrète s multipliée par x pour fournir r+sx et calcule un reste y(=r+sx mod q) obtenu en divisant r+sx par q. Puis, (x,y) est la signature numérique fournissant la récupération de message pour le message m. Pour vérifier la signature numérique (x,y), le vérificateur calcule un reste (=xgYvX mod p) obtenu en divisant par p le i ème ième produit de x par la yième puissance de g et par la xième puissance de v, pour récupérer le message m. Le vérificateur vérifie la validité de la signature numérique (x,y) en confirmant le contenu du message récupéré m. Maintenant, l'échange de clé sera décrit dans lequel une clé de session est produite entre des utilisateurs utilisant le même algorithme comme le système de signature numérique N-R. On suppose que les utilisateurs A et B utilisent en commun des coefficients de système g, q, et p, la clé secrète de l'utilisateur A est sA' sa clé publique est vA(=g SA mod p), la clé secrète de l'utilisateur B est SB, et sa clé publique est vB (=g -B mod p). Quand une clé de session est destinée à être produite entre des utilisateurs A et B, l'utilisateur A choisit des nombres arbitraires R et r entre 1 et q. et calcule x=gRg-r mod p et y=r+sA mod q. Les résultats du calcul (x,y) sont envoyés à l'utilisateur B. L'utilisateur A R _sB)Rmop)otnen calcule la clé de session K(=(vB) =(g B) mod p) obtenue en divisant par p la Rième puissance de la clé publique de -s l'utilisateur B vB(=g -B mod p). L'utilisateur B calcule g R(=xgyvA mod p) à partir de (x,y) A R reçu de l'utilisateur A, en restaurant gR, et calcule le reste K(=(gR) SB mod p) obtenu en divisant par p la -sBième puissance de gR En conséquence, les utilisateurs A et B peuvent engendrer une clé de session K entre eux par trans- mission/réception en une fois. Pour un autre échange de clé basé sur la sécurité du pro- blême des logarithmes discrets, il a été suggéré la méthode d'échange de clé de Diffe-Hellman pour engendrer une clé de session entre deux utilisateurs. Dans cette méthode, en supposant que deux utilisateurs A et B utilisent g, q, et p comme coefficients de système, les utilisateurs A et B choisissent des nombres arbitraires a et b entre 1 et q, respectivement, et calculent ga et gb. S'ils sont échangés, les utilisateurs A et B ont communément K(=(ga)b=(gb)a mod p). Dans le système d'identification usuel, il est difficile d'obtenir une information relative à l'utilisateur à authen- tifier du fait que l'identification est réalisée sur la base de la sécurité du système d'identification utilisé, sans information de l'utilisateur à authentifier, telle que l'identité, le temps d'identification, et le système de l'utilisateur, tandis que l'identité de l'utilisateur à authentifier est confirmée comme correcte. Dans la récupéra- tion de message du système de signature numérique, une redondance artificielle est utilisée pour doubler la taille globale de la signature et augmenter ainsi la charge trai- tée. Dans le type à annexe, seule la vérification de la signature est réalisée et l'information relative à la signature est limitée à obtenir. De plus, le système de signature unique est difficile à étendre aux systèmes de signature multiple, aux échanges de clé, ou au système de signature numérique aveugle. En conséquence, de façon à éviter les inconvénients de l'art antérieur, c'est un premier objet de la présente invention de fournir un système d'identification dans lequel un utilisateur à authentifier offre plus d'informations à un vérificateur et l'information d'identification déjà utilisée ne peut pas être réutilisée. Des deuxième et troisième objets de la présente invention sont de fournir un procédé dans lequel une signature numéri- que est engendrée dans le type à récupération de message ou le type à annexe selon la longueur d'un message à signer, la longueur des flux binaires. C'est un quatrième objet de la présente invention de fournir un échange de clé dans lequel deux utilisateurs utilisent une clé secrète commune de sorte qu'ils l'échangent sans permettre à une personne non autorisée de la connaître. Des cinquième et sixième objets de la présente invention sont de fournir un système de signature multi-numérique fournissant une récupération de message ou à annexe, dans lequel une signature numérique est engendrée dans le type à récupération de message ou le type à annexe selon la taille d'un message à signer, la longueur des flux binaires, et des signataires multiples peuvent engendrer leurs signatures pour le même message. Un septième objet de la présente invention est de fournir un système de signature numérique aveugle dans lequel une signature numérique est engendrée même quand le contenu d'un message signé n'est pas disponible au signataire. Pour le premier objet de la présente invention, il est prévu un procédé pour authentifier l'identité d'un utilisateur quand les coefficients de système sont g, q et p. comprenant les étapes de: - (pour un utilisateur à authentifier) choisir un nombre arbitraire r, obtenir g-r, établir une information d'au- thentification I incluant l'identité de l'utilisateur à authentifier et un temps courant, transmettre un reste x(=Igr mod p) obtenu en divisant par p le produit de l'information d'authentification I par la - rième puissance de g à un vérificateur; - (pour le vérificateur) recevoir x de l'utilisateur à authentifier et transmettre un nombre arbitraire e audit utilisateur à authentifier; -(pour l'utilisateur à authentifier) appliquer le reste x et le nombre arbitraire e à une fonction de conversion pour fournir h(x,e), calculer un reste y(=r+ah(x, e) mod q) obtenu en divisant par q le nombre arbitraire r utilisé dans le calcul de x et ajouté au produit de h(x,e) par la clé secrète a; et - (pour le vérificateur) recevoir y, appliquer le reste x et le nombre arbitraire e à la fonction de conversion pour fournir h(x,e), récupérer l'information d'authentification I contenue dans le reste x en calculant un reste xgYvh(x'e) mod p obtenu en divisant par p le produit du reste x par la yième puissance de g et par la [h(x,e)]îême puissance de la clé publique v de l'utilisateur à authentifier, et authentifier l'identité de l'utilisateur à authentifier en confirmant le contenu de l'information d'authentification récupérée I. Pour le deuxième objet de la présente invention, il est prévu, dans un procédé pour engendrer une signature numéri- que pour un message m, quand les coefficients de système sont g, q et p, un système de signature numérique fournis- sant une récupération de message comprenant les étapes de: - (pour un signataire) choisir un nombre arbitraire r, obtenir g -r, et calculer un reste x(=mg-r mod p) obtenu en divisant par p le produit de g-r par le message m; - appliquer le reste x et l'identification du signataire ID à une fonction de conversion pour fournir h(x,ID), et calculer un reste y(=r+ah(x,ID) mod q) obtenu en divisant par q le nombre arbitraire r utilisé dans le calcul de x et ajouté au produit de h(x,ID) par la clé secrète a pour engendrer ainsi une signature numérique (x,y); et - (pour un vérificateur) appliquer le reste x et l'identifi- cation du signataire ID à la fonction de conversion pour fournir h(x, ID), récupérer le message m contenu dans le reste x en calculant un reste xgYvh(x'ID) mod p obtenu en divisant par p le produit du reste x par la yième puis- sance de g et par la [h(x,ID)]ième puissance de la clé publique v du signataire, et vérifier la validité de la signature numérique pour le message m en confirmant le contenu du message récupéré m. Pour le troisième objet de la présente invention, il est prévu, dans un procédé pour engendrer une signature numéri- que pour un message m, quand les coefficients du système sont g, q et p, un système de signature numérique à annexe comprenant les étapes de: (1) (pour un signataire) appliquer le message m et l'identi- fication ID à une fonction de conversion pour obtenir h(ID,m), choisir un nombre arbitraire r, obtenir g-r, et calculer un reste x(=h(ID,m)g-r mod p) obtenu en divi- sant par p le produit de g-r par h(ID,m); (2) appliquer le reste x et le message m à la fonction de conversion pour fournir h(x,m), et calculer un reste y(=r+ah(x,m) mod q) obtenu en divisant par q le nombre arbitraire r utilisé dans le calcul de x et ajouté au produit de h(x,m) par la clé secrète a pour engendrer ainsi une signature numérique (x,y); et (3) (pour un vérificateur) appliquer le reste x et le message m à la fonction de conversion pour fournir h(x,m), récupérer une valeur de fonction de conversion h(ID,m) du message m contenu dans le reste x en cal- culant un reste xgYvh(x'm) mod p obtenu en divisant par ième p le produit du reste x par la yme puissance de g et par la [h(x, m)]ième puissance de la clé publique v du signataire; et (4) vérifier la validité de la signature numérique pour le message m en confirmant si la valeur de la fonction de conversion du message est égale à h(ID,m) obtenu en appliquant ID du signataire et le message m à la fonc- tion de conversion. Pour le quatrième objet de la présente invention, il est prévu, dans le cas o deux utilisateurs A et B (utilisateur à authentifier et vérificateur) engendrent une clé secrète commune, un procédé d'échange de clé comprenant les étapes de: - (pour l'utilisateur A) engendrer des nombres arbitraires R et r, obtenir la Rième puissance de g, et calculer un reste x(=gRg-r mod p) obtenu en divisant par p le produit de gR par la -rième puissance de g; a-a - (pour l'utilisateur A) calculer un reste k(=vBa=g ab mod i ème p) obtenu en divisant la aime puissance de la clé publi- que vB de l'utilisateur B par p. appliquer x et k à une fonction de conversion pour obtenir h(x,k), et calculer un reste y(=r+ah(x,k) mod q) obtenu en divisant par q un nombre arbitraire r ajouté au produit de h(x,k) par la clé secrète a pour transmettre le résultat à l'utilisateur B; - (pour l'utilisateur A) calculer comme une clé de session un reste K(=vBR=(g -b)R mod p) obtenu en divisant la Rième puissance de la clé publique vB de l'utilisateur B par p, et (pour l'utilisateur B) calculer un reste k(=vAb=g-ab mod p) obtenu en divisant la bime puissance de la clé publique vA de l'utilisateur A par p; et - (pour l'utilisateur B) à partir de (x,y) reçu de l'utili- sateur A, calculer un reste gR(=xgYVAh(xk) mod p) obtenu (xVA mo p btn en divisant par p le produit de la yieme puissance de g par la h(x,k)ième puissance de la clé publique vA de l'utilisateur A et par x, et (pour l'utilisateur B) calculer un reste K(=(gR)-b mod p) obtenu en divisant la -bième puissance de gR par p pour obtenir une clé de session. Pour le cinquième objet de la présente invention, il est prévu, dans un système de signature numérique pour des signataires multiples engendrant une série de signatures numériques pour un message m, un système de signature multi-numérique fournissant une récupération de message, comprenant les étapes de: (1) (pour un signataire initial de signataires multiples) choisir un nombre arbitraire r1 et calculer un reste xl(mg-rl mod p) obtenu en divisant par p le produit de g 1 par le message m; (2) appliquer x1 et l'identification du signataire ID1 à une fonction de conversion pour obtenir h(xl,ID1), et calculer un reste yl(=rl+alh(xl,ID1) mod q) obtenu en divisant par q le nombre arbitraire r1 ajouté au produit de h(xl,ID1) par la clé secrète a1 pour ainsi réaliser une signature numérique (xl,yl) pour le message m; (3) (pour le iième signataire (ik2)) choisir un nombre arbitraire riet calculer un reste xi(=xi g ri mod p) obtenu en divisant par p le produit de g i par xi_1, appliquer xi et l'identification du signataire IDi à une fonction de conversion pour obtenir h(xi,IDi), et calculer un reste yi(=ri+aih(xi, IDi) mod q) obtenu en divisant par q le nombre arbitraire ri ajouté au produit de h(xi,IDi) par la clé secrète ai pour réaliser ainsi une signature numérique (xi,yi) pour le message m; et (4) confirmer si les signataires multiples engendrent tous leurs signatures numériques respectives, s'il existe une personne quelconque qui ne signe pas, retourner à l'étape (3) et, sinon, engendrer une signature numérique finale (Yl,' Y2' Y3' ' Yn-l' Yn' Xn); et - (pour un vérificateur) recevoir ladite signature multi- numérique (Yl' Y2' '', Yn-l' Yn' Xn) et les identifica- tions IDi des signataires, récupérer la signature numérique initiale (xl,yl) partant de Xn récupéré à partir de (Xnyn) utilisant xigYivih(xi'IDi) mod p, récupérer le message m de (xl,yl), pour vérifier la validité de la signature numérique. Pour le sixième objet de la présente invention, il est prévu, dans un système de signature numérique pour des signataires multiples engendrant une série de signatures numériques pour un message m, un système de signature multi-numérique à annexe comprenant les étapes de: (1) (pour un signataire initial de signataires multiples) appliquer le message m et l'identification ID1 à une fonction de conversion pour obtenir h(IDl,m), et fournir Il(=h(IDl,m), phrase de description, temps courant) incluant h(IDl,m), phrase de description pour le message m, temps courant; (2) choisir un nombre arbitraire rl, et calculer xl(=Ilg-rl mod p) et yl(=rl+alh(xlm) mod q) pour ainsi engendrer une signature numérique (xl,yl); (3) (pour le iieme signataire (ik2)) recevoir ladite signa- ture numérique (xi,yi) et ledit message m fournissant Ii(=Yil, phrase de description, temps courant) incluant Yi1-' la iième phrase de description pour le message m, le temps courant, choisir un nombre arbitraire ri, et -r. calculer xi(=Iig -ri mod p) et y (=ri+a h(xî,m) mod q) ' i èmi pour ainsi engendrer une i signature numérique s (xi,yi); (4) confirmer si les signataires multiples engendrent tous leurs signatures numériques respectives, s'il y a une personne quelconque qui ne signe pas, retourner à l'étape (3) et, sinon, engendrer une signature numérique finale (xl, x2, x3,..., Xn-l' Xn Yn); et - (pour un vérificateur) recevoir ladite signature multi- numérique (x!, x2, x3,..., Xnl, Xn, yn), ledit message m et l'identification ID1 du premier signataire, récupé- rer la signature numérique initiale (xl,yl) partant de Yn-1 récupéré à partir de (Xn,Yn) utilisant xigYiv h(xim) mod p, pour vérifier la validité de la signature multi-numérique confirmant si h(ID!,m) de Il récupéré de (xl,yl) est égal à h(IDl,m) obtenu par le calcul du vérificateur. Pour le septième objet de la présente invention, il est prévu, dans un système de signature numérique pour engendrer une signature numérique pour un message électronique m, quand les coefficients de système sont g, q et p et une clé -a publique du signataire est vA(=g A mod p), un système de signature numérique aveugle comprenant les étapes de: - (pour un vérificateur) choisir un nombre arbitraire rB, calculer un reste xB(=mv rB mod p) obtenu en divisant par p le produit de la rBie puissance de la clé publique vA(=g-aA mod p) du signataire par le message m, et trans- mettre xB au signataire; - (pour le signataire) choisir un nombre arbitraire rA, calculer un reste xA(=mvArBg-rA mod p) obtenu en divisant par p le produit de la -rAième puissance de g par xB reçu, et transmettre xA au vérificateur; - (pour le vérificateur) appliquer xA reçu du signataire et le message m à la fonction de conversion pour obtenir h(xA,m), et calculer un reste yB(=h(xA,m)+rB mod q) obtenu en divisant par q le nombre arbitraire rB ajouté à h(xA,m), et transmettre yB au signataire; et - (pour le signataire) calculer un reste yA(=rA+yBaA mod q) obtenu en divisant par q le nombre arbitraire rA ajouté au produit de YB reçu par la clé secrète aA pour ainsi transmettre YA au vérificateur; et (pour le vérificateur) recevoir une signature aveugle (XAYA) pour le message m; et - de façon à vérifier la signature numérique engendrée, (pour le vérificateur) calculer un reste xAgYAvAh(XA'm) mod p obtenu en divisant par p le produit de la h(xA,m)ime puissance de vA par la yAième puissance de g et par XA, pour vérifier ainsi la validité de la signature numérique (xA,yA) du signataire A en récupérant le message m et en confirmant son contenu. Pour une brève description, la présente invention présente une variété d'applications basée sur la sécurité de la difficulté du calcul du problème des logarithmes discrets. En particulier, le système d'identification permet à un utilisateur à authentifier de fournir plus d'information supplémentaire à un vérificateur, de sorte que l'utilisateur à authentifier peut prouver sapropre identité de façon plus certaine au vérificateur. En d'autres termes, de façon à permettre au vérificateur d'authentifier l'identité de l'utilisateur à authentifier, l'information d'identification inclut son identification, la date et le temps courant, et l'information sur un système couramment utilisé. Par rapport à d'autres systèmes d'iden- tification, ce procédé de la présente invention offre plus d'information au vérificateur pour une capacité de distinction plus élevée pour authentifier l'identité de l'utilisateur à authentifier. Le système de signature numérique de la présente invention est un type hybride dans lequel une signature numérique est engendrée dans un type à récupération de message ou un type à annexe selon la taille (flux de données binaires) d'un message à signer, le système étant éventuellement utilisé comme un système d'échange de clé. Dans le cas o une signature est engendrée dans le type à récupération de message, l'information récupérée comme un résultat de vérification de la signature numérique inclut la phrase de description du signataire pour le message et la date ou le temps pour signer, de sorte que le vérificateur peut obtenir le temps pour signer et l'information supplémentaire du signataire pour le message. Dans les systèmes de signature multi-numérique de la pré- sente invention, plusieurs signataires peuvent engendrer une série de signatures numériques pour le même message ou document sur l'organisation hiérarchique du travail et, dans le système de signature numérique aveugle de la présente invention, le signataire engendre une signature numérique pour un message sans connaître son contenu dans le cas o un document est présenté à un bureau ou enregistrement de légalisation, mais ne doit pas être ouvert au public. Les figures du dessin annexé feront bien comprendre comment l'invention peut être réalisée. La figure 1 illustre un système d'identification conformé- ment à la présente invention. Les figures 2A et 2B montrent des systèmes de signature numérique conformément à la présente invention. La figure 3 illustre la génération d'une signature aveugle conformément à la présente invention. Ci-après, des réalisations préférées de la présente inven- tion sont décrites en référence au dessin annexe. En se référant à la figure 1 montrant un système d'identifi- cation de la présente invention, on suppose que g, q et p sont des coefficients du système, p est un grand nombre premier, q est un autre grand nombre premier pour diviser p-l, g est un nombre naturel ayant un reste 1 obtenu en o divisant sa qime puissance par p(=gq mod p), g étant entre i et p. Chaque utilisateur choisit arbitrairement un nombre naturel a entre 1 et q comme clé secrète, utilise v(=ga mod p) comme clé publique, et utilise communément h comme une fonction de conversion. Chacun des utilisateurs reçoit une identification (ID) d'un flux binaire à partir d'un centre d'authentification de clé dans l'enregistrement d'utilisa- tion de la présente invention (référence 1). Comme montré sur le dessin, dans le système d'identification de la présente invention dans lequel un utilisateur à authentifier A prouve son identité à son vérificateur B, l'utilisateur A choisit un nombre arbitraire r entre 1 et q ième -r et calcule la -r puissance de g pour obtenir g. L'utilisateur A établit l'information I(=IDA, date et temps signés, adresse du terminal utilisé, etc...) incluant son identification IDA, la date et le temps signés, une adresse de l'ordinateur hôte ou une adresse nodale indiquant la position d'un terminal utilisé et analogue, et transmet x(=Ig-r mod p) obtenu en divisant par p le produit de I par g-r, au vérificateur B (référence 2). Si x est reçu à partir de l'utilisateur à authentifier A, le vérificateur B choisit un nombre arbitraire e entre 1 et q et transmet le nombre arbitraire e à l'utilisateur à authentifier A. L'utilisateur A applique e et x & la fonc- tion de conversion pour fournir h(x,e). L'utilisateur A transmet y(=r + ah(x,e) mod q) obtenu en divisant par q le nombre arbitraire r utilisé dans le calcul de x et ajouté au produit de h(x,e) par la clé secrète a, au vérificateur B (référence 3). Si y est reçu de l'utilisateur à authentifier A, x et e sont entrés dans la fonction de conversion pour obtenir h(x,e), et la yième puissance de g est multipliée par la h(x,e)ième puissance de la clé publique v de A. Le vérificateur B récupère l'information d'authentification I en calculant xgYvh(x'e) mod p. Le vérificateur B authentifie l'identité de l'utilisateur à authentifier en confirmant le contenu de l'information d'authentification récupérée I (référence 4). Si nécessaire, l'utilisateur à authentifier remplace I par l'information d'identification 1 inclue dans x de façon à calculer x=g-r mod p, calcule y=r+ah(x,e) mod q pour e reçu du vérificateur, et transmet le résultat à l'utilisateur à authentifier. Ici, pour authentifier l'identité de l'utili- sateur à authentifier, le vérificateur peut confirmer si I est 1, avec I=xgYvh(x'e) mod p. En référence aux figures 2A et 2B montrant des systèmes de signature numérique, comme le système d'identification, on suppose que p est un grand nombre premier, q un autre grand nombre premier pour diviser p-l, g est un nombre naturel ayant un reste 1 obtenu en divisant sa qième puissance par p(=gq mod p), g étant entre 1 et p. Les utilisateurs utili- sent communément g, q et p comme coefficients de système. Chaque utilisateur choisit arbitrairement un nombre naturel a entre 1 et q comme clé secrète, et utilise v(=g-a mod p) comme clé publique. Chacun des utilisateurs reçoit une identification (ID) d'un flux binaire à partir d'un centre d'authentification de clé dans l'enregistrement d'utilisation de la présente invention. Les coefficients publics de chaque utilisateur deviennent g, q, p, v et ID, et h est communément utilisé comme fonction de conversion. A partir de maintenant, on décrira un mécanisme pour engen- drer, par le signataire A, une signature numérique pour le message électronique m dans un type à récupération de message ou un type à annexe selon la taille (le nombre de données binaires) du message m. La figure 2A montre un système de signature numérique fournissant une récupération de message selon la présente invention, qui est réalisée dans le cas o le nombre de données binaires du message m à signer est plus petit que celui du nombre premier p. Un signataire A choisit un nombre arbitraire r entre 1 et q et calcule un reste x(=mg-r mod p) obtenu en divisant par p le produit du message m par la -r èm puissance de g. Le signataire A applique le reste x et son identification IDA à la fonction de conversion pour fournir h(x,IDA), et obtient le reste y(=r+ah(x,IDA) mod q) (référence 5). Ensuite, (x,y) devient une signature numérique fournissant une récupération de message pour le message m. La validité de la signature numérique (x,y) pour le message m peut être vérifiée par quiconque, en identifiant le contenu du message récupéré avec le résultat de la vérification. Ce procédé de vérifica- tion sera expliqué ci-dessous. Pour vérifier la signature numérique (x,y) du signataire A pour le message m, le vérificateur B applique x et l'identi- fication IDA du signataire à la fonction de conversion pour fournir h(x, ID). Le message m est récupéré en calculant un reste xgYvh(XNiDA) mod p obtenu en divisant, par p, le i ême produit de x par la yme puissance de g et par la [h(x,IDA)]ième puissance de la clé publique v(=g-a mod p). Le vérificateur B vérifie la validité de la signature pour le message m en confirmant le contenu du message récupéré m (référence 6). La figure 2B montre un processus d'un système de signature numérique à annexe selon la présente invention, qui est réalisé dans le cas o le nombre de données binaires du message m à signer est plus grand que celui du nombre premier p. Le signataire A applique son identification IDA et le message m à la fonction de conversion pour fournir I(=h(IDA, m)). Le signataire A choisit un nombre arbitraire r entre 1 et q, et calcule un reste x(=Ig-r mod p) obtenu en divisant ilème par p le produit de I par la -rime puissance de g. Le signataire A applique x et le message m à la fonction de conversion pour fournir h(x, m), et obtient y(=r + ah(x,m) mod q). (x,y) ainsi obtenu devient la signature numérique à annexe pour le message m, et est traité comme (m,x, y) avec le message (référence 7). Pour vérifier la signature numérique (m,x,y) du signataire A à annexe pour le message m, le vérificateur B calcule h(x,m) en appliquant x et le message m à la fonction de conversion. I est récupéré en calculant un reste xgYvh(x'm) mod p obtenu en divisant, par p, le produit de x par la yième puissance ième de g et par la [h(x, m,)]ième puissance de la clé publique v du signataire. Le vérificateur B applique l'identification du signataire IDA et le message m à la fonction de conver- sion pour obtenir h(IDA, m). La validité de la signature numérique à annexe pour le message m est vérifiée en confir- mant si h(IDA, m) obtenu est égal à I récupéré (référence 8). Le signataire peut engendrer une signature numérique incluant une information indiquant une phrase de description du signataire pour le message et le temps pour signer. En d'autres termes, le signataire applique son identification ID et le message m à la fonction de conversion pour obtenir h(ID,m). Le signataire annexe la phrase de description pour le message m à h(ID,m). Le signataire établit I(=h(IDA,m), une phrase de description, un temps pour signer) en annexant la description pour le message correspondant et le temps quand la signature numérique est engendrée par un dispositif de calcul, et engendre la signature numérique à annexe. Contrairement au système de signature usuel dans lequel la signature est permise seulement pour le message, cette méthode inclut différents types d'informations pour le message à signer de sorte que le vérificateur peut confirmer la validité de la signature et obtenir une information relative au message avec le résultat de la vérification de la signature. Dans certains cas, il est nécessaire que plusieurs signatai- res engendrent des signatures numériques pour le même message ou un document de travail. Cela est dénommé une signature multi-numérique, qui sera décrite ci-dessous. Tout d'abord, dans un système de signature multi-numérique fournissant une récupération de message, dans lequel la taille d'une signature numérique est réduite pour diminuer le trafic, on suppose qu'un message à signer est m. De façon pour les signataires A, B et C à engendrer une série de signatures numériques pour le message m avec leur identifi- cation IDA, IDB et IDC respectivement, le signataire A choisit un nombre arbitraire rA, et calcule un reste xA(=mg-rA mod p) obtenu en divisant par p le produit de la Aième -rAi puissance de g par le message m. xA et l'identifica- tion IDA du premier signataire avec les identifications IDA, IDBet IDC respectivement sont entrés dans la fonction de conversion pour fournir h(xA,IDA), et un reste yA(=rA+aAh(xA, IDA) mod q) est obtenu en divisant par q le nombre arbitraire rA ajouté au produit de h(xA,IDA) par la clé secrète aA. Par cette procédure, (XA,YA) devient la signature numérique de A pour le message m. Le signataire B choisit un nombre arbitraire rB, et calcule un reste xB(=xAg-rB mod p) obtenu en divisant par p le lème produit de la - rBième puissance de g par le message XA. xB et l'identification IDB du second signataire sont entrés dans la fonction de conversion pour fournir h(xB,m), et un reste yB(=rB+aBh(xB,IDB) mod q) est obtenu en divisant par q le nombre arbitraire rB ajouté au produit de h(xB,IDB) par la clé secrète aB. Par cette procédure, (xB,YB) devient la signature numérique de B pour le message m. Le signataire C choisit un nombre arbitraire rc, et calcule un reste x(=x-g rc mod p) obtenu en divisant par p le u r=Bglème produit de la - rc puissance de g par le message xB. xC et la troisième identification IDC sont entrés dans la fonction de conversion pour fournir h(xcIDc), et un reste yc(=rc+ach(xc,IDc) mod q) est obtenu en divisant par q le nombre arbitraire rC ajouté au produit de h(xc,IDc) par la clé secrète aC. Par cette procédure, (xC,yC) devient la signature numérique de C pour le message m. En conséquence, la signature multi-numérique est engendrée comme (YA,YB,YC,XC)- Dans la vérification de ces signatures numériques, xB est récupéré à partir de la signature numérique (xcyc) de C pour le message m utilisant xcgYCvCh(xC'IDC) mod p, xA est récupéré à partir de la signature numérique de B(xB,yB) pour le message m utilisant xBgYBvBh(XB' IDB) mod p, et le message m est récupéré à partir de la signature numérique (XA,yA) de A utilisant xAgYAvA h(X A' IDA) mod p. En confirmant son contenu et en vérifiant la validité de la signature numéri- que de A, la validité des signatures numériques YA' YB' YC et xc du message récupéré m peut être vérifiée. Selon cette procédure, n signataires peuvent engendrer des signatures multiples Yl, Y2, y3, '' Yn-l' Yn' Xn pour le message m. La signature numérique (xl,1yl) du signataire initial est récupérée en partant de Xnl récupéré de (Xn, yn) en utilisant xigyiVih( i'IDi) mod p. A partir de la signa- ture initiale, le message m est récupéré de (xl,1y) et confirmé pour vérifier la validité de toutes les signatures multiples. Dans le système de signature multi-numérique à annexe, dans lequel des phrases de description et le temps de signer pour les signataires respectifs sont inclus dans un message, le signataire A applique le message met l'identification IDA à la fonction de conversion pour obtenir h(IDA,m), et établit IA(=h(IDA,m), phrase de description et temps courant) incluant la phrase de description de A pour le message m et * le temps courant. Puis, un nombre arbitraire rA est choisi et xA(=IAg-rA mod p) et yA(=rA+aAh(xAm) mod q) sont calcu- lés pour engendrer la signature numérique (xAyA). Le signataire B établit IB(=yA, phrase de description et temps courant) incluant YA' la phrase de description de B pour le message m et le temps courant. Puis, un nombre arbitraire rB est choisi et xB(=IBg-rB mod p) et yB(=rB+aBh(xBm) mod q) sont calculés pour engendrer la signature numérique (xByB). Le signataire C établit Ic(=yB, phrase de description et temps courant) incluant YB' la phrase de description de C pour le message m et le temps courant. Puis, un nombre arbitraire rc est choisi et xc(=Icg - rcmod p) et yc(=rc+ach(xc,m) mod q) sont calculés pour engendrer la signature numérique (xcyc). xA, xB, xC et yC deviennent les signatures numériques multiples à annexe pour le message m. Pour la vérification de ces signatures numériques, le vérificateur récupère YB de la signature (xcyc) utilisant xcgYcvch(xc'm) mod p, et YA à partir de la signature (xByB) utilisant xBgYBvBh(XB'm) mod p de sorte que la validité de la signature numérique (xA,yA) est vérifiée en utilisant xAgYAvAh(xA'm) mod p et est confirmée pour vérifier si h(IDA, m) de IA récupéré de (xA,YA) est égal & h(IDA,m) obtenu par le calcul du vérificateur. Dans les étapes respectives, le vérificateur peut connaître la phrase de description du signataire pour le message et le temps pour engendrer la signature numérique. Selon cette procédure, n signataires peuvent engendrer des signatures multiples x1, x2, X3, ''..., Xn-l Xn' Yn La10 signature numérique (xl,yl) du signataire initial est récupérée en partant de Yn 1 récupéré de (XnYn) utilisant xngYnvnh(xnm) mod p. La signature initiale est confirmée pour vérifier la validité de toutes les signatures multiples si h(IDA,m) de IA récupéré de (xl,yl) est égal à h(IDA,m)15 obtenu par le calcul du vérificateur. La figure 3 illustre la génération d'une signature aveugle de la présente invention, qui est conçue pour réaliser une signature numérique pour un message tandis qu'un signataire ne connaît pas son contenu. Cela est la plupart du temps20 utilisé quand un document est présenté à un bureau de légalisation ou enregistrement pour la légalisation, mais que son contenu ne doit pas être ouvert au public. De façon pour un signataire A à engendrer une signature numérique tandis que le contenu d'un message m n'est pas ouvert au signataire A, le vérificateur B choisit un nombre arbitraire r et calcule la rBième puissance de la clé publique de B -a modr vA(=g-a mod p). Le reste xB(=mvArB mod p) est obtenu en divisant par p le produit de vA B par le message m, et est ensuite transmis au signataire A (référence 10). Le signataire A choisit un nombre arbitraire rA et calcule le reste xA(=mvArBg-rA mod p) obtenu en divisant par p le produit de la -rAleme puissance de g par XB, et ensuite transmis au signataire B (référence 9). Puis, le vérificateur B applique xA reçu du signataire A et le message m à la fonction de conversion pour obtenir h(xA,m). Le reste yB(=h(xA,m)+rB mod q) est obtenu en divisant le nombre arbitraire rB ajouté à h(xA,m) par q, et est ensuite transmis au signataire A. Le signataire A calcule le reste yA(=rA+yBaA mod q) obtenu en divisant par q, YB reçu du vérificateur B, multiplié par la clé secrète aA et ajouté au nombre arbitraire rA, et envoie le résultat au vérificateur B, le vérificateur B reçoit la signature aveugle (xA,yA) pour le message m du signataire A. La signature (xA,yA) est vérifiée par B en calculant m(=xAgYAvh(XA'm) mod p de façon à récupérer le message m et confirmer son contenu. Dans l'échange de clé, si deux utilisateurs A et B utilisent les coefficients du système g, q et p, et la fonction de conversion h, la clé secrète de l'utilisateur A est a, sa clé publique est v (=g-a mod p), la clé secrète de l'utili- A -b sateur B est b, et sa clé publique est vB(=g mod p), un procédé de génération d'une clé secrète commune des utilisa- teurs A et B sera décrit ci-dessous. L'utilisateur A engendre des nombres arbitraires R et r et calcule un reste x(=gRg r mod p) obtenu en divisant par p le produit de la Rième puissance de g par la -rième puissance de g. Ensuite, l'utilisateur A calcule un reste k(=vBa=g ab mod p) obtenu en divisant la aième puissance de la clé publique vB de l'utilisateur B par p, et applique x et k à la fonction de conversion pour obtenir h(x,k). Ensuite, l'utilisateur A calcule un reste y(=r+ah(x,k) mod q) obtenu en divisant par q le nombre arbitraire r ajouté au produit de h(x,k) par la clé secrète a, et calcule, comme une clé de session, un reste K(=vBR=(g b)R mod p) obtenu en divisant la Rième puissance de la clé publique vB de l'utilisateur B par p. b -ab L'utilisateur B calcule k(=vA =g mod p) obtenu en divisant labime puissance de la clé publique vA par p, puis calcule le reste gR=xgYvA h(xk) mod p obtenu en divi- sant par p le produit de la ylem puissance de g par la i éme h(x, k)ième puissance de la clé publique vA de l'utilisateur A et par x. Puis, l'utilisateur B calcule, comme une clé de session, un reste K(=(gR)-b mod p) obtenu en divisant la -bième puissance de la clé publique gR de l'utilisateur B par p. Par cette procédure, les utilisateurs A et B présentent en commun K comme leur clé secrète. Dans l'échange de clé de la présente invention, une tierce personne ne peut pas calculer K à partir des clés publiques vA et vB des utilisateurs A et B du fait que gR ne peut pas être récupéré à partir de l'information (x,y) transmise à l'utilisateur B à partir de l'utilisateur A. Comme décrit ci-dessus, dans le système d'identification de la présente invention, du fait que le temps courant est inclus dans l'information d'identification, tout utilisateur à authentifier ne peut pas utiliser x précédemment utilisé pour un vérificateur, et une personne non autorisée ne peut pas utiliser (x,y) précédemment calculé. Cette invention est difficile à mettre en défaut du fait qu'une personne non autorisée ne peut pas calculer I par rapport à x et un nombre arbitraire e choisi par le vérificateur dans un temps suffisant pour récupérer une identification correcte de l'utilisateur et un temps courant. De plus, cette invention utilise une clé secrète commune entre deux utilisateurs, augmentant la fiabilité du système. Dans les systèmes de signature multi-numérique de la pré- sente invention, plusieurs signataires sont capables d'en- gendrer une série de signatures numériques pour le même message ou document sur l'organisation hiérarchique du travail. Dans le système de signature numérique aveugle de la pré- sente invention, le contenu d'un message n'est pas ouvert au signataire A et le vérificateur B ne peut pas découvrir la clé secrète du signataire A de sorte que le vérificateur B n'est pas capable de contrefaire la signature numérique du signataire A pour le message m. REVENDICATION 1. Procédé d'échange de clé dans le cas o deux utilisateurs A et B (utilisateur à authentifier et vérificateur) engen- drent une clé secrète commune, caractérisé en ce qu'il comprend les étapes de: - (pour l'utilisateur A) engendrer des nombres arbitraires R et r, obtenir la Rime puissance de g, et calculer un reste x(=gRg r mod p) obtenu en divisant par p le produit de gR par la -rième puissance de g; a -ab - (pour l'utilisateur A) calculer un reste k(=vB =gab mod p) obtenu en divisant la aième puissance de la clé publi- que vB de l'utilisateur B par p, appliquer x et k à une fonction de conversion pour obtenir h(x,k), et calculer un reste y(=r+ah(x,k) mod q) obtenu en divisant par q un nombre arbitraire r ajouté au produit de h(x, k) par la clé secrète a pour transmettre le résultat à l'utilisateur B; (pour l'utilisateur A) calculer comme une clé de session R -b R i un reste K(=vBR=(g b)R mod p) obtenu en divisant la Rième puissance de la clé publique vB de l'utilisateur B par p, et (pour l'utilisateur B) calculer un reste k(=vAb=g ab mod p) obtenu en divisant la bième puissance de la clé publique vA de l'utilisateur A par p; et - (pour l'utilisateur B) à partir de (x,y) reçu de l'utili- sateur A, calculer un reste gR(=xgYVAh(x'k) mod p) obtenu en divisant par p le produit de la yime puissance de g i ème par la h(x,k)ième puissance de la clé publique vA de l'utilisateur A et par x, et (pour l'utilisateur B) calculer un reste K(=(gR) mod p) obtenu en divisant la -bième puissance de gR par p pour obtenir une clé de session.