(57)【要約】【課題】計算量や通信量が少なく、一つの共通情報を繰り返し使用できる汎用結合可能なコミットメント方式を提供する。【解決手段】コミットメント生成装置Piが、共通参照データcrsと秘密情報sの入力を受け、X∈Gc,a(1), a(2)∈Z/qZ, ra∈Gr, A=g(i,1)a(1)・g(i,2)a(2)・εpk(1m, ra)∈Gcを生成し、A, Xをコミットメント取得装置 Pjに出力する。Pjはcrsの入力を受け付け、b∈Z/qZを生成してPiに出力する。Piは、B=εpk((gm)b, 1r)∈Gcを生成し、C=(g(0)(a(1)+a(2))・B・X)s・εpk(1m, rc)∈Gcを生成し、a(1), a(2), ra, CをPjに出力し、履歴情報sidと秘密情報sと元 rcとを格納する。Pjは履歴情報sid'を格納する。【選択図】図５
2011253148.tif 000002
【特許請求の範囲】
【請求項１】
n(n≧1)個のコミットメント生成装置 P(i) (i∈{1,...,n})とコミットメント取得装置 Pj (j≠i)とを有し、
前記コミットメント生成装置 Piは、
準同型公開鍵暗号方式の公開鍵 pkと有限可換群 Gcの元 g(0), g(1,1), g(1,2) ,..., g(n,1), g(n,2)∈Gcとを含む共通参照データ crsの入力を受け付ける第１入力部と、
秘密情報s∈{0,1,...,L}（L, qは0＜L≦qを満たす整数）の入力を受け付ける第２入力部と、
有限可換群 Gcの任意の元 X∈Gcを生成する第１任意元生成部と、
正整数qを法とする剰余環 Z/qZの任意の元 a(1), a(2)∈Z/qZを生成する第２任意元生成部と、
有限可換群 Grの任意の元 ra∈Grを生成する第３任意元生成部と、
Gmを位数qの巡回群である有限可換群とし、前記有限可換群Gmの生成元をgmとし、前記有限可換群Gmの単位元を1mとし、前記準同型公開鍵暗号方式の暗号化関数を前記公開鍵 pkと平文M∈Gmと元 r∈Grに対してεpk(M, r)∈Gcを出力する準同型関数とした場合における、前記有限可換群 Gcの元 A=g(i,1)a(1)・g(i,2)a(2)・εpk(1m, ra)∈Gcを生成する第１演算部と、
前記元 A, Xを前記コミットメント取得装置 Pjに対して出力する第１出力部と、を有し、
前記コミットメント取得装置 Pjは、
前記共通参照データ crsの入力を受け付ける第３入力部と、
前記剰余環Z/qZの任意の元 b∈Z/qZを生成する第４任意元生成部と、
前記元 bを前記コミットメント生成装置 Piに対して出力する第２出力部と、を有し、
前記コミットメント生成装置 Piは、
前記有限可換群Grの単位元を1rとした場合における、B=εpk((gm)b, 1r)∈Gcを生成する第２演算部と、
前記有限可換群Grの任意の元 rc∈Grを生成する第５任意元生成部と、
前記秘密情報s∈{0,1,...,L}をコミット対象として、前記有限可換群 Gcの元 C=(g(0)(a(1)+a(2))・B・X)s・εpk(1m, rc)∈Gcを生成する第３演算部と、
前記元a(1), a(2), ra, Cを前記コミットメント取得装置 Pjに対して出力する第３出力部と、
前記元 A, X, a(1), a(2), ra, b, Cを含む第１履歴情報sidと前記秘密情報sと前記元 rcとを格納する第１記憶部と、をさらに有し、
前記コミットメント取得装置 Pjは、
前記元 A, X, a(1), a(2), ra, b, Cを含む第２履歴情報sid'を格納する第２記憶部をさらに有する、
ことを特徴とするコミットメントシステム。
【請求項２】
請求項１のコミットメントシステムであって、
前記コミットメント生成装置 Piは、
前記第１履歴情報sidと前記秘密情報 sと前記元 rcとを前記コミットメント取得装置 Pjに対して出力する第４出力部をさらに有し、
前記コミットメント取得装置 Pjは、
前記第１履歴情報sidと前記第２履歴情報sid'とが一致し、なおかつ、前記秘密情報 sと前記元 rcとがC=(g(0)(a(1)+a(2))・B・X)s・εpk(1m, rc)∈Gc, B=εpk((gm)b, 1r)∈Gcを満たす場合に、前記秘密情報 sを承認する判定部と、をさらに有する、
ことを特徴とするコミットメントシステム。
【請求項３】
n(n≧1)個のコミットメント生成装置 Pi (i∈{1,...,n})とコミットメント取得装置 Pj (j≠i)とを有し、
前記コミットメント生成装置 Piは、
準同型公開鍵暗号方式の公開鍵 pkと、それぞれがk個（ｋは正整数）の有限可換群 Gcの元を要素とするベクトルvg(0)=(g(0,1) ,..., g(0,k)), vg(1,1)=(g(1,1,1) ,..., g(1,1,k)), vg(1,2)=(g(1,2,1) ,..., g(1,2,k)), ..., vg(n,1)=(g(n,1,1) ,..., g(n,1,k)), vg(n,2)=(g(n,2,1) ,..., g(n,2,k))とを含む共通参照データ crsの入力を受け付ける第１入力部と、
正整数qw(w=1,...,k)を法とする剰余環 Z/qwZの元vs(w)∈Z/qwZを各要素とする秘密情報ベクトルvs=(vs(1),...,vs(k))∈Πw=1k Z/qwZの入力を受け付ける第２入力部と、
有限可換群 Gcの任意の元 X∈Gcを生成する第１任意元生成部と、
前記剰余環Z/qwZの任意の元a(1,w)∈Z/qwZを各要素とするベクトルva(1)=(a(1,1) ,..., a(1,k))∈Πw=1k Z/qwZと、前記剰余環 Z/qwZの任意の元a(2,w)∈Z/qwZを各要素とするベクトルva(2)=(a(2,1) ,..., a(2,k))∈Πw=1k Z/qwZとを生成する第２任意元生成部と、
有限可換群 Grの任意の元 ra∈Grを生成する第３任意元生成部と、
Gmを位数qwの巡回群Gm,wの直積Gm=Gm,1×...×Gm,kからなる有限可換群とし、前記巡回群Gm,wの生成元をgm,wとし、前記有限可換群Gmの単位元を1mとし、前記準同型公開鍵暗号方式の暗号化関数を前記公開鍵 pkと平文M∈Gmと元 r∈Grに対してεpk(M, r)∈Gcを出力する準同型関数とし、vg(i,t)va(t)=(g(i,t,1)a(t,1) ,..., g(i,t,k)a(t,k)) (t∈{1,2})とした場合における、前記有限可換群 Gcの元A=vg(i,1)va(1)・vg(i,2)va(2)・εpk(1m, ra)∈Gcを生成する第１演算部と、
前記元 A, Xを前記コミットメント取得装置 Pjに対して出力する第１出力部と、を有し、
前記コミットメント取得装置 Pjは、
前記共通参照データ crsの入力を受け付ける第３入力部と、
前記剰余環Z/qwZの任意の元b(1,w)∈Z/qwZを各要素とするベクトルvb=(b(1) ,..., b(k))∈Πw=1k Z/qwZを生成する第４任意元生成部と、
前記ベクトルvbを前記コミットメント生成装置 Piに対して出力する第２出力部と、を有し、
前記コミットメント生成装置 Piは、
前記有限可換群Grの単位元を1rとした場合における、B=εpk(Πw=1k(gm,w)b(w), 1r)∈Gcを生成する第２演算部と、
前記有限可換群Grの任意の元 rc∈Grを生成する第５任意元生成部と、
前記秘密情報ベクトルvsをコミット対象として、前記有限可換群 Gcの元 C=(vg(0)(va(1)+va(2))・B・X)vs・εpk(1m, rc)∈Gcを生成する第３演算部と、
前記va(1), va(2), ra, Cを前記コミットメント取得装置 Pjに対して出力する第３出力部と、
前記A, X, va(1), va(2), ra, vb, Cを含む第１履歴情報sidと前記秘密情報ベクトルvsと前記元 rcとを格納する第１記憶部と、をさらに有し、
前記コミットメント取得装置 Pjは、
前記A, X, va(1), va(2), ra, vb, Cを含む第２履歴情報sid'を格納する第２記憶部をさらに有する、
ことを特徴とするコミットメントシステム。
【請求項４】
請求項３のコミットメントシステムであって、
前記コミットメント生成装置 Piは、
前記第１履歴情報sidと前記秘密情報ベクトルvsと前記元rcとを前記コミットメント取得装置 Pjに対して出力する第４出力部をさらに有し、
前記コミットメント取得装置 Pjは、
前記第１履歴情報sidと前記第２履歴情報sid'とが一致し、なおかつ、前記秘密情報ベクトルvsと前記元 rcとがC=(vg(0)(va(1)+va(2))・B・X)vs・εpk(1m, rc)∈Gc, B=εpk(Πw=1k(gm,w)b(w), 1r)∈Gcを満たす場合に、前記秘密情報ベクトルvsを承認する判定部と、をさらに有する、
ことを特徴とするコミットメントシステム。
【請求項５】
準同型公開鍵暗号方式の公開鍵 pkと有限可換群 Gcの元 g(0), g(1,1), g(1,2) ,..., g(n,1), g(n,2)∈Gcとを含む共通参照データ crsの入力を受け付ける第１入力部と、
秘密情報s∈{0,1,...,L}（L, qは0＜L≦qを満たす正整数）の入力を受け付ける第２入力部と、
有限可換群 Gcの任意の元 X∈Gcを生成する第１任意元生成部と、
前記正整数qを法とする剰余環 Z/qZの任意の元 a(1), a(2)∈Z/qZを生成する第２任意元生成部と、
有限可換群 Grの任意の元 ra∈Grを生成する第３任意元生成部と、
Gmを位数qの巡回群である有限可換群とし、前記有限可換群Gmの生成元をgmとし、前記有限可換群Gmの単位元を1mとし、前記準同型公開鍵暗号方式の暗号化関数を前記公開鍵 pkと平文M∈Gmと元 r∈Grに対してεpk(M, r)∈Gcを出力する準同型関数とした場合における、前記有限可換群 Gcの元 A=g(i,1)a(1)・g(i,2)a(2)・εpk(1m, ra)∈Gc(i∈{1,...,n}, n≧1)を生成する第１演算部と、
前記元 A, Xをコミットメント取得装置 Pjに対して出力する第１出力部と、
前記剰余環Z/qZの元b∈Z/qZの入力を受け付ける第３入力部と、
前記有限可換群Grの単位元を1rとした場合における、B=εpk((gm)b, 1r)∈Gcを生成する第２演算部と、
前記有限可換群Grの任意の元 rc∈Grを生成する第４任意元生成部と、
前記秘密情報s∈{0,1,...,L}をコミット対象として、前記有限可換群 Gcの元 C=(g(0)(a(1)+a(2))・B・X)s・εpk(1m, rc)∈Gcを生成する第３演算部と、
前記元a(1), a(2), ra, Cを前記コミットメント取得装置 Pjに対して出力する第２出力部と、
前記元 A, X, a(1), a(2), ra, b, Cを含む第１履歴情報sidと前記秘密情報sと前記元 rcとを格納する記憶部と、
を有するコミットメント生成装置。
【請求項６】
請求項５のコミットメント生成装置であって、
前記第１履歴情報 sidと前記秘密情報 sと前記元 rcとを前記コミットメント取得装置 Pjに対して出力する第３出力部をさらに有する、
ことを特徴とするコミットメントシステム。
【請求項７】
準同型公開鍵暗号方式の公開鍵 pkと有限可換群 Gcの元 g(0), g(1,1), g(1,2) ,..., g(n,1), g(n,2)∈Gcとを含む共通参照データ crsの入力を受け付ける第１入力部と、
前記有限可換群Gcの元 A, X∈Gcの入力を受け付ける第２入力部と、
正整数qを法とする剰余環 Z/qZの任意の元 b∈Z/qZを生成する第１任意元生成部と、
前記元 bを前記コミットメント生成装置 Piに対して出力する出力部と、
前記剰余環Z/qZの任意の元 a(1), a(2)∈Z/qZと、有限可換群 Grの元 ra∈Grと、前記有限可換群 Gcの元 C∈Gcとの入力を受け付ける第３入力部と、
前記元 A, X, a(1), a(2), ra, b, Cを含む第２履歴情報sid'を格納する記憶部と、
を有するコミットメント取得装置。
【請求項８】
請求項７のコミットメント取得装置であって、
第１履歴情報sidと、秘密情報 s∈{0,1,...,L}（L, qは0＜L≦qを満たす整数）と、有限可換群 Grの元 rc∈Gとの入力を受け付ける第４入力部と、
前記第１履歴情報sidと前記第２履歴情報sid'とが一致し、なおかつ、前記秘密情報 sと前記元 rcとがC=(g(0)(a(1)+a(2))・B・X)s・εpk(1m, rc)∈Gc, B=εpk((gm)b, 1r)∈Gcを満たす場合に、前記秘密情報 sを承認する判定部と、
を有するコミットメント取得装置
【請求項９】
準同型公開鍵暗号方式の公開鍵 pkと、それぞれがk個（ｋは正整数）の有限可換群 Gcの元を要素とするベクトルvg(0)=(g(0,1) ,..., g(0,k)), vg(1,1)=(g(1,1,1) ,..., g(1,1,k)), vg(1,2)=(g(1,2,1) ,..., g(1,2,k)), ..., vg(n,1)=(g(n,1,1) ,..., g(n,1,k)), vg(n,2)=(g(n,2,1) ,..., g(n,2,k))とを含む共通参照データ crsの入力を受け付ける第１入力部と、
正整数qw(w=1,...,k)を法とする剰余環 Z/qwZの元vs(w)∈Z/qwZを各要素とする秘密情報ベクトルvs=(vs(1),...,vs(k))∈Πw=1k Z/qwZの入力を受け付ける第２入力部と、
有限可換群 Gcの任意の元 X∈Gcを生成する第１任意元生成部と、
前記剰余環Z/qwZの任意の元a(1,w)∈Z/qwZを各要素とするベクトルva(1)=(a(1,1) ,..., a(1,k))∈Πw=1k Z/qwZと、前記剰余環 Z/qwZの任意の元a(2,w)∈Z/qwZを各要素とするベクトルva(2)=(a(2,1) ,..., a(2,k))∈Πw=1k Z/qwZとを生成する第２任意元生成部と、
有限可換群 Grの任意の元 ra∈Grを生成する第３任意元生成部と、
Gmを位数qwの巡回群Gm,wの直積Gm=Gm,1×...×Gm,kからなる有限可換群とし、前記巡回群Gm,wの生成元をgm,wとし、前記有限可換群Gmの単位元を1mとし、前記準同型公開鍵暗号方式の暗号化関数を前記公開鍵 pkと平文M∈Gmと元 r∈Grに対してεpk(M, r)∈Gcを出力する準同型関数とし、vg(i,t)va(t)=(g(i,t,1)a(t,1) ,..., g(i,t,k)a(t,k)) (t∈{1,2}, i∈{1,...,n}, n≧1)とした場合における、前記有限可換群 Gcの元A=vg(i,1)va(1)・vg(i,2)va(2)・εpk(1m, ra)∈Gcを生成する第１演算部と、
前記元 A, Xを前記コミットメント取得装置 Pjに対して出力する第１出力部と、
前記剰余環Z/qwZの任意の元b(1,w)∈Z/qwZを各要素とするベクトルvb=(b(1) ,..., b(k))∈Πw=1k Z/qwZの入力を受け付ける第３入力部と、
前記有限可換群Grの単位元を1rとした場合における、B=εpk(Πw=1k(gm,w)b(w), 1r)∈Gcを生成する第２演算部と、
前記有限可換群Grの任意の元 rc∈Grを生成する第４任意元生成部と、
前記秘密情報ベクトルvsをコミット対象として、前記有限可換群 Gcの元 C=(vg(0)(va(1)+va(2))・B・X)vs・εpk(1m, rc)∈Gcを生成する第３演算部と、
前記va(1), va(2), ra, Cを前記コミットメント取得装置 Pjに対して出力する第２出力部と、
前記A, X, va(1), va(2), ra, vb, Cを含む第１履歴情報sidと前記秘密情報ベクトルvsと前記元 rcとを格納する記憶部と、
を有するコミットメント生成装置。
【請求項１０】
請求項９のコミットメント生成装置であって、
前記第１履歴情報sidと前記秘密情報ベクトルvsと前記元rcとを前記コミットメント取得装置 Pjに対して出力する第３出力部をさらに有する、
ことを特徴とするコミットメント生成装置。
【請求項１１】
準同型公開鍵暗号方式の公開鍵 pkと、それぞれがk個（ｋは正整数）の有限可換群 Gcの元を要素とするベクトルvg(0)=(g(0,1) ,..., g(0,k)), vg(1,1)=(g(1,1,1) ,..., g(1,1,k)), vg(1,2)=(g(1,2,1) ,..., g(1,2,k)), ..., vg(n,1)=(g(n,1,1) ,..., g(n,1,k)), vg(n,2)=(g(n,2,1) ,..., g(n,2,k))とを含む共通参照データ crsの入力を受け付ける第１入力部と、
前記有限可換群Gcの元A, X∈Gcの入力を受け付ける第２入力部と、
正整数qw(w=1,...,k)を法とする剰余環 Z/qwZの任意の元b(1,w)∈Z/qwZを各要素とするベクトルvb=(b(1) ,..., b(k))∈Πw=1k Z/qwZを生成する任意元生成部と、
前記ベクトルvbをコミットメント生成装置 Piに対して出力する第１出力部と、
前記剰余環Z/qwZの元a(1,w)∈Z/qwZを各要素とするベクトルva(1), va(2)∈Πw=1k Z/qwZと、有限可換群 Grの元 ra∈Grと、前記有限可換群 Gcの元 Cとの入力を受け付ける第３入力部と、
前記A, X, va(1), va(2), ra, vb, Cを含む第２履歴情報sid'を格納する記憶部と、
を有するコミットメント取得装置。
【請求項１２】
請求項１１のコミットメント取得装置であって、
第１履歴情報sidと、正整数qw (w=1,...,k)を法とする剰余環 Z/qwZの元vs(w)∈Z/qwZを各要素とする秘密情報ベクトルvs=(vs(1),...,vs(k))∈Πw=1k Z/qwZと、有限可換群 Grの任意の元 rc∈Grとの入力を受け付ける第４入力部と、
前記第１履歴情報sidと前記第２履歴情報sid'とが一致し、なおかつ、前記秘密情報ベクトルvsと前記元 rcとがC=(vg(0)(va(1)+va(2))・B・X)vs・εpk(1m, rc)∈Gc, B=εpk(Πw=1k(gm,w)b(w), 1r)∈Gcを満たす場合に、前記秘密情報ベクトルvsを承認する判定部と、
を有するコミットメント取得装置。
【請求項１３】
請求項５、６、９又は１０の何れかに記載のコミットメント生成装置としての処理を実行するコミットメント生成方法。
【請求項１４】
請求項７、８、１１又は１２の何れかに記載のコミットメント取得装置としての処理を実行するコミットメント取得方法。
【請求項１５】
請求項５、６、９又は１０の何れかに記載のコミットメント生成装置としてコンピュータを機能させるためのプログラム。
【請求項１６】
請求項７、８、１１又は１２の何れかに記載のコミットメント取得装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報セキュリティ技術の基礎技術に関するものであり、特に、コミットメントに関する。
【背景技術】
【０００２】
暗号におけるコミットメントとは、電子的に行う「封じ手」のことである。コミットメントは、コミットする側 (committer) と、その受け手 (receiver) とによって行われる。コミットする側は、受け手に情報を秘匿しながらも、後に情報を開示する際、変更できない形で情報を預託する。コミットメントは、基本的にこの二つの性質（秘匿性と拘束性）を満たす。
【０００３】
コミットメントのすぐ思いつく応用例は、電子的なジャンケンやコイン投げ（もちろん、将棋や碁でも良い）であるが、実際に応用できる範囲はそれより遥かに広い。コミットメントは、最も基本的な暗号プリミティブであるため、上位の暗号プロトコルの中で、頻繁に利用される。近年では、暗号プロトコルをより現実の環境に近づけるため、コミットメントはさらに複雑な組み合わせの中で利用される場合が増えてきた。このような複雑な組み合わせの中では、古典的暗号安全性モデルで作られたコミットメントでは、秘匿性と拘束性を満たすことが出来なくなってしまう。汎用結合可能コミットメントとは、そのような複雑な組み合わせでコミットメントが利用された場合にも、秘匿性と拘束性を満たすよう設計されたコミットメントのことである（汎用結合可能性については、例えば、非特許文献１,４参照）。
【０００４】
汎用結合可能コミットメントを構成するためには、committerとreceiverの双方がアクセス出来る共通情報 (crs) が必ず必要であることが知られている（例えば、非特許文献２参照）。コミットメント方式は、技術的な問題により、この共通情報をコミットメントごとに使い捨てなければならない（すなわち、コミットメントの回数だけ新しい共通情報が必要となる）方式と、使い捨てずに同じ共通情報をずっと使い続けることができる方式とに分けられる。当然ながら、共通情報をずっと使い続けることができるコミットメント方式の方が実用性が高い。
【０００５】
次に汎用結合可能コミットメントの計算量、通信量の点からの評価がある。当然、計算量、通信量が少ないほど実用性が高い。
【０００６】
一つの共通情報を繰り返し使える汎用結合可能コミットメント方式には、従来、非特許文献１,２,３,５の方式があった。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】R. Canetti, "Universally composable security: A new paradigm for cryptographic protocols", In Proceedings of the 42th IEEE Annual Symposium on Foundations of Computer Science (FOCS'01), pages 136-145, Oct 2001.
【非特許文献２】R. Canetti and M. Fischlin, "Universally composable commitments", In J. Kilian, editor, Advances in Cryptology | CRYPTO 2001, volume 2139 of Lecture Notes in Computer Science, pages 19-40, Springer-Verlag, 2001.
【非特許文献３】R. Canetti, Y. Lindell, R. Ostrovsky, and A. Sahai, "Universally composable two-party and multi-party secure computation",  In Proceedings of the 34th annual ACM Symposium on Theory of Com-puting (STOC'02), pages 494-503, 2002.
【非特許文献４】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.
【非特許文献５】I. Damg_ard and J. Nielsen, "Perfect hiding and perfect binding universally composable commitment schemes with constant expansion factor", In Advances in Cryptology | CRYPTO2002, pages 581-596, 2002.
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、非特許文献５を除いた従来方式は、1ビットの秘密情報をコミットするためにO(k)ビット（kはセキュリティパラメータで、k=2048,160など）の平文空間を持ち、選択暗号文攻撃に対して安全な公開鍵暗号が最低二つ必要であった。すなわち、特許文献５を除いた従来方式は、1ビットの秘密情報をコミットするのに、O(k)ビットの情報量が必要であり効率が悪い。一方、非特許文献５の方式では、kビットの秘密情報をコミットするためにO(k)ビットで済むので効率は改善されている。しかしながら、非特許文献５の方式は、実質、合成数N（大きな二つの奇素数の積）を法とするRSA公開鍵暗号方式上でしか構成できず、セキュリティパラメータも大きなk=2048に限定されるという問題がある。
【０００９】
本発明はこのような点に鑑みてなされたものであり、計算量や通信量が少なく、一つの共通情報を繰り返し使用できる汎用結合可能なコミットメント方式を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明の第１態様のコミットメントでは、n(n≧1)個のコミットメント生成装置P(i) (i∈{1,...,n})とコミットメント取得装置Pj (j≠i)とによって以下の処理を行う。まず、コミットメント生成装置 Piが、準同型公開鍵暗号方式の公開鍵 pkと有限可換群 Gcの元 g(0), g(1,1), g(1,2) ,..., g(n,1), g(n,2)∈Gcとを含む共通参照データ crsと、秘密情報s∈{0,1,...,L}（L, qは0＜L≦qを満たす整数）の入力を受け付ける。コミットメント生成装置 Piは、有限可換群 Gcの任意の元 X∈Gcを生成し、正整数qを法とする剰余環 Z/qZの任意の元 a(1), a(2)∈Z/qZを生成し、有限可換群 Grの任意の元 ra∈Grを生成し、Gmを位数qの巡回群である有限可換群とし、有限可換群Gmの生成元をgmとし、有限可換群Gmの単位元を1mとし、準同型公開鍵暗号方式の暗号化関数を公開鍵 pkと平文M∈Gmと元 r∈Grに対してεpk(M, r)∈Gcを出力する準同型関数とした場合における、有限可換群 Gcの元 A=g(i,1)a(1)・g(i,2)a(2)・εpk(1m, ra)∈Gcを生成し、元 A, Xをコミットメント取得装置 Pjに対して出力する。コミットメント取得装置 Pjは、共通参照データ crsの入力を受け付け、剰余環 Z/qZの任意の元 b∈Z/qZを生成し、元 bをコミットメント生成装置 Piに対して出力する。コミットメント生成装置 Piは、有限可換群 Grの単位元を1rとした場合における、B=εpk((gm)b, 1r)∈Gcを生成し、有限可換群 Grの任意の元 rc∈Grを生成し、秘密情報s∈{0,1,...,L}をコミット対象として、有限可換群 Gcの元 C=(g(0)(a(1)+a(2))・B・X)s・εpk(1m, rc)∈Gcを生成し、元a(1), a(2), ra, Cをコミットメント取得装置 Pjに対して出力し、元 A, X, a(1), a(2), ra, b, Cを含む第１履歴情報sidと秘密情報sと元 rcとを格納する。コミットメント取得装置 Pjは、元 A, X, a(1), a(2), ra, b, Cを含む第２履歴情報sid'を格納する。
【００１１】
本発明の第１態様のデコミットメントでは、コミットメント生成装置 Piが、第１履歴情報sidと秘密情報 sと元 rcとをコミットメント取得装置 Pjに対して出力し、コミットメント取得装置 Pjが、第１履歴情報sidと第２履歴情報sid'とが一致し、なおかつ、秘密情報 sと元 rcとがC=(g(0)(a(1)+a(2))・B・X)s・εpk(1m, rc)∈Gc, B=εpk((gm)b, 1r)∈Gcを満たす場合に、秘密情報 sを承認する。
【００１２】
ここで、本発明の第１態様では、有限可換群 Gcの元 C=(g(0)(a(1)+a(2))・B・X)s・εpk(1m, rc)∈Gcによってコミット対象の秘密情報sが秘匿されるが、秘密情報sがkビットである場合、Cのビット長はO(k)で表現できる。また、暗号化関数εpk(M, r)としてどのような準同型公開鍵暗号方式のものを使用するかに制限はない。さらに、共通参照データ crsは、n(n≧1)個のコミットメント生成装置 P(i) (i∈{1,...,n})に対してそれぞれ使用可能である。
【００１３】
また、本発明の第２態様のコミットメントでは、まず、コミットメント生成装置 Piが、準同型公開鍵暗号方式の公開鍵 pkと、それぞれがk個（ｋは正整数）の有限可換群 Gcの元を要素とするベクトルvg(0)=(g(0,1) ,..., g(0,k)), vg(1,1)=(g(1,1,1) ,..., g(1,1,k)), vg(1,2)=(g(1,2,1) ,..., g(1,2,k)), ..., vg(n,1)=(g(n,1,1) ,..., g(n,1,k)), vg(n,2)=(g(n,2,1) ,..., g(n,2,k))とを含む共通参照データ crsと、正整数qw (w=1,...,k)を法とする剰余環 Z/qwZの元vs(w)∈Z/qwZを各要素とする秘密情報ベクトルvs=(vs(1),...,vs(k))∈Πw=1k Z/qwZとの入力を受け付ける。コミットメント生成装置 Piは、有限可換群 Gcの任意の元 X∈Gcを生成し、剰余環 Z/qwZの任意の元a(1,w)∈Z/qwZを各要素とするベクトルva(1)=(a(1,1) ,..., a(1,k))∈Πw=1k Z/qwZと、剰余環 Z/qwZの任意の元a(2,w)∈Z/qwZを各要素とするベクトルva(2)=(a(2,1) ,..., a(2,k))∈Πw=1k Z/qwZとを生成し、有限可換群 Grの任意の元 ra∈Grを生成し、Gmを位数qwの巡回群Gm,wの直積Gm=Gm,1×...×Gm,kからなる有限可換群とし、巡回群Gm,wの生成元をgm,wとし、有限可換群Gmの単位元を1mとし、準同型公開鍵暗号方式の暗号化関数を公開鍵 pkと平文M∈Gmと元 r∈Grに対してεpk(M, r)∈Gcを出力する準同型関数とし、vg(i,t)va(t)=(g(i,t,1)a(t,1) ,..., g(i,t,k)a(t,k)) (t∈{1,2})とした場合における、有限可換群 Gcの元A=vg(i,1)va(1)・vg(i,2)va(2)・εpk(1m, ra)∈Gcを生成し、元 A, Xをコミットメント取得装置 Pjに対して出力する。コミットメント取得装置 Pjは、共通参照データ crsの入力を受け付け、剰余環 Z/qwZの任意の元b(1,w)∈Z/qwZを各要素とするベクトルvb=(b(1) ,..., b(k))∈Πw=1k Z/qwZを生成し、ベクトルvbをコミットメント生成装置 Piに対して出力する。コミットメント生成装置 Piは、有限可換群 Grの単位元を1rとした場合における、B=εpk(Πw=1k(gm,w)b(w), 1r)∈Gcを生成し、有限可換群 Grの任意の元 rc∈Grを生成し、秘密情報ベクトルvsをコミット対象として、有限可換群 Gcの元 C=(vg(0)(va(1)+va(2))・B・X)vs・εpk(1m, rc)∈Gcを生成し、va(1), va(2), ra, Cをコミットメント取得装置 Pjに対して出力し、A, X, va(1), va(2), ra, vb, Cを含む第１履歴情報sidと秘密情報ベクトルvsと元 rcとを格納する。コミットメント取得装置 Pjは、A, X, va(1), va(2), ra, vb, Cを含む第２履歴情報sid'を格納する。
【００１４】
本発明の第２態様のデコミットメントでは、コミットメント生成装置 Piが、第１履歴情報sidと秘密情報ベクトルvsと元 rcとをコミットメント取得装置 Pjに対して出力し、コミットメント取得装置 Pjが、第１履歴情報sidと第２履歴情報sid'とが一致し、なおかつ、秘密情報ベクトルvsと元 rcとがC=(vg(0)(va(1)+va(2))・B・X)vs・εpk(1m, rc)∈Gc, B=εpk(Πw=1k(gm,w)b(w), 1r)∈Gcを満たす場合に、秘密情報ベクトルvsを承認する。
【００１５】
ここで、本発明の第２態様では、有限可換群 Gcの元 C=(vg(0)(va(1)+va(2))・B・X)vs・εpk(1m, rc)∈Gcによってコミット対象の秘密情報ベクトルvs=(vs(1),...,vs(k))∈Πw=1k Z/qwZが秘匿されるが、秘密情報ベクトルvsの各要素がkビットである場合、Cのビット長はO(k)で表現できる。また、暗号化関数εpk(M, r)∈Gcとしてどのような準同型公開鍵暗号方式のものを使用するかに制限はない。さらに、共通参照データ crsは、n(n≧1)個のコミットメント生成装置 P(i) (i∈{1,...,n})に対してそれぞれ使用可能である。
【発明の効果】
【００１６】
本発明では、計算量や通信量が少なく、一つの共通情報を繰り返し使用できる汎用結合可能なコミットメント方式を実現できる。
【図面の簡単な説明】
【００１７】
【図１】図１は、実施形態のコミットメントシステムの全体構成を説明するための図である。
【図２】図２は、第１実施形態のコミットメント生成装置の機能構成を説明するための図である。
【図３】図３は、第１実施形態のコミットメント取得装置の機能構成を説明するための図である。
【図４】図４は、第１実施形態の共通参照データ生成装置の機能構成を説明するための図である。
【図５】図５は、第１実施形態のコミットメント（封じ手）処理を説明するための図である。
【図６】図６Ａは、第１実施形態のデコミットメント（開封）処理を説明するための図である。図６Ｂは、第１実施形態の共通参照データの生成処理を説明するための図である。
【図７】図７は、第２実施形態のコミットメント生成装置の機能構成を説明するための図である。
【図８】図８は、第２実施形態のコミットメント取得装置の機能構成を説明するための図である。
【図９】図９は、第２実施形態の共通参照データ生成装置の機能構成を説明するための図である。
【図１０】図１０は、第２実施形態のコミットメント（封じ手）処理を説明するための図である。
【図１１】図１１Ａは、第２実施形態のデコミットメント（開封）処理を説明するための図である。図１１Ｂは、第２実施形態の共通参照データの生成処理を説明するための図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照して本発明の実施形態を説明する。
【００１９】
〔第１実施形態〕
まず、本発明の第１実施形態を説明する。
【００２０】
＜定義＞
Gm, Gr, Gcは、それぞれ有限可換（有限アーベル）群を表す。本形態のGmはgm∈Gmを生成元とする位数q（qは正整数）の巡回群である。すなわち、Gm=<gm>かつq=#Gmである。また、有限可換群Gmの単位元を1mと表し、有限可換群Grの単位元を1rと表す。有限可換群Gm, Gr, Gcの具体例は、例えば、楕円曲線上の有理点のなす群や有限体の乗法群などである。Gm, Gr, Gcは互いにすべて同一であってもよいし、Gm, Gr, Gcの一部が互いに異なっていてもよく、Gm, Gr, Gcが互いにすべて異なっていても良い。本形態では、有限可換群Gm, Gr, Gc上で定義された演算を乗法的に表現する。例えば、正整数qを法とする剰余環 Z/qZの元χ∈Zq/Z及び有限可換群Gcの元Ω∈Gcに対するΩχ∈Gcは、Ω∈Gcに対して有限可換群Gcで定義された演算をχ回施すことを意味し、Ω1,Ω2∈Gcに対するΩ1・Ω2∈Gcは、Ω1∈GcとΩ2∈Gcとを被演算子として有限可換群Gcで定義された演算を行うことを意味する。なお、楕円曲線上の有理点のなす群や有限体の乗法群をコンピュータ上で実現するための具体的方法には様々なものが存在し、実際、このような群を用いたコンピュータ実装可能な暗号方式が数多く存在する。
【００２１】
Π=(Gen, Enc, Dec)は準同型公開鍵暗号方式を表す。具体的には、Πは３つのアルゴリズムGen, Enc, Decの組であり、各アルゴリズムは次の性質を満たす。
【００２２】
Genは鍵生成アルゴリズムであり、セキュリティパラメータk（kは正整数）が入力され、それに対応する公開鍵・秘密鍵の組（pk, sk）を生成して出力する確率的アルゴリズムである。Encは暗号化アルゴリズムであり、公開鍵pkと平文M∈Gmを入力とし、乱数r∈Grを内部発生させ、それらを準同型関数εpk(M, r)∈Gcに代入して得られる暗号文cを計算して出力する確率的アルゴリズムである。Decは復号アルゴリズムであり、秘密鍵skと暗号文cを入力とし、平文M=Decsk(c)を計算して出力するアルゴリズムである。なお、εpk: Gm×Gr→Gcを関数としてみたとき、Gm, Gr, Gcが有限可換（有限アーベル）群であり、εpkが準同型関数であるとき（すなわち、任意のx,y∈Gm, y,z∈Grに対して、εpk(x, y)・εpk(y, z)=εpk(x・y, y・z)を満たす）、εpkを暗号化関数として用いる公開鍵暗号方式を準同型公開鍵暗号方式と呼ぶ。また、εpkが準同型関数であるとき、z∈Z（Zは整数集合を表す）に対してεpk(x, y)Z=εpk(xZ, yZ)を満たす。
【００２３】
準同型公開鍵暗号方式の具体例には、例えば、El Gamal暗号（参考文献１「T. El Gamal, "A public key cryptosystem and a signature scheme based on discrete logarithms", In IEEE Transactions on Information Theory, IT-31, pages 469-472, 1985.」）や、Damgard-Juric暗号（参考文献２「I. Damg_ard and M. Jurik, "A generalisation, a simpli_cation and some applications of Paillier's probabilistic public-key system", In K. Kim, editor, 4th International Workshop on Practice and Theory in Public Key Cryptography-PKC'01, volume 1992 of Lecture Notes in Computer Science, pages 125-140, february 2001.」）などが存在する。本形態では、どのような準同型公開鍵暗号方式を用いてもかまわない。
【００２４】
＜構成＞
第１実施形態のコミットメントシステム１（図１）は、n(n≧1)個のコミットメント生成装置１１０−ｉ(P(i): i∈{1,...,n})と、コミットメント取得装置１２０−ｊ（ Pj：(j≠i)）と、共通参照データ生成装置１３０とを有する。コミットメント生成装置１１０−ｉ、コミットメント取得装置１２０−ｊ及び共通参照データ生成装置１３０は、ネットワークや可搬型記録媒体等（以下「ネットワーク等」という）を経由した情報のやり取りが可能とされている。なお、図１では、表記便宜上から、コミットメント生成装置１１０−ｉやコミットメント取得装置１２０−ｊが1つずつ表記されているが、これらが複数存在していてもかまわない。また、共通参照データ生成装置１３０が複数存在する構成でもかまわない。
【００２５】
＜コミットメント生成装置１１０−ｉの構成＞
本形態のコミットメント生成装置１１０−ｉ（図２）は、記憶部１１１と、入力部１１２ａ,１１２ｂと、出力部１１３と、任意元生成部１１４ａ,１１４ｂ,１１４ｃ,１１４ｆと、演算部１１４ｄ，１１４ｅ，１１４ｇと、制御部１１５とを有する。
【００２６】
コミットメント生成装置１１０−ｉは、例えば、CPU(central processing unit)、RAM(random-access memory)、ROM(read-only memory)などを含む公知又は専用のコンピュータと特別なプログラムとによって構成される特別な装置である。すなわち、記憶部１１１は、例えば、RAM、キャッシュメモリ、レジスタ、ハードディスクやそれらの少なくとも一部を結合した記憶領域であり、入力部１１２ａ,１１２ｂや出力部１１３は、通信装置や入出力インタフェースや入出力ポートなどであり、任意元生成部１１４ａ,１１４ｂ,１１４ｃ,１１４ｆと演算部１１４ｄ，１１４ｅ，１１４ｇと制御部１１５とは、読み込まれた特別なプログラムを実行するCPUなどである。また、任意元生成部１１４ａ,１１４ｂ,１１４ｃ,１１４ｆと演算部１１４ｄ，１１４ｅ，１１４ｇと制御部１１５の少なくとも一部が集積回路によって構成されていてもよい。コミットメント生成装置１１０−ｉは、制御部１１５の制御のもと各処理を実行し、各処理で得られたデータは記憶部１１１に格納され、格納されたデータは必要に応じて読み出されて各処理に利用される。
【００２７】
＜コミットメント取得装置１２０−ｊの構成＞
本形態のコミットメント取得装置１２０−ｊ（図３）は、記憶部１２１と、入力部１２２と、出力部１２３と、任意元生成部１２４ａと、演算部１２４ｂ，１２４ｄと、判定部１２４ｂ，１２４ｃ，１２４ｅと、制御部１２５とを有する。
【００２８】
コミットメント取得装置１２０−ｊは、例えば、CPU、RAM、ROMなどを含む公知又は専用のコンピュータと特別なプログラムとによって構成される特別な装置である。すなわち、記憶部１２１は、例えば、RAM、キャッシュメモリ、レジスタ、ハードディスクやそれらの少なくとも一部を結合した記憶領域であり、入力部１２２や出力部１２３は、通信装置や入出力インタフェースや入出力ポートなどであり、任意元生成部１２４ａと演算部１２４ｂ，１２４ｄと判定部１２４ｂ，１２４ｃ，１２４ｅと制御部１２５とは、読み込まれた特別なプログラムを実行するCPUなどである。また、任意元生成部１２４ａと演算部１２４ｂ，１２４ｄと判定部１２４ｂ，１２４ｃ，１２４ｅと制御部１２５との少なくとも一部が集積回路によって構成されていてもよい。コミットメント取得装置１２０−ｊは、制御部１２５の制御のもと各処理を実行し、各処理で得られたデータは記憶部１２１に格納され、格納されたデータは必要に応じて読み出されて各処理に利用される。
【００２９】
＜共通参照データ生成装置１３０＞
本形態の共通参照データ生成装置１３０（図４）は、記憶部１３１と、入力部１３２と、出力部１３３と、鍵生成部１３４ａと、任意元生成部１３４ｂと、演算部１３４ｃと、制御部１３５とを有する。
【００３０】
共通参照データ生成装置１３０は、例えば、CPU、RAM、ROMなどを含む公知又は専用のコンピュータと特別なプログラムとによって構成される特別な装置である。すなわち、記憶部１３１は、例えば、RAM、キャッシュメモリ、レジスタ、ハードディスクやそれらの少なくとも一部を結合した記憶領域であり、入力部１３２や出力部１３３は、通信装置や入出力インタフェースや入出力ポートなどであり、鍵生成部１３４ａと任意元生成部１３４ｂと演算部１３４ｃと制御部１３５とは、読み込まれた特別なプログラムを実行するCPUなどである。また、鍵生成部１３４ａと任意元生成部１３４ｂと演算部１３４ｃと制御部１３５との少なくとも一部が集積回路によって構成されていてもよい。共通参照データ生成装置１３０は、制御部１３５の制御のもと各処理を実行し、各処理で得られたデータは記憶部１３１に格納され、格納されたデータは必要に応じて読み出されて各処理に利用される。
【００３１】
＜共通参照データ生成処理＞
図６Ｂを用いて本形態の共通参照データ生成処理を説明する。
【００３２】
まず、共通参照データ生成装置１３０（図４）の入力部１３２に、セキュリティパラメータkと整数L（Lは、0＜L≦qなる正整数である）が入力される（ステップＳ１３０１）。セキュリティパラメータkと整数Lとは鍵生成部１３４ａに入力される。鍵生成部１３４ａは、上述した鍵生成アルゴリズムGenを作動させ、セキュリティパラメータkに対応する公開鍵・秘密鍵の組（pk, sk）を生成し、公開鍵pkと整数Lとを演算部１３４ｃに出力し、秘密鍵skを破棄する（ステップＳ１３０２）。次に、任意元生成部１３４ｂが、ランダムに有限可換群Gcの元 g(0), g(1,1), g(1,2) ,..., g(n,1), g(n,2)∈Gc (言い換えるとg(0), g(i,t)∈Gc (i=1,...,n, t=1,2))を選択して演算部１３４ｃに出力する（ステップＳ１３０３）。次に、演算部１３４ｃが、共通参照データ 
crs=(Π, pk, L, gm, g(0), g(1,1), g(1,2) ,..., g(n,1), g(n,2))  …(1)
を生成して出力部１３３に出力する（ステップＳ１３０４）。出力部１３３は、共通参照データcrsを各コミットメント生成装置１１０−ｉ及びコミットメント取得装置１２０−ｊに対して出力し、ネットワーク等経由で各コミットメント生成装置１１０−ｉ及びコミットメント取得装置１２０−ｊに送る（ステップＳ１３０５）。
【００３３】
＜コミットメント（封じ手）処理＞
図５を用いて本形態のコミットメント処理を説明する。
【００３４】
コミットメント生成装置１１０−ｉ（図２）の入力部１１２ａに共通参照データcrsが入力され、記憶部１１１に格納される（ステップＳ１１０１）。また、コミットメント取得装置１２０−ｊ（図３）の入力部１２２に共通参照データcrsが入力され、記憶部１２１に格納される（ステップＳ１２０１）。なお、ステップＳ１１０１，Ｓ１２０１はコミットメント処理の前に実行されていてもよく、また、既に共通参照データcrsが記憶部１１１，１２１に格納されている場合には、ステップＳ１１０１，Ｓ１２０１は省略可能である。また、コミットメント生成装置１１０−ｉを表すPiとコミットメント取得装置１２０−ｊを表すPjとが、コミットメント生成装置１１０−ｉ（図２）の記憶部１１１とコミットメント取得装置１２０−ｊ（図３）の記憶部１２１とに格納される。
【００３５】
次に、コミットメント生成装置１１０−ｉ（図２）の入力部１１２ｂに、コミットする秘密情報s∈{0,1,...,L}（L, qは0＜L≦qを満たす整数）が入力され、記憶部１１１に格納される（ステップＳ１１０２）。
【００３６】
次に、任意元生成部１１４ｃが、有限可換群 Gcの任意の元 X∈Gcをランダムに生成して記憶部１１１に格納し（ステップＳ１１０３）、任意元生成部１１４ａが、正整数qを法とする剰余環 Z/qZの任意の元a(1), a(2)∈Z/qZをランダムに生成して記憶部１１１に格納し（ステップＳ１１０４）、任意元生成部１１４ｂが、有限可換群 Grの任意の元 ra∈Grをランダムに生成して記憶部１１１に格納する（ステップＳ１１０５）。演算部１１４ｄは、記憶部１１１からa(1), a(2), ra, crsのg(i,1), g(i,2)を読み出し、有限可換群 Gcの元
A=g(i,1)a(1)・g(i,2)a(2)・εpk(1m, ra)∈Gc  …(2)
を計算して記憶部１１１に格納する（ステップＳ１１０６）。
【００３７】
記憶部１１１に格納されたA, Xは出力部１１３に送られ、出力部１１３はA, Xをコミットメント取得装置１２０−ｊに対して出力する（ステップＳ１１０７）。A, Xは、ネットワーク等を経由してコミットメント取得装置１２０−ｊ（図３）の入力部１２２に入力され、記憶部１２１に格納される（ステップＳ１２０２）。
【００３８】
次に、コミットメント取得装置１２０−ｊの任意元生成部１２４ａが、剰余環 Z/qZの任意の元 b∈Z/qZをランダムに生成して記憶部１２１に格納する（ステップＳ１２０３）。記憶部１２１に格納されたbは出力部１２３に入力され、出力部１２３がコミットメント生成装置１１０−ｉに対してbを出力する（ステップＳ１２０４）。bはネットワーク等を経由してコミットメント生成装置１１０−ｉ（図２）の入力部１１２ａに入力され、記憶部１１１に格納される（ステップＳ１１０８）。
【００３９】
次に、演算部１１４ｅが、記憶部１１１からbとcrsのgmとを読み出し、
B=εpk((gm)b, 1r)∈Gc  …(3)
を生成して記憶部１１１に格納する（ステップＳ１１０９）。
【００４０】
次に、任意元生成部１１４ｆが、有限可換群 Grの任意の元 rc∈Grを生成して記憶部１１１に格納する（ステップＳ１１１０）。さらに、演算部１１４ｇが、記憶部１１１からa(1), a(2), B, X, s, crsのg(0)を読み出し、秘密情報sをコミット対象として、有限可換群 Gcの元 
C=(g(0)(a(1)+a(2))・B・X)s・εpk(1m, rc)∈Gc  …(4)
を生成して記憶部１１１に格納する（ステップＳ１１１１）。
【００４１】
次に、記憶部１１１に格納されたa(1), a(2), ra, Cが出力部１１３に入力され、出力部１１３は、(a(1), a(2), ra), Cをコミットメント取得装置１２０−ｊに対して出力する（ステップＳ１１１２）。なお、コミットメント生成装置１１０−ｉの記憶部１１１には、A, X, a(1), a(2), ra, b, C, Pi, Pj,を含む履歴情報
sid=(Pi, Pj, A, X, a(1), a(2), ra, b, C)  …(5)
と(s, rc)が保管される。
【００４２】
出力部１１３から出力された(a(1), a(2), ra), Cは、ネットワーク等を経由して、コミットメント取得装置１２０−ｊ（図３）の入力部１２２に入力され、記憶部１２１に格納される（ステップＳ１２０５）。次に、判定部１２４ｂが、記憶部１２１から、A, a(1), a(2), crsのg(i,1)及びg(i,2)を読み出し、
A=g(i,1)a(1)・g(i,2)a(2)・εpk(1m, ra)  …(6)
を満たすか否かを判定する（ステップＳ１２０６）。ここで、式(6)を満たすと判定されたならば、記憶部１２１に格納された履歴情報
sid'=(Pi, Pj, A, X, a(1), a(2), ra, b, C)  …(7)
を保管してコミットメント処理を正常終了する（ステップＳ１２０７）。一方、式(6)を満たさないと判定されたならば、記憶部１２１に格納された履歴情報を破棄してコミットメント処理をエラー終了する（ステップＳ１２０８）。
【００４３】
＜デコミットメント（開封）処理＞
図６Ａを用いて本形態のデコミットメント処理を説明する。
【００４４】
まず、コミットメント生成装置１１０−ｉ（図２）の記憶部１１１から出力部１１３に履歴情報sidと(s, rc)とが入力され、出力部１１３が履歴情報sid'と(s, rc)とをコミットメント取得装置１２０−ｊに対して出力する（ステップＳ１１２１）。履歴情報sidと(s, rc)とは、ネットワーク等を経由してコミットメント取得装置１２０−ｊ（図３）の入力部１２２に入力され、記憶部１２１に格納される（ステップＳ１２１１）。
【００４５】
次に、判定部１２４ｃが、記憶部１２１から履歴情報sidとsid'とを読み出し、
sid=sid'  …(8)
を満たすか否かを判定する（ステップＳ１２１２）。ここで、式(8)を満たさないと判定された場合、コミットメント生成装置１１０−ｉによるデコミットメントを拒絶して処理をエラー終了する（ステップＳ１２１５）。一方、式(8)を満たすと判定された場合、次に、演算部１２４ｄが、記憶部１２１からb, crsのgmを読み出して
B=εpk((gm)b, 1r)∈Gc  …(9)
を生成して判定部１２４ｅに入力する（ステップＳ１２１３）。判定部１２４ｅは、さらに記憶部１２１からa(1), a(2), X, s, crsのg(0)を読み出し、秘密情報 sと元 rcとが
C=(g(0)(a(1)+a(2))・B・X)s・εpk(1m, rc)∈Gc  …(10)
を満たすか否かを判定する（ステップＳ１２１４）。ここで、式(10)を満たさないと判定された場合、コミットメント生成装置１１０−ｉによるデコミットメントを拒絶して処理をエラー終了する（ステップＳ１２１５）。一方、式(10)を満たすと判定された場合、コミットメント生成装置１１０−ｉによるデコミットメントを承認することで秘密情報 sを承認し、その旨の判定結果を出力して処理を正常終了する（ステップＳ１２１６）。
【００４６】
〔第２実施形態〕
次に、本発明の第２実施形態を説明する。第２実施形態は、第１実施形態の公開鍵暗号方式の平文空間をベクトル空間に変更したものである。以下では、第１実施形態との相違点を中心に説明する。
【００４７】
＜定義＞
本形態でもGm, Gr, Gcは、それぞれ有限可換（有限アーベル）群を表す。ただし、本形態のGmは、位数qw(w=1,...,k)の巡回群Gm,wの直積Gm=Gm,1×...×Gm,kからなる有限可換群である（任意の有限アーベル群はこの形で一般化できる）。すなわち、巡回群Gm,wの生成元をgm,wとし、Gm=<gm,1>×...×<gm,k>とする。また、巡回群Gm,wの位数をqwとおくと、#Gm=Πw=1k qwである。また、有限可換群Gmの生成元vgmをvgm=(gm,1,...,gm,k)と定義する。また、有限可換群Gmの単位元を1mと表し、有限可換群Grの単位元を1rと表す。Gm,w, Gr, Gcの具体例は、例えば、楕円曲線上の有理点のなす群や有限体の乗法群などである。Gm,w, Gr, Gcは互いにすべて同一であってもよいし、Gm,w, Gr, Gcの一部が互いに異なっていてもよく、Gm,w, Gr, Gcが互いにすべて異なっていても良い。本形態でも、有限可換群Gm, Gr, Gc上で定義された演算を乗法的に表現する。
【００４８】
Π=(Gen, Enc, Dec)は準同型公開鍵暗号方式を表す。Gen, Enc, Decの定義は第１実施形態と同様である。また、本形態で利用する準同型公開鍵暗号方式の具体例は、El Gamal暗号やDamgard-Juric暗号など第１実施形態と同様である。本形態でも、どのような準同型公開鍵暗号方式を用いてもかまわない。
【００４９】
＜構成＞
第２実施形態のコミットメントシステム２（図１）は、n(n≧1)個のコミットメント生成装置２１０−ｉ(P(i): i∈{1,...,n})と、コミットメント取得装置２２０−ｊ（ Pj：(j≠i)）と、共通参照データ生成装置２３０とを有する。コミットメント生成装置２１０−ｉ、コミットメント取得装置２２０−ｊ及び共通参照データ生成装置２３０は、ネットワーク等を経由した情報のやり取りが可能とされている。なお、図１では、表記便宜上から、コミットメント生成装置２１０−ｉやコミットメント取得装置２２０−ｊが1つずつ表記されているが、これらが複数存在していてもかまわない。また、共通参照データ生成装置２３０が複数存在する構成でもかまわない。
【００５０】
＜コミットメント生成装置２１０−ｉの構成＞
本形態のコミットメント生成装置２１０−ｉ（図７）は、記憶部２１１と、入力部２１２ａ,２１２ｂと、出力部２１３と、任意元生成部２１４ａ,１１４ｂ,１１４ｃ,１１４ｆと、演算部２１４ｄ，２１４ｅ，２１４ｇと、制御部１１５とを有する。
【００５１】
コミットメント生成装置２１０−ｉは、例えば、CPU、RAM、ROMなどを含む公知又は専用のコンピュータと特別なプログラムとによって構成される特別な装置である。すなわち、記憶部２１１は、例えば、RAM、キャッシュメモリ、レジスタ、ハードディスクやそれらの少なくとも一部を結合した記憶領域であり、入力部２１２ａ,２１２ｂや出力部２１３は、通信装置や入出力インタフェースや入出力ポートなどであり、任意元生成部２１４ａ,１１４ｂ,１１４ｃ,１１４ｆと演算部２１４ｄ，２１４ｅ，２１４ｇと制御部１１５とは、読み込まれた特別なプログラムを実行するCPUなどである。また、任意元生成部２１４ａ,１１４ｂ,１１４ｃ,１１４ｆと演算部２１４ｄ，２１４ｅ，２１４ｇと制御部１１５の少なくとも一部が集積回路によって構成されていてもよい。コミットメント生成装置２１０−ｉは、制御部１１５の制御のもと各処理を実行し、各処理で得られたデータは記憶部２１１に格納され、格納されたデータは必要に応じて読み出されて各処理に利用される。
【００５２】
＜コミットメント取得装置２２０−ｊの構成＞
本形態のコミットメント取得装置２２０−ｊ（図８）は、記憶部２２１と、入力部２２２と、出力部２２３と、任意元生成部２２４ａと、演算部２２４ｂ，２２４ｄと、判定部２２４ｂ，２２４ｃ，２２４ｅと、制御部１２５とを有する。
【００５３】
コミットメント取得装置２２０−ｊは、例えば、CPU、RAM、ROMなどを含む公知又は専用のコンピュータと特別なプログラムとによって構成される特別な装置である。すなわち、記憶部２２１は、例えば、RAM、キャッシュメモリ、レジスタ、ハードディスクやそれらの少なくとも一部を結合した記憶領域であり、入力部２２２や出力部２２３は、通信装置や入出力インタフェースや入出力ポートなどであり、任意元生成部２２４ａと演算部２２４ｂ，２２４ｄと判定部２２４ｂ，２２４ｃ，２２４ｅと制御部１２５とは、読み込まれた特別なプログラムを実行するCPUなどである。また、任意元生成部２２４ａと演算部２２４ｂ，２２４ｄと判定部２２４ｂ，２２４ｃ，２２４ｅと制御部１２５との少なくとも一部が集積回路によって構成されていてもよい。コミットメント取得装置２２０−ｊは、制御部１２５の制御のもと各処理を実行し、各処理で得られたデータは記憶部２２１に格納され、格納されたデータは必要に応じて読み出されて各処理に利用される。
【００５４】
＜共通参照データ生成装置２３０＞
本形態の共通参照データ生成装置２３０（図９）は、記憶部２３１と、入力部２３２と、出力部２３３と、鍵生成部１３４ａと、任意元生成部２３４ｂと、演算部２３４ｃと、制御部１３５とを有する。
【００５５】
共通参照データ生成装置２３０は、例えば、CPU、RAM、ROMなどを含む公知又は専用のコンピュータと特別なプログラムとによって構成される特別な装置である。すなわち、記憶部２３１は、例えば、RAM、キャッシュメモリ、レジスタ、ハードディスクやそれらの少なくとも一部を結合した記憶領域であり、入力部２３２や出力部２３３は、通信装置や入出力インタフェースや入出力ポートなどであり、鍵生成部１３４ａと任意元生成部２３４ｂと演算部２３４ｃと制御部１３５とは、読み込まれた特別なプログラムを実行するCPUなどである。また、鍵生成部１３４ａと任意元生成部２３４ｂと演算部２３４ｃと制御部１３５との少なくとも一部が集積回路によって構成されていてもよい。共通参照データ生成装置２３０は、制御部１３５の制御のもと各処理を実行し、各処理で得られたデータは記憶部２３１に格納され、格納されたデータは必要に応じて読み出されて各処理に利用される。
【００５６】
＜共通参照データ生成処理＞
図１１Ｂを用いて本形態の共通参照データ生成処理を説明する。
【００５７】
まず、共通参照データ生成装置２３０（図９）の入力部２３２に、セキュリティパラメータkが入力される（ステップＳ２３０１）。セキュリティパラメータkは鍵生成部１３４ａに入力される。鍵生成部１３４ａは、上述した鍵生成アルゴリズムGenを作動させ、セキュリティパラメータkに対応する公開鍵・秘密鍵の組（pk, sk）を生成し、公開鍵pkを演算部２３４ｃと任意元生成部２３４ｂとに出力し、秘密鍵skを破棄する（ステップＳ２３０２）。次に、任意元生成部２３４ｂが、Encpkに生成元gm=(gm,1,...,gm,k)を入力してベクトル
vg(0)=(g(0,1) ,..., g(0,k))  …(11)
を生成して演算部２３４ｃに出力する。つまり、任意元生成部２３４ｂは、乱数rw∈Gr(w=1,...,k)を生成し、
g(0,w)=εpk(gm,w, rw)∈Gc  …(12)
によって有限可換群 Gcの元g(0,w)(w=1,...,k)を求め、ベクトルvg(0)の各要素とする。なお、Encpkに生成元gm=(gm,1,...,gm,k)を入力してベクトルvg(0)を求めるのではなく、有限可換群 Gcの任意の元g(0,w)(w=1,...,k)をランダムに定めてベクトルvg(0)を求めてもよい。また、任意元生成部２３４ｂは、有限可換群 Gcの任意の元g(i,w)(i=1,...,n, w=1,...,k)をランダムに定め、vg(i,t)=(g(i,t,1),...,g(i,t,k))∈Gck (t=1,2)として、vg(1,1), vg(1,2),...,vg(n,1), vg(n,2)を生成して演算部２３４ｃに出力する。つまり、任意元生成部２３４ｂは、それぞれがk個の有限可換群 Gcの元を要素とするベクトルvg(0)=(g(0,1) ,..., g(0,k)), vg(1,1)=(g(1,1,1) ,..., g(1,1,k)), vg(1,2)=(g(1,2,1) ,..., g(1,2,k)), ..., vg(n,1)=(g(n,1,1) ,..., g(n,1,k)), vg(n,2)=(g(n,2,1) ,..., g(n,2,k))を選択して演算部２３４ｃに出力する（ステップＳ２３０３）。
【００５８】
次に、演算部２３４ｃが、共通参照データ 
crs=(Π, pk, L, vgm, vg(0), vg(1,1), vg(1,2) ,..., vg(n,1), vg(n,2))  …(13)
を生成して出力部２３３に出力する（ステップＳ２３０４）。出力部２３３は、共通参照データcrsを各コミットメント生成装置２１０−ｉ及びコミットメント取得装置２２０−ｊに対して出力し、ネットワーク等経由で各コミットメント生成装置２１０−ｉ及びコミットメント取得装置２２０−ｊに送る（ステップＳ２３０５）。
【００５９】
＜コミットメント（封じ手）処理＞
図１０を用いて本形態のコミットメント処理を説明する。
【００６０】
コミットメント生成装置２１０−ｉ（図７）の入力部２１２ａに共通参照データcrsが入力され、記憶部２１１に格納される（ステップＳ２１０１）。また、コミットメント取得装置２２０−ｊ（図８）の入力部２２２に共通参照データcrsが入力され、記憶部２２１に格納される（ステップＳ２２０１）。なお、ステップＳ２１０１，Ｓ２２０１はコミットメント処理の前に実行されていてもよく、また、既に共通参照データcrsが記憶部２１２に格納されている場合には、ステップＳ２１０１，Ｓ２２０１は省略可能である。また、コミットメント生成装置２１０−ｉを表すPiとコミットメント取得装置２２０−ｊを表すPjとが、コミットメント生成装置２１０−ｉ（図７）の記憶部２１１とコミットメント取得装置２２０−ｊ（図８）の記憶部２２１とに格納される。
【００６１】
次に、コミットメント生成装置２１０−ｉ（図７）の入力部２１２ｂに、正整数qw(w=1,...,k)を法とする剰余環 Z/qwZの元vs(w)∈Z/qwZを各要素とする秘密情報ベクトルvs=(vs(1),...,vs(k))∈Πw=1k Z/qwZが入力され、記憶部２１１に格納される（ステップＳ２１０２）。本形態では、秘密情報ベクトルvs=(vs(1),...,vs(k))∈Πw=1k Z/qwZがコミット対象である。
【００６２】
次に、任意元生成部１１４ｃが、有限可換群 Gcの任意の元 X∈Gcをランダムに生成して記憶部２１１に格納する（ステップＳ２１０３）。また、任意元生成部２１４ａが、剰余環 Z/qwZの任意の元a(1,w)∈Z/qwZを各要素とするベクトルva(1)=(a(1,1) ,..., a(1,k))∈Πw=1k Z/qwZと、剰余環 Z/qwZの任意の元a(2,w)∈Z/qwZを各要素とするベクトルva(2)=(a(2,1) ,..., a(2,k))∈Πw=1k Z/qwZとを生成して記憶部２１１に格納する（ステップＳ２１０４）。さらに、任意元生成部１１４ｂが、有限可換群 Grの任意の元 ra∈Grをランダムに生成して記憶部２１１に格納する（ステップＳ１１０５）。演算部２１４ｄは、記憶部２１１からva(1), va(2), ra, crsのvg(i,1), vg(i,2)を読み出し、有限可換群 Gcの元
A=vg(i,1)va(1)・vg(i,2)va(2)・εpk(1m, ra)∈Gc  …(14)
を計算して記憶部２１１に格納する（ステップＳ２１０６）。ただし、va(t)=(a(t,1) ,..., a(t,k))に対してvg(i,t)va(t)=(g(i,t,1)a(t,1),..., g(i,t,k)a(t,k)) (t∈{1,2})である。
【００６３】
記憶部２１１に格納されたA, Xは出力部２１３に送られ、出力部２１３はA, Xをコミットメント取得装置２２０−ｊに対して出力する（ステップＳ１１０７）。A, Xは、ネットワーク等を経由してコミットメント取得装置２２０−ｊ（図８）の入力部２２２に入力され、記憶部２２１に格納される（ステップＳ１２０２）。
【００６４】
次に、コミットメント取得装置２２０−ｊの任意元生成部２２４ａが、剰余環 Z/qwZの任意の元b(1,w)∈Z/qwZを各要素とするベクトルvb=(b(1) ,..., b(k))∈Πw=1k Z/qwZを生成生成して記憶部２２１に格納する（ステップＳ２２０３）。記憶部２２１に格納されたvbは出力部２２３に入力され、出力部２２３がコミットメント生成装置２１０−ｉに対してvbを出力する（ステップＳ２２０４）。vbはネットワーク等を経由してコミットメント生成装置２１０−ｉ（図７）の入力部２１２ａに入力され、記憶部２１１に格納される（ステップＳ２１０８）。
【００６５】
次に、演算部２１４ｅが、記憶部２１１からvbとcrsのvgm=(gm,1,...,gm,k)とを読み出し、
B=εpk(Πw=1k(gm,w)b(w), 1r)∈Gc  …(15)
を生成して記憶部２１１に格納する（ステップＳ２１０９）。
【００６６】
次に、任意元生成部１１４ｆが、有限可換群 Grの任意の元 rc∈Grを生成して記憶部２１１に格納する（ステップＳ１２１０）。さらに、演算部２１４ｇが、記憶部２１１からva(1), va(2), B, X, vs, crsのvg(0)を読み出し、秘密情報ベクトルvsをコミット対象として、有限可換群 Gcの元 
C=(vg(0)(va(1)+va(2))・B・X)vs・εpk(1m, rc)∈Gc  …(16)
を生成して記憶部２１１に格納する（ステップＳ２１１１）。ただし、ベクトルα=(α(1) ,..., a(k))とベクトルβ=(β(1) ,...,β(k))とに対して、αβ=(α(1)β(1),..., a(k)β(k))である。
【００６７】
次に、記憶部２１１に格納されたva(1), va(2), ra, Cが出力部２１３に入力され、出力部２１３は、(va(1), va(2), ra), Cをコミットメント取得装置２２０−ｊに対して出力する（ステップＳ２１１２）。なお、コミットメント生成装置２１０−ｉの記憶部２１１には、A, X, va(1), va(2), ra, vb, C, Pi, Pj,を含む履歴情報
sid=(Pi, Pj, A, X, va(1), va(2), ra, vb, C)  …(17)
と(vs, rc)が保管される。
【００６８】
出力部２１３から出力された(va(1), va(2), ra), Cは、ネットワーク等を経由して、コミットメント取得装置２２０−ｊ（図８）の入力部２２２に入力され、記憶部２２１に格納される（ステップＳ２２０５）。次に、判定部２２４ｂが、記憶部２２１から、A, va(1), va(2), crsのvg(i,1)及びvg(i,2)を読み出し、
A=vg(i,1)va(1)・vg(i,2)va(2)・εpk(1m, ra)∈Gc  …(18)
を満たすか否かを判定する（ステップＳ２２０６）。ここで、式(18)を満たすと判定されたならば、記憶部２２１に格納された履歴情報
sid'=(Pi, Pj, A, X, va(1), va(2), ra, vb, C)  …(19)
を保管してコミットメント処理を正常終了する（ステップＳ２２０７）。一方、式(18)を満たさないと判定されたならば、記憶部２２１に格納された履歴情報を破棄してコミットメント処理をエラー終了する（ステップＳ２２０８）。
【００６９】
＜デコミットメント（開封）処理＞
図１１Ａを用いて本形態のデコミットメント処理を説明する。
【００７０】
まず、コミットメント生成装置２１０−ｉ（図７）の記憶部２１１から出力部２１３に履歴情報sidと(vs, rc)とが入力され、出力部２１３が履歴情報sid'と(vs, rc)とをコミットメント取得装置２２０−ｊに対して出力する（ステップＳ２１２１）。履歴情報sidと(vs, rc)とは、ネットワーク等を経由してコミットメント取得装置２２０−ｊ（図８）の入力部２２２に入力され、記憶部２２１に格納される（ステップＳ２２１１）。
【００７１】
次に、判定部２２４ｃが、記憶部２２１から履歴情報sidとsid'とを読み出し、式(8)
sid=sid'  …(20)
を満たすか否かを判定する（ステップＳ１２１２）。ここで、式(20)を満たさないと判定された場合、コミットメント生成装置２１０−ｉによるデコミットメントを拒絶して処理をエラー終了する（ステップＳ２２１５）。一方、式(20)を満たすと判定された場合、次に、演算部２２４ｄが、記憶部２２１からvb, crsのvgm=(gm,1,...,gm,k)を読み出して、
B=εpk(Πw=1k(gm,w)b(w), 1r)∈Gc  …(21)
を生成して判定部２２４ｅに入力する（ステップＳ２２１３）。判定部２２４ｅは、さらに記憶部２２１からva(1), va(2), X, vs, crsのvg(0)を読み出し、秘密情報 vsと元 rcとが
C=(vg(0)(va(1)+va(2))・B・X)vs・εpk(1m, rc)∈Gc  …(22)
を満たすか否かを判定する（ステップＳ２２１４）。ここで、式(22)を満たさないと判定された場合、コミットメント生成装置２１０−ｉによるデコミットメントを拒絶して処理をエラー終了する（ステップＳ２２１５）。一方、式(22)を満たすと判定された場合、コミットメント生成装置２１０−ｉによるデコミットメントを承認することで秘密情報ベクトル vsを承認し、その旨の判定結果を出力して処理を正常終了する（ステップＳ２２１６）。
【００７２】
〔変形例等〕
なお、本発明は上述の実施の形態に限定されるものではない。例えば、第１実施形態では、共通参照データ crsの例として式(1)のものを例示したが、pk, g(0), g(1,1), g(1,2) ,..., g(n,1), g(n,2)を含む他のデータを共通参照データ crsとしてもよい。例えば、pk, g(0), g(1,1), g(1,2) ,..., g(n,1), g(n,2)を含むのであれば、共通参照データ crsが式(1)の少なくとも一部の要素を含まなくてもよいし、式(1)以外の要素を含んでいてもよい。同様に、第２実施形態では、共通参照データ crsの例として式(13)のものを例示したが、pk, vg(0), vg(1,1), vg(1,2) ,..., vg(n,1), vg(n,2)を含む他のデータを共通参照データ crsとしてもよい。例えば、pk, vg(0), vg(1,1), vg(1,2) ,..., vg(n,1), vg(n,2)を含むのであれば、共通参照データ crsが式(13)の少なくとも一部の要素を含まなくてもよいし、式(13)以外の要素を含んでいてもよい。
【００７３】
また、第１実施形態では、式(5)のようにA, X, a(1), a(2), ra, b, C, Pi, Pj,を含む履歴情報を例示したが、A, X, a(1), a(2), ra, b, Cを含むその他の情報を履歴情報としてもよい。同様に、第２実施形態では、式(17)のようにA, X, va(1), va(2), ra, vb, C, Pi, Pj,を含む履歴情報を例示したが、A, X, va(1), va(2), ra, vb, Cを含むその他の情報を履歴情報としてもよい。
【００７４】
また、上記の各実施形態においてランダムに生成される情報が、予め定められた順序（選択順序は非公開）で選択される情報であってもよい。
【００７５】
また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【００７６】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【００７７】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【００７８】
また、このプログラムの流通は、例えば、そのプログラムを記録したＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【００７９】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるＡＳＰ（Application Service Provider）型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの（コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等）を含むものとする。
【００８０】
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【符号の説明】
【００８１】
１,２  コミットメントシステム
１１０−ｉ,２１０−ｉ  コミットメント生成装置
１２０−ｉ,２２０−ｉ  コミットメント取得装置
１３０,２３０  共通参照データ生成装置
【図１】
2011253148.tif 000003
【図２】
2011253148.tif 000004
【図３】
2011253148.tif 000005
【図４】
2011253148.tif 000006
【図５】
2011253148.tif 000007
【図６】
2011253148.tif 000008
【図７】
2011253148.tif 000009
【図８】
2011253148.tif 000010
【図９】
2011253148.tif 000011
【図１０】
2011253148.tif 000012
【図１１】
2011253148.tif 000013