JP2012220834A - 再暗号化システム、再暗号化装置、再暗号化方法、能力提供方法、及びプログラム - Google Patents

再暗号化システム、再暗号化装置、再暗号化方法、能力提供方法、及びプログラム Download PDF

Info

Publication number
JP2012220834A
JP2012220834A JP2011088314A JP2011088314A JP2012220834A JP 2012220834 A JP2012220834 A JP 2012220834A JP 2011088314 A JP2011088314 A JP 2011088314A JP 2011088314 A JP2011088314 A JP 2011088314A JP 2012220834 A JP2012220834 A JP 2012220834A
Authority
JP
Japan
Prior art keywords
encryption
ciphertext
input information
calculation unit
output 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.)
Granted
Application number
JP2011088314A
Other languages
English (en)
Other versions
JP5562284B2 (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 JP2011088314A priority Critical patent/JP5562284B2/ja
Publication of JP2012220834A publication Critical patent/JP2012220834A/ja
Application granted granted Critical
Publication of JP5562284B2 publication Critical patent/JP5562284B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】復号鍵を提供することなく暗号文を別の暗号化鍵で再暗号化する能力を提供する。
【解決手段】再暗号化装置は、第一暗号文C1に対応する第一入力情報τ及び第二入力情報τを出力する。能力提供装置は、第一入力情報τを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第一出力情報zし、第二入力情報τを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第二出力情報zとする。再暗号化装置は、第一出力情報zから演算結果u=f(C1)を生成し、第二出力情報zから演算結果v=f(C1)を生成し、演算結果uに対する値uと演算結果vに対する値vとが互いに同一の平文に対する暗号文の類に属する場合に、a’a+b’b=1を満たす整数a’,b’についての値ub’a’を出力する。
【選択図】図2

Description

本発明は、暗号文の再暗号化技術に関し、特に、暗号文の再暗号化能力を他の装置に提供する技術に関する。
通常、或る第一暗号化鍵で暗号化された第一暗号文を他の第二暗号化鍵で再暗号化した第二暗号文を生成するためには、第一暗号化鍵に対応する第一復号鍵を用いて第一暗号文を復号し、その復号結果を第二暗号化鍵で暗号化する必要がある(例えば、特許文献1等参照)。
第一復号鍵を保持していない再暗号化装置がこの再暗号化を行うための従来方法の一つは、第一復号鍵を保持している第一装置が再暗号化装置に第一復号鍵を提供し、再暗号化装置が第一復号鍵を用いて再暗号化を行う方法である。他の従来方法は、再暗号化装置が第一暗号文を第一装置に提供し、第一装置が第一復号鍵を用いて第一暗号文を再暗号化し、得られた第二暗号文を再暗号化装置に提供する方法である。
特許第3868218号公報
しかしながら、第一装置が再暗号化装置に第一復号鍵を提供する方法では、第一復号鍵を第一装置の外部に取り出さなければならず、安全上の問題がある。一方、再暗号化装置が第一暗号文を第一装置に提供し、第一装置が第一復号鍵を用いて第一暗号文を再暗号化する方法では、再暗号化装置が第一装置の再暗号化処理の正当性を検証できない。
本発明はこのような点に鑑みてなされたものであり、復号鍵を提供することなく暗号文を別の暗号化鍵で再暗号化する能力を提供する技術を提供することを目的とする。
本発明では、G,Hを有限可換群として、第一暗号化方式に則って平文mを第一暗号化鍵yで暗号化して得られた群Hの元である第一暗号文C1が与えられたとき、当該第一暗号文C1を、第二暗号化方式に則って前記平文mを第二暗号化鍵yで暗号化して得られる群Gの元である第二暗号文f(C1)=C2に変換するための関数をfとする。a,bが互いに素である自然数、X,Xが群Gに値を持つ確率変数、xが確率変数Xの実現値、xが確率変数Xの実現値であるとする。さらに、第二暗号化方式に則って平文を第二暗号化鍵yで暗号化して得られる可能性がある暗号文を要素とする集合を、当該暗号文が属する暗号文の類と呼ぶことにする。
再暗号化装置は、第一暗号文C1に対応する群Hの元である第一入力情報τ及び第二入力情報τを出力する。能力提供装置は、第一入力情報τを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第一出力情報zし、第二入力情報τを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第二出力情報zとする。再暗号化装置は、第一出力情報zから演算結果u=f(C1)を生成し、第二出力情報zから演算結果v=f(C1)を生成し、演算結果uに対する値uと演算結果vに対する値vとが互いに同一の暗号文の類に属する場合に、a’a+b’b=1を満たす整数a’,b’についての値ub’a’を出力する。
本発明では、能力提供装置が復号鍵を提供することなく、第一出力情報z及び第二出力情報zを再暗号化装置に提供し、再暗号化装置がub’a’を出力する。ub’a’は高い確率で第二暗号文f(C1)となる。このように本発明では、能力提供装置が復号鍵を提供することなく暗号文を別の暗号化鍵で再暗号化する能力を再暗号化装置に提供できる。
実施形態の再暗号化システムの構成を説明するためのブロック図。 実施形態の再暗号化装置の構成を説明するためのブロック図。 実施形態の能力提供装置の構成を説明するためのブロック図。 実施形態の再暗号文取得装置の構成を説明するためのブロック図。 実施形態の入力情報提供部の構成を説明するためのブロック図。 実施形態の入力情報提供部の構成を説明するためのブロック図。 実施形態の再暗号化装置の処理を説明するためのフローチャート。 実施形態の能力提供装置の処理を説明するためのフローチャート。 ステップS2103(S3103)の処理を説明するためのフローチャート。 ステップS4103の処理を説明するためのフローチャート。 実施形態の再暗号化装置の構成を説明するためのブロック図。 実施形態の再暗号化装置の処理を説明するためのフローチャート。
以下、図面を参照して本発明の実施形態を説明する。
[第一実施形態]
まず、本発明の第一実施形態を説明する。
<構成>
図1に例示するように、第一実施形態の再暗号化システム1は、例えば、暗号化装置10と再暗号化装置11と能力提供装置12と再暗号文取得装置13とを有する。各装置は情報のやり取りが可能なように構成される。例えば、各装置は伝送線やネットワークや可搬型記録媒体などを経由した情報のやり取りが可能とされている。
本形態では、暗号化装置10が、第一暗号化方式に則って平文mを第一暗号化鍵yで暗号化した第一暗号文C1を出力する。第一暗号文C1を取得した再暗号化装置11は、第一暗号文C1を第二暗号文C2に再暗号化する能力の提供を、能力提供装置12に依頼する。本形態の能力提供装置12はこの能力を再暗号化装置11に提供し、再暗号化装置11は提供された能力を用いて第一暗号文C1を第二暗号文C2に再暗号化する。再暗号化装置11は第二暗号文C2を再暗号文取得装置13に提供し、再暗号文取得装置13は第二暗号文C2を復号して復号結果m’を得る。また、再暗号文取得装置13が第一暗号文C1を取得し、当該第一暗号文C1を第二暗号文C2に再暗号化する能力の提供を、再暗号化装置11及び/又は能力提供装置12に対して依頼してもよい。この場合、この能力が再暗号文取得装置13に提供され、再暗号文取得装置13は提供された能力を用いて第一暗号文C1を第二暗号文C2に再暗号化する。
図2に例示するように、第一実施形態の再暗号化装置11は、例えば、自然数記憶部1101と自然数選択部1102と整数計算部1103と入力情報提供部1104と第一計算部1105と第一べき乗計算部1106と第一リスト記憶部1107と第二計算部1108と第二べき乗計算部1109と第二リスト記憶部1110と判定部1111と最終出力部1112と制御部1113とを有する。再暗号化装置11は、制御部1113の制御のもとで各処理を実行する。再暗号化装置11の例は、特別なプログラムが読み込まれたCPU(central processing unit)やRAM(random−access memory)を備えた公知又は専用のコンピュータや、サーバ装置やゲートウェイ装置やカードリーダライタ装置や携帯電話などの計算機能と記憶機能とを備えた機器などである。
図3に例示するように、第一実施形態の能力提供装置12は、例えば、第一出力情報計算部1201と第二出力情報計算部1202と鍵記憶部1204と制御部1205とを有する。能力提供装置12は、制御部1205の制御のもとで各処理を実行する。能力提供装置12の例は、特別なプログラムが読み込まれたCPUやRAMを備えた公知又は専用のコンピュータや、携帯電話などの計算機能と記憶機能とを備えた機器や、ICカードやICチップなどの耐タンパ性モジュールなどである。
図4に例示するように、第一実施形態の再暗号文取得装置13は、例えば、再暗号化装置1311と復号部1312と制御部1313と鍵記憶部1314とを有する。再暗号化装置1311の構成は図2の再暗号化装置11と同じである。再暗号文取得装置13は、制御部1313の制御のもとで各処理を実行する。再暗号文取得装置13の例は、特別なプログラムが読み込まれたCPUやRAMを備えた公知又は専用のコンピュータや、携帯電話などの計算機能と記憶機能とを備えた機器などである。
詳細構成は省略するが、第一実施形態の暗号化装置10は、第一暗号化方式に則って平文mを第一暗号化鍵yで暗号化する能力を持つ装置である。暗号化装置10の例は、特別なプログラムが読み込まれたCPUやRAMを備えた公知又は専用のコンピュータや、携帯電話などの計算機能と記憶機能とを備えた機器などである。
<処理の前提>
G,Hが有限可換群(例えば巡回群)であり、X,Xが群Gに値を持つ確率変数であり、xが確率変数Xの実現値であり、xが確率変数Xの実現値であり、fが与えられた群Hの元である第一暗号文C1を群Gの元である第二暗号文f(C1)=C2に変換するための関数であるとする。ここで第一暗号文C1は第一暗号化方式に則って平文mを第一暗号化鍵yで暗号化して得られた暗号文であり、第二暗号文C2は第二暗号化方式に則って平文mを第二暗号化鍵yで暗号化して得られる暗号文である。第一暗号化方式や第二暗号化方式は、公開鍵暗号方式であってもよいし、共通鍵暗号方式であってもよい。また、第一暗号化方式や第二暗号化方式は、確率暗号方式であってもよいし、確定暗号方式であってもよい。さらに、第一暗号化方式と第二暗号化方式とが同一の暗号化方式であってもよいし、これらが異なる暗号化方式であってもよい。第一暗号化方式や第二暗号化方式の例は、準同型関数を暗号化関数及び復号関数とする暗号化方式である。そのような例は、ElGamal暗号方式(参考文献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.)や、RSA暗号方式(参考文献2:R.L.Rivest,A.Shamir,and L.Adelman, "A Method for Obtaining Digital Signature and Public-key Cryptsystems," MIT Laboratory for Computer Science, Thechnical Memo LCS/TM82, April 4,1977(Revised December 12,1977))などである。また、G=Hであってもよいし、G≠Hであってもよい。また、以下では群G,H上の演算を乗法的に表現する。
第一暗号化鍵yには第一復号鍵sが対応し、第二暗号化鍵yには第二復号鍵sが対応する。第一暗号化方式が公開鍵暗号方式である場合、第一暗号化鍵yは公開鍵であり、第一復号鍵sは秘密鍵である。一方、第一暗号化方式が共通鍵暗号方式である場合、第一暗号化鍵y及び第一復号鍵sは共通鍵である。第二暗号化方式が公開鍵暗号方式である場合、第二暗号化鍵yは公開鍵であり、第二復号鍵sは秘密鍵である。一方、第二暗号化方式が共通鍵暗号方式である場合、第二暗号化鍵y及び第二復号鍵sは共通鍵である。
また、第二暗号化方式に則って平文を第二暗号化鍵yで暗号化して得られる暗号文C2について、C2と同一の平文と同一の暗号化鍵を用いて第二暗号化方式によって得られる可能性がある暗号文の集合を当該暗号文C2が属する「暗号文の類」と呼ぶ。例えば、第二暗号化方式がElGamal暗号方式のような確率暗号方式である場合、同一の平文と暗号化鍵との組に対して複数の暗号文が対応するため、任意の暗号文Cについて、Cが属する暗号文の類には複数の要素が属する。一方、例えば、第二暗号化方式がRSA暗号方式のような確定暗号方式である場合、同一の平文と暗号化鍵との組に対して暗号文が一義的に定まるため、同一の暗号文の類には一つの要素のみが属する。同一の暗号文の類に一つの要素のみが属する場合、二つの値が同一の暗号文の類に属することと当該二つの値が等しいこととが等価となる。すなわち、第二暗号化方式が確定暗号方式である場合、二つの値が同一の暗号文の類に属するかの判定は当該二つの値が等しいかを判定することで行うことができる。
また、再暗号化装置11(図2)の自然数記憶部1101に、互いに素である2つの自然数a,bの組(a,b)が複数種類記憶されているものとする。Iを群Gの位数未満の2つの自然数の組で互いに素なものの集合とすると、自然数記憶部1101にはIの部分集合Sに対応する自然数a,bの組(a,b)が記憶されていると考えることができる。a,bは互いに素な自然数であり、「自然数」とは0以上の整数を表す。また、第一暗号化鍵yが暗号化装置10の鍵記憶部(図示せず)に格納され、第一復号鍵s及び第二暗号化鍵yが能力提供装置12(図3)の鍵記憶部1204に格納され、第二復号鍵sが再暗号文取得装置13(図4)の鍵記憶部1314に格納されているものとする。
<処理>
まず、暗号化装置10が、鍵記憶部(図示せず)から読み出した第一暗号化鍵yを用い、入力された平文mを第一暗号化方式に則って暗号化して第一暗号文C1∈Hを生成し、当該第一暗号文C1を出力する。
第一暗号文C1は再暗号化装置11(図2)の入力情報提供部1104に入力される。第一暗号文C1が入力された再暗号化装置11の自然数選択部1102は、図7に例示するように、自然数記憶部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)。
入力情報提供部1104は、入力された第一暗号文C1にそれぞれ対応する群Hの元である第一入力情報τ及び第二入力情報τを生成して出力する。好ましくは、第一入力情報τ及び第二入力情報τはそれぞれ第一暗号文C1との関係をかく乱させた情報である。これにより、再暗号化装置11は、第一暗号文C1を能力提供装置12に対して隠蔽できる。また、好ましくは、本形態の第一入力情報τは自然数選択部1102で選択された自然数bにさらに対応し、第二入力情報τは自然数選択部1102で選択された自然数aにさらに対応する。これにより、能力提供装置12から提供された再暗号化能力を再暗号化装置11が高い精度で評価することができる(ステップS1103)。
図8に例示するように、第一入力情報τは能力提供装置12(図3)の第一出力情報計算部1201に入力され、第二入力情報τは第二出力情報計算部1202に入力される(ステップS1200)。
第一出力情報計算部1201は、第一入力情報τと鍵記憶部1204に格納された第一復号鍵s及び第二暗号化鍵yとを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた計算結果を第一出力情報zとする(ステップS1201)。第二出力情報計算部1202は、第二入力情報τと鍵記憶部1204に格納された第一復号鍵s及び第二暗号化鍵yを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第二出力情報zとする(ステップS1202)。なお、関数fの例は、第一暗号化方式に則って第一復号鍵sで暗号文を復号して得られる値を、第二暗号化方式に則って第二暗号化鍵yで暗号化するための準同型関数である。また、「或る確率」は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(C1)を生成する。ここで、f(C1)を生成(計算)するとは、f(C1)と定義される式の値を計算することである。式f(C1)の値を最終的に計算することができれば、途中の計算方法は問わない。これは、この出願で登場する他の式の計算についても同様である。演算結果uは第一べき乗計算部1106に送られる(ステップS1105)。
第一べき乗計算部1106はu’=uを計算する。計算結果uとその計算結果に基づいて計算されたu’との組(u,u’)は、第一リスト記憶部1107に記憶される(ステップS1106)。
判定部1111は、第一リスト記憶部1107に記憶された組(u,u’)及び第二リスト記憶部1110に記憶された組(v,v’)の中で、u’とv’とが互いに同一の暗号文の類に属するものがあるかを判定する。言い換えると、判定部1111は、同一の平文に対する暗号文の類に属するu’とv’との組があるか判定する。例えば、第二暗号化方式が確定暗号方式の場合、判定部1111は、u’=v’であるかを判定する(ステップS1107)。もし、第二リスト記憶部1110に組(v,v’)が記憶されていない場合には、このステップS1107の処理を行わずに、次のステップS1108の処理を行う。同一の平文に対する暗号文の類に属するu’とv’との組があった場合には、ステップS1114に進む。同一の平文に対する暗号文の類に属するu’とv’との組がなかった場合には、ステップS1108に進む。
ステップS1108では、第二計算部1108が、第二出力情報zから演算結果v=f(C1)を生成する。演算結果vは第二べき乗計算部1109に送られる(ステップS1108)。
第二べき乗計算部1109はv’=vを計算する。計算結果vとその計算結果に基づいて計算されたv’との組(v,v’)は、第二リスト記憶部1110に記憶される(ステップS1109)。
判定部1111は、第一リスト記憶部1107に記憶された組(u,u’)及び第二リスト記憶部1110に記憶された組(v,v’)の中で、u’とv’とが互いに同一の平文に対する暗号文の類に属するものがあるかを判定する。例えば、第二暗号化方式が確定暗号方式の場合、判定部1111は、u’=v’であるかを判定する(ステップS1110)。同一の平文に対する暗号文の類に属するu’とv’との組があった場合には、ステップS1114に進む。同一の平文に対する暗号文の類に属するu’とv’との組がなかった場合には、ステップS1111に進む。
ステップS1111では、制御部1113がt=Tであるか判定する(ステップS1111)。Tは予め定められた自然数である。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を用いてub’a’を計算して、出力する(ステップS1114)。このように計算されたub’a’は、高い確率で第二暗号文f(C1)=C2∈Gとなる(高い確率でub’a’=f(C1)となる理由については後述する)。よって、上述した処理を複数回繰り返し、ステップS1114で得られた値のうち最も頻度の高い値を第2暗号文C2とすればよい。また、後述するように、設定によっては圧倒的な確率でub’a’=f(C1)となる。その場合にはステップS1114で得られた値をそのまま第2暗号文C2としてよい。
第二暗号文C(y,m)は、再暗号文取得装置13(図4)の復号部1312に入力される。復号部1312は、鍵記憶部1314から読み出した第二復号鍵sを用いて第二暗号文C2を復号し、それによって得られる復号結果m’を出力する。
また、再暗号文取得装置13が再暗号化装置11から与えられた第二暗号文を信頼できない場合も想定し得る。例えば、再暗号化装置11の処理自体が不正であった場合や、再暗号化装置11から出力された第二暗号文が改ざんされる可能性がある場合などである。このような場合には、再暗号文取得装置13がローカルに含む再暗号化装置1311に第一暗号文C1が入力され、再暗号化装置1311と能力提供装置12との間で、前述の図7及び図8に記載された処理が実行されてもよい。この処理は例えば再暗号化装置11が再暗号化装置1311に置換された処理となる。或いは、この処理の際、上述した能力提供装置12の処理の少なくとも一部が再暗号化装置11によって実行されてもよい。また再暗号化装置1311は、再暗号化装置11及び能力提供装置12がそれぞれどのような処理を行っているかを知る必要はない。少なくとも、再暗号化装置11及び能力提供装置12からなるシステムとして図8に記載された処理が実行されればよい。
このようにして得られた第二暗号文C2は復号部1312に入力され、同様に第二復号鍵sを用いて復号される。これにより、たとえ第一暗号文C1が確率暗号であったとしても、第一暗号文C1と第二暗号文C2とが同一の平文mに対応することを確認できる。同様に、第一暗号文C1が確定暗号である場合にも、第一暗号文C1と第二暗号文C2とが同一の平文mに対応することを確認できる。
≪高い確率でub’a’=f(C1)となる理由について≫
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(C1)について誤差Xを持つ乱数化可能標本器(「第一乱数化可能標本器」と呼ぶ)であり、入力情報提供部1104と第二出力情報計算部1202と第二計算部1108との組み合わせが、f(C1)について誤差Xを持つ乱数化可能標本器(「第二乱数化可能標本器」と呼ぶ)である。
u’とv’とが互いに同一の平文に対する暗号文の類に属するのは、第一乱数化可能標本器がu=f(C1)を正しく計算しており、第二乱数化可能標本器がv=f(C1)を正しく計算している(x及びxが群Gの単位元eである)可能性が高いことを発明者は見出した。説明の簡略化の観点から、この証明は第五実施形態で行う。
第一乱数化可能標本器がu=f(C1)を正しく計算しており、第二乱数化可能標本器がv=f(C1)を正しく計算しているとき(x及びxが群Gの単位元eであるとき)、ub’=(f(C1)b’=(f(C1)b’=f(C1)bb’となり、va’=(f(C1)a’=(f(C1)a’=f(C1)aa’となる。そのため、第二暗号化方式が確定暗号方式なのであればub’a’=f(C1)(bb’+aa’)=f(C1)となる。一方、第二暗号化方式が確率暗号方式であったとしてもf(C1)が準同型関数なのであれば、ub’a’=f(C1(bb’+aa’))=f(C1)となる。
また、(q,q)∈Iについて、i=1,2の各々について関数πをπ(q,q)=qで定義する。さらに、L=min(♯π(S),♯π(S))とする。♯・は、集合・の位数である。群Gが巡回群や位数の計算が困難な群であるときには、再暗号化装置11が「⊥」以外を出力するときの出力がf(C1)ではない確率は、無視できる程度の誤差の範囲で高々TL/♯S程度と期待することができる。もしL/♯Sが無視できる量でTが多項式オーダー程度の量であれば、再暗号化装置11は圧倒的な確率で正しいf(C1)を出力する。L/♯Sが無視できる量になるようなSの例には、例えばS={(1,d)|d∈[2,|G|−1]}がある。
[第二実施形態]
第二実施形態の再暗号化システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した例である。以下、第一実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。以下の説明において、同一の参照番号が付された部分は同一の機能を持つものとし、同一の参照番号が付されたステップは同一の処理を表すものとする。
<構成>
図1に例示するように、第二実施形態の再暗号化システム2は、再暗号化装置11が再暗号化装置21に置換され、能力提供装置12が能力提供装置22に置換され、再暗号文取得装置13が再暗号文取得装置23に置換されたものである。
図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とを有する。
図4に例示するように、第二実施形態の再暗号文取得装置23は、例えば、再暗号化装置2321と復号部1312と制御部1313と鍵記憶部1314とを有する。再暗号化装置2321の構成及び処理は図2の再暗号化装置21と同じである。
<処理の前提>
第二実施形態では、関数fを準同型関数とし、群Hの生成元をμ、群Hの位数をK、ν=f(μ)とする。その他の前提は、再暗号化装置11が再暗号化装置21に置換され、能力提供装置12が能力提供装置22に置換され、再暗号文取得装置13が再暗号文取得装置23に置換されている以外、第一実施形態と同一である。
<処理>
図7及び図8に例示するように、第二実施形態の処理は第一実施形態のステップS1103〜S1105,S1108,S1200〜S1203が、それぞれ、ステップS2103〜S2105,S2108,S2200〜S2203に置換されたものである。以下ではステップS2103〜S2105,S2108,S2200〜S2203の処理のみを説明する。
《ステップS2103の処理》
再暗号化装置21(図2)の入力情報提供部2104は、入力された第一暗号文C1にそれぞれ対応する第一入力情報τ及び第二入力情報τを生成して出力する(図7/ステップS2103)。以下、図9を用いて本形態のステップS2103の処理を説明する。
第一乱数生成部2104a(図5)は、0以上K未満の自然数の一様乱数rを生成する。生成された乱数rは、第一入力情報計算部2104b及び第一計算部2105に送られる(ステップS2103a)。第一入力情報計算部2104bは、入力された乱数rと第一暗号文C1と自然数bとを用いて第一入力情報τ=μ r1C1を計算する(ステップS2103b)。ここで、μの右肩のr1は、rのことである。このように、この出願において、αを第一の文字、βを第二の文字、γを数字として、αβγと表記した場合には、そのβγはβγ、すなわちβの下付きγを意味する。
第二乱数生成部2104cは、0以上K未満の自然数の一様乱数rを生成する。生成された乱数rは、第二入力情報計算部2104d及び第二計算部2108に送られる(ステップS2103c)。第二入力情報計算部2104dは、入力された乱数rと第一暗号文C1と自然数aとを用いて第二入力情報τ=μ r2C1を計算する(ステップS2103d)。
第一入力情報計算部2104b及び第二入力情報計算部2104dは、以上のように生成した第一入力情報τ及び第二入力情報τを出力する(ステップS2103e)。なお、本形態の第一入力情報τ及び第二入力情報τは、それぞれ、乱数r,rによって第一暗号文C1との関係をかく乱させた情報である。これにより、再暗号化装置22は、第一暗号文C1を能力提供装置22に対して隠蔽できる。また、本形態の第一入力情報τは自然数選択部1102で選択された自然数bにさらに対応し、第二入力情報τは自然数選択部1102で選択された自然数aにさらに対応する。これにより、能力提供装置22から提供された再暗号化能力を再暗号化装置21が高い精度で評価することができる。
《ステップS2200〜S2203の処理》
図8に例示するように、まず、第一入力情報τ=μ r1C1が能力提供装置22(図3)の第一出力情報計算部2201に入力され、第二入力情報τ=μ r2C1が第二出力情報計算部2202に入力される(ステップS2200)。
第一出力情報計算部2201は、第一入力情報τ=μ r1C1と鍵記憶部1204に格納された第一復号鍵s及び第二暗号化鍵yとを用い、或る確率より大きな確率でf(μ r1C1)を正しく計算し、得られた計算結果を第一出力情報zとする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第一出力情報計算部2201での計算結果がf(μ r1C1)となる場合もあれば、f(μ r1C1)とならない場合もある。なお、関数fの例は、第一暗号化方式に則って第一復号鍵sで暗号文を復号して得られる値を、第二暗号化方式に則って第二暗号化鍵yで暗号化するための準同型関数である。このような関数fに対応する第一暗号化方式や第二暗号化方式の例はRSA暗号方式である(ステップS2201)。
第二出力情報計算部2202は、第二入力情報τ=μ r2C1と鍵記憶部1204に格納された第一復号鍵s及び第二暗号化鍵yとを用い、或る確率より大きな確率でf(μ r2C1)を正しく計算し、得られた計算結果を第二出力情報zとする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第二出力情報計算部2202での計算結果がf(μ r2C1)となる場合もあれば、f(μ r2C1)とならない場合もある(ステップ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(C1)となる。すなわち、zν−r1は、f(C1)について誤差Xを持つ乱数化可能標本器の出力となる。その理由については後述する(ステップS2105)。
《ステップS2108の処理》
第二計算部2108は、入力された乱数r及び第二出力情報zを用いてzν−r2を計算してその計算結果をvとする。計算結果vは、第二べき乗計算部1109に送られる。ここで、v=zν−r2=f(C1)となる。すなわち、zν−r2は、f(C1)について誤差Xを持つ乱数化可能標本器の出力となる。その理由については後述する(ステップS2108)。
≪zν−r1,zν−r2がf(C1)についてそれぞれ誤差X,Xを持つ乱数化可能標本器の出力となる理由について≫
cを自然数、R及びR’を乱数として、能力提供装置22がμ C1を用いて行う計算の計算結果をB(μ C1)とする。すなわち、第一出力情報計算部2201や第二出力情報計算部2202が再暗号化装置21に返す計算結果をz=B(μ C1)とする。さらに、群Gに値を持つ確率変数XをX=B(μ R’)f(μ R’−1と定義する。
このとき、zν−R=B(μ C1)f(μ−R=Xf(μ C1)f(μ−R=Xf(μf(C1)f(μ−R=f(C1)Xとなる。すなわち、zν−Rは、f(C1)について誤差Xを持つ乱数化可能標本器の出力となる。
上記式展開において、X=B(μ R’)f(μ R’−1=B(μ C1)f(μ C1−1であり、B(μ C1)=Xf(μ C1)であるという性質を用いている。この性質は、関数fが準同型関数であり、R及びR’が乱数であることに基づく。
したがって、a,bが自然数、r,rが乱数であることを考慮すると、同様に、zν−r1,zν−r2がf(C1)についてそれぞれ誤差X,Xを持つ乱数化可能標本器の出力となるのである。
《その他》
第一実施形態と同様、再暗号文取得装置23がローカルに含む再暗号化装置2321に第一暗号文C1が入力され、再暗号化装置2321と能力提供装置22との間で、前述の図7及び図8に記載された処理が実行されてもよい。この処理は例えば再暗号化装置21が再暗号化装置2321に置換された処理となる。或いは、この処理の際、上述した能力提供装置22の処理の少なくとも一部が再暗号化装置21によって実行されてもよい。また再暗号化装置2321は、再暗号化装置21及び能力提供装置22がそれぞれどのような処理を行っているかを知る必要はない。少なくとも、再暗号化装置21及び能力提供装置22からなるシステムとして図8に記載された処理が実行されればよい。
[第三実施形態]
第三実施形態は第二実施形態の変形例であり、a=1やb=1のときに前述した標本器によってu又はvの値を計算する。一般に乱数化可能標本器よりも標本器の計算量は小さい。a=1やb=1のときに乱数化可能標本器に代わり、標本器が計算を行うことで、再暗号化システムの計算量を小さくすることができる。以下、第一実施形態及び第二実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。
<構成>
図1に例示するように、第三実施形態の再暗号化システム3は、再暗号化装置21が再暗号化装置31に置換され、能力提供装置22が能力提供装置32に置換され、再暗号文取得装置23が再暗号文取得装置33に置換されたものである。
図2に例示するように、第三実施形態の再暗号化装置31は、例えば、自然数記憶部1101と自然数選択部1102と整数計算部1103と入力情報提供部2104と第一計算部2105と第一べき乗計算部1106と第一リスト記憶部1107と第二計算部2108と第二べき乗計算部1109と第二リスト記憶部1110と判定部1111と最終出力部1112と制御部1113と第三計算部3109とを有する。
図3に例示するように、第三実施形態の能力提供装置32は、例えば、第一出力情報計算部2201と第二出力情報計算部2202と鍵記憶部1204と制御部1205と第三出力情報計算部3203とを有する。
図4に例示するように、第三実施形態の再暗号文取得装置33は、例えば、再暗号化装置3331と復号部1312と制御部1313と鍵記憶部1314とを有する。再暗号化装置3331の構成及び処理は図2の再暗号化装置31と同じである。
<処理>
次に本形態の処理を説明する。第二実施形態との相違点を説明する。
図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は、入力された第一暗号文C1にそれぞれ対応する第一入力情報τ及び第二入力情報τを生成して出力する(図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と第一暗号文C1とを用いてC1r3を計算し、これを第一入力情報τとする(ステップS3103c)。その後、ステップS3103gに進む。
ステップS3103gでは、制御部1113でaが1であるかが判定され(ステップS3103g)、a≠1であると判定された場合、前述のステップS2103c及びステップS2103dの処理が実行される。
一方、ステップS3103gでa=1であると判定された場合、第三乱数生成部3104eが、0以上K未満の自然数の乱数rを生成する。生成された乱数rは第三入力情報計算部3104fに送られる(ステップS3103h)。第三入力情報計算部3104fは、入力された乱数rと第一暗号文C1とを用いてC1r3を計算し、これを第二入力情報τとする(ステップS3103i)。
第一入力情報計算部2104b、第二入力情報計算部2104d、第三入力情報計算部3104fは、以上のように生成した第一入力情報τ及び第二入力情報τを対応する自然数(a,b)の情報とともに出力する(ステップS3103e)。なお、本形態の第一入力情報τ及び第二入力情報τは、それぞれ、乱数r,r,rによって第一暗号文C1との関係をかく乱させた情報である。これにより、再暗号化装置31は、第一暗号文C1を能力提供装置32に対して隠蔽できる。
《S2200〜S2203及びS3205〜S3209の処理》
以下、図8を用いて本形態のS2200〜S2203及びS3205〜S3209の処理を説明する。
制御部1205(図3)は、入力された自然数(a,b)に応じ、第一出力情報計算部2201、第二出力情報計算部2202、及び第三出力情報計算部3203を制御する。
制御部1205の制御に基づき、b≠1の場合の第一入力情報τ=μ r1C1は能力提供装置32(図3)の第一出力情報計算部2201に入力され、a≠1の場合の第二入力情報τ=μ r2C1は第二出力情報計算部2202に入力される。また、b=1の場合の第一入力情報τ=C1r3やa=1の場合の第二入力情報τ=C1r3は第三出力情報計算部3203に入力される(ステップS3200)。
制御部1113でbが1であるかが判定され(ステップS3205)、b≠1であると判定された場合、前述のステップS2201の処理が実行される。その後、制御部1113でaが1であるかが判定され(ステップS3208)、a≠1であると判定された場合、前述したステップS2202の処理が実行されてステップS3203に進む。
一方、ステップS3208でa=1であると判定された場合、第三出力情報計算部3203は、第二入力情報τ=C1r3と鍵記憶部1204に格納された第一復号鍵s及び第二暗号化鍵yとを用い、或る確率より大きな確率でf(C1r3)を正しく計算し、得られた計算結果を第三出力情報zとする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第三出力情報計算部3203での計算結果がf(C1r3)となる場合もあれば、f(C1r3)とならない場合もある(ステップS3209)。その後、ステップS3203に進む。
また、ステップS3205でb=1であると判定された場合、第三出力情報計算部3203は、第二入力情報τ=C1r3と鍵記憶部1204に格納された第一復号鍵s及び第二暗号化鍵yとを用い、或る確率より大きな確率でf(C1r3)を正しく計算し、得られた計算結果を第三出力情報zとする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第三出力情報計算部3203での計算結果がf(C1r3)となる場合もあれば、f(C1r3)とならない場合もある(ステップS3206)。
その後、制御部1113でaが1であるかが判定され(ステップS3207)、a=1であると判定された場合にはステップS3203に進み、a≠1であると判定された場合にはステップS2202に進む。
ステップS3203では、第一出力情報zを生成した第一出力情報計算部2201は第一出力情報zを出力し、第二出力情報zを生成した第二出力情報計算部2202は第二出力情報zを出力し、第三出力情報zを生成した第三出力情報計算部3202は第三出力情報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(C1)xとなる。すなわち、z 1/r3は、f(C1)について誤差Xを持つ標本器となる。その理由については後述する(ステップS3105)。
《ステップS3108の処理》
a≠1であれば、第二計算部2108が、前述のステップS2108の処理によってvを生成し、a=1であれば、第三計算部3109が、z 1/r3を計算してその計算結果をvとする。計算結果vは第二べき乗計算部1109に送られる。ここで、a=1の場合、v=z 1/r3=f(C1)xとなる。すなわち、z 1/r3は、f(C1)について誤差Xを持つ標本器となる。その理由については後述する(ステップS3108)。
なお、z 1/r3の計算、すなわちzのべき乗根の計算が困難な場合には、次のようにしてu及び/又はvを計算してもよい。第三計算部3109は、乱数rとその乱数rに基づいて計算されたzの組を順次(α,β),(α,β),…,(α,β),…として図示していない記憶部に記憶する。mは自然数である。第三計算部3109は、α,α,…,αの最小公倍数が1になれば、γ,γ,…,γを整数としてγα+γα+…+γα=1となるγ,γ,…,γを計算して、そのγ,γ,…,γを用いてΠi=1 β γi=β γ1β γ2…β γmを計算して、その計算結果をu及び/又はvとしてもよい。
≪z 1/r3がf(C1)について誤差Xを持つ標本器となる理由について≫
Rを乱数として、能力提供装置32がC1を用いて行う計算の計算結果をB(C1)とする。すなわち、第一出力情報計算部2201や第二出力情報計算部2202や第三出力情報計算部3203が再暗号化装置31に返す計算結果をz=B(C1)とする。さらに、群Gに値を持つ確率変数XをX=B(C11/Rf(C1)−1と定義する。
このとき、z1/R=B(C11/R=Xf(C1)=f(C1)Xとなる。すなわち、z1/Rは、f(C1)について誤差Xを持つ標本器となる。
上記式展開において、X=B(C11/Rf(C1−1であり、B(C11/R=Xf(C1)であるという性質を用いている。この性質は、Rが乱数であることに基づく。
したがって、rが乱数であることを考慮すると、同様に、z1/Rがf(C1)について誤差Xを持つ標本器となるのである。
《その他》
第一実施形態と同様、再暗号文取得装置33がローカルに含む再暗号化装置3331に第一暗号文C1が入力され、再暗号化装置3331と能力提供装置32との間で、前述の図7及び図8に記載された処理が実行されてもよい。この処理は例えば再暗号化装置31が再暗号化装置3331に置換された処理となる。或いは、この処理の際、上述した能力提供装置32の処理の少なくとも一部が再暗号化装置31によって実行されてもよい。また再暗号化装置3331は、再暗号化装置31及び能力提供装置32がそれぞれどのような処理を行っているかを知る必要はない。少なくとも、再暗号化装置31及び能力提供装置32からなるシステムとして図8に記載された処理が実行されればよい。
[第四実施形態]
第四実施形態の再暗号化システムは、上述した第一乱数化可能標本器及び第二乱数化可能標本器を具体化した他の例である。具体的には、第二暗号化方式がElGamal暗号方式であり、関数fが準同型関数である例を示す。なお、第一暗号化方式には特に限定はなく、第一暗号化方式はElGamal暗号方式のような確率暗号方式であってもよいし、RSA暗号方式のような確定暗号方式であってもよい。
以下、第一実施形態と異なる部分を中心に説明し、共通する部分については重複説明を省略する。
図1に例示するように、第四実施形態の再暗号化システム4は、再暗号化装置11が再暗号化装置41に置換され、能力提供装置12が能力提供装置42に置換され、再暗号文取得装置13が再暗号文取得装置43に置換されたものである。
図2に例示するように、第四実施形態の再暗号化装置41は、例えば、自然数記憶部1101と自然数選択部1102と整数計算部1103と入力情報提供部4104と第一計算部4105と第一べき乗計算部1106と第一リスト記憶部1107と第二計算部4108と第二べき乗計算部1109と第二リスト記憶部1110と判定部4111と最終出力部1112と制御部1113とを有する。図6に例示するように、本形態の入力情報提供部4104は、例えば、第一乱数生成部4104aと第一入力情報計算部4104bと第二乱数生成部4104cと第二入力情報計算部4104dと鍵記憶部4104eとを有する。
図3に例示するように、第四実施形態の能力提供装置42は、例えば、第一出力情報計算部4201と第二出力情報計算部4202と鍵記憶部1204と制御部1205とを有する。
<処理の前提>
第四実施形態では、群Gが巡回群G,Gの直積G×G、μg1が群Gの生成元、μg2が群Gの生成元、第二暗号化鍵yがμg2 s2、第二暗号文C2が(μg1 ,my )∈G×G、rが整数の乱数、値uが(c1u,c2u)∈G×G、値vが(c1v,c2v)∈G×Gである。G=Gであってもよいし、G≠Gであってもよい。また、前述のように第一暗号化方式には限定はないが、例えば第一暗号化方式がElGamal暗号方式である場合には、群Hが巡回群H,Hの直積H×H、r’が整数の乱数、μh1が群Hの生成元、μh2が群Hの生成元、第一暗号化鍵yがμh2 s1、第一暗号文C1が(μh1 r’,my r’)∈H×Hとなる。H=Hであってもよいし、H≠Hであってもよい。
なお、Α=(α,α)∈G×G,Β=(β,β)∈G×G,及びεが自然数である場合、Αεは(α ε,α ε)を表し、Α−εは(α −ε,α −ε)を表し、ΑΒは(αβ,αβ)を表す。同様に、εが自然数、Α=(α,α)∈H×H,Β=(β,β)∈H×Hである場合、Αεは(α ε,α ε)を表し、Α−εは(α −ε,α −ε)を表し、ΑΒは(αβ,αβ)を表す。また、e(α,β)を(α,β)∈G×Gに対して巡回群Gの元を与える双線形写像とする。双線形写像の例は、WeilペアリングやTateペアリングなどのペアリング演算を行うための関数やアルゴリズムである(参考文献3:Alfred. J. Menezes,"ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS," KLUWER ACADEMIC PUBLISHERS, ISBN0-7923-9368-6,pp. 61-81や、参考文献4:RFC 5091, "Identity-Based Cryptography Standard (IBCS) #1," Supersingular Curve Implementations of the BF and BB1 Cryptosystems等参照)。また、第一暗号化鍵y及び第二暗号化鍵yが、再暗号化装置11の入力情報提供部4104が含む鍵記憶部4104eに格納されているものとする。
<処理>
図7及び図8に例示するように、第四実施形態の処理は第一実施形態のステップS1103〜S1105,S1107,S1108,S1110,S1200〜S1203が、それぞれ、ステップS4103〜S4105,S4107,S4108,S4110,S4200〜S4203に置換されたものである。以下ではステップS4103〜S4105,S4107,S4108,S4110,S4200〜S4203の処理のみを説明する。
《ステップS4103の処理》
再暗号化装置41(図2)の入力情報提供部4104は、入力された第一暗号文C1に対応する第一入力情報τ及び第二入力情報τを生成して出力する(図7/ステップS4103)。以下、図10を用いて本形態のステップS4103の処理を説明する。
第一乱数生成部4104a(図6)は、群Hの任意の元∈Hを生成する。本形態では群Hからランダムかつ一様に元が選択される(一様乱数)。生成された元は、第一入力情報計算部4104b、及び第一計算部4105に送られる(ステップS4103a)。
第一入力情報計算部4104bは、自然数選択部1102で選択された自然数b、第一暗号文C1、元、及び鍵記憶部4104eから抽出した第一暗号化鍵yを用い、第一暗号化方式によって第一暗号化鍵yを用いて元を暗号化したある暗号文C1’についてC1C1’を計算し、C1C1’を第一入力情報τとする(ステップS4103b)。
第二乱数生成部4104cは、群Hの任意の元∈Hを生成する。本形態では群Hからランダムかつ一様に元が選択される(一様乱数)。生成された元は、第二入力情報計算部4104d、及び第二計算部4108に送られる(ステップS4103c)。
第二入力情報計算部4104bは、自然数選択部1102で選択された自然数a、第一暗号文C1、元、及び鍵記憶部4104eから抽出した第一暗号化鍵yを用い、第一暗号化方式によって第一暗号化情報yを用いて元を暗号化したある暗号文C1”について、C1C1”を計算し、C1C1”を第二入力情報τとする(ステップS4103d)。
第一入力情報計算部4104bは、以上のように生成した第一入力情報τ=C1C1’を出力する。第二入力情報計算部4104dは、以上のように生成した第二入力情報τ=C1C1”を出力する(ステップS4103e)。
《ステップS4200〜S4203の処理》
図8に例示するように、まず、第一入力情報τ=C1C1’が能力提供装置42(図3)の第一出力情報計算部4201に入力され、第二入力情報τ=C1C2”が第二出力情報計算部4202に入力される(ステップS4200)。
第一出力情報計算部4201は、第一入力情報τ=C1C1’と鍵記憶部1204に格納された第一復号鍵s及び第二暗号化鍵yとを用い、或る確率より大きな確率でf(C1C1’)を正しく計算し、計算結果を第一出力情報zとする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第一出力情報計算部4201での計算結果がf(C1C1’)となる場合もあれば、f(C1C1’)とならない場合もある(ステップS4201)。
なお、本形態の関数fは、第一暗号化方式に則って第一復号鍵sで暗号文を復号して得られる値をElGamal暗号方式に則って第二暗号化鍵yで暗号化するための準同型関数である。例えば、第一暗号化方式も第二暗号化方式もElGamal暗号方式で或る場合、関数fは、ElGamal暗号方式に則って第一復号鍵sで暗号文を復号して得られる値を、ElGamal暗号方式に則って第二暗号化鍵yで暗号化するための準同型関数である。
第二出力情報計算部4202は、第二入力情報τ=C1C1”と鍵記憶部1204に格納された第一復号鍵s及び第二暗号化鍵yとを用い、或る確率より大きな確率でf(C1C1”)を正しく計算可能であり、得られた計算結果を第二出力情報zとする。この計算結果は正しい場合もあれば正しくない場合もある。すなわち、第二出力情報計算部4202での計算結果がf(C1C1”)となる場合もあれば、f(C1C1”)とならない場合もある(ステップS4202)。
第一出力情報計算部4201は第一出力情報zを出力し、第二出力情報計算部4202は第二出力情報zを出力する(ステップS4203)。
《ステップS4104及びS4105の処理》
図7に戻り、第一出力情報zは再暗号化装置41(図2)の第一計算部4105に入力され、第二出力情報zは第二計算部4108に入力される(ステップS4104)。
第一計算部4105は、入力された第一出力情報z、元、及び鍵記憶部4104e(図6)から読み出した第二暗号化鍵yを用い、第二暗号化方式によって第二暗号化鍵yを用いて元を暗号化したある暗号文C2’について、z(C2’)−1を計算してその計算結果をuとする(ステップS4105)。計算結果uは、第一べき乗計算部1106に送られる。ここで、u=z(C2’)−1=f(C1)となる。すなわち、z(C2’)−1は、f(C1)について誤差Xを持つ乱数化可能標本器の出力となる。その理由については後述する。
《ステップS4108の処理》
第二計算部4108は、入力された第二出力情報z、元、及び鍵記憶部4104e(図6)から読み出した第二暗号化鍵yを用い、第二暗号化方式によって第二暗号化鍵yを用いて元を暗号化したある暗号文C2”について、z(C2”)−1を計算してその計算結果をvとする。計算結果vは、第二べき乗計算部1109に送られる。ここで、v=z(C2”)−1=f(C1)となる。すなわち、z(C2”)−1は、f(C1)について誤差Xを持つ乱数化可能標本器の出力となる。その理由については後述する。
《ステップS4107の処理》
判定部4111は、第一リスト記憶部1107に記憶された組(u,u’)及び第二リスト記憶部1110に記憶された組(v,v’)の中で、u’とv’とが互いに同一の平文に対する暗号文の類に属するものがあるかを判定する。本形態の判定部4111は、u’=(c1u,c2u)及びv’=(c1v,c2v)に対して、関係e(μg1,c2u)/e(c1u,y)=e(μg1,c2v)/e(c1v,y)を満たすものがあるかを判定する(ステップS4107)。u’とv’がこの関係を満たすかを判定することで、u’とv’とが互いに同一の平文に対する暗号文の類に属することを判定できる理由については後述する。
もし、第二リスト記憶部1110に組(v,v’)が記憶されていない場合には、このステップS4107の処理を行わずに、次のステップS1108の処理を行う。同一の平文に対する暗号文の類に属するu’とv’との組があった場合(上記の関係を満たすu’とv’との組があった場合)には、ステップS1114に進む。同一の平文に対する暗号文の類に属するu’とv’との組がなかった場合には、ステップS4108に進む。
《ステップS4110の処理》
判定部4111は、第一リスト記憶部1107に記憶された組(u,u’)及び第二リスト記憶部4110に記憶された組(v,v’)の中で、u’とv’とが互いに同一の平文に対する暗号文の類に属するものがあるかを判定する。本形態の判定部4111は、u’=(c1u,c2u)及びv’=(c1v,c2v)に対して、関係e(μg1,c2u)/e(c1u,y)=e(μg1,c2v)/e(c1v,y)を満たすものがあるかを判定する(ステップS4110)。同一の平文に対する暗号文の類に属するu’とv’との組があった場合には、ステップS1114に進む。同一の平文に対する暗号文の類に属するu’とv’との組がなかった場合には、ステップS1111に進む。
なお、特殊な群G,Gや双線形写像eを用いた場合、ステップS4107及びS4110の処理を再暗号化装置41に実行させることができる者を制限できる。この詳細については後述する。
《z(C2’)−1,z(C2”)−1がf(C1)についてそれぞれ誤差X,Xを持つ乱数化可能標本器の出力となる理由について》
任意の元を固定して考えると、第二暗号文C(y,m)=(μg1 ,my )における乱数rを確率空間とする確率分布について、以下の関係が成り立つ。ただし、D(s,C1)は、第一暗号化方式に則って第一暗号文C1を第一復号鍵sで復号するための関数を表す。また、’=D(s,C1) とする。rを乱数として、あるr2が存在して
f(C1C1”)(C2”)−1
=(μg1 ,D(s,C1) )(μg1 r2 r2−1
となるから、
f(C1C1”)(C2”)−1
=(μg1 r−r2,D(s,C1) r−r2
となる。したがって、確率分布f(C1C1”)(C2”)−1は確率分布f(C1)と等しい。
したがって、C1”を確率変数とみなして、群Gに値を持つ確率変数X=zf(C1C1”)−1を考えると、
(C2”)−1=zf(C1C1”)−1f(C1C1”)(C2”)−1
であるから、この確率分布はx∈Xについてxf(C1)の確率分布と等しい。
同様に、z(C2’)−1の確率分布はx∈Xについてf(C1)の確率分布と等しい。C1”を確率変数とみなすとき、C1C1”の分布はC1”の分布と等しいから、確率変数Xの確率分布はaに依存しない。同様に、確率変数Xの確率分布はbに依存しない。したがって、z(C2’)−1,z(C2”)−1はf(C1)についてそれぞれ誤差X,Xを持つ乱数化可能標本器の出力となる。
《関係e(μg1,c2u)/e(c1u,y)=e(μg1,c2v)/e(c1v,y)を満たすかを判定することで、u’とv’とが互いに同一の平文に対する暗号文の類に属することを判定できる理由》
u’とv’とが互いに同一の平文mに対する暗号文の類に属すると仮定する。この場合には第一乱数化可能標本器がu=f(C1)を正しく計算しており、第二乱数化可能標本器がv=f(C1)を正しく計算している(x及びxが群Gの単位元eである)可能性が高い。よって、u’=(μg1 r’’,my r’’)かつv’=(μg1 r’’’,my r’’’)である可能性が高い。ただし、r’’及びr’’’は、ElGamal暗号方式の乱数成分と自然数選択部1102で選択された自然数の組とによって定まる値である。その場合、双線形写像eの性質から、u’=(c1u,c2u)に対して
e(μg1,c2u)/e(c1u,y
=e(μg1,my r’’)/e(μg1 r’’,y
=e(μg1,myr’’/e(μg1,yr’’
=e(μg1,m)e(μg1,y)/e(μg1,y
=e(μg1,m)
を満たす可能性が高い。また、v’=(c1v,c2v)に対して
e(μg1,c2v)/e(c1v,y
=e(μg1,my r’’’)/e(μg1 r’’’,y
=e(μg1,myr’’’/e(μg1,yr’’’
=e(μg1,m)e(μg1,y)/e(μg1,y
=e(μg1,m)
を満たす可能性が高い。よって、u’とv’とが互いに同一の平文mに対する暗号文の類に属する場合、関係e(μg1,c2u)/e(c1u,y)=e(μg1,c2v)/e(c1v,y)を満たす可能性が高い。
次に、u’とv’とが互いに異なる平文に対する暗号文の類に属すると仮定する。すなわち、u’が平文mに対する暗号文の類に属し、v’が平文m(m≠m)に対する暗号文の類に属すると仮定する。すると、u’=(μg1 r’’,m r’’)xかつv’=(μg1 r’’’,m r’’’)xとなる。そのため、u’=(c1u,c2u)に対してe(μg1,c2u)/e(c1u,y)=e(μg1,m)xを満たし、v’=(c1v,c2v)に対してe(μg1,c2v)/e(c1v,y)=e(μg1,m)xを満たす。よって、u’とv’とが互いに異なる平文に対する暗号文の類に属する場合、関係e(μg1,c2u)/e(c1u,y)≠e(μg1,c2v)/e(c1v,y)となる可能性が高い。
《特殊な群G,Gや双線形写像e》
群G,Gや双線形写像eの構成を以下のように限定した場合、ステップS4107及びS4110の処理を再暗号化装置41に実行させることができる者を制限することができる。以下にその詳細を述べる。
この特殊な例では、Nが素数ωと素数ιの合成数、群G,Gがそれぞれ合成数Nを法とした剰余環Z/NZ上で定義された第一楕円曲線上の点からなる部分群、G1ω,G2ωが素数ωを法とした剰余体Z/ωZ上で定義された第二楕円曲線上の点からなる部分群、G1ι,G2ιが素数ιを法とした剰余体Z/ιZ上で定義された第三楕円曲線上の点からなる部分群、e(α,β)が(α,β)∈G×Gに対して巡回群Gの元を与える双線形写像、eω(αω,βω)が(αω,βω)∈G1ω×G2ωに対して巡回群GTωの元を与える第二双線形写像、eι(αι,βι)が(αι,βι)∈G1ι×G2ιに対して巡回群GTιの元を与える第三双線形写像、HMが第一楕円曲線上の点を第二楕円曲線上の点と第三楕円曲線上の点とに写す同型写像、HM−1が同型写像HMの逆像である。
この例の場合、双線形写像e(α,β)は剰余環Z/NZ上で定義された第一楕円曲線上で定義される。しかしながら、剰余環上で定義された楕円曲線上で定義された双線形写像e(α,β)を多項式時間で計算する方法は知られておらず、多項式時間で計算可能な剰余環上で定義された楕円曲線上で定義された双線形写像e(α,β)の構成方法も知られていない(参考文献5:Alexander W. Dent and Steven D. Galbraith, "Hidden Pairings and Trapdoor DDH Groups," ANTS 2006, LNCS 4076, pp. 436-451, 2006.)。このような設定の場合、判定部4111は、双線形写像eを剰余環Z/NZ上で直接計算して関係e(μg1,c2u)/e(c1u,y)=e(μg1,c2v)/e(c1v,y)を満たすか否かを判定することができない。
一方、剰余体Z/ωZ,Z/ιZ上で定義された楕円曲線上で定義されたeω(αω,βω)やeι(αι,βι)としては、多項式時間で計算可能なWeilペアリングやTateペアリングなどが存在する(参考文献3,4等参照)。また、このようなeω(αω,βω)やeι(αι,βι)を多項式時間で行うアルゴリズムとしてMiller のアルゴリズム(参考文献6:V. S. Miller, “Short Programs for functions on Curves,”1986,インターネット<http://crypto.stanford.edu/miller/miller.pdf>」などがよく知られている。さらに、このようなeω(αω,βω)やeι(αι,βι)を効率的に行うための楕円曲線や巡回群の構成方法もよく知られている(例えば、参考文献4、参考文献7: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」、参考文献8: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」、参考文献9: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/NZから剰余体Z/ωZと剰余体Z/ιZとの直積に写す同型写像が存在すること、及び剰余体Z/ωZと剰余体Z/ιZとの直積から剰余環Z/NZに写す同型写像が存在することがよく知られている(参考文献10:ヨハネス ブーフマン,”暗号理論入門”,シュプリンガー・フェアラーク東京 (2001/07), ISBN-10: 4431708669 ISBN-13,pp. 52-56)。すなわち、第一楕円曲線上の点を第二楕円曲線上の点と第三楕円曲線上の点とに写す同型写像HM、及びその逆像HM−1が存在する。一例を挙げると、剰余環Z/NZの元κmod Nを剰余体Z/ωZの元κ mod ωと剰余体Z/ιZの元κ mod ιとに写す同型写像をHMとし、剰余体Z/ωZの元κωmod ωと剰余体Z/ιZの元κιmod ιとを剰余環Z/NZの元κωιι’+κιωω’modNに写す写像をHM−1とすることができる。ただし、ω’及びι’はωω’+ιι’=1を満たす自然数である。このようなω’,ι’は拡張ユークリッドの互除法を用いて容易に生成できる。ωω’+ιι’=1の関係から、κωιι’+κιωω’modNにHMを作用させると
κωιι’+κιωω’mod ω=κωιι’modω=κω(1−ωω’)modω=κωmod ω∈Z/ωZ
κωιι’+κιωω’modι=κιωω’modι=κι(1−ιι’)modι=κιmodι∈Z/ιZ
となり、この一例での写像はHMとHM−1との関係にあることが分かる。
そのため、合成数Nを素因数分解した値、すなわち素数ωと素数ιとの値が与えられるのであれば、判定部4111は、以下のステップA〜Dの処理によって、剰余環Z/NZ上で定義された第一楕円曲線上の双線形写像e(α,β)を計算することができる。
(ステップA)判定部4111は、同型写像HMを用い、剰余環Z/NZ上で定義された第一楕円曲線上の点α∈Gを、剰余体Z/ωZ上で定義された第二楕円曲線上の点θω(α)∈G1ωと剰余体Z/ιZ上で定義された第三楕円曲線上の点θι(α)∈G1ιとに写す。
(ステップB)判定部4111は、同型写像HMを用い、剰余環Z/NZ上で定義された第一楕円曲線上の点β∈Gを、剰余体Z/ωZ上で定義された第二楕円曲線上の点θω(β)∈G2ωと剰余体Z/ιZ上で定義された第三楕円曲線上の点θι(β)∈G2ιとに写す。
(ステップC)判定部4111は、第二楕円曲線及び第三楕円曲線でのeω(θω(α),θω(β))及びeι(θι(α),θι(β))を求める。
(ステップD)判定部4111は、得られた演算結果eω(θω(α),θω(β))及びeι(θι(α),θι(β))に逆像HM−1を作用させた値をe(α,β)とする。
よって素数ωと素数ιとの値が与えられるのであれば、判定部4111は、ステップA〜Dに従ってe(μg1,c2u),e(c1u,y),e(μg1,c2v),e(c1v,y)を計算し、関係e(μg1,c2u)/e(c1u,y)=e(μg1,c2v)/e(c1v,y)を満たすか否かを判定することができる。
一方、大きな合成数Nの素因数分解を多項式時間で行う方法は知られていない。よって、この設定の場合、素数ω及び素数ιの少なくとも一方が与えられていない判定部4111は、関係e(μg1,c2u)/e(c1u,y)=e(μg1,c2v)/e(c1v,y)を満たすか否かを判定することができない。
以上のような特殊な群G,Gや双線形写像eを用いた場合、ステップS4107及びS4110の処理を再暗号化装置41に実行させることができる者を素数ω及び素数ιの少なくとも一方を知る者に制限することができる。
《その他》
第一実施形態と同様、再暗号文取得装置43がローカルに含む再暗号化装置4341に第一暗号文C1が入力され、再暗号化装置4341と能力提供装置42との間で、前述の図7及び図8に記載された処理が実行されてもよい。この処理は例えば再暗号化装置41が再暗号化装置4341に置換された処理となる。或いは、この処理の際、上述した能力提供装置42の処理の少なくとも一部が再暗号化装置41によって実行されてもよい。また再暗号化装置4341は、再暗号化装置41及び能力提供装置42がそれぞれどのような処理を行っているかを知る必要はない。少なくとも、再暗号化装置41及び能力提供装置42からなるシステムとして図8に記載された処理が実行されればよい。
[第五実施形態]
上述の各実施形態では、再暗号化装置の自然数記憶部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(C1)=ub’a’をf(C1)=v又はf(C1)=uとして得ることができる。
第五実施形態は、そのような変形の一例であり、bが1に固定され、第二乱数化可能標本器が標本器に置換された形態である。以下では、第一実施形態との相違点を中心に説明する。また、第一乱数化可能標本器や標本器の具体例は、第二実施形態から第四実施形態で説明したのと同様であるため、説明を省略する。
<構成>
図1に例示するように、第五実施形態の再暗号化システム5は、第一実施形態の再暗号化装置11が再暗号化装置51に置換され、能力提供装置12が能力提供装置52に置換され、再暗号文取得装置13が再暗号文取得装置53に置換されたものである。
図11に例示するように、第五実施形態の再暗号化装置51は、例えば、自然数記憶部5101と自然数選択部5102と入力情報提供部5104と第一計算部5105と第一べき乗計算部1106と第一リスト記憶部1107と第二計算部5108と第二リスト記憶部5110と判定部5111と最終出力部1112と制御部1113とを有する。
図3に例示するように、第五実施形態の能力提供装置52は、例えば、第一出力情報計算部5201と第二出力情報計算部5202と鍵記憶部1204と制御部1205とを有する。
図4に例示するように、第二実施形態の再暗号文取得装置53は、例えば、再暗号化装置5351と復号部1312と制御部1313と鍵記憶部1314とを有する。再暗号化装置5351の構成及び処理は図11の再暗号化装置51と同じである。
<処理の前提>
再暗号化装置51の自然数記憶部5101には自然数bが記憶されておらず、自然数aのみが複数種類記憶されている。その他の前提は、上述の第一実施形態から第四実施形態の何れかと同様である。
<処理>
図12に例示するように、まず、再暗号化装置51(図11)の自然数選択部5102が、自然数記憶部5101に記憶された複数の自然数aから1つの自然数aをランダムに読み込む。読み込まれた自然数aの情報は、入力情報提供部5104及び第一べき乗計算部1106に送られる(ステップS5100)。
制御部1113は、t=1とする(ステップS1102)。
入力情報提供部5104は、入力された第一暗号文C1にそれぞれ対応する第一入力情報τ及び第二入力情報τを生成して出力する。好ましくは、第一入力情報τ及び第二入力情報τはそれぞれ第一暗号文C1との関係をかく乱させた情報である。これにより、再暗号化装置51は、第一暗号文C1を能力提供装置52に対して隠蔽できる。また、好ましくは、本形態の第二入力情報τは自然数選択部5102で選択された自然数aにさらに対応する。これにより、能力提供装置52から提供された再暗号化能力を再暗号化装置51が高い精度で評価することが可能となる(ステップS5103)。第一入力情報τ及び第二入力情報τの組みの具体例は、第二実施形態から第四実施形態の何れかのb=1とした第一入力情報τ及び第二入力情報τの組みである。
図8に例示するように、第一入力情報τは能力提供装置52(図3)の第一出力情報計算部5201に入力され、第二入力情報τは第二出力情報計算部5202に入力される(ステップS5200)。
第一出力情報計算部5201は、第一入力情報τと鍵記憶部1204に格納された第一復号鍵s及び第二暗号化鍵yとを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた計算結果を第一出力情報zとする(ステップS5201)。第二出力情報計算部5202は、第二入力情報τと鍵記憶部1204に格納された第一復号鍵s及び第二暗号化鍵yを用い、或る確率より大きな確率で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(C1)xを生成する。演算結果uの具体例は、第二実施形態から第四実施形態の何れかのb=1とした演算結果uである。演算結果uは第一べき乗計算部1106に送られる(ステップS5105)。
第一べき乗計算部1106はu’=uを計算する。計算結果uとその計算結果に基づいて計算されたu’との組(u,u’)は、第一リスト記憶部1107に記憶される(ステップS1106)。
第二計算部5108は、第二出力情報zから演算結果v=f(C1)を生成する。演算結果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は予め定められた自然数である。t=Tであれば、最終出力部1113が、計算をすることができなかった旨の情報、例えば記号「⊥」を出力して(ステップS1113)、処理を終える。t=Tでない場合には、制御部1113は、tを1だけインクリメント、すなわちt=t+1として(ステップS1112)、ステップS5103に戻る。
ステップS5114では、最終出力部1112が、同一の平文に対する暗号文の類に属すると判定されたu’とvとの組が含むu’に対応するuを出力する(ステップS5114)。このように得られたuは、第一実施形態から第四実施形態でb=1とした場合のub’a’に相当する。すなわち、このように得られたuは高い確率でf(C1)となる。よって、上述した処理を複数回繰り返し、ステップS5114で得られた値のうち最も頻度の高い値を第2暗号文C2とすればよい。また、後述するように、設定によっては圧倒的な確率でu=f(C1)となる。その場合にはステップS5114で得られた値をそのまま第2暗号文C2としてよい。
≪f(C1)が得られる理由について≫
次に、本形態の再暗号化装置51で復号結果f(C1)が得られる理由を説明する。まず、説明に必要な事項を定義する。
ブラックボックス(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(C1)が得られる理由を説明する。
本形態のステップ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(C1)x及びv=f(C1)なのであるから、uとvとが同一の平文に対する暗号文の類に属する場合にはD(s,f(C1)x)=D(s,f(C1)x 1/a)が成立する。ただし、D(s,υ)は第二暗号化方式に則ってυ∈Gを第二復号鍵sで復号するための関数を表す。この場合、第2暗号化方式が確定暗号方式なのであればx =xが成立する。また、第2暗号化方式が確率暗号方式であったとしてもf(C1)が準同型関数なのであればx =xが成立する。
=xが成立する場合には、x=x=eである場合とx≠eである場合とがある。x=x=eである場合には、u=f(C1)となるのであるから、ステップS5114で出力されるuは正しいf(C1)となる。一方、x≠eである場合には、u≠f(C1)となるのであるから、ステップS5114で出力されるuは正しいf(C1)ではない。
群Gと自然数aが属する集合Ωとの組(G,Ω)によって定義される演算が擬似自由な作用であるか、疑似自由指標P(G,Ω)についてTP(G,Ω)が漸近的に小さい場合、x =xの場合にx≠eである確率(式(4))は漸近的に小さい。したがって、x =xの場合にx=eである確率は漸近的に大きい。よって、組(G,Ω)によって定義される演算が擬似自由な作用であるか、TP(G,Ω)が漸近的に小さい場合、uとvとが同一の平文に対する暗号文の類に属する場合に誤ったf(C1)が出力される確率は、uとvとが同一の平文に対する暗号文の類に属する場合に正しいf(C1)が出力される確率よりも十分小さい。この場合の再暗号化装置51はオールモスト自己訂正器であるといえる(式(2)参照)。そのため、前述のように、再暗号化装置51からローバスト自己訂正器を構成することが可能であり、圧倒的な確率で正しいf(C1)を得ることができる。(G,Ω)で定義される演算が疑似自由な作用である場合には、uとvとが同一の平文に対する暗号文の類に属する場合に誤ったf(C1)が出力される確率も無視できる。この場合の再暗号化装置51は、圧倒的な確率で正しいf(C1)または⊥を出力する。
なお、任意の定数ρに対してkが定まり、このkに対してk<k’を満たす任意のk’に対する関数値η(k’)がρ未満となる場合「η(k’)が漸近的に小さい」という。k’の例はセキュリティパラメータkである。また、任意の定数ρに対してkが定まり、このkに対してk<k’を満たす任意のk’に対する関数値1−η(k’)がρ未満となる場合「η(k’)が漸近的に大きい」という。
また、aをa/bに置換すれば分かるように、上述の証明は第一実施形態で述べた「u’とv’とが互いに同一の平文に対する暗号文の類に属するのは、第一乱数化可能標本器がu=f(C1)を正しく計算しており、第二乱数化可能標本器がv=f(C1)を正しく計算している(x及びxが群Gの単位元eである)可能性が高い」ことの証明ともなる。
《信頼性δγの乱数化可能標本器と安全性について》
以下のような攻撃を想定する。
・ブラックボックスF(τ)又はその部分が意図的に不正なzを出力する、又は、ブラックボックスF(τ)から出力された値が不正なzに改ざんされる。
・不正なzに対応するwx’が乱数化可能標本器から出力される。
・不正なzに対応するwx’は、自己訂正器C(C1)にuとvとが同一の平文に対する暗号文の類に属すると判定させる(ステップS5110でyesなる)にもかかわらず、自己訂正器C(C1)が誤った値を出力する確率を増加させる。
このような攻撃は、与えられた自然数aに対して乱数化可能標本器から出力されたwx’の誤差の確率分布D=wx’w−aが自然数aに依存する場合に可能となる。例えば、第二計算部5108から出力されるvがf(C1) となるような不正が行われた場合、xの値にかかわらず、必ずu=vが成立して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を使用する第一実施形態から第四実施形態についても同様である。
《その他》
第一実施形態から第四実施形態と同様、再暗号文取得装置53がローカルに含む再暗号化装置5351に第一暗号文C1が入力され、再暗号化装置5351と能力提供装置52との間で、前述の図8及び図12に記載された処理が実行されてもよい。この処理は例えば再暗号化装置51が再暗号化装置5351に置換された処理となる。或いは、この処理の際、上述した能力提供装置52の処理の少なくとも一部が再暗号化装置51によって実行されてもよい。また再暗号化装置5351は、再暗号化装置51及び能力提供装置52がそれぞれどのような処理を行っているかを知る必要はない。少なくとも、再暗号化装置51及び能力提供装置52からなるシステムとして図8に記載された処理が実行されればよい。
[変形例等]
確率変数X、X及びXは、同じでも異なっていてもよい。
第一乱数生成部、第二乱数生成部、第三乱数生成部のそれぞれは、一様乱数を生成することにより、再暗号化システムの安全性が最も高くなる。しかし、求める安全性のレベルがそれほど高くない場合には、第一乱数生成部、第二乱数生成部、第三乱数生成部の少なくとも一部が、一様乱数ではない乱数を生成してもよい。また、演算効率上からは、上述の各実施形態のように、選択される自然数の乱数は0以上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〜53 再暗号文取得装置

Claims (18)

  1. 再暗号化装置と能力提供装置とを有し、
    G,Hが有限可換群、fが第一暗号化方式に則って平文mを第一暗号化鍵yで暗号化して得られた群Hの元である第一暗号文C1が与えられたとき、当該第一暗号文C1を、第二暗号化方式に則って前記平文mを第二暗号化鍵yで暗号化して得られる群Gの元である第二暗号文f(C1)=C2に変換するための関数、a,bが互いに素である自然数、第二暗号化方式に則って当該平文を前記第二暗号化鍵yで暗号化して得られる可能性がある暗号文を要素とする集合を当該暗号文が属する暗号文の類、X,Xが群Gに値を持つ確率変数、xが確率変数Xの実現値、xが確率変数Xの実現値であり、
    前記再暗号化装置が、
    前記第一暗号文C1に対応する群Hの元である第一入力情報τ及び第二入力情報τを出力する入力情報提供部を含み、
    前記能力提供装置が、
    前記第一入力情報τを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第一出力情報zとする第一出力情報生成部と、
    前記第二入力情報τを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第二出力情報zとする第二出力情報生成部と、を含み、
    前記再暗号化装置が、さらに
    前記第一出力情報zから演算結果u=f(C1)を生成する第一計算部と、
    前記第二出力情報zから演算結果v=f(C1)を生成する第二計算部と、
    前記演算結果uに対する値uと前記演算結果vに対する値vとが互いに同一の暗号文の類に属する場合に、a’a+b’b=1を満たす整数a’,b’についての値ub’a’を出力する最終出力部と、を含む、
    再暗号化システム。
  2. 請求項1の再暗号化システムであって、
    前記再暗号化装置が、前記自然数a,bの少なくとも一方を選択する自然数選択部を含み、
    前記第一入力情報τが、前記自然数bにさらに対応し、前記第二入力情報τが、前記自然数aにさらに対応する、
    再暗号化システム。
  3. 請求項1又は2の再暗号化システムにおいて、
    前記入力情報提供部が、前記第一暗号文C1との関係をかく乱させた情報を前記第一入力情報τ及び前記第二入力情報τとする、
    再暗号化システム。
  4. 請求項1から3の何れかのの再暗号化システムにおいて、
    前記関数fが準同型関数である、
    再暗号化システム。
  5. 請求項1から4の何れかの再暗号化システムであって、
    前記関数fが準同型関数であり、
    前記入力情報提供部が、
    群Hの任意の元を生成する第一乱数生成部と、
    前記第一暗号化方式に則って前記元を前記第一暗号化鍵yで暗号化して得られた群Hの元C1’に対応するC1C1’を前記第一入力情報τとして得る第一入力情報計算部と、
    群Hの任意の元を生成する第二乱数生成部と、
    前記第一暗号化方式に則って前記元を前記第一暗号化鍵yで暗号化して得られた群Hの元C1”に対応するC1C1”を前記第二入力情報τとして得る第二入力情報計算部と、
    前記第一出力情報計算部は、前記第一入力情報C1C1’を用い、或る確率より大きな確率でf(C1C1’)を正しく計算し、得られた計算結果を前記第一出力情報zとし、
    前記第二出力情報計算部は、前記第二入力情報C1C1”を用い、或る確率より大きな確率でf(C1C1”)を正しく計算し、得られた計算結果を第二出力情報zとし、
    前記第一計算部は、前記第二暗号化方式に則って前記元を前記第二暗号化鍵yで暗号化して得られた群Hの元C2’に対応するz(C2’)−1を前記uとし、
    前記第二計算部は、前記第二暗号化方式に則って前記元を前記第二暗号化鍵yで暗号化して得られた群Hの元C2”に対応するz(C2”)−1を前記vとする、
    再暗号化システム。
  6. 請求項1から5の何れかの再暗号化システムにおいて、
    前記関数fが準同型関数、群Gが群G,Gの直積G×G、μg1が群Gの生成元、μg2が群Gの生成元、sが前記第二暗号化鍵yに対応する復号鍵、前記第二暗号化鍵yがμg2 s2、rが整数の乱数、前記第二暗号文C2が(μg1 ,my )、前記値uが(c1u,c2u)∈G×G、前記値vが(c1v,c2v)∈G×G、e(α,β)が(α,β)∈G×Gに対して有限可換群Gの元を与える双線形写像であり、
    前記最終出力部は、関係e(μg1,c2u)/e(c1u,y)=e(μg1,c2v)/e(c1v,y)を満たす場合に前記値ub’a’を出力する、
    再暗号化システム。
  7. 請求項6の再暗号化システムであって、
    Nが素数ωと素数ιの合成数、前記群G,Gがそれぞれ前記合成数Nを法とした剰余環上で定義された第一楕円曲線上の点からなる部分群、G1ω,G2ωが前記素数ωを法とした剰余体上で定義された第二楕円曲線上の点からなる部分群、G1ι,G2ιが前記素数ιを法とした剰余体上で定義された第三楕円曲線上の点からなる部分群、eω(αω,βω)が(αω,βω)∈G1ω×G2ωに対して有限可換群GTωの元を与える第二双線形写像、eι(αι,βι)が(αι,βι)∈G1ι×G2ιに対して有限可換群GTιの元を与える第三双線形写像、HMが前記第一楕円曲線上の点を前記第二楕円曲線上の点と前記第三楕円曲線上の点とに写す同型写像、HM−1が前記同型写像HMの逆像であり、
    前記再暗号化装置は、
    前記同型写像HMを用いて前記第一楕円曲線上の点αを前記第二楕円曲線上の点θω(α)と前記第三楕円曲線上の点θι(α)とに写し、前記同型写像HMを用いて前記第一楕円曲線上の点βを前記第二楕円曲線上の点θω(β)と前記第三楕円曲線上の点θι(β)とに写し、eω(θω(α),θω(β))及びeι(θι(α),θι(β))を求め、eω(θω(α),θω(β))及びeι(θι(α),θι(β))に対する前記逆像HM−1をe(α,β)として求め、前記関係を満たすか否かを判定する判定部をさらに含む、
    再暗号化システム。
  8. 請求項1から4の何れかの再暗号化システムにおいて、
    前記関数fが準同型関数、μが群Hの生成元、Kが群Hの位数、ν=f(μ)であり、
    前記入力情報提供部は、
    0以上の自然数の乱数rを生成する第一乱数生成部と、
    前記第一入力情報τとしてμ r1C1を計算する第一入力情報計算部と、
    0以上の自然数の乱数rを生成する第二乱数生成部と、
    前記第二入力情報τとしてμ r2C1を計算する第二入力情報計算部と、を含み、
    前記第一出力情報計算部が、前記第一入力情報μ r1C1を用い、或る確率より大きな確率でf(μ r1C1)を正しく計算し、得られた計算結果を前記第一出力情報zとし、
    前記第二出力情報計算部は、前記第二入力情報μ r2C1を用い、或る確率より大きな確率でf(μ r2C1)を正しく計算し、得られた計算結果を第二出力情報zとし、
    前記第一計算部は、zν−r1を計算してその計算結果を前記uとし、
    前記第二計算部は、zν−r2を計算してその計算結果を前記vとする、
    再暗号化システム。
  9. 請求項8の再暗号化システムにおいて、
    前記第一乱数生成部が、b≠1のときに前記乱数rを生成し、
    前記第一入力情報計算部が、b≠1のときに前記第一入力情報τとして前記μ r1C1を計算し、
    前記第一出力情報計算部が、b≠1のときに前記第一入力情報μ r1C1を用いて得られた前記計算結果を前記第一出力情報zとし、
    前記第一計算部が、b≠1のときにzν−r1を計算してその計算結果を前記uとし、
    前記第二乱数生成部が、a≠1のときに前記乱数rを生成し、
    前記第二入力情報計算部が、a≠1のときに前記第二入力情報τとしてμ r2C1を計算し、
    前記第二出力情報計算部が、a≠1のときに前記第二入力情報μ r2C1を用いて得られた前記計算結果を第二出力情報zとし、
    前記第二計算部が、a≠1のときにzν−r2を計算してその計算結果を前記vとし、
    前記入力情報提供部が、
    0以上の自然数の乱数rを生成する第三乱数生成部と、
    b=1のときにC1r3を前記第一入力情報τとし、a=1のときにC1r3を前記第二入力情報τとする第三入力情報計算部と、を含み、
    前記能力提供装置が、
    前記C1r3を用い、或る確率より大きな確率でf(C1r3)を正しく計算し、得られた計算結果を第三出力情報zとする第三出力情報計算部を含み、
    前記再暗号化装置が、
    b=1のときにz 1/r3を前記uとし、a=1のときにz 1/r3を前記vとする第三計算部を含む、
    再暗号化システム。
  10. 請求項1から9の何れかの再暗号化システムにおいて、
    前記演算結果uのf(C1)に対する誤差の確率分布が前記自然数bに依存しない、並びに/若しくは、前記演算結果vのf(C1)に対する誤差の確率分布が前記自然数aに依存しない、又は、前記演算結果uのf(C1)に対する誤差の確率分布と区別することができない前記自然数bに依存しない確率分布が存在する、並びに/若しくは、前記演算結果vのf(C1)に対する誤差の確率分布と区別することができない前記自然数aに依存しない確率分布が存在する、
    再暗号化システム。
  11. 請求項1から10の何れかの再暗号化システムにおいて、
    前記自然数a又は前記自然数bが定数である、再暗号化システム。
  12. G,Hが有限可換群、fが第一暗号化方式に則って平文mを第一暗号化鍵yで暗号化して得られた群Hの元である第一暗号文C1が与えられたとき、当該第一暗号文C1を、第二暗号化方式に則って前記平文mを第二暗号化鍵yで暗号化して得られる群Gの元である第二暗号文f(C1)=C2に変換するための関数、前記第二暗号化方式に則って当該平文を前記第二暗号化鍵yで暗号化して得られる可能性がある暗号文を要素とする集合を当該暗号文が属する暗号文の類、X,Xが群Gに値を持つ確率変数、xが確率変数Xの実現値、xが確率変数Xの実現値、a,bが互いに素である自然数であり、
    演算結果u=f(C1)を生成する第一計算部と、
    演算結果v=f(C1)を生成する第二計算部と、
    前記演算結果uに対する値uと前記演算結果vに対する値vとが互いに同一の暗号文の類に属する場合に、a’a+b’b=1を満たす整数a’,b’についての値ub’a’を出力する最終出力部と、
    を有する再暗号化装置。
  13. 請求項1から11の何れかの再暗号化システムが有する能力提供装置。
  14. G,Hが有限可換群、fが第一暗号化方式に則って平文mを第一暗号化鍵yで暗号化して得られた群Hの元である第一暗号文C1が与えられたとき、当該第一暗号文C1を、第二暗号化方式に則って前記平文mを第二暗号化鍵yで暗号化して得られる群Gの元である第二暗号文f(C1)=C2に変換するための関数、前記第二暗号化方式に則って当該平文を前記第二暗号化鍵yで暗号化して得られる可能性がある暗号文を要素とする集合を当該暗号文が属する暗号文の類、X,Xが群Gに値を持つ確率変数、xが確率変数Xの実現値、xが確率変数Xの実現値、a,bが互いに素である自然数であり、
    再暗号化装置で、前記第一暗号文C1に対応する群Hの元である第一入力情報τ及び第二入力情報τを出力する入力情報提供ステップと、
    能力提供装置で、前記第一入力情報τを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第一出力情報zとする第一出力情報生成ステップと、
    前記能力提供装置で、前記第二入力情報τを用い、或る確率より大きな確率でf(τ)を正しく計算し、得られた演算結果を第二出力情報zとする第二出力情報生成ステップと、
    前記再暗号化装置で、前記第一出力情報zから演算結果u=f(C1)を生成する第一計算ステップと、
    前記再暗号化装置で、前記第二出力情報zから演算結果v=f(C1)を生成する第二計算ステップと、
    前記再暗号化装置で、前記演算結果uに対する値uと前記演算結果vに対する値vとが互いに同一の暗号文の類に属する場合に、a’a+b’b=1を満たす整数a’,b’についての値ub’a’を出力する最終出力ステップと、
    を有する再暗号化方法。
  15. G,Hが有限可換群、fが第一暗号化方式に則って平文mを第一暗号化鍵yで暗号化して得られた群Hの元である第一暗号文C1が与えられたとき、当該第一暗号文C1を、第二暗号化方式に則って前記平文mを第二暗号化鍵yで暗号化して得られる群Gの元である第二暗号文f(C1)=C2に変換するための関数、前記第二暗号化方式に則って当該平文を前記第二暗号化鍵yで暗号化して得られる可能性がある暗号文を要素とする集合を当該暗号文が属する暗号文の類、X,Xが群Gに値を持つ確率変数、xが確率変数Xの実現値、xが確率変数Xの実現値、a,bが互いに素である自然数であり、
    第一計算部で、演算結果u=f(C1)を生成する第一計算ステップと、
    第二計算部で、演算結果v=f(C1)を生成する第二計算ステップと、
    最終出力部で、前記演算結果uに対する値uと前記演算結果vに対する値vとが互いに同一の暗号文の類に属する場合に、a’a+b’b=1を満たす整数a’,b’についての値ub’a’を出力する最終出力ステップと、
    を有する再暗号化方法。
  16. 請求項14の再暗号化方法の第一出力情報生成ステップと第二出力情報生成ステップとを有する能力提供方法。
  17. コンピュータに請求項15の再暗号化方法の各ステップを実行させるためのプログラム。
  18. コンピュータに請求項16の能力提供方法の各ステップを実行させるためのプログラム。
JP2011088314A 2011-04-12 2011-04-12 再暗号化システム、再暗号化装置、能力提供装置、再暗号化方法、能力提供方法、及びプログラム Active JP5562284B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011088314A JP5562284B2 (ja) 2011-04-12 2011-04-12 再暗号化システム、再暗号化装置、能力提供装置、再暗号化方法、能力提供方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011088314A JP5562284B2 (ja) 2011-04-12 2011-04-12 再暗号化システム、再暗号化装置、能力提供装置、再暗号化方法、能力提供方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2012220834A true JP2012220834A (ja) 2012-11-12
JP5562284B2 JP5562284B2 (ja) 2014-07-30

Family

ID=47272375

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011088314A Active JP5562284B2 (ja) 2011-04-12 2011-04-12 再暗号化システム、再暗号化装置、能力提供装置、再暗号化方法、能力提供方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP5562284B2 (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012237881A (ja) * 2011-05-12 2012-12-06 Nippon Telegr & Teleph Corp <Ntt> 情報提供システム、仲介装置、情報提供装置、仲介方法、情報提供方法、及びプログラム
WO2014112523A1 (ja) 2013-01-16 2014-07-24 日本電信電話株式会社 復号サービス提供装置、処理装置、安全性評価装置、プログラム、および記録媒体
WO2015008605A1 (ja) 2013-07-18 2015-01-22 日本電信電話株式会社 計算装置、計算方法、およびプログラム
JP2015022097A (ja) * 2013-07-18 2015-02-02 日本電信電話株式会社 復号方法、鍵クラウドシステム、復号能力提供装置、端末装置、およびプログラム
US20150180661A1 (en) * 2012-08-08 2015-06-25 Kabushiki Kaisha Toshiba Re-encryption key generator, re-encryption device, encryption device, decryption device, and program
EP2924911A1 (en) 2014-03-24 2015-09-30 Fujitsu Limited Secure Pattern Matching using Somewhat Homomorphic Encryption
JP2015177506A (ja) * 2014-03-18 2015-10-05 国立研究開発法人情報通信研究機構 暗号データ更新システム、暗号データ更新方法
WO2018102382A1 (en) * 2016-11-29 2018-06-07 ZeroDB, Inc. Method and system for switching public keys in ciphertexts
WO2019235102A1 (ja) * 2018-06-08 2019-12-12 日本電信電話株式会社 変換鍵生成装置、暗号文変換装置、復号装置、暗号文変換システム、変換鍵生成方法、暗号文変換方法、復号方法、及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007295444A (ja) * 2006-04-27 2007-11-08 Nippon Telegr & Teleph Corp <Ntt> 匿名暗号文通信システム、鍵生成装置、通信装置、それらの方法、プログラム及び記録媒体
WO2011086992A1 (ja) * 2010-01-12 2011-07-21 日本電信電話株式会社 代理計算システム、方法、依頼装置、プログラム及びその記録媒体
JP2012220814A (ja) * 2011-04-12 2012-11-12 Nippon Telegr & Teleph Corp <Ntt> 復号制御システム、復号能力提供装置、復号制御方法、復号能力提供方法、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007295444A (ja) * 2006-04-27 2007-11-08 Nippon Telegr & Teleph Corp <Ntt> 匿名暗号文通信システム、鍵生成装置、通信装置、それらの方法、プログラム及び記録媒体
WO2011086992A1 (ja) * 2010-01-12 2011-07-21 日本電信電話株式会社 代理計算システム、方法、依頼装置、プログラム及びその記録媒体
JP2012220814A (ja) * 2011-04-12 2012-11-12 Nippon Telegr & Teleph Corp <Ntt> 復号制御システム、復号能力提供装置、復号制御方法、復号能力提供方法、及びプログラム

Non-Patent Citations (4)

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

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012237881A (ja) * 2011-05-12 2012-12-06 Nippon Telegr & Teleph Corp <Ntt> 情報提供システム、仲介装置、情報提供装置、仲介方法、情報提供方法、及びプログラム
US9819487B2 (en) * 2012-08-08 2017-11-14 Kabushiki Kaisha Toshiba Re-encryption key generator, re-encryption device, encryption device, decryption device, and program
US20150180661A1 (en) * 2012-08-08 2015-06-25 Kabushiki Kaisha Toshiba Re-encryption key generator, re-encryption device, encryption device, decryption device, and program
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
WO2014112523A1 (ja) 2013-01-16 2014-07-24 日本電信電話株式会社 復号サービス提供装置、処理装置、安全性評価装置、プログラム、および記録媒体
CN105393491B (zh) * 2013-07-18 2019-04-19 日本电信电话株式会社 计算装置、计算方法以及记录介质
JP2015022097A (ja) * 2013-07-18 2015-02-02 日本電信電話株式会社 復号方法、鍵クラウドシステム、復号能力提供装置、端末装置、およびプログラム
CN105393491A (zh) * 2013-07-18 2016-03-09 日本电信电话株式会社 计算装置、计算方法以及程序
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
JP2015177506A (ja) * 2014-03-18 2015-10-05 国立研究開発法人情報通信研究機構 暗号データ更新システム、暗号データ更新方法
EP2924911A1 (en) 2014-03-24 2015-09-30 Fujitsu Limited Secure Pattern Matching using Somewhat Homomorphic Encryption
US9438423B2 (en) 2014-03-24 2016-09-06 Fujitsu Limited Encryption device, encryption method, and information processing device
WO2018102382A1 (en) * 2016-11-29 2018-06-07 ZeroDB, Inc. Method and system for switching public keys in ciphertexts
WO2019235102A1 (ja) * 2018-06-08 2019-12-12 日本電信電話株式会社 変換鍵生成装置、暗号文変換装置、復号装置、暗号文変換システム、変換鍵生成方法、暗号文変換方法、復号方法、及びプログラム
JP2019211735A (ja) * 2018-06-08 2019-12-12 日本電信電話株式会社 変換鍵生成装置、暗号文変換装置、復号装置、暗号文変換システム、変換鍵生成方法、暗号文変換方法、復号方法、及びプログラム
JP7119605B2 (ja) 2018-06-08 2022-08-17 日本電信電話株式会社 暗号文変換システム、暗号文変換方法、及びプログラム
US11450238B2 (en) 2018-06-08 2022-09-20 Nippon Telegraph And Telephone Corporation Conversion key generation apparatus, encrypted text conversion apparatus, decryption apparatus, encrypted text conversion system, conversion key generation method, encrypted text conversion method, decryption method, and program

Also Published As

Publication number Publication date
JP5562284B2 (ja) 2014-07-30

Similar Documents

Publication Publication Date Title
JP5562284B2 (ja) 再暗号化システム、再暗号化装置、能力提供装置、再暗号化方法、能力提供方法、及びプログラム
JP5491638B2 (ja) 代理計算システム、計算装置、能力提供装置、代理計算方法、能力提供方法、プログラム、及び記録媒体
JP5424974B2 (ja) 暗号処理システム、鍵生成装置、暗号化装置、復号装置、署名処理システム、署名装置及び検証装置
US8938068B2 (en) Functional encryption applied system, information output apparatus, information processing apparatus, encryption protocol execution method, information output method, information processing method, program and recording medium
JP5618881B2 (ja) 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
KR101588992B1 (ko) 암호 시스템, 암호 방법 및 암호 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
KR102423885B1 (ko) 연산 에러 검출이 가능한 준동형 암호 방법 및 그 시스템
KR101606317B1 (ko) 암호 시스템, 암호 방법, 암호 프로그램을 기록한 컴퓨터 판독가능한 기록 매체 및 복호 장치
JP5921410B2 (ja) 暗号システム
Lee et al. Anonymous HIBE with short ciphertexts: full security in prime order groups
KR101423956B1 (ko) 속성 기반 암호화 시스템 및 그 방법
JP5596616B2 (ja) 情報提供システム、仲介装置、仲介方法、情報提供方法、及びプログラム
JP2010160235A (ja) 検索システム、端末装置、データベース装置、検索方法及びプログラム
JP2013217970A (ja) 格子問題に基づく階層型内積暗号システム,格子問題に基づく階層型内積暗号方法,装置
Gaidhani et al. A SURVEY REPORT ON TECHNIQUES FOR DATA CONFIDENTIALITY IN CLOUD COMPUTING USING HOMOMORPHIC ENCRYPTION.
JP5097137B2 (ja) 暗号通信システム、端末装置、秘密鍵生成方法及びプログラム
Zhou et al. Secure fine-grained access control of mobile user data through untrusted cloud
JP5366755B2 (ja) データ編集システム、書込み装置、読取装置及びデータ編集方法
JP5912281B2 (ja) 復号結果検証装置、方法、システム及びプログラム
JP2012154977A (ja) 関数暗号を用いた時限暗号システム、時限暗号方法、装置、プログラム

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140318

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140516

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140610

R150 Certificate of patent or registration of utility model

Ref document number: 5562284

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150