This application claims the benefit under 35 U.S.C. §119(a) of Korean Patent Application No. 10-2006-0096309, filed Sep. 29, 2006, in the Korean Intellectual Property Office, the entire disclosure of which is incorporated herein by reference.
1. Field of the Invention
The present invention relates to a broadcast encryption algorithm. More particularly, the present invention relates to a method and apparatus for broadcast encryption which uses a bilinear map, defined on elliptic curves capable of reducing information quantity of an encryption key group, corresponding to a secret key of a user terminal.
2. Description of Related Art
Generally, a broadcast encryption algorithm is applied to environments having a large number of users, and environments where performing a handshake between a server and a terminal is difficult, such as an environment which broadcasts contents. The broadcast encryption algorithm is a method of transmitting information to only users desired by a sender, among all users. The method is effectively used only when a set of users, receiving the information, randomly and dynamically changes.
When the broadcast encryption algorithm is applied to a contents service, it can be assumed that the server has generated and distributed a device key set to each user device. Then, whenever the server sends contents, it encrypts the contents with a contents key and encrypts the contents key so that only privileged users can obtain the contents key. The encrypted data of the contents key is called a header. The size of the header is called transmission overhead. However, due to the capacity of user devices, the size of the device key set stored in each device and computation costs for each device to obtain the contents key are also important parameters. The size of a device key set is called storage overhead, and the computation costs are called computation overhead. This device key set will hereinafter be referred to as the encryption key group. The server further simultaneously transmits information about the terminals which are revoked.
The broadcast encryption algorithm is generally configured in a tree structure. Examples of such algorithms include a complete subtree (CS), a subset difference (SD), a HBES algorithm, a CuBES algorithm and the algorithm suggested by T. Asano. With respect to the broadcast encryption algorithm, there have been great efforts to reduce transmission overhead, storage overhead, computation overhead, and so forth.
Accordingly, a need exists for a method and apparatus for effectively and efficiently reducing information quantity of an encryption key group.
An aspect of exemplary embodiments of the present invention is to address at least the above problems and/or disadvantages and to provide at least the advantages described below. Accordingly, an aspect of exemplary embodiments of the present invention is to provide a method for broadcast encryption using a bilinear map capable of reducing information quantity of an encryption key group which corresponds to a secret key of a user terminal using public key information that is known to all user nodes, and a secret key group, corresponding to each of the user nodes, generated using the bilinear map, defined on elliptic curves, and an apparatus using the method.
According to an aspect of exemplary embodiments of the present invention, a method is provided for broadcast encryption using a bilinear map comprising generating a first random number for all nodes except for a plurality of leaf nodes of an a-ary tree structure, configured in a plurality of depths, generating ‘a’ pieces of a second random number to allocate the generated second random number to all nodes except for a root node of the a-ary tree structure, generating public key information by applying the second random number to a second cyclic group, and generating a secret key group by applying the first and the second random numbers to a first cyclic group.
According to another aspect of exemplary embodiments of the present invention, an apparatus is provided for broadcast encryption using a bilinear map comprising a first random number generator for generating a first random number for all nodes except for a plurality of leaf nodes of an a-ary tree structure, configured in a plurality of depths, a second random number generator for generating ‘a’ pieces of a second random number to allocate the generated second random number to all nodes except for a root node of the a-ary tree structure, a public key information generator for generating public key information by applying the second random number to a second cyclic group, and a secret key group generator for generating a secret key group by applying the first and the second random numbers to a first cyclic group.
Other objects, advantages, and salient features of the present invention will become apparent to those skilled in the art from the following detailed description, which, taken in conjunction with the annexed drawings, discloses exemplary embodiments of the invention.
The above and other objects, features, and advantages of certain exemplary embodiments of the present invention will become more apparent from the following detailed description, taken in conjunction with the accompanying drawings, in which:
Throughout the drawings, the same drawing reference numerals will be understood to refer to the same elements, features, and structures.
The matters defined in the description, such as detailed constructions and elements, are provided to assist in a comprehensive understanding of exemplary embodiments of the present invention. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the exemplary embodiments described herein can be made without departing from the scope and spirit of the present invention. Also, descriptions of well-known functions and constructions are omitted for clarity and conciseness.
The user terminal, which provides the broadcast encryption algorithm using a bilinear map according to an exemplary embodiment of the present invention, can be embodied as any one or more of a mobile communication terminal, a public switched telephone network (PSTN) terminal, a voice over Internet protocol (VoIP) terminal, a session initiation protocol (SIP) terminal, a media gateway control (Megaco) terminal, a personal digital assistant (PDA), a mobile phone, a personal communication service (PCS) phone, a hand-held personal computer (PC), a Code Division Multiple Access (CDMA)-2000 (1X, 3X) phone, a Wideband CDMA phone, a dual band/dual mode phone, a Global System for Mobile Communications (GSM) phone, a mobile broadband system (MBS) phone, a satellite/terrestrial Digital Multimedia Broadcasting (DMB) phone, and the like.
Embodiments of the present invention provide an effective broadcast encryption algorithm, based on an a-ary tree using a bilinear map, defined on elliptic curves. According to embodiments of the present invention, a user node stores only one secret key in each depth of the a-ary tree, and performs only one bilinear map operation in order to obtain an inner group key. The bilinear map is described in greater detail below.
Consider, for example, three groups G1, G2, and GT where the bilinear map ê is defined. The groups G1 and G2 are cyclic groups such that it is difficult to solve CDH (Computational Diffie-Hellman) and their order is a large prime number p. The CDH assumption is related to a discrete logarithm assumption, which holds that computing the discrete logarithm of a value base a generator g is difficult.
Two generation elements are used to generate the two cyclic groups since a cyclic group is generated by a single generation element. Specifically, a generation element for a first cyclic group G1 is referred to as g1, and a generation element for a second cyclic group G2 is referred to as g2. In this case, assuming for example that there is the bilinear map satisfying ê: G1×G2->GT follows:
(1) For any integers a, b, and (P, Q)εG1×G2, ê(Pa, Qb)=ê(P, Q)ab;
(2) Given (P, Q)εG1×G2, there is an efficient algorithm to calculate ê(P, Q)εGT;
(3) It is difficult to calculate (X, Y) such that ê(X, Y)=Z for a given Z; and
(4) ê(G1×G2) (⊂GT) is also a cyclic group with order ‘p’, and it is difficult to solve the Computational Diffie-Hellman (CDH) problem. In this case, the CDH problem indicates finding ‘x’ when a generation element is ‘g’ of a cyclic group, and when gx is known.
Also, the cyclic groups G1 and G2 can be the same group. Hereinafter, a broadcast encryption algorithm using the bilinear map ê satisfying the cryptosystem will be described in greater detail.
As illustrated in
The contents provider 110 produces various contents including audio data, text data, and video data, and the service provider 120 provides the user terminals 151, 152 and 153, being authorized users, with corresponding contents which have been paid for from among the various contents, via wired/wireless communications such as the satellite 130 and the Internet 140.
The service provider 120 can encrypt the corresponding contents using the broadcast encryption algorithm so that an unauthorized user terminal 154, which for example is not paying for the corresponding contents, cannot use the corresponding contents.
Hereinafter, operations of generating and distributing a key for the broadcast encryption using a bilinear map will be described in greater detail below by referring to
As illustrated in
In operation S210, the a-ary tree structure, configured in a plurality of depths, is configured. In operation S220, the first random number Si is generated on all nodes except for a plurality of leaf nodes, i.e. a root node and a plurality of internal nodes, in the a-ary tree structure, which is described in greater detail below by referring to
As illustrated in
Also, in operation S230, ‘a’ pieces of a second random number Xi is generated to allocate the generated second random number to all nodes except for the root node, in the a-ary tree structure, which is described in greater detail below by referring to
As illustrated in
Supposing, for example, that X0, X1, and X2 are generated for the second random number when ‘a’ is three. Descendent nodes V2, V3 and V4, having a depth 1 and an ancestor node V1, can be classified into a single group. X0 can be allocated to V2, X1 can be allocated to V3, and X2 can be allocated to V4.
In this way, descendent nodes V5, V6 and V7, having a depth 2 and an ancestor node V2, descendent nodes V8, V9 and V10, having a depth 2 and an ancestor node V3, and descendent nodes V11, V12 and V13, having a depth 2 and an ancestor node V4, can be classified into each of the classified small groups. Also, a corresponding second random number can be allocated to the ‘a’ pieces of descendent nodes, included in the each of the classified small groups.
In operation S240, public key information is generated by applying the second random number to the second cyclic group G2, and a method of generating the public key information PG is described in greater detail below by referring to
As illustrated in
In some cases, the public key information comprising a public key is not required to be generated since it is meaningless when B=ø or B=A with respect to the subset B of the set A. The public key information PG defining a public key PB is represented as shown below in Equation (1).
As an example, for a predetermined group A={0, 1, 2}, a number of possible subsets of the group A is 2a-2, that is 6 comprising {0}, {1}, {2}, {0, 1}, {0, 2} and {1, 2}. Particularly, the public key PB can be represented as,
g2x
when the subset B={1,2}.
Also, a secret key group is generated by applying the first random number Si and the second random number Xi to the first cyclic group G1, which is described in greater detail below by referring to
As illustrated in
As an example, a method of generating a secret key group for a user terminal, corresponding to the leaf node V7 is described in greater detail below as follows.
Initially, in order to generate the secret key group for the user terminal, corresponding to the leaf node V7, secret keys, which are generated on a plurality of nodes on a path, from a highest ancestor node V1 to the leaf node V7, are included, and the plurality of nodes can include V2 and V7.
The ancestor node V2 can generate a secret key,
g1s
by applying a first random number S1, allocated to the highest ancestor node V1, and a second random number X0, allocated to the ancestor node V2. The leaf node V7 can generate a secret key,
g1s
by applying a first random number S2, allocated to the highest ancestor node V2, and a second random number X2, allocated to the leaf node V7.
Consequently, the secret key group for the user terminal, corresponding to the leaf node V7, can include,
{g1s
generated by applying the first and the second random numbers, allocated to all of the nodes from the highest ancestor nodes V1 to a lowest node V7 on the path, to the first cyclic group G1.
Similarly, a secret key group, corresponding to each of the leaf nodes V5 through V13 of the configured a-ary tree structure, can be generated and provided to the user terminals, corresponding to the plurality of leaf nodes V5 through V13.
Returning to
When a node having an index value 1 is included in the subset T of an inner group, by applying the aforementioned cryptosystem (1) of the bilinear map to Equation (2), the result is represented as shown below by Equation (3).
A corresponding user node that knows the secret key,
g1s
can obtain the inner group key GK(Vi)T since the,
is public key information. In this case, there can be an unauthorized user that is not paying for corresponding contents. According to implementations of embodiments of the present invention, the unauthorized user is not allowed to use the corresponding contents, which is described in greater detail below by referring to
As illustrated in
As an example, an unauthorized user V6 is shown, such as one that is not paying for the corresponding contents.
In the operation S270, the service provider 120 of
In this case, Vai denotes each index of the ancestor nodes of the unauthorized user node, bi denotes its own index of an inner group, based on each ancestor node of the unauthorized user node, and bic denotes all nodes except for a node having an index bi from the inner group.
The service provider 120 generates a calculated inner group key,
on the highest ancestor node V1 of the unauthorized user node V6, generates a ciphertext,
which is encrypted with the generated inner group key, generates a calculated inner group key,
on an ancestor node V2 of the unauthorized user node V6, and generates a ciphertext,
which is encrypted with the generated inner group key.
The contents can be broadcast to all of the users except for the unauthorized user node V6 since the service provider 120 generates header information, including the plurality of ciphertexts that are encrypted with the inner group key, and transmits the generated header information and the unauthorized user terminal information.
Similarly, the user node can calculate an inner group key for encryption since the user nodes can determine which public key to use, according to the unauthorized user terminal information. This is represented as shown below in Equation (5).
As illustrated in
The first random number generator 810 generates a first random number for all nodes except for a plurality of leaf nodes of an a-ary tree structure, configured in a plurality of depths. The second random number generator 820 generates ‘a’ pieces of a second random number to logically allocate the generated second random number to all nodes except for a root node of the a-ary tree structure. The first and second random number generators 810 and 820 can generate the first random number and the second random number by modulo calculating a predetermined number and an order of the first cyclic group or the second cyclic group.
In this case, the second random number generator 820 generates the ‘a’ pieces of the second random number, classifies ‘a’ pieces of descendent nodes, having an identical depth and an identical ancestor node, into a single small group, and allocates the second random number to each of the ‘a’ pieces of descendent nodes, included in the classified small group.
The pubic key information generator 830 generates public key information by applying the second random number to a second cyclic group G2. The secret key group generator 840 generates a secret key group by applying the first and the second random numbers to a first cyclic group G1. The generated public key information can be provided to user terminals, corresponding to all leaf nodes, via the transmitter 870. In this case, the generated secret key group can be provided to the user terminals, corresponding to each of the leaf nodes, at a point in time when the user terminals are registered in a server or the user terminals are manufactured.
The inner group key generator 850 generates a plurality of inner group keys, including the public key information and the secret key group when there is an unauthorized user terminal, corresponding to any one of the leaf nodes. The header information generator 860 generates a plurality of ciphertexts, which have encrypted transmission information with the inner group keys, and generates header information, including the generated plurality of ciphertexts.
Consequently, all of the user terminals can receive the generated header information and the unauthorized user terminal information since the transmitter 870 transmits the header information and the unauthorized user terminal information to all of the user terminals, corresponding to the leaf nodes.
Each of the user terminals can receive the header information and the unauthorized user terminal information, and can calculate a corresponding inner group key, according to the received unauthorized user terminal information. Accordingly, each of the user terminals can recover the transmission information by searching for the ciphertexts which have been encrypted with the calculated inner group key, from the plurality of ciphertexts included in the header information.
The method for broadcast encryption using a bilinear map according to the above-described exemplary embodiments of the present invention can be recorded in computer-readable media including program instructions to implement various operations embodied by a computer. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. Examples of computer-readable media include but are not limited to magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD ROM disks and DVD; magneto-optical media such as optical disks; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like. The media may also be a transmission medium such as optical or metallic lines, wave guides, and the like, including a carrier wave transmitting signals specifying the program instructions, data structures, and the like. Examples of program instructions include both machine code, such as those produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter. The described hardware devices may be configured to act as one or more software modules in order to perform the operations of the above-described embodiments of the present invention.
As described above, the system and method for broadcast encryption using the bilinear map according to embodiments of the present invention can reduce information quantity of an encryption key group which corresponds to a secret key of a user terminal since public key information to be shared by all user nodes, and a secret key group, corresponding to each of the user nodes, is generated using the bilinear map.
While the present invention has been shown and described with reference to certain exemplary embodiments thereof, it will be understood by those skilled in the art that various changes in form and detail may be made therein without departing from the spirit and scope of the invention as defined by the appended claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
10-2006-0096309 | Sep 2006 | KR | national |