JP4565632B2 - 秘密計算方法及びシステム、並びにプログラム - Google Patents

秘密計算方法及びシステム、並びにプログラム Download PDF

Info

Publication number
JP4565632B2
JP4565632B2 JP2005016161A JP2005016161A JP4565632B2 JP 4565632 B2 JP4565632 B2 JP 4565632B2 JP 2005016161 A JP2005016161 A JP 2005016161A JP 2005016161 A JP2005016161 A JP 2005016161A JP 4565632 B2 JP4565632 B2 JP 4565632B2
Authority
JP
Japan
Prior art keywords
ciphertext
verification
calculation method
secret calculation
control 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.)
Expired - Fee Related
Application number
JP2005016161A
Other languages
English (en)
Other versions
JP2006203829A (ja
Inventor
剛 山本
浩司 千田
幸太郎 鈴木
成憲 内山
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 JP2005016161A priority Critical patent/JP4565632B2/ja
Publication of JP2006203829A publication Critical patent/JP2006203829A/ja
Application granted granted Critical
Publication of JP4565632B2 publication Critical patent/JP4565632B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、情報セキュリテイの技術分野に関し、特に暗号技術を応用し、関数への入力値を知ることなく、当該関数の計算および出力結果の取得を可能とする技術に関する。
従来、関数への入力値を知ることなく、当該関数の計算および出力結果の取得を可能とする手段としては、例えば、非特許文献1で提案されている技術(以降これをST04と略記する)がある。ST04を用いれば、ある(複数の)数値に対して、ある暗号アルゴリズムを用いて変換することで当該数値を秘匿し、当該変換された数値を入力として、ある複数の装置が計算に協力することで、入力の(元の)数値を漏らすことなく関数の出力結果を得ることができる。更に出力結果の正当性、すなわち各装置が正しい処理を行ったかどうかを検証することもできる。以降、関数への入力値を知ることなく、当該関数の計算および出力結果の取得が可能な方法を便宜上、秘密計算方法と呼ぶことにする。
STO4では、非特許文献1の中で明記している暗号アルゴリズムEに対して、a,b(a,bは0または1のどちらかであるとする)の暗号文E(a),E(b)が与えられれば、ある複数の装置が計算に協力することで、a,bを知らなくともa+bの暗号文E(a+b)、および暗号文E(a*b)を求めることができる。便宜上、ここで「*」は排他的論理和を意味するとする。「+」は論理和である。また、例えば非特許文献2で提案されている分散復号技術を用いることで、一定数以上の装置が復号計算に協力した暗号文(例えばE(a+b)やE(a*b))に限り復号できる。
B.Schoenmakers and P.Tuyls,"Practical Two‐Party Computation based on the Conditional Gates,"ASIACRYPT 2004,Dec.2004. T.R.Pedersen,"A threshold cryptosystem without a trusted party,"Advances in Crytology−EUROCRYPT ’91,LNCS 547,pp.522−526,Springer−Verlag,1991.
0または1からなる入力の数値が暗号化された状態のまま、当該数値の加算および排他的論理和の結果(の暗号文)を求めることができれば、当該数値の論理和(OR)および論理積(AND)の結果(の暗号文)を求めることができる。すなわち、理論的には、入力の数値が暗号化された状態のまま多くの関数を計算できることになる。この機能を秘密計算と呼ぶことにする。
従来より公知のST04の技術では秘密計算を実現するために、一定の手続きの計算を行って入出力する多数の計算装置を設置し、暗号文を入力して計算して出力して他の計算装置に転送する過程を繰り返す。また、その過程で誤り等を検出すればやり直す。
この途中の計算に誤り、ないし虚偽の出力があった場合、その状況を検出してその場で誤りを排除可能である性質は、実用上の効率の観点から重要である。この性質を頑強性と呼ぶことにする。しかしながら、ST04の技術においては、計算の過程の一部で正しくない入出力が行われたとき、計算全体をやり正す必要がある問題がある。すなわち、ST04の技術に基づく秘密計算方式は頑強とはいえない。
本発明の課題は、ST04の方式による秘密計算機能を実装する装置やシステムに頑強性を付加することである。
はじめに、ST04による秘密計算方式について説明する。
Gをある有限群とし、PをGの元とする。Gの位数をpとする。そして秘密鍵x∈{1,…,p}に対してQ=xPとし、(G,p,P,Q)を公開鍵とする。
このとき、平文aを暗号化する暗号関数Eを次のように定義する。
E(a,r)=(A,B)=(P(r+a),Q
ここでrは1以上p以下の乱数である。
aとして0または1のいずれかをとり、平文aを暗号化した暗号文を、所定の方式により、それぞれ−1あるいは1の平文[a]に対応する暗号文に変換する。
つぎに、以下のようにして[a]∈{−1,1}としてE([a],r),E([b],s)から[a*b]∈{−1,1}の暗号文を求める。
先ず、暗号文変換装置が制御装置より(G,p,P,Q),E(a,r)(=(A,B)),E(b,s)(=(X,Y))を入力として以下の処理を行う。
1.ランダムビットeおよび1以上p以下の乱数t,uを生成する。
2.以下に従って(A′,B′),(X′,Y′)を求め、それを複数の復号装置に送信する。
Figure 0004565632
上記(A,B),(X,Y)から(A′,B′),(X′,Y′)を求める操作を暗号文変換装置(1)が行う。同様の操作を暗号文変換装置(2)が行い(A′,B′),(X′,Y′)を入力として(A″,B″),(X″,Y″)を出力する。
ST04では一般に複数台の暗号文変換装置が上記操作を順に繰り返すことにより、計算秘密を実現している。ここでは簡単のために暗号文変換装置は2台として説明する。
次に複数の復号装置が(A″,B″)を入力として分散復号を行い、当該処理結果を制御装置に送信することで、制御装置は(A″,B″)の復号結果[c]∈{−1,1}を得る(このときc=a*eが成り立つ)。一方、(X″,Y″)は平文[b*e]に対する暗号文となる。
制御装置は、当該復号結果[c]∈{−1,1}について以下の処理を行う。
1.1以上p以下の乱数wを生成する。
2.以下に従って(C,D)を求める。
(C,D)=(X″[c],Y″[c]
このとき(C,D)は平文[a*b]に対する暗号文となる。最初にE(a,r)からB([a],r)を計算した手続きを逆にこたどることにより、E(a*b,r′)を得ることができる。
本発明によるST04の方式に対する頑強性の付与は、検証装置を新規に設置し、暗号文変換装置が(A,B),(X,Y)から(A′,B′),(X′,Y′)や、(A′,B′),(X′,Y′)から(A″,B″),(X″,Y″)などを求める換作を行う際に、そのつど入出力の正当性をゼロ知識証明によって検証装置に対して証明することを特徴とする。そのために、暗号文変換装置には付随して証明装置(証明手段)を設置する。
暗号変換装置に付随する照明装置(証明手段)は、当該暗号文変換装置の入出力が所定の命題を満たしていることについての、ゼロ知識証明を行う。検証装置は、証明装置と対になりゼロ知識証明を検証する。証明と検証の方式の詳細は実施の形態で説明する。
検証装置は、制御装置とも接続され、証明の検証に成功しなかった場合は、その情報を制御装置に送信する。制御装置は、検証不成功の通知を受けた場合、直近に検証に成功した状態に戻して計算をやり直すことができるようにする。なお、検証装置は、検証の成功/不成功を後段の暗号文変換装置や復号装置に直接送信することも可能である。後段の暗号分変換装置や復号装置は、検証成功を受け取った場合のみ処理を実行する。
本発明の秘密計算方法によれば、暗号文変換装置が正しくない入出力を行った場合、その影響が他の装置の入出力の全体に影響することを防止でき、ST04の方式による秘密計算装置やシステムに対して頑強性を付与することができる。
以下、本発明の実施の形態について図面を用いて詳細に説明する。
[第1の実施の形態]
第1の実施の形態におけるシステム構成は、図1に示すように、同一のネットワーク100で結ばれた、10の暗号文生成装置1,…,N(Nは適当な自然数)、制御装置20、暗号文変換装置30(1),30(2)、復号装置40(1),40(2)、および検証装置50からなる。ここで復号装置を複数に設定しているのは、復号装置が単一であれば、当該復号装置は入力の数値の暗号文も復号できる権限を持つことになるが、復号装置を複数に設定すれば、分散復号技術を用いて、それら復号装置が結託しない限りは入力の数値を知ることが困難とできるためである。なお、本実施の形態では、簡単に復号装置の数は2としたが、一般に2以上いくつでもよい。暗号文変換装置についても同様であり、その数を増加すればするほど、不正結託による耐性を高めることができるが、ここでは簡単のために2とする。
暗号文変換装置30(1),30(2)はそれぞれ証明手段を具備し、当該暗号文変換の入出力が所定の命題を満たしていることについてのゼロ知識証明を行う。検証装置50は暗号文変換装置30(1),30(2)の証明手段と対となりゼロ知識証明を検証し、検証成功/不成功(OK/NG)を制御装置20に通知する。なお、検証装置50は、暗号文装置30(1)の検証成功/不成功を次の暗号文変換装置30(2)に送信し、また、暗号文変換装置30(2)の検証成功/不成功を復号装置40(1)、40(2)に送信することでもよい。
はじめに本実施の形態における復号装置を2つとした場合の公開鍵(G,p,P,Q)の生成について、図2の処理シーケンス図を参照して説明する。
制御装置20は、有限体および楕円曲線を生成するためのパラメータを与えることで有限体および楕円曲線をそれぞれ一つずつ決定し(S101)、更に当該有限体上で定義された当該楕円曲線の有理点からなる群Gを決定する(S102)。また、Gの元を一つ選び、これをPとする(S103)。次に、Pの位数pを計算する(S104)。そして、(G,p,P)の組を復号装置40(i)(i=1,2)に送信する。
復号装置40(i)は、(G,p,P)を入力として、1以上p以下の乱数xiを生成後、Qi=xiPを計算し、Qiを制御装置20に送信する(S105〜S108)。ここでは、復号装置40(1)は乱数x1を生成し(S105)、Q1=x1Pを計算して(S106)、当該Q1を制御装置20に送信し、また、復号装置40(2)は乱数x2を生成し(S107)、Q2=x2Pを計算して(S108)、Qを制御装置20に送信する。
制御装置20は、Q=Q1+Q2を計算し(S109)、(G,p,P,Q)を公開する(S110)。
以上の準備の下、ST04による秘密計算方式と共に本実施の形態の検証方式の詳細について説明する。
平文a∈{0,1}を暗号化する暗号関数Eは、先に述べたように
E(a,r)=(A,B)=(P(r+a),Q
と定義される。ここでrは1以上p以下の乱数である。
図3(A),(B)に本実施の形態における全体処理シーケンス例を示す。ここで、各装置は(G,p,P,Q)を保持しているとする。また、a,b∈{0,1}の暗号文E(a,r)(=(A,B)),E(b,s)(=(X,Y))は、暗号文生成装置10(i),(j)から制御装置20へ事前に与えられているとする。
先ず、制御装置20は、E(a,r)(=(A,B))とE(b,s)(=(X,Y))を暗号文変換装置30(1)へ送信する。暗号文変換装置30(1)はE(a,r)(=(A,B))とE(b,s)(=(X,Y))を入力とし、以下の処理を行う。
1.ランダムビットe1および1以上p以下の乱数t1,u1を生成する(S201)。
2.以下の[数2]に従って暗号文(A′,B′),(X′,Y′)を求め(S202)、当該暗号文(A′,B′),(X′,Y′)を暗号文変換装置30(2)および検証装置50に送信する。
Figure 0004565632
3.(A′,B′),(X′,Y′)が[数2]の関係を満たしていることを検証装置50にゼロ知識証明する(S203,S204)。
ゼロ知識証明は、文献「R.Cramer,I.Damgard and B.Schoenmakers,“Proofs of partialknowledge and Simplified design of withss hiding protocols,”Acvances in Cryptology−CRYPTO ′94」LNCS 839,pp.174−187,Springer−Verlag,1994.」(以下、非特許文献3と称す)および文献「D.L.Chaum and T.P.Pedersen“Wallet databases with observers,”Acvances in Cryptology−CRYPTO ’92,LNCS 740,pp.80−105,Springer−Verlag,1993」(以下、非特許文献4と称す)の方法を組み合わせて行うとする。
暗号文変換装置30(1)(の証明手段)は、(A′,B′),(X′,Y′)が[数1]の関係を満たす(正規の手続きで計算されている)ことを示すためには、(A,B)に対する計算と(X,Y)に対する計算では共通のeが用いられていることから、
[命題1]
「(A′,B′)=(APt1,BQt1)かつ(X′,Y′)=(XPu1,YQu1)」
または
「(A′,B′)=(A−1t1,B−1t1)かつ(X′,Y′)=(X−1u1,Y−1u1)」
であることを証明することが必要十分である。
[命題1]は次の[命題1′]と同値である。
[命題1′]
「(A′,B′)=(APt1,BQt1)かつ(A′,B′)=(A−1t1,B−1t1)」
かつ
「(A′,B′)=(APt1,BQt1)または(X′,Y′)=(X−1u1,Y−1u1)」
かつ
「(X′,Y′)=(XPu1,YQu1)または(A′,B′)=(A−1t1,B−1t1)」
かつ
「(X′,Y′)=(XPu1,YQu1)または(X′,Y′)=(X−1u1,Y−1u1)」
[命題1′]のゼロ知識証明を与えるために、まず、以下で与える[プトロコル1]を定義する。これは[非特許文献3]および[非特許文献4]の方法を組み合わせて得られる。
[プロトコル1]は、Pを底としたP0の離散対数とQを底としたQ0の離散対数が等しい、あるいは、Pを底としたP1の離散対数とQを底としたQ1の離散対数が等しいことを、ゼロ知識証明技術を用いて証明するプロトコルである。
Figure 0004565632
暗号文変換装置30(1)は、[命題1′]のゼロ知識証明を、下記の手続きにより上記[プトロコル1]を4回実行して得て、証明を暗号文の出力とともに検証装置50に送信する(S203)。
[証明1]
「(A′,B′)=(APt1,BQt1)または
(A′,B′)=(A−1t1,B−1t1)」
を[プロトコル1]を用いて証明。すなわち、[プロトコル1]において、
((G,p,P,Q),(P0,),(P1,))
←((G,p,P,Q),(A′/A,B′/B),(AA′,BB′/Q))と代入すればよい。
[証明2]
「(A′,B′)=(APt1,BQt1)または
(X′,Y′)=(X−1u1,Y−1u1)」
を[プロトコル1]を用いて証明。すなわち、[プロトコル1]において、
((G,p,P,Q),(P0,),(P1,))
←((G,p,P,Q),(A′/A,B′/B),(XX′,YY′))と代入すればよい。
[証明3]
「(X′,Y′)=(XPu1,YQu1)または
(A′,B′)=(A−1t1,B−1t1)」
を[プロトコル1]を用いて証明。すなわち、[プロトコル1]において、
((G,p,P,Q),(P0,),(P1,))
←((G,p,P,Q),(X′/X,Y′/Y),(AA′,BB′))と代入すればよい。
[証明4]
「(X′,Y′)=(XPu1,YQu1)または
(X′,Y′)=(X−1u1,Y−1u1)」
を[プロトコル1]を用いて証明。すなわち、[プロトコル1]において、
((G,p,P,Q),(P0,),(P1,))
←((G,p,P,Q),(X′/X,Y′/Y),(XX′,YY′))と代入すればよい。
証明を受信した検証装置は、4回の証明すべてについてそれぞれ[プロトコル1]にしたがって検証して、すべてが[プロトコル1]の証明として受理される場合に限って、証明を受理する(S204)。それ以外の場合には、制御装置20に対して、証明不受理の信号を送信する。証明不受理の信号を受けた制御装置20は、直近に証明を受理した状態に戻して計算を実行するようにする。
ここでは、検証装置50は暗号文変換装置30(1)の当該証明事項を受理したとして話を進める。
検証装置50が暗号文変換装置30(1)の当該証明事項を受理したなら、暗号文変換装置30(2)は(A′,B′),(X′,Y′)を入力とし、以下の処理を行う。
1.ランダムビットe2および1以上p以下の乱数u2,t2を生成する(S205)。
2.以下の[数4]に従って暗号文を求め(S206)、復号装置40(1),(2)にf(A″,B″)を送信し、検証装置50には(A″,B″),(X″,Y″)送信する。また、(X″,Y″)を制御装置20に送信する。
Figure 0004565632
3.(A″,B″),(X″,Y″)が[数4]の関係を満たしていることを検証装置50にゼロ知識証明する(S207,S208)。
ここで、当該ゼロ知識証明は、先の[数2]に対する場合と同様であるので省略する。すなわち、先のu,tをu,tと置き替えるだけでよい。
ここでは、検証装置50は暗号文変換装置30(2)の当該証明事項を受理したとして話を進める。
検証装置50が暗号文変換装置30(2)の当該証明事項を受理したなら、復号装置40(1)は(A″,B″)を入力とし、x1A″を計算し、それを制御装置20に送信する(S209)。同様に、復号装置40(2)は(A″,B″)を入力とし、x2A″を計算し、それを制御装置20に送信する(S210)。
制御装置20は、復号装置40(1)、(2)から当該計算結果を受信することで、(A″,B″)の復号結果[c]を得る(このとき、c=a*bが成り立つ)(S211)。一方、(X″,Y″)は平文[b*e]に対する暗号文となる。その後、制御装置20は、当該復号結果[c]∈{−1,1}について、次式に従って暗号文(C,D)を求める(S212)。
(C,D)=(X″[c],Y″[c]
このとき(C,D)は平文[a*b]∈{−1,1}に対する暗号文となる。制御装置20は、必要に応じて(C,D)を出力する(S213)。ここで、最初にE(a,r)からE([a],r)を計算した手続きを逆にたどることにより、E(a*b,r′)を得ることができる。
[第2の実施の形態]
第2の実施の形態におけるシステム構成は、第1の実施の形態と同様であり、図1に示すように同一のネットワーク100で結ばれた、暗号文生成装置10(1),…,(N)、制御装置20、暗号文変換装置30(1),(2)、復号装置40(1),(2)、および検証装置50からなる。また、シーケンスも基本的に同様である(図2、図3)。
第1の実施の形態と第2の実施の形態の異なる点は、暗号文変換装置30(1)、30(2)と検証装置50によるゼロ知識証明方式にある。以下では、暗号文変換装置30(1)(の証明手段)と検証装置50によるゼロ知識証明処理を述べるが、暗号文変換装置30(2)と検証装置50によるゼロ知識証明処理も同様である。すなわち、(A,B),(X,Y)と(A′,B′),(X′,Y′)が(A′,B′),(X″,Y″)に置き替わり、t,uがt,uに置き替わるだけである。
第2の実施の形態では、先の[命題1]をゼロ知識証明するために、次の[プロトコル3]を導入する。
[プロトコル3]は、
1.Pを底としたP0の離散対数とQを底としたQ0の離散対数が等しい、かつ、Pを底としたQ0′の離散対数とQを底としたQ0′の離散対数が等しい、
または、
2.Pを底としたP1の離散対数とQを底としたQ1の離散対数が等しい、かつ、Pを底としたP1′の離散対数とQを底としたQ1′の離散対数が等しい、
ことをゼロ知識証明技術を用いて証明するプロトコルである。
Figure 0004565632
暗号文変換装置30(1)(の証明手段)は、先の[数2]の入出力が[命題1]を満たすことを、[プロトコル3]を用いて検証装置50に対して証明することができる。すなわち、[プトロコル3]において、
((G,p,P,Q),(P0,0),(P1,1),(P0,0′),(P1,1′),(e,t,t′))←((G,p,P,Q),(A′/AB′/B),(AA′BB′),(X′/XY′/Y),(XX′YY′),(e1,t1,u1))
と代入すればよい。
以上、本発明の実施の形態を説明したが、さらに、復号装置40(1),(2)を証明者、検証装置50を検証者として、復号装置40(1)、40(2)のx1A″,x2A″が正しい計算結果であることをゼロ知識非対話証明技術を用いて証明することも可能とする。
当該証明方法は、具体的にはPを底としたxiPの離散対数、およびA″を底としたxiA″の離散対数が等しい(すなわち、ともにxiとなる)ことを非対話で証明する方法であり、先のゼロ知識証明の基本的な技術により実現可能である。以下にプロトコル例(プトロコル2とする)を示す。
[プロトコル2]
入力:(p,(U0,V0)=(P,xiP),(U1,V1)=(A″,xiA″))
証明者の秘密情報:xi
1.証明者は以下に従ってs,zを計算し、それを検証者に送信する。
(a)1以上p以下の乱数rを生成する。
(b)R0=rU0,R1=rU1を計算する。
(c)s=H(U0‖V0‖U1‖V1‖R0‖R1)を計算する。ここでHは汎用一方向性ハッシュ関数とし、“‖”はデータの連結を意味する。
(d)z=r−sxiを計算する。
2.検証者はR0′=zU0+sV0,1′=zU1+sV1を計算後、s=H(U0‖V0‖U1‖V1‖R0′‖R1′)が成り立つかどうか検証し、成り立つときのみ当該証明事項を受理する。
復号装置40(1)および復号装置40(2)は上記1の(a)〜(d)の処理により(s,z)を求め、これを検証装置50に送信し、検証装置50が上記2の処理により検証する。
また、本実施の形態では暗号文変換装置が2台の例を挙げたが、暗号文変換装置を3台以上に拡張することも容易である(ただしその方法は明らかであるため省略する)。そして当該拡張により暗号文変換装置の結託に対する耐性が高まる。これは言い換えればa,bの秘匿性を効果的に高めることができる。
なお、図1で示したシステムにおける各部の一部もしくは全部の処理機能をコンピュータのプログラムで構成し、そのプログラムをコンピュータを用いて実行して本発明を実現することができること、あるいは、図2、図3などで示した処理手順をコンピュータのプログラムで構成し、そのプログラムをコンピュータに実行させることができることは言うまでもない。また、コンピュータでその処理機能を実現するためのプログラム、あるいは、コンピュータにその処理手順を実行させるためのプログラムを、そのコンピュータが読み取り可能な記録媒体、例えば、FD、MO、ROM、メモリカード、CD、DVD、リムーバブルディスクなどに記録して、保存したり、提供したりすることができるとともに、インターネット等のネットワークを通してそのプログラムを配布したりすることが可能である。
本発明の実施の形態のシステム構成例を示す図。 公開鍵(G,p,P,Q)を生成する処理シーケンス例を示す図。 本発明の実施の形態の秘密計算の処理シーケンス例を示す図。 同じく処理シーケンス例を示す図。
符号の説明
10 暗号文生成装置
20 制御装置
30 暗号文変換装置
40 復号装置
50 検証装置
100 ネットワーク

Claims (6)

  1. ある有限体上で定義された楕円曲線の有理点からなる群をGとし、PをGの元とし、Pの位数をpとし、秘密鍵x∈{1,…,p}に対してQ=xPとし、(G,p,P,Q)を公開鍵とし、
    平文a∈{0,1}を暗号化する暗号関数Eが
    E(a,r)=(A,B)=(P(r+a),Q
    と定義され(rは1以上p以下の乱数)、
    平文a∈{0,1}を平文[a]∈{−1,1}に対応する暗号文に変換し、暗号文E([a],r),E([b],s)から[a*b]∈{−1,1}(*は排他的論理和を意味するとする。以下、同様)の暗号文を計算する秘密計算方法において、
    ネットワークで結ばれた、制御装置、複数の暗号文変換装置、複数の復号装置および検証装置を備え、
    第1の暗号文変換装置が制御装置から、E(a,r)(=(A,B))とE(b,s)(=(X,Y))を入力として、ランダムビットe1および1以上p以下の乱数t1,u1を生成し、暗号文(A′,B′),(X′,Y′)を
    Figure 0004565632
    により計算して、該暗号文(A′,B′),(X′,Y′)を第2の暗号文変換装置および検証装置に送信し、且つ、該暗号文(A′,B′),(X′,Y′)が[数1]の関係を満たしていることを検証装置にゼロ知識証明し、
    第2の暗号文変換装置は、暗号文(A′,B′),(X′,Y′)を入力として、ランダムビットe2および1以上p以下の乱数t2,u2を生成し、暗号文(A″,B″),(X″,Y″)を、
    Figure 0004565632
    により計算して、を複数の復号装置に送信し、(X″,Y″)を制御装置に送信し、(A″,B″)およびを検証装置に送信し、且つ、該暗号文(A″,B″),(X″,Y″)が[数2]の関係を満たしていることを検証装置にゼロ知識証明し、
    複数の復号装置は、(A″,B″)を入力として分散復号を行って、当該処理結果を制御装置に送信し、
    制御装置は複数の復号装置の処理結果から復号結果[c]∈{−1,1}を得て、1以上p以下の乱数wを生成し、暗号文(C,D)を
    (C,D)=(X″[c],Y″[c]
    により計算して、該(C,D)を平文[a*b]に対する暗号文と認識し、
    検証装置は、各暗号文変換装置によるゼロ知識証明を検証して、逐次、暗号文変換装置や制御装置に対して検証成功あるいは不成功を送信し、
    暗号文変換装置や制御装置は、検証不成功を受信すると、直前の状態に戻して計算を続行せしめることを特徴とする秘密計算方法。
  2. 請求項1記載の秘密計算方法において、
    第1あるいは第2の暗号文変換装置を証明者、検証装置を検証者として、下記プロトコル1を用いて、(A′,B′),(X′,Y′)あるいは(A″,B″),(X″,Y″)が[数1]あるいは[数2]の関係を満たしていることをゼロ知識証明する、
    Figure 0004565632
    ことを特徴とする秘密計算方法。
  3. 請求項1記載の秘密計算方法において、
    第1あるいは第二の暗号文変換装置を証明者、検証装置を検証者として、下記プロトコル3を用いて、(A′,B′),(X′,Y′)あるいは(A″,B″),(X″,Y″)が[数1]あるいは[数2]の関係を満たしていることをゼロ知識証明する、
    Figure 0004565632
    ことを特徴とする秘密計算方法。
  4. 請求項1乃至3のいずれか1項に記載の秘密計算方法において、複数組の(Ai,Bi),(Xi,Yi)(i=1,2,…,n)を順次入力して、複数組の[ai*bi]の暗号文をパイプライン形式に順次計算することを特徴とする秘密計算方法。
  5. ネットワークで結ばれた、一つあるいは複数の暗号文生成装置、制御装置、複数の暗号文変換装置、複数の復号装置および検証装置を具備し、請求項1乃至4のいずれか1項に記載の秘密計算方法を実施することを特徴とする秘密計算システム。
  6. 請求項1乃至4に記載の秘密計算方法をコンピュータに実行させるためのプログラム。
JP2005016161A 2005-01-24 2005-01-24 秘密計算方法及びシステム、並びにプログラム Expired - Fee Related JP4565632B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005016161A JP4565632B2 (ja) 2005-01-24 2005-01-24 秘密計算方法及びシステム、並びにプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005016161A JP4565632B2 (ja) 2005-01-24 2005-01-24 秘密計算方法及びシステム、並びにプログラム

Publications (2)

Publication Number Publication Date
JP2006203829A JP2006203829A (ja) 2006-08-03
JP4565632B2 true JP4565632B2 (ja) 2010-10-20

Family

ID=36961395

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005016161A Expired - Fee Related JP4565632B2 (ja) 2005-01-24 2005-01-24 秘密計算方法及びシステム、並びにプログラム

Country Status (1)

Country Link
JP (1) JP4565632B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4565628B2 (ja) * 2004-11-26 2010-10-20 日本電信電話株式会社 秘密計算方法及びシステム、並びにプログラム
CN112632636A (zh) * 2020-12-23 2021-04-09 深圳前海微众银行股份有限公司 一种密文数据比较结果的证明与验证方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006154033A (ja) * 2004-11-26 2006-06-15 Nippon Telegr & Teleph Corp <Ntt> 秘密計算方法及びシステム、並びにプログラム
JP2006201468A (ja) * 2005-01-20 2006-08-03 Nippon Telegr & Teleph Corp <Ntt> 秘密計算方法及びシステム、並びにプログラム
JP2006229929A (ja) * 2005-01-24 2006-08-31 Nippon Telegr & Teleph Corp <Ntt> 秘密計算方法及びシステム、並びにプログラム
JP2006227563A (ja) * 2005-01-24 2006-08-31 Nippon Telegr & Teleph Corp <Ntt> 秘密計算方法及びシステム、並びにプログラム
JP2007510947A (ja) * 2003-11-03 2007-04-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 多数当事者の効率的な乗算のための方法及び装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007510947A (ja) * 2003-11-03 2007-04-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 多数当事者の効率的な乗算のための方法及び装置
JP2006154033A (ja) * 2004-11-26 2006-06-15 Nippon Telegr & Teleph Corp <Ntt> 秘密計算方法及びシステム、並びにプログラム
JP2006201468A (ja) * 2005-01-20 2006-08-03 Nippon Telegr & Teleph Corp <Ntt> 秘密計算方法及びシステム、並びにプログラム
JP2006229929A (ja) * 2005-01-24 2006-08-31 Nippon Telegr & Teleph Corp <Ntt> 秘密計算方法及びシステム、並びにプログラム
JP2006227563A (ja) * 2005-01-24 2006-08-31 Nippon Telegr & Teleph Corp <Ntt> 秘密計算方法及びシステム、並びにプログラム

Also Published As

Publication number Publication date
JP2006203829A (ja) 2006-08-03

Similar Documents

Publication Publication Date Title
US9509492B2 (en) Authentication device, output device, verification device and input device
CN110545279A (zh) 兼具隐私和监管功能的区块链交易方法、装置及系统
Roy et al. A survey on digital signatures and its applications
US9698984B2 (en) Re-encrypted data verification program, re-encryption apparatus and re-encryption system
US20150288527A1 (en) Verifiable Implicit Certificates
CN106936584B (zh) 一种无证书公钥密码系统的构造方法
JP4835831B2 (ja) 多数の入力から関数を計算する方法および装置
WO2007105749A1 (ja) グループ署名システムおよび情報処理方法
KR20210063378A (ko) 공통 비밀을 공유하는 컴퓨터 구현 시스템 및 방법
JP2007114494A (ja) 秘匿計算方法及び装置
JP4565631B2 (ja) 秘密計算方法及びシステム、並びにプログラム
JP5171787B2 (ja) サインクリプションシステムおよびサインクリプション生成方法
JP4650933B2 (ja) 秘密計算方法及びシステム
JP4087719B2 (ja) 署名暗号方法、その装置およびそのプログラム
JP4565632B2 (ja) 秘密計算方法及びシステム、並びにプログラム
JP4565628B2 (ja) 秘密計算方法及びシステム、並びにプログラム
KR101523053B1 (ko) 래티스 기반 증명가능암호 서명 시스템 및 방법
KR20240045231A (ko) 디지털 서명 셰어의 생성
CN117917041A (zh) 生成共享加密密钥
Andreevich et al. On Using Mersenne Primes in Designing Cryptoschemes
JP4748663B2 (ja) 秘密計算方法及びシステム、並びにプログラム
Modares et al. Make a Secure Connection Using Elliptic Curve Digital Signature
CN111885056A (zh) 基于区块链的零知识证明方法、装置及电子设备
JP5103407B2 (ja) 暗号化数値二進変換システム、暗号化数値二進変換方法、暗号化数値二進変換プログラム
Doegar et al. On-demand digital signature schemes using Multivariate Polynomial systems

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070124

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100526

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100706

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100802

R151 Written notification of patent or utility model registration

Ref document number: 4565632

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130813

Year of fee payment: 3

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees