説明

紛失通信システム、紛失通信方法、およびプログラム

【課題】暗号文のサイズを削減した効率的な適応的紛失通信を提供する。
【解決手段】本発明の紛失通信システム10は、システムパラメータ生成装置100、送信装置200、受信装置300からなる。システムパラメータ生成装置100は、セキュリティパラメータλを入力とし、共通参照情報crsを生成する。送信装置200は、文書m,…,mを入力とし、暗号化データベースTを生成する。受信装置300は、暗号化データベースTとインデックスを入力とし、要求Qを生成する。送信装置200は、要求Qを入力とし、ブラインド復号結果aと非対話ゼロ知識証明δを含む返信Rを生成する。受信装置300は、返信Rを入力とし、文書mξを出力する。暗号方式として、変形Boneh−Franklin暗号を用いることで、乱数は1つの利用でありながら汎用的結合可能性を維持している。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は電気通信システムでデータベースにおける情報検索などに利用される紛失通信システム、紛失通信方法、およびプログラムに関する。
【背景技術】
【0002】
適応的紛失通信とは、ある受信者が文書(m,…,m)(以下、Nは2以上の正の整数)を持つある送信者と通信を行い、受信者が指定した番号bに対応する文書mを得る方法である。送信者は番号bについて一切知ることができない。受信者は指定した文書以外を得ることはできない。かつ上記の通信を適応的に何度も繰り返すことができる。この技術は安全なデータベース検索などに応用可能である。従来の適応的紛失通信で、汎用的結合可能性と呼ばれる高い安全性を達成している代表的なものに非特許文献1および非特許文献2がある。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】M. Green and S. Hohenberger. Universally Composable Adaptive Oblivious Transfer. In ASIACRYPT’08, volume 5350 of Lecture Notes in Computer Science, pages 179-197. Springer, 2008.
【非特許文献2】A. Rial, M. Kohlweiss, and B. Preneel. Universally Composable Adaptive Priced Oblivious Transfer. In Pairing, volume 5671 of Lecture Notes in Computer Science, pages 231-247. Springer, 2009.
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、非特許文献1では群の要素に対して署名が可能な署名方式を利用しているため非常に特殊な暗号学仮定を必要とし、安全性の根拠において通常の暗号学的仮定を用いたものと比較して信頼性が低い。また、非特許文献2では群要素に対して署名可能な方式は利用しないが、値段付き適応的紛失通信という、機能追加した方式であり、かつ安全性を証明するために通常の署名より強い安全性をもつ署名方式を利用している。そのため、上記とは別の強い暗号学的仮定が必要になり、やはり安全性の根拠において通常の暗号学的仮定を用いたものと比較して信頼性が低い。
【0005】
本願の出願人による未公開の先願である特願2011−96184号に記載されている方式では、特殊な暗号学的仮定を用いる問題を解決し、標準的な暗号学的仮定である判定線形仮定だけを用いることで、汎用的結合可能性を持つ適応的紛失通信を実現している。しかし、利用している暗号方式が乱数を2つ用いる方式であるため、署名の数が多く、暗号文のサイズが大きくなり非効率的であるという問題が解決されていなかった。
【0006】
そこで、本発明では、標準的な暗号学的仮定だけを用い、かつ汎用的結合可能性をもつことが証明可能でありながら、暗号文のサイズを削減した効率的な適応的紛失通信を実現できる紛失通信システムを提供する。
【課題を解決するための手段】
【0007】
本発明の紛失通信システムは、システムパラメータ生成装置、送信装置、受信装置からなる。システムパラメータ生成装置は、双線形写像パラメータ生成部と送信装置用パラメータ生成部と受信装置用パラメータ生成部と係数生成部とシステムパラメータ生成部を備える。双線形写像パラメータ生成部は、セキュリティパラメータλを入力とし、λビットの素数と、当該素数位数の巡回乗法群と、巡回乗法群の生成元と、双線形写像を含む、双線形写像パラメータを生成する。送信装置用パラメータ生成部は、Groth−Sahai証明のパラメータ設定アルゴリズムを実行して、Groth−Sahai証明の送信装置用パラメータを生成する。受信装置用パラメータ生成部は、Groth−Sahai証明のパラメータ設定アルゴリズムを実行して、Groth−Sahai証明の受信装置用パラメータを生成する。係数生成部は、生成元から係数群を計算する。システムパラメータ生成部は、双線形写像パラメータと送信装置用パラメータと受信装置用パラメータと係数群から、共通参照情報を生成し、共通参照情報を送信装置および受信装置へ送信する。
【0008】
送信装置は、鍵対生成部と鍵生成部と署名生成部と暗号文生成部と暗号化データベース生成部と知識識別不可能証明検証部とブラインド復号部と非対話ゼロ知識証明生成部と返信生成部と秘密鍵記録部を備える。鍵対生成部は、Waters双対署名の鍵生成アルゴリズムを実行して、Waters双対署名の鍵対を生成する。鍵生成部は、秘密鍵を生成し、鍵対と秘密鍵から計算した係数から、公開鍵を生成する。署名生成部は、0以上p−1以下のランダムな整数ρ,…,ρを選択し、Waters双対署名の署名生成アルゴリズムを実行して、乱数ρ,…,ρに対する署名を生成する。暗号文生成部は、文書m,…,m(Nは2以上の正の整数)を入力とし、文書m(jは1以上N以下の整数)と公開鍵と乱数ρと署名と鍵対と共通参照情報から、変形Boneh−Franklin暗号の暗号文Cを求め、暗号文C,…,Cを生成する。暗号化データベース生成部は、公開鍵と暗号文C,…,Cから、暗号化データベースを生成し、暗号化データベースを受信装置に送信する。知識識別不可能証明検証部は、要求Qを入力とし、Groth−Sahai証明の証明検証アルゴリズムを実行して、要求Qに含まれる知識識別不可能証明を検証する。ブラインド復号部は、知識識別不可能証明が正しい場合に、秘密鍵と共通参照情報を用いて、ブラインド復号結果を生成する。非対話ゼロ知識証明生成部は、要求Qとブラインド復号結果と公開鍵と秘密鍵と共通参照情報を用いて、Groth−Sahai証明の非対話ゼロ知識証明を生成する。返信生成部は、ブラインド復号結果と非対話ゼロ知識証明から、返信Rを生成し、返信Rを受信装置へ送信する。秘密鍵記録部は、共通参照情報と暗号化データベースと秘密鍵を記録する。
【0009】
受信装置は、署名検証部と再ランダム化部と知識識別不可能証明生成部と要求生成部と非対話ゼロ知識証明検証部と復号部と要求記録部を備える。署名検証部は、暗号化データベースとインデックスξを入力とし、Waters双対署名の署名検証アルゴリズムを実行して、暗号文C,…,Cに含まれる署名を検証し、暗号文C毎に各要素が同一の乱数から生成されていることを検証し、暗号文C,…,C全てについて署名が正しい署名であると判定され、暗号文C毎に各要素が同一の乱数から生成されていると判定された場合には、インデックスξで指定した暗号文Cξを出力する。再ランダム化部は、公開鍵と共通参照情報を用いて、暗号文Cξから、再ランダム化暗号文を生成する。知識識別不可能証明生成部は、暗号文Cξと再ランダム化暗号文と公開鍵と共通参照情報から、知識識別不可能証明および知識識別不可能証明検証手段で利用される係数θを生成する。要求生成部は、再ランダム化暗号文と知識識別不可能証明から、要求Qを生成し、要求Qおよびインデックスξから、Qprivを生成し、要求Qと係数θを送信装置に送信する。非対話ゼロ知識証明検証部は、返信Rを入力とし、Groth−Sahai証明の証明検証アルゴリズムによって、非対話ゼロ知識証明を検証する。復号部は、非対話ゼロ知識証明が正しい場合に、Qprivと暗号文Cξと共通参照情報を用いて、ブラインド復号結果から、文書mξを計算して出力する。要求記録部は、共通参照情報と暗号化データベースと公開鍵と要求QとQprivを記録する。
【発明の効果】
【0010】
本発明の紛失通信システムは、暗号方式として、Boneh−FranklinのIDベース暗号を変形した変形Boneh−Franklin暗号を用いることで、乱数は1つの利用でありながら汎用的結合可能性を持たせることが可能となっている。
【0011】
したがって、本発明の紛失通信システムによれば、安全性の根拠となる仮定が標準的であり、かつ暗号文サイズが小さい効率的な適応的紛失通信を実現できる。
【図面の簡単な説明】
【0012】
【図1】実施例1に係る紛失通信システムの構成を示すブロック図。
【図2】実施例1に係る紛失通信システムの動作を示すシーケンス図。
【図3】実施例1のシステムパラメータ生成装置の動作を示すフローチャート。
【図4】実施例1の送信装置が暗号化データベースを生成する動作を示すフローチャート。
【図5】実施例1の受信装置が要求を生成する動作を示すフローチャート。
【図6】実施例1の送信装置が返信を生成する動作を示すフローチャート。
【図7】実施例1の受信装置が復号する動作を示すフローチャート。
【図8】本発明の紛失通信システムと従来技術との違いを示す表。
【発明を実施するための形態】
【0013】
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
【0014】
本明細書では、Nを2以上の整数、^をべき乗を示す記号とする。
【数1】

と表記されている場合、アルゴリズム内部で乱数を発生させてランダムに出力することを意味する。また、
【数2】

と表記されている場合、素数pを法とする整数環Zからランダムに値を選択することを意味する。
【0015】
本発明では、Groth−Sahai証明を利用する。Groth−Sahai証明のアルゴリズム、簡単な説明は付録Cを参照されたい(完全な詳細は、「J. Groth and A. Sahai. Efficient Non-interactive Proof Systems for Bilinear Groups. In EUROCRYPT’08, volume 4965 of Lecture Notes in Computer Science, pages 415-432. Springer, 2008.」参照)。双線形写像については付録Aを、Waters双対署名については付録B1を、変形Boneh−Franklin暗号については付録B2を参照されたい。
【実施例1】
【0016】
まず、図1、図2を参照して、本発明の実施例1に係る紛失通信システム10の動作の概略を説明する。図1は本実施例に係る紛失通信システム10の構成を示すブロック図である。図2は本実施例に係る紛失通信システム10の動作を示すシーケンス図である。
【0017】
本実施例の紛失通信システム10は、システムパラメータ生成装置100、送信装置200、受信装置300からなる。
【0018】
システムパラメータ生成装置100は、セキュリティパラメータλを入力とし、共通参照情報crsを生成し、送信装置200および受信装置300に送信する(S101)。送信装置200は、文書m,…,mを入力とし、公開鍵pkと暗号文C,…,Cを含む暗号化データベースTを生成し、暗号化データベースTを受信装置300に送信する(S201)。受信装置300は、暗号化データベースTとインデックスξを入力とし、再ランダム化暗号文dと知識識別不可能証明πを含む要求Qを生成し、送信装置200へ送信する(S301)。送信装置200は、要求Qを入力とし、ブラインド復号結果aと非対話ゼロ知識証明δを含む返信Rを生成し、受信装置300に送信する(S202)。受信装置300は、返信Rを入力とし、文書mξを出力する(S302)。
【0019】
次に、図3から図7を参照して、本発明の実施例1に係る紛失通信システム10の動作をさらに詳細に説明する。図3は本実施例のシステムパラメータ生成装置がシステムパラメータを生成する動作を示すフローチャートである。図4は本実施例の送信装置が暗号化データベースを生成する動作を示すフローチャートである。図5は本実施例の受信装置が要求を生成する動作を示すフローチャートである。図6は本実施例の送信装置が返信を生成する動作を示すフローチャートである。図7は本実施例の受信装置が復号する動作を示すフローチャートである。
【0020】
以下、実際に行われる手続きの順に説明してゆく。前述したように本実施例の紛失通信システム10はシステムパラメータ生成装置100、送信装置200、受信装置300からなる。システムパラメータ生成装置100は、双線形写像パラメータ生成部110と送信装置用パラメータ生成部120と受信装置用パラメータ生成部130と係数生成部140とシステムパラメータ生成部150を備える。
【0021】
双線形写像パラメータ生成部110は、セキュリティパラメータλを入力とし、λビットの素数pと、素数位数pの巡回乗法群GおよびGと、前記巡回乗法群Gの生成元gと、双線形写像eを含む、双線形写像パラメータΓ:=(p,G,G,e,g)を生成する(S110)。
【0022】
送信装置用パラメータ生成部120は、Groth−Sahai証明のパラメータ設定アルゴリズムGS.Setup(Γ)を実行して、Groth−Sahai証明の送信装置用パラメータGSを生成する(S120)。
受信装置用パラメータ生成部130は、Groth−Sahai証明のパラメータ設定アルゴリズムGS.Setup(Γ)を実行して、Groth−Sahai証明の受信装置用パラメータGSRを生成する(S130)。
【0023】
係数生成部140は、0以上p−1以下の整数からランダムに冪指数ζおよびyを選択し、g:=g^ζおよびh:=g^yを計算する(S140)。
システムパラメータ生成部150は、双線形写像パラメータΓと送信装置用パラメータGSと受信装置用パラメータGSRと係数gおよび係数hから、共通参照情報crs:=(Γ,GS,GS,g,h)を生成し、共通参照情報crsを送信装置200および受信装置300へ送信する(S150)。
【0024】
送信装置200は、鍵対生成部210と鍵生成部215と署名生成部220と暗号文生成部225と暗号化データベース生成部230と秘密鍵記録部290を備える。
鍵対生成部210は、Waters双対署名の鍵生成アルゴリズムW.Gen(Γ)を実行して、Waters双対署名の鍵対(VK,SK)を生成する(S210)。
【0025】
鍵生成部215は、0以上p−1以下のランダムな秘密鍵αを生成し、秘密鍵αと共通参照情報crsを用いて、g:=g^αを計算し、鍵対VKと係数gから、公開鍵pk:=(g,VK)を生成する(S215)。
署名生成部220は、文書m,…,mを入力とし、j=1,…,Nに対して、0以上p−1以下のランダムな整数ρを選択し、Waters双対署名の署名生成アルゴリズムW.Sign(ρ)を実行して、乱数ρに対する署名sigを生成する(S220)。
【0026】
暗号文生成部225は、文書m,…,mと公開鍵pkと乱数ρと署名sigと鍵対VKに含まれる値uと共通参照情報crsから、変形Boneh−Franklin暗号の暗号文C=(c1j,c2j,c3j,c4j,c5j)をC:=(g^ρ,h^ρ,m・e(g,g),sig,u^ρ)のように生成する(S225)。
暗号化データベース生成部230は、公開鍵pkと暗号文C,…,Cから、暗号化データベースT:=(pk,C,…,C)を生成し、暗号化データベースTを受信装置300に送信する(S230)。
【0027】
秘密鍵記録部290は、秘密鍵αを記録する(S290)。
受信装置300は、署名検証部310と再ランダム化部315と知識識別不可能証明生成部320と要求生成部325と要求記録部390を備える。
【0028】
署名検証部310は、暗号化データベースTとインデックスξを入力とし、j=1,…,Nのすべてについて暗号文Cに含まれる署名sigを、Waters双対署名の署名検証アルゴリズムW.Vrfyを実行して、検証する(S311)。署名sigのいずれかが正しい署名でないと判定されると停止する(S3904)。j=1,…,Nのすべてについて暗号文Cに含まれるc1jとc2jが、e(h,c1j)=e(c2j,g)を満たすことを検証する(S312)。いずれかが満たさないと判定されると停止する(S3905)。暗号文C,…,C全てについて署名sigが正しい署名であると判定され、暗号文C,…,C全てについて暗号文C毎に各要素が同一の乱数から生成されていると判定された場合には、インデックスξで指定した暗号文Cξを出力する(S313)。
【0029】
再ランダム化部315は、0以上p−1以下の整数からランダムに冪指数vを選択し、公開鍵pkと共通参照情報crsと暗号文Cξに含まれるc1ξを用いて、d:=c1ξ・g^vおよびt:=g^vを計算し、再ランダム化暗号文dを生成する(S315)。
【0030】
知識識別不可能証明生成部320は、暗号文Cξに含まれる署名sigξの生成に利用された0以上p−1以下のランダムな整数tagと、Waters双対署名sigξの検証に利用された0以上p−1以下のランダムな整数tagcを用いて、sigξ\{tag}:=(ρ,…,ρ)はWaters双対署名からtagを除いたものとして、θ:=1/(tag−tag)を生成し、暗号文Cξと再ランダム化暗号文dと公開鍵pkと共通参照情報crsを用いて、知識識別不可能証明πを
【数3】

により生成する(S320)。なお、記法
【数4】

は共通参照情報GSの下で、コロン以降の等式を満たす知識W=(w,w)の非対話知識識別不可能証明を表す。括弧でくくられた(w,w)以外の情報は検証者に知られているものとする。
【0031】
要求生成部325は、再ランダム化暗号文dと知識識別不可能証明πから、要求Q:=(d,π)を生成し、要求Qとインデックスξと乱数vから、Qpriv:=(Q,ξ,v)を生成し、要求Qおよび係数θを送信装置200に送信する(S325)。
要求記録部390は、要求QおよびQprivを記録する(S390)。
送信装置200は、さらに、知識識別不可能証明検証部235とブラインド復号部240と非対話ゼロ知識証明生成部245と返信生成部250を備える。
【0032】
知識識別不可能証明検証部235は、要求Qを入力とし、Groth−Sahai証明の証明検証アルゴリズムGS.Vrfy(GS,π)を実行して、要求Qに含まれる知識識別不可能証明πを検証する(S235)。正しい証明でない場合は、停止する(S2911)。
【0033】
ブラインド復号部240は、知識識別不可能証明πが正しい場合に、秘密鍵αと共通参照情報crsを用いて、要求Qに含まれる再ランダム化暗号文dから、a:=e(d,g^1/α)を計算し、ブラインド復号結果aを生成する(S240)。
【0034】
非対話ゼロ知識証明生成部245は、再ランダム化暗号文dとブラインド復号結果aと公開鍵pkと秘密鍵αと共通参照情報crsを用いて、Groth−Sahai証明の非対話ゼロ知識証明δを
【数5】

により生成する(S245)。
【0035】
返信生成部250は、ブラインド復号結果aと非対話ゼロ知識証明δから、返信R:=(a,δ)を生成し、返信Rを受信装置300へ送信する(S250)。
受信装置300は、さらに、非対話ゼロ知識証明検証部330と復号部335を備える。
【0036】
非対話ゼロ知識証明検証部330は、返信Rを入力とし、Groth−Sahai証明の証明検証アルゴリズムGS.Vrfy(GS,δ)=1によって、非対話ゼロ知識証明δを検証する(S330)。正しい証明でない場合は、停止する(S3911)。
復号部335は、非対話ゼロ知識証明δが正しい場合に、Qprivと暗号文Cξと共通参照情報crsを用いて、mξ:=c3ξ・e(g,g)^v/aを計算して、ブラインド復号結果aから文書mξを出力する(S335)。
【0037】
このように、本実施例の紛失通信システム10は、暗号方式として、Boneh−FranklinのIDベース暗号を変形した変形Boneh−Franklin暗号を用いることで、乱数は1つの利用でありながら汎用的結合可能性を持たせることが可能となっている。したがって、本実施例の紛失通信システム10によれば、安全性の根拠となる仮定が標準的であり、かつ暗号文サイズが小さい効率的な適応的紛失通信を実現できる。
【0038】
<本発明と従来技術の比較>
次に、図8を参照して、本発明と従来技術との比較について説明する。図8は本発明の紛失通信システムと従来技術との違いを示す表である。図8は、左隅列に本明細書における非特許文献番号を記した。また、UCとは安全性が汎用的結合可能性を満たしていることを示す。q−hiddenLRSW仮定など、q−が接頭についている仮定は、暗号の分野でq−仮定と呼ばれ、標準的な暗号学的仮定であるRSA仮定、DBDH(判定双線形Diffie−Hellman)仮定、DLIN(判定線形)仮定に比べて安全性の根拠に信頼がおけない。πは送信装置が生成する知識識別不可能証明を表しており、|π|はその群要素の数を表している。知識識別不可能証明のサイズは表では同一として扱ったが厳密にはそれぞれのサイズは異なる。しかしこのサイズは暗号文のπ以外の群要素数に比例して大きくなるので提案方式のπのサイズは他のものと比べて大きくならない。他の方式と比べてDBDH仮定が必要になっているが、DBDH仮定はごく標準的な仮定であるので、安全性は信頼できる。
【0039】
非特許文献1、2の紛失通信システムでは、送信装置は線形暗号方式により暗号文(u^ρ,u^ρ,g^ρ,g^ρ,ζ^ρ+ρ・m)を生成し、群Gの要素であるu^ρとu^ρへの署名を生成するか(非特許文献1の方式)、Zの要素ρとρへの署名を生成し(非特許文献2の方式はこれに近い)、これらを受信装置に送信している。つまり署名が少なくとも2つ必要になる。
【0040】
つまり線形暗号を利用する限り、複数の署名が必要になり暗号文サイズが大きくなってしまうことは避けられない。しかし線形暗号は汎用的結合可能性を持たせるために重要な役割を果たしており、他の暗号方式で代用可能かは自明ではない。
【0041】
本発明では変形Boneh−Franklin暗号を用いることで乱数は1つの利用でありながら、かつ汎用的結合可能性を維持することが可能となっている。これは以下の2つの理由による。まずパラメータとして余分にhを用意し乱数ρを用いてh^ρも暗号文に含めることによって暗号文の正しさをチェック可能にしている。次に、通常の暗号方式の場合、単純なパラメータを乱数によってランダム化することが普通であるが(例えばパラメータΓ=(p,g,G,G,e)に対して0以上p−1以下のランダムな整数ρを用いてg^ρを計算する)、変形方式では公開鍵を乱数によってランダム化している(公開鍵g=g^αを0以上p−1以下のランダムな整数ρを用いてg^ρを計算する)。よって線形暗号を利用せずとも汎用的結合可能性を持たせることが可能となっている。
<本発明と従来技術の比較おわり>
【0042】
<付録A:ペアリング>
双線型性を満たすペアリングと呼ばれる演算は楕円曲線上の二点に定義される。なお、楕円曲線上の群は普通加法群であるが、暗号理論学会での慣習に従い乗法群として記述する。
【0043】
GとGを位数pの群とする。ここでpは十分大きい素数である。この二つの群の間の双線型写像e:G×G→Gは以下の性質を満たす。
双線型性:任意のg,h∈Gおよび任意のa,b∈Zに対してe(g,h)=e(g,h)abが成立する。
非退化性:e(g,g)≠1を満たすgが存在する。つまり、もしgがGの生成元ならe(g,g)はGの生成元である。
計算可能性:任意のg,h∈Gに対して、e(g,h)は効率的に(つまり多項式時間で)計算可能である。詳しくは「D. Boneh and M. K. Franklin. Identity-Based Encryption from the Weil Pairing. In CRYPTO’01,volume 2139 of Lecture Notes in Computer Science, pages 213-229. Springer, 2001.」や「黒澤馨著“現代暗号への招待”(サイエンス社)」の13章を参照されたい。
<付録A:ペアリングおわり>
【0044】
<付録B:ディジタル署名>
[B1:Waters双対署名]
Watersが提案した署名を説明する(B. Waters. Dual System Encryption: Realizing Fully Secure IBE and HIBE under Simple Assumptions.In CRYPTO’09, volume 5677 of Lecture Notes in Computer Science, pages 619-636. Springer,2009.)。本明細書ではこれをWaters双対署名と呼ぶ。
【0045】
鍵生成W.Gen(Γ):セキュリティパラメータλとΓ=(p,G,G,e,g)を入力とし、生成元v,v,v,w,u,hを群Gからランダムに選び、0以上p−1以下のランダムな整数a,a,b,αを選ぶ。τ:=vv^a,τ:=vv^aとし、検証鍵と秘密鍵をVK:=(g,g^b,g^a,g^a,g^ba,g^ba,τ,τ,τ^b,τ^b,w,u,h,e(g,g)^αab),SK:=(VK,g^α,g^αa,v,v,v)とする。
【0046】
署名生成W.Sign(SK,M):0以上p−1以下のランダムな整数r,r,z,z,tagを選び、r:=r+rとする。署名をσ:=g^αa・v^r,σ:=g^−α・v^r・g^z,σ:=(g^b)^−z,σ:=v^r・g^z,σ:=(g^b)g^−z,σ:=(g^b)^r,σ:=g^r,σ:=(u^M・w^tag・h)^rと生成し、sig:=(σ,…,σ,σ,tag)を出力する。
【0047】
署名検証W.Vrfy(VK,M,sig):VK,Mと署名σを入力とし、0以上p−1以上のランダムな整数s,s,t,tagを選び、s:=s+sとする。次にV:=(g)^s,V:=(g^ba)^s,V:=(g^a)^s,V:=(g^ba)^s,V:=(g^a)^s,V:=τ^s・τ^s,V:=(τ^b)^s(τ^b)^s・w^−t,E:=(u^M・w^tag・h)^t,E:=g^tを生成し、もしtag−tag≠0ならば、
【数6】

を確認し、これが成立するときかつそのときに限り正当な署名とする。なお、θ:=1/(tag−tag)と置き、u,q∈についてu^M,q^Mが与えられたとき、上記の検証式に加えてe(u^M、q)=e(q^M,u)を検証するアルゴリズムを
【数7】

と書くことにする。
【0048】
[B2:変形Boneh−Franklin暗号]
本発明の中で用いた暗号方式はBoneh−FranklinのIDベース暗号(D. Boneh and M. K. Franklin. Identity-Based Encryption from the Weil Pairing. SIAM J. Comput., 32(3):586-615, 2003.)を変形したものである。
【0049】
Setup(Γ):0以上p−1以下のランダムな整数αを選びg:=g^αを計算する。またg,hを群Gからランダムに選ぶ。公開鍵をPK:=(g,g,g,h),秘密鍵をMK:=g^1/αとする(αそのものが秘密鍵でもよい)。
EncPK: 0以上p−1以下のランダムな整数rを選び、暗号文C:=(C,C,C):=(e(g,g)^r・M,g^r,h^r)を計算する。
【0050】
DecPK:M:=C/e(C,g^1/α)を計算して復号する。
F−署名:選択メッセージ攻撃に対してF−セキュアと呼ばれるより強い安全性の定義を考える。Fを効率的に計算可能な全単射であるものとする。署名スキームSig=Sig.{Gen,Sign,Vrfy}は、以下のゲームによるアドバンテージが無視できるほど小さい場合には、選択メッセージ攻撃下においてF−セキュアと呼ばれる。
【0051】
手順1(セットアップ):挑戦者は、
【数8】

を発生させてvkを攻撃者に送る。
【0052】
手順2(質問):攻撃者はメッセージM∈Mを挑戦者に送り、挑戦者は
【数9】

を返信する。これらの質問はi=1〜Nまで適応的に挑戦者に送信される。ここで
【数10】

を攻撃者からの質問であるメッセージのセットM,…,M∈Mを表すものとする。
【0053】
手順3(出力):攻撃者は(y,σ)を出力する。
【数11】


【数12】

とした場合に、
【数13】

かつ、
【数14】

が成り立つ場合には、攻撃者がゲームに勝利したことになる。
【0054】
ここで、
【数15】

を、攻撃者Αがゲームに勝利する確率と定義して、全てのPPT攻撃者Αについて、
【数16】

が成り立つとき、署名スキームSigは、選択メッセージ攻撃に対するF−セキュアである。
<付録B:ディジタル署名おわり>
【0055】
<付録C:Groth−Sahai証明>
Groth−Sahai証明システムでは等式の充足可能性(例えばペアリング生成等式)に対して、効率的に非対話識別不可能(NIWI)証明、非対話ゼロ知識(NIZK)証明を行うことができる。証明システムはGroth−Sahaiコミットメントスキームに基づいている。
【0056】
Groth−Sahaiコミットメントスキーム:本スキームでは、まず、双線形写像パラメータ
【数17】

を生成する。
GS.ComSetup(Γ):共通参照情報crsGSCを出力する。
【0057】
GS.Commit(crsGSC,m,d):コミットm∈Gである入力m、共通参照情報crsGSC、デコミットメントd、として出力コミットメント
【数18】

を生成する。
【0058】
GS.ExpCom(crsGSC,m,b,d):入力m∈Z、基数b∈G、共通参照情報crsGSC、デコミットメントd、cを
【数19】

として、出力(b,c)を生成する。
【0059】
GS.Opening(crsGSC,c,m,d):dが(m,c)に対して正当なデコミットメントである場合、1を出力する。それ以外の場合は、0を出力する。すなわち、
【数20】

である。(b,c)がmの累乗で約束される検証の場合には、
【数21】

となる。
【0060】
Groth−Sahaiコミットメントスキームの共通参照情報には2タイプの生成物が存在する。1つのタイプではコミットメントが完全拘束であり、計算量的拘束であり抽出可能である。もう1つのタイプでは、コミットメントが完全秘匿であり、計算量的拘束であり曖昧性を持つ。これらの2つのタイプは計算量的識別不可能である。本証明システムは例えばDLIN仮定などの暗号学的仮定裏付けられている(以下、本説明ではDLIN仮定を用いるものとする)。ステートメントSは、変数{x,{y∈G(i∈[m],j∈[n])と、定数{a,{b∈G(q∈[Q]),t∈G,{αq,i},q,i,{βq,jq,j∈Zpと、G内の値であるコミットメント{c,{dにより構成される。GrothとSahaiは、非対話知識証明(NIPK)の構築を以下の式で表した。
【数22】

【0061】
この証明πはコミットメントc,…,c,d,…,dを含む。GrothとSahaiは、これらのコミットメントからペアリング生成式を満足する値x,…,x,y,…,yを開くことのできる効率的な抽出機を提供する。ここで、CamenischとStadlerの記法(J. Camenisch and M. Stadler. Efficient Group Signature Schemes for Large Groups (ExtendedAbstract). In CRYPTO’97, volume 1294 of Lecture Notes in Computer Science, pages 410-424.Springer, 1997.)、例えば、
【数23】

を用いる。
【0062】
本システムでは、証明者は同形のコミットメントスキームと共通参照情報CRSとを用いてwitness(証拠、群の元)を遂行する。共通参照情報CRSには2つのタイプが存在する。1つのタイプは完全拘束コミットメントスキームを、もう1つのタイプは完全秘匿コミットメントスキームを与える。これらの2つのタイプは計算量的識別不可能である。
【0063】
証明システム:証明システムは以下のアルゴリズムにより構成される。
GS.Setup(Γ):入力
【数24】

を実行して、出力である証明システムの共通参照情報GSを生成する。共通参照情報GSは、コミットメントスキームの共通参照情報crsGSCを含む。
【0064】
GS:Prove(GS,S,W):ステートメントSと、証拠W∈{xとを入力とし、証明πを出力する。
GS.Vrfy(GS,π):証明πを入力とし、照明を検証し、正当であれば1を出力し、それ以外は0を出力する。
GS.ExtSetup(Γ):共通参照情報GS(その分布は通常の共通参照情報と一致する)と、正当な証拠を導出するためのトラップドアtdextとを出力する。
GS.Extract(GS,tdext,π):証明πと、トラップドアtdextとを入力とし、各コミットメントCから抽出値xを抽出して等式を満たす証拠W∈{xを出力する。
【0065】
GS.SimSetup(Γ):GS.Setup(Γ)の出力である通常の共通参照情報と計算量的識別不可能な共通参照情報GS’と、トラップドアtdsimを出力する。
GS.SimProve(GS’,tdsim,S):共通参照情報GS’と、トラップドアtdsimとを入力とし、GS.Vrfy(GS’,π)=1を満たすステートメントSの証明πを出力する。
【0066】
セキュリティ特性:本証明システムは以下の特性を満足する。
正当性:全ての
【数25】

について、GS.Vfry(GS,π)→1を満たす。
【0067】
抽出性:
【数26】

および、証明πについて、GS.Vfry(GS,π)→1である場合に、証拠W:=GS.Extract(GS,tdext,π)はステートメントSを確率1で満足する。
【0068】
共通参照情報CRSの識別不可能性:
【数27】

と、
【数28】

について、
【数29】

を満たす。
【0069】
構成可能な証拠の識別不可能性:全てのPPT攻撃者Αについて、
【数30】

が成立する。
【0070】
Groth−Sahai証明システムは、制限されたステートメントのクラス(ΣZKはこのクラスを意味する)における構成可能なゼロ知識証明を提供する。
構成可能なゼロ知識:全てのPPT攻撃者Αについて、
【数31】

が成立する。
【0071】
F−抽出可能非対話知識証明:Groth−Sahai証明システムにおいては、非対話知識証明(NIWIまたはNIZK)から、トラップドアtdextを使うことにより証拠を抽出できる。しかしながら、この証明システムにおいては、群の元のみがコミットできるため、群Gの元を抽出できるのみである。従って、本証明システムにおいてメッセージm∈Zを選択して、g∈Gをコミットし、証拠であるgを用いて、非対話証明を生成する場合には、gのみを抽出することができる(これはm自身でなく、関数F(m):=gの出力であることに注意する)。この性質から、Groth−Sahai証明システムはF−抽出可能性を備えると言われる。
定理2:DLIN仮定が成り立つならば、Groth−Sahai証明システムは効率的にインスタンス化できる。
<付録C:Groth−Sahai証明おわり>
【0072】
<付録D:暗号学的仮定>
素数位数pの巡回群Gを考える。gを群Gの生成元とする。BMSetupは標準的な双線形写像についての群生成アルゴリズムで、セキュリティパラメータλを入力にとって(p,G,G,g,e)を生成する。
【0073】
[D1:判定線形問題]
判定線形問題とは(G,G,p,g,e)とI:=(g,f,v,g^x,f^y)およびTが与えられたとき(x,yは0以上p−1以下のランダムな整数)、TがランダムなGの元かT=vx+y∈Gであるかどうかを判定する問題である。この優位性は
【数32】

で定義される。
【0074】
定義3(判定線形仮定):判定線形仮定が成立しているとは、判定線形問題が困難である。つまり、どのような攻撃者Αに対しても、
【数33】

が無視できる。
【0075】
[D2:判定双線形Diffie−Hellman問題]
判定双線形Diffie−Hellman問題とは(G,G,p,g,e)とI:=(g,g^x,g^y,g^z)およびTが与えられたとき(x,y,zは0以上p−1以下のランダムな整数)、TがランダムなGTの元かT=e(g,g)xyz∈Gであるかどうかを判定する問題である。この優位性は
【数34】

で定義される。
【0076】
定義4(判定双線形Diffie−Hellman仮定):判定双線形Diffie−Hellman仮定が成立しているとは、判定双線形Diffie−Hellman問題が困難である。つまり、どのような攻撃者Αに対しても、
【数35】

が無視できる。
<付録D:暗号学的仮定おわり>
【0077】
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0078】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【0079】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0080】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0081】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0082】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【産業上の利用可能性】
【0083】
本発明は、電子通信システムでデータベースにおける情報検索(特許検索、医療データベース検索など)に利用することができる。
【符号の説明】
【0084】
10 紛失通信システム
100 システムパラメータ生成装置
110 双線形写像パラメータ生成部 120 送信装置用パラメータ生成部
130 受信装置用パラメータ生成部 140 係数生成部
150 システムパラメータ生成部
200 送信装置
210 鍵対生成部 215 鍵生成部
220 署名生成部 225 暗号文生成部
230 暗号化データベース生成部 235 知識識別不可能証明検証部
240 ブラインド復号部 245 非対話ゼロ知識証明生成部
250 返信生成部 290 秘密鍵記録部
300 受信装置
310 署名検証部 315 再ランダム化部
320 知識識別不可能証明生成部 325 要求生成部
330 非対話ゼロ知識証明検証部 335 復号部
390 要求記録部

【特許請求の範囲】
【請求項1】
システムパラメータ生成装置、送信装置、受信装置からなる紛失通信システムであって、
前記システムパラメータ生成装置は、
セキュリティパラメータλを入力とし、λビットの素数と、当該素数位数の巡回乗法群と、前記巡回乗法群の生成元と、双線形写像を含む、双線形写像パラメータを生成する双線形写像パラメータ生成部と、
Groth−Sahai証明のパラメータ設定アルゴリズムを実行して、Groth−Sahai証明の送信装置用パラメータを生成する送信装置用パラメータ生成部と、
Groth−Sahai証明のパラメータ設定アルゴリズムを実行して、Groth−Sahai証明の受信装置用パラメータを生成する受信装置用パラメータ生成部と、
前記生成元から係数群を計算する係数生成部と、
前記双線形写像パラメータと前記送信装置用パラメータと前記受信装置用パラメータと前記係数群から、共通参照情報を生成し、前記共通参照情報を前記送信装置および前記受信装置へ送信するシステムパラメータ生成部を備え、
前記送信装置は、
Waters双対署名の鍵生成アルゴリズムを実行して、Waters双対署名の鍵対を生成する鍵対生成部と、
秘密鍵を生成し、前記鍵対と前記秘密鍵から計算した係数から、公開鍵を生成する鍵生成部と、
0以上p−1以下のランダムな整数ρ,…,ρを選択し、Waters双対署名の署名生成アルゴリズムを実行して、前記乱数ρ,…,ρに対する署名を生成する署名生成部と、
文書m,…,m(Nは2以上の正の整数)を入力とし、文書m(jは1以上N以下の整数)と前記公開鍵と乱数ρと前記署名と前記鍵対と前記共通参照情報から、変形Boneh−Franklin暗号の暗号文Cを求め、暗号文C,…,Cを生成する暗号文生成部と、
前記公開鍵と前記暗号文C,…,Cから、暗号化データベースを生成し、前記暗号化データベースを前記受信装置に送信する暗号化データベース生成部と、
要求Qを入力とし、Groth−Sahai証明の証明検証アルゴリズムを実行して、要求Qに含まれる知識識別不可能証明を検証する知識識別不可能証明検証部と、
前記知識識別不可能証明が正しい場合に、前記秘密鍵と前記共通参照情報を用いて、ブラインド復号結果を生成するブラインド復号部と、
前記要求Qと前記ブラインド復号結果と前記公開鍵と前記秘密鍵と前記共通参照情報を用いて、Groth−Sahai証明の非対話ゼロ知識証明を生成する非対話ゼロ知識証明生成部と、
前記ブラインド復号結果と前記非対話ゼロ知識証明から、返信Rを生成し、前記返信Rを前記受信装置へ送信する返信生成部と、
前記共通参照情報と前記暗号化データベースと前記秘密鍵を記録する秘密鍵記録部を備え、
前記受信装置は、
前記暗号化データベースとインデックスξを入力とし、Waters双対署名の署名検証アルゴリズムを実行して、前記暗号文C,…,Cに含まれる前記署名を検証し、前記暗号文C毎に各要素が同一の乱数から生成されていることを検証し、前記暗号文C,…,C全てについて前記署名が正しい署名であると判定され、前記暗号文C毎に各要素が同一の乱数から生成されていると判定された場合には、前記インデックスξで指定した前記暗号文Cξを出力する署名検証部と、
前記公開鍵と前記共通参照情報を用いて、前記暗号文Cξから、再ランダム化暗号文を生成する再ランダム化部と、
前記暗号文Cξと前記再ランダム化暗号文と前記公開鍵と前記共通参照情報から、前記知識識別不可能証明および前記知識識別不可能証明検証手段で利用される係数θを生成する知識識別不可能証明生成部と、
前記再ランダム化暗号文と前記知識識別不可能証明から、要求Qを生成し、前記要求Qおよびインデックスξから、Qprivを生成し、前記要求Qと前記係数θを送信装置に送信する要求生成部と、
前記返信Rを入力とし、Groth−Sahai証明の証明検証アルゴリズムによって、前記非対話ゼロ知識証明を検証する非対話ゼロ知識証明検証部と、
前記非対話ゼロ知識証明が正しい場合に、前記Qprivと前記暗号文Cξと前記共通参照情報を用いて、前記ブラインド復号結果から、文書mξを計算して出力する復号部と、
前記共通参照情報と前記暗号化データベースと前記公開鍵と前記要求Qと前記Qprivを記録する要求記録部を備える
ことを特徴とする紛失通信システム。
【請求項2】
システムパラメータ生成装置、送信装置、受信装置からなる紛失通信システムであって、
前記システムパラメータ生成装置は、
セキュリティパラメータλを入力とし、λビットの素数pと、素数位数pの巡回乗法群GおよびGと、前記巡回乗法群Gの生成元gと、双線形写像eを含む、双線形写像パラメータΓ:=(p,G,G,e,g)を生成する双線形写像パラメータ生成部と、
Groth−Sahai証明のパラメータ設定アルゴリズムGS.Setup(Γ)を実行して、Groth−Sahai証明の送信装置用パラメータGSを生成する送信装置用パラメータ生成部と、
Groth−Sahai証明のパラメータ設定アルゴリズムGS.Setup(Γ)を実行して、Groth−Sahai証明の受信装置用パラメータGSRを生成する受信装置用パラメータ生成部と、
0以上p−1以下の整数からランダムに冪指数ζおよびyを選択し、g:=g^ζ(以下、^はべき乗を意味する)およびh:=g^yを計算する係数生成部と、
前記双線形写像パラメータΓと前記送信装置用パラメータGSと前記受信装置用パラメータGSRと前記係数gおよび前記係数hから、共通参照情報crs:=(Γ,GS,GS,g,h)を生成し、前記共通参照情報crsを前記送信装置および前記受信装置へ送信するシステムパラメータ生成部を備え、
前記送信装置は、
Waters双対署名の鍵生成アルゴリズムW.Gen(Γ)を実行して、Waters双対署名の鍵対(VK,SK)を生成する鍵対生成部と、
0以上p−1以下のランダムな秘密鍵αを生成し、前記秘密鍵αと前記共通参照情報crsを用いて、g:=g^αを計算し、前記鍵対VKと前記係数gから、公開鍵pk:=(g,VK)を生成する鍵生成部と、
文書m,…,m(以下、Nは2以上の正の整数)を入力とし、j=1,…,Nに対して、0以上p−1以下のランダムな整数ρを選択し、Waters双対署名の署名生成アルゴリズムW.Sign(ρ)を実行して、前記乱数ρに対する署名sigを生成する署名生成部と、
前記文書m,…,mと前記公開鍵pkと前記乱数ρと前記署名sigと前記鍵対VKに含まれる値uと前記共通参照情報crsから、変形Boneh−Franklin暗号の暗号文C=(c1j,c2j,c3j,c4j,c5j)をC:=(g^ρ,h^ρ,m・e(g,g),sig,u^ρ)のように生成する暗号文生成部と、
前記公開鍵pkと前記暗号文C,…,Cから、暗号化データベースT:=(pk,C,…,C)を生成し、前記暗号化データベースTを前記受信装置に送信する暗号化データベース生成部と、
要求Qを入力とし、Groth−Sahai証明の証明検証アルゴリズムGS.Vrfy(GS,π)を実行して、前記要求Qに含まれる知識識別不可能証明πを検証する知識識別不可能証明検証部と、
前記知識識別不可能証明πが正しい場合に、前記秘密鍵αと前記共通参照情報crsを用いて、前記要求Qに含まれる再ランダム化暗号文dから、a:=e(d,g^1/α)を計算し、ブラインド復号結果aを生成するブラインド復号部と、
前記再ランダム化暗号文dと前記ブラインド復号結果aと前記公開鍵pkと前記秘密鍵αと前記共通参照情報crsを用いて、Groth−Sahai証明の非対話ゼロ知識証明δを
【数36】

により生成する非対話ゼロ知識証明生成部と、
前記ブラインド復号結果aと前記非対話ゼロ知識証明δから、返信R:=(a,δ)を生成し、前記返信Rを前記受信装置へ送信する返信生成部と、
前記共通参照情報crsと前記暗号化データベースTと秘密鍵αを記録する秘密鍵記録部を備え、
前記受信装置は、
前記暗号化データベースTとインデックスξを入力とし、j=1,…,Nのすべてについて前記暗号文Cに含まれる前記署名sigを、Waters双対署名の署名検証アルゴリズムW.Vrfyを実行して、検証し、前記署名sigのいずれかが正しい署名でないと判定されると停止し、j=1,…,Nのすべてについて前記暗号文Cに含まれるc1jとc2jが、e(h,c1j)=e(c2j,g)を満たすことを検証し、いずれかが満たさないと判定されると停止し、前記暗号文C,…,C全てについて前記署名sigが正しい署名であると判定され、前記暗号文C,…,C全てについて前記暗号文C毎に各要素が同一の乱数から生成されていると判定された場合には、前記インデックスξで指定した前記暗号文Cξを出力する署名検証部と、
0以上p−1以下の整数からランダムに冪指数vを選択し、前記公開鍵pkと前記共通参照情報crsと前記暗号文Cξに含まれるc1ξを用いて、d:=c1ξ・g^vおよびt:=g^vを計算し、前記再ランダム化暗号文dを生成する再ランダム化部と、
前記暗号文Cξに含まれる署名sigξの生成に利用された0以上p−1以下のランダムな整数tagと、前記Waters双対署名sigξの検証に利用された0以上p−1以下のランダムな整数tagcを用いて、sigξ\{tag}:=(ρ,…,ρ)はWaters双対署名からtagを除いたものとして、θ:=1/(tag−tag)を生成し、前記暗号文Cξと前記再ランダム化暗号文dと前記公開鍵pkと前記共通参照情報crsを用いて、前記知識識別不可能証明πを
【数37】

により生成する知識識別不可能証明生成部と、
前記再ランダム化暗号文dと前記知識識別不可能証明πから、前記要求Q:=(d,π)を生成し、前記要求Qと前記インデックスξと前記乱数vから、Qpriv:=(Q,ξ,v)を生成し、前記要求Qおよび前記係数θを送信装置に送信する要求生成部と、
前記返信Rを入力とし、Groth−Sahai証明の証明検証アルゴリズムGS.Vrfy(GS,δ)=1によって、前記非対話ゼロ知識証明δを検証する非対話ゼロ知識証明検証部と、
前記非対話ゼロ知識証明δが正しい場合に、前記Qprivと前記暗号文Cξと前記共通参照情報crsを用いて、mξ:=c3ξ・e(g,g)^v/aを計算して、前記ブラインド復号結果aから文書mξを出力する復号部と、
前記共通参照情報crsと前記暗号化データベースTと前記公開鍵pkと前記要求Qと前記Qprivを記録する要求記録部を備える
ことを特徴とする紛失通信システム。
【請求項3】
システムパラメータ生成装置、送信装置、受信装置を用いる紛失通信方法であって、
システムパラメータ生成装置が、セキュリティパラメータλを入力とし、λビットの素数と、当該素数位数の巡回乗法群と、前記巡回乗法群の生成元と、双線形写像を含む、双線形写像パラメータを生成する双線形写像パラメータ生成ステップを実行し、
システムパラメータ生成装置が、Groth−Sahai証明のパラメータ設定アルゴリズムを実行して、Groth−Sahai証明の送信装置用パラメータを生成する送信装置用パラメータ生成ステップを実行し、
システムパラメータ生成装置が、Groth−Sahai証明のパラメータ設定アルゴリズムを実行して、Groth−Sahai証明の受信装置用パラメータを生成する受信装置用パラメータ生成ステップを実行し、
システムパラメータ生成装置が、前記生成元から係数群を計算する係数生成ステップを実行し、
システムパラメータ生成装置が、前記双線形写像パラメータと前記送信装置用パラメータと前記受信装置用パラメータと前記係数群から、共通参照情報を生成し、前記共通参照情報を前記送信装置および前記受信装置へ送信するシステムパラメータ生成ステップを実行し、
送信装置が、Waters双対署名の鍵生成アルゴリズムを実行して、Waters双対署名の鍵対を生成する鍵対生成ステップを実行し、
送信装置が、秘密鍵を生成し、前記鍵対と前記秘密鍵から計算した係数から、公開鍵を生成する鍵生成ステップを実行し、
送信装置が、0以上p−1以下のランダムな整数ρ,…,ρを選択し、Waters双対署名の署名生成アルゴリズムを実行して、前記乱数ρ,…,ρに対する署名を生成する署名生成ステップを実行し、
送信装置が、文書m,…,m(Nは2以上の正の整数)を入力とし、文書m(jは1以上N以下の整数)と前記公開鍵と乱数ρと前記署名と前記鍵対と前記共通参照情報から、変形Boneh−Franklin暗号の暗号文Cを求め、暗号文C,…,Cを生成する暗号文生成ステップを実行し、
送信装置が、前記公開鍵と前記暗号文C,…,Cから、暗号化データベースを生成し、前記暗号化データベースを前記受信装置に送信する暗号化データベース生成ステップを実行し、
送信装置が、前記共通参照情報と前記暗号化データベースと前記秘密鍵を記録する秘密鍵記録ステップを実行し、
受信装置が、前記暗号化データベースとインデックスξを入力とし、Waters双対署名の署名検証アルゴリズムを実行して、前記暗号文C,…,Cに含まれる前記署名を検証し、前記暗号文C毎に各要素が同一の乱数から生成されていることを検証し、前記暗号文C,…,C全てについて前記署名が正しい署名であると判定され、前記暗号文C毎に各要素が同一の乱数から生成されていると判定された場合には、前記インデックスξで指定した前記暗号文Cξを出力する署名検証ステップを実行し、
受信装置が、前記公開鍵と前記共通参照情報を用いて、前記暗号文Cξから、再ランダム化暗号文を生成する再ランダム化ステップを実行し、
受信装置が、前記暗号文Cξと前記再ランダム化暗号文と前記公開鍵と前記共通参照情報から、前記知識識別不可能証明および前記知識識別不可能証明検証手段で利用される係数θを生成する知識識別不可能証明生成ステップを実行し、
受信装置が、前記再ランダム化暗号文と前記知識識別不可能証明から、要求Qを生成し、前記要求Qおよびインデックスξから、Qprivを生成し、前記要求Qと前記係数θを送信装置に送信する要求生成ステップを実行し、
受信装置が、前記共通参照情報と前記暗号化データベースと前記公開鍵と前記要求Qと前記Qprivを記録する要求記録ステップを実行し、
送信装置が、要求Qを入力とし、Groth−Sahai証明の証明検証アルゴリズムを実行して、要求Qに含まれる知識識別不可能証明を検証する知識識別不可能証明検証ステップを実行し、
送信装置が、前記知識識別不可能証明が正しい場合に、前記秘密鍵と前記共通参照情報を用いて、ブラインド復号結果を生成するブラインド復号ステップを実行し、
送信装置が、前記要求Qと前記ブラインド復号結果と前記公開鍵と前記秘密鍵と前記共通参照情報を用いて、Groth−Sahai証明の非対話ゼロ知識証明を生成する非対話ゼロ知識証明生成ステップを実行し、
送信装置が、前記ブラインド復号結果と前記非対話ゼロ知識証明から、返信Rを生成し、前記返信Rを前記受信装置へ送信する返信生成ステップを実行し、
受信装置が、前記返信Rを入力とし、Groth−Sahai証明の証明検証アルゴリズムによって、前記非対話ゼロ知識証明を検証する非対話ゼロ知識証明検証ステップを実行し、
受信装置が、前記非対話ゼロ知識証明が正しい場合に、前記Qprivと前記暗号文Cξと前記共通参照情報を用いて、前記ブラインド復号結果から、文書mξを計算して出力する復号ステップを実行する
ことを特徴とする紛失通信方法。
【請求項4】
システムパラメータ生成装置、送信装置、受信装置を用いる紛失通信方法であって、
システムパラメータ生成装置が、セキュリティパラメータλを入力とし、λビットの素数pと、素数位数pの巡回乗法群GおよびGと、前記巡回乗法群Gの生成元gと、双線形写像eを含む、双線形写像パラメータΓ:=(p,G,G,e,g)を生成する双線形写像パラメータ生成ステップを実行し、
システムパラメータ生成装置が、Groth−Sahai証明のパラメータ設定アルゴリズムGS.Setup(Γ)を実行して、Groth−Sahai証明の送信装置用パラメータGSを生成する送信装置用パラメータ生成ステップを実行し、
システムパラメータ生成装置が、Groth−Sahai証明のパラメータ設定アルゴリズムGS.Setup(Γ)を実行して、Groth−Sahai証明の受信装置用パラメータGSRを生成する受信装置用パラメータ生成ステップを実行し、
システムパラメータ生成装置が、0以上p−1以下の整数からランダムに冪指数ζおよびyを選択し、g:=g^ζ(以下、^はべき乗を意味する)およびh:=g^yを計算する係数生成ステップを実行し、
システムパラメータ生成装置が、前記双線形写像パラメータΓと前記送信装置用パラメータGSと前記受信装置用パラメータGSRと前記係数gおよび前記係数hから、共通参照情報crs:=(Γ,GS,GS,g,h)を生成し、前記共通参照情報crsを前記送信装置および前記受信装置へ送信するシステムパラメータ生成ステップを実行し、
送信装置が、Waters双対署名の鍵生成アルゴリズムW.Gen(Γ)を実行して、Waters双対署名の鍵対(VK,SK)を生成する鍵対生成ステップを実行し、
送信装置が、0以上p−1以下のランダムな秘密鍵αを生成し、前記秘密鍵αと前記共通参照情報crsを用いて、g:=g^αを計算し、前記鍵対VKと前記係数gから、公開鍵pk:=(g,VK)を生成する鍵生成ステップを実行し、
送信装置が、文書m,…,m(以下、Nは2以上の正の整数)を入力とし、j=1,…,Nに対して、0以上p−1以下のランダムな整数ρを選択し、Waters双対署名の署名生成アルゴリズムW.Sign(ρ)を実行して、前記乱数ρに対する署名sigを生成する署名生成ステップを実行し、
送信装置が、前記文書m,…,mと前記公開鍵pkと前記乱数ρと前記署名sigと前記鍵対VKに含まれる値uと前記共通参照情報crsから、変形Boneh−Franklin暗号の暗号文C=(c1j,c2j,c3j,c4j,c5j)をC:=(g^ρ,h^ρ,m・e(g,g),sig,u^ρ)のように生成する暗号文生成ステップを実行し、
送信装置が、前記公開鍵pkと前記暗号文C,…,Cから、暗号化データベースT:=(pk,C,…,C)を生成し、前記暗号化データベースTを前記受信装置に送信する暗号化データベース生成ステップを実行し、
前記共通参照情報crsと前記暗号化データベースTと秘密鍵αを記録する秘密鍵記録ステップを実行し、
受信装置が、前記暗号化データベースTとインデックスξを入力とし、j=1,…,Nのすべてについて前記暗号文Cに含まれる前記署名sigを、Waters双対署名の署名検証アルゴリズムW.Vrfyを実行して、検証し、前記署名sigのいずれかが正しい署名でないと判定されると停止し、j=1,…,Nのすべてについて前記暗号文Cに含まれるc1jとc2jが、e(h,c1j)=e(c2j,g)を満たすことを検証し、いずれかが満たさないと判定されると停止し、前記暗号文C,…,C全てについて前記署名sigが正しい署名であると判定され、前記暗号文C,…,C全てについて前記暗号文C毎に各要素が同一の乱数から生成されていると判定された場合には、前記インデックスξで指定した前記暗号文Cξを出力する署名検証ステップを実行し、
受信装置が、0以上p−1以下の整数からランダムに冪指数vを選択し、前記公開鍵pkと前記共通参照情報crsと前記暗号文Cξに含まれるc1ξを用いて、d:=c1ξ・g^vおよびt:=g^vを計算し、前記再ランダム化暗号文dを生成する再ランダム化ステップを実行し、
受信装置が、前記暗号文Cξに含まれる署名sigξの生成に利用された0以上p−1以下のランダムな整数tagと、前記Waters双対署名sigξの検証に利用された0以上p−1以下のランダムな整数tagcを用いて、sigξ\{tag}:=(ρ,…,ρ)はWaters双対署名からtagを除いたものとして、θ:=1/(tag−tag)を生成し、前記暗号文Cξと前記再ランダム化暗号文dと前記公開鍵pkと前記共通参照情報crsを用いて、前記知識識別不可能証明πを
【数38】

により生成する知識識別不可能証明生成ステップを実行し、
受信装置が、前記再ランダム化暗号文dと前記知識識別不可能証明πから、前記要求Q:=(d,π)を生成し、前記要求Qと前記インデックスξと前記乱数vから、Qpriv:=(Q,ξ,v)を生成し、前記要求Qおよび前記係数θを送信装置に送信する要求生成ステップを実行し、
受信装置が、前記共通参照情報crsと前記暗号化データベースTと前記公開鍵pkと前記要求Qと前記Qprivを記録する要求記録ステップを実行し、
送信装置が、要求Qを入力とし、Groth−Sahai証明の証明検証アルゴリズムGS.Vrfy(GS,π)を実行して、前記要求Qに含まれる知識識別不可能証明πを検証する知識識別不可能証明検証ステップを実行し、
送信装置が、前記知識識別不可能証明πが正しい場合に、前記秘密鍵αと前記共通参照情報crsを用いて、前記要求Qに含まれる再ランダム化暗号文dから、a:=e(d,g^1/α)を計算し、ブラインド復号結果aを生成するブラインド復号ステップを実行し、
送信装置が、前記再ランダム化暗号文dと前記ブラインド復号結果aと前記公開鍵pkと前記秘密鍵αと前記共通参照情報crsを用いて、Groth−Sahai証明の非対話ゼロ知識証明δを
【数39】

により生成する非対話ゼロ知識証明生成ステップを実行し、
送信装置が、前記ブラインド復号結果aと前記非対話ゼロ知識証明δから、返信R:=(a,δ)を生成し、前記返信Rを前記受信装置へ送信する返信生成ステップを実行し、
受信装置が、前記返信Rを入力とし、Groth−Sahai証明の証明検証アルゴリズムGS.Vrfy(GS,δ)=1によって、前記非対話ゼロ知識証明δを検証する非対話ゼロ知識証明検証ステップを実行し、
受信装置が、前記非対話ゼロ知識証明δが正しい場合に、前記Qprivと前記暗号文Cξと前記共通参照情報crsを用いて、mξ:=c3ξ・e(g,g)^v/aを計算して、前記ブラインド復号結果aから文書mξを出力する復号ステップを実行する
ことを特徴とする紛失通信方法。
【請求項5】
請求項3または4に記載のいずれかの紛失通信方法を実行すべき指令をコンピュータに対してするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate