JP2008178035A - 電子署名システム、装置及びプログラム - Google Patents
電子署名システム、装置及びプログラム Download PDFInfo
- Publication number
- JP2008178035A JP2008178035A JP2007011893A JP2007011893A JP2008178035A JP 2008178035 A JP2008178035 A JP 2008178035A JP 2007011893 A JP2007011893 A JP 2007011893A JP 2007011893 A JP2007011893 A JP 2007011893A JP 2008178035 A JP2008178035 A JP 2008178035A
- Authority
- JP
- Japan
- Prior art keywords
- point
- electronic signature
- key
- signer
- function
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】楕円曲線上のペアリングに基づく署名方式において、署名者と検証者との間で送受信する電子署名のデータ長を削減する。
【解決手段】楕円曲線上のペアリングに基づく署名方式において、鍵生成センター装置10が、楕円曲線Eのnねじれ群E[n]を構成する固有空間<P>,<Q>からそれぞれ点P,Qを選択することを含むセットアップ処理を実行する。電子署名生成装置20は、電子署名σ’=(R,S)を圧縮して電子署名σ=(T)を得ることを含む署名処理を実行する。電子署名検証装置30は、電子署名σ=(T)から点データR,Sを取得することを含む検証処理を実行する。このように、電子署名σ’=(R,S)をσ=(T)に圧縮する構成により、電子署名のデータ長を削減できる。
【選択図】 図1
【解決手段】楕円曲線上のペアリングに基づく署名方式において、鍵生成センター装置10が、楕円曲線Eのnねじれ群E[n]を構成する固有空間<P>,<Q>からそれぞれ点P,Qを選択することを含むセットアップ処理を実行する。電子署名生成装置20は、電子署名σ’=(R,S)を圧縮して電子署名σ=(T)を得ることを含む署名処理を実行する。電子署名検証装置30は、電子署名σ=(T)から点データR,Sを取得することを含む検証処理を実行する。このように、電子署名σ’=(R,S)をσ=(T)に圧縮する構成により、電子署名のデータ長を削減できる。
【選択図】 図1
Description
本発明は、楕円曲線上のペアリングに基づく電子署名システム、装置及びプログラムに係り、例えば、署名者と検証者との間で送受信する電子署名のデータ長を削減し得る電子署名システム、装置及びプログラムに関する。
インターネットの普及に伴い、様々なオンラインサービスが提供され始めている。これに伴い、個人情報を保護する暗号技術の必要性はますます高まっており、ネットワークを介して安全に多数の相手との暗号通信を行う暗号技術が求められている。
最初に鍵を用いる暗号方式として共通鍵暗号方式が考案された。共通鍵暗号方式は、暗号通信に先立って送受信者間で鍵を秘密に共有する必要があり、鍵が第三者に漏えいした場合には暗号情報を解読される危険性が高い技術である。そのため、送受信者間で鍵をどのように秘密に配送するのか、という問題がある。
この鍵配送の問題を解決する公開鍵暗号方式は、ディフィー(Diffie)、ヘルマン(Hellman)によって考案された。ディフィー-ヘルマンの方式は、鍵配送の問題を解決すると共に、電子署名を可能にした画期的な技術である。
しかしながら、ディフィー-ヘルマンの方式では、公開鍵の正当性を認証機関が証明する必要があるため、利用者が予め認証機関へ公開鍵を登録しておく必要がある。一方、予め鍵を秘密に通信する必要がなく、受信者のID情報を用いて暗号通信や電子署名を可能としたID情報に基づく暗号方式がシャミア(Shamir)により考案された。
シャミアの方式は、ディフィー-ヘルマンの方式と比べ、公開鍵の正当性を証明する必要がないため、認証機関への登録が不要であり、また新しい利用者が増えても公開鍵リストを更新する必要がないという利点がある。
しかしながら、シャミアの方式の暗号システムを効率的に構成する技術は知られていない。すなわち、シャミアの方式の暗号システムは、計算量が非常に多く、現実的でないという不都合がある。
近年、計算量が比較的少なく、現実的な暗号方式として、楕円曲線を用いた暗号方式が研究されてきている。これに伴い、楕円曲線上で定義されるペアリングと呼ばれる写像に基づいて、ID情報に基づく暗号方式をより効率的に構成することが可能となった。このため、ID情報に基づく暗号方式は、楕円曲線のペアリングに基づく多数の暗号方式が提案されている。
(ID情報に基づく暗号方式の構成について)
楕円曲線のペアリングについて簡単に説明する。
楕円曲線のペアリングについて簡単に説明する。
有限体Fq上で定義される楕円曲線E/Fqの有理点のなす群E/Fqkに含まれる元Pについて、楕円スカラー倍nP=Oを満たす元の集合をnねじれ点と呼び、E[n]と記述する(E[n]⊂E(Fqk))。ここでOは無限遠点を意味する。E[n]はランク(rank)2の自由アーベル(Abel)群であることが知られている。ここで、自由群とは、群の基本定義のみを満たし、それ以外の条件を持たない群を意味する。このとき、楕円曲線上のペアリングen(,)は、E[n]×E[n]から有限体Fqkの乗法群F* qkへの写像en:E[n]×E[n]→Fqkであって、以下のような非退化性、反対称性、双線型性、といった性質を有する。
[非退化性]
∀Q∈E[n]に対して、en(P,Q)=1が成立するとき、P=Oである。
∀Q∈E[n]に対して、en(P,Q)=1が成立するとき、P=Oである。
[反対称性]
∀P,∀Q ∈ E[n]に対して、en(P,Q)=en(Q,P)-1
[双線形性]
∀P,∀Q,∀R ∈ E[n]に対して、
en(P+Q,R)=en(P,R)en(Q,R)、
en(P,Q+R)=en(P,Q)en(P,R)
が成立する。
∀P,∀Q ∈ E[n]に対して、en(P,Q)=en(Q,P)-1
[双線形性]
∀P,∀Q,∀R ∈ E[n]に対して、
en(P+Q,R)=en(P,R)en(Q,R)、
en(P,Q+R)=en(P,Q)en(P,R)
が成立する。
また、ペアリングは双線形性を満たすことから、任意の整数mに対して以下の性質を持つことが知られている。
en(mP,Q)=en(P,mQ)=en(P,Q)m
楕円曲線上のペアリングを暗号に応用する場合は、以下のような条件(i)〜(iii)を満たすように楕円曲線Eとnねじれ群E[n]を選ぶ必要がある。
楕円曲線上のペアリングを暗号に応用する場合は、以下のような条件(i)〜(iii)を満たすように楕円曲線Eとnねじれ群E[n]を選ぶ必要がある。
以下、これらの条件(i)〜(iii)を満たす楕円曲線を「ペアリングの計算が可能な安全な楕円曲線」と呼ぶ。
(ID情報に基づく暗号方式における署名方式)
従来のID情報に基づく暗号方式における署名方式は以下の通りである(例えば、非特許文献1又は特許文献1参照。)。
従来のID情報に基づく暗号方式における署名方式は以下の通りである(例えば、非特許文献1又は特許文献1参照。)。
ここで、ID情報に基づく署名方式とは、センターにより公開されている情報と署名者のID情報があれば、署名者の電子署名の検証が可能となる方式である。
[パラメータ準備]
センターは、ペアリングの計算が可能な安全な楕円曲線を生成すると共に、パラメータPU(U=A,B,…),Q,Qpub,h(x)を準備する。
PU:利用者UのID情報uを楕円曲線上のnねじれ点に変換した点PU=E[n]
Q:nねじれ点Q∈E[n]
Qpub:センターの秘密鍵L∈Znを用いて表されるnねじれ点Qpub=LQ
h(x):バイナリ値のデータxから乗法群Zn*のデータへ変換する一方向性関数
なお、必ずしもペアリングの計算が可能な安全な楕円曲線を生成する必要はないが、セキュリティ上推奨するため、ここでは生成することにしている。
センターは、ペアリングの計算が可能な安全な楕円曲線を生成すると共に、パラメータPU(U=A,B,…),Q,Qpub,h(x)を準備する。
PU:利用者UのID情報uを楕円曲線上のnねじれ点に変換した点PU=E[n]
Q:nねじれ点Q∈E[n]
Qpub:センターの秘密鍵L∈Znを用いて表されるnねじれ点Qpub=LQ
h(x):バイナリ値のデータxから乗法群Zn*のデータへ変換する一方向性関数
なお、必ずしもペアリングの計算が可能な安全な楕円曲線を生成する必要はないが、セキュリティ上推奨するため、ここでは生成することにしている。
また、センターは、利用者UのID情報uに対応する秘密鍵KU=LPUを計算し、得られた秘密鍵KUを安全な方法で利用者Uに配布しておく。
[署名生成]
署名者Aは、電子署名対象データをmとする。
署名者Aは、電子署名対象データをmとする。
署名者Aは、乱数k∈Zn*を生成する。
署名者Aは、点R=kQを算出する。
署名者Aは、点Rのx座標をxとし、点Sを次式のように計算する。
点S=[h(m)/k]PA+[x/k]KA
=[h(m)/k]PA+[xL/k]PA
=[(h(m)+xL)/k]PA
署名者Aは電子署名σ=(R,S)及び電子署名対象データmを検証者に送信する。
=[h(m)/k]PA+[xL/k]PA
=[(h(m)+xL)/k]PA
署名者Aは電子署名σ=(R,S)及び電子署名対象データmを検証者に送信する。
[署名検証]
検証者は、σ=(R,S)及びmを受けると、次式により署名者Aの電子署名σを検証する。検証の結果、次式を満たす場合に電子署名σを受入れ(accept)、満たさない場合に電子署名σを拒否(reject)する。
境隆一, 笠原正雄, "楕円曲線上のペアリングに基づく二、三の暗号方式(その2)", コンピュータセキュリティシンポジウム(CSS2002), pp. 275-282, 2002
特開2004−201124号公報
N.McCullagh, P.Barreto, "Efficient and Forward-Secure Identity-Based Signcryption", Cryptology ePrint Archive, Report 2004/117, 2004
検証者は、σ=(R,S)及びmを受けると、次式により署名者Aの電子署名σを検証する。検証の結果、次式を満たす場合に電子署名σを受入れ(accept)、満たさない場合に電子署名σを拒否(reject)する。
しかしながら、以上のようなペアリングに基づく署名方式は、通常は特に問題は無いが、本発明者の検討によれば、電子署名のデータ長を削減したい観点から改良の余地があると考えられる。
補足すると、署名方式としては特に問題がないが、回線の細いネットワークで実行される場合のように、利用者のネットワーク環境によっては、署名者と検証者との間で電子署名の送受信が遅くなり、利用に適さなくなる可能性が残っている。
このため、ペアリングに基づく署名方式では、電子署名のデータ長を削減する必要があると考えられる。
本発明は上記実情を考慮してなされたもので、楕円曲線上のペアリングに基づく署名方式において、署名者と検証者との間で送受信する電子署名のデータ長を削減し得る電子署名システム、装置及びプログラムを提供することを目的とする。
第1の発明は、楕円曲線上のペアリングen( , )に基づく電子署名方式に用いられ、互いに通信可能な鍵生成センター装置、電子署名生成装置及び電子署名検証装置を備えた電子署名システムであって、前記鍵生成センター装置としては、鍵生成センター用秘密鍵Lとしての乱数を生成する手段と、楕円曲線E上でなすnねじれ群E[n]を構成する2つの巡回群<P>,<Q>に関し、それぞれ巡回群<P>から点Pを選択し、巡回群<Q>から点Qを選択する手段と、前記鍵生成センター用秘密鍵L及び点Qに基づいて、点Qpub=LQを計算する手段と、前記点P,Q,Qpub及び一方向性関数h( )と楕円曲線上の射影Ψとを含む公開情報が記憶される第1公開情報記憶手段と、前記鍵生成センター用秘密鍵Lが記憶される第1秘密鍵記憶手段と、前記電子署名生成装置又は前記電子署名検証装置から署名者ID情報IDAを含む公開情報要求を受信すると、前記署名者ID情報IDA、前記点P及び前記一方向性関数h( )に基づいて、署名者公開鍵PA=h(IDA)Pを計算する手段と、前記署名者公開鍵PA及び前記公開情報を前記公開情報要求の送信元に返信する手段と、前記電子署名生成装置から秘密鍵要求を受信すると、前記署名者公開鍵PA及び前記鍵生成センター用秘密鍵Lに基づいて、署名者秘密鍵KA=LPAを計算する手段と、前記署名者秘密鍵KAを前記電子署名生成装置に返信する手段とを備えており、前記電子署名生成装置としては、前記鍵生成センター装置から受信した署名者公開鍵PA及び公開情報が記憶される第2公開情報記憶手段と、前記鍵生成センター装置から受信した署名者秘密鍵KAが記憶される第2秘密鍵記憶手段と、電子署名生成用の乱数kを生成する手段と、前記乱数k及び前記公開情報内の点Qに基づいて、点R=kQを計算する手段と、電子署名対象データmに対し、前記乱数k、前記署名者秘密鍵KA、前記署名者公開鍵PA、前記公開情報内の一方向性関数h( )及び前記点Rのx座標値xに基づいて、点S=[h(m)/k]PA+[x/k]KA を計算する手段と、前記点R,Sを互いに加算して点T(=R+S)に圧縮する手段と、前記点Tからなる電子署名σ=(T)及び前記電子署名対象データmを前記電子署名検証装置に送信する手段とを備えており、前記電子署名検証装置としては、前記鍵生成センター装置から受信した署名者公開鍵PA及び公開情報が記憶される第3公開情報記憶手段と、前記電子署名生成装置から電子署名σ=(T)及び電子署名対象データmを受信すると、前記公開情報内の射影Ψに基づいて、点R=Ψ(T)を計算する手段と、得られた点R及び前記電子署名σ=(T)に基づいて、点S=T−Rを計算する手段と、前記電子署名σ=(T)から得られた点S,Rに関し、前記署名者公開鍵PA及び公開情報を用いて、楕円曲線上のペアリングに基づく判定式en(S,R)=en(PA,Q)h(m)en(PA,Qpub)x が成立するか否かを判定する手段と、前記判定の結果、前記判定式が成立する場合には前記電子署名σ=(T)を受け入れる手段とを備えた電子署名システムである。
第2の発明は、楕円曲線上のペアリングen( , )に基づく電子署名方式に用いられ、鍵生成センター装置及び電子署名検証装置に通信可能な電子署名生成装置であって、前記電子署名検証装置の検証者ID情報IDBを含む公開情報要求を前記鍵生成センター装置に送信する手段と、前記鍵生成センター装置から受信した「検証者公開鍵PID_B=s(IDB)P(但し、s(ID)は秘密鍵生成関数)」及び「点P,点Q,点g=en(P,Q)、関数H1,H2,楕円曲線上の射影Ψ,同型写像ξを含む公開情報(但し、前記点Pは、楕円曲線E上でなすnねじれ群E[n]を構成する2つの巡回群<P>,<Q>のうちの巡回群<P>から選択された点であり、前記点Qは前記巡回群<Q>から選択された点であり、前記2つの巡回群<P>,<Q>の直和は前記nねじれ群E[n]であり、前記関数H1はnねじれ群E[n]の点をバイナリ値に変換する関数であり、前記関数H2はnねじれ群E[n]の点とバイナリ値とを連結したデータを乗法群Zn*に変換する関数であり、同型写像ξは<P>から<Q>への同型写像である)」が記憶される第2公開情報記憶手段と、署名者ID情報IDAを含む秘密鍵要求を前記鍵生成センター装置に送信した後、前記鍵生成センター装置から受信した署名者秘密鍵PsID_A=s(IDA)-1Pが記憶される第2秘密鍵記憶手段と、電子署名生成用の乱数xを生成する手段と、前記乱数x及び前記点gに基づいて、点R=gxを計算する手段と、電子署名対象データmに対し、前記点R、前記関数H1に基づいて、値c=H1(R)(+)mを計算する手段(但し、(+)は排他的論理和)と、前記値c、前記点R及び前記関数H2に基づいて、値h=H2(R,c)を計算する手段と、前記値h、前記乱数x及び前記署名者秘密鍵PsID_Aに基づいて、点S=(x+h)PsID_Aを計算する手段と、前記乱数x及び前記検証者公開鍵PID_Bに基づいて、点T=xPID_Bを計算する手段と、前記点T及び前記同型写像ξに基づいて、点ξ(T)を計算する手段と、前記点S,ξ(T)を互いに加算して点X(=S+ξ(T))に圧縮する手段と、前記点X及び前記値cからなる電子署名σ=(c,X)を前記電子署名検証装置に送信する手段とを備えており、前記電子署名σ=(c,X)は、前記射影Ψに基づく点S=Ψ(X)の計算と当該点Sに基づく点T=ξ-1(X−S)の計算とにより、圧縮前の電子署名σ’=(c,S,T)内の点S,Tを取得可能である電子署名生成装置である。
第3の発明は、楕円曲線上のペアリングen( , )に基づく電子署名方式に用いられ、鍵生成センター装置及び電子署名検証装置に通信可能な電子署名生成装置であって、署名者ID情報IDA及び検証者ID情報IDBを含む公開情報要求を前記鍵生成センター装置に送信する手段と、前記鍵生成センター装置から受信した「署名者公開鍵PID_A=s(IDA)P(但し、s(ID)は秘密鍵生成関数)」、「検証者公開鍵PID_B=s(IDB)P(但し、IDBは検証者ID情報)」及び「点P,点Q,点g=en(P,Q)、関数H1,H2,H3’,楕円曲線上の射影Ψ,同型写像ξを含む公開情報(但し、前記点Pは、楕円曲線E上でなすnねじれ群E[n]を構成する2つの巡回群<P>,<Q>のうちの巡回群<P>から選択された点であり、前記点Qは前記巡回群<Q>から選択された点であり、前記2つの巡回群<P>,<Q>の直和は前記nねじれ群E[n]であり、前記関数H1はnねじれ群E[n]の点をバイナリ値に変換する関数であり、前記関数H2はnねじれ群E[n]の点とバイナリ値とを連結したデータを乗法群Zn*に変換する関数であり、前記関数H3’は巡回群<P>からなるnねじれ群の点と巡回群<P>からなるnねじれ群の点とバイナリ値とを連結したデータを乗法群Zn*に変換する関数であり、同型写像ξは<P>から<Q>への同型写像である)」が記憶される第2公開情報記憶手段と、署名者ID情報IDAを含む秘密鍵要求を前記鍵生成センター装置に送信した後、前記鍵生成センター装置から受信した署名者秘密鍵QsID_A=s(IDA)-1Qが記憶される第2秘密鍵記憶手段と、電子署名生成用の乱数xを生成する手段と、前記乱数x及び前記点gに基づいて、点N=g^x-1を計算する手段(但し、^は、べき乗を表す)と、前記乱数x及び前記署名者公開鍵PID_Aに基づいて、点R=xPID_Aを計算する手段と、前記乱数x及び前記検証者公開鍵PID_Bに基づいて、点S=x-1PID_Bを計算する手段と、電子署名対象データmに対し、前記点N、前記関数H1に基づいて、値c=H1(N)(+)mを計算する手段(但し、(+)は排他的論理和)と、得られた値c、前記点R、前記点S及び前記関数H3’に基づいて、値h=H3’(R,S,c)を計算する手段と、得られた値h、前記乱数x及び前記署名者秘密鍵QsID_Aに基づいて、点T=(x+h)-1QsID_Aを計算する手段と、前記点S及び前記点Tを互いに加算して点X(=S+T)に圧縮する手段と、前記点X、前記点R及び前記値cからなる電子署名σ=(c,R,X)を前記電子署名検証装置に送信する手段とを備えており、前記電子署名σ=(c,R,X)は、前記射影Ψに基づく点S=Ψ(X)の計算と当該点Sに基づく点T=X−Sの計算とにより、圧縮前の電子署名σ’=(c,R,S,T)内の点S,Tを取得可能である電子署名生成装置である。
なお、第1の発明においては各装置の集合体を「システム」として表現し、第2及び第3の発明においては各装置のうちの「電子署名生成装置」として表現したが、これに限らず、第1乃至第3の各発明は、各装置の集合体又は装置毎に、「装置」、「プログラム」、「プログラムを記憶したコンピュータ読取り可能な記憶媒体」、「方法」として表現してもよいことは言うまでもない。
(作用)
第1の発明によれば、鍵生成センター装置において、楕円曲線E上のnねじれ群E[n]を2つの巡回群<P>,<Q>の直和とし、<P>から選択した点Pと、<Q>から選択した点Qと、楕円曲線上の射影Ψとを公開した構成により、電子署名生成装置では、点Qに基づく点Rと、点Pに基づく点Sとを互いに加算して点T=R+Sに圧縮し、電子署名σ=(T)を生成して送信することができる。
第1の発明によれば、鍵生成センター装置において、楕円曲線E上のnねじれ群E[n]を2つの巡回群<P>,<Q>の直和とし、<P>から選択した点Pと、<Q>から選択した点Qと、楕円曲線上の射影Ψとを公開した構成により、電子署名生成装置では、点Qに基づく点Rと、点Pに基づく点Sとを互いに加算して点T=R+Sに圧縮し、電子署名σ=(T)を生成して送信することができる。
また、電子署名検証装置では、受信した電子署名σ=(T)の射影Ψを求めることにより、点R=Ψ(T)及び点S=T−Rを取得することができる。
このように、点R,Sからなる電子署名を点Tからなる電子署名に圧縮して送受信可能としたので、楕円曲線上のペアリングに基づく署名方式において、署名者と検証者との間で送受信する電子署名のデータ長を削減することができる。
第2の発明によれば、鍵生成センター装置において、楕円曲線E上のnねじれ群E[n]を2つの巡回群<P>,<Q>の直和とし、<P>から選択した点Pと、<Q>から選択した点Qと、楕円曲線上の射影Ψと、<P>から<Q>への同型写像である同型写像ξとを公開した構成により、電子署名生成装置では、<P>に属する点Sと、<Q>に属する点ξ(T)とを互いに加算して点X=S+ξ(T)に圧縮し、電子署名σ=(c,X)を生成して送信することができる。
また、電子署名検証装置では、受信した電子署名σ=(c,X)内の点Xの射影Ψを求めることにより、点S=Ψ(X)及び点T=ξ-1(X−S)を取得することができる。
このように、電子署名内の点S,Tを点Xに圧縮して送受信可能としたので、楕円曲線上のペアリングに基づく署名方式において、署名者と検証者との間で送受信する電子署名のデータ長を削減することができる。
第3の発明によれば、鍵生成センター装置において、楕円曲線E上のnねじれ群E[n]を2つの巡回群<P>,<Q>の直和とし、<P>から選択した点Pと、<Q>から選択した点Qと、楕円曲線上の射影Ψと、<P>から<Q>への同型写像である同型写像ξとを公開した構成により、電子署名生成装置では、<P>に属する点Sと、<Q>に属する点Tとを互いに加算して点X=S+Tに圧縮し、電子署名σ=(c,R,X)を生成して送信することができる。
また、電子署名検証装置では、受信した電子署名σ=(c,R,X)内の点Xの射影Ψを求めることにより、点S=Ψ(X)及び点T=X−Sを取得することができる。
このように、電子署名内の点S,Tを点Xに圧縮して送受信可能としたので、楕円曲線上のペアリングに基づく署名方式において、署名者と検証者との間で送受信する電子署名のデータ長を削減することができる。
以上説明したように本発明によれば、楕円曲線上のペアリングに基づく署名方式において、署名者と検証者との間で送受信する電子署名のデータ長を削減できる。
以下、本発明の各実施形態について図面を用いて説明するが、その前に、各実施形態の前提となる、楕円曲線から得られる射影について述べる。
(射影の構成法)
ある特殊な楕円曲線においては、前述したペアリングen及び次のような同型写像ξを持つ巡回群の組G1,G2,G3を作れることが知られている。
ある特殊な楕円曲線においては、前述したペアリングen及び次のような同型写像ξを持つ巡回群の組G1,G2,G3を作れることが知られている。
双線形写像en:G1×G2→G3
同型写像ξ:G2→G1
ここで、G1の生成元をg1∈G1とし、G2の生成元をg2∈G2とすると、g1=ξ(g2)である。
同型写像ξ:G2→G1
ここで、G1の生成元をg1∈G1とし、G2の生成元をg2∈G2とすると、g1=ξ(g2)である。
以下、本明細書では、この同型写像ξについて、その一形態であるディストーションマップ(distortion map)を用い、本実施形態においてはディストーションマップをξとして説明する。なお、ディストーションマップξについては、文献(I.F.Blake, G.Seroussi, N.P.Smart, "Advances in Elliptic Curve Cryptography" LMS Lecture Note Series No.317)に詳しい。
続いて、ディストーションマップξの構成法について説明する。
続いて、ディストーションマップξの構成法について説明する。
(楕円曲線のなす群の性質)
有限体Fq上で定義される楕円曲線E/Fqの有理点のなす群E(Fqk)に含まれるnねじれ群E[n]は、nとqが互いに素なら、2つの独立な固有空間の集合の直和で表されることが知られている(次式を参照)。
有限体Fq上で定義される楕円曲線E/Fqの有理点のなす群E(Fqk)に含まれるnねじれ群E[n]は、nとqが互いに素なら、2つの独立な固有空間の集合の直和で表されることが知られている(次式を参照)。
ペアリングに用いる楕円曲線としては、次の条件1,2を同時に満たし、qやmがなるべく小さくなる楕円曲線を選択すると都合が良い。
条件1:#E(Fq)[n]=nで、nは、#E(Fq)[n]上の離散対数が困難なほど大きい。
条件2:#E(Fqm)[n]=n2で、mは、Fqm上の位数nの部分群上の離散対数が困難なほどに大きい。
条件2:#E(Fqm)[n]=n2で、mは、Fqm上の位数nの部分群上の離散対数が困難なほどに大きい。
ここで、φは楕円加算及び楕円スカラー倍と可換なE[n]上の自己準同型写像であり、フロベニウス自己準同型写像(Frobenius endomorphism)とも呼ばれる。すなわち、フロベニウス写像φは、Z/nZ上線形空間E[n]上の線形写像となる。楕円曲線E/Fqのトレースtとフロベニウス写像φは、次の特性方程式を満たす。
φ2−tφ+q=0(mod n)
ここで、フロベニウス写像φによるE[n]の固有空間分解を考える。暗号でペアリングを用いるとき、(楕円曲線のなす群の性質)で述べた条件1の場合には、E/Fq上にE[n]の非自明な部分群が存在している。E(Fq)上でφが恒等写像であることから、E(Fq)[n]がφの1つの固有空間であり、その固有値はλ1=1である。従って、特性方程式より、もう1つの固有値はλ2=q mod nである。
ここで、フロベニウス写像φによるE[n]の固有空間分解を考える。暗号でペアリングを用いるとき、(楕円曲線のなす群の性質)で述べた条件1の場合には、E/Fq上にE[n]の非自明な部分群が存在している。E(Fq)上でφが恒等写像であることから、E(Fq)[n]がφの1つの固有空間であり、その固有値はλ1=1である。従って、特性方程式より、もう1つの固有値はλ2=q mod nである。
一般的に、このφによって満たされる特性方程式を用いることで、固有値λ1に対応する固有空間の点を、固有値λ2に対応する固有空間の点へ写像するディストーションマップξを定義することができる。
(固有空間への射影)
簡単のためnを素数の場合を考える。このときt=λ1+λ2≠2mod nであり、固有値λ2に対応する固有空間が、E[n]\E(Fq)[n]の中に存在する。その生成元をQとし、E(Fq)[n]の生成元をPとする。このとき
E[n]=<P>(+)<Q>
と表すことができる。従って、E[n]上の任意の点Rはα,β∈Z/nZを用いて必ず
R=αP+βQ
と書け、図29のように考えることができる。
簡単のためnを素数の場合を考える。このときt=λ1+λ2≠2mod nであり、固有値λ2に対応する固有空間が、E[n]\E(Fq)[n]の中に存在する。その生成元をQとし、E(Fq)[n]の生成元をPとする。このとき
E[n]=<P>(+)<Q>
と表すことができる。従って、E[n]上の任意の点Rはα,β∈Z/nZを用いて必ず
R=αP+βQ
と書け、図29のように考えることができる。
図29からE[n]上の任意の点RはFq有理点からなる固有空間上の点とFqk有理点からなる固有空間上の点の和で表されることが分かる。
α≠0かつβ≠0の任意のRを生成元とする巡回群<R>を考える。ここで、φを用いた固有空間への射影ΨやΨ’によれば、図30に示すように、巡回群<R>から<P>や<Q>への同型写像を構成できる。例えば射影
なお、ディストーションマップξは、図31に示すように、前述した通り、固有値λ1に対応する固有空間の点Pを、固有値λ2に対応する固有空間の点Qへ写像する。ξ-1はξの逆写像である。
次に、以上のことを前提として各実施形態を説明する。
(第1の実施形態)
本発明の第1の実施形態は、非特許文献1及び特許文献1記載の署名方式において、署名者と検証者との間で送受信する電子署名のデータ長を削減するものである。
本発明の第1の実施形態は、非特許文献1及び特許文献1記載の署名方式において、署名者と検証者との間で送受信する電子署名のデータ長を削減するものである。
図1は本発明の第1の実施形態に係る電子署名システムの全体構成図である。この電子署名システムは、インターネット1を介して互いに通信可能な鍵生成センター装置10、電子署名生成装置20及び電子署名検証装置30を備えている。
なお、電子署名生成装置20は複数存在していても良いし、同様に電子署名検証装置30も複数存在していても良い。さらに電子署名生成装置20と電子署名検証装置30は同一の装置に含まれていても良い。
また、各装置10,20,30はインターネット1を介さずに接続されていても良い。各装置10,20,30は、装置毎に、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。これは以下の各実施形態でも同様である。
次に、各装置10,20,30について具体的に説明する。
鍵生成センター装置10は、電子署名・検証を行うための種々のパラメータを準備するものである。具体的には、図2に示すように、通信部11、制御部12、鍵情報生成部13、選択データ記憶部14、乱数生成部15、秘密鍵記憶部16、公開情報記憶部17、及びID対応秘密鍵生成部18を備えている。
ここで、通信部11は、インターネット1を介して電子署名生成装置20と電子署名検証装置30との間で公開情報や鍵等のデータを送受信する機能をもっている。
制御部12は、公開情報や鍵等のデータを準備し、要求に応じて他の装置20,30に送信するように各部11,13〜18を制御するものであり、具体的には図6、図7及び図9に示す処理を実行するように、各部11,13〜18を制御する機能をもっている。
鍵情報生成部13は、ID情報に基づく暗号方式を構成するための楕円曲線を生成するなどの処理を行い種々のパラメータを生成すると共に、パラメータに従い公開鍵などの情報を生成するものである。鍵情報生成部13は、具体的には、選択データ記憶部14を参照し、楕円曲線E上でなすnねじれ群E[n]を構成する2つの巡回群<P>,<Q>に関し、それぞれ巡回群<P>から点Pを選択し、巡回群<Q>から点Qを選択する機能と、鍵生成センター用秘密鍵L及び点Qに基づいて、点Qpub=LQを計算する機能と、点P,Q,Qpub及び一方向性関数h( )と楕円曲線上の射影Ψとを含む公開情報を公開情報記憶部17に書き込む機能と、鍵生成センター用秘密鍵Lを秘密鍵記憶部16に書き込む機能と、電子署名生成装置20又は電子署名検証装置30から署名者ID情報IDAを含む公開情報要求を通信部11及び制御部12を介して受信すると、署名者ID情報IDA、点P及び一方向性関数h( )に基づいて、署名者公開鍵PA=h(IDA)Pを計算する機能と、署名者公開鍵PA及び公開情報を制御部12及び通信部11を介して公開情報要求の送信元に返信する機能とを備えている。
選択データ記憶部14は、鍵情報生成部13から読出可能な記憶装置であり、予め楕円曲線E、及び楕円曲線E上のnねじれ群E[n]のデータを保持するものである。ここで、nねじれ群E[n]のデータは、2つの巡回群<P>,<Q>の元P,Qのデータを含んでいる。
乱数生成部15は、鍵情報生成部13に制御され、鍵生成センター用の秘密鍵Lとしての乱数Lを生成する機能をもっている。
秘密鍵記憶部16は、鍵情報生成部13から読出/書込可能でID対応秘密鍵生成部18から読出可能な記憶装置であり、鍵生成センター用の秘密鍵Lを保存するものである。
公開情報記憶部17は、鍵情報生成部13から読出/書込可能で制御部12から読出可能な記憶装置であり、ID情報に基づく暗号方式を構成する種々のパラメータやそれらパラメータから生成された公開情報を保存する。ここで、公開情報は、点P,Q,Qpub及び一方向性関数h( )と楕円曲線上の射影Ψとを含んでいる。
ID対応秘密鍵生成部18は、電子署名生成装置20から秘密鍵要求を通信部11及び制御部12を介して受信すると、鍵情報生成部13により生成された署名者公開鍵PA及び秘密鍵記憶部16内の鍵生成センター用秘密鍵Lに基づいて、署名者秘密鍵KA=LPAを計算する機能と、署名者秘密鍵KAを制御部12及び通信部11を介して電子署名生成装置20に返信する機能とをもっている。
一方、電子署名生成装置20は、鍵生成センター装置10から受けた鍵を用いて電子署名を生成するものである。具体的には、図3に示すように、通信部21、制御部22、公開情報記憶部23、秘密鍵記憶部24、電子署名生成部25、乱数生成部26及び電子署名圧縮部27を備えている。
通信部21は、インターネット1を介して鍵生成センター装置10と電子署名検証装置30との間で公開情報や鍵、電子署名等のデータを送受信する機能をもっている。
制御部22は、鍵生成センター装置10から受けたデータに基づき、電子署名を生成して電子署名検証装置30に送信するように各部21,23〜27を制御するものであり、具体的には図7及び図8に示す処理を実行するように、各部21,23〜27を制御する機能をもっている。
公開情報記憶部23は、制御部22から書込み可能で電子署名生成部25及び電子署名圧縮部27から読出可能な記憶装置であり、鍵生成センター装置10から通信部21により受信して制御部22により書き込まれた署名者公開鍵PA及び公開情報を保存する。ここで、公開情報は、点P,Q,Qpub及び一方向性関数h( )と楕円曲線上の射影Ψとを含んでいる。
秘密鍵記憶部24は、制御部22から書込み可能で電子署名生成部25から読出可能な記憶装置であり、鍵生成センター装置10から通信部21により受信して制御部22により書き込まれた署名者秘密鍵KAを保存する。秘密鍵は、適宜、暗号化等により保護された状態で鍵生成センター装置10から受信する。
電子署名生成部25は、公開情報・秘密鍵・乱数を用いて電子署名を生成するものである。電子署名生成部25は、具体的には、乱数k及び公開情報内の点Qに基づいて、点R=kQを計算する機能と、入力された電子署名対象データmに対し、乱数k、署名者秘密鍵KA、署名者公開鍵PA、公開情報内の一方向性関数h( )及び点Rのx座標値xに基づいて、点S=[h(m)/k]PA+[x/k]KA を計算する機能をもっている。
乱数生成部26は、電子署名生成部25に制御され、電子署名生成用の乱数kを生成する機能をもっている。
電子署名圧縮部27は、電子署名生成部25で生成された電子署名を圧縮し、その電子署名長を削減するものである。電子署名圧縮部27は、具体的には、電子署名生成部25で生成された点R,Sを互いに加算して点T(=R+S)に圧縮する機能と、点Tからなる電子署名σ=(T)及び電子署名対象データmを制御部22及び通信部21を介して電子署名検証装置30に送信する機能とをもっている。
他方、電子署名検証装置30は、鍵生成センター装置10から受けた公開情報及び鍵を用い、電子署名生成装置20から受けた電子署名を検証するものである。具体的には、図4に示すように、通信部31、制御部32、公開情報記憶部33、電子署名検証情報取得部34、電子署名検証部35及び公開鍵計算部36を備えている。
通信部31は、インターネット1を介して鍵生成センター装置10と電子署名生成装置20との間で公開情報や鍵、電子署名等のデータを送受信する機能をもっている。
制御部32は、鍵生成センター装置10から受けたデータに基づき、電子署名生成装置20から受信した電子署名を検証するように各部31,33〜36を制御するものであり、具体的には図9及び図10に示す処理を実行するように、各部31,33〜36を制御する機能をもっている。
公開情報記憶部33は、制御部32から書込み可能で電子署名検証部35及び公開鍵計算部36から読出可能な記憶装置であり、鍵生成センター装置10から通信部21により受信して制御部22により書き込まれた署名者公開鍵PA及び公開情報を保存する。ここで、公開情報は、点P,Q,Qpub及び一方向性関数h( )と楕円曲線上の射影Ψとを含んでいる。
電子署名検証情報取得部34は、電子署名生成装置10から通信部31及び制御部32を介して受信した電子署名から、検証に必要なデータを取得するものである。電子署名検証情報取得部34は、具体的には、電子署名生成装置20から通信部31及び制御部32を介して電子署名σ=(T)及び電子署名対象データmを受信すると、公開情報記憶部33内の射影Ψに基づいて、点R=Ψ(T)を計算する機能と、得られた点R及び電子署名σ=(T)に基づいて、点S=T−Rを計算する機能と、得られた点S,R及び電子署名対象データmを電子署名検証部35に送出する機能とをもっている。
電子署名検証部35は、電子署名生成装置20から通信部31及び制御部32を介して受信した電子署名が正当な署名であるか否かを検証するものである。電子署名検証部35は、具体的には、電子署名検証情報取得部34から点S,R及び電子署名対象データmを受けると、点S,Rに関し、公開情報記憶部33内の署名者公開鍵PA及び公開情報を用いて、楕円曲線上のペアリングに基づく判定式en(S,R)=en(PA,Q)h(m)en(PA,Qpub)x が成立するか否かを判定する機能と、判定の結果、判定式が成立する場合には電子署名σ=(T)を受け入れる機能と、判定の結果、判定式が成立しない場合には電子署名σ=(T)を拒否する機能とをもっている。
公開鍵計算部36は、2回目以降の検証処理にて鍵生成センター装置10に公開情報を要求せずに、公開鍵情報記憶部33内の公開情報に基づいて、鍵生成センター装置10と同様の処理を行い、署名者公開鍵PAなどの情報を計算するものである。
次に、以上のように構成された電子署名システムの動作を図5乃至図10を用いて説明する。以下の説明は、全体動作(図5)、セットアップ処理(図6)、署名処理(図7)、署名処理内の電子署名生成処理(図8)、検証処理(図9)及び検証処理内の電子署名検証処理(図10)、の順に行う。
(全体動作:図5)
鍵生成センター装置10は、ID情報に基づく暗号方式を構成するための種々のパラメータを生成するためのセットアップ処理を実行する(ST11〜ST15)。
鍵生成センター装置10は、ID情報に基づく暗号方式を構成するための種々のパラメータを生成するためのセットアップ処理を実行する(ST11〜ST15)。
続いて、電子署名検証装置30は、電子署名生成装置20に対し、電子メール等の任意の方法で電子署名対象データと電子署名を要求する(ST20)。
電子署名生成装置20は、この要求を表示した後、署名者Aの操作に基づき、電子署名対象データに対して署名処理を実行し(ST21〜ST31)、電子署名対象データの電子署名を得る。
しかる後、電子署名生成装置20は、電子署名対象データと電子署名を電子署名検証装置30に送信する(ST40)。
電子署名検証装置30は、受信した電子署名対象データと電子署名を、署名者AのID情報を基に検証する検証処理を実行する(ST41〜ST49)。
また、この後、検証者Bは、電子メール等の任意の通知方法により、署名者Aに対して署名が正当であったことを通知しても良いし、しなくてもよい。同様に、署名者Aは、電子メール等の任意の確認方法により、署名の正当性を検証者Bに確認しても良い。また、検証者Bは存在せず、電子署名検証装置30が受信した電子署名の正当性を検証しても良い。さらに電子署名は要求に対して必ず生成しなければならないものではなく、要求が無くても署名者Aの意思で電子署名を生成しても良い。
続いて、セットアップ処理、署名処理及び検証処理について詳細に説明する。
(セットアップ処理:図6)
鍵生成センター装置10においては、鍵情報生成部13が、選択データ記憶部14を参照しながら、ペアリングの計算が可能な安全な楕円曲線Eとnねじれ群E[n]を選択すると共に(ST11)、楕円曲線上の射影Ψを準備する。また、平文などのバイナリ値で表されるデータを乗法群Zn*へ変換する一方向性関数h(x)を準備する。
鍵生成センター装置10においては、鍵情報生成部13が、選択データ記憶部14を参照しながら、ペアリングの計算が可能な安全な楕円曲線Eとnねじれ群E[n]を選択すると共に(ST11)、楕円曲線上の射影Ψを準備する。また、平文などのバイナリ値で表されるデータを乗法群Zn*へ変換する一方向性関数h(x)を準備する。
乱数生成部15は、鍵生成センター装置10の秘密鍵Lを生成する(ST12)。
鍵情報生成部13は、楕円曲線Eのnねじれ群E[n]を構成する固有空間について、固有空間<P>から点Pを選択し、固有空間<Q>から点Qを選択する(ST13)
鍵情報生成部13は、秘密鍵Lと点Qから点Qpub=LQを計算する(ST14)。
鍵情報生成部13は、秘密鍵Lと点Qから点Qpub=LQを計算する(ST14)。
しかる後、鍵情報生成部13は、P,Q,Qpub及び一方向性関数h(x),楕円曲線上の射影Ψを公開情報記憶部17に保存し、秘密鍵Lを秘密鍵記憶部16に保存する(ST15)。
以上により、鍵生成センター装置10は、セットアップ処理を終了する。なお、セットアップ処理はID情報に基づく暗号方式によるシステムを構築する際に最初に行われるものであり、システムにおける基盤となる情報を生成する。
(署名処理:図7)
電子署名生成装置20では、署名者Aの操作により、電子署名生成要求が入力されると(ST21)、公開情報を取得するため、公開情報要求を鍵生成センター装置10に送信する(ST22)。
電子署名生成装置20では、署名者Aの操作により、電子署名生成要求が入力されると(ST21)、公開情報を取得するため、公開情報要求を鍵生成センター装置10に送信する(ST22)。
鍵生成センター装置10は、公開情報要求を受けると、一方向性関数h(x)を用い、署名者AのID情報IDAに対応する署名者公開鍵PA=h(IDA)Pを計算し、この署名者公開鍵PAと共に公開情報を電子署名生成装置20に送信する(ST23)。
また、電子署名生成装置20は、秘密鍵を取得するため、秘密鍵要求を鍵生成センター装置10に送信する(ST24)。
鍵生成センター装置10は、秘密鍵要求を受けると、署名者AのID情報IDAに対応する署名者秘密鍵KA=LPAを計算し、この署名者秘密鍵KAを電子署名生成装置20に送信する(ST25)。
電子署名生成装置20は、署名者秘密鍵KAを受けると、以下のように、電子署名対象データから電子署名を生成する電子署名生成処理を実行する(ST26〜ST31)。
[電子署名生成処理:図8]
電子署名生成装置20においては、署名者Aの操作により、電子署名対象データmが入力されたとする(ST26)。
電子署名生成装置20においては、署名者Aの操作により、電子署名対象データmが入力されたとする(ST26)。
続いて、電子署名生成装置20においては、電子署名生成部25が乱数生成部26を用いて乱数k∈Zn*を生成する(ST27)。
また、電子署名生成部25は、点R=kQを計算する(ST27)。
これにより、電子署名生成部25は、2つの点データR,Sからなる電子署名σ’=(R,S)を取得し、この電子署名σ’を電子署名圧縮部27に送出する。
電子署名圧縮部27は、この電子署名σ’に含まれる2つの点データR,Sを互いに加算して圧縮した点T=R+Sを求め(ST30)、この点Tのデータを電子署名σ=(T)として制御部22に出力する(ST31)。
以上の署名処理においては、ステップST23及びST25で受けた公開鍵、公開情報及び秘密鍵は、公開情報記憶部23及び秘密鍵記憶部24に格納される。また秘密鍵記憶部は、秘密鍵を何らかの方式で保護することが望ましいが、具体的な保護方法(例、暗号化して保存する方法、耐タンパーデバイスを用いる方法など)については特に限定しない。
さらにステップST25で送信される署名者秘密鍵KAも何らかの方式で保護されていることが望まれるが、具体的な保護方法(例、暗号化通信など)については限定しない。
IDは署名者に関するユニークなID情報であり、ユニークなID情報から一方向性関数を用いて署名者IDに対応する公開鍵を生成している。
また、署名処理においては、公開情報要求及び秘密鍵要求の処理(ST22,ST24)を同時に実行しても良く、これに伴い、公開情報送信及び秘密鍵送信の処理(ST23,ST25)を同時に実行しても良い。
また、ステップST22〜ST25は毎回行う処理ではなく、初回の署名生成時にのみ行えば良い。従って2回目以降に署名生成を行う場合は、ステップST21(電子署名生成要求)とST26〜31(電子署名生成処理)とを実行すれば、電子署名を生成することができる。
(検証処理:図9)
電子署名検証装置30では、検証者Bの操作により、電子署名σ=(T)を含む電子署名検証要求が入力されると(ST41)、署名者Aの公開鍵及び公開情報を取得するため、公開情報要求を鍵生成センター装置10に送信する(ST42)。
電子署名検証装置30では、検証者Bの操作により、電子署名σ=(T)を含む電子署名検証要求が入力されると(ST41)、署名者Aの公開鍵及び公開情報を取得するため、公開情報要求を鍵生成センター装置10に送信する(ST42)。
鍵生成センター装置10は、公開情報要求を受けると、一方向性関数h(x)を用い、署名者AのID情報IDAに対応する署名者公開鍵PA=h(IDA)Pを計算し、この署名者公開鍵PAと共に公開情報を電子署名検証装置30に送信する(ST43)。
電子署名検証装置30は、署名者公開鍵PA及び公開情報を受けると、以下のように、電子署名対象データ及び電子署名を用いて電子署名を検証する電子署名検証処理を実行する(ST44〜ST49)。
[電子署名検証処理:図10]
電子署名検証装置30においては、受信した電子署名対象データm及び電子署名σ=(T)が電子署名検証情報取得部34に入力されたとする(ST44)。
電子署名検証装置30においては、受信した電子署名対象データm及び電子署名σ=(T)が電子署名検証情報取得部34に入力されたとする(ST44)。
電子署名検証情報取得部34は、電子署名σ=(T)から楕円曲線上の射影Ψを用いて点R=Ψ(T)を取得する(ST45)。
また、電子署名検証情報取得部34は、電子署名σ=(T)及び点Rから点S=T−Rを取得し(ST46)、これら2つの点データS,Rを電子署名検証部35に送出する。
ステップST47の結果、判定式が成立する場合に電子署名σを正当であるとして、受け入れを示す検証結果を制御部32に出力する(ST48)また、判定式が成立しない場合には電子署名σを不正であるとして、拒否を示す検証結果を制御部32に出力する(ST49)。
以上の検証処理においては、公開情報要求及び公開情報送信の処理(ST42〜43)は、毎回鍵生成センター装置10に問い合わせても良いが、公開情報である一方向性関数h(x)及び図4の公開鍵計算部36を用いて署名者Aの公開鍵PAを計算してもよく、この場合、ネットワークに接続することなく、電子署名を検証することができる。従って初回の検証時には公開情報を取得しなければならないが、2回目以降の検証時には、ネットワークに接続することなく電子署名を検証することができる。また、鍵生成センター装置10は予め生成した鍵を保存しておき、検証者からの要求に対して鍵を生成せずに保存している鍵を配布しても良い。
上述したように本実施形態によれば、楕円曲線上のペアリングに基づく署名方式において、楕円曲線Eのnねじれ群E[n]を構成する固有空間<P>,<Q>からそれぞれ点P,Qを選択するステップST13を含むセットアップ処理と、電子署名σ’=(R,S)を圧縮して電子署名σ=(T)を得るステップST30を含む署名処理と、電子署名σ=(T)から点データR,Sを取得するステップST45,46を含む検証処理とを実行する構成により、電子署名のデータ長を削減することができる。
詳しくは、鍵生成センター装置10において、楕円曲線E上のnねじれ群E[n]を2つの巡回群<P>,<Q>の直和とし、<P>から選択した点Pと、<Q>から選択した点Qと、楕円曲線上の射影Ψとを公開した構成により、電子署名生成装置20では、点Qに基づく点Rと、点Pに基づく点Sとを互いに加算して点T=R+Sに圧縮し、電子署名σ=(T)を生成して送信することができる。
また、電子署名検証装置30では、受信した電子署名σ=(T)の射影Ψを求めることにより、点R=Ψ(T)及び点S=T−Rを取得することができる。
このように、点R,Sからなる電子署名を点Tからなる電子署名に圧縮して送受信可能としたので、楕円曲線上のペアリングに基づく署名方式において、署名者と検証者との間で送受信する電子署名のデータ長を削減することができる。
(第2の実施形態)
本発明の第2の実施形態は、非特許文献2記載のサインクリプション(Signcryption)方式において、署名者と検証者との間で送受信する電子署名としてのサインクリプションデータのデータ長を削減するものである。なお、サインクリプション方式は、暗号化と署名を同時に行う方式である。
本発明の第2の実施形態は、非特許文献2記載のサインクリプション(Signcryption)方式において、署名者と検証者との間で送受信する電子署名としてのサインクリプションデータのデータ長を削減するものである。なお、サインクリプション方式は、暗号化と署名を同時に行う方式である。
図11は本発明の第2の実施形態に係る電子署名システムとして機能するサインクリプションシステムの全体構成図である。サインクリプションシステムは、互いにインターネット1を介して通信可能な鍵生成センター装置40、電子署名生成装置としてのサインクリプション生成装置50、及び電子署名検証装置としてのサインクリプション検証装置60を備えている。
なお、サインクリプション生成装置50は複数存在していても良いし、同様にサインクリプション検証装置60も複数存在していても良い。さらにサインクリプション生成装置50とサインクリプション検証装置60は同一の装置に含まれていても良い。これらの変形例は以下の各実施形態でも同様である。
次に、各装置40,50,60について具体的に説明する。
鍵生成センター装置40は、図12に示すように、通信部41、制御部42、鍵情報生成部43、選択データ記憶部44、乱数生成部45、秘密鍵記憶部46、公開情報記憶部47、及びID対応秘密鍵生成部48を備えている。
ここで、通信部41は、インターネット1を介してサインクリプション生成装置50とサインクリプション検証装置60との間で公開情報や鍵等のデータを送受信する機能をもっている。
制御部42は、公開情報や鍵等のデータを準備し、要求に応じて他の装置50,60に送信するように各部41,43〜48を制御するものであり、具体的には図16、図17及び図19に示す処理を実行するように、各部41,43〜48を制御する機能をもっている。
鍵情報生成部43は、ID情報に基づく暗号方式を構成するための楕円曲線を生成するなどの処理を行い種々のパラメータを生成すると共に、パラメータに従い公開鍵などの情報を生成するものである。鍵情報生成部43は、具体的には、選択データ記憶部44を参照し、楕円曲線E上でなすnねじれ群E[n]を構成する2つの巡回群<P>,<Q>に関し、それぞれ巡回群<P>から点Pを選択し、巡回群<Q>から点Qを選択する機能と、点P及び点Qに基づいてペアリングen(P,Q)=gを計算する機能と、公開情報PID=s(ID)P,QID=s(ID)Qを計算する機能と、点P,PID,Q,QID,g及び関数HP,HQ,H0,H1,H2,H2’,H3,H3’と、楕円曲線上の射影Ψ,ディストーションマップξを含む公開情報を公開情報記憶部47に書き込む機能と、鍵生成センター用秘密鍵生成関数s(ID)を秘密鍵記憶部46に書き込む機能と、サインクリプション生成装置50から検証者ID情報IDBを含む公開情報要求を通信部41及び制御部42を介して受信すると、検証者ID情報IDB、点P及び秘密鍵生成関数s(ID)に基づいて、検証者公開鍵PID_B=s(IDB)Pを計算する機能と、検証者公開鍵PID_B及び公開情報を制御部42及び通信部41を介してサインクリプション生成装置50に返信する機能と、サインクリプション検証装置60から署名者ID情報IDAを含む公開情報要求を通信部41及び制御部42を介して受信すると、署名者ID情報IDA、点Q及び秘密鍵生成関数s(ID)に基づいて、署名者公開鍵PID_A=s(IDA)Qを計算する機能と、署名者公開鍵PID_A及び公開情報を制御部42及び通信部41を介してサインクリプション検証装置60に返信する機能とを備えている。
なお、「ID_B」は「IDB」を表す。すなわち「_B」は下付添字の下付添字Bを表す。この表記法は、後述する「ID_A」でも同様である。また、この表記法は本明細書中で同様に用いられる。
選択データ記憶部44は、鍵情報生成部43から読出可能な記憶装置であり、予め楕円曲線E、及び楕円曲線E上のnねじれ群E[n]のデータを保持するものである。ここで、nねじれ群E[n]のデータは、2つの巡回群<P>,<Q>の元P,Qのデータを含んでいる。
乱数生成部45は、鍵情報生成部43に制御され、秘密鍵生成関数S(ID)の係数に用いられる乱数を生成する機能をもっている。ここで、秘密鍵生成関数s(ID)は、係数を乱数とし、変数をIDとするIDの多項式表現によって表される。また、s(ID)とs(ID)-1とは、逆元の関係にあり、互いに掛け合わせると単位元(ここでは1)になって打ち消される関係がある。このことに関連して、後述する検証処理の判定式(V=Rgh)が得られている。このs(ID)とs(ID)-1との関係は、以下の各実施形態でも同様である。
秘密鍵記憶部46は、鍵情報生成部43から読出/書込可能でID対応秘密鍵生成部48から読出可能な記憶装置であり、鍵生成センター用の秘密鍵生成関数s(ID)を保存するものである。
公開情報記憶部47は、鍵情報生成部43から読出/書込可能で制御部42から読出可能な記憶装置であり、ID情報に基づく暗号方式を構成する種々のパラメータやそれらパラメータから生成された公開情報を保存する。ここで、公開情報は、P,PID,Q,QID,g及び関数HP,HQ,H0,H1,H2,H2’,H3,H3’と、楕円曲線上の射影Ψ,ディストーションマップξを含んでいる。但し、公開情報としては、必ずしもここで述べた全ての情報を含む必要は無い。例えば、本実施形態の動作で用いない関数HP,HQ,H0,H2’,H3,H3’については、省略してもよい。但し、後述する第3の実施形態においては、関数H3’を省略しない。
関数HPは、バイナリ値を、<P>からなるnねじれ群E[n]の点に変換するものである。関数HQは、バイナリ値を、<Q>からなるnねじれ群E[n]の点に変換するものである。
関数H0は、バイナリ値を乗法群Zn*に変換するものである。関数H1は、<P>と<Q>からなるnねじれ群E[n]の点からバイナリ値に変換するものである。
関数H2は、<P>と<Q>からなるnねじれ群E[n]の点とバイナリ値とを連結したデータを乗法群Zn*に変換するものである。関数H2’は、<P>からなるnねじれ群E[n]の点とバイナリ値とを連結したデータを乗法群Zn*に変換するものである。
関数H3は、<P>からなるnねじれ群E[n]の点と、<P>と<Q>からなるnねじれ群E[n]の点と、バイナリ値とを連結したデータを乗法群Zn*に変換するものである。関数H3’は、<P>からなるnねじれ群E[n]の点と、<P>からなるnねじれ群E[n]の点と、バイナリ値とを連結したデータを乗法群Zn*に変換するものである。
ID対応秘密鍵生成部48は、サインクリプション生成装置50から署名者ID情報IDAを含む秘密鍵要求を通信部41及び制御部42を介して受信すると、公開鍵情報記憶部47内の点P及び秘密鍵記憶部46内の秘密鍵生成関数s(ID)に基づいて、署名者秘密鍵PsID_A=S(IDA)-1Pを計算する機能と、署名者秘密鍵PsID_Aを制御部42及び通信部41を介してサインクリプション生成装置50に返信する機能と、サインクリプション検証装置60から検証者ID情報IDBを含む秘密鍵要求を通信部41及び制御部42を介して受信すると、公開鍵情報記憶部47内の点Q及び秘密鍵記憶部46内の秘密鍵生成関数s(ID)に基づいて、検証者秘密鍵QsID_B=S(IDB)-1Qを計算する機能と、検証者秘密鍵QsID_Bを制御部42及び通信部41を介してサインクリプション検証装置60に返信する機能と、をもっている。
一方、サインクリプション生成装置50は、図13に示すように、通信部51、制御部52、公開情報記憶部53、秘密鍵記憶部54、サインクリプション生成部55、乱数生成部56及びサインクリプション圧縮部57を備えている。
通信部51は、インターネット1を介して鍵生成センター装置40とサインクリプション検証装置60との間で公開情報や鍵、サインクリプション(電子署名)等のデータを送受信する機能をもっている。
制御部52は、鍵生成センター装置40から受けたデータに基づき、サインクリプションを生成してサインクリプション検証装置60に送信するように各部51,53〜57を制御するものであり、具体的には図17及び図18に示す処理を実行するように、各部51,53〜57を制御する機能をもっている。また、制御部52は、署名者Aの操作により、サインクリプション検証装置60の検証者ID情報IDBを含む公開情報要求を通信部51を介して鍵生成センター装置40に送信する手段と、鍵生成センター装置40から受信した検証者公開鍵PID_B及び公開情報を公開情報記憶部53に書き込む機能と、署名者ID情報IDAを含む秘密鍵要求を鍵生成センター装置40に送信した後、鍵生成センター装置40から受信した署名者秘密鍵PsID_Aを秘密鍵記憶部54に書き込む機能とをもっている。
公開情報記憶部53は、制御部52から書込み可能でサインクリプション生成部55及びサインクリプション圧縮部57から読出可能な記憶装置であり、鍵生成センター装置40から通信部51により受信して制御部52により書き込まれた検証者公開鍵PID_B及び公開情報を保存する。ここで、公開情報は、P,PID,Q,QID,g及び関数HP,HQ,H0,H1,H2,H2’,H3,H3’と、楕円曲線上の射影Ψ,ディストーションマップξを含んでいる。
秘密鍵記憶部54は、制御部42から書込み可能でサインクリプション生成部45から読出可能な記憶装置であり、鍵生成センター装置40から通信部51により受信して制御部52により書き込まれた署名者秘密鍵PsID_Aを保存する。秘密鍵は、適宜、暗号化等により保護された状態で鍵生成センター装置40から受信する。
サインクリプション生成部55は、公開情報・秘密鍵・乱数を用いてサインクリプションデータを生成するものである。サインクリプション生成部55は、具体的には、乱数x及び点gに基づいて、点R=gxを計算する機能と、電子署名対象データmに対し、点R、関数H1に基づいて、値c=H1(R)(+)mを計算する機能(但し、(+)は排他的論理和)と、値c、点R及び関数H2に基づいて、値h=H2(R,c)を計算する機能と、値h、乱数x及び署名者秘密鍵PsID_Aに基づいて、点S=(x+h)PsID_Aを計算する機能と、乱数x及び検証者公開鍵PID_Bに基づいて、点T=xPID_Bを計算する機能と、得られた値c,点S,Tをサインクリプション圧縮部57に送出する機能とをもっている。
乱数生成部56は、サインクリプション生成部55に制御され、サインクリプション生成用の乱数xを生成する機能をもっている。
サインクリプション圧縮部57は、サインクリプション生成部55で生成されたサインクリプションの署名に関するデータを圧縮し、そのデータ長を削減するものである。サインクリプション圧縮部57は、具体的には、点T及びディストーションマップξに基づいて、点ξ(T)を計算する機能と、点S,ξ(T)を互いに加算して点X(=S+ξ(T))に圧縮する機能と、点X及び値cからなる電子署名σ=(c,X)を制御部52及び通信部51を介してサインクリプション検証装置60に送信する機能とをもっている。
他方、サインクリプション検証装置60は、図14に示すように、通信部61、制御部62、公開情報記憶部63、秘密鍵記憶部64、サインクリプション検証情報取得部65、サインクリプション検証部66及び公開鍵計算部67を備えている。
通信部61は、インターネット1を介して鍵生成センター装置40とサインクリプション生成装置50との間で公開情報や鍵、サインクリプション等のデータを送受信する機能をもっている。
制御部62は、鍵生成センター装置40から受けたデータに基づき、サインクリプション生成装置50から受信したサインクリプションを検証するように各部61,63〜67を制御するものであり、具体的には図19及び図20に示す処理を実行するように、各部61,63〜67を制御する機能をもっている。また、制御部62は、検証者Bの操作により、サインクリプション生成装置50の署名者ID情報IDAを含む公開情報要求を通信部61を介して鍵生成センター装置40に送信する機能と、鍵生成センター装置40から受信した署名者公開鍵QsID_A及び公開情報を公開情報記憶部63に書き込む機能と、検証者ID情報IDBを含む秘密鍵要求を通信部61を介して鍵生成センター装置40に送信する機能と、鍵生成センター装置40から通信部61を介して受信した検証者秘密鍵QsID_Bを秘密鍵記憶部64に書き込む機能とをもっている。
公開情報記憶部63は、制御部62から書込み可能で各部65〜67から読出可能な記憶装置であり、鍵生成センター装置40から通信部61により受信して制御部62により書き込まれた署名者公開鍵QID_A及び公開情報を保存する。ここで、公開情報は、P,PID,Q,QID,g及び関数HP,HQ,H0,H1,H2,H2’,H3,H3’と、楕円曲線上の射影Ψ,ディストーションマップξを含んでいる。
秘密鍵記憶部64は、制御部62から書込み可能で各部66,67から読出可能な記憶装置であり、鍵生成センター装置40から通信部61により受信して制御部62により書き込まれた検証者秘密鍵QsID_Bを保存する。
サインクリプション検証情報取得部65は、サインクリプション生成装置50から通信部61及び制御部62を介して受信したサインクリプションから、検証に必要なデータを取得するものである。サインクリプション検証情報取得部65は、具体的には、サインクリプション生成装置50から通信部61及び制御部62を介してサインクリプションσ=(c,X)を受信すると、このサインクリプションσ=(c,X)及び公開情報内の射影Ψに基づいて、点S=Ψ(X)を計算する機能と、得られた点S及びサインクリプションσ=(c,X)内の点Xに基づいて、点T=ξ-1(X−S)を計算する機能と、得られた点T,S及び値cをサインクリプション検証部66に送出する機能とをもっている。
サインクリプション検証部66は、サインクリプション生成装置50から通信部61及び制御部62を介して受信したサインクリプションが正当であるか否かを検証するものである。サインクリプション検証部66は、具体的には、サインクリプション検証情報取得部65から点T,S及び値cを受けると、得られた点T及び検証者秘密鍵QsID_Bに関し、楕円曲線上のペアリングに基づく点R=en(T,QsID_B)を計算する機能と、得られた点R、値c及び関数H2に基づいて、値h=H2(R,c)を計算する機能と、点R、値c及び関数H2に基づいて、電子署名対象データm=H1(R)(+)cを計算する機能と、点S及び署名者公開鍵QID_Aに関し、楕円曲線上のペアリングに基づく点V=en(S,QID_A)を計算する機能と、得られた点V、点R、点g及び値hに関する判定式V=Rgh が成立するか否かを判定する機能と、判定の結果、判定式が成立する場合にはサインクリプションσ=(c,X)を受け入れる機能と、判定の結果、判定式が成立しない場合にはサインクリプションσ=(c,X)を拒否する機能とをもっている。
公開鍵計算部67は、2回目以降の検証処理にて鍵生成センター装置40に公開情報を要求せずに、公開鍵情報記憶部63内の公開情報に基づいて、鍵生成センター装置40と同様の処理を行い、署名者公開鍵QID_Aなどの情報を計算するものである。
次に、以上のように構成されたサインクリプションシステムの動作を図15乃至図20を用いて説明する。以下の説明は、全体動作(図15)、セットアップ処理(図16)、サインクリプション(Signcryption)処理(図17)、サインクリプション処理内のサインクリプション生成処理(図18)、アンサインクリプション(Unsigncryption)処理(図19)及びアンサインクリプション処理内のサインクリプション検証処理(図20)、の順に行う。なお、サインクリプション処理は、前述した署名処理に対応し、アンサインクリプション処理は、前述した検証処理に対応する。
(全体動作:図15)
鍵生成センター装置40は、ID情報に基づく暗号方式を構成するための種々のパラメータを生成するためのセットアップ処理を実行する(ST51〜ST55)。
鍵生成センター装置40は、ID情報に基づく暗号方式を構成するための種々のパラメータを生成するためのセットアップ処理を実行する(ST51〜ST55)。
続いて、サインクリプション検証装置60は、サインクリプション生成装置50に対し、電子メール等の任意の方法でサインクリプションデータを要求する(ST60)。
サインクリプション生成装置50は、この要求を表示した後、署名者の操作に基づき、電子署名対象データに対してサインクリプション処理を実行し(ST61〜ST74)、電子署名対象データのサインクリプションデータを得る。
しかる後、サインクリプション生成装置50は、サインクリプションデータをサインクリプション検証装置60に送信する(ST80)。
サインクリプション検証装置60は、受信したサインクリプションデータを、署名者のID情報を基に検証するアンサインクリプション処理を実行する(ST81〜ST95)。
また、この後、検証者Bは、電子メール等の任意の通知方式により、署名者Aに対して、サインクリプションの署名が正当であったことを通知しても良いし、しなくてもよい。同様に、署名者Aは、電子メール等の任意の確認方法により、サインクリプションの署名の正当性を検証者Bに確認しても良い。また、検証者Bは存在せず、サインクリプション検証装置60が受信したサインクリプションデータの正当性を検証しても良い。さらにサインクリプションデータは要求に対して必ず生成しなければならないものではなく、要求が無くても署名者Aの意思でサインクリプションデータを生成しても良い。
続いて、セットアップ処理、サインクリプション処理及びアンサインクリプション処理について詳細に説明する。
(セットアップ処理:図16)
鍵生成センター装置40においては、鍵情報生成部43が、選択データ記憶部44を参照しながら、ペアリングの計算が可能な安全な楕円曲線Eとnねじれ群E[n]を選択すると共に、楕円曲線上の射影Ψ及びディストーションマップξを準備する(ST51)。
鍵生成センター装置40においては、鍵情報生成部43が、選択データ記憶部44を参照しながら、ペアリングの計算が可能な安全な楕円曲線Eとnねじれ群E[n]を選択すると共に、楕円曲線上の射影Ψ及びディストーションマップξを準備する(ST51)。
乱数生成部45は、署名者のIDに対応する秘密鍵を生成する秘密鍵生成関数s(ID)を乱数を生成して作成する。ここでs(ID)は、乱数を係数とするIDの多項式表現によって表される。
鍵情報生成部43は、選択データ記憶部44を参照し、楕円曲線Eのnねじれ群E[n]を構成する固有空間について、固有空間<P>から点Pを選択し、固有空間<Q>から点Qを選択する。そしてペアリングen(P,Q)=gを計算する(ST53)。
また、鍵情報生成部43は、公開情報PID=s(ID)P,QID=s(ID)Qを計算する(ST54)。このPID=s(ID)P,QID=s(ID)Qは、ID情報IDを鍵情報PID,QIDに変換する関数であり、サインクリプション検証装置60が次回からの検証時に公開鍵計算部67を使用しない場合があるので、必ずしも公開する必要はない。これは以下の各実施形態でも同様である。
さらに、鍵情報生成部43は、P,PID,Q,QID及び関数H1,H2,楕円曲線上の射影Ψと、ディストーションマップξを公開情報記憶部47に保存し、秘密鍵生成関数s(ID)を秘密鍵記憶部46に保存する(ST55)。
以上により、鍵生成センター装置40はセットアップ処理を終了する。なお、セットアップ処理は、ID情報に基づく暗号方式によるシステムを構築する際に最初に行われるものであり、システムにおける基盤となる情報を生成する。
(サインクリプション処理:図17)
サインクリプション生成装置50では、署名者Aの操作により、サインクリプション生成要求が入力されると(ST61)、公開情報を取得するため、公開情報要求を鍵生成センター装置40に送信する(ST62)。
サインクリプション生成装置50では、署名者Aの操作により、サインクリプション生成要求が入力されると(ST61)、公開情報を取得するため、公開情報要求を鍵生成センター装置40に送信する(ST62)。
鍵生成センター装置40は、公開情報要求を受けると、検証者BのID情報IDBに対応する検証者公開鍵PID_B=s(IDB)Pを計算し、この検証者公開鍵PID_Bと共に公開情報をサインクリプション生成装置50に送信する(ST63)。
また、サインクリプション生成装置50は、秘密鍵を取得するため、秘密鍵要求を鍵生成センター装置40に送信する(ST64)。
鍵生成センター装置40は、秘密鍵要求を受けると、署名者AのID情報IDAに対応する署名者秘密鍵PsID_A=s(IDA)-1Pを計算し、この署名者秘密鍵PsID_Aをサインクリプション生成装置50に送信する(ST65)。
サインクリプション生成装置50は、署名者秘密鍵PsID_Aを受けると、以下のように、サインクリプションデータを生成するサインクリプション生成処理を実行する(ST66〜ST74)。
[サインクリプション生成処理:図18]
サインクリプション生成装置50においては、署名者Aの操作により、サインクリプション対象データmが入力されたとする(ST66)。
サインクリプション生成装置50においては、署名者Aの操作により、サインクリプション対象データmが入力されたとする(ST66)。
続いて、サインクリプション生成装置50においては、サインクリプション生成部55が乱数生成部56を用いて乱数x∈Zn*を生成する(ST67)。
また、サインクリプション生成部55は、点R=gxを計算し(ST68)、さらに、値c=H1(R)(+)mを計算する(ST69)。
また、サインクリプション生成部55は、値h=H2(R,c)を計算し(ST70)、さらに、値S=(x+h)PsID_A を計算する(ST71)。
しかる後、サインクリプション生成部55は、点T=xPID_B を計算し(ST72)、1つのバイナリ値cと、2つの点データS,Tとからなるサインクリプションデータσ’=(c,S,T)を取得し、このサインクリプションデータσ’をサインクリプション圧縮部57に送出する。
サインクリプション圧縮部57は、このサインクリプションデータσ’を受けると、サインクリプションデータσ’に含まれる点データTのディストーションマップξ(T)を求める。次に、サインクリプション圧縮部57は、このディストーションマップξ(T)と、サインクリプションデータσ’内の別の点データSとを加算して圧縮した点X=S+ξ(T)を求める(ST73)。
これにより、サインクリプション圧縮部57は、この点Xのデータと、サインクリプションデータσ’内のバイナリ値cとからなるサインクリプションデータσ=(c,X)を取得し、このサインクリプションデータσ=(c,X)を制御部52に出力する(ST74)。
以上のサインクリプション処理においては、公開情報要求及び秘密鍵要求の処理(ST62,ST64)を同時に実行しても良く、これに伴い、公開情報送信及び秘密鍵送信の処理(ST63,ST65)を同時に実行しても良い。
(アンサインクリプション処理:図19)
アンサインクリプション検証装置60では、検証者Bの操作により、サインクリプションデータσ=(c,X)を含むサインクリプション検証要求が入力されると(ST81)、署名者Aの公開鍵及び公開情報を取得するため、公開情報要求を鍵生成センター装置40に送信する(ST82)。
アンサインクリプション検証装置60では、検証者Bの操作により、サインクリプションデータσ=(c,X)を含むサインクリプション検証要求が入力されると(ST81)、署名者Aの公開鍵及び公開情報を取得するため、公開情報要求を鍵生成センター装置40に送信する(ST82)。
鍵生成センター装置40は、公開情報要求を受けると、署名者AのID情報IDAに対応する署名者公開鍵QID_A=s(IDA)Qを計算し、この署名者公開鍵QID_Aと共に公開情報をサインクリプション検証装置60に送信する(ST83)。
また、サインクリプション検証装置60は、検証者IDの秘密鍵を取得するため、秘密鍵要求を鍵生成センター装置40に送信する(ST84)。
鍵生成センター装置40は、秘密鍵要求を受けると、検証者BのID情報IDBに対応する検証者秘密鍵QsID_B=s(IDB)-1Qを計算し、この検証者秘密鍵QsID_Bをサインクリプション検証装置60に送信する(ST85)。
サインクリプション検証装置60は、署名者公開鍵QsID_A、公開情報及び検証者秘密鍵QsID_Bを受けると、以下のように、サインクリプションデータを検証するサインクリプション検証処理を実行する(ST86〜ST95)。
[電子署名検証処理フロー:図20]
サインクリプション検証装置60においては、受信したサインクリプションデータσ=(c,X)がサインクリプション検証情報取得部65に入力されたとする(ST86)。
サインクリプション検証装置60においては、受信したサインクリプションデータσ=(c,X)がサインクリプション検証情報取得部65に入力されたとする(ST86)。
サインクリプション検証情報取得部65は、サインクリプションデータσ=(c,X)の電子署名Xから楕円曲線上の射影Ψを用いて点S=Ψ(X)を取得する(ST87)。
また、サインクリプション検証情報取得部65は、電子署名X及び点Sから点T=ξ-1(X−S)を求め(ST88)、2つの点データT,S及びσ内のバイナリ値cをサインクリプション検証部66に送出する。
サインクリプション検証部66は、点データT,S及びバイナリ値cを受けると、公開情報に基づいて、点R=en(T,QsID_B)を計算する(ST89)。
続いて、サインクリプション検証部66は、値h=H2(R,c)を計算すると共に(ST90)、値m=H1(R)(+)cを計算する(ST91)。
さらに、サインクリプション検証部66は、点V=en(S,QID_A)を計算する(ST92)。しかる後、サインクリプション検証部66は、次の判定式の右辺を計算し、判定式が成立するか否かを判定する(ST93)。
ステップST93の結果、判定式が成立する場合にサインクリプションデータσを正当であるとして、受け入れを示す検証結果を制御部62に出力する(ST94)また、判定式が成立しない場合にはサインクリプションデータσを不正であるとして、拒否を示す検証結果を制御部62に出力する(ST95)。
以上のアンサインクリプション処理においては、公開情報要求及び秘密鍵要求の処理(ST82,ST84)を同時に実行しても良く、これに伴い、公開情報送信及び秘密鍵送信の処理(ST83,ST85)を同時に実行しても良い。
上述したように本実施形態によれば、楕円曲線上のペアリングに基づく署名方式において、電子署名としてのサインクリプションデータσ’=(c,S,T)内の2つの点データS,Tを圧縮してサインクリプションデータσ=(c,X)を得るステップST73を含むサインクリプション生成処理と、サインクリプションデータσ=(c,X)内の点データXから2つの点データS,Tを取得するステップST87,88を含むサインクリプション検証処理とを実行する構成により、電子署名のデータ長を削減することができる。
詳しくは、鍵生成センター装置40において、楕円曲線E上のnねじれ群E[n]を2つの巡回群<P>,<Q>の直和とし、<P>から選択した点Pと、<Q>から選択した点Qと、楕円曲線上の射影Ψと、<P>から<Q>への同型写像であるディストーションマップξとを公開した構成により、サインクリプション生成装置50では、<P>に属する点Sと、<Q>に属する点ξ(T)とを互いに加算して点X=S+ξ(T)に圧縮し、サインクリプションデータσ=(c,X)を生成して送信することができる。
また、サインクリプション検証装置60では、受信したサインクリプションデータσ=(c,X)内の点Xの射影Ψを求めることにより、点S=Ψ(X)及び点T=ξ-1(X−S)を取得することができる。
このように、サインクリプション内の点S,Tを点Xに圧縮して送受信可能としたので、楕円曲線上のペアリングに基づく署名方式において、署名者と検証者との間で送受信する電子署名としてのサインクリプションのデータ長を削減することができる。
(第3の実施形態)
本発明の第3の実施形態は、第2の実施形態の変形例であり、具体的には、指定した検証者が、電子署名としてのサインクリプションを検証する第2の実施形態とは異なり、任意の検証者がサインクリプションを検証可能とし、且つ前述同様にサインクリプションのデータ長を削減するものである。
本発明の第3の実施形態は、第2の実施形態の変形例であり、具体的には、指定した検証者が、電子署名としてのサインクリプションを検証する第2の実施形態とは異なり、任意の検証者がサインクリプションを検証可能とし、且つ前述同様にサインクリプションのデータ長を削減するものである。
図21は本発明の第3の実施形態に係る電子署名システムとして機能するサインクリプションシステムの全体構成図である。サインクリプションシステムは、互いにインターネット1を介して通信可能な鍵生成センター装置40、サインクリプション生成装置70及びサインクリプション検証装置80を備えている。ここで、鍵生成センター装置40は第2の実施形態と同様のものであるが、送受信先がサインクリプション生成装置50に代えてサインクリプション生成装置70であり、同様に、送受信先がサインクリプション検証装置60に代えてサインクリプション検証装置80となっている。サインクリプション生成装置70及びサインクリプション検証装置80は、それぞれ本実施形態に対応した構成となっている。
次に、各装置70,80について具体的に説明する。
サインクリプション生成装置70は、図22に示すように、通信部71、制御部72、公開情報記憶部73、秘密鍵記憶部74、サインクリプション生成部75、乱数生成部76及びサインクリプション圧縮部77を備えている。
通信部71は、インターネット1を介して鍵生成センター装置40とサインクリプション検証装置80との間で公開情報や鍵、サインクリプション(電子署名)等のデータを送受信する機能をもっている。
制御部72は、鍵生成センター装置40から受けたデータに基づき、サインクリプションを生成してサインクリプション検証装置80に送信するように各部71,73〜77を制御するものであり、具体的には図25及び図26に示す処理を実行するように、各部71,73〜77を制御する機能をもっている。また、制御部72は、署名者Aの操作により、署名者ID情報IDA及び検証者ID情報IDBを含む公開情報要求を通信部71を介して鍵生成センター装置40に送信する手段と、鍵生成センター装置40から受信した署名者公開鍵PID_A、検証者公開鍵PID_B及び公開情報を公開情報記憶部73に書き込む機能と、署名者ID情報IDAを含む秘密鍵要求を鍵生成センター装置40に送信した後、鍵生成センター装置40から受信した署名者秘密鍵QsID_Aを秘密鍵記憶部74に書き込む機能とをもっている。
公開情報記憶部73は、制御部72から書込み可能でサインクリプション生成部75及びサインクリプション圧縮部77から読出可能な記憶装置であり、鍵生成センター装置40から通信部71により受信して制御部72により書き込まれた署名者公開鍵PID_A、検証者公開鍵PID_B及び公開情報を保存する。ここで、公開情報は、P,PID,Q,QID,g及び関数HP,HQ,H0,H1,H2,H2’,H3,H3’と、楕円曲線上の射影Ψ,ディストーションマップξを含んでいる。
秘密鍵記憶部74は、制御部72から書込み可能でサインクリプション生成部75から読出可能な記憶装置であり、鍵生成センター装置40から通信部71により受信して制御部72により書き込まれた署名者秘密鍵QsID_Aを保存する。秘密鍵は、適宜、暗号化等により保護された状態で鍵生成センター装置40から受信する。
サインクリプション生成部75は、公開情報・秘密鍵・乱数を用いてサインクリプションデータを生成するものである。サインクリプション生成部75は、具体的には、乱数x及び点gに基づいて、点N=g^x-1を計算する機能(但し、^は、べき乗を表す)と、乱数x及び署名者公開鍵PID_Aに基づいて、点R=xPID_Aを計算する機能と、乱数x及び検証者公開鍵PID_Bに基づいて、点S=x-1PID_Bを計算する機能と、電子署名対象データmに対し、点N、関数H1に基づいて、値c=H1(N)(+)mを計算する機能(但し、(+)は排他的論理和)と、得られた値c、点R、点S及び関数H3’に基づいて、値h=H3’(R,S,c)を計算する機能と、得られた値h、乱数x及び署名者秘密鍵QsID_Aに基づいて、点T=(x+h)-1QsID_Aを計算する機能と、得られた値c,点S,Tをサインクリプション圧縮部77に送出する機能とをもっている。
乱数生成部76は、サインクリプション生成部75に制御され、サインクリプション生成用の乱数xを生成する機能をもっている。
サインクリプション圧縮部77は、サインクリプション生成部55で生成されたサインクリプションの署名に関するデータを圧縮し、そのデータ長を削減するものである。サインクリプション圧縮部77は、具体的には、点S及び点Tを互いに加算して点X(=S+T)に圧縮する機能と、点X、点R及び値cからなるサインクリプションσ=(c,R,X)を制御部72及び通信部71を介してサインクリプション検証装置80に送信する機能とをもっている。
一方、サインクリプション検証装置80は、図23に示すように、通信部81、制御部82、公開情報記憶部83、秘密鍵記憶部84、サインクリプション検証情報取得部85、サインクリプション検証部86及び公開鍵計算部87を備えている。
通信部81は、インターネット1を介して鍵生成センター装置40とサインクリプション生成装置70との間で公開情報や鍵、サインクリプション等のデータを送受信する機能をもっている。
制御部82は、鍵生成センター装置40から受けたデータに基づき、サインクリプション生成装置70から受信したサインクリプションを検証するように各部81,83〜87を制御するものであり、具体的には図27及び図28に示す処理を実行するように、各部81,83〜87を制御する機能をもっている。また、制御部82は、検証者Bの操作により、サインクリプション生成装置50の署名者ID情報IDAを含む公開情報要求を通信部81を介して鍵生成センター装置40に送信する機能と、鍵生成センター装置40から受信した署名者公開鍵PID_A及び公開情報を公開情報記憶部83に書き込む機能と、検証者ID情報IDBを含む秘密鍵要求を通信部81を介して鍵生成センター装置40に送信する機能と、鍵生成センター装置40から通信部81を介して受信した検証者秘密鍵QsID_Bを秘密鍵記憶部84に書き込む機能とをもっている。
公開情報記憶部83は、制御部82から書込み可能で各部85〜87から読出可能な記憶装置であり、鍵生成センター装置40から通信部81により受信して制御部82により書き込まれた署名者公開鍵PID_A及び公開情報を保存する。ここで、公開情報は、P,PID,Q,QID,g及び関数HP,HQ,H0,H1,H2,H2’,H3,H3’と、楕円曲線上の射影Ψ,ディストーションマップξを含んでいる。
秘密鍵記憶部84は、制御部82から書込み可能で各部86,87から読出可能な記憶装置であり、鍵生成センター装置40から通信部81により受信して制御部82により書き込まれた検証者秘密鍵QsID_Bを保存する。
サインクリプション検証情報取得部85は、サインクリプション生成装置70から通信部81及び制御部82を介して受信したサインクリプションから、検証に必要なデータを取得するものである。サインクリプション検証情報取得部85は、具体的には、サインクリプション生成装置50から通信部61及び制御部62を介してサインクリプションσ=(c,R,X)を受信すると、このサインクリプションσ=(c,R,X)及び公開情報内の射影Ψに基づいて、点S=Ψ(X)を計算する機能と、得られた点S及びサインクリプションσ=(c,R,X)内の点Xに基づいて、点T=X−Sを計算する機能と、得られた点T,S,R及び値cをサインクリプション検証部86に送出する機能とをもっている。
サインクリプション検証部86は、サインクリプション生成装置70から通信部81及び制御部82を介して受信したサインクリプションが正当であるか否かを検証するものである。サインクリプション検証部86は、具体的には、サインクリプション検証情報取得部85から点T,S,R及び値cを受けると、点R、点S、値c及び関数H3’に基づいて、値h=H3’(R,S,c)を計算する機能と、得られた値h、点R、点T及び署名者公開鍵PID_Aに関し、楕円曲線上のペアリングに基づく点V=en(R+hPID_A,T)を計算する機能と、点S及び検証者秘密鍵QsID_Bに関し、楕円曲線上のペアリングに基づく点N=en(S,QsID_B)を計算する機能と、得られた点N、値c及び関数H1に基づいて、電子署名対象データm=H1(N)(+)cを計算する機能と、点V及び点gに関する判定式V=gが成立するか否かを判定する機能と、判定の結果、判定式が成立する場合にはサインクリプションσ=(c,R,X)を受け入れる機能と、
判定の結果、判定式が成立しない場合にはサインクリプションσ=(c,R,X)を拒否する機能とをもっている。
判定の結果、判定式が成立しない場合にはサインクリプションσ=(c,R,X)を拒否する機能とをもっている。
公開鍵計算部87は、2回目以降の検証処理にて鍵生成センター装置40に公開情報を要求せずに、公開鍵情報記憶部83内の公開情報に基づいて、鍵生成センター装置40と同様の処理を行い、署名者公開鍵PID_Aなどの情報を計算するものである。
次に、以上のように構成されたサインクリプションシステムの動作を図24乃至図28を用いて説明する。なお、以下の説明は、全体動作(図24)、セットアップ処理、サインクリプション処理(図25)、サインクリプション処理内のサインクリプション生成処理(図26)、アンサインクリプション処理(図27)及びアンサインクリプション処理内のサインクリプション検証処理(図28)、の順に行う。
(全体動作:図24)
サインクリプションシステムの全体動作は、前述同様に、セットアップ処理(ST51〜ST55)、サインクリプションデータ要求(ST100)、サインクリプション処理(ST101〜ST115)、サインクリプションデータ送付(ST120)及びアンサインクリプション処理(ST121〜ST135)の順に、実行される。
サインクリプションシステムの全体動作は、前述同様に、セットアップ処理(ST51〜ST55)、サインクリプションデータ要求(ST100)、サインクリプション処理(ST101〜ST115)、サインクリプションデータ送付(ST120)及びアンサインクリプション処理(ST121〜ST135)の順に、実行される。
以下、セットアップ処理、サインクリプション処理、アンサインクリプション処理、の順に説明する。
(セットアップ処理)
セットアップ処理は、図16を用いて前述した通りに実行される。
(サインクリプション処理:図25)
サインクリプション生成装置70では、署名者Aの操作により、サインクリプション生成要求が入力されると(ST101)、公開情報を取得するため、公開情報要求を鍵生成センター装置40に送信する(ST102)。
セットアップ処理は、図16を用いて前述した通りに実行される。
(サインクリプション処理:図25)
サインクリプション生成装置70では、署名者Aの操作により、サインクリプション生成要求が入力されると(ST101)、公開情報を取得するため、公開情報要求を鍵生成センター装置40に送信する(ST102)。
鍵生成センター装置40は、公開情報要求を受けると、署名者AのID情報IDAに対応する署名者公開鍵PID_A=s(IDA)P、検証者BのID情報に対応する検証者公開鍵PID_B=s(IDB)Pを計算し、各公開鍵PID_A,PID_Bと共に公開情報をサインクリプション生成装置70に送信する(ST103)。
また、サインクリプション生成装置70は、秘密鍵を取得するため、秘密鍵要求を鍵生成センター装置40に送信する(ST104)。
鍵生成センター装置40は、秘密鍵要求を受けると、署名者AのID情報IDAに対応する署名者秘密鍵QsID_A=s(IDA)-1Qを計算し、この署名者秘密鍵QsID_Aをサインクリプション生成装置70に送信する(ST105)。
サインクリプション生成装置70は、署名者秘密鍵QsID_Aを受けると、以下のように、サインクリプションデータを生成するサインクリプション生成処理を実行する(ST106〜ST115)。
[サインクリプション生成処理:図26]
サインクリプション生成装置70においては、署名者Aの操作により、サインクリプション対象データmが入力されたとする(ST106)。
サインクリプション生成装置70においては、署名者Aの操作により、サインクリプション対象データmが入力されたとする(ST106)。
続いて、サインクリプション生成装置70においては、サインクリプション生成部75が乱数生成部76を用いて乱数x∈Zn*を生成する(ST107)。
また、サインクリプション生成部75は、点N=g^x-1(但し、^はべき乗を表す記号)を計算し(ST108)、さらに、点R=xPID_Aを計算する(ST109)。
続いて、サインクリプション生成部75は、点S=x-1PID_Bを計算し(ST110)、値c=H1(N)(+)mを計算する(ST111)。
また、サインクリプション生成部55は、値h=H3’(R,S,c)を計算し(ST112)、点T=(x+h)-1QsID_Aを計算する(ST113)。
しかる後、サインクリプション生成部75は、1つのバイナリ値cと、3つの点データR,S,Tとからなるサインクリプションデータσ’=(c,R,S,T)を取得し、このサインクリプションデータσ’をサインクリプション圧縮部77に送出する。
サインクリプション圧縮部77は、このサインクリプションデータσ’を受けると、サインクリプションデータσ’内の2つの点データS,Tを互いに加算して圧縮した点X=S+Tを求める(ST114)。
これにより、サインクリプション圧縮部57は、この点Xのデータと、サインクリプションデータσ’内のバイナリ値cと残りの点データRとからなるサインクリプションデータσ=(c,R,X)を取得し、このサインクリプションデータσ=(c,R,X)を制御部72に出力する(ST115)。
以上のサインクリプション処理においては、公開情報要求及び秘密鍵要求の処理(ST102,ST104)を同時に実行しても良く、これに伴い、公開情報送信及び秘密鍵送信の処理(ST103,ST105)を同時に実行しても良い。
(アンサインクリプション処理:図27)
アンサインクリプション検証装置80では、検証者Bの操作により、サインクリプションデータσ=(c,R,X)を含むサインクリプション検証要求が入力されると(ST121)、署名者Aの公開鍵及び公開情報を取得するため、公開情報要求を鍵生成センター装置40に送信する(ST122)。
アンサインクリプション検証装置80では、検証者Bの操作により、サインクリプションデータσ=(c,R,X)を含むサインクリプション検証要求が入力されると(ST121)、署名者Aの公開鍵及び公開情報を取得するため、公開情報要求を鍵生成センター装置40に送信する(ST122)。
鍵生成センター装置40は、公開情報要求を受けると、署名者AのID情報IDAに対応する公開鍵PID_A=s(IDA)Pを計算し、この公開鍵PID_Aと共に公開情報をサインクリプション検証装置80に送信する(ST123)。
また、サインクリプション検証装置80は、検証者IDの秘密鍵を取得するため、秘密鍵要求を鍵生成センター装置40に送信する(ST124)。
鍵生成センター装置40は、秘密鍵要求を受けると、検証者BのID情報IDBに対応する検証者秘密鍵QsID_B=s(IDB)-1Qを計算し、この検証者秘密鍵QsID_Bをサインクリプション検証装置80に送信する(ST125)。
サインクリプション検証装置80は、署名者公開鍵PsID_A、公開情報及び検証者秘密鍵QsID_Bを受けると、以下のように、サインクリプションデータを検証するサインクリプション検証処理を実行する(ST126〜ST135)。
[サインクリプション検証処理:図28]
サインクリプション検証装置80においては、受信したサインクリプションデータσ=(c,R,X)がサインクリプション検証情報取得部85に入力されたとする(ST126)。
サインクリプション検証装置80においては、受信したサインクリプションデータσ=(c,R,X)がサインクリプション検証情報取得部85に入力されたとする(ST126)。
サインクリプション検証情報取得部85は、サインクリプションデータσ=(c,R,X)の電子署名Xから楕円曲線上の射影Ψを用いて点S=Ψ(X)を取得する(ST127)。
また、サインクリプション検証情報取得部85は、電子署名X及び点Sから点T=X−Sを求め(ST128)、3つの点データR,T,S及びσ内のバイナリ値cをサインクリプション検証部86に送出する。
サインクリプション検証部86は、点データR,T,S及びバイナリ値cを受けると、公開情報に基づいて、値h=H3’(R,S,c)を求める(ST129)。
続いて、サインクリプション検証部86は、点V=en(R+hPID_A,T)を計算すると共に(ST130)、点N=en(S,QsID_B)(+)cを計算する(ST131)。
さらに、サインクリプション検証部86は、値m=H1(N)(+)cを計算する(ST132)。しかる後、サインクリプション検証部86は、計算した点Vと公開情報内の点gを用い、次の判定式が成立するか否かを判定する(ST133)。
ステップST133の結果、判定式が成立する場合にサインクリプションデータσを正当であるとして、受け入れを示す検証結果を制御部82に出力する(ST134)また、判定式が成立しない場合にはサインクリプションデータσを不正であるとして、拒否を示す検証結果を制御部62に出力する(ST135)。
以上のアンサインクリプション処理においては、公開情報要求及び秘密鍵要求の処理(ST122,ST124)を同時に実行しても良く、これに伴い、公開情報送信及び秘密鍵送信の処理(ST123,ST125)を同時に実行しても良い。
また、アンサインクリプション処理においては、秘密鍵要求及び秘密鍵送信の処理(ST124,ST125)の処理を行わず、かつサインクリプション検証処理の点Nの計算処理及び値mの計算処理(ST131,ST132)を行わない場合は、任意の検証者がサインクリプションの電子署名の正当性を検証することができる。当然この際には暗号データcを復号することはできない。
上述したように本実施形態によれば、楕円曲線上のペアリングに基づく署名方式において、電子署名としてのサインクリプションデータσ’=(c,R,S,T)内の2つの点データS,Tを圧縮してサインクリプションデータσ=(c,R,X)を得るステップST114を含むサインクリプション生成処理と、サインクリプションデータσ=(c,R,X)内の点データXから2つの点データS,Tを取得するステップST127,128を含むサインクリプション検証処理とを実行する構成により、電子署名のデータ長を削減することができる。
詳しくは、鍵生成センター装置40において、楕円曲線E上のnねじれ群E[n]を2つの巡回群<P>,<Q>の直和とし、<P>から選択した点Pと、<Q>から選択した点Qと、楕円曲線上の射影Ψと、<P>から<Q>への同型写像であるディストーションマップξとを公開した構成により、サインクリプション生成装置70では、<P>に属する点Sと、<Q>に属する点Tとを互いに加算して点X=S+Tに圧縮し、サインクリプションデータσ=(c,R,X)を生成して送信することができる。
また、サインクリプション検証装置80では、受信したサインクリプションデータσ=(c,R,X)内の点Xの射影Ψを求めることにより、点S=Ψ(X)及び点T=X−Sを取得することができる。
このように、サインクリプションデータ内の点S,Tを点Xに圧縮して送受信可能としたので、楕円曲線上のペアリングに基づく署名方式において、署名者と検証者との間で送受信する電子署名としてのサインクリプションのデータ長を削減することができる。
なお、本発明は、上記各実施形態の方式への適用に限らず、署名の連結や、プロキシー(proxy)署名など、その他の方式においても、同様に楕円曲線上の射影を用いることで、各方式における署名長を削減することができる。すなわち、楕円曲線上の複数の点データを含む電子署名を送受信する方式であれば、任意の方式においても同様に、複数の点データを1つの点データに圧縮して送信した後に、受信先でこの圧縮された点データから射影により複数の点データを取得できるので、各方式における署名長を削減することができる。
また、上記実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フロッピー(登録商標)ディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶又は一時記憶した記憶媒体も含まれる。
また、記憶媒体は1つに限らず、複数の媒体から上記実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記実施形態における各処理を実行するものであって、パソコン等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態に亘る構成要素を適宜組合せてもよい。
1…インターネット、10,40…鍵生成センター装置、11,21,31,41,51,61,71,81…通信部、12,22,32,42,52,62,72,82…制御部、13,43…鍵情報生成部、14,44…選択データ記憶部、15,45…乱数生成部、16,24,46,54,64,74,84…秘密鍵記憶部、17,23,33,47,53,63,73,87…公開情報記憶部、18,48…ID対応秘密鍵生成部、20…電子署名生成装置、25…電子署名生成部、26,56,76…乱数生成部、27…電子署名圧縮部、30…電子署名検証装置、34…電子署名検証情報取得部、35…電子署名検証部、36,67,87…公開鍵計算部、50,70…サインクリプション生成装置、55,75…サインクリプション生成部、57,77…サインクリプション圧縮部、60,80…サインクリプション検証装置、65,85…サインクリプション検証情報取得部、66,86…サインクリプション検証部。
Claims (15)
- 楕円曲線上のペアリングen( , )に基づく電子署名方式に用いられ、互いに通信可能な鍵生成センター装置、電子署名生成装置及び電子署名検証装置を備えた電子署名システムであって、
前記鍵生成センター装置は、
鍵生成センター用秘密鍵Lとしての乱数を生成する手段と、
楕円曲線E上でなすnねじれ群E[n]を構成する2つの巡回群<P>,<Q>に関し、それぞれ巡回群<P>から点Pを選択し、巡回群<Q>から点Qを選択する手段と、
前記鍵生成センター用秘密鍵L及び点Qに基づいて、点Qpub=LQを計算する手段と、
前記点P,Q,Qpub及び一方向性関数h( )と楕円曲線上の射影Ψとを含む公開情報が記憶される第1公開情報記憶手段と、
前記鍵生成センター用秘密鍵Lが記憶される第1秘密鍵記憶手段と、
前記電子署名生成装置又は前記電子署名検証装置から署名者ID情報IDAを含む公開情報要求を受信すると、前記署名者ID情報IDA、前記点P及び前記一方向性関数h( )に基づいて、署名者公開鍵PA=h(IDA)Pを計算する手段と、
前記署名者公開鍵PA及び前記公開情報を前記公開情報要求の送信元に返信する手段と、
前記電子署名生成装置から秘密鍵要求を受信すると、前記署名者公開鍵PA及び前記鍵生成センター用秘密鍵Lに基づいて、署名者秘密鍵KA=LPAを計算する手段と、
前記署名者秘密鍵KAを前記電子署名生成装置に返信する手段とを備えており、
前記電子署名生成装置は、
前記鍵生成センター装置から受信した署名者公開鍵PA及び公開情報が記憶される第2公開情報記憶手段と、
前記鍵生成センター装置から受信した署名者秘密鍵KAが記憶される第2秘密鍵記憶手段と、
電子署名生成用の乱数kを生成する手段と、
前記乱数k及び前記公開情報内の点Qに基づいて、点R=kQを計算する手段と、
電子署名対象データmに対し、前記乱数k、前記署名者秘密鍵KA、前記署名者公開鍵PA、前記公開情報内の一方向性関数h( )及び前記点Rのx座標値xに基づいて、点S=[h(m)/k]PA+[x/k]KA を計算する手段と、
前記点R,Sを互いに加算して点T(=R+S)に圧縮する手段と、
前記点Tからなる電子署名σ=(T)及び前記電子署名対象データmを前記電子署名検証装置に送信する手段とを備えており、
前記電子署名検証装置は、
前記鍵生成センター装置から受信した署名者公開鍵PA及び公開情報が記憶される第3公開情報記憶手段と、
前記電子署名生成装置から電子署名σ=(T)及び電子署名対象データmを受信すると、前記公開情報内の射影Ψに基づいて、点R=Ψ(T)を計算する手段と、
得られた点R及び前記電子署名σ=(T)に基づいて、点S=T−Rを計算する手段と、
前記電子署名σ=(T)から得られた点S,Rに関し、前記署名者公開鍵PA及び公開情報を用いて、楕円曲線上のペアリングに基づく判定式en(S,R)=en(PA,Q)h(m)en(PA,Qpub)x が成立するか否かを判定する手段と、
前記判定の結果、前記判定式が成立する場合には前記電子署名σ=(T)を受け入れる手段と
を備えたことを特徴とする電子署名システム。 - 楕円曲線上のペアリングen( , )に基づく電子署名方式に用いられ、電子署名生成装置及び電子署名検証装置に通信可能な鍵生成センター装置であって、
鍵生成センター用秘密鍵Lとしての乱数を生成する手段と、
楕円曲線E上でなすnねじれ群E[n]を構成する2つの巡回群<P>,<Q>に関し、それぞれ巡回群<P>から点Pを選択し、巡回群<Q>から点Qを選択する手段と、
前記鍵生成センター用秘密鍵L及び点Qに基づいて、点Qpub=LQを計算する手段と、
前記点P,Q,Qpub及び一方向性関数h( )と楕円曲線上の射影Ψとを含む公開情報が記憶される第1公開情報記憶手段と、
前記鍵生成センター用秘密鍵Lが記憶される第1秘密鍵記憶手段と、
前記電子署名生成装置又は前記電子署名検証装置から署名者ID情報IDAを含む公開情報要求を受信すると、前記署名者ID情報IDA、前記点P及び前記一方向性関数h( )に基づいて、署名者公開鍵PA=h(IDA)Pを計算する手段と、
前記署名者公開鍵PA及び前記公開情報を前記公開情報要求の送信元に返信する手段と、
前記電子署名生成装置から秘密鍵要求を受信すると、前記署名者公開鍵PA及び前記鍵生成センター用秘密鍵Lに基づいて、署名者秘密鍵KA=LPAを計算する手段と、
前記署名者秘密鍵KAを前記電子署名生成装置に返信する手段とを備えており、
前記2つの巡回群<P>,<Q>の直和を前記nねじれ群E[n]としたことにより、前記点Pから計算される点Rと、前記点Qから計算される点Sとから前記電子署名生成装置により生成される電子署名σ’=(R,S)を各点R,S同士の加算により点T(=R+S)からなる電子署名σ=(T)に圧縮可能とし、且つ、前記電子署名検証装置に送信される電子署名σ=(T)から、前記射影Ψに基づく点R=Ψ(T)の計算と当該点Rに基づく点S=T−Rの計算とにより、圧縮前の電子署名σ’=(R,S)内の点R,Sを取得可能としたことを特徴とする鍵生成センター装置。 - 楕円曲線上のペアリングen( , )に基づく電子署名方式に用いられ、鍵生成センター装置及び電子署名検証装置に通信可能な電子署名生成装置であって、
自己の署名者ID情報IDAを含む公開情報要求を前記鍵生成センター装置に送信する手段と、
前記鍵生成センター装置から受信した「署名者公開鍵PA=h(IDA)P」及び「点P,Q,Qpub及び一方向性関数h( )と楕円曲線上の射影Ψとを含む公開情報(但し、前記点Pは、楕円曲線E上でなすnねじれ群E[n]を構成する2つの巡回群<P>,<Q>のうちの巡回群<P>から選択された点であり、前記点Qは前記巡回群<Q>から選択された点であり、前記2つの巡回群<P>,<Q>の直和は前記nねじれ群E[n]であり、前記点Qpubは鍵生成センター用秘密鍵Lと点Qとの積(点Qpub=LQ)である)」が記憶される第2公開情報記憶手段と、
前記鍵生成センター装置に秘密鍵要求を送信した後、前記鍵生成センター装置から受信した署名者秘密鍵KA=LPAが記憶される第2秘密鍵記憶手段と、
電子署名生成用の乱数kを生成する手段と、
前記乱数k及び前記公開情報内の点Qに基づいて、点R=kQを計算する手段と、
電子署名対象データmに対し、前記乱数k、前記署名者秘密鍵KA、前記署名者公開鍵PA、前記公開情報内の一方向性関数h( )及び前記点Rのx座標値xに基づいて、点S=[h(m)/k]PA+[x/k]KA を計算する手段と、
前記点R,Sを互いに加算して点T(=R+S)に圧縮する手段と、
前記点Tからなる電子署名σ=(T)及び前記電子署名対象データmを前記電子署名検証装置に送信する手段とを備えており、
前記電子署名σ=(T)は、前記射影Ψに基づく点R=Ψ(T)の計算と当該点Rに基づく点S=T−Rの計算とにより、圧縮前の電子署名σ’=(R,S)内の点R,Sを取得可能であることを特徴とする電子署名生成装置。 - 楕円曲線上のペアリングen( , )に基づく電子署名方式に用いられ、鍵生成センター装置及び電子署名生成装置に通信可能な電子署名検証装置であって、
前記電子署名生成装置の署名者ID情報IDAを含む公開情報要求を前記鍵生成センター装置に送信する手段と、
前記鍵生成センター装置から受信した「署名者公開鍵PA=h(IDA)P」及び「点P,Q,Qpub及び一方向性関数h( )と楕円曲線上の射影Ψとを含む公開情報(但し、前記点Pは、楕円曲線E上でなすnねじれ群E[n]を構成する2つの巡回群<P>,<Q>のうちの巡回群<P>から選択された点であり、前記点Qは前記巡回群<Q>から選択された点であり、前記2つの巡回群<P>,<Q>の直和は前記nねじれ群E[n]であり、前記点Qpubは鍵生成センター用秘密鍵Lと点Qとの積(点Qpub=LQ)である)」が記憶される第3公開情報記憶手段と、
前記電子署名生成装置から電子署名対象データm及び電子署名σ=(T)を受信する手段(但し、点TはT=R+Sに圧縮されており、点RはR=kQであり(k:乱数)、点SはS=[h(m)/k]PA+[x/k]KA)であり、xは点Rのx座標値であり、KAは署名者秘密鍵KA=LQである(L:乱数))と、
前記受信した電子署名σ=(T)及び前記公開情報内の射影Ψに基づいて、点R=Ψ(T)を計算する手段と、
得られた点R及び前記電子署名σ=(T)に基づいて、点S=T−Rを計算する手段と、
前記電子署名σ=(T)から得られた点S,Rに関し、前記署名者公開鍵PA及び公開情報を用いて、楕円曲線上のペアリングに基づく判定式en(S,R)=en(PA,Q)h(m)en(PA,Qpub)x が成立するか否かを判定する手段と、
前記判定の結果、前記判定式が成立する場合には前記電子署名σ=(T)を受け入れる手段と
を備えたことを特徴とする電子署名検証装置。 - 楕円曲線上のペアリングen( , )に基づく電子署名方式に用いられ、鍵生成センター装置及び電子署名検証装置に通信可能な電子署名生成装置であって、
前記電子署名検証装置の検証者ID情報IDBを含む公開情報要求を前記鍵生成センター装置に送信する手段と、
前記鍵生成センター装置から受信した「検証者公開鍵PID_B=s(IDB)P(但し、s(ID)は秘密鍵生成関数)」及び「点P,点Q,点g=en(P,Q)、関数H1,H2,楕円曲線上の射影Ψ,同型写像ξを含む公開情報(但し、前記点Pは、楕円曲線E上でなすnねじれ群E[n]を構成する2つの巡回群<P>,<Q>のうちの巡回群<P>から選択された点であり、前記点Qは前記巡回群<Q>から選択された点であり、前記2つの巡回群<P>,<Q>の直和は前記nねじれ群E[n]であり、前記関数H1はnねじれ群E[n]の点をバイナリ値に変換する関数であり、前記関数H2はnねじれ群E[n]の点とバイナリ値とを連結したデータを乗法群Zn*に変換する関数であり、同型写像ξは<P>から<Q>への同型写像である)」が記憶される第2公開情報記憶手段と、
署名者ID情報IDAを含む秘密鍵要求を前記鍵生成センター装置に送信した後、前記鍵生成センター装置から受信した署名者秘密鍵PsID_A=s(IDA)-1Pが記憶される第2秘密鍵記憶手段と、
電子署名生成用の乱数xを生成する手段と、
前記乱数x及び前記点gに基づいて、点R=gxを計算する手段と、
電子署名対象データmに対し、前記点R、前記関数H1に基づいて、値c=H1(R)(+)mを計算する手段(但し、(+)は排他的論理和)と、
前記値c、前記点R及び前記関数H2に基づいて、値h=H2(R,c)を計算する手段と、
前記値h、前記乱数x及び前記署名者秘密鍵PsID_Aに基づいて、点S=(x+h)PsID_Aを計算する手段と、
前記乱数x及び前記検証者公開鍵PID_Bに基づいて、点T=xPID_Bを計算する手段と、
前記点T及び前記同型写像ξに基づいて、点ξ(T)を計算する手段と、
前記点S,ξ(T)を互いに加算して点X(=S+ξ(T))に圧縮する手段と、
前記点X及び前記値cからなる電子署名σ=(c,X)を前記電子署名検証装置に送信する手段とを備えており、
前記電子署名σ=(c,X)は、前記射影Ψに基づく点S=Ψ(X)の計算と当該点Sに基づく点T=ξ-1(X−S)の計算とにより、圧縮前の電子署名σ’=(c,S,T)内の点S,Tを取得可能であることを特徴とする電子署名生成装置。 - 楕円曲線上のペアリングen( , )に基づく電子署名方式に用いられ、鍵生成センター装置及び電子署名生成装置に通信可能な電子署名検証装置であって、
前記電子署名生成装置の署名者ID情報IDAを含む公開情報要求を前記鍵生成センター装置に送信する手段と、
前記鍵生成センター装置から受信した「署名者公開鍵QsID_A=s(IDA)Q(但し、s(ID)は秘密鍵生成関数)」及び「点P,点Q,点g=en(P,Q)、関数H1,H2,楕円曲線上の射影Ψ,同型写像ξを含む公開情報(但し、前記点Pは、楕円曲線E上でなすnねじれ群E[n]を構成する2つの巡回群<P>,<Q>のうちの巡回群<P>から選択された点であり、前記点Qは前記巡回群<Q>から選択された点であり、前記2つの巡回群<P>,<Q>の直和は前記nねじれ群E[n]であり、前記関数H1はnねじれ群E[n]の点をバイナリ値に変換する関数であり、前記関数H2はnねじれ群E[n]の点とバイナリ値とを連結したデータを乗法群Zn*に変換する関数であり、同型写像ξは<P>から<Q>への同型写像である)」が記憶される第3公開情報記憶手段と、
前記電子署名検証装置の検証者ID情報IDBを含む秘密鍵要求を前記鍵生成センター装置に送信する手段と、
前記鍵生成センター装置から受信した検証者秘密鍵QsID_B=s(IDB)-1Qが記憶される第3記憶鍵記憶手段と、
前記電子署名生成装置から電子署名σ=(c,X)を受信する手段(但し、点XはX=S+ξ(T)に圧縮されており、点TはT=xPID_Bであり、xは乱数であり、PID_Bは検証者公開鍵PID_B=s(IDB)Pであり、点SはS=(x+h)PsID_Aであり、PsID_Aは署名者秘密鍵PsID_A=s(IDA)-1Pであり、値hはh=H2(R,c)であり、点RはR=gxであり、値cはc=H1(R)(+)m(但し、(+)は排他的論理和)であり、mは電子署名対象データである)と、
前記受信した電子署名σ=(c,X)及び前記公開情報内の射影Ψに基づいて、点S=Ψ(X)を計算する手段と、
得られた点S及び前記電子署名σ=(c,X)内の点Xに基づいて、点T=ξ-1(X−S)を計算する手段と、
得られた点T及び前記検証者秘密鍵QsID_Bに関し、楕円曲線上のペアリングに基づく点R=en(T,QsID_B)を計算する手段と、
得られた点R、前記値c及び前記関数H2に基づいて、値h=H2(R,c)を計算する手段と、
前記点R、前記値c及び前記関数H2に基づいて、電子署名対象データm=H1(R)(+)cを計算する手段と、
前記点S及び前記署名者公開鍵QID_Aに関し、楕円曲線上のペアリングに基づく点V=en(S,QID_A)を計算する手段と、
得られた点V、前記点R、前記点g及び値hに関する判定式V=Rgh が成立するか否かを判定する手段と、
前記判定の結果、前記判定式が成立する場合には前記電子署名σ=(c,X)を受け入れる手段と
を備えたことを特徴とする電子署名検証装置。 - 楕円曲線上のペアリングen( , )に基づく電子署名方式に用いられ、鍵生成センター装置及び電子署名検証装置に通信可能な電子署名生成装置であって、
署名者ID情報IDA及び検証者ID情報IDBを含む公開情報要求を前記鍵生成センター装置に送信する手段と、
前記鍵生成センター装置から受信した「署名者公開鍵PID_A=s(IDA)P(但し、s(ID)は秘密鍵生成関数)」、「検証者公開鍵PID_B=s(IDB)P(但し、IDBは検証者ID情報)」及び「点P,点Q,点g=en(P,Q)、関数H1,H2,H3’,楕円曲線上の射影Ψ,同型写像ξを含む公開情報(但し、前記点Pは、楕円曲線E上でなすnねじれ群E[n]を構成する2つの巡回群<P>,<Q>のうちの巡回群<P>から選択された点であり、前記点Qは前記巡回群<Q>から選択された点であり、前記2つの巡回群<P>,<Q>の直和は前記nねじれ群E[n]であり、前記関数H1はnねじれ群E[n]の点をバイナリ値に変換する関数であり、前記関数H2はnねじれ群E[n]の点とバイナリ値とを連結したデータを乗法群Zn*に変換する関数であり、前記関数H3’は巡回群<P>からなるnねじれ群の点と巡回群<P>からなるnねじれ群の点とバイナリ値とを連結したデータを乗法群Zn*に変換する関数であり、同型写像ξは<P>から<Q>への同型写像である)」が記憶される第2公開情報記憶手段と、
署名者ID情報IDAを含む秘密鍵要求を前記鍵生成センター装置に送信した後、前記鍵生成センター装置から受信した署名者秘密鍵QsID_A=s(IDA)-1Qが記憶される第2秘密鍵記憶手段と、
電子署名生成用の乱数xを生成する手段と、
前記乱数x及び前記点gに基づいて、点N=g^x-1を計算する手段(但し、^は、べき乗を表す)と、
前記乱数x及び前記署名者公開鍵PID_Aに基づいて、点R=xPID_Aを計算する手段と、
前記乱数x及び前記検証者公開鍵PID_Bに基づいて、点S=x-1PID_Bを計算する手段と、
電子署名対象データmに対し、前記点N、前記関数H1に基づいて、値c=H1(N)(+)mを計算する手段(但し、(+)は排他的論理和)と、
得られた値c、前記点R、前記点S及び前記関数H3’に基づいて、値h=H3’(R,S,c)を計算する手段と、
得られた値h、前記乱数x及び前記署名者秘密鍵QsID_Aに基づいて、点T=(x+h)-1QsID_Aを計算する手段と、
前記点S及び前記点Tを互いに加算して点X(=S+T)に圧縮する手段と、
前記点X、前記点R及び前記値cからなる電子署名σ=(c,R,X)を前記電子署名検証装置に送信する手段とを備えており、
前記電子署名σ=(c,R,X)は、前記射影Ψに基づく点S=Ψ(X)の計算と当該点Sに基づく点T=X−Sの計算とにより、圧縮前の電子署名σ’=(c,R,S,T)内の点S,Tを取得可能であることを特徴とする電子署名生成装置。 - 楕円曲線上のペアリングen( , )に基づく電子署名方式に用いられ、鍵生成センター装置及び電子署名生成装置に通信可能な電子署名検証装置であって、
前記電子署名生成装置の署名者ID情報IDAを含む公開情報要求を前記鍵生成センター装置に送信する手段と、
前記鍵生成センター装置から受信した「署名者公開鍵PsID_A=s(IDA)P(但し、s(ID)は秘密鍵生成関数)」及び「点P,点Q,点g=en(P,Q)、関数H1,H2,H3’,楕円曲線上の射影Ψ,同型写像ξを含む公開情報(但し、前記点Pは、楕円曲線E上でなすnねじれ群E[n]を構成する2つの巡回群<P>,<Q>のうちの巡回群<P>から選択された点であり、前記点Qは前記巡回群<Q>から選択された点であり、前記2つの巡回群<P>,<Q>の直和は前記nねじれ群E[n]であり、前記関数H1はnねじれ群E[n]の点をバイナリ値に変換する関数であり、前記関数H2はnねじれ群E[n]の点とバイナリ値とを連結したデータを乗法群Zn*に変換する関数であり、前記関数H3’は巡回群<P>からなるnねじれ群の点と巡回群<P>からなるnねじれ群の点とバイナリ値とを連結したデータを乗法群Zn*に変換する関数であり、同型写像ξは<P>から<Q>への同型写像である)」が記憶される第3公開情報記憶手段と、
前記電子署名検証装置の検証者ID情報IDBを含む秘密鍵要求を前記鍵生成センター装置に送信する手段と、
前記鍵生成センター装置から受信した検証者秘密鍵QsID_B=s(IDB)-1Qが記憶される第3記憶鍵記憶手段と、
前記電子署名生成装置から電子署名σ=(c,R,X)を受信する手段(但し、点XはX=S+Tに圧縮されており、点TはT=(x+h)-1QsID_Aであり、xは乱数であり、QsID_Aは署名者秘密鍵PsID_A=s(IDA)-1Qであり、値hはh=H3’(R,S,c)であり、点SはS=x-1PID_Bであり、PID_Bは検証者公開鍵PID_B=s(IDB)P(但し、IDBは検証者ID情報)であり、点RはR=xPID_Aであり、PID_Aは署名者公開鍵PID_A=s(IDA)Pであり、値cはc=H1(R)(+)m(但し、(+)は排他的論理和)であり、mは電子署名対象データである)と、
前記受信した電子署名σ=(c,R,X)及び前記公開情報内の射影Ψに基づいて、点S=Ψ(X)を計算する手段と、
得られた点S及び前記電子署名σ=(c,R,X)内の点Xに基づいて、点T=X−Sを計算する手段と、
前記点R、前記点S、前記値c及び前記関数H3’に基づいて、値h=H3’(R,S,c)を計算する手段と、
得られた値h、前記点R、前記点T及び前記署名者公開鍵PID_Aに関し、楕円曲線上のペアリングに基づく点V=en(R+hPID_A,T)を計算する手段と、
前記点S及び前記検証者秘密鍵QsID_Bに関し、楕円曲線上のペアリングに基づく点N=en(S,QsID_B)を計算する手段と、
得られた点N、前記値c及び前記関数H1に基づいて、電子署名対象データm=H1(N)(+)cを計算する手段と、
前記点V及び前記点gに関する判定式V=gが成立するか否かを判定する手段と、
前記判定の結果、前記判定式が成立する場合には前記電子署名σ=(c,R,X)を受け入れる手段と
を備えたことを特徴とする電子署名検証装置。 - 楕円曲線上のペアリングen( , )に基づく電子署名方式に用いられ、電子署名生成装置及び電子署名検証装置に通信可能な鍵生成センター装置のプログラムであって、
前記鍵生成センター装置のコンピュータを、
鍵生成センター用秘密鍵Lとしての乱数を生成する手段、
楕円曲線E上でなすnねじれ群E[n]を構成する2つの巡回群<P>,<Q>に関し、それぞれ巡回群<P>から点Pを選択し、巡回群<Q>から点Qを選択する手段、
前記鍵生成センター用秘密鍵L及び点Qに基づいて、点Qpub=LQを計算する手段と、
前記点P,Q,Qpub及び一方向性関数h( )と楕円曲線上の射影Ψとを含む公開情報を前記コンピュータの記憶装置に書き込む手段、
前記鍵生成センター用秘密鍵Lを前記コンピュータの記憶装置に書き込む手段、
前記電子署名生成装置又は前記電子署名検証装置から署名者ID情報IDAを含む公開情報要求を受信すると、前記署名者ID情報IDA、前記点P及び前記一方向性関数h( )に基づいて、署名者公開鍵PA=h(IDA)Pを計算する手段、
前記署名者公開鍵PA及び前記公開情報を前記公開情報要求の送信元に返信する手段、
前記電子署名生成装置から秘密鍵要求を受信すると、前記署名者公開鍵PA及び前記鍵生成センター用秘密鍵Lに基づいて、署名者秘密鍵KA=LPAを計算する手段、
前記署名者秘密鍵KAを前記電子署名生成装置に返信する手段、として機能させ、
前記2つの巡回群<P>,<Q>の直和を前記nねじれ群E[n]としたことにより、前記点Pから計算される点Rと、前記点Qから計算される点Sとから前記電子署名生成装置により生成される電子署名σ’=(R,S)を各点R,S同士の加算により点T(=R+S)からなる電子署名σ=(T)に圧縮可能とし、且つ、前記電子署名検証装置に送信される電子署名σ=(T)から、前記射影Ψに基づく点R=Ψ(T)の計算と当該点Rに基づく点S=T−Rの計算とにより、圧縮前の電子署名σ’=(R,S)内の点R,Sを取得可能としたプログラム。 - 楕円曲線上のペアリングen( , )に基づく電子署名方式に用いられ、鍵生成センター装置及び電子署名検証装置に通信可能な電子署名生成装置のプログラムであって、
前記電子署名生成装置のコンピュータを、
自己の署名者ID情報IDAを含む公開情報要求を前記鍵生成センター装置に送信する手段、
前記鍵生成センター装置から受信した「署名者公開鍵PA=h(IDA)P」及び「点P,Q,Qpub及び一方向性関数h( )と楕円曲線上の射影Ψとを含む公開情報(但し、前記点Pは、楕円曲線E上でなすnねじれ群E[n]を構成する2つの巡回群<P>,<Q>のうちの巡回群<P>から選択された点であり、前記点Qは前記巡回群<Q>から選択された点であり、前記2つの巡回群<P>,<Q>の直和は前記nねじれ群E[n]であり、前記点Qpubは鍵生成センター用秘密鍵Lと点Qとの積(点Qpub=LQ)である)」を前記コンピュータの記憶装置に書き込む手段、
前記鍵生成センター装置に秘密鍵要求を送信した後、前記鍵生成センター装置から受信した署名者秘密鍵KA=LPAを前記コンピュータの記憶装置に書き込む手段、
電子署名生成用の乱数kを生成する手段、
前記乱数k及び前記公開情報内の点Qに基づいて、点R=kQを計算する手段、
電子署名対象データmに対し、前記乱数k、前記署名者秘密鍵KA、前記署名者公開鍵PA、前記公開情報内の一方向性関数h( )及び前記点Rのx座標値xに基づいて、点S=[h(m)/k]PA+[x/k]KA を計算する手段、
前記点R,Sを互いに加算して点T(=R+S)に圧縮する手段、
前記点Tからなる電子署名σ=(T)及び前記電子署名対象データmを前記電子署名検証装置に送信する手段、として機能させ、
前記電子署名σ=(T)は、前記射影Ψに基づく点R=Ψ(T)の計算と当該点Rに基づく点S=T−Rの計算とにより、圧縮前の電子署名σ’=(R,S)内の点R,Sを取得可能であるようにしたプログラム。 - 楕円曲線上のペアリングen( , )に基づく電子署名方式に用いられ、鍵生成センター装置及び電子署名生成装置に通信可能な電子署名検証装置のプログラムであって、
前記電子署名検証装置のコンピュータを、
前記電子署名生成装置の署名者ID情報IDAを含む公開情報要求を前記鍵生成センター装置に送信する手段、
前記鍵生成センター装置から受信した「署名者公開鍵PA=h(IDA)P」及び「点P,Q,Qpub及び一方向性関数h( )と楕円曲線上の射影Ψとを含む公開情報(但し、前記点Pは、楕円曲線E上でなすnねじれ群E[n]を構成する2つの巡回群<P>,<Q>のうちの巡回群<P>から選択された点であり、前記点Qは前記巡回群<Q>から選択された点であり、前記2つの巡回群<P>,<Q>の直和は前記nねじれ群E[n]であり、前記点Qpubは鍵生成センター用秘密鍵Lと点Qとの積(点Qpub=LQ)である)」を前記電子署名検証装置の記憶装置に書き込む手段、
前記電子署名生成装置から電子署名対象データm及び電子署名σ=(T)を受信する手段(但し、点TはT=R+Sに圧縮されており、点RはR=kQであり(k:乱数)、点SはS=[h(m)/k]PA+[x/k]KA)であり、xは点Rのx座標値であり、KAは署名者秘密鍵KA=LQである(L:乱数))、
前記受信した電子署名σ=(T)及び前記公開情報内の射影Ψに基づいて、点R=Ψ(T)を計算する手段、
得られた点R及び前記電子署名σ=(T)に基づいて、点S=T−Rを計算する手段、
前記電子署名σ=(T)から得られた点S,Rに関し、前記署名者公開鍵PA及び公開情報を用いて、楕円曲線上のペアリングに基づく判定式en(S,R)=en(PA,Q)h(m)en(PA,Qpub)x が成立するか否かを判定する手段、
前記判定の結果、前記判定式が成立する場合には前記電子署名σ=(T)を受け入れる手段、
として機能させるためのプログラム。 - 楕円曲線上のペアリングen( , )に基づく電子署名方式に用いられ、鍵生成センター装置及び電子署名検証装置に通信可能な電子署名生成装置のプログラムであって、
前記電子署名生成装置のコンピュータを、
前記電子署名検証装置の検証者ID情報IDBを含む公開情報要求を前記鍵生成センター装置に送信する手段、
前記鍵生成センター装置から受信した「検証者公開鍵PID_B=s(IDB)P(但し、s(ID)は秘密鍵生成関数)」及び「点P,点Q,点g=en(P,Q)、関数H1,H2,楕円曲線上の射影Ψ,同型写像ξを含む公開情報(但し、前記点Pは、楕円曲線E上でなすnねじれ群E[n]を構成する2つの巡回群<P>,<Q>のうちの巡回群<P>から選択された点であり、前記点Qは前記巡回群<Q>から選択された点であり、前記2つの巡回群<P>,<Q>の直和は前記nねじれ群E[n]であり、前記関数H1はnねじれ群E[n]の点をバイナリ値に変換する関数であり、前記関数H2はnねじれ群E[n]の点とバイナリ値とを連結したデータを乗法群Zn*に変換する関数であり、同型写像ξは<P>から<Q>への同型写像である)」を前記コンピュータの記憶装置に書き込む手段、
署名者ID情報IDAを含む秘密鍵要求を前記鍵生成センター装置に送信した後、前記鍵生成センター装置から受信した署名者秘密鍵PsID_A=s(IDA)-1Pを前記コンピュータの記憶装置に書き込む手段、
電子署名生成用の乱数xを生成する手段、
前記乱数x及び前記点gに基づいて、点R=gxを計算する手段、
電子署名対象データmに対し、前記点R、前記関数H1に基づいて、値c=H1(R)(+)mを計算する手段(但し、(+)は排他的論理和)、
前記値c、前記点R及び前記関数H2に基づいて、値h=H2(R,c)を計算する手段、
前記値h、前記乱数x及び前記署名者秘密鍵PsID_Aに基づいて、点S=(x+h)PsID_Aを計算する手段、
前記乱数x及び前記検証者公開鍵PID_Bに基づいて、点T=xPID_Bを計算する手段、
前記点T及び前記同型写像ξに基づいて、点ξ(T)を計算する手段、
前記点S,ξ(T)を互いに加算して点X(=S+ξ(T))に圧縮する手段、
前記点X及び前記値cからなる電子署名σ=(c,X)を前記電子署名検証装置に送信する手段、として機能させ、
前記電子署名σ=(c,X)は、前記射影Ψに基づく点S=Ψ(X)の計算と当該点Sに基づく点T=ξ-1(X−S)の計算とにより、圧縮前の電子署名σ’=(c,S,T)内の点S,Tを取得可能であるようにしたプログラム。 - 楕円曲線上のペアリングen( , )に基づく電子署名方式に用いられ、鍵生成センター装置及び電子署名生成装置に通信可能な電子署名検証装置のプログラムであって、
前記電子署名検証装置のコンピュータを、
前記電子署名生成装置の署名者ID情報IDAを含む公開情報要求を前記鍵生成センター装置に送信する手段、
前記鍵生成センター装置から受信した「署名者公開鍵QsID_A=s(IDA)Q(但し、s(ID)は秘密鍵生成関数)」及び「点P,点Q,点g=en(P,Q)、関数H1,H2,楕円曲線上の射影Ψ,同型写像ξを含む公開情報(但し、前記点Pは、楕円曲線E上でなすnねじれ群E[n]を構成する2つの巡回群<P>,<Q>のうちの巡回群<P>から選択された点であり、前記点Qは前記巡回群<Q>から選択された点であり、前記2つの巡回群<P>,<Q>の直和は前記nねじれ群E[n]であり、前記関数H1はnねじれ群E[n]の点をバイナリ値に変換する関数であり、前記関数H2はnねじれ群E[n]の点とバイナリ値とを連結したデータを乗法群Zn*に変換する関数であり、同型写像ξは<P>から<Q>への同型写像である)」を前記コンピュータの記憶装置に書き込む手段、
前記電子署名検証装置の検証者ID情報IDBを含む秘密鍵要求を前記鍵生成センター装置に送信する手段、
前記鍵生成センター装置から受信した検証者秘密鍵QsID_B=s(IDB)-1Qを前記コンピュータの記憶装置に書き込む手段、
前記電子署名生成装置から電子署名σ=(c,X)を受信する手段(但し、点XはX=S+ξ(T)に圧縮されており、点TはT=xPID_Bであり、xは乱数であり、PID_Bは検証者公開鍵PID_B=s(IDB)Pであり、点SはS=(x+h)PsID_Aであり、PsID_Aは署名者秘密鍵PsID_A=s(IDA)-1Pであり、値hはh=H2(R,c)であり、点RはR=gxであり、値cはc=H1(R)(+)m(但し、(+)は排他的論理和)であり、mは電子署名対象データである)、
前記受信した電子署名σ=(c,X)及び前記公開情報内の射影Ψに基づいて、点S=Ψ(X)を計算する手段、
得られた点S及び前記電子署名σ=(c,X)内の点Xに基づいて、点T=ξ-1(X−S)を計算する手段、
得られた点T及び前記検証者秘密鍵QsID_Bに関し、楕円曲線上のペアリングに基づく点R=en(T,QsID_B)を計算する手段、
得られた点R、前記値c及び前記関数H2に基づいて、値h=H2(R,c)を計算する手段、
前記点R、前記値c及び前記関数H2に基づいて、電子署名対象データm=H1(R)(+)cを計算する手段、
前記点S及び前記署名者公開鍵QID_Aに関し、楕円曲線上のペアリングに基づく点V=en(S,QID_A)を計算する手段、
得られた点V、前記点R、前記点g及び値hに関する判定式V=Rgh が成立するか否かを判定する手段、
前記判定の結果、前記判定式が成立する場合には前記電子署名σ=(c,X)を受け入れる手段、
として機能させるためのプログラム。 - 楕円曲線上のペアリングen( , )に基づく電子署名方式に用いられ、鍵生成センター装置及び電子署名検証装置に通信可能な電子署名生成装置のプログラムであって、
前記電子署名生成装置のコンピュータを、
自装置の署名者ID情報IDAを含む公開情報要求を前記鍵生成センター装置に送信する手段、
前記鍵生成センター装置から受信した「署名者公開鍵PID_A=s(IDA)P(但し、s(ID)は秘密鍵生成関数)」、「検証者公開鍵PID_B=s(IDB)P(但し、IDBは検証者ID情報)」及び「点P,点Q,点g=en(P,Q)、関数H1,H2,H3’,楕円曲線上の射影Ψ,同型写像ξを含む公開情報(但し、前記点Pは、楕円曲線E上でなすnねじれ群E[n]を構成する2つの巡回群<P>,<Q>のうちの巡回群<P>から選択された点であり、前記点Qは前記巡回群<Q>から選択された点であり、前記2つの巡回群<P>,<Q>の直和は前記nねじれ群E[n]であり、前記関数H1はnねじれ群E[n]の点をバイナリ値に変換する関数であり、前記関数H2はnねじれ群E[n]の点とバイナリ値とを連結したデータを乗法群Zn*に変換する関数であり、前記関数H3’は巡回群<P>からなるnねじれ群の点と巡回群<P>からなるnねじれ群の点とバイナリ値とを連結したデータを乗法群Zn*に変換する関数であり、同型写像ξは<P>から<Q>への同型写像である)」を前記コンピュータの記憶装置に書き込む手段、
署名者ID情報IDAを含む秘密鍵要求を前記鍵生成センター装置に送信した後、前記鍵生成センター装置から受信した署名者秘密鍵QsID_A=s(IDA)-1Qを前記コンピュータの記憶装置に書き込む手段、
電子署名生成用の乱数xを生成する手段、
前記乱数x及び前記点gに基づいて、点N=g^x-1を計算する手段(但し、^は、べき乗を表す)、
前記乱数x及び前記署名者公開鍵PID_Aに基づいて、点R=xPID_Aを計算する手段、
前記乱数x及び前記検証者公開鍵PID_Bに基づいて、点S=x-1PID_Bを計算する手段、
電子署名対象データmに対し、前記点N、前記関数H1に基づいて、値c=H1(N)(+)mを計算する手段(但し、(+)は排他的論理和)、
得られた値c、前記点R、前記点S及び前記関数H3’に基づいて、値h=H3’(R,S,c)を計算する手段、
得られた値h、前記乱数x及び前記署名者秘密鍵QsID_Aに基づいて、点T=(x+h)-1QsID_Aを計算する手段、
前記点S及び前記点Tを互いに加算して点X(=S+T)に圧縮する手段、
前記点X、前記点R及び前記値cからなる電子署名σ=(c,R,X)を前記電子署名検証装置に送信する手段、として機能させ、
前記電子署名σ=(c,R,X)は、前記射影Ψに基づく点S=Ψ(X)の計算と当該点Sに基づく点T=X−Sの計算とにより、圧縮前の電子署名σ’=(c,R,S,T)内の点S,Tを取得可能であるようにしたプログラム。 - 楕円曲線上のペアリングen( , )に基づく電子署名方式に用いられ、鍵生成センター装置及び電子署名生成装置に通信可能な電子署名検証装置のプログラムであって、
前記電子署名検証装置のコンピュータを、
前記電子署名生成装置の署名者ID情報IDAを含む公開情報要求を前記鍵生成センター装置に送信する手段、
前記鍵生成センター装置から受信した「署名者公開鍵PsID_A=s(IDA)P(但し、s(ID)は秘密鍵生成関数)」及び「点P,点Q,点g=en(P,Q)、関数H1,H2,H3’,楕円曲線上の射影Ψ,同型写像ξを含む公開情報(但し、前記点Pは、楕円曲線E上でなすnねじれ群E[n]を構成する2つの巡回群<P>,<Q>のうちの巡回群<P>から選択された点であり、前記点Qは前記巡回群<Q>から選択された点であり、前記2つの巡回群<P>,<Q>の直和は前記nねじれ群E[n]であり、前記関数H1はnねじれ群E[n]の点をバイナリ値に変換する関数であり、前記関数H2はnねじれ群E[n]の点とバイナリ値とを連結したデータを乗法群Zn*に変換する関数であり、前記関数H3’は巡回群<P>からなるnねじれ群の点と巡回群<P>からなるnねじれ群の点とバイナリ値とを連結したデータを乗法群Zn*に変換する関数であり、同型写像ξは<P>から<Q>への同型写像である)」を前記コンピュータの記憶装置に書き込む手段、
前記電子署名検証装置の検証者ID情報IDBを含む秘密鍵要求を前記鍵生成センター装置に送信する手段、
前記鍵生成センター装置から受信した検証者秘密鍵QsID_B=s(IDB)-1Qを前記コンピュータの記憶装置に書き込む手段、
前記電子署名生成装置から電子署名σ=(c,R,X)を受信する手段(但し、点XはX=S+Tに圧縮されており、点TはT=(x+h)-1QsID_Aであり、xは乱数であり、QsID_Aは署名者秘密鍵PsID_A=s(IDA)-1Qであり、値hはh=H3’(R,S,c)であり、点SはS=x-1PID_Bであり、PID_Bは検証者公開鍵PID_B=s(IDB)P(但し、IDBは検証者ID情報)であり、点RはR=xPID_Aであり、PID_Aは署名者公開鍵PID_A=s(IDA)Pであり、値cはc=H1(R)(+)m(但し、(+)は排他的論理和)であり、mは電子署名対象データである)、
前記受信した電子署名σ=(c,R,X)及び前記公開情報内の射影Ψに基づいて、点S=Ψ(X)を計算する手段、
得られた点S及び前記電子署名σ=(c,R,X)内の点Xに基づいて、点T=X−Sを計算する手段、
前記点R、前記点S、前記値c及び前記関数H3’に基づいて、値h=H3’(R,S,c)を計算する手段、
得られた値h、前記点R、前記点T及び前記署名者公開鍵PID_Aに関し、楕円曲線上のペアリングに基づく点V=en(R+hPID_A,T)を計算する手段、
前記点S及び前記検証者秘密鍵QsID_Bに関し、楕円曲線上のペアリングに基づく点N=en(S,QsID_B)を計算する手段、
得られた点N、前記値c及び前記関数H1に基づいて、電子署名対象データm=H1(N)(+)cを計算する手段、
前記点V及び前記点gに関する判定式V=gが成立するか否かを判定する手段、
前記判定の結果、前記判定式が成立する場合には前記電子署名σ=(c,R,X)を受け入れる手段、
として機能させるためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007011893A JP2008178035A (ja) | 2007-01-22 | 2007-01-22 | 電子署名システム、装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007011893A JP2008178035A (ja) | 2007-01-22 | 2007-01-22 | 電子署名システム、装置及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008178035A true JP2008178035A (ja) | 2008-07-31 |
Family
ID=39704691
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007011893A Withdrawn JP2008178035A (ja) | 2007-01-22 | 2007-01-22 | 電子署名システム、装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008178035A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012046805A1 (ja) * | 2010-10-08 | 2012-04-12 | 国立大学法人岡山大学 | 有理点情報圧縮装置、有理点情報圧縮方法及び有理点情報圧縮プログラム |
CN111147250A (zh) * | 2019-12-18 | 2020-05-12 | 北京江南天安科技有限公司 | 一种数字签名方法、装置、发送端、接收端及系统 |
-
2007
- 2007-01-22 JP JP2007011893A patent/JP2008178035A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012046805A1 (ja) * | 2010-10-08 | 2012-04-12 | 国立大学法人岡山大学 | 有理点情報圧縮装置、有理点情報圧縮方法及び有理点情報圧縮プログラム |
JP5769263B2 (ja) * | 2010-10-08 | 2015-08-26 | 国立大学法人 岡山大学 | 有理点情報圧縮装置、有理点情報圧縮方法及び有理点情報圧縮プログラム |
CN111147250A (zh) * | 2019-12-18 | 2020-05-12 | 北京江南天安科技有限公司 | 一种数字签名方法、装置、发送端、接收端及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5247740B2 (ja) | 内在的証明書方式 | |
CN112367175B (zh) | 基于sm2数字签名的隐式证书密钥生成方法 | |
JP4546231B2 (ja) | Idベース署名及び暗号化システムおよび方法 | |
US7899184B2 (en) | Ends-messaging protocol that recovers and has backward security | |
WO2009143713A1 (zh) | 双因子组合公钥生成和认证方法 | |
WO2012019407A1 (zh) | 一种数据加密方法、数据解密方法、发送节点及接收节点 | |
Khan et al. | Analysis of asymmetric cryptography in information security based on computational study to ensure confidentiality during information exchange | |
JP2019537349A (ja) | 複合デジタル署名 | |
CN104704770A (zh) | 合作服务提供系统以及服务器装置 | |
CN110519226B (zh) | 基于非对称密钥池和隐式证书的量子通信服务端保密通信方法和系统 | |
TWI593267B (zh) | 具有時戳驗證的免憑證公開金鑰管理方法 | |
GB2416282A (en) | Identifier based signcryption with two trusted authorities | |
Kuppuswamy et al. | A new efficient digital signature scheme algorithm based on block cipher | |
JP4485122B2 (ja) | 公開鍵暗号システム,署名システム,暗号通信システム,秘密鍵生成器,公開鍵生成器及びコンピュータプログラム | |
JP2008178035A (ja) | 電子署名システム、装置及びプログラム | |
JP4307589B2 (ja) | 認証プロトコル | |
Saeednia et al. | A self-certified group-oriented cryptosystem without a combiner | |
Elkamchouchi et al. | A new proxy identity-based signcryption scheme for partial delegation of signing rights | |
JP2006319485A (ja) | 署名装置、署名暗号化装置、検証装置、復号装置、復元装置、情報提供装置、通信システム、署名方法、署名暗号化方法及び検証方法 | |
JP4612027B2 (ja) | 署名システム | |
Tiwari et al. | Cryptographic hash function: an elevated view | |
CN110572788A (zh) | 基于非对称密钥池和隐式证书的无线传感器通信方法和系统 | |
Lee | Cryptanalysis of Zhu et al.’s Identity-Based Encryption with Equality Test without Random Oracles | |
Parvin et al. | A new identity-based group signature scheme based on knapsack ECC | |
JP2002215019A (ja) | 標準モデル上で適応的選択暗号文攻撃に対して安全な公開鍵暗号方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100406 |