JP5755600B2 - コミットメントシステム、共通参照情報生成装置、コミット生成装置、コミット受信装置、コミットメント方法 - Google Patents

コミットメントシステム、共通参照情報生成装置、コミット生成装置、コミット受信装置、コミットメント方法 Download PDF

Info

Publication number
JP5755600B2
JP5755600B2 JP2012113616A JP2012113616A JP5755600B2 JP 5755600 B2 JP5755600 B2 JP 5755600B2 JP 2012113616 A JP2012113616 A JP 2012113616A JP 2012113616 A JP2012113616 A JP 2012113616A JP 5755600 B2 JP5755600 B2 JP 5755600B2
Authority
JP
Japan
Prior art keywords
random number
commit
commitment
public key
plaintext
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012113616A
Other languages
English (en)
Other versions
JP2013243421A (ja
Inventor
英一郎 藤崎
英一郎 藤崎
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 JP2012113616A priority Critical patent/JP5755600B2/ja
Publication of JP2013243421A publication Critical patent/JP2013243421A/ja
Application granted granted Critical
Publication of JP5755600B2 publication Critical patent/JP5755600B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Description

本発明は、情報セキュリティ技術に関し、複数の暗号プロトコルの中に組み込まれ、同時に動くような環境でも高い安全性を保つコミットメントに関する。
暗号におけるコミットメントとは、電子的に行う「封じ手」のことである。コミットメント方式は、コミットする側の送信者(committer)と、コミットメントを受ける側の受信者(receiver)の間で行われるプロトコルのことである。送信者は、コミットフェーズで、受信者に情報を預託(コミット)する。この時、受信者は預託された情報の中身を知ることができない(秘匿性)。次に、送信者は開示フェーズで秘匿した情報を受信者に納得いく形で開示するが、コミットフェーズで預託した情報と違う情報を開示して受信者を満足させることはできない(拘束性)。コミットメントは、基本的にこのような秘匿性と拘束性を満たさなければいけない。コミットメントのすぐ思いつく応用例は、電子的なジャンケンやコイン投げ(もちろん、将棋や碁に使う封じ手でも良い)であるが、実際に応用できる範囲はそれより遥かに広い。
コミットメントは最も基本的な暗号プロトコルであるため、上位の暗号プロトコルの中で頻繁に利用される。近年では、暗号プロトコルをより現実の環境に近づけるため、コミットメントはさらに複雑な組み合わせの中で利用される場合が増えてきた。このような複雑な組み合わせの中では、古典的暗号安全性モデルで作られたコミットメントでは、秘匿性と拘束性を同時に満たすことができなくなってしまう。汎用結合可能コミットメントとは、そのような複雑な組み合わせでコミットメントが利用された場合にも、秘匿性と拘束性を満たすよう設計されたコミットメントのことである(汎用結合可能性については非特許文献1,2参照)。
汎用結合可能コミットメントが構成できるためには、送信者と受信者の双方がアクセスできる(第三者の作った)共通参照情報(common reference string、以下CRSと記載)が必要であることが知られている(非特許文献3参照)。技術的な問題により、このCRSは、コミットごとに使い捨てなければならない場合(すなわち、コミットの回数だけ新しいCRSが必要となる)と、使い捨てずに同じCRSを再利用できる場合に分かれる。当然ながら、CRSをずっと使える「CRS再利用型」コミットメント方式の方が、実用性が高い。CRS再利用型汎用結合可能コミットメントには、従来、非特許文献1,4,5の技術があった。
汎用結合可能コミットメントでは、送信者と受信者が、プロトコルの最中、もしくは終了後、途中データを廃棄しないと安全性が担保できない方式と、廃棄しなくても安全性を担保できる方式が存在する。当然、後者の「情報廃棄不要型」の方が、安全性が高く望ましい。さらに、計算量、通信量、交信回数なども、汎用結合コミットメントの良し悪しを判断する指標となる。当然、計算量、通信量、交信回数が少ないほど実用性が高い。特に、送信者から受信者に送るだけでコミットメントが完成する方式を「非対話型」という。
R. Canetti. Universally composable security, "A new paradigm for cryptographic protocols", In 42nd Annual IEEE Symposium on Foundations of Computer Science (FOCS 2001), pages 136-145, IEEE Computer Society, 2001. Ran Canetti. Universally composable security, "A new paradigm for cryptograpic protocols", Technical report, Cryptology ePrint Archive, Report 2000/067, 2005. Preliminary version appeared in FOCS’01. R. Canetti and M. Fischlin, "Universally composable commitments",in Joe Kilian, editor, Advances in Cryptology - CRYPTO 2001, 21st Annual International Cryptology Conference, Santa Barbara, California, USA, August 19-23, 2001, Proceedings, volume 2139 of Lecture Notes in Computer Science, pages 19-40, Springer-Verlag, 2001. Ivan Damgard and Jens Groth, "Non-interactive and reusable non-malleable commitment schemes", In STOC 2003, pages 426-437, ACM, 2003. Ivan Damgard and Jesper Buus Nielsen, "Perfect hiding and perfect binding universally composable commitment schemes with constant expansion factor", In Moti Yung, editor, CRYPTO 2002, volume 2442 of Lecture Notes in Computer Science, pages 581-596, Springer-Verlag, 2002. Ryo Nishimaki, Eiichiro Fujisaki, and Keisuke Tanaka, " Efficient non-interactive universally composable string-commitment schemes", In Josef Pieprzyk and Fangguo Zhang, editors, ProvSec 2009, volume 5848 of Lecture Notes in Computer Science, pages 3-18, Springer-Verlag, 2009. Yehuda Lindell,"Highly-efficient universally-composable commitments based on the DDH assumption",Cryptology ePrint Archive, Report 2011/180, 2011, To appear EUROCRYPT 2011. Marc Fischlin, Benoit Libert, and Mark Manulis, "Non-interactive and re-usable universally composable string commitments with adaptive security", In Dong Hoon Lee and Xiaoyun Wang, editors, ASIACRYPT 2011, volume 7073 of Lecture Notes in Computer Science, pages 468-485, Springer-Verlag, 2011. R. Canetti, Y. Lindell, R. Ostrovsky, and A. Sahai,"Universally composable two-party and multiparty secure computation", In STOC 2002, pages 494-503. ACM, 2002.
非特許文献2,9以外の方式は、1ビットの秘密情報をコミットするのにO(k)ビットの平文空間を持つ選択暗号文攻撃に対して安全な公開鍵暗号が最低2つ必要であった。なお、kはセキュリティパラメータであり、例えばkは2048や160などである。また、O(x)はxと同じオーダーの大きさの値を示す記号である。すなわち、1ビットの秘密情報をコミットするのに、O(k)ビットの情報量が必要であり効率が悪い。非特許文献4,5では、kビットの秘密情報をコミットするのにO(k)ビットで済むので効率は改善されている。しかし、これらのプロトコルは送信者と受信者間の交信回数を3回必要としている。また、非特許文献4の方式は、CRSのサイズが、参加者の数に比例して増える(コミットメント方式をサブプロトコルに使う上位のプロトコルの参加者数が増えると、それに応じてCRSのサイズが伸びる)。一方、非特許文献5の方式は、CRSのサイズは固定だが、途中データを適切な時に廃棄しないと安全性が担保されない可能性がある。いずれにせよ、両方式とも送信者と受信者の間に3交信が必要であるという欠点がある。
また、非特許文献6の方式は、非対話型だが、CRS再利用型ではない。非特許文献7の方式は、通信量は少ないが5交信対話型であり、途中データを適切に廃棄できなければいけない。非特許文献8の方式は、非対話型だが、やはり途中データを廃棄できなければいけない。
本発明は、CRSが再利用可能であり、非対話、情報廃棄不要型の汎用結合可能コミットメントの構成方法を提供することを目的とする。
本発明のコミットメントシステムは、共通参照情報生成装置とコミット生成装置とコミット受信装置とを備える。ここで、正の整数κをセキュリティパラメータ、S1uをあらかじめ定めた集合、S2uをあらかじめ定めた集合、Sをκビットの値と集合S1uの組み合わせで表現される集合、Sをκビットの値と集合S2uの組み合わせで表現される集合、Lu1を集合S1uの部分集合、Lu2を集合S2uの部分集合、Lをκビットの値と集合Lu1の組み合わせで表現される集合、Lをκビットの値と集合Lu2の組み合わせで表現される集合、pkを集合の組(S,L)の記述を含んだ公開鍵、pkを集合の組(S,L)の記述を含んだ公開鍵、skを公開鍵pkに対する秘密鍵、skを公開鍵pkに対する秘密鍵とする。また、平文xは、公開鍵pkから定まるメッセージ空間と公開鍵pkから定まるメッセージ空間の両方に属する元とする。共通参照情報生成装置は、セキュリティパラメータκに基づいて(pk,sk)と(pk,sk)を生成する鍵生成部と、秘密鍵skと秘密鍵skを廃棄する秘密鍵廃棄部と、公開鍵の組pk=(pk,pk)を共通参照情報として公開するCRS公開部とを備える。コミット生成装置は、入力情報取得部、サンプル値選択部、乱数生成部、暗号化部、コミット送信部、デコミット送信部を備える。入力情報取得部は、公開鍵の組pk=(pk,pk)とκビットの値であるタグtとコミットする対象である平文xを取得する。サンプル値選択部は、集合S1uの元の中からサンプル値uをランダムに選択し、集合S2uの元の中からサンプル値uをランダムに選択する。乱数生成部は、公開鍵pkと平文xからあらかじめ定めた方法で一意に決まる内部乱数空間COINの元の中から内部乱数rをランダムに選択し、公開鍵pkと平文xからあらかじめ定めた方法で一意に決まる内部乱数空間COINの元の中から内部乱数rをランダムに選択する。暗号化部は、平文xを公開鍵pkとタグtとサンプル値uと内部乱数rを用いて暗号化して得た暗号文cと、平文xを公開鍵pkとタグtとサンプル値uと内部乱数rを用いて暗号化して得た暗号文cとの組(c,c)を、コミットメントcとする。コミット送信部は、コミットメントc=(c,c)とタグtとサンプル値u,uをコミット受信装置に送信する。デコミット送信部は、内部乱数r,rと平文xをコミット受信装置に送信する。コミット受信装置は、公開情報取得部、コミット受信部、デコミット受信部、確認部を備える。公開情報取得部は、公開鍵の組pkを取得する。コミット受信部は、コミットメントc’=(c’,c’)とタグt’とサンプル値u’,u’を受信する。デコミット受信部は、内部乱数r’,r’と平文x’を受信する。確認部は、内部乱数r’が公開鍵pkと平文x’からあらかじめ定めた方法で一意に決まる内部乱数空間COINの元であるかを確認し、内部乱数r’が公開鍵pkと平文x’からあらかじめ定めた方法で一意に決まる内部乱数空間COINの元であるかを確認し、平文x’を公開鍵pkとタグt’とサンプル値u’と内部乱数r’を用いて暗号化して得た暗号文c”が、c”=c’であることを確認し、平文x’を公開鍵pkとタグt’とサンプル値u’と内部乱数r’を用いて暗号化して得た暗号文c”が、c”=c’であることを確認する。
本発明のコミットメントシステムはABM暗号を利用しているので、CRSが再利用可能であり、非対話、情報廃棄不要型の汎用結合可能コミットメントを提供できる。
本発明のコミットメントシステムの構成例を示す図。 本発明の共通参照情報生成装置の機能構成例を示す図。 本発明のコミット生成装置の機能構成例を示す図。 本発明のコミット受信装置の機能構成例を示す図。 本発明のコミットメントシステムの処理フローを示す図。 ABM暗号の構成を示す図。 4つの安全性条件を具体的に示す図。 ABM暗号が4つの安全性条件を満たすことを証明するための第1の図。 ABM暗号が4つの安全性条件を満たすことを証明するための第2の図。 ABM暗号が4つの安全性条件を満たすことを証明するための第3の図。 ABM暗号が4つの安全性条件を満たすことを証明するための第4の図。 実施例2,3の方式と従来技術の比較を示す図。 実施例2の方式と従来技術との効率に関する比較を示す図。
以下、本発明の実施の形態について、詳細に説明する。なお、同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。
<具体的なシステム>
図1に本発明のコミットメントシステムの構成例を示す。本発明のコミットメントシステムは、例えばネットワーク1000を介してつながった共通参照情報生成装置100、コミット生成装置200、コミット受信装置300を備える。なお、ネットワーク1000を介すのではなく、CDなどの記録媒体を介して情報の授受を行ってもよい。ここで、正の整数κをセキュリティパラメータ、S1uをあらかじめ定めた集合、S2uをあらかじめ定めた集合、Sをκビットの値と集合S1uの組み合わせで表現される集合、Sをκビットの値と集合S2uの組み合わせで表現される集合、Lu1を集合S1uの部分集合、Lu2を集合S2uの部分集合、Lをκビットの値と集合Lu1の組み合わせで表現される集合、Lをκビットの値と集合Lu2の組み合わせで表現される集合、pkを集合の組(S,L)の記述を含んだ公開鍵、pkを集合の組(S,L)の記述を含んだ公開鍵、skを公開鍵pkに対する秘密鍵、skを公開鍵pkに対する秘密鍵とする。また、平文xは、公開鍵pkから定まるメッセージ空間と公開鍵pkから定まるメッセージ空間の両方に属する元とする。
図2は共通参照情報生成装置100の機能構成例、図3はコミット生成装置200の機能構成例、図4はコミット受信装置300の機能構成例を示す図である。また、図5はコミットメントシステムの処理フローを示す図である。共通参照情報生成装置100は、鍵生成部110、秘密鍵廃棄部120、CRS公開部130、記録部190を備える。コミット生成装置200は、入力情報取得部210、サンプル値選択部220、乱数生成部230、暗号化部240、コミット送信部250、デコミット送信部260、記録部290を備える。コミット受信装置300は、公開情報取得部310、コミット受信部320、デコミット受信部330、確認部340、記録部390を備える。
まず、共通参照情報生成装置100が以下の処理を行う。記録部190はセキュリティパラメータκなどのデータを記録しておく。鍵生成部110が、セキュリティパラメータκに基づいて(pk,sk)と(pk,sk)を生成する(S110)。秘密鍵廃棄部120が、秘密鍵skと秘密鍵skを廃棄する(S120)。CRS公開部130が、公開鍵の組pk=(pk,pk)を共通参照情報として公開する(S130)。
次にコミットフェーズとして、以下の処理を行う。コミット生成装置200の入力情報取得部210が、公開鍵の組pk=(pk,pk)とκビットの値であるタグtとコミットする対象である平文xを取得し、記録部290に記録する(S210)。サンプル値選択部220が、集合S1uの元の中からサンプル値uをランダムに選択し、集合S2uの元の中からサンプル値uをランダムに選択し、記録部290に記録する(S220)。なお、集合S1u,S2uが数値を元とする集合であり、サンプル値u,uはその集合の中の1つの数値でもよいし、集合S1u,S2uが複数の数値の組み合わせを元とする集合であり、サンプル値u,uは複数の数値の組み合わせでもよい。乱数生成部230は、公開鍵pkと平文xからあらかじめ定めた方法で一意に決まる内部乱数空間COINの元の中から内部乱数rをランダムに選択し、公開鍵pkと平文xからあらかじめ定めた方法で一意に決まる内部乱数空間COINの元の中から内部乱数rをランダムに選択し、記録部290に記録する(S230)。なお、内部乱数空間COIN,COINが数値を元とする空間であり、内部乱数r,rはその集合の中の1つの数値でもよいし、内部乱数空間COIN,COINが複数の数値の組み合わせを元とする空間であり、内部乱数r,rは複数の数値の組み合わせでもよい。暗号化部240は、平文xを公開鍵pkとタグtとサンプル値uと内部乱数rを用いて暗号化して得た暗号文cと、平文xを公開鍵pkとタグtとサンプル値uと内部乱数rを用いて暗号化して得た暗号文cとの組(c,c)を、コミットメントcとし、記録部290に記録する(S240)。コミット送信部250は、コミットメントc=(c,c)とタグtとサンプル値u,uをコミット受信装置300に送信する(S250)。コミット受信装置300の公開情報取得部310は、公開鍵の組pk=(pk,pk)を取得し、記録部390に記録する(S310)。なお、ステップS310は、後述の確認ステップ(S340)よりも前に行えばいつ実行してもよいので、デコミットフェーズで行ってもよい。コミット受信部320は、コミットメントc’=(c’,c’)とタグt’とサンプル値u’,u’を受信し、記録部390に記録する(S320)。なお、図4に示した処理フローを前提にすれば、コミット受信装置300が受信するのはコミット生成装置200が送信した正しいコミットメントcとタグtとサンプル値u,uのはずである。しかし、コミット受信装置300は受信したコミットメントが正しいことを確認するので、ここでは正しいか否かが分からないことを示すためにコミットメントc’とタグt’とサンプル値u’,u’のように記載している。
次にデコミットフェーズについて説明する。コミット生成装置200のデコミット送信部260は、記録部290に記録された内部乱数r,rと平文xをコミット受信装置300に送信する(S260)。コミット受信装置300のデコミット受信部330は、内部乱数r’,r’と平文x’を受信する(S330)。なお、図4に示した処理フローを前提にすれば、コミット受信装置300が受信するのはコミット生成装置200が送信した正しい内部乱数r,rと平文xのはずである。しかし、コミット受信装置300は受信したコミットメントが正しいことを確認するので、ここでは正しいか否かが分からないことを示すために内部乱数r’,r’と平文x’のように記載している。確認部340は、次のような確認を行う(S340)。
・サンプル値u’が集合S1uの元かを確認する。
・サンプル値u’が集合S2uの元かを確認する。
・内部乱数r’が公開鍵pkと平文x’からあらかじめ定めた方法で一意に決まる内部乱数空間COINの元であるかを確認する。
・内部乱数r’が公開鍵pkと平文x’からあらかじめ定めた方法で一意に決まる内部乱数空間COINの元であるかを確認する。
・平文x’を公開鍵pkとタグt’とサンプル値u’と内部乱数r’を用いて暗号化して得た暗号文c”が、c”=c’であることを確認する。
・平文x’を公開鍵pkとタグt’とサンプル値u’と内部乱数r’を用いて暗号化して得た暗号文c”が、c”=c’であることを確認する。
そして、コミット受信装置300は、上記のすべての確認で正しいと判断された場合には開封などの処理を継続することを承認し、いずれかの確認で不正と判断された場合には処理を中断する。
<理論的な裏づけ>
本発明のコミットメントシステムは、以下に示すAll-but-many暗号(以下、「ABM暗号」と呼ぶ)を作成した上で、ABM暗号を利用することで実現している。ABM暗号は、鍵生成アルゴリズム(ABM.gen)、サンプリングアルゴリズム(ABM.spl)、暗号化アルゴリズム(ABM.enc)、復号アルゴリズム(ABM.dec)、コリジョンアルゴリズム(ABM.col)からなる暗号方式である。
鍵生成アルゴリズム(ABM.gen)は、入力をセキュリティパラメータκ、出力を(公開鍵pk,秘密鍵sk)とする確率的アルゴリズムである。公開鍵pkは、集合の組(S,L)の記述を含んでいる。なお、秘密鍵skは、記述の簡素化のために公開鍵pkを含んでもよい。
サンプリングアルゴリズム(ABM.spl)は、入力を秘密鍵skとタグt、出力をサンプル値uとする確率的アルゴリズムである。ただし、サンプリングアルゴリズムではサンプル値uは集合Lの元であり、組(t,u)は集合Lの元である。また、サンプリングアルゴリズムの内部乱数空間COINsplは公開鍵pkから一意に定まるものとし、サンプリングアルゴリズムでサンプル値uを求めるときに使用する内部乱数rsplは内部乱数空間COINsplからランダムに選択された元である。
暗号化アルゴリズム(ABM.enc)は、入力を公開鍵pkとタグtとサンプル値uと平文x、出力を暗号文cとする確率的アルゴリズムである。暗号化アルゴリズムではサンプル値uは集合Sの元であり、組(t,u)は集合Sの元である。また、暗号化アルゴリズムの内部乱数空間COINは公開鍵pkと平文xから一意に定まるものとし、暗号化アルゴリズムで暗号文cを求めるときに使用する内部乱数rは内部乱数空間COINからランダムに選択された元である。
復号アルゴリズム(ABM.dec)は、入力を秘密鍵skとタグtとサンプル値uと暗号文c、出力を平文xとする確定的アルゴリズムである。復号アルゴリズムではサンプル値uは集合Sの元であり、組(t,u)は集合Sの元である。
コリジョンアルゴリズム(ABM.col)は、2つの確率的アルゴリズムで構成される。第1のアルゴリズム(ABM.col1)は、入力を秘密鍵skと乱数r’とタグt、出力を暗号文cと数値ξとする。ここで、乱数r’は内部乱数空間COINsplの元である。第2のアルゴリズム(ABM.col2)は、入力を数値ξと平文x、出力を乱数rとする。ただし、乱数rは以下の条件を満たす。
・乱数rは内部乱数空間COINである。
・秘密鍵skとタグtと乱数r’を用いてサンプリングアルゴリズムで出力される値がサンプル値uと同一である。
・公開鍵pkと乱数rとタグtとサンプル値uとを用いて平文xを暗号化アルゴリズムで暗号化した結果が暗号文cと同一である。
非対話、CRS再利用、情報廃棄不要汎用結合コミットメントを提供するためには、all-but-many property, dual mode, pseudo-randomness, unpredictabilityの4つの安全性条件を満たすことが必要である。図6にABM暗号の構成をより厳密に示し、図7に上記の4つの安全性条件を具体的に示す。また、図8−11に、ABM暗号が上記の4つの安全性条件を満たすことの証明を示す。なお、使用されている英語の用語には当業者間で共有された定義が存在するが、同じ定義がなされた日本語が存在しない用語がある。このような事情から、当業者にとっては英語表記の方が分かりやすくかつ正確なので、図6−11は英語で表記している。
本発明のコミットメントシステムは、上記の4つの安全性条件を満たすABM暗号の鍵生成アルゴリズム(ABM.gen)と暗号化アルゴリズム(ABM.enc)を用いている。したがって、非対話、CRS再利用、情報廃棄不要汎用結合コミットメントを提供できる。なお、サンプリングアルゴリズム(ABM.spl)、復号アルゴリズム(ABM.dec)、コリジョンアルゴリズム(ABM.col)は、実際のコミットメントシステムには使用しないが、実際のコミットメントシステムが4つの安全性条件を満たすことの証明に必要なアルゴリズムである。
<具体的なシステム>
実施例2のコミットメントシステムは、実施例1のコミットメントシステムをより具体化した1つの実施例である。コミットメントシステムの構成は図1、共通参照情報生成装置の機能構成は図2、コミット生成装置の機能構成は図3、コミット受信装置の機能構成は図4と同じである。実施例2では、q,qを素数、gを位数qの群Gの生成元、gを位数qの群Gの生成元、x11,x12,y10,y11,…,y1κを0以上q−1以下の整数、x21,x22,y20,y21,…,y2κを0以上q−1以下の整数、iを1または2、jを1以上κ以下の整数、mを1または2、^をべき乗を示す記号、tをtのnビット目、λをO(logκ)の秘密情報長(言い換えると、平文xはλビットで表現できる)、集合S1uを群Gの2つの元の組み合わせの集合、集合S2uを群Gの2つの元の組み合わせの集合、H(t)を
とする。
実施例2では、ステップS110では、鍵生成部110が、g,x11,x12,y10,y11,…,y1κをランダムに選び、g11,g12,h10,h11,…,h1κをg1i=g^x1i、h1j=g^y1jのように計算する。そして、pk=(G,g,q,λ,(S,L),g11,g12,h10,h11,…,h1κ)とsk=(pk,x12,y10,y11,…,y1κ)のように(pk,sk)を生成する。さらに、鍵生成部110が、g,x21,x22,y20,y21,…,y2κをランダムに選び、g21,g22,h20,h21,…,h2κをg2i=g^x2i、h2j=g^y2jのように計算する。そして、pk=(G,g,q,λ,(S,L),g21,g22,h20,h21,…,h2κ)とsk=(pk,x22,y20,y21,…,y2κ)のように(pk,sk)を生成する。
ステップS220では、サンプル値選択部220が、群Gの中の2つの元の組(u1r,u1t)をランダムに選定し、サンプル値u=(u1r,u1t)とし、群Gの中の2つの元の組(u2r,u2t)をランダムに選定し、サンプル値u=(u2r,u2t)とする。ステップS230では、乱数生成部230が、内部乱数rとして、0以上q−1以下の整数である乱数zと乱数sを生成し、内部乱数rとして、0以上q−1以下の整数である乱数zと乱数sを生成する。ステップS240では、暗号化部240が、
=(g11^z)(H(t)^s)(u1t^x
=(g^z)(g12^x
=(g^s)(u1r^x
を計算してc=(A,a,b)とし、
=(g21^z)(H(t)^s)(u2t^x
=(g^z)(g22^x
=(g^s)(u2r^x
を計算してc=(A,a,b)として、(c,c)をコミットメントcとする。
実施例2のコミットメントシステムは、実施例1のコミットメントシステムの下位概念に相当するので、実施例1で説明した4つの安全性条件を満たす。したがって、実施例2のコミットメントシステムも実施例1のコミットメントシステムと同じ効果が得られる。
<理論的な裏づけ>
実施例2のコミットメントシステムが使用しているABM暗号は、実施例1で示したABM暗号をより具体的にしたものである。以下に、実施例2の場合の鍵生成アルゴリズム(ABM.gen)、サンプリングアルゴリズム(ABM.spl)、暗号化アルゴリズム(ABM.enc)、復号アルゴリズム(ABM.dec)、コリジョンアルゴリズム(ABM.col)を示す。
鍵生成アルゴリズム(ABM.gen)では、g,x,x,y,y,…,yκをランダムに選び、g,g,h,h,…,hκをg=g^x、h=g^yのように計算する。そして、pk=(G,g,q,λ,(S,L),g,g,h,h,…,hκ)とsk=(pk,x,y,y,…,yκ)のように(pk,sk)を生成する。
サンプリングアルゴリズム(ABM.spl)では、内部乱数空間COINsplを0以上q−1以下の整数とする。そして、内部乱数rsplを0以上q−1以下の整数の中からランダムに選ぶ。そして、u=g^rsplとu=(g^x)(H(t)^rspl)を計算し、(u,u)をサンプル値uとする。なお、実施例2のサンプリングアルゴリズムでは、集合Sは群Gの2つの元の組み合わせの集合である。そして、集合Lは、0以上q−1以下の整数をrsplとしたときに、u=g^rsplとu=(g^x)(H(t)^rspl)のように求められる値(u,u)を元とする集合(集合Sの部分集合)である。
暗号化アルゴリズム(ABM.enc)では、内部乱数空間COINを2つの0以上q−1以下の整数の組み合わせを元とする空間とする。そして、内部乱数rとして、0以上q−1以下の整数である乱数zと乱数sを生成する。そして、
A=(g^z)(H(t)^s)(u^x)
a=g
b=g
を計算し、を暗号文c=(A,a,b)を出力する。
復号アルゴリズム(ABM.dec)では、
ただし、
となるλビットの平文xを探索し出力する。
コリジョンアルゴリズム(ABM.col)の第1のアルゴリズム(ABM.col1)では、乱数ω,ηを0以上q−1以下の整数からランダムに選定し、
A=(g^ω)(H(t)^η)
a=gω
b=gη
を計算し、をc=(A,a,b)とξ=(x,r’,ω,η)を出力する。第2のアルゴリズム(ABM.col2)では、
z=ω−xx modq
s=η−xr’ modq
を計算し、(z,s)を出力する。
上述のように、実施例2で使用しているABM暗号は、実施例1で説明したABM暗号の下位概念(具体例)に相当しているので、図7に示した4つの安全性条件を満たす。
<具体的なシステム>
実施例3のコミットメントシステムも、実施例1のコミットメントシステムをより具体化した1つの実施例である。コミットメントシステムの構成は図1、共通参照情報生成装置の機能構成は図2、コミット生成装置の機能構成は図3、コミット受信装置の機能構成は図4と同じである。実施例3では、P,Q,P,Qを整数、N=P、N=P、v,vを正の整数、iを1または2、jを1以上κ以下の整数、mを1または2、^をべき乗を示す記号、x1iとy1jを0以上N^v−1以下の整数、x2iとy2jを0以上N^v−1以下の整数、Su1を0以上N^(v+1)−1以下の整数の中の2つの整数の組み合わせの集合、S2uを0以上N^(v+1)−1以下の整数の中の2つの整数の組み合わせの集合、g=1+N、g=1+N、平文xを0以上N^v−1以下の整数かつ0以上N^v−1以下の整数、H(t)を
とする。
実施例3では、ステップS110では、鍵生成部110が、x11,x12,y10,y11,…,y1κをランダムに選び、0以上N^(v+1)−1の整数である乱数R11,R12を生成する。そして、g11,g12,h10,h11,…,h1κ
1i=(g^x1i)R1i^N^v modN^(v+1)
1j=g^y1j modN^(v+1)
のように計算し、pk=(N,v,(S,L),g11,g12,h10,h11,…,h1κ)とsk=(x12,y10,y11,…,y1κ)のように(pk,sk)を生成する。さらに、鍵生成部110が、x21,x22,y20,y21,…,y2κをランダムに選び、0以上N^(v+1)−1の整数である乱数R21,R22を生成する。そして、g21,g22,h20,h21,…,h2κ
2i=(g^x2i)R2i^N^v modN^(v+1)
2j=g^y2j modN^(v+1)
のように計算し、pk=(N,v,(S,L),g21,g22,h20,h21,…,h2κ)とsk=(x22,y20,y21,…,y2κ)のように(pk,sk)を生成する。
ステップS220では、サンプル値選択部220が、0以上N^(v+1)−1以下の整数の中の2つの整数の組み合わせ(u1r,u1t)をランダムに選定してサンプル値u=(u1r,u1t)とする。また、サンプル値選択部220が、0以上N^(v+1)−1以下の整数の中の2つの整数の組み合わせ(u2r,u2t)をランダムに選定してサンプル値u=(u2r,u2t)とする。ステップS230では、乱数生成部230が、内部乱数rとして、0以上N^v−1以下の整数である乱数zと乱数sを生成し、0以上N^(v+1)−1以下の整数である乱数R1A,R1a,R1bを生成する。さらに、乱数生成部230が、内部乱数rとして、0以上N^v−1以下の整数である乱数zと乱数sを生成し、0以上N^(v+1)−1以下の整数である乱数R2A,R2a,R2bを生成する。ステップS240では、暗号化部240が、
=(g11^z)(H(t)^s)(u1t^x)(R1A^N^v
modN^(v+1)
=((g^z)(R1a^N^v) modN^(v+1))(g12^x
=((g^s)(R1b^N^v) modN^(v+1))(u1r^x
を計算してc=(A,a,b)とし、
=(g21^z)(H(t)^s)(u2t^x)(R2A^N^v
modN^(v+1)
=((g^z)(R2a^N^v) modN^(v+1))(g22^x
=((g^s)(R2b^N^v) modN^(v+1))(u2r^x
を計算してc=(A,a,b)として、(c,c)をコミットメントcとする。
実施例3のコミットメントシステムは、実施例1のコミットメントシステムの下位概念に相当するので、実施例1で説明した4つの安全性条件を満たす。したがって、実施例3のコミットメントシステムも実施例1のコミットメントシステムと同じ効果が得られる。
<理論的な裏づけ>
実施例3のコミットメントシステムが使用しているABM暗号は、実施例2の方式とは別の方式でABM暗号を具体的にしたものである。以下に、実施例3の場合の鍵生成アルゴリズム(ABM.gen)、サンプリングアルゴリズム(ABM.spl)、暗号化アルゴリズム(ABM.enc)、復号アルゴリズム(ABM.dec)、コリジョンアルゴリズム(ABM.col)を示す。ここで、Π=(K,E,D)は参考文献1(I. Damgard and M. Jurik,“A generalisation, a simplification and some applications of Paillier’s probabilistic public-key system”, In Kwangjo Kim, editor, PKC 2001, volume 1992 of Lecture Notes in Computer Science, pages 125-140. Springer-Verlag, 2001.)に示された公開鍵暗号アルゴリズム(以下、DJ暗号と呼ぶ)の鍵生成、暗号化、復号アルゴリズムとする。(N,v)はDJ暗号の公開鍵に対応し、(P,Q)はDJ暗号の秘密鍵に対応する。なお、
E(x;R)=(g^x)R^N modNv+1
E(y)=(g^y) modNv+1
である。
鍵生成アルゴリズム(ABM.gen)では、x,x,y,y,…,yκをランダムに選び、0以上Nv+1−1の整数である乱数R,Rを生成する。そして、g,g,h,h,…,hκ
=E(x;R)=(g^x)R^N modNv+1
=E(y)=g^y modNv+1
のように計算し、集合の組(S,L)を決定する。そして、pk=(N,v,(S,L),g,g,h,h,…,hκ)とsk=(x,y,y,…,yκ)のように(pk,sk)を生成する。
サンプリングアルゴリズム(ABM.spl)では、内部乱数空間COINsplを0以上N−1以下の整数とする。そして、内部乱数rsplを0以上N−1以下の整数の中からランダムに選ぶ。そして、0以上Nv+1−1以下の整数である乱数R,Rを生成し、
=(g^rspl)R^N modNv+1
=((g^x)R^N modNv+1)(H(t)^rspl
を計算し、(u,u)をサンプル値uとする。なお、実施例3のサンプリングアルゴリズムでは、集合Sは2つの0以上Nv+1−1以下の整数の組み合わせの集合である。そして、集合Lは、0以上N−1以下の整数をrspl、0以上Nv+1−1以下の整数をR,Rをとしたときに、
=(g^rspl)R^N modNv+1
=((g^x)R^N modNv+1)(H(t)^rspl
のように求められる値(u,u)を元とする集合(集合Sの部分集合)である。
暗号化アルゴリズム(ABM.enc)では、平文xが0以上N−1以下の整数の場合に、内部乱数空間COINを2つの0以上N−1以下の整数の組み合わせを元とする空間とする。そして、内部乱数rとして、0以上N−1以下の整数である乱数zと乱数sを生成する。また、0以上Nv+1−1以下の整数である乱数R,R,Rを生成する。そして、
A=(g^z)(H(t)^s)(u^x)(R^N) modNv+1
a=((g^z)(R^N) modNv+1)(g^x)
b=((g^s)(R^N) modNv+1)(u^x)
を計算し、を暗号文c=(A,a,b)を出力する。
復号アルゴリズム(ABM.dec)では、DJ暗号の復号アルゴリズムDを用いて
ω=D(a)
η=D(b)
ω’=D(A・(H(t)^(−η)))
’=D(u・(H(t)^(−r)))
を計算し、平文xを
x=(ω−ω’)(x−x’)−1 modN
のように計算し、出力する。
コリジョンアルゴリズム(ABM.col)の第1のアルゴリズム(ABM.col1)では、乱数ω,ηを0以上N−1以下の整数からランダムに選定し、乱数R’,R’,R’を0以上Nv+1−1以下の整数からランダムに選定する。そして、
A=(g^ω)(H(t)^η)(R’^N) modNv+1
a=(g^ω)(R’^N) modNv+1
b=(g^η)(R’^N) modNv+1
を計算し、をc=(A,a,b)とξ=(x,r’,ω,η)を出力する。第2のアルゴリズム(ABM.col2)では、z,s,α,βを
z=ω−xx modN
s=η−xr modN
αを(ω−xx−z)/Nを超えない最大の整数
βを(η−xr’−s)/Nを超えない最大の整数
のように求める。さらに、R,R,R
=R’(R^(−x))(g^α)(H(t)^β)
=R’(R^(−x))(g^α)
=R’(R^(−x))(g^β)
のように求め、(z,s,R,R,R)を出力する。なお、このとき、
A=(g^z)(H(t)^s)(u^x)(R^N) modNv+1
a=E(z;R)(g^x)=((g^z)(R^N) modNv+1)(g^x)
b=E(s;R)(u^x)=((g^s)(R^N) modNv+1)(u^x)
が常に成り立っている。
上述のように、実施例3で使用しているABM暗号は、実施例1で説明したABM暗号の下位概念(具体例)に相当しているので、図7に示した4つの安全性条件を満たす。
<実施例2,3と従来方式との比較>
図12に、実施例2,3の方式と従来技術の比較を示す。また、図13に実施例2の方式と従来技術との効率に関する比較を示す。図12,13において、κはセキュリティパラメータを表し、a/bはコミットフェーズに必要とされる交信数aとデコミットフェーズに必要とされる交信数bを表す。また、比率は、1ビットの秘密情報をコミットするために必要なコミットメントのサイズであり、理想はO(1)である。図12から分かるように、実施例3のコミットメントシステムの場合は、kビットの秘密(kビットの平文x)をO(k)ビットでコミットできるので、理想的な効率も実現できている。
実施例2の方式は、同様のCRS再利用型で交信回数1/1である非特許文献7,8の方式に劣っているように見える。しかし、現実のセキュリティパラメータのもとでは、実は効率が良い(図13参照)。さらに、実施例2の方式は、情報廃棄不要型であるが、非特許文献7,8の方式は適切な途中情報の廃棄が無いと、安全にならない。
図13では、Texp(k) はkビットのべき乗剰余演算1回のコストを表す。Gはペアリングを持たないアーベル群、G^は対象ペアリングを持つアーベル群、Gは対象ペアリングの有限体に埋め込まれた像とする。すなわち、e( , ):G^ ×G^ →Gで定義されるペアリングの像であるアーベル群での拡大次数は、高々6(|G|≦6|G^|)とする。λは、コミットされる秘密情報のサイズであり、ρ=λ・λ −1とする。このρが小さいほど、実施例2の効率は良くなるが、λ=O(logκ)である。本発明の汎用結合コミットメントでは、このλは、小さなべきの離散対数問題を解くベイビーステップ・ジャイアントステップ法の効率に依存する。べきのサイズをλとしたとき、ベイビーステップ・ジャイアントステップ法で離散対数問題を解く時間はΩ(√(2^λ))である(参考文献2(Alfred Menezes, Paul Oorschot, and Scott Vanstone,“Handbook of Applied Cryptography”, CRC Press, 1997.)参照)。汎用結合コミットメントに利用される場合、この離散対数問題の解読は、証明の中でのみ使われる。そのため、効率良く解けなくてもよい。現在の計算機の能力からすると、√(2^λ)=240は、パソコンで数時間で計算可能な計算量であるので、λ=80としてよい。一方、80ビット安全性を確保するには、κ=160,λ=160,|G|=160,(|G|がおよそ1000となる必要があるので)|G^|=170が必要である。また、160ビット安全性を確保するには、κ=320,λ=320,|G|=320,(|G|がおよそ3000となる必要があるので)|G^|=512が必要である。この条件のもとでは実施例2の通信量は、非特許文献7,8の通信量より少ない。また、計算量も非特許文献8よりはるかに少なく、非特許文献7と比べてもほぼ同等である。
[プログラム、記録媒体]
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
本発明は、情報を交換するシステムにおいて、情報のセキュリティを確保する技術として利用できる。
100 共通参照情報生成装置 110 鍵生成部
120 秘密鍵廃棄部 130 公開部
190、290、390 記録部 200 コミット生成装置
210 入力情報取得部 220 サンプル値選択部
230 乱数生成部 240 暗号化部
250 コミット送信部 260 デコミット送信部
300 コミット受信装置 310 公開情報取得部
320 コミット受信部 330 デコミット受信部
340 確認部 1000 ネットワーク

Claims (7)

  1. 共通参照情報生成装置とコミット生成装置とコミット受信装置とを備えるコミットメントシステムであって、
    正の整数κをセキュリティパラメータ、S1uをあらかじめ定めた集合、S2uをあらかじめ定めた集合、Sをκビットの値と集合S1uの組み合わせで表現される集合、Sをκビットの値と集合S2uの組み合わせで表現される集合、Lu1を集合S1uの部分集合、Lu2を集合S2uの部分集合、Lをκビットの値と集合Lu1の組み合わせで表現される集合、Lをκビットの値と集合Lu2の組み合わせで表現される集合、pkを集合の組(S,L)の記述を含んだ公開鍵、pkを集合の組(S,L)の記述を含んだ公開鍵、skを公開鍵pkに対する秘密鍵、skを公開鍵pkに対する秘密鍵とし、
    前記共通参照情報生成装置は、
    前記セキュリティパラメータκに基づいて(pk,sk)、(pk,sk)を生成する鍵生成部と、
    前記秘密鍵sk,skを廃棄する秘密鍵廃棄部と、
    公開鍵の組pk=(pk,pk)を共通参照情報として公開するCRS公開部と、
    を備え、
    前記コミット生成装置は、
    前記公開鍵の組pkとκビットの値であるタグtとコミットする対象である平文xを取得する入力情報取得部と、
    前記集合S1uの元の中からサンプル値uをランダムに選択し、前記集合S2uの元の中からサンプル値uをランダムに選択するサンプル値選択部と、
    前記公開鍵pkと前記平文xからあらかじめ定めた方法で一意に決まる内部乱数空間COINの元の中から内部乱数rをランダムに選択し、前記公開鍵pkと前記平文xからあらかじめ定めた方法で一意に決まる内部乱数空間COINの元の中から内部乱数rをランダムに選択する乱数生成部と、
    前記平文xを前記公開鍵pkと前記タグtと前記サンプル値uと前記内部乱数rを用いて暗号化して暗号文cを求め、前記平文xを前記公開鍵pkと前記タグtと前記サンプル値uと前記内部乱数rを用いて暗号化して暗号文cを求め、コミットメントをc=(c,c)とする暗号化部と、
    前記コミットメントcと前記タグtと前記サンプル値u,uを前記コミット受信装置に送信するコミット送信部と、
    前記内部乱数r,rと前記平文xを前記コミット受信装置に送信するデコミット送信部と
    を備え、
    前記コミット受信装置は、
    前記公開鍵の組pkを取得する公開情報取得部と、
    コミットメントc’=(c’,c’)とタグt’とサンプル値u’,u’を受信するコミット受信部と、
    内部乱数r’,r’と平文x’を受信するデコミット受信部と、
    前記内部乱数r’が前記公開鍵pkと前記平文x’から前記あらかじめ定めた方法で一意に決まる内部乱数空間COINの元であるかを確認し、前記内部乱数r’が前記公開鍵pkと前記平文x’から前記あらかじめ定めた方法で一意に決まる内部乱数空間COINの元であるかを確認し、前記平文x’を前記公開鍵pkと前記タグt’と前記サンプル値u’と前記内部乱数r’を用いて暗号化して得た暗号文c”が、c”=c’であることを確認し、前記平文x’を前記公開鍵pkと前記タグt’と前記サンプル値u’と前記内部乱数r’を用いて暗号化して得た暗号文c”が、c”=c’であることを確認する確認部と
    を備える
    ことを特徴とするコミットメントシステム。
  2. 請求項1記載のコミットメントシステムであって、
    ,qを素数、gを位数qの群Gの生成元、gを位数qの群Gの生成元、x11,x12,y10,y11,…,y1κを0以上q−1以下の整数、x21,x22,y20,y21,…,y2κを0以上q−1以下の整数、iを1または2、jを1以上κ以下の整数、mを1または2、^をべき乗を示す記号、tをtのnビット目、λをO(logκ)の秘密情報長、集合S1uを群Gの2つの元の組み合わせの集合、集合S2uを群Gの2つの元の組み合わせの集合、H(t)を

    とし、
    前記鍵生成部は、g,x11,x12,y10,y11,…,y1κをランダムに選び、g11,g12,h10,h11,…,h1κをg1i=g^x1i、h1j=g^y1jのように計算し、pk=(G,g,q,λ,(S,L),g11,g12,h10,h11,…,h1κ)とsk=(pk,x12,y10,y11,…,y1κ)のように(pk,sk)を生成し、g,x21,x22,y20,y21,…,y2κをランダムに選び、g21,g22,h20,h21,…,h2κをg2i=g^x2i、h2j=g^y2jのように計算し、pk=(G,g,q,λ,(S,L),g21,g22,h20,h21,…,h2κ)とsk=(pk,x22,y20,y21,…,y2κ)のように(pk,sk)を生成し、
    前記サンプル値選択部は、サンプル値uとして、群Gの中の2つの元の組(u1r,u1t)をランダムに選定し、サンプル値uとして、群Gの中の2つの元の組(u2r,u2t)をランダムに選定し、
    前記乱数生成部は、内部乱数rとして、0以上q−1以下の整数である乱数zと乱数sを生成し、内部乱数rとして、0以上q−1以下の整数である乱数zと乱数sを生成し、
    前記暗号化部は、
    =(g11^z)(H(t)^s)(u1t^x
    =(g^z)(g12^x
    =(g^s)(u1r^x
    を計算してc=(A,a,b)とし、
    =(g21^z)(H(t)^s)(u2t^x
    =(g^z)(g22^x
    =(g^s)(u2r^x
    を計算してc=(A,a,b)として、(c,c)をコミットメントcとする
    ことを特徴とするコミットメントシステム。
  3. 請求項1記載のコミットメントシステムであって、
    ,Q,P,Qを整数、N=P、N=P、v,vを正の整数、iを1または2、jを1以上κ以下の整数、mを1または2、^をべき乗を示す記号、x1iとy1jを0以上N^v−1以下の整数、x2iとy2jを0以上N^v−1以下の整数、S1uを0以上N^(v+1)−1以下の整数の中の2つの整数の組み合わせの集合、S2uを0以上N^(v+1)−1以下の整数の中の2つの整数の組み合わせの集合、g=1+N、g=1+N、平文xを0以上N^v−1以下の整数かつ0以上N^v−1以下の整数、H(t)を

    とし、
    前記鍵生成部は、x11,x12,y10,y11,…,y1κをランダムに選び、0以上N^(v+1)−1の整数である乱数R11,R12を生成し、g11,g12,h10,h11,…,h1κ
    1i=(g^x1i)R1i^N^v modN^(v+1)
    1j=g^y1j modN^(v+1)
    のように計算し、pk=(N,v,(S,L),g11,g12,h10,h11,…,h1κ)とsk=(x12,y10,y11,…,y1κ)のように(pk,sk)を生成し、x21,x22,y20,y21,…,y2κをランダムに選び、0以上N^(v+1)−1の整数である乱数R21,R22を生成し、g21,g22,h20,h21,…,h2κ
    2i=(g^x2i)R2i^N^v modN^(v+1)
    2j=g^y2j modN^(v+1)
    のように計算し、pk=(N,v,(S,L),g21,g22,h20,h21,…,h2κ)とsk=(x22,y20,y21,…,y2κ)のように(pk,sk)を生成し、
    前記サンプル値選択部は、前記サンプル値uとして、0以上N^(v+1)−1以下の整数の中の2つの整数の組み合わせ(u1r,u1t)をランダムに選定し、前記サンプル値uとして、0以上N^(v+1)−1以下の整数の中の2つの整数の組み合わせ(u2r,u2t)をランダムに選定し、
    前記乱数生成部は、内部乱数rとして0以上N^v−1以下の整数である乱数zと乱数sを生成し、0以上N^(v+1)−1以下の整数である乱数R1A,R1a,R1bを生成し、内部乱数rとして0以上N^v−1以下の整数である乱数zと乱数sを生成し、0以上N^(v+1)−1以下の整数である乱数R2A,R2a,R2bを生成し、
    前記暗号化部は、
    =(g11^z)(H(t)^s)(u1t^x)(R1A^N^v
    modN^(v+1)
    =((g^z)(R1a^N^v) modN^(v+1))(g12^x
    =((g^s)(R1b^N^v) modN^(v+1))(u1r^x
    を計算してc=(A,a,b)とし、
    =(g21^z)(H(t)^s)(u2t^x)(R2A^N^v
    modN^(v+1)
    =((g^z)(R2a^N^v) modN^(v+1))(g22^x
    =((g^s)(R2b^N^v) modN^(v+1))(u2r^x
    を計算してc=(A,a,b)として、(c,c)をコミットメントcとする ことを特徴とするコミットメントシステム。
  4. 請求項1〜3のいずれかに記載のコミットメントシステムが備える前記共通参照情報生成装置であることを特徴とする共通参照情報生成装置。
  5. 請求項1〜3のいずれかに記載のコミットメントシステムが備える前記コミット生成装置であることを特徴とするコミット生成装置。
  6. 請求項1〜3のいずれかに記載のコミットメントシステムが備える前記コミット受信装置であることを特徴とするコミット受信装置。
  7. 共通参照情報生成装置とコミット生成装置とコミット受信装置とを用いたコミットメント方法であって、
    正の整数κをセキュリティパラメータ、S1uをあらかじめ定めた集合、S2uをあらかじめ定めた集合、Sをκビットの値と集合S1uの組み合わせで表現される集合、Sをκビットの値と集合S2uの組み合わせで表現される集合、Lu1を集合S1uの部分集合、Lu2を集合S2uの部分集合、Lをκビットの値と集合Lu1の組み合わせで表現される集合、Lをκビットの値と集合Lu2の組み合わせで表現される集合、pkを集合の組(S,L)の記述を含んだ公開鍵、pkを集合の組(S,L)の記述を含んだ公開鍵、skを公開鍵pkに対する秘密鍵、skを公開鍵pkに対する秘密鍵とし、
    前記共通参照情報生成装置が、前記セキュリティパラメータκに基づいて(pk,sk)、(pk,sk)を生成する鍵生成ステップと、
    前記共通参照情報生成装置が、前記秘密鍵sk,skを廃棄する秘密鍵廃棄ステップと、
    前記共通参照情報生成装置が、公開鍵の組pk=(pk,pk)を共通参照情報として公開するCRS公開ステップと、
    前記コミット生成装置が、前記公開鍵の組pkとκビットの値であるタグtとコミットする対象である平文xを取得する入力情報取得ステップと、
    前記コミット受信装置が、前記公開鍵の組pkを取得する公開情報取得ステップと、
    前記コミット生成装置が、前記集合S1uの元の中からサンプル値uをランダムに選択し、前記集合S2uの元の中からサンプル値uをランダムに選択するサンプル値選択ステップと、
    前記コミット生成装置が、前記公開鍵pkと前記平文xからあらかじめ定めた方法で一意に決まる内部乱数空間COINの元の中から内部乱数rをランダムに選択し、前記公開鍵pkと前記平文xからあらかじめ定めた方法で一意に決まる内部乱数空間COINの元の中から内部乱数rをランダムに選択する乱数生成ステップと、
    前記コミット生成装置が、前記平文xを前記公開鍵pkと前記タグtと前記サンプル値uと前記内部乱数rを用いて暗号化して暗号文cを求め、前記平文xを前記公開鍵pkと前記タグtと前記サンプル値uと前記内部乱数rを用いて暗号化して暗号文cを求め、コミットメントをc=(c,c)とする暗号化ステップと、
    前記コミット生成装置が、前記コミットメントcと前記タグtと前記サンプル値u,uを前記コミット受信装置に送信するコミット送信ステップと、
    前記コミット受信装置が、コミットメントc’=(c’,c’)とタグt’とサンプル値u’,u’を受信するコミット受信ステップと、
    前記コミット生成装置が、前記内部乱数r,rと前記平文xを前記コミット受信装置に送信するデコミット送信ステップと、
    前記コミット受信装置が、内部乱数r’,r’と平文x’を受信するデコミット受信ステップと、
    前記コミット受信装置が、前記内部乱数r’が前記公開鍵pkと前記平文x’から前記あらかじめ定めた方法で一意に決まる内部乱数空間COINの元であるかを確認し、前記内部乱数r’が前記公開鍵pkと前記平文x’から前記あらかじめ定めた方法で一意に決まる内部乱数空間COINの元であるかを確認し、前記平文x’を前記公開鍵pkと前記タグt’と前記サンプル値u’と前記内部乱数r’を用いて暗号化して得た暗号文c”が、c”=c’であることを確認し、前記平文x’を前記公開鍵pkと前記タグt’と前記サンプル値u’と前記内部乱数r’を用いて暗号化して得た暗号文c”が、c”=c’であることを確認する確認ステップと
    を有するコミットメント方法。
JP2012113616A 2012-05-17 2012-05-17 コミットメントシステム、共通参照情報生成装置、コミット生成装置、コミット受信装置、コミットメント方法 Active JP5755600B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012113616A JP5755600B2 (ja) 2012-05-17 2012-05-17 コミットメントシステム、共通参照情報生成装置、コミット生成装置、コミット受信装置、コミットメント方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012113616A JP5755600B2 (ja) 2012-05-17 2012-05-17 コミットメントシステム、共通参照情報生成装置、コミット生成装置、コミット受信装置、コミットメント方法

Publications (2)

Publication Number Publication Date
JP2013243421A JP2013243421A (ja) 2013-12-05
JP5755600B2 true JP5755600B2 (ja) 2015-07-29

Family

ID=49843941

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012113616A Active JP5755600B2 (ja) 2012-05-17 2012-05-17 コミットメントシステム、共通参照情報生成装置、コミット生成装置、コミット受信装置、コミットメント方法

Country Status (1)

Country Link
JP (1) JP5755600B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5863683B2 (ja) * 2013-02-04 2016-02-17 日本電信電話株式会社 コミットメントシステム、共通参照情報生成装置、コミット生成装置、コミット受信装置、コミットメント方法、およびプログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5227201B2 (ja) * 2009-01-19 2013-07-03 日本電信電話株式会社 ビットコミットメントシステム、ビットコミットメント方法、ビットコミットメント送信装置、ビットコミットメント受信装置、ビットコミットメント送信方法、ビットコミットメント受信方法、ビットコミットメントプログラム
JP5448864B2 (ja) * 2010-01-18 2014-03-19 日本電信電話株式会社 コミットメントシステム、マスター装置、送信装置、受信装置、コミットメント方法、プログラム、記録媒体
JP2011253148A (ja) * 2010-06-04 2011-12-15 Nippon Telegr & Teleph Corp <Ntt> コミットメントシステム、コミットメント生成装置、コミットメント取得装置、コミットメント生成方法、コミットメント取得方法、及びプログラム

Also Published As

Publication number Publication date
JP2013243421A (ja) 2013-12-05

Similar Documents

Publication Publication Date Title
Acar et al. A survey on homomorphic encryption schemes: Theory and implementation
Katz et al. Introduction to modern cryptography: principles and protocols
Alkim et al. Post-quantum key {Exchange—A} new hope
Ostrovsky et al. A survey of single-database private information retrieval: Techniques and applications
Sen Homomorphic encryption-theory and application
US7773747B2 (en) Encryption apparatus, decryption apparatus, and method
Katz et al. Constant-round private function evaluation with linear complexity
Katz et al. Characterization of security notions for probabilistic private-key encryption
WO2016136024A1 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
Wang et al. Proxy re-encryption schemes with key privacy from LWE
Chotard et al. Multi-client functional encryption with repetition for inner product
Paul et al. A provably secure conditional proxy re-encryption scheme without pairing
JP2007114494A (ja) 秘匿計算方法及び装置
JP2011227193A (ja) 環準同型を計算可能な公開鍵暗号方法、環準同型を計算可能な公開鍵暗号システム、送信装置、処理装置、受信装置、それらのプログラム及び記録媒体
Egashira et al. Fine-grained cryptography revisited
WO2018102382A1 (en) Method and system for switching public keys in ciphertexts
Lara-Nino et al. Post-quantum cryptography on wireless sensor networks: Challenges and opportunities
JP5755600B2 (ja) コミットメントシステム、共通参照情報生成装置、コミット生成装置、コミット受信装置、コミットメント方法
WO2019235102A1 (ja) 変換鍵生成装置、暗号文変換装置、復号装置、暗号文変換システム、変換鍵生成方法、暗号文変換方法、復号方法、及びプログラム
JP6563857B2 (ja) コミットメントシステム、共通参照情報生成装置、コミット生成装置、コミット受信装置、コミットメント方法、プログラム
JP5863683B2 (ja) コミットメントシステム、共通参照情報生成装置、コミット生成装置、コミット受信装置、コミットメント方法、およびプログラム
JP5489115B2 (ja) 原本性保証装置、原本性保証プログラム、及びこのプログラムを記録する記録媒体
Amigó Chaos-based cryptography
CN112954388A (zh) 一种数据文件的获取方法、装置、终端设备和存储介质
Dowsley et al. Oblivious transfer based on the McEliece assumptions

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150311

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150427

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150527

R150 Certificate of patent or registration of utility model

Ref document number: 5755600

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150