FR2775399A1 - Digital signature procedure based on blind signatures for use in cryptography and electronic payment systems - Google Patents

Digital signature procedure based on blind signatures for use in cryptography and electronic payment systems Download PDF

Info

Publication number
FR2775399A1
FR2775399A1 FR9802196A FR9802196A FR2775399A1 FR 2775399 A1 FR2775399 A1 FR 2775399A1 FR 9802196 A FR9802196 A FR 9802196A FR 9802196 A FR9802196 A FR 9802196A FR 2775399 A1 FR2775399 A1 FR 2775399A1
Authority
FR
France
Prior art keywords
signature
message
user
sep
calculates
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
FR9802196A
Other languages
French (fr)
Other versions
FR2775399B1 (en
Inventor
Jacques Traore
Solages Aymeric De
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.)
Orange SA
Original Assignee
France Telecom SA
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 France Telecom SA filed Critical France Telecom SA
Priority to FR9802196A priority Critical patent/FR2775399B1/en
Publication of FR2775399A1 publication Critical patent/FR2775399A1/en
Application granted granted Critical
Publication of FR2775399B1 publication Critical patent/FR2775399B1/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/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
    • H04L9/3257Cryptographic 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 using blind signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

In a message exchange between an emitter and a user, the message is digitally signed. By allowing the emitter to see a part of the message, the complete blindness of the signatory is avoided and he is permitted to see a part of the signature. The signature is called blind. The user sends only a part of the message to the emitter sign. The emitter can then incorporate the part of the signal in the information elements necessary for recognition of the signal which once produced, can only be verified, with the help of the entire message, of which a part has been seen by the emitter.

Description

PROCEDE DE SIGNATURE NUMERIQUE BORGNE
DESCRIPTION
Domaine technique
La présente invention a pour objet un procédé de signature numérique. Ce procédé comprend, d'une part, une opération de retrait et d'autre part, une opération de présentation de la signature.
BORGNE DIGITAL SIGNATURE METHOD
DESCRIPTION
Technical area
The present invention relates to a digital signature method. This method comprises, on the one hand, a withdrawal operation and, on the other hand, a presentation operation of the signature.

L'invention trouve une application notamment dans le paiement électronique. The invention finds application particularly in the electronic payment.

Etat de la technique antérieure
Un concept particulier de signature numérique, dit signature aveugle, a été introduit par D. CHAUM dans un article intitulé "Blind Signatures for Untraceable
Payments" publié dans "Proceedings of CRYPTO'82, Plenum
Press, 1983, pp. 199-203.
State of the art
A particular concept of digital signature, called blind signature, was introduced by D. CHAUM in an article entitled "Blind Signatures for Untraceable
Payments "published in" Proceedings of CRYPTO'82, Plenum
Press, 1983, pp. 199-203.

Un protocole de signature aveugle est un protocole cryptographique mettant en jeu deux entités, un "utilisateur" et un "émetteur", l'utilisateur faisant signer un message à l'émetteur, de telle manière que ce dernier n'obtienne aucune information sur le contenu du message qu'il signe. De plus, après avoir signé plusieurs messages, l'émetteur est incapable, à la vue d'une signature qu'il a contribué à créer, de déterminer lors de quelle exécution du protocole cette signature a été obtenue. A blind signature protocol is a cryptographic protocol involving two entities, a "user" and a "transmitter", the user sending a message to the issuer, so that the latter does not obtain any information on the content of the message he signs. Moreover, after having signed several messages, the sender is unable, at the sight of a signature that he helped to create, to determine at which execution of the protocol this signature was obtained.

Les protocoles de signature aveugle sont utilisés dans des applications nécessitant l'anonymat, telles que les élections électroniques ou la monnaie électronique. Dans les systèmes de paiement électronique anonyme, l'expression "pièce électronique" désigne une donnée signée numériquement par la banque (l'émetteur de monnaie électronique) . La fonction de signature utilisée par la banque détermine la valeur faciale de la pièce. Lors d'une phase dite de "retrait", l'utilisateur (le client) achète ces pièces électroniques. Pour garantir l'anonymat, les pièces retirées par l'utilisateur doivent être inconnues de la banque. A cette fin, cette dernière signe de manière aveugle des données que l'utilisateur crée de manière secrète. L'utilisateur se trouve ainsi en possession de pièces valides que la banque elle-même est incapable d'associer à l'utilisateur qui les a retirées. Blind signature protocols are used in applications that require anonymity, such as electronic elections or e-money. In anonymous electronic payment systems, the term "electronic document" refers to data digitally signed by the bank (the issuer of electronic money). The signature function used by the bank determines the face value of the coin. During a phase called "withdrawal", the user (the customer) buys these electronic parts. To ensure anonymity, parts removed by the user must be unknown to the bank. For this purpose, the latter blindly signs data that the user secretly creates. The user is thus in possession of valid parts that the bank itself is unable to associate with the user who removed them.

L'anonymat est parfait. Le paiement correspond ensuite à un transfert de pièces électroniques du client au commerçant. Ce dernier contacte alors la banque (cas du paiement en ligne), laquelle conserve, dans sa base de données, toutes les pièces non expirées qui ont déjà été dépensées, pour s'assurer que les pièces qui lui sont présentées n'ont pas déjà été dépensées lors d'une transaction antérieure. Les commerçants déposent ensuite à la banque, lors de la phase dite de "remise", les pièces qu'ils ont reçues en paiement, pour compensation de leur valeur.Anonymity is perfect. The payment then corresponds to a transfer of electronic parts from the customer to the merchant. The latter then contacts the bank (in the case of online payment), which keeps, in its database, all unexpired coins that have already been spent, to ensure that the coins presented to it do not already have spent in a previous transaction. The merchants then deposit at the bank, during the so-called "surrender" phase, the coins they have received in payment, for compensation of their value.

Divers modes de mise en oeuvre d'une signature aveugle ont été développés et décrits. On peut en trouver des exemples notamment dans l'article de D. Various modes of implementation of a blind signature have been developed and described. Examples can be found in the article by D.

CHAUM et T.P. PEDERSEN, intitulé "Wallet Databases with
Observers", publié dans Proceedings of Crypto'92,
Lecture Notes in Computer Science, vol. 740, Springer
Verlag, pp. 89-105, ainsi que dans l'article de T.
CHAUM and TP PEDERSEN, entitled "Wallet Databases with
Observers ", published in Proceedings of Crypto'92,
Reading Notes in Computer Science, Vol. 740, Springer
Verlag, pp. 89-105, as well as in the article by T.

OKAMOTO, intitulé "Provably Secure and Practical
Identification Schemes and Corresponding Signature
Schemes", publié dans Proceedings of Crypto'92, Lecture
Notes in Computer Science, vol. 740, Springer Verlag, pp. 31-53. Le protocole d'authentification de Schnorr, dont dérivent les protocoles de signature aveugle utilisés dans les articles ci-dessus, est lui-même décrit dans l'article de C.P. SCHNORR, intitulé "Efficient Signature Generation by Smart Cards", publié dans Journal of Cryptology, 4(3) 1991, pp. 161-164.
OKAMOTO, entitled "Provably Secure and Practical
Identification Schemes and Corresponding Signature
Schemes ", published in Proceedings of Crypto'92, Lecture
Notes in Computer Science, Vol. 740, Springer Verlag, pp. 31-53. The Schnorr authentication protocol, from which the blind signature protocols used in the above articles derive, is itself described in the article by CP SCHNORR, entitled "Efficient Signature Generation by Smart Cards", published in Journal of Cryptology, 4 (3) 1991, pp. 161-164.

Dans le protocole d'authentification de SCHNORR, et dans les schémas de signature aveugle qui en dérivent, l'émetteur E choisit au hasard une clef secrète SE, calcule une clef publique p=gSF, où g est un élément générateur connu de tous. Puis l'entité E publie sa clef publique P de façon que chacun la connaisse comme étant associée à l'identité de E. La clef publique P ne permet pas de retrouver la clef secrète SE que seul E connaît. En effet, la fonction exponentielle , qui permet de passer de SE à P, est difficilement inversible (la taille des paramètres est choisie de façon que le temps nécessaire pour retrouver
SE à partir de P soit trop long pour les ordinateurs disponibles à l'époque de la mise en oeuvre du protocole).
In the SCHNORR authentication protocol, and in the blind signature schemes derived therefrom, the transmitter E randomly chooses a secret key SE, calculates a public key p = gSF, where g is a generator element known to all. Then the entity E publishes its public key P so that everyone knows it as being associated with the identity of E. The public key P does not find the secret key SE that only E knows. Indeed, the exponential function, which makes it possible to go from SE to P, is hardly invertible (the size of the parameters is chosen so that the time necessary to find
SE from P is too long for the computers available at the time of the implementation of the protocol).

Dans le schéma d'authentification de SCHNORR, l'entité E prouve à une entité utilisatrice U qu'elle connaît la clef secrète SE sans toutefois révéler celleci. Cette preuve constitue pour E un moyen de s'authentifier auprès de l'utilisateur U. In the SCHNORR authentication scheme, the entity E proves to a user entity U that it knows the secret key SE without revealing it. This proof is for E a way to authenticate to the user U.

Ce protocole d'authentification comprend une première opération où l'émetteur choisit au hasard un nombre x dans le groupe Zq, c'est-à-dire dans le corps des entiers modulo q où q est un nombre premier
(autrement dit x est compris entre 1 et q-l ) et élève son générateur g à la puissance x pour constituer un nombre t qui va lancer le protocole d'authentification.
This authentication protocol comprises a first operation where the transmitter randomly chooses a number x in the group Zq, that is to say in the integer field modulo q where q is a prime number
(in other words x is between 1 and ql) and raises its generator g to the power x to form a number t that will launch the authentication protocol.

Ce nombre t est transmis à l'utilisateur qui poursuit le protocole en choisissant au hasard un nombre c dans Zq et en le transmettant à l'émetteur, qui calcule alors une réponse appropriée en utilisant sa clef secrète SE que lui seul connaît. Cette clef n'est évidemment pas transmise en l'état mais masquée par le nombre x que l'émetteur seul connaît. La réponse est alors y = x - cSE .This number t is transmitted to the user who continues the protocol by randomly choosing a number c in Zq and transmitting it to the transmitter, which then calculates an appropriate response using its secret key SE that only it knows. This key is obviously not transmitted in the state but hidden by the number x that the transmitter alone knows. The answer is then y = x - cSE.

L'utilisateur traite cette réponse en calculant, gy qui n est autre que g(x-cSE), soit gxg-cSE. L'utilisateur peut calculer aussi Pc, soit gCsE t de sorte que le produit gYpc est égal à gXgCSF gCSF , c'est-à-dire finalement t. The user treats this answer by calculating, gy which is none other than g (x-cSE), ie gxg-cSE. The user can also calculate Pc or gCsE t so that the product gYpc is equal to gXgCSF gCSF, that is to say finally t.

La vérification de l'égalité entre t et gYPc prouve à l'utilisateur que l'émetteur connaît bien la clef secrète SE. Par ailleurs, cette preuve est apportée sans que la clef SE ait été révélée à l'utilisateur. Le protocole peut donc se répéter autant de fois que l'on veut, à condition de changer le nombre x à chaque fois. The verification of the equality between t and gYPc proves to the user that the sender is familiar with the secret key SE. Moreover, this proof is provided without the SE key being revealed to the user. The protocol can be repeated as many times as you want, provided you change the number x each time.

On peut illustrer un tel protocole par un tableau, (représentation qui sera utilisée constamment dans la suite de la description) dans lequel la notation Zq désigne le corps des entiers modulo q, les flèches horizontales symbolisent la transmission de nombre(s) d'une entité à l'autre, une équation avec un point d'interrogation au-dessus du signe égal (=) signifie que l'entité vérifie que les deux membres de l'égalité sont bien égaux. Avec ces conventions, le protocole d'authentification qui vient d'être décrit, peut être représenté par le Tableau I ci-après.  Such a protocol can be illustrated by a table, (representation which will be used constantly in the rest of the description) in which the notation Zq designates the body of integers modulo q, the horizontal arrows symbolize the transmission of number (s) of a Entity to another, an equation with a question mark above the equal sign (=) means that the entity verifies that the two members of the equality are equal. With these conventions, the authentication protocol that has just been described, can be represented by Table I below.

E U clefsecrète SE clef publique : p = gsE choisit x dans Zq calcule t = gx

Figure img00050001
EU secret keys SE public key: p = gsE chooses x in Zq calculates t = gx
Figure img00050001

<tb> <SEP> choisit <SEP> c <SEP> dans <SEP> Zq
<tb> <SEP> c
<tb> y=x-cSE
<tb> <SEP> y
<tb> <SEP> (=gYpC
<tb>
Tableau I
Ce protocole constitue une preuve de connaissance par l'émetteur de la clef secrète. On peut lier cette preuve à un message m, de façon à ce que ce protocole constitue en même temps une signature C du message m.
<tb><SEP> chooses <SEP> c <SEP> in <SEP> Zq
<tb><SEP> c
<tb> y = x-cSE
<tb><SEP> y
<tb><SEP> (= gYpC
<Tb>
Table I
This protocol constitutes a proof of knowledge by the issuer of the secret key. This proof can be linked to a message m, so that this protocol constitutes at the same time a signature C of the message m.

En toute rigueur, l'émetteur E ne mériterait pas vraiment le nom de "signataire", car il ne peut être tenu pour responsable du message signé m puisqu'il l'ignore. C'est néanmoins la terminologie usuelle.Strictly speaking, the transmitter E does not really deserve the name of "signatory" because it can not be held responsible for the signed message m since he ignores it. This is nevertheless the usual terminology.

Un schéma de signature aveugle de ce type peut être illustré par le Tableau II avec les mêmes conventions, où m est le message à signer. Dans ce schéma, l'utilisateur choisit en outre au hasard deux nombres u et v dans Zq, et calcule un nombre t à partir du nombre t qu'il a reçu de l'émetteur, du générateur g de l'émetteur qui est connu de tous et de la clef publique P de ce même émetteur et en utilisant les nombres u et v comme exposants, soit t=tg'P~.  A blind signature scheme of this type can be illustrated by Table II with the same conventions, where m is the message to be signed. In this scheme, the user also randomly chooses two numbers u and v in Zq, and calculates a number t from the number t that he has received from the transmitter, the generator g of the transmitter which is known of all and of the public key P of this same emitter and by using the numbers u and v as exponents, that is t = tg'P ~.

L'utilisateur choisit ensuite un nombre c, dit challenge, compris dans Zq et masque ce challenge en lui soustrayant le nombre u connu de lui seul pour obtenir un challenge masqué c=c-u. L'utilisateur transmet le challenge masqué c à l'émetteur.The user then chooses a number c, called challenge, included in Zq and masks this challenge by subtracting the number u known from him alone to obtain a masked challenge c = c-u. The user transmits the masked challenge c to the issuer.

E U clef secrète : SE message : m clefpublique P = gSF choisit x dans Zq calcule î = gx

Figure img00060001
EU secret key: SE message: m public key P = gSF chooses x in Zq calculates i = gx
Figure img00060001

<tb> <SEP> choisit <SEP> u, <SEP> v <SEP> dans <SEP> Zq
<tb> <SEP> calcule <SEP> t <SEP> = <SEP> rg'P"
<tb> <SEP> calcule <SEP> c=H(t, <SEP> m)
<tb> <SEP> calcule <SEP> c <SEP> = <SEP> c <SEP>
<tb> <SEP> ê
<tb> calcule <SEP> y <SEP> = <SEP> x <SEP>
<tb> <SEP> M >
<tb>
calcule y = y + v
t=gyPc
obtient la signature G(y, c, m)
Tableau II
Dans ce protocole, H est une fonction de hachage (ou de condensation) connue de tous. La signature a finalement obtenue est constituée par l'ensemble des nombres y, c et m. Une telle signature ne peut être reconnue par l'émetteur qui ne peut calculer ni y, ni c, puisqu'il ignore les paramètres de masquage Lt et v et ne peut reconnaître le message m, qu'il n'a jamais vu.
<tb><SEP> chooses <SEP> u, <SEP> v <SEP> in <SEP> Zq
<tb><SEP> computes <SEP> t <SEP> = <SEP>rg'P"
<tb><SEP> computes <SEP> c = H (t, <SEP> m)
<tb><SEP> calculates <SEP> c <SEP> = <SEP> c <SEP>
<tb><SEP> ê
<tb> computes <SEP> y <SEP> = <SEP> x <SEP>
<tb><SEP>M>
<Tb>
calculate y = y + v
t = gyPc
gets the signature G (y, c, m)
Table II
In this protocol, H is a hash (or condensation) function known to all. The signature finally obtained is constituted by the set of numbers y, c and m. Such a signature can not be recognized by the sender, who can not calculate either y or c since he ignores the masking parameters Lt and v and can not recognize the message m he has never seen.

Les applications de la signature aveugle sont assez limitées, sauf à lui associer d'autres protocoles. Le but de la présente invention est justement de remédier à cet inconvénient pour élargir le champ d'application de tels protocoles. The applications of the blind signature are quite limited, except to associate other protocols. The object of the present invention is precisely to overcome this drawback to expand the scope of such protocols.

Exposé de l'invention
A cette fin, l'invention propose un procédé dans lequel l'émetteur prend connaissance d'une partie du message à signer. Sa cécité n'est donc plus totale mais partielle. On dira que le signataire, et par extension la signature, est "borgne".
Presentation of the invention
For this purpose, the invention proposes a method in which the transmitter acquires a portion of the message to be signed. His blindness is no longer total but partial. It will be said that the signatory, and by extension the signature, is "one-eyed".

De façon plus précise, la présente invention a pour objet un procédé de retrait de signature numérique dans lequel une entité dite "émetteur" (E) échange avec une entité dite "utilisateur" (U) des informations selon un protocole permettant à l'utilisateur d'obtenir une signature (o) d'un message (u) à l'élaboration de laquelle l'émetteur a collaboré mais sans que ce dernier puisse la retrouver à partir des éléments connus de lui lors de ces échanges ni la lier, lorsqu'elle lui est présentée a posteriori, au retrait dont elle provient si l'émetteur a émis plusieurs signatures, ce procédé étant caractérisé par le fait que l'utilisateur ne communique à l'émetteur qu'une partie (M) du message à signer, partie que ce dernier incorpore dans des éléments d'information nécessaires à l'élaboration de la signature, qui une fois produite ne peut être vérifiée qu'à l'aide du message (p) entier, dont la partie (M) qui a été vue par l'émetteur. More specifically, the subject of the present invention is a digital signature removal method in which a so-called "transmitter" entity (E) exchanges information with a so-called "user" entity (U) according to a protocol enabling the user to obtain a signature (o) of a message (u) to the development of which the emitter has collaborated but without the latter being able to find it from the elements known to him during these exchanges or to link it, when it is presented to it retrospectively, to the withdrawal from which it originates if the issuer has issued several signatures, this process being characterized by the fact that the user only communicates to the issuer a part (M) of the message to be signed , part that it incorporates in information elements necessary for the development of the signature, which once produced can be verified only with the help of the message (p) integer, whose part (M) which has been seen by the issuer.

L'invention a également pour objet un procédé de présentation d'une signature borgne obtenue par le procédé qui vient d'être défini, à une entité tierce dite "tiers" qui vérifie cette signature.  The subject of the invention is also a method for presenting a blind signature obtained by the method that has just been defined to a third party entity known as a "third party" that verifies this signature.

Exposé détaillé de modes particuliers de réalisation
Dans tous ce qui suit on se placera dans un groupe
Gq cyclique d'ordre q, où q est un entier premier, et dans lequel la détermination du logarithme est un problème difficile : trouver x, s'il existe, tel que ax=b est difficile.
Detailed presentation of particular modes of realization
In all that follows we will place ourselves in a group
A cyclic gq of order q, where q is a prime integer, and in which the determination of the logarithm is a difficult problem: finding x, if it exists, such that ax = b is difficult.

Un exemple de retrait de signature borgne conforme à l'invention va d'abord être décrit. Il s'apparente au schéma de signature aveugle exposé plus haut (Tableau
II). Mais selon l'invention, le message à signer comprend deux parties, une premier partie M qui sera rendue visible à l'émetteur et une seconde partie m qui restera invisible (ou masquée) pour celui-ci. Dans l'exemple décrit, l'émetteur E possède une clef secrète
SE et deux clefs publiques Pl, P2 associées à cette même clef secrète par deux nombres générateurs giet g2 ; on a donc : Pi = g1SE P2 = g2SE
A la différence du schéma de signature aveugle décrit plus haut (Tableau II), l'utilisateur transmet à l'émetteur, au début du procédé, la partie visible M du message et l'émetteur insère cette partie du message dans ses paramètres, par exemple en calculant un nombre générateur gM défini à partir des générateurs gi et g2 par g,9t = g1 g2.
An example of blind signature removal according to the invention will first be described. It is similar to the blind signature scheme discussed above (Table
II). But according to the invention, the message to be signed comprises two parts, a first part M which will be made visible to the transmitter and a second part m which will remain invisible (or masked) for it. In the example described, the transmitter E has a secret key
SE and two public keys Pl, P2 associated with this same secret key by two generating numbers giet g2; we have: Pi = g1SE P2 = g2SE
Unlike the blind signature scheme described above (Table II), the user transmits to the sender, at the beginning of the process, the visible part M of the message and the sender inserts this part of the message into its parameters, for example. example by calculating a generator number gM defined from the generators g1 and g2 by g, 9t = g1 g2.

C'est ce nombre g qui servira alors à calculer le nombre î et non plus le nombre g comme dans le tableau II. En tirant encore un nombre x au hasard, l'émetteur calculera g;t, et non plus gr
La suite des opérations restera sensiblement la même, à cette différence que l'utilisateur devra reconstituer le nombre t en tenant compte de la particularité de tM (et non plus de t) . Les opérations détaillées sont alors celles du tableau III.
It is this number g which will then serve to calculate the number I and not the number g as in Table II. By still drawing a random number x, the transmitter will calculate g; t, and no longer
The sequence of operations will remain substantially the same, with the difference that the user will have to reconstruct the number t taking into account the peculiarity of tM (and no longer t). The detailed operations are then those of Table III.

E U message ,u . clefsecrète . SE partie visible : M clefs publiques . P1, P2 partie invisible : m générateurs : g1, g2 P1 = g1SE , P2 = g2SE

Figure img00090001
EU message, u. secret keys. SE visible part: M public keys. P1, P2 invisible part: m generators: g1, g2 P1 = g1SE, P2 = g2SE
Figure img00090001

<tb> <SEP> M
<tb> calcule <SEP> g,W, <SEP> = <SEP> g, <SEP> g2
<tb> choisit <SEP> x <SEP> dans <SEP> Zq
<tb> calcule <SEP> 1M <SEP> =
<tb> <SEP> tM
<tb> <SEP> calcule <SEP> PM <SEP> = <SEP> P,A'P,
<tb> <SEP> choisit <SEP> u, <SEP> v <SEP> dans <SEP> Zq
<tb> <SEP> calcule <SEP> t," <SEP> = <SEP> t^Mg,tl <SEP> Pgu
<tb> <SEP> calcule <SEP> C'H(ln <SEP> M, <SEP> m)
<tb> <SEP> calcule <SEP> c <SEP> = <SEP> c <SEP>
<tb> <SEP> c
<tb> calcule <SEP> y <SEP> = <SEP> x- <SEP> cS,.
<tb> <SEP> y
<tb>
calcule y = y + v
tM = gMyPMc
obtient la signature e(y, c, M, m)
Tableau III
La signature obtenue est formée des deux nombres y et c, connus du seul utilisateur, et du message u=(M, m), dont la première partie seule, M, est connue de l'émetteur.
<tb><SEP> M
<tb> computes <SEP> g, W, <SEP> = <SEP> g, <SEP> g2
<tb> chooses <SEP> x <SEP> in <SEP> Zq
<tb> calculate <SEP> 1M <SEP> =
<tb><SEP> tM
<tb><SEP> computes <SEP> PM <SEP> = <SEP> P, A'P,
<tb><SEP> chooses <SEP> u, <SEP> v <SEP> in <SEP> Zq
<tb><SEP> calculates <SEP> t, "<SEP> = <SEP> t ^ Mg, tl <SEP> Pgu
<tb><SEP> computes <SEP>C'H (ln <SEP> M, <SEP> m)
<tb><SEP> calculates <SEP> c <SEP> = <SEP> c <SEP>
<tb><SEP> c
<tb> computes <SEP> y <SEP> = <SEP> x- <SEP> cS ,.
<tb><SEP> y
<Tb>
calculate y = y + v
tM = gMyPMc
gets the signature e (y, c, M, m)
Table III
The signature obtained is formed of the two numbers y and c, known only to the user, and the message u = (M, m), the first part of which alone, M, is known to the sender.

L'exploitation de cette signature s'effectue par un protocole de présentation auprès d'une troisième entité dit "Tiers" et notée T. Ce tiers calcule d'abord le produit gYsPM, autrement dit (glMg2)(PIMP2) Ce calcul est possible puisque le tiers reçoit y, c et M par la signature et qu'il connaît les clefs publiques PI, P2 ainsi que les générateurs gl, g2 de l'émetteur. Ce produit, qui n'est autre que le nombre tM calculé par l'utilisateur lors du retrait de la signature, permet au tiers de reformer la fonction H(tM, M, m) et de vérifier si le résultat est bien le nombre c contenu dans la signature. The exploitation of this signature is carried out by a presentation protocol with a third entity known as "Third Party" and denoted T. This third party first calculates the product gYsPM, in other words (glMg2) (PIMP2) This calculation is possible since the third party receives y, c and M by the signature and knows the public keys PI, P2 as well as the generators gl, g2 of the transmitter. This product, which is no other than the number tM calculated by the user during the withdrawal of the signature, allows the third party to reform the function H (tM, M, m) and to check if the result is the number c contained in the signature.

Ce protocole de présentation est illustré par le tableau IV suivant

Figure img00100001
This presentation protocol is illustrated by the following Table IV
Figure img00100001

<tb> <SEP> U <SEP> T
<tb> G(y, <SEP> C, <SEP> M, <SEP> m) <SEP> (y, <SEP> c, <SEP> M, <SEP> m) <SEP> tu <SEP> gMP.U
<tb> <SEP> c=H(t, <SEP> M, <SEP> m)
<tb>
Tableau IV
Le procédé qui vient d'être décrit peut s'appliquer au paiement électronique. Dans le cas d'un système de paiement, l'émetteur émet des signatures représentant des pièces électroniques. Les utilisateurs les emploient pour payer auprès des commerçants, lesquels jouent le rôle de tiers vérificateurs. La présentation de la pièce électronique peut donc s'assimiler à un paiement. Ces pièces doivent pouvoir être utilisées de façon anonyme, comme la monnaie fiduciaire classique, ce qui impose l'utilisation de signatures aveugles.
<tb><SEP> U <SEP> T
<tb> G (y, <SEP> C, <SEP> M, <SEP> m) <SEP> (y, <SEP> c, <SEP> M, <SEP> m) <SEP> you <SEP> gMP.U
<tb><SEP> c = H (t, <SEP> M, <SEP> m)
<Tb>
Table IV
The method just described can be applied to electronic payment. In the case of a payment system, the issuer issues signatures representing electronic coins. Users use them to pay merchants, who act as third-party auditors. The presentation of the electronic part can thus be assimilated to a payment. These coins must be able to be used anonymously, like traditional fiduciary money, which imposes the use of blind signatures.

Avec une signature borgne conforme à l'invention, la partie visible (M) du message peut contenir diverses informations, comme un montant maximal, les dates d'émission et d'expiration de la pièce, un nombre maximal d'utilisations autorisées. La partie invisible m peut contenir des données relatives au paiement, notamment l'identité du tiers (T), la date et l'heure, la référence du bien acheté. With a blind signature according to the invention, the visible part (M) of the message can contain various information, such as a maximum amount, the date of issue and expiration of the piece, a maximum number of authorized uses. The invisible portion m may contain payment data, including the identity of the third party (T), the date and time, the reference of the purchased property.

Pour remédier au problème de rendu de monnaie, une solution possible est d'émettre des pièces de montant faible, ou même correspondant à la granularité de la monnaie (par exemple, des pièces de 1 centime exclusivement). Cependant, cette solution obligerait à émettre des quantités importantes de pièces. Une autre solution consiste à émettre des pièces utilisables plusieurs fois, et constituées d'une signature borgne. To remedy the problem of rendering money, a possible solution is to issue coins of small amount, or even corresponding to the granularity of the currency (for example, coins of 1 cent exclusively). However, this solution would require issuing large quantities of parts. Another solution is to issue usable parts several times, and consist of a blind signature.

La partie visible M du message peut alors contenir le nombre maximal d'utilisations autorisé et le montant maximal autorisé pour l'ensemble de ces utilisations.The visible portion M of the message may then contain the maximum number of uses allowed and the maximum amount allowed for all of these uses.

Le procédé de signature borgne qui vient d'être décrit peut être combiné avec tout procédé de signature "juste" dans lequel des traces du retrait et/ou de la présentation peuvent être insérées dans les protocoles afin, le cas échéant, pour pouvoir retrouver l'utilisateur d'une pièce donnée ou les pièces d'un utilisateur donne. En particulier, le procédé de signature borgne de l'invention peut être combiné à un procédé particulier de signature juste tel que celui qui est décrit et revendiqué dans la demande de brevet déposée le jour même du dépôt de la présente demande par le présent Demandeur, et intitulée "Procédé de signature numérique juste".  The blind signature method which has just been described can be combined with any "just" signature method in which traces of the withdrawal and / or presentation can be inserted into the protocols in order, if necessary, to be able to find the user of a given part or parts of a given user. In particular, the blind signature method of the invention can be combined with a particular method of just signing such as that described and claimed in the patent application filed on the same day of the filing of the present application by the present Applicant, and entitled "Fair digital signature process".

Claims (11)

REVENDICATIONS 1. Procédé de retrait de signature numérique, dans lequel une entité dite "émetteur" (E) échange avec une entité dite "utilisateur" (U) des informations selon un protocole permettant à l'utilisateur d'obtenir une signature (o) d'un message (p) à l'élaboration de laquelle l'émetteur a collaboré mais sans que ce dernier puisse la retrouver à partir des éléments connus de lui lors de ces échanges ni la lier, lorsqu'elle lui est présentée a posteriori, au retrait dont elle provient si l'émetteur a émis plusieurs signatures, ce procédé étant caractérisé par le fait que l'utilisateur ne communique à l'émetteur qu'une partie (M) du message (p) à signer, partie que ce dernier incorpore dans des éléments d'information nécessaires à l'élaboration de la signature, qui une fois produite ne peut être vérifiée qu'à l'aide du message (p) entier, dont la partie (M) qui a été vue par l'émetteur. 1. Digital signature removal method, in which a so-called "issuer" entity (E) exchanges information with a so-called "user" entity (U) according to a protocol allowing the user to obtain a signature (o) d a message (p) to the development of which the emitter has collaborated but without the latter being able to find it from the elements known to him during these exchanges or to link it, when presented to him retrospectively, to the withdrawal from which it originates if the issuer has issued several signatures, this process being characterized by the fact that the user only communicates to the issuer a part (M) of the message (p) to be signed, a part that the latter incorporates in elements of information necessary for the development of the signature, which once produced can be verified only with the help of the message (p), including the part (M) which was seen by the transmitter . 2. Procédé selon la revendication 1, dans lequel The method of claim 1, wherein - l'émetteur (E) possède une première clef the transmitter (E) has a first key publique P1, un premier élément générateur public P1, a first generating element public gi, et une clef secrète SE, avec p -g5  public gi, and a secret key SE, with p -g5 l'émetteur possédant encore une seconde clef the transmitter still having a second key publique P2 et un second élément générateur public P2 and a second generating element public g2, avec P2=g2't, les nombres P,, P2, gi et g2  public g2, with P2 = g2't, the numbers P ,, P2, gi and g2 étant connus de l'utilisateur (U), being known to the user (U), - pour incorporer la partie (M) du message (p) to incorporate the part (M) of the message (p) qui lui est communiquée dans des éléments which is communicated to him in elements d'information nécessaires à l'élaboration de la information needed to develop the signature, l'émetteur calcule un élément gM signature, the transmitter calculates a gM element défini par defined by gAl = g1 g2 s  gAl = g1 g2 s - l'émetteur commençant ensuite le protocole de - the transmitter then starts the protocol of signature en choisissant au hasard un nombre signature by randomly selecting a number entier x, en calculant un nombre tM égal à gM,  integer x, calculating a number tM equal to gM, et en transmettant ce nombre tM and transmitting this number tM l'utilisateur. the user. 3. Procédé selon la revendication 2, dans lequel l'utilisateur (U), ayant reçu le nombre t^M, calcule un nombre PM égal au produit P1MP2, choisit au hasard deux nombres entiers u et v, calcule un nombre tM défini par 3. Method according to claim 2, wherein the user (U), having received the number t ^ M, calculates a number PM equal to the product P1MP2, randomly chooses two integers u and v, calculates a number tM defined by tM = tMgMvPMu, calcule un challenge (c) qui est une fonction de ce nombre tM et du message (p (M m)), soit c=H(t, M m) OÙ H est une fonction de hachage connue, puis calcule un challenge masqué (c) égal à c-u et transmet ce challenge masqué (c) à l'émetteur. tM = tMgMvPMu, calculates a challenge (c) which is a function of this number tM and the message (p (M m)), ie c = H (t, M m) where H is a known hash function, then computes a masked challenge (c) equal to cu and transmits this masked challenge (c) to the issuer. 4. Procédé selon la revendication 3, dans lequel l'émetteur (E), pour calculer la réponse appropriée au challenge masqué reçu (c), calcule un nombre y égal à Y=X-CSE et transmet ce nombre y à l'utilisateur (U).  4. The method according to claim 3, wherein the emitter (E), for calculating the appropriate response to the received masked challenge (c), calculates a number y equal to Y = X-CSE and transmits this number y to the user. (U). 5. Procédé selon la revendication 4, dans lequel, l'utilisateur (U) traite la réponse reçue (y) en calculant un nombre y défini par y=y+v, calcule la quantité gMyPMc et vérifie que cette quantité calculée coïncide avec le nombre tM déjà calculé, la signature (a) du message pouvant être alors constituée par l'utilisateur en regroupant la réponse traitée y, le challenge c et le message (p=(Mm)) (#=(y, c, M, m)).  The method according to claim 4, wherein the user (U) processes the received response (y) by calculating a number y defined by y = y + v, calculates the quantity gMyPMc and verifies that this computed quantity coincides with the number tM already calculated, the signature (a) of the message can then be constituted by the user by grouping the treated response y, the challenge c and the message (p = (Mm)) (# = (y, c, M, m)). 6. Procédé de présentation d'une signature obtenue selon la revendication 5, comprenant les opérations suivantes  The method of presenting a signature obtained according to claim 5, comprising the following operations - l'utilisateur transmet la signature (o=(y c, M m)) the user transmits the signature (o = (y c, M m)) à un tiers (T)  to a third party (T) - le tiers (T), à partir des nombres y,M et c pris - the third (T), from the numbers y, M and c taken dans la signature (a) ainsi que des nombres in the signature (a) as well as numbers générateurs gj g2 et des clefs publiques P,, P2 de generators gj g2 and public keys P ,, P2 of l'émetteur (E) calcule un nombre tM égal à (g1g2)Y.(P,ILp2)C,  the emitter (E) calculates a number tM equal to (g1g2) Y. (P, ILp2) C, - à partir du nombre tM ainsi calculé et des - from the number tM thus calculated and the première et seconde parties du message (M, m) first and second parts of the message (M, m) prises dans la signature, le tiers (T) calcule taken in the signature, the third (T) calculates la quantité H(tM. M m) et vérifie que cette the quantity H (tM.M m) and verifies that this quantité coïncide bien avec le challenge (c) quantity coincides well with the challenge (c) pris dans la signature reçue. taken in the signature received. 7. Procédé selon la revendication 6, dans lequel la production d'une signature représente la création d'une pièce de monnaie électronique au profit de l'utilisateur (U) et la présentation de la signature représente un paiement électronique auprès du tiers (T). The method of claim 6, wherein the production of a signature represents the creation of an electronic coin for the benefit of the user (U) and the presentation of the signature represents an electronic payment to the third party (T). ). 8. Procédé selon la revendication 7, dans lequel la partie (M) du message transmise à l'émetteur peut contenir des informations comme un montant maximal, une date d'émission, une date d'expiration, un nombre maximal d'utilisations autorisées. The method of claim 7, wherein the portion (M) of the message transmitted to the sender may contain information such as a maximum amount, a date of issue, an expiration date, a maximum number of permitted uses. . 9. Procédé selon la revendication 7, dans lequel la partie (m) du message non transmise à l'émetteur contient des données relatives au paiement, notamment l'identité du tiers (T), la date et l'heure, la référence du bien acheté. 9. The method of claim 7, wherein the portion (m) of the message not transmitted to the issuer contains payment data, including the identity of the third party (T), the date and time, the reference of the bought well. 10. Procédé selon la revendication 1, dans lequel on insère dans la signature (a) une information permettant de retrouver la trace de son retrait auprès de l'émetteur (E). 10. The method of claim 1, wherein is inserted in the signature (a) information to trace the withdrawal of the issuer (E). 11. Procédé selon la revendication 10, dans lequel le tiers (T) auquel la signature (o) est présentée inclut, dans la signature, une information permettant de retrouver la trace de la présentation de la signature.  11. The method of claim 10, wherein the third party (T) to which the signature (o) is presented includes in the signature, information to trace the presentation of the signature.
FR9802196A 1998-02-24 1998-02-24 BORGNE DIGITAL SIGNATURE PROCESS Expired - Fee Related FR2775399B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR9802196A FR2775399B1 (en) 1998-02-24 1998-02-24 BORGNE DIGITAL SIGNATURE PROCESS

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR9802196A FR2775399B1 (en) 1998-02-24 1998-02-24 BORGNE DIGITAL SIGNATURE PROCESS

Publications (2)

Publication Number Publication Date
FR2775399A1 true FR2775399A1 (en) 1999-08-27
FR2775399B1 FR2775399B1 (en) 2000-03-17

Family

ID=9523280

Family Applications (1)

Application Number Title Priority Date Filing Date
FR9802196A Expired - Fee Related FR2775399B1 (en) 1998-02-24 1998-02-24 BORGNE DIGITAL SIGNATURE PROCESS

Country Status (1)

Country Link
FR (1) FR2775399B1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005088900A1 (en) * 2004-03-16 2005-09-22 Matsushita Electric Industrial Co., Ltd. Information security apparatus and information security system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ABE M ET AL: "How to date blind signatures", ADVANCES IN CRYPTOLOGY - ASIACRYPT'96 INTERNATIONAL CONFERENCE ON THE THEORY AND APPLICATIONS OF CRYPTOLOGY AND INFORMATION SECURITY. PROCEEDINGS, ADVANCES IN CRYPTOLOGY - ASIACRYPT '96., 3 November 1996 (1996-11-03), ISBN 3-540-61872-4, 1996, Berlin, Germany, Springer-Verlag, Germany, pages 244 - 251, XP002086620 *
MIYAZAKI S ET AL: "A more efficient untraceable E-cash system with partially blind signatures based on the discrete logarithm problem", FINANCIAL CRYPTOGRAPHY. SECOND INTERNATIONAL CONFERENCE, FC'98 PROCEEDINGS, FINANCIAL CRYPTOGRAPHY. SECOND INTERNATIONAL CONFERENCE, FC'98. PROCEEDINGS, ANGUILLA, 23-25 FEB. 1998, ISBN 3-540-64951-4, 1998, Berlin, Germany, Springer-Verlag, Germany, pages 296 - 308, XP002086619 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005088900A1 (en) * 2004-03-16 2005-09-22 Matsushita Electric Industrial Co., Ltd. Information security apparatus and information security system

Also Published As

Publication number Publication date
FR2775399B1 (en) 2000-03-17

Similar Documents

Publication Publication Date Title
US6446052B1 (en) Digital coin tracing using trustee tokens
EP0311470B1 (en) Methods and systems to authenticate authorizations and messages with a zero knowledge-proof system and to provide messages with a signature
WO2003061193A1 (en) Method and device for anonymous signature with a shared private key
EP1459479A2 (en) Cryptographic system for group signature
FR2759226A1 (en) PROTOCOL FOR VERIFYING A DIGITAL SIGNATURE
EP1192608A2 (en) Electronic payment method and device
EP0878934B1 (en) Public key identification method using two hash functions
EP1166496A1 (en) Authentication and signature method for messages using reduced size of binary units of information content and corresponding systems
Schoenmakers Security aspects of the Ecash™ payment system
Tewari et al. Fully anonymous transferable ecash
JPH11508707A (en) Restricted blind certificate on private key
EP1466304A1 (en) Cryptographic revocation method using a chip card
Schoenmakers Security Aspects of the Ecash™ Payment System
Varadharajan et al. On the design of efficient RSA-based off-line electronic cash schemes
EP0731580B1 (en) Method of payment in a data communications application and device for its implementation
Tewari et al. Netcoin: A traceable P2P electronic cash system
FR2775399A1 (en) Digital signature procedure based on blind signatures for use in cryptography and electronic payment systems
CN110992010B (en) Digital currency issue total amount control method and verification method
WO2011030069A1 (en) Method for generating a digital certificate
EP0743775B1 (en) Method of zero-knowledge digital signatures, for creating a collision-resistant signature
FR2775400A1 (en) Correct digital signature identification technique
EP0980607A1 (en) Pseudo-random generator based on a hash coding function for cryptographic systems requiring random drawing
Luo et al. An e-cash Scheme with Multiple Denominations and Transferability
Wang et al. Bitcoin for E-Commerce: Principles and Applications
Zhang et al. An anonymous digital cash and fair payment protocol utilizing smart card in mobile environments

Legal Events

Date Code Title Description
ST Notification of lapse