JP5491638B2 - 代理計算システム、計算装置、能力提供装置、代理計算方法、能力提供方法、プログラム、及び記録媒体 - Google Patents
代理計算システム、計算装置、能力提供装置、代理計算方法、能力提供方法、プログラム、及び記録媒体 Download PDFInfo
- Publication number
- JP5491638B2 JP5491638B2 JP2012540874A JP2012540874A JP5491638B2 JP 5491638 B2 JP5491638 B2 JP 5491638B2 JP 2012540874 A JP2012540874 A JP 2012540874A JP 2012540874 A JP2012540874 A JP 2012540874A JP 5491638 B2 JP5491638 B2 JP 5491638B2
- Authority
- JP
- Japan
- Prior art keywords
- calculation
- input information
- output information
- unit
- information
- 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
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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- 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/006—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving public key infrastructure [PKI] trust models
-
- 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/008—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
-
- 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/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
-
- 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/3006—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
- H04L9/3013—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters involving the discrete logarithm problem, e.g. ElGamal or Diffie-Hellman systems
-
- 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/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
- H04L9/3073—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/08—Randomization, e.g. dummy operations or using noise
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/76—Proxy, i.e. using intermediary entity to perform cryptographic operations
Description
本発明は、他の装置で行われた計算結果を用いて計算を行う技術に関する。
公開鍵暗号方式や共通鍵暗号方式などの暗号方式で暗号化された暗号文を復号するためには、特定の復号鍵が必要である(例えば、非特許文献1参照)。復号鍵を保持していない第一装置が暗号文の復号結果を得るための従来方法の一つは、復号鍵を保持している第二装置が第一装置に復号鍵を提供し、第一装置がその復号鍵を用いて暗号文の復号を行う方法である。第一装置が暗号文の復号結果を得るための他の従来方法は、第一装置が暗号文を第二装置に提供し、第二装置が暗号文を復号してその復号結果を第一装置に提供する方法である。
Taher Elgamal, A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms, IEEE Transactions on Information Theory, v. IT-31, n. 4, 1985, pp. 469-472 or CRYPTO 84, pp. 10-18, Springer-Verlag.
しかしながら、第二装置が第一装置に復号鍵を提供する方法では、復号鍵を第二装置の外部に取り出さなければならず、安全上の問題がある。一方、第一装置が暗号文を第二装置に提供し、第二装置が暗号文を復号する方法では、第一装置が第二装置の復号処理の正当性を検証することができない。このような課題は復号処理以外に一般化できる。すなわち、第二装置が秘密情報を漏洩することなく計算能力のみを第一装置に提供し、第一装置がその計算能力を用いて正しく計算を行う技術は存在しなかった。
本発明では、G,Hを群、f(x)を群Hの元である暗号文xを特定の復号鍵で復号して群Gの元を得るための復号関数、X1,X2を群Gに値を持つ確率変数、x1を確率変数X1の実現値、x2を確率変数X2の実現値、a,bを互いに素である自然数として、計算装置が、暗号文xに対応する、群Hの元である第一入力情報τ1及び第二入力情報τ2を出力し、能力提供装置が、第一入力情報τ1を用い、或る確率より大きな確率でf(τ1)を正しく計算し、計算結果を第一出力情報z1とし、第二入力情報τ2を用い、或る確率より大きな確率でf(τ2)を正しく計算し、計算結果を第二出力情報z2とし、計算装置が、第一出力情報z1から計算結果u=f(x)bx1を生成し、第二出力情報z2から計算結果v=f(x)ax2を生成し、計算結果u及びvがua=vbを満たす場合に、a’a+b’b=1を満たす整数a’,b’についてのub’va’を出力する。
本発明では、能力提供装置が秘密情報を漏洩することなく計算能力のみを計算装置に提供し、計算装置がその計算能力を用いて正しく計算を行うことができる。
以下、図面を参照して本発明の実施形態を説明する。
[第一実施形態]
本発明の第一実施形態を説明する。
<構成>
図1に例示するように、第一実施形態の代理計算システム1は、例えば、復号鍵を保持していない計算装置11と復号鍵を保持する能力提供装置12とを有し、計算装置11が能力提供装置12に暗号文の復号能力の提供を依頼し、能力提供装置12から提供された復号能力を用いて暗号文を復号する。計算装置11と能力提供装置12とは情報のやり取りが可能なように構成される。例えば、計算装置11と能力提供装置12とは、伝送線やネットワークや可搬型記録媒体などを経由した情報のやり取りが可能とされている。
[第一実施形態]
本発明の第一実施形態を説明する。
<構成>
図1に例示するように、第一実施形態の代理計算システム1は、例えば、復号鍵を保持していない計算装置11と復号鍵を保持する能力提供装置12とを有し、計算装置11が能力提供装置12に暗号文の復号能力の提供を依頼し、能力提供装置12から提供された復号能力を用いて暗号文を復号する。計算装置11と能力提供装置12とは情報のやり取りが可能なように構成される。例えば、計算装置11と能力提供装置12とは、伝送線やネットワークや可搬型記録媒体などを経由した情報のやり取りが可能とされている。
図2に例示するように、第一実施形態の計算装置11は、例えば、自然数記憶部1101と自然数選択部1102と整数計算部1103と入力情報提供部1104と第一計算部1105と第一べき乗計算部1106と第一リスト記憶部1107と第二計算部1108と第二べき乗計算部1109と第二リスト記憶部1110と判定部1111と最終出力部1112と制御部1113とを有する。計算装置11の例は、カードリーダライタ装置や携帯電話などの計算機能と記憶機能とを備えた機器や、特別なプログラムが読み込まれたCPU(central processing unit)やRAM(random-access memory)を備えた公知又は専用のコンピュータなどである。
図3に例示するように、第一実施形態の能力提供装置12は、例えば、第一出力情報計算部1201と第二出力情報計算部1202と鍵記憶部1204と制御部1205とを有する。能力提供装置12の例は、ICカードやICチップなどの耐タンパ性モジュールや、携帯電話などの計算機能と記憶機能とを備えた機器や、特別なプログラムが読み込まれたCPUやRAMを備えた公知又は専用のコンピュータなどである。
<処理>
次に本形態の処理を説明する。処理の前提として、G,Hを群(例えば、可換群)、f(x)を群Hの元である暗号文xを特定の復号鍵sで復号して群Gの元を得るための復号関数、群G,Hの生成元をそれぞれμg,μh、X1,X2を群Gに値を持つ確率変数、確率変数X1の実現値をx1、確率変数X2の実現値をx2とする。計算装置11の自然数記憶部1101には、互いに素である2つの自然数a,bの組(a,b)が複数種類記憶されているものとする。「自然数」とは0以上の整数を意味する。Iを群Gの位数未満の2つの自然数の組で互いに素なものの集合とすると、自然数記憶部1101にはIの部分集合Sに対応する自然数a,bの組(a,b)が記憶されていると考えることができる。能力提供装置12の鍵記憶部1204には、特定の復号鍵sが安全に格納されているものとする。計算装置11の各処理は制御部1113の制御のもとで実行され、能力提供装置12の各処理は制御部1205の制御のもとで実行される。
次に本形態の処理を説明する。処理の前提として、G,Hを群(例えば、可換群)、f(x)を群Hの元である暗号文xを特定の復号鍵sで復号して群Gの元を得るための復号関数、群G,Hの生成元をそれぞれμg,μh、X1,X2を群Gに値を持つ確率変数、確率変数X1の実現値をx1、確率変数X2の実現値をx2とする。計算装置11の自然数記憶部1101には、互いに素である2つの自然数a,bの組(a,b)が複数種類記憶されているものとする。「自然数」とは0以上の整数を意味する。Iを群Gの位数未満の2つの自然数の組で互いに素なものの集合とすると、自然数記憶部1101にはIの部分集合Sに対応する自然数a,bの組(a,b)が記憶されていると考えることができる。能力提供装置12の鍵記憶部1204には、特定の復号鍵sが安全に格納されているものとする。計算装置11の各処理は制御部1113の制御のもとで実行され、能力提供装置12の各処理は制御部1205の制御のもとで実行される。
図6に例示するように、まず、計算装置11(図2)の自然数選択部1102が、自然数記憶部1101に記憶された複数の自然数の組(a,b)から1つの自然数の組(a,b)をランダムに読み込む。読み込まれた自然数の組(a,b)少なくとも一部の情報は、整数計算部1103、入力情報提供部1104、第一べき乗計算部1106及び第二べき乗計算部1109に送られる(ステップS1100)。
整数計算部1103は、送られた自然数の組(a,b)を用いて、a’a+b’b=1の関係を満たす整数a’,b’を計算する。自然数a,bは互いに素であるため、a’a+b’b=1の関係を満たす整数a’,b’は必ず存在する。自然数の組(a’,b’)の情報は、最終出力部1112に送られる(ステップS1101)。
制御部1113は、t=1とする(ステップS1102)。
入力情報提供部1104は、入力された暗号文xにそれぞれ対応する群Hの元である第一入力情報τ1及び第二入力情報τ2を生成して出力する。好ましくは、第一入力情報τ1及び第二入力情報τ2はそれぞれ暗号文xとの関係をかく乱させた情報である。これにより、計算装置11は、暗号文xを能力提供装置12に対して隠蔽できる。好ましくは、本形態の第一入力情報τ1は自然数選択部1102で選択された自然数bにさらに対応し、第二入力情報τ2は自然数選択部1102で選択された自然数aにさらに対応する。これにより、能力提供装置12から提供された復号能力を計算装置11が高い精度で評価することが可能となる(ステップS1103)。
入力情報提供部1104は、入力された暗号文xにそれぞれ対応する群Hの元である第一入力情報τ1及び第二入力情報τ2を生成して出力する。好ましくは、第一入力情報τ1及び第二入力情報τ2はそれぞれ暗号文xとの関係をかく乱させた情報である。これにより、計算装置11は、暗号文xを能力提供装置12に対して隠蔽できる。好ましくは、本形態の第一入力情報τ1は自然数選択部1102で選択された自然数bにさらに対応し、第二入力情報τ2は自然数選択部1102で選択された自然数aにさらに対応する。これにより、能力提供装置12から提供された復号能力を計算装置11が高い精度で評価することが可能となる(ステップS1103)。
図7に例示するように、第一入力情報τ1は能力提供装置12(図3)の第一出力情報計算部1201に入力され、第二入力情報τ2は第二出力情報計算部1202に入力される(ステップS1200)。
第一出力情報計算部1201は、第一入力情報τ1と鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(τ1)を正しく計算し、得られた計算結果を第一出力情報z1とする(ステップS1201)。第二出力情報計算部1202は、第二入力情報τ2と鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(τ2)を正しく計算し、得られた計算結果を第二出力情報z2とする(ステップS1202)。なお、「或る確率」は100%未満の確率である。「或る確率」の例は無視することができない確率であり、「無視することができない確率」の例は、セキュリティパラメータkについての広義単調増加関数である多項式を多項式ψ(k)とした場合の1/ψ(k)以上の確率である。すなわち、第一出力情報計算部1201や第二出力情報計算部1202は、意図的又は意図的ではない誤差を含んだ計算結果を出力する。言い換えると、第一出力情報計算部1201での計算結果がf(τ1)の場合もあればf(τ1)でない場合もあり、第二出力情報計算部1202での計算結果がf(τ2)の場合もあればf(τ2)でない場合もある。
第一出力情報計算部1201は第一出力情報z1を出力し、第二出力情報計算部1202は第二出力情報z2を出力する(ステップS1203)。
図6に戻り、第一出力情報z1は計算装置11(図2)の第一計算部1105に入力され、第二出力情報z2は第二計算部1108に入力される。これらの第一出力情報z1及び第二出力情報z2が、能力提供装置12から計算装置11に与えられた復号能力に相当する(ステップS1104)。
第一計算部1105は、第一出力情報z1から計算結果u=f(x)bx1を生成する。ここで、f(x)bx1を生成(計算)するとは、f(x)bx1と定義される式の値を計算することである。式f(x)bx1の値を最終的に計算することができれば、途中の計算方法は問わない。これは、この出願で登場する他の式の計算についても同様である。第一実施形態では群で定義された演算を乗法的に表現する。すなわちα∈Gに対する「αb」は、群Gで定義された演算をαに対してb回作用させることを意味し、α1,α2∈Gに対する「α1α2」は、α1とα2とを被演算子とした群Gで定義された演算を行うことを意味する(後述する第二から第五実施形態も同様)。計算結果uは第一べき乗計算部1106に送られる(ステップS1105)。
図6に戻り、第一出力情報z1は計算装置11(図2)の第一計算部1105に入力され、第二出力情報z2は第二計算部1108に入力される。これらの第一出力情報z1及び第二出力情報z2が、能力提供装置12から計算装置11に与えられた復号能力に相当する(ステップS1104)。
第一計算部1105は、第一出力情報z1から計算結果u=f(x)bx1を生成する。ここで、f(x)bx1を生成(計算)するとは、f(x)bx1と定義される式の値を計算することである。式f(x)bx1の値を最終的に計算することができれば、途中の計算方法は問わない。これは、この出願で登場する他の式の計算についても同様である。第一実施形態では群で定義された演算を乗法的に表現する。すなわちα∈Gに対する「αb」は、群Gで定義された演算をαに対してb回作用させることを意味し、α1,α2∈Gに対する「α1α2」は、α1とα2とを被演算子とした群Gで定義された演算を行うことを意味する(後述する第二から第五実施形態も同様)。計算結果uは第一べき乗計算部1106に送られる(ステップS1105)。
第一べき乗計算部1106はu’=uaを計算する。計算結果uとその計算結果に基づいて計算されたu’との組(u,u’)は、第一リスト記憶部1107に記憶される(ステップS1106)。
判定部1111は、第一リスト記憶部1107に記憶された組(u,u’)及び第二リスト記憶部1110に記憶された組(v,v’)の中で、u’=v’となるものがあるか判定する(ステップS1107)。もし、第二リスト記憶部1110に組(v,v’)が記憶されていない場合には、このステップS1107の処理を行わずに、次のステップS1108の処理を行う。u’=v’となるものがあった場合には、ステップS1114に進む。u’=v’となるものがなかった場合には、ステップS1108に進む。
ステップS1108では、第二計算部1108が、第二出力情報z2から計算結果v=f(x)ax2を生成する。計算結果vは第二べき乗計算部1109に送られる(ステップS1108)。
ステップS1108では、第二計算部1108が、第二出力情報z2から計算結果v=f(x)ax2を生成する。計算結果vは第二べき乗計算部1109に送られる(ステップS1108)。
第二べき乗計算部1109はv’=vbを計算する。計算結果vとその計算結果に基づいて計算されたv’との組(v,v’)は、第二リスト記憶部1110に記憶される(ステップS1109)。
判定部1111は、第一リスト記憶部1107に記憶された組(u,u’)及び第二リスト記憶部1110に記憶された組(v,v’)の中で、u’=v’となるものがあるか判定する(ステップS1110)。u’=v’となるものがあった場合には、ステップS1114に進む。u’=v’となるものがなかった場合には、ステップS1111に進む。
ステップS1111では、制御部1113がt=Tmaxであるか判定する(ステップS1111)。Tmaxは予め定められた自然数である。t=Tmaxであれば、制御部1113は、計算をすることができなかった旨の情報、例えば記号「⊥」を出力して(ステップS1113)、処理を終える。t=Tmaxでない場合には、制御部1113は、tを1だけインクリメント、すなわちt=t+1として(ステップS1112)、ステップS1103に戻る。
計算をすることができなかった旨の情報(この例では記号「⊥」)は、能力提供装置12が正しく計算を行う信頼性がTmaxで定められる基準を下回るということを意味する。言い換えれば、Tmax回の繰り返しで正しい演算を行うことができなかったということを意味する。
ステップS1114では、最終出力部1112が、u’=v’であると判定されたu’及びv’に対応するu及びvを用いてub’va’を計算して、出力する(ステップS1114)。このように計算されたub’va’は高い確率で暗号文xを特定の復号鍵sで復号した復号結果f(x)となる(高い確率でub’va’=f(x)となる理由については後述する)。よって、上述した処理を複数回繰り返し、ステップS1114で得られた値のうち最も頻度の高い値を復号結果とすればよい。後述するように、設定によっては圧倒的な確率でub’va’=f(x)となる。その場合にはステップS1114で得られた値をそのまま復号結果としてよい。
≪高い確率でub’va’=f(x)となる理由について≫
Xを群Gに値を持つ確率変数とする。w∈Gについて、要求を受けるたびに確率変数Xに従った標本x’に対応するwx’を返すものを、wについて誤差Xを持つ標本器(sampler)と呼ぶ。
Xを群Gに値を持つ確率変数とする。w∈Gについて、要求を受けるたびに確率変数Xに従った標本x’に対応するwx’を返すものを、wについて誤差Xを持つ標本器(sampler)と呼ぶ。
w∈Gについて、自然数aが与えられるたびに確率変数Xに従った標本x’に対応するwax’を返すものを、wについて誤差Xを持つ乱数化可能標本器(randomizable sampler)と呼ぶ。乱数化可能標本器はa=1として用いられれば標本器として機能する。
本実施形態の入力情報提供部1104と第一出力情報計算部1201と第一計算部1105との組み合わせが、f(x)について誤差X1を持つ乱数化可能標本器(「第一乱数化可能標本器」と呼ぶ)であり、入力情報提供部1104と第二出力情報計算部1202と第二計算部1108との組み合わせが、f(x)について誤差X2を持つ乱数化可能標本器(「第二乱数化可能標本器」と呼ぶ)である。
u’=v’が成立するのは、すなわちua=vbが成立するのは、第一乱数化可能標本器がu=f(x)bを正しく計算しており、第二乱数化可能標本器がv=f(x)aを正しく計算している(x1及びx2が群Gの単位元egである)可能性が高いことを発明者は見出した。説明の簡略化の観点から、この証明は五実施形態で行う。
第一乱数化可能標本器がu=f(x)bを正しく計算しており、第二乱数化可能標本器がv=f(x)aを正しく計算しているとき(x1及びx2が群Gの単位元egであるとき)、ub’va’=(f(x)bx1)b’(f(x)ax2)a’=(f(x)beg)b’(f(x)aeg)a’=f(x)bb’eg b’f(x)aa’eg a’=f(x)(bb’+aa’)=f(x)となる。
(q1,q2)∈Iについて、i=1,2の各々について関数πiをπi(q1,q2)=qiで定義する。L=min(♯π1(S),♯π2(S))とする。♯・は、集合・の位数である。群Gが巡回群や位数の計算が困難な群であるときには、計算装置11が「⊥」以外を出力するときの出力がf(x)ではない確率は、無視できる程度の誤差の範囲で高々Tmax 2L/♯S程度と期待することができる。もしL/♯Sが無視できる量でTmaxが多項式オーダー程度の量であれば、計算装置11は圧倒的な確率で正しいf(x)を出力する。L/♯Sが無視できる量になるようなSの例には、例えばS={(1,d)|d∈[2,|G|−1]}がある。
[第二実施形態]
第二実施形態の代理計算システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した例である。以下、第一実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。以下の説明において、同一の参照番号が付された部分は同一の機能を持つものとし、同一の参照番号が付されたステップは同一の処理を表すものとする。
第二実施形態の代理計算システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した例である。以下、第一実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。以下の説明において、同一の参照番号が付された部分は同一の機能を持つものとし、同一の参照番号が付されたステップは同一の処理を表すものとする。
<構成>
図1に例示するように、第二実施形態の代理計算システム2は、計算装置11が計算装置21に置換され、能力提供装置12が能力提供装置22に置換されたものである。
図1に例示するように、第二実施形態の代理計算システム2は、計算装置11が計算装置21に置換され、能力提供装置12が能力提供装置22に置換されたものである。
図2に例示するように、第二実施形態の計算装置21は、例えば、自然数記憶部1101と自然数選択部1102と整数計算部1103と入力情報提供部2104と第一計算部2105と第一べき乗計算部1106と第一リスト記憶部1107と第二計算部2108と第二べき乗計算部1109と第二リスト記憶部1110と判定部1111と最終出力部1112と制御部1113とを有する。図4に例示するように、本形態の入力情報提供部2104は、例えば、第一乱数生成部2104aと第一入力情報計算部2104bと第二乱数生成部2104cと第二入力情報計算部2104dとを有する。
図3に例示するように、第二実施形態の能力提供装置22は、例えば、第一出力情報計算部2201と第二出力情報計算部2202と鍵記憶部1204と制御部1205とを有する。
<処理>
次に本形態の処理を説明する。第二実施形態では、復号関数f(x)を準同型関数とし、群Hを巡回群とし、群Hの生成元をμh、群Hの位数をKH、ν=f(μh)とする。その他の前提は、計算装置11が計算装置21に置換され、能力提供装置12が能力提供装置22に置換されている以外、第一実施形態と同一である。
次に本形態の処理を説明する。第二実施形態では、復号関数f(x)を準同型関数とし、群Hを巡回群とし、群Hの生成元をμh、群Hの位数をKH、ν=f(μh)とする。その他の前提は、計算装置11が計算装置21に置換され、能力提供装置12が能力提供装置22に置換されている以外、第一実施形態と同一である。
図6及び図7に例示するように、第二実施形態の処理は第一実施形態のステップS1103〜S1105,S1108,S1200〜S1203が、それぞれ、ステップS2103〜S2105,S2108,S2200〜S2203に置換されたものである。以下ではステップS2103〜S2105,S2108,S2200〜S2203の処理のみを説明する。
《ステップS2103の処理》
計算装置21(図2)の入力情報提供部2104は、入力された暗号文xにそれぞれ対応する群Hの元である第一入力情報τ1及び第二入力情報τ2を生成して出力する(図6/ステップS2103)。以下、図8を用いて本形態のステップS2103の処理を説明する。
計算装置21(図2)の入力情報提供部2104は、入力された暗号文xにそれぞれ対応する群Hの元である第一入力情報τ1及び第二入力情報τ2を生成して出力する(図6/ステップS2103)。以下、図8を用いて本形態のステップS2103の処理を説明する。
第一乱数生成部2104a(図4)は、0以上KH未満の自然数の一様乱数r1を生成する。生成された乱数r1は、第一入力情報計算部2104b及び第一計算部2105に送られる(ステップS2103a)。第一入力情報計算部2104bは、入力された乱数r1と暗号文xと自然数bとを用いて第一入力情報τ1=μh r1xbを計算する(ステップS2103b)。ここで、μhの右肩のr1は、r1のことである。このように、この出願において、αを第一の文字、βを第二の文字、γを数字として、αβγと表記した場合には、そのβγはβγ、すなわちβの下付きγを意味する。
第二乱数生成部2104cは、0以上KH未満の自然数の一様乱数r2を生成する。生成された乱数r2は、第二入力情報計算部2104d及び第二計算部2108に送られる(ステップS2103c)。第二入力情報計算部2104dは、入力された乱数r2と暗号文xと自然数aとを用いて第二入力情報τ2=μh r2xaを計算する(ステップS2103d)。
第一入力情報計算部2104b及び第二入力情報計算部2104dは、以上のように生成した第一入力情報τ1及び第二入力情報τ2を出力する(ステップS2103e)。なお、本形態の第一入力情報τ1及び第二入力情報τ2は、それぞれ、乱数r1,r2によって暗号文xとの関係をかく乱させた情報である。これにより、計算装置21は、暗号文xを能力提供装置22に対して隠蔽できる。本形態の第一入力情報τ1は自然数選択部1102で選択された自然数bにさらに対応し、第二入力情報τ2は自然数選択部1102で選択された自然数aにさらに対応する。これにより、能力提供装置22から提供された復号能力を計算装置21が高い精度で評価することが可能となる。
《ステップS2200〜S2203の処理》
図7に例示するように、まず、第一入力情報τ1=μh r1xbが能力提供装置22(図3)の第一出力情報計算部2201に入力され、第二入力情報τ2=μh r2xaが第二出力情報計算部2202に入力される(ステップS2200)。
図7に例示するように、まず、第一入力情報τ1=μh r1xbが能力提供装置22(図3)の第一出力情報計算部2201に入力され、第二入力情報τ2=μh r2xaが第二出力情報計算部2202に入力される(ステップS2200)。
第一出力情報計算部2201は、第一入力情報τ1=μh r1xbと鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(μh r1xb)を正しく計算し、得られた計算結果を第一出力情報z1とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第一出力情報計算部2201での計算結果がf(μh r1xb)となる場合もあれば、f(μh r1xb)とならない場合もある(ステップS2201)。
第二出力情報計算部2202は、第二入力情報τ2=μh r2xaと鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(μh r2xa)を正しく計算し、得られた計算結果を第二出力情報z2とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第二出力情報計算部2202での計算結果がf(μh r2xa)となる場合もあれば、f(μh r2xa)とならない場合もある(ステップS2202)。第一出力情報計算部2201は第一出力情報z1を出力し、第二出力情報計算部2202は第二出力情報z2を出力する(ステップS2203)。
《ステップS2104及びS2105の処理》
図6に戻り、第一出力情報z1は計算装置21(図2)の第一計算部2105に入力され、第二出力情報z2は第二計算部2108に入力される。これらの第一出力情報z1及び第二出力情報z2が、能力提供装置22から計算装置21に与えられた復号能力に相当する(ステップS2104)。
第一計算部2105は、入力された乱数r1及び第一出力情報z1を用いてz1ν-r1を計算してその計算結果をuとする。計算結果uは、第一べき乗計算部1106に送られる。ここで、u=z1ν-r1=f(x)bx1となる。すなわち、z1ν-r1は、f(x)について誤差X1を持つ乱数化可能標本器の出力となる。その理由については後述する(ステップS2105)。
図6に戻り、第一出力情報z1は計算装置21(図2)の第一計算部2105に入力され、第二出力情報z2は第二計算部2108に入力される。これらの第一出力情報z1及び第二出力情報z2が、能力提供装置22から計算装置21に与えられた復号能力に相当する(ステップS2104)。
第一計算部2105は、入力された乱数r1及び第一出力情報z1を用いてz1ν-r1を計算してその計算結果をuとする。計算結果uは、第一べき乗計算部1106に送られる。ここで、u=z1ν-r1=f(x)bx1となる。すなわち、z1ν-r1は、f(x)について誤差X1を持つ乱数化可能標本器の出力となる。その理由については後述する(ステップS2105)。
《ステップS2108の処理》
第二計算部2108は、入力された乱数r2及び第二出力情報z2を用いてz2ν-r2を計算してその計算結果をvとする。計算結果vは、第二べき乗計算部1109に送られる。ここで、v=z2ν-r2=f(x)ax2となる。すなわち、z2ν-r2は、f(x)について誤差X2を持つ乱数化可能標本器の出力となる。その理由については後述する(ステップS2108)。
第二計算部2108は、入力された乱数r2及び第二出力情報z2を用いてz2ν-r2を計算してその計算結果をvとする。計算結果vは、第二べき乗計算部1109に送られる。ここで、v=z2ν-r2=f(x)ax2となる。すなわち、z2ν-r2は、f(x)について誤差X2を持つ乱数化可能標本器の出力となる。その理由については後述する(ステップS2108)。
≪z1ν-r1,z2ν-r2がf(x)についてそれぞれ誤差X1,X2を持つ乱数化可能標本器の出力となる理由について≫
cを自然数、R及びR’を乱数として、能力提供装置22がμh Rxcを用いて行う計算の計算結果をB(μh Rxc)とする。すなわち、第一出力情報計算部2201や第二出力情報計算部2202が計算装置21に返す計算結果をz=B(μh Rxc)とする。さらに、群Gに値を持つ確率変数XをX=B(μh R’)f(μh R’)-1と定義する。
cを自然数、R及びR’を乱数として、能力提供装置22がμh Rxcを用いて行う計算の計算結果をB(μh Rxc)とする。すなわち、第一出力情報計算部2201や第二出力情報計算部2202が計算装置21に返す計算結果をz=B(μh Rxc)とする。さらに、群Gに値を持つ確率変数XをX=B(μh R’)f(μh R’)-1と定義する。
このとき、zν-R=B(μh Rxc)f(μh)-R=Xf(μh Rxc)f(μh)-R=Xf(μh)Rf(x)cf(μh)-R=f(x)cXとなる。すなわち、zν-Rは、f(x)について誤差Xを持つ乱数化可能標本器の出力となる。
上記式展開において、X=B(μh R’)f(μh R’)-1=B(μh Rxc)f(μh Rxc)-1であり、B(μh Rxc)=Xf(μh Rxc)であるという性質を用いている。この性質は、関数f(x)が準同型関数であり、R及びR’が乱数であることに基づく。
したがって、a,bが自然数、r1,r2が乱数であることを考慮すると、同様に、z1ν-r1,z2ν-r2がf(x)についてそれぞれ誤差X1,X2を持つ乱数化可能標本器の出力となるのである。
[第三実施形態]
第三実施形態は第二実施形態の変形例であり、a=1やb=1のときに前述した標本器によってu又はvの値を計算する。一般に乱数化可能標本器よりも標本器の計算量は小さい。a=1やb=1のときに乱数化可能標本器に代わり、標本器が計算を行うことで、代理計算システムの計算量を小さくすることができる。以下、第一実施形態及び第二実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。
第三実施形態は第二実施形態の変形例であり、a=1やb=1のときに前述した標本器によってu又はvの値を計算する。一般に乱数化可能標本器よりも標本器の計算量は小さい。a=1やb=1のときに乱数化可能標本器に代わり、標本器が計算を行うことで、代理計算システムの計算量を小さくすることができる。以下、第一実施形態及び第二実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。
<構成>
図1に例示するように、第三実施形態の代理計算システム3は、計算装置21が計算装置31に置換され、能力提供装置22が能力提供装置32に置換されたものである。
図1に例示するように、第三実施形態の代理計算システム3は、計算装置21が計算装置31に置換され、能力提供装置22が能力提供装置32に置換されたものである。
図2に例示するように、第三実施形態の計算装置31は、例えば、自然数記憶部1101と自然数選択部1102と整数計算部1103と入力情報提供部3104と第一計算部2105と第一べき乗計算部1106と第一リスト記憶部1107と第二計算部2108と第二べき乗計算部1109と第二リスト記憶部1110と判定部1111と最終出力部1112と制御部1113と第三計算部3109とを有する。
図3に例示するように、第三実施形態の能力提供装置32は、例えば、第一出力情報計算部2201と第二出力情報計算部2202と鍵記憶部1204と制御部1205と第三出力情報計算部3203とを有する。
<処理>
次に本形態の処理を説明する。第二実施形態との相違点を説明する。
図6及び図7に例示するように、第三実施形態の処理は第二実施形態のステップS2103〜S2105,S2108,S2200〜S2203が、それぞれ、ステップS3103〜S3105,S3108,S3200〜S3203及びS3205〜S3209に置換されたものである。以下ではステップS3103〜S3105,S3108,S3200〜S3203及びS3205〜S3209の処理を中心に説明する。
次に本形態の処理を説明する。第二実施形態との相違点を説明する。
図6及び図7に例示するように、第三実施形態の処理は第二実施形態のステップS2103〜S2105,S2108,S2200〜S2203が、それぞれ、ステップS3103〜S3105,S3108,S3200〜S3203及びS3205〜S3209に置換されたものである。以下ではステップS3103〜S3105,S3108,S3200〜S3203及びS3205〜S3209の処理を中心に説明する。
《ステップS3103の処理》
計算装置31(図2)の入力情報提供部3104は、入力された暗号文xにそれぞれ対応する群Hの元である第一入力情報τ1及び第二入力情報τ2を生成して出力する(図6/ステップS3103)。
計算装置31(図2)の入力情報提供部3104は、入力された暗号文xにそれぞれ対応する群Hの元である第一入力情報τ1及び第二入力情報τ2を生成して出力する(図6/ステップS3103)。
以下、図8を用いて本形態のステップS3103の処理を説明する。
制御部1113(図2)は、自然数選択部1102で選択された自然数(a,b)に応じて入力情報提供部3104を制御する。
制御部1113(図2)は、自然数選択部1102で選択された自然数(a,b)に応じて入力情報提供部3104を制御する。
制御部1113でbが1であるかが判定され(ステップS3103a)、b≠1であると判定された場合、前述のステップS2103a及びS2103bの処理が実行され、ステップS3103gに進む。
一方、ステップS3103aでb=1であると判定された場合、第三乱数生成部3104eが、0以上KH未満の自然数の乱数r3を生成する。生成された乱数r3は第三入力情報計算部3104f及び第三計算部3109に送られる(ステップS3103b)。第三入力情報計算部3104fは、入力された乱数r3と暗号文xとを用いてxr3を計算し、これを第一入力情報τ1とする(ステップS3103c)。その後、ステップS3103gに進む。
一方、ステップS3103aでb=1であると判定された場合、第三乱数生成部3104eが、0以上KH未満の自然数の乱数r3を生成する。生成された乱数r3は第三入力情報計算部3104f及び第三計算部3109に送られる(ステップS3103b)。第三入力情報計算部3104fは、入力された乱数r3と暗号文xとを用いてxr3を計算し、これを第一入力情報τ1とする(ステップS3103c)。その後、ステップS3103gに進む。
ステップS3103gでは、制御部1113でaが1であるかが判定され(ステップS3103g)、a≠1であると判定された場合、前述のステップS2103c及びステップS2103dの処理が実行される。
一方、ステップS3103gでa=1であると判定された場合、第三乱数生成部3104eが、0以上KH未満の自然数の乱数r3を生成する。生成された乱数r3は第三入力情報計算部3104fに送られる(ステップS3103h)。第三入力情報計算部3104fは、入力された乱数r3と暗号文xとを用いてxr3を計算し、これを第二入力情報τ2とする(ステップS3103i)。
一方、ステップS3103gでa=1であると判定された場合、第三乱数生成部3104eが、0以上KH未満の自然数の乱数r3を生成する。生成された乱数r3は第三入力情報計算部3104fに送られる(ステップS3103h)。第三入力情報計算部3104fは、入力された乱数r3と暗号文xとを用いてxr3を計算し、これを第二入力情報τ2とする(ステップS3103i)。
第一入力情報計算部2104b、第二入力情報計算部2104d、第三入力情報計算部3104fは、以上のように生成した第一入力情報τ1及び第二入力情報τ2を対応する自然数(a,b)の情報とともに出力する(ステップS3103e)。なお、本形態の第一入力情報τ1及び第二入力情報τ2は、それぞれ、乱数r1,r2,r3によって暗号文xとの関係をかく乱させた情報である。これにより、計算装置31は、暗号文xを能力提供装置32に対して隠蔽できる。
《S3200〜S3203及びS3205〜S3209の処理》
以下、図7を用いて本形態のS3200〜S3203及びS3205〜S3209の処理を説明する。
制御部1205(図3)は、入力された自然数(a,b)に応じ、第一出力情報計算部2201、第二出力情報計算部2202、及び第三出力情報計算部3203を制御する。
制御部1205の制御に基づき、b≠1の場合の第一入力情報τ1=μh r1xbは能力提供装置32(図3)の第一出力情報計算部2201に入力され、a≠1の場合の第二入力情報τ2=μh r2xaは第二出力情報計算部2202に入力される。b=1の場合の第一入力情報τ1=xr3やa=1の場合の第二入力情報τ2=xr3は第三出力情報計算部3203に入力される(ステップS3200)。
以下、図7を用いて本形態のS3200〜S3203及びS3205〜S3209の処理を説明する。
制御部1205(図3)は、入力された自然数(a,b)に応じ、第一出力情報計算部2201、第二出力情報計算部2202、及び第三出力情報計算部3203を制御する。
制御部1205の制御に基づき、b≠1の場合の第一入力情報τ1=μh r1xbは能力提供装置32(図3)の第一出力情報計算部2201に入力され、a≠1の場合の第二入力情報τ2=μh r2xaは第二出力情報計算部2202に入力される。b=1の場合の第一入力情報τ1=xr3やa=1の場合の第二入力情報τ2=xr3は第三出力情報計算部3203に入力される(ステップS3200)。
制御部1113でbが1であるかが判定され(ステップS3205)、b≠1であると判定された場合、前述のステップS2201の処理が実行される。その後、制御部1113でaが1であるかが判定され(ステップS3208)、a≠1であると判定された場合、前述したステップS2202の処理が実行されてステップS3203に進む。
一方、ステップS3208でa=1であると判定された場合、第三出力情報計算部3203は、第二入力情報τ2=xr3を用い、或る確率より大きな確率でf(xr3)を正しく計算し、得られた計算結果を第三出力情報z3とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第三出力情報計算部3203での計算結果がf(xr3)となる場合もあれば、f(xr3)とならない場合もある(ステップS3209)。その後、ステップS3203に進む。
ステップS3205でb=1であると判定された場合、第三出力情報計算部3203は、第一入力情報τ1=xr3を用い、或る確率より大きな確率でf(xr3)を正しく計算し、得られた計算結果を第三出力情報z3とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第三出力情報計算部3203での計算結果がf(xr3)となる場合もあれば、f(xr3)とならない場合もある(ステップS3206)。
その後、制御部1113でaが1であるかが判定され(ステップS3207)、a=1であると判定された場合にはステップS3203に進み、a≠1であると判定された場合にはステップS2202に進む。
ステップS3203では、第一出力情報z1を生成した第一出力情報計算部2201は第一出力情報z1を出力し、第二出力情報z2を生成した第二出力情報計算部2202は第二出力情報z2を出力し、第三出力情報z3を生成した第三出力情報計算部3202は第三出力情報z3を出力する(ステップS3203)。
《ステップS3104及びS3105の処理》
図6に戻り、制御部1113の制御のもと、第一出力情報z1は計算装置31(図2)の第一計算部2105に入力され、第二出力情報z2は第二計算部2108に入力され、第三出力情報z3は第三計算部3109に入力される(ステップS3104)。
図6に戻り、制御部1113の制御のもと、第一出力情報z1は計算装置31(図2)の第一計算部2105に入力され、第二出力情報z2は第二計算部2108に入力され、第三出力情報z3は第三計算部3109に入力される(ステップS3104)。
b≠1であれば、第一計算部2105が、前述のステップS2105の処理によってuを生成し、b=1であれば、第三計算部3109が、z3 1/r3を計算してその計算結果をuとする。計算結果uは第一べき乗計算部1106に送られる。ここで、b=1の場合、u=z3 1/r3=f(x)x3となる。すなわち、z3 1/r3は、f(x)について誤差X3を持つ標本器となる。その理由については後述する(ステップS3105)。
《ステップS3108の処理》
a≠1であれば、第二計算部2108が、前述のステップS2108の処理によってvを生成し、a=1であれば、第三計算部3109が、z3 1/r3を計算してその計算結果をvとする。計算結果vは第二べき乗計算部1109に送られる。ここで、a=1の場合、v=z3 1/r3=f(x)x3となる。すなわち、z3 1/r3は、f(x)について誤差X3を持つ標本器となる。その理由については後述する(ステップS3108)。
a≠1であれば、第二計算部2108が、前述のステップS2108の処理によってvを生成し、a=1であれば、第三計算部3109が、z3 1/r3を計算してその計算結果をvとする。計算結果vは第二べき乗計算部1109に送られる。ここで、a=1の場合、v=z3 1/r3=f(x)x3となる。すなわち、z3 1/r3は、f(x)について誤差X3を持つ標本器となる。その理由については後述する(ステップS3108)。
なお、z3 1/r3の計算、すなわちz3のべき乗根の計算が困難な場合には、次のようにしてu及び/又はvを計算してもよい。第三計算部3109は、乱数r3とその乱数r3に基づいて計算されたz3の組を順次(α1,β1),(α2,β2),…,(αm,βm),…として図示していない記憶部に記憶する。mは自然数である。第三計算部3109は、α1,α2,…,αmの最小公倍数が1になれば、γ1,γ2,…,γmを整数としてγ1α1+γ2α2+…+γmαm=1となるγ1,γ2,…,γmを計算して、そのγ1,γ2,…,γmを用いてΠi=1 mβi γi=β1 γ1β2 γ2…βm γmを計算して、その計算結果をu及び/又はvとしてもよい。
≪z3 1/r3がf(x)について誤差X3を持つ標本器となる理由について≫
Rを乱数として、能力提供装置32がxRを用いて行う計算の計算結果をB(xR)とする。すなわち、第一出力情報計算部2201や第二出力情報計算部2202や第三出力情報計算部3203が計算装置31に返す計算結果をz=B(xR)とする。さらに、群Gに値を持つ確率変数XをX=B(xR)1/Rf(x)-1と定義する。
Rを乱数として、能力提供装置32がxRを用いて行う計算の計算結果をB(xR)とする。すなわち、第一出力情報計算部2201や第二出力情報計算部2202や第三出力情報計算部3203が計算装置31に返す計算結果をz=B(xR)とする。さらに、群Gに値を持つ確率変数XをX=B(xR)1/Rf(x)-1と定義する。
このとき、z1/R=B(xR)1/R=Xf(x)=f(x)Xとなる。すなわち、z1/Rは、f(x)について誤差Xを持つ標本器となる。
上記式展開において、X=B(xR)1/Rf(xR)-1であり、B(xR)1/R=Xf(xR)であるという性質を用いている。この性質は、Rが乱数であることに基づく。
したがって、r3が乱数であることを考慮すると、同様に、z1/Rがf(x)について誤差X3を持つ標本器となるのである。
上記式展開において、X=B(xR)1/Rf(xR)-1であり、B(xR)1/R=Xf(xR)であるという性質を用いている。この性質は、Rが乱数であることに基づく。
したがって、r3が乱数であることを考慮すると、同様に、z1/Rがf(x)について誤差X3を持つ標本器となるのである。
[第四実施形態]
第四実施形態の代理計算システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した他の例である。具体的には、H=G×G、復号関数f(x)がElGamal暗号の復号関数、すなわち復号鍵s及び暗号文x=(c1,c2)に対してf(c1,c2)=c1c2 -sである場合の第一乱数化可能標本器及び第二乱数化可能標本器の例を具体化したものである。以下、第一実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。
第四実施形態の代理計算システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した他の例である。具体的には、H=G×G、復号関数f(x)がElGamal暗号の復号関数、すなわち復号鍵s及び暗号文x=(c1,c2)に対してf(c1,c2)=c1c2 -sである場合の第一乱数化可能標本器及び第二乱数化可能標本器の例を具体化したものである。以下、第一実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。
図1に例示するように、第四実施形態の代理計算システム4は、計算装置11が計算装置41に置換され、能力提供装置12が能力提供装置42に置換されたものである。
図2に例示するように、第四実施形態の計算装置41は、例えば、自然数記憶部1101と自然数選択部1102と整数計算部1103と入力情報提供部4104と第一計算部4105と第一べき乗計算部1106と第一リスト記憶部1107と第二計算部4108と第二べき乗計算部1109と第二リスト記憶部1110と判定部1111と最終出力部1112と制御部1113とを有する。図5に例示するように、本形態の入力情報提供部4104は、例えば、第四乱数生成部4104aと第五乱数生成部4104bと第一入力情報計算部4104cと第六乱数生成部4104dと第七乱数生成部4104eと第二入力情報計算部4104fとを有する。第一入力情報計算部4104cは、例えば、第四入力情報計算部4104caと第五入力情報計算部4104cbとを有し、第二入力情報計算部4104fは、第六入力情報計算部4104faと第七入力情報計算部4104fbとを有する。
図2に例示するように、第四実施形態の計算装置41は、例えば、自然数記憶部1101と自然数選択部1102と整数計算部1103と入力情報提供部4104と第一計算部4105と第一べき乗計算部1106と第一リスト記憶部1107と第二計算部4108と第二べき乗計算部1109と第二リスト記憶部1110と判定部1111と最終出力部1112と制御部1113とを有する。図5に例示するように、本形態の入力情報提供部4104は、例えば、第四乱数生成部4104aと第五乱数生成部4104bと第一入力情報計算部4104cと第六乱数生成部4104dと第七乱数生成部4104eと第二入力情報計算部4104fとを有する。第一入力情報計算部4104cは、例えば、第四入力情報計算部4104caと第五入力情報計算部4104cbとを有し、第二入力情報計算部4104fは、第六入力情報計算部4104faと第七入力情報計算部4104fbとを有する。
図3に例示するように、第四実施形態の能力提供装置42は、例えば、第一出力情報計算部4201と第二出力情報計算部4202と鍵記憶部1204と制御部1205とを有する。
<処理>
次に本形態の処理を説明する。第四実施形態では、群Hが群Gの直積群G×G、群Gが巡回群、暗号文x=(c1,c2)∈Hであり、f(c1,c2)が準同型関数であり、群Gの生成元をμgとし、群Gの位数をKGとし、同じ復号鍵sに対する暗号文(V,W)∈Hとその暗号文を復号した復号文f(V,W)=Y∈Gとの組が計算装置41及び能力提供装置42に事前設定され、計算装置41及び能力提供装置42がこの組を利用可能とされているものとする。
次に本形態の処理を説明する。第四実施形態では、群Hが群Gの直積群G×G、群Gが巡回群、暗号文x=(c1,c2)∈Hであり、f(c1,c2)が準同型関数であり、群Gの生成元をμgとし、群Gの位数をKGとし、同じ復号鍵sに対する暗号文(V,W)∈Hとその暗号文を復号した復号文f(V,W)=Y∈Gとの組が計算装置41及び能力提供装置42に事前設定され、計算装置41及び能力提供装置42がこの組を利用可能とされているものとする。
図6及び図7に例示するように、第四実施形態の処理は第一実施形態のステップS1103〜S1105,S1108,S1200〜S1203が、それぞれ、ステップS4103〜S4105,S4108,S4200〜S4203に置換されたものである。以下ではステップS4103〜S4105,S4108,S4200〜S4203の処理のみを説明する。
《ステップS4103の処理》
計算装置41(図2)の入力情報提供部4104は、入力された暗号文x=(c1,c2)に対応する、群Hの元である第一入力情報τ1及び暗号文x=(c1,c2)に対応する群Hの元である第二入力情報τ2を生成して出力する(図6/ステップS4103)。以下、図9を用いて本形態のステップS4103の処理を説明する。
計算装置41(図2)の入力情報提供部4104は、入力された暗号文x=(c1,c2)に対応する、群Hの元である第一入力情報τ1及び暗号文x=(c1,c2)に対応する群Hの元である第二入力情報τ2を生成して出力する(図6/ステップS4103)。以下、図9を用いて本形態のステップS4103の処理を説明する。
第四乱数生成部4104a(図5)は、0以上KG未満の自然数の一様乱数r4を生成する。生成された乱数r4は、第四入力情報計算部4104ca、第五入力情報計算部4104cb、及び第一計算部4105に送られる(ステップS4103a)。第五乱数生成部4104bは、0以上KG未満の自然数の一様乱数r5を生成する。生成された乱数r5は、第五入力情報計算部4104cb、及び第一計算部4105に送られる(ステップS4103b)。
第四入力情報計算部4104caは、自然数選択部1102で選択された自然数b、暗号文xが含むc2、及び乱数r4を用い、第四入力情報c2 bWr4を計算する(ステップS4103c)。第五入力情報計算部4104cbは、自然数選択部1102で選択された自然数b、暗号文xが含むc1、及び乱数r4,r5を用い、第五入力情報c1 bVr4μg r5を計算する(ステップS4103d)。
第六乱数生成部4104dは、0以上KG未満の自然数の一様乱数r6を生成する。生成された乱数r6は、第六入力情報計算部4104fa、第七入力情報計算部4104fb、及び第二計算部4108に送られる(ステップS4103e)。第七乱数生成部4104eは、0以上KG未満の自然数の一様乱数r7を生成する。生成された乱数r7は、第六入力情報計算部4104fa、及び第二計算部4108に送られる(ステップS4103f)。
第六入力情報計算部4104faは、自然数選択部1102で選択された自然数a、暗号文xが含むc2、及び乱数r6を用い、第六入力情報c2 aWr6を計算する(ステップS4103g)。第七入力情報計算部4104fbは、自然数選択部1102で選択された自然数a、暗号文xが含むc1、及び乱数r7を用い、第七入力情報c1 aVr6μg r7を計算する(ステップS4103h)。
第六入力情報計算部4104faは、自然数選択部1102で選択された自然数a、暗号文xが含むc2、及び乱数r6を用い、第六入力情報c2 aWr6を計算する(ステップS4103g)。第七入力情報計算部4104fbは、自然数選択部1102で選択された自然数a、暗号文xが含むc1、及び乱数r7を用い、第七入力情報c1 aVr6μg r7を計算する(ステップS4103h)。
第一入力情報計算部4104cは、以上のように生成した第四入力情報c2 bWr4及び第五入力情報c1 bVr4μg r5を第一入力情報τ1=(c2 bWr4,c1 bVr4μg r5)として出力する。第二入力情報計算部4104fは、以上のように生成した第六入力情報c2 aWr6及び第七入力情報c1 aVr6μg r7を第二入力情報τ2=(c2 aWr6,c1 aVr6μg r7)として出力する(ステップS4103i)。
《ステップS4200〜S4203の処理》
図7に例示するように、まず、第一入力情報τ1=(c2 bWr4,c1 bVr4μg r5)が能力提供装置42(図3)の第一出力情報計算部4201に入力され、第二入力情報τ2=(c2 aWr6,c1 aVr6μg r7)が第二出力情報計算部4202に入力される(ステップS4200)。
第一出力情報計算部4201は、第一入力情報τ1=(c2 bWr4,c1 bVr4μg r5)と鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(c1 bVr4μg r5,c2 bWr4)を正しく計算し、計算結果を第一出力情報z1とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第一出力情報計算部4201での計算結果がf(c1 bVr4μg r5,c2 bWr4)となる場合もあれば、f(c1 bVr4μg r5,c2 bWr4)とならない場合もある(ステップS4201)。
図7に例示するように、まず、第一入力情報τ1=(c2 bWr4,c1 bVr4μg r5)が能力提供装置42(図3)の第一出力情報計算部4201に入力され、第二入力情報τ2=(c2 aWr6,c1 aVr6μg r7)が第二出力情報計算部4202に入力される(ステップS4200)。
第一出力情報計算部4201は、第一入力情報τ1=(c2 bWr4,c1 bVr4μg r5)と鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(c1 bVr4μg r5,c2 bWr4)を正しく計算し、計算結果を第一出力情報z1とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第一出力情報計算部4201での計算結果がf(c1 bVr4μg r5,c2 bWr4)となる場合もあれば、f(c1 bVr4μg r5,c2 bWr4)とならない場合もある(ステップS4201)。
第二出力情報計算部4202は、第二入力情報τ2=(c2 aWr6,c1 aVr6μg r7)と鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(c1 aVr6μg r7,c2 aWr6)を正しく計算可能であり、得られた計算結果を第二出力情報z2とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第二出力情報計算部4202での計算結果がf(c1 aVr6μg r7,c2 aWr6)となる場合もあれば、f(c1 aVr6μg r7,c2 aWr6)とならない場合もある(ステップS4202)。第一出力情報計算部4201は第一出力情報z1を出力し、第二出力情報計算部4202は第二出力情報z2を出力する(ステップS4203)。
《ステップS4104及びS4105の処理》
図6に戻り、第一出力情報z1は計算装置41(図2)の第一計算部4105に入力され、第二出力情報z2は第二計算部4108に入力される(ステップS4104)。
第一計算部4105は、入力された第一出力情報z1及び乱数r4,r5を用い、z1Y-r4μg -r5を計算してその計算結果をuとする(ステップS4105)。計算結果uは、第一べき乗計算部1106に送られる。ここで、u=z1Y-r4μg -r5=f(c1,c2)bx1となる。すなわち、z1Y-r4μg -r5は、f(c1,c2)について誤差X1を持つ乱数化可能標本器の出力となる。その理由については後述する。
図6に戻り、第一出力情報z1は計算装置41(図2)の第一計算部4105に入力され、第二出力情報z2は第二計算部4108に入力される(ステップS4104)。
第一計算部4105は、入力された第一出力情報z1及び乱数r4,r5を用い、z1Y-r4μg -r5を計算してその計算結果をuとする(ステップS4105)。計算結果uは、第一べき乗計算部1106に送られる。ここで、u=z1Y-r4μg -r5=f(c1,c2)bx1となる。すなわち、z1Y-r4μg -r5は、f(c1,c2)について誤差X1を持つ乱数化可能標本器の出力となる。その理由については後述する。
《ステップS4108の処理》
第二計算部4108は、入力された第二出力情報z2及び乱数r6,r7を用い、z2Y-r6μg -r7を計算してその計算結果をvとする。計算結果vは、第二べき乗計算部1109に送られる。ここで、v=z2Y-r6μg -r7=f(c1,c2)ax2となる。すなわち、z2Y-r6μg -r7は、f(c1,c2)について誤差X2を持つ乱数化可能標本器の出力となる。その理由については後述する。
第二計算部4108は、入力された第二出力情報z2及び乱数r6,r7を用い、z2Y-r6μg -r7を計算してその計算結果をvとする。計算結果vは、第二べき乗計算部1109に送られる。ここで、v=z2Y-r6μg -r7=f(c1,c2)ax2となる。すなわち、z2Y-r6μg -r7は、f(c1,c2)について誤差X2を持つ乱数化可能標本器の出力となる。その理由については後述する。
≪z1Y-r4μg -r5,z2Y-r6μg -r7がf(c1,c2)についてそれぞれ誤差X1,X2を持つ乱数化可能標本器の出力となる理由について≫
cを自然数、R1、R2、R1’及びR2’を乱数として、能力提供装置42がc1 cVR1μg R2及びc2 cWR1を用いて行う計算の計算結果をB(c1 cVR1μg R2,c2 cWR1)とする。すなわち、第一出力情報計算部4201や第二出力情報計算部4202が計算装置41に返す計算結果をz=B(c1 cVR1μg R2,c2 cWR1)とする。さらに、群Gに値を持つ確率変数XをX=B(VR1’μg R2’,WR1’)f(VR1’μg R2’,WR1’)-1と定義する。
cを自然数、R1、R2、R1’及びR2’を乱数として、能力提供装置42がc1 cVR1μg R2及びc2 cWR1を用いて行う計算の計算結果をB(c1 cVR1μg R2,c2 cWR1)とする。すなわち、第一出力情報計算部4201や第二出力情報計算部4202が計算装置41に返す計算結果をz=B(c1 cVR1μg R2,c2 cWR1)とする。さらに、群Gに値を持つ確率変数XをX=B(VR1’μg R2’,WR1’)f(VR1’μg R2’,WR1’)-1と定義する。
このとき、zY-R1μg -R2=B(c1 cVR1μg R2,c2 cWR1)Y-R1μg -R2=Xf(c1 cVR1μg R2,c2 cWR1)Y-R1μg -R2=Xf(c1,c2)cf(V,W)R1f(μg,eg)R2Y-R1μg -R2=Xf(c1,c2)cYR1μg R2Y-R1μg -R2=f(c1,c2)cXとなる。すなわち、zY-R1μg -R2は、f(x)について誤差Xを持つ乱数化可能標本器の出力となる。なお、egは、群Gの単位元である。
上記式展開において、X=B(VR1’μg R2’,WR1’)f(VR1’μg R2’,WR1’)-1=B(c1 cVR1μg R2,c2 cWR1)f(c1 cVR1μg R2,c2 cWR1)であり、B(c1 cVR1μg R2,c2 cWR1)=Xf(c1 cVR1μg R2,c2 cWR1)であるという性質を用いている。この性質は、R1、R2、R1’及びR2’が乱数であることに基づく。
したがって、a,bが自然数、r4,r5,r6及びr7が乱数であることを考慮すると、同様に、z1Y-r4μg -r5,z2Y-r6μg -r7がf(c1,c2)についてそれぞれ誤差X1,X2を持つ乱数化可能標本器の出力となるのである。
[第五実施形態]
上述の各実施形態では、計算装置の自然数記憶部1101に、互いに素である2つの自然数a,bの組(a,b)が複数種類記憶され、これらの組(a,b)を用いて各処理が実行されることとした。しかしながら、a,bの一方が定数であってもよい。例えば、aが1に固定されていてもよいし、bが1に固定されていてもよい。言い換えると、第一乱数化可能標本器又は第二乱数化可能標本器の一方が標本器に置換されていてもよい。a,bの一方が定数である場合、定数とされたa又はbを選択する処理が不要となり、各処理部は定数とされたa又はbが入力されることなく、それを定数として扱って計算を行うことができる。定数とされたa又はbが1である場合には、a’やb’を用いることなく、f(x)=ub’va’をf(x)=v又はf(x)=uとして得ることができる。
上述の各実施形態では、計算装置の自然数記憶部1101に、互いに素である2つの自然数a,bの組(a,b)が複数種類記憶され、これらの組(a,b)を用いて各処理が実行されることとした。しかしながら、a,bの一方が定数であってもよい。例えば、aが1に固定されていてもよいし、bが1に固定されていてもよい。言い換えると、第一乱数化可能標本器又は第二乱数化可能標本器の一方が標本器に置換されていてもよい。a,bの一方が定数である場合、定数とされたa又はbを選択する処理が不要となり、各処理部は定数とされたa又はbが入力されることなく、それを定数として扱って計算を行うことができる。定数とされたa又はbが1である場合には、a’やb’を用いることなく、f(x)=ub’va’をf(x)=v又はf(x)=uとして得ることができる。
第五実施形態は、そのような変形の一例であり、bが1に固定され、第二乱数化可能標本器が標本器に置換された形態である。以下では、第一実施形態との相違点を中心に説明する。第一乱数化可能標本器や標本器の具体例は、第二実施形態から第四実施形態で説明したのと同様であるため、説明を省略する。
<構成>
図1に例示するように、第五実施形態の代理計算システム5は、第一実施形態の計算装置11が計算装置51に置換され、能力提供装置12が能力提供装置52に置換されたものである。
図1に例示するように、第五実施形態の代理計算システム5は、第一実施形態の計算装置11が計算装置51に置換され、能力提供装置12が能力提供装置52に置換されたものである。
図10に例示するように、第五実施形態の計算装置51は、例えば、自然数記憶部5101と自然数選択部5102と入力情報提供部5104と第一計算部5105と第一べき乗計算部1106と第一リスト記憶部1107と第二計算部5108と第二リスト記憶部5110と判定部5111と最終出力部1112と制御部1113とを有する。
図3に例示するように、第五実施形態の能力提供装置52は、例えば、第一出力情報計算部5201と第二出力情報計算部5202と鍵記憶部1204と制御部1205とを有する。
<処理>
次に本形態の処理を説明する。処理の前提として、G,Hを群(例えば、可換群)、f(x)を群Hの元である暗号文xを特定の復号鍵sで復号して群Gの元を得るための復号関数、群G,Hの生成元をそれぞれμg,μh、X1,X2を群Gに値を持つ確率変数、確率変数X1の実現値をx1、確率変数X2の実現値をx2とする。計算装置51の自然数記憶部5101には、自然数aが複数種類記憶されているものとする。
次に本形態の処理を説明する。処理の前提として、G,Hを群(例えば、可換群)、f(x)を群Hの元である暗号文xを特定の復号鍵sで復号して群Gの元を得るための復号関数、群G,Hの生成元をそれぞれμg,μh、X1,X2を群Gに値を持つ確率変数、確率変数X1の実現値をx1、確率変数X2の実現値をx2とする。計算装置51の自然数記憶部5101には、自然数aが複数種類記憶されているものとする。
図11に例示するように、まず、計算装置51(図10)の自然数選択部5102が、自然数記憶部5101に記憶された複数の自然数aから1つの自然数aをランダムに読み込む。読み込まれた自然数aの情報は、入力情報提供部5104及び第一べき乗計算部1106に送られる(ステップS5100)。
制御部1113は、t=1とする(ステップS1102)。
入力情報提供部5104は、入力された暗号文xにそれぞれ対応する群Hの元である第一入力情報τ1及び第二入力情報τ2を生成して出力する。好ましくは、第一入力情報τ1及び第二入力情報τ2はそれぞれ暗号文xとの関係をかく乱させた情報である。これにより、計算装置51は、暗号文xを能力提供装置52に対して隠蔽できる。好ましくは、本形態の第二入力情報τ2は自然数選択部5102で選択された自然数aにさらに対応する。これにより、能力提供装置52から提供された復号能力を計算装置51が高い精度で評価することが可能となる(ステップS5103)。第一入力情報τ1及び第二入力情報τ2の組みの具体例は、第二実施形態から第四実施形態の何れかのb=1とした第一入力情報τ1及び第二入力情報τ2の組みである。
入力情報提供部5104は、入力された暗号文xにそれぞれ対応する群Hの元である第一入力情報τ1及び第二入力情報τ2を生成して出力する。好ましくは、第一入力情報τ1及び第二入力情報τ2はそれぞれ暗号文xとの関係をかく乱させた情報である。これにより、計算装置51は、暗号文xを能力提供装置52に対して隠蔽できる。好ましくは、本形態の第二入力情報τ2は自然数選択部5102で選択された自然数aにさらに対応する。これにより、能力提供装置52から提供された復号能力を計算装置51が高い精度で評価することが可能となる(ステップS5103)。第一入力情報τ1及び第二入力情報τ2の組みの具体例は、第二実施形態から第四実施形態の何れかのb=1とした第一入力情報τ1及び第二入力情報τ2の組みである。
図7に例示するように、第一入力情報τ1は能力提供装置52(図3)の第一出力情報計算部5201に入力され、第二入力情報τ2は第二出力情報計算部5202に入力される(ステップS5200)。
第一出力情報計算部5201は、第一入力情報τ1と鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(τ1)を正しく計算し、得られた計算結果を第一出力情報z1とする(ステップS5201)。第二出力情報計算部5202は、第二入力情報τ2と鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(τ2)を正しく計算し、得られた計算結果を第二出力情報z2とする(ステップS5202)。すなわち、第一出力情報計算部5201や第二出力情報計算部5202は、意図的又は意図的ではない誤差を含んだ計算結果を出力する。言い換えると、第一出力情報計算部5201での計算結果がf(τ1)の場合もあればf(τ1)でない場合もあり、第二出力情報計算部5202での計算結果がf(τ2)の場合もあればf(τ2)でない場合もある。第一出力情報z1及び第二出力情報z2の組の具体例は、第二実施形態から第四実施形態の何れかのb=1とした第一出力情報z1及び第二出力情報z2の組である。
第一出力情報計算部5201は、第一入力情報τ1と鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(τ1)を正しく計算し、得られた計算結果を第一出力情報z1とする(ステップS5201)。第二出力情報計算部5202は、第二入力情報τ2と鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(τ2)を正しく計算し、得られた計算結果を第二出力情報z2とする(ステップS5202)。すなわち、第一出力情報計算部5201や第二出力情報計算部5202は、意図的又は意図的ではない誤差を含んだ計算結果を出力する。言い換えると、第一出力情報計算部5201での計算結果がf(τ1)の場合もあればf(τ1)でない場合もあり、第二出力情報計算部5202での計算結果がf(τ2)の場合もあればf(τ2)でない場合もある。第一出力情報z1及び第二出力情報z2の組の具体例は、第二実施形態から第四実施形態の何れかのb=1とした第一出力情報z1及び第二出力情報z2の組である。
第一出力情報計算部5201は第一出力情報z1を出力し、第二出力情報計算部5202は第二出力情報z2を出力する(ステップS5203)。
図11に戻り、第一出力情報z1は計算装置51(図10)の第一計算部5105に入力され、第二出力情報z2は第二計算部5108に入力される。これらの第一出力情報z1及び第二出力情報z2が、能力提供装置52から計算装置51に与えられた復号能力に相当する(ステップS5104)。
図11に戻り、第一出力情報z1は計算装置51(図10)の第一計算部5105に入力され、第二出力情報z2は第二計算部5108に入力される。これらの第一出力情報z1及び第二出力情報z2が、能力提供装置52から計算装置51に与えられた復号能力に相当する(ステップS5104)。
第一計算部5105は、第一出力情報z1から計算結果u=f(x)x1を生成する。計算結果uの具体例は、第二実施形態から第四実施形態の何れかのb=1とした計算結果uである。計算結果uは第一べき乗計算部1106に送られる(ステップS5105)。
第一べき乗計算部1106はu’=uaを計算する。計算結果uとその計算結果に基づいて計算されたu’との組(u,u’)は、第一リスト記憶部1107に記憶される(ステップS1106)。
第二計算部5108は、第二出力情報z2から計算結果v=f(x)ax2を生成する。計算結果vの具体例は、第二実施形態から第四実施形態の何れかの計算結果vである。計算結果vは第二リスト記憶部5110に記憶される(ステップS5108)。
判定部5111は、第一リスト記憶部1107に記憶された組(u,u’)及び第二リスト記憶部5110に記憶されたvの中で、u’=vとなるものがあるか判定する(ステップS5110)。u’=vとなるものがあった場合には、ステップS5114に進む。u’=vとなるものがなかった場合には、ステップS1111に進む。
ステップS1111では、制御部1113がt=Tmaxであるか判定する(ステップS1111)。Tmaxは予め定められた自然数である。t=Tmaxであれば、制御部1113は、計算をすることができなかった旨の情報、例えば記号「⊥」を出力して(ステップS1113)、処理を終える。t=Tmaxでない場合には、制御部1113は、tを1だけインクリメント、すなわちt=t+1として(ステップS1112)、ステップS5103に戻る。
ステップS5114では、最終出力部1112が、u’=vであると判定されたu’に対応するuを出力する(ステップS5114)。このように得られたuは、第一実施形態から第四実施形態でb=1とした場合のub’va’に相当する。すなわち、このように得られたuは高い確率で暗号文xを特定の復号鍵sで復号した復号結果f(x)となる。よって、上述した処理を複数回繰り返し、ステップS5114で得られた値のうち最も頻度の高い値を復号結果とすればよい。後述するように、設定によっては圧倒的な確率でu=f(x)となる。その場合にはステップS5114で得られた値をそのまま復号結果としてよい。
≪復号結果f(x)が得られる理由について≫
次に、本形態の計算装置51で復号結果f(x)が得られる理由を説明する。まず、説明に必要な事項を定義する。
ブラックボックス(black-box):
f(τ)のブラックボックスF(τ)とは、τ∈Hを入力としてz∈Gを出力する処理部を意味する。本形態では、第一出力情報計算部5201及び第二出力情報計算部5202が、それぞれ復号関数f(τ)のブラックボックスF(τ)に相当する。群Hから任意に選択された元τ∈UH及びz=F(τ)に対してz=f(τ)を満たす確率がδ(0<δ≦1)よりも大きい場合、すなわち、
Pr[z=f(τ)|τ∈UH,z=F(τ)]>δ…(1)
を満たすf(τ)のブラックボックスF(τ)のことを、信頼性δ(δ-reliable)のf(τ)のブラックボックスF(τ)という。なお、δは正の値であり、前述した「或る確率」に相当する。
次に、本形態の計算装置51で復号結果f(x)が得られる理由を説明する。まず、説明に必要な事項を定義する。
ブラックボックス(black-box):
f(τ)のブラックボックスF(τ)とは、τ∈Hを入力としてz∈Gを出力する処理部を意味する。本形態では、第一出力情報計算部5201及び第二出力情報計算部5202が、それぞれ復号関数f(τ)のブラックボックスF(τ)に相当する。群Hから任意に選択された元τ∈UH及びz=F(τ)に対してz=f(τ)を満たす確率がδ(0<δ≦1)よりも大きい場合、すなわち、
Pr[z=f(τ)|τ∈UH,z=F(τ)]>δ…(1)
を満たすf(τ)のブラックボックスF(τ)のことを、信頼性δ(δ-reliable)のf(τ)のブラックボックスF(τ)という。なお、δは正の値であり、前述した「或る確率」に相当する。
自己訂正器(self-corrector):
自己訂正器CF(x)とは、x∈Hを入力とし、f(τ)のブラックボックスF(τ)を用いて計算を行い、j∈G∪⊥を出力する処理部を意味する。本形態では、計算装置51が自己訂正器CF(x)に相当する。
自己訂正器CF(x)とは、x∈Hを入力とし、f(τ)のブラックボックスF(τ)を用いて計算を行い、j∈G∪⊥を出力する処理部を意味する。本形態では、計算装置51が自己訂正器CF(x)に相当する。
オールモスト自己訂正器(almost self-corrector):
自己訂正器CF(x)が、x∈Hを入力とし、δ-reliableのf(τ)のブラックボックスF(τ)を用い、正しい値j=f(x)を出力する確率が、誤った値j≠f(x)を出力する確率よりも十分大きい場合を想定する。すなわち、
Pr[j=f(x)|j=CF(x),j≠⊥]
>Pr[j≠f(x)|j=CF(x),j≠⊥]+Δ…(2)
を満たす場合を想定する。なお、Δは或る正の値(0<Δ<1)である。このような場合、自己訂正器CF(x)はオールモスト自己訂正器であるという。例えば、或る正の値Δ’(0<Δ’<1)に対して
Pr[j=f(x)|j=CF(x)]>(1/3)+Δ’
Pr[j=⊥|j=CF(x)]<1/3
Pr[j≠f(x)かつj≠⊥|j=CF(x)]<1/3
を満たす場合、自己訂正器CF(x)はオールモスト自己訂正器である。Δ’の例はΔ’=1/12や1/3である。
自己訂正器CF(x)が、x∈Hを入力とし、δ-reliableのf(τ)のブラックボックスF(τ)を用い、正しい値j=f(x)を出力する確率が、誤った値j≠f(x)を出力する確率よりも十分大きい場合を想定する。すなわち、
Pr[j=f(x)|j=CF(x),j≠⊥]
>Pr[j≠f(x)|j=CF(x),j≠⊥]+Δ…(2)
を満たす場合を想定する。なお、Δは或る正の値(0<Δ<1)である。このような場合、自己訂正器CF(x)はオールモスト自己訂正器であるという。例えば、或る正の値Δ’(0<Δ’<1)に対して
Pr[j=f(x)|j=CF(x)]>(1/3)+Δ’
Pr[j=⊥|j=CF(x)]<1/3
Pr[j≠f(x)かつj≠⊥|j=CF(x)]<1/3
を満たす場合、自己訂正器CF(x)はオールモスト自己訂正器である。Δ’の例はΔ’=1/12や1/3である。
ローバスト自己訂正器(robust self-corrector):
自己訂正器CF(x)が、x∈Hを入力とし、δ-reliableのf(τ)のブラックボックスF(τ)を用い、正しい値j=f(x)又はj=⊥を出力する確率が圧倒的である場合を想定する。すなわち、無視することができる誤差ξ(0≦ξ<1)に対して
Pr[j=f(x)またはj=⊥|j=CF(x)]>1−ξ…(3)
を満たす場合を想定する。このような場合、自己訂正器CF(x)はローバスト自己訂正器であるという。なお、無視することができる誤差ξの例は、セキュリティパラメータkの関数値ξ(k)である。関数値ξ(k)の例は、任意の多項式p(k)について、十分大きいkに対して{ξ(k)p(k)}が0に収束するものである。関数値ξ(k)の具体例は、ξ(k)=2-kやξ(k)=2-√kなどである。
自己訂正器CF(x)が、x∈Hを入力とし、δ-reliableのf(τ)のブラックボックスF(τ)を用い、正しい値j=f(x)又はj=⊥を出力する確率が圧倒的である場合を想定する。すなわち、無視することができる誤差ξ(0≦ξ<1)に対して
Pr[j=f(x)またはj=⊥|j=CF(x)]>1−ξ…(3)
を満たす場合を想定する。このような場合、自己訂正器CF(x)はローバスト自己訂正器であるという。なお、無視することができる誤差ξの例は、セキュリティパラメータkの関数値ξ(k)である。関数値ξ(k)の例は、任意の多項式p(k)について、十分大きいkに対して{ξ(k)p(k)}が0に収束するものである。関数値ξ(k)の具体例は、ξ(k)=2-kやξ(k)=2-√kなどである。
オールモスト自己訂正器からローバスト自己訂正器を構成することができる。すなわち、同一のxに対してオールモスト自己訂正器を複数回実行させ、⊥を除いて最も頻度が高い出力値をjとすることで、ローバスト自己訂正器を構成できる。例えば、同一のxに対してオールモスト自己訂正器をO(log(1/ξ))回実行させ、最も頻度が高い出力値をjとすることで、ローバスト自己訂正器を構成できる。なお、O(・)はオー記法を表す。
擬似自由(pseudo-free)な作用:
群G、自然数の集合Ω={0,...,M}(Mは1以上の自然数)、群Gに値を持つ確率変数X1,X2の各実現値α∈X1(α≠eg),β∈X2、及びa∈Ωについて、αa=βとなる確率
Pr[αa=βかつα≠eg|a∈UΩ,α∈X1,β∈X2]…(4)
について、あらゆる可能なX1,X2に関する上限値を、組(G,Ω)の疑似自由指標とよび、これをP(G,Ω)と表すことにする。ある無視することができる関数ζ(k)が存在して、
P(G,Ω)<ζ(k)…(5)
である場合、組(G,Ω)によって定義される演算は擬似自由な作用であるという。なお、第5実施形態では群で定義された演算を乗法的に表現する。すなわちα∈Gに対する「αa」は、群Gで定義された演算をαに対してa回作用させることを意味する。無視することができる関数ζ(k)の例は、任意の多項式p(k)について、十分大きいkに対して{ζ(k)p(k)}が0に収束するものである。関数ζ(k)の具体例は、ζ(k)=2-kやζ(k)=2-√kなどである。例えば、セキュリティパラメータkに対し、式(4)の確率がO(2-k)未満である場合、組(G,Ω)によって定義される演算は擬似自由な作用である。例えば、任意のα∈Gでα≠egであるものについて、集合Ω・α={a(α)|a∈Ω}の要素数|Ω・α|が2kを超える場合、組(G,Ω)によって定義される演算は擬似自由な作用といえる。このような具体例は数多く存在する。例えば、群Gが素数pを法とする剰余群Z/pZであり、素数pが2kのオーダーであり、集合Ω={0,...,p−2}であり、a(α)がαa∈Z/pZであり、α≠egである場合、Ω・α={αa|a=0,...,p−2}={eg,α1,...,αp-2}となり、|Ω・α|=p−1である。素数pが2kのオーダーであるため、ある定数Cが存在して、kが十分大きければ|Ω・α|>C2kを満たす。ここで式(4)の確率はC-12-k未満であり、このような組(G,Ω)によって定義される演算は擬似自由な作用である。
群G、自然数の集合Ω={0,...,M}(Mは1以上の自然数)、群Gに値を持つ確率変数X1,X2の各実現値α∈X1(α≠eg),β∈X2、及びa∈Ωについて、αa=βとなる確率
Pr[αa=βかつα≠eg|a∈UΩ,α∈X1,β∈X2]…(4)
について、あらゆる可能なX1,X2に関する上限値を、組(G,Ω)の疑似自由指標とよび、これをP(G,Ω)と表すことにする。ある無視することができる関数ζ(k)が存在して、
P(G,Ω)<ζ(k)…(5)
である場合、組(G,Ω)によって定義される演算は擬似自由な作用であるという。なお、第5実施形態では群で定義された演算を乗法的に表現する。すなわちα∈Gに対する「αa」は、群Gで定義された演算をαに対してa回作用させることを意味する。無視することができる関数ζ(k)の例は、任意の多項式p(k)について、十分大きいkに対して{ζ(k)p(k)}が0に収束するものである。関数ζ(k)の具体例は、ζ(k)=2-kやζ(k)=2-√kなどである。例えば、セキュリティパラメータkに対し、式(4)の確率がO(2-k)未満である場合、組(G,Ω)によって定義される演算は擬似自由な作用である。例えば、任意のα∈Gでα≠egであるものについて、集合Ω・α={a(α)|a∈Ω}の要素数|Ω・α|が2kを超える場合、組(G,Ω)によって定義される演算は擬似自由な作用といえる。このような具体例は数多く存在する。例えば、群Gが素数pを法とする剰余群Z/pZであり、素数pが2kのオーダーであり、集合Ω={0,...,p−2}であり、a(α)がαa∈Z/pZであり、α≠egである場合、Ω・α={αa|a=0,...,p−2}={eg,α1,...,αp-2}となり、|Ω・α|=p−1である。素数pが2kのオーダーであるため、ある定数Cが存在して、kが十分大きければ|Ω・α|>C2kを満たす。ここで式(4)の確率はC-12-k未満であり、このような組(G,Ω)によって定義される演算は擬似自由な作用である。
信頼性δγ(δγ-reliable)の乱数化可能標本器:
自然数aが与えられるたびに、δ-reliableのf(τ)のブラックボックスF(τ)を用い、w∈Gについて、確率変数Xに従った標本x’に対応するwax’を返す乱数化可能標本器であって、wax’=waである確率がδγよりも大きい(γは正定数)、すなわち、
Pr[wax’=wa]>δγ…(6)
を満たすものを、信頼性δγの乱数化可能標本器という。本形態の入力情報提供部5104と第二出力情報計算部5202と第二計算部5108との組は、w=f(x)について、信頼性δγの乱数化可能標本器である。
自然数aが与えられるたびに、δ-reliableのf(τ)のブラックボックスF(τ)を用い、w∈Gについて、確率変数Xに従った標本x’に対応するwax’を返す乱数化可能標本器であって、wax’=waである確率がδγよりも大きい(γは正定数)、すなわち、
Pr[wax’=wa]>δγ…(6)
を満たすものを、信頼性δγの乱数化可能標本器という。本形態の入力情報提供部5104と第二出力情報計算部5202と第二計算部5108との組は、w=f(x)について、信頼性δγの乱数化可能標本器である。
次に、これらの定義を用い、本形態の計算装置51で復号結果f(x)が得られる理由を説明する。
本形態のステップS5110ではu’=vであるか、すなわち、ua=vであるかを判定している。本形態の入力情報提供部5104と第二出力情報計算部5202と第二計算部5108との組は信頼性δγの乱数化可能標本器であるため(式(6))、Tmaxをk、δ、γから定まる一定値よりも大きい値とすれば、漸近的に大きい確率でua=vが成立する(ステップS5110でyesとなる)場合が生じる。たとえば、Tmax≧4/δγとすれば、ua=vが成立する(ステップS5110でyesとなる)確率は1/2よりも大きいことがMarkovの不等式によってわかる。
本形態のステップS5110ではu’=vであるか、すなわち、ua=vであるかを判定している。本形態の入力情報提供部5104と第二出力情報計算部5202と第二計算部5108との組は信頼性δγの乱数化可能標本器であるため(式(6))、Tmaxをk、δ、γから定まる一定値よりも大きい値とすれば、漸近的に大きい確率でua=vが成立する(ステップS5110でyesとなる)場合が生じる。たとえば、Tmax≧4/δγとすれば、ua=vが成立する(ステップS5110でyesとなる)確率は1/2よりも大きいことがMarkovの不等式によってわかる。
本形態ではu=f(x)x1及びv=f(x)ax2なのであるから、ua=vが成立する場合にはx1 a=x2が成立する。x1 a=x2が成立する場合には、x1=x2=egである場合とx1≠egである場合とがある。x1=x2=egである場合には、u=f(x)となるのであるから、ステップS5114で出力されるuは正しい復号結果f(x)となる。一方、x1≠egである場合には、u≠f(x)となるのであるから、ステップS5114で出力されるuは正しい復号結果f(x)ではない。
群Gと自然数aが属する集合Ωとの組(G,Ω)によって定義される演算が擬似自由な作用であるか、疑似自由指標P(G,Ω)についてTmax 2P(G,Ω)が漸近的に小さい場合、ua=vの場合にx1≠egである確率(式(4))は漸近的に小さい。したがって、ua=vの場合にx1=egである確率は漸近的に大きい。よって、組(G,Ω)によって定義される演算が擬似自由な作用であるか、Tmax 2P(G,Ω)が漸近的に小さい場合、ua=vの場合に誤った復号結果f(x)が出力される確率は、ua=vの場合に正しい復号結果f(x)が出力される確率よりも十分小さい。この場合の計算装置51はオールモスト自己訂正器であるといえる(式(2)参照)。そのため、前述のように、計算装置51からローバスト自己訂正器を構成することが可能であり、圧倒的な確率で正しい復号結果f(x)を得ることができる。(G,Ω)で定義される演算が疑似自由な作用である場合には、ua=vの場合に誤った復号結果f(x)が出力される確率も無視できる。この場合の計算装置51は、圧倒的な確率で正しい復号結果f(x)または⊥を出力する。
なお、任意の定数ρに対してk0が定まり、このk0に対してk0<k’を満たす任意のk’に対する関数値η(k’)がρ未満となる場合「η(k’)が漸近的に小さい」という。k’の例はセキュリティパラメータkである。
任意の定数ρに対してk0が定まり、このk0に対してk0<k’を満たす任意のk’に対する関数値1−η(k’)がρ未満となる場合「η(k’)が漸近的に大きい」という。
任意の定数ρに対してk0が定まり、このk0に対してk0<k’を満たす任意のk’に対する関数値1−η(k’)がρ未満となる場合「η(k’)が漸近的に大きい」という。
《信頼性δγの乱数化可能標本器と安全性について》
以下のような攻撃を想定する。
・ブラックボックスF(τ)又はその部分が意図的に不正なzを出力する、又は、ブラックボックスF(τ)から出力された値が不正なzに改ざんされる。
・不正なzに対応するwax’が乱数化可能標本器から出力される。
・不正なzに対応するwax’は、自己訂正器CF(x)でua=vが成立する(ステップS5110でyesとなる)にもかかわらず、自己訂正器CF(x)が誤った値を出力する確率を増加させる。
以下のような攻撃を想定する。
・ブラックボックスF(τ)又はその部分が意図的に不正なzを出力する、又は、ブラックボックスF(τ)から出力された値が不正なzに改ざんされる。
・不正なzに対応するwax’が乱数化可能標本器から出力される。
・不正なzに対応するwax’は、自己訂正器CF(x)でua=vが成立する(ステップS5110でyesとなる)にもかかわらず、自己訂正器CF(x)が誤った値を出力する確率を増加させる。
このような攻撃は、与えられた自然数aに対して乱数化可能標本器から出力されたwax’の誤差の確率分布Da=wax’w-aが自然数aに依存する場合に可能となる。例えば、第二計算部5108から出力されるvがf(x)ax1 aとなるような不正が行われた場合、x1の値にかかわらず、必ずua=vが成立することになる。よって、乱数化可能標本器は、与えられた自然数aに対して乱数化可能標本器から出力されたwax’の誤差の確率分布Da=wax’w-aが当該自然数aに依存しないことが望ましい。
あるいは、集合Ωのいかなる元a∈∀Ωについても、wax’の誤差の確率分布Da=wax’w-aと区別することができない群Gに値を持つ確率分布Dが存在する(確率分布Daと確率分布Dとが統計的に近似する(statistically-close))乱数化可能標本器であることが望ましい。なお、確率分布Dは自然数aに依存しない。確率分布Daと確率分布Dとを区別することができないとは、多項式時間アルゴリズムによって確率分布Daと確率分布Dとを区別することができないことを意味し、例えば、無視することができるζ(0≦ζ<1)に対して
Σg∈G|Pr[g∈D]−Pr[g∈Da]|<ζ…(7)
を満たすならば、多項式時間アルゴリズムによって確率分布Daと確率分布Dとを区別することができない。無視することができるζの例は、セキュリティパラメータkの関数値ζ(k)である。関数値ζ(k)の例は、任意の多項式p(k)について、十分大きなkに対して{ζ(k)p(k)}が0に収束するものである。関数値ζ(k)の具体例は、ζ(k)=2-kやζ(k)=2-√kなどである。これらの点は自然数a及びbを使用する第一実施形態から第四実施形態についても同様である。
Σg∈G|Pr[g∈D]−Pr[g∈Da]|<ζ…(7)
を満たすならば、多項式時間アルゴリズムによって確率分布Daと確率分布Dとを区別することができない。無視することができるζの例は、セキュリティパラメータkの関数値ζ(k)である。関数値ζ(k)の例は、任意の多項式p(k)について、十分大きなkに対して{ζ(k)p(k)}が0に収束するものである。関数値ζ(k)の具体例は、ζ(k)=2-kやζ(k)=2-√kなどである。これらの点は自然数a及びbを使用する第一実施形態から第四実施形態についても同様である。
[第六実施形態]
本形態は、格子暗号の一種であるGHV暗号化方式(参考文献1「C. Genrty, S. Halevi and V. Vaikuntanathan, “A Simple BGNType Cryptosystem from LWE,”Advances in Cryptology - EUROCRYPT 2010, LNCS 6110, pp.506-522, Springer-Verlag, 2010.」等参照)の復号処理に本発明を適用する形態である。以下では上述の各実施形態との相違点を中心に説明を行う。
本形態は、格子暗号の一種であるGHV暗号化方式(参考文献1「C. Genrty, S. Halevi and V. Vaikuntanathan, “A Simple BGNType Cryptosystem from LWE,”Advances in Cryptology - EUROCRYPT 2010, LNCS 6110, pp.506-522, Springer-Verlag, 2010.」等参照)の復号処理に本発明を適用する形態である。以下では上述の各実施形態との相違点を中心に説明を行う。
<構成>
図1に例示するように、第六実施形態の代理計算システム6は、第一実施形態の計算装置11が計算装置61に置換され、能力提供装置12が能力提供装置62に置換されたものである。
図1に例示するように、第六実施形態の代理計算システム6は、第一実施形態の計算装置11が計算装置61に置換され、能力提供装置12が能力提供装置62に置換されたものである。
図12に例示するように、第六実施形態の計算装置61は、例えば、行列記憶部6101と行列選択部6102と入力情報提供部6104と第一計算部6105と行列積計算部6106と第一リスト記憶部6107と第二計算部6108と第二リスト記憶部6110と判定部6111と最終出力部6112と制御部1113とを有する。
図14に例示するように、本形態の入力情報提供部6104は、例えば、第一ランダム行列選択部6104aと第二ランダム行列選択部6104bと第一暗号化部6104cと第二暗号化部6104dと第一入力情報計算部6104eと第三ランダム行列選択部6104fと第四ランダム行列選択部6104gと第三暗号化部6104hと第四暗号化部6104iと第二入力情報計算部6104jとを有する。
図13に例示するように、第六実施形態の能力提供装置62は、例えば、第一出力情報計算部6201と第二出力情報計算部6202と鍵記憶部6204と制御部1205とを有する。
<処理>
次に本形態の処理を説明する。本形態では、GMをι×ι行列の集合、HMをι×ι行列の集合、MX1,MX2を集合GMに値を持つ確率変数、Mx1を確率変数MX1の実現値、Mx2を確率変数MX2の実現値、aMを集合HMの元とする。本形態では、PKを暗号化鍵(公開鍵)であるι×κ行列、SKをPK・SK=0を満たすι×ι行列である復号鍵(秘密鍵)、CMをκ×ι行列、NMをι×ι行列、UMをι×ι単位行列、PTを集合GMの元である平文PT∈GM、xMを集合HMの元である暗号文xM∈HM、ENCMを集合GMの元である平文PTを暗号化して暗号文xM∈HMを得るための暗号化関数、fM(xM)を暗号文xM∈HMを特定の復号鍵SKで復号して集合GMの元である平文PTを得るための復号関数とする。復号関数fM(xM)は準同型関数である。例えば、GMをι×ι行列(Z/2Z)ι×ιの集合、HMをι×ι行列(Z/qZ)ι×ιの集合、暗号化鍵PKをι×κ行列(Z/qZ)ι×κ、復号鍵SKをι×ι行列(Z/qZ)ι×ι、CMをランダムに選択されたκ×ι行列(Z/qZ)κ×ι、NMをガウス分布に従うι×ι行列(Z/qZ)ι×ι、UMをι×ι単位行列(Z/2Z)ι×ιとし、暗号化関数ENCM(PT)をPK・CM+2・NM+PT(mod q)とし、復号関数fM(xM)をSK-1{SK・xM・SKT(mod q)}(SKT)-1(mod 2)とする。ただし、κ,ι,qは正整数、・Tは・の転置行列、(Z/qZ)κ×ιはqを法とする剰余環Z/qZを要素とするκ行ι列行列である。第六実施形態では行列α1,α2間の積をα1・α2と表し、和をα1+α2と表現する。行列αの各要素を自然数β倍した行列をβ・αと表す。
次に本形態の処理を説明する。本形態では、GMをι×ι行列の集合、HMをι×ι行列の集合、MX1,MX2を集合GMに値を持つ確率変数、Mx1を確率変数MX1の実現値、Mx2を確率変数MX2の実現値、aMを集合HMの元とする。本形態では、PKを暗号化鍵(公開鍵)であるι×κ行列、SKをPK・SK=0を満たすι×ι行列である復号鍵(秘密鍵)、CMをκ×ι行列、NMをι×ι行列、UMをι×ι単位行列、PTを集合GMの元である平文PT∈GM、xMを集合HMの元である暗号文xM∈HM、ENCMを集合GMの元である平文PTを暗号化して暗号文xM∈HMを得るための暗号化関数、fM(xM)を暗号文xM∈HMを特定の復号鍵SKで復号して集合GMの元である平文PTを得るための復号関数とする。復号関数fM(xM)は準同型関数である。例えば、GMをι×ι行列(Z/2Z)ι×ιの集合、HMをι×ι行列(Z/qZ)ι×ιの集合、暗号化鍵PKをι×κ行列(Z/qZ)ι×κ、復号鍵SKをι×ι行列(Z/qZ)ι×ι、CMをランダムに選択されたκ×ι行列(Z/qZ)κ×ι、NMをガウス分布に従うι×ι行列(Z/qZ)ι×ι、UMをι×ι単位行列(Z/2Z)ι×ιとし、暗号化関数ENCM(PT)をPK・CM+2・NM+PT(mod q)とし、復号関数fM(xM)をSK-1{SK・xM・SKT(mod q)}(SKT)-1(mod 2)とする。ただし、κ,ι,qは正整数、・Tは・の転置行列、(Z/qZ)κ×ιはqを法とする剰余環Z/qZを要素とするκ行ι列行列である。第六実施形態では行列α1,α2間の積をα1・α2と表し、和をα1+α2と表現する。行列αの各要素を自然数β倍した行列をβ・αと表す。
本形態の処理の前提として、計算装置61(図12)の行列記憶部6101には、行列aM∈HMが複数種類記憶されているものとする。能力提供装置62(図13)の鍵記憶部6204には、復号鍵SKが安全に記憶されているものとする。図15に例示するように、まず、計算装置61(図12)の行列選択部6102が、行列記憶部6101に記憶された複数の行列から一様ランダムに1つの行列aMを選択して読み込む。読み込まれた行列aMの情報は、入力情報提供部6104及び行列積計算部6106に送られる(ステップS6100)。
制御部1113は、t=1とする(ステップS1102)。
入力情報提供部6104は、入力された暗号文xMにそれぞれ対応する対応する集合HMの元である第一入力情報Mτ1及び第二入力情報Mτ2を生成して出力する。好ましくは、第一入力情報Mτ1及び第二入力情報Mτ2はそれぞれ暗号文xMとの関係をかく乱させた情報である。これにより、計算装置61は暗号文xMを能力提供装置62に対して隠蔽できる。第二入力情報Mτ2は元aMにさらに対応する。これにより、能力提供装置62から提供された復号能力を計算装置61が高い精度で評価することが可能となる(ステップS6103)。以下、図16を用いてステップS6103の具体例を説明する。
入力情報提供部6104は、入力された暗号文xMにそれぞれ対応する対応する集合HMの元である第一入力情報Mτ1及び第二入力情報Mτ2を生成して出力する。好ましくは、第一入力情報Mτ1及び第二入力情報Mτ2はそれぞれ暗号文xMとの関係をかく乱させた情報である。これにより、計算装置61は暗号文xMを能力提供装置62に対して隠蔽できる。第二入力情報Mτ2は元aMにさらに対応する。これにより、能力提供装置62から提供された復号能力を計算装置61が高い精度で評価することが可能となる(ステップS6103)。以下、図16を用いてステップS6103の具体例を説明する。
[ステップS6103の具体例]
入力情報提供部6104(図14)の第一ランダム行列選択部6104aが集合GMの元MR1を一様ランダムに選択する(ステップS6103a)。選択されたMR1は第一暗号化部6104cと第一計算部6105に送られる(ステップS6103a)。第二ランダム行列選択部6104bがκ×ιの一様ランダムな行列CM11及びCM12∈(Z/qZ)κ×ιを選択する。選択されたCM11及びCM12は第一入力情報計算部6104eに送られる(ステップS6103b)。第一暗号化部6104cが公開鍵PKを用い、MR1の暗号文ENCM(MR1)である第一暗号文CR1=PK・CM+2・NM+MR1(mod q)を生成する。第一暗号文CR1は第一入力情報計算部6104eに送られる(ステップS6103c)。第二暗号化部6104dが公開鍵PKを用い、単位行列UMの暗号文ENCM(UM)である第二暗号文CUM=PK・CM+2・NM+UM(mod q)を生成する。第二暗号文CUMは第一入力情報計算部6104eに送られる(ステップS6103d)。第一入力情報計算部6104eにはさらに暗号文xMが入力される。第一入力情報計算部6104eは、第一入力情報Mτ1として(xM・CUM+CR1)+PK・CM11+2・NM+CM12 T・PKTを得て出力する。なお、行列の積の順序に特段の必然性はない。すなわち第一入力情報計算部6104eは、CX=xM・CUM+CR1としたRe(CX)=CX+PK・CM11+2・NM+CM12 T・PKTを計算して第一入力情報Mτ1を生成してもよいし、CX=CUM・xM+CR1としたRe(CX)を計算して第一入力情報Mτ1を生成してもよい(ステップS6103e)。
入力情報提供部6104(図14)の第一ランダム行列選択部6104aが集合GMの元MR1を一様ランダムに選択する(ステップS6103a)。選択されたMR1は第一暗号化部6104cと第一計算部6105に送られる(ステップS6103a)。第二ランダム行列選択部6104bがκ×ιの一様ランダムな行列CM11及びCM12∈(Z/qZ)κ×ιを選択する。選択されたCM11及びCM12は第一入力情報計算部6104eに送られる(ステップS6103b)。第一暗号化部6104cが公開鍵PKを用い、MR1の暗号文ENCM(MR1)である第一暗号文CR1=PK・CM+2・NM+MR1(mod q)を生成する。第一暗号文CR1は第一入力情報計算部6104eに送られる(ステップS6103c)。第二暗号化部6104dが公開鍵PKを用い、単位行列UMの暗号文ENCM(UM)である第二暗号文CUM=PK・CM+2・NM+UM(mod q)を生成する。第二暗号文CUMは第一入力情報計算部6104eに送られる(ステップS6103d)。第一入力情報計算部6104eにはさらに暗号文xMが入力される。第一入力情報計算部6104eは、第一入力情報Mτ1として(xM・CUM+CR1)+PK・CM11+2・NM+CM12 T・PKTを得て出力する。なお、行列の積の順序に特段の必然性はない。すなわち第一入力情報計算部6104eは、CX=xM・CUM+CR1としたRe(CX)=CX+PK・CM11+2・NM+CM12 T・PKTを計算して第一入力情報Mτ1を生成してもよいし、CX=CUM・xM+CR1としたRe(CX)を計算して第一入力情報Mτ1を生成してもよい(ステップS6103e)。
第三ランダム行列選択部6104fが集合GMの元MR2を一様ランダムに選択する。選択されたMR2は第三暗号化部6104hと第二計算部6108に送られる(ステップS6103f)。第四ランダム行列選択部6104gが、κ×ιのランダムな行列CM21及びCM22∈(Z/qZ)κ×ιを選択する。選択されたCM21及びCM22は第二入力情報計算部6104jに送られる(ステップS6103g)。第三暗号化部6104hが公開鍵PKを用い、MR2の暗号文ENCM(MR2)である第三暗号文CR2=PK・CM+2・NM+MR2(mod q)を生成する。第三暗号文CR2は第二入力情報計算部6104jに送られる(ステップS6103h)。第四暗号化部6104iに行列aMが入力される。第四暗号化部6104iは公開鍵PKを用い、行列aMの暗号文ENCM(aM)である第四暗号文Ca=PK・CM+2・NM+aM(mod q)を生成する。第四暗号文Caは第二入力情報計算部6104jに送られる(ステップS6103i)。第二入力情報計算部6104jにはさらに暗号文xMが入力される。第二入力情報計算部6104jは、第二入力情報Mτ2として(xM・Ca+CR2)+PK・CM21+2・NM+CM22 T・PKTを得て出力する。第二入力情報計算部6104jは、CX=xM・Ca+CR2としたRe(CX)を計算して第二入力情報Mτ2を生成してもよいし、CX =Ca ・x M +CR2としたRe(CX)を計算して第二入力情報Mτ2を生成してもよい((ステップS6103j)/[ステップS6103の具体例]の説明終わり)。
図17に例示するように、第一入力情報Mτ1は能力提供装置62(図13)の第一出力情報計算部6201に入力され、第二入力情報Mτ2は第二出力情報計算部6202に入力される(ステップS6200)。
第一出力情報計算部6201は、第一入力情報Mτ1と鍵記憶部6204に格納された復号鍵SKとを用い、或る確率より大きな確率でfM(Mτ1)=SK-1{SK・Mτ1・SKT(mod q)}(SKT)-1(mod 2)を正しく計算し、得られた計算結果を第一出力情報Mz1とする(ステップS6201)。第二出力情報計算部6202は、第二入力情報Mτ2と鍵記憶部6204に格納された復号鍵SKとを用い、或る確率より大きな確率でfM(Mτ2)=SK-1{SK・Mτ2・SKT(mod q)}(SKT)-1(mod 2)を正しく計算し、得られた計算結果を第二出力情報Mz2とする(ステップS6202)。すなわち、第一出力情報計算部6201や第二出力情報計算部6202は、意図的又は意図的ではない誤差を含んだ計算結果を出力する。言い換えると、第一出力情報計算部6201での計算結果がfM(Mτ1)の場合もあればfM(Mτ1)でない場合もあり、第二出力情報計算部6202での計算結果がfM(Mτ2)の場合もあればfM(Mτ2)でない場合もある。
第一出力情報計算部6201は第一出力情報Mz1を出力し、第二出力情報計算部6202は第二出力情報Mz2を出力する(ステップS6203)。
図15に戻り、第一出力情報Mz1は計算装置61(図12)の第一計算部6105に入力され、第二出力情報Mz2は第二計算部6108に入力される。これらの第一出力情報Mz1及び第二出力情報Mz2が、能力提供装置62から計算装置61に与えられた復号能力に相当する(ステップS6104)。
図15に戻り、第一出力情報Mz1は計算装置61(図12)の第一計算部6105に入力され、第二出力情報Mz2は第二計算部6108に入力される。これらの第一出力情報Mz1及び第二出力情報Mz2が、能力提供装置62から計算装置61に与えられた復号能力に相当する(ステップS6104)。
第一計算部5105は、第一出力情報Mz1を用いてMz1−MR1を計算してその計算結果をuMとする。計算結果uMは行列積計算部6106に送られる。ここで、uM=Mz1−MR1=fM(xM)+Mx1となる。すなわち、uMはfM(xM)について誤差MX1を持つ標本器となる。その理由については後述する(ステップS6105)。
行列積計算部6106はuM’=uM・aMを得る。なお、行列積計算部6106はuM・aMの計算によってuM’を得てもよいし、aM・uMの計算によってuM’を得てもよい。計算結果uMとその計算結果に基づいて計算されたuM’との組(uM,uM’)は、第一リスト記憶部6107に記憶される(ステップS6106)。
第二計算部6108は、第二出力情報Mz2を用いてMz2−MR2を計算してその計算結果をvMとする。計算結果vMは第二リスト記憶部6110に記憶される。ここで、vM=Mz2−MR2=fM(xM)・aM+Mx2となる。すなわち、vMはfM(xM)について誤差MX2を持つ乱数化可能標本器の出力となる。その理由については後述する(ステップS6108)。
判定部6111は、第一リスト記憶部6107に記憶された組(uM,uM’)及び第二リスト記憶部6110に記憶されたvMの中で、uM’=vMとなるものがあるか判定する(ステップS6110)。uM’=vMとなるものがあった場合には、ステップS6114に進む。uM’=vMとなるものがなかった場合には、ステップS1111に進む。
ステップS1111では、制御部1113がt=Tmaxであるか判定する(ステップS1111)。Tmaxは予め定められた自然数である。t=Tmaxであれば、制御部1113は、計算をすることができなかった旨の情報、例えば記号「⊥」を出力して(ステップS1113)、処理を終える。t=Tmaxでない場合には、制御部1113は、tを1だけインクリメント、すなわちt=t+1として(ステップS1112)、ステップS6103に戻る。
ステップS6114では、最終出力部6112が、uM’=vMであると判定されたuM’に対応するuMを出力する(ステップS6114)。このように得られたuMは高い確率で暗号文xMを復号鍵SKで復号した復号結果fM(xM)となる(その理由は後述する)。よって、上述した処理を複数回繰り返し、ステップS6114で得られた値のうち最も頻度の高い値を復号結果とすればよい。設定によっては圧倒的な確率でuM=fM(xM)となる。その場合にはステップS6114で得られた値をそのまま復号結果としてよい。
≪Mz1−MR1,Mz2−MR2がfM(xM)についてそれぞれ誤差MX1,MX2を持つ標本器,乱数化可能標本器の出力となる理由について≫
fM(xM)の準同型性より、fM(xM・Ca+CR2)=fM(xM)・fM(Ca)+fM(CR2)=fM(xM)・aM+MR2を満たし、fM(xM)・aM=fM(xM・Ca+CR2)−MR2=fM(Mτ2)−MR2を満たし、MR2=fM(Mτ2)−fM(xM)・aMを満たす。よってMz2=FM(Mτ2)とおくと、Mz2−MR2=FM(Mτ2)−fM(Mτ2)+fM(xM)・aM=fM(xM)・aM+{FM(Mτ2)−fM(Mτ2)}を満たす。Mτ2に対応するCM21,CM22,MR2の一様ランダム性から、Mz2−MR2はfM(xM)・aM+Mx2と統計的に近似する。ただし、Mx2は確率変数MX2=FM(ENCM(MU2))−MU2(MU2はGM上で一様ランダムに分布)の実現値である。したがって、Mz2−MR2はfM(xM)についてそれぞれ誤差MX2を持つ乱数化可能標本器の出力となる。
fM(xM)の準同型性より、fM(xM・Ca+CR2)=fM(xM)・fM(Ca)+fM(CR2)=fM(xM)・aM+MR2を満たし、fM(xM)・aM=fM(xM・Ca+CR2)−MR2=fM(Mτ2)−MR2を満たし、MR2=fM(Mτ2)−fM(xM)・aMを満たす。よってMz2=FM(Mτ2)とおくと、Mz2−MR2=FM(Mτ2)−fM(Mτ2)+fM(xM)・aM=fM(xM)・aM+{FM(Mτ2)−fM(Mτ2)}を満たす。Mτ2に対応するCM21,CM22,MR2の一様ランダム性から、Mz2−MR2はfM(xM)・aM+Mx2と統計的に近似する。ただし、Mx2は確率変数MX2=FM(ENCM(MU2))−MU2(MU2はGM上で一様ランダムに分布)の実現値である。したがって、Mz2−MR2はfM(xM)についてそれぞれ誤差MX2を持つ乱数化可能標本器の出力となる。
同様にfM(xM・CUM+CR1)=fM(xM)・fM(CUM)+fM(CR1)=fM(xM)・UM+MR1を満たし、fM(xM)=fM(xM・CUM+CR1)−MR1=fM(Mτ1)−MR1を満たし、MR1=fM(Mτ1)−fM(xM)を満たす。よってMz1=FM(Mτ1)とおくと、Mz1−MR1=FM(Mτ1)−fM(Mτ1)+fM(xM)=fM(xM)+{FM(Mτ1)−fM(Mτ1)}を満たす。Mτ1に対応するCM11,CM12,MR1の一様ランダム性から、Mz1−MR1はfM(xM)+Mx1と統計的に近似する。ただし、Mx1は確率変数MX1=FM(ENCM(MU1))−MU1(MU1はGM上で一様ランダムに分布)の実現値である。したがって、Mz1−MR1を出力する上記の構成はfM(xM)についてそれぞれ誤差MX1を持つ標本器となる。
≪復号結果fM(xM)が得られる理由について≫
第五実施形態の≪復号結果f(x)が得られる理由について≫で説明したのと同様な理由により、本形態でも正しい復号結果fM(xM)が得られる。ただし本形態では行列を扱う関係上、第五実施形態の≪復号結果f(x)が得られる理由について≫のG,HがGM,HMに、f(x)がfM(xM)に、τがMτに、F(τ)がFM(Mτ)に、zがMzに、xがxMに、X1,X2がMX1,MX2に、x1,x2がMx1,Mx2に、egがι×ιの単位行列Megに、乗法的表現が加法的表現に(例えばαβγがα・β+γに)それぞれ置き換えられる。さらに本形態では「擬似自由(pseudo-free)な作用」の定義が以下のようにされる。
第五実施形態の≪復号結果f(x)が得られる理由について≫で説明したのと同様な理由により、本形態でも正しい復号結果fM(xM)が得られる。ただし本形態では行列を扱う関係上、第五実施形態の≪復号結果f(x)が得られる理由について≫のG,HがGM,HMに、f(x)がfM(xM)に、τがMτに、F(τ)がFM(Mτ)に、zがMzに、xがxMに、X1,X2がMX1,MX2に、x1,x2がMx1,Mx2に、egがι×ιの単位行列Megに、乗法的表現が加法的表現に(例えばαβγがα・β+γに)それぞれ置き換えられる。さらに本形態では「擬似自由(pseudo-free)な作用」の定義が以下のようにされる。
擬似自由(pseudo-free)な作用:
GM、行列の集合ΩM={0M,...,MM}、GM上の確率変数MX1,MX2の各実現値αM∈MX1(αM≠Meg),βM∈MX2、及びaM∈ΩMについて、αM・aM=βMとなる確率
Pr[αM・aMかつαM≠Meg|aM∈UΩM,αM∈MX1,βM∈MX2]
について、あらゆる可能なMX1,MX2に関する上限値を、組(GM,ΩM)の疑似自由指標とよび、これをP(GM,ΩM)と表すことにする。ある無視することができる関数ζ(k)が存在して、
P(GM,ΩM)<ζ(k)
である場合、組(GM,ΩM)によって定義される演算は擬似自由な作用であるという。
GM、行列の集合ΩM={0M,...,MM}、GM上の確率変数MX1,MX2の各実現値αM∈MX1(αM≠Meg),βM∈MX2、及びaM∈ΩMについて、αM・aM=βMとなる確率
Pr[αM・aMかつαM≠Meg|aM∈UΩM,αM∈MX1,βM∈MX2]
について、あらゆる可能なMX1,MX2に関する上限値を、組(GM,ΩM)の疑似自由指標とよび、これをP(GM,ΩM)と表すことにする。ある無視することができる関数ζ(k)が存在して、
P(GM,ΩM)<ζ(k)
である場合、組(GM,ΩM)によって定義される演算は擬似自由な作用であるという。
[第一実施形態から第六実施形態の変形例]
以上のように、上記の各実施形態では、能力提供装置が復号鍵を提供することなく、第一出力情報z1及び第二出力情報z2を計算装置に提供し、計算装置がub’va’を出力する。ub’va’は高い確率で暗号文xの復号値となる。このように、能力提供装置が復号鍵を提供することなく計算装置に復号能力を提供できる。
以上のように、上記の各実施形態では、能力提供装置が復号鍵を提供することなく、第一出力情報z1及び第二出力情報z2を計算装置に提供し、計算装置がub’va’を出力する。ub’va’は高い確率で暗号文xの復号値となる。このように、能力提供装置が復号鍵を提供することなく計算装置に復号能力を提供できる。
なお、本発明は上述の実施の形態に限定されるものではない。例えば、確率変数X1、X2及びX3は、同じでも異なっていてもよい。同様に、確率変数MX1及びMX2は、同じでも異なっていてもよい。
第一乱数生成部、第二乱数生成部、第三乱数生成部、第四乱数生成部、第五乱数生成部、第六乱数生成部及び第七乱数生成部のそれぞれは、一様乱数を生成することにより、代理計算システムの安全性が最も高くなる。しかし、求める安全性のレベルがそれほど高くない場合には、第一乱数生成部、第二乱数生成部、第三乱数生成部、第四乱数生成部、第五乱数生成部、第六乱数生成部及び第七乱数生成部の少なくとも一部が、一様乱数ではない乱数を生成してもよい。同様に、第六実施形態で行列を一様ランダムに選択する代わりに、一様ではないランダムな行列が選択されてもよい。演算効率上からは、上述の各実施形態のように0以上KH未満の自然数である乱数や0以上KG未満の自然数である乱数が選択されることが望ましいが、それらの代わりにKH以上やKG以上の自然数の乱数が選択されてもよい。
計算装置が同一のa,bに対応する、群Hの元である第一入力情報τ1及び第二入力情報τ2を能力提供装置に提供するたびに、能力提供装置の処理が複数回実行させてもよい。これにより、計算装置が第一入力情報τ1及び第二入力情報τ2を能力提供装置に一回提供するたびに、計算装置は第一出力情報z1や第二出力情報z2や第三出力情報z3を複数個得ることができる。これにより、計算装置と能力提供装置との間のやり取り回数や通信量を減らすことができる。第六実施形態の第一入力情報Mτ1及び第二入力情報Mτ2についても同様である。
計算装置が複数種類の第一入力情報τ1及び第二入力情報τ2を能力提供装置にまとめて提供し、対応する第一出力情報z1や第二出力情報z2や第三出力情報z3を複数個まとめて取得してもよい。これにより、計算装置と能力提供装置との間のやり取り回数を減らすことができる。第六実施形態の第一入力情報Mτ1及び第二入力情報Mτ2についても同様である。
第一実施形態から第五実施形態の第一計算部や第二計算部において得られたuやvが群Gの元であるかを確認し、群Gの元であった場合には上述した処理を続行し、u又はvが群Gの元でなかった場合には、計算をすることができなかった旨の情報、例えば記号「⊥」が出力されてもよい。同様に、第六実施形態の第一計算部や第二計算部において得られたuMやvMがGMの元であるかを確認し、GMの元であった場合には上述した処理を続行し、uM又はvMがGMの元でなかった場合には、計算をすることができなかった旨の情報、例えば記号「⊥」が出力されてもよい。
計算装置の各部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。同様に、能力提供装置の各部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。
その他、例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
その他、例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
[第七実施形態]
本発明の第七実施形態を説明する。
<構成>
図18に例示するように、第七実施形態の代理計算システム101は、例えば、復号鍵を保持していない計算装置111と、復号鍵s1,・・・,sΓをそれぞれ保持する能力提供装置112−1,・・・,112−Γ(Γは2以上の整数)と、計算装置111の復号能力を制御する復号制御装置113とを有する。復号制御装置113は能力提供装置112−1,・・・,112−Γから計算装置111へ提供される復号能力を制御し、計算装置111は能力提供装置112−1,・・・,112−Γから提供された復号能力を用いて暗号文を復号する。計算装置111と能力提供装置112−1,・・・,112−Γと復号制御装置113とは情報のやり取りが可能なように構成される。例えば、計算装置111と能力提供装置112−1,・・・,112−Γと復号制御装置113とは、伝送線やネットワークや可搬型記録媒体などを経由した情報のやり取りが可能とされている。
本発明の第七実施形態を説明する。
<構成>
図18に例示するように、第七実施形態の代理計算システム101は、例えば、復号鍵を保持していない計算装置111と、復号鍵s1,・・・,sΓをそれぞれ保持する能力提供装置112−1,・・・,112−Γ(Γは2以上の整数)と、計算装置111の復号能力を制御する復号制御装置113とを有する。復号制御装置113は能力提供装置112−1,・・・,112−Γから計算装置111へ提供される復号能力を制御し、計算装置111は能力提供装置112−1,・・・,112−Γから提供された復号能力を用いて暗号文を復号する。計算装置111と能力提供装置112−1,・・・,112−Γと復号制御装置113とは情報のやり取りが可能なように構成される。例えば、計算装置111と能力提供装置112−1,・・・,112−Γと復号制御装置113とは、伝送線やネットワークや可搬型記録媒体などを経由した情報のやり取りが可能とされている。
図19に例示するように、第七実施形態の計算装置111は、例えば、自然数記憶部11101と自然数選択部11102と整数計算部11103と入力情報提供部11104と第一計算部11105と第一べき乗計算部11106と第一リスト記憶部11107と第二計算部11108と第二べき乗計算部11109と第二リスト記憶部11110と判定部11111と最終出力部11112と復元部11100と制御部11113とを有する。計算装置111の例は、カードリーダライタ装置や携帯電話などの計算機能と記憶機能とを備えた機器や、特別なプログラムが読み込まれたCPU(central processing unit)やRAM(random-access memory)を備えた公知又は専用のコンピュータなどである。
図20に例示するように、第七実施形態の能力提供装置112−ι(ι=1,・・・,ω、ωは2以上Γ以下の整数)は、例えば、第一出力情報計算部11201−ιと第二出力情報計算部11202−ιと鍵記憶部11204−ιと制御部11205−ιとを有する。能力提供装置112−ιの例は、ICカードやICチップなどの耐タンパ性モジュールや、携帯電話などの計算機能と記憶機能とを備えた機器や、特別なプログラムが読み込まれたCPUやRAMを備えた公知又は専用のコンピュータなどである。後述するように、能力提供装置112−1,・・・,112−ωは能力提供装置112−1,・・・,112−Γから選択されたものである。能力提供装置112−(ι+1),・・・,112−Γが存在する場合、これらの構成は能力提供装置112−ιと同様である。
図21に例示するように、第七実施形態の復号制御装置113は、例えば、暗号文記憶部11301と制御命令部11302と出力部11303と制御部11304と鍵記憶部11305と暗号化部11306とを有する。復号制御装置113の例は、携帯電話などの計算機能と記憶機能とを備えた機器や、特別なプログラムが読み込まれたCPUやRAMを備えた公知又は専用のコンピュータなどである。
<処理>
次に本形態の処理を説明する。処理の前提として、Gι,Hιを群(例えば、可換群)、ωを2以上の整数、ι=1,・・・,ω、fι(λι)を群Hιの元である暗号文λιを特定の復号鍵sιで復号して群Gιの元を得るための復号関数、群Gι,Hιの生成元をそれぞれμι,g,μι,h、Xι,1,Xι,2を群Gιに値を持つ確率変数、確率変数Xι,1の実現値をxι,1、確率変数Xι,2の実現値をxι,2とする。なお、本形態のωは定数である。計算装置111の自然数記憶部11101には、互いに素である2つの自然数a(ι),b(ι)の組(a(ι),b(ι))が複数種類記憶されているものとする。「自然数」とは0以上の整数を意味する。Iιを群Gιの位数未満の2つの自然数の組で互いに素なものの集合とすると、自然数記憶部11101にはIιの部分集合Sιに対応する自然数a(ι),b(ι)の組(a(ι),b(ι))が記憶されていると考えることができる。能力提供装置112−ιの鍵記憶部12104には、特定の復号鍵sιがそれぞれ安全に記憶されているものとする。復号制御装置113の鍵記憶部11305には、復号鍵s1,・・・,sΓにそれぞれ対応する暗号鍵pk1,・・・,pkΓが記憶されているものとする。復号鍵sι及び暗号鍵pkιの一例は公開鍵暗号方式の秘密鍵及び公開鍵である。なお、計算装置111の各処理は制御部11113の制御のもとで実行され、能力提供装置112−ιの各処理は制御部11205−ιの制御のもとで実行され、復号制御装置113の各処理は制御部11304の制御のもとで実行される。
次に本形態の処理を説明する。処理の前提として、Gι,Hιを群(例えば、可換群)、ωを2以上の整数、ι=1,・・・,ω、fι(λι)を群Hιの元である暗号文λιを特定の復号鍵sιで復号して群Gιの元を得るための復号関数、群Gι,Hιの生成元をそれぞれμι,g,μι,h、Xι,1,Xι,2を群Gιに値を持つ確率変数、確率変数Xι,1の実現値をxι,1、確率変数Xι,2の実現値をxι,2とする。なお、本形態のωは定数である。計算装置111の自然数記憶部11101には、互いに素である2つの自然数a(ι),b(ι)の組(a(ι),b(ι))が複数種類記憶されているものとする。「自然数」とは0以上の整数を意味する。Iιを群Gιの位数未満の2つの自然数の組で互いに素なものの集合とすると、自然数記憶部11101にはIιの部分集合Sιに対応する自然数a(ι),b(ι)の組(a(ι),b(ι))が記憶されていると考えることができる。能力提供装置112−ιの鍵記憶部12104には、特定の復号鍵sιがそれぞれ安全に記憶されているものとする。復号制御装置113の鍵記憶部11305には、復号鍵s1,・・・,sΓにそれぞれ対応する暗号鍵pk1,・・・,pkΓが記憶されているものとする。復号鍵sι及び暗号鍵pkιの一例は公開鍵暗号方式の秘密鍵及び公開鍵である。なお、計算装置111の各処理は制御部11113の制御のもとで実行され、能力提供装置112−ιの各処理は制御部11205−ιの制御のもとで実行され、復号制御装置113の各処理は制御部11304の制御のもとで実行される。
<暗号化処理>
図24に例示するように、まず、復号制御装置113(図21)の暗号化部11306にメッセージmesが入力される。暗号化部11306は、暗号鍵pk1,・・・,pkΓからω個の暗号鍵pk1,・・・,pkωをランダムに選択する(ステップS11301)。暗号化部11306は、メッセージmesからω個の分散情報sha1,・・・,shaωを生成する(ステップS11302)。以下に分散情報sha1,・・・,shaωの生成方法を例示する。
図24に例示するように、まず、復号制御装置113(図21)の暗号化部11306にメッセージmesが入力される。暗号化部11306は、暗号鍵pk1,・・・,pkΓからω個の暗号鍵pk1,・・・,pkωをランダムに選択する(ステップS11301)。暗号化部11306は、メッセージmesからω個の分散情報sha1,・・・,shaωを生成する(ステップS11302)。以下に分散情報sha1,・・・,shaωの生成方法を例示する。
《分散情報の例1》
ω個の分散情報sha1,・・・,shaωのビット結合値sha1|・・・|shaωがメッセージmesとなるように分散情報sha1,・・・,shaωを生成する。
《分散情報の例2》
ω個の分散情報sha1,・・・,shaωの排他的論理和がメッセージmesとなるように分散情報sha1,・・・,shaωを生成する。
《分散情報の例3》
Shamirの秘密分散のような秘密分散方式によってメッセージmesを秘密分散して分散情報sha1,・・・,shaωを生成する(分散情報の生成方法を例示終わり)。
ω個の分散情報sha1,・・・,shaωのビット結合値sha1|・・・|shaωがメッセージmesとなるように分散情報sha1,・・・,shaωを生成する。
《分散情報の例2》
ω個の分散情報sha1,・・・,shaωの排他的論理和がメッセージmesとなるように分散情報sha1,・・・,shaωを生成する。
《分散情報の例3》
Shamirの秘密分散のような秘密分散方式によってメッセージmesを秘密分散して分散情報sha1,・・・,shaωを生成する(分散情報の生成方法を例示終わり)。
次に、暗号化部11306は、各ι=1,・・・,ωについて、暗号鍵pk ι を用いて分散情報shaιを暗号化して暗号文λιを生成する。生成された暗号文λ1,・・・,λωは暗号文記憶部11301に記憶される(ステップS11303)。
その後、暗号文記憶部11301に記憶されている暗号文λ1,・・・,λωが出力部11301から出力され、計算装置111(図19)に入力される(ステップS11304)。暗号文λ1,・・・,λωは同時に送られてもよいし、同時に送られなくてもよい。
<復号処理>
図25を用いて本形態の暗号文λιの復号処理を説明する。以下に説明する処理は各ι=1,・・・,ωについてそれぞれ実行される。
まず、計算装置111(図19)の自然数選択部11102が、自然数記憶部11101に記憶された複数の自然数の組(a(ι),b(ι))から1つの自然数の組(a(ι),b(ι))をランダムに読み込む。読み込まれた自然数の組(a(ι),b(ι))の少なくとも一部の情報は、整数計算部11103、入力情報提供部11104、第一べき乗計算部11106及び第二べき乗計算部11109に送られる(ステップS11100)。
図25を用いて本形態の暗号文λιの復号処理を説明する。以下に説明する処理は各ι=1,・・・,ωについてそれぞれ実行される。
まず、計算装置111(図19)の自然数選択部11102が、自然数記憶部11101に記憶された複数の自然数の組(a(ι),b(ι))から1つの自然数の組(a(ι),b(ι))をランダムに読み込む。読み込まれた自然数の組(a(ι),b(ι))の少なくとも一部の情報は、整数計算部11103、入力情報提供部11104、第一べき乗計算部11106及び第二べき乗計算部11109に送られる(ステップS11100)。
整数計算部11103は、送られた自然数の組(a(ι),b(ι))を用いて、a’(ι)a(ι)+b’(ι)b(ι)=1の関係を満たす整数a’(ι),b’(ι)を計算する。自然数a(ι),b(ι)は互いに素であるため、a’(ι)a(ι)+b’(ι)b(ι)=1の関係を満たす整数a’(ι),b’(ι)は必ず存在して、その計算方法もよく知られている。たとえば拡張互除法などのよく知られたアルゴリズムによって整数a’(ι),b’(ι)が計算され、自然数の組(a’(ι),b’(ι))の情報は、最終出力部11112に送られる(ステップS11101)。
制御部11113は、tι=1とする(ステップS11102)。
計算装置111の入力情報提供部11104は、入力された暗号文λιにそれぞれ対応する群Hιの元である第一入力情報τι,1及び第二入力情報τι,2を生成して出力する。好ましくは、第一入力情報τι,1及び第二入力情報τι,2はそれぞれ暗号文λιとの関係をかく乱させた情報である。これにより、計算装置111は、暗号文λιを能力提供装置112−ιに対して隠蔽できる。好ましくは、本形態の第一入力情報τι,1は自然数選択部11102で選択された自然数b(ι)にさらに対応し、第二入力情報τι,2は自然数選択部11102で選択された自然数a(ι)にさらに対応する。これにより、能力提供装置112−ιから提供された復号能力を計算装置111が高い精度で評価できる(ステップS11103)。
計算装置111の入力情報提供部11104は、入力された暗号文λιにそれぞれ対応する群Hιの元である第一入力情報τι,1及び第二入力情報τι,2を生成して出力する。好ましくは、第一入力情報τι,1及び第二入力情報τι,2はそれぞれ暗号文λιとの関係をかく乱させた情報である。これにより、計算装置111は、暗号文λιを能力提供装置112−ιに対して隠蔽できる。好ましくは、本形態の第一入力情報τι,1は自然数選択部11102で選択された自然数b(ι)にさらに対応し、第二入力情報τι,2は自然数選択部11102で選択された自然数a(ι)にさらに対応する。これにより、能力提供装置112−ιから提供された復号能力を計算装置111が高い精度で評価できる(ステップS11103)。
図26に例示するように、第一入力情報τι,1は能力提供装置112−ι(図20)の第一出力情報計算部11201−ιに入力され、第二入力情報τι,2は第二出力情報計算部11202−ιに入力される(ステップS11200)。
第一出力情報計算部11201は、第一入力情報τι,1と鍵記憶部11204−ιに記憶された復号鍵sιとを用い、或る確率より大きな確率でfι(τι,1)を正しく計算し、得られた計算結果を第一出力情報zι,1とする(ステップS11201)。第二出力情報計算部11202−ιは、第二入力情報τι,2と鍵記憶部11204−ιに記憶された復号鍵sιとを用い、或る確率より大きな確率でfι(τι,2)を正しく計算し、得られた演算結果を第二出力情報zι,2とする(ステップS11202)。なお、「或る確率」は100%未満の確率である。「或る確率」の例は無視することができない確率であり、「無視することができない確率」の例は、セキュリティパラメータkについての広義単調増加関数である多項式を多項式ψ(k)とした場合の1/ψ(k)以上の確率である。すなわち、第一出力情報計算部11201−ιや第二出力情報計算部11202−ιは、意図的又は意図的ではない誤差を含んだ計算結果を出力し得る。言い換えると、第一出力情報計算部11201−ιでの計算結果がfι(τι,1)の場合もあればfι(τι,1)でない場合もあり、第二出力情報計算部11202−ιでの計算結果がfι(τι,2)の場合もあればfι(τι,2)でない場合もある。第一出力情報計算部11201−ιは第一出力情報zι,1を出力し、第二出力情報計算部11202−ιは第二出力情報zι,2を出力する(ステップS11203)。
図25に戻り、第一出力情報zι,1は計算装置111(図19)の第一計算部11105に入力され、第二出力情報zι,2は第二計算部11108に入力される。これらの第一出力情報zι,1及び第二出力情報zι,2が、能力提供装置112−ιから計算装置111に与えられた復号能力に相当する(ステップS11104)。
第一計算部11105は、第一出力情報zι,1から演算結果uι=fι(λι)b(ι)xι,1を生成する。ここで、fι(λι)b(ι)xι,1を生成(計算)するとは、fι(λι)b(ι)xι,1と定義される式の値を計算することである。式fι(λι)b(ι)xι,1の値を最終的に計算することができれば、途中の計算方法は問わない。これは、この出願で登場する他の式の計算についても同様である。演算結果uιは第一べき乗計算部11106に送られる(ステップS11105)。
第一べき乗計算部11106はuι’=uι a(ι)を計算する。計算結果uιとその計算結果に基づいて計算されたuι’との組(uι,uι’)は、第一リスト記憶部11107に記憶される(ステップS11106)。
判定部11111は、第一リスト記憶部11107に記憶された組(uι,uι’)及び第二リスト記憶部11110に記憶された組(vι,vι’)の中で、uι’=vι’となるものがあるか判定する(ステップS11107)。もし、第二リスト記憶部11110に組(vι,vι’)が記憶されていない場合には、このステップS11107の処理を行わずに、次のステップS11108の処理を行う。uι’=vι’となるものがあった場合には、ステップS11114に進む。uι’=vι’となるものがなかった場合には、ステップS11108に進む。
ステップS11108では、第二計算部11108が、第二出力情報zι,2から演算結果vι=fι(λι)a(ι)xι,2を生成する。演算結果vιは第二べき乗計算部11109に送られる(ステップS11108)。
第二べき乗計算部11109はvι’=vι b(ι)を計算する。計算結果vιとその計算結果に基づいて計算されたvι’との組(vι,vι’)は、第二リスト記憶部11110に記憶される(ステップS11109)。
判定部11111は、第一リスト記憶部11107に記憶された組(uι,uι’)及び第二リスト記憶部11110に記憶された組(vι,vι’)の中で、uι’=vι’となるものがあるか判定する(ステップS11110)。uι’=vι’となるものがあった場合には、ステップS11114に進む。uι’=vι’となるものがなかった場合には、ステップS11111に進む。
ステップS11111では、制御部11113がtι=Tιであるか判定する(ステップS11111)。Tιは予め定められた自然数である。tι=Tιであれば、最終出力部11112が、計算をすることができなかった旨の情報、例えば記号「⊥」を出力して(ステップS11113)、処理を終える。tι=Tιでない場合には、制御部11113は、tιを1だけインクリメント、すなわちtι=tι+1(tι+1を新たなtι)として(ステップS11112)、ステップS11103に戻る。
計算をすることができなかった旨の情報(この例では記号「⊥」)は、能力提供装置112−ιが正しく計算を行う信頼性がTιで定められる基準を下回るということを意味する。言い換えれば、Tι回の繰り返しで正しい演算を行うことができなかったということを意味する。
ステップS11114では、最終出力部11112が、uι’=vι’であると判定されたuι’及びvι’に対応するuι及びvιを用いてuι b’(ι)vι a’(ι)を計算して、出力する(ステップS11114)。このように計算されたuι b’(ι)vι a’(ι)は高い確率で暗号文λιを特定の復号鍵sιで復号した復号結果fι(λι)となる(高い確率でuι b’(ι)vι a’(ι)=fι(λι)となる理由については後述する)。よって、上述した処理を複数回繰り返し、ステップS11114で得られた値のうち最も頻度の高い値を復号結果fι(λι)とすればよい。後述するように、設定によっては圧倒的な確率でuι b’(ι)vι a’(ι)=fι(λι)となる。その場合にはステップS11114で得られた値をそのまま復号結果fι(λι)としてよい。
以上の処理が各ι=1,・・・,ωについてそれぞれ実行されることで得られた各復号結果fι(λι)は復元部11100に入力される。復元部11100は、各ι=1,・・・,ωについてのfι(λι)=uι b’(ι)vι a’(ι)を用い、各ι=1,・・・,ωについての暗号文λιを復号鍵sιで復号して得られる復号値がすべて得られた場合にのみ復元可能な復元値の復元処理を行う。例えば、前述した《分散情報の例1》によって分散情報が生成されていたのであれば、復元部11100はビット結合値f1(λ1)|・・・|fω(λω)を復元値mes’として生成する。例えば、前述した《分散情報の例2》によって分散情報が生成されていたのであれば、復元部11100は各復号結果f1(λ1),・・・,fω(λω)の排他的論理和を復元値mes’として生成する。例えば、前述した《分散情報の例3》によって分散情報が生成されていたのであれば、復元部11100は、秘密分散方式に対応する復元方法を用い、各復号結果f1(λ1),・・・,fω(λω)から復元値mes’を生成する。
復号結果f1(λ1),・・・,fω(λω)がすべて正しい場合、復元部11100で得られる復元値mes’はメッセージmesと等しい。一方、復号結果f1(λ1),・・・,fω(λω)のすべてが誤りであった場合、復元部11100で得られる復元値mes’がメッセージmesと等しくなる確率は無視できるほど小さい。
≪高い確率でuι b’(ι)vι a’(ι)=fι(λι)となる理由について≫
ここでは表記の簡略化のためιを省略して説明する。
Xを群Gに値を持つ確率変数とする。w∈Gについて、要求を受けるたびに確率変数Xに従った標本x’に対応するwx’を返すものを、wについて誤差Xを持つ標本器(sampler)と呼ぶ。
ここでは表記の簡略化のためιを省略して説明する。
Xを群Gに値を持つ確率変数とする。w∈Gについて、要求を受けるたびに確率変数Xに従った標本x’に対応するwx’を返すものを、wについて誤差Xを持つ標本器(sampler)と呼ぶ。
w∈Gについて、自然数aが与えられるたびに確率変数Xに従った標本x’に対応するwax’を返すものを、wについて誤差Xを持つ乱数化可能標本器(randomizable sampler)と呼ぶ。乱数化可能標本器はa=1として用いられれば標本器として機能する。
本実施形態の入力情報提供部11104と第一出力情報計算部11201と第一計算部11105との組み合わせが、f(λ)について誤差X1を持つ乱数化可能標本器(「第一乱数化可能標本器」と呼ぶ)であり、入力情報提供部11104と第二出力情報計算部11202と第二計算部11108との組み合わせが、f(λ)について誤差X2を持つ乱数化可能標本器(「第二乱数化可能標本器」と呼ぶ)である。
u’=v’が成立するのは、すなわちua=vbが成立するのは、第一乱数化可能標本器がu=f(λ)bを正しく計算しており、第二乱数化可能標本器がv=f(λ)aを正しく計算している(x1及びx2が群Gの単位元egである)可能性が高いことを発明者は見出した。説明の簡略化の観点から、この証明は第十一実施形態で行う。
第一乱数化可能標本器がu=f(λ)bを正しく計算しており、第二乱数化可能標本器がv=f(λ)aを正しく計算しているとき(x1及びx2が群Gの単位元egであるとき)、ub’va’=(f(λ)bx1)b’(f(λ)ax2)a’=(f(λ)beg)b’(f(λ)aeg)a’=f(λ)bb’eg b’f(λ)aa’eg a’=f(λ)(bb’+aa’)=f(λ)となる。
(q1,q2)∈Iについて、i=1,2の各々について関数πiをπi(q1,q2)=qiで定義する。さらに、L=min(♯π1(S),♯π2(S))とする。♯・は、集合・の位数である。群Gが巡回群や位数の計算が困難な群であるときには、計算装置111が「⊥」以外を出力するときの出力がf(λ)ではない確率は、無視できる程度の誤差の範囲で高々T2L/♯S程度と期待することができる。もしL/♯Sが無視できる量でTが多項式オーダー程度の量であれば、計算装置111は圧倒的な確率で正しいfι(λ)を出力する。L/♯Sが無視できる量になるようなSの例には、例えばS={(1,d)|d∈[2,|G|−1]}がある。
<復号制御処理>
次に、本形態の復号制御処理を説明する。
復号制御装置113が計算装置111の復号処理を制御する場合、復号制御装置113は、計算装置111の復号処理を制御する復号制御命令をすべての能力提供装置112−ιに出力する。復号制御命令が入力された能力提供装置112−ιは、入力された復号制御命令に従って、第一出力情報zι,1及び第二出力情報zι,2の両方の出力の有無を制御する。計算装置111は、第一出力情報zι,1及び第二出力情報zι,2が与えられなければ暗号文λιを復号することができない。そのため、第一出力情報zι,1及び第二出力情報zι,2の両方の出力の有無を制御することで、計算装置111の復号能力を制御できる。以下に復号処理の制御方法を例示する。
次に、本形態の復号制御処理を説明する。
復号制御装置113が計算装置111の復号処理を制御する場合、復号制御装置113は、計算装置111の復号処理を制御する復号制御命令をすべての能力提供装置112−ιに出力する。復号制御命令が入力された能力提供装置112−ιは、入力された復号制御命令に従って、第一出力情報zι,1及び第二出力情報zι,2の両方の出力の有無を制御する。計算装置111は、第一出力情報zι,1及び第二出力情報zι,2が与えられなければ暗号文λιを復号することができない。そのため、第一出力情報zι,1及び第二出力情報zι,2の両方の出力の有無を制御することで、計算装置111の復号能力を制御できる。以下に復号処理の制御方法を例示する。
≪復号処理の制御方法の例1≫
復号処理の制御方法の例1では、復号制御命令が計算装置111の復号能力を制限するための復号制限命令com1−ιを含む。復号制限命令com1−ιが能力提供装置112−ιの制御部11205−ιに入力された場合、制御部11205−ιが第一出力情報zι,1及び第二出力情報zι,2の両方の出力を禁止する。
復号処理の制御方法の例1では、復号制御命令が計算装置111の復号能力を制限するための復号制限命令com1−ιを含む。復号制限命令com1−ιが能力提供装置112−ιの制御部11205−ιに入力された場合、制御部11205−ιが第一出力情報zι,1及び第二出力情報zι,2の両方の出力を禁止する。
計算装置111の復号能力を制限する場合、復号制御装置113(図21)の制御命令部11302は、すべてのιについて復号制限命令com1−ιを出力する。復号制限命令com1−ιは出力部11303から能力提供装置112−ιに出力される。
能力提供装置112−ι(図20)の制御部11205−ιは、復号制限命令com1−ιが入力されたか否かを判断し、復号制限命令com1−ιが制御部11205−ιに入力されない場合には復号制御処理を行わない。一方、復号制限命令com1−ιが制御部11205−ιに入力された場合には、制御部11205−ιは第一出力情報zι,1及び第二出力情報zι,2の両方の出力を禁止する制御を行う(復号制限モード)。
復号制限モードでは、制御部11205−ιが第一出力情報計算部11201−ιによる第一出力情報zι,1の出力及び第二出力情報計算部11202−ιによる第二出力情報zι,2の出力の両方を禁止する。第一出力情報zι,1及び/又は第二出力情報zι,2の出力を禁止する制御の一例は、第一出力情報zι,1及び/又は第二出力情報zι,2の生成は禁止しないがこれらの出力を禁止する制御である。第一出力情報zι,1及び/又は第二出力情報zι,2の出力を禁止する制御の他の例は、第一出力情報zι,1及び/又は第二出力情報zι,2の代わりにダミー情報を出力させる制御である。なお、ダミー情報の例は、乱数その他の暗号文λιに依存しない情報である。第一出力情報zι,1及び/又は第二出力情報zι,2の出力を禁止する制御の別の例は、第一出力情報zι,1及び/又は第二出力情報zι,2の生成自体を禁止する制御である。第一出力情報zι,1及び/又は第二出力情報zι,2の生成自体を禁止する制御を行う場合には、第一出力情報zι,1及び/又は第二出力情報zι,2の生成を行うために必要な情報を無効又は削除してもよいし、しなくてもよい。例えば、鍵記憶部11204−ιに記憶された復号鍵sιを無効又は削除してもよいし、しなくてもよい。
第一出力情報zι,1及び第二出力情報zι,2の両方の出力が禁止された場合、能力提供装置112−ιはステップS11203で第一出力情報zι,1及び第二出力情報zι,2の両方を出力しない。そのため、計算装置111はステップS11104で第一出力情報zι,1及び第二出力情報zι,2の両方を取得できず、演算結果uι及びvιを計算できないため、正しい復号結果fι(λ)を得ることができない。すべてのιについて正しい復号結果fι(λ)が得られなかった場合、復元部11100で得られる復元値mes’がメッセージmesと等しくなる確率は無視できるほど小さい。これにより、計算装置111の復号能力を制限できる。
≪復号処理の制御方法の例2≫
復号処理の制御方法の例2では、復号制御命令が計算装置111の復号能力の制限を開放するための復号開放命令com2−ιを含み、復号開放命令com2−ιが能力提供装置112−ιの制御部11205−ιに入力された場合、制御部11205−ιは第一出力情報zι,1及び第二出力情報zι,2の少なくとも一方の出力を許可する。復号処理の制御方法の例2は、例えば、復号処理の制御方法の例1によって第一出力情報zι,1及び第二出力情報zι,2の両方の出力が禁止された後、再び、第一出力情報zι,1及び第二出力情報zι,2の出力を許可する場合に行われる。この際、第一出力情報zι,1及び/又は第二出力情報zι,2の生成を行うために必要な情報が無効又は削除されていた場合には、復号開放命令com2−ιが当該情報を含み、当該情報を能力提供装置112−ιに再設定することにしてもよい。その他、復号処理の制御方法の例2は、例えば、初期状態において第一出力情報zι,1及び第二出力情報zι,2の両方の出力が禁止されている場合に、第一出力情報zι,1及び第二出力情報zι,2の出力を許可する場合に行われてもよい。
復号処理の制御方法の例2では、復号制御命令が計算装置111の復号能力の制限を開放するための復号開放命令com2−ιを含み、復号開放命令com2−ιが能力提供装置112−ιの制御部11205−ιに入力された場合、制御部11205−ιは第一出力情報zι,1及び第二出力情報zι,2の少なくとも一方の出力を許可する。復号処理の制御方法の例2は、例えば、復号処理の制御方法の例1によって第一出力情報zι,1及び第二出力情報zι,2の両方の出力が禁止された後、再び、第一出力情報zι,1及び第二出力情報zι,2の出力を許可する場合に行われる。この際、第一出力情報zι,1及び/又は第二出力情報zι,2の生成を行うために必要な情報が無効又は削除されていた場合には、復号開放命令com2−ιが当該情報を含み、当該情報を能力提供装置112−ιに再設定することにしてもよい。その他、復号処理の制御方法の例2は、例えば、初期状態において第一出力情報zι,1及び第二出力情報zι,2の両方の出力が禁止されている場合に、第一出力情報zι,1及び第二出力情報zι,2の出力を許可する場合に行われてもよい。
計算装置111の復号能力の制限を開放する場合、復号制御装置113(図21)の制御命令部11302がすべてのιについて復号開放命令com2−ιを出力する。復号開放命令com2−ιは出力部11303から能力提供装置112−ιに出力される。
能力提供装置112−ι(図20)の制御部11205−ιは、復号開放命令com2−ιが入力されたか否かを判断し、復号開放命令com2−ιが制御部11205−ιに入力されていない場合には復号制御処理を行わない。一方、復号開放命令com2−ιが制御部11205−ιに入力された場合には、制御部11205−ιは第一出力情報zι,1及び第二出力情報zι,2の両方の出力を許可する制御を行う(復号許可モード)。
第一出力情報zι,1及び第二出力情報zι,2の両方の出力が許可された場合、能力提供装置112−ιはステップS11203で第一出力情報zι,1 及び第二出力情報zι,2の両方を出力する。そのため、計算装置111はステップS11104で第一出力情報zι,1 及び第二出力情報zι,2の両方を取得でき、演算結果uι 及びvιを計算できるため、高い確率で復号結果を得ることができる。これにより、計算装置111の復号能力の制限を開放することができる。
≪復号処理の制御方法の例3≫
復号処理の制御方法の例1,2では、各復号制御命令が何れかの1つのιに対応し(復号関数fιに対応し)、能力提供装置112−ιの制御部11205−ιが復号制御命令に対応する(復号制御命令に対応する復号関数fιに対応する)第一出力情報zι,1及び第二出力情報zι,2のすべての出力の有無を制御することとした。しかしながら、復号制御命令が複数のιに対応し、能力提供装置112−ιの制御部11205−ιが復号制御命令に対応する第一出力情報zι,1及び第二出力情報zι,2の出力の有無を制御することとしてもよい。
復号処理の制御方法の例1,2では、各復号制御命令が何れかの1つのιに対応し(復号関数fιに対応し)、能力提供装置112−ιの制御部11205−ιが復号制御命令に対応する(復号制御命令に対応する復号関数fιに対応する)第一出力情報zι,1及び第二出力情報zι,2のすべての出力の有無を制御することとした。しかしながら、復号制御命令が複数のιに対応し、能力提供装置112−ιの制御部11205−ιが復号制御命令に対応する第一出力情報zι,1及び第二出力情報zι,2の出力の有無を制御することとしてもよい。
[第八実施形態]
第八実施形態の代理計算システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した例である。以下、第七実施形態と異なる部分を中心に説明し、復号制御処理などの共通する部分については重複説明を省略する。以下の説明において、同一の参照番号が付された部分は同一の機能を持つものとし、同一の参照番号が付されたステップは同一の処理を表すものとする。
第八実施形態の代理計算システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した例である。以下、第七実施形態と異なる部分を中心に説明し、復号制御処理などの共通する部分については重複説明を省略する。以下の説明において、同一の参照番号が付された部分は同一の機能を持つものとし、同一の参照番号が付されたステップは同一の処理を表すものとする。
<構成>
図18に例示するように、第八実施形態の代理計算システム102は、計算装置111が計算装置121に置換され、能力提供装置112−1,・・・,112−Γが能力提供装置122−1,・・・,122−Γに置換されたものである。
図18に例示するように、第八実施形態の代理計算システム102は、計算装置111が計算装置121に置換され、能力提供装置112−1,・・・,112−Γが能力提供装置122−1,・・・,122−Γに置換されたものである。
図19に例示するように、第八実施形態の計算装置121は、例えば、自然数記憶部11101と自然数選択部11102と整数計算部11103と入力情報提供部12104と第一計算部12105と第一べき乗計算部11106と第一リスト記憶部11107と第二計算部12108と第二べき乗計算部11109と第二リスト記憶部11110と判定部11111と最終出力部11112と制御部11113とを有する。図22に例示するように、本形態の入力情報提供部12104は、例えば、第一乱数生成部12104aと第一入力情報計算部12104bと第二乱数生成部12104cと第二入力情報計算部12104dとを有する。
図20に例示するように、第八実施形態の能力提供装置122−ι(ι=1,・・・,ω、ωは2以上Γ以下の整数)は、例えば、第一出力情報計算部12201−ιと第二出力情報計算部12202−ιと鍵記憶部11204−ιと制御部11205−ιとを有する。能力提供装置122−(ι+1),・・・,122−Γが存在する場合、これらの構成は能力提供装置122−ιと同様である。
<復号処理>
次に本形態の復号処理を説明する。第八実施形態では、復号関数fιを準同型関数とし、群Hを巡回群とし、群Hの生成元をμι,h、群Hの位数をKι,H、νι=fι(μι,h)とする。復号関数fιが準同型関数である例はRSA暗号などである。その他の前提は、計算装置111が計算装置121に置換され、能力提供装置112−1,・・・,112−Γが能力提供装置122−1,・・・,122−Γに置換されている以外、第七実施形態と同一である。
次に本形態の復号処理を説明する。第八実施形態では、復号関数fιを準同型関数とし、群Hを巡回群とし、群Hの生成元をμι,h、群Hの位数をKι,H、νι=fι(μι,h)とする。復号関数fιが準同型関数である例はRSA暗号などである。その他の前提は、計算装置111が計算装置121に置換され、能力提供装置112−1,・・・,112−Γが能力提供装置122−1,・・・,122−Γに置換されている以外、第七実施形態と同一である。
図25及び図26に例示するように、第八実施形態の処理は第七実施形態のステップS11103〜S11105,S11108,S11200〜S11203が、それぞれ、ステップS12103〜S12105,S12108,S12200〜S12203に置換されたものである。以下ではステップS12103〜S12105,S12108,S12200〜S12203の処理のみを説明する。
《ステップS12103の処理》
計算装置121(図19)の入力情報提供部12104は、入力された暗号文λιにそれぞれ対応する第一入力情報τι,1及び第二入力情報τι,2を生成して出力する(図25/ステップS12103)。以下、図27を用いて本形態のステップS12103の処理を説明する。
計算装置121(図19)の入力情報提供部12104は、入力された暗号文λιにそれぞれ対応する第一入力情報τι,1及び第二入力情報τι,2を生成して出力する(図25/ステップS12103)。以下、図27を用いて本形態のステップS12103の処理を説明する。
第一乱数生成部12104a(図22)は、0以上Kι,H未満の自然数の一様乱数r(ι,1)を生成する。生成された乱数r(ι,1)は、第一入力情報計算部12104b及び第一計算部12105に送られる(ステップS12103a)。第一入力情報計算部12104bは、入力された乱数r(ι,1)と暗号文λιと自然数b(ι)とを用いて第一入力情報τι,1=μι,h r(ι,1)λι b(ι)を計算する(ステップS12103b)。
第二乱数生成部12104cは、0以上K ι,H未満の自然数の一様乱数r(ι,2)を生成する。生成された乱数r(ι,2)は、第二入力情報計算部12104d及び第二計算部12108に送られる(ステップS12103c)。第二入力情報計算部12104dは、入力された乱数r(ι,2)と暗号文λιと自然数a(ι)とを用いて第二入力情報τι,2=μι,h r(ι,2)λι a(ι)を計算する(ステップS12103d)。
第一入力情報計算部12104b及び第二入力情報計算部12104dは、以上のように生成した第一入力情報τι,1及び第二入力情報τι,2を出力する(ステップS12103e)。なお、本形態の第一入力情報τι,1及び第二入力情報τι,2は、それぞれ、乱数r(ι,1),r(ι,2)によって暗号文λιとの関係をかく乱させた情報である。これにより、計算装置121は、暗号文λιを能力提供装置122−ιに対して隠蔽できる。本形態の第一入力情報τι,1は自然数選択部11102で選択された自然数b(ι)にさらに対応し、第二入力情報τι,2は自然数選択部11102で選択された自然数a(ι)にさらに対応する。これにより、能力提供装置122−ιから提供された復号能力を計算装置121が高い精度で評価できる。
《ステップS12200〜S12203の処理》
図26に例示するように、まず、第一入力情報τι,1=μι,h r(ι,1)λι b(ι)が能力提供装置122−ι(図20)の第一出力情報計算部12201−ιに入力され、第二入力情報τι,2=μι,h r(ι,2)λι a(ι)が第二出力情報計算部12202−ιに入力される(ステップS12200)。
図26に例示するように、まず、第一入力情報τι,1=μι,h r(ι,1)λι b(ι)が能力提供装置122−ι(図20)の第一出力情報計算部12201−ιに入力され、第二入力情報τι,2=μι,h r(ι,2)λι a(ι)が第二出力情報計算部12202−ιに入力される(ステップS12200)。
第一出力情報計算部12201−ιは、第一入力情報τι,1=μι,h r(ι,1)λι b(ι)と鍵記憶部11204−ιに記憶された復号鍵sιとを用い、或る確率より大きな確率でfι(μι,h r(ι,1)λι b(ι))を正しく計算し、得られた計算結果を第一出力情報zι,1とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第一出力情報計算部12201−ιでの計算結果がfι(μι,h r(ι,1)λι b(ι))となる場合もあれば、fι(μι,h r(ι,1)λι b(ι))とならない場合もある(ステップS12201)。
第二出力情報計算部12202−ιは、第二入力情報τι,2=μι,h r(ι,2)λι a(ι)と鍵記憶部11204−ιに記憶された復号鍵sιとを用い、或る確率より大きな確率でfι(μι,h r(ι,2)λι a(ι))を正しく計算し、得られた計算結果を第二出力情報zι,2とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第二出力情報計算部12202−ιでの計算結果がfι(μι,h r(ι,2)λι a(ι))となる場合もあれば、fι(μι,h r(ι,2)λι a(ι))とならない場合もある(ステップS12202)。
第一出力情報計算部12201−ιは第一出力情報zι,1を出力し、第二出力情報計算部12202−ιは第二出力情報zι,2を出力する(ステップS12203)。
《ステップS12104及びS12105の処理》
図25に戻り、第一出力情報zι,1は計算装置121(図19)の第一計算部12105に入力され、第二出力情報zι,2は第二計算部12108に入力される。これらの第一出力情報zι,1及び第二出力情報zι,2が、能力提供装置122−ιから計算装置121に与えられた復号能力に相当する(ステップS12104)。
図25に戻り、第一出力情報zι,1は計算装置121(図19)の第一計算部12105に入力され、第二出力情報zι,2は第二計算部12108に入力される。これらの第一出力情報zι,1及び第二出力情報zι,2が、能力提供装置122−ιから計算装置121に与えられた復号能力に相当する(ステップS12104)。
第一計算部12105は、入力された乱数r(ι,1)及び第一出力情報zι,1を用いてzι,1νι -r(ι,1)を計算してその計算結果をuιとする。計算結果uιは、第一べき乗計算部11106に送られる。ここで、uι=zι,1νι -r(ι,1)=fι(λι)b(ι)xι,1となる。すなわち、zι,1νι -r(ι,1)は、fι(λι)について誤差Xι,1を持つ乱数化可能標本器の出力となる。その理由については後述する(ステップS12105)。
《ステップS12108の処理》
第二計算部12108は、入力された乱数r(ι,2)及び第二出力情報zι,2を用いてzι,2νι -r(ι,2)を計算してその計算結果をvιとする。計算結果vιは、第二べき乗計算部11109に送られる。ここで、vι=zι,2νι -r(ι,2)=fι(λι)a(ι)xι,2となる。すなわち、zι,2νι -r(ι,2)は、fι(λι)について誤差Xι,2を持つ乱数化可能標本器の出力となる。その理由については後述する(ステップS12108)。
第二計算部12108は、入力された乱数r(ι,2)及び第二出力情報zι,2を用いてzι,2νι -r(ι,2)を計算してその計算結果をvιとする。計算結果vιは、第二べき乗計算部11109に送られる。ここで、vι=zι,2νι -r(ι,2)=fι(λι)a(ι)xι,2となる。すなわち、zι,2νι -r(ι,2)は、fι(λι)について誤差Xι,2を持つ乱数化可能標本器の出力となる。その理由については後述する(ステップS12108)。
≪zι,1νι -r(ι,1),zι,2νι -r(ι,2)がfι(λι)についてそれぞれ誤差Xι,1,Xι,2を持つ乱数化可能標本器の出力となる理由について≫
cを自然数、Rを乱数として、能力提供装置122がμh Rλcを用いて行う計算の計算結果をB(μh Rλc)とする。すなわち、第一出力情報計算部12201−ιや第二出力情報計算部12202−ιが計算装置121に返す計算結果をz=B(μh Rλc)とする。さらに、群Gに値を持つ確率変数XをX=B(μh R’)f(μh R’)-1と定義する。
このとき、zν-R=B(μh Rλc)f(μh)-R=Xf(μh Rλc)f(μh)-R=Xf(μh)Rf(λ)cf(μh)-R=f(λ)cXとなる。すなわち、zν-Rは、f(λ)について誤差Xを持つ乱数化可能標本器の出力となる。
cを自然数、Rを乱数として、能力提供装置122がμh Rλcを用いて行う計算の計算結果をB(μh Rλc)とする。すなわち、第一出力情報計算部12201−ιや第二出力情報計算部12202−ιが計算装置121に返す計算結果をz=B(μh Rλc)とする。さらに、群Gに値を持つ確率変数XをX=B(μh R’)f(μh R’)-1と定義する。
このとき、zν-R=B(μh Rλc)f(μh)-R=Xf(μh Rλc)f(μh)-R=Xf(μh)Rf(λ)cf(μh)-R=f(λ)cXとなる。すなわち、zν-Rは、f(λ)について誤差Xを持つ乱数化可能標本器の出力となる。
上記式展開において、X=B(μh R’)f(μh R’)-1=B(μh Rλc)f(μh Rλc)-1であり、B(μh Rλc)=Xf(μh Rλc)であるという性質を用いている。この性質は、関数fιが準同型関数であり、Rが乱数であることに基づく。
したがって、a(ι),b(ι)が自然数、r(ι,1),r(ι,2)が乱数であることを考慮すると、同様に、zι,1νι -r(ι,1),zι,2νι -r(ι,2)がfι(λι)についてそれぞれ誤差Xι,1,Xι,2を持つ乱数化可能標本器の出力となるのである。
[第九実施形態]
第九実施形態は第八実施形態の変形例であり、a(ι)=1やb(ι)=1のときに前述した標本器によってuι又はvιの値を計算する。一般に乱数化可能標本器よりも標本器の計算量は小さい。a(ι)=1やb(ι)=1のときに乱数化可能標本器に代わり、標本器が計算を行うことで、代理計算システムの計算量を小さくすることができる。以下、第七実施形態及び第八実施形態と異なる部分を中心に説明し、復号制御処理などの共通する部分については重複説明を省略する。
第九実施形態は第八実施形態の変形例であり、a(ι)=1やb(ι)=1のときに前述した標本器によってuι又はvιの値を計算する。一般に乱数化可能標本器よりも標本器の計算量は小さい。a(ι)=1やb(ι)=1のときに乱数化可能標本器に代わり、標本器が計算を行うことで、代理計算システムの計算量を小さくすることができる。以下、第七実施形態及び第八実施形態と異なる部分を中心に説明し、復号制御処理などの共通する部分については重複説明を省略する。
<構成>
図18に例示するように、第九実施形態の代理計算システム103は、計算装置121が計算装置131に置換され、能力提供装置122−1,・・・,122−Γが能力提供装置132−1,・・・,132−Γに置換されたものである。
図18に例示するように、第九実施形態の代理計算システム103は、計算装置121が計算装置131に置換され、能力提供装置122−1,・・・,122−Γが能力提供装置132−1,・・・,132−Γに置換されたものである。
図19に例示するように、第九実施形態の計算装置131は、例えば、自然数記憶部11101と自然数選択部11102と整数計算部11103と入力情報提供部12104と第一計算部12105と第一べき乗計算部11106と第一リスト記憶部11107と第二計算部12108と第二べき乗計算部11109と第二リスト記憶部11110と判定部11111と最終出力部11112と制御部11113と第三計算部13109とを有する。
図20に例示するように、第九実施形態の能力提供装置132−ιは、例えば、第一出力情報計算部12201−ιと第二出力情報計算部12202−ιと鍵記憶部11204−ιと制御部11205−ιと第三出力情報計算部13203−ιとを有する。
<復号処理>
次に本形態の復号処理を説明する。第八実施形態との相違点を説明する。
図25及び図26に例示するように、第九実施形態の処理は第八実施形態のステップS12103〜S12105,S12108,S12200〜S12203が、それぞれ、ステップS13103〜S13105,S13108,S12200〜S12203及びS13205〜S13209に置換されたものである。以下ではステップS13103〜S13105,S13108,S12200〜S12203及びS13205〜S13209の処理を中心に説明する。
次に本形態の復号処理を説明する。第八実施形態との相違点を説明する。
図25及び図26に例示するように、第九実施形態の処理は第八実施形態のステップS12103〜S12105,S12108,S12200〜S12203が、それぞれ、ステップS13103〜S13105,S13108,S12200〜S12203及びS13205〜S13209に置換されたものである。以下ではステップS13103〜S13105,S13108,S12200〜S12203及びS13205〜S13209の処理を中心に説明する。
《ステップS13103の処理》
計算装置131(図19)の入力情報提供部13104は、入力された暗号文λιにそれぞれ対応する第一入力情報τι,1及び第二入力情報τι,2を生成して出力する(図25/ステップS13103)。
以下、図27を用いて本形態のステップS13103の処理を説明する。
計算装置131(図19)の入力情報提供部13104は、入力された暗号文λιにそれぞれ対応する第一入力情報τι,1及び第二入力情報τι,2を生成して出力する(図25/ステップS13103)。
以下、図27を用いて本形態のステップS13103の処理を説明する。
制御部11113(図19)は、自然数選択部11102で選択された自然数(a(ι),b(ι))に応じて入力情報提供部13104を制御する。
制御部11113でbが1であるかが判定され(ステップS13103a)、b≠1であると判定された場合、前述のステップS12103a及びS12103bの処理が実行され、ステップS13103gに進む。
一方、ステップS13103aでb(ι)=1であると判定された場合、第三乱数生成部13104eが、0以上Kι,H未満の自然数の乱数r(ι,3)を生成する。生成された乱数r(ι,3)は第三入力情報計算部13104f及び第三計算部13109に送られる(ステップS13103b)。第三入力情報計算部13104fは、入力された乱数r(ι,3)と暗号文λιとを用いてλι (ι,3)を計算し、これを第一入力情報τι,1とする(ステップS13103c)。その後、ステップS13103gに進む。
一方、ステップS13103aでb(ι)=1であると判定された場合、第三乱数生成部13104eが、0以上Kι,H未満の自然数の乱数r(ι,3)を生成する。生成された乱数r(ι,3)は第三入力情報計算部13104f及び第三計算部13109に送られる(ステップS13103b)。第三入力情報計算部13104fは、入力された乱数r(ι,3)と暗号文λιとを用いてλι (ι,3)を計算し、これを第一入力情報τι,1とする(ステップS13103c)。その後、ステップS13103gに進む。
ステップS13103gでは、制御部11113でa(ι)が1であるかが判定され(ステップS13103g)、a(ι)≠1であると判定された場合、前述のステップS12103c及びステップS12103dの処理が実行される。
一方、ステップS13103gでa(ι)=1であると判定された場合、第三乱数生成部13104eが、0以上Kι,H未満の自然数の乱数r(ι,3)を生成する。生成された乱数r(ι,3)は第三入力情報計算部13104fに送られる(ステップS13103h)。第三入力情報計算部13104fは、入力された乱数r(ι,3)と暗号文λιとを用いてλι (ι,3)を計算し、これを第二入力情報τι,2とする(ステップS13103i)。
一方、ステップS13103gでa(ι)=1であると判定された場合、第三乱数生成部13104eが、0以上Kι,H未満の自然数の乱数r(ι,3)を生成する。生成された乱数r(ι,3)は第三入力情報計算部13104fに送られる(ステップS13103h)。第三入力情報計算部13104fは、入力された乱数r(ι,3)と暗号文λιとを用いてλι (ι,3)を計算し、これを第二入力情報τι,2とする(ステップS13103i)。
第一入力情報計算部12104b、第二入力情報計算部12104d、第三入力情報計算部13104fは、以上のように生成した第一入力情報τι,1及び第二入力情報τι,2を対応する自然数(a(ι),b(ι))の情報とともに出力する(ステップS13103e)。なお、本形態の第一入力情報τι,1及び第二入力情報τι,2は、それぞれ、乱数r(ι,1),r(ι,2),r(ι,3)によって暗号文λιとの関係をかく乱させた情報である。これにより、計算装置131は、暗号文λιを能力提供装置132−ιに対して隠蔽できる。
《S12200〜S12203及びS13205〜S13209の処理》
以下、図26を用いて本形態のS12200〜S12203及びS13205〜S13209の処理を説明する。
制御部11205−ι(図20)は、入力された自然数(a(ι),b(ι))に応じ、第一出力情報計算部12201−ι、第二出力情報計算部12202−ι、及び第三出力情報計算部13203−ιを制御する。
以下、図26を用いて本形態のS12200〜S12203及びS13205〜S13209の処理を説明する。
制御部11205−ι(図20)は、入力された自然数(a(ι),b(ι))に応じ、第一出力情報計算部12201−ι、第二出力情報計算部12202−ι、及び第三出力情報計算部13203−ιを制御する。
制御部11205−ιの制御に基づき、b(ι)≠1の場合の第一入力情報τι,1=μι,h r(ι,1)λι b(ι)は能力提供装置132−ι(図20)の第一出力情報計算部12201−ιに入力され、a(ι)≠1の場合の第二入力情報τι,2=μι,h r(ι,2)λι a(ι)は第二出力情報計算部12202−ιに入力される。b(ι)=1の場合の第一入力情報τι,1=λι r(ι,3)やa(ι)=1の場合の第二入力情報τι,2=λι r(ι,3)は第三出力情報計算部13203−ιに入力される(ステップS13200)。
制御部11113でb(ι)が1であるかが判定され(ステップS13205)、b(ι)≠1であると判定された場合、前述のステップS12201の処理が実行される。その後、制御部11113でa(ι)が1であるかが判定され(ステップS13208)、a(ι)≠1であると判定された場合、前述したステップS12202の処理が実行されてステップS13203に進む。
一方、ステップS13208でa(ι)=1であると判定された場合、第三出力情報計算部13203−ιは、第二入力情報τι,2=λι r(ι,3)を用い、或る確率より大きな確率でfι(λι r(ι,3))を正しく計算し、得られた計算結果を第三出力情報zι,3とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第三出力情報計算部13203−ιでの計算結果がfι(λι r(ι,3))となる場合もあれば、fι(λι r(ι,3))とならない場合もある(ステップS13209)。その後、ステップS13203に進む。
ステップS13205でb(ι)=1であると判定された場合、第三出力情報計算部13203−ιは、第二入力情報τι,1=λι r(ι,3)を用い、或る確率より大きな確率でfι(λι r(ι,3))を正しく計算し、得られた計算結果を第三出力情報zι,3とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第三出力情報計算部13203−ιでの計算結果がfι(λι r(ι,3))となる場合もあれば、fι(λι r(ι,3))とならない場合もある(ステップS13206)。
その後、制御部11113でa(ι)が1であるかが判定され(ステップS13207)、a(ι)=1であると判定された場合にはステップS13203に進み、a(ι)≠1であると判定された場合にはステップS12202に進む。
ステップS13203では、第一出力情報zι,1を生成した第一出力情報計算部12201−ιは第一出力情報zι,1を出力し、第二出力情報zι,2を生成した第二出力情報計算部12202−ιは第二出力情報zι,2を出力し、第三出力情報zι,3を生成した第三出力情報計算部13203−ιは第三出力情報zι,3を出力する(ステップS13203)
《ステップS13104及びS13105の処理》
図25に戻り、制御部11113の制御のもと、第一出力情報zι,1は計算装置131(図19)の第一計算部12105に入力され、第二出力情報zι,2は第二計算部12108に入力され、第三出力情報zι,3は第三計算部13109に入力される(ステップS13104)。
図25に戻り、制御部11113の制御のもと、第一出力情報zι,1は計算装置131(図19)の第一計算部12105に入力され、第二出力情報zι,2は第二計算部12108に入力され、第三出力情報zι,3は第三計算部13109に入力される(ステップS13104)。
b(ι)≠1であれば、第一計算部12105が、前述のステップS12105の処理によってuιを生成し、b(ι)=1であれば、第三計算部13109が、zι,3 1/r(ι,3)を計算してその計算結果をuιとする。計算結果uιは第一べき乗計算部11106に送られる。ここで、b(ι)=1の場合、uι=zι,3 1/r(ι,3)=fι(λι)xι,3となる。すなわち、zι,3 1/r(ι,3)は、fι(λι)について誤差Xι,3を持つ標本器となる。その理由については後述する(ステップS13105)。
《ステップS13108の処理》
a(ι)≠1であれば、第二計算部12108が、前述のステップS12108の処理によってvιを生成し、a(ι)=1であれば、第三計算部13109が、zι,3 1/r(ι,3)を計算してその計算結果をvιとする。計算結果vιは第二べき乗計算部11109に送られる。ここで、a(ι)=1の場合、vι=zι,3 1/r(ι,3)=fι(λι)xι,3となる。すなわち、zι,3 1/r(ι,3)は、fι(λι)について誤差Xι,3を持つ標本器となる。その理由については後述する(ステップS13108)。
a(ι)≠1であれば、第二計算部12108が、前述のステップS12108の処理によってvιを生成し、a(ι)=1であれば、第三計算部13109が、zι,3 1/r(ι,3)を計算してその計算結果をvιとする。計算結果vιは第二べき乗計算部11109に送られる。ここで、a(ι)=1の場合、vι=zι,3 1/r(ι,3)=fι(λι)xι,3となる。すなわち、zι,3 1/r(ι,3)は、fι(λι)について誤差Xι,3を持つ標本器となる。その理由については後述する(ステップS13108)。
なお、zι,3 1/r(ι,3)の計算、すなわちzι,3のべき乗根の計算が困難な場合には、次のようにしてuι及び/又はvιを計算してもよい。第三計算部13109は、乱数r(ι,3)とその乱数r(ι,3)に基づいて計算されたzι,3の組を順次(α1,β1),(α2,β2),…,(αm(ι),βm(ι)),…として図示していない記憶部に記憶する。m(ι)は1以上の自然数である。第三計算部13109は、α1,α2,…,αm(ι)の最小公倍数が1になれば、γ1,γ2,…,γm(ι)を整数としてγ1α1+γ2α2+…+γm(ι)αm(ι)=1となるγ1,γ2,…,γm(ι)を計算して、そのγ1,γ2,…,γm(ι)を用いてΠi=1 m(ι)βi γi=β1 γ1β2 γ2…βm(ι) γm(ι)を計算して、その計算結果をuι及び/又はvιとしてもよい。なお、この出願において、αを第一の文字、βを第二の文字、γを数字として、αβγと表記した場合には、そのβγはβγ、すなわちβの下付きγを意味する。
≪zι,3 1/r(ι,3)がfι(λι)について誤差Xι,3を持つ標本器となる理由について≫
R及びR’を乱数として、能力提供装置132−ιがλRを用いて行う計算の計算結果をB(λR)とする。すなわち、第一出力情報計算部12201−ιや第二出力情報計算部12202−ιや第三出力情報計算部13203−ιが計算装置131に返す計算結果をz=B(λR)とする。さらに、群Gに値を持つ確率変数XをX=B(λR)1/Rf(λ)-1と定義する。
R及びR’を乱数として、能力提供装置132−ιがλRを用いて行う計算の計算結果をB(λR)とする。すなわち、第一出力情報計算部12201−ιや第二出力情報計算部12202−ιや第三出力情報計算部13203−ιが計算装置131に返す計算結果をz=B(λR)とする。さらに、群Gに値を持つ確率変数XをX=B(λR)1/Rf(λ)-1と定義する。
このとき、z1/R=B(λR)1/R=Xf(λ)=f(λ)Xとなる。すなわち、z1/Rは、f(λ)について誤差Xを持つ標本器となる。
上記式展開において、X=B(λR)1/Rf(λR)-1であり、B(λR)1/R=Xf(λR)であるという性質を用いている。この性質は、R及びR’が乱数であることに基づく。
したがって、r(ι,3)が乱数であることを考慮すると、同様に、zι,3 1/r(ι,3)がfι(λι)について誤差Xι,3を持つ標本器となるのである。
上記式展開において、X=B(λR)1/Rf(λR)-1であり、B(λR)1/R=Xf(λR)であるという性質を用いている。この性質は、R及びR’が乱数であることに基づく。
したがって、r(ι,3)が乱数であることを考慮すると、同様に、zι,3 1/r(ι,3)がfι(λι)について誤差Xι,3を持つ標本器となるのである。
[第十実施形態]
第十実施形態の代理計算システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した他の例である。具体的には、Hι=Gι×Gι、復号関数fιがElGamal暗号の復号関数、すなわち復号鍵sι及び暗号文λι=(cι,1,cι,2)に対してfι(cι,1,cι,2)=cι,1・cι,2 -sιである場合の第一乱数化可能標本器及び第二乱数化可能標本器の例を具体化したものである。以下、第七実施形態と異なる部分を中心に説明し、復号制御処理などの共通する部分については重複説明を省略する。
第十実施形態の代理計算システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した他の例である。具体的には、Hι=Gι×Gι、復号関数fιがElGamal暗号の復号関数、すなわち復号鍵sι及び暗号文λι=(cι,1,cι,2)に対してfι(cι,1,cι,2)=cι,1・cι,2 -sιである場合の第一乱数化可能標本器及び第二乱数化可能標本器の例を具体化したものである。以下、第七実施形態と異なる部分を中心に説明し、復号制御処理などの共通する部分については重複説明を省略する。
図18に例示するように、第十実施形態の代理計算システム104は、計算装置111が計算装置141に置換され、能力提供装置112−1,・・・,112−Γが能力提供装置142−1,・・・,142−Γに置換されたものである。
図19に例示するように、第十実施形態の計算装置141は、例えば、自然数記憶部11101と自然数選択部11102と整数計算部11103と入力情報提供部14104と第一計算部14105と第一べき乗計算部11106と第一リスト記憶部11107と第二計算部14108と第二べき乗計算部11109と第二リスト記憶部11110と判定部11111と最終出力部11112と制御部11113とを有する。図23に例示するように、本形態の入力情報提供部14104は、例えば、第四乱数生成部14104aと第五乱数生成部14104bと第一入力情報計算部14104cと第六乱数生成部14104dと第七乱数生成部14104eと第二入力情報計算部14104fとを有する。第一入力情報計算部14104cは、例えば、第四入力情報計算部14104caと第五入力情報計算部14104cbとを有し、第二入力情報計算部14104fは、第六入力情報計算部14104faと第七入力情報計算部14104fbとを有する。
図20に例示するように、第十実施形態の能力提供装置142−ιは、例えば、第一出力情報計算部14201−ιと第二出力情報計算部14202−ιと鍵記憶部11204−ιと制御部11205−ιとを有する。能力提供装置142−(ι+1),・・・,142−Γが存在する場合、これらの構成は能力提供装置142−ιと同様である。
<復号処理>
次に本形態の復号処理を説明する。第十実施形態では、群Hιが群Gιの直積群Gι×Gι、群Gιが巡回群、暗号文λι=(cι,1,cι,2)∈Hιであり、fι(cι,1,cι,2)が準同型関数であり、群Gιの生成元をμι,gとし、群Gιの位数をKι,Gとし、同じ復号鍵sιに対する暗号文(Vι,Wι)∈Hιとその暗号文を復号した復号文fι(Vι,Wι)=Yι∈Gιとの組が計算装置141及び能力提供装置142−ιに事前設定され、計算装置141及び能力提供装置142−ιがこの組を利用可能とされているものとする。
図25及び図26に例示するように、第十実施形態の処理は第七実施形態のステップS11103〜S11105,S11108,S11200〜S11203が、それぞれ、ステップS14103〜S14105,S14108,S14200〜S14203に置換されたものである。以下ではステップS14103〜S14105,S14108,S14200〜S14203の処理のみを説明する。
次に本形態の復号処理を説明する。第十実施形態では、群Hιが群Gιの直積群Gι×Gι、群Gιが巡回群、暗号文λι=(cι,1,cι,2)∈Hιであり、fι(cι,1,cι,2)が準同型関数であり、群Gιの生成元をμι,gとし、群Gιの位数をKι,Gとし、同じ復号鍵sιに対する暗号文(Vι,Wι)∈Hιとその暗号文を復号した復号文fι(Vι,Wι)=Yι∈Gιとの組が計算装置141及び能力提供装置142−ιに事前設定され、計算装置141及び能力提供装置142−ιがこの組を利用可能とされているものとする。
図25及び図26に例示するように、第十実施形態の処理は第七実施形態のステップS11103〜S11105,S11108,S11200〜S11203が、それぞれ、ステップS14103〜S14105,S14108,S14200〜S14203に置換されたものである。以下ではステップS14103〜S14105,S14108,S14200〜S14203の処理のみを説明する。
《ステップS14103の処理》
計算装置141(図19)の入力情報提供部14104は、入力された暗号文λι=(cι,1,cι,2)に対応する第一入力情報τι,1及び暗号文λι=(cι,1,cι,2)に対応する第二入力情報τι,2を生成して出力する(図25/ステップS14103)。以下、図28を用いて本形態のステップS14103の処理を説明する。
計算装置141(図19)の入力情報提供部14104は、入力された暗号文λι=(cι,1,cι,2)に対応する第一入力情報τι,1及び暗号文λι=(cι,1,cι,2)に対応する第二入力情報τι,2を生成して出力する(図25/ステップS14103)。以下、図28を用いて本形態のステップS14103の処理を説明する。
第四乱数生成部14104a(図23)は、0以上Kι,G未満の自然数の一様乱数r(ι,4)を生成する。生成された乱数r(ι,4)は、第四入力情報計算部14104ca、第五入力情報計算部14104cb、及び第一計算部14105に送られる(ステップS14103a)。第五乱数生成部14104bは、0以上Kι,G未満の自然数の一様乱数r(ι,5)を生成する。生成された乱数r(ι,5)は、第五入力情報計算部14104cb、及び第一計算部14105に送られる(ステップS14103b)。
第四入力情報計算部14104caは、自然数選択部11102で選択された自然数b(ι)、暗号文λιが含むcι,2、及び乱数r(ι,4)を用い、第四入力情報cι,2 b(ι)Wι r(ι,4)を計算する(ステップS14103c)。第五入力情報計算部14104cbは、自然数選択部11102で選択された自然数b(ι)、暗号文λιが含むcι,1、及び乱数r(ι,4),r(ι,5)を用い、第五入力情報cι,1 b(ι)Vι r(ι,4)μι,g r(ι,5)を計算する(ステップS14103d)。
第六乱数生成部14104dは、0以上Kι,G未満の自然数の一様乱数r(ι,6)を生成する。生成された乱数r(ι,6)は、第六入力情報計算部14104fa、第七入力情報計算部14104fb、及び第二計算部14108に送られる(ステップS14103e)。第七乱数生成部14104eは、0以上K ι,G未満の自然数の一様乱数r(ι,7)を生成する。生成された乱数r(ι,7)は、第七入力情報計算部14104fb、及び第二計算部14108に送られる(ステップS14103f)。
第六入力情報計算部14104faは、自然数選択部11102で選択された自然数a(ι)、暗号文λιが含むcι,2、及び乱数r(ι,6)を用い、第六入力情報cι,2 a(ι)Wι r(ι,6)を計算する(ステップS14103g)。第七入力情報計算部14104fbは、自然数選択部11102で選択された自然数a(ι)、暗号文λιが含むcι,1、及び乱数r(ι,6),r(ι,7)を用い、第七入力情報cι,1 a(ι)Vι r(ι,6)μι,g r(ι,7)を計算する(ステップS14103h)。
第一入力情報計算部14104cは、以上のように生成した第四入力情報cι,2 b(ι)Wι r(ι,4)及び第五入力情報cι,1 b(ι)Vι r(ι,4)μι,g r(ι,5)を第一入力情報τι,1=(cι,2 b(ι)Wι r(ι,4),cι,1 b(ι)Vι r(ι,4)μι,g r(ι,5))として出力する。第二入力情報計算部14104fは、以上のように生成した第六入力情報cι,2 a(ι)Wι r(ι,6)及び第七入力情報cι,1 a(ι)Vι r(ι,6)μι,g r(ι,7)を第二入力情報τι,2=(cι,2 a(ι)Wι r(ι,6),cι,1 a(ι)Vι r(ι,6)μι,g r(ι,7))として出力する(ステップS14103i)。
《ステップS14200〜S14203の処理》
図26に例示するように、まず、第一入力情報τι,1=(cι,2 b(ι)Wι r(ι,4),cι,1 b(ι)Vι r(ι,4)μι,g r(ι,5))が能力提供装置142−ι(図20)の第一出力情報計算部14201−ιに入力され、第二入力情報τι,2=(cι,2 a(ι)Wι r(ι,6),cι,1 a(ι)Vι r(ι,6)μι,g r(ι,7))が第二出力情報計算部14202−ιに入力される(ステップS14200)。
図26に例示するように、まず、第一入力情報τι,1=(cι,2 b(ι)Wι r(ι,4),cι,1 b(ι)Vι r(ι,4)μι,g r(ι,5))が能力提供装置142−ι(図20)の第一出力情報計算部14201−ιに入力され、第二入力情報τι,2=(cι,2 a(ι)Wι r(ι,6),cι,1 a(ι)Vι r(ι,6)μι,g r(ι,7))が第二出力情報計算部14202−ιに入力される(ステップS14200)。
第一出力情報計算部14201−ιは、第一入力情報τι,1=(cι,2 b(ι)Wι r(ι,4),cι,1 b(ι)Vι r(ι,4)μι,g r(ι,5))と鍵記憶部11204−ιに記憶された復号鍵sιとを用い、或る確率より大きな確率でfι(cι,1 b(ι)Vι r(ι,4)μι,g r(ι,5),cι,2 b(ι)Wι r(ι,4))を正しく計算し、計算結果を第一出力情報zι,1とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第一出力情報計算部14201−ιでの計算結果がfι(cι,1 b(ι)Vι r(ι,4)μι,g r(ι,5),cι,2 b(ι)Wι r(ι,4))となる場合もあれば、fι(cι,1 b(ι)Vι r(ι,4)μι,g r(ι,5),cι,2 b(ι)Wι r(ι,4))とならない場合もある(ステップS14201)。
第二出力情報計算部14202−ιは、第二入力情報τι,2=(cι,2 a(ι)Wι r(ι,6),cι,1 a(ι)Vι r(ι,6)μι,g r(ι,7))と鍵記憶部11204−ιに記憶された復号鍵sιとを用い、或る確率より大きな確率でfι(cι,1 a(ι)Vι r(ι,6)μι,g r(ι,7),cι,2 a(ι)Wι r(ι,6))を正しく計算可能であり、得られた計算結果を第二出力情報zι,2とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第二出力情報計算部14202−ιでの計算結果がfι(cι,1 a(ι)Vι r(ι,6)μι,g r(ι,7),cι,2 a(ι)Wι r(ι,6))となる場合もあれば、fι(cι,1 a(ι)Vι r(ι,6)μι,g r(ι,7),cι,2 a(ι)Wι r(ι,6))とならない場合もある(ステップS14202)。
第一出力情報計算部14201−ιは第一出力情報zι,1を出力し、第二出力情報計算部14202−ιは第二出力情報zι,2を出力する(ステップS14203)。
《ステップS14104及びS14105の処理》
図25に戻り、第一出力情報zι,1は計算装置141(図19)の第一計算部14105に入力され、第二出力情報zι,2は第二計算部14108に入力される(ステップS14104)。
図25に戻り、第一出力情報zι,1は計算装置141(図19)の第一計算部14105に入力され、第二出力情報zι,2は第二計算部14108に入力される(ステップS14104)。
第一計算部14105は、入力された第一出力情報zι,1及び乱数r(ι,4),r(ι,5)を用い、zι,1Yι -r(ι,4)μι,g -r(ι,5)を計算してその計算結果をuιとする(ステップS14105)。計算結果uιは、第一べき乗計算部11106に送られる。ここで、uι=zι,1Yι -r(ι,4)μι,g -r(ι,5)=fι(cι,1,cι,2)b(ι)xι,1となる。すなわち、zι,1Yι -r(ι,4)μι,g -r(ι,5)は、fι(cι,1,cι,2)について誤差Xι,1を持つ乱数化可能標本器の出力となる。その理由については後述する。
《ステップS14108の処理》
第二計算部14108は、入力された第二出力情報zι,2及び乱数r(ι,6),r(ι,7)を用い、zι,2Yι -r(ι,6)μι,g -r(ι,7)を計算してその計算結果をvιとする。計算結果vιは、第二べき乗計算部11109に送られる。ここで、vι=zι,2Yι -r(ι,6)μι,g -r(ι,7)=fι(cι,1,cι,2)a(ι)xι,2となる。すなわち、zι,2Yι -r(ι,6)μι,g -r(ι,7)は、fι(cι,1,cι,2)について誤差Xι,2を持つ乱数化可能標本器の出力となる。その理由については後述する。
第二計算部14108は、入力された第二出力情報zι,2及び乱数r(ι,6),r(ι,7)を用い、zι,2Yι -r(ι,6)μι,g -r(ι,7)を計算してその計算結果をvιとする。計算結果vιは、第二べき乗計算部11109に送られる。ここで、vι=zι,2Yι -r(ι,6)μι,g -r(ι,7)=fι(cι,1,cι,2)a(ι)xι,2となる。すなわち、zι,2Yι -r(ι,6)μι,g -r(ι,7)は、fι(cι,1,cι,2)について誤差Xι,2を持つ乱数化可能標本器の出力となる。その理由については後述する。
≪zι,1Yι -r(ι,4)μι,g -r(ι,5),zι,2Yι -r(ι,6)μι,g -r(ι,7)がfι(cι,1,cι,2)についてそれぞれ誤差Xι,1,Xι,2を持つ乱数化可能標本器の出力となる理由について≫
cを自然数、R1、R2、R1’及びR2’を乱数として、能力提供装置142−ιがc1 cVR1μg R2及びc2 cWR1を用いて行う計算の計算結果をB(c1 cVR1μg R2,c2 cWR1)とする。すなわち、第一出力情報計算部14201−ιや第二出力情報計算部14202−ιが計算装置141に返す計算結果をz=B(c1 cVR1μg R2,c2 cWR1)とする。さらに、群Gに値を持つ確率変数XをX=B(VR1’μg R2’,WR1’)f(VR1’μg R2’,WR1’)-1と定義する。
cを自然数、R1、R2、R1’及びR2’を乱数として、能力提供装置142−ιがc1 cVR1μg R2及びc2 cWR1を用いて行う計算の計算結果をB(c1 cVR1μg R2,c2 cWR1)とする。すなわち、第一出力情報計算部14201−ιや第二出力情報計算部14202−ιが計算装置141に返す計算結果をz=B(c1 cVR1μg R2,c2 cWR1)とする。さらに、群Gに値を持つ確率変数XをX=B(VR1’μg R2’,WR1’)f(VR1’μg R2’,WR1’)-1と定義する。
このとき、zY-R1μg -R2=B(c1 cVR1μg R2,c2 cWR1)Y-R1μg -R2=Xf(c1 cVR1μg R2,c2 cWR1)Y-R1μg -R2=Xf(c1,c2)cf(V,W)R1f(μg,eg)R2Y-R1μg -R2=Xf(c1,c2)cYR1μg R2Y-R1μg -R2=f(c1,c2)cXとなる。すなわち、zY-R1μg -R2は、f(x)について誤差Xを持つ乱数化可能標本器の出力となる。なお、egは、群Gの単位元である。
上記式展開において、X=B(VR1’μg R2’,WR1’)f(VR1’μg R2’,WR1’)-1=B(c1 cVR1μg R2,c2 cWR1)f(c1 cVR1μg R2,c2 cWR1)であり、B(c1 cVR1μg R2,c2 cWR1)=Xf(c1 cVR1μg R2,c2 cWR1)であるという性質を用いている。この性質は、R1、R2、R1’及びR2’が乱数であることに基づく。
したがって、a(ι),b(ι)が自然数、r(ι,4),r(ι,5),r(ι,6)及びr(ι,7)が乱数であることを考慮すると、同様に、zι,1Yι -r(ι,4)μι,g -r(ι,5),zι,2Yι -r(ι,6)μι,g -r(ι,7)がfι(cι,1,cι,2)についてそれぞれ誤差Xι,1,Xι,2を持つ乱数化可能標本器の出力となるのである。
[第十一実施形態]
上述の第七実施形態から第十実施形態では、計算装置の自然数記憶部11101に、互いに素である2つの自然数a(ι),b(ι)の組(a(ι),b(ι))が複数種類記憶され、これらの組(a(ι),b(ι))を用いて各処理が実行されることとした。しかしながら、a(ι),b(ι)の一方が定数であってもよい。例えば、a(ι)が1に固定されていてもよいし、b(ι)が1に固定されていてもよい。ιごとに自然数a(ι),b(ι)のどちらが定数であるかが異なっていてもよい。言い換えると、第一乱数化可能標本器又は第二乱数化可能標本器の一方が標本器に置換されていてもよい。a(ι),b(ι)の一方が定数である場合、定数とされたa(ι)又はb(ι)を選択する処理が不要となり、各処理部は定数とされたa(ι)又はb(ι)が入力されることなく、それを定数として扱って計算を行うことができる。定数とされたa(ι)又はb(ι)が1である場合には、a’(ι)やb’(ι)を用いることなく、fι(λι)=uι b’(ι)vι a’(ι)をfι(λι)=vι又はfι(λι)=uιとして得ることができる。
上述の第七実施形態から第十実施形態では、計算装置の自然数記憶部11101に、互いに素である2つの自然数a(ι),b(ι)の組(a(ι),b(ι))が複数種類記憶され、これらの組(a(ι),b(ι))を用いて各処理が実行されることとした。しかしながら、a(ι),b(ι)の一方が定数であってもよい。例えば、a(ι)が1に固定されていてもよいし、b(ι)が1に固定されていてもよい。ιごとに自然数a(ι),b(ι)のどちらが定数であるかが異なっていてもよい。言い換えると、第一乱数化可能標本器又は第二乱数化可能標本器の一方が標本器に置換されていてもよい。a(ι),b(ι)の一方が定数である場合、定数とされたa(ι)又はb(ι)を選択する処理が不要となり、各処理部は定数とされたa(ι)又はb(ι)が入力されることなく、それを定数として扱って計算を行うことができる。定数とされたa(ι)又はb(ι)が1である場合には、a’(ι)やb’(ι)を用いることなく、fι(λι)=uι b’(ι)vι a’(ι)をfι(λι)=vι又はfι(λι)=uιとして得ることができる。
第十一実施形態は、そのような変形の一例であり、b(ι)が1に固定され、第二乱数化可能標本器が標本器に置換された形態である。以下では、第七実施形態との相違点を中心に説明し、復号制御処理などの第七実施形態と共通する事項については説明を省略する。第一乱数化可能標本器や標本器の具体例も、第八実施形態から第十実施形態で説明したのと同様であるため、説明を省略する。
<構成>
図18に例示するように、第十一実施形態の代理計算システム105は、第七実施形態の計算装置111が計算装置151に置換され、能力提供装置112−1,・・・,112−Γが能力提供装置152−1,・・・,152−Γに置換されたものである。
図18に例示するように、第十一実施形態の代理計算システム105は、第七実施形態の計算装置111が計算装置151に置換され、能力提供装置112−1,・・・,112−Γが能力提供装置152−1,・・・,152−Γに置換されたものである。
図29に例示するように、第十一実施形態の計算装置151は、例えば、自然数記憶部15101と自然数選択部15102と入力情報提供部15104と第一計算部15105と第一べき乗計算部11106と第一リスト記憶部11107と第二計算部15108と第二リスト記憶部15110と判定部15111と最終出力部15112と制御部11113とを有する。
図20に例示するように、第十一実施形態の能力提供装置152−ιは、例えば、第一出力情報計算部15201−ιと第二出力情報計算部15202−ιと鍵記憶部11204−ιと制御部11205−ιとを有する。能力提供装置152−(ι+1),・・・,52−Γが存在する場合、これらの構成は能力提供装置152−ιと同様である。
図20に例示するように、第十一実施形態の能力提供装置152−ιは、例えば、第一出力情報計算部15201−ιと第二出力情報計算部15202−ιと鍵記憶部11204−ιと制御部11205−ιとを有する。能力提供装置152−(ι+1),・・・,52−Γが存在する場合、これらの構成は能力提供装置152−ιと同様である。
<復号処理>
次に本形態の復号処理を説明する。復号処理の前提として、Gι,Hιを群(例えば、可換群)、fι(λι)を群Hιの元である暗号文λιを特定の復号鍵sιで復号して群Gιの元を得るための復号関数、群Gι,Hιの生成元をそれぞれμι,g,μι,h、Xι,1,Xι,2を群Gιに値を持つ確率変数、確率変数Xι,1の実現値をxι,1、確率変数Xι,2の実現値をxι,2とする。計算装置151の自然数記憶部15101には、自然数a(ι)が複数種類記憶されているものとする。
次に本形態の復号処理を説明する。復号処理の前提として、Gι,Hιを群(例えば、可換群)、fι(λι)を群Hιの元である暗号文λιを特定の復号鍵sιで復号して群Gιの元を得るための復号関数、群Gι,Hιの生成元をそれぞれμι,g,μι,h、Xι,1,Xι,2を群Gιに値を持つ確率変数、確率変数Xι,1の実現値をxι,1、確率変数Xι,2の実現値をxι,2とする。計算装置151の自然数記憶部15101には、自然数a(ι)が複数種類記憶されているものとする。
図30に例示するように、まず、計算装置151(図29)の自然数選択部15102が、自然数記憶部15101に記憶された複数の自然数a(ι)から1つの自然数a(ι)をランダムに読み込む。読み込まれた自然数a(ι)の情報は、入力情報提供部15104及び第一べき乗計算部11106に送られる(ステップS15100)。
制御部11113は、tι=1とする(ステップS11102)。
入力情報提供部15104は、入力された暗号文λιにそれぞれ対応する第一入力情報τι,1及び第二入力情報τι,2を生成して出力する。好ましくは、第一入力情報τι,1及び第二入力情報τι,2はそれぞれ暗号文λιとの関係をかく乱させた情報である。これにより、計算装置151は、暗号文λιを能力提供装置152−ιに対して隠蔽できる。好ましくは、本形態の第二入力情報τι,2は自然数選択部15102で選択された自然数a(ι)にさらに対応する。これにより、能力提供装置152−ιから提供された復号能力を計算装置151が高い精度で評価できる(ステップS15103)。第一入力情報τι,1及び第二入力情報τι,2の組みの具体例は、第八実施形態から第十実施形態の何れかのb(ι)=1とした第一入力情報τι,1及び第二入力情報τι,2の組みである。
入力情報提供部15104は、入力された暗号文λιにそれぞれ対応する第一入力情報τι,1及び第二入力情報τι,2を生成して出力する。好ましくは、第一入力情報τι,1及び第二入力情報τι,2はそれぞれ暗号文λιとの関係をかく乱させた情報である。これにより、計算装置151は、暗号文λιを能力提供装置152−ιに対して隠蔽できる。好ましくは、本形態の第二入力情報τι,2は自然数選択部15102で選択された自然数a(ι)にさらに対応する。これにより、能力提供装置152−ιから提供された復号能力を計算装置151が高い精度で評価できる(ステップS15103)。第一入力情報τι,1及び第二入力情報τι,2の組みの具体例は、第八実施形態から第十実施形態の何れかのb(ι)=1とした第一入力情報τι,1及び第二入力情報τι,2の組みである。
図26に例示するように、第一入力情報τι,1は能力提供装置152−ι(図20)の第一出力情報計算部15201−ιに入力され、第二入力情報τι,2は第二出力情報計算部15202−ιに入力される(ステップS15200)。
第一出力情報計算部15201−ιは、第一入力情報τι,1と鍵記憶部11204−ιに記憶された復号鍵sιとを用い、或る確率より大きな確率でfι(τι,1)を正しく計算し、得られた計算結果を第一出力情報zι,1とする(ステップS15201)。第二出力情報計算部15202−ιは、第二入力情報τι,2と鍵記憶部11204−ιに記憶された復号鍵sιとを用い、或る確率より大きな確率でfι(τι,2)を正しく計算し、得られた演算結果を第二出力情報zι,2とする(ステップS15202)。すなわち、第一出力情報計算部15201−ιや第二出力情報計算部15202−ιは、意図的又は意図的ではない誤差を含んだ計算結果を出力する。言い換えると、第一出力情報計算部15201−ιでの計算結果がfι(τι,1)の場合もあればfι(τι,1)でない場合もあり、第二出力情報計算部15202−ιでの計算結果がfι(τι,2)の場合もあればfι(τι,2)でない場合もある。第一出力情報zι,1及び第二出力情報zι,2の組の具体例は、第八実施形態から第十実施形態の何れかのb(ι)=1とした第一出力情報zι,1及び第二出力情報zι,2の組である。
第一出力情報計算部15201−ιは第一出力情報zι,1を出力し、第二出力情報計算部15202−ιは第二出力情報zι,2を出力する(ステップS15203)。
図30に戻り、第一出力情報zι,1は計算装置151(図29)の第一計算部15105に入力され、第二出力情報zι,2は第二計算部15108に入力される。これらの第一出力情報zι,1及び第二出力情報zι,2が、能力提供装置152−ιから計算装置151に与えられた復号能力に相当する(ステップS15104)。
第一計算部15105は、第一出力情報zι,1から演算結果uι=fι(λι)xι,1を生成する。演算結果uιの具体例は、第八実施形態から第十実施形態の何れかのbι=1とした演算結果uιである。演算結果uιは第一べき乗計算部11106に送られる(ステップS15105)。
第一べき乗計算部11106はuι’=uι a(ι)を計算する。計算結果uιとその計算結果に基づいて計算されたuι’との組(uι,uι’)は、第一リスト記憶部11107に記憶される(ステップS11106)。
第二計算部15108は、第二出力情報zι,2から演算結果vι=fι(λι)a(ι)xι,2を生成する。演算結果vιの具体例は、第八実施形態から第十実施形態の何れかの演算結果vιである。演算結果vιは第二リスト記憶部15110に記憶される(ステップS15108)。
判定部15111は、第一リスト記憶部11107に記憶された組(uι,uι’)及び第二リスト記憶部15110に記憶されたvιの中で、uι’=vιとなるものがあるか判定する(ステップS15110)。uι’=vιとなるものがあった場合には、ステップS15114に進む。uι’=vιとなるものがなかった場合には、ステップS11111に進む。
ステップS11111では、制御部11113がtι=Tιであるか判定する(ステップS11111)。Tιは予め定められた自然数である。tι=Tιであれば、最終出力部15112が、計算をすることができなかった旨の情報、例えば記号「⊥」を出力して(ステップS11113)、処理を終える。tι=Tιでない場合には、制御部11113は、tιを1だけインクリメント、すなわちtι=tι+1として(ステップS11112)、ステップS15103に戻る。
ステップS15114では、最終出力部15112が、uι’=vιであると判定されたuι’に対応するuιを出力する(ステップS15114)。このように得られたuιは、第七実施形態から第十実施形態でb(ι)=1とした場合のuι b’(ι)vι a’(ι)に相当する。すなわち、このように得られたuιは高い確率で暗号文λιを特定の復号鍵sιで復号した復号結果fι(λι)となる。よって、上述した処理を複数回繰り返し、ステップS15114で得られた値のうち最も頻度の高い値を復号結果fι(λι)とすればよい。後述するように、設定によっては圧倒的な確率でuι=fι(λι)となる。その場合にはステップS15114で得られた値をそのまま復号結果fι(λι)としてよい。その後の処理は第七実施形態で説明したとおりである。
≪復号結果fι(λι)が得られる理由について≫
次に、本形態の計算装置151で復号結果fι(λι)が得られる理由を説明する。ここでは表記の簡略化のためιを省略して説明する。まず、説明に必要な事項を定義する。
次に、本形態の計算装置151で復号結果fι(λι)が得られる理由を説明する。ここでは表記の簡略化のためιを省略して説明する。まず、説明に必要な事項を定義する。
ブラックボックス(black-box):
f(τ)のブラックボックスF(τ)とは、τ∈Hを入力としてz∈Gを出力する処理部を意味する。本形態では、第一出力情報計算部15201及び第二出力情報計算部15202が、それぞれ復号関数f(τ)のブラックボックスF(τ)に相当する。群Hから任意に選択された元τ∈UH及びz=F(τ)に対してz=f(τ)を満たす確率がδ(0<δ≦1)よりも大きい場合、すなわち、
Pr[z=f(τ)|τ∈UH,z=F(τ)]>δ…(8)
を満たすf(τ)のブラックボックスF(τ)のことを、信頼性δ(δ-reliable)のf(τ)のブラックボックスF(τ)という。なお、δは正の値であり、前述した「或る確率」に相当する。
f(τ)のブラックボックスF(τ)とは、τ∈Hを入力としてz∈Gを出力する処理部を意味する。本形態では、第一出力情報計算部15201及び第二出力情報計算部15202が、それぞれ復号関数f(τ)のブラックボックスF(τ)に相当する。群Hから任意に選択された元τ∈UH及びz=F(τ)に対してz=f(τ)を満たす確率がδ(0<δ≦1)よりも大きい場合、すなわち、
Pr[z=f(τ)|τ∈UH,z=F(τ)]>δ…(8)
を満たすf(τ)のブラックボックスF(τ)のことを、信頼性δ(δ-reliable)のf(τ)のブラックボックスF(τ)という。なお、δは正の値であり、前述した「或る確率」に相当する。
自己訂正器(self-corrector):
自己訂正器CF(λ)とは、λ∈Hを入力とし、f(τ)のブラックボックスF(τ)を用いて計算を行い、j∈G∪⊥を出力する処理部を意味する。本形態では、計算装置151が自己訂正器CF(λ)に相当する。
自己訂正器CF(λ)とは、λ∈Hを入力とし、f(τ)のブラックボックスF(τ)を用いて計算を行い、j∈G∪⊥を出力する処理部を意味する。本形態では、計算装置151が自己訂正器CF(λ)に相当する。
オールモスト自己訂正器(almost self-corrector):
自己訂正器CF(λ)が、λ∈Hを入力とし、δ-reliableのf(τ)のブラックボックスF(τ)を用い、正しい値j=f(λ)を出力する確率が、誤った値j≠f(λ)を出力する確率よりも十分大きい場合を想定する。すなわち、
Pr[j=f(λ)|j=CF(λ),j≠⊥]
>Pr[j≠f(λ)|j=CF(λ),j≠⊥]+Δ…(9)
を満たす場合を想定する。なお、Δは或る正の値(0<Δ<1)である。このような場合、自己訂正器CF(λ)はオールモスト自己訂正器であるという。例えば、或る正の値Δ’(0<Δ’<1)に対して
Pr[j=f(λ)|j=CF(λ)]>(1/3)+Δ’
Pr[j=⊥|j=CF(λ)]<1/3
Pr[j≠f(λ)かつj≠⊥|j=CF(λ)]<1/3
を満たす場合、自己訂正器CF(λ)はオールモスト自己訂正器である。Δ’の例はΔ’=1/12や1/3である。
自己訂正器CF(λ)が、λ∈Hを入力とし、δ-reliableのf(τ)のブラックボックスF(τ)を用い、正しい値j=f(λ)を出力する確率が、誤った値j≠f(λ)を出力する確率よりも十分大きい場合を想定する。すなわち、
Pr[j=f(λ)|j=CF(λ),j≠⊥]
>Pr[j≠f(λ)|j=CF(λ),j≠⊥]+Δ…(9)
を満たす場合を想定する。なお、Δは或る正の値(0<Δ<1)である。このような場合、自己訂正器CF(λ)はオールモスト自己訂正器であるという。例えば、或る正の値Δ’(0<Δ’<1)に対して
Pr[j=f(λ)|j=CF(λ)]>(1/3)+Δ’
Pr[j=⊥|j=CF(λ)]<1/3
Pr[j≠f(λ)かつj≠⊥|j=CF(λ)]<1/3
を満たす場合、自己訂正器CF(λ)はオールモスト自己訂正器である。Δ’の例はΔ’=1/12や1/3である。
ローバスト自己訂正器(robust self-corrector):
自己訂正器CF(λ)が、λ∈Hを入力とし、δ-reliableのf(τ)のブラックボックスF(τ)を用い、正しい値j=f(λ)又はj=⊥を出力する確率が圧倒的である場合を想定する。すなわち、無視することができる誤差ξ(0≦ξ<1)に対して
Pr[j=f(λ)またはj=⊥|j=CF(λ)]>1−ξ…(10)
を満たす場合を想定する。このような場合、自己訂正器CF(λ)はローバスト自己訂正器であるという。なお、無視することができる誤差ξの例は、セキュリティパラメータkの関数値ξ(k)である。関数値ξ(k)の例は、任意の多項式p(k)について、十分大きいkに対して{ξ(k)p(k)}が0に収束するものである。関数値ξ(k)の具体例は、ξ(k)=2-kやξ(k)=2-√kなどである。
自己訂正器CF(λ)が、λ∈Hを入力とし、δ-reliableのf(τ)のブラックボックスF(τ)を用い、正しい値j=f(λ)又はj=⊥を出力する確率が圧倒的である場合を想定する。すなわち、無視することができる誤差ξ(0≦ξ<1)に対して
Pr[j=f(λ)またはj=⊥|j=CF(λ)]>1−ξ…(10)
を満たす場合を想定する。このような場合、自己訂正器CF(λ)はローバスト自己訂正器であるという。なお、無視することができる誤差ξの例は、セキュリティパラメータkの関数値ξ(k)である。関数値ξ(k)の例は、任意の多項式p(k)について、十分大きいkに対して{ξ(k)p(k)}が0に収束するものである。関数値ξ(k)の具体例は、ξ(k)=2-kやξ(k)=2-√kなどである。
オールモスト自己訂正器からローバスト自己訂正器を構成することができる。すなわち、同一のλに対してオールモスト自己訂正器を複数回実行させ、⊥を除いて最も頻度が高い出力値をjとすることで、ローバスト自己訂正器を構成できる。例えば、同一のλに対してオールモスト自己訂正器をO(log(1/ξ))回実行させ、最も頻度が高い出力値をjとすることで、ローバスト自己訂正器を構成できる。なお、O(・)はオー記法を表す。
擬似自由(pseudo-free)な作用:
群G、自然数の集合Ω={0,...,M}(Mは1以上の自然数)、群Gに値を持つ確率変数X1,X2の各実現値α∈X1(α≠eg),β∈X2、及びa∈Ωについて、αa=βとなる確率
Pr[αa=βかつα≠eg|a∈UΩ,α∈X1,β∈X2]…(11)
について、あらゆる可能なX1,X2に関する上限値を、組(G,Ω)の疑似自由指標とよび、これをP(G,Ω)と表すことにする。ある無視することができる関数ζ(k)が存在して、
P(G,Ω)<ζ(k)…(12)
である場合、組(G,Ω)によって定義される演算は擬似自由な作用であるという。なお、「αa」は、群Gで定義された演算をαに対してa回作用させることを意味する。無視することができる関数ζ(k)の例は、任意の多項式p(k)について、十分大きいkに対して{ζ(k)p(k)}が0に収束するものである。関数ζ(k)の具体例は、ζ(k)=2-kやζ(k)=2-√kなどである。例えば、セキュリティパラメータkに対し、式(11)の確率がO(2−k)未満である場合、組(G,Ω)によって定義される演算は擬似自由な作用である。例えば、任意の∀α∈Gでα≠egであるものについて、集合Ω・α={a(α)|a∈Ω}の要素数|Ω・α|が2kを超える場合、組(G,Ω)によって定義される演算は擬似自由な作用といえる。なお、a(α)は、aとαに所定の演算を作用させた結果を表す。このような具体例は数多く存在する。例えば、群Gが素数pを法とする剰余群Z/pZであり、素数pが2kのオーダーであり、集合Ω={0,...,p−2}であり、a(α)がαa∈Z/pZであり、α≠egである場合、Ω・α={αa|a=0,...,p−2}={eg,α1,...,αp-2}となり、|Ω・α|=p−1である。素数pが2kのオーダーであるため、ある定数Cが存在して、kが十分大きければ|Ω・α|>C2kを満たす。ここで式(11)の確率はC-12-k未満であり、このような組(G,Ω)によって定義される演算は擬似自由な作用である。
群G、自然数の集合Ω={0,...,M}(Mは1以上の自然数)、群Gに値を持つ確率変数X1,X2の各実現値α∈X1(α≠eg),β∈X2、及びa∈Ωについて、αa=βとなる確率
Pr[αa=βかつα≠eg|a∈UΩ,α∈X1,β∈X2]…(11)
について、あらゆる可能なX1,X2に関する上限値を、組(G,Ω)の疑似自由指標とよび、これをP(G,Ω)と表すことにする。ある無視することができる関数ζ(k)が存在して、
P(G,Ω)<ζ(k)…(12)
である場合、組(G,Ω)によって定義される演算は擬似自由な作用であるという。なお、「αa」は、群Gで定義された演算をαに対してa回作用させることを意味する。無視することができる関数ζ(k)の例は、任意の多項式p(k)について、十分大きいkに対して{ζ(k)p(k)}が0に収束するものである。関数ζ(k)の具体例は、ζ(k)=2-kやζ(k)=2-√kなどである。例えば、セキュリティパラメータkに対し、式(11)の確率がO(2−k)未満である場合、組(G,Ω)によって定義される演算は擬似自由な作用である。例えば、任意の∀α∈Gでα≠egであるものについて、集合Ω・α={a(α)|a∈Ω}の要素数|Ω・α|が2kを超える場合、組(G,Ω)によって定義される演算は擬似自由な作用といえる。なお、a(α)は、aとαに所定の演算を作用させた結果を表す。このような具体例は数多く存在する。例えば、群Gが素数pを法とする剰余群Z/pZであり、素数pが2kのオーダーであり、集合Ω={0,...,p−2}であり、a(α)がαa∈Z/pZであり、α≠egである場合、Ω・α={αa|a=0,...,p−2}={eg,α1,...,αp-2}となり、|Ω・α|=p−1である。素数pが2kのオーダーであるため、ある定数Cが存在して、kが十分大きければ|Ω・α|>C2kを満たす。ここで式(11)の確率はC-12-k未満であり、このような組(G,Ω)によって定義される演算は擬似自由な作用である。
信頼性δγ(δγ-reliable)の乱数化可能標本器:
自然数aが与えられるたびに、δ-reliableのf(τ)のブラックボックスF(τ)を用い、w∈Gについて、確率変数Xに従った標本x’に対応するwax’を返す乱数化可能標本器であって、wax’=waである確率がδγよりも大きい(γは正定数)、すなわち、
Pr[wax’=wa]>δγ…(13)
を満たすものを、信頼性δγな乱数化可能標本器という。本形態の入力情報提供部15104と第二出力情報計算部15202と第二計算部15108との組は、w=f(λ)について、信頼性δγな乱数化可能標本器である。
自然数aが与えられるたびに、δ-reliableのf(τ)のブラックボックスF(τ)を用い、w∈Gについて、確率変数Xに従った標本x’に対応するwax’を返す乱数化可能標本器であって、wax’=waである確率がδγよりも大きい(γは正定数)、すなわち、
Pr[wax’=wa]>δγ…(13)
を満たすものを、信頼性δγな乱数化可能標本器という。本形態の入力情報提供部15104と第二出力情報計算部15202と第二計算部15108との組は、w=f(λ)について、信頼性δγな乱数化可能標本器である。
次に、これらの定義を用い、本形態の計算装置151で復号結果f(λ)が得られる理由を説明する。
本形態のステップS15110ではu’=vであるか、すなわち、ua=vであるかを判定している。本形態の入力情報提供部15104と第二出力情報計算部15202と第二計算部15108との組は信頼性δγな乱数化可能標本器であるため(式(13))、Tをk,δ,γから定まる一定値よりも大きい値とすれば、漸近的に大きい確率でua=vが成立する(ステップS15110でyesとなる)場合が生じる。たとえば、T≧4/δγとすれば、ua=vが成立する(ステップS15110でyesとなる)確率は1/2よりも大きいことがMarkovの不等式によってわかる。
本形態のステップS15110ではu’=vであるか、すなわち、ua=vであるかを判定している。本形態の入力情報提供部15104と第二出力情報計算部15202と第二計算部15108との組は信頼性δγな乱数化可能標本器であるため(式(13))、Tをk,δ,γから定まる一定値よりも大きい値とすれば、漸近的に大きい確率でua=vが成立する(ステップS15110でyesとなる)場合が生じる。たとえば、T≧4/δγとすれば、ua=vが成立する(ステップS15110でyesとなる)確率は1/2よりも大きいことがMarkovの不等式によってわかる。
本形態ではu=f(λ)x1及びv=f(λ)ax2なのであるから、ua=vが成立する場合にはx1 a=x2が成立する。x1 a=x2が成立する場合には、x1=x2=egである場合とx1≠egである場合とがある。x1=x2=egである場合には、u=f(λ)となるのであるから、ステップS15114で出力されるuは正しい復号結果f(λ)となる。一方、x1≠egである場合には、u≠f(λ)となるのであるから、ステップS15114で出力されるuは正しい復号結果f(λ)ではない。
群Gと自然数aが属する集合Ωとの組(G,Ω)によって定義される演算が擬似自由な作用であるか、疑似自由指標P(G,Ω)についてT2P(G,Ω)が漸近的に小さい場合、ua=vの場合にx1≠egである確率(式(11))は漸近的に小さい。したがって、ua=vの場合にx1=egである確率は漸近的に大きい。よって、組(G,Ω)によって定義される演算が擬似自由な作用であるか、T2P(G,Ω)が漸近的に小さい場合、ua=vの場合に誤った復号結果f(λ)が出力される確率は、ua=vの場合に正しい復号結果f(λ)が出力される確率よりも十分小さい。この場合の計算装置151はオールモスト自己訂正器であるといえる(式(9)参照)。そのため、前述のように、計算装置151からローバスト自己訂正器を構成することが可能であり、圧倒的な確率で正しい復号結果f(λ)を得ることができる。(G,Ω)で定義される演算が疑似自由な作用である場合には、ua=vの場合に誤った復号結果f(λ)が出力される確率も無視できる。この場合の計算装置151は、圧倒的な確率で正しい復号結果f(λ)または⊥を出力する。
なお、任意の定数ρに対してk 0が定まり、このk0に対してk0<k’を満たす任意のk’に対する関数値η(k’)がρ未満となる場合「η(k’)が漸近的に小さい」という。k’の例はセキュリティパラメータkである。
任意の定数ρに対してk0が定まり、このk0に対してk0<k’を満たす任意のk’に対する関数値1−η(k’)がρ未満となる場合「η(k’)が漸近的に大きい」という。
なお、aをa/bに置換すれば分かるように、上述の証明は第七実施形態で述べた「u’=v’が成立するのは、第一乱数化可能標本器がu=f(λ)bを正しく計算しており、第二乱数化可能標本器がv=f(λ)aを正しく計算している(x1及びx2が群Gの単位元egである)可能性が高い」ことの証明ともなる。
《信頼性δγな乱数化可能標本器と安全性について》
以下のような攻撃を想定する。
・ブラックボックスF(τ)又はその部分が意図的に不正なzを出力する、又は、ブラックボックスF(τ)から出力された値が不正なzに改ざんされる。
・不正なzに対応するwax’が乱数化可能標本器から出力される。
・不正なzに対応するwax’は、自己訂正器CF(λ)でua=vが成立する(ステップS15110でyesとなる)にもかかわらず、自己訂正器CF(λ)が誤った値を出力する確率を増加させる。
このような攻撃は、与えられた自然数aに対して乱数化可能標本器から出力されたwax’の誤差の確率分布Da=wax’w-aが自然数aに依存する場合に可能となる。例えば、第二計算部15108から出力されるvがf(λ)ax1 aとなるような不正が行われた場合、x1の値にかかわらず、必ずua=vが成立することになる。よって、与えられた自然数aに対して乱数化可能標本器から出力されたwax’の誤差の確率分布Da=wax’w-aが当該自然数aに依存しないことが望ましい。
以下のような攻撃を想定する。
・ブラックボックスF(τ)又はその部分が意図的に不正なzを出力する、又は、ブラックボックスF(τ)から出力された値が不正なzに改ざんされる。
・不正なzに対応するwax’が乱数化可能標本器から出力される。
・不正なzに対応するwax’は、自己訂正器CF(λ)でua=vが成立する(ステップS15110でyesとなる)にもかかわらず、自己訂正器CF(λ)が誤った値を出力する確率を増加させる。
このような攻撃は、与えられた自然数aに対して乱数化可能標本器から出力されたwax’の誤差の確率分布Da=wax’w-aが自然数aに依存する場合に可能となる。例えば、第二計算部15108から出力されるvがf(λ)ax1 aとなるような不正が行われた場合、x1の値にかかわらず、必ずua=vが成立することになる。よって、与えられた自然数aに対して乱数化可能標本器から出力されたwax’の誤差の確率分布Da=wax’w-aが当該自然数aに依存しないことが望ましい。
あるいは、集合Ωのいかなる元a∈∀Ωについても、wax’の誤差の確率分布Da=wax’w-aと区別することができない群Gに値を持つ確率分布Dが存在する(確率分布Daと確率分布Dとが統計的に近似する(statistically-close))乱数化可能標本器であることが望ましい。なお、確率分布Dは自然数aに依存しない。確率分布Daと確率分布Dとを区別することができないとは、多項式時間アルゴリズムによって確率分布Daと確率分布Dとを区別することができないことを意味し、例えば、無視することができるζ(0≦ζ<1)に対して
Σg∈G|Pr[g∈D]−Pr[g∈Da]|<ζ…(14)
を満たすならば、多項式時間アルゴリズムによって確率分布Daと確率分布Dとを区別することができない。無視することができるζの例は、セキュリティパラメータkの関数値ζ(k)である。関数値ζ(k)の例は、任意の多項式p(k)について、十分大きいkに対して{ζ(k)p(k)}が0に収束するものである。関数値ζ(k)の具体例は、ζ(k)=2-kやζ(k)=2-√kなどである。これらの点は自然数a及びbを使用する第七実施形態から第十実施形態についても同様である。
Σg∈G|Pr[g∈D]−Pr[g∈Da]|<ζ…(14)
を満たすならば、多項式時間アルゴリズムによって確率分布Daと確率分布Dとを区別することができない。無視することができるζの例は、セキュリティパラメータkの関数値ζ(k)である。関数値ζ(k)の例は、任意の多項式p(k)について、十分大きいkに対して{ζ(k)p(k)}が0に収束するものである。関数値ζ(k)の具体例は、ζ(k)=2-kやζ(k)=2-√kなどである。これらの点は自然数a及びbを使用する第七実施形態から第十実施形態についても同様である。
[第七実施形態から第十一実施形態の変形例]
第七実施形態から第十一実施形態では、第一出力情報zι,1及び第二出力情報zι,2が計算装置に与えられた場合、計算装置はある確率でuι b’(ι)vι a’(ι)を出力できる。uι b’(ι)vι a’(ι)は高い確率で暗号文λιの復号値となる。一方、第一出力情報zι,1及び第二出力情報zι,2の両方が計算装置に与えられなかった場合、計算装置は暗号文λιの復号値を得ることができない。
第七実施形態から第十一実施形態では、第一出力情報zι,1及び第二出力情報zι,2が計算装置に与えられた場合、計算装置はある確率でuι b’(ι)vι a’(ι)を出力できる。uι b’(ι)vι a’(ι)は高い確率で暗号文λιの復号値となる。一方、第一出力情報zι,1及び第二出力情報zι,2の両方が計算装置に与えられなかった場合、計算装置は暗号文λιの復号値を得ることができない。
第七実施形態から第十一実施形態では、能力提供装置による第一出力情報zι,1及び第二出力情報zι,2の両方の出力の有無を制御することで、計算装置に復号鍵を与えることなく、計算装置による暗号文の復号能力を制御できる。
本発明は上述の実施形態に限定されるものではない。例えば、上述の各実施形態ではωが2以上の整数であるとしたが、ωが1であってもよい。すなわち、能力提供装置が1つのみ存在する構成であってもよい。この場合の計算装置は復元部を含まなくともよく、最終出力部からの出力値をそのまま出力してもよい。例えば、前述した第一実施形態から第五実施形態の何れかのシステムが復号制御装置をさらに有し、復号制御装置が、計算装置の復号処理を制御する復号制御命令を能力提供装置に出力し、能力提供装置が、復号制御命令に従って、第一出力情報計算部及び前記第二出力情報計算部から、第一出力情報z1及び第二出力情報z2の両方が出力されるか否かを制御してもよい。例えば、前述の第六実施形態のシステムが復号制御装置をさらに有し、復号制御装置が、計算装置の復号処理を制御する復号制御命令を能力提供装置に出力し、能力提供装置が、復号制御命令に従って、第一出力情報計算部及び第二出力情報計算部から、第一出力情報Mz1及び第二出力情報Mz2の両方が出力されるか否かを制御してもよい。
確率変数Xι,1、Xι,2及びXι,3は、同じでも異なっていてもよい。
第一乱数生成部、第二乱数生成部、第三乱数生成部、第四乱数生成部、第五乱数生成部、第六乱数生成部及び第七乱数生成部のそれぞれが一様乱数を生成することにより、代理計算システムの安全性を高くできる。しかし、求める安全性のレベルがそれほど高くない場合には、第一乱数生成部、第二乱数生成部、第三乱数生成部、第四乱数生成部、第五乱数生成部、第六乱数生成部及び第七乱数生成部の少なくとも一部が、一様乱数ではない乱数を生成してもよい。演算効率上からは、上述の各実施形態のように0以上K ι,H未満の自然数である乱数や0以上Kι,G未満の自然数である乱数が選択されることが望ましいが、それらの代わりにKι,H以上やKι,G以上の自然数の乱数が選択されてもよい。
第一乱数生成部、第二乱数生成部、第三乱数生成部、第四乱数生成部、第五乱数生成部、第六乱数生成部及び第七乱数生成部のそれぞれが一様乱数を生成することにより、代理計算システムの安全性を高くできる。しかし、求める安全性のレベルがそれほど高くない場合には、第一乱数生成部、第二乱数生成部、第三乱数生成部、第四乱数生成部、第五乱数生成部、第六乱数生成部及び第七乱数生成部の少なくとも一部が、一様乱数ではない乱数を生成してもよい。演算効率上からは、上述の各実施形態のように0以上K ι,H未満の自然数である乱数や0以上Kι,G未満の自然数である乱数が選択されることが望ましいが、それらの代わりにKι,H以上やKι,G以上の自然数の乱数が選択されてもよい。
計算装置が同一のa(ι),b(ι)に対応する第一入力情報τι,1及び第二入力情報τι,2を能力提供装置に提供するたびに、能力提供装置の処理が複数回実行させてもよい。これにより、計算装置が第一入力情報τι,1及び第二入力情報τι,2を能力提供装置に一回提供するたびに、計算装置は第一出力情報zι,1や第二出力情報zι,2や第三出力情報zι,3を複数個得ることができる。これにより、計算装置と能力提供装置との間のやり取り回数や通信量を減らすことができる。
計算装置が複数種類の第一入力情報τι,1及び第二入力情報τι,2を能力提供装置にまとめて提供し、対応する第一出力情報zι,1や第二出力情報zι,2や第三出力情報zι,3を複数個まとめて取得してもよい。これにより、計算装置と能力提供装置との間のやり取り回数を減らすことができる。
各形態ではωが定数であることとしたが、ωの値を代理計算システム内で共有できるのであれば、ωが変数であってもよい。
計算装置の各部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。同様に、能力提供装置の各部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。
計算装置の各部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。同様に、能力提供装置の各部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。
各実施形態の第一計算部や第二計算部において得られたuιやvιが群Gιの元であるかを確認し、群Gιの元であった場合には上述した処理を続行し、uι又はvιが群Gιの元でなかった場合には、計算をすることができなかった旨の情報、例えば記号「⊥」が出力されてもよい。
その他、例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。複数の能力提供装置が1つの装置内に構成されていてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
[第十二実施形態]
本発明の第十二実施形態を説明する。本形態では、Φ個(Φは2以上の整数)の計算装置が1個の能力提供装置を共用して計算を行い、能力提供装置が計算装置からその対価を受ける例を説明する。ただし、これは本発明を限定するものではなく、Φ個の計算装置が複数個の能力提供装置を共用して計算を行ってもよい。
本発明の第十二実施形態を説明する。本形態では、Φ個(Φは2以上の整数)の計算装置が1個の能力提供装置を共用して計算を行い、能力提供装置が計算装置からその対価を受ける例を説明する。ただし、これは本発明を限定するものではなく、Φ個の計算装置が複数個の能力提供装置を共用して計算を行ってもよい。
<構成>
図31に例示するように、第十二実施形態の代理計算システム201は、例えば、Φ個の計算装置211−φ(φ=1,…,Φ)と1個の能力提供装置212とを有する。各装置は情報のやり取りが可能なように構成される。例えば、各装置は伝送線やネットワークや可搬型記録媒体などを経由した情報のやり取りが可能とされている。
図31に例示するように、第十二実施形態の代理計算システム201は、例えば、Φ個の計算装置211−φ(φ=1,…,Φ)と1個の能力提供装置212とを有する。各装置は情報のやり取りが可能なように構成される。例えば、各装置は伝送線やネットワークや可搬型記録媒体などを経由した情報のやり取りが可能とされている。
本形態では、能力提供装置212が群Hφの元を群Gφの元へ写す関数fφを計算する能力(計算能力)を各計算装置211−φに与える。各計算装置211−φはこの能力に対する対価を能力提供装置212に支払う。各計算装置211−φは、提供された能力を用い、群Hφの元xφに対する群Gφの元fφ(xφ)を計算する。
図32に例示するように、第十二実施形態の計算装置211−φは、例えば、自然数記憶部21101−φと自然数選択部21102−φと整数計算部21103−φと入力情報提供部21104−φと第一計算部21105−φと第一べき乗計算部21106−φと第一リスト記憶部21107−φと第二計算部21108−φと第二べき乗計算部21109−φと第二リスト記憶部21110−φと判定部21111−φと最終出力部21112−φと制御部21113−φとを有する。計算装置211−φは、制御部21113−φの制御のもとで各処理を実行する。計算装置211−φの例は、特別なプログラムが読み込まれたCPU(central processing unit)やRAM(random-access memory)を備えた公知又は専用のコンピュータや、サーバ装置やゲートウェイ装置やカードリーダライタ装置や携帯電話などの計算機能と記憶機能とを備えた機器などである。
図32に例示するように、第十二実施形態の計算装置211−φは、例えば、自然数記憶部21101−φと自然数選択部21102−φと整数計算部21103−φと入力情報提供部21104−φと第一計算部21105−φと第一べき乗計算部21106−φと第一リスト記憶部21107−φと第二計算部21108−φと第二べき乗計算部21109−φと第二リスト記憶部21110−φと判定部21111−φと最終出力部21112−φと制御部21113−φとを有する。計算装置211−φは、制御部21113−φの制御のもとで各処理を実行する。計算装置211−φの例は、特別なプログラムが読み込まれたCPU(central processing unit)やRAM(random-access memory)を備えた公知又は専用のコンピュータや、サーバ装置やゲートウェイ装置やカードリーダライタ装置や携帯電話などの計算機能と記憶機能とを備えた機器などである。
図33に例示するように、第十二実施形態の能力提供装置212は、例えば、それぞれ、第一出力情報計算部21201と第二出力情報計算部21202と制御部21205とを有する。能力提供装置212は、制御部21205の制御のもとで各処理を実行する。能力提供装置212の例は、特別なプログラムが読み込まれたCPUやRAMを備えた公知又は専用のコンピュータや、携帯電話などの計算機能と記憶機能とを備えた機器や、ICカードやICチップなどの耐タンパ性モジュールなどである。
<処理の前提>
Gφ,Hφが群(例えば、可換群)であり、Xφ,1,Xφ,2が群Gφに値を持つ確率変数であり、xφ,1が確率変数Xφ,1の実現値であり、xφ,2が確率変数Xφ,2の実現値であり、fφが群Hφの元を群Gφの元へ写す関数であり、a(φ),b(φ)が互いに素である自然数であるとする。fφの具体例は、暗号化関数、復号関数、再暗号化関数、画像処理処理用の関数、音声処理用の関数などである。Gφ=Hφであってもよいし、Gφ≠Hφであってもよい。すべての群Gφ(φ=1,…,Φ)が互いに同一であってもよいし、少なくとも一部のφ’≠φに対する群Gφ’が他の群Gφと相違してもよい。すべての群Hφ(φ=1,…,Φ)が互いに同一であってもよいし、少なくとも一部のφ’≠φに対する群Hφ’が他の群Hφと相違してもよい。以下では群Gφ,Hφ上の演算を乗法的に表現する。a(φ),b(φ)は互いに素な自然数であり、「自然数」とは0以上の整数を表す。群Hφの元Mφに対する群Gφの元fφ(Mφ)a(φ)b(φ)を要素とする集合を「元Mφに対する類CLφ(Mφ)」と呼ぶ。ここでCLφ(Mφ)とCLφ’(Mφ’)(φ’≠φ)とは互いに異なる類である。関数fφ(Mφ)が元Mφに対する単写関数である場合、同一の元Mφに対する類CLφ(Mφ)には、a(φ),b(φ)の組に対して、一つの要素のみが属する。a(φ),b(φ)の組みごとに同一の元Mφに対する類CLφ(Mφ)に一つの要素のみが属する場合、二つの値が同一の元Mφに対する類CLφ(Mφ)に属することと当該二つの値が等しいこととが等価となる。すなわち、関数fφ(Mφ)が元Mφに対する単写関数である場合、二つの値が同一の元Mφに対する類CLφ(Mφ)に属するかの判定は当該二つの値が等しいかを判定することで行うことができる。一方、関数fφ(Mφ)が元Mφに対する単写関数でない場合(例えば、関数fφがElGamal暗号方式のような確率暗号方式の暗号化関数の場合)、平文と暗号化鍵との組に対して複数の暗号文が対応するため、同一の元Mφに対する類CLφ(Mφ)には、a(φ),b(φ)の組に対して、複数の要素が属する。
Gφ,Hφが群(例えば、可換群)であり、Xφ,1,Xφ,2が群Gφに値を持つ確率変数であり、xφ,1が確率変数Xφ,1の実現値であり、xφ,2が確率変数Xφ,2の実現値であり、fφが群Hφの元を群Gφの元へ写す関数であり、a(φ),b(φ)が互いに素である自然数であるとする。fφの具体例は、暗号化関数、復号関数、再暗号化関数、画像処理処理用の関数、音声処理用の関数などである。Gφ=Hφであってもよいし、Gφ≠Hφであってもよい。すべての群Gφ(φ=1,…,Φ)が互いに同一であってもよいし、少なくとも一部のφ’≠φに対する群Gφ’が他の群Gφと相違してもよい。すべての群Hφ(φ=1,…,Φ)が互いに同一であってもよいし、少なくとも一部のφ’≠φに対する群Hφ’が他の群Hφと相違してもよい。以下では群Gφ,Hφ上の演算を乗法的に表現する。a(φ),b(φ)は互いに素な自然数であり、「自然数」とは0以上の整数を表す。群Hφの元Mφに対する群Gφの元fφ(Mφ)a(φ)b(φ)を要素とする集合を「元Mφに対する類CLφ(Mφ)」と呼ぶ。ここでCLφ(Mφ)とCLφ’(Mφ’)(φ’≠φ)とは互いに異なる類である。関数fφ(Mφ)が元Mφに対する単写関数である場合、同一の元Mφに対する類CLφ(Mφ)には、a(φ),b(φ)の組に対して、一つの要素のみが属する。a(φ),b(φ)の組みごとに同一の元Mφに対する類CLφ(Mφ)に一つの要素のみが属する場合、二つの値が同一の元Mφに対する類CLφ(Mφ)に属することと当該二つの値が等しいこととが等価となる。すなわち、関数fφ(Mφ)が元Mφに対する単写関数である場合、二つの値が同一の元Mφに対する類CLφ(Mφ)に属するかの判定は当該二つの値が等しいかを判定することで行うことができる。一方、関数fφ(Mφ)が元Mφに対する単写関数でない場合(例えば、関数fφがElGamal暗号方式のような確率暗号方式の暗号化関数の場合)、平文と暗号化鍵との組に対して複数の暗号文が対応するため、同一の元Mφに対する類CLφ(Mφ)には、a(φ),b(φ)の組に対して、複数の要素が属する。
各計算装置211−φ(図32)の自然数記憶部21101−φに、互いに素である2つの自然数a(φ),b(φ)の組(a(φ),b(φ))が複数種類記憶されているものとする。Iφを群Gφの位数未満の2つの自然数の組で互いに素なものの集合とすると、自然数記憶部21101−φにはIφの部分集合Sφに対応する自然数a(φ),b(φ)の組(a(φ),b(φ))が記憶されていると考えることができる。
<処理>
計算装置211−φが能力提供装置212を利用して行う処理を説明する。これらの処理は処理を行う何れか1つの計算装置211−φが能力提供装置212を或る時間占有した状態で実行されてもよいし、処理を行う複数の計算装置211−φが能力提供装置212にアクセスして並列に実行されてもよい。
計算装置211−φが能力提供装置212を利用して行う処理を説明する。これらの処理は処理を行う何れか1つの計算装置211−φが能力提供装置212を或る時間占有した状態で実行されてもよいし、処理を行う複数の計算装置211−φが能力提供装置212にアクセスして並列に実行されてもよい。
群Hφの元xφが計算装置211−φ(図32)の入力情報提供部21104−φに入力される。既に元xφが入力情報提供部21104−φに入力されている場合にはこの処理が省略されてもよい。
図37に例示するように、元xφが入力情報提供部21104−φに入力された計算装置211−φの自然数選択部21102−φは、自然数記憶部21101−φに記憶された複数の自然数の組(a(φ),b(φ))から1つの自然数の組(a(φ),b(φ))をランダムに読み込む。読み込まれた自然数の組(a(φ),b(φ))少なくとも一部の情報は、整数計算部21103−φ、入力情報提供部21104−φ、第一べき乗計算部21106−φ及び第二べき乗計算部21109−φに送られる(ステップS21100)。
図37に例示するように、元xφが入力情報提供部21104−φに入力された計算装置211−φの自然数選択部21102−φは、自然数記憶部21101−φに記憶された複数の自然数の組(a(φ),b(φ))から1つの自然数の組(a(φ),b(φ))をランダムに読み込む。読み込まれた自然数の組(a(φ),b(φ))少なくとも一部の情報は、整数計算部21103−φ、入力情報提供部21104−φ、第一べき乗計算部21106−φ及び第二べき乗計算部21109−φに送られる(ステップS21100)。
整数計算部21103−φは、送られた自然数の組(a(φ),b(φ))を用いて、a’(φ)a(φ)+b’(φ)b(φ)=1の関係を満たす整数a’(φ),b’(φ)を計算する。自然数a(φ),b(φ)は互いに素であるため、a’(φ)a(φ)+b’(φ)b(φ)=1の関係を満たす整数a’(φ),b’(φ)は必ず存在して、その計算方法もよく知られている。たとえば拡張互除法などのよく知られたアルゴリズムによって整数a’(φ),b’(φ)が計算され、自然数の組(a’(φ),b’(φ))の情報は、最終出力部21112−φに送られる(ステップS21101)。
制御部21113−φは、t=1とする(ステップS21102)。
入力情報提供部21104−φは、入力された元xφにそれぞれ対応する第一入力情報τφ,1及び第二入力情報τφ,2を生成して出力する。好ましくは、第一入力情報τφ,1及び第二入力情報τφ,2はそれぞれ元xφとの関係をかく乱させた情報である。これにより、計算装置211−φは、元xφを能力提供装置212に対して隠蔽できる。好ましくは、本形態の第一入力情報τφ,1は自然数選択部21102−φで選択された自然数b(φ)にさらに対応し、第二入力情報τφ,2は自然数選択部21102−φで選択された自然数a(φ)にさらに対応する。これにより、能力提供装置212から提供された計算能力を計算装置211−φが高い精度で評価することができる(ステップS21103)。
入力情報提供部21104−φは、入力された元xφにそれぞれ対応する第一入力情報τφ,1及び第二入力情報τφ,2を生成して出力する。好ましくは、第一入力情報τφ,1及び第二入力情報τφ,2はそれぞれ元xφとの関係をかく乱させた情報である。これにより、計算装置211−φは、元xφを能力提供装置212に対して隠蔽できる。好ましくは、本形態の第一入力情報τφ,1は自然数選択部21102−φで選択された自然数b(φ)にさらに対応し、第二入力情報τφ,2は自然数選択部21102−φで選択された自然数a(φ)にさらに対応する。これにより、能力提供装置212から提供された計算能力を計算装置211−φが高い精度で評価することができる(ステップS21103)。
図38に例示するように、第一入力情報τφ,1は能力提供装置212(図33)の第一出力情報計算部21201に入力され、第二入力情報τφ,2は第二出力情報計算部21202に入力される(ステップS21200)。
第一出力情報計算部21201は、第一入力情報τφ,1を用い、或る確率より大きな確率でfφ(τφ,1)を正しく計算し、得られた計算結果を第一出力情報zφ,1とする(ステップS21201)。第二出力情報計算部21202は、第二入力情報τφ,2を用い、或る確率より大きな確率でfφ(τφ,2)を正しく計算し、得られた演算結果を第二出力情報zφ,2とする(ステップS21202)。なお、「或る確率」は100%未満の確率である。「或る確率」の例は無視することができない確率であり、「無視することができない確率」の例は、セキュリティパラメータkについての広義単調増加関数である多項式を多項式ψ(k)とした場合の1/ψ(k)以上の確率である。すなわち、第一出力情報計算部21201や第二出力情報計算部21202は、意図的又は意図的ではない誤差を含んだ計算結果を出力し得る。言い換えると、第一出力情報計算部21201での計算結果がfφ(τφ,1)の場合もあればfφ(τφ,1)でない場合もあり、第二出力情報計算部21202での計算結果がfφ(τφ,2)の場合もあればfφ(τφ,2)でない場合もある。第一出力情報計算部21201は第一出力情報zφ,1を出力し、第二出力情報計算部21202は第二出力情報zφ,2を出力する(ステップS21203)。
図37に戻り、第一出力情報zφ,1は計算装置211−φ(図32)の第一計算部21105−φに入力され、第二出力情報zφ,2は第二計算部21108−φに入力される。これらの第一出力情報zφ,1及び第二出力情報zφ,2が、能力提供装置212から計算装置211−φに与えられた計算能力に相当する(ステップS21104)。計算能力が与えられた計算装置211−φの利用者は、その対価を能力提供装置212に対して支払う。対価の支払い方法は、例えば、公知の電子決済処理などによって行えばよい。
第一計算部21105−φは、第一出力情報zφ,1から演算結果uφ=fφ(xφ)b(φ)xφ,1を生成する。ここで、fφ(xφ)b(φ)xφ,1を生成(計算)するとは、fφ(xφ)b(φ)xφ,1と定義される式の値を計算することである。式fφ(xφ)b(φ)xφ,1の値を最終的に計算することができれば、途中の計算方法は問わない。これは、この出願で登場する他の式の計算についても同様である。演算結果uφは第一べき乗計算部21106−φに送られる(ステップS21105)。
第一べき乗計算部21106−φはuφ’=uφ a(φ)を計算する。計算結果uφとその計算結果に基づいて計算されたuφ’との組(uφ,uφ’)は、第一リスト記憶部21107−φに記憶される(ステップS21106)。
判定部21111−φは、第一リスト記憶部21107−φに記憶された組(uφ,uφ’)及び第二リスト記憶部21110−φに記憶された組(vφ,vφ’)の中で、uφ’とvφ’とが互いに同一の元Mφに対する類CLφ(Mφ)に属するものがあるかを判定する。Mφ=xφであることまでは判定できなくてもよい(以下同様)。言い換えると、判定部21111−φは、同一の元Mφに対する類CLφ(Mφ)に属するuφ’とvφ’との組があるか判定する。例えば、関数fφ(Mφ)が元Mφに対する単写関数である場合、判定部21111−φはuφ’=vφ’であるかを判定する(ステップS21107)。もし、第二リスト記憶部21110−φに組(vφ,vφ’)が記憶されていない場合には、このステップS21107の処理を行わずに、次のステップS21108の処理を行う。同一の元Mφに対する類CLφ(Mφ)に属するuφ’とvφ’との組があった場合には、ステップS21114に進む。同一の元Mφに対する類CLφ(Mφ)に属するuφ’とvφ’との組がなかった場合には、ステップS21108に進む。
ステップS21108では、第二計算部21108−φが、第二出力情報zφ,2から演算結果vφ=fφ(xφ)a(φ)xφ,2を生成する。演算結果vφは第二べき乗計算部21109−φに送られる(ステップS21108)。
第二べき乗計算部21109−φはvφ’=vφ b(φ)を計算する。計算結果vφとその計算結果に基づいて計算されたvφ’との組(vφ,vφ’)は、第二リスト記憶部21110−φに記憶される(ステップS21109)。
判定部21111−φは、第一リスト記憶部21107−φに記憶された組(uφ,uφ’)及び第二リスト記憶部21110−φに記憶された組(vφ,vφ’)の中で、uφ’とvφ’とが互いに同一の元Mφに対する類CLφ(Mφ)に属するものがあるかを判定する。例えば、関数fφ(Mφ)が元Mφに対する単写関数である場合、判定部21111−φはuφ’=vφ’であるかを判定する(ステップS21110)。同一の元Mφに対する類CLφ(Mφ)に属するuφ’とvφ’との組があった場合には、ステップS21114に進む。同一の元Mφに対する類CLφ(Mφ)に属するuφ’とvφ’との組がなかった場合には、ステップS21111に進む。
ステップS21111では、制御部21113−φがt=Tであるか判定する(ステップS21111)。Tは予め定められた自然数である。Tはすべてのφについて同一値であってもよいし、φについての自己訂正処理でのTの値と、φ’(φ’≠φ,φ’=1,…,Φ)についての自己訂正処理でのTの値が相違する場合があってもよい。t=Tであれば、最終出力部21112−φが、計算をすることができなかった旨の情報、例えば記号「⊥」を出力して(ステップS21113)、処理を終える。t=Tでない場合には、制御部21113−φは、tを1だけインクリメント、すなわちt=t+1(t+1を新たなt)として(ステップS21112)、ステップS21103に戻る。
計算をすることができなかった旨の情報(この例では記号「⊥」)は、能力提供装置212が正しく計算を行う信頼性がTで定められる基準を下回るということを意味する。言い換えれば、T回の繰り返しで正しい演算を行うことができなかったということを意味する。
ステップS21114では、最終出力部21112−φが、同一の元Mφに対する類CLφ(Mφ)に属すると判定されたuφ’とvφ’との組に対応するuφ及びvφを用いてuφ b’(φ)vφ a’(φ)を計算して、出力して処理を終える(ステップS21114)。
以上のように計算されたuφ b’(φ)vφ a’(φ)は、高い確率でfφ(xφ)∈Gφとなる(高い確率でuφ b’(φ)vφ a’(φ)=fφ(xφ)となる理由については後述する)。よって、少なくともφについての上述処理を複数回繰り返し、ステップS21114で得られた値のうち最も頻度の高いuφ b’(φ)vφ a’(φ)を選択すれば、uφ b’(φ)vφ a’(φ)=fφ(xφ)であることの信頼度(確率など)は所定値以上となる。後述するように、設定によっては圧倒的な確率でuφ b’(φ)vφ a’(φ)=fφ(xφ)となる。このことは能力提供装置212が必ずしも正しい返答をするとは限らない場合にも成り立つため、計算装置211−φは能力提供装置212の正当性を確認するための認証処理を必要としない。他の計算装置211−φ’(φ’≠φ)と能力提供装置212との処理内容が計算装置211−φと能力提供装置212との間の処理内容に影響を与えたとしても、能力提供装置212が或る確率より大きな確率で正しい返答をするのであれば計算装置211−φは正しい答えを計算結果fφ(xφ)を得ることができる。
≪高い確率でuφ b’(φ)vφ a’(φ)=fφ(xφ)となる理由について≫
Xφを群Gφに値を持つ確率変数とする。wφ∈G φ について、要求を受けるたびに確率変数Xφに従った標本xφ’に対応するwφxφ’を返すものを、wφについて誤差Xφを持つ標本器(sampler)と呼ぶ。
wφ∈Gφについて、自然数a(φ)が与えられるたびに確率変数Xφに従った標本xφ’に対応するwφ a(φ)xφ’を返すものを、wφについて誤差Xφを持つ乱数化可能標本器(randomizable sampler)と呼ぶ。乱数化可能標本器はa(φ)=1として用いられれば標本器として機能する。
Xφを群Gφに値を持つ確率変数とする。wφ∈G φ について、要求を受けるたびに確率変数Xφに従った標本xφ’に対応するwφxφ’を返すものを、wφについて誤差Xφを持つ標本器(sampler)と呼ぶ。
wφ∈Gφについて、自然数a(φ)が与えられるたびに確率変数Xφに従った標本xφ’に対応するwφ a(φ)xφ’を返すものを、wφについて誤差Xφを持つ乱数化可能標本器(randomizable sampler)と呼ぶ。乱数化可能標本器はa(φ)=1として用いられれば標本器として機能する。
本実施形態の入力情報提供部21104−φと第一出力情報計算部21201と第一計算部21105−φとの組み合わせが、fφ(xφ)について誤差Xφ,1を持つ乱数化可能標本器(「第一乱数化可能標本器」と呼ぶ)であり、入力情報提供部21104−φと第二出力情報計算部21202と第二計算部21108−φとの組み合わせが、fφ(xφ)について誤差Xφ,2を持つ乱数化可能標本器(「第二乱数化可能標本器」と呼ぶ)である。
uφ’とvφ’とが互いに同一の元Mφに対する類CLφ(Mφ)に属するのは、第一乱数化可能標本器がuφ=fφ(xφ)b(φ)を正しく計算しており、第二乱数化可能標本器がvφ=fφ(xφ)a(φ)を正しく計算している(xφ,1及びxφ,2が群Gφの単位元eφ,gである)可能性が高いことを発明者は見出した。説明の簡略化の観点から、この証明は第十八実施形態で行う。
第一乱数化可能標本器がuφ=fφ(xφ)b(φ)を正しく計算しており、第二乱数化可能標本器がvφ=fφ(xφ)a(φ)を正しく計算しているとき(xφ,1及びxφ,2が群Gφの単位元eφ,gであるとき)、uφ b’(φ)=(fφ(xφ)b(φ)xφ,1)b’(φ)=(fφ(xφ)b(φ)eφ,g)b’(φ)=fφ(xφ)b(φ)b’(φ)となり、vφ a’(φ)=(fφ(xφ)a(φ)xφ,2)a’(φ)=(fφ(xφ)a(φ)eφ,g)a’(φ)=fφ(xφ)a(φ)a’(φ)となる。そのため、関数fφ(Mφ)が元Mφに対する単写関数である場合、uφ b’(φ)vφ a’(φ)=fφ(xφ)(b(φ)b’(φ)+a(φ)a’(φ))=fφ(xφ)となる。一方、関数fφ(Mφ)が元Mφに対する単写関数でない場合であったとしても準同型関数なのであれば、uφ b’(φ)vφ a’(φ)=fφ(xφ ) (b(φ)b’(φ)+a(φ)a’(φ)) =fφ(xφ)となる。
(q1,q2)∈Iについて、i=1,2の各々について関数πiをπi(q1,q2)=qiで定義する。さらに、L=min(♯π1(S),♯π2(S))とする。♯・は、集合・の位数である。群Gφが巡回群や位数の計算が困難な群であるときには、計算装置211−φが「⊥」以外を出力するときの出力がfφ(xφ)ではない確率は、無視できる程度の誤差の範囲で高々T2L/♯S程度と期待することができる。もしL/♯Sが無視できる量でTが多項式オーダー程度の量であれば、計算装置211−φは圧倒的な確率で正しいfφ(xφ)を出力する。L/♯Sが無視できる量になるようなSの例には、例えばS={(1,d)|d∈[2,|Gφ|−1]}がある。
[第十三実施形態]
第十三実施形態の代理計算システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した例である。以下、第十二実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。以下の説明において、同一の参照番号が付された部分は同一の機能を持つものとし、同一の参照番号が付されたステップは同一の処理を表すものとする。
第十三実施形態の代理計算システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した例である。以下、第十二実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。以下の説明において、同一の参照番号が付された部分は同一の機能を持つものとし、同一の参照番号が付されたステップは同一の処理を表すものとする。
<構成>
図31に例示するように、第十三実施形態の代理計算システム202は、計算装置211−φが計算装置221−φに置換され、能力提供装置212が能力提供装置222に置換されたものである。
図31に例示するように、第十三実施形態の代理計算システム202は、計算装置211−φが計算装置221−φに置換され、能力提供装置212が能力提供装置222に置換されたものである。
図32に例示するように、第十三実施形態の計算装置221−φは、例えば、自然数記憶部21101−φと自然数選択部21102−φと整数計算部21103−φと入力情報提供部22104−φと第一計算部22105−φと第一べき乗計算部21106−φと第一リスト記憶部21107−φと第二計算部22108−φと第二べき乗計算部21109−φと第二リスト記憶部21110−φと判定部21111−φと最終出力部21112−φと制御部21113−φとを有する。図34に例示するように、本形態の入力情報提供部22104−φは、例えば、第一乱数生成部22104a−φと第一入力情報計算部22104b−φと第二乱数生成部22104c−φと第二入力情報計算部22104d−φとを有する。
図33に例示するように、第十三実施形態の能力提供装置222は、例えば、それぞれ、第一出力情報計算部22201と第二出力情報計算部22202と制御部21205とを有する。
<処理の前提>
第十三実施形態では、関数fφを準同型関数とし、群Hφを巡回群とし、群Hφの生成元をμφ,h、群Hφの位数をKφ,H、νφ=fφ(μφ,h)とする。その他の前提は、計算装置211−φが計算装置221−φに置換され、能力提供装置212が能力提供装置222に置換されている以外、第十二実施形態と同一である。
第十三実施形態では、関数fφを準同型関数とし、群Hφを巡回群とし、群Hφの生成元をμφ,h、群Hφの位数をKφ,H、νφ=fφ(μφ,h)とする。その他の前提は、計算装置211−φが計算装置221−φに置換され、能力提供装置212が能力提供装置222に置換されている以外、第十二実施形態と同一である。
<処理>
図37及び図38に例示するように、第十三実施形態の処理は第十二実施形態のステップS21103〜S21105,S21108,S21200〜S21203が、それぞれ、ステップS22103〜S22105,S22108,S22200〜S22203に置換されたものである。以下ではステップS22103〜S22105,S22108,S22200〜S22203の処理のみを説明する。
図37及び図38に例示するように、第十三実施形態の処理は第十二実施形態のステップS21103〜S21105,S21108,S21200〜S21203が、それぞれ、ステップS22103〜S22105,S22108,S22200〜S22203に置換されたものである。以下ではステップS22103〜S22105,S22108,S22200〜S22203の処理のみを説明する。
《ステップS22103の処理》
計算装置221−φ(図32)の入力情報提供部22104−φは、入力された元xφにそれぞれ対応する第一入力情報τφ,1及び第二入力情報τφ,2を生成して出力する(図37/ステップS22103)。以下、図39を用いて本形態のステップS22103の処理を説明する。
計算装置221−φ(図32)の入力情報提供部22104−φは、入力された元xφにそれぞれ対応する第一入力情報τφ,1及び第二入力情報τφ,2を生成して出力する(図37/ステップS22103)。以下、図39を用いて本形態のステップS22103の処理を説明する。
第一乱数生成部22104a−φ(図34)は、0以上Kφ,H未満の自然数の一様乱数r(φ,1)を生成する。生成された乱数r(φ,1)は、第一入力情報計算部22104b−φ及び第一計算部22105−φに送られる(ステップS22103a)。第一入力情報計算部22104b−φは、入力された乱数r(φ,1)と元xφと自然数b(φ)とを用いて第一入力情報τφ,1=μφ,h r(φ,1)xφ b(φ)を計算する(ステップS22103b)。
第二乱数生成部22104c−φは、0以上Kφ,H未満の自然数の一様乱数r(φ,2)を生成する。生成された乱数r(φ,2)は、第二入力情報計算部22104d−φ及び第二計算部22108−φに送られる(ステップS22103c)。第二入力情報計算部22104d−φは、入力された乱数r(φ,2)と元xφと自然数a(φ)とを用いて第二入力情報τφ,2=μφ,h r(φ,2)xφ a(φ)を計算する(ステップS22103d)。
第一入力情報計算部22104b−φ及び第二入力情報計算部22104d−φは、以上のように生成した第一入力情報τφ,1及び第二入力情報τφ,2を出力する(ステップS22103e)。なお、本形態の第一入力情報τφ,1及び第二入力情報τφ,2は、それぞれ、乱数r(φ,1),r(φ,2)によって元xφとの関係をかく乱させた情報である。これにより、計算装置221−φは、元xφを能力提供装置222に対して隠蔽できる。本形態の第一入力情報τφ,1は自然数選択部21102−φで選択された自然数b(φ)にさらに対応し、第二入力情報τφ,2は自然数選択部21102−φで選択された自然数a(φ)にさらに対応する。これにより、能力提供装置222から提供された計算能力を計算装置221−φが高い精度で評価することができる。
《ステップS22200〜S22203の処理》
図38に例示するように、まず、第一入力情報τφ,1=μφ,h r(φ,1)xφ b(φ)が能力提供装置222(図33)の第一出力情報計算部22201に入力され、第二入力情報τφ,2=μφ,h r(φ,2)xφ a(φ)が第二出力情報計算部22202に入力される(ステップS22200)。
図38に例示するように、まず、第一入力情報τφ,1=μφ,h r(φ,1)xφ b(φ)が能力提供装置222(図33)の第一出力情報計算部22201に入力され、第二入力情報τφ,2=μφ,h r(φ,2)xφ a(φ)が第二出力情報計算部22202に入力される(ステップS22200)。
第一出力情報計算部22201は、第一入力情報τφ,1=μφ,h r(φ,1)xφ b(φ)を用い、或る確率より大きな確率でfφ(μφ,h r(φ,1)xφ b(φ))を正しく計算し、得られた計算結果を第一出力情報zφ,1とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第一出力情報計算部22201での計算結果がfφ(μφ,h r(φ,1)xφ b(φ))となる場合もあれば、fφ(μφ,h r(φ,1)xφ b(φ))とならない場合もある(ステップS22201)。
第二出力情報計算部22202は、第二入力情報τφ,2=μφ,h r(φ,2)xφ a(φ)を用い、或る確率より大きな確率でfφ(μφ,h r(φ,2)xφ a(φ))を正しく計算し、得られた計算結果を第二出力情報zφ,2とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第二出力情報計算部22202での計算結果がfφ(μφ,h r(φ,2)xφ a(φ))となる場合もあれば、fφ(μφ,h r(φ,2)xφ a(φ))とならない場合もある(ステップS22202)。
第一出力情報計算部22201は第一出力情報zφ,1を出力し、第二出力情報計算部22202は第二出力情報zφ,2を出力する(ステップS22203)。
《ステップS22104及びS22105の処理》
図37に戻り、第一出力情報zφ,1は計算装置221−φ(図32)の第一計算部22105−φに入力され、第二出力情報zφ,2は第二計算部22108−φに入力される。これらの第一出力情報zφ,1及び第二出力情報zφ,2が、能力提供装置222から計算装置221−φに与えられた計算能力に相当する(ステップS22104)。
図37に戻り、第一出力情報zφ,1は計算装置221−φ(図32)の第一計算部22105−φに入力され、第二出力情報zφ,2は第二計算部22108−φに入力される。これらの第一出力情報zφ,1及び第二出力情報zφ,2が、能力提供装置222から計算装置221−φに与えられた計算能力に相当する(ステップS22104)。
第一計算部22105−φは、入力された乱数r(φ,1)及び第一出力情報zφ,1を用いてzφ,1νφ -r(φ,1)を計算してその計算結果をuφとする。計算結果uφは、第一べき乗計算部21106−φに送られる。ここで、uφ=zφ,1νφ -r(φ,1)=fφ(xφ)b(φ)xφ,1となる。すなわち、zφ,1νφ -r(φ,1)は、fφ(xφ)について誤差Xφ,1を持つ乱数化可能標本器の出力となる。その理由については後述する(ステップS22105)。
《ステップS22108の処理》
第二計算部22108−φは、入力された乱数r(φ,2)及び第二出力情報zφ,2を用いてzφ,2νφ -r(φ,2)を計算してその計算結果をvφとする。計算結果vφは、第二べき乗計算部21109−φに送られる。ここで、vφ=zφ,2νφ -r(φ,2)=fφ(xφ)a(φ)xφ,2となる。すなわち、zφ,2νφ -r(φ,2)は、fφ(xφ)について誤差Xφ,2を持つ乱数化可能標本器の出力となる。その理由については後述する(ステップS22108)。
第二計算部22108−φは、入力された乱数r(φ,2)及び第二出力情報zφ,2を用いてzφ,2νφ -r(φ,2)を計算してその計算結果をvφとする。計算結果vφは、第二べき乗計算部21109−φに送られる。ここで、vφ=zφ,2νφ -r(φ,2)=fφ(xφ)a(φ)xφ,2となる。すなわち、zφ,2νφ -r(φ,2)は、fφ(xφ)について誤差Xφ,2を持つ乱数化可能標本器の出力となる。その理由については後述する(ステップS22108)。
≪zφ,1νφ -r(φ,1),zφ,2νφ -r(φ,2)がfφ(xφ)についてそれぞれ誤差Xφ,1,Xφ,2を持つ乱数化可能標本器の出力となる理由について≫
cを自然数、R及びR’を乱数として、能力提供装置222がμφ,h Rxφ cを用いて行う計算の計算結果をB(μφ,h Rxφ c)とする。すなわち、第一出力情報計算部22201や第二出力情報計算部22202が計算装置221−φに返す計算結果をzφ=B(μφ,h Rxφ c)とする。さらに、群Gφに値を持つ確率変数XφをXφ=B(μφ,h R’)fφ(μφ,h R’)-1と定義する。
cを自然数、R及びR’を乱数として、能力提供装置222がμφ,h Rxφ cを用いて行う計算の計算結果をB(μφ,h Rxφ c)とする。すなわち、第一出力情報計算部22201や第二出力情報計算部22202が計算装置221−φに返す計算結果をzφ=B(μφ,h Rxφ c)とする。さらに、群Gφに値を持つ確率変数XφをXφ=B(μφ,h R’)fφ(μφ,h R’)-1と定義する。
このとき、zφνφ -R=B(μφ,h Rxφ c)f(μφ,h)-R=Xφfφ(μφ,h Rxφ c)fφ(μφ,h)-R=Xφfφ(μφ,h)Rfφ(xφ)cfφ(μφ,h)-R=fφ(xφ)cXφとなる。すなわち、zφνφ -Rは、fφ(xφ)について誤差Xφを持つ乱数化可能標本器の出力となる。
上記式展開において、Xφ=B(μφ,h R’)fφ(μφ,h R’)-1=B(μφ,h Rxφ c)fφ(μφ,h Rxφ c)-1であり、B(μφ,h Rxφ c)=Xφfφ(μφ,h Rxφ c)であるという性質を用いている。この性質は、関数fφが準同型関数であり、R及びR’が乱数であることに基づく。
したがって、a(φ),b(φ)が自然数、r(φ,1),r(φ,2)が乱数であることを考慮すると、同様に、zφ,1ν-r(φ,1),zφ,2ν-r(φ,2)がfφ(xφ)についてそれぞれ誤差Xφ,1,Xφ,2を持つ乱数化可能標本器の出力となるのである。
[第十四実施形態]
第十四実施形態は第十三実施形態の変形例であり、a(φ)=1やb(φ)=1のときに前述した標本器によってuφ又はvφの値を計算する。一般に乱数化可能標本器よりも標本器の計算量は小さい。a(φ)=1やb(φ)=1のときに乱数化可能標本器に代わり、標本器が計算を行うことで、代理計算システムの計算量を小さくすることができる。以下、第十二実施形態及び第十三実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。
第十四実施形態は第十三実施形態の変形例であり、a(φ)=1やb(φ)=1のときに前述した標本器によってuφ又はvφの値を計算する。一般に乱数化可能標本器よりも標本器の計算量は小さい。a(φ)=1やb(φ)=1のときに乱数化可能標本器に代わり、標本器が計算を行うことで、代理計算システムの計算量を小さくすることができる。以下、第十二実施形態及び第十三実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。
<構成>
図31に例示するように、第十四実施形態の代理計算システム203は、計算装置221−φが計算装置231−φに置換され、能力提供装置222が能力提供装置232に置換されたものである。
図31に例示するように、第十四実施形態の代理計算システム203は、計算装置221−φが計算装置231−φに置換され、能力提供装置222が能力提供装置232に置換されたものである。
図32に例示するように、第十四実施形態の計算装置231−φは、例えば、自然数記憶部21101−φと自然数選択部21102−φと整数計算部21103−φと入力情報提供部22104−φと第一計算部22105−φと第一べき乗計算部21106−φと第一リスト記憶部21107−φと第二計算部22108−φと第二べき乗計算部21109−φと第二リスト記憶部21110−φと判定部21111−φと最終出力部21112−φと制御部21113−φと第三計算部23109−φとを有する。
図33に例示するように、第十四実施形態の能力提供装置232は、例えば、第一出力情報計算部22201と第二出力情報計算部22202と制御部21205と第三出力情報計算部23203とを有する。
<処理>
次に本形態の処理を説明する。第十三実施形態との相違点を説明する。
図37及び図38に例示するように、第十四実施形態の処理は第十三実施形態のステップS22103〜S22105,S22108,S22200〜S22203が、それぞれ、ステップS23103〜S23105,S23108,S22200〜S22203及びS23205〜S23209に置換されたものである。以下ではステップS23103〜S23105,S23108,S22200〜S22203及びS23205〜S23209の処理を中心に説明する。
次に本形態の処理を説明する。第十三実施形態との相違点を説明する。
図37及び図38に例示するように、第十四実施形態の処理は第十三実施形態のステップS22103〜S22105,S22108,S22200〜S22203が、それぞれ、ステップS23103〜S23105,S23108,S22200〜S22203及びS23205〜S23209に置換されたものである。以下ではステップS23103〜S23105,S23108,S22200〜S22203及びS23205〜S23209の処理を中心に説明する。
《ステップS23103の処理》
計算装置231−φ(図32)の入力情報提供部23104−φは、入力された元xφにそれぞれ対応する第一入力情報τφ,1及び第二入力情報τφ,2を生成して出力する(図37/ステップS23103)。
計算装置231−φ(図32)の入力情報提供部23104−φは、入力された元xφにそれぞれ対応する第一入力情報τφ,1及び第二入力情報τφ,2を生成して出力する(図37/ステップS23103)。
以下、図39を用いて本形態のステップS23103の処理を説明する。
制御部21113−φ(図32)は、自然数選択部21102−φで選択された自然数(a(φ),b(φ))に応じて入力情報提供部23104−φを制御する。
制御部21113−φ(図32)は、自然数選択部21102−φで選択された自然数(a(φ),b(φ))に応じて入力情報提供部23104−φを制御する。
制御部21113−φでb(φ)が1であるかが判定され(ステップS23103a)、b(φ)≠1であると判定された場合、前述のステップS22103a及びS22103bの処理が実行され、ステップS23103gに進む。
一方、ステップS23103aでb(φ)=1であると判定された場合、第三乱数生成部23104e−φが、0以上Kφ,H未満の自然数の乱数r(φ,3)を生成する。生成された乱数r(φ,3)は第三入力情報計算部23104f−φ及び第三計算部23109−φに送られる(ステップS23103b)。第三入力情報計算部23104f−φは、入力された乱数r(φ,3)と元xφとを用いてxφ r(φ,3)を計算し、これを第一入力情報τφ,1とする(ステップS23103c)。その後、ステップS23103gに進む。
ステップS23103gでは、制御部21113−φでa(φ)が1であるかが判定され(ステップS23103g)、a(φ)≠1であると判定された場合、前述のステップS22103c及びステップS22103dの処理が実行される。
一方、ステップS23103gでa(φ)=1であると判定された場合、第三乱数生成部23104e−φが、0以上Kφ,H未満の自然数の乱数r(φ,3)を生成する。生成された乱数r(φ,3)は第三入力情報計算部23104f−φに送られる(ステップS23103h)。第三入力情報計算部23104f−φは、入力された乱数r(φ,3)と元xφとを用いてxφ r(φ,3)を計算し、これを第二入力情報τφ,2とする(ステップS23103i)。
一方、ステップS23103gでa(φ)=1であると判定された場合、第三乱数生成部23104e−φが、0以上Kφ,H未満の自然数の乱数r(φ,3)を生成する。生成された乱数r(φ,3)は第三入力情報計算部23104f−φに送られる(ステップS23103h)。第三入力情報計算部23104f−φは、入力された乱数r(φ,3)と元xφとを用いてxφ r(φ,3)を計算し、これを第二入力情報τφ,2とする(ステップS23103i)。
第一入力情報計算部22104b−φ、第二入力情報計算部22104d−φ、第三入力情報計算部23104f−φは、以上のように生成した第一入力情報τφ,1及び第二入力情報τφ,2を対応する自然数(a(φ),b(φ))の情報とともに出力する(ステップS23103e)。なお、本形態の第一入力情報τφ,1及び第二入力情報τφ,2は、それぞれ、乱数r(φ,1),r(φ,2),r(φ,3)によって元xφとの関係をかく乱させた情報である。これにより、計算装置231−φは、元xφを能力提供装置232に対して隠蔽できる。
《S22200〜S22203及びS23205〜S23209の処理》
以下、図38を用いて本形態のS22200〜S22203及びS23205〜S23209の処理を説明する。
以下、図38を用いて本形態のS22200〜S22203及びS23205〜S23209の処理を説明する。
制御部21205(図33)は、入力された自然数(a(φ),b(φ))に応じ、第一出力情報計算部22201、第二出力情報計算部22202、及び第三出力情報計算部23203を制御する。
制御部21205の制御に基づき、b(φ)≠1の場合の第一入力情報τφ,1=μφ,h r(φ,1)xφ b(φ)は能力提供装置232(図33)の第一出力情報計算部22201に入力され、a(φ)≠1の場合の第二入力情報τφ,2=μφ,h r(φ,2)xφ a(φ)は第二出力情報計算部22202に入力される。b(φ)=1の場合の第一入力情報τφ,1=xφ r(φ,3)やa(φ)=1の場合の第二入力情報τφ,2=xφ r(φ,3)は第三出力情報計算部23203に入力される(ステップS23200)。
制御部21205の制御に基づき、b(φ)≠1の場合の第一入力情報τφ,1=μφ,h r(φ,1)xφ b(φ)は能力提供装置232(図33)の第一出力情報計算部22201に入力され、a(φ)≠1の場合の第二入力情報τφ,2=μφ,h r(φ,2)xφ a(φ)は第二出力情報計算部22202に入力される。b(φ)=1の場合の第一入力情報τφ,1=xφ r(φ,3)やa(φ)=1の場合の第二入力情報τφ,2=xφ r(φ,3)は第三出力情報計算部23203に入力される(ステップS23200)。
制御部21113−φでb(φ)が1であるかが判定され(ステップS23205)、b(φ)≠1であると判定された場合、前述のステップS22201の処理が実行される。その後、制御部21113−φでa(φ)が1であるかが判定され(ステップS23208)、a(φ)≠1であると判定された場合、前述したステップS22202の処理が実行されてステップS23203に進む。
一方、ステップS23208でa(φ)=1であると判定された場合、第三出力情報計算部23203は、第二入力情報τφ,2=xφ r(φ,3)を用い、或る確率より大きな確率でfφ(xφ r(φ,3))を正しく計算し、得られた計算結果を第三出力情報zφ,3とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第三出力情報計算部23203での計算結果がfφ(xφ r(φ,3))となる場合もあれば、fφ(xφ r(φ,3))とならない場合もある(ステップS23209)。その後、ステップS23203に進む。
ステップS23205でb(φ)=1であると判定された場合、第三出力情報計算部23203は、第二入力情報τφ,1=xφ r(φ,3)を用い、或る確率より大きな確率でfφ(xφ r(φ,3))を正しく計算し、得られた計算結果を第三出力情報zφ,3とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第三出力情報計算部23203での計算結果がfφ(xφ r(φ,3))となる場合もあれば、fφ(xφ r(φ,3))とならない場合もある(ステップS23206)。
その後、制御部21113−φでa(φ)が1であるかが判定され(ステップS23207)、a(φ)=1であると判定された場合にはステップS23203に進み、a(φ)≠1であると判定された場合にはステップS22202に進む。
ステップS23203では、第一出力情報zφ,1を生成した第一出力情報計算部22201は第一出力情報zφ,1を出力し、第二出力情報zφ,2を生成した第二出力情報計算部22202は第二出力情報zφ,2を出力し、第三出力情報zφ,3を生成した第三出力情報計算部23202は第三出力情報zφ,3を出力する(ステップS23203)。
《ステップS23104及びS23105の処理》
図37に戻り、制御部21113−φの制御のもと、第一出力情報zφ,1は計算装置231−φ(図32)の第一計算部22105−φに入力され、第二出力情報zφ,2は第二計算部22108−φに入力され、第三出力情報zφ,3は第三計算部23109−φに入力される(ステップS23104)。
図37に戻り、制御部21113−φの制御のもと、第一出力情報zφ,1は計算装置231−φ(図32)の第一計算部22105−φに入力され、第二出力情報zφ,2は第二計算部22108−φに入力され、第三出力情報zφ,3は第三計算部23109−φに入力される(ステップS23104)。
b(φ)≠1であれば、第一計算部22105−φが、前述のステップS22105の処理によってuφを生成し、b(φ)=1であれば、第三計算部23109−φが、zφ,3 1/r(φ,3)を計算してその計算結果をuφとする。計算結果uφは第一べき乗計算部21106−φに送られる。ここで、b(φ)=1の場合、uφ=zφ,3 1/r(φ,3)=fφ(xφ)xφ,3となる。すなわち、zφ,3 1/r(φ,3)は、fφ(xφ)について誤差Xφ,3を持つ標本器となる。その理由については後述する(ステップS23105)。
《ステップS23108の処理》
a(φ)≠1であれば、第二計算部22108−φが、前述のステップS22108の処理によってvφを生成し、a(φ)=1であれば、第三計算部23109−φが、zφ,3 1/r(φ,3)を計算してその計算結果をvφとする。計算結果vφは第二べき乗計算部21109−φに送られる。ここで、a(φ)=1の場合、vφ=zφ,3 1/r(φ,3)=fφ(xφ)xφ,3となる。すなわち、zφ,3 1/r(φ,3)は、fφ(xφ)について誤差Xφ,3を持つ標本器となる。その理由については後述する(ステップS23108)。
a(φ)≠1であれば、第二計算部22108−φが、前述のステップS22108の処理によってvφを生成し、a(φ)=1であれば、第三計算部23109−φが、zφ,3 1/r(φ,3)を計算してその計算結果をvφとする。計算結果vφは第二べき乗計算部21109−φに送られる。ここで、a(φ)=1の場合、vφ=zφ,3 1/r(φ,3)=fφ(xφ)xφ,3となる。すなわち、zφ,3 1/r(φ,3)は、fφ(xφ)について誤差Xφ,3を持つ標本器となる。その理由については後述する(ステップS23108)。
なお、zφ,3 1/r(φ,3)の計算、すなわちzφ,3のべき乗根の計算が困難な場合には、次のようにしてuφ及び/又はvφを計算してもよい。第三計算部23109−φは、乱数r(φ,3)とその乱数r(φ,3)に基づいて計算されたzφ,3の組を順次(α1,β1),(α2,β2),…,(αm,βm),…として図示していない記憶部に記憶する。mは自然数である。第三計算部23109−φは、α1,α2,…,αmの最小公倍数が1になれば、γ1,γ2,…,γmを整数としてγ1α1+γ2α2+…+γmαm=1となるγ1,γ2,…,γmを計算して、そのγ1,γ2,…,γmを用いてΠi=1 mβi γi=β1 γ1β2 γ2…βm γmを計算して、その計算結果をuφ及び/又はvφとしてもよい。
≪zφ,3 1/r(φ,3)がfφ(xφ)について誤差Xφ,3を持つ標本器となる理由について≫
Rを乱数として、能力提供装置232がxφ Rを用いて行う計算の計算結果をB(xφ R)とする。すなわち、第一出力情報計算部22201や第二出力情報計算部22202や第三出力情報計算部23203が計算装置231−φに返す計算結果をzφ=B(xφ R)とする。さらに、群Gφに値を持つ確率変数XφをXφ=B(xφ R)1/Rfφ(xφ)-1と定義する。
Rを乱数として、能力提供装置232がxφ Rを用いて行う計算の計算結果をB(xφ R)とする。すなわち、第一出力情報計算部22201や第二出力情報計算部22202や第三出力情報計算部23203が計算装置231−φに返す計算結果をzφ=B(xφ R)とする。さらに、群Gφに値を持つ確率変数XφをXφ=B(xφ R)1/Rfφ(xφ)-1と定義する。
このとき、zφ 1/R=B(xφ R)1/R=Xφfφ(xφ)=fφ(xφ)Xφとなる。すなわち、zφ 1/Rは、fφ(xφ)について誤差Xφを持つ標本器となる。
上記式展開において、Xφ=B(xφ R)1/Rfφ(xφ R)-1であり、B(xφ R)1/R=Xφfφ(xφ R)であるという性質を用いている。この性質は、Rが乱数であることに基づく。
したがって、r(φ,3)が乱数であることを考慮すると、同様に、zφ 1/Rがfφ(xφ)について誤差Xφ,3を持つ標本器となるのである。
上記式展開において、Xφ=B(xφ R)1/Rfφ(xφ R)-1であり、B(xφ R)1/R=Xφfφ(xφ R)であるという性質を用いている。この性質は、Rが乱数であることに基づく。
したがって、r(φ,3)が乱数であることを考慮すると、同様に、zφ 1/Rがfφ(xφ)について誤差Xφ,3を持つ標本器となるのである。
[第十五実施形態]
第十五実施形態の代理計算システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した他の例である。具体的には、本形態では、fφ(xφ)が第一暗号文である群Hφの元xφ=Cφ,1(y(φ,1),mφ)を群Gφの元である第二暗号文fφ(xφ)=Cφ,2(y(φ,2),mφ)に変換するための関数とする。ただし、第一暗号文Cφ,1(y(φ,1),mφ)は第一暗号化方式ENCφ,1に則って平文mφを第一暗号化鍵y(φ,1)で暗号化した暗号文であり、第二暗号文Cφ,2(y(φ,2),mφ)は第二暗号化方式ENCφ,2に則って平文mφを第二暗号化鍵y(φ,2)で暗号化した暗号文である。第二暗号化方式ENCφ,2がElGamal暗号方式であり、関数fφ(xφ)が準同型関数である。なお、第一暗号化方式ENCφ,1には特に限定はなく、第一暗号化方式ENCφ,1はElGamal暗号方式のような確率暗号方式であってもよいし、RSA暗号方式のような確定暗号方式であってもよい。
第十五実施形態の代理計算システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した他の例である。具体的には、本形態では、fφ(xφ)が第一暗号文である群Hφの元xφ=Cφ,1(y(φ,1),mφ)を群Gφの元である第二暗号文fφ(xφ)=Cφ,2(y(φ,2),mφ)に変換するための関数とする。ただし、第一暗号文Cφ,1(y(φ,1),mφ)は第一暗号化方式ENCφ,1に則って平文mφを第一暗号化鍵y(φ,1)で暗号化した暗号文であり、第二暗号文Cφ,2(y(φ,2),mφ)は第二暗号化方式ENCφ,2に則って平文mφを第二暗号化鍵y(φ,2)で暗号化した暗号文である。第二暗号化方式ENCφ,2がElGamal暗号方式であり、関数fφ(xφ)が準同型関数である。なお、第一暗号化方式ENCφ,1には特に限定はなく、第一暗号化方式ENCφ,1はElGamal暗号方式のような確率暗号方式であってもよいし、RSA暗号方式のような確定暗号方式であってもよい。
以下、第十二実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。
図31に例示するように、第十五実施形態の代理計算システム204は、計算装置211−φが計算装置241−φに置換され、能力提供装置212が能力提供装置242に置換されたものである。
図31に例示するように、第十五実施形態の代理計算システム204は、計算装置211−φが計算装置241−φに置換され、能力提供装置212が能力提供装置242に置換されたものである。
図32に例示するように、第十五実施形態の計算装置241−φは、例えば、自然数記憶部21101−φと自然数選択部21102−φと整数計算部21103−φと入力情報提供部24104−φと第一計算部24105−φと第一べき乗計算部21106−φと第一リスト記憶部21107−φと第二計算部24108−φと第二べき乗計算部21109−φと第二リスト記憶部21110−φと判定部24111−φと最終出力部21112−φと制御部21113−φとを有する。図35に例示するように、本形態の入力情報提供部24104−φは、例えば、第一乱数生成部24104a−φと第一入力情報計算部24104b−φと第二乱数生成部24104c−φと第二入力情報計算部24104d−φとを有する。
図33に例示するように、第十五実施形態の能力提供装置242は、例えば、第一出力情報計算部24201と第二出力情報計算部24202と制御部21205とを有する。
<処理の前提>
第十五実施形態では、群Gφが巡回群Gφ,1,Gφ,2の直積群Gφ,1×Gφ,2、μφ,g1が群Gφ,1の生成元、μφ,g2が群Gφ,2の生成元、第二暗号化鍵y(φ,2)がμφ,g2 s(φ,2)、元Cφ,2(y(φ,2),mφ)が(μφ,g1 r(φ),mφy(φ,2)r(φ))∈Gφ,1×Gφ,2、r(φ)が整数の乱数、値uφ a(φ)が(cφ,1u,cφ,2u)∈Gφ,1×Gφ,2、値vφ b(φ)が(cφ,1v,cφ,2v)∈Gφ,1×Gφ,2である。Gφ,1=Gφ,2であってもよいし、Gφ,1≠Gφ,2であってもよい。前述のように第一暗号化方式ENCφ,1には限定はないが、例えば第一暗号化方式ENCφ,1がElGamal暗号方式である場合には、群Hφが巡回群Hφ,1,Hφ,2の直積群Hφ,1×Hφ,2、r’(φ)が整数の乱数、μφ,h1が群Hφ,1の生成元、μφ,h2が群Hφ,2の生成元、第一暗号化鍵y(φ,1)がμφ,h2 s(φ,1)、第一暗号文Cφ,1(y(φ,1),mφ)が(μφ,h1 r’(φ),mφy(φ,1)r’(φ))∈Hφ,1×Hφ,2となる。Hφ,1=Hφ,2であってもよいし、Hφ,1≠Hφ,2であってもよい。
第十五実施形態では、群Gφが巡回群Gφ,1,Gφ,2の直積群Gφ,1×Gφ,2、μφ,g1が群Gφ,1の生成元、μφ,g2が群Gφ,2の生成元、第二暗号化鍵y(φ,2)がμφ,g2 s(φ,2)、元Cφ,2(y(φ,2),mφ)が(μφ,g1 r(φ),mφy(φ,2)r(φ))∈Gφ,1×Gφ,2、r(φ)が整数の乱数、値uφ a(φ)が(cφ,1u,cφ,2u)∈Gφ,1×Gφ,2、値vφ b(φ)が(cφ,1v,cφ,2v)∈Gφ,1×Gφ,2である。Gφ,1=Gφ,2であってもよいし、Gφ,1≠Gφ,2であってもよい。前述のように第一暗号化方式ENCφ,1には限定はないが、例えば第一暗号化方式ENCφ,1がElGamal暗号方式である場合には、群Hφが巡回群Hφ,1,Hφ,2の直積群Hφ,1×Hφ,2、r’(φ)が整数の乱数、μφ,h1が群Hφ,1の生成元、μφ,h2が群Hφ,2の生成元、第一暗号化鍵y(φ,1)がμφ,h2 s(φ,1)、第一暗号文Cφ,1(y(φ,1),mφ)が(μφ,h1 r’(φ),mφy(φ,1)r’(φ))∈Hφ,1×Hφ,2となる。Hφ,1=Hφ,2であってもよいし、Hφ,1≠Hφ,2であってもよい。
なお、Α=(α1,α2)∈Gφ,1×Gφ,2,Β=(β1,β2)∈Gφ,1×Gφ,2,及びεが自然数である場合、Αεは(α1 ε,α2 ε)を表し、Α-εは(α1 -ε,α2 -ε)を表し、ΑΒは(α1β1,α2β2)を表す。同様に、εが自然数、Α=(α1,α2)∈Hφ,1×Hφ,2,Β=(β1,β2)∈Hφ,1×Hφ,2である場合、Αεは(α1 ε,α2 ε)を表し、Α-εは(α1 -ε,α2 -ε)を表し、ΑΒは(α1β1,α2β2)を表す。eφ(α,β)を(α,β)∈Gφ,1×Gφ,2に対して巡回群Gφ,Tの元を与える双線形写像とする。双線形写像の例は、WeilペアリングやTateペアリングなどのペアリング演算を行うための関数やアルゴリズムである(参考文献2:Alfred. J. Menezes,"ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS," KLUWER ACADEMIC PUBLISHERS, ISBN0-7923-9368-6,pp. 61-81や、参考文献3:RFC 5091, "Identity-Based Cryptography Standard (IBCS) #1," Supersingular Curve Implementations of the BF and BB1 Cryptosystems等参照)。
<処理>
図37及び図38に例示するように、第十五実施形態の処理は第十二実施形態のステップS21103〜S21105,S21107,S21108,S21110,S21200〜S21203が、それぞれ、ステップS24103〜S24105,S24107,S24108,S24110,S24200〜S24203に置換されたものである。以下ではステップS24103〜S24105,S24107,S24108,S24110,S24200〜S24203の処理のみを説明する。
図37及び図38に例示するように、第十五実施形態の処理は第十二実施形態のステップS21103〜S21105,S21107,S21108,S21110,S21200〜S21203が、それぞれ、ステップS24103〜S24105,S24107,S24108,S24110,S24200〜S24203に置換されたものである。以下ではステップS24103〜S24105,S24107,S24108,S24110,S24200〜S24203の処理のみを説明する。
《ステップS24103の処理》
計算装置241−φ(図32)の入力情報提供部24104−φは、入力された元xφ=Cφ,1(y(φ,1),mφ)に対応する第一入力情報τφ,1及び第二入力情報τφ,2を生成して出力する(図37/ステップS24103)。以下、図40を用いて本形態のステップS24103の処理を説明する。
計算装置241−φ(図32)の入力情報提供部24104−φは、入力された元xφ=Cφ,1(y(φ,1),mφ)に対応する第一入力情報τφ,1及び第二入力情報τφ,2を生成して出力する(図37/ステップS24103)。以下、図40を用いて本形態のステップS24103の処理を説明する。
第一乱数生成部24104a−φ(図35)は、群Hφの任意の元hrφ,1∈Hφを生成する。本形態では群Hφからランダムかつ一様に元hrφ,1が選択される(一様乱数)。生成された元hrφ,1は、第一入力情報計算部24104b−φ、及び第一計算部24105−φに送られる(ステップS24103a)。
第一入力情報計算部24104b−φは、自然数選択部21102−φで選択された自然数b(φ)、元xφ、元hrφ,1、及び第一暗号化鍵y(φ,1)を用い、第一入力情報τφ,1としてxφ b(φ)Cφ,1(y(φ,1),hrφ,1)を計算する(ステップS24103b)。
第二乱数生成部24104c−φは、群Hφの任意の元hrφ,2∈Hφを生成する。本形態では群Hφからランダムかつ一様に元hrφ,2が選択される(一様乱数)。生成された元hrφ,2は、第二入力情報計算部24104d−φ、及び第二計算部24108−φに送られる(ステップS24103c)。
第二入力情報計算部24104b−φは、自然数選択部21102−φで選択された自然数a(φ)、元xφ、元hrφ,2、及び第一暗号化鍵y(φ,1)を用い、第二入力情報τφ,2としてxφ a(φ)Cφ,1(y(φ,1),hrφ,2)を計算する(ステップS24103d)。
第一入力情報計算部24104b−φは、以上のように生成した第一入力情報τφ,1=xφ b(φ)Cφ,1(y(φ,1),hrφ,1)を出力する。第二入力情報計算部24104d−φは、以上のように生成した第二入力情報τφ,2=xφ a(φ)Cφ,1(y(φ,1),hrφ,2)を出力する(ステップS24103e)。
《ステップS24200〜S24203の処理》
図38に例示するように、まず、第一入力情報τφ,1=xφ b(φ)Cφ,1(y(φ,1),hrφ,1)が能力提供装置242(図33)の第一出力情報計算部24201に入力され、第二入力情報τφ,2=xφ a(φ)Cφ,1(y(φ,1),hrφ,2)が第二出力情報計算部24202に入力される(ステップS24200)。
図38に例示するように、まず、第一入力情報τφ,1=xφ b(φ)Cφ,1(y(φ,1),hrφ,1)が能力提供装置242(図33)の第一出力情報計算部24201に入力され、第二入力情報τφ,2=xφ a(φ)Cφ,1(y(φ,1),hrφ,2)が第二出力情報計算部24202に入力される(ステップS24200)。
第一出力情報計算部24201は、第一入力情報τφ,1=xφ b(φ)Cφ,1(y(φ,1),hrφ,1)と第一暗号化鍵y(φ,1)に対応する第一復号鍵s(φ,1)と第二暗号化鍵y(φ,2)とを用い、或る確率より大きな確率でfφ(xφ b(φ)Cφ,1(y(φ,1),hrφ,1))を正しく計算し、計算結果を第一出力情報zφ,1とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第一出力情報計算部24201での計算結果がfφ(xφ b(φ)Cφ,1(y(φ,1),hrφ,1))となる場合もあれば、fφ(xφ b(φ)Cφ,1(y(φ,1),hrφ,1))とならない場合もある(ステップS24201)。
なお、本形態の関数fφは、第一暗号化方式ENCφ,1に則って第一復号鍵s(φ,1)で暗号文を復号して得られる値をElGamal暗号方式に則って第二暗号化鍵y(φ,2)で暗号化するための準同型関数である。例えば、第一暗号化方式ENCφ,1も第二暗号化方式ENCφ,2もElGamal暗号方式で或る場合、関数fφは、ElGamal暗号方式に則って第一復号鍵s(φ,1)で暗号文を復号して得られる値を、ElGamal暗号方式に則って第二暗号化鍵y(φ,2)で暗号化するための準同型関数である。
第二出力情報計算部24202は、第二入力情報τφ,2=xφ a(φ)Cφ,1(y(φ,1),hrφ,2)と第一復号鍵s(φ,1)と第二暗号化鍵y(φ,2)とを用い、或る確率より大きな確率でfφ(xφ a(φ)Cφ,1(y(φ,1),hrφ,2))を正しく計算可能であり、得られた計算結果を第二出力情報zφ,2とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第二出力情報計算部24202での計算結果がfφ(xφ a(φ)Cφ,1(y(φ,1),hrφ,2))となる場合もあれば、fφ(xφ a(φ)Cφ,1(y(φ,1),hrφ,2))とならない場合もある(ステップS24202)。
第一出力情報計算部24201は第一出力情報zφ,1を出力し、第二出力情報計算部24202は第二出力情報zφ,2を出力する(ステップS24203)。
《ステップS24104及びS24105の処理》
図37に戻り、第一出力情報zφ,1は計算装置241−φ(図32)の第一計算部24105−φに入力され、第二出力情報zφ,2は第二計算部24108−φに入力される(ステップS24104)。
第一計算部24105−φは、入力された第一出力情報zφ,1、元hrφ,1、及び第二暗号化鍵y(φ,2)を用い、zφ,1(Cφ,2(y(φ,2),hrφ,1))-1を計算してその計算結果をuφとする(ステップS24105)。計算結果uφは、第一べき乗計算部21106−φに送られる。ここで、uφ=zφ,1(Cφ,2(y(φ,2),hrφ,1))-1=fφ(xφ)b(φ)xφ,1となる。すなわち、zφ,1(Cφ,2(y(φ,2),hrφ,1))-1は、fφ(xφ)について誤差Xφ,1を持つ乱数化可能標本器の出力となる。その理由については後述する。
図37に戻り、第一出力情報zφ,1は計算装置241−φ(図32)の第一計算部24105−φに入力され、第二出力情報zφ,2は第二計算部24108−φに入力される(ステップS24104)。
第一計算部24105−φは、入力された第一出力情報zφ,1、元hrφ,1、及び第二暗号化鍵y(φ,2)を用い、zφ,1(Cφ,2(y(φ,2),hrφ,1))-1を計算してその計算結果をuφとする(ステップS24105)。計算結果uφは、第一べき乗計算部21106−φに送られる。ここで、uφ=zφ,1(Cφ,2(y(φ,2),hrφ,1))-1=fφ(xφ)b(φ)xφ,1となる。すなわち、zφ,1(Cφ,2(y(φ,2),hrφ,1))-1は、fφ(xφ)について誤差Xφ,1を持つ乱数化可能標本器の出力となる。その理由については後述する。
《ステップS24108の処理》
第二計算部24108−φは、入力された第二出力情報zφ,2、元hrφ,2、及び第二暗号化鍵y(φ,2)を用い、zφ,2(Cφ,2(y(φ,2),hrφ,2))-1を計算してその計算結果をvφとする。計算結果vφは、第二べき乗計算部21109−φに送られる。ここで、vφ=zφ,2(Cφ,2(y(φ,2),hrφ,2))-1=fφ(xφ)a(φ)xφ,2となる。すなわち、zφ,2(Cφ,2(y(φ,2),hrφ,2))-1は、fφ(xφ)について誤差Xφ,2を持つ乱数化可能標本器の出力となる。その理由については後述する。
第二計算部24108−φは、入力された第二出力情報zφ,2、元hrφ,2、及び第二暗号化鍵y(φ,2)を用い、zφ,2(Cφ,2(y(φ,2),hrφ,2))-1を計算してその計算結果をvφとする。計算結果vφは、第二べき乗計算部21109−φに送られる。ここで、vφ=zφ,2(Cφ,2(y(φ,2),hrφ,2))-1=fφ(xφ)a(φ)xφ,2となる。すなわち、zφ,2(Cφ,2(y(φ,2),hrφ,2))-1は、fφ(xφ)について誤差Xφ,2を持つ乱数化可能標本器の出力となる。その理由については後述する。
《ステップS24107の処理》
判定部24111−φは、第一リスト記憶部21107−φに記憶された組(uφ,uφ’)及び第二リスト記憶部21110−φに記憶された組(vφ,vφ’)の中で、uφ’とvφ’とが互いに同一の元Mφに対する類CLφ(Mφ)に属するものがあるかを判定する。本形態の判定部24111−φは、uφ’=(cφ,1u,cφ,2u)及びvφ’=(cφ,1v,cφ,2v)に対して、関係eφ(μφ,g1,cφ,2u)/eφ(cφ,1u,y(φ,2))=eφ(μφ,g1,cφ,2v)/eφ(cφ,1v,y(φ,2))を満たすものがあるかを判定する(ステップS24107)。uφ’とvφ’がこの関係を満たすかを判定することで、uφ’とvφ’とが互いに同一の元Mφに対する類CLφ(Mφ)に属することを判定できる理由については後述する。
判定部24111−φは、第一リスト記憶部21107−φに記憶された組(uφ,uφ’)及び第二リスト記憶部21110−φに記憶された組(vφ,vφ’)の中で、uφ’とvφ’とが互いに同一の元Mφに対する類CLφ(Mφ)に属するものがあるかを判定する。本形態の判定部24111−φは、uφ’=(cφ,1u,cφ,2u)及びvφ’=(cφ,1v,cφ,2v)に対して、関係eφ(μφ,g1,cφ,2u)/eφ(cφ,1u,y(φ,2))=eφ(μφ,g1,cφ,2v)/eφ(cφ,1v,y(φ,2))を満たすものがあるかを判定する(ステップS24107)。uφ’とvφ’がこの関係を満たすかを判定することで、uφ’とvφ’とが互いに同一の元Mφに対する類CLφ(Mφ)に属することを判定できる理由については後述する。
もし、第二リスト記憶部21110−φに組(vφ,vφ’)が記憶されていない場合には、このステップS24107の処理を行わずに、次のステップS21108の処理を行う。同一の元Mφに対する類CLφ(Mφ)に属するuφ’とvφ’との組があった場合(上記の関係を満たすuφ’とvφ’との組があった場合)には、ステップS21114に進む。同一の元Mφに対する類CLφ(Mφ)に属するuφ’とvφ’との組がなかった場合には、ステップS24108に進む。
《ステップS24110の処理》
判定部24111−φは、第一リスト記憶部21107−φに記憶された組(uφ,uφ’)及び第二リスト記憶部24110−φに記憶された組(vφ,vφ’)の中で、uφ’とvφ’とが互いに同一の元Mφに対する類CLφ(Mφ)に属するものがあるかを判定する。本形態の判定部24111−φは、uφ’=(cφ,1u,cφ,2u)及びvφ’=(cφ,1v,cφ,2v)に対して、関係eφ(μφ,g1,cφ,2u)/eφ(cφ,1u,y(φ,2))=eφ(μφ,g1,cφ,2v)/eφ(cφ,1v,y(φ,2))を満たすものがあるかを判定する(ステップS24110)。同一の元Mφに対する類CLφ(Mφ)に属するuφ’とvφ’との組があった場合には、ステップS21114に進む。同一の元Mφに対する類CLφ(Mφ)に属するuφ’とvφ’との組がなかった場合には、ステップS21111に進む。
判定部24111−φは、第一リスト記憶部21107−φに記憶された組(uφ,uφ’)及び第二リスト記憶部24110−φに記憶された組(vφ,vφ’)の中で、uφ’とvφ’とが互いに同一の元Mφに対する類CLφ(Mφ)に属するものがあるかを判定する。本形態の判定部24111−φは、uφ’=(cφ,1u,cφ,2u)及びvφ’=(cφ,1v,cφ,2v)に対して、関係eφ(μφ,g1,cφ,2u)/eφ(cφ,1u,y(φ,2))=eφ(μφ,g1,cφ,2v)/eφ(cφ,1v,y(φ,2))を満たすものがあるかを判定する(ステップS24110)。同一の元Mφに対する類CLφ(Mφ)に属するuφ’とvφ’との組があった場合には、ステップS21114に進む。同一の元Mφに対する類CLφ(Mφ)に属するuφ’とvφ’との組がなかった場合には、ステップS21111に進む。
なお、特殊な群Gφ,1,Gφ,2や双線形写像eφを用いた場合、ステップS24107及びS24110の処理を計算装置241−φに実行させることができる者を制限できる。この詳細については後述する。
《zφ,1(Cφ,2(y(φ,2),hrφ,1))-1,zφ,2(Cφ,2(y(φ,2),hrφ,2))-1がfφ(xφ)についてそれぞれ誤差Xφ,1,Xφ,2を持つ乱数化可能標本器の出力となる理由について》
任意の元hrφ,1を固定して考えると、元Cφ,2(y(φ,2),mφ)=(μφ,g1 r(φ),mφy(φ,2)r(φ))における乱数r(φ)を確率空間とする確率分布について、以下の関係が成り立つ。ただし、以下の関係において[Ψ1]=[Ψ2]とは、Ψ1とΨ2とが乱数rを確率空間とする確率分布として等しいことを意味する。Dφ,1(s(φ,1),xφ)は、第一暗号化方式ENCφ,1に則って元xφを第一復号鍵s(φ,1)で復号するための関数を表す。hrφ,2’=Dφ,1(s(φ,1),xφ)a(φ) hrφ,2とする。
[zφ,2(Cφ,2(y(φ,2),hrφ,2))-1]
=[fφ(xφ a(φ)Cφ,2(y(φ,1),hrφ,2))(Cφ,2(y(φ,2),hrφ,2))-1]
=[fφ(Cφ,2(y(φ,1),Dφ,1(s(φ,1),xφ)a(φ) hrφ,2))(Cφ,2(y(φ,2),hrφ,2))-1]
=[fφ(Cφ,2(y(φ,1),Dφ,1(s(φ,1),xφ)a(φ) hrφ,2))Cφ,2(y(φ,2),Dφ,1(s(φ,1),xφ)a(φ) hrφ,2)-1Cφ,2(y(φ,2),Dφ,1(s(φ,1),xφ)a(φ))]
=[fφ(Cφ,2(y(φ,1),hrφ,2’))Cφ,2(y(φ,2),hrφ,2’)-1Cφ,2(y(φ,2),Dφ,1(s(φ,1),xφ)a(φ))]
任意の元hrφ,1を固定して考えると、元Cφ,2(y(φ,2),mφ)=(μφ,g1 r(φ),mφy(φ,2)r(φ))における乱数r(φ)を確率空間とする確率分布について、以下の関係が成り立つ。ただし、以下の関係において[Ψ1]=[Ψ2]とは、Ψ1とΨ2とが乱数rを確率空間とする確率分布として等しいことを意味する。Dφ,1(s(φ,1),xφ)は、第一暗号化方式ENCφ,1に則って元xφを第一復号鍵s(φ,1)で復号するための関数を表す。hrφ,2’=Dφ,1(s(φ,1),xφ)a(φ) hrφ,2とする。
[zφ,2(Cφ,2(y(φ,2),hrφ,2))-1]
=[fφ(xφ a(φ)Cφ,2(y(φ,1),hrφ,2))(Cφ,2(y(φ,2),hrφ,2))-1]
=[fφ(Cφ,2(y(φ,1),Dφ,1(s(φ,1),xφ)a(φ) hrφ,2))(Cφ,2(y(φ,2),hrφ,2))-1]
=[fφ(Cφ,2(y(φ,1),Dφ,1(s(φ,1),xφ)a(φ) hrφ,2))Cφ,2(y(φ,2),Dφ,1(s(φ,1),xφ)a(φ) hrφ,2)-1Cφ,2(y(φ,2),Dφ,1(s(φ,1),xφ)a(φ))]
=[fφ(Cφ,2(y(φ,1),hrφ,2’))Cφ,2(y(φ,2),hrφ,2’)-1Cφ,2(y(φ,2),Dφ,1(s(φ,1),xφ)a(φ))]
したがって、乱数r(φ)と群Gφ上の一様かつランダムな元grφとの両方を確率空間とし、群Gφに値を持つ確率変数をXφ,2=fφ(Cφ,2(y(φ,1),hrφ,2’))Cφ,2(y(φ,2),hrφ,2’)-1と考えると、xφ,2∈Xφ,2について以下の関係が成り立つ。
zφ,2(Cφ,2(y(φ,2),hrφ,2))-1
=xφ,2Cφ,2(y(φ,2),Dφ,1(s(φ,1),xφ)a(φ))
=xφ,2fφ(xφ a(φ))
=fφ(xφ)a(φ)xφ,2
同様に、xφ,1∈Xφ,1についてzφ,1(Cφ,2(y(φ,2),hrφ,1))-1=fφ(xφ)b(φ)xφ,1の関係が成り立つ。したがって、zφ,1(Cφ,2(y(φ,2),hrφ,1))-1,zφ,2(Cφ,2(y(φ,2),hrφ,2))-1はfφ(xφ)についてそれぞれ誤差Xφ,1,Xφ,2を持つ乱数化可能標本器の出力となる。
zφ,2(Cφ,2(y(φ,2),hrφ,2))-1
=xφ,2Cφ,2(y(φ,2),Dφ,1(s(φ,1),xφ)a(φ))
=xφ,2fφ(xφ a(φ))
=fφ(xφ)a(φ)xφ,2
同様に、xφ,1∈Xφ,1についてzφ,1(Cφ,2(y(φ,2),hrφ,1))-1=fφ(xφ)b(φ)xφ,1の関係が成り立つ。したがって、zφ,1(Cφ,2(y(φ,2),hrφ,1))-1,zφ,2(Cφ,2(y(φ,2),hrφ,2))-1はfφ(xφ)についてそれぞれ誤差Xφ,1,Xφ,2を持つ乱数化可能標本器の出力となる。
《関係eφ(μφ,g1,cφ,2u)/eφ(cφ,1u,y(φ,2))=eφ(μφ,g1,cφ,2v)/eφ(cφ,1v,y(φ,2))を満たすかを判定することで、uφ’とvφ’とが互いに同一の元Mφに対する類CLφ(Mφ)に属することを判定できる理由》
uφ’とvφ’とが互いに同一の元Mφ=xφに対する類CLφ(Mφ)に属すると仮定する。この場合には第一乱数化可能標本器がuφ=f(xφ)b(φ)を正しく計算しており、第二乱数化可能標本器がvφ=fφ(xφ)a(φ)を正しく計算している(xφ,1及びxφ,2が群Gφの単位元eφ,gである)可能性が高い。よって、uφ’=(μφ,g1 r’’(φ),mφy(φ,2)r’’(φ))かつvφ’=(μφ,g1 r’’’(φ),mφy(φ,2)r’’’(φ))である可能性が高い。ただし、r’’(φ)及びr’’’(φ)は、ElGamal暗号方式の乱数成分と自然数選択部21102−φで選択された自然数の組とによって定まる値である。その場合、双線形写像eφの性質から、uφ’=(cφ,1u,cφ,2u)に対して
eφ(μφ,g1,cφ,2u)/eφ(cφ,1u,y(φ,2))
=eφ(μφ,g1,mφy(φ,2)r’’(φ))/eφ(μφ,g1 r’’(φ),y(φ,2))
=eφ(μφ,g1,mφy(φ,2))r’’(φ)/eφ(μφ,g1,y(φ,2))r’’(φ)
=eφ(μφ,g1,mφ)eφ(μφ,g1,y(φ,2))/eφ(μφ,g1,y(φ,2))
=eφ(μφ,g1,mφ)
を満たす可能性が高い。vφ’=(cφ,1v,cφ,2v)に対して
eφ(μφ,g1,cφ,2v)/eφ(cφ,1v,y(φ,2))
=eφ(μφ,g1,mφy(φ,2)r’’’(φ))/eφ(μφ,g1 r’’’(φ),y(φ,2))
=eφ(μφ,g1,mφy(φ,2))r’’’(φ)/eφ(μφ,g1,y(φ,2))r’’’(φ)
=eφ(μφ,g1,mφ)eφ(μφ,g1,y(φ,2))/eφ(μφ,g1,y(φ,2))
=eφ(μφ,g1,mφ)
を満たす可能性が高い。よって、uφ’とvφ’とが互いに同一の元Mφに対する類CLφ(Mφ)に属する場合、関係eφ(μφ,g1,cφ,2u)/eφ(cφ,1u,y(φ,2))=eφ(μφ,g1,cφ,2v)/eφ(cφ,1v,y(φ,2))を満たす可能性が高い。
uφ’とvφ’とが互いに同一の元Mφ=xφに対する類CLφ(Mφ)に属すると仮定する。この場合には第一乱数化可能標本器がuφ=f(xφ)b(φ)を正しく計算しており、第二乱数化可能標本器がvφ=fφ(xφ)a(φ)を正しく計算している(xφ,1及びxφ,2が群Gφの単位元eφ,gである)可能性が高い。よって、uφ’=(μφ,g1 r’’(φ),mφy(φ,2)r’’(φ))かつvφ’=(μφ,g1 r’’’(φ),mφy(φ,2)r’’’(φ))である可能性が高い。ただし、r’’(φ)及びr’’’(φ)は、ElGamal暗号方式の乱数成分と自然数選択部21102−φで選択された自然数の組とによって定まる値である。その場合、双線形写像eφの性質から、uφ’=(cφ,1u,cφ,2u)に対して
eφ(μφ,g1,cφ,2u)/eφ(cφ,1u,y(φ,2))
=eφ(μφ,g1,mφy(φ,2)r’’(φ))/eφ(μφ,g1 r’’(φ),y(φ,2))
=eφ(μφ,g1,mφy(φ,2))r’’(φ)/eφ(μφ,g1,y(φ,2))r’’(φ)
=eφ(μφ,g1,mφ)eφ(μφ,g1,y(φ,2))/eφ(μφ,g1,y(φ,2))
=eφ(μφ,g1,mφ)
を満たす可能性が高い。vφ’=(cφ,1v,cφ,2v)に対して
eφ(μφ,g1,cφ,2v)/eφ(cφ,1v,y(φ,2))
=eφ(μφ,g1,mφy(φ,2)r’’’(φ))/eφ(μφ,g1 r’’’(φ),y(φ,2))
=eφ(μφ,g1,mφy(φ,2))r’’’(φ)/eφ(μφ,g1,y(φ,2))r’’’(φ)
=eφ(μφ,g1,mφ)eφ(μφ,g1,y(φ,2))/eφ(μφ,g1,y(φ,2))
=eφ(μφ,g1,mφ)
を満たす可能性が高い。よって、uφ’とvφ’とが互いに同一の元Mφに対する類CLφ(Mφ)に属する場合、関係eφ(μφ,g1,cφ,2u)/eφ(cφ,1u,y(φ,2))=eφ(μφ,g1,cφ,2v)/eφ(cφ,1v,y(φ,2))を満たす可能性が高い。
次に、uφ’とvφ’とが互いに異なる元に対する類に属すると仮定する。すなわち、uφ’が元mφ,uに対する類CLφ(mφ,u)に属し、vφ’が元mφ,v(mφ,v≠mφ,u)に対する類CLφ(mφ,v)に属すると仮定する。すると、uφ’=(μφ,g1 r’’(φ),mφ,uy(φ,2)r’’(φ))xφ,1かつvφ’=(μφ,g1 r’’’(φ),mφ,vy(φ,2)r’’’(φ))xφ,2となる。そのため、uφ’=(cφ,1u,cφ,2u)に対してeφ,(μφ,g1,cφ,2u)/eφ(cφ,1u,y(φ,2))=eφ(μφ,g1,mφ,u)xφ,1を満たし、vφ’=(cφ,1v,cφ,2v)に対してeφ(μφ,g1,cφ,2v)/eφ(cφ,1v,y(φ,2))=eφ(μφ,g1,mφ,v)xφ,2を満たす。よって、uφ’とvφ’とが互いに異なる元に対する類に属する場合、関係eφ(μφ,g1,cφ,2u)/eφ(cφ,1u,y(φ,2))≠eφ(μφ,g1,cφ,2v)/eφ(cφ,1v,y(φ,2))となる可能性が高い。
《特殊な群Gφ,1,Gφ,2や双線形写像eφ》
群Gφ,1,Gφ,2や双線形写像eφの構成を以下のように限定した場合、ステップS24107及びS24110の処理を計算装置241−φに実行させることができる者を制限することができる。以下にその詳細を述べる。
群Gφ,1,Gφ,2や双線形写像eφの構成を以下のように限定した場合、ステップS24107及びS24110の処理を計算装置241−φに実行させることができる者を制限することができる。以下にその詳細を述べる。
この特殊な例では、Nφが素数ωφと素数ιφの合成数、群Gφ,1,Gφ,2がそれぞれ合成数Nφを法とした剰余環Z/NφZ上で定義された第一楕円曲線Eφ,1上の点からなる部分群、Gφ,1ω,Gφ,2ωが素数ωφを法とした剰余体Z/ωφZ上で定義された第二楕円曲線Eφ,2上の点からなる部分群、Gφ,1ι,Gφ,2ιが素数ιφを法とした剰余体Z/ιφZ上で定義された第三楕円曲線Eφ,3上の点からなる部分群、eφ(α,β)が(α,β)∈Gφ,1×Gφ,2に対して巡回群Gφ,Tの元を与える双線形写像、eφ,ω(αω,βω)が(αω,βω)∈Gφ,1ω×Gφ,2ωに対して巡回群Gφ,Tωの元を与える第二双線形写像、eφ,ι(αι,βι)が(αι,βι)∈Gφ,1ι×Gφ,2ιに対して巡回群Gφ,Tιの元を与える第三双線形写像、HMφが第一楕円曲線Eφ,1上の点を第二楕円曲線Eφ,2上の点と第三楕円曲線Eφ,3上の点とに写す同型写像、HMφ -1が同型写像HMφの逆像である。
この例の場合、双線形写像eφ(α,β)は剰余環Z/NφZ上で定義された第一楕円曲線Eφ,1上で定義される。しかしながら、剰余環上で定義された楕円曲線上で定義された双線形写像eφ(α,β)を多項式時間で計算する方法は知られておらず、多項式時間で計算可能な剰余環上で定義された楕円曲線上で定義された双線形写像eφ(α,β)の構成方法も知られていない(参考文献4:Alexander W. Dent and Steven D. Galbraith, "Hidden Pairings and Trapdoor DDH Groups," ANTS 2006, LNCS 4076, pp. 436-451, 2006.)。このような設定の場合、判定部24111は、双線形写像eφを剰余環Z/NφZ上で直接計算して関係eφ(μφ,g1,cφ,2u)/eφ(cφ,1u,y(φ,2))=eφ(μφ,g1,cφ,2v)/eφ(cφ,1v,y(φ,2))を満たすか否かを判定することができない。
一方、剰余体Z/ωφZ,Z/ιφZ上で定義された楕円曲線上で定義されたeφ,ω(αω,βω)やeφ,ι(αι,βι)としては、多項式時間で計算可能なWeilペアリングやTateペアリングなどが存在する(参考文献2,3等参照)。このようなeφ,ω(αω,βω)やeφ,ι(αι,βι)を多項式時間で行うアルゴリズムとしてMiller のアルゴリズム(参考文献5:V. S. Miller, “Short Programs for functions on Curves,”1986,インターネット<http://crypto.stanford.edu/miller/miller.pdf>」などがよく知られている。さらに、このようなeφ,ω(αω,βω)やeφ,ι(αι,βι)を効率的に行うための楕円曲線や巡回群の構成方法もよく知られている(例えば、参考文献3、参考文献6:A. Miyaji, M. Nakabayashi, S.Takano, "New explicit conditions of elliptic curve Traces for FR-Reduction," IEICE Trans. Fundamentals, vol. E84-A, no05, pp. 1234-1243, May 2001」、参考文献7:P.S.L.M. Barreto, B. Lynn, M. Scott, "Constructing elliptic curves with prescribed embedding degrees," Proc. SCN '2002, LNCS 2576, pp.257-267, Springer-Verlag. 2003」、参考文献8:R. Dupont, A. Enge, F. Morain, "Building curves with arbitrary small MOV degree over finite prime fields," http://eprint.iacr.org/2002/094/等参照)。
中国人の剰余定理(Chinese remainder theorem)に基づき、合成数Nφ(Nφ=ωφ・ιφ)を法とした剰余環Z/NφZから剰余体Z/ωφZと剰余体Z/ιφZとの直積に写す同型写像が存在すること、及び剰余体Z/ωφZと剰余体Z/ιφZとの直積から剰余環Z/NφZに写す同型写像が存在することがよく知られている(参考文献9:ヨハネス ブーフマン,”暗号理論入門”,シュプリンガー・フェアラーク東京 (2001/07), ISBN-10: 4431708669 ISBN-13,pp. 52-56)。すなわち、第一楕円曲線Eφ,1上の点を第二楕円曲線Eφ,2上の点と第三楕円曲線Eφ,3上の点とに写す同型写像HMφ、及びその逆像HMφ -1が存在する。一例を挙げると、剰余環Z/NφZの元κ mod Nφを剰余体Z/ωφZの元κ mod ωφと剰余体Z/ιφZの元κ mod ιφとに写す同型写像をHMφとし、剰余体Z/ωφZの元κω mod ωφと剰余体Z/ιφZの元κι mod ιφとを剰余環Z/NφZの元κωιφιφ’+κιωφωφ’mod Nφに写す写像をHMφ −1とすることができる。ただし、ωφ’及びιφ’はωφωφ’+ιφιφ’=1を満たす自然数である。このようなωφ’,ιφ’は拡張ユークリッドの互除法を用いて容易に生成できる。ωφωφ’+ιφιφ’=1の関係から、κωιφιφ’+κιωφωφ’mod NにHMφを作用させると
κωιφιφ’+κιωφωφ’ mod ωφ=κωιφιφ’mod ωφ=κω(1−ωφωφ’)mod ωφ=κωmod ωφ∈Z/ωφZ
κωιφιφ’+κιωφωφ’ modιφ=κιωφωφ’ modιφ=κι(1−ιφιφ’) modιφ=κιmodιφ∈Z/ιφZ
となり、この一例での写像はHMφとHMφ -1との関係にあることが分かる。
κωιφιφ’+κιωφωφ’ mod ωφ=κωιφιφ’mod ωφ=κω(1−ωφωφ’)mod ωφ=κωmod ωφ∈Z/ωφZ
κωιφιφ’+κιωφωφ’ modιφ=κιωφωφ’ modιφ=κι(1−ιφιφ’) modιφ=κιmodιφ∈Z/ιφZ
となり、この一例での写像はHMφとHMφ -1との関係にあることが分かる。
そのため、合成数Nφを素因数分解した値、すなわち素数ωφと素数ιφとの値が与えられるのであれば、判定部24111は、以下のステップA〜Dの処理によって、剰余環Z/NφZ上で定義された第一楕円曲線Eφ,1上の双線形写像eφ(α,β)を計算することができる。
(ステップA)判定部24111は、同型写像HMφを用い、剰余環Z/NφZ上で定義された第一楕円曲線Eφ,1上の点α∈Gφ,1を、剰余体Z/ωφZ上で定義された第二楕円曲線Eφ,2上の点θω(α)∈Gφ,1ωと剰余体Z/ιφZ上で定義された第三楕円曲線Eφ,3上の点θι(α)∈Gφ,1ιとに写す。
(ステップB)判定部24111は、同型写像HMφを用い、剰余環Z/NφZ上で定義された第一楕円曲線Eφ,1上の点β∈Gφ,2を、剰余体Z/ωφZ上で定義された第二楕円曲線Eφ,2上の点θω(β)∈Gφ,2ωと剰余体Z/ιφZ上で定義された第三楕円曲線Eφ,3上の点θι(β)∈Gφ,2ιとに写す。
(ステップC)判定部24111は、第二楕円曲線Eφ,2及び第三楕円曲線Eφ,3でのeφ,ω(θω(α),θω(β))及びeφ,ι(θι(α),θι(β))を求める。
(ステップD)判定部24111は、得られた演算結果eφ,ω(θω(α),θω(β))及びeφ,ι(θι(α),θι(β))に逆像HMφ −1を作用させた値をeφ(α,β)とする。
よって素数ωφと素数ιφとの値が与えられるのであれば、判定部24111は、ステップA〜Dに従ってeφ(μφ,g1,cφ,2u),eφ(cφ,1u,y(φ,2)),eφ(μφ,g1,cφ,2v),eφ(cφ,1v,y(φ,2))を計算し、関係eφ(μφ,g1,cφ,2u)/eφ(cφ,1u,y(φ,2))=eφ(μφ,g1,cφ,2v)/eφ(cφ,1v,y(φ,2))を満たすか否かを判定することができる。
一方、大きな合成数Nφの素因数分解を多項式時間で行う方法は知られていない。よって、この設定の場合、素数ωφ及び素数ιφの少なくとも一方が与えられていない判定部24111は、関係eφ(μφ,g1,cφ,2u)/eφ(cφ,1u,y(φ,2))=eφ(μφ,g1,cφ,2v)/eφ(cφ,1v,y(φ,2))を満たすか否かを判定することができない。
以上のような特殊な群Gφ,1,Gφ,2や双線形写像eφを用いた場合、ステップS24107及びS24110の処理を計算装置241−φに実行させることができる者を素数ωφ及び素数ιφの少なくとも一方を知る者に制限することができる。
[第十六実施形態]
第十六実施形態の代理計算システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した他の例である。具体的には、Hφが群Gφの直積群Gφ×Gφ、群Gφが巡回群、関数fφ(xφ)がElGamal暗号の復号関数、すなわち暗号文である元xφ=(cφ,1,cφ,2)及び復号鍵s(φ)に対してfφ(cφ,1,cφ,2)=cφ,1cφ,2 -s(φ)である場合の第一乱数化可能標本器及び第二乱数化可能標本器の例を具体化したものである。以下、第十二実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。
第十六実施形態の代理計算システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した他の例である。具体的には、Hφが群Gφの直積群Gφ×Gφ、群Gφが巡回群、関数fφ(xφ)がElGamal暗号の復号関数、すなわち暗号文である元xφ=(cφ,1,cφ,2)及び復号鍵s(φ)に対してfφ(cφ,1,cφ,2)=cφ,1cφ,2 -s(φ)である場合の第一乱数化可能標本器及び第二乱数化可能標本器の例を具体化したものである。以下、第十二実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。
図31に例示するように、第十六実施形態の代理計算システム205は、計算装置211−φが計算装置251−φに置換され、能力提供装置212が能力提供装置252に置換されたものである。
図32に例示するように、第十六実施形態の計算装置251−φは、例えば、自然数記憶部21101−φと自然数選択部21102−φと整数計算部21103−φと入力情報提供部25104−φと第一計算部25105−φと第一べき乗計算部21106−φと第一リスト記憶部21107−φと第二計算部25108−φと第二べき乗計算部21109−φと第二リスト記憶部21110−φと判定部21111−φと最終出力部21112−φと制御部21113−φとを有する。図36に例示するように、本形態の入力情報提供部25104−φは、例えば、第四乱数生成部25104a−φと第五乱数生成部25104b−φと第一入力情報計算部25104c−φと第六乱数生成部25104d−φと第七乱数生成部25104e−φと第二入力情報計算部25104f−φとを有する。第一入力情報計算部25104c−φは、例えば、第四入力情報計算部25104ca−φと第五入力情報計算部25104cb−φとを有し、第二入力情報計算部25104f−φは、第六入力情報計算部25104fa−φと第七入力情報計算部25104fb−φとを有する。
図33に例示するように、第十六実施形態の能力提供装置252は、例えば、第一出力情報計算部25201と第二出力情報計算部25202と制御部21205とを有する。
<処理>
次に本形態の処理を説明する。第十六実施形態では、群Hφ=Gφ×Gφ、元xφ=(cφ,1,cφ,2)∈Hφであり、fφ(cφ,1,cφ,2)が準同型関数であり、群Gφの生成元をμφ,gとし、群Gφの位数をKφ,Gとし、同じ復号鍵s(φ)に対する暗号文(Vφ,Wφ)∈Hφとその暗号文を復号した復号文fφ(Vφ,Wφ)=Yφ∈Gφとの組が計算装置251−φ及び能力提供装置252に事前設定され、計算装置251−φ及び能力提供装置252がこの組を利用可能とされているものとする。
次に本形態の処理を説明する。第十六実施形態では、群Hφ=Gφ×Gφ、元xφ=(cφ,1,cφ,2)∈Hφであり、fφ(cφ,1,cφ,2)が準同型関数であり、群Gφの生成元をμφ,gとし、群Gφの位数をKφ,Gとし、同じ復号鍵s(φ)に対する暗号文(Vφ,Wφ)∈Hφとその暗号文を復号した復号文fφ(Vφ,Wφ)=Yφ∈Gφとの組が計算装置251−φ及び能力提供装置252に事前設定され、計算装置251−φ及び能力提供装置252がこの組を利用可能とされているものとする。
図37及び38に例示するように、第十六実施形態の処理は第十二実施形態のステップS21103〜S21105,S21108,S21200〜S21203が、それぞれ、ステップS25103〜S25105,S25108,S25200〜S25203に置換されたものである。以下ではステップS25103〜S25105,S25108,S25200〜S25203の処理のみを説明する。
《ステップS25103の処理》
計算装置251−φ(図32)の入力情報提供部25104−φは、入力された元xφ=(cφ,1,cφ,2)に対応する第一入力情報τφ,1及び元xφ=(cφ,1,cφ,2)に対応する第二入力情報τφ,2を生成して出力する(図37/ステップS25103)。以下、図41を用いて本形態のステップS25103の処理を説明する。
計算装置251−φ(図32)の入力情報提供部25104−φは、入力された元xφ=(cφ,1,cφ,2)に対応する第一入力情報τφ,1及び元xφ=(cφ,1,cφ,2)に対応する第二入力情報τφ,2を生成して出力する(図37/ステップS25103)。以下、図41を用いて本形態のステップS25103の処理を説明する。
第四乱数生成部25104a−φ(図36)は、0以上Kφ,G未満の自然数の一様乱数r(φ,4)を生成する。生成された乱数r(φ,4)は、第四入力情報計算部25104ca−φ、第五入力情報計算部25104cb−φ、及び第一計算部25105−φに送られる(ステップS25103a)。第五乱数生成部25104b−φは、0以上Kφ,G未満の自然数の一様乱数r(φ,5)を生成する。生成された乱数r(φ,5)は、第五入力情報計算部25104cb−φ、及び第一計算部25105−φに送られる(ステップS25103b)。
第四入力情報計算部25104ca−φは、自然数選択部21102−φで選択された自然数b(φ)、元xφが含むcφ,2、及び乱数r(φ,4)を用い、第四入力情報cφ,2 b(φ)Wr(φ,4)を計算する(ステップS25103c)。第五入力情報計算部25104cb−φは、自然数選択部21102−φで選択された自然数b(φ)、元xφが含むcφ,1、及び乱数r(φ,4),r(φ,5)を用い、第五入力情報cφ,1 b(φ)Vr(φ,4)μφ,g r(φ,5)を計算する(ステップS25103d)。
第四入力情報計算部25104ca−φは、自然数選択部21102−φで選択された自然数b(φ)、元xφが含むcφ,2、及び乱数r(φ,4)を用い、第四入力情報cφ,2 b(φ)Wr(φ,4)を計算する(ステップS25103c)。第五入力情報計算部25104cb−φは、自然数選択部21102−φで選択された自然数b(φ)、元xφが含むcφ,1、及び乱数r(φ,4),r(φ,5)を用い、第五入力情報cφ,1 b(φ)Vr(φ,4)μφ,g r(φ,5)を計算する(ステップS25103d)。
第六乱数生成部25104d−φは、0以上Kφ,G未満の自然数の一様乱数r(φ,6)を生成する。生成された乱数r(φ,6)は、第六入力情報計算部25104fa−φ、第七入力情報計算部25104fb−φ、及び第二計算部25108−φに送られる(ステップS25103e)。第七乱数生成部25104e−φは、0以上Kφ,G未満の自然数の一様乱数r(φ,7)を生成する。生成された乱数r(φ,7)は、第七入力情報計算部25104fb−φ、及び第二計算部25108−φに送られる(ステップS25103f)。
第六入力情報計算部25104fa−φは、自然数選択部21102−φで選択された自然数a(φ)、元xφが含むcφ,2、及び乱数r(φ,6)を用い、第六入力情報cφ,2 a(φ)Wr(φ,6)を計算する(ステップS25103g)。第七入力情報計算部25104fb−φは、自然数選択部21102−φで選択された自然数a(φ)、元xφが含むcφ,1、及び乱数r(φ,6),r(φ,7)を用い、第七入力情報cφ,1 a(φ)Vr(φ,6)μg r(φ,7)を計算する(ステップS25103h)。
第一入力情報計算部25104c−φは、以上のように生成した第四入力情報cφ,2 b(φ)Wφ r(φ,4)及び第五入力情報cφ,1 b(φ)Vφ r(φ,4)μφ,g r(φ,5)を第一入力情報τφ,1=(cφ,2 b(φ)Wφ r(φ,4),cφ,1 b(φ)Vφ r(φ,4)μφ,g r(φ,5))として出力する。第二入力情報計算部25104f−φは、以上のように生成した第六入力情報cφ,2 a(φ)Wr(φ,6)及び第七入力情報cφ,1 a(φ)Vφ r(φ,6)μφ,g r(φ,7)を第二入力情報τφ,2=(cφ,2 a(φ)Wφ r(φ,6),cφ,1 a(φ)Vφ r(φ,6)μφ,g r(φ,7))として出力する(ステップS25103i)。
《ステップS25200〜S25203の処理》
図38に例示するように、まず、第一入力情報τφ,1=(cφ,2 b(φ)Wφ r(φ,4),cφ,1 b(φ)Vφ r(φ,4)μφ,g r(φ,5))が能力提供装置252(図33)の第一出力情報計算部25201に入力され、第二入力情報τφ,2=(cφ,2 a(φ)Wr(φ,6),cφ,1 a(φ)Vr(φ,6)μφ,g r(φ,7))が第二出力情報計算部25202に入力される(ステップS25200)。
図38に例示するように、まず、第一入力情報τφ,1=(cφ,2 b(φ)Wφ r(φ,4),cφ,1 b(φ)Vφ r(φ,4)μφ,g r(φ,5))が能力提供装置252(図33)の第一出力情報計算部25201に入力され、第二入力情報τφ,2=(cφ,2 a(φ)Wr(φ,6),cφ,1 a(φ)Vr(φ,6)μφ,g r(φ,7))が第二出力情報計算部25202に入力される(ステップS25200)。
第一出力情報計算部25201は、第一入力情報τφ,1=(cφ,2 b(φ)Wφ r(φ,4),cφ,1 b(φ)Vφ r(φ,4)μφ,g r(φ,5))と復号鍵s(φ)とを用い、或る確率より大きな確率でfφ(cφ,1 b(φ)Vφ r(φ,4)μφ,g r(φ,5),cφ,2 b(φ)Wφ r(φ,4))を正しく計算し、計算結果を第一出力情報zφ,1とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第一出力情報計算部25201での計算結果がfφ(cφ,1 b(φ)Vφ r(φ,4)μφ,g r(φ,5),cφ,2 b(φ)Wφ r(φ,4))となる場合もあれば、fφ(cφ,1 b(φ)Vφ r(φ,4)μφ,g r(φ,5),cφ,2 b(φ)Wφ r(φ,4))とならない場合もある(ステップS25201)。
第二出力情報計算部25202は、第二入力情報τφ,2=(cφ,2 a(φ)Wφ r(φ,6),cφ,1 a(φ)Vφ r(φ,6)μφ,g r(φ,7))と復号鍵s(φ)とを用い、或る確率より大きな確率でfφ(cφ,1 a(φ)Vφ r(φ,6)μφ,g r(φ,7),cφ,2 a(φ)Wφ r(φ,6))を正しく計算可能であり、得られた計算結果を第二出力情報zφ,2とする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第二出力情報計算部25202での計算結果がfφ(cφ,1 a(φ)Vφ r(φ,6)μφ,g r(φ,7),cφ,2 a(φ)Wφ r(φ,6))となる場合もあれば、fφ(cφ,1 a(φ)Vφ r(φ,6)μφ,g r(φ,7),cφ,2 a(φ)Wφ r(φ,6))とならない場合もある(ステップS25202)。
第一出力情報計算部25201は第一出力情報zφ,1を出力し、第二出力情報計算部25202は第二出力情報zφ,2を出力する(ステップS25203)。
第一出力情報計算部25201は第一出力情報zφ,1を出力し、第二出力情報計算部25202は第二出力情報zφ,2を出力する(ステップS25203)。
《ステップS25104及びS25105の処理》
図37に戻り、第一出力情報zφ,1は計算装置251−φ(図32)の第一計算部25105−φに入力され、第二出力情報zφ,2は第二計算部25108−φに入力される(ステップS25104)。
図37に戻り、第一出力情報zφ,1は計算装置251−φ(図32)の第一計算部25105−φに入力され、第二出力情報zφ,2は第二計算部25108−φに入力される(ステップS25104)。
第一計算部25105−φは、入力された第一出力情報zφ,1及び乱数r(φ,4),r(φ,5)を用い、zφ,1Y-r(φ,4)μφ,g -r(φ,5)を計算してその計算結果をuφとする(ステップS25105)。計算結果uφは、第一べき乗計算部21106−φに送られる。ここで、uφ=zφ,4Yφ -r(φ,4)μφ,g -r(φ,5)=fφ(cφ,1,cφ,2)b(φ)xφ,1となる。すなわち、zφ,4Yφ -r(φ,4)μφ,g -r(φ,5)は、fφ(cφ,1,cφ,2)について誤差Xφ,1を持つ乱数化可能標本器の出力となる。その理由については後述する。
《ステップS25108の処理》
第二計算部25108−φは、入力された第二出力情報zφ,2及び乱数r(φ,6),r(φ,7)を用い、zφ,2Yφ -r(φ,6)μφ,g -r(φ,7)を計算してその計算結果をvφとする。計算結果vφは、第二べき乗計算部21109−φに送られる。ここで、vφ=zφ,5Yφ -r(φ,6)μφ,g -r(φ,7)=fφ(cφ,1,cφ,2)a(φ)xφ,2となる。すなわち、zφ,5Yφ -r(φ,6)μφ,g -r(φ,7)は、fφ(cφ,1,cφ,2)について誤差Xφ,2を持つ乱数化可能標本器の出力となる。その理由については後述する。
第二計算部25108−φは、入力された第二出力情報zφ,2及び乱数r(φ,6),r(φ,7)を用い、zφ,2Yφ -r(φ,6)μφ,g -r(φ,7)を計算してその計算結果をvφとする。計算結果vφは、第二べき乗計算部21109−φに送られる。ここで、vφ=zφ,5Yφ -r(φ,6)μφ,g -r(φ,7)=fφ(cφ,1,cφ,2)a(φ)xφ,2となる。すなわち、zφ,5Yφ -r(φ,6)μφ,g -r(φ,7)は、fφ(cφ,1,cφ,2)について誤差Xφ,2を持つ乱数化可能標本器の出力となる。その理由については後述する。
≪zφ,4Yφ -r(φ,4)μφ,g -r(φ,5),zφ,5Yφ -r(φ,6)μφ,g -r(φ,7)がfφ(cφ,1,cφ,2)についてそれぞれ誤差Xφ,1,Xφ,2を持つ乱数化可能標本器の出力となる理由について≫
cを自然数、R1、R2、R1’及びR2’を乱数として、能力提供装置252がcφ,1 cVφ R1μφ,g R2及びcφ,2 cWφ R1を用いて行う計算の計算結果をB(cφ,1 cVφ R1μφ,g R2,cφ,2 cWφ R1)とする。すなわち、第一出力情報計算部25201や第二出力情報計算部25202が計算装置251−φに返す計算結果をzφ=B(cφ,1 cVφ R1μφ,g R2,cφ,2 cWφ R1)とする。さらに、群Gφに値を持つ確率変数XφをXφ=B(Vφ R1’μφ,g R2’,Wφ R1’)fφ(Vφ R1’μφ,g R2’,Wφ R1’)-1と定義する。
cを自然数、R1、R2、R1’及びR2’を乱数として、能力提供装置252がcφ,1 cVφ R1μφ,g R2及びcφ,2 cWφ R1を用いて行う計算の計算結果をB(cφ,1 cVφ R1μφ,g R2,cφ,2 cWφ R1)とする。すなわち、第一出力情報計算部25201や第二出力情報計算部25202が計算装置251−φに返す計算結果をzφ=B(cφ,1 cVφ R1μφ,g R2,cφ,2 cWφ R1)とする。さらに、群Gφに値を持つ確率変数XφをXφ=B(Vφ R1’μφ,g R2’,Wφ R1’)fφ(Vφ R1’μφ,g R2’,Wφ R1’)-1と定義する。
このとき、zφYφ -R1μφ,g -R2=B(cφ,1 cVφ R1μφ,g R2,cφ,2 cWφ R1)Yφ -R1μφ,g -R2=Xφfφ(cφ,1 cVφ R1μφ,g R2,cφ,2 cWφ R1)Yφ -R1μφ,g -R2=Xφfφ(cφ,1,cφ,2)cfφ(Vφ,Wφ)R1fφ(μφ,g,eφ,g)R2Yφ -R1μφ,g -R2=Xφfφ(cφ,1,cφ,2)cYφ R1μφ,g R2Yφ -R1μφ,g -R2=fφ(cφ,1,cφ,2)cXφとなる。すなわち、zφYφ -R1μφ,g -R2は、fφ(xφ)について誤差Xφを持つ乱数化可能標本器の出力となる。なお、eφ,gは、群Gφの単位元である。
上記式展開において、Xφ=B(Vφ R1’μφ,g R2’,Wφ R1’)fφ(Vφ R1’μφ,g R2’,Wφ R1’)-1=B(cφ,1 cVφ R1μφ,g R2,cφ,2 cWφ R1)fφ(cφ,1 cVφ R1μφ,g R2,cφ,2 cWφ R1)であり、B(cφ,1 cVφ R1μφ,g R2,cφ,2 cWφ R1)=Xφfφ(cφ,1 cVφ R1μφ,g R2,cφ,2 cWφ R1)であるという性質を用いている。この性質は、R1、R2、R1’及びR2’が乱数であることに基づく。
したがって、a(φ),b(φ)が自然数、r(φ,4),r(φ,5),r(φ,6)及びr(φ,7)が乱数であることを考慮すると、同様に、zφ,4Yφ -r(φ,4)μφ,g -r(φ,5),zφ,5Yφ -r(φ,6)μφ,g -r(φ,7)がfφ(cφ,1,cφ,2)についてそれぞれ誤差Xφ,1,Xφ,2を持つ乱数化可能標本器の出力となるのである。
[第十七実施形態]
第十七実施形態の代理計算システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した他の例である。具体的には、群Hφが巡回群H1,φ,H2,φの直積群H1,φ×H2,φ、巡回群H1,φの生成元がη1,φ、巡回群H2,φの生成元がη2,φ、fφが巡回群H1,φの元と巡回群H2,φの元との組を巡回群Gφの元へ写す双準同型写像、巡回群Hφの元xφが巡回群H1,φの元λ1,φと巡回群H2,φの元λ2,φとの組、Ωφ=fφ(η1,φ,η2,φ)である場合の第一乱数化可能標本器及び第二乱数化可能標本器の例を具体化したものである。双準同型写像fφの例には、Weilペアリングやtateペアリングなどのペアリング演算を行うための関数やアルゴリズムがある。以下、第十二実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。
第十七実施形態の代理計算システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した他の例である。具体的には、群Hφが巡回群H1,φ,H2,φの直積群H1,φ×H2,φ、巡回群H1,φの生成元がη1,φ、巡回群H2,φの生成元がη2,φ、fφが巡回群H1,φの元と巡回群H2,φの元との組を巡回群Gφの元へ写す双準同型写像、巡回群Hφの元xφが巡回群H1,φの元λ1,φと巡回群H2,φの元λ2,φとの組、Ωφ=fφ(η1,φ,η2,φ)である場合の第一乱数化可能標本器及び第二乱数化可能標本器の例を具体化したものである。双準同型写像fφの例には、Weilペアリングやtateペアリングなどのペアリング演算を行うための関数やアルゴリズムがある。以下、第十二実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。
図31に例示するように、第十七実施形態の代理計算システム207は、計算装置211−φが計算装置271−φに置換され、能力提供装置212が能力提供装置272に置換されたものである。
図32に例示するように、第十七実施形態の計算装置271−φは、例えば、自然数記憶部21101−φと自然数選択部21102−φと整数計算部21103−φと入力情報提供部27104−φと第一計算部27105−φと第一べき乗計算部21106−φと第一リスト記憶部21107−φと第二計算部27108−φと第二べき乗計算部21109−φと第二リスト記憶部21110−φと判定部27111−φと最終出力部21112−φと制御部21113−φとを有する。図42に例示するように、本形態の入力情報提供部27104−φは、例えば、第一乱数生成部27104a−φと第二乱数生成部27104c−φと第一入力情報計算部27104b−φと第二入力情報計算部27104d−φとを有する。
図33に例示するように、第十七実施形態の能力提供装置272は、例えば、第一出力情報計算部27201と第二出力情報計算部27202と制御部21205とを有する。
<処理>
次に本形態の処理を説明する。第十七実施形態では、群Hφが巡回群H1,φ,H2,φの直積群H1,φ×H2,φ、巡回群H1,φの生成元がη1,φ、巡回群H2,φの生成元がη2,φ、fφが巡回群H1,φの元と巡回群H2,φの元との組を巡回群Gφの元へ写す双準同型写像、群Hφの元xφが巡回群H1,φの元λ1,φと巡回群H2,φの元λ2,φとの組、Ωφ=fφ(η1,φ,η2,φ)である。Ωφ=fφ(η1,φ,η2,φ)は例えば事前計算されたものである。
次に本形態の処理を説明する。第十七実施形態では、群Hφが巡回群H1,φ,H2,φの直積群H1,φ×H2,φ、巡回群H1,φの生成元がη1,φ、巡回群H2,φの生成元がη2,φ、fφが巡回群H1,φの元と巡回群H2,φの元との組を巡回群Gφの元へ写す双準同型写像、群Hφの元xφが巡回群H1,φの元λ1,φと巡回群H2,φの元λ2,φとの組、Ωφ=fφ(η1,φ,η2,φ)である。Ωφ=fφ(η1,φ,η2,φ)は例えば事前計算されたものである。
図37及び38に例示するように、第十七実施形態の処理は第十二実施形態のステップS21103〜S21105,S21107,S21108,S21110,S21200〜S21203が、それぞれ、ステップS27103〜S27105,S27107,S27108,S27110,S27200〜S27203に置換されたものである。以下ではステップS27103〜S27105,S27107,S27108,S27110,S27200〜S27203の処理のみを説明する。
《ステップS27103の処理》
計算装置271−φ(図32)の入力情報提供部27104−φは、入力された巡回群H1,φの元λ1,φと巡回群H2,φの元λ2,φとの組xφ=(λ1,φ,λ2,φ)に対応する第一入力情報τφ,1及びxφ=(λ1,φ,λ2,φ)に対応する第二入力情報τφ,2を生成して出力する(図37/ステップS27103)。以下、図43を用いて本形態のステップS27103の処理を説明する。
計算装置271−φ(図32)の入力情報提供部27104−φは、入力された巡回群H1,φの元λ1,φと巡回群H2,φの元λ2,φとの組xφ=(λ1,φ,λ2,φ)に対応する第一入力情報τφ,1及びxφ=(λ1,φ,λ2,φ)に対応する第二入力情報τφ,2を生成して出力する(図37/ステップS27103)。以下、図43を用いて本形態のステップS27103の処理を説明する。
第一乱数生成部27104a−φ(図42)は、0以上2μ(k)+k以下の自然数の一様乱数r(φ,11),r(φ,12),r(φ,13),r(φ,14),r(φ,15),r(φ,16)を生成する。ただし、μ(k)はセキュリティパラメータkの関数値を意味する。生成された乱数r(φ,11),r(φ,12),r(φ,13),r(φ,14),r(φ,15),r(φ,16)は、第一入力情報計算部27104b−φ及び第一計算部27105−φに送られる(ステップS27103a)。
第一入力情報計算部27104b−φは、自然数選択部21102−φで選択された自然数b(φ)、入力された値xφ=(λ1,φ,λ2,φ)、生成元η1,φ,η2,φ及び乱数r(φ,11),r(φ,12),r(φ,13),r(φ,14),r(φ,15),r(φ,16)を用い、第一入力情報τφ,1として、(λ1,φη1,φ r(φ,11)・r(φ,12),λ2,φ b(φ)η2,φ r(φ,13)・r(φ,14))、(η1,φ r(φ,11),λ2,φ -b(φ)・r(φ,12)η2,φ r(φ,15))及び(λ1,φ -r(φ,14)η1,φ r(φ,16),η2,φ r(φ,13))を計算する(ステップS27103b〜S27103d)。
第二乱数生成部27104c−φ(図42)は、0以上2μ(k)+k以下の自然数の一様乱数r(φ,21),r(φ,22),r(φ,23),r(φ,24),r(φ,25),r(φ,26)を生成する。生成された乱数r(φ,21),r(φ,22),r(φ,23),r(φ,24),r(φ,25),r(φ,26)は、第二入力情報計算部27104d−φ及び第二計算部27108−φに送られる(ステップS27103e)。
第二入力情報計算部27104d−φは、自然数選択部21102−φで選択された自然数a(φ)、入力された値xφ=(λ1,φ,λ2,φ)、生成元η1,φ,η2,φ及び乱数r(φ,21),r(φ,22),r(φ,23),r(φ,24),r(φ,25),r(φ,26)を用い、第二入力情報τφ,2として、(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))、(η1,φ r(φ,21),λ2,φ -a(φ)・r(φ,22)η2,φ r(φ,25))及び(λ1,φ -r(φ,24)η1,φ r(φ,26),η2,φ r(φ,23))を計算する(ステップS27103f〜S27103h)。
第一入力情報計算部27104b−φは、第一入力情報τφ,1として、(λ1,φη1,φ r(φ,11)・r(φ,12),λ2,φ b(φ)η2,φ r(φ,13)・r(φ,14))、(η1,φ r(φ,11),λ2,φ -b(φ)・r(φ,12)η2,φ r(φ,15))及び(λ1,φ -r(φ,14)η1,φ r(φ,16),η2,φ r(φ,13))を出力する。第二入力情報計算部27104d−φは、第二入力情報τφ,2として、(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))、(η1,φ r(φ,21),λ2,φ -a(φ)・r(φ,22)η2,φ r(φ,25))及び(λ1,φ -r(φ,24)η1,φ r(φ,26),η2,φ r(φ,23))を出力する(ステップS27103i)。
《ステップS27200〜S27203の処理》
図38に例示するように、第一入力情報τφ,1である(λ1,φη1,φ r(φ,11)・r(φ,12),λ2,φ b(φ)η2,φ r(φ,13)・r(φ,14))、(η1,φ r(φ,11),λ2,φ -b(φ)・r(φ,12)η2,φ r(φ,15))及び(λ1,φ -r(φ,14)η1,φ r(φ,16),η2,φ r(φ,13))が能力提供装置272(図33)の第一出力情報計算部27201に入力される。第二入力情報τφ,2である(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))、(η1,φ r(φ,21),λ2,φ -a(φ)・r(φ,22)η2,φ r(φ,25))及び(λ1,φ -r(φ,24)η1,φ r(φ,26),η2,φ r(φ,23))が第二出力情報計算部27202に入力される(ステップS27200)。
図38に例示するように、第一入力情報τφ,1である(λ1,φη1,φ r(φ,11)・r(φ,12),λ2,φ b(φ)η2,φ r(φ,13)・r(φ,14))、(η1,φ r(φ,11),λ2,φ -b(φ)・r(φ,12)η2,φ r(φ,15))及び(λ1,φ -r(φ,14)η1,φ r(φ,16),η2,φ r(φ,13))が能力提供装置272(図33)の第一出力情報計算部27201に入力される。第二入力情報τφ,2である(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))、(η1,φ r(φ,21),λ2,φ -a(φ)・r(φ,22)η2,φ r(φ,25))及び(λ1,φ -r(φ,24)η1,φ r(φ,26),η2,φ r(φ,23))が第二出力情報計算部27202に入力される(ステップS27200)。
第一出力情報計算部27201は、第一入力情報τφ,1を用い、或る確率より大きな確率で、fφ(λ1,φη1,φ r(φ,11)・r(φ,12),λ2,φ b(φ)η2,φ r(φ,13)・r(φ,14))、fφ(η1,φ r(φ,11),λ2,φ -b(φ)・r(φ,12)η2,φ r(φ,15))及びfφ(λ1,φ -r(φ,14)η1,φ r(φ,16),η2,φ r(φ,13))を正しく計算し、得られた演算結果zφ,1,1、zφ,1,2及びzφ,1,3を第一出力情報zφ,1とする。これらの計算結果は正しい場合もあれば正しくない場合もある(ステップS27201)。
第二出力情報計算部27202は、第二入力情報τφ,2を用い、或る確率より大きな確率で、fφ(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))、fφ(η1,φ r(φ,21),λ2,φ -a(φ)・r(φ,22)η2,φ r(φ,25))及びfφ(λ1,φ -r(φ,24)η1,φ r(φ,26),η2,φ r(φ,23))を正しく計算し、得られた演算結果zφ,2,1、zφ,2,2及びzφ,2,3を第二出力情報zφ,2とする。これらの計算結果は正しい場合もあれば正しくない場合もある(ステップS27202)。第一出力情報計算部27201は第一出力情報zφ,1を出力し、第二出力情報計算部27202は第二出力情報zφ,2を出力する(ステップS27203)。
《ステップS27104及びS27105の処理》
図37に戻り、第一出力情報zφ,1は計算装置271−φ(図32)の第一計算部27105−φに入力され、第二出力情報zφ,2は第二計算部27108−φに入力される(ステップS27104)。
図37に戻り、第一出力情報zφ,1は計算装置271−φ(図32)の第一計算部27105−φに入力され、第二出力情報zφ,2は第二計算部27108−φに入力される(ステップS27104)。
第一計算部27105−φは、入力された第一出力情報zφ,1=(zφ,1,1,zφ,1,2,zφ,1,3)及び乱数r(φ,11),r(φ,12),r(φ,13),r(φ,14),r(φ,15),r(φ,16)を用い、uφ=zφ,1,1zφ,1,2zφ,1,3Ωφ -r(φ,11)・r(φ,12)・r(φ,13)・r(φ,14)-r(φ,11)・r(φ,15)-r(φ,13)・r(φ,16)を計算して演算結果uφを得る(ステップS27105)。計算結果uφは、第一べき乗計算部21106−φに送られる。ここで、uφ=fφ(λ1,φ,λ2,φ)b(φ)xφ,1となる。すなわち、zφ,1,1zφ,1,2zφ,1,3Ωφ -r(φ,11)・r(φ,12)・r(φ,13)・r(φ,14)-r(φ,11)・r(φ,15)-r(φ,13)・r(φ,16)は、fφ(λ1,φ,λ2,φ)について誤差Xφ,1を持つ乱数化可能標本器の出力となる。その理由については後述する。
《ステップS27108の処理》
第二計算部27108−φは、入力された第二出力情報zφ,2=(zφ,2,1,zφ,2,2,zφ,2,3)及び乱数r(φ,21),r(φ,22),r(φ,23),r(φ,24),r(φ,25),r(φ,26)を用い、vφ=zφ,2,1zφ,2,2zφ,2,3Ωφ -r(φ,21)・r(φ,22)・r(φ,23)・r(φ,24)-r(φ,21)・r(φ,25)-r(φ,23)・r(φ,26)を計算して演算結果vφを得る。計算結果vφは、第二べき乗計算部21109−φに送られる。ここで、vφ=fφ(λ1,φ,λ2,φ)a(φ)xφ,2となる。すなわち、zφ,2,1zφ,2,2zφ,2,3Ωφ -r(φ,21)・r(φ,22)・r(φ,23)・r(φ,24)-r(φ,21)・r(φ,25)-r(φ,23)・r(φ,26)は、fφ(λ1,φ,λ2,φ)について誤差Xφ,2を持つ乱数化可能標本器の出力となる。その理由については後述する。
第二計算部27108−φは、入力された第二出力情報zφ,2=(zφ,2,1,zφ,2,2,zφ,2,3)及び乱数r(φ,21),r(φ,22),r(φ,23),r(φ,24),r(φ,25),r(φ,26)を用い、vφ=zφ,2,1zφ,2,2zφ,2,3Ωφ -r(φ,21)・r(φ,22)・r(φ,23)・r(φ,24)-r(φ,21)・r(φ,25)-r(φ,23)・r(φ,26)を計算して演算結果vφを得る。計算結果vφは、第二べき乗計算部21109−φに送られる。ここで、vφ=fφ(λ1,φ,λ2,φ)a(φ)xφ,2となる。すなわち、zφ,2,1zφ,2,2zφ,2,3Ωφ -r(φ,21)・r(φ,22)・r(φ,23)・r(φ,24)-r(φ,21)・r(φ,25)-r(φ,23)・r(φ,26)は、fφ(λ1,φ,λ2,φ)について誤差Xφ,2を持つ乱数化可能標本器の出力となる。その理由については後述する。
《ステップS27107,S27110の処理》
ステップS27107,S27110では、判定部27111−φがuφ’=vφ’であるかを判定する。ステップS27107でuφ’=vφ’であると判定されればステップS21114に進み、そうでなければステップS27108に進む。ステップS27110でuφ’=vφ’であると判定されればステップS21114に進み、そうでなければステップS21111に進む。
ステップS27107,S27110では、判定部27111−φがuφ’=vφ’であるかを判定する。ステップS27107でuφ’=vφ’であると判定されればステップS21114に進み、そうでなければステップS27108に進む。ステップS27110でuφ’=vφ’であると判定されればステップS21114に進み、そうでなければステップS21111に進む。
≪zφ,1,1zφ,1,2zφ,1,3Ωφ -r(φ,11)・r(φ,12)・r(φ,13)・r(φ,14)-r(φ,11)・r(φ,15)-r(φ,13)・r(φ,16),zφ,2,1zφ,2,2zφ,2,3Ωφ -r(φ,21)・r(φ,22)・r(φ,23)・r(φ,24)-r(φ,21)・r(φ,25)-r(φ,23)・r(φ,26)がfφ(λ1,φ,λ2,φ)についてそれぞれ誤差Xφ,1,Xφ,2を持つ乱数化可能標本器の出力となる理由について≫
fφの双線形性よりvφについて以下の関係が成り立つ。
vφfφ(λ1,φ,λ2,φ)-a(φ)
=zφ,2,1zφ,2,2zφ,2,3Ωφ -r(φ,21)・r(φ,22)・r(φ,23)・r(φ,24)-r(φ,21)・r(φ,25)-r(φ,23)・r(φ,26)fφ(λ1,φ,λ2,φ)-a(φ)
=zφ,2,1zφ,2,2zφ,2,3fφ(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))-1fφ(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))Ωφ -r(φ,21)・r(φ,22)・r(φ,23)・r(φ,24)-r(φ,21)・r(φ,25)-r(φ,23)・r(φ,26)fφ(λ1,φ,λ2,φ)-a(φ)
=zφ,2,1’zφ,2,2zφ,2,3fφ(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))Ωφ -r(φ,21)・r(φ,22)・r(φ,23)・r(φ,24)-r(φ,21)・r(φ,25)-r(φ,23)・r(φ,26)fφ(λ1,φ,λ2,φ)-a(φ)
=zφ,2,1’zφ,2,2’zφ,2,3’fφ(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))fφ(η1,φ r(φ,21),λ2,φ -a(φ)・r(φ,22)η2,φ r(φ,25))fφ(λ1,φ -r(φ,24)η1,φ r(φ,26),η2,φ r(φ,23))Ωφ -r(φ,21)・r(φ,22)・r(φ,23)・r(φ,24)-r(φ,21)・r(φ,25)-r(φ,23)・r(φ,26)fφ(λ1,φ,λ2,φ)-a(φ)
=zφ,2,1’zφ,2,2’zφ,2,3’
fφの双線形性よりvφについて以下の関係が成り立つ。
vφfφ(λ1,φ,λ2,φ)-a(φ)
=zφ,2,1zφ,2,2zφ,2,3Ωφ -r(φ,21)・r(φ,22)・r(φ,23)・r(φ,24)-r(φ,21)・r(φ,25)-r(φ,23)・r(φ,26)fφ(λ1,φ,λ2,φ)-a(φ)
=zφ,2,1zφ,2,2zφ,2,3fφ(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))-1fφ(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))Ωφ -r(φ,21)・r(φ,22)・r(φ,23)・r(φ,24)-r(φ,21)・r(φ,25)-r(φ,23)・r(φ,26)fφ(λ1,φ,λ2,φ)-a(φ)
=zφ,2,1’zφ,2,2zφ,2,3fφ(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))Ωφ -r(φ,21)・r(φ,22)・r(φ,23)・r(φ,24)-r(φ,21)・r(φ,25)-r(φ,23)・r(φ,26)fφ(λ1,φ,λ2,φ)-a(φ)
=zφ,2,1’zφ,2,2’zφ,2,3’fφ(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))fφ(η1,φ r(φ,21),λ2,φ -a(φ)・r(φ,22)η2,φ r(φ,25))fφ(λ1,φ -r(φ,24)η1,φ r(φ,26),η2,φ r(φ,23))Ωφ -r(φ,21)・r(φ,22)・r(φ,23)・r(φ,24)-r(φ,21)・r(φ,25)-r(φ,23)・r(φ,26)fφ(λ1,φ,λ2,φ)-a(φ)
=zφ,2,1’zφ,2,2’zφ,2,3’
ただし、zφ,2,1’=zφ,2,1fφ(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))-1、zφ,2,2’=zφ,2,2fφ(η1,φ r(φ,21),λ2,φ -a(φ)・r(φ,22)η2,φ r(φ,25))-1、zφ,2,3’=zφ,2,3fφ(λ1,φ -r(φ,24)η1,φ r(φ,26),η2,φ r(φ,23))-1を満たす。
zφ,2,1’,zφ,2,2’及びzφ,2,3’は、何れもa(φ)に依存しない確率分布とstatistically-closeである。よって、vφfφ(λ1,φ,λ2,φ)-a(φ)がなす確率分布はa(φ)に依存しないある確率分布Xφ,2とstatistically-closeである。したがって、vφはfφ(λ1,φ,λ2,φ)について誤差Xφ,2を持つ乱数化可能標本器の出力となる。同様に、uφはfφ(λ1,φ,λ2,φ)について誤差Xφ,1を持つ乱数化可能標本器の出力となる。
[第十八実施形態]
上述の各実施形態では、計算装置の自然数記憶部21101−φに、互いに素である2つの自然数a(φ),b(φ)の組(a(φ),b(φ))が複数種類記憶され、これらの組(a(φ),b(φ))を用いて各処理が実行されることとした。しかしながら、a(φ),b(φ)の一方が定数であってもよい。例えば、a(φ)が1に固定されていてもよいし、b(φ)が1に固定されていてもよい。言い換えると、第一乱数化可能標本器又は第二乱数化可能標本器の一方が標本器に置換されていてもよい。a(φ),b(φ)の一方が定数である場合、定数とされたa(φ)又はb(φ)を選択する処理が不要となり、各処理部は定数とされたa(φ)又はb(φ)が入力されることなく、それを定数として扱って計算を行うことができる。定数とされたa(φ)又はb(φ)が1である場合には、a’(φ)やb’(φ)を用いることなく、fφ(xφ)=uφ b’(φ)vφ a’(φ)をfφ(xφ)=vφ又はfφ(xφ)=uφとして得ることができる。
上述の各実施形態では、計算装置の自然数記憶部21101−φに、互いに素である2つの自然数a(φ),b(φ)の組(a(φ),b(φ))が複数種類記憶され、これらの組(a(φ),b(φ))を用いて各処理が実行されることとした。しかしながら、a(φ),b(φ)の一方が定数であってもよい。例えば、a(φ)が1に固定されていてもよいし、b(φ)が1に固定されていてもよい。言い換えると、第一乱数化可能標本器又は第二乱数化可能標本器の一方が標本器に置換されていてもよい。a(φ),b(φ)の一方が定数である場合、定数とされたa(φ)又はb(φ)を選択する処理が不要となり、各処理部は定数とされたa(φ)又はb(φ)が入力されることなく、それを定数として扱って計算を行うことができる。定数とされたa(φ)又はb(φ)が1である場合には、a’(φ)やb’(φ)を用いることなく、fφ(xφ)=uφ b’(φ)vφ a’(φ)をfφ(xφ)=vφ又はfφ(xφ)=uφとして得ることができる。
第十八実施形態は、そのような変形の一例であり、b(φ)が1に固定され、第二乱数化可能標本器が標本器に置換された形態である。以下では、第十二実施形態との相違点を中心に説明する。第一乱数化可能標本器や標本器の具体例は、第十三実施形態から第十七実施形態で説明したのと同様であるため、説明を省略する。
<構成>
図31に例示するように、第十八実施形態の代理計算システム206は、第十二実施形態の計算装置211−φが計算装置261−φに置換され、能力提供装置212が能力提供装置262に置換されたものである。
図44に例示するように、第十八実施形態の計算装置261−φは、例えば、自然数記憶部26101−φと自然数選択部26102−φと入力情報提供部26104−φと第一計算部26105−φと第一べき乗計算部21106−φと第一リスト記憶部21107−φと第二計算部26108−φと第二リスト記憶部26110−φと判定部26111−φと最終出力部21112−φと制御部21113−φとを有する。
図31に例示するように、第十八実施形態の代理計算システム206は、第十二実施形態の計算装置211−φが計算装置261−φに置換され、能力提供装置212が能力提供装置262に置換されたものである。
図44に例示するように、第十八実施形態の計算装置261−φは、例えば、自然数記憶部26101−φと自然数選択部26102−φと入力情報提供部26104−φと第一計算部26105−φと第一べき乗計算部21106−φと第一リスト記憶部21107−φと第二計算部26108−φと第二リスト記憶部26110−φと判定部26111−φと最終出力部21112−φと制御部21113−φとを有する。
図33に例示するように、第十八実施形態の能力提供装置262は、例えば、第一出力情報計算部26201と第二出力情報計算部26202と制御部21205とを有する。
<処理の前提>
計算装置261−φの自然数記憶部26101−φには自然数b(φ)が記憶されておらず、自然数a(φ)のみが複数種類記憶されている。その他の前提は、上述の第十二実施形態から第十七実施形態の何れかと同様である。
計算装置261−φの自然数記憶部26101−φには自然数b(φ)が記憶されておらず、自然数a(φ)のみが複数種類記憶されている。その他の前提は、上述の第十二実施形態から第十七実施形態の何れかと同様である。
<処理>
図45に例示するように、まず、計算装置261−φ(図44)の自然数選択部26102−φが、自然数記憶部26101−φに記憶された複数の自然数a(φ)から1つの自然数a(φ)をランダムに読み込む。読み込まれた自然数a(φ)の情報は、入力情報提供部26104−φ及び第一べき乗計算部21106−φに送られる(ステップS26100)。
図45に例示するように、まず、計算装置261−φ(図44)の自然数選択部26102−φが、自然数記憶部26101−φに記憶された複数の自然数a(φ)から1つの自然数a(φ)をランダムに読み込む。読み込まれた自然数a(φ)の情報は、入力情報提供部26104−φ及び第一べき乗計算部21106−φに送られる(ステップS26100)。
制御部21113−φは、t=1とする(ステップS21102)。
入力情報提供部26104−φは、入力された元xφにそれぞれ対応する第一入力情報τφ,1及び第二入力情報τφ,2を生成して出力する。好ましくは、第一入力情報τφ,1及び第二入力情報τφ,2はそれぞれ元xφとの関係をかく乱させた情報である。これにより、計算装置261−φは、元xφを能力提供装置262に対して隠蔽できる。好ましくは、本形態の第二入力情報τφ,2は自然数選択部26102−φで選択された自然数a(φ)にさらに対応する。これにより、能力提供装置262から提供された計算能力を計算装置261−φが高い精度で評価することが可能となる(ステップS26103)。第一入力情報τφ,1及び第二入力情報τφ,2の組みの具体例は、第十三実施形態から第十七実施形態の何れかのb(φ)=1とした第一入力情報τφ,1及び第二入力情報τφ,2の組みである。
入力情報提供部26104−φは、入力された元xφにそれぞれ対応する第一入力情報τφ,1及び第二入力情報τφ,2を生成して出力する。好ましくは、第一入力情報τφ,1及び第二入力情報τφ,2はそれぞれ元xφとの関係をかく乱させた情報である。これにより、計算装置261−φは、元xφを能力提供装置262に対して隠蔽できる。好ましくは、本形態の第二入力情報τφ,2は自然数選択部26102−φで選択された自然数a(φ)にさらに対応する。これにより、能力提供装置262から提供された計算能力を計算装置261−φが高い精度で評価することが可能となる(ステップS26103)。第一入力情報τφ,1及び第二入力情報τφ,2の組みの具体例は、第十三実施形態から第十七実施形態の何れかのb(φ)=1とした第一入力情報τφ,1及び第二入力情報τφ,2の組みである。
図38に例示するように、第一入力情報τφ,1は能力提供装置262(図33)の第一出力情報計算部26201に入力され、第二入力情報τφ,2は第二出力情報計算部26202に入力される(ステップS26200)。
第一出力情報計算部26201は、第一入力情報τφ,1を用い、或る確率より大きな確率でfφ(τφ,1)を正しく計算し、得られた計算結果を第一出力情報zφ,1とする(ステップS26201)。第二出力情報計算部26202は、第二入力情報τφ,2を用い、或る確率より大きな確率でfφ(τφ,2)を正しく計算し、得られた演算結果を第二出力情報zφ,2とする(ステップS26202)。すなわち、第一出力情報計算部26201や第二出力情報計算部26202は、意図的又は意図的ではない誤差を含んだ計算結果を出力し得る。言い換えると、第一出力情報計算部26201での計算結果がfφ(τφ,1)の場合もあればfφ(τφ,1)でない場合もあり、第二出力情報計算部26202での計算結果がfφ(τφ,2)の場合もあればfφ(τφ,2)でない場合もある。第一出力情報zφ,1及び第二出力情報zφ,2の組の具体例は、第十三実施形態から第十七実施形態の何れかのb(φ)=1とした第一出力情報zφ,1及び第二出力情報zφ,2の組である。
第一出力情報計算部26201は第一出力情報zφ,1を出力し、第二出力情報計算部26202は第二出力情報zφ,2を出力する(ステップS26203)。
図45に戻り、第一出力情報zφ,1は計算装置261−φ(図44)の第一計算部26105−φに入力され、第二出力情報zφ,2は第二計算部26108−φに入力される。これらの第一出力情報zφ,1及び第二出力情報zφ,2が、能力提供装置262から計算装置261−φに与えられた計算能力に相当する(ステップS26104)。
図45に戻り、第一出力情報zφ,1は計算装置261−φ(図44)の第一計算部26105−φに入力され、第二出力情報zφ,2は第二計算部26108−φに入力される。これらの第一出力情報zφ,1及び第二出力情報zφ,2が、能力提供装置262から計算装置261−φに与えられた計算能力に相当する(ステップS26104)。
第一計算部26105−φは、第一出力情報zφ,1から演算結果uφ=fφ(xφ)xφ,1を生成する。演算結果uφの具体例は、第十三実施形態から第十七実施形態の何れかのb(φ)=1とした演算結果uφである。演算結果uφは第一べき乗計算部21106−φに送られる(ステップS26105)。
第一べき乗計算部21106−φはuφ’=uφ a(φ)を計算する。計算結果uφとその計算結果に基づいて計算されたuφ’との組(uφ,uφ’)は、第一リスト記憶部21107−φに記憶される(ステップS21106)。
第二計算部26108−φは、第二出力情報zφ,2から演算結果vφ=fφ(xφ)a(φ)xφ,2を生成する。演算結果vφの具体例は、第十三実施形態から第十七実施形態の何れかの演算結果vφである。演算結果vφは第二リスト記憶部26110−φに記憶される(ステップS26108)。
判定部26111−φは、第十二実施形態から第十七実施形態の何れかと同様に、第一リスト記憶部21107−φに記憶された組(uφ,uφ’)及び第二リスト記憶部26110−φに記憶されたvφの中で、uφ’とvφとが互いに同一の元Mφに対する類CLφ(Mφ)に属するものがあるかを判定する(ステップS26110)。同一の元Mφに対する類CLφ(Mφ)に属するuφ’とvφとの組があった場合には、ステップS26114に進む。同一の元Mφに対する類CLφ(Mφ)に属するuφ’とvφとの組がなかった場合には、ステップS21111に進む。
ステップS21111では、制御部21113−φがt=Tであるか判定する(ステップS21111)。Tは予め定められた自然数である。t=Tであれば、制御部21113−φは、計算をすることができなかった旨の情報、例えば記号「⊥」を出力して(ステップS21113)、処理を終える。t=Tでない場合には、制御部21113−φは、tを1だけインクリメント、すなわちt=t+1として(ステップS21112)、ステップS26103に戻る。
ステップS26114では、最終出力部21112−φが、同一の元Mφに対する類CLφ(Mφ)に属すると判定されたuφ’とvφとの組が含むuφ’に対応するuφを出力する(ステップS26114)。このように得られたuφは、第十二実施形態から第十七実施形態でb(φ)=1とした場合のuφ b’(φ)vφ a’(φ)に相当する。すなわち、このように得られたuφは高い確率でfφ(xφ)となる。よって、少なくとも上述の処理を複数回繰り返し、ステップS26114で得られた値のうち最も頻度の高い値uφを選択すれば、選択されたuφがfφ(xφ)であることの信頼度は所定値以上となる。後述するように、設定によっては圧倒的な確率でuφ=fφ(xφ)となる。
≪fφ(xφ)が得られる理由について≫
次に、本形態の計算装置261−φで復号結果fφ(xφ)が得られる理由を説明する。まず、説明に必要な事項を定義する。
ブラックボックス(black-box):
fφ(τφ)のブラックボックスFφ(τφ)とは、τφ∈Hφを入力としてzφ∈Gφを出力する処理部を意味する。本形態では、第一出力情報計算部26201及び第二出力情報計算部26202が、それぞれ関数fφ(τφ)のブラックボックスFφ(τφ)に相当する。群Hφから任意に選択された元τφ∈UHφ及びzφ=Fφ(τφ)に対してzφ=fφ(τφ)を満たす確率がδ(0<δ≦1)よりも大きい場合、すなわち、
Pr[zφ=fφ(τφ)|τφ∈UHφ,zφ=Fφ(τφ)]>δ…(15)
を満たすfφ(τφ)のブラックボックスFφ(τφ)のことを、信頼性δ(δ-reliable)のfφ(τφ)のブラックボックスFφ(τφ)という。なお、δは正の値であり、前述した「或る確率」に相当する。
次に、本形態の計算装置261−φで復号結果fφ(xφ)が得られる理由を説明する。まず、説明に必要な事項を定義する。
ブラックボックス(black-box):
fφ(τφ)のブラックボックスFφ(τφ)とは、τφ∈Hφを入力としてzφ∈Gφを出力する処理部を意味する。本形態では、第一出力情報計算部26201及び第二出力情報計算部26202が、それぞれ関数fφ(τφ)のブラックボックスFφ(τφ)に相当する。群Hφから任意に選択された元τφ∈UHφ及びzφ=Fφ(τφ)に対してzφ=fφ(τφ)を満たす確率がδ(0<δ≦1)よりも大きい場合、すなわち、
Pr[zφ=fφ(τφ)|τφ∈UHφ,zφ=Fφ(τφ)]>δ…(15)
を満たすfφ(τφ)のブラックボックスFφ(τφ)のことを、信頼性δ(δ-reliable)のfφ(τφ)のブラックボックスFφ(τφ)という。なお、δは正の値であり、前述した「或る確率」に相当する。
自己訂正器(self-corrector):
自己訂正器CF(xφ)とは、xφ∈Hφを入力とし、fφ(τφ)のブラックボックスFφ(τφ)を用いて計算を行い、j∈G∪⊥を出力する処理部を意味する。本形態では、計算装置261−φが自己訂正器CF(xφ)に相当する。
自己訂正器CF(xφ)とは、xφ∈Hφを入力とし、fφ(τφ)のブラックボックスFφ(τφ)を用いて計算を行い、j∈G∪⊥を出力する処理部を意味する。本形態では、計算装置261−φが自己訂正器CF(xφ)に相当する。
オールモスト自己訂正器(almost self-corrector):
自己訂正器CF(xφ)が、xφ∈Hφを入力とし、δ-reliableのfφ(τφ)のブラックボックスFφ(τφ)を用い、正しい値j=fφ(xφ)を出力する確率が、誤った値j≠fφ(xφ)を出力する確率よりも十分大きい場合を想定する。すなわち、
Pr[j=fφ(xφ)|j=CF(xφ),j≠⊥]
>Pr[j≠fφ(xφ)|j=CF(xφ),j≠⊥]+Δ…(16)
を満たす場合を想定する。なお、Δは或る正の値(0<Δ<1)である。このような場合、自己訂正器CF(xφ)はオールモスト自己訂正器であるという。例えば、或る正の値Δ’(0<Δ’<1)に対して
Pr[j=fφ(xφ)|j=CF(xφ)]>(1/3)+Δ’
Pr[j=⊥|j=CF(xφ)]<1/3
Pr[j≠fφ(xφ)かつj≠⊥|j=CF(xφ)]<1/3
を満たす場合、自己訂正器CF(xφ)はオールモスト自己訂正器である。Δ’の例はΔ’=1/12や1/3である。
自己訂正器CF(xφ)が、xφ∈Hφを入力とし、δ-reliableのfφ(τφ)のブラックボックスFφ(τφ)を用い、正しい値j=fφ(xφ)を出力する確率が、誤った値j≠fφ(xφ)を出力する確率よりも十分大きい場合を想定する。すなわち、
Pr[j=fφ(xφ)|j=CF(xφ),j≠⊥]
>Pr[j≠fφ(xφ)|j=CF(xφ),j≠⊥]+Δ…(16)
を満たす場合を想定する。なお、Δは或る正の値(0<Δ<1)である。このような場合、自己訂正器CF(xφ)はオールモスト自己訂正器であるという。例えば、或る正の値Δ’(0<Δ’<1)に対して
Pr[j=fφ(xφ)|j=CF(xφ)]>(1/3)+Δ’
Pr[j=⊥|j=CF(xφ)]<1/3
Pr[j≠fφ(xφ)かつj≠⊥|j=CF(xφ)]<1/3
を満たす場合、自己訂正器CF(xφ)はオールモスト自己訂正器である。Δ’の例はΔ’=1/12や1/3である。
ローバスト自己訂正器(robust self-corrector):
自己訂正器CF(xφ)が、xφ∈Hを入力とし、δ-reliableのfφ(τφ)のブラックボックスFφ(τφ)を用い、正しい値j=fφ(xφ)又はj=⊥を出力する確率が圧倒的である場合を想定する。すなわち、無視することができる誤差ξ(0≦ξ<1)に対して
Pr[j=fφ(xφ)またはj=⊥|j=CF(xφ)]>1−ξ…(17)
を満たす場合を想定する。このような場合、自己訂正器CF(xφ)はローバスト自己訂正器であるという。なお、無視することができる誤差ξの例は、セキュリティパラメータkの関数値ξ(k)である。関数値ξ(k)の例は、任意の多項式p(k)について、十分大きいkに対して{ξ(k)p(k)}が0に収束するものである。関数値ξ(k)の具体例は、ξ(k)=2-kやξ(k)=2-√kなどである。
自己訂正器CF(xφ)が、xφ∈Hを入力とし、δ-reliableのfφ(τφ)のブラックボックスFφ(τφ)を用い、正しい値j=fφ(xφ)又はj=⊥を出力する確率が圧倒的である場合を想定する。すなわち、無視することができる誤差ξ(0≦ξ<1)に対して
Pr[j=fφ(xφ)またはj=⊥|j=CF(xφ)]>1−ξ…(17)
を満たす場合を想定する。このような場合、自己訂正器CF(xφ)はローバスト自己訂正器であるという。なお、無視することができる誤差ξの例は、セキュリティパラメータkの関数値ξ(k)である。関数値ξ(k)の例は、任意の多項式p(k)について、十分大きいkに対して{ξ(k)p(k)}が0に収束するものである。関数値ξ(k)の具体例は、ξ(k)=2-kやξ(k)=2-√kなどである。
オールモスト自己訂正器からローバスト自己訂正器を構成することができる。すなわち、同一のxに対してオールモスト自己訂正器を複数回実行させ、⊥を除いて最も頻度が高い出力値をjとすることで、ローバスト自己訂正器を構成できる。例えば、同一のxに対してオールモスト自己訂正器をO(log(1/ξ))回実行させ、最も頻度が高い出力値をjとすることで、ローバスト自己訂正器を構成できる。なお、O(・)はオー記法を表す。
擬似自由(pseudo-free)な作用:
群Gφ、自然数の集合Ωφ={0,...,Mφ}(Mφは1以上の自然数)、群Gφに値を持つ確率変数Xφ,1,Xφ,2の各実現値αφ∈Xφ,1(αφ≠eφ,g),βφ∈Xφ,2、及びa(φ)∈Ωφについて、αφ a(φ)=βφとなる確率
Pr[αφ a(φ)=βφかつαφ≠eφ,g|a(φ)∈UΩ,αφ∈Xφ,1,βφ∈Xφ,2]…(18)
について、あらゆる可能なXφ,1,Xφ,2に関する上限値を、組(Gφ,Ωφ)の疑似自由指標とよび、これをP(Gφ,Ωφ)と表すことにする。ある無視することができる関数ζ(k)が存在して、
P(Gφ,Ωφ)<ζ(k)…(19)
である場合、組(Gφ,Ωφ)によって定義される演算は擬似自由な作用であるという。なお、「αφ a(φ)」は、群Gφで定義された演算をαφに対してa(φ)回作用させることを意味する。無視することができる関数ζ(k)の例は、任意の多項式p(k)について、十分大きいkに対して{ζ(k)p(k)}が0に収束するものである。関数ζ(k)の具体例は、ζ(k)=2-kやζ(k)=2-√kなどである。例えば、セキュリティパラメータkに対し、式(18)の確率がO(2-k)未満である場合、組(Gφ,Ωφ)によって定義される演算は擬似自由な作用である。例えば、任意のαφ∈Gφでαφ≠eφ,gであるものについて、集合Ωφ・αφ={a(φ)(αφ)|a(φ)∈Ωφ}の要素数|Ωφ・αφ|が2kを超える場合、組(Gφ,Ωφ)によって定義される演算は擬似自由な作用といえる。なお、a(φ)(αφ)は、a(φ)とαφに所定の演算を作用させた結果を表す。このような具体例は数多く存在する。例えば、群Gφが素数pを法とする剰余群Z/pZであり、素数pが2kのオーダーであり、集合Ωφ={0,...,p−2}であり、a(φ)(αφ)がαφ a(φ)∈Z/pZであり、αφ≠eφ,gである場合、Ωφ・αφ={αφ a(φ)|a(φ)=0,...,p−2}={eφ,g,αφ 1,...,αφ p-2}となり、|Ωφ・αφ|=p−1である。素数pが2kのオーダーであるため、ある定数Cが存在して、kが十分大きければ|Ωφ・αφ|>C2kを満たす。ここで式(18)の確率はC-12-k未満であり、このような組(Gφ,Ωφ)によって定義される演算は擬似自由な作用である。
群Gφ、自然数の集合Ωφ={0,...,Mφ}(Mφは1以上の自然数)、群Gφに値を持つ確率変数Xφ,1,Xφ,2の各実現値αφ∈Xφ,1(αφ≠eφ,g),βφ∈Xφ,2、及びa(φ)∈Ωφについて、αφ a(φ)=βφとなる確率
Pr[αφ a(φ)=βφかつαφ≠eφ,g|a(φ)∈UΩ,αφ∈Xφ,1,βφ∈Xφ,2]…(18)
について、あらゆる可能なXφ,1,Xφ,2に関する上限値を、組(Gφ,Ωφ)の疑似自由指標とよび、これをP(Gφ,Ωφ)と表すことにする。ある無視することができる関数ζ(k)が存在して、
P(Gφ,Ωφ)<ζ(k)…(19)
である場合、組(Gφ,Ωφ)によって定義される演算は擬似自由な作用であるという。なお、「αφ a(φ)」は、群Gφで定義された演算をαφに対してa(φ)回作用させることを意味する。無視することができる関数ζ(k)の例は、任意の多項式p(k)について、十分大きいkに対して{ζ(k)p(k)}が0に収束するものである。関数ζ(k)の具体例は、ζ(k)=2-kやζ(k)=2-√kなどである。例えば、セキュリティパラメータkに対し、式(18)の確率がO(2-k)未満である場合、組(Gφ,Ωφ)によって定義される演算は擬似自由な作用である。例えば、任意のαφ∈Gφでαφ≠eφ,gであるものについて、集合Ωφ・αφ={a(φ)(αφ)|a(φ)∈Ωφ}の要素数|Ωφ・αφ|が2kを超える場合、組(Gφ,Ωφ)によって定義される演算は擬似自由な作用といえる。なお、a(φ)(αφ)は、a(φ)とαφに所定の演算を作用させた結果を表す。このような具体例は数多く存在する。例えば、群Gφが素数pを法とする剰余群Z/pZであり、素数pが2kのオーダーであり、集合Ωφ={0,...,p−2}であり、a(φ)(αφ)がαφ a(φ)∈Z/pZであり、αφ≠eφ,gである場合、Ωφ・αφ={αφ a(φ)|a(φ)=0,...,p−2}={eφ,g,αφ 1,...,αφ p-2}となり、|Ωφ・αφ|=p−1である。素数pが2kのオーダーであるため、ある定数Cが存在して、kが十分大きければ|Ωφ・αφ|>C2kを満たす。ここで式(18)の確率はC-12-k未満であり、このような組(Gφ,Ωφ)によって定義される演算は擬似自由な作用である。
信頼性δγ(δγ-reliable)の乱数化可能標本器:
自然数a(φ)が与えられるたびに、δ-reliableのfφ(τφ)のブラックボックスFφ(τφ)を用い、wφ∈Gφについて、確率変数Xφに従った標本xφ’に対応するwφ a(φ)xφ’を返す乱数化可能標本器であって、wφ a(φ)xφ’=wφ a(φ)である確率がδγよりも大きい(γは正定数)、すなわち、
Pr[wφ a(φ)xφ’=wφ a(φ)]>δγ…(20)
を満たすものを、信頼性δγの乱数化可能標本器という。本形態の入力情報提供部26104−φと第二出力情報計算部26202と第二計算部26108−φとの組は、wφ=fφ(xφ)について、信頼性δγの乱数化可能標本器である。
自然数a(φ)が与えられるたびに、δ-reliableのfφ(τφ)のブラックボックスFφ(τφ)を用い、wφ∈Gφについて、確率変数Xφに従った標本xφ’に対応するwφ a(φ)xφ’を返す乱数化可能標本器であって、wφ a(φ)xφ’=wφ a(φ)である確率がδγよりも大きい(γは正定数)、すなわち、
Pr[wφ a(φ)xφ’=wφ a(φ)]>δγ…(20)
を満たすものを、信頼性δγの乱数化可能標本器という。本形態の入力情報提供部26104−φと第二出力情報計算部26202と第二計算部26108−φとの組は、wφ=fφ(xφ)について、信頼性δγの乱数化可能標本器である。
次に、これらの定義を用い、本形態の計算装置261−φでfφ(xφ)が得られる理由を説明する。
本形態のステップS26110では同一の元に対する類に属するuφ’とvφとの組があるか、すなわち、同一の元に対する類に属するuφ a(φ)とvφとの組があるかを判定している。本形態の入力情報提供部26104−φと第二出力情報計算部26202と第二計算部26108−φとの組は信頼性δγの乱数化可能標本器であるため(式(20))、Tをk、δ、γから定まる一定値よりも大きい値とすれば、漸近的に大きい確率でuφ a(φ)とvφとが同一の元Mφに対する類CLφ(Mφ)に属することになる(ステップS26110でyesとなる)場合が生じる。たとえば、T≧4/δγとすれば、uφ a(φ)とvφとが同一の元に対する類に属する(ステップS26110でyesとなる)確率は1/2よりも大きいことがMarkovの不等式によってわかる。
本形態のステップS26110では同一の元に対する類に属するuφ’とvφとの組があるか、すなわち、同一の元に対する類に属するuφ a(φ)とvφとの組があるかを判定している。本形態の入力情報提供部26104−φと第二出力情報計算部26202と第二計算部26108−φとの組は信頼性δγの乱数化可能標本器であるため(式(20))、Tをk、δ、γから定まる一定値よりも大きい値とすれば、漸近的に大きい確率でuφ a(φ)とvφとが同一の元Mφに対する類CLφ(Mφ)に属することになる(ステップS26110でyesとなる)場合が生じる。たとえば、T≧4/δγとすれば、uφ a(φ)とvφとが同一の元に対する類に属する(ステップS26110でyesとなる)確率は1/2よりも大きいことがMarkovの不等式によってわかる。
本形態ではuφ=fφ(xφ)xφ,1及びvφ=fφ(xφ)a(φ)xφ,2なのであるから、関数fφ(xφ)が元xφに対する単写関数であれば、ステップS26110でyesと判定される場合にはuφ a(φ)=vφを満たし、xφ,1 a(φ)=xφ,2が成立する。関数fφ(xφ)が元xφに対する単写関数でないとしてもfφ(xφ)が準同型関数なのであれば、ステップS26110でyesと判定される場合にxφ,1 a(φ)=xφ,2が成立する。
xφ,1 a(φ)=xφ,2が成立する場合には、xφ,1=xφ,2=eφ,gである場合とxφ,1≠eφ,gである場合とがある。xφ,1=xφ,2=eφ,gである場合には、uφ=fφ(xφ)となるのであるから、ステップS26114で出力されるuφは正しいfφ(xφ)となる。一方、xφ,1≠eφ,gである場合には、uφ≠fφ(xφ)となるのであるから、ステップS26114で出力されるuφは正しいfφ(xφ)ではない。
群Gφと自然数a(φ)が属する集合Ωφとの組(Gφ,Ωφ)によって定義される演算が擬似自由な作用であるか、疑似自由指標P(Gφ,Ωφ)についてT2P(Gφ,Ωφ)が漸近的に小さい場合、xφ,1 a(φ)=xφ,2の場合にxφ,1≠eφ,gである確率(式(18))は漸近的に小さい。したがって、xφ,1 a(φ)=xφ,2の場合にxφ,1=eφ,gである確率は漸近的に大きい。よって、組(Gφ,Ωφ)によって定義される演算が擬似自由な作用であるか、T2P(Gφ,Ωφ)が漸近的に小さい場合、uφ a(φ)とvφとが同一の元Mφに対する類CLφ(Mφ)に属する場合に誤ったfφ(xφ)が出力される確率は、uφ a(φ)とvφとが同一の元Mφに対する類CLφ(Mφ)に属する場合に正しいfφ(xφ)が出力される確率よりも十分小さい。この場合の計算装置261−φはオールモスト自己訂正器であるといえる(式(16)参照)。そのため、前述のように、計算装置261−φからローバスト自己訂正器を構成することが可能であり、圧倒的な確率で正しいfφ(xφ)を得ることができる。(Gφ,Ωφ)で定義される演算が疑似自由な作用である場合には、uφ a(φ)とvφとが同一の元Mφに対する類CLφ(Mφ)に属する場合に誤ったfφ(xφ)が出力される確率も無視できる。この場合の計算装置261−φは、圧倒的な確率で正しいfφ(xφ)または⊥を出力する。
なお、任意の定数ρに対してk0が定まり、このk0に対してk0<k’を満たす任意のk’に対する関数値η(k’)がρ未満となる場合「η(k’)が漸近的に小さい」という。k’の例はセキュリティパラメータkである。任意の定数ρに対してk0が定まり、このk0に対してk0<k’を満たす任意のk’に対する関数値1−η(k’)がρ未満となる場合「η(k’)が漸近的に大きい」という。
a(φ)をa(φ)/b(φ)に置換すれば分かるように、上述の証明は第十二実施形態で述べた「uφ’とvφ’とが互いに同一の元Mφに対する類CLφ(Mφ)に属するのは、第一乱数化可能標本器がuφ=fφ(xφ)b(φ)を正しく計算しており、第二乱数化可能標本器がvφ=fφ(xφ)a(φ)を正しく計算している(xφ,1及びxφ,2が群Gφの単位元eφ,gである)可能性が高い」ことの証明ともなる。
《信頼性δγの乱数化可能標本器と安全性について》
以下のような攻撃を想定する。
・ブラックボックスFφ(τφ)又はその部分が意図的に不正なzφを出力する、又は、ブラックボックスFφ(τφ)から出力された値が不正なzφに改ざんされる。
・不正なzφに対応するwφ a(φ)xφ’が乱数化可能標本器から出力される。
・不正なzφに対応するwφ a(φ)xφ’は、自己訂正器CF(xφ)にuφ a(φ)とvφとが同一の元Mφに対する類CLφ(Mφ)に属すると判定させる(ステップS26110でyesとなる)にもかかわらず、自己訂正器CF(xφ)が誤った値を出力する確率を増加させる。
以下のような攻撃を想定する。
・ブラックボックスFφ(τφ)又はその部分が意図的に不正なzφを出力する、又は、ブラックボックスFφ(τφ)から出力された値が不正なzφに改ざんされる。
・不正なzφに対応するwφ a(φ)xφ’が乱数化可能標本器から出力される。
・不正なzφに対応するwφ a(φ)xφ’は、自己訂正器CF(xφ)にuφ a(φ)とvφとが同一の元Mφに対する類CLφ(Mφ)に属すると判定させる(ステップS26110でyesとなる)にもかかわらず、自己訂正器CF(xφ)が誤った値を出力する確率を増加させる。
このような攻撃は、与えられた自然数a(φ)に対して乱数化可能標本器から出力されたwφ a(φ)xφ’の誤差の確率分布Da=wφ a(φ)xφ’wφ -a(φ)が自然数a(φ)に依存する場合に可能となる。例えば、第二計算部26108−φから出力されるvφがfφ(xφ)a(φ)xφ,1 a(φ)となるような不正が行われた場合、xφ,1の値にかかわらず、必ずuφ a(φ)=vφが成立してuφ a(φ)とvφとが同一の元Mφに対する類CLφ(Mφ)に属すると判定されることになる。よって、与えられた自然数a(φ)に対して乱数化可能標本器から出力されたwφ a(φ)xφ’の誤差の確率分布Da=wφ a(φ)xφ’wφ -a(φ)が当該自然数a(φ)に依存しないことが望ましい。
あるいは、集合Ωφのいかなる元a(φ)∈∀Ωφについても、wφ a(φ)xφ’の誤差の確率分布Da=wφ a(φ)xφ’wφ -a(φ)と区別することができない群Gφに値を持つ確率分布Dが存在する(確率分布Daと確率分布Dとが統計的に近似する(statistically-close))乱数化可能標本器であることが望ましい。なお、確率分布Dは自然数a(φ)に依存しない。確率分布Daと確率分布Dとを区別することができないとは、多項式時間アルゴリズムによって確率分布Daと確率分布Dとを区別することができないことを意味し、例えば、無視することができるζ(0≦ζ<1)に対して
Σg∈G|Pr[g∈D]−Pr[g∈Da]|<ζ…(21)
を満たすならば、多項式時間アルゴリズムによって確率分布Daと確率分布Dとを区別することができない。無視することができるζの例は、セキュリティパラメータkの関数値ζ(k)である。関数値ζ(k)の例は、任意の多項式p(k)について、十分大きなkに対して{ζ(k)p(k)}が0に収束するものである。関数値ζ(k)の具体例は、ζ(k)=2-kやζ(k)=2-√kなどである。これらの点は自然数a(φ)及びb(φ)を使用する第十二実施形態から第十七実施形態についても同様である。
Σg∈G|Pr[g∈D]−Pr[g∈Da]|<ζ…(21)
を満たすならば、多項式時間アルゴリズムによって確率分布Daと確率分布Dとを区別することができない。無視することができるζの例は、セキュリティパラメータkの関数値ζ(k)である。関数値ζ(k)の例は、任意の多項式p(k)について、十分大きなkに対して{ζ(k)p(k)}が0に収束するものである。関数値ζ(k)の具体例は、ζ(k)=2-kやζ(k)=2-√kなどである。これらの点は自然数a(φ)及びb(φ)を使用する第十二実施形態から第十七実施形態についても同様である。
[第十二実施形態から第十八実施形態の変形例]
第十二実施形態から第十八実施形態の変形例では、能力提供装置が常に正当な計算を行うことが保障されていないとしても、能力提供装置が或る確率より大きな確率でfφ(τφ,1)やfφ(τφ,2)を正しく計算するのであれば、計算装置φのそれぞれで得られる値uφ b’(φ)vφ a’(φ)は高い確率でfφ(xφ)となる。よって、計算装置φのそれぞれは、認証処理を実行することなく能力提供装置に計算を実行させ、その計算結果を用いて正当な計算結果(例えば暗号文の復号結果)を得ることができる。
第十二実施形態から第十八実施形態の変形例では、能力提供装置が常に正当な計算を行うことが保障されていないとしても、能力提供装置が或る確率より大きな確率でfφ(τφ,1)やfφ(τφ,2)を正しく計算するのであれば、計算装置φのそれぞれで得られる値uφ b’(φ)vφ a’(φ)は高い確率でfφ(xφ)となる。よって、計算装置φのそれぞれは、認証処理を実行することなく能力提供装置に計算を実行させ、その計算結果を用いて正当な計算結果(例えば暗号文の復号結果)を得ることができる。
本発明は上述の実施形態に限定されるものではない。例えば、確率変数Xφ,1、Xφ,2及びXφ,3は、同じでも異なっていてもよい。
乱数生成部のそれぞれが一様乱数を生成することにより、代理計算システムの安全性が最も高くなる。しかし、求められる安全性のレベルがそれほど高くない場合には、乱数生成部の少なくとも一部が、一様乱数ではない乱数を生成してもよい。演算効率上からは、上述の各実施形態のように、選択される自然数の乱数は、0以上Kφ,H未満の自然数又は0以上2μ(k)+k以下の自然数であることが望ましいが、その代わりにKφ,H以上の自然数や2μ(k)+kよりも大きな自然数の乱数が選択されてもよい。ここでμはkの関数である。たとえば、μを群Hφの元のビット列としての長さとすることができる。
乱数生成部のそれぞれが一様乱数を生成することにより、代理計算システムの安全性が最も高くなる。しかし、求められる安全性のレベルがそれほど高くない場合には、乱数生成部の少なくとも一部が、一様乱数ではない乱数を生成してもよい。演算効率上からは、上述の各実施形態のように、選択される自然数の乱数は、0以上Kφ,H未満の自然数又は0以上2μ(k)+k以下の自然数であることが望ましいが、その代わりにKφ,H以上の自然数や2μ(k)+kよりも大きな自然数の乱数が選択されてもよい。ここでμはkの関数である。たとえば、μを群Hφの元のビット列としての長さとすることができる。
計算装置が同一のa(φ),b(φ)に対応する第一入力情報τφ,1及び第二入力情報τφ,2を能力提供装置に提供するたびに、能力提供装置の処理が複数回実行させてもよい。これにより、計算装置が第一入力情報τφ,1及び第二入力情報τφ,2を能力提供装置に一回提供するたびに、計算装置は第一出力情報zφ,1や第二出力情報zφ,2や第三出力情報zφ,3を複数個得ることができる。これにより、計算装置と能力提供装置との間のやり取り回数や通信量を減らすことができる。
計算装置が複数種類の第一入力情報τφ,1及び第二入力情報τφ,2を能力提供装置にまとめて提供し、対応する第一出力情報zφ,1や第二出力情報zφ,2や第三出力情報zφ,3を複数個まとめて取得してもよい。これにより、計算装置と能力提供装置との間のやり取り回数を減らすことができる。
計算装置の各部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。同様に、能力提供装置の各部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。
各実施形態の第一計算部や第二計算部において得られたuφやvφが群Gφの元であるかを確認し、群Gφの元であった場合には上述した処理を続行し、uφ又はvφが群Gφの元でなかった場合には、計算をすることができなかった旨の情報、例えば記号「⊥」が出力されてもよい。
その他、例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
上述の実施形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
この出願は、日本特許出願番号2010-239342,2011-5899,2011-88002,2011-77779に基づきその優先権を主張し、そのすべての内容は参照によってここに組み込まれる(This application is based upon and claims priority of Japanese Patent Application No. 2010-239342,2011-5899,2011-88002,2011-77779, the entire contents of which are incorporated by reference herein.)
以上のように、各実施形態の計算装置は、能力提供装置が必ずしも正しい処理を実行しない状況であったとしても、能力提供装置から提供された計算能力を用いて正しい計算結果を得ることができる。そのため、計算装置は能力提供装置の正当性を確認するための認証処理を実行する必要はない。また、複数の計算装置が能力提供装置を共用する場合であっても、計算装置は正しい計算結果を得ることができる。
このような代理計算システムは、例えば、ボランティアベースの分散計算、P2Pによる計算サービス、広告に対する報酬を対価とする計算サービス、ネットワークサービスや公共インフラとして提供される計算サービス、ライブラリの形態でライセンス供与される計算パッケージのネットワークサービスへの置き換えなどに利用できる。
1〜5,101〜105,201〜207 代理計算システム
11〜61,111〜151,211〜271 計算装置
12〜62,112〜152,212〜272 能力提供装置
11〜61,111〜151,211〜271 計算装置
12〜62,112〜152,212〜272 能力提供装置
Claims (118)
- 計算装置と能力提供装置とを有し、
G,Hが群、f(x)が前記群Hの元である暗号文xを特定の復号鍵で復号して前記群Gの元を得るための復号関数、X1,X2が前記群Gに値を持つ確率変数、x1が確率変数X1の実現値、x2が確率変数X2の実現値、a,bが互いに素である自然数であり、
前記計算装置が、
前記暗号文xに対応する、前記群Hの元である第一入力情報τ1及び第二入力情報τ2を出力する入力情報提供部を含み、
前記能力提供装置が、
前記第一入力情報τ1を用い、或る確率より大きな確率でf(τ1)を正しく計算し、得られた計算結果を第一出力情報z1とする第一出力情報計算部と、
前記第二入力情報τ2を用い、或る確率より大きな確率でf(τ2)を正しく計算し、得られた計算結果を第二出力情報z2とする第二出力情報計算部と、を含み、
前記計算装置が、さらに
前記第一出力情報z1から計算結果u=f(x)bx1を生成する第一計算部と、
前記第二出力情報z2から計算結果v=f(x)ax2を生成する第二計算部と、
前記計算結果u及びvがua=vbを満たす場合に、a’a+b’b=1を満たす整数a’,b’についてのub’va’を出力する最終出力部と、を含む、代理計算システム。 - 請求項1の代理計算システムにおいて、
前記計算装置が、前記自然数a,bの少なくとも一方を選択する自然数選択部を含み、
前記第一入力情報τ1が、前記自然数bにさらに対応し、前記第二入力情報τ2が、前記自然数aにさらに対応する、代理計算システム。 - 請求項2の代理計算システムにおいて、
前記入力情報提供部は、前記暗号文xとの関係をかく乱させた情報を前記第一入力情報τ1及び前記第二入力情報τ2とする、代理計算システム。 - 請求項1の代理計算システムにおいて、
前記入力情報提供部は、前記暗号文xとの関係をかく乱させた情報を前記第一入力情報τ1及び前記第二入力情報τ2とする、代理計算システム。 - 請求項1から4の何れかの代理計算システムにおいて、
前記復号関数f(x)が準同型関数、前記群Hが巡回群で、前記巡回群Hの生成元がμh、前記巡回群Hの位数がKH、ν=f(μh)であり、
前記入力情報提供部が、
0以上の自然数の乱数r1を生成する第一乱数生成部と、
前記第一入力情報τ1としてμh r1xbを計算する第一入力情報計算部と、
0以上の自然数の乱数r2を生成する第二乱数生成部と、
前記第二入力情報τ2としてμh r2xaを計算する第二入力情報計算部と、を含み、
前記第一出力情報計算部が、前記第一入力情報μh r1xbを用い、或る確率より大きな確率でf(μh r1xb)を正しく計算し、得られた計算結果を前記第一出力情報z1とし、
前記第二出力情報計算部は、前記第二入力情報μh r2xaを用い、或る確率より大きな確率でf(μh r2xa)を正しく計算し、得られた計算結果を第二出力情報z2とし、
前記第一計算部は、z1ν-r1を計算して前記計算結果uを得、
前記第二計算部は、z2ν-r2を計算して前記計算結果vを得る、代理計算システム。 - 請求項5の代理計算システムにおいて、
前記第一乱数生成部が、b≠1のときに前記乱数r1を生成し、
前記第一入力情報計算部が、b≠1のときに前記第一入力情報τ1として前記μh r1xbを計算し、
前記第一出力情報計算部が、b≠1のときに前記第一入力情報μh r1xbを用いて得られた前記計算結果を前記第一出力情報z1とし、
前記第一計算部が、b≠1のときにz1ν-r1を計算して前記計算結果uを得、
前記第二乱数生成部が、a≠1のときに前記乱数r2を生成し、
前記第二入力情報計算部が、a≠1のときに前記第二入力情報τ2としてμh r2xaを計算し、
前記第二出力情報計算部が、a≠1のときに前記第二入力情報μh r2xaを用いて得られた前記計算結果を第二出力情報z2とし、
前記第二計算部が、a≠1のときにz2ν-r2を計算して前記計算結果vを得、
前記入力情報提供部が、
0以上の自然数の乱数r3を生成する第三乱数生成部と、
b=1のときにxr3を前記第一入力情報τ1とし、a=1のときにxr3を前記第二入力情報τ2とする第三入力情報計算部と、を含み、
前記能力提供装置が、
前記xr3を用い、或る確率より大きな確率でf(xr3)を正しく計算し、得られた計算結果を第三出力情報z3とする第三出力情報計算部を含み、
前記能力提供装置が、
b=1のときにz3 1/r3を前記計算結果uとし、a=1のときにz3 1/r3を前記計算結果vとする第3計算部を含む、代理計算システム。 - 請求項1から4の何れかの代理計算システムにおいて、
前記群Hが前記群Gの直積群G×Gであり、前記復号関数f(x)が準同型関数、前記群Gが巡回群で前記巡回群Gの生成元がμg、前記巡回群Gの位数がKG、x=(c1,c2),(V,W)が前記群Hの元、f(V,W)=Yであり、
前記入力情報提供部が、
0以上の自然数の乱数r4を生成する第四乱数生成部と、
0以上の自然数の乱数r5を生成する第五乱数生成部と、
前記第一入力情報τ1としてc2 bWr4及びc1 bVr4μg r5を計算する第一入力情報計算部と、
0以上の自然数の乱数r6を生成する第六乱数生成部と、
0以上の自然数の乱数r7を生成する第七乱数生成部と、
前記第二入力情報τ2としてc2 aWr6及びc1 aVr6μg r7を計算する第二入力情報計算部と、を含み、
前記第一出力情報計算部が、前記第一入力情報c1 bVr4μg r5及びc2 bWr4を用い、或る確率より大きな確率でf(c1 bVr4μg r5,c2 bWr4)を正しく計算し、得られた計算結果を前記第一出力情報z1とし、
前記第二出力情報計算部が、前記第二入力情報c1 aVr6μg r7及びc2 aWr6を用い、或る確率より大きな確率でf(c1 aVr6μg r7,c2 aWr6)を正しく計算し、得られた計算結果を前記第二出力情報z2とし、
前記第一計算部が、z1Y-r4μg -r5を計算して前記計算結果uを得、
前記第二計算部が、z2Y-r6μg -r7を計算して前記計算結果vを得る、代理計算システム。 - 請求項1から4の何れかの代理計算システムにおいて、
前記計算結果uのf(x)bに対する誤差の確率分布が前記自然数bに依存しない、及び/若しくは、前記計算結果vのf(x)aに対する誤差の確率分布が前記自然数aに依存しない、又は、前記計算結果uのf(x)bに対する誤差の確率分布と区別することができない前記自然数bに依存しない確率分布が存在する、及び/若しくは、前記計算結果vのf(x)aに対する誤差の確率分布と区別することができない前記自然数aに依存しない確率分布が存在する、代理計算システム。 - 請求項5の代理計算システムにおいて、
前記計算結果uのf(x)bに対する誤差の確率分布が前記自然数bに依存しない、及び/若しくは、前記計算結果vのf(x)aに対する誤差の確率分布が前記自然数aに依存しない、又は、前記計算結果uのf(x)bに対する誤差の確率分布と区別することができない前記自然数bに依存しない確率分布が存在する、及び/若しくは、前記計算結果vのf(x)aに対する誤差の確率分布と区別することができない前記自然数aに依存しない確率分布が存在する、代理計算システム。 - 請求項7の代理計算システムにおいて、
前記計算結果uのf(x)bに対する誤差の確率分布が前記自然数bに依存しない、及び/若しくは、前記計算結果vのf(x)aに対する誤差の確率分布が前記自然数aに依存しない、又は、前記計算結果uのf(x)bに対する誤差の確率分布と区別することができない前記自然数bに依存しない確率分布が存在する、及び/若しくは、前記計算結果vのf(x)aに対する誤差の確率分布と区別することができない前記自然数aに依存しない確率分布が存在する、代理計算システム。 - 請求項1から4の何れかの代理計算システムにおいて、
前記自然数a又は前記自然数bが定数である、代理計算システム。 - 請求項5の代理計算システムにおいて、
前記自然数a又は前記自然数bが定数である、代理計算システム。 - 請求項7の代理計算システムにおいて、
前記自然数a又は前記自然数bが定数である、代理計算システム。 - 請求項1から4の何れかの代理計算システムにおいて、
復号制御装置をさらに有し、
前記復号制御装置は、前記計算装置の復号処理を制御する復号制御命令を前記能力提供装置に出力する出力部を含み、
前記能力提供装置は、前記復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報z1及び前記第二出力情報z2の両方が出力されるか否かを制御する制御部を含む、代理計算システム。 - 請求項5の代理計算システムにおいて、
復号制御装置をさらに有し、
前記復号制御装置は、前記計算装置の復号処理を制御する復号制御命令を前記能力提供装置に出力する出力部を含み、
前記能力提供装置は、前記復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報z1及び前記第二出力情報z2の両方が出力されるか否かを制御する制御部を含む、代理計算システム。 - 請求項7の代理計算システムにおいて、
復号制御装置をさらに有し、
前記復号制御装置は、前記計算装置の復号処理を制御する復号制御命令を前記能力提供装置に出力する出力部を含み、
前記能力提供装置は、前記復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報z1及び前記第二出力情報z2の両方が出力されるか否かを制御する制御部を含む、代理計算システム。 - 請求項1の代理計算システムにおいて、
復号制御装置をさらに有し、
Gι,Hιが群、ωが2以上の整数、ι=1,・・・,ω、fι(λι)が前記群Hιの元である暗号文λιを特定の復号鍵sιで復号して前記群Gιの元を得るための復号関数、Xι,1,Xι,2が前記群Gιに値を持つ確率変数、xι,1が確率変数Xι,1の実現値、xι,2が確率変数Xι,2の実現値、a(ι),b(ι)が互いに素である自然数であり、前記群Gが群G1、前記群Hが群H1、前記暗号文xが暗号文λ1、前記復号関数f(x)が復号関数f1(λ1)、前記確率変数X1が確率変数X1,1、前記確率変数X2が確率変数X1,2、前記実現値x1が実現値x1,1、前記実現値x2が実現値x1,2、前記自然数aが自然数a(1)、前記自然数bが自然数b(1)であり、
前記計算装置が、
前記暗号文λιに対応する、前記群Hιの元である第一入力情報τι,1及び第二入力情報τι,2を出力する入力情報提供部を含み、
前記能力提供装置が、
前記第一入力情報τι,1を用い、或る確率より大きな確率でfι(τι,1)を正しく計算し、得られた演算結果を第一出力情報zι,1として出力する第一出力情報計算部と、
前記第二入力情報τι,2を用い、或る確率より大きな確率でfι(τι,2)を正しく計算し、得られた演算結果を第二出力情報zι,2として出力する第二出力情報計算部と、を含み、
前記第一計算部が、前記第一出力情報zι,1から演算結果uι=fι(λι)b(ι)xι,1を生成し、
前記第二計算部が、前記第二出力情報zι,2から演算結果vι=fι(λι)a(ι)xι,2を生成し、
前記最終出力部が、前記演算結果uι及びvιがuι a(ι)=vι b(ι)を満たす場合に、a’(ι)a(ι)+b’(ι)b(ι)=1を満たす整数a’(ι),b’(ι)についてのuι b’(ι)vι a’(ι)を出力し、
前記復号制御装置が、前記計算装置の復号処理を制御する復号制御命令を前記能力提供装置に出力する出力部を含み、
前記能力提供装置が、さらに、
前記復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報zι,1及び前記第二出力情報zι,2の両方が出力されるか否かを制御する制御部を含む、代理計算システム。 - 請求項17の代理計算システムにおいて、
前記復号制御命令は、何れかの前記復号関数fιに対応し、
前記制御部は、前記復号制御命令に対応する前記復号関数fι、に対応する前記第一出力情報zι,1及び前記第二出力情報zι,2の両方の出力の有無を制御する、代理計算システム。 - 請求項17の代理計算システムにおいて、
前記計算装置が、さらに
前記最終出力部から出力された各ι=1,・・・,ωについてのuι b’(ι)vι a’(ι)を用い、各ι=1,・・・,ωについての前記暗号文λιを前記復号鍵sιで復号して得られる復号値がすべて得られた場合にのみ復元可能な復元値を生成する復元処理を行う復元部を含む、代理計算システム。 - 請求項18の代理計算システムにおいて、
前記計算装置が、さらに
前記最終出力部から出力された各ι=1,・・・,ωについてのuι b’(ι)vι a’(ι)を用い、各ι=1,・・・,ωについての前記暗号文λιを前記復号鍵sιで復号して得られる復号値がすべて得られた場合にのみ復元可能な復元値を生成する復元処理を行う復元部を含む、代理計算システム。 - 請求項17から20の何れかの代理計算システムにおいて、
前記計算装置が、前記自然数a(ι),b(ι)の少なくとも一部を選択する自然数選択部を含み、
前記第一入力情報τι,1が前記自然数b(ι)にさらに対応し、前記第二入力情報τι,2が前記自然数a(ι)にさらに対応する、代理計算システム。 - 請求項21の代理計算システムにおいて、
前記入力情報提供部は、前記暗号文λιとの関係をかく乱させた情報を前記第一入力情報τι,1及び前記第二入力情報τι,2とする、代理計算システム。 - 請求項17から20の何れかの代理計算システムにおいて、
前記入力情報提供部は、前記暗号文λιとの関係をかく乱させた情報を前記第一入力情報τι,1及び前記第二入力情報τι,2とする、代理計算システム。 - 請求項17から20の何れかの代理計算システムにおいて、
前記復号関数fιが準同型関数、前記群Hιが巡回群で、前記巡回群Hιの生成元がμι,h、前記巡回群Hιの位数がKι,H、νι=fι(μι,h)であり、
前記入力情報提供部が、
0以上の自然数の乱数r(ι,1)を生成する第一乱数生成部と、
前記第一入力情報τι,1としてμι,h r(ι,1)λι b(ι)を計算する第一入力情報計算部と、
0以上の自然数の乱数r(ι,2)を生成する第二乱数生成部と、
前記第二入力情報τι,2としてμι,h r(ι,2)λι a(ι)を計算する第二入力情報計算部と、を含み、
前記第一出力情報計算部は、前記第一入力情報μι,h r(ι,1)λι b(ι)を用い、或る確率より大きな確率でfι(μι,h r(ι,1)λι b(ι))を正しく計算し、得られた計算結果を前記第一出力情報zι,1とし、
前記第二出力情報計算部は、前記第二入力情報μι,h r(ι,2)λι a(ι)を用い、或る確率より大きな確率でfι(μι,h r(ι,2)λι a(ι))を正しく計算し、得られた計算結果を第二出力情報zι,2とし、
前記第一計算部は、zι,1νι -r(ι,1)を計算して前記計算結果uιを得、
前記第二計算部は、zι,2νι -r(ι,2)を計算して前記計算結果vιを得る、代理計算システム。 - 請求項24の代理計算システムにおいて、
前記第一乱数生成部が、b(ι)≠1のときに前記乱数r(ι,1)を生成し、
前記第一入力情報計算部が、b(ι)≠1のときに前記第一入力情報τι,1として前記μι,h r(ι,1)λι b(ι)を計算し、
前記第一出力情報計算部が、b(ι)≠1のときに前記第一入力情報μι,h r(ι,1)λι b(ι)を用いて得られた前記計算結果を前記第一出力情報zι,1とし、
前記第一計算部が、b(ι)≠1のときにzι,1νι -r(ι,1)を計算して前記計算結果uιを得、
前記第二乱数生成部が、a(ι)≠1のときに前記乱数r(ι,2)を生成し、
前記第二入力情報計算部が、a(ι)≠1のときに前記第二入力情報τι,2としてμι,h r(ι,2)λι a(ι)を計算し、
前記第二出力情報計算部が、a(ι)≠1のときに前記第二入力情報μι,h r(ι,2)λι a(ι)を用いて得られた前記計算結果を第二出力情報zι,2とし、
前記第二計算部が、a(ι)≠1のときにzι,2νι -r(ι,2)を計算して前記計算結果vιを得、
前記入力情報提供部が、
0以上の自然数の乱数r(ι,3)を生成する第三乱数生成部と、
b(ι)=1のときにλι r(ι,3)を前記第一入力情報τι,1とし、a(ι)=1のときにλι r(ι,3)を前記第二入力情報τι,2とする第三入力情報計算部と、を含み、
前記能力提供装置が、
前記xr(ι,3)を用い、或る確率より大きな確率でfι(λι r(ι,3))を正しく計算し、得られた計算結果を第三出力情報zι,3とする第三出力情報計算部を含み、
前記計算装置が、
b(ι)=1のときにzι,3 1/r(ι,3)を前記計算結果uιとし、a(ι)=1のときにzι,3 1/r(ι,3)を前記計算結果vιとする第三計算部を含む、代理計算システム。 - 請求項21の代理計算システムにおいて、
前記復号関数fιが準同型関数、前記群Hιが巡回群で、前記巡回群Hιの生成元がμι,h、前記巡回群Hιの位数がKι,H、νι=fι(μι,h)であり、
前記入力情報提供部が、
0以上の自然数の乱数r(ι,1)を生成する第一乱数生成部と、
前記第一入力情報τι,1としてμι,h r(ι,1)λι b(ι)を計算する第一入力情報計算部と、
0以上の自然数の乱数r(ι,2)を生成する第二乱数生成部と、
前記第二入力情報τι,2としてμι,h r(ι,2)λι a(ι)を計算する第二入力情報計算部と、を含み、
前記第一出力情報計算部は、前記第一入力情報μι,h r(ι,1)λι b(ι)を用い、或る確率より大きな確率でfι(μι,h r(ι,1)λι b(ι))を正しく計算し、得られた計算結果を前記第一出力情報zι,1とし、
前記第二出力情報計算部は、前記第二入力情報μι,h r(ι,2)λι a(ι)を用い、或る確率より大きな確率でfι(μι,h r(ι,2)λι a(ι))を正しく計算し、得られた計算結果を第二出力情報zι,2とし、
前記第一計算部は、zι,1νι -r(ι,1)を計算して前記計算結果uιを得、
前記第二計算部は、zι,2νι -r(ι,2)を計算して前記計算結果vιを得る、代理計算システム。 - 請求項26の代理計算システムにおいて、
前記第一乱数生成部が、b(ι)≠1のときに前記乱数r(ι,1)を生成し、
前記第一入力情報計算部が、b(ι)≠1のときに前記第一入力情報τι,1として前記μι,h r(ι,1)λι b(ι)を計算し、
前記第一出力情報計算部が、b(ι)≠1のときに前記第一入力情報μι,h r(ι,1)λι b(ι)を用いて得られた前記計算結果を前記第一出力情報zι,1とし、
前記第一計算部が、b(ι)≠1のときにzι,1νι -r(ι,1)を計算して前記計算結果uιを得、
前記第二乱数生成部が、a(ι)≠1のときに前記乱数r(ι,2)を生成し、
前記第二入力情報計算部が、a(ι)≠1のときに前記第二入力情報τι,2としてμι,h r(ι,2)λι a(ι)を計算し、
前記第二出力情報計算部が、a(ι)≠1のときに前記第二入力情報μι,h r(ι,2)λι a(ι)を用いて得られた前記計算結果を第二出力情報zι,2とし、
前記第二計算部が、a(ι)≠1のときにzι,2νι -r(ι,2)を計算して前記計算結果vιを得、
前記入力情報提供部が、
0以上の自然数の乱数r(ι,3)を生成する第三乱数生成部と、
b(ι)=1のときにλι r(ι,3)を前記第一入力情報τι,1とし、a(ι)=1のときにλι r(ι,3)を前記第二入力情報τι,2とする第三入力情報計算部と、を含み、
前記能力提供装置が、
前記xr(ι,3)を用い、或る確率より大きな確率でfι(λι r(ι,3))を正しく計算し、得られた計算結果を第三出力情報zι,3とする第三出力情報計算部を含み、
前記計算装置が、
b(ι)=1のときにzι,3 1/r(ι,3)を前記計算結果uιとし、a(ι)=1のときにzι,3 1/r(ι,3)を前記計算結果vιとする第三計算部を含む、代理計算システム。 - 請求項17から20の何れかの代理計算システムにおいて、
前記群Hιが直積群Gι×Gι、前記復号関数fιが準同型関数、前記群Gιが巡回群で、前記巡回群Gιの生成元がμι,g、前記巡回群Gιの位数がKι,G、λι=(cι,1,cι,2),(Vι,Wι)が前記群Hιの元、fι(Vι,Wι)=Yιであり、
前記入力情報提供部が、
0以上の自然数の乱数r(ι,4)を生成する第四乱数生成部と、
0以上の自然数の乱数r(ι,5)を生成する第五乱数生成部と、
前記第一入力情報τι,1としてcι,2 b(ι)Wι r(ι,4)及びcι,1 b(ι)Vι r(ι,4)μι,g r(ι,5)を計算する第一入力情報計算部と、
0以上の自然数の乱数r(ι,6)を生成する第六乱数生成部と、
0以上の自然数の乱数r(ι,7)を生成する第七乱数生成部と、
前記第二入力情報τι,2としてcι,2 a(ι)Wι r(ι,6)及びcι,1 a(ι)Vι r(ι,6)μι,g r(ι,7)を計算する第二入力情報計算部と、を含み、
前記第一出力情報計算部が、前記第一入力情報cι,1 b(ι)Vι r(ι,4)μι,g r(ι,5)及びcι,2 b(ι)Wι r(ι,4)を用い、或る確率より大きな確率でfι(cι,1 b(ι)Vι r(ι,4)μι,g r(ι,5),cι,2 b(ι)Wι r(ι,4) )を正しく計算し、得られた計算結果を前記第一出力情報zι,1とし、
前記第二出力情報計算部が、前記第二入力情報cι,1 a(ι)Vι r(ι,6)μι,g r(ι,7)及びcι,2 a(ι)Wι r(ι,6)を用い、或る確率より大きな確率でfι(cι,1 a(ι)Vι r(ι,6)μι,g r(ι,7),cι,2 a(ι)Wι r(ι,6))を正しく計算し、得られた計算結果を前記第二出力情報zι,2とし、
前記第一計算部が、zι,1Yι -r(ι,4)μι,g -r(ι,5)を計算して前記計算結果uιを得、
前記第二計算部が、zι,2Yι -r(ι,6)μι,g -r(ι,7)を計算して前記計算結果vιを得る、代理計算システム。 - 請求項21の代理計算システムにおいて、
前記群Hιが直積群Gι×Gι、前記復号関数fιが準同型関数、前記群Gιが巡回群で、前記巡回群Gιの生成元がμι,g、前記巡回群Gιの位数がKι,G、λι=(cι,1,cι,2),(Vι,Wι)が前記群Hιの元、fι(Vι,Wι)=Yιであり、
前記入力情報提供部が、
0以上の自然数の乱数r(ι,4)を生成する第四乱数生成部と、
0以上の自然数の乱数r(ι,5)を生成する第五乱数生成部と、
前記第一入力情報τι,1としてcι,2 b(ι)Wι r(ι,4)及びcι,1 b(ι)Vι r(ι,4)μι,g r(ι,5)を計算する第一入力情報計算部と、
0以上の自然数の乱数r(ι,6)を生成する第六乱数生成部と、
0以上の自然数の乱数r(ι,7)を生成する第七乱数生成部と、
前記第二入力情報τι,2としてcι,2 a(ι)Wι r(ι,6)及びcι,1 a(ι)Vι r(ι,6)μι,g r(ι,7)を計算する第二入力情報計算部と、を含み、
前記第一出力情報計算部が、前記第一入力情報cι,1 b(ι)Vι r(ι,4)μι,g r(ι,5)及びcι,2 b(ι)Wι r(ι,4)を用い、或る確率より大きな確率でfι(cι,1 b(ι)Vι r(ι,4)μι,g r(ι,5),cι,2 b(ι)Wι r(ι,4) )を正しく計算し、得られた計算結果を前記第一出力情報zι,1とし、
前記第二出力情報計算部が、前記第二入力情報cι,1 a(ι)Vι r(ι,6)μι,g r(ι,7)及びcι,2 a(ι)Wι r(ι,6)を用い、或る確率より大きな確率でfι(cι,1 a(ι)Vι r(ι,6)μι,g r(ι,7),cι,2 a(ι)Wι r(ι,6))を正しく計算し、得られた計算結果を前記第二出力情報zι,2とし、
前記第一計算部が、zι,1Yι -r(ι,4)μι,g -r(ι,5)を計算して前記計算結果uιを得、
前記第二計算部が、zι,2Yι -r(ι,6)μι,g -r(ι,7)を計算して前記計算結果vιを得る、代理計算システム。 - 請求項17から20の何れかの代理計算システムにおいて、
前記演算結果uιのfι(λι)b(ι)に対する誤差の確率分布が前記自然数b(ι)に依存しない、及び/若しくは、前記演算結果vιのfι(λι)a(ι)に対する誤差の確率分布が前記自然数a(ι)に依存しない、又は、前記演算結果uιのfι(λι)b(ι)に対する誤差の確率分布と区別することができない前記自然数b(ι)に依存しない確率分布が存在する、及び/若しくは、前記演算結果vιのfι(λι)a(ι)に対する誤差の確率分布と区別することができない前記自然数a(ι)に依存しない確率分布が存在する、代理計算システム。 - 請求項24の代理計算システムにおいて、
前記演算結果uιのfι(λι)b(ι)に対する誤差の確率分布が前記自然数b(ι)に依存しない、及び/若しくは、前記演算結果vιのfι(λι)a(ι)に対する誤差の確率分布が前記自然数a(ι)に依存しない、又は、前記演算結果uιのfι(λι)b(ι)に対する誤差の確率分布と区別することができない前記自然数b(ι)に依存しない確率分布が存在する、及び/若しくは、前記演算結果vιのfι(λι)a(ι)に対する誤差の確率分布と区別することができない前記自然数a(ι)に依存しない確率分布が存在する、代理計算システム。 - 請求項26の代理計算システムにおいて、
前記演算結果uιのfι(λι)b(ι)に対する誤差の確率分布が前記自然数b(ι)に依存しない、及び/若しくは、前記演算結果vιのfι(λι)a(ι)に対する誤差の確率分布が前記自然数a(ι)に依存しない、又は、前記演算結果uιのfι(λι)b(ι)に対する誤差の確率分布と区別することができない前記自然数b(ι)に依存しない確率分布が存在する、及び/若しくは、前記演算結果vιのfι(λι)a(ι)に対する誤差の確率分布と区別することができない前記自然数a(ι)に依存しない確率分布が存在する、代理計算システム。 - 請求項28の代理計算システムにおいて、
前記演算結果uιのfι(λι)b(ι)に対する誤差の確率分布が前記自然数b(ι)に依存しない、及び/若しくは、前記演算結果vιのfι(λι)a(ι)に対する誤差の確率分布が前記自然数a(ι)に依存しない、又は、前記演算結果uιのfι(λι)b(ι)に対する誤差の確率分布と区別することができない前記自然数b(ι)に依存しない確率分布が存在する、及び/若しくは、前記演算結果vιのfι(λι)a(ι)に対する誤差の確率分布と区別することができない前記自然数a(ι)に依存しない確率分布が存在する、代理計算システム。 - 請求項29の代理計算システムにおいて、
前記演算結果uιのfι(λι)b(ι)に対する誤差の確率分布が前記自然数b(ι)に依存しない、及び/若しくは、前記演算結果vιのfι(λι)a(ι)に対する誤差の確率分布が前記自然数a(ι)に依存しない、又は、前記演算結果uιのfι(λι)b(ι)に対する誤差の確率分布と区別することができない前記自然数b(ι)に依存しない確率分布が存在する、及び/若しくは、前記演算結果vιのfι(λι)a(ι)に対する誤差の確率分布と区別することができない前記自然数a(ι)に依存しない確率分布が存在する、代理計算システム。 - 請求項17から20の何れかの代理計算システムにおいて、
前記自然数a(ι)又は前記自然数b(ι)が定数である、代理計算システム。 - 請求項24の代理計算システムにおいて、
前記自然数a(ι)又は前記自然数b(ι)が定数である、代理計算システム。 - 請求項26の代理計算システムにおいて、
前記自然数a(ι)又は前記自然数b(ι)が定数である、代理計算システム。 - 請求項28の代理計算システムにおいて、
前記自然数a(ι)又は前記自然数b(ι)が定数である、代理計算システム。 - 請求項29の代理計算システムにおいて、
前記自然数a(ι)又は前記自然数b(ι)が定数である、代理計算システム。 - 計算装置と能力提供装置とを有し、
GM,HMが行列の集合、fM(xM)が集合HMの元である暗号文xMを特定の復号鍵で復号して集合GMの元を得るための復号関数、MX1,MX2が集合GMに値を持つ確率変数、Mx1が確率変数MX1の実現値、Mx2が確率変数MX2の実現値、aMが集合HMの元であり、
前記計算装置が、
前記暗号文xMに対応する、集合HMの元である第一入力情報Mτ1及び第二入力情報Mτ2を出力する入力情報提供部を含み、
前記能力提供装置が、
前記第一入力情報Mτ1を用い、或る確率より大きな確率でfM(Mτ1)を正しく計算し、得られた計算結果を第一出力情報Mz1とする第一出力情報計算部と、
前記第二入力情報Mτ2を用い、或る確率より大きな確率でfM(Mτ2)を正しく計算し、得られた計算結果を第二出力情報Mz2とする第二出力情報計算部と、を含み、
前記計算装置が、さらに
前記第一出力情報Mz1から計算結果uM=fM(xM)+Mx1を生成する第一計算部と、
前記第二出力情報Mz2から計算結果vM=fM(xM)aM+Mx2を生成する第二計算部と、
前記計算結果uM及びvMがuM・aM=vMを満たす場合にuMを出力する最終出力部と、を含む、代理計算システム。 - 請求項40の代理計算システムにおいて、
前記計算装置が、前記集合HMの元aMを選択する行列選択部を含み、
前記第二入力情報Mτ2が、前記元aMにさらに対応する、代理計算システム。 - 請求項41の代理計算システムにおいて、
前記入力情報提供部は、前記暗号文xMとの関係をかく乱させた情報を前記第一入力情報Mτ1及び前記第二入力情報Mτ2とする、代理計算システム。 - 請求項40の代理計算システムにおいて、
前記入力情報提供部は、前記暗号文xMとの関係をかく乱させた情報を前記第一入力情報Mτ1及び前記第二入力情報Mτ2とする、代理計算システム。 - 請求項40から43の何れかの代理計算システムにおいて、
κ,ι,qが正整数、・Tが・の転置行列、GMがι×ι行列の集合、HMがι×ι行列の集合、PKが暗号化鍵であるι×κ行列、SKがPK・SK=0を満たすι×ι行列である前記復号鍵、CMがκ×ι行列、NMがι×ι行列、UMがι×ι単位行列、前記復号関数fMがSK-1{SK・xM・SKT(mod q)}(SKT)-1(mod 2)であり、
前記入力情報提供部が、
前記集合GMの元MR1をランダムに選択する第一ランダム行列選択部と、
κ×ιのランダムな行列CM11及びCM12を選択する第二ランダム行列選択部と、
第一暗号文CR1=PK・CM+2・NM+MR1(mod q)を生成する第一暗号化部と、
第二暗号文CUM=PK・CM+2・NM+UM(mod q)を生成する第二暗号化部と、
前記第一入力情報Mτ1として(xM・CUM+CR1)+PK・CM11+2・NM+CM12 T・PKTを得る第一入力情報計算部と、
前記集合GMの元MR2をランダムに選択する第三ランダム行列選択部と、
κ×ιのランダムな行列CM21及びCM22を選択する第四ランダム行列選択部と、
第三暗号文CR2=PK・CM+2・NM+MR2(mod q)を生成する第三暗号化部と、
第四暗号文Ca=PK・CM+2・NM+aM(mod q)を生成する第四暗号化部と、
前記第二入力情報Mτ2として(xM・Ca+CR2)+PK・CM21+2・NM+CM22 T・PKTを得る第二入力情報計算部と、を含み、
前記第一計算部が前記計算結果uMとしてMz1−MR1を生成し、
前記第二計算部が前記計算結果vMとしてMz2−MR2を生成する、代理計算システム。 - 請求項40から43の何れかの代理計算システムにおいて、
復号制御装置をさらに有し、
前記復号制御装置は、前記計算装置の復号処理を制御する復号制御命令を前記能力提供装置に出力する出力部を含み、
前記能力提供装置は、前記復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報Mz1及び前記第二出力情報Mz2の両方が出力されるか否かを制御する制御部を含む、代理計算システム。 - 請求項44の代理計算システムにおいて、
復号制御装置をさらに有し、
前記復号制御装置は、前記計算装置の復号処理を制御する復号制御命令を前記能力提供装置に出力する出力部を含み、
前記能力提供装置は、前記復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報Mz1及び前記第二出力情報Mz2の両方が出力されるか否かを制御する制御部を含む、代理計算システム。 - 第一計算部と、第二計算部と、最終出力部とを有し、
G,Hが群、f(x)が前記群Hの元である暗号文xを特定の復号鍵で復号して前記群Gの元を得るための復号関数、X1,X2が前記群Gに値を持つ確率変数、x1が確率変数X1の実現値、x2が確率変数X2の実現値、a,bが互いに素である自然数であり、
前記第一計算部が、計算結果u=f(x)bx1を生成し、
前記第二計算部が、計算結果v=f(x)ax2を生成し、
前記最終出力部が、前記計算結果u及びvがua=vbを満たす場合に、a’a+b’b=1を満たす整数a’,b’についてのub’va’を出力する、を有する計算装置。 - 請求項47の計算装置において、
前記暗号文xに対応する、前記群Hの元である第一入力情報τ1及び第二入力情報τ2を出力する入力情報提供部をさらに有し、
前記第一計算部が、或る確率より大きな確率で正しくf(τ1)を計算して得られた計算結果である第一出力情報z1から、前記計算結果u=f(x)bx1を生成し、
前記第二計算部が、或る確率より大きな確率で正しくf(τ2)を正しく計算して得られた計算結果である第二出力情報z2から、前記計算結果v=f(x)ax2を生成する、計算装置。 - 請求項48の計算装置において、
前記自然数a,bの少なくとも一方を選択する自然数選択部をさらに有し、
前記第一入力情報τ1が、前記自然数bにさらに対応し、前記第二入力情報τ2が、前記自然数aにさらに対応する、計算装置。 - 請求項49の計算装置において、
前記入力情報提供部は、前記暗号文xとの関係をかく乱させた情報を前記第一入力情報τ1及び前記第二入力情報τ2とする、計算装置。 - 請求項48の計算装置において、
前記入力情報提供部は、前記暗号文xとの関係をかく乱させた情報を前記第一入力情報τ1及び前記第二入力情報τ2とする、計算装置。 - 請求項48から51の何れかの計算装置において、
前記復号関数f(x)が準同型関数、前記群Hが巡回群で、前記巡回群Hの生成元がμh、前記巡回群Hの位数がKH、ν=f(μh)であり、
前記入力情報提供部が、
0以上の自然数の乱数r1を生成する第一乱数生成部と、
前記第一入力情報τ1としてμh r1xbを計算する第一入力情報計算部と、
0以上の自然数の乱数r2を生成する第二乱数生成部と、
前記第二入力情報τ2としてμh r2xaを計算する第二入力情報計算部と、を含み、
前記第一出力情報z1は、或る確率より大きな確率でf(μh r1xb)を正しく計算して得られた計算結果であり、
前記第二出力情報z2は、或る確率より大きな確率でf(μh r2xa)を正しく計算して得られた計算結果であり、
前記計算結果uは、z1ν-r1であり、
前記計算結果vは、z2ν-r2である、計算装置。 - 請求項48から51の何れかの計算装置において、
前記群Hが直積群G×Gで、前記復号関数f(x)が準同型関数、前記群Gが巡回群で、前記巡回群Gの生成元がμg、前記巡回群Gの位数がKG、x=(c1,c2),(V,W)が前記群Hの元、f(V,W)=Yであり、
前記入力情報提供部が、
0以上の自然数の乱数r4を生成する第四乱数生成部と、
0以上の自然数の乱数r5を生成する第五乱数生成部と、
前記第一入力情報τ1としてc2 bWr4及びc1 bVr4μg r5を計算する第一入力情報計算部と、
0以上の自然数の乱数r6を生成する第六乱数生成部と、
0以上の自然数の乱数r7を生成する第七乱数生成部と、
前記第二入力情報τ2としてc2 aWr6及びc1 aVr6μg r7を計算する第二入力情報計算部と、を含み、
前記第一出力情報z1は、或る確率より大きな確率でf(c1 bVr4μg r5,c2 bWr4)を正しく計算して得られた計算結果であり、
前記第二出力情報z2は、或る確率より大きな確率でf(c1 aVr6μg r7,c2 aWr6)を正しく計算して得られた計算結果であり、
前記計算結果uは、z1Y-r4μg -r5であり、
前記計算結果vは、z2Y-r6μg -r7である、計算装置。 - 請求項48から51の何れかの計算装置において、
前記計算結果uのf(x)bに対する誤差の確率分布が前記自然数bに依存しない、及び/若しくは、前記計算結果vのf(x)aに対する誤差の確率分布が前記自然数aに依存しない、又は、前記計算結果uのf(x)bに対する誤差の確率分布と区別することができない前記自然数bに依存しない確率分布が存在する、及び/若しくは、前記計算結果vのf(x)aに対する誤差の確率分布と区別することができない前記自然数aに依存しない確率分布が存在する、計算装置。 - 請求項52の計算装置において、
前記計算結果uのf(x)bに対する誤差の確率分布が前記自然数bに依存しない、及び/若しくは、前記計算結果vのf(x)aに対する誤差の確率分布が前記自然数aに依存しない、又は、前記計算結果uのf(x)bに対する誤差の確率分布と区別することができない前記自然数bに依存しない確率分布が存在する、及び/若しくは、前記計算結果vのf(x)aに対する誤差の確率分布と区別することができない前記自然数aに依存しない確率分布が存在する、計算装置。 - 請求項53の計算装置において、
前記計算結果uのf(x)bに対する誤差の確率分布が前記自然数bに依存しない、及び/若しくは、前記計算結果vのf(x)aに対する誤差の確率分布が前記自然数aに依存しない、又は、前記計算結果uのf(x)bに対する誤差の確率分布と区別することができない前記自然数bに依存しない確率分布が存在する、及び/若しくは、前記計算結果vのf(x)aに対する誤差の確率分布と区別することができない前記自然数aに依存しない確率分布が存在する、計算装置。 - 請求項48から51の何れかの計算装置において、
前記自然数a又は前記自然数bが定数である、計算装置。 - 請求項52の計算装置において、
前記自然数a又は前記自然数bが定数である、計算装置。 - 請求項53の計算装置において、
前記自然数a又は前記自然数bが定数である、計算装置。 - 第一計算部と、第二計算部と、最終出力部とを有し、
GM,HMが行列の集合、fM(xM)が集合HMの元である暗号文xMを特定の復号鍵で復号して集合GMの元を得るための復号関数、MX1,MX2が集合GMに値を持つ確率変数、Mx1が確率変数MX1の実現値、Mx2が確率変数MX2の実現値、aMが集合HMの元であり、
前記第一計算部が、計算結果uM=fM(xM)+Mx1を生成し、
前記第二計算部が、計算結果vM=fM(xM)aM+Mx2を生成し、
前記最終出力部が、前記計算結果uM及びvMがuM・aM=vMを満たす場合にuMを出力する、計算装置。 - 請求項60の計算装置において、
前記暗号文xMに対応する、集合HMの元である第一入力情報Mτ1及び第二入力情報Mτ2を出力する入力情報提供部をさらに含み、
前記第一計算部が、或る確率より大きな確率でfM(Mτ1)を正しく計算して得られた計算結果である第一出力情報Mz1から、前記計算結果uM=fM(xM)+Mx1を生成し、
前記第二計算部が、或る確率より大きな確率でfM(Mτ2)を正しく計算して得られた計算結果である第二出力情報Mz2から、前記計算結果vM=fM(xM)aM+Mx2を生成する、計算装置。 - 請求項61の計算装置において、
前記集合HMの元aMを選択する行列選択部を更に有し、
前記第二入力情報Mτ2が、前記元aMにさらに対応する、計算装置。 - 請求項62の計算装置において、
前記入力情報提供部は、前記暗号文xMとの関係をかく乱させた情報を前記第一入力情報Mτ1及び前記第二入力情報Mτ2とする、計算装置。 - 請求項61の計算装置において、
前記入力情報提供部は、前記暗号文xMとの関係をかく乱させた情報を前記第一入力情報Mτ1及び前記第二入力情報Mτ2とする、計算装置。 - 請求項61から64の何れかの計算装置において、
κ,ι,qが正整数、・Tが・の転置行列、GMがι×ι行列の集合、HMがι×ι行列の集合、PKが暗号化鍵であるι×κ行列、SKがPK・SK=0を満たすι×ι行列である前記復号鍵、CMがκ×ι行列、NMがι×ι行列、UMがι×ι単位行列、前記復号関数fMがSK-1{SK・xM・SKT(mod q)}(SKT)-1(mod 2)であり、
前記入力情報提供部が、
前記集合GMの元MR1をランダムに選択する第一ランダム行列選択部と、
κ×ιのランダムな行列CM11及びCM12を選択する第二ランダム行列選択部と、
第一暗号文CR1=PK・CM+2・NM+MR1(mod q)を生成する第一暗号化部と、
第二暗号文CUM=PK・CM+2・NM+UM(mod q)を生成する第二暗号化部と、
前記第一入力情報Mτ1として(xM・CUM+CR1)+PK・CM11+2・NM+CM12 T・PKTを得る第一入力情報計算部と、
前記集合GMの元MR2をランダムに選択する第三ランダム行列選択部と、
κ×ιのランダムな行列CM21及びCM22を選択する第四ランダム行列選択部と、
第三暗号文CR2=PK・CM+2・NM+MR2(mod q)を生成する第三暗号化部と、
第四暗号文Ca=PK・CM+2・NM+aM(mod q)を生成する第四暗号化部と、
前記第二入力情報Mτ2として(xM・Ca+CR2)+PK・CM21+2・NM+CM22 T・PKTを得る第二入力情報計算部と、を含み、
前記第一計算部が前記計算結果uMとしてMz1−MR1を生成し、
前記第二計算部が前記計算結果vMとしてMz2−MR2を生成する、計算装置。 - 第一出力情報計算部と、第二出力情報計算部とを有し、
G,Hが群、f(x)が前記群Hの元である暗号文xを特定の復号鍵で復号して前記群Gの元を得るための復号関数、X1,X2が前記群Gに値を持つ確率変数、x1が確率変数X1の実現値、x2が確率変数X2の実現値、a,bが互いに素である自然数であり、
前記第一出力情報計算部が、前記暗号文xに対応する、前記群Hの元である第一入力情報τ1を用い、或る確率より大きな確率でf(τ1)を正しく計算し、得られた計算結果を第一出力情報z1とし、
前記第二出力情報計算部が、前記暗号文xに対応する、前記群Hの元である第二入力情報τ2を用い、或る確率より大きな確率でf(τ2)を正しく計算し、得られた計算結果を第二出力情報z2とする、
を有する能力提供装置。 - 請求項66の能力提供装置において、
前記復号関数f(x)が準同型関数、前記群Hが巡回群で、前記巡回群Hの生成元がμh、前記巡回群Hの位数がKH、ν=f(μh)であり、r1及びr2が0以上の自然数の乱数であり、
前記第一出力情報計算部が、前記第一入力情報μh r1xbを用い、或る確率より大きな確率でf(μh r1xb)を正しく計算し、得られた計算結果を前記第一出力情報z1とし、
前記第二出力情報計算部が、前記第二入力情報μh r2xaを用い、或る確率より大きな確率でf(μh r2xa)を正しく計算し、得られた計算結果を第二出力情報z2とする、能力提供装置。 - 請求項66の能力提供装置において、
前記群Hが直積群G×Gで、前記復号関数f(x)が準同型関数、前記群Gが巡回群で、前記巡回群Gの生成元がμg、前記巡回群Gの位数がKG、x=(c1,c2),(V,W)が前記群Hの元、f(V,W)=Yであり、r4,r5,r6及びr7が0以上の自然数の乱数であり、
前記第一出力情報計算部が、前記第一入力情報c1 bVr4μg r5及びc2 bWr4を用い、或る確率より大きな確率でf(c1 bVr4μg r5,c2 bWr4)を正しく計算し、得られた計算結果を前記第一出力情報z1とし、
前記第二出力情報計算部が、前記第二入力情報c1 aVr6μg r7及びc2 aWr6を用い、或る確率より大きな確率でf(c1 aVr6μg r7,c2 aWr6)を正しく計算し、得られた計算結果を前記第二出力情報z2とする、能力提供装置。 - 請求項66から68の何れかの能力提供装置において、
入力された復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報z1及び前記第二出力情報z2の両方が出力されるか否かを制御する制御部をさらに有する、能力提供装置。 - 請求項66の能力提供装置において、
Gι,Hιが群、ωが2以上の整数、ι=1,・・・,ω、fι(λι)が前記群Hιの元である暗号文λιを特定の復号鍵sιで復号して前記群Gιの元を得るための復号関数、Xι,1,Xι,2が前記群Gιに値を持つ確率変数、xι,1が確率変数Xι,1の実現値、xι,2が確率変数Xι,2の実現値、a(ι),b(ι)が互いに素である自然数であり、前記群Gが群G1、前記群Hが群H1、前記暗号文xが暗号文λ1、前記復号関数f(x)が復号関数f1(λ1)、前記確率変数X1が確率変数X1,1、前記確率変数X2が確率変数X1,2、前記実現値x1が実現値x1,1、前記実現値x2が実現値x1,2、前記自然数aが自然数a(1)、前記自然数bが自然数b(1)であり、
前記第一出力情報計算部は、前記第一入力情報τι,1を用い、或る確率より大きな確率でfι(τι,1)を正しく計算し、得られた演算結果を第一出力情報zι,1として出力し、
前記第二出力情報計算部は、前記第二入力情報τι,2を用い、或る確率より大きな確率でfι(τι,2)を正しく計算し、得られた演算結果を第二出力情報zι,2として出力し、
当該能力提供装置は、入力された復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報zι,1及び前記第二出力情報zι,2の両方が出力されるか否かを制御する制御部をさらに有する、能力提供装置。 - 請求項70の能力提供装置において、
前記復号制御命令は、何れかの前記復号関数fιに対応し、
前記制御部は、前記復号制御命令に対応する前記復号関数fι、に対応する前記第一出力情報zι,1及び前記第二出力情報zι,2の両方が出力されるか否かを制御する、能力提供装置。 - 第一出力情報計算部と、第二出力情報計算部とを有し、
GM,HMが行列の集合、fM(xM)が集合HMの元である暗号文xMを特定の復号鍵で復号して集合GMの元を得るための復号関数、MX1,MX2が集合GMに値を持つ確率変数、Mx1が確率変数MX1の実現値、Mx2が確率変数MX2の実現値、aMが集合HMの元であり、
前記第一出力情報計算部が、前記暗号文xMに対応する第一入力情報Mτ1を用い、或る確率より大きな確率でfM(Mτ1)を正しく計算し、得られた計算結果を第一出力情報Mz1とし、
前記第二出力情報計算部が、前記暗号文xMに対応する第二入力情報Mτ2を用い、或る確率より大きな確率でfM(Mτ2)を正しく計算し、得られた計算結果を第二出力情報Mz2とする、
を有する能力提供装置。 - 請求項72の能力提供装置において、
κ,ι,qが正整数、・Tが・の転置行列、GMがι×ι行列の集合、HMがι×ι行列の集合、PKが暗号化鍵であるι×κ行列、SKがPK・SK=0を満たすι×ι行列である前記復号鍵、CMがκ×ι行列、NMがι×ι行列、UMがι×ι単位行列、前記復号関数fMがSK-1{SK・xM・SKT(mod q)}(SKT)-1(mod 2)である、能力提供装置。 - 請求項72又は73の能力提供装置において、
入力された復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報Mz1及び前記第二出力情報Mz2の両方が出力されるか否かを制御する制御部を含む、能力提供装置。 - 代理計算方法において、
計算装置で、暗号文xに対応する、群Hの元である第一入力情報τ1及び第二入力情報τ2を出力するステップと、
能力提供装置で、前記第一入力情報τ1を用い、或る確率より大きな確率でf(τ1)を正しく計算し、得られた計算結果を第一出力情報z1とするステップと、
前記能力提供装置で、前記第二入力情報τ2を用い、或る確率より大きな確率でf(τ2)を正しく計算し、得られた計算結果を第二出力情報z2とするステップと、
前記計算装置で、前記第一出力情報z1から計算結果u=f(x)bx1を生成するステップと、
前記計算装置で、前記第二出力情報z2から計算結果v=f(x)ax2を生成するステップと、
前記計算装置で、前記計算結果u及びvがua=vbを満たす場合に、a’a+b’b=1を満たす整数a’,b’についてのub’va’を出力するステップと、を有し、
Gが群、f(x)が前記群Hの元である暗号文xを特定の復号鍵で復号して前記群Gの元を得るための復号関数、X1,X2が前記群Gに値を持つ確率変数、x1が確率変数X1の実現値、x2が確率変数X2の実現値、a,bが互いに素である自然数である、代理計算方法。 - 請求項75の代理計算方法において、
復号制御装置が、前記計算装置の復号処理を制御する復号制御命令を前記能力提供装置に出力するステップと、
前記能力提供装置が、前記復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報z1及び前記第二出力情報z2の両方が出力されるか否かを制御するステップと、
をさらに有する代理計算方法。 - 請求項75の代理計算方法において、
Gι,Hιが群、ωが2以上の整数、ι=1,・・・,ω、fι(λι)が前記群Hιの元である暗号文λιを特定の復号鍵sιで復号して前記群Gιの元を得るための復号関数、Xι,1,Xι,2が前記群Gιに値を持つ確率変数、xι,1が確率変数Xι,1の実現値、xι,2が確率変数Xι,2の実現値、a(ι),b(ι)が互いに素である自然数であり、前記群Gが群G1、前記群Hが群H1、前記暗号文xが暗号文λ1、前記復号関数f(x)が復号関数f1(λ1)、前記確率変数X1が確率変数X1,1、前記確率変数X2が確率変数X1,2、前記実現値x1が実現値x1,1、前記実現値x2が実現値x1,2、前記自然数aが自然数a(1)、前記自然数bが自然数b(1)であり、
(A)前記計算装置で、前記暗号文λιに対応する、前記群Hιの元である第一入力情報τι,1及び第二入力情報τι,2を出力するステップと、
(B)前記能力提供装置で、前記第一入力情報τι,1を用い、或る確率より大きな確率でfι(τι,1)を正しく計算し、得られた演算結果を第一出力情報zι,1として出力するステップと、
(C)前記能力提供装置で、前記第二入力情報τι,2を用い、或る確率より大きな確率でfι(τι,2)を正しく計算し、得られた演算結果を第二出力情報zι,2として出力するステップと、
(D)前記計算装置で、前記第一出力情報zι,1から演算結果uι=fι(λι)b(ι)xι,1を生成するステップと、
(E)前記計算装置で、前記第二出力情報zι,2から演算結果vι=fι(λι)a(ι)xι,2を生成するステップと、
(F)前記計算装置で、前記演算結果uι及びvιがuι a(ι)=vι b(ι)を満たす場合に、a’(ι)a(ι)+b’(ι)b(ι)=1を満たす整数a’(ι),b’(ι)についてのuι b’(ι)vι a’(ι)を出力するステップと、を有し、
前記ステップ(B)及び前記ステップ(C)は、
復号制御装置から出力された前記計算装置の復号処理を制御する復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報zι,1及び前記第二出力情報zι,2の両方が出力されるか否かを制御するステップである、代理計算方法。 - 代理計算方法において、
計算装置で、暗号文xMに対応する、集合HMの元である第一入力情報Mτ1及び第二入力情報Mτ2を出力するステップと、
能力提供装置で、前記第一入力情報Mτ1を用い、或る確率より大きな確率でfM(Mτ1)を正しく計算し、得られた計算結果を第一出力情報Mz1とするステップと、
前記能力提供装置で、前記第二入力情報Mτ2を用い、或る確率より大きな確率でfM(Mτ2)を正しく計算し、得られた計算結果を第二出力情報Mz2とするステップと、
前記計算装置で、前記第一出力情報Mz1から計算結果uM=fM(xM)+Mx1を生成するステップと、
前記計算装置で、前記第二出力情報Mz2から計算結果vM=fM(xM)aM+Mx2を生成するステップと、
前記計算装置で、前記計算結果uM及びvMがuM・aM=vMを満たす場合にuMを出力するステップと、を有し、
GM,HMが行列の集合、fM(xM)が集合HMの元である暗号文xMを特定の復号鍵で復号して集合GMの元を得るための復号関数、MX1,MX2が集合GMに値を持つ確率変数、Mx1が確率変数MX1の実現値、Mx2が確率変数MX2の実現値、aMが集合HMの元である、代理計算方法。 - 請求項78の代理計算方法において、
復号制御装置が、前記計算装置の復号処理を制御する復号制御命令を前記能力提供装置に出力するステップと、
前記能力提供装置が、前記復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報Mz1及び前記第二出力情報Mz2の両方が出力されるか否かを制御するステップと、
をさらに有する代理計算方法。 - 第一計算部で、計算結果u=f(x)bx1を生成するステップと、
第二計算部で、計算結果v=f(x)ax2を生成するステップと、
最終出力部で、前記計算結果u及びvがua=vbを満たす場合に、a’a+b’b=1を満たす整数a’,b’についてのub’va’を出力するステップと、を有し、
G,Hが群、f(x)が前記群Hの元である暗号文xを特定の復号鍵で復号して前記群Gの元を得るための復号関数、X1,X2が前記群Gに値を持つ確率変数、x1が確率変数X1の実現値、x2が確率変数X2の実現値、a,bが互いに素である自然数である、計算方法。 - 第一計算部で、計算結果uM=fM(xM)+Mx1を生成するステップと、
第二計算部で、計算結果vM=fM(xM)aM+Mx2を生成するステップと、
最終出力部で、前記計算結果uM及びvMがuM・aM=vMを満たす場合にuMを出力するステップと、を有し、
GM,HMが行列の集合、fM(xM)が集合HMの元である暗号文xMを特定の復号鍵で復号して集合GMの元を得るための復号関数、MX1,MX2が集合GMに値を持つ確率変数、Mx1が確率変数MX1の実現値、Mx2が確率変数MX2の実現値、aMが集合HMの元である、計算方法。 - 第一出力情報計算部で、暗号文xに対応する、群Hの元である第一入力情報τ1を用い、或る確率より大きな確率でf(τ1)を正しく計算し、得られた計算結果を第一出力情報z1とするステップと、
第二出力情報計算部で、前記暗号文xに対応する、前記群Hの元である第二入力情報τ2を用い、或る確率より大きな確率でf(τ2)を正しく計算し、得られた計算結果を第二出力情報z2とするステップと、を有し、
Gが群、f(x)が前記群Hの元である暗号文xを特定の復号鍵で復号して前記群Gの元を得るための復号関数、X1,X2が前記群Gに値を持つ確率変数、x1が確率変数X1の実現値、x2が確率変数X2の実現値、a,bが互いに素である自然数である、能力提供方法。 - 請求項82の能力提供方法において、
入力された復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報z1及び前記第二出力情報z2の両方が出力されるか否かを制御するステップを含む、能力提供方法。 - 請求項82の能力提供方法において、
Gι,Hιが群、ωが2以上の整数、ι=1,・・・,ω、fι(λι)が前記群Hιの元である暗号文λιを特定の復号鍵sιで復号して前記群Gιの元を得るための復号関数、Xι,1,Xι,2が前記群Gιに値を持つ確率変数、xι,1が確率変数Xι,1の実現値、xι,2が確率変数Xι,2の実現値、a(ι),b(ι)が互いに素である自然数であり、前記群Gが群G1、前記群Hが群H1、前記暗号文xが暗号文λ1、前記復号関数f(x)が復号関数f1(λ1)、前記確率変数X1が確率変数X1,1、前記確率変数X2が確率変数X1,2、前記実現値x1が実現値x1,1、前記実現値x2が実現値x1,2、前記自然数aが自然数a(1)、前記自然数bが自然数b(1)であり、
(A)第一出力情報計算部で、前記暗号文λιに対応する第一入力情報τι,1を用い、或る確率より大きな確率でfι(τι,1)を正しく計算し、得られた演算結果を第一出力情報zι,1とするステップと、
(B)第二出力情報計算部で、前記暗号文λιに対応する第二入力情報τι,2を用い、或る確率より大きな確率でfι(τι,2)を正しく計算し、得られた演算結果を第二出力情報zι,2とするステップと、を有し、
前記ステップ(A)及び前記ステップ(B)は、
入力された復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報zι,1及び前記第二出力情報zι,2の両方が出力されるか否かを制御するステップを含む、能力提供方法。 - 第一出力情報計算部で、暗号文xMに対応する第一入力情報Mτ1を用い、或る確率より大きな確率でfM(Mτ1)を正しく計算し、得られた計算結果を第一出力情報Mz1とするステップと、
第二出力情報計算部で、前記暗号文xMに対応する第二入力情報Mτ2を用い、或る確率より大きな確率でfM(Mτ2)を正しく計算し、得られた計算結果を第二出力情報Mz2とするステップと、を有し、
GM,HMが行列の集合、fM(xM)が集合HMの元である暗号文xMを特定の復号鍵で復号して集合GMの元を得るための復号関数、MX1,MX2が集合GMに値を持つ確率変数、Mx1が確率変数MX1の実現値、Mx2が確率変数MX2の実現値、aMが集合HMの元である、能力提供方法。 - 請求項85の能力提供方法において、
入力された復号制御命令に従って、前記第一出力情報計算部及び前記第二出力情報計算部から、前記第一出力情報Mz1及び前記第二出力情報Mz2の両方が出力されるか否かを制御するステップを含む、能力提供方法。 - 能力提供装置とΦ個の計算装置φとを有し、
φ=1,…,Φ、Φが2以上の整数、Gφ,Hφが群、fφが前記群Hφの元を前記群Gφの元へ写す関数、a(φ),b(φ)が互いに素である自然数、前記群Hφの元Mφに対する類CLφ(Mφ)が前記群Gφの元fφ(Mφ)a(φ)b(φ)を要素とする集合、Xφ,1,Xφ,2が前記群Gφに値を持つ確率変数、xφ,1が確率変数Xφ,1の実現値、xφ,2が確率変数Xφ,2の実現値であり、
前記計算装置φのそれぞれが、前記群Hφの元xφに対応する、前記群Hφの元である第一入力情報τφ,1及び第二入力情報τφ,2を出力する入力情報提供部を含み、
前記能力提供装置が、
前記第一入力情報τφ,1を用い、或る確率より大きな確率でfφ(τφ,1)を正しく計算し、得られた演算結果を第一出力情報zφ,1とする第一出力情報計算部と、
前記第二入力情報τφ,2を用い、或る確率より大きな確率でfφ(τφ,2)を正しく計算し、得られた演算結果を第二出力情報zφ,2とする第二出力情報計算部と、を含み、
前記計算装置φのそれぞれが、さらに
前記第一出力情報zφ,1から演算結果uφ=fφ(xφ)b(φ)xφ,1を生成する第一計算部と、
前記第二出力情報zφ,2から演算結果vφ=fφ(xφ)a(φ)xφ,2を生成する第二計算部と、
前記演算結果uφに対する値uφ a(φ)と前記演算結果vφに対する値vφ b(φ)とが互いに同一の元Mφに対する類CLφ(Mφ)に属する場合の前記演算結果uφ及び前記演算結果vφと、a’(φ)a(φ)+b’(φ)b(φ)=1を満たす整数a’(φ),b’(φ)とに対する、値uφ b’(φ)vφ a’(φ)を出力する最終出力部と、を含む、代理計算システム。 - 請求項87の代理計算システムにおいて、
すべての前記群Gφ(φ=1,…,Φ)が同一であり、すべての前記群Hφ(φ=1,…,Φ)が同一であり、すべての前記関数fφ(φ=1,…,Φ)が同一であり、
前記第一出力情報計算部は、φごとに独立に、或る確率より大きな確率でfφ(τφ,1)を正しく計算し、
前記第二出力情報計算部は、φごとに独立に、或る確率より大きな確率でfφ(τφ,2)を正しく計算する、代理計算システム。 - 請求項88の代理計算システムにおいて、
前記計算装置φのそれぞれが、前記自然数a(φ),b(φ)の少なくとも一方を選択する自然数選択部を含み、
前記第一入力情報τφ,1が前記自然数b(φ)にさらに対応し、前記第二入力情報τφ,2が前記自然数a(φ)にさらに対応する、代理計算システム。 - 請求項87の代理計算システムにおいて、
前記計算装置φのそれぞれが、前記自然数a(φ),b(φ)の少なくとも一方を選択する自然数選択部を含み、
前記第一入力情報τφ,1が前記自然数b(φ)にさらに対応し、前記第二入力情報τφ,2が前記自然数a(φ)にさらに対応する、代理計算システム。 - 請求項87の代理計算システムにおいて、
前記入力情報提供部が、前記元xφとの関係をかく乱させた情報を前記第一入力情報τφ,1及び前記第二入力情報τφ,2とする、代理計算システム。 - 請求項88の代理計算システムにおいて、
前記入力情報提供部が、前記元xφとの関係をかく乱させた情報を前記第一入力情報τφ,1及び前記第二入力情報τφ,2とする、代理計算システム。 - 請求項89の代理計算システムにおいて、
前記入力情報提供部が、前記元xφとの関係をかく乱させた情報を前記第一入力情報τφ,1及び前記第二入力情報τφ,2とする、代理計算システム。 - 請求項90の代理計算システムにおいて、
前記入力情報提供部が、前記元xφとの関係をかく乱させた情報を前記第一入力情報τφ,1及び前記第二入力情報τφ,2とする、代理計算システム。 - 請求項87から94の何れかの代理計算システムにおいて、
前記関数fφが準同型関数である、代理計算システム。 - 請求項95の代理計算システムにおいて、
前記関数fφが準同型関数、前記群Hφが巡回群で、μφ,hが前記巡回群Hφの生成元、Kφ,Hが前記巡回群Hφの位数、νφ=fφ(μφ,h)であり、
前記入力情報提供部は、
0以上の自然数の乱数r(φ,1)を生成する第一乱数生成部と、
前記第一入力情報τφ,1としてμφ,h r(φ,1)xφ b(φ)を計算する第一入力情報計算部と、
0以上の自然数の乱数r(φ,2)を生成する第二乱数生成部と、
前記第二入力情報τφ,2としてμφ,h r(φ,2)xφ a(φ)を計算する第二入力情報計算部と、を含み、
前記第一出力情報計算部は、前記第一入力情報μφ,h r(φ,1)xφ b(φ)を用い、或る確率より大きな確率でfφ(μφ,h r(φ,1)xφ b(φ))を正しく計算し、得られた計算結果を前記第一出力情報zφ,1とし、
前記第二出力情報計算部は、前記第二入力情報μφ,h r(φ,2)xφ a(φ)を用い、或る確率より大きな確率でfφ(μφ,h r(φ,2)xφ a(φ))を正しく計算し、得られた計算結果を第二出力情報zφ,2とし、
前記第一計算部は、zφ,1νφ -r(φ,1)を計算して前記演算結果uφを得、
前記第二計算部は、zφ,2νφ -r(φ,2)を計算して前記演算結果vφを得る、代理計算システム。 - 請求項96の代理計算システムにおいて、
前記第一乱数生成部は、b(φ)≠1のときに前記乱数r(φ,1)を生成し、
前記第一入力情報計算部は、b(φ)≠1のときに前記第一入力情報τφ,1として前記μφ,h r(φ,1)xφ b(φ)を計算し、
前記第一出力情報計算部は、b(φ)≠1のときに前記第一入力情報μφ,h r(φ,1)xφ b(φ)を用いて得られた前記計算結果を前記第一出力情報zφ,1とし、
前記第一計算部が、b(φ)≠1のときにzφ,1νφ -r(φ,1)を計算して前記演算結果uφを得、
前記第二乱数生成部が、a(φ)≠1のときに前記乱数r(φ,2)を生成し、
前記第二入力情報計算部が、a(φ)≠1のときに前記第二入力情報τφ,2としてμφ,h r(φ,2)xφ a(φ)を計算し、
前記第二出力情報計算部が、a(φ)≠1のときに前記第二入力情報μφ,h r(φ,2)xφ a(φ)を用いて得られた前記計算結果を第二出力情報zφ,2とし、
前記第二計算部が、a(φ)≠1のときにzφ,2νφ -r(φ,2)を計算して前記演算結果vφを得、
前記入力情報提供部が、
0以上の自然数の乱数r(φ,3)を生成する第三乱数生成部と、
b(φ)=1のときにxφ r(φ,3)を前記第一入力情報τφ,1とし、a(φ)=1のときにxφ r(φ,3)を前記第二入力情報τφ,2とする第三入力情報計算部と、を含み、
前記能力提供装置が、
前記xφ r(φ,3)を用い、或る確率より大きな確率でfφ(xφ r(φ,3))を正しく計算し、得られた計算結果を第三出力情報zφ,3とする第三出力情報計算部を含み、
前記計算装置φのそれぞれが、
b(φ)=1のときにzφ,3 1/r(φ,3)を前記演算結果uφとし、a(φ)=1のときにzφ,3 1/r(φ,3)を前記演算結果vφとする第三計算部を含む、代理計算システム。 - 請求項87から94の何れかの代理計算システムにおいて、
前記群Hφが直積群Gφ×Gφで、前記関数fφが準同型関数、前記群Gφが巡回群で、前記巡回群Gφの生成元がμφ,g、前記巡回群Gφの位数がKφ,G、xφ=(cφ,1,cφ,2),(Vφ,Wφ)が前記群Hφの元、fφ(Vφ,Wφ)=Yφであり、
前記入力情報提供部が、
0以上の自然数の乱数r(φ,4)を生成する第四乱数生成部と、
0以上の自然数の乱数r(φ,5)を生成する第五乱数生成部と、
前記第一入力情報τφ,1としてcφ,2 b(φ)Wφ r(φ,4)及びcφ,1 b(φ)Vφ r(φ,4)μφ,g r(φ,5)を計算する第一入力情報計算部と、
0以上の自然数の乱数r(φ,6)を生成する第六乱数生成部と、
0以上の自然数の乱数r(φ,7)を生成する第七乱数生成部と、
前記第二入力情報τφ,2としてcφ,2 a(φ)Wφ r(φ,6)及びcφ,1 a(φ)Vφ r(φ,6)μφ,g r(φ,7)を計算する第二入力情報計算部と、を含み、
前記第一出力情報計算部が、前記第一入力情報cφ,1 b(φ)Vφ r(φ,4)μφ,g r(φ,5)及びcφ,2 b(φ)Wφ r(φ,4)を用い、或る確率より大きな確率でfφ(cφ,1 b(φ)Vφ r(φ,4)μφ,g r(φ,5),cφ,2 b(φ)Wφ r(φ,4))を正しく計算し、得られた計算結果を前記第一出力情報zφ,1とし、
前記第二出力情報計算部が、前記第二入力情報cφ,1 a(φ)Vφ r(φ,6)μφ,g r(φ,7)及びcφ,2 a(φ)Wφ r(φ,6)を用い、或る確率より大きな確率でfφ(cφ,1 a(φ)Vφ r(φ,6)μφ,g r(φ,7),cφ,2 a(φ)Wφ r(φ,6))を正しく計算し、得られた計算結果を前記第二出力情報zφ,2とし、
前記第一計算部が、zφ,1Yφ -r(φ,4)μφ,g -r(φ,5)を計算して前記演算結果uを得、
前記第二計算部が、zφ,2Yφ -r(φ,6)μφ,g -r(φ,7)を計算して前記演算結果vを得る、代理計算システム。 - 請求項87から94の何れかの代理計算システムにおいて、
前記関数fφ(xφ)が前記群Hφの元である前記元xφ=Cφ,1(y(φ,1),mφ)を前記群Gφの元fφ(xφ)=Cφ,2(y(φ,2),mφ)に変換するための準同型関数、φ=1,…,Φ、Cφ,1(y(φ,1),mφ)が第一暗号化方式ENCφ,1に則って平文mφを第一暗号化鍵y(φ,1)で暗号化した暗号文、Cφ,2(y(φ,2),mφ)が第二暗号化方式ENCφ,2に則って前記平文mφを第二暗号化鍵y(φ,2)で暗号化した暗号文であり、
前記入力情報提供部が、
前記群Hφの任意の元hrφ,1を生成する第一乱数生成部と、
前記第一入力情報τφ,1としてxφ b(φ)Cφ,1(y(φ,1),hrφ,1)を計算する第一入力情報計算部と、
前記群Hφの任意の元hrφ,2を生成する第二乱数生成部と、
前記第二入力情報τφ,2としてxφ a(φ)Cφ,1(y(φ,1),hrφ,2)を計算する第二入力情報計算部と、を含み、
前記第一出力情報計算部は、前記第一入力情報xφ b(φ)Cφ,1(y(φ,1),hrφ,1)を用い、或る確率より大きな確率でfφ(xφ b(φ)Cφ,1(y(φ,1),hrφ,1))を正しく計算し、得られた計算結果を前記第一出力情報zφ,1とし、
前記第二出力情報計算部は、前記第二入力情報xφ a(φ)Cφ,1(y(φ,1),hrφ,2)を用い、或る確率より大きな確率でfφ(xφ a(φ)Cφ,1(y(φ,1),hrφ,2))を正しく計算し、得られた計算結果を第二出力情報zφ,2とし、
前記第一計算部は、zφ,1(Cφ,2(y(φ,2),hrφ,1))-1を計算して前記演算結果uφを得、
前記第二計算部は、zφ,2(Cφ,2(y(φ,2),hrφ,2))-1を計算して前記演算結果vφを得る、代理計算システム。 - 請求項99の代理計算システムにおいて、
前記群Gφが巡回群Gφ,1,Gφ,2の直積群Gφ,1×Gφ,2、μφ,g1が前記巡回群Gφ,1の生成元、μφ,g2が前記巡回群Gφ,2の生成元、s(φ,2)が前記第二暗号化鍵y(φ,2)に対応する復号鍵、前記第二暗号化鍵y(φ,2)がμφ,g2 s(φ,2)、r(φ)が整数の乱数、前記元Cφ,2(y(φ,2),mφ)が(μφ,g1 r(φ),mφy(φ,2)r(φ))、前記値uφ a(φ)が(cφ,1u,cφ,2u)∈Gφ,1×Gφ,2、前記値vφ b(φ)が(cφ,1v,cφ,2v)∈Gφ,1×Gφ,2、eφ(α,β)が(α,β)∈Gφ,1×Gφ,2に対して巡回群Gφ,Tの元を与える双線形写像であり、
前記最終出力部は、関係eφ(μφ,g1,cφ,2u)/eφ(cφ,1u,y(φ,2))=eφ(μφ,g1,cφ,2v)/eφ(cφ,1v,y(φ,2))を満たす場合の前記値uφ b’(φ)vφ a’(φ)を出力する、代理計算システム。 - 請求項100の代理計算システムにおいて、
Nφが素数ωφと素数ιφの合成数、前記前記巡回群Gφ,1,Gφ,2がそれぞれ前記合成数Nφを法とした剰余環上で定義された第一楕円曲線Eφ,1上の点からなる部分群、Gφ,1ω,Gφ,2ωが前記素数ωφを法とした剰余体上で定義された第二楕円曲線Eφ,2上の点からなる部分群、Gφ,1ι,Gφ,2ιが前記素数ιφを法とした剰余体上で定義された第三楕円曲線Eφ,3上の点からなる部分群、eφ,ω(αω,βω)が(αω,βω)∈Gφ,1ω×Gφ,2ωに対して巡回群Gφ,Tωの元を与える第二双線形写像、eφ,ι(αι,βι)が(αι,βι)∈Gφ,1ι×Gφ,2ιに対して巡回群Gφ,Tιの元を与える第三双線形写像、HMφが前記第一楕円曲線Eφ,1上の点を前記第二楕円曲線Eφ,2上の点と前記第三楕円曲線Eφ,3上の点とに写す同型写像、HMφ -1が前記同型写像HMφの逆像であり、
前記計算装置φのそれぞれは、
前記同型写像HMφを用いて前記第一楕円曲線Eφ,1上の点αを前記第二楕円曲線Eφ,2上の点θω(α)と前記第三楕円曲線Eφ,3上の点θι(α)とに写し、前記同型写像HMφを用いて前記第一楕円曲線Eφ,1上の点βを前記第二楕円曲線Eφ,2上の点θω(β)と前記第三楕円曲線Eφ,3上の点θι(β)とに写し、eφ,ω(θω(α),θω(β))及びeφ,ι(θι(α),θι(β))を求め、eφ,ω(θω(α),θω(β))及びeφ,ι(θι(α),θι(β))に対する前記逆像HMφ -1をeφ(α,β)として求め、前記関係を満たすか否かを判定する判定部をさらに含む、代理計算システム。 - 請求項87から94の何れかの代理計算システムにおいて、
前記群Hφが巡回群H1,φ,H2,φの直積群H1,φ×H2,φ、前記巡回群H1,φの生成元がη1,φ、前記巡回群H2,φの生成元がη2,φ、fφが前記巡回群H1,φの元と前記巡回群H2,φの元との組を前記群Gφの元へ写す双準同型写像、前記群Hφの元xφが前記巡回群H1,φの元λ1,φと前記巡回群H2,φの元λ2,φとの組、Ωφ=fφ(η1,φ,η2,φ)であり、
前記入力情報提供部が、
0以上の自然数の乱数r(φ,11),r(φ,12),r(φ,13),r(φ,14),r(φ,15),r(φ,16)を生成する第一乱数生成部と、
前記第一入力情報τφ,1として、(λ1,φη1,φ r(φ,11)・r(φ,12),λ2,φ b(φ)η2,φ r(φ,13)・r(φ,14))、(η1,φ r(φ,11),λ2,φ -b(φ)・r(φ,12)η2,φ r(φ,15))及び(λ1,φ -r(φ,14)η1,φ r(φ,16),η2,φ r(φ,13))を計算する第一入力情報計算部と、
0以上の自然数の乱数r(φ,21),r(φ,22),r(φ,23),r(φ,24),r(φ,25),r(φ,26)を生成する第二乱数生成部と、
前記第二入力情報τφ,2として、(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))、(η1,φ r(φ,21),λ2,φ -a(φ)・r(φ,22)η2,φ r(φ,25))及び(λ1,φ -r(φ,24)η1,φ r(φ,26),η2,φ r(φ,23))を計算する第二入力情報計算部と、を含み、
前記第一出力情報計算部は、前記第一入力情報τφ,1を用い、或る確率より大きな確率で、fφ(λ1,φη1,φ r(φ,11)・r(φ,12),λ2,φ b(φ)η2,φ r(φ,13)・r(φ,14))、fφ(η1,φ r(φ,11),λ2,φ -b(φ)・r(φ,12)η2,φ r(φ,15))及びfφ(λ1,φ -r(φ,14)η1,φ r(φ,16),η2,φ r(φ,13))を正しく計算し、得られた演算結果zφ,1,1、zφ,1,2及びzφ,1,3を前記第一出力情報zφ,1とし、
前記第二出力情報計算部は、前記第二入力情報τφ,2を用い、或る確率より大きな確率で、fφ(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))、fφ(η1,φ r(φ,21),λ2,φ -a(φ)・r(φ,22)η2,φ r(φ,25))及びfφ(λ1,φ -r(φ,24)η1,φ r(φ,26),η2,φ r(φ,23))を正しく計算し、得られた演算結果zφ,2,1、zφ,2,2及びzφ,2,3を前記第二出力情報zφ,2とし、
前記第一計算部は、zφ,1,1zφ,1,2zφ,1,3Ωφ -r(φ,11)・r(φ,12)・r(φ,13)・r(φ,14)-r(φ,11)・r(φ,15)-r(φ,13)・r(φ,16)を計算して前記演算結果uφを得、
前記第二計算部は、zφ,2,1zφ,2,2zφ,2,3Ωφ -r(φ,21)・r(φ,22)・r(φ,23)・r(φ,24)-r(φ,21)・r(φ,25)-r(φ,23)・r(φ,26)を計算して前記演算結果vφを得、
前記最終出力部は、前記演算結果uφ,vφがuφ a(φ)=vφ b(φ)を満たす場合に、a’(φ)a(φ)+b’(φ)b(φ)=1を満たす整数a’(φ),b’(φ)についての値uφ b’(φ)vφ a’(φ)を出力する、代理計算システム。 - 請求項87から94の何れかの代理計算システムにおいて、
前記演算結果uφのfφ(xφ)b(φ)に対する誤差の確率分布が前記自然数b(φ)に依存しない、及び/若しくは、前記演算結果vφのfφ(xφ)a(φ)に対する誤差の確率分布が前記自然数a(φ)に依存しない、又は、前記演算結果uφのfφ(xφ)b(φ)に対する誤差の確率分布と区別することができない前記自然数b(φ)に依存しない確率分布が存在する、及び/若しくは、前記演算結果vφのfφ(xφ)a(φ)に対する誤差の確率分布と区別することができない前記自然数a(φ)に依存しない確率分布が存在する、代理計算システム。 - 請求項87から94の何れかの代理計算システムにおいて、
前記自然数a(φ)又は前記自然数b(φ)が定数である、代理計算システム。 - 第一出力情報計算部と、第二出力情報計算部とを有し、
φ=1,…,Φ、Φが2以上の整数、Gφ,Hφが群、fφが前記群Hφの元を前記群Gφの元へ写す関数、a(φ),b(φ)が互いに素である自然数、前記群Hφの元Mφに対する類CLφ(Mφ)が前記群Gφの元fφ(Mφ)a(φ)b(φ)を要素とする集合、Xφ,1,Xφ,2が前記群Gφに値を持つ確率変数、xφ,1が確率変数Xφ,1の実現値、xφ,2が確率変数Xφ,2の実現値であり、
前記第一出力情報計算部が、前記巡回群Hφの元xφに対応する、前記群Hφの元である第一入力情報τφ,1を用い、或る確率より大きな確率でfφ(τφ,1)を正しく計算し、得られた演算結果を第一出力情報zφ,1とし、
前記第二出力情報計算部が、前記群Hφの元xφに対応する、前記群Hφの元である第二入力情報τφ,2を用い、或る確率より大きな確率でfφ(τφ,2)を正しく計算し、得られた演算結果を第二出力情報zφ,2とする、能力提供装置。 - 請求項105の能力提供装置において、
すべての前記群Gφ(φ=1,…,Φ)が同一であり、すべての前記群Hφ(φ=1,…,Φ)が同一であり、すべての前記関数fφ(φ=1,…,Φ)が同一であり、
前記第一出力情報計算部は、φごとに独立に、或る確率より大きな確率でfφ(τφ,1)を正しく計算し、
前記第二出力情報計算部は、φごとに独立に、或る確率より大きな確率でfφ(τφ,2)を正しく計算する、能力提供装置。 - 請求項105又は106の能力提供装置において、
前記関数fφが準同型関数、前記群Hφが巡回群で、μφ,hが前記巡回群Hφの生成元、Kφ,Hが前記巡回群Hφの位数、νφ=fφ(μφ,h)であり、
前記第一出力情報計算部は、前記第一入力情報μφ,h r(φ,1)xφ b(φ)を用い、或る確率より大きな確率でfφ(μφ,h r(φ,1)xφ b(φ))を正しく計算し、得られた計算結果を前記第一出力情報zφ,1とし、
前記第二出力情報計算部は、前記第二入力情報μφ,h r(φ,2)xφ a(φ)を用い、或る確率より大きな確率でfφ(μφ,h r(φ,2)xφ a(φ))を正しく計算し、得られた計算結果を第二出力情報zφ,2とする、能力提供装置。 - 請求項105又は106の能力提供装置において、
前記群Hφが直積群Gφ×Gφで、前記関数fφが準同型関数、前記群Gφが巡回群で、前記巡回群Gφの生成元がμφ,g、前記巡回群Gφの位数がKφ,G、xφ=(cφ,1,cφ,2),(Vφ,Wφ)が前記群Hφの元、fφ(Vφ,Wφ)=Yφであり、r(φ,4),r(φ,5),r(φ,6)及びr(φ,7)が0以上の自然数の乱数であり、
前記第一出力情報計算部が、前記第一入力情報cφ,1 b(φ)Vφ r(φ,4)μφ,g r(φ,5)及びcφ,2 b(φ)Wφ r(φ,4)を用い、或る確率より大きな確率でfφ(cφ,1 b(φ)Vφ r(φ,4)μφ,g r(φ,5),cφ,2 b(φ)Wφ r(φ,4))を正しく計算し、得られた計算結果を前記第一出力情報zφ,1とし、
前記第二出力情報計算部が、前記第二入力情報cφ,1 a(φ)Vφ r(φ,6)μφ,g r(φ,7)及びcφ,2 a(φ)Wφ r(φ,6)を用い、或る確率より大きな確率でfφ(cφ,1 a(φ)Vφ r(φ,6)μφ,g r(φ,7),cφ,2 a(φ)Wφ r(φ,6))を正しく計算し、得られた計算結果を前記第二出力情報zφ,2とする、能力提供装置。 - 請求項105又は106の能力提供装置において、
前記関数fφ(xφ)が前記群Hφの元である前記元xφ=Cφ,1(y(φ,1),mφ)を前記群Gφの元fφ(xφ)=Cφ,2(y(φ,2),mφ)に変換するための準同型関数、φ=1,…,Φ、Cφ,1(y(φ,1),mφ)が第一暗号化方式ENCφ,1に則って平文mφを第一暗号化鍵y(φ,1)で暗号化した暗号文、Cφ,2(y(φ,2),mφ)が第二暗号化方式ENCφ,2に則って前記平文mφを第二暗号化鍵y(φ,2)で暗号化した暗号文であり、hrφ,1及びhrφ,2が前記群Hφの任意の元であり、
前記第一出力情報計算部が、前記第一入力情報xφ b(φ)Cφ,1(y(φ,1),hrφ,1)を用い、或る確率より大きな確率でfφ(xφ b(φ)Cφ,1(y(φ,1),hrφ,1))を正しく計算し、得られた計算結果を前記第一出力情報zφ,1とし、
前記第二出力情報計算部が、前記第二入力情報xφ a(φ)Cφ,1(y(φ,1),hrφ,2)を用い、或る確率より大きな確率でfφ(xφ a(φ)Cφ,1(y(φ,1),hrφ,2))を正しく計算し、得られた計算結果を第二出力情報zφ,2とする、能力提供装置。 - 請求項105又は106の能力提供装置において、
前記群Hφが巡回群H1,φ,H2,φの直積群H1,φ×H2,φ、前記巡回群H1,φの生成元がη1,φ、前記巡回群H2,φの生成元がη2,φ、fφが前記巡回群H1,φの元と前記巡回群H2,φの元との組を前記群Gφの元へ写す双準同型写像、前記群Hφの元xφが前記巡回群H1,φの元λ1,φと前記巡回群H2,φの元λ2,φとの組、Ωφ=fφ(η1,φ,η2,φ)、r(φ,11),r(φ,12),r(φ,13),r(φ,14),r(φ,15),r(φ,16),r(φ,21),r(φ,22),r(φ,23),r(φ,24),r(φ,25),r(φ,26)が0以上の自然数の乱数、前記第一入力情報τφ,1が(λ1,φη1,φ r(φ,11)・r(φ,12),λ2,φ b(φ)η2,φ r(φ,13)・r(φ,14))、(η1,φ r(φ,11),λ2,φ -b(φ)・r(φ,12)η2,φ r(φ,15))及び(λ1,φ -r(φ,14)η1,φ r(φ,16),η2,φ r(φ,13))、前記第二入力情報τφ,2が(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))、(η1,φ r(φ,21),λ2,φ -a(φ)・r(φ,22)η2,φ r(φ,25))及び(λ1,φ -r(φ,24)η1,φ r(φ,26),η2,φ r(φ,23))であり、
前記第一出力情報計算部は、前記第一入力情報τφ,1を用い、或る確率より大きな確率で、fφ(λ1,φη1,φ r(φ,11)・r(φ,12),λ2,φ b(φ)η2,φ r(φ,13)・r(φ,14))、fφ(η1,φ r(φ,11),λ2,φ -b(φ)・r(φ,12)η2,φ r(φ,15))及びfφ(λ1,φ -r(φ,14)η1,φ r(φ,16),η2,φ r(φ,13))を正しく計算し、得られた演算結果zφ,1,1、zφ,1,2及びzφ,1,3を前記第一出力情報zφ,1とし、
前記第二出力情報計算部は、前記第二入力情報τφ,2を用い、或る確率より大きな確率で、fφ(λ1,φη1,φ r(φ,21)・r(φ,22),λ2,φ a(φ)η2,φ r(φ,23)・r(φ,24))、fφ(η1,φ r(φ,21),λ2,φ -a(φ)・r(φ,22)η2,φ r(φ,25))及びfφ(λ1,φ -r(φ,24)η1,φ r(φ,26),η2,φ r(φ,23))を正しく計算し、得られた演算結果zφ,2,1、zφ,2,2及びzφ,2,3を前記第二出力情報zφ,2とする、能力提供装置。 - Φ個の計算装置φのそれぞれで、群Hφの元xφに対応する、前記群Hφの元である第一入力情報τφ,1及び第二入力情報τφ,2を出力する入力情報提供ステップと、
能力提供装置で、前記第一入力情報τφ,1を用い、或る確率より大きな確率でfφ(τφ,1)を正しく計算し、得られた演算結果を第一出力情報zφ,1とする第一出力情報生成ステップと、
前記能力提供装置で、前記第二入力情報τφ,2を用い、或る確率より大きな確率でfφ(τφ,2)を正しく計算し、得られた演算結果を第二出力情報zφ,2とする第二出力情報生成ステップと、
前記計算装置φのそれぞれで、前記第一出力情報zφ,1から演算結果uφ=fφ(xφ)b(φ)xφ,1を生成する第一計算ステップと、
前記計算装置φのそれぞれで、前記第二出力情報zφ,2から演算結果vφ=fφ(xφ)a(φ)xφ,2を生成する第二計算ステップと、
前記計算装置φのそれぞれで、前記演算結果uφに対する値uφ a(φ)と前記演算結果vφに対する値vφ b(φ)とが互いに同一の元Mφに対する類CLφ(Mφ)に属する場合の前記演算結果uφ及び前記演算結果vφと、a’(φ)a(φ)+b’(φ)b(φ)=1を満たす整数a’(φ),b’(φ)とに対する、値uφ b’(φ)vφ a’(φ)を出力する最終出力ステップと、を有し、
φ=1,…,Φ、Φが2以上の整数、Gφが群、fφが前記群Hφの元を前記群Gφの元へ写す関数、a(φ),b(φ)が互いに素である自然数、前記群Hφの元Mφに対する類CLφ(Mφ)が前記群Gφの元fφ(Mφ)a(φ)b(φ)を要素とする集合、Xφ,1,Xφ,2が前記群Gφに値を持つ確率変数、xφ,1が確率変数Xφ,1の実現値、xφ,2が確率変数Xφ,2の実現値である、代理計算方法。 - 請求項111の代理計算方法において、
すべての前記群Gφ(φ=1,…,Φ)が同一であり、すべての前記群Hφ(φ=1,…,Φ)が同一であり、すべての前記関数fφ(φ=1,…,Φ)が同一であり、
前記第一出力情報生成ステップでは、φごとに独立に、或る確率より大きな確率でfφ(τφ,1)を正しく計算し、
前記第二出力情報生成ステップでは、φごとに独立に、或る確率より大きな確率でfφ(τφ,2)を正しく計算する、代理計算方法。 - 第一出力情報計算部が、群Hφの元xφに対応する、前記群Hφの元である第一入力情報τφ,1を用い、或る確率より大きな確率でfφ(τφ,1)を正しく計算し、得られた演算結果を第一出力情報zφ,1とするステップと、
第二出力情報計算部が、前記群Hφの元xφに対応する、群Hφの元である第二入力情報τφ,2を用い、或る確率より大きな確率でfφ(τφ,2)を正しく計算し、得られた演算結果を第二出力情報zφ,2とするステップと、を有し、
φ=1,…,Φ、Φが2以上の整数、Gφが群、fφが前記群Hφの元を前記群Gφの元へ写す関数、a(φ),b(φ)が互いに素である自然数、前記群Hφの元Mφに対する類CLφ(Mφ)が前記群Gφの元fφ(Mφ)a(φ)b(φ)を要素とする集合、Xφ,1,Xφ,2が前記群Gφに値を持つ確率変数、xφ,1が確率変数Xφ,1の実現値、xφ,2が確率変数Xφ,2の実現値である、能力提供方法。 - 請求項113の能力提供方法において、
すべての前記群Gφ(φ=1,…,Φ)が同一であり、すべての前記群Hφ(φ=1,…,Φ)が同一であり、すべての前記関数fφ(φ=1,…,Φ)が同一であり、
前記第一出力情報生成ステップでは、φごとに独立に、或る確率より大きな確率でfφ(τφ,1)を正しく計算し、
前記第二出力情報生成ステップでは、φごとに独立に、或る確率より大きな確率でfφ(τφ,2)を正しく計算する、能力提供方法。 - 請求項47又は60の計算装置としてコンピュータを機能させるためのプログラム。
- 請求項66、72及び105の何れかの能力提供装置としてコンピュータを機能させるためのプログラム。
- 請求項47又は60の計算装置としてコンピュータを機能させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
- 請求項66、72及び105の何れかの能力提供装置としてコンピュータを機能させるためのプログラムを格納したコンピュータ読み取り可能な記録媒体。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012540874A JP5491638B2 (ja) | 2010-10-26 | 2011-10-25 | 代理計算システム、計算装置、能力提供装置、代理計算方法、能力提供方法、プログラム、及び記録媒体 |
Applications Claiming Priority (10)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010239342 | 2010-10-26 | ||
JP2010239342 | 2010-10-26 | ||
JP2011005899 | 2011-01-14 | ||
JP2011005899 | 2011-01-14 | ||
JP2011077779 | 2011-03-31 | ||
JP2011077779 | 2011-03-31 | ||
JP2011088002 | 2011-04-12 | ||
JP2011088002 | 2011-04-12 | ||
JP2012540874A JP5491638B2 (ja) | 2010-10-26 | 2011-10-25 | 代理計算システム、計算装置、能力提供装置、代理計算方法、能力提供方法、プログラム、及び記録媒体 |
PCT/JP2011/074546 WO2012057134A1 (ja) | 2010-10-26 | 2011-10-25 | 代理計算システム、計算装置、能力提供装置、代理計算方法、能力提供方法、プログラム、及び記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2012057134A1 JPWO2012057134A1 (ja) | 2014-05-12 |
JP5491638B2 true JP5491638B2 (ja) | 2014-05-14 |
Family
ID=45993841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012540874A Active JP5491638B2 (ja) | 2010-10-26 | 2011-10-25 | 代理計算システム、計算装置、能力提供装置、代理計算方法、能力提供方法、プログラム、及び記録媒体 |
Country Status (5)
Country | Link |
---|---|
US (5) | US9607158B2 (ja) |
EP (1) | EP2634760A4 (ja) |
JP (1) | JP5491638B2 (ja) |
CN (1) | CN103221988B (ja) |
WO (1) | WO2012057134A1 (ja) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103221988B (zh) * | 2010-10-26 | 2016-08-03 | 日本电信电话株式会社 | 代理计算系统、计算装置、能力提供装置、代理计算方法、能力提供方法 |
EP2667371B8 (en) * | 2011-03-04 | 2018-03-07 | Nippon Telegraph And Telephone Corporation | Proxy calculation system, method, request device, and program |
US8750508B2 (en) * | 2012-06-15 | 2014-06-10 | Mitsubishi Electric Research Laboratories, Inc. | Method for outsourcing data for secure processing by untrusted third parties |
US8898478B2 (en) * | 2012-06-15 | 2014-11-25 | Mitsubishi Electric Research Laboratories, Inc. | Method for querying data in privacy preserving manner using attributes |
JP6006809B2 (ja) | 2013-01-16 | 2016-10-12 | 日本電信電話株式会社 | 復号サービス提供装置、処理装置、安全性評価装置、プログラム、および記録媒体 |
JP5964759B2 (ja) * | 2013-01-18 | 2016-08-03 | 日本電信電話株式会社 | 計算システム |
WO2015008605A1 (ja) | 2013-07-18 | 2015-01-22 | 日本電信電話株式会社 | 計算装置、計算方法、およびプログラム |
CN105264539B (zh) * | 2013-07-18 | 2018-02-27 | 日本电信电话株式会社 | 密钥云系统、解密方法、以及计算机可读取记录介质 |
CN105339995B (zh) | 2013-07-18 | 2018-04-06 | 日本电信电话株式会社 | 解密装置、解密能力提供装置、其方法、以及记录介质 |
EP3059898B1 (en) | 2013-10-16 | 2019-05-22 | Nippon Telegraph and Telephone Corporation | Key device, key cloud system, decryption method, and program |
WO2015174390A1 (ja) | 2014-05-13 | 2015-11-19 | 日本電信電話株式会社 | セキュリティシステム、管理装置、許可装置、端末装置、セキュリティ方法、およびプログラム |
US9842115B2 (en) * | 2014-05-30 | 2017-12-12 | Apple Inc. | Media asset proxies |
JP6267658B2 (ja) * | 2015-01-09 | 2018-01-24 | 日本電信電話株式会社 | 署名生成装置、署名システム、署名生成方法、およびプログラム |
CN107113168B (zh) * | 2015-01-16 | 2020-09-08 | 日本电信电话株式会社 | 密钥交换方法、密钥交换系统、密钥装置、终端装置和记录介质 |
JP5968484B1 (ja) * | 2015-03-18 | 2016-08-10 | 日本電信電話株式会社 | シェア復旧システム、シェア復旧方法、およびプログラム |
DE102017117899A1 (de) * | 2017-08-07 | 2019-02-07 | Infineon Technologies Ag | Durchführen einer kryptografischen Operation |
US20190318118A1 (en) * | 2018-04-16 | 2019-10-17 | International Business Machines Corporation | Secure encrypted document retrieval |
US11764940B2 (en) | 2019-01-10 | 2023-09-19 | Duality Technologies, Inc. | Secure search of secret data in a semi-trusted environment using homomorphic encryption |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008519303A (ja) * | 2004-11-04 | 2008-06-05 | フランス テレコム | 双線形アプリケーションの計算の安全化された委託方法 |
WO2011086992A1 (ja) * | 2010-01-12 | 2011-07-21 | 日本電信電話株式会社 | 代理計算システム、方法、依頼装置、プログラム及びその記録媒体 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU716797B2 (en) * | 1996-08-19 | 2000-03-09 | Ntru Cryptosystems, Inc. | Public key cryptosystem method and apparatus |
US6509728B1 (en) * | 1998-05-28 | 2003-01-21 | Anritsu Corporation | Spectrum analyzer having function of displaying amplitude probability distribution effectively |
US6157955A (en) * | 1998-06-15 | 2000-12-05 | Intel Corporation | Packet processing system including a policy engine having a classification unit |
JP3545613B2 (ja) * | 1998-09-04 | 2004-07-21 | 日本電信電話株式会社 | カオス力学系の同期を用いた暗号装置、復号装置、暗号システム |
US7707420B1 (en) * | 1999-06-23 | 2010-04-27 | Research In Motion Limited | Public key encryption with digital signature scheme |
US6678666B1 (en) * | 2000-06-05 | 2004-01-13 | Van W. Boulware | Method of conducting anti-fraud electronic bank security transactions having price-date-time variables and calculating apparatus thereof |
JP2005084568A (ja) * | 2003-09-11 | 2005-03-31 | Nippon Telegr & Teleph Corp <Ntt> | セキュリティ方法、セキュリティ装置及びセキュリティプログラム |
WO2006117806A2 (en) | 2005-05-04 | 2006-11-09 | Abdul Rahman Syed Ibrahim Abdu | Bilaterally generated encryption key system |
JP4829628B2 (ja) * | 2005-10-31 | 2011-12-07 | 富士通株式会社 | 暗号化方法,暗号復号化方法,暗号化装置,暗号復号化装置および通信システム |
WO2008099875A1 (ja) * | 2007-02-15 | 2008-08-21 | Nec Corporation | 鍵交換装置、鍵交換処理システム、鍵交換方法およびプログラム |
FR2913154A1 (fr) * | 2007-02-28 | 2008-08-29 | France Telecom | Chiffrement broadcast base sur identite |
US20090080658A1 (en) * | 2007-07-13 | 2009-03-26 | Brent Waters | Method and apparatus for encrypting data for fine-grained access control |
US8356181B2 (en) * | 2007-11-15 | 2013-01-15 | Intel Corporation | Apparatus and method for a direct anonymous attestation scheme from short-group signatures |
EP2234322B1 (en) * | 2008-01-18 | 2019-10-02 | Mitsubishi Electric Corporation | Cryptographic parameter setting device, cryptographic system, program, and cryptographic parameter setting method |
JP5047198B2 (ja) * | 2008-01-21 | 2012-10-10 | 日本電信電話株式会社 | 秘密計算システム、秘密計算方法、秘密計算装置、検証装置、およびプログラム |
US8949614B1 (en) * | 2008-04-18 | 2015-02-03 | Netapp, Inc. | Highly efficient guarantee of data consistency |
US8145897B2 (en) * | 2008-09-29 | 2012-03-27 | Intel Corporation | Direct anonymous attestation scheme with outsourcing capability |
US20110194698A1 (en) * | 2008-10-22 | 2011-08-11 | Tomoyuki Asano | Key Sharing System |
US8341427B2 (en) | 2009-02-16 | 2012-12-25 | Microsoft Corporation | Trusted cloud computing and services framework |
JP2010239342A (ja) | 2009-03-31 | 2010-10-21 | Kyocera Kinseki Corp | 圧電デバイス |
JP5138638B2 (ja) | 2009-06-24 | 2013-02-06 | 日立オートモティブシステムズ株式会社 | ブレーキ制御装置 |
JP5413100B2 (ja) | 2009-09-30 | 2014-02-12 | 株式会社村田製作所 | フェライト・磁石素子の磁力調整方法 |
US8331558B2 (en) * | 2010-02-18 | 2012-12-11 | King Fahd University Of Petroleum And Minerals | Method of cipher block chaining using elliptic curve cryptography |
CN103221988B (zh) * | 2010-10-26 | 2016-08-03 | 日本电信电话株式会社 | 代理计算系统、计算装置、能力提供装置、代理计算方法、能力提供方法 |
JP4740401B2 (ja) | 2011-02-09 | 2011-08-03 | 株式会社藤商事 | 弾球遊技機 |
JP6006809B2 (ja) * | 2013-01-16 | 2016-10-12 | 日本電信電話株式会社 | 復号サービス提供装置、処理装置、安全性評価装置、プログラム、および記録媒体 |
-
2011
- 2011-10-25 CN CN201180050871.9A patent/CN103221988B/zh not_active Expired - Fee Related
- 2011-10-25 JP JP2012540874A patent/JP5491638B2/ja active Active
- 2011-10-25 EP EP11836267.2A patent/EP2634760A4/en not_active Ceased
- 2011-10-25 US US13/881,111 patent/US9607158B2/en active Active
- 2011-10-25 WO PCT/JP2011/074546 patent/WO2012057134A1/ja active Application Filing
-
2016
- 2016-12-22 US US15/389,107 patent/US9960906B2/en active Active
- 2016-12-22 US US15/389,080 patent/US9794060B2/en active Active
- 2016-12-22 US US15/389,055 patent/US20170111165A1/en not_active Abandoned
-
2017
- 2017-08-23 US US15/684,672 patent/US10361841B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008519303A (ja) * | 2004-11-04 | 2008-06-05 | フランス テレコム | 双線形アプリケーションの計算の安全化された委託方法 |
WO2011086992A1 (ja) * | 2010-01-12 | 2011-07-21 | 日本電信電話株式会社 | 代理計算システム、方法、依頼装置、プログラム及びその記録媒体 |
Non-Patent Citations (9)
Title |
---|
CSNG200400701001; 松本 勉,今井 秀樹: '"検算可能な依頼計算"' 電子情報通信学会技術研究報告 Vol.89,No.45, 19890519, p.21-28, 社団法人電子情報通信学会 * |
CSNJ201010083098; 山本 剛,小林 鉄太郎: '"準同型写像に対する自己訂正について"' 2010年 暗号と情報セキュリティシンポジウム SCIS2010 [CD-ROM] 2D2-3, 20100122, p.1-6, 電子情報通信学会情報セキュリティ研究専門委員会 * |
CSNJ201110015073; 山本 剛,小林 鉄太郎: '"暗号モジュールに対する自己訂正器"' 2011年 暗号と情報セキュリティシンポジウム SCIS2011 [CD-ROM] 2F1-1, 20110128, p.1-8, 電子情報通信学会情報セキュリティ研究専門委員会 * |
CSNJ201110015074; 川原 祐人,山本 剛,小林 鉄太郎,高木 剛: '"ペアリング暗号システムにおける自己訂正を用いた復号モジュールの構成および実装"' 2011年 暗号と情報セキュリティシンポジウム SCIS2011 [CD-ROM] 2F1-2, 20110128, p.1-8, 電子情報通信学会情報セキュリティ研究専門委員会 * |
JPN6014006996; 松本 勉,今井 秀樹: '"検算可能な依頼計算"' 電子情報通信学会技術研究報告 Vol.89,No.45, 19890519, p.21-28, 社団法人電子情報通信学会 * |
JPN6014006997; 山本 剛,小林 鉄太郎: '"準同型写像に対する自己訂正について"' 2010年 暗号と情報セキュリティシンポジウム SCIS2010 [CD-ROM] 2D2-3, 20100122, p.1-6, 電子情報通信学会情報セキュリティ研究専門委員会 * |
JPN6014006998; 川原 祐人,山本 剛,小林 鉄太郎,高木 剛: '"ペアリング暗号システムにおける自己訂正を用いた復号モジュールの構成および実装"' 2011年 暗号と情報セキュリティシンポジウム SCIS2011 [CD-ROM] 2F1-2, 20110128, p.1-8, 電子情報通信学会情報セキュリティ研究専門委員会 * |
JPN6014006999; 山本 剛,小林 鉄太郎: '"暗号モジュールに対する自己訂正器"' 2011年 暗号と情報セキュリティシンポジウム SCIS2011 [CD-ROM] 2F1-1, 20110128, p.1-8, 電子情報通信学会情報セキュリティ研究専門委員会 * |
JPN6014007000; Manuel Blim and Hal Wasserman: '"Reflections on the Pentium Division Bug"' IEEE TRANSACTIONS ON COMPUTERS VOL.45, NO.4, 199604, p.385-393 * |
Also Published As
Publication number | Publication date |
---|---|
EP2634760A1 (en) | 2013-09-04 |
CN103221988A (zh) | 2013-07-24 |
CN103221988B (zh) | 2016-08-03 |
US20130318360A1 (en) | 2013-11-28 |
JPWO2012057134A1 (ja) | 2014-05-12 |
US9794060B2 (en) | 2017-10-17 |
US20170111165A1 (en) | 2017-04-20 |
US9960906B2 (en) | 2018-05-01 |
US20170104582A1 (en) | 2017-04-13 |
EP2634760A4 (en) | 2017-01-11 |
US20170104583A1 (en) | 2017-04-13 |
US20170353296A1 (en) | 2017-12-07 |
US10361841B2 (en) | 2019-07-23 |
US9607158B2 (en) | 2017-03-28 |
WO2012057134A1 (ja) | 2012-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5491638B2 (ja) | 代理計算システム、計算装置、能力提供装置、代理計算方法、能力提供方法、プログラム、及び記録媒体 | |
JP5562284B2 (ja) | 再暗号化システム、再暗号化装置、能力提供装置、再暗号化方法、能力提供方法、及びプログラム | |
JP5466763B2 (ja) | 暗号化装置、復号装置、暗号化方法、復号方法、プログラム、及び記録媒体 | |
KR102423885B1 (ko) | 연산 에러 검출이 가능한 준동형 암호 방법 및 그 시스템 | |
KR101606317B1 (ko) | 암호 시스템, 암호 방법, 암호 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 및 복호 장치 | |
Jayapandian et al. | Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption | |
KR20130036044A (ko) | 비밀 분산 시스템, 분산 장치, 분산 관리 장치, 취득 장치, 비밀 분산 방법, 프로그램, 및 기록 매체 | |
JP2014138349A (ja) | 秘密分散システム、データ分散装置、分散データ保有装置、秘密分散方法、およびプログラム | |
JP5596616B2 (ja) | 情報提供システム、仲介装置、仲介方法、情報提供方法、及びプログラム | |
JP6006809B2 (ja) | 復号サービス提供装置、処理装置、安全性評価装置、プログラム、および記録媒体 | |
JP5596612B2 (ja) | 復号制御システム、および復号制御方法 | |
EP3675088B1 (en) | Share generating device, share converting device, secure computation system, share generation method, share conversion method, program, and recording medium | |
Mittal et al. | Preserving privacy in clouds using fully homomorphic encryption | |
Orsini et al. | Bootstrapping BGV ciphertexts with a wider choice of p and q | |
KR102593179B1 (ko) | 분산화된 키 발급을 지원하는 교집합 연산을 위한 효율적인 함수 암호 기술 | |
CN116318647B (zh) | 一种具有同态特性的cp-abe外包解密方法和装置 | |
JP5366755B2 (ja) | データ編集システム、書込み装置、読取装置及びデータ編集方法 | |
JP5964759B2 (ja) | 計算システム | |
RU2734324C1 (ru) | Способ формирования общего секретного ключа двух удаленных абонентов телекоммуникационной системы | |
Okunbor et al. | Homomorphic encryption: A survey | |
JP2010161527A (ja) | 暗号通信システム、端末装置、秘密鍵生成方法及びプログラム | |
Xia et al. | Attribute-based Encryption (ABE): Foundations and Applications Within Blockchain and Cloud Environments | |
JP5752751B2 (ja) | 復号システム、端末装置、署名システム、その方法、及びプログラム | |
Singh | FIFE: A Framework for Investigating Functional Encryption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20140218 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140227 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5491638 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |