WO2019077796A1 - 鍵共有装置、鍵共有方法、鍵共有プログラム及び鍵共有システム - Google Patents

鍵共有装置、鍵共有方法、鍵共有プログラム及び鍵共有システム Download PDF

Info

Publication number
WO2019077796A1
WO2019077796A1 PCT/JP2018/021370 JP2018021370W WO2019077796A1 WO 2019077796 A1 WO2019077796 A1 WO 2019077796A1 JP 2018021370 W JP2018021370 W JP 2018021370W WO 2019077796 A1 WO2019077796 A1 WO 2019077796A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
static
key sharing
shared
sharing
Prior art date
Application number
PCT/JP2018/021370
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 US16/642,782 priority Critical patent/US11171778B2/en
Priority to CN201880066637.7A priority patent/CN111373692B/zh
Publication of WO2019077796A1 publication Critical patent/WO2019077796A1/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/088Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic 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/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
    • 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/3066Public 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N10/00Quantum computing, i.e. information processing based on quantum-mechanical phenomena

Definitions

  • the present invention relates to technology for sharing keys between two parties.
  • Non-Patent Document 1 describes a Biclique conversion method of converting one round Diffie-Hellman (hereinafter DH) key sharing system into a system with an authentication function.
  • DH Diffie-Hellman
  • the DH key sharing scheme has no quantum resistance. So far, there has been no one-round key sharing scheme with quantum resistance, with authentication capabilities.
  • a super-specific homogeneous mapping DH (hereinafter referred to as SIDH) key sharing method (see Non-Patent Document 2) is a candidate technology for configuring a key sharing method with one-round authentication function having quantum resistance.
  • SIDH key sharing scheme has been actively studied recently, there is no known conversion method from the asymmetry of the SIDH key sharing scheme to a key sharing scheme with an authentication function.
  • An object of the present invention is to make it possible to convert an asymmetric key sharing scheme into a key sharing scheme with an authentication function.
  • the key sharing apparatus is A key selection unit that selects one static key from two static keys; And a key generation unit configured to generate a shared key shared with the other party using the static key selected by the key selection unit.
  • a shared key is generated using one static key selected from two static keys. This makes it possible to convert the asymmetric key sharing scheme into a key sharing scheme with an authentication function.
  • FIG. 1 is a configuration diagram of a key sharing system 1 according to Embodiment 1.
  • FIG. FIG. 1 is a block diagram of a key sharing device 10 according to a first embodiment. 4 is a flowchart of pre-processing according to Embodiment 1; 6 is a flowchart of key sharing processing according to the first embodiment.
  • FIG. 5 is a diagram showing an algorithm of key sharing processing according to the first embodiment.
  • FIG. 8 is a block diagram of a key sharing device 10 according to a modification 2;
  • Embodiment 1 In the first embodiment, an SIDH key sharing method will be described as an example of a key sharing method having asymmetry.
  • the SIDH key sharing scheme will be described with reference to FIGS. 1 and 2.
  • Alice and Bob share keys.
  • a small value f a large prime number p is selected so as to become Expression 11.
  • the values e A and e B are selected such that the equation (2) in Equation 11 holds.
  • the symbol ⁇ in Equation 11 is a Landau symbol, which means that it is asymptotically suppressed from above and below.
  • is a security parameter.
  • Position a supersingular elliptic curve E defined on a finite field having p 2 F_ ⁇ p 2 ⁇ , supersingular elliptic curve E with rational point group shown in Formula 12 is selected.
  • a homogeneous map ⁇ A with a nucleus of order L A ⁇ ⁇ e A ⁇ and a homogeneous map ⁇ B with a nucleus of order L B ⁇ ⁇ e B ⁇ are used.
  • the core and Ker ( ⁇ A) ⁇ R A>
  • the nuclear Ker ( ⁇ B) a ⁇ R B>.
  • ⁇ BA be a homogeneous mapping with ⁇ B (R A ) as the core
  • ⁇ AB be a homogeneous mapping with ⁇ A (R B ) core. Then, the relationship shown in FIG. 1 is established.
  • Points P A , Q A , P B , and Q B on the hyperspecific elliptic curve E shown in Equation 13 are selected as generators.
  • the supersingular elliptic curve E, the generators P A , Q A , P B , and Q B, and the values L A , L B , e A , and e B are used as public parameters.
  • the secret key space of Alice and Bob, respectively, SK A shown in Equation 14, are SK B.
  • Alice uses R A to calculate the hypersingular elliptic curve E A and the homogeneous mapping ⁇ A. Then, Alice sends the supersingular elliptic curve E A, isogenies phi phi is calculated using A A (P B) and phi A and (Q B) to Bob.
  • Bob uses R B to calculate the hypersingular elliptic curve E B and the homogeneous mapping ⁇ B. Then, Bob sends the supersingular elliptic curve E B, B phi was calculated using the isogeny ⁇ B (P A) and phi B and (Q A) to Alice.
  • j is j-invariant.
  • the public parameters P A, Q A and private key space SK A used is Alice is an element based on the power of L A
  • public parameters P B used by Bob Q B and the secret key space SK B is the L B It is an element based on power. Therefore, the public parameter P A, Q A and private key space SK A, public parameters P B, and Q B and the private key space SK B, which is an element of a different classification. Alice and Bob must always use different classification elements, and can not share keys using the same classification elements. Thus, the difference in the information used between the two parties performing key sharing is called asymmetry. That is, the SIDH key sharing scheme has asymmetry.
  • Alice uses the private key a randomly selected from a secret key space SK A, calculates the g a. Alice then sends g a to Bob.
  • Bob using the private key b, which is randomly selected from a secret key space SK B, calculates the g b. Then Bob sends g b to Alice.
  • the key sharing system 1 includes a plurality of key sharing devices 10.
  • the key sharing system 1 includes the key sharing device 10 of the key sharing devices 10A to 10D.
  • the key sharing device 10 is a computer such as a PC (Personal Computer) and a smartphone.
  • the key sharing devices 10 are connected via a transmission line 30.
  • the transmission path 30 is the Internet, a LAN (Local Area Network), or the like.
  • the configuration of the key sharing device 10 according to the first embodiment will be described with reference to FIG.
  • the key sharing device 10 includes hardware of a processor 11, a memory 12, a storage 13, and a communication interface 14.
  • the processor 11 is connected to other hardware via a signal line to control these other hardware.
  • the processor 11 is an integrated circuit (IC) that performs processing.
  • the processor 11 is, as a specific example, a central processing unit (CPU), a digital signal processor (DSP), or a graphics processing unit (GPU).
  • CPU central processing unit
  • DSP digital signal processor
  • GPU graphics processing unit
  • the memory 12 is a storage device that temporarily stores data.
  • the memory 12 is, as a specific example, a static random access memory (SRAM) or a dynamic random access memory (DRAM).
  • SRAM static random access memory
  • DRAM dynamic random access memory
  • the storage 13 is a storage device for storing data.
  • the storage 13 is an HDD (Hard Disk Drive) as a specific example.
  • the storage 13 is an SD (registered trademark, Secure Digital) memory card, CF (Compact Flash, registered trademark), NAND flash, flexible disk, optical disk, compact disk, Blu-ray (registered trademark) disk, DVD (Digital Versatile Disk), etc. It may be a portable recording medium.
  • the communication interface 14 is an interface for communicating with an external device.
  • the communication interface 14 is, as a specific example, a port of Ethernet (registered trademark), USB (Universal Serial Bus), or HDMI (registered trademark, High-Definition Multimedia Interface).
  • the key sharing apparatus 10 includes, as functional components, a receiving unit 21, a key selecting unit 22, a key generating unit 23, and a transmitting unit 24.
  • the key generation unit 23 includes a static key generation unit 25, a temporary key generation unit 26, and a shared key generation unit 27.
  • the function of each functional component of the key sharing apparatus 10 is realized by software.
  • the storage 13 stores a program for realizing the function of each functional component of the key sharing device 10. The program is read into the memory 12 by the processor 11 and executed by the processor 11. Thereby, the function of each functional component of the key sharing apparatus 10 is realized.
  • FIG. 6 only one processor 11 was shown. However, a plurality of processors 11 may be provided, and a plurality of processors 11 may cooperatively execute programs for realizing the respective functions.
  • the operation of the key sharing system 1 according to the first embodiment will be described with reference to FIGS. 7 to 9.
  • the operation of the key sharing system 1 according to the first embodiment corresponds to the key sharing method according to the first embodiment.
  • the operation of the key sharing system 1 according to the first embodiment corresponds to the processing of the key sharing program according to the first embodiment.
  • the subscripts are changed from “A” and “B” in the SIDH key sharing system described in FIG. 4 to “1” and “2”.
  • the public parameters include two classification parameters: (P 1 , Q 1 ) based on L 1 e 1 , and (P 2 , Q 2 ) based on L 2 e 2 .
  • the key sharing system 1 is the same classification as shown in Formula 15 (P 1, Q 1), a secret key space SK 1-based e 1 square of L 1, the same classification as the (P 2, Q 2) And a secret key space SK 2 based on L 2 e 2 .
  • the pre-processing according to the first embodiment will be described with reference to FIG.
  • the pre-processing is performed by the key sharing devices 10 provided in the key sharing system 1 before the key sharing processing described later is performed.
  • the key sharing device 10A and the key sharing device 10B share keys will be described as an example.
  • Step S11 Public parameter acquisition processing
  • the public parameters are generated by the management device of the key sharing system 1 and stored in a server for public use.
  • Step S12 static key generation process
  • the static key generation unit 25 writes the set of the static secret key a 1 and the static public key A 1 and the set of the static secret key a 2 and the static public key A 2 in the memory 12.
  • the static key generation unit 25 reads the public parameter from the memory 12.
  • Static key generation unit 25, using the static secret key b 2, to generate a static public key B 2 g ⁇ b 2.
  • Static key generator 25 writes a set of static private key b 1 and the static public key B 1, and a static secret key b 2 and static public key B 2 set in the memory 12.
  • a set of static private key a 1 and a static public key A 1 1, a set of static private key a 2 and a static public key A 2
  • static secret key b 1 and the static public key B 1 a set of, called a static key static secret key b 2 and static of the public key B 2 pairs and each.
  • the set of the static secret key a 1 and the static public key A 1 and the set of the static secret key b 1 and the static public key B 1 are elements based on the power of L 1 (P 1 , Q It is the same classification as 1 ).
  • the set of static secret key a 2 and static public key A 2 and the set of static secret key b 2 and static public key B 2 are elements based on the power of L 2 (P 2 , Q 2 ) The same classification as in 2 ).
  • Step S13 key disclosure processing
  • the transmitting unit 24 reads the static public key generated in step S12 from the memory 12. Then, the transmitting unit 24 transmits the read static public key to the server for disclosure, and makes it public to each key sharing device 10 provided in the key sharing system 1. If key sharing apparatus 10A, the transmission unit 24 reads the static public key of A 1 and the static public key A 2 from the memory 12, the read static public key of A 1 and the static public key A 2 Send to a server for publication. If key sharing device 10B, transmission unit 24 reads the static public key B 1 and the static public key B 2 from the memory 12, the read static public keys B 1 and the static public key B 2 Send to a server for publication.
  • the key sharing process according to the first embodiment will be described with reference to FIGS. 8 and 9.
  • the key sharing device 10 acquires the static public key on the other side of the key sharing from the public server and stores the static public key in the memory 12.
  • Step S21 key selection process
  • the key selection unit 22 selects one static key from two static keys of different classifications. Specifically, the key selection unit 22 selects a static key of a classification different from that of the other party from two static keys of different classifications. That is, in the key sharing apparatus 10A, the key selecting unit 22 includes a set of static private key a 1 and a static public key A 1, of the static private key a 2 and a static public key A 2 set, A set different from the key sharing apparatus 10B which is the other party that performs key sharing is selected.
  • the key selection unit 22 selects one of the two static keys depending on whether it is a start side that starts key sharing. Not limited to this, different sets may be selected according to predetermined rules.
  • the key selection unit 22 writes the selected static key in the memory 12.
  • the key selection unit 22 is the key sharing device 10 on the initiating side that starts key sharing (here, the key sharing device 10A), it is classified in the same classification as (P 1 , Q 1 ) there is, to select a static secret key a 1 and static public key a 1 set.
  • the key selection unit 22 is the response-side key sharing apparatus 10 (here, the key sharing apparatus 10 B) that shares the key in response to the initiation side (P 2 , Q 2 ) it is the same classification and, to select a set of static secret key b 2 and static public key B 2.
  • the key sharing apparatus 10 B that shares the key in response to the initiation side
  • Step S22 temporary key generation process
  • the temporary key generation unit 26 generates a temporary key of the same classification as the static key selected in step S21. Specifically, the temporary key generation unit 26 randomly selects an element from the secret key space of the same classification as the static key selected in step S21, and generates a temporary secret key.
  • Step S23 Temporary Public Key Transmission Processing
  • the transmitting unit 24 transmits the temporary public key generated in step S22 to the key sharing apparatus 10 on the other side of the key sharing. Specifically, the transmission unit 24 reads the temporary public key from the memory 12. The transmitting unit 24 transmits the read temporary public key to the key sharing apparatus 10 on the opposite side via the communication interface 14. Then, the temporary public key is transmitted through the transmission path 30 to the key sharing device 10 on the opposite side, and is received by the receiver 21 of the key sharing device 10 on the opposite side.
  • the transmitting unit 24 of the key sharing device 10A on the initiating side sends the temporary public key X to the key sharing device 10B on the responding side.
  • the receiving unit 21 of the key sharing device 10 B receives the temporary public key X and writes the temporary public key X in the memory 12.
  • the key sharing device 10B on the response side transmits the temporary public key Y to the key sharing device 10A on the initiating side.
  • the receiving unit 21 of the key sharing device 10A receives the temporary public key Y and writes the temporary public key Y in the memory 12.
  • Step S24 Shared Key Generation Process
  • the shared key generation unit 27 sets the static key selected in step S21, the temporary secret key generated in step S22, the temporary public key generated by the other party in step S23, and the other party's static public key And to generate a shared key.
  • shared key generation unit 27 sets the static key selected in step S21, the temporary secret key generated in step S22, the other party's temporary public key received in step S23, and the other side.
  • the static public key of the calculates the value Z 1 and the value Z 2 and the value Z 3 and value Z 4, written in the memory 12.
  • Shared key generation unit 27 by using the calculated value Z 1 and the value Z 2 and the value Z 3 and value Z 4, generates a common key K.
  • the shared key generating unit 27 computes the hash function H as an input and the value Z 1 and the value Z 2 and the value Z 3 and value Z 4, generates a common key K.
  • the key sharing system 1 prepares static keys of two classifications, and uses a static key different from the key sharing counterpart. This makes it possible to convert the asymmetric key sharing scheme into a key sharing scheme with an authentication function.
  • the key sharing with authentication function will be described.
  • two parties performing key sharing have their own static public key and exchange temporary public keys. Then, the two parties performing key sharing are the static public key on the other side, the temporary public key received from the other side, the static private key corresponding to the static public key on the other side, and the temporary public key on the other side.
  • a shared key is calculated based on the temporary secret key corresponding to the public key.
  • the static public key and the static secret key are collectively called a static key.
  • Static keys are keys that do not change over time.
  • the temporary public key and the temporary secret key are generically called a temporary key.
  • the temporary key is a key that is temporarily used when generating a shared key.
  • a shared key is a key shared between two parties.
  • a shared key is calculated using the other party's static public key.
  • Static public keys are keys that do not change over time. Therefore, it is possible to specify the other party who shares the shared key.
  • the key sharing system 1 can realize the key sharing system with one round of authentication function by converting the SIDH key sharing system.
  • One round means that two parties performing key sharing can send messages independently and simultaneously. In other words, one round means that it is not necessary to send and receive a message from one of the two to the other, and receive and return the message from the other to the other.
  • the need for this round trip communication is called 2 pass.
  • the key sharing apparatus 10 can calculate a temporary key before the start of key sharing. Then, it is possible to simultaneously exchange temporary keys between the key sharing apparatuses 10 performing key sharing. Therefore, it is possible to perform key sharing efficiently.
  • the key sharing system 1 according to the first embodiment prepares static keys of two classifications, and selects a static key according to whether it is the initiator or the responder. Therefore, the key sharing system with the authentication function implemented by the key sharing system 1 according to the first embodiment is resistant to a reflection attack, which is a method of attacking the authentication system.
  • the reflex attack is described in the document "Tanenbaum, A. S .: Computer Networks. Pearson (2002)”.
  • the key sharing method with the authentication function realized by the key sharing system 1 according to the first embodiment can not only ensure the security for the quantum computer but also prove the security in the quantum random oracle model. is there.
  • the SIDH key sharing method has been described as an example of the key sharing method having asymmetry.
  • the technique is not limited to the SIDH key sharing method, and two static keys are prepared for other key sharing methods, and a technique of using a static key different from the key sharing counterpart is applied. It is also possible to convert the key sharing system into a key sharing system with an authentication function. If the key sharing system to be applied is a system having quantum resistance, the key sharing system with an authentication function obtained by conversion may also be a system having quantum resistance.
  • each functional component is realized by software.
  • each functional component may be realized by hardware. The difference between this modification 2 and the first embodiment will be described.
  • the key sharing device 10 includes an electronic circuit 15 instead of the processor 11, the memory 12 and the storage 13.
  • the electronic circuit 15 is a dedicated circuit that implements the functions of the functional components, the memory 12 and the storage 13.
  • the electronic circuit 15 may be a single circuit, a complex circuit, a programmed processor, a parallel programmed processor, a logic IC, a gate array (GA), an application specific integrated circuit (ASIC), or a field-programmable gate array (FPGA). is assumed. Each functional component may be realized by one electronic circuit 15, or each functional component may be distributed to a plurality of electronic circuits 15.
  • ⁇ Modification 3> As a third modification, some functional components may be realized by hardware, and other functional components may be realized by software.
  • the processor 11, the memory 12, the storage 13, and the electronic circuit 15 are referred to as processing circuits. That is, the function of each functional component is realized by the processing circuit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)
  • Computational Mathematics (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Abstract

非対称性を持つ鍵共有方式を認証機能付きの鍵共有方式に変換可能にすることを目的とする。鍵共有装置(10)では、鍵選択部(22)は、分類の異なる2つの静的鍵から、鍵共有の相手側とは異なる1つの静的鍵を選択する。一時鍵生成部(26)は、鍵選択部(22)によって選択された静的鍵と同じ分類の一時鍵を生成する。共有鍵生成部(27)は、鍵選択部(22)によって選択された静的鍵と、相手側によって生成された一時鍵とを用いて、共有鍵を生成する。

Description

鍵共有装置、鍵共有方法、鍵共有プログラム及び鍵共有システム
 この発明は、2者間で鍵を共有する技術に関する。
 量子計算機の開発が、世界的に進められている。量子計算機の出現に対しても安全性を維持できる暗号方式として、同種写像を用いた暗号の提案が行われている。
 非特許文献1には、1ラウンドのDiffie-Hellman(以下、DH)鍵共有方式を、認証機能付きの方式に変換するBiclique変換法が記載されている。
Fujioka, A.: Characterization of strongly secure authenticated key exchanges without NAXOS technique. IEICE Transactions 96-A(6), 1088-1099 (2013), a preliminary version of this paper appeared in IWSEC 2011 (2011) De Feo, L., Jao, D., Plut, J.: Towards quantum-resistant cryptosystems from supersingular elliptic curve isogenies. J. Math. Crypt. 8(3), 209-247 (2014)
 DH鍵共有方式は、耐量子性を持たない。これまでは、耐量子性を持つ、1ラウンドの認証機能付きの鍵共有方式がなかった。
 耐量子性を持つ、1ラウンドの認証機能付きの鍵共有方式を構成するための候補となる技術として、超特異同種写像DH(以下、SIDH)鍵共有方式(非特許文献2参照)がある。SIDH鍵共有方式は、最近になって活発に研究されるようになっているものの、SIDH鍵共有方式の非対称性から認証機能付きの鍵共有方式への変換法が知られていない。
 この発明は、非対称性を持つ鍵共有方式を認証機能付きの鍵共有方式に変換可能にすることを目的とする。
 この発明に係る鍵共有装置は、
 2つの静的鍵から1つの静的鍵を選択する鍵選択部と、
 前記鍵選択部によって選択された静的鍵を用いて、相手側と共有する共有鍵を生成する鍵生成部と
を備える。
 この発明では、2つの静的鍵から選択された1つの静的鍵を用いて共有鍵を生成する。これにより、非対称性を持つ鍵共有方式を認証機能付きの鍵共有方式に変換することが可能になる。
SIDH鍵共有方式の説明図。 SIDH鍵共有方式のアルゴリズムを示す図。 記法の説明図。 SIDH鍵共有方式のアルゴリズムを簡潔化して示す図。 実施の形態1に係る鍵共有システム1の構成図。 実施の形態1に係る鍵共有装置10の構成図。 実施の形態1に係る事前処理のフローチャート。 実施の形態1に係る鍵共有処理のフローチャート。 実施の形態1に係る鍵共有処理のアルゴリズムを示す図。 変形例2に係る鍵共有装置10の構成図。
 実施の形態1.
 実施の形態1では、非対称性を持つ鍵共有方式として、SIDH鍵共有方式を例として説明する。
 ***記法の説明***
 以下で用いられる記法を説明する。ここでは、SIDH鍵共有方式を説明した上で、記法を説明する。
 なお、文中での下付き文字及び上付き文字の記載に制限がある。そのため、以下の文中では、“_”を下付き文字を表すための記号とし、“^”を上付き文字を表す記号として用い、文中では表現できない下付き文字及び上付き文字をこられの記号を用いて表す。例えば、N_iはNを表し、N^iはNを表すものとする。
 <SIDH鍵共有方式>
 図1及び図2を参照して、SIDH鍵共有方式を説明する。ここでは、AliceとBobが鍵共有を行うとする。
 2つの小素数L,L(例えば、L=2,L=3)と、小さい値fとに対して、数11になるように大きい素数pが選択される。
Figure JPOXMLDOC01-appb-M000005
 ここで、値e,eは、数11における式(2)が成立するように選択される。また、数11における記号Θは、ランダウの記号であり、漸近的に上下からおさえられることを意味する。また、λは、セキュリティパラメータである。
 位数pの有限体F_{p}上に定義された超特異楕円曲線Eであって、数12に示す有理点群を持つ超特異楕円曲線Eが選択される。
Figure JPOXMLDOC01-appb-M000006
 位数L^{e}の核を持つ同種写像φと、位数L^{e}の核を持つ同種写像φが用いられる。同種写像φに対して、その核をKer(φ)=<R>とし、同種写像φに対して、その核をKer(φ)=<R>とする。φ(R)を核と
する同種写像をφBAとし、φ(R)核とする同種写像をφABとする。
 すると、図1に示す関係が成立する。つまり、超特異楕円曲線Eから同種写像φにより超特異楕円曲線E=E/<R>が得られ、超特異楕円曲線Eから同種写像φABにより超特異楕円曲線E/<R,R>が得られる(ルート1)。また、超特異楕円曲線Eから同種写像φにより超特異楕円曲線E=E/<R>が得られ、超特異楕円曲線Eから同種写像φBAにより超特異楕円曲線E/<R,R>が得られる(ルート2)。
 数13に示す超特異楕円曲線E上の点P,Q,P,Qが生成元として選択される。超特異楕円曲線Eと、生成元P,Q,P,Qと、値L,L,e,eとが公開パラメータとされる。
Figure JPOXMLDOC01-appb-M000007
 また、AliceとBobの秘密鍵空間が、それぞれ、数14に示すSK,SKとされる。
Figure JPOXMLDOC01-appb-M000008
 図2に示すように、Aliceは、秘密鍵空間SKからランダムに選択された秘密鍵(m,n)を用いて、R=m+nを計算する。Aliceは、Rを用いて超特異楕円曲線Eと、同種写像φとを計算する。そして、Aliceは、超特異楕円曲線Eと、同種写像φを用いて計算されたφ(P)及びφ(Q)とをBobに送信する。
 同様に、Bobは、秘密鍵空間SKからランダムに選択された秘密鍵(m,n)を用いて、R=m+nを計算する。Bobは、Rを用いて超特異楕円曲線Eと、同種写像φとを計算する。そして、Bobは、超特異楕円曲線Eと、同種写像φを用いて計算されたφ(P)及びφ(Q)とをAliceに送信する。
 Aliceは、秘密鍵(m,n)と、Bobによって送信されたφ(P)及びφ(Q)とを用いて、RBA=mφ(P)+nφ(Q)を計算する。Aliceは、RBAと、Bobによって送信された超特異楕円曲線Eとから、共有鍵KAlice=j(E/<RBA>)を計算する。ここで、jは、j-不変量である。
 同様に、Bobは、秘密鍵(m,n)と、Aliceによって送信されたφ(P)及びφ(Q)とを用いて、RAB=mφ(P)+nφ(Q)を計算する。Bobは、RABと、Aliceによって送信された超特異楕円曲線Eとから、共有鍵KBob=j(E/<RAB>)を計算する。
 つまり、鍵共有を行う一方(ここではBob)が図1のルート1の計算を行い、他方(ここではAlice)が図1のルート2の計算を行う。
 ここで、<mφ(P)+nφ(Q)>=<φ(R)>=kerφBAであり、<mφ(P)+nφ(Q)>=<φ(R)>=kerφABである。そのため、j-不変量の間の等式KAlice=j(E/kerφBA)=j(
E/<R,R>)=j(E/kerφAB)=KBobが成立する。したがって、K=KAlice=KBobが共有鍵となる。
 ここで、Aliceが用いる公開パラメータP,Q及び秘密鍵空間SKはLのべき乗に基づく要素であり、Bobが用いる公開パラメータP,Q及び秘密鍵空間SKはLのべき乗に基づく要素である。したがって、公開パラメータP,Q及び秘密鍵空間SKと、公開パラメータP,Q及び秘密鍵空間SKとは、異なる分類の要素である。AliceとBobとは、必ず異なる分類の要素を用いる必要があり、同じ分類の要素を用いて鍵共有を行うことはできない。
 このように、鍵共有を行う二者間で用いる情報が異なることを、非対称性と呼ぶ。つまり、SIDH鍵共有方式は非対称性を持つ。
 <記法>
 図3を参照して、SIDH鍵共有方式を簡潔に記載するための記法を説明する。
 公開パラメータに含まれる超特異楕円曲線E及び生成元P,Q,P,Qが“g”と記述される。Aliceの秘密鍵(m,n)が“a”と記述され、Bobの秘密鍵(m,n)が“b”と記述される。
 上述した超特異楕円曲線Eの集合がSSECと記述される。補助ねじれ点基底を有する上述した超特異楕円曲線Eの集合が、SSECp,A及びSSECp,Bと記述される。SSECp,AはAliceがBobに送信する情報の集合であり、SSECp,BはBobがAliceに送信する情報の集合である。
 そして、“g”と“g”と“(g”と“(g”とが以下のように定義される。
 g:=(E:φ(P),φ(Q))∈SSECp,A,where R=m+n,φ:E→E=E/<R
 g:=(E:φ(P),φ(Q))∈SSECp,B,where R=m+n,φ:E→E=E/<R
 (g:=j(EBA),where RBA=mφ(P)+nφ(Q),φBA:E→EBA=E/<RBA
 (g:=j(EAB),where RAB=mφ(P)+nφ(Q),φAB:E→EAB=E/<RAB
 以上の記法を用いて、SIDH鍵共有方式を記述すると、図4に示すようになる。
 ここで、公開パラメータは、g=(E;P,Q,P,Q)と、e=(L,L,e,e)である。
 Aliceは、秘密鍵空間SKからランダムに選択された秘密鍵aを用いて、gを計算する。そして、Aliceは、gをBobに送信する。同様に、Bobは、秘密鍵空間SKからランダムに選択された秘密鍵bを用いて、gを計算する。そして、Bobは、gをAliceに送信する。
 Aliceは、秘密鍵aと、Bobによって送信されたgとを用いて、共有鍵KAlice=(gを計算する。同様に、Bobは、秘密鍵bと、Aliceによって送信されたgとを用いて、共有鍵KBob=(gを計算する。共有鍵KAlice=(g=(g=共有鍵KBobである。
 ***構成の説明***
 図5を参照して、実施の形態1に係る鍵共有システム1の構成を説明する。
 鍵共有システム1は、複数の鍵共有装置10を備える。図5では、鍵共有システム1は、鍵共有装置10A~鍵共有装置10Dの鍵共有装置10を備える。鍵共有装置10は、PC(Personal Computer)及びスマートフォンといったコンピュータ
である。鍵共有装置10間は、伝送路30を介して接続されている。伝送路30は、インターネット、LAN(Local Area Network)等である。
 図6を参照して、実施の形態1に係る鍵共有装置10の構成を説明する。
 鍵共有装置10は、プロセッサ11と、メモリ12と、ストレージ13と、通信インタフェース14とのハードウェアを備える。プロセッサ11は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
 プロセッサ11は、プロセッシングを行うIC(Integrated Circuit)である。プロセッサ11は、具体例としては、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
 メモリ12は、データを一時的に記憶する記憶装置である。メモリ12は、具体例としては、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)である。
 ストレージ13は、データを保管する記憶装置である。ストレージ13は、具体例としては、HDD(Hard Disk Drive)である。また、ストレージ13は、SD(登録商標,Secure Digital)メモリカード、CF(CompactFlash,登録商標)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、DVD(Digital Versatile Disk)といった可搬記録媒体であってもよい。
 通信インタフェース14は、外部の装置と通信するためのインタフェースである。通信インタフェース14は、具体例としては、Ethernet(登録商標)、USB(Universal Serial Bus)、HDMI(登録商標,High-Definition Multimedia Interface)のポートである。
 鍵共有装置10は、機能構成要素として、受信部21と、鍵選択部22と、鍵生成部23と、送信部24とを備える。鍵生成部23は、静的鍵生成部25と、一時鍵生成部26と、共有鍵生成部27とを備える。鍵共有装置10の各機能構成要素の機能はソフトウェアにより実現される。
 ストレージ13には、鍵共有装置10の各機能構成要素の機能を実現するプログラムが格納されている。このプログラムは、プロセッサ11によりメモリ12に読み込まれ、プロセッサ11によって実行される。これにより、鍵共有装置10の各機能構成要素の機能が実現される。
 図6では、プロセッサ11は、1つだけ示されていた。しかし、プロセッサ11は、複数であってもよく、複数のプロセッサ11が、各機能を実現するプログラムを連携して実行してもよい。
 ***動作の説明***
 図7から図9を参照して、実施の形態1に係る鍵共有システム1の動作を説明する。
 実施の形態1に係る鍵共有システム1の動作は、実施の形態1に係る鍵共有方法に相当する。また、実施の形態1に係る鍵共有システム1の動作は、実施の形態1に係る鍵共有プログラムの処理に相当する。
 鍵共有システム1は、公開パラメータとして、g=(E;P,Q,P,Q)と、e=(L,L,e,e)とを用いる。なお、ここでは、添え字が、図4で説明
したSIDH鍵共有方式における“A”及び“B”から“1”及び“2”に変更されている。公開パラメータには、Lのe乗に基づく(P,Q)とLのe乗に基づく(P,Q)との2つの分類のパラメータが含まれている。
 また、鍵共有システム1は、数15に示す(P,Q)と同じ分類である、Lのe乗に基づく秘密鍵空間SKと、(P,Q)と同じ分類である、Lのe乗に基づく秘密鍵空間SKとを用いる。
Figure JPOXMLDOC01-appb-M000009
 図7を参照して、実施の形態1に係る事前処理を説明する。
 事前処理は、鍵共有システム1が備える各鍵共有装置10により、後述する鍵共有処理が行われる前に実行される。ここでは、鍵共有装置10Aと鍵共有装置10Bとが鍵共有を行う場合を例として説明する。
 (ステップS11:公開パラメータ取得処理)
 受信部21は、公開パラメータを取得する。
 具体的には、受信部21は、公開用のサーバから、公開パラメータであるg=(E;P,Q,P,Q)と、e=(L,L,e,e)とを受信して、メモリ12に書き込む。公開パラメータは、鍵共有システム1の管理装置によって生成され、公開用のサーバに記憶されている。
 (ステップS12:静的鍵生成処理)
 静的鍵生成部25は、ステップS11で取得された公開パラメータに基づき、静的鍵を生成する。
 具体的には、鍵共有装置10Aでは、静的鍵生成部25は、メモリ12から公開パラメータを読み出す。静的鍵生成部25は、秘密鍵空間SKからランダムに要素を選択して静的秘密鍵a=(mA,1,nA,1)を生成する。静的鍵生成部25は、秘密鍵空間SKからランダムに要素を選択して静的秘密鍵a=(mA,2,nA,2)を生成する。また、静的鍵生成部25は、静的秘密鍵aを用いて、静的公開鍵A=g^aを生成する。静的鍵生成部25は、静的秘密鍵aを用いて、静的公開鍵A=g^aを生成する。静的鍵生成部25は、静的秘密鍵a及び静的公開鍵Aの組と、静的秘密鍵a及び静的公開鍵Aの組とをメモリ12に書き込む。
 同様に、鍵共有装置10Bでは、静的鍵生成部25は、メモリ12から公開パラメータを読み出す。静的鍵生成部25は、秘密鍵空間SKからランダムに要素を選択して静的秘密鍵b=(mB,1,nB,1)を生成する。静的鍵生成部25は、秘密鍵空間SKからランダムに要素を選択して静的秘密鍵b=(mB,2,nB,2)を生成する。また、静的鍵生成部25は、静的秘密鍵bを用いて、静的公開鍵B=g^bを生成する。静的鍵生成部25は、静的秘密鍵bを用いて、静的公開鍵B=g^bを生成する。静的鍵生成部25は、静的秘密鍵b及び静的公開鍵Bの組と、静的秘密鍵b及び静的公開鍵Bの組とをメモリ12に書き込む。
 ここで、静的秘密鍵a及び静的公開鍵Aの組と、静的秘密鍵a及び静的公開鍵Aの組と、静的秘密鍵b及び静的公開鍵Bの組と、静的秘密鍵b及び静的公開鍵Bの組とをそれぞれ静的鍵と呼ぶ。静的秘密鍵a及び静的公開鍵Aの組と、静的秘密鍵b及び静的公開鍵Bの組とは、Lのべき乗に基づく要素であり、(P,Q)と同じ分類である。静的秘密鍵a及び静的公開鍵Aの組と、静的秘密鍵b及び静的公開鍵Bの組とは、Lのべき乗に基づく要素であり、(P,Q)と同じ分類であ
る。
 (ステップS13:鍵公開処理)
 送信部24は、ステップS12で生成された静的公開鍵をメモリ12から読み出す。そして、送信部24は、読み出された静的公開鍵を公開用のサーバに送信して、鍵共有システム1が備える各鍵共有装置10に公開する。
 鍵共有装置10Aであれば、送信部24は、静的公開鍵A及び静的公開鍵Aをメモリ12から読み出し、読み出された静的公開鍵A及び静的公開鍵Aを公開用のサーバに送信する。鍵共有装置10Bであれば、送信部24は、静的公開鍵B及び静的公開鍵Bをメモリ12から読み出し、読み出された静的公開鍵B及び静的公開鍵Bを公開用のサーバに送信する。
 図8及び図9を参照して、実施の形態1に係る鍵共有処理を説明する。
 前提として、鍵共有装置10は、鍵共有を行う相手側の静的公開鍵を公開用のサーバから取得して、メモリ12に記憶しているものとする。
 (ステップS21:鍵選択処理)
 鍵選択部22は、分類の異なる2つの静的鍵から、1つの静的鍵を選択する。
 具体的には、鍵選択部22は、分類の異なる2つの静的鍵から、相手側と異なる分類の静的鍵を選択する。つまり、鍵共有装置10Aでは、鍵選択部22は、静的秘密鍵a及び静的公開鍵Aの組と、静的秘密鍵a及び静的公開鍵Aの組とのうち、鍵共有を行う相手側である鍵共有装置10Bと異なる組を選択する。同様に、鍵共有装置10Bでは、鍵選択部22は、静的秘密鍵b及び静的公開鍵Bの組と、静的秘密鍵b及び静的公開鍵Bの組とのうち、鍵共有を行う相手側である鍵共有装置10Aと異なる組を選択する。
 具体例としては、鍵選択部22は、鍵の共有を開始する開始側か否かに応じて、2つの静的鍵のうち、一方を選択する。これに限らず、予め定められたルールに従い、互いに異なる組が選択されるようにしておけばよい。鍵選択部22は、選択された静的鍵をメモリ12に書き込む。
 ここでは、鍵選択部22は、鍵の共有を開始する開始側の鍵共有装置10(ここでは、鍵共有装置10Aとする)である場合には、(P,Q)と同じ分類である、静的秘密鍵a及び静的公開鍵Aの組を選択する。一方、鍵選択部22は、開始側に応答して鍵の共有を行う応答側の鍵共有装置10(ここでは、鍵共有装置10Bとする)である場合には、(P,Q)と同じ分類である、静的秘密鍵b及び静的公開鍵Bの組を選択する。例えば、鍵共有開始前の事前通信でどちらが開始側であるかを特定することが可能である。
 (ステップS22:一時鍵生成処理)
 一時鍵生成部26は、ステップS21で選択された静的鍵と同じ分類の一時鍵を生成する。
 具体的には、一時鍵生成部26は、ステップS21で選択された静的鍵と同じ分類の秘密鍵空間からランダムに要素を選択して一時秘密鍵を生成する。開始側の鍵共有装置10Aの一時鍵生成部26は、静的秘密鍵a及び静的公開鍵Aの組と同じ分類の秘密鍵空間SKからランダムに要素を選択して一時秘密鍵x=(m,n)を生成する。また、応答側の鍵共有装置10Bの一時鍵生成部26は、静的秘密鍵b及び静的公開鍵Bの組と同じ分類の秘密鍵空間SKからランダムに要素を選択して一時秘密鍵y=(m,n)を生成する。
 また、一時鍵生成部26は、一時秘密鍵を用いて、一時公開鍵を生成する。開始側の鍵共有装置10Aの一時鍵生成部26は、一時秘密鍵xを用いて、一時公開鍵X=gを生成する。また、応答側の鍵共有装置10Bの一時鍵生成部26は、一時秘密鍵yを用いて
、一時公開鍵Y=gを生成する。
 一時秘密鍵と一時公開鍵とを総称して一時鍵と呼ぶ。一時鍵生成部26は、生成された一時鍵をメモリ12に書き込む。
 (ステップS23:一時公開鍵送信処理)
 送信部24は、ステップS22で生成された一時公開鍵を、鍵共有の相手側の鍵共有装置10に送信する。
 具体的には、送信部24は、メモリ12から一時公開鍵を読み出す。送信部24は、読み出された一時公開鍵を、通信インタフェース14を介して相手側の鍵共有装置10に送信する。すると、一時公開鍵は、伝送路30を通って、相手側の鍵共有装置10に送信され、相手側の鍵共有装置10の受信部21によって受信される。
 開始側の鍵共有装置10Aの送信部24は、一時公開鍵Xを応答側の鍵共有装置10Bに送信する。鍵共有装置10Bの受信部21は、一時公開鍵Xを受信してメモリ12に書き込む。また、応答側の鍵共有装置10Bは、一時公開鍵Yを開始側の鍵共有装置10Aに送信する。鍵共有装置10Aの受信部21は、一時公開鍵Yを受信してメモリ12に書き込む。
 (ステップS24:共有鍵生成処理)
 共有鍵生成部27は、ステップS21で選択された静的鍵と、ステップS22で生成された一時秘密鍵と、ステップS23で相手側によって生成された一時公開鍵と、相手側の静的公開鍵とを用いて、共有鍵を生成する。
 具体的には、共有鍵生成部27は、ステップS21で選択された静的鍵と、ステップS22で生成された一時秘密鍵と、ステップS23で受信された相手側の一時公開鍵と、相手側の静的公開鍵とを、メモリ12から読み出す。そして、共有鍵生成部27は、以下のように、値Zと値Zと値Zと値Zとを計算し、メモリ12に書き込む。
 開始側の鍵共有装置10Aの共有鍵生成部27は、値Z=Y^a、値Z=B 、値Z=B^a、値Z=Yのように、値Zと値Zと値Zと値Zとを計算する。応答側の鍵共有装置10Bの共有鍵生成部27は、値Z=A 、値Z=X^b、値Z=A^b、値Z=Xのように、値Zと値Zと値Zと値Zとを計算する。
 ここで、値Z=Y^a=(g)^a=(g^a=A である。値Z=B =(g^b=(g)^b=X^bである。値Z=B^a=(g^b)^a=(g^a)^b=A^bである。値Z=Y=(g=(g=Xである。したがって、開始側の鍵共有装置10Aで計算される値Zと値Zと値Zと値Zと、応答側の鍵共有装置10Bで計算される値Zと値Zと値Zと値Zとは、いずれも等しい。
 共有鍵生成部27は、計算された値Zと値Zと値Zと値Zとを用いて、共通鍵Kを生成する。
 具体例としては、共有鍵生成部27は、値Zと値Zと値Zと値Zとを入力としてハッシュ関数Hを計算して、共通鍵Kを生成する。この際、共有鍵生成部27は、値Zと値Zと値Zと値Zとに加え、プロトコルの識別子であるΠと、開始側の鍵共有装置10Aの識別子Aと、応答側の鍵共有装置10Bの識別子Bと、開始側の鍵共有装置10Aの一時公開鍵Xと、応答側の鍵共有装置10Bの一時公開鍵Yとも入力としてもよい。つまり、共有鍵生成部27は、K=H(Π,Z,Z,Z,Z,A,B,X,Y)を計算して、共通鍵Kを計算してもよい。
 なお、値Zと値Zと値Zと値Zとの一部を1つの値にまとめるといった修正を加えてもよい。
 ***実施の形態1の効果***
 以上のように、実施の形態1に係る鍵共有システム1は、2つの分類の静的鍵を用意しておき、鍵共有の相手側と異なる静的鍵を用いるようにする。これにより、非対称性を持つ鍵共有方式を認証機能付きの鍵共有方式に変換することが可能になる。
 認証機能付きの鍵共有について説明する。
 認証機能付きの鍵共有のプロトコルでは、鍵共有を行う二者は、自身の静的な公開鍵を持ち、一時公開鍵を交換する。そして、鍵共有を行う二者は、相手側の静的な公開鍵と、相手側から受け取った一時公開鍵と、自身の静的な公開鍵に対応する静的な秘密鍵と、自身の一時公開鍵に対応する一時秘密鍵とに基づき共有鍵を計算する。
 静的な公開鍵及び静的な秘密鍵を総称して静的鍵と呼ぶ。静的鍵は、長期間変更されない鍵である。一時公開鍵及び一時秘密鍵を総称して一時鍵と呼ぶ。一時鍵は、共有鍵を生成する際に一時的に用いられる鍵である。共有鍵は、二者間で共有される鍵である。
 認証機能付きの鍵共有プロトコルでは、相手側の静的な公開鍵を用いて共有鍵が計算される。静的な公開鍵は、長期間変更されない鍵である。そのため、共有鍵を共有する相手を特定可能である。
 また、実施の形態1に係る鍵共有システム1は、SIDH鍵共有方式を変換することにより、1ラウンドの認証機能付きの鍵共有方式を実現することが可能である。
 1ラウンドについて説明する。
 1ラウンドは、鍵共有を行う二者がメッセージを独立かつ同時に送ることが可能であることを意味する。つまり、1ラウンドは、二者のうち一方から他方へメッセージを送り、このメッセージを受けて他方から一方へメッセージを返すという往復通信が不要であることを意味する。この往復通信が必要であることは2passと呼ばれる。1ラウンドの認証機能付きの鍵共有方式を実現することにより、鍵共有装置10は、鍵共有の開始前に一時鍵を計算しておくことが可能である。そして、鍵共有を行う鍵共有装置10同士で、同時に一時鍵の交換を行うことが可能である。したがって、効率的に鍵共有を行うことが可能である。
 なお、文献“Fujioka, A., Suzuki, K., Xagawa, K., Yoneyama, K.: Strongly secure authenticated key exchange from factoring, codes, and lattices. Des. Codes Cryptography 76(3),469-504 (2015), a preliminary version appeared in PKC 2012 (2012)”に記載された方法で実現される認証機能付きの鍵共有方式は、往復通信が必要であり、1ラウンドの認証機能付きの鍵共有方式ではない。
 また、実施の形態1に係る鍵共有システム1で実現される認証機能付きの鍵共有方式は、単一の楕円曲線において実現される方式である。そのため、上記文献に記載された鍵共有方式に比べ、通信するデータサイズを小さくすることができる。つまり、効率的な鍵共有方式を実現することができる。
 また、実施の形態1に係る鍵共有システム1は、2つの分類の静的鍵を用意しておき、開始側か応答側かによって静的鍵を選択する。そのため、実施の形態1に係る鍵共有システム1で実現される認証機能付きの鍵共有方式は、認証システムを攻撃する方法である反射攻撃に対する耐性がある。反射攻撃については、文献“Tanenbaum, A.S.: Computer Networks. Pearson (2002)”に記載がある。
 また、実施の形態1に係る鍵共有システム1で実現される認証機能付きの鍵共有方式は、量子計算機に対して安全性を担保できるだけでなく、量子ランダムオラクルモデルにおける安全性についても証明可能である。
 ***他の構成***
 <変形例1>
 実施の形態1では、非対称性を持つ鍵共有方式として、SIDH鍵共有方式を例として説明した。しかし、SIDH鍵共有方式に限らず、他の鍵共有方式に対して2つの静的鍵を用意しておき、鍵共有の相手側と異なる静的鍵を用いるようにするという技術を適用して、その鍵共有方式を認証機能付きの鍵共有方式に変換することも可能である。適用対象の鍵共有方式が耐量子性を持つ方式であれば、変換して得られた認証機能付きの鍵共有方式も耐量子性を持つ方式である可能性がある。
 <変形例2>
 実施の形態1では、各機能構成要素がソフトウェアで実現された。しかし、変形例2として、各機能構成要素はハードウェアで実現されてもよい。この変形例2について、実施の形態1と異なる点を説明する。
 図10を参照して、変形例2に係る鍵共有装置10の構成を説明する。
 各機能構成要素がハードウェアで実現される場合には、鍵共有装置10は、プロセッサ11とメモリ12とストレージ13とに代えて、電子回路15を備える。電子回路15は、各機能構成要素と、メモリ12と、ストレージ13との機能とを実現する専用の回路である。
 電子回路15としては、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)が想定される。
 各機能構成要素を1つの電子回路15で実現してもよいし、各機能構成要素を複数の電子回路15に分散させて実現してもよい。
 <変形例3>
 変形例3として、一部の各機能構成要素がハードウェアで実現され、他の各機能構成要素がソフトウェアで実現されてもよい。
 プロセッサ11とメモリ12とストレージ13と電子回路15とを処理回路という。つまり、各機能構成要素の機能は、処理回路により実現される。
 10 鍵共有装置、11 プロセッサ、12 メモリ、13 ストレージ、14 通信インタフェース、15 電子回路、21 受信部、22 鍵選択部、23 鍵生成部、24 送信部、25 静的鍵生成部、26 一時鍵生成部、27 共有鍵生成部、30 伝送路。

Claims (9)

  1.  2つの静的鍵から1つの静的鍵を選択する鍵選択部と、
     前記鍵選択部によって選択された静的鍵を用いて、相手側と共有する共有鍵を生成する鍵生成部と
    を備える鍵共有装置。
  2.  前記鍵選択部は、分類の異なる2つの静的鍵のうち、前記相手側によって選択される静的鍵と異なる分類の静的鍵を選択する
    請求項1に記載の鍵共有装置。
  3.  前記鍵選択部は、鍵の共有を開始する開始側か否かに応じて、静的鍵を選択する
    請求項2に記載の鍵共有装置。
  4.  前記鍵生成部は、
     前記鍵選択部によって選択された静的鍵と同じ分類の一時鍵を生成する一時鍵生成部と、
     前記鍵選択部によって選択された静的鍵と、前記相手側によって生成された一時鍵とを用いて、前記共有鍵を生成する共有鍵生成部と
    を備える請求項3に記載の鍵共有装置。
  5.  前記2つの静的鍵は、数1に示す公開鍵A及び秘密鍵aの組と、公開鍵A及び秘密鍵aの組とであり、
     前記一時鍵生成部は、数2に示す一時鍵Xを生成する
    請求項4に記載の鍵共有装置。
    Figure JPOXMLDOC01-appb-M000001
    Figure JPOXMLDOC01-appb-M000002
  6.  前記共有鍵生成部は、数3に示す一時鍵Yを用いて、数4に示す値Zと値Zと値Zと値Zとに基づき共有鍵を生成する
    請求項5に記載の鍵共有装置。
    Figure JPOXMLDOC01-appb-M000003
    Figure JPOXMLDOC01-appb-M000004
  7.  コンピュータが、2つの静的鍵から1つの静的鍵を選択し、
     コンピュータが、選択された静的鍵を用いて、相手側と共有する共有鍵を生成する鍵共有方法。
  8.  2つの静的鍵から1つの静的鍵を選択する鍵選択処理と、
     前記鍵選択処理によって選択された静的鍵を用いて、相手側と共有する共有鍵を生成する鍵生成処理と
    をコンピュータに実行させる鍵共有プログラム。
  9.  2つの鍵共有装置間で共有鍵を共有する鍵共有システムであり、
     一方の鍵共有装置は、2つの分類の静的鍵から選択された一方の分類の静的鍵を用いて、共有鍵を生成し、
     他方の鍵共有装置は、前記2つの分類の静的鍵から選択された他方の分類の静的鍵を用いて、共有鍵を生成する鍵共有システム。
PCT/JP2018/021370 2017-10-19 2018-06-04 鍵共有装置、鍵共有方法、鍵共有プログラム及び鍵共有システム WO2019077796A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/642,782 US11171778B2 (en) 2017-10-19 2018-06-04 Key sharing device, key sharing method, and computer readable medium
CN201880066637.7A CN111373692B (zh) 2017-10-19 2018-06-04 密钥共享装置、密钥共享方法和计算机能读取的存储介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017202581A JP6818220B2 (ja) 2017-10-19 2017-10-19 鍵共有装置、鍵共有方法及び鍵共有プログラム
JP2017-202581 2017-10-19

Publications (1)

Publication Number Publication Date
WO2019077796A1 true WO2019077796A1 (ja) 2019-04-25

Family

ID=66173243

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2018/021370 WO2019077796A1 (ja) 2017-10-19 2018-06-04 鍵共有装置、鍵共有方法、鍵共有プログラム及び鍵共有システム

Country Status (4)

Country Link
US (1) US11171778B2 (ja)
JP (1) JP6818220B2 (ja)
CN (1) CN111373692B (ja)
WO (1) WO2019077796A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023228408A1 (ja) * 2022-05-27 2023-11-30 三菱電機株式会社 パラメータ生成システム、パラメータ生成方法、及びパラメータ生成プログラム

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11496447B1 (en) * 2021-04-16 2022-11-08 Umm AI-Qura University Cryptosystem and method with efficient elliptic curve operators for an extraction of EiSi coordinate system

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015126485A (ja) * 2013-12-27 2015-07-06 富士通株式会社 データ通信方法、およびデータ通信装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7353395B2 (en) * 2002-03-21 2008-04-01 Ntt Docomo Inc. Authenticated ID-based cryptosystem with no key escrow
CN1455543A (zh) * 2003-05-30 2003-11-12 武汉理工大学 一种密钥的协定方法
US7630736B2 (en) * 2005-10-11 2009-12-08 Mobitrum Corporation Method and system for spatial data input, manipulation and distribution via an adaptive wireless transceiver
US20080263363A1 (en) * 2007-01-22 2008-10-23 Spyrus, Inc. Portable Data Encryption Device with Configurable Security Functionality and Method for File Encryption
US8639931B2 (en) * 2008-12-16 2014-01-28 Certicom Corp. Acceleration of key agreement protocols
US8301883B2 (en) * 2009-08-28 2012-10-30 Alcatel Lucent Secure key management in conferencing system
US8850203B2 (en) * 2009-08-28 2014-09-30 Alcatel Lucent Secure key management in multimedia communication system
CN101702804B (zh) * 2009-11-23 2012-03-28 西安电子科技大学 基于自认证公钥的两方密钥协商方法
JP6000188B2 (ja) * 2013-05-16 2016-09-28 日本電信電話株式会社 鍵交換装置、鍵交換システム、鍵交換方法、およびプログラム
US9100175B2 (en) * 2013-11-19 2015-08-04 M2M And Iot Technologies, Llc Embedded universal integrated circuit card supporting two-factor authentication
US9350550B2 (en) * 2013-09-10 2016-05-24 M2M And Iot Technologies, Llc Power management and security for wireless modules in “machine-to-machine” communications
EP3860041B1 (en) * 2014-06-18 2023-03-15 Visa International Service Association Efficient methods for authenticated communication
JP6320943B2 (ja) * 2015-01-19 2018-05-09 日本電信電話株式会社 鍵共有装置、鍵共有システム、鍵共有方法、プログラム
US10461933B2 (en) * 2015-01-27 2019-10-29 Visa International Service Association Methods for secure credential provisioning
US10516543B2 (en) * 2017-05-08 2019-12-24 Amazon Technologies, Inc. Communication protocol using implicit certificates

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015126485A (ja) * 2013-12-27 2015-07-06 富士通株式会社 データ通信方法、およびデータ通信装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
FUJIOKA, ATSUSHI ET AL.: "SIDH Authentication Key Sharing. 2018 Symposium on Cryptography and Information Security", SCIS 2018, vol. 2B4-2, 23 January 2018 (2018-01-23), pages 1 - 8 *
LEGROW, JASON: "Thesis", POST-QUANTUM SECURITY OF AUTHENTICATED KEY ESTABLISHMENT PROTOCOLS, 20 April 2016 (2016-04-20), Waterloo, Ontario, Canada, pages 70 - 75, XP055598205 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023228408A1 (ja) * 2022-05-27 2023-11-30 三菱電機株式会社 パラメータ生成システム、パラメータ生成方法、及びパラメータ生成プログラム

Also Published As

Publication number Publication date
US11171778B2 (en) 2021-11-09
CN111373692B (zh) 2023-03-24
CN111373692A (zh) 2020-07-03
US20210083854A1 (en) 2021-03-18
JP6818220B2 (ja) 2021-01-20
JP2019075757A (ja) 2019-05-16

Similar Documents

Publication Publication Date Title
CN111066285B (zh) 基于sm2签名恢复公钥的方法
EP3940988B1 (en) Multi-party threshold authenticated encryption
WO2017202161A1 (zh) 基于无证书两方认证密钥协商方法、装置和存储介质
US9876636B2 (en) Homomorphic public-key encryption scheme
JP2020508021A (ja) キー交換デバイス及び方法
US11979492B2 (en) Computer-implemented system and method for distributing shares of digitally signed data
US8341401B1 (en) Interoperable cryptographic peer and server identities
US20180091301A1 (en) Method and system for switching public keys in ciphertexts
WO2022120699A1 (zh) 单向代理重加密方法、装置、电子设备及系统
WO2018047698A1 (ja) 暗号化メッセージ検索方法、メッセージ送受信システム、サーバ、端末、プログラム
JP6818220B2 (ja) 鍵共有装置、鍵共有方法及び鍵共有プログラム
US20230027010A1 (en) Secret code verification protocol
CN114050897B (zh) 一种基于sm9的异步密钥协商方法及装置
JP5314449B2 (ja) 電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム
JP6320943B2 (ja) 鍵共有装置、鍵共有システム、鍵共有方法、プログラム
TWI701931B (zh) 具分級機制的數位簽章方法及適用該方法的硬體錢包裝置
CN112348674A (zh) 一种区块链的交易数据存储与获取方法及装置
CN110572788A (zh) 基于非对称密钥池和隐式证书的无线传感器通信方法和系统
CN115426331B (zh) 邮件传输方法、装置、计算机设备和存储介质
US11811741B2 (en) Information processing system and information processing method
CN113297608B (zh) 基于商用密码的身份匿名可搜索加密方法、装置及设备
TWI734087B (zh) 基於同態加密的簽章系統及其方法
US20240073010A1 (en) Systems and methods for providing dynamic quantum cloud security through entangled particle distribution
JP5427156B2 (ja) 鍵交換装置、鍵交換システム、鍵交換方法、鍵交換プログラム
TW201611562A (zh) 密碼鍵產生之方法及裝置

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: 18868651

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18868651

Country of ref document: EP

Kind code of ref document: A1