The present invention relates to the technique of identity-based encryption of data or messages.
Identity-based encryption schemes, hereafter referred to as IBE schemes, were introduced in order to facilitate the message encryption phase.
An IBE scheme allows a sender to encrypt a message for an addressee, without the need to store a certificate of this addressee or a public key decoupled from his identity. The public key of the addressee is in fact deduced from his identity.
An IBE scheme can in particular be used for the encryption of electronic messages. A person A desiring to send a message to an addressee B typically uses the email address of B in order to obtain the encryption key to be used. A trusted authority provides, to each user identifying himself, a private decryption key corresponding to his email address, i.e. to his public key. For that reason, B has no need to make a public key, certified or not, known to A, to enable A to send him encrypted messages. This greatly simplifies administration of the system. It is even possible for A to encrypt a message for B before B has obtained his private key for decryption.
Certain IBE schemes make use of 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, pages 445-464.
In IBE systems, the keys to be stored are usually short. However, at the present time there is no known means of efficiently encrypting a message for the attention of a group of users in such a system. In order to send an encrypted message to N users with the help of their identities, it is necessary to encrypt the message N times with N different keys and transmit N encrypted messages or, if a broadcast channel is employed, 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 addressees, which is not efficient 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 a sender entity and to recipient entities, and respective private decryption keys can be associated with the recipient entities. The private key of a recipient entity depends on the secret key and an identity parameter of this recipient entity. The method comprises an operation of encryption of at least one message intended for a set of s recipient entities, s being a number greater than 1. This encryption operation comprises the steps of:
Thus it is possible to obtain an IBE scheme in the context of broadcast encryption. “Broadcast encryption” refers to cryptographic techniques employed for broadcasting content on a non-secure public channel, such that only legitimate users are able to read this content. Legitimate users are for example those that have paid for access rights. The sender entity that broadcasts a content desires this content to remain confidential vis-à-vis 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, pages 480-491, Santa Barbara, Calif., USA, Aug. 22-26, 1994. Springer-Verlag, Berlin.
By reconciling the IBE scheme and broadcast encryption, a scheme is obtained, hereafter called BIBE (“broadcast identity-based encryption”), suited to various contexts of application, such as for example efficiently constituting broadcast lists of encrypted electronic messages. BIBE schemes can be constructed with or without random oracle (a “random oracle” is a theoretical cryptographic device capable of responding to any request by a perfectly random answer taken uniformly from its values domain, said answer being the same each time the same request is made).
Moreover, contrary to the prior art, the cryptogram providing access to the encryption key has a size that is constant and independent of the number of recipient entities. Thus a limit can easily be set to the quantity of data to be broadcast.
Moreover, the decryption (and encryption) keys used can also have a constant size, and can be relatively small and independent of the number s. This property is suited to a software implementation.
In an embodiment, the encryption operation comprises a first phase of computing and storing a vector of intermediate values as a function of the public key and the identity parameters of the s recipient entities, and at least one instance of a second phase executed by the sender entity. This second phase comprises the steps of:
Thus, the first phase of the encryption operation will only be carried out once for a single set of receivers targeted by a sender entity during a determined period. This is very suitable for the context of video encryption for example. A video intended for a certain set of users is encrypted throughout its broadcast for this set of users. The first phase of the encryption operation consisting of computing the vector of intermediate values can be carried once and for all at the start of the video, while the symmetrical encryption key can be updated regularly (for example every second) by carrying out the second phase repetitively, obtaining successive random numbers. This diversification of the keys effectively prevents them being fraudulently obtained if certain users seek to make public or communicate the symmetrical encryption key during the video broadcast. On the part of the recipient entity, the decryption operation can also be divided into two phases, the first carried out once, taking account of the identity parameters of the other recipient entities of the set and the second capable of being repeated several times without taking account of the identity parameters of the other recipient entities.
A BIBE scheme that can be used employs a secret key including an element g of a cyclic group G1 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 component representing an element w of the group G1 equal to gγ, a component representing an element h of a cyclic group G2 of order p, a component representing an element v of a cyclic group GT of order p, in the form v=e(g, h), and components representing m elements of the group G2 in the form hγ, hγ
In such a scheme, the symmetrical encryption key for a set of s recipient entities (2≦s≦m) can be determined by the element vk.(γ+x
Computer programs are also proposed for encryption and decryption devices constituting sender and recipient entities in an identity-based cryptographic method such as that described above. On the sender side, the program comprises instructions for implementing the steps of an encryption operation of the method during an execution of the program by a processor unit of an encryption device. On the recipient side, the program comprises instructions for implementing the steps of a decryption operation of the method during an execution of the program by a processor unit of a decryption device.
Another aspect of the invention relates to an encryption device comprising:
A further aspect of the invention relates to a decryption device comprising:
Other features and advantages of the invention will become apparent during the following description of non-limitative embodiments, with reference to the attached drawings, in which:
The cryptographic method considered here involves a trusted authority 1. This authority is in principle the only entity holding a secret key or master key MSK. The authority keeps it for example in a protected data store 10.
During initialisation 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 computed as a function of the secret key MSK and system parameters representing the underlying mathematical structure of the encryption scheme.
Moreover, the authority 1 has a private-key generator 12 that is used to provide a private key specific to a recipient entity 3 which has identified itself to the authority 1. Private keys can be delivered at the time of initialization. However, according to a feature of IBE schemes, they are advantageously generated and sent to their holders as and when the need arises. An entity can in particular receive encrypted messages for its attention without yet holding a private key for decryption. By identifying itself to the authority 1, this entity can subsequently obtain its private key and decrypt the message.
The authority 1 has a module 13 implementing a technique for authentication of recipient entities 3 that request their private key. Once the entity 3 has been authenticated, its identity IDj is provided to the private-key generator 12 which returns the corresponding private key skj computed as a function of IDj, the secret key MSK and the system parameters and sent to the entity via a protected channel.
The identity IDj of a recipient entity 3 consists of one or more parameters publicly associated 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, Calif., USA, Aug. 19-23, 1985. Springer-Verlag, Berlin). A typical example of identity is the email address. Other parameters can be added to it, at the choice of the entity concerned, such as for example an indication of the validity period of the private key associated with the entity. A hash function can be applied to the identity in order to obtain a data item of the desired size.
The public key PK made available to each one allows a sender entity 2 to encrypt messages M for a set of s recipient entities 3 each denoted by their identity. The sender entity 2 uses any symmetrical encryption technique, employing a key K that it generates, and broadcasts the encrypted message CM along with a header or cryptogram Hdr.
This cryptogram Hdr is constructed so as to provide access to the symmetrical encryption key K to any entity having:
Each recipient entity of the set can thus use its private key ski to recover the symmetrical encryption key K then decrypt the message CM.
In certain embodiments, the cryptogram Hdr has a size that is constant and independent of the number s, which avoids having too much data to be transmitted with the encrypted messages when the number of addressees becomes substantial. The private keys skj can themselves also have a size that is constant and independent of the number s.
Based on the public key PK and identities ID1, . . . , IDS, the encryption key generator 23 produces both a symmetrical encryption key K, and also an associated cryptogram Hdr. Producing the pair (K, Hdr) involves picking a random number k by a random-number generator 25.
It is possible to arrange that the computations taking account of the identities IDj of the s recipient entities of the set are executed once only for all transmissions of encrypted messages to this set of s recipient entities. To this end, in a first phase, a module 24 of the encryption-key generator 23 computes 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 PKS. Then, each time there is a new message to encrypt for these s recipient entities, a number k is picked and a module 26 computes a new pair (K, Hdr) as a function of k and PKS.
It will be noted that as the computation of PKS involves only the public parameters, this vector PKS could be computed outside the encryption device 2 and received by the latter over a channel which need not be protected (the vector PKS can be public).
Based on the public key PK and the identities IDS, a computer 33 recovers a symmetrical encryption key K from the cryptogram Hdr received with an encrypted message CM. It is possible to arrange that the computations taking account of the identities IDj are executed once only for all receptions of encrypted messages that will be sent to the same set of s recipient entities. To this end, in a first phase, a module 34 of the computer 33 computes an intermediate value z, as a function of the public key PK and the identities IDj of the s recipient entities, and stores this value zi. Then, each time there is a new message to decrypt intended for these s recipient entities, a module 36 computes the symmetrical encryption key K based on the cryptogram Hdr received with the encrypted message CM and the intermediate value zi. It will be noted once again that as the computation of Z, involves only the public parameters, this value zi could be computed outside the encryption device 3 and received by the latter over a channel which need not be protected.
In an example of a mathematical environment that can be used in the above method, two cyclic groups G1 and G2 (different or not) are defined, each of order p, where p is a prime number, typically having a binary representation or more than one hundred bits. A non-degenerate bilinear application e from G1×G2 into another cyclic group GT is moreover defined. By bilinear is meant that for every pair of integers (a, b), every element u of G1 and every element v of G2, we have e(ua, vb)=e(u, v)ab. A possible example for this bilinear application e is the Tate pairing. The above-mentioned system parameters then comprise the number p and the descriptors of groups G1, G2 and GT and the bilinear application e(., .).
In this example, the secret key MSK consists of an element g that the authority 1 obtains randomly out of group G1 and an integer γ between 1 and p−1: MSK=(g, γ). The public key generator 11 computes the element w=gγ of group G1 and randomly picks an element h of the group G2. It moreover computes the element v=e(g, h) of the group GT and powers of the element h of the group G2: hγ, hγ
The private key skj of an entity 3 having an identity IDj consists in this case of an element A′j of the group G1 representing the element Aj=g1/(γ+x
In this example, the symmetrical encryption key K generated for encrypting a message M intended for s recipient entities having identities ID1, . . . , IDS, after obtaining a random number k, is determined by the element vk.(γ+x
In order to provide the authorized entities with access to this key K, the cryptogram Hdr computed by the generator 23 to be sent with the message CM encrypted with K includes the element C1=wk of group G1 and the element C2=hk.(γ+x
A recipient entity 3 of the set of s entities, addressees of the encrypted message CM, having as a private key ski=A′i, is capable of recovering the key K used, by computing firstly the element zi of the group G2 equal to hΠ
Alternatively, it is possible to take the private keys skj equal to the elements Aj=g1/(γ+x
When a vector of intermediate values PKS is computed by a module 24 of the encryption device as shown in
Due to the fact that the groups G1, G2 and GT are cyclic of order p, the sums of the integers in the exponents given above can be understood as modulo p sums.
The example BIBE scheme described above uses a random oracle since a cryptographic hash function H is used to ensure the random character of the keys. As the random oracle model is a theoretical notion, it is possible to use a hash function only for compressing the identity data, without the need to assume the existence of a random oracle. It will be noted that other embodiments of the scheme do not use a random oracle. An example relying on similar mathematical constructs is described below. Here, we have no need of the above-mentioned assumption; nevertheless it is possible to use a hash function. The level of security provided by the hash function is then lower.
Based on the number p, cyclic groups G1, G2 and GT and the bilinear application e(., .) mentioned previously, a secret key MSK=(g, γ, α) is obtained with g chosen at random from the group G1, γ and α, integers comprised between 1 and p−1. The public key PK is constructed by choosing an element h of the group G2, by computing h2=hα then PK=(w, v, h, hγ, hγ
The private key skj of an entity 3 having an identity IDj is generated, based on computing two elements Aj and Bj of the groups G1 and G2, given by Aj=g1/(γ+x
In this example, the symmetrical encryption key K generated in order to encrypt a message M intended for s recipient entities of identities ID1, . . . , IDS, after obtaining a random number k, has the form K=F[vk.(γ+x
In order to provide the authorized entities with access to this key K, the cryptogram Hdr computed by the generator 23 to be sent with the message CM encrypted with K includes the element C1=wk of the group G1 and two elements C2=hk.(γ+x
A recipient entity 3 of the set of s entities, addressees of the encrypted message CM, is capable of recovering the key K used in computing firstly the element zi of the group G2 equal to BiΠ
Alternatively, the private keys skj can be taken in the form Skj=(A′j, A″j, Bj, Bjγ, Bjγ
When a vector of intermediate values PKS is computed by a module 24 of the encryption device as shown in
It is noted that if we take α=0 in the above scheme without a random oracle, we return to the scheme with a random oracle described previously, rj no longer being necessary. The keys are randomized by the fact that the integers xj then depend on the identities IDj through a cryptographic hash function.
The encryption and decryption devices shown in
Number | Date | Country | Kind |
---|---|---|---|
0701451 | Feb 2007 | FR | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/FR2008/050305 | 2/25/2008 | WO | 00 | 8/28/2009 |