署名生成装置、署名検証装置、再リンク鍵生成装置、及びプログラム
【課題】再リンク鍵が悪用された場合であっても、その再リンク鍵に対応する署名者の匿名性が失われることを抑制する。
【解決手段】メッセージmを含む情報に対して定まるh∈G1と、再リンク鍵r=hx(i)∈G1と、公開鍵y(n)∈G2(n∈L)の集合とを用い、元h∈G1と生成元g2∈G2との組に非退化双線形写像eを作用させた結果をe1とし、tを任意の整数とした場合における、巡回群GTの元a(i)=e1t∈GTを生成し、元z(j)∈G1と生成元g2∈G2との組に非退化双線形写像eを作用させた結果をe2とし、元h∈G1と公開鍵y(j)∈G2とにeを作用させた結果をe3とし、a(j)=e2・e3c(j)∈GT を生成し、元a(i)∈GTと元a(j)∈GTとからなる集合aLを含む情報に対して定まる整数wと、整数c(j)の総和Σc(j)とを用い、c(i)=w-Σc(j)を生成し、z(i)=ht・r-c(i)∈G1を生成し、署名σ=(cL,zL)を生成する。
【解決手段】メッセージmを含む情報に対して定まるh∈G1と、再リンク鍵r=hx(i)∈G1と、公開鍵y(n)∈G2(n∈L)の集合とを用い、元h∈G1と生成元g2∈G2との組に非退化双線形写像eを作用させた結果をe1とし、tを任意の整数とした場合における、巡回群GTの元a(i)=e1t∈GTを生成し、元z(j)∈G1と生成元g2∈G2との組に非退化双線形写像eを作用させた結果をe2とし、元h∈G1と公開鍵y(j)∈G2とにeを作用させた結果をe3とし、a(j)=e2・e3c(j)∈GT を生成し、元a(i)∈GTと元a(j)∈GTとからなる集合aLを含む情報に対して定まる整数wと、整数c(j)の総和Σc(j)とを用い、c(i)=w-Σc(j)を生成し、z(i)=ht・r-c(i)∈G1を生成し、署名σ=(cL,zL)を生成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報セキュリティ技術の応用技術に関し、特に、匿名で署名を生成する匿名署名方式に関する。
【背景技術】
【0002】
署名者の匿名性を確保することが可能な匿名署名方式として、グループ署名方式やリング署名方式などが存在する。これらの方式では、1以上の構成員からなる匿名署名グループが構成され、匿名署名が生成される。署名検証者は、匿名署名が匿名署名グループの何れかの構成員によって生成されたか否かを検証することはできるが、どの構成員が署名者なのかを知ることはできない。
【0003】
また、非特許文献1には、匿名署名が生成された後に、匿名署名グループの構成員を変更(再リンク)することが可能な方式が開示されている。非特許文献1の方式では、再リンク鍵と呼ばれる鍵を用いて匿名署名グループの構成員を変更でき、これによって署名者の匿名性の強弱を変更できる。すなわち、再リンク鍵を取得した者は、匿名署名グループの構成員の数を増やすことによって署名者の匿名性を強めることもできるし、匿名署名グループの構成員の数を減らすことによって署名者の匿名性を弱めることもできる。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】星野文学,鈴木幸太郎,小林鉄太郎,”フレキシブルリング署名”, The Institute of Electronics, Information and Communication Engineers, The 2009 Symposium on Cryptography and Information Security Otsu, Japan, Jan. 20-23, 2009.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、非特許文献1の方式では、真の署名者である構成員の公開鍵1つに対して再リンク鍵1つが対応する。すなわち、再リンク鍵を取得した第三者は、その再リンク鍵を用いることで、当該再リンク鍵に対応する構成員が署名者であるすべての匿名署名について、署名者の匿名性の強弱を変更できる。そのため、再リンク鍵が悪用された場合には、当該再リンク鍵に対応する構成員が署名者であるすべての匿名署名について、署名者の匿名性が失われてしまうという問題があった。
【0006】
本発明はこのような点に鑑みてなされたものであり、再リンク鍵が悪用された場合であっても、その再リンク鍵に対応する署名者の匿名性が失われることを抑制することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明では上記課題を解決するために、署名対象のメッセージごとに再リンク鍵が生成される。
【0008】
本発明の第1態様では、G1,G2,GTを巡回群とし、eを巡回群G1,G2の元の組を巡回群GTの元に写す非退化双線形写像とし、g2∈G2を巡回群G2の生成元とし、Lを匿名署名グループの構成員に対応する情報の集合とし、nを集合Lの各要素とし、集合Lの何れかの要素をi∈Lとし、iを除く集合Lの各要素をj∈L(j≠i)とし、x(n)(n∈L)を要素n∈Lにそれぞれ対応する整数の秘密鍵とし、巡回群G2の元y(n)=g2x(n)∈G2(n∈L)を要素n∈Lにそれぞれ対応する公開鍵とする。
【0009】
第1態様の署名生成では、メッセージmを含む情報に対して定まる巡回群G1の元h∈G1と、当該メッセージmに対応する巡回群G1の元である再リンク鍵r=hx(i)∈G1と、公開鍵y(n)∈G2(n∈L)の集合とを用い、元h∈G1と生成元g2∈G2との組に非退化双線形写像eを作用させた結果をe1とし、tを任意の整数とした場合における、巡回群GTの元a(i)=e1t∈GTを生成し、巡回群G1の任意の元z(j)∈G1(j∈L(j≠i))と生成元g2∈G2との組に非退化双線形写像eを作用させた結果をe2とし、元h∈G1と公開鍵y(j)∈G2(j∈L(j≠i))とに非退化双線形写像eを作用させた結果をe3とし、c(j)(j∈L(j≠i))を任意の整数とした場合における、巡回群GTの元a(j)=e2・e3c(j)∈GT(j∈L(j≠i))を生成し、元a(i)∈GTと元a(j)∈GT(j∈L(j≠i))とからなる集合aLを含む情報に対して定まる整数wと、整数c(j)(j∈L(j≠i))の総和Σc(j)とを用い、整数c(i)=w-Σc(j)(j∈L(j≠i))を生成し、元h∈G1と再リンク鍵r∈G1と整数tと整数c(i)とを用い、巡回群G1の元z(i)=ht・r-c(i)∈G1を生成し、整数c(j)(j∈L(j≠i))と整数c(i)とからなる集合cLと、元z(j)∈G1(j∈L(j≠i))と元z(i)∈G1とからなる集合zLとを含む、署名σ=(cL,zL)を出力する。
【0010】
第1態様の署名検証では、公開鍵y(n)∈G2(n∈L)の集合と、整数c(n)(n∈L)からなる集合cL及び巡回群G1の元z(n)∈G1(n∈L)からなる集合zLを含む署名σ=(cL,zL)と、メッセージmとを用い、元z(n)∈G1(n∈L)と生成元g2∈G2との組に非退化双線形写像eを作用させた結果をe4とし、メッセージmを含む情報に対して定まる巡回群G1の元h∈G1と公開鍵y(n)∈G2(n∈L)との組に非退化双線形写像eを作用させた結果をe5とした場合における、巡回群GTの元a(n)=e4・e5c(n)∈GT(n∈L)を生成し、元a(n)(n∈L)からなる集合aLを含む情報に対して定まる整数wと、整数c(n)(n∈L)の総和Σc(n)(n∈L)と、が一致するか否かを判定する。
【0011】
本発明の第2態様では、Gを巡回群とし、g∈Gを巡回群Gの生成元とし、Lを匿名署名グループの構成員に対応する情報の集合とし、nを集合Lの各要素とし、集合Lの何れかの要素をi∈Lとし、iを除く集合Lの各要素をj∈L(j≠i)とし、x(n)(n∈L)を要素n∈Lにそれぞれ対応する整数の秘密鍵とし、y(n)=gx(n)∈G(n∈L)を要素n∈Lにそれぞれ対応する公開鍵とする。
【0012】
第2態様の署名生成では、tを任意の整数とし、Tを巡回群Gの元T=gt∈Gとし、cを元Tとメッセージmとを含む情報に対して定まる整数とし、z=t+x(i)・cとし、メッセージmに対応する再リンク鍵r=(T, z)と、整数cと、公開鍵y(n)∈G(n∈L)の集合とを用い、t(i)を任意の整数とした場合における巡回群Gの元T(i)=gt(i)∈Gを生成し、c(j)(j∈L(j≠i))を任意の整数とし、z(j)(j∈L(j≠i))を任意の整数とした場合における、巡回群Gの元T(j)=gz(j)(T・y(j)c)c(j)∈Gを生成し、元T(i)∈Gと元T(j)(j∈L(j≠i))∈Gとからなる集合TLと元Tとを含む情報に対して定まる整数w'と、整数c(j)(j∈L(j≠i))の総和Σc(j)とを用い、整数c(i)=w'-Σc(j)(j∈L(j≠i))を生成し、整数z(i)=t(i)-z・c(i)を生成し、元T∈Gと、整数c(j)(j∈L(j≠i))と整数c(i)とからなる集合cLと、整数z(j)(j∈L(j≠i))と整数z(i)∈Gとからなる集合zLとを含む、署名σ=(T,cL,zL)を出力する。
【0013】
第2態様の署名生成では、巡回群の元T∈Gと整数c(n)(n∈L)の集合cLと整数z(n)(n∈L)の集合zLとを含む署名σ=(T,cL,zL)と、公開鍵y(n)∈G(n∈L)の集合と、メッセージmとを用い、元Tとメッセージmとを含む情報に対して定まる整数cを生成し、巡回群Gの元T(n)=gz(n)(T・y(n)c)c(n)∈G(n∈L)を生成し、元T(n)∈G(n∈L)の集合TLと元Tとを含む情報に対して定まる整数w'と、整数c(n)(n∈L)の総和Σc(n)とが、一致するか否かを判定する。
【発明の効果】
【0014】
本発明では、署名対象のメッセージごとに再リンク鍵が生成される。そのため、再リンク鍵が悪用された場合であっても、署名者の匿名性が失われる可能性がある範囲を、そのメッセージに対する匿名署名の範囲に限定できる。これにより、再リンク鍵が悪用された場合であっても、その再リンク鍵に対応する署名者の匿名性が失われることを抑制できる。
【図面の簡単な説明】
【0015】
【図1】第1実施形態の匿名署名システムの全体構成を説明するためのブロック図。
【図2】第1実施形態の再リンク鍵生成装置の機能構成を説明するための図。
【図3】第1実施形態の署名生成装置の機能構成を説明するための図。
【図4】第1実施形態の署名検証装置の機能構成を説明するための図。
【図5】第1実施形態の再リンク鍵生成処理を説明するためのフローチャート。
【図6】第1実施形態の署名生成処理を説明するためのフローチャート。
【図7】第1実施形態の署名検証処理を説明するためのフローチャート。
【図8】第2実施形態の匿名署名システムの全体構成を説明するためのブロック図。
【図9】第2実施形態の再リンク鍵生成装置の機能構成を説明するための図。
【図10】第2実施形態の署名生成装置の機能構成を説明するための図。
【図11】第2実施形態の署名検証装置の機能構成を説明するための図。
【図12】第2実施形態の再リンク鍵生成処理を説明するためのフローチャート。
【図13】第2実施形態の署名生成処理を説明するためのフローチャート。
【図14】第2実施形態の署名検証処理を説明するためのフローチャート。
【発明を実施するための形態】
【0016】
以下、図面を参照して本発明の実施形態を説明する。
【0017】
〔記号・用語の定義〕
まず、実施形態で使用する記号・用語を定義する。
【0018】
E:Eは位数Tの有限体FT上で定義された楕円曲線である。楕円曲線E上の任意の2点に対して楕円加算と呼ばれる二項演算及び楕円曲線E上の任意の1点に対して楕円逆元と呼ばれる単項演算がそれぞれ定義できる。また、この楕円加算に関して群をなすこと、楕円加算を用いて楕円スカラー倍算と呼ばれる演算が定義できることはよく知られている。また、それらの演算をコンピュータ上で効率的に実行する様々なアルゴリズムもよく知られている(例えば、参考文献1“イアン・F・ブラケ、ガディエル・セロッシ、ナイジェル・P・スマート=著、「楕円曲線暗号」、出版=ピアソン・エデュケーション、ISBN4-89471-431-0”等参照)。
【0019】
α∈β:αはβの元であることを示す。
α∈Uβ:βからランダムにαを選ぶことを示す。
α←β:αにβを代入することを示す。
p:pは大きい素数である。
【0020】
G,G1,G2:G,G1,G2,GTは巡回群である。例えば、G,G1,G2,GTは、位数pの素数位数巡回群である。巡回群G,G1,G2は、互いに同一であってもよいし、それらの少なくとも一部が互いに異なっていてもよい。また、巡回群G,G1,G2,GTにはどのようなものを利用してもよい。巡回群G,G1,G2,GTの例は、楕円曲線E上の有理点のなす群や有限体上の乗法群などである。なお、ε・η∈Gは、巡回群Gの元εとηとに対し、巡回群Gで定義された演算を行うことを意味する。また、εν∈G(ν∈Z)は、巡回群Gの元εに対し、巡回群Gで定義された演算をν回行うこと(ε・ε...ε・ε∈G)を意味する。例えば、巡回群Gが楕円曲線E上の有理点のなす群であった場合、巡回群Gで定義された演算は楕円加算であり、巡回群Gが有限体の乗法群であった場合、巡回群Gで定義された演算は剰余乗算である。これらのことは、その他の巡回群G1,G2,GTについても同様である。
【0021】
g:gは巡回群Gの生成元である。
g2:g2は巡回群G2の生成元である。
Zp:Zpはpによる剰余類の加群(Z/pZ)である。実装時には、例えば、Zpの代表元からなる加群を用いる。代表元の一例は、0以上p-1以下の整数からなる集合である。
e:eは巡回群G1,G2の元の組を巡回群GTの元に写す非退化双線形写像(bilinear map)である。非退化双線形写像eは、例えば、
e:G1×G2→GT …(1)
として演算が行われていてもよいし、
e:G2×G1→GT …(2)
として演算が行われてもよい。
【0022】
式(1)として演算が行われる非退化双線形写像eは、以下の性質を満たす。
[双線形性]すべてのΓ1∈G1,Γ2∈G2及びν,κ∈Zpについて以下の関係を満たす。
e(ν・Γ1,κ・Γ2)=e(Γ1,Γ2)ν・κ …(3)
[非退化性]すべてのΓ1∈G1,Γ2∈G2を巡回群GTの単位元に写す関数ではない。
[計算可能性]あらゆるΓ1∈G1,Γ2∈G2についてe(Γ1,Γ2)を効率的に計算するアルゴリズムが存在する。
【0023】
式(2)として演算が行われる非退化双線形写像eは、以下の性質を満たす。
[双線形性]すべてのΓ2∈G2,Γ1∈G1及びν,κ∈Zpについて以下の関係を満たす。
e(ν・Γ2,κ・Γ1)=e(Γ2,Γ1)ν・κ …(4)
[非退化性]すべてのΓ1∈G1,Γ2∈G2を巡回群GTの単位元に写す関数ではない。
[計算可能性]あらゆるΓ1∈G1,Γ2∈G2についてe(Γ1,Γ2)を効率的に計算するアルゴリズムが存在する。
【0024】
また、G1=G2の場合、すべての非退化双線形写像eの演算が式(1)又は(2)の一方のみで行われてもよいし、一部の非退化双線形写像eの演算が式(1)で行われ、残りの非退化双線形写像eの演算が式(2)で行われてもよい。さらに、G1=G2の場合、すべてのΓ1∈G1,Γ2∈G2について
e(Γ1,Γ2)=e(Γ2,Γ1) …(5)
を満たす非退化双線形写像e(非退化対称双線形写像)が用いられてもよいし、
e(Γ1,Γ2)=e(Γ2,Γ1)-1 …(6)
を満たす非退化双線形写像e(非退化反対称双線形写像)が用いられてもよい。
【0025】
また、G1=G2であるか否かにかかわらず、すべての非退化双線形写像eの演算が式(1)又は(2)の一方で行われる場合には、非退化双線形写像eとして式(5)を満たすものが用いられてもよいし、式(6)を満たすものが用いられてもよい。
【0026】
また、非退化双線形写像eの具体例は、WeilペアリングやTateペアリング(参考文献2「Alfred. J. Menezes,ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS, KLUWER ACADEMIC PUBLISHERS, ISBN0-7923-9368-6,pp. 61-81」等参照)や、参考文献3「"IEEE P1636.3TM/D1 Draft Standard for Identity-based Public-key Cryptography Using Pairings", [URL: http://grouper.ieee.org/groups/1363/IBC/material/P1363.3-D1-200805.pdf], pp.24-25, April 2008」に開示されたe(A1,φ(A2))(非退化反対称双線形写像の例)である。
【0027】
H:Hは任意のビット長のビット列{0,1}*を巡回群G1の元へ移すランダム関数とみなせる関数(擬似的なランダム関数)
H:{0,1}*→G1 …(7)
である。このような擬似的なランダム関数Hは、SHA-1などの公知のハッシュ関数を用いて容易に構成できる。
【0028】
H',H'':H'やH''は、任意のビット長のビット列{0,1}*をZpの元へ移す擬似的なランダム関数
H' :{0,1}*→Zp …(8)
H'':{0,1}*→Zp …(9)
である。このような擬似的なランダム関数H',H''は、SHA-1などの公知のハッシュ関数を用いて容易に構成できる。また、擬似的なランダム関数H, H',H''は互いに独立である。
【0029】
L:Lは匿名署名グループの構成員に対応する情報の集合である。例えば、匿名署名グループの各構成員を特定するインデックスの集合である。
n,i,j: nは集合Lの各要素である(∀n∈L)。iは集合Lの何れかの要素である(i∈L)であり、真の署名者である構成員に対応する情報である。また、jはiを除く集合Lの各要素である(j∈L(j≠i))。
x(n): x(n)∈Zp(n∈L)は、要素n∈Lにそれぞれ対応する秘密鍵である。
y(n): y(n)=g2x(n)∈G2 (n∈L)は、要素n∈Lにそれぞれ対応する公開鍵である。
【0030】
〔第1実施形態〕
まず、本発明の第1実施形態を説明する。
【0031】
<全体構成>
図1は、第1実施形態の匿名署名システム1の全体構成を説明するためのブロック図である。
【0032】
図1に例示するように、匿名署名システム1は、鍵生成装置11と、I(Iは1以上の整数)個の再リンク鍵生成装置12−i(i∈{1,...,I})と、署名生成装置13と、署名検証装置14とを有し、これらはネットワークを通じて通信可能に構成されている。なお、各装置の数は図1に例示するものに限定されず、鍵生成装置11や署名生成装置13や署名検証装置14が2以上存在してもよい。また、図1に例示した複数の装置の機能を1つの装置に持たせた構成であってもよいし、図1に例示した1つの装置の構成を複数の装置に分散処理させる構成であってもよい。
【0033】
<再リンク鍵生成装置12−i>
図2は、第1実施形態の再リンク鍵生成装置12−iの機能構成を説明するための図である。
図2に例示するように、本形態の再リンク鍵生成装置12−iは、記憶部121−iと、制御部122−iと、巡回群演算部123−iと、再リンク鍵生成部124−iと、入力部125−iと、出力部126−iとを有する。
【0034】
再リンク鍵生成装置12−iは、例えば、CPU(central processing unit)、RAM(random-access memory)、磁気記録装置、通信装置等を備える公知のコンピュータ又は専用のコンピュータに所定のプログラムが読み込まれて実行されることで構成される。例えば、記憶部121−iは、例えば、RAMや磁気記録装置やそれらの結合によって構成される記憶領域である。制御部122−iと巡回群演算部123−iと再リンク鍵生成部124−iとは、例えば、CPUに所定のプログラムが読み込まれて構成される処理部である。入力部125−iは、入力インタフェースや入力ポートや通信装置やそれらの少なくとも一部の結合である。出力部126−iは、出力インタフェースや出力ポートや通信装置やそれらの少なくとも一部の結合である。また、再リンク鍵生成装置12−iは、制御部122−iの制御のもと各処理を実行する。
【0035】
<署名生成装置13>
図3は、第1実施形態の署名生成装置13の機能構成を説明するための図である。
図3に例示するように、本形態の署名生成装置13は、記憶部131と、制御部132aと、任意値出力部132cと、巡回群演算部132b,132d〜132g,132iと、差分情報生成部132hと、入力部133と、出力部134とを有する。
【0036】
署名生成装置13は、例えば、CPU、RAM、磁気記録装置、通信装置等を備える公知のコンピュータ又は専用のコンピュータに所定のプログラムが読み込まれて実行されることで構成される。例えば、記憶部131は、例えば、RAMや磁気記録装置やそれらの結合によって構成される記憶領域である。制御部132aと任意値出力部132cと巡回群演算部132b,132d〜132g,132iと差分情報生成部132hとは、例えば、CPUに所定のプログラムが読み込まれて構成される処理部である。入力部133は、入力インタフェースや入力ポートや通信装置やそれらの少なくとも一部の結合である。出力部134は、出力インタフェースや出力ポートや通信装置やそれらの少なくとも一部の結合である。また、署名生成装置13は、制御部132aの制御のもと各処理を実行する。
【0037】
<署名検証装置14>
図4は、第1実施形態の署名検証装置14の機能構成を説明するための図である。
図4に例示するように、本形態の署名検証装置14は、記憶部141と、制御部142と、巡回群演算部143,144と、判定部145と、入力部146とを有する。
【0038】
署名検証装置14は、例えば、CPU、RAM、磁気記録装置、通信装置等を備える公知のコンピュータ又は専用のコンピュータに所定のプログラムが読み込まれて実行されることで構成される。例えば、記憶部141は、例えば、RAMや磁気記録装置やそれらの結合によって構成される記憶領域である。制御部142と巡回群演算部143,144と判定部145とは、例えば、CPUに所定のプログラムが読み込まれて構成される処理部である。入力部133は、入力インタフェースや入力ポートや通信装置やそれらの少なくとも一部の結合である。また、署名検証装置14は、制御部132aの制御のもと各処理を実行する。
【0039】
<事前処理>
匿名署名システム1でセキュリティパラメータkが定められ、セキュリティパラメータkに応じたシステムパラメータ
ρ=(p,G1,G2,GT,e,g2,H,H')
が定められる。なお、G1=G2の場合には、G1,G2の何れか一方を省略したシステムパラメータρであってもよい。システムパラメータρは、匿名署名システム1を構成するすべての装置に配布され、各装置で同じシステムパラメータρが利用される。
また、各再リンク鍵生成装置12−i(図2)の記憶部121−iには、その再リンク鍵生成装置12−iに対応する匿名署名グループの構成員に対応する情報iが格納される。
【0040】
<鍵生成処理>
鍵生成装置11は、各再リンク鍵生成装置12−i(i∈{1,...,I})に対応する秘密鍵
x(i)∈UZp …(10)
と公開鍵
y(i)←g2x(i)∈GG2 …(11)
とが生成される。
秘密鍵x(i)は、それぞれに対応する再リンク鍵生成装置12−iに配布される。秘密鍵x(i)は秘密情報であり、それに対応する再リンク鍵生成装置12−i(図2)の記憶部121−iに安全に格納される。一方、公開鍵y(i)は公開情報であり、必要に応じて署名生成装置13や署名検証装置14に配布される。
【0041】
<再リンク鍵生成処理>
図5は、第1実施形態の再リンク鍵生成処理を説明するためのフローチャートである。
本形態の再リンク鍵生成処理では、まず、匿名署名グループのいずれかの構成員(真の署名者)が、何れかの再リンク鍵生成装置12−i(図2)の入力部125−iに署名対象のメッセージm∈{0,1}*を入力する。入力部125−iに入力されたメッセージmは、記憶部121−iに格納される(ステップS111)。
【0042】
次に、巡回群演算部123−iにメッセージmが読込まれ、巡回群演算部123−iが、メッセージmを含む情報に対して定まる巡回群G1の元h∈G1を生成する。本形態では、巡回群演算部123−iが、メッセージmに擬似的なランダム関数Hを作用させた
h=H(m)∈G1 …(12)
を生成し、記憶部121−iに格納する(ステップS112)。
【0043】
次に、再リンク鍵生成部124−iに元hが読込まれ、メッセージmに対応する巡回群G1の元である再リンク鍵
r=hx(i)∈G1 …(13)
を生成し、記憶部121−iに格納する(ステップS113)。
【0044】
次に、再リンク鍵r=hx(i)∈G1とメッセージmと情報iとが出力部126−iに送られる。出力部126−iは、再リンク鍵r∈G1とメッセージmと情報iとを出力する(ステップS114)。出力された再リンク鍵r∈G1とメッセージmと情報iとは、例えば、ネットワーク経由で、署名生成装置13に送信される。
【0045】
<署名生成処理>
図6は、第1実施形態の署名生成処理を説明するためのフローチャートである。
署名生成処理では、まず、何れかの再リンク鍵生成装置12−iから送られた再リンク鍵r=hx(i)∈G1とメッセージmと情報iとが、署名生成装置13(図3)の入力部133に入力(受信)され、記憶部131に格納される。また、選択された匿名署名グループの構成員の集合Lと、∀n∈Lに対応する公開鍵y(n)の集合
yL={y(n)}n∈L …(14)
とが入力部133に入力され、記憶部131に格納される。なお、集合Lは、例えば、署名生成装置13の利用者によって選択され、入力されたものである。また、公開鍵y(n)の集合yLは、前述の鍵生成装置11からネットワーク経由で送信されたものである。
【0046】
次に、制御部132aが、記憶部131に格納された情報iと集合Lとが、
i∈L …(15)
を満たすか否かを判定する(ステップS122)。i∈Lを満たさないと判定された場合、制御部132aは署名生成処理を拒絶し(ステップS123)、処理を終了する。一方、i∈Lを満たすと判定された場合、次に、巡回群演算部132bにメッセージmが読込まれ、巡回群演算部132bが、メッセージmを含む情報に対して定まる巡回群G1の元h∈G1を生成する。本形態では、巡回群演算部132bが、メッセージmに擬似的なランダム関数Hを作用させた巡回群G1の元
h=H(m)∈G1 …(16)
を生成して記憶部131に格納する(ステップS124)。
【0047】
次に、任意値出力部132cが、任意値
t∈UZp …(17)
を出力し、記憶部131に格納する(ステップS125)。
【0048】
次に、巡回群演算部132dに元hと任意値tとが入力される。巡回群演算部132dは、元h∈G1と生成元g2∈G2との組に非退化双線形写像eを作用させた結果をe1とし、tを任意の整数とした場合における、巡回群GTの元
a(i)=e1t∈GT …(18)
を生成して記憶部131に格納する。本形態の場合、巡回群演算部132dは、
a(i)←e(h,g2)t∈GT …(19)
の演算によって巡回群GTの元a(i)を生成する(ステップS126)。
【0049】
また、任意値出力部132eが、iを除く集合Lの各要素j∈L(j≠i)にそれぞれ対応する任意値
c(j)∈UZp …(20)
を出力し、記憶部131に格納する(ステップS127)。
【0050】
また、任意値出力部132fが、iを除く集合Lの各要素j∈L(j≠i)にそれぞれ対応する任意の元
z(j)∈UG1 …(21)
を出力し、記憶部131に格納する(ステップS128)。
【0051】
次に、巡回群演算部132gに、iを除く集合Lの各要素j∈L(j≠i)にそれぞれ対応する、任意値c(j)、任意の元z(j)及び公開鍵y(j)と、巡回群G1の元hとが読込まれる。巡回群演算部132gは、巡回群G1の任意の元z(j)∈G1(j∈L(j≠i))と生成元g2∈G2との組に、非退化双線形写像eを作用させた結果をe2とし、元h∈G1と公開鍵y(j)∈G2(j∈L(j≠i))とに、非退化双線形写像eを作用させた結果をe3とした場合における、巡回群GTの元
a(j)=e2・e3c(j)∈GT …(22)
をj∈L(j≠i)について生成し、記憶部131に格納する。本形態の場合、巡回群演算部132gは、
a(j)←e(z(j),g2)・e(h,y(j))c(j)∈GT …(23)
の演算によって、巡回群GTの元a(j)をj∈L(j≠i)について生成する(ステップS129)。
【0052】
次に、差分情報生成部132hに、集合Lと、メッセージmと、公開鍵y(n)の集合yLと、元a(i)∈GTと元a(j)∈GT(j∈L(j≠i))とからなる集合aLと、任意値c(j)(j∈L(j≠i))とが読込まれる。差分情報生成部132hは、集合aLを含む情報に対して定まる値wに対応する
c(i)=w-Σc(j) …(24)
をj∈L(j≠i)について生成し、記憶部131に格納する。本形態では、システムパラメータρと集合Lとメッセージmと集合yLと集合aLとのビット結合値に、擬似的なランダム関数H'を作用させた結果
H'(ρ,L,m,yL,aL) …(25)
をwとしてc(i)を生成する。なお、Σc(j)は、iを除く集合Lの要素jに対応するc(j)の総和を意味する(ステップS130)。
【0053】
次に、巡回群演算部132iに、巡回群G1の元hと任意値tと再リンク鍵rとc(i)とが入力される。巡回群演算部132iは、これらを用い、巡回群G1の元
z(i)=ht・r-c(i)∈G1 …(26)
を生成して記憶部131に格納する(ステップS131)。
【0054】
次に、出力部134に、整数c(j)(j∈L(j≠i))と整数c(i)とからなる集合cLと、元z(j)∈G1(j∈L(j≠i))と元z(i)∈G1とからなる集合zLと、メッセージmと、集合Lとが入力される。出力部134は、集合cLと集合zLとを含む署名
σ=(cL,zL) …(27)
とメッセージmと集合Lとを出力する(ステップS132)。出力された署名σとメッセージmと集合Lとは、例えば、ネットワーク経由で署名検証装置14に送信される。
【0055】
<署名検証処理>
図7は、第1実施形態の署名検証処理を説明するためのフローチャートである。
まず、署名検証装置14(図4)の入力部146に、署名σとメッセージmと集合Lとが入力され、記憶部141に格納される。また、鍵生成装置11から配送された公開鍵y(n)の集合yLが入力部146に入力され、記憶部141に格納される(ステップS141)。
【0056】
巡回群演算部143にメッセージmが読込まれ、巡回群演算部143が、メッセージmを含む情報に対して定まる巡回群G1の元h∈G1を生成する。本形態では、巡回群演算部143が、メッセージmに擬似的なランダム関数Hを作用させた巡回群G1の元
h=H(m)∈G1 …(28)
を生成して記憶部141に格納する(ステップS142)。
【0057】
次に、巡回群演算部144に、集合Lの各要素n∈Lにそれぞれ対応する、任意値c(n)、任意の元z(n)及び公開鍵y(n)と、巡回群G1の元hとが読込まれる。なお、任意値c(n)は署名σ=(cL,zL)が含む集合cLの要素であり、任意の元z(n)は署名σ=(cL,zL)が含む集合zLの要素である。巡回群演算部144は、元z(n)∈G1(n∈L)と生成元g2∈G2との組に非退化双線形写像eを作用させた結果をe4とし、メッセージmを含む情報に対して定まる巡回群G1の元h∈G1と公開鍵y(n)∈G2(n∈L)との組に非退化双線形写像eを作用させた結果をe5とした場合における、巡回群GTの元
a(n)=e4・e5c(n)∈GT …(29)
を各n∈Lについて生成して記憶部141に格納する。本形態では、巡回群演算部144が、
a(n)←e(z(n),g2)・e(h,y(n))c(n)∈GT …(30)
の演算によって、各n∈Lに対応する巡回群GTの元a(n)を生成する(ステップS143)。
【0058】
次に、判定部145に、集合Lと、メッセージmと、公開鍵y(n)の集合yLと、元a(n)∈GTの集合aLと、任意値c(n)(n∈L)とが読込まれる。判定部145は、元a(n)(n∈L)からなる集合aLを含む情報に対して定まる整数wと、整数c(n)(n∈L)の総和Σc(n)(n∈L)と、が一致するか否かを判定する。本形態では、システムパラメータρと集合Lとメッセージmと集合yLと集合aLとのビット結合値に、擬似的なランダム関数H'を作用させた結果
H'(ρ,L,m,yL,aL) …(31)
をwとし、
H'(ρ,L,m,yL,aL)=Σc(n) …(32)
を満たすか否かを判定する(ステップS144)。ここで、判定部145が一致すると判定された場合、判定部145は署名が合格である旨の情報を出力し(ステップS145)、判定部145が一致しないと判定した場合、判定部145は署名が不合格である旨の情報を出力する(ステップS146)。
【0059】
なお、前述した非退化双線形写像の性質(式(3)-(6))、秘密鍵x(n)と公開鍵y(n)=g2x(n)∈G2との関係(式(10)(11))、c(i)の求め方(式(24)(25))、及び元z(i)=ht・r-c(i)∈G1の求め方(式(26))から、署名σが正しい場合には、式(32)を満たすことが分かる。一方、署名が正しくない場合、式(32)を満たす可能性は低い。よって、上述のような判定が可能である。
【0060】
<第1実施形態の特徴>
以上のように、本形態では、再リンク鍵生成装置12−iが、メッセージmを含む情報に対して定まる巡回群G1の元h∈G1を生成し、巡回群G1の元である再リンク鍵r=hx(i)∈G1を生成した。当該再リンク鍵rはメッセージmごとに対応する。よって、再リンク鍵rが悪用された場合であっても、署名者の匿名性が失われる(iが知られる)可能性がある範囲を、メッセージmに対する署名σの範囲に限定できる。これにより、再リンク鍵rが悪用された場合であっても、その再リンク鍵rに対応する署名者の匿名性が失われることを抑制できる。
【0061】
また、本形態では、メッセージmを含む情報の擬似的なランダム関数値を元h∈G1としたため(ステップS112等)、高い安全性を確保できる。また、本形態では、このメッセージmを含む情報としてmのみを用いた。しかし、メッセージmを含む情報としてmとその他の情報との組み合わせを用い、mとその他の情報との組み合わせの擬似的なランダム関数値を元h∈G1としてもよい。この場合の「その他の情報」は、要素i∈Lに対応しない情報であることが望ましい。安全性の観点からである。すなわち、メッセージm、又は、要素i∈Lに対応しない情報とメッセージmとからなる情報に対し、擬似的なランダム関数値を作用させた結果を元hとすることが望ましい。
【0062】
また、本形態では、「集合aLを含む情報」に対して定まるwとして式(25)のものを例示した。しかし、これは本発明を限定するものではなく、式(25)のwの代わりに以下のwを用いてもよい。ただし、Addは付加情報である。
w=H'(aL) …(33)
w=H'(L,yL,aL) …(34)
w=H'(L,m,yL,aL) …(35)
w=H'(m,aL) …(36)
w=H'(aL,Add) …(37)
w=H'(ρ,L,m,yL,aL,Add) …(38)
【0063】
このように、本形態「集合aLを含む情報」は、集合aLのみを含む情報であってもよいし、さらに、集合Lと公開鍵y(n)∈G2(n∈L)の集合yLとを含む情報であってもよいし、メッセージmを含む情報であってもよい。その他、様々な変形が可能である。
【0064】
また、本形態でZpの元として説明した値が整数であってもよい。すなわち、安全性や効率の観点からはこれらの値はZpの元であることが望ましいが、この値を一般的な整数から選択する構成も可能である。その場合、安全性の観点から、これらの値が0以上p以下であるか、p+k以上の値であることが望ましい。
【0065】
また、署名σ=(cL,zL)が集合cLと集合zLと以外の値を含む構成であってもよい。
また、本形態では、ネットワーク経由で、装置間の情報のやり取りを行う例を示したが、本発明はこれに限定されない。例えば、可搬型記録媒体などを介して装置間で情報のやり取りが行われる形態であってもよい。
【0066】
〔第2実施形態〕
次に本発明の第2実施形態を説明する。
【0067】
<全体構成>
図8は、第2実施形態の匿名署名システム2の全体構成を説明するためのブロック図である。
図8に例示するように、匿名署名システム2は、鍵生成装置11と、I(Iは1以上の整数)個の再リンク鍵生成装置22−i(i∈{1,...,I})と、署名生成装置23と、署名検証装置24とを有し、これらはネットワークを通じて通信可能に構成されている。なお、鍵生成装置11の構成は第1実施形態と同じである。また、各装置の数は図8に例示するものに限定されず、鍵生成装置11や署名生成装置23や署名検証装置24が2以上存在してもよい。また、図8に例示した複数の装置の機能を1つの装置に持たせた構成であってもよいし、図8に例示した1つの装置の構成を複数の装置に分散処理させる構成であってもよい。
【0068】
<再リンク鍵生成装置22−i>
図9は、第2実施形態の再リンク鍵生成装置22−iの機能構成を説明するための図である。
図9に例示するように、本形態の再リンク鍵生成装置22−iは、記憶部221−iと、制御部222−iと、任意値出力部223−iと、巡回群演算部224−iと、関数演算部225−iと、演算部226−iと、再リンク鍵生成部227−iと、入力部228−iと、出力部229−iとを有する。
【0069】
再リンク鍵生成装置22−iは、第1実施形態と同様、例えば、CPU、RAM、磁気記録装置、通信装置等を備える公知のコンピュータ又は専用のコンピュータに所定のプログラムが読み込まれて実行されることで構成される。また、再リンク鍵生成装置22−iは、制御部222−iの制御のもと各処理を実行する。
【0070】
<署名生成装置23>
図10は、第2実施形態の署名生成装置23の機能構成を説明するための図である。
図10に例示するように、本形態の署名生成装置23は、記憶部231と、制御部232aと、分離部232bと、関数演算部232cと、任意値出力部232dと、巡回群演算部232e〜232gと、差分情報生成部232hと、演算部232iと、入力部233と、出力部234とを有する。署名生成装置23は、第1実施形態と同様、例えば、CPU、RAM、磁気記録装置、通信装置等を備える公知のコンピュータ又は専用のコンピュータに所定のプログラムが読み込まれて実行されることで構成される。また、署名生成装置13は、制御部132aの制御のもと各処理を実行する。
【0071】
<署名検証装置24>
図11は、第2実施形態の署名検証装置24の機能構成を説明するための図である。
図11に例示するように、本形態の署名検証装置24は、記憶部241と、制御部242と、分離部243と、関数演算部244と、巡回群演算部245と、判定部246と、入力部247とを有する。
【0072】
署名検証装置24は、第1実施形態と同様、例えば、CPU、RAM、磁気記録装置、通信装置等を備える公知のコンピュータ又は専用のコンピュータに所定のプログラムが読み込まれて実行されることで構成される。
【0073】
<事前処理>
匿名署名システム2でセキュリティパラメータkが定められ、セキュリティパラメータkに応じたシステムパラメータ
ρ'=(p,G,g,H',H'')
が定められる。システムパラメータρ'は、匿名署名システム2を構成するすべての装置に配布され、各装置で同じシステムパラメータρ'が利用される。
また、各再リンク鍵生成装置22−i(図9)の記憶部221−iには、その再リンク鍵生成装置22−iに対応する匿名署名グループの構成員に対応する情報iが格納される。
【0074】
<鍵生成処理>
第1実施形態と同じである。
【0075】
<再リンク鍵生成処理>
図12は、第2実施形態の再リンク鍵生成処理を説明するためのフローチャートである。
【0076】
本形態の再リンク鍵生成処理では、まず、匿名署名グループのいずれかの構成員(真の署名者)が、何れかの再リンク鍵生成装置22−i(図9)の入力部228−iに署名対象のメッセージm∈{0,1}*を入力する。入力部228−iに入力されたメッセージmは、記憶部221−iに格納される(ステップS211)。
【0077】
次に、任意値出力部223−iが、任意値
t∈UZp …(39)
を出力し、記憶部221−iに格納する(ステップS212)。
【0078】
次に、巡回群演算部224−iに任意値tが入力される。巡回群演算部224−iは、巡回群Gの元
T=gt∈G …(40)
を生成し、記憶部221−iに格納する(ステップS213)。
【0079】
次に、関数演算部225−iに、巡回群Gの元Tとメッセージmとが入力される。関数演算部225−iは、元Tとメッセージmとを含む情報に対して定まる値cを生成し、記憶部221−iに格納する。本形態では、関数演算部225−iが、
c←H''(T,m)∈Zp …(41)
の演算によって値cを生成する(ステップS214)。なお、(T,m)はTとmとのビット結合値である。
【0080】
次に、演算部226−iに、記憶部221−iに格納された任意値tと、秘密鍵x(i)と、値cとが読込まれる。演算部226−iは、
z=t+x(i)・c∈Zp …(42)
を生成し、記憶部221−iに格納する(ステップS215)。
【0081】
次に、再リンク鍵r=(T, z)に、元T∈Gとzとが読込まれる。再リンク鍵r=(T, z)は、これらを含む再リンク鍵
r=(T, z)∈G×Zp …(43)
を生成し、記憶部221−iに格納する(ステップS216)。
【0082】
次に、出力部229−iに、再リンク鍵rとメッセージmと情報iとが入力される。出力部229−iは、再リンク鍵rとメッセージmと情報iとを出力する(ステップS217)。これらは、例えば、ネットワーク経由で署名生成装置23に送信される。
【0083】
<署名生成処理>
図13は、第2実施形態の署名生成処理を説明するためのフローチャートである。
署名生成処理では、まず、何れかの再リンク鍵生成装置22−iから送られた再リンク鍵rとメッセージmと情報iとが、署名生成装置23(図10)の入力部233に入力(受信)され、記憶部231に格納される。また、選択された匿名署名グループの構成員の集合Lと、∀n∈Lに対応する公開鍵y(n)の集合
yL={y(n)}n∈L …(44)
とが入力部233に入力され、記憶部231に格納される。なお、集合Lは、例えば、署名生成装置23の利用者によって選択され、入力されたものである。また、公開鍵y(n)の集合yLは、前述の鍵生成装置11からネットワーク経由で送信されたものである。
【0084】
次に、制御部132aが、記憶部131に格納された情報iと集合Lとが、
i∈L …(45)
を満たすか否かを判定する(ステップS222)。i∈Lを満たさないと判定された場合、制御部232aは署名生成処理を拒絶し(ステップS223)、処理を終了する。一方、i∈Lを満たすと判定された場合、分離部232bに再リンク鍵rが読込まれる。分離部232bは、再リンク鍵rを分解し、
(T, z)←r∈G×Zp …(46)
を生成する(ステップS224)。
【0085】
次に、関数演算部232cに、元T∈Gとメッセージmとが読込まれる。関数演算部232cは、元Tとメッセージmとを含む情報に対して定まる値cを生成し、記憶部231に格納する。本形態では、関数演算部232cが、
c=H''(T,m)∈Zp …(47)
を生成する(ステップS225)。
【0086】
次に、任意値出力部232dが、任意値
t(i)∈UZp …(48)
をi∈Lについて出力し、記憶部231に格納する(ステップS226)。
【0087】
次に、巡回群演算部232eに、任意値t(i)が読込まれる。巡回群演算部232eは、巡回群Gの元
T(i)=gt(i)∈G …(49)
を生成し、記憶部231に格納する(ステップS227)。
【0088】
また、任意値出力部232fが、任意値
c(j)∈UZp …(50)
z(j)∈UZp …(51)
をj∈L(j≠i)について出力し、記憶部231に格納する(ステップS228)。
【0089】
次に、巡回群演算部232gに、任意値c(j),z(j)と、元Tと、公開鍵y(j)(j∈L(j≠i))とが入力される。巡回群演算部232gは、巡回群Gの元
T(j)=gz(j)・(T・y(j)c)c(j)∈G …(52)
をj∈L(j≠i)について生成し、記憶部231に格納する(ステップS229)。
【0090】
次に、差分情報生成部232hに、元T(i)∈Gと元T(j)(j∈L(j≠i))∈Gとからなる集合TLと、元Tと、メッセージmと、公開鍵y(n)の集合yLと、任意値c(j)とが入力される。差分情報生成部232hは、元T(i)∈Gと元T(j)(j∈L(j≠i))∈Gとからなる集合TLと元Tとを含む情報に対して定まる値w'と、任意値c(j)(j∈L(j≠i))の総和Σc(j)とを用い、値
c(i)=w'-Σc(j)(j∈L(j≠i)) …(53)
を生成し、記憶部231に格納する。本形態では、元Tと集合TLとメッセージmと集合yLとのビット結合値に、擬似的なランダム関数H'を作用させた結果
H'(T,TL,m,yL) …(54)
をw'として値c(i)を生成する(ステップS230)。
【0091】
次に、演算部232iに、任意値t(i)と値zと値c(i)とが入力される。演算部232iは、
z(i)=t(i)-z・c(i)∈Zp …(55)
を生成し、記憶部231に格納する(ステップS231)。
【0092】
次に、元T∈Gと、整数c(j)(j∈L(j≠i))と整数c(i)とからなる集合cLと、任意数z(j)(j∈L(j≠i))と数z(i)∈Gとからなる集合zLとを含む署名σ=(T,cL,zL)と、メッセージmと、集合Lとが出力部234から出力される(ステップS232)。これらは、例えば、ネットワーク経由で署名検証装置24に送信される。
【0093】
<署名検証処理>
図14は、第2実施形態の署名検証処理を説明するためのフローチャートである。
まず、署名検証装置24(図11)の入力部247に、署名σとメッセージmと集合Lとが入力され、記憶部241に格納される。また、鍵生成装置11から配送された公開鍵y(n)の集合yLが入力部247に入力され、記憶部241に格納される(ステップS241)。
【0094】
次に、分離部243に署名σが読込まれる。分離部243は、署名σを分離し、
(T, cL, zL)←σ …(56)
を生成し、これらを記憶部241に格納する(ステップS242)。
【0095】
次に、関数演算部244に、元Tとメッセージmとが読込まれる。関数演算部244は、元Tとメッセージmとを含む情報に対して定まる値cを生成し、記憶部241に格納する(ステップS243)。本形態の場合、関数演算部244は、
c←H''(T,m)∈Zp …(57)
の演算によって値cを生成する(ステップS243)。
【0096】
次に、巡回群演算部245に、集合zLの要素であるz(n)と、集合cLの要素であるc(n)と、cと、Tと、集合yLの要素である公開鍵y(n)とが入力される。巡回群演算部245は、これらを用い、巡回群Gの元
T(n)=gz(n)(T・y(n)c)c(n)∈G …(58)
を各n∈Lについて生成し、記憶部241に格納する(ステップS244)。
【0097】
次に、判定部246に、元T(n)∈G(n∈L)の集合TLと、元Tと、メッセージmと、公開鍵y(n)の集合yLと、集合cLの要素であるc(n)とが読込まれる。判定部246は、元T(n)∈G(n∈L)の集合TLと元Tとを含む情報に対して定まる値w'と、値c(n)(n∈L)の総和Σc(n)とが、一致するか否かを判定する。本形態では、元Tと集合TLとメッセージmと集合yLとのビット結合値に、擬似的なランダム関数H'を作用させた結果
H'(T,TL,m,yL) …(59)
をw'とし、
H'(T,TL,m,yL)=Σc(n) …(60)
を満たすか否かを判定する(ステップS245)。ここで、判定部246が一致すると判定された場合、判定部246は署名が合格である旨の情報を出力し(ステップS246)、判定部246が一致しないと判定した場合、判定部246は署名が不合格である旨の情報を出力する(ステップS247)。
【0098】
なお、前述した秘密鍵x(n)と公開鍵y(n)=g2x(n)∈G2との関係(式(10)(11))、T(i)の求め方(式(49))、元Tの求め方(式(40))、z(i)の求め方(式(55)から、署名σが正しい場合には、式(60)を満たすことが分かる。一方、署名が正しくない場合、式(60)を満たす可能性は低い。よって、上述のような判定が可能である。
【0099】
<第2実施形態の特徴>
以上のように、本形態では、任意値tを生成し、巡回群Gの元T=gt∈Gを生成し、元Tとメッセージmとを含む情報に対して定まる整数cを生成し、z=t+x(i)・cを生成し、現元T∈Gと整数zとを含む再リンク鍵r=(T, z)を生成した。この再リンク鍵r=(T, z)は、メッセージmごとに対応する。よって、再リンク鍵rが悪用された場合であっても、署名者の匿名性が失われる(iが知られる)可能性がある範囲を、メッセージmに対する署名σの範囲に限定できる。これにより、再リンク鍵rが悪用された場合であっても、その再リンク鍵rに対応する署名者の匿名性が失われることを抑制できる。
【0100】
また、本形態では、元Tとメッセージmとを含む情報の擬似的なランダム関数値を値cとしたため(ステップS225等)、高い安全性を確保できる。また、本形態では、この元Tとメッセージmとを含む情報としてTとmとのビット結合値(T,m)を用いた。しかし、元Tとメッセージmとを含む情報としてTとmとその他の情報との組み合わせを用い、Tとmとその他の情報との組み合わせの擬似的なランダム関数値を元h∈G1としてもよい。この場合の「その他の情報」は、要素i∈Lに対応しない情報であることが望ましい。安全性の観点からである。すなわち、元Tとメッセージmとからなる情報、又は、要素i∈Lに対応しない情報と元Tとメッセージmとからなる情報に対し、擬似的なランダム関数値を作用させた結果をcとすることが望ましい。
【0101】
また、本形態では、「集合TLと元Tとを含む情報」に対して定まる値w'(ステップS230等)として式(54)のものを例示した。しかし、これは本発明を限定するものではなく、式(54)のw'の代わりに以下のw'を用いてもよい。ただし、Addは付加情報である。
w=H'(T,TL) …(61)
w=H'(T,TL,yL) …(62)
w=H'(T,TL,m) …(63)
w=H'(T,TL,Add) …(64)
w=H'(T,TL,m,yL,Add) …(65)
【0102】
このように、本形態の「集合TLと元Tとを含む情報」は、集合TLと元Tとのみを含む情報であってもよいし、さらに、公開鍵y(n)∈G(n∈L)の集合yLを含む情報であってもよいし、メッセージmを含む情報であってもよい。その他、様々な変形が可能である。
【0103】
同様に、本形態の「元Tとメッセージmとを含む情報」(ステップS225等)、元Tとメッセージmとのみを含む情報であってもよいし、さらに他の情報を含むものであってもよい。
【0104】
また、本形態でZpの元として説明した値が整数であってもよい。すなわち、安全性や効率の観点からはこれらの値はZpの元であることが望ましいが、この値を一般的な整数から選択する構成も可能である。その場合、安全性の観点から、これらの値が0以上p以下であるか、p+k以上の値であることが望ましい。
【0105】
また、署名σ=(T,cL,zL)がTと集合cLと集合zLと以外の値を含む構成であってもよい。
また、本形態では、ネットワーク経由で、装置間の情報のやり取りを行う例を示したが、本発明はこれに限定されない。例えば、可搬型記録媒体などを介して装置間で情報のやり取りが行われる形態であってもよい。
【0106】
〔その他の変形例〕
本発明は上述の実施形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0107】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【0108】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0109】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0110】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0111】
また、上述の実施形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【符号の説明】
【0112】
1,2 匿名署名システム
12−i,22−i 再リンク鍵生成装置
13,23 署名生成装置
14,24 署名検証装置
【技術分野】
【0001】
本発明は、情報セキュリティ技術の応用技術に関し、特に、匿名で署名を生成する匿名署名方式に関する。
【背景技術】
【0002】
署名者の匿名性を確保することが可能な匿名署名方式として、グループ署名方式やリング署名方式などが存在する。これらの方式では、1以上の構成員からなる匿名署名グループが構成され、匿名署名が生成される。署名検証者は、匿名署名が匿名署名グループの何れかの構成員によって生成されたか否かを検証することはできるが、どの構成員が署名者なのかを知ることはできない。
【0003】
また、非特許文献1には、匿名署名が生成された後に、匿名署名グループの構成員を変更(再リンク)することが可能な方式が開示されている。非特許文献1の方式では、再リンク鍵と呼ばれる鍵を用いて匿名署名グループの構成員を変更でき、これによって署名者の匿名性の強弱を変更できる。すなわち、再リンク鍵を取得した者は、匿名署名グループの構成員の数を増やすことによって署名者の匿名性を強めることもできるし、匿名署名グループの構成員の数を減らすことによって署名者の匿名性を弱めることもできる。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】星野文学,鈴木幸太郎,小林鉄太郎,”フレキシブルリング署名”, The Institute of Electronics, Information and Communication Engineers, The 2009 Symposium on Cryptography and Information Security Otsu, Japan, Jan. 20-23, 2009.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし、非特許文献1の方式では、真の署名者である構成員の公開鍵1つに対して再リンク鍵1つが対応する。すなわち、再リンク鍵を取得した第三者は、その再リンク鍵を用いることで、当該再リンク鍵に対応する構成員が署名者であるすべての匿名署名について、署名者の匿名性の強弱を変更できる。そのため、再リンク鍵が悪用された場合には、当該再リンク鍵に対応する構成員が署名者であるすべての匿名署名について、署名者の匿名性が失われてしまうという問題があった。
【0006】
本発明はこのような点に鑑みてなされたものであり、再リンク鍵が悪用された場合であっても、その再リンク鍵に対応する署名者の匿名性が失われることを抑制することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明では上記課題を解決するために、署名対象のメッセージごとに再リンク鍵が生成される。
【0008】
本発明の第1態様では、G1,G2,GTを巡回群とし、eを巡回群G1,G2の元の組を巡回群GTの元に写す非退化双線形写像とし、g2∈G2を巡回群G2の生成元とし、Lを匿名署名グループの構成員に対応する情報の集合とし、nを集合Lの各要素とし、集合Lの何れかの要素をi∈Lとし、iを除く集合Lの各要素をj∈L(j≠i)とし、x(n)(n∈L)を要素n∈Lにそれぞれ対応する整数の秘密鍵とし、巡回群G2の元y(n)=g2x(n)∈G2(n∈L)を要素n∈Lにそれぞれ対応する公開鍵とする。
【0009】
第1態様の署名生成では、メッセージmを含む情報に対して定まる巡回群G1の元h∈G1と、当該メッセージmに対応する巡回群G1の元である再リンク鍵r=hx(i)∈G1と、公開鍵y(n)∈G2(n∈L)の集合とを用い、元h∈G1と生成元g2∈G2との組に非退化双線形写像eを作用させた結果をe1とし、tを任意の整数とした場合における、巡回群GTの元a(i)=e1t∈GTを生成し、巡回群G1の任意の元z(j)∈G1(j∈L(j≠i))と生成元g2∈G2との組に非退化双線形写像eを作用させた結果をe2とし、元h∈G1と公開鍵y(j)∈G2(j∈L(j≠i))とに非退化双線形写像eを作用させた結果をe3とし、c(j)(j∈L(j≠i))を任意の整数とした場合における、巡回群GTの元a(j)=e2・e3c(j)∈GT(j∈L(j≠i))を生成し、元a(i)∈GTと元a(j)∈GT(j∈L(j≠i))とからなる集合aLを含む情報に対して定まる整数wと、整数c(j)(j∈L(j≠i))の総和Σc(j)とを用い、整数c(i)=w-Σc(j)(j∈L(j≠i))を生成し、元h∈G1と再リンク鍵r∈G1と整数tと整数c(i)とを用い、巡回群G1の元z(i)=ht・r-c(i)∈G1を生成し、整数c(j)(j∈L(j≠i))と整数c(i)とからなる集合cLと、元z(j)∈G1(j∈L(j≠i))と元z(i)∈G1とからなる集合zLとを含む、署名σ=(cL,zL)を出力する。
【0010】
第1態様の署名検証では、公開鍵y(n)∈G2(n∈L)の集合と、整数c(n)(n∈L)からなる集合cL及び巡回群G1の元z(n)∈G1(n∈L)からなる集合zLを含む署名σ=(cL,zL)と、メッセージmとを用い、元z(n)∈G1(n∈L)と生成元g2∈G2との組に非退化双線形写像eを作用させた結果をe4とし、メッセージmを含む情報に対して定まる巡回群G1の元h∈G1と公開鍵y(n)∈G2(n∈L)との組に非退化双線形写像eを作用させた結果をe5とした場合における、巡回群GTの元a(n)=e4・e5c(n)∈GT(n∈L)を生成し、元a(n)(n∈L)からなる集合aLを含む情報に対して定まる整数wと、整数c(n)(n∈L)の総和Σc(n)(n∈L)と、が一致するか否かを判定する。
【0011】
本発明の第2態様では、Gを巡回群とし、g∈Gを巡回群Gの生成元とし、Lを匿名署名グループの構成員に対応する情報の集合とし、nを集合Lの各要素とし、集合Lの何れかの要素をi∈Lとし、iを除く集合Lの各要素をj∈L(j≠i)とし、x(n)(n∈L)を要素n∈Lにそれぞれ対応する整数の秘密鍵とし、y(n)=gx(n)∈G(n∈L)を要素n∈Lにそれぞれ対応する公開鍵とする。
【0012】
第2態様の署名生成では、tを任意の整数とし、Tを巡回群Gの元T=gt∈Gとし、cを元Tとメッセージmとを含む情報に対して定まる整数とし、z=t+x(i)・cとし、メッセージmに対応する再リンク鍵r=(T, z)と、整数cと、公開鍵y(n)∈G(n∈L)の集合とを用い、t(i)を任意の整数とした場合における巡回群Gの元T(i)=gt(i)∈Gを生成し、c(j)(j∈L(j≠i))を任意の整数とし、z(j)(j∈L(j≠i))を任意の整数とした場合における、巡回群Gの元T(j)=gz(j)(T・y(j)c)c(j)∈Gを生成し、元T(i)∈Gと元T(j)(j∈L(j≠i))∈Gとからなる集合TLと元Tとを含む情報に対して定まる整数w'と、整数c(j)(j∈L(j≠i))の総和Σc(j)とを用い、整数c(i)=w'-Σc(j)(j∈L(j≠i))を生成し、整数z(i)=t(i)-z・c(i)を生成し、元T∈Gと、整数c(j)(j∈L(j≠i))と整数c(i)とからなる集合cLと、整数z(j)(j∈L(j≠i))と整数z(i)∈Gとからなる集合zLとを含む、署名σ=(T,cL,zL)を出力する。
【0013】
第2態様の署名生成では、巡回群の元T∈Gと整数c(n)(n∈L)の集合cLと整数z(n)(n∈L)の集合zLとを含む署名σ=(T,cL,zL)と、公開鍵y(n)∈G(n∈L)の集合と、メッセージmとを用い、元Tとメッセージmとを含む情報に対して定まる整数cを生成し、巡回群Gの元T(n)=gz(n)(T・y(n)c)c(n)∈G(n∈L)を生成し、元T(n)∈G(n∈L)の集合TLと元Tとを含む情報に対して定まる整数w'と、整数c(n)(n∈L)の総和Σc(n)とが、一致するか否かを判定する。
【発明の効果】
【0014】
本発明では、署名対象のメッセージごとに再リンク鍵が生成される。そのため、再リンク鍵が悪用された場合であっても、署名者の匿名性が失われる可能性がある範囲を、そのメッセージに対する匿名署名の範囲に限定できる。これにより、再リンク鍵が悪用された場合であっても、その再リンク鍵に対応する署名者の匿名性が失われることを抑制できる。
【図面の簡単な説明】
【0015】
【図1】第1実施形態の匿名署名システムの全体構成を説明するためのブロック図。
【図2】第1実施形態の再リンク鍵生成装置の機能構成を説明するための図。
【図3】第1実施形態の署名生成装置の機能構成を説明するための図。
【図4】第1実施形態の署名検証装置の機能構成を説明するための図。
【図5】第1実施形態の再リンク鍵生成処理を説明するためのフローチャート。
【図6】第1実施形態の署名生成処理を説明するためのフローチャート。
【図7】第1実施形態の署名検証処理を説明するためのフローチャート。
【図8】第2実施形態の匿名署名システムの全体構成を説明するためのブロック図。
【図9】第2実施形態の再リンク鍵生成装置の機能構成を説明するための図。
【図10】第2実施形態の署名生成装置の機能構成を説明するための図。
【図11】第2実施形態の署名検証装置の機能構成を説明するための図。
【図12】第2実施形態の再リンク鍵生成処理を説明するためのフローチャート。
【図13】第2実施形態の署名生成処理を説明するためのフローチャート。
【図14】第2実施形態の署名検証処理を説明するためのフローチャート。
【発明を実施するための形態】
【0016】
以下、図面を参照して本発明の実施形態を説明する。
【0017】
〔記号・用語の定義〕
まず、実施形態で使用する記号・用語を定義する。
【0018】
E:Eは位数Tの有限体FT上で定義された楕円曲線である。楕円曲線E上の任意の2点に対して楕円加算と呼ばれる二項演算及び楕円曲線E上の任意の1点に対して楕円逆元と呼ばれる単項演算がそれぞれ定義できる。また、この楕円加算に関して群をなすこと、楕円加算を用いて楕円スカラー倍算と呼ばれる演算が定義できることはよく知られている。また、それらの演算をコンピュータ上で効率的に実行する様々なアルゴリズムもよく知られている(例えば、参考文献1“イアン・F・ブラケ、ガディエル・セロッシ、ナイジェル・P・スマート=著、「楕円曲線暗号」、出版=ピアソン・エデュケーション、ISBN4-89471-431-0”等参照)。
【0019】
α∈β:αはβの元であることを示す。
α∈Uβ:βからランダムにαを選ぶことを示す。
α←β:αにβを代入することを示す。
p:pは大きい素数である。
【0020】
G,G1,G2:G,G1,G2,GTは巡回群である。例えば、G,G1,G2,GTは、位数pの素数位数巡回群である。巡回群G,G1,G2は、互いに同一であってもよいし、それらの少なくとも一部が互いに異なっていてもよい。また、巡回群G,G1,G2,GTにはどのようなものを利用してもよい。巡回群G,G1,G2,GTの例は、楕円曲線E上の有理点のなす群や有限体上の乗法群などである。なお、ε・η∈Gは、巡回群Gの元εとηとに対し、巡回群Gで定義された演算を行うことを意味する。また、εν∈G(ν∈Z)は、巡回群Gの元εに対し、巡回群Gで定義された演算をν回行うこと(ε・ε...ε・ε∈G)を意味する。例えば、巡回群Gが楕円曲線E上の有理点のなす群であった場合、巡回群Gで定義された演算は楕円加算であり、巡回群Gが有限体の乗法群であった場合、巡回群Gで定義された演算は剰余乗算である。これらのことは、その他の巡回群G1,G2,GTについても同様である。
【0021】
g:gは巡回群Gの生成元である。
g2:g2は巡回群G2の生成元である。
Zp:Zpはpによる剰余類の加群(Z/pZ)である。実装時には、例えば、Zpの代表元からなる加群を用いる。代表元の一例は、0以上p-1以下の整数からなる集合である。
e:eは巡回群G1,G2の元の組を巡回群GTの元に写す非退化双線形写像(bilinear map)である。非退化双線形写像eは、例えば、
e:G1×G2→GT …(1)
として演算が行われていてもよいし、
e:G2×G1→GT …(2)
として演算が行われてもよい。
【0022】
式(1)として演算が行われる非退化双線形写像eは、以下の性質を満たす。
[双線形性]すべてのΓ1∈G1,Γ2∈G2及びν,κ∈Zpについて以下の関係を満たす。
e(ν・Γ1,κ・Γ2)=e(Γ1,Γ2)ν・κ …(3)
[非退化性]すべてのΓ1∈G1,Γ2∈G2を巡回群GTの単位元に写す関数ではない。
[計算可能性]あらゆるΓ1∈G1,Γ2∈G2についてe(Γ1,Γ2)を効率的に計算するアルゴリズムが存在する。
【0023】
式(2)として演算が行われる非退化双線形写像eは、以下の性質を満たす。
[双線形性]すべてのΓ2∈G2,Γ1∈G1及びν,κ∈Zpについて以下の関係を満たす。
e(ν・Γ2,κ・Γ1)=e(Γ2,Γ1)ν・κ …(4)
[非退化性]すべてのΓ1∈G1,Γ2∈G2を巡回群GTの単位元に写す関数ではない。
[計算可能性]あらゆるΓ1∈G1,Γ2∈G2についてe(Γ1,Γ2)を効率的に計算するアルゴリズムが存在する。
【0024】
また、G1=G2の場合、すべての非退化双線形写像eの演算が式(1)又は(2)の一方のみで行われてもよいし、一部の非退化双線形写像eの演算が式(1)で行われ、残りの非退化双線形写像eの演算が式(2)で行われてもよい。さらに、G1=G2の場合、すべてのΓ1∈G1,Γ2∈G2について
e(Γ1,Γ2)=e(Γ2,Γ1) …(5)
を満たす非退化双線形写像e(非退化対称双線形写像)が用いられてもよいし、
e(Γ1,Γ2)=e(Γ2,Γ1)-1 …(6)
を満たす非退化双線形写像e(非退化反対称双線形写像)が用いられてもよい。
【0025】
また、G1=G2であるか否かにかかわらず、すべての非退化双線形写像eの演算が式(1)又は(2)の一方で行われる場合には、非退化双線形写像eとして式(5)を満たすものが用いられてもよいし、式(6)を満たすものが用いられてもよい。
【0026】
また、非退化双線形写像eの具体例は、WeilペアリングやTateペアリング(参考文献2「Alfred. J. Menezes,ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS, KLUWER ACADEMIC PUBLISHERS, ISBN0-7923-9368-6,pp. 61-81」等参照)や、参考文献3「"IEEE P1636.3TM/D1 Draft Standard for Identity-based Public-key Cryptography Using Pairings", [URL: http://grouper.ieee.org/groups/1363/IBC/material/P1363.3-D1-200805.pdf], pp.24-25, April 2008」に開示されたe(A1,φ(A2))(非退化反対称双線形写像の例)である。
【0027】
H:Hは任意のビット長のビット列{0,1}*を巡回群G1の元へ移すランダム関数とみなせる関数(擬似的なランダム関数)
H:{0,1}*→G1 …(7)
である。このような擬似的なランダム関数Hは、SHA-1などの公知のハッシュ関数を用いて容易に構成できる。
【0028】
H',H'':H'やH''は、任意のビット長のビット列{0,1}*をZpの元へ移す擬似的なランダム関数
H' :{0,1}*→Zp …(8)
H'':{0,1}*→Zp …(9)
である。このような擬似的なランダム関数H',H''は、SHA-1などの公知のハッシュ関数を用いて容易に構成できる。また、擬似的なランダム関数H, H',H''は互いに独立である。
【0029】
L:Lは匿名署名グループの構成員に対応する情報の集合である。例えば、匿名署名グループの各構成員を特定するインデックスの集合である。
n,i,j: nは集合Lの各要素である(∀n∈L)。iは集合Lの何れかの要素である(i∈L)であり、真の署名者である構成員に対応する情報である。また、jはiを除く集合Lの各要素である(j∈L(j≠i))。
x(n): x(n)∈Zp(n∈L)は、要素n∈Lにそれぞれ対応する秘密鍵である。
y(n): y(n)=g2x(n)∈G2 (n∈L)は、要素n∈Lにそれぞれ対応する公開鍵である。
【0030】
〔第1実施形態〕
まず、本発明の第1実施形態を説明する。
【0031】
<全体構成>
図1は、第1実施形態の匿名署名システム1の全体構成を説明するためのブロック図である。
【0032】
図1に例示するように、匿名署名システム1は、鍵生成装置11と、I(Iは1以上の整数)個の再リンク鍵生成装置12−i(i∈{1,...,I})と、署名生成装置13と、署名検証装置14とを有し、これらはネットワークを通じて通信可能に構成されている。なお、各装置の数は図1に例示するものに限定されず、鍵生成装置11や署名生成装置13や署名検証装置14が2以上存在してもよい。また、図1に例示した複数の装置の機能を1つの装置に持たせた構成であってもよいし、図1に例示した1つの装置の構成を複数の装置に分散処理させる構成であってもよい。
【0033】
<再リンク鍵生成装置12−i>
図2は、第1実施形態の再リンク鍵生成装置12−iの機能構成を説明するための図である。
図2に例示するように、本形態の再リンク鍵生成装置12−iは、記憶部121−iと、制御部122−iと、巡回群演算部123−iと、再リンク鍵生成部124−iと、入力部125−iと、出力部126−iとを有する。
【0034】
再リンク鍵生成装置12−iは、例えば、CPU(central processing unit)、RAM(random-access memory)、磁気記録装置、通信装置等を備える公知のコンピュータ又は専用のコンピュータに所定のプログラムが読み込まれて実行されることで構成される。例えば、記憶部121−iは、例えば、RAMや磁気記録装置やそれらの結合によって構成される記憶領域である。制御部122−iと巡回群演算部123−iと再リンク鍵生成部124−iとは、例えば、CPUに所定のプログラムが読み込まれて構成される処理部である。入力部125−iは、入力インタフェースや入力ポートや通信装置やそれらの少なくとも一部の結合である。出力部126−iは、出力インタフェースや出力ポートや通信装置やそれらの少なくとも一部の結合である。また、再リンク鍵生成装置12−iは、制御部122−iの制御のもと各処理を実行する。
【0035】
<署名生成装置13>
図3は、第1実施形態の署名生成装置13の機能構成を説明するための図である。
図3に例示するように、本形態の署名生成装置13は、記憶部131と、制御部132aと、任意値出力部132cと、巡回群演算部132b,132d〜132g,132iと、差分情報生成部132hと、入力部133と、出力部134とを有する。
【0036】
署名生成装置13は、例えば、CPU、RAM、磁気記録装置、通信装置等を備える公知のコンピュータ又は専用のコンピュータに所定のプログラムが読み込まれて実行されることで構成される。例えば、記憶部131は、例えば、RAMや磁気記録装置やそれらの結合によって構成される記憶領域である。制御部132aと任意値出力部132cと巡回群演算部132b,132d〜132g,132iと差分情報生成部132hとは、例えば、CPUに所定のプログラムが読み込まれて構成される処理部である。入力部133は、入力インタフェースや入力ポートや通信装置やそれらの少なくとも一部の結合である。出力部134は、出力インタフェースや出力ポートや通信装置やそれらの少なくとも一部の結合である。また、署名生成装置13は、制御部132aの制御のもと各処理を実行する。
【0037】
<署名検証装置14>
図4は、第1実施形態の署名検証装置14の機能構成を説明するための図である。
図4に例示するように、本形態の署名検証装置14は、記憶部141と、制御部142と、巡回群演算部143,144と、判定部145と、入力部146とを有する。
【0038】
署名検証装置14は、例えば、CPU、RAM、磁気記録装置、通信装置等を備える公知のコンピュータ又は専用のコンピュータに所定のプログラムが読み込まれて実行されることで構成される。例えば、記憶部141は、例えば、RAMや磁気記録装置やそれらの結合によって構成される記憶領域である。制御部142と巡回群演算部143,144と判定部145とは、例えば、CPUに所定のプログラムが読み込まれて構成される処理部である。入力部133は、入力インタフェースや入力ポートや通信装置やそれらの少なくとも一部の結合である。また、署名検証装置14は、制御部132aの制御のもと各処理を実行する。
【0039】
<事前処理>
匿名署名システム1でセキュリティパラメータkが定められ、セキュリティパラメータkに応じたシステムパラメータ
ρ=(p,G1,G2,GT,e,g2,H,H')
が定められる。なお、G1=G2の場合には、G1,G2の何れか一方を省略したシステムパラメータρであってもよい。システムパラメータρは、匿名署名システム1を構成するすべての装置に配布され、各装置で同じシステムパラメータρが利用される。
また、各再リンク鍵生成装置12−i(図2)の記憶部121−iには、その再リンク鍵生成装置12−iに対応する匿名署名グループの構成員に対応する情報iが格納される。
【0040】
<鍵生成処理>
鍵生成装置11は、各再リンク鍵生成装置12−i(i∈{1,...,I})に対応する秘密鍵
x(i)∈UZp …(10)
と公開鍵
y(i)←g2x(i)∈GG2 …(11)
とが生成される。
秘密鍵x(i)は、それぞれに対応する再リンク鍵生成装置12−iに配布される。秘密鍵x(i)は秘密情報であり、それに対応する再リンク鍵生成装置12−i(図2)の記憶部121−iに安全に格納される。一方、公開鍵y(i)は公開情報であり、必要に応じて署名生成装置13や署名検証装置14に配布される。
【0041】
<再リンク鍵生成処理>
図5は、第1実施形態の再リンク鍵生成処理を説明するためのフローチャートである。
本形態の再リンク鍵生成処理では、まず、匿名署名グループのいずれかの構成員(真の署名者)が、何れかの再リンク鍵生成装置12−i(図2)の入力部125−iに署名対象のメッセージm∈{0,1}*を入力する。入力部125−iに入力されたメッセージmは、記憶部121−iに格納される(ステップS111)。
【0042】
次に、巡回群演算部123−iにメッセージmが読込まれ、巡回群演算部123−iが、メッセージmを含む情報に対して定まる巡回群G1の元h∈G1を生成する。本形態では、巡回群演算部123−iが、メッセージmに擬似的なランダム関数Hを作用させた
h=H(m)∈G1 …(12)
を生成し、記憶部121−iに格納する(ステップS112)。
【0043】
次に、再リンク鍵生成部124−iに元hが読込まれ、メッセージmに対応する巡回群G1の元である再リンク鍵
r=hx(i)∈G1 …(13)
を生成し、記憶部121−iに格納する(ステップS113)。
【0044】
次に、再リンク鍵r=hx(i)∈G1とメッセージmと情報iとが出力部126−iに送られる。出力部126−iは、再リンク鍵r∈G1とメッセージmと情報iとを出力する(ステップS114)。出力された再リンク鍵r∈G1とメッセージmと情報iとは、例えば、ネットワーク経由で、署名生成装置13に送信される。
【0045】
<署名生成処理>
図6は、第1実施形態の署名生成処理を説明するためのフローチャートである。
署名生成処理では、まず、何れかの再リンク鍵生成装置12−iから送られた再リンク鍵r=hx(i)∈G1とメッセージmと情報iとが、署名生成装置13(図3)の入力部133に入力(受信)され、記憶部131に格納される。また、選択された匿名署名グループの構成員の集合Lと、∀n∈Lに対応する公開鍵y(n)の集合
yL={y(n)}n∈L …(14)
とが入力部133に入力され、記憶部131に格納される。なお、集合Lは、例えば、署名生成装置13の利用者によって選択され、入力されたものである。また、公開鍵y(n)の集合yLは、前述の鍵生成装置11からネットワーク経由で送信されたものである。
【0046】
次に、制御部132aが、記憶部131に格納された情報iと集合Lとが、
i∈L …(15)
を満たすか否かを判定する(ステップS122)。i∈Lを満たさないと判定された場合、制御部132aは署名生成処理を拒絶し(ステップS123)、処理を終了する。一方、i∈Lを満たすと判定された場合、次に、巡回群演算部132bにメッセージmが読込まれ、巡回群演算部132bが、メッセージmを含む情報に対して定まる巡回群G1の元h∈G1を生成する。本形態では、巡回群演算部132bが、メッセージmに擬似的なランダム関数Hを作用させた巡回群G1の元
h=H(m)∈G1 …(16)
を生成して記憶部131に格納する(ステップS124)。
【0047】
次に、任意値出力部132cが、任意値
t∈UZp …(17)
を出力し、記憶部131に格納する(ステップS125)。
【0048】
次に、巡回群演算部132dに元hと任意値tとが入力される。巡回群演算部132dは、元h∈G1と生成元g2∈G2との組に非退化双線形写像eを作用させた結果をe1とし、tを任意の整数とした場合における、巡回群GTの元
a(i)=e1t∈GT …(18)
を生成して記憶部131に格納する。本形態の場合、巡回群演算部132dは、
a(i)←e(h,g2)t∈GT …(19)
の演算によって巡回群GTの元a(i)を生成する(ステップS126)。
【0049】
また、任意値出力部132eが、iを除く集合Lの各要素j∈L(j≠i)にそれぞれ対応する任意値
c(j)∈UZp …(20)
を出力し、記憶部131に格納する(ステップS127)。
【0050】
また、任意値出力部132fが、iを除く集合Lの各要素j∈L(j≠i)にそれぞれ対応する任意の元
z(j)∈UG1 …(21)
を出力し、記憶部131に格納する(ステップS128)。
【0051】
次に、巡回群演算部132gに、iを除く集合Lの各要素j∈L(j≠i)にそれぞれ対応する、任意値c(j)、任意の元z(j)及び公開鍵y(j)と、巡回群G1の元hとが読込まれる。巡回群演算部132gは、巡回群G1の任意の元z(j)∈G1(j∈L(j≠i))と生成元g2∈G2との組に、非退化双線形写像eを作用させた結果をe2とし、元h∈G1と公開鍵y(j)∈G2(j∈L(j≠i))とに、非退化双線形写像eを作用させた結果をe3とした場合における、巡回群GTの元
a(j)=e2・e3c(j)∈GT …(22)
をj∈L(j≠i)について生成し、記憶部131に格納する。本形態の場合、巡回群演算部132gは、
a(j)←e(z(j),g2)・e(h,y(j))c(j)∈GT …(23)
の演算によって、巡回群GTの元a(j)をj∈L(j≠i)について生成する(ステップS129)。
【0052】
次に、差分情報生成部132hに、集合Lと、メッセージmと、公開鍵y(n)の集合yLと、元a(i)∈GTと元a(j)∈GT(j∈L(j≠i))とからなる集合aLと、任意値c(j)(j∈L(j≠i))とが読込まれる。差分情報生成部132hは、集合aLを含む情報に対して定まる値wに対応する
c(i)=w-Σc(j) …(24)
をj∈L(j≠i)について生成し、記憶部131に格納する。本形態では、システムパラメータρと集合Lとメッセージmと集合yLと集合aLとのビット結合値に、擬似的なランダム関数H'を作用させた結果
H'(ρ,L,m,yL,aL) …(25)
をwとしてc(i)を生成する。なお、Σc(j)は、iを除く集合Lの要素jに対応するc(j)の総和を意味する(ステップS130)。
【0053】
次に、巡回群演算部132iに、巡回群G1の元hと任意値tと再リンク鍵rとc(i)とが入力される。巡回群演算部132iは、これらを用い、巡回群G1の元
z(i)=ht・r-c(i)∈G1 …(26)
を生成して記憶部131に格納する(ステップS131)。
【0054】
次に、出力部134に、整数c(j)(j∈L(j≠i))と整数c(i)とからなる集合cLと、元z(j)∈G1(j∈L(j≠i))と元z(i)∈G1とからなる集合zLと、メッセージmと、集合Lとが入力される。出力部134は、集合cLと集合zLとを含む署名
σ=(cL,zL) …(27)
とメッセージmと集合Lとを出力する(ステップS132)。出力された署名σとメッセージmと集合Lとは、例えば、ネットワーク経由で署名検証装置14に送信される。
【0055】
<署名検証処理>
図7は、第1実施形態の署名検証処理を説明するためのフローチャートである。
まず、署名検証装置14(図4)の入力部146に、署名σとメッセージmと集合Lとが入力され、記憶部141に格納される。また、鍵生成装置11から配送された公開鍵y(n)の集合yLが入力部146に入力され、記憶部141に格納される(ステップS141)。
【0056】
巡回群演算部143にメッセージmが読込まれ、巡回群演算部143が、メッセージmを含む情報に対して定まる巡回群G1の元h∈G1を生成する。本形態では、巡回群演算部143が、メッセージmに擬似的なランダム関数Hを作用させた巡回群G1の元
h=H(m)∈G1 …(28)
を生成して記憶部141に格納する(ステップS142)。
【0057】
次に、巡回群演算部144に、集合Lの各要素n∈Lにそれぞれ対応する、任意値c(n)、任意の元z(n)及び公開鍵y(n)と、巡回群G1の元hとが読込まれる。なお、任意値c(n)は署名σ=(cL,zL)が含む集合cLの要素であり、任意の元z(n)は署名σ=(cL,zL)が含む集合zLの要素である。巡回群演算部144は、元z(n)∈G1(n∈L)と生成元g2∈G2との組に非退化双線形写像eを作用させた結果をe4とし、メッセージmを含む情報に対して定まる巡回群G1の元h∈G1と公開鍵y(n)∈G2(n∈L)との組に非退化双線形写像eを作用させた結果をe5とした場合における、巡回群GTの元
a(n)=e4・e5c(n)∈GT …(29)
を各n∈Lについて生成して記憶部141に格納する。本形態では、巡回群演算部144が、
a(n)←e(z(n),g2)・e(h,y(n))c(n)∈GT …(30)
の演算によって、各n∈Lに対応する巡回群GTの元a(n)を生成する(ステップS143)。
【0058】
次に、判定部145に、集合Lと、メッセージmと、公開鍵y(n)の集合yLと、元a(n)∈GTの集合aLと、任意値c(n)(n∈L)とが読込まれる。判定部145は、元a(n)(n∈L)からなる集合aLを含む情報に対して定まる整数wと、整数c(n)(n∈L)の総和Σc(n)(n∈L)と、が一致するか否かを判定する。本形態では、システムパラメータρと集合Lとメッセージmと集合yLと集合aLとのビット結合値に、擬似的なランダム関数H'を作用させた結果
H'(ρ,L,m,yL,aL) …(31)
をwとし、
H'(ρ,L,m,yL,aL)=Σc(n) …(32)
を満たすか否かを判定する(ステップS144)。ここで、判定部145が一致すると判定された場合、判定部145は署名が合格である旨の情報を出力し(ステップS145)、判定部145が一致しないと判定した場合、判定部145は署名が不合格である旨の情報を出力する(ステップS146)。
【0059】
なお、前述した非退化双線形写像の性質(式(3)-(6))、秘密鍵x(n)と公開鍵y(n)=g2x(n)∈G2との関係(式(10)(11))、c(i)の求め方(式(24)(25))、及び元z(i)=ht・r-c(i)∈G1の求め方(式(26))から、署名σが正しい場合には、式(32)を満たすことが分かる。一方、署名が正しくない場合、式(32)を満たす可能性は低い。よって、上述のような判定が可能である。
【0060】
<第1実施形態の特徴>
以上のように、本形態では、再リンク鍵生成装置12−iが、メッセージmを含む情報に対して定まる巡回群G1の元h∈G1を生成し、巡回群G1の元である再リンク鍵r=hx(i)∈G1を生成した。当該再リンク鍵rはメッセージmごとに対応する。よって、再リンク鍵rが悪用された場合であっても、署名者の匿名性が失われる(iが知られる)可能性がある範囲を、メッセージmに対する署名σの範囲に限定できる。これにより、再リンク鍵rが悪用された場合であっても、その再リンク鍵rに対応する署名者の匿名性が失われることを抑制できる。
【0061】
また、本形態では、メッセージmを含む情報の擬似的なランダム関数値を元h∈G1としたため(ステップS112等)、高い安全性を確保できる。また、本形態では、このメッセージmを含む情報としてmのみを用いた。しかし、メッセージmを含む情報としてmとその他の情報との組み合わせを用い、mとその他の情報との組み合わせの擬似的なランダム関数値を元h∈G1としてもよい。この場合の「その他の情報」は、要素i∈Lに対応しない情報であることが望ましい。安全性の観点からである。すなわち、メッセージm、又は、要素i∈Lに対応しない情報とメッセージmとからなる情報に対し、擬似的なランダム関数値を作用させた結果を元hとすることが望ましい。
【0062】
また、本形態では、「集合aLを含む情報」に対して定まるwとして式(25)のものを例示した。しかし、これは本発明を限定するものではなく、式(25)のwの代わりに以下のwを用いてもよい。ただし、Addは付加情報である。
w=H'(aL) …(33)
w=H'(L,yL,aL) …(34)
w=H'(L,m,yL,aL) …(35)
w=H'(m,aL) …(36)
w=H'(aL,Add) …(37)
w=H'(ρ,L,m,yL,aL,Add) …(38)
【0063】
このように、本形態「集合aLを含む情報」は、集合aLのみを含む情報であってもよいし、さらに、集合Lと公開鍵y(n)∈G2(n∈L)の集合yLとを含む情報であってもよいし、メッセージmを含む情報であってもよい。その他、様々な変形が可能である。
【0064】
また、本形態でZpの元として説明した値が整数であってもよい。すなわち、安全性や効率の観点からはこれらの値はZpの元であることが望ましいが、この値を一般的な整数から選択する構成も可能である。その場合、安全性の観点から、これらの値が0以上p以下であるか、p+k以上の値であることが望ましい。
【0065】
また、署名σ=(cL,zL)が集合cLと集合zLと以外の値を含む構成であってもよい。
また、本形態では、ネットワーク経由で、装置間の情報のやり取りを行う例を示したが、本発明はこれに限定されない。例えば、可搬型記録媒体などを介して装置間で情報のやり取りが行われる形態であってもよい。
【0066】
〔第2実施形態〕
次に本発明の第2実施形態を説明する。
【0067】
<全体構成>
図8は、第2実施形態の匿名署名システム2の全体構成を説明するためのブロック図である。
図8に例示するように、匿名署名システム2は、鍵生成装置11と、I(Iは1以上の整数)個の再リンク鍵生成装置22−i(i∈{1,...,I})と、署名生成装置23と、署名検証装置24とを有し、これらはネットワークを通じて通信可能に構成されている。なお、鍵生成装置11の構成は第1実施形態と同じである。また、各装置の数は図8に例示するものに限定されず、鍵生成装置11や署名生成装置23や署名検証装置24が2以上存在してもよい。また、図8に例示した複数の装置の機能を1つの装置に持たせた構成であってもよいし、図8に例示した1つの装置の構成を複数の装置に分散処理させる構成であってもよい。
【0068】
<再リンク鍵生成装置22−i>
図9は、第2実施形態の再リンク鍵生成装置22−iの機能構成を説明するための図である。
図9に例示するように、本形態の再リンク鍵生成装置22−iは、記憶部221−iと、制御部222−iと、任意値出力部223−iと、巡回群演算部224−iと、関数演算部225−iと、演算部226−iと、再リンク鍵生成部227−iと、入力部228−iと、出力部229−iとを有する。
【0069】
再リンク鍵生成装置22−iは、第1実施形態と同様、例えば、CPU、RAM、磁気記録装置、通信装置等を備える公知のコンピュータ又は専用のコンピュータに所定のプログラムが読み込まれて実行されることで構成される。また、再リンク鍵生成装置22−iは、制御部222−iの制御のもと各処理を実行する。
【0070】
<署名生成装置23>
図10は、第2実施形態の署名生成装置23の機能構成を説明するための図である。
図10に例示するように、本形態の署名生成装置23は、記憶部231と、制御部232aと、分離部232bと、関数演算部232cと、任意値出力部232dと、巡回群演算部232e〜232gと、差分情報生成部232hと、演算部232iと、入力部233と、出力部234とを有する。署名生成装置23は、第1実施形態と同様、例えば、CPU、RAM、磁気記録装置、通信装置等を備える公知のコンピュータ又は専用のコンピュータに所定のプログラムが読み込まれて実行されることで構成される。また、署名生成装置13は、制御部132aの制御のもと各処理を実行する。
【0071】
<署名検証装置24>
図11は、第2実施形態の署名検証装置24の機能構成を説明するための図である。
図11に例示するように、本形態の署名検証装置24は、記憶部241と、制御部242と、分離部243と、関数演算部244と、巡回群演算部245と、判定部246と、入力部247とを有する。
【0072】
署名検証装置24は、第1実施形態と同様、例えば、CPU、RAM、磁気記録装置、通信装置等を備える公知のコンピュータ又は専用のコンピュータに所定のプログラムが読み込まれて実行されることで構成される。
【0073】
<事前処理>
匿名署名システム2でセキュリティパラメータkが定められ、セキュリティパラメータkに応じたシステムパラメータ
ρ'=(p,G,g,H',H'')
が定められる。システムパラメータρ'は、匿名署名システム2を構成するすべての装置に配布され、各装置で同じシステムパラメータρ'が利用される。
また、各再リンク鍵生成装置22−i(図9)の記憶部221−iには、その再リンク鍵生成装置22−iに対応する匿名署名グループの構成員に対応する情報iが格納される。
【0074】
<鍵生成処理>
第1実施形態と同じである。
【0075】
<再リンク鍵生成処理>
図12は、第2実施形態の再リンク鍵生成処理を説明するためのフローチャートである。
【0076】
本形態の再リンク鍵生成処理では、まず、匿名署名グループのいずれかの構成員(真の署名者)が、何れかの再リンク鍵生成装置22−i(図9)の入力部228−iに署名対象のメッセージm∈{0,1}*を入力する。入力部228−iに入力されたメッセージmは、記憶部221−iに格納される(ステップS211)。
【0077】
次に、任意値出力部223−iが、任意値
t∈UZp …(39)
を出力し、記憶部221−iに格納する(ステップS212)。
【0078】
次に、巡回群演算部224−iに任意値tが入力される。巡回群演算部224−iは、巡回群Gの元
T=gt∈G …(40)
を生成し、記憶部221−iに格納する(ステップS213)。
【0079】
次に、関数演算部225−iに、巡回群Gの元Tとメッセージmとが入力される。関数演算部225−iは、元Tとメッセージmとを含む情報に対して定まる値cを生成し、記憶部221−iに格納する。本形態では、関数演算部225−iが、
c←H''(T,m)∈Zp …(41)
の演算によって値cを生成する(ステップS214)。なお、(T,m)はTとmとのビット結合値である。
【0080】
次に、演算部226−iに、記憶部221−iに格納された任意値tと、秘密鍵x(i)と、値cとが読込まれる。演算部226−iは、
z=t+x(i)・c∈Zp …(42)
を生成し、記憶部221−iに格納する(ステップS215)。
【0081】
次に、再リンク鍵r=(T, z)に、元T∈Gとzとが読込まれる。再リンク鍵r=(T, z)は、これらを含む再リンク鍵
r=(T, z)∈G×Zp …(43)
を生成し、記憶部221−iに格納する(ステップS216)。
【0082】
次に、出力部229−iに、再リンク鍵rとメッセージmと情報iとが入力される。出力部229−iは、再リンク鍵rとメッセージmと情報iとを出力する(ステップS217)。これらは、例えば、ネットワーク経由で署名生成装置23に送信される。
【0083】
<署名生成処理>
図13は、第2実施形態の署名生成処理を説明するためのフローチャートである。
署名生成処理では、まず、何れかの再リンク鍵生成装置22−iから送られた再リンク鍵rとメッセージmと情報iとが、署名生成装置23(図10)の入力部233に入力(受信)され、記憶部231に格納される。また、選択された匿名署名グループの構成員の集合Lと、∀n∈Lに対応する公開鍵y(n)の集合
yL={y(n)}n∈L …(44)
とが入力部233に入力され、記憶部231に格納される。なお、集合Lは、例えば、署名生成装置23の利用者によって選択され、入力されたものである。また、公開鍵y(n)の集合yLは、前述の鍵生成装置11からネットワーク経由で送信されたものである。
【0084】
次に、制御部132aが、記憶部131に格納された情報iと集合Lとが、
i∈L …(45)
を満たすか否かを判定する(ステップS222)。i∈Lを満たさないと判定された場合、制御部232aは署名生成処理を拒絶し(ステップS223)、処理を終了する。一方、i∈Lを満たすと判定された場合、分離部232bに再リンク鍵rが読込まれる。分離部232bは、再リンク鍵rを分解し、
(T, z)←r∈G×Zp …(46)
を生成する(ステップS224)。
【0085】
次に、関数演算部232cに、元T∈Gとメッセージmとが読込まれる。関数演算部232cは、元Tとメッセージmとを含む情報に対して定まる値cを生成し、記憶部231に格納する。本形態では、関数演算部232cが、
c=H''(T,m)∈Zp …(47)
を生成する(ステップS225)。
【0086】
次に、任意値出力部232dが、任意値
t(i)∈UZp …(48)
をi∈Lについて出力し、記憶部231に格納する(ステップS226)。
【0087】
次に、巡回群演算部232eに、任意値t(i)が読込まれる。巡回群演算部232eは、巡回群Gの元
T(i)=gt(i)∈G …(49)
を生成し、記憶部231に格納する(ステップS227)。
【0088】
また、任意値出力部232fが、任意値
c(j)∈UZp …(50)
z(j)∈UZp …(51)
をj∈L(j≠i)について出力し、記憶部231に格納する(ステップS228)。
【0089】
次に、巡回群演算部232gに、任意値c(j),z(j)と、元Tと、公開鍵y(j)(j∈L(j≠i))とが入力される。巡回群演算部232gは、巡回群Gの元
T(j)=gz(j)・(T・y(j)c)c(j)∈G …(52)
をj∈L(j≠i)について生成し、記憶部231に格納する(ステップS229)。
【0090】
次に、差分情報生成部232hに、元T(i)∈Gと元T(j)(j∈L(j≠i))∈Gとからなる集合TLと、元Tと、メッセージmと、公開鍵y(n)の集合yLと、任意値c(j)とが入力される。差分情報生成部232hは、元T(i)∈Gと元T(j)(j∈L(j≠i))∈Gとからなる集合TLと元Tとを含む情報に対して定まる値w'と、任意値c(j)(j∈L(j≠i))の総和Σc(j)とを用い、値
c(i)=w'-Σc(j)(j∈L(j≠i)) …(53)
を生成し、記憶部231に格納する。本形態では、元Tと集合TLとメッセージmと集合yLとのビット結合値に、擬似的なランダム関数H'を作用させた結果
H'(T,TL,m,yL) …(54)
をw'として値c(i)を生成する(ステップS230)。
【0091】
次に、演算部232iに、任意値t(i)と値zと値c(i)とが入力される。演算部232iは、
z(i)=t(i)-z・c(i)∈Zp …(55)
を生成し、記憶部231に格納する(ステップS231)。
【0092】
次に、元T∈Gと、整数c(j)(j∈L(j≠i))と整数c(i)とからなる集合cLと、任意数z(j)(j∈L(j≠i))と数z(i)∈Gとからなる集合zLとを含む署名σ=(T,cL,zL)と、メッセージmと、集合Lとが出力部234から出力される(ステップS232)。これらは、例えば、ネットワーク経由で署名検証装置24に送信される。
【0093】
<署名検証処理>
図14は、第2実施形態の署名検証処理を説明するためのフローチャートである。
まず、署名検証装置24(図11)の入力部247に、署名σとメッセージmと集合Lとが入力され、記憶部241に格納される。また、鍵生成装置11から配送された公開鍵y(n)の集合yLが入力部247に入力され、記憶部241に格納される(ステップS241)。
【0094】
次に、分離部243に署名σが読込まれる。分離部243は、署名σを分離し、
(T, cL, zL)←σ …(56)
を生成し、これらを記憶部241に格納する(ステップS242)。
【0095】
次に、関数演算部244に、元Tとメッセージmとが読込まれる。関数演算部244は、元Tとメッセージmとを含む情報に対して定まる値cを生成し、記憶部241に格納する(ステップS243)。本形態の場合、関数演算部244は、
c←H''(T,m)∈Zp …(57)
の演算によって値cを生成する(ステップS243)。
【0096】
次に、巡回群演算部245に、集合zLの要素であるz(n)と、集合cLの要素であるc(n)と、cと、Tと、集合yLの要素である公開鍵y(n)とが入力される。巡回群演算部245は、これらを用い、巡回群Gの元
T(n)=gz(n)(T・y(n)c)c(n)∈G …(58)
を各n∈Lについて生成し、記憶部241に格納する(ステップS244)。
【0097】
次に、判定部246に、元T(n)∈G(n∈L)の集合TLと、元Tと、メッセージmと、公開鍵y(n)の集合yLと、集合cLの要素であるc(n)とが読込まれる。判定部246は、元T(n)∈G(n∈L)の集合TLと元Tとを含む情報に対して定まる値w'と、値c(n)(n∈L)の総和Σc(n)とが、一致するか否かを判定する。本形態では、元Tと集合TLとメッセージmと集合yLとのビット結合値に、擬似的なランダム関数H'を作用させた結果
H'(T,TL,m,yL) …(59)
をw'とし、
H'(T,TL,m,yL)=Σc(n) …(60)
を満たすか否かを判定する(ステップS245)。ここで、判定部246が一致すると判定された場合、判定部246は署名が合格である旨の情報を出力し(ステップS246)、判定部246が一致しないと判定した場合、判定部246は署名が不合格である旨の情報を出力する(ステップS247)。
【0098】
なお、前述した秘密鍵x(n)と公開鍵y(n)=g2x(n)∈G2との関係(式(10)(11))、T(i)の求め方(式(49))、元Tの求め方(式(40))、z(i)の求め方(式(55)から、署名σが正しい場合には、式(60)を満たすことが分かる。一方、署名が正しくない場合、式(60)を満たす可能性は低い。よって、上述のような判定が可能である。
【0099】
<第2実施形態の特徴>
以上のように、本形態では、任意値tを生成し、巡回群Gの元T=gt∈Gを生成し、元Tとメッセージmとを含む情報に対して定まる整数cを生成し、z=t+x(i)・cを生成し、現元T∈Gと整数zとを含む再リンク鍵r=(T, z)を生成した。この再リンク鍵r=(T, z)は、メッセージmごとに対応する。よって、再リンク鍵rが悪用された場合であっても、署名者の匿名性が失われる(iが知られる)可能性がある範囲を、メッセージmに対する署名σの範囲に限定できる。これにより、再リンク鍵rが悪用された場合であっても、その再リンク鍵rに対応する署名者の匿名性が失われることを抑制できる。
【0100】
また、本形態では、元Tとメッセージmとを含む情報の擬似的なランダム関数値を値cとしたため(ステップS225等)、高い安全性を確保できる。また、本形態では、この元Tとメッセージmとを含む情報としてTとmとのビット結合値(T,m)を用いた。しかし、元Tとメッセージmとを含む情報としてTとmとその他の情報との組み合わせを用い、Tとmとその他の情報との組み合わせの擬似的なランダム関数値を元h∈G1としてもよい。この場合の「その他の情報」は、要素i∈Lに対応しない情報であることが望ましい。安全性の観点からである。すなわち、元Tとメッセージmとからなる情報、又は、要素i∈Lに対応しない情報と元Tとメッセージmとからなる情報に対し、擬似的なランダム関数値を作用させた結果をcとすることが望ましい。
【0101】
また、本形態では、「集合TLと元Tとを含む情報」に対して定まる値w'(ステップS230等)として式(54)のものを例示した。しかし、これは本発明を限定するものではなく、式(54)のw'の代わりに以下のw'を用いてもよい。ただし、Addは付加情報である。
w=H'(T,TL) …(61)
w=H'(T,TL,yL) …(62)
w=H'(T,TL,m) …(63)
w=H'(T,TL,Add) …(64)
w=H'(T,TL,m,yL,Add) …(65)
【0102】
このように、本形態の「集合TLと元Tとを含む情報」は、集合TLと元Tとのみを含む情報であってもよいし、さらに、公開鍵y(n)∈G(n∈L)の集合yLを含む情報であってもよいし、メッセージmを含む情報であってもよい。その他、様々な変形が可能である。
【0103】
同様に、本形態の「元Tとメッセージmとを含む情報」(ステップS225等)、元Tとメッセージmとのみを含む情報であってもよいし、さらに他の情報を含むものであってもよい。
【0104】
また、本形態でZpの元として説明した値が整数であってもよい。すなわち、安全性や効率の観点からはこれらの値はZpの元であることが望ましいが、この値を一般的な整数から選択する構成も可能である。その場合、安全性の観点から、これらの値が0以上p以下であるか、p+k以上の値であることが望ましい。
【0105】
また、署名σ=(T,cL,zL)がTと集合cLと集合zLと以外の値を含む構成であってもよい。
また、本形態では、ネットワーク経由で、装置間の情報のやり取りを行う例を示したが、本発明はこれに限定されない。例えば、可搬型記録媒体などを介して装置間で情報のやり取りが行われる形態であってもよい。
【0106】
〔その他の変形例〕
本発明は上述の実施形態に限定されるものではない。例えば、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
【0107】
また、上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【0108】
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。
【0109】
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
【0110】
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。
【0111】
また、上述の実施形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。
【符号の説明】
【0112】
1,2 匿名署名システム
12−i,22−i 再リンク鍵生成装置
13,23 署名生成装置
14,24 署名検証装置
【特許請求の範囲】
【請求項1】
G1,G2,GTを巡回群とし、eを巡回群G1,G2の元の組を巡回群GTの元に写す非退化双線形写像とし、g2∈G2を巡回群G2の生成元とし、Lを匿名署名グループの構成員に対応する情報の集合とし、nを前記集合Lの各要素とし、前記集合Lの何れかの要素をi∈Lとし、iを除く前記集合Lの各要素をj∈L(j≠i)とし、x(n)(n∈L)を前記要素n∈Lにそれぞれ対応する整数の秘密鍵とし、巡回群G2の元y(n)=g2x(n)∈G2(n∈L)を前記要素n∈Lにそれぞれ対応する公開鍵とした場合における、
メッセージmを含む情報に対して定まる前記巡回群G1の元h∈G1と、当該メッセージmに対応する巡回群G1の元である再リンク鍵r=hx(i)∈G1と、前記公開鍵y(n)∈G2(n∈L)の集合とを格納する記憶部と、
前記元h∈G1と前記生成元g2∈G2との組に前記非退化双線形写像eを作用させた結果をe1とし、tを任意の整数とした場合における、巡回群GTの元a(i)=e1t∈GTを生成する第1巡回群演算部と、
巡回群G1の任意の元z(j)∈G1(j∈L(j≠i))と前記生成元g2∈G2との組に前記非退化双線形写像eを作用させた結果をe2とし、前記元h∈G1と公開鍵y(j)∈G2(j∈L(j≠i))とに前記非退化双線形写像eを作用させた結果をe3とし、c(j)(j∈L(j≠i))を任意の整数とした場合における、巡回群GTの元a(j)=e2・e3c(j)∈GT(j∈L(j≠i))を生成する第2巡回群演算部と、
前記元a(i)∈GTと前記元a(j)∈GT(j∈L(j≠i))とからなる集合aLを含む情報に対して定まる整数wと、前記整数c(j)(j∈L(j≠i))の総和Σc(j)とを用い、整数c(i)=w-Σc(j)(j∈L(j≠i))を生成する差分情報生成部と、
前記元h∈G1と前記再リンク鍵r∈G1と前記整数tと前記整数c(i)とを用い、巡回群G1の元z(i)=ht・r-c(i)∈G1を生成する第3巡回群演算部と、
前記整数c(j)(j∈L(j≠i))と前記整数c(i)とからなる集合cLと、前記元z(j)∈G1(j∈L(j≠i))と前記元z(i)∈G1とからなる集合zLとを含む、署名σ=(cL,zL)を出力する出力部と、
を有する署名生成装置。
【請求項2】
請求項1の署名生成装置であって、
前記元h∈G1は、前記メッセージmを含む情報の擬似的なランダム関数値である、
ことを特徴とする署名生成装置。
【請求項3】
請求項1又は2の署名生成装置であって、
前記メッセージmを含む情報は、前記メッセージmであるか、又は、前記要素i∈Lに対応しない情報と前記メッセージmとからなる情報である、
ことを特徴とする署名生成装置。
【請求項4】
請求項1から3の何れかの署名生成装置であって、
前記集合aLを含む情報は、さらに、前記集合Lと、前記公開鍵y(n)∈G2(n∈L)の集合と、を含む情報である、
ことを特徴とする署名生成装置。
【請求項5】
請求項1から4の何れかの署名生成装置であって、
前記集合aLを含む情報は、さらに、前記メッセージmを含む情報である、
ことを特徴とする署名生成装置。
【請求項6】
G1,G2,GTを巡回群とし、eを巡回群G1,G2の元の組を巡回群GTの元に写す非退化双線形写像とし、g2∈G2を巡回群G2の生成元とし、Lを匿名署名グループの構成員に対応する情報の集合とし、nを前記集合Lの各要素とし、y(n)∈G2(n∈L)を前記要素nにそれぞれ対応する公開鍵とした場合における、
前記公開鍵y(n)∈G2(n∈L)の集合と、整数c(n)(n∈L)からなる集合cL及び巡回群G1の元z(n)∈G1(n∈L)からなる集合zLを含む署名σ=(cL,zL)と、メッセージmとを格納する記憶部と、
前記元z(n)∈G1(n∈L)と前記生成元g2∈G2との組に前記非退化双線形写像eを作用させた結果をe4とし、前記メッセージmを含む情報に対して定まる巡回群G1の元h∈G1と前記公開鍵y(n)∈G2(n∈L)との組に前記非退化双線形写像eを作用させた結果をe5とした場合における、巡回群GTの元a(n)=e4・e5c(n)∈GT(n∈L)を生成する巡回群演算部と、
前記元a(n)(n∈L)からなる集合aLを含む情報に対して定まる整数wと、前記整数c(n)(n∈L)の総和Σc(n)(n∈L)と、が一致するか否かを判定する判定部と、
を有する署名検証装置。
【請求項7】
Lを匿名署名グループの構成員に対応する情報の集合とし、nを前記集合Lの各要素とし、前記集合Lの何れかの要素をi∈Lとし、x(n)(n∈L)を前記要素i∈Lに対応する整数の秘密鍵とした場合における、
メッセージmを含む情報に対して定まる巡回群G1の元h∈G1を生成する巡回群演算部と、
メッセージmに対応する巡回群G1の元である再リンク鍵r=hx(i)∈G1を生成する再リンク鍵生成部と、
前記再リンク鍵r=hx(i)∈G1を出力する出力部と、
を有する再リンク鍵生成装置。
【請求項8】
Gを巡回群とし、g∈Gを巡回群Gの生成元とし、Lを匿名署名グループの構成員に対応する情報の集合とし、nを前記集合Lの各要素とし、前記集合Lの何れかの要素をi∈Lとし、iを除く前記集合Lの各要素をj∈L(j≠i)とし、x(n)(n∈L)を前記要素n∈Lにそれぞれ対応する整数の秘密鍵とし、y(n)=gx(n)∈G(n∈L)を前記要素n∈Lにそれぞれ対応する公開鍵とし、tを任意の整数とし、Tを巡回群Gの元T=gt∈Gとし、cを前記元Tとメッセージmとを含む情報に対して定まる整数とし、z=t+x(i)・cとした場合における、
前記メッセージmに対応する再リンク鍵r=(T, z)と、前記整数cと、前記公開鍵y(n)∈G(n∈L)の集合とを格納する記憶部と、
t(i)を任意の整数とした場合における、巡回群Gの元T(i)=gt(i)∈Gを生成する第1巡回群演算部と、
c(j)(j∈L(j≠i))を任意の整数とし、z(j)(j∈L(j≠i))を任意の整数とした場合における、巡回群Gの元T(j)=gz(j)・(T・y(j)c)c(j)∈Gを生成する第2巡回群演算部と、
前記元T(i)∈Gと前記元T(j)(j∈L(j≠i))∈Gとからなる集合TLと前記元Tとを含む情報に対して定まる整数w'と、前記整数c(j)(j∈L(j≠i))の総和Σc(j)とを用い、整数c(i)=w'-Σc(j)(j∈L(j≠i))を生成する差分情報生成部と、
整数z(i)=t(i)-z・c(i)を生成する演算部と、
前記元T∈Gと、前記整数c(j)(j∈L(j≠i))と前記整数c(i)とからなる集合cLと、前記整数z(j)(j∈L(j≠i))と前記整数z(i)∈Gとからなる集合zLとを含む、署名σ=(T,cL,zL)を出力する出力部と、
を有する署名生成装置。
【請求項9】
請求項8の署名生成装置であって、
前記整数cは、前記元Tとメッセージmとを含む情報の擬似的なランダム関数値である、
ことを特徴とする署名生成装置。
【請求項10】
請求項8又は9の署名生成装置であって、
前記元Tとメッセージmとを含む情報は、前記元Tとメッセージmとからなる情報であるか、又は、前記要素i∈Lに対応しない情報と前記元Tとメッセージmとからなる情報である、
ことを特徴とする署名生成装置。
【請求項11】
請求項8から10の何れかの署名生成装置であって、
前記集合TLと前記元Tとを含む情報は、さらに、前記公開鍵y(n)∈G(n∈L)の集合を含む情報である、
ことを特徴とする署名生成装置。
【請求項12】
請求項8から11の何れかの署名生成装置であって、
前記集合TLと前記元Tとを含む情報は、さらに、前記メッセージmを含む情報である、
ことを特徴とする署名生成装置。
【請求項13】
Gを巡回群とし、g∈Gを巡回群Gの生成元とし、Lを匿名署名グループの構成員に対応する情報の集合とし、nを前記集合Lの各要素とし、y(n)∈G(n∈L)を前記要素n∈Lにそれぞれ対応する公開鍵とした場合における、
巡回群の元T∈Gと整数c(n)(n∈L)の集合cLと整数z(n)(n∈L)の集合zLとを含む署名σ=(T,cL,zL)と、前記公開鍵y(n)∈G(n∈L)の集合と、メッセージmとを格納する記憶部と、
前記元Tと前記メッセージmとを含む情報に対して定まる整数cを生成する演算部と、
巡回群Gの元T(n)=gz(n)(T・y(n)c)c(n)∈G(n∈L)を生成する巡回群演算部と、
前記元T(n)∈G(n∈L)の集合TLと前記元Tとを含む情報に対して定まる整数w'と、前記整数c(n)(n∈L)の総和Σc(n)とが、一致するか否かを判定する判定部と、
を有する署名検証装置。
【請求項14】
Gを巡回群とし、g∈Gを巡回群Gの生成元とし、Lを匿名署名グループの構成員に対応する情報の集合とし、nを前記集合Lの各要素とし、前記集合Lの何れかの要素をi∈Lとし、x(i)(i∈L)を前記要素i∈Lに対応する整数の秘密鍵とした場合における、
任意の整数tを出力する任意値出力部と、
巡回群Gの元T=gt∈Gを生成する巡回群演算部と、
前記元Tとメッセージmとを含む情報に対して定まる整数cを生成する第1演算部と、
整数z=t+x(i)・cを生成する第2演算部と、
前記元T∈Gと前記整数zとを含む再リンク鍵r=(T, z)を生成する再リンク鍵生成部と、
を有する再リンク鍵生成装置。
【請求項15】
請求項1から5又は8から12の何れかの署名生成装置としてコンピュータを機能させるためのプログラム。
【請求項16】
請求項6又は13の署名検証装置としてコンピュータを機能させるためのプログラム。
【請求項17】
請求項7又は14の再リンク鍵生成装置としてコンピュータを機能させるためのプログラム。
【請求項1】
G1,G2,GTを巡回群とし、eを巡回群G1,G2の元の組を巡回群GTの元に写す非退化双線形写像とし、g2∈G2を巡回群G2の生成元とし、Lを匿名署名グループの構成員に対応する情報の集合とし、nを前記集合Lの各要素とし、前記集合Lの何れかの要素をi∈Lとし、iを除く前記集合Lの各要素をj∈L(j≠i)とし、x(n)(n∈L)を前記要素n∈Lにそれぞれ対応する整数の秘密鍵とし、巡回群G2の元y(n)=g2x(n)∈G2(n∈L)を前記要素n∈Lにそれぞれ対応する公開鍵とした場合における、
メッセージmを含む情報に対して定まる前記巡回群G1の元h∈G1と、当該メッセージmに対応する巡回群G1の元である再リンク鍵r=hx(i)∈G1と、前記公開鍵y(n)∈G2(n∈L)の集合とを格納する記憶部と、
前記元h∈G1と前記生成元g2∈G2との組に前記非退化双線形写像eを作用させた結果をe1とし、tを任意の整数とした場合における、巡回群GTの元a(i)=e1t∈GTを生成する第1巡回群演算部と、
巡回群G1の任意の元z(j)∈G1(j∈L(j≠i))と前記生成元g2∈G2との組に前記非退化双線形写像eを作用させた結果をe2とし、前記元h∈G1と公開鍵y(j)∈G2(j∈L(j≠i))とに前記非退化双線形写像eを作用させた結果をe3とし、c(j)(j∈L(j≠i))を任意の整数とした場合における、巡回群GTの元a(j)=e2・e3c(j)∈GT(j∈L(j≠i))を生成する第2巡回群演算部と、
前記元a(i)∈GTと前記元a(j)∈GT(j∈L(j≠i))とからなる集合aLを含む情報に対して定まる整数wと、前記整数c(j)(j∈L(j≠i))の総和Σc(j)とを用い、整数c(i)=w-Σc(j)(j∈L(j≠i))を生成する差分情報生成部と、
前記元h∈G1と前記再リンク鍵r∈G1と前記整数tと前記整数c(i)とを用い、巡回群G1の元z(i)=ht・r-c(i)∈G1を生成する第3巡回群演算部と、
前記整数c(j)(j∈L(j≠i))と前記整数c(i)とからなる集合cLと、前記元z(j)∈G1(j∈L(j≠i))と前記元z(i)∈G1とからなる集合zLとを含む、署名σ=(cL,zL)を出力する出力部と、
を有する署名生成装置。
【請求項2】
請求項1の署名生成装置であって、
前記元h∈G1は、前記メッセージmを含む情報の擬似的なランダム関数値である、
ことを特徴とする署名生成装置。
【請求項3】
請求項1又は2の署名生成装置であって、
前記メッセージmを含む情報は、前記メッセージmであるか、又は、前記要素i∈Lに対応しない情報と前記メッセージmとからなる情報である、
ことを特徴とする署名生成装置。
【請求項4】
請求項1から3の何れかの署名生成装置であって、
前記集合aLを含む情報は、さらに、前記集合Lと、前記公開鍵y(n)∈G2(n∈L)の集合と、を含む情報である、
ことを特徴とする署名生成装置。
【請求項5】
請求項1から4の何れかの署名生成装置であって、
前記集合aLを含む情報は、さらに、前記メッセージmを含む情報である、
ことを特徴とする署名生成装置。
【請求項6】
G1,G2,GTを巡回群とし、eを巡回群G1,G2の元の組を巡回群GTの元に写す非退化双線形写像とし、g2∈G2を巡回群G2の生成元とし、Lを匿名署名グループの構成員に対応する情報の集合とし、nを前記集合Lの各要素とし、y(n)∈G2(n∈L)を前記要素nにそれぞれ対応する公開鍵とした場合における、
前記公開鍵y(n)∈G2(n∈L)の集合と、整数c(n)(n∈L)からなる集合cL及び巡回群G1の元z(n)∈G1(n∈L)からなる集合zLを含む署名σ=(cL,zL)と、メッセージmとを格納する記憶部と、
前記元z(n)∈G1(n∈L)と前記生成元g2∈G2との組に前記非退化双線形写像eを作用させた結果をe4とし、前記メッセージmを含む情報に対して定まる巡回群G1の元h∈G1と前記公開鍵y(n)∈G2(n∈L)との組に前記非退化双線形写像eを作用させた結果をe5とした場合における、巡回群GTの元a(n)=e4・e5c(n)∈GT(n∈L)を生成する巡回群演算部と、
前記元a(n)(n∈L)からなる集合aLを含む情報に対して定まる整数wと、前記整数c(n)(n∈L)の総和Σc(n)(n∈L)と、が一致するか否かを判定する判定部と、
を有する署名検証装置。
【請求項7】
Lを匿名署名グループの構成員に対応する情報の集合とし、nを前記集合Lの各要素とし、前記集合Lの何れかの要素をi∈Lとし、x(n)(n∈L)を前記要素i∈Lに対応する整数の秘密鍵とした場合における、
メッセージmを含む情報に対して定まる巡回群G1の元h∈G1を生成する巡回群演算部と、
メッセージmに対応する巡回群G1の元である再リンク鍵r=hx(i)∈G1を生成する再リンク鍵生成部と、
前記再リンク鍵r=hx(i)∈G1を出力する出力部と、
を有する再リンク鍵生成装置。
【請求項8】
Gを巡回群とし、g∈Gを巡回群Gの生成元とし、Lを匿名署名グループの構成員に対応する情報の集合とし、nを前記集合Lの各要素とし、前記集合Lの何れかの要素をi∈Lとし、iを除く前記集合Lの各要素をj∈L(j≠i)とし、x(n)(n∈L)を前記要素n∈Lにそれぞれ対応する整数の秘密鍵とし、y(n)=gx(n)∈G(n∈L)を前記要素n∈Lにそれぞれ対応する公開鍵とし、tを任意の整数とし、Tを巡回群Gの元T=gt∈Gとし、cを前記元Tとメッセージmとを含む情報に対して定まる整数とし、z=t+x(i)・cとした場合における、
前記メッセージmに対応する再リンク鍵r=(T, z)と、前記整数cと、前記公開鍵y(n)∈G(n∈L)の集合とを格納する記憶部と、
t(i)を任意の整数とした場合における、巡回群Gの元T(i)=gt(i)∈Gを生成する第1巡回群演算部と、
c(j)(j∈L(j≠i))を任意の整数とし、z(j)(j∈L(j≠i))を任意の整数とした場合における、巡回群Gの元T(j)=gz(j)・(T・y(j)c)c(j)∈Gを生成する第2巡回群演算部と、
前記元T(i)∈Gと前記元T(j)(j∈L(j≠i))∈Gとからなる集合TLと前記元Tとを含む情報に対して定まる整数w'と、前記整数c(j)(j∈L(j≠i))の総和Σc(j)とを用い、整数c(i)=w'-Σc(j)(j∈L(j≠i))を生成する差分情報生成部と、
整数z(i)=t(i)-z・c(i)を生成する演算部と、
前記元T∈Gと、前記整数c(j)(j∈L(j≠i))と前記整数c(i)とからなる集合cLと、前記整数z(j)(j∈L(j≠i))と前記整数z(i)∈Gとからなる集合zLとを含む、署名σ=(T,cL,zL)を出力する出力部と、
を有する署名生成装置。
【請求項9】
請求項8の署名生成装置であって、
前記整数cは、前記元Tとメッセージmとを含む情報の擬似的なランダム関数値である、
ことを特徴とする署名生成装置。
【請求項10】
請求項8又は9の署名生成装置であって、
前記元Tとメッセージmとを含む情報は、前記元Tとメッセージmとからなる情報であるか、又は、前記要素i∈Lに対応しない情報と前記元Tとメッセージmとからなる情報である、
ことを特徴とする署名生成装置。
【請求項11】
請求項8から10の何れかの署名生成装置であって、
前記集合TLと前記元Tとを含む情報は、さらに、前記公開鍵y(n)∈G(n∈L)の集合を含む情報である、
ことを特徴とする署名生成装置。
【請求項12】
請求項8から11の何れかの署名生成装置であって、
前記集合TLと前記元Tとを含む情報は、さらに、前記メッセージmを含む情報である、
ことを特徴とする署名生成装置。
【請求項13】
Gを巡回群とし、g∈Gを巡回群Gの生成元とし、Lを匿名署名グループの構成員に対応する情報の集合とし、nを前記集合Lの各要素とし、y(n)∈G(n∈L)を前記要素n∈Lにそれぞれ対応する公開鍵とした場合における、
巡回群の元T∈Gと整数c(n)(n∈L)の集合cLと整数z(n)(n∈L)の集合zLとを含む署名σ=(T,cL,zL)と、前記公開鍵y(n)∈G(n∈L)の集合と、メッセージmとを格納する記憶部と、
前記元Tと前記メッセージmとを含む情報に対して定まる整数cを生成する演算部と、
巡回群Gの元T(n)=gz(n)(T・y(n)c)c(n)∈G(n∈L)を生成する巡回群演算部と、
前記元T(n)∈G(n∈L)の集合TLと前記元Tとを含む情報に対して定まる整数w'と、前記整数c(n)(n∈L)の総和Σc(n)とが、一致するか否かを判定する判定部と、
を有する署名検証装置。
【請求項14】
Gを巡回群とし、g∈Gを巡回群Gの生成元とし、Lを匿名署名グループの構成員に対応する情報の集合とし、nを前記集合Lの各要素とし、前記集合Lの何れかの要素をi∈Lとし、x(i)(i∈L)を前記要素i∈Lに対応する整数の秘密鍵とした場合における、
任意の整数tを出力する任意値出力部と、
巡回群Gの元T=gt∈Gを生成する巡回群演算部と、
前記元Tとメッセージmとを含む情報に対して定まる整数cを生成する第1演算部と、
整数z=t+x(i)・cを生成する第2演算部と、
前記元T∈Gと前記整数zとを含む再リンク鍵r=(T, z)を生成する再リンク鍵生成部と、
を有する再リンク鍵生成装置。
【請求項15】
請求項1から5又は8から12の何れかの署名生成装置としてコンピュータを機能させるためのプログラム。
【請求項16】
請求項6又は13の署名検証装置としてコンピュータを機能させるためのプログラム。
【請求項17】
請求項7又は14の再リンク鍵生成装置としてコンピュータを機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【公開番号】特開2011−145361(P2011−145361A)
【公開日】平成23年7月28日(2011.7.28)
【国際特許分類】
【出願番号】特願2010−4553(P2010−4553)
【出願日】平成22年1月13日(2010.1.13)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【出願人】(000102728)株式会社エヌ・ティ・ティ・データ (438)
【Fターム(参考)】
【公開日】平成23年7月28日(2011.7.28)
【国際特許分類】
【出願日】平成22年1月13日(2010.1.13)
【出願人】(000004226)日本電信電話株式会社 (13,992)
【出願人】(000102728)株式会社エヌ・ティ・ティ・データ (438)
【Fターム(参考)】
[ Back to top ]