JPWO2019107129A1 - 鍵交換システム、端末装置、鍵交換方法、プログラム、および記録媒体 - Google Patents
鍵交換システム、端末装置、鍵交換方法、プログラム、および記録媒体 Download PDFInfo
- Publication number
- JPWO2019107129A1 JPWO2019107129A1 JP2019557118A JP2019557118A JPWO2019107129A1 JP WO2019107129 A1 JPWO2019107129 A1 JP WO2019107129A1 JP 2019557118 A JP2019557118 A JP 2019557118A JP 2019557118 A JP2019557118 A JP 2019557118A JP WO2019107129 A1 JPWO2019107129 A1 JP WO2019107129A1
- Authority
- JP
- Japan
- Prior art keywords
- key
- mod
- exclusive
- function value
- terminal device
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0852—Quantum cryptography
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/085—Secret sharing or secret splitting, e.g. threshold schemes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3093—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving Lattices or polynomial equations, e.g. NTRU scheme
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Electromagnetism (AREA)
- General Physics & Mathematics (AREA)
- Algebra (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
[第1実施形態]
第1実施形態を説明する。第1実施形態では複数の端末装置の間で共有鍵を共有する処理を説明する。
<構成>
図1に例示するように、本形態の鍵交換システム1は、n個の端末装置100−1〜100−n(端末装置U1,…,Un)と鍵配送管理装置150とを有する。nは3以上の整数である。各端末装置100−i(端末装置Ui)(ただし、i=1,…,n)は、インターネット等を通じて鍵配送管理装置150と通信可能に構成されている。
次に、本形態の鍵交換処理を説明する。本形態の鍵交換処理は、Round1〜3および共有鍵生成を含む。
≪Round1(図4)≫
端末装置100−i(図2)の鍵ペア生成部105−i(ただし、i=1,…,n)は、公開鍵暗号方式の耐量子計算機暗号に則った鍵カプセル復号鍵skiおよび当該鍵カプセル復号鍵skiに対応する鍵暗号化鍵pkiからなる鍵ペア(pki,ski)を生成する。例えば、鍵ペア生成部105−iは、乱数riを生成し、これを鍵カプセル化アルゴリズムの鍵生成アルゴリズムに適用して鍵ペア(pki,ski)を生成して出力する。乱数は疑似乱数であってもよいし、真正乱数であってもよい(以下、同様)。公開鍵暗号方式の耐量子計算機暗号としては、例えば、格子暗号、コードベース暗号などを例示できる。鍵カプセル化アルゴリズムとしては、例えば、以下のものを用いることができる。
参考文献1:Chris Peikert, Lattice Cryptography for the Internet, PQCrypto 2014, LNCS 8772, pp. 197-219, 2014.
生成された鍵カプセル復号鍵skiおよび鍵暗号化鍵pkiは各端末装置100−iの記憶部103−iに格納される。また、鍵暗号化鍵pkiは出力部102−iから出力され、鍵配送管理装置150に送信される。
端末装置100−i(図2)の入力部101−iは鍵暗号化鍵pk(i mod n)+1を受信し(受け付け)、鍵暗号化鍵pk(i mod n)+1を記憶部103−iに格納する。
本形態のRound3の処理は、端末装置100−1(端末装置U1)とそれ以外の端末装置100−v(端末装置Uv)とで相違する。ただし、v=2,…,nである。
(sid,Cn,1)および代表通知は、端末装置100−1の入力部101−1に入力される(受け付けられる)。代表通知が受信された場合、制御部104−1は以下の制御を行う。
を得て出力する。F(α1,α2)の例は、α1とα2とのビット連結値α1|α2の関数値である。Fの例は一方向性関数である。一方向性関数の例は、ハッシュ関数(例えば、暗号学的なハッシュ関数)である。関数値K1 (L)は記憶部103−1に格納される。
K1 (R)=F(sid,R1,2)
を得て出力する。関数値K1 (R)は記憶部103−1に格納される。
T1=K1 (L)(+)K1 (R)
を得て出力する。α1(+)α2はα1とα2との排他的論理和を表す。α1およびα2の少なくとも一方がビット列でない場合、α1とα2との排他的論理和とは、ビット列で表現されたα1およびα2の排他的論理和を表す。
T’=B(k1)(+)K1 (L)
を得て出力する。関数値B(k1)は乱数k1のみに依存する値であってもよいし、乱数k1と他の付加情報とに依存する値であってもよい。ただし、関数値B(k1)から容易に乱数k1を抽出できなければならない。関数値B(k1)の例は乱数k1と他の付加情報βとのビット連結k1|βである。
(sid,C(v−2 mod n)+1,v)は、端末装置100−v(ただし、v=2,…,n)の入力部101−vに入力される(受け付けられる)。代表通知が受信されなかった場合、制御部104−vは以下の制御を行う。
Kv (L)=F(sid,R(v−2 mod n)+1,v)
を得て出力する。関数値Kv (L)は記憶部103−vに格納される。
Kv (R)=F(sid,Rv,(v mod n)+1)
を得て出力する。関数値Kv (R)は記憶部103−vに格納される。
Tv=Kv (L)(+)Kv (R)
を得て出力する。
k’=k2(+)…(+)kn(+)ks
を得て出力する。
Tv’=T1(+)…(+)Tv‐1
を得て出力する。
共有鍵生成の処理は、端末装置100−1(端末装置U1)とそれ以外の端末装置100−v(端末装置Uv)とで相違する。
排他的論理和k’は、端末装置100−1の入力部101−1に入力される(受け付けられる)。共有鍵生成部112−1は、当該排他的論理和k’と記憶部103−1から読み出した乱数k1との排他的論理和k’(+)k1の関数値を共有鍵
SK=F’(k’(+)k1)
として得て出力する。F’の例は一方向性関数である。共有鍵SKは、k’(+)k1のみに依存する値であってもよいし、k’(+)k1と他の付加情報とに依存する値であってもよい。当該他の付加情報の例はsidや他の暗号方式(例えば、属性ベース暗号)に基づいて得られた鍵などである。
参考文献2(属性ベース暗号):Yongtao Wang, "Lattice Ciphertext Policy Attribute-based Encryption in the Standard Model," International Journal of Network Security, Vol.16, No.6, PP.444-451, Nov. 2014.
排他的論理和T’,k’,Tv’は、端末装置100−vの入力部101−vに入力される(受け付けられる)。関数値復元部111−vは、当該排他的論理和Tv’と記憶部103−vから読み出した関数値Kv (L)との排他的論理和によって関数値K1 (L)を得て出力する。関数値K1 (L)が得られる理由は以下の通りである。
Tv’(+)Kv (L)
=T1(+)…(+)Tv‐1(+)Kv (L)
=K1 (L)(+)K1 (R)(+)K2 (L)(+)K2 (R)(+)・・・(+)Kv−1 (L)(+)Kv−1 (R)(+)Kv (L)
=K1 (L)
T’(+)K1 (L)
=B(k1)(+)K1 (L)(+)K1 (L)
=B(k1)
SK=F’(k’(+)k1)
として得て出力する。
本形態では、鍵カプセル型の二者間鍵交換を採用したため、公開鍵暗号方式の耐量子計算機暗号に則った二者間鍵交換が可能になり、これを利用することで耐量子安全な多者間鍵交換システムを構成できる。すなわち、Round1で各端末装置が隣の端末装置に対して耐量子計算機暗号に則った鍵暗号化鍵を送信し、Round2で各端末装置が受け取った鍵暗号化鍵を用いて二者間共有鍵の鍵カプセルを生成して鍵暗号化鍵の送信元の端末装置に返信し、Round3で各端末装置が二者間共有鍵に基づく情報を生成して鍵配送管理装置に送信し、鍵配送管理装置がそれらの情報に基づいて得られる情報を各端末装置に配送する。各端末装置は配送された情報に基づいて共有鍵を計算できる。一方で鍵配送管理装置は各端末装置から送られた情報から共有鍵を知ることはできない。二者間共有鍵を共有する処理は耐量子安全であり、これに基づく多者間鍵交換も耐量子安全である。
第2実施形態を説明する。第2実施形態では、第1実施形態の処理が行われた後、新たな端末装置100−(n+1)(端末装置Un+1)が追加され、n+1個の端末装置100−1〜100−(n+1)(端末装置U1,…,Un+1)で共有鍵SKの共有を行う。
図8に例示するように、本形態の鍵交換システム2は、n個の端末装置100−1〜100−n(端末装置U1,…,Un)と新たに追加される端末装置100−(n+1)(端末装置Ui+1)と鍵配送管理装置150とを有する。各端末装置100−i(端末装置Ui)(ただし、i=1,…,n)および端末装置100−(n+1)は、インターネット等を通じて鍵配送管理装置150と通信可能に構成されている。
次に、端末装置100−(n+1)が追加された後の鍵交換処理を説明する。本形態の鍵交換処理は、Round1〜3および共有鍵生成を含む。前提として、各端末装置100−i(端末装置Ui)(図2)の記憶部103−i(ただし、i=i,…,n)には、第1実施形態の処理で得られた共有鍵SKの関数値r=F”(SK)、二者間共有鍵Hi (L)=R(i−2 mod n)+1,iおよびHi (R)=Ri,(i mod n)+1が格納されていることにする。
端末装置100−1(端末装置U1):
端末装置100−1(図2)の鍵ペア生成部105−1は、公開鍵暗号方式の耐量子計算機暗号に則った鍵カプセル復号鍵sk1および当該鍵カプセル復号鍵sk1に対応する鍵暗号化鍵pk1からなる鍵ペア(pk1,sk1)を生成する。生成された鍵カプセル復号鍵sk1および鍵暗号化鍵pk1は記憶部103−1に格納される。また、鍵暗号化鍵pk1は出力部102−1から出力され、鍵配送管理装置150に送信される。
端末装置100−(n+1)(図9)の鍵ペア生成部105−(n+1)は、公開鍵暗号方式の耐量子計算機暗号に則った鍵カプセル復号鍵skn+1および当該鍵カプセル復号鍵skn+1に対応する鍵暗号化鍵pkn+1からなる鍵ペア(pkn+1,skn+1)を生成する。生成された鍵カプセル復号鍵skn+1および鍵暗号化鍵pkn+1は記憶部103−(n+1)に格納される。また、鍵暗号化鍵pkn+1は出力部102−(n+1)から出力され、鍵配送管理装置150に送信される。
端末装置100−n(端末装置Un):
端末装置100−n(図2)の入力部101−nは鍵暗号化鍵pkn+1を受信し、鍵暗号化鍵pkn+1を記憶部103−nに格納する。
端末装置100−(n+1)(図9)の入力部101−(n+1)は鍵暗号化鍵pk1を受信し(受け付け)、鍵暗号化鍵pk1を記憶部103−(n+1)に格納する。
端末装置100−ρ(ただし、ρ=1,…,n‐1)の乱数設定部106−ρは乱数kρを設定して出力する。乱数kρは記憶部103−ρに格納される。
本形態のRound3の処理は、端末装置100−1(端末装置U1)と端末装置100−n(端末装置Un)と端末装置100−(n+1)(端末装置Un+1)とそれら以外の端末装置100−z(端末装置Uz)とで相違する。ただし、z=2,…,n−1である。
(sid,Cn+1,1)および代表通知は、端末装置100−1の入力部101−1に入力される。代表通知が受信された場合、制御部104−1は以下の制御を行う。
K1 (L)=F(sid,Rn+1,1)
を得て出力する。関数値K1 (L)は記憶部103−1に格納される。
K1 (R)=F(sid,r)
を得て出力する。関数値K1 (R)は記憶部103−1に格納される。
T1=K1 (L)(+)K1 (R)
を得て出力する。
T’=B(k1)(+)K1 (L)
を得て出力する。前述のように、関数値B(k1)の例は乱数k1と他の付加情報βとのビット連結k1|βである。
関数演算部109−nは、記憶部103−nから関数値rを読み出し、当該関数値rの関数値Kn (L)を得て出力する。関数値Kn (L)は関数値rのみに依存する値であってもよいし、関数値rと他の付加情報とに依存する値であってもよい。ただし、Kn (L)=K1 (R)を満たさなければならない。例えば、関数演算部109−nは、関数値rとsidとに依存する関数値
Kn (L)=F(sid,r)
を得て出力する。関数値Kn (L)は記憶部103−nに格納される。
Kn (R)=F(sid,Rn,n+1)
を得て出力する。関数値Kn (R)は記憶部103−nに格納される。
Tn=Kn (L)(+)Kn (R)
を得て出力する。
(sid,Cn,n+1)は、端末装置100−(n+1)の入力部101−(n+1)に入力される。
を得て出力する。関数値Kv (L)は記憶部103−(n+1)に格納される。
Kn+1 (R)=F(sid,Rn+1,1)
を得て出力する。関数値Kn+1 (R)は記憶部103−(n+1)に格納される。
Tn+1=Kn+1 (L)(+)Kn+1 (R)
を得て出力する。
記憶部103−zから読み出された乱数kzが出力部102−zから出力され、鍵配送管理装置150に送信される。
k’=k2(+)…(+)kn+1(+)ks
を得て出力する。
Tw’=T1(+)…(+)Tw‐1
を得て出力する。すなわち、2≦w≦nではTw’=T1であり、w=n+1ではTw’=T1(+)Tnである。
共有鍵生成の処理は、端末装置100−1(端末装置U1)と端末装置100−n(端末装置Un)と端末装置100−(n+1)(端末装置Un+1)とそれら以外の端末装置100−ρ(端末装置Uρ)とで相違する。
排他的論理和k’は、端末装置100−1の入力部101−1に入力される。共有鍵生成部112−1は、当該排他的論理和k’と記憶部103−1から読み出した乱数k1との排他的論理和k’(+)k1の関数値を共有鍵
SK=F’(k’(+)k1)
として得て出力する。
排他的論理和T’,k’,Tn’は、端末装置100−nの入力部101−nに入力される。関数値復元部111−nは、当該排他的論理和Tn’と記憶部103−nから読み出した関数値Kn (L)との排他的論理和によって関数値K1 (L)を得て出力する。関数値K1 (L)が得られる理由は以下の通りである(排他的論理和T2,…,Tn‐1は空であり、K1 (R)=Kn (L))。
Tn’(+)Kn (L)
=T1(+)…(+)Tn‐1(+)Kn (L)
=T1(+)Kn (L)
=K1 (L)(+)K1 (R)(+)Kn (L)
=K1 (L)
SK=F’(k’(+)k1)
として得て出力する。
排他的論理和T’,k’,Tn+1’は、端末装置100−(n+1)の入力部101−(n+1)に入力される。関数値復元部111−(n+1)は、当該排他的論理和Tn+1’と記憶部103−(n+1)から読み出した関数値Kn+1 (L)との排他的論理和によって関数値K1 (L)を得て出力する。なお、関数値K1 (L)が得られる理由は以下の通りである(排他的論理和T2,…,Tn‐1は空であり、K1 (R)=Kn (L)かつKn (R)=Kn+1 (L))。
Tn+1’(+)Kn+1 (L)
=T1(+)…(+)Tn(+)Kn+1 (L)
=T1(+)Tn(+)Kn+1 (L)
=K1 (L)(+)K1 (R)(+)Kn (L)(+)Kn (R)(+)Kn+1 (L)
=K1 (L)
SK=F’(k’(+)k1)
として得て出力する。
排他的論理和T’,k’,Tρ’は、端末装置100−ρの入力部101−ρに入力される。関数値復元部111−ρは、当該排他的論理和Tρ’と記憶部103−ρから読み出した関数値rの関数値(=K1 (R))との排他的論理和によって関数値K1 (L)を得て出力する。
SK=F’(k’(+)k1)
として得て出力する。
本形態では、鍵カプセル型の二者間鍵交換を採用したため、公開鍵暗号方式の耐量子計算機暗号に則った二者間鍵交換が可能になり、これを利用して上述の処理を行うことで、追加された新たな端末装置との間で耐量子安全な多者間鍵交換を行うことができる。
第3実施形態を説明する。第3実施形態では、第1実施形態の処理が行われた後、何れかの端末装置100−j(端末装置Uj)(jは1以上n以下の整数)がシステムから離脱し、残りのn−1個の端末装置100−1〜100−(j−1),100−(j+1)〜100−n(端末装置U1,…,Uj−1,Uj+1,…,Un)で新たな共有鍵SKを共有する。
図14に例示するように、本形態の鍵交換システム3は、n個の端末装置100−1〜100−n(端末装置U1,…,Un)と鍵配送管理装置150とを有する。各端末装置100−i(端末装置Ui)(ただし、i=1,…,n)は、インターネット等を通じて鍵配送管理装置150と通信可能に構成されている。
次に、端末装置100−jが鍵交換システム3から離脱した後の鍵交換処理を説明する。本形態の鍵交換処理は、Round1〜3および共有鍵生成を含む。前提として、各端末装置100−i(端末装置Ui)(図2)の記憶部103−i(ただし、i=1,…,n)には、第1実施形態の処理で得られた二者間共有鍵Hi (L)=R(i−2 mod n)+1,iおよびHi (R)=Ri,(i mod n)+1が格納されていることにする。
端末装置100−((j mod n)+1)(端末装置U(j mod n)+1):
端末装置100−((j mod n)+1)(図2)の鍵ペア生成部105−((j mod n)+1)は、公開鍵暗号方式の耐量子計算機暗号に則った鍵カプセル復号鍵s
k(j mod n)+1および当該鍵カプセル復号鍵sk(j mod n)+1に対応する鍵暗号化鍵pk1からなる鍵ペア(pk(j mod n)+1,sk(j mod n)+1)を生成する。生成された鍵カプセル復号鍵sk(j mod n)+1および鍵暗号化鍵pk(j mod n)+1は記憶部103−((j mod n)+1)に格納される。また、鍵暗号化鍵pk(j mod n)+1は出力部102−1から出力され、鍵配送管理装置150に送信される。
端末装置100−((j−2 mod n)+1)(端末装置U(j−2 mod n)+1):
端末装置100−((j−2 mod n)+1)(図2)の入力部101−((j−2 mod n)+1)は鍵暗号化鍵pk(j mod n)+1を受信し、鍵暗号化鍵pk(j mod n)+1を記憶部103−((j−2 mod n)+1)に格納する。
端末装置100−yの乱数設定部106−yは乱数kyを設定して出力する。乱数kyは記憶部103−(n+1)に格納される。ただし、y=1,…,nかつy≠jかつy≠(j−2)modn+1である。
本形態のRound3の処理は、端末装置100−(j−1)(端末装置Uj−1)と端末装置100−(j+1)(端末装置Uj+2)と端末装置100−x(端末装置Ux)とで相違する。ただし、x=1,…,nかつx≠jかつx≠(j−2modn)+1かつx≠(jmodn)+1である。
関数演算部109−((j−2 mod n)+1)は、記憶部103−((j−2 mod n)+1)から二者間共有鍵H(j−2 mod n)+1 (L)=R(j−3mod n)+1,(j−2 mod n)+1を読み出し、当該二者間共有鍵H(j−2 mod n)+1 (L)の関数値K(j−2 mod n)+1 (L)を得て出力する。関数値K(j−2 mod n)+1 (L)は二者間共有鍵H(j−2 mod n)+1 (L)のみに依存する値であってもよいし、二者間共有鍵H(j−2 mod n)+1 (L)と他の付加情報とに依存する値であってもよい。ただし、K(j−2 mod n)+1 (L)=K(j−3 mod n)+1 (R)を満たさなければならない。例えば、関数演算部109−nは、二者間共有鍵H(j−2 mod n)+1 (L)=R(j−3mod n)+1,(j−2 mod n)+1とsidとに依存する関数値
K(j−2mod n)+1 (L)
=F(sid,H(j−2 mod n)+1 (L))
=F(sid,R(j−3mod n)+1,(j−2 mod n)+1)
を得て出力する。関数値K(j−2mod n)+1 (L)は記憶部103−((j−2 mod n)+1)に格納される。
K(j−2mod n)+1 (R)=F(sid,R(j−2mod n)+1,(j mod n)+1)
を得て出力する。関数値K(j−2mod n)+1 (R)は記憶部103−((j−2 mod n)+1)に格納される。
T(j−2mod n)+1=K(j−2 mod n)+1 (L)(+)K(j−2mod n)+1 (R)
を得て出力する。
T’=B(k(j−2 mod n)+1)(+)K(j−2 mod n)+1 (L)
を得て出力する。関数値B(k(j−2 mod n)+1)の例は乱数k(j−2 mod n)+1と他の付加情報βとのビット連結k(j−2 mod n)+1|βである。
(sid,C(j−2mod n)+1,(j mod n)+1)は、端末装置100−((j mod n)+1)の入力部101−((j mod n)+1)に入力される。
K(jmod n)+1 (L)=F(sid,R(j−2mod n)+1,(j mod n)+1)
を得て出力する。関数値K(jmod n)+1 (L)は記憶部103−((j mod n)+1)に格納される。
K(jmod n)+1 (R)
=F(sid,H(jmod n)+1 (R))
=F(sid,R(jmod n)+1,(j+1 mod n)+1)
を得て出力する。関数値K(jmod n)+1 (R)は記憶部103−((j mod n)+1)に格納される。
T(jmod n)+1=K(j mod n)+1 (L)(+)K(jmod n)+1 (R)
を得て出力する。
関数演算部109−xは、記憶部103−xから二者間共有鍵Hx (L)=R(x−2mod n)+1,xを読み出し、当該二者間共有鍵Hx (L)の関数値Kx (L)を得て出力する。関数値Kx (L)は二者間共有鍵Hx (L)のみに依存する値であってもよいし、二者間共有鍵Hx (L)と他の付加情報とに依存する値であってもよい。ただし、Kx (L)=K(x−2 mod n)+1 (R)を満たさなければならない。例えば、関数演算部109−xは、二者間共有鍵Hx (L)とsidとに依存する関数値
Kx (L)=F(sid,Hx (L))=F(sid,R(x−2mod n)+1,x)
を得て出力する。関数値Kx (L)は記憶部103−xに格納される。
Kx (R)=F(sid,Hx (R))=F(sid,Rx,(xmod n)+1)
を得て出力する。関数値Kx (R)は記憶部103−xに格納される。
Tx=Kx (L)(+)Kx (R)
を得て出力する。
k’=k1(+)…(+)kj‐1(+)kj+2(+)…(+)kn(+)ks
を得て出力する。
y<j−1のとき:Ty’=T1(+)…(+)Ty‐1(+)Tj‐1(+)…(+)Tn
j+1≦yのとき:Ty’=Tj‐1(+)…(+)Ty‐1
共有鍵生成の処理は、端末装置100−(j−1)(端末装置Uj−1)と端末装置100−y(端末装置Uy)(ただし、y≠jかつy≠(j−2modn)+1)とで相違する。離脱した端末装置100−j(端末装置Uj)では共有鍵生成が行われない。
排他的論理和T’,k’,Ty’ 、端末装置100−yの入力部101−yに入力される。関数値復元部111−yは、当該排他的論理和Ty’と記憶部103−yから読み出した関数値Ky (L)との排他的論理和によって関数値K(j−2 mod n)+1 (L)を得て出力する。関数値K(j−2 mod n)+1 (L)が得られる理由は以下の通りである。
y<j−1のとき:
Ty’(+)Ky (L)
=T1(+)…(+)Ty‐1(+)Tj‐1(+)…(+)Tn(+)Ky (L)
=K1 (L)(+)K1 (R)(+)K2 (L)(+)K2 (R)…(+)Ky‐1 (L)(+)Ky‐1 (R)(+)Kj‐1 (L)(+)Kj‐1 (R)(+)…(+)Kn (L)(+)Kn (R)(+)Ky (L)
=Kj‐1 (L)(+){K1 (R)(+)K2 (L)(+)K2 (R)…(+)Ky‐1 (L)}(+){Kj‐1 (R)(+)…(+)Kn (L)}(+){Kn (R)(+)K1 (L)}(+){Ky‐1 (R)(+)Ky (L)}
=Kj‐1 (L)
j+1≦yのとき:
Ty’(+)Ky (L)
=Tj‐1(+)…(+)Ty‐1(+)Ky (L)
=Kj‐1 (L)
T’(+)K(j−2 mod n)+1 (L)
=B(k(j−2 mod n)+1)(+)K(j−2 mod n)+1 (L)(+)K(j−2 mod n)+1 (L)
=B(k(j−2 mod n)+1)
SK=F’(k’)(+)k(j−2 mod n)+1
として得て出力する。
排他的論理和k’は、端末装置100−(j−1)の入力部101−(j−1)に入力される。共有鍵生成部112−(j−1)は、当該排他的論理和k’と記憶部103−(j−1)から読み出した乱数k(j−2 mod n)+1との排他的論理和k’(+)k(j−2 mod n)+1の関数値を共有鍵
SK=F’(k’)(+)k(j−2 mod n)+1
として得て出力する。
本形態では、鍵カプセル型の二者間鍵交換を採用したため、公開鍵暗号方式の耐量子計算機暗号に則った二者間鍵交換が可能になる。これを利用して上述の処理を行うことで、任意の端末装置がシステムから離脱した後に、残りの端末装置の間で耐量子安全な多者間鍵交換を行うことができる。また、第1実施形態の処理で得られた二者間共有鍵Hi (L)=R(i−2 mod n)+1,iおよびHi (R)=Ri,(i mod n)+1を再利用することで演算量および通信料を削減できる。
耐量子計算機暗号として格子暗号を用いる場合、各実施形態で説明した鍵カプセル復号鍵skνはκ1(ν)個の整数からなるベクトルsνであり、鍵暗号化鍵pkνはbν=Aνsν+eνである。また、鍵カプセルCν,(νmod μ)+1は{γν,ξν’}であり、二者間共有鍵Rν,(νmod μ)+1はROUND(2ξν −/q)である。ただし、Aνはκ1(ν)×κ2(ν)の基底行列であり、κ1(ν)およびκ2(ν)は正整数であり、νおよびμは正整数であり、eνはκ2(ν)個の要素からなるベクトルである。γν=Aνsν’+eν’であり、ξν’はfloor(4ξν −/q)mod2である。sν’はκ1(ν)個の整数からなるベクトル(例えば、正規分布に従ってランダムに選択されたベクトル)であり、eν’およびeν”はκ2(ν)個の要素からなるベクトル(例えば、正規分布に従ってランダムに選択されたベクトル)である。ξν=b(νmod μ)+1sν’+eν”であり、ξν −はξνのランダム関数値(ξνをランダム関数に適用して得られる値)である。qは2以上の整数であり、floorは床関数であり、ROUNDは四捨五入関数である。
参考文献3(コミットメントアルゴリズム):Fabrice Benhamouda, Stephan Krenn, Vadim Lyuba-shevsky, Krzysztof Pietrzak, "Effcient Zero-Knowledge Proofs for Commitments from Learning With Errors over Rings," In: ESORICS: European Symposium on Research in Computer Security, September 21-25, 2015.
なお、本発明は上述の実施形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
100−1〜(n+1) 端末装置
[図2]図2は実施形態の端末装置の構成を例示したブロック図である。
[図3]図3は実施形態の鍵配送管理装置の構成を例示したブロック図である。
[図4]図4は実施形態の鍵交換方法(Round1)を説明するための図である。
[図5]図5は実施形態の鍵交換方法(Round2)を説明するための図である。
[図6]図6は実施形態の鍵交換方法(Round3)を説明するための図である。
[図7]図7は実施形態の鍵交換方法(共有鍵生成)を説明するための図である。
[図8]図8は第2実施形態の鍵交換システムの構成を例示したブロック図である。
[図9]図9は実施形態の端末装置の構成を例示したブロック図である。
[図10]図10は端末装置が追加された際に行われる実施形態の鍵交換方法(Roun
d1)を説明するための図である。
[図11]図11は端末装置が追加された際に行われる実施形態の鍵交換方法(Roun
d2)を説明するための図である。
[図12]図12は端末装置が追加された際に行われる実施形態の鍵交換方法(Roun
d3)を説明するための図である。
[図13]図13は端末装置が追加された際に行われる実施形態の鍵交換方法(共有
鍵生成)を説明するための図である。
[図14]図14は第3実施形態の鍵交換システムの構成を例示したブロック図であ
る。
[図15]図15は端末装置が除外された際に行われる実施形態の鍵交換方法(Roun
d1)を説明するための図である。
[図16]図16は端末装置が除外された際に行われる実施形態の鍵交換方法(Roun
d2)を説明するための図である。
[図17]図17は端末装置が除外された際に行われる実施形態の鍵交換方法(Roun
d3)を説明するための図である。
[図18]図18は端末装置が除外された際に行われる実施形態の鍵交換方法(共有
鍵生成)を説明するための図である。
次に、端末装置100−(n+1)が追加された後の鍵交換処理を説明する。本形態の鍵交換処理は、Round1〜3および共有鍵生成を含む。前提として、各端末装置100−i(端末装置Ui)(図2)の記憶部103−i(ただし、i=1,…,n)には、第1実施形態の処理で得られた共有鍵SKの関数値r=F”(SK)、二者間共有鍵Hi (L)=R(i−2 mod n)+1,iおよびHi (R)=Ri,(i mod n)+1が格納されていることにする。
Kn (R)=F(sid,Rn,n+1)
を得て出力する。関数値Kn (R)は記憶部103−nに格納される。
K n+1 (L)=F(sid,Rn,n+1)
を得て出力する。関数値K n+1 (L) は記憶部103−(n+1)に格納される。
端末装置100−((j mod n)+1)(端末装置U(j mod n)+1):
端末装置100−((j mod n)+1)(図2)の鍵ペア生成部105−((j mod n)+1)は、公開鍵暗号方式の耐量子計算機暗号に則った鍵カプセル復号鍵sk(j mod n)+1および当該鍵カプセル復号鍵sk(j mod n)+1に対応する鍵暗号化鍵pk (j mod n)+1 からなる鍵ペア(pk(j mod n)+1,sk(j mod n)+1)を生成する。生成された鍵カプセル復号鍵sk(j mod n)+1および鍵暗号化鍵pk(j mod n)+1は記憶部103−((j mod n)+1)に格納される。また、鍵暗号化鍵pk(j mod n)+1は出力部102−((j mod n)+1)から出力され、鍵配送管理装置150に送信される。
端末装置100−yの乱数設定部106−yは乱数kyを設定して出力する。乱数kyは記憶部103−yに格納される。ただし、y=1,…,nかつy≠jかつy≠(j−2) mod n+1である。
本形態のRound3の処理は、端末装置100−(j−1)(端末装置Uj−1)と端末装置100−(j+1)(端末装置U j+1 )と端末装置100−x(端末装置Ux)とで相違する。ただし、x=1,…,nかつx≠jかつx≠(j−2 mod n)+1かつx≠(j mod n)+1である。
関数演算部109−((j−2 mod n)+1)は、記憶部103−((j−2 mod n)+1)から二者間共有鍵H(j−2 mod n)+1 (L)=R(j−3 mod n)+1,(j−2 mod n)+1を読み出し、当該二者間共有鍵H(j−2 mod n)+1 (L)の関数値K(j−2 mod n)+1 (L)を得て出力する。関数値K(j−2 mod n)+1 (L)は二者間共有鍵H(j−2 mod n)+1 (L)のみに依存する値であってもよいし、二者間共有鍵H(j−2 mod n)+1 (L)と他の付加情報とに依存する値であってもよい。ただし、K(j−2 mod n)+1 (L)=K(j−3 mod n)+1 (R)を満たさなければならない。例えば、関数演算部109−nは、二者間共有鍵H(j−2 mod n)+1 (L)=R(j−3 mod n)+1,(j−2 mod n)+1とsidとに依存する関数値
K(j−2 mod n)+1 (L)
=F(sid,H(j−2 mod n)+1 (L))
=F(sid,R(j−3 mod n)+1,(j−2 mod n)+1)
を得て出力する。関数値K(j−2 mod n)+1 (L)は記憶部103−((j−2modn)+1)に格納される。
K(j−2 mod n)+1 (R)=F(sid,R(j−2 mod n)+1,(j mod n)+1)
を得て出力する。関数値K(j−2 mod n)+1 (R)は記憶部103−((j−2modn)+1)に格納される。
T(j−2 mod n)+1=K(j−2 mod n)+1 (L)(+)K(j−2 mod n)+1 (R)
を得て出力する。
(sid,C(j−2 mod n)+1,(j mod n)+1)は、端末装置100−((j mod n)+1)の入力部101−((j mod n)+1)に入力される。
K(j mod n)+1 (L)=F(sid,R(j−2 mod n)+1,(j mod n)+1)
を得て出力する。関数値K(j mod n)+1 (L)は記憶部103−((j mod n)+1)に格納される。
K(j mod n)+1 (R)
=F(sid,H(j mod n)+1 (R))
=F(sid,R(j mod n)+1,(j+1 mod n)+1)
を得て出力する。関数値K(j mod n)+1 (R)は記憶部103−((j mod n)+1)に格納される。
T(j mod n)+1=K(j mod n)+1 (L)(+)K(j mod n)+1 (R)
を得て出力する。
関数演算部109−xは、記憶部103−xから二者間共有鍵Hx (L)=R(x−2 mod n)+1,xを読み出し、当該二者間共有鍵Hx (L)の関数値Kx (L)を得て出力する。関数値Kx (L)は二者間共有鍵Hx (L)のみに依存する値であってもよいし、二者間共有鍵Hx (L)と他の付加情報とに依存する値であってもよい。ただし、Kx (L)=K(x−2 mod n)+1 (R)を満たさなければならない。例えば、関数演算部109−xは、二者間共有鍵Hx (L)とsidとに依存する関数値
Kx (L)=F(sid,Hx (L))=F(sid,R(x−2 mod n)+1,x)
を得て出力する。関数値Kx (L)は記憶部103−xに格納される。
Kx (R)=F(sid,Hx (R))=F(sid,Rx,(x mod n)+1)
を得て出力する。関数値Kx (R)は記憶部103−xに格納される。
k’=k1(+)…(+)kj‐1(+)kj+2(+)…(+)kn(+)ks
を得て出力する。
y<j−1のとき:Ty’=T1(+)…(+)Ty‐1(+)Tj‐1(+)…(+)Tn
j+1≦yのとき:Ty’=Tj‐1(+)…(+)Ty‐1
共有鍵生成の処理は、端末装置100−(j−1)(端末装置Uj−1)と端末装置100−y(端末装置Uy)(ただし、y≠jかつy≠(j−2 mod n)+1)とで相違する。離脱した端末装置100−j(端末装置Uj)では共有鍵生成が行われない。
排他的論理和T’,k’,T y ’は、端末装置100−yの入力部101−yに入力される。関数値復元部111−yは、当該排他的論理和Ty’と記憶部103−yから読み出した関数値Ky (L)との排他的論理和によって関数値K(j−2 mod n)+1 (L)を得て出力する。
T’(+)K(j−2 mod n)+1 (L)
=B(k(j−2 mod n)+1)(+)K(j−2 mod n)+1 (L)(+)K(j−2 mod n)+1 (L)
=B(k(j−2 mod n)+1)
本形態では、鍵カプセル型の二者間鍵交換を採用したため、公開鍵暗号方式の耐量子計算機暗号に則った二者間鍵交換が可能になる。これを利用して上述の処理を行うことで、任意の端末装置がシステムから離脱した後に、残りの端末装置の間で耐量子安全な多者間鍵交換を行うことができる。また、第1実施形態の処理で得られた二者間共有鍵Hi (L)=R(i−2 mod n)+1,iおよびHi (R)=Ri,(i mod n)+1を再利用することで演算量および通信量を削減できる。
参考文献3(コミットメントアルゴリズム):Fabrice Benhamouda, Stephan Krenn, Vadim Lyubashevsky, Krzysztof Pietrzak, "Efficient Zero-Knowledge Proofs for Commitments from Learning With Errors over Rings," In: ESORICS: European Symposium on Research in Computer Security, September 21-25, 2015.
Claims (9)
- 端末装置U1,…,Unと鍵配送管理装置と有し、nが3以上の整数であり、i=1,…,nであり、v=2,…,nであり、正整数αに対して−1 mod α=α−1であり、
端末装置Uiは、
公開鍵暗号方式の耐量子計算機暗号に則った鍵カプセル復号鍵skiを格納する第i記憶部と、
前記鍵カプセル復号鍵skiに対応する鍵暗号化鍵pkiを出力する第i出力部と、
前記耐量子計算機暗号に則った鍵暗号化鍵pk(i mod n)+1を受け付ける第i入力部と、
乱数kiを設定する第i乱数設定部と、
前記鍵暗号化鍵pk(i mod n)+1を用い、二者間共有鍵Ri,(i mod n)+1および前記二者間共有鍵Ri,(i mod n)+1の暗号文である鍵カプセルCi,(i mod n)+1を得る第i二者間共有鍵生成部と、
前記鍵カプセルCi,(i mod n)+1を出力する前記第i出力部と、を含み、
前記第i入力部は、鍵カプセルC(i−2 mod n)+1,iを受け付け、
端末装置U1は、
鍵カプセル復号鍵sk1を用いて鍵カプセルCn,1を復号して二者間共有鍵Rn,1を得る第1復号部と、
前記二者間共有鍵Rn,1の関数値K1 (L)を得、二者間共有鍵R1,2の関数値K1 (R)を得る第1関数演算部と、
前記関数値K1 (L)と前記関数値K1 (R)との排他的論理和T1を得、乱数k1の関数値と前記関数値K1 (L)との排他的論理和T’を得る第1排他的論理和部と、
前記排他的論理和T1およびT’を出力する第1出力部と、を含み、
端末装置Uvは、
鍵カプセル復号鍵skvを用いて鍵カプセルC(v−2 mod n)+1,vを復号して二者間共有鍵R(v−2 mod n)+1,vを得る第v復号部と、
前記二者間共有鍵R(v−2 mod n)+1,vの関数値Kv (L)を得、二者間共有鍵Rv,(v mod n)+1の関数値Kv (R)を得る第v関数演算部と、
前記関数値Kv (L)と前記関数値Kv (R)との排他的論理和Tvを得る第v排他的論理和部と、
乱数kvおよび前記排他的論理和Tvを出力する第v出力部と、を含み、
前記鍵配送管理装置は、
前記乱数k2,…,knを含む複数の値の排他的論理和k’を得て出力し、排他的論理和T1,…,Tv‐1の排他的論理和Tv’を得て出力する排他的論理和部と、を含み、
前記端末装置U1は、
前記排他的論理和k’と前記乱数k1との排他的論理和の関数値を共有鍵SKとして得る第1共有鍵生成部を含み、
前記端末装置Uvは、
前記排他的論理和Tv’と前記関数値Kv (L)との排他的論理和によって前記関数値K1 (L)を得る第v関数値復元部と、
前記排他的論理和T’と前記関数値K1 (L)との排他的論理和によって前記乱数k1の関数値を得る第v乱数復元部と、
前記排他的論理和k’と前記乱数k1の関数値から得られる前記乱数k1との排他的論理和の関数値を前記共有鍵SKとして得る第v共有鍵生成部と、を含む鍵交換システム。 - 端末装置U1,…,Un+1と鍵配送管理装置と有し、nが3以上の整数であり、i=1,…,nであり、v=2,…,nであり、w=2,…,n+1であり、z=2,…,n−1であり、ρ=1,…,n−1であり、正整数αに対して−1 mod α=α−1であり、
端末装置Uiは関数値rを格納する第i記憶部を含み、
端末装置U1は、
公開鍵暗号方式の耐量子計算機暗号に則った鍵カプセル復号鍵sk1を格納する第1記憶部と、
前記鍵カプセル復号鍵sk1に対応する鍵暗号化鍵pk1を出力する第1出力部と、を含み、
端末装置Un+1は、
前記耐量子計算機暗号に則った鍵カプセル復号鍵skn+1を格納する第(n+1)記憶部と、
前記鍵カプセル復号鍵skn+1に対応する鍵暗号化鍵pkn+1を出力する第(n+1)出力部と、を含み、
端末装置Unは、
前記鍵暗号化鍵pkn+1を受け付ける第n入力部を含み、
乱数knを設定する第n乱数設定部と、
前記鍵暗号化鍵pkn+1を用い、二者間共有鍵Rn,n+1および前記二者間共有鍵Rn,n+1の暗号文である鍵カプセルCn,n+1を得る第n二者間共有鍵生成部と、
前記鍵カプセルCn,n+1を出力する第n出力部と、を含み、
前記端末装置Un+1は、
前記鍵暗号化鍵pk1を受け付ける第(n+1)入力部と、
乱数kn+1を設定する第(n+1)乱数設定部と、
前記鍵暗号化鍵pk1を用い、二者間共有鍵Rn+1,1および前記二者間共有鍵Rn+1,1の暗号文である鍵カプセルCn+1,1を得る第(n+1)二者間共有鍵生成部と、
前記鍵カプセルCn+1,1を出力する前記第(n+1)出力部と、
前記鍵カプセルCn,n+1を受け付ける前記第(n+1)入力部と、を含み、
前記端末装置Uρは、乱数kρを設定する第ρ乱数設定部を含み、
前記端末装置U1は、
前記鍵カプセルCn+1,1を受け付ける第1入力部と、
前記鍵カプセル復号鍵sk1を用いて前記鍵カプセルCn+1,1を復号して前記二者間共有鍵Rn+1,1を得る第1復号部と、
前記二者間共有鍵Rn+1,1の関数値K1 (L)を得、前記関数値rの関数値K1 (R)を得る第1関数演算部と、
前記関数値K1 (L)と前記関数値K1 (R)との排他的論理和T1を得、乱数k1の関数値と前記関数値K1 (L)との排他的論理和T’を得る第1排他的論理和部と、
前記排他的論理和T1およびT’を出力する前記第1出力部と、を含み、
前記端末装置Unは、
前記関数値rの関数値Kn (L)を得、前記二者間共有鍵Rn,n+1の関数値Kn (R)を得る第n関数演算部と、
前記関数値Kn (L)と前記関数値Kn (R)との排他的論理和Tnを得る第n排他的論理和部と、
乱数knおよび前記排他的論理和Tnを出力する前記第n出力部と、を含み、
前記端末装置Un+1は、
鍵カプセル復号鍵skn+1を用いて前記鍵カプセルCn,n+1を復号して前記二者間共有鍵Rn,n+1を得る第(n+1)復号部と、
前記二者間共有鍵Rn,n+1の関数値Kn+1 (L)を得、前記二者間共有鍵Rn+1,1の関数値Kn+1 (R)を得る第(n+1)関数演算部と、
前記関数値Kn+1 (L)と前記関数値Kn+1 (R)との排他的論理和Tn+1を得る第(n+1)排他的論理和部と、
乱数kn+1および前記排他的論理和Tn+1を出力する前記第(n+1)出力部と、を含み、
端末装置Uzは、
乱数kzを出力する第z出力部を含み、
前記鍵配送管理装置は、
前記乱数k2,…,kn+1を含む複数の値の排他的論理和k’を得て出力し、排他的論理和T2,…,Tn‐1を空とした排他的論理和T1,…,Tw‐1の排他的論理和Tw’を得て出力する排他的論理和部と、を含み、
前記端末装置U1は、
前記排他的論理和k’と前記乱数k1との排他的論理和の関数値を共有鍵SKとして得る第1共有鍵生成部を含み、
前記端末装置Unは、
排他的論理和Tn’と関数値Kn (L)との排他的論理和によって前記関数値K1 (L)を得る第n関数値復元部と、
前記排他的論理和T’と前記関数値K1 (L)との排他的論理和によって前記乱数k1の関数値を得る第n乱数復元部と、
前記排他的論理和k’と前記乱数k1の関数値から得られる前記乱数k1との排他的論理和の関数値を前記共有鍵SKとして得る第n共有鍵生成部と、を含み、
前記端末装置Un+1は、
排他的論理和Tn+1’と関数値Kn+1 (L)との排他的論理和によって前記関数値K1 (L)を得る第(n+1)関数値復元部と、
前記排他的論理和T’と前記関数値K1 (L)との排他的論理和によって前記乱数k1の関数値を得る第(n+1)乱数復元部と、
前記排他的論理和k’と前記乱数k1との排他的論理和の関数値を前記共有鍵SKとして得る第(n+1)共有鍵生成部と、を含み、
前記端末装置Uρは、
排他的論理和Tρ’と前記関数値rの関数値K1 (R)との排他的論理和によって前記関数値K1 (L)を得る第ρ関数値復元部と、
前記排他的論理和T’と前記関数値K1 (L)との排他的論理和によって前記乱数k1の関数値を得る第ρ乱数復元部と、
前記排他的論理和k’と前記乱数k1との排他的論理和の関数値を前記共有鍵SKとして得る第ρ共有鍵生成部と、を含み、鍵交換システム。 - 端末装置U1,…,Unと鍵配送管理装置と有し、nが3以上の整数であり、i=1,…,nであり、jが1以上n以下の整数であり、y=1,…,nかつy≠jかつy≠(j−2 mod n)+1であり、x=1,…,nかつx≠jかつx≠(j−2 mod n)+1かつx≠(j mod n)+1であり、正整数αに対して−1 mod α=α−1であり、
端末装置Uiは、
二者間共有鍵Hi (L)=R(i−2 mod n)+1,iおよびHi (R)=Ri,(i mod n)+1を格納する第i記憶部を含み、
端末装置U(j mod n)+1は、
公開鍵暗号方式の耐量子計算機暗号に則った鍵カプセル復号鍵sk(j mod n)+1を格納する第(j+1)記憶部と、
前記鍵カプセル復号鍵sk(j mod n)+1に対応する鍵暗号化鍵pk(j mod n)+1を出力する第(j+1)出力部と、を含み、
端末装置U(j−2 mod n)+1は、
前記鍵暗号化鍵pk(j mod n)+1を受け付ける第(j−1)入力部と、
乱数k(j−2 mod n)+1を設定する第(j−1)乱数設定部と、
前記鍵暗号化鍵pk(j mod n)+1を用い、二者間共有鍵R(j−2 mod n)+1,(j mod n)+1および前記二者間共有鍵R(j−2 mod n)+1,(j mod n)+1の暗号文である鍵カプセルC(j−2 mod n)+1,(j mod n)+1を得る第(j−1)二者間共有鍵生成部と、
前記鍵カプセルC(j−2 mod n)+1,(j mod n)+1を出力する第(j−1)出力部と、を含み、
端末装置Uyは、
乱数kyを設定する第y乱数設定部を含み、
前記端末装置U(j mod n)+1は、
前記鍵カプセルC(j−2 mod n)+1,(j mod n)+1を受け付ける第(j+1)入力部を含み、
前記端末装置U(j−2 mod n)+1は、
二者間共有鍵H(j−2 mod n)+1 (L)の関数値K(j−2 mod n)+1 (L)を得、前記二者間共有鍵R(j−2 mod n)+1,(j mod n)+1の関数値K(j−2 mod n)+1 (R)を得る第(j−1)関数演算部と、
前記関数値K(j−2 mod n)+1 (L)と前記関数値K(j−2 mod n)+1 (R)との排他的論理和T(j−2 mod n)+1を得、乱数k(j−2 mod n)+1の関数値と前記関数値K(j−2 mod n)+1 (L)との排他的論理和T’を得る第(j−1)排他的論理和部と、
前記排他的論理和T(j−2 mod n)+1および前記排他的論理和T’を出力する前記第(j−1)出力部と、を含み、
前記端末装置U(j mod n)+1は、
鍵カプセル復号鍵sk(j mod n)+1を用いて前記鍵カプセルC(j−2 mod n)+1,(j mod n)+1を復号して前記二者間共有鍵R(j−2 mod n)+1,(j mod n)+1を得る第(j+1)復号部と、
前記二者間共有鍵R(j−2 mod n)+1,(j mod n)+1の関数値K(jmod n)+1 (L)を得、二者間共有鍵H(j mod n)+1 (R)の関数値K(j mod n)+1 (R)を得る第(j+1)関数演算部と、
前記関数値K(j mod n)+1 (L)と前記関数値K(j mod n)+1 (R)との排他的論理和T(j mod n)+1を得る第(j+1)排他的論理和部と、
乱数k(j mod n)+1および前記排他的論理和T(j mod n)+1を出力する前記第(j+1)出力部と、を含み、
前記端末装置Uxは、
二者間共有鍵Hx (L)の関数値Kx (L)を得、二者間共有鍵Hx (R)の関数値Kx (R)を得る第x関数演算部と、
前記関数値Kx (L)と前記関数値Kx (R)との排他的論理和Txを得る第x排他的論理和部と、
乱数kxおよび前記排他的論理和Txを出力する第x出力部と、を含み、
前記鍵配送管理装置は、
前記乱数k1,…,kn(ただし、kj,kj+1を除く)を含む複数の値の排他的論理和k’を得て出力するk’生成部と、
y<j−1のときに排他的論理和T1,…,Ty‐1,Tj‐1,…,Tnの排他的論理和Ty’を得て出力し、j+1≦iのときに排他的論理和Tj‐1,…,Ty‐1の排他的論理和Ty’を得て出力する排他的論理和部と、を含み、
前記端末装置Uyは、
排他的論理和Ty’と関数値Ky (L)との排他的論理和によって前記関数値K(j−2 mod n)+1 (L)を得る第y関数値復元部と、
前記排他的論理和T’と前記関数値K(j−2 mod n)+1 (L)との排他的論理和によって前記乱数k(j−2 mod n)+1の関数値を得る第y乱数復元部と、
前記排他的論理和k’と前記乱数k(j−2 mod n)+1の関数値から得られる前記乱数k(j−2 mod n)+1との排他的論理和の関数値を共有鍵SKとして得る第y共有鍵生成部と、を含み、
前記端末装置Uj−1は、
前記排他的論理和k’と前記乱数k(j−2 mod n)+1との排他的論理和の関数値を前記共有鍵SKとして得る第(j−1)共有鍵生成部を含む、鍵交換システム。 - 請求項1から3のいずれかの鍵交換システムであって、
前記耐量子計算機暗号は、格子暗号、コードベース暗号、または多変数暗号である、鍵交換システム。 - 請求項1から3のいずれかの鍵交換システムであって、
κ1(ν)およびκ2(ν)が正整数であり、Aνがκ1(ν)×κ2(ν)の基底行列であり、νおよびμが正整数であり、eνがκ2(ν)個の要素からなるベクトルであり、
鍵カプセル復号鍵skνがκ1(ν)個の整数からなるベクトルsνであり、
鍵暗号化鍵pkνがbν=Aνsν+eνであり、
鍵カプセルCν,(ν mod μ)+1が{γν,ξν’}であり、二者間共有鍵Rν,(ν mod μ)+1がROUND(2ξν −/q)であり、
γν=Aνsν’+eν’であり、ξν’がfloor(4ξν −/q) mod 2であり、sν’がκ1(ν)個の整数からなるベクトルであり、eν’およびeν”がκ2(ν)個の要素からなるベクトルであり、ξν=b(ν mod μ)+1sν’+eν”であり、ξν −がξνのランダム関数値であり、qが2以上の整数であり、floorが床関数であり、ROUNDが四捨五入関数である、鍵交換システム。 - 請求項1から5のいずれかの鍵交換システムが有する端末装置。
- 請求項1から5のいずれかの鍵交換システムの鍵交換方法。
- 請求項6の端末装置としてコンピュータを機能させるためのプログラム。
- 請求項6の端末装置としてコンピュータを機能させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017229195 | 2017-11-29 | ||
JP2017229195 | 2017-11-29 | ||
PCT/JP2018/041804 WO2019107129A1 (ja) | 2017-11-29 | 2018-11-12 | 鍵交換システム、端末装置、鍵交換方法、プログラム、および記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2019107129A1 true JPWO2019107129A1 (ja) | 2020-11-19 |
JP6988912B2 JP6988912B2 (ja) | 2022-01-05 |
Family
ID=66664550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2019557118A Active JP6988912B2 (ja) | 2017-11-29 | 2018-11-12 | 鍵交換システム、端末装置、鍵交換方法、プログラム、および記録媒体 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11316676B2 (ja) |
JP (1) | JP6988912B2 (ja) |
WO (1) | WO2019107129A1 (ja) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI672932B (zh) * | 2018-09-27 | 2019-09-21 | 國立交通大學 | 基於質數陣列的後量子非對稱密鑰產生方法及系統、加密方法、解密方法及加密通訊系統 |
US11228432B2 (en) * | 2019-03-04 | 2022-01-18 | Siavash Bayat-Sarmadi | Quantum-resistant cryptoprocessing |
US11973743B2 (en) | 2019-12-13 | 2024-04-30 | TripleBlind, Inc. | Systems and methods for providing a systemic error in artificial intelligence algorithms |
US10924460B2 (en) | 2019-12-13 | 2021-02-16 | TripleBlind, Inc. | Systems and methods for dividing filters in neural networks for private data computations |
US11431688B2 (en) | 2019-12-13 | 2022-08-30 | TripleBlind, Inc. | Systems and methods for providing a modified loss function in federated-split learning |
US11449799B1 (en) * | 2020-01-30 | 2022-09-20 | Wells Fargo Bank, N.A. | Systems and methods for post-quantum cryptography optimization |
US20220100835A1 (en) | 2020-02-05 | 2022-03-31 | Quantum Digital Solutions Corporation | Systems and methods for controlling a digital ecosystem using digital genomic data sets |
WO2021158791A1 (en) * | 2020-02-05 | 2021-08-12 | Quantum Digital Solutions Corporation | Information theory genomics-enabled hyper-scalability |
US11507693B2 (en) | 2020-11-20 | 2022-11-22 | TripleBlind, Inc. | Systems and methods for providing a blind de-identification of privacy data |
KR20240005674A (ko) | 2021-02-04 | 2024-01-12 | 퀀텀 디지털 솔루션즈 코포레이션 | 사이퍼제닉스 기반 생태계 보안 플랫폼들 |
US12052350B2 (en) * | 2021-07-08 | 2024-07-30 | Cisco Technology, Inc. | Quantum resistant secure key distribution in various protocols and technologies |
US11625377B1 (en) | 2022-02-03 | 2023-04-11 | TripleBlind, Inc. | Systems and methods for enabling two parties to find an intersection between private data sets without learning anything other than the intersection of the datasets |
US11539679B1 (en) * | 2022-02-04 | 2022-12-27 | TripleBlind, Inc. | Systems and methods for providing a quantum-proof key exchange |
US20230269075A1 (en) * | 2022-02-23 | 2023-08-24 | Mellanox Technologies, Ltd. | Devices, systems, and methods for integrating encryption service channels with a data path |
WO2023218574A1 (ja) * | 2022-05-11 | 2023-11-16 | 日本電信電話株式会社 | 鍵交換システム、qkd装置、拠点装置、方法、及びプログラム |
WO2023218575A1 (ja) * | 2022-05-11 | 2023-11-16 | 日本電信電話株式会社 | 鍵交換システム、拠点装置、qkd装置、方法、及びプログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6259402B2 (ja) | 2015-01-21 | 2018-01-10 | 日本電信電話株式会社 | 鍵配送管理装置、端末装置、鍵配送システム、およびプログラム |
US11271724B2 (en) * | 2019-02-21 | 2022-03-08 | Quantum Lock, Inc. | One-time-pad encryption system and methods |
-
2018
- 2018-11-12 US US16/761,979 patent/US11316676B2/en active Active
- 2018-11-12 WO PCT/JP2018/041804 patent/WO2019107129A1/ja active Application Filing
- 2018-11-12 JP JP2019557118A patent/JP6988912B2/ja active Active
Non-Patent Citations (2)
Title |
---|
SINGH, VIKRAM ET AL.: "Even More Practical Key Exchanges for the Internet using Lattice Cryptography", CRYPTOLOGY EPRINT ARCHIVE, vol. Report 2015/138, Ver. 20151222:164906, JPN6019004147, 22 December 2015 (2015-12-22), pages 1 - 20, XP061019861, ISSN: 0004562144 * |
YONEYAMA, KAZUKI ET AL.: "Multi-Cast Key Distribution: Scalable, Dynamic and Provably Secure Construction", CRYPTOLOGY EPRINT ARCHIVE, vol. Report 2016/883, Ver. 20160901:074357, JPN6019004145, 1 September 2016 (2016-09-01), pages 1 - 28, XP061021678, ISSN: 0004562143 * |
Also Published As
Publication number | Publication date |
---|---|
US11316676B2 (en) | 2022-04-26 |
JP6988912B2 (ja) | 2022-01-05 |
US20200322141A1 (en) | 2020-10-08 |
WO2019107129A1 (ja) | 2019-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6988912B2 (ja) | 鍵交換システム、端末装置、鍵交換方法、プログラム、および記録媒体 | |
Benhamouda et al. | Can a public blockchain keep a secret? | |
US9960906B2 (en) | Proxy computing system, computing apparatus, capability providing apparatus, proxy computing method, capability providing method, program, and recording medium | |
KR100596404B1 (ko) | 다자간 또는 다그룹사이의 양자 키 분배 방법 | |
JP6497747B2 (ja) | 鍵交換方法、鍵交換システム | |
CN111510281A (zh) | 一种同态加密方法及装置 | |
CN105721428B (zh) | 一种基于五粒子簇态的隐私比较方法 | |
Min et al. | Novel multi-party quantum key agreement protocol with g-like states and bell states | |
US20210314146A1 (en) | Key exchange method and key exchange system | |
Liu et al. | Cryptanalysis and improvement of quantum private comparison protocol based on Bell entangled states | |
CN101908961B (zh) | 一种短密钥环境下多方秘密握手方法 | |
Liu et al. | Secure quantum private comparison of equality based on asymmetric W state | |
JP2023552263A (ja) | 秘密分散の再分配 | |
US11411720B2 (en) | Key distribution system, terminal device, key distribution method, and program | |
Kuo et al. | Efficient multiparty quantum secret sharing based on a novel structure and single qubits | |
CN108028751A (zh) | 用于具有近似最佳弹性的移动主动秘密共享的信息安全协议 | |
Lai et al. | Hybrid threshold adaptable quantum secret sharing scheme with reverse Huffman-Fibonacci-tree coding | |
Araki et al. | High-throughput secure three-party computation of kerberos ticket generation | |
CN105099693B (zh) | 一种传输方法及传输装置 | |
Yang et al. | Quantum authenticated direct communication using Bell states | |
WO2022239129A1 (ja) | 鍵交換システム、機器、鍵交換方法、及びプログラム | |
US20220069984A1 (en) | Encryption system and method employing permutation group-based cryptographic technology | |
Xu et al. | SilenTower: A Robust, Scalable and Secure Watchtower with Silent Executors | |
CN109936442A (zh) | 一种服务器辅助的多密钥共享方法及其装置 | |
Babu et al. | Quantum Identity Authentication Using Non-Orthogonal State Encoding |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200519 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200519 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210803 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210924 |
|
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: 20211102 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20211115 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6988912 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |