EP4042633A1 - Method for deriving a partial signature with partial verification - Google Patents

Method for deriving a partial signature with partial verification

Info

Publication number
EP4042633A1
EP4042633A1 EP20796871.0A EP20796871A EP4042633A1 EP 4042633 A1 EP4042633 A1 EP 4042633A1 EP 20796871 A EP20796871 A EP 20796871A EP 4042633 A1 EP4042633 A1 EP 4042633A1
Authority
EP
European Patent Office
Prior art keywords
messages
signature
verification
partial signature
subset
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.)
Pending
Application number
EP20796871.0A
Other languages
German (de)
French (fr)
Inventor
Olivier Sanders
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
Orange 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 Orange SA filed Critical Orange SA
Publication of EP4042633A1 publication Critical patent/EP4042633A1/en
Pending 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • 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/42Anonymization, e.g. involving pseudonyms

Definitions

  • the invention relates to the general field of telecommunications and relates more precisely to the securing of exchanges between communication devices using cryptographic techniques such as electronic signature techniques.
  • the electronic signature is a cryptographic tool which makes it possible to authenticate any digital data, thus acting as the equivalent of the traditional handwritten signature.
  • This technique is now ubiquitous in our daily life, whether it is when browsing the Internet, since access to any URL in https implies the use of electronic signatures, or when paying at using a bank card. It also constitutes the very basis of anonymous authentication mechanisms, popularized by DAAs (standing for “Direct Anonymous Attestation”), and by EPID (standing for “Enhanced Privacy IDentity”). In most cases, it is not a single piece of data that is certified, but a set of n data, with n> 0, for example the name, date of birth, address, etc., of a person.
  • the existing electronic signature solutions can then be grouped into two families: those which produce a signature of constant size, and others whose size depends on the value of n.
  • the former are obviously preferable with regard to the size of the signature, but this constant cost hides a major flaw: the signature is valid on all the signed data and can therefore only be verified by transmitting all the data that have been signed.
  • One of the aims of the invention is to remedy shortcomings / drawbacks of the state of the art, and / or to make improvements thereto.
  • the invention proposes a method of deriving a partial signature for a subset (I) of a set of messages ( ⁇ m_l, ..., m_n ⁇ ), called a subset of messages, said partial signature being intended to prove the validity of a signature of the set of messages for the messages of the subset of messages, said method, implemented by a partial signature derivation entity, comprising:
  • a second verification element intended to prove that the first verification element is well formed, and for sending to a verification entity (12) a partial signature specific to the subset of messages, said partial signature comprising a constant number of elements comprising at least the elements of the signature of the set of messages, the first verification element (A) and the second verification element (B), said partial signature being intended to be checked with only messages from the message subset.
  • the method describes a signature system of constant size that combines the best of both worlds. Indeed, the proof of the signature can be done in a very efficient way because the proof includes a constant number of elements, the constant being of reasonable size; in fact, it requires four elements of the partial signature.
  • This system also makes it possible to check the validity of a signature on a subset of messages without needing to know, and therefore to transmit, the other parts of the message. This scheme can be advantageously used in all use cases requiring authentication, whether anonymous or not.
  • the generation of the partial signature comprises an anonymization of the partial signature, said anonymization comprising:
  • the method comprises beforehand a generation of a secret key and of an associated public key in a bilinear environment, said environment designating a first group G1, a second group G2 and a third group GT of order first p, as well as a bilinear map e, taking as input an element of the first group Gl, an element of the second group G2 and with values in the third group GT, that is to say g, respectively h, an element of the first group Gl, respectively of the second group G2, said generation comprising:
  • the derivation of the partial signature for the subset I of the set ⁇ 1, ..., n ⁇ of messages comprises:
  • the calculation of the partial signature includes the calculation of two elements A and B.
  • the messages used to calculate the first element A are the messages which are not part of the message subset.
  • the second element B uses messages of which one of the indices, i, traverses the set I relating to the subset of messages, while the other index j, relates to the messages which are not part of the subset of messages .
  • the signature is formed from the elements of the signature of all the messages, the first element A and the second element B.
  • the signing of the set of messages comprises:
  • the invention also relates to a method of verifying a partial signature for a subset I of a set of messages ⁇ m_l, ..., m_n ⁇ , called a subset of messages, said partial signature being intended for proving the validity of a signature of the set of messages for the messages of the subset of messages, said method, implemented by a partial signature verification entity, comprising:
  • said partial signature comprising a constant number of elements comprising at least the elements of the signature of the set of messages, a first element verification calculated from the messages of the set other than those of the subset of messages and a second verification element intended to prove that the first element is well formed
  • the partial signature verification method is suitable for verifying that a partial signature on a subset of messages is valid or not. Partial signature verification is the same whether it is a partial signature or an anonymous partial signature. Thus, whether it is a partial signature or an anonymous partial signature, the same verification process is used. The implementation of the signature scheme is thus simplified and optimized, thus offering better performance.
  • the invention also relates to an entity for deriving a partial signature, intended to derive a partial signature for a subset I of a set ⁇ 1, ..., n ⁇ of messages ⁇ m_l, ..., m_n ⁇ , said subset of messages, said partial signature being intended to prove the validity of a signature of the set of messages for the messages of the subset of messages, said partial signature derivation entity, comprising:
  • - reception means arranged to receive the set of messages ⁇ m_l, ..., m_n ⁇ and a signature (q, s) of said set of messages, said signature of all of the messages comprising signature elements of the set of messages,
  • Means for deriving a second element and sending arranged to derive a second verification element B intended to prove that the first verification element is well formed, and to send a signature verification entity partial a partial signature specific to the subset of messages, said partial signature comprising a constant number of elements comprising at least the elements of the signature of the set of messages, the first verification element and the second verification element, the partial signature being intended to be verified with only the messages of the message subset.
  • the invention also relates to a partial signature verification entity, intended to verify a partial signature for a subset I of a set of messages ⁇ m_l, ..., m_n ⁇ , called a subset of messages, said partial signature being intended to prove the validity of a signature of the set of messages for the messages of the subset of messages, said partial signature verification entity, comprising:
  • - reception means arranged to receive the subset of messages and a partial signature (q, s, A, B) specific to the subset of messages, said partial signature comprising a constant number of elements comprising at least the elements of the signature of the set of messages, a first verification element A calculated from the messages of the set other than those of the message subset and a second verification element B intended to prove that the first element of verification is well trained,
  • first verification means arranged to verify a first equation involving the messages of the subset of messages, the elements of the signature of the set of messages as well as the first verification element, and elements of the public key, and
  • second verification means arranged to verify a second equation involving the first verification element, the second verification element and elements of the public key.
  • a partial signature derivation and verification system comprising:
  • the invention also relates to a use of a partial signature derivation and verification system as described above in an anonymous accreditation system.
  • the partial signature derivation method and the partial signature verification method are particularly well suited to anonymous accreditations. Indeed, the need not to reveal certain parts of this data is evident in the field of anonymous accreditations and solved by the proposed scheme.
  • the exemplary embodiment relating to anonymous partial signatures can be directly used as an anonymous accreditation system because it also satisfies the strongest intraceability properties, while offering better performance than other state-of-the-art solutions. 'art.
  • the invention also relates to a computer program on a data medium and loadable into the memory of a computer, comprising program code instructions intended to control the execution of the steps of the signature derivation method as described above. , when the program is executed on said computer.
  • the invention also relates to a data medium in which the program described above is recorded.
  • the invention also relates to a computer program on a data medium and loadable into the memory of a computer, comprising program code instructions intended to control the execution of the steps of the partial signature verification method such as described above, when the program is executed on said computer.
  • the invention also relates to a data medium in which the program described above is recorded.
  • FIG. 1 shows the steps of a signature method, according to an exemplary embodiment
  • FIG. 2 is a schematic representation of an entity for deriving a partial signature capable of implementing the steps of the method for deriving a partial signature for a subset of messages, according to an exemplary embodiment
  • Figure 3 is a schematic representation of a verification entity of a partial signature capable of implementing the steps of the method of verifying a partial signature for a subset of messages, according to an exemplary embodiment.
  • the signature scheme described here operates in a bilinear environment which designates three groups, usually denoted G1, G2 and GT, of prime order p, as well as a bilinear application e called “bilinear coupling” taking as input an element of the group G1 and an element of group G2 and valued in group GT.
  • G1, G2 and GT groups
  • p prime order
  • G1 and G2 bilinear application e called “bilinear coupling” taking as input an element of the group G1 and an element of group G2 and valued in group GT.
  • This type of environment has become classic in cryptography and can be implemented very efficiently. It should be noted that the roles of G1 and G2 are perfectly interchangeable.
  • the signature scheme is based on a system that includes several entities:
  • the signatory entity 10 is a computer device which comprises code instructions for implementing those of the steps of the signature derivation method implemented by the signatory entity,
  • the signature derivation entity 11 is a computer device which comprises code instructions for implementing those of the steps of the signature derivation method implemented by the partial signature derivation entity 11,
  • the partial signature verification entity 12 is a computer device which comprises code instructions for implementing those of the steps of the signature derivation method implemented by the partial signature verification entity 12. Note that the same entity can combine several roles. For example, a signing entity can also act as a partial signature derivation entity. Likewise, a signatory entity may also be required to play the role of a partial signature verification entity.
  • n denotes the maximum number of data that can be signed at a time.
  • n the maximum number of data that can be signed at a time.
  • m_l the maximum number of data that can be signed at a time.
  • m_n ⁇ the maximum number of data that can be signed at a time.
  • the signature scheme described here makes it possible to very effectively verify the validity of a signature on any subset of messages.
  • the signing entity 10 In a prior key generation step E10, the signing entity 10 generates, for the signature scheme, a pair of secret / public keys Ks / Kp.
  • the generation of keys can be implemented by a dedicated entity, distinct from the signing entity 10, the keys, and in particular the secret key then being transmitted to the signing entity 10 of securely, according to known methods not presented here.
  • g h a random element of group Gl, respectively of group G2
  • the secret key Ks of the signatory in the signature system consists of the random integers (x, y_l, ..., y_n).
  • the public key Kp is made up of the elements X, Y_i, Z_ ⁇ i, j ⁇ , and H_i.
  • Kp (X, Y_i, Z_ ⁇ i, j ⁇ , H_i)
  • the signature of the set of n messages is then (q, s).
  • the signing entity 10 can also sign messages of size n ', with n' ⁇ n with this same pair of keys, that is to say, without regenerating a pair of keys.
  • the message of size n 'to be signed is completed with ‘0' until a message of size n is obtained, and the signing entity 10 then uses its pair of keys Ks / Kp to sign it.
  • the signing entity 10 sends the signature (q, s) of the set of n messages to the partial signature derivation entity 11 as well as the set (m_l,. .., m_n ⁇ .
  • a partial signature derivation step E12 implemented to prove the validity of the signature (q, s) on a subset of messages mi for i belonging to a subset I of the set (1,. .., n ⁇ of messages
  • the partial signature derivation entity 11 receives, in a reception sub-step E12, the signature (q, s) on the set of messages (m_l, ..., m_n ⁇ .
  • the partial signature derivation entity 11 calculates, or derives, in a step El 3 for deriving a first element, a first verification element A which aggregates all the messages mj whose index j is in (1,. .., n ⁇ but not in the subset I.
  • the appropriate notation is (1, ..., n ⁇ ⁇ I.
  • the first check element A thus relates in a way to messages which do not interest l signatory entity 10, more precisely on messages which are not part of those for which it wants to prove the validity of the signature (q, s).
  • the partial signature derivation entity 11 calculates:
  • A ⁇ _ ⁇ j in (1, ..., n ⁇ ⁇ I ⁇ Y _j ⁇ ⁇ m _j ⁇
  • the partial signature is then (q, s, A).
  • This signature is specific to m_i messages, with i in the set I, i.e. it is intended to be used to verify the validity of the signature of this sub-set mi of messages on the basis of the signature of the n messages (q, s) and with only the messages of the sub-set of messages.
  • the partial signature derivation entity 11 calculates, or derives, a second verification element B.
  • This second verification element B is intended to prove that the first verification element A is valid, i.e. it is well formed.
  • the second verification element B makes it possible to show that the first verification element A, calculated from the hidden messages, is well formed, i.e. it cannot be used to cheat on the value messages mi, for i in I, which are presented to the partial signature verification entity 12.
  • the partial signature derivation entity 11 calculates:
  • the partial signature is then (q, s, A, B).
  • the partial signature (q, s, A, B) and the subset of messages m i, with i in I, are then sent at the end of step E14 to the partial signature verification entity 12.
  • the partial signature is of constant size and comprises few elements, in this case four elements. .
  • the verification entity 12 therefore does not need to know the set of messages ⁇ m_l, ..., m_n ⁇ or of the messages which would be linked by construction to messages of the subset of messages, such as for l age, date of birth.
  • the partial signature verification entity 12 receives from the signature derivation entity 11 the subset of messages ⁇ m_i ⁇ , with i in I, and the partial signature (q, s, A, B).
  • e (B, h) e ( ⁇ _ ⁇ in I, j in ⁇ 1, ..., n ⁇ ⁇ I ⁇ ( g ⁇ ⁇ y_j.y _j ⁇ ) ⁇ m _j, h)
  • This second equation is intended to ensure that the first verification element A, which groups together all the hidden messages, that is to say the messages which are not part of the subset of messages to be signed, is well formed.
  • “well-formed” is meant here that the first verification element A cannot be used to cheat on the value of the messages m _ i, for i in I, which are presented for verification.
  • the second verification element B is none other than g ⁇ P.
  • the partial signature derivation entity 12 is forced to reconstitute the polynomial P.
  • the polynomial P contains square monomials of the form ry ⁇ 2_i which cannot be reconstructed from the elements Z_ ⁇ i, j ⁇ of the key public, which only exist with the condition i ⁇ j.
  • the partial signature derivation entity 11 is honest, all the monomials necessary for the reconstruction of the polynomial P are provided in the public key.
  • the partial signature verification entity 12 is unable to reconstruct the polynomial P.
  • the verification entity 12 transmits the result to any entity requesting this verification
  • the first and second steps E1 3 and 14 of signature derivation are slightly modified so as to anonymize the signature scheme described in relation to FIG. 1. Indeed, with the diagram described above, each time a partial signature derivation entity uses its signature to authenticate itself, it presents the same signature, which makes it possible to trace it.
  • the elements of the signature (q, s) are anonymized by means of random scalars.
  • the partial signature derivation entity 11 calculates the first verification element A as follows:
  • A (g ⁇ t). ( ⁇ _ ⁇ j in ⁇ 1, ..., n ⁇ ⁇ 1 ⁇ Y_j ⁇ ⁇ m_j ⁇ )
  • the entity 11 for deriving the partial signature calculates the second verification element B as follows:
  • the two elements A and B thus calculated depend on one of the random scalars. They are thus also anonymized.
  • the entity 11 for deriving the partial signature sends to the verification entity 12 the new partial signature (q ', s', A, B) as well as the messages m_i , with i in I.
  • the partial signature derivation entity 11 each time the partial signature derivation entity 11 derives a partial signature on the same subset of messages for the purpose of authenticating itself, then the derived partial signature is different.
  • the partial signature is thus anonymous and it is then impossible to trace the partial signature derivation entity 11 during its various authentications.
  • the new partial signature or anonymous partial signature (q ', s', A, B) is verified by the signature verification entity 12 in the same way as in the first exemplary embodiment, that is to say - say that it is treated in the same way as a non-anonymous partial signature. More precisely, this verification takes as input the subset of messages ⁇ m_i ⁇ , with i in I, the anonymous partial signature (q ', s', A, B) and verifies the same two equalities (1) and (2 ) described previously.
  • the implementation of the partial signature derivation is facilitated since depending on whether the partial signature is anonymous or not, the implementation of the verification of the partial signature is identical.
  • This embodiment is particularly suitable for use in anonymous certificates or accreditations.
  • An anonymous certificate makes it possible to prove a property or a right linked to its holder, without revealing the identity of the latter. It protects the privacy of the anonymous accreditation holder by providing the property of anonymity and here non-traceability. It takes the form here of a cryptographic datum: the partial signature, which can be shown by its holder, here the partial signature derivation entity 11, to an organization, here the partial signature verification entity 12, for prove a property linked to his identity.
  • the partial signature derivation entity 11 is computer equipment, such as a computer.
  • the partial signature derivation entity 11 comprises:
  • a processing unit or processor 30, or “CPU” (standing for “Central Processing Unit”), intended to load instructions into memory, to execute them, to carry out operations;
  • the storage memory 32 is designed to store a partial signature derivation software module which comprises code instructions for implementing the steps of the partial signature derivation method as described above and which are implemented by the partial signature derivation entity 11.
  • the storage memory 32 is also designed to store the public key Kp of the signature scheme in a secure area.
  • the partial signature derivation entity 11 also includes:
  • a reception module 33 designed to receive the set (m_l, ..., m_n ⁇ of messages and a signature of said set of messages.
  • the signature of all the messages comprises signature elements, denoted (q, s) of the set of messages.
  • the reception module 33 is designed to implement step E12 of the partial signature derivation method, a module 34 for deriving a first verification element, arranged to derive a first verification element A calculated from the messages of the set other than those of the subset of messages,
  • a module 35 for deriving a second verification and sending element arranged to derive a second verification element B intended to prove that the first verification element A is well formed and to send to a verification entity of a partial signature a partial signature specific to the subset of messages, said partial signature comprising a constant number of elements comprising at least the elements of the signature of the set of messages, the first verification element A, and the second element verification B.
  • the partial signature is intended to be verified with only the messages of the message subset.
  • the derivation and sending module 34 is designed to implement steps E13 and E14 of the partial signature derivation method as described above.
  • the reception module 33, the module 34 for deriving a first verification element and the module 35 for deriving a second verification and sending element are preferably software modules comprising software instructions for implementing those. steps of the partial signature derivation method implemented by the partial signature derivation entity.
  • the partial signature derivation entity 11 comprises a module (not shown in FIG. 2) for deriving an anonymous partial signature.
  • This module is designed to generate random scalars and to calculate new elements of the signature.
  • the module 34 for deriving the first verification element is arranged to calculate the first element A as follows:
  • A g ⁇ t. ⁇ _ ⁇ j in (1, ..., n ⁇ ⁇ 1 ⁇ Y _j ⁇ ⁇ m _j ⁇ .
  • the derivation module 35 of the second verification and sending element is arranged to calculate the second verification element B as follows:
  • the first and second verification elements A and B are thus anonymized by means of one of the random scalars.
  • the new partial signature is noted (q ', s', A, B).
  • the module 35 for deriving the second verification and sending element is also arranged to send the new partial signature (q ', s', A, B) to the partial signature verification entity 12. .
  • the invention therefore also relates to:
  • the partial signature verification entity 12 is computer equipment, such as a computer.
  • the partial signature verification entity 12 comprises:
  • processor 40 intended to load instructions into memory, to execute them, to carry out operations
  • the storage memory 42 is arranged to store a partial signature verification software module which comprises code instructions for implementing the steps of the partial signature derivation method as described above and which are implemented by the entity 12 for verifying the signature.
  • partial signature The storage memory 42 is also designed to store the public key Kp of the signature scheme.
  • the partial signature verification entity 11 also includes:
  • a reception module 43 designed to receive the subset of messages and the partial signature (q, s, A, B) of the partial signature derivation entity 11.
  • the receiving module 43 is designed to implement step E15 of receiving the partial signature derivation method as described above,
  • a first verification module 44 designed to verify a first equation involving the messages of the subset of messages, the elements of the signature of the set of messages as well as the first verification element and elements of the public key.
  • the first verification module 44 is arranged to implement step E1 6 of verifying a first equation of the partial signature derivation method as described above, and
  • a second verification module 45 arranged to verify a second equation involving the first element of verification of the partial signature, the second element of verification of the partial signature, and elements of the public key.
  • the second verification module 45 is designed to implement step E117 for verifying a second equation of the partial signature derivation method as described above.
  • the reception module 43, the first verification module 44 and the second verification module 45 are preferably software modules comprising software instructions for implementing the steps of the partial signature derivation method described above and implemented by the partial signature verification entity 12.
  • the invention therefore also relates to:
  • a computer program comprising instructions for implementing the steps of the partial signature derivation method as described above and which are implemented by the entity 12 for verifying a partial signature when this program is executed by a processor of the partial signature verification device,
  • a partial signature derivation and verification system comprising:

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

The invention relates to a method for deriving a partial signature for a subset (I) of a set of messages ({m_1, …, m_n}), called subset of messages, said partial signature being intended to prove the validity of a signature of the set of messages for the messages of the subset of messages, said method, implemented by a partial signature derivation entity, comprising: - a step (E12) of receiving the set of messages ({m_1, …, m_n}) and a signature of said set of messages, said signature comprising signature elements ((q, s)) of the set of messages, - a step (E13) of deriving a first verification element (A) calculated from the messages of the set other than those of the subset of messages, and - a step (E14) of deriving a second verification element (B) intended to prove that the first verification element is formed correctly, and of sending a partial signature specific to the subset of messages to a verification entity (12), said partial signature comprising a constant number of elements comprising at least the elements of the signature of the set of messages, the first verification element (A) and the second verification element (B), said partial signature being intended to be verified with only the messages of the subset of messages.

Description

PROCÉDÉ DE DÉRIVATION DE SIGNATURE PARTIELLE AVEC VÉRIFICATION PARTIELLE PARTIAL SIGNATURE BYPASS PROCESS WITH PARTIAL VERIFICATION
L'invention se rapporte au domaine général des télécommunications et concerne plus précisément la sécurisation des échanges entre dispositifs de communication à l'aide de techniques cryptographiques telles que des techniques de signature électronique. The invention relates to the general field of telecommunications and relates more precisely to the securing of exchanges between communication devices using cryptographic techniques such as electronic signature techniques.
La signature électronique est un outil cryptographique qui permet d'authentifier n'importe quelle donnée numérique, agissant ainsi comme l'équivalent de la signature manuscrite traditionnelle. Cette technique est aujourd'hui omniprésente dans notre vie quotidienne, que ce soit lors d'une navigation sur Internet, puisque l'accès à n'importe quelle URL en https implique l'usage de signatures électroniques, ou lors d'un paiement à l'aide d'une carte bancaire. Elle constitue par ailleurs la base même des mécanismes d'authentification anonyme, popularisés par les DAA (de l'anglais « Direct Anonymous Attestation »), et par les EPID (pour « Enhanced Privacy IDentity »). Dans la majeure partie des cas, ce n'est pas une donnée unique qui est certifiée, mais un ensemble de n données, avec n > 0, par exemple le nom, la date de naissance, l'adresse, etc., d'une personne. Les solutions de signatures électroniques existantes peuvent alors être regroupées en deux familles : celles qui produisent une signature de taille constante, et les autres dont la taille dépend de la valeur de n. Les premières sont bien évidemment préférables en ce qui concerne la taille de la signature, mais ce coût constant cache un défaut majeur : la signature est valide sur l'ensemble des données signées et ne peut donc être vérifiée qu'en transmettant toutes les données qui ont été signées. Il est bien sûr possible de recourir à des techniques dites preuves à divulgation nulle de connaissance (de l'anglais « zero-knowledge proofs ») pour dissimuler ces éléments, mais cela ne résout que le problème de l'anonymat : ces preuves, très coûteuses, ont une complexité en taille au minimum linéaire en le nombre d'éléments dissimulés. The electronic signature is a cryptographic tool which makes it possible to authenticate any digital data, thus acting as the equivalent of the traditional handwritten signature. This technique is now ubiquitous in our daily life, whether it is when browsing the Internet, since access to any URL in https implies the use of electronic signatures, or when paying at using a bank card. It also constitutes the very basis of anonymous authentication mechanisms, popularized by DAAs (standing for “Direct Anonymous Attestation”), and by EPID (standing for “Enhanced Privacy IDentity”). In most cases, it is not a single piece of data that is certified, but a set of n data, with n> 0, for example the name, date of birth, address, etc., of a person. The existing electronic signature solutions can then be grouped into two families: those which produce a signature of constant size, and others whose size depends on the value of n. The former are obviously preferable with regard to the size of the signature, but this constant cost hides a major flaw: the signature is valid on all the signed data and can therefore only be verified by transmitting all the data that have been signed. It is of course possible to use techniques known as zero-knowledge proofs to conceal these elements, but this only solves the problem of anonymity: this evidence, very expensive, have a minimum complexity in size linear in the number of hidden elements.
Deux schémas récents affichent une capacité à avoir une taille constante, tant pour la signature que pour la preuve de vérification. On connaît ainsi une première construction proposée par Camenisch et al. àTwo recent diagrams show an ability to have a constant size, both for the signature and for the proof of verification. We thus know a first construction proposed by Camenisch et al. at
Asiacrypt 2015 dans l'article « Composable and Modular Anonymous Credentials : Définitions and Practical Constructions » qui satisfait cette propriété. Cependant, de l'aveu même des auteurs, les instanciations les plus efficaces de cette construction impliquent des preuves de plus d'une centaine d'éléments, ce qui en exclut l'utilisation en pratique. En effet ici, la preuve de vérification est de taille constante mais cette constante est extrêmement élevée. Asiacrypt 2015 in the article "Composable and Modular Anonymous Credentials: Definitions and Practical Constructions" which satisfies this property. However, from According to the authors themselves, the most efficient instantiations of this construction involve proofs of more than a hundred elements, which excludes its use in practice. Indeed here, the proof of verification is of constant size but this constant is extremely high.
Plus récemment, Fuchsbauer et al. ont publié dans le Journal of Cryptology 2019 « Structure-Preserving Signatures on Equivalence Classes and Constant-Size Anonymous Credentials » qui présente une construction dotée de la même propriété. Prouver la validité d'une signature peut se faire de manière plus efficace qu'avec le schéma précédent, mais le problème majeur ici est l'impossibilité de prouver une quelconque relation sur les données certifiées sans les révéler. Par exemple, il n'est pas possible de prouver qu'on est majeur sans révéler sa date de naissance, ce qui est contraire à l'esprit des attestations anonymes. More recently, Fuchsbauer et al. published in the Journal of Cryptology 2019 "Structure-Preserving Signatures on Equivalence Classes and Constant-Size Anonymous Credentials" which presents a construct with the same property. Proving the validity of a signature can be done more efficiently than with the previous scheme, but the major problem here is the impossibility of proving any relation on the certified data without revealing it. For example, it is not possible to prove that you are of legal age without revealing your date of birth, which is contrary to the spirit of anonymous attestations.
Un des buts de l'invention est de remédier à des insuffisances/inconvénients de l'état de la technique, et/ou d'y apporter des améliorations. One of the aims of the invention is to remedy shortcomings / drawbacks of the state of the art, and / or to make improvements thereto.
A cette fin, l'invention propose un procédé de dérivation d'une signature partielle pour un sous-ensemble (I) d'un ensemble de messages ({m_l, ..., m_n}), dit sous- ensemble de messages, ladite signature partielle étant destinée à prouver la validité d'une signature de l'ensemble de messages pour les messages du sous-ensemble de messages, ledit procédé, mis en œuvre par une entité de dérivation de signature partielle, comprenant : To this end, the invention proposes a method of deriving a partial signature for a subset (I) of a set of messages ({m_l, ..., m_n}), called a subset of messages, said partial signature being intended to prove the validity of a signature of the set of messages for the messages of the subset of messages, said method, implemented by a partial signature derivation entity, comprising:
- réception de l'ensemble de messages ({m_l, ..., m_n}) et d'une signature dudit ensemble de messages, ladite signature comprenant des éléments de signature ((q, s)) de l'ensemble de messages, - reception of the set of messages ({m_l, ..., m_n}) and of a signature of said set of messages, said signature comprising signature elements ((q, s)) of the set of messages,
- dérivation d'un premier élément de vérification (A) calculé à partir des messages de l'ensemble autre que ceux du sous-ensemble de messages, et - derivation of a first verification element (A) calculated from the messages of the set other than those of the subset of messages, and
- dérivation d'un deuxième élément de vérification (B) destiné à prouver que le premier élément de vérification est bien formé, et d'envoi à une entité de vérification (12) d'une signature partielle propre au sous-ensemble de messages, ladite signature partielle comprenant un nombre constant d'éléments comprenant au moins les éléments de la signature de l'ensemble de messages, le premier élément de vérification (A) et le deuxième élément de vérification (B), ladite signature partielle étant destinée à être vérifiée avec les seuls messages du sous-ensemble de messages. - derivation of a second verification element (B) intended to prove that the first verification element is well formed, and for sending to a verification entity (12) a partial signature specific to the subset of messages, said partial signature comprising a constant number of elements comprising at least the elements of the signature of the set of messages, the first verification element (A) and the second verification element (B), said partial signature being intended to be checked with only messages from the message subset.
Le procédé décrit un système de signature de taille constante qui réunit le meilleur des deux mondes. En effet, la preuve de la signature peut se faire de manière très efficace car la preuve comprend un nombre constant d'éléments, la constante étant de taille raisonnable ; elle nécessite en effet quatre éléments de la signature partielle. Ce système permet par ailleurs de vérifier la validité d'une signature sur un sous-ensemble de messages sans avoir besoin de connaître, et donc de transmettre, les autres parties du message. Ce schéma peut être avantageusement utilisé dans tous les cas d'usage nécessitant une authentification, qu'elle soit anonyme ou pas. The method describes a signature system of constant size that combines the best of both worlds. Indeed, the proof of the signature can be done in a very efficient way because the proof includes a constant number of elements, the constant being of reasonable size; in fact, it requires four elements of the partial signature. This system also makes it possible to check the validity of a signature on a subset of messages without needing to know, and therefore to transmit, the other parts of the message. This scheme can be advantageously used in all use cases requiring authentication, whether anonymous or not.
De façon avantageuse, la génération de la signature partielle comprend une anonymisation de la signature partielle, ladite anonymisation comprenant : Advantageously, the generation of the partial signature comprises an anonymization of the partial signature, said anonymization comprising:
- anonymisation des éléments de la signature ((q, s)) au moyen de scalaires aléatoires, et - anonymization of the elements of the signature ((q, s)) by means of random scalars, and
- anonymisation du premier et du deuxième élément de vérification au moyen d'un des scalaires aléatoires. - anonymization of the first and second verification element by means of one of the random scalars.
Grâce à cette anonymisation, mise en œuvre par ajout judicieux d'éléments aléatoires, une signature devient parfaitement intraçable. Ainsi, une entité de dérivation de signature présentera, lors de deux authentifications différentes d'un même sous- ensemble de messages, une signature partielle différente. En effet, avec ce procédé, l'ensemble des messages non révélés est parfaitement masqué par de l'aléa. Il est admis que la propriété de non traçabilité d'une signature est une propriété de sécurité importante. Thanks to this anonymization, implemented by judicious addition of random elements, a signature becomes perfectly untraceable. Thus, a signature derivation entity will present, during two different authentications of the same subset of messages, a different partial signature. In fact, with this process, all of the undisclosed messages are perfectly masked by randomness. It is recognized that the property of non-traceability of a signature is an important security property.
Dans un exemple de réalisation, le procédé comprend au préalable une génération d'une clé secrète et d'une clé publique associée dans un environnement bilinéaire, ledit environnement désignant un premier groupe Gl, un deuxième groupe G2 et un troisième groupe GT d'ordre premier p, ainsi qu'une application bilinéaire e, prenant en entrée un élément du premier groupe Gl, un élément du deuxième groupe G2 et à valeurs dans le troisième groupe GT, soit g, respectivement h, un élément du premier groupe Gl, respectivement du deuxième groupe G2, ladite génération comprenant : In an exemplary embodiment, the method comprises beforehand a generation of a secret key and of an associated public key in a bilinear environment, said environment designating a first group G1, a second group G2 and a third group GT of order first p, as well as a bilinear map e, taking as input an element of the first group Gl, an element of the second group G2 and with values in the third group GT, that is to say g, respectively h, an element of the first group Gl, respectively of the second group G2, said generation comprising:
- génération par l'entité signataire de (n + 1) scalaires aléatoires (x, y_l, ..., y_n), lesdits scalaires aléatoires formant la clé secrète de l'entité signataire, et - generation by the signing entity of (n + 1) random scalars (x, y_l, ..., y_n), said random scalars forming the secret key of the signing entity, and
- calcul par l'entité signataire de X = gΛ{x}, Y_i = gΛ{y_i} pour 1 ≤ i = j ≤ n, Z_{i, j} = gΛ{y_i . y_j} pour 1 ≤ i≠ j ≤ n, et H_i = hΛ{y_i} pour 1 ≤ i ≤ n, les éléments X, Y_i, Z_{i, j} et H_i formant la clé publique. - calculation by the signatory entity of X = g Λ {x}, Y_i = g Λ {y_i} for 1 ≤ i = j ≤ n, Z_ {i, j} = g Λ {y_i. y_j} for 1 ≤ i ≠ j ≤ n, and H_i = h Λ {y_i} for 1 ≤ i ≤ n, the elements X, Y_i, Z_ {i, j} and H_i forming the public key.
Dans cet exemple de réalisation, il est décrit comment sont calculées les clés secrète et publique d'une entité signataire. In this exemplary embodiment, it is described how the secret and public keys of a signing entity are calculated.
Dans un exemple de réalisation, la signature de l'ensemble {1, ..., n} de messages, notés m_l, ..., m_n, comprend la sélection par l'entité signataire d'un élément aléatoire q du deuxième groupe G2, et le calcul de s = qΛ{x + y_l . m_l +...+ y_n . m_n}, ladite signature étant alors (q, s). In an exemplary embodiment, the signature of the set {1, ..., n} of messages, denoted m_l, ..., m_n, comprises the selection by the signing entity of a random element q from the second group G2, and the computation of s = q Λ {x + y_l. m_l + ... + y_n. m_n}, said signature then being (q, s).
Dans cet exemple de réalisation, il est décrit comment est calculée la signature de l'ensemble de messages. Celle-ci comprend deux éléments q et s. In this exemplary embodiment, it is described how the signature of the set of messages is calculated. This comprises two elements q and s.
Dans un exemple de réalisation, la dérivation de la signature partielle pour le sous- ensemble I de l'ensemble {1, ..., n} de messages comprend : In an exemplary embodiment, the derivation of the partial signature for the subset I of the set {1, ..., n} of messages comprises:
- génération du premier élément de vérification A = Π _{j dans {1, ..., n} \ I} · Y_ jΛ{m_j}, et - generation of the first verification element A = Π _ {j in {1, ..., n} \ I} Y_ j Λ {m_j}, and
- génération du deuxième élément de vérification B = Π_ {i dans I, j dans {1, ..., n} \ I} . Z_{i, j}Λ{m_j}, la signature partielle étant alors (q, s, A, B). - generation of the second verification element B = Π_ {i in I, j in {1, ..., n} \ I}. Z_ {i, j} Λ {m_j}, the partial signature then being (q, s, A, B).
Dans cet exemple de réalisation, il est décrit de façon précise comment est calculée, ou dérivée, la signature partielle du sous-ensemble de messages. Le calcul de la signature partielle comprend le calcul de deux éléments A et B. Les messages utilisés pour calculer le premier élément A sont les messages qui ne font pas partie du sous- ensemble de messages. Le deuxième élément B utilise des messages dont un des indices, i, parcourt l'ensemble I relatifs au sous-ensemble de messages, tandis que l'autre indice j, est relatif aux messages qui ne font pas partie du sous-ensemble de messages. La signature est formée des éléments de la signature de l'ensemble des messages, du premier élément A et du deuxième élément B. In this exemplary embodiment, it is precisely described how the partial signature of the subset of messages is calculated, or derived. The calculation of the partial signature includes the calculation of two elements A and B. The messages used to calculate the first element A are the messages which are not part of the message subset. The second element B uses messages of which one of the indices, i, traverses the set I relating to the subset of messages, while the other index j, relates to the messages which are not part of the subset of messages . The signature is formed from the elements of the signature of all the messages, the first element A and the second element B.
Dans un autre exemple de réalisation la signature de l'ensemble de messages comprend : In another exemplary embodiment, the signing of the set of messages comprises:
- sélection par l'entité signataire de deux scalaires r et t, - selection by the signatory entity of two scalars r and t,
- calcul de q' = qΛr, - calculation of q '= q Λ r,
- calcul de de s' = sΛr . qΛ{r . t}, - calculation of de s' = s Λ r. q Λ {r. t},
- génération du premier élément de vérification A = gΛt . Π _{j dans {1, ..., n} \ I} Y_jΛ{m_j}, et - génération du deuxième élément de vérification B = (Π_ {ΐ dans 1} Y_i)Λt . Π_ {i dans I, j dans {1, n} \ 1} Z_{i, j}Λ{m_j}, la signature partielle étant alors (q', s', A, B). - generation of the first verification element A = g Λ t. Π _ {j in {1, ..., n} \ I} Y_j Λ {m_j}, and - generation of the second verification element B = (Π_ {ΐ in 1} Y_i) Λ t. Π_ {i in I, j in {1, n} \ 1} Z_ {i, j} Λ {m_j}, the partial signature then being (q ', s', A, B).
Dans cet autre exemple il est décrit comment calculer, ou dériver, une signature partielle anonyme. Des scalaires aléatoires sont utilisés, rendant ainsi la signature partielle complètement intraçable. In this other example it is described how to calculate, or derive, an anonymous partial signature. Random scalars are used, thus making the partial signature completely untraceable.
L'invention porte aussi sur un procédé de vérification d'une signature partielle pour un sous-ensemble I d'un ensemble de messages {m_l, ..., m_n}, dit sous-ensemble de messages, ladite signature partielle étant destinée à prouver la validité d'une signature de l'ensemble de messages pour les messages du sous-ensemble de messages, ledit procédé, mis en œuvre par une entité de vérification de signature partielle, comprenant : The invention also relates to a method of verifying a partial signature for a subset I of a set of messages {m_l, ..., m_n}, called a subset of messages, said partial signature being intended for proving the validity of a signature of the set of messages for the messages of the subset of messages, said method, implemented by a partial signature verification entity, comprising:
- réception du sous-ensemble de messages et d'une signature partielle propre au sous-ensemble de messages, ladite signature partielle comprenant un nombre constant d'éléments comprenant au moins les éléments de la signature de l'ensemble de messages, un premier élément de vérification calculé à partir des messages de l'ensemble autres que ceux du sous-ensemble de messages et un deuxième élément de vérification destiné à prouver que le premier élément est bien formé, - reception of the subset of messages and of a partial signature specific to the subset of messages, said partial signature comprising a constant number of elements comprising at least the elements of the signature of the set of messages, a first element verification calculated from the messages of the set other than those of the subset of messages and a second verification element intended to prove that the first element is well formed,
- vérification d'une première équation impliquant les messages du sous-ensemble de messages, les éléments de la signature de l'ensemble de messages ainsi que le premier élément de vérification et des éléments de la clé publique, et - verification of a first equation involving the messages of the subset of messages, the elements of the signature of the set of messages as well as the first element of verification and elements of the public key, and
- vérification d'une seconde équation impliquant le premier élément de vérification de la signature, le deuxième élément de vérification de la signature et des éléments de la clé publique. - verification of a second equation involving the first signature verification element, the second signature verification element and elements of the public key.
Le procédé de vérification de signature partielle est adapté pour vérifier qu'une signature partielle sur un sous-ensemble de messages est valide, ou pas. La vérification de signature partielle est identique, qu'il s'agisse d'une signature partielle ou d'une signature partielle anonyme. Ainsi, qu'il s'agisse d'une signature partielle ou d'une signature partielle anonyme, le même procédé de vérification est utilisé. La mise en œuvre du schéma de signature en est ainsi simplifiée et optimisée, offrant donc de meilleures performances. The partial signature verification method is suitable for verifying that a partial signature on a subset of messages is valid or not. Partial signature verification is the same whether it is a partial signature or an anonymous partial signature. Thus, whether it is a partial signature or an anonymous partial signature, the same verification process is used. The implementation of the signature scheme is thus simplified and optimized, thus offering better performance.
Dans un exemple de réalisation du procédé de vérification d'une signature partielle dans lequel il a été généré pour une entité signataire une clé secrète et une clé publique associée dans un environnement bilinéaire, ledit environnement désignant un premier groupe Gl, un deuxième groupe G2 et un troisième groupe GT d'ordre premier p, ainsi qu'une application bilinéaire e, prenant en entrée un élément du premier groupe Gl, un élément du deuxième groupe G2 et à valeurs dans le troisième groupe GT, soit g, respectivement h, un élément du premier groupe Gl, respectivement du deuxième groupe G2, ladite génération comprenant : In an exemplary embodiment of the method for verifying a partial signature in which a secret key and a public key have been generated for a signing entity. associated in a bilinear environment, said environment designating a first group G1, a second group G2 and a third group GT of first order p, as well as a bilinear map e, taking as input an element of the first group G1, an element of the second group G2 and with values in the third group GT, that is to say g, respectively h, an element of the first group G1, respectively of the second group G2, said generation comprising:
- génération par l'entité signataire de (n + 1) scalaires aléatoires (x, y_l, ..., y_n), et- generation by the signing entity of (n + 1) random scalars (x, y_l, ..., y_n), and
- calcul par l'entité signataire de X = gΛ{x}, Y_i = gΛ{y_i} pour 1 ≤ i = j ≤ n, Z_{i, j} = gΛ{y_i . y_j} pour 1 ≤ i≠ j ≤ n, et H_i = hΛ{y_i} pour 1 ≤ i ≤ n, les éléments X, Y_i, Z_{i, j} et H_i formant la clé publique, la vérification de la signature partielle comprenant : - calculation by the signatory entity of X = g Λ {x}, Y_i = g Λ {y_i} for 1 ≤ i = j ≤ n, Z_ {i, j} = g Λ {y_i. y_j} for 1 ≤ i ≠ j ≤ n, and H_i = h Λ {y_i} for 1 ≤ i ≤ n, the elements X, Y_i, Z_ {i, j} and H_i forming the public key, verification of the signature partial including:
- vérification d'une première équation : e(X.A.Π_ {i dans I} Y_iΛ{m_i}, q)) = e(g, s), et - verification of a first equation: e (XAΠ_ {i in I} Y_i Λ {m_i}, q)) = e (g, s), and
- vérification d'une deuxième équation : e(A, Π_ {i dans I} H_i) = e(B, h). - verification of a second equation: e (A, Π_ {i in I} H_i) = e (B, h).
Il est précisé ici les différentes étapes du procédé de vérification de signature partielle. The various steps of the partial signature verification process are specified here.
L'invention porte également sur une entité de dérivation d'une signature partielle, destinée à dériver une signature partielle pour un sous-ensemble I d'un ensemble {1, ..., n} de messages {m_l, ..., m_n}, dit sous-ensemble de messages, ladite signature partielle étant destinée à prouver la validité d'une signature de l'ensemble de messages pour les messages du sous-ensemble de messages, ladite entité de dérivation de signature partielle, comprenant : The invention also relates to an entity for deriving a partial signature, intended to derive a partial signature for a subset I of a set {1, ..., n} of messages {m_l, ..., m_n}, said subset of messages, said partial signature being intended to prove the validity of a signature of the set of messages for the messages of the subset of messages, said partial signature derivation entity, comprising:
- des moyens de réception, agencés pour recevoir l'ensemble des messages {m_l, ..., m_n} et une signature (q, s) dudit ensemble de messages, ladite signature de l'ensemble des messages comprenant des éléments de signature de l'ensemble de messages, - reception means, arranged to receive the set of messages {m_l, ..., m_n} and a signature (q, s) of said set of messages, said signature of all of the messages comprising signature elements of the set of messages,
- des moyens de dérivation d'un premier élément, agencés pour dériver un premier élément de vérification A calculé à partir des messages de l'ensemble autres que ceux du sous-ensemble de messages, et means for deriving a first element, arranged to derive a first verification element A calculated from the messages of the set other than those of the subset of messages, and
- des moyens de dérivation d'un deuxième élément et d'envoi, agencés pour dériver un deuxième élément de vérification B destiné à prouver que le premier élément de vérification est bien formé, et pour envoyer à une entité de vérification d'une signature partielle une signature partielle propre au sous-ensemble de messages, ladite signature partielle comprenant un nombre constant d'éléments comprenant au moins les éléments de la signature de l'ensemble de messages, le premier élément de vérification et le deuxième élément de vérification, la signature partielle étant destinée à être vérifiée avec les seuls messages du sous-ensemble de messages. - Means for deriving a second element and sending, arranged to derive a second verification element B intended to prove that the first verification element is well formed, and to send a signature verification entity partial a partial signature specific to the subset of messages, said partial signature comprising a constant number of elements comprising at least the elements of the signature of the set of messages, the first verification element and the second verification element, the partial signature being intended to be verified with only the messages of the message subset.
L'invention concerne aussi une entité de vérification d'une signature partielle, destinée à vérifier une signature partielle pour un sous-ensemble I d'un ensemble de messages {m_l, ..., m_n}, dit sous-ensemble de messages, ladite signature partielle étant destinée à prouver la validité d'une signature de l'ensemble de messages pour les messages du sous-ensemble de messages, ladite entité de vérification de signature partielle, comprenant : The invention also relates to a partial signature verification entity, intended to verify a partial signature for a subset I of a set of messages {m_l, ..., m_n}, called a subset of messages, said partial signature being intended to prove the validity of a signature of the set of messages for the messages of the subset of messages, said partial signature verification entity, comprising:
- des moyens de réception, agencés pour recevoir le sous-ensemble de messages et une signature partielle (q, s, A, B) propre au sous-ensemble de messages, ladite signature partielle comprenant un nombre constant d'éléments comprenant au moins les éléments de la signature de l'ensemble de messages, un premier élément de vérification A calculé à partir des messages de l'ensemble autres que ceux du sous-ensemble de messages et un deuxième élément de vérification B destiné à prouver que le premier élément de vérification est bien formé, - reception means, arranged to receive the subset of messages and a partial signature (q, s, A, B) specific to the subset of messages, said partial signature comprising a constant number of elements comprising at least the elements of the signature of the set of messages, a first verification element A calculated from the messages of the set other than those of the message subset and a second verification element B intended to prove that the first element of verification is well trained,
- des premiers moyens de vérification, agencés pour vérifier une première équation impliquant les messages du sous-ensemble de messages, les éléments de la signature de l'ensemble de messages ainsi que le premier élément de vérification, et des éléments de la clé publique, et - first verification means, arranged to verify a first equation involving the messages of the subset of messages, the elements of the signature of the set of messages as well as the first verification element, and elements of the public key, and
- des seconds moyens de vérification, agencés pour vérifier une seconde équation impliquant le premier élément de vérification, le deuxième élément de vérification et des éléments de la clé publique. second verification means, arranged to verify a second equation involving the first verification element, the second verification element and elements of the public key.
L'invention porte également sur un système de dérivation de signature partielle et de vérification comprenant : Also disclosed is a partial signature derivation and verification system comprising:
- une entité de génération de signature partielle telle que décrite précédemment,- a partial signature generation entity as described above,
- une entité de vérification d'une signature partielle telle que décrite précédemment.- an entity for verifying a partial signature as described above.
L'invention concerne aussi une utilisation d'un système de dérivation de signature partielle et de vérification tel que décrit précédemment dans un système d'accréditations anonymes. Le procédé de dérivation de signature partielle et le procédé de vérification de signature partielle sont particulièrement bien adaptés aux accréditations anonymes. En effet, le besoin de ne pas révéler certaines parties de ces données est évident dans le domaine des accréditations anonymes et résolu par le schéma proposé. L'exemple de réalisation relatif aux signatures partielles anonymes peut être directement utilisé comme système d'accréditation anonyme car il satisfait en plus les propriétés d'intraçabilité les plus fortes, tout en offrant de meilleures performances que les autres solutions de l'état de l'art. The invention also relates to a use of a partial signature derivation and verification system as described above in an anonymous accreditation system. The partial signature derivation method and the partial signature verification method are particularly well suited to anonymous accreditations. Indeed, the need not to reveal certain parts of this data is evident in the field of anonymous accreditations and solved by the proposed scheme. The exemplary embodiment relating to anonymous partial signatures can be directly used as an anonymous accreditation system because it also satisfies the strongest intraceability properties, while offering better performance than other state-of-the-art solutions. 'art.
L'invention concerne aussi un programme d'ordinateur sur un support de données et chargeable dans la mémoire d'un ordinateur, comprenant des instructions de code de programme destinées à commander l'exécution des étapes du procédé de dérivation de signature tel que décrit précédemment, lorsque le programme est exécuté sur ledit ordinateur. The invention also relates to a computer program on a data medium and loadable into the memory of a computer, comprising program code instructions intended to control the execution of the steps of the signature derivation method as described above. , when the program is executed on said computer.
L'invention concerne également un support de données dans lequel est enregistré le programme décrit ci-dessus. The invention also relates to a data medium in which the program described above is recorded.
L'invention porte également sur un programme d'ordinateur sur un support de données et chargeable dans la mémoire d'un ordinateur, comprenant des instructions de code de programme destinées à commander l'exécution des étapes du procédé de vérification de signature partielle tel que décrit précédemment, lorsque le programme est exécuté sur ledit ordinateur. The invention also relates to a computer program on a data medium and loadable into the memory of a computer, comprising program code instructions intended to control the execution of the steps of the partial signature verification method such as described above, when the program is executed on said computer.
L'invention porte aussi sur support de données dans lequel est enregistré le programme décrit précédemment. The invention also relates to a data medium in which the program described above is recorded.
D'autres caractéristiques et avantages de la présente invention seront mieux compris de la description détaillée et des figures annexées parmi lesquels : la figure 1 présente les étapes d'un procédé de signature, selon un exemple de réalisation ; la figure 2 est une représentation schématique d'une entité de dérivation d'une signature partielle apte à mettre en œuvre les étapes du procédé de dérivation de signature partielle pour un sous-ensemble de messages, selon un exemple de réalisation ; la figure 3 est une représentation schématique d'une entité de vérification d'une signature partielle apte à mettre en œuvre les étapes du procédé de vérification d'une signature partielle pour un sous-ensemble de messages, selon un exemple de réalisation. Other characteristics and advantages of the present invention will be better understood from the detailed description and the appended figures, among which: FIG. 1 shows the steps of a signature method, according to an exemplary embodiment; FIG. 2 is a schematic representation of an entity for deriving a partial signature capable of implementing the steps of the method for deriving a partial signature for a subset of messages, according to an exemplary embodiment; Figure 3 is a schematic representation of a verification entity of a partial signature capable of implementing the steps of the method of verifying a partial signature for a subset of messages, according to an exemplary embodiment.
Les étapes d'un procédé de signature avec vérification partielle, selon un premier exemple de réalisation vont maintenant être décrites en relation avec la figure 1. The steps of a signature method with partial verification, according to a first exemplary embodiment, will now be described in relation to FIG. 1.
A noter que l'on utilise ici une notation habituelle en cryptographie dans laquelle :Note that we use here a usual notation in cryptography in which:
- « x_i » représente « x indice i », soit « xi » ; - “x_i” represents “x index i”, ie “xi”;
- « gΛx » représente « g puissance x », soit « gx », - "g Λ x" represents "g power x", or "g x ",
- le produit est schématisé par un point : « . », ou par le signe classique P (pi capitale) lorsque de nombreux facteurs indexés interviennent, - the product is represented by a point: “. », Or by the classic sign P (capital pi) when many indexed factors are involved,
- l'addition est classiquement schématisée par le signe « + », ou par le signe Σ (sigma capitale) lorsque de nombreux facteurs indexés interviennent. - addition is conventionally shown schematically by the sign "+", or by the sign Σ (capital sigma) when many indexed factors are involved.
Le schéma de signature décrit ici fonctionne dans un environnement bilinéaire qui désigne trois groupes, habituellement notés G1, G2 et GT, d'ordre premier p, ainsi qu'une application bilinéaire e appelée « couplage bilinéaire » prenant en entrée un élément du groupe G1 et un élément du groupe G2 et à valeurs dans le groupe GT. Ce type d'environnement est devenu classique en cryptographie et peut être implémenté très efficacement. Il est à noter que les rôles de G1 et de G2 sont parfaitement interchangeables . The signature scheme described here operates in a bilinear environment which designates three groups, usually denoted G1, G2 and GT, of prime order p, as well as a bilinear application e called “bilinear coupling” taking as input an element of the group G1 and an element of group G2 and valued in group GT. This type of environment has become classic in cryptography and can be implemented very efficiently. It should be noted that the roles of G1 and G2 are perfectly interchangeable.
Le schéma de signature repose sur un système qui comprend plusieurs entités :The signature scheme is based on a system that includes several entities:
- une entité signataire 10. L'entité signataire 10 est un dispositif informatique qui comprend des instructions de code pour mettre en œuvre celles des étapes du procédé de dérivation de signature mises en œuvre par l'entité signataires, a signatory entity 10. The signatory entity 10 is a computer device which comprises code instructions for implementing those of the steps of the signature derivation method implemented by the signatory entity,
- une entité 11 de dérivation de signature partielle. L'entité 11 de dérivation de signature est un dispositif informatique qui comprend des instructions de code pour mettre en œuvre celles des étapes du procédé de dérivation de signature mises en œuvre par l'entité 11 de dérivation de signature partielle, a partial signature derivation entity 11. The signature derivation entity 11 is a computer device which comprises code instructions for implementing those of the steps of the signature derivation method implemented by the partial signature derivation entity 11,
- une entité 12 de vérification de signature partielle. L'entité 12 de vérification de signature partielle est un dispositif informatique qui comprend des instructions de code pour mettre en œuvre celles des étapes du procédé de dérivation de signature mises en œuvre par l'entité 12 de vérification de signature partielle. A noter qu'une même entité peut cumuler plusieurs rôles. Par exemple, une entité signataire peut également jouer le rôle d'entité de dérivation de signature partielle. De même, une entité signataire peut également être amenée à jouer le rôle d'entité de vérification de signature partielle. a partial signature verification entity 12. The partial signature verification entity 12 is a computer device which comprises code instructions for implementing those of the steps of the signature derivation method implemented by the partial signature verification entity 12. Note that the same entity can combine several roles. For example, a signing entity can also act as a partial signature derivation entity. Likewise, a signatory entity may also be required to play the role of a partial signature verification entity.
Pour mémoire, un couplage bilinéaire e est une fonction vérifiant entre autres les propriétés suivantes : e(gΛa, hΛb) = e(g, h)Λ(a.b) e(gΛa, q) = e(g, q)Λa As a reminder, a bilinear coupling e is a function satisfying among others the following properties: e (g Λ a, h Λ b) = e (g, h) Λ (ab) e (g Λ a, q) = e (g , q) Λ a
Dans ce qui suit, n désigne le nombre maximal de données pouvant être signées à la fois. Dans la terminologie habituelle, on parle de messages plutôt que de données. Ainsi, on dispose d'un ensemble (1, ..., n} de messages à signer, noté (m_l, ..., m_n}. Par exemple, pour un individu de tels messages peuvent être un nom, une adresse, une date de naissance, etc. In the following, n denotes the maximum number of data that can be signed at a time. In the usual terminology, we speak of messages rather than data. Thus, we have a set (1, ..., n} of messages to sign, noted (m_l, ..., m_n}. For example, for an individual such messages can be a name, an address, a date of birth, etc.
Le schéma de signature décrit ici permet de vérifier très efficacement la validité d'une signature sur n'importe quel sous-ensemble de messages. The signature scheme described here makes it possible to very effectively verify the validity of a signature on any subset of messages.
Dans une étape préalable E10 de génération de clés, l'entité signataire 10 génère pour le schéma de signature, un couple de clés secrète/publique Ks/Kp. A noter que dans un autre exemple de réalisation, la génération de clés peut être mise en œuvre par une entité dédiée, distincte de l'entité signataire 10, les clés, et notamment la clé secrète étant alors transmise à l'entité signataire 10 de façon sécurisée, selon des méthodes connues non présentées ici. In a prior key generation step E10, the signing entity 10 generates, for the signature scheme, a pair of secret / public keys Ks / Kp. Note that in another exemplary embodiment, the generation of keys can be implemented by a dedicated entity, distinct from the signing entity 10, the keys, and in particular the secret key then being transmitted to the signing entity 10 of securely, according to known methods not presented here.
Soit g, respectivement h, un élément aléatoire du groupe Gl, respectivement du groupe G2, l'entité signataire commande la génération de (n+1) entiers aléatoires inférieurs à p, (x, y_l, ..., y_n), et construit les éléments suivants : x = gΛ{x}, Let g, respectively h, be a random element of group Gl, respectively of group G2, the signatory entity commands the generation of (n + 1) random integers less than p, (x, y_l, ..., y_n), and construct the following elements: x = g Λ {x},
Y_i = gΛ{y_i} pour 1 ≤= i ≤= n, Y_i = g Λ {y_i} for 1 ≤ = i ≤ = n,
Z_{i, j} = gΛ{y_i · y_j} pour 1 ≤= i≠ j ≤= n, Z_ {i, j} = g Λ {y_i · y_j} for 1 ≤ = i ≠ j ≤ = n,
H_i = hΛ{y_i} pour 1 ≤= I ≤= n H_i = h Λ {y_i} for 1 ≤ = I ≤ = n
La clé secrète Ks du signataire dans le système de signature est constituée par les entiers aléatoires (x, y_l, ..., y_n). The secret key Ks of the signatory in the signature system consists of the random integers (x, y_l, ..., y_n).
La clé publique Kp est formée des éléments X, Y_i, Z_{i, j}, et H_i. The public key Kp is made up of the elements X, Y_i, Z_ {i, j}, and H_i.
Ainsi : Ks = (x, y_l, · ··, y_n), et So : Ks = (x, y_l, · ··, y_n), and
Kp = (X, Y_i, Z_{i, j}, H_i) Kp = (X, Y_i, Z_ {i, j}, H_i)
De manière classique, la clé publique Kp est ensuite publiée, ici par l'entité signataire 10. Conventionally, the public key Kp is then published, here by the signing entity 10.
Dans une deuxième étape Eli de signature, l'entité signataire 10 signe n messages m_l, ..., m_n au moyen de sa clé secrète Ks. A cette fin, l'entité signataire 10 sélectionne un élément aléatoire q du groupe G2, et calcule : s = qΛ (x + y_l . m_l + ... + y_n . m_n} In a second signing step Eli, the signing entity 10 signs n messages m_l, ..., m_n by means of its secret key Ks. To this end, the signing entity 10 selects a random element q from the group G2, and calculate: s = q Λ (x + y_l. m_l + ... + y_n. m_n}
La signature de l'ensemble de n messages est alors (q, s). The signature of the set of n messages is then (q, s).
A noter que l'entité signataire 10 peut également signer des messages de taille n', avec n' ≤ n avec ce même couple de clés, c'est-à-dire, sans pour autant régénérer un couple de clés. Dans ce cas, le message de taille n' à signer est complété avec des ‘0' jusqu'à obtenir un message de taille n, et l'entité signataire 10 utilise alors son couple de clés Ks/Kp pour le signer. A la fin de l'étape Eli de signature, l'entité signataire 10 envoie la signature (q, s) de l'ensemble de n messages à l'entité 11 de dérivation de signature partielle ainsi que l'ensemble (m_l, ..., m_n}. Note that the signing entity 10 can also sign messages of size n ', with n' ≤ n with this same pair of keys, that is to say, without regenerating a pair of keys. In this case, the message of size n 'to be signed is completed with ‘0' until a message of size n is obtained, and the signing entity 10 then uses its pair of keys Ks / Kp to sign it. At the end of the signature step Eli, the signing entity 10 sends the signature (q, s) of the set of n messages to the partial signature derivation entity 11 as well as the set (m_l,. .., m_n}.
Dans une étape E12 de dérivation de signature partielle, mise en œuvre pour prouver la validité de la signature (q, s) sur un sous-ensemble de messages m i pour i appartenant à un sous-ensemble I de l'ensemble (1, ..., n} de messages, l'entité 11 de dérivation de signature partielle reçoit dans une sous-étape E12 de réception la signature (q, s) sur l'ensemble de messages (m_l, ..., m_n}. In a partial signature derivation step E12, implemented to prove the validity of the signature (q, s) on a subset of messages mi for i belonging to a subset I of the set (1,. .., n} of messages, the partial signature derivation entity 11 receives, in a reception sub-step E12, the signature (q, s) on the set of messages (m_l, ..., m_n}.
L'entité 11 de dérivation de signature partielle calcule, ou dérive, dans une étape El 3 de dérivation d'un premier élément, un premier élément de vérification A qui agrège tous les messages mj dont l'indice j est dans (1, ..., n} mais pas dans le sous- ensemble I. La notation appropriée est (1, ..., n} \ I. Le premier élément de vérification A porte ainsi en quelque sorte sur des messages qui n'intéressent pas l'entité signataire 10, plus précisément sur les messages qui ne font pas partie de ceux pour lesquels il veut prouver la validité de la signature (q, s). Ainsi, l'entité de dérivation de signature partielle 11 calcule : The partial signature derivation entity 11 calculates, or derives, in a step El 3 for deriving a first element, a first verification element A which aggregates all the messages mj whose index j is in (1,. .., n} but not in the subset I. The appropriate notation is (1, ..., n} \ I. The first check element A thus relates in a way to messages which do not interest l signatory entity 10, more precisely on messages which are not part of those for which it wants to prove the validity of the signature (q, s). Thus, the partial signature derivation entity 11 calculates:
A = Π_{j dans (1, ..., n} \ I} Y _jΛ{m _j} A = Π_ {j in (1, ..., n} \ I} Y _j Λ {m _j}
A ce stade, la signature partielle est alors (q, s, A). Cette signature est propre aux messages m_i, avec i dans l'ensemble I, c'est-à-dire qu'elle est destinée à être utilisée pour vérifier la validité de la signature de ce sous-ensemble m i de messages sur la base de la signature des n messages (q, s) et avec les seuls messages du sous-ensemble de messages. At this stage, the partial signature is then (q, s, A). This signature is specific to m_i messages, with i in the set I, i.e. it is intended to be used to verify the validity of the signature of this sub-set mi of messages on the basis of the signature of the n messages (q, s) and with only the messages of the sub-set of messages.
Dans cet exemple de réalisation, dans une étape E14 de dérivation d'un deuxième élément et d'envoi, l'entité 11 de dérivation de signature partielle calcule, ou dérive, un deuxième élément de vérification B. Ce deuxième élément de vérification B est destiné à prouver que le premier élément de vérification A est valide, c'est-à-dire qu'il est bien formé. Intuitivement, le deuxième élément de vérification B permet de montrer que le premier élément de vérification A, calculé à partir des messages dissimulés, est bien formé, c'est-à-dire qu'il ne peut pas être utilisé pour tricher sur la valeur des messages m i, pour i dans I, qui sont présentés à l'entité 12 de vérification de signature partielle. Ainsi, l'entité 11 de dérivation de signature partielle calcule : In this exemplary embodiment, in a step E14 of deriving a second element and sending, the partial signature derivation entity 11 calculates, or derives, a second verification element B. This second verification element B is intended to prove that the first verification element A is valid, i.e. it is well formed. Intuitively, the second verification element B makes it possible to show that the first verification element A, calculated from the hidden messages, is well formed, i.e. it cannot be used to cheat on the value messages mi, for i in I, which are presented to the partial signature verification entity 12. Thus, the partial signature derivation entity 11 calculates:
B = Π_ {i dans I, j dans {1, ..., n} \ I}Z_{i, j}Λ{m_j} B = Π_ {i in I, j in {1, ..., n} \ I} Z_ {i, j} Λ {m_j}
La signature partielle est alors (q, s, A, B). La signature partielle (q, s, A, B) et le sous-ensemble de messages m i, avec i dans I, sont alors envoyés en fin d'étape E14 à l'entité 12 de vérification de signature partielle. The partial signature is then (q, s, A, B). The partial signature (q, s, A, B) and the subset of messages m i, with i in I, are then sent at the end of step E14 to the partial signature verification entity 12.
Ainsi, quel que soit le nombre de messages du sous-ensemble de messages, quel que soit le nombre de messages de l'ensemble de messages, la signature partielle est de taille constante et comprend peu d'éléments, en l'espèce quatre éléments. A noter également que seuls les messages du sous-ensemble de messages {m_i}, avec i dans I, sont transmis. L'entité 12 de vérification n'a donc pas besoin de connaître l'ensemble de messages {m_l, ..., m_n} ou des messages qui seraient liés par construction à des messages du sous-ensemble de messages, tels que pour l'âge, la date de naissance. Thus, whatever the number of messages of the subset of messages, whatever the number of messages of the set of messages, the partial signature is of constant size and comprises few elements, in this case four elements. . Note also that only the messages of the message subset {m_i}, with i in I, are transmitted. The verification entity 12 therefore does not need to know the set of messages {m_l, ..., m_n} or of the messages which would be linked by construction to messages of the subset of messages, such as for l age, date of birth.
Dans une étape ultérieure El 5 de réception, l'entité 12 de vérification de signature partielle reçoit de l'entité 11 de dérivation de signature le sous-ensemble de messages {m_i}, avec i dans I, et la signature partielle (q, s, A, B). In a subsequent receiving step El 5, the partial signature verification entity 12 receives from the signature derivation entity 11 the subset of messages {m_i}, with i in I, and the partial signature (q, s, A, B).
L'entité 12 de vérification de signature partielle vérifie dans une première sous- étape El 6 de vérification une première équation : e(X . A . Π_ {i dans 1} Y_iΛ{m_i}, q) = e(g, s), (1) The partial signature verification entity 12 verifies in a first verification sub-step E1 6 a first equation: e (X. A. Π_ {i in 1} Y_i Λ {m_i}, q) = e (g, s ), (1)
L'entité de vérification 12 de signature partielle vérifie dans une seconde étape El 7 de vérification d'une seconde équation : e(A, Π_ {i dans 1} H_i) = e(B, h), (2) Si ces deux égalités, ou équations, sont satisfaites, la signature partielle, relative au sous-ensemble de messages m i, avec i dans I est valide. Dans le cas contraire elle est considérée comme invalide. The partial signature verification entity 12 verifies in a second step El 7 for verifying a second equation: e (A, Π_ {i in 1} H_i) = e (B, h), (2) If these two equalities, or equations, are satisfied, the partial signature, relating to the subset of messages mi, with i in I is valid. Otherwise it is considered invalid.
En effet, lorsque l'on développe la première équation (1), en utilisant la définition du premier élément de vérification A défini lors de l'étape E13 de dérivation d'un premier élément, on obtient : Indeed, when we develop the first equation (1), by using the definition of the first verification element A defined during the step E13 of derivation of a first element, we obtain:
= e(X . Π_{i dans 1} Y_iΛ{m_i} . Π_{j dans {1, ..., n} \ 1} Y_jΛ{m_j}, q) = e (X. Π_ {i in 1} Y_i Λ {m_i}. Π_ {j in {1, ..., n} \ 1} Y_j Λ {m_j}, q)
En utilisant les définitions de X et Y, on obtient : Using the definitions of X and Y, we get:
= e(gΛx . Π_ {i dans 1} (gΛ{y_i})Λ{Π_i} . Π_ {j dans {1, ..., n} \ 1}= e (g Λ x. Π_ {i in 1} (g Λ {y_i}) Λ {Π_i}. Π_ {j in {1, ..., n} \ 1}
(gΛ(y_j})Λ{m_j'}, q) (g Λ (y_j}) Λ {m_j ' }, q)
En utilisant la règle (gΛa)Λb = gΛ{a.b} et le fait que l'on combine le produit des Y_jΛ{m_j} dont l'indice j appartient à l'ensemble {1, ..., n} privé de l'ensemble I et des Y_iΛ{m_i} dont l'indice i est dans I, on obtient : Using the rule (g Λ a) Λ b = g Λ {ab} and the fact that we combine the product of Y_j Λ {m_j} whose index j belongs to the set {1, ..., n} deprived of the set I and of the Y_i Λ {m_i} whose index i is in I, we obtain:
= e(gΛ{x+Σ_{i dans {1, ..., n}}y_i.m_i}, q) = e (g Λ {x + Σ_ {i in {1, ..., n}} y_i.m_i}, q)
En utilisant la propriété du couplage : e(gΛa, q) = e(g, q)Λa, on obtient : By using the property of the coupling: e (g Λ a, q) = e (g, q) Λ a, we obtain:
= e(g, q)Λ {x + Σ_{i dans [1, n]}y_i.m_i} = e (g, q) Λ {x + Σ_ {i in [1, n]} y_i.m_i}
En utilisant la propriété de couplage qui permet de réintroduire un exposant sur le terme de son choix, on obtient : By using the coupling property which makes it possible to reintroduce an exponent on the term of one's choice, we obtain:
= e(g, qΛ{x+Σ_{i dans {1, ..., n}}y_i.m_i}) = e (g, q Λ {x + Σ_ {i in {1, ..., n}} y_i.m_i})
En utilisant la définition de s précisée dans la phase P10 de génération de clés, le terme devient : Using the definition of s specified in the key generation phase P10, the term becomes:
= e(g, s) = e (g, s)
Ainsi, e(X . Π_{i dans I } Y_j Λ{m_i { A, q) = e(g, s). Thus, e (X. Π_ {i in I} Y_j Λ {m_i {A, q) = e (g, s).
Cette première équation de vérification pourrait suffire pour vérifier la validité de la signature partielle qui porte sur les messages m i dont les indices i sont dans I. Cependant, rien ne dit que le premier élément de vérification A est généré correctement. C'est pourquoi l'entité 12 de vérification de signature partielle vérifie dans la seconde étape E16 de vérification la seconde équation. Lorsque l'on développe la deuxième équation (2), en utilisant la définition du premier élément de vérification A, on obtient : This first verification equation could be sufficient to verify the validity of the partial signature which relates to the messages m i whose indices i are in I. However, nothing says that the first verification element A is generated correctly. This is why the partial signature verification entity 12 verifies the second equation in the second verification step E16. When we develop the second equation (2), using the definition of the first verification element A, we obtain:
= e( Π_ {j dans {1, ..., n} \ I}Y_jΛ{m_j}, Π_ {i dans 1} H_i) = e (Π_ {j in {1, ..., n} \ I} Y_j Λ {m_j}, Π_ {i in 1} H_i)
En utilisant la définition de Y et de H, on obtient : Using the definition of Y and H, we get:
= e( Π_{j dans {1, ..., n} \ I}gΛ{y_j}Λ{m _j}, Π_ {i dans I}hΛ{y_i}) En utilisant la règle (gΛa)Λb = gΛ{a.b}on obtient : = e (Π_ {j in {1, ..., n} \ I} g Λ {y_j} Λ {m _j}, Π_ {i in I} h Λ {y_i}) Using the rule (g Λ a) Λ b = g Λ {ab} we get:
= e(gΛ{Σ_{j dans {1, n} \ 1} y _j.m _j}, hΛΣ_{i dans I}y_i) = e (g Λ {Σ_ {j in {1, n} \ 1} y _j.m _j}, h Λ Σ_ {i in I} y_i)
En utilisant la propriété du couplage e(gΛa, hΛb) = e(g, h)Λ(a.b), on obtient : Using the coupling property e (g Λ a, h Λ b) = e (g, h) Λ (ab), we get:
= e(g, h)Λ(( Σ_{j dans {1, .. n} \ 1} y_j.mj). (Σ_{i dans I}y_i)) = e (g, h) Λ ((Σ_ {j in {1, .. n} \ 1} y_j.mj). (Σ_ {i in I} y_i))
= e(g, h)Λ( Σ_{ i dans I , j dans {1, .. n} \ 1} y _j.m _j .y _j) = e (g, h) Λ (Σ_ {i in I, j in {1, .. n} \ 1} y _j.m _j .y _j)
Ce terme est égal à e(B, h). En effet, en utilisant la définition du deuxième élément de vérification B et de Z, on obtient : e(B, h) = e( Π_ {ΐ dans I, j dans {1, ...,n}\I}(gΛ{y_j.y _j})Λm _j, h) This term is equal to e (B, h). Indeed, by using the definition of the second verification element B and of Z, we obtain: e (B, h) = e (Π_ {ΐ in I, j in {1, ..., n} \ I} ( g Λ {y_j.y _j}) Λ m _j, h)
En utilisant les règles (gΛa)Λb = gΛ(a.b) et gΛa.gΛb = gΛ{a+b}, on obtient : e(B, h) = e(gΛ{Σ_{i dans I, j dans {1, ...,n}\l}(yj.y _j.m _j)}, h) Using the rules (g Λ a) Λ b = g Λ (ab) and g Λ ag Λ b = g Λ {a + b}, we get: e (B, h) = e (g Λ {Σ_ {i in I, j in {1, ..., n} \ l} (yj.y _j.m _j)}, h)
En utilisant la propriété du couplage e(gΛa, h) = e(g, h)Λa, on obtient : e(B, h) = e(g, h) Λ{Σ_{i dans I, j dans {1, ..., n}\l}(yj.y _j.m _j)} Using the coupling property e (g Λ a, h) = e (g, h) Λ a, we get: e (B, h) = e (g, h) Λ {Σ_ {i in I, j in {1, ..., n} \ l} (yj.y _j.m _j)}
Donc, on obtient : e(A, Π_ {i dans 1} H i) = e(B, h). So, we get: e (A, Π_ {i in 1} H i) = e (B, h).
Cette deuxième équation est destinée à garantir que le premier élément de vérification A, qui regroupe tous les messages dissimulés, c'est-à-dire les messages qui ne font pas partie du sous-ensemble de messages à signer, est bien formé. Par « bien formé » on entend ici que le premier élément de vérification A ne peut pas être utilisé pour tricher sur la valeur des messages m _ i, pour i dans I, qui sont présentés pour vérification. This second equation is intended to ensure that the first verification element A, which groups together all the hidden messages, that is to say the messages which are not part of the subset of messages to be signed, is well formed. By “well-formed” is meant here that the first verification element A cannot be used to cheat on the value of the messages m _ i, for i in I, which are presented for verification.
En effet, en continuant à développer la deuxième équation, l'exposant de e(g, h) est : Σ_{j dans {1, ..., n} \ 1} y _j.m _j) . (Σ_{i dans I}y_j) = Σ_{i dans I, j dans {1, ..., n} \ I [y_j.m_j.y_i Indeed, by continuing to develop the second equation, the exponent of e (g, h) is: Σ_ {j in {1, ..., n} \ 1} y _j.m _j). (Σ_ {i in I} y_j) = Σ_ {i in I, j in {1, ..., n} \ I [y_j.m_j.y_i
On obtient ainsi une somme de monômes de la forme y_j.mj.y i. On note cette somme de monômes le polynôme P. On remarque que les indices i et j qui interviennent dans un même monôme sont différents. En effet la première somme fait intervenir les messages, indicés par j, qui ne sont pas dans I, tandis que la deuxième somme fait intervenir les messages, indicés par i, qui sont dans I. Ainsi, on a la garantie, avec cette équation, de ne jamais rencontrer de monômes y_j.mj.y i avec i = j, ce qui donnerait un carré m_j.yΛ2_j. We thus obtain a sum of monomials of the form y_j.mj.y i. We denote this sum of monomials by the polynomial P. We notice that the indices i and j which occur in the same monomial are different. Indeed the first sum involves the messages, indexed by j, which are not in I, while the second sum involves the messages, indexed by i, which are in I. Thus, we have the guarantee, with this equation , never to meet monomials y_j.mj.yi with i = j, which would give a square m_j.y Λ 2_j.
Si l'entité 11 de dérivation de signature partielle a triché, c'est-à-dire, si dans le premier élément de vérification A, plus précisément dans le produit, elle a ajouté un élément Y_iΛr = gΛ(r.y_i) dont l'indice i serait dans I, alors l'exposant serait de la forme : If the partial signature derivation entity 11 cheated, that is, if in the first verification element A, more precisely in the product, it added a element Y_i Λ r = g Λ (r.y_i) whose index i would be in I, then the exponent would be of the form:
(r.y_i + Σ_{j dans {1, .. n} \ 1} y _j.m _j). (Σ_{i dans I}y_i) (r.y_i + Σ_ {j in {1, .. n} \ 1} y _j.m _j). (Σ_ {i in I} y_i)
Il apparaîtrait alors dans le polynôme P des monômes carrés de la forme r.y_iΛ2, qui n'apparaissaient pas avant. It would then appear in the polynomial P of the square monomials of the form r.y_i Λ 2, which did not appear before.
Il devient alors possible de distinguer le cas d'un premier élément de vérification A bien formé d'un premier élément A erroné. En effet, le deuxième élément de vérification B n'est autre que gΛP. En vérifiant la deuxième équation (2), on oblige l'entité 12 de dérivation de signature partielle à reconstituer le polynôme P. La clé publique comprend les éléments Z_{i, j} = gΛ(y_i . y_j), avec i≠ j. Ces éléments permettent donc de reconstruire tous les monômes de la forme y_j.m_j.y_i. Dans le cas où l'entité 11 de dérivation de signature partielle a triché, le polynôme P contient des monômes carrés de la forme r.yΛ2_i que l'on ne peut pas reconstruire à partir des éléments Z_{i, j} de la clé publique, qui n'existent qu'avec la condition i≠ j. Ainsi, si l'entité 11 de dérivation de signature partielle est honnête, tous les monômes nécessaires à la reconstruction du polynôme P sont fournis dans la clé publique. A l'inverse, si l'entité 11 de dérivation de signature partielle a triché, l'entité 12 de vérification de signature partielle se trouve dans l'incapacité de reconstituer le polynôme P. It then becomes possible to distinguish the case of a first verification element A properly formed from a first error element A. Indeed, the second verification element B is none other than g Λ P. By verifying the second equation (2), the partial signature derivation entity 12 is forced to reconstitute the polynomial P. The public key comprises the elements Z_ {i, j} = g Λ (y_i. Y_j), with i ≠ j. These elements thus make it possible to reconstruct all the monomials of the form y_j.m_j.y_i. In the case where the partial signature derivation entity 11 has cheated, the polynomial P contains square monomials of the form ry Λ 2_i which cannot be reconstructed from the elements Z_ {i, j} of the key public, which only exist with the condition i ≠ j. Thus, if the partial signature derivation entity 11 is honest, all the monomials necessary for the reconstruction of the polynomial P are provided in the public key. Conversely, if the partial signature derivation entity 11 has cheated, the partial signature verification entity 12 is unable to reconstruct the polynomial P.
En fin de deuxième étape E17 de vérification de la signature partielle, l'entité 12 de vérification transmet le résultat à toute entité sollicitant cette vérification At the end of the second step E17 for verifying the partial signature, the verification entity 12 transmits the result to any entity requesting this verification
Dans un deuxième exemple de réalisation du procédé de signature avec vérification partielle, les première et deuxième étapes El 3 et 14 de dérivation de signature sont légèrement modifiées de manière à anonymiser le schéma de signature décrit en relation avec la figure 1. En effet, avec le schéma décrit précédemment, chaque fois qu'une entité de dérivation de signature partielle utilise sa signature pour s'authentifier, elle présente la même signature, ce qui permet de la tracer. In a second exemplary embodiment of the signature method with partial verification, the first and second steps E1 3 and 14 of signature derivation are slightly modified so as to anonymize the signature scheme described in relation to FIG. 1. Indeed, with the diagram described above, each time a partial signature derivation entity uses its signature to authenticate itself, it presents the same signature, which makes it possible to trace it.
Ainsi, dans une étape supplémentaire El 8 de génération de scalaires et de calcul de nouveaux éléments de la signature, représentée en pointillés sur la figure 1 et mise en œuvre dans le but de prouver la validité de la signature des m messages (q, s) sur un sous-ensemble de messages m i, avec i dans I, l'entité 11 de dérivation de signature partielle génère deux scalaires r et t. L'entité 11 de dérivation de signature partielle calcule ensuite : q' = qΛr, s' = sΛr . qΛ{r . t}, (q', s') formant les nouveaux éléments de la signature. Ainsi les éléments de la signature (q, s) sont anonymisés au moyen de scalaires aléatoires. Thus, in an additional step El 8 of generation of scalars and of calculation of new elements of the signature, represented in dotted lines in FIG. 1 and implemented with the aim of proving the validity of the signature of the m messages (q, s ) on a subset of messages mi, with i in I, the partial signature derivation entity 11 generates two scalars r and t. The partial signature derivation entity 11 then calculates: q '= q Λ r, s' = s Λ r. q Λ {r. t}, (q ', s') forming the new elements of the signature. Thus the elements of the signature (q, s) are anonymized by means of random scalars.
Dans ce deuxième exemple de réalisation, dans l'étape E13 de dérivation du premier élément de vérification, l'entité 11 de dérivation de signature partielle calcule le premier élément de vérification A comme suit : In this second exemplary embodiment, in the step E13 of deriving the first verification element, the partial signature derivation entity 11 calculates the first verification element A as follows:
A = (gΛt) . (Π_ {j dans {1, ..., n} \ 1} Y_jΛ{m_j}) A = (g Λ t). (Π_ {j in {1, ..., n} \ 1} Y_j Λ {m_j})
Dans l'étape E14 de dérivation du deuxième élément, l'entité 11 de dérivation de la signature partielle calcule le deuxième élément de vérification B comme suit : In the step E14 for deriving the second element, the entity 11 for deriving the partial signature calculates the second verification element B as follows:
B = (Π_ {i dans 1} Y_i)Λt . (Π_ {ΐ dans I, j dans {1, ...n} \ 1} Z_{i, j}Λ{m_j})B = (Π_ {i in 1} Y_i) Λ t. (Π_ {ΐ in I, j in {1, ... n} \ 1} Z_ {i, j} Λ {m_j})
Les deux éléments A et B ainsi calculés dépendent d'un des scalaires aléatoires. Ils sont ainsi également anonymisés. The two elements A and B thus calculated depend on one of the random scalars. They are thus also anonymized.
La nouvelle signature partielle est alors notée (q', s', A, B). The new partial signature is then noted (q ', s', A, B).
En fin d'étape E14 de dérivation du deuxième élément, l'entité 11 de dérivation de la signature partielle envoie à l'entité 12 de vérification la nouvelle signature partielle (q', s', A, B) ainsi que les messages m_i, avec i dans I. At the end of step E14 for deriving the second element, the entity 11 for deriving the partial signature sends to the verification entity 12 the new partial signature (q ', s', A, B) as well as the messages m_i , with i in I.
Ainsi, à chaque fois que l'entité 11 de dérivation de signature partielle dérive une signature partielle sur un même sous-ensemble de messages dans le but de s'authentifier, alors la signature partielle dérivée est différente. La signature partielle est ainsi anonyme et il est alors impossible de tracer l'entité 11 de dérivation de signature partielle lors de ses différentes authentifications. Thus, each time the partial signature derivation entity 11 derives a partial signature on the same subset of messages for the purpose of authenticating itself, then the derived partial signature is different. The partial signature is thus anonymous and it is then impossible to trace the partial signature derivation entity 11 during its various authentications.
A noter que la nouvelle signature partielle ou signature partielle anonyme (q', s', A, B) est vérifiée par l'entité 12 de vérification de signature de la même manière que dans le premier exemple de réalisation, c'est-à-dire qu'elle est traitée de la même manière qu'une signature partielle non anonyme. Plus précisément, cette vérification prend en entrée le sous-ensemble de messages {m_i}, avec i dans I, la signature partielle anonyme (q', s', A, B) et vérifie les deux mêmes égalités (1) et (2) décrites précédemment. Note that the new partial signature or anonymous partial signature (q ', s', A, B) is verified by the signature verification entity 12 in the same way as in the first exemplary embodiment, that is to say - say that it is treated in the same way as a non-anonymous partial signature. More precisely, this verification takes as input the subset of messages {m_i}, with i in I, the anonymous partial signature (q ', s', A, B) and verifies the same two equalities (1) and (2 ) described previously.
Ainsi, la mise en œuvre de la dérivation de signature partielle est facilitée puisque selon que la signature partielle est anonyme ou pas, la mise en œuvre de la vérification de la signature partielle est identique. Thus, the implementation of the partial signature derivation is facilitated since depending on whether the partial signature is anonymous or not, the implementation of the verification of the partial signature is identical.
Ce mode de réalisation est particulièrement adapté pour une utilisation dans les attestations ou accréditations anonymes. Une attestation anonyme permet de prouver une propriété ou un droit lié à son détenteur, sans révéler l'identité de celui-ci. Elle protège la vie privée du détenteur de l'accréditation anonyme en fournissant la propriété d'anonymat et ici de non traçabilité. Elle prend la forme ici d'une donnée cryptographique : la signature partielle, qui peut être montrée par son détenteur, ici l'entité 11 de dérivation de signature partielle, à une organisation, ici l'entité 12 de vérification de signature partielle, pour prouver une propriété liée à son identité. This embodiment is particularly suitable for use in anonymous certificates or accreditations. An anonymous certificate makes it possible to prove a property or a right linked to its holder, without revealing the identity of the latter. It protects the privacy of the anonymous accreditation holder by providing the property of anonymity and here non-traceability. It takes the form here of a cryptographic datum: the partial signature, which can be shown by its holder, here the partial signature derivation entity 11, to an organization, here the partial signature verification entity 12, for prove a property linked to his identity.
Une entité de dérivation d'une signature partielle, selon un exemple de réalisation, va maintenant être décrite en relation avec la figure 2. An entity for deriving a partial signature, according to an exemplary embodiment, will now be described in relation to FIG. 2.
L'entité 11 de dérivation de signature partielle est un équipement informatique, tel un ordinateur. The partial signature derivation entity 11 is computer equipment, such as a computer.
L'entité 11 de dérivation de signature partielle comprend : The partial signature derivation entity 11 comprises:
- une unité de traitement ou processeur 30, ou "CPU" (de l'anglais "Central Processing Unit"), destinée à charger des instructions en mémoire, à les exécuter, à effectuer des opérations ; a processing unit or processor 30, or “CPU” (standing for “Central Processing Unit”), intended to load instructions into memory, to execute them, to carry out operations;
- un ensemble de mémoires, dont une mémoire volatile 31, ou "RAM" (pour "Random Access Memory") utilisée pour exécuter des instructions de code, stocker des variables, etc., et une mémoire de stockage 32 de type « EEPROM » (de l'anglais « Electrically Erasable Programmable Read Only Memory »). En particulier, la mémoire de stockage 32 est agencée pour mémoriser un module logiciel de dérivation de signature partielle qui comprend des instructions de code pour mettre en œuvre les étapes du procédé de dérivation de signature partielle tel que décrit précédemment et qui sont mises en œuvre par l'entité 11 de dérivation de signature partielle. La mémoire de stockage 32 est également agencée pour mémoriser dans une zone sécurisée la clé publique Kp du schéma de signature. a set of memories, including a volatile memory 31, or “RAM” (for “Random Access Memory”) used to execute code instructions, store variables, etc., and a storage memory 32 of the “EEPROM” type (standing for “Electrically Erasable Programmable Read Only Memory”). In particular, the storage memory 32 is designed to store a partial signature derivation software module which comprises code instructions for implementing the steps of the partial signature derivation method as described above and which are implemented by the partial signature derivation entity 11. The storage memory 32 is also designed to store the public key Kp of the signature scheme in a secure area.
L'entité 11 de dérivation de signature partielle comprend également : The partial signature derivation entity 11 also includes:
- un module de réception 33, agencé pour recevoir l'ensemble (m_l, ..., m_n} de messages et une signature dudit ensemble de messages. La signature de l'ensemble des messages comprend des éléments de signature, notés (q, s) de l'ensemble de messages. Le module de réception 33 est agencé pour mettre en œuvre l'étape E12 du procédé de dérivation de signature partielle, - un module 34 de dérivation d'un premier élément de vérification, agencé pour dériver un premier élément de vérification A calculé à partir des messages de l'ensemble autres que ceux du sous-ensemble de messages, a reception module 33, designed to receive the set (m_l, ..., m_n} of messages and a signature of said set of messages. The signature of all the messages comprises signature elements, denoted (q, s) of the set of messages The reception module 33 is designed to implement step E12 of the partial signature derivation method, a module 34 for deriving a first verification element, arranged to derive a first verification element A calculated from the messages of the set other than those of the subset of messages,
- un module 35 de dérivation d'un deuxième élément de vérification et d'envoi, agencé pour dériver un deuxième élément de vérification B destiné à prouver que le premier élément de vérification A est bien formé et pour envoyer à une entité de vérification d'une signature partielle une signature partielle propre au sous-ensemble de messages, ladite signature partielle comprenant un nombre constant d'éléments comprenant au moins les éléments de la signature de l'ensemble de messages, le premier élément de vérification A, et le deuxième élément de vérification B. La signature partielle est destinée à être vérifiée avec les seuls messages du sous-ensemble de messages. Le module 34 de dérivation et d'envoi est agencé pour mettre en œuvre les étapes E13 et E14 du procédé de dérivation de signature partielle tel que décrit précédemment. a module 35 for deriving a second verification and sending element, arranged to derive a second verification element B intended to prove that the first verification element A is well formed and to send to a verification entity of a partial signature a partial signature specific to the subset of messages, said partial signature comprising a constant number of elements comprising at least the elements of the signature of the set of messages, the first verification element A, and the second element verification B. The partial signature is intended to be verified with only the messages of the message subset. The derivation and sending module 34 is designed to implement steps E13 and E14 of the partial signature derivation method as described above.
Le module de réception 33, le module 34 de dérivation d'un premier élément de vérification et le module 35 de dérivation d'un deuxième élément de vérification et d'envoi sont de préférence des modules logiciels comprenant des instructions logicielles pour mettre en œuvre celles des étapes du procédé de dérivation de signature partielle mises en œuvre par l'entité de dérivation de signature partielle. The reception module 33, the module 34 for deriving a first verification element and the module 35 for deriving a second verification and sending element are preferably software modules comprising software instructions for implementing those. steps of the partial signature derivation method implemented by the partial signature derivation entity.
Dans un deuxième exemple de réalisation, l'entité 11 de dérivation de signature partielle comprend un module (non représenté sur la figure 2) de dérivation d'une signature partielle anonyme. Ce module est agencé pour générer des scalaires aléatoires et pour calculer de nouveaux éléments de la signature. Ainsi ce module génère deux scalaires r et t, puis calcule : q' = qΛr, s' = sΛr . qΛ{r . t}, (q', s') formant les nouveaux éléments de la signature. In a second exemplary embodiment, the partial signature derivation entity 11 comprises a module (not shown in FIG. 2) for deriving an anonymous partial signature. This module is designed to generate random scalars and to calculate new elements of the signature. Thus this module generates two scalars r and t, then calculates: q '= q Λ r, s' = s Λ r. q Λ {r. t}, (q ', s') forming the new elements of the signature.
Dans cet exemple de réalisation, le module 34 de dérivation du premier élément de vérification est agencé pour calculer le premier élément A comme suit : In this exemplary embodiment, the module 34 for deriving the first verification element is arranged to calculate the first element A as follows:
A = gΛt . Π_ {j dans (1, ..., n} \ 1} Y _jΛ{m _j}. A = g Λ t. Π_ {j in (1, ..., n} \ 1} Y _j Λ {m _j}.
Le module 35 de dérivation du deuxième élément de vérification et d'envoi est agencé pour calculer le deuxième élément de vérification B comme suit : The derivation module 35 of the second verification and sending element is arranged to calculate the second verification element B as follows:
B = (Π_ {ΐ dans 1} Y_i)Λt . Π_ {i dans I, j dans (1, ...n} \ 1} Z_{i, j}Λ{m_j}. Les premier et deuxième éléments de vérification A et B sont ainsi anonymisés au moyen d'un des scalaires aléatoires. B = (Π_ {ΐ in 1} Y_i) Λ t. Π_ {i in I, j in (1, ... n} \ 1} Z_ {i, j} Λ {m_j}. The first and second verification elements A and B are thus anonymized by means of one of the random scalars.
La nouvelle signature partielle est notée (q', s', A, B). Dans cet exemple de réalisation, le module 35 de dérivation du deuxième élément de vérification et d'envoi est également agencé pour envoyer la nouvelle signature partielle (q', s', A, B) à l'entité 12 de vérification de signature partielle. The new partial signature is noted (q ', s', A, B). In this exemplary embodiment, the module 35 for deriving the second verification and sending element is also arranged to send the new partial signature (q ', s', A, B) to the partial signature verification entity 12. .
L'invention concerne donc aussi : The invention therefore also relates to:
- un programme d'ordinateur comportant des instructions pour la mise en œuvre des étapes du procédé de dérivation de signature partielle tel que décrit précédemment et mises en œuvre par l'entité de dérivation de signature partielle lorsque ce programme est exécuté par un processeur du dispositif de dérivation de signature partielle, a computer program comprising instructions for the implementation of the steps of the partial signature derivation method as described above and implemented by the partial signature derivation entity when this program is executed by a processor of the device partial signature derivation,
- un support d'enregistrement lisible sur lequel est enregistré le programme d'ordinateur décrit ci-dessus. - a readable recording medium on which is recorded the computer program described above.
Une entité de vérification d'une signature partielle, selon un exemple de réalisation, va maintenant être décrite en relation avec la figure 4. An entity for verifying a partial signature, according to an example embodiment, will now be described in relation to FIG. 4.
L'entité 12 de vérification de signature partielle est un équipement informatique, tel un ordinateur. The partial signature verification entity 12 is computer equipment, such as a computer.
L'entité 12 de vérification de signature partielle comprend : The partial signature verification entity 12 comprises:
- une unité de traitement ou processeur 40, ou "CPU", destinée à charger des instructions en mémoire, à les exécuter, à effectuer des opérations ; a processing unit or processor 40, or “CPU”, intended to load instructions into memory, to execute them, to carry out operations;
- un ensemble de mémoires, dont une mémoire volatile 41, ou "RAM” utilisée pour exécuter des instructions de code, stocker des variables, etc., et une mémoire de stockage 42 de type « EEPROM ». En particulier, la mémoire de stockage 42 est agencée pour mémoriser un module logiciel de vérification de signature partielle qui comprend des instructions de code pour mettre en œuvre les étapes du procédé de dérivation de signature partielle tel que décrit précédemment et qui sont mises en œuvre par l'entité 12 de vérification de signature partielle. La mémoire de stockage 42 est également agencée pour mémoriser la clé publique Kp du schéma de signature. a set of memories, including a volatile memory 41, or “RAM” used to execute code instructions, store variables, etc., and a storage memory 42 of the “EEPROM” type. In particular, the storage memory 42 is arranged to store a partial signature verification software module which comprises code instructions for implementing the steps of the partial signature derivation method as described above and which are implemented by the entity 12 for verifying the signature. partial signature The storage memory 42 is also designed to store the public key Kp of the signature scheme.
L'entité 11 de vérification de signature partielle comprend également : The partial signature verification entity 11 also includes:
- un module 43 de réception, agencé pour recevoir le sous-ensemble de messages et la signature partielle (q, s, A, B) de l'entité 11 de dérivation de signature partielle. Le module 43 de réception est agencé pour mettre en œuvre l'étape E15 de réception du procédé de dérivation de signature partielle tel que décrit précédemment,a reception module 43, designed to receive the subset of messages and the partial signature (q, s, A, B) of the partial signature derivation entity 11. The receiving module 43 is designed to implement step E15 of receiving the partial signature derivation method as described above,
- un premier module 44 de vérification, agencé pour vérifier une première équation impliquant les messages du sous-ensemble de messages, les éléments de la signature de l'ensemble de messages ainsi que le premier élément de vérification et des éléments de la clé publique. Le premier module 44 de vérification est agencé pour mettre en œuvre l'étape El 6 de vérification d'une première équation du procédé de dérivation de signature partielle tel que décrit précédemment, et a first verification module 44, designed to verify a first equation involving the messages of the subset of messages, the elements of the signature of the set of messages as well as the first verification element and elements of the public key. The first verification module 44 is arranged to implement step E1 6 of verifying a first equation of the partial signature derivation method as described above, and
- un second module 45 de vérification, agencé pour vérifier une seconde équation impliquant le premier élément de vérification de la signature partielle, le deuxième élément de vérification de la signature partielle, et des éléments de la clé publique. Le second module 45 de vérification est agencé pour mettre en œuvre l'étape El 7 de vérification d'une deuxième équation du procédé de dérivation de signature partielle tel que décrit précédemment. a second verification module 45, arranged to verify a second equation involving the first element of verification of the partial signature, the second element of verification of the partial signature, and elements of the public key. The second verification module 45 is designed to implement step E117 for verifying a second equation of the partial signature derivation method as described above.
Le module 43 de réception, le premier module 44 de vérification et le second module 45 de vérification sont de préférence des modules logiciels comprenant des instructions logicielles pour mettre en œuvre les étapes du procédé de dérivation de signature partielle décrit précédemment et mises en œuvre par l'entité 12 de vérification de signature partielle. The reception module 43, the first verification module 44 and the second verification module 45 are preferably software modules comprising software instructions for implementing the steps of the partial signature derivation method described above and implemented by the partial signature verification entity 12.
L'invention concerne donc aussi : The invention therefore also relates to:
- un programme d'ordinateur comportant des instructions pour la mise en œuvre des étapes du procédé de dérivation de signature partielle tel que décrit précédemment et qui sont mises en œuvre par l'entité 12 de vérification d'une signature partielle lorsque ce programme est exécuté par un processeur du dispositif de vérification de signature partielle, a computer program comprising instructions for implementing the steps of the partial signature derivation method as described above and which are implemented by the entity 12 for verifying a partial signature when this program is executed by a processor of the partial signature verification device,
- un support d'enregistrement lisible sur lequel est enregistré le programme d'ordinateur décrit ci-dessus. - a readable recording medium on which is recorded the computer program described above.
L'invention porte également sur un système de dérivation de signature partielle et de vérification comprenant : Also disclosed is a partial signature derivation and verification system comprising:
- une entité 11 de dérivation de signature partielle telle que décrite précédemment, et - une entité 12 de vérification d'une signature partielle telle que décrite précédemment. a partial signature derivation entity 11 as described above, and an entity 12 for verifying a partial signature as described above.

Claims

REVENDICATIONS
1. Procédé de dérivation d'une signature partielle pour un sous-ensemble (I) d'un ensemble de messages ({m_l,...,m_n}), dit sous-ensemble de messages, ladite signature partielle étant destinée à prouver la validité d'une signature de l'ensemble de messages pour les messages du sous-ensemble de messages, ledit procédé, mis en œuvre par une entité de dérivation de signature partielle, comprenant : 1. Method of deriving a partial signature for a subset (I) of a set of messages ({m_l, ..., m_n}), called a subset of messages, said partial signature being intended to prove the validity of a signature of the set of messages for the messages of the subset of messages, said method, implemented by a partial signature derivation entity, comprising:
- réception (E12) de l'ensemble de messages ({m_l,...,m_n}) et d'une signature dudit ensemble de messages, ladite signature comprenant des éléments de signature ((q, s)) de l'ensemble de messages, - reception (E12) of the set of messages ({m_l, ..., m_n}) and of a signature of said set of messages, said signature comprising signature elements ((q, s)) of the set messages,
- dérivation (El 3) d'un premier élément de vérification (A) calculé à partir des messages de l'ensemble autre que ceux du sous-ensemble de messages, et - derivation (El 3) of a first verification element (A) calculated from the messages of the set other than those of the subset of messages, and
- dérivation (El 4) d'un deuxième élément de vérification (B) destiné à prouver que le premier élément de vérification est bien formé, et d'envoi à une entité de vérification (12) d'une signature partielle propre au sous-ensemble de messages, ladite signature partielle comprenant un nombre constant d'éléments comprenant au moins les éléments de la signature de l'ensemble de messages, le premier élément de vérification (A) et le deuxième élément de vérification (B), ladite signature partielle étant destinée à être vérifiée avec les seuls messages du sous-ensemble de messages. - derivation (El 4) of a second verification element (B) intended to prove that the first verification element is well formed, and sending to a verification entity (12) a partial signature specific to the sub- set of messages, said partial signature comprising a constant number of elements comprising at least the elements of the signature of the set of messages, the first verification element (A) and the second verification element (B), said partial signature being intended to be verified with only the messages of the message subset.
2. Procédé de dérivation d'une signature partielle selon la revendication 1 dans lequel la génération de la signature partielle comprend une anonymisation de la signature partielle, ladite anonymisation comprenant : 2. A method of deriving a partial signature according to claim 1 wherein the generation of the partial signature comprises an anonymization of the partial signature, said anonymization comprising:
- anonymisation des éléments de la signature ((q, s)) au moyen de scalaires aléatoires, et - anonymization of the elements of the signature ((q, s)) by means of random scalars, and
- anonymisation du premier et du deuxième élément de vérification au moyen d'un des scalaires aléatoires. - anonymization of the first and second verification element by means of one of the random scalars.
3. Procédé de dérivation d'une signature partielle selon l'une des revendications précédentes comprenant au préalable une génération d'une clé secrète et d'une clé publique associée dans un environnement bilinéaire, ledit environnement désignant un premier groupe Gl, un deuxième groupe G2 et un troisième groupe GT d'ordre premier p, ainsi qu'une application bilinéaire e, prenant en entrée un élément du premier groupe Gl, un élément du deuxième groupe G2 et à valeurs dans le troisième groupe GT, soit g, respectivement h, un élément du premier groupe Gl, respectivement du deuxième groupe G2, ladite génération comprenant : 3. Method for deriving a partial signature according to one of the preceding claims comprising beforehand a generation of a secret key and of an associated public key in a bilinear environment, said environment designating a first group G1, a second group. G2 and a third group GT of first order p, as well as a bilinear map e, taking as input an element of the first group Gl, an element of the second group G2 and with values in the third group GT, that is to say g, respectively h, an element of the first group Gl, respectively of the second group G2, said generation comprising:
- génération par l'entité signataire de (n + 1) scalaires aléatoires (x, y_l, y_n), lesdits scalaires aléatoires formant la clé secrète de l'entité signataire, et - generation by the signing entity of (n + 1) random scalars (x, y_l, y_n), said random scalars forming the secret key of the signing entity, and
- calcul par l'entité signataire de X = gΛ{x}, Y_i = gΛ{y_i} pour 1 ≤ i = j ≤ n, Z_{i, j} = gΛ{y_i . y_j} pour 1 ≤ i≠ j ≤ n, et H_i = hΛ{y_i} pour 1 ≤ i ≤ n, les éléments X, Y_i, Z_{i, j} et H_i formant la clé publique. - calculation by the signatory entity of X = g Λ {x}, Y_i = g Λ {y_i} for 1 ≤ i = j ≤ n, Z_ {i, j} = g Λ {y_i. y_j} for 1 ≤ i ≠ j ≤ n, and H_i = h Λ {y_i} for 1 ≤ i ≤ n, the elements X, Y_i, Z_ {i, j} and H_i forming the public key.
4. Procédé de dérivation d'une signature partielle selon l'une des revendications précédentes dans lequel la signature de l'ensemble {1, ..., n} de messages, notés m_l, ..., m_n, comprend la sélection par l'entité signataire d'un élément aléatoire q du deuxième groupe G2, et le calcul de s = qΛ{x + y_l . m_l +...+ y_n . m_n}, ladite signature étant alors (q, s). 4. Method of deriving a partial signature according to one of the preceding claims, in which the signature of the set {1, ..., n} of messages, denoted m_l, ..., m_n, comprises the selection by the signatory entity of a random element q of the second group G2, and the computation of s = q Λ {x + y_l. m_l + ... + y_n. m_n}, said signature then being (q, s).
5. Procédé de dérivation d'une signature partielle selon l'une des revendications précédentes dans lequel la dérivation de la signature partielle pour le sous-ensemble (I) de l'ensemble {1, ..., n} de messages comprend : 5. Method for deriving a partial signature according to one of the preceding claims, in which the derivation of the partial signature for the subset (I) of the set {1, ..., n} of messages comprises:
- génération du premier élément de vérification A = Π _{j dans {1, ..., n} \ I} . Y_jΛ {m_j} , et - generation of the first verification element A = Π _ {j in {1, ..., n} \ I}. Y_j Λ {m_j}, and
- génération du deuxième élément de vérification B = Π_ {i dans I, j dans {1, ..., n} \ 1} . Z_{i, j}Λ{m_j}, la signature partielle étant alors (q, s, A, B). - generation of the second verification element B = Π_ {i in I, j in {1, ..., n} \ 1}. Z_ {i, j} Λ {m_j}, the partial signature then being (q, s, A, B).
6. Procédé de dérivation d'une signature partielle selon l'une des revendications 1 à 4 précédentes, dans lequel la signature de l'ensemble de messages comprend : 6. Method of deriving a partial signature according to one of the preceding claims 1 to 4, in which the signature of the set of messages comprises:
- sélection (El 8) par l'entité signataire de deux scalaires r et t, - selection (El 8) by the signatory entity of two scalars r and t,
- calcul de q'= qΛr, - calculation of q '= q Λ r,
- calcul de de s' = sΛr . qΛ{r . t}, - calculation of de s' = s Λ r. q Λ {r. t},
- génération (E 13) du premier élément de vérification A = gΛt . Π_ {j dans { 1 , ... , n} \ 1} Y_jΛ{m_j}, et - génération (El 4) du deuxième élément de vérification B = (Π_ {i dans I} Y_i)Λt . Π_ {i dans I, j dans (1, .. n} \ Z_{i, j}Λ{m_j}, la signature partielle étant alors (q' s', A, B). - generation (E 13) of the first verification element A = g Λ t. Π_ {j in {1, ..., n} \ 1} Y_j Λ {m_j}, and - generation (El 4) of the second verification element B = (Π_ {i in I} Y_i) Λ t. Π_ {i in I, j in (1, .. n} \ Z_ {i, j} Λ {m_j}, the partial signature then being (q 's', A, B).
7. Procédé de vérification d'une signature partielle pour un sous-ensemble (I) d'un ensemble de messages ({m_l, m_n}), dit sous-ensemble de messages, ladite signature partielle étant destinée à prouver la validité d'une signature de l'ensemble de messages pour les messages du sous-ensemble de messages, ledit procédé, mis en œuvre par une entité de vérification de signature partielle, comprenant : 7. Method of verifying a partial signature for a subset (I) of a set of messages ({m_l, m_n}), called a subset of messages, said partial signature being intended to prove the validity of a signature of the set of messages for the messages of the subset of messages, said method, implemented by a partial signature verification entity, comprising:
- réception (El 5) du sous-ensemble de messages et d'une signature partielle ((q, s, A, B), (q', s', A, B)) propre au sous-ensemble de messages, ladite signature partielle comprenant un nombre constant d'éléments comprenant au moins les éléments de la signature de l'ensemble de messages ((q, s), (q', s')), un premier élément de vérification (A) calculé à partir des messages de l'ensemble autres que ceux du sous-ensemble de messages et un deuxième élément de vérification (B) destiné à prouver que le premier élément est bien formé, - reception (El 5) of the subset of messages and of a partial signature ((q, s, A, B), (q ', s', A, B)) specific to the subset of messages, said partial signature comprising a constant number of elements comprising at least the elements of the signature of the set of messages ((q, s), (q ', s')), a first verification element (A) calculated from messages from the set other than those from the message subset and a second verification element (B) intended to prove that the first element is well formed,
- vérification (El 6) d'une première équation impliquant les messages du sous- ensemble de messages, les éléments de la signature de l'ensemble de messages ainsi que le premier élément de vérification et des éléments de la clé publique, et - verification (El 6) of a first equation involving the messages of the subset of messages, the elements of the signature of the set of messages as well as the first element of verification and elements of the public key, and
- vérification (El 7) d'une seconde équation impliquant le premier élément de vérification de la signature, le deuxième élément de vérification de la signature et des éléments de la clé publique. - Verification (El 7) of a second equation involving the first signature verification element, the second signature verification element and elements of the public key.
8. Procédé de vérification d'une signature partielle selon la revendication 7 dans lequel il a été généré pour une entité signataire une clé secrète et une clé publique associée dans un environnement bilinéaire, ledit environnement désignant un premier groupe Gl, un deuxième groupe G2 et un troisième groupe GT d'ordre premier p, ainsi qu'une application bilinéaire e, prenant en entrée un élément du premier groupe Gl, un élément du deuxième groupe G2 et à valeurs dans le troisième groupe GT, soit g, respectivement h, un élément du premier groupe Gl, respectivement du deuxième groupe G2, ladite génération comprenant : - génération par l'entité signataire de (n + 1) scalaires aléatoires (x, y_l, y_n), et 8. A method of verifying a partial signature according to claim 7, in which a secret key and an associated public key have been generated for a signing entity in a bilinear environment, said environment designating a first group G1, a second group G2 and a third group GT of first order p, as well as a bilinear map e, taking as input an element of the first group Gl, an element of the second group G2 and with values in the third group GT, that is to say g, respectively h, a element of the first group G1, respectively of the second group G2, said generation comprising: - generation by the signing entity of (n + 1) random scalars (x, y_l, y_n), and
- calcul par l'entité signataire de X = gΛ{x}, Y_i = gΛ{y_i} pour 1 ≤ i = j ≤n, Z_{i, j} = gΛ{y_i . y_j} pour 1 ≤ i≠ j ≤ n, et H_i = hΛ{y_i} pour 1 ≤ i ≤ n, les éléments X, Y_i, Z_{i, j} et H_i formant la clé publique, la vérification de la signature partielle comprenant : - calculation by the signatory entity of X = g Λ {x}, Y_i = g Λ {y_i} for 1 ≤ i = j ≤n, Z_ {i, j} = g Λ {y_i. y_j} for 1 ≤ i ≠ j ≤ n, and H_i = h Λ {y_i} for 1 ≤ i ≤ n, the elements X, Y_i, Z_ {i, j} and H_i forming the public key, verification of the signature partial including:
- vérification (El 6) d'une première équation : e(X. A . Π_ {i dans 1} Y_iΛ{m_i}, q) = e(g, s), et - verification (El 6) of a first equation: e (X. A. Π_ {i in 1} Y_i Λ {m_i}, q) = e (g, s), and
- vérification (E17) d'une deuxième équation : e(A, Π_ {i dans 1} El i) = e(B, h). - verification (E17) of a second equation: e (A, Π_ {i in 1} El i) = e (B, h).
9. Entité (11) de dérivation d'une signature partielle destinée à dériver une signature partielle pour un sous-ensemble (I) d'un ensemble ({1,...,n}) de messages ({m_l,...,m_n}) , dit sous-ensemble de messages, ladite signature partielle étant destinée à prouver la validité d'une signature de l'ensemble de messages pour les messages du sous-ensemble de messages, ladite entité de dérivation de signature partielle, comprenant : 9. Entity (11) for deriving a partial signature intended to derive a partial signature for a subset (I) of a set ({1, ..., n}) of messages ({m_l, .. ., m_n}), said subset of messages, said partial signature being intended to prove the validity of a signature of the set of messages for the messages of the subset of messages, said partial signature derivation entity, comprising:
- des moyens de réception (33), agencés pour recevoir l'ensemble des messages ({m_l, ..., m_n}) et une signature ((q, s)) dudit ensemble de messages, ladite signature de l'ensemble des messages comprenant des éléments de signature de l'ensemble de messages, et - reception means (33), arranged to receive all the messages ({m_l, ..., m_n}) and a signature ((q, s)) of said set of messages, said signature of all of the messages comprising signature elements of the message set, and
- des moyens (34) de dérivation d'un premier élément, agencés pour dériver un premier élément de vérification (A) calculé à partir des messages de l'ensemble autres que ceux du sous-ensemble de messages, et - means (34) for deriving a first element, arranged to derive a first verification element (A) calculated from the messages of the set other than those of the subset of messages, and
- des moyens (35) de dérivation d'un deuxième élément et d'envoi, agencés pour dériver un deuxième élément de vérification (B) destiné à prouver que le premier élément de vérification est bien formé, et pour envoyer à une entité de vérification d'une signature partielle une signature partielle propre au sous-ensemble de messages, ladite signature partielle comprenant un nombre constant d'éléments comprenant au moins les éléments de la signature de l'ensemble de messages, le premier élément de vérification et le deuxième élément de vérification, la signature partielle étant destinée à être vérifiée avec les seuls messages du sous-ensemble de messages. - means (35) for deriving a second element and sending, arranged to derive a second verification element (B) intended to prove that the first verification element is well formed, and to send to a verification entity a partial signature a partial signature specific to the subset of messages, said partial signature comprising a constant number of elements comprising at least the elements of the signature of the set of messages, the first verification element and the second element verification, the partial signature being intended to be verified with only the messages of the subset of messages.
10. Entité (12) de vérification d'une signature partielle, destinée à vérifier une signature partielle pour un sous-ensemble (I) d'un ensemble de messages ({m_l, ..., m_n}), dit sous-ensemble de messages, ladite signature partielle étant destinée à prouver la validité d'une signature de l'ensemble de messages pour les messages du sous-ensemble de messages, ladite entité de vérification de signature partielle, comprenant : 10. Entity (12) for checking a partial signature, intended to check a partial signature for a subset (I) of a set of messages ({m_l, ..., m_n}), called a subset of messages, said partial signature being intended to prove the validity of a signature of the set of messages for the messages of the subset of messages, said partial signature verification entity, comprising:
- des moyens de réception (43), agencés pour recevoir le sous-ensemble de messages et une signature partielle ((q, s, A, B)) propre au sous-ensemble de messages, ladite signature partielle comprenant un nombre constant d'éléments comprenant au moins les éléments de la signature de l'ensemble de messages, un premier élément de vérification (A) calculé à partir des messages de l'ensemble autres que ceux du sous- ensemble de messages et un deuxième élément de vérification (B) destiné à prouver que le premier élément de vérification est bien formé, - reception means (43), arranged to receive the subset of messages and a partial signature ((q, s, A, B)) specific to the subset of messages, said partial signature comprising a constant number of elements comprising at least the elements of the signature of the set of messages, a first verification element (A) calculated from the messages of the set other than those of the subset of messages and a second verification element (B ) intended to prove that the first verification element is well formed,
- des premiers moyens de vérification (44), agencés pour vérifier une première équation impliquant les messages du sous-ensemble de messages, les éléments de la signature de l'ensemble de messages ainsi que le premier élément de vérification, et des éléments de la clé publique, et - first verification means (44), arranged to verify a first equation involving the messages of the subset of messages, the elements of the signature of the set of messages as well as the first verification element, and elements of the public key, and
- des seconds moyens de vérification (45), agencés pour vérifier une seconde équation impliquant le premier élément de vérification, le deuxième élément de vérification et des éléments de la clé publique. - second verification means (45), arranged to verify a second equation involving the first verification element, the second verification element and elements of the public key.
11. Système de dérivation de signature partielle et de vérification comprenant :11. Partial signature derivation and verification system comprising:
- une entité de génération de signature partielle selon la revendication 9, - a partial signature generation entity according to claim 9,
- une entité de vérification d'une signature partielle selon la revendication 10. - an entity for verifying a partial signature according to claim 10.
12. Utilisation d'un système de dérivation de signature partielle et de vérification selon la revendication 11 dans un système d'accréditations anonymes. 12. Use of a partial signature and verification derivation system according to claim 11 in an anonymous accreditation system.
13. Programme d'ordinateur sur un support de données et chargeable dans la mémoire d'un ordinateur, comprenant des instructions de code de programme destinées à commander l'exécution des étapes du procédé de dérivation de signature partielle selon l'une des revendications 1 à 6, lorsque le programme est exécuté sur ledit ordinateur. 13. Computer program on a data medium and loadable into the memory of a computer, comprising program code instructions intended to control the execution of the steps of the method of deriving a partial signature. according to one of claims 1 to 6, when the program is executed on said computer.
14. Support de données dans lequel est enregistré le programme selon la revendication 13. 14. Data medium in which the program according to claim 13 is recorded.
15. Programme d'ordinateur sur un support de données et chargeable dans la mémoire d'un ordinateur, comprenant des instructions de code de programme destinées à commander l'exécution des étapes du procédé de vérification de signature partielle selon l'une des revendications 7 ou 8, lorsque le programme est exécuté sur ledit ordinateur. 15. Computer program on a data medium and loadable into the memory of a computer, comprising program code instructions intended to control the execution of the steps of the partial signature verification method according to one of claims 7. or 8, when the program is executed on said computer.
16. Support de données dans lequel est enregistré le programme selon la revendication 15. 16. Data medium in which the program according to claim 15 is recorded.
EP20796871.0A 2019-10-11 2020-10-06 Method for deriving a partial signature with partial verification Pending EP4042633A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1911300A FR3102023B1 (en) 2019-10-11 2019-10-11 Partial signature derivation method with partial verification
PCT/FR2020/051748 WO2021069827A1 (en) 2019-10-11 2020-10-06 Method for deriving a partial signature with partial verification

Publications (1)

Publication Number Publication Date
EP4042633A1 true EP4042633A1 (en) 2022-08-17

Family

ID=70295176

Family Applications (1)

Application Number Title Priority Date Filing Date
EP20796871.0A Pending EP4042633A1 (en) 2019-10-11 2020-10-06 Method for deriving a partial signature with partial verification

Country Status (5)

Country Link
US (1) US20230040203A1 (en)
EP (1) EP4042633A1 (en)
CN (1) CN114762289A (en)
FR (1) FR3102023B1 (en)
WO (1) WO2021069827A1 (en)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000049768A1 (en) * 1999-02-17 2000-08-24 Thomas Mittelholzer Method for signature splitting to protect private keys
JP3659178B2 (en) * 2001-02-22 2005-06-15 日本電信電話株式会社 Distributed digital signature creation method and apparatus, distributed digital signature-added digital document creation method and apparatus, distributed digital signature creation program, and storage medium storing distributed digital signature creation program
CN101453332A (en) * 2002-04-15 2009-06-10 株式会社Ntt都科摩 Signature schemes using bilinear mappings
US9530010B2 (en) * 2013-11-07 2016-12-27 Fujitsu Limited Energy usage data management
EP2905922A1 (en) * 2014-02-10 2015-08-12 Thomson Licensing Signing method delivering a partial signature associated to a message, threshold signing method, signature verification method, and corresponding computer program and electronic devices
CN106209365B (en) * 2016-09-18 2020-06-23 西安电子科技大学 Method for re-signing by using backup data in cloud environment when user cancels
EP3709561A1 (en) * 2019-03-14 2020-09-16 Thales Dis France SA Method for generating a digital signature of an input message

Also Published As

Publication number Publication date
US20230040203A1 (en) 2023-02-09
FR3102023A1 (en) 2021-04-16
WO2021069827A1 (en) 2021-04-15
CN114762289A (en) 2022-07-15
FR3102023B1 (en) 2023-03-24

Similar Documents

Publication Publication Date Title
US20240250808A1 (en) Determining a common secret for the secure exchange of information and hierarchical, deterministic cryptographic keys
EP3547203A1 (en) Method and system for managing access to personal data by means of an intelligent contract
US9698974B2 (en) Method for creating asymmetrical cryptographic key pairs
US11379616B2 (en) System and method for providing anonymous validation of a query among a plurality of nodes in a network
US11170130B1 (en) Apparatus, systems and methods for storing user profile data on a distributed database for anonymous verification
CN114946152A (en) Decentralized techniques for authenticating data in transport layer security and other contexts
Luong et al. Privacy-preserving identity management system on blockchain using Zk-SNARK
Zhou et al. Leveraging zero knowledge proofs for blockchain-based identity sharing: A survey of advancements, challenges and opportunities
FR3049089A1 (en) METHOD FOR MANAGING VALIDATIONS OF MESSAGE CHANNEL-RELATED MESSAGES THROUGH A DECENTRALIZED VALIDATION NETWORK
CN113434555B (en) Data query method and device based on searchable encryption technology
US20230298015A1 (en) Systems and methods for verification of protected private information
US11736481B2 (en) Friction-less identity proofing during employee self-service registration
EP4042633A1 (en) Method for deriving a partial signature with partial verification
CN113746621B (en) Multi-chain architecture information sharing system based on block chain technology
EP4012972A1 (en) Method for selective disclosure of data via a blockchain
EP4078893A1 (en) Method and device for anonymous access control to a collaborative anonymization platform
WO2022200726A1 (en) Management of access rights to digital files with possible delegation of the rights
CN113990399A (en) Gene data sharing method and device for protecting privacy and safety
CN110943846A (en) Novel heterogeneous identity federation user reputation value transmission method based on ring signature technology
US11263063B1 (en) Methods and systems for device-specific event handler generation
EP3842970B1 (en) Method for checking the password of a dongle, associated computer program, dongle and user terminal
EP4158842A1 (en) Method for deriving a partial signature with partial verification
US20230396450A1 (en) Key derivation method
Drosatos Utilization and protection of personal data in ubiquitous computing environments
Paul et al. Secure decentralised storage networks

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20220427

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
RAP3 Party data changed (applicant data changed or rights of an application transferred)

Owner name: ORANGE