JP6392191B2 - 証明装置、証明システム、証明方法、およびプログラム - Google Patents
証明装置、証明システム、証明方法、およびプログラム Download PDFInfo
- Publication number
- JP6392191B2 JP6392191B2 JP2015189347A JP2015189347A JP6392191B2 JP 6392191 B2 JP6392191 B2 JP 6392191B2 JP 2015189347 A JP2015189347 A JP 2015189347A JP 2015189347 A JP2015189347 A JP 2015189347A JP 6392191 B2 JP6392191 B2 JP 6392191B2
- Authority
- JP
- Japan
- Prior art keywords
- graph
- commitment
- com
- challenge
- unit
- 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
[定義]
まず、実施形態で使用する用語を定義する。
実施形態では、証明者として機能する証明装置が検証者として機能する検証装置と通信を行うことによりゼロ知識証明を行う。ゼロ知識証明とは、証明者が「命題が真である」こと以外の知識を検証者に与えることなく、「命題が真である」ことを検証者に証明する手法である。ここで、証明者が証明する命題は「NP言語Lとインスタンス(ステートメント)xに関してx∈Lが成り立つ」ことである。この命題はNP(Non-deterministic Polynomial)に属する問題であり、その解を求める多項式時間アルゴリズムは必ずしも知られていないが、多項式サイズの証拠(witness)が与えられれば、解の正しさを多項式時間で検証できる判定問題である。NP言語Lの例は「正しく生成されたRSA暗号の公開鍵の集合」であり、インスタンスxの例は「特定の公開鍵」である。この場合の証拠wの例は公開鍵の素因数からなる列である。証明者と検証者は共通入力としてNP言語Lとインスタンスxを持ち、更に証明者はx∈Lであることの証拠wを持つ。
健全性は「x∈Lでないとき、どのような証明者も証明に失敗する」という性質である。ここではプロトコルに従わない悪意を持った証明者も考慮する。
ゼロ知識性は「x∈Lならば、どのような多項式時間の計算能力を持つ検証者に対しても命題が真(x∈L)であること以外の情報(例えば、証拠wに関する情報)は漏れない」という性質である。ここでもプロトコルに従わない悪意を持った検証者も考慮する。
2.したがって、もし検証者と同じ入力から証明者−検証者間の通信系列を出力するシミュレータが存在したら、検証者が得た情報は検証者の入力のみから計算できることになる。
3.これは検証者が得た情報は全て証明者と通信をすることなく計算することができることを意味するため、検証者の入力からは計算できない情報を検証者は得ていないことになる。
まず、ある特定の性質を満たすコミットメント方式SpecialComがあれば漏洩耐性を持つゼロ知識証明を構築することができることを示す。次にSpecialComを非対話コミットメント方式Comから構築することができることを示す。
≪SpecialCom≫
SpecialCom=(S_Com,S_Dec,S_Verify)を以下のような性質を満たす非対話コミットメント方式とする。
S_Comはビットb∈{0,1}と2つのグラフG0,G1を入力とし、乱数rを生成してbへのコミットメントc←S_Com(G0,G1,b)(すなわち、c:=S_Com(G0,G1,b;r))を出力する。本形態では、例えばコミットメントc←S_Com(G0,G1,b)が擬似乱数であるという性質を持つ。ただし、これは必須ではない。S_Decはコミットメントcとコミットされたビットbとコミット時に用いた乱数rとグラフG0,G1を入力とし、デコミットメントd:=S_Dec(G0,G1,c,b;r)を出力する。S_Verifyはコミットメントcとデコミットされた値bとデコミットメントdとグラフG0,G1を入力とし、デコミットメントdを検証する(S_Verify(G0,G1,b,c,d)=1ならば検証成功)。
(性質1)G0∈Lhamでなく、かつ、G1∈Lhamでないとき(G0およびG1が何れもハミルトン閉路を持たないとき)、拘束性が成り立つ。ただし、ハミルトン閉路を持つグラフの集合をLhamで表す。つまり、以下の関係が成り立つ。
{c|∃d s.t. S_Verify(G0,G1,0,c,d)=1}∩{c|∃d s.t. S_Verify(G0,G1,1,c,d)=1}=φ
ただし、「∃d s.t.α」はαを満たすようなdが存在することを表す。φは空集合を表す。
{c|c←S_Com(G0,G1,0)}~{c|c←S_Com(G0,G1,1)}
ただし、α~βはαとβとを識別できないことを意味する。
・任意の乱数rに関し、c:=S_Com(G0,G1,0;r),d’:=S_Equiv(G0,G1,w0;r)とするとS_Verify(G0,G1,1,c,d’)=1が成り立つ。
・任意の乱数rに関し、c:=S_Com(G0,G1,1;r),r’:=S_Adapt(G0,G1,w0,w1;r)とするとS_Com(G0,G1,0;r’)=cが成り立つ。
証明者をP、検証者をVと表現する。一般性を失うことなく(ハミルトン閉路問題はNP完全問題であり、一般性を失わない)、PはVと共有するグラフG0がハミルトン閉路を持つこと(つまりG0∈Lhamであること)を証明するものとする。証明者Pが証拠w0を持つとする。
ステップ2(a):PはSpecialComを用いてn×nの零行列にコミットする。つまり、Pは各i∈[n],j∈[n]について乱数ri,jを選んでコミットメントci,j:=S_Com(G0,G1,0;ri,j)を計算し、{ci,j}i∈[n],j∈[n]をVに送る。なお、[n]は1以上n以下の整数からなる集合{1,…,n}を表し、{ci,j}i∈[n],j∈[n]はci,j(ただし、i∈[n],j∈[n])を要素とした集合(例えば、ci,jをi行j列の要素とした行列)を表す。また{ci,j}i∈[n],j∈[n]を{ci,j}と省略して記載する場合もある。
ch=1ならば、Pはハミルトン閉路のみを持つグラフH(1)(節点数n)のn×nの隣接行列A(1):=M(H(1))をランダムに選択する。ただし、隣接行列A(1)をA(1)={ai,j (1)}i∈[n],j∈[n]と表記する(ただし、ai,j (1)∈{0,1})。さらにPはSpecialComの(性質3)を利用し、証拠w0および乱数ri,jを用い、グラフH(1)の閉路の部分についてcp,q∈{ci,j}i∈[n],j∈[n]を各要素ap,q (1)(ただし、p∈[n],q∈[n])にデコミットする。言い換えると、PはグラフH(1)の隣接行列A(1)={ai,j (1)}i∈[n],j∈[n]の要素のうち、閉路をなす枝に対応する各要素ap,q (1)=1にコミットメントcp,qをデコミットする。つまり、Pはap,q (1)=1となる各p∈[n],q∈[n]についてdp,q (1):=S_Equiv(G0,G1,w0;rp,q)を計算し、{dp,q (1)}p∈[n],q∈[n]をVに送る。
ch=1のとき、Vはデコミットされた部分がハミルトン閉路となっていることを確認する。つまり、VはPから受け取ったすべてのdp,q (1)に関してS_Verify(G0,G1,1,cp,q,dp,q (1))=1が成り立つことを確認し、更にコミットメントcp,qがデコミットされた要素ap,q (1)が隣接行列においてハミルトン閉路を表すか(1にデコミットされた要素ap,q (1)に対応する枝を持つグラフがハミルトン閉路であるか)を確認する。これが成り立てばこの回の検証は「合格」である。
≪健全性≫
健全性については、以下の理由で成り立つ。前述のようにencrypted preambleの通信系列σは任意の証明者に対してσ∈Lsimを満たさない。そのため、任意の証明者に対してG1∈Lhamを満たさない。ここで、G0∈Lhamが成り立たないと仮定する(健全性の定義参照)。このとき、SpecialComの(性質1)から拘束性が成り立つため、上述のステップ2(a)の時点でPがコミットした行列は一意に定まる。この行列がπ(G1)の隣接行列A(0)であり、なおかつ、ハミルトン閉路を含むグラフの隣接行列であることはありえない。なぜなら、G1∈Lhamを満たさず、そのランダム置換であるπ(G1)もハミルトン閉路を含まないからである。そのため、G0∈Lhamが成り立たないとき、上述のステップ2(c)でPが正しく答えられる確率は高々1/2である。言い換えると、G0∈Lhamが成り立たないため(性質3)が成り立たず、Pがch=0およびch=1の両方に正しい応答を行うことはできない。ステップ2(a)〜2(d)はK回繰り返されるため、全ての繰り返しにおいてPが正しく答えられる確率は(1/2K)以下となり、Kが十分大きいときにはその確率は無視できる。よって健全性が成り立つ。
耐漏洩性については,以下の理由で成り立つ。まず、前述のようにシミュレータはencrypted preambleの通信系列σ’をシミュレートしてσ’∈Lsimとすることができ、その証拠も計算できる。そのため、シミュレータはG1’∈Lhamとすることができ、その証拠w1’も計算できる。このときシミュレータはステップ2(a)および2(c)を以下のようにしてシミュレートできる。
ch=1ならば、シミュレータはH’の閉路の部分についてcp,q’∈{ci,j’}i∈[n],j∈[n]をap,q’(ただし、p∈[n],q∈[n])にデコミットする。つまり、シミュレータはap,q’=1となる各p∈[n],q∈[n]についてdp,q’:=S_Dec(G0,G1’,cp,q’,1;rp,q’)を計算し、{dp,q’}p∈[n],q∈[n]をVに送る。
ステップ1については非特許文献1と同様の方法で内部状態(入力と乱数)の漏洩をシミュレートできる。
SpecialComの具体例を示す。この具体例では、SpecialComを得るために、既存技術であるハミルトン閉路コミットメント方式H_Com(例えば、参考文献1,2参照)と、適応的ハミルトン閉路コミットメント方式AH_Com(例えば、参考文献3参照)の組み合わせを行う。H_ComもAH_ComもComから構成できるコミットメント方式である。
参考文献1:Uriel Feige and Adi Shamir, “Zero knowledge proofs of knowledge in two rounds,” In Gilles Brassard,editor, Advances in Cryptology - CRYPTO '89, 9th Annual International Cryptology Conference, Santa Barbara, California, USA, August 20-24, 1989, Proceedings, volume 435 of Lecture Notes in Computer Science, pages 526-544. Springer, 1989.
参考文献2:Ran Canetti, Yehuda Lindell, Rafail Ostrovsky, and Amit Sahai, “Universally composable two-party and multi-party secure computation,” In John H. Reif, editor, Proceedings on 34th Annual ACM Symposium on Theory of Computing, May 19-21, 2002, Montreal, Quebec, Canada, pages 494-503. ACM, 2002.
参考文献3:Yehuda Lindell and Hila Zarosim, “Adaptive zero-knowledge proofs and adaptively secure oblivious transfer,” In Omer Reingold, editor, Theory of Cryptography, 6th Theory of Cryptography Conference, TCC 2009, San Francisco, CA, USA, March 15-17, 2009, Proceedings, volume 5444 of Lecture Notes in Computer Science, pages 183-201, Springer, 2009.
HComは確率的アルゴリズムの組(H_Com,H_Dec,H_Verify)からなる非対話コミットメント方式である。
≪H_Com≫
H_Comはビットb∈{0,1}とハミルトン閉路問題のインスタンスGを入力とし、乱数rを生成して以下のようにbへのコミットメントc←H_Com(G,b)(すなわち、c:=H_Com(G,b;r))を出力する。
b=0へのコミット:PはG上のランダム置換π’を選び、E(0)=π’(G)の隣接行列B(0):=M(E(0))を計算し、乱数ri,jを選択し、B(0)={bi,j (0)}i∈[n],j∈[n]の各要素bi,j (0)∈{0,1}をComでコミットして得られるci,j←Com(bi,j (0))(すなわち、ci,j:=Com(bi,j (0);ri,j))からなる{ci,j}i∈[n],j∈[n]をコミットメントcとして出力する。
b=1へのコミット:PはGと同じサイズでハミルトン閉路のみを持つグラフE(1)の隣接行列B(1):=M(E(1))を得、乱数ri,jを選択し、B(1)={bi,j (1)}i∈[n],j∈[n]の各要素bi,j (1)∈{0,1}をComでコミットして得られるci,j←Com(bi,j (1))(すなわち、ci,j:=Com(bi,j (1);ri,j))からなる{ci,j}i∈[n],j∈[n]をコミットメントcとして出力する。
H_Decはコミットメントcとコミットされた値bとコミットメントに用いられた乱数rを入力とし、デコミットメントd:=H_Dec(G,b,c;r)を出力する。
b=0へのデコミット:Pはdi,j (0):=Dec(bi,j (0),ci,j;ri,j)を得、{di,j (0)}i∈[n],j∈[n]をデコミットメントdとしてπ’とともに出力する。
b=1へのデコミット:Pはdi,j (1):=Dec(bi,j (1),ci,j;ri,j)を得、{di,j (1)}i∈[n],j∈[n]をデコミットメントdとして出力する。さらにPはE(1)の隣接行列B(1):=M(E(1))をdとともに出力する。
H_Verifyはコミットメントcとデコミットされた値bとデコミットメントdとインスタンスGとを入力としてデコミットメントdを検証する。
b=0の検証:VはE(0)=π’(G)の隣接行列B(0):=M(E(0))を計算し、B(0)={bi,j (0)}i∈[n],j∈[n]の各要素bi,j (0)∈{0,1}を得、すべてのi∈[n],j∈[n]についてVerify(bi,j (0),ci,j,di,j (0))=1であれば検証成功とし、そうでなければ検証失敗とする。
b=1の検証:VはGと同じサイズでハミルトン閉路のみを持つグラフE(1)の隣接行列B(1):=M(E(1))を入力とし、B(1)={bi,j (1)}i∈[n],j∈[n]の各要素bi,j (1)∈{0,1}を得、すべてのi∈[n],j∈[n]についてVerify(bi,j (1),ci,j,di,j (1))=1であれば検証成功とし、そうでなければ検証失敗とする。
AHComは確率的アルゴリズムの組(AH_Com,AH_Dec,AH_Verify)からなる非対話コミットメント方式である。
≪AH_Com≫
AH_Comはビットb∈{0,1}とハミルトン閉路問題のインスタンスGを入力とし、乱数rを生成して以下のようにbへのコミットメントc←AH_Com(G,b)(すなわち、c:=AH_Com(G,b;r))を出力する。
b=0へのコミット:PはG上のランダム置換π’を選び、E(0)=π’(G)の隣接行列B(0):=M(E(0))を計算し、乱数ri,jを選択し、B(0)={bi,j (0)}i∈[n],j∈[n]の各要素bi,j (0)をComでコミットして得られるci,j←Com(bi,j (0))(すなわち、ci,j:=Com(bi,j (0);ri,j))からなる{ci,j}i∈[n],j∈[n]をコミットメントcとして出力する。
b=1へのコミット:PはGと同じサイズでハミルトン閉路のみを持つグラフE(1)の隣接行列B(1):=M(E(1))を得、乱数ri,jを選択し、B(1)={bi,j (1)}i∈[n],j∈[n]の各要素bi,j (1)を得る。bi,j (1)=1の場合、PはComでbi,j (1)をコミットして得られるci,j←Com(bi,j (1))(すなわちci,j:=Com(bi,j (1);ri,j))を得る。bi,j (1)=0の場合、PはComで0をコミットする代わりにCom(bi,j (1))と同じ長さのランダム記号列C(ri,j)をci,j:=C(ri,j)として得る。Pは{ci,j}i∈[n],j∈[n]をコミットメントcとして出力する。
AH_Decはコミットメントcとコミットされた値bとコミットメントに用いられた乱数rを入力とし、デコミットメントd:=AH_Dec(G,b,c;r)を出力する。
b=0へのデコミット:Pは、di,j (0):=Dec(bi,j (0),ci,j;ri,j)を得、{di,j (0)}i∈[n],j∈[n]をデコミットメントdとしてπ’とともに出力する。
b=1へのデコミット:Pはbi,j (1)=1が成り立つような(i,j)のみについてdi,j (1):=Dec(bi,j (1),ci,j;ri,j)を得、{di,j (1)}i∈[n],j∈[n]をデコミットメントdとして出力する。さらにPはE(1)の隣接行列B(1):=M(E(1))をdi,j (1)とともに出力する。
AH_Verifyはコミットメントcとデコミットされた値bとデコミットメントdとインスタンスGとを入力としてデコミットメントdを検証する。
b=0の検証:VはE(0)=π’(G)の隣接行列B(0):=M(E(0))を計算し、B(0)={bi,j (0)}i∈[n],j∈[n]の各要素bi,j (0)∈{0,1}を得、すべてのi∈[n],j∈[n]についてVerify(bi,j (0),ci,j,di,j (0))=1であれば検証成功とし、そうでなければ検証失敗とする。
b=1の検証:VはGと同じサイズでハミルトン閉路のみを持つグラフE(1)の隣接行列B(1):=M(E(1))を入力とし、B(1)={bi,j (1)}i∈[n],j∈[n]の各要素bi,j (1)∈{0,1}を得る。Vはbi,j (1)=1の場合にはVerify(bi,j (1),ci,j,di,j (1))=1を確認し、bi,j (1)=0の場合にはci,jがCom(bi,j (1))と同じ長さのランダム記号列であるかを確認する。すべてのi∈[n],j∈[n]について、bi,j (1)=1の場合にVerify(bi,j (1),ci,j,di,j (1))=1となり、bi,j (1)=0の場合にci,jがCom(bi,j (1))と同じ長さのランダム記号列となれば検証成功とし、そうでなければ検証失敗とする。
(1)ci,jがbi,j (0)=1へのコミットメントであるが、ci,j’がランダム記号列である。
(2)ci,jがbi,j (0)=1へのコミットメントであり、ci,j’も1へのコミットメントである。
(3)ci,jがbi,j (0)=0へのコミットメントであり、ci,j’がランダム記号列である。
(4)ci,jがbi,j (0)=0へのコミットメントであるが、ci,j’は1へのコミットメントである。
(1)の場合、ci,j’はランダム記号列であり、Comの性質からci,jは長さ|ci,j|のランダム記号列と識別できない。そのため、(1)のような(i,j)についてはci,jをそのままri,j’とすればよい。
(2)のような(i,j)についてはci,jの生成に用いたri,jをそのままri,j’とすればよい。
(3)の場合、ci,j’はランダム記号列であるため、(3)のような(i,j)についてはci,jをそのままri,j’とすればよい。
(4)のような(i,j)についてはri,j’を特定できない。しかしながら、G∈Lhamであるため、証拠wを用いて(4)の場合を避けるようなハミルトン閉路のみを持つグラフE(1)を選択することは可能である。
よって上述の性質を満たす。
HCom=(H_Com,H_Dec,H_Verify)を構成する(Com,Dec,Verify)を(AH_Com,AH_Dec,AH_Verify)にそれぞれ置換し、HComでのGをG0に置換し、AHComでのGをG1に置換することでSpecialCom=(S_Com,S_Dec,S_Verify)を構成できる。以下に具体的に示す。
S_Comはビットb∈{0,1}とハミルトン閉路問題のインスタンス(グラフ)G0,G1を入力とし、乱数rを生成して以下のようにbへのコミットメントc←S_Com(G0,G1,b)(すなわち、c:=S_Com(G0,G1,b;r))を出力する。
b=0へのコミット:PはG0上のランダム置換π’を選び、E(0)=π’(G0)の隣接行列B(0):=M(E(0))を計算し、乱数ri,jを選択し、B(0)={bi,j (0)}i∈[n],j∈[n]の各要素bi,j (0)∈{0,1}をAH_Comでコミットして得られるci,j←AH_Com(G1,bi,j (0))(すなわち、ci,j:=AH_Com(G1,bi,j (0);ri,j))からなる{ci,j}i∈[n],j∈[n]をコミットメントcとして出力する。
b=1へのコミット:PはG0と同じサイズでハミルトン閉路のみを持つグラフE(1)の隣接行列B(1):=M(E(1))を得、乱数ri,jを選択し、B(1)={bi,j (1)}i∈[n],j∈[n]の各要素bi,j (1)∈{0,1}をAH_Comでコミットして得られるci,j←AH_Com(G1,bi,j (1))(すなわち、ci,j:=AH_Com(G1,bi,j (1);ri,j))からなる{ci,j}i∈[n],j∈[n]をコミットメントcとして出力する。
前述のように、方式AH_Comでの0へのコミットメントAH_Com(G1,0)は、グラフG1に由来するグラフT(0)=π’(G1)(π’はランダム置換)の隣接行列U(0)の各要素uv,w (0)へのコミットメントcuv,w (0)を含む集合{cuv,w (0)}である。AH_Comでの1へのコミットメントAH_Com(G1,1)は、G1と同じサイズでハミルトン閉路のみを持つグラフT(1)の隣接行列U(1)の各要素uv,w (1)に対応するcuv,w (1)を含む集合{cuv,w (1)}であり、要素uv,w (1)=1に対応するcuv,w (1)は要素uv,w (1)へのコミットメントであり、要素uv,w (1)=0に対応するcuv,w (1)はランダム記号列である。
S_Decはコミットメントcとコミットされた値bとコミットメントに用いられた乱数rを入力とし、デコミットメントd:=S_Dec(G0,G1,b,c;r)を出力する。
b=0へのデコミット:Pはdi,j (0):=AH_Dec(G1,bi,j (0),ci,j;ri,j)を得、{di,j (0)}i∈[n],j∈[n]をデコミットメントdとしてπ’とともに出力する。
b=1へのデコミット:Pはdi,j (1):=AH_Dec(G1,bi,j (1),ci,j;ri,j)を得、{di,j (1)}i∈[n],j∈[n]をデコミットメントdとして出力する。さらにPはE(1)の隣接行列B(1):=M(E(1))をdとともに出力する。
S_Verifyはコミットメントcとデコミットされた値bとデコミットメントdとインスタンス(グラフ)G0,G1とを入力としてデコミットメントdを検証する。
b=0の検証:VはE(0)=π’(G0)の隣接行列B(0):=M(E(0))を計算し、B(0)={bi,j (0)}i∈[n],j∈[n]の各要素bi,j (0)∈{0,1}を得、すべてのi∈[n],j∈[n]についてAH_Verify(G1,bi,j (0),ci,j,di,j (0))=1であれば検証成功とし、そうでなければ検証失敗とする。
b=1の検証:VはGと同じサイズでハミルトン閉路のみを持つグラフE(1)の隣接行列B(1):=M(E(1))を入力とし、B(1)={bi,j (1)}i∈[n],j∈[n]の各要素bi,j (1)∈{0,1}を得、すべてのi∈[n],j∈[n]についてAH_Verify(G1,bi,j (1),ci,j,di,j (1))=1であれば検証成功とし、そうでなければ検証失敗とする。
次に、図面を用いて実施形態を説明する。
<構成>
図1に例示するように、本形態の証明システム1は証明装置11および検証装置12を有する。証明装置11は、記憶部111、制御部112、前提処理部113、コミット部114、チャレンジ入力部115、およびデコミット部116を有する。検証装置12は、記憶部121、制御部122、前提処理部123、コミットメント入力部124、チャレンジ出力部125、および検証部126を有する。証明装置11と検証装置12は、ネットワーク等を通じて互いに情報の送受信が可能とされている。これらの装置は、例えば、CPU(central processing unit)等のプロセッサ(ハードウェア・プロセッサ)およびRAM(random-access memory)・ROM(read-only memory)等のメモリ等を備える汎用または専用のコンピュータが所定のプログラムを実行することで構成される装置である。このコンピュータは1個のプロセッサやメモリを備えていてもよいし、複数個のプロセッサやメモリを備えていてもよい。このプログラムはコンピュータにインストールされてもよいし、予めROM等に記録されていてもよい。また、CPUのようにプログラムが読み込まれることで機能構成を実現する電子回路(circuitry)ではなく、プログラムを用いることなく処理機能を実現する電子回路を用いて一部またはすべての処理部が構成されてもよい。また、1個の装置を構成する電子回路が複数のCPUを含んでいてもよい。
図2および図3を用い、本形態における漏洩耐性を持つゼロ知識証明方法を説明する。本形態では証明装置11が検証装置12と共有するグラフG0がハミルトン閉路を持つこと(つまりG0∈Lhamであること)を証明する。G0∈Lhamであることの一例は、特定の公開鍵(グラフG0に対応)が正しく生成されたRSA暗号の公開鍵の集合(Lhamに対応)に属することである。
本形態では、SpecialComを巧みに使うことで内部情報の漏洩のシミュレーションを可能とし、Yaoの二者間秘密計算プロトコルを用いずに漏洩耐性をもつゼロ知識証明の実現が可能となった。
なお、本発明は上述の実施の形態に限定されるものではない。例えば、Gをランダム置換したものを「Gに由来するグラフ」とした例を説明したが、Gそのものを「Gに由来するグラフ」としてもよいし、Gを予め定められたように置換したものを「Gに由来するグラフ」としてもよい。各装置がネットワークを通じて情報をやり取りするのではなく、少なくとも一部の組の装置が可搬型記録媒体を介して情報をやり取りしてもよい。或いは、少なくとも一部の組の装置が非可搬型の記録媒体を介して情報をやり取りしてもよい。
11 証明装置
12 検証装置
Claims (6)
- グラフG0がハミルトン閉路を持つことを証明する証明装置であって、
ハミルトン閉路を持たないグラフG1を得る前提処理部と、
コミット対象0と前記グラフG0,G1と乱数ri,jとを含む情報に応じて得られる、前記グラフG1と同じサイズの零行列の各要素0へのコミットメントci,jを含む集合{ci,j}を出力するコミット部と、
チャレンジchの入力を受け付けるチャレンジ入力部と、
前記チャレンジchが第1値である場合に、前記グラフG1に由来するグラフH(0)の隣接行列A(0)の各要素ai,j (0)に前記コミットメントci,jをデコミットするためのデコミットメントdi,j (0)を含む集合を出力し、
前記チャレンジchが前記第1値と異なる第2値である場合に、ハミルトン閉路のみを持つグラフH(1)の隣接行列A(1)の要素のうち閉路をなす枝に対応する各要素ap,q (1)に前記コミットメントcp,q∈{ci,j}をデコミットするためのデコミットメントdp,q (1)を含む集合を出力するデコミット部と、
を有する証明装置。 - 請求項1の証明装置であって、
前記グラフG0がハミルトン閉路を持たない場合、前記コミット対象0への拘束性が保証され、
前記グラフG0がハミルトン閉路を持つ場合、0への前記コミットメントci,jを1へデコミットするための値を前記デコミットメントdとすることができ、
前記グラフG0およびG1がハミルトン閉路を持つ場合、b=1への前記コミットメントcをb=0へのコミットメントとして示すことができる、証明装置。 - 請求項1または2の証明装置であって、
0への前記コミットメントci,jは、前記グラフG0に由来するグラフE(0)の隣接行列B(0)の各要素bi,j (0)を方式AH_ComでコミットしたコミットメントCBi,j (0)←AH_Com(G1,bi,j (0))を含む集合{CBi,j (0)}であり、
1への前記コミットメントci,jは、前記グラフG0と同じサイズでハミルトン閉路のみを持つグラフE(1)の隣接行列B(1)の各要素bi,j (1)を前記方式AH_ComでコミットしたコミットメントCBi,j (1)←AH_Com(G1,bi,j (1))を含む集合{CBi,j (1)}であり、
前記方式AH_Comでの0へのコミットメントAH_Com(G1,0)は、前記グラフG1に由来するグラフT(0)の隣接行列U(0)の各要素uv,w (0)へのコミットメントcuv,w (0)を含む集合{cuv,w (0)}であり、
前記方式AH_Comでの1へのコミットメントAH_Com(G1,1)は、前記グラフG1と同じサイズでハミルトン閉路のみを持つグラフT(1)の隣接行列U(1)の各要素uv,w (1)に対応するcuv,w (1)を含む集合{cuv,w (1)}であり、要素uv,w (1)=1に対応するcuv,w (1)は前記要素uv,w (1)へのコミットメントであり、要素uv,w (1)=0に対応するcuv,w (1)はランダム記号列である、証明装置。 - グラフG0がハミルトン閉路を持つことを証明する証明装置と、前記グラフG0がハミルトン閉路を持つことを検証する検証装置とを有し、
前記証明装置は、ハミルトン閉路を持たないグラフG1を得る第1前提処理部を含み、
前記検証装置は、前記グラフG1を得る第2前提処理部を含み、
前記証明装置は、コミット対象0と前記グラフG0,G1と乱数ri,jとを含む情報に応じて得られる、前記グラフG1と同じサイズの零行列の各要素0へのコミットメントci,jを含む集合{ci,j}を出力するコミット部を含み、
前記検証装置は、チャレンジchを出力するチャレンジ出力部を含み、
前記証明装置は、前記チャレンジchの入力を受け付けるチャレンジ入力部と、
前記チャレンジchが第1値である場合に、前記グラフG1に由来するグラフH(0)の隣接行列A(0)の各要素ai,j (0)に前記コミットメントci,jをデコミットするためのデコミットメントdi,j (0)を含む集合を出力し、
前記チャレンジchが前記第1値と異なる第2値である場合に、ハミルトン閉路のみを持つグラフH(1)の隣接行列A(1)の要素のうち閉路をなす枝に対応する各要素ap,q (1)に前記コミットメントcp,q∈{ci,j}をデコミットするためのデコミットメントdp,q (1)を含む集合を出力するデコミット部と、を含み、
前記検証装置は、
前記チャレンジchが前記第1値である場合に、{ci,j},{di,j (0)},{ai,j (0)}および前記グラフG0,G1を含む情報を用いて、前記コミットメントci,jが前記要素ai,j (0)にデコミットされたことを検証し、
前記チャレンジchが前記第2値である場合に、{cp,q},{dp,q (1)}および前記グラフG0,G1を含む情報を用いて、前記コミットメントcp,qが1にデコミットされたことを確認し、かつ、1にデコミットされた要素に対応する枝を持つグラフがハミルトン閉路であることを検証する検証部を含む、証明システム。 - 前提処理部とコミット部と入力部とデコミット部とを有する証明装置が、グラフG0がハミルトン閉路を持つことを証明する証明方法であって、
前記前提処理部が、ハミルトン閉路を持たないグラフG1を得、
前記コミット部が、コミット対象0と前記グラフG0,G1と乱数ri,jとを含む情報に応じて得られる、前記グラフG1と同じサイズの零行列の各要素0へのコミットメントci,jを含む集合{ci,j}を出力し、
前記入力部が、チャレンジchの入力を受け付け、
前記デコミット部が、
前記チャレンジchが第1値である場合に、前記グラフG1に由来するグラフH(0)の隣接行列A(0)の各要素ai,j (0)に前記コミットメントci,jをデコミットするためのデコミットメントdi,j (0)を含む集合を出力し、
前記チャレンジchが前記第1値と異なる第2値である場合に、ハミルトン閉路のみを持つグラフH(1)の隣接行列A(1)の要素のうち閉路をなす枝に対応する各要素ap,q (1)に前記コミットメントcp,q∈{ci,j}をデコミットするためのデコミットメントdp,q (1)を含む集合を出力する証明方法。 - 請求項1から3の何れかの証明装置としてコンピュータを機能させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015189347A JP6392191B2 (ja) | 2015-09-28 | 2015-09-28 | 証明装置、証明システム、証明方法、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015189347A JP6392191B2 (ja) | 2015-09-28 | 2015-09-28 | 証明装置、証明システム、証明方法、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017069604A JP2017069604A (ja) | 2017-04-06 |
JP6392191B2 true JP6392191B2 (ja) | 2018-09-19 |
Family
ID=58492891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015189347A Active JP6392191B2 (ja) | 2015-09-28 | 2015-09-28 | 証明装置、証明システム、証明方法、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6392191B2 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8881295B2 (en) * | 2010-09-28 | 2014-11-04 | Alcatel Lucent | Garbled circuit generation in a leakage-resilient manner |
US8954728B1 (en) * | 2012-12-28 | 2015-02-10 | Emc Corporation | Generation of exfiltration-resilient cryptographic keys |
-
2015
- 2015-09-28 JP JP2015189347A patent/JP6392191B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2017069604A (ja) | 2017-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Campanelli et al. | Zero-knowledge contingent payments revisited: Attacks and payments for services | |
Gennaro et al. | Lattice-based zk-SNARKs from square span programs | |
Chung et al. | Memory delegation | |
Yu et al. | Enhanced privacy of a remote data integrity-checking protocol for secure cloud storage | |
Wei et al. | Security and privacy for storage and computation in cloud computing | |
Lindell et al. | Secure two-party computation via cut-and-choose oblivious transfer | |
Groth et al. | New techniques for noninteractive zero-knowledge | |
US9860058B2 (en) | Secret computation system, arithmetic unit, secret computation method and program | |
Cozzo et al. | Sashimi: cutting up CSI-FiSh secret keys to produce an actively secure distributed signing protocol | |
De Feo et al. | SIDH proof of knowledge | |
CN104685826A (zh) | 用于双方安全功能评估的输入一致性校验 | |
JP2018507658A (ja) | 物理的複製不可能関数および閾値暗号化を含む認証システムならびにデバイス | |
Müller-Quade et al. | Long-term security and universal composability | |
Pullonen | Actively secure two-party computation: Efficient beaver triple generation | |
Branco et al. | Roted: Random oblivious transfer for embedded devices | |
Alnahawi et al. | On the state of post-quantum cryptography migration | |
Wang | Reducing garbled circuit size while preserving circuit gate privacy | |
EP3991353A1 (en) | Zero-knowledge contingent payments protocol for granting access to encrypted assets | |
JP6392191B2 (ja) | 証明装置、証明システム、証明方法、およびプログラム | |
Singamaneni et al. | A novel integrated quantum-resistant cryptography for secure scientific data exchange in ad hoc networks | |
EP3764588A1 (en) | Zero-knowledge contingent payments protocol for granting access to encrypted assets | |
Brandão | Very-Efficient Simulatable Flipping of Many Coins into a Well: (and a New Universally-Composable Commitment Scheme) | |
Wen et al. | Post-quantum Sigma Protocols and Signatures from Low-Rank Matrix Completions | |
CN116383848B (zh) | 一种三方安全计算防作恶方法、设备及介质 | |
Nguyen et al. | New Key Extraction Attacks on Threshold ECDSA Implementations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170829 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20180514 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180612 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180727 |
|
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: 20180821 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180822 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6392191 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |