JP2015070498A - Key exchange system, key exchange device, key exchange method and program - Google Patents

Key exchange system, key exchange device, key exchange method and program Download PDF

Info

Publication number
JP2015070498A
JP2015070498A JP2013204195A JP2013204195A JP2015070498A JP 2015070498 A JP2015070498 A JP 2015070498A JP 2013204195 A JP2013204195 A JP 2013204195A JP 2013204195 A JP2013204195 A JP 2013204195A JP 2015070498 A JP2015070498 A JP 2015070498A
Authority
JP
Japan
Prior art keywords
key
ciphertext
generation
secret
public
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.)
Granted
Application number
JP2013204195A
Other languages
Japanese (ja)
Other versions
JP5945525B2 (en
Inventor
一樹 米山
Kazuki Yoneyama
一樹 米山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2013204195A priority Critical patent/JP5945525B2/en
Publication of JP2015070498A publication Critical patent/JP2015070498A/en
Application granted granted Critical
Publication of JP5945525B2 publication Critical patent/JP5945525B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a key exchange system in which a safety system is used without performing on-line calculation in a tamper-resistant module.SOLUTION: Out of two key generation algorithms used when a common key is shared between a first key exchange device and a second key exchange device, one common key generation parameter is generated instead of a key encapsulation mechanism capable of generating a public key independent cipher text. Moreover, a common key generation parameter is generated using information depending only on mutual long-term secret key and long-term public key.

Description

本発明は、情報セキュリティ技術の応用技術に関し、特に、二者間で共通の共通鍵を共有する鍵交換方式に関する。   The present invention relates to an application technology of information security technology, and more particularly, to a key exchange method for sharing a common key between two parties.

二者間で共通のセッション鍵を共有する鍵交換方式として、鍵カプセル化メカニズムに基づく鍵交換方式のFSXY方式が知られている(非特許文献1参照)。   As a key exchange method for sharing a common session key between two parties, a FSXY method of a key exchange method based on a key encapsulation mechanism is known (see Non-Patent Document 1).

以下、図1を用いて従来技術の概要を説明する。
[定義]
κをセキュリティパラメータとする。
The outline of the prior art will be described below with reference to FIG.
[Definition]
Let κ be a security parameter.

F={Fκ:Domκ×FSκ→Rngκ}κを定義域{Domκ}κ、鍵空間{FSκ}κ、値域{Rngκ}κを持つ関数族とする。このとき、もし多項式時間の識別者Dに対して、関数族Fκと真性ランダム関数RFκ:Domκ→Rngκが見分けられなければ、F={Fκ}κを疑似ランダム関数と呼ぶ。 Let F = {F κ : Dom κ × FS κ → Rng κ } κ be a function family having domain {Dom κ } κ , key space {FS κ } κ , and range {Rng κ } κ . At this time, if the function family F κ and the intrinsic random function RF κ : Dom κ → Rng κ cannot be distinguished from the polynomial time discriminator D, F = {F κ } κ is called a pseudo-random function.

Ext:S×X→Yを有限シード空間S、有限定義域X、有限値域Yを持つ関数とする。このとき、もしH(DX)≧kとなるX上の任意分布DXに対して、Δ((US,Ext(US,DX)),(US,UY))≦neglが成り立つならば、Extを強ランダム抽出器と呼ぶ。ただし、kは予め定められた所定の値であり、例えば、k=κとする。Hは最小エントロピーを表す。また、Δ(X,Y)は確率変数XとYの統計的距離を表す。統計的距離の詳細については非特許文献2を参照されたい。US,UX,UYはそれぞれS,X,Y上の一様分布を表し、|X|=n≧k、|Y|=k、|S|=dとする。neglは漸近的に無視できる程度に十分に小さな値である。|・|は集合・の長さ(言い換えると、集合・に含まれる元を表す際に必要となる情報量、例えば、対応するビット長)を表す。dは強ランダム抽出器Extに対して求められる安全性等により定まる所定の値である。 Let Ext: S × X → Y be a function having a finite seed space S, a finite domain X, and a finite range Y. For this case, if H (D X) any distribution D X on ≧ k become X, Δ ((U S, Ext (U S, D X)), (U S, U Y)) ≦ If negl holds, call Ext a strong random extractor. However, k is a predetermined value determined in advance, for example, k = κ. H∞ represents the minimum entropy. Δ (X, Y) represents the statistical distance between the random variables X and Y. Refer to Non-Patent Document 2 for details of the statistical distance. U S , U X , and U Y represent uniform distributions on S, X, and Y, and | X | = n ≧ k, | Y | = k, and | S | = d. negl is small enough to be asymptotically ignored. | · | Represents the length of the set (in other words, the amount of information necessary for representing the elements included in the set, for example, the corresponding bit length). d is a predetermined value determined by the safety required for the strong random extractor Ext.

(KeyGen,EnCap,DeCap)を選択暗号文攻撃に対して識別不可能な鍵カプセル化メカニズム(「key encapsulation mechanism」、以下「KEM」ともいう)とする。KEMは、共通鍵暗号方式で用いる共通鍵を公開鍵暗号方式で暗号化し、二者間で鍵共有を行うためのメカニズムである。KEMについての詳細は非特許文献2を参照されたい。(wKeyGen,wEnCap,wDeCap)を選択平文攻撃に対して識別不可能な(「indistinguishable against chosen plaintext attacks 」、以下「IND-CPA」ともいう)KEMとする。なお、選択暗号文攻撃に対して識別不可能な(「indistinguishable against chosen ciphertext attacks 」、以下「IND-CCA」ともいう)KEMをIND-CCA secure KEMともいい、選択平文攻撃に対して識別不可能な(「indistinguishable against chosen plaintext attacks 」、以下「IND-CPA」ともいう)KEMをIND-CPA secure KEMともいう。   (KeyGen, EnCap, DeCap) is a key encapsulation mechanism (“key encapsulation mechanism”, hereinafter also referred to as “KEM”) that cannot be identified against a selected ciphertext attack. KEM is a mechanism for encrypting a common key used in a common key cryptosystem with a public key cryptosystem and sharing the key between the two parties. See Non-Patent Document 2 for details on KEM. (WKeyGen, wEnCap, wDeCap) is a KEM that cannot be identified against a selected plaintext attack (“indistinguishable against chosen plaintext attacks”, hereinafter also referred to as “IND-CPA”). In addition, KEM that is indistinguishable against selected ciphertext attacks ("indistinguishable against chosen ciphertext attacks", hereinafter also referred to as "IND-CCA") is also called IND-CCA secure KEM, and cannot be identified against selected plaintext attacks. Kana (“indistinguishable against chosen plaintext attacks”, hereinafter also referred to as “IND-CPA”) is also referred to as IND-CPA secure KEM.

鍵生成アルゴリズムKeyGen及びwKeyGenは、セキュリティパラメータκとrg∈RSG(RSGは鍵生成の乱数空間)とを入力とし、公開鍵ekと秘密鍵dkとを出力する。 The key generation algorithms KeyGen and wKeyGen have a security parameter κ and r g ∈RS G (RS G is a random number space for key generation) as inputs, and output a public key ek and a secret key dk.

鍵カプセル化アルゴリズムEnCap及びwEnCapは、公開鍵ekとre∈RSE(RSEは鍵カプセル化の乱数空間)を入力とし、KEM鍵K∈KS(KSはKEM鍵空間)と暗号文CT∈CS(CSは暗号文空間)を出力する。 Key encapsulation algorithm EnCap and wEnCap the public key ek and r e ∈RS E (RS E random number space key encapsulation) as input, KEM key K∈KS (KS is KEM key space) ciphertext CT∈ CS (CS is the ciphertext space) is output.

復号アルゴリズムDeCap及びwDeCapは秘密鍵dkと暗号文CT∈CSとを入力とし、KEM鍵K∈KSを出力する。   The decryption algorithms DeCap and wDeCap receive the secret key dk and the ciphertext CTεCS, and output the KEM key KεKS.

[共通公開パラメータ]
F:{0,1}*×FS→RSE、F':{0,1}*×FS→RSE、G:{0,1}*×FS→{0,1}κをそれぞれ疑似ランダム関数とする。ただし、FSは疑似ランダム関数の鍵空間(|FS|=κ)、RSEは鍵カプセル化アルゴリズムの乱数空間、RSGは鍵生成アルゴリズムの乱数空間とする。Ext:SS×KS→FSをランダムに選んだシードs∈SSを用いる強ランダム抽出器とする。ただし、SSをシード空間、KSをKEM鍵の空間とする。
疑似ランダム関数F、F'及びG、強ランダム抽出器Ext、並びに、シードsを共通公開パラメータとする(図1参照)。
[Public parameters]
F: {0,1} * × FS → RS E , F ': {0,1} * × FS → RS E , G: {0,1} * × FS → {0,1} κ Let it be a function. However, FS is the key space of the pseudo-random function (| FS | = κ), RS E random number space key encapsulation algorithms, RS G is a random number space key generation algorithm. Let Ext: SS × KS → FS be a random random extractor using a seed s∈SS chosen at random. However, SS is the seed space and KS is the KEM key space.
The pseudo-random functions F, F ′ and G, the strong random extractor Ext, and the seed s are set as common public parameters (see FIG. 1).

[長期公開鍵と長期秘密鍵]
ユーザUIはランダムにσI∈FSとrI∈RSGを選び、鍵生成アルゴリズムより(ekI,dkI)←KeyGen(1κ,rI)を得る。UIの長期秘密鍵と長期公開鍵を((dkII),ekI)とする。
[Long-term public key and long-term secret key]
The user U I randomly selects σ I ∈FS and r I ∈RS G, and obtains (ek I , dk I ) ← KeyGen (1 κ , r I ) from the key generation algorithm. Let U I 's long-term private key and long-term public key be ((dk I , σ I ), ek I ).

[鍵交換]
ユーザUAは長期秘密鍵と長期公開鍵((dkAA),ekA)を持ち、ユーザUBは長期秘密鍵と長期公開鍵((dkBB),ekB)を持つ。
[Key exchange]
User U A has a long-term secret key and a long-term public key ((dk A , σ A ), ek A ), and user U B has a long-term secret key and a long-term public key ((dk B , σ B ), ek B ) Have.

1.
ユーザUAはランダムにアドホック秘密鍵rA,r'A∈FSとrTA∈RSGを選び、暗号文CTAとKEM鍵KAとを次式により求める。

Figure 2015070498
1.
The user U A randomly selects an ad hoc secret key r A , r ′ A ∈FS and r TA ∈RS G, and obtains the ciphertext CT A and the KEM key K A by the following expression.
Figure 2015070498

さらに、セキュリティパラメータκとアドホック秘密鍵rTAを入力として、公開鍵ekTと秘密鍵dkTとを次式により計算する。
(ekT,dkT)←wKeyGen(1κ,rTA)
Further, with the security parameter κ and the ad hoc secret key r TA as inputs, the public key ek T and the secret key dk T are calculated by the following equations.
(ek T , dk T ) ← wKeyGen (1 κ , r TA )

ユーザUAは求めた(UA,UB,CTA,ekT)をユーザUBに送信する。ただし、

Figure 2015070498
は、排他的論理和を表す。なお、UIはユーザの識別子であり、ユーザの名前やメールアドレス、鍵交換方式のために用意した文字を含む記号列等の識別子、ユーザの操作する端末の識別子であってもよい。要は、ユーザを特定するための識別子であれば、どのようなものでもよく、利用方法に応じて適宜設定すればよい。 The user U A transmits the obtained (U A , U B , CT A , ek T ) to the user U B. However,
Figure 2015070498
Represents an exclusive OR. Incidentally, U I is the identifier of the user, the user's name or email address, an identifier of the symbol string or the like including a character prepared for key exchange method, or may be an identifier of the terminal operated by the user. In short, any identifier may be used as long as it is an identifier for identifying the user, and it may be set appropriately according to the method of use.

2.
(UA,UB,CTA,ekT)を受け取ったら、ユーザUBはランダムにアドホック秘密鍵rB,r'B∈FSとrTB∈RSEをと選ぶ。次に、アドホック秘密鍵rB,r'B、長期秘密鍵(dkBB)を用いて次式により暗号文CTBとKEM鍵KBとを計算する。

Figure 2015070498
2.
When the (U A, U B, CT A, ek T) received a, a user U B is random in ad hoc secret key r B, select and the r 'B ∈FS and r TB ∈RS E. Next, ciphertext CT B and KEM key K B are calculated by the following equations using ad hoc secret key r B , r ′ B and long-term secret key (dk B , σ B ).
Figure 2015070498

さらに、ユーザUBは、アドホック秘密鍵rB,r'B、長期秘密鍵(dkBB)を用いて次式により暗号文CTBとKEM鍵KBとを計算する。

Figure 2015070498
Further, the user U B calculates the ciphertext CT B and the KEM key K B by the following equations using the ad hoc secret key r B , r ′ B and the long-term secret key (dk B , σ B ).
Figure 2015070498

ユーザUBは、(UA,UB,CTB,CTT)をユーザUAに送信する。さらに、UBは、

Figure 2015070498
を計算し、セッション識別子ST=(UA,UB,ekA,ekB,CTA,ekT,CTB,CTT)を用いて、セッション鍵
Figure 2015070498
を導出する。セッション鍵SKの生成に係るセッションを終了し、その際の全てのセッション情報を削除する。 The user U B transmits (U A , U B , CT B , CT T ) to the user U A. In addition, U B
Figure 2015070498
And the session identifier ST = (U A , U B , ek A , ek B , CT A , ek T , CT B , CT T )
Figure 2015070498
Is derived. The session related to the generation of the session key SK is terminated, and all session information at that time is deleted.

3.
ユーザUAは、(UA,UB,CTB,CTT)を受け取ったら、

Figure 2015070498
を計算し、セッション識別子ST=(UA,UB,ekA,ekB,CTA,ekT,CTB,CTT)を用いて、セッション鍵
Figure 2015070498
を導出する。セッション鍵SKの生成に係るセッションを終了し、その際の全てのセッション情報を削除する。 3.
When user U A receives (U A , U B , CT B , CT T ),
Figure 2015070498
And the session identifier ST = (U A , U B , ek A , ek B , CT A , ek T , CT B , CT T )
Figure 2015070498
Is derived. The session related to the generation of the session key SK is terminated, and all session information at that time is deleted.

ユーザUA及びUBは、セッション鍵SKを用いて、データ暗号化し、安全に通信することができる。 Users U A and U B can encrypt data using session key SK and communicate securely.

Fujioka, A., Suzuki, K., Xagawa, K., Yoneyama, K., "Strongly Secure Authenticated Key Exchange from Factoring, Codes, and Lattices", In:Public Key Cryptography 2012, 2012, pp.467-484.Fujioka, A., Suzuki, K., Xagawa, K., Yoneyama, K., "Strongly Secure Authenticated Key Exchange from Factoring, Codes, and Lattices", In: Public Key Cryptography 2012, 2012, pp.467-484. D. Moriyama, R. Nishimaki, and T. Okamoto. “公開鍵暗号の数理” 共立出版, 2011.D. Moriyama, R. Nishimaki, and T. Okamoto. “Mathematics of public key cryptography” Kyoritsu Shuppan, 2011.

非特許文献1の従来技術には、セッションにおけるオンライン計算の一部を耐タンパモジュールの内部で行わなくてはならないという問題点がある。以下、具体的に問題点を述べる。   The conventional technology of Non-Patent Document 1 has a problem that part of online calculation in a session must be performed inside the tamper resistant module. Specific problems will be described below.

非特許文献1の従来技術は、各秘密情報の漏洩に強い。例えば、ユーザUAとUBのアドホック秘密鍵rA,r'A,rTA,rB,r'B,rTBが漏洩しても、長期秘密鍵(dkAA),(dkBB)が同時に漏洩しない限り、

Figure 2015070498
の値が分からないため、セッション鍵SKの値に関する情報は一切漏れないことが証明できる。よって、アドホック秘密鍵rA,r'A,rTA,rB,r'B,rTBの生成を耐タンパモジュール(例:SIMカード)内ではなく、ホストマシン(例:スマートフォン)のメモリ上で行っても安全性が保証される。しかし、全ての計算をホストマシンで行うことはできない。ユーザUAは、
Figure 2015070498
を、ユーザUBは、
Figure 2015070498
を途中で計算する必要がある。もしこれらの値が漏洩した場合、この方式は安全ではない。よって、実装する場合にはこれらの値は耐タンパモジュール内で計算されなければならない。 The prior art of Non-Patent Document 1 is strong against leakage of each secret information. For example, even if the ad hoc secret keys r A , r ′ A , r TA , r B , r ′ B , r TB of the users U A and U B are leaked, the long-term secret keys (dk A , σ A ), (dk B, σ B) as long as that does not leak at the same time,
Figure 2015070498
Since the value of is not known, it can be proved that no information on the value of the session key SK is leaked. Therefore, the generation of the ad hoc secret keys r A , r ′ A , r TA , r B , r ′ B , r TB is not performed in the tamper-resistant module (eg, SIM card) but on the memory of the host machine (eg, smartphone) Safety is guaranteed even if you go there. However, not all calculations can be performed on the host machine. User U A
Figure 2015070498
User U B
Figure 2015070498
Need to be calculated on the way. If these values are leaked, this method is not secure. Thus, when implemented, these values must be calculated within the tamper resistant module.

しかし、一般に耐タンパモジュールは高コストなため、内蔵される計算資源が乏しく、頻繁にオンライン計算を行う環境では実行のボトルネックとなってしまう。よって、耐タンパモジュール内でオンライン計算を行うこと無く安全な方式が望ましい。   However, tamper-resistant modules are generally expensive, so that there are few built-in computing resources, which becomes an execution bottleneck in an environment where frequent online calculations are performed. Therefore, it is desirable to have a safe method without performing online calculation in the tamper resistant module.

本発明は、耐タンパモジュール内でオンライン計算を行うこと無く安全な方式を用いる鍵交換システム、鍵交換装置、その方法、及びそのプログラムを提供することを目的とする。   An object of the present invention is to provide a key exchange system, a key exchange apparatus, a method thereof, and a program thereof that use a secure method without performing online calculation in a tamper resistant module.

上記の課題を解決するために、本発明の第一の態様によれば、鍵交換システムは、第一鍵交換装置と第二鍵交換装置とを含み、第一鍵交換装置と第二鍵交換装置との間で共通の共通鍵を共有する。秘密鍵dkAは鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、秘密鍵dkSAは、暗号文を公開鍵の情報無しで生成できる公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、第一暗号文生成秘密鍵rSAは暗号文生成の乱数空間RSEからランダムに選択され、第一暗号文CTSAは公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより第一暗号文生成秘密鍵rSAが暗号化されて生成されるものであり、秘密鍵dkAと秘密鍵dkSAと第一暗号文生成秘密鍵rSAとを含む第一長期秘密鍵SSKAが、第一鍵交換装置以外の鍵交換装置に対して秘密にされ、秘密鍵dkAに対応する公開鍵ekAと秘密鍵dkSAに対応する公開鍵ekSAと第一暗号文CTSAとを含む第一長期公開鍵SPKAとが、第二鍵交換装置に対してアクセス可能にされるものとし、秘密鍵dkBは鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、秘密鍵dkSBは公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、第二暗号文生成秘密鍵rSBは暗号文生成の乱数空間RSEからランダムに選択され、第二暗号文CTSBは公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより第二暗号文生成秘密鍵rSBが暗号化されて生成されるものであり、秘密鍵dkBと秘密鍵dkSBと第二暗号文生成秘密鍵rSBとを含む第二長期秘密鍵SSKBを秘密にされ、秘密鍵dkBに対応する公開鍵ekBと秘密鍵dkSBに対応する公開鍵ekSBと第二暗号文CTSBとを含む第二長期公開鍵SPKBを第一鍵交換装置に対してアクセス可能にされるものとする。第一鍵交換装置は、暗号文生成の乱数空間RSEからランダムに第一暗号文生成アドホック秘密鍵rAを選択し、鍵生成の乱数空間RSGからランダムに第一鍵生成アドホック秘密鍵rTAを選択する第一秘密鍵選択部と、第二鍵交換装置にアクセス可能に記憶される第二長期公開鍵SPKBに含まれる公開鍵ekBを用いて、鍵カプセル化メカニズムの鍵カプセル化アルゴリズムにより、第一暗号文生成アドホック秘密鍵rAを暗号化し、第一暗号文CTAと第一鍵KAとの組を生成する第一暗号化部と、公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより、第一鍵生成アドホック秘密鍵rTAを用いて、公開鍵ekTと秘密鍵dkTとの組を生成する鍵生成部と、秘密鍵dkAを用いて、鍵カプセル化メカニズムの復号アルゴリズムにより、第二鍵交換装置から受信する第二暗号文CTBを復号し、第二鍵KBを求める第一復号部と、公開鍵独立暗号文生成可能鍵カプセル化メカニズムの復号アルゴリズムにより、秘密鍵dkTを用いて、第二鍵交換装置から受信する暗号文CTTを復号し、鍵KTを求める第二復号部と、秘密鍵dkSAを用いて、公開鍵独立暗号文生成可能鍵カプセル化メカニズムの復号アルゴリズムにより、第二暗号文生成秘密鍵rSBが暗号化されて生成される第二暗号文CTSBを復号し、鍵KSを求める第三復号部と、第一鍵KA、第二鍵KB、鍵KT及び鍵KSを用いて、共通鍵生成パラメータK'1、K'2、K'3及びK'4を求める第一パラメータ生成部と、疑似ランダム関数Gにより、セッション識別子と、共通鍵生成パラメータK'1、K'2、K'3及びK'4とを用いて共通鍵SKを生成する第一共通鍵生成部とを含む。第二鍵交換装置は、暗号文生成の乱数空間RSEからランダムに第二暗号文生成アドホック秘密鍵rBを選択し、暗号文生成の乱数空間RSEからランダムに第二鍵生成アドホック秘密鍵rTBを選択する第二秘密鍵選択部と、公開鍵ekAを用いて、鍵カプセル化メカニズムの鍵カプセル化アルゴリズムにより、第二暗号文生成アドホック秘密鍵rBを暗号化し、第二暗号文CTBと第二鍵KBとの組を生成する第二暗号化部と、公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより、第二鍵生成アドホック秘密鍵rTBを暗号化し、暗号文CTTを生成する第三暗号化部と、秘密鍵dkBを用いて、鍵カプセル化メカニズムの復号アルゴリズムにより、第一暗号文CTAを復号し、第一鍵KAを求める第四復号部と、公開鍵独立暗号文生成可能鍵カプセル化メカニズムのKEM鍵生成アルゴリズムにより、公開鍵ekTを用いて、暗号文CTT及び第二鍵生成アドホック秘密鍵rTBを暗号化し、鍵KTを生成する第四暗号化部と、公開鍵独立暗号文生成可能鍵カプセル化メカニズムのKEM鍵生成アルゴリズムにより、公開鍵ekSAを用いて、第二暗号文CTSB及び第二暗号文生成秘密鍵rSBを暗号化し、鍵KSを生成する第五暗号化部と、第一鍵KA、第二鍵KB、鍵KT及び鍵KSを用いて、共通鍵生成パラメータK'1、K'2、K'3及びK'4を求める第二パラメータ生成部と、疑似ランダム関数Gにより、セッション識別子と、共通鍵生成パラメータK'1、K'2、K'3及びK'4とを用いて共通鍵SKを生成する第二共通鍵生成部とを含む。 In order to solve the above problems, according to a first aspect of the present invention, a key exchange system includes a first key exchange device and a second key exchange device, and the first key exchange device and the second key exchange. Share a common key with the device. The secret key dk A is generated by the key generation algorithm of the key encapsulation mechanism, and the secret key dk SA is generated by the key generation algorithm of the public key independent ciphertext generation key encapsulation mechanism that can generate ciphertext without public key information. is generated, the first ciphertext generating private key r SA is selected randomly from the random number space RS E ciphertext generating a first ciphertext CT SA public key independent ciphertext ciphertext generation algorithm can generate the key encapsulation mechanism the are those first ciphertext generating private key r SA is generated encrypted first long secret key SSK containing a secret key dk a and secret key dk SA and the first ciphertext generating private key r SA A is kept secret from a key exchange device other than the first key exchange device, and public key ek A corresponding to private key dk A , public key ek SA corresponding to private key dk SA , and first ciphertext CT SA a first long-term public key SPK a containing bets is the second key exchange unit And shall be made accessible, the private key dk B is generated by the key generation algorithm of the key encapsulation mechanism, generated by the key generation algorithm secret key dk SB public key independent ciphertext generating possible key encapsulation mechanism , the second ciphertext generating private key r SB are selected randomly from the random number space RS E ciphertext generation, first by the second ciphertext CT SB ciphertext generation algorithm of the public key independent ciphertext generating possible key encapsulation mechanism The second ciphertext generation secret key r SB is generated by being encrypted, and the second long-term secret key SSK B including the secret key dk B , the secret key dk SB, and the second ciphertext generation secret key r SB is is kept secret, the second long-term public key SPK B a first key exchange apparatus including a public key ek SB and the second ciphertext CT SB corresponding to the public key ek B and secret key dk SB corresponding to the private key dk B Shall be made accessible. The first key exchange apparatus selects the first ciphertext generating ad hoc private key r A randomly from the random number space RS E ciphertext generating a first key generating ad hoc private key randomly from the random number space RS G key generation r Key encapsulation of the key encapsulation mechanism using the first secret key selection unit for selecting TA and the public key ek B included in the second long-term public key SPK B stored so as to be accessible to the second key exchange device The first ciphertext generation ad hoc secret key r A is encrypted by an algorithm, and a first encryption section that generates a pair of the first ciphertext CT A and the first key K A and a public key independent ciphertext generation key Using the key generation algorithm of the encapsulation mechanism, using the first key generation ad hoc secret key r TA , the key generation unit that generates a pair of the public key ek T and the secret key dk T , and the secret key dk A , Second key exchange by decryption algorithm of key encapsulation mechanism Decrypts the second ciphertext CT B Receive placed al, a first decoding unit for obtaining a second key K B, the decryption algorithm of the public key independent ciphertext generating possible key encapsulation mechanism, by using the secret key dk T decrypts the ciphertext CT T received from the second key exchange unit, a second decoding unit for obtaining the key K T, using the secret key dk SA, a public key independent ciphertext generating possible key decryption algorithm encapsulation mechanism To decrypt the second ciphertext CT SB generated by encrypting the second ciphertext generation secret key r SB and obtain the key K S , the first key K A , the second key K B , the first parameter generation unit for determining the common key generation parameters K ′ 1 , K ′ 2 , K ′ 3 and K ′ 4 using the key K T and the key K S , and the session identifier and the pseudo random function G , including a first common key generation unit for generating a common key SK by using the common key generation parameter K '1, K' 2, K '3 and K' 4 . Second key exchange apparatus selects the second ciphertext generating ad hoc private key r B at random from the random number space RS E ciphertext generating second key generating ad hoc private key randomly from the random number space RS E ciphertext generation a second secret key selecting unit that selects a r TB, using the public key ek a, the key encapsulation algorithm key encapsulation mechanism, a second ciphertext generating ad hoc private key r B encrypts the second ciphertext the CT B and a second key K B and the second and the encryption unit, the ciphertext generation algorithm of the public key independent ciphertext generating possible key encapsulation mechanism to generate a set of second key generating ad hoc private key r TB encryption The first ciphertext CT A is decrypted by the decryption algorithm of the key encapsulation mechanism using the third encryption unit that generates the ciphertext CT T and the secret key dk B , and the first key K A is obtained. Fourth decryption unit and public key independent ciphertext generation key key The KEM key generation algorithm of the cell mechanisms, using the public key ek T, encrypts the ciphertext CT T and the second key generating ad hoc private key r TB, and a fourth encryption unit for generating a key K T, published Key K S is generated by encrypting the second ciphertext CT SB and the second ciphertext generation secret key r SB using the public key ek SA , using the KEM key generation algorithm of the key-encrypted ciphertext generation key encapsulation mechanism. Common key generation parameters K ′ 1 , K ′ 2 , K ′ 3 and K ′ 4 using the fifth encryption unit and the first key K A , the second key K B , the key K T and the key K S. A second parameter generation unit that calculates the common key SK using the session identifier and the common key generation parameters K ′ 1 , K ′ 2 , K ′ 3, and K ′ 4 by the pseudo random function G A common key generation unit.

上記の課題を解決するために、本発明の他の態様によれば、鍵交換装置は、他の装置との間で共通の共通鍵を共有する。鍵交換装置は、秘密鍵dkAは鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、秘密鍵dkSAは、暗号文を公開鍵の情報無しで生成できる公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、第一暗号文生成秘密鍵rSAは暗号文生成の乱数空間RSEからランダムに選択され、第一暗号文CTSAは公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより第一暗号文生成秘密鍵rSAが暗号化されて生成されるものであり、秘密鍵dkAと秘密鍵dkSAと第一暗号文生成秘密鍵rSAとを含む第一長期秘密鍵SSKAが、鍵交換装置以外の鍵交換装置に対して秘密にされ、秘密鍵dkAに対応する公開鍵ekAと秘密鍵dkSAに対応する公開鍵ekSAと第一暗号文CTSAとを含む第一長期公開鍵SPKAとが、他の装置に対してアクセス可能にされるものとし、秘密鍵dkBは鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、秘密鍵dkSBは公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、第二暗号文生成秘密鍵rSBは暗号文生成の乱数空間RSEからランダムに選択され、第二暗号文CTSBは公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより第二暗号文生成秘密鍵rSBが暗号化されて生成されるものであり、秘密鍵dkBと秘密鍵dkSBと第二暗号文生成秘密鍵rSBとを含む第二長期秘密鍵SSKBを秘密にされ、秘密鍵dkBに対応する公開鍵ekBと秘密鍵dkSBに対応する公開鍵ekSBと第二暗号文CTSBとを含む第二長期公開鍵SPKBを鍵交換装置に対してアクセス可能にされるものとする。鍵交換装置は、暗号文生成の乱数空間RSEからランダムに第一暗号文生成アドホック秘密鍵rAを選択し、鍵生成の乱数空間RSGからランダムに第一鍵生成アドホック秘密鍵rTAを選択する第一秘密鍵選択部と、他の装置にアクセス可能に記憶される第二長期公開鍵SPKBに含まれる公開鍵ekBを用いて、鍵カプセル化メカニズムの鍵カプセル化アルゴリズムにより、第一暗号文生成アドホック秘密鍵rAを暗号化し、第一暗号文CTAと第一鍵KAとの組を生成する第一暗号化部と、公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより、第一鍵生成アドホック秘密鍵rTAを用いて、公開鍵ekTと秘密鍵dkTとの組を生成する鍵生成部と、秘密鍵dkAを用いて、鍵カプセル化メカニズムの復号アルゴリズムにより、他の装置から受信する第二暗号文CTBを復号し、第二鍵KBを求める第一復号部と、公開鍵独立暗号文生成可能鍵カプセル化メカニズムの復号アルゴリズムにより、秘密鍵dkTを用いて、他の装置から受信する暗号文CTTを復号し、鍵KTを求める第二復号部と、秘密鍵dkSAを用いて、公開鍵独立暗号文生成可能鍵カプセル化メカニズムの復号アルゴリズムにより、第二暗号文生成秘密鍵rSBが暗号化されて生成される第二暗号文CTSBを復号し、鍵KSを求める第三復号部と、第一鍵KA、第二鍵KB、鍵KT及び鍵KSを用いて、共通鍵生成パラメータK'1、K'2、K'3及びK'4を求める第一パラメータ生成部と、疑似ランダム関数Gにより、セッション識別子と、共通鍵生成パラメータK'1、K'2、K'3及びK'4とを用いて共通鍵SKを生成する第一共通鍵生成部とを含む。 In order to solve the above-described problem, according to another aspect of the present invention, a key exchange apparatus shares a common key with another apparatus. In the key exchange device, the secret key dk A is generated by the key generation algorithm of the key encapsulation mechanism, and the secret key dk SA is a public key independent ciphertext generation key encapsulation mechanism that can generate ciphertext without public key information. It is generated by the key generation algorithm, first ciphertext generating private key r SA is selected randomly from the random number space RS E ciphertext generating a first ciphertext CT SA public key independent ciphertext generating possible key encapsulation mechanism The first ciphertext generation secret key r SA is generated by encryption using the ciphertext generation algorithm of the first ciphertext generation secret key rSA including the secret key dk A , the secret key dk SA, and the first ciphertext generation secret key r SA . one long secret key SSK a is kept secret to the key exchange apparatus other than the key exchange device, the public key ek SA and the first cipher corresponding to the public key ek a and secret key dk SA corresponding to the private key dk a a first long-term public key SPK a containing a statement CT SA is other instrumentation It shall be made accessible to, generated by the key generation algorithm secret key dk B is a key encapsulation mechanism, generated by the key generation algorithm secret key dk SB public key independent ciphertext generating possible key encapsulation mechanism the is, the second ciphertext generating private key r SB are selected randomly from the random number space RS E ciphertext generation, second ciphertext CT SB ciphertext generation algorithm of the public key independent ciphertext generating possible key encapsulation mechanism The second ciphertext generation secret key r SB is generated by being encrypted, and the second long-term secret key SSK B including the secret key dk B , the secret key dk SB, and the second ciphertext generation secret key r SB the kept secret, the key exchange apparatus of the second long-term public key SPK B containing a public key ek SB and the second ciphertext CT SB corresponding to the public key ek B and secret key dk SB corresponding to the private key dk B It shall be made accessible to them. Key exchange unit selects the first ciphertext generating ad hoc private key r A randomly from the random number space RS E ciphertext generating the first key generating ad hoc private key r TA randomly from the random number space RS G key generation Using the first secret key selection unit to be selected and the public key ek B included in the second long-term public key SPK B stored so as to be accessible to other devices, the key encapsulation algorithm of the key encapsulation mechanism A first encryption unit that encrypts a single ciphertext ad hoc private key r A and generates a pair of a first ciphertext CT A and a first key K A , and a public key independent ciphertext generation key encapsulation mechanism Using a key generation algorithm, a key generation unit that generates a pair of a public key ek T and a secret key dk T using the first key generation ad hoc secret key r TA , and a key encapsulation mechanism using the secret key dk A Receive from other devices with the decoding algorithm Decrypting the second encryption text CT B, a first decoding unit for obtaining a second key K B, the decryption algorithm of the public key independent ciphertext generating possible key encapsulation mechanism, by using the secret key dk T, from another apparatus decrypting the ciphertext CT T for receiving a second decoding unit for obtaining the key K T, using the secret key dk SA, the decryption algorithm of the public key independent ciphertext generating possible key encapsulation mechanism, the second ciphertext generating A third decryption unit that decrypts the second ciphertext CT SB generated by encrypting the secret key r SB and obtains a key K S , a first key K A , a second key K B , a key K T and a key Using K S , the first parameter generation unit for obtaining the common key generation parameters K ′ 1 , K ′ 2 , K ′ 3 and K ′ 4 , the pseudo random function G, the session identifier, and the common key generation parameter K ′ 1 , a first common key generation unit that generates a common key SK using K ′ 2 , K ′ 3, and K ′ 4 .

上記の課題を解決するために、本発明の他の態様によれば、鍵交換装置は、他の装置との間で共通の共通鍵を共有する。秘密鍵dkAは鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、秘密鍵dkSAは、暗号文を公開鍵の情報無しで生成できる公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、第一暗号文生成秘密鍵rSAは暗号文生成の乱数空間RSEからランダムに選択され、第一暗号文CTSAは公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより第一暗号文生成秘密鍵rSAが暗号化されて生成されるものであり、秘密鍵dkAと秘密鍵dkSAと第一暗号文生成秘密鍵rSAとを含む第一長期秘密鍵SSKAが、他の装置以外の鍵交換装置に対して秘密にされ、秘密鍵dkAに対応する公開鍵ekAと秘密鍵dkSAに対応する公開鍵ekSAと第一暗号文CTSAとを含む第一長期公開鍵SPKAとが、鍵交換装置に対してアクセス可能にされるものとし、秘密鍵dkBは鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、秘密鍵dkSBは公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、第二暗号文生成秘密鍵rSBは暗号文生成の乱数空間RSEからランダムに選択され、第二暗号文CTSBは公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより第二暗号文生成秘密鍵rSBが暗号化されて生成されるものであり、秘密鍵dkBと秘密鍵dkSBと第二暗号文生成秘密鍵rSBとを含む第二長期秘密鍵SSKBを秘密にされ、秘密鍵dkBに対応する公開鍵ekBと秘密鍵dkSBに対応する公開鍵ekSBと第二暗号文CTSBとを含む第二長期公開鍵SPKBを他の装置に対してアクセス可能にされるものとする。鍵交換装置は、暗号文生成の乱数空間RSEからランダムに第二暗号文生成アドホック秘密鍵rBを選択し、暗号文生成の乱数空間RSEからランダムに第二鍵生成アドホック秘密鍵rTBを選択する第二秘密鍵選択部と、公開鍵ekAを用いて、鍵カプセル化メカニズムの鍵カプセル化アルゴリズムにより、第二暗号文生成アドホック秘密鍵rBを暗号化し、第二暗号文CTBと第二鍵KBとの組を生成する第二暗号化部と、公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより、第二鍵生成アドホック秘密鍵rTBを暗号化し、暗号文CTTを生成する第三暗号化部と、秘密鍵dkBを用いて、鍵カプセル化メカニズムの復号アルゴリズムにより、他の装置から受信する第一暗号文CTAを復号し、第一鍵KAを求める第四復号部と、公開鍵独立暗号文生成可能鍵カプセル化メカニズムのKEM鍵生成アルゴリズムにより、他の装置から受信する公開鍵ekTを用いて、暗号文CTT及び第二鍵生成アドホック秘密鍵rTBを暗号化し、鍵KTを生成する第四暗号化部と、公開鍵独立暗号文生成可能鍵カプセル化メカニズムのKEM鍵生成アルゴリズムにより、公開鍵ekSAを用いて、第二暗号文CTSB及び第二暗号文生成秘密鍵rSBを暗号化し、鍵KSを生成する第五暗号化部と、第一鍵KA、第二鍵KB、鍵KT及び鍵KSを用いて、共通鍵生成パラメータK'1、K'2、K'3及びK'4を求める第二パラメータ生成部と、疑似ランダム関数Gにより、セッション識別子と、共通鍵生成パラメータK'1、K'2、K'3及びK'4とを用いて共通鍵SKを生成する第二共通鍵生成部とを含む。 In order to solve the above-described problem, according to another aspect of the present invention, a key exchange apparatus shares a common key with another apparatus. The secret key dk A is generated by the key generation algorithm of the key encapsulation mechanism, and the secret key dk SA is generated by the key generation algorithm of the public key independent ciphertext generation key encapsulation mechanism that can generate ciphertext without public key information. is generated, the first ciphertext generating private key r SA is selected randomly from the random number space RS E ciphertext generating a first ciphertext CT SA public key independent ciphertext ciphertext generation algorithm can generate the key encapsulation mechanism the are those first ciphertext generating private key r SA is generated encrypted first long secret key SSK containing a secret key dk a and secret key dk SA and the first ciphertext generating private key r SA A is kept secret from a key exchange device other than other devices, and public key ek A corresponding to secret key dk A , public key ek SA corresponding to secret key dk SA , and first ciphertext CT SA are and the first long-term public key SPK a, including the accession to the key exchange apparatus Shall be scan possible, secret key dk B is generated by the key generation algorithm of the key encapsulation mechanism, generated by the key generation algorithm secret key dk SB public key independent ciphertext generating possible key encapsulation mechanism, a two ciphertext generating private key r SB are selected randomly from the random number space RS E ciphertext generation, second ciphertext CT SB is the second encryption by the encryption text generation algorithm of the public key independent ciphertext generating possible key encapsulation mechanism The sentence generation secret key r SB is generated by being encrypted, and the second long-term secret key SSK B including the secret key dk B , the secret key dk SB, and the second ciphertext generation secret key r SB is kept secret. It is, access the second long-term public key SPK B containing a public key ek SB and the second ciphertext CT SB corresponding to the public key ek B and secret key dk SB corresponding to the private key dk B to another apparatus Shall be enabled. Key exchange unit selects the second ciphertext generating ad hoc private key r B at random from the random number space RS E ciphertext generated, randomly second key generation from the random number space RS E of the ciphertext generating ad hoc private key r TB The second ciphertext generation ad hoc secret key r B is encrypted by the key encapsulation algorithm of the key encapsulation mechanism using the second secret key selection unit that selects the public key ek A , and the second ciphertext CT B When a second encryption unit for generating a set of the second key K B, the ciphertext generation algorithm of the public key independent ciphertext generating possible key encapsulation mechanism, encrypts the second key generating ad hoc private key r TB, a third encryption unit for generating a ciphertext CT T, using the secret key dk B, the decoding algorithm of the key encapsulation mechanism, decrypts the first ciphertext CT a received from another device, the first key and a fourth decryption unit for obtaining the K a, dark public key independent The KEM key generation algorithm of the sentence can be generated key encapsulation mechanism, by using the public key ek T received from another device, it encrypts the ciphertext CT T and the second key generating ad hoc private key r TB, the key K T The second ciphertext CT SB and the second ciphertext generation secret key r are generated using the public key ek SA by the fourth encryption unit to be generated and the KEM key generation algorithm of the public key independent ciphertext generationable key encapsulation mechanism. Using the fifth encryption unit that encrypts the SB and generates the key K S , the first key K A , the second key K B , the key K T, and the key K S , the common key generation parameters K ′ 1 , K 'a second parameter generating unit for obtaining the 4, by the pseudo random function G, and the session identifier, the common key generation parameters K''2,K' 3 and K and 1, K '2, K' 3 and K '4 And a second common key generation unit that generates a common key SK.

上記の課題を解決するために、本発明の他の態様によれば、鍵交換方法は、第一鍵交換装置と第二鍵交換装置との間で共通の共通鍵を共有するためのものである。秘密鍵dkAは鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、秘密鍵dkSAは、暗号文を公開鍵の情報無しで生成できる公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、第一暗号文生成秘密鍵rSAは暗号文生成の乱数空間RSEからランダムに選択され、第一暗号文CTSAは公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより第一暗号文生成秘密鍵rSAが暗号化されて生成されるものであり、秘密鍵dkAと秘密鍵dkSAと第一暗号文生成秘密鍵rSAとを含む第一長期秘密鍵SSKAが、第一鍵交換装置以外の鍵交換装置に対して秘密にされ、秘密鍵dkAに対応する公開鍵ekAと秘密鍵dkSAに対応する公開鍵ekSAと第一暗号文CTSAとを含む第一長期公開鍵SPKAとが、第二鍵交換装置に対してアクセス可能にされるものとし、秘密鍵dkBは鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、秘密鍵dkSBは公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、第二暗号文生成秘密鍵rSBは暗号文生成の乱数空間RSEからランダムに選択され、第二暗号文CTSBは公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより第二暗号文生成秘密鍵rSBが暗号化されて生成されるものであり、秘密鍵dkBと秘密鍵dkSBと第二暗号文生成秘密鍵rSBとを含む第二長期秘密鍵SSKBを秘密にされ、秘密鍵dkBに対応する公開鍵ekBと秘密鍵dkSBに対応する公開鍵ekSBと第二暗号文CTSBとを含む第二長期公開鍵SPKBを第一鍵交換装置に対してアクセス可能にされるものとする。鍵交換方法は、第一鍵交換装置が、暗号文生成の乱数空間RSEからランダムに第一暗号文生成アドホック秘密鍵rAを選択し、鍵生成の乱数空間RSGからランダムに第一鍵生成アドホック秘密鍵rTAを選択する第一秘密鍵選択ステップと、第一鍵交換装置が、第二鍵交換装置にアクセス可能に記憶される第二長期公開鍵SPKBに含まれる公開鍵ekBを用いて、鍵カプセル化メカニズムの鍵カプセル化アルゴリズムにより、第一暗号文生成アドホック秘密鍵rAを暗号化し、第一暗号文CTAと第一鍵KAとの組を生成する第一暗号化ステップと、第一鍵交換装置が、公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより、第一鍵生成アドホック秘密鍵rTAを用いて、公開鍵ekTと秘密鍵dkTとの組を生成する鍵生成ステップと、第二鍵交換装置が、暗号文生成の乱数空間RSEからランダムに第二暗号文生成アドホック秘密鍵rBを選択し、暗号文生成の乱数空間RSEからランダムに第二鍵生成アドホック秘密鍵rTBを選択する第二秘密鍵選択ステップと、第二鍵交換装置が、公開鍵ekAを用いて、鍵カプセル化メカニズムの鍵カプセル化アルゴリズムにより、第二暗号文生成アドホック秘密鍵rBを暗号化し、第二暗号文CTBと第二鍵KBとの組を生成する第二暗号化ステップと、第二鍵交換装置が、公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより、第二鍵生成アドホック秘密鍵rTBを暗号化し、暗号文CTTを生成する第三暗号化ステップと、第一鍵交換装置が、秘密鍵dkAを用いて、鍵カプセル化メカニズムの復号アルゴリズムにより、第二鍵交換装置から受信する第二暗号文CTBを復号し、第二鍵KBを求める第一復号ステップと、第一鍵交換装置が、公開鍵独立暗号文生成可能鍵カプセル化メカニズムの復号アルゴリズムにより、秘密鍵dkTを用いて、第二鍵交換装置から受信する暗号文CTTを復号し、鍵KTを求める第二復号ステップと、第一鍵交換装置が、秘密鍵dkSAを用いて、公開鍵独立暗号文生成可能鍵カプセル化メカニズムの復号アルゴリズムにより、第二暗号文生成秘密鍵rSBが暗号化されて生成される第二暗号文CTSBを復号し、鍵KSを求める第三復号ステップと、第一鍵交換装置が、第一鍵KA、第二鍵KB、鍵KT及び鍵KSを用いて、共通鍵生成パラメータK'1、K'2、K'3及びK'4を求める第一パラメータ生成ステップと、第一鍵交換装置が、疑似ランダム関数Gにより、セッション識別子と、共通鍵生成パラメータK'1、K'2、K'3及びK'4とを用いて共通鍵SKを生成する第一共通鍵生成ステップと、第二鍵交換装置が、秘密鍵dkBを用いて、鍵カプセル化メカニズムの復号アルゴリズムにより、第一暗号文CTAを復号し、第一鍵KAを求める第四復号ステップと、第二鍵交換装置が、公開鍵独立暗号文生成可能鍵カプセル化メカニズムのKEM鍵生成アルゴリズムにより、公開鍵ekTを用いて、暗号文CTT及び第二鍵生成アドホック秘密鍵rTBを暗号化し、鍵KTを生成する第四暗号化ステップと、第二鍵交換装置が、公開鍵独立暗号文生成可能鍵カプセル化メカニズムのKEM鍵生成アルゴリズムにより、公開鍵ekSAを用いて、第二暗号文CTSB及び第二暗号文生成秘密鍵rSBを暗号化し、鍵KSを生成する第五暗号化ステップと、第二鍵交換装置が、第一鍵KA、第二鍵KB、鍵KT及び鍵KSを用いて、共通鍵生成パラメータK'1、K'2、K'3及びK'4を求める第二パラメータ生成ステップと、第二鍵交換装置が、疑似ランダム関数Gにより、セッション識別子と、共通鍵生成パラメータK'1、K'2、K'3及びK'4とを用いて共通鍵SKを生成する第二共通鍵生成ステップとを含む。 In order to solve the above problems, according to another aspect of the present invention, a key exchange method is for sharing a common key between a first key exchange device and a second key exchange device. is there. The secret key dk A is generated by the key generation algorithm of the key encapsulation mechanism, and the secret key dk SA is generated by the key generation algorithm of the public key independent ciphertext generation key encapsulation mechanism that can generate ciphertext without public key information. is generated, the first ciphertext generating private key r SA is selected randomly from the random number space RS E ciphertext generating a first ciphertext CT SA public key independent ciphertext ciphertext generation algorithm can generate the key encapsulation mechanism the are those first ciphertext generating private key r SA is generated encrypted first long secret key SSK containing a secret key dk a and secret key dk SA and the first ciphertext generating private key r SA A is kept secret from a key exchange device other than the first key exchange device, and public key ek A corresponding to private key dk A , public key ek SA corresponding to private key dk SA , and first ciphertext CT SA a first long-term public key SPK a containing bets is the second key exchange unit And shall be made accessible, the private key dk B is generated by the key generation algorithm of the key encapsulation mechanism, generated by the key generation algorithm secret key dk SB public key independent ciphertext generating possible key encapsulation mechanism , the second ciphertext generating private key r SB are selected randomly from the random number space RS E ciphertext generation, first by the second ciphertext CT SB ciphertext generation algorithm of the public key independent ciphertext generating possible key encapsulation mechanism The second ciphertext generation secret key r SB is generated by being encrypted, and the second long-term secret key SSK B including the secret key dk B , the secret key dk SB, and the second ciphertext generation secret key r SB is is kept secret, the second long-term public key SPK B a first key exchange apparatus including a public key ek SB and the second ciphertext CT SB corresponding to the public key ek B and secret key dk SB corresponding to the private key dk B Shall be made accessible. Key exchange method, the first key exchange apparatus randomly selects the first ciphertext generating ad hoc private key r A from the random number space RS E ciphertext generating first key randomly from the random number space RS G key generation A first secret key selection step for selecting the generated ad hoc secret key r TA, and a public key ek B included in the second long-term public key SPK B stored so that the first key exchange device can access the second key exchange device Is used to encrypt the first ciphertext generation ad hoc secret key r A by the key encapsulation algorithm of the key encapsulation mechanism, and to generate a pair of the first ciphertext CT A and the first key K A And the first key exchange apparatus uses the first key generation ad hoc secret key r TA to generate the public key ek T and the secret key dk T according to the key generation algorithm of the public key independent ciphertext generateable key encapsulation mechanism. Key generation step to generate a pair with the second key exchange Device, the second ciphertext generating ad hoc private key r B randomly selected from the random number space RS E ciphertext generating, selecting a second key generating ad hoc private key r TB randomly from the random number space RS E ciphertext generation The second secret key selection step, and the second key exchange device encrypts the second ciphertext generation ad hoc secret key r B using the public key ek A by the key encapsulation algorithm of the key encapsulation mechanism, a second encryption step of generating a set of two ciphertext CT B and the second key K B, the second key exchange apparatus, the ciphertext generation algorithm of the public key independent ciphertext generating possible key encapsulation mechanism, a The third encryption step for encrypting the two-key generation ad hoc secret key r TB and generating the ciphertext CT T , and the first key exchange device using the secret key dk A , by the decryption algorithm of the key encapsulation mechanism, From the second key exchange device It decrypts the second ciphertext CT B to trust, a first decoding step of obtaining the second key K B, the first key exchange apparatus, the decryption algorithm of the public key independent ciphertext generating possible key encapsulation mechanism, a secret key The second decryption step for decrypting the ciphertext CT T received from the second key exchange device using dk T and obtaining the key K T , and the first key exchange device using the secret key dk SA The third decryption step of decrypting the second ciphertext generation secret key r SB encrypted by the decryption algorithm of the independent ciphertext generatable key encapsulation mechanism and decrypting the second ciphertext CT SB generated to obtain the key K S And the first key exchange device uses the first key K A , the second key K B , the key K T and the key K S to generate the common key generation parameters K ′ 1 , K ′ 2 , K ′ 3 and K ′. 4 a first parameter generating step of obtaining a first key exchange apparatus, the pseudo-random function G, and the session identifier, co A first common key generation step of generating a common key SK by using the key generation parameter K '1, K' 2, K '3 and K' 4, the second key exchange apparatus, using a secret key dk B A fourth decryption step for decrypting the first ciphertext CT A by the decryption algorithm of the key encapsulation mechanism to obtain the first key KA, and a second key exchange device encapsulating a key that can generate a public key independent ciphertext A fourth encryption step of encrypting the ciphertext CT T and the second key generation ad hoc secret key r TB using the public key ek T and generating the key K T by the KEM key generation algorithm of the mechanism; and the second key The exchange device encrypts the second ciphertext CT SB and the second ciphertext generation secret key r SB using the public key ek SA by the KEM key generation algorithm of the public key independent ciphertext generation capable key encapsulation mechanism, a fifth encryption step of generating a key K S, the second key exchange apparatus, the first key K a, Two key K B, using the key K T and the key K S, and a second parameter generating step of obtaining a common key generation parameter K '1, K' 2, K '3 and K' 4, the second key exchange apparatus And a second common key generation step of generating a common key SK by using the session identifier and the common key generation parameters K ′ 1 , K ′ 2 , K ′ 3 and K ′ 4 by the pseudo random function G.

本発明によれば、耐タンパモジュール内でオンライン計算を行うこと無く安全な方式を実現することができるという効果を奏する。   According to the present invention, there is an effect that a safe system can be realized without performing online calculation in the tamper resistant module.

FSXY方式の処理の概要を説明するための図。The figure for demonstrating the outline | summary of the process of a FSXY system. 鍵交換システムの構成例を示す図。The figure which shows the structural example of a key exchange system. 第一鍵交換装置の機能ブロック図。The functional block diagram of a 1st key exchange apparatus. 第二鍵交換装置の機能ブロック図。The functional block diagram of a 2nd key exchange apparatus. 鍵交換システム1の処理フローの例を示す図。The figure which shows the example of the processing flow of the key exchange system.

以下、本発明の実施形態について説明する。なお、以下の説明に用いる図面では、同じ機能を持つ構成部や同じ処理を行うステップには同一の符号を記し、重複説明を省略する。以下の説明において、テキスト中で使用する記号「^」、「~」、「」等は、本来直前の文字の真上に記載されるべきものであるが、テキスト記法の制限により、当該文字の直後に記載する。式中においてはこれらの記号は本来の位置に記述している。また、ベクトルや行列の各要素単位で行われる処理は、特に断りが無い限り、そのベクトルやその行列の全ての要素に対して適用されるものとする。 Hereinafter, embodiments of the present invention will be described. In the drawings used for the following description, constituent parts having the same function and steps for performing the same process are denoted by the same reference numerals, and redundant description is omitted. In the following explanation, the symbols “^”, “~”, “ ”, etc. used in the text should be written directly above the previous character. Immediately after. In the formula, these symbols are written in their original positions. Further, the processing performed for each element of a vector or matrix is applied to all elements of the vector or matrix unless otherwise specified.

<第一実施形態>
本実施形態では、特殊なKEM(公開鍵独立暗号文生成可能KEM:「KEM with public-key-independent-ciphertext」、以下「PKIC-KEM」ともいう)を用いることで、耐タンパモジュール内でオンライン計算を行うこと無く安全な方式を実現する。
<First embodiment>
In this embodiment, by using a special KEM (KEM with public key independent ciphertext generation: “KEM with public-key-independent-ciphertext”, hereinafter also referred to as “PKIC-KEM”), online in the tamper resistant module Realize a safe method without calculation.

PKIC-KEMとは、暗号文を公開鍵の情報無しで生成できるKEMのことである。本実施形態では、IND-CPA secure KEM(wKeyGen,wEnCap,wDeCap)をIND-CPA secure PKIC-KEM(wKeyGen,wEnCapC,wEnCapK,wDeCap)に置き換える。   PKIC-KEM is a KEM that can generate ciphertext without public key information. In this embodiment, IND-CPA secure KEM (wKeyGen, wEnCap, wDeCap) is replaced with IND-CPA secure PKIC-KEM (wKeyGen, wEnCapC, wEnCapK, wDeCap).

IND-CPA secure PKIC-KEMの鍵生成アルゴリズムwKeyGenと復号アルゴリズムwDeCapとは、通常のIND-CPA secure KEMと同一である。   The key generation algorithm wKeyGen and the decryption algorithm wDeCap of IND-CPA secure PKIC-KEM are the same as those of normal IND-CPA secure KEM.

IND-CPA secure PKIC-KEMの暗号文生成アルゴリズムwEnCapCは鍵交換システムの公開パラメータとre∈RSE(RSEは暗号文生成の乱数空間)を入力とし、暗号文CT∈CS(CSは暗号文空間)を出力する。 The ciphertext generation algorithm wEnCapC of IND-CPA secure PKIC-KEM takes the public parameters of the key exchange system and r e ∈RS E (RS E is a random number space for ciphertext generation) as input, and ciphertext CT∈CS (CS is cipher) Sentence space).

IND-CPA secure PKIC-KEMのKEM鍵生成アルゴリズムwEnCapKは公開鍵ek、暗号文CT、乱数reを入力とし、KEM鍵K∈KS(KSはKEM鍵空間)を出力する。このようなPKIC-KEMとして、例えば、参考文献1に詳細な構成法の1つが記述されている。
[参考文献1]Taher El Gamal, "A Public Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms", IEEE Transactions on Information Theory, 1985, vol. IT-31, no. 4, pp. 469-472.
IND-CPA secure PKIC-KEM KEM key generation algorithm of wEnCapK public key ek, the ciphertext CT, and enter the random number r e, KEM key K∈KS (KS is KEM key space) to output. As such PKIC-KEM, for example, one detailed configuration method is described in Reference Document 1.
[Reference 1] Taher El Gamal, "A Public Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms", IEEE Transactions on Information Theory, 1985, vol. IT-31, no. 4, pp. 469-472.

各ユーザUPは、PKIC-KEMを用いて(ekSP,dkSP)←wKeyGen(1κ,r')とCTSP←wEnCapC(rSP)を事前に生成する。FSXY方式の長期秘密鍵(dkPP)に代えて、(dkP,dkSP,rSP)を長期秘密鍵に設定し、FSXY方式の長期公開鍵ekPに加えて、(ekSP,CTSP)を長期公開鍵に設定する。 Each user U P, using PKIC-KEM (ek SP, dk SP) ← wKeyGen (1 κ, r ') and for generating CT SP ← wEnCapC the (r SP) in advance. Instead of the FSXY long-term secret key (dk P , σ P ), (dk P , dk SP , r SP ) is set as the long-term secret key, and in addition to the FSXY long-term public key ek P , (ek SP , CT SP ) is set as the long-term public key.

また、FSXY方式の鍵交換セッションにおいて(KA,KB,KT)を共有していたが、本実施形態では、KSも共有する。なお、ユーザUAはKS←wDeCapdk_SA(CTSB)、ユーザUBはKS←wEnCapKek_SA(CTSB;rSB)のように計算してKSを共有する。ここで、KSはお互いの長期秘密鍵(dkA,dkSA,rSA)、(dkB,dkSB,rSB)と長期公開鍵(ekA,ekSA,CTSA)、(ekB,ekSB,CTSB)だけに依存した情報であるため、アドホック秘密鍵rA,rTA,rB,rTBが漏洩しても影響がない。よって、FSXY方式のように

Figure 2015070498
を計算しなくても、安全性が証明できる。そのため、耐タンパモジュール内でのオンライン計算を行う必要がない。 Further, in the key exchange session FSXY scheme (K A, K B, K T) had share, in the present embodiment, K S is also shared. The user U A calculates K S ← wDeCap dk_SA (CT SB ), and the user U B calculates K S ← wEnCapK ek_SA (CT SB ; r SB ) and shares K S. Where K S is the mutual long-term secret key (dk A , dk SA , r SA ), (dk B , dk SB , r SB ) and long-term public key (ek A , ek SA , CT SA ), (ek B , ek SB , CT SB ), the information is dependent only on the ad hoc secret keys r A , r TA , r B , r TB . Therefore, like the FSXY method
Figure 2015070498
You can prove safety without calculating. Therefore, it is not necessary to perform online calculation within the tamper resistant module.

本実施形態の鍵交換方式を以下に示す。
[準備]
κをセキュリティパラメータとする。KDF:Salt×X→Yを有限ソルト空間Salt、有限定義域X、有限値域Yを持つ関数とする。このとき、もしH(DX)≧κとなるX上の任意分布DXと任意の多項式時間攻撃者Aとに対して、|Pr[y∈RRng;1←A(y)]-Pr[x∈RDom;s∈RSalt;y←KDF(s,x);1←A(y)]|≦neglが成り立つならば、KDFを鍵導出関数と呼ぶ。ただし、A(・)は攻撃者Aに対してある値・を与えたときの出力を表す。つまり、上記式は、有限値域Yの元yを攻撃者Aに対して与えたときに、値域Rngからランダムに元yを選ぶ確率と、KDFの入力をソルトsと有限定義域Xの元xとして元yを出力し、有限値域Yの元yを攻撃者Aに対して与えたときに、有限ソルト空間Saltからランダムにソルトsを選び、定義域Domからランダムに元xを選ぶ確率との差が、漸近的に無視できる程度に十分小さな値以下であることを表している。ただし、|X|=n≧k、|Y|=k、|Salt|=dとする。dは鍵導出関数KDFに対して求められる安全性等により定まる所定の値である。
The key exchange method of this embodiment is shown below.
[Preparation]
Let κ be a security parameter. Let KDF: Salt × X → Y be a function having a finite salt space Salt, a finite domain X, and a finite range Y. Then, for an arbitrary distribution D X on X and an arbitrary polynomial time attacker A with H (D X ) ≧ κ, | Pr [y∈ R Rng; 1 ← A (y)]- Pr [x∈ R Dom; s∈ R Salt; y ← KDF (s, x); 1 ← a (y)] | if ≦ Negl holds, referred to as key derivation function KDF. However, A (·) represents the output when a certain value • is given to the attacker A. In other words, the above equation gives the probability of randomly selecting the element y from the range Rng when the element y of the finite range Y is given to the attacker A, and the input of the KDF is the salt s and the element x of the finite domain X When the element y of the finite range Y is given to the attacker A, the salt s is randomly selected from the finite salt space Salt, and the element x is randomly selected from the domain Dom. This indicates that the difference is not more than a value that is asymptotically negligible. However, | X | = n ≧ k, | Y | = k, and | Salt | = d. d is a predetermined value determined by the security required for the key derivation function KDF.

<鍵交換システム1>
図2は、鍵交換システム1の構成例を示す図である。鍵交換システム1は、第一鍵交換装置10と第二鍵交換装置20とサーバ30とを含む。各装置は、通信回線を介して接続されている。第一鍵交換装置10と前記第二鍵交換装置20とは、その間で共通の共通鍵(この実施形態では、セッション鍵SK)を共有する。
<Key exchange system 1>
FIG. 2 is a diagram illustrating a configuration example of the key exchange system 1. The key exchange system 1 includes a first key exchange device 10, a second key exchange device 20, and a server 30. Each device is connected via a communication line. The first key exchange device 10 and the second key exchange device 20 share a common common key (session key SK in this embodiment) between them.

図3は、第一鍵交換装置10の機能ブロック図である。第一鍵交換装置10は、第一記憶部11と、第一秘密鍵選択部12と、第一暗号化部13と、鍵生成部14と、第一復号部15と、第二復号部16と、第三復号部17と、第一パラメータ生成部18と、第一セッション鍵生成部19とを含む。   FIG. 3 is a functional block diagram of the first key exchange device 10. The first key exchange device 10 includes a first storage unit 11, a first secret key selection unit 12, a first encryption unit 13, a key generation unit 14, a first decryption unit 15, and a second decryption unit 16. A third decryption unit 17, a first parameter generation unit 18, and a first session key generation unit 19.

図4は、第二鍵交換装置20の機能ブロック図である。第二鍵交換装置20は、第二記憶部21と、第二秘密鍵選択部22と、第二暗号化部23と、第三暗号化部24と、第四復号部25と、第四暗号化部26と、第五暗号化部27、第二パラメータ生成部28と、第二セッション鍵生成部29とを含む。   FIG. 4 is a functional block diagram of the second key exchange device 20. The second key exchange device 20 includes a second storage unit 21, a second secret key selection unit 22, a second encryption unit 23, a third encryption unit 24, a fourth decryption unit 25, and a fourth encryption. Includes an encryption unit 26, a fifth encryption unit 27, a second parameter generation unit 28, and a second session key generation unit 29.

図5は、鍵交換システム1の処理フローの例を示す図である。   FIG. 5 is a diagram illustrating an example of a processing flow of the key exchange system 1.

[公開パラメータ]
サーバ30は、疑似ランダム関数G、鍵導出関数KDF、公開ソルトsを公開パラメータとして、第一鍵交換装置10と前記第二鍵交換装置20とがアクセスできるように、図示しない記憶部に記憶しておく。
[Public parameters]
The server 30 stores the pseudo-random function G, the key derivation function KDF, and the public salt s as public parameters in a storage unit (not shown) so that the first key exchange device 10 and the second key exchange device 20 can access them. Keep it.

疑似ランダム関数Gは、次のように表される。G:{0,1}*×FS→{0,1}κ。ただし、FSは疑似ランダム関数の鍵空間(|FS|=κ)とする。鍵導出関数KDFは、ランダムに選んだ公開ソルトs∈Saltを用い、次のように表される。KDF:Salt×KS→FS。ただし、Saltをソルト空間、KSをKEM鍵の空間とする。 The pseudo random function G is expressed as follows. G: {0,1} * × FS → {0,1} κ . However, FS is a pseudo random function key space (| FS | = κ). The key derivation function KDF is expressed as follows using a randomly selected public salt s∈Salt. KDF: Salt × KS → FS. However, Salt is the salt space and KS is the KEM key space.

<長期公開鍵と長期秘密鍵>
ユーザUPはランダムにr,r'∈RRSGとrSPRRSEを選び、鍵生成アルゴリズムより(ekP,dkP)←KeyGen(1κ,r)と(ekSP,dkSP)←wKeyGen(1κ,r')、暗号文生成アルゴリズムによりCTSP←wEnCapC(rSP)を計算する。UPの長期秘密鍵を(dkP,dkSP,rSP)、長期公開鍵を(ekP,ekSP,CTSP)とする。
<Long-term public key and long-term secret key>
User U P randomly selects r, r '∈ R RS G and r SPR RS E, and (ek P , dk P ) ← KeyGen (1 κ , r) and (ek SP , dk SP ) from the key generation algorithm. ) ← wKeyGen (1 κ , r ′), CT SP ← wEnCapC (r SP ) is calculated by the ciphertext generation algorithm. Let U P 's long-term private key be (dk P , dk SP , r SP ), and let the long-term public key be (ek P , ek SP , CT SP ).

[鍵交換]
<第一記憶部11及び第二記憶部21>
ユーザUAの操作する第一鍵交換装置10は、r,r'∈RRSGとrSARRSEを選び、IND-CCA secure KEMの鍵生成アルゴリズムにより(ekA,dkA)←KeyGen(1κ,r)を生成し、IND-CPA secure PKIC-KEMの鍵生成アルゴリズムにより(ekSA,dkSA)←wKeyGen(1κ,r')を生成する。さらに、IND-CPA secure PKIC-KEMの暗号文生成アルゴリズムによりCTSA←wEnCaAC(rSA)を計算する。第一鍵交換装置10は、(dkA,dkSA,rSA)を第一長期秘密鍵SSKAとして第一記憶部11に秘密に記憶し、(ekA,ekSA,CTSA)を第一長期公開鍵SPKAとして、第一記憶部11またはサーバ30に、第二鍵交換装置20がアクセスできるように、記憶する。
[Key exchange]
<First storage unit 11 and second storage unit 21>
The first key exchange apparatus 10 operated by the user U A is, r, select r'∈ R RS G and r SAR RS E, the key generation algorithm of IND-CCA secure KEM (ek A , dk A) ← KeyGen (1 κ, r) to generate, IND-CPA secure by the key generation algorithm PKIC-KEM (ek SA, dk SA) ← wKeyGen (1 κ, r ') to produce a. Furthermore, CT SA ← wEnCaAC (r SA ) is calculated by the ciphertext generation algorithm of IND-CPA secure PKIC-KEM. The first key exchange device 10 secretly stores (dk A , dk SA , r SA ) in the first storage unit 11 as the first long-term secret key SSK A and stores (ek A , ek SA , CT SA ) The long-term public key SPK A is stored in the first storage unit 11 or the server 30 so that the second key exchange device 20 can access it.

同様に、ユーザUBの操作する第二鍵交換装置20は、第二長期秘密鍵SSKB:=(dkB,dkSB,rSB)を生成し、第二記憶部21に秘密に記憶し、第二長期公開鍵SPKB:=(ekB,ekSB,CTSB)を生成し、第二記憶部21またはサーバ30に、第一鍵交換装置10がアクセスできるように、記憶する。 Similarly, the second key exchange device 20 operated by the user U B generates a second long-term secret key SSK B : = (dk B , dk SB , r SB ) and stores it secretly in the second storage unit 21. The second long-term public key SPK B : = (ek B , ek SB , CT SB ) is generated and stored in the second storage unit 21 or the server 30 so that the first key exchange apparatus 10 can access it.

[第一鍵交換装置10の処理の流れ(図3及び5参照)]
<第一秘密鍵選択部12>
第一秘密鍵選択部12は、暗号文生成の乱数空間RSEからランダムに第一暗号文生成アドホック秘密鍵rAを選択し(rARRSE)、鍵生成の乱数空間RSGからランダムに第一鍵生成アドホック秘密鍵rTAを選択する(s11、rTARRSG)。第一秘密鍵選択部12は、第一暗号文生成アドホック秘密鍵rAと第一鍵生成アドホック秘密鍵rTAとを、第一記憶部11に秘密に記憶する。
[Processing flow of first key exchange device 10 (see FIGS. 3 and 5)]
<First Secret Key Selection Unit 12>
The first secret key selection unit 12 randomly selects the first ciphertext generation ad hoc secret key r A from the ciphertext generation random space RS E (r AR RS E ), and from the key generation random space RS G A first key generation ad hoc secret key r TA is randomly selected (s11, r TAR RS G ). The first secret key selection unit 12 secretly stores the first ciphertext generation ad hoc secret key r A and the first key generation ad hoc secret key r TA in the first storage unit 11.

<第一暗号化部13>
第一暗号化部13は、第二長期公開鍵SPKBに含まれる第二IND-CCA公開鍵ekBを第二鍵交換装置20またはサーバ30から受け取る。第一暗号化部13は、第二IND-CCA公開鍵ekBを用いて、IND-CCA secure KEMにより、第一記憶部11から取り出した第一暗号文生成アドホック秘密鍵rAを暗号化し、第一IND-CCA暗号文CTAと第一IND-CCA鍵KAとの組を生成する(s12、(CTA,KA)←EnCapek_B(rA))。第一暗号化部13は、第一IND-CCA鍵KAを第一記憶部11に秘密に記憶する。なお、「秘密」とは、対象となる情報にアクセスするための正当性を有さないものに対してアクセスできないようにすることを意味する。
<First encryption unit 13>
The first encryption unit 13 receives a second IND-CCA public key ek B contained in the second long-term public key SPK B from the second key exchange unit 20 or the server 30. The first encryption unit 13 uses the second IND-CCA public key ek B to encrypt the first ciphertext generation ad hoc secret key r A extracted from the first storage unit 11 by IND-CCA secure KEM, A pair of the first IND-CCA ciphertext CT A and the first IND-CCA key K A is generated (s12, (CT A , K A ) ← EnCap ek_B (r A )). The first encryption unit 13 stores the secret of the first IND-CCA key K A in the first storage unit 11. Note that “secret” means that access to information that is not legitimate for accessing target information is prohibited.

<鍵生成部14>
鍵生成部14は、第一鍵生成アドホック秘密鍵rTAを第一記憶部11から取り出す。鍵生成部14は、IND-CPA secure PKIC-KEMにより、第一鍵生成アドホック秘密鍵rTAを用いて、IND-CPA公開鍵ekTとIND-CPA秘密鍵dkTとの組を生成する(s13、(ekT,dkT)←wKeyGen(1κ,rTA))。鍵生成部14は、IND-CPA秘密鍵dkTを第一記憶部11に秘密に記憶する。
<Key generation unit 14>
The key generation unit 14 extracts the first key generation ad hoc secret key r TA from the first storage unit 11. The key generation unit 14 generates a pair of the IND-CPA public key ek T and the IND-CPA private key dk T using the first key generation ad hoc private key r TA by IND-CPA secure PKIC-KEM ( s13, (ek T , dk T ) ← wKeyGen (1 κ , r TA )). The key generation unit 14 secretly stores the IND-CPA secret key dk T in the first storage unit 11.

第一鍵交換装置10は、図示しない送信部を介して、(UA,UB,CTA,ekT)を第二鍵交換装置20に送信する。
さらに、第一鍵交換装置10は、図示しない受信部を介して、(UA,UB,CTB,CTT)を第二鍵交換装置20から受信する。CTB,CTTの詳細については後述する。
The first key exchange device 10 transmits (U A , U B , CT A , ek T ) to the second key exchange device 20 via a transmission unit (not shown).
Further, the first key exchange device 10 receives (U A , U B , CT B , CT T ) from the second key exchange device 20 via a receiving unit (not shown). CT B, will be described in detail later CT T.

<第一復号部15>
第一復号部15は、第一記憶部11から第一IND-CCA秘密鍵dkAを取り出し、これを用いて、IND-CCA secure KEMにより、第二鍵交換装置20から受信した第二IND-CCA暗号文CTBを復号し、第二IND-CCA鍵KBを求める(s14、KB←DeCapdk_A(CTB))。
<First decoding unit 15>
The first decryption unit 15 extracts the first IND-CCA private key dk A from the first storage unit 11 and uses it to receive the second IND- received from the second key exchange device 20 by the IND-CCA secure KEM. decrypts the CCA ciphertext CT B, obtains the second IND-CCA key K B (s14, K B ← DeCap dk_A (CT B)).

<第二復号部16>
第二復号部16は、IND-CPA secure PKIC-KEMにより、第一記憶部11からIND-CPA秘密鍵dkTを取り出し、これを用いて、第二鍵交換装置20から受信したIND-CPA暗号文CTTを復号し、IND-CPA鍵KTを求める(s15、KT←wDeCapdk_T(CTT))。
<Second decoding unit 16>
The second decryption unit 16 extracts the IND-CPA private key dk T from the first storage unit 11 by using IND-CPA secure PKIC-KEM, and uses it to use the IND-CPA encryption received from the second key exchange device 20. The sentence CT T is decrypted to obtain the IND-CPA key K T (s15, K T ← wDeCap dk_T (CT T )).

<第三復号部17>
第三復号部17は、第二鍵交換装置20またはサーバ30から第二IND-CPA暗号文CTSB(公開パラメータ)を受け取る。第三復号部17は、第一記憶部11から第一IND-CPA秘密鍵dkSAを取り出し、これを用いて、IND-CPA secure PKIC-KEMにより、第二IND-CPA暗号文CTSBを復号し、IND-CPA鍵KSを求める(s16、KS←wDeCapdk_SA(CTSB))。
<Third decoding unit 17>
The third decryption unit 17 receives the second IND-CPA ciphertext CT SB (public parameter) from the second key exchange device 20 or the server 30. The third decryption unit 17 extracts the first IND-CPA private key dk SA from the first storage unit 11, and uses this to decrypt the second IND-CPA ciphertext CT SB by IND-CPA secure PKIC-KEM. Then, the IND-CPA key K S is obtained (s16, K S ← wDeCap dk_SA (CT SB )).

<第一パラメータ生成部18>
第一パラメータ生成部18は、サーバ30から鍵導出関数KDF及び公開ソルトs(公開パラメータ)を受け取る。第一パラメータ生成部18は、第一暗号化部13、第一復号部15、第二復号部16及び第三復号部17からそれぞれ第一IND-CCA鍵KA、第二IND-CCA鍵KB、IND-CPA鍵KT及びIND-CPA鍵KSを受け取り、これらの値と、鍵導出関数KDF及び公開ソルトsとを用いて、次式により、セッション鍵生成パラメータK'1、K'2、K'3及びK'4を求める(s17)。
K'1←KDF(s,KA)
K'2←KDF(s,KB)
K'3←KDF(s,KT)
K'4←KDF(s,KS)
<First parameter generator 18>
The first parameter generation unit 18 receives the key derivation function KDF and the public salt s (public parameter) from the server 30. The first parameter generation unit 18 includes a first IND-CCA key K A and a second IND-CCA key K from the first encryption unit 13, the first decryption unit 15, the second decryption unit 16, and the third decryption unit 17, respectively. B, receives the IND-CPA key K T and IND-CPA key K S, and these values, by using the key derivation function KDF and public Salt s, by the following equation, the session key generation parameter K '1, K' 2 , K ′ 3 and K ′ 4 are obtained (s17).
K ' 1 ← KDF (s, K A )
K ' 2 ← KDF (s, K B )
K ' 3 ← KDF (s, K T )
K ' 4 ← KDF (s, K S )

<第一セッション鍵生成部19>
第一セッション鍵生成部19は、疑似ランダム関数G(公開パラメータ)をサーバ30から受け取る。第一セッション鍵生成部19は、第一パラメータ生成部18からセッション鍵生成パラメータK'1、K'2、K'3及びK'4を受け取り、疑似ランダム関数Gにより、セッション識別子ST=(UA,UB,SPKA,SPKB,CTA,ekT,CTB,CTT)と、セッション鍵生成パラメータK'1、K'2、K'3及びK'4とを用いて、次式により、セッション鍵SKを生成する(s18)。

Figure 2015070498
第一鍵交換装置10は、セッション鍵SKの生成に係るセッションを終了し、全てのセッション情報を削除する。 <First Session Key Generation Unit 19>
The first session key generation unit 19 receives a pseudo random function G (public parameter) from the server 30. The first session key generation unit 19 receives the session key generation parameters K ′ 1 , K ′ 2 , K ′ 3 and K ′ 4 from the first parameter generation unit 18, and uses the pseudo-random function G to determine the session identifier ST = (U A , U B , SPK A , SPK B , CT A , ek T , CT B , CT T ) and session key generation parameters K ′ 1 , K ′ 2 , K ′ 3 and K ′ 4 A session key SK is generated from the equation (s18).
Figure 2015070498
The first key exchange device 10 ends the session related to the generation of the session key SK and deletes all session information.

[第二鍵交換装置20の処理の流れ(図4及び5参照)]
<第二秘密鍵選択部22>
第二秘密鍵選択部22は、暗号文生成の乱数空間RSEからランダムに第二暗号文生成アドホック秘密鍵rBを選択し(rBRRSE)、暗号文生成の乱数空間RSEからランダムに第二鍵生成アドホック秘密鍵rTBを選択する(s21、rTBRRSE)。第二秘密鍵選択部22は、第二暗号文生成アドホック秘密鍵rBと第二鍵生成アドホック秘密鍵rTBとを、第二記憶部21に秘密に記憶する。
[Processing flow of second key exchange device 20 (see FIGS. 4 and 5)]
<Second secret key selection unit 22>
Second secret key selection unit 22, from the random number space RS E of the ciphertext generating select a second ciphertext generating ad hoc private key r B randomly (r B ∈ R RS E) , random spatial RS E ciphertext generation Then, the second key generation ad hoc secret key r TB is selected at random (s21, r TBR RS E ). The second secret key selection unit 22 secretly stores the second ciphertext generation ad hoc secret key r B and the second key generation ad hoc secret key r TB in the second storage unit 21.

<第二暗号化部23>
第二暗号化部23は、第一長期公開鍵SPKAに含まれる第一IND-CCA公開鍵ekAを第一鍵交換装置10またはサーバ30から受け取る。第二暗号化部23は、第一IND-CCA公開鍵ekAを用いて、IND-CCA secure KEMにより、第二記憶部21から取り出した第二暗号文生成アドホック秘密鍵rBを暗号化し、第二IND-CCA暗号文CTBと第二IND-CCA鍵KBとの組を生成する(s22、(CTB,KB)←EnCapek_A(rB))。第二暗号化部は、第二IND-CCA鍵KBを第二記憶部21に秘密に記憶する。
<Second encryption unit 23>
The second encryption unit 23 receives the first IND-CCA public key ek A contained in the first long-term public key SPK A from the first key exchange apparatus 10 or the server 30. The second encryption unit 23 uses the first IND-CCA public key ek A to encrypt the second ciphertext generation ad hoc secret key r B extracted from the second storage unit 21 by IND-CCA secure KEM, A pair of the second IND-CCA ciphertext CT B and the second IND-CCA key K B is generated (s22, (CT B , K B ) ← EnCap ek_A (r B )). The second encryption unit, and stores the secret second IND-CCA key K B in the second storage unit 21.

<第三暗号化部24>
第三暗号化部24は、第二鍵生成アドホック秘密鍵rTBを第二記憶部21から取り出し、IND-CPA secure PKIC-KEMの暗号文生成アルゴリズムwEnCapCにより、取り出した第二鍵生成アドホック秘密鍵rTBを暗号化し、IND-CPA暗号文CTTを生成する(s23、CTT←wEnCapC(rTB))。
<Third encryption unit 24>
The third encryption unit 24 extracts the second key generation ad hoc secret key r TB from the second storage unit 21 and extracts the second key generation ad hoc secret key extracted by the ciphertext generation algorithm wEnCapC of IND-CPA secure PKIC-KEM. It encrypts the r TB, to generate the IND-CPA ciphertext CT T (s23, CT T ← wEnCapC (r TB)).

第二鍵交換装置20は、図示しない受信部を介して、(UA,UB,CTA,ekT)を第一鍵交換装置10から受信する。
さらに、第二鍵交換装置20は、図示しない送信部を介して、(UA,UB,CTB,CTT)を第一鍵交換装置10に送信する。
The second key exchange device 20 receives (U A , U B , CT A , ek T ) from the first key exchange device 10 via a receiving unit (not shown).
Further, the second key exchange device 20 transmits (U A , U B , CT B , CT T ) to the first key exchange device 10 via a transmission unit (not shown).

<第四復号部25>
第四復号部25は、第二記憶部21から第二IND-CCA秘密鍵dkBを取り出し、これを用いて、IND-CCA secure KEMにより、受信した(UA,UB,CTA,ekT)に含まれる第一IND-CCA暗号文CTAを復号し、第一IND-CCA鍵KAを求める(s24、KA←DeCapdk_B(CTA))。
<Fourth decoding unit 25>
The fourth decryption unit 25 retrieves the second IND-CCA private key dk B from the second storage unit 21 and uses it to receive it by IND-CCA secure KEM (U A , U B , CT A , ek decoding the first IND-CCA ciphertext CT a contained in T), determining the first IND-CCA key K a (s24, K a ← DeCap dk_B (CT a)).

<第四暗号化部26>
第四暗号化部26は、第二鍵生成アドホック秘密鍵rTBを第二記憶部21から取り出す。第四暗号化部26は、IND-CPA secure PKIC-KEMのKEM鍵生成アルゴリズムwEnCapKにより、受信した(UA,UB,CTA,ekT)に含まれるIND-CPA公開鍵ekTを用いて、第三暗号化部24で生成したIND-CPA暗号文CTT及び取り出した第二鍵生成アドホック秘密鍵rTBを暗号化し、IND-CPA鍵KTを生成する(s25、KT←wEnCapKek_T(CTT;rTB))。
<Fourth encryption unit 26>
The fourth encryption unit 26 extracts the second key generation ad hoc secret key r TB from the second storage unit 21. The fourth encryption unit 26 uses the IND-CPA public key ek T included in the received (U A , U B , CT A , ek T ) by the KEM key generation algorithm wEnCapK of IND-CPA secure PKIC-KEM. Then, the IND-CPA ciphertext CT T generated by the third encryption unit 24 and the extracted second key generation ad hoc secret key r TB are encrypted to generate an IND-CPA key K T (s25, K T ← wEnCapK ek_T (CT T ; r TB )).

<第五暗号化部27>
第五暗号化部27は、サーバ30または第一鍵交換装置10から長期公開鍵SPKAに含まれる第一IND-CPA公開鍵ekSAを受け取る。第五暗号化部27は、第二記憶部21から第二長期秘密鍵SSKBに含まれる第二暗号文生成秘密鍵rSBを取り出し、IND-CPA secure PKIC-KEMのKEM鍵生成アルゴリズムwEnCapKにより、受け取った第一IND-CPA公開鍵ekSAを用いて、第二長期公開鍵SPKBに含まれる第二IND-CPA暗号文CTSB及び取り出した第二暗号文生成秘密鍵rSBを暗号化し、IND-CPA鍵KSを生成する(s26、KS←wEnCapKek_SA(CTSB,rSB))。
<Fifth encryption unit 27>
The fifth encryption unit 27 receives the first IND-CPA public key ek SA included in the long-term public key SPK A from the server 30 or the first key exchange device 10. Fifth encryption unit 27, the second ciphertext generating private keys r SB included from the second storage unit 21 in the second long-term secret key SSK B is taken out, by KEM key generation algorithm wEnCapK of IND-CPA secure PKIC-KEM , using the first IND-CPA public key ek SA received, a second IND-CPA ciphertext CT SB and the second ciphertext generating private keys r SB extracted contained in the second long-term public key SPK B encrypts Then, the IND-CPA key K S is generated (s26, K S ← wEnCapK ek_SA (CT SB , r SB )).

<第二パラメータ生成部28>
第二パラメータ生成部28は、サーバ30から鍵導出関数KDF及び公開ソルトs(公開パラメータ)を受け取る。第二パラメータ生成部28は、第二暗号化部23、第四復号部25、第四暗号化部26及び第五暗号化部27からそれぞれ第二IND-CCA鍵KB、第一IND-CCA鍵KA、IND-CPA鍵KT及びIND-CPA鍵KSを受け取り、これらの値と、鍵導出関数KDF及び公開ソルトsとを用いて、次式により、セッション鍵生成パラメータK'1、K'2、K'3及びK'4を求める(s27)。
K'1←KDF(s,KA)
K'2←KDF(s,KB)
K'3←KDF(s,KT)
K'4←KDF(s,KS)
<Second parameter generation unit 28>
The second parameter generation unit 28 receives the key derivation function KDF and the public salt s (public parameter) from the server 30. The second parameter generation unit 28 includes the second IND-CCA key K B , the first IND-CCA from the second encryption unit 23, the fourth decryption unit 25, the fourth encryption unit 26, and the fifth encryption unit 27, respectively. The key K A , the IND-CPA key K T and the IND-CPA key K S are received, and using these values, the key derivation function KDF, and the public salt s, the session key generation parameter K ′ 1 , K ′ 2 , K ′ 3 and K ′ 4 are obtained (s27).
K ' 1 ← KDF (s, K A )
K ' 2 ← KDF (s, K B )
K ' 3 ← KDF (s, K T )
K ' 4 ← KDF (s, K S )

<第二セッション鍵生成部29>
第二セッション鍵生成部29は、疑似ランダム関数G(公開パラメータ)をサーバ30から受け取る。第二セッション鍵生成部29は、第二パラメータ生成部28からセッション鍵生成パラメータK'1、K'2、K'3及びK'4を受け取り、疑似ランダム関数Gにより、セッション識別子ST=(UA,UB,SPKA,SPKB,CTA,ekT,CTB,CTT)と、セッション鍵生成パラメータK'1、K'2、K'3及びK'4とを用いて、次式により、セッション鍵SKを生成する(s28)。

Figure 2015070498
第二鍵交換装置20は、セッション鍵SKの生成に係るセッションを終了し、全てのセッション情報を削除する。 <Second session key generation unit 29>
The second session key generation unit 29 receives the pseudo random function G (public parameter) from the server 30. The second session key generation unit 29 receives the session key generation parameters K ′ 1 , K ′ 2 , K ′ 3 and K ′ 4 from the second parameter generation unit 28, and uses the pseudo random function G to determine the session identifier ST = (U A , U B , SPK A , SPK B , CT A , ek T , CT B , CT T ) and session key generation parameters K ′ 1 , K ′ 2 , K ′ 3 and K ′ 4 A session key SK is generated from the equation (s28).
Figure 2015070498
The second key exchange device 20 ends the session related to the generation of the session key SK and deletes all session information.

<効果>
このような構成により、FSXY方式のように

Figure 2015070498
を計算しなくても、安全性が証明できる。そのため、耐タンパモジュール内でオンライン計算を行うこと無く安全な方式を実現することができる。また、なお、IND-CPA secure KEM(wKeyGen,wEnCap,wDeCap)をIND-CPA secure PKIC-KEM(wKeyGen,wEnCapC,wEnCapK,wDeCap)に置き換えることにより、FSXY方式では、ユーザUBは、ユーザUAから(UA,UB,CTA,ekT)を受信するまでセッション鍵SK生成のための処理((UA,UB,CTB,CTT)を生成する処理)を開始することができないが、本実施形態では、ユーザUAの操作する第一鍵交換装置10から(UA,UB,CTA,ekT)を受信する前に、第二鍵交換装置20は(UA,UB,CTB,CTT)を生成することができる。よって、本実施形態の方式は、遅延に強い。 <Effect>
With this configuration, like the FSXY method
Figure 2015070498
You can prove safety without calculating. Therefore, a safe system can be realized without performing online calculation in the tamper resistant module. In addition, by replacing IND-CPA secure KEM (wKeyGen, wEnCap, wDeCap) with IND-CPA secure PKIC-KEM (wKeyGen, wEnCapC, wEnCapK, wDeCap), in the FSXY system, user U B becomes user U A Process for generating the session key SK (a process for generating (U A , U B , CT B , CT T )) until receiving (U A , U B , CT A , ek T ) However, in the present embodiment, before receiving (U A , U B , CT A , ek T ) from the first key exchange device 10 operated by the user U A , the second key exchange device 20 (U A , U B , CT B , CT T ) can be generated. Therefore, the system of this embodiment is resistant to delay.

<変形例>
なお、本実施形態では、鍵カプセル化メカニズムとして、IND-CCA secure KEMを用いているが、必ずしも、選択暗号文攻撃に対して識別不可能でなく、また、公開鍵独立暗号文生成可能鍵カプセル化メカニズムとしてIND-CPA secure PKIC-KEMを用いているが、必ずしも、選択平文攻撃に対して識別不可能でなくとも、耐タンパモジュール内でオンライン計算を行うこと無く安全な方式を実現することができる。ただし、IND-CCA secure KEMとIND-CPA secure PKIC-KEMとを用いることで、数学的にも安全となる。
<Modification>
In this embodiment, IND-CCA secure KEM is used as the key encapsulation mechanism. However, it is not necessarily identifiable against the selected ciphertext attack, and the public key independent ciphertext generation key capsule IND-CPA secure PKIC-KEM is used as a mechanism for creating a secure mechanism, but it is not always possible to identify against a selected plaintext attack. it can. However, using IND-CCA secure KEM and IND-CPA secure PKIC-KEM makes it mathematically safe.

鍵導出関数KDFに代えて、強ランダム抽出器Ext及びシードsを公開パラメータとしてもよい。強ランダム抽出器Extは、ランダムに選んだシードs∈SSを用い、次のように表される。Ext:SS×KS→FS。ただし、SSをシード空間、KSをKEM鍵の空間とする。   Instead of the key derivation function KDF, the strong random extractor Ext and the seed s may be used as public parameters. The strong random extractor Ext is expressed as follows using a randomly selected seed s∈SS. Ext: SS × KS → FS. However, SS is the seed space and KS is the KEM key space.

本実施形態では、第一長期秘密鍵SSKA等及び第二長期秘密鍵SSKB等をそれぞれ第一記憶部11及び第二記憶部21に秘密に記憶しているが、必ずしも第一鍵交換装置10及び第二鍵交換装置20の内部に記憶する必要はなく、それぞれ第一鍵交換装置10及び第二鍵交換装置20以外の鍵交換装置に対して秘密にされていればよい。例えば、安全な通信回線を使ってサーバ30に送信し、サーバ30内部で記憶し、必要に応じて、安全な通信回線を使って取り出せばよい。 In the present embodiment, the first long-term secret key SSK A and the like and the second long-term secret key SSK B and the like are secretly stored in the first storage unit 11 and the second storage unit 21, respectively. 10 and the second key exchange device 20 do not need to be stored, and may be kept secret from key exchange devices other than the first key exchange device 10 and the second key exchange device 20, respectively. For example, it may be transmitted to the server 30 using a secure communication line, stored in the server 30, and taken out using a secure communication line as necessary.

第一鍵交換装置10の機能と第二鍵交換装置20の機能とを一つの鍵交換装置上で実装し、その鍵交換装置を第一鍵交換装置10として機能させてもよいし、第二鍵交換装置20として機能させてもよい。その場合、第一記憶部11と第二記憶部21、第一秘密鍵選択部12と第二秘密鍵選択部22、第一暗号化部13と第二暗号化部23、第一パラメータ生成部18と第二パラメータ生成部28、第一セッション鍵生成部19と第二セッション鍵生成部29等は、同様の機能を有するため、入力及び出力を変えるだけでよく、共用することができる。   The function of the first key exchange device 10 and the function of the second key exchange device 20 may be mounted on one key exchange device, and the key exchange device may function as the first key exchange device 10, or the second The key exchange device 20 may function. In this case, the first storage unit 11 and the second storage unit 21, the first secret key selection unit 12 and the second secret key selection unit 22, the first encryption unit 13 and the second encryption unit 23, the first parameter generation unit 18, the second parameter generation unit 28, the first session key generation unit 19, the second session key generation unit 29, and the like have the same functions.

本発明は上記の実施形態及び変形例に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能である。   The present invention is not limited to the above-described embodiments and modifications. For example, the various processes described above are not only executed in time series according to the description, but may also be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes. In addition, it can change suitably in the range which does not deviate from the meaning of this invention.

<プログラム及び記録媒体>
また、上記の実施形態及び変形例で説明した各装置における各種の処理機能をコンピュータによって実現してもよい。その場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。
<Program and recording medium>
In addition, various processing functions in each device described in the above embodiments and modifications may be realized by a computer. In that case, the processing contents of the functions that each device should have are described by a program. Then, by executing this program on a computer, various processing functions in each of the above devices are realized on the computer.

この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。   The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, for example, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.

また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させてもよい。   The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Further, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.

このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶部に格納する。そして、処理の実行時、このコンピュータは、自己の記憶部に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実施形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよい。さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、プログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。   A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its storage unit. When executing the process, this computer reads the program stored in its own storage unit and executes the process according to the read program. As another embodiment of this program, a computer may read a program directly from a portable recording medium and execute processing according to the program. Further, each time a program is transferred from the server computer to the computer, processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program includes information provided for processing by the electronic computer and equivalent to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).

また、コンピュータ上で所定のプログラムを実行させることにより、各装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。   In addition, although each device is configured by executing a predetermined program on a computer, at least a part of these processing contents may be realized by hardware.

Claims (8)

第一鍵交換装置と第二鍵交換装置とを含み、前記第一鍵交換装置と前記第二鍵交換装置との間で共通の共通鍵を共有する鍵交換システムであって、
秘密鍵dkAは鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、秘密鍵dkSAは、暗号文を公開鍵の情報無しで生成できる公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、第一暗号文生成秘密鍵rSAは暗号文生成の乱数空間RSEからランダムに選択され、第一暗号文CTSAは前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより第一暗号文生成秘密鍵rSAが暗号化されて生成されるものであり、秘密鍵dkAと秘密鍵dkSAと第一暗号文生成秘密鍵rSAとを含む第一長期秘密鍵SSKAが、前記第一鍵交換装置以外の鍵交換装置に対して秘密にされ、前記秘密鍵dkAに対応する公開鍵ekAと前記秘密鍵dkSAに対応する公開鍵ekSAと第一暗号文CTSAとを含む第一長期公開鍵SPKAとが、前記第二鍵交換装置に対してアクセス可能にされるものとし、
秘密鍵dkBは前記鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、秘密鍵dkSBは前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、第二暗号文生成秘密鍵rSBは暗号文生成の乱数空間RSEからランダムに選択され、第二暗号文CTSBは前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより第二暗号文生成秘密鍵rSBが暗号化されて生成されるものであり、秘密鍵dkBと秘密鍵dkSBと第二暗号文生成秘密鍵rSBとを含む第二長期秘密鍵SSKBを秘密にされ、前記秘密鍵dkBに対応する公開鍵ekBと前記秘密鍵dkSBに対応する公開鍵ekSBと第二暗号文CTSBとを含む第二長期公開鍵SPKBを前記第一鍵交換装置に対してアクセス可能にされるものとし、
前記第一鍵交換装置は、
暗号文生成の乱数空間RSEからランダムに第一暗号文生成アドホック秘密鍵rAを選択し、鍵生成の乱数空間RSGからランダムに第一鍵生成アドホック秘密鍵rTAを選択する第一秘密鍵選択部と、
前記第二鍵交換装置にアクセス可能に記憶される第二長期公開鍵SPKBに含まれる公開鍵ekBを用いて、前記鍵カプセル化メカニズムの鍵カプセル化アルゴリズムにより、第一暗号文生成アドホック秘密鍵rAを暗号化し、第一暗号文CTAと第一鍵KAとの組を生成する第一暗号化部と、
前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより、前記第一鍵生成アドホック秘密鍵rTAを用いて、公開鍵ekTと秘密鍵dkTとの組を生成する鍵生成部と、
前記秘密鍵dkAを用いて、前記鍵カプセル化メカニズムの復号アルゴリズムにより、前記第二鍵交換装置から受信する第二暗号文CTBを復号し、第二鍵KBを求める第一復号部と、
前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの復号アルゴリズムにより、前記秘密鍵dkTを用いて、前記第二鍵交換装置から受信する暗号文CTTを復号し、鍵KTを求める第二復号部と、
前記秘密鍵dkSAを用いて、前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの復号アルゴリズムにより、第二暗号文生成秘密鍵rSBが暗号化されて生成される第二暗号文CTSBを復号し、鍵KSを求める第三復号部と、
前記第一鍵KA、前記第二鍵KB、前記鍵KT及び前記鍵KSを用いて、共通鍵生成パラメータK'1、K'2、K'3及びK'4を求める第一パラメータ生成部と、
疑似ランダム関数Gにより、セッション識別子と、前記共通鍵生成パラメータK'1、K'2、K'3及びK'4とを用いて共通鍵SKを生成する第一共通鍵生成部とを含み、
前記第二鍵交換装置は、
暗号文生成の乱数空間RSEからランダムに第二暗号文生成アドホック秘密鍵rBを選択し、暗号文生成の乱数空間RSEからランダムに第二鍵生成アドホック秘密鍵rTBを選択する第二秘密鍵選択部と、
前記公開鍵ekAを用いて、前記鍵カプセル化メカニズムの鍵カプセル化アルゴリズムにより、第二暗号文生成アドホック秘密鍵rBを暗号化し、第二暗号文CTBと第二鍵KBとの組を生成する第二暗号化部と、
前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより、前記第二鍵生成アドホック秘密鍵rTBを暗号化し、前記暗号文CTTを生成する第三暗号化部と、
前記秘密鍵dkBを用いて、前記鍵カプセル化メカニズムの復号アルゴリズムにより、前記第一暗号文CTAを復号し、第一鍵KAを求める第四復号部と、
前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムのKEM鍵生成アルゴリズムにより、前記公開鍵ekTを用いて、前記暗号文CTT及び前記第二鍵生成アドホック秘密鍵rTBを暗号化し、鍵KTを生成する第四暗号化部と、
前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムのKEM鍵生成アルゴリズムにより、前記公開鍵ekSAを用いて、前記第二暗号文CTSB及び前記第二暗号文生成秘密鍵rSBを暗号化し、鍵KSを生成する第五暗号化部と、
前記第一鍵KA、前記第二鍵KB、前記鍵KT及び前記鍵KSを用いて、共通鍵生成パラメータK'1、K'2、K'3及びK'4を求める第二パラメータ生成部と、
前記疑似ランダム関数Gにより、セッション識別子と、前記共通鍵生成パラメータK'1、K'2、K'3及びK'4とを用いて共通鍵SKを生成する第二共通鍵生成部とを含む、
鍵交換システム。
A key exchange system that includes a first key exchange device and a second key exchange device, and shares a common key between the first key exchange device and the second key exchange device,
The secret key dk A is generated by the key generation algorithm of the key encapsulation mechanism, and the secret key dk SA is generated by the key generation algorithm of the public key independent ciphertext generation key encapsulation mechanism that can generate ciphertext without public key information. is generated, the first ciphertext generating private key r SA is selected randomly from the random number space RS E ciphertext generation, the first ciphertext CT SA ciphertext generation of the public key independent ciphertext generating possible key encapsulation mechanism The first ciphertext generation secret key r SA is generated by encryption using an algorithm, and includes the first long-term secret key including the secret key dk A , the secret key dk SA, and the first ciphertext generation secret key r SA SSK A is kept secret from the key exchange device other than the first key exchange device, and the public key ek A corresponding to the secret key dk A and the public key ek SA corresponding to the secret key dk SA and the first a first long-term public key SPK a including the ciphertext CT SA is, Shall be made accessible to serial second key exchange unit,
The secret key dk B is generated by the key generation algorithm of the key encapsulation mechanism, the secret key dk SB is generated by the key generation algorithm of the public key independent ciphertext generation possible key encapsulation mechanism, and the second ciphertext generation secret key r SB are selected randomly from the random number space RS E ciphertext generation, second ciphertext CT SB is the public key independent ciphertext producible by the ciphertext generation algorithm of the key encapsulation mechanism second ciphertext generating private keys r SB is generated by encryption, the second long-term secret key SSK B including the secret key dk B , the secret key dk SB, and the second ciphertext generation secret key r SB is kept secret, and the secret key access to the second long-term public key SPK B containing a public key ek SB and the second ciphertext CT SB of the public key ek B corresponding to dk B corresponding to the secret key dk SB relative to the first key exchange apparatus Shall be enabled,
The first key exchange device is:
The first secret to select a first ciphertext generating ad hoc private key r A randomly from the random number space RS E ciphertext generating, selecting a first key generating ad hoc private key r TA randomly from the random number space RS G key generation A key selector;
Using the public key ek B included in the second long-term public key SPK B stored so as to be accessible to the second key exchange device, the first ciphertext generation ad hoc secret is generated by the key encapsulation algorithm of the key encapsulation mechanism. A first encryption unit that encrypts the key r A and generates a pair of the first ciphertext CT A and the first key K A ;
A key generation unit that generates a set of a public key ek T and a secret key dk T using the first key generation ad hoc secret key r TA by a key generation algorithm of the public key independent ciphertext generateable key encapsulation mechanism When,
Using the secret key dk A, the decryption algorithm of the key encapsulation mechanism, decrypts the second ciphertext CT B received from the second key exchange unit, a first decoding unit for obtaining a second key K B ,
The decoding algorithm of the public key independent ciphertext generating possible key encapsulation mechanism, using said secret key dk T, to decrypt the ciphertext CT T received from the second key exchange unit, the second to determine the key K T A decryption unit;
Using the secret key dk SA , the second ciphertext CT SB generated by encrypting the second ciphertext generation secret key r SB by the decryption algorithm of the public key independent ciphertext generateable key encapsulation mechanism A third decryption unit for decrypting and obtaining the key K S ;
First to obtain common key generation parameters K ′ 1 , K ′ 2 , K ′ 3 and K ′ 4 using the first key K A , the second key K B , the key K T and the key K S A parameter generator;
A pseudo-random function G, including a session identifier and a first common key generation unit that generates a common key SK using the common key generation parameters K ′ 1 , K ′ 2 , K ′ 3 and K ′ 4 ,
The second key exchange device
The second ciphertext generating ad hoc secret key r B were randomly selected from the random number space RS E of ciphertext generator, the second to select the second key generation ad hoc secret key r TB at random from the random number space RS E of the ciphertext generating A secret key selector,
Using the public key ek A, wherein the key encapsulation algorithm key encapsulation mechanism, a second ciphertext generating ad hoc private key r B encrypts the second ciphertext CT B and the set of the second key K B A second encryption unit for generating
The ciphertext generation algorithm of the public key independent ciphertext generating possible key encapsulation mechanism, encrypting the second key generating ad hoc private key r TB, a third encryption unit for generating the ciphertext CT T,
Using the secret key dk B, the decoding algorithm of the key encapsulation mechanism, decoding the first cipher text CT A, and a fourth decryption unit for obtaining the first key K A,
Using the public key ek T , the ciphertext CT T and the second key generation ad hoc private key r TB are encrypted by the KEM key generation algorithm of the public key independent ciphertext generateable key encapsulation mechanism, and the key K A fourth encryption unit for generating T ;
Using the public key ek SA , the second ciphertext CT SB and the second ciphertext generation secret key r SB are encrypted using the public key ek SA by the public key independent ciphertext generateable key encapsulation mechanism, A fifth encryption unit for generating the key K S ;
Second to obtain common key generation parameters K ′ 1 , K ′ 2 , K ′ 3 and K ′ 4 using the first key K A , the second key K B , the key K T and the key K S A parameter generator;
A second common key generation unit that generates a common key SK using the pseudo-random function G using a session identifier and the common key generation parameters K ′ 1 , K ′ 2 , K ′ 3 and K ′ 4 ,
Key exchange system.
請求項1の鍵交換システムであって、
κをセキュリティパラメータ、FSを疑似ランダム関数の鍵空間、|FS|=κ、G:{0,1}*×FS→{0,1}κを疑似ランダム関数、KSをKEM鍵の空間、Saltをソルト空間、KDF:Salt×KS→FSをランダムに選んだ公開ソルトs∈Saltを用いる鍵導出関数、Ext:SS×KS→FSをランダムに選んだ公開シードs'を用いる強ランダム抽出器とし、
疑似ランダム関数G、鍵導出関数KDF及び公開ソルトs、または、強ランダム抽出器Ext及びシードs'を共通公開パラメータとし、
前記第一パラメータ生成部及び前記第二パラメータ生成部は、
K'1←KDF(s,KA)
K'2←KDF(s,KB)
K'3←KDF(s,KT)
K'4←KDF(s,KS)
または
K'1←Ext(s',KA)
K'2←Ext(s',KB)
K'3←Ext(s',KT)
K'4←Ext(s',KS)
により、前記共通鍵生成パラメータK'1、K'2、K'3及びK'4を求め、
前記第一共通鍵生成部及び前記第二共通鍵生成部は、UA及びUAをそれぞれ第一鍵交換装置及び第二鍵交換装置の操作者の識別子とし、セッション識別子ST=(UA,UB,SPKA,SPKB,CTA,ekT,CTB,CTT)を用いて、
Figure 2015070498
により、前記共通鍵SKを生成する、
鍵交換システム。
The key exchange system of claim 1,
κ is security parameter, FS is pseudorandom function key space, | FS | = κ, G: {0,1} * × FS → {0,1} κ is pseudorandom function, KS is KEM key space, Salt Is a salt space, a key derivation function that uses a public salt s∈Salt that randomly selects KDF: Salt × KS → FS, and a strong random extractor that uses a public seed s' that randomly selects Ext: SS × KS → FS. ,
The pseudo-random function G, the key derivation function KDF and the public salt s, or the strong random extractor Ext and the seed s ′ are used as common public parameters,
The first parameter generator and the second parameter generator are
K ' 1 ← KDF (s, K A )
K ' 2 ← KDF (s, K B )
K ' 3 ← KDF (s, K T )
K ' 4 ← KDF (s, K S )
Or
K ' 1 ← Ext (s', K A )
K ' 2 ← Ext (s', K B )
K ' 3 ← Ext (s', K T )
K ' 4 ← Ext (s', K S )
To obtain the common key generation parameters K ′ 1 , K ′ 2 , K ′ 3 and K ′ 4 ,
The first common key generation unit and the second common key generation unit use U A and U A as identifiers of operators of the first key exchange device and the second key exchange device, respectively, and a session identifier ST = (U A , U B , SPK A , SPK B , CT A , ek T , CT B , CT T )
Figure 2015070498
To generate the common key SK,
Key exchange system.
請求項1または2の鍵交換システムであって、
前記鍵カプセル化メカニズムは、選択暗号文攻撃に対して識別不可能であり、
前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムは、選択平文攻撃に対して識別不可能である、
鍵交換システム。
The key exchange system according to claim 1 or 2, wherein
The key encapsulation mechanism is indistinguishable against selective ciphertext attacks;
The public key independent ciphertext generatable key encapsulation mechanism is indistinguishable against a selected plaintext attack,
Key exchange system.
他の装置との間で共通の共通鍵を共有する鍵交換装置であって、
秘密鍵dkAは鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、秘密鍵dkSAは、暗号文を公開鍵の情報無しで生成できる公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、第一暗号文生成秘密鍵rSAは暗号文生成の乱数空間RSEからランダムに選択され、第一暗号文CTSAは前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより第一暗号文生成秘密鍵rSAが暗号化されて生成されるものであり、秘密鍵dkAと秘密鍵dkSAと第一暗号文生成秘密鍵rSAとを含む第一長期秘密鍵SSKAが、前記鍵交換装置以外の鍵交換装置に対して秘密にされ、前記秘密鍵dkAに対応する公開鍵ekAと前記秘密鍵dkSAに対応する公開鍵ekSAと第一暗号文CTSAとを含む第一長期公開鍵SPKAとが、前記他の装置に対してアクセス可能にされるものとし、
秘密鍵dkBは前記鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、秘密鍵dkSBは前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、第二暗号文生成秘密鍵rSBは暗号文生成の乱数空間RSEからランダムに選択され、第二暗号文CTSBは前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより第二暗号文生成秘密鍵rSBが暗号化されて生成されるものであり、秘密鍵dkBと秘密鍵dkSBと第二暗号文生成秘密鍵rSBとを含む第二長期秘密鍵SSKBを秘密にされ、前記秘密鍵dkBに対応する公開鍵ekBと前記秘密鍵dkSBに対応する公開鍵ekSBと第二暗号文CTSBとを含む第二長期公開鍵SPKBを前記鍵交換装置に対してアクセス可能にされるものとし、
暗号文生成の乱数空間RSEからランダムに第一暗号文生成アドホック秘密鍵rAを選択し、鍵生成の乱数空間RSGからランダムに第一鍵生成アドホック秘密鍵rTAを選択する第一秘密鍵選択部と、
前記他の装置にアクセス可能に記憶される第二長期公開鍵SPKBに含まれる公開鍵ekBを用いて、前記鍵カプセル化メカニズムの鍵カプセル化アルゴリズムにより、第一暗号文生成アドホック秘密鍵rAを暗号化し、第一暗号文CTAと第一鍵KAとの組を生成する第一暗号化部と、
前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより、前記第一鍵生成アドホック秘密鍵rTAを用いて、公開鍵ekTと秘密鍵dkTとの組を生成する鍵生成部と、
前記秘密鍵dkAを用いて、前記鍵カプセル化メカニズムの復号アルゴリズムにより、前記他の装置から受信する第二暗号文CTBを復号し、第二鍵KBを求める第一復号部と、
前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの復号アルゴリズムにより、前記秘密鍵dkTを用いて、前記他の装置から受信する暗号文CTTを復号し、鍵KTを求める第二復号部と、
前記秘密鍵dkSAを用いて、前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの復号アルゴリズムにより、第二暗号文生成秘密鍵rSBが暗号化されて生成される第二暗号文CTSBを復号し、鍵KSを求める第三復号部と、
前記第一鍵KA、前記第二鍵KB、前記鍵KT及び前記鍵KSを用いて、共通鍵生成パラメータK'1、K'2、K'3及びK'4を求める第一パラメータ生成部と、
疑似ランダム関数Gにより、セッション識別子と、前記共通鍵生成パラメータK'1、K'2、K'3及びK'4とを用いて共通鍵SKを生成する第一共通鍵生成部とを含む、
鍵交換装置。
A key exchange device that shares a common key with other devices,
The secret key dk A is generated by the key generation algorithm of the key encapsulation mechanism, and the secret key dk SA is generated by the key generation algorithm of the public key independent ciphertext generation key encapsulation mechanism that can generate ciphertext without public key information. is generated, the first ciphertext generating private key r SA is selected randomly from the random number space RS E ciphertext generation, the first ciphertext CT SA ciphertext generation of the public key independent ciphertext generating possible key encapsulation mechanism The first ciphertext generation secret key r SA is generated by encryption using an algorithm, and includes the first long-term secret key including the secret key dk A , the secret key dk SA, and the first ciphertext generation secret key r SA SSK a is kept secret to the key exchange apparatus other than the key exchange apparatus, the public key ek SA and the first ciphertext corresponding to the public key ek a corresponding to the secret key dk a the secret key dk SA a first long-term public key SPK a including the CT SA is the It shall be made accessible to the device,
The secret key dk B is generated by the key generation algorithm of the key encapsulation mechanism, the secret key dk SB is generated by the key generation algorithm of the public key independent ciphertext generation possible key encapsulation mechanism, and the second ciphertext generation secret key r SB are selected randomly from the random number space RS E ciphertext generation, second ciphertext CT SB is the public key independent ciphertext producible by the ciphertext generation algorithm of the key encapsulation mechanism second ciphertext generating private keys r SB is generated by encryption, the second long-term secret key SSK B including the secret key dk B , the secret key dk SB, and the second ciphertext generation secret key r SB is kept secret, and the secret key a second long-term public key SPK B accessibly to said key exchange apparatus including a public key ek SB and the second ciphertext CT SB of the public key ek B corresponding to dk B corresponding to the secret key dk SB Shall be
The first secret to select a first ciphertext generating ad hoc private key r A randomly from the random number space RS E ciphertext generating, selecting a first key generating ad hoc private key r TA randomly from the random number space RS G key generation A key selector;
Using the public key ek B included in the second long-term public key SPK B stored so as to be accessible to the other device, the first ciphertext generation ad hoc secret key r is obtained by the key encapsulation algorithm of the key encapsulation mechanism. A first encryption unit that encrypts A and generates a pair of a first ciphertext CT A and a first key K A ;
A key generation unit that generates a set of a public key ek T and a secret key dk T using the first key generation ad hoc secret key r TA by a key generation algorithm of the public key independent ciphertext generateable key encapsulation mechanism When,
Using the secret key dk A, the decryption algorithm of the key encapsulation mechanism, decrypts the second ciphertext CT B received from the other apparatus, a first decoding unit for obtaining a second key K B,
A second decryption unit that decrypts the ciphertext CT T received from the other device using the secret key dk T by the decryption algorithm of the public key independent ciphertext generateable key encapsulation mechanism and obtains the key K T When,
Using the secret key dk SA , the second ciphertext CT SB generated by encrypting the second ciphertext generation secret key r SB by the decryption algorithm of the public key independent ciphertext generateable key encapsulation mechanism A third decryption unit for decrypting and obtaining the key K S ;
First to obtain common key generation parameters K ′ 1 , K ′ 2 , K ′ 3 and K ′ 4 using the first key K A , the second key K B , the key K T and the key K S A parameter generator;
A pseudo-random function G, including a session identifier and a first common key generation unit that generates a common key SK using the common key generation parameters K ′ 1 , K ′ 2 , K ′ 3 and K ′ 4 ,
Key exchange device.
他の装置との間で共通の共通鍵を共有する鍵交換装置であって、
秘密鍵dkAは鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、秘密鍵dkSAは、暗号文を公開鍵の情報無しで生成できる公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、第一暗号文生成秘密鍵rSAは暗号文生成の乱数空間RSEからランダムに選択され、第一暗号文CTSAは前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより第一暗号文生成秘密鍵rSAが暗号化されて生成されるものであり、秘密鍵dkAと秘密鍵dkSAと第一暗号文生成秘密鍵rSAとを含む第一長期秘密鍵SSKAが、前記他の装置以外の鍵交換装置に対して秘密にされ、前記秘密鍵dkAに対応する公開鍵ekAと前記秘密鍵dkSAに対応する公開鍵ekSAと第一暗号文CTSAとを含む第一長期公開鍵SPKAとが、前記鍵交換装置に対してアクセス可能にされるものとし、
秘密鍵dkBは前記鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、秘密鍵dkSBは前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、第二暗号文生成秘密鍵rSBは暗号文生成の乱数空間RSEからランダムに選択され、第二暗号文CTSBは前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより第二暗号文生成秘密鍵rSBが暗号化されて生成されるものであり、秘密鍵dkBと秘密鍵dkSBと第二暗号文生成秘密鍵rSBとを含む第二長期秘密鍵SSKBを秘密にされ、前記秘密鍵dkBに対応する公開鍵ekBと前記秘密鍵dkSBに対応する公開鍵ekSBと第二暗号文CTSBとを含む第二長期公開鍵SPKBを前記他の装置に対してアクセス可能にされるものとし、
暗号文生成の乱数空間RSEからランダムに第二暗号文生成アドホック秘密鍵rBを選択し、暗号文生成の乱数空間RSEからランダムに第二鍵生成アドホック秘密鍵rTBを選択する第二秘密鍵選択部と、
前記公開鍵ekAを用いて、前記鍵カプセル化メカニズムの鍵カプセル化アルゴリズムにより、第二暗号文生成アドホック秘密鍵rBを暗号化し、第二暗号文CTBと第二鍵KBとの組を生成する第二暗号化部と、
前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより、前記第二鍵生成アドホック秘密鍵rTBを暗号化し、前記暗号文CTTを生成する第三暗号化部と、
前記秘密鍵dkBを用いて、前記鍵カプセル化メカニズムの復号アルゴリズムにより、前記他の装置から受信する第一暗号文CTAを復号し、第一鍵KAを求める第四復号部と、
前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムのKEM鍵生成アルゴリズムにより、前記他の装置から受信する公開鍵ekTを用いて、前記暗号文CTT及び前記第二鍵生成アドホック秘密鍵rTBを暗号化し、鍵KTを生成する第四暗号化部と、
前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムのKEM鍵生成アルゴリズムにより、前記公開鍵ekSAを用いて、前記第二暗号文CTSB及び前記第二暗号文生成秘密鍵rSBを暗号化し、鍵KSを生成する第五暗号化部と、
前記第一鍵KA、前記第二鍵KB、前記鍵KT及び前記鍵KSを用いて、共通鍵生成パラメータK'1、K'2、K'3及びK'4を求める第二パラメータ生成部と、
前記疑似ランダム関数Gにより、セッション識別子と、前記共通鍵生成パラメータK'1、K'2、K'3及びK'4とを用いて共通鍵SKを生成する第二共通鍵生成部とを含む、
鍵交換装置。
A key exchange device that shares a common key with other devices,
The secret key dk A is generated by the key generation algorithm of the key encapsulation mechanism, and the secret key dk SA is generated by the key generation algorithm of the public key independent ciphertext generation key encapsulation mechanism that can generate ciphertext without public key information. is generated, the first ciphertext generating private key r SA is selected randomly from the random number space RS E ciphertext generation, the first ciphertext CT SA ciphertext generation of the public key independent ciphertext generating possible key encapsulation mechanism The first ciphertext generation secret key r SA is generated by encryption using an algorithm, and includes the first long-term secret key including the secret key dk A , the secret key dk SA, and the first ciphertext generation secret key r SA SSK a is kept secret to the key exchange apparatus other than the another device, the public key ek SA and the first ciphertext corresponding to the public key ek a corresponding to the secret key dk a the secret key dk SA a first long-term public key SPK a including the CT SA is the key It shall be made accessible to conversion device,
The secret key dk B is generated by the key generation algorithm of the key encapsulation mechanism, the secret key dk SB is generated by the key generation algorithm of the public key independent ciphertext generation possible key encapsulation mechanism, and the second ciphertext generation secret key r SB are selected randomly from the random number space RS E ciphertext generation, second ciphertext CT SB is the public key independent ciphertext producible by the ciphertext generation algorithm of the key encapsulation mechanism second ciphertext generating private keys r SB is generated by encryption, the second long-term secret key SSK B including the secret key dk B , the secret key dk SB, and the second ciphertext generation secret key r SB is kept secret, and the secret key a second long-term public key SPK B accessibly to said another device including a public key ek SB and the second ciphertext CT SB of the public key ek B corresponding to dk B corresponding to the secret key dk SB Shall be
The second ciphertext generating ad hoc secret key r B were randomly selected from the random number space RS E of ciphertext generator, the second to select the second key generation ad hoc secret key r TB at random from the random number space RS E of the ciphertext generating A secret key selector,
Using the public key ek A, wherein the key encapsulation algorithm key encapsulation mechanism, a second ciphertext generating ad hoc private key r B encrypts the second ciphertext CT B and the set of the second key K B A second encryption unit for generating
The ciphertext generation algorithm of the public key independent ciphertext generating possible key encapsulation mechanism, encrypting the second key generating ad hoc private key r TB, a third encryption unit for generating the ciphertext CT T,
A fourth decryption unit that decrypts the first ciphertext CT A received from the other device by the decryption algorithm of the key encapsulation mechanism using the secret key dk B , and obtains the first key KA;
Using the public key ek T received from the other device, the cipher text CT T and the second key generation ad hoc secret key r TB by using the KEM key generation algorithm of the public key independent cipher text generateable key encapsulation mechanism A fourth encryption unit for encrypting and generating a key K T ;
Using the public key ek SA , the second ciphertext CT SB and the second ciphertext generation secret key r SB are encrypted using the public key ek SA by the public key independent ciphertext generateable key encapsulation mechanism, A fifth encryption unit for generating the key K S ;
Second to obtain common key generation parameters K ′ 1 , K ′ 2 , K ′ 3 and K ′ 4 using the first key K A , the second key K B , the key K T and the key K S A parameter generator;
A second common key generation unit that generates a common key SK using the pseudo-random function G using a session identifier and the common key generation parameters K ′ 1 , K ′ 2 , K ′ 3 and K ′ 4 ,
Key exchange device.
第一鍵交換装置と第二鍵交換装置との間で共通の共通鍵を共有するための鍵交換方法であって、
秘密鍵dkAは鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、秘密鍵dkSAは、暗号文を公開鍵の情報無しで生成できる公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、第一暗号文生成秘密鍵rSAは暗号文生成の乱数空間RSEからランダムに選択され、第一暗号文CTSAは前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより第一暗号文生成秘密鍵rSAが暗号化されて生成されるものであり、秘密鍵dkAと秘密鍵dkSAと第一暗号文生成秘密鍵rSAとを含む第一長期秘密鍵SSKAが、前記第一鍵交換装置以外の鍵交換装置に対して秘密にされ、前記秘密鍵dkAに対応する公開鍵ekAと前記秘密鍵dkSAに対応する公開鍵ekSAと第一暗号文CTSAとを含む第一長期公開鍵SPKAとが、前記第二鍵交換装置に対してアクセス可能にされるものとし、
秘密鍵dkBは前記鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、秘密鍵dkSBは前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより生成され、第二暗号文生成秘密鍵rSBは暗号文生成の乱数空間RSEからランダムに選択され、第二暗号文CTSBは前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより第二暗号文生成秘密鍵rSBが暗号化されて生成されるものであり、秘密鍵dkBと秘密鍵dkSBと第二暗号文生成秘密鍵rSBとを含む第二長期秘密鍵SSKBを秘密にされ、前記秘密鍵dkBに対応する公開鍵ekBと前記秘密鍵dkSBに対応する公開鍵ekSBと第二暗号文CTSBとを含む第二長期公開鍵SPKBを前記第一鍵交換装置に対してアクセス可能にされるものとし、
前記第一鍵交換装置が、暗号文生成の乱数空間RSEからランダムに第一暗号文生成アドホック秘密鍵rAを選択し、鍵生成の乱数空間RSGからランダムに第一鍵生成アドホック秘密鍵rTAを選択する第一秘密鍵選択ステップと、
前記第一鍵交換装置が、前記第二鍵交換装置にアクセス可能に記憶される第二長期公開鍵SPKBに含まれる公開鍵ekBを用いて、前記鍵カプセル化メカニズムの鍵カプセル化アルゴリズムにより、第一暗号文生成アドホック秘密鍵rAを暗号化し、第一暗号文CTAと第一鍵KAとの組を生成する第一暗号化ステップと、
前記第一鍵交換装置が、前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの鍵生成アルゴリズムにより、前記第一鍵生成アドホック秘密鍵rTAを用いて、公開鍵ekTと秘密鍵dkTとの組を生成する鍵生成ステップと、
前記第二鍵交換装置が、暗号文生成の乱数空間RSEからランダムに第二暗号文生成アドホック秘密鍵rBを選択し、暗号文生成の乱数空間RSEからランダムに第二鍵生成アドホック秘密鍵rTBを選択する第二秘密鍵選択ステップと、
前記第二鍵交換装置が、前記公開鍵ekAを用いて、前記鍵カプセル化メカニズムの鍵カプセル化アルゴリズムにより、第二暗号文生成アドホック秘密鍵rBを暗号化し、第二暗号文CTBと第二鍵KBとの組を生成する第二暗号化ステップと、
前記第二鍵交換装置が、前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの暗号文生成アルゴリズムにより、前記第二鍵生成アドホック秘密鍵rTBを暗号化し、前記暗号文CTTを生成する第三暗号化ステップと、
前記第一鍵交換装置が、前記秘密鍵dkAを用いて、前記鍵カプセル化メカニズムの復号アルゴリズムにより、前記第二鍵交換装置から受信する第二暗号文CTBを復号し、第二鍵KBを求める第一復号ステップと、
前記第一鍵交換装置が、前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの復号アルゴリズムにより、前記秘密鍵dkTを用いて、前記第二鍵交換装置から受信する暗号文CTTを復号し、鍵KTを求める第二復号ステップと、
前記第一鍵交換装置が、前記秘密鍵dkSAを用いて、前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムの復号アルゴリズムにより、第二暗号文生成秘密鍵rSBが暗号化されて生成される第二暗号文CTSBを復号し、鍵KSを求める第三復号ステップと、
前記第一鍵交換装置が、前記第一鍵KA、前記第二鍵KB、前記鍵KT及び前記鍵KSを用いて、共通鍵生成パラメータK'1、K'2、K'3及びK'4を求める第一パラメータ生成ステップと、
前記第一鍵交換装置が、疑似ランダム関数Gにより、セッション識別子と、前記共通鍵生成パラメータK'1、K'2、K'3及びK'4とを用いて共通鍵SKを生成する第一共通鍵生成ステップと、
前記第二鍵交換装置が、前記秘密鍵dkBを用いて、前記鍵カプセル化メカニズムの復号アルゴリズムにより、前記第一暗号文CTAを復号し、第一鍵KAを求める第四復号ステップと、
前記第二鍵交換装置が、前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムのKEM鍵生成アルゴリズムにより、前記公開鍵ekTを用いて、前記暗号文CTT及び前記第二鍵生成アドホック秘密鍵rTBを暗号化し、鍵KTを生成する第四暗号化ステップと、
前記第二鍵交換装置が、前記公開鍵独立暗号文生成可能鍵カプセル化メカニズムのKEM鍵生成アルゴリズムにより、前記公開鍵ekSAを用いて、前記第二暗号文CTSB及び前記第二暗号文生成秘密鍵rSBを暗号化し、鍵KSを生成する第五暗号化ステップと、
前記第二鍵交換装置が、前記第一鍵KA、前記第二鍵KB、前記鍵KT及び前記鍵KSを用いて、共通鍵生成パラメータK'1、K'2、K'3及びK'4を求める第二パラメータ生成ステップと、
前記第二鍵交換装置が、前記疑似ランダム関数Gにより、セッション識別子と、前記共通鍵生成パラメータK'1、K'2、K'3及びK'4とを用いて共通鍵SKを生成する第二共通鍵生成ステップとを含む、
鍵交換方法。
A key exchange method for sharing a common common key between a first key exchange device and a second key exchange device,
The secret key dk A is generated by the key generation algorithm of the key encapsulation mechanism, and the secret key dk SA is generated by the key generation algorithm of the public key independent ciphertext generation key encapsulation mechanism that can generate ciphertext without public key information. is generated, the first ciphertext generating private key r SA is selected randomly from the random number space RS E ciphertext generation, the first ciphertext CT SA ciphertext generation of the public key independent ciphertext generating possible key encapsulation mechanism The first ciphertext generation secret key r SA is generated by encryption using an algorithm, and includes the first long-term secret key including the secret key dk A , the secret key dk SA, and the first ciphertext generation secret key r SA SSK A is kept secret from the key exchange device other than the first key exchange device, and the public key ek A corresponding to the secret key dk A and the public key ek SA corresponding to the secret key dk SA and the first a first long-term public key SPK a including the ciphertext CT SA is, Shall be made accessible to serial second key exchange unit,
The secret key dk B is generated by the key generation algorithm of the key encapsulation mechanism, the secret key dk SB is generated by the key generation algorithm of the public key independent ciphertext generation possible key encapsulation mechanism, and the second ciphertext generation secret key r SB are selected randomly from the random number space RS E ciphertext generation, second ciphertext CT SB is the public key independent ciphertext producible by the ciphertext generation algorithm of the key encapsulation mechanism second ciphertext generating private keys r SB is generated by encryption, the second long-term secret key SSK B including the secret key dk B , the secret key dk SB, and the second ciphertext generation secret key r SB is kept secret, and the secret key access to the second long-term public key SPK B containing a public key ek SB and the second ciphertext CT SB of the public key ek B corresponding to dk B corresponding to the secret key dk SB relative to the first key exchange apparatus Shall be enabled,
Said first key exchange apparatus selects the first ciphertext generating ad hoc private key r A randomly from the random number space RS E ciphertext generating a first key generating ad hoc private key randomly from the random number space RS G key generation r a first secret key selection step for selecting TA ;
The first key exchange device uses the public key ek B included in the second long-term public key SPK B stored so as to be accessible to the second key exchange device, and uses the key encapsulation algorithm of the key encapsulation mechanism. A first encryption step of encrypting the first ciphertext generation ad hoc secret key r A and generating a pair of the first ciphertext CT A and the first key K A ;
The first key exchange apparatus uses the first key generation ad hoc secret key r TA according to the key generation algorithm of the public key independent ciphertext generationable key encapsulation mechanism to generate a public key ek T and a secret key dk T. A key generation step for generating a set of
It said second key exchange apparatus selects the second ciphertext generating ad hoc private key r B at random from the random number space RS E ciphertext generating second key generating ad hoc secret randomly from the random number space RS E ciphertext generation A second secret key selection step of selecting the key r TB ;
The second key exchange device uses the public key ek A to encrypt a second ciphertext generation ad hoc secret key r B by a key encapsulation algorithm of the key encapsulation mechanism, and a second ciphertext CT B a second encryption step of generating a set of the second key K B,
The said second key exchange apparatus, wherein the public key independent ciphertext ciphertext generation algorithm can generate the key encapsulation mechanism, encrypting the second key generating ad hoc private key r TB, to generate the ciphertext CT T Three encryption steps;
The first key exchange device decrypts the second ciphertext CT B received from the second key exchange device by the decryption algorithm of the key encapsulation mechanism using the secret key dk A , and the second key K A first decoding step for obtaining B ;
It said first key exchange apparatus, the decryption algorithm of the public key independent ciphertext generating possible key encapsulation mechanism, using said secret key dk T, to decrypt the ciphertext CT T received from the second key exchange unit a second decoding step of obtaining the key K T,
The first key exchange device uses the secret key dk SA to generate a second ciphertext generation secret key r SB encrypted by a decryption algorithm of the public key independent ciphertext generationable key encapsulation mechanism. A third decryption step of decrypting the second ciphertext CT SB and obtaining the key K S ;
The first key exchange device uses the first key K A , the second key K B , the key K T and the key K S to generate common key generation parameters K ′ 1 , K ′ 2 , K ′ 3 And a first parameter generation step for obtaining K ′ 4 ,
The first key exchange device uses a pseudo-random function G to generate a common key SK using a session identifier and the common key generation parameters K ′ 1 , K ′ 2 , K ′ 3 and K ′ 4 A common key generation step;
A fourth decryption step in which the second key exchange device decrypts the first ciphertext CT A by using the secret key dk B by the decryption algorithm of the key encapsulation mechanism to obtain the first key KA; ,
The second key exchange device uses the public key ek T to generate the ciphertext CT T and the second key generation ad hoc secret key by the KEM key generation algorithm of the public key independent ciphertext generateable key encapsulation mechanism. r a fourth encryption step that encrypts TB and generates a key K T ;
The second key exchange device generates the second ciphertext CT SB and the second ciphertext by using the public key ek SA by the KEM key generation algorithm of the public key independent ciphertext generateable key encapsulation mechanism. A fifth encryption step of encrypting the private key r SB and generating the key K S ;
The second key exchange apparatus uses the first key K A , the second key K B , the key K T and the key K S to generate common key generation parameters K ′ 1 , K ′ 2 , K ′ 3 And a second parameter generation step for obtaining K ′ 4 ,
The second key exchange device uses the pseudo-random function G to generate a common key SK using a session identifier and the common key generation parameters K ′ 1 , K ′ 2 , K ′ 3 and K ′ 4 Two common key generation steps,
Key exchange method.
請求項5の鍵交換方法であって、
κをセキュリティパラメータ、FSを疑似ランダム関数の鍵空間、|FS|=κ、G:{0,1}*×FS→{0,1}κを疑似ランダム関数、KSをKEM鍵の空間、Saltをソルト空間、KDF:Salt×KS→FSをランダムに選んだ公開ソルトs∈Saltを用いる鍵導出関数、Ext:SS×KS→FSをランダムに選んだ公開シードs'を用いる強ランダム抽出器とし、
疑似ランダム関数G、鍵導出関数KDF及び公開ソルトs、または、強ランダム抽出器Ext及びシードs'を共通公開パラメータとし、
前記第一パラメータ生成ステップ及び前記第二パラメータ生成ステップは、
K'1←KDF(s,KA)
K'2←KDF(s,KB)
K'3←KDF(s,KT)
K'4←KDF(s,KS)
または
K'1←Ext(s',KA)
K'2←Ext(s',KB)
K'3←Ext(s',KT)
K'4←Ext(s',KS)
により、前記共通鍵生成パラメータK'1、K'2、K'3及びK'4を求め、
前記第一共通鍵生成ステップ及び前記第二共通鍵生成ステップは、UA及びUAをそれぞれ第一鍵交換装置及び第二鍵交換装置の操作者の識別子とし、セッション識別子ST=(UA,UB,SPKA,SPKB,CTA,ekT,CTB,CTT)を用いて、
Figure 2015070498
により、前記共通鍵SKを生成する、
鍵交換方法。
The key exchange method according to claim 5, comprising:
κ is security parameter, FS is pseudorandom function key space, | FS | = κ, G: {0,1} * × FS → {0,1} κ is pseudorandom function, KS is KEM key space, Salt Is a salt space, a key derivation function that uses a public salt s∈Salt that randomly selects KDF: Salt × KS → FS, and a strong random extractor that uses a public seed s' that randomly selects Ext: SS × KS → FS. ,
The pseudo-random function G, the key derivation function KDF and the public salt s, or the strong random extractor Ext and the seed s ′ are used as common public parameters,
The first parameter generation step and the second parameter generation step include
K ' 1 ← KDF (s, K A )
K ' 2 ← KDF (s, K B )
K ' 3 ← KDF (s, K T )
K ' 4 ← KDF (s, K S )
Or
K ' 1 ← Ext (s', K A )
K ' 2 ← Ext (s', K B )
K ' 3 ← Ext (s', K T )
K ' 4 ← Ext (s', K S )
To obtain the common key generation parameters K ′ 1 , K ′ 2 , K ′ 3 and K ′ 4 ,
In the first common key generation step and the second common key generation step, U A and U A are set as identifiers of operators of the first key exchange device and the second key exchange device, respectively, and a session identifier ST = (U A , U B , SPK A , SPK B , CT A , ek T , CT B , CT T )
Figure 2015070498
To generate the common key SK,
Key exchange method.
請求項4または5の鍵交換装置として、コンピュータを機能させるためのプログラム。   A program for causing a computer to function as the key exchange device according to claim 4 or 5.
JP2013204195A 2013-09-30 2013-09-30 KEY EXCHANGE SYSTEM, KEY EXCHANGE DEVICE, ITS METHOD, AND PROGRAM Active JP5945525B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013204195A JP5945525B2 (en) 2013-09-30 2013-09-30 KEY EXCHANGE SYSTEM, KEY EXCHANGE DEVICE, ITS METHOD, AND PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013204195A JP5945525B2 (en) 2013-09-30 2013-09-30 KEY EXCHANGE SYSTEM, KEY EXCHANGE DEVICE, ITS METHOD, AND PROGRAM

Publications (2)

Publication Number Publication Date
JP2015070498A true JP2015070498A (en) 2015-04-13
JP5945525B2 JP5945525B2 (en) 2016-07-05

Family

ID=52836773

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013204195A Active JP5945525B2 (en) 2013-09-30 2013-09-30 KEY EXCHANGE SYSTEM, KEY EXCHANGE DEVICE, ITS METHOD, AND PROGRAM

Country Status (1)

Country Link
JP (1) JP5945525B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017194521A (en) * 2016-04-19 2017-10-26 日本電信電話株式会社 Key exchange method and key exchange system
CN111541533A (en) * 2020-04-07 2020-08-14 陕西师范大学 Certificateless secret key packaging method for resisting continuous secret information leakage

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
JPN6016018767; Atushi Fujioka, et al.: 'Strongly Secure Authenticated Key Exchange from Factoring, Codes, and Lattices' Cryptology ePrint Archive: Report 2012/211 Version: 20130819:081153, 20130819, pp.1-33, [オンライン] *
JPN6016018768; Kazuki Yoneyama, et al.: 'Strongly Secure Authenticated Key Exchange from Key Encapsulation Mechanism: Realization on Lattice,' 2011年 暗号と情報セキュリティシンポジウム SCIS2011 [CD-ROM] 3F4-1, 20110125, p.1-8, 電子情報通信学会情報セキュリティ研究専門委員会 *
JPN6016018769; Toshihide Matuda, et al.: 'Security on Hybrid Encryption with the Tag-KEM/DEM Framework (Extended Abstract)' 2009年 暗号と情報セキュリティシンポジウム SCIS2009 [CD-ROM] 2B2-4, 20090120, p.1-6, 電子情報通信学会情報セキュリティ研究専門委員会 *
JPN6016018770; Kazuki Yoneyama: 'One-Round Authenticated Key Exchange with Strong Forward Secrecy in the Standard Model against Const' LNCS, IWSEC 2012 Vol.7631, 2012, pp.69-86, Springer *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017194521A (en) * 2016-04-19 2017-10-26 日本電信電話株式会社 Key exchange method and key exchange system
CN111541533A (en) * 2020-04-07 2020-08-14 陕西师范大学 Certificateless secret key packaging method for resisting continuous secret information leakage
CN111541533B (en) * 2020-04-07 2023-05-26 陕西师范大学 Certificateless key packaging method for resisting continuous secret information leakage

Also Published As

Publication number Publication date
JP5945525B2 (en) 2016-07-05

Similar Documents

Publication Publication Date Title
EP3453135B1 (en) System and method for encryption and decryption based on quantum key distribution
US10785019B2 (en) Data transmission method and apparatus
Awan et al. Secure framework enhancing AES algorithm in cloud computing
US10972263B2 (en) Single node multi-party encryption
JP6499519B2 (en) Cryptographic scheme for securely exchanging messages and apparatus and system for implementing the scheme
CN111448779A (en) System, device and method for hybrid secret sharing
US20170310479A1 (en) Key Replacement Direction Control System and Key Replacement Direction Control Method
CN112115461B (en) Equipment authentication method and device, computer equipment and storage medium
CN112118245B (en) Key management method, system and equipment
KR102143525B1 (en) Method for function encryption supporting set intersection operation and apparatus using the same
CN110855667B (en) Block chain encryption method, device and system
JP2014175970A (en) Information distribution system, information processing device, and program
CN103378971A (en) Data encryption system and method
WO2018017168A2 (en) System and method for encryption and decryption based on quantum key distribution
Olumide et al. A hybrid encryption model for secure cloud computing
CN107637013B (en) Key exchange method, key exchange system, key distribution device, communication device, and recording medium
EP3010173B1 (en) Key storage device, key storage method, and program therefor
JP5945525B2 (en) KEY EXCHANGE SYSTEM, KEY EXCHANGE DEVICE, ITS METHOD, AND PROGRAM
US20210110064A1 (en) Executing entity-specific cryptographic code in a cryptographic coprocessor
JP6840685B2 (en) Data sharing method, data sharing system, communication terminal, data sharing server, program
CN110419195A (en) Data managing method and system in IOT lightweight terminal environments based on proxy re-encryption
US20210111901A1 (en) Executing entity-specific cryptographic code in a trusted execution environment
US11075756B2 (en) Method of encryption, method of decryption, corresponding computer device and program
JP2015022460A (en) Information storage system, information storage device, method therefor, and program
JP7385025B2 (en) Execution of Entity-Specific Cryptographic Code in a Cryptographic Coprocessor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150724

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160428

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160524

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160530

R150 Certificate of patent or registration of utility model

Ref document number: 5945525

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150