JPH07261663A - ディジタル署名方式 - Google Patents
ディジタル署名方式Info
- Publication number
- JPH07261663A JPH07261663A JP6052318A JP5231894A JPH07261663A JP H07261663 A JPH07261663 A JP H07261663A JP 6052318 A JP6052318 A JP 6052318A JP 5231894 A JP5231894 A JP 5231894A JP H07261663 A JPH07261663 A JP H07261663A
- Authority
- JP
- Japan
- Prior art keywords
- verifier
- signature
- message
- signer
- random number
- 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
Abstract
(57)【要約】
【目的】 Chaum の方式に比べ、より高速な署名作成を
実現できるディジタル署名方式を提供する。 【構成】 署名者は乱数による署名用鍵αを生成し、α
から剰余演算によって公開情報aを生成した後、メッセ
ージmに対する署名情報として乱数rを生成し、rから
d=gr mod p 及びbr mod pを算出すると共に、乱数w
を生成し、wから剰余演算により数値xを算出し、xと
mとの圧縮関数値F(m,x)とbr mod pからこれらの排他
的論理和値eを算出すると共に、w、α及びeから剰余
演算により数値yを算出し、(d,e,y)をメッセージmに
対する署名情報として、メッセージmと共に検証者に送
信し、検証者は、(m,e,y,a)から剰余演算により数値z
を算出した後、署名者との通信により、rの値を検証者
に秘密にしたまま、z=brmod pであることを検証し、
この検証に成功したとき、(d,e,y)をメッセージmに対
する正しい署名情報として認証する。
実現できるディジタル署名方式を提供する。 【構成】 署名者は乱数による署名用鍵αを生成し、α
から剰余演算によって公開情報aを生成した後、メッセ
ージmに対する署名情報として乱数rを生成し、rから
d=gr mod p 及びbr mod pを算出すると共に、乱数w
を生成し、wから剰余演算により数値xを算出し、xと
mとの圧縮関数値F(m,x)とbr mod pからこれらの排他
的論理和値eを算出すると共に、w、α及びeから剰余
演算により数値yを算出し、(d,e,y)をメッセージmに
対する署名情報として、メッセージmと共に検証者に送
信し、検証者は、(m,e,y,a)から剰余演算により数値z
を算出した後、署名者との通信により、rの値を検証者
に秘密にしたまま、z=brmod pであることを検証し、
この検証に成功したとき、(d,e,y)をメッセージmに対
する正しい署名情報として認証する。
Description
【0001】
【産業上の利用分野】本発明は、電子化されたメッセー
ジの稟議/決済、電子投票システム等で、電子的に署名
/捺印を付与するディジタル署名方式に関するものであ
る。
ジの稟議/決済、電子投票システム等で、電子的に署名
/捺印を付与するディジタル署名方式に関するものであ
る。
【0002】
【従来の技術】従来、ディジタル署名方式の一例とし
て、Chaum の指名確認者署名法(DavidChaum,"Designat
ed Confirmer Signatures",Crypto'93,(1993)) が知ら
れている。
て、Chaum の指名確認者署名法(DavidChaum,"Designat
ed Confirmer Signatures",Crypto'93,(1993)) が知ら
れている。
【0003】このChaum の指名確認者署名法は、署名の
転用不可性と否認拒否性さらに指名確認者による確認処
理の代行機能を備えた安全性の高い方式である。
転用不可性と否認拒否性さらに指名確認者による確認処
理の代行機能を備えた安全性の高い方式である。
【0004】ここで、署名の転用不可性とは、メッセー
ジmと署名sの対応関係(m,s)が署名としての証拠
とはならず、署名者がメッセージmと署名sの対応関係
の正当性を検証者との通信によって証明した場合にのみ
署名の正当性を確認できることである。通常のディジタ
ル署名では、検証者が署名者と通信せずに、メッセージ
mと署名sの対応関係の正当性を確認できるので、前記
対応関係(m,s)が署名の証拠となる。
ジmと署名sの対応関係(m,s)が署名としての証拠
とはならず、署名者がメッセージmと署名sの対応関係
の正当性を検証者との通信によって証明した場合にのみ
署名の正当性を確認できることである。通常のディジタ
ル署名では、検証者が署名者と通信せずに、メッセージ
mと署名sの対応関係の正当性を確認できるので、前記
対応関係(m,s)が署名の証拠となる。
【0005】また、否認拒否性とは、検証者がメッセー
ジmや署名sとの対応関係(m,s)の正当性の証明を
求めている場合に、署名者が署名sの正当性を証明でき
ることである。
ジmや署名sとの対応関係(m,s)の正当性の証明を
求めている場合に、署名者が署名sの正当性を証明でき
ることである。
【0006】さらに、指名確認者による確認処理の代行
機能とは、署名者が事前に指名した確認者が署名者の代
わりに、メッセージmと署名sの対応関係の正当性を検
証者との通信によって確認できる機能である。この機能
は、例えば署名者が不在、転職、死亡等によりアクセス
不可能となった場合に利用されるものである。
機能とは、署名者が事前に指名した確認者が署名者の代
わりに、メッセージmと署名sの対応関係の正当性を検
証者との通信によって確認できる機能である。この機能
は、例えば署名者が不在、転職、死亡等によりアクセス
不可能となった場合に利用されるものである。
【0007】次に、Chaum の指名確認者署名法について
説明する。 (1) 鍵の登録 署名者Aは、RSA法の署名用鍵dと検査用鍵(e,
n)を次の(1) 式を満たすように生成し、
説明する。 (1) 鍵の登録 署名者Aは、RSA法の署名用鍵dと検査用鍵(e,
n)を次の(1) 式を満たすように生成し、
【数1】 検査用鍵(e,n)を公開し、署名用鍵dを秘密に管理
する(RSA法については、池野・小山著「現代暗号理
論」(電子通信学会)を参考のこと)。ここで、剰余計
算(a mod p)は、数値aを数値pで割ったときの
余りを表す。尚、RSA法の安全性は、数値nの素因数
分解の困難性に依存する。
する(RSA法については、池野・小山著「現代暗号理
論」(電子通信学会)を参考のこと)。ここで、剰余計
算(a mod p)は、数値aを数値pで割ったときの
余りを表す。尚、RSA法の安全性は、数値nの素因数
分解の困難性に依存する。
【0008】一方、指名確認者は、秘密鍵zと公開鍵
(p,g,h)を生成する。このときの数値hの生成に
当たっては、次の(2) 式が用いられる。
(p,g,h)を生成する。このときの数値hの生成に
当たっては、次の(2) 式が用いられる。
【数2】 ここで、指名確認者の安全性は、p(素数)が大きいと
き、数値hと数値gからy=gx mod pを満たす数
値xを算出することの困難さ(離散対数問題の困難性)
に依存する。
き、数値hと数値gからy=gx mod pを満たす数
値xを算出することの困難さ(離散対数問題の困難性)
に依存する。
【0009】前述した各公開鍵(e,n,g,p,h)
は、センタの公開ファイルにおいて管理され、必要に応
じて、センタから払い出してもらうことができる。
は、センタの公開ファイルにおいて管理され、必要に応
じて、センタから払い出してもらうことができる。
【0010】(2) 署名の作成 署名者Aは、公開鍵p,g,hと自分の署名用鍵dを用
いて、乱数xを生成した後に、メッセージmに対して、
次の(3)(4)(5)式によって
いて、乱数xを生成した後に、メッセージmに対して、
次の(3)(4)(5)式によって
【数3】 署名(a,b,α)を計算して、メッセージmと共に検
証者Bに送信する(剰余付きの計算は、例えば池野・小
山著「現代暗号理論」電子通信学会,PP. 16-17,(1986)
に示されている)。
証者Bに送信する(剰余付きの計算は、例えば池野・小
山著「現代暗号理論」電子通信学会,PP. 16-17,(1986)
に示されている)。
【0011】ここで、Fは任意の一方向圧縮関数、Hは
逆演算が容易に計算できる関数(H(x)からxが容易
に計算可能な関数)である。
逆演算が容易に計算できる関数(H(x)からxが容易
に計算可能な関数)である。
【0012】(3) 署名の検査 検証者Bは、署名者Aと通信することによって、検査用
鍵(e,n)を用いて署名(a,b,α)がメッセージ
mに対する正しい署名であることを、以下の確認手順に
よって検査する。
鍵(e,n)を用いて署名(a,b,α)がメッセージ
mに対する正しい署名であることを、以下の確認手順に
よって検査する。
【0013】まず、署名者による確認手順を説明する。 ステップ1 検証者Bは、2つの乱数sとtを生成し
て、通信文cを次の(6)式を用いて
て、通信文cを次の(6)式を用いて
【数4】 計算して、署名者Aに送信する。
【0014】ステップ2 署名者Aは、乱数qを生成し
て、通信文(d,e)を次の(7)(8)式を用いて
て、通信文(d,e)を次の(7)(8)式を用いて
【数5】 計算して、検証者Bに送信する。
【0015】ステップ3 検証者Bは、2つの乱数sと
tを署名者Aに送信する。
tを署名者Aに送信する。
【0016】ステップ4 署名者Aは、受信した乱数s
とtが、通信文cに対して次の(9)式を満たすことを検
査して、
とtが、通信文cに対して次の(9)式を満たすことを検
査して、
【数6】 この検査の結果が合格なら、乱数qを検証者Bに送信す
る。また、不合格なら処理を停止する。
る。また、不合格なら処理を停止する。
【0017】ステップ5 検証者Bは、受信した乱数q
及び先に受信した通信文(d,e)が、メッセージmと
署名(a,b,α)に対して次の(10)(11)(12)式を満た
すことを確認する。
及び先に受信した通信文(d,e)が、メッセージmと
署名(a,b,α)に対して次の(10)(11)(12)式を満た
すことを確認する。
【数7】 この確認の結果、合格ならば、(a,b,α)がメッセ
ージmに対する署名者Aの正しい署名であると判断す
る。
ージmに対する署名者Aの正しい署名であると判断す
る。
【0018】次に、指名確認者による確認手順を説明す
る。 ステップ1 検証者Bは、2つの乱数sとtを生成し
て、通信文cを次の(13)式を用いて計算して、署名者A
に送信する。
る。 ステップ1 検証者Bは、2つの乱数sとtを生成し
て、通信文cを次の(13)式を用いて計算して、署名者A
に送信する。
【0019】
【数8】 ステップ2 指名確認者Cは、乱数qを生成すると共
に、、通信文(v,w)を次の(14)(15)を用いて計算し
て、検証者Bに送信する。
に、、通信文(v,w)を次の(14)(15)を用いて計算し
て、検証者Bに送信する。
【0020】
【数9】 ステップ3 検証者Bは、2つの乱数sとtを指名確認
者Cに送信する。
者Cに送信する。
【0021】ステップ4 指名確認者Cは、受信した乱
数sとtが、通信文uに対して次の(16)式を満たすこと
を検査して、
数sとtが、通信文uに対して次の(16)式を満たすこと
を検査して、
【数10】 この検査の結果が合格なら、乱数qを検証者Bに送信す
る。また、不合格なら処理を停止する。
る。また、不合格なら処理を停止する。
【0022】ステップ5 検証者Bは、受信した乱数q
及び先に受信した通信文(v,w)が、メッセージmと
署名(a,b,α)に対して次の(17)(18)(19)式を満た
すことを確認する。
及び先に受信した通信文(v,w)が、メッセージmと
署名(a,b,α)に対して次の(17)(18)(19)式を満た
すことを確認する。
【数11】 この確認の結果、合格ならば、(a,b,α)がメッセ
ージmに対する署名者Aの正しい署名であると判断す
る。
ージmに対する署名者Aの正しい署名であると判断す
る。
【0023】
【発明が解決しようとする課題】しかしながら、前述し
たChaum の指名確認者署名法は、署名作成にRSA法を
用いているため、処理速度が遅いという欠点があった。
たChaum の指名確認者署名法は、署名作成にRSA法を
用いているため、処理速度が遅いという欠点があった。
【0024】本発明の目的は上記の問題点に鑑み、Chau
m の方式に比べ、より高速な署名作成を実現できるディ
ジタル署名方式を提供することにある。
m の方式に比べ、より高速な署名作成を実現できるディ
ジタル署名方式を提供することにある。
【0025】
【課題を解決するための手段】本発明は上記の目的を達
成するために、署名者が電子化されたメッセージに署名
するディジタル署名方式において、センタはシステム共
通情報として数値p及び数値gを登録した公開ファイル
を備え、署名者による指名確認者は、乱数発生手段を用
いて署名用鍵uを生成し、該署名用鍵uから剰余演算手
段を用いて公開情報bを生成して前記センタの公開ファ
イルに登録し、署名者は、乱数発生手段を用いて署名用
鍵αを生成し、該署名用鍵αから剰余演算手段を用いて
公開情報aを生成して前記センタの公開ファイルに登録
した後、メッセージmに対する署名情報として乱数rを
生成し、該乱数rから剰余演算手段を用いてd=gr m
od p 及びbr mod p を算出すると共に、乱数w
を生成し、該乱数wから剰余演算により数値xを算出
し、さらに、該数値xと前記メッセージmとの圧縮関数
値F(m,x)と前記br mod p からこれらの排他
的論理和値eを算出すると共に、前記乱数w、署名用鍵
α及び排他的論理和値eから剰余演算により数値yを算
出し、前記(d,e,y)をメッセージmに対する署名
情報として、メッセージmと共に検証者に送信し、検証
者が署名付きメッセージの正当性を署名者を用いて検証
する場合には、検証者は、前記(m,e,y,a)から
剰余演算により数値zを算出した後、署名者との通信に
より、前記乱数rの値を検証者に秘密にしたまま、z=
br mod p であることを検証し、該検証に成功した
とき、前記(d,e,y)をメッセージmに対する正し
い署名情報として認証し、検証者が署名付きメッセージ
の正当性を指名確認者を用いて検証する場合には、検証
者は、前記(m,e,y,a)から剰余演算により数値
zを計算した後、指名確認者との通信により、前記署名
用鍵uの値を検証者に秘密にしたまま、z=du mod
p であることを検証し、該検証に成功したとき、前記
(d,e,y)をメッセージmに対する正しい署名情報
として認証するディジタル署名方式を提案する。
成するために、署名者が電子化されたメッセージに署名
するディジタル署名方式において、センタはシステム共
通情報として数値p及び数値gを登録した公開ファイル
を備え、署名者による指名確認者は、乱数発生手段を用
いて署名用鍵uを生成し、該署名用鍵uから剰余演算手
段を用いて公開情報bを生成して前記センタの公開ファ
イルに登録し、署名者は、乱数発生手段を用いて署名用
鍵αを生成し、該署名用鍵αから剰余演算手段を用いて
公開情報aを生成して前記センタの公開ファイルに登録
した後、メッセージmに対する署名情報として乱数rを
生成し、該乱数rから剰余演算手段を用いてd=gr m
od p 及びbr mod p を算出すると共に、乱数w
を生成し、該乱数wから剰余演算により数値xを算出
し、さらに、該数値xと前記メッセージmとの圧縮関数
値F(m,x)と前記br mod p からこれらの排他
的論理和値eを算出すると共に、前記乱数w、署名用鍵
α及び排他的論理和値eから剰余演算により数値yを算
出し、前記(d,e,y)をメッセージmに対する署名
情報として、メッセージmと共に検証者に送信し、検証
者が署名付きメッセージの正当性を署名者を用いて検証
する場合には、検証者は、前記(m,e,y,a)から
剰余演算により数値zを算出した後、署名者との通信に
より、前記乱数rの値を検証者に秘密にしたまま、z=
br mod p であることを検証し、該検証に成功した
とき、前記(d,e,y)をメッセージmに対する正し
い署名情報として認証し、検証者が署名付きメッセージ
の正当性を指名確認者を用いて検証する場合には、検証
者は、前記(m,e,y,a)から剰余演算により数値
zを計算した後、指名確認者との通信により、前記署名
用鍵uの値を検証者に秘密にしたまま、z=du mod
p であることを検証し、該検証に成功したとき、前記
(d,e,y)をメッセージmに対する正しい署名情報
として認証するディジタル署名方式を提案する。
【0026】
【作用】本発明によれば、予め指名確認者によって公開
情報bがセンタの公開ファイルに登録される。この際、
指名確認者は、乱数発生手段を用いて署名用鍵uを生成
し、該署名用鍵uから剰余演算手段を用いて公開情報b
を生成して前記センタの公開ファイルに登録する。ま
た、同様に署名者によって公開情報aがセンタの公開フ
ァイルに登録される。この際、署名者は、乱数発生手段
を用いて署名用鍵αを生成し、該署名用鍵αから剰余演
算手段を用いて公開情報aを生成して前記センタの公開
ファイルに登録する。
情報bがセンタの公開ファイルに登録される。この際、
指名確認者は、乱数発生手段を用いて署名用鍵uを生成
し、該署名用鍵uから剰余演算手段を用いて公開情報b
を生成して前記センタの公開ファイルに登録する。ま
た、同様に署名者によって公開情報aがセンタの公開フ
ァイルに登録される。この際、署名者は、乱数発生手段
を用いて署名用鍵αを生成し、該署名用鍵αから剰余演
算手段を用いて公開情報aを生成して前記センタの公開
ファイルに登録する。
【0027】一方、前記署名者がメッセージmに対する
署名を作成するときは、メッセージmに対する署名情報
として乱数rを生成し、該乱数rから剰余演算手段を用
いてd=gr mod p 及びbr mod p を算出する
と共に、乱数wを生成し、該乱数wから剰余演算により
数値xを算出する。ここで、数値xは、例えばx=gr
mod p の剰余演算によって算出される。
署名を作成するときは、メッセージmに対する署名情報
として乱数rを生成し、該乱数rから剰余演算手段を用
いてd=gr mod p 及びbr mod p を算出する
と共に、乱数wを生成し、該乱数wから剰余演算により
数値xを算出する。ここで、数値xは、例えばx=gr
mod p の剰余演算によって算出される。
【0028】さらに、署名者は、前記数値xと前記メッ
セージmとの圧縮関数値F(m,x)と前記br mod
p とからこれらの排他的論理和値eを算出すると共
に、前記乱数w、署名用鍵α及び排他的論理和値eから
剰余演算により数値yを算出し、前記(d,e,y)を
メッセージmに対する署名情報として、メッセージmと
共に検証者に送信する。ここで、数値yは、例えばy=
w+eα mod pによって算出される。
セージmとの圧縮関数値F(m,x)と前記br mod
p とからこれらの排他的論理和値eを算出すると共
に、前記乱数w、署名用鍵α及び排他的論理和値eから
剰余演算により数値yを算出し、前記(d,e,y)を
メッセージmに対する署名情報として、メッセージmと
共に検証者に送信する。ここで、数値yは、例えばy=
w+eα mod pによって算出される。
【0029】また、検証者が署名付きメッセージmの正
当性を署名者を用いて検証する場合には、検証者は、前
記(m,e,y,a)から剰余演算により数値zを算出
する。この後、署名者との通信によって、前記乱数rの
値が検証者に対して秘密にされたまま、検証者はz=b
r mod p であることを検証し、該検証に成功したと
き、検証者によって前記(d,e,y)がメッセージm
に対する正しい署名情報として認証される。
当性を署名者を用いて検証する場合には、検証者は、前
記(m,e,y,a)から剰余演算により数値zを算出
する。この後、署名者との通信によって、前記乱数rの
値が検証者に対して秘密にされたまま、検証者はz=b
r mod p であることを検証し、該検証に成功したと
き、検証者によって前記(d,e,y)がメッセージm
に対する正しい署名情報として認証される。
【0030】さらに、検証者が署名付きメッセージmの
正当性を前記指名確認者を用いて検証する場合には、検
証者は、前記(m,e,y,a)から剰余演算により数
値zを計算した後、指名確認者との通信により、前記署
名用鍵uの値が検証者に対して秘密にされたまま、検証
者はz=du mod p であることを検証し、該検証に
成功したとき、検証者によって前記(d,e,y)がメ
ッセージmに対する正しい署名情報として認証される。
正当性を前記指名確認者を用いて検証する場合には、検
証者は、前記(m,e,y,a)から剰余演算により数
値zを計算した後、指名確認者との通信により、前記署
名用鍵uの値が検証者に対して秘密にされたまま、検証
者はz=du mod p であることを検証し、該検証に
成功したとき、検証者によって前記(d,e,y)がメ
ッセージmに対する正しい署名情報として認証される。
【0031】従って、RSA法を用いることなく剰余演
算によって署名の作成が行われると共に、より高速な署
名法(Schnorr 法)を利用することにより、Chaum の方
式に比べ、より高速な署名作成を実現可能となる。
算によって署名の作成が行われると共に、より高速な署
名法(Schnorr 法)を利用することにより、Chaum の方
式に比べ、より高速な署名作成を実現可能となる。
【0032】
【実施例】以下、図面に基づいて本発明の一実施例を説
明する。図1は本発明の全体構成を示す図である。図に
おいて、10はセンタ、20は署名者、50は検証者、
60は指名確認者であり、センタ10と署名者20、検
証者50及び指名確認者60との間、署名者20と検証
者50との間、及び検証者50と指名確認者60との間
は、それぞれ通信路30を介して結合されている。
明する。図1は本発明の全体構成を示す図である。図に
おいて、10はセンタ、20は署名者、50は検証者、
60は指名確認者であり、センタ10と署名者20、検
証者50及び指名確認者60との間、署名者20と検証
者50との間、及び検証者50と指名確認者60との間
は、それぞれ通信路30を介して結合されている。
【0033】次に、本実施例におけるディジタル署名法
を、図2乃至図6に基づいて説明する。ここで、図2は
署名者20と検証者50との間の通信シーケンスを、ま
た図3は指名確認者60と検証者50との間の通信シー
ケンスをそれぞれ示す。また、図4は署名者20におけ
る処理の流れを示すブロック図、図5は検証者50にお
ける処理の流れを示すブロック図、図6は指名確認者6
0における処理の流れを示すブロック図である。
を、図2乃至図6に基づいて説明する。ここで、図2は
署名者20と検証者50との間の通信シーケンスを、ま
た図3は指名確認者60と検証者50との間の通信シー
ケンスをそれぞれ示す。また、図4は署名者20におけ
る処理の流れを示すブロック図、図5は検証者50にお
ける処理の流れを示すブロック図、図6は指名確認者6
0における処理の流れを示すブロック図である。
【0034】(1) 鍵の登録 署名者20がシステムに加入するときは、剰余付き計算
器22を用いて公開情報aを生成してセンタ10の公開
ファイルに登録する。この際、署名者20はセンタ10
によって公開されているシステム内一意の共通情報の公
開鍵gと公開鍵pを使用する。これらの公開鍵g,pは
共に予め定められた数値である。
器22を用いて公開情報aを生成してセンタ10の公開
ファイルに登録する。この際、署名者20はセンタ10
によって公開されているシステム内一意の共通情報の公
開鍵gと公開鍵pを使用する。これらの公開鍵g,pは
共に予め定められた数値である。
【0035】即ち、図4の鍵の生成に示すように、署名
者20は次の手順によって公開情報aをセンタ10に登
録する。 ステップ1 署名者20は、乱数発生器210を用いて
署名用鍵αを生成して、この署名用鍵αと公開鍵pと公
開鍵gから剰余付き計算器220を用いて公開情報aを
次の(20)式を用いて計算し、
者20は次の手順によって公開情報aをセンタ10に登
録する。 ステップ1 署名者20は、乱数発生器210を用いて
署名用鍵αを生成して、この署名用鍵αと公開鍵pと公
開鍵gから剰余付き計算器220を用いて公開情報aを
次の(20)式を用いて計算し、
【数12】 センタ10の公開ファイルに登録する。
【0036】一方、指名確認者60は、同様にシステム
に加入するときは、剰余付き計算器220を用いて公開
情報bを生成してセンタ10の公開ファイルに登録す
る。
に加入するときは、剰余付き計算器220を用いて公開
情報bを生成してセンタ10の公開ファイルに登録す
る。
【0037】即ち、図6の鍵の生成に示すように、指名
確認者60は次の手順によって公開情報bをセンタ10
に登録する。 ステップ1 指名確認者60は、乱数発生器61を用い
て署名用鍵uを生成して、この署名用鍵uと公開鍵pと
公開鍵gから剰余付き計算器62を用いて公開情報bを
次の(21)式を用いて計算し、
確認者60は次の手順によって公開情報bをセンタ10
に登録する。 ステップ1 指名確認者60は、乱数発生器61を用い
て署名用鍵uを生成して、この署名用鍵uと公開鍵pと
公開鍵gから剰余付き計算器62を用いて公開情報bを
次の(21)式を用いて計算し、
【数13】 センタ10の公開ファイルに登録する。
【0038】(2) 署名の作成 以降では、図2及び図4に基づいて、署名者20がメッ
セージmに署名する場合について説明する。
セージmに署名する場合について説明する。
【0039】署名者20は、乱数発生器21で乱数rと
乱数wを生成した後に、メッセージmに対して、公開鍵
p,g,bと自分の署名用鍵αから、剰余付き計算器2
2、圧縮関数演算器23、及び排他的論理和演算器24
を用いて、次の(22)式乃至(25)式の計算を行う。
乱数wを生成した後に、メッセージmに対して、公開鍵
p,g,bと自分の署名用鍵αから、剰余付き計算器2
2、圧縮関数演算器23、及び排他的論理和演算器24
を用いて、次の(22)式乃至(25)式の計算を行う。
【数14】 これにより、署名(d,e,y)が得られる。署名者2
0は、署名(d,e,y)をメッセージmと共に検証者
50に送信する。ここで、Fは圧縮関数演算器23によ
る関数を意味する。
0は、署名(d,e,y)をメッセージmと共に検証者
50に送信する。ここで、Fは圧縮関数演算器23によ
る関数を意味する。
【0040】(3) 署名者による署名の確認手順 以降では、図2、図4及び図5に基づいて、検証者50
が署名者20と通信することにより署名の確認を行う場
合に付いて説明する。
が署名者20と通信することにより署名の確認を行う場
合に付いて説明する。
【0041】検証者50は、署名者20と通信すること
によって、検査用鍵を用いて署名(d,e,y)がメッ
セージmに対する正しい署名であることを、以下の確認
手順によって検査する。
によって、検査用鍵を用いて署名(d,e,y)がメッ
セージmに対する正しい署名であることを、以下の確認
手順によって検査する。
【0042】ステップ1 検証者50は、剰余付き計算
器52、圧縮関数演算器53、及び排他的論理和演算器
54を用いて、次の(26)式の計算を行う。
器52、圧縮関数演算器53、及び排他的論理和演算器
54を用いて、次の(26)式の計算を行う。
【数15】 ステップ2 署名者20は検証者50に対して、log
g d=logb zであることを以下の手順で証明する。
g d=logb zであることを以下の手順で証明する。
【0043】ステップ3 検証者50は、乱数発生器5
1を用いて2つの乱数sとtを生成すると共に、剰余付
き計算器52を用いて通信文fを次の(27)式によって計
算し、
1を用いて2つの乱数sとtを生成すると共に、剰余付
き計算器52を用いて通信文fを次の(27)式によって計
算し、
【数16】 この通信文fを署名者20に送信する。
【0044】ステップ4 署名者20は、乱数発生器2
1より乱数qを発生した後、剰余付き計算器22を用い
て通信文(v,w)を次の(28)(29)式によって計算し、
1より乱数qを発生した後、剰余付き計算器22を用い
て通信文(v,w)を次の(28)(29)式によって計算し、
【数17】 検証者50に送信する。
【0045】ステップ5 検証者50は、2つの乱数s
とtを署名者20に送信する。
とtを署名者20に送信する。
【0046】ステップ6 署名者20は、受信した乱数
sとtが通信文fに対して次の(30)式を満たすことを剰
余付き計算器22及び比較器25を用いて検査し、
sとtが通信文fに対して次の(30)式を満たすことを剰
余付き計算器22及び比較器25を用いて検査し、
【数18】 この検査結果が合格なら、乱数qを検証者50に送信す
る。また、不合格なら処理を停止する。
る。また、不合格なら処理を停止する。
【0047】ステップ7 検証者50は、剰余付き計算
器52及び比較器55を用いて、次の(31)(32)式を満た
すことを確認する。
器52及び比較器55を用いて、次の(31)(32)式を満た
すことを確認する。
【数19】 この確認結果が合格ならば、(d,e,y)がメッセー
ジmに対する署名者20の正しい署名であると判断す
る。
ジmに対する署名者20の正しい署名であると判断す
る。
【0048】(4) 指名確認者による署名の確認手順 以降では、図3、図5及び図6に基づいて、検証者50
が指名確認者60と通信することにより署名者20によ
る署名の確認を行う場合に付いて説明する。
が指名確認者60と通信することにより署名者20によ
る署名の確認を行う場合に付いて説明する。
【0049】検証者50は、指名確認者60と通信する
ことによって、署名(d,e,y)が署名者20のメッ
セージmに対する正しい署名であることを、以下の確認
手順によって検査する。
ことによって、署名(d,e,y)が署名者20のメッ
セージmに対する正しい署名であることを、以下の確認
手順によって検査する。
【0050】ステップ1 検証者50は、剰余付き計算
器52、圧縮関数演算器53、及び排他的論理和演算器
54を用いて、前記(26)式の計算を行う。 ステップ2 指名確認者60は検証者50に対して、l
ogg b=logd zであることを以下の手順で証明す
る。
器52、圧縮関数演算器53、及び排他的論理和演算器
54を用いて、前記(26)式の計算を行う。 ステップ2 指名確認者60は検証者50に対して、l
ogg b=logd zであることを以下の手順で証明す
る。
【0051】ステップ3 検証者50は、乱数発生器5
1を用いて2つの乱数sとtを生成して、これより剰余
付き計算器52を用いて通信文fを次の(33)式によって
計算し、
1を用いて2つの乱数sとtを生成して、これより剰余
付き計算器52を用いて通信文fを次の(33)式によって
計算し、
【数20】 この通信文fをdと共に、指名確認者60に送信する。
【0052】ステップ4 指名確認者60は、乱数発生
器61を用いて乱数qを生成し、これより、剰余付き計
算器62を用いて通信文(v,w)を次の(34)(35)式に
より計算し、
器61を用いて乱数qを生成し、これより、剰余付き計
算器62を用いて通信文(v,w)を次の(34)(35)式に
より計算し、
【数21】 この通信文(v,w)を検証者50に送信する。
【0053】ステップ5 検証者50は、2つの乱数s
とtを指名確認者60に送信する。
とtを指名確認者60に送信する。
【0054】ステップ6 指名確認者60は、受信した
乱数sとtが通信文fに対して次の(36)式を満たすこと
を、剰余付き計算器62、比較器65を用いて検査し、
乱数sとtが通信文fに対して次の(36)式を満たすこと
を、剰余付き計算器62、比較器65を用いて検査し、
【数22】 合格なら、乱数qを検証者50に送信する。また、不合
格なら処理を停止する。
格なら処理を停止する。
【0055】ステップ7 検証者50は、剰余付き計算
器52、比較器55を用いて、次の(37)(38)式を満たす
ことを確認する。
器52、比較器55を用いて、次の(37)(38)式を満たす
ことを確認する。
【数23】 この確認結果が合格ならば、(d,e,y)がメッセー
ジmに対する署名者20の正しい署名であると判断す
る。
ジmに対する署名者20の正しい署名であると判断す
る。
【0056】前述した本実施例のディジタル署名方式に
よれば、従来に比べて大幅な処理時間の短縮が可能とな
る。即ち、従来のChaum の方法による署名方式と本実施
例との署名作成時間を比較した場合、Chaum の方法で
は、RSA法の署名作成処理及びべき剰余演算を2回必
要とする。これら以外の処理時間は比較的小さいため、
ここでは無視して良い。
よれば、従来に比べて大幅な処理時間の短縮が可能とな
る。即ち、従来のChaum の方法による署名方式と本実施
例との署名作成時間を比較した場合、Chaum の方法で
は、RSA法の署名作成処理及びべき剰余演算を2回必
要とする。これら以外の処理時間は比較的小さいため、
ここでは無視して良い。
【0057】一方、本実施例では、2回のべき剰余演算
処理以外は、時間的に無視できるものである。従って、
従来のChaum の方法による署名方式に比べて、本実施例
はRSA法の処理時間分だけ処理量が少ないことにな
り、処理時間が大幅に短縮される。例えば、ICカード
相当の装置を用いて実現した場合、Chaum の方法では、
署名作成に数10秒(RSA法の署名作成時間)必要と
するのに対し、本実施例では、0.1秒以下で処理が可
能である。
処理以外は、時間的に無視できるものである。従って、
従来のChaum の方法による署名方式に比べて、本実施例
はRSA法の処理時間分だけ処理量が少ないことにな
り、処理時間が大幅に短縮される。例えば、ICカード
相当の装置を用いて実現した場合、Chaum の方法では、
署名作成に数10秒(RSA法の署名作成時間)必要と
するのに対し、本実施例では、0.1秒以下で処理が可
能である。
【0058】さらに、このべき剰余演算の処理は、メッ
セージmに依存しない値であるため、本実施例では事前
処理が可能である。これに対して、従来例のRSA法を
用いた署名作成処理はメッセージmの値に依存するた
め、事前処理が不可能となる。これによっても、本実施
例は従来例に比べて、処理効率が向上している。
セージmに依存しない値であるため、本実施例では事前
処理が可能である。これに対して、従来例のRSA法を
用いた署名作成処理はメッセージmの値に依存するた
め、事前処理が不可能となる。これによっても、本実施
例は従来例に比べて、処理効率が向上している。
【0059】
【発明の効果】以上説明したように本発明によれば、剰
余演算の処理以外は、時間的に無視できるものであり、
従来例のChaum の方式に比べてRSA法の処理時間分だ
け、本発明では、処理量が少ないことになる。さらに、
RSA法の署名作成処理はメッセージmの値に依存する
ため、事前処理が不可能であるのに対して、剰余演算の
処理はメッセージmに依存しない値であるため、事前処
理が可能である。
余演算の処理以外は、時間的に無視できるものであり、
従来例のChaum の方式に比べてRSA法の処理時間分だ
け、本発明では、処理量が少ないことになる。さらに、
RSA法の署名作成処理はメッセージmの値に依存する
ため、事前処理が不可能であるのに対して、剰余演算の
処理はメッセージmに依存しない値であるため、事前処
理が可能である。
【0060】従って、極力、事前処理を用いることを前
提とした場合、Chaum の方法では、RSA法の署名作成
時間が必要とされるのに対し、本発明では、無視できる
程度の時間で処理が可能であるという非常に優れた効果
を奏するものである。
提とした場合、Chaum の方法では、RSA法の署名作成
時間が必要とされるのに対し、本発明では、無視できる
程度の時間で処理が可能であるという非常に優れた効果
を奏するものである。
【図1】本発明の全体構成を示す図
【図2】署名者と検証者間の通信シーケンスを示す図
【図3】指名確認者と検証者間の通信シーケンスを示す
図
図
【図4】署名者における処理の流れを示すブロック図
【図5】検証者における処理の流れを示すブロック図
【図6】指名確認者における処理の流れを示すブロック
図
図
10…センタ、20…署名者、21…乱数発生器、22
…剰余付き計算器、23…圧縮関数演算器、24…排他
的論理和演算器、25…比較器、30…通信路、50…
検証者、51…乱数発生器、52…剰余付き計算器、5
3…圧縮関数演算器、54…排他的論理和演算器、55
…比較器、60…指名確認者、61…乱数発生器、62
…剰余付き計算器、65…比較器。
…剰余付き計算器、23…圧縮関数演算器、24…排他
的論理和演算器、25…比較器、30…通信路、50…
検証者、51…乱数発生器、52…剰余付き計算器、5
3…圧縮関数演算器、54…排他的論理和演算器、55
…比較器、60…指名確認者、61…乱数発生器、62
…剰余付き計算器、65…比較器。
Claims (1)
- 【請求項1】 署名者が電子化されたメッセージに署名
するディジタル署名方式において、 センタはシステム共通情報として数値p及び数値gを登
録した公開ファイルを備え、 署名者による指名確認者は、乱数発生手段を用いて署名
用鍵uを生成し、該署名用鍵uから剰余演算手段を用い
て公開情報bを生成して前記センタの公開ファイルに登
録し、 署名者は、乱数発生手段を用いて署名用鍵αを生成し、
該署名用鍵αから剰余演算手段を用いて公開情報aを生
成して前記センタの公開ファイルに登録した後、 メッセージmに対する署名情報として乱数rを生成し、
該乱数rから剰余演算手段を用いてd=gr mod p
及びbr mod p を算出すると共に、 乱数wを生成し、該乱数wから剰余演算により数値xを
算出し、さらに、該数値xと前記メッセージmとの圧縮
関数値F(m,x)と前記br mod p からこれらの
排他的論理和値eを算出すると共に、前記乱数w、署名
用鍵α及び排他的論理和値eから剰余演算により数値y
を算出し、 前記(d,e,y)をメッセージmに対する署名情報と
して、メッセージmと共に検証者に送信し、 検証者が署名付きメッセージの正当性を署名者を用いて
検証する場合には、検証者は、前記(m,e,y,a)
から剰余演算により数値zを算出した後、 署名者との通信により、前記乱数rの値を検証者に秘密
にしたまま、z=brmod p であることを検証し、
該検証に成功したとき、前記(d,e,y)をメッセー
ジmに対する正しい署名情報として認証し、 検証者が署名付きメッセージの正当性を指名確認者を用
いて検証する場合には、検証者は、前記(m,e,y,
a)から剰余演算により数値zを計算した後、指名確認
者との通信により、前記署名用鍵uの値を検証者に秘密
にしたまま、z=du mod p であることを検証し、
該検証に成功したとき、前記(d,e,y)をメッセー
ジmに対する正しい署名情報として認証することを特徴
とするディジタル署名方式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05231894A JP3292342B2 (ja) | 1994-03-23 | 1994-03-23 | ディジタル署名方式 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP05231894A JP3292342B2 (ja) | 1994-03-23 | 1994-03-23 | ディジタル署名方式 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07261663A true JPH07261663A (ja) | 1995-10-13 |
JP3292342B2 JP3292342B2 (ja) | 2002-06-17 |
Family
ID=12911447
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP05231894A Expired - Fee Related JP3292342B2 (ja) | 1994-03-23 | 1994-03-23 | ディジタル署名方式 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3292342B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5963649A (en) * | 1995-12-19 | 1999-10-05 | Nec Corporation | Message authorization system for authorizing message for electronic document |
DE19829643C2 (de) * | 1997-07-04 | 2000-05-04 | Nippon Telegraph & Telephone | Verfahren und Vorrichtung zur Block-Verifikation mehrerer digitaler Signaturen und Speichermedium, auf dem das Verfahren gespeichert ist |
-
1994
- 1994-03-23 JP JP05231894A patent/JP3292342B2/ja not_active Expired - Fee Related
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5963649A (en) * | 1995-12-19 | 1999-10-05 | Nec Corporation | Message authorization system for authorizing message for electronic document |
DE19829643C2 (de) * | 1997-07-04 | 2000-05-04 | Nippon Telegraph & Telephone | Verfahren und Vorrichtung zur Block-Verifikation mehrerer digitaler Signaturen und Speichermedium, auf dem das Verfahren gespeichert ist |
US6212637B1 (en) | 1997-07-04 | 2001-04-03 | Nippon Telegraph And Telephone Corporation | Method and apparatus for en-bloc verification of plural digital signatures and recording medium with the method recorded thereon |
Also Published As
Publication number | Publication date |
---|---|
JP3292342B2 (ja) | 2002-06-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9990796B2 (en) | Data card verification system | |
US8713321B2 (en) | Method and apparatus for verifiable generation of public keys | |
EP0824814B1 (en) | Methods and apparatus for authenticating an originator of a message | |
US7480795B2 (en) | Method for the application of implicit signature schemes | |
US20050091492A1 (en) | Portable security transaction protocol | |
JPH0512321A (ja) | 認証方式 | |
KR960042410A (ko) | 인증교환 방법과 복원형 전자서명 방법 및 부가형 전자서명 방법 | |
JP2000155524A (ja) | 電子検印システム | |
JPH07261663A (ja) | ディジタル署名方式 | |
Riera et al. | Efficient construction of vote-tags to allow open objection to the tally in electronic elections | |
JPH11234263A (ja) | 相互認証方法および装置 | |
JP3123916B2 (ja) | デジタル署名システム | |
JP3316895B2 (ja) | 正当性の確認システム | |
KR100194638B1 (ko) | 개인 식별정보를 이용한 부가형 디지털 서명방법 | |
JP3107313B2 (ja) | ディジタル署名方法 | |
KR19980048479A (ko) | 안전성 측면의 디지털 서명 방법 | |
JPH09200198A (ja) | メッセージ認証システム | |
JP3331329B2 (ja) | 公開検証可依頼復元ブラインド署名方法、その装置及びプログラム記録媒体 | |
JP3178537B2 (ja) | ディジタル署名方法 | |
JPH07336348A (ja) | 認証装置および認証方法 | |
JPH09284271A (ja) | 制限付ブラインド署名方法およびシステム | |
JP2000231330A (ja) | ブラインド署名方法、そのシステム、その装置およびプログラム記録媒体 | |
JPH07281595A (ja) | 認証方式 | |
Fan et al. | An efficient election scheme for resolving ties | |
JPH0777934A (ja) | 離散対数ベース認証方式 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090329 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090329 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100329 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110329 Year of fee payment: 9 |
|
LAPS | Cancellation because of no payment of annual fees |