Apparatus and method for generating secret key for ID-based encryption system and recording medium having program recorded thereon for causing computer to execute the method
First Claim
1. A private key generation apparatus intended for use in generating a private key corresponding to a user ID using the user ID as a public key, the apparatus comprising:
- an ID conversion unit configured to output a specific element value of one discrete logarithm cyclic group having a one-to-one correspondence relationship with an input user ID by using a value of a previously set length irrespective of a length of the input user ID; and
a private key calculation unit configured to;
calculate a discrete logarithm result value based on the output specific element value of the one discrete logarithm cyclic group; and
calculate a private key having a one-to-one correspondence relationship with the input user ID by using parameters set so that the input user ID as the input value and the discrete logarithm result value as the output value are in one-to-one correspondence to each other,wherein the private key calculation unit comprises;
a setting unit configured to set parameters for one-to-one correspondence between the input user ID and the discrete logarithm result value;
a pre-computation table generation unit configured to store a value of a result of performing a multiplication operation using the set parameters in the form of a data structure to generate a lookup table, and store a chain value of a cyclic function value taking into account a time-memory trade off using the lookup table, in the form of a data structure, to generate a pre-computation table; and
a discrete logarithm calculation unit configured to receive data from the setting unit and the pre-computation table generation unit, and calculate a discrete logarithm result value using an index value of the pre-computation table,wherein at least one of the ID conversion unit and the private key calculation unit is implemented as a hardware component.
1 Assignment
0 Petitions
Accused Products
Abstract
A private key generation apparatus for generating a private key corresponding to a user ID using the user ID as a public key is disclosed. When a user ID is input, an ID conversion unit outputs a specific element value of a discrete logarithm cyclic group having a one-to-one correspondence relationship with an input user ID. A private key calculation unit calculates a discrete logarithm result value based on the output specific element value of the discrete logarithm cyclic group and calculates a private key having a one-to-one correspondence relationship with the user ID. According to the present invention, it is possible to concretely propose a method of calculating a secret key, capable of guaranteeing a one-to-one correspondence relationship between the ID and the private key by applying a method of calculating a discrete logarithm using the pre-computation table in an ID-based encryption system.
-
Citations
23 Claims
-
1. A private key generation apparatus intended for use in generating a private key corresponding to a user ID using the user ID as a public key, the apparatus comprising:
-
an ID conversion unit configured to output a specific element value of one discrete logarithm cyclic group having a one-to-one correspondence relationship with an input user ID by using a value of a previously set length irrespective of a length of the input user ID; and a private key calculation unit configured to; calculate a discrete logarithm result value based on the output specific element value of the one discrete logarithm cyclic group; and calculate a private key having a one-to-one correspondence relationship with the input user ID by using parameters set so that the input user ID as the input value and the discrete logarithm result value as the output value are in one-to-one correspondence to each other, wherein the private key calculation unit comprises; a setting unit configured to set parameters for one-to-one correspondence between the input user ID and the discrete logarithm result value; a pre-computation table generation unit configured to store a value of a result of performing a multiplication operation using the set parameters in the form of a data structure to generate a lookup table, and store a chain value of a cyclic function value taking into account a time-memory trade off using the lookup table, in the form of a data structure, to generate a pre-computation table; and a discrete logarithm calculation unit configured to receive data from the setting unit and the pre-computation table generation unit, and calculate a discrete logarithm result value using an index value of the pre-computation table, wherein at least one of the ID conversion unit and the private key calculation unit is implemented as a hardware component. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A private key generation method performed by a private key generation apparatus, intended for use in generating a private key corresponding to a user ID using the user ID as a public key, the method comprising:
-
(a) outputting a specific element value of one discrete logarithm cyclic group having a one-to-one correspondence relationship with an input user ID by using a value of a previously set length irrespective of a length of the input user ID; and (b) calculating a discrete logarithm result value based on the output specific element value of the one discrete logarithm cyclic group and calculating a private key having a one-to-one correspondence relationship with the input user ID by using parameters which are set so that the input user ID that is the input value and the discrete logarithm result value that is the output value correspond to each other in one to one, wherein step (b) comprises; (b1) setting parameters for one-to-one correspondence between the input user ID and the discrete logarithm result value; (b2) storing a value of a result of performing a multiplication operation using the set parameters in the form of a data structure to generate a lookup table, and storing a chain value of a cyclic function value taking into account a time-memory trade off (TMTO) using the lookup table, in the form of a data structure, to generate a pre-computation table; and (b3) receiving data from the pre-computation table, and calculating a discrete logarithm result value using an index value of the pre-computation table. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A private key generation method performed by a private key generation apparatus, intended for use in generating a private key corresponding to a user ID using the user ID as a public key, the method comprising:
-
setting predetermined parameters, in advance, for use in obtaining a one-to-one correspondence between a user ID to be received in the future, and a discrete logarithm result value;
thenreceiving the user ID as an input user ID; using the predetermined parameters which are set so that the input user ID that is the input value and the discrete logarithm result value that is the output value correspond to each other in one to one, obtaining the one-to-one correspondence between the input user ID and the discrete logarithm result value; and calculating a discrete logarithm result value based on the output specific element value of the one discrete logarithm cyclic group and calculating a private key having a one-to-one correspondence relationship with the input user ID by using parameters which are set so that the input user ID that is the input value and the discrete logarithm result value that is the output value correspond to each other in one to one, wherein the calculating comprises setting parameters for one-to-one correspondence between the input user ID and the discrete logarithm result value;
storing a value of a result of performing a multiplication operation using the set parameters in the form of a data structure to generate a lookup table, and storing a chain value of a cyclic function value taking into account a time-memory trade off (TMTO) using the lookup table, in the form of a data structure, to generate a pre-computation table; and
receiving data from the pre-computation table, and calculating a discrete logarithm result value using an index value of the pre-computation table. - View Dependent Claims (18, 19)
-
-
20. A private key generation method performed by a private key generation apparatus, intended for use in generating a private key corresponding to a user ID using the user ID as a public key, the method comprising:
-
setting a jacobi value based on the user ID; outputting a specific element value of one discrete logarithm cyclic group having a one-to-one correspondence relationship with the input user ID, based on the previously set jacobi value by using a value of a previously set length irrespective of a length of the input user ID; and calculating a discrete logarithm result value based on the output specific element value of the one discrete logarithm cyclic group and calculating a private key having a one-to-one correspondence relationship with the input user ID by using parameters which are set so that the input user ID that is the input value and the discrete logarithm result value that is the output value correspond to each other in one to one, wherein the calculating comprises setting parameters for one-to-one correspondence between the input user ID and the discrete logarithm result value;
storing a value of a result of performing a multiplication operation using the set parameters in the form of a data structure to generate a lookup table, and storing a chain value of a cyclic function value taking into account a time-memory trade off (TMTO) using the lookup table, in the form of a data structure, to generate a pre-computation table; and
receiving data from the pre-computation table, and calculating a discrete logarithm result value using an index value of the pre-computation table. - View Dependent Claims (21, 22)
-
-
23. A non-transitory computer-readable recording medium storing instructions configured to enable a computer processor to execute operations implementing a private key generation method comprising:
-
(a) outputting a specific element value of one discrete logarithm cyclic group having a one-to-one correspondence relationship with an input user ID by using a value of a previously set length irrespective of a length of the input user ID; and (b) calculating a discrete logarithm result value based on the output specific element value of the one discrete logarithm cyclic group and calculating a private key having a one-to-one correspondence relationship with the input user ID by using parameters which are set so that the input user ID that is the input value and the discrete logarithm result value that is the output value correspond to each other in one to one, wherein step (b) comprises; (b1) setting parameters for one-to-one correspondence between the input user ID and the discrete logarithm result value; (b2) storing a value of a result of performing a multiplication operation using the set parameters in the form of a data structure to generate a lookup table, and storing a chain value of a cyclic function value taking into account a time-memory trade off (TMTO) using the lookup table, in the form of a data structure, to generate a pre-computation table; and (b3) receiving data from the pre-computation table, and calculating a discrete logarithm result value using an index value of the pre-computation table.
-
Specification