JP3107313B2 - ディジタル署名方法 - Google Patents

ディジタル署名方法

Info

Publication number
JP3107313B2
JP3107313B2 JP03005242A JP524291A JP3107313B2 JP 3107313 B2 JP3107313 B2 JP 3107313B2 JP 03005242 A JP03005242 A JP 03005242A JP 524291 A JP524291 A JP 524291A JP 3107313 B2 JP3107313 B2 JP 3107313B2
Authority
JP
Japan
Prior art keywords
signature
message
signer
mod
verifier
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.)
Expired - Fee Related
Application number
JP03005242A
Other languages
English (en)
Other versions
JPH04237087A (ja
Inventor
淳 藤岡
龍明 岡本
和夫 太田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP03005242A priority Critical patent/JP3107313B2/ja
Publication of JPH04237087A publication Critical patent/JPH04237087A/ja
Application granted granted Critical
Publication of JP3107313B2 publication Critical patent/JP3107313B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、電子化された文書の
稟議/決済、電子投票システム等で、電子的に署名/捺
印を付与するディジタル署名方法に関する。
【0002】
【従来の技術】ディジタル署名方式の代表的な例とし
て、Chaum のUndeniable 署名法 (David Chaum, Hans v
an Antwerpen, “Undeniable Signatures ”,Crypto89
Abstracts, pp.205-212,(1989), David Chaum “Zero-
Knowledge Undeniable Signatures”, Euro Crypt90 Ab
stracts, pp.419-426, (1990))がある。Chaum のディ
ジタル署名法は、署名の転用不可性と否認拒否性を備え
た安全性の高い方式である。
【0003】署名の転用不可性とは、メッセージmと署
名sの対応関係(m,s)が署名としての証拠とはなら
ず、署名者がメッセージmと署名sの対応関係の正当性
を検証者との通信によって証明した場合にのみ署名の正
当性を確認できることである。通常のディジタル署名で
は、検証者がメッセージmと署名sの対応関係の正当性
を、署名者と通信せずに確認できるので、(m,s)が
署名の証拠となる。
【0004】否認拒否性とは、検証者がメッセージmや
署名sとの対応関係(m,s)の正当性の証明を求めて
いる場合に、署名者が署名が誤っていることを証明でき
ることである。当然のことながら、署名者がメッセージ
mに対する正しい署名sの正当性を否認しようとしても
成功しないことが必要である。Chaum の Undeniable 署
名法は、以下の通りである。 (1)鍵の登録 署名者Aは、署名用鍵xと検査用鍵(g,p,y)を
(1)式y=gx (mod p) (1) をみたすように生成し、検査用鍵を公開し、署名用鍵を
秘密に管理する。ここで、剰余計算a(mod p) は、aを
pで割ったときの余りを表す。
【0005】Chaum の署名法は、pが大きいとき、yと
gとpからy=gx (mod p) をみたすxを計算するのが
困難なこと(離散対数問題の困難性)に安全性の根拠を
おく署名法である。利用者の検査用鍵(g,p,y)
は、センタの公開ファイルにて管理され、必要に応じ
て、検証者Bはセンタに問い合わせて(g,p,y)を
払い出してもらう。 (2)署名の作成 署名者Aは、pと署名用鍵xを用いて、メッセージmに
対して(2)式s=mx (mod p) (2) を計算して署名sを作り、これをメッセージmと共に検
証者Bに送信する(剰余付きの計算は、例えば池野、小
山「現代暗号理論」電子通信学会、pp.16-17,(1986) に
示されている)。 (3)署名の検査 検証者Bは、署名者Aと通信することによって、検査用
鍵を用いて署名sがメッセージmに対する正しい署名で
あることを、(a)の確認手順によって検査する。
【0006】一方、もし、署名sがメッセージmに対す
る正しい署名でない場合(以降では、改ざんされた署名
をtで表わす)には、署名者Aは(b)の否認手順によ
って証明する。 (a)確認手順 ステップ1 検証者Bは、2つの乱数aとbを生成し
て、(3)式を計算して通信文XをX=ma ・gb (mo
d p) (3) 作り、これをメッセージmと署名sと共に署名者Aに送
信する。
【0007】ステップ2 署名者Aは、乱数qを生成し
て、(4)、(5)式を計算して通信文(Y,Z)を Y=X・gq (mod p) (4) Z=Yx (mod p) (5) 作り、これを検証者Bに送信する。
【0008】ステップ3 検証者Bは、2つの乱数aと
bを署名者Aに送信する。ステップ4 署名者Aは、受
信したaとbが、先に受信した通信文Xに対して (6)式の関係 X=ma ・gb (mod p) (6) をみたすことを検査して、合格なら、qを検証者Bに送
信する。不合格なら処理を停止する。
【0009】ステップ5 検証者Bは、受信したq、先
に受信した通信文(Y,Z)、先に生成したaとbが、
検査用鍵の一成分y、メッセージmと署名sに対して
(7)、(8)式の関係 Y=ma ・gb+q (mod p) (7) Z=sa ・yb+q (mod p) (8) をみたすことを確認する。合格ならば、sがmに対する
署名者Aの正しい署名であると判断する。注)ここで、
等号が成立することは、 Y=X・gq =(ma ・gb )gq =ma ・gb+q (mod
p) Z=Yx =(ma ・gb+q x =(mx a ・(gx
b+q =sa ・yb+q (mod p) より明らかである。 (b)否認手順 ステップ1 検証者Bは、2つの乱数c(O≦c≦k)
と乱数dを生成して、(9)、(10)式を計算して通
信文(V,W)を V=mc ・gd (mod p) (9) W=tc ・yd (mod p) (10) 作り、これをメッセージmと署名tと共に署名者Aに送
信する(ここでkは安全性のパラメータでありAとBが
予め合意した値である)。
【0010】ステップ2 署名者Aは、rを1からkま
で取り直して (t/mx r =W/VX (mod p) (11) をみたすrを求めて、rのコミットメント関数の値e=
BC(r)を検証者Bに送信する(ここでコミットメン
ト関数とは、rに対してBC(r)=BC(r′)をみ
たすr′を見つけるのが困難な関数である)。
【0011】コミットメント関数BCの構成例は、Gill
es Brassard, Claude Crepeau:“Non-transitive trans
fer of confidence: A perfect zero-knowledge intera
ctive protocol for SAT and beyond ”, FOCS'86,pp.1
88-195 に示されている。ステップ3 検証者Bは、乱
数dを署名者Aに送信する。 ステップ4 署名者Aは、受信したdが、通信文(V,
W)に対して (V,W)=(mr d (mod p) ,tr d (mod p) ) をみたすことを確認する。成立すれば、rを検証者Bに
送信する。成立しなければ、検証者Bが検証以外のこと
に不正利用していると判断して処理を停止する。
【0012】ステップ5 検証者Bは、受信したrがe
=BC(r)をみたし、さらにr=cが成り立つと正し
い署名でないことを確認する。以上のようにして、確認
手順で、正しい署名であれば、これが確認され、正しく
ない署名であれば、正しい署名とは認識されない。この
確認手順では正しい署名者が、正しい署名でないと偽わ
ることができないことは保証されない。しかし否認手順
で、正しくない署名を正しくないと認識し、正しい署名
を正しくないと認識できないから、正しい署名者が偽わ
って正しい署名を自己の署名でないと否認することがで
きない。
【0013】
【発明が解決しようとする課題】このChaum の方法は発
明の効果の項で後述するように署名者、検証者の各処理
量が多く、また通信量が多い欠点があった。電子化され
た文書の稟議/決済、電子投票システム等では、文書に
付与された電子的な署名/捺印の真偽を確認したいとい
う要求がしばしば生じる。
【0014】Chaum の方法を考察した場合、この目的に
かなうものであるが、署名の確認、ないし否認の手順と
に、それぞれ異なる手続きを用いている。このため、こ
れの実現においては、異なる装置(ないしソフトウエ
ア)を2種類用意し、その目的に応じてどちらかの装置
を選択して運用しなければならないことになる。この発
明の目的は処理量が少なく、かつ通信量も少なく、しか
も署名の確認・否認手順を同じ手続きで行うことが可能
なディジタル署名方を提供することにある。
【0015】
【課題を解決するための手段】この発明によれば、署名
者は署名用鍵xを用いてこれと対応する公開情報yを生
成し、そのyを公開し、署名者はメッセージmに対し、
署名用鍵xを用いて署名sを作り、mとsとを検証者へ
送信し、検証者はmとsとを署名者へ送信し、署名者は
乱数rを用いて鍵検証用通信文X1 と署名検証用通信文
2 とを生成して検証者へ送信し、検証者は乱数eを署
名者へ送信し、署名者は乱数r,eと署名用鍵xとから
通信文Yを生成して検証者へ送信し、検証者はYとX1
とyとeとを用いて鍵xの正当性を検証し、YとX2
mとeとを用いて署名sの正当性を検証し、両者が同時
に成立する時に、署名sが正しいと判断する。
【0016】このようにしてこの発明では、署名用鍵x
の正当性を示す手順と署名の正当性を示す手順とを同一
のパラメータを用いて同時に行うことにより、従来方式
では独立な手続きで行われていた署名の確認手順と否認
手順とを同一の手続きで行える。
【0017】
【実施例】次に、この発明の一実施例について説明す
る。図1にこの発明が適用されるシステムの構成を示
す。センタ100が署名者装置200と安全な通信路3
00を介して結合され、署名者装置200は安全でない
通信路400を介して検証者装置500と結合され、検
証者装置500は安全な通信路300を介してセンタ1
00と結合されている。
【0018】センタ100には図2に示すように公開フ
ァイルが設けられ、公開ファイルにシステムに共通な情
報p,gが登録されてあり、また各利用者対応に公開情
報が登録される。図3にこの発明で行われる通信シーケ
ンスの例を示し、図4に署名者装置200の構成例を示
し、図5に検証者装置500の構成例を示す。 (1)鍵の登録 署名者Aがシステムに加入するとき、公開情報yを生成
してセンタ100の公開ファイルに登録する。センタ
は、システム内一意の共通情報として(g,p)も公開
する。pは素数であり、gは素数pの原根である。
【0019】ステップ1 署名者Aは、乱数発生器21
0を用いて署名用鍵xを生成して、xとpとgから剰余
つき計算器220を用いてxと対応した公開情報yを
(12)式y=gx (mod p) (12) を計算して求め、これをセンタ100の公開ファイルに
登録する。 (2)署名の作成 以降では、署名者Aがメッセージmに署名する場合につ
いて説明する。
【0020】ステップ2 署名者Aは、剰余つき計算器
230を用いて公開情報pと署名用鍵xとから、メッセ
ージmに対して(13)を演算して s=mx (mod p) (13) 署名sを得、mとsの対を検証者Bに送信する。 (3)署名の検査 検証者Bは、署名者Aと通信することによって、署名s
が署名者Aのメッセージmに対する正しい署名であるこ
とを、または、署名sがメッセージmに対する正しい署
名でないことを検査する。
【0021】ステップ3 検証者Bは、検査したいメッ
セージと署名の対(m,s)を署名者Aに送信する。 ステップ4 署名者Aは、乱数発生器240を用いて乱
数rを生成して、剰余付き計算器250,260を用い
て(14)、(15)式を計算して鍵検証用通信1
と、署名検証用通信2 とを X1 =gr (mod p) (14) X2 =mr (mod p) (15) 得、これを検証者Bに送信する。
【0022】ステップ5 検証者Bは、乱数発生器51
0を用いて乱数eを生成して、署名者Aに送信する。ス
テップ6 署名者Aは、受信したe、先に用いたrと署
名用鍵xとから、乗算器270、加算器280を用いて
(16)を演算して通信文Yを Y=r+ex(mod p-1) (16) 得、これを検証者Bに送信する。
【0023】ステップ7 検証者Bは、剰余付計算器5
20でX1 ・ye (mod p) を計算し、剰余付計算器53
0でgY(mod p) を計算し、これら計算結果を比較器5
40で比較し、また剰余付計算器550でX2 ・se (m
od p) を計算し、剰余付計算器570でmY (mod p) を
計算し、これら計算結果を比較器570で比較し、受信
したY、先に受信した通信文(X1 ,X2 )、先に送信
したeが、メッセージmと署名sに対して(17)、
(18)式 X1 ・ye =gY (mod p) (17) X2 ・se =mY (mod p) (18) をみたすことを検査し、両検査式に合格ならばsがmに
対する署名者Aの正当な署名であり、前者の検査式のみ
に合格ならばsがmに対する署名者Aの正当な署名では
ないと判断する。
【0024】つまり(18)式の署名の正当性の検証に
より、正しい署名を正しいと認識し、正しくない署名を
正しくないと認識できる。しかしこれだけでは正しい署
名を正しくないと署名者が否定したことを検証できな
い。しかし署名者が正しい署名を否認するために、例え
ば(16)式を満さないYを送信すれば(18)式が満
されないが、(17)式も成立しなくなるため、つまり
鍵の正当性が検証されなくなるから、不正があったと判
定され、正しい署名を署名者が否定することはできな
い。正しくない署名は(17)式が満されるが、(1
8)式が満されなくなる。このようにして署名の確認と
否認とを同一手続きで行える。
【0025】署名の検査を行う際に、検査の信頼性をよ
り向上させるために、通信内容を複数にして確認するこ
とや、ステップ4からステップ7を複数回繰り返して行
うようにしてもよい。署名者装置200、検証者装置5
00はそれぞれ電子計算機で構成してもよい。
【0026】
【発明の効果】この発明の方とChaum の方法とを比較
すると下記のようになる。但し、Chaum の方もこの発
明方も鍵の生成、署名の作成の手順においては相違が
ないので、以下、署名の検査、否認の手順のみについて
考察する。 (1)検証者の処理量 まず、Chaum の方法では、確認の手順で乱数生成2回、
べき乗演算6回、乗算3回、加算1回が必要であり、否
認の手順で乱数生成2回、べき乗演算4回、乗算2回、
コミットメント関数の計算1回が必要であり、計、乱数
生成4回、べき乗演算10回、乗算5回、加算1回、コ
ミットメント関数の計算1回が必要である。
【0027】一方、この発明方においては、確認、お
よび、否認のどちらの手順においても、乱数生成1回、
べき乗演算4回、乗算2回だけを行えばよい。従ってこ
の発明方の方が処理量が少ない。 (2)署名者の処理量 Chaum の方法では、確認の手順で乱数生成1回、べき乗
演算2回、乗算1回が必要であり、否認の手順でべき乗
演算2+k回、乗算2回、除算2回、コミットメント関
数の計算1回が必要であり、計、乱数生成1回、べき乗
演算8+k回、乗算3回、除算2回、コミットメント関
数の計算1回が必要である。
【0028】一方、この発明方においては、確認、お
よび、否認のどちらの手順においても、乱数生成1回、
べき乗演算2回、乗算1回、加算1回だけを行えばよ
い。この発明方の方が処理量が少ない。 (3)システム内の通信量 以下、p,m,a,b,q,e,dそれぞれを500ビ
ットとして比較する。
【0029】Chaum の方式においては、検査の手順で、
8×500ビットの通信量を必要とし、否認の手順で
は、7×500ビットの通信量を必要とする。すなわ
ち、全体として必要な通信量は、7500ビットであ
る。
【0030】一方、この発明方は、検査と否認の手順
のどちらにおいても、それに必要な通信量は、 3000ビット となり、この発明方では大幅に通信量が削減されてい
ることが分かる。 (4)装置の構成 Chaum の方においては、署名者が、署名の検査を依頼
されたときに、それの正当性を判断して、それに応じ
て、確認、ないし、否認の手順を選択して通信を実行す
るが、その際、確認/否認それぞれに専用の装置を必要
とする。
【0031】しかし、この発明方においては、確認と
否認の手順を同一にしたため、確認/否認それぞれを同
一装置で実現でき、通信装置の規模を削減することがで
きる。
【図面の簡単な説明】
【図1】この発明方が適用されるシステムを示すブロ
ック図。
【図2】センタ100内の公開ファイルの内容例を示す
図。
【図3】この発明方で行われる通信シーケンスの例を
示す図。
【図4】署名者装置200の構成例を示すブロック図。
【図5】検証者装置500の構成例を示すブロック図。
───────────────────────────────────────────────────── フロントページの続き (58)調査した分野(Int.Cl.7,DB名) G09C 1/00 - 5/00 H04K 1/00 - 3/00 H04L 9/00

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 素数pとpの原根gを公開し、 署名者装置は署名用鍵xを生成して、 y=gx (mod p) を計算して公開情報yを公開し、 署名者装置はメッセージmに対し、 s=mx (mod p) を演算し、署名sとmを検証者装置へ送信し、 検証者装置はメッセージmとその署名sを署名者装置へ
    送信し、 署名者装置はメッセージmと署名sを受信すると、乱数
    rを生成し、 X1 =gr (mod p) X2 =mr (mod p) を演算して、鍵検証用通信文X1 と署名検証用通信文X
    2 を検証者装置へ送信し、 検証者装置は鍵検証用通信文X1 と署名検証用通信文X
    2 を受信すると、乱数eを生成して署名者装置へ送信
    し、 署名者装置は乱数eを受信すると、上記受信した乱数r
    と署名用鍵xとにより、 Y=r+ex (mod p-1) を演算して通信文Yを検証者装置へ送信し、 検証者装置は通信文Yを受信すると、鍵検証用通信文X
    1 とyと乱数eから、 X1 ・ye (mod p) を計算し、gと通信文Yから、 gY (mod p) を計算し、これら計算結果を比較し、 署名検証用通信文X2 と署名sと乱数eから、 X2 ・se (mod p) を計算し、メッセージmと通信文Yから、 mY (mod p) を計算し、これら計算結果を比較し、 これら両比較が共に一致すればsがmに対する署名者装
    置の正当な署名であることを出力し、前者のみ一致すれ
    ばsがmに対する署名者装置の正当な署名でないことを
    出力するディジタル署名方法。
JP03005242A 1991-01-21 1991-01-21 ディジタル署名方法 Expired - Fee Related JP3107313B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP03005242A JP3107313B2 (ja) 1991-01-21 1991-01-21 ディジタル署名方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP03005242A JP3107313B2 (ja) 1991-01-21 1991-01-21 ディジタル署名方法

Publications (2)

Publication Number Publication Date
JPH04237087A JPH04237087A (ja) 1992-08-25
JP3107313B2 true JP3107313B2 (ja) 2000-11-06

Family

ID=11605734

Family Applications (1)

Application Number Title Priority Date Filing Date
JP03005242A Expired - Fee Related JP3107313B2 (ja) 1991-01-21 1991-01-21 ディジタル署名方法

Country Status (1)

Country Link
JP (1) JP3107313B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013013428A (ja) * 2011-06-06 2013-01-24 Ando Kikaku:Kk 型抜き団扇

Families Citing this family (2)

* Cited by examiner, † Cited by third party
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
JP5069157B2 (ja) * 2008-03-14 2012-11-07 日本電信電話株式会社 署名システム、署名方法、証明装置、検証装置、証明方法、検証方法、プログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013013428A (ja) * 2011-06-06 2013-01-24 Ando Kikaku:Kk 型抜き団扇

Also Published As

Publication number Publication date
JPH04237087A (ja) 1992-08-25

Similar Documents

Publication Publication Date Title
CN110781521B (zh) 基于零知识证明的智能合约认证数据隐私保护方法及系统
CN110555933B (zh) 电子投票方法、装置、设备及计算机存储介质
CN111815322B (zh) 一种基于以太坊的具备可选隐私服务的分布式支付方法
JP5205398B2 (ja) 鍵認証方式
US20080276084A1 (en) Anonymity Revocation
US5719940A (en) Method for providing information security by exchanging authentication and signing an electronic signature and apparatus therefor
KR0146438B1 (ko) 인증교환 방법과 복원형 전자서명 방법 및 부가형 전자서명 방법
US20120239777A1 (en) Secure financial transactions
US10756900B2 (en) Non-repudiation protocol using time-based one-time password (TOTP)
JP3107313B2 (ja) ディジタル署名方法
JP3131907B2 (ja) ディジタル署名方法
JP2697876B2 (ja) 電子式入札システム
JP2003513480A (ja) エンティティの真正性および/またはメッセージの完全性を証明するための方法
JP3178537B2 (ja) ディジタル署名方法
CN114978622A (zh) 一种基于区块链和零知识证明的匿名凭证验证方法及系统
JPH10327145A (ja) 認証方式
JP3292342B2 (ja) ディジタル署名方式
JP3285039B2 (ja) ディジタル署名方法
JPH1084341A (ja) メッセージ付加形デジタル署名方法及びそれに対した検証方法
KR100349418B1 (ko) 은닉서명의 남용 방지방법
CN111327423A (zh) 基于有序多重签名的审批装置、方法及可读存储介质
JP3331328B2 (ja) 多重デジタル署名方法、そのシステム、その装置及びそのプログラム記録媒体
JP2002328602A (ja) ブラインド署名方法、その装置、そのプログラム及びその記録媒体
JP3147373B2 (ja) 署名の多重検証方法
JP3292312B2 (ja) ディジタル署名方法

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20070908

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080908

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080908

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090908

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees