WO2016114259A1 - 鍵交換方法、鍵交換システム、鍵装置、端末装置、およびプログラム - Google Patents

鍵交換方法、鍵交換システム、鍵装置、端末装置、およびプログラム Download PDF

Info

Publication number
WO2016114259A1
WO2016114259A1 PCT/JP2016/050695 JP2016050695W WO2016114259A1 WO 2016114259 A1 WO2016114259 A1 WO 2016114259A1 JP 2016050695 W JP2016050695 W JP 2016050695W WO 2016114259 A1 WO2016114259 A1 WO 2016114259A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
terminal device
public key
result
random number
Prior art date
Application number
PCT/JP2016/050695
Other languages
English (en)
French (fr)
Inventor
彰 永井
恆和 齋藤
鉄太郎 小林
Original Assignee
日本電信電話株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 日本電信電話株式会社 filed Critical 日本電信電話株式会社
Priority to CN201680005046.XA priority Critical patent/CN107113168B/zh
Priority to JP2016569359A priority patent/JP6594348B2/ja
Priority to US15/542,538 priority patent/US10419213B2/en
Priority to EP16737330.7A priority patent/EP3232603B1/en
Publication of WO2016114259A1 publication Critical patent/WO2016114259A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0894Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage
    • H04L9/0897Escrow, recovery or storing of secret information, e.g. secret key escrow or cryptographic key storage involving additional devices, e.g. trusted platform module [TPM], smartcard or USB
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3093Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/04Masking or blinding
    • H04L2209/046Masking or blinding of operations, operands or results of the operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Definitions

  • the present invention relates to an application technology in the field of information security, and more particularly to a cloud key management type key exchange technology.
  • Patent Document 1 describes a proxy calculation technique. Proxy calculation refers to entrusting some calculation to another device.
  • a well-known proxy calculation is to request a device having a decryption function to decrypt a ciphertext and obtain a plaintext. For example, assume that the client holds a ciphertext C obtained by encrypting plaintext m with the public key y, and the key device holds a secret key s for the public key y. The client transmits the ciphertext C to the key device, and the key device decrypts the ciphertext C with the secret key s corresponding to the public key y to obtain the plaintext m and returns it to the client.
  • proxy calculation (1) lack of computing power and function that the client should possess, (2) leakage of confidential information necessary for the client to execute the function (for example, in a normal configuration not using proxy calculation, the secret (The key must be managed by the client itself, and the secret key may be leaked from the client.), (3) Unauthorized use due to loss or theft of the device owned by the client (for example, the key device revokes the secret key)
  • the decryption function of the client can be stopped and unauthorized use can be prevented.
  • Non-patent documents 1 and 2 describe key exchange technology.
  • Key exchange is a method for two clients to securely exchange (share) keys using a public communication channel.
  • a specific example of key exchange is a DHM (Diffie-Hellman-Merkle) key exchange method.
  • DHM Diffie-Hellman-Merkle
  • a random number is used in the DHM key exchange method, key management is not required and safety is improved.
  • key exchange methods while authenticating the key sharing partner include authentication key exchange using digital signatures, MQV (Menezes-Qu-Vanstone) authentication key exchange, HMQV (Hashed MQV) authentication key exchange (not above) Patent Document 1), FSU authentication key exchange (see Non-Patent Document 2), and the like.
  • Patent Document 2 describes a self-correction technique.
  • Self-correction is a technique that always performs correct calculations using a computer or system that does not always output correct calculation results. More specifically, when using a computer that outputs the correct calculation result, the correct calculation result is output, and when using a computer that does not necessarily output the correct result, the correct calculation result or a result indicating that the calculation cannot be performed. Is a technology to output.
  • the key device can acquire a shared key that only the client should know, and encryption between clients The communication can be deciphered. Specifically, since the client u 1 transmits the public key of the client u 2 as it is to the key device, the key device can know that the client u 1 and the client u 2 are about to exchange keys. Then, the key device can calculate the shared key by using the secret key of the client u 1 and the public key of the client u 2 that has been made public or transmitted.
  • an object of the present invention is to provide a key exchange technique in which a key device cannot calculate a shared key and can confirm that a client has been correctly processed by a correct key device. That is.
  • the key exchange method of the present invention uses s 1 and s 2 as prime random numbers, and s ' 1 and s' 2 as random numbers satisfying a predetermined relationship with the random numbers s 1 and s 2
  • the secret key of the terminal device is stored in the storage unit of the key device, and the terminal device generates a random number s 1 , s 2 , s ′ 1 , s ′ 2 , and the terminal device,
  • the first randomized public key information obtained by randomizing the public key of the terminal device and the public key of the other terminal device using the random number s 1, and the public key of the terminal device and the public information of the other terminal device using the random number s 2
  • a public key randomizing step for generating second randomized public key information obtained by randomizing the key, and the key device calculates the first consignment result from the first randomized public key information using the secret key, and
  • the proxy calculation step of calculating the second consignment result from the second randomized public key information using the terminal, and the terminal device obtains
  • the key device Since the public key transmitted from the terminal device to the key device is randomized, the key device cannot specify which other terminal device the requesting terminal device exchanges with. Also, since the terminal device converts the public key of another terminal device into a random number and entrusts proxy calculation, the key device cannot calculate the shared key.
  • the terminal device sends its public key and the other party's randomized public key to the key device, and the key device returns processing results for both, so the correct key device is not selected or the key device is correct. If no processing is performed, an error occurs in the values necessary for the two key exchanges obtained as a result of the entrustment. By confirming the presence or absence of the error, the terminal device can confirm that it is a correct key device and is correctly processed.
  • the key device cannot calculate the shared key, and it can be confirmed that the client is correctly processed by the correct key device.
  • FIG. 1 is a diagram illustrating a functional configuration of the key exchange system according to the first embodiment.
  • FIG. 2A is a diagram illustrating a functional configuration of the terminal device.
  • FIG. 2B is a diagram illustrating a functional configuration of the key device.
  • FIG. 3 is a diagram illustrating a processing flow of the key exchange method according to the first embodiment.
  • FIG. 4 is a diagram illustrating a processing flow of the key exchange method according to the second embodiment.
  • FIG. 5 is a diagram illustrating a processing flow of the key exchange method according to the third embodiment.
  • FIG. 6 is a diagram illustrating a processing flow of the key exchange method according to the fourth embodiment.
  • FIG. 7 is a diagram illustrating a functional configuration of the key exchange system according to the fifth embodiment.
  • FIG. 1 is a diagram illustrating a functional configuration of the key exchange system according to the first embodiment.
  • FIG. 2A is a diagram illustrating a functional configuration of the terminal device.
  • FIG. 2B is a diagram
  • FIG. 8 is a diagram illustrating a processing flow of the key exchange method according to the fifth embodiment.
  • FIG. 9 is a diagram illustrating a functional configuration of the key exchange system according to the sixth embodiment.
  • FIG. 10 is a diagram illustrating a processing flow of the key exchange method according to the sixth embodiment.
  • FIG. 11 is a diagram illustrating a functional configuration of the key exchange system according to the seventh embodiment.
  • FIG. 12 is a diagram illustrating a processing flow of the key exchange method according to the seventh embodiment.
  • FIG. 13 is a diagram illustrating a processing flow of the key exchange method according to the seventh embodiment.
  • the client terminal U calculates F (g 0 ) for an appropriate element g 0 ⁇ G that is not a unit element.
  • the client terminal U determines an element g 1 , g 2 ⁇ G which is not an arbitrary unit element, and sends two pairs (g 1 ⁇ 1 , g 1 g s1 ), (g 2 ⁇ 1 , g) to the proxy computing device P 2 g s2 )
  • the first embodiment is a DHM key exchange method using self-correction.
  • the key exchange system of this embodiment includes two terminal devices 1 1 and 1 2 for exchanging shared keys and two key devices 2 1 and 2 2 corresponding to each terminal device. Including.
  • the number of terminal apparatuses 1 and key apparatuses 2 included in the key exchange system is not limited.
  • Each terminal device 1 and each key device 2 are connected via a communication network 9 so that they can communicate with each other.
  • the communication network 9 can be constituted by, for example, the Internet, a WAN (Wide Area Network), a LAN (Local Area Network), a dedicated line, a public switched telephone network, a mobile phone communication network, and the like.
  • the terminal device 1 includes, for example, a storage unit 10, a public key reception unit 11, a random number generation unit 12, a public key random number generation unit 13, a verification unit 14, and a shared key generation unit 15 as illustrated in FIG. 2A.
  • the key device 2 includes, for example, a storage unit 20 and a proxy calculation unit 21 as shown in FIG. 2B.
  • the terminal device 1 and the key device 2 are configured, for example, by loading a special program into a known or dedicated computer having a central processing unit (CPU: Central Processing Unit), a main storage device (RAM: Random Access Memory), etc. Special equipment.
  • CPU Central Processing Unit
  • main storage device RAM: Random Access Memory
  • Special equipment Special equipment.
  • the terminal device 1 and the key device 2 execute each process under the control of the central processing unit.
  • the data input to the terminal device 1 and the key device 2 and the data obtained in each process are stored in, for example, the main storage device, and the data stored in the main storage device is read out as needed to Used for processing.
  • at least a part of each processing unit of the terminal device 1 and the key device 2 may be configured by hardware such as an integrated circuit.
  • FIG. 3 only the processing of the terminal device 1 1 and the key device 2 1 is shown, but the same processing is performed for the terminal device 1 2 and the key device 2 2 .
  • the position number is an element of the group G is a prime number p, a residue ring of order p and Z p, x, and Y ⁇ Z p.
  • step S11 the public key reception unit 11 of the terminal device 1 2 transmits the public key g y of the terminal device 1 2 to the terminal device 1 1.
  • Public key reception unit 11 of the terminal device 1 1 receives the public key g y from the terminal device 1 2.
  • the public key reception unit 11 of the terminal device 1 1 transmits the public key g x of the terminal device 1 1 to the terminal device 1 2.
  • Public key reception unit 11 of the terminal device 1 2 receives the public key g x from the terminal device 1 1.
  • step S12 the random number generation unit 12 of the terminal device 1 1 generates random numbers s 1 , s 2 , s ′ 1 , s ′ 2 , r 1 , r 2 .
  • r 1 and r 2 may be any number.
  • random number generation unit 12 of the terminal device 1 2 generates a s 3, s 4, s ' 3, s' 4, r 3, r 4.
  • r 3 and r 4 may be any number.
  • step S13 the public key randomization section 13 of the terminal device 1 1, by the equation (1), a set of the public key g y of the public key g x and the terminal device 1 2 of the terminal device 1 1, a random number s 1 , r 1 is used to calculate a randomized value (hereinafter referred to as first randomized public key information). Further, the equation (2), a set of the public key g y of the public key g x and the terminal device 1 2 of the terminal device 1 1, randomized value using a random number s 2, r 2 (hereinafter, the second Called randomized public key information). Calculated first randomized public key information and the pair of the second random number of public key information, and transmits to the key unit 2 1.
  • first randomized public key information hereinafter referred to as first randomized public key information
  • the equation (2) a set of the public key g y of the public key g x and the terminal device 1 2 of the terminal device 1 1, randomized value using a random number s 2, r
  • the first randomized public key information can be calculated as follows. Calculate g -r1x by raising g x to -r 1 . Calculate g s1y by raising g y to s 1 . Calculate g r1 by raising g to the power of r 1 . by multiplying the g s1y and g r1, calculates the g s1y + r1.
  • the second randomized public key information can be calculated in the same manner.
  • the public key randomization section 13 of the terminal device 1 2 according to equation (3), a set of the public key g y of the public key g x and the terminal device 1 2 of the terminal device 1 1, the random number s 3, A value randomized using r 3 (hereinafter referred to as first randomized public key information) is calculated. Further, the equation (4), a set of the public key g y of the public of the terminal device 1 1 key g x and the terminal device 1 2, a random number s 4, r 4 randomized value using (hereinafter, the second Called randomized public key information). Calculated first randomized public key information and the pair of the second random number of public key information, and transmits to the key unit 2 2.
  • step S21 the proxy computer 21 of the key unit 2 1, by the equation (5), necessary for the calculation of the shared key from the first randomized public key information using the secret key x value Z 1 (hereinafter, a first Calculated as “consignment result”.
  • a value Z 2 (hereinafter referred to as a second consignment result) necessary for calculation of the shared key is calculated from the second randomized public key information using the secret key x by Expression (6).
  • Calculated first commissioned results Z 1 and the second consignment result Z 2 transmits to the terminal device 1 1.
  • the first commission result Z 1 can be calculated as follows. g s1y + r1 is raised to x to calculate g (s1y + r1) x . Multiply g -r1x and g ( s1y + r1) x to calculate g -r1x g (s1y + r1) x .
  • the second commission result Z 2 can be calculated in the same manner.
  • the proxy calculation unit 21 of the key device 2 2 uses the equation (7) to calculate the value Z 3 (hereinafter referred to as the first entrustment) from the first randomized public key information using the secret key y. Called the result). Further, according to the equation (8), a value Z 4 (hereinafter referred to as a second consignment result) necessary for calculating the shared key is calculated from the second randomized public key information using the secret key y. A first consignment result Z 3 and the calculated second consignment result Z 4 transmits to the terminal device 1 2.
  • step S14 the verifying unit 14 of the terminal device 1 1, by the equation (9), first commissioned results Z 1 and s 2 squared value (hereinafter, referred to as a first verification value.) And the second consignment result Z 2 It is verified whether or not a value obtained by raising s to the power of 1 (hereinafter referred to as a second verification value) matches.
  • the verification unit 14 of the terminal device 1 2 by the equation (10), first commissioned result Z 3 and s 4 squared value (hereinafter, referred to as a first verification value.)
  • the second consignment result Z 4 Verify whether the value raised to the third power (hereinafter referred to as the second verification value) matches. If the first verification value matches the second verification value, the process proceeds to step S15. If the first verification value and the second verification value do not match, the process returns to step S12.
  • step S15 the shared key calculation unit 15 of the terminal device 1 1, by the equation (11), the random number s '1, s' 2 first commissioned results using Z 1 and the second consignment results shared key K from Z 2 Is calculated.
  • the shared key calculation unit 15 of the terminal device 1 2 by the equation (12), the random number s '3, s' 4 first commissioned results using Z 3 and shared key K from the second consignment result Z 4 calculate.
  • step S13 the public key randomization section 13 of the terminal device 1 1, a first random number of the public key information and only g s1y + r1, key device 2 1 a second randomization public key information as only g s2y + r2 Send to. At this time, g ⁇ r1x and g ⁇ r2x are retained.
  • step S21 the proxy computer 21 of the key unit 2 1, by the equation (13), calculating a first commissioned result Z '1 and second consignment result Z' 2.
  • step S14 the verifying unit 14 of the terminal device 1 1, by the equation (14), calculating a first commissioned results Z 1 and the second consignment result Z 2.
  • the second embodiment is an authentication key exchange method using self-correction and a digital signature.
  • the user identifier u 1 is stored.
  • a user identifier u 2 is stored.
  • the key device 2 second storage unit 20, similarly to the first embodiment, the private key y of the terminal device 1 2 is stored.
  • step S111 the public key reception unit 11 of the terminal device 1 2 transmits the user identifier u 2 and the public key g y set the (u 2, g y) to the terminal device 1 1.
  • Public key reception unit 11 of the terminal device 1 1 receives from the terminal device 1 2 (u 2, g y).
  • the public key reception unit 11 of the terminal device 1 1 transmits the user identifier u 1 and the public key g x set to (u 1, g x) to the terminal device 1 2.
  • Public key reception unit 11 of the terminal device 1 2 receives from the terminal device 1 1 (u 1, g x).
  • step S112 the public key reception unit 11 of the terminal device 1 1, using the signature key Sig u1, public key g x and the public key g y and signature for the set of user identifiers u 1 Sig u1 (g x, g y It generates u 1), and transmits (u 1, g x, Sig u1 (g x, g y, u 1) a) to the terminal device 1 2.
  • Public key reception unit 11 of the terminal device 1 from the terminal device 1 1 (u 1, g x , Sig u1 (g x, g y, u 1)) to receive.
  • the public key reception unit 11 of the terminal device 1 2 uses the signature key Sig u2, public key g x and the public key g y and signature for the set of user identifiers u 2 Sig u2 (g x, g y, u 2), and transmits (u 2, g y, Sig u2 (g x, g y, u 2)) to the terminal device 1 1.
  • Public key reception unit 11 of the terminal device 1 1, from the terminal device 1 2 (u 2, g y , Sig u2 (g x, g y, u 2)) to receive.
  • step S113 the public key reception unit 11 of the terminal device 1 1, using the verification key Ver u2, signature Sig u2 (g x, g y , u 2) to verify.
  • the public key reception unit 11 of the terminal device 1 2 uses the verification key Ver u1, signature Sig u1 (g x, g y , u 1) to verify. If the signature Sig u2 (g x , g y , u 2 ) and the signature Sig u1 (g x , g y , u 1 ) are correct, the process proceeds to step S12. If the signature Sig u2 (g x , g y , u 2 ) or the signature Sig u1 (g x , g y , u 1 ) is invalid, the process ends.
  • the third embodiment is an MQV key exchange method using self-correction.
  • the key device 2 first storage unit 20 a fixed secret key A ⁇ Z p of the terminal device 1 1 is stored.
  • the key device 2 second storage unit 20, a fixed secret key B ⁇ Z p of the terminal device 1 2 is stored.
  • step S111 the public key reception unit 11 of the terminal device 1 2 transmits the fixed public key B and the temporary public key Y pairs (B, Y) to the terminal device 1 1.
  • Public key reception unit 11 of the terminal device 1 1 receives from the terminal device 1 2 (B, Y).
  • the public key reception unit 11 of the terminal device 1 1 transmits fixed public key A and the temporary public key X of the set of (A, X) to the terminal device 1 2.
  • Public key reception unit 11 of the terminal device 1 2, (A, X) and receiving from the terminal device 1 1.
  • and values d ⁇ X ⁇
  • means the upper p bits when • is represented in bits.
  • and values d ⁇ X ⁇
  • step S13 the public key randomization section 13 of the terminal device 1 1, by the equation (15), calculates a first random number of the public key information. Further, the second randomized public key information is calculated by the equation (16). Calculated first randomized public key information and the pair of the second random number of public key information, and transmits to the key unit 2 1.
  • the first randomized public key information can be calculated as follows. Calculate g -r1a by raising g a to the power of -r 1 . g b is raised to the e power to calculate g be , and g y is multiplied to calculate g y + be . g y + be raised to the power of s 1 to calculate g (y + be) s1 . Calculate g r1 by raising g to the power of r 1 and multiply g (y + be) s1 by g r1 to calculate g (y + be) s1 + r1 .
  • the second randomized public key information can be calculated in the same manner.
  • the public key randomization section 13 of the terminal device 1 calculates a first random number of the public key information. Further, the second randomized public key information is calculated by the equation (18). Calculated first randomized public key information and the pair of the second random number of public key information, and transmits to the key unit 2 2.
  • step S21 the proxy computer 21 of the key unit 2 1, by the equation (19), first commissioned Results calculated Z 1. Further, the second commission result Z 2 is calculated by the equation (20). Calculated first commissioned results Z 1 and the second consignment result Z 2 transmits to the terminal device 1 1.
  • the proxy calculator 21 of the key device 2 2 calculates the first entrustment result Z 3 according to the equation (21). Further, the second commission result Z 4 is calculated by the equation (22). A first consignment result Z 3 and the calculated second consignment result Z 4 transmits to the terminal device 1 2.
  • step S151 the shared key calculation unit 15 of the terminal device 11 1 uses the random numbers s ′ 1 and s ′ 2 according to the equation (23) to calculate the value YB from the first commission result Z 1 and the second commission result Z 2. Calculate ea .
  • the shared key calculation unit 15 of the terminal device 1 by the equation (24), the random number s '3, s' 4 with a first commissioned result Z 3 and second consignment Results Z 4 values XA db Calculate
  • step S151 the shared key calculation unit 15 of the terminal device 1 1, by the equation (25), calculates the shared key K.
  • KDF is a key derivation function (Key Derivation Function), which is a function for converting an input value into a random number.
  • (YB e ) x + ad can be calculated as follows. YB e is raised to the power of x to calculate YB ex . Calculate YB ead by raising YB ea to the d power. Multiply YB ex and YB ead to calculate (YB e ) x + ad . (XA d ) y + be can be calculated in the same manner.
  • step S13 the public key randomization section 13 of the terminal device 1 1, a first random number of the public key information and only g (y + be) s1 + r1, the second random number of public key information g (y + be ) is transmitted as s2 + r2 only to the key device 2 1. At this time, g -r1a and g -r2a are retained.
  • step S21 the proxy computer 21 of the key unit 2 1, by the equation (27), calculating a first commissioned results Z 1 'and the second consignment result Z 2'.
  • step S14 the verifying unit 14 of the terminal device 1 1, by the equation (28), calculating a first commissioned results Z 1 and the second consignment result Z 2.
  • the fourth embodiment is an HMQV key exchange method using self-correction.
  • H (•) is a cryptographic hash function. Examples of cryptographic hash functions include SHA-1, SHA-2, etc.
  • This embodiment is different from the third embodiment only in that the values e and d are obtained by a hash function, and other processes are the same as those of the third embodiment.
  • the fifth embodiment is an id-id AKE method using self-correction.
  • the key device has a secret key
  • the terminal device generates a short-term secret key.
  • the key exchange system of this embodiment includes a key generation device 3 in addition to terminal devices 1 1 and 1 2 and key devices 2 1 and 2 2 as shown in FIG.
  • ⁇ G 1 , G 2 , and G T are cyclic groups of prime number q of order Gri bits long, and g 1 , g 2 , and g T are groups G 1 , G 2 , G It is assumed that T is generated.
  • e G 1 ⁇ G 2 ⁇ G T is pairing.
  • g T e (g 1 , g 2 ) is satisfied.
  • H 1 : ⁇ 0, 1 ⁇ * ⁇ G 1 , H 2 : ⁇ 0, 1 ⁇ * ⁇ G 2 is a cryptographic hash function .
  • C i, 0,0 , c i, 0,1 , c i, 1,0 , c i, 1,1 may be constants, depending on short-term public key, public key, user ID, etc. The number determined by
  • key generation is performed as follows.
  • the private key pair (D A, 1 , D A , 2 ) is distributed to the key device 22, and the private key pair (D B, 1 , D B, 2 ) is distributed to the key device 2 2 .
  • step S111 the public key reception unit 11 of the terminal device 1 1 transmits consisting identifier and short term public key information (ID A, ID B, X A, 1, X A, 2) a to the terminal device 1 2.
  • Public key reception unit 11 of the terminal device 1 2 receives information (ID A, ID B, X A, 1, X A, 2) from the terminal device 1 1.
  • the public key reception unit 11 of the terminal device 1 2 transmits information comprising the identifier and short-term public key (ID A, ID B, X B, 1, X B, 2) a to the terminal device 1 1.
  • Public key reception unit 11 of the terminal device 1 1 receives the information (ID A, ID B, X B, 1, X B, 2) from the terminal device 1 2.
  • step S112 the public key reception unit 11 of the terminal device 1 1 checks whether equation (30) holds. Similarly, the public key reception unit 11 of the terminal device 1 2 confirms whether equation (31) holds. If either one is not correct, start over with key generation.
  • steps S121, S122, S13, S21, S14, and S151 are repeated m times.
  • step S121 the random number generation unit 12 of the terminal device 1 1 calculates equation (32). Likewise, random number generation unit 12 of the terminal device 1 2 calculates the equation (33).
  • step S122 the random number generation unit 12 of the terminal device 1 1 generates a random number s i1, s i2, s ' i1, s' i2, r i1, r i2.
  • r i1 and r i2 are arbitrary non-zero integers.
  • random number generation unit 12 of the terminal device 1 2 generates a t i1, t i2, t i1, t' i2, l i1, l i2.
  • l i1 and l i2 are arbitrary non-zero integers.
  • step S13 the public key randomization section 13 of the terminal device 1 1, by the equation (34), and the public key Q B, 2 and short-term public key X B, 2 of the terminal 1 2, the random number s i1, r A value randomized using i1 (hereinafter referred to as first randomized public key information) is calculated. Further, the equation (35), the public key Q B of the terminal device 1 2, 2 short-term public key X B, 2 and a random number s i2, the value obtained by the random number by using the r i2 (hereinafter, second randomization Called public key information). Calculated first randomized public key information and the pair of the second random number of public key information, and transmits to the key unit 2 1.
  • the public key randomization section 13 of the terminal device 1 by the equation (36), and the public key Q A, 1 and short-term public key X A, 1 of the terminal device 1 1, a random number t i1, l i1 Is used to calculate a randomized value (hereinafter referred to as first randomized public key information).
  • first randomized public key information a random number t i1, l i1 Is used to calculate a randomized value
  • the equation (37), and the public key Q A, 1 and short-term public key X A, 1 of the terminal device 1 1, a random number t i2, l i2 randomized value using (hereinafter, second randomization Called public key information). Calculated first randomized public key information and the pair of the second random number of public key information, and transmits to the key unit 2 2.
  • step S21 the proxy computer 21 of the key unit 2 1, by the equation (38), the private key D A, 1 required for calculating the shared key from the first randomized public key information using the values zeta A, i1 (Hereinafter referred to as the first commission result) is calculated. Further, by using equation (39), a value ⁇ A, i2 (hereinafter referred to as a second consignment result) necessary for calculating the shared key is calculated from the second randomized public key information using the secret key D A, 2 . To do. Calculated with the first consignment result zeta A, i1 and the second consignment result zeta A, i2 is transmitted to the terminal device 1 1.
  • the proxy calculator 21 of the key device 2 2 uses the secret key D B, 2 to calculate the value ⁇ B, i1 (required for calculating the shared key from the first randomized public key information using the secret key D B, 2.
  • this is referred to as a first commission result).
  • a value ⁇ B, i2 (hereinafter referred to as a second consignment result) necessary for calculating the shared key is calculated from the second randomized public key information using the secret key D B, 2 .
  • Calculated first commissioned results zeta B, i1 and the second consignment result zeta B, i2 is transmitted to the terminal device 1 2.
  • step S14 the verifying unit 14 of the terminal device 1 1, by the equation (42), first commissioned result zeta A, i1 the s i2 squared value (hereinafter, referred to as a first verification value.) And the second consignment Results It is verified whether or not a value obtained by raising ⁇ A, i2 to the power of s i1 (hereinafter referred to as a second verification value) matches.
  • first commissioned result zeta B, i1 and t i2 squared value hereinafter, referred to as a first verification value.
  • second consignment results zeta It is verified whether a value obtained by raising B, i2 to the power of t i1 (hereinafter referred to as a second verification value) matches. If the first verification value matches the second verification value, the process proceeds to step S151. If the first verification value and the second verification value do not match, the process returns to step S122.
  • step S151 the shared key calculation unit 15 of the terminal device 1 1, by the equation (44), the random number s 'i1, s' first commissioned results using i2 zeta A, i1 and a second delegated result zeta A, i2
  • the commission result ⁇ A, i is calculated from Similarly, the shared key calculation unit 15 of the terminal device 1 2, by the equation (45), from the random number t 'i1, t' i2 first commissioned result zeta B, i1 and the second consignment results using zeta B, i2
  • the commission result ⁇ B, i is calculated.
  • the shared key calculation unit 15 of the terminal device 1 2, i 1, ..., for m, the equation (47), to calculate the value sigma i, values sigma 1, ..., to produce a sigma m.
  • step S153 the shared key calculation unit 15 of the terminal device 1 1, by the equation (48), the value sigma m + 1, calculates the sigma m + 2.
  • step S154 the shared key calculation unit 15 of the terminal device 1 1 and the terminal device 1 2, by the equation (50), the values sigma 1, ..., using a sigma m + 2, calculates the shared key K.
  • Modification 5-1 is a modification of the id-id AKE method using self-correction according to the fifth embodiment. This modification is particularly key device has a private key, in the configuration in which the key device generates a short-term private key, is configured to entrust the power of calculation of the group G T in the key device.
  • key generation is performed as follows.
  • the private key pair (D A, 1 , D A , 2 ) is distributed to the key device 22, and the private key pair (D B, 1 , D B, 2 ) is distributed to the key device 2 2 .
  • step S121B the random number generation unit 12 of the terminal device 1 1 calculates equation (52). Likewise, random number generation unit 12 of the terminal device 1 2 calculates the equation (53).
  • step 122 b the random number generation unit 12 of the terminal device 1 1 generates a random number s i21, s i22, s ' i21, s' i22, r i21, r i22.
  • r i21 and r i22 are arbitrary non-zero integers.
  • random number generation unit 12 of the terminal device 1 2 generates a random number t i21, t i22, t ' i21, t' i22, l i21, l i22.
  • l i21 and l i22 are arbitrary non-zero integers.
  • step S13b the public key randomization section 13 of the terminal device 1 1, by the equation (54), and the public key Q B, 2 and short-term public key X B, 2 of the terminal 1 2, the random number s i21, r A value randomized using i21 (hereinafter referred to as first randomized public key information) is calculated. Further, the equation (55), the public key Q B of the terminal device 1 2, 2 short-term public key X B, 2 and a random number s i22, r randomized value using the i22 (hereinafter, second randomization Called public key information). Calculated first randomized public key information and the pair of the second random number of public key information, and transmits to the key unit 2 1.
  • the public key randomization section 13 of the terminal device 1 by the equation (56), and the public key Q A, 1 and short-term public key X A, 1 of the terminal device 1 1, a random number t i21, l i21 Is used to calculate a randomized value (hereinafter referred to as first randomized public key information).
  • first randomized public key information a random number t i21, l i21 Is used to calculate a randomized value (hereinafter referred to as first randomized public key information).
  • the equation (57), and the public key Q A, 1 and short-term public key X A, 1 of the terminal device 1 1, a random number t i22, l randomized value using the i22 (hereinafter, second randomization Called public key information). Calculated first randomized public key information and the pair of the second random number of public key information, and transmits to the key unit 2 2.
  • step S21b the proxy computer 21 of the key unit 2 1, by the equation (58), short-term secret key x A necessary for the calculation of the shared key from the first randomized public key information using the values xi] A, i1 ( Hereinafter, this is referred to as a first commission result). Further, according to the equation (59), a value ⁇ A, i2 (hereinafter referred to as a second consignment result) necessary for calculating the shared key is calculated from the second randomized public key information using the short-term secret key x A. . Calculated with the first consignment result zeta A, i1 and the second consignment result zeta A, i2 is transmitted to the terminal device 1 1.
  • the proxy computer 21 of the key unit 2 by the equation (60), short-term secret key x B necessary for the calculation of the shared key from the first randomized public key information using the values xi] B, i1 (hereinafter , Called the first commission result). Further, the equation (61), short-term secret key x B necessary for the calculation of the shared key from the second random number of the public key information using the values xi] B, i2 (hereinafter, referred to as a second consignment results.) Is calculated . Calculated first commissioned results zeta B, i1 and the second consignment result zeta B, i2 is transmitted to the terminal device 1 2.
  • step S14b the verifying unit 14 of the terminal device 1 1, by the equation (62), first commissioned results xi] A, i1 the s i22 squared value (hereinafter, referred to as a first verification value.) And the second consignment Results It is verified whether or not a value obtained by raising ⁇ A, i2 to the power of s i21 (hereinafter referred to as a second verification value) matches.
  • the verification unit 14 of the terminal device 1 by the equation (63), first commissioned results xi] B, i1 and t i22 squared value (hereinafter, referred to as a first verification value.) And the second consignment results xi] It is verified whether or not a value obtained by raising B, i2 to the power of t i21 (hereinafter referred to as a second verification value) matches. If the first verification value matches the second verification value, the process proceeds to step S151b. If the first verification value does not match the second verification value, the process returns to step S122b.
  • step S151b the shared key calculation unit 15 of the terminal device 1 1, by the equation (64), the random number s 'i21, s' i22 first commissioned results using xi] A, i1 and a second delegated results xi] A, i2
  • the commission result ⁇ A, i is calculated from Similarly, the shared key calculation unit 15 of the terminal device 1 2, by the equation (65), from the random number t 'i21, t' first commissioned results using i22 xi] B, i1 and the second consignment results xi] B, i2
  • the commission result ⁇ B, i is calculated.
  • the shared key calculation unit 15 of the terminal device 1 2, i 1, ..., for m, the equation (67), to calculate the value sigma i, values sigma 1, ..., to produce a sigma m.
  • step S153 the shared key calculation unit 15 of the terminal device 1 1, by the equation (68), the value sigma m + 1, calculates the sigma m + 2.
  • step S154 the shared key calculation unit 15 and the shared key calculation unit 15 of the terminal device 1 2 of the terminal device 1 1, by the equation (70), the values sigma 1, ..., using a sigma m + 2, the shared key K Is calculated.
  • Modification 5-2 is a modification of the id-id AKE method using self-correction according to the fifth embodiment. This modification is particularly key device has a private key, in the configuration in which the key device generates a short-term private key, is configured to entrust the calculated pairing group G T in the key device.
  • steps S121, S122, S13, S21, S14, and S151 are repeatedly executed m times.
  • steps S121c, S122c, S13c, S21c, S14c, and S151c are performed. Run repeatedly.
  • i 1,..., M
  • step S121c the random number generation unit 12 of the terminal device 1 1 calculates equation (71). Likewise, random number generation unit 12 of the terminal device 1 2 calculates the equation (72).
  • step S122c the random number generation unit 12 of the terminal device 1 1 generates a random number s i31, s i32, s ' i31, s' i32, r i31, r i32.
  • r i31 and r i32 are arbitrary non-zero integers.
  • random number generation unit 12 of the terminal device 1 2 generates a random number t i31, t i32, t ' i31, t' i32, l i31, l i32.
  • l i31 and l i32 are arbitrary non-zero integers.
  • step S13c the public key randomization section 13 of the terminal device 1 1, by the equation (73), and the public key Q B, 2 and short-term public key X B, 2 of the terminal 1 2, the random number s i 31, r A value randomized using i31 (hereinafter referred to as first randomized public key information) is calculated. Further, the equation (74), the public key Q B of the terminal device 1 2, 2 short-term public key X B, 2 and a random number s i32, a value obtained by random number by using the r i32 (hereinafter, second randomization Called public key information). Calculated first randomized public key information and the pair of the second random number of public key information, and transmits to the key unit 2 1.
  • the public key randomization section 13 of the terminal device 1 by the equation (75), and the public key Q A, 1 and short-term public key X A, 1 of the terminal device 1 1, a random number t i 31, l i 31 Is used to calculate a randomized value (hereinafter referred to as first randomized public key information).
  • first randomized public key information a random number t i 31, l i 31 Is used to calculate a randomized value (hereinafter referred to as first randomized public key information).
  • step S21c the proxy computer 21 of the key unit 2 1, by the equation (77), short-term secret key x A necessary for the calculation of the shared key from the first randomized public key information using the values xi] A, i1 ( Hereinafter, this is referred to as a first commission result). Further, according to the equation (78), a value ⁇ A, i2 (hereinafter referred to as a second consignment result) necessary for calculating the shared key is calculated from the second randomized public key information using the short-term secret key x A. . Calculated with the first consignment result zeta A, i1 and the second consignment result zeta A, i2 is transmitted to the terminal device 1 1.
  • the proxy computer 21 of the key unit 2 2 by the equation (79), short-term secret key x B necessary for the calculation of the shared key from the first randomized public key information using the values xi] B, i1 (hereinafter , Called the first commission result). Further, the equation (80), short-term secret key x B necessary for the calculation of the shared key from the second random number of the public key information using the values xi] B, i2 (hereinafter, referred to as a second consignment results.) Is calculated . Calculated first commissioned results zeta B, i1 and the second consignment result zeta B, i2 is transmitted to the terminal device 1 2.
  • step S14c the verifying unit 14 of the terminal device 1 1, by the equation (81), first commissioned results xi] A, i1 the s i32 squared value (hereinafter, referred to as a first verification value.) And the second consignment Results It is verified whether or not a value obtained by raising ⁇ A, i2 to the power of s i31 (hereinafter referred to as a second verification value) matches.
  • the verification unit 14 of the terminal device 1 by the equation (82), first commissioned results xi] B, i1 and t i32 squared value (hereinafter, referred to as a first verification value.) And, second delegated Results It is verified whether or not a value obtained by raising ⁇ B, i2 to the power of t i31 (hereinafter referred to as a second verification value) matches. If the first verification value matches the second verification value, the process proceeds to step S151c. If the first verification value does not match the second verification value, the process returns to step S122c.
  • step S151c the shared key calculation unit 15 of the terminal device 1 1, by the equation (83), the random number s 'i 31, s' first commissioned results using i32 xi] A, i1 and a second delegated results xi] A, i2
  • the commission result ⁇ A, i is calculated from Similarly, the shared key calculation unit 15 of the terminal device 1 2, by the equation (84), from the random number t 'i21, t' first commissioned results using i22 xi] B, i1 and the second consignment results xi] B, i2
  • the commission result ⁇ B, i is calculated.
  • the sixth embodiment is a cert-cert AKE method using self-correction.
  • the key device has a secret key
  • the terminal device generates a short-term secret key.
  • the key exchange system of this embodiment includes a certificate authority device 4 in addition to terminal devices 1 1 and 1 2 and key devices 2 1 and 2 2 .
  • key generation is performed as follows.
  • Authority apparatus 4 authenticates a public key S B of the public key S A and the terminal apparatus 1 2 of the terminal device 1 1.
  • step S11 the public key reception unit 11 of the terminal device 1 1, information consisting of a public key and a short-term public key (S A, X A) sends a to the terminal device 1 2.
  • Public key reception unit 11 of the terminal device 1 2 receives information (S A, X A) from the terminal device 1 1.
  • the public key reception unit 11 of the terminal device 1 2 information consisting of a public key and a short-term public key (S B, X B) and transmits the to the terminal device 1 1.
  • Public key reception unit 11 of the terminal device 1 1 receives information (S B, X B) from the terminal device 1 2.
  • steps S12, S13, S21, S14, and S151 are repeated m times.
  • step S12 the random number generation unit 12 of the terminal device 1 1, a random number s i1, s i2, s ' i1, s' i2 generates a ⁇ Z and group elements g 1, g 2 ⁇ G.
  • g 1 and g 2 are elements that are not unit elements of the group G.
  • random number generation unit 12 of the terminal device 1 2 the random number t i1, t i2, t ' i1, t' i2 ⁇ Z and the group element g 3, and generates a g 4 ⁇ G.
  • g 3 and g 4 are elements that are not unit elements of the group G.
  • step S13 the public key randomization section 13 of the terminal device 1 1, by the equation (85), and a public key S B and the short-term public key X B of the terminal device 1 2 and the random number by using a random number s i1 A value (hereinafter referred to as first randomized public key information) is calculated. Further, the equation (86), and a public key S B and the short-term public key X B of the terminal device 1 2, randomized value using a random number s i2 (hereinafter, referred to as a second random number of public key information.) Is calculated. Calculated first randomized public key information and the pair of the second random number of public key information, and transmits to the key unit 2 1.
  • the public key randomization section 13 of the terminal device 1 2 by the equation (87), and a public key S A and short public key X A of the terminal device 1 1, were randomized using a random number t i1 value (Hereinafter referred to as first randomized public key information) is calculated. Further, the equation (88), and a public key S A and short public key X A of the terminal device 1 1, randomized value using a random number t i2 (hereinafter, referred to as a second random number of public key information.) Is calculated. Calculated first randomized public key information and the pair of the second random number of public key information, and transmits to the key unit 2 2.
  • step S21 the proxy computer 21 of the key unit 2 1, by the equation (89), homomorphism F A: G ⁇ G, h ⁇ for h xA, the value zeta A necessary for the calculation of the shared key, i1 ( Hereinafter, this is referred to as a first commission result). Further, a value ⁇ A, i2 (hereinafter referred to as a second consignment result) necessary for calculation of the shared key is calculated by the equation (90). Calculated with the first consignment result zeta A, i1 and the second consignment result zeta A, i2 is transmitted to the terminal device 1 1.
  • the proxy computer 21 of the key unit 2 2 by the equation (91), homomorphism F B: G ⁇ G, for h ⁇ h xB, necessary values for the calculation of a shared key zeta B, i1 (hereinafter , Called the first commission result). Further, a value ⁇ B, i2 (hereinafter referred to as a second consignment result) necessary for calculation of the shared key is calculated by Expression (92). Calculated first commissioned results zeta B, i1 and the second consignment result zeta B, i2 is transmitted to the terminal device 1 2.
  • step S14 the verifying unit 14 of the terminal device 1 1, by the equation (93), first commissioned result zeta A, i1 the s i2 squared value (hereinafter, referred to as a first verification value.) And, second delegated It is verified whether or not the value ⁇ A, i2 raised to the power of s i1 (hereinafter referred to as the second verification value) matches.
  • first verification value a value obtained by raising ⁇ B, i2 to the power of t i1 (hereinafter referred to as a second verification value) matches. If the first verification value matches the second verification value, the process proceeds to step S151. If the first verification value and the second verification value do not match, the process returns to step S12.
  • step S151 the shared key calculation unit 15 of the terminal device 1 1, by the equation (95), the random number s 'i1, s' first commissioned results using i2 zeta A, i1 and a second delegated result zeta A, i2
  • the commission result ⁇ A, i is calculated from Similarly, the shared key calculation unit 15 of the terminal device 1 2, by the equation (96), from the random number t 'i1, t' i2 first commissioned result zeta B, i1 and the second consignment results using zeta B, i2
  • the commission result ⁇ B, i is calculated.
  • the shared key calculation unit 15 of the terminal device 1 2, i 1, ..., for m, the equation (98), to calculate the value sigma i, values sigma 1, ..., to produce a sigma m.
  • step S154 the shared key calculation unit 15 of the terminal device 1 1 and the terminal device 1 2, by the equation (99), the values sigma 1, ..., using a sigma m, calculates the shared key K.
  • Modification 6 is a modification of the cert-cert AKE method using self-correction according to the sixth embodiment. This modification is particularly key device has a private key, in the configuration in which the key device generates a short-term private key, is configured to entrust the power of calculation of the group G T in the key device.
  • key generation is performed as follows.
  • Authority apparatus 4 authenticates a public key S B of the public key S A and the terminal apparatus 1 2 of the terminal device 1 1.
  • step S12b the random number generation unit 12 of the terminal device 1 1 generates a random number s i21, s i22, s ' i21, s' i22 ⁇ Z and the group element g 1, g 2 ⁇ G.
  • g 1 and g 2 are elements that are not unit elements of the group G.
  • random number generation unit 12 of the terminal device 1 2 generates a random number t i21, t i22, t ' i21, t' i22 ⁇ Z and the group element g 3, g 4 ⁇ G.
  • g 3 and g 4 are elements that are not unit elements of the group G.
  • step S13b the public key randomization section 13 of the terminal device 1 1, by the equation (101), and a public key S B and the short-term public key X B of the terminal device 1 2 and the random number by using a random number s i21 A value (hereinafter referred to as first randomized public key information) is calculated. Further, the equation (102), and a public key S B and the short-term public key X B of the terminal device 1 2, randomized value using a random number s i22 (hereinafter, referred to as a second random number of public key information.) Is calculated. Calculated first randomized public key information and the pair of the second random number of public key information, and transmits to the key unit 2 1.
  • the public key randomization section 13 of the terminal device 1 2 by the equation (103), and a public key S A and short public key X A of the terminal device 1 1, were randomized using a random number t i21 value (Hereinafter referred to as first randomized public key information) is calculated. Further, the equation (104), and a public key S A and short public key X A of the terminal device 1 1, randomized value using a random number t i22 (hereinafter, referred to as a second random number of public key information.) Is calculated. Calculated first randomized public key information and the pair of the second random number of public key information, and transmits to the key unit 2 2.
  • step S21b the proxy computer 21 of the key unit 2 1, by the equation (105), homomorphism F A, 2: G ⁇ G , h ⁇ for h sA, necessary values for the calculation of a shared key xi] A, i1 (hereinafter referred to as the first commission result) is calculated. Further, a value ⁇ A, i2 (hereinafter referred to as a second consignment result) necessary for calculation of the shared key is calculated by Expression (106). Calculated with the first consignment result zeta A, i1 and the second consignment result zeta A, i2 is transmitted to the terminal device 1 1.
  • step S14b the verifying unit 14 of the terminal device 1 1, by the equation (109), first commissioned results xi] A, i1 the s i22 squared value (hereinafter, referred to as a first verification value.) And, second delegated It is verified whether or not the result ⁇ A, i2 matches the value obtained by raising s i21 to power (hereinafter referred to as the second verification value).
  • the verification unit 14 of the terminal device 1 by the equation (110), first commissioned results xi] B, i1 and t i2 squared value (hereinafter, referred to as a first verification value.) And, second delegated Results It is verified whether or not a value obtained by raising ⁇ B, i2 to the power of t i1 (hereinafter referred to as a second verification value) matches. If the first verification value matches the second verification value, the process proceeds to step S151b. If the first verification value and the second verification value do not match, the process returns to step S12b.
  • step S151b the shared key calculation unit 15 of the terminal device 1 1, by the equation (111), the random number s 'i21, s' i22 first commissioned results using xi] A, i1 and a second delegated results xi] A, i2
  • the commission result ⁇ A, i is calculated from Similarly, the shared key calculation unit 15 of the terminal device 1 2, by the equation (112), from the random number t 'i1, t' i2 first commissioned result zeta B, i1 and the second consignment results using zeta B, i2
  • the commission result ⁇ B, i is calculated.
  • the shared key calculation unit 15 of the terminal device 1 2, i 1, ..., for m, the equation (114), and calculate the value sigma i, values sigma 1, ..., to produce a sigma m.
  • step S154 the shared key calculation unit 15 of the terminal device 1 1 and the terminal device 1 2, by the equation (115), the value sigma 1, ..., using a sigma m, calculates the shared key K.
  • the seventh embodiment is a cert-id AKE method using self-correction.
  • the key device has a secret key
  • the terminal device generates a short-term secret key.
  • the key exchange system of the present embodiment includes a key generation device 3 and a certificate authority device 4 in addition to terminal devices 1 1 and 1 2 and key devices 2 1 and 2 2 .
  • FIGS. demonstrates centering on difference with the above-mentioned 5th embodiment.
  • Figure 12 is an illustration of a process flow of the terminal device 1 1 and the key unit 2
  • FIG. 13 is an illustration of a process flow of the terminal device 1 2 and the key unit 2 2.
  • key generation is performed as follows.
  • Authority apparatus 4 authenticates a public key S B of the key device 1 2.
  • a public key reception unit 11 of the terminal device 1 1 transmits consisting identifier and short term public key information (ID A, X A, 1 , X A, 2) a to the terminal device 1 2.
  • a public key reception unit 11 of the terminal device 1 2 receives the information (ID A, X A, 1 , X A, 2) from the terminal device 1 1.
  • step S112B a public key reception unit 11 of the terminal device 1 2, information consisting of a public key and a short-term public key (S B, 1, S B , 2, X B, 1, X B, 2) the terminal device 1 Send to 1 .
  • step S112A a public key reception unit 11 of the terminal device 1 1 receives information (S B, 1, S B , 2, X B, 1, X B, 2) from the terminal device 1 2.
  • step S113A a public key reception unit 11 of the terminal device 1 1 checks whether equation (116) holds.
  • step S113b the public key reception unit 11 of the terminal device 1 2 confirms whether equation (117) holds. If either one is not correct, start over with key generation.
  • steps S12A, S13A, S21A, S14A, and S151A in FIG. 12 are repeatedly performed m times.
  • step S12A the random number generation unit 12 of the terminal device 1 1, a random number s i1, s i2, s ' i1, s' i2 generates a ⁇ Z and group elements g 1, g 2 ⁇ G.
  • g 1 and g 2 are elements that are not unit elements of the group G.
  • step S13A the public key randomization section 13 of the terminal device 1 1, by the equation (118), and a public key S B, 2 and short-term public key X B, 2 of the terminal 1 2, using the random number s i1 To calculate a randomized value (hereinafter referred to as first randomized public key information). Further, the equation (119), the public key S B of the terminal device 1 2, 2 short-term public key X B, 2 a, randomized value using a random number s i2 (hereinafter, the second random number of public key information Is calculated). Calculated first randomized public key information and the pair of the second random number of public key information, and transmits to the key unit 2 1.
  • step S21A the proxy computer 21 of the key unit 2 1, by the equation (120), homomorphism F A: For G 2 ⁇ G T, h 2 ⁇ e (D A, 1, h 2), shared key A value ⁇ A, i1 (hereinafter referred to as a first commission result) necessary for the calculation of is calculated. Further, a value ⁇ A, i2 (hereinafter referred to as a second consignment result) necessary for calculation of the shared key is calculated by the equation (121). Calculated with the first consignment result zeta A, i1 and the second consignment result zeta A, i2 is transmitted to the terminal device 1 1.
  • homomorphism F A For G 2 ⁇ G T, h 2 ⁇ e (D A, 1, h 2), shared key A value ⁇ A, i1 (hereinafter referred to as a first commission result) necessary for the calculation of is calculated. Further, a value ⁇ A, i2 (hereinafter referred to as
  • step S14A the verifying unit 14 of the terminal device 1 1, by the equation (122), first commissioned result zeta A, i1 the s i2 squared value (hereinafter, referred to as a first verification value.) And, second delegated It is verified whether or not the value ⁇ A, i2 raised to the power of s i1 (hereinafter referred to as the second verification value) matches. If the first verification value matches the second verification value, the process proceeds to step S151A. If the first verification value and the second verification value do not match, the process returns to step S12A.
  • step S151A the shared key calculation unit 15 of the terminal device 1 1, by the equation (123), the random number s 'i1, s' first commissioned results using i2 zeta A, i1 and a second delegated result zeta A, i2
  • the commission result ⁇ A, i is calculated from
  • step S153A the shared key calculation unit 15 of the terminal device 1 1, by the equation (125), the value ⁇ m + 1, ⁇ m + 2, ⁇ m + 3, calculates the sigma m + 4.
  • step S154A the shared key calculation unit 15 of the terminal device 1 1, by the equation (126), the value sigma 1, ..., using a sigma m + 4, calculates the shared key K.
  • steps S12B, S13B, S21B, S14B, and S151B in FIG. 13 are repeatedly executed m times.
  • step S12B the random number generation unit 12 of the terminal device 1 2, the random number t i1, t i2, t ' i1, t' i2 ⁇ Z and the group element g 3, and generates a g 4 ⁇ G.
  • g 3 and g 4 are elements that are not unit elements of the group G.
  • step S13B the public key randomization section 13 of the terminal device 1 1, by the equation (127), and the public key Q A, 1 and short-term public key X A, 1 of the terminal device 1 2, using the random number t i1 To calculate a randomized value (hereinafter referred to as first randomized public key information). Further, the equation (128), and the public key Q A, 1 and short-term public key X A, 1 of the terminal device 1 2, randomized value using a random number t i2 (hereinafter, the second random number of public key information Is calculated). Calculated first randomized public key information and the pair of the second random number of public key information, and transmits to the key unit 2 1.
  • step S21B the proxy calculation unit 21 of the key device 2 2 uses the equation (129) to calculate the shared key for the homomorphic map F B : G 1 ⁇ G T , h 1 ⁇ e (h 1 , Z 2 sB ).
  • a value ⁇ B, i1 (hereinafter referred to as a first commission result) necessary for the calculation is calculated.
  • a value ⁇ B, i2 (hereinafter referred to as a second consignment result) necessary for calculation of the shared key is calculated by the equation (130).
  • Calculated first commissioned results zeta B, i1 and the second consignment result zeta B, i2 is transmitted to the terminal device 1 2.
  • step S14B the verifying unit 14 of the terminal device 1 2, by the equation (131), first commissioned result zeta B, i1 and t i2 squared value (hereinafter, referred to as a first verification value.) And, second delegated It is verified whether or not the result ⁇ B, i2 is equal to the value obtained by raising the power to t i1 (hereinafter referred to as the second verification value). If the first verification value matches the second verification value, the process proceeds to step S151B. If the first verification value and the second verification value do not match, the process returns to step S12B.
  • step S151B the common key calculation unit 15 of the terminal device 1 2, by the equation (132), the random number t 'i1, t' first commissioned results zeta using i2 B, i1 and the second consignment result zeta B, i2
  • the commission result ⁇ B, i is calculated from
  • step S153B the common key calculation unit 15 of the terminal device 1 2, by the equation (134), the value sigma m + 1, calculates the sigma m + 2. Further, to entrust the formula (135) by the value sigma m + 3, the calculation of sigma m + 4 to the key device 2 2.
  • step S154B the common key calculation unit 15 of the terminal device 1 1, by the equation (136), the value sigma 1, ..., using a sigma m + 4, calculates the shared key K.
  • equation (138) is calculated by proxy calculation executed in steps S13B and S21B.
  • step S13B ⁇ i, A is replaced with ⁇ ′ i, A in equation (139), and in step S21B, the homomorphic map F B : G 1 ⁇ G T , h 1 ⁇ e (h 1 , Z 2
  • F ′ B G T ⁇ G T , h T ⁇ h T sB
  • Modification 7 is a modification of the cert-id AKE method using self-correction according to the seventh embodiment.
  • the key device has a secret key, and the key device generates a short-term secret key.
  • key generation is performed as follows.
  • Authority apparatus 4 authenticates a public key S B of the key device 1 2.
  • step S12Ab random number generation unit 12 of the terminal device 1 1 generates a random number s i21, s i22, s ' i21, s' i22 ⁇ Z and the group element g 1, g 2 ⁇ G.
  • g 1 and g 2 are elements that are not unit elements of the group G.
  • step S13Ab public key randomization section 13 of the terminal device 1 1, by the equation (140), and a public key S B, 2 and short-term public key X B, 2 of the terminal 1 2, using the random number s i21 To calculate a randomized value (hereinafter referred to as first randomized public key information). Further, the equation (141), the public key S B of the terminal device 1 2, 2 short-term public key X B, 2 a, randomized value using a random number s i22 (hereinafter, the second random number of public key information Is calculated). Calculated first randomized public key information and the pair of the second random number of public key information, and transmits to the key unit 2 1.
  • step S21Ab the proxy computer 21 of the key unit 2 1, by the equation (142), homomorphism F 1, A: G 2 ⁇ G T, h 2 ⁇ e (Z 1 xA, h 2) for shared A value ⁇ A, i1 (hereinafter referred to as the first commission result) necessary for calculating the key is calculated. Further, a value ⁇ A, i2 (hereinafter referred to as a second consignment result) necessary for calculation of the shared key is calculated by the equation (143). Calculated with the first consignment result zeta A, i1 and the second consignment result zeta A, i2 is transmitted to the terminal device 1 1.
  • step S14Ab the verifying unit 14 of the terminal device 1 1, by the equation (144), first commissioned results xi] A, i1 the s i22 squared value (hereinafter, referred to as a first verification value.) And, second delegated It is verified whether or not the result ⁇ A, i2 matches the value obtained by raising s i21 to power (hereinafter referred to as the second verification value). If the first verification value matches the second verification value, the process proceeds to step S151Ab. If the first verification value and the second verification value do not match, the process returns to step S12Ab.
  • step S151Ab shared key calculation unit 15 of the terminal device 1 1, by the equation (145), the random number s 'i21, s' i22 first commissioned results using xi] A, i1 and a second delegated results xi] A, i2
  • the commission result ⁇ A, i is calculated from
  • steps S153A and S154A is the same as in the seventh embodiment.
  • step S12Bb random number generation unit 12 of the terminal device 1 2 generates a random number t i21, t i22, t ' i21, t' i22 ⁇ Z and the group element g 3, g 4 ⁇ G.
  • g 3 and g 4 are elements that are not unit elements of the group G.
  • step S13Bb public key randomization section 13 of the terminal device 1 1, by the equation (147), and the public key Q A, 1 and short-term public key X A, 1 of the terminal device 1 2, using the random number t i21 To calculate a randomized value (hereinafter referred to as first randomized public key information). Further, the equation (148), and the public key Q A, 1 and short-term public key X A, 1 of the terminal device 1 2, randomized value using a random number t i22 (hereinafter, the second random number of public key information Is calculated). Calculated first randomized public key information and the pair of the second random number of public key information, and transmits to the key unit 2 1.
  • step S21Bb the proxy calculator 21 of the key device 2 2 shares the homomorphic map F 1, B : G 1 ⁇ G T , h 1 ⁇ e (h 1 , Z 2 xB ) according to the equation (149).
  • a value ⁇ B, i1 (hereinafter referred to as the first commission result) necessary for calculating the key is calculated.
  • a value ⁇ B, i2 (hereinafter referred to as a second consignment result) necessary for calculation of the shared key is calculated by the equation (150).
  • Calculated first commissioned results zeta B, i1 and the second consignment result zeta B, i2 is transmitted to the terminal device 1 2.
  • step S14Bb the verifying unit 14 of the terminal device 1 2, by the equation (151), first commissioned results xi] B, i1 and t i22 squared value (hereinafter, referred to as a first verification value.) And, second delegated It is verified whether or not the result ⁇ B, i2 is equal to a value obtained by raising t i21 to power (hereinafter referred to as a second verification value). If the first verification value matches the second verification value, the process proceeds to step S151Bb. If the first verification value and the second verification value do not match, the process returns to step S12Bb.
  • step S151Bb shared key calculation unit 15 of the terminal device 1 2, by the equation (152), the random number t 'i21, t' i22 first commissioned results xi] B, i1 and the second consignment results using xi] B, i2
  • the commission result ⁇ B, i is calculated from
  • steps S153B and S154B are the same as in the seventh embodiment.
  • the formula (154) is calculated by the proxy calculation executed in steps S13Ab and S21Ab.
  • step S13Ab ⁇ i, B is replaced with ⁇ ′ i, B in equation (155), and in step S21Ab, the homomorphic map F 1, A : G 2 ⁇ G T , h 2 ⁇ e (Z 1 xA , h 2 ) can be replaced by F 2, A : G T ⁇ G T , h T ⁇ g T xA .
  • the formula (156) is calculated by the proxy calculation executed in steps S13Bb and S21Bb.
  • step S13Bb ⁇ 1, i, A is replaced with ⁇ 2, i, A in the equation (157), and in step S21Bb, the homomorphic map F 1, B : G 1 ⁇ G T , h 1 ⁇ e ( By replacing h 1 , Z 2 xB ) with F 2, B : G T ⁇ G T , h T ⁇ g T xB , a similar proxy calculation can be performed.
  • the key device stores the unique information of the terminal device, and only the terminal device that has registered the unique information in advance can entrust proxy calculation.
  • the configuration applied to the first embodiment will be described as an example, but the above-described embodiments can be similarly applied and configured.
  • the storage unit 10 of the terminal device 1 in addition to the public key g x of the terminal device 1 1, specific information Add 1 is stored.
  • the key device 2 first storage unit 20, in addition to the private key x of the terminal device 1 1, list List 1 are stored.
  • Specific information Add 1 advance of the terminal device 1 1 in the list List 1 are registered.
  • step S13 the public key randomization section 13 of the terminal device 1 1, in addition to the pair of the first random number of the public key information and the second random number of public key information, and transmits the unique information Add 1 to the key device 2 1 To do.
  • step S21 the proxy computer 21 of the key unit 2 1, specific information Add 1 received to confirm whether or not on the list List 1 of the storage unit 20. If registered, the first commission result Z 1 and the second commission result Z 2 are calculated. If it is not registered, the process ends without performing proxy calculation.
  • the program describing the processing contents can be recorded on a computer-readable recording medium.
  • a computer-readable recording medium for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.
  • this program is distributed, for example, by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
  • a computer that executes such a program first stores a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device.
  • the computer reads a program stored in its own recording medium and executes a process according to the read program.
  • the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer.
  • the processing according to the received program may be executed sequentially.
  • the program is not transferred from the server computer to the computer, and the above processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good.
  • ASP Application Service Provider
  • the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
  • the present apparatus is configured by executing a predetermined program on a computer.
  • a predetermined program on a computer.
  • at least a part of these processing contents may be realized by hardware.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Power Engineering (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

 鍵装置が共有鍵を計算することができず、クライアントが正しい鍵装置により正しく処理されたことを確認することができる。乱数生成部12は、乱数s1, s2, s'1, s'2を生成する。公開鍵乱数化部13は、乱数s1を用いて公開鍵を乱数化した第一乱数化公開鍵情報と、乱数s2を用いて公開鍵を乱数化した第二乱数化公開鍵情報とを生成する。代理計算部21は、秘密鍵を用いて第一委託結果を算出し、秘密鍵を用いて第二委託結果を算出する。検証部14は、乱数s2を用いて第一検証値を算出し、乱数s1を用いて第二検証値を算出し、第一検証値と第二検証値とが一致するか否かを検証する。共有鍵生成部15は、第一検証値と第二検証値とが一致する場合に、乱数s'1, s'2を用いて共有鍵を算出する。

Description

鍵交換方法、鍵交換システム、鍵装置、端末装置、およびプログラム
 本発明は、情報セキュリティ分野の応用技術に関し、特にクラウド鍵管理型の鍵交換技術に関する。
 特許文献1には、代理計算技術が記載されている。代理計算とは、別装置に何らかの計算を委託することである。よく知られる代理計算としては、復号機能を備えた装置に暗号文の復号を依頼し、平文を得るというものである。例えば、クライアントが平文mを公開鍵yで暗号化した暗号文Cを保持しており、鍵装置が公開鍵yに対する秘密鍵sを保持しているとする。クライアントは暗号文Cを鍵装置に送信し、鍵装置は公開鍵yに対応する秘密鍵sで暗号文Cを復号して平文mを得、クライアントへ返信する。代理計算によって、(1)クライアントが所持すべき計算能力と機能の不足、(2)クライアントが機能を実行するために必要な秘密情報の漏洩(例えば、代理計算を用いない通常の構成では、秘密鍵をクライアント自身が管理する必要があり、クライアントから秘密鍵が漏洩する恐れがある。)、(3)クライアントが所有する装置の紛失や盗難による不正利用(例えば、鍵装置が秘密鍵を失効させることでクライアントの復号機能を停止させ、不正利用を防止することができる。)、などの課題を解決することができる。
 非特許文献1、2には、鍵交換技術が記載されている。鍵交換とは、公開された通信路を使って2台のクライアントが安全に鍵を交換(共有)するための方式である。具体的な鍵交換の例は、DHM(Diffie-Hellman-Merkle)鍵交換方式がある。一般的に、暗復号を用いて鍵交換を行うことは可能であるが、暗復号では秘密鍵を用いるため、鍵管理が必要となる。一方、DHM鍵交換方式では乱数を用いるため、鍵管理が不要となり安全性が向上する。また、鍵の共有相手を認証しながら鍵交換を行う方式として、デジタル署名を用いた認証鍵交換、MQV(Menezes-Qu-Vanstone)認証鍵交換、HMQV(Hashed MQV)認証鍵交換(以上、非特許文献1参照)、およびFSU認証鍵交換(非特許文献2参照)、などが挙げられる。
 特許文献2には、自己訂正技術が記載されている。自己訂正とは、必ずしも正しい計算結果を出力するとは限らない計算機やシステムを用いて、常に正しい計算を行う技術である。より詳しくは、正しい計算結果を出力する計算機を用いた場合には正しい計算結果を出力し、必ずしも正しい結果を出力するとは限らない計算機を用いた場合には正しい計算結果、もしくは計算できない旨の結果を出力する技術である。
特許第5161177号公報 特許第5506704号公報
岡本龍明、「鍵交換:現代暗号の誕生とその発展」、電気情報通信学会、Fundamentals Review、vol. 1、no. 4、pp. 70-76、2007年 Atsushi Fujioka, Koutarou Suzuki, Berkant Ustaoglu, "Ephemeral Key Leakage Resilient and Efficient ID-AKEs That Can Share Identities,Private and Master Keys", Pairing 2010, Lecture Notes in Computer Science, vol. 6487, pp. 187-205, 2010.
 代理計算を用いて鍵交換を行う場合、以下の課題がある。
 (1)共有鍵が漏洩する問題がある。例えば、クライアントu1とクライアントu2が鍵装置(代理計算装置)を利用して代理計算による鍵交換を行う場合、鍵装置はクライアントのみが知るべきである共有鍵を取得でき、クライアント間の暗号通信を解読できてしまう。具体的には、クライアントu1はクライアントu2の公開鍵をそのまま鍵装置へ送信するため、鍵装置はクライアントu1とクライアントu2が鍵交換を行おうとしていることを知ることができる。すると、鍵装置はクライアントu1の秘密鍵と、公開もしくは送信されたクライアントu2の公開鍵とを用いて共有鍵を計算できてしまう。
 (2)鍵装置の処理正当性の問題がある。秘密鍵を所持する鍵装置が、バグや故障等により正しい処理を行えない場合に、クライアントは鍵装置が正しい処理を行ったのかを検証できない。
 (3)鍵装置の正当性の問題がある。誤った鍵装置に代理計算を依頼した場合に、クライアントは誤った鍵装置の処理結果であることを検出できない。
 この発明の目的は、このような点に鑑みて、鍵装置が共有鍵を計算することができず、クライアントが正しい鍵装置により正しく処理されたことを確認することができる鍵交換技術を提供することである。
 上記の課題を解決するために、この発明の鍵交換方法は、s1, s2を互いに素な乱数とし、s'1, s'2を乱数s1, s2と所定の関係を満たす乱数とし、鍵装置の記憶部に、端末装置の秘密鍵が記憶されており、端末装置が、乱数s1, s2, s'1, s'2を生成する乱数生成ステップと、端末装置が、乱数s1を用いて端末装置の公開鍵と他の端末装置の公開鍵を乱数化した第一乱数化公開鍵情報と、乱数s2を用いて端末装置の公開鍵と他の端末装置の公開鍵を乱数化した第二乱数化公開鍵情報とを生成する公開鍵乱数化ステップと、鍵装置が、秘密鍵を用いて第一乱数化公開鍵情報から第一委託結果を算出し、秘密鍵を用いて第二乱数化公開鍵情報から第二委託結果を算出する代理計算ステップと、端末装置が、乱数s2を用いて第一委託結果から第一検証値を算出し、乱数s1を用いて第二委託結果から第二検証値を算出し、第一検証値と第二検証値とが一致するか否かを検証する検証ステップと、端末装置が、第一検証値と第二検証値とが一致する場合に、乱数s'1, s'2を用いて第一委託結果および第二委託結果から共有鍵を算出する共有鍵生成ステップと、を含む。
 端末装置から鍵装置へ送信される公開鍵が乱数化されているため、鍵装置は計算を依頼してきた端末装置が他のどの端末装置と鍵交換を行うのかを特定できない。また、端末装置は他の端末装置の公開鍵を乱数化して代理計算を委託するため、鍵装置は共有鍵を計算することができない。
 また、端末装置は自分の公開鍵と相手方の乱数化した公開鍵を鍵装置へ送信し、鍵装置は両方について処理結果を返信するため、正しい鍵装置が選択されていない場合や鍵装置が正しく処理をしていない場合は、委託した結果として得られる二つの鍵交換に必要な値に誤差が生じる。端末装置はその誤差の有無を確認することで、正しい鍵装置であることと正しく処理されていることを確認することができる。
 したがって、この発明の鍵交換技術によれば、鍵装置が共有鍵を計算することができず、クライアントが正しい鍵装置により正しく処理されたことを確認することができる。
図1は、第一実施形態の鍵交換システムの機能構成を例示する図である。 図2Aは、端末装置の機能構成を例示する図である。図2Bは、鍵装置の機能構成を例示する図である。 図3は、第一実施形態の鍵交換方法の処理フローを例示する図である。 図4は、第二実施形態の鍵交換方法の処理フローを例示する図である。 図5は、第三実施形態の鍵交換方法の処理フローを例示する図である。 図6は、第四実施形態の鍵交換方法の処理フローを例示する図である。 図7は、第五実施形態の鍵交換システムの機能構成を例示する図である。 図8は、第五実施形態の鍵交換方法の処理フローを例示する図である。 図9は、第六実施形態の鍵交換システムの機能構成を例示する図である。 図10は、第六実施形態の鍵交換方法の処理フローを例示する図である。 図11は、第七実施形態の鍵交換システムの機能構成を例示する図である。 図12は、第七実施形態の鍵交換方法の処理フローを例示する図である。 図13は、第七実施形態の鍵交換方法の処理フローを例示する図である。
 以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
[自己訂正を用いた代理計算]
 自己訂正を用いた代理計算、特に群準同型の代理計算について説明する。二つの群G, Hと、その間の準同型写像をF: G→Hとする。このとき、GとHに定義される二項演算はともに乗法としても一般性を失わない。クライアント端末Uがg∈Gを秘匿化して代理計算装置Pに送信し、F(g)の計算を委託する手法を以下に述べる。
 (1)クライアント端末Uは単位元でない適当な元g0∈Gに対してF(g0)を計算する。
 (2)クライアント端末Uはランダムな整数s1, s2∈Zを互いに素になるようにとり、s'1とs'2をs1s'1+s2s'2=1を満足するように定める。
 (3)クライアント端末Uは任意の単位元でない元g1, g2∈Gを定め、代理計算装置Pへ二つのペア(g1 -1, g1gs1), (g2 -1, g2gs2)を送信する。
 (4)代理計算装置Pはζ1=F(g1 -1)F(g1gs1), ζ2=F(g2 -1)F(g2gs2)を計算し、クライアント端末Uへ送信する。
 (5)クライアント端末Uはζ1 s22 s1を確認する。正しくなければ(1)に戻る。正しければ、ζ1 s'1ζ2 s'2=F(gs1s'1+s2s'2)=F(g)を計算する。
[第一実施形態]
 第一実施形態は、自己訂正を用いたDHM鍵交換方式である。
 本形態の鍵交換システムは、例えば、図1に示すように、共有鍵の交換を行う2台の端末装置11, 12と各端末装置に対応する2台の鍵装置21, 22とを含む。本形態では2台の端末装置1が鍵交換を行う例を説明するが、鍵交換システムに含まれる端末装置1および鍵装置2の数に制限はない。各端末装置1および各鍵装置2は通信網9を介して相互に通信可能に接続される。通信網9は、例えば、インターネットやWAN(Wide Area Network)、LAN(Local Area Network)、専用線、公衆交換電話網、携帯電話通信網などで構成することができる。
 端末装置1は、例えば、図2Aに示すように、記憶部10、公開鍵受信部11、乱数生成部12、公開鍵乱数化部13、検証部14、および共有鍵生成部15を含む。
 鍵装置2は、例えば、図2Bに示すように、記憶部20および代理計算部21を含む。
 端末装置1および鍵装置2は、例えば、中央演算処理装置(CPU: Central Processing Unit)、主記憶装置(RAM: Random Access Memory)などを有する公知又は専用のコンピュータに特別なプログラムが読み込まれて構成された特別な装置である。端末装置1および鍵装置2は、例えば、中央演算処理装置の制御のもとで各処理を実行する。端末装置1および鍵装置2に入力されたデータや各処理で得られたデータは、例えば、主記憶装置に格納され、主記憶装置に格納されたデータは必要に応じて読み出されて他の処理に利用される。また、端末装置1および鍵装置2の各処理部の少なくとも一部が集積回路等のハードウェアによって構成されていてもよい。
 以下、図3を参照して、本形態の鍵交換方法の処理手続きを説明する。図3では、端末装置11および鍵装置21の処理のみを示すが、端末装置12および鍵装置22についても同様の処理を行う。
 以下では、gを位数が素数pである群Gの要素とし、Zpを位数pの剰余環とし、x, y∈Zpとする。
 鍵装置21の記憶部20には、端末装置11の秘密鍵xが記憶されている。端末装置11の記憶部10には、端末装置11の公開鍵gxが記憶されている。同様に、鍵装置22の記憶部20には、端末装置12の秘密鍵yが記憶されている。端末装置12の記憶部10には、端末装置12の公開鍵gyが記憶されている。
 ステップS11において、端末装置12の公開鍵受信部11は、端末装置12の公開鍵gyを端末装置11へ送信する。端末装置11の公開鍵受信部11は、公開鍵gyを端末装置12より受信する。同様に、端末装置11の公開鍵受信部11は、端末装置11の公開鍵gxを端末装置12へ送信する。端末装置12の公開鍵受信部11は、公開鍵gxを端末装置11より受信する。
 ステップS12において、端末装置11の乱数生成部12は、乱数s1, s2, s'1, s'2, r1, r2を生成する。ここで、s1, s2は互いに素であり、s1s'1+s2s'2=1を満たすものとする。r1, r2は任意の数でよい。同様に、端末装置12の乱数生成部12は、s3, s4, s'3, s'4, r3, r4を生成する。ここで、s3, s4は互いに素であり、s3s'3+s4s'4=1を満たすものとする。r3, r4は任意の数でよい。
 ステップS13において、端末装置11の公開鍵乱数化部13は、式(1)により、端末装置11の公開鍵gxと端末装置12の公開鍵gyとの組を、乱数s1, r1を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(2)により、端末装置11の公開鍵gxと端末装置12の公開鍵gyとの組を、乱数s2, r2を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置21へ送信する。
Figure JPOXMLDOC01-appb-M000023
 第一乱数化公開鍵情報は、具体的には以下のようにして計算することができる。gxを-r1乗してg-r1xを計算する。gyをs1乗してgs1yを計算する。gをr1乗してgr1を計算する。gs1yとgr1とを掛け合わせて、gs1y+r1を計算する。第二乱数化公開鍵情報も同様にして計算することができる。
 同様に、端末装置12の公開鍵乱数化部13は、式(3)により、端末装置11の公開鍵gxと端末装置12の公開鍵gyとの組を、乱数s3, r3を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(4)により、端末装置11の公開鍵gxと端末装置12の公開鍵gyとの組を、乱数s4, r4を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置22へ送信する。
Figure JPOXMLDOC01-appb-M000024
 ステップS21において、鍵装置21の代理計算部21は、式(5)により、秘密鍵xを用いて第一乱数化公開鍵情報から共有鍵の計算に必要な値Z1(以下、第一委託結果と呼ぶ。)を算出する。また、式(6)により、秘密鍵xを用いて第二乱数化公開鍵情報から共有鍵の計算に必要な値Z2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果Z1と第二委託結果Z2とは、端末装置11へ送信する。
Figure JPOXMLDOC01-appb-M000025
 第一委託結果Z1は、具体的には以下のようにして計算することができる。gs1y+r1をx乗してg(s1y+r1)xを計算する。g-r1xとg(s1y+r1)xとを掛け合わせて、g-r1xg(s1y+r1)xを計算する。第二委託結果Z2も同様にして計算することができる。
 同様に、鍵装置22の代理計算部21は、式(7)により、秘密鍵yを用いて第一乱数化公開鍵情報から共有鍵の計算に必要な値Z3(以下、第一委託結果と呼ぶ。)を算出する。また、式(8)により、秘密鍵yを用いて第二乱数化公開鍵情報から共有鍵の計算に必要な値Z4(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果Z3と第二委託結果Z4とは、端末装置12へ送信する。
Figure JPOXMLDOC01-appb-M000026
 ステップS14において、端末装置11の検証部14は、式(9)により、第一委託結果Z1をs2乗した値(以下、第一検証値と呼ぶ。)と第二委託結果Z2をs1乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。同様に、端末装置12の検証部14は、式(10)により、第一委託結果Z3をs4乗した値(以下、第一検証値と呼ぶ。)と第二委託結果Z4をs3乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップS15へ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップS12へ処理を戻す。
Figure JPOXMLDOC01-appb-M000027
 ステップS15において、端末装置11の共有鍵計算部15は、式(11)により、乱数s'1, s'2を用いて第一委託結果Z1および第二委託結果Z2から共有鍵Kを算出する。同様に、端末装置12の共有鍵計算部15は、式(12)により、乱数s'3, s'4を用いて第一委託結果Z3および第二委託結果Z4から共有鍵Kを算出する。
Figure JPOXMLDOC01-appb-M000028
 本形態は、以下のように変形してもよい。ステップS13において、端末装置11の公開鍵乱数化部13が、第一乱数化公開鍵情報をgs1y+r1のみとし、第二乱数化公開鍵情報をgs2y+r2のみとして鍵装置21へ送信する。このとき、g-r1xおよびg-r2xを保持しておく。ステップS21において、鍵装置21の代理計算部21は、式(13)により、第一委託結果Z'1および第二委託結果Z'2を計算する。
Figure JPOXMLDOC01-appb-M000029
 そして、ステップS14において、端末装置11の検証部14は、式(14)により、第一委託結果Z1および第二委託結果Z2を計算する。
Figure JPOXMLDOC01-appb-M000030
[第二実施形態]
 第二実施形態は、自己訂正とデジタル署名を用いた認証鍵交換方式である。
 以下、図4を参照して、本形態の鍵交換方法の処理手続きを説明する。以下では、上述の第一実施形態との相違点を中心に説明する。
 本形態では、端末装置11の記憶部10には、端末装置11の公開鍵gx、端末装置11の署名鍵Sigu1、端末装置12の検証鍵Veru2、および端末装置11のユーザ識別子u1が記憶されている。鍵装置21の記憶部20には、第一実施形態と同様に、端末装置11の秘密鍵xが記憶されている。同様に、端末装置12の記憶部10には、端末装置12の公開鍵gy、端末装置12の署名鍵Sigu2、端末装置11の検証鍵Veru1、および端末装置12のユーザ識別子u2が記憶されている。鍵装置22の記憶部20には、第一実施形態と同様に、端末装置12の秘密鍵yが記憶されている。
 ステップS111において、端末装置12の公開鍵受信部11は、ユーザ識別子u2と公開鍵gyの組(u2, gy)を端末装置11へ送信する。端末装置11の公開鍵受信部11は、(u2, gy)を端末装置12より受信する。同様に、端末装置11の公開鍵受信部11は、ユーザ識別子u1と公開鍵gxの組(u1, gx)を端末装置12へ送信する。端末装置12の公開鍵受信部11は、(u1, gx)を端末装置11より受信する。
 ステップS112において、端末装置11の公開鍵受信部11は、署名鍵Sigu1を用いて、公開鍵gxと公開鍵gyとユーザ識別子u1の組に対する署名Sigu1(gx, gy, u1)を生成し、(u1, gx, Sigu1(gx, gy, u1))を端末装置12へ送信する。端末装置12の公開鍵受信部11は、端末装置11より(u1, gx, Sigu1(gx, gy, u1))を受信する。同様に、端末装置12の公開鍵受信部11は、署名鍵Sigu2を用いて、公開鍵gxと公開鍵gyとユーザ識別子u2の組に対する署名Sigu2(gx, gy, u2)を生成し、(u2, gy, Sigu2(gx, gy, u2))を端末装置11へ送信する。端末装置11の公開鍵受信部11は、端末装置12より(u2, gy, Sigu2(gx, gy, u2))を受信する。
 ステップS113において、端末装置11の公開鍵受信部11は、検証鍵Veru2を用いて、署名Sigu2(gx, gy, u2)を検証する。同様に、端末装置12の公開鍵受信部11は、検証鍵Veru1を用いて、署名Sigu1(gx, gy, u1)を検証する。署名Sigu2(gx, gy, u2)および署名Sigu1(gx, gy, u1)が正しければ、ステップS12へ処理を進める。署名Sigu2(gx, gy, u2)もしくは署名Sigu1(gx, gy, u1)が不正であれば、処理を終了する。
 以降のステップS12~S15、S21の処理は、第一実施形態と同様である。
[第三実施形態]
 第三実施形態は、自己訂正を用いたMQV鍵交換方式である。
 以下、図5を参照して、本形態の鍵交換方法の処理手続きを説明する。以下では、上述の第一実施形態との相違点を中心に説明する。
 本形態では、鍵装置21の記憶部20には、端末装置11の固定秘密鍵a∈Zpが記憶されている。端末装置11の記憶部10には、端末装置11の固定公開鍵A=ga、端末装置11の一時秘密鍵x∈Zp、および端末装置11の一時公開鍵X=gxが記憶されている。同様に、鍵装置22の記憶部20には、端末装置12の固定秘密鍵b∈Zpが記憶されている。端末装置12の記憶部10には、端末装置12の固定公開鍵B=gb、端末装置12の一時秘密鍵y∈Zp、および端末装置12の一時公開鍵Y=gyが記憶されている。
 ステップS111において、端末装置12の公開鍵受信部11は、固定公開鍵Bと一時公開鍵Yの組(B, Y)を端末装置11へ送信する。端末装置11の公開鍵受信部11は、(B, Y)を端末装置12より受信する。同様に、端末装置11の公開鍵受信部11は、固定公開鍵Aと一時公開鍵Xの組(A, X)を端末装置12へ送信する。端末装置12の公開鍵受信部11は、(A, X)を端末装置11より受信する。
 ステップS112において、端末装置11の公開鍵受信部11は、値e={Y}|p|および値d={X}|p|を計算する。ここで、{・}|p|は、・をビット表現した際の上位pビットを意味する。同様に、端末装置12の公開鍵受信部11は、値e={Y}|p|および値d={X}|p|を計算する。
 ステップS13において、端末装置11の公開鍵乱数化部13は、式(15)により、第一乱数化公開鍵情報を算出する。また、式(16)により、第二乱数化公開鍵情報を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置21へ送信する。
Figure JPOXMLDOC01-appb-M000031
 第一乱数化公開鍵情報は、具体的には以下のようにして計算することができる。gaを-r1乗してg-r1aを計算する。gbをe乗してgbeを計算し、gyと掛け合わせてgy+beを計算する。gy+beをs1乗してg(y+be)s1を計算する。gをr1乗してgr1を計算し、g(y+be)s1とgr1とを掛け合わせて、g(y+be)s1+r1を計算する。第二乱数化公開鍵情報も同様にして計算することができる。
 同様に、端末装置12の公開鍵乱数化部13は、式(17)により、第一乱数化公開鍵情報を算出する。また、式(18)により、第二乱数化公開鍵情報を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置22へ送信する。
Figure JPOXMLDOC01-appb-M000032
 ステップS21において、鍵装置21の代理計算部21は、式(19)により、第一委託結果Z1を算出する。また、式(20)により、第二委託結果Z2を算出する。算出した第一委託結果Z1と第二委託結果Z2とは、端末装置11へ送信する。
Figure JPOXMLDOC01-appb-M000033
 同様に、鍵装置22の代理計算部21は、式(21)により、第一委託結果Z3を算出する。また、式(22)により、第二委託結果Z4を算出する。算出した第一委託結果Z3と第二委託結果Z4とは、端末装置12へ送信する。
Figure JPOXMLDOC01-appb-M000034
 ステップS151において、端末装置11の共有鍵計算部15は、式(23)により、乱数s'1, s'2を用いて、第一委託結果Z1および第二委託結果Z2から値YBeaを計算する。同様に、端末装置12の共有鍵計算部15は、式(24)により、乱数s'3, s'4を用いて、第一委託結果Z3および第二委託結果Z4から値XAdbを計算する。
Figure JPOXMLDOC01-appb-M000035
 ステップS151において、端末装置11の共有鍵計算部15は、式(25)により、共有鍵Kを算出する。なお、KDFは鍵導出関数(Key Derivation Function)であり、入力値を乱数に変換する関数である。同様に、端末装置12の共有鍵計算部15は、式(26)により、共有鍵Kを算出する。
Figure JPOXMLDOC01-appb-M000036
 (YBe)x+adは、具体的には以下のようにして計算することができる。YBeをx乗してYBexを計算する。YBeaをd乗してYBeadを計算する。YBexとYBeadとを掛け合わせて、(YBe)x+adを計算する。(XAd)y+beも同様にして計算することができる。
 本形態は、以下のように変形してもよい。ステップS13において、端末装置11の公開鍵乱数化部13は、第一乱数化公開鍵情報をg(y+be)s1+r1のみとし、第二乱数化公開鍵情報をg(y+be)s2+r2のみとして鍵装置21へ送信する。このとき、g-r1aおよびg-r2aを保持しておく。ステップS21において、鍵装置21の代理計算部21は、式(27)により、第一委託結果Z1’および第二委託結果Z2’を計算する。
Figure JPOXMLDOC01-appb-M000037
 そして、ステップS14において、端末装置11の検証部14は、式(28)により、第一委託結果Z1および第二委託結果Z2を計算する。
Figure JPOXMLDOC01-appb-M000038
[第四実施形態]
 第四実施形態は、自己訂正を用いたHMQV鍵交換方式である。
 以下、図6を参照して、本形態の鍵交換方法の処理手続きを説明する。以下では、上述の第三実施形態との相違点を中心に説明する。
 ステップS112において、端末装置11の公開鍵受信部11は、値e=H(Y, X)および値d=H(X, B)を計算する。ここで、H(・)は暗号学的ハッシュ関数である。暗号学的ハッシュ関数の例は、SHA-1, SHA-2などが挙げられる。同様に、端末装置12の公開鍵受信部11は、値e=H(Y, X)および値d=H(X, B)を計算する。
 本形態は、値e, dをハッシュ関数により求める点のみが第三実施形態と異なり、その他の処理は第三実施形態と同様である。
[第五実施形態]
 第五実施形態は、自己訂正を用いたid-id AKE法である。本形態は、特に、鍵装置が秘密鍵を持ち、端末装置が短期秘密鍵を生成する構成である。
 本形態の鍵交換システムは、例えば、図7に示すように、端末装置11, 12と鍵装置21, 22とに加えて、鍵生成装置3を含む。
 以下では、кをセキュリティパラメータとし、G1, G2, GTを位数がкビット長の素数qの巡回群とし、g1, g2, gTをそれぞれ群G1, G2, GTの生成元とする。e: G1×G2→GTをペアリングとする。ここで、gT=e(g1, g2)を満足するものとする。H: {0, 1}*→{0, 1}к, H1: {0, 1}*→G1, H2: {0, 1}*→G2をそれぞれ暗号学的ハッシュ関数とする。
 2以上の自然数mに対して、m個の多項式pi∈Zq[u0, u1, v0, v1](i=1,…,m)を式(29)のように与える。なお、ci,0,0, ci,0,1, ci,1,0, ci,1,1は定数であってもよいし、短期公開鍵、公開鍵、ユーザID等に依存して決まる数でもよい。
Figure JPOXMLDOC01-appb-M000039
 以下、図8を参照して、本形態の鍵交換方法の処理手続きを説明する。
 本形態では、以下のようにして鍵生成を行う。鍵生成装置3は、マスタ秘密鍵z∈Zqをランダムに選択し、マスタ公開鍵のペア(Z1=g1 z∈G1, Z2=g2 z∈G2)を計算し公開する。端末装置11は、識別子IDAを用いて、公開鍵のペア(QA,1=H1(IDA)∈G1, QA,2=H2(IDA)∈G2)を計算し公開する。同様に、端末装置12は、識別子IDBを用いて、公開鍵のペア(QB,1=H1(IDB)∈G1, QB,2=H2(IDB)∈G2)を計算し公開する。鍵生成装置3は、公開鍵の二つのペア(QA,1, QA,2), (QB,1, QB,2)を用いて、秘密鍵の二つのペア(DA,1=QA,1 z, DA,2=QA,2 z), (DB,1=QB,1 z, DB,2=QB,2 z)を計算し、鍵装置21へ秘密鍵のペア(DA,1, DA,2)を、鍵装置22へ秘密鍵のペア(DB,1, DB,2)を配布する。端末装置11は、短期秘密鍵zA∈Zqをランダムに選び、短期公開鍵のペア(XA,1=g1 xA, XA,2=g2 xA)を生成する。同様に、端末装置12は、短期秘密鍵zB∈Zqをランダムに選び、短期公開鍵のペア(XB,1=g1 xB, XB,2=g2 xB)を生成する。
 ステップS111において、端末装置11の公開鍵受信部11は、識別子と短期公開鍵からなる情報(IDA, IDB, XA,1, XA,2)を端末装置12へ送信する。端末装置12の公開鍵受信部11は、情報(IDA, IDB, XA,1, XA,2)を端末装置11から受信する。同様に、端末装置12の公開鍵受信部11は、識別子と短期公開鍵からなる情報(IDA, IDB, XB,1, XB,2)を端末装置11へ送信する。端末装置11の公開鍵受信部11は、情報(IDA, IDB, XB,1, XB,2)を端末装置12から受信する。
 ステップS112において、端末装置11の公開鍵受信部11は、式(30)が成り立つか否かを確認する。同様に、端末装置12の公開鍵受信部11は、式(31)が成り立つか否かを確認する。いずれか一方でも正しくなければ、鍵生成からやり直す。
Figure JPOXMLDOC01-appb-M000040
 本形態では、ステップS121、S122、S13、S21、S14、S151の処理をm回繰り返し実行する。以下では、i(=1,…,m)回目の繰り返しにおける処理手続きを説明するものとする。
 ステップS121において、端末装置11の乱数生成部12は、式(32)を計算する。同様に、端末装置12の乱数生成部12は、式(33)を計算する。
Figure JPOXMLDOC01-appb-M000041
 ステップS122において、端末装置11の乱数生成部12は、乱数si1, si2, s'i1, s'i2, ri1, ri2を生成する。ここで、si1, si2は互いに素であり、si1s'i1+si2s'i2=1を満たすものとする。ri1, ri2は任意の非零整数とする。同様に、端末装置12の乱数生成部12は、ti1, ti2, t'i1, t'i2, li1, li2を生成する。ここで、ti1, ti2は互いに素であり、ti1t'i1+ti2t'i2=1を満たすものとする。li1, li2は任意の非零整数とする。
 ステップS13において、端末装置11の公開鍵乱数化部13は、式(34)により、端末装置12の公開鍵QB,2と短期公開鍵XB,2とを、乱数si1, ri1を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(35)により、端末装置12の公開鍵QB,2と短期公開鍵XB,2とを、乱数si2, ri2を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置21へ送信する。
Figure JPOXMLDOC01-appb-M000042
 同様に、端末装置12の公開鍵乱数化部13は、式(36)により、端末装置11の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti1, li1を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(37)により、端末装置11の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti2, li2を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置22へ送信する。
Figure JPOXMLDOC01-appb-M000043
 ステップS21において、鍵装置21の代理計算部21は、式(38)により、秘密鍵DA,1を用いて第一乱数化公開鍵情報から共有鍵の計算に必要な値ζA,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(39)により、秘密鍵DA,2を用いて第二乱数化公開鍵情報から共有鍵の計算に必要な値ζA,i2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果ζA,i1と第二委託結果ζA,i2とは、端末装置11へ送信する。
Figure JPOXMLDOC01-appb-M000044
 同様に、鍵装置22の代理計算部21は、式(40)により、秘密鍵DB,2を用いて第一乱数化公開鍵情報から共有鍵の計算に必要な値ζB,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(41)により、秘密鍵DB,2を用いて第二乱数化公開鍵情報から共有鍵の計算に必要な値ζB,i2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果ζB,i1と第二委託結果ζB,i2とは、端末装置12へ送信する。
Figure JPOXMLDOC01-appb-M000045
 ステップS14において、端末装置11の検証部14は、式(42)により、第一委託結果ζA,i1をsi2乗した値(以下、第一検証値と呼ぶ。)と第二委託結果ζA,i2をsi1乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。同様に、端末装置12の検証部14は、式(43)により、第一委託結果ζB,i1をti2乗した値(以下、第一検証値と呼ぶ。)と第二委託結果ζB,i2をti1乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップS151へ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップS122へ処理を戻す。
Figure JPOXMLDOC01-appb-M000046
 ステップS151において、端末装置11の共有鍵計算部15は、式(44)により、乱数s'i1, s'i2を用いて第一委託結果ζA,i1および第二委託結果ζA,i2から委託結果ζA,iを算出する。同様に、端末装置12の共有鍵計算部15は、式(45)により、乱数t'i1, t'i2を用いて第一委託結果ζB,i1および第二委託結果ζB,i2から委託結果ζB,iを算出する。
Figure JPOXMLDOC01-appb-M000047
 ステップS152において、端末装置11の共有鍵計算部15は、i=1,…,mについて、式(46)により、値σiを計算して、値σ1,…,σmを生成する。同様に、端末装置12の共有鍵計算部15は、i=1,…,mについて、式(47)により、値σiを計算して、値σ1,…,σmを生成する。
Figure JPOXMLDOC01-appb-M000048
 ステップS153において、端末装置11の共有鍵計算部15は、式(48)により、値σm+1, σm+2を計算する。同様に、端末装置12の共有鍵計算部15は、式(49)により、値σm+1, σm+2を計算する。
Figure JPOXMLDOC01-appb-M000049
 ステップS154において、端末装置11および端末装置12の共有鍵計算部15は、式(50)により、値σ1,…,σm+2を用いて、共有鍵Kを算出する。
Figure JPOXMLDOC01-appb-M000050
 端末装置11および端末装置12の共有鍵計算部15が計算した値σ1,…,σm+2はいずれも、i=1,…,mとして、式(51)のように表すことができる。したがって、端末装置11の計算した共有鍵Kと端末装置12の計算した共有鍵Kとは一致する。
Figure JPOXMLDOC01-appb-M000051
[変形例5-1]
 変形例5-1は、第五実施形態の自己訂正を用いたid-id AKE法の変形例である。本変形例は、特に、鍵装置が秘密鍵を持ち、鍵装置が短期秘密鍵を生成する構成において、鍵装置に群GTのべき乗の計算を委託する構成である。
 以下、本変形例の鍵交換方法の処理手続きを説明する。以下では、上述の第五実施形態との相違点を中心に説明する。
 本変形例では、以下のようにして鍵生成を行う。鍵生成装置3は、マスタ秘密鍵z∈Zqをランダムに選択し、マスタ公開鍵のペア(Z1=g1 z∈G1, Z2=g2 z∈G2)を計算し公開する。端末装置11は、識別子IDAを用いて、公開鍵のペア(QA,1=H1(IDA)∈G1, QA,2=H2(IDA)∈G2)を計算し公開する。同様に、端末装置12は、識別子IDBを用いて、公開鍵のペア(QB,1=H1(IDB)∈G1, QB,2=H2(IDB)∈G2)を計算し公開する。鍵生成装置3は、公開鍵の二つのペア(QA,1, QA,2), (QB,1, QB,2)を用いて、秘密鍵の二つのペア(DA,1=QA,1 z, DA,2=QA,2 z), (DB,1=QB,1 z, DB,2=QB,2 z)を計算し、鍵装置21へ秘密鍵のペア(DA,1, DA,2)を、鍵装置22へ秘密鍵のペア(DB,1, DB,2)を配布する。鍵装置21は、短期秘密鍵zA∈Zqをランダムに選び、短期公開鍵のペア(XA,1=g1 xA, XA,2=g2 xA)を生成し、端末装置11へ送信する。同様に、鍵装置22は、短期秘密鍵zB∈Zqをランダムに選び、短期公開鍵のペア(XB,1=g1 xB, XB,2=g2 xB)を生成し、端末装置12へ送信する。
 本変形例では、ステップS121、S122、S13、S21、S14、S151の処理をm回繰り返し実行した後、以下のステップS121b、S122b、S13b、S21b、S14b、S151b(図示せず)の処理をm+2回繰り返し実行する。以下では、i(=1,…,m+2)回目の繰り返しにおける処理手続きを説明する。
 ステップS121bにおいて、端末装置11の乱数生成部12は、式(52)を計算する。同様に、端末装置12の乱数生成部12は、式(53)を計算する。
Figure JPOXMLDOC01-appb-M000052
 ステップS122bにおいて、端末装置11の乱数生成部12は、乱数si21, si22, s'i21, s'i22, ri21, ri22を生成する。ここで、si21, si22は互いに素であり、si21s'i21+si22s'i22=1を満たすものとする。ri21, ri22は任意の非零整数とする。同様に、端末装置12の乱数生成部12は、乱数ti21, ti22, t'i21, t'i22, li21, li22を生成する。ここで、ti21, ti22は互いに素であり、ti21t'i21+ti22t'i22=1を満たすものとする。li21, li22は任意の非零整数とする。
 ステップS13bにおいて、端末装置11の公開鍵乱数化部13は、式(54)により、端末装置12の公開鍵QB,2と短期公開鍵XB,2とを、乱数si21, ri21を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(55)により、端末装置12の公開鍵QB,2と短期公開鍵XB,2とを、乱数si22, ri22を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置21へ送信する。
Figure JPOXMLDOC01-appb-M000053
 同様に、端末装置12の公開鍵乱数化部13は、式(56)により、端末装置11の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti21, li21を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(57)により、端末装置11の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti22, li22を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置22へ送信する。
Figure JPOXMLDOC01-appb-M000054
 ステップS21bにおいて、鍵装置21の代理計算部21は、式(58)により、短期秘密鍵xAを用いて第一乱数化公開鍵情報から共有鍵の計算に必要な値ξA,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(59)により、短期秘密鍵xAを用いて第二乱数化公開鍵情報から共有鍵の計算に必要な値ξA,i2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果ζA,i1と第二委託結果ζA,i2とは、端末装置11へ送信する。
Figure JPOXMLDOC01-appb-M000055
 同様に、鍵装置22の代理計算部21は、式(60)により、短期秘密鍵xBを用いて第一乱数化公開鍵情報から共有鍵の計算に必要な値ξB,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(61)により、短期秘密鍵xBを用いて第二乱数化公開鍵情報から共有鍵の計算に必要な値ξB,i2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果ζB,i1と第二委託結果ζB,i2とは、端末装置12へ送信する。
Figure JPOXMLDOC01-appb-M000056
 ステップS14bにおいて、端末装置11の検証部14は、式(62)により、第一委託結果ξA,i1をsi22乗した値(以下、第一検証値と呼ぶ。)と第二委託結果ξA,i2をsi21乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。同様に、端末装置12の検証部14は、式(63)により、第一委託結果ξB,i1をti22乗した値(以下、第一検証値と呼ぶ。)と第二委託結果ξB,i2をti21乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップS151bへ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップS122bへ処理を戻す。
Figure JPOXMLDOC01-appb-M000057
 ステップS151bにおいて、端末装置11の共有鍵計算部15は、式(64)により、乱数s'i21, s'i22を用いて第一委託結果ξA,i1および第二委託結果ξA,i2から委託結果ξA,iを算出する。同様に、端末装置12の共有鍵計算部15は、式(65)により、乱数t'i21, t'i22を用いて第一委託結果ξB,i1および第二委託結果ξB,i2から委託結果ξB,iを算出する。
Figure JPOXMLDOC01-appb-M000058
 ステップS152において、端末装置11の共有鍵計算部15は、i=1,…,mについて、式(66)により、値σiを計算して、値σ1,…,σmを生成する。同様に、端末装置12の共有鍵計算部15は、i=1,…,mについて、式(67)により、値σiを計算して、値σ1,…,σmを生成する。
Figure JPOXMLDOC01-appb-M000059
 ステップS153において、端末装置11の共有鍵計算部15は、式(68)により、値σm+1, σm+2を計算する。同様に、端末装置12の共有鍵計算部15は、式(69)により、値σm+1, σm+2を計算する。
Figure JPOXMLDOC01-appb-M000060
 ステップS154において、端末装置11の共有鍵計算部15および端末装置12の共有鍵計算部15は、式(70)により、値σ1,…,σm+2を用いて、共有鍵Kを算出する。
Figure JPOXMLDOC01-appb-M000061
[変形例5-2]
 変形例5-2は、第五実施形態の自己訂正を用いたid-id AKE法の変形例である。本変形例は、特に、鍵装置が秘密鍵を持ち、鍵装置が短期秘密鍵を生成する構成において、鍵装置に群GTのペアリングの計算を委託する構成である。
 以下、本変形例の鍵交換方法の処理手続きを説明する。以下では、上述の第五実施形態との相違点を中心に説明する。
 本変形例では、変形例5-1と同様にして鍵生成を行う。
 本変形例では、ステップS121、S122、S13、S21、S14、S151の処理をm回繰り返し実行した後、以下のステップS121c、S122c、S13c、S21c、S14c、S151c(図示せず)の処理をm回繰り返し実行する。以下では、i(=1,…,m)回目の繰り返しにおける処理手続きを説明する。その後、上述のステップS121b、S122b、S13b、S21b、S14b、S151bの処理をi=m+1, m+2について実行する。
 ステップS121cにおいて、端末装置11の乱数生成部12は、式(71)を計算する。同様に、端末装置12の乱数生成部12は、式(72)を計算する。
Figure JPOXMLDOC01-appb-M000062
 ステップS122cにおいて、端末装置11の乱数生成部12は、乱数si31, si32, s'i31, s'i32, ri31, ri32を生成する。ここで、si31, si32は互いに素であり、si31s'i31+si32s'i32=1を満たすものとする。ri31, ri32は任意の非零整数とする。同様に、端末装置12の乱数生成部12は、乱数ti31, ti32, t'i31, t'i32, li31, li32を生成する。ここで、ti31, ti32は互いに素であり、ti31t'i31+ti32t'i32=1を満たすものとする。li31, li32は任意の非零整数とする。
 ステップS13cにおいて、端末装置11の公開鍵乱数化部13は、式(73)により、端末装置12の公開鍵QB,2と短期公開鍵XB,2とを、乱数si31, ri31を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(74)により、端末装置12の公開鍵QB,2と短期公開鍵XB,2とを、乱数si32, ri32を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置21へ送信する。
Figure JPOXMLDOC01-appb-M000063
 同様に、端末装置12の公開鍵乱数化部13は、式(75)により、端末装置11の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti31, li31を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(76)により、端末装置11の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti32, li32を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置22へ送信する。
Figure JPOXMLDOC01-appb-M000064
 ステップS21cにおいて、鍵装置21の代理計算部21は、式(77)により、短期秘密鍵xAを用いて第一乱数化公開鍵情報から共有鍵の計算に必要な値ξA,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(78)により、短期秘密鍵xAを用いて第二乱数化公開鍵情報から共有鍵の計算に必要な値ξA,i2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果ζA,i1と第二委託結果ζA,i2とは、端末装置11へ送信する。
Figure JPOXMLDOC01-appb-M000065
 同様に、鍵装置22の代理計算部21は、式(79)により、短期秘密鍵xBを用いて第一乱数化公開鍵情報から共有鍵の計算に必要な値ξB,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(80)により、短期秘密鍵xBを用いて第二乱数化公開鍵情報から共有鍵の計算に必要な値ξB,i2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果ζB,i1と第二委託結果ζB,i2とは、端末装置12へ送信する。
Figure JPOXMLDOC01-appb-M000066
 ステップS14cにおいて、端末装置11の検証部14は、式(81)により、第一委託結果ξA,i1をsi32乗した値(以下、第一検証値と呼ぶ。)と第二委託結果ξA,i2をsi31乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。同様に、端末装置12の検証部14は、式(82)により、第一委託結果ξB,i1をti32乗した値(以下、第一検証値と呼ぶ。)と、第二委託結果ξB,i2をti31乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップS151cへ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップS122cへ処理を戻す。
Figure JPOXMLDOC01-appb-M000067
 ステップS151cにおいて、端末装置11の共有鍵計算部15は、式(83)により、乱数s'i31, s'i32を用いて第一委託結果ξA,i1および第二委託結果ξA,i2から委託結果ξA,iを算出する。同様に、端末装置12の共有鍵計算部15は、式(84)により、乱数t'i21, t'i22を用いて第一委託結果ξB,i1および第二委託結果ξB,i2から委託結果ξB,iを算出する。
Figure JPOXMLDOC01-appb-M000068
[第六実施形態]
 第六実施形態は、自己訂正を用いたcert-cert AKE法である。本形態は、特に、鍵装置が秘密鍵を持ち、端末装置が短期秘密鍵を生成する構成である。
 本形態の鍵交換システムは、例えば、図9に示すように、端末装置11, 12と鍵装置21, 22とに加えて、認証局装置4を含む。
 以下、図10を参照して、本形態の鍵交換方法の処理手続きを説明する。以下では、上述の第五実施形態との相違点を中心に説明する。
 本形態では、以下のようにして鍵生成を行う。鍵装置11は、秘密鍵sA∈Zqをランダムに選択し、公開鍵SA=gsA∈Gを計算し、端末装置11へ送信する。同様に、鍵装置12は、秘密鍵sB∈Zqをランダムに選択し、公開鍵SB=gsB∈Gを計算し、端末装置12へ送信する。認証局装置4は、端末装置11の公開鍵SAおよび端末装置12の公開鍵SBを認証する。端末装置11は、短期秘密鍵xA∈Zqをランダムに選択し、短期公開鍵XA=gxA∈Gを計算する。同様に、端末装置12は、短期秘密鍵xB∈Zqをランダムに選択し、短期公開鍵XB=gxB∈Gを計算する。
 ステップS11において、端末装置11の公開鍵受信部11は、公開鍵と短期公開鍵からなる情報(SA, XA)を端末装置12へ送信する。端末装置12の公開鍵受信部11は、情報(SA, XA)を端末装置11から受信する。同様に、端末装置12の公開鍵受信部11は、公開鍵と短期公開鍵からなる情報(SB, XB)を端末装置11へ送信する。端末装置11の公開鍵受信部11は、情報(SB, XB)を端末装置12から受信する。
 本形態では、ステップS12、S13、S21、S14、S151の処理をm回繰り返し実行する。以下では、i(=1,…,m)回目の繰り返しにおける処理手続きを説明するものとする。
 ステップS12において、端末装置11の乱数生成部12は、乱数si1, si2, s'i1, s'i2∈Zおよび群要素g1, g2∈Gを生成する。ここで、si1, si2は互いに素であり、si1s'i1+si2s'i2=1を満たすものとする。g1, g2は群Gの単位元ではない元とする。同様に、端末装置12の乱数生成部12は、乱数ti1, ti2, t'i1, t'i2∈Zおよび群要素g3, g4∈Gを生成する。ここで、ti1, ti2は互いに素であり、ti1t'i1+ti2t'i2=1を満たすものとする。g3, g4は群Gの単位元ではない元とする。
 ステップS13において、端末装置11の公開鍵乱数化部13は、式(85)により、端末装置12の公開鍵SBと短期公開鍵XBとを、乱数si1を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(86)により、端末装置12の公開鍵SBと短期公開鍵XBとを、乱数si2を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置21へ送信する。
Figure JPOXMLDOC01-appb-M000069
 同様に、端末装置12の公開鍵乱数化部13は、式(87)により、端末装置11の公開鍵SAと短期公開鍵XAとを、乱数ti1を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(88)により、端末装置11の公開鍵SAと短期公開鍵XAとを、乱数ti2を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置22へ送信する。
Figure JPOXMLDOC01-appb-M000070
 ステップS21において、鍵装置21の代理計算部21は、式(89)により、準同型写像FA: G→G, h→hxAについて、共有鍵の計算に必要な値ζA,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(90)により、共有鍵の計算に必要な値ζA,i2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果ζA,i1と第二委託結果ζA,i2とは、端末装置11へ送信する。
Figure JPOXMLDOC01-appb-M000071
 同様に、鍵装置22の代理計算部21は、式(91)により、準同型写像FB: G→G, h→hxBについて、共有鍵の計算に必要な値ζB,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(92)により、共有鍵の計算に必要な値ζB,i2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果ζB,i1と第二委託結果ζB,i2とは、端末装置12へ送信する。
Figure JPOXMLDOC01-appb-M000072
 ステップS14において、端末装置11の検証部14は、式(93)により、第一委託結果ζA,i1をsi2乗した値(以下、第一検証値と呼ぶ。)と、第二委託結果ζA,i2をsi1乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。同様に、端末装置12の検証部14は、式(94)により、第一委託結果ζB,i1をti2乗した値(以下、第一検証値と呼ぶ。)と、第二委託結果ζB,i2をti1乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップS151へ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップS12へ処理を戻す。
Figure JPOXMLDOC01-appb-M000073
 ステップS151において、端末装置11の共有鍵計算部15は、式(95)により、乱数s'i1, s'i2を用いて第一委託結果ζA,i1および第二委託結果ζA,i2から委託結果ζA,iを算出する。同様に、端末装置12の共有鍵計算部15は、式(96)により、乱数t'i1, t'i2を用いて第一委託結果ζB,i1および第二委託結果ζB,i2から委託結果ζB,iを算出する。
Figure JPOXMLDOC01-appb-M000074
 ステップS152において、端末装置11の共有鍵計算部15は、i=1,…,mについて、式(97)により、値σiを計算して、値σ1,…,σmを生成する。同様に、端末装置12の共有鍵計算部15は、i=1,…,mについて、式(98)により、値σiを計算して、値σ1,…,σmを生成する。
Figure JPOXMLDOC01-appb-M000075
 ステップS154において、端末装置11および端末装置12の共有鍵計算部15は、式(99)により、値σ1,…,σmを用いて、共有鍵Kを算出する。
Figure JPOXMLDOC01-appb-M000076
 端末装置11および端末装置12の共有鍵計算部15が計算した値σ1,…,σmはいずれも、i=1,…,mとして、式(100)のように表すことができる。したがって、端末装置11の計算した共有鍵Kと端末装置12の計算した共有鍵Kとは一致する。
Figure JPOXMLDOC01-appb-M000077
[変形例6]
 変形例6は、第六実施形態の自己訂正を用いたcert-cert AKE法の変形例である。本変形例は、特に、鍵装置が秘密鍵を持ち、鍵装置が短期秘密鍵を生成する構成において、鍵装置に群GTのべき乗の計算を委託する構成である。
 以下、本変形例の鍵交換方法の処理手続きを説明する。以下では、上述の第六実施形態との相違点を中心に説明する。
 本変形例では、以下のようにして鍵生成を行う。鍵装置11は、秘密鍵sA∈Zqをランダムに選択し、公開鍵SA=gsA∈Gを計算し、端末装置11へ送信する。同様に、鍵装置12は、秘密鍵sB∈Zqをランダムに選択し、公開鍵SB=gsB∈Gを計算し、端末装置12へ送信する。認証局装置4は、端末装置11の公開鍵SAおよび端末装置12の公開鍵SBを認証する。鍵装置21は、短期秘密鍵xA∈Zqをランダムに選択し、短期公開鍵XA=gxA∈Gを計算し、端末装置11へ送信する。同様に、鍵装置22は、短期秘密鍵xB∈Zqをランダムに選択し、短期公開鍵XB=gxB∈Gを計算し、端末装置12へ送信する。
 本変形例では、ステップS12、S13、S21、S14、S151の処理をm回繰り返し実行した後、以下のステップS12b、S13b、S21b、S14b、S151b(図示せず)の処理をm回繰り返し実行する。以下では、i(=1,…,m)回目の繰り返しにおける処理手続きを説明する。
 ステップS12bにおいて、端末装置11の乱数生成部12は、乱数si21, si22, s'i21, s'i22∈Zおよび群要素g1, g2∈Gを生成する。ここで、si21, si22は互いに素であり、si21s'i21+si22s'i22=1を満たすものとする。g1, g2は群Gの単位元ではない元とする。同様に、端末装置12の乱数生成部12は、乱数ti21, ti22, t'i21, t'i22∈Zおよび群要素g3, g4∈Gを生成する。ここで、ti21, ti22は互いに素であり、ti21t'i21+ti22t'i22=1を満たすものとする。g3, g4は群Gの単位元ではない元とする。
 ステップS13bにおいて、端末装置11の公開鍵乱数化部13は、式(101)により、端末装置12の公開鍵SBと短期公開鍵XBとを、乱数si21を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(102)により、端末装置12の公開鍵SBと短期公開鍵XBとを、乱数si22を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置21へ送信する。
Figure JPOXMLDOC01-appb-M000078
 同様に、端末装置12の公開鍵乱数化部13は、式(103)により、端末装置11の公開鍵SAと短期公開鍵XAとを、乱数ti21を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(104)により、端末装置11の公開鍵SAと短期公開鍵XAとを、乱数ti22を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置22へ送信する。
Figure JPOXMLDOC01-appb-M000079
 ステップS21bにおいて、鍵装置21の代理計算部21は、式(105)により、準同型写像FA,2: G→G, h→hsAについて、共有鍵の計算に必要な値ξA,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(106)により、共有鍵の計算に必要な値ξA,i2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果ζA,i1と第二委託結果ζA,i2とは、端末装置11へ送信する。
Figure JPOXMLDOC01-appb-M000080
 同様に、鍵装置22の代理計算部21は、式(107)により、準同型写像FB,2: G→G, h→hsBについて、共有鍵の計算に必要な値ξB,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(108)により、共有鍵の計算に必要な値ξB,i2(以下、第二委託結果と呼ぶ。)を算出する。
Figure JPOXMLDOC01-appb-M000081
 ステップS14bにおいて、端末装置11の検証部14は、式(109)により、第一委託結果ξA,i1をsi22乗した値(以下、第一検証値と呼ぶ。)と、第二委託結果ξA,i2をsi21乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。同様に、端末装置12の検証部14は、式(110)により、第一委託結果ξB,i1をti2乗した値(以下、第一検証値と呼ぶ。)と、第二委託結果ξB,i2をti1乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップS151bへ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップS12bへ処理を戻す。
Figure JPOXMLDOC01-appb-M000082
 ステップS151bにおいて、端末装置11の共有鍵計算部15は、式(111)により、乱数s'i21, s'i22を用いて第一委託結果ξA,i1および第二委託結果ξA,i2から委託結果ξA,iを算出する。同様に、端末装置12の共有鍵計算部15は、式(112)により、乱数t'i1, t'i2を用いて第一委託結果ζB,i1および第二委託結果ζB,i2から委託結果ζB,iを算出する。
Figure JPOXMLDOC01-appb-M000083
 ステップS152において、端末装置11の共有鍵計算部15は、i=1,…,mについて、式(113)により、値σiを計算して、値σ1,…,σmを生成する。同様に、端末装置12の共有鍵計算部15は、i=1,…,mについて、式(114)により、値σiを計算して、値σ1,…,σmを生成する。
Figure JPOXMLDOC01-appb-M000084
 ステップS154において、端末装置11および端末装置12の共有鍵計算部15は、式(115)により、値σ1,…,σmを用いて、共有鍵Kを算出する。
Figure JPOXMLDOC01-appb-M000085
[第七実施形態]
 第七実施形態は、自己訂正を用いたcert-id AKE法である。本形態は、特に、鍵装置が秘密鍵を持ち、端末装置が短期秘密鍵を生成する構成である。
 本形態の鍵交換システムは、例えば、図11に示すように、端末装置11, 12と鍵装置21, 22とに加えて、鍵生成装置3と認証局装置4とを含む。
 以下、図12、13を参照して、本形態の鍵交換方法の処理手続きを説明する。以下では、上述の第五実施形態との相違点を中心に説明する。図12は、端末装置11と鍵装置21の処理フローを例示したものであり、図13は、端末装置12と鍵装置22の処理フローを例示したものである。
 本形態では、以下のようにして鍵生成を行う。鍵生成装置3は、マスタ秘密鍵z∈Zqをランダムに選択し、マスタ公開鍵のペア(Z1=g1 z∈G1, Z2=g2 z∈G2)を計算し公開する。端末装置11は、識別子IDAを用いて、公開鍵のペア(QA,1=H1(IDA)∈G1, QA,2=H2(IDA)∈G2)を計算し公開する。鍵生成装置3は、公開鍵のペア(QA,1, QA,2)を用いて、秘密鍵のペア(DA,1=QA,1 z, DA,2=QA,2 z)を計算し、鍵装置21へ配布する。鍵装置12は、秘密鍵sB∈Zqをランダムに選択し、公開鍵のペア(SB,1=g1 sB∈G1, SB,2=g2 sB∈G2)を計算し、端末装置12へ送信する。認証局装置4は、鍵装置12の公開鍵SBを認証する。端末装置11は、短期秘密鍵zA∈Zqをランダムに選び、短期公開鍵のペア(XA,1=g1 xA, XA,2=g2 xA)を生成する。同様に、端末装置12は、短期秘密鍵xB∈Zqをランダムに選び、短期公開鍵のペア(XB,1=g1 xB, XB,2=g2 xB)を生成する。
 ステップS111Aにおいて、端末装置11の公開鍵受信部11は、識別子と短期公開鍵からなる情報(IDA, XA,1, XA,2)を端末装置12へ送信する。ステップS111Bにおいて、端末装置12の公開鍵受信部11は、情報(IDA, XA,1, XA,2)を端末装置11から受信する。
 ステップS112Bにおいて、端末装置12の公開鍵受信部11は、公開鍵と短期公開鍵からなる情報(SB,1, SB,2, XB,1, XB,2)を端末装置11へ送信する。ステップS112Aにおいて、端末装置11の公開鍵受信部11は、情報(SB,1, SB,2, XB,1, XB,2)を端末装置12から受信する。
 ステップS113Aにおいて、端末装置11の公開鍵受信部11は、式(116)が成り立つか否かを確認する。ステップS113Bにおいて、端末装置12の公開鍵受信部11は、式(117)が成り立つか否かを確認する。いずれか一方でも正しくなければ、鍵生成からやり直す。
Figure JPOXMLDOC01-appb-M000086
 本形態では、図12のステップS12A、S13A、S21A、S14A、S151Aの処理をm回繰り返し実行する。以下では、i(=1,…,m)回目の繰り返しにおける処理手続きを説明する。
 ステップS12Aにおいて、端末装置11の乱数生成部12は、乱数si1, si2, s'i1, s'i2∈Zおよび群要素g1, g2∈Gを生成する。ここで、si1, si2は互いに素であり、si1s'i1+si2s'i2=1を満たすものとする。g1, g2は群Gの単位元ではない元とする。
 ステップS13Aにおいて、端末装置11の公開鍵乱数化部13は、式(118)により、端末装置12の公開鍵SB,2と短期公開鍵XB,2とを、乱数si1を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(119)により、端末装置12の公開鍵SB,2と短期公開鍵XB,2とを、乱数si2を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置21へ送信する。
Figure JPOXMLDOC01-appb-M000087
 ステップS21Aにおいて、鍵装置21の代理計算部21は、式(120)により、準同型写像FA: G2→GT, h2→e(DA,1, h2)について、共有鍵の計算に必要な値ζA,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(121)により、共有鍵の計算に必要な値ζA,i2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果ζA,i1と第二委託結果ζA,i2とは、端末装置11へ送信する。
Figure JPOXMLDOC01-appb-M000088
 ステップS14Aにおいて、端末装置11の検証部14は、式(122)により、第一委託結果ζA,i1をsi2乗した値(以下、第一検証値と呼ぶ。)と、第二委託結果ζA,i2をsi1乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップS151Aへ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップS12Aへ処理を戻す。
Figure JPOXMLDOC01-appb-M000089
 ステップS151Aにおいて、端末装置11の共有鍵計算部15は、式(123)により、乱数s'i1, s'i2を用いて第一委託結果ζA,i1および第二委託結果ζA,i2から委託結果ζA,iを算出する。
Figure JPOXMLDOC01-appb-M000090
 ステップS152Aにおいて、端末装置11の共有鍵計算部15は、i=1,…,mについて、式(124)により、値σiを計算して、値σ1,…,σmを生成する。
Figure JPOXMLDOC01-appb-M000091
 ステップS153Aにおいて、端末装置11の共有鍵計算部15は、式(125)により、値σm+1, σm+2, σm+3, σm+4を計算する。
Figure JPOXMLDOC01-appb-M000092
 ステップS154Aにおいて、端末装置11の共有鍵計算部15は、式(126)により、値σ1,…,σm+4を用いて、共有鍵Kを算出する。
Figure JPOXMLDOC01-appb-M000093
 本形態では、図13のステップS12B、S13B、S21B、S14B、S151Bの処理をm回繰り返し実行する。以下では、i(=1,…,m)回目の繰り返しにおける処理手続きを説明する。
 ステップS12Bにおいて、端末装置12の乱数生成部12は、乱数ti1, ti2, t'i1, t'i2∈Zおよび群要素g3, g4∈Gを生成する。ここで、ti1, ti2は互いに素であり、ti1t'i1+ti2t'i2=1を満たすものとする。g3, g4は群Gの単位元ではない元とする。
 ステップS13Bにおいて、端末装置11の公開鍵乱数化部13は、式(127)により、端末装置12の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti1を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(128)により、端末装置12の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti2を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置21へ送信する。
Figure JPOXMLDOC01-appb-M000094
 ステップS21Bにおいて、鍵装置22の代理計算部21は、式(129)により、準同型写像FB: G1→GT, h1→e(h1, Z2 sB)について、共有鍵の計算に必要な値ζB,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(130)により、共有鍵の計算に必要な値ζB,i2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果ζB,i1と第二委託結果ζB,i2とは、端末装置12へ送信する。
Figure JPOXMLDOC01-appb-M000095
 ステップS14Bにおいて、端末装置12の検証部14は、式(131)により、第一委託結果ζB,i1をti2乗した値(以下、第一検証値と呼ぶ。)と、第二委託結果ζB,i2をti1乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップS151Bへ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップS12Bへ処理を戻す。
Figure JPOXMLDOC01-appb-M000096
 ステップS151Bにおいて、端末装置12の共有鍵計算部15は、式(132)により、乱数t'i1, t'i2を用いて第一委託結果ζB,i1および第二委託結果ζB,i2から委託結果ζB,iを算出する。
Figure JPOXMLDOC01-appb-M000097
 ステップS152Bにおいて、端末装置12の共有鍵計算部15は、i=1,…,mについて、式(133)により、値σiを計算して、値σ1,…,σmを生成する。
Figure JPOXMLDOC01-appb-M000098
 ステップS153Bにおいて、端末装置12の共有鍵計算部15は、式(134)により、値σm+1, σm+2を計算する。また、式(135)による値σm+3, σm+4の計算を鍵装置22へ委託する。
Figure JPOXMLDOC01-appb-M000099
 ステップS154Bにおいて、端末装置11の共有鍵計算部15は、式(136)により、値σ1,…,σm+4を用いて、共有鍵Kを算出する。
Figure JPOXMLDOC01-appb-M000100
 端末装置11および端末装置12の共有鍵計算部15が計算した値σ1,…,σm+2はいずれも、i=1,…,mとして、式(137)のように表すことができる。したがって、端末装置11の計算した共有鍵Kと端末装置12の計算した共有鍵Kとは一致する。
Figure JPOXMLDOC01-appb-M000101
 なお、本形態では、ステップS13BおよびS21Bで実行される代理計算により、式(138)を計算することになる。
Figure JPOXMLDOC01-appb-M000102
 そこで、ステップS13Bにおいて、βi,Aを式(139)のβ’i,Aに置き換え、ステップS21Bにおいて、準同型写像FB: G1→GT, h1→e(h1, Z2 sB)をF'B: GT→GT, hT→hT sBに置き換えることで、同様の代理計算を行うことも可能である。
Figure JPOXMLDOC01-appb-M000103
[変形例7]
 変形例7は、第七実施形態の自己訂正を用いたcert-id AKE法の変形例である。本変形例は、特に、鍵装置が秘密鍵を持ち、鍵装置が短期秘密鍵を生成する構成である。
 以下、本変形例の鍵交換方法の処理手続きを説明する。以下では、上述の第七実施形態との相違点を中心に説明する。
 本形態では、以下のようにして鍵生成を行う。鍵生成装置3は、マスタ秘密鍵z∈Zqをランダムに選択し、マスタ公開鍵のペア(Z1=g1 z∈G1, Z2=g2 z∈G2)を計算し公開する。端末装置11は、識別子IDAを用いて、公開鍵のペア(QA,1=H1(IDA)∈G1, QA,2=H2(IDA)∈G2)を計算し公開する。鍵生成装置3は、公開鍵のペア(QA,1, QA,2)を用いて、秘密鍵のペア(DA,1=QA,1 z, DA,2=QA,2 z)を計算し、鍵装置21へ配布する。鍵装置12は、秘密鍵sB∈Zqをランダムに選択し、公開鍵のペア(SB,1=g1 sB∈G1, SB,2=g2 sB∈G2)を計算し、端末装置12へ送信する。認証局装置4は、鍵装置12の公開鍵SBを認証する。鍵装置21は、短期秘密鍵zA∈Zqをランダムに選び、短期公開鍵のペア(XA,1=g1 xA, XA,2=g2 xA)を生成し、端末装置11へ送信する。同様に、鍵装置22は、短期秘密鍵zB∈Zqをランダムに選び、短期公開鍵のペア(XB,1=g1 xB, XB,2=g2 xB)を生成し、端末装置12へ送信する。
 本変形例では、ステップS12A、S13A、S21A、S14A、S151Aの処理をm回繰り返し実行した後、以下のステップS12Ab、S13Ab、S21Ab、S14Ab、S151Ab(図示せず)の処理をm回繰り返し実行する。以下では、i(=1,…,m)回目の繰り返しにおける処理手続きを説明する。
 ステップS12Abにおいて、端末装置11の乱数生成部12は、乱数si21, si22, s'i21, s'i22∈Zおよび群要素g1, g2∈Gを生成する。ここで、si21, si22は互いに素であり、si21s'i21+si22s'i22=1を満たすものとする。g1, g2は群Gの単位元ではない元とする。
 ステップS13Abにおいて、端末装置11の公開鍵乱数化部13は、式(140)により、端末装置12の公開鍵SB,2と短期公開鍵XB,2とを、乱数si21を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(141)により、端末装置12の公開鍵SB,2と短期公開鍵XB,2とを、乱数si22を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置21へ送信する。
Figure JPOXMLDOC01-appb-M000104
 ステップS21Abにおいて、鍵装置21の代理計算部21は、式(142)により、準同型写像F1,A: G2→GT, h2→e(Z1 xA, h2)について、共有鍵の計算に必要な値ξA,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(143)により、共有鍵の計算に必要な値ξA,i2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果ζA,i1と第二委託結果ζA,i2とは、端末装置11へ送信する。
Figure JPOXMLDOC01-appb-M000105
 ステップS14Abにおいて、端末装置11の検証部14は、式(144)により、第一委託結果ξA,i1をsi22乗した値(以下、第一検証値と呼ぶ。)と、第二委託結果ξA,i2をsi21乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップS151Abへ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップS12Abへ処理を戻す。
Figure JPOXMLDOC01-appb-M000106
 ステップS151Abにおいて、端末装置11の共有鍵計算部15は、式(145)により、乱数s'i21, s'i22を用いて第一委託結果ξA,i1および第二委託結果ξA,i2から委託結果ξA,iを算出する。
Figure JPOXMLDOC01-appb-M000107
 ステップS152Aにおいて、端末装置11の共有鍵計算部15は、i=1,…,mについて、式(146)により、値σiを計算して、値σ1,…,σmを生成する。
Figure JPOXMLDOC01-appb-M000108
 ステップS153A、S154Aの処理は、第七実施形態と同様である。
 本変形例では、ステップS12B、S13B、S21B、S14B、S151Bの処理をm回繰り返し実行した後、以下のステップS12Bb、S13Bb、S21Bb、S14Bb、S151Bb(図示せず)の処理をm回繰り返し実行する。以下では、i(=1,…,m)回目の繰り返しにおける処理手続きを説明する。
 ステップS12Bbにおいて、端末装置12の乱数生成部12は、乱数ti21, ti22, t'i21, t'i22∈Zおよび群要素g3, g4∈Gを生成する。ここで、ti21, ti22は互いに素であり、ti21t'i21+ti22t'i22=1を満たすものとする。g3, g4は群Gの単位元ではない元とする。
 ステップS13Bbにおいて、端末装置11の公開鍵乱数化部13は、式(147)により、端末装置12の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti21を用いて乱数化した値(以下、第一乱数化公開鍵情報と呼ぶ。)を算出する。また、式(148)により、端末装置12の公開鍵QA,1と短期公開鍵XA,1とを、乱数ti22を用いて乱数化した値(以下、第二乱数化公開鍵情報と呼ぶ。)を算出する。算出した第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアは、鍵装置21へ送信する。
Figure JPOXMLDOC01-appb-M000109
 ステップS21Bbにおいて、鍵装置22の代理計算部21は、式(149)により、準同型写像F1,B: G1→GT, h1→e(h1, Z2 xB)について、共有鍵の計算に必要な値ξB,i1(以下、第一委託結果と呼ぶ。)を算出する。また、式(150)により、共有鍵の計算に必要な値ξB,i2(以下、第二委託結果と呼ぶ。)を算出する。算出した第一委託結果ζB,i1と第二委託結果ζB,i2とは、端末装置12へ送信する。
Figure JPOXMLDOC01-appb-M000110
 ステップS14Bbにおいて、端末装置12の検証部14は、式(151)により、第一委託結果ξB,i1をti22乗した値(以下、第一検証値と呼ぶ。)と、第二委託結果ξB,i2をti21乗した値(以下、第二検証値と呼ぶ。)とが一致するか否かを検証する。第一検証値と第二検証値とが一致する場合には、ステップS151Bbへ処理を進める。第一検証値と第二検証値とが一致しない場合には、ステップS12Bbへ処理を戻す。
Figure JPOXMLDOC01-appb-M000111
 ステップS151Bbにおいて、端末装置12の共有鍵計算部15は、式(152)により、乱数t'i21, t'i22を用いて第一委託結果ξB,i1および第二委託結果ξB,i2から委託結果ξB,iを算出する。
Figure JPOXMLDOC01-appb-M000112
 ステップS152Bにおいて、端末装置12の共有鍵計算部15は、i=1,…,mについて、式(153)により、値σiを計算して、値σ1,…,σmを生成する。
Figure JPOXMLDOC01-appb-M000113
 ステップS153B、S154Bの処理は、第七実施形態と同様である。
 本変形例では、ステップS13AbおよびS21Abで実行される代理計算により、式(154)を計算することになる。
Figure JPOXMLDOC01-appb-M000114
 そこで、ステップS13Abにおいて、βi,Bを式(155)のβ'i,Bに置き換え、ステップS21Abにおいて、準同型写像F1,A: G2→GT, h2→e(Z1 xA, h2)をF2,A: GT→GT, hT→gT xAに置き換えることで、同様の代理計算を行うことも可能である。
Figure JPOXMLDOC01-appb-M000115
 また、本変形例では、ステップS13BbおよびS21Bbで実行される代理計算により、式(156)を計算することになる。
Figure JPOXMLDOC01-appb-M000116
 そこで、ステップS13Bbにおいて、β1,i,Aを式(157)のβ2,i,Aに置き換え、ステップS21Bbにおいて、準同型写像F1,B: G1→GT, h1→e(h1, Z2 xB)をF2,B: GT→GT, hT→gT xBに置き換えることで、同様の代理計算を行うことも可能である。
Figure JPOXMLDOC01-appb-M000117
[第八実施形態]
 第八実施形態は、鍵装置が端末装置の固有情報を記憶しており、予め固有情報を登録している端末装置のみが代理計算を委託できる構成である。以下では、第一実施形態に対して適用した構成を例として説明するが、上述の各実施形態についても同様に適用して構成することが可能である。
 以下、本形態の鍵交換方法の処理手続きを説明する。以下では、上述の第一実施形態との相違点を中心に説明する。
 本形態では、端末装置11の記憶部10には、端末装置11の公開鍵gxに加えて、固有情報Add1が記憶されている。鍵装置21の記憶部20には、端末装置11の秘密鍵xに加えて、リストList1が記憶されている。リストList1には予め端末装置11の固有情報Add1が登録されている。
 ステップS13において、端末装置11の公開鍵乱数化部13は、第一乱数化公開鍵情報と第二乱数化公開鍵情報とのペアに加えて、固有情報Add1を鍵装置21へ送信する。
 ステップS21において、鍵装置21の代理計算部21は、受信した固有情報Add1が記憶部20のリストList1に登録されているか否かを確認する。登録されている場合には、第一委託結果Z1および第二委託結果Z2を計算する。登録されていない場合には、代理計算を行わず処理を終了する。
 この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施形態において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
[プログラム、記録媒体]
 上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
 この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
 また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD-ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
 このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
 また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。

Claims (9)

  1.  s1, s2を互いに素な乱数とし、s'1, s'2を乱数s1, s2と所定の関係を満たす乱数とし、
     鍵装置の記憶部に、端末装置の秘密鍵が記憶されており、
     上記端末装置が、上記乱数s1, s2, s'1, s'2を生成する乱数生成ステップと、
     上記端末装置が、上記乱数s1を用いて上記端末装置の公開鍵と他の端末装置の公開鍵を乱数化した第一乱数化公開鍵情報と、上記乱数s2を用いて上記端末装置の公開鍵と上記他の端末装置の公開鍵を乱数化した第二乱数化公開鍵情報とを生成する公開鍵乱数化ステップと、
     上記鍵装置が、上記秘密鍵を用いて上記第一乱数化公開鍵情報から第一委託結果を算出し、上記秘密鍵を用いて上記第二乱数化公開鍵情報から第二委託結果を算出する代理計算ステップと、
     上記端末装置が、上記乱数s2を用いて上記第一委託結果から第一検証値を算出し、上記乱数s1を用いて上記第二委託結果から第二検証値を算出し、上記第一検証値と上記第二検証値とが一致するか否かを検証する検証ステップと、
     上記端末装置が、上記第一検証値と上記第二検証値とが一致する場合に、上記乱数s'1, s'2を用いて上記第一委託結果および上記第二委託結果から共有鍵を算出する共有鍵生成ステップと、
     を含む鍵交換方法。
  2.  請求項1に記載の鍵交換方法であって、
     gを群Gの要素とし、xを上記端末装置の秘密鍵とし、gxを上記端末装置の公開鍵とし、yを上記他の端末装置の秘密鍵とし、gyを上記他の端末装置の公開鍵とし、r1, r2を任意の数とし、
     上記公開鍵乱数化ステップは、次式により、上記第一乱数化公開鍵情報を算出し、
    Figure JPOXMLDOC01-appb-M000001

    次式により、上記第二乱数化公開鍵情報を算出するものであり、
    Figure JPOXMLDOC01-appb-M000002

     上記代理計算ステップは、次式により、上記第一委託結果Z1を算出し、
    Figure JPOXMLDOC01-appb-M000003

    次式により、上記第二委託結果Z2を算出するものであり、
    Figure JPOXMLDOC01-appb-M000004

     上記検証ステップは、次式により、上記第一検証値と上記第二検証値とが一致するか否かを検証するものであり、
    Figure JPOXMLDOC01-appb-M000005

     上記共有鍵生成ステップは、次式により、上記共有鍵Kを算出するものである

     鍵交換方法。
  3.  請求項1に記載の鍵交換方法であって、
     G1, G2, GTを位数がкビット長の素数qの巡回群とし、g1, g2, gTをそれぞれ群G1, G2, GTの生成元とし、e: G1×G2→GTをgT=e(g1, g2)を満足するペアリングとし、H: {0, 1}*→{0, 1}к, H1: {0, 1}*→G1, H2: {0, 1}*→G2をそれぞれ暗号学的ハッシュ関数とし、mを2以上の自然数とし、i=1,…,mとし、ci,0,0, ci,0,1, ci,1,0, ci,1,1を定数とし、pi∈Zq[u0, u1, v0, v1]を次式により定義されるm個の多項式とし、
    Figure JPOXMLDOC01-appb-M000007

    z∈Zqをマスタ秘密鍵とし、Z1=g1 z∈G1, Z2=g2 z∈G2をマスタ公開鍵とし、IDAを上記端末装置の識別子とし、QA,1=H1(IDA)∈G1, QA,2=H2(IDA)∈G2を公開値とし、IDBを上記他の端末装置の識別子とし、QB,1=H1(IDB)∈G1, QB,2=H2(IDB)∈G2を公開値とし、DA,1=QA,1 z, DA,2=QA,2 zを上記端末装置の秘密鍵とし、DB,1=QB,1 z, DB,2=QB,2 zを上記他の端末装置の秘密鍵とし、zA∈Zqを上記端末装置の短期秘密鍵とし、XA,1=g1 xA, XA,2=g2 xAを上記端末装置の短期公開鍵とし、zB∈Zqを上記他の端末装置の短期秘密鍵とし、XB,1=g1 xB, XB,2=g2 xBを上記他の端末装置の短期公開鍵とし、Pi,Bを次式により定義される値とし、
    Figure JPOXMLDOC01-appb-M000008

    si1, si2を互いに素な乱数とし、s'i1, s'i2を乱数si1, si2と所定の関係を満たす乱数とし、
     上記乱数生成ステップは、上記乱数si1, si2, s'i1, s'i2を生成するものであり、
     上記公開鍵乱数化ステップは、次式により、i=1,…,mについて、上記第一乱数化公開鍵情報を算出し、
    Figure JPOXMLDOC01-appb-M000009

    次式により、i=1,…,mについて、上記第二乱数化公開鍵情報を算出するものであり、
    Figure JPOXMLDOC01-appb-M000010

     上記代理計算ステップは、次式により、i=1,…,mについて、上記第一委託結果ζi1を算出し、
    Figure JPOXMLDOC01-appb-M000011

    次式により、i=1,…,mについて、上記第二委託結果ζi2を算出するものであり、
    Figure JPOXMLDOC01-appb-M000012

     上記検証ステップは、次式により、i=1,…,mについて、上記第一検証値と上記第二検証値とが一致するか否かを検証するものであり、
    Figure JPOXMLDOC01-appb-M000013

     上記共有鍵生成ステップは、次式により、i=1,…,mについて、委託結果ζiを算出した上で、委託結果ζ1,…,ζmを用いて上記共有鍵を生成するものである
    Figure JPOXMLDOC01-appb-M000014

     鍵交換方法。
  4.  請求項1に記載の鍵交換方法であって、
     Gを位数がкビット長の素数qの巡回群とし、gを群Gの生成元とし、H: {0, 1}*→{0, 1}к, H1: {0, 1}*→Gをそれぞれ暗号学的ハッシュ関数とし、mを2以上の自然数とし、i=1,…,mとし、ci,0,0, ci,0,1, ci,1,0, ci,1,1を定数とし、pi∈Zq[u0, u1, v0, v1]を次式により定義されるm個の多項式とし、
    Figure JPOXMLDOC01-appb-M000015

    sA∈Zqを上記端末装置の秘密鍵とし、SA=gsA∈Gを上記端末装置の公開鍵とし、sB∈Zqを上記他の端末装置の秘密鍵とし、SB=gsB∈Gを上記他の端末装置の公開鍵とし、xA∈Zqを上記端末装置の短期秘密鍵とし、XA=gxA∈Gを上記端末装置の短期公開鍵とし、xB∈Zqを上記他の端末装置の短期秘密鍵とし、XB=gxB∈Gを上記他の端末装置の短期公開鍵とし、FAをFA: G→G, h→hxAである準同型写像とし、αB,iを次式により定義される値とし、
    Figure JPOXMLDOC01-appb-M000016

    si1, si2を互いに素な乱数とし、s'i1, s'i2を乱数si1, si2と所定の関係を満たす乱数とし、
     上記乱数生成ステップは、上記乱数si1, si2, s'i1, s'i2を生成するものであり、
     上記公開鍵乱数化ステップは、次式により、i=1,…,mについて、上記第一乱数化公開鍵情報を算出し、
    Figure JPOXMLDOC01-appb-M000017

    次式により、i=1,…,mについて、上記第二乱数化公開鍵情報を算出するものであり、
    Figure JPOXMLDOC01-appb-M000018

     上記代理計算ステップは、次式により、i=1,…,mについて、上記第一委託結果ζi1を算出し、
    Figure JPOXMLDOC01-appb-M000019

    次式により、i=1,…,mについて、上記第二委託結果ζi2を算出するものであり、
    Figure JPOXMLDOC01-appb-M000020

     上記検証ステップは、次式により、i=1,…,mについて、上記第一検証値と上記第二検証値とが一致するか否かを検証するものであり、
    Figure JPOXMLDOC01-appb-M000021

     上記共有鍵生成ステップは、次式により、i=1,…,mについて、委託結果ζiを算出した上で、委託結果ζ1,…,ζmを用いて上記共有鍵を生成するものである
    Figure JPOXMLDOC01-appb-M000022

     鍵交換方法。
  5.  請求項1から4のいずれかに記載の鍵交換方法であって、
     上記鍵装置の記憶部に、上記端末装置の固有情報が記憶されており、
     上記代理計算ステップは、上記第一乱数化公開鍵情報および上記第二乱数化公開鍵情報とともに受信する固有情報が、上記端末装置の固有情報と一致する場合に、上記第一委託結果および上記第二委託結果を算出するものである
     鍵交換方法。
  6.  s1, s2を互いに素な乱数とし、s'1, s'2を乱数s1, s2と所定の関係を満たす乱数とし、
     複数の端末装置と少なくとも1台の鍵装置を含む鍵交換システムであって、
     上記端末装置は、
      上記乱数s1, s2, s'1, s'2を生成する乱数生成部と、
      上記乱数s1を用いて上記端末装置の公開鍵と他の端末装置の公開鍵を乱数化した第一乱数化公開鍵情報と、上記乱数s2を用いて上記端末装置の公開鍵と上記他の端末装置の公開鍵を乱数化した第二乱数化公開鍵情報とを生成する公開鍵乱数化部と、
      上記鍵装置から第一委託結果および第二委託結果を受信し、上記乱数s2を用いて上記第一委託結果から第一検証値を算出し、上記乱数s1を用いて上記第二委託結果から第二検証値を算出し、上記第一検証値と上記第二検証値とが一致するか否かを検証する検証部と、
      上記第一検証値と上記第二検証値とが一致する場合に、上記乱数s'1, s'2を用いて上記第一委託結果および上記第二委託結果から共有鍵を算出する共有鍵生成部と、
     を含み、
     上記鍵装置は、
      上記端末装置の秘密鍵を記憶する記憶部と、
      上記秘密鍵を用いて上記第一乱数化公開鍵情報から上記第一委託結果を算出し、上記秘密鍵を用いて上記第二乱数化公開鍵情報から上記第二委託結果を算出する代理計算部と、
     を含む鍵交換システム。
  7.  s1, s2を互いに素な乱数とし、s'1, s'2を乱数s1, s2と所定の関係を満たす乱数とし、
     端末装置の秘密鍵を記憶する記憶部と、
     上記秘密鍵を用いて上記第一乱数化公開鍵情報から上記第一委託結果を算出し、上記秘密鍵を用いて上記第二乱数化公開鍵情報から上記第二委託結果を算出する代理計算部と、
     を含み、
     上記第一乱数化公開鍵情報は、上記乱数s1を用いて上記端末装置の公開鍵と他の端末装置の公開鍵を乱数化したものであり、
     上記第二乱数化公開鍵情報は、上記乱数s2を用いて上記端末装置の公開鍵と上記他の端末装置の公開鍵を乱数化したものである
     鍵装置。
  8.  s1, s2を互いに素な乱数とし、s'1, s'2を乱数s1, s2と所定の関係を満たす乱数とし、
     上記乱数s1を用いて端末装置の公開鍵と他の端末装置の公開鍵を乱数化した第一乱数化公開鍵情報と、上記乱数s2を用いて上記端末装置の公開鍵と上記他の端末装置の公開鍵を乱数化した第二乱数化公開鍵情報とを生成する公開鍵乱数化部と、
     鍵装置が算出した第一委託結果および第二委託結果を受信し、上記乱数s2を用いて上記第一委託結果から第一検証値を算出し、上記乱数s1を用いて上記第二委託結果から第二検証値を算出し、上記第一検証値と上記第二検証値とが一致するか否かを検証する検証部と、
     上記第一検証値と上記第二検証値とが一致する場合に、上記乱数s'1, s'2を用いて上記第一委託結果および上記第二委託結果から共有鍵を算出する共有鍵生成部と、
     を含み、
     上記第一委託結果は、上記端末装置の秘密鍵を用いて上記第一乱数化公開鍵情報から算出したものであり、
     上記第二委託結果は、上記端末装置の秘密鍵を用いて上記第二乱数化公開鍵情報から算出したものである
     端末装置。
  9.  請求項7に記載の鍵装置もしくは請求項8に記載の端末装置としてコンピュータを機能させるためのプログラム。
PCT/JP2016/050695 2015-01-16 2016-01-12 鍵交換方法、鍵交換システム、鍵装置、端末装置、およびプログラム WO2016114259A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201680005046.XA CN107113168B (zh) 2015-01-16 2016-01-12 密钥交换方法、密钥交换系统、密钥装置、终端装置和记录介质
JP2016569359A JP6594348B2 (ja) 2015-01-16 2016-01-12 鍵交換方法、鍵交換システム、鍵装置、端末装置、およびプログラム
US15/542,538 US10419213B2 (en) 2015-01-16 2016-01-12 Key exchange method, key exchange system, key device, terminal device, and program
EP16737330.7A EP3232603B1 (en) 2015-01-16 2016-01-12 Key-exchange method, key-exchange system, terminal device, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015-007033 2015-01-16
JP2015007033 2015-01-16

Publications (1)

Publication Number Publication Date
WO2016114259A1 true WO2016114259A1 (ja) 2016-07-21

Family

ID=56405804

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2016/050695 WO2016114259A1 (ja) 2015-01-16 2016-01-12 鍵交換方法、鍵交換システム、鍵装置、端末装置、およびプログラム

Country Status (5)

Country Link
US (1) US10419213B2 (ja)
EP (1) EP3232603B1 (ja)
JP (1) JP6594348B2 (ja)
CN (1) CN107113168B (ja)
WO (1) WO2016114259A1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108365959B (zh) * 2018-02-14 2020-09-15 东北大学 一种云环境下全代理的外包多项式验证方法
JP7298686B2 (ja) * 2019-05-29 2023-06-27 日本電信電話株式会社 鍵交換システム、通信装置及びプログラム
FR3097093A1 (fr) * 2019-06-07 2020-12-11 Stmicroelectronics S.R.L. Procédé et dispositif de calcul sur courbes elliptiques par des dispositifs à ressources limitées
WO2022185336A1 (en) * 2021-03-01 2022-09-09 International Institute Of Information Technology, Hyderabad System and method for proven secret key agreement between initiating unit and responding unit
US11784798B2 (en) * 2021-03-30 2023-10-10 Visa International Service Association System, method, and computer program product for data security

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014137562A (ja) * 2013-01-18 2014-07-28 Nippon Telegr & Teleph Corp <Ntt> 計算システム、計算装置、及びプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060050886A1 (en) * 2002-09-20 2006-03-09 Koninklijke Philips Elecronics N.V. Method and system for generating a common secret key
US7480384B2 (en) * 2003-02-10 2009-01-20 International Business Machines Corporation Method for distributing and authenticating public keys using random numbers and Diffie-Hellman public keys
JP2004297578A (ja) * 2003-03-27 2004-10-21 Matsushita Electric Ind Co Ltd 公開鍵生成装置、共有鍵生成装置、鍵交換装置、及び鍵交換方法
KR100581590B1 (ko) * 2003-06-27 2006-05-22 주식회사 케이티 이중 요소 인증된 키 교환 방법 및 이를 이용한 인증방법과 그 방법을 포함하는 프로그램이 저장된 기록매체
US20110194698A1 (en) * 2008-10-22 2011-08-11 Tomoyuki Asano Key Sharing System
JP5161177B2 (ja) 2009-09-04 2013-03-13 日本電信電話株式会社 代理計算依頼装置、代理計算依頼方法、代理計算依頼プログラム、記録媒体
CN102687184B (zh) * 2010-01-12 2015-11-25 日本电信电话株式会社 代理计算系统、方法及代理计算委托装置
CN103221988B (zh) * 2010-10-26 2016-08-03 日本电信电话株式会社 代理计算系统、计算装置、能力提供装置、代理计算方法、能力提供方法
JP5506704B2 (ja) 2011-01-20 2014-05-28 日本電信電話株式会社 復号システム、鍵装置、復号方法、及びプログラム
JP5447544B2 (ja) * 2012-01-27 2014-03-19 沖電気工業株式会社 委託パラメータ情報生成装置、共有鍵合成装置、署名情報合成装置、通信装置、鍵共有被計算委託装置、署名情報生成被計算委託装置、被計算委託装置、鍵共有システム、署名情報検証システム及び通信システム
JP6187251B2 (ja) * 2013-12-27 2017-08-30 富士通株式会社 データ通信方法、およびデータ通信装置
US10305864B2 (en) * 2016-01-25 2019-05-28 Cisco Technology, Inc. Method and system for interest encryption in a content centric network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014137562A (ja) * 2013-01-18 2014-07-28 Nippon Telegr & Teleph Corp <Ntt> 計算システム、計算装置、及びプログラム

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
HITOSHI FUJI ET AL.: "Shinka suru Kyoi to Korekara no Cyber Security", NTT GIJUTSU JOURNAL, vol. 24, no. 8, 1 August 2012 (2012-08-01), pages 18 - 21, XP009500755 *
See also references of EP3232603A4 *
TSUNEKAZU SAITO ET AL.: "ID Ninsho Kagi Kokan ni Okeru Jiko Teisei o Mochiita Kagi Kanri Hoshiki", 2015 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY, 20 January 2015 (2015-01-20), pages 1 - 6, XP009500756 *
VICTOR SHOUP: "Lower Bounds for Discrete Logarithms and Related Problems, LNCS, Advances in Cryptology", EUROCRYPT '97, vol. 1233, 1997, pages 256 - 266, XP055147946, Retrieved from the Internet <URL:http://rd.springer.com/chapter/10.1007%2F3-540-69053-0_18> *
YUTO KAWAHARA ET AL.: "Pairing Ango System ni Okeru Jiko Teisei o Mochiita Fukugo Module no Kosei Oyobi Jisso", 2011 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY SCIS2011, 25 January 2011 (2011-01-25), XP008172390 *

Also Published As

Publication number Publication date
CN107113168B (zh) 2020-09-08
US10419213B2 (en) 2019-09-17
EP3232603A4 (en) 2018-03-14
CN107113168A (zh) 2017-08-29
EP3232603B1 (en) 2023-05-31
JPWO2016114259A1 (ja) 2017-10-19
JP6594348B2 (ja) 2019-10-23
US20170373841A1 (en) 2017-12-28
EP3232603A1 (en) 2017-10-18

Similar Documents

Publication Publication Date Title
CN108352015B (zh) 用于基于区块链的系统结合钱包管理系统的安全多方防遗失存储和加密密钥转移
TWI760149B (zh) 決定用於資訊的安全交換的共同私密,及階層化的決定性加密金鑰
JP6594348B2 (ja) 鍵交換方法、鍵交換システム、鍵装置、端末装置、およびプログラム
CN110959163A (zh) 能够在多个存储节点上安全存储大型区块链的计算机实现的系统和方法
Obert et al. Recommendations for trust and encryption in DER interoperability standards
KR101516114B1 (ko) 인증서 기반 프록시 재암호화 방법 및 이를 위한 시스템
CN102970144A (zh) 基于身份的认证方法
KR20210063378A (ko) 공통 비밀을 공유하는 컴퓨터 구현 시스템 및 방법
CN109547413A (zh) 具有数据源认证的可转换的数据云存储的访问控制方法
US8484471B2 (en) Multi-party distributed multiplication device, multi-party distributed multiplication system and method
JP2017208773A (ja) 共有鍵共有システム、方法、クライアント装置、マスタ公開鍵保管サーバ及びプログラム
Nkurunziza et al. ECAAP‐SG: Efficient certificateless anonymous authentication protocol for SG
Ashraf et al. Lightweight and authentic symmetric session key cryptosystem for client–server mobile communication
CN115001673A (zh) 基于统一多域标识的密钥处理方法、装置及系统
Chen et al. Blockchain as a CA: A provably secure signcryption scheme leveraging blockchains
JP2018116231A (ja) Idベース認証鍵交換システム、端末、idベース認証鍵交換方法、プログラム
Reimair et al. In Certificates We Trust--Revisited
JP2012019327A (ja) 本人性証明システム、検証装置、本人性証明方法
JP2010113181A (ja) 鍵管理方法、鍵生成方法、暗号処理方法、復号処理方法、アクセス管理方法、通信ネットワークシステム
JP2015186101A (ja) 鍵交換装置、及び鍵交換方法
Deng et al. N-for-1-Auth: N-wise Decentralized Authentication via One Authentication
WO2023242971A1 (ja) 鍵交換システム、機器、方法、及びプログラム
RU2771928C2 (ru) Безопасный обмен данными, обеспечивающий прямую секретность
Zhenhua et al. A distributed secret share update scheme with public verifiability for ad hoc network
US20240205206A1 (en) Key exchange system, terminal, server, key exchange method, and program

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16737330

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2016569359

Country of ref document: JP

Kind code of ref document: A

REEP Request for entry into the european phase

Ref document number: 2016737330

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 15542538

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE