JP6922385B2 - ノイズ存在下におけるパリティ値の同定に基づく、近似関係の関係暗号化 - Google Patents
ノイズ存在下におけるパリティ値の同定に基づく、近似関係の関係暗号化 Download PDFInfo
- Publication number
- JP6922385B2 JP6922385B2 JP2017089512A JP2017089512A JP6922385B2 JP 6922385 B2 JP6922385 B2 JP 6922385B2 JP 2017089512 A JP2017089512 A JP 2017089512A JP 2017089512 A JP2017089512 A JP 2017089512A JP 6922385 B2 JP6922385 B2 JP 6922385B2
- Authority
- JP
- Japan
- Prior art keywords
- linear
- ciphertext
- approximate
- relational
- encryption
- 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.)
- Active
Links
Images
Description
本願は、2014年5月25日に出願した米国特許出願第14/287,051号の一部継続出願である、2015年7月10日の出願した米国特許出願第14/797,025号の一部継続出願である。
本願明細書で議論される実施形態は、ノイズ存在下におけるパリティ値の同定(learning parity with noise:LPN)に基づく関係暗号化に関する。
R⊆XxYxZ
(pkx,skx,pky,sky,skR)←KeyGen(1λ)
cx←EncX(pkx,x)
cy←EncY(pky,y)
b←Verify(skR,cx,cy,z)
b≒R(x,y,z)
正確性条件では、Rは関係を表す。演算子⊆は、部分集合演算子を表す。パラメータX、Y、Zはセットを表す。パラメータxは、平文ベクトル142のうちの第1平文ベクトルを表す。パラメータyは、平文ベクトル142のうちの第2平文ベクトルを表す。KeyGenは、鍵生成アルゴリズムを表す。EncXは、第1暗号化アルゴリズムを表す。EncYは、第2暗号化アルゴリズムを表す。Verifyは、検証アルゴリズムを表す。演算子←は、出力演算子を表す。パラメータpkxは、第1公開鍵を表す。パラメータpkyは、第2公開鍵を表す。パラメータskxは、第1秘密鍵を表す。パラメータskyは、第2秘密キーを表す。パラメータskRは、関係秘密鍵を表す。パラメータcxは、第1暗号文を表す。パラメータcyは、第2暗号文を表す。パラメータbは、検証アルゴリズムによる出力を表す。パラメータλは、セキュリティパラメータを表す。パラメータzは、検証エンティティにより選択され得る特定値を表す。演算子≒は、合同演算子を表す。正確性条件では、検証アルゴリズムからの出力は、圧倒的な確率を有する関係と合致する。
R={(x,y,z)|x+y=z∧x,y,z∈Fn p}
線形関係式では、R、x、y、及びzは、上述の通りである。演算子∈は、メンバーシップ演算子を表す。演算子|は、「〜の条件を満たす」(such that)演算子を表す。演算子∧は、論理結合演算子を表す。パラメータFは体(field)を表す。添え字nは、通常、体の次元を表す。体の次元は、本願明細書の別の場所で議論するようなキーのうちの1又は複数の長さを有しても良い。添え字pは、体の基本数(base−number)を表す。例えば、F10 3では、体は、10の次元、及び3の基本数を有する。3の基本数は、体の各々の要素が0、1、又は2であることを示す。
Rδ={(x,y)|dist(x,y)≦δ∧x,y∈Fk p}
近似式では、R、x、∧、∈、及びyは、上述の通りである。パラメータδは、親密さ(closeness)を定める距離を表す。演算子distは、ハミング距離を表す。線形関係式におけるように、パラメータFは体を表す。しかしながら、近似式における体は、線形関係式における体とは異なる次元を有しても良い。近似式における体の次元は、線形誤り訂正符号に関連しても良い。
ブール代数におけるパリティ関数は、入力ベクトルが1の(1’s)奇数を有する場合に「1」を出力して良い。パリティ関数の一例は、2つの入力ベクトルを受け取る「XOR」関数である。パリティ値の同定(Parity learning)は、機械学習における近似を表す問題である。パリティ値の同定問題を解決するアルゴリズムが開発されている。アルゴリズムでは、関数は、幾つかの入力サンプルと、関数が幾つかの場所におけるビットのパリティを計算するという仮定に基づき、推定される。パリティ値の同定では、入力サンプルは、入力(例えば、独立値)、及び該入力に適用される関数の値(例えば、独立値から計算される従属値)を有する。入力サンプルは、アルゴリズムの複雑性を低減し得る、関数の分布に渡り提供されて良い。
LPN式は、平文ベクトル142のハッシュ値を生成するために、動作環境100において実装されて良い。線形関係ハッシュは、平文ベクトル142に適用され得る複数の関数を含んで良い。関数は、Hash_KEYGEN関数、Hash1(x)関数、Hash2(y)関数、及びHash_Verify関数を有して良い。Hash_KEYGEN関数は、ハッシュ鍵を生成するよう構成されて良い。Hash1(x)関数及びHash2(y)関数は、1又は複数の入力ベクトル(例えば、平文ベクトル142)をハッシングするよう構成されて良い。Hash_Verify関数は、入力ベクトルの間の関係を検証するよう構成されて良い。
線形鍵は、セキュリティパラメータについて生成されて良い。概して、本願明細書で用いられるセキュリティパラメータは、鍵長を表して良い。幾つかの実施形態では、線形鍵の生成は、以下の例示的な線形ビットベクトル鍵式に従い実行されて良い。線形ビットベクトル鍵式の一例は、以下を含む。
Given λ:
整数m、n、及び実数τ∈[0,1]を生成する;
サイズm×nのランダム2進行列Aを生成する;
鍵生成アルゴリズム(Keygen−CPA)、暗号化アルゴリズム(EncCPA)、及び解読アルゴリズム(DecCPA)を含む任意のIND_CCAセキュア公開鍵暗号化方式を決定する;
Keygen−CPAを3回実行して、公開/秘密鍵ペアの3個のセットを生成する;
(pk_1,sk_1),(pk_2,sk_2),及び(pk_3,sk_3);
以下を設定する:
pkxlin:=(A,τ,pk_1,pk_3);skxlin:=sk_1;
pkylin:=(A,τ,pk_2,pk_3);skylin:=sk_2;
skRlin:=(A,τ,pk_3)
線形ビットベクトル鍵式では、←及びλは、概して上述の通りである。さらに、線形ビットベクトル鍵式では、pkxlinは第1線形公開鍵を表し、skxlinは第1線形秘密鍵を表し、pkylinは第2線形公開鍵を表し、skylinは第2線形秘密鍵を表し、skRlinは関係線形秘密鍵を表す。パラメータτは、ノイズ確率を表す。さらに、パラメータpkxlin、skxlin、pkylin、skylin、及びskRlinは、上述の鍵生成アルゴリズム(KeyGen)の出力の少なくとも1つの線形部分を表して良い。幾つかの実施形態では、τは1/4に等しくて良い。
m1=<m1i>n i=1∈Fn 2;m2=<m2i>n i=1∈Fn 2;
cx:=EncCPA(pk_3,A×m1+e1),EncCPA(pk_1,m1);
cy:=EncCPA(pk_3,A,m2+e2),EncCPA(pk_2,m2);
e1∈Fm 2、各要素は、確率τで1であり、その他の場合0である;
e2∈Fm 2、各要素は、確率τで1であり、その他の場合0である。
ランダム2進行列Aをサンプリングする,
cxを次の通り構成する:
cx:=EncCPA(pk_3,A×m1+e1),EncCPA(pk_1,m1)
同様に、第2暗号化アルゴリズムは次のように定められて良い。
given m2及びpkylin,
ランダム2進行列Aをサンプリングする,
cyを次の通り構成する:
cy:=EncCPA(pk_3,A,m2+e2),EncCPA(pk_2,m2)
第1線形暗号文及び第2線形暗号文は、線形認証モジュール132に通信されて良い。追加又は代替で、第1線形暗号文及び第2線形暗号文は、ネットワーク107を介して、認証サーバ140に通信されて良い。認証サーバ140は、第1線形暗号文及び第2線形暗号文を受信し、第1線形暗号文及び第2線形暗号文を線形認証モジュール132に通信して良い。
z=<zi>n i=1∈Fn 2;
cx_0:=EncCPA(pk_3,A×m1+e1);
cy_0:=EncCPA(pk_3,A×m2+e2);
dist(DecCPA(sk_3,cx_0)+DecCPA(sk_3,cy_0)+A×z)<2×τ×m
線形ビットベクトル検証式において、<>,i,n,A,Fn 2,pk_3,m1,e1,τ,m2,e2,sk_3は、上述の通りである。線形ビットベクトル検証式において、distは、mビットベクトルのハミング重みを評価する関数である。パラメータcx_0は、第1線形暗号文の第1成分を表す。パラメータcy_0は、第2線形暗号文の第1成分を表す。パラメータzは、特定ベクトルを表す。パラメータziは、特定ベクトルの要素を表す。演算子+は、ビット毎のXOR演算子を表す。
given cy,cx,z,skRlin:=(A,τ,sk_3):
以下の不等式をチェックする:
dist(DecCPA(sk_3,cx_0)+DecCPA(sk_3,cy_0)+A×z)<2×τ×m
線形ビットベクトル解読式は、上述の第1解読アルゴリズム(DecX)及び第2解読アルゴリズム(DecY)を定めて良い。例えば、第1解読アルゴリズムは次のように定められて良い。
given:cx及びskxlin,
式に従い第1平文ベクトル142を1ビットずつ構成する:
cx_1=EncCPA(pk_1,m1);
m1=DecCPA(skxlin,cx_1)
第1解読アルゴリズムにおいて、skxlin,EncCPA,pk_1,m1,skxlin,及びDecCPAは、上述の通りである。パラメータcx_1は、第1線形暗号文の第2成分を表す(例えばcx)。
given:cy及びskylin,
式に従い第2平文ベクトル142Bを1ビットずつ構成する:
cy_1=EncCPA(pk_2,m2)
m2=DecCPA(skylin,cy_1)
第2解読アルゴリズムにおいて、skylin,EncCPA,pk_2,m2,及びDecCPAは、上述の通りである。パラメータcy_1は、第2線形暗号文の第2成分である(例えばcy)。
本開示に記載される実施形態において実施される関係近似ハッシュ方式では、暗号文の解読は可能でなくて良い。したがって、関係近似ハッシュ方式は、関係近似暗号化方式の代わりに関係近似ハッシュ方式であって良い。関係近似ハッシュ方式は、近似ハッシュ値の間の近さ(closeness)を決定するために用いられて良い。幾つかの実施形態では、近似は、ハミング距離の観点で与えられて良い。関係近似ハッシュ方式では、設定モジュール144は、鍵を生成する。鍵を用いて、近似暗号化モジュール114は、平文ベクトル142の暗号化及び/又は解読を実行する。近似ハッシュ値は、次に、近似認証モジュール128に通信されて良い。近似認証モジュール128では、近似ハッシュ値の間の近似が検出されて良い。
(pkCPA,skCPA)←KeyGen−CPA;
(pkxlin,pkylin,skxlin,skylin,skRlin)←KeyGenLinear;X←Zn×k 2;
pkxprox:=(ENCODE,DECODE,pkCPA,pkxlin,X);
pkyprox:=(ENCODE,DECODE,pkCPA,pkylin,X);
skxprox:=(skCPA,skxlin);
skyprox:=(skCPA,skylin);
skRprox:=(skCPA,skRlin)
近似鍵生成式において、pkxlin,pkylin,skxlin,skylin,skRlin,ENCODE及びDECODEは上述の通りである。演算子←は、ランダムサンプリング演算子を表す。パラメータpkCPAは、CPA公開鍵を表す。パラメータskCPAは、CPA秘密鍵を表す。パラメータKeyGen−CPAは、CPA鍵生成アルゴリズムを表す。パラメータkは、ランクを表す。パラメータpkxproxは、第1近似公開鍵を表す。パラメータpkyproxは、第2近似公開鍵を表す。パラメータXは、ランダム行列を表す。パラメータskxproxは、第1近似秘密鍵を表す。パラメータskyproxは、第2近似秘密鍵を表す。パラメータskRproxは、近似関係秘密鍵を表す。さらに、パラメータpkxprox、skxprox、pkyprox、skyprox、及びskRproxは、上述の鍵生成アルゴリズム(KeyGen)の出力の少なくとも1つの近似部分を表して良い。
cxp1:=EncCPA(pkCPA,m1+ENCODE(r));
cxp2:=EncXLinear(pkxlin,r);
cxp:=(cxp1,cxp2);
cyp1:=EncCPA(pkCPA,m2+ENCODE(r));
cyp2:=EncXLinear(pkylin,r);
cyp:=(cyp1,cyp2)
近似暗号化式において、ENCODE,m1,m2,pkCPA,X,pkxlin,及びpkylinは、上述の通りである。EncCPAは、CPA暗号化アルゴリズムを表す。パラメータrは、kビットの近似乱数を表す。パラメータcxp1は、第1近似ハッシュ値の第1部分を表す。パラメータcxp2は、第1近似ハッシュ値の第2部分を表す。パラメータcxpは、第1近似ハッシュ値を表す。パラメータcyp1は、第2近似ハッシュ値の第1部分を表す。パラメータcyp2は、第2近似ハッシュ値の第2部分を表す。パラメータcypは、第2近似ハッシュ値を表す。パラメータEncXLinearは、第1線形暗号化アルゴリズムを表す。パラメータEncYLinearは、第2線形暗号化アルゴリズムを表す。
Zrs:=DECODE(DecCPA(skcpa,cx_1+DecCPA(skcpa,cy_1)));
Output{DECODEが⊥を返す場合、拒否する;
VerifyLinear(skRlin,cs_2,cy_2,Z rs )}
近似検証アルゴリズムにおいて、skcpa,cx_1,cx_2,cy_1,cy_2,skRlin,X,z,DecCPA,及びDECODEは、上述の通りである。パラメータOutputは、近似認証モジュール128の出力を示す。パラメータZrsは、ランダム性の和を表す。パラメータ⊥は、エラーを表す。VerifyLinearは、線形検証アルゴリズムを表す。
(KeyGenCPA,EncCPA,DecCPA)は、IND−CPAセキュア暗号化方式である;
(KeyGenLinear,EncXLinear,DecXLinear,EncYLinear,EncYLinear,VerifyLinear)は、Fn 2における線形の関係暗号化方式である。
(付記1) LPN(learning parity with noise)に少なくとも部分的に基づく関係線形暗号化方式を用いて暗号化される第1バイオメトリックテンプレートを表す第1線形暗号文を受信するステップと、
前記関係線形暗号化方式を用いて暗号化される第2バイオメトリックテンプレートを表す第2線形暗号文を受信するステップと、
線形関係秘密鍵を用いて、前記第1線形暗号文と前記第2線形暗号文との間の線形関係を発見するステップと、
関係近似ハッシュ方式を用いて暗号化される前記第1バイオメトリックテンプレートを表す第1近似ハッシュ値を受信するステップであって、前記関係近似ハッシュ方式は、前記関係線形暗号化方式及び誤り訂正符号(ECC)に基づく、ステップと、
前記関係近似ハッシュ方式を用いて暗号化される前記第2バイオメトリックテンプレートを表す第2近似ハッシュ値を受信するステップと、
ハミング距離の観点で、前記第1近似ハッシュ値と前記第2近似ハッシュ値との間の近似を検出するステップと、
前記近似及び前記線形関係に基づき、ユーザの同一性を認証するステップと、
を有する方法。
(付記2) 前記関係線形暗号化方式は、鍵生成アルゴリズム、暗号化アルゴリズム、及び解読アルゴリズムを含むIND_CCAセキュア公開鍵暗号化方式に更に基づく、付記1に記載の方法。
(付記3) 前記線形関係を発見するステップは、以下の検証アルゴリズムに従い実行され、
skRlin:=(A,τ,sk_3);
given cy, cx, z,skRlin:
以下の不等式をチェックする:
dist(DecCPA(sk_3,cx_0)+DecCPA(sk_3,cy_0)+A×z)<?2×τ×m)、
ここで、cyは前記第1線形暗号文を表し、
cxは前記第2線形暗号文を表し、
skRlinは線形関係秘密鍵を表し、
zは検証エンティティにより選択される特定値を表し、
Aは第1整数×第2整数の次元を有するランダム2進行列を表し、
τはノイズ確率を表し、
sk_3はIND_CCAセキュア公開鍵暗号化方式の秘密鍵を表し、
cx_0は前記第1線形暗号文の第1要素を表し、
cy_0は前記第2線形暗号文の第1要素を表し、
DecCPAは前記解読アルゴリズムを表し、
distはハミング距離演算子を表し、
mは前記第1整数を表す、
付記2に記載の方法。
(付記4) 前記第1線形暗号文は、以下の線形ビットベクトル暗号化式に従い暗号化され、
m1=<m1i>n i=1∈Fn 2;
cx:=EncCPA(pk_3,A×m1+e1)、EncCPA(pk_1,m1);
e1∈Fm 2、各々の要素は、確率τで1であり、その他の場合に0であり、
m1はnビットの第1メッセージを表し、
pk_3は前記IND_CCAセキュア公開鍵暗号化方式の公開鍵を表し、
pk_1は前記IND_CCAセキュア公開鍵暗号化方式の別の公開鍵を表し、
iはインデックス変数を表し、
nは第1体の次元を表し、
EncCPAは前記暗号化アルゴリズムを表し、
+演算子はビット毎のXOR演算子を表し、
F2は基本数2の体を表す、
付記3に記載の方法。
(付記5) 前記ノイズ確率は約0.25に等しい、付記4に記載の方法。
(付記6) 前記第1バイオメトリックテンプレートは高minエントロピ分布からサンプリングされる、付記1に記載の方法。
(付記7) 近似を検出するステップは、以下の近似検証アルゴリズムに従い実行され、
Zrs:=DECODE(DecCPA(skcpa,cx_1+DecCPA(skcpa,cy_1)));
Output={DECODEが⊥を返す場合、拒否する; VerifyLinear(skRlin,cx_2,cy_2,X○Z)};
ここで、Zrsはランダム性の和を表し、
DECODEはECC復号化演算子を表し、
DecCPAはIND_CCAセキュア公開鍵暗号化方式の解読アルゴリズムを表し、
cx_1は前記第1線形暗号文の第2要素を表し、
cy_1は前記第2線形暗号文の第2要素を表し、
cx_2は前記第1線形暗号文の第3要素を表し、
cy_2は前記第2線形暗号文の第3要素を表し、
skRlinは関係線形鍵を表し、
Xはランダム行列を表し、
skcpaはND_CCAセキュア公開鍵暗号化方式の鍵生成アルゴリズムにより生成されるCPA秘密鍵を表し、
⊥は誤りを表し、
zは検証エンティティにより選択される特定値を表し、
VerifyLinearは線形検証アルゴリズムを表す、
付記1に記載の方法。
(付記8) 前記第1近似ハッシュ値は、以下の近似暗号化式に従い生成され、
cxp1:=EncCPA(pkCPA,m1+ENCODE(r));
cxp2:=EncXLinear(pkxlin,X○r);
cxp:=(cxp1,cxp2)、
ここで、cxpは前記第1近似ハッシュ値を表し、
cxp1は前記第1近似ハッシュ値の第1部分を表し、
cxp2は前記第1近似ハッシュ値の第2部分を表し、
EncCPAはIND_CCAセキュア公開鍵暗号化方式の暗号化アルゴリズムを表し、
m1は前記第1バイオメトリックテンプレートを表し、
pkCPAはND_CCAセキュア公開鍵暗号化方式の鍵生成アルゴリズムにより生成されるCPA公開鍵を表し、
ENCODEはECC符号化演算子を表し、
rは近似乱数を表し、
Xはランダム行列を表し、
EncXLinearは第1線形暗号化アルゴリズムを表す、
付記1に記載の方法。
(付記9) 前記発見するステップ及び前記検出するステップは、ANDゲート及びORゲートのみを使用して実行される、付記1に記載の方法。
(付記10) 前記第1線形暗号文及び第1近似暗号文を登録暗号文として格納するステップ、を更に有する付記1に記載の方法。
(付記11) 非一時的コンピュータ可読媒体であって、工程を実行するために又はその実行を制御するためにプロセッサにより実行可能な符号化されたプログラミングコードを有し、前記工程は、
LPN(learning parity with noise)に少なくとも部分的に基づく関係線形暗号化方式を用いて暗号化される第1バイオメトリックテンプレートを表す第1線形暗号文を受信するステップと、
前記関係線形暗号化方式を用いて暗号化される第2バイオメトリックテンプレートを表す第2線形暗号文を受信するステップと、
線形関係秘密鍵を用いて、前記第1線形暗号文と前記第2線形暗号文との間の線形関係を発見するステップと、
関係近似ハッシュ方式を用いて暗号化される前記第1バイオメトリックテンプレートを表す第1近似ハッシュ値を受信するステップであって、前記関係近似ハッシュ方式は、前記関係線形暗号化方式及び誤り訂正符号(ECC)に基づく、ステップと、
前記関係近似ハッシュ方式を用いて暗号化される前記第2バイオメトリックテンプレートを表す第2近似ハッシュ値を受信するステップと、
ハミング距離の観点で、前記第1近似ハッシュ値と前記第2近似ハッシュ値との間の近似を検出するステップと、
前記近似及び前記線形関係に基づき、ユーザの同一性を認証するステップと、
を有する、非一時的コンピュータ可読媒体。
(付記12) 前記関係線形暗号化方式は、鍵生成アルゴリズム、暗号化アルゴリズム、及び解読アルゴリズムを含むIND_CCAセキュア公開鍵暗号化方式に更に基づく、付記11に記載の非一時的コンピュータ可読媒体。
(付記13) 前記線形関係を発見するステップは、以下の検証アルゴリズムに従い実行され、
skRlin:=(A,τ,sk_3);
given cy,cx,z,skRlin:
以下の不等式をチェックする:
dist(DecCPA(sk_3,cx_0)+DecCPA(sk_3,cy_0)+A×z)<?2×τ×m)、
ここで、cyは前記第1線形暗号文を表し、
cxは前記第2線形暗号文を表し、
skRlinは線形関係秘密鍵を表し、
zは検証エンティティにより選択される特定値を表し、
Aは第1整数×第2整数の次元を有するランダム2進行列を表し、
τはノイズ確率を表し、
sk_3はIND_CCAセキュア公開鍵暗号化方式の秘密鍵を表し、
cx_0は前記第1線形暗号文の第1要素を表し、
cy_0は前記第2線形暗号文の第1要素を表し、
DecCPAは前記解読アルゴリズムを表し、
distはハミング距離演算子を表し、
mは前記第1整数を表す、
付記12に記載の非一時的コンピュータ可読媒体。
(付記14) 前記第1線形暗号文は、以下の線形ビットベクトル暗号化式に従い暗号化され、
m1=<m1i>n i=1∈Fn 2;
cx:=EncCPA(pk_3,A×m1+e1)、EncCPA(pk_1,m1);
e1∈Fm 2、ここで各々の要素は、確率τで1であり、その他の場合に0であり;
m1はnビットの第1メッセージを表し、
pk_3は前記IND_CCAセキュア公開鍵暗号化方式の公開鍵を表し、
pk_1は前記IND_CCAセキュア公開鍵暗号化方式の別の公開鍵を表し、
iはインデックス変数を表し、
nは第1体の次元を表し、
EncCPAは前記暗号化アルゴリズムを表し、
+演算子はビット毎のXOR演算子を表し、
F2は基本数2の体を表す、
付記13に記載の非一時的コンピュータ可読媒体。
(付記15) 前記ノイズ確率は約0.25に等しい、
付記14に記載の非一時的コンピュータ可読媒体。
(付記16) 前記第1バイオメトリックテンプレートは高minエントロピ分布からサンプリングされる、付記11に記載の非一時的コンピュータ可読媒体。
(付記17) 前記近似を検出するステップは、以下の近似検証アルゴリズムに従い実行され、
Zrs:=DECODE(DecCPA(skcpa,cx_1+DecCPA(skcpa,cy_1)));
Output={DECODEが⊥を返す場合、拒否する;
VerifyLinear(skRlin,cx_2,cy_2,X○Z)};
ここで、Zrsはランダム性の和を表し、
DECODEはECC復号化演算子を表し、
DecCPAはIND_CCAセキュア公開鍵暗号化方式の解読アルゴリズムを表し、
cx_1は前記第1線形暗号文の第2要素を表し、
cy_1は前記第2線形暗号文の第2要素を表し、
cx_2は前記第1線形暗号文の第3要素を表し、
cy_2は前記第2線形暗号文の第3要素を表し、
skRlinは関係線形鍵を表し、
Xはランダム行列を表し、
skcpaはND_CCAセキュア公開鍵暗号化方式の鍵生成アルゴリズムにより生成されるCPA秘密鍵を表し、
⊥は誤りを表し、
zは検証エンティティにより選択される特定値を表し、
VerifyLinearは線形検証アルゴリズムを表す、
付記11に記載の非一時的コンピュータ可読媒体。
(付記18) 前記第1近似ハッシュ値は、以下の近似暗号化式に従い生成され、
cxp1:=EncCPA(pkCPA,m1+ENCODE(r));
cxp2:=EncXLinear(pkxlin,X○r);
cxp:=(cxp1,cxp2)、
ここで、cxpは前記第1近似ハッシュ値を表し、
cxp1は前記第1近似ハッシュ値の第1部分を表し、
cxp2は前記第1近似ハッシュ値の第2部分を表し、
EncCPAはIND_CCAセキュア公開鍵暗号化方式の暗号化アルゴリズムを表し、
m1は前記第1バイオメトリックテンプレートを表し、
pkCPAはND_CCAセキュア公開鍵暗号化方式の鍵生成アルゴリズムにより生成されるCPA公開鍵を表し、
ENCODEはECC符号化演算子を表し、
rは近似乱数を表し、
Xはランダム行列を表し、
EncXLinearは第1線形暗号化アルゴリズムを表す、
付記11に記載の非一時的コンピュータ可読媒体。
(付記19) 前記発見するステップ及び前記検出するステップは、ANDゲート及びORゲートのみを使用して実行される、付記11に記載の非一時的コンピュータ可読媒体。
(付記20) 前記工程は、前記第1線形暗号文及び第1近似暗号文を登録暗号文として格納するステップ、を更に有する、付記11に記載の非一時的コンピュータ可読媒体。
102 ユーザ装置
107 ネットワーク
108 関係認証モジュール
110 関係暗号化モジュール
112 線形暗号化モジュール
114 近似暗号化モジュール
122 メモリ
128 近似認証モジュール
130 登録暗号文
132 線形認証モジュール
140 認証サーバ
142 平文ベクトル
144 設定モジュール
150 第2エンティティ
152 第1エンティティ
Claims (20)
- 認証サーバにより実施される方法であって、前記認証サーバが、
LPN(learning parity with noise)に少なくとも部分的に基づく関係線形暗号化方式を用いて暗号化される第1バイオメトリックテンプレートを表す第1線形暗号文を受信するステップと、
前記関係線形暗号化方式を用いて暗号化される第2バイオメトリックテンプレートを表す第2線形暗号文を受信するステップと、
線形関係秘密鍵を用いて、前記第1線形暗号文と前記第2線形暗号文との間の線形関係を発見するステップと、
関係近似ハッシュ方式を用いて暗号化される前記第1バイオメトリックテンプレートを表す第1近似ハッシュ値を受信するステップであって、前記関係近似ハッシュ方式は、前記関係線形暗号化方式及び誤り訂正符号(ECC)に基づく、ステップと、
前記関係近似ハッシュ方式を用いて暗号化される前記第2バイオメトリックテンプレートを表す第2近似ハッシュ値を受信するステップと、
ハミング距離の観点で、前記第1近似ハッシュ値と前記第2近似ハッシュ値との間の近似を検出するステップと、
前記近似及び前記線形関係に基づき、ユーザの同一性を認証するステップと、
を有する方法。 - 前記関係線形暗号化方式は、鍵生成アルゴリズム、暗号化アルゴリズム、及び解読アルゴリズムを含むIND_CCAセキュア公開鍵暗号化方式に更に基づく、請求項1に記載の方法。
- 前記線形関係を発見するステップは、以下の検証アルゴリズムに従い実行され、
skRlin:=(A,τ,sk_3);
given cy, cx, z,skRlin:
以下の不等式をチェックする:
dist(DecCPA(sk_3,cx_0)+DecCPA(sk_3,cy_0)+A×z)<2×τ×m、
ここで、cyは前記第1線形暗号文を表し、
cxは前記第2線形暗号文を表し、
skRlinは線形関係秘密鍵を表し、
zは検証エンティティにより選択される特定値を表し、
Aは第1整数×第2整数の次元を有するランダム2進行列を表し、
τはノイズ確率を表し、
sk_3はIND_CCAセキュア公開鍵暗号化方式の秘密鍵を表し、
cx_0は前記第1線形暗号文の第1要素を表し、
cy_0は前記第2線形暗号文の第1要素を表し、
DecCPAは前記解読アルゴリズムを表し、
distはハミング距離演算子を表し、
mは前記第1整数を表す、
請求項2に記載の方法。 - 前記第1線形暗号文は、以下の線形ビットベクトル暗号化式に従い暗号化され、
m1=<m1i>n i=1∈Fn 2;
cx:=EncCPA(pk_3,A×m1+e1)、EncCPA(pk_1,m1);
e1∈Fm 2、各々の要素は、確率τで1であり、その他の場合に0であり、
m1はnビットの第1メッセージを表し、
pk_3は前記IND_CCAセキュア公開鍵暗号化方式の公開鍵を表し、
pk_1は前記IND_CCAセキュア公開鍵暗号化方式の別の公開鍵を表し、
iはインデックス変数を表し、
nは第1体の次元を表し、
EncCPAは前記暗号化アルゴリズムを表し、
+演算子はビット毎のXOR演算子を表し、
F2は基本数2の体を表す、
請求項3に記載の方法。 - 前記ノイズ確率は約0.25に等しい、請求項4に記載の方法。
- 前記第1バイオメトリックテンプレートは高minエントロピ分布からサンプリングされる、請求項1に記載の方法。
- 近似を検出するステップは、以下の近似検証アルゴリズムに従い実行され、
Zrs:=DECODE(DecCPA(skcpa,cx_1+DecCPA(skcpa,cy_1)));
Output={DECODEが⊥を返す場合、拒否する; VerifyLinear(skRlin,cx_2,cy_2,Z rs )};
ここで、Zrsはランダム性の和を表し、
DECODEはECC復号化演算子を表し、
DecCPAはIND_CCAセキュア公開鍵暗号化方式の解読アルゴリズムを表し、
cx_1は前記第1線形暗号文の第2要素を表し、
cy_1は前記第2線形暗号文の第2要素を表し、
cx_2は前記第1線形暗号文の第3要素を表し、
cy_2は前記第2線形暗号文の第3要素を表し、
skRlinは関係線形鍵を表し、
Xはランダム行列を表し、
skcpaはND_CCAセキュア公開鍵暗号化方式の鍵生成アルゴリズムにより生成されるCPA秘密鍵を表し、
⊥は誤りを表し、
zは検証エンティティにより選択される特定値を表し、
VerifyLinearは線形検証アルゴリズムを表す、
請求項1に記載の方法。 - 前記第1近似ハッシュ値は、以下の近似暗号化式に従い生成され、
cxp1:=EncCPA(pkCPA,m1+ENCODE(r));
cxp2:=EncXLinear(pkxlin,r);
cxp:=(cxp1,cxp2)、
ここで、cxpは前記第1近似ハッシュ値を表し、
cxp1は前記第1近似ハッシュ値の第1部分を表し、
cxp2は前記第1近似ハッシュ値の第2部分を表し、
EncCPAはIND_CCAセキュア公開鍵暗号化方式の暗号化アルゴリズムを表し、
m1は前記第1バイオメトリックテンプレートを表し、
pkCPAはND_CCAセキュア公開鍵暗号化方式の鍵生成アルゴリズムにより生成されるCPA公開鍵を表し、
ENCODEはECC符号化演算子を表し、
rは近似乱数を表し、
Xはランダム行列を表し、
EncXLinearは第1線形暗号化アルゴリズムを表す、
請求項1に記載の方法。 - 前記発見するステップ及び前記検出するステップは、ANDゲート及びORゲートのみを使用して実行される、請求項1に記載の方法。
- 前記認証サーバが、前記第1線形暗号文及び第1近似暗号文を登録暗号文として格納するステップ、を更に有する請求項1に記載の方法。
- 非一時的コンピュータ可読媒体であって、工程を実行するために又はその実行を制御するためにプロセッサにより実行可能な符号化されたプログラミングコードを有し、前記工程は、
LPN(learning parity with noise)に少なくとも部分的に基づく関係線形暗号化方式を用いて暗号化される第1バイオメトリックテンプレートを表す第1線形暗号文を受信するステップと、
前記関係線形暗号化方式を用いて暗号化される第2バイオメトリックテンプレートを表す第2線形暗号文を受信するステップと、
線形関係秘密鍵を用いて、前記第1線形暗号文と前記第2線形暗号文との間の線形関係を発見するステップと、
関係近似ハッシュ方式を用いて暗号化される前記第1バイオメトリックテンプレートを表す第1近似ハッシュ値を受信するステップであって、前記関係近似ハッシュ方式は、前記関係線形暗号化方式及び誤り訂正符号(ECC)に基づく、ステップと、
前記関係近似ハッシュ方式を用いて暗号化される前記第2バイオメトリックテンプレートを表す第2近似ハッシュ値を受信するステップと、
ハミング距離の観点で、前記第1近似ハッシュ値と前記第2近似ハッシュ値との間の近似を検出するステップと、
前記近似及び前記線形関係に基づき、ユーザの同一性を認証するステップと、
を有する、非一時的コンピュータ可読媒体。 - 前記関係線形暗号化方式は、鍵生成アルゴリズム、暗号化アルゴリズム、及び解読アルゴリズムを含むIND_CCAセキュア公開鍵暗号化方式に更に基づく、請求項11に記載の非一時的コンピュータ可読媒体。
- 前記線形関係を発見するステップは、以下の検証アルゴリズムに従い実行され、
skRlin:=(A,τ,sk_3);
given cy,cx,z,skRlin:
以下の不等式をチェックする:
dist(DecCPA(sk_3,cx_0)+DecCPA(sk_3,cy_0)+A×z)<2×τ×m、
ここで、cyは前記第1線形暗号文を表し、
cxは前記第2線形暗号文を表し、
skRlinは線形関係秘密鍵を表し、
zは検証エンティティにより選択される特定値を表し、
Aは第1整数×第2整数の次元を有するランダム2進行列を表し、
τはノイズ確率を表し、
sk_3はIND_CCAセキュア公開鍵暗号化方式の秘密鍵を表し、
cx_0は前記第1線形暗号文の第1要素を表し、
cy_0は前記第2線形暗号文の第1要素を表し、
DecCPAは前記解読アルゴリズムを表し、
distはハミング距離演算子を表し、
mは前記第1整数を表す、
請求項12に記載の非一時的コンピュータ可読媒体。 - 前記第1線形暗号文は、以下の線形ビットベクトル暗号化式に従い暗号化され、
m1=<m1i>n i=1∈Fn 2;
cx:=EncCPA(pk_3,A×m1+e1)、EncCPA(pk_1,m1);
e1∈Fm 2、ここで各々の要素は、確率τで1であり、その他の場合に0であり;
m1はnビットの第1メッセージを表し、
pk_3は前記IND_CCAセキュア公開鍵暗号化方式の公開鍵を表し、
pk_1は前記IND_CCAセキュア公開鍵暗号化方式の別の公開鍵を表し、
iはインデックス変数を表し、
nは第1体の次元を表し、
EncCPAは前記暗号化アルゴリズムを表し、
+演算子はビット毎のXOR演算子を表し、
F2は基本数2の体を表す、
請求項13に記載の非一時的コンピュータ可読媒体。 - 前記ノイズ確率は約0.25に等しい、
請求項14に記載の非一時的コンピュータ可読媒体。 - 前記第1バイオメトリックテンプレートは高minエントロピ分布からサンプリングされる、請求項11に記載の非一時的コンピュータ可読媒体。
- 前記近似を検出するステップは、以下の近似検証アルゴリズムに従い実行され、
Zrs:=DECODE(DecCPA(skcpa,cx_1+DecCPA(skcpa,cy_1)));
Output={DECODEが⊥を返す場合、拒否する;
VerifyLinear(skRlin,cx_2,cy_2,Z rs )};
ここで、Zrsはランダム性の和を表し、
DECODEはECC復号化演算子を表し、
DecCPAはIND_CCAセキュア公開鍵暗号化方式の解読アルゴリズムを表し、
cx_1は前記第1線形暗号文の第2要素を表し、
cy_1は前記第2線形暗号文の第2要素を表し、
cx_2は前記第1線形暗号文の第3要素を表し、
cy_2は前記第2線形暗号文の第3要素を表し、
skRlinは関係線形鍵を表し、
Xはランダム行列を表し、
skcpaはND_CCAセキュア公開鍵暗号化方式の鍵生成アルゴリズムにより生成されるCPA秘密鍵を表し、
⊥は誤りを表し、
zは検証エンティティにより選択される特定値を表し、
VerifyLinearは線形検証アルゴリズムを表す、
請求項11に記載の非一時的コンピュータ可読媒体。 - 前記第1近似ハッシュ値は、以下の近似暗号化式に従い生成され、
cxp1:=EncCPA(pkCPA,m1+ENCODE(r));
cxp2:=EncXLinear(pkxlin,r);
cxp:=(cxp1,cxp2)、
ここで、cxpは前記第1近似ハッシュ値を表し、
cxp1は前記第1近似ハッシュ値の第1部分を表し、
cxp2は前記第1近似ハッシュ値の第2部分を表し、
EncCPAはIND_CCAセキュア公開鍵暗号化方式の暗号化アルゴリズムを表し、
m1は前記第1バイオメトリックテンプレートを表し、
pkCPAはND_CCAセキュア公開鍵暗号化方式の鍵生成アルゴリズムにより生成されるCPA公開鍵を表し、
ENCODEはECC符号化演算子を表し、
rは近似乱数を表し、
Xはランダム行列を表し、
EncXLinearは第1線形暗号化アルゴリズムを表す、
請求項11に記載の非一時的コンピュータ可読媒体。 - 前記発見するステップ及び前記検出するステップは、ANDゲート及びORゲートのみを使用して実行される、請求項11に記載の非一時的コンピュータ可読媒体。
- 前記工程は、前記第1線形暗号文及び第1近似暗号文を登録暗号文として格納するステップ、を更に有する、請求項11に記載の非一時的コンピュータ可読媒体。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/144,713 US9608819B1 (en) | 2014-05-25 | 2016-05-02 | Learning parity with noise-based relational encryption for proximity relations |
US15/144,713 | 2016-05-02 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017201783A JP2017201783A (ja) | 2017-11-09 |
JP6922385B2 true JP6922385B2 (ja) | 2021-08-18 |
Family
ID=60264684
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017089512A Active JP6922385B2 (ja) | 2016-05-02 | 2017-04-28 | ノイズ存在下におけるパリティ値の同定に基づく、近似関係の関係暗号化 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6922385B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7132506B2 (ja) * | 2019-01-07 | 2022-09-07 | 富士通株式会社 | 秘密情報検索システム、秘密情報検索プログラム、および秘密情報検索方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006107274A (ja) * | 2004-10-07 | 2006-04-20 | Matsushita Electric Ind Co Ltd | ハッシュ関数演算システム、暗号化システムおよび不正解析・改竄防止システム |
US8689087B2 (en) * | 2008-01-11 | 2014-04-01 | Orange | Method and entity for probabilistic symmetrical encryption |
JP2011150006A (ja) * | 2010-01-19 | 2011-08-04 | Hitachi Ltd | 暗号化システム、公開鍵暗号化方法、鍵生成装置、計算機および公開鍵秘密鍵生成プログラム |
US9438589B2 (en) * | 2012-04-19 | 2016-09-06 | Martin Tomlinson | Binding a digital file to a person's identity using biometrics |
US9503266B2 (en) * | 2014-05-25 | 2016-11-22 | Fujitsu Limited | Relational encryption |
-
2017
- 2017-04-28 JP JP2017089512A patent/JP6922385B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017201783A (ja) | 2017-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9674189B1 (en) | Relational encryption | |
US9660991B2 (en) | Relational encryption | |
JP6488847B2 (ja) | リレーショナル暗号化 | |
US9774596B2 (en) | Privacy-preserving biometric authentication | |
US9967101B2 (en) | Privacy preserving set-based biometric authentication | |
US9577831B2 (en) | Relational encryption | |
US9438590B2 (en) | Privacy preserving biometric authentication based on error correcting codes | |
US9608819B1 (en) | Learning parity with noise-based relational encryption for proximity relations | |
JP6852592B2 (ja) | ユーザ認証のための暗号プリミティブ | |
JP2018510593A (ja) | バイオメトリックデータを使用する階層型暗号鍵生成のためのシステムおよび方法 | |
Dwivedi et al. | A fingerprint based crypto-biometric system for secure communication | |
JP2017076839A (ja) | 暗号処理方法、暗号処理装置、および暗号処理プログラム | |
JP2016035554A (ja) | 完全準同型暗号化方式を使用したコンパクトなファジープライベートマッチング | |
KR102008101B1 (ko) | 함수 암호를 이용한 안전한 바이오 인증 방법 | |
Abidin | On privacy-preserving biometric authentication | |
Barman et al. | A novel secure key-exchange protocol using biometrics of the sender and receiver | |
US10033532B2 (en) | Biometric based authenticated key exchange | |
JP6844411B2 (ja) | 関係暗号化 | |
Suresh et al. | Two-factor-based RSA key generation from fingerprint biometrics and password for secure communication | |
JP6786884B2 (ja) | 関係暗号化 | |
JP6922385B2 (ja) | ノイズ存在下におけるパリティ値の同定に基づく、近似関係の関係暗号化 | |
Vo et al. | A hash-based index method for securing biometric fuzzy vaults | |
Seo et al. | Construction of a New Biometric‐Based Key Derivation Function and Its Application | |
Laguduva et al. | Machine learning attacks and countermeasures for PUF-based IoT edge node security | |
Gunasinghe et al. | Privacy preserving biometrics-based and user centric authentication protocol |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200213 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20201225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210126 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210323 |
|
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: 20210629 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210712 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6922385 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |