FR2836768A1 - Digital signal formation having digital word generators with assistance/calculation systems producing intermediate respective result transmitting combination system/combining intermediate result. - Google Patents

Digital signal formation having digital word generators with assistance/calculation systems producing intermediate respective result transmitting combination system/combining intermediate result. Download PDF

Info

Publication number
FR2836768A1
FR2836768A1 FR0202596A FR0202596A FR2836768A1 FR 2836768 A1 FR2836768 A1 FR 2836768A1 FR 0202596 A FR0202596 A FR 0202596A FR 0202596 A FR0202596 A FR 0202596A FR 2836768 A1 FR2836768 A1 FR 2836768A1
Authority
FR
France
Prior art keywords
signatory
signature
message
generating data
assistance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0202596A
Other languages
French (fr)
Other versions
FR2836768B1 (en
Inventor
Julien Stern
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cryptolog
Original Assignee
Cryptolog
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cryptolog filed Critical Cryptolog
Priority to FR0202596A priority Critical patent/FR2836768B1/en
Publication of FR2836768A1 publication Critical patent/FR2836768A1/en
Application granted granted Critical
Publication of FR2836768B1 publication Critical patent/FR2836768B1/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3013Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Abstract

The digital signature formation system has a number of digital words generators (k1 to ki). There are a number of systems of assistance (A1 to At) and calculation of an intermediate respective result (r1 to rt) from the previous result and transmit the intermediate result to a combination system (C) combining intermediate results with a combination system.

Description

<Desc/Clms Page number 1> <Desc / Clms Page number 1>

La présente invention concerne un procédé et un dispositif pour former une signature numérique associant de manière exclusive un message de données numériques à une personne physique ou morale, dite signataire du message, qui possède au moins une clé secrète, et destinée à être transmise avec ledit message à au moins une autre personne, dite destinataire du message, devant vérifier le message accompagné de ladite signature. Plus précisément, l'invention concerne les procédés de signature numérique du type comportant les étapes consistant à : - mettre à disposition du système signataire une donnée génératrice, - calculer l'image de ladite donnée génératrice par une transformation réputée non inversible, pour mettre ladite image à disposition du système signataire, - former la signature numérique dans le système signataire à partir de ladite image, ladite donnée génératrice, ladite clé secrète et ledit message.  The present invention relates to a method and a device for forming a digital signature exclusively associating a digital data message with a natural or legal person, said signatory of the message, who has at least one secret key, and intended to be transmitted with said message to at least one other person, said recipient of the message, to verify the message accompanied by said signature. More specifically, the invention relates to digital signature methods of the type comprising the steps of: - making available to the signatory system a generating data, - calculating the image of said generating data by a transformation deemed non-invertible, to put said image available to the signatory system, - forming the digital signature in the signatory system from said image, said generating data, said secret key and said message.

Au sens de l'invention, la signature numérique désigne à la fois un ensemble de données ou codes numériques, c'est-à-dire une chaîne de bits, spécifique à un couple formé du message et du signataire, et un procédé cryptographique pour engendrer une telle chaîne de bits.  For the purposes of the invention, the digital signature designates both a set of data or digital codes, that is to say a bit string, specific to a pair formed by the message and the signer, and a cryptographic method for generate such a string of bits.

Une signature numérique associe de manière exclusive un message de données numériques au signataire et est destinée à être transmise avec le message à au moins un destinataire du message, lequel doit vérifier le message signé, c'est-à-dire le message accompagné de la signature. Au sens de l'invention, on entend par vérification du message signé un ensemble d'opérations tendant à vérifier l'origine du message signé, c'est-à-dire vérifier que le message vient effectivement du signataire et non de quelqu'un qui essaie de se faire passer pour lui, et l'intégrité du message signé, c'est-à-dire vérifier que le contenu du message n'a pas été modifié entre son envoi par le signataire et sa réception par le destinataire. A digital signature exclusively associates a digital data message with the signer and is intended to be transmitted with the message to at least one recipient of the message, who must verify the signed message, ie the message accompanied by the message. signature. For the purposes of the invention, by verification of the signed message is meant a set of operations tending to verify the origin of the signed message, that is to say to verify that the message actually comes from the signatory and not from someone who tries to impersonate himself, and the integrity of the signed message, that is to say that the message content has not been changed between sending it by the signer and receiving it by the recipient.

Au sens de l'invention, un système désigne un système de traitement de données programmable muni de moyens de calcul, de moyens de mémorisation et d'une interface de communication pour échanger des données. Toute personne voulant appliquer un procédé de signature numérique, en tant que signataire et/ou en tant que destinataire-  Within the meaning of the invention, a system designates a programmable data processing system provided with calculation means, storage means and a communication interface for exchanging data. Anyone wishing to apply a digital signature process, as a signatory and / or as a recipient

<Desc/Clms Page number 2><Desc / Clms Page number 2>

vérifieur, doit évidemment utiliser un tel système. Par la suite, on identifie donc tout signataire et tout destinataire aux systèmes qu'ils utilisent, désignés respectivement par les expressions système signataire et système destinataire.
Une signature numérique est indépendante du destinataire et vérifiable par n'importe quel destinataire recevant le message accompagné de sa signature, et donc en particulier par une autorité judiciaire ou d'arbitrage. Cette caractéristique de la signature numérique, qui la distingue notamment des simples procédés cryptographiques d'authentification, permet de mettre en oeuvre une interdiction pour les signataires de répudier leurs signatures. En d'autres termes, la signature numérique est un moyen de preuve fiable et vérifiable par les tiers et se prête donc aux applications juridiques.
verifier, must of course use such a system. Subsequently, therefore, any signatory and any recipient are identified with the systems they use, designated respectively by the signatory system and the recipient system.
A digital signature is independent of the recipient and verifiable by any recipient receiving the message accompanied by his signature, and therefore in particular by a judicial or arbitration authority. This characteristic of the digital signature, which distinguishes it in particular from simple cryptographic authentication methods, makes it possible to implement a prohibition for signatories to repudiate their signatures. In other words, the digital signature is a reliable and verifiable means of proof by third parties and thus lends itself to legal applications.

On notera que la signature numérique est un procédé cryptographique séparé et indépendant des procédés de chiffrement qui pourraient être utilisés pour garantir la confidentialité du message. D'une part, le message signé peut très bien être envoyé en clair pour être lisible par tout destinataire, d'autre part, si l'on souhaite chiffrer le message envoyé, tout procédé de chiffrement connu peut être utilisé. En outre, il est possible de chiffrer un message préalablement signé ou de signer un message préalablement chiffré sans interférences entre ces opérations successives.  Note that the digital signature is a separate cryptographic process independent of the encryption methods that could be used to ensure the confidentiality of the message. On the one hand, the signed message can very well be sent in clear to be readable by any recipient, on the other hand, if one wishes to encrypt the message sent, any known encryption method can be used. In addition, it is possible to encrypt a previously signed message or to sign a previously encrypted message without interference between these successive operations.

La figure 1 illustre un procédé standard de signature numérique du type à clé publique, connu sous le nom de DSA (pour l'anglais Digital Signature Algorithm). Les paramètres de cet algorithme comprennent :

Figure img00020001

L-L - un module entier premier p vérifiant 2 < p < 2, c'est-à- dire que p est codé sur L bits, avec L compris entre 512 et 1024, L étant un multiple de 16, la taille du module p étant fixée par des considérations liées a la sécurité ; - un entier premier q divisant p-1 codé sur 160 bits, avec
Figure img00020002

2159 < q < 2160 ; - un entier g d'ordre q dans le groupe Z/pZ, c'est-à-dire que g engendre un sous-groupe de cardinal q dans Z/pZ, où Z désigne l'ensemble des entiers relatifs ; Figure 1 illustrates a standard public-key type digital signature method known as DSA (for the English Digital Signature Algorithm). The parameters of this algorithm include:
Figure img00020001

LL - an integer prime module p satisfying 2 <p <2, ie p is encoded on L bits, with L between 512 and 1024, L being a multiple of 16, the size of the module p being fixed by security considerations; a prime integer q dividing p-1 coded on 160 bits, with
Figure img00020002

2159 <q <2160; an integer g of order q in the group Z / pZ, that is to say that g generates a subgroup of cardinal q in Z / pZ, where Z denotes the set of relative integers;

<Desc/Clms Page number 3><Desc / Clms Page number 3>

- une clé privée entière x choisie aléatoirement telle que 0 < x < q ; - une clé publique y calculée telle que y=gx modulo p, c'est- à-dire que la clé publique y est le reste de la division entière de g'par p.  an integer private key x chosen randomly such that 0 <x <q; a public key y calculated such that y = gx modulo p, that is to say that the public key is the remainder of the entire division of g'par p.

Les entiers p, q et g sont publics et peuvent être partagés par plusieurs utilisateurs et utilisés pour plusieurs signatures. Ils sont par exemple publiés par une autorité de certification. Un système signataire 1 doit signer et envoyer un message M à un système destinataire 2. Le système signataire 1 est muni de la clé publique y et de la clé privée x. La clé privée x est propre au système signataire 1 et doit être conservée secrète par celui-ci. Elle est nécessaire pour engendrer la signature numérique du système signataire 1. La clé publique y est publiée par le système signataire 1 pour être mise à la disposition du système destinataire 2, comme indiqué par la flèche 3. Le couple de clés x, y peut être utilisé par le système signataire 1 pour signer plusieurs messages.  The integers p, q, and g are public and can be shared by multiple users and used for multiple signatures. For example, they are published by a certification authority. A signatory system 1 must sign and send an M message to a recipient system 2. The signer system 1 is provided with the public key y and the private key x. The private key x is specific to the signatory system 1 and must be kept secret by the latter. It is necessary to generate the digital signature of the signatory system 1. The public key is published by the signatory system 1 to be made available to the destination system 2, as indicated by the arrow 3. The pair of keys x, y can to be used by the signatory system 1 to sign several messages.

Pour signer le message M, le système signataire 1 effectue les opérations consistant à : - engendrer aléatoirement un entier k tel que 0 < k < q en tant que donnée génératrice de la signature ; - calculer l'entier r= (gk modulo p) modulo q en tant qu'image de la donnée génératrice par une transformation réputée non inversible ; - calculer l'entier s= (k-l (SHA (M) +xr)) modulo q, où SHA désigne une fonction de hachage cryptographique, la fonction de hachage définie par le standard FIPS 180, qui est rendue publique comme les entiers p, q et g.  To sign the message M, the signatory system 1 performs the operations of: randomly generating an integer k such that 0 <k <q as the data generating the signature; - calculate the integer r = (gk modulo p) modulo q as an image of the generating data by a transformation considered non-invertible; - calculate the integer s = (kl (SHA (M) + xr)) modulo q, where SHA denotes a cryptographic hash function, the hash function defined by the FIPS 180 standard, which is made public as the integers p, q and g.

Le couple d'entiers (r, s) constitue la signature 4 que le système signataire 1 annexe au message M pour former un message signé 5 qu'il envoie au système destinataire 2. Lorsqu'il reçoit un message M'avec une signature (r', s'), le système destinataire 2 peut vérifier le message signé, c'est-à-dire vérifier qu'il provient effectivement du système signataire 1 et que le message M'est identique au message M envoyé par le système signataire 1. Pour cela, le système destinataire 2 effectue les opérations consistant à : - calculer l'entier w= (s')"' modulo q ; - calculer l'entier u= (SHA (M') w) modulo q ;  The pair of integers (r, s) constitutes the signature 4 that the signatory system 1 annexes to the message M to form a signed message 5 that it sends to the recipient system 2. When it receives a message M'with a signature ( r ', s'), the destination system 2 can check the signed message, that is to say verify that it actually comes from the signatory system 1 and the message M is identical to the message M sent by the signatory system 1. For this, the recipient system 2 performs the operations of: - calculating the integer w = (s') "'modulo q; - calculating the integer u = (SHA (M') w) modulo q;

<Desc/Clms Page number 4><Desc / Clms Page number 4>

- calculer l'entier u'= (r'w) modulo q ; - calculer l'entier v= (g y modulo p) module q.  calculate the integer u '= (r'w) modulo q; - calculate the integer v = (g y modulo p) module q.

- comparer l'entier v avec l'entier r'reçu.  - compare the integer v with the received integer.

Le résultat de la vérification est positif si et seulement si v=r'. Dans le cas contraire, le système destinataire 2 conclut que le message provient d'une autre origine et/ou a été modifié au cours de la transmission. Au sens de l'invention, on considère que la signature 4 associe le message M exclusivement au système signataire 1, dans la mesure où seul le système signataire 1 en possession de sa clé privée x et du message M peut former la signature 4.  The result of the verification is positive if and only if v = r '. In the opposite case, the destination system 2 concludes that the message originates from another origin and / or has been modified during the transmission. For the purposes of the invention, the signature 4 is considered to associate the message M exclusively with the signatory system 1, insofar as only the signatory system 1 in possession of its private key x and the message M can form the signature 4.

La sécurité de ce type de signature numérique est fondée sur le caractère réputé non inversible d'une opération mathématique, c'est-à- dire ici de l'opération d'exponentiation discrète dans le groupe Z/pZ. Au sens de l'invention, une opération mathématique est réputée non inversible lorsque le calcul consistant à l'inverser présente une extrême difficulté, compte-tenu des moyens de calcul existants. En d'autres termes, il s'agit ici de l'extrême difficulté de calculer la clé privée x lorsqu'on connaît la clé publique y et de calculer l'entier k lorsque l'on connaît l'entier r. Ceci assure le caractère secret de la clé privée x du système signataire 1. En fait, il est aujourd'hui impossible en pratique de résoudre ce problème, dit du logarithme discret, pour des nombres aussi grands.  The security of this type of digital signature is based on the deemed non-invertible character of a mathematical operation, that is to say here of the discrete exponentiation operation in the Z / pZ group. For the purposes of the invention, a mathematical operation is deemed to be non-invertible when the calculation consisting of inverting it presents an extreme difficulty, taking into account the existing calculation means. In other words, it is the extreme difficulty of calculating the private key x when we know the public key y and calculate the integer k when we know the integer r. This ensures the secret character of the private key x of the signatory system 1. In fact, it is today impossible in practice to solve this problem, said discrete logarithm, for such large numbers.

Un problème posé par ce procédé connu réside dans le coût opératoire de l'exponentiation discrète. Ce coût impose de munir le système signataire 1 de moyens de calcul de forte puissance, en terme de cadence de processeur et de mémoire, ou de prévoir un temps de calcul important, ou de faire un compromis entre ces deux exigences.  A problem with this known method lies in the operating cost of the discrete exponentiation. This cost requires the signatory system 1 to provide high power calculation means, in terms of processor and memory rate, or to provide a significant calculation time, or to make a compromise between these two requirements.

Cependant, deux contraintes supplémentaires doivent être prises en compte dans ce compromis. D'une part, dans de nombreuses applications, notamment liées à la transmission de documents à valeur juridique, et plus particulièrement dans le cadre des transactions électroniques, la signature numérique doit être engendrée en temps réel pendant que l'utilisateur patiente, de sorte que le temps de calcul doit être maintenu dans des limites acceptables pour l'utilisateur, par exemple de l'ordre de quelques secondes. D'autre part, la signature électronique, dans la mesure où elle doit pouvoir remplacer la signature manuscrite, However, two additional constraints must be taken into account in this compromise. On the one hand, in many applications, particularly related to the transmission of documents of legal value, and more particularly in the context of electronic transactions, the digital signature must be generated in real time while the user is waiting, so that the calculation time must be kept within acceptable limits for the user, for example of the order of a few seconds. On the other hand, the electronic signature, insofar as it must be able to replace the handwritten signature,

<Desc/Clms Page number 5><Desc / Clms Page number 5>

doit être aussi accessible dans l'exercice de gestes quotidiens, tels qu'une transaction électronique ou un envoi de courrier électronique, qu'un stylographe est accessible au signataire à la main. Il est donc souhaitable de réaliser des signatures électroniques à l'aide d'appareils portatifs tels que les radiotéléphones, assistants numériques personnels et analogues, dont les capacités de calcul sont insuffisantes pour réaliser l'exponentiation discrète susmentionnée dans un temps acceptable.  must also be accessible in the exercise of daily actions, such as an electronic transaction or sending an e-mail, that a fountain pen is accessible to the signatory by hand. It is therefore desirable to make electronic signatures using portable devices such as radiotelephones, personal digital assistants and the like, whose calculation capabilities are insufficient to achieve the aforementioned discrete exponentiation in an acceptable time.

Pour satisfaire ces exigences, plusieurs solutions ont déjà été envisagées. Il est possible d'ajouter du matériel de calcul spécifique à un appareil du type susmentionné pour amener sa puissance de calcul à un niveau satisfaisant. Ceci accroît bien évidemment le coût de l'appareil. Eventuellement, on peut aussi prévoir que l'appareil réalise en tâche de fond un calcul de données préparatoires pour une signature ultérieure. Cependant, l'alimentation de ce type d'appareil étant fournie généralement par des batteries, la réalisation de calculs préparatoires volumineux en tâche de fond a pour inconvénient de diminuer l'autonomie de l'appareil.  To meet these requirements, several solutions have already been considered. It is possible to add specific computing hardware to a device of the aforementioned type to bring its computing power to a satisfactory level. This obviously increases the cost of the device. Optionally, it can also be provided that the apparatus performs in the background a calculation of preparatory data for a subsequent signature. However, the power supply of this type of device being provided generally by batteries, the performance of large preparatory calculations in the background has the disadvantage of reducing the autonomy of the device.

Une autre type de solution consiste à modifier l'algorithme de calcul pour améliorer son efficacité. Le document WO 99/33220 Al propose une variante de l'algorithme DSA susmentionné permettant d'accélérer les calculs sans modifier substantiellement le résultat. Bien que la voie des améliorations algorithmiques soit généralement bénéfique, son exploitation à l'extrême amène nécessairement à des modifications dépendant de l'architecture du système signataire, ce qui oblige à s'écarter d'un algorithme standard uniformisé. Il en résulte alors des inconvénients pour la mise en oeuvre et la maintenance d'un parc d'appareils hétérogènes.  Another type of solution is to modify the calculation algorithm to improve its efficiency. The document WO 99/33220 A1 proposes a variant of the aforementioned DSA algorithm making it possible to accelerate the calculations without substantially modifying the result. Although the path of algorithmic improvements is generally beneficial, its exploitation to the extreme necessarily leads to modifications depending on the architecture of the signatory system, which makes it necessary to deviate from a standardized standard algorithm. This then results in disadvantages for the implementation and maintenance of a fleet of heterogeneous devices.

Le document EP 666 669 Bl propose encore une autre solution consistant, d'une part à utiliser une variante de l'algorithme DSA et, d'autre part, à faire effectuer les calculs d'exponentiation discrète par une autorité de certification qui transmet ensuite le résultat au système signataire. Selon ce procédé connu, le calcul de l'image de la donnée génératrice k, c'est-à-dire gk modulo p, est effectué par l'autorité de certification. Pour cela, l'autorité de certification et le système signataire sont munis de deux générateurs de séquences de nombres pseudo-aléatoires identiques et mettent en commun une donnée  The document EP 666 669 B1 proposes another solution consisting of, on the one hand, using a variant of the DSA algorithm and, on the other hand, having the discrete exponentiation calculations carried out by a certification authority which then transmits the result to the signatory system. According to this known method, the calculation of the image of the generating data k, that is to say gk modulo p, is performed by the certification authority. For this purpose, the certification authority and the signatory system are provided with two identical pseudo-random number sequence generators and share a given data.

<Desc/Clms Page number 6> <Desc / Clms Page number 6>

Figure img00060001

r d'initialisation pour engendrer séparément une même séquence de données génératrices.
Figure img00060001

r initialization to separately generate a same sequence of generating data.

Cette caractéristique crée des failles dans la sécurité du procédé décrit dans EP 666 669 Bl. En effet, avec ce procédé, l'autorité de certification détient la donnée génératrice k et son image. Lorsque le signataire envoie un message signé, il est possible à une personne mal intentionnée de se procurer la signature du message. Ceci est particulièrement aisé si cette personne est un destinataire du message ou si le message signé est envoyé en clair. Cette personne mal intentionnée pourrait être un membre de l'autorité de certification elle-même ou, plus probablement, quelqu'un qui aurait pris temporairement le contrôle de ses systèmes. Or la connaissance de la signature (c, s), reçue avec le message signé, et de la donnée génératrice k, frauduleusement acquise auprès de l'autorité, donne immédiatement connaissance de la clé privée x puisque x= (s-k) /c, d'après les notations utilisées dans ce document. Or il est certain que si un tiers détient la clé privée x d'un système signataire, ce tiers pourra se faire passer pour le signataire sans possibilité d'être démasqué. Ceci peut avoir des conséquences très graves pour la victime, si celle-ci est liée par une clause de nonrépudiation des signatures.  This characteristic creates flaws in the safety of the method described in EP 666 669 B1. Indeed, with this method, the certification authority holds the generating data k and its image. When the signer sends a signed message, it is possible for a malicious person to obtain the signature of the message. This is particularly easy if this person is a recipient of the message or if the signed message is sent in the clear. This malicious person could be a member of the certification authority itself or, more likely, someone who would have temporarily taken control of their systems. Now the knowledge of the signature (c, s), received with the signed message, and the generating data k, fraudulently acquired from the authority, gives immediate knowledge of the private key x since x = (sk) / c, according to the notation used in this document. However, it is certain that if a third party holds the private key x of a signatory system, this third party can pretend to be the signatory without the possibility of being unmasked. This can have very serious consequences for the victim, if the victim is bound by a clause of nonrepudiation of signatures.

De plus, la valeur d'initialisation du générateur pourrait être interceptée par un tiers malveillant au cours de sa transmission entre le système signataire et l'autorité. Si le tiers dispose du générateur pseudoaléatoire, il sera en mesure de déterminer, non seulement la donnée génératrice d'une signature particulière, mais encore de toute une série de signatures ultérieures, ce qui accroît ses chances de se procurer la clé privée x du système signataire.  In addition, the generator initialization value could be intercepted by a malicious third party during its transmission between the signing system and the authority. If the third party has the pseudo-random generator, he will be able to determine, not only the data that generates a particular signature, but also a whole series of subsequent signatures, which increases his chances of obtaining the private key x of the system. signatory.

En fait, le procédé décrit dans EP 666 669 BI présente des risques équivalents à ceux qu'entraînerait une délégation totale des opérations de signature par le système signataire à l'autorité de certification. Une telle délégation n'est acceptable que si une confiance absolue peut être mise dans l'autorité. En pratique, les risques d'usurpation d'identité sont tels qu'il est improbable qu'une signature engendrée entièrement par un système tiers pour le compte d'un signataire ait quelque valeur juridique.  In fact, the method described in EP 666 669 BI presents risks equivalent to those that would entail a total delegation of signature operations by the signatory system to the certification authority. Such delegation is acceptable only if absolute confidence can be placed in authority. In practice, the risks of identity theft are such that it is unlikely that a signature generated entirely by a third party system on behalf of a signatory has any legal value.

<Desc/Clms Page number 7> <Desc / Clms Page number 7>

L'invention vise à proposer un procédé et un dispositif de signature numérique remédiant à au moins certains des inconvénients précités. En particulier, l'invention vise à fournir un procédé de signature de plus grande sécurité, compatible avec les algorithmes de signature standards, et utilisable avec un système signataire muni de capacités de calcul limitées.  The invention aims to provide a method and a digital signature device remedying at least some of the aforementioned drawbacks. In particular, the invention aims to provide a more secure signature method, compatible with standard signature algorithms, and usable with a signatory system with limited computing capabilities.

Pour cela, l'invention propose un procédé de signature numérique du type susmentionné, caractérisé par le fait que la donnée génératrice est mise à disposition du système signataire d'une manière exclusive sous la forme d'une pluralité d'antécédents de la donnée génératrice associés à la donnée génératrice par une fonction d'association connue du système signataire, le calcul d'image comportant les étapes consistant à : - mettre à disposition de chacun d'une pluralité de systèmes d'assistance l'un respectif desdits antécédents, - calculer un résultat intermédiaire respectif à l'aide de chacun desdits systèmes d'assistance à partir de l'antécédent mis à sa disposition, - transmettre lesdits résultats intermédiaires depuis lesdits systèmes d'assistance jusqu'à un système de combinaison, - combiner lesdits résultats intermédiaires à l'aide dudit système de combinaison pour calculer ladite image.  For this, the invention proposes a digital signature method of the aforementioned type, characterized in that the generating data is made available to the signatory system exclusively in the form of a plurality of antecedents of the generating data. associated with the generating data by a known association function of the signatory system, the image calculation comprising the steps of: - providing each of a plurality of assistance systems with a respective one of said antecedents, - calculating a respective intermediate result using each of said assistance systems from the antecedent available to it, - transmitting said intermediate results from said assistance systems to a combination system, - combining said results intermediates using said combination system to calculate said image.

L'invention s'applique aux signatures numériques requérant un couple d'une donnée génératrice de la signature, soit k, et de l'image de cette donnée génératrice par une transformation mathématique

Figure img00070001

réputée non inversible, soit T (k). L'invention est fondée sur l'idée e ee d'obtenir depuis l'extérieur du système signataire l'image de la donnée génératrice ou un résultat proche, c'est-à-dire un résultat de calcul permettant d'atteindre cette image en un petit nombre d'opérations réalisables par le système signataire, et ce, sans avoir à communiquer la donnée génératrice à l'extérieur du système signataire. The invention applies to digital signatures requiring a pair of data generating the signature, ie k, and the image of this generating data by a mathematical transformation.
Figure img00070001

deemed non-invertible, that is T (k). The invention is based on the idea of obtaining from the outside of the signatory system the image of the generating data or a close result, that is to say a calculation result making it possible to reach this image in a small number of operations achievable by the signatory system, without having to communicate the generating data outside the signatory system.

Cette idée est mise en oeuvre en exhibant une fonction d'association F associant la donnée génératrice k à un t-uplet d'antécédents, soit kl, k2,... kt, t étant un entier supérieur ou égal à 2. Par exemple, la fonction d'association F vérifie la relation :

Figure img00070002
This idea is implemented by exhibiting an association function F associating the generating data k with a tuple of antecedents, ie kl, k2, ... kt, t being an integer greater than or equal to 2. For example , the association function F checks the relation:
Figure img00070002

<Desc/Clms Page number 8> <Desc / Clms Page number 8>

Les systèmes d'assistance calculent des résultats intermédiaires à partir des antécédents, par exemple en appliquant une transformation intermédiaire Hi (ki) à l'antécédent ki correspondant, et ces résultats intermédiaires, soit ri, r2,... rt, sont combinés par le système de combinaison de manière à obtenir l'image de la donnée génératrice ou le résultat proche, par exemple à l'aide d'une fonction de combinaison K (ri, r2,... rt). The assistance systems calculate intermediate results from the antecedents, for example by applying an intermediate transformation Hi (ki) to the corresponding antecedent ki, and these intermediate results, ri, r2, ... rt, are combined by the combining system so as to obtain the image of the generating data or the close result, for example using a combination function K (ri, r2, ... rt).

Dans ce procédé, les opérations mathématiques coûteuses liées au calcul de l'image de la donnée génératrice, par exemple par exponentiation discrète, sont extemalisées auprès des systèmes d'assistance, qui sont par exemple des terminaux fixes conçus pour effectuer le calcul intermédiaire qui leur est dévolu dans un délai acceptable, par exemple en quelques millisecondes. On obtient ainsi un temps de calcul de la signature acceptable sans munir le système signataire de matériel de calcul spécifique. Il en résulte également que la formation d'une signature numérique est faiblement consommatrice d'énergie pour le système signataire et n'affecte pas significativement son autonomie
De plus, la donnée génératrice n'est pas mise à disposition d'un autre système que le système de traitement de données signataire, c'est-à-dire qu'elle est conservée strictement privée. On évite ainsi que tout autre système que le système signataire soit en mesure d'engendrer la signature authentique du système signataire. De ce fait, il n'est pas nécessaire d'avoir une confiance absolue dans les systèmes d'assistance, qui ne connaissent chacun qu'un antécédent de la donnée génératrice et devrait donc coopérer entre eux pour se procurer la donnée génératrice, ni d'avoir une confiance absolue dans le système de combinaison, qui ne connaît pas la donnée génératrice ni ses antécédents.
In this method, the expensive mathematical operations related to the calculation of the image of the generating data, for example by discrete exponentiation, are extemalized with the assistance systems, which are, for example, fixed terminals designed to perform the intermediate calculation which is devolved in an acceptable time, for example in a few milliseconds. This results in a calculation time of the acceptable signature without providing the signatory system with specific calculation equipment. It also results that the formation of a digital signature is low energy consuming for the signatory system and does not significantly affect its autonomy
In addition, the generating data is not made available to another system that the signatory data processing system, that is to say, it is kept strictly private. This avoids any system other than the signatory system being able to generate the authentic signature of the signatory system. As a result, it is not necessary to have absolute confidence in the assistance systems, which each know only one antecedent of the generating data and should therefore cooperate with each other to obtain the generating data, neither have absolute confidence in the combination system, which does not know the generating data or its antecedents.

En outre, les antécédents et la loi d'association peuvent être choisis pour rendre l'opération de calcul de la donnée génératrice impossible en l'absence d'un seul des dits antécédents. Ainsi, le vol de la donnée génératrice ne sera possible qu'en prenant le contrôle de tous les systèmes d'assistance. Le nombre des systèmes d'assistance est un nombre quelconque supérieur ou égal à deux, par exemple 2,3, 10 ou plus. Il peut être accru pour réduire les probabilités de vol de la donnée génératrice.  In addition, the antecedents and the law of association can be chosen to make the calculation operation of the generating data impossible in the absence of any one of said antecedents. Thus, the theft of the generating data will only be possible by taking control of all the assistance systems. The number of assistance systems is any number greater than or equal to two, for example, 2.3, 10 or more. It can be increased to reduce the probability of theft of the generating data.

<Desc/Clms Page number 9> <Desc / Clms Page number 9>

Selon une caractéristique particulière de l'invention, le système de combinaison est inclus dans le système signataire. Dans ce cas, le système signataire peut recevoir les résultats intermédiaires et les combiner en un nombre limité d'opérations pour former la signature numérique.  According to a particular characteristic of the invention, the combination system is included in the signatory system. In this case, the signatory system can receive the intermediate results and combine them into a limited number of operations to form the digital signature.

Selon une autre caractéristique particulière de l'invention, le système de combinaison est séparé du système signataire, et le procédé comporte l'étape consistant à transmettre le résultat de la combinaison des résultats intermédiaires depuis le système de combinaison au système signataire. Dans ce cas, le nombre d'opérations à effectuer par le système signataire peut être encore réduit.  According to another particular characteristic of the invention, the combination system is separate from the signatory system, and the method comprises the step of transmitting the result of the combination of the intermediate results from the combination system to the signatory system. In this case, the number of operations to be performed by the signatory system can be further reduced.

Selon encore une autre caractéristique particulière de l'invention, le système de combinaison est inclus dans l'un desdits systèmes d'assistance. Ainsi, on peut prévoir au minimum une mise en oeuvre de l'invention avec deux systèmes de traitement de données en plus du système signataire, à savoir deux systèmes d'assistance dont l'un est également système de combinaison. Bien sûr, un plus grand nombre de systèmes d'assistance peut également être utilisé pour obtenir une plus grande sécurité.  According to yet another particular characteristic of the invention, the combination system is included in one of said assistance systems. Thus, at least one embodiment of the invention can be provided with two data processing systems in addition to the signatory system, namely two assistance systems, one of which is also a combination system. Of course, more support systems can also be used for greater security.

Selon une réalisation particulière de l'invention, lesdits antécédents et ladite donnée génératrice sont calculés par le système signataire à l'aide de la fonction d'association, le système signataire mettant à disposition de chacun des systèmes d'assistance un antécédent respectif par transmission sur un canal de transmission sécurisé respectif.  According to a particular embodiment of the invention, said antecedents and said generating data are calculated by the signatory system using the association function, the signatory system making available to each of the assistance systems a respective antecedent by transmission. on a respective secure transmission channel.

Par exemple, la donnée génératrice résulte de la somme des antécédents. For example, the generating data is the sum of the antecedents.

Selon une autre réalisation particulière de l'invention, chacun des systèmes d'assistance engendre un antécédent respectif et le met à disposition du système signataire par transmission sur un canal de transmission sécurisé respectif en réponse à une requête du système signataire, le système signataire calculant ladite donnée génératrice à l'aide desdits antécédents et de la fonction d'association.  According to another particular embodiment of the invention, each of the assistance systems generates a respective antecedent and makes it available to the signatory system by transmission on a respective secure transmission channel in response to a request from the signatory system, the signing system calculating said generating data using said antecedents and the association function.

Ces canaux de transmission sécurisés peuvent être obtenus par tout procédé de chiffrement connu. Les systèmes de paiement par cartes bancaires en fournissent des exemples bien connus de l'homme du métier. De préférence, chacun des canaux de transmission est sécurisé à l'aide d'une clé symétrique secrète, qui sert à la fois au chiffrement et au  These secure transmission channels can be obtained by any known encryption method. Credit card payment systems provide examples well known to those skilled in the art. Preferably, each of the transmission channels is secured using a secret symmetric key, which is used both for encryption and for encryption.

<Desc/Clms Page number 10><Desc / Clms Page number 10>

déchiffrement par le système signataire et par le système assistant correspondant.

Figure img00100001

e Il est possible que le système signataire garde un des antécédents pour calculer lui-même un résultat intermédiaire à partir de cet antécédent, du moins lorsqu'un tel calcul n'est pas trop coûteux. Selon une alternative avantageuse, tous les antécédents sont mis à disposition des systèmes d'assistance, de manière à minimiser la charge de calcul pesant sur le système signataire. decryption by the signatory system and by the corresponding assistant system.
Figure img00100001

It is possible that the signatory system retains one of the antecedents to calculate itself an intermediate result from this antecedent, at least when such a calculation is not too expensive. According to an advantageous alternative, all the antecedents are made available to the assistance systems, so as to minimize the computational burden on the signatory system.

L'invention vise notamment les cas où il existe une transformation réputée non inversible T servant à calculer la signature numérique, une fonction d'association F calculable par le système signataire, des transformations intermédiaires Hi, identiques ou distinctes, calculables par les systèmes d'assistance respectifs pour obtenir les résultats intermédiaires et une fonction de combinaison K calculable par le système de combinaison, qui vérifient pour tout t-uplet d'antécédents ki, k2,... kt une relation du type : K [Hl (kl),..., H, (kt)] =T [F (ki,..., kJ].  The invention is aimed in particular at the case where there exists a deemed non-invertible transformation T used to calculate the digital signature, an association function F computable by the signatory system, identical or distinct intermediate transformations Hi, computable by the control systems. respective assistance to obtain the intermediate results and a combination function K computable by the combination system, which check for any t-tuple of antecedents ki, k2, ... kt a relation of the type: K [Hl (kl), ..., H, (kt)] = T [F (ki, ..., kJ].

Selon une réalisation particulière, la donnée génératrice définit un nombre entier k supérieur à 1 et la transformation réputée non inversible comprend un calcul du résultat de k compositions d'un élément neutre ou autre avec un élément g d'un groupe G par une loi de composition interne de ce groupe, chacun desdits antécédents définissant un nombre entier ki tel que la somme des nombres entiers ki soit égale au nombre entier k, chacun desdits résultats intermédiaires comportant le résultat de ki compositions, par exemple dudit élément neutre, avec ledit élément g du groupe G par ladite loi de composition, le système de combinaison combinant lesdits résultats intermédiaires en appliquant ladite loi de composition aux résultats respectifs des ki compositions. Par exemple, les antécédents sont égaux aux nombres entiers ki ou les antécédents définissent les nombres entiers ki par l'intermédiaire d'une transformation mathématique prédéterminée.  According to a particular embodiment, the generating data defines an integer k greater than 1 and the transformation deemed non-invertible comprises a calculation of the result of k compositions of a neutral or other element with an element g of a group G by a distribution law. internal composition of this group, each of said antecedents defining an integer ki such that the sum of the integers ki is equal to the integer k, each of said intermediate results comprising the result of ki compositions, for example said neutral element, with said element g of the group G by said composition law, the combination system combining said intermediate results by applying said composition law to the respective results of the compositions. For example, the antecedents are equal to the integers ki or the antecedents define the integers ki via a predetermined mathematical transformation.

Le calcul du résultat des ki compositions de l'élément neutre avec l'élément g peut comporter ki opérations successives de composition avec l'élément g ou, de préférence, comporter des opérations de composition des résultats des opérations de composition précédentes entre eux, de manière à aboutir au résultat en moins de ki  The calculation of the result of the compositions of the neutral element with the element g may comprise successive operations of composition with the element g or, preferably, comprise operations of composing the results of the preceding composition operations with each other, way to achieve the result in less than

<Desc/Clms Page number 11><Desc / Clms Page number 11>

opérations de composition. Par exemple, pour ki=4, le calcul de g4 résulte du calcul de g2=g*g (première opération) puis du calcul de g4=g2*g2 (deuxième opération) ; plutôt que des trois opérations successives : calcul de g2 (première opération), calcul de g3=g2*g (deuxième opération), calcul de g4=g3*g (troisième opération).  composition operations. For example, for ki = 4, the computation of g4 results from the computation of g2 = g * g (first operation) then from the computation of g4 = g2 * g2 (second operation); rather than the three successive operations: calculating g2 (first operation), calculating g3 = g2 * g (second operation), calculating g4 = g3 * g (third operation).

Ainsi, le procédé est compatible avec les algorithmes de signature numérique dans lesquels on calcule l'image d'une donnée génératrice par des compositions successives par une loi de composition dans un groupe, par exemple conformément aux standards DSS et ECDSS et aux variantes algorithmiques basées sur ceux-ci. Le procédé selon l'invention permet donc de cumuler les gains d'efficacité et de vitesse liés à des améliorations algorithmiques, tant au niveau du système signataire que des systèmes d'assistance, avec le gain de vitesse lié à l'extemalisation de calculs coûteux auprès des systèmes d'assistance.  Thus, the method is compatible with the digital signature algorithms in which the image of a generating data is calculated by successive compositions by a composition law in a group, for example in accordance with the DSS and ECDSS standards and the algorithmic variants based on on these. The method according to the invention thus makes it possible to cumulate the efficiency and speed gains related to algorithmic improvements, both at the level of the signatory system and of the assistance systems, with the speed gain related to the extemalisation of expensive calculations. with assistance systems.

Le groupe G est un groupe dans lequel l'exponentiation discrète est réputée non inversible, par exemple du type Z/pZ, où p est un module entier premier ou non, avec une loi multiplicative. Par exemple, p peut être premier ou le produit de deux nombres premiers.  The group G is a group in which the discrete exponentiation is considered non-invertible, for example of the Z / pZ type, where p is an entire prime module or not, with a multiplicative law. For example, p can be prime or the product of two prime numbers.

Selon une autre possibilité, le groupe G peut être défini par une loi de multiplication par un entier sur une courbe elliptique, la loi de composition du groupe étant alors notée comme une addition. According to another possibility, the group G can be defined by a law of multiplication by an integer on an elliptic curve, the law of composition of the group then being noted as an addition.

Avantageusement, l'élément g et la loi de composition sont mis à disposition de ladite ou desdites entité (s) destinataire (s) pour permettre la vérification du message signé.  Advantageously, the element g and the composition law are made available to the recipient entity (s) to enable verification of the signed message.

Avantageusement, chacun desdits antécédents définit un nombre entier ki compris entre 0 et une borne supérieure prédéterminée, ladite borne supérieure étant de préférence de l'ordre de 2160 ou supérieure, par exemple de l'ordre de 2200. La valeur de la borne supérieure est issue d'un compromis. Elle est choisie assez grande pour prévenir toute possibilité d'attaque exhaustive, mais aussi petite que possible pour limiter le coût calculatoire du procédé de signature numérique.  Advantageously, each of said antecedents defines an integer ki between 0 and a predetermined upper bound, said upper bound being preferably of the order of 2160 or greater, for example of the order of 2200. The value of the upper bound is resulting from a compromise. It is chosen large enough to prevent any possibility of exhaustive attack, but as small as possible to limit the computational cost of the digital signature process.

Idéalement, la borne supérieure est égale au cardinal du groupe G divisé par le nombre des systèmes d'assistance. Ainsi, la somme des nombres entiers ki est inférieure à ce cardinal et aucune  Ideally, the upper bound is equal to the cardinal of the group G divided by the number of assistance systems. Thus, the sum of the integers ki is less than this cardinal and no

<Desc/Clms Page number 12><Desc / Clms Page number 12>

réduction modulaire n'est nécessaire au moment de la sommation des nombres entiers ki. En pratique, pour des raisons d'efficacité, on peut choisir la borne supérieure inférieure au cardinal du groupe G divisé par le nombre des systèmes d'assistance si l'on veut éviter une réduction modulaire, ou égale au cardinal du groupe G divisé par le nombre des systèmes d'assistance si l'on ne tolère aucune perte d'entropie.  Modular reduction is necessary at the time of summation of integers ki. In practice, for reasons of efficiency, it is possible to choose the lower upper bound to the group G cardinal divided by the number of assistance systems if it is desired to avoid a modular reduction, or equal to the cardinal group G divided by the number of assistance systems if we do not tolerate any loss of entropy.

Grâce à cette caractéristique, la connaissance par un tiers malveillant de certains des antécédents, par exemple acquis frauduleusement auprès des systèmes d'assistance, ne facilite pas de manière déterminante l'accès à la donnée génératrice. En effet, si l'on suppose qu'un tiers connaît tous les antécédents sauf un, et donc tous les nombres ki sauf un, sa seule possibilité pour déterminer la donnée génératrice est d'essayer toutes les valeurs possibles pour le nombre manquant, c'est-à-dire tous les nombres entiers entre 0 et la borne prédéterminée. En d'autres termes, la probabilité pour ce tiers d'accéder à la donnée génératrice reste très petite. Lorsqu'on utilise l'algorithme DSA, la borne supérieure est le nombre entier q. Dans ce cas, la donnée génératrice est aussi comprise entre 0 et la borne prédéterminée. De ce fait, dans ce cas, la connaissance de tous les antécédents sauf un laisse l'accès à la donnée génératrice aussi difficile pour un tiers malveillant qu'en ignorant tous les antécédents.  Thanks to this characteristic, the knowledge by a malicious third party of some of the antecedents, for example acquired fraudulently from the assistance systems, does not decisively facilitate access to the generating data. Indeed, if we suppose that a third party knows all the antecedents except one, and therefore all the numbers ki except one, his only possibility to determine the generating data is to try all the possible values for the missing number, c i.e., all integers between 0 and the predetermined bound. In other words, the probability for this third party to access the generating data remains very small. When using the DSA algorithm, the upper bound is the integer q. In this case, the generating data is also between 0 and the predetermined terminal. As a result, in this case, knowledge of all but one of the antecedents leaves access to the generating data as difficult for a malicious third party as ignoring all antecedents.

De préférence, le résultat intermédiaire calculé par chacun des systèmes d'assistance résulte de l'application d'une transformation intermédiaire réputée non inversible à l'antécédent mis à la disposition dudit système d'assistance.  Preferably, the intermediate result calculated by each of the assistance systems results from the application of an intermediate transformation deemed non-invertible to the antecedent made available to said assistance system.

Avantageusement, la signature comporte un premier élément de signature calculé en appliquant à ladite donnée génératrice une transformation dépendant de la clé secrète appartenant au système signataire et du message à signer, et un deuxième élément de signature dépendant de ladite image, ledit premier élément de signature étant destiné à calculer un paramètre de vérification d'une manière connue par ladite ou lesdites entité (s) destinataire (s), ledit deuxième élément de signature étant destiné à fournir un élément de référence devant être comparé par ladite ou lesdites entité (s) destinataire (s) avec ledit paramètre de vérification pour vérifier le message signé. Par exemple,  Advantageously, the signature comprises a first signature element calculated by applying to said generating data a transformation dependent on the secret key belonging to the signatory system and the message to be signed, and a second signature element depending on said image, said first signature element. being intended to calculate a verification parameter in a manner known by said recipient entity (s), said second signature element being intended to provide a reference element to be compared by said entity (s) recipient (s) with said verification parameter to verify the signed message. For example,

<Desc/Clms Page number 13> <Desc / Clms Page number 13>

Figure img00130001

l'élément de référence est égal au deuxième élément de signature ou résulte d'un calcul à partir du deuxième élément de signature. a em e e
De préférence, le deuxième élément de signature ne dépend pas de données secrètes du système signataire. Ainsi, le calcul du deuxième élément de signature peut être entièrement effectué par les systèmes d'assistance et de combinaison.
Figure img00130001

the reference element is equal to the second signature element or results from a calculation from the second signature element. em ae
Preferably, the second signature element does not depend on secret data of the signatory system. Thus, the calculation of the second signature element can be entirely performed by the assistance and combination systems.

L'invention propose aussi un dispositif pour la mise en oeuvre du procédé susmentionné, caractérisé par le fait qu'il comporte un système de traitement de données signataire, une pluralité de systèmes de traitement de données d'assistance séparés dudit système signataire, un système de traitement de données de combinaison séparé ou faisant partie dudit système signataire et séparé ou faisant partie desdits systèmes d'assistance, et un ou plusieurs réseau (x) de transmission de données reliant, d'un part, lesdits systèmes d'assistance audit système signataire et audit système de combinaison et, d'autre part, ledit système de combinaison audit système signataire lorsque ceux-ci sont séparés.  The invention also proposes a device for implementing the aforementioned method, characterized in that it comprises a signatory data processing system, a plurality of assistance data processing systems separate from said signatory system, a system a combination data processing system separate from or part of said system that is a signatory and separate from, or part of, said assistance systems, and one or more data transmission networks connecting, on the one hand, said systems of assistance to said system signatory and said combination system and, on the other hand, said combination system to said signatory system when they are separated.

Avantageusement, le système signataire est intégré à un radiotéléphone portatif ou à une carte à puce.  Advantageously, the signatory system is integrated with a portable radiotelephone or a smart card.

L'invention sera mieux comprise, et d'autres buts, détails, caractéristiques et avantages de celle-ci apparaîtront plus clairement au cours de la description suivante de plusieurs modes de réalisation particuliers de l'invention, donnés uniquement à titre illustratif et non limitatif, en référence au dessin annexé. Sur ce dessin : - la figure 1 est un schéma de principe d'un procédé de signature numérique de l'art antérieur, - la figure 2 est une représentation fonctionnelle d'un dispositif pour la mise en oeuvre d'un procédé de signature numérique selon l'invention, - la figure 3 représente les échanges de données au sein du dispositif de la figure 2, - la figure 4 est un schéma bloc représentant deux modes de réalisation distincts du procédé de signature numérique mis en oeuvre par le dispositif de la figure 2.  The invention will be better understood, and other objects, details, characteristics and advantages thereof will appear more clearly in the course of the following description of several particular embodiments of the invention, given solely for illustrative and non-limiting purposes. with reference to the accompanying drawing. In this drawing: FIG. 1 is a block diagram of a digital signature method of the prior art; FIG. 2 is a functional representation of a device for implementing a digital signature method; according to the invention, FIG. 3 represents the data exchanges within the device of FIG. 2; FIG. 4 is a block diagram representing two distinct embodiments of the digital signature method implemented by the device of FIG. figure 2.

En référence à la figure 2, on a représenté le système signataire sous la forme d'un radiotéléphone portatif 10. Le  Referring to Figure 2, there is shown the signatory system in the form of a portable radiotelephone 10. The

<Desc/Clms Page number 14><Desc / Clms Page number 14>

radiotéléphone 10 est muni de moyens de calcul trop limités pour former une signature numérique selon le procédé DSA décrit en introduction.  radiotelephone 10 is provided with calculation means too limited to form a digital signature according to the DSA method described in the introduction.

Pour engendrer une signature numérique afin de transmettre un message signé à un correspondant, le radiotéléphone 10 est programmé pour coopérer avec une pluralité de systèmes d'assistance Ai, A2,... At, où t est un paramètre de sécurité entier supérieur ou égal à 2, et un système de combinaison C. Ces systèmes sont des serveurs informatiques aptes à communiquer entre eux par un réseau de télécommunication R, par exemple un réseau filaire, dont la topologie peut être quelconque. Le réseau R est muni d'un protocole d'adressage, par exemple le Protocole Internet (IP). Le radiotéléphone 10 peut échanger des données par voie hertzienne avec une station d'émission/réception 11, laquelle est reliée au réseau R pour permettre un échange de données entre le radiotéléphone 10, les systèmes d'assistance Ai, A2,... At et le système de combinaison C. To generate a digital signature in order to transmit a signed message to a correspondent, the radiotelephone 10 is programmed to cooperate with a plurality of assistance systems A 1, A 2,..., Where t is an integer security parameter greater than or equal to to 2, and a combination system C. These systems are computer servers capable of communicating with each other via a telecommunications network R, for example a wired network, whose topology can be arbitrary. The network R is provided with an addressing protocol, for example the Internet Protocol (IP). The radiotelephone 10 can exchange data over the air with a transmitting / receiving station 11, which is connected to the network R to allow data exchange between the radiotelephone 10, the assistance systems A 1, A 2,. and the combination system C.

Le radiotéléphone 10 est muni de moyens de calcul et de moyens cryptographiques pour échanger des données sur un canal sécurisé respectif avec chacun des systèmes d'assistance AI, A2,... At et le système de combinaison C. Par exemple, ces canaux sécurisés sont obtenus par un algorithme à clé symétrique, comme l'algorithme connu sous le nom AES, et permettent d'assurer la confidentialité et l'intégrité des données échangées. Il faut alors une clé distincte pour chaque canal sécurisé, cette clé servant à chiffrer et à déchiffrer les données échangées sur le canal et devant être possédée par les systèmes aux deux extrémités du canal. Les clés symétriques sont par exemple fournies par l'opérateur du réseau téléphonique utilisé par le radiotéléphone 10 et stockées dans une carte à puce, du type carte SIM, du radiotéléphone 10. Il est à noter que de tels canaux sécurisés sont indépendants de la topologie du réseau R et n'excluent que les données échangées sur chaque canal passent par des systèmes intermédiaires de transmission comme des routeurs.  The radiotelephone 10 is provided with calculation means and cryptographic means for exchanging data on a respective secure channel with each of the assistance systems AI, A2,..., And the combination system C. For example, these secure channels are obtained by a symmetric key algorithm, as the algorithm known as AES, and ensure the confidentiality and integrity of the data exchanged. It then requires a separate key for each secure channel, this key is used to encrypt and decrypt the data exchanged on the channel and to be owned by the systems at both ends of the channel. The symmetric keys are for example provided by the operator of the telephone network used by the radiotelephone 10 and stored in a smart card, SIM card type, radiotelephone 10. It should be noted that such secure channels are independent of the topology of the network R and exclude that the data exchanged on each channel pass through intermediate transmission systems such as routers.

En variante, les canaux sécurisés pourraient être obtenus par d'autres algorithmes. Cependant, le calcul d'une paire de clés selon les procédés de type El Gamal ou RSA est en général au-delà des capacités du radiotéléphone 10, de sorte que l'on doit utiliser des procédé de chiffrement plus sommaires en pratique.  Alternatively, the secure channels could be obtained by other algorithms. However, the calculation of a key pair according to the El Gamal or RSA type of methods is generally beyond the capabilities of the radiotelephone 10, so that one must use more summary encryption methods in practice.

<Desc/Clms Page number 15> <Desc / Clms Page number 15>

En référence aux figures 3 et 4, on décrit maintenant le fonctionnement du système de la figure 2 lorsque le système signataire, c'est-à-dire le radiotéléphone 10 dans l'exemple représenté, doit signer et envoyer un message M à un système destinataire 20, par exemple un autre radiotéléphone relié au réseau R.  With reference to FIGS. 3 and 4, the operation of the system of FIG. 2 is now described when the signatory system, that is to say the radiotelephone 10 in the example represented, must sign and send a message M to a system recipient 20, for example another radiotelephone connected to the network R.

On suppose que les données publiques du procédé DSA décrit en introduction, c'est-à-dire les entiers p, q et g et la fonction de hachage SHA, sont rendues disponibles sur le réseau R pour être accessibles à tout utilisateur du procédé de signature. L'entier L est choisi égal à 1024. Par exemple, ces données sont fournies par une autorité de certification sur simple requête. Le système signataire 10 dispose d'une clé privée x telle que 0 < x < q, qu'il conserve strictement secrète, et d'une clé publique y calculée telle que y=g modulo p.  It is assumed that the public data of the DSA method described in the introduction, i.e., the integers p, q and g and the hash function SHA, are made available on the network R to be accessible to any user of the process. signature. The integer L is chosen equal to 1024. For example, this data is provided by a certification authority on simple request. The signatory system 10 has a private key x such that 0 <x <q, which it keeps strictly secret, and a public key calculated there such that y = g modulo p.

On décrit un premier mode de réalisation de procédé de signature en référence à la branche de gauche de la figure 4.  A first embodiment of a signature method is described with reference to the left-hand branch of FIG. 4.

A l'étape 11, le système signataire 10 reçoit une instruction de formation d'une signature numérique, par exemple entrée par l'utilisateur à l'aide du clavier 12. Il initialise la procédure de signature numérique jusqu'à atteindre une étape à laquelle une donnée génératrice k est nécessaire pour poursuivre.  In step 11, the signatory system 10 receives a training instruction for a digital signature, for example entered by the user using the keyboard 12. It initializes the digital signature procedure until a step is reached. which a generating data k is necessary to continue.

A l'étape 13, le système signataire 10 engendre une séquence aléatoire de t nombres entiers ki, avec i=l à t. Les nombres ki sont des antécédents de la donnée génératrice qui vérifient O < ki < q. Le système signataire 10 calcule ensuite la donnée génératrice k par la

Figure img00150001

fonction d'association consistant à sommer les antécédents ki : k= : ki (i=1 à t)] modulo q. In step 13, the signatory system 10 generates a random sequence of t integers ki, with i = 1 to t. The numbers ki are antecedents of the generating data which verify O <ki <q. The signatory system 10 then calculates the generating data k by the
Figure img00150001

association function consisting of summing the antecedents ki: k =: ki (i = 1 to t)] modulo q.

A l'étape 14, le système signataire 10 envoie les antécédents kj, avec i=l à t, aux systèmes d'assistance respectifs Al à At. Chaque antécédent ki constitue ou est inclus dans une requête d'assistance transmise par le système signataire 10 aux systèmes d'assistance Al à At. In step 14, the signatory system 10 sends the antecedents kj, with i = 1 to t, to the respective assistance systems Al to At. Each antecedent ki constitutes or is included in a support request transmitted by the signatory system 10 to the assistance systems Al to At.

A l'étape 15, chaque système d'assistance Ai, avec i=l à t, calcule un résultat intermédiaire ri à partir de l'antécédent ki qu'il a reçu en appliquant à celui-ci une transformation intermédiaire définie par : ri= (gki modulo p) modulo q.  In step 15, each assistance system A1, with i = 1 to t, calculates an intermediate result ri from the antecedent ki that it has received by applying to it an intermediate transformation defined by: = (gki modulo p) modulo q.

<Desc/Clms Page number 16> <Desc / Clms Page number 16>

Figure img00160001

r A l'étape 16, chaque système d'assistance Ai, avec i=l à t, envoie le résultat intermédiaire ri qu'il a calculé au système de combinaison C.
Figure img00160001

In step 16, each assistance system A1, with i = 1 to t, sends the intermediate result ri it has calculated to the combination system C.

A l'étape 17, le système de combinaison C combine tous les résultats intermédiaires ri, avec i=l à t, en un résultat final r à l'aide de la fonction de combinaison consistant à faire le produit des résultats intermédiaires ri : r== [nri (i=l à t) modulo p] modulo q.  In step 17, the combination system C combines all the intermediate results ri, with i = 1 to t, into a final result r using the combination function of making the product of the intermediate results ri: r == [nri (i = 1 to t) modulo p] modulo q.

A l'étape 18, le système de combinaison C envoie le résultat final r au système signataire 10, comme indiqué par la flèche r en trait continu. Le résultat r est l'image de la donnée génératrice k par une exponentiation discrète et vérifie : r= (gk modulo p) modulo q. Cette transformation étant réputée non inversible, il n'est pas nécessaire de transmettre le résultat final r de manière sécurisée.  In step 18, the combination system C sends the final result r to the signatory system 10, as indicated by the arrow r in solid line. The result r is the image of the generating data k by a discrete exponentiation and satisfies: r = (gk modulo p) modulo q. Since this transformation is considered non-invertible, it is not necessary to transmit the final result r in a secure manner.

A l'étape 19, le système signataire 10 calcule un premier élément de signature : s= (k-1 (SHA (M) +xr)) modulo q, où SHA désigne la fonction de hachage cryptographique définie par le standard FIPS 180. Ce calcul est effectué rapidement par le système signataire 10 car il comporte un faible nombre d'opérations en comparaison du calcul de r.  In step 19, the signatory system 10 calculates a first signature element: s = (k-1 (SHA (M) + xr)) modulo q, where SHA denotes the cryptographic hash function defined by the FIPS 180 standard. This calculation is made quickly by the signatory system 10 because it comprises a small number of operations in comparison with the calculation of r.

Puis le système signataire 10 termine la procédure de signature numérique en annexant au message M la signature numérique formée du premier élément de signature s et du résultat r, qu'il a reçu depuis le système de combinaison C, en tant que second élément de signature.  Then the signatory system 10 terminates the digital signature procedure by appending to the message M the digital signature formed of the first signature element s and the result r, which it has received from the combination system C, as the second signature element. .

A l'étape 21, le système signataire 10 transmet le message M et sa signature numérique (r, s) au système destinataire 20 par l'intermédiaire de la station d'émission/réception 11 et du réseau R. Bien sûr, il n'est pas nécessaire que l'envoi du message M et de la signature numérique soit simultané. Il est simplement nécessaire que le système destinataire ait reçu le message et la signature, simultanément ou dans un ordre successif quelconque, au moment d'effectuer la vérification.  In step 21, the signatory system 10 transmits the message M and its digital signature (r, s) to the destination system 20 via the transmitting / receiving station 11 and the network R. Of course, it does not It is not necessary that the sending of the message M and the digital signature be simultaneous. It is simply necessary that the recipient system has received the message and the signature, simultaneously or in any successive order, when performing the verification.

A l'étape 22, le système destinataire 20 vérifie le message signé qu'il a reçu en effectuant les opérations consistant à : - calculer l'entier w= (sr1 modulo q ; - calculer l'entier u= (SHA (M) w) modulo q ;  In step 22, the recipient system 20 verifies the signed message that it has received by performing the operations of: - calculating the integer w = (sr1 modulo q - calculating the integer u = (SHA (M) w) modulo q;

<Desc/Clms Page number 17><Desc / Clms Page number 17>

- calculer l'entier u'= (rw) modulo q ; - calculer l'entier v= (gu y modul0 p) modulo q.  - calculate the integer u '= (rw) modulo q; - calculate the integer v = (gu y modul0 p) modulo q.

- comparer l'entier v avec l'entier r reçu.  - compare the integer v with the integer r received.

Le résultat de la vérification est positif si et seulement si v=r. Dans ce cas, le système destinataire 20 sait de manière certaine que le message provient du système signataire 10 et lui est parvenu sans modification au cours de la transmission. Cette connaissance certaine peut de plus être acquise par un tiers disposant du message signe en effectuant lui-même les opérations de vérification susmentionnées.  The result of the verification is positive if and only if v = r. In this case, the recipient system 20 knows for sure that the message originates from the signatory system 10 and has reached it without modification during the transmission. This certain knowledge can moreover be acquired by a third party having the signed message by performing the aforementioned verification operations himself.

La clé publique y du système signataire 10 est de préférence certifiée par une autorité de certification possédant un serveur relié au réseau R. Elle est ensuite envoyée par le système signataire 10 au système destinataire 20 sous la forme d'un certificat numérique accompagnant le message signé. Un tel certificat est connu de l'homme du métier et permet au système destinataire 20 de vérifier l'authenticité de la clé publique y. Par exemple, le certificat est formé par l'autorité de certification en concaténant la clé publique y et des données identifiant de manière discriminante le système signataire (nom du signataire, adresse, etc. ) Tout système destinataire doit bien sûr connaître la clé publique de l'autorité de certification pour lire le certificat numérique.  The public key y of the signatory system 10 is preferably certified by a certification authority having a server connected to the network R. It is then sent by the signatory system 10 to the recipient system 20 in the form of a digital certificate accompanying the signed message. . Such a certificate is known to those skilled in the art and allows the recipient system 20 to verify the authenticity of the public key y. For example, the certificate is formed by the certification authority concatenating the public key y and data discriminant identifying the signatory system (signatory name, address, etc.). Any recipient system must of course know the public key of the signatory system. the certification authority to read the digital certificate.

Couramment, la clé publique de l'autorité de certification est publiée dans un annuaire accessible à tout utilisateur. Currently, the public key of the CA is published in a directory accessible to any user.

A défaut d'une telle certification, dans le cas où le résultat de la vérification de la signature effectué par le système destinataire 20 serait négatif, le système destinataire 20 dans l'impossibilité de s'assurer que ce résultat négatif ne découle pas d'une valeur erronée de la clé publique y utilisée pour effectuer la vérification.  In the absence of such certification, in the case where the result of the verification of the signature carried out by the recipient system 20 is negative, the recipient system 20 can not ensure that this negative result does not result from an erroneous value of the public key used to perform the verification.

Dans le premier mode de réalisation, la mise à disposition de la donnée génératrice k au système signataire 10 résulte de la génération préalable des antécédents ki par le système signataire 10, puis de l'association des antécédents selon une fonction de sommation dans Z/qZ pour obtenir la donnée génératrice k. Inversement, le système signataire 10 pourrait commencer par engendrer aléatoirement la donnée génératrice k, puis calculer un t-uplet d'antécédents ki avec 0 < ki < q, pour i=l à t, par une fonction d'association inverse de la fonction de sommation. Par exemple, une telle fonction inverse consiste à engendrer  In the first embodiment, the provision of the generating data k to the signatory system 10 results from the prior generation of the antecedents ki by the signatory system 10, and then from the association of the antecedents according to a summation function in Z / qZ to obtain the generating data k. Conversely, the signatory system 10 could start by randomly generating the generating data k, then calculating a tuple of antecedents ki with 0 <ki <q, for i = 1 to t, by a function of inverse association of the function of summation. For example, such an inverse function consists in generating

<Desc/Clms Page number 18><Desc / Clms Page number 18>

aléatoirement les antécédents ki pour i=l à t-1 puis à calculer l'antécédent kt tel que : kt = [k- (i=l à t-l) I module q.  randomly the antecedents ki for i = 1 to t-1 and then calculate the antecedent kt such that: kt = [k- (i = 1 to t-1) I module q.

On décrit maintenant un second mode de réalisation de procédé de signature en référence à la branche de droite de la figure 4.  A second embodiment of the signature method is now described with reference to the right-hand branch of FIG. 4.

A l'étape 23, le système signataire 10 reçoit une instruction de formation d'une signature numérique, par exemple entrée par l'utilisateur à l'aide du clavier 12. Il initialise la procédure de signature numérique.  In step 23, the signatory system 10 receives a training instruction for a digital signature, for example entered by the user using the keyboard 12. It initializes the digital signature procedure.

A l'étape 24, le système signataire 10 envoie une requête d'assistance à chacun des systèmes d'assistance Ai, avec i=l à t.  In step 24, the signatory system 10 sends an assistance request to each of the assistance systems Ai, with i = 1 to t.

A l'étape 25, chaque système d'assistance Ai, avec i=l à t, engendre un antécédent de la donnée génératrice sous la forme d'un nombre entier aléatoire ki vérifiant O < ki < q, avec il 1 à t.  In step 25, each assistance system A1, with i = 1 to t, generates an antecedent of the generating data in the form of a random integer ki satisfying O <ki <q, with it 1 to t.

A l'étape 26, chaque système d'assistance Ai, avec i=l à t, calcule à partir de l'antécédent ki qu'il a engendré le résultat intermédiaire : ri= (gki modulo p) modulo q.  In step 26, each assistance system Ai, with i = 1 to t, calculates from the antecedent ki that it has generated the intermediate result: ri = (gki modulo p) modulo q.

A l'étape 27, chaque système d'assistance Ai, avec i=l à t, envoie l'antécédent ki qu'il a engendré au système signataire 10, comme indiqué par les flèches en traits interrompus de la figure 3.  In step 27, each assistance system A1, with i = 1 to t, sends the antecedent k i that it generated to the signatory system 10, as indicated by the dashed arrows of FIG. 3.

A l'étape 28, le système signataire 10 calcule la donnée génératrice k par la fonction d'association : k== : ki (i=l à t)] modulo q.  In step 28, the signatory system 10 calculates the generating data k by the association function: k ==: ki (i = 1 to t)] modulo q.

A l'étape 29, chaque système d'assistance Ai, avec i=l à t, envoie le résultat intermédiaire ri qu'il a calculé au système de combinaison C.  In step 29, each assistance system A1, with i = 1 to t, sends the intermediate result ri that it has calculated to the combination system C.

A l'étape 30, le système de combinaison C combine tous les résultats intermédiaires ri, avec i=l à t, en en calculant le produit : r= [ri (i=l à t) modulo p] modulo q.  In step 30, the combination system C combines all the intermediate results ri, with i = 1 to t, by calculating the product: r = [ri (i = 1 to t) modulo p] modulo q.

A l'étape 31, le système de combinaison C envoie le résultat final r au système signataire 10.  In step 31, the combination system C sends the final result r to the signatory system 10.

Le procédé se poursuit ensuite à partir de l'étape 19 comme dans le mode de réalisation précédent.  The process then continues from step 19 as in the previous embodiment.

Dans les deux modes de réalisation susmentionnés, le procédé de signature débute sur instructions expresse de l'utilisateur, à l'étape 11 ou 23. En variante, on peut prévoir que les étapes préparatoires à la formation de la signature proprement dite, c'est-à-dire  In the two aforementioned embodiments, the signature method begins with the express instructions of the user, in step 11 or 23. Alternatively, it can be provided that the steps preparatory to the formation of the signature itself, is to say

<Desc/Clms Page number 19><Desc / Clms Page number 19>

les étapes précédant l'étape 19, soient effectuées à l'avance, par exemple en tâche de fond, de sorte qu'il ne reste alors qu'à effectuer les étapes 19 et suivantes lorsqu'une signature numérique est demandée. Il en résulte une réduction supplémentaire du temps de réponse du système signataire. De plus, la quantité d'opérations impliquée par les étapes préparatoires est assez petite pour ne pas saturer durablement le processeur du système signataire 10.  the steps preceding step 19, are performed in advance, for example in the background, so that it remains only to perform steps 19 and following when a digital signature is requested. This results in further reduction of the response time of the signatory system. Moreover, the quantity of operations involved in the preparatory steps is small enough not to saturate the processor of the signatory system 10 durably.

A la figure 3, on a aussi représenté une variante de réalisation de l'étape 19 susmentionnée. Dans le cadre de cette variante, le système de combinaison C envoie aussi le résultat r, qui est égal au second élément de signature, directement au système destinataire 20, comme indiqué par la flèche r en trait interrompu. Dans le cadre de cette variante, le système signataire 10 n'a plus qu'à envoyer le message M et le premier élément de signature s et non le deuxième élément r. On réalise ainsi une certaine économie de bande passante du système signataire 10 lors de l'envoi du message signé. Cependant, le système signataire 10 doit préalablement communiquer au système de combinaison C l'adresse du système destinataire 20.  In Figure 3, there is also shown an alternative embodiment of the aforementioned step 19. In the context of this variant, the combination system C also sends the result r, which is equal to the second signature element, directly to the destination system 20, as indicated by the dotted arrow r. In the context of this variant, the signatory system 10 only has to send the message M and the first signature element s and not the second element r. This achieves a certain bandwidth saving of the signatory system 10 when sending the signed message. However, the signatory system 10 must first communicate to the combination system C the address of the destination system 20.

Dans une variante de réalisation, le système de combinaison C peut être un des systèmes d'assistance, par exemple Ai ou une partie de celui-ci. Cette variante permet de faire l'économie d'un ordinateur.  In an alternative embodiment, the combination system C may be one of the assistance systems, for example Ai or a part thereof. This variant saves a computer.

Dans une autre variante de réalisation, le système de combinaison C peut être le système signataire 10 lui-même ou une partie de celui-ci. En effet, l'opération de combinaison des résultats intermédiaires ri, correspondant aux étapes 17 et 30 susmentionnées, implique (t-1) multiplications de nombres entiers codés sur q bits. Une telle multiplication est environ 1500 fois moins coûteuse qu'une exponentiation discrète telle que celle qui est réalisée par les systèmes d'assistance. Ainsi, même si l'on prévoit, dans le cadre de cette variante, que l'opération de combinaison est à la charge du système signataire 10, la quantité totale de calculs devant être effectuée par le système signataire 10 demeure environ 1500 fois moins coûteuse que si le système signataire devait former la signature numérique sans l'assistance des systèmes d'assistance A ; (il à t).  In another alternative embodiment, the combination system C may be the signatory system 10 itself or a part thereof. Indeed, the operation of combining the intermediate results ri, corresponding to the above-mentioned steps 17 and 30, implies (t-1) integer multiplications coded on q bits. Such a multiplication is about 1500 times less expensive than a discrete exponentiation such as that carried out by the assistance systems. Thus, even if provision is made in the context of this variant that the combination operation is the responsibility of the signatory system 10, the total amount of calculations to be performed by the signatory system 10 remains approximately 1500 times less expensive. only if the signatory system were to form the digital signature without the assistance of A support systems; (he has).

Dans encore une variante de réalisation, qui peut être combinée avec les précédentes, le système signataire 10 engendre un  In yet another embodiment, which can be combined with the previous ones, the signatory system 10 generates a

<Desc/Clms Page number 20><Desc / Clms Page number 20>

antécédent supplémentaire kt+l sous la forme d'un nombre entier codé sur quelques bits, par exemple sur 4 bits, et ne le communique à aucun système d'assistance. Dans le cadre de cette variante, à l'étape 13 ou 28 susmentionnée, le système signataire 10 calcule la donnée génératrice k par la fonction d'association : k= [Eki (i=l a t+l)] modulo q. Puis, à l'étape 19, le système signataire 10 calcule un élément de signature r'en multipliant kt+l fois par g le résultat r de la combinaison des résultats intermédiaires pour obtenir une signature numérique (r', s') telle que : r'= (gk modulo p) modulo q s'= (k-l (SHA (M) +xr')) modulo q.  additional antecedent kt + 1 in the form of an integer coded on a few bits, for example on 4 bits, and does not communicate it to any assistance system. In the context of this variant, in the above-mentioned step 13 or 28, the signatory system 10 calculates the generating data k by the association function: k = [Eki (i = 1 to t + 1)] modulo q. Then, in step 19, the signatory system 10 calculates a signature element r'by multiplying kt + l times by g the result r of the combination of the intermediate results to obtain a digital signature (r ', s') such that : r '= (gk modulo p) modulo q s' = (kl (SHA (M) + xr')) modulo q.

Cette variante permet de renforcer encore le caractère secret de la données génératrice k, puisque l'antécédent kt+ 1 n'est communiqué à aucun système d'assistance et ne peut donc pas être acquis par un tiers, même en prenant le contrôle des systèmes d'assistance. Cependant, la protection conférée par l'antécédent supplémentaire kit+, est limitée dans la mesure où cet antécédent doit être choisi de taille beaucoup plus petite que les autres antécédents ki (i=l à t), sans quoi la charge de calcul imposées au système signataire 10 deviendrait excessive.  This variant makes it possible to further reinforce the secret nature of the data generating k, since the antecedent kt + 1 is not communicated to any assistance system and can not therefore be acquired by a third party, even by taking control of the data systems. 'assistance. However, the protection conferred by the additional kit + antecedent, is limited insofar as this antecedent must be chosen much smaller size than the other antecedents ki (i = 1 to t), otherwise the computational burden imposed on the system signatory 10 would become excessive.

Bien qu'on ait fait référence uniquement à la fonction de hachage du standard DSA dans ce qui précède, toute autre fonction de hachage peut aussi être utilisée en tant que fonction de hachage SHA dès lors que l'on sort de ce standard.  Although reference has been made only to the hash function of the DSA standard in the foregoing, any other hash function can also be used as a SHA hash function as soon as one goes out of this standard.

Les modes de réalisation ci-dessus ont été décrits avec un radiotéléphone pour système signataire. Toutefois, le système signataire n'est pas limité à un radiotéléphone et peut aussi être tout autre système de traitement de données, notamment un système ayant une puissance de calcul trop faible pour calculer de manière autonome une signature numérique fiable en un temps acceptable, par exemple une carte à puce.  The above embodiments have been described with a radiotelephone for signatory system. However, the signatory system is not limited to a radiotelephone and may also be any other data processing system, in particular a system having too little computing power to autonomously compute a reliable digital signature in an acceptable time, by example a smart card.

Le système signataire doit être muni de moyens de mémorisation aptes à stocker la clé privée x de manière sécurisée. The signatory system must be provided with storage means able to store the private key x in a secure manner.

Les différents modes de réalisation de procédés décrits peuvent être mis en oeuvre de manière automatisée par une programmation correspondante du système signataire, des systèmes d'assistance et du système de combinaison. La réalisation d'une telle programmation relève des compétences de l'homme du métier.  The various embodiments of methods described can be implemented automatically by a corresponding programming of the signatory system, assistance systems and the combination system. The realization of such programming is within the skill of the skilled person.

<Desc/Clms Page number 21> <Desc / Clms Page number 21>

Bien que l'invention ait été décrite en liaison avec plusieurs modes de réalisation particuliers, il est bien évident qu'elle n'y est nullement limitée et qu'elle comprend tous les équivalents techniques des moyens décrits ainsi que leurs combinaisons si celles-ci entrent dans le cadre de l'invention. Although the invention has been described in connection with several particular embodiments, it is obvious that it is not limited thereto and that it comprises all the technical equivalents of the means described and their combinations if they are within the scope of the invention.

Claims (17)

REVENDICATIONS 1. Procédé pour former une signature numérique associant de manière exclusive un message de données numériques (M) à un système signataire (10) possédant au moins une clé secrète (x) et destinée à être transmise avec ledit message à au moins un système destinataire (20) dudit message devant vérifier l'origine et l'intégrité dudit message accompagné de ladite signature, ledit procédé comportant les étapes consistant à : - mettre à disposition dudit système signataire une donnée génératrice, - calculer l'image (r) de ladite donnée génératrice par une transformation A method for forming a digital signature exclusively associating a digital data message (M) with a signatory system (10) having at least one secret key (x) and to be transmitted with said message to at least one destination system (20) said message having to verify the origin and the integrity of said message accompanied by said signature, said method comprising the steps of: - making available to said signatory system a generating data, - calculating the image (r) of said generating data by a transformation
Figure img00220001
Figure img00220001
réputée non inversible, pour mettre ladite image à disposition dudit a système signataire, - former ladite signature numérique (r, s) dans ledit système signataire à partir de ladite image, ladite donnée génératrice, ladite clé secrète et ledit message, caractérisé par le fait que ladite donnée génératrice est mise à disposition (13,27) dudit système signataire d'une manière exclusive sous la forme d'une pluralité d'antécédents de ladite donnée génératrice (ki-kt) associés à ladite donnée génératrice par une fonction d'association connue dudit système signataire, ledit calcul d'image comportant les étapes consistant à : - mettre à disposition (14,25) de chacun d'une pluralité de systèmes d'assistance (Ai-At) l'un respectif desdits antécédents (ki-kt), - calculer (15,26) un résultat intermédiaire respectif (ri-rt) à l'aide de chacun desdits systèmes d'assistance à partir de l'antécédent mis à sa disposition, - transmettre (16,29) lesdits résultats intermédiaires depuis lesdits systèmes d'assistance jusqu'à un système de combinaison (C), - combiner lesdits résultats intermédiaires à l'aide dudit système de combinaison pour calculer ladite image.  deemed to be non-invertible, to make said image available to said signatory system, - forming said digital signature (r, s) in said signatory system from said image, said generating data, said secret key and said message, characterized by the fact that said generating data is provided (13,27) of said signatory system exclusively in the form of a plurality of antecedents of said generating data (ki-kt) associated with said generating data by a function of known association of said signatory system, said image calculation comprising the steps of: - providing (14,25) each of a plurality of assistance systems (Ai-At) a respective one of said antecedents (ki -kt), - calculating (15,26) a respective intermediate result (ri-rt) using each of said assistance systems from the antecedent placed at its disposal, - transmitting (16,29) said r intermediate results from said assistance systems to a combination system (C), - combining said intermediate results by means of said combination system to calculate said image.
2. Procédé selon la revendication 1, caractérisé par le fait que ledit système de combinaison est inclus dans ledit système signataire.  2. Method according to claim 1, characterized in that said combination system is included in said signatory system. 3. Procédé selon la revendication 1, caractérisé par le fait que ledit système de combinaison est séparé dudit système signataire, ledit procédé comportant l'étape consistant à :  3. Method according to claim 1, characterized in that said combination system is separate from said signatory system, said method comprising the step of: <Desc/Clms Page number 23><Desc / Clms Page number 23> - transmettre (18, 31) depuis ledit système de combinaison audit système signataire le résultat de la combinaison desdits résultats intermédiaires (r).  transmitting (18, 31) from said combination system to said signatory system the result of combining said intermediate results (r). 4. Procédé selon la revendication 3, caractérisé par le fait que ledit système de combinaison est inclus dans l'un desdits systèmes d'assistance (Al).  4. Method according to claim 3, characterized in that said combination system is included in one of said assistance systems (A1). 5. Procédé selon l'une des revendications 1 à 4, caractérisé par le fait que lesdits antécédents et ladite donnée génératrice sont calculés par ledit système signataire à l'aide de ladite fonction d'association, ledit système signataire mettant à disposition de chacun desdits systèmes d'assistance un antécédent respectif par transmission (14) sur un canal de transmission sécurisé respectif.  5. Method according to one of claims 1 to 4, characterized in that said antecedents and said generating data are calculated by said signatory system with the aid of said association function, said signatory system making available each of said assistance systems respective antecedent by transmission (14) on a respective secure transmission channel. 6. Procédé selon l'une des revendications 1 à 4, caractérisé par le fait que chacun desdits systèmes d'assistance engendre (25) un antécédent respectif et le met à disposition dudit système signataire par transmission (27) sur un canal de transmission sécurisé respectif en réponse à une requête dudit système signataire, ledit système signataire calculant (28) ladite donnée génératrice à l'aide desdits antécédents et de ladite fonction d'association.  6. Method according to one of claims 1 to 4, characterized in that each of said assistance systems generates (25) a respective antecedent and makes it available to said signatory system by transmission (27) on a secure transmission channel respective in response to a request of said signatory system, said signatory system calculating (28) said generating data using said antecedents and said association function. 7. Procédé selon la revendication 5 ou 6, caractérisé par le fait que chacun desdits canaux de transmission est sécurisé à l'aide d'une clé symétrique secrète.  7. Method according to claim 5 or 6, characterized in that each of said transmission channels is secured with a secret symmetric key. 8. Procédé selon l'une des revendications 1 à 7, caractérisé par le fait que ladite donnée génératrice définit un nombre entier k supérieur à 1, ladite transformation réputée non inversible comprenant un calcul du résultat de k compositions avec un élément g d'un groupe G par une loi de composition interne de ce groupe, chacun  8. Method according to one of claims 1 to 7, characterized in that said generating data defines an integer k greater than 1, said transformation deemed non-invertible comprising a calculation of the result of k compositions with a g element of a group G by a law of internal composition of this group, each
Figure img00230001
Figure img00230001
desdits antécédents (kj-kj définissant un nombre entier kj tel que la somme des nombres entiers k, soit égale au nombre entier k, chacun desdits résultats intermédiaires (rj-rt) comportant le résultat de k, compositions avec ledit élément g du groupe G par ladite loi de composition, le système de combinaison combinant lesdits résultats intermédiaires en appliquant ladite loi de composition aux résultats respectifs des kj compositions.  said antecedents (kj-kj defining an integer kj such that the sum of the integers k, is equal to the integer k, each of said intermediate results (rj-rt) comprising the result of k, compositions with said element g of the group G by said composition law, the combination system combining said intermediate results by applying said composition law to the respective results of the compositions.
9. Procédé selon la revendication 8, caractérisé par le fait que l'élément g et ladite loi de composition sont mis à disposition de  9. Method according to claim 8, characterized in that the element g and said composition law are made available to <Desc/Clms Page number 24> <Desc / Clms Page number 24> ladite ou desdites entité (s) destinataire (s) (20) pour permettre la vérification du message signé. eri i e.  said recipient entity (s) (20) to enable verification of the signed message. er i e.
Figure img00240001
Figure img00240001
10. Procédé selon la revendication 8 ou 9, caractérisé par le fait que chacun des dits antécédents (k1 - kt) définit un nombre entier ki compris entre 0 et une borne supérieure prédéterminée, ladite borne supérieure étant de préférence de l'ordre de i60 ou supérieure.  10. The method of claim 8 or 9, characterized in that each of said antecedents (k1 - kt) defines an integer ki between 0 and a predetermined upper bound, said upper bound being preferably of the order of i60 or higher. 11. Procédé selon l'une des revendications 1 à 10, caractérisé par le fait que le résultat intermédiaire calculé par chacun des systèmes d'assistance résulte de l'application d'une transformation intermédiaire réputée non inversible à l'antécédent mis à la disposition dudit systèmes d'assistance.  11. Method according to one of claims 1 to 10, characterized in that the intermediate result calculated by each of the assistance systems results from the application of an intermediate transformation deemed non-invertible to the antecedent made available said assistance systems. 12. Procédé selon l'une des revendications 1 à 11, caractérisé par le fait que ladite signature comporte un premier élément de signature (s) calculé en appliquant à ladite donnée génératrice une transformation dépendant de la clé secrète dudit système signataire et du message à signer, et un deuxième élément de signature (r) dépendant de ladite image, ledit premier élément de signature étant destiné à calculer un paramètre de vérification d'une manière connue par ladite ou lesdites entité (s) destinataire (s), ledit deuxième élément de signature étant destiné à fournir un élément de référence devant être comparé par ladite ou lesdites entité (s) destinataire (s) avec ledit paramètre de vérification pour vérifier le message signé.  12. Method according to one of claims 1 to 11, characterized in that said signature comprises a first signature element (s) calculated by applying to said generating data a transformation dependent on the secret key of said signatory system and the message to sign, and a second signature element (r) depending on said image, said first signature element being intended to calculate a verification parameter in a manner known by said recipient entity (s), said second element with the signature being intended to provide a reference element to be compared by said recipient entity (s) with said verification parameter to verify the signed message. 13. Procédé selon la revendication 12, caractérisé par le fait que le deuxième élément de signature (r) ne dépend pas de données secrètes dudit système signataire.  13. The method of claim 12, characterized in that the second signature element (r) does not depend on secret data of said signatory system. 14. Procédé selon la revendication 12 ou 13, caractérisé par le fait que ledit élément de référence est égal au deuxième élément de signature (r).  14. The method of claim 12 or 13, characterized in that said reference element is equal to the second signature element (r). 15. Dispositif pour la mise en oeuvre du procédé selon l'une des revendications 1 à 14, caractérisé par le fait qu'il comporte un système de traitement de données signataire (10), une pluralité de systèmes de traitement de données d'assistance (Al-At) séparés dudit système signataire, un système de traitement de données de combinaison (C) séparé ou faisant partie dudit système signataire et séparé ou faisant partie desdits systèmes d'assistance, et un ou plusieurs réseau (x) de transmission de données (R) reliant, d'un part, lesdits systèmes  15. Device for implementing the method according to one of claims 1 to 14, characterized in that it comprises a signatory data processing system (10), a plurality of data processing systems assistance (Al-At) separated from said signatory system, a combination data processing system (C) separate or part of said signatory system and separated or part of said assistance systems, and one or more transmission network (s). data (R) connecting, on the one hand, said systems <Desc/Clms Page number 25><Desc / Clms Page number 25> d'assistance audit système signataire et audit système de combinaison et, d'autre part, ledit système de combinaison audit système signataire lorsque ceux-ci sont séparés.  assistance to said signatory system and said combination system and, secondly, said combination system to said signatory system when they are separated. 16. Dispositif selon la revendication 15, caractérisé par le fait que ledit système signataire est intégré à un radiotéléphone portatif (10).  16. Device according to claim 15, characterized in that said signatory system is integrated with a portable radiotelephone (10). 17. Dispositif selon la revendication 15 ou 16, caractérisé par le fait que ledit système signataire est intégré à une carte à puce. 17. Device according to claim 15 or 16, characterized in that said signatory system is integrated in a smart card.
FR0202596A 2002-03-01 2002-03-01 METHOD AND DEVICE FOR FORMING DIGITAL SIGNATURE Expired - Fee Related FR2836768B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0202596A FR2836768B1 (en) 2002-03-01 2002-03-01 METHOD AND DEVICE FOR FORMING DIGITAL SIGNATURE

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0202596A FR2836768B1 (en) 2002-03-01 2002-03-01 METHOD AND DEVICE FOR FORMING DIGITAL SIGNATURE

Publications (2)

Publication Number Publication Date
FR2836768A1 true FR2836768A1 (en) 2003-09-05
FR2836768B1 FR2836768B1 (en) 2005-02-11

Family

ID=27741347

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0202596A Expired - Fee Related FR2836768B1 (en) 2002-03-01 2002-03-01 METHOD AND DEVICE FOR FORMING DIGITAL SIGNATURE

Country Status (1)

Country Link
FR (1) FR2836768B1 (en)

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BEGUIN P ET AL: "SECURE ACCELERATION OF DSS SIGNATURES USING INSECURE SERVER", ADVANCES IN CRYPTOLOGY - ASIACRYPT '94. 4TH. INTERNATIONAL CONFERENCE ON THE THEORY AND APPLICATIONS OF CRYPTOLOGY, WOLLONGONG, AUSTRALIA, NOV. 28 - DEC. 1, 1994. PROCEEDINGS, PROCEEDINGS OF THE CONFERENCE ON THE THEORY AND APPLICATIONS OF CRYPTOLOGY, vol. CONF. 4, 28 November 1994 (1994-11-28), pages 249 - 259, XP000527600, ISBN: 3-540-59339-X *
JAKOBSSON M ; WETZEL S: "Secure server-aided signature generation", 4TH INTERNATIONAL WORKSHOP ON PRACTICE AND THEORY IN PUBLIC KEY CRYPTOSYSTEMS, PKC 2001. PROCEEDINGS (LECTURE NOTES IN COMPUTER SCIENCE VOL.1992), SPRINGER-VERLAG, 15 February 2001 (2001-02-15), Cheju Island, South Korea, pages 383 - 401, XP002226955, ISBN: 3-540-41658-7 *

Also Published As

Publication number Publication date
FR2836768B1 (en) 2005-02-11

Similar Documents

Publication Publication Date Title
EP3506556B1 (en) Method of authenticated key exchange via blockchain
EP3091689B1 (en) Method for generating a message signature from a signature token encrypted by means of an homomorphic encryption function
EP3506557B1 (en) Method of key exchange via a smart contract deployed over a blockchain
FR2759226A1 (en) PROTOCOL FOR VERIFYING A DIGITAL SIGNATURE
FR2760583A1 (en) DATA CARD VERIFICATION SYSTEM
EP1151576B1 (en) Public and private key cryptographic method
WO2008113950A2 (en) Identity based broadcast encryption
EP1166496B1 (en) Authentication and signature method for messages using reduced size of challenge data and corresponding systems
CN112000941B (en) Identity authentication method and system for mobile cloud computing
EP1400056B1 (en) Cryptographic authentication process
FR2632469A1 (en) SECURE DATA COMMUNICATION DEVICE
EP0666664B1 (en) Method for digital signature and authentication of messages using a discrete logarithm with a reduced number of modular multiplications
FR2793366A1 (en) REDUCED BANDWIDTH DIGITAL SIGNATURE PROTOCOL
WO2022137192A1 (en) Method and device for controlling access to a service using a blockchain
FR2877453A1 (en) SECURE DELEGATION METHOD OF CALCULATING A BILINE APPLICATION
EP2449721A1 (en) Cryptography by parameterizing on elliptic curve
EP1216537A1 (en) Method, system, device for proving authenticity of an entity or integrity of a message
FR2836768A1 (en) Digital signal formation having digital word generators with assistance/calculation systems producing intermediate respective result transmitting combination system/combining intermediate result.
FR2752121A1 (en) METHOD OF EXECUTING A DIGITAL SIGNATURE ASSOCIATED WITH A MESSAGE AND METHOD OF VERIFYING THE SAME
FR2899750A1 (en) Common encryption key generating method for e.g. voice over Internet protocol application, involves verifying correspondence between control data displayed on terminal of one user and control data received from another user by latter user
FR2827723A1 (en) Cryptographic process for data validation uses two stages of processing in different entities, to speed up verification process
FR3070517A1 (en) SYSTEM AND METHOD FOR AUTHENTICATION AND DIGITAL SIGNATURE
FR2734435A1 (en) ZERO KNOWLEDGE DIGITAL SIGNATURE METHOD FOR DEVELOPING A COLLISION RESISTANT SIGNATURE
WO2007042419A1 (en) Cryptographic method using an identity-based encryption system
FR2850502A1 (en) Method of authenticating digital signatures using a low cost computer, used in authenticating bankcards or credit cards etc., allows a verifier system to exchange data with a signature system

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 15

ST Notification of lapse

Effective date: 20171130