JP2012220814A - 復号制御システム、復号能力提供装置、復号制御方法、復号能力提供方法、及びプログラム - Google Patents

復号制御システム、復号能力提供装置、復号制御方法、復号能力提供方法、及びプログラム Download PDF

Info

Publication number
JP2012220814A
JP2012220814A JP2011087995A JP2011087995A JP2012220814A JP 2012220814 A JP2012220814 A JP 2012220814A JP 2011087995 A JP2011087995 A JP 2011087995A JP 2011087995 A JP2011087995 A JP 2011087995A JP 2012220814 A JP2012220814 A JP 2012220814A
Authority
JP
Japan
Prior art keywords
decoding
output information
decryption
input information
output
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.)
Granted
Application number
JP2011087995A
Other languages
English (en)
Other versions
JP5596612B2 (ja
Inventor
Takeshi Yamamoto
剛 山本
Tetsutaro Kobayashi
鉄太郎 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2011087995A priority Critical patent/JP5596612B2/ja
Publication of JP2012220814A publication Critical patent/JP2012220814A/ja
Application granted granted Critical
Publication of JP5596612B2 publication Critical patent/JP5596612B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】復号装置の復号処理を制御する。
【解決手段】f(x)を暗号文x∈Hを復号鍵で復号して群Gの元を得る復号関数、x,xを確率変数X,Xの実現値、a,bを互いに素である自然数とし、復号装置が暗号文xに対応するτ,τを出力し、復号能力提供装置がτ,τを用い、或る確率より大きな確率でf(τ),f(τ)を正しく計算してz,zとし、復号装置がz,zから演算結果u=f(x),v=f(x)を生成し、u=vを満たす場合に、a’a+b’b=1を満たす整数a’,b’についてのub’a’を出力する。復号制御装置は復号装置の復号処理を制御する復号制御命令を復号能力提供装置に出力し、復号能力提供装置は復号制御命令に従って、第一出力情報z及び第二出力情報zの両方の出力の有無を制御する。
【選択図】図1

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の元を得るための復号関数、X,Xを群Gに値を持つ確率変数、xを確率変数Xの実現値、xを確率変数Xの実現値、a,bを互いに素である自然数として、復号装置が、暗号文xに対応する群Hの元である第一入力情報τ及び第二入力情報τを出力し、復号能力提供装置が、第一入力情報τを用い、或る確率より大きな確率でf(τ)を正しく計算し、演算結果を第一出力情報zとして出力可能であり、第二入力情報τを用い、或る確率より大きな確率でf(τ)を正しく計算し、演算結果を第二出力情報zとして出力可能であり、復号装置が、第一出力情報zから演算結果u=f(x)を生成し、第二出力情報zから演算結果v=f(x)を生成し、演算結果u及びvがu=vを満たす場合に、a’a+b’b=1を満たす整数a’,b’についてのub’a’を出力する。復号制御装置は、復号装置の復号処理を制御する復号制御命令を復号能力提供装置に出力し、復号能力提供装置は、復号制御命令に従って第一出力情報z及び第二出力情報zの両方の出力の有無を制御する。
第一出力情報z及び第二出力情報zが復号装置に与えられた場合、復号装置はある確率でub’a’を出力できる。ub’a’は高い確率で暗号文xの復号値となる。一方、第一出力情報z及び第二出力情報zの両方が復号装置に与えられなかった場合、復号装置は暗号文xの復号値を得ることができない。本発明では、復号能力提供装置による第一出力情報z及び第二出力情報zの両方の出力の有無を制御することで、復号装置に復号鍵を与えることなく、復号装置による暗号文の復号能力を制御できる。
実施形態の復号制御システムの構成を説明するためのブロック図。 実施形態の復号装置の構成を説明するためのブロック図。 実施形態の復号能力提供装置の構成を説明するためのブロック図。 実施形態の復号制御装置の構成を説明するためのブロック図。 実施形態の入力情報提供部の構成を説明するためのブロック図。 実施形態の入力情報提供部の構成を説明するためのブロック図。 実施形態の復号装置の処理を説明するためのフローチャート。 実施形態の復号能力提供装置の処理を説明するためのフローチャート。 ステップS2103(S3103)の処理を説明するためのフローチャート。 ステップS4103の処理を説明するためのフローチャート。 実施形態の復号装置の構成を説明するためのブロック図。 実施形態の復号装置の処理を説明するためのフローチャート。
以下、図面を参照して本発明の実施形態を説明する。
[第一実施形態]
まず、本発明の第一実施形態を説明する。
<構成>
図1に例示するように、第一実施形態の復号制御システム1は、例えば、復号鍵を保持していない復号装置11と復号鍵を保持する復号能力提供装置12と復号装置11の復号能力を制御する復号制御装置13とを有する。復号制御装置13は復号能力提供装置12から復号装置11へ提供される復号能力を制御し、復号装置11は復号能力提供装置12から提供された復号能力を用いて暗号文を復号する。復号装置11と復号能力提供装置12と復号制御装置13とは情報のやり取りが可能なように構成される。例えば、復号装置11と復号能力提供装置12と復号制御装置13とは、伝送線やネットワークや可搬型記録媒体などを経由した情報のやり取りが可能とされている。
図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を備えた公知又は専用のコンピュータなどである。
図4に例示するように、第一実施形態の復号制御装置13は、例えば、暗号文記憶部1301と制御命令部1302と出力部1303と制御部1304とを有する。復号制御装置13の例は、携帯電話などの計算機能と記憶機能とを備えた機器や、特別なプログラムが読み込まれたCPUやRAMを備えた公知又は専用のコンピュータなどである。
<復号処理>
次に本形態の復号処理を説明する。復号処理の前提として、G,Hを巡回群、f(x)を群Hの元である暗号文xを特定の復号鍵sで復号して群Gの元を得るための復号関数、群G,Hの生成元をそれぞれμ,μ、X,Xを群Gに値を持つ確率変数、確率変数Xの実現値をx、確率変数Xの実現値をxとする。また、復号装置11の自然数記憶部1101には、互いに素である2つの自然数a,bの組(a,b)が複数種類記憶されているものとする。「自然数」とは0以上の整数を意味する。Iを群Gの位数未満の2つの自然数の組で互いに素なものの集合とすると、自然数記憶部1101にはIの部分集合Sに対応する自然数a,bの組(a,b)が記憶されていると考えることができる。また、復号能力提供装置12の鍵記憶部2104には、特定の復号鍵sが安全に格納されているものとする。また、復号制御装置13の暗号文記憶部1301には暗号文xが格納されているものとする。なお、復号装置11の各処理は制御部1113の制御のもとで実行され、復号能力提供装置12の各処理は制御部1205の制御のもとで実行され、復号制御装置13の各処理は制御部1304の制御のもとで実行される。
図7に例示するように、まず、復号装置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’が計算され、自然数の組(a’,b’)の情報は、最終出力部1112に送られる(ステップS1101)。
制御部1113は、t=1とする(ステップS1102)。
復号制御装置13(図4)の暗号文記憶部1301に格納されている暗号文xが出力部1303から出力され、復号装置11(図2)に入力される。復号装置11の入力情報提供部1104は、入力された暗号文xにそれぞれ対応する群Hの元である第一入力情報τ及び第二入力情報τを生成して出力する。好ましくは、第一入力情報τ及び第二入力情報τはそれぞれ暗号文xとの関係をかく乱させた情報である。これにより、復号装置11は、暗号文xを復号能力提供装置12に対して隠蔽できる。また、好ましくは、本形態の第一入力情報τは自然数選択部1102で選択された自然数bにさらに対応し、第二入力情報τは自然数選択部1102で選択された自然数aにさらに対応する。これにより、復号能力提供装置12から提供された復号能力を復号装置11が高い精度で評価できる(ステップS1103)。
図8に例示するように、第一入力情報τは復号能力提供装置12(図3)の第一出力情報計算部1201に入力され、第二入力情報τは第二出力情報計算部1202に入力される(ステップS1200)。
第一出力情報計算部1201は、第一入力情報τと鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた計算結果を第一出力情報zとする(ステップS1201)。第二出力情報計算部1202は、第二入力情報τと鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第二出力情報zとする(ステップS1202)。なお、「或る確率」は100%未満の確率である。「或る確率」の例は無視することができない確率であり、「無視することができない確率」の例は、セキュリティパラメータkについての広義単調増加関数である多項式を多項式ψ(k)とした場合の1/ψ(k)以上の確率である。すなわち、第一出力情報計算部1201や第二出力情報計算部1202は、意図的又は意図的ではない誤差を含んだ計算結果を出力し得る。言い換えると、第一出力情報計算部1201での計算結果がf(τ)の場合もあればf(τ)でない場合もあり、第二出力情報計算部1202での計算結果がf(τ)の場合もあればf(τ)でない場合もある。
第一出力情報計算部1201は第一出力情報zを出力し、第二出力情報計算部1202は第二出力情報zを出力する(ステップS1203)。
図7に戻り、第一出力情報zは復号装置11(図2)の第一計算部1105に入力され、第二出力情報zは第二計算部1108に入力される。これらの第一出力情報z及び第二出力情報zが、復号能力提供装置12から復号装置11に与えられた復号能力に相当する(ステップS1104)。
第一計算部1105は、第一出力情報zから演算結果u=f(x)を生成する。ここで、f(x)を生成(計算)するとは、f(x)と定義される式の値を計算することである。式f(x)の値を最終的に計算することができれば、途中の計算方法は問わない。これは、この出願で登場する他の式の計算についても同様である。演算結果uは第一べき乗計算部1106に送られる(ステップS1105)。
第一べき乗計算部1106はu’=uを計算する。計算結果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が、第二出力情報zから演算結果v=f(x)を生成する。演算結果vは第二べき乗計算部1109に送られる(ステップS1108)。
第二べき乗計算部1109はv’=vを計算する。計算結果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=Tであるか判定する(ステップS1111)。Tは予め定められた1以上の自然数である。t=Tであれば、最終出力部1112が、計算をすることができなかった旨の情報、例えば記号「⊥」を出力して(ステップS1113)、処理を終える。t=Tでない場合には、制御部1113は、tを1だけインクリメント、すなわちt=t+1(t+1を新たなt)として(ステップS1112)、ステップS1103に戻る。
計算をすることができなかった旨の情報(この例では記号「⊥」)は、復号能力提供装置12が正しく計算を行う信頼性がTで定められる基準を下回るということを意味する。言い換えれば、T回の繰り返しで正しい演算を行うことができなかったということを意味する。
ステップS1114では、最終出力部1112が、u’=v’であると判定されたu’及びv’に対応するu及びvを用いてub’a’を計算して、出力する(ステップS1114)。このように計算されたub’a’は高い確率で暗号文xを特定の復号鍵sで復号した復号結果f(x)となる(高い確率でub’a’=f(x)となる理由については後述する)。よって、上述した処理を複数回繰り返し、ステップS1114で得られた値のうち最も頻度の高い値を復号結果とすればよい。また、後述するように、設定によっては圧倒的な確率でub’a’=f(x)となる。その場合にはステップS1114で得られた値をそのまま復号結果としてよい。
≪高い確率でub’a’=f(x)となる理由について≫
Xを群Gに値を持つ確率変数とする。w∈Gについて、要求を受けるたびに確率変数Xに従った標本x’に対応するwx’を返すものを、wについて誤差Xを持つ標本器(sampler)と呼ぶ。
w∈Gについて、自然数aが与えられるたびに確率変数Xに従った標本x’に対応するwx’を返すものを、wについて誤差Xを持つ乱数化可能標本器(randomizable sampler)と呼ぶ。乱数化可能標本器はa=1として用いられれば標本器として機能する。
本実施形態の入力情報提供部1104と第一出力情報計算部1201と第一計算部1105との組み合わせが、f(x)について誤差Xを持つ乱数化可能標本器(「第一乱数化可能標本器」と呼ぶ)であり、入力情報提供部1104と第二出力情報計算部1202と第二計算部1108との組み合わせが、f(x)について誤差Xを持つ乱数化可能標本器(「第二乱数化可能標本器」と呼ぶ)である。
u’=v’が成立するのは、すなわちu=vが成立するのは、第一乱数化可能標本器がu=f(x)を正しく計算しており、第二乱数化可能標本器がv=f(x)を正しく計算している(x及びxが群Gの単位元eである)可能性が高いことを発明者は見出した。説明の簡略化の観点から、この証明は第五実施形態で行う。
第一乱数化可能標本器がu=f(x)を正しく計算しており、第二乱数化可能標本器がv=f(x)を正しく計算しているとき(x及びxが群Gの単位元eであるとき)、ub’a’=(f(x)b’(f(x)a’=(f(x)b’(f(x)a’=f(x)bb’ b’f(x)aa’ a’=f(x)(bb’+aa’)=f(x)となる。
また、(q,q)∈Iについて、i=1,2の各々について関数πをπ(q,q)=qで定義する。さらに、L=min(♯π(S),♯π(S))とする。♯・は、集合・の位数である。群Gが巡回群や位数の計算が困難な群であるときには、復号装置11が「⊥」以外を出力するときの出力がf(x)ではない確率は、無視できる程度の誤差の範囲で高々TL/♯S程度と期待することができる。もしL/♯Sが無視できる量でTが多項式オーダー程度の量であれば、復号装置11は圧倒的な確率で正しいf(x)を出力する。L/♯Sが無視できる量になるようなSの例には、例えばS={(1,d)|d∈[2,|G|−1]}がある。
<復号制御処理>
次に、本形態の復号制御処理を説明する。
復号制御装置13が復号装置11の復号処理を制御する場合、復号制御装置13は、復号装置11の復号処理を制御する復号制御命令を復号能力提供装置12に出力する。復号能力提供装置12は、入力された復号制御命令に従って、第一出力情報z及び第二出力情報zの両方の出力の有無を制御する。復号装置11は、第一出力情報z及び第二出力情報zが与えられなければ暗号文xを復号することができない。そのため、第一出力情報z及び第二出力情報zの両方の出力の有無を制御することで、復号装置11の復号能力を制御できる。以下に復号処理の制御方法を例示する。
≪復号処理の制御方法の例1≫
復号処理の制御方法の例1では、復号制御命令が復号装置11の復号能力を制限するための復号制限命令com−1を含み、復号制限命令com−1が復号能力提供装置12の制御部1205に入力された場合に制御部1205が第一出力情報z及び第二出力情報zの両方の出力を禁止する。
復号装置11の復号能力を制限する場合、復号制御装置13(図4)の制御命令部1302が復号制限命令com−1を出力する。復号制限命令com−1は出力部1303から復号能力提供装置12に出力される。
復号能力提供装置12(図3)の制御部1205は、復号制限命令com−1が入力されたか否かを判断し、復号制限命令com−1が制御部1205に入力されない場合には復号制御処理を行わない。一方、復号制限命令com−1が制御部1205に入力された場合には、制御部1205は第一出力情報z及び第二出力情報zの両方の出力を禁止する制御を行う(復号制限モード)。
復号制限モードでは、制御部1205が第一出力情報計算部1201による第一出力情報zの出力及び第二出力情報計算部1201による第二出力情報zの出力の両方を禁止する。第一出力情報z及び/又は第二出力情報zの出力を禁止する制御の一例は、第一出力情報z及び/又は第二出力情報zの生成は禁止しないがこれらの出力を禁止する制御である。第一出力情報z及び/又は第二出力情報zの出力を禁止する制御の他の例は、第一出力情報z及び/又は第二出力情報zの代わりにダミー情報を出力させる制御である。なお、ダミー情報の例は、乱数その他の暗号文xに依存しない情報である。第一出力情報z及び/又は第二出力情報zの出力を禁止する制御の別の例は、第一出力情報z及び/又は第二出力情報zの生成自体を禁止する制御である。第一出力情報z及び/又は第二出力情報zの生成自体を禁止する制御を行う場合には、第一出力情報z及び/又は第二出力情報zの生成を行うために必要な情報を無効又は削除してもよいし、しなくてもよい。例えば、鍵記憶部1204に格納された復号鍵sを無効又は削除してもよいし、しなくてもよい。
第一出力情報z及び第二出力情報zの両方の出力が禁止された場合、復号能力提供装置12はステップS1203で第一出力情報z及び第二出力情報zの両方を出力しない。そのため、復号装置11はステップS1104で第一出力情報z及び第二出力情報zの両方を取得できず、演算結果u及びvを計算できないため、正しい復号結果を得ることができない。これにより、復号装置11の復号能力を制限できる。
≪復号処理の制御方法の例2≫
復号処理の制御方法の例2では、復号制御命令が復号装置11の復号能力の制限を開放するための復号開放命令com−2を含み、復号開放命令com−2が復号能力提供装置12の制御部1205に入力された場合、制御部1205は第一出力情報z及び第二出力情報zの少なくとも一方の出力を許可する。復号処理の制御方法の例2は、例えば、復号処理の制御方法の例1によって第一出力情報z及び第二出力情報zの両方の出力が禁止された後、再び、第一出力情報z及び第二出力情報zの出力を許可する場合に行われる。この際、第一出力情報z及び/又は第二出力情報zの生成を行うために必要な情報が無効又は削除されていた場合には、復号開放命令com−2が当該情報を含み、当該情報を復号能力提供装置12に再設定することにしてもよい。その他、復号処理の制御方法の例2は、例えば、初期状態において第一出力情報z及び第二出力情報zの両方の出力が禁止されている場合に、第一出力情報z及び第二出力情報zの出力を許可する場合に行われてもよい。
復号装置11の復号能力の制限を開放する場合、復号制御装置13(図4)の制御命令部1302が復号開放命令com−2を出力する。復号制限命令com−2は出力部1303から復号能力提供装置12に出力される。
復号能力提供装置12(図3)の制御部1205は、復号開放命令com−2が入力されたか否かを判断し、復号開放命令com−2が制御部1205に入力されていない場合には復号制御処理を行わない。一方、復号開放命令com−2が制御部1205に入力された場合には、制御部1205は第一出力情報z及び第二出力情報zの両方の出力を許可する制御を行う(復号許可モード)。
第一出力情報z及び第二出力情報zの両方の出力が許可された場合、復号能力提供装置12はステップS1203で第一出力情報z又は第二出力情報zの両方を出力する。そのため、復号装置11はステップS1104で第一出力情報z又は第二出力情報zの両方を取得でき、演算結果u又はvを計算できるため、高い確率で復号結果を得ることができる。これにより、復号装置11の復号能力の制限を開放することができる。
[第二実施形態]
第二実施形態の復号制御システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した例である。以下、第一実施形態と異なる部分を中心に説明し、復号制御処理などの共通する部分については重複説明を省略する。以下の説明において、同一の参照番号が付された部分は同一の機能を持つものとし、同一の参照番号が付されたステップは同一の処理を表すものとする。
<構成>
図1に例示するように、第二実施形態の復号制御システム2は、復号装置11が復号装置21に置換され、復号能力提供装置12が復号能力提供装置22に置換されたものである。
図2に例示するように、第二実施形態の復号装置21は、例えば、自然数記憶部1101と自然数選択部1102と整数計算部1103と入力情報提供部2104と第一計算部2105と第一べき乗計算部1106と第一リスト記憶部1107と第二計算部2108と第二べき乗計算部1109と第二リスト記憶部1110と判定部1111と最終出力部1112と制御部1113とを有する。図5に例示するように、本形態の入力情報提供部2104は、例えば、第一乱数生成部2104aと第一入力情報計算部2104bと第二乱数生成部2104cと第二入力情報計算部2104dとを有する。
図3に例示するように、第二実施形態の復号能力提供装置22は、例えば、第一出力情報計算部2201と第二出力情報計算部2202と鍵記憶部1204と制御部1205とを有する。
<復号処理>
次に本形態の復号処理を説明する。第二実施形態では、復号関数f(x)を準同型関数とし、群Hの生成元をμ、群Hの位数をK、ν=f(μ)とする。復号関数f(x)が準同型関数である例はRSA暗号などである。その他の前提は、復号装置11が復号装置21に置換され、復号能力提供装置12が復号能力提供装置22に置換されている以外、第一実施形態と同一である。
図7及び図8に例示するように、第二実施形態の処理は第一実施形態のステップS1103〜S1105,S1108,S1200〜S1203が、それぞれ、ステップS2103〜S2105,S2108,S2200〜S2203に置換されたものである。以下ではステップS2103〜S2105,S2108,S2200〜S2203の処理のみを説明する。
《ステップS2103の処理》
復号装置21(図2)の入力情報提供部2104は、入力された暗号文xにそれぞれ対応する第一入力情報τ及び第二入力情報τを生成して出力する(図7/ステップS2103)。以下、図9を用いて本形態のステップS2103の処理を説明する。
第一乱数生成部2104a(図5)は、0以上K未満の自然数の一様乱数rを生成する。生成された乱数rは、第一入力情報計算部2104b及び第一計算部2105に送られる(ステップS2103a)。第一入力情報計算部2104bは、入力された乱数rと暗号文xと自然数bとを用いて第一入力情報τ=μ r1を計算する(ステップS2103b)。ここで、μの右肩のr1は、rのことである。このように、この出願において、αを第一の文字、βを第二の文字、γを数字として、αβγと表記した場合には、そのβγはβγ、すなわちβの下付きγを意味する。
第二乱数生成部2104cは、0以上K未満の自然数の一様乱数rを生成する。生成された乱数rは、第二入力情報計算部2104d及び第二計算部2108に送られる(ステップS2103c)。第二入力情報計算部2104dは、入力された乱数rと暗号文xと自然数aとを用いて第二入力情報τ=μ r2を計算する(ステップS2103d)。
第一入力情報計算部2104b及び第二入力情報計算部2104dは、以上のように生成した第一入力情報τ及び第二入力情報τを出力する(ステップS2103e)。なお、本形態の第一入力情報τ及び第二入力情報τは、それぞれ、乱数r,rによって暗号文xとの関係をかく乱させた情報である。これにより、復号装置22は、暗号文xを復号能力提供装置22に対して隠蔽できる。また、本形態の第一入力情報τは自然数選択部1102で選択された自然数bにさらに対応し、第二入力情報τは自然数選択部1102で選択された自然数aにさらに対応する。これにより、復号能力提供装置22から提供された復号能力を復号装置21が高い精度で評価できる。
《ステップS2200〜S2203の処理》
図8に例示するように、まず、第一入力情報τ=μ r1が復号能力提供装置22(図3)の第一出力情報計算部2201に入力され、第二入力情報τ=μ r2が第二出力情報計算部2202に入力される(ステップS2200)。
第一出力情報計算部2201は、第一入力情報τ=μ r1と鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(μ r1)を正しく計算し、得られた計算結果を第一出力情報zとする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第一出力情報計算部2201での計算結果がf(μ r1)となる場合もあれば、f(μ r1)とならない場合もある(ステップS2201)。
第二出力情報計算部2202は、第二入力情報τ=μ r2と鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(μ r2)を正しく計算し、得られた計算結果を第二出力情報zとする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第二出力情報計算部2202での計算結果がf(μ r2)となる場合もあれば、f(μ r2)とならない場合もある(ステップS2202)。
第一出力情報計算部2201は第一出力情報zを出力し、第二出力情報計算部2202は第二出力情報zを出力する(ステップS2203)。
《ステップS2104及びS2105の処理》
図7に戻り、第一出力情報zは復号装置21(図2)の第一計算部2105に入力され、第二出力情報zは第二計算部2108に入力される。これらの第一出力情報z及び第二出力情報zが、復号能力提供装置22から復号装置21に与えられた復号能力に相当する(ステップS2104)。
第一計算部2105は、入力された乱数r及び第一出力情報zを用いてzν−r1を計算してその計算結果をuとする。計算結果uは、第一べき乗計算部1106に送られる。ここで、u=zν−r1=f(x)となる。すなわち、zν−r1は、f(x)について誤差Xを持つ乱数化可能標本器の出力となる。その理由については後述する(ステップS2105)。
《ステップS2108の処理》
第二計算部2108は、入力された乱数r及び第二出力情報zを用いてzν−r2を計算してその計算結果をvとする。計算結果vは、第二べき乗計算部1109に送られる。ここで、v=zν−r2=f(x)となる。すなわち、zν−r2は、f(x)について誤差Xを持つ乱数化可能標本器の出力となる。その理由については後述する(ステップS2108)。
≪zν−r1,zν−r2がf(x)についてそれぞれ誤差X,Xを持つ乱数化可能標本器の出力となる理由について≫
cを自然数、R及びR’を乱数として、復号能力提供装置22がμ を用いて行う計算の計算結果をB(μ )とする。すなわち、第一出力情報計算部2201や第二出力情報計算部2202が復号装置21に返す計算結果をz=B(μ )とする。さらに、群Gに値を持つ確率変数XをX=B(μ R’)f(μ R’−1と定義する。
このとき、zν−R=B(μ )f(μ−R=Xf(μ )f(μ−R=Xf(μf(x)f(μ−R=f(x)Xとなる。すなわち、zν−Rは、f(x)について誤差Xを持つ乱数化可能標本器の出力となる。
上記式展開において、X=B(μ R’)f(μ R’−1=B(μ )f(μ −1であり、B(μ )=Xf(μ )であるという性質を用いている。この性質は、関数f(x)が準同型関数であり、R及びR’が乱数であることに基づく。
したがって、a,bが自然数、r,rが乱数であることを考慮すると、同様に、zν−r1,zν−r2がf(x)についてそれぞれ誤差X,Xを持つ乱数化可能標本器の出力となるのである。
[第三実施形態]
第三実施形態は第二実施形態の変形例であり、a=1やb=1のときに前述した標本器によってu又はvの値を計算する。一般に乱数化可能標本器よりも標本器の計算量は小さい。a=1やb=1のときに乱数化可能標本器に代わり、標本器が計算を行うことで、復号制御システムの計算量を小さくすることができる。以下、第一実施形態及び第二実施形態と異なる部分を中心に説明し、復号制御処理などの共通する部分については重複説明を省略する。
<構成>
図1に例示するように、第三実施形態の復号制御システム3は、復号装置21が復号装置31に置換され、復号能力提供装置22が復号能力提供装置32に置換されたものである。
図2に例示するように、第三実施形態の復号装置31は、例えば、自然数記憶部1101と自然数選択部1102と整数計算部1103と入力情報提供部2104と第一計算部2105と第一べき乗計算部1106と第一リスト記憶部1107と第二計算部2108と第二べき乗計算部1109と第二リスト記憶部1110と判定部1111と最終出力部1112と制御部1113と第三計算部3109とを有する。
図3に例示するように、第三実施形態の復号能力提供装置32は、例えば、第一出力情報計算部2201と第二出力情報計算部2202と鍵記憶部1204と制御部1205と第三出力情報計算部3203とを有する。
<復号処理>
次に本形態の復号処理を説明する。第二実施形態との相違点を説明する。
図7及び図8に例示するように、第三実施形態の処理は第二実施形態のステップS2103〜S2105,S2108,S2200〜S2203が、それぞれ、ステップS3103〜S3105,S3108,S2200〜S2203及びS3205〜S3209に置換されたものである。以下ではステップS3103〜S3105,S3108,S2200〜S2203及びS3205〜S3209の処理を中心に説明する。
《ステップS3103の処理》
復号装置31(図2)の入力情報提供部3104は、入力された暗号文xにそれぞれ対応する第一入力情報τ及び第二入力情報τを生成して出力する(図7/ステップS3103)。
以下、図9を用いて本形態のステップS3103の処理を説明する。
制御部1113(図2)は、自然数選択部1102で選択された自然数(a,b)に応じて入力情報提供部3104を制御する。
制御部1113でbが1であるかが判定され(ステップS3103a)、b≠1であると判定された場合、前述のステップS2103a及びS2103bの処理が実行され、ステップS3103gに進む。
一方、ステップS3103aでb=1であると判定された場合、第三乱数生成部3104eが、0以上K未満の自然数の乱数rを生成する。生成された乱数rは第三入力情報計算部3104f及び第三計算部3109に送られる(ステップS3103b)。第三入力情報計算部3104fは、入力された乱数rと暗号文xとを用いてxr3を計算し、これを第一入力情報τとする(ステップS3103c)。その後、ステップS3103gに進む。
ステップS3103gでは、制御部1113でaが1であるかが判定され(ステップS3103g)、a≠1であると判定された場合、前述のステップS2103c及びステップS2103dの処理が実行される。
一方、ステップS3103gでa=1であると判定された場合、第三乱数生成部3104eが、0以上K未満の自然数の乱数rを生成する。生成された乱数rは第三入力情報計算部3104fに送られる(ステップS3103h)。第三入力情報計算部3104fは、入力された乱数rと暗号文xとを用いてxr3を計算し、これを第二入力情報τとする(ステップS3103i)。
第一入力情報計算部2104b、第二入力情報計算部2104d、第三入力情報計算部3104fは、以上のように生成した第一入力情報τ及び第二入力情報τを対応する自然数(a,b)の情報とともに出力する(ステップS3103e)。なお、本形態の第一入力情報τ及び第二入力情報τは、それぞれ、乱数r,r,rによって暗号文xとの関係をかく乱させた情報である。これにより、復号装置31は、暗号文xを復号能力提供装置32に対して隠蔽できる。
《S2200〜S2203及びS3205〜S3209の処理》
以下、図8を用いて本形態のS2200〜S2203及びS3205〜S3209の処理を説明する。
制御部1205(図3)は、入力された自然数(a,b)に応じ、第一出力情報計算部2201、第二出力情報計算部2202、及び第三出力情報計算部3203を制御する。
制御部1205の制御に基づき、b≠1の場合の第一入力情報τ=μ r1は復号能力提供装置32(図3)の第一出力情報計算部2201に入力され、a≠1の場合の第二入力情報τ=μ r2は第二出力情報計算部2202に入力される。また、b=1の場合の第一入力情報τ=xr3やa=1の場合の第二入力情報τ=xr3は第三出力情報計算部3203に入力される(ステップS3200)。
制御部1113でbが1であるかが判定され(ステップS3205)、b≠1であると判定された場合、前述のステップS2201の処理が実行される。その後、制御部1113でaが1であるかが判定され(ステップS3208)、a≠1であると判定された場合、前述したステップS2202の処理が実行されてステップS3203に進む。
一方、ステップS3208でa=1であると判定された場合、第三出力情報計算部3203は、第二入力情報τ=xr3を用い、或る確率より大きな確率でf(xr3)を正しく計算し、得られた計算結果を第三出力情報zとする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第三出力情報計算部3203での計算結果がf(xr3)となる場合もあれば、f(xr3)とならない場合もある(ステップS3209)。その後、ステップS3203に進む。
また、ステップS3205でb=1であると判定された場合、第三出力情報計算部3203は、第二入力情報τ=xr3を用い、或る確率より大きな確率でf(xr3)を正しく計算し、得られた計算結果を第三出力情報zとする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第三出力情報計算部3203での計算結果がf(xr3)となる場合もあれば、f(xr3)とならない場合もある(ステップS3206)。
その後、制御部1113でaが1であるかが判定され(ステップS3207)、a=1であると判定された場合にはステップS3203に進み、a≠1であると判定された場合にはステップS2202に進む。
ステップS3203では、第一出力情報zを生成した第一出力情報計算部2201は第一出力情報zを出力し、第二出力情報zを生成した第二出力情報計算部2202は第二出力情報zを出力し、第三出力情報zを生成した第三出力情報計算部2202は第三出力情報zを出力する(ステップS3203)。
《ステップS3104及びS3105の処理》
図7に戻り、制御部1113の制御のもと、第一出力情報zは復号装置31(図2)の第一計算部2105に入力され、第二出力情報zは第二計算部2108に入力され、第三出力情報zは第三計算部3109に入力される(ステップS3104)。
b≠1であれば、第一計算部2105が、前述のステップS2105の処理によってuを生成し、b=1であれば、第三計算部3109が、z 1/r3を計算してその計算結果をuとする。計算結果uは第一べき乗計算部1106に送られる。ここで、b=1の場合、u=z 1/r3=f(x)xとなる。すなわち、z 1/r3は、f(x)について誤差Xを持つ標本器となる。その理由については後述する(ステップS3105)。
《ステップS3108の処理》
a≠1であれば、第二計算部2108が、前述のステップS2108の処理によってvを生成し、a=1であれば、第三計算部3109が、z 1/r3を計算してその計算結果をvとする。計算結果vは第二べき乗計算部1109に送られる。ここで、a=1の場合、v=z 1/r3=f(x)xとなる。すなわち、z 1/r3は、f(x)について誤差Xを持つ標本器となる。その理由については後述する(ステップS3108)。
なお、z 1/r3の計算、すなわちzのべき乗根の計算が困難な場合には、次のようにしてu及び/又はvを計算してもよい。第三計算部3109は、乱数rとその乱数rに基づいて計算されたzの組を順次(α,β),(α,β),…,(α,β),…として図示していない記憶部に記憶する。mは1以上の自然数である。第三計算部3109は、α,α,…,αの最小公倍数が1になれば、γ,γ,…,γを整数としてγα+γα+…+γα=1となるγ,γ,…,γを計算して、そのγ,γ,…,γを用いてΠi=1 β γi=β γ1β γ2…β γmを計算して、その計算結果をu及び/又はvとしてもよい。
≪z 1/r3がf(x)について誤差Xを持つ標本器となる理由について≫
Rを乱数として、復号能力提供装置32がxを用いて行う計算の計算結果をB(x)とする。すなわち、第一出力情報計算部2201や第二出力情報計算部2202や第三出力情報計算部3203が復号装置31に返す計算結果をz=B(x)とする。さらに、群Gに値を持つ確率変数XをX=B(x1/Rf(x)−1と定義する。
このとき、z1/R=B(x1/R=Xf(x)=f(x)Xとなる。すなわち、z1/Rは、f(x)について誤差Xを持つ標本器となる。
上記式展開において、X=B(x1/Rf(x−1であり、B(x1/R=Xf(x)であるという性質を用いている。この性質は、Rが乱数であることに基づく。
したがって、rが乱数であることを考慮すると、同様に、z 1/r3がf(x)について誤差Xを持つ標本器となるのである。
[第四実施形態]
第四実施形態の復号制御システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した他の例である。具体的には、H=G×G、復号関数f(x)がElGamal暗号の復号関数、すなわち復号鍵s及び暗号文x=(c,c)に対してf(c,c)=c −sである場合の第一乱数化可能標本器及び第二乱数化可能標本器の例を具体化したものである。以下、第一実施形態と異なる部分を中心に説明し、復号制御処理などの共通する部分については重複説明を省略する。
図1に例示するように、第四実施形態の復号制御システム4は、復号装置11が復号装置41に置換され、復号能力提供装置12が復号能力提供装置42に置換されたものである。
図2に例示するように、第四実施形態の復号装置41は、例えば、自然数記憶部1101と自然数選択部1102と整数計算部1103と入力情報提供部4104と第一計算部4105と第一べき乗計算部1106と第一リスト記憶部1107と第二計算部4108と第二べき乗計算部1109と第二リスト記憶部1110と判定部1111と最終出力部1112と制御部1113とを有する。図6に例示するように、本形態の入力情報提供部4104は、例えば、第四乱数生成部4104aと第五乱数生成部4104bと第一入力情報計算部4104cと第六乱数生成部4104dと第七乱数生成部4104eと第二入力情報計算部4104fとを有する。第一入力情報計算部4104cは、例えば、第四入力情報計算部4104caと第五入力情報計算部4104cbとを有し、第二入力情報計算部4104fは、第六入力情報計算部4104faと第七入力情報計算部4104fbとを有する。
図3に例示するように、第四実施形態の復号能力提供装置42は、例えば、第一出力情報計算部4201と第二出力情報計算部4202と鍵記憶部1204と制御部1205とを有する。
<復号処理>
次に本形態の復号処理を説明する。第四実施形態では、群H=G×G、暗号文x=(c,c)∈Hであり、f(c,c)が準同型関数であり、群Gの生成元をμとし、群Gの位数をKとし、同じ復号鍵sに対する暗号文(V,W)∈Hとその暗号文を復号した復号文f(V,W)=Y∈Gとの組が復号装置41及び復号能力提供装置42に事前設定され、復号装置41及び復号能力提供装置42がこの組を利用可能とされているものとする。
図7及び図8に例示するように、第四実施形態の処理は第一実施形態のステップS1103〜S1105,S1108,S1200〜S1203が、それぞれ、ステップS4103〜S4105,S4108,S4200〜S4203に置換されたものである。以下ではステップS4103〜S4105,S4108,S4200〜S4203の処理のみを説明する。
《ステップS4103の処理》
復号装置41(図2)の入力情報提供部4104は、入力された暗号文x=(c,c)に対応する第一入力情報τ及び暗号文x=(c,c)に対応する第二入力情報τを生成して出力する(図7/ステップS4103)。以下、図10を用いて本形態のステップS4103の処理を説明する。
第四乱数生成部4104a(図6)は、0以上K未満の自然数の一様乱数rを生成する。生成された乱数rは、第四入力情報計算部4104ca、第五入力情報計算部4104cb、及び第一計算部4105に送られる(ステップS4103a)。第五乱数生成部4104bは、0以上K未満の自然数の一様乱数rを生成する。生成された乱数rは、第五入力情報計算部4104cb、及び第一計算部4105に送られる(ステップS4103b)。
第四入力情報計算部4104caは、自然数選択部1102で選択された自然数b、暗号文xが含むc、及び乱数rを用い、第四入力情報c r4を計算する(ステップS4103c)。第五入力情報計算部4104cbは、自然数選択部1102で選択された自然数b、暗号文xが含むc、及び乱数r,rを用い、第五入力情報c r4μ r5を計算する(ステップS4103d)。
第六乱数生成部4104dは、0以上K未満の自然数の一様乱数rを生成する。生成された乱数rは、第六入力情報計算部4104fa、第七入力情報計算部4104fb、及び第二計算部4108に送られる(ステップS4103e)。第七乱数生成部4104eは、0以上K未満の自然数の一様乱数rを生成する。生成された乱数rは、第七入力情報計算部4104fb、及び第二計算部4108に送られる(ステップS4103f)。
第六入力情報計算部4104faは、自然数選択部1102で選択された自然数a、暗号文xが含むc、及び乱数rを用い、第六入力情報c r6を計算する(ステップS4103g)。第七入力情報計算部4104fbは、自然数選択部1102で選択された自然数a、暗号文xが含むc、及び乱数r,rを用い、第七入力情報c r6μ r7を計算する(ステップS4103h)。
第一入力情報計算部4104cは、以上のように生成した第四入力情報c r4及び第五入力情報c r4μ r5を第一入力情報τ=(c r4,c r4μ r5)として出力する。第二入力情報計算部4104fは、以上のように生成した第六入力情報c r6及び第七入力情報c r6μ r7を第二入力情報τ=(c r6,c r6μ r7)として出力する(ステップS4103i)。
《ステップS4200〜S4203の処理》
図8に例示するように、まず、第一入力情報τ=(c r4,c r4μ r5)が復号能力提供装置42(図3)の第一出力情報計算部4201に入力され、第二入力情報τ=(c r6,c r6μ r7)が第二出力情報計算部4202に入力される(ステップS4200)。
第一出力情報計算部4201は、第一入力情報τ=(c r4,c r4μ r5)と鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(c r4μ r5,c r4)を正しく計算し、計算結果を第一出力情報zとする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第一出力情報計算部4201での計算結果がf(c r4μ r5,c r4)となる場合もあれば、f(c r4μ r5,c r4)とならない場合もある(ステップS4201)。
第二出力情報計算部4202は、第二入力情報τ=(c r6,c r6μ r7)と鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(c r6μ r7,c r6)を正しく計算可能であり、得られた計算結果を第二出力情報zとする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第二出力情報計算部4202での計算結果がf(c r6μ r7,c r6)となる場合もあれば、f(c r6μ r7,c r6)とならない場合もある(ステップS4202)。
第一出力情報計算部4201は第一出力情報zを出力し、第二出力情報計算部4202は第二出力情報zを出力する(ステップS4203)。
《ステップS4104及びS4105の処理》
図7に戻り、第一出力情報zは復号装置41(図2)の第一計算部4105に入力され、第二出力情報zは第二計算部4108に入力される(ステップS4104)。
第一計算部4105は、入力された第一出力情報z及び乱数r,rを用い、z−r4μ −r5を計算してその計算結果をuとする(ステップS4105)。計算結果uは、第一べき乗計算部1106に送られる。ここで、u=z−r4μ −r5=f(c,cとなる。すなわち、z−r4μ −r5は、f(c,c)について誤差Xを持つ乱数化可能標本器の出力となる。その理由については後述する。
《ステップS4108の処理》
第二計算部4108は、入力された第二出力情報z及び乱数r,rを用い、z−r6μ −r7を計算してその計算結果をvとする。計算結果vは、第二べき乗計算部1109に送られる。ここで、v=z−r6μ −r7=f(c,cとなる。すなわち、z−r6μ −r7は、f(c,c)について誤差Xを持つ乱数化可能標本器の出力となる。その理由については後述する。
≪z−r4μ −r5,z−r6μ −r7がf(c,c)についてそれぞれ誤差X,Xを持つ乱数化可能標本器の出力となる理由について≫
cを自然数、R、R、R’及びR’を乱数として、復号能力提供装置42がc R1μ R2及びc R1を用いて行う計算の計算結果をB(c R1μ R2,c R1)とする。すなわち、第一出力情報計算部4201や第二出力情報計算部4202が復号装置41に返す計算結果をz=B(c R1μ R2,c R1)とする。さらに、群Gに値を持つ確率変数XをX=B(VR1’μ R2’,WR1’)f(VR1’μ R2’,WR1’−1と定義する。
このとき、zY−R1μ −R2=B(c R1μ R2,c R1)Y−R1μ −R2=Xf(c R1μ R2,c R1)Y−R1μ −R2=Xf(c,cf(V,W)R1f(μ,eR2−R1μ −R2=Xf(c,cR1μ R2−R1μ −R2=f(c,cXとなる。すなわち、zY−R1μ −R2は、f(x)について誤差Xを持つ乱数化可能標本器の出力となる。なお、eは、群Gの単位元である。
上記式展開において、X=B(VR1’μ R2’,WR1’)f(VR1’μ R2’,WR1’−1=B(c R1μ R2,c R1)f(c R1μ R2,c R1)であり、B(c R1μ R2,c R1)=Xf(c R1μ R2,c R1)であるという性質を用いている。この性質は、R、R、R’及びR’が乱数であることに基づく。
したがって、a,bが自然数、r,r,r及びrが乱数であることを考慮すると、同様に、z−r4μ −r5,z−r6μ −r7がf(c,c)についてそれぞれ誤差X,Xを持つ乱数化可能標本器の出力となるのである。
[第五実施形態]
上述の各実施形態では、復号装置の自然数記憶部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’a’をf(x)=v又はf(x)=uとして得ることができる。
第五実施形態は、そのような変形の一例であり、bが1に固定され、第二乱数化可能標本器が標本器に置換された形態である。以下では、第一実施形態との相違点を中心に説明し、復号制御処理などの第一実施形態と共通する事項については説明を省略する。また、第一乱数化可能標本器や標本器の具体例も、第二実施形態から第四実施形態で説明したのと同様であるため、説明を省略する。
<構成>
図1に例示するように、第五実施形態の復号制御システム5は、第一実施形態の復号装置11が復号装置51に置換され、復号能力提供装置12が復号能力提供装置52に置換されたものである。
図11に例示するように、第五実施形態の復号装置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の生成元をそれぞれμ,μ、X,Xを群Gに値を持つ確率変数、確率変数Xの実現値をx、確率変数Xの実現値をxとする。また、復号装置51の自然数記憶部5101には、自然数aが複数種類記憶されているものとする。
図12に例示するように、まず、復号装置51(図11)の自然数選択部5102が、自然数記憶部5101に記憶された複数の自然数aから1つの自然数aをランダムに読み込む。読み込まれた自然数aの情報は、入力情報提供部5104及び第一べき乗計算部1106に送られる(ステップS5100)。
制御部1113は、t=1とする(ステップS1102)。
入力情報提供部5104は、入力された暗号文xにそれぞれ対応する第一入力情報τ及び第二入力情報τを生成して出力する。好ましくは、第一入力情報τ及び第二入力情報τはそれぞれ暗号文xとの関係をかく乱させた情報である。これにより、復号装置51は、暗号文xを復号能力提供装置52に対して隠蔽できる。また、好ましくは、本形態の第二入力情報τは自然数選択部5102で選択された自然数aにさらに対応する。これにより、復号能力提供装置52から提供された復号能力を復号装置51が高い精度で評価できる(ステップS5103)。第一入力情報τ及び第二入力情報τの組みの具体例は、第二実施形態から第四実施形態の何れかのb=1とした第一入力情報τ及び第二入力情報τの組みである。
図8に例示するように、第一入力情報τは復号能力提供装置52(図3)の第一出力情報計算部5201に入力され、第二入力情報τは第二出力情報計算部5202に入力される(ステップS5200)。
第一出力情報計算部5201は、第一入力情報τと鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた計算結果を第一出力情報zとする(ステップS5201)。第二出力情報計算部5202は、第二入力情報τと鍵記憶部1204に格納された復号鍵sとを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第二出力情報zとする(ステップS5202)。すなわち、第一出力情報計算部5201や第二出力情報計算部5202は、意図的又は意図的ではない誤差を含んだ計算結果を出力する。言い換えると、第一出力情報計算部5201での計算結果がf(τ)の場合もあればf(τ)でない場合もあり、第二出力情報計算部5202での計算結果がf(τ)の場合もあればf(τ)でない場合もある。第一出力情報z及び第二出力情報zの組の具体例は、第二実施形態から第四実施形態の何れかのb=1とした第一出力情報z及び第二出力情報zの組である。
第一出力情報計算部5201は第一出力情報zを出力し、第二出力情報計算部5202は第二出力情報zを出力する(ステップS5203)。
図12に戻り、第一出力情報zは復号装置51(図11)の第一計算部5105に入力され、第二出力情報zは第二計算部5108に入力される。これらの第一出力情報z及び第二出力情報zが、復号能力提供装置52から復号装置51に与えられた復号能力に相当する(ステップS5104)。
第一計算部5105は、第一出力情報zから演算結果u=f(x)xを生成する。演算結果uの具体例は、第二実施形態から第四実施形態の何れかのb=1とした演算結果uである。演算結果uは第一べき乗計算部1106に送られる(ステップS5105)。
第一べき乗計算部1106はu’=uを計算する。計算結果uとその計算結果に基づいて計算されたu’との組(u,u’)は、第一リスト記憶部1107に記憶される(ステップS1106)。
第二計算部5108は、第二出力情報zから演算結果v=f(x)を生成する。演算結果vの具体例は、第二実施形態から第四実施形態の何れかの演算結果vである。演算結果vは第二リスト記憶部5110に記憶される(ステップS5108)。
判定部5111は、第一リスト記憶部1107に記憶された組(u,u’)及び第二リスト記憶部5110に記憶されたvの中で、u’=vとなるものがあるか判定する(ステップS5110)。u’=vとなるものがあった場合には、ステップS5114に進む。u’=vとなるものがなかった場合には、ステップS1111に進む。
ステップS1111では、制御部1113がt=Tであるか判定する(ステップS1111)。Tは予め定められた1以上の自然数である。t=Tであれば、最終出力部1112が、計算をすることができなかった旨の情報、例えば記号「⊥」を出力して(ステップS1113)、処理を終える。t=Tでない場合には、制御部1113は、tを1だけインクリメント、すなわちt=t+1として(ステップS1112)、ステップS5103に戻る。
ステップS5114では、最終出力部1112が、u’=vであると判定されたu’に対応するuを出力する(ステップS5114)。このように得られたuは、第一実施形態から第四実施形態でb=1とした場合のub’a’に相当する。すなわち、このように得られた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から任意に選択された元τ∈H及びz=F(τ)に対してz=f(τ)を満たす確率がδ(0<δ≦1)よりも大きい場合、すなわち、
Pr[z=f(τ)|τ∈H,z=F(τ)]>δ …(1)
を満たすf(τ)のブラックボックスF(τ)のことを、信頼性δ(δ−reliable)のf(τ)のブラックボックスF(τ)という。なお、δは正の値であり、前述した「或る確率」に相当する。
自己訂正器(self−corrector):
自己訂正器C(x)とは、x∈Hを入力とし、f(τ)のブラックボックスF(τ)を用いて計算を行い、j∈G∪⊥を出力する処理部を意味する。本形態では、復号装置51が自己訂正器C(x)に相当する。
オールモスト自己訂正器(almost self−corrector):
自己訂正器C(x)が、x∈Hを入力とし、δ−reliableのf(τ)のブラックボックスF(τ)を用い、正しい値j=f(x)を出力する確率が、誤った値j≠f(x)を出力する確率よりも十分大きい場合を想定する。すなわち、
Pr[j=f(x)|j=C(x),j≠⊥]
>Pr[j≠f(x)|j=C(x),j≠⊥]+Δ …(2)
を満たす場合を想定する。なお、Δは或る正の値(0<Δ<1)である。このような場合、自己訂正器C(x)はオールモスト自己訂正器であるという。例えば、或る正の値Δ’(0<Δ’<1)に対して
Pr[j=f(x)|j=C(x)]>(1/3)+Δ’
Pr[j=⊥|j=C(x)]<1/3
Pr[j≠f(x)かつj≠⊥|j=C(x)]<1/3
を満たす場合、自己訂正器C(x)はオールモスト自己訂正器である。Δ’の例はΔ’=1/12や1/3である。
ローバスト自己訂正器(robust self−corrector):
自己訂正器C(x)が、x∈Hを入力とし、δ−reliableのf(τ)のブラックボックスF(τ)を用い、正しい値j=f(x)又はj=⊥を出力する確率が圧倒的である場合を想定する。すなわち、無視することができる誤差ξ(0≦ξ<1)に対して
Pr[j=f(x)またはj=⊥|j=C(x)]>1−ξ …(3)
を満たす場合を想定する。このような場合、自己訂正器C(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,Xの各実現値α∈X(α≠e),β∈X、及びa∈Ωについて、α=βとなる確率
Pr[α=βかつα≠e|a∈Ω,α∈X,β∈X] …(4)
について、あらゆる可能なX,Xに関する上限値を、組(G,Ω)の疑似自由指標とよび、これをP(G,Ω)と表すことにする。ある無視することができる関数ζ(k)が存在して、
P(G,Ω)<ζ(k) …(5)
である場合、組(G,Ω)によって定義される演算は擬似自由な作用であるという。なお、「α」は、群Gで定義された演算をαに対してa回作用させることを意味する。また、無視することができる関数ζ(k)の例は、任意の多項式p(k)について、十分大きいkに対して{ζ(k)p(k)}が0に収束するものである。関数ζ(k)の具体例は、ζ(k)=2−kやζ(k)=2−√kなどである。例えば、セキュリティパラメータkとに対し、式(4)の確率がO(2−k)未満である場合、組(G,Ω)によって定義される演算は擬似自由な作用である。また、例えば、任意のα∈Gでα≠eであるものについて、集合Ω・α={a(α)|a∈Ω}の要素数|Ω・α|が2を超える場合、組(G,Ω)によって定義される演算は擬似自由な作用といえる。なお、a(α)は、aとαに所定の演算を作用させた結果を表す。このような具体例は数多く存在する。例えば、群Gが素数pを法とする剰余群Z/pZであり、素数pが2のオーダーであり、集合Ω={0,...,p−2}であり、a(α)がα∈Z/pZであり、α≠eである場合、Ω・α={α|a=0,...,p−2}={e,α,...,αp−2}となり、|Ω・α|=p−1である。素数pが2のオーダーであるため、ある定数Cが存在して、kが十分大きければ|Ω・α|>C2を満たす。ここで式(4)の確率はC−1−k未満であり、このような組(G,Ω)によって定義される演算は擬似自由な作用である。
信頼性δγ(δγ−reliable)の乱数化可能標本器:
自然数aが与えられるたびに、δ−reliableのf(τ)のブラックボックスF(τ)を用い、w∈Gについて、確率変数Xに従った標本x’に対応するwx’を返す乱数化可能標本器であって、wx’=wである確率がδγよりも大きい(γは正定数)、すなわち、
Pr[wx’=w]>δγ …(6)
を満たすものを、信頼性δγな乱数化可能標本器という。本形態の入力情報提供部5104と第二出力情報計算部5202と第二計算部5108との組は、w=f(x)について、信頼性δγな乱数化可能標本器である。
次に、これらの定義を用い、本形態の復号装置51で復号結果f(x)が得られる理由を説明する。
本形態のステップS5110ではu’=vであるか、すなわち、u=vであるかを判定している。本形態の入力情報提供部5104と第二出力情報計算部5202と第二計算部5108との組は信頼性δγな乱数化可能標本器であるため(式(6))、Tをk,δ,γから定まる一定値よりも大きい値とすれば、漸近的に大きい確率でu=vが成立する(ステップS5110でyesとなる)場合が生じる。たとえば、T≧4/δγとすれば、u=vが成立する(ステップS5110でyesとなる)確率は1/2よりも大きいことがMarkovの不等式によってわかる。
また、本形態ではu=f(x)x及びv=f(x)なのであるから、u=vが成立する場合にはx =xが成立する。x =xが成立する場合には、x=x=eである場合とx≠eである場合とがある。x=x=eである場合には、u=f(x)となるのであるから、ステップS5114で出力されるuは正しい復号結果f(x)となる。一方、x≠eである場合には、u≠f(x)となるのであるから、ステップS5114で出力されるuは正しい復号結果f(x)ではない。
群Gと自然数aが属する集合Ωとの組(G,Ω)によって定義される演算が擬似自由な作用であるか、疑似自由指標P(G,Ω)についてTP(G,Ω)が漸近的に小さい場合、u=vの場合にx≠eである確率(式(4))は漸近的に小さい。したがって、u=vの場合にx=eである確率は漸近的に大きい。よって、組(G,Ω)によって定義される演算が擬似自由な作用であるか、TP(G,Ω)が漸近的に小さい場合、u=vの場合に誤った復号結果f(x)が出力される確率は、u=vの場合に正しい復号結果f(x)が出力される確率よりも十分小さい。この場合の復号装置51はオールモスト自己訂正器であるといえる(式(2)参照)。そのため、前述のように、復号装置51からローバスト自己訂正器を構成することが可能であり、圧倒的な確率で正しい復号結果f(x)を得ることができる。(G,Ω)で定義される演算が疑似自由な作用である場合には、u=vの場合に誤った復号結果f(x)が出力される確率も無視できる。この場合の復号装置51は、圧倒的な確率で正しい復号結果f(x)または⊥を出力する。
なお、任意の定数ρに対してkが定まり、このkに対してk<k’を満たす任意のk’に対する関数値η(k’)がρ未満となる場合「η(k’)が漸近的に小さい」という。k’の例はセキュリティパラメータkである。
また、任意の定数ρに対してkが定まり、このkに対してk<k’を満たす任意のk’に対する関数値1−η(k’)がρ未満となる場合「η(k’)が漸近的に大きい」という。
なお、aをa/bに置換すれば分かるように、上述の証明は第一実施形態で述べた「u’=v’が成立するのは、第一乱数化可能標本器がu=f(φ)を正しく計算しており、第二乱数化可能標本器がv=f(φ)を正しく計算している(x及びxが群Gの単位元eである)可能性が高い」ことの証明ともなる。
《信頼性δγな乱数化可能標本器と安全性について》
以下のような攻撃を想定する。
・ブラックボックスF(τ)又はその部分が意図的に不正なzを出力する、又は、ブラックボックスF(τ)から出力された値が不正なzに改ざんされる。
・不正なzに対応するwx’が乱数化可能標本器から出力される。
・不正なzに対応するwx’は、自己訂正器C(x)でu=vが成立する(ステップS5110でyesなる)にもかかわらず、自己訂正器C(x)が誤った値を出力する確率を増加させる。
このような攻撃は、与えられた自然数aに対して乱数化可能標本器から出力されたwx’の誤差の確率分布D=wx’w−aが自然数aに依存する場合に可能となる。例えば、第二計算部5108から出力されるvがf(x) となるような不正が行われた場合、xの値にかかわらず、必ずu=vが成立することになる。よって、与えられた自然数aに対して乱数化可能標本器から出力されたwx’の誤差の確率分布D=wx’w−aが当該自然数aに依存しないことが望ましい。
あるいは、、集合Ωのいかなる元a∈Ωについても、wx’の誤差の確率分布D=wx’w−aと区別することができない群Gに値を持つ確率分布Dが存在する(確率分布Dと確率分布Dとが統計的に近似する(statistically−close))乱数化可能標本器であることが望ましい。なお、確率分布Dは自然数aに依存しない。また、確率分布Dと確率分布Dとを区別することができないとは、多項式時間アルゴリズムによって確率分布Dと確率分布Dとを区別することができないことを意味し、例えば、無視することができるζ(0≦ζ<1)に対して
Σg∈G|Pr[g∈D]−Pr[g∈D]|<ζ …(7)
を満たすならば、多項式時間アルゴリズムによって確率分布Dと確率分布Dとを区別することができない。無視することができるζの例は、セキュリティパラメータkの関数値ζ(k)である。関数値ζ(k)の例は、任意の多項式p(k)について、十分大きいkに対して{ζ(k)p(k)}が0に収束するものである。関数値ζ(k)の具体例は、ζ(k)=2−kやζ(k)=2−√kなどである。また、これらの点は自然数a及びbを使用する第一実施形態から第四実施形態についても同様である。
[変形例等]
確率変数X、X及びXは、同じでも異なっていてもよい。
第一乱数生成部、第二乱数生成部、第三乱数生成部、第四乱数生成部、第五乱数生成部、第六乱数生成部及び第七乱数生成部のそれぞれが一様乱数を生成することにより、復号制御システムの安全性を高くできる。しかし、求める安全性のレベルがそれほど高くない場合には、第一乱数生成部、第二乱数生成部、第三乱数生成部、第四乱数生成部、第五乱数生成部、第六乱数生成部及び第七乱数生成部の少なくとも一部が、一様乱数ではない乱数を生成してもよい。また、演算効率上からは、上述の各実施形態のように0以上K未満の自然数である乱数や0以上K未満の自然数である乱数が選択されることが望ましいが、それらの代わりにK以上やK以上の自然数の乱数が選択されてもよい。
復号装置が同一のa,bに対応する第一入力情報τ及び第二入力情報τを復号能力提供装置に提供するたびに、復号能力提供装置の処理が複数回実行させてもよい。これにより、復号装置が第一入力情報τ及び第二入力情報τを復号能力提供装置に一回提供するたびに、復号装置は第一出力情報zや第二出力情報zや第三出力情報zを複数個得ることができる。これにより、復号装置と復号能力提供装置との間のやり取り回数や通信量を減らすことができる。
また、復号装置が複数種類の第一入力情報τ及び第二入力情報τを復号能力提供装置にまとめて提供し、対応する第一出力情報zや第二出力情報zや第三出力情報zを複数個まとめて取得してもよい。これにより、復号装置と復号能力提供装置との間のやり取り回数を減らすことができる。
復号装置の各部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。同様に、復号能力提供装置の各部間のデータのやり取りは直接行われてもよいし、図示していない記憶部を介して行われてもよい。
また、各実施形態の第一計算部や第二計算部において得られたuやvが群Gの元であるかを確認し、群Gの元であった場合には上述した処理を続行し、u又はvが群Gの元でなかった場合には、計算をすることができなかった旨の情報、例えば記号「⊥」が出力されてもよい。
その他、本発明は上述の実施形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
1〜5 復号制御システム
11〜51 復号装置
12〜52 復号能力提供装置
13 復号制御装置

Claims (12)

  1. 復号装置と復号能力提供装置と復号制御装置とを有し、
    G,Hが巡回群、f(x)が群Hの元である暗号文xを特定の復号鍵で復号して群Gの元を得るための復号関数、X,Xが群Gに値を持つ確率変数、xが確率変数Xの実現値、xが確率変数Xの実現値、a,bが互いに素である自然数であり、
    前記復号装置が、
    前記暗号文xに対応する群Hの元である第一入力情報τ及び第二入力情報τを出力する入力情報提供部を含み、
    前記復号能力提供装置が、
    前記第一入力情報τを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第一出力情報zとして出力可能な第一出力情報生成部と、
    前記第二入力情報τを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第二出力情報zとして出力可能な第二出力情報生成部と、を含み、
    前記復号装置が、さらに
    前記第一出力情報zから演算結果u=f(x)を生成する第一計算部と、
    前記第二出力情報zから演算結果v=f(x)を生成する第二計算部と、
    前記演算結果u及びvがu=vを満たす場合に、a’a+b’b=1を満たす整数a’,b’についてのub’a’を出力する最終出力部と、を含み、
    前記復号制御装置が、前記復号装置の復号処理を制御する復号制御命令を前記復号能力提供装置に出力する出力部を含み、
    前記復号能力提供装置が、さらに、
    前記復号制御命令に従って、前記第一出力情報z及び前記第二出力情報zの両方の出力の有無を制御する制御部を含む、
    復号制御システム。
  2. 請求項1の復号制御システムにおいて、
    前記復号装置が、前記自然数a,bの少なくとも一方を選択する自然数選択部を含み、
    前記第一入力情報τが前記自然数bにさらに対応し、前記第二入力情報τが前記自然数aにさらに対応する、
    復号制御システム。
  3. 請求項1又は2の復号制御システムにおいて、
    前記入力情報提供部が、前記暗号文xとの関係をかく乱させた情報を前記第一入力情報τ及び前記第二入力情報τとする、
    復号制御システム。
  4. 請求項1から3の何れかの復号制御システムにおいて、
    前記復号関数f(x)が準同型関数、群Hの生成元がμ、群Hの位数がK、ν=f(μ)であり、
    前記入力情報提供部が、
    0以上の自然数の乱数rを生成する第一乱数生成部と、
    前記第一入力情報τとしてμ r1を計算する第一入力情報計算部と、
    0以上の自然数の乱数rを生成する第二乱数生成部と、
    前記第二入力情報τとしてμ r2を計算する第二入力情報計算部と、を含み、
    前記第一出力情報計算部は、前記第一入力情報μ r1を用い、或る確率より大きな確率でf(μ r1)を正しく計算し、得られた計算結果を前記第一出力情報zとし、
    前記第二出力情報計算部は、前記第二入力情報μ r2を用い、或る確率より大きな確率でf(μ r2)を正しく計算し、得られた計算結果を第二出力情報zとし、
    前記第一計算部は、zν−r1を計算してその計算結果を前記uとし、
    前記第二計算部は、zν−r2を計算してその計算結果を前記vとする、
    復号制御システム。
  5. 請求項4の復号制御システムにおいて、
    前記第一乱数生成部が、b≠1のときに前記乱数rを生成し、
    前記第一入力情報計算部が、b≠1のときに前記第一入力情報τとして前記μ r1を計算し、
    前記第一出力情報計算部が、b≠1のときに前記第一入力情報μ r1を用いて得られた前記計算結果を前記第一出力情報zとし、
    前記第一計算部が、b≠1のときにzν−r1を計算してその計算結果を前記uとし、
    前記第二乱数生成部が、a≠1のときに前記乱数rを生成し、
    前記第二入力情報計算部が、a≠1のときに前記第二入力情報τとしてμ r2を計算し、
    前記第二出力情報計算部が、a≠1のときに前記第二入力情報μ r2を用いて得られた前記計算結果を第二出力情報zとし、
    前記第二計算部が、a≠1のときにzν−r2を計算してその計算結果を前記vとし、
    前記入力情報提供部が、
    0以上の自然数の乱数rを生成する第三乱数生成部と、
    b=1のときにxr3を前記第一入力情報τとし、a=1のときにxr3を前記第二入力情報τとする第三入力情報計算部と、を含み、
    前記復号能力提供装置が、
    前記xr3を用い、或る確率より大きな確率でf(xr3)を正しく計算し、得られた計算結果を第三出力情報zとする第三出力情報計算部を含み、
    前記復号装置が、
    b=1のときにz 1/r3を前記uとし、a=1のときにz 1/r3を前記vとする第三計算部を含む、
    復号制御システム。
  6. 請求項1から3の何れかの復号制御システムにおいて、
    群H=G×G、前記復号関数f(x)が準同型関数、群Gの生成元がμ、群Gの位数がK、x=(c,c),(V,W)が群Hの元、f(V,W)=Yであり、
    前記入力情報提供部が、
    0以上の自然数の乱数rを生成する第四乱数生成部と、
    0以上の自然数の乱数rを生成する第五乱数生成部と、
    前記第一入力情報τとしてc r4及びc r4μ r5を計算する第一入力情報計算部と、
    0以上の自然数の乱数rを生成する第六乱数生成部と、
    0以上の自然数の乱数rを生成する第七乱数生成部と、
    前記第二入力情報τとしてc r6及びc r6μ r7を計算する第二入力情報計算部と、を含み、
    前記第一出力情報計算部が、前記第一入力情報c r4μ r5及びc r4を用い、或る確率より大きな確率でf(c r4μ r5,c r4)を正しく計算し、得られた計算結果を前記第一出力情報zとし、
    前記第二出力情報計算部が、前記第二入力情報c r6μ r7及びc r6を用い、或る確率より大きな確率でf(c r6μ r7,c r6)を正しく計算し、得られた計算結果を前記第二出力情報zとし、
    前記第一計算部が、z−r4μ −r5を計算してその計算結果を前記uとし、
    前記第二計算部が、z−r6μ −r7を計算してその計算結果を前記vとする、
    復号制御システム。
  7. 請求項1から6の何れかの復号制御システムにおいて、
    前記演算結果uのf(x)に対する誤差の確率分布が前記自然数bに依存しない、並びに/若しくは、前記演算結果vのf(x)に対する誤差の確率分布が前記自然数aに依存しない、又は、前記演算結果uのf(x)に対する誤差の確率分布と区別することができない前記自然数bに依存しない確率分布が存在する、並びに/若しくは、前記演算結果vのf(x)に対する誤差の確率分布と区別することができない前記自然数aに依存しない確率分布が存在する、
    復号制御システム。
  8. 請求項1から7の何れかの復号制御システムにおいて、
    前記自然数a又は前記自然数bが定数である、
    復号制御システム。
  9. G,Hが巡回群、f(x)が群Hの元である暗号文xを特定の復号鍵で復号して群Gの元を得るための復号関数、X,Xが群Gに値を持つ確率変数、xが確率変数Xの実現値、xが確率変数Xの実現値、a,bが互いに素である自然数であり、
    前記暗号文xに対応する群Hの元である第一入力情報τを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第一出力情報zとして出力可能な第一出力情報生成部と、
    前記暗号文xに対応する群Hの元である第二入力情報τを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第二出力情報zとして出力可能な第二出力情報生成部と、
    入力された復号制御命令に従って、前記第一出力情報z及び前記第二出力情報zの両方の出力の有無を制御する制御部と、
    を有する復号能力提供装置。
  10. 復号装置と復号能力提供装置と復号制御装置とが実行する復号制御方法であって、
    G,Hが巡回群、f(x)が群Hの元である暗号文xを特定の復号鍵で復号して群Gの元を得るための復号関数、X,Xが群Gに値を持つ確率変数、xが確率変数Xの実現値、xが確率変数Xの実現値、a,bが互いに素である自然数であり、
    (A)前記復号装置で、前記暗号文xに対応する群Hの元である第一入力情報τ及び第二入力情報τを出力するステップと、
    (B)前記復号能力提供装置で、前記第一入力情報τを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第一出力情報zとして出力可能なステップと、
    (C)前記復号能力提供装置で、前記第二入力情報τを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第二出力情報zとして出力可能なステップと、
    (D)前記復号装置で、前記第一出力情報zから演算結果u=f(x)を生成するステップと、
    (E)前記復号装置で、前記第二出力情報zから演算結果v=f(x)を生成するステップと、
    (F)前記復号装置で、前記演算結果u及びvがu=vを満たす場合に、a’a+b’b=1を満たす整数a’,b’についてのub’a’を出力するステップと、を有し、
    前記ステップ(B)及び前記ステップ(C)の少なくとも一方は、
    前記復号制御装置から出力された前記復号装置の復号処理を制御する復号制御命令に従って、前記第一出力情報z及び前記第二出力情報zの両方の出力の有無を制御するステップを含む、
    復号制御方法。
  11. 復号能力提供装置の復号能力提供方法であって、
    G,Hが巡回群、f(x)が群Hの元である暗号文xを特定の復号鍵で復号して群Gの元を得るための復号関数、X,Xが群Gに値を持つ確率変数、xが確率変数Xの実現値、xが確率変数Xの実現値、a,bが互いに素である自然数であり、
    (A)第一出力情報生成部で、前記暗号文xに対応する群Hの元である第一入力情報τを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第一出力情報zとするステップと、
    (B)第二出力情報生成部で、前記暗号文xに対応する群Hの元である第二入力情報τを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第二出力情報zとするステップと、を有し、
    前記ステップ(A)及び前記ステップ(B)の少なくとも一方は、
    前記復号能力提供装置に入力された復号制御命令に従って、前記第一出力情報z及び前記第二出力情報zの両方の出力の有無を制御するステップを含む、
    復号能力提供方法。
  12. 請求項9の復号能力提供装置としてコンピュータを機能させるためのプログラム。
JP2011087995A 2011-04-12 2011-04-12 復号制御システム、および復号制御方法 Active JP5596612B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011087995A JP5596612B2 (ja) 2011-04-12 2011-04-12 復号制御システム、および復号制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011087995A JP5596612B2 (ja) 2011-04-12 2011-04-12 復号制御システム、および復号制御方法

Publications (2)

Publication Number Publication Date
JP2012220814A true JP2012220814A (ja) 2012-11-12
JP5596612B2 JP5596612B2 (ja) 2014-09-24

Family

ID=47272362

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011087995A Active JP5596612B2 (ja) 2011-04-12 2011-04-12 復号制御システム、および復号制御方法

Country Status (1)

Country Link
JP (1) JP5596612B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012220834A (ja) * 2011-04-12 2012-11-12 Nippon Telegr & Teleph Corp <Ntt> 再暗号化システム、再暗号化装置、再暗号化方法、能力提供方法、及びプログラム
WO2014112523A1 (ja) 2013-01-16 2014-07-24 日本電信電話株式会社 復号サービス提供装置、処理装置、安全性評価装置、プログラム、および記録媒体
WO2015008605A1 (ja) 2013-07-18 2015-01-22 日本電信電話株式会社 計算装置、計算方法、およびプログラム

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005029990A (ja) * 2003-07-08 2005-02-03 Toyota Motor Corp 携帯端末及び遠隔制御装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005029990A (ja) * 2003-07-08 2005-02-03 Toyota Motor Corp 携帯端末及び遠隔制御装置

Non-Patent Citations (8)

* Cited by examiner, † Cited by third party
Title
CSNJ201010083098; 山本 剛,小林 鉄太郎: '"準同型写像に対する自己訂正について"' 2010年 暗号と情報セキュリティシンポジウム SCIS2010 [CD-ROM] 2D2 数論応用,2D2-3, 20100122, p.1-6, 電子情報通信学会情報セキュリティ研究専門委員会 *
CSNJ201110015073; 山本剛,小林鉄太郎: '暗号モジュールに対する自己訂正器' 2011年 暗号と情報セキュリティシンポジウム SCIS2011 [CD-ROM] , 20110125, pp.1-8 *
CSNJ201110015074; 川原 祐人,山本 剛,小林 鉄太郎,高木 剛: 'ペアリング暗号システムにおける自己訂正を用いた復号モジュールの構成および実装' 2011年 暗号と情報セキュリティシンポジウム SCIS2011 [CD-ROM] 2F1 鍵管理,2F1-2, 20110128, p.1-8, 電子情報通信学会情報セキュリティ研究専門委員会 *
CSNJ201110015075; 小林 鉄太郎,山本 剛,山本 具英,高橋 克巳: 'クラウド計算における鍵管理' 2011年 暗号と情報セキュリティシンポジウム SCIS2011 [CD-ROM] 2F1 鍵管理,2F1-4, 20110125, pp.1-4, 電子情報通信学会情報セキュリティ研究専門委員会 *
JPN6014011289; 山本 剛,小林 鉄太郎: '"準同型写像に対する自己訂正について"' 2010年 暗号と情報セキュリティシンポジウム SCIS2010 [CD-ROM] 2D2 数論応用,2D2-3, 20100122, p.1-6, 電子情報通信学会情報セキュリティ研究専門委員会 *
JPN6014011291; 川原 祐人,山本 剛,小林 鉄太郎,高木 剛: 'ペアリング暗号システムにおける自己訂正を用いた復号モジュールの構成および実装' 2011年 暗号と情報セキュリティシンポジウム SCIS2011 [CD-ROM] 2F1 鍵管理,2F1-2, 20110128, p.1-8, 電子情報通信学会情報セキュリティ研究専門委員会 *
JPN6014016779; 山本剛,小林鉄太郎: '暗号モジュールに対する自己訂正器' 2011年 暗号と情報セキュリティシンポジウム SCIS2011 [CD-ROM] , 20110125, pp.1-8 *
JPN6014016782; 小林 鉄太郎,山本 剛,山本 具英,高橋 克巳: 'クラウド計算における鍵管理' 2011年 暗号と情報セキュリティシンポジウム SCIS2011 [CD-ROM] 2F1 鍵管理,2F1-4, 20110125, pp.1-4, 電子情報通信学会情報セキュリティ研究専門委員会 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012220834A (ja) * 2011-04-12 2012-11-12 Nippon Telegr & Teleph Corp <Ntt> 再暗号化システム、再暗号化装置、再暗号化方法、能力提供方法、及びプログラム
WO2014112523A1 (ja) 2013-01-16 2014-07-24 日本電信電話株式会社 復号サービス提供装置、処理装置、安全性評価装置、プログラム、および記録媒体
US9735963B2 (en) 2013-01-16 2017-08-15 Nippon Telegraph And Telephone Corporation Decryption service providing device, processing device, safety evaluation device, program, and recording medium
WO2015008605A1 (ja) 2013-07-18 2015-01-22 日本電信電話株式会社 計算装置、計算方法、およびプログラム
JP6067856B2 (ja) * 2013-07-18 2017-01-25 日本電信電話株式会社 計算装置、計算方法、およびプログラム
EP3010178A4 (en) * 2013-07-18 2017-02-22 Nippon Telegraph And Telephone Corporation Calculation device, calculation method, and program
US9842086B2 (en) 2013-07-18 2017-12-12 Nippon Telegraph And Telephone Corporation Calculation device, calculation method, and program

Also Published As

Publication number Publication date
JP5596612B2 (ja) 2014-09-24

Similar Documents

Publication Publication Date Title
JP5491638B2 (ja) 代理計算システム、計算装置、能力提供装置、代理計算方法、能力提供方法、プログラム、及び記録媒体
CN112016120B (zh) 基于用户隐私保护的事件预测方法和装置
CN107196989B (zh) 一种业务请求的处理方法及装置
CN108063756B (zh) 一种密钥管理方法、装置及设备
JP5562284B2 (ja) 再暗号化システム、再暗号化装置、能力提供装置、再暗号化方法、能力提供方法、及びプログラム
CN110011954B (zh) 基于同态加密的生物识别方法、装置、终端及业务服务器
EP3454236B1 (en) Authenticator, authenticatee and authentication method
JP5957095B2 (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
CN110061840A (zh) 数据加密方法、装置、计算机设备及存储介质
CN111159723A (zh) 用于区块链的密码数据共享控制
JP5596612B2 (ja) 復号制御システム、および復号制御方法
US9054877B2 (en) Data expansion using an approximate method
JP5972181B2 (ja) 改ざん検知装置、改ざん検知方法、およびプログラム
EP3633656B1 (en) Secret tampering detection system, secret tampering detection apparatus, secret tampering detection method, and program
EP2947813A1 (en) Decryption-service provision device, processing device, safety evaluation device, program, and recording medium
CN101539890B (zh) 数据处理系统、密码管理方法及数据读取与写入方法
JP5596616B2 (ja) 情報提供システム、仲介装置、仲介方法、情報提供方法、及びプログラム
KR102132685B1 (ko) 순서 노출 암호화를 위한 장치 및 방법
CN114419719B (zh) 一种生物特征的处理方法及装置
CN115550071B (zh) 一种数据处理方法、装置、存储介质及设备
CN115987489B (zh) 一种轻量级的加密解密方法、装置和存储介质
CN115982742A (zh) 一种业务执行方法、装置、存储介质及电子设备
CN116455657A (zh) 服务提供方法、装置、设备及系统
CN117375850A (zh) 一种密码集成应用方法、系统及介质
CN106941473A (zh) 一种加密方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130718

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140416

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140618

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140807

R150 Certificate of patent or registration of utility model

Ref document number: 5596612

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150