WO2019198516A1 - 鍵配信システム、端末装置、鍵配信方法、及びプログラム - Google Patents
鍵配信システム、端末装置、鍵配信方法、及びプログラム Download PDFInfo
- Publication number
- WO2019198516A1 WO2019198516A1 PCT/JP2019/013412 JP2019013412W WO2019198516A1 WO 2019198516 A1 WO2019198516 A1 WO 2019198516A1 JP 2019013412 W JP2019013412 W JP 2019013412W WO 2019198516 A1 WO2019198516 A1 WO 2019198516A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- public value
- key
- terminal device
- subgroup
- key distribution
- Prior art date
- Legal status (The legal status 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 status listed.)
- Ceased
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
- H04L9/0662—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key 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)
- H04L9/083—Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
Definitions
- the present invention relates to a key distribution system, a terminal device, a key distribution method, and a program.
- the communication path is encrypted to prevent eavesdropping on the communication path, or the user terminal is lost or illegally taken out by leaving no data on the user terminal.
- the system that provides the service as described above, there is a possibility of information leakage due to a threat to the server.
- the threat to the server include an external attack on the server and an internal fraud by a server administrator.
- As a method for preventing information leakage due to these threats for example, there is a method of concealing data from a server and performing end-to-end encryption that can decrypt data only at a user terminal.
- a key (hereinafter referred to as “session”) is used without leaking any information to the authentication server.
- a Dynamic Multi-Cast Key Distribution (DMKD) protocol that can share a key is known. With the DMKD protocol, data transmission / reception can be performed between user terminals while keeping the data contents secret from the authentication server.
- session keys are shared only between a plurality of user terminals that transmit and receive data, for example, when a new user terminal is added to the plurality of user terminals or the plurality of these user terminals When a certain user terminal leaves the user terminal, the session key is updated.
- Non-Patent Document 1 has quantum resistance, since it uses a key encapsulation mechanism, it requires one round more communication than the DMKD protocol using DH key exchange. For this reason, the method proposed in Non-Patent Document 1 requires extra communication costs than the DMKD protocol using DH key exchange.
- the present invention has been made in view of the above points, and an object of the present invention is to realize multi-party key exchange that has quantum resistance and low communication costs.
- the key exchange system 1 in the embodiment of the present invention includes a key distribution server 10 and a plurality of user terminals 20.
- the key distribution server 10 and each user terminal 20 are communicably connected via a network 30 such as the Internet.
- the key distribution server 10 is a server that distributes the public key of each user terminal 20 in order to share a common key between the user terminals 20.
- the key distribution server 10 is realized by one information processing device (computer) or a plurality of information processing devices.
- the user terminal 20 is a terminal used by a user registered in the key exchange system 1 in the embodiment of the present invention. Each user terminal 20 can share a common key by exchanging public keys with other user terminals 20 via the key distribution server 10.
- the user terminal 20 for example, various information processing apparatuses such as a smartphone, a tablet terminal, a PC (personal computer), a wearable device, a game device, a home appliance, and an embedded device can be used.
- the number of users performing key exchange is N, and the user terminals 20 used by these users are referred to as “user terminals 20 1 ”, “User terminal 20 2 ”,..., “User terminal 20 N ”. Therefore, in the embodiment of the present invention, the subscript i (1 ⁇ i ⁇ N) is used as a symbol representing each user terminal 20 i (1 ⁇ i ⁇ N). In the embodiment of the present invention, S is used as a symbol representing the key distribution server 10.
- an integer f greater than or equal to 1
- l A and l B are small prime numbers (for example, 2 and 3), and e A and e B are integers.
- Is a prime number the one that is a prime number (any one selected arbitrarily when both are prime numbers) is represented by p.
- the upper elliptic curve For example,
- O is an infinite point.
- the elliptic curve E is a super singular elliptic curve.
- [m] P O ⁇ .
- the m twist subgroup E [m] is for an integer m that is not divisible by p,
- a function family ⁇ F s Dom k ⁇ Rng k ⁇ s having a domain Dom k and a range Rng k with k as a security parameter and seed s ⁇ ⁇ 0,1 ⁇ k as an index.
- a function called a pseudo-random function is used.
- a twist pseudorandom function tPRF based on this pseudorandom function is used. Note that the torsional pseudo-random function tPRF is a function having the property that even if part of the input is known, the output of the function is difficult to distinguish from the random value.
- the key distribution server 10 includes a setup unit 101, a long-term secret string generation unit 102, a short-term secret string generation unit 103, and a public information calculation unit 104 as functional units. And a communication unit 105, a long-term secret string storage unit 106, and a short-term secret string storage unit 107. With these functional units, the key distribution server 10 can realize pre-processing (FIG. 4) and key exchange processing (FIG. 5) described later.
- the user terminal 20 in the embodiment of the present invention includes a long-term secret string generation unit 201, a short-term secret string generation unit 202, a twist pseudorandom function unit 203, and the like as functional units.
- a session information storage unit 211 With each of these functional units, each user terminal 20 can realize pre-processing (FIG. 4) and key exchange processing (FIG. 5) described later.
- Step S101 Setup Step of Key Distribution Server 10
- the setup unit 101 of the key distribution server 10 is the number of k bits.
- the integer f is selected so that becomes a prime number.
- l A and l B are prime numbers
- e A and e B are integers.
- setup unit 101 of the key distribution server 10 generates the following pseudorandom functions F and F ′.
- the setup unit 101 of the key distribution server 10, (p, l A, e A, l B, e B, E, P A, Q A, P B, Q B, tPRF A, tPRF B, tPRF, F , F ′).
- each user terminal 20 can utilize such published information.
- Step S102 long secret string generation unit 102 of the long-term secret string generating step key distribution server 10 of the key distribution server 10, as a long-term secret string, and st S ⁇ Kspace k, and st' S ⁇ ⁇ 0,1 ⁇ k Generate uniformly and randomly. Then, the long-term secret string generation unit 102 of the key distribution server 10 stores the generated long-term secret string (st S , st ′ S ) in the long-term secret string storage unit 106.
- Step S103 long secret string generation unit 201 of the long-term secret string generating step each user terminal 20 of each user terminal 20, as a long-term secret string, and st i ⁇ Kspace k, and st' i ⁇ ⁇ 0,1 ⁇ k Generate uniformly and randomly.
- st i and ST 'i are long secret string generated by long-term secret string generation unit 201 of the user terminal 20 i.
- the long-term secret string generation unit 201 of each user terminal 20 stores the generated long-term secret string (st i , st ′ i ) in its own long-term secret string storage unit 209.
- FIG. 5 is a diagram for explaining an example of the flow of key exchange processing of the key exchange system 1 according to the embodiment of the present invention.
- the key exchange process described below can be executed any number of times during the operation of the key exchange system 1.
- the execution of key exchange per time is called a “session”.
- a session identifier for identifying the session is sid ⁇ ⁇ 0, 1 ⁇ k .
- any method for generating the session identifier sid any method can be used. For example, as disclosed in Non-Patent Document 1, there is a method of generating using commitment. It is assumed that the key distribution server 10 and each user terminal 20 know this sid.
- a representative user terminal 20 (representative user terminal) among the user terminals 20 is determined.
- user terminals 20 1 user terminals 20 2 ,..., User terminals 20 N , any user terminal 20 may be a representative user terminal.
- the user terminal 20 1 is assumed to be a representative user terminal.
- the selection of the representative user terminal and the notification indicating the representative user terminal may be performed by the key distribution server 10, for example.
- a secret key is generated from the base ⁇ P A , Q A ⁇ or secret key from the base ⁇ P B , Q B ⁇ at two user terminals 20.
- Asymmetry in the computation is caused by either
- Example 1 demonstrates the case where the process of a representative user terminal changes with the number N of the user terminals 20 even / odd. That is, in the first embodiment, when N is an even number, the user terminal 20 1 , the user terminal 20 3 ,..., The user terminal 20 N-1 calculate the public values from the bases ⁇ P A , Q A ⁇ , respectively. The user terminal 20 2 , the user terminal 20 4 ,..., And the user terminal 20 N calculate the public values from the bases ⁇ P B , Q B ⁇ , respectively.
- the representative user the user terminal 20 1 is a terminal basal ⁇ P A, Q A ⁇ and basal ⁇ P B, Q B ⁇ to calculate the respective public values from both the user terminal 20 3 , user terminals 20 5 ,...
- User terminal 20 N ⁇ 1 calculate public values from the bases ⁇ P A , Q A ⁇ , respectively, and user terminals 20 2 , user terminals 20 4 ,.
- the terminal 20 N calculates a public value from the basis ⁇ P B , Q B ⁇ .
- the public values include ⁇ i (P A ), ⁇ i (Q A ), ⁇ i (P B ), and ⁇ i (Q B ) described later.
- all user terminals 20 receive a common key from both the basis ⁇ P A , Q A ⁇ and the basis ⁇ P B , Q B ⁇ , regardless of the number N of user terminals 20.
- the case of generating will be described.
- Example 1 Hereinafter, Example 1 will be described.
- the short-term secret string generation unit 202 uses r i (1) ⁇ ⁇ 0, 1 ⁇ k , r i (2 ) ⁇ Kspace k , and r i (3) ⁇ ⁇ 0, 1 ⁇ k , r i (4) ⁇ Kspace k , k i (1) ⁇ ⁇ 0, 1 ⁇ k , and k i (2) ⁇ Kspace k are uniformly generated.
- the short secret string generation unit 202 short secret string (r i (1), r i (2), r i (3), r i (4), k i (1), k i (2)) Is stored in the short-term secret string storage unit 210.
- the long-term secret string (st i , st ′ i ) that is stored in the long-term secret string storage unit 209 is used.
- the homogenous map calculation unit 204 calculates the homogenous map ⁇ i : E ⁇ E i having a subgroup K i of E generated by [m i ] P A + [n i ] Q A as a core. An elliptic curve E i associated with the homogeneous map ⁇ i is calculated.
- the homogeneous map calculation unit 204 calculates ⁇ i (P B ) and ⁇ i (Q B ).
- the communication unit 208 transmits ( ⁇ i (P B ), ⁇ i (Q B ), E i ) to the key distribution server 10 (S201-15).
- the short-term secret string generation unit 202 uses r i (1) ⁇ ⁇ 0, 1 ⁇ k , r i (2 ) ⁇ Kspace k , and r i (3) ⁇ ⁇ 0, 1 ⁇ k , r i (4) ⁇ Kspace k , k i (1) ⁇ ⁇ 0, 1 ⁇ k , and k i (2) ⁇ Kspace k are uniformly generated.
- the short secret string generation unit 202 short secret string (r i (1), r i (2), r i (3), r i (4), k i (1), k i (2)) Is stored in the short-term secret string storage unit 210.
- the long-term secret string (st i , st ′ i ) that is stored in the long-term secret string storage unit 209 is used.
- the homogeneous map calculation unit 204 calculates the homogeneous map ⁇ i : E ⁇ E i having a subgroup K i of E generated by [m i ] P B + [n i ] Q B as a nucleus. An elliptic curve E i associated with the homogeneous map ⁇ i is calculated.
- the homogeneous map calculation unit 204 calculates ⁇ i (P A ) and ⁇ i (Q A ).
- the communication unit 208 transmits ( ⁇ i (P A ), ⁇ i (Q A ), E i ) to the key distribution server 10 (S201-25).
- m i and n i in S201-12 and S201-22 are the long-term secret string stored in the long-term secret string storage unit 209, the short-term secret string stored in the short-term secret string storage unit 210, and Can be generated from a twisted pseudo-random function when needed. Therefore, safety, m i and n i is preferably not saved.
- m i and n i are set in S201-12 above.
- Step S202 Key distribution step (Round 1) S202-1)
- the communication unit 105 determines (sid, ⁇ i ⁇ 1 (P A ), ⁇ i ⁇ 1 (Q A ), E i ⁇ 1 , ⁇ i + 1 (P A ), ⁇ i + 1 (Q A ), E i + 1 ) are transmitted.
- (Q B ), E i ⁇ 1 , ⁇ i + 1 (P B ), ⁇ i + 1 (Q B ), E i + 1 ) are transmitted.
- the subscript i of the user terminal 20 has a ring shape.
- i 1, (sid, ⁇ N (P A), ⁇ N (Q A), E N, ⁇ 2 (P A), ⁇ 2 (Q A ), E 2 ).
- N a is the user terminal 20 N, (sid, ⁇ N -1 (P B), ⁇ N-1 (Q B), E N-1, ⁇ 1 (P B) , ⁇ 1 (Q B ), E 1 ) are transmitted.
- the communication unit 208 receives (sid, ⁇ i-1 (P A ), ⁇ i-1 (Q A ), E i ⁇ 1 , ⁇ i + 1 (P A ), ⁇ i + 1 (P i ) from the key distribution server 10.
- Q A ), E i + 1 are received.
- the homogeneous mapping calculation unit 204 calculates the subgroup K i ⁇ of E i ⁇ 1 generated by [m i ] ⁇ i ⁇ 1 (P A ) + [n i ] ⁇ i ⁇ 1 (Q A ). , I with i as the nucleus ⁇ i ⁇ 1, i : E i ⁇ 1 ⁇ E i ⁇ 1, i and the elliptic curve E i ⁇ 1, i associated with this homogeneous map ⁇ i ⁇ 1, i Calculate
- the homogeneous map calculation unit 204 has a homogeneous map having a subgroup K i + 1, i of E i + 1 generated by [m i ] ⁇ i + 1 (P A ) + [n i ] ⁇ i + 1 (Q A ) as a nucleus.
- ⁇ i + 1, i E i + 1 ⁇ E i + 1, i and an elliptic curve E i + 1, i associated with this homogeneous map ⁇ i + 1, i are calculated.
- S203-13 isogenies calculation unit 204, an elliptic curve E i-1, i of the j-invariant j and (E i-1, i) , the elliptic curve E i + 1, i of the j-invariant j (E i + 1, i ) And calculate.
- the first pseudorandom function unit 205 calculates an exclusive OR T i for each bit of K i (l) and K i (r) . That is, the first pseudo-random function unit 205 is
- the communication unit 208 transmits the (k i, T i) to the key distribution server 10. Note that k i is generated in the first key generation step (S201).
- the communication unit 208 sends (sid, ⁇ i ⁇ 1 (P B ), ⁇ i ⁇ 1 (Q B ), E i ⁇ 1 , ⁇ i + 1 (P B ), ⁇ i + 1 ( Q B ), E i + 1 ) are received.
- the homogeneous map calculation unit 204 calculates the subgroup K i ⁇ of E i ⁇ 1 generated by [m i ] ⁇ i ⁇ 1 (P B ) + [n i ] ⁇ i ⁇ 1 (Q B ). , I with i as the nucleus ⁇ i ⁇ 1, i : E i ⁇ 1 ⁇ E i ⁇ 1, i and the elliptic curve E i ⁇ 1, i associated with this homogeneous map ⁇ i ⁇ 1, i Calculate
- the homogeneous mapping calculation unit 204 has a homogeneous mapping having a subgroup K i + 1, i of E i + 1 generated by [m i ] ⁇ i + 1 (P B ) + [n i ] ⁇ i + 1 (Q B ) as a nucleus.
- ⁇ i + 1, i E i + 1 ⁇ E i + 1, i and an elliptic curve E i + 1, i associated with this homogeneous map ⁇ i + 1, i are calculated.
- S203-23 isogenies calculation unit 204, an elliptic curve E i-1, i of the j-invariant j and (E i-1, i) , the elliptic curve E i + 1, i of the j-invariant j (E i + 1, i ) And calculate.
- the first pseudo-random function unit 205 calculates an exclusive OR T i for each bit of K i (l) and K i (r) .
- the communication unit 208 transmits (k i , T i ) to the key distribution server 10 (S203-26). Note that k i is generated in the first key generation step (S201).
- the user terminal 20 1 executes a representative user terminal.
- the communication unit 208 sends (sid, ⁇ N (P A ), ⁇ N (Q A ), E N , ⁇ 2 (P A ), ⁇ 2 (Q A ), E 2 from the key distribution server 10. ).
- the homogenous map calculation unit 204 uses the subgroup K N, 1 of E N generated by [m 1 ] ⁇ N (P A ) + [n 1 ] ⁇ N (Q A ) as a core. Map ⁇ N, 1 : E N ⁇ E N, 1 and an elliptic curve E N, 1 associated with this homogeneous map ⁇ N, 1 are calculated.
- the homogeneous mapping calculation unit 204 has a homogeneous mapping having a subgroup K 2,1 of E 2 generated by [m 1 ] ⁇ 2 (P A ) + [n 1 ] ⁇ 2 (Q A ) as a nucleus.
- ⁇ 2,1 : E 2 ⁇ E 2,1 and an elliptic curve E 2,1 associated with the homogeneous map ⁇ 2,1 are calculated.
- isogenies calculation unit 204 calculates the elliptic curve E N, 1 of the j-invariant j (E N, 1), and a j-invariant j of the elliptic curve E 2,1 (E 2,1) To do.
- the first pseudo-random function unit 205 calculates the exclusive OR T 1 of the bitwise K 1 and (l) and K 1 (r).
- the first pseudo-random function unit 205 calculates an exclusive OR T ′ of K 1 (l) and k 1 . That is, the first pseudo-random function unit 205 is
- k 1 are those generated by the first key generating step (S201).
- the communication unit 208 transmits (T ′, T 1 ) to the key distribution server 10 (S203-37).
- the short-term secret string generation unit 103 generates k S (1) ⁇ ⁇ 0, 1 ⁇ k and k S (2) ⁇ Kspace k uniformly and randomly as the short-term secret strings. Then, the short-term secret string generation unit 103 stores the short-term secret string (k S (1) , k S (2) ) in the short-term secret string storage unit 107.
- st S and st ′ S are stored in the long-term secret string storage unit 106.
- the public information calculation unit 104 performs exclusive OR T ′ between T j (1 ⁇ j ⁇ i ⁇ 1) for each i ⁇ ⁇ 2,..., N ⁇ . i is calculated. That is, the public information calculation unit 104
- Step S205 S205-11 ⁇ S205-14 subsequent session key generation step, i is the user terminal 20 i is other than 1 (i.e., the user terminal 20 other than the representative user terminal) executes.
- the communication unit 208 receives (k ′, T ′ i , T ′) from the key distribution server 10.
- the secret information calculation unit 206 calculates the exclusive OR of T ′ i and T ′. This exclusive OR is consistent with K 1 (l) . That is,
- the secret information calculation unit 206 calculates the exclusive OR of T ′ and K 1 (l) .
- the exclusive OR is consistent with k 1. That is,
- the second pseudo-random function unit 207 stores the session key K in the session information storage unit 211.
- Subsequent S205-21 to S205-22 are executed by the user terminal 20 1 in which i is 1 (that is, the representative user terminal).
- the communication unit 208 receives k ′ from the key distribution server 10.
- the second pseudo-random function unit 207 stores the session key K in the session information storage unit 211.
- Step S201 First key generation step (Round 1)
- Subsequent S201-31 to S201-35 are executed by the user terminal 20 1 in which i is 1 (that is, the representative user terminal).
- the short-term secret string generation unit 202 uses r 1 (1) ⁇ ⁇ 0, 1 ⁇ k , r 1 (2 ) ⁇ Kspace k , and r 1 (3) ⁇ ⁇ 0, as short-term secret strings.
- the short-term secret string generation unit 202 generates a short-term secret string (r 1 (1) , r 1 (2) , r 1 (3) , r 1 (4) , r 1 (5) , r 1 (6) , r 1 (7) , r 1 (8) , k 1 (1) , k 2 (2) ) are stored in the short-term secret string storage unit 210.
- the long-term secret string (st 1 , st ′ 1 ) is stored in the long-term secret string storage unit 209.
- the homogenous map calculation unit 204 calculates the homogenous map ⁇ 1 : E ⁇ E 1 having a subgroup K 1 of E generated by [m 1 ] P A + [n 1 ] Q A as a nucleus, An elliptic curve E 1 associated with the homogeneous map ⁇ 1 is calculated.
- the homogeneous map calculation unit 204 generates a homogeneous map ⁇ N + 1 : E ⁇ E N + 1 having a subgroup K N + 1 of E generated by [m N + 1 ] P B + [n N + 1 ] Q B as a nucleus. An elliptic curve E N + 1 associated with ⁇ N + 1 is calculated.
- the homogeneous map calculation unit 204 calculates ⁇ 1 (P B ), ⁇ 1 (Q B ), ⁇ N + 1 (P A ), and ⁇ N + 1 (Q A ).
- the communication unit 208 transmits ( ⁇ 1 (P B ), ⁇ 1 (Q B ), E 1 , ⁇ N + 1 (P A ), ⁇ N + 1 (Q B ), E N + 1 ) to the key distribution server. 10 to send.
- the user terminal 20 1 of the public value is a representative user terminal ( ⁇ 1 (P B), ⁇ 1 (Q B), E 1, ⁇ N + 1 (P A), ⁇ N + 1 (Q B), E N + 1) Is transmitted to the key distribution server 10.
- m 1 , n 1 , m N + 1 and n N + 1 in S201-32 are the long-term secret string stored in the long-term secret string storage unit 209 and the short-term secret stored in the short-term secret string storage unit 210. And can be generated from a twisted pseudo-random function when needed. Therefore, for safety, it is preferable not to store m 1 , n 1 , m N + 1 and n N + 1 .
- m 1 and n 1 are set in S201-32 above.
- Step S202 Key distribution step (Round 1) S202-3) communication unit 105, i is the public values from the user terminal 20 1 is 1 ( ⁇ 1 (P B) , ⁇ 1 (Q B), E 1, ⁇ N + 1 (P A), ⁇ N + 1 (Q B ), E N + 1 ) are received.
- Step S203 Second key generation step (Round 2)
- the communication unit 208 sends (sid, ⁇ N (P A ), ⁇ N (Q A ), E N , ⁇ 2 (P A ), ⁇ 2 (Q A ), E 2 from the key distribution server 10. ).
- the homogenous map calculation unit 204 uses the homogeneity having the subgroup K N, N + 1 of E N generated by [m N + 1 ] ⁇ N (P B ) + [n N + 1 ] ⁇ N (Q B ) as a nucleus.
- Map ⁇ N, N + 1 E N ⁇ E N, N + 1 and the elliptic curve E N, N + 1 associated with this homogeneous map ⁇ N, N + 1 are calculated.
- the homogeneous mapping calculation unit 204 has a homogeneous mapping having a subgroup K 2,1 of E 2 generated by [m 1 ] ⁇ 2 (P A ) + [n 1 ] ⁇ 2 (Q A ) as a nucleus.
- ⁇ 2,1 : E 2 ⁇ E 2,1 and an elliptic curve E 2,1 associated with the homogeneous map ⁇ 2,1 are calculated.
- isogenies calculation unit 204 calculates the elliptic curve E N, N + 1 of the j-invariant j (E N, N + 1 ) and, the j-invariant j of the elliptic curve E 2,1 (E 2,1) To do.
- the first pseudo-random function unit 205 calculates the exclusive OR T 1 of the bitwise K 1 and (l) and K 1 (r).
- the first pseudo-random function unit 205 calculates an exclusive OR T ′ of K 1 (l) and k 1 .
- the communication unit 208 transmits (T ′, T 1 ) to the key distribution server 10 (S203-47).
- Example 2 Hereinafter, Example 2 will be described.
- the same processing is performed regardless of whether N is an even number or an odd number. That is, in the second embodiment, unlike the first embodiment, no case division occurs due to N even / odd.
- the short-term secret string generation unit 202 uses, as short-term secret strings, r i (1) ⁇ ⁇ 0,1 ⁇ k , r i (2) ⁇ Kspace k , and r i (3) ⁇ ⁇ 0, 1 ⁇ k , r i (4) ⁇ Kspace k , r i (5) ⁇ ⁇ 0, 1 ⁇ k , r i (6 ) ⁇ Kspace k , and r i (7) ⁇ ⁇ 0, 1 ⁇ k , r i (8) ⁇ Kspace k , k i (1) ⁇ ⁇ 0, 1 ⁇ k , and k i (2) ⁇ Kspace k are uniformly generated.
- the short secret string generation unit 202, short secret string (r i (1), r i (2), r i (3), r i (4), r i (5), r i (6), r i (7) , r i (8) , k i (1) , k i (2) ) are stored in the short-term secret string storage unit 210.
- the long-term secret string (st i , st ′ i ) that is stored in the long-term secret string storage
- the homogenous map calculation unit 204 generates a homogenous map ⁇ having a subgroup K i (1) of E generated by [m i (1) ] P A + [n i (1) ] Q A as a nucleus. i (1) : E ⁇ E i (1) and an elliptic curve E i (1) associated with this homogeneous map ⁇ i (1) are calculated.
- the homogeneous map calculation unit 204 also generates a homogeneous map ⁇ i ( with a subgroup K i (2) of E generated by [m i (2) ] P B + [n i (2) ] Q B as a nucleus. 2) : Calculate E ⁇ E i (2) and the elliptic curve E i (2) associated with this homogeneous map ⁇ i (2) .
- the homogeneous map calculation unit 204 performs ⁇ i (1) (P B ), ⁇ i (1) (Q B ), ⁇ i (2) (P A ), and ⁇ i (2) ( Q A ) is calculated.
- the communication unit 208 determines whether ( ⁇ i (1) (P B ), ⁇ i (1) (Q B ), E i (1) , ⁇ i (2) (P A ), ⁇ i (2) (Q B ), E i (2) ) are transmitted to the key distribution server 10. From this, the user terminal 20 i public value of ( ⁇ i (1) (P B), ⁇ i (1) (Q B), E i (1), ⁇ i (2) (P A), ⁇ i (2) (Q B ), E i (2) ) is transmitted to the key distribution server 10.
- m i (1) in the above S201-42, n i (1), m i (2) and n i (2) includes a long-term secret string stored in the long-term secret string storage unit 209, the short-term The short-term secret string stored in the secret string storage unit 210 can be used to generate a twisted pseudo-random function when necessary. Therefore, safety, m i (1), n i (1), m i (2) and n i (2) is preferably not saved.
- Step S202 Key distribution step (Round 1) S202-5) communication unit 105, public value from each user terminal 20 i ( ⁇ i (1) (P B), ⁇ i (1) (Q B), E i (1), ⁇ i (2) ( P A ), ⁇ i (2) (Q B ), E i (2) ).
- S202-6) communication unit 105 for each user terminal 20 i, (sid, ⁇ i -1 (1) (P B), ⁇ i-1 (1) (Q B), E i-1 ( 1) , ⁇ i + 1 (2) (P A ), ⁇ i + 1 (2) (Q B ), E i + 1 (2) ).
- the communication unit 208 sends (sid, ⁇ i-1 (1) (P B ), ⁇ i-1 (1) (Q B ), E i-1 (1) , ⁇ from the key distribution server 10. i + 1 (2) (P A ), ⁇ i + 1 (2) (Q B ), E i + 1 (2) ).
- the homogeneous map calculation unit 204 generates [m i (2) ] ⁇ i ⁇ 1 (1) (P B ) + [n i (2) ] ⁇ i ⁇ 1 (1) (Q B ) H i , i (1) : E i-1 (1) ⁇ E i-1, E i-1 (1) subgroup K i-1, i (1) i (1) and an elliptic curve E i-1, i (1) associated with this homogeneous map ⁇ i-1, i (1) are calculated.
- the homogeneous map calculation unit 204 generates E i + 1 ( 2) (Q A ) generated by [m i (1) ] ⁇ i + 1 (2) (P A ) + [n i (1) ] ⁇ i + 1 (2) (Q A ). 2) Homogeneous map ⁇ i + 1, i (2) having a subgroup K i + 1, i (2) as a nucleus: E i + 1 (2) ⁇ E i + 1, i (2) , and this homogeneous map ⁇ i + 1, i (2) ) And an elliptic curve E i + 1, i (2) associated therewith.
- isogenies calculation unit 204 includes a (j invariant j of 1) (E i-1, i (1) elliptic curve E i-1, i), the elliptic curve E i + 1, i (2) The j invariant j (E i + 1, i (2) ) is calculated.
- the first pseudo-random function unit 205 of the user terminal 20 1 is adapted to calculate the exclusive OR T 1 of the K 1 and (l) and K 1 (r), K 1 (l) and k 1 and of An exclusive OR T ′ is calculated.
- k 1 are those generated by the first key generating step (S201).
- the communication unit 208 of the user terminal 20 1 transmits (T', T 1) to the key distribution server 10.
- the key distribution server 10 and the user terminal 20 include an input device 301, a display device 302, an external I / F 303, a RAM (Random Access Memory) 304, and a ROM. (Read Only Memory) 305, CPU (Central Processing Unit) 306, communication I / F 307, and auxiliary storage device 308.
- Each of these hardware is connected via a bus B so as to be able to communicate.
- the input device 301 is, for example, a keyboard, a mouse, a touch panel, or the like.
- the display device 302 is, for example, a display. Note that the key distribution server 10 may not include at least one of the input device 301 and the display device 302.
- External I / F 303 is an interface with an external device.
- the external device includes a recording medium 303a.
- Examples of the recording medium 303a include a CD (Compact Disc), a DVD (Digital Versatile Disc), an SD memory card (Secure Digital memory card), a USB (Universal Serial Bus) memory card, and the like.
- the recording medium 303a may record one or more programs that realize each function unit of the key distribution server 10, one or more programs that realize each function unit of the user terminal 20, and the like.
- the RAM 304 is a volatile semiconductor memory that temporarily stores programs and data.
- the ROM 305 is a non-volatile semiconductor memory that can retain programs and data even when the power is turned off.
- the CPU 306 is an arithmetic device that reads a program or data from the ROM 305, the auxiliary storage device 308, or the like onto the RAM 304 and executes processing.
- Each functional unit of the key distribution server 10 and each functional unit of the user terminal 20 are realized by the CPU 306 executing one or more programs.
- the communication I / F 307 is an interface for connecting to the network 30. It should be noted that one or more programs for realizing each functional unit of the key distribution server 10 and one or more programs for realizing each functional unit of the user terminal 20 are acquired from a predetermined server or the like via the communication I / F 307 ( May be downloaded).
- the auxiliary storage device 308 is a non-volatile storage device such as an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
- the auxiliary storage device 308 stores one or more programs that realize each function unit of the key distribution server 10, one or more programs that realize each function unit of the user terminal 20, and the like.
- the key distribution server 10 and the user terminal 20 in the embodiment of the present invention can implement the above-described various processes by having the hardware configuration shown in FIG.
- FIG. 6 shows the case where the key distribution server 10 according to the embodiment of the present invention is realized by one information processing apparatus, the present invention is not limited to this.
- the key distribution server 10 in the embodiment of the present invention may be realized by a plurality of information processing apparatuses.
- Example 1 of the key exchange system 1 in the embodiment of the present invention when the number N of user terminals 20 is an even number, for example, the user terminals 20 1 , user terminals 20 3 ,. N ⁇ 1 calculates public values from the bases ⁇ P A , Q A ⁇ , and the user terminals 20 2 , user terminals 20 4 ,..., And the user terminals 20 N public from the bases ⁇ P B , Q B ⁇ , respectively. Calculate the value.
- the adjacent user terminals 20 of the user terminals 20 arranged in a ring shape (logically) calculate the public value using different bases, and the same kind mapping between the adjacent user terminals 20 Cryptographic key exchange can be easily performed with a small number of rounds (two rounds).
- the representative user terminal a is the user terminal 20 1 basal ⁇ P A, Q A ⁇ and basal ⁇ P B, Q B ⁇ Get respective public values from both The user terminal 20 3 , the user terminal 20 5 ,...,
- the user terminal 20 N ⁇ 1 calculate the public value from the basis ⁇ P A , Q A ⁇ , respectively, and the user terminal 20 2 , the user terminal 20 4 ...
- the user terminal 20 N calculates a public value from the basis ⁇ P B , Q B ⁇ , respectively.
- the representative user terminal calculates the public value from both bases ⁇ P A , Q A ⁇ and ⁇ P B , Q B ⁇ , respectively, so that N is an even number as a whole for the user terminal 20.
- N is an even number as a whole for the user terminal 20.
- Example 2 of the key exchange system 1 according to the embodiment of the present invention, all user terminals 20 are connected to the basis ⁇ P A , Q A ⁇ and the basis ⁇ P B regardless of whether the number N of user terminals 20 is even or odd. , Q B ⁇ respectively, calculate the public value.
- the user terminal 20 as a whole can realize the same behavior as when N in the first embodiment is an even number, and can easily perform key exchange of the homogeneous mapping encryption with a small number of rounds.
- the same processing content is used regardless of the number of users, for example, it is possible to realize a key exchange process that does not cause conditional branching or the like according to the number of users.
- the key exchange system 1 has quantum resistance and multi-party key exchange (that is, quantum resistance) having a smaller number of rounds (2 rounds) than that of Non-Patent Document 1. And multi-party key exchange with low communication cost can be realized.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Optimization (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Algebra (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer And Data Communications (AREA)
- Telephonic Communication Services (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
N台の端末装置Uiと、セッション鍵の交換に用いられる鍵配信サーバとが含まれる鍵配信システムであって、Nが偶数である場合、奇数番目の端末装置Uiが所定の楕円曲線の第1のねじれ部分群の基底を用いた第1の公開値を計算し、偶数番目の端末装置Uiが前記楕円曲線の第2のねじれ部分群の基底を用いた第2の公開値を計算する同種写像計算手段と、前記鍵配信サーバが、奇数番目の端末装置Uiにより計算された第1の公開値を端末装置Ui-1及び端末装置Ui+1に配信し、偶数番目の端末装置Uiにより計算された第2の公開値を端末装置Ui-1及び端末装置Ui+1に配信する配信手段と、前記配信手段により配信された第2の公開値を用いて奇数番目の端末装置Uiが前記セッション鍵を生成し、前記配信手段により配信された第1の公開値を用いて偶数番目の端末装置Uiが前記セッション鍵を生成する鍵生成手段と、を有し、前記同種写像計算手段は、Nが奇数である場合、前記端末装置Uiのうち、所定の端末装置UIが前記第1のねじれ部分群の基底を用いた第1の公開値と、前記第2のねじれ部分群の基底を用いた第2の公開値とを計算する、ことを特徴とする鍵配信システム。
Description
本発明は、鍵配信システム、端末装置、鍵配信方法、及びプログラムに関する。
スマートフォンやタブレット端末等の各種ユーザ端末の普及に伴って、何等かのデータをサーバに預託することで、このデータを多人数で共有するようなサービスが増えてきた。このようなサービスとしては、例えば、オンラインストレージサービス、グループチャットサービス、グループメールサービス等が挙げられる。
上記のようなサービスを提供するシステムでは、例えば、通信路を暗号化することで通信経路上の盗聴防止が施されていたり、ユーザ端末にデータを残さないことによってユーザ端末の紛失や不正な持ち出しに起因する情報漏えい防止が施されていたりする。このように、上記のようなサービスを提供するシステムでは、通信経路に対する脅威(例えば、盗聴等)やユーザ端末に対する脅威(例えば、紛失や不正な持ち出し等)に対処が行われている場合が多い。
ここで、上記のようなサービスを提供するシステムにおいては、サーバに対する脅威に起因する情報漏えいの恐れも考えられる。サーバに対する脅威には、例えば、サーバに対する外部からの攻撃やサーバ管理者等による内部不正等がある。これらの脅威に起因する情報漏えいを防止する方法として、例えば、サーバに対してはデータを秘匿化し、ユーザ端末でのみデータの復号可能なエンドツーエンド暗号化を行う方法がある。
エンドツーエンド暗号化では、ユーザ端末間で用いる共通鍵をどのように共有するかが問題となる。これに対して、多者間鍵交換技術の1つとして、中央に認証サーバが配置されたスター型のネットワークにおいて、認証サーバに対していかなる情報も漏らさずにユーザ端末間で鍵(以下「セッション鍵」と表す。)を共有することが可能な動的多者鍵配布(DMKD:Dynamic Multi-Cast Key Distribution)プロトコルが知られている。DMKDプロトコルによって、認証サーバに対してデータの内容を秘匿したままユーザ端末間でデータの送受信を行うことができるようになる。また、DMKDプロトコルでは、データの送受信を行う複数のユーザ端末間でのみセッション鍵の共有を行うため、例えば、これらの複数のユーザ端末に対して新たなユーザ端末が追加された場合やこれらの複数のユーザ端末から或るユーザ端末が離脱した場合等にはセッション鍵が更新される。
ところで、以下の参考文献1では、DH(Diffie-Hellman)鍵交換を用いたDMKDプロトコルが提案されている。
[参考文献1]
K. Yoneyama, R. Yoshida, Y. Kawahara, T. Kobayashi, H. Fuji, and T. Yamamoto. 2016. Multi-Cast Key Distribution: Scalable, Dynamic and Provably Secure Construction. Cryptology ePrint Archive, Report 2016/833. (2016).
しかしながら、参考文献1で提案されているDMKDプロトコルは、DH鍵交換を用いているため、耐量子性がないことが知られている。このため、今後、量子コンピュータの実用化が進むにつれて、計算量仮定であるCDH(Computational Diffie-Hellman)・DDH(Decisional Diffie-Hellman)問題が効率よく解かれてしまい、鍵共有の安全性が担保されない可能性がある。これに対して、鍵カプセル化メカニズム(KEM:Key Encapsulation Mechanism)を用いることで、格子暗号や符号ベース暗号等の耐量子暗号に適用可能なDMKDプロトコルが提案されている(非特許文献1)。
K. Yoneyama, R. Yoshida, Y. Kawahara, T. Kobayashi, H. Fuji, and T. Yamamoto. 2016. Multi-Cast Key Distribution: Scalable, Dynamic and Provably Secure Construction. Cryptology ePrint Archive, Report 2016/833. (2016).
しかしながら、参考文献1で提案されているDMKDプロトコルは、DH鍵交換を用いているため、耐量子性がないことが知られている。このため、今後、量子コンピュータの実用化が進むにつれて、計算量仮定であるCDH(Computational Diffie-Hellman)・DDH(Decisional Diffie-Hellman)問題が効率よく解かれてしまい、鍵共有の安全性が担保されない可能性がある。これに対して、鍵カプセル化メカニズム(KEM:Key Encapsulation Mechanism)を用いることで、格子暗号や符号ベース暗号等の耐量子暗号に適用可能なDMKDプロトコルが提案されている(非特許文献1)。
金城皓羽、岡野裕樹、斉藤恒和、草川恵太、小林鉄太郎、星野文学、「KEMを用いた動的多者鍵配布プロトコル」、SCIS2018
しかしながら、非特許文献1で提案されている手法は耐量子があるものの、鍵カプセル化メカニズムを用いているため、DH鍵交換を用いたDMKDプロトコルよりも1ラウンド多い通信が必要である。このため、非特許文献1で提案されている手法は、DH鍵交換を用いたDMKDプロトコルよりも余分な通信コストが必要であった。
本発明は、上記の点に鑑みてなされたもので、耐量子性があり、かつ、通信コストが少ない多者間鍵交換を実現することを目的とする。
上記目的を達成するため、本発明の実施の形態は、N(ただし、N≧2)台の端末装置Ui(i=1,・・・,N)と、該N台の端末装置Ui間で同種写像暗号によるセッション鍵の交換に用いられる鍵配信サーバとが含まれる鍵配信システムであって、Nが偶数である場合、前記端末装置Uiのうち、奇数番目の端末装置Ui(i=1,・・・,N-1)が所定の楕円曲線の第1のねじれ部分群の基底を用いた第1の公開値を計算し、偶数番目の端末装置Ui(i=2,・・・,N)が前記楕円曲線の第2のねじれ部分群の基底を用いた第2の公開値を計算する同種写像計算手段と、前記鍵配信サーバが、奇数番目の端末装置Uiにより計算された第1の公開値を端末装置Ui-1(ただし、i=1である場合、U0=UN)及び端末装置Ui+1(ただし、i=Nである場合、UN+1=U1)に配信し、偶数番目の端末装置Uiにより計算された第2の公開値を端末装置Ui-1及び端末装置Ui+1に配信する配信手段と、前記配信手段により配信された第2の公開値を用いて奇数番目の端末装置Uiが前記セッション鍵を生成し、前記配信手段により配信された第1の公開値を用いて偶数番目の端末装置Uiが前記セッション鍵を生成する鍵生成手段と、を有し、前記同種写像計算手段は、Nが奇数である場合、前記端末装置Uiのうち、予め決められた所定の端末装置UIが前記第1のねじれ部分群の基底を用いた第1の公開値と、前記第2のねじれ部分群の基底を用いた第2の公開値とを計算する、ことを特徴とする。
本発明によれば、耐量子性があり、かつ、通信コストが少ない多者間鍵交換を実現することができる。
以下、本発明の実施の形態について説明する。本発明の実施の形態では、耐量子暗号として同種写像暗号を用いて、非特許文献1で提案されている手法よりも少ないラウンド(2ラウンド)の通信で多者間鍵交換を行う鍵交換システム1について説明する。
<システム構成>
図1に示すように、本発明の実施の形態における鍵交換システム1には、鍵配信サーバ10と、複数のユーザ端末20とが含まれる。鍵配信サーバ10と各ユーザ端末20とは、例えばインターネット等のネットワーク30を介して通信可能に接続されている。
図1に示すように、本発明の実施の形態における鍵交換システム1には、鍵配信サーバ10と、複数のユーザ端末20とが含まれる。鍵配信サーバ10と各ユーザ端末20とは、例えばインターネット等のネットワーク30を介して通信可能に接続されている。
鍵配信サーバ10は、各ユーザ端末20間で共通鍵を共有するために、各ユーザ端末20の公開鍵の配信を行うサーバである。鍵配信サーバ10は、1台の情報処理装置(コンピュータ)又は複数台の情報処理装置で実現される。
ユーザ端末20は、本発明の実施の形態における鍵交換システム1に登録されているユーザが利用する端末である。各ユーザ端末20は、鍵配信サーバ10を介して、他のユーザ端末20との間で公開鍵を交換することで、共通鍵を共有することができる。ユーザ端末20としては、例えば、スマートフォンやタブレット端末、PC(パーソナルコンピュータ)、ウェアラブルデバイス、ゲーム機器、家電製品、組み込み機器等の種々の情報処理装置を用いることができる。
本発明の実施の形態では、鍵交換システム1に登録されているユーザのうち、鍵交換を行うユーザの数をNとし、これらのユーザが利用するユーザ端末20をそれぞれ「ユーザ端末201」、「ユーザ端末202」、・・・、「ユーザ端末20N」と表す。したがって、本発明の実施の形態では、各ユーザ端末20i(1≦i≦N)をそれぞれ表す記号として、添え字i(1≦i≦N)を用いる。また、本発明の実施の形態では、鍵配信サーバ10を表す記号として、Sを用いる。
<定義>
ここで、本発明の実施の形態で用いる記号等を定義する。
ここで、本発明の実施の形態で用いる記号等を定義する。
整数をnとして、整数環Zに対するnを法とする剰余環(又は剰余類環)をZ/nZとする。
また、1以上の整数fを、
また、
楕円曲線Eのj不変量を、
整数mに対して、楕円曲線Eのmねじれ部分群E[m]を、E[m]={P∈E|[m]P=O}と定義する。mねじれ部分群E[m]は、pで割り切れない整数mに対して、
本発明の実施の形態では、kをセキュリティパラメータ、シードs∈{0,1}kをインデックスとし、定義域Domkと値域Rngkとを持つ関数族{Fs:Domk→Rngk}sのうち、疑似ランダム関数と呼ばれる関数を使用する。また、本発明の実施の形態では、この疑似ランダム関数によるねじれ疑似ランダム関数tPRFを使用する。なお、ねじれ疑似ランダム関数tPRFは、入力の一部が知られたとしても、その関数の出力がランダム値と区別が困難であるという性質を有する関数である。
なお、ねじれ疑似ランダム関数については、例えば、以下の参考文献2に開示されている。
[参考文献2]
K. Yoneyama, R. Yoshida, Y. Kawahara, T. Kobayashi, H. Fuji, and T. Yamamoto. 2016. Multi-Cast Key Distribution: Scalable, Dynamic and Provably Secure Construction. Cryptology ePrint Archive, Report 2016/833. (2016).
<機能構成>
図2に示すように、本発明の実施の形態における鍵配信サーバ10は、機能部として、セットアップ部101と、長期秘密ストリング生成部102と、短期秘密ストリング生成部103と、公開情報計算部104と、通信部105と、長期秘密ストリング記憶部106と、短期秘密ストリング記憶部107とを有する。これらの各機能部によって、鍵配信サーバ10は、後述する事前処理(図4)及び鍵交換処理(図5)を実現することができる。
K. Yoneyama, R. Yoshida, Y. Kawahara, T. Kobayashi, H. Fuji, and T. Yamamoto. 2016. Multi-Cast Key Distribution: Scalable, Dynamic and Provably Secure Construction. Cryptology ePrint Archive, Report 2016/833. (2016).
<機能構成>
図2に示すように、本発明の実施の形態における鍵配信サーバ10は、機能部として、セットアップ部101と、長期秘密ストリング生成部102と、短期秘密ストリング生成部103と、公開情報計算部104と、通信部105と、長期秘密ストリング記憶部106と、短期秘密ストリング記憶部107とを有する。これらの各機能部によって、鍵配信サーバ10は、後述する事前処理(図4)及び鍵交換処理(図5)を実現することができる。
また、図3に示すように、本発明の実施の形態におけるユーザ端末20は、機能部として、長期秘密ストリング生成部201と、短期秘密ストリング生成部202と、ねじれ疑似ランダム関数部203と、同種写像計算部204と、第1疑似ランダム関数部205と、秘密情報計算部206と、第2疑似ランダム関数部207と、通信部208と、長期秘密ストリング記憶部209と、短期秘密ストリング記憶部210と、セッション情報記憶部211とを有する。これら各機能部によって、各ユーザ端末20は、後述する事前処理(図4)及び鍵交換処理(図5)を実現することができる。
<事前処理>
次に、本発明の実施の形態における鍵交換システム1の事前処理の流れについて、図4を参照しながら説明する。図4は、本発明の実施の形態における鍵交換システム1の事前処理の流れの一例を説明するための図である。なお、セキュリティパラメータkは予め決められているものとする。例えば、k=256等に決められているものとする。
次に、本発明の実施の形態における鍵交換システム1の事前処理の流れについて、図4を参照しながら説明する。図4は、本発明の実施の形態における鍵交換システム1の事前処理の流れの一例を説明するための図である。なお、セキュリティパラメータkは予め決められているものとする。例えば、k=256等に決められているものとする。
ステップS101:鍵配信サーバ10のセットアップステップ
鍵配信サーバ10のセットアップ部101は、kビットの数
鍵配信サーバ10のセットアップ部101は、kビットの数
また、鍵配信サーバ10のセットアップ部101は、
[参考文献3]
L. De Feo, D. Jao, Towards quantum-resistant cryptosystems from supersingular elliptic curve isogenies, In PQCrypto, pp.19-34, 2011.
更に、鍵配信サーバ10のセットアップ部101は、Kspacekを鍵空間とし、以下のねじれ疑似ランダム関数tPRFA,tPRFB及びtPRFを生成する。
L. De Feo, D. Jao, Towards quantum-resistant cryptosystems from supersingular elliptic curve isogenies, In PQCrypto, pp.19-34, 2011.
更に、鍵配信サーバ10のセットアップ部101は、Kspacekを鍵空間とし、以下のねじれ疑似ランダム関数tPRFA,tPRFB及びtPRFを生成する。
ステップS102:鍵配信サーバ10の長期秘密ストリング生成ステップ
鍵配信サーバ10の長期秘密ストリング生成部102は、長期秘密ストリングとして、stS∈Kspacekと、st´S∈{0,1}kとを一様ランダムに生成する。そして、鍵配信サーバ10の長期秘密ストリング生成部102は、生成した長期秘密ストリング(stS,st´S)を長期秘密ストリング記憶部106に保存する。
鍵配信サーバ10の長期秘密ストリング生成部102は、長期秘密ストリングとして、stS∈Kspacekと、st´S∈{0,1}kとを一様ランダムに生成する。そして、鍵配信サーバ10の長期秘密ストリング生成部102は、生成した長期秘密ストリング(stS,st´S)を長期秘密ストリング記憶部106に保存する。
ステップS103:各ユーザ端末20の長期秘密ストリング生成ステップ
各ユーザ端末20の長期秘密ストリング生成部201は、長期秘密ストリングとして、sti∈Kspacekと、st´i∈{0,1}kとを一様ランダムに生成する。なお、sti及びst´iは、ユーザ端末20iの長期秘密ストリング生成部201により生成された長期秘密ストリングである。
各ユーザ端末20の長期秘密ストリング生成部201は、長期秘密ストリングとして、sti∈Kspacekと、st´i∈{0,1}kとを一様ランダムに生成する。なお、sti及びst´iは、ユーザ端末20iの長期秘密ストリング生成部201により生成された長期秘密ストリングである。
そして、各ユーザ端末20の長期秘密ストリング生成部201は、生成した長期秘密ストリング(sti,st´i)を、自身の長期秘密ストリング記憶部209に保存する。
<鍵交換処理>
次に、本発明の実施の形態における鍵交換システム1の鍵交換処理の流れについて、図5を参照しながら説明する。図5は、本発明の実施の形態における鍵交換システム1の鍵交換処理の流れの一例を説明するための図である。
次に、本発明の実施の形態における鍵交換システム1の鍵交換処理の流れについて、図5を参照しながら説明する。図5は、本発明の実施の形態における鍵交換システム1の鍵交換処理の流れの一例を説明するための図である。
以降で説明する鍵交換処理は、鍵交換システム1の動作中に任意の回数実行が可能である。1回あたりの鍵交換の実行を「セッション」と呼ぶ。以降では、或るセッションにおける鍵配信サーバ10及び各ユーザ端末20の動作を説明する。なお、当該セッションを識別するセッション識別子をsid∈{0,1}kとする。セッション識別子sidの生成方法としては、任意の方法を用いることができる。例えば、非特許文献1に開示されているように、コミットメントを用いて生成する方法が挙げられる。鍵配信サーバ10及び各ユーザ端末20は、このsidを知っているものとする。
また、各ユーザ端末20の中で代表となるユーザ端末20(代表ユーザ端末)を決めておく。ユーザ端末201,ユーザ端末202,・・・,ユーザ端末20Nのうち、任意のユーザ端末20を代表ユーザ端末として良い。以降では、ユーザ端末201が代表ユーザ端末であるものとする。代表ユーザ端末の選択及び代表ユーザ端末であることを示す通知は、例えば、鍵配信サーバ10により行われても良い。
また、ユーザ端末20の添え字iはリング状であるものとする。すなわち、i=Nに対して1が加算された場合i=1となり、i=1から-1が減算された場合i=Nとなるものとする。
ここで、同種写像暗号では、DH鍵交換と異なり、或る2つのユーザ端末20において、基底{PA,QA}から秘密鍵を生成するか又は基底{PB,QB}から秘密鍵を生成するかのいずれかによって計算の非対称性が生じる。
このため、実施例1では、ユーザ端末20の数Nの偶奇によって代表ユーザ端末の処理が異なる場合について説明する。すなわち、実施例1では、Nが偶数である場合は、ユーザ端末201,ユーザ端末203,・・・,ユーザ端末20N-1は基底{PA,QA}からそれぞれ公開値を計算し、ユーザ端末202,ユーザ端末204,・・・,ユーザ端末20Nは基底{PB,QB}からそれぞれ公開値を計算する。一方で、Nが奇数である場合は、代表ユーザ端末であるユーザ端末201は基底{PA,QA}及び基底{PB,QB}の両方からそれぞれ公開値を計算し、ユーザ端末203,ユーザ端末205,・・・,ユーザ端末20N-1は基底{PA,QA}からそれぞれ公開値を計算し、ユーザ端末202,ユーザ端末204,・・・,ユーザ端末20Nは基底{PB,QB}からそれぞれ公開値を計算する。なお、公開値には、後述するφi(PA),φi(QA),φi(PB),φi(QB)が含まれる。
また、実施例2では、ユーザ端末20の数Nの偶奇によらずに、全てのユーザ端末20が基底{PA,QA}及び基底{PB,QB}の両方からそれぞれ共通鍵を生成する場合について説明する。
(実施例1)
以降では、実施例1について説明する。
以降では、実施例1について説明する。
≪Nが偶数である場合≫
まず、Nが偶数である場合について説明する。
まず、Nが偶数である場合について説明する。
ステップS201:第一鍵生成ステップ(Round1)
以降のS201-11~S201-15は、iが奇数である各ユーザ端末20i(i=1,3,・・・,N-1)が実行する。
以降のS201-11~S201-15は、iが奇数である各ユーザ端末20i(i=1,3,・・・,N-1)が実行する。
S201-11)短期秘密ストリング生成部202は、短期秘密ストリングとして、ri
(1)∈{0,1}kと、ri
(2)∈Kspacekと、ri
(3)∈{0,1}kと、ri
(4)∈Kspacekと、ki
(1)∈{0,1}kと、ki
(2)∈Kspacekとを一様ランダムに生成する。
そして、短期秘密ストリング生成部202は、短期秘密ストリング(ri
(1),ri
(2),ri
(3),ri
(4),ki
(1),ki
(2))を短期秘密ストリング記憶部210に保存する。
S201-12)ねじれ疑似ランダム関数部203は、mi=tPRFA(ri
(1),ri
(2),sti,st´i)と、ni=tPRFA(ri
(3),ri
(4),sti,st´i)と、ki=tPRF(ki
(1),ki
(2),sti,st´i)とを生成する。なお、長期秘密ストリング(sti,st´i)は、長期秘密ストリング記憶部209は記憶されているものを使用する。
S201-13)同種写像計算部204は、[mi]PA+[ni]QAで生成されるEの部分群Kiを核に持つ同種写像φi:E→Eiと、この同種写像φiに付随する楕円曲線Eiとを計算する。
なお、部分群Kiを核に持つ同種写像φiとは、Kerφi=Kiとなる同種写像のことである。このような同種写像φiと部分群Kiとは1対1に対応することが知られている。また、同種写像φiに付随する楕円曲線Eiは、Ei=E/Kiとも表される。同種写像φiの計算方法は、例えば、以下の参考文献4又は5に開示されている方法を用いることができる。
[参考文献4]
J. Velu, Isogenies entre courbes elliptiques, C. R. Acad. Sci. Paris Ser. A-B, 273:A238-241, 1971.
[参考文献5]
Lawrence C.Washington. Elliptic curves: Number theory and cryptography, 2nd ed., CRC Press, 2008.
S201-14)同種写像計算部204は、φi(PB)とφi(QB)とを計算する。
J. Velu, Isogenies entre courbes elliptiques, C. R. Acad. Sci. Paris Ser. A-B, 273:A238-241, 1971.
[参考文献5]
Lawrence C.Washington. Elliptic curves: Number theory and cryptography, 2nd ed., CRC Press, 2008.
S201-14)同種写像計算部204は、φi(PB)とφi(QB)とを計算する。
S201-15)そして、通信部208は、(φi(PB),φi(QB),Ei)を鍵配信サーバ10に送信する。これより、各ユーザ端末20i(i=1,3,・・・,N-1)の公開値(φi(PB),φi(QB),Ei)が鍵配信サーバ10に送信される。
以降のS201-21~S201-25は、iが偶数である各ユーザ端末20i(i=2,4,・・・,N)が実行する。
S201-21)短期秘密ストリング生成部202は、短期秘密ストリングとして、ri
(1)∈{0,1}kと、ri
(2)∈Kspacekと、ri
(3)∈{0,1}kと、ri
(4)∈Kspacekと、ki
(1)∈{0,1}kと、ki
(2)∈Kspacekとを一様ランダムに生成する。
そして、短期秘密ストリング生成部202は、短期秘密ストリング(ri
(1),ri
(2),ri
(3),ri
(4),ki
(1),ki
(2))を短期秘密ストリング記憶部210に保存する。
S201-22)ねじれ疑似ランダム関数部203は、mi=tPRFB(ri
(1),ri
(2),sti,st´i)と、ni=tPRFB(ri
(3),ri
(4),sti,st´i)と、ki=tPRF(ki
(1),ki
(2),sti,st´i)とを生成する。なお、長期秘密ストリング(sti,st´i)は、長期秘密ストリング記憶部209は記憶されているものを使用する。
S201-23)同種写像計算部204は、[mi]PB+[ni]QBで生成されるEの部分群Kiを核に持つ同種写像φi:E→Eiと、この同種写像φiに付随する楕円曲線Eiとを計算する。
S201-24)同種写像計算部204は、φi(PA)とφi(QA)とを計算する。
S201-25)そして、通信部208は、(φi(PA),φi(QA),Ei)を鍵配信サーバ10に送信する。これより、各ユーザ端末20i(i=2,4,・・・,N)の公開値(φi(PA),φi(QA),Ei)が鍵配信サーバ10に送信される。
なお、上記のS201-12及びS201-22におけるmi及びniは、長期秘密ストリング記憶部209に記憶されている長期秘密ストリングと、短期秘密ストリング記憶部210に記憶されている短期秘密ストリングとを用いて、必要なときにねじれ疑似ランダム関数から生成することができる。このため、安全上、mi及びniは保存しないことが好ましい。
ただし、安全性をあまり考慮しないのであれば、上記のS201-12でmi及びniを
ステップS202:鍵配信ステップ(Round1)
S202-1)通信部105は、iが奇数である各ユーザ端末20i(i=1,3,・・・,N-1)から公開値(φi(PB),φi(QB),Ei)を受信すると共に、iが偶数である各ユーザ端末20i(i=2,4,・・・,N)から公開値(φi(PA),φi(QA),Ei)を受信する。
S202-1)通信部105は、iが奇数である各ユーザ端末20i(i=1,3,・・・,N-1)から公開値(φi(PB),φi(QB),Ei)を受信すると共に、iが偶数である各ユーザ端末20i(i=2,4,・・・,N)から公開値(φi(PA),φi(QA),Ei)を受信する。
S202-2)通信部105は、iが奇数である各ユーザ端末20i(i=1,3,・・・,N-1)に対して、(sid,φi-1(PA),φi-1(QA),Ei-1,φi+1(PA),φi+1(QA),Ei+1)を送信する。
また、通信部105は、iが偶数である各ユーザ端末20i(i=2,4,・・・,N)に対して、(sid,φi-1(PB),φi-1(QB),Ei-1,φi+1(PB),φi+1(QB),Ei+1)を送信する。
なお、上述したように、ユーザ端末20の添え字iはリング状である。したがって、例えば、i=1であるユーザ端末201に対しては、(sid,φN(PA),φN(QA),EN,φ2(PA),φ2(QA),E2)が送信される。また、例えば、i=Nであるユーザ端末20Nに対しては、(sid,φN-1(PB),φN-1(QB),EN-1,φ1(PB),φ1(QB),E1)が送信される。
ステップS203:第二鍵生成ステップ(Round2)
以降のS203-11~S203-16は、iが1以外の奇数である各ユーザ端末20i(i=3,5,・・・,N-1)が実行する。
以降のS203-11~S203-16は、iが1以外の奇数である各ユーザ端末20i(i=3,5,・・・,N-1)が実行する。
S203-11)通信部208は、鍵配信サーバ10から(sid,φi-1(PA),φi-1(QA),Ei-1,φi+1(PA),φi+1(QA),Ei+1)を受信する。
S203-12)同種写像計算部204は、[mi]φi-1(PA)+[ni]φi-1(QA)で生成されるEi-1の部分群Ki-1,iを核に持つ同種写像φi-1,i:Ei-1→Ei-1,iと、この同種写像φi-1,iに付随する楕円曲線Ei-1,iとを計算する。
同様に、同種写像計算部204は、[mi]φi+1(PA)+[ni]φi+1(QA)で生成されるEi+1の部分群Ki+1,iを核に持つ同種写像φi+1,i:Ei+1→Ei+1,iと、この同種写像φi+1,iに付随する楕円曲線Ei+1,iとを計算する。
S203-13)同種写像計算部204は、楕円曲線Ei-1,iのj不変量j(Ei-1,i)と、楕円曲線Ei+1,iのj不変量j(Ei+1,i)とを計算する。
S203-14)次に、第1疑似ランダム関数部205は、Ki
(l)=F(sid,j(Ei-1,i))と、Ki
(r)=F(sid,j(Ei+1,i))とを計算する。
S203-15)次に、第1疑似ランダム関数部205は、Ki
(l)とKi
(r)とのビット毎の排他的論理和Tiを計算する。すなわち、第1疑似ランダム関数部205は、
S203-16)そして、通信部208は、(ki,Ti)を鍵配信サーバ10に送信する。なお、kiは、第一鍵生成ステップ(S201)で生成されたものである。
以降のS203-21~S203-26は、iが偶数である各ユーザ端末20i(i=2,4,・・・,N)が実行する。
S203-21)通信部208は、鍵配信サーバ10から(sid,φi-1(PB),φi-1(QB),Ei-1,φi+1(PB),φi+1(QB),Ei+1)を受信する。
S203-22)同種写像計算部204は、[mi]φi-1(PB)+[ni]φi-1(QB)で生成されるEi-1の部分群Ki-1,iを核に持つ同種写像φi-1,i:Ei-1→Ei-1,iと、この同種写像φi-1,iに付随する楕円曲線Ei-1,iとを計算する。
同様に、同種写像計算部204は、[mi]φi+1(PB)+[ni]φi+1(QB)で生成されるEi+1の部分群Ki+1,iを核に持つ同種写像φi+1,i:Ei+1→Ei+1,iと、この同種写像φi+1,iに付随する楕円曲線Ei+1,iとを計算する。
S203-23)同種写像計算部204は、楕円曲線Ei-1,iのj不変量j(Ei-1,i)と、楕円曲線Ei+1,iのj不変量j(Ei+1,i)とを計算する。
S203-24)次に、第1疑似ランダム関数部205は、Ki
(l)=F(sid,j(Ei-1,i))と、Ki
(r)=F(sid,j(Ei+1,i))とを計算する。
S203-25)次に、第1疑似ランダム関数部205は、Ki
(l)とKi
(r)とのビット毎の排他的論理和Tiを計算する。
S203-26)そして、通信部208は、(ki,Ti)を鍵配信サーバ10に送信する。なお、kiは、第一鍵生成ステップ(S201)で生成されたものである。
以降のS203-31~S203-37は、代表ユーザ端末であるユーザ端末201が実行する。
S203-31)通信部208は、鍵配信サーバ10から(sid,φN(PA),φN(QA),EN,φ2(PA),φ2(QA),E2)を受信する。
S203-32)同種写像計算部204は、[m1]φN(PA)+[n1]φN(QA)で生成されるENの部分群KN,1を核に持つ同種写像φN,1:EN→EN,1と、この同種写像φN,1に付随する楕円曲線EN,1とを計算する。
同様に、同種写像計算部204は、[m1]φ2(PA)+[n1]φ2(QA)で生成されるE2の部分群K2,1を核に持つ同種写像φ2,1:E2→E2,1と、この同種写像φ2,1に付随する楕円曲線E2,1とを計算する。
S203-33)同種写像計算部204は、楕円曲線EN,1のj不変量j(EN,1)と、楕円曲線E2,1のj不変量j(E2,1)とを計算する。
S203-34)次に、第1疑似ランダム関数部205は、K1
(l)=F(sid,j(EN,1))と、K1
(r)=F(sid,j(E2,1))とを計算する。
S203-35)次に、第1疑似ランダム関数部205は、K1
(l)とK1
(r)とのビット毎の排他的論理和T1を計算する。
S203-36)次に、第1疑似ランダム関数部205は、K1
(l)とk1との排他的論理和T´を計算する。すなわち、第1疑似ランダム関数部205は、
S203-37)そして、通信部208は、(T´,T1)を鍵配信サーバ10に送信する。
ステップS204:第三鍵生成ステップ(Round2)
S204-1)通信部105は、i=1であるユーザ端末201から(T´,T1)を受信すると共に、iが1以外の各ユーザ端末20i(i=2,3,・・・,N)から(ki,Ti)を受信する。
S204-1)通信部105は、i=1であるユーザ端末201から(T´,T1)を受信すると共に、iが1以外の各ユーザ端末20i(i=2,3,・・・,N)から(ki,Ti)を受信する。
S204-2)短期秘密ストリング生成部103は、短期秘密ストリングとして、kS
(1)∈{0,1}kと、kS
(2)∈Kspacekとを一様ランダムに生成する。そして、短期秘密ストリング生成部103は、短期秘密ストリング(kS
(1),kS
(2))を短期秘密ストリング記憶部107に保存する。
S204-3)次に、短期秘密ストリング生成部103は、短期秘密ストリング生成部103は、kS=tPRF(kS
(1),kS
(2),stS,st´S)と、
S204-4)次に、公開情報計算部104は、各i∈{2,・・・,N}に対して、各Tj(1≦j≦i-1)同士の排他的論理和T´iを計算する。すなわち、公開情報計算部104は、
S204-5)そして、通信部105は、各ユーザ端末20i(i=2,・・・,N)に対して、(k´,T´i,T´)を送信する。また、通信部105は、ユーザ端末201に対して、k´を送信する。
ステップS205:セッション鍵生成ステップ
以降のS205-11~S205-14は、iが1以外であるユーザ端末20i(すなわち、代表ユーザ端末以外のユーザ端末20)が実行する。
以降のS205-11~S205-14は、iが1以外であるユーザ端末20i(すなわち、代表ユーザ端末以外のユーザ端末20)が実行する。
S205-11)通信部208は、鍵配信サーバ10から(k´,T´i,T´)を受信する。
S205-12)秘密情報計算部206は、T´iとT´との排他的論理和を計算する。この排他的論理和はK1
(l)と一致する。すなわち、
S205-13)次に、秘密情報計算部206は、T´とK1
(l)との排他的論理和を計算する。この排他的論理和はk1と一致する。すなわち、
S205-14)次に、第2疑似ランダム関数部207は、
そして、第2疑似ランダム関数部207は、セッション鍵Kをセッション情報記憶部211に保存する。
以降のS205-21~S205-22は、iが1であるユーザ端末201(すなわち、代表ユーザ端末)が実行する。
S205-21)通信部208は、鍵配信サーバ10からk´を受信する。
S205-22)次に、第2疑似ランダム関数部207は、
そして、第2疑似ランダム関数部207は、セッション鍵Kをセッション情報記憶部211に保存する。
これにより、各ユーザ端末20i(i=1,2,・・・,N)間で同一のセッション鍵Kが共有される。このセッション鍵Kを用いて、各ユーザ端末20間で送受信されるデータが暗号化される。
≪Nが奇数である場合≫
次に、Nが奇数である場合について説明する。なお、Nが偶数である場合に説明した処理と同様の処理を行う箇所については、適宜、その説明を省略又は簡略化する。
次に、Nが奇数である場合について説明する。なお、Nが偶数である場合に説明した処理と同様の処理を行う箇所については、適宜、その説明を省略又は簡略化する。
ステップS201:第一鍵生成ステップ(Round1)
iが1以外の奇数である各ユーザ端末20i(i=3,5,・・・,N)は、上記のS201-11~S201-15を実行する。また、iが偶数である各ユーザ端末20i(i=2,4,・・・,N-1)は、上記のS201-21~S201-25を実行する。
iが1以外の奇数である各ユーザ端末20i(i=3,5,・・・,N)は、上記のS201-11~S201-15を実行する。また、iが偶数である各ユーザ端末20i(i=2,4,・・・,N-1)は、上記のS201-21~S201-25を実行する。
以降のS201-31~S201-35は、iが1であるユーザ端末201(すなわち、代表ユーザ端末)が実行する。
S201-31)短期秘密ストリング生成部202は、短期秘密ストリングとして、r1
(1)∈{0,1}kと、r1
(2)∈Kspacekと、r1
(3)∈{0,1}kと、r1
(4)∈Kspacekと、r1
(5)∈{0,1}kと、r1
(6)∈Kspacekと、r1
(7)∈{0,1}kと、r1
(8)∈Kspacekと、k1
(1)∈{0,1}kと、k1
(2)∈Kspacekとを一様ランダムに生成する。
そして、短期秘密ストリング生成部202は、短期秘密ストリング(r1
(1),r1
(2),r1
(3),r1
(4),r1
(5),r1
(6),r1
(7),r1
(8),k1
(1),k2
(2))を短期秘密ストリング記憶部210に保存する。
S201-32)ねじれ疑似ランダム関数部203は、m1=tPRFA(r1
(1),r1
(2),st1,st´1)と、n1=tPRFA(r1
(3),r1
(4),st1,st´1)と、mN+1=tPRFB(r1
(5),r1
(6),st1,st´1)と、nN+1=tPRFB(r1
(7),r1
(8),st1,st´1)と、k1=tPRF(k1
(1),k1
(2),st1,st´1)とを生成する。なお、長期秘密ストリング(st1,st´1)は、長期秘密ストリング記憶部209は記憶されているものを使用する。
S201-33)同種写像計算部204は、[m1]PA+[n1]QAで生成されるEの部分群K1を核に持つ同種写像φ1:E→E1と、この同種写像φ1に付随する楕円曲線E1とを計算する。
また、同種写像計算部204は、[mN+1]PB+[nN+1]QBで生成されるEの部分群KN+1を核に持つ同種写像φN+1:E→EN+1と、この同種写像φN+1に付随する楕円曲線EN+1とを計算する。
S201-34)同種写像計算部204は、φ1(PB)と、φ1(QB)と、φN+1(PA)と、φN+1(QA)とを計算する。
S201-35)そして、通信部208は、(φ1(PB),φ1(QB),E1,φN+1(PA),φN+1(QB),EN+1)を鍵配信サーバ10に送信する。これより、代表ユーザ端末であるユーザ端末201の公開値(φ1(PB),φ1(QB),E1,φN+1(PA),φN+1(QB),EN+1)が鍵配信サーバ10に送信される。
なお、上記のS201-32におけるm1,n1,mN+1及びnN+1は、長期秘密ストリング記憶部209に記憶されている長期秘密ストリングと、短期秘密ストリング記憶部210に記憶されている短期秘密ストリングとを用いて、必要なときにねじれ疑似ランダム関数から生成することができる。このため、安全上、m1,n1,mN+1及びnN+1は保存しないことが好ましい。
ただし、安全性をあまり考慮しないのであれば、上記のS201-32でm1及びn1を
ステップS202:鍵配信ステップ(Round1)
S202-3)通信部105は、iが1であるユーザ端末201から公開値(φ1(PB),φ1(QB),E1,φN+1(PA),φN+1(QB),EN+1)を受信する。また、通信部105は、iが1以外の奇数である各ユーザ端末20i(i=3,5,・・・,N)から公開値(φi(PB),φi(QB),Ei)を受信すると共に、iが偶数である各ユーザ端末20i(i=2,4,・・・,N-1)から公開値(φi(PA),φi(QA),Ei)を受信する。
S202-3)通信部105は、iが1であるユーザ端末201から公開値(φ1(PB),φ1(QB),E1,φN+1(PA),φN+1(QB),EN+1)を受信する。また、通信部105は、iが1以外の奇数である各ユーザ端末20i(i=3,5,・・・,N)から公開値(φi(PB),φi(QB),Ei)を受信すると共に、iが偶数である各ユーザ端末20i(i=2,4,・・・,N-1)から公開値(φi(PA),φi(QA),Ei)を受信する。
S202-4)通信部105は、iが奇数である各ユーザ端末20i(i=1,3,・・・,N)に対して、(sid,φi-1(PA),φi-1(QA),Ei-1,φi+1(PA),φi+1(QA),Ei+1)を送信する。
また、通信部105は、iが偶数である各ユーザ端末20i(i=2,4,・・・,N-1)に対して、(sid,φi-1(PB),φi-1(QB),Ei-1,φi+1(PB),φi+1(QB),Ei+1)を送信する。
ステップS203:第二鍵生成ステップ(Round2)
iが1以外の奇数である各ユーザ端末20i(i=3,5,・・・,N)は、上記のS203-11~S203-16を実行する。また、iが偶数である各ユーザ端末20i(i=2,4,・・・,N-1)は、上記のS203-21~S203-26を実行する。
iが1以外の奇数である各ユーザ端末20i(i=3,5,・・・,N)は、上記のS203-11~S203-16を実行する。また、iが偶数である各ユーザ端末20i(i=2,4,・・・,N-1)は、上記のS203-21~S203-26を実行する。
以降のS203-41~S203-47は、iが1であるユーザ端末201(すなわち、代表ユーザ端末)が実行する。
S203-41)通信部208は、鍵配信サーバ10から(sid,φN(PA),φN(QA),EN,φ2(PA),φ2(QA),E2)を受信する。
S203-42)同種写像計算部204は、[mN+1]φN(PB)+[nN+1]φN(QB)で生成されるENの部分群KN,N+1を核に持つ同種写像φN,N+1:EN→EN,N+1と、この同種写像φN,N+1に付随する楕円曲線EN,N+1とを計算する。
同様に、同種写像計算部204は、[m1]φ2(PA)+[n1]φ2(QA)で生成されるE2の部分群K2,1を核に持つ同種写像φ2,1:E2→E2,1と、この同種写像φ2,1に付随する楕円曲線E2,1とを計算する。
S203-43)同種写像計算部204は、楕円曲線EN,N+1のj不変量j(EN,N+1)と、楕円曲線E2,1のj不変量j(E2,1)とを計算する。
S203-44)次に、第1疑似ランダム関数部205は、K1
(l)=F(sid,j(EN,N+1))と、K1
(r)=F(sid,j(E2,1))とを計算する。
S203-45)次に、第1疑似ランダム関数部205は、K1
(l)とK1
(r)とのビット毎の排他的論理和T1を計算する。
S203-46)次に、第1疑似ランダム関数部205は、K1
(l)とk1との排他的論理和T´を計算する。
S203-47)そして、通信部208は、(T´,T1)を鍵配信サーバ10に送信する。
以降のステップS204~ステップS205は、Nが偶数である場合と同様であるため、その説明を省略する。
(実施例2)
以降では、実施例2について説明する。実施例2は、Nが偶数又は奇数のいずれであっても同様の処理を行うものである。すなわち、実施例2では、実施例1と異なり、Nの偶奇による場合分けが発生しない。
以降では、実施例2について説明する。実施例2は、Nが偶数又は奇数のいずれであっても同様の処理を行うものである。すなわち、実施例2では、実施例1と異なり、Nの偶奇による場合分けが発生しない。
ステップS201:第一鍵生成ステップ(Round1)
以降のS201-41~S201-45は、各ユーザ端末20i(i=1,2,・・・,N)が実行する。
以降のS201-41~S201-45は、各ユーザ端末20i(i=1,2,・・・,N)が実行する。
S201-41)短期秘密ストリング生成部202は、短期秘密ストリングとして、ri
(1)∈{0,1}kと、ri
(2)∈Kspacekと、ri
(3)∈{0,1}kと、ri
(4)∈Kspacekと、ri
(5)∈{0,1}kと、ri
(6)∈Kspacekと、ri
(7)∈{0,1}kと、ri
(8)∈Kspacekと、ki
(1)∈{0,1}kと、ki
(2)∈Kspacekとを一様ランダムに生成する。
そして、短期秘密ストリング生成部202は、短期秘密ストリング(ri
(1),ri
(2),ri
(3),ri
(4),ri
(5),ri
(6),ri
(7),ri
(8),ki
(1),ki
(2))を短期秘密ストリング記憶部210に保存する。
S201-42)ねじれ疑似ランダム関数部203は、mi
(1)=tPRFA(ri
(1),ri
(2),sti,st´i)と、ni
(1)=tPRFA(ri
(3),ri
(4),sti,st´i)と、mi
(2)=tPRFB(ri
(5),ri
(6),sti,st´i)と、ni
(2)=tPRFB(ri
(7),ri
(8),sti,st´i)と、ki=tPRF(ki
(1),ki
(2),sti,st´i)とを生成する。なお、長期秘密ストリング(sti,st´i)は、長期秘密ストリング記憶部209は記憶されているものを使用する。
S201-43)同種写像計算部204は、[mi
(1)]PA+[ni
(1)]QAで生成されるEの部分群Ki
(1)を核に持つ同種写像φi
(1):E→Ei
(1)と、この同種写像φi
(1)に付随する楕円曲線Ei
(1)とを計算する。
また、同種写像計算部204は、[mi
(2)]PB+[ni
(2)]QBで生成されるEの部分群Ki
(2)を核に持つ同種写像φi
(2):E→Ei
(2)と、この同種写像φi
(2)に付随する楕円曲線Ei
(2)とを計算する。
S201-44)同種写像計算部204は、φi
(1)(PB)と、φi
(1)(QB)と、φi
(2)(PA)と、φi
(2)(QA)とを計算する。
S201-45)そして、通信部208は、(φi
(1)(PB),φi
(1)(QB),Ei
(1),φi
(2)(PA),φi
(2)(QB),Ei
(2))を鍵配信サーバ10に送信する。これより、各ユーザ端末20iの公開値(φi
(1)(PB),φi
(1)(QB),Ei
(1),φi
(2)(PA),φi
(2)(QB),Ei
(2))が鍵配信サーバ10に送信される。
なお、上記のS201-42におけるmi
(1),ni
(1),mi
(2)及びni
(2)は、長期秘密ストリング記憶部209に記憶されている長期秘密ストリングと、短期秘密ストリング記憶部210に記憶されている短期秘密ストリングとを用いて、必要なときにねじれ疑似ランダム関数から生成することができる。このため、安全上、mi
(1),ni
(1),mi
(2)及びni
(2)は保存しないことが好ましい。
ただし、安全性をあまり考慮しないのであれば、上記のS201-32でmi
(1)及びni
(1)を
ステップS202:鍵配信ステップ(Round1)
S202-5)通信部105は、各ユーザ端末20iから公開値(φi (1)(PB),φi (1)(QB),Ei (1),φi (2)(PA),φi (2)(QB),Ei (2))を受信する。
S202-5)通信部105は、各ユーザ端末20iから公開値(φi (1)(PB),φi (1)(QB),Ei (1),φi (2)(PA),φi (2)(QB),Ei (2))を受信する。
S202-6)通信部105は、各ユーザ端末20iに対して、(sid,φi-1
(1)(PB),φi-1
(1)(QB),Ei-1
(1),φi+1
(2)(PA),φi+1
(2)(QB),Ei+1
(2))を送信する。
ステップS203:第二鍵生成ステップ(Round2)
以降のS201-51~S201-56は、各ユーザ端末20i(i=1,2,・・・,N)が実行する。ただし、S201-54~S203-56は、代表ユーザ端末であるユーザ端末201と、それ以外のユーザ端末20i(i=2,3,・・・,N)とで処理内容が異なる。
以降のS201-51~S201-56は、各ユーザ端末20i(i=1,2,・・・,N)が実行する。ただし、S201-54~S203-56は、代表ユーザ端末であるユーザ端末201と、それ以外のユーザ端末20i(i=2,3,・・・,N)とで処理内容が異なる。
S203-51)通信部208は、鍵配信サーバ10から(sid,φi-1
(1)(PB),φi-1
(1)(QB),Ei-1
(1),φi+1
(2)(PA),φi+1
(2)(QB),Ei+1
(2))を受信する。
S203-52)同種写像計算部204は、[mi
(2)]φi-1
(1)(PB)+[ni
(2)]φi-1
(1)(QB)で生成されるEi-1
(1)の部分群Ki-1,i
(1)を核に持つ同種写像φi-1,i
(1):Ei-1
(1)→Ei-1,i
(1)と、この同種写像φi-1,i
(1)に付随する楕円曲線Ei-1,i
(1)とを計算する。
同様に、同種写像計算部204は、[mi
(1)]φi+1
(2)(PA)+[ni
(1)]φi+1
(2)(QA)で生成されるEi+1
(2)の部分群Ki+1,i
(2)を核に持つ同種写像φi+1,i
(2):Ei+1
(2)→Ei+1,i
(2)と、この同種写像φi+1,i
(2)に付随する楕円曲線Ei+1,i
(2)とを計算する。
S203-53)同種写像計算部204は、楕円曲線Ei-1,i
(1)のj不変量j(Ei-1,i
(1))と、楕円曲線Ei+1,i
(2)のj不変量j(Ei+1,i
(2))とを計算する。
S203-54)ユーザ端末20i(i=2,3,・・・,N)の第1疑似ランダム関数部205は、Ki
(l)=F(sid,j(Ei-1,i
(1)))と、Ki
(r)=F(sid,j(Ei+1,i
(2)))とを計算する。
また、ユーザ端末201の第1疑似ランダム関数部205は、K1
(l)=F(sid,j(EN,1
(1)))と、K1
(r)=F(sid,j(E2,1
(2)))とを計算する。
S203-55)次に、ユーザ端末20i(i=2,3,・・・,N)の第1疑似ランダム関数部205は、Ki
(l)とKi
(r)とのビット毎の排他的論理和Tiを計算する。
また、ユーザ端末201の第1疑似ランダム関数部205は、K1
(l)とK1
(r)との排他的論理和T1を計算すると共に、K1
(l)とk1との排他的論理和T´を計算する。なお、k1は、第一鍵生成ステップ(S201)で生成されたものである。
S203-56)そして、ユーザ端末20i(i=2,3,・・・,N)の通信部208は、(ki,Ti)を鍵配信サーバ10に送信する。なお、kiは、第一鍵生成ステップ(S201)で生成されたものである。
また、ユーザ端末201の通信部208は、(T´,T1)を鍵配信サーバ10に送信する。
以降のステップS204~ステップS205は、実施例1と同様であるため、その説明を省略する。
<ハードウェア構成>
図6に示すように、本発明の実施の形態における鍵配信サーバ10及びユーザ端末20は、入力装置301と、表示装置302と、外部I/F303と、RAM(Random Access Memory)304と、ROM(Read Only Memory)305と、CPU(Central Processing Unit)306と、通信I/F307と、補助記憶装置308とを有する。これら各ハードウェアは、それぞれがバスBを介して通信可能に接続されている。
図6に示すように、本発明の実施の形態における鍵配信サーバ10及びユーザ端末20は、入力装置301と、表示装置302と、外部I/F303と、RAM(Random Access Memory)304と、ROM(Read Only Memory)305と、CPU(Central Processing Unit)306と、通信I/F307と、補助記憶装置308とを有する。これら各ハードウェアは、それぞれがバスBを介して通信可能に接続されている。
入力装置301は、例えばキーボードやマウス、タッチパネル等である。表示装置302は、例えばディスプレイ等である。なお、鍵配信サーバ10は、入力装置301及び表示装置302のうちの少なくとも一方を有していなくても良い。
外部I/F303は、外部装置とのインタフェースである。外部装置には、記録媒体303a等がある。記録媒体303aとしては、例えば、CD(Compact Disc)、DVD(Digital Versatile Disk)、SDメモリカード(Secure Digital memory card)、USB(Universal Serial Bus)メモリカード等が挙げられる。記録媒体303aには、鍵配信サーバ10の各機能部を実現する1以上のプログラムやユーザ端末20の各機能部を実現する1以上のプログラム等が記録されていても良い。
RAM304は、プログラムやデータを一時保持する揮発性の半導体メモリである。ROM305は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリである。
CPU306は、ROM305や補助記憶装置308等からプログラムやデータをRAM304上に読み出して処理を実行する演算装置である。鍵配信サーバ10の各機能部やユーザ端末20の各機能部は、CPU306が1以上のプログラムを実行することによって実現される。
通信I/F307は、ネットワーク30に接続するためのインタフェースである。なお、鍵配信サーバ10の各機能部を実現する1以上のプログラムやユーザ端末20の各機能部を実現する1以上のプログラム等は、通信I/F307を介して、所定のサーバ等から取得(ダウンロード)されても良い。
補助記憶装置308は、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等の不揮発性の記憶装置である。補助記憶装置308には、鍵配信サーバ10の各機能部を実現する1以上のプログラムやユーザ端末20の各機能部を実現する1以上のプログラム等が記録される。
本発明の実施の形態における鍵配信サーバ10及びユーザ端末20は、図6に示すハードウェア構成を有することにより、上述した各種処理を実現することができる。なお、図6では、本発明の実施の形態における鍵配信サーバ10が1台の情報処理装置で実現される場合を示したが、これに限られない。本発明の実施の形態における鍵配信サーバ10は、複数台の情報処理装置で実現されていても良い。
<まとめ>
以上のように、本発明の実施の形態における鍵交換システム1では、DMKDプロトコルにおけるDH鍵交換を同種写像暗号に変更することで、耐量子性がある多者間鍵交換を実現することができる。
以上のように、本発明の実施の形態における鍵交換システム1では、DMKDプロトコルにおけるDH鍵交換を同種写像暗号に変更することで、耐量子性がある多者間鍵交換を実現することができる。
しかも、本発明の実施の形態における鍵交換システム1の実施例1では、ユーザ端末20の台数Nが偶数である場合、例えば、ユーザ端末201,ユーザ端末203,・・・,ユーザ端末20N-1が基底{PA,QA}からそれぞれ公開値を計算し、ユーザ端末202,ユーザ端末204,・・・,ユーザ端末20Nが基底{PB,QB}からそれぞれ公開値を計算する。これにより、(論理的に)リング状に配置されるユーザ端末20の隣り合うユーザ端末20同士は、異なる基底を使用して公開値を計算することなり、隣り合うユーザ端末20同士での同種写像暗号の鍵交換を少ないラウンド数(2ラウンド)で容易に行うことができるようになる。
一方で、ユーザ端末20の台数Nが奇数である場合、代表ユーザ端末であるユーザ端末201が基底{PA,QA}及び基底{PB,QB}の両方からそれぞれ公開値を計算し、ユーザ端末203,ユーザ端末205,・・・,ユーザ端末20N-1が基底{PA,QA}からそれぞれ公開値を計算し、ユーザ端末202,ユーザ端末204,・・・,ユーザ端末20Nが基底{PB,QB}からそれぞれ公開値を計算する。このように、代表ユーザ端末が両方の基底{PA,QA}及び{PB,QB}からそれぞれ公開値を計算することで、ユーザ端末20全体として、Nが偶数である場合と同様の振る舞いを実現することができ、同種写像暗号の鍵交換を少ないラウンド数で容易に行うことができるようになる。
また、本発明の実施の形態における鍵交換システム1の実施例2では、ユーザ端末20の台数Nの偶奇によらず、全てのユーザ端末20が基底{PA,QA}及び基底{PB,QB}の両方からそれぞれ公開値を計算する。これにより、ユーザ端末20全体として、実施例1のNが偶数である場合と同様の振る舞いを実現することができ、同種写像暗号の鍵交換を少ないラウンド数で容易に行うことができるようになる。更に、実施例2では、ユーザ数の偶奇に関わらず、同一の処理内容を用いるため、例えば、ユーザの偶奇に応じて条件分岐等が発生しない鍵交換処理を実現することができる。
このように、本発明の実施の形態における鍵交換システム1では、耐量子性があり、かつ、非特許文献1と比べて少ないラウンド数(2ラウンド)の多者間鍵交換(すなわち、耐量子性があり、かつ、通信コストが少ない多者間鍵交換)を実現することができる。
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。
本願は、日本国に2018年4月11日に出願された基礎出願2018-076343号に基づくものであり、その全内容はここに参照をもって援用される。
1 鍵交換システム
10 鍵配信サーバ
20 ユーザ端末
101 セットアップ部
102 長期秘密ストリング生成部
103 短期秘密ストリング生成部
104 公開情報計算部
105 通信部
106 長期秘密ストリング記憶部
107 短期秘密ストリング記憶部
201 長期秘密ストリング生成部
202 短期秘密ストリング生成部
203 ねじれ疑似ランダム関数部
204 同種写像計算部
205 第1疑似ランダム関数部
206 秘密情報計算部
207 第2疑似ランダム関数部
208 通信部
209 長期秘密ストリング記憶部
210 短期秘密ストリング記憶部
211 セッション情報記憶部
10 鍵配信サーバ
20 ユーザ端末
101 セットアップ部
102 長期秘密ストリング生成部
103 短期秘密ストリング生成部
104 公開情報計算部
105 通信部
106 長期秘密ストリング記憶部
107 短期秘密ストリング記憶部
201 長期秘密ストリング生成部
202 短期秘密ストリング生成部
203 ねじれ疑似ランダム関数部
204 同種写像計算部
205 第1疑似ランダム関数部
206 秘密情報計算部
207 第2疑似ランダム関数部
208 通信部
209 長期秘密ストリング記憶部
210 短期秘密ストリング記憶部
211 セッション情報記憶部
Claims (8)
- N(ただし、N≧2)台の端末装置Ui(i=1,・・・,N)と、該N台の端末装置Ui間で同種写像暗号によるセッション鍵の交換に用いられる鍵配信サーバとが含まれる鍵配信システムであって、
Nが偶数である場合、前記端末装置Uiのうち、奇数番目の端末装置Ui(i=1,・・・,N-1)が所定の楕円曲線の第1のねじれ部分群の基底を用いた第1の公開値を計算し、偶数番目の端末装置Ui(i=2,・・・,N)が前記楕円曲線の第2のねじれ部分群の基底を用いた第2の公開値を計算する同種写像計算手段と、
前記鍵配信サーバが、奇数番目の端末装置Uiにより計算された第1の公開値を端末装置Ui-1(ただし、i=1である場合、U0=UN)及び端末装置Ui+1(ただし、i=Nである場合、UN+1=U1)に配信し、偶数番目の端末装置Uiにより計算された第2の公開値を端末装置Ui-1及び端末装置Ui+1に配信する配信手段と、
前記配信手段により配信された第2の公開値を用いて奇数番目の端末装置Uiが前記セッション鍵を生成し、前記配信手段により配信された第1の公開値を用いて偶数番目の端末装置Uiが前記セッション鍵を生成する鍵生成手段と、
を有し、
前記同種写像計算手段は、
Nが奇数である場合、前記端末装置Uiのうち、予め決められた所定の端末装置UIが前記第1のねじれ部分群の基底を用いた第1の公開値と、前記第2のねじれ部分群の基底を用いた第2の公開値とを計算する、ことを特徴とする鍵配信システム。 - N(ただし、N≧2)台の端末装置Ui(i=1,・・・,N)と、該N台の端末装置Ui間で同種写像暗号によるセッション鍵の交換に用いられる鍵配信サーバとが含まれる鍵配信システムであって、
前記端末装置Uiが所定の楕円曲線の第1のねじれ部分群の基底を用いた第1の公開値と、前記楕円曲線の第2のねじれ部分群の基底を用いた第2の公開値とを計算する同種写像計算手段と、
前記鍵配信サーバが、前記端末装置Uiにより計算された第1の公開値と第2の公開値とをそれぞれ端末装置Ui-1(ただし、i=1である場合、U0=UN)及び端末装置Ui+1(ただし、i=Nである場合、UN+1=U1)に配信する配信手段と、
前記配信手段により配信された第1の公開値及び第2の公開値を用いて、前記端末装置Uiが前記セッション鍵を生成する鍵生成手段と、
を有することを特徴とする鍵配信システム。 - 前記同種写像計算手段は、
前記第1のねじれ部分群の基底を{PA,QA}、前記第2のねじれ部分群の基底を{PB,QB}、前記第1のねじれ部分群に関する第1のねじれ疑似ランダム関数値をmi、前記第1のねじれ部分群に関する第2のねじれ疑似ランダム関数値をni、[mi]PA+[ni]QAで生成される前記楕円曲線の部分群を核に持つ同種写像φiとした場合に、前記第1の公開値として、φi(PB)及びφi(QB)を計算し、
前記第2のねじれ部分群に関する第3のねじれ疑似ランダム関数値をm´i、前記第2のねじれ部分群に関する第4のねじれ疑似ランダム関数値をn´i、[m´i]PB+[n´i]QBで生成される前記楕円曲線の部分群を核に持つ同種写像φ´iとした場合に、前記第2の公開値として、φ´i(PA)及びφ´i(QA)を計算する、
ことを特徴とする請求項1又は2に記載の鍵配信システム。 - 前記鍵生成手段は、
前記配信手段により配信された第1の公開値φi-1(PB)及びφi-1(QB)並びにφi+1(PB)及びφi+1(QB)が配信された場合、[mi]φi-1(PB)+[ni]φi-1(QB)で生成される楕円曲線の部分群を核に持つ同種写像に付随する楕円曲線の第1のj不変量と、[mi]φi+1(PB)+[ni]φi+1(QB)で生成される楕円曲線の部分群を核に持つ同種写像に付随する楕円曲線の第2のj不変量とを計算し、計算された第1のj不変量及び第2のj不変量を用いて前記セッション鍵を生成し、
前記配信手段により配信された第2の公開値φi-1(PA)及びφi-1(QA)並びにφi+1(PA)及びφi+1(QA)が配信された場合、[m´i]φ´i-1(PA)+[n´i]φ´i-1(QA)で生成される楕円曲線の部分群を核に持つ同種写像に付随する楕円曲線の第3のj不変量と、[m´i]φ´i+1(PA)+[n´i]φ´i+1(QA)で生成される楕円曲線の部分群を核に持つ同種写像に付随する楕円曲線の第4のj不変量とを計算し、計算された第3のj不変量及び第4のj不変量を用いて前記セッション鍵を生成する、
ことを特徴とする請求項3に記載の鍵配信システム。 - 同種写像暗号によるセッション鍵の交換に用いられる鍵配信サーバと接続される端末装置であって、
所定の楕円曲線の第1のねじれ部分群の基底を用いた第1の公開値又は/及び前記楕円曲線の第2のねじれ部分群の基底を用いた第2の公開値を計算する同種写像計算手段と、
前記セッション鍵を共有する1以上の他の端末装置のうち、所定の2台の端末装置でそれぞれ計算された第1の公開値又は/及び第2の公開値を前記鍵配信サーバから受信する受信手段と、
前記受信手段が受信した第1の公開値又は/及び第2の公開値を用いて、前記セッション鍵を生成する鍵生成手段と、
を有することを特徴とする端末装置。 - N(ただし、N≧2)台の端末装置Ui(i=1,・・・,N)と、該N台の端末装置Ui間で同種写像暗号によるセッション鍵の交換に用いられる鍵配信サーバとが含まれる鍵配信システムによる鍵配信方法であって、
Nが偶数である場合、前記端末装置Uiのうち、奇数番目の端末装置Ui(i=1,・・・,N-1)が所定の楕円曲線の第1のねじれ部分群の基底を用いた第1の公開値を計算し、偶数番目の端末装置Ui(i=2,・・・,N)が前記楕円曲線の第2のねじれ部分群の基底を用いた第2の公開値を計算する同種写像計算手順と、
前記鍵配信サーバが、奇数番目の端末装置Uiにより計算された第1の公開値を端末装置Ui-1(ただし、i=1である場合、U0=UN)及び端末装置Ui+1(ただし、i=Nである場合、UN+1=U1)に配信し、偶数番目の端末装置Uiにより計算された第2の公開値を端末装置Ui-1及び端末装置Ui+1に配信する配信手順と、
前記配信手順により配信された第2の公開値を用いて奇数番目の端末装置Uiが前記セッション鍵を生成し、前記配信手順により配信された第1の公開値を用いて偶数番目の端末装置Uiが前記セッション鍵を生成する鍵生成手順と、
を有し、
前記同種写像計算手順は、
Nが奇数である場合、前記端末装置Uiのうち、予め決められた所定の端末装置UIが前記第1のねじれ部分群の基底を用いた第1の公開値と、前記第2のねじれ部分群の基底を用いた第2の公開値とを計算する、ことを特徴とする鍵配信方法。 - N(ただし、N≧2)台の端末装置Ui(i=1,・・・,N)と、該N台の端末装置Ui間で同種写像暗号によるセッション鍵の交換に用いられる鍵配信サーバとが含まれる鍵配信システムによる鍵配信方法であって、
前記端末装置Uiが所定の楕円曲線の第1のねじれ部分群の基底を用いた第1の公開値と、前記楕円曲線の第2のねじれ部分群の基底を用いた第2の公開値とを計算する同種写像計算手順と、
前記鍵配信サーバが、前記端末装置Uiにより計算された第1の公開値と第2の公開値とをそれぞれ端末装置Ui-1(ただし、i=1である場合、U0=UN)及び端末装置Ui+1(ただし、i=Nである場合、UN+1=U1)に配信する配信手順と、
前記配信手順により配信された第1の公開値及び第2の公開値を用いて、前記端末装置Uiが前記セッション鍵を生成する鍵生成手順と、
を有することを特徴とする鍵配信方法。 - 同種写像暗号によるセッション鍵の交換に用いられる鍵配信サーバと接続される端末装置を、
所定の楕円曲線の第1のねじれ部分群の基底を用いた第1の公開値又は/及び前記楕円曲線の第2のねじれ部分群の基底を用いた第2の公開値を計算する同種写像計算手段、
前記セッション鍵を共有する1以上の他の端末装置のうち、所定の2台の端末装置でそれぞれ計算された第1の公開値又は/及び第2の公開値を前記鍵配信サーバから受信する受信手段、
前記受信手段が受信した第1の公開値又は/及び第2の公開値を用いて、前記セッション鍵を生成する鍵生成手段、
として機能させるためのプログラム。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2020513189A JPWO2019198516A1 (ja) | 2018-04-11 | 2019-03-27 | 鍵配信システム、端末装置、鍵配信方法、及びプログラム |
| US17/046,277 US11411720B2 (en) | 2018-04-11 | 2019-03-27 | Key distribution system, terminal device, key distribution method, and program |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2018076343 | 2018-04-11 | ||
| JP2018-076343 | 2018-04-11 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2019198516A1 true WO2019198516A1 (ja) | 2019-10-17 |
Family
ID=68163651
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/JP2019/013412 Ceased WO2019198516A1 (ja) | 2018-04-11 | 2019-03-27 | 鍵配信システム、端末装置、鍵配信方法、及びプログラム |
Country Status (3)
| Country | Link |
|---|---|
| US (1) | US11411720B2 (ja) |
| JP (1) | JPWO2019198516A1 (ja) |
| WO (1) | WO2019198516A1 (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPWO2022244151A1 (ja) * | 2021-05-19 | 2022-11-24 |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| 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 |
| CN115242468B (zh) * | 2022-07-07 | 2023-05-26 | 广州河东科技有限公司 | 一种基于rs485总线的安全通信系统及其方法 |
Family Cites Families (26)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP0739559B1 (en) * | 1993-09-09 | 2003-04-09 | BRITISH TELECOMMUNICATIONS public limited company | Method for key distribution using quantum cryptography |
| US6748083B2 (en) * | 2000-04-28 | 2004-06-08 | The Regents Of The University Of California | Method and apparatus for free-space quantum key distribution in daylight |
| US7581093B2 (en) * | 2003-12-22 | 2009-08-25 | Nortel Networks Limited | Hitless manual cryptographic key refresh in secure packet networks |
| US7437081B2 (en) * | 2004-11-01 | 2008-10-14 | Magiq Technologies, Inc | System and method for providing two-way communication of quantum signals, timing signals, and public data |
| US7826749B2 (en) * | 2005-09-19 | 2010-11-02 | The Chinese University Of Hong Kong | Method and system for quantum key distribution over multi-user WDM network with wavelength routing |
| US7889868B2 (en) * | 2005-09-30 | 2011-02-15 | Verizon Business Global Llc | Quantum key distribution system |
| US7940757B2 (en) * | 2006-02-23 | 2011-05-10 | Cisco Technology, Inc. | Systems and methods for access port ICMP analysis |
| US8855316B2 (en) * | 2008-01-25 | 2014-10-07 | Qinetiq Limited | Quantum cryptography apparatus |
| US20110206204A1 (en) * | 2008-10-17 | 2011-08-25 | Dmitry Ivanovich Sychev | Methods and devices of quantum encoding on dwdm (roadm) network and fiber optic links . |
| GB0819665D0 (en) * | 2008-10-27 | 2008-12-03 | Qinetiq Ltd | Quantum key dsitribution |
| KR101351012B1 (ko) * | 2009-12-18 | 2014-01-10 | 한국전자통신연구원 | 다자간 양자 통신에서의 사용자 인증 방법 및 장치 |
| US9237098B2 (en) * | 2012-07-03 | 2016-01-12 | Cisco Technologies, Inc. | Media access control (MAC) address summation in Datacenter Ethernet networking |
| JP6030925B2 (ja) * | 2012-11-12 | 2016-11-24 | ルネサスエレクトロニクス株式会社 | 半導体装置及び情報処理システム |
| US10560265B2 (en) * | 2013-06-08 | 2020-02-11 | Quantumctek Co., Ltd. | Mobile secret communications method based on quantum key distribution network |
| KR101776137B1 (ko) * | 2014-10-30 | 2017-09-19 | 에스케이 텔레콤주식회사 | 양자 키 분배 시스템에서 복수의 장치에 키를 공급하는 장치 및 방법 |
| CN105991285B (zh) * | 2015-02-16 | 2019-06-11 | 阿里巴巴集团控股有限公司 | 用于量子密钥分发过程的身份认证方法、装置及系统 |
| JP6400513B2 (ja) * | 2015-03-18 | 2018-10-03 | 株式会社東芝 | 量子鍵配送装置、量子鍵配送方法およびプログラム |
| CN106301769B (zh) * | 2015-06-08 | 2020-04-10 | 阿里巴巴集团控股有限公司 | 量子密钥输出方法、存储一致性验证方法、装置及系统 |
| US11588783B2 (en) * | 2015-06-10 | 2023-02-21 | Cisco Technology, Inc. | Techniques for implementing IPV6-based distributed storage space |
| US9960465B2 (en) * | 2015-07-30 | 2018-05-01 | Lg Chem, Ltd. | Battery pack |
| KR101860234B1 (ko) * | 2016-12-20 | 2018-05-21 | 엘에스산전 주식회사 | 듀얼 포트 스위치의 링크 속도 설정 방법 |
| US10476794B2 (en) * | 2017-07-30 | 2019-11-12 | Mellanox Technologies Tlv Ltd. | Efficient caching of TCAM rules in RAM |
| US10673883B2 (en) * | 2018-05-14 | 2020-06-02 | Cisco Technology, Inc. | Time synchronization attack detection in a deterministic network |
| US11212294B2 (en) * | 2018-09-12 | 2021-12-28 | Grid7 LLC | Data packet security with expiring time-based hash message authentication codes (HMACs) |
| EP3836479B1 (en) * | 2018-10-24 | 2025-08-06 | Nippon Telegraph And Telephone Corporation | Server device, communication terminal, communication system, and program |
| US11245527B2 (en) * | 2019-10-30 | 2022-02-08 | Seagate Technology Llc | Secure distribution networks |
-
2019
- 2019-03-27 JP JP2020513189A patent/JPWO2019198516A1/ja active Pending
- 2019-03-27 US US17/046,277 patent/US11411720B2/en active Active
- 2019-03-27 WO PCT/JP2019/013412 patent/WO2019198516A1/ja not_active Ceased
Non-Patent Citations (1)
| Title |
|---|
| "Symposium on Cryptography and I n for m a t ion Sec u r i ty", SCIS2016 [USB] SCIS2016, 19 January 2016 (2016-01-19), pages 1 - 8 * |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPWO2022244151A1 (ja) * | 2021-05-19 | 2022-11-24 | ||
| WO2022244151A1 (ja) * | 2021-05-19 | 2022-11-24 | 日本電信電話株式会社 | 鍵交換システム、端末、サーバ、鍵交換方法、及びプログラム |
| JP7619446B2 (ja) | 2021-05-19 | 2025-01-22 | 日本電信電話株式会社 | 鍵交換システム、端末、鍵交換方法、及びプログラム |
Also Published As
| Publication number | Publication date |
|---|---|
| US11411720B2 (en) | 2022-08-09 |
| JPWO2019198516A1 (ja) | 2021-04-01 |
| US20210083853A1 (en) | 2021-03-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Thabit et al. | A novel effective lightweight homomorphic cryptographic algorithm for data security in cloud computing | |
| CN111034117B (zh) | 单节点多方加密 | |
| US11316676B2 (en) | Quantum-proof multiparty key exchange system, quantum-proof multiparty terminal device, quantum-proof multiparty key exchange method, program, and recording medium | |
| CN111819815B (zh) | 用于转移对数字资产的控制的计算机实现的方法和系统 | |
| US11323255B2 (en) | Methods and systems for encryption and homomorphic encryption systems using Geometric Algebra and Hensel codes | |
| JP6363032B2 (ja) | 鍵付替え方向制御システムおよび鍵付替え方向制御方法 | |
| CN110417726A (zh) | 一种密钥管理方法及相关设备 | |
| CN104488218B (zh) | 加密装置、解密装置、加密方法、解密方法 | |
| KR102747331B1 (ko) | 디지털로 서명된 데이터를 획득하기 위한 컴퓨터 구현된 방법 및 시스템 | |
| US20110194698A1 (en) | Key Sharing System | |
| Namasudra | Taxonomy of DNA-based security models | |
| CN114443718A (zh) | 一种数据查询方法及系统 | |
| WO2019198516A1 (ja) | 鍵配信システム、端末装置、鍵配信方法、及びプログラム | |
| Assiri et al. | Homomorphic password manager using multiple-hash with PUF | |
| JP7377487B2 (ja) | 鍵交換システム、通信装置、鍵交換方法及びプログラム | |
| Shah et al. | Prediction error expansion‐based reversible data hiding in encrypted images with public key cryptosystem | |
| Hitaswi et al. | A bio-inspired model to provide data security in cloud storage | |
| Parwekar et al. | Public auditing: cloud data storage | |
| CN116248359B (zh) | 一种基于不经意传输协议的数据传输系统、方法及装置 | |
| EP4689970A1 (en) | Protecting membership in multi-identification secure computation and communication | |
| CN109787773B (zh) | 基于私钥池和Elgamal的抗量子计算签密方法和系统 | |
| Beyene et al. | Performance Analysis of Homomorphic Cryptosystem on Data Security in Cloud Computing | |
| Al-Attab et al. | Lightweight effective encryption algorithm for securing data in cloud computing | |
| JP7254296B2 (ja) | 鍵交換システム、情報処理装置、鍵交換方法及びプログラム | |
| Habib et al. | Image Encryption Based on DNA Substitution and Chaotic Theory |
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: 19785738 Country of ref document: EP Kind code of ref document: A1 |
|
| ENP | Entry into the national phase |
Ref document number: 2020513189 Country of ref document: JP Kind code of ref document: A |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 19785738 Country of ref document: EP Kind code of ref document: A1 |






























