Cryptographic communication method and cryptographic communication device

Abstract: A cryptographic communication method comprises a step for carrying out cryptographic communication between a sending station (1A, 1B, 1C) and one or more receiving stations (2A, 2B, 2C) by using (1) a ciphertext (C) formed by encrypting a unit of sending information under the intervention of at least a cryptographic key (K) and (2) key-distribution-information (Y) produced by using at least the ciphertext (C), receiving station's public information, and randomized information (r, r1) generated in the sending station (1A, 1B, 1C).

Description: BACKGROUND OF THE INVENTION The present invention relates to a cryptographic communication method for communicating by using cryptography and a cryptographic communication device for implementing the method, and in particular to a cryptographic communication method and device for securely distributing a cryptographic key. Recently, many methods for protecting data with cryptography or authenticating the data have been researched and utilized for transmitting a data through an insecure communication path in which a third party can eavesdrop or alter a message. The cryptography is classified into two kinds: a common key cryptosystem and public key cryptosystem, In particular, public key cryptography is suitable for a key sharing protocol and a digital signature. For example, the Rivest Shamir Adleman (RSA) cryptosystem and the Diffic-Hellman (DH) cryptosystem are commomly known. When cryptographic communication is implemented by secret-key cryptosystem, a sender and a receiver have to share a common cryptographic key in advance. For sharing a common key, public key technique can be used. For example, the DII method ( W.Diffle & M.E. Hellman, "New Directions in Cryptography" IEEE Trans. on Information Theory, IT-22, 6, pp.644-645, June 1976 ) being popular is the oldest one. The DH method is a key distribution method between two users based on the difficulty of the disclete logarithm. That is, it is difficult to find an integer X for a given g, y and p, which satisfies the following equation. y = g x mod p (x and g are both integers) On the other hand, it is easy to calculate y for a given integers x, g, and p. After the DH method is proposed, many improved cryptographic key sharing methods have been proposed. For example, in some key distribution methods, a key to be shared changes every time or an authentication function for authenticating the sender is added. Moreover, methods in which a group of two or more persons can communicate among them by distributing a key have been proposed. PCT Application WO 84/00457 discloses a private communication system, which incorporates a random number generator for generating a specific key to be used during a specific interval of communication and which key is effective only after the verification of proper security data. Verification is accomplished during a preliminary operation of coding security data and a random number at one station and transmitting such data to another station for verification. In the operating sequence of the disclosed system, security data, as from an identification card or tag, along with a random number, is initially coded at a remote station and transmitted as preliminary data signals to a central station for decoding and verification. The random number is developed at the remote station and transmitted to the central station as part of the preliminary data signal for decoding and temporary registration. Upon verification of the security data, the random number functions as a key for coding means at both the remote and central stations for processing message data. Ito et al. proposed an improved key distribution method ( T.Ito, T.Habutsu, I.Sasase, S.Mori "One-Way Key Distribution System Based on Identification Information Without Public Information Directory", Lecture Notes No. A-283, pp.1-283, National Conference of the Institute of Electronics Information and Communication Engineers, March, 1990). This method has the following properties: authentication of the public key is provided. The key changes for each communication and the communication required for the key distribution is one-way from the sender to the receiver. The key distribution method realized in the one-way communication like the above proposition is suitable for a communication system in which the transmission delay is relatively large. Such a communication system is, for example, for an electronic mail system. Moreover, as mentioned in the Ito's paper, the one-way key distribution method might have an opportunity to be extended for sharing a key among three or more persons if the shared key depends only on random numbers generated by the sender. The Ito method is shown abstractly in Fig. 1. As shown in Fig. 1, a cryptographic key K is generated in a key generating section 111 of-a sending station 101 under the control of a random number r generated in a random number generating section 112. Then, a message M is encrypted under intervention of the cryptographic key K in an encrypting section 113. The encrypted message C is sent to a receiving station 102. Also, a unit of key-distribution-information Y is generated in a key-distribution-information generating section 114 by using both the random number r and the public information PK. The key-distribution-information Y is also sent to the receiving station 102. In the receiving station 102, the cryptographic key K is restored by using the key-distribution-information Y and secret information SK of the receiving station 102 in a key restoration section 115. Then, the encrypted message C is decrypted to provide the plain message M under intervention of the restored key K in a decrypting section 116. In the above configuration, when a key K is sent from the sender 101 to the receiver 102, the key-distribution-information Y must satisfy two functions as follows: A. an authentication function in which the receiver 102 can authenticate that the key-distribution-information Y has been positively sent from a first station ( that is, from the sender 101 ). B. a confidentiality function for reliably sending the key Y to a specific receiver only. Besides the Ito method, many types of key distribution methods which realizes the above two functions are available. For example, in the RSA cryptograph, the authentication function is embodied by the digital signature and the confidentiality function is realized by encryption. In more detail, by using a receiver encrypting function Er, a sender decryption function Ds, and a hash function h, the key distribution can be embodied. For example, the key-distribution-information Y is generated from the key K as shown by the following equation. Y = Er(K, Ds( h(K))) Where, the function Ds(h(K)) indicates the sender digital signature for the key. The receiver 102 who has already received the key-distribution-information Y decrypts the information Y by using his own decryptoin function Dr so that the key K and the sender digital signature are obtained as shown by the following equation: K,Ds(h(K)) = Dr(Y). Moreover, the receiver 102 confirms the signature by using a sender encrypting function Es. This method is used for sharing the key K between two persons. This method must be secure so long as the cryptographic key K will never be revealed to anyone else. However, in the above method, some attack will be successful in two cases as follows. A first case occurs when the used key K is revealed to a third party by some means after the cryptographic communication. That is, when an attacker knows the key-distribution-information Y, a encrypted mail C, and the cryptographic key K which is used for encrypting a message M to create the encrypted mail C, the attacker can encrypt a message M' by using the cryptographic key K to make a encrypted mail C', and then send both the information Y and the encrypted mail C' to the receiver 102. In this case, the receiver feels that the message M' has been sent from a true sender 101. A second case occurs when the above method is extended to a key distribution method implemented among three or more persons as follows. When defining a sender s and a plurality of receivers r1, r2,---, rj, the sender s prepares key-distribution-information Yi for the receiver ri by using an encryption function Eri of the receiver ri (i=1, 2, ---, j) as Yi = Eri(K,Ds(h(K))). Thereafter, the receiver ri, who has received the key-distribution-information Yi, recovers the cryptographic key K, while authenticating that the sender is the true sender s in the same manner as the key distribution between two persons. In this case, after the key distribution is carried out among a group of three or more persons, one of the receivers can impersonate the sender s to send a message M' to another receiver. Everyone belonging to the group can impersonate the sender s for the same reason as the first case because they know that the key corresponding to the key-distribution-information Yi (i=1, 2, ---, j) is K. SUMMARY OF THE INVENTION It is a first object of the present invention to provide a cryptographic communication method in which the sharing key is easily changed in contrast to the DH method so that the impersonation attack carried out by resending the key distribution information in the sharing key method between two persons or among three or more persons can be prevented. Also, it is a second object to provide a cryptographic communication device to implement the above method easily. The first object is achieved by the provision of a cryptographic communication method, comprising: carrying out cryptographic communication between a sending station (1A) and one or more receiving stations (2A) by using (1) a ciphertext (C) formed by encrypting plain sending information (M) by using at least a cryptographic key (K) and (2) key-distribution-information (Y) produced by using at least the ciphertext (C), receiving station public key information (pK), and randomized information (r) generated in the sending station (1A). Advantageously, the cryptographic communication method contains the features described in appended claim 2. The second object is achieved by the provision of a cryptographic communication device having the features described in claim 3. In the above configuration, as shown in Fig.2, a cryptographic key K is generated in a key generating section 15A of a sending station 1A under the control of random number r generated in a random number generating section 11A. Then, a message M is encrypted under intervention of the cryptographic key K in an encrypting section 17A. The encrypted message C is then sent to a key-distribution-information (Y) generating section 13A with both the random number r and the public information PK of a receiving station 2A to generate the key-distribution-information Y, while the encrypted message C is sent to the receiving station 2A. The key-distribution-information Y is sent to the receiving station 2A. In the receiving station 2A, the cryptographic key K is restored from the key-distribution-information Y by using the encrypted message C, and-secret information SK of the receiving station 2A in a key restoration section 25A. Then the encrypted message C is decrypted to provide the plain message M under the intervention of the restored key K in a decrypting section 27A. Accordingly, because the key K is generated under the control of the random number r when the key K is shared between a sender and a receiver, the shared key K is easily changed in each communication, while the key does not change in the original DH method. In addition, because the key K set up in a communication is dependent only on the random number generated by the sender, the key K is easily shared among three or more persons as described in an embodiment hereinafter. Moreover, because the key-distribution-information Y for sending the key K from the sender to the receiver depends on the message M, it is very difficult for a key-distribution-information (Y) accompanied with ciphertext (C) of message M to be reused to send another ciphertext (C) later. Consequently, the impersonation attack carried out by resending the key-distribution-information (Y) in the key distribution method among stations can be prevented in the present invention. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram of a conventional cryptographic communication system. Fig. 2 is a block diagram showing basically a first to an sixth embodiment according to the present invention. Fig. 3 is a block diagram showing basically a cryptographic communication system. Fig. 4 is a block diagram showing basically another cryptographic communication system. Fig. 5 shows schematically a cryptographic communication system of the first to sixth embodiments according to the present invention. Fig. 6 shows schematically the extended Fiat-Shamir method. Fig. 7 is a block diagram showing a key distribution procedure. Fig. 8 is a block diagram showing a key distribution procedure. Fig. 9 is a block diagram showing a key distribution procedure of a first embodiment according to the present invention. Fig. 10 is a block diagram showing a key distribution procedure of a second embodiment according to the present invention. Fig. 11 is a block diagram showing a key distribution procedure of a third embodiment according to the present invention. Fig. 12 is a block diagram showing a key distribution procedure of a fourth embodiment according to the present invention. Fig. 13 is a block diagram showing a digital signature procedure of a fifth embodiment according to the present invention. Fig. 14 is a block diagram showing a key distribution procedure of a sixth embodiment according to the present invention. DESCRIPTION OF THE SPECIFIC EMBODIMENT Preferred embodiments are described with reference to Fig. 5 to Fig. 14. A basic configuration of a cryptographic communication system common to all embodiments is described as follows with reference to Fig. 5. Fig. 5 shows schematically a cryptogra hic communication system of the first to sixth embodiments according to the present invention. As shown in Fig. 5, the cryptographic communication network system comprises a center for starting up the system and a plurality of stations U1 to Um which are provided corresponding to users 1 to m. Each station can be either a sending station or a receiving station as necessity requires. Each station Ui (i=1,---, m) is provided with an identification number IDi which is set to identify one station from the others in the network system. Si and Idi are unique to each other. Next, the processing carried out at the center and at each station Ui is explained. First, the production of a center key in the center is explained. The center key is made to prepare for the processing in each station Ui. ( Production of the center key ) In the center, two different large prime numbers p, q are generated, and then the product n = p·q and the value L = LCM((p-1),(q-1)) which is the least common multiple of (p-1) and (q-1) are calculated. Thereafter, an integral number g is chosen as to be a generator of both a Galois field GF(p) and a Galois field GF(q) as to the prime numbers p and q. Also, an integral number u which is relatively prime with the value L is decided as a public key of the center, and a secret key v of the center corresponding to the public key u is produced. The key v satisfies the following equation; u·v ≡ 1 ( mod L ). That is, the product u·v is congruent with 1 modulo the value L. In other words, the remainder provided by dividing the production u·v by the value L is equal to 1. Next, the production of each station key in the center is explained. ( Production of the station key ) In the center, a pair of keys di, Si are determined for the station Ui as follows, and the keys are issued to the station Ui. The key di differs from the public key u and is relatively prime with the least common multiple L, and each key di is selected to satisfy the following equation: di = dj when i = j. Thereafter, a secret key of the center ei is determined to satisfy the following equation: ei·di ≡ 1 ( mod L ). Then, the secret information Si for authenticating the station is determined by using the secret key v as follows and issued to each station Ui: Ii = h(IDi) mod n Si = Ii -v mod n. Where h() is a pseudo random function and the value n is a common modulus in the cryptographic communication system. Thereafter, public information Pi is determined by using modulo n, the predetermined values g, ei, and Si as follows: Pi = Si.g ei mod n. According to the above procedure for producing the center key and station key, the determined values are classified into the following three categories: (1) public information : u, g, n, h(), Pi(i=1,---, m) (2) center secret information : v, p, q, L, ei(i=1,---, m) (3) station secret information : di, Si. Where all of stations can be informed of the public information, only the center can be informed of the center secret information and it is kept a secret from each station, and only the center and the station Ui know the station secret information di, Si,which is kept a secret from the other stations. The station secret information di, Si is not required to be stored in the center after the information di, Si is issued to the station Ui. For example, the station secret information di, Si is stored in a secure memory medium and handed over to the station Ui. The concrete key distribution processing is embodied by using the public information and the information distributed to each station Ui prepared as described above. Now, before the specific description, an ID-based authentication method based on a zero-knowledge identification scheme which is closely related to the key distribution method according to the present invention will be described with reference to Fig. 6. As shown in Fig. 6, a protocol for communicating between two persons is described. The aim of the protocol is that a prover station 1 proves to a verifier station 2 that the station 1 is issued the secret information Si corresponding to the IDi from the center. According to the above protocol, if a third party eavesdrops on the communication between the prover station 1 and the verifier station 2, the eavesdropper can not know the secret information Si and the impersonation attack can not be carried out. As an example, one of the extended Fiat-Shamir method can be given. The method is described in the following literature: K.Ohta and T.Okamoto," A Modification of the Fiat-Shamir Scheme ", Crypto 88,Lecture Note on Computer Science, Springer Verlag pp.232-243. Also, as examples of the practical zero-knowledge identification protocol proposed until now, there are four typical method as follows: (1) Fiat-Shamir method A.Fiat and A Shamir," How to prove yourself : practical solutions to identification and signature problems ", Crypto 86, Lecture Note on Computer Science, Springer Verlag pp.116-194, (2) Extended Fiat-Shamir method 1 K.Ohta and T.Okamoto," A Modification of the Fiat-Shamir Scheme ", Crypto 88,Lecture Note on Computer Science, Springer Verlag pp.232-243, (3) Extended Fiat-Shamir method 2 K.Ohta " Authentication Method Based on ID Utilizing RSA Cryptograph and the Application of the Method ", Pres. of the eleventh symposium on information theory and its application, pp.567-572, December, 1988, and (4) Beth method T.Beth," Efficient zero-knowledge identification scheme for smart cards, Eurorypt", 88, Lecture note on Computer Science, Springer Verlag pp.232-243. In each protocol, there are three types of usage as follows: (a) sequential version, (b) parallel version, and (c) non-interactive version. A detailed explanation for each version is omitted. The explanation for the configuration based on the extended Fiat-Shamir method 1 is made with reference to Fig. 6. Fig. 6 shows the outline of the protocol in which the prover station 1 (designated by U1) authenticates the possession of the station secret information Si to the verifier station 2 (designated by U2). Here, the processing in the prover station 1 is designated as U1 : {processing}. The transmission of the information from the prover station 1 to the verifier station 2 is designated as follows: U1 → U2 : {information}. In addition, the other notation is used for the following embodiments as {number} : {processing}. Where number means the step of the processing. ( Authentication protocol based on the extended Fiat-Shamir method 1 ) Generating a random number R and calculating information X as follows: U1 : X = R u mod n ---( step 601 ) U1 → U2 : ID1, X ---( step 602, 603 ) U2 : generating a random number E ---( step 604 ) U2 → U1 : E ---( step 605 ) Calculating information Y as follows: U1 : Y = R·S1 E mod n ---( step 606 ) U1 → U2 : Y ---( step 607 ) Calculating X0 as follows: U2 : X0 = Y u · I1 E ---( step 608 ) X0 is compared with X and the verifier station 2 authenticates the sender as the true prover station 1 if X0 is equal to X. If XO is not equal to X, the verifier station 2 does not authenticate the sender as the true prover station 1. ---( step 609 ) Now, a method and a device for distributing a key are described with reference to Fig. 7 after the above preparation based on the conventional step. In the following description, the key distribution is described between the prover and the verifier in all embodiments for the sake of convenience. The procedure of the method for sharing the key is as follows. U1 : Obtaining public information P2 of the verifier station 2 ---( step 701 ) Generating a random number r ( 1 ≤ r ≤ n-1 ) ---( step 702 ) Calculating a new random number R by using an identification number ID2 of the verifier station 2a and the public information P2 as follows: R = (P2 u ·ID2) r mod n ---( step 703 ) Calculating the information X by using the new random number R as follows: X = R u mod n. ---( step 704 ) Producing a key K by using the random number r as follows K = g u·u·r mod n ---( step 705 ) Sending the identification number ID1 of the prover station la and the information X to the verifier station 2a as follows: U1 → U2 : ID1, X ---( step 706, 707 ) U2 : generating a random number E ---( step 708 ) U2 → U1 : E ---( step 709 ) Calculating the information Y by using the secret information S1 of the prover station 1a and the random number R as follows: U1 : Y = R·S1 E mod n ---( step 710 ) U1 → U2 : Y ---( step 711 ) Calculating the information X0 as follows: U2 : X0 = Y u ·I1 E mod n ---( step 712 ) Comparing X0 with X ---( step 713 ) If X0 is not equal to X, a verifier station 2a does not authenticate a sender as a true prover station la and the processing in the verifier station 2a is stopped. If X0 is equal to X, the verifier station 2a authenticates the sender as the true prover station la and the key k is produced by using the information X and a secret key d2 of the verifier station 2a as follows: K = X d 2 mod n. ---( step 714 ) Accordingly, because the key-distribution-information Y is generated dependent on the random number E generated in the verifier station 2a, it is very difficult for an eavesdropper to reuse the information Y for an impersonation attack. Also, in the above method, because the communication from the receiver to the sender is included in the protocol, the method is not suitable for a non real time communication Next, another method and a device for sharing a common key are described with reference to Fig. 8. As shown in Fig. 8, the procedure of the key sharing method is as follows. (the processing in the prover station 1b) 1. Obtaining the public information P2 of a verifier station 2b ---( step 801 ) Generating a random number r (1 ≤ r ≤ n-1) ---( step 802 ) Calculating a new random number R by using an identification number ID2 of the verifier station 2b, the public information P2, and the random number r as follows: R = (P2 u · ID2) r mod n ---( step 803 )Calculating the information X by using the new random number R as follows: X = R u mod n ---( step 804 )Producing a key K by using the random number r as follows K = g u · u · r mod n ---( step 805 ) 2. Calculating the key-distribution-information E by using the time information t and the information X as follows E = f(X, t) ---( step 806 ) 3. Calculating information Y by using the secret information S1 of the prover station 1a and the random number R as follows: Y = R · S1 E mod n ---( step 815 ) 4. Sending ID2b, E, Y, t to the verifier station 2b ---( step 807, 808, 809, 810) ( Processing in the verifier station 2b) 5. Calculating X0 as follows X0 = Y u · I1 mod n ---( step 811 ) 6. When the difference between the time t and a time t' of a clock in the verifier station 2b is greater than a prescribed difference, the processing is stopped. On the other hand, when the difference is within the difference, E0 is calculated as follows: E0 = f(X, t). --- ( step 812 ) 7. When E is not equal to E0, the verifier authenticates that the communication has not been carried out with the prover station 1b and stops the processing. On the other hand, when E is equal to E0, the verifier authenticates that the communication has been carried out with the prover station 1b and carries out the next processing step. ---( step 813 ) 8. Generating K by using X0 and a secret key d2 of the verifier station 2b as follows. K = X d 2 mod n ---( step 814 ) The above method is a digital signature in the Fiat-Shamir method in which the key-distribution-information E, Y depend on the time t. Accordingly, the verifier station 2b can authenticate that the key-distribution-information E, Y is produced at the time t in the prover station 1b. Also, because the key-distribution-information E, Y is valid in the condition that the information E, Y is used in combination with the time information t, the impersonation attack on the prover station 1b is prevented even if the attacker tries to abuse the information E, Y. The effect that the impersonation attack is prevented in this method is valid in a communication system in which the difference between the sending time t and the receiving time t' is small enough. On the other hand, the effect of the above method is reduced in a communication system in which the difference between the sending time t and the receiving time t' is large. In other words, the effect of the above method is reduced in a communication system in which the transmission delay is large. However, there are many communication system such as telephone system in which the transmission delay is small. Therefore, the method and the device of the second embodiment are applicable to practical use. Next, a method and a device for authenticating a sender by using the extended Fiat-Shamir method 2 as a first embodiment according to the present invention are described with reference to Fig. 9. Hereinafter, the encryption procedure for producing a ciphertext C from a message M by using a cryptographic key K is represented by C = eK(M). On the other hand, the decryption procedure for generating the message M from the ciphertext C by using the cryptographic key K is represented by M = dK(C). First, the processing in a prover station 1c is described. ( Processing in the prover station 1c) 1. Obtaining the public information P2 of a verifier station 2c ---( step 901 ) 2. Generating a random number r (1≦r≦n-1), and calculating a random number R as follows: R = (P2 u · I2) r mod n ---( step 902 ) calculating the key sharing information X as follows: X = R u mod n ---( step 903 ) calculating the cryptographic key K as follows: K = g u · u · r mod n ---( step 904 ) 3. Producing a ciphertext C from a message M by using the key K as follows: C = eK(M) ---( step 905 ) 4. Calculating E as follows: E = f(X, C) ---( step 906 ) 5. Calculating additional key-distribution-information Y as follows Y = R E · S1 mod ---( ( step 907 ) 6. Sending ID1c, C, X, and Y to the verifier station 2c ---( step 908, 909, 910, 911) Next, the processing in the verifier station 2c is described. (the processing in the verifier station 2c) 1. calculating Z as follows: Z = Y u · I1 mod ---( ( step 912 ) 2. calculating E0 as follows: E0 = f(X, C) --- ( step 913 ) 3. calculating Z0 as follows: Z0 = X E⊘ mod n ---( step 914 ) 4. When Z is not equal to Z0, the verifier authenticates that the communication has not been carried out with the prover station 1c and stops the processing. On the other hand, when Z is equal to Z0, the verifier authenticates that the communication has been carried out with the prover station 1c and proceeds to the next processing step. ---( step 915 ) 5. Producing K from X by using a secret key d2 of the verifier station 2c as follows. K = X d 2 mod n ---( step 916 ) 6. Obtaining the message M as follows M = dK(C) ---( step 917 ) The key-distribution-information X, Y is an extended Fiat-Shamir signature for the ciphertext C in the above embodiment. Accordingly, even if a ciphertext C', which differs from the true ciphertext C, is forged and sent to the verifier with the key-distribution-information X, Y by a third party to impersonate a true sender, the communication between the impersonator and the verifier is rejected by the verifier in the signature confirmation procedure because the signatures X, Y are not corresponding signatures for the forged ciphertext C', but the true ciphertext C. Therefore, the impersonation attack ends in failure. The above method is realized by using the extended Fiat-Shamir method 2. However, the method can be also realized by the Fiat-Shamir method or the extended Fiat-Shamir method 1. Next, a method and a device for authenticating a sender by using the extended Fiat-Shamir method 1 as a second embodiment according to the present invention are described with reference to Fig. 10. First, the procedure in a prover station 1d is described. ( Procedure in the prover station 1d) 1. Obtaining public information P2 of a verifier station 2d ---( step 1001 ) 2. Generating a random number r (1 ≦ r ≦ n-1), and calculating a random number R: R = (P2 u · I2) r mod n ---( step 1002 ) calculating the key-distribution-information X as follows: X = R u mod n ---( step 1003 ) calculating a cryptographic key K as follows: K = g u·u·r mod n ---( step 1004 ) 3. Producing a ciphertext C from a message M by using the key K as follows: C = eK(M) ---( step 1005 ) 4. Calculating E as follows: E = f(X, C) ---( step 1006 ) 5. Calculating additional key-distribution-information Y as follows Y = R · S1 E mod n ---( step 1007 ) 6. Sending ID1d, C, E, and Y to the verifier station 2d ---( step 1008, 1009, 1010, 1011) Next, the processing in the verifier station 2d is described. ( Processing in the verifier station 2d) 1. Calculating X0 as follows: X0 = Y u · I1 E mod n ---( step 1012 ) 2. Calculating E0 as follows: E0 = f(X0, C) ---( step 1013 ) 3. When X is not equal to X0, the verifier authenticates that the communication has not been carried out with the prover station 1d and stops the processing. On the other hand, when X is equal to X0, the verifier authenticates that the communication has been carried out with the prover station 1d and proceeds to the next processing step. ---( step 1014 ) 4. Producing K from X0 by using a secret key d2 of the verifier station 2d as follows. K = X d2 mod n ---( step 1015 ) 5. Obtaining the message M as follows M = dK(C) ---( step 1016 ) 6. The key-distribution-information E, Y is an extended Fiat-Shamir signature for the ciphertext C in the above embodiment. Accordingly, it is impossible to use the information E, Y with another ciphertext C' which differs from the true ciphertext C in the same manner as the first embodiment. Also, the amount of calculation in the both sending and receiving stations is almost the same as in the first embodiment. However, the key-distribution-information E is sent to the verifier station 2d at the step 1010 in the second embodiment, while the key-distribution-information X is sent to the verifier station 2c at the step 910 in the first embodiment. In general, the digit number of the value X is almost equal to the value of the modulus n. On the other hand, the digit number of the value E can be smaller than the value of the modulus n. Therefore, the amount of communication can be reduced in the second embodiment. The above method and device are realized by using the extended Fiat-Shamir method 1. However, the method can be also realized by the Fiat-Shamir method. Next, a method and a device in which the amount of processing or communication is reduced is described as a third embodiment according to the present invention with reference to Fig. 11. The third embodiment is a variation of the second embodiment. Therefore, the third embodiment can be embodied by using the extended Fiat-Shamir method 1 or the Fiat-Shamir method. First, the procedure in a prover station 1e is described. ( Procedure in the prover station 1e) 1. Obtaining public information P2 of a verifier station 2e ---( step 1101 ) 2. Generating a random number r (1≦r≦n-1), and calculating a random number R as follows: R = (P2 u · I2) r mod n ---( step 1102 ) calculating a cryptographic key K as follows: K = g u·u·r mod n ---( step 1103 ) 3. Producing a ciphertext C from a message M by using the key K as follows: C = eK(M) ---( step 1104 ) 4. Calculating E by using the key K and the ciphertext C as follows: E = f(K, C) ---( step 1105 ) 5. Calculating additional key-distribution-information Y by using the secret information S1 and the random number R as follows: Y = R·S1 E mod n ---( step 1106 ) 6. Sending ID1e, C, E, Y to the verifier station 2e ---( step 1107, 1108, 1109, 1110) Next, the processing in the verifier station 2e is described. ( Processing in the verifier station 2e) 1. Calculating X0 as follows: X0 = Y u · I1 E mod n ---( step 1111 ) 2. Producing K0 from X0 by using a secret key d2 of the verifier station 2e as follows. K0 = X0 d2 mod n ---( step 1112 ) 3. Calculating E0 as follows: E0 = f(K0, C) ---( step 1113 ) 4. When E is not equal to E0, the verifier authenticates that the communication has not been carried out with the prover station 1e and stops the processing. On the other hand, when E is equal to E0, the verifier authenticates that the communication has been carried out with the prover station 1e and proceeds to the next processing step. ---( step 1114 ) 5. Finding the message M as follows M = dK(C) ---( step 1115 ) Accordingly, because the information X produced in the prover station 1d at the second embodiment is omitted at the third embodiment, the amount of processing is reduced. The reduction is equivalent to one modular exponentiation calculation for multiple-length integral number. The amount of this calculation is generally large, therefore the processing time is effectively reduced. Because X is not sent to the receiver, the information E is produced by the receiver from the the key K and the ciphertext C. By taking account of K = X B mod n, the value E is rewritten as follows: E = f(K, C) = f(X B mod n, C) =f ⊘ (X, C) where f ⊘ () is an one-way function. Therefore, the security of this method is the same as in the second embodiment. In the above mentioned embodiments from the first to the third, the key-distribution-information is produced to depend on the ciphertext C. However, even if the information is modified to depend on the message M, the impersonation attack carried out by resending the key-distribution-information is prevented in the similar manner as those embodiments. For example, in the third embodiment, it is possible that the processing in the prover station le at the step 1105 be modified to the processing E = f(K, M) though the corresponding modification of the procedure for the processing in the prover station 1e is needed. However, as described in the third embodiment, the configuration in which the key-distribution-information depends on the ciphertext C is superior to the other configuration in which the key-distribution-information depends on the message M. The reason is that the authentication of the true sender can be completed before decrypting the message M at the receiver (the verifier) in the former configuration. That is, the receiver can stop the processing before processing the useless decryption when a forged message M' is sent to the receiver. Next, a method and a device is described as a fourth embodiment according to the present invention with reference to Fig. 12. The fourth embodiment is the same as in the third embodiment in that the amount of processing or communication is reduced. The fourth embodiment is another variation of the second embodiment. Therefore, the fourth embodiment can be also embodied by using the extended Fiat-Shamir method 1 or the Fiat-Shamir method. First, the procedure in a prover station 1f is described. ( Procedure in the prover station 1f) 1. Obtaining public information P2 of a verifier station 2f ---( step 1201 ) 2. Generating a random number r (1≦r≦n-1) and calculating a random number R as follows: R = (P2 u ·I2) r mod n ---( step 1202 ) calculating a cryptographic key K as follows: K = g u·u·r mod n ---( step 1203 ) 3. Generating a ciphertext C as follows: C = eK(M) ---( step 1204-) 4. Calculating E as follows: E = f(C) ---( step 1205 ) 5. Calculating additional key-distribution-information Y as follows Y = R·S1 E mod n ---( step 1206 ) 6. Sending ID1f, C, and Y to the verifier station 2f ---( step 1207, 1208, 1209 ) Next, the processing in the verifier station 2f is described. ( Processing in the verifier station 2f) 1. Calculating E0 as follows: E0 = f(C) ---( step 1210 ) 2. Calculating X0 as follows: X0 = Y u ·I1 E⊘ mod n ---( step 1211 ) 3. Producing K0 from X0 by using a secret key d2 of the verifier station 2f as follows. K0 = X0 d 2 mod n --( step 1212) 4. Obtaining a message M0 as follows M0 = dK0(C) ---( step 1213) Accordingly, in the fourth embodiment, because the information X produced in the prover station le of the second embodiment is omitted, the information E can be omitted as the key-distribution-information while reducing the amount of processing. Therefore, the reduction in both the processing and the communication is embodied. Because X is not produced, the information E is generated from the ciphertext C. By taking account of C = eK(M), the value E is rewritten as follows: E = f(C) = f ⊘ (K, C) where f ⊘ is a one-way function. Therefore, the security of this method is the same as in the second embodiment if the correctness of the information E0 can be authenticated at the verifier station. Though the correctness of the information E0 is not conspicuously authenticated in the processing of the verifier station 2f, if the information E0 differs from the information E produced in the prover station 1f, the difference influences the decrypted message M0 so that the message M0 decrypted in the verifier station 2f at the step 1213 is not identical with the transmitted message M. This influence may be utilized to detect the malicious attack. For example, when the message M is in the Japanese language, the attack is detected because the series of letters is meaningless. In general, when a type of structural redundancy exists in the message M, the correctness of the information E0 can be confirmed by confirming the existence of the redundancy in the decrypted message M0. That is, the prover station can be authenticated. If the structural redundancy should not exist in the message M, the redundancy can be added artificially. For example, a message authentication code, so-called MAC can be utilized as one method for adding the redundancy to the message M. In the methods described in the first to fourth embodiments, the digital signature method based on the non-interactive version of the zero-knowledge identification protocol is utilized as the sender authentication mechanism so that the method can be utilized as the digital signature method. Therefore, the digital signature method with confidentiality will now be described as a fifth embodiment with reference to Fig.13. The fifth embodiment is embodied by slightly modifying the first embodiment. ( Digital signature with confidentiality ) 1. A prover station 1g produces a ciphertext 1 in the similar manner as in the third embodiment as follows: C = eK(M ∥ h(K ∥ M)), where the symbol ∥ represents concatenation of two strings. 2. The prover station 1g sends the following digital signature sentence 1 to a verifier station 2g: sentence 1 : (ID1g, ID2g, C, E, Y), ---( step 1301) where the information Y, E is produced in the same manner as the third embodiment. 3. The verifier station 2g produces a key k by using a secret key d2 in the same manner as in the third embodiment, and confirms that the message M has a prescribed structure (M ∥ h(K ∥ M)) after decrypting the ciphertext C by using the cryptographic key K. ---( step 1302) 4. The verifier station 2g discloses the following digital signature sentence 2 to the other station 3 when the signature has to be confirmed by the station 3: sentence 2 : (ID1g, C, E, Y, K). ---( step 1303) 5. The station 3 confirms the signature 2 according to the following judgement. ---( step 1304) 5-1. The information X0, E0 is calculated as follows: X0 = Y u · I1 E mod n E0 = f(X0, C) 5-2. If E is equal to E0, the procedure goes on to the next step. If E is not equal to E0, the station 3 judges that the signature sentence 1 has not been sent from the prover station 1g before stopping the processing. 5-3. The station 3 confirms that, after obtaining the message M0 = dK(C), the decrypted message M0 has the prescribed structure (M || h(K || M)). If the message M0 has no prescribed structure, the station 3 judges that the signature sentence 1 has not been sent from the prover station 1g before stopping the processing. If the message M0 has the prescribed structure, the station 3 judges that the signature sentence 1 has been sent from the prover station 1g. Accordingly, the signature sentence 1 can be authenticated only by the verifier station 2g so that the other station 3 can not authenticate the signature sentence 1 unless the right key K is disclosed or before step 1304. Therefore, when both the prover and verifier stations 1g, 2g keep a secret of the key K, those station can prevent a third party from running away with the signature sentence 1 without authorization. Also, the significant feature in the above mentioned digital signature is as follows. The first feature is that the signature portion is the Fiat-Shamir type of mechanism. The second feature is that only a specific person ( that is, the verifier station 2g in this embodiment) can authenticate the digital signature. The third feature is that the specific person is the first to be able to read the message M. The fourth feature is that anyone can confirm the signature sentence if the verifier station 2g authenticates the message M and the signature 1 and discloses the key K. Because the signature sentence 2 being public with the right key K can be authenticated by anyone, the function of specifying the producer of the message M exists in the fifth embodiment in the same manner as in the conventional system. In the above all embodiments for distributing the key, the zero-knowledge identification protocol is utilized as the basic mechanism. However, the present invention can be utilized for preventing a replay attack in the key distribution utilizing the generally public key cryptosystem. Therefore, a sixth embodiment utilizing the RSA crypto system ( R. L. Rivest, et.al, "A Method for Obtaining Public-Key Crypto Systems and Digital Signatures", Comm. of ACM, pp.120-126, Feb. 1978 ) which is the representative public key cryptosystem, will now be described with reference to Fig. 14. In the sixth embodiment, a public key of a arbitrary station is assumed to be registered in a special directory in which the key can not be falsified for simplicity. Symbols are defined as follows: Encryption procedure using a public key of a station i : C = PKi(M) = M A i mod n i Decryption procedure using a secret key of a station i : M = SKi(C) = C B i mod n i Next, the processing in a prover station 1h is described. ( Processing in the prover station-1h ) 1. Generating a random number K and setting the number to a key K ---( step 1401 ) 2. Encrypting a message M by using the key K as follows: C = eK(M) ---( step 1402 ) 3. Calculating the hash value H of C and K as follows H = f(C, K) ---( step 1403 ) 4 Calculating the key-distribution-information Y at a ciphertext with signature producing section as follows Y = PK2 (SK1(ID1 ∥ K ∥ H)) ---( step 1404 ) 5. Sending an identification number ID1h, a ciphertext C, and the information Y to a verifier station 2h ---( step 1405, 1406, 1407 ) Next, the processing in a verifier station 2h is described. ( Processing in the verifier station 2h ) 1. Obtaining the decrypted information Z at a decryption section as follows: Z = PK1(SK2(Y)) ---( step 1408 ) The verifier station 2h confirms that the number ID1h is included in the decrypted information Z according to a prescribed form. If the number ID1h is not included in the decrypted information Z, the processing is stopped. 2. Taking out the key K and the hash value H, and calculating as follows: H0 = f(C, K) ---( step 1409 ) 3. Confirming that the calculated hash value H0 is identical with the hash value H ---( step 1410 ) If H0 is not identical with H, the processing is stopped. Otherwise, the processing proceeds to the next step. 4. decrypting the ciphertext C by using the key K obtained at the step 1409 as follows: M = dK(C) ---( step 1411 ) In the above mentioned embodiment, the key-distribution-information is the signature of the sender for the ciphertext C in the similar manner as in the first to fourth embodiments when the key distribution method is carried out between two persons. Accordingly, it is difficult for the key-distribution-information produced for some ciphertext C to be utilized by combining with the other ciphertext C'. That is, the sixth embodiment is effective for preventing an impersonation attack. By using this embodiment, because the same key K can be securely sent to a plurality of receivers. Thus, the same key K is shared among a group of three or more persons. For example, when a plurality of receivers 2, 3,---, k exist for a single sender 1, the sender 1 can send the ciphertext C to the all receivers according to the procedure in which the message is sent to a receiver i (i = 2, 3, ---, k) by using the public information Pi of the receiver i in the same manner as in the communication between two persons. In this case, because the key K being common for all receivers can be sent, the procedure for encrypting the message M is performed only once. Therefore, the time-consuming procedure for encrypting the message M is reduced to 1/(k-1) compared with the procedure in which the key sharing between two persons is repeated ( k-1) times. Moreover, since the key-distribution-information depends on the ciphertext C, it is difficult for the receiver 2 to impersonate the sender 1 to send the other ciphertext C' to the other receiver 3 after the receiver 2 shares the key K among the group. Though the sixth embodiment is described as to utilize the RSA crypto system, a new key distribution is embodied in the same manner as in the sixth embodiment if a public key cryptosystem which can realize both confidentiality and the digital signature are given. To conclude, the sharing key is easily changed in all of the above embodiments as compared with the DH method. And, an impersonation attack can be prevented when the key is shared between two persons or among three or more persons, while the attack can be carried out by resending the message in the conventional method. The impersonation attack can be prevented even in a non real time communication by adopting some methods according to the present invention and in a real time communication by adopting the other methods according to the present invention, while the key is easily shared between two persons or among three or more persons.

Claims: A cryptographic communication method, comprising: carrying out cryptographic communication between a sending station (1A) and one or more receiving stations (2A) by using a ciphertext (C) formed by encrypting plain sending information (M) by using at least a cryptographic key (K) and key-distribution-information (Y) produced by using randomized information (r) generated in the sending station (1A), characterized in that said key-distribution-information (Y) is further produced by using at least the ciphertext (C) and receiving station public key information (PK). A cryptographic communication method according to claim 1, wherein said cryptographic key (K) is made based on a random number (r) made in the sending station (1A); said ciphertext (C) and the key-distribution-information (Y) are sent to the one receiving station (2A); said cryptographic key (K) in the one receiving station (2A) is restored by using the received key-distribution-information (Y) and at least the ciphertext (C) and secret key information (SK) held in the one receiving station (2A); and said received ciphertext (C) in the one receiving station (2A) is decrypted by using the cryptographic key (K) to obtain the plain sending information (M) sent by the sending station (1A). A cryptographic communication device for: carrying out cryptographic communication among a plurality of stations interconnected through a communication network; transmitting a pair of public and secret key information to each station; and distributing a ciphertext (C) and key-distribution-information (Y) from a sending station (1A) to one or more receiving stations (2A) among several stations comprising: random number generation means (11A) for generating a random number (r) in a sending station (1A); key-distribution-information production means (13A) for producing the key-distribution-information (Y) from at least the random number (r) generated in the random number generation means (11A); encryption means (17A) for encrypting plain sending information (M) into the ciphertext (C) by using a key information (K); key information restoration means (25A) for restoring the key information (K) in the receiving station (2A) recovered from the key-distribution-information (Y) produced in the key-distribution-information production means; and decrypting means (27A) for decrypting the ciphertext (C) to the plain sending information (M) in the receiving station (2A) by using the key information (K) restored in the key information restoration means (25A) and key information production means (15A) for producing said key information (K) formed by the random number (r) generated in the random number generation means (11A) in the sending station (1A); characterized by said key-distribution-information production means (13A) being connected to a source of public key information (PK) relating to the receiving station (2A) for receiving said public key information and being connected to the encryption means (17A) for receiving the ciphertext (C); and said key information restoration means (25A) being connected to a source of secret key information (SK) of the receiving station (2A) and being set so as to receive the ciphertext (C) from the encryption means (17A).

Inventors: KAWAMURA SHINICHI, SHIMBO ATSUSHI, KAWAMURA, SHINICHI, SHIMBO, ATSUSHI
Applicants: TOSHIBA KK, KABUSHIKI KAISHA TOSHIBA
Application year: 1991
Main classification: H04L9
IPC codes: H04L9