JP2008098933A - 鍵生成装置、匿名署名生成装置、署名検証装置、管理装置、匿名署名方法及びプログラム - Google Patents
鍵生成装置、匿名署名生成装置、署名検証装置、管理装置、匿名署名方法及びプログラム Download PDFInfo
- Publication number
- JP2008098933A JP2008098933A JP2006277964A JP2006277964A JP2008098933A JP 2008098933 A JP2008098933 A JP 2008098933A JP 2006277964 A JP2006277964 A JP 2006277964A JP 2006277964 A JP2006277964 A JP 2006277964A JP 2008098933 A JP2008098933 A JP 2008098933A
- Authority
- JP
- Japan
- Prior art keywords
- signature
- anonymous signature
- unit
- anonymous
- value
- 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
Links
Images
Abstract
【解決手段】各匿名署名生成装置に公開鍵y(w),秘密鍵x(w),追跡鍵t(w)を生成する。x(w)は任意整数、y(w)は楕円スカラー倍算値y(w)=x(w)・g1∈G1、t(w)は楕円スカラー倍算値y(w)=x(w)・g2∈G2である。匿名署名生成装置は、自らの秘密鍵x(i)と署名グループを構成する他の匿名署名生成装置の公開鍵y(j)とを用い、巡回群G1の4つの元(g1,y(i),h,σ(i))∈G14の組のみがDDH tupleの集合となるように、署名グループを構成する全ての匿名署名生成装置についての(g1,y(k),h,σ(k))を生成し、これらを含む匿名署名σを生成する。管理装置30がその匿名署名σの匿名性を無効にする場合は、すべてのk∈Lの追跡鍵t(k)を用い、e(h,t(k))=e(σ(k),g2)=1となるk=iを検出し、真の匿名署名生成装置を検出する。
【選択図】図5
Description
このような計算量理論に基づく情報セキュリティ技術の1つに、署名者の匿名性を守りつつ電子署名を行う匿名署名がある。この匿名署名には大別して以下の2つの方法がある。
・署名が確かにグループのメンバーによって作成されたことを第三者が検証できる。
・署名がメンバーの誰によって作成されたかに関する情報を第三者は得ることができない。
・グループ管理者は署名がメンバーの誰によって作成されたかを知ることができる。
・署名のグループを決定する為に予めグループ管理者と通信する必要がある。
なお、この最後の性質は、グループからメンバーを排除したり新たにメンバーを加えたり、グループメンバの一部だけを含む子グループを作成する場合にもグループ管理者と通信する必要があることを意味している。
・署名が確かにグループのメンバーによって作成されたことを第三者が検証できる。
・署名がメンバーの誰によって作成されたかに関する情報を第三者は得ることができない。
・グループ管理者は存在しない。グループは公開鍵リストの中から署名者が任意に指定できる。
この方法にはグループ管理者が存在しない。署名者は、自身が所有する公開鍵リストから任意に公開鍵を選び、自分の公開鍵、秘密鍵、及び選んだ公開鍵から自分を含む任意のグループに関して匿名署名を生成できる。
David Chaum, Eugene van Heyst: Group Signatures. EUROCRYPT 1991: 257-265 Ronald L. Rivest, Adi Shamir, Yeal Tauman: How to Leak a Secret. ASIACRYPT 2001: 552-565
一方、従来のリング署名の場合、グループ管理者が存在しないので署名者の匿名性が完全に保たれてしまう。そのため、例えば、悪意を持ったメンバーが勝手にグループを作って匿名署名を発行してしまう等の不正行為が行われても、その悪意のメンバーを追跡することができず、そのような不正行為を防止することができない。
本発明はこのような点に鑑みてなされたものであり、予めグループを登録しておくことなく、署名者が任意にグループを指定可能でありながら、グループ管理者が悪意のメンバーを追跡でき、なおかつ安全性要件を満たす匿名署名技術を提供することを目的とする。
〔原理〕
本発明では、署名クループを構成し得るn個(n≧2)の匿名署名生成装置w∈N(N={0,…,n−1})が存在し、そのうちu(2≦u≦n)個の匿名署名生成装置k∈L(L={0,…,u−1})で署名クループを構成し、当該署名グループに属するi番目(i∈L,L={0,…,u−1})の匿名署名生成装置が匿名署名を生成し、署名検証装置がその匿名署名を検証し、必要に応じてグループ管理者の管理装置がその匿名署名の匿名性を無効にする。なお、匿名署名生成装置wとは、w番目の匿名署名生成装置を意味する。まず、本発明の原理について説明する。
本発明は、Revocableリング署名方式の一種である。この方式には2種類の非公開の鍵x,tと1種類の公開鍵yとが存在する。非公開な鍵xは署名者が匿名署名であるリング署名を生成するときに用いる秘密鍵xであり、他の非公開な鍵tはグループ管理者が真に署名を生成したものを特定するときに用いる追跡鍵tである。
また、管理装置が署名者を追跡する場合、メッセージmと匿名署名σ(必要に応じてL⊆N)とが管理装置に入力され、管理装置は、これらと各追跡鍵t(k)及び各公開鍵y(k)(k∈L)とを用い、匿名署名σを生成した匿名署名生成装置に対応するiの集合S⊂Lを検出し、出力する。
すなわち、Revocableリング署名方式は、以下の4つのアルゴリズムの組Σ=(Gen,Sig,Ver,Rev)のことである。
鍵生成アルゴリズムGenは、確率的多項式時間アルゴリズムであり、自然数のセキュリティパラメータκ(及びランダムテープ)を入力とし、それぞれビット長κの(公開鍵,秘密鍵,追跡鍵)=(y(w),x(w),t(w))を出力する。
Gen(1κ)→(y(w),x(w),t(w))
署名生成アルゴリズムSigは、確率的多項式時間アルゴリズムであり、秘密鍵x(i)(i∈L)と各公開鍵y(j)(j∈L,j≠i)の集合と署名対象のメッセージm∈{0,1}*とを入力とし、匿名署名σを出力する。なお、(y(j))j∈L,j≠iは、j∈L,j≠iを満たすy(j)を要素とするベクトルである。
Sig(x(i),(y(j))j∈L,j≠i,m)→σ
署名検証アルゴリズムVerは、確率的多項式時間アルゴリズムであり、公開鍵y(k)(k∈L)の集合とメッセージm∈{0,1}*と匿名署名σとを入力とし、1bitの0又は1を出力する。
Ver(y(k)k∈L,m,σ)→0又は1
追跡アルゴリズムRevは、確率的多項式時間アルゴリズムであり、追跡鍵t(k)(k∈L)の集合と公開鍵y(k)(k∈L)の集合とメッセージm∈{0,1}*と匿名署名σとを入力とし、匿名署名σを生成した匿名署名生成装置に対応するiの集合S⊂Lを出力する。
Rev(t(k)k∈L,y(k)k∈L,m,σ)→S
上記のようなアルゴリズムの4つ組みならばどのような組でも形式的にはRevocableリング署名である。しかし、安全なRevocableリング署名であるためには、さらに次の4つの安全性要件(完全性、匿名性、偽造不可能性、Exculpability)が必要である。
Revocableリング署名の完全性は次のように定義される。
・∀L⊂N,∀w∈N,∀m∈{0,1}*に対して圧倒的確率で
Ver((y(k))k∈L,m,Sig(x(i),(y(j))j∈L,j≠i,m))=1を満たす。
・∀L⊂N,∀w∈N,∀m∈{0,1}*に対して圧倒的確率で
Rev(t(k)k∈L,y(k)k∈L,m,Sig(x(i),(y(j))j∈L,j≠i,m)={i}を満たす。
Revocableリング署名の匿名性は次のように定義される。
まず、以下の形式的な確率的多項式時間アルゴリズムDに関するゲームを考察する。ゲームの始めにGen(1κ)→(y(w),x(w),t(w))(w∈N)が生成され、ランダムなビットb∈{0,1}が選ばれる。確率的多項式時間アルゴリズムDは、入力としてy(0),y(1)及び(y(w’),x(w’),t(w’))(w’=2,...,n−1)を受け取り、以下のステップを実行する。
Revocableリング署名の偽造不可能性は次のように定義される。
まず、以下の形式的な確率的多項式時間アルゴリズムFに関するゲームを考察する。ゲームの始めにGen(1κ)→(y(w),x(w),t(w))(w∈N)が生成され、確率的多項式時間アルゴリズムFは入力として(y(w),t(w))w=0,...,n−1を受け取り、以下のステップを実行する。
Revocableリング署名のExculpabilityは次のように定義される。
まず、以下の形式的な確率的多項式時間アルゴリズムAに関するゲームを考察する。ゲームの始めにGen(1κ)→(y(w),x(w),t(w))(w∈N)が生成され、確率的多項式時間アルゴリズムAは、入力としてy(0),t(0)及び(y(w’’),x(w’’),t(w’’))(w’’=1,...,n−1)を受け取り、以下のステップを実行する。
本発明では、上述のように定義した安全性を有するRevocableリング署名方式を、CDH仮定付きTrapdoor DDH Groupを用いて実現する。
[Trapdoor DDH Group]
Trapdoor DDH Groupとは、以下の性質を満たす巡回群Gのことである。
・巡回群Gの元に対してトラップドアと呼ぶ値が存在する。
・トラップドアを具備しない者は、巡回群Gの元に関するDDH問題を多項式時間で解くことができない。
・トラップドアを具備する者は、巡回群Gの元に関するDDH問題を多項式時間で解くことができる。しかし、トラップドアを具備する者であっても、巡回群Gの元に関するCDH問題や離散対数問題を多項式時間で解くことはできない。
また、離散対数問題とは、巡回群Gの2つの元(g,y)に対し、xを求める問題である。ここで、Gが乗法群ならばy=gxを満たすxが正解となり、Gが加法群ならばy=x・gを満たすxが正解となる。
巡回群Gが以下の条件を満たす場合に限り、その巡回群GをCDH仮定付きTrapdoor DDH Groupと呼ぶ。
・2つの多項式時間アルゴリズム(GenTD,SolveDDH)が存在する。ここで、GenTDはトラップドア生成アルゴリズムであり、g’∈G’及びx∈Zpを入力としてトラップドアtを出力する確率的多項式時間アルゴリズム(GenTD(g’,x)=t)である。また、SolveDDHは、DDH解決アルゴリズムであり、t及び(g,y,h,σ)∈Gを入力とし、(g,y,h,σ)に対するDDH問題を解き、0又は1を出力するアルゴリズム(SolveDDH(t,g,y,h,σ)=0又は1)である。
AdvDDH(B)=|Pr[b∈U{0,1},X∈Db:B(X)=b]-1/2|
は無視しうるほど小さい。なお、Db=(g(b),y(b),h(b),σ(b))であり、b∈U{0,1}は、bが{0,1}から任意に選択された数であることを示す。
AdvCDH(C)=Pr[g,x∈UZp,t=GenTD(g,x):C(t,g,y,h)=σ]
は無視しうるほど小さい。
本発明では、楕円曲線を用いてTrapdoor DDH Groupを構成する。楕円曲線を用いるとbilinear groupと呼ばれる以下の同型写像e,ψをもつ巡回群の組G1,G2,G3を作れることがよく知られている(参考文献1:「T.Saito, F.Hoshino, S.Uchiyama, "Candidate One-Way Functions on Non-Supersingular Elliptic Curves," Technical Report of IEICE. ISEC 2003-65 (2003-09)」)。
・ψは同型写像ψ:G2→G1
eをペアリング(pairing)関数と呼ぶ(詳細は後述)。本発明では、このような巡回群G1,G2を用いてTrapdoor DDH Groupを構成し、前述のように定義した安全性を有するRevocableリング署名方式を構成する。以下、巡回群G1,G2の構成方法を例示する。
まず、位数q(一般的にqは素数)の有限体Fq上で定義された楕円曲線について説明する。
一般に、有限体Fq上で定義された楕円曲線E/Fqとは、a1,a2,a3,a4,a6∈E/Fqとして、等式
E/Fq: y2+a1・x・y+a3・y=x3+a2・x2+a4・x+a6 …(1)
を満たす点(x,y)の集合に無限遠点と呼ばれる特別な点Oを付加したものである。有限体Fq上に定義された楕円曲線E/Fq上の任意の2点に対して楕円加算と呼ばれる二項演算+及び楕円曲線E/Fq上の任意の1点に対して楕円逆元と呼ばれる単項演算−がそれぞれ定義できる。また、この楕円加算に関して群をなすこと及び楕円加算を用いて楕円スカラー倍算と呼ばれる演算が定義できることはよく知られている。
ここでpを素数とし、楕円曲線E/Fq上の点Rのうち、楕円曲線E/Fq上での楕円スカラー倍算値p・Rがp・R=Oを満たす点Rの集合を楕円曲線E/Fqのp等分点と呼び、E[p]と記述する。E[p]はE/Fqの部分群である。
なお、本発明に用いる楕円曲線E/Fqは、非trace-2の非超特異楕円曲線であることが望ましい。trace-2の楕円曲線及び超特異楕円曲線では、巡回群上のDDH問題を多項式時間で解くアルゴリズムが知られており、署名の安全性要件を満たさなくなるからである。
次に、楕円曲線のフロベニウス写像について説明する。
楕円曲線E/Fq上の任意の点R=(x,y)及び無限遠点Oに対し、q乗のフロベニウス写像φは、
参考文献2:「イアン・F・ブラケ,ガディエル・セロッシ,ナイジェル・P・スマート=著、鈴木治郎=訳,「楕円曲線暗号」,出版=ピアソン・エデュケーション,ISBN4-89471-431-0,p112」にあるように、フロベニウス写像φは楕円曲線E/Fq上の点R=(x,y)∈E(Fq m)に対して、
(φ2‐t・φ+q)・R=O …(3)
を満たす(ただし、tは、q,a1,a2,a3,a4,a6によって一意に決定される整数であり、トレースと呼ばれる)。ここで、フロベニウス写像φに関する多項式φ2‐t・φ+qを特性多項式と呼ぶ。楕円曲線をE[p]に限定すると、楕円スカラー倍はZ/pZで考えればよい。Z/pZ係数の特性多項式は分解体上で、
φ2‐t・φ+q=(φ‐λ1)(φ‐λ2) …(4)
と分解でき、λ1、λ2をフロベニウス写像φの固有値と呼ぶ。以下においては、λ1、λ2∈Z/pZでかつλ1≠λ2である場合を考える。線形空間であるE[p]の線形変換関数ψλ1,ψλ2(ただし、下付き添え字のλ1及びλ2は、それぞれλ1及びλ2を表す。)を
ψλ1=(λ1‐λ2)-1(φ‐λ2) …(5)
ψλ2=(λ2‐λ1)-1(φ‐λ1) …(6)
と定義すると、任意のE[p]上の点Rに対して、
P=ψλ1R=(λ1‐λ2)-1(φR‐λ2R) …(7)
Q=ψλ2R=(λ2‐λ1)-1(φR‐λ1R) …(8)
なるE[p]上の点P,Qが存在する。
次に、ペアリング(pairing)関数について説明する。
μpを、楕円曲線の定義体の代数閉体上の乗法単位元1のp乗根の作る乗法群とする。参考文献3:「Alfred. J. Menezes,ELLIPTIC CURVE PUBLIC KEY CRYPTOSYSTEMS, KLUWER ACADEMIC PUBLISHERS, ISBN0-7923-9368-6,pp. 61-81」に示すように、ペアリング関数eとは、
e:E[p]×E[p]=μp …(9)
なる関数であり、次の性質を持つ。
[1]E[p]上の任意の点R1に対して、e(R1,R1)=1が成り立つ。
[2]E[p]上の任意の2点R1、R2に対して、e(R1,R2)=e(R2,R1)−1が成り立つ。
[3]E[p]上の任意の3点R1,R2,R3に対して、e(R1+R2,R3)=e(R1,R3)e(R2,R3)であり、e(R1,R2+R3)=e(R1,R2)e(R1,R3)が成り立つ。
[4]E[p]上の任意の点R1に対して、e(R1,O)=1が成り立つ。
[5]E[p]上のある点R1がE[p]上のすべての点R2に対して、e(R1,R2)=1を満たすなら、R1=Oが成り立つ。
参考文献4:「A. Miyaji, M. Nakabayashi, S.Takano, "New explicit conditions of elliptic curve Traces for FR-Reduction," IEICE Trans. Fundamentals, vol. E84-A, no05, pp. 1234-1243, May 2001」
参考文献5:「M. Scott, P. S. L. M. Barreto, "Generating more NMT elliptic curve s," http://eprint .iacr. org/2004/058/」
参考文献6:「P.S.L.M. Barreto, B. Lynn, M. Scott, "Constructing elliptic curves with prescribed embedding degrees," Proc. SCN '2002, LNCS 2576, pp.257-267, Springer-Verlag. 2003」
参考文献7:「R. Dupont, A. Enge, F. Morain, "Building curves with arbitrary small MOV degree over finite prime fields," http://eprint.iacr.org/2002/094/」
本発明では、楕円曲線E/Fq上の点からなるいずれかの巡回群G1をCDH仮定付きTrapdoor DDH Groupとする。また、本発明では、楕円曲線E/Fq上の点からなる巡回群G2も用いる。例えば、前述の[楕円曲線]の欄で示した巡回群<P>,<Q>,<R>から、重複しないように2つの巡回群を選びそれぞれ巡回群G1,G2とする。
本発明のGenTD:
(1)巡回群G2の生成元g2とx∈Zpとの入力。
(2)楕円曲線E/Fq上での楕円スカラー倍算t=GenTD(g2, x)=x・g2∈G2。
(3)演算結果tの出力。
本発明のSolveDDH:
(1)トラップドアt∈G2と(g1,y,h,σ)∈G14の入力。ただし、y=x・g2、σ=x・h。
(2)e(h,t)=e(σ,g2)であるか否かを検証。
(3)e(h,t)=e(σ,g2)であれば1を出力し、e(h,t)=(σ,g2)でなければ0を出力。
演算結果e(h,t)と演算結果e(σ,g2)とが一致するか否かを判定することは、楕円曲線E/Fq上でα・g1=y、h=β・g1、σ=γ・g1(α,β,γは整数)とした場合に、γ=α・βが成立するか否かを判定できることを意味し、これはSolveDDHを解くことができることを意味する。以下、この理由を説明する。
まず、匿名署名生成装置ごとに公開鍵y(w),秘密鍵x(w),追跡鍵t(w)(w∈N,N={0,…,n−1})が生成される。ここで、秘密鍵x(w)は任意の整数であり、公開鍵y(w)は、楕円スカラー倍算y(w)=x(w)・g1によって生成され、追跡鍵t(w)は、t(w)=GenTD(g2,x(w))によって生成される。そして、すべての公開鍵y(w)は一般に公開され、各秘密鍵x(w)は対応するw番目の匿名署名生成装置にのみ格納され、すべての追跡鍵t(w)は管理装置のみに格納される。
次に、本発明の第1実施形態について説明する。
図1は、第1実施形態の匿名署名システム1の全体構成を示した概念図である。
図1に示すように、本形態の匿名署名システム1は、署名クループを構成し得るn個(n≧2)の匿名署名生成装置10−0〜(n−1)、署名検証を行なう署名検証装置20及び匿名署名の匿名性を無効化する管理装置30を有しており、匿名署名生成装置10−0〜(n−1)、署名検証装置20及び管理装置30は、相互にネットワーク40を通じて接続可能に構成されている。
次に、匿名署名生成装置の構成について説明する。なお、以下では匿名署名生成装置10−iを例にとって説明する。その他の匿名署名生成装置の構成も匿名署名生成装置10−iと同様である。
図2は、第1実施形態における匿名署名生成装置10−iのハードウェア構成を例示したブロック図である。
図2に例示するように、この例の匿名署名生成装置10−iは、CPU(Central Processing Unit)11、入力部12、出力部13、補助記憶装置14、ROM(Read Only Memory)15、RAM(Random Access Memory)16、バス17及び通信部18を有している。
CPU11(図2)は、読み込まれたOS(Operating System)プログラムに従い、補助記憶装置14のプログラム領域14aに格納されているプログラムをRAM16のプログラム領域16aに書き込む。同様にCPU11は、補助記憶装置14のデータ領域14bに格納されている各種データを、RAM16のデータ領域16bに書き込む。そして、このプログラムやデータが書き込まれたRAM16上のアドレスがCPU11のレジスタ11cに格納される。CPU11の制御部11bは、レジスタ11cに格納されたこれらのアドレスを順次読み出し、読み出したアドレスが示すRAM16上の領域からプログラムやデータを読み出し、そのプログラムが示す演算を演算部11bに順次実行させ、その演算結果をレジスタ11cに格納していく。なお、各プログラムは、単一のプログラム列として記載されていてもよく、また、少なくとも一部のプログラムが別個のモジュールとしてライブラリに格納されていてもよい。
次に、署名検証装置の構成について説明する。
図2に例示したのと同様なコンピュータによって構成される。
匿名署名生成装置の場合と同様、署名検証装置20は、コンピュータにプログラムが読み込まれることにより構成される。図4は、第1実施形態における署名検証装置20の機能構成を例示したブロック図である。なお、図4における矢印はデータの流れを示すが、記憶部20kや一時メモリ20jに入出力されるデータの流れは省略してある。
次に、管理装置30の構成について説明する。
図2に例示したのと同様なコンピュータによって構成される。
匿名署名生成装置の場合と同様、管理装置30は、コンピュータにプログラムが読み込まれることにより構成される。図5は、第1実施形態における管理装置30の機能構成を例示したブロック図である。なお、図5における矢印はデータの流れを示すが、一時メモリ30nや制御部30mに入出力されるデータの流れは省略してある。
次に、第1実施形態の匿名署名システム1の処理について説明する。
まず、楕円曲線E/Fqが選択される。前述のように、楕円曲線E/Fqは、非trace-2の非超特異楕円曲線であることが望ましい。また、楕円曲線E/Fq上の点からなる位数がpである2つの巡回群G1,G2(G1≠G2)が選択される。例えば、前述の[楕円曲線]の欄で示した巡回群<P>,<Q>,<R>から、重複しないように2つの巡回群を選び、それぞれを巡回群G1,G2とする。そして、巡回群G1,G2の各生成元g1∈G1,g2∈G2が選択される。なお、安全性の面から、pは素数や因数分解が困難な合成数であることが望ましいが、pがその他の整数であってもよい。また、巡回群G1,G2の各群のビット長がセキュリティパラメータとなる。そして、各匿名署名生成装置10−w(∀w∈N)の記憶部10t−wには、生成元g1∈G1,g2∈G2とpとが格納される。また、署名検証装置20の記憶部20kには、生成元g1∈G1とpとが格納される。さらに、管理装置30の記憶部30pには、生成元g1∈G1,g2∈G2とpとが格納される。
次に、本形態の鍵生成処理について説明する。
図6は、第1実施形態の鍵生成処理を説明するためのフローチャートである。以下、図6に沿って、第1実施形態の鍵生成処理について説明する。なお、以下では、i番目(i∈L)の匿名署名生成装置の鍵生成処理のみを説明するが、同様な処理はすべての匿名署名生成装置10−w(∀w∈N)で実行される。
その後、制御部10r−iの制御のもと、通信部10q−iが、公開鍵y(i)と追跡鍵t(i)とをネットワーク40を通じ、管理装置30に送信する(ステップS14)。なお、少なくとも追跡鍵t(i)は、追跡鍵t(i)が第三者に漏洩しないよう、暗号化等の技術を用いて管理装置30に配送される。
次に、本形態の署名生成処理について説明する。
図7,8は、第1実施形態における署名生成処理を説明するためのフローチャートである。以下、図7,8に従って、第1実施形態の署名生成処理について説明する。なお、以下では、i番目の匿名署名生成装置10−iが、u個の匿名署名生成装置10−k(k∈L,L={0,...,u−1}⊆N)からなる集合L(署名グループ)を構成して匿名署名を生成する例を説明する。
c=H’(r,m,(σ(k))k∈L,(a(k))k∈L,(b(k))k∈L)∈Zp
を記憶部10t−iに出力し、記憶部10t−iに格納する(ステップS38)。なお、(σ(k))k∈Lは、σ(k)=(σ1(k),σ2(k))∈E/Fqとした場合における、(σ1(1),σ2(1),σ1(2),σ2(2),...,σ1(L),σ2(L))を意味する。(a(k))k∈L,(b(k))k∈Lについても同様である。
c(i)=c−Σj≠ic(j) mod p
の演算を行い、その演算結果c(i)∈Zpを記憶部10t−iに出力し、記憶部10t−iに格納する(ステップS39)。なお、Σj≠ic(j)は、∀j∈L(j≠i)に対応するc(j)の総和を意味する。
z(i)=r(i)−c(i)・x(i) mod p
の演算を行い、その演算結果z(i)を記憶部10t−iに出力し、記憶部10t−iに格納する(ステップS40)。
匿名署名σ=(r,(σ(k))k∈L,(c(k))k∈L,(z(k))k∈L)
を構成し、記憶部10t−iに格納する(ステップS41)。そして、記憶部10t−iから通信部10q−iに、集合Lと匿名署名σとメッセージmとが送られ、通信部10q−iは、匿名署名σを集合Lとメッセージmとともに送信する(ステップS42)。
次に、本形態の署名検証処理について説明する。
図9は、第1実施形態における署名検証処理を説明するためのフローチャートである。以下、図9に従って、第1実施形態の署名検証処理について説明する。
y(k)∈G1 …(10)
σ(k)∈G1 …(11)
c(k)∈Zp …(12)
z(k)∈Zp …(13)
を満たすか否かを判定し、その判定結果を制御部20iに送る(ステップS53)。ここで、何れかのk(∃k∈L)について式(10)〜(13)の何れかが満たされなかった場合、制御部20iは、検証結果出力部20hに0(拒絶:匿名署名σが不合格である旨)を出力させ(ステップS64)、処理を終了させる。
c=H’(r,m,(σ(k))k∈L,(a(k))k∈L,(b(k))k∈L)∈Zp
を記憶部20kに出力し、記憶部20kに格納する(ステップS61)。
c=Σk∈Lc(k)mod p …(14)
を満たすか否かを判定し、その判定結果を制御部20iに出力する(ステップS62)。なお、Σk∈Lc(j)は、∀k∈Lに対応するc(k)の総和を意味する。
次に、管理装置30が匿名署名σの匿名性を無効にする処理について説明する。
図10,図11は、第1実施形態における匿名性無効化処理を説明するためのフローチャートである。以下、図10,図11に従って、第1実施形態の匿名性無効化処理について説明する。
まず、管理装置30(図5)の通信部30aが、匿名署名σ=(r,(σ(k))k∈L,(c(k))k∈L,(z(k))k∈L)と集合Lとメッセージmとを受信する(ステップS71)。このように通信部30aに入力された匿名署名σと集合Lとメッセージmは、記憶部30pに格納される。
c=H’(r,m,(σ(k))k∈L,(a(k))k∈L,(b(k))k∈L)∈Zp
を記憶部30pに出力し、記憶部30pに格納する(ステップS81)。
一方、前述の式(14)を満たした場合、制御部30mは、kに1を代入し、集合Sを{}(空集合)とし、当該kとSとを一時メモリ30nに格納する(ステップs83)。
次に、本発明の第2実施形態について説明する。第2実施形態は第1実施形態の変形例であり、匿名署名生成装置が鍵生成を行うのではなく、鍵生成装置がすべての匿名署名生成装置の鍵生成を行う構成である。以下では、第1実施形態との相違点を中心に説明し、第1実施形態と共通する事項については第1実施形態と同じ符号を付して説明を省略する。
図12は、第2実施形態の匿名署名システム100の全体構成を示した概念図である。
図12に示すように、本形態の匿名署名システム100は、署名クループを構成し得るn個(n≧2)の匿名署名生成装置110−0〜(n−1)、署名検証を行なう署名検証装置20、匿名署名の匿名性を無効化する管理装置30及び鍵生成装置140を有しており、匿名署名生成装置110−0〜(n−1)、署名検証装置20、管理装置30及び鍵生成装置140は、相互にネットワーク40を通じて接続可能に構成されている。
次に、匿名署名生成装置の構成について説明する。なお、以下では匿名署名生成装置110−iを例にとって説明する。その他の匿名署名生成装置の構成も匿名署名生成装置110−iと同様である。
第1の実施形態と同じである。
[ハードウェアとプログラムとの協働]
第2実施形態の匿名署名生成装置もコンピュータに所定のプログラムが読み込まれることにより構成される。図13は、このように構成される第2実施形態における匿名署名生成装置110−iの機能構成を例示したブロック図である。なお、図13における矢印はデータの流れを示すが、一時メモリ110r−iや制御部110s−iに入出力されるデータの流れは省略してある。また、図13において第1実施形態の匿名署名生成装置10−i(図3)と共通する部分については、図3と同じ符号を付した。
図13に例示するように、第2実施形態の匿名署名生成装置110−iの匿名署名生成装置10−i(図3)との相違点は、匿名署名生成装置110−iが鍵生成部10a−iを有しない点のみである。
次に、鍵生成装置の構成について説明する。
第1の実施形態の匿名署名生成装置と同様である。
第2実施形態の鍵生成装置はコンピュータに所定のプログラムが読み込まれることにより構成される。図14は、このように構成される第2実施形態における鍵生成装置140の機能構成を例示したブロック図である。なお、図14における矢印はデータの流れを示すが、一時メモリ140fや制御部140eに入出力されるデータの流れは省略してある。
図14に示すように、本形態の鍵生成装置140は、通信部140aと、秘密鍵生成部140bと、公開鍵生成部140cと、追跡鍵生成部140dと、制御部140eと、一時メモリ140fと、記憶部140gとを有する。また、鍵生成装置140は、制御部140eの制御のもと各処理を実行する。さらに、特に明示しない限り、演算過程の各データは逐一一時メモリ140fに読み書きされる。
また、上記のプログラムは単体でその機能を実現できるものでもよいし、当該プログラムがさらに他のライブラリ(記載していない)を読み出して各機能を実現するものでもよい。すなわち、各プログラムの少なくとも一部が、鍵生成装置140の機能をコンピュータに実行させるためのプログラムに相当する。
次に、第2実施形態の匿名署名システム100の処理について説明する。第2実施形態の処理と第1実施形態の処理との相違点は前処理と鍵生成処理のみである。以下では、相違点である前処理と鍵生成処理のみを説明する。
第1実施形態の前処理との相違点は、第1実施形態の前処理に加え、鍵生成装置140の記憶部140gにも、生成元g1∈G1,g2∈G2とpとが格納される点である。その他は、第1実施形態と同じである。
図15は、第2実施形態の鍵生成処理を説明するためのフローチャートである。以下、図15に沿って、第2実施形態の鍵生成処理について説明する。
まず、鍵生成装置140(図14)の秘密鍵生成部140bが、記憶部140gからpを読み込む。秘密鍵生成部140bは、任意値x(w)∈UZpをw番目(w∈N(N={0,…,n−1}))の匿名署名生成装置110−wの秘密鍵x(w)として生成し、生成した各秘密鍵x(w)を記憶部140gに出力し、記憶部140gに格納する(ステップS101)。なお、任意値の具体例としては、擬似乱数を例示できる。また、擬似乱数ではなく、例えば、乱数表や利用者が設定した秘密情報などを用い、匿名署名生成装置間で重複しないように秘密鍵x(w)を設定してもよい。
鍵生成以降の処理は第1実施形態と同じである。
なお、本発明は上述の各実施の形態に限定されるものではない。例えば、上述の各実施の形態では、生成元g1∈G1,g2∈G2を事前に装置間で共有する構成であった。しかし、生成元g1∈G1,g2∈G2を事前に装置間で共有せず、y(w)とg1∈G1との組を公開鍵とし、t(w)とg2∈G2との組を追跡鍵としてもよい。この場合、生成元g1∈G1,g2∈G2を事前に装置間で共有する必要がなくなり、さらに、匿名署名生成装置毎に、生成元g1∈G1とg2∈G2とを独立に選択することも可能となる。また、g1,g2,pの情報を各装置の記憶部に格納するのではなく、各装置にインストールされるプログラムがこれらの情報を保持していてもよい。
その他、本発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。また、上述の各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよいが、具体的には、例えば、磁気記録装置として、ハードディスク装置、フレキシブルディスク、磁気テープ等を、光ディスクとして、DVD(Digital Versatile Disc)、DVD−RAM(Random Access Memory)、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)等を、光磁気記録媒体として、MO(Magneto-Optical disc)等を、半導体メモリとしてEEP−ROM(Electronically Erasable and Programmable-Read Only Memory)等を用いることができる。
10,110 匿名署名生成装置
20 署名検証装置
30 管理装置
140 鍵生成装置
Claims (13)
- 匿名署名処理に必要な鍵を生成する鍵生成装置であって、
整数の任意値x(w)をw番目(w∈N(N={0,…,n−1}))の匿名署名生成装置の秘密鍵x(w)として生成し、生成した各秘密鍵x(w)を出力する秘密鍵生成部と、
各w∈Nに対応する各秘密鍵x(w)を入力とし、有限体Fq上に定義された楕円曲線E/Fq上の点からなる位数pの巡回群G1の生成元をg1とした場合における、当該楕円曲線E/Fq上での楕円スカラー倍算y(w)=x(w)・g1∈G1を行い、各演算結果y(w)をk番目の匿名署名生成装置の公開鍵y(w)として出力する公開鍵生成部と、
各w∈Nに対応する各秘密鍵x(w)を入力とし、上記楕円曲線E/Fq上の点からなる位数pの巡回群G2の生成元をg2とした場合における、当該楕円曲線E/Fq上での楕円スカラー倍算t(w)=x(w)・g2を行い、各演算結果t(w)をw番目の匿名署名生成装置の追跡鍵t(w)として出力する追跡鍵生成部と、
を有することを特徴とする鍵生成装置。 - 請求項1に記載の鍵生成装置であって、
上記巡回群G1と上記巡回群G2とで重複する元が存在しない、
ことを特徴とする鍵生成装置。 - 署名クループを構成するu個(u≧2)の匿名署名生成装置の1つであるi番目(i∈L,L={0,…,u−1})の匿名署名生成装置であって、
整数である自らの秘密鍵x(i)を格納する第1記憶部と、
有限体Fq上に定義された楕円曲線E/Fq上の点からなる位数pの巡回群G1の生成元をg1とし、j番目(j∈L,j≠i)の匿名署名生成装置の秘密鍵をx(j)とした場合における、当該楕円曲線E/Fq上での楕円スカラー倍算値y(j)=x(j)・g1∈G1であるj番目の匿名署名生成装置の公開鍵y(j)を、すべてのjについて格納する第2記憶部と、
署名対象であるメッセージmを格納する第3記憶部と、
上記メッセージmを含む値に対し、当該値を上記巡回群G1の元へ写す関数Hを作用させた演算結果h∈G1と、上記秘密鍵x(i)とを入力とし、上記楕円曲線E/Fq上での楕円スカラー倍算σ(i)=x(i)・h∈G1を行い、その演算結果σ(i)を出力する第1楕円スカラー倍算部と、
各j∈L(j≠i)に対し、任意値σ(j)∈G1を生成して出力する第1任意値生成部と、
整数の任意値r(i)を生成して出力する第2任意値生成部と、
上記任意値r(i)を入力とし、上記楕円曲線E/Fq上での楕円スカラー倍算a(i)=r(i)・g1∈G1を行い、その演算結果a(i)を出力する第2楕円スカラー倍算部と、
上記任意値r(i)と上記演算結果hとを入力とし、上記楕円曲線E/Fq上での楕円スカラー倍算b(i)=r(i)・h∈G1を行い、その演算結果b(i)を出力する第3楕円スカラー倍算部と、
各j∈L(j≠i)に対し、整数の任意値z(j),c(j)を生成して出力する第3任意値生成部と、
上記任意値z(j),c(j)と上記公開鍵y(j)とを入力とし、各j∈L(j≠i)に対し、それぞれ、上記楕円曲線E/Fq上での楕円スカラー倍算z(j)・g1及びc(j)・y(j)∈G1と、楕円加算a(j)=z(j)・g1+c(j)・y(j)∈G1とを行い、当該演算結果a(j)を出力する第1楕円演算部と、
上記演算結果h及び上記任意値z(j),c(j),σ(j)を入力とし、各j∈L(j≠i)に対し、それぞれ、上記楕円曲線E/Fq上での楕円スカラー倍算z(j)・h及びc(j)・σ(j)∈G1と、楕円加算b(j)=z(j)・h+c(j)・σ(j)∈G1とを行い、当該演算結果b(j)を出力する第2楕円演算部と、
すべてのk∈Lについてのσ(k),a(k),b(k)の各要素と上記メッセージmとを含む入力値に対し、当該入力値を整数へ写すハッシュ関数H’を作用させ、その演算結果cを出力するH’関数演算部と、
上記任意値c(j)と演算結果cとを入力とし、
c(i)=c−Σj≠ic(j) mod p
の演算を行い、その演算結果c(i)を出力する第1整数演算部と、
上記任意値r(i)と上記演算結果c(i)と秘密鍵x(i)とpを入力とし、
z(i)=r(i)−c(i)・x(i) mod p
の演算を行い、その演算結果z(i)を出力する第2整数演算部と、
すべてのk∈Lについてのσ(k),c(k),z(k)を含む情報を上記メッセージmの匿名署名σとし、当該匿名署名σを上記メッセージmとともに出力する匿名署名出力部と、
を有することを特徴とする匿名署名生成装置。 - 請求項3に記載の匿名署名生成装置であって、
整数の任意値rを生成する第4任意値生成部をさらに有し、
上記関数Hは、
入力値を上記巡回群G1の元へ写すハッシュ関数であり、
上記演算結果hは、
上記メッセージmと上記任意値rとからなる値に対し、上記ハッシュ関数Hを作用させた演算結果であり、
上記H’関数演算部は、
上記任意値rとすべてのk∈Lについてのσ(k),a(k),b(k)の各要素と上記メッセージmとからなる入力値に対し、当該入力値を整数へ写すハッシュ関数H’を作用させ、その演算結果cを出力し、
上記匿名署名出力部は、
上記任意値rとすべてのk∈Lについてのσ(k),c(k),z(k)とからなる情報を上記メッセージmの匿名署名σとし、当該匿名署名σを上記メッセージmとともに出力する、
ことを特徴とする匿名署名生成装置。 - 匿名署名を検証する署名検証装置であって、
有限体Fq上に定義された楕円曲線E/Fq上の点からなる位数pの巡回群G1の生成元をg1とし、k番目(k∈L)の匿名署名生成装置の秘密鍵をx(k)とした場合における、当該楕円曲線E/Fq上での楕円スカラー倍算値y(k)=x(k)・g1∈G1であるk番目の匿名署名生成装置の公開鍵y(k)を、すべてのk∈Lについて格納する第1記憶部と、
すべてのk∈Lについてのσ(k),c(k),z(k)を含む匿名署名σとメッセージmとを格納する第2記憶部と、
上記公開鍵y(k)と上記匿名署名σのz(k),c(k)とを入力とし、すべてのk∈Lに対し、それぞれ、上記楕円曲線E/Fq上での楕円スカラー倍算z(k)・g1及びc(k)・y(k)∈G1と、楕円加算a(k)=z(k)・g1+c(k)・y(k)∈G1とを行い、当該演算結果a(k)を出力する第1楕円演算部と、
上記メッセージmを含む値に対し、当該値を上記巡回群G1の元へ写す関数Hを作用させた演算結果h∈G1と、上記匿名署名σのσ(k),c(k),z(k)とを入力とし、すべてのk∈Lに対し、それぞれ、上記楕円曲線E/Fq上での楕円スカラー倍算z(k)・h及びc(k)・σ(k)∈G1と、楕円加算b(k)=z(k)・h+c(k)・σ(k)∈G1とを行い、当該演算結果b(k)を出力する第2楕円演算部と、
すべてのk∈Lについてのσ(k),a(k),b(k)の各要素と上記メッセージmとを含む入力値に対し、当該入力値を整数へ写すハッシュ関数H’を作用させ、その演算結果cを出力するH’関数演算部と、
上記匿名署名σのc(k)と上記演算結果cとを入力とし、
c=Σk∈Lc(k)mod p
を満たすか否かを判断する比較部と、
c=Σk∈Lc(k)mod pを満たすことを条件に上記匿名署名σが合格である旨を出力する検証結果出力部と、
を有することを特徴とする署名検証装置。 - 請求項5に記載の署名検証装置であって、
上記匿名署名σは、
任意値rとすべてのk∈Lについてのσ(k),c(k),z(k)とからなり、
上記関数Hは、
入力値を上記巡回群G1の元へ写すハッシュ関数であり、
上記演算結果hは、
上記メッセージmと上記任意値rとからなる値に対し、上記ハッシュ関数Hを作用させた演算結果であり、
上記H’関数演算部は、
上記任意値rとすべてのk∈Lについてのσ(k),a(k),b(k)の各要素と上記メッセージmとからなる入力値に対し、当該入力値を整数へ写すハッシュ関数H’を作用させ、その演算結果cを出力する、
ことを特徴とする署名検証装置。 - 匿名署名システムを管理する管理装置であって、
有限体Fq上に定義された楕円曲線E/Fq上の点からなる位数pの巡回群G1の生成元をg1とし、k番目(k∈L,k={0,...,u−1})の匿名署名生成装置の秘密鍵をx(k)とした場合における、当該楕円曲線E/Fq上での楕円スカラー倍算値y(k)=x(k)・g1∈G1である匿名署名生成装置の公開鍵y(k)を、すべてのk∈Lについて格納する第1記憶部と、
上記楕円曲線E/Fq上の点からなる位数pの巡回群G2の生成元をg2とした場合における、当該楕円曲線E/Fq上での楕円スカラー倍算値t(k)=x(k)・g2である匿名署名生成装置の追跡鍵t(k)を、すべてのk∈Lについて格納する第2記憶部と、
すべてのk∈Lについてのσ(k),c(k),z(k)を含む匿名署名σとメッセージmとを格納する第3記憶部と、
上記メッセージmを含む値に対し、当該値を上記巡回群G1の元へ写す関数Hを作用させた演算結果h∈G1と、上記追跡鍵t(k)∈G2とを入力とし、すべてのk∈Lについて、当該演算結果hと追跡鍵t(k)との組をペアリング関数e:G1×G2→G3に代入し、各演算結果e(h,t(k))を出力する第1ペアリング演算部と、
上記匿名署名σのσ(k)を入力とし、すべてのk∈Lについて、当該σ(k)と上記生成元g2との組を上記ペアリング関数eに代入し、各演算結果e(σ(k),g2)を出力する第2ペアリング演算部と、
上記演算結果e(h,t(k))と上記演算結果e(σ(k),g2)とを入力とし、k∈Lごとに、上記演算結果e(h,t(k))と上記演算結果e(σ(k),g2)とが一致するか否かを判定し、これらが一致すると判定されたkを、真の匿名署名生成装置を示す情報として出力する判定部と、
を有することを特徴とする管理装置。 - 請求項7に記載の管理装置であって、
上記匿名署名σは、
任意値rとすべてのk∈Lについてのσ(k),c(k),z(k)とからなり、
上記関数Hは、
入力値を上記巡回群G1の元へ写すハッシュ関数であり、
上記演算結果hは、
上記メッセージmと上記任意値rとからなる値に対し、上記ハッシュ関数Hを作用させた演算結果である、
ことを特徴とする管理装置。 - 署名クループを構成するu個(u≧2)の匿名署名生成装置の1つであるi番目(i∈L,L={0,…,u−1})の匿名署名生成装置が匿名署名を生成し、署名検証装置がその匿名署名を検証し、必要に応じて管理装置がその匿名署名の匿名性を無効にする匿名署名方法であって、
i番目(i∈L)の匿名署名生成装置において、
(a1)整数である自らの秘密鍵x(i)を第1記憶部に格納するステップと、
(a2)有限体Fq上に定義された楕円曲線E/Fq上の点からなる位数pの巡回群G1の生成元をg1とし、j番目(j∈L,j≠i)の匿名署名生成装置の秘密鍵をx(j)とした場合における、当該楕円曲線E/Fq上での楕円スカラー倍算値y(j)=x(j)・g1∈G1であるj番目の匿名署名生成装置の公開鍵y(j)を、すべてのjについて第2記憶部に格納するステップと、
(a3)署名対象であるメッセージmを第3記憶部に格納するステップと、
(a4)上記メッセージmを含む値に対し、当該値を上記巡回群G1の元へ写す関数Hを作用させた演算結果h∈G1と、上記秘密鍵x(i)とを入力とし、第1楕円スカラー倍算部が、上記楕円曲線E/Fq上での楕円スカラー倍算σ(i)=x(i)・h∈G1を行い、その演算結果σ(i)を出力するステップと、
(a5)第1任意値生成部が、各j∈L(j≠i)に対し、任意値σ(j)∈G1を生成して出力するステップと、
(a6)第2任意値生成部が、整数の任意値r(i)を生成して出力するステップと、
(a7)上記任意値r(i)を入力とし、第2楕円スカラー倍算部が、上記楕円曲線E/Fq上での楕円スカラー倍算a(i)=r(i)・g1∈G1を行い、その演算結果a(i)を出力するステップと、
(a8)上記任意値r(i)と上記演算結果hとを入力とし、第3楕円スカラー倍算部が、上記楕円曲線E/Fq上での楕円スカラー倍算b(i)=r(i)・h∈G1を行い、その演算結果b(i)を出力するステップと、
(a9)第3任意値生成部が、各j∈L(j≠i)に対し、整数の任意値z(j),c(j)を生成して出力するステップと、
(a10)上記任意値z(j),c(j)と上記公開鍵y(j)とを入力とし、第1楕円演算部が、各j∈L(j≠i)に対し、それぞれ、上記楕円曲線E/Fq上での楕円スカラー倍算z(j)・g1及びc(j)・y(j)∈G1と、楕円加算a(j)=z(j)・g1+c(j)・y(j)∈G1とを行い、当該演算結果a(j)を出力するステップと、
(a11)上記演算結果h及び上記任意値z(j),c(j),σ(j)を入力とし、第2楕円演算部が、各j∈L(j≠i)に対し、それぞれ、上記楕円曲線E/Fq上での楕円スカラー倍算z(j)・h及びc(j)・σ(j)∈G1と、楕円加算b(j)=z(j)・h+c(j)・σ(j)∈G1とを行い、当該演算結果b(j)を出力するステップと、
(a12)第1H’関数演算部が、すべてのk∈Lについてのσ(k),a(k),b(k)の各要素と上記メッセージmとを含む入力値に対し、当該入力値を整数へ写すハッシュ関数H’を作用させ、その演算結果cを出力するステップと、
(a13)上記任意値c(j)と演算結果cとを入力とし、第1整数演算部が、c(i)=c−Σj≠ic(j) mod pの演算を行い、その演算結果c(i)を出力するステップと、
(a14)上記任意値r(i)と上記演算結果c(i)と秘密鍵x(i)とpを入力とし、第2整数演算部が、z(i)=r(i)−c(i)・x(i) mod pの演算を行い、その演算結果z(i)を出力するステップと、
(a15)匿名署名出力部が、すべてのk∈Lについてのσ(k),c(k),z(k)を含む情報を上記メッセージmの匿名署名σとし、当該匿名署名σを上記メッセージmとともに出力するステップと、を実行し、
署名検証装置において、
(b1)上記楕円曲線E/Fq上での楕円スカラー倍算値y(k)=x(k)・g1∈G1であるk番目の匿名署名生成装置の公開鍵y(k)を、すべてのk∈Lについて、第4記憶部に格納するステップと、
(b2)入力された上記匿名署名σと上記メッセージmとを第5記憶部に格納するステップと、
(b3)上記公開鍵y(k)と上記匿名署名σのz(k),c(k)とを入力とし、第3楕円演算部が、すべてのk∈Lに対し、それぞれ、上記楕円曲線E/Fq上での楕円スカラー倍算z(k)・g1及びc(k)・y(k)∈G1と、楕円加算a(k)=z(k)・g1+c(k)・y(k)∈G1とを行い、当該演算結果a(k)を出力するステップと、
(b4)上記メッセージmを含む値に対して上記関数Hを作用させた演算結果h∈G1と、上記匿名署名σのσ(k),c(k),z(k)とを入力とし、第4楕円演算部が、すべてのk∈Lに対し、それぞれ、上記楕円曲線E/Fq上での楕円スカラー倍算z(k)・h及びc(k)・σ(k)∈G1と、楕円加算b(k)=z(k)・h+c(k)・σ(k)∈G1とを行い、当該演算結果b(k)を出力するステップと、
(b5)第2H’関数演算部が、すべてのk∈Lについてのσ(k),a(k),b(k)の各要素と上記メッセージmとを含む入力値に対し、上記ハッシュ関数H’を作用させ、その演算結果cを出力するステップと、
(b6)上記匿名署名σのc(k)と上記演算結果cとを入力とし、比較部が、c=Σk∈Lc(k)mod pを満たすか否かを判断するステップと、
(b7)検証結果出力部が、c=Σk∈Lc(k)mod pを満たすことを条件に上記匿名署名σが合格である旨を出力するステップと、を実行し、
管理装置において、
(c1)すべてのk∈Lについてのσ(k),c(k),z(k)を含む匿名署名σとメッセージmとを第6記憶部に格納するステップと、
(c2)上記楕円曲線E/Fq上での楕円スカラー倍算値y(k)=x(k)・g1∈G1である匿名署名生成装置の公開鍵y(k)を、すべてのk∈Lについて第7記憶部に格納するステップと、
(c3)上記楕円曲線E/Fq上の点からなる位数pの巡回群G2の生成元をg2とした場合における、当該楕円曲線E/Fq上での楕円スカラー倍算値t(k)=x(k)・g2である匿名署名生成装置の追跡鍵t(k)を、すべてのk∈Lについて第8記憶部に格納するステップと、
(c4)上記メッセージmを含む値に対して上記関数Hを作用させた演算結果h∈G1と、上記追跡鍵t(k)∈G2とを入力とし、第1ペアリング演算部が、すべてのk∈Lについて、当該演算結果hと追跡鍵t(k)との組をペアリング関数e:G1×G2→G3に代入し、各演算結果e(h,t(k))を出力するステップと、
(c5)上記匿名署名σのσ(k)を入力とし、第2ペアリング演算部が、すべてのk∈Lについて、当該σ(k)と上記生成元g2との組を上記ペアリング関数eに代入し、各演算結果e(σ(k),g2)を出力するステップと、
(c6)上記演算結果e(h,t(k))と上記演算結果e(σ(k),g2)とを入力とし、判定部が、k∈Lごとに、上記演算結果e(h,t(k))と上記演算結果e(σ(k),g2)とが一致するか否かを判定し、これらが一致すると判定されたkを、真の匿名署名生成装置を示す情報として出力するステップと、を実行する、
ことを特徴とする匿名署名方法。 - 請求項1に記載の鍵生成装置としてコンピュータを機能させるためのプログラム。
- 請求項3に記載の匿名署名生成装置としてコンピュータを機能させるためのプログラム。
- 請求項5に記載の署名検証装置としてコンピュータを機能させるためのプログラム。
- 請求項7に記載の管理装置としてコンピュータを機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006277964A JP4875448B2 (ja) | 2006-10-11 | 2006-10-11 | 鍵生成装置、匿名署名システム、管理装置、匿名署名方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006277964A JP4875448B2 (ja) | 2006-10-11 | 2006-10-11 | 鍵生成装置、匿名署名システム、管理装置、匿名署名方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008098933A true JP2008098933A (ja) | 2008-04-24 |
JP4875448B2 JP4875448B2 (ja) | 2012-02-15 |
Family
ID=39381324
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006277964A Expired - Fee Related JP4875448B2 (ja) | 2006-10-11 | 2006-10-11 | 鍵生成装置、匿名署名システム、管理装置、匿名署名方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4875448B2 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010013699A1 (ja) * | 2008-07-28 | 2010-02-04 | 日本電気株式会社 | 署名システム |
JP2011145361A (ja) * | 2010-01-13 | 2011-07-28 | Nippon Telegr & Teleph Corp <Ntt> | 署名生成装置、署名検証装置、再リンク鍵生成装置、及びプログラム |
CN111052206A (zh) * | 2017-08-22 | 2020-04-21 | 日本电信电话株式会社 | 秘密计算装置、秘密计算方法、程序以及记录介质 |
CN111758127A (zh) * | 2018-02-20 | 2020-10-09 | 日本电信电话株式会社 | 秘密计算装置、秘密计算认证系统、秘密计算方法以及程序 |
-
2006
- 2006-10-11 JP JP2006277964A patent/JP4875448B2/ja not_active Expired - Fee Related
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010013699A1 (ja) * | 2008-07-28 | 2010-02-04 | 日本電気株式会社 | 署名システム |
US8495362B2 (en) | 2008-07-28 | 2013-07-23 | Nec Corporation | Signature systems |
JP5327223B2 (ja) * | 2008-07-28 | 2013-10-30 | 日本電気株式会社 | 署名システム |
JP2011145361A (ja) * | 2010-01-13 | 2011-07-28 | Nippon Telegr & Teleph Corp <Ntt> | 署名生成装置、署名検証装置、再リンク鍵生成装置、及びプログラム |
CN111052206A (zh) * | 2017-08-22 | 2020-04-21 | 日本电信电话株式会社 | 秘密计算装置、秘密计算方法、程序以及记录介质 |
CN111052206B (zh) * | 2017-08-22 | 2023-06-06 | 日本电信电话株式会社 | 秘密计算装置、秘密计算方法以及记录介质 |
CN111758127A (zh) * | 2018-02-20 | 2020-10-09 | 日本电信电话株式会社 | 秘密计算装置、秘密计算认证系统、秘密计算方法以及程序 |
CN111758127B (zh) * | 2018-02-20 | 2023-08-08 | 日本电信电话株式会社 | 秘密计算装置及其方法、秘密计算认证系统以及记录介质 |
Also Published As
Publication number | Publication date |
---|---|
JP4875448B2 (ja) | 2012-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gao et al. | Privacy-preserving Naive Bayes classifiers secure against the substitution-then-comparison attack | |
Suhail et al. | On the role of hash-based signatures in quantum-safe internet of things: Current solutions and future directions | |
Bootle et al. | Arya: Nearly linear-time zero-knowledge proofs for correct program execution | |
Faust et al. | Protecting circuits from leakage: the computationally-bounded and noisy cases | |
US9860058B2 (en) | Secret computation system, arithmetic unit, secret computation method and program | |
JP2023068139A (ja) | ブロックチェーンベースのスマートコントラクトの複数当事者生成のためのシステム及び方法 | |
JP2021510954A (ja) | デジタル署名されたデータを取得するためのコンピュータにより実施される方法及びシステム | |
Zhao et al. | SOCI: A toolkit for secure outsourced computation on integers | |
JP4875448B2 (ja) | 鍵生成装置、匿名署名システム、管理装置、匿名署名方法及びプログラム | |
Zhang et al. | {FLASH}: Towards a high-performance hardware acceleration architecture for cross-silo federated learning | |
Zhang et al. | IPad: ID-based public auditing for the outsourced data in the standard model | |
Hu et al. | Efficient parallel secure outsourcing of modular exponentiation to cloud for IoT applications | |
Cao et al. | A based on blinded CP‐ABE searchable encryption cloud storage service scheme | |
US11329808B2 (en) | Secure computation device, secure computation authentication system, secure computation method, and program | |
Hong et al. | Constructing conditional PKEET with verification mechanism for data privacy protection in intelligent systems | |
Gayoso Martínez et al. | Secure elliptic curves in cryptography | |
JP4773941B2 (ja) | 代理署名装置、署名者装置、署名検証装置及びそれらのプログラム | |
JP4528114B2 (ja) | 鍵生成装置、暗号化装置、検査装置、復号化装置並びに鍵生成プログラム、暗号化プログラム、検査プログラム、復号化プログラム | |
Roio et al. | Reflow: Zero knowledge multi party signatures with application to distributed authentication | |
US20090279689A1 (en) | System and method of authentication | |
US20220345312A1 (en) | Zero-knowledge contingent payments protocol for granting access to encrypted assets | |
Pedersen et al. | Secure delegation of isogeny computations and cryptographic applications | |
JP4758814B2 (ja) | 匿名暗号文通信システム、鍵生成装置、通信装置、それらの方法、プログラム及び記録媒体 | |
Ye et al. | Comparable encryption scheme supporting multiple users in cloud computing | |
Satheesh et al. | AB-DAM: attribute-based data access model in blockchain for healthcare applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090105 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110802 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20110818 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110927 |
|
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: 20111115 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20111125 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141202 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4875448 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |