WO2007138182A1 - Process of generation of a private key and coding/decoding processes of a message - Google Patents

Process of generation of a private key and coding/decoding processes of a message Download PDF

Info

Publication number
WO2007138182A1
WO2007138182A1 PCT/FR2007/000881 FR2007000881W WO2007138182A1 WO 2007138182 A1 WO2007138182 A1 WO 2007138182A1 FR 2007000881 W FR2007000881 W FR 2007000881W WO 2007138182 A1 WO2007138182 A1 WO 2007138182A1
Authority
WO
WIPO (PCT)
Prior art keywords
message
private key
encrypted message
function
public parameter
Prior art date
Application number
PCT/FR2007/000881
Other languages
French (fr)
Inventor
Jean-Sébastien CORON
Original Assignee
Oberthur Technologies
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 Oberthur Technologies filed Critical Oberthur Technologies
Publication of WO2007138182A1 publication Critical patent/WO2007138182A1/en

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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy

Definitions

  • the invention relates to a method for generating a private key, as well as methods for encrypting and decrypting a message.
  • an identity-based encryption system with an improved security level, for example using a point-to-elliptic curve coupling operation.
  • identity-based encryption a user can send a message (represented in electronic form) encrypted to a recipient using the identity of the said recipient (also represented in electronic form) as the public encryption key, the private key said recipient being provided by a centralized key server.
  • identity-based encryption a user can send a message (represented in electronic form) encrypted to a recipient using the identity of the said recipient (also represented in electronic form) as the public encryption key, the private key said recipient being provided by a centralized key server.
  • the user Alice uses the following method in three steps:
  • He can then decrypt any message sent by Alice or any other user using this private key (at least during its validity).
  • An advantage of the principle of identity-based encryption over conventional public key encryption methods is that it does not require the use of certificates. Another advantage is that a user can send an encrypted message to another user even if the latter has not yet registered in the system.
  • the first efficient method of identity-based encryption was proposed by Boneh and Franklin in the article "Identity-based encryption from the Weil pairing", published at the Crypto 2001 conference. This process is also described in patent application WO 03/017559. This latter method is based on the use of a so-called point coupling operation performed on a particular elliptic curve, said elliptic curve being a set of points verifying a certain mathematical equation.
  • the Boneh-Franklin identity-based encryption system operates as follows, being divided into four subprocesses.
  • the first sub-method concerns the selection of system parameters.
  • a mathematical set G with a group structure (multiplicative in the following) and having a finite number of elements denoted q.
  • this set G can be a set of points belonging to an elliptic curve.
  • a function e taking as input two elements of G and returning as output an element of a group G1, also consisting of a number of elements equal to q, said function e having a property called bilinearity.
  • the group G1 can be a subset of the set of integer pairs of the form (a, b), where a and b are defined modulo a prime integer p, and the function e can be constructed by means of a Weil or Tate coupling operation defined on an elliptic curve.
  • a generator element g for group G.
  • We generate an integer a between 0 and q-1, and we calculate the element h g ⁇ a, (this last operation is the calculation of g exponent a, performed in the previously defined multiplicative group G).
  • the public parameters of the system are then the pair (g, h), while the master key of the system is the integer a; this master key is stored at the key server and must be kept confidential.
  • the second sub-method of the Boneh-Franklin encryption scheme concerns the generation of a private key for a particular identity denoted by v, said identity possibly being an arbitrary string of characters.
  • the third sub-method of the Boneh-Franklin encryption system relates to the operation of encrypting a message m for a certain identity v (that is, intended for the bearer of the identity v).
  • a random string s is generated.
  • the encrypted message, noted C, is then defined as follows:
  • Boneh-Franklin's encryption scheme A disadvantage of Boneh-Franklin's encryption scheme is that there is a significant loss of security between the security level of this scheme and the level of security provided by the underlying elliptic curve. Indeed, for standard parameters, this loss of security reaches about 151 bits. To compensate for this loss, it is therefore necessary to use much larger parameter sizes, which slows down the execution time of the four subprocesses described above, and thus decreases the practical efficiency of this encryption scheme.
  • the object of the invention is to provide a new identity-based encryption scheme that eliminates this loss of security, thereby reducing the size of the system parameters and thereby improving the practical efficiency of the encryption scheme.
  • the invention proposes a method for generating a private key within an electronic entity, from a master key and data representing an identity, characterized by the following steps:
  • a function f is said to be one-way when the computation of an image f (x) by this function is relatively simple compared to the computations necessary to find x while not knowing that f (x), which make this last operation impossible in practice.
  • first element and second element or even third and fourth elements in some cases to distinguish them in a set (for example a private key or encrypted or decrypted message), but that it is not a question of being limited to the formation of the whole in this precise order.
  • said one-way function is exponentiation to the value of the master key in a finite cardinal multiplicative group
  • a second public parameter is the image of a first public parameter by said function , the first public parameter being a generator element of the group
  • said combination comprises multiplying the result of the application of the first hash function and the second high public parameter to a power equal to the opposite of said number.
  • the first element of the private key is for example (H1 (v) * h ⁇ (- y)) ⁇ a, where v corresponds to the data, H1 is the first hash function, h is a public parameter and y is the said number.
  • the number is generated within the electronic entity by random or pseudo-random draw.
  • the number may be generated per application to the data of a hash function involving a cryptographic key.
  • the invention also proposes a method of encrypting an encrypted message message by means of a first and a second public parameter within an electronic entity, characterized in that it comprises the following steps: - exponentiation the first public parameter by a number determined by the electronic entity to obtain a first element of the encrypted message;
  • the result of the application of the coupling function to the second element is stored in the electronic entity.
  • said number is the result of the application of a hash function to the message and to a determined string of characters within the electronic entity by random or pseudo-random draw. random.
  • s being said string of characters
  • r said number, g the first public parameter, h the second public parameter and e the coupling function, the first element of the encrypted message being equal to g ⁇ r, the second the element of the encrypted message being equal to e (h, h) ⁇ r
  • the method may in practice comprise a step of determining a third element of the encrypted message equal to s xor H2 (e (H1 (v), h) ⁇ r), where H1 and H2 are hash functions and v is the public key, generally representative of the identity of the private key holder.
  • a step of determining a fourth element of the encrypted message can then consist in encrypting the message itself by the operation m xor H4 (s).
  • the invention further proposes a method of decrypting an encrypted message into a message decrypted by means of a private key, characterized in that it comprises the following steps:
  • the step of determining the decrypted message comprises the following steps:
  • the coupling function is, for example, Tate coupling and / or Weil coupling. It can also be a coupling of Eta or Ate.
  • an electronic entity for example a microcircuit card, or alternatively a personal computer or a server, such as the key server
  • the first sub-method is similar to the first sub-method of the Boneh-Franklin encryption scheme and relates to the selection of system parameters.
  • a mathematical set G is defined with a group structure and having a number of elements denoted q.
  • This set G is for example a set of points of an elliptic curve. These points can be represented in digital form by appropriate means, for example by their coordinates.
  • the group G1 may be a subset of the set of integer pairs of the form (a, b), where a and b are defined modulo a prime integer p, and the function e can be constructed by means of the so-called Weil or Tate coupling operation defined on an elliptic curve.
  • This sub-method is generally implemented within the key server based on the identity of an authenticated user, the character string being represented as digital data.
  • the first step of this second sub-method consists in generating an integer y between 0 and q-1.
  • the integer is generated randomly, for example by means of a random number generation algorithm (sometimes referred to in practice as pseudo-random).
  • a random number generation algorithm sometimes referred to in practice as pseudo-random.
  • the calculation of the private key dv is done only once (for example, at the first request of the user concerned) and the private key is stored in case the user does not request again the private key associated with his identity.
  • the integer is obtained by applying to the identity v a hash function involving a cryptographic key that can only implement the holder of this cryptographic key (namely here the key server).
  • the storage of the obtained private key is not necessary.
  • the third sub-method provided in this first embodiment concerns the operation of encrypting a message m for a certain identity v (that is to say intended for the user having this identity, which alone can decipher it. thanks to the private key associated with the identity).
  • v a certain identity
  • r a random integer r.
  • element e (h, h) can be pre-calculated and stored by the system performing this third sub-method.
  • C (c1, c2, c3).
  • dv (d, y).
  • the encrypted message C was deciphered and the deciphered message m obtained.
  • the first sub-method is similar to the first subprocess of the Boneh-Franklin encryption scheme described in the introduction and relates to the determination of the system parameters.
  • this set G can be a set of points of an elliptic curve.
  • a function e taking as input two elements of G and returning as output an element of a group G1, also consisting of a number of elements equal to q, said function e having a property called bilinearity.
  • the group G1 can be a subset of the set of integer pairs of the form (a, b), where a and b are defined modulo a prime integer p, and the function e can to be constructed by means of the so-called Weil or Tate coupling operation defined on an elliptic curve.
  • a generator element g for group G.
  • the public parameters of the system are then the pair (g, h) , while the master key of the system is the integer a, said master key to be kept confidential.
  • the second sub-method is identical to that of the first embodiment and relates to the generation of a private key for a particular identity denoted v, said identity being an arbitrary string of characters.
  • the first step is to generate an integer y randomly between 0 and q-1.
  • the third sub-method of the method of the invention relates to the operation of encrypting a message m for a certain identity v.
  • a random string s is generated.
  • the encrypted message, noted C, is then defined as follows:
  • element e (h, h) may be pre-calculated by the system implementing this third sub-method.
  • C (c1, c2, c3, c4).
  • the advantage of the new identity-based encryption method described above is that it achieves a security level at least as high as that provided by the underlying elliptic curve.
  • the size of the parameters used can therefore be much smaller than that used for the Boneh-Franklin scheme, which improves the practical efficiency of the identity-based encryption method.

Abstract

A process to generate a private key at the heart of an electronic unit, via a master key and data representing an identity, includes the following steps: - generation of a number at the heart of the electronic unit; - determination of the initial element of the private key equivalent to the result of the application of a one-way function incorporating the master key in the combination of said number and of the result of the application of an initial function involving scrambling of the data; - utilization of said number as the second element of the private key. Both coding and decoding processes are presented at the same time.

Description

Procédé de génération d'une clé privée et procédés de chiffrement et de déchiffrement d'un message Method for generating a private key and methods for encrypting and decrypting a message
L'invention concerne un procédé de génération d'une clé privée, ainsi que des procédés de chiffrement et de déchiffrement d'un message.The invention relates to a method for generating a private key, as well as methods for encrypting and decrypting a message.
Elle propose en particulier un système de chiffrement basé sur l'identité à niveau de sécurité amélioré, utilisant par exemple une opération de couplage de point sur courbe elliptique. Suivant le principe du chiffrement basé sur l'identité, un utilisateur peut envoyer un message (représenté sous forme électronique) chiffré à un destinataire en utilisant l'identité dudit destinataire (également représentée sous forme électronique) comme clef publique de chiffrement, la clef privée dudit destinataire lui étant fournie par un serveur de clef centralisé. Suivant ce principe, si un utilisateur nommé Alice désire envoyer un message chiffré à un utilisateur nommé Bob, l'utilisateur Alice utilise le procédé suivant en trois étapes :In particular, it proposes an identity-based encryption system with an improved security level, for example using a point-to-elliptic curve coupling operation. According to the principle of identity-based encryption, a user can send a message (represented in electronic form) encrypted to a recipient using the identity of the said recipient (also represented in electronic form) as the public encryption key, the private key said recipient being provided by a centralized key server. Following this principle, if a user named Alice wants to send an encrypted message to a user named Bob, the user Alice uses the following method in three steps:
- Alice chiffre son message en utilisant l'adresse de messagerie électronique de Bob comme clef publique de chiffrement, par exemple "bob@b.com" ;- Alice encrypts her message using Bob's e-mail address as the public encryption key, for example "bob@b.com";
- Bob s'authentifie auprès du serveur de clef centralisé et reçoit la clef privée correspondant à son adresse de messagerie électronique ;- Bob authenticates to the centralized key server and receives the private key corresponding to his e-mail address;
- Bob utilise sa clef privée pour déchiffrer le message.- Bob uses his private key to decipher the message.
Il peut ensuite déchiffrer n'importe quel message envoyé par Alice ou par tout autre utilisateur en utilisant cette clef privée (tout au moins durant sa durée de validité).He can then decrypt any message sent by Alice or any other user using this private key (at least during its validity).
Un avantage du principe du chiffrement basé sur l'identité par rapport aux procédés de chiffrement à clef publique conventionnels est qu'il ne nécessite pas l'utilisation de certificats. Un autre avantage est qu'un utilisateur peut envoyer un message chiffré à un autre utilisateur même si ce dernier ne s'est pas encore enregistré dans le système. Le premier procédé efficace de chiffrement basé sur l'identité a été proposé par Boneh et Franklin dans l'article "Identity-based encryption from the Weil pairing" , publié à l'occasion de la conférence Crypto 2001. Ce procédé est également décrit dans la demande de brevet WO 03/017559. Ce dernier procédé est basé sur l'utilisation d'une opération dite de couplage de point réalisée sur une courbe elliptique particulière, ladite courbe elliptique étant un ensemble de points vérifiant une certaine équation mathématique.An advantage of the principle of identity-based encryption over conventional public key encryption methods is that it does not require the use of certificates. Another advantage is that a user can send an encrypted message to another user even if the latter has not yet registered in the system. The first efficient method of identity-based encryption was proposed by Boneh and Franklin in the article "Identity-based encryption from the Weil pairing", published at the Crypto 2001 conference. This process is also described in patent application WO 03/017559. This latter method is based on the use of a so-called point coupling operation performed on a particular elliptic curve, said elliptic curve being a set of points verifying a certain mathematical equation.
Le système de chiffrement basé sur l'identité de Boneh-Franklin fonctionne de la manière suivante, étant divisé en quatre sous-procédés. Le premier sous-procédé concerne la sélection des paramètres du système. On définit un ensemble mathématique G muni d'une structure de groupe (multiplicatif dans la suite) et possédant un nombre fini d'éléments noté q. Dans un exemple de réalisation, cet ensemble G peut être un ensemble de points appartenant à une courbe elliptique. On considère également une fonction e prenant en entrée deux éléments de G et renvoyant en sortie un élément d'un groupe G1 , constitué lui aussi d'un nombre d'éléments égal à q, ladite fonction e possédant une propriété dite de bilinéarité. Dans un exemple de réalisation, le groupe G1 peut être un sous-ensemble de l'ensemble des couples d'entiers de la forme (a,b), où a et b sont définis modulo un entier premier p, et la fonction e peut être construite au moyen d'une l'opération de couplage dite de Weil ou de Tate définie sur une courbe elliptique. On définit un élément générateur g pour le groupe G. On définit également quatre fonctions de hachage H1 , H2, H3 et H4. On génère un entier a compris entre 0 et q-1 , et on calcule l'élément h=gΛa, (cette dernière opération est le calcul de g exposant a, réalisée dans le groupe multiplicatif précédemment défini G). Les paramètres publics du système sont alors le couple (g,h), tandis que la clef maître du système est l'entier a ; cette clef-maître est stockée au niveau du serveur de clef et doit être maintenue confidentielle.The Boneh-Franklin identity-based encryption system operates as follows, being divided into four subprocesses. The first sub-method concerns the selection of system parameters. We define a mathematical set G with a group structure (multiplicative in the following) and having a finite number of elements denoted q. In an exemplary embodiment, this set G can be a set of points belonging to an elliptic curve. We also consider a function e taking as input two elements of G and returning as output an element of a group G1, also consisting of a number of elements equal to q, said function e having a property called bilinearity. In an exemplary embodiment, the group G1 can be a subset of the set of integer pairs of the form (a, b), where a and b are defined modulo a prime integer p, and the function e can be constructed by means of a Weil or Tate coupling operation defined on an elliptic curve. We define a generator element g for group G. We also define four hash functions H1, H2, H3 and H4. We generate an integer a between 0 and q-1, and we calculate the element h = g Λ a, (this last operation is the calculation of g exponent a, performed in the previously defined multiplicative group G). The public parameters of the system are then the pair (g, h), while the master key of the system is the integer a; this master key is stored at the key server and must be kept confidential.
Le second sous-procédé du schéma de chiffrement de Boneh- Franklin concerne la génération d'une clef privée pour une identité particulière notée v, ladite identité pouvant être une chaîne de caractères arbitraire. La génération de ladite clef privée s'effectue en calculant l'élément dv=H1(v)Λa, l'opération étant réalisée dans le groupe G.The second sub-method of the Boneh-Franklin encryption scheme concerns the generation of a private key for a particular identity denoted by v, said identity possibly being an arbitrary string of characters. The generation of said private key is performed by calculating the element dv = H1 (v) Λ a, the operation being performed in group G.
Le troisième sous-procédé du système de chiffrement de Boneh- Franklin concerne l'opération de chiffrement d'un message m pour une certaine identité v (c'est-à-dire destiné au porteur de l'identité v). Dans une première étape, on génère une chaîne aléatoire s. Dans une deuxième étape, on génère un entier r=H3(s,m). Le message chiffré, noté C, est alors défini de la manière suivante:The third sub-method of the Boneh-Franklin encryption system relates to the operation of encrypting a message m for a certain identity v (that is, intended for the bearer of the identity v). In a first step, a random string s is generated. In a second step, an integer r = H3 (s, m) is generated. The encrypted message, noted C, is then defined as follows:
C= ( gΛr, s xor H2( e(H1(v),h)Λr ) , m xor H4(s) ) Le quatrième sous-procédé du système de chiffrement de Boneh-C = (g Λ r, s xor H2 (e (H1 (v), h) Λ r), m xor H4 (s)) The fourth sub-method of the Boneh-
Franklin concerne l'opération de déchiffrement d'un message chiffré C, noté C=(c1 ,c2,c3). La première étape consiste à calculer s=c2 xor H2(e(dv, d)). La deuxième étape consiste à calculer m=c3 xor H4(s). La troisième étape consiste à calculer r=H3(s, m), et à effectuer le test: c1=gΛr. Si le test n'est pas vérifié, le message chiffré est rejeté. Si le test est vérifié, on renvoie le message m.Franklin relates to the operation of decrypting an encrypted message C, denoted C = (c1, c2, c3). The first step is to calculate s = c2 xor H2 (e (dv, d)). The second step is to compute m = c3 xor H4 (s). The third step is to calculate r = H3 (s, m), and to perform the test: c1 = g Λ r. If the test is not verified, the encrypted message is rejected. If the test is verified, the message m is returned.
Un inconvénient du schéma de chiffrement de Boneh-Franklin est qu'il existe une perte importante de sécurité entre le niveau de sécurité de ce schéma et le niveau de sécurité offert par la courbe elliptique sous-jacente. En effet, pour des paramètres standards, cette perte de sécurité atteint environ 151 bits. Pour compenser cette perte, on doit donc utiliser des tailles de paramètres beaucoup plus grandes, ce qui ralentit le temps d'exécution des quatre sous- procédés décrits précédemment, et diminue donc l'efficacité pratique de ce schéma de chiffrement. L'objet de l'invention est de proposer un nouveau schéma de chiffrement basé sur l'identité qui supprime cette perte de sécurité, ce qui permet de réduire la taille des paramètres du système et améliorer ainsi l'efficacité pratique du schéma de chiffrement. Lorsque l'on utilise une courbe elliptique pour l'opération de couplage, le nouveau schéma possède par exemple un niveau de sécurité identique à celui offert par la courbe elliptique sous-jacente. L'invention propose ainsi un procédé de génération d'une clé privée au sein d'une entité électronique, à partir d'une clef-maître et de données représentant une identité, caractérisé par les étapes suivantes :A disadvantage of Boneh-Franklin's encryption scheme is that there is a significant loss of security between the security level of this scheme and the level of security provided by the underlying elliptic curve. Indeed, for standard parameters, this loss of security reaches about 151 bits. To compensate for this loss, it is therefore necessary to use much larger parameter sizes, which slows down the execution time of the four subprocesses described above, and thus decreases the practical efficiency of this encryption scheme. The object of the invention is to provide a new identity-based encryption scheme that eliminates this loss of security, thereby reducing the size of the system parameters and thereby improving the practical efficiency of the encryption scheme. When using an elliptic curve for the coupling operation, the new scheme has for example a level of security identical to that offered by the underlying elliptic curve. The invention thus proposes a method for generating a private key within an electronic entity, from a master key and data representing an identity, characterized by the following steps:
- génération d'un nombre au sein de l'entité électronique ; - détermination d'un premier élément de la clé privée égal au résultat de l'application d'une fonction à sens unique impliquant la clef-maître à la combinaison dudit nombre et du résultat de l'application d'une première fonction de hachage aux données ;- generation of a number within the electronic entity; determining a first element of the private key equal to the result of the application of a one-way function involving the master key to the combination of said number and the result of the application of a first hash function to data;
- utilisation dudit nombre comme second élément de la clé privée. La combinaison réalisée permet d'améliorer la sécurité du système, ce qui contribue à réduire, voire à éliminer, la perte de sécurité mentionnée ci- dessus.- use of said number as second element of the private key. The combination achieved improves the security of the system, which helps to reduce or eliminate the loss of security mentioned above.
On peut remarquer ici que, selon la terminologie fréquemment employée en cryptographie, une fonction f est dite à sens unique lorsque le calcul d'une image f(x) par cette fonction est relativement simple par rapport aux calculs nécessaires pour retrouver x en ne connaissant que f(x), qui rendent cette dernière opération impossible en pratique.We can notice here that, according to the terminology frequently used in cryptography, a function f is said to be one-way when the computation of an image f (x) by this function is relatively simple compared to the computations necessary to find x while not knowing that f (x), which make this last operation impossible in practice.
On remarquera par ailleurs que l'on utilise les notions de premier élément et second élément (voire troisième et quatrième éléments dans certains cas) pour les distinguer dans un ensemble (par exemple une clef privée ou un message chiffré ou déchiffré), mais qu'il ne s'agit en aucun cas de se limiter à la formation de l'ensemble dans cet ordre précis.Note also that we use the concepts of first element and second element (or even third and fourth elements in some cases) to distinguish them in a set (for example a private key or encrypted or decrypted message), but that it is not a question of being limited to the formation of the whole in this precise order.
Selon un mode de réalisation particulièrement pratique, ladite fonction à sens unique est l'exponentiation à la valeur de la clef-maître dans un groupe multiplicatif de cardinal fini, un second paramètre public est l'image d'un premier paramètre public par ladite fonction, le premier paramètre public étant un élément générateur du groupe, et ladite combinaison comprend la multiplication du résultat de l'application de la première fonction de hachage et du second paramètre public élevé à une puissance égale à l'opposé dudit nombre. Cette solution permet de mettre en œuvre les procédés de chiffrement et de déchiffrement associés de manière particulièrement simple, comme décrit ci-après.According to a particularly practical embodiment, said one-way function is exponentiation to the value of the master key in a finite cardinal multiplicative group, a second public parameter is the image of a first public parameter by said function , the first public parameter being a generator element of the group, and said combination comprises multiplying the result of the application of the first hash function and the second high public parameter to a power equal to the opposite of said number. This solution makes it possible to implement the encryption and decryption methods associated in a particularly simple manner, as described below.
Le premier élément de la clé privée vaut par exemple (H1(v)*hΛ(- y))Λa, où v correspond aux données, H1 est la première fonction de hachage, h un paramètre public et y ledit nombre.The first element of the private key is for example (H1 (v) * h Λ (- y)) Λ a, where v corresponds to the data, H1 is the first hash function, h is a public parameter and y is the said number.
Selon une première solution, le nombre est généré au sein de l'entité électronique par tirage aléatoire ou pseudo-aléatoire.According to a first solution, the number is generated within the electronic entity by random or pseudo-random draw.
En variante, le nombre peut être généré par application aux données d'une fonction de hachage impliquant une clé cryptographique.Alternatively, the number may be generated per application to the data of a hash function involving a cryptographic key.
L'invention propose également un procédé de chiffrement d'un message en message chiffré au moyen d'un premier et d'un second paramètres publics au sein d'une entité électronique, caractérisé en ce qu'il comprend les étapes suivantes : - exponentiation du premier paramètre public au moyen d'un nombre déterminé par l'entité électronique afin d'obtenir un premier élément du message chiffré ;The invention also proposes a method of encrypting an encrypted message message by means of a first and a second public parameter within an electronic entity, characterized in that it comprises the following steps: - exponentiation the first public parameter by a number determined by the electronic entity to obtain a first element of the encrypted message;
- exponentiation au moyen dudit nombre du résultat de l'application d'une fonction de couplage au second paramètre public afin d'obtenir un second élément du message chiffré.exponentiation by means of said number of the result of the application of a coupling function to the second public parameter in order to obtain a second element of the encrypted message.
Ces éléments du message chiffré permettent la mise en œuvre relativement aisée du déchiffrement dans le cadre du système à clé privée évoqué ci-dessus.These elements of the encrypted message allow the relatively easy implementation of the decryption in the context of the private key system mentioned above.
On peut prévoir en outre que le résultat de l'application de la fonction de couplage au second élément est mémorisé au sein de l'entité électronique.It can further be provided that the result of the application of the coupling function to the second element is stored in the electronic entity.
Selon un mode de réalisation dans lequel la sécurité est encore améliorée, ledit nombre est le résultat de l'application d'une fonction de hachage au message et à une chaine de caractères déterminée au sein de l'entité électronique par tirage aléatoire ou pseudo-aléatoire. Dans ce cas, s étant ladite chaine de caractères, r ledit nombre, g le premier paramètre public, h le second paramètre public et e la fonction de couplage, le premier élément du message chiffré étant égal à gΛr, le second élément du message chiffré étant égal à e(h,h)Λr, le procédé peut comprendre en pratique une étape de détermination d'un troisième élément du message chiffré égal à s xor H2(e(H1(v),h)Λr), où H1 et H2 sont des fonctions de hachage et v la clé publique, en général représentative de l'identité du titulaire de la clé privée.According to an embodiment in which the security is further improved, said number is the result of the application of a hash function to the message and to a determined string of characters within the electronic entity by random or pseudo-random draw. random. In this case, s being said string of characters, r said number, g the first public parameter, h the second public parameter and e the coupling function, the first element of the encrypted message being equal to g Λ r, the second the element of the encrypted message being equal to e (h, h) Λ r, the method may in practice comprise a step of determining a third element of the encrypted message equal to s xor H2 (e (H1 (v), h) Λ r), where H1 and H2 are hash functions and v is the public key, generally representative of the identity of the private key holder.
Une étape de détermination d'un quatrième élément du message chiffré peut alors consister à chiffrer le message à proprement parler par l'opération m xor H4(s).A step of determining a fourth element of the encrypted message can then consist in encrypting the message itself by the operation m xor H4 (s).
L'invention propose en outre un procédé de déchiffrement d'un message chiffré en un message déchiffré au moyen d'une clé privée, caractérisé en ce qu'il comprend les étapes suivantes :The invention further proposes a method of decrypting an encrypted message into a message decrypted by means of a private key, characterized in that it comprises the following steps:
- application d'une fonction de couplage à un premier élément de la clé privée et à un premier élément du message chiffré pour obtenir un premier terme ; - exponentiation d'un second élément du message chiffré au moyen d'un second élément de la clé privée pour obtenir un second terme ;applying a coupling function to a first element of the private key and to a first element of the encrypted message to obtain a first term; exponentiation of a second element of the encrypted message by means of a second element of the private key to obtain a second term;
- multiplication du premier terme par le second terme ;- multiplication of the first term by the second term;
- détermination du message déchiffré sur la base du résultat de ladite multiplication. Cette solution de déchiffrement permet d'intégrer de manière simple et pratique la clé privée obtenue comme évoqué plus haut.determining the decrypted message on the basis of the result of said multiplication. This decryption solution makes it possible to integrate in a simple and practical manner the private key obtained as mentioned above.
On peut prévoir en pratique que, e étant la fonction de couplage, d et c2 respectivement le premier élément et le second élément du message chiffré, d et y respectivement le premier élément et le second élément de la clé privée, le résultat de la multiplication valant e(d, c1)*(c2Λy), l'étape de détermination du message déchiffré comprenne les étapes suivantes :It can be predicted in practice that, e being the coupling function, d and c2 respectively the first element and the second element of the encrypted message, d and y respectively the first element and the second element of the private key, the result of the multiplication e (d, c1) * (c2 Λ y), the step of determining the decrypted message comprises the following steps:
- application d'une fonction de hachage H2 au résultat de la multiplication, puis d'une opération de ou exclusif avec un troisième élément c3 du message chiffré afin d'obtenir une chaîne de caractères s ; - application d'une fonction de hachage H4 à la chaîne de caractères s, puis d'une opération de ou exclusif avec un quatrième élément c4 du message chiffré afin d'obtenir le message déchiffré. Le procédé peut en outre inclure une étape de vérification du déchiffrement au moyen du test de l'égalité c1=gΛr où g est un premier paramètre public et où r est obtenu par application d'une fonction de hachage H3 à la chaîne de caractères et au message déchiffré et/ou une étape de vérification du déchiffrement au moyen du test de l'égalité c2=e(h,h)Λr où h est un second paramètre public et où r est obtenu par application d'une fonction de hachage H3 à la chaîne de caractères et au message déchiffré.applying a hash function H2 to the result of the multiplication, then an operation of exclusive or with a third element c3 of the encrypted message in order to obtain a string of characters s; - Applying a hash function H4 to the string s, then an exclusive or operation with a fourth element c4 of the encrypted message to obtain the decrypted message. The method may further include a decryption verification step by means of the equality test c1 = g Λ r where g is a first public parameter and r is obtained by applying a hash function H3 to the characters and the decrypted message and / or a decryption verification step by means of the equality test c2 = e (h, h) Λ r where h is a second public parameter and r is obtained by applying a function H3 hash to the character string and decrypted message.
La fonction de couplage est par exemple un couplage de Tate et/ou un couplage de Weil. Il peut s'agir également d'un couplage de Eta ou de Ate. Pour la mise en œuvre pratique de ces différents procédés, une entité électronique (par exemple une carte à microcircuit, ou en variante un ordinateur personnel ou un serveur, tel que le serveur de clés) est apte à mettre en œuvre les procédés évoqués ci-dessus et pour ce faire à manipuler les données numériques traitées (qui représentent les différents éléments, tel que les messages, clés, nombres et chaînes de caractères), par exemple au moyen d'un microprocesseur.The coupling function is, for example, Tate coupling and / or Weil coupling. It can also be a coupling of Eta or Ate. For the practical implementation of these various methods, an electronic entity (for example a microcircuit card, or alternatively a personal computer or a server, such as the key server) is able to implement the methods mentioned above. above and to do this to manipulate the processed digital data (which represent the different elements, such as messages, keys, numbers and strings), for example by means of a microprocessor.
On décrit à présent un premier mode de réalisation d'un système de chiffrement basé sur l'identité selon l'invention, basé sur les quatre sous- procédés suivants. Le premier sous-procédé est similaire au premier sous-procédé du schéma de chiffrement de Boneh-Franklin et concerne la sélection des paramètres du système. Dans ce premier sous-procédé, on définit un ensemble mathématique G muni d'une structure de groupe et possédant un nombre d'éléments noté q. Cet ensemble G est par exemple un ensemble de points d'une courbe elliptique. Ces points peuvent être représentés sous forme numérique par des moyens appropriés, par exemple grâce à leurs coordonnées.We now describe a first embodiment of an identity-based encryption system according to the invention, based on the following four sub-processes. The first sub-method is similar to the first sub-method of the Boneh-Franklin encryption scheme and relates to the selection of system parameters. In this first sub-method, a mathematical set G is defined with a group structure and having a number of elements denoted q. This set G is for example a set of points of an elliptic curve. These points can be represented in digital form by appropriate means, for example by their coordinates.
On considère également une fonction e prenant en entrée deux éléments de G et renvoyant en sortie un élément d'un groupe G1, constitué lui aussi d'un nombre d'éléments égal à q, ladite fonction e possédant une propriété dite de bilinéarité. Dans un exemple de réalisation, le groupe G1 peut être un sous-ensemble de l'ensemble des couples d'entiers de la forme (a,b), où a et b sont définis modulo un entier premier p, et la fonction e peut être construite au moyen de l'opération de couplage dit de Weil ou de Tate définie sur une courbe elliptique.We also consider a function e taking as input two elements of G and returning as output an element of a group G1, also consisting of a number of elements equal to q, said function e having a property called bilinearity. In an exemplary embodiment, the group G1 may be a subset of the set of integer pairs of the form (a, b), where a and b are defined modulo a prime integer p, and the function e can be constructed by means of the so-called Weil or Tate coupling operation defined on an elliptic curve.
En variante, on pourrait choisir une fonction e dont les deux entrées sont dans des groupes différents. De même, lorsque la fonction e est construire au moyen d'un couplage, d'autres couplages que ceux de Weil et de Tate peuvent être utilisés.Alternatively, one could choose a function e whose two inputs are in different groups. Similarly, when the function e is constructed by means of a coupling, other couplings than those of Weil and Tate can be used.
On définit un élément générateur g pour le groupe G. On définit ici deux fonctions de hachage H1 , H2. On génère un entier a compris entre 0 et q- 1 , et on calcule l'élément h=gΛa, cette opération étant réalisée dans le groupe précédemment défini G. Les paramètres publics du systèmes sont alors le couple (g, h), tandis que la clef maître du système est l'entier a, ladite clef maître devant être maintenue confidentielle (en général au niveau du serveur de clés). Le second sous-procédé du système de chiffrement concerne la génération d'une clef privée pour une identité particulière notée v, ladite identité pouvant être une chaîne de caractères arbitraire.We define a generator element g for group G. Here we define two hash functions H1, H2. An integer a is generated between 0 and q-1, and the element h = g Λ a is calculated, this operation being carried out in the previously defined group G. The public parameters of the system are then the pair (g, h) , while the master key of the system is the integer a, said master key to be kept confidential (usually at the key server). The second sub-method of the encryption system relates to the generation of a private key for a particular identity denoted v, said identity being an arbitrary string of characters.
Ce sous-procédé est en général mis en oeuvre au sein du serveur de clés sur la base de l'identité d'un utilisateur authentifié, la chaîne de caractères étant représenté sous forme de données numériques. La première étape de ce second sous-procédé consiste à générer un entier y entre 0 et q-1. La clef privée dv est alors calculée de la manière suivante dv= ( (H1(v)*hΛ(-y))Λa , y), le premier élément de dv étant un élément du groupe G.This sub-method is generally implemented within the key server based on the identity of an authenticated user, the character string being represented as digital data. The first step of this second sub-method consists in generating an integer y between 0 and q-1. The private key dv is then computed in the following manner dv = ((H1 (v) * h Λ (-y)) Λ a, y), the first element of dv being an element of group G.
Selon une première possibilité de mise en œuvre, l'entier y est généré aléatoirement, par exemple au moyen d'un algorithme de génération de nombres aléatoires (parfois dénommés en pratique pseudo-aléatoires). Dans ce cas, le calcul de la clef privée dv n'est effectué qu'une seule fois (par exemple, à la première sollicitation de l'utilisateur concerné) et la clef privée est mémorisée au cas où l'utilisateur ne demande à nouveau la clef privée associée à son identité.According to a first implementation possibility, the integer is generated randomly, for example by means of a random number generation algorithm (sometimes referred to in practice as pseudo-random). In this case, the calculation of the private key dv is done only once (for example, at the first request of the user concerned) and the private key is stored in case the user does not request again the private key associated with his identity.
Selon une seconde possibilité de mise en œuvre, l'entier y est obtenu par application à l'identité v d'une fonction de hachage impliquant une clé cryptographique que seul peut mettre en œuvre le détenteur de cette clé cryptographique (à savoir ici le serveur de clés). Le stockage de la clef privée obtenue n'est pas nécessaire.According to a second implementation possibility, the integer is obtained by applying to the identity v a hash function involving a cryptographic key that can only implement the holder of this cryptographic key (namely here the key server). The storage of the obtained private key is not necessary.
Le troisième sous-procédé prévu dans ce premier mode de réalisation concerne l'opération de chiffrement d'un message m pour une certaine identité v (c'est-à-dire destiné à l'utilisateur ayant cette identité, qui seul pourra le déchiffrer grâce à la clef privée associée à l'identité). Pour ce faire, on génère tout d'abord selon ce premier mode de réalisation un entier aléatoire r. Le message chiffré, noté C, est alors définit de la manière suivante: C= ( gΛr, e(h,h)Λr, m xor H2(e(H1(v),h)Λr) ).The third sub-method provided in this first embodiment concerns the operation of encrypting a message m for a certain identity v (that is to say intended for the user having this identity, which alone can decipher it. thanks to the private key associated with the identity). To do this, first generates according to this first embodiment a random integer r. The ciphered message, denoted C, is then defined as follows: C = (g Λ r, e (h, h) Λ r, m xor H2 (e (H1 (v), h) Λ r)).
On peut noter que l'élément e(h,h) peut être pré-calculé et mémorisé par le système réalisant ce troisième sous-procédé.It may be noted that the element e (h, h) can be pre-calculated and stored by the system performing this third sub-method.
Le quatrième sous-procédé du procédé de chiffrement de l'invention concerne l'opération de déchiffrement d'un message chiffré C, noté C=(c1 ,c2,c3). On note comme ci-dessus la clef privée dv=(d,y).The fourth sub-method of the encryption method of the invention relates to the decryption operation of an encrypted message C, denoted C = (c1, c2, c3). We note as above the private key dv = (d, y).
Pour ce faire, on calcule c3 xor H2(e(d, c1)*(c2Λy)).To do this, we calculate c3 xor H2 (e (d, c1) * (c2 Λ y)).
En remplaçant c2 par sa valeur (provenant du chiffrement), on a : e(d, c1)*(c2Λy)=e(d,c1)*e(h,h)Λry=e(d,c1)*e(H,gΛa)Λry.Replacing c2 with its value (from the cipher), we have: e (d, c1) * (c2 Λ y) = e (d, c1) * e (h, h) Λ ry = e (d, c1) * e (H, g Λ a) Λ ry.
Par bilinéarité, et en remplaçant d par sa valeur, on a donc : e(d, c1)*(c2Λy)=e(d,gΛr)*e(hΛya,gΛr)=e(d*hΛya,gΛr).By bilinearity, and replacing d by its value, we have: e (d, c1) * (c2 Λ y) = e (d, g Λ r) * e (h Λ ya, g Λ r) = e ( d * h Λ ya, g Λ r).
En remplaçant l'élément d de la clef privée par sa valeur (provenant du mode de calcul de la clef privée décrit ci-dessus) et en utilisant à nouveau la propriété de bilinéarité, on obtient : e(d, c1)*(c2Λy)=e((H1(v))Λa,gΛr)=e(H1(v),gΛa)Λr=e(H1(v),h)Λr. Ainsi le calcul de c3 xor H2(e(d, d)*(c2Λy)) permet d'obtenir : c3 xor H2(e(H1(v),h)Λr)=m.By replacing the element d of the private key with its value (from the private key calculation mode described above) and using the bilinearity property again, we obtain: e (d, c1) * (c2 Λ y) = e ((H1 (v)) Λ a, g Λ r) = e (H1 (v), g Λ a) Λ r = e (H1 (v), h) Λ r. Thus the computation of c3 xor H2 (e (d, d) * (c2 Λ y)) makes it possible to obtain: c3 xor H2 (e (H1 (v), h) Λ r) = m.
On a ainsi déchiffré le message chiffré C et obtenu le message déchiffré m.Thus, the encrypted message C was deciphered and the deciphered message m obtained.
On va décrire à présent un second mode de réalisation d'un procédé de chiffrement basé sur l'identité selon l'invention, qui constitue une variante du premier mode de réalisation décrit ci-dessus. Cet autre exemple est donc lui aussi basé sur quatre sous-procédés comme suit. Le premier sous-procédé est similaire au premier sous-procédé du schéma de chiffrement de Boneh-Franklin décrit en introduction et concerne la détermination des paramètres du système.We will now describe a second embodiment of an identity-based encryption method according to the invention, which is a variant of the first embodiment described above. This other example is thus also based on four subprocesses as follows. The first sub-method is similar to the first subprocess of the Boneh-Franklin encryption scheme described in the introduction and relates to the determination of the system parameters.
On rappelle que, dans ce premier sous-procédé, on définit un ensemble mathématique G muni d'une structure de groupe et possédant un nombre d'éléments noté q. Dans un exemple de réalisation, cet ensemble G peut être un ensemble de points d'une courbe elliptique. On considère également une fonction e prenant en entrée deux éléments de G et renvoyant en sortie un élément d'un groupe G1, constitué lui aussi d'un nombre d'éléments égal à q, ladite fonction e possédant une propriété dite de bilinéarité. Dans un exemple de réalisation, le groupe G1 peut être un sous-ensemble de l'ensemble des couples d'entiers de la forme (a,b), où a et b sont définis modulo un entier premier p, et la fonction e peut être construite au moyen de l'opération de couplage dit de Weil ou de Tate définie sur une courbe elliptique. On définit un élément générateur g pour le groupe G. On définit également quatre fonctions de hachage H1 , H2, H3 et H4. On génère un entier a compris entre 0 et q-1 , et on calcule l'élément h=gΛa, cette opération étant réalisée dans le groupe précédemment défini G. Les paramètres publics du systèmes sont alors le couple (g, h), tandis que la clef maître du système est l'entier a, ladite clef maître devant être maintenue confidentielle.It will be recalled that in this first sub-method, a mathematical set G with a group structure and having a number of elements denoted q is defined. In an exemplary embodiment, this set G can be a set of points of an elliptic curve. We also consider a function e taking as input two elements of G and returning as output an element of a group G1, also consisting of a number of elements equal to q, said function e having a property called bilinearity. In an exemplary embodiment, the group G1 can be a subset of the set of integer pairs of the form (a, b), where a and b are defined modulo a prime integer p, and the function e can to be constructed by means of the so-called Weil or Tate coupling operation defined on an elliptic curve. We define a generator element g for group G. We also define four hash functions H1, H2, H3 and H4. An integer a is generated between 0 and q-1, and the element h = g Λ a is calculated, this operation being carried out in the previously defined group G. The public parameters of the system are then the pair (g, h) , while the master key of the system is the integer a, said master key to be kept confidential.
Le second sous-procédé est identique à celui du premier mode de réalisation et concerne la génération d'une clef privée pour une identité particulière notée v, ladite identité pouvant être une chaîne de caractère arbitraire. La première étape consiste à générer un entier y aléatoirement entre 0 et q-1. La clef privée dv est alors calculée de la manière suivante dv= ( (H1(v)*hΛ(-y))Λa , y), le premier élément de dv étant un élément du groupe G.The second sub-method is identical to that of the first embodiment and relates to the generation of a private key for a particular identity denoted v, said identity being an arbitrary string of characters. The first step is to generate an integer y randomly between 0 and q-1. The private key dv is then computed in the following manner dv = ((H1 (v) * h Λ (-y)) Λ a, y), the first element of dv being an element of group G.
Ce second sous-procédé étant identique à celui du premier mode de réalisation, les remarques faites à l'égard de ce dernier s'appliquent également ici. Le troisième sous-procédé du procédé de l'invention concerne l'opération de chiffrement d'un message m pour une certaine identité v. Dans une première étape, on génère une chaîne aléatoire s. Dans une deuxième étape, on génère un entier r=H3(s,m). Le message chiffré, noté C, est alors définit de la manière suivante:This second sub-process being identical to that of the first embodiment, the remarks made with regard to the latter also apply here. The third sub-method of the method of the invention relates to the operation of encrypting a message m for a certain identity v. In a first step, a random string s is generated. In a second step, we generate an integer r = H3 (s, m). The encrypted message, noted C, is then defined as follows:
C= ( gΛr, e(h,h)Λr, s xor H2(e(H1(v),h)Λr) , m xor H4(s) ).C = (g Λ r, e (h, h) Λ r, s xor H2 (e (H1 (v), h) Λ r), m xor H4 (s)).
On peut noter que l'élément e(h,h) peut être pré-calculé par le système réalisant ce troisième sous-procédé.It may be noted that the element e (h, h) may be pre-calculated by the system implementing this third sub-method.
Le quatrième sous-procédé du procédé de chiffrement de l'invention concerne l'opération de déchiffrement d'un message chiffré C, noté C=(c1 ,c2,c3,c4). On note la clef privée dv=(d,y). La première étape consiste à calculer s=c3 xor H2(e(d, d)*(c2Λy)). La deuxième étape consiste à calculer m=c4 xor H4(s). La troisième étape consiste à calculer r=H3(s, m), et à effectuer le test: c1=gΛr et c2=e(h,h)Λr. Si le test n'est pas vérifié, le message chiffré est rejeté. Si le test est vérifié, on renvoie le message m.The fourth sub-method of the encryption method of the invention relates to the decryption operation of an encrypted message C, denoted C = (c1, c2, c3, c4). We note the private key dv = (d, y). The first step is to compute s = c3 xor H2 (e (d, d) * (c2 Λ y)). The second step is to compute m = c4 xor H4 (s). The third step is to calculate r = H3 (s, m), and to perform the test: c1 = g Λ r and c2 = e (h, h) Λ r. If the test is not verified, the encrypted message is rejected. If the test is verified, the message m is returned.
L'avantage du nouveau procédé de chiffrement basé sur l'identité décrit précédemment est qu'il permet d'atteindre un niveau de sécurité au moins aussi élevé que celui fourni par la courbe elliptique sous-jacente. La taille des paramètres utilisés peut donc être beaucoup plus petite que celle utilisée pour le schéma de Boneh-Franklin, ce qui améliore l'efficacité pratique du procédé de chiffrement basé sur l'identité. The advantage of the new identity-based encryption method described above is that it achieves a security level at least as high as that provided by the underlying elliptic curve. The size of the parameters used can therefore be much smaller than that used for the Boneh-Franklin scheme, which improves the practical efficiency of the identity-based encryption method.

Claims

REVENDICATIONS
1. Procédé de génération d'une clé privée au sein d'une entité électronique, à partir d'une clef-maître et de données représentant une identité, caractérisé par les étapes suivantes :A method for generating a private key within an electronic entity, from a master key and data representing an identity, characterized by the following steps:
- génération d'un nombre au sein de l'entité électronique ;- generation of a number within the electronic entity;
- détermination d'un premier élément de la clé privée égal au résultat de l'application d'une fonction à sens unique impliquant la clef-maître à la combinaison dudit nombre et du résultat de l'application d'une première fonction de hachage aux données ;determining a first element of the private key equal to the result of the application of a one-way function involving the master key to the combination of said number and the result of the application of a first hash function to data;
- utilisation dudit nombre comme second élément de la clé privée.- use of said number as second element of the private key.
2. Procédé selon la revendication 1 , caractérisé en ce que ladite fonction à sens unique est l'exponentiation à la valeur de la clef-maître dans un groupe multiplicatif de cardinal fini, en ce qu'un second paramètre public est l'image d'un premier paramètre public par ladite fonction, le premier paramètre public étant un élément générateur du groupe, et en ce que ladite combinaison comprend la multiplication du résultat de l'application de la première fonction de hachage et du second paramètre public élevé à une puissance égale à l'opposé dudit nombre.2. Method according to claim 1, characterized in that said one-way function is exponentiation to the value of the master key in a multiplicative group of finite cardinal, in that a second public parameter is the image of a first public parameter by said function, the first public parameter being a generator element of the group, and in that said combination comprises multiplying the result of the application of the first hash function and the second high public parameter to a power equal to the opposite of said number.
3. Procédé selon la revendication 1, caractérisé en ce que le premier élément de la clé privée vaut (H1(v)*hΛ(-y))Λa, où v correspond aux données, H1 est la première fonction de hachage, h un paramètre public et y ledit nombre.3. Method according to claim 1, characterized in that the first element of the private key is (H1 (v) * h Λ (-y)) Λ a, where v corresponds to the data, H1 is the first hash function, h a public parameter and y said number.
4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que le nombre est généré au sein de l'entité électronique par tirage aléatoire ou pseudo-aléatoire. 4. Method according to one of claims 1 to 3, characterized in that the number is generated in the electronic entity by random or pseudo-random draw.
5. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que le nombre est généré par application aux données d'une fonction de hachage impliquant une clé cryptographique.5. Method according to one of claims 1 to 3, characterized in that the number is generated by application to the data of a hash function involving a cryptographic key.
6. Procédé de chiffrement d'un message en message chiffré au moyen d'un premier et d'un second paramètres publics au sein d'une entité électronique, caractérisé en ce qu'il comprend les étapes suivantes :6. A method of encrypting a message in encrypted message by means of a first and a second public parameters within an electronic entity, characterized in that it comprises the following steps:
- exponentiation du premier paramètre public au moyen d'un nombre déterminé par l'entité électronique afin d'obtenir un premier élément du message chiffré ;exponentiation of the first public parameter by means of a number determined by the electronic entity in order to obtain a first element of the encrypted message;
- exponentiation au moyen dudit nombre du résultat de l'application d'une fonction de couplage à un second paramètre public afin d'obtenir un second élément du message chiffré.exponentiation by means of said number of the result of the application of a coupling function to a second public parameter in order to obtain a second element of the encrypted message.
7. Procédé selon la revendication 6, caractérisé en ce que le résultat de l'application de la fonction de couplage au second élément est mémorisé au sein de l'entité électronique.7. Method according to claim 6, characterized in that the result of the application of the coupling function to the second element is stored in the electronic entity.
8. Procédé selon la revendication 6 ou 7, caractérisé en ce que ledit nombre est le résultat de l'application d'une fonction de hachage à une chaîne de caractères déterminée au sein de l'entité électronique par tirage aléatoire ou pseudo-aléatoire.8. Method according to claim 6 or 7, characterized in that said number is the result of the application of a hash function to a string of characters determined within the electronic entity by random or pseudo-random draw.
9. Procédé selon la revendication 8, caractérisé en ce que, s étant ladite chaîne de caractères, r ledit nombre, g le premier paramètre public, h le second paramètre public et e la fonction de couplage, le premier élément du message chiffré est égal à gΛr, le second élément du message chiffré est égal à e(h,h)Λr, et en ce que procédé comprend une étape de détermination d'un troisième élément du message chiffré égal à s xor H2(e(H1(v),h)Λr), où H1 et9. Method according to claim 8, characterized in that, s being said string of characters, r said number, g the first public parameter, h the second public parameter and e the coupling function, the first element of the encrypted message is equal. to g r Λ, the second component of the encrypted message is equal to e (h, h) Λ r, and in that method comprises a step of determining a third component of the encrypted message equal to s xor h 2 (e (H1 (v), h) Λ r), where H1 and
H2 sont des fonctions de hachage et v la clé publique. H2 are hash functions and v is the public key.
10. Procédé selon la revendication 9, caractérisé en ce que la clé publique est représentative de l'identité du titulaire de la clé privée.10. The method of claim 9, characterized in that the public key is representative of the identity of the holder of the private key.
11. Procédé selon la revendication 9 ou 10, caractérisé en ce qu'il comprend une étape de détermination d'un quatrième élément du message chiffré égal à m xor H4(s), où m est le message.11. The method of claim 9 or 10, characterized in that it comprises a step of determining a fourth element of the encrypted message equal to m xor H4 (s), where m is the message.
12. Procédé de déchiffrement d'un message chiffré en un message déchiffré au moyen d'une clé privée, caractérisé en ce qu'il comprend les étapes suivantes :12. A method for decrypting an encrypted message into a message decrypted by means of a private key, characterized in that it comprises the following steps:
- application d'une fonction de couplage à un premier élément de la clé privée et à un premier élément du message chiffré pour obtenir un premier terme ;applying a coupling function to a first element of the private key and to a first element of the encrypted message to obtain a first term;
- exponentiation d'un second élément du message chiffré au moyen d'un second élément de la clé privée pour obtenir un second terme ;exponentiation of a second element of the encrypted message by means of a second element of the private key to obtain a second term;
- multiplication du premier terme par le second terme ;- multiplication of the first term by the second term;
- détermination du message déchiffré sur la base du résultat de ladite multiplication.determining the decrypted message on the basis of the result of said multiplication.
13. Procédé selon la revendication 12, caractérisé en ce que, e étant la fonction de couplage, d et c2 respectivement le premier élément et le second élément du message chiffré, d et y respectivement le premier élément et le second élément de la clé privée, le résultat de la multiplication valant e(d, c1)*(c2Λy), l'étape de détermination du message déchiffré comprend les étapes suivantes :13. The method of claim 12, wherein, e being the coupling function, d and c2 respectively the first element and the second element of the encrypted message, d and y respectively the first element and the second element of the private key. the result of the multiplication e (d, c1) * (c2 Λ y), the step of determining the decrypted message comprises the following steps:
- application d'une fonction de hachage H2 au résultat de la multiplication, puis d'une opération de ou exclusif avec un troisième élément c3 du message chiffré afin d'obtenir une chaîne de caractères s ;applying a hash function H2 to the result of the multiplication, then an operation of exclusive or with a third element c3 of the encrypted message in order to obtain a string of characters s;
- application d'une fonction de hachage H4 à la chaine de caractères s, puis d'une opération de ou exclusif avec un quatrième élément c4 du message chiffré afin d'obtenir le message déchiffré. applying a hash function H4 to the string s, and then executing an exclusive operation with a fourth element c4 of the encrypted message in order to obtain the decrypted message.
14. Procédé selon la revendication 13, caractérisé par une étape de vérification du déchiffrement au moyen du test de l'égalité c1=gΛr où g est un premier paramètre public et où r est obtenu par application d'une fonction de hachage H3 à la chaîne de caractères et au message déchiffré.14. The method of claim 13, characterized by a step of verification of the decryption by means of the equality test c1 = g Λ r where g is a first public parameter and r is obtained by applying a hash function H3 to the string and the decrypted message.
15. Procédé selon la revendication 13 ou 14, caractérisé par une étape de vérification du déchiffrement au moyen du test de l'égalité c2=e(h,h)Λr où h est un second paramètre public et où r est obtenu par application d'une fonction de hachage H3 à la chaîne de caractères et au message déchiffré.15. Method according to claim 13 or 14, characterized by a step of checking the decryption by means of the equality test c2 = e (h, h) Λ r where h is a second public parameter and where r is obtained by application a hash function H3 to the character string and the decrypted message.
16. Procédé selon l'une des revendications 12 à 15, caractérisé en ce que la clé privée est obtenue à partir de données représentatives d'une identité.16. Method according to one of claims 12 to 15, characterized in that the private key is obtained from data representative of an identity.
17. Procédé selon l'une des revendications 7 à 16, caractérisé en ce que la fonction de couplage est un couplage de Tate.17. Method according to one of claims 7 to 16, characterized in that the coupling function is a Tate coupling.
18. Procédé selon l'une des revendications 7 à 16, caractérisé en ce que la fonction de couplage est un couplage de Weil.18. Method according to one of claims 7 to 16, characterized in that the coupling function is a Weil coupling.
19. Procédé selon l'une des revendications 1 à 18, caractérisé en ce qu'il est mis en œuvre au sein d'une carte à microcircuit. 19. Method according to one of claims 1 to 18, characterized in that it is implemented within a microcircuit card.
PCT/FR2007/000881 2006-05-31 2007-05-25 Process of generation of a private key and coding/decoding processes of a message WO2007138182A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0651990 2006-05-31
FR0651990A FR2901940B1 (en) 2006-05-31 2006-05-31 METHOD OF GENERATING A PRIVATE KEY AND METHODS OF ENCRYPTING AND DE-CREATING A MESSAGE

Publications (1)

Publication Number Publication Date
WO2007138182A1 true WO2007138182A1 (en) 2007-12-06

Family

ID=37596280

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2007/000881 WO2007138182A1 (en) 2006-05-31 2007-05-25 Process of generation of a private key and coding/decoding processes of a message

Country Status (2)

Country Link
FR (1) FR2901940B1 (en)
WO (1) WO2007138182A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003017559A2 (en) * 2001-08-13 2003-02-27 Board Of Trustees Of The Leland Stanford Junior University Systems and methods for identity-based encryption and related cryptographic techniques
US20040179684A1 (en) * 2003-03-14 2004-09-16 Identicrypt, Inc. Identity-based-encryption messaging system
WO2006034428A2 (en) * 2004-09-20 2006-03-30 Pgp Corporation Apparatus and method for identity-based encryption within a conventional public-key infrastructure

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003017559A2 (en) * 2001-08-13 2003-02-27 Board Of Trustees Of The Leland Stanford Junior University Systems and methods for identity-based encryption and related cryptographic techniques
US20040179684A1 (en) * 2003-03-14 2004-09-16 Identicrypt, Inc. Identity-based-encryption messaging system
WO2006034428A2 (en) * 2004-09-20 2006-03-30 Pgp Corporation Apparatus and method for identity-based encryption within a conventional public-key infrastructure

Also Published As

Publication number Publication date
FR2901940A1 (en) 2007-12-07
FR2901940B1 (en) 2012-12-14

Similar Documents

Publication Publication Date Title
EP3010177B1 (en) Method for authenticating a client device with a server using a secret element
EP3091689B1 (en) Method for generating a message signature from a signature token encrypted by means of an homomorphic encryption function
EP2323306B1 (en) Secured data transmission method and encryption and decryption system enabling such a transmission
WO2008113950A2 (en) Identity based broadcast encryption
EP1151576B1 (en) Public and private key cryptographic method
EP2005290B1 (en) Method and device for generating a pseudorandom string
WO2001056222A1 (en) Communication method with encryption key escrow and recovery
EP2517397A1 (en) Encryption and decryption method
EP3965361A1 (en) Data exchange between a client and a remote device, for example a secure module
CN107070900B (en) It can search for re-encryption method based on what is obscured
EP2449721B1 (en) Cryptography by parameterizing on elliptic curve
EP1829279A2 (en) Method and device for executing a cryptographic calculation
WO2007138182A1 (en) Process of generation of a private key and coding/decoding processes of a message
EP1820297A1 (en) Method of generating a signature with proof of tight security, associated verification method and associated signature scheme that are based on the diffie-hellman model
WO2008113952A2 (en) Identity based encryption
FR2923968A1 (en) Strong secret i.e. cryptographic key, sharing method for e.g. subscriber identity module card of mobile telephone, involves decrypting strong secret by asymmetric algorithm using private key such that parts are in strong secret possession
EP1642413B1 (en) Method for encoding/decoding a message and associated device
WO2023057649A1 (en) Method for generating a pseudorandom number and method for symmetrically encrypting a message
EP4070502A1 (en) Method for cogenerating a shared cryptographic material, devices, system and corresponding computer program
FR2815493A1 (en) Internet/bank card electronic signature generation having quadratic equation generation and signature calculated using hash public function with supplementary private values preventing hacking.
FR3101182A3 (en) Encrypted transmission method
FR3070517A1 (en) SYSTEM AND METHOD FOR AUTHENTICATION AND DIGITAL SIGNATURE
Robert L'ORGANISATION DE LA CRYPTOLOGIE MODERNE
WO2006064112A2 (en) Method for processing data using a coupling function and corresponding device
FR2842968A1 (en) Cryptography signature method for use with RSA public key algorithms involves generation of a public key from two very large numbers and an encryption exponent and a private key based on a decryption exponent

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 07765957

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07765957

Country of ref document: EP

Kind code of ref document: A1