Abstract:
A method for shifting a key agreement status in a public-key cryptographic protocol that allows key agreement between three devices includes the steps of, under condition that allow key agreement between three devices including a first device, a second device, and a dummy device, reaching key agreement between the first device and the second device, and replacing the dummy device with a third device, thereby shifting from two-device key agreement to three-device key agreement.

Description:
CROSS REFERENCES TO RELATED APPLICATIONS  
       [0001]     The present invention contains subject matter related to Japanese Patent Application JP 2004-324775 filed in the Japanese Patent Office on Nov. 9, 2004, the entire contents of which are incorporated herein by reference.  
       BACKGROUND OF THE INVENTION  
       [0002]     1. Field of the Invention  
         [0003]     The present invention relates to key agreement techniques in communication networks. More specifically, the present invention relates to a method and system for shifting from two-device key agreement to three-device key agreement or from three-device key agreement to two-device key agreement and to an information storage medium capable of loading a program for shifting from two-device key agreement to three-device key agreement or from three-device key agreement to two-device key agreement.  
         [0004]     2. Description of the Related Art  
         [0005]     Recently, encryption of communications has become widespread as a security enhancement in communication networks between users. Common-key cryptography and public-key cryptography are widely used as communication cryptographic techniques.  
         [0006]     Common-key cryptography is a cryptographic algorithm for encryption and decryption using the same key, in which a ciphertext sender and receiver share the same key. Common-key cryptography has the advantages of high-speed encryption and decryption and a light communication load, but has the drawback of the necessity of transmitting a common key to the other party in advance through a safe route to share the common key. Another drawback is that a thief of the common key is free to decode encrypted information.  
         [0007]     Public-key cryptography is a cryptographic algorithm in which the sender uses a receiver&#39;s public key to encrypt transmission information and the receiver uses its own private key to decode the received encrypted information. Public-key cryptography has the drawbacks of low-speed encryption and decryption due to the difference between encryption and decryption keys and the possibility of third parties spoofing the sender because the use of the public key enables any one to encrypt information. In public-key cryptography, a key used for encryption (or a public key) is published so as to be accessible to any one, and it is advantageous to share the cryptographic key without secretly transmitting the key (i.e., without the need to pass the key in advance through a safe route). Therefore, key management is simple and is suitable for multi-user communication.  
         [0008]     The Diffie-Hellman (DH) protocol and the JOUX protocol have been proposed as key agreement protocols using public-key cryptography. The DH protocol is a two-device key agreement protocol (see Tatsuaki Okamoto and Hirosuke Yamamoto, “Gendai Angou (Modern Cryptography)”, Sangyo Tosho, 1997). The JOUX protocol is a three-device key agreement protocol (see “A One Round Protocol for Tripartite Diffie-Hellman” (in Proceedings of The 4th Algorithmic Number Theory Symposium (ANTS4), Lecture Notes in Computer Science, Vol. 1838, Springer-Verlag)).  
         [0009]     In common-key cryptography, as noted above, the sender and the receiver share a common key, and it is necessary to transmit the common key to the other party in advance through a safe route to share the common key. On the other hand, the key agreement protocols using public-key cryptography are advantageous in that a public key and a private key are used to share a key used for decryption without transmitting the key to the other party in advance.  
         [0010]     Japanese Unexamined Patent Application Publications No. 4-347949, No. 2002-164877, No. 11-163850, and No. 5-122215 disclose systems relating to encryption of communications.  
       SUMMARY OF THE INVENTION  
       [0011]     The DH protocol is a key agreement protocol using the public-key cryptography that allows two-device key agreement, but is difficult to directly use for three-device key agreement. The JOUX protocol is a key agreement protocol using the public-key cryptography that allows three-device key agreement, but it is difficult to directly use for two-device key agreement.  
         [0012]     In the case of shifting from two-device key agreement to three-device key agreement (e.g., in the case of reaching key agreement also with a third user) or in the case of shifting from three-device key agreement to two-device key agreement (e.g., in the case of canceling key agreement with one of the three devices), the currently-used key agreement protocol itself is changed to reconfigure a key agreement system.  
         [0013]     It is therefore desirable to provide a key agreement method for easily shifting from two-device key agreement to three-device key agreement or from three-device key agreement to two-device key agreement.  
         [0014]     According to an embodiment of the present invention, a method for shifting the key agreement status in a public-key cryptographic protocol that allows key agreement between three devices includes the steps of, under conditions that allow key agreement between three devices including a first device, a second device, and a dummy device, reaching key agreement between the first device and the second device, and replacing the dummy device with a third device, thereby shifting from two-device key agreement to three-device key agreement.  
         [0015]     According to another embodiment of the present invention, a method for shifting the key agreement status in a public-key cryptographic protocol that allows key agreement between three devices includes the steps of reaching key agreement between three devices in advance and replacing one of the three devices with a dummy device, thereby shifting from three-device key agreement to two-device key agreement.  
         [0016]     The term “dummy device” means a nonexistent device that is used in a key agreement system based on a public-key cryptographic protocol that allows key agreement between three devices instead of a third device in a case where first and second devices exist. If the third device does not exist, a public key (pseudo-public key) of the dummy device is used instead of a public key of the third device, thereby achieving two-device key agreement.  
         [0017]     The pseudo-public key of the dummy device may be computed from a random value serving as an alternative private key and a parameter used to generate a public key from a private key.  
         [0018]     Any public-key cryptographic protocol that allows key agreement between three devices may be used. For example, a key agreement protocol using a bilinear map may be used.  
         [0019]     Therefore, it is easy to shift from two-device key agreement to three-device key agreement or from three-device key agreement to two-device key agreement without changing the system configuration or setting.  
         [0020]     According to a further embodiment of the present invention, there is provided a system for shifting from two-device key agreement to three-device key agreement or from three-device key agreement to two-device key agreement using a public-key cryptographic protocol that allows key agreement between three devices. The system at least includes a main storage unit that stores a program for determining a common key from a combination of a private key of one of the three devices and public keys of the other two devices or a combination of a private key of one of the three devices, a public key of another device, and a pseudo-public key of a dummy device, a controller that interprets the program, an arithmetic unit that executes the program, a communication interface that communicates with another device, and a secure storage unit that stores the common key.  
         [0021]     This system stores a program for determining a common key between devices from a public key of a third device or a pseudo-public key of a dummy device. Therefore, it is easy to shift from two-device key agreement to three-device key agreement or from three-device key agreement to two-device key agreement without changing the system configuration or setting.  
         [0022]     According to a still further embodiment of the present invention, there is provided an information storage medium storing a program for shifting from key agreement between a first device and a second device to key agreement between the first device, the second device, and a third device. The program includes the steps of sending a public key of the first device to the second device in case of key agreement between the first device and the second device, receiving a public key of the second device, generating a common key from a private key of the first device, the public key of the second device, and a pseudo-public key of a dummy device, receiving a public key of the third device, sending the public key of the first device to the third device, and generating a common key between the first device, the second device, and the third device from the private key of the first device, the public key of the second device, and the public key of the third device.  
         [0023]     According to a still further embodiment of the present invention, there is provided an information storage medium storing a program for shifting from key agreement between a first device, a second device, and a third device to key agreement between the first device and the second device. The program includes the steps of sending a public key of the first device to the second device and the third device, receiving a public key of the second device and a public key of the third device, generating a common key between the first device, the second device, and the third device from a private key of the first device, the public key of the second device, and the public key of the third device, and generating a common key between the first device and the second device based on the public key of the second device and the private key of the first device.  
         [0024]     That is, a computation for shifting from two-device key agreement to three-device key agreement and from three-device key agreement to two-device key agreement can be automatically performed by a computer. Arbitrary devices may be set to the first, second, and third devices.  
         [0025]     Therefore, it is easy to shift from two-device key agreement to three-device key agreement or from three-device key agreement to two-device key agreement. This is particularly useful in the field of communication networks using key cryptography. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0026]      FIG. 1  is a block diagram showing an example configuration of a network for key-agreement according to an embodiment of the present invention;  
         [0027]      FIG. 2  is a block diagram of a system according to an embodiment of the present invention;  
         [0028]      FIG. 3  is a schematic flow diagram showing a method for shifting from two-device key agreement to three-device key agreement;  
         [0029]      FIG. 4  is a flow diagram showing the operation of devices A and C in the method shown in  FIG. 3 ;  
         [0030]      FIG. 5  is a schematic flow diagram showing another method for shifting from two-device key agreement to three-device key agreement;  
         [0031]      FIG. 6  is a flow diagram showing the operation of devices A and C in the method shown in  FIG. 5 ;  
         [0032]      FIG. 7  is a schematic flow diagram showing a method for shifting from three-device key agreement to two-device key agreement; and  
         [0033]      FIG. 8  is a flow diagram showing the operation of devices A and C in the method shown in  FIG. 7 . 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0034]     A preferred embodiment of the present invention now will be described below with reference to the drawings.  
         [0035]      FIG. 1  is a diagram showing the configuration of a network for key-agreement according to an embodiment of the present invention. Referring to  FIG. 1 , the network for key-agreement includes devices A, B, and C that are to agree on a key and a center connected to the devices A to C.  
         [0036]     In the case of two-device key agreement, for example, the devices A and B agree on a key ( 11 ). In the case of three-device key agreement, for example, the devices A, B, and C agree on a key ( 11 ,  12 , and  13 ). A method for shifting from two-device key agreement to three-device key agreement and a method for shifting from three-device key agreement to two-device key agreement are discussed below.  
         [0037]     The center that is accessed by a plurality of devices (e.g., the devices A, B, and C) via communication interfaces ( 14 ,  15 , and  16 ) functions to publish public information regarding a key agreement protocol using the public-key cryptography at the time of set-up processing discussed below. In view of security concerns, preferably, the center is guaranteed for reliability.  
         [0038]     The center is necessary only for the set-up processing, and it is no longer necessary after the set-up processing. One of the devices may function as the center. In  FIG. 1 , the center and the devices A to C are connected via the communication interfaces; however, they are not necessarily connected via communication interfaces. For example, the information sent from the center may be received by the devices A to C via storage media.  
         [0039]     In order to set up the network for key-agreement according to the embodiment of present invention, the center performs set-up processing. The set-up processing will now be described in detail in the context of key cryptography using a bilinear map. The key agreement system according to the embodiment of the present invention may employ any key agreement protocol which allows three-device key agreement using the public-key cryptography, and it is not limited to a bilinear-map-based key agreement system (the same applies the following description).  
         [0040]     First, an additive group G 1  and a multiplicative group G 2  each having a prime order q are determined. The additive group G 1  is typically a subgroup of a group defined by points on an elliptic curve over a finite field.  
         [0041]     Then, a bilinear map e is defined as follows: 
 
 e: G   1   ×G   1   →G   2   Eq. 1 
 
         [0042]     The bilinear map e satisfies the following three requirements (for the details, see D. Boneh and M. Franklin, “Identity-Based Encryption from the Weil Pairing” (in Proceedings of Crypto &#39;2001, Lecture Notes in Computer Science, Vol. 2139, Springer-Verlag, pp. 213-229, 2001)):  
         [0043]     (1) Bilinear: arbitrary P, QεG 1  and arbitrary a, bεZ satisfy Equation 2 below;  
         [0044]     (2) Non-degenerate: if P generates G 1 , then, e(P, P) generates G 2 ;  
         [0045]     (3) Computable: there exists an efficient algorithm on arbitrary P, QεG 1  to compute e(P, Q). 
 
 e ( aP, bQ )= e ( p, Q ) ab   Eq. 2 
 
         [0046]     Then, an arbitrary parameter (generation source) P and a random value sεZ q * of the group G 1  are selected, and P Pub =sP is defined.  
         [0047]     The parameter P is a parameter used to compute a public key from a private key. As described above, the value P Pub  is derived from the random value s and the parameter P and is analogous to a public key. In an embodiment of the present invention, the value P Pub  is used as a pseudo-public key of a dummy device. The values q, G 1 , G 2 , e, P, and P Pub  are published in the center as public information of the system. The term “publish” means to make the public information available to devices (e.g., in  FIG. 1 , the devices A, B, and C) in the key agreement system according to the embodiment of the present invention.  
         [0048]      FIG. 2  shows an example configuration of a system according to an embodiment of the present invention (e.g., each of the devices A, B, and C shown in  FIG. 1 ).  
         [0049]     The system according to the embodiment of the present invention includes, for example, a controller  21 , an arithmetic unit  22 , a communication interface  23 , a secure storage unit  24  that stores a cryptographic key, a main storage unit  25  capable of storing program code, and a display device  26  and an input device  27  serving as user interfaces. The display device  26  and the input device  27  are not essential in the system configuration.  
         [0050]     In the system, for example, the following processing is performed. A program describing an operation according to an embodiment of the present invention is stored in the main storage unit  25 . The program is a program for computing a common key between the devices A, B, and C or between the devices A and B from (1) a private key of a given device (e.g., the device A) and public keys of the other two devices (e.g., the devices B and C), or (2) a private key of a given device (e.g., the device A), a public key of the other device (e.g., the device B), and a pseudo-public key of a dummy device C′.  
         [0051]     The controller  21  interprets the program code and executes the program code using the arithmetic unit  22  or the like. Communication with the center or other devices is performed via the communication interface  23  ( 28 ). A cryptographic key shared with other devices is stored in the secure storage unit  24 , and it is used for later encryption and decryption of communication.  
         [0052]     A method for shifting from two-device key agreement to three-device key agreement and a method for shifting from three-device key agreement to two-device key agreement now will be descried with reference to FIGS.  3  to  8 .  
         [0053]      FIG. 3  is a schematic flow diagram showing an exemplary method for shifting from two-device key agreement to three-device key agreement. In  FIG. 3 , steps  31  to  33  show a key agreement procedure between the devices A and B. Steps  34  to  37  show a procedure for shifting from bipartite key agreement between the devices A and B to tripartite key agreement between the devices A, B, and C.  
         [0054]     In step  31 , a public key r A P of the device A is sent to the device B. First, the device A randomly selects a random number r A εZ q * to set a private key r A . Then, the device A computes the public key r A P (where P denotes the parameter published in the center) and sends the public key r A P to the device B.  
         [0055]     The device B also randomly selects a random number r B εZ q * to set a private key r B . Then, the device B computes a public key r B P (where P denotes the parameter published in the center) and sends the public key r B P to the device A (step  32 ).  
         [0056]     In step  33 , a common key K AB  is generated by the devices A and B, and both devices agree on a key. The device A computes the common key K AB  between the devices A and B using Equation 3 below from the public key r B P sent from the device B, the pseudo-public key P PUB  published in the center, and the private key r A  of the device A. The device B computes the common key K AB  between the devices A and B using Equation 4 below from the public key r A P sent from the device A, the pseudo-public key P PUB  published in the center, and the private key r B  of the device B. 
 
 K   AB   =e ( r   B   P, P   PUB ) rA   Eq. 3 
 
 K   AB   =e ( r   A   P, P   PUB ) rB   Eq. 4 
 
         [0057]     Since Equations 3 and 4 are equal to each other due to the properties of the bilinear map, the common key K AB  between the devices A and B is generated. Thus, the key K AB  is shared between the devices A and B.  
         [0058]     A procedure for shifting from bipartite key agreement between the devices A and B to tripartite key agreement between the devices A, B, and C (i.e., the processing from steps  34  to  37 ) now will be described.  
         [0059]     In step  34 , a public key r C P of a new device C is sent to the devices A and B. First, the device C randomly selects a random number r C εZ q * to set a private key r C . Then, the device C computes the public key r C P (where P denotes the parameter published in the center) and sends the public key r C P to the devices A and B.  
         [0060]     In step  35 , the public key r A P is sent from the device A to the device C, and, in step  36 , the public key r B P is sent from the device B to the device C. That is, the public keys r A P and r B P of the devices A and B published in steps  31  and  32  are sent to the new device C.  
         [0061]     In step  37 , a common key K ABC  is generated by the devices A, B, and C, and these three devices agree on a key. The device A computes the common key K ABC  between the devices A, B, and C using Equation 5 below from the public key r B P sent from the device B, the public key r C P sent from the device C, and the private key r A  of the device A. The device B computes the common key K ABC  between the devices A, B, and C using Equation 6 below from the public key r A P sent from the device A, the public key r C P sent from the device C, and the private key r B  of the device B. The device C computes the common key K ABC  between the devices A, B, and C using Equation 7 below from the public key r A P sent from the device A, the public key r B P sent from the device B, and the private key r C  of the device C. 
 
 K   ABC   =e ( r   B   P, r   C   P ) rA   Eq. 5 
 
 K   ABC   =e ( r   A   P, r   C   P ) rB   Eq. 6 
 
 K   ABC   =e ( r   A   P, r   B   P ) rC   Eq. 7 
 
         [0062]     Since Equations 5 to 7 are equal to each other due to the properties of the bilinear map, the common key K ABC  between the devices A, B, and C is generated. Thus, the key K ABC  is shared between the devices A, B, and C.  
         [0063]     With the use of the key agreement method according to the embodiment of the present invention, the private keys r A  and r B  and the public keys r A P and r B P, which are generated for bipartite key agreement between the devices A and B, also can be used for tripartite key agreement, thereby reducing the load of reconfiguring the private keys and public keys of the devices A and B.  
         [0064]     Steps  31  to  37  may be performed in different sequences, and the sequence is not limited to that shown in  FIG. 3 . For example, whenever and whichever of the parties first performs the processing of exchanging public keys (steps  31  and  32 ), the processing of generating a common key between two parties (step  33 ) may be performed at any time after the public keys are exchanged, and there are no further limitations. Furthermore, for example, whenever and in whichever sequence the processing of exchanging public keys (steps  31 ,  32 ,  34 ,  35 , and  36 ) is performed, the processing of generating a common key between three parties (step  37 ) may be performed at any time after the public keys are exchanged, and there are no further limitations. The same applies to the flows and steps shown in FIGS.  4  to  8  below.  
         [0065]      FIG. 4  is a flow diagram showing the operation of the devices A and C in the method shown in  FIG. 3 . The operation of device B is similar to that of device A and is thus omitted. The steps shown in the flow diagram of  FIG. 4  may be performed automatically by building those steps into a program and storing the program in an information storage medium.  
         [0066]     First, the operation of device A will be described. The device A sends the public key r A P to the device B (step  41 ) and receives the public key r B P from the device B (step  42 ) to generate the common key K AB  between the devices A and B (step  43 ). The common key K AB  is generated in the above-described manner by computation from the private key (e.g., r A ) of one of the devices, the public key (r B P) of the other device, and the pseudo-public key (P PUB ).  
         [0067]     Then, bipartite key agreement between the devices A and B is shifted to tripartite key agreement between the devices A, B, and C. The device A receives the public key r C P from the device C (step  44 ) and sends the public key r A P of the device A to the device C (step  45 ). The device A generates the common key K ABC  between the devices A, B, and C from the private key r A  of the device A, the public key r B P of the device B, and the public key r C P of the device C (step  47 ). The shifting from bipartite key agreement between the devices A and B to tripartite key agreement between the devices A, B, and C is thus completed.  
         [0068]     Next, the operation of device C will be described. The device C sends the public key r C P of the device C to the device A (step  44 ′) and receives the public key r A P from the device A (step  45 ′). The device C also receives the public key r B P from the device B (step  46 ′). The device C generates the common key K ABC  between three parties from the public key r A P of the device A, the public key r B P of the device B, and the private key r C  of the device C (step  47 ′). The shifting from bipartite key agreement between the devices A and B to tripartite key agreement between the devices A, B, and C is thus completed.  
         [0069]      FIG. 5  is a schematic diagram showing another exemplary method for shifting from two-device key agreement to three-device key agreement. The difference from the method shown in  FIG. 3  is that the devices A, B, and C use broadcast communication channels. That is, in  FIG. 5 , the data sent from the device A is distributed via broadcast communication to other devices (i.e., the devices B, C, and D).  
         [0070]     In step  51 , the devices A and B publish public keys r A P and r B P, respectively. The device A randomly selects a random number r A εZ q * to set a private key r A . Thereafter, the device A computes the public key r A P (where P denotes the parameter published in the center) and publishes the public key r A P. The device B also randomly selects a random number r B εZ q * to set a private key r B . Thereafter, the device B computes the public key r B P (where P denotes the parameter published in the center) and publishes the public key r B P. Since the public keys r A P and r B P are distributed via broadcast communication, for example, the public key r A P sent from the device A can be received by all other devices (i.e., the devices B to D) shown in  FIG. 5 .  
         [0071]     In step  52 , a common key K AB  between two parties is generated by the devices A and B. The device A computes the common key K AB  between the devices A and B using Equation 3 above from the public key r B P distributed via broadcast communication, the pseudo-public key P PUB  published by the center, and the private key r A  of the device A. The device B also computes the common key K AB  between the devices A and B using Eq. 4 above from the public key r A P distributed from the device A, the pseudo-public key P PUB  published by the center, and the private key r B  of the device B.  
         [0072]     As discussed above, since Eqs. 3 and 4 are equal to each other due to the properties of the bilinear map, the common key K AB  between the devices A and B is generated. Thus, the key K AB  is shared between the devices A and B.  
         [0073]     The devices C and D are allowed to receive the public keys r A P and r B P, and they are able to send encrypted data to the device A or B. However, they are not able to decrypt information because no private key has been set and no public key has been generated based on the private key. At the stage of step  52 , therefore, key agreement is achieved between only the devices A and B.  
         [0074]     A procedure for shifting from bipartite key agreement between the devices A and B to tripartite key agreement between the devices A, B, and C now will be described.  
         [0075]     In step  53 , the device C publishes a public key r C P. The device C randomly selects a random number r C εZ q * to set a private key r C . Thereafter, the device C computes the public key r C P (where P denotes the parameter published in the center) and publishes the public key r C P. Since the public key r C P is distributed via broadcast communication, it can be received by all other devices (in the example shown in  FIG. 5 , the devices A, B, and D).  
         [0076]     In step  54 , a common key K ABC  between three parties is generated by the devices A, B, and C. The device A computes the common key K ABC  between the devices A, B, and C using Equation 5 above from the public keys r B P and r C P distributed via broadcast communication and the private key r A  of the device A. The device B computes the common key K ABC  between the devices A, B, and C using Equation 6 above from the public keys r A P and r C P distributed via broadcast communication and the private key r B  of the device B. The device C computes the common key K ABC  between the devices A, B, and C using Equation 7 above from the public keys r A P and r B P distributed via broadcast communication and the private key r C  of the device C.  
         [0077]     As discussed above, since Equations 5 to 7 are equal to each other due to the properties of the bilinear map, the three-party common key K ABC  between the devices A, B, and C is generated. Thus, the key K ABC  is shared between the devices A, B, and C.  
         [0078]     Therefore, the key agreement method according to the embodiment of the present invention also can be applied to communication networks based on broadcast communication channels.  
         [0079]      FIG. 6  is a flow diagram showing the operation of the devices A and C in the method shown in  FIG. 5 . The operation of device B is similar to that of device A and is thus omitted. The steps shown in the flow diagram of  FIG. 6  may be performed automatically by building those steps into a program and storing the program in an information storage medium.  
         [0080]     First, the operation of device A will be described. The device A distributes the public key r A P via broadcast communication (step  61 ), and receives the public key r B P distributed from the device B via broadcast communication (step  62 ) to generate the common key K AB  between the devices A and B (step  63 ). The common key K AB  is generated in the above-described manner by computation from the private key (e.g., r A ) of one of the devices, the public key (r B P) of the other device, and the pseudo-public key (P PUB ).  
         [0081]     Then, bipartite key agreement between the devices A and B is shifted to tripartite key agreement between the devices A, B, and C. The device A receives the public key r C P from the device C (step  64 ) and generates the common key K ABC  between the devices A, B, and C from the public key r B P of the device B and the public key r C P of the device C (step  65 ). The shifting from bipartite key agreement between the devices A and B to tripartite key agreement between the devices A, B, and C is thus completed.  
         [0082]     Next, the operation of device C will be described. The difference from the flow of the device C shown in  FIG. 4  is that the device C receives the public key r A P of the device A and the public key r B P of the device B in advance (steps  61 ′ and  62 ′). In  FIG. 6 , the public key r A P of the device A and the public key r B P of the device B that are distributed via broadcast communication also can be received by the device C in advance.  
         [0083]     The device C sets the private key r C , generates the public key r C P, and distributes the public key r C P via broadcast communication (step  64 ′). Thereafter, the device C generates the common key K ABC  between three devices from the public key r A P of the device A and the public key r B P of the device B (step  65 ′). The shifting from bipartite key agreement between the devices A and B to tripartite key agreement between the devices A, B, and C is thus completed.  
         [0084]     In a communication network based on broadcast communication channels, therefore, in the case of shifting from two-device key agreement to three-device key agreement, a new device (in  FIG. 6 , the device C) is only required to distribute its public key r C P via broadcast communication to achieve three-device key agreement. With application to communication networks based on broadcast communication channels, therefore, the communication load can be reduced advantageously.  
         [0085]      FIG. 7  is a schematic diagram showing an exemplary method for shifting from three-device key agreement to two-device key agreement. In  FIG. 7 , as in  FIG. 5 , devices use broadcast communication channels. However, the present invention is not limited to a method for shifting from three-device key agreement to two-device key agreement based on broadcast communication channels, and the method based on communication between only target devices, as in  FIG. 3 , also may fall within the scope of the invention.  
         [0086]     In step  71 , the devices A, B, and C publish public keys r A P, r B P, and r C P, respectively. The device A randomly selects a random number r A εZ q * to set a private key r A . Thereafter, the device A computes the public key r A P (where P denotes the parameter published in the center) and publishes the public key r A P. The device B randomly selects a random number r B εZ q * to set a private key r B . Thereafter, the device B computes the public key r B P (P denotes the parameter published in the center) and publishes the public key r B P. The device C randomly selects a random number r C εZ q * to set a private key r C . Thereafter, the device C computes the public key r C P (P denotes the parameter published in the center) and publishes the public key r C P. Since the public keys r A P, r B P, and r C P are distributed via broadcast communication, the public keys r A P, r B P, and r C P can be received by all devices other than the sender.  
         [0087]     In step  72 , a common key K ABC  between three parties is generated by the devices A, B, and C. The device A computes the common key K ABC  between the devices A, B, and C using Equation 5 above from the public keys r B P and r C P distributed via broadcast communication and the private key r A  of the device A. The device B computes the common key K ABC  between the devices A, B, and C using Equation 6 above from the public keys r A P and r C P distributed via broadcast communication and the private key r B  of the device B. The device C computes the common key K ABC  between the devices A, B, and C using Equation 7 above from the public keys r A P and r B P distributed via broadcast communication and the private key r C  of the device C.  
         [0088]     As discussed above, since Equations 5 to 7 are equal to each other due to the properties of the bilinear map, the common key K ABC  between the devices A, B, and C is generated. Thus, the key K ABC  is shared between the devices A, B, and C.  
         [0089]     A procedure for shifting from tripartite key agreement between the devices A, B, and C to bipartite key agreement between the devices A and B now will be described.  
         [0090]     In step  73 , a common key K AB  between two parties is generated by the devices A and B. The device A computes the common key K AB  between the devices A and B using Equation 3 above from the public key r B P distributed via broadcast communication, the pseudo-public key P PUB  published by the center, and the private key r A  of the device A. The device B computes the common key K AB  between the devices A and B using Equation 4 above from the public key r A P sent from the device A, the pseudo-public key P PUB  published by the center, and the private key r B  of the device B.  
         [0091]     As discussed above, since Equations 3 and 4 are equal to each other due to the properties of the bilinear map, the common key K AB  between the devices A and B is generated. Thus, the key K AB  is shared between the devices A and B.  
         [0092]     In the foregoing description, tripartite key agreement between the devices A, B, and C is shifted to bipartite key agreement between the devices A and B. However, tripartite key agreement between the devices A, B, and C also may be shifted to bipartite key agreement between the devices A and C or between the devices B and C.  
         [0093]     In the case of shifting from three-device key agreement to two-device key agreement, the common keys K AB  and K ABC  exist. Thus, data transmission between three devices using the common key K ABC  is still active even after shifting from three-device key agreement to two-device key agreement.  
         [0094]     The method described above also can be applied when the devices A and B agree on a key (i.e., a common key K AB ), the devices A and C agree on a key (i.e., a common key K AC ), or the devices B and C agree on a key (i.e., a common key K BC ) in the state where three devices share the common key K ABC .  
         [0095]      FIG. 8  is a flow diagram showing the operation of devices A and C in the method shown in  FIG. 7 . The operation of the device B is similar to that of the device A, and is thus omitted. The steps shown in the flow diagram of  FIG. 8  may be performed automatically by building those steps into a program and storing the program in an information storage medium.  
         [0096]     First, the operation of the device A will be described. The device A distributes the public key r A P via broadcast communication (step  81 ) and receives the public keys r B P and r C P distributed from the devices B and C via broadcast communication (steps  82  and  83 ) to generate the common key K ABC  between the devices A, B, and C (step  84 ). The common key K ABC  is generated in the above-described manner by computation from the private key (e.g., r A ) of one the devices and the public keys (r B P and r C P) of the other two devices.  
         [0097]     Tripartite key agreement between the devices A, B, and C is shifted to bipartite key agreement between the devices A and B. The device A generates the common key K AB  between the devices A and B from the private key r A  of the device A and the public key r B P of the device B. The shifting from tripartite key agreement between the devices A, B, and C to bipartite key agreement between the devices A and B is thus completed.  
         [0098]     Next, the operation of device C will be described. The device C receives the public keys r A P and r B P distributed from the devices A and B via broadcast communication (steps  81 ′ and  82 ′) and distributes the public key r C P via broadcast communication (step  83 ′). The device C generates the common key K ABC  between the devices A, B, and C (step  84 ′).  
         [0099]     The shifting from tripartite key agreement between the devices A, B, and C to bipartite key agreement between the devices A and B is completed between the devices A and B. The common key K ABC  between the devices A, B, and C is still active even after the common key K AB  is generated by the devices A and B (step  85 ).  
         [0100]     It should be understood by those skilled in the art that various modifications, combinations, subcombinations and alterations may occur depending on design requirements and other factors insofar as they are within the scope of the appended claims or the equivalents thereof.