EP2127197A2 - Identity based broadcast encryption - Google Patents
Identity based broadcast encryptionInfo
- Publication number
- EP2127197A2 EP2127197A2 EP08762146A EP08762146A EP2127197A2 EP 2127197 A2 EP2127197 A2 EP 2127197A2 EP 08762146 A EP08762146 A EP 08762146A EP 08762146 A EP08762146 A EP 08762146A EP 2127197 A2 EP2127197 A2 EP 2127197A2
- Authority
- EP
- European Patent Office
- Prior art keywords
- key
- identity
- entity
- receiving
- entities
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 claims description 25
- 230000006870 function Effects 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 3
- 230000001419 dependent effect Effects 0.000 claims description 3
- 239000000543 intermediate Substances 0.000 description 8
- 125000004122 cyclic group Chemical group 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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/083—Key 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]
- H04L9/0833—Key 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] involving conference or group key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
- H04L2209/601—Broadcast encryption
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y04—INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
- Y04S—SYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
- Y04S40/00—Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
- Y04S40/20—Information technology specific aspects, e.g. CAD, simulation, modelling, system security
Definitions
- the present invention relates to data encryption techniques or identity-based messages.
- IBE identity-based encryption
- An IBE scheme allows a sender to encrypt a message for a recipient, without having to memorize a recipient's certificate or a public key decorrelated from its identity. The recipient's public key is indeed deduced from his identity.
- An IBE scheme can be used in particular to encrypt electronic messages.
- a person A wanting to send a message to a recipient B typically uses the email address of B to obtain the encryption key to use.
- a trusted authority provides each user who authenticates a decryption private key corresponding to his email address that is to say his public key. Therefore, B does not need to make A know a public key, certified or not, so that A can encrypt messages. This greatly simplifies the management of the system. It is even possible for A to encrypt a message for B before B has obtained his decryption private key.
- the keys to be stored are usually short. However, there is currently no way to quantify effectively send a message to a group of users in such a system. To send an encrypted message to N users using their identities, it is necessary to encrypt the message N times with N different keys and to transmit N encrypted messages or, if a broadcast channel is borrowed, to broadcast information having the size of N encrypted messages. The information to be sent then has a linear size according to the number of recipients, which is not effective when the number N becomes large.
- An aspect of the invention relates to an identity-based cryptographic method, wherein a public key dependent on a secret key is accessible to an issuing entity and to receiving entities, and respective private decryption keys are associable with the entities.
- receiving The private key of a receiving entity depends on the secret key and an identity parameter of this receiving entity.
- the method includes an operation of encrypting at least one message to a set of s receiving entities, s being a number greater than 1. This encryption operation comprises the following steps:
- Broadcast encryption refers to cryptographic techniques used to broadcast content on an unsecured public channel so that only legitimate users are able to read that content. For example, legitimate users are those who have paid a fee. The broadcasting entity that broadcasts content wants this content to remain confidential to illegitimate users, which requires a particular encryption scheme.
- An example of broadcast encryption is described in "Broadcast encryption", A. Fiat and M. Naor, CRYPTO'93, Lecture Notes in Computer Science, Vol. 773, pp. 480-491, Santa Barbara, CA, USA, August 22-26, 1994. Springer-Verlag, Berlin.
- BIBE broadcast identity-based encryption
- the cryptogram giving access to the encryption key has a constant size and independent of the number s of receiving entities. It is thus convenient to set a limit to the amount of data to be broadcast.
- decryption (and encryption) keys used can also be of constant size, relatively small, and independent of the number s. This property lends itself well to a software implementation.
- the encryption operation comprises a first phase of calculating and storing a vector of values. intermediates according to the public key and the identity parameters of the receiving entities, and at least one occurrence of a second phase executed by the transmitting entity.
- This second phase includes the following steps:
- the first phase of the encryption operation will be performed only once for the same set of receivers targeted by an issuing entity during a given period.
- This is well suited to the video encryption framework for example.
- a video intended for a certain set of users is encrypted throughout its distribution for this set of users.
- the first phase of the encryption operation of calculating the vector of intermediate values can be performed once and for all at the beginning of the video, while the symmetric encryption key can be updated regularly (for example every second). by repetitively executing the second phase with successive random number draws. This diversification of keys prevents them from being effectively hijacked if some users try to publish or communicate the symmetric encryption key during the video broadcast.
- the decryption operation can also be split into two phases, the first one executed once taking into account the identity parameters of the other receiver entities of the set and the second one that can be repeated several times. times without taking into account the identity parameters of the other receiving entities.
- a usable BIBE schema uses a secret key that includes a element g of a cyclic group G 1 of order p and an integer ⁇ chosen between 1 and p-1, where p denotes a prime number.
- the private key of a receiving entity it can have a representative component of an element Aj of the group G 1
- Aj g 1 / (f + ⁇ j) where Xj is an integer determined by the identity parameters of said receiving entity.
- the program includes instructions for implementing the steps of a process encryption operation during program execution by a processing unit of an encryption device.
- the program comprises instructions for implementing the steps of a process decryption operation during a program execution by a processing unit of a decryption device.
- Another aspect of the invention relates to an encryption device comprising:
- a memory for holding a public key of an identity-based encryption scheme, the public key depending on a secret key and further accessible to receiving entities, the identity-based encryption scheme further comprising the capability of associating respective private keys with the receiving entities, the private key of a receiving entity depending on the secret key and an identity parameter of said receiving entity;
- Yet another aspect of the invention relates to a device for decryption comprising:
- a memory for containing a public key of an identity-based encryption scheme and a private key associated with said device, the public key depending on a secret key and being further accessible to at least one issuing entity, the schema identity-based encryption apparatus further comprising the ability to associate respective private keys with receiving entities including the decryption device, the private key of a secret key dependent receiving entity and an identity parameter of said receiving entity;
- a computer for retrieving a symmetric encryption key from a received cryptogram with an encrypted message from the transmitting entity, the public key, the identity parameters of a set of receiving entities including said device and the private key associated with said device, s being a number greater than 1 and said cryptogram having a constant size and independent of the number s;
- FIG. 1 is a block diagram of an encryption system for implementing an embodiment of the invention
- FIG. 2 is a block diagram of an exemplary encryption device
- FIG. 3 is a block diagram of an exemplary decryption device.
- the cryptographic method considered here involves an authority 1 over which builds trust.
- This authority is basically the only entity that has a secret key or master key MSK. It keeps it for example in a protected memory 10.
- a public key generator 11 of the authority 1 determines a public key PK and broadcasts it so that it is available to all users of the system.
- the public key PK is calculated based on the secret key MSK and system parameters representing the mathematical structure underlying the encryption scheme.
- the authority 1 also has a private key generator 12 serving to provide a private key specific to a receiving entity 3 that has been able to authenticate with the authority 1.
- the private keys can be issued during the initialization. However, according to a characteristic of the IBE schemes, they are advantageously generated and delivered to their holders as and when required.
- An entity may in particular receive encrypted messages to its attention without having yet a private key decryption. By authenticating with the authority 1, this entity will be able to obtain its private key and decipher the message a posteriori.
- the authority 1 has a module 13 implementing an authentication technique of the receiving entities 3 which request their private key. Once the entity 3 has been authenticated, its identity IDj is supplied to the private key generator 12 which returns the corresponding private key skj calculated according to IDj, the secret key MSK and the system parameters and sent to the entity via a channel protected.
- the identity IDj of a receiving entity 3 consists of one or more parameters associated publicly with the entity. Any identity used in known IBE schemes can be adopted (see A. Shamir, "Identity-based cryptosystems and signature schemes", Advances in Cryptology - CRYPTO'84, Vol 196, Lecture Notes in Computer Science, pages 47-53, Santa Barbara, CA, USA, August 19-23, 1985. Springer-Verlag, Berlin). A typical example of identity is the e-mail address. Other parameters may be added at the choice of the entity concerned, such as an indication of the period of validity of the private key associated with the entity. A hash function can be applied to the identity to obtain a desired size data.
- the public key PK made available to each enables an issuing entity 2 to encrypt messages M for a set of receiving entities 3 each designated by their identity.
- the issuing entity 2 uses any technique of symmetric encryption using a key K that it generates, and broadcasts the encrypted message CM accompanied by a header or cryptogram Hdr.
- This cryptogram Hdr is constructed to give access to the symmetric encryption key K to any entity that has:
- Each receiver entity of the set can thus use its private key skj to retrieve the symmetric encryption key K and then decipher the message CM-
- the cryptogram Hdr has a constant size and independent of the number s, which avoids having too much information to transmit with the encrypted messages when the number of recipients becomes important.
- the private keys skj will also be able to have a constant size and independent of the number s.
- Figure 2 schematically illustrates the organization of a device for encryption 2 constituting an issuing entity in an exemplary embodiment of the cryptographic method.
- the device 2 comprises a memory 20 where in particular the public key PK and the identities ID 1 ,..., ID S of the receiving entities which will be the addressees of one or more encrypted messages C 1 are stored.
- Messages from a source 21 are encrypted in a circuit
- IDj identities can be included in the address book of an email application.
- the encryption key generator 23 produces not only a symmetric encryption key K, but also an associated cryptogram Hdr.
- the production of the pair (K, Hdr) involves the drawing of a random number k by a random number generator 25.
- a module 24 of the encryption key generator 23 calculates a vector of intermediate values PKs as a function of the public key PK and the identities IDj of the s recipient entities, and stores this vector PK 5 . Then, whenever there is a new message to be encrypted to these receiving entities, a number k is drawn and a module 26 calculates a new pair (K, Hdr) as a function of k and PK S -
- FIG. 3 schematically illustrates the organization of a decryption device 3 constituting an identity receiving entity ID, in an exemplary embodiment of the cryptographic method.
- the device 3 comprises a memory 30 in which the public key PK, the private key skj of the device and the identities ID ⁇ , ..., ID ⁇ are notably recorded. , IDj + ⁇
- IDj identities can be included in the address book of an e-mail application.
- a computer 33 retrieves a symmetric encryption key K from the cryptogram Hdr received with an encrypted message CM- It is possible to make the calculations taking into account identities IDj are executed once for all receptions of encrypted messages that will be destined for the same set of receiving entities.
- a module 34 of the computer 33 calculates an intermediate value z, as a function of the public key PK and identities IDj of the receiving entities, and stores this value z ,.
- a module 36 calculates the symmetric encryption key K from the cryptogram Hdr received with the encrypted message C M and the intermediate value z, . It is again noted that, since the calculation of Zj only involves public parameters, this value z could be calculated outside the decryption device 3 and received by it on a channel that does not need to be connected. to be protected.
- two cyclic groups G 1 and G 2 are defined, each of order p, where p and a prime number, typically having a base representation. 2 of more than one hundred bits.
- a non-bilinear application degenerate e of G 1 * G 2 in another cyclic group G ⁇ is further defined.
- a possible example for this bilinear application e is the coupling of Tate.
- the system parameters mentioned above then comprise the number p and descriptors of the groups G 1 , G 2 and G ⁇ and the bilinear map e (.,.) -
- G 2 W, W 2 , ..., W m , where m is an integer representing the maximum size of the set of receiving entities 3 to which an encrypted message can be addressed. In other words, the size s of a set of recipients can not be greater than m.
- the public key PK is then:
- PK (w, v, h, hY, hY 2 , ..., hY m ).
- This element A'j is given by
- the H function is also described in the known system parameters of the different entities.
- the key K can be equal to v k ( ⁇ + ⁇ i) - ( ⁇ + ⁇ s ) or more generally to F [v k ( ⁇ + ⁇ i) - ( ⁇ + ⁇ s )], where F [.] designates any known function of the different entities thanks to the system information.
- this vector PKs includes the three elements w, a and b of the groups G ⁇
- the BIBE schema example described above uses a random oracle since a cryptographic hash function H is used to ensure the random character of the keys. Since the random oracle model is a theoretical notion, a hash function could only be used to compact the identity data, without the need for the hypothesis that one has a random oracle. Note that other schema implementations do not use random oracles. An example based on similar mathematical objects is described below. Here, we do not need the assumption mentioned above, but it is still possible to use a hash function. The level of security offered by the hash function is then less important.
- PK (w, v, h, W, W 2 , ..., h 2 h, IV, h 2 ⁇ ..., h / 11 ), the number m being defined as above.
- the symmetric encryption key K generated to encrypt a message M to identity receiving entities ID 1 , ...,
- a receiving entity 3 of the set of recipient entities of the encrypted message CM is able to recover the key K used in computing
- K FIe (C 1 , Z j ) .e (A j ⁇ i, C 2 ) .e (A j r i, C 3 )].
- A'j is representative of Aj
- the encryption and decryption devices represented on the FIGS. 2 and 3 can be realized by means of specific circuits or programmed logical components of the FPGA type or the like. A current embodiment, however, will use general purpose processors executing programs according to the invention written to implement the cryptographic calculations described above.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
- Circuits Of Receivers In General (AREA)
Abstract
According to the invention, a public key (PK) depending on a secret key is accessible to an emitter entity (2) and to receiver entities. A private key, that can be associated with a receiver entity, depends on the secret key and on an identity parameter (IDj) of said entity. The encryption of a message (M) intended for a set of s receiver entities (s > 1 ) comprises generating a symmetrical encryption key (K) and an associated cryptogram (Hdr) based on the public key, identity parameters of the s receiver entities and a number selected by the emitter entity. The cryptogram provides access to the associated encryption key by combination with the public key, the identity parameters of the s receiver entities and the private key of an identified receiver entity of the set. The message is encrypted in the emitter entity by the generated encryption key, and broadcasted in this encrypted form together with said cryptogram.
Description
CHIFFREMENT BROADCAST BASE SUR IDENTITE CREDIT BROADCAST BASED ON IDENTITY
La présente invention concerne les techniques de chiffrement de données ou de messages basées sur identité.The present invention relates to data encryption techniques or identity-based messages.
Les schémas de chiffrement basés sur l'identité, ci-après appelés schémas IBE (" identity-based encryption"), ont été introduits afin de faciliter la phase de chiffrement de messages.Identity-based encryption schemes, hereafter referred to as identity-based encryption (IBE) schemes, have been introduced to facilitate the message encryption phase.
Un schéma IBE permet à un expéditeur de chiffrer un message pour un destinataire, sans avoir à mémoriser un certificat de ce destinataire ou une clé publique décorrélée de son identité. La clé publique du destinataire est en effet déduite de son identité.An IBE scheme allows a sender to encrypt a message for a recipient, without having to memorize a recipient's certificate or a public key decorrelated from its identity. The recipient's public key is indeed deduced from his identity.
Un schéma IBE peut notamment servir au chiffrement de messages électroniques. Une personne A voulant envoyer un message à un destinataire B utilise typiquement l'adresse électronique de B pour obtenir la clé de chiffrement à employer. Une autorité de confiance fournit à chaque utilisateur qui s'authentifie une clé privée de déchiffrement correspondant à son adresse électronique c'est-à-dire à sa clé publique. De ce fait, B n'a pas besoin de faire connaître à A une clé publique, certifiée ou non, afin que A puisse lui chiffrer des messages. Ceci simplifie beaucoup la gestion du système. Il est même possible que A chiffre un message pour B avant que B n'ait obtenu sa clé privée de déchiffrement.An IBE scheme can be used in particular to encrypt electronic messages. A person A wanting to send a message to a recipient B typically uses the email address of B to obtain the encryption key to use. A trusted authority provides each user who authenticates a decryption private key corresponding to his email address that is to say his public key. Therefore, B does not need to make A know a public key, certified or not, so that A can encrypt messages. This greatly simplifies the management of the system. It is even possible for A to encrypt a message for B before B has obtained his decryption private key.
Certains schémas IBE exploitent les propriétés des applications bilinéaires, par exemple celui décrit dans "Practical Identity-Based Encryption Without Random Oracles", C. Gentry, Eurocrypt 2006, Vol. 196, Lecture Notes in Computer Science 4004, pages 445-464.Some IBE schemes exploit the properties of bilinear applications, for example that described in "Practical Identity-Based Encryption Without Random Oracles", C. Gentry, Eurocrypt 2006, Vol. 196, Lecture Notes in Computer Science 4004, pp. 445-464.
Dans les systèmes IBE, les clés à stocker sont habituellement courtes. Cependant, on ne connaît pas actuellement de moyen pour chiffrer
efficacement un message à l'attention d'un groupe d'utilisateurs dans un tel système. Pour envoyer un message chiffré à N utilisateurs à l'aide de leurs identités, il faut chiffrer le message N fois avec N clés différentes et transmettre N messages chiffrés ou, si un canal de diffusion est emprunté, diffuser des informations ayant la taille de N messages chiffrés. Les informations à émettre ont alors une taille linéaire en fonction du nombre de destinataires, ce qui n'est pas efficace lorsque le nombre N devient grand.In IBE systems, the keys to be stored are usually short. However, there is currently no way to quantify effectively send a message to a group of users in such a system. To send an encrypted message to N users using their identities, it is necessary to encrypt the message N times with N different keys and to transmit N encrypted messages or, if a broadcast channel is borrowed, to broadcast information having the size of N encrypted messages. The information to be sent then has a linear size according to the number of recipients, which is not effective when the number N becomes large.
Un aspect de l'invention se rapporte à un procédé cryptographique basé sur identité, dans lequel une clé publique dépendant d'une clé secrète est accessible à une entité émettrice et à des entités réceptrices, et des clés privées de déchiffrement respectives sont associables aux entités réceptrices. La clé privée d'une entité réceptrice dépend de la clé secrète et d'un paramètre d'identité de cette entité réceptrice. Le procédé comprend une opération de chiffrement d'au moins un message à destination d'un ensemble de s entités réceptrices, s étant un nombre plus grand que 1. Cette opération de chiffrement comprend les étapes suivantes :An aspect of the invention relates to an identity-based cryptographic method, wherein a public key dependent on a secret key is accessible to an issuing entity and to receiving entities, and respective private decryption keys are associable with the entities. receiving. The private key of a receiving entity depends on the secret key and an identity parameter of this receiving entity. The method includes an operation of encrypting at least one message to a set of s receiving entities, s being a number greater than 1. This encryption operation comprises the following steps:
- générer au moins une clé de chiffrement symétrique et un cryptogramme associé à ladite clé de chiffrement symétrique en fonction de la clé publique, des paramètres d'identité des s entités réceptrices et d'au moins un nombre entier choisi par l'entité émettrice, le cryptogramme étant généré de façon à ce qu'il ait une taille constante et indépendante du nombre s, et qu'il donne accès à ladite clé de chiffrement symétrique par combinaison avec la clé publique, les paramètres d'identité des s entités réceptrices et la clé privée d'une entité réceptrice identifiée dudit ensemble ;generating at least one symmetric encryption key and a cryptogram associated with said symmetric encryption key according to the public key, the identity parameters of the receiving entities and at least one integer chosen by the transmitting entity, the cryptogram being generated so that it has a constant size and independent of the number s, and that it gives access to said symmetric encryption key by combination with the public key, the identity parameters of the receiving entities and the private key of an identified receiving entity of said set;
- chiffrer le message avec ladite clé de chiffrement symétrique dans l'entité émettrice ; etencrypting the message with said symmetric encryption key in the transmitting entity; and
- diffuser le cryptogramme et le message chiffré depuis l'entité émettrice.- Broadcast the cryptogram and the encrypted message from the issuing entity.
On réussit ainsi à obtenir un schéma IBE dans le contexte d'un
chiffrement broadcast. Le "chiffrement broadcast" fait référence à des techniques cryptographiques employées pour diffuser un contenu sur un canal public, non sécurisé, de telle sorte que seuls des utilisateurs légitimes soient capables de lire ce contenu. Les utilisateurs légitimes sont par exemple ceux qui ont payé un droit d'accès. L'entité émettrice qui diffuse un contenu désire que ce contenu reste confidentiel auprès des utilisateurs illégitimes, ce qui requiert un schéma de chiffrement particulier. Un exemple de chiffrement broadcast est décrit dans "Broadcast encryption", A. Fiat et M. Naor, CRYPTO'93, Lecture Notes in Computer Science, Vol. 773, pages 480-491 , Santa Barbara, CA, USA, August 22-26, 1994. Springer-Verlag, Berlin.It is thus possible to obtain an IBE scheme in the context of a broadcast encryption. "Broadcast encryption" refers to cryptographic techniques used to broadcast content on an unsecured public channel so that only legitimate users are able to read that content. For example, legitimate users are those who have paid a fee. The broadcasting entity that broadcasts content wants this content to remain confidential to illegitimate users, which requires a particular encryption scheme. An example of broadcast encryption is described in "Broadcast encryption", A. Fiat and M. Naor, CRYPTO'93, Lecture Notes in Computer Science, Vol. 773, pp. 480-491, Santa Barbara, CA, USA, August 22-26, 1994. Springer-Verlag, Berlin.
En conciliant schéma IBE et chiffrement broadcast, on obtient un schéma, ci-après nommé BIBE (" broadcast identity-based encryption"), bien adapté à divers contextes d'applications, comme par exemple la constitution efficace de listes de diffusion de messages électroniques chiffrés. Des schémas BIBE peuvent être construits avec ou sans oracle aléatoire (un "oracle aléatoire" est un dispositif cryptographique théorique apte à répondre à toute requête par une réponse parfaitement aléatoire tirée de manière uniforme dans son domaine de valeurs, ladite réponse étant la même à chaque fois que l'on formule une même requête).By reconciling IBE schema and broadcast encryption, we obtain a schema, hereinafter called BIBE ("broadcast identity-based encryption"), well adapted to various contexts of applications, such as the effective constitution of mailing lists of electronic messages encrypted. BIBE schemas can be constructed with or without a random oracle (a "random oracle" is a theoretical cryptographic device capable of responding to any query by a perfectly random response drawn uniformly across its range of values, said response being the same at each once you make the same request).
De plus, contrairement à l'art antérieur, le cryptogramme donnant accès à la clé de chiffrement a une taille constante et indépendante du nombre s d'entités réceptrices. On peut ainsi commodément fixer une limite à la quantité de données à diffuser.In addition, unlike the prior art, the cryptogram giving access to the encryption key has a constant size and independent of the number s of receiving entities. It is thus convenient to set a limit to the amount of data to be broadcast.
Par ailleurs, les clés de déchiffrement (et de chiffrement) employées peuvent aussi être de taille constante, relativement petite, et indépendante du nombre s. Cette propriété se prête bien à une implantation logicielle.Moreover, the decryption (and encryption) keys used can also be of constant size, relatively small, and independent of the number s. This property lends itself well to a software implementation.
Dans un mode de réalisation, l'opération de chiffrement comporte une première phase de calcul et de mémorisation d'un vecteur de valeurs
intermédiaires en fonction de la clé publique et des paramètres d'identité des s entités réceptrices, et au moins une occurrence d'une seconde phase exécutée par l'entité émettrice. Cette seconde phase comprend les étapes suivantes :In one embodiment, the encryption operation comprises a first phase of calculating and storing a vector of values. intermediates according to the public key and the identity parameters of the receiving entities, and at least one occurrence of a second phase executed by the transmitting entity. This second phase includes the following steps:
- tirer un nombre entier ;- draw an integer;
- calculer une clé de chiffrement symétrique et le cryptogramme associé en fonction du nombre entier tiré et du vecteur de valeurs intermédiaires, sans prendre à nouveau en compte les paramètres d'identité des s entités réceptrices ;calculating a symmetric encryption key and the associated cryptogram as a function of the drawn integer and the intermediate value vector, without again taking into account the identity parameters of the receiving entities;
- chiffrer un message avec la clé de chiffrement calculée ; et- encrypting a message with the calculated encryption key; and
- diffuser le cryptogramme calculé et le message chiffré.- broadcast the calculated cryptogram and the encrypted message.
Ainsi, la première phase de l'opération de chiffrement ne sera réalisée qu'une seule fois pour un même ensemble de récepteurs visés par une entité émettrice durant une période déterminée. Cela convient bien au cadre de chiffrement de vidéos par exemple. Une vidéo destinée à un certain ensemble d'utilisateurs est chiffrée tout au long de sa diffusion pour cet ensemble d'utilisateurs. La première phase de l'opération de chiffrement consistant à calculer le vecteur de valeurs intermédiaires peut être réalisée une fois pour toutes au début de la vidéo, alors que la clé de chiffrement symétrique peut être mise à jour régulièrement (par exemple toutes les secondes) en exécutant de façon répétitive la seconde phase avec tirage de nombres aléatoires successifs. Cette diversification des clés empêche de les détourner efficacement si certains utilisateurs cherchent à publier ou communiquer la clé de chiffrement symétrique pendant la diffusion de la vidéo. Du côté de l'entité réceptrice, l'opération de déchiffrement peut aussi être scindée en deux phases, la première exécutée une fois en prenant en compte les paramètres d'identité des autres entités réceptrices de l'ensemble et la seconde pouvant être répétée plusieurs fois sans prendre en compte les paramètres d'identité des autres entités réceptrices.Thus, the first phase of the encryption operation will be performed only once for the same set of receivers targeted by an issuing entity during a given period. This is well suited to the video encryption framework for example. A video intended for a certain set of users is encrypted throughout its distribution for this set of users. The first phase of the encryption operation of calculating the vector of intermediate values can be performed once and for all at the beginning of the video, while the symmetric encryption key can be updated regularly (for example every second). by repetitively executing the second phase with successive random number draws. This diversification of keys prevents them from being effectively hijacked if some users try to publish or communicate the symmetric encryption key during the video broadcast. On the receiving entity side, the decryption operation can also be split into two phases, the first one executed once taking into account the identity parameters of the other receiver entities of the set and the second one that can be repeated several times. times without taking into account the identity parameters of the other receiving entities.
Un schéma BIBE utilisable fait appel à une clé secrète incluant un
élément g d'un groupe cyclique G1 d'ordre p et un nombre entier γ choisi entre 1 et p-1 , où p désigne un nombre premier. La clé publique peut alors avoir une composante représentative d'un élément w du groupe G1, égal à gY, une composante représentative d'un élément h d'un groupe cyclique G2 d'ordre p, une composante représentative d'un élément v d'un groupe cyclique Gτ d'ordre p, de la forme v = e(g, h), et des composantes représentatives de m éléments du groupe G2 de la forme h^, h^2, ..., Wm, où e(., .) désigne une application bilinéaire de G1XG2 dans Gτ, et m désigne un entier non inférieur au nombre s précité. Quant à la clé privée d'une entité réceptrice, elle peut avoir une composante représentative d'un élément Aj du groupe G1 de la formeA usable BIBE schema uses a secret key that includes a element g of a cyclic group G 1 of order p and an integer γ chosen between 1 and p-1, where p denotes a prime number. The public key can then have a representative component of an element w of the group G 1 , equal to gY, a representative component of an element h of a cyclic group G 2 of order p, a representative component of an element v of a cyclic group G τ of order p, of the form v = e (g, h), and representative components of m elements of the group G 2 of the form h 1, h 2 , ..., W m , where e (.,.) Denotes a bilinear mapping of G 1 XG 2 in G τ , and m denotes an integer not smaller than the aforementioned number s. As for the private key of a receiving entity, it can have a representative component of an element Aj of the group G 1 of the form
Aj = g1/(f+χj) où Xj est un entier déterminé par les paramètres d'identité de ladite entité réceptrice.Aj = g 1 / (f + χ j) where Xj is an integer determined by the identity parameters of said receiving entity.
Dans un tel schéma, la clé de chiffrement symétrique pour un ensemble de s entités réceptrices (2 ≤ s ≤ m) peut être déterminée par l'élément yk.{y+Xî)...{y+χ s) ^u groupe Gτ, où X1, ..., xs sont les entiers déterminés par les paramètres d'identité respectifs des s entités réceptrices. On peut en outre prévoir que le cryptogramme ait une composante représentative de l'élément C1 = wk du groupe G1 et une composante représentative de l'élémentIn such a scheme, the symmetric encryption key for a set of s receiving entities (2 ≤ s ≤ m) can be determined by the element yk . {y + X i) ... {y + χ s ) u G τ , where X 1 , ..., x s are the integers determined by the respective identity parameters of the receiving entities. It is furthermore possible to provide for the cryptogram to have a component representative of the element C 1 = w k of the group G 1 and a representative component of the element
C2 = hk (y+χi) - (τ+χs) du groupe G2, où k est le nombre entier choisi par l'entité émettrice. Une opération de déchiffrement effectuée par une des s entités réceptrices, dont la clé privée a une composante représentative de l'élément A, = g1/(f+χi), peut comprendre un recalcul de la clé de chiffrement symétrique à partir de l'élément e(C<|, Zj).e(Ajx', C2) du groupe Gj, où z, est l'élément duC 2 = h k (y + χ i) - (τ + χ s) of the group G 2 , where k is the integer chosen by the transmitting entity. A decryption operation performed by one of the receiving entities, whose private key has a component representative of the element A, = g 1 / (f + χ i), may comprise a recalculation of the symmetric encryption key from the element e (C <|, Zj) .e (Aj x ', C 2 ) of the group Gj, where z, is the element of
groupe G2 égal à
.group G 2 equal to .
Il est également proposé des programmes d'ordinateur pour des dispositifs de chiffrement et de déchiffrement constituant des entités émettrice
et réceptrice dans un procédé cryptographique basé sur identité tel que présenté ci-dessus. Du côté émetteur, le programme comprend des instructions pour mettre en œuvre les étapes d'une opération de chiffrement du procédé lors d'une exécution du programme par une unité de traitement d'un dispositif de chiffrement. Du côté récepteur, le programme comprend des instructions pour mettre en œuvre les étapes d'une opération de déchiffrement du procédé lors d'une exécution du programme par une unité de traitement d'un dispositif de déchiffrement.It is also proposed computer programs for encryption and decryption devices constituting issuing entities and receiving in an identity-based cryptographic method as presented above. On the sending side, the program includes instructions for implementing the steps of a process encryption operation during program execution by a processing unit of an encryption device. On the receiver side, the program comprises instructions for implementing the steps of a process decryption operation during a program execution by a processing unit of a decryption device.
Un autre aspect de l'invention se rapporte à un dispositif de chiffrement comprenant :Another aspect of the invention relates to an encryption device comprising:
- une mémoire pour contenir une clé publique d'un schéma de chiffrement basé sur identité, la clé publique dépendant d'une clé secrète et étant en outre accessible à des entités réceptrices, le schéma de chiffrement basé sur identité comprenant en outre la capacité d'associer des clés privées respectives aux entités réceptrices, la clé privée d'une entité réceptrice dépendant de la clé secrète et d'un paramètre d'identité de ladite entité réceptrice ;a memory for holding a public key of an identity-based encryption scheme, the public key depending on a secret key and further accessible to receiving entities, the identity-based encryption scheme further comprising the capability of associating respective private keys with the receiving entities, the private key of a receiving entity depending on the secret key and an identity parameter of said receiving entity;
- un générateur d'au moins une clé de chiffrement symétrique et d'un cryptogramme associé à ladite clé de chiffrement en fonction de la clé publique, des paramètres d'identité d'un ensemble de s entités réceptrices et d'un nombre entier choisi localement, s étant un nombre plus grand que 1 , ledit cryptogramme étant généré de façon à ce qu'il ait une taille constante et indépendante du nombre s, et qu'il donne accès à ladite clé de chiffrement symétrique par combinaison avec la clé publique, les paramètres d'identité des s entités réceptrices et la clé privée d'une entité réceptrice identifiée dudit ensemble ; eta generator of at least one symmetric encryption key and a cryptogram associated with said encryption key according to the public key, the identity parameters of a set of receiving entities and a chosen integer locally, s being a number greater than 1, said cryptogram being generated so that it has a constant size and independent of the number s, and that it gives access to said symmetric encryption key by combination with the public key the identity parameters of the receiving entities and the private key of an identified receiving entity of said set; and
- un circuit de chiffrement du message avec ladite clé de chiffrement symétrique, le message chiffré étant diffusé avec le cryptogramme.a circuit for encrypting the message with said symmetric encryption key, the encrypted message being broadcast with the cryptogram.
Un autre aspect encore de l'invention se rapporte à un dispositif de
déchiffrement comprenant :Yet another aspect of the invention relates to a device for decryption comprising:
- une mémoire pour contenir une clé publique d'un schéma de chiffrement basé sur identité ainsi qu'une clé privée associée audit dispositif, la clé publique dépendant d'une clé secrète et étant en outre accessible à au moins une entité émettrice, le schéma de chiffrement basé sur identité comprenant en outre la capacité d'associer des clés privées respectives à des entités réceptrices incluant le dispositif de déchiffrement, la clé privée d'une entité réceptrice dépendant de la clé secrète et d'un paramètre d'identité de ladite entité réceptrice ;a memory for containing a public key of an identity-based encryption scheme and a private key associated with said device, the public key depending on a secret key and being further accessible to at least one issuing entity, the schema identity-based encryption apparatus further comprising the ability to associate respective private keys with receiving entities including the decryption device, the private key of a secret key dependent receiving entity and an identity parameter of said receiving entity;
- un calculateur pour récupérer une clé de chiffrement symétrique à partir d'un cryptogramme reçu avec un message chiffré en provenance de l'entité émettrice, de la clé publique, des paramètres d'identité d'un ensemble de s entités réceptrices incluant ledit dispositif et de la clé privée associée audit dispositif, s étant un nombre plus grand que 1 et ledit cryptogramme ayant une taille constante et indépendante du nombre s ; eta computer for retrieving a symmetric encryption key from a received cryptogram with an encrypted message from the transmitting entity, the public key, the identity parameters of a set of receiving entities including said device and the private key associated with said device, s being a number greater than 1 and said cryptogram having a constant size and independent of the number s; and
- un circuit de déchiffrement du message avec la clé de chiffrement symétrique.a circuit for decrypting the message with the symmetric encryption key.
D'autres particularités et avantages de l'invention apparaîtront dans la description ci-après d'exemples de réalisation non limitatifs, en référence aux dessins annexés, dans lesquels :Other features and advantages of the invention will appear in the following description of nonlimiting exemplary embodiments, with reference to the appended drawings, in which:
- la figure 1 est un schéma synoptique d'un système de chiffrement pour la mise en œuvre d'un mode de réalisation de l'invention ;FIG. 1 is a block diagram of an encryption system for implementing an embodiment of the invention;
- la figure 2 est un schéma synoptique d'un exemple de dispositif de chiffrement ; etFIG. 2 is a block diagram of an exemplary encryption device; and
- la figure 3 est un schéma synoptique d'un exemple de dispositif de déchiffrement.FIG. 3 is a block diagram of an exemplary decryption device.
Le procédé cryptographique considéré ici met en jeu une autorité 1 sur
laquelle repose la confiance. Cette autorité est en principe la seule entité qui dispose d'une clé secrète ou clé maître MSK. Elle la conserve par exemple dans une mémoire protégée 10.The cryptographic method considered here involves an authority 1 over which builds trust. This authority is basically the only entity that has a secret key or master key MSK. It keeps it for example in a protected memory 10.
Lors de l'initialisation du système, un générateur de clé publique 11 de l'autorité 1 détermine une clé publique PK et la diffuse pour qu'elle soit disponible à tous les utilisateurs du système. La clé publique PK est calculée en fonction de la clé secrète MSK et de paramètres système représentant la structure mathématique sous-jacente au schéma de chiffrement.During the initialization of the system, a public key generator 11 of the authority 1 determines a public key PK and broadcasts it so that it is available to all users of the system. The public key PK is calculated based on the secret key MSK and system parameters representing the mathematical structure underlying the encryption scheme.
L'autorité 1 possède d'autre part un générateur de clés privées 12 servant à fournir une clé privée propre à une entité réceptrice 3 qui a pu s'authentifier auprès de l'autorité 1. Les clés privées peuvent être délivrées lors de l'initialisation. Cependant, conformément à une caractéristique des schémas IBE, elles sont avantageusement générées et remises à leurs titulaires au fur et à mesure des besoins. Une entité peut notamment recevoir des messages chiffrés à son attention sans disposer encore d'une clé privée de déchiffrement. En s'authentifiant auprès de l'autorité 1 , cette entité pourra obtenir sa clé privée et déchiffrer le message a posteriori.The authority 1 also has a private key generator 12 serving to provide a private key specific to a receiving entity 3 that has been able to authenticate with the authority 1. The private keys can be issued during the initialization. However, according to a characteristic of the IBE schemes, they are advantageously generated and delivered to their holders as and when required. An entity may in particular receive encrypted messages to its attention without having yet a private key decryption. By authenticating with the authority 1, this entity will be able to obtain its private key and decipher the message a posteriori.
L'autorité 1 possède un module 13 mettant en œuvre une technique d'authentification des entités réceptrices 3 qui demandent leur clé privée. Une fois l'entité 3 authentifiée, son identité IDj est fournie au générateur de clés privées 12 qui retourne la clé privée correspondante skj calculée en fonction de IDj, de la clé secrète MSK et des paramètres système et envoyée à l'entité via un canal protégé.The authority 1 has a module 13 implementing an authentication technique of the receiving entities 3 which request their private key. Once the entity 3 has been authenticated, its identity IDj is supplied to the private key generator 12 which returns the corresponding private key skj calculated according to IDj, the secret key MSK and the system parameters and sent to the entity via a channel protected.
L'identité IDj d'une entité réceptrice 3 consiste en un ou plusieurs paramètres associés de manière publique à l'entité. Toute identité employée dans les schémas IBE connus peut être adoptée (voir A. Shamir, "Identity- based cryptosystems and signature schemes", Advances in Cryptology - CRYPTO'84, Vol. 196, Lecture Notes in Computer Science, pages 47-53,
Santa Barbara, CA, USA, August 19-23, 1985. Springer-Verlag, Berlin). Un exemple typique d'identité est l'adresse de messagerie électronique. Il peut y être adjoint d'autres paramètres au choix de l'entité concernée, comme par exemple une indication de période de validité de la clé privée associée à l'entité. Une fonction de hachage peut être appliquée à l'identité afin d'obtenir une donnée de taille souhaitée.The identity IDj of a receiving entity 3 consists of one or more parameters associated publicly with the entity. Any identity used in known IBE schemes can be adopted (see A. Shamir, "Identity-based cryptosystems and signature schemes", Advances in Cryptology - CRYPTO'84, Vol 196, Lecture Notes in Computer Science, pages 47-53, Santa Barbara, CA, USA, August 19-23, 1985. Springer-Verlag, Berlin). A typical example of identity is the e-mail address. Other parameters may be added at the choice of the entity concerned, such as an indication of the period of validity of the private key associated with the entity. A hash function can be applied to the identity to obtain a desired size data.
La clé publique PK mise à disposition de chacun permet à une entité émettrice 2 de chiffrer des messages M pour un ensemble de s entités réceptrices 3 désignées chacune par leur identité. L'entité émettrice 2 utilise une technique quelconque de chiffrement symétrique à l'aide d'une clé K qu'elle génère, et diffuse le message chiffré CM accompagné d'un en-tête ou cryptogramme Hdr.The public key PK made available to each enables an issuing entity 2 to encrypt messages M for a set of receiving entities 3 each designated by their identity. The issuing entity 2 uses any technique of symmetric encryption using a key K that it generates, and broadcasts the encrypted message CM accompanied by a header or cryptogram Hdr.
Ce cryptogramme Hdr est construit de manière à donner accès à la clé de chiffrement symétrique K à toute entité qui dispose:This cryptogram Hdr is constructed to give access to the symmetric encryption key K to any entity that has:
- de la clé publique PK (et des paramètres système);- PK public key (and system parameters);
- des paramètres d'identité IDj des s entités réceptrices destinataires du message chiffré; etidentity parameters IDj of the receiving entities receiving the encrypted message; and
- de la clé privée sk, de l'une de ces entités réceptrices.- The private key sk, one of these receiving entities.
Chaque entité réceptrice de l'ensemble peut ainsi utiliser sa clé privée skj pour récupérer la clé de chiffrement symétrique K puis déchiffrer le message CM-Each receiver entity of the set can thus use its private key skj to retrieve the symmetric encryption key K and then decipher the message CM-
Dans certaines réalisations, le cryptogramme Hdr a une taille constante et indépendante du nombre s, ce qui évite d'avoir trop d'informations à transmettre avec les messages chiffrés lorsque le nombre de destinataires devient important. Les clés privées skj pourront elles aussi avoir une taille constante et indépendante du nombre s.In some embodiments, the cryptogram Hdr has a constant size and independent of the number s, which avoids having too much information to transmit with the encrypted messages when the number of recipients becomes important. The private keys skj will also be able to have a constant size and independent of the number s.
La figure 2 illustre schématiquement l'organisation d'un dispositif de
chiffrement 2 constituant une entité émettrice dans un exemple de réalisation du procédé cryptographique. Le dispositif 2 comporte une mémoire 20 où sont notamment enregistrées la clé publique PK et les identités ID1, ...,IDS des s entités réceptrices qui seront les destinataires d'un ou plusieurs messages chiffrés C^. Les messages issus d'une source 21 sont chiffrés dans un circuitFigure 2 schematically illustrates the organization of a device for encryption 2 constituting an issuing entity in an exemplary embodiment of the cryptographic method. The device 2 comprises a memory 20 where in particular the public key PK and the identities ID 1 ,..., ID S of the receiving entities which will be the addressees of one or more encrypted messages C 1 are stored. Messages from a source 21 are encrypted in a circuit
22 à l'aide d'une clé de chiffrement symétrique K produite par un générateur 23. Les identités IDj peuvent notamment faire partie du carnet d'adresses d'une application de messagerie électronique.22 using a symmetric encryption key K produced by a generator 23. IDj identities can be included in the address book of an email application.
A partir de la clé publique PK et des identités ID1 , ...,IDS, le générateur de clé de chiffrement 23 produit non seulement une clé de chiffrement symétrique K, mais aussi un cryptogramme associé Hdr. La production du couple (K, Hdr) met en jeu le tirage d'un nombre aléatoire k par un générateur de nombres aléatoires 25.From the public key PK and identities ID 1 ,..., ID S , the encryption key generator 23 produces not only a symmetric encryption key K, but also an associated cryptogram Hdr. The production of the pair (K, Hdr) involves the drawing of a random number k by a random number generator 25.
Il est possible de faire en sorte que les calculs prenant en compte les identités ID; des s entités réceptrices de l'ensemble soient exécutés une seule fois pour toutes les transmissions de messages chiffrés vers cet ensemble de s entités réceptrices. Pour cela, dans une première phase, un module 24 du générateur de clé de chiffrement 23 calcule un vecteur de valeurs intermédiaires PKs en fonction de la clé publique PK et des identités IDj des s entités réceptrices, et mémorise ce vecteur PK5. Ensuite, chaque fois qu'il y a un nouveau message à chiffrer vers ces s entités réceptrices, un nombre k est tiré et un module 26 calcule un nouveau couple (K, Hdr) en fonction de k et PKS-It is possible to make the calculations taking into account ID identities; all the receiving entities in the set are executed once for all transmissions of encrypted messages to that set of receiving entities. For this purpose, in a first phase, a module 24 of the encryption key generator 23 calculates a vector of intermediate values PKs as a function of the public key PK and the identities IDj of the s recipient entities, and stores this vector PK 5 . Then, whenever there is a new message to be encrypted to these receiving entities, a number k is drawn and a module 26 calculates a new pair (K, Hdr) as a function of k and PK S -
On remarque que, comme le calcul de PK5 ne fait intervenir que des paramètres publics, ce vecteur PKs pourrait être calculé à l'extérieur du dispositif de chiffrement 2 et reçu par celui-ci sur un canal n'ayant pas besoin d'être protégé (le vecteur PK5 peut être publié).
La figure 3 illustre schématiquement l'organisation d'un dispositif de déchiffrement 3 constituant une entité réceptrice d'identité ID, dans un exemple de réalisation du procédé cryptographique. Le dispositif 3 comporte une mémoire 30 où sont notamment enregistrées la clé publique PK, la clé privée skj du dispositif et les identités ID^ , ..., IDμ.| , IDj+<|, ..., IDS des s-1 entités réceptrices qui seront, avec le dispositif 3, les destinataires d'un ou plusieurs messages chiffrés C^. Les identités IDj peuvent notamment faire partie du carnet d'adresses d'une application de messagerie électronique.Note that since the calculation of PK 5 only involves public parameters, this vector PKs could be calculated outside the encryption device 2 and received by it on a channel that does not need to be protected (the PK vector 5 can be published). FIG. 3 schematically illustrates the organization of a decryption device 3 constituting an identity receiving entity ID, in an exemplary embodiment of the cryptographic method. The device 3 comprises a memory 30 in which the public key PK, the private key skj of the device and the identities ID ^, ..., IDμ are notably recorded. , IDj + <|, ..., ID S of the s-1 receiving entities which will be, with the device 3, the recipients of one or more encrypted messages C ^. IDj identities can be included in the address book of an e-mail application.
A partir de la clé publique PK et des identités IDj, un calculateur 33 récupère une clé de chiffrement symétrique K à partir du cryptogramme Hdr reçu avec un message chiffré CM- II est possible de faire en sorte que les calculs prenant en compte les identités IDj soient exécutés une seule fois pour toutes les réceptions de messages chiffrés qui seront destinés au même ensemble de s entités réceptrices. Pour cela, dans une première phase, un module 34 du calculateur 33 calcule une valeur intermédiaire z, en fonction de la clé publique PK et des identités IDj des s entités réceptrices, et mémorise cette valeur z,. Ensuite, chaque fois qu'il y a un nouveau message à déchiffrer destiné à ces s entités réceptrices, un module 36 calcule la clé de chiffrement symétrique K à partir du cryptogramme Hdr reçu avec le message chiffré CM et de la valeur intermédiaire z,. On remarque à nouveau que, comme le calcul de Zj ne fait intervenir que des paramètres publics, cette valeur z, pourrait être calculée à l'extérieur du dispositif de déchiffrement 3 et reçue par celui-ci sur un canal n'ayant pas besoin d'être protégé.From the public key PK and identities IDj, a computer 33 retrieves a symmetric encryption key K from the cryptogram Hdr received with an encrypted message CM- It is possible to make the calculations taking into account identities IDj are executed once for all receptions of encrypted messages that will be destined for the same set of receiving entities. For this purpose, in a first phase, a module 34 of the computer 33 calculates an intermediate value z, as a function of the public key PK and identities IDj of the receiving entities, and stores this value z ,. Then, whenever there is a new message to be decrypted for these s recipient entities, a module 36 calculates the symmetric encryption key K from the cryptogram Hdr received with the encrypted message C M and the intermediate value z, . It is again noted that, since the calculation of Zj only involves public parameters, this value z could be calculated outside the decryption device 3 and received by it on a channel that does not need to be connected. to be protected.
Dans un exemple d'environnement mathématique utilisable dans le procédé ci-dessus, deux groupes cycliques G1 et G2 (distincts ou non) sont définis, chacun d'ordre p, où p et un nombre premier, ayant typiquement une représentation en base 2 de plus de cent bits. Une application bilinéaire non
dégénérée e de G1 * G2 dans un autre groupe cyclique Gτ est en outre définie. Par bilinéaire, on entend que pour toute paire d'entiers (a, b), tout élément u de G1 et tout élément v de G2, on a e(ua, vb) = e(u, v)ab. Un exemple possible pour cette application bilinéaire e est le couplage de Tate. Les paramètres système mentionnés ci-dessus comprennent alors le nombre p et des descripteurs des groupes G1 , G2 et Gτ et de l'application bilinéaire e(., .)-In an example of a mathematical environment that can be used in the above method, two cyclic groups G 1 and G 2 (distinct or not) are defined, each of order p, where p and a prime number, typically having a base representation. 2 of more than one hundred bits. A non-bilinear application degenerate e of G 1 * G 2 in another cyclic group G τ is further defined. By bilinear we mean that for every pair of integers (a, b), every element u of G 1, and every element v of G 2 , we have (u a , v b ) = e (u, v) ab . A possible example for this bilinear application e is the coupling of Tate. The system parameters mentioned above then comprise the number p and descriptors of the groups G 1 , G 2 and G τ and the bilinear map e (.,.) -
Dans cet exemple, la clé secrète MSK consiste en un élément g que l'autorité 1 tire au hasard dans le groupe G1 et en un entier γ compris entre 1 et p-1 : MSK = (g, γ). Le générateur de clé publique 11 calcule l'élément w = g^ du groupe G1 et tire au hasard un élément h du groupe G2. Il calcule en outre l'élément v = e(g, h) du groupe Gj et des puissances de l'élément h du groupeIn this example, the secret key MSK consists of an element g that the authority 1 pulls at random in the group G 1 and in an integer γ lying between 1 and p-1: MSK = (g, γ). The public key generator 11 calculates the element w = g ^ of the group G 1 and randomly draws an element h from the group G 2 . It also calculates the element v = e (g, h) of the group Gj and the powers of the element h of the group
G2: W, W2, ..., Wm, où m est un nombre entier représentant la taille maximum de l'ensemble d'entités réceptrices 3 auquel un message chiffré pourra être adressé. En d'autres termes la taille s d'un ensemble de destinataires ne pourra pas être supérieure à m. La clé publique PK est alors:G 2 : W, W 2 , ..., W m , where m is an integer representing the maximum size of the set of receiving entities 3 to which an encrypted message can be addressed. In other words, the size s of a set of recipients can not be greater than m. The public key PK is then:
PK = (w, v, h, hY, hY2, ..., hYm).PK = (w, v, h, hY, hY 2 , ..., hY m ).
La clé privée skj d'une entité 3 d'identité IDj consiste dans ce cas en un élément A'j du groupe G1 représentatif de l'élément Aj = g1/(Y+xj), où Xj est un entier déterminé uniquement par IDj. Cet élément A'j est donné parThe private key skj of an entity 3 of identity IDj consists in this case in an element A'j of the group G 1 representative of the element Aj = g 1 / (Y + x j), where Xj is a given integer only by IDj. This element A'j is given by
A'j = Ajxj = gx/(Y+xj). Typiquement, Xj est obtenu en appliquant une fonction de hachage cryptographique H à la représentation binaire de l'identité: Xj = H(IDj).A'j = Aj x j = g x / (Y + x j). Typically, Xj is obtained by applying a cryptographic hash function H to the binary representation of the identity: Xj = H (IDj).
La fonction H est aussi décrite dans les paramètres système connus des différentes entités.The H function is also described in the known system parameters of the different entities.
Dans cet exemple, la clé de chiffrement symétrique K générée pour chiffrer un message M à destination de s entités réceptrices d'identités ID1, ...,
ID5, après tirage d'un nombre aléatoire k, est déterminée par l'élément vk.(γ+ Xi)...(γ +xs) du groupe Q1, avec X1 = H(ID1), ..., xs = H(ID5). La clé K peut être égale à v k (γ+χi) - (γ+χ s) ou plus généralement à F[vk (γ+χi) - (γ+χ s)], où F[.] désigne une fonction quelconque connue des différentes entités grâce aux informations système. Le calcul de l'élément vk (Y+XI ) - (Y+XS) par le dispositif de chiffrement fait intervenir les puissances de h incluses dans la clé publique PK, et tire parti de l'égalité vYq = e(w, hYq~ ) résultant de la propriété de l'application bilinéaire e(., .), pour 0 < q ≤ m.In this example, the symmetric encryption key K generated to encrypt a message M to identity receiving entities ID 1 , ..., ID 5 , after drawing a random number k, is determined by the element v k (γ + Xi ) ... ( γ + x s ) of the group Q 1 , with X1 = H (ID 1 ),. .., x s = H (ID 5 ). The key K can be equal to v k ( γ + χ i) - ( γ + χ s ) or more generally to F [v k ( γ + χ i) - ( γ + χ s )], where F [.] designates any known function of the different entities thanks to the system information. The calculation of the element v k (Y + X I) - (Y + X S) by the encryption device involves the powers of h included in the public key PK, and takes advantage of the equality vY q = e (w, hY q ~ ) resulting from the property of the bilinear map e (.,.), for 0 <q ≤ m.
Pour donner accès à cette clé K aux entités autorisées, le cryptogramme Hdr calculé par le générateur 23 pour être transmis avec le message CM chiffré avec K inclut l'élément C1 = wk du groupe G1 et l'élémentTo give access to this key K to the authorized entities, the cryptogram Hdr calculated by the generator 23 to be transmitted with the message C M encrypted with K includes the element C 1 = w k of the group G 1 and the element
C2 = hk-(Y+χi) - (Y+χs) du groupe G2: Hdr = (C1, C2).C 2 = h k - (Y + χ i) - (Y + χ s) of the group G 2 : Hdr = (C 1 , C 2 ).
Une entité réceptrice 3 de l'ensemble de s entités destinataires du message chiffré CM, ayant pour clé privée sk, = A',, est capable de récupérer la clé K employée en calculant d'abord l'élément z, du groupe G2 égal àA receiving entity 3 of the set of destination entities of the encrypted message C M , having as its private key sk, = A ,, is able to recover the key K used by first calculating the element z, of the group G 2 equal to
h J=1'J≠I ] puis, à partir du cryptogramme HdT = (C11 C2) reçu avec le message chiffré, l'élément e(C<| , Zj).e(A'i, C2) du groupe Gj. Grâce aux propriétés de l'application bilinéaire e(., .), on peut vérifier que si la clé privée skj = A', est valide, cet élément e(C<| , Zj).e(A'i, C2) du groupe Gj est égal à vk.(γ+x1)...(γ+xs) |_a c|£ çje chiffrement symétrique K est donc récupérée selon: K = FIe(C1 , Zi).e(A'i, C2)].h J = 1 'J ≠ I] then, from the cryptogram HdT = (C 11 C 2 ) received with the encrypted message, the element e (C <|, Zj) .e (A'i, C 2 ) from the Gj group. Thanks to the properties of the bilinear map e (.,.), We can verify that if the private key skj = A ', is valid, this element e (C <|, Zj) .e (A'i, C 2 ) of the group Gj is equal to v k . ( γ + x 1 ) ... ( γ + x s ) | _ ac | £ çje symmetric encryption K is thus recovered according to: K = FIe (C 1 , Zi ) .e (A'i, C 2 )].
En variante, on peut prendre les clés privées skj égales aux éléments A; = g1/(Y+xj), et faire calculer l'exponentiation par les entités réceptrices 3 lors du déchiffrement: K = F[e(C<|, Zj).e(Ajχi, C2)]. Il est cependant plus efficace de calculer l'exponentiation une fois pour toutes lors de la génération de la clé
privée.As a variant, it is possible to take the private keys skj equal to the elements A; = g 1 / (Y + x j), and have the exponentiation calculated by the receiving entities 3 during the decryption: K = F [e (C <|, Zj) .e (Aj χ i, C 2 )]. It is however more efficient to calculate the exponentiation once and for all when generating the key Private.
Lorsqu'un vecteur de valeurs intermédiaires PK5 est calculé par un module 24 du dispositif de chiffrement comme représenté sur la figure 2, ce vecteur PKs inclut les trois éléments w, a et b des groupes G<|, G2 et Gj, avec a = hfr+χi) - -fr+χs) et b = v(τ+χi) - (Y+χs). Les éléments a et b sont calculables par le module 24 à partir de la clé publique PK = (w, v, h, rïï, rïï2, ..., rïïm) et des entiers X1, ..., xs déduits des identités ID-] , ..., IDS des entités réceptrices de l'ensemble visé. Après avoir obtenu le nombre aléatoire k, le module 26 calcule K et Hdr = (C1, C2) selon: K = bk, C1 = wk et C2 = ak.When a vector of intermediate values PK 5 is calculated by a module 24 of the encryption device as represented in FIG. 2, this vector PKs includes the three elements w, a and b of the groups G <|, G 2 and Gj, with a = hfr + χ i) - -fr + χ s) and b = v (τ + χ i) - (Y + χ s). The elements a and b are computable by the module 24 from the public key PK = (w, v, h, ri, ri, 2 ,..., R i m ) and integers X i , ..., x s deduced identities ID-], ..., ID S of the receiving entities of the target set. After obtaining the random number k, the module 26 calculates K and Hdr = (C 1 , C 2 ) according to: K = b k , C 1 = w k and C 2 = a k .
Du fait que les groupes G1, G2 et Gj sont cycliques d'ordre p, les sommes d'entiers dans les exposants indiqués ci-dessus peuvent s'entendre comme des sommes modulo p.Since the groups G 1 , G 2 and G 1 are cyclic of order p, the sums of integers in the exponents indicated above can be understood as sums modulo p.
L'exemple de schéma BIBE décrit ci-dessus utilise un oracle aléatoire puisqu'une fonction de hachage cryptographique H est utilisée pour assurer le caractère aléatoire des clés. Le modèle de l'oracle aléatoire étant une notion théorique, on pourrait utiliser une fonction de hachage uniquement pour compacter les données d'identité, sans avoir besoin de l'hypothèse qu'on a un oracle aléatoire. On notera que d'autres réalisations du schéma n'utilisent pas d'oracle aléatoire. Un exemple reposant sur des objets mathématiques similaires est décrit ci-après. Ici, nous n'avons pas besoin de l'hypothèse mentionnée plus haut, mais il est quand même possible d'utiliser une fonction de hachage. Le niveau de sécurité offert par la fonction de hachage est alors moins important.The BIBE schema example described above uses a random oracle since a cryptographic hash function H is used to ensure the random character of the keys. Since the random oracle model is a theoretical notion, a hash function could only be used to compact the identity data, without the need for the hypothesis that one has a random oracle. Note that other schema implementations do not use random oracles. An example based on similar mathematical objects is described below. Here, we do not need the assumption mentioned above, but it is still possible to use a hash function. The level of security offered by the hash function is then less important.
Partant du nombre p, des groupes cycliques G1, G2 et Gτ et de l'application bilinéaire e(., .) évoqués précédemment, on prend une clé secrète MSK = (g, γ, α) avec g choisi au hasard dans le groupe G1 , γ et α entiers compris entre 1 et p-1. La clé publique PK est construite en choisissant un
élément h du groupe G2, en calculant h2 = hα puisStarting from the number p, the cyclic groups G 1 , G 2 and G τ and from the bilinear application e (.,.) Mentioned above, we take a secret key MSK = (g, γ, α) with g chosen at random. in the group G 1 , γ and α integers between 1 and p-1. The PK public key is built by choosing a element h of the group G 2 , calculating h 2 = h α then
PK = (w, v, h, W, W2, ..., hΛ h2, IV, h2Λ ..., h/11), le nombre m étant défini comme précédemment.PK = (w, v, h, W, W 2 , ..., h 2 h, IV, h 2 Λ ..., h / 11 ), the number m being defined as above.
La clé privée skj d'une entité 3 d'identité IDj est générée en commençant par calculer deux éléments Aj et Bj des groupes G1 et G2, donnés par Aj = g1/(Y+xj+rj -α) et Bj =
où rj est un nombre que le générateur de clés privées 12 tire au hasard entre 1 et p-1 pour l'entité réceptrice, et Xj est un entier déterminé uniquement par IDj. Cet entier Xj n'a pas besoin d'être généré à l'aide d'une fonction de hachage cryptographique. Il peut être pris égal à l'identité IDj en représentation binaire: Xj = IDj. Des puissances de l'élément Bj sont calculées afin de produire la clé privée skj = (AJ, rj, Bj, BJY, BJY2, ..., Bj^-1).The private key skj of an entity 3 of identity IDj is generated by starting by calculating two elements Aj and Bj of groups G 1 and G 2 , given by Aj = g 1 / (Y + x j + r j - α ) and Bj = where rj is a number that the private key generator 12 randomly draws between 1 and p-1 for the receiving entity, and Xj is an integer determined solely by IDj. This integer Xj does not need to be generated using a cryptographic hash function. It can be taken equal to the identity IDj in binary representation: Xj = IDj. Powers of the element Bj are computed in order to produce the private key skj = (AJ, rj, Bj, BJY, BJY 2 , ..., Bj ^ - 1 ).
Dans cet exemple, la clé de chiffrement symétrique K générée pour chiffrer un message M à destination de s entités réceptrices d'identités ID1, ...,In this example, the symmetric encryption key K generated to encrypt a message M to identity receiving entities ID 1 , ...,
IDS, après tirage d'un nombre aléatoire k, est de la forme K = F[vk (Y+XI ) - -(Y+XS)], avec X1 = ID1 , ..., xs = ID5 et F[.] étant une fonction quelconque connue des différentes entités.ID S , after drawing a random number k, is of the form K = F [v k (Y + X I) - - (Y + X S)], with X 1 = ID 1 , ..., x s = ID 5 and F [.] being any known function of the different entities.
Pour donner accès à cette clé K aux entités autorisées, le cryptogramme Hdr calculé par le générateur 23 pour être transmis avec le message C^ chiffré avec K inclut l'élément C1 = wk du groupe G1 et deux éléments C2 = hk (γ+χi) - (γ+χ s) et C3 = h2 k (y+χi) - (y+χ s) du groupe G2: HcJr = (C1 1 C21 C3).To give access to this key K to the authorized entities, the cryptogram Hdr calculated by the generator 23 to be transmitted with the message C ^ encrypted with K includes the element C 1 = w k of the group G 1 and two elements C 2 = h k (γ + χ i) - (γ + χ s) e t C 3 = h 2 k (y + χ i) - (y + χ s) of the group G 2 HcJr = (c1 1 C 21 C 3 ).
Une entité réceptrice 3 de l'ensemble de s entités destinataires du message chiffré CM est capable de récupérer la clé K employée en calculantA receiving entity 3 of the set of recipient entities of the encrypted message CM is able to recover the key K used in computing
d'abord l'élément z, du groupe G2 égal à
puis, à partir du
cryptogramme Hdr = (C<|, C2, C3) reçu avec le message chiffré, l'élément e(C-|, Zj).e(Ajχi, C2).e(Ajri, C3) du groupe Gj. Grâce aux propriétés de l'application bilinéaire e(., .), on peut de nouveau vérifier que si la clé privée SkI = (A,, η, Bj, BjY, BjY2, . --, BjY"1"1) est valide, alorsfirst the element z, of the group G 2 equal to then, from cryptogram Hdr = (C <|, C2, C3) received with the encrypted message, the element e (C- |, Zj) .e (Aj χ i, C2) .e (Aj r i, C3) of the group Gj . Thanks to the properties of the bilinear map e (.,.), We can verify again that if the private key SkI = (A ,, η, B j , B j Y, B j Y 2 , -, B j Y "1" 1 ) is valid, then
6(C11 C2).e(Airi, C3) = vk fr+χi) - (Y+XS). La clé de chiffrement symétrique K est donc récupérée par la formule: K = FIe(C1 , Zj).e(Aj χi, C2).e(Aj ri, C3)].6 (C 11 C 2 ) .e (Al r i, C 3 ) = v k fr + χ i) - (Y + X S). The symmetric encryption key K is therefore recovered by the formula: K = FIe (C 1 , Z j ) .e (A j χ i, C 2 ) .e (A j r i, C 3 )].
En variante, on peut prendre les clés privées ski de la forme skj = (A'j, A"j, Bj, BjY, BjY2, ..., BjYm"1) avec A'j = Ajxi et A"j = Ajri. Dans ce cas, l'entité réceptrice 3 détenant la clé privée skj récupère la clé de chiffrement symétrique K selon K = FIe(C1 , Zj).e(A'j, C2).e(A"j, C3)], sans avoir à recalculer les puissances de A1. Dans cette variante, A'j est représentatif de Aj, tandis que dans la variante précédente, rj, jumelé à Aj est représentatif de A"j = AjIAlternatively, it is possible to take the ski private keys of the form skj = (A'j, A "j, Bj, BjY, BjY 2 , ..., BjY m" 1 ) with A'j = Aj x i and A "j = Aj r i. in this case, the receiving entity 3 holding the private key sk retrieves the symmetric encryption key K as K = FIE (C 1, Z j) .e (A 'j, C 2). e (A " j , C 3 )], without having to recalculate the powers of A 1 . In this variant, A'j is representative of Aj, whereas in the previous variant, rj, paired with Aj is representative of A "j = AjI
Lorsqu'un vecteur de valeurs intermédiaires PKs est calculé par un module 24 du dispositif de chiffrement comme représenté sur la figure 2, ce vecteur PK5 inclut les quatre éléments w, a, a2 et b des groupes G1 , G2 et Gj, avec a = hfr+χi)---(Y+χs), a2 = h2 (γ+Xi ) - (γ+Xs) et b = vfr+χi) - (Y+XS). Après avoir obtenu le nombre aléatoire k, le module 26 calcule K et Hdr = (C1, C2, C3) selon: K = bk, C1 = wk, C2 = ak et C3 = a2 k.When a vector of intermediate values PKs is calculated by a module 24 of the encryption device as represented in FIG. 2, this vector PK 5 includes the four elements w, a, a 2 and b of the groups G 1 , G 2 and Gj with a = hfr + χ i) --- (Y + χ s), a 2 = h 2 (γ + Xi) - (γ + Xs) and b = vfr + χ i) - (Y + X S) . After obtaining the random number k, the module 26 calculates K and Hdr = (C 1 , C 2 , C 3 ) according to: K = b k , C 1 = w k , C 2 = a k and C 3 = a 2 k .
On remarque que si on prend α = O dans le schéma sans oracle aléatoire ci-dessus, on retombe sur le schéma avec oracle aléatoire décrit précédemment, les r n'étant plus nécessaires. Les clés sont rendues aléatoires par le fait que les entiers Xj dépendent alors des identités IDj à travers une fonction de hachage cryptographique.Note that if we take α = O in the diagram without random oracle above, we fall back on the scheme with random oracle described above, the r are no longer necessary. The keys are made random by the fact that the integers Xj then depend on identities IDj through a cryptographic hash function.
Les dispositifs de chiffrement et de déchiffrement représentés sur les
figures 2 et 3 peuvent être réalisés au moyen de circuits spécifiques ou de composants logiques programmés de type FPGA ou analogues. Une réalisation courante utilisera cependant des processeurs d'usage général exécutant des programmes selon l'invention, écrits de façon à mettre en œuvre les calculs cryptographiques décrits ci-dessus.
The encryption and decryption devices represented on the FIGS. 2 and 3 can be realized by means of specific circuits or programmed logical components of the FPGA type or the like. A current embodiment, however, will use general purpose processors executing programs according to the invention written to implement the cryptographic calculations described above.
Claims
1. Procédé cryptographique basé sur identité, dans lequel une clé publique (PK) dépendant d'une clé secrète (MSK) est accessible à une entité émettrice (2) et à des entités réceptrices (3), et dans lequel des clés privées de déchiffrement respectives (skj) sont associables aux entités réceptrices, la clé privée d'une entité réceptrice dépendant de la clé secrète et d'un paramètre d'identité (IDj) de ladite entité réceptrice, le procédé comprenant une opération de chiffrement d'au moins un message (M) à destination d'un ensemble de s entités réceptrices, s étant un nombre plus grand que 1 , l'opération de chiffrement comprenant les étapes suivantes :An identity-based cryptographic method, wherein a secret key-dependent public key (PK) is accessible to an issuing entity (2) and receiving entities (3), and in which private keys of respective decryption (skj) are associable with the receiving entities, the private key of a receiving entity depending on the secret key and an identity parameter (IDj) of said receiving entity, the method comprising an encryption operation of minus one message (M) to a set of s receiving entities, s being a number greater than 1, the encryption operation comprising the following steps:
- générer au moins une clé de chiffrement symétrique (K) et un cryptogramme (Hdr) associé à ladite clé de chiffrement symétrique en fonction de la clé publique, des paramètres d'identité des s entités réceptrices et d'au moins un nombre entier (k) choisi par l'entité émettrice, ledit cryptogramme (Hdr) étant généré de façon à ce qu'il ait une taille constante et indépendante du nombre s, et qu'il donne accès à ladite clé de chiffrement symétrique par combinaison avec la clé publique, les paramètres d'identité des s entités réceptrices et la clé privée d'une entité réceptrice identifiée dudit ensemble ;generating at least one symmetric encryption key (K) and a cryptogram (Hdr) associated with said symmetric encryption key according to the public key, the identity parameters of the receiving entities and at least one integer ( k) chosen by the transmitting entity, said cryptogram (Hdr) being generated so that it has a constant size and independent of the number s, and that it gives access to said symmetric encryption key by combination with the key public, the identity parameters of the receiving entities and the private key of an identified receiving entity of said set;
- chiffrer le message avec ladite clé de chiffrement symétrique dans l'entité émettrice ; etencrypting the message with said symmetric encryption key in the transmitting entity; and
- diffuser le cryptogramme et le message chiffré (CM) depuis l'entité émettrice.- Broadcast the cryptogram and the encrypted message (CM) from the issuing entity.
2. Procédé cryptographique selon la revendication 1 , dans lequel les clés privées (skj) ont une taille constante et indépendante du nombre s. 2. Cryptographic method according to claim 1, wherein the private keys (skj) have a constant size and independent of the number s.
3. Procédé cryptographique selon l'une quelconque des revendications précédentes, dans lequel l'opération de chiffrement comporte une première phase de calcul et de mémorisation d'un vecteur de valeurs intermédiaires (PK5) en fonction de la clé publique et des paramètres d'identité (IDj) des s entités réceptrices, et au moins une itération d'une seconde phase exécutée par l'entité émettrice (2) et comprenant les étapes suivantes :3. Cryptographic method according to any one of the preceding claims, wherein the encryption operation comprises a first phase of calculating and storing a vector of intermediate values (PK 5 ) according to the public key and the parameters of the identity (IDj) of the receiving entities, and at least one iteration of a second phase executed by the transmitting entity (2) and comprising the following steps:
- tirer un nombre entier (k) ;- draw an integer (k);
- calculer une clé de chiffrement symétrique (K) et le cryptogramme (Hdr) associé en fonction du nombre entier tiré (k) et du vecteur de valeurs intermédiaires (PK5), sans prendre à nouveau en compte les paramètres d'identité des entités réceptrices ;calculate a symmetric encryption key (K) and the associated cryptogram (Hdr) as a function of the drawn integer (k) and the intermediate value vector (PK 5 ), without again taking into account the identity parameters of the entities receivers;
- chiffrer un message avec la clé de chiffrement symétrique calculée; et- encrypting a message with the calculated symmetric encryption key; and
- diffuser le cryptogramme calculé et le message chiffré (CM).- Broadcast the calculated cryptogram and the encrypted message (C M ).
4. Procédé cryptographique selon la revendication 3, dans lequel l'opération de chiffrement comporte plusieurs itérations de la seconde phase pour le chiffrement et la diffusion de messages successifs par l'entité émettrice (2).4. Cryptographic method according to claim 3, wherein the encryption operation comprises several iterations of the second phase for the encryption and dissemination of successive messages by the transmitting entity (2).
5. Procédé cryptographique selon l'une quelconque des revendications précédentes, comprenant une opération de déchiffrement effectuée par au moins une des s entités réceptrices (3), l'opération de déchiffrement comprenant les étapes suivantes :A cryptographic method according to any one of the preceding claims, comprising a decryption operation performed by at least one of the receiving entities (3), the decryption operation comprising the steps of:
- récupérer la clé de chiffrement symétrique (K) à partir du cryptogramme (Hdr), de la clé publique, des paramètres d'identité des s entités réceptrices et de la clé privée (sk,) de ladite entité réceptrice ; etrecovering the symmetric encryption key (K) from the cryptogram (Hdr), the public key, the identity parameters of the receiving entities and the private key (sk) of said receiving entity; and
- déchiffrer le message diffusé avec la clé de chiffrement symétrique récupérée. - Decrypt the broadcast message with the recovered symmetric encryption key.
6. Procédé cryptographique selon la revendication 5, dans lequel l'opération de déchiffrement effectuée par ladite entité réceptrice (3) comporte une première phase de mémorisation d'au moins une valeur intermédiaire (z,) déterminée en fonction de la clé publique (PK) et des paramètres d'identité (ID1, ..., IDj-1 , IDi+1 , ..., IDS) des autres entités réceptrices de l'ensemble, et au moins une itération d'une seconde phase comprenant les étapes suivantes :The cryptographic method according to claim 5, wherein the decryption operation performed by said receiving entity (3) comprises a first storage phase of at least one intermediate value (z,) determined according to the public key (PK ) and identity parameters (ID 1 , ..., IDj -1 , ID i + 1 , ..., ID S ) of the other receiver entities of the set, and at least one iteration of a second phase comprising the following steps:
- recalculer la clé de chiffrement symétrique (K) en fonction du cryptogramme (Hdr) reçu avec un message chiffré (CM) en provenance de l'entité émettrice (2), de ladite valeur intermédiaire et de la clé privée (skj) de ladite entité réceptrice, sans prendre à nouveau en compte les paramètres d'identité des autres entités réceptrices de l'ensemble ; etrecalculating the symmetric encryption key (K) according to the cryptogram (Hdr) received with an encrypted message (CM) from the transmitting entity (2), said intermediate value and the private key (skj) of said receiving entity, without taking into account again the identity parameters of the other receiving entities of the set; and
- déchiffrer ledit message avec la clé de chiffrement symétrique recalculée.- decrypt said message with the recalculated symmetric encryption key.
7. Procédé cryptographique selon la revendication 6, dans lequel l'opération de déchiffrement comporte plusieurs itérations de la seconde phase pour le déchiffrement de messages (CM) successivement reçus avec des cryptogrammes respectifs (Hdr) en provenance de l'entité émettrice (2).The cryptographic method according to claim 6, wherein the decryption operation comprises several iterations of the second phase for the decryption of messages (C M ) successively received with respective cryptograms (Hdr) from the transmitting entity (2). ).
8. Dispositif de chiffrement, comprenant :8. Encryption device, comprising:
- une mémoire (20) pour contenir une clé publique (PK) d'un schéma de chiffrement basé sur identité, la clé publique dépendant d'une clé secrète (MSK) et étant en outre accessible à des entités réceptrices (3), le schéma de chiffrement basé sur identité comprenant en outre la capacité d'associer des clés privées respectives (skj) aux entités réceptrices, la clé privée d'une entité réceptrice dépendant de la clé secrète et d'un paramètre d'identité (IDj) de ladite entité réceptrice ;a memory (20) for holding a public key (PK) of an identity-based encryption scheme, the public key depending on a secret key (MSK) and being further accessible to receiving entities (3), the an identity-based encryption scheme further comprising the ability to associate respective private keys (skj) with the receiving entities, the private key of a receiving entity depending on the secret key and an identity parameter (IDj) of said receiving entity;
- un générateur (23) d'au moins une clé de chiffrement symétrique (K) et d'un cryptogramme (Hdr) associé à ladite clé de chiffrement symétrique en fonction de la clé publique, des paramètres d'identité d'un ensemble de s entités réceptrices et d'un nombre entier (k) choisi localement, s étant un nombre plus grand que 1 , ledit cryptogramme (Hdr) étant généré de façon à ce qu'il ait une taille constante et indépendante du nombre s, et qu'il donne accès à ladite clé de chiffrement symétrique par combinaison avec la clé publique, les paramètres d'identité des s entités réceptrices et la clé privée d'une entité réceptrice identifiée dudit ensemble ; eta generator (23) of at least one symmetric encryption key (K) and a cryptogram (Hdr) associated with said symmetric encryption key according to the public key, the identity parameters of a set of s receiving entities and a locally chosen integer (k), s being a number greater than 1, said cryptogram (Hdr) being generated in a manner it has a constant size and independent of the number s, and it gives access to said symmetric encryption key by combination with the public key, the identity parameters of the receiving entities and the private key of a identified receiving entity of said set; and
- un circuit (22) de chiffrement du message avec ladite clé de chiffrement symétrique, le message chiffré (CM) étant diffusé avec le cryptogramme.a circuit (22) for encrypting the message with said symmetric encryption key, the encrypted message (C M ) being broadcast with the cryptogram.
9. Dispositif de chiffrement selon la revendication 8, dans lequel le générateur (23) est agencé pour mémoriser un vecteur de valeurs intermédiaires (PKs) calculé dans une première phase en fonction de la clé publique (PK) et des paramètres d'identité (IDj) des s entités réceptrices (3) et pour exécuter une seconde phase de calcul d'une clé de chiffrement symétrique (K) et du cryptogramme (Hdr) associé en fonction d'un nombre entier (k) tiré dans la seconde phase et du vecteur de valeurs intermédiaires (PK5), sans prendre à nouveau en compte les paramètres d'identité des entités réceptrices, la seconde phase étant renouvelable pour la diffusion de messages chiffrés successifs à destination des s entités réceptrices.An encryption device according to claim 8, wherein the generator (23) is arranged to store an intermediate value vector (PKs) calculated in a first phase according to the public key (PK) and the identity parameters ( IDj) of the receiving entities (3) and for executing a second phase of calculating a symmetric encryption key (K) and the associated cryptogram (Hdr) as a function of an integer (k) drawn in the second phase and intermediate values vector (PK 5 ), without taking into account the identity parameters of the receiving entities, the second phase being renewable for the broadcast of successive encrypted messages to the receiving entities.
10. Dispositif de déchiffrement, comprenant :10. decryption device, comprising:
- une mémoire (30) pour contenir une clé publique (PK) d'un schéma de chiffrement basé sur identité ainsi qu'une clé privée (sk,) associée audit dispositif, la clé publique dépendant d'une clé secrète (MSK) et étant en outre accessible à au moins une entité émettrice (2), le schéma de chiffrement basé sur identité comprenant en outre la capacité d'associer des clés privées respectives à des entités réceptrices incluant le dispositif de déchiffrement, la clé privée (skj) d'une entité réceptrice (3) dépendant de la clé secrète et d'un paramètre d'identité (IDj) de ladite entité réceptrice ;a memory (30) for holding a public key (PK) of an identity-based encryption scheme and a private key (sk) associated with said device, the public key depending on a secret key (MSK) and further being accessible to at least one transmitting entity (2), the identity-based encryption scheme further comprising the ability to associate respective private keys with recipient entities including the decryption device, the private key (skj) of a receiving entity (3) depending on the secret key and an identity parameter (IDj) of said receiving entity;
- un calculateur (33) pour récupérer une clé de chiffrement symétrique (K) à partir d'un cryptogramme (Hdr) reçu avec un message chiffré (CM) en provenance de l'entité émettrice, de la clé publique, des paramètres d'identité d'un ensemble de s entités réceptrices incluant ledit dispositif et de la clé privée (skj) associée audit dispositif, s étant un nombre plus grand que 1 et ledit cryptogramme (Hdr) ayant une taille constante et indépendante du nombre s ; eta calculator (33) for recovering a symmetric encryption key (K) from a cryptogram (Hdr) received with an encrypted message (CM) from the transmitting entity, from the public key, from the parameters of an identity of a set of receiving entities including said device and the private key (skj) associated with said device, s being a number greater than 1 and said cryptogram (Hdr) having a constant size and independent of the number s; and
- un circuit (32) de déchiffrement du message avec la clé de chiffrement symétrique.a circuit (32) for decrypting the message with the symmetric encryption key.
11. Dispositif de déchiffrement selon la revendication 10, dans lequel le calculateur (33) est agencé pour mémoriser au moins une valeur intermédiaire (Zj) calculée dans une première phase en fonction de la clé publique (PK) et des paramètres d'identité (ID1 , ..., IDμi, IDi+1 , ..., ID5) des autres entités réceptrices de l'ensemble, et pour exécuter une seconde phase de calcul d'une clé de chiffrement symétrique (K) en fonction d'un cryptogramme (Hdr) reçu avec un message chiffré (CM) en provenance d'une entité émettrice (2), de ladite valeur intermédiaire et de la clé privée (skj) associée audit dispositif, sans prendre à nouveau en compte les paramètres d'identité des autres entités réceptrices de l'ensemble, la seconde phase étant renouvelable pour la réception de messages chiffrés successifs (CM) à destination des s entités réceptrices.11. A decryption device according to claim 10, wherein the computer (33) is arranged to store at least one intermediate value (Zj) calculated in a first phase according to the public key (PK) and the identity parameters ( ID 1 , ..., ID μi , ID i + 1 , ..., ID 5 ) of the other receiver entities of the set, and to execute a second phase of calculating a symmetric encryption key (K) in a function of a cryptogram (Hdr) received with an encrypted message (CM) from an issuing entity (2), said intermediate value and the private key (skj) associated with said device, without again taking into account the identity parameters of the other receiving entities of the set, the second phase being renewable for receiving successive encrypted messages (CM) to the receiving entities.
12. Programme d'ordinateur pour un dispositif de chiffrement (2) constituant une entité émettrice dans un procédé cryptographique basé sur identité selon l'une quelconque des revendications 1 à 4, le programme comprenant des instructions pour mettre en œuvre les étapes d'une opération de chiffrement dudit procédé lors d'une exécution du programme par une unité de traitement du dispositif de chiffrement.A computer program for an encryption device (2) constituting an issuing entity in an identity-based cryptographic method according to any one of claims 1 to 4, the program comprising instructions for implementing the steps of an encryption operation of said method during execution of the program by a processing unit of the encryption device.
13. Programme d'ordinateur pour un dispositif de déchiffrement (3) constituant une entité réceptrice dans un procédé cryptographique basé sur identité selon l'une quelconque des revendications 5 à 7, le programme comprenant des instructions pour mettre en œuvre les étapes d'une opération de déchiffrement dudit procédé lors d'une exécution du programme par une unité de traitement du dispositif de déchiffrement.A computer program for a decryption device (3) constituting a receiving entity in an identity-based cryptographic method according to any one of claims 5 to 7, the program comprising instructions for implementing the steps of a decryption operation of said method during execution of the program by a processing unit of the decryption device.
14. Support de données lisible par ordinateur, sur lequel est enregistré un programme conforme à la revendication 12 ou à la revendication 13. 14. A computer readable data medium on which a program according to claim 12 or claim 13 is recorded.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0701451A FR2913154A1 (en) | 2007-02-28 | 2007-02-28 | Identity based cryptographic method for encrypting and decrypting e.g. electronic message, involves encrypting message using symmetric encryption key and broadcasting cryptogram and encrypted message from transmitting entity |
PCT/FR2008/050305 WO2008113950A2 (en) | 2007-02-28 | 2008-02-25 | Identity based broadcast encryption |
Publications (1)
Publication Number | Publication Date |
---|---|
EP2127197A2 true EP2127197A2 (en) | 2009-12-02 |
Family
ID=38460942
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP08762146A Withdrawn EP2127197A2 (en) | 2007-02-28 | 2008-02-25 | Identity based broadcast encryption |
Country Status (4)
Country | Link |
---|---|
US (1) | US20100098253A1 (en) |
EP (1) | EP2127197A2 (en) |
FR (1) | FR2913154A1 (en) |
WO (1) | WO2008113950A2 (en) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2925245B1 (en) * | 2007-12-12 | 2010-06-11 | Sagem Securite | CONTROL OF AN ENTITY TO BE CONTROLLED BY A CONTROL ENTITY |
WO2009128011A1 (en) * | 2008-04-14 | 2009-10-22 | Philips Intellectual Property & Standards Gmbh | Method for distributed identification, a station in a network |
US8412957B2 (en) * | 2008-12-16 | 2013-04-02 | SAP France S.A. | Encryption and decryption of records in accordance with group access vectors |
US8621208B1 (en) * | 2009-07-06 | 2013-12-31 | Guoan Hu | Secure key server based file and multimedia management system |
CA2774079A1 (en) | 2009-09-15 | 2011-03-24 | Cassidian Limited | Key generation for multi-party encryption |
US9607158B2 (en) * | 2010-10-26 | 2017-03-28 | Nippon Telegraph And Telephone Corporation | Proxy computing system, computing apparatus, capability providing apparatus, proxy computing method, capability providing method, program, and recording medium |
US9172529B2 (en) * | 2011-09-16 | 2015-10-27 | Certicom Corp. | Hybrid encryption schemes |
US9166953B2 (en) * | 2011-10-31 | 2015-10-20 | Nokia Technologies Oy | Method and apparatus for providing identity based encryption in distributed computations |
US9100175B2 (en) | 2013-11-19 | 2015-08-04 | M2M And Iot Technologies, Llc | Embedded universal integrated circuit card supporting two-factor authentication |
US9350550B2 (en) | 2013-09-10 | 2016-05-24 | M2M And Iot Technologies, Llc | Power management and security for wireless modules in “machine-to-machine” communications |
US10498530B2 (en) | 2013-09-27 | 2019-12-03 | Network-1 Technologies, Inc. | Secure PKI communications for “machine-to-machine” modules, including key derivation by modules and authenticating public keys |
US10700856B2 (en) | 2013-11-19 | 2020-06-30 | Network-1 Technologies, Inc. | Key derivation for a module using an embedded universal integrated circuit card |
CN104519071B (en) * | 2015-01-12 | 2017-08-11 | 北京科技大学 | It is a kind of that there is the group's encryption and decryption method and system for selecting and excluding function |
US9853977B1 (en) | 2015-01-26 | 2017-12-26 | Winklevoss Ip, Llc | System, method, and program product for processing secure transactions within a cloud computing system |
CN104868963B (en) * | 2015-05-11 | 2017-11-28 | 电子科技大学 | A kind of broadcast encryption scheme based on multilinear pairing |
EP3624393B1 (en) * | 2017-05-09 | 2022-06-01 | Nippon Telegraph and Telephone Corporation | Key distribution system and method, key generation device, representative user terminal, server device, user terminal and program |
RU2701128C1 (en) * | 2018-10-26 | 2019-09-24 | Закрытое акционерное общество Научно-технический центр "Модуль" | Binary information encryption method |
US10607027B1 (en) * | 2018-12-05 | 2020-03-31 | Cyberark Software Ltd. | Secretless secure data distribution and recovery process |
CN113726502A (en) * | 2021-06-11 | 2021-11-30 | 华帝股份有限公司 | Encryption and decryption method suitable for cigarette machine |
US20210328783A1 (en) * | 2021-06-25 | 2021-10-21 | Kshitij Arun Doshi | Decentralized key generation and management |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266692B2 (en) * | 2004-12-17 | 2007-09-04 | Ntt Docomo, Inc. | Use of modular roots to perform authentication including, but not limited to, authentication of validity of digital certificates |
WO2006107777A2 (en) * | 2005-04-01 | 2006-10-12 | Mastercard International Incorporated | Dynamic encryption of payment card numbers in electronic payment transactions |
-
2007
- 2007-02-28 FR FR0701451A patent/FR2913154A1/en not_active Withdrawn
-
2008
- 2008-02-25 EP EP08762146A patent/EP2127197A2/en not_active Withdrawn
- 2008-02-25 US US12/529,117 patent/US20100098253A1/en not_active Abandoned
- 2008-02-25 WO PCT/FR2008/050305 patent/WO2008113950A2/en active Application Filing
Non-Patent Citations (1)
Title |
---|
See references of WO2008113950A2 * |
Also Published As
Publication number | Publication date |
---|---|
FR2913154A1 (en) | 2008-08-29 |
US20100098253A1 (en) | 2010-04-22 |
WO2008113950A2 (en) | 2008-09-25 |
WO2008113950A3 (en) | 2008-11-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2127197A2 (en) | Identity based broadcast encryption | |
EP3010177B1 (en) | Method for authenticating a client device with a server using a secret element | |
EP2323306B1 (en) | Secured data transmission method and encryption and decryption system enabling such a transmission | |
EP2348452B1 (en) | A computer implemented method for sending a message to a recipient user, receiving a message by a recipient user, a computer readable storage medium and a computer system | |
EP1151576B1 (en) | Public and private key cryptographic method | |
FR2759226A1 (en) | PROTOCOL FOR VERIFYING A DIGITAL SIGNATURE | |
FR2937484A1 (en) | DIGITAL SIGNATURE METHOD IN TWO STEPS | |
EP2022207B1 (en) | Cryptographic method with integrated encryption and revocation, system, device and programs for implementing this method | |
WO2001056222A1 (en) | Communication method with encryption key escrow and recovery | |
EP2371083A1 (en) | Group signature with local revocation verification with capacity for lifting anonymity | |
FR2892583A1 (en) | SECURE DATA TRANSMISSION METHOD | |
CN107070900B (en) | It can search for re-encryption method based on what is obscured | |
WO2008113952A2 (en) | Identity based encryption | |
FR2752122A1 (en) | Reduced bit authentification method for zero knowledge public key encryption | |
EP0962069B1 (en) | Cryptographic system comprising a ciphering and deciphering system and a key escrow system | |
FR3121243A1 (en) | Management of access rights to digital files with possible delegation of rights | |
EP0980607A1 (en) | Pseudo-random generator based on a hash coding function for cryptographic systems requiring random drawing | |
WO2007042419A1 (en) | Cryptographic method using an identity-based encryption system | |
WO2021110518A1 (en) | Method for cogenerating a shared cryptographic material, devices, system and corresponding computer program | |
WO2008119901A2 (en) | Method for the decryption of encrypted data using a cryptographic algorithm | |
Maftei et al. | A Note on IBE Performance of a Practical Application | |
CN116401452A (en) | Encrypted data privacy range query system and method based on secure inner product | |
Strefler | Broadcast Encryption with Traitor Tracing | |
WO2005006645A1 (en) | Method for encoding/decoding a message and associated device | |
CN115423672A (en) | Robust watermarking algorithm based on homomorphic encryption in cloud environment |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |
|
17P | Request for examination filed |
Effective date: 20090813 |
|
AK | Designated contracting states |
Kind code of ref document: A2 Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MT NL NO PL PT RO SE SI SK TR |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
DAX | Request for extension of the european patent (deleted) | ||
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20120417 |