Key sharing method, secret key generating method, common key generating method and cryptographic communication method in ID-NIKS cryptosystem
Granted 3 Jul 2007 · 2 office actions
Current assignee: Nippon Telegraph and Telephone Corporation · originally SAKAI, RYUICHI
Law firm: Law firm · Log in to unlock
Attorney: Attorney · Log in to unlock
Inventors: Kiyoshi Ogishi, Ryuichi Sakai, Masao Kasahara · Examiner: David Jung · AU 2134 · TC 2100
Life of the application
14 dated eventsAbstract
Mapping is carried out at a point on an elliptic curve to be utilized for elliptic encryption based on identity information (ID information) of each entity and a mapping value is set to be a public key of the entity. By using the mapping value and secret information, a secret key of each entity is generated. The entity generates a common key to be used for an encrypting process and a decrypting process by utilizing the self-secret key and the public key to be the mapping value obtained by mapping at a point on the elliptic curve based on ID information of a communication participate. In this case, pairing on the elliptic curve is utilized.
Description
12 parts›BACKGROUND OF THE INVENTION · 1 of 2
The present invention relates to a key sharing method for sharing a common key between both entities without a preliminary communication, a secret key generating method and device for generating a secret key of each entity in a center, a common key generating method and device for generating a common key necessary for an encrypting process and a decrypting process on each entity side, a cryptographic communication method and system for carrying out a communication by using a ciphertext such that people other than a concerned participant cannot know the contents of information, and a memory product/data signal embodied in carrier wave for recording/transmitting operation programs for these methods.
In the modern society, called a highly information-oriented society, based on a computer network, important business documents and image information are transmitted and communicated in a form of electronic information. Such electronic information cab be easily copied, so that it tends to be difficult to discriminate its copy and original from each other, thus bringing about an important issue of data integrity. In particular, it is indispensable for establishment of a highly information oriented society to implement such a computer network that meets the factors of “sharing of computer resources,” “multi-accessing,” and “globalization,” which however includes various factors contradicting the problem of data integrity among the parties concerned. In an attempt to eliminate those contradictions, encrypting technologies which have been mainly used in the past military and diplomatic fields in the human history are attracting world attention as an effective method for that purpose.
A cipher is defined as exchanging information in such a manner that no one other than the participants can understand the meaning of the information. In the field of ciphers, encryption is defined as converting an original text (plaintext) that can be understood by anyone into a text (ciphertext) that cannot be understood by the third party and decryption is defined as restoring a ciphertext into a plaintext, and cryptosystem is defined as the overall processes covering both encryption and decryption. The encrypting and decrypting processes use secret information called an encryption key and a decryption key, respectively. Since the secret decryption key is necessary in decryption, only those knowing this decryption key can decrypt ciphertexts, thus maintaining data security.
The encryption key and the decryption key may be either the same or different from each other. A cryptosystem using the same key is called a common-key cryptosystem, and DES (Data Encryption Standards) employed by the Standard Agency of the USA Commerce Ministry is a typical example. As an example of the cryptosystem using the keys different from each other, a cryptosystem called a public-key cryptosystem has been proposed. In the public-key cryptosystem, each user (entity) utilizing this cryptosystem generates a pair of encryption and decryption keys and publicizes the encryption key in a public key list, thereby keeping only the decryption key in secret. In this public-key cryptosystem, the paired encryption and decryption keys are different from each other, so that the public-key cryptosystem has a feature that the decryption key cannot be known from the encryption key with a one-way function.
The public-key cryptosystem is a breakthrough in cryptosystem which publicizes the encryption key and meets the above-mentioned three factors required for establishing highly information-oriented society, so that it has been studied actively for its application in the field of information communication technologies, thus leading RSA cryptosystem being proposed as a typical public-key cryptosystem. This RSA cryptosystem has been implemented by utilizing the difficulty of factorization into prime factors as the one-way function. Also, a variety of other public-key cryptosystems have been proposed that utilize the difficulty of solving discrete logarithm problems.
Besides, a cryptosystem has been proposed that utilizes ID (identity) information identifying individuals, such as post address, name and electronic mail address of each entity. This cryptosystem generates an encryption/decryption key common to a sender and a receiver based on ID information. Besides, the following ID-information based cryptosystems are provided: (1) a technique which needs a preliminary communication between the sender and the receiver prior to a ciphertext communication and (2) a technique which does not need a preliminary communication between the sender and the receiver prior to a ciphertext communication. The technique (2), in particular, does not need a preliminary communication, so that its entities are very convenient in use, thus considered as a nucleus for the future cryptosystems.
A cryptosystem according to this technique (2) is called ID-NIKS (ID-based non-interactive key sharing scheme), whereby sharing an encryption key without a preliminary communication is enabled by employing ID information of a communication partner. The ID-NIKS needs not exchange a public key or a secret key between a sender and a receiver nor receive a key list or services from third parties, thus securing safe communications between any given entities.
FIG. 1 shows principles for this ID-NIKS system. This system assumes the presence of a reliable center, around which a common-key generation system is configured. In FIG. 1 , the information specific to an entity X, i.e. its ID information of a name, a post address, a telephone number, an e-mail address, etc. is represented by h(IDx) using a hash function h(·). For an any given entity X, the center calculates secret information S xi as follows on the basis of center public information {PC i } center secret information {SC i } and ID information h (ID x ) of the entity X, and sends it to the entity X secretly:
S xi =F i ({ SC i }, {PC i }, h ( ID x )
The entity X generates, for communications between itself and another arbitrary entity Y, a common key K XY for encryption and decryption with its own secret {S xi }, center public information {PC i } and entity Y's ID information h(ID Y ) of the partner entity Y as follows:
›BACKGROUND OF THE INVENTION · 2 of 2
K XY =f ({ S xi }, {PC i }, h ( ID Y ))
The entity Y also generates a common key K YX for the entity X similarly. If a relationship of K XY =K YX holds true always, these keys K XY and K YX can be used as the encryption and decryption keys between the entities X and Y.
In the above-mentioned public-key cryptosystem, for example, an RSA cryptosystem, its public key measures 10-fold and more as long as the presently used telephone number, thus being very troublesome. To guard against this, in the ID-NIKS, each ID information can be registered in a form of name list to thereby be referenced in generating a common key used between any given entities. Therefore, by safely implementing such an ID-NIKS system as shown in FIG. 1 , a convenient cryptosystem can be installed over a computer network to which a lot of entities are subscribed. For these reasons, the ID-NIKS is expected to constitute a core of the future cryptosystem.
In an ID-NIKS sharing a common key to act as an encryption key and a decryption key each other without performing a preliminary communication using the ID information of a communication partner, particularly, it is desirable that sufficient safety should be maintained against a collusion attack in which a plurality of entities collude. Whether a cryptological safe ID-NIKS can be constructed or not is an important problem for an advanced computerization society and an ideal crypto scheme has been researched.
›BRIEF SUMMARY OF THE INVENTION
It is an object of the present invention to provide a key sharing method for easily sharing a common key between both entities without a preliminary communication by mapping at a point on an algebraic curve such as an elliptic curve utilized for elliptic cipher based on identity information (ID information) of each entity, a secret key generating method and device, a common key generating method and device, a cryptographic communication method and system for constructing a safety ID-NIKS based on the key sharing method, and a memory product/data signal embodied in carrier wave for recording/transmitting operation programs for these methods.
In the present invention, mapping is carried out at a point on an algebraic curve such as an elliptic curve or a hyperelliptic curve which is utilized for elliptic cipher based on the identity information (ID information) of each entity and the mapping value is set to be a public key of each entity. The algebraic curve and a mapping algorithm are open to the public. In a center, mapping is carried out at a point on the algebraic curve based on the identity information (ID information) of each entity, and a secret key of the entity is generated by using the mapping value and secret information of the center itself and is sent to the corresponding entity in secret. Each entity generates a common key to be used for an encrypting process and a decrypting process by utilizing the self-secret key sent from the center and the mapping value obtained by mapping at a point on the algebraic curve based on the identity information (ID information) of a communication partner. In this case, the same common key is shared between both entities without performing a preliminary communication by utilizing paring (Weil pairing, Tate pairing or the like) defined on the algebraic curve. The mapping at a point on the algebraic curve in the present invention can be carried out for each entity and the center.
In the present invention, safety is based on a discrete logarithm problem on the algebraic curve (for example, a discrete logarithm problem on an elliptic curve which will be hereinafter referred to as an elliptic discrete logarithm problem). A cryptosystem according to the present invention is broken due to a collusion attack of a plurality of entities equivalently to the solution of the elliptic discrete logarithm problem or with more difficulty, for example. Thus, very high safety can be obtained.
The above and further objects and features of the invention will more fully be apparent from the following detailed description with accompanying drawings.
›BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
FIG. 1 is a diagram showing the structure of a principle of an ID-NIKS system,
FIG. 2 is a diagram typically showing the structure of a cryptographic communication system according to the present invention,
FIG. 3 is a diagram typically showing the communication state of information between two entities, and
FIG. 4 is a diagram showing the structure of a memory product according to an embodiment.
›DETAILED DESCRIPTION OF THE INVENTION
Embodiments of the present invention will be described specifically.
FIG. 2 is a diagram typically showing the structure of a cryptographic communication system according to the present invention. A center 1 which can reliably conceal information is set. For example, a social public organization can correspond to the center 1 . The center 1 and a plurality of entities A, B, . . . , Z to be users utilizing the cryptographic communication system are connected through secret communication passages 2 a , 2 b , . . . , 2 z , and secret key information (secret keys S a , S b , . . . , S z ) are sent from the center 1 to the entities A, B, . . . , Z through the secret communication passages 2 a , 2 b , . . . , 2 z . Moreover, communication passages 3 ab , 3 az , 3 bz , . . . are provided between two entities, and a ciphertext obtained by encrypting communication information is transmitted between the entities through the communication passages 3 ab , 3 az , 3 bz , . . . .
Next, description will be given to a basic system according to the present invention in which an elliptic curve is used as an algebraic curve.
First of all, the basic property of Weil pairing of the elliptic curve used in the present invention will be described. The Weil pairing implies mapping on a multiplicative group of a finite field F d (d=q k ) from a group E/F q formed by points on the elliptic curve. In the Weil pairing, a bilinear property and a commutative law are established in the following manner. <, > represents the Weil pairing, and P, P 1 , P 2 , Q, Q 1 and Q 2 represent points on the elliptic curve.
(Bilinear Property)<
< P 1 +P 2 , Q>=<P 1 , Q><P 2 , Q>
< P, Q 1 +Q 2 >=<P, Q 1 ><P, Q 2 >
(Commutative Law)<
< P, Q>=<Q, P> −1
There is a bilinear property. Accordingly, if m is an integer, the following equality is established.
< mP, Q>=<P, Q> m
< P, mQ>=<P, Q> m
A key sharing method based on the Weil pairing will be described below.
(Secret Key Generation in Center 1 )
Identity information (ID information) of an optional entity A, for example, a name, a post address, a telephone number, an e-mail address and the like is set to be ID a . The center 1 opens, to the public, the algorithm < , > of the Weil pairing and a function f( ) for converting (mapping) the ID information ID a of the optional entity. A into a point P a ε E/F q on the elliptic curve to obtain a public key. Moreover, the center 1 generates a secret random number r. By using the random number r and the public key P a of the entity A, a secret key S a of the entity A is obtained in the following equation (1). The secret key S a thus obtained is distributed to the entity A in secret.
S a =rPa . . . (1)
The above-mentioned secret information and public information can be collected as follows.
Public information of center 1 : < , >f( ) Secret information of center 1 : r(random integer) Public key of entity A: P a (=f(ID a )) Secret key of entity A: S a (=r·f(ID a ))
(Generation of Common Key in Entity A, B)
Each entity generates a common key by utilizing the Weil pairing on the elliptic curve based on a self-secret key distributed from the center 1 and a public key of the entity to be a communication partner.
›FIRST EXAMPLE
An algorithm for comparing in size the ID information ID a of the entity A with the ID information ID b of the entity B is set and the order of the pairing is properly set by using information about the comparison in size when the pairing is to be calculated. As the algorithm, the comparison in size by a lexicographic expression or binary can be used. As a method for setting the order of the pairing, it is also possible to use information about the comparison in size of the public keys P a and P b which are obtained after converting (mapping) the ID information ID a and ID b .
For example, if ID a >ID b is set, the entity A generates a common key K ab in accordance with the following equation (2) by using the self-secret key S a and the public key P b in which the ID information ID b of the entity B is mapped onto the elliptic curve.
On the other hand, if ID a >ID b is set, the entity B generates a common key K ba in accordance with the following equation (3) by using the public key P a in which the ID information ID a of the entity A is mapped onto the elliptic curve and the self-secret key S b .
Accordingly, the common key K ab generated by the entity A is coincident with the common key K ba generated by the entity B so that the common key can be shared between both entities A and B.
Next, description will be given to two examples in which the key can be shared without setting the comparison in size of the ID information described above.
›SECOND EXAMPLE
A symmetrical function g(x, y) related to x and y (excluding g(x, y)=xy) is set. In the following example, g(x, y)=x+y is set. The entity A generates a common key of K ab =k ab +k ba as in the following equation (4) in accordance with g (x, y)=x+y.
On the other hand, the entity B generates a common key of K ba =k ba +k ab as in the following equation (5) in accordance with g (x, y)=x+y.
Accordingly, the common key K ab generated by the entity A is coincident with the common key K ba generated by the entity B so that the common key can be shared between both entities A and B. Even if other kinds of symmetrical functions g(x, y) are utilized, the key can be shared in the same manner.
›THIRD EXAMPLE
The entity A generates a common key of K ab =k ab +k ab −1 as in the following equation (6) by using the k ab shown in the second example.
The entity B generates a common key of K ba =k ba +k ba −1 as in the following equation (7) by using the k ba shown in the second example.
Accordingly, the common key K ab generated by the entity A is coincident with the common key K ba generated by the entity B so that the common key can be shared between both entities A and B.
›FOURTH EXAMPLE · 1 of 4
The entity A generates an intermediate key I ab in accordance with the following manner by using the self-secret key S a and the public key P b of the entity B.
The entity B generates an intermediate key I ba in accordance with the following manner by using the self-secret key S b and the public key P a of the entity A.
According to the above-mentioned (Commutative Law) in Weil pairing, it is understood that a relation of I ab ×I ba =1 is satisfied. The key may be shared between both entities A and B by utilizing such a relation of inverse number.
As described above, a common key for each entity can easily be generated by utilizing the Weil pairing.
While the mapping point P a , is directly obtained from the ID information ID a of the entity A in th e above-mentioned example, the ID information ID a may be converted by utilizing a one-way function to obtain the mapping point P a , from the converted value. In this case, if a hash function h( ) is used as an example of the one-way function, the public key P a =f(h(ID a )) and the secret key S a =r·f(h(ID a )) are set.
In order for the entity to obtain the secret information r of the center 1 with difficulty, the following two conditions are required.
(condition 1) q is set to be 2 160 or more. (condition 2) There is an integer k which satisfies #E/F q |q k −1 and q k >2 1024 .
The (condition 1) is required for solving an elliptic discrete logarithm problem with difficulty. The (condition 2) is required for solving the discrete logarithm problem of a finite field F d (d=q k ) with difficulty.
Next, description will be given to an information communication between the entities in a cryptosystem utilizing the above-mentioned key sharing method. FIG. 3 is a diagram typically showing the communication state of information between two entities A and B. In the example of FIG. 3 , the entity A encrypts a plaintext (message) M into a ciphertext C and transmits the same to the entity B, and the entity B decrypts the ciphertext C to the original plaintext (message) M.
The center 1 comprises a public key generator 1 a for using a function f( ) to obtain public keys P a and P b to be mapping positions in which the ID information ID a and ID b of the entities A and B are mapped on an elliptic curve, and a secret key generator 1 b for obtaining secret keys S a and S b of the entities A and B by using the public keys P a and P b and center inherent secret information r. The secret keys S a and S b generated in accordance with the above-mentioned (1) are sent from the center 1 to the entities A and B.
The entity A side is provided with a public key generator 11 for inputting ID information ID b of the entity B to obtain the public key P b to be a mapping position in which the ID information ID b is mapped on the elliptic curve, a common key generator 12 for generating a common key K ab to the entity B which is required for the entity A based on the secret key S a sent from the center 1 and the public key P b from the public key generator 11 , and an encryptor 13 for encrypting the plaintext (message) M into the ciphertext C by using the common key K ab and for outputting the ciphertext C to a communication passage 30 .
Moreover, the entity B side is provided with a public key generator 21 for inputting ID information ID a of the entity A to obtain the public key P a to be a mapping position in which the ID information ID a is mapped on the elliptic curve, a common key generator 22 for generating a common key K ba to the entity A which is required for the entity B based on the secret key S b sent from the center 1 and the public key P a from the public key generator 21 , and a decryptor 23 for decrypting the ciphertext C input from the communication passage 30 to the plaintext (message) M by using the common key K ba and for outputting the plaintext M.
Next, operation will be described. In the case in which information is to be transmitted from the entity A to the entity B, the ID information ID b of the entity B is first input to the public key generator 11 to obtain the public key P b . Then, the public key P b thus obtained is sent to the common key generator 12 . Moreover, the secret key S a is input from the center 1 to the common key generator 12 . Then, the common key K ab is obtained in accordance with the above-mentioned equation (2), (4) or (6), and is sent to the encryptor 13 . In the encryptor 13 , the plaintext (message) M is encrypted into the ciphertext C by using the common key K ab and the ciphertext C is transmitted through the communication passage 30 .
The ciphertext C transmitted through the communication passage 30 is input to the decryptor 23 of the entity B. The ID information ID a of the entity A is input to the public key generator 21 so that the public key P a is obtained. The public key P a thus obtained is sent to the common key generator 22 . Moreover, the secret key S b is input from the center 1 to the common key generator 22 . Then, the common key K ba is obtained in accordance with the above-mentioned equation (3), (5) or (7) and is sent to the decryptor 23 . In the decryptor 23 , the ciphertext C is decrypted to the plaintext (message) M by using the common key K ba .
Next, safety according to the present invention will be described. The safety of the present invention is based on an elliptic curve discrete logarithm problem and an extended elliptic curve discrete logarithm problem equivalent thereto as will be described below.
[Equivalence of Elliptic Discrete Logarithm Problem to Extended Elliptic Discrete Logarithm Problem]
An ordinary elliptic discrete logarithm problem implies a problem in which r is obtained from P and Q when an optional point P on an elliptic curve E and an r-fold point Q=rP are given. As shown in the following equation (8), in the case in which an optional point P i (1≦i≦n−1) and Q based on the point P i are given to the elliptic curve, a problem for obtaining a certain set of r i (1≦i≦n−1) is defined as the extended elliptic discrete logarithm problem. There will be considered the equivalence of the elliptic discrete logarithm problem to the extended elliptic discrete logarithm problem. For simplicity of discussion, the elliptic curve is a prime number order p.
›FOURTH EXAMPLE · 2 of 4
P i , Q ( = ∑ i = 1 n - 1 r i P i ) → r i ( 1 ≦ ∀ i ≦ n - 1 ) ( 8 )
(Conclusion of Elliptic Discrete Logarithm Problem into Extended Elliptic Discrete Logarithm Problem)
It is assumed that the elliptic discrete logarithm problem can be solved on the basis of a base point P. Referring to P i (1≦i≦n−1) and Q, coefficients can be obtained on the basis of the base point P on the elliptic curve as shown in the following equation (9), respectively.
Coefficients r i ′ and r′ are set to be elements of F p and the following indefinite equation (10) is solved. Thus, r i (1≦i≦n−1) can be obtained. Consequently, the extended elliptic discrete logarithm problem can be solved.
r ′ = ∑ i = 1 n - 1 r i r i ′ ( 10 )
(Conclusion of Extended Elliptic Discrete Logarithm Problem into Elliptic Discrete Logarithm Problem)
It is assumed that an optional extended elliptic discrete logarithm problem can be solved. Referring to P i (1≦i≦n) on the elliptic curve, an extended elliptic discrete logarithm problem indicated by the following equation (11) is solved and is expressed in a matrix. Consequently, the following equation (12) can be obtained.
When only coefficients are extracted from the matrix in the above-mentioned equation (12), the following equation (13) is obtained and modification can be carried out as indicated by the following equation (14).
As is apparent from the equation (14), the point P i (1≦i≦n−1) can be expressed in the constant multiple of P n . In other words, r i ′ satisfying P i =r i ′P n can be obtained by solving the extended elliptic discrete logarithm problem.
Consequently, the elliptic discrete logarithm problem is equivalent to the extended elliptic discrete logarithm problem.
[Safety Related to Secret Information of Center]
The secret information r of the center is obtained from the public key P c and the secret key S c of an entity C equivalently to the solution of the elliptic discrete logarithm problem with difficulty.
<P a , P b > is calculated from the public key P a of the entity A and the public key P b Of the entity B and r is obtained from the calculated <P a , P b > and the common key K ab =<P a , P b > r equivalently to the solution of the discrete logarithm problem with difficulty.
Accordingly, any entity cannot obtain the secret information r of the center.
[Safety related to Secret Key of Entity]
An attack in which n entities colluding each other counterfeit the secret key S c of the entity C will be considered. If it is assumed that the public key P c of the entity C can be expressed by linear combination of the public keys of other entities as in the following equation (15), the following equation (16) is established if the linear combination is substituted for the equation (1). Therefore, the secret key S c of the entity C is exposed.
However, it is necessary to solve the following extended elliptic curve discrete logarithm problem to obtain the coefficient u i in the equation (15). Accordingly, such an attack is hard to perform. Consequently, the safety is based on the difficulty of the solution of the extended elliptic discrete logarithm problem.
The safety of the secret key will be described in more detail. The extended elliptic discrete logarithm problem implies a problem for solving the coefficients u 1 and u 2 in the following equation (17) when P is an optional point on E/F q and (G 1 , G 2 ) is a generator of E/F q .
P=u 1 G 1 +u 2 G 2 (17)
The degrees of G 1 and G 2 are defined as #(G 1 ) and #(G 2 ). #(G 1 ) | #(G 2 ) is set. If the extended elliptic discrete logarithm problem can be solved, the coefficients u 1 and u 2 in P=u 1 G 1 +u 2 G 2 and the coefficients v i and V 2 in Q=v 1 G 1 +v 2 G 2 are obtained. Consequently, the elliptic discrete logarithm problem Q=rP can be solved in the following equation (18).
Equivalency of the problem for solving the equation (15) to the extended elliptic discrete logarithm problem will be considered. If the equation (15) can be solved, r ij in the following equation (19) can be obtained.
On the assumption that a determinant of (n−2)×(n−2) on the left side is a prime of #(G 2 ) of P n−1 =G l and P n =G 2 in the following equation (20), the following equation (20) can be solved. If the determinant is not a prime of #(G 2 ), another solution r i, j in the equation (19) can be selected.
As a result, if the equation (15) can be solved, the extended elliptic discrete logarithm problem of P i shown in the following equation (21) and (G 1 , G 2 ) can also be solved.
To the contrary, if the extended elliptic discrete logarithm problem can be solved, it is indicated that the equation (15) can be solved. If the extended elliptic discrete logarithm problem of P i and (G 1 , G 2 ) is defined as the following equation (22) and the extended elliptic discrete logarithm problem of P c and (G 1 , G 2 ) is defined as the following equation (23), a relationship in the following equation (24) is established.
If V j and r ij are given, it is apparent that u i can be solved. Accordingly, the problem for solving the above equation (15) is equivalent to the extended elliptic discrete logarithm problem. Moreover, if a group of elliptic curves is cyclic, it is apparent that the extended elliptic discrete logarithm problem is equivalent to the elliptic discrete logarithm problem. In this case, accordingly, the problem for solving the above equation (15) is equivalent to the elliptic discrete logarithm problem.
[Safety Related to Common Key Between Entities]
An attack in which n entities colluding each other counterfeit the common key between the entities A and C will be considered. If it is assumed that the public key P C of the entity C can be expressed by linear combination of the public keys of other entities as in the above equation (15), common keys K ac and K ca between both entities A and C are exposed as in the following equations (25) and (26), and so is the case in which the secret key S c of the entity C can be expressed by the linear combination.
›FOURTH EXAMPLE · 3 of 4
rework
However, it is necessary to solve the extended elliptic discrete logarithm problem to obtain the coefficient u i in the above equation (15). Accordingly, such an attack is hard to perform.
The entity A cannot counterfeit a common key K bc between other entities from the self-public key P a and self-secret key S a if any. The reason is that the secret keys S b and S c , are secret information about the entities B and C which cannot be obtained if there is no secret information r. Accordingly, any entity cannot counterfeit the common key K bc .
A collusion attack for obtaining the common key K bc from the secret key S i of a collusive entity I without the secret keys S b and S c has the same problem as that in the case in which the secret keys S b and S c are obtained from the secret key S i . Moreover, the collusion attack for obtaining the common key K bc from the common key K ij between the collusive entities I and J is a difficult problem because the secret information r of the center is not known. The problem for obtaining the common key K bc results in a Diffe-Hellman type problem.
The entity A can calculate the common keys K ab and K ac . Therefore, if the common key K bc can be obtained from the common keys K ab and K ac , the entity A can counterfeit a common key between other entities. However, it is hard to apply such an attack method to the present invention.
Next, description will be given to a key sharing method for extending ID information of each entity to a vector according to another embodiment of the present invention.
A vector P a to be the ID information of an entity A is represented by the following equation (27).
Vector P a =(P a1 , P a2 , . . . , P an ) (27)
Moreover, a symmetrical matrix R of n×n is set as the secret information of a center 1 in the following equation (28).
In the center 1 , the vector P a and the symmetrical matrix R are used to obtain a secret key (vector S a ) of the entity A in accordance with the following equation (29), and the secret key thus obtained is sent to the entity A in secret.
{right arrow over (S a )}={right arrow over (P a )}R (29)
The entity A generates a common key K ab to an entity B in accordance with the following equation (30). A product of points is set to be a value of Weil pairing.
rework
Moreover, the entity B generates a common key K ba to the entity A in the same manner. In the case in which the comparative relationship in size between the ID information of the entities A and B is taken into consideration as in the first example according to the above mentioned embodiment, K ab =K ba is set so that the same common key can be shared.
Next, safety according to the present embodiment will be taken into consideration.
[Safety related to Secret Information of Center]
A secret matrix R of the center is obtained from the public key vector P c and the secret key vector S c of an entity C equivalently to the solution of the extended elliptic discrete logarithm problem with difficulty.
<P ai , P bj > (1≦i, j≦n) is calculated from the public key vector P a of the entity A and the public key vector P b of the entity B and each component r ij (1≦i, j≦n) of the matrix R is obtained from the calculated <P ai , P bj > and the common key K ab shown in the following equation (31) equivalently to the extended discrete logarithm problem and the discrete logarithm problem in the same manner as the equivalence of the extended elliptic discrete logarithm problem to the elliptic discrete logarithm problem.
As described above, the secret information (symmetrical matrix R) of the center 1 is not exposed.
[Safety Related to Secret Key of Entity]
An attack in which n entities colluding each other counterfeit the secret key vector S c of the entity C will be considered. If it is assumed that the public key vector P c of the entity C can be expressed by linear combination of the public key vectors of other entities as in the following equation (32), the following equation (33) is established if the linear combination is substituted for the above equation (29). Therefore, the secret key vector SC of the entity C is exposed.
However, it is necessary to solve the extended elliptic discrete logarithmic problem to obtain components in the above equation (29). Therefore, such an attack is carried out with difficulty. Accordingly, the safety is based on the difficulty to solve the extended elliptic discrete logarithm problem.
[Safety Related to Common Key Between Entities]
An attack in which n entities colluding each other counterfeit a common key between the entities A and C will be considered. If it is assumed that the public key vector P c of the entity C can be expressed by linear combination of the public key vectors of other entities as in the following equation (32), common keys K ac and K ca between both entities A and C are exposed as in the following equations (34) and (35), and so is the case in which the secret key vector S c of the entity C can be expressed by the linear combination.
However, the extended elliptic discrete logarithm problem is solved to obtain the coefficient u i in the above equation (32). Therefore, such an attack is hard to perform.
Also in the present embodiment, moreover, it is hard to generate a common key between other entities from a self-common key by a certain entity in the same manner as that in the above-mentioned embodiment.
It is also possible to extend the ID information of the entity to a symmetrical matrix of n×n. In this case, the relationship in the following equation (36) is satisfied by a common key matrix k ab =(s ij ) and a common key matrix k ba =(t ji ).
S ij =t ji −1 (36)
While the case in which the Weil pairing is used has been described in the above example, the key sharing can be carried out between both entities also in the case in which Tate pairing is utilized as pairing on the elliptic curve.
Moreover, in any of the Weil pairing and the Tate pairing, the calculation of the pairing can be extended such that coordinates on points P and Q belong to different fields in pairing <P,Q> when the key sharing is to be carried out. Moreover, if the coordinates on the point P are defined by a small field, the calculation of the pairing can be carried out at a high speed.
›FOURTH EXAMPLE · 4 of 4
A change in a definition field of the elliptic curve is advantageous in that the common key cannot reliably be 1 and the calculation can be carried out at a high speed. In the case in which the definition field of the elliptic curve is to be changed, that is, two kinds of definition fields are used, two ways of corresponding to the public key are required. In the conventional ID-NIKS, the entity carries out the key sharing by using one public key determined by ID information and a self-secret key. In this method, the public key is mapped at a point on the same elliptic curve having different definition fields based on the ID information by two different methods, according to ID information or a public key, one of the entities uses the public key utilizing one of the definition fields and the other entity uses the public key utilizing the other definition field. Thus, the key sharing is carried out.
All the entities are divided into two groups G 1 and G 2 . The entity belonging to the group G 1 uses elements of a group including P as the ID information and the entity belonging to the group G 2 uses elements of a group including Q as the ID information. Consequently, the entity of the group G 1 and that of the group G 2 can share a key.
Each entity has two kinds of ID information, and an algorithm indicative of some relationship in size is set to each ID information of the entity A and the entity B and any ID information to be used by one of the entities A and B is determined. Consequently, the key can be shared.
Each entity has two kinds of ID information, and two kinds of values are calculated between both entities and two calculated values thus obtained are added to each other. Thus, an operation to obtain the same value is used to generate a common key.
By properly determining conversion between the elements of the group including P and those of the group including Q and using the conversion as system inherent public information, the key can be shared.
While the case in which the elliptic curve is used as the algebraic curve has been described in the above example, the hyperelliptic discrete logarithm problem and the pairing can be defined even if the hyperelliptic curve is used. Therefore, extension can easily be carried out.
FIG. 4 is a diagram showing the structure of a memory product according to an embodiment of the present invention. An illustrated program includes a processing of generating a secret key of each entity by the above-mentioned method based on the ID information of each entity and the center inherent secret information (a step of mapping at a point on an elliptic curve based on the ID information of the entity to obtain a mapping value and a step of generating the secret key by using the mapping value and the center inherent secret information) or a processing of generating a common key by the above-mentioned method based on the secret key of the entity itself and the public key of the entity to be a communication party (a step of mapping at a point on an elliptic curve based on the ID information of the entity to be a communication party, thereby obtaining a mapping value and a step of generating the common key by using the mapping value and the secret key of the entity itself), which is recorded in the memory product to be described below. A computer 40 is provided on the center 1 side or each entity side.
In FIG. 4 , a memory product 41 which is on-line connected to the computer 40 is formed by using a WWW (World Wide Web) server computer provided apart from a place where the computer 40 is installed, for example. The memory product 41 records a program 41 a described above. The program 41 a read from the memory product 41 through a transmission medium 44 such as a communication line controls the computer 40 , thereby generating a secret key of each entity or generating a common key between both entities.
A memory product 42 provided in the computer 40 is formed by using a hard disk drive, an ROM or the like provided therein, for example, and records a program 42 a described above. The program 42 a read from the memory product 42 controls the computer 40 , thereby generating a secret key of each entity or generating a common key between both entities.
A memory product 43 to be attached to a disk drive 40 a provided in the computer 40 is formed by using an optical magnetic disk, a CD-ROM, a flexible disk or the like which can be carried, for example, and records a program 43 a described above. The program 43 a read from the memory product 43 controls the computer 40 , thereby generating a secret key of each entity or generating a common key between both entities.
As described above in detail, in the present invention, the public key generated from the ID information of each entity is mapped on the algebraic curve such as an elliptic curve. Therefore, it is possible to easily share the common key between both entities without carrying out a preliminary communication. In the present invention, moreover, the safety is based on the discrete logarithm problem on the algebraic curve, and the present invention has a resistance to an attack such as a collusion attack and can contribute to the development of the ID-NIKS.
As this invention may be embodied in several forms without departing from the spirit of essential characteristics thereof, the present embodiment is therefore illustrative and not restrictive, since the scope of the invention is defined by the appended claims rather than by the description preceding them, and all changes that fall within metes and bounds of the claims, or equivalence of such metes and bounds thereof are therefore intended to be embraced by the claims.
Claims as granted
23 claimsLog in to read the claims of this application.
Log in to unlockClassifications
5 codes- G06F17/00
- H04L9/00
Claim changes
SoonSee which claims were amended, added or cancelled during examination, with every added and removed word marked.
The published claims of this application are not paired with the granted ones in what we hold.
File wrapper
See the full prosecution history — every USPTO and applicant action on this file, in order.
Log in to unlockDocuments
Log in to open the documents of this file: the application as filed, every office action and response, the notice of allowance.
Log in to unlockChain of title
See the full assignment history — every owner this patent has passed through, with recordation dates and reel/frame numbers.
Log in to unlock