説明

代理計算システム、方法、依頼装置、計算装置、プログラム

【課題】1回の代理計算でf(x,x)を計算することができる。
【解決手段】H,H及びGを巡回群、h,h及びgをそれぞれH,H及びGの生成元、f(x,x)を群Hの元x及び群Hの元xの組を群Gへ写す双準同型写像、E及びEを群Gに値を持つ確率変数、e及びeをそれぞれ確率変数E及びEの実現値、aを0以上の整数として、元x及び元xに対応する第一入力情報τを生成する。元x及び元xに対応する第二入力情報τを生成する。第一入力情報τを用いて、f(x,xを計算可能であり、その計算結果をuとする。第二入力情報τを用いて、f(x,x)eを計算可能であり、その計算結果をvとする。計算結果u及びvがu=vを満たす場合に、そのvを出力する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、コンピュータによる計算技術に関する。特に、他の計算機に行わせた計算結果を用いて計算を行う技術に関する。
【背景技術】
【0002】
非特許文献1に、関数fを群H及び群Hの元を群Gに写す双準同型写像として、乱数化可能標本器を用いて、2つの入力x,xに対するf(x,x)を計算する技術が発明者により提案されている。以下、この技術を簡単に説明する。
【0003】
群Hの生成元をh,群Hの生成元をhとする。この技術では、まず、f(x,h)についての乱数化可能標本器を用いた第一の代理計算により、f(x,h)を計算する。次に、f(x,x)についての乱数化可能標本器及びその計算結果f(x,h)を用いた第二の代理計算により、f(x,x)を計算する。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】山本剛,小林鉄太郎,「準同型写像に対する自己訂正について」,SCIS 2010,p.5−6
【発明の概要】
【発明が解決しようとする課題】
【0005】
背景技術の欄に記載した技術では、f(x,x)を計算するために、2回の代理計算を行う必要があった。
【0006】
この発明は、1回の代理計算でf(x,x)を計算する技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
この発明の1つの観点による代理計算システムでは、H,H及びGを巡回群、h,h及びgをそれぞれH,H及びGの生成元、f(x,x)を群Hの元x及び群Hの元xの組を群Gへ写す双準同型写像、KH1及びKH2をそれぞれH及びHの位数、h及びhをそれぞれH及びHの生成元、E及びEを群Gに値を持つ確率変数、e及びeをそれぞれ確率変数E及びEの実現値、aを0以上の整数として、元x及び元xに対応する第一入力情報τを生成する第一入力情報生成部と、元x及び元xに対応する第二入力情報τを生成する第二入力情報生成部と、第一入力情報τを用いて、f(x,xを計算可能であり、その計算結果をuとする乱数化可能標本器と、第二入力情報τを用いて、f(x,x)eを計算可能であり、その計算結果をvとする標本器と、計算結果u及びvがu=vを満たす場合に、そのvを出力する最終出力部と、を含む。
【発明の効果】
【0008】
1回の代理計算でf(x,x)を計算することができる。
【図面の簡単な説明】
【0009】
【図1】代理計算システムの構成を説明するためのブロック図。
【図2】依頼装置及び計算装置の構成を説明するためのブロック図。
【図3】第一入力情報生成部の構成を説明するためのブロック図。
【図4】第二入力情報生成部の構成を説明するためのブロック図。
【図5】代理計算方法の処理を説明するためのフローチャート。
【図6】ステップS1の処理を説明するためのフローチャート。
【図7】ステップS2の処理を説明するためのフローチャート。
【図8】ステップS3の処理を説明するためのフローチャート。
【図9】ステップS4の処理を説明するためのフローチャート。
【図10】乱数化可能標本器の変形例の構成を説明するためのブロック図。
【図11】第一入力情報生成部の変形例の構成を説明するためのブロック図。
【図12】ステップS1の変形例の構成を説明するためのフローチャート。
【図13】ステップS2の変形例の構成を説明するためのフローチャート。
【発明を実施するための形態】
【0010】
以下、図面を参照してこの発明の一実施形態を説明する。
【0011】
代理計算システムは、図1に示すように、依頼装置1及び計算装置2を例えば含む。
【0012】
依頼装置1は、図2に示すように、第一入力情報生成部11、第二入力情報生成部12、制御部13、第一記憶部14、第一計算部15、第二計算部16、判定部17、第二記憶部18、最終出力部19を例えば含む。
【0013】
計算装置2は、図2に示すように、第一出力情報生成部21、第二出力情報生成部22、第三出力情報生成部23を例えば含む。
【0014】
まず、記号の定義を行う。H,H及びGを巡回群、h,h及びgをそれぞれH,H及びGの生成元、f(x,x)を群Hの元x及び群Hの元xの組を群Gへ写す双準同型写像、KH1及びKH2をそれぞれH及びHの位数、h,h及びgをそれぞれH,H及びGの生成元、E及びEを群Gに値を持つ確率変数、e及びeをそれぞれ確率変数E及びEの実現値、aを0以上の整数とする。aは、例えば0以上の整数からランダムに選ばれた数である。ここで、確率変数Eの分布は、aに依存しないとする。
【0015】
双準同型写像とは、2つの入力のそれぞれに対して準同型である写像を意味する。この例では、写像f(x,x)は、群Hの元xに対して準同型であり、かつ、群Hの元xに対して準同型である。
【0016】
依頼装置1及び計算装置2は協同して、ある入力(x,x)に対応するf(x,x)の値を計算するか、計算をすることができなかった旨の情報を出力する。
【0017】
制御部13は、tを1とする(ステップS0、図5)。
【0018】
第一入力情報生成部11は、元x及び元xに対応する第一入力情報τを生成する(ステップS1)。生成された第一入力情報τは、計算装置2に送信される。この例では、第一入力情報τは、図6に例示するステップS11からステップS16により生成されるxr1、xr2r4、x−r2r3及びhr4である。
【0019】
第一乱数生成部111は、0以上KH1未満の一様乱数r,rを生成する(ステップS11)。生成された乱数rは第一入力計算部113に送信され、生成された乱数rは第三入力計算部115に送信される。
【0020】
第二乱数生成部112は、0以上KH2未満の一様乱数r,rを生成する(ステップS12)。生成された乱数rは第二入力計算部114及び第三入力計算部115に送信され、生成された乱数rは第二入力計算部114及び第四入力計算部116に送信される。
【0021】
第一入力計算部113は、生成された乱数r及び元xを用いて、xr1を計算する(ステップS13)。xの右肩のr1は、rのことである。このように、この出願において、αを第一の文字、βを第二の文字、γを数字として、αβγと表記した場合には、そのβγはβγ、すなわちβの下付きγを意味する。
【0022】
第二入力計算部114は、生成された乱数r,r、元x及び生成元hを用いて、xr2r4を計算する(ステップS14)。
【0023】
第三入力計算部115は、生成された乱数r,r、元x及び生成元hを用いて、x−r2r3を計算する(ステップS15)。
【0024】
第四入力計算部116は、生成された乱数r及び生成元hを用いて、hr4を計算する(ステップS16)。
【0025】
このように、乱数r,r,r及びrを用いて入力x及びxを撹乱した情報を第一入力情報τとして計算装置2に送信することにより、入力x及びxを計算装置2及び依頼装置1以外の装置に対して秘密にすることができる。
【0026】
乱数化可能標本器3は、第一入力情報τを用いて、f(x,xを計算可能であり、その計算結果をuとする(ステップS2)。計算結果uは、第一記憶部14に記憶される。この例では、図7に例示するステップS21からステップS23により計算結果uが生成される。
【0027】
第一出力情報生成部21は、第一入力情報τのxr1及びxr2r4を用いて、ある確率より大きな確率でf(xr1,xr2r4)を正しく計算し、得られた計算結果を第一出力情報zとする(ステップS21)。第一出力情報zは、依頼装置1に送信される。
【0028】
群Hの元y,群Hの元yを入力したときにある確率δより大きな確率でf(y,y)を正しく計算する関数をブラックボックス関数Fとする。第一出力情報生成部21は、例えばブラックボックス関数Fにxr1及びxr2r4を入力することにより得た出力値F(xr1,xr2r4)を第一出力情報zとする。すなわち、第一出力情報z=F(xr1,xr2r4)とする。
【0029】
第二出力情報生成部22は、第一入力情報τのx−r2r3及びhr4を用いて、ある確率より大きな確率でf(x−r2r3,hr4)を正しく計算し、得られた計算結果を第二出力情報zとする(ステップS22)。第二出力情報zは、依頼装置1に送信される。第二出力情報生成部22は、例えばブラックボックス関数Fにx−r2r3及びhr4を入力することにより得た出力値F(x−r2r3,hr4)を第二出力情報zとする。すなわち、第二出力情報z=F(x−r2r3,hr4)とする。
【0030】
「ある確率」は100%未満の確率である。「ある確率」の例は無視することができない確率であり、「無視することができない確率」の例は、セキュリティパラメータkについての広義単調増加関数である多項式を多項式ψ(k)とした場合の1/ψ(k)以上の確率である。すなわち、第一出力情報生成部21や第二出力情報生成部22は、意図的又は意図的ではない誤差を含んだ計算結果を出力する。言い換えると、第一出力情報生成部21での計算結果がf(xr1,xr2r4)の場合もあればf(xr1,xr2r4)でない場合もあり、第二出力情報生成部22での計算結果がf(x−r2r3,hr4)の場合もあればf(x−r2r3,hr4)でない場合もある。
【0031】
第一計算部15は、第一出力情報z及び第二出力情報zを用いて、z1/r1−r3r4を計算してその計算結果を上記uとする(ステップS23)。
【0032】
第二入力情報生成部12は、元x及び元xに対応する第二入力情報τを生成する(ステップS3)。生成された第二入力情報τは、計算装置2に送信される。この例では、第二入力情報τは、図8に例示するステップS31からステップS34により生成されるxr5、xr6である。
【0033】
第三乱数生成部121は、0以上KH1未満の一様乱数rを生成する(ステップS31)生成された乱数rは、第五入力計算部123に送信される
第四乱数生成部122は、0以上KH2未満の乱数rを生成する(ステップS32)。生成された乱数rは、第六入力計算部124に送信される。
【0034】
第五入力計算部123は、元x及び乱数rを用いて、xr5を計算する(ステップS33)。
【0035】
第六入力計算部124は、元x及び乱数rを用いて、xr6を計算する(ステップS34)。
【0036】
このように、乱数r及びrを用いて、入力x及びxを撹乱した情報を第二入力情報τとして計算装置2に送信することにより、入力x及びxを計算装置2及び依頼装置1以外の装置に対して秘密にすることができる。
【0037】
標本器4は、第二入力情報τを用いて、f(x,x)eを計算可能であり、その計算結果をvとする(ステップS4)。計算結果vは、第二記憶部18に記憶される。
【0038】
この例では、図9に例示するステップS41及びステップS42において、計算装置2に設けられた第三出力情報生成部23と、依頼装置1に設けられた第二計算部16とが計算結果vを生成する。
【0039】
第三出力情報生成部23は、第二入力情報τを用いて、ある確率より大きな確率でf(xr5,xr6)を正しく計算し、得られた計算結果を第三出力情報zとする(ステップS41)。第三出力情報zは、依頼装置1に送信される。例えば、ブラックボックス関数Fにxr5及びxr6を入力することにより得た出力値F(xr5,xr6)を第三出力情報zとする。すなわち、第三出力情報z=F(xr5,xr6)である。
【0040】
第二計算部16は、第三出力情報z及び乱数r及びrを用いて、z1/r5r6を計算してその計算結果をvとする(ステップS42)。なお、z1/r5r6は、z1/(r5r6)である。
【0041】
判定部17は、第一記憶部14に記憶された計算結果u及び第二記憶部18に記憶された計算結果vの中で、u=vとなるものがあるか判定する(ステップS5)。第一記憶部14に記憶された複数の計算結果uから選択された1つの計算結果uと、第二記憶部18から選択された1つの計算結果vとから構成される計算結果の組は、第一記憶部14に記憶された計算結果uの数U個と第二記憶部18に記憶された計算結果vの数V個とを乗算した数U×V個存在する。判定部17は、U×V個の計算結果の組のそれぞれについて、その計算結果の組を構成する計算結果uと計算結果vとが、u=vという関係を満たすか判定する。
【0042】
なお、判定部17は、前回のステップS5において判定を行った計算結果の組については、その判定を省略してもよい。換言すれば、判定部17は、例えば新たに追加された計算結果u又は計算結果vから少なくとも一方が構成される計算結果の組についてのみ判定を行ってもよい。既に判定を行った計算結果の組についての判定を省略することにより、処理を高速に行うことができ、必要なハードウェア資源の量を小さくすることができる。
【0043】
最終出力部19は、判定部17においてu=vとなるものがあると判定された場合には、このu=vという関係を満たすvを出力する(ステップS6)。このu=vという関係を満たすvが、高い確率でf(x,x)の値と一致する。その理由については、後述する。
【0044】
制御部13は、t=Tであるか判定する(ステップS7)。Tは予め定められた正の整数である。t=Tであれば、制御部13は、計算をすることができなかった旨の情報、例えば記号「⊥」を出力して(ステップS8)、処理を終える。t=Tでない場合には、制御部13は、tを1だけインクリメント、すなわちtにt+1を代入して(ステップS9)、ステップS1に戻る。
【0045】
≪高い確率でu=vという関係を満たすvがf(x,x)となる理由について≫
Xを群Gに値を持つ確率変数とする。w∈Gについて、要求を受けるたびに確率変数Xに従った標本x’に対応するwx’を返すものを、wについて誤差Xを持つ標本器(sampler)と呼ぶ。
【0046】
与えられた自然数aに確率変数Xの分布が依存せず、w∈Gについて、要求を受けるたびに確率変数Xに従った標本x’に対応するwx’を返すものを、wについて誤差Xを持つ乱数化可能標本器(randomizable sampler)と呼ぶ。乱数化可能標本器はa=1として用いられれば標本器として機能する。
【0047】
上記の実施形態においては、乱数化可能標本器3がf(x,x)についての誤差Eを持つ乱数化可能標本器であり、標本器4がf(x,x)についての誤差Eを持つ標本器である。
【0048】
乱数化可能標本器3により計算されるu=f(x,x、及び、標本器4により計算されるv=f(x,x)eが、u=vという関係を満たす場合、e及びeが群Gの単位元eである可能性が非常に高いことを発明者は見出した。ここでは、その証明を省略する。eが群Gの単位元eであるとき、v=f(x,x)e=f(x,x)e=f(x,x)となる。
【0049】
入力x,xに対してブラックボックス関数Fを用いて計算を行う、w=f(x,x)についての標本器をΣ’(x,x)と表記する。また、入力x,x及び与えられた自然数aに対してブラックボックス関数Fを用いて計算を行う、w=f(x,x)についての乱数化可能標本器をΣ(x,x,a)と表記する。
【0050】
確率変数E=F(xr1,xr2r41/r1f(xr1,xr2r4−1/r1F(x−r2r3,hr4)f(x−r2r3,hr4−1とすると、第一計算部15により計算されるz1/r1−r3r4は、f(x,x)についての誤差Eを持つ乱数化可能標本器Σ(x,x,a)となる。すなわち、Σ(x,x,a)=z1/r1−r3r4=f(x,xとなる。換言すれば、E=z1/r1−r3r4f(x,x−aとなる。
【0051】
定義より、z=F(xr1,xr2r4)、z=F(x−r2r3,hr4)であり、これらをE=z1/r1−r3r4f(x,x−aに代入すると以下のように式展開でき、E=F(xr1,xr2r41/r1f(xr1,xr2r4−1/r1F(x−r2r3,hr4)f(x−r2r3,hr4−1であることがわかる。また、関数f及びブラックボックス関数Fの入力の1つであるxr2r4は乱数r及びrにより撹乱されておりaに依存しない。このため、確率変数Eもaに依存しない。
【0052】
=z1/r1−r3r4f(x,x−a
=F(xr1,xr2r41/r1F(x−r2r3,hr4)f(x,x−a−r3r4
=F(xr1,xr2r41/r1F(x−r2r3,hr4)f(x,x−a−r3r4f(xr1,xr2r41/r1f(x−r2r3,hr4)f(xr1,xr2r4−1/r1f(x−r2r3,hr4−1 …(1)
A=f(x,x−af(xr1,xr2r41/r1f(x−r2r3,hr4),B=F(xr1,xr2r41/r1f(xr1,xr2r4−1/r1,C=F(x−r2r3,hr4)f(x−r2r3,hr4−1とすると、上記(1)式=ABCy−r3r4と書ける。
【0053】
ここで、関数fの準同型性により、A=f(x,x−af(xr1,xr2r41/r1f(x−r2r3,hr4)=f(x,x−af(x,xf(x,hr2r4f(x,h−r2r4f(h,hr3r4=yr3r4である。
【0054】
このため、上記(1)式=ABCy−r3r4=yr3r4BCy−r3r4=BCである。よって、E=z1/r1−r3r4f(x,x−a=BC=F(xr1,xr2r41/r1f(xr1,xr2r4−1/r1F(x−r2r3,hr4)f(x−r2r3,hr4−1となるのである。換言すれば、z1/r1−r3r4=f(x,xである。
【0055】
また、確率変数E=F(xr5,xr61/r5r6f(x,x−1とすると、第二計算部16により計算されるz1/r5r6は、f(x,x)についての誤差Eを持つ標本器Σ’(x,x)となる。すなわち、Σ’(x,x)=z1/r5r6=f(x,x)Eとなる。
【0056】
[変形例等]
図10に例示するように、乱数化可能標本器3を構成してもよい。図10の乱数化可能標本器3は、第一計算部15、第一出力情報生成部21、第二出力情報生成部22、第四出力情報生成部24を備える。第一計算部15は、依頼装置1に設けられ、3つの出力情報z,z,zからuを計算する。第一出力情報生成部21、第二出力情報生成部22、第四出力情報生成部24は、計算装置2に設けられる。
【0057】
この場合の第一入力情報生成部11は、図11に示すように、乱数生成部119、第一入力計算部113、第二入力計算部114、第三入力計算部115、第四入力計算部116、第五入力計算部117、第六入力計算部118を例えば備える。
【0058】
乱数生成部119は、乱数s,s,s,s,s,sを生成する(ステップS11、図12)。乱数s,s,s,s,s,sは、例えば0以上所定の数以下の一様乱数である。ここで、所定の数は、例えばn(k)を群H又は群Hを表現するビット長として、2n(k)+kである。乱数s,sは、第一入力計算部113に送信される。乱数s,sは、第二入力計算部114に送信される。乱数sは、第三入力計算部115に送信される。乱数s,sは、第四入力計算部116に送信される。乱数s,sは、第五入力計算部117に送信される。乱数sは、第六入力計算部118に送信される。
【0059】
第一入力計算部113は、xs1s2を計算する(ステップS13)。
【0060】
第二入力計算部114は、xs3s4を計算する(ステップS14)。
【0061】
第三入力計算部115は、hs1を計算する(ステップS15)。
【0062】
第四入力計算部116は、x−as2s5を計算する(ステップS16)。
【0063】
第五入力計算部117は、x−s4s6を計算する(ステップS17)。
【0064】
第六入力計算部118は、hs3を計算する(ステップS18)。
【0065】
この変形例では、これらの計算されたxs1s2,xs3s4,hs1,x−as2s5,x−s4s6,hs3が、第一入力情報τとなる。第一入力情報τは、計算装置2に送信される。
【0066】
第一出力情報生成部21は、第一入力情報τのxs1s2,xs3s4を用いて、ある確率より大きな確率でf(xs1s2,xs3s4)を正しく計算し、得られた計算結果を第一出力情報zとする(ステップS21、図13)。第一出力情報zは、依頼装置1に送信される。第一出力情報生成部21は、例えばブラックボックス関数Fにxs1s2及びxs3s4を入力することにより得た出力値F(xs1s2,xs3s4)を第一出力情報zとする。すなわち、第一出力情報z=F(xs1s2,xs3s4)とする。
【0067】
第二出力情報生成部22は、第一入力情報τのhs1及びx−as2s5を用いて、ある確率より大きな確率でf(hs1,x−as2s5)を正しく計算し、得られた計算結果を第二出力情報zとする(ステップS22)。第二出力情報zは、依頼装置1に送信される。第二出力情報生成部22は、例えばブラックボックス関数Fにhs1,x−as2s5を入力することにより得た出力値F(hs1,x−as2s5)を第二出力情報zとする。すなわち、第二出力情報z=F(hs1,x−as2s5)とする。
【0068】
第四出力情報生成部24は、第一入力情報τのx−s4s6及びhs3を用いて、ある確率より大きな確率でf(x−s4s6,hs3)を正しく計算し、得られた計算結果を第四出力情報zとする(ステップS24)。第四出力情報zは、依頼装置1に送信される。第四出力情報生成部24は、例えばブラックボックス関数Fにx−s4s6,hs3を入力することにより得た出力値F(x−s4s6,hs3)を第四出力情報zとする。すなわち、第四出力情報z=F(x−s4s6,hs3)とする。
【0069】
第一計算部15は、第一出力情報z、第二出力情報z及び第四出力情報zを用いて、z−s1s2s3s4−s1s5−s3s6を計算してその計算結果をuとする(ステップS23)。その他の処理は、上記実施形態と同じである。
【0070】
このように、uを計算することにより、上記実施形態の第一計算部15が行っていた逆元の計算が不必要となり、演算をより効率的に行うことができる。このばあい、E=F(xs1s2,xs3s4)f(xs1s2,xs3s4−1F(hs1,x−as2s5)f(hs1,x−as2s5−1F(x−s4s6,hs3)f(x−s4s6,hs3−1である。s,s,s,s,s,sは乱数であるから、Eはaに依存しない確率変数である。
【0071】
確率変数E,Eは、同じでも異なっていてもよい。したがって、標本器4は、乱数化可能標本器3またはその変形例に示した乱数化可能標本器で、aを1で置き換えたもので代替することができる。
第一乱数生成部111、第二乱数生成部112、第三乱数生成部121、第四乱数生成部122、乱数生成部119は、一様乱数を生成することにより、代理計算システムの安全性が最も高くなる。しかし、求める安全性のレベルがそれほど高くない場合には、第一乱数生成部111、第二乱数生成部112、第三乱数生成部121、第四乱数生成部122、乱数生成部119は、一様乱数ではない乱数を生成してもよい。
【0072】
また、第一乱数生成部111、第二乱数生成部112、第三乱数生成部121、第四乱数生成部122は、0以上所定の数以下の乱数を生成してもよい。ここで、例えばn(k)を群H又は群Hを表現するビット長として、所定の数は2n(k)+kである。
【0073】
また、依頼装置1が複数の第一入力情報及び第二入力情報を計算装置2にまとめて提供し、対応する計算結果を複数個まとめて取得してもよい。これにより、依頼装置1と計算装置2との間のやり取り回数を減らすことができる。
【0074】
上記の実施形態では、例えばxr1、xr2r4、x−r2r3及びhr4を第一入力情報τとしたが、第一入力情報τは乱数化可能標本器3がその第一入力情報τに基づいてf(x,xを計算可能することができればどのような情報でもよい。例えば、x及びx自体や、x及びxに関する情報や、(x,x,r,r,r,r)の組を第一入力情報τとしてもよい。
【0075】
同様に、上記の実施形態では、xr5及びxr6を上記第二入力情報τとしたが、第二入力情報τは乱数化可能標本器3がその第二入力情報τに基づいてf(x,x)eを計算可能することができればどのような情報でもよい。例えば、x及びx自体や、x及びxに関する情報や、(x,x,r,r)の組を第二入力情報τとしてもよい。
【0076】
乱数化可能標本器3を構成する第一計算部15、第一出力情報生成部21及び第二出力情報生成部22の少なくとも1つの部が計算装置2に備えられていれば、乱数化可能標本器3を構成する他の部は依頼装置1及び計算装置2の何れに備えられていてもよい。例えば、第一計算部15、第一出力情報生成部21及び第二出力情報生成部22のすべてが計算装置2に備えられていてもよい。
【0077】
同様に、標本器4を構成する第二計算部16及び第三出力情報生成部23の少なくとも1つの部が計算装置2に備えられていれば、標本器4を構成する他の部は依頼装置1及び計算装置2の何れに備えられていてもよい。例えば、第二計算部16及び第三出力情報生成部23のすべてが計算装置2に備えられていてもよい。
【0078】
依頼装置1及び計算装置2の各部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。
【0079】
その他、この発明は上述の実施形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。例えば、図5に破線で示すように、ステップS2とステップS3の間に、ステップS5の処理を行ってもよい。
【0080】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【0081】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0082】
その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【符号の説明】
【0083】
1 依頼装置
11 第一入力情報生成部
111 第一乱数生成部
112 第二乱数生成部
113 第一入力計算部
114 第二入力計算部
115 第三入力計算部
116 第四入力計算部
117 第五入力計算部
118 第六入力計算部
119 乱数生成部119
12 第二入力情報生成部
121 第三乱数生成部
122 第四乱数生成部
123 第五入力計算部
124 第六入力計算部
13 制御部
14 第一記憶部
15 第一計算部
16 第二計算部
17 判定部
18 第二記憶部
19 最終出力部
2 計算装置
21 第一出力情報生成部
22 第二出力情報生成部
23 第三出力情報生成部
24 第四出力情報生成部
3 乱数化可能標本器
4 標本器

【特許請求の範囲】
【請求項1】
,H及びGを巡回群、h,h及びgをそれぞれH,H及びGの生成元、f(x,x)を群Hの元x及び群Hの元xの組を群Gへ写す双準同型写像、E及びEを群Gに値を持つ確率変数、e及びeをそれぞれ確率変数E及びEの実現値、aを0以上の整数として、
上記元x及び元xに対応する第一入力情報τを生成する第一入力情報生成部と、
上記元x及び元xに対応する第二入力情報τを生成する第二入力情報生成部と、
上記第一入力情報τを用いて、f(x,xを計算可能であり、その計算結果をuとする乱数化可能標本器と、
上記第二入力情報τを用いて、f(x,x)eを計算可能であり、その計算結果をvとする標本器と、
上記計算結果u及びvがu=vを満たす場合に、そのvを出力する最終出力部と、
を含む代理計算システム。
【請求項2】
請求項1の代理計算システムにおいて、
及びhをそれぞれH及びHの生成元として、
上記第一入力情報生成部は、0以上所定の数以下の乱数r,rを生成する第一乱数生成部と、0以上所定の数以下の乱数r,rを生成する第二乱数生成部と、xr1を計算する第一入力計算部と、xr2r4を計算する第二入力計算部と、x−r2r3を計算する第三入力計算部と、hr4を計算する第四入力計算部と、を含み、これらの計算されたxr1、xr2r4、x−r2r3及びhr4を上記第一入力情報τとし、
y=f(h,h)として、上記乱数化可能標本器は、上記第一入力情報τのxr1及びxr2r4を用いて、ある確率より大きな確率でf(xr1,xr2r4)を正しく計算し、得られた計算結果を第一出力情報zとする第一出力情報生成部と、上記第一入力情報τのx−r2r3、hr4を用いて、ある確率より大きな確率でf(x−r2r3,hr4)を正しく計算し、得られた計算結果を第二出力情報zとする第二出力情報生成部と、z1/r1−r3r4を計算してその計算結果を上記uとする第一計算部と、を含み、
上記第二入力情報生成部は、0以上所定の数以下の乱数rを生成する第三乱数生成部と、0以上所定の数以下の乱数rを生成する第四乱数生成部と、xr5を計算する第五入力計算部と、xr6を計算する第六入力計算部と、を含み、これらの計算されたxr5、xr6を上記第二入力情報τとし、
上記標本器は、上記第二入力情報τを用いて、ある確率より大きな確率でf(xr5,xr6)を正しく計算し、得られた計算結果を第三出力情報zとする第三出力情報生成部と、z1/r5r6を計算してその計算結果を上記vとする第二計算部と、を含む、
代理計算システム。
【請求項3】
,H及びGを巡回群、h,h及びgをそれぞれH,H及びGの生成元、f(x,x)を群Hの元x及び群Hの元xの組を群Gへ写す双準同型写像、E及びEを群Gに値を持つ確率変数、e及びeをそれぞれ確率変数E及びEの実現値、aを0以上の整数として、
上記元x及び元xに対応する第一入力情報τを生成する第一入力情報生成部と、
上記元x及び元xに対応する第二入力情報τを生成する第二入力情報生成部と、
上記第一入力情報τを用いてf(x,xを計算可能な乱数化可能標本器による計算結果uと、上記第二入力情報τを用いてf(x,x)eを計算可能な標本器による計算結果vとが、u=vを満たす場合に、そのvを出力する最終出力部と、
を含む依頼装置。
【請求項4】
,H及びGを巡回群、h,h及びgをそれぞれH,H及びGの生成元、f(x,x)を群Hの元x及び群Hの元xの組を群Gへ写す双準同型写像、E及びEを群Gに値を持つ確率変数、e及びeをそれぞれ確率変数E及びEの実現値、aを0以上の整数として、
上記元x及び元xに対応する第一入力情報τを用いて、f(x,xを計算可能であり、その計算結果をuとする乱数化可能標本器と、
上記元x及び元xに対応する第二入力情報τを用いて、f(x,x)eを計算可能であり、その計算結果をvとする標本器と、
を含む計算装置。
【請求項5】
,H及びGを巡回群、h,h及びgをそれぞれH,H及びGの生成元、f(x,x)を群Hの元x及び群Hの元xの組を群Gへ写す双準同型写像、E及びEを群Gに値を持つ確率変数、e及びeをそれぞれ確率変数E及びEの実現値、aを0以上の整数として、
第一入力情報生成部が、上記元x及び元xに対応する第一入力情報τを生成する第一入力情報生成ステップと、
第二入力情報生成部が、上記元x及び元xに対応する第二入力情報τを生成する第二入力情報生成ステップと、
乱数化可能標本器が、上記第一入力情報τを用いて、f(x,xを計算可能であり、その計算結果をuとするステップと、
標本器が、上記第二入力情報τを用いて、f(x,x)eを計算可能であり、その計算結果をvとするステップと、
最終出力部が、上記計算結果u及びvがu=vを満たす場合に、そのvを出力する最終出力ステップと、
を含む代理計算方法。
【請求項6】
請求項1の代理計算システムにおいて、
及びhをそれぞれH及びHの生成元として、
上記第一入力情報生成部は、0以上所定の数以下の乱数s,s,s,s,s,sを生成する乱数生成部と、xs1s2を計算する第一入力計算部と、xs3s4を計算する第二入力計算部と、hs1を計算する第三入力計算部と、x−as2s5を計算する第四入力計算部と、x−s4s6を計算する第五入力計算部と、hs3を計算する第六入力計算部と、を含み、これらの計算されたxs1s2,xs3s4,hs1,x−as2s5,x−s4s6及びhs3を上記第一入力情報τとし、
y=f(h,h)として、上記乱数化可能標本器は、上記第一入力情報τのxs1s2,xs3s4を用いて、ある確率より大きな確率でf(xs1s2,xs3s4)を正しく計算し、得られた計算結果を第一出力情報zとする第一出力情報生成部と、上記第一入力情報τのhs1及びx−as2s5を用いて、ある確率より大きな確率でf(hs1,x−as2s5)を正しく計算し、得られた計算結果を第二出力情報zとする第二出力情報生成部と、上記第一入力情報τのx−s4s6及びhs3を用いて、ある確率より大きな確率でf(x−s4s6,hs3)を正しく計算し、得られた計算結果を第四出力情報zとする第四出力情報生成部と、z−s1s2s3s4−s1s5−s3s6を計算してその計算結果を上記uとする第一計算部と、を含み、
上記第二入力情報生成部は、0以上所定の数以下の乱数rを生成する第三乱数生成部と、0以上所定の数以下の乱数rを生成する第四乱数生成部と、xr5を計算する第五入力計算部と、xr6を計算する第六入力計算部と、を含み、これらの計算されたxr5、xr6を上記第二入力情報τとし、
上記標本器は、上記第二入力情報τを用いて、ある確率より大きな確率でf(xr5,xr6)を正しく計算し、得られた計算結果を第三出力情報zとする第三出力情報生成部と、z1/r5r6を計算してその計算結果を上記vとする第二計算部と、を含む、
代理計算システム。
【請求項7】
請求項3の依頼装置の各部としてコンピュータを機能させるためのプログラム。
【請求項8】
請求項4の計算装置の各部としてコンピュータを機能させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate