JP2015136049A - 代理署名装置、署名検証装置、鍵生成装置、代理署名システム、およびプログラム - Google Patents

代理署名装置、署名検証装置、鍵生成装置、代理署名システム、およびプログラム Download PDF

Info

Publication number
JP2015136049A
JP2015136049A JP2014006738A JP2014006738A JP2015136049A JP 2015136049 A JP2015136049 A JP 2015136049A JP 2014006738 A JP2014006738 A JP 2014006738A JP 2014006738 A JP2014006738 A JP 2014006738A JP 2015136049 A JP2015136049 A JP 2015136049A
Authority
JP
Japan
Prior art keywords
signature
proxy
information
proxy signature
verification
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2014006738A
Other languages
English (en)
Other versions
JP6087849B2 (ja
Inventor
岡本 龍明
Tatsuaki Okamoto
龍明 岡本
阿部 正幸
Masayuki Abe
正幸 阿部
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 JP2014006738A priority Critical patent/JP6087849B2/ja
Publication of JP2015136049A publication Critical patent/JP2015136049A/ja
Application granted granted Critical
Publication of JP6087849B2 publication Critical patent/JP6087849B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】一般アクセス構造を持つ署名権限を委譲することができる代理署名技術を提供する。【解決手段】各代理署名装置U(θ(j))は、i∈I(j)について、入力された{s*i,j−1}i∈{1,…,L}のs*i,j−1と{k*i}i∈I(j)とを用い、署名対象に対応するs*i,jを得る。i∈I(j)ではないi∈{1,…,L}について、{s*i,j−1}i∈{1,…,L}のs*i,j−1を用い、署名対象に対応するs*i,jを得る。s*i,jの集合を{s*i,j}i∈{1,…,L}とする。代理署名装置U(θ(k))で得られた{s*i,k}i∈{1,…,L}を署名{s*i}i∈{1,…,L}とする。【選択図】図4

Description

本発明は、情報セキュリティ技術の応用技術に関し、特に代理署名方式に関する。
代理署名方式は、ある署名者が代理署名者に署名の権限を移譲することが可能な署名方式である。従来、例えば、非特許文献1から3のような代理署名方式が提案されていた。
Beheshti-Atashgah, M., Bayat, M.: Designated verifier threshold proxy signature scheme without random oracles. ePrint, IACR, インターネット<http://eprint.iacr.org/2012/488>. Mambo, M., Usuda, K., Okamoto, E.: Proxy signature: delegation of the power to sign messages. IEICE Transactions on Fundamentals. 76(1996) 1338-1353. Zhang, K.: Threshold proxy signature schemes. Information Security Workshop, Japan. (1997) 191-197.
しかし、従来のいずれの方式も、代理署名者に移譲する署名権限の構造が単純なものに限られており、一般のアクセス構造を持つ署名権限を委譲することができなかった。例えば、従来方式は、或る数以上の任意の代理署名者が協力した場合に署名を生成できるように署名権限を委譲するものであり、特定の組み合わせの代理署名者が協力した場合に署名を生成できるように署名権限の委譲を行うことができなかった。
本発明の課題は、一般アクセス構造を持つ署名権限を委譲することができる代理署名技術を提供することである。
n個の代理署名装置U(1),…,U(n)と署名検証装置とを有し、権限が委譲された{U(θ(1)),…,U(θ(k))}⊆{U(1),…,U(n)}が署名生成を行う。ただし、nは1以上の整数であり、kは1以上のn以下の整数である。各代理署名装置U(θ(j))(ただし、j∈{1,…,k})は、{1,…,L}の部分集合I(j)に対応する(ただし、Lは1以上の整数)。任意値sの集合{si∈{1,…,L}に対し、部分集合I(j)の和集合∪j∈{1,…,k}I(j)に対応する任意値sの線形結合を値sとする。
各代理署名装置U(θ(j))は、i∈I(j)について、入力された代理署名情報{s* i,j−1i∈{1,…,L}の要素s* i,j−1と鍵集合{k* i∈I(j)とを用い、署名対象に対応する要素s* i,jを得る。ただし、鍵集合{k* i∈I(j)は上述の任意値sに対応する鍵k* の集合である。また、各代理署名装置U(θ(j))は、i∈I(j)ではないi∈{1,…,L}について、代理署名情報{s* i,j−1i∈{1,…,L}の要素s* i,j−1を用い、署名対象に対応する要素s* i,jを得る。各代理署名装置U(θ(j))は、得られた要素s* i,jの集合を代理署名情報{s* i,ji∈{1,…,L}とする。なお{s* i,0i∈{1,…,L}は初期設定されており、代理署名装置U(θ(k))で得られた代理署名情報{s* i,ki∈{1,…,L}が署名{s* i∈{1,…,L}となる。
署名検証装置は、署名対象に対応する検証値cおよび入力された署名{s* i∈{1,…,L}に対する双線形写像の像が、上述の値sに対応する値となるかを判定する。
本発明では、一般アクセス構造を持つ署名権限を委譲することができる。
図1は、実施形態の代理署名システムの構成を例示したブロック図である。 図2は、実施形態の署名管理装置(鍵生成装置)の構成を例示したブロック図である。 図3は、権限が委譲された代理署名装置を例示したブロック図である。 図4は、実施形態の代理署名装置の構成を例示したブロック図である。 図5は、実施形態の署名検証装置の構成を例示したブロック図である。 図6は、一般アクセス構造を実現する単調スパンプログラムと、一般アクセス構造の権限の委譲との関係を説明するための概念図である。 図7は、実施形態の鍵生成処理を説明するためのフロー図である。 図8は、実施形態の代理署名処理を説明するためのフロー図である。 図9は、実施形態の署名検証処理を説明するためのフロー図である。
以下、本発明の実施形態を説明する。
[概要]
まず、実施形態の概要を説明する。
実施形態では、n個の代理署名装置U(1),…,U(n)からなる集合Nset:={U(1),…,U(n)}の任意の部分集合Ksubset:={U(θ(1)),…,U(θ(k))}⊆Nsetに署名権限を委譲する。部分集合Ksubsetの一例は{U(1),…,U(k)}である。この部分集合Ksubsetの設定方法に制限はなく、集合Nsetの真部分集合であってもよいし、真部分集合でなくてもよい。また、複数個の部分集合Ksubsetが設定されてもよいし、1個の部分集合Ksubsetのみが設定されてもよい。複数個の部分集合Ksubsetが設定される場合、各部分集合Ksubsetの要素数kは互いに同一であってもよいし、異なっていてもよい。ただし、nは1以上の整数(例えば、n≧2)であり、kは1以上のn以下の整数(例えば、k≧2)である。また、Λ:=Φは、ΛがΦであると定義することを意味する。
各代理署名装置U(θ(j))(ただし、j∈{1,…,k})は、集合{1,…,L}の部分集合I(j)⊆{1,…,L}に対応付けられる。ただし、Lは1以上の整数(例えば、L≧2)であり、1,…,Lは一般アクセス構造を実現する単調スパンプログラムを構成する行列Mの各行のインデックスである(詳細は後述する)。各i∈{1,…,L}にはそれぞれ任意値sが設定され、部分集合I(j)の和集合∪j∈{1,…,k}I(j)に対応する任意値sの線形結合が値sとなっている。すなわち、署名権限が委譲された代理署名装置U(θ(j))に対応する任意値sの線形結合が値sとなっており、署名権限が委譲された代理署名装置U(θ(j))に対応する任意値sが集まればsを復元できる関係となっている。
各代理署名装置U(θ(j))∈Ksubsetは、U(θ(1)),...,U(θ(k)の順序で以下の代理署名処理を行う。
<代理署名処理>
代理署名装置U(θ(j))は、i∈I(j)について、入力された代理署名情報{s* i,j−1i∈{1,…,L}の要素s* i,j−1と鍵集合{k* i∈I(j)とを用い、署名対象に対応する要素s* i,jを得る。ただし、鍵集合{k* i∈I(j)は上述の任意値sに対応する鍵k* の集合である。また、各代理署名装置U(θ(j))は、i∈I(j)ではないi∈{1,…,L}について、代理署名情報{s* i,j−1i∈{1,…,L}の要素s* i,j−1を用い、署名対象に対応する要素s* i,jを得る。ただし、代理署名装置U(θ(1))は、初期設定された{s* i,0i∈{1,…,L}を用いてこれらの処理を行う。
最後に代理署名装置U(θ(k))で得られた代理署名情報{s* i,ki∈{1,…,L}が署名{s* i∈{1,…,L}となる。
<署名検証処理>
署名検証装置は、署名{s* i∈{1,…,L}を入力とし、その署名対象に対応する検証値cおよび署名{s* i∈{1,…,L}に対する双線形写像の像が、上述の値sに対応する値となるかを判定する。この双線形写像の像が上述の値sに対応する値となれば合格であり、ならなければ不合格である。上述のように、署名権限が委譲された代理署名装置U(θ(j))に対応する任意値sが集まればsを復元できる関係になっており、上述の代理署名処理で用いられる鍵集合{k* i∈I(j)は任意値sに対応する。そのため、署名権限が委譲された代理署名装置U(θ(j))∈Ksubsetが協力して署名を生成した場合には、上述の双線形写像の像が上述の値sに対応する値となり、合格となる。
以上により、n個の代理署名装置U(1),…,U(n)からなる集合Nsetの任意の部分集合Ksubset⊆Nsetに署名権限を委譲でき、そのような組み合わせのみが署名を正しく生成できる。このような署名権限委譲の構造は一般アクセス構造をなしている。
[詳細]
次に、実施形態の詳細を説明する。
<記号>
以下の記述で用いる記号の説明をする。
SETが集合のとき、y←SETは、yが集合SETからランダムに選ばれることを意味する。Fは、要素の数(位数)がq個の有限体を意味する。ただし、qは1以上の整数であり、例えば、素数である。また、F\{0}(Fから0を除いたもの)をF× と記す。εはF上のベクトルを意味する。つまり、1以上の整数Nにおいてε:=(ε,…,ε)∈F である。2つのベクトルε:=(ε,…,ε)とω:=(ω,…,ω)の間の内積演算
Figure 2015136049

をε・ωと記す。(εはεの転置ベクトルを意味する。Xが行列のとき、XはXの転置行列を意味する。すなわち、(・)は(・)の転置を表す。GL(N,F)は、F上の次数がNの一般線形群(要素がFのN×N正則行列の集合)を意味する。なお、記載表記の制約上、「y←SET」「ε」のように記載するが、これらはそれぞれ
Figure 2015136049

と同義である。
<双対双線形ベクトル空間:DPVS(Dual Pairing Vector Space)>
双対双線形ベクトル空間(DPVS)は、双線形写像群の上で構成される。そこで、まず双線形写像群について説明する。
《双線形写像群》
双線形写像群(q,G,G,G,g,g,e’)は、位数がqの巡回加法群G,Gと、位数がqの巡回乗法群Gと、巡回加法群Gの要素g≠0∈Gと、巡回加法群Gの要素g≠0∈Gと、双線形写像e’:G×G→Gからなる。G=Gであってもよいし、G≠Gであってもよい。ここで、e’(sg,tg)=e’(g,gstおよびe’(g,g)≠1が成立する。ただしs,t∈Fである。なお、e’の例はWeilペアリングやTateペアリングなどのペアリングである。Gbpg(1λ)は、安全係数(パラメータサイズ)λを入力として双線形写像群のパラメータparam:=(q,G,G,G,g,g,e’)を出力するアルゴリズムである。G=Gの場合、Gbpg(1λ)は安全係数λを入力としてパラメータparam:=(q,G,G,g,e’)を出力してもよい。
《双対双線形ベクトル空間(DPVS)》
双線形写像群(q,G,G,G,g,g,e’)上の双対双線形ベクトル空間(q,V,V,G,A,A,e)は、1以上の整数q(例えば素数)、F上のN次元のベクトル空間V:=G×・・・×G(巡回加法群Gの元をN個(N≧1)並べたもの)、F上のN次元のベクトル空間V:=G×・・・×G(巡回加法群Gの元をN個並べたもの)、位数がqの巡回乗法群G、ベクトル空間Vの標準基底A:=(a,...,a)、ベクトル空間Vの標準基底A:=(a ,...,a )、および双線形写像e:V×V→Gからなる。AおよびAはそれぞれ正規直交基底である。標準基底Aはベクトル空間Vを張り(span)、標準基底Aはベクトル空間Vを張る。例えば、aμ(μ∈{1,...,N})およびa μ(μ∈{1,...,N})は以下のように定義される。
Figure 2015136049
また、Ω:=(Ω,...,Ω)∈VとΘ:=(Θ,...,Θ)∈Vとの間の双線形写像eは、以下のように定義される。
Figure 2015136049

このとき、以下が成立する。
e(sΩ,tΘ)=e(Ω,Θ)st …(1)
e(Ω,Θ )=e(g,gδ(v,w) …(2)
ただし、δ(v,w)はクロネッカーのデルタであり、v=wならばδ(v,w)=1であり、v≠wならばδ(v,w)=0である。
dpvs(1λ,N,param)は、安全係数λと次元N(ただし、Nは1以上の整数)を入力として、双対双線形ベクトル空間(DPVS)のパラメータparam:=(q,V,V,G,A,A,e)を出力するアルゴリズムである。G=Gの場合、Gdpvs(1λ,N,param)は、安全係数λと次元Nを入力として、param:=(q,V,G,A,e)を出力してもよい。このアルゴリズムの内部で、前述のGbpg(1λ)を利用する。
ベクトル空間Vの任意の基底B:=(b,...,b)およびベクトル空間Vの任意の基底B:=(b ,...,b )に関して、以下のように定義する。ただし、(ε,…,ε)∈F および(ω,…,ω)∈F である。
Figure 2015136049
<一般アクセス構造>
つぎに、一般アクセス構造を実現する単調スパンプログラム(一般的な秘密分散を表現する方式)について述べる。
を有限体とし、{x,...,x}をn個の変数からなる集合とする。ただし、nは1以上の整数であり、各変数x(z∈{1,...,n})は、秘密を秘密分散した分散値を保持する者に対応し、代理署名の枠組みでは、各代理署名装置(代理署名者)に対応する。F上の単調スパンプログラムは、ラベルづけされた行列S:=(M,ρ)である。ここで、MはF上の(L×R)行列である。ρは各変数x,...,xを行列Mの各行へラベルづけ(対応づけ)するための写像である。具体的には、ρは行列Mの各行のインデックスi∈{1,…,L}から変数x(z∈{1,...,n})への写像x=ρ(i)である。すなわち、各行はi=ρ−1(x)(ただしz∈{1,...,n})でラベル付けされる。行列Mのすべての行はそれぞれ1個の変数xでラベル付けされる。すなわち、各インデックスi∈{1,…,L}は1個の変数x∈{1,...,n}のみに対応する。ただし、各変数xは1個のインデックスi∈{1,…,L}のみに対応してもよいし、複数個のインデックスi∈{1,…,L}に対応してもよい。すなわち、各変数x(すなわち、各代理署名装置)は、集合{1,...,L}の部分集合I(z)⊆{1,...,L}に対応する。行列Mのすべての行がそれぞれ1個の変数xでラベル付けされるため、z≠zであるz,z∈{1,...,n}に対し、積集合I(z)∩I(z)は空集合となる。
単調スパンプログラムSは、以下のようなルールに従って、入力Γ:=(Γ,...,Γ)∈{0,1}を受理または拒否する。ただし、Γ(z∈{1,...,n})はそれぞれ変数xに一対一に対応する。入力Γが与えられると、Γ=1であるような変数xがラベルづけする行(つまり
Figure 2015136049

)からなるMの部分行列MΓが定まる。このとき、単調スパンプログラムSは所定のR次元ベクトルSE(例えば、1=(1,...,1))について、SE∈span<MΓ>ならば入力Γを受理し、SE∈<MΓ>でなければ入力Γを拒否する。なお、SE∈span<MΓ>とは、部分行列MΓに属する各行がベクトルSEを張ることを意味する。言い換えると、span<MΓ>とは、部分行列MΓに属する各行の適当な線形結合がベクトルSEとなることを意味する。ここで、単調スパンプログラム(M,ρ)が入力Γを受理することは、Γ=1であるような変数xに対応する代理署名装置が協力して秘密を復元できる(署名を作成できる)ことに対応する。一方、拒否されるときは、Γ=1であるような変数xに対応する代理署名装置がどのように協力しても秘密を復元できない(署名を作成できない)ことに対応する。
<一般アクセス構造(単調スパンプログラム)に基づく代理署名の枠組み>
次に、一般アクセス構造(単調スパンプログラム)に基づく代理署名の枠組みを示す。
《Setup》
アルゴリズムSetupは、安全係数λを入力して、システム共通のマスター公開鍵mpkとマスター秘密鍵mskを出力する。署名管理装置(オリジナル/マスター署名者)は、このアルゴリズムSetupを用いてmpkとmskを生成し、mskを秘密に保存し、mpkを公開する。
《PSetup》
署名管理装置は、n個の代理署名装置に対し、アルゴリズムPSetupを用いて、一般アクセス構造(単調スパンプログラム)S:=(M,ρ)を持つ分散署名鍵を作成し、それぞれの代理署名装置に分散署名鍵を配布する。まず、署名管理装置は、Nset:={U(1),…,U(n)}に対し、一般アクセス構造(単調スパンプログラム)Sを定める。これは、どのように署名権限を移譲するかという方針に基づき定める。さらに、そのときの権限移譲の付加情報(たとえば、期限等)を含む文書を“text”とする。さらに、署名検証に用いるパラメータおよびそれらに対する署名管理装置の通常のディジタル署名(RSA署名等)との組を(aux,σ)とする。アルゴリズムPSetupは、(S,mpk,msk,text)を入力として、公開情報pkpsetup:=(aux,text,σ,S)と代理署名装置の秘密鍵{skpsetup(z)z∈{1,...,n}:={(pkpsetup,sk)}z∈{1,...,n}を出力する。skは前述の鍵集合{k* i∈I(z)である。このうち、skpsetup(z)が代理署名装置U(z)(ただし、z∈{1,...,n})の分散署名鍵として、代理署名装置U(z)に秘密に渡される。
《Sig》
代理署名装置の部分集合Ksubset⊆Nsetが集まって代理署名を行うときのアルゴリズムがSigである。まず、最初の代理署名装置U(θ(1))がアルゴリズムSigθ(1)を用いて、s :={s* i,1i∈{1,…,L}を出力する。代理署名装置U(θ(1))は、s を次の代理署名者U(θ(2))に渡す。j番目の代理署名装置U(θ(j))(2≦j≦k−1)は、代理署名装置U(θ(j−1))からs j−1:={s* i,j−1i∈{1,…,L}を受け取り、アルゴリズムSigθ(j)を用いて、s :={s* i,ji∈{1,…,L}を出力し、それを次の代理署名装置U(θ(j+1))に送る。最後の代理署名装置U(θ(k))は、s k−1:={s* i,k−1i∈{1,…,L}を代理署名装置U(θ(k−1))から受け取り、アルゴリズムSigθ(k)を用いてs :={s* i,ki∈{1,…,L}を出力する。最後に、s* :=s* i,kとし、s*:=({s* i∈{1,…,L},aux,text,σ)をSig(mpk,{skj∈{1,...,k},Ksubset,m,pkpsetup)として(つまり、代理署名装置の部分集合Ksubsetに対するアルゴリズムSigの出力として)出力する。
単調スパンプログラム(一般アクセス構造)と、代理署名装置の部分集合Ksubsetを対応づけるために、以下のような関係を定める。単調スパンプログラムSの入力Γ:=(Γ,...,Γ)∈{0,1}において、Γ=1(z∈{1,...,n})であることとU(z)∈Ksubsetであることとが等価であるとする。ここで、単調スパンプログラムSが部分集合Ksubsetを受理するとは、単調スパンプログラムSが入力Γを受理することとする。これ以降、以上の枠組みで述べたアルゴリズムに基づく実施形態を詳細に説明する。
[第1実施形態]
図面を参照して、第1実施形態を説明する。
<構成>
図1に例示するように、本形態の代理署名システム1は、署名管理装置(鍵生成装置)11、n個の代理署名装置12−1〜12−n(これらはU(1),…,U(n)に相当する)、および署名検証装置13を有し、これらはネットワークを介して通信可能に構成されている。各装置は、例えば、CPU(central processing unit)やRAM(random-access memory)等の汎用または専用のコンピュータに所定のプログラムが読み込まれて構成される装置である。
図2に例示するように、本形態の署名管理装置11は、セットアップ部111、ランダム値生成部112、分散値生成部113、復元値生成部114、署名部1141、鍵生成部115、線形結合係数生成部116、記憶部117、制御部118、および出力部119を有する。署名管理装置11は、制御部118の制御のもとで各処理を実行する。各部で得られた情報は記憶部117に格納され、必要に応じて読み出され、各部の処理に用いられる。
図3に例示するように、本形態では代理署名装置12−1〜12−nからなる集合Nsetの部分集合Ksubsetをなすk個の代理署名装置12−θ(1)〜12−θ(k)(これらはU(θ(1)),…,U(θ(k)に相当する)に署名権限が委譲され、代理署名装置12−θ(1)〜12−θ(k)がSigθ(1)〜Sigθ(k)(すなわち、Sig)を実行して署名s*を生成する。前述のように、部分集合Ksubsetの設定方法に制限はない。図4に例示するように、代理署名装置12−θ(j)(ただし、j∈{1,...,k})は、入力部121−θ(j)、判定部122−θ(j)、第1処理部124−θ(j)、第2処理部125−θ(j)、出力部126−θ(j)、記憶部127−θ(j)、および制御部128−θ(j)を有する。代理署名装置12−θ(j)は、制御部118の制御のもとで各処理を実行する。各部で得られた情報は記憶部127−θ(j)に格納され、必要に応じて読み出され、各部の処理に用いられる。なお、その他の代理署名装置12−z(ただし、z∈{1,...,n})の構成も同様である(図4のθ(j)をzに置換した構成)。
図5に例示するように、本形態の署名検証装置13は、入力部131、検証情報生成部133、検証部134,138、出力部135、記憶部136、および制御部137を有する。署名検証装置13は、制御部137の制御のもとで各処理を実行する。各部で得られた情報は記憶部136に格納され、必要に応じて読み出され、各部の処理に用いられる。
<処理>
次に各処理を説明する。なお、以下に示す{βi,ιι∈{1,…,N(i)},{λi,ιι∈{1,…,N(i)},{γi,j,ιι∈{1,…,N(i)},{υi,ιι∈{1,…,N(i)}は、以下の関係を満たす係数βi,ι,λi,ι,γi,j,ι,υi,ι∈Fの集合である。
Figure 2015136049

《Setup》
署名管理装置11のセットアップ部111は、安全係数λを入力とし、次のようにSetupを実行し、mpkとmskを生成する。まず、セットアップ部111は、安全係数λを入力としてGbpgを実行し、ランダムな双線形写像群param=(q,G,G,G,g,g,e’)←bpg(1λ)を得て出力する(G=Gの場合には、param=(q,G,G,g,e’)でもよい)。セットアップ部111は、ランダム値κ←× を選択し、
:=e(g,g*κ …(4)
を得て出力し、さらにSHA−2等の暗号学的ハッシュ(圧縮)関数Hを設定する。セットアップ部111は、安全係数λを入力とし、通常のディジタル署名の鍵生成アルゴリズムKeyGen(1λ)を実行し、通常のディジタル署名鍵skおよび検証鍵vkのペア(sk,vk)←KeyGen(1λ)を生成して出力する。
セットアップ部111は、t=1,...,dについて以下を設定する。ただし、dは単調スパンプログラムを構成する行列Mの行のサイズLの最大値である。N(t)は1以上の整数であり、例えば、N(t)≧2である。
DPVSのパラメータparamV(t)
paramV(t):=(q,V,V ,G,A,A ,e):=Gdpvs(1λ,N(t),param
ただし、V,V ,A,A は、N=N(t)としたV,V,A,Aである。また、G=Gの場合には、paramV(t):=(q,V,G,A,e)でもよい。
行列(χt,ι,ζι,ζ,(θt,ι,ζι,ζ
:=(χt,ι,ζι,ζGL(N(t),F
(θt,ι,ζι,ζ:=κ・(X −1 …(5)
ただし、χt,ι,ζは行列Xの(ι,ζ)成分を意味する。
基底B,B*
Figure 2015136049

ただし、A:=(at,1,...,at,N)である。式(1)(2)(4)〜(7)の関係より、基底B:=(bt,1,…,bt,N(t))および基底B* :=(b* t,1,…,b* t,N(t))に対し、
e(bt,v,b* t,w)=g δ(v,w) …(8)
の関係を満たす。
基底B ,B*^
Figure 2015136049
ただし、νt,ξ,ι∈Fは任意値(ランダム値または定数)である。例えば、ξ’∈{1,...,N(t)}について、ξ=ξ’のときにνt,ξ,ξ’=1かつξ≠ξ’のときにνt,ξ,ξ’=0とした場合、式(10)(11)の値b*〜 t,ξはb* t,ξとなる。例えば、すべてのξ’∈{1,...,N(t)}についてνt,ξ,ξ’=0とした場合、式(10)(11)の値b*〜 t,ξは0となる。式(10)からb*〜 t,ξ=0となるものを取り除いたものを
Figure 2015136049

としてもよい。ただし、後述のSigθ(j)で要素s* i,jを計算可能な構成である必要がある。
セットアップ部111は、msk:=({B* t∈{1,...,d},sk)、mpk:=({paramV(t),B^,B*t∈{1,...,d},g,vk,H)を生成して出力する。ただし、B^,B*はそれぞれ、
Figure 2015136049

を表す。マスター秘密鍵mskは署名管理装置11の記憶部117に安全に格納される。マスター公開鍵mpkは、記憶部117に格納される他、代理署名装置12−1〜12nおよび署名検証装置13にも送られ、各装置で利用可能なように設定される。
《PSetup》
署名管理装置11は、アルゴリズムPSetupを用いて、一般アクセス構造(単調スパンプログラム)S:=(M,ρ)を持つ分散署名鍵を作成する。n個の代理署名装置12−1〜12−nからなる集合Nsetに対し、単調スパンプログラムSが定められる。図6に例示するように、まず、前述の(L×R)行列MおよびR次元ベクトルSE=M(R個の任意値からなる復元ベクトル。例えば、1=(1,...,1))が定められる。各代理署名装置12−zは各変数x(z∈{1,...,n})に一対一で対応付けられる。前述の入力Γ:=(Γ,...,Γ)∈{0,1}においてΓ=1であるような変数xに対応する代理署名装置12−zからなる集合が部分集合Ksubsetである。また、前述の写像x=ρ(i)(ただしz∈{1,...,n},i∈{1,…,L})が定められる。この写像ρ(i)により、各代理署名装置12−zが、行列Mの行Mを表すインデックスiの集合{1,...,L}の部分集合I(z)⊆{1,...,L}に対応付けられる。なお、行列M、R次元ベクトルSE、および写像ρ(i)は、行M(ただし、i∈∪j∈{1,…,k}I(j))からなる部分行列MΓについてSE=M∈span<MΓ>を満たすように設定される。ただし、∪j∈{1,…,k}I(j)は、部分集合Ksubsetに属する代理署名装置12−(θ(j))(ただし、j∈{1,...,k})に対応する部分集合I(j)の和集合である。
図7に例示するように、署名管理装置11のランダム値生成部(任意値生成部)112は、R個の有限体Fの元からなるR次元ベクトルf を得て出力する(ステップS112)。次に、分散値生成部113は、行列M及びR次元ベクトルfを入力として、任意値(分散値)sからなる(s,…,s:=M(fを得て出力する(ステップS113)。また、復元値生成部114は、R次元ベクトルSEおよびR次元ベクトルfを入力として、任意値(復元値)s:=SE・fを得て出力する(ステップS114)。ここで、s=M(f、s=M(f(ただし、i∈{1,…,L})、およびM∈span<MΓ>であるため、分散値s(ただし、i∈∪j∈{1,…,k}I(j))の線形結合は値sである。言い換えると、
Figure 2015136049

を満たす係数α∈Fからなる係数集合{αi∈I(j)が存在する。さらに式(13)の変形から、
Figure 2015136049

を満たす係数α∈Fからなる係数集合{αi∈I(j)が存在すると言える。
署名部1141は、text、g、s、およびskを入力とし、skを用いてg s0とtextとのビット連結g s0|textに対して通常のディジタル署名σ=Sign(sk,g s0|text)を生成して出力する(ステップS1141)。
鍵生成部115は、基底の集合{B* t∈{1,...,d}を用い、各i∈{1,...,L}に対して鍵
Figure 2015136049

を得て出力する(ステップS115)。前述の関係(式(3))を満たすのであれば、係数βi,ιはランダム値であっても定数であってもよい。
鍵生成部115は、部分集合I(z)(ただし、z∈{1,...,n})に対応する鍵k* からなる鍵集合{k* i∈I(z)を鍵sk={k* i∈I(z)とし、公開情報pkpsetup:=(g s0,text,σ,S:=(M,ρ))とし、分散署名鍵の集合{skpsetup(z)z∈{1,...,n}:={(pkpsetup,sk)}z∈{1,...,n}を得て出力する。各鍵sk={k* i∈I(z)は、それぞれに対応する代理署名装置12−z(ただし、z∈{1,...,n})へ安全に送られ、それぞれの記憶部127−zに格納される。pkpsetupは、各代理署名装置12−z(ただし、z∈{1,...,n})および署名検証装置13に送られ、各装置が利用可能なように設定される。
≪Sig≫
次に、k個の代理署名装置12−θ(1)〜12−θ(k)∈KsubsetがSigθ(1)〜Sigθ(k)(すなわち、Sig)を実行して署名s*を生成する処理を説明する(図3)。
まず、署名管理装置11の線形結合係数生成部116が、部分集合Ksubsetおよび公開情報pkpsetupを入力とし、式(13)(すなわち、式(14))を満たす係数集合{αi∈I(j)を生成して出力する。各係数集合{αi∈I(j)は、例えば、対応する代理署名装置12−θ(j)に送られ、記憶部127−θ(j)に安全に格納される。或いは、すべての係数集合{αi∈I(j)が代理署名装置12−θ(j)(ただし、j∈{1,...,k})に送られて共有され、すべての記憶部127−θ(j)(ただし、j∈{1,...,k})に格納されてもよい。
その後、代理署名装置12−θ(1),...,代理署名装置12−θ(k)の順に、それぞれがSigθ(1),...,Sigθ(k)を実行する。
図8に例示するように、Sigθ(j)では、代理署名装置12−θ(j)(ただし、j∈{1,...,k})の入力部121−θ(j)に、署名対象の文書mと代理署名装置12−θ(j−1)から出力された代理署名情報{s* i,j−1i∈{1,…,L}が入力される(ステップS121−θ(j−1))。ただし、j=1の場合の代理署名情報{s* i,0i∈{1,…,L}は、初期設定された
Figure 2015136049

の集合である。前述の関係(式(3))を満たすのであれば、係数λi,ιはランダム値であっても定数であってもよい。例えば、s* i,0:=0である。
制御部128−θ(j)は、iを1に設定する(i:=1)(ステップS128a−θ(j))。次に、判定部122−θ(j)が文書mおよび要素s* i,j−1を入力とし、s* i,j−1∈I(j)であるかを判定する(ステップS122−θ(j))。i∈I(j)である場合、判定部122−θ(j)は、文書mおよび要素s* i,j−1を第1処理部124−θ(j)に送り、i∈I(j)ではないi∈{1,…,L}である場合、判定部122−θ(j)は、文書mおよび要素s* i,j−1を第2処理部125−θ(j)に送る。
第1処理部124−θ(j)は、記憶部127−θ(j)から係数αおよび鍵k* を抽出し、マスター公開鍵mpkと送られた要素s* i,j−1を用い、要素s* i,j:=s* i,j−1+α* +γi,j,1* i,1+γi,j,2* i,2+…+γi,j,N(i)* i,N(i)(ただし、i∈I(j))を得、文書mおよび要素s* i,jを出力する。{γi,j,ιι∈{1,…,N(i)}は、文書m(署名対象)に対応する情報Mesを要素に含む第1集合に対応する係数集合である。文書mに対応する情報Mesの例は、例えばハッシュ値H(m|text)である。前述の関係(式(3))を満たすのであれば、係数γi,j,ιはランダム値であっても定数であっても、ランダム値または定数と情報Mesやマスター公開鍵mpkとによって定まる値でもよい(ステップS124−θ(j))。
一方、第2処理部125−θ(j)は、マスター公開鍵mpkと送られた要素s* i,j−1を用い、要素s* i,j:=s* i,j−1+γi,j,1* i,1+γi,j,2* i,2+…+γi,j,N(i)* i,N(i)(ただし、i∈I(j)ではないi∈{1,…,L})を得、文書mおよび要素s* i,jを出力する(ステップS125−θ(j))。
制御部128−θ(j)は、i=Lであるかを判定する(S128b−θ(j))。i≠Lであれば、制御部128−θ(j)はi+1を新たなiとし(i:=i+1)、処理をステップS122−θ(j)に戻す(ステップS128c−θ(j))。一方、i=Lであれば、出力部126−θ(j)は、i∈{1,...,L}についての要素s* i,jの集合を代理署名情報{s* i,ji∈{1,…,L}とし、文書mおよび代理署名情報{s* i,ji∈{1,…,L}を出力する。
1≦j<kである場合、代理署名装置12−θ(j)から出力された文書mおよび代理署名情報{s* i,ji∈{1,…,L}は、次の代理署名装置12−θ(j+1)の入力部121−θ(j+1)に入力される。j=kである場合、代理署名装置12−θ(k)の出力部126−θ(k)は、{s* i,ji∈{1,…,L}を署名{s* i∈{1,…,L}とし、文書mおよび署名s*=({s* i∈{1,…,L},g s0,text,σ)を出力する。
《Ver》
次に、署名検証装置13による署名s*の検証処理を説明する。
図9に例示するように、署名検証装置13の入力部121−θ(j)に文書mおよび署名s*が入力される(ステップS131)。文書mおよびtextは検証情報生成部133に送られ、署名s*の{s* i∈{1,…,L}およびg s0は検証部134に送られ、ディジタル署名σ、g s0およびtextは検証部138に送られる。
検証情報生成部133は、文書mおよびtextを入力とし、文書m(署名対象)に対応する情報Mes(例えばハッシュ値H(m|text))を要素に含む第2集合に対応する係数集合{υi,ιι∈{1,…,N(i)}からc:=υi,1i,1+…+υi,N(i)i,N(i)(ただし、i∈{1,…,L})を得る。検証情報生成部133はcの集合である検証情報{ci∈{1,…,L}を出力する。前述の関係(式(3))を満たすのであれば、係数υi,ιはランダム値であっても定数であっても、ランダム値または定数と情報Mesやマスター公開鍵mpkとによって定まる値でもよい(ステップS133)。
検証部134は、検証情報{ci∈{1,…,L}、{s* i∈{1,…,L}およびg s0を入力とし、
Figure 2015136049

を満たすかを判定する(ステップS134)。式(16)の関係を満たさない場合、出力部135は0(不合格を意味する)を出力する(ステップS135b)。
一方、式(16)の関係を満たす場合、検証部138は、ディジタル署名σ、g s0およびtextを入力とし、マスター公開鍵mpkの検証鍵vkを用い、ディジタル署名σの検証Ver(vk,σ,g s0|text)を行う(ステップS138)。この検証が合格Ver(vk,σ,g s0|text)=1であれば、出力部135は1(合格を意味する)を出力する(ステップS135a)。この検証が不合格Ver(vk,σ,g s0|text)≠1であれば、出力部135は0(不合格を意味する)を出力する(ステップS135b)。
<正しく生成された署名{s* i∈{1,…,L}が式(16)を満たす理由>
以下に正しく生成された署名{s* i∈{1,…,L}が式(16)を満たす理由を説明する。
式(16)を変形すると以下のようになる。
Figure 2015136049
上述した式(8)の関係から、式(17)は以下のように変形できる。
Figure 2015136049
式(3)(14)の関係より、式(18)は以下のように変形できる。
Figure 2015136049
[第2実施形態]
第2実施形態では、より具体的な方式を説明する。すなわち、第2実施形態では、N(i)=8であり、βi,1=βi,3=βi,4=βi,5=βi,6=βi,8=0、βi,2=s’、βi,7=φであり、φがランダム値であり、
Figure 2015136049

を満たす。また、s* i,0=0であり、γi,j,1=ri,jπ、γi,j,2=r’i,j、γi,j,3=τi,j、γi,j,4=τi,jMes、γi,j,7=ri,jφ i,1+r* 、γi,j,5=γi,j,6=γi,j,8=0であり、π,τi,j,φ i,1,r* ,ri,j,r’i,jがランダム値であり、r1,j+…+rL,j=0およびr’1,j+…+r’L,j=0を満たす。さらに、υi,1=1、υi,2=υ、υi,3=τ’Mes、υi,4=−τ’、υi,8=η、υi,5=υi,6=υi,7=0であり、τ’,ηがランダム値であり、υが任意値である。
以下では、第1実施形態との相違点を中心に説明し、共通する事項については同一の参照番号を引用して説明を省略する。
<構成>
図1に例示するように、本形態の代理署名システム2は、署名管理装置(鍵生成装置)21、n個の代理署名装置22−1〜22−n(これらはU(1),…,U(n)に相当する)、および署名検証装置23を有し、これらはネットワークを介して通信可能に構成されている。各装置は、例えば、汎用または専用のコンピュータに所定のプログラムが読み込まれて構成される装置である。
図2に例示するように、本形態の署名管理装置21は、セットアップ部211、ランダム値生成部112,212、分散値生成部113,213、復元値生成部114、署名部1141、鍵生成部215、線形結合係数生成部116、記憶部117、制御部118、および出力部119を有する。
図3に例示するように、本形態では代理署名装置22−1〜22−nからなる集合Nsetの部分集合Ksubsetをなすk個の代理署名装置22−θ(1)〜22−θ(k)(これらはU(θ(1)),…,U(θ(k)に相当する)に署名権限が委譲され、代理署名装置22−θ(1)〜22−θ(k)がSigθ(1)〜Sigθ(k)(すなわち、Sig)を実行して署名s*を生成する。前述のように、部分集合Ksubsetの設定方法に制限はない。図4に例示するように、代理署名装置22−θ(j)(ただし、j∈{1,...,k})は、入力部121−θ(j)、判定部122−θ(j)、第1処理部224−θ(j)、第2処理部225−θ(j)、出力部126−θ(j)、記憶部127−θ(j)、制御部128−θ(j)、およびランダム値生成部223−θ(j)を有する。なお、その他の代理署名装置22−z(ただし、z∈{1,...,n})の構成も同様である(図4のθ(j)をzに置換した構成)。
図5に例示するように、本形態の署名検証装置23は、入力部131、検証情報生成部233、検証部134,138、出力部135、記憶部136、制御部137、およびランダム値生成部232を有する。
<処理>
次に各処理を説明する。
《Setup》
署名管理装置21のセットアップ部211は、第1実施形態で説明したように、param、g、H、(sk,vk)を生成して出力する。
セットアップ部111は、t=1,...,dについて以下を設定する。ただし、dは単調スパンプログラムを構成する行列Mの行のサイズLの最大値である。
DPVSのパラメータparamV(t)
paramV(t):=(q,V,V ,G,A,A ,e):=Gdpvs(1λ,8,param
ただし、G=Gの場合には、paramV(t):=(q,V,G,A,e)でもよい。
行列(χt,ι,ζι,ζ,(θt,ι,ζι,ζ
:=(χt,ι,ζι,ζGL(8,F
(θt,ι,ζι,ζ:=κ・(X −1
基底B,B*
Figure 2015136049
基底B ,B*^
Figure 2015136049
セットアップ部211は、msk:=({B* t∈{1,...,d},sk)、mpk:=({paramV(t),B^,B*t∈{1,...,d},g,vk,H)を生成して出力する。マスター秘密鍵mskは署名管理装置21の記憶部117に安全に格納される。マスター公開鍵mpkは、記憶部117に格納される他、代理署名装置22−1〜22nおよび署名検証装置23にも送られ、各装置で利用可能なように設定される。
《PSetup》
署名管理装置21は、第1実施形態で説明したように、アルゴリズムPSetupを用いて、一般アクセス構造(単調スパンプログラム)S:=(M,ρ)をもつ分散署名鍵を作成する(図6)。
図7に例示するように、署名管理装置21は、第1実施形態で説明したようにステップS112〜S114、およびS1141の処理を実行する。その後、署名管理装置21のランダム値生成部212は、R個の有限体Fの元からなり、0:=SE・f’(ただし、SE=M)となるR次元ベクトルf’ を得て出力する(ステップS212)。次に、分散値生成部213は、行列M及びR次元ベクトルf’を入力として、任意値(分散値)s’からなる(s’,…,s’:=M・(f’を得て出力する(ステップS213)。ここで、0=M(f、s’=M(f’(ただし、i∈{1,…,L})、およびM∈span<MΓ>であるため、分散値s’(ただし、i∈∪j∈{1,…,k}I(j))の線形結合は0である。言い換えると、第1実施形態で説明したα∈Fに対して
Figure 2015136049

を満たす。
署名部1141は、第1実施形態で説明したステップS1141の処理を実行し、鍵生成部215は、基底の集合{B* t∈{1,...,d}を用い、各i∈{1,...,L}に対して鍵
Figure 2015136049

を得て出力する(ステップS215)。
鍵生成部215は、部分集合I(z)(ただし、z∈{1,...,n})に対応する鍵k* からなる鍵集合{k* i∈I(z)を鍵sk={k* i∈I(z)とし、公開情報pkpsetup:=(g s0,text,σ,S:=(M,ρ))とし、分散署名鍵の集合{skpsetup(z)z∈{1,...,n}:={(pkpsetup,sk)}z∈{1,...,n}を得て出力する。各鍵sk={k* i∈I(z)は、それぞれに対応する代理署名装置22−z(ただし、z∈{1,...,n})へ安全に送られ、それぞれの記憶部127−zに格納される。pkpsetupは、各代理署名装置22−z(ただし、z∈{1,...,n})および署名検証装置23に送られ、各装置が利用可能なように設定される。
≪Sig≫
次に、k個の代理署名装置22−θ(1)〜22−θ(k)∈KsubsetがSigθ(1)〜Sigθ(k)(すなわち、Sig)を実行して署名s*を生成する処理を説明する(図3)。
まず、署名管理装置21の線形結合係数生成部116が、第1実施形態で説明した係数集合{αi∈I(j)を生成して出力する。各係数集合{αi∈I(j)は、例えば、対応する代理署名装置22−θ(j)に送られ、記憶部127−θ(j)に安全に格納される。或いは、すべての係数集合{αi∈I(j)が代理署名装置22−θ(j)(ただし、j∈{1,...,k})に送られて共有され、すべての記憶部127−θ(j)(ただし、j∈{1,...,k})に格納されてもよい。
その後、代理署名装置22−θ(1),...,代理署名装置22−θ(k)の順に、それぞれがSigθ(1),...,Sigθ(k)を実行する。
図8に例示するように、Sigθ(j)では、代理署名装置22−θ(j)(ただし、j∈{1,...,k})の入力部121−θ(j)に、署名対象の文書mと代理署名装置22−θ(j−1)から出力された代理署名情報{s* i,j−1i∈{1,…,L}が入力される(ステップS121−θ(j−1))。ただし、j=1の場合の代理署名情報{s* i,0i∈{1,…,L}は、初期設定されたs* i,0:=0の集合である。
ランダム値生成部223−θ(j)は、r1,j+…+rL,j=0の関係を満たすランダム値(ri,ji∈{1,...,L} およびr’1,j+…+r’L,j=0を満たすランダム値(r’i,ji∈{1,...,L} を得て出力する(ステップS223a−θ(j))。
ランダム値生成部223−θ(j)は、さらに、ランダム値(τi,ji∈{1,...,L} および(r* i,ji∈{1,...,L} を得て出力する(ステップS223b−θ(j))。
制御部128−θ(j)は、iを1に設定する(i:=1)(ステップS128a−θ(j))。次に、判定部122−θ(j)が文書mおよび要素s* i,j−1を入力とし、s* i,j−1∈I(j)であるかを判定する(ステップS122−θ(j))。i∈I(j)である場合、判定部122−θ(j)は、文書mおよび要素s* i,j−1を第1処理部224−θ(j)に送り、i∈I(j)ではないi∈{1,…,L}である場合、判定部122−θ(j)は、文書mおよび要素s* i,j−1を第2処理部225−θ(j)に送る。
第1処理部124−θ(j)は、記憶部127−θ(j)から係数αおよび鍵k* を抽出し、マスター公開鍵mpkと送られた要素s* i,j−1とランダム値ri,j,r’i,j,τi,j,r* i,jを用い、要素
Figure 2015136049

(ただし、i∈I(j))を得、文書mおよび要素s* i,jを出力する(ステップS224−θ(j))。
一方、第2処理部225−θ(j)は、マスター公開鍵mpkと送られた要素s* i,j−1とランダム値ri,j,r’i,j,τi,j,r* i,jを用い、要素
Figure 2015136049

(ただし、i∈I(j)ではないi∈{1,…,L})を得、文書mおよび要素s* i,jを出力する(ステップS225−θ(j))。
制御部128−θ(j)は、i=Lであるかを判定する(S128b−θ(j))。i≠Lであれば、制御部128−θ(j)はi+1を新たなiとし(i:=i+1)、処理をステップS122−θ(j)に戻す(ステップS128c−θ(j))。一方、i=Lであれば、出力部126−θ(j)は、i∈{1,...,L}についての要素s* i,jの集合を代理署名情報{s* i,ji∈{1,…,L}とし、文書mおよび代理署名情報{s* i,ji∈{1,…,L}を出力する。
1≦j<kである場合、代理署名装置22−θ(j)から出力された文書mおよび代理署名情報{s* i,ji∈{1,…,L}は、次の代理署名装置22−θ(j+1)の入力部121−θ(j+1)に入力される。j=kである場合、代理署名装置22−θ(k)の出力部126−θ(k)は、{s* i,ji∈{1,…,L}を署名{s* i∈{1,…,L}とし、文書mおよび署名s*=({s* i∈{1,…,L},g s0,text,σ)を出力する。
《Ver》
次に、署名検証装置23による署名s*の検証処理を説明する。
図9に例示するように、署名検証装置23の入力部121−θ(j)に文書mおよび署名s*が入力される(ステップS131)。文書mおよびtextは検証情報生成部233に送られ、署名s*の{s* i∈{1,…,L}およびg s0は検証部134に送られ、ディジタル署名σ、g s0およびtextは検証部138に送られる。
ランダム値生成部232は、ランダム値(ηi∈{1,…,L} および(τ’i∈{1,…,L} を得て出力する(ステップS232)。検証情報生成部233は、文書m、text、ランダム値(ηi∈{1,…,Lおよび(τ’i∈{1,…,L}を入力とし、υを任意値(定数またはランダム値)υ∈Fとし、i∈{1,…,L}について
Figure 2015136049

を得る。検証情報生成部233はcの集合である検証情報{ci∈{1,…,L}を出力する(ステップS233)。以降の処理は第1実施形態と同じである。
<正しく生成された署名{s* i∈{1,…,L}が式(16)を満たす理由>
本形態の場合、式(16)を変形すると以下のようになる。
Figure 2015136049
式(14)(21)の関係、(ri,ji∈{1,...,L}および(r’i,ji∈{1,...,L}がr1,j+…+rL,j=0およびr’1,j+…+r’L,j=0の関係を満たすことから、式(22)は以下のように変形できる。
Figure 2015136049
[変形例等]
なお、本発明は上述の実施の形態に限定されるものではない。例えば、各装置がネットワークを通じて情報をやり取りするのではなく、少なくとも一部の組の装置が可搬型記録媒体を介して情報をやり取りしてもよい。或いは、少なくとも一部の組の装置が非可搬型の記録媒体を介して情報をやり取りしてもよい。すなわち、これらの装置の一部からなる組み合わせが、同一の装置であってもよい。例えば、複数個の代理署名装置が同一のコンピュータ上に実装されてもよいし、少なくとも一部の代理署名装置と署名検証装置とが同一のコンピュータ上に実装されてもよい。
また、上述したランダム値に代えて定数等の任意値が用いられてもよい。また、安全性の観点から有限体Fの位数と群G,G*,Gの位数とが同一であることが好ましいが、これらの位数が互いに異なっていてもよい。また、安全性の観点から位数は素数であることが好ましいが、位数が素数以外の正の整数であってもよい。また、通常のディジタル署名を用いない構成であってもよい。有限体に代えて有限環を用いてもよい。また、署名管理装置11が係数集合{αi∈I(j)を生成するのではなく、何れかの代理署名装置、署名検証装置、その他の装置が係数集合{αi∈I(j)を生成してもよい。
また、第1実施形態において、νi,1,1が0以外のランダム値であり、νi,1,2,…,νi,1,N(i)が任意値であり、{b〜* i,1i∈I(j)がb〜* i,1:=νi,1,1* i,1+νi,1,2* i,2+…+νi,1,N(i)* i,1,N(i)の集合であり、b* i,1は秘匿されており、第1処理部124−θ(j)と第2処理部125−θ(j)は、{bi,2,…,bi,N(i)i∈I(j)の少なくとも一部と集合{b〜* i,1i∈I(j)とを用いて要素s* i,jを得てもよい。これにより、少なくともb* i,1が秘匿されるため、安全性が向上する。
上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。例えば、第2実施形態のステップS223b−θ(j)に代えて、ステップS122−θ(j)とステップS224−θ(j),S225−θ(j)との間にτi,jおよびr* i,jを得てもよい。その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。
上述の構成をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。このプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体の例は、非一時的な(non-transitory)記録媒体である。このような記録媒体の例は、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等である。
このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。処理の実行時、このコンピュータは、自己の記録装置に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。
上記実施形態では、CPU等のハードウェアプロセッサやRAM等のメモリを有するコンピュータ上で所定のプログラムを実行させて本装置の処理機能が実現されたが、これらの処理機能の少なくとも一部がハードウェアで実現されてもよい。
1,2 代理署名システム
11,21 署名管理装置(鍵生成装置)
12−1〜12−n,22−1〜22−n 代理署名装置
13,23 署名検証装置

Claims (13)

  1. Lが1以上の整数であり、kが1以上の整数であり、j∈{1,…,k}であり、I(j)が{1,…,L}の部分集合であり、{si∈{1,…,L}が任意値sの集合であり、前記部分集合I(j)の和集合∪j∈{1,…,k}I(j)に対応する前記任意値sの線形結合が値sであり、鍵集合{k* i∈I(j)が前記任意値sに対応する鍵k* の集合であり、{s* i,0i∈{1,…,L}が初期設定されており、
    i∈I(j)について、入力された代理署名情報{s* i,j−1i∈{1,…,L}の要素s* i,j−1と前記鍵集合{k* i∈I(j)とを用い、署名対象に対応する要素s* i,jを得る第1処理部と、
    i∈I(j)ではないi∈{1,…,L}について、前記代理署名情報{s* i,j−1i∈{1,…,L}の要素s* i,j−1を用い、前記署名対象に対応する要素s* i,jを得る第2処理部と、を有し、
    前記要素s* i,jの集合を代理署名情報{s* i,ji∈{1,…,L}とする、代理署名装置。
  2. Lが1以上の整数であり、kが1以上の整数であり、j∈{1,…,k}であり、I(j)が{1,…,L}の部分集合I(j)であり、{si∈{1,…,L}が任意値sの集合であり、{αi∈I(j)が係数αの集合であり、s
    Figure 2015136049

    を満たす値であり、eが双線形写像であり、v=wならばδ(v,w)=1であり、v≠wならばδ(v,w)=0であり、基底(bi,1,…,bi,N(i))および基底(b* i,1,…,b* i,N(i))に対し、e(bi,v,b* i,w)=g δ(v,w)を満たし、N(i)が1以上の整数であり、{βi,ιι∈{1,…,N(i)}が係数βi,ιの集合であり、鍵集合{k* i∈I(j)が鍵k* :=(s+βi,1)b* i,1+βi,2* i,2+…+βi,N(i)* i,N(i)の集合であり、{λi,ιι∈{1,…,N(i)}が係数λi,ιの集合であり、s* i,0:=λi,1* i,1+λi,2* i,2+…+λi,N(i)* i,N(i)であり、{γi,j,ιι∈{1,…,N(i)}が、署名対象に対応する情報を要素に含む第1集合に対応する係数集合であり、
    i∈I(j)について、入力された代理署名情報{s* i,j−1i∈{1,…,L}に対して要素s* i,j:=s* i,j−1+α* +γi,j,1* i,1+γi,j,2* i,2+…+γi,j,N(i)* i,N(i)を得る第1処理部と、
    i∈I(j)ではないi∈{1,…,L}について、入力された代理署名情報{s* i,j−1i∈{1,…,L}に対して要素s* i,j:=s* i,j−1+γi,j,1* i,1+γi,j,2* i,2+…+γi,j,N(i)* i,N(i)を得る第2処理部と、を有し、
    前記要素s* i,jの集合を代理署名情報{s* i,ji∈{1,…,L}とする、代理署名情報生成部と、
    を有する代理署名装置。
  3. 請求項2の代理署名装置であって、
    前記署名対象に対応する情報を要素に含む第2集合に対応する係数集合{υi,ιι∈{1,…,N(i)}に対して
    Figure 2015136049

    の関係を満たす代理署名装置。
  4. 請求項2または3の代理署名装置であって、
    νi,1,1が0以外のランダム値であり、νi,1,2,…,νi,1,N(i)が任意値であり、{b〜* i,1i∈I(j)がb〜* i,1:=νi,1,1* i,1+νi,1,2* i,2+…+νi,1,N(i)* i,1,N(i)の集合であり、
    * i,1は秘匿されており、前記第1処理部と前記第2処理部は、{bi,2,…,bi,N(i)i∈I(j)の少なくとも一部と前記集合{b〜* i,1i∈I(j)とを用い、前記要素s* i,jを得る代理署名装置。
  5. 請求項2から4の何れかの代理署名装置であって、
    N(i)=8であり、βi,1=βi,3=βi,4=βi,5=βi,6=βi,8=0、βi,2=s’、βi,7=φであり、φがランダム値であり、
    Figure 2015136049

    を満たし、s* i,0=0であり、
    γi,j,1=ri,jπ、γi,j,2=r’i,j、γi,j,3=τi,j、γi,j,4=τi,jMes、γi,j,7=ri,jφ i,1+r* 、γi,j,5=γi,j,6=γi,j,8=0であり、前記署名対象に対応する情報がMesであり、π,τi,j,φ i,1,r* ,ri,j,r’i,jがランダム値であり、r1,j+…+rL,j=0およびr’1,j+…+r’L,j=0を満たす、代理署名装置。
  6. Lが1以上の整数であり、i∈{1,…,L}であり、
    署名対象に対応する検証情報{ci∈{1,…,L}を生成する検証情報生成部と、
    前記検証情報{ci∈{1,…,L}および入力された署名{s* i∈{1,…,L}={s* i,ki∈{1,…,L}に対する双線形写像の像が、入力されたs対応値となるかを判定する検証部と、
    を有する署名検証装置。
  7. Lが1以上の整数であり、sが任意値であり、eが双線形写像であり、v=wならばδ(v,w)=1であり、v≠wならばδ(v,w)=0であり、i∈{1,…,L}であり、基底(bi,1,…,bi,N(i))および基底(b* i,1,…,b* i,N(i))に対し、e(bi,v,b* i,w)=g δ(v,w)を満たし、N(i)が1以上の整数であり、
    署名対象に対応する情報を要素に含む第2集合に対応する係数集合{υi,ιι∈{1,…,N(i)}から、c:=υi,1i,1+…+υi,N(i)i,N(i)の集合である検証情報{ci∈{1,…,L}を得る検証情報生成部と、
    前記検証情報{ci∈{1,…,L}、入力された署名{s* i∈{1,…,L}、および値g s0
    Figure 2015136049

    を満たすかを判定する検証部と、
    を有する署名検証装置。
  8. 請求項7の署名検証装置であって、
    N(i)=8であり、υi,1=1、υi,2=υ、υi,3=τ’Mes、υi,4=−τ’、υi,8=η、υi,5=υi,6=υi,7=0であり、前記署名対象に対応する情報がMesであり、τ’,ηがランダム値であり、υが任意値である、署名検証装置。
  9. R,Lが1以上の整数であり、MがL×R行列であり、SEがR個の任意値からなる復元ベクトルであり、N(i)が1以上の整数であり、{βi,ιι∈{1,…,N(i)}が係数βi,ιの集合であり、(b* i,1,…,b* i,N(i))が基底であり、(・)が(・)の転置であり、
    R個の任意値からなるベクトルfを得る任意値生成部と、
    (s,…,s:=M・(fを得る分散値生成部と、
    :=SE・fを得る復元値生成部と、
    鍵k* :=(s+βi,1)b* i,1+βi,2* i,2+…+βi,N(i)* i,N(i)を得る鍵生成部と、
    を有する鍵生成装置。
  10. n個の代理署名装置U(1),…,U(n)と署名検証装置とを有し、
    nおよびLが1以上の整数であり、kが1以上のn以下の整数であり、{U(θ(1)),…,U(θ(k))}⊆{U(1),…,U(n)}であり、j∈{1,…,k}であり、前記代理署名装置U(θ(j))が{1,…,L}の部分集合I(j)に対応し、{si∈{1,…,L}が任意値sの集合であり、前記部分集合I(j)の和集合∪j∈{1,…,k}I(j)に対応する前記任意値sの線形結合が値sであり、鍵集合{k* i∈I(j)が前記任意値sに対応する鍵k* の集合であり、{s* i,0i∈{1,…,L}が初期設定されており、
    前記代理署名装置U(θ(j))は、
    i∈I(j)について、入力された代理署名情報{s* i,j−1i∈{1,…,L}の要素s* i,j−1と前記鍵集合{k* i∈I(j)とを用い、署名対象に対応する要素s* i,jを得、i∈I(j)ではないi∈{1,…,L}について、前記代理署名情報{s* i,j−1i∈{1,…,L}の要素s* i,j−1を用い、前記署名対象に対応する要素s* i,jを得、前記要素s* i,jの集合を代理署名情報{s* i,ji∈{1,…,L}とし、
    前記署名検証装置は、
    前記署名対象に対応する検証値cおよび入力された署名{s* i∈{1,…,L}={s* i,ki∈{1,…,L}に対する双線形写像の像が、前記値sに対応する値となるかを判定する、代理署名システム。
  11. n個の代理署名装置U(1),…,U(n)と署名検証装置とを有し、
    nおよびLが1以上の整数であり、kが1以上のn以下の整数であり、{U(θ(1)),…,U(θ(k))}⊆{U(1),…,U(n)}であり、j∈{1,…,k}であり、前記代理署名装置U(θ(j))が{1,…,L}の部分集合I(j)に対応し、sが任意値であり、{si∈{1,…,L}が任意値sの集合であり、係数集合{αi∈I(j)が係数αの集合であり、
    Figure 2015136049

    を満たし、eが双線形写像であり、v=wならばδ(v,w)=1であり、v≠wならばδ(v,w)=0であり、基底(bi,1,…,bi,N(i))および基底(b* i,1,…,b* i,N(i))に対し、e(bi,v,b* i,w)=g δ(v,w)を満たし、N(i)が1以上の整数であり、係数集合{βi,ιι∈{1,…,N(i)}が係数βi,ιの集合であり、鍵集合{k* i∈I(j)が鍵k* :=(s+βi,1)b* i,1+βi,2* i,2+…+βi,N(i)* i,N(i)の集合であり、係数集合{λi,ιι∈{1,…,N(i)}が係数λi,ιの集合であり、s* i,0:=λi,1* i,1+λi,2* i,2+…+λi,N(i)* i,N(i)であり、{γi,j,ιι∈{1,…,N(i)}が、署名対象に対応する情報を要素に含む第1集合に対応する係数集合であり、
    前記代理署名装置U(θ(j))は、
    入力された代理署名情報{s* i,j−1i∈{1,…,L}に対し、i∈I(j)について要素s* i,j:=s* i,j−1+α* +γi,j,1* i,1+γi,j,2* i,2+…+γi,j,N(i)* i,N(i)を得、i∈I(j)ではないi∈{1,…,L}について要素s* i,j:=s* i,j−1+γi,j,1* i,1+γi,j,2* i,2+…+γi,j,N(i)* i,N(i)を得て、前記要素s* i,jの集合を代理署名情報{s* i,ji∈{1,…,L}とし、
    前記署名検証装置は、
    前記署名対象に対応する情報を要素に含む第2集合に対応する係数集合{υi,ιι∈{1,…,N(i)}から得られるc:=υi,1i,1+…+υi,N(i)i,N(i)の集合である検証情報{ci∈{1,…,L}、前記代理署名装置U(θ(k))から出力された代理署名情報{s* i,ki∈{1,…,L}である署名{s* i∈{1,…,L}、および入力された値g s0
    Figure 2015136049

    を満たすかを判定する、代理署名システム。
  12. 請求項11の代理署名システムであって、
    Figure 2015136049

    の関係を満たす代理署名システム。
  13. 請求項1から5の何れかの代理署名装置、請求項6から8の何れかの署名検証装置、または請求項9の鍵生成装置としてコンピュータを機能させるためのプログラム。
JP2014006738A 2014-01-17 2014-01-17 代理署名装置、署名検証装置、鍵生成装置、代理署名システム、およびプログラム Active JP6087849B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014006738A JP6087849B2 (ja) 2014-01-17 2014-01-17 代理署名装置、署名検証装置、鍵生成装置、代理署名システム、およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014006738A JP6087849B2 (ja) 2014-01-17 2014-01-17 代理署名装置、署名検証装置、鍵生成装置、代理署名システム、およびプログラム

Publications (2)

Publication Number Publication Date
JP2015136049A true JP2015136049A (ja) 2015-07-27
JP6087849B2 JP6087849B2 (ja) 2017-03-01

Family

ID=53767644

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014006738A Active JP6087849B2 (ja) 2014-01-17 2014-01-17 代理署名装置、署名検証装置、鍵生成装置、代理署名システム、およびプログラム

Country Status (1)

Country Link
JP (1) JP6087849B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114726552A (zh) * 2022-06-07 2022-07-08 杭州天谷信息科技有限公司 一种数字签名权转移方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006203825A (ja) * 2005-01-24 2006-08-03 Toshiba Corp 電子署名システム、電子署名方法及びプログラム
US20090327735A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Unidirectional multi-use proxy re-signature process
JP2012155088A (ja) * 2011-01-25 2012-08-16 Mitsubishi Electric Corp 署名処理システム、鍵生成装置、署名装置、検証装置、署名処理方法及び署名処理プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006203825A (ja) * 2005-01-24 2006-08-03 Toshiba Corp 電子署名システム、電子署名方法及びプログラム
US20090327735A1 (en) * 2008-06-26 2009-12-31 Microsoft Corporation Unidirectional multi-use proxy re-signature process
JP2012155088A (ja) * 2011-01-25 2012-08-16 Mitsubishi Electric Corp 署名処理システム、鍵生成装置、署名装置、検証装置、署名処理方法及び署名処理プログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
AMOS BEIMEL, ET AL.: "Lower Bounds for Monotone Span Programs", PROCEEDINGS., 36TH ANNUAL SYMPOSIUM ON FUNDATIONS OF COMPUTER SCIENCE, 1995, JPN6016046357, 23 October 1995 (1995-10-23), US, pages 674 - 681, ISSN: 0003484613 *
TADATOSHI TANIMURA, ET AL.: "Proxy Signatures for General Access Structures", 2014年 暗号と情報セキュリティシンポジウム SCIS2014 [CD−ROM], vol. 1C3−2, JPN6016046360, 21 January 2014 (2014-01-21), JP, pages 1 - 8, ISSN: 0003484614 *
満保 雅浩: "閾値(委任)署名の匿名性に関する考察", 電子情報通信学会技術研究報告, vol. 99, no. 701, JPN6011030133, 16 March 2000 (2000-03-16), JP, pages 95 - 100, ISSN: 0003484611 *
藤井 裕城 ほか: "ペアリングを用いた効率的な属性ベースグループ署名方式の提案", 電子情報通信学会技術研究報告, vol. 109, no. 271, JPN6016046356, 5 November 2009 (2009-11-05), JP, pages 15 - 22, ISSN: 0003484612 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114726552A (zh) * 2022-06-07 2022-07-08 杭州天谷信息科技有限公司 一种数字签名权转移方法和系统
CN114726552B (zh) * 2022-06-07 2022-10-11 杭州天谷信息科技有限公司 一种数字签名权转移方法和系统

Also Published As

Publication number Publication date
JP6087849B2 (ja) 2017-03-01

Similar Documents

Publication Publication Date Title
Huang et al. Achieving accountable and efficient data sharing in industrial internet of things
US20190394039A1 (en) Matching system, method, apparatus, and program
KR101431412B1 (ko) 서명 처리 시스템, 키 생성 장치, 서명 장치, 검증 장치, 서명 처리 방법 및 서명 처리 프로그램을 기록한 컴퓨터 판독 가능한 기록 매체
JP5814880B2 (ja) 暗号システム、暗号方法、暗号プログラム及び復号装置
JP2012203182A (ja) 暗号処理システム、鍵生成装置、暗号化装置、復号装置、暗号処理方法及び暗号処理プログラム
CN105141419B (zh) 大属性域的属性基签名方法及系统
JP7147073B2 (ja) より効率的なポスト量子署名
WO2007105749A1 (ja) グループ署名システムおよび情報処理方法
Petit et al. On the potential of PUF for pseudonym generation in vehicular networks
EP2675107A1 (en) Encryption processing system, key generation device, encryption device, decryption device, key delegation device, encryption processing method, and encryption processing program
JP6053983B2 (ja) 暗号システム、署名システム、暗号プログラム及び署名プログラム
JP2016134826A (ja) 鍵配送管理装置、端末装置、鍵配送システム、およびプログラム
JP6087849B2 (ja) 代理署名装置、署名検証装置、鍵生成装置、代理署名システム、およびプログラム
CN107005406B (zh) 函数型加密系统、主密钥更新装置和存储介质
JP5679344B2 (ja) 署名鍵難読化システム、署名鍵難読化方法、難読化された署名鍵を用いた暗号化署名システム、難読化された署名鍵を用いた暗号化署名方法とプログラム
JP2014157354A (ja) 線形準同型な構造保存署名を生成および検証する暗号学的装置および方法
EP2790352B1 (en) Signature verification system, signature device, verification device, and signature verification method
JP2017038336A (ja) 復号方法
JP5227764B2 (ja) 電子署名検証システム、電子署名装置、検証装置、電子署名検証方法、電子署名方法、検証方法、電子署名プログラム、検証プログラム
JP6228912B2 (ja) ブラインド秘密鍵発行システム、ブラインドデータ検索システム、これらの方法、鍵生成サーバ、復号装置及びプログラム
Doegar et al. On-demand digital signature schemes using Multivariate Polynomial systems
JP6148205B2 (ja) 署名システム、署名生成装置、署名検証装置、署名方法、およびプログラム
JPWO2017170780A1 (ja) 暗号文照合システム、ノード装置、暗号文照合方法、およびプログラム
Qiu et al. Privacy-Preserving Traceable Functional Encryption for Inner Product
JP5325126B2 (ja) 署名生成装置、署名検証装置、再リンク鍵生成装置、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170117

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170202

R150 Certificate of patent or registration of utility model

Ref document number: 6087849

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150