JPH1020781A - 電子署名方法、その検証方法および装置 - Google Patents

電子署名方法、その検証方法および装置

Info

Publication number
JPH1020781A
JPH1020781A JP8168784A JP16878496A JPH1020781A JP H1020781 A JPH1020781 A JP H1020781A JP 8168784 A JP8168784 A JP 8168784A JP 16878496 A JP16878496 A JP 16878496A JP H1020781 A JPH1020781 A JP H1020781A
Authority
JP
Japan
Prior art keywords
signature
document
verifier
received
public key
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.)
Pending
Application number
JP8168784A
Other languages
English (en)
Inventor
Seiji Masuda
征治 桝田
Masayuki Abe
正幸 阿部
Atsushi Fujioka
淳 藤岡
Eiichiro Fujisaki
英一郎 藤崎
Hidemi Morihata
秀実 森畠
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 JP8168784A priority Critical patent/JPH1020781A/ja
Publication of JPH1020781A publication Critical patent/JPH1020781A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 相手に知られてもよい文書のみを開示すれば
残りの文書は知られないで済む。 【解決手段】 文書作成者Aは文書M1,M2を文書攪
乱器21で攪乱し、署名対象G1,G2として署名者B
へ送り、BはG1,G2に対し署名演算を行い、署名S
をAへ返す。AはM1(又はM2)とG2(又はG1)
とSを検証者C1(又はC2)へ送り、C1(又はC
2)はM1(又はM2)を攪乱して、G1(又はG2)
を作り、そのG1(又はG2)と受信したG2(又はG
1)とを用いてSの署名検証を行う。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、例えば電子現金
に適用され、電気通信システムやICカードを利用して
電子的な署名を行う方法、その検証方法及びその装置に
関する。
【0002】
【従来の技術】文書作成者、署名者、検証者がおり、文
書作成者は作成した文書Mを署名者へ送り、署名Sを生
成してもらい、後に検証者にその文書Mとその署名Sを
示して検証させることにより、その文書Mに対して署名
者の署名がついていることを検証者に納得してもらうも
のである。
【0003】ここで、文書作成者は、複数の検証者C
1,C2,・・・,Cnに対して、文書作成者が作成し
た複数の文書M1,M2,・・・,Mnに関して、署名
検証者Ci(1≦i≦n)に文書Mi以外の文書を開示
することなく、署名者の生成した署名を検証してもらう
場合を考える。以下、上記条件を満たす従来の技術につ
いて説明する。
【0004】まず、文書作成者はCjが検証者であるこ
とを知った後、対応する文書Mjを署名者へ送付して署
名Sjをもらい、検証者Cjへ文書Mjと署名Sjを提
示する。検証者Cjは文書Mjを用いて署名Sjを検証
する。検証者が不定の場合、文書作成者は、前もってn
個の文書M1,M2,・・・,Mnに対するn個の署名
S1,S2,・・・,Snをもらっておく必要がある。
【0005】
【発明が解決しようとする課題】従来の技術では、利用
者が複数の文書を持ち、その文書を開示しても良い相手
が限定される場合、利用者は署名をしてもらう前にあら
かじめ、その署名の検証者を決定しておく必要性がある
という問題があった。つまり、従来の方法では、署名お
よびその正しさを複数の検証者に示すことが出来ない場
合が存在しうるのである。
【0006】この発明の目的は、検証者が不定の場合で
も、1つの署名で署名検証処理が出来る署名方法および
その装置を提供することにある。
【0007】
【課題を解決するための手段】請求項1の発明によれ
ば、文書作成者は複数の文書M1,・・・,Mnを文書
作成者装置で攪乱して、それぞれ署名対象G1,・・
・,Gnを生成し、これら署名対象を署名者の装置へ送
り、署名者装置では署名対象G1,・・・,Gnの全体
に対して署名演算を行い、署名Sを生成して文書作成者
装置へ返送し、文書作成者装置は、M1,・・・,M
n,G1,・・・,Gn,Sを記憶装置に記憶する。
【0008】請求項2の発明では検証処理の際に、署名
Sと、検証者に開示できる文書と、署名対象中の開示で
きる文書と対応するものを除いたものとを検証者の装置
へ送り、検出者装置は、受信した文書を攪乱して署名対
象を生成し、その署名対象と受信した署名対象とを用い
て署名Sを検証する。請求項3,4はそれぞれ請求項
1,2において攪乱の際に各文書ごとに攪乱情報を付加
して、安全度を高めている。
【0009】請求項5は請求項2又は4で公開鍵暗号方
法を用いたブラインド署名による。請求項6は請求項5
の検証方法を加えている。請求項7は請求項2中の検証
方法のみを要旨とする。請求項8、9はそれぞれ請求項
2の発明で用いる文書作成者装置、検証者装置である。
【0010】
【発明の実施の形態】以下では、この発明の一実施例の
形態について説明する。ここでは簡単のため、文書は2
つ(M1,M2)、検証者は2人(C1,C2)で、文
書M1は検証者C2に、文書M2は検証者C1に開示出
来ないと仮定する。図1に示すように文書作成者の装置
11と、署名者の装置12とは通信回線又はICカード
で接続可能であり、また文書作成者装置11と検証者C
1,C2の各装置13,14とそれぞれ通信回線又はI
Cカードで接続可能とされている。
【0011】まず、文書作成者は装置11で文書M1,
M2を攪乱して署名対象G1,G2を生成しそれらを署
名者に送る。署名者は装置12で署名対象G1,G2に
署名Sをして文書作成者に返信する。署名Sを検証者C
1に示す場合、文書作成者は署名S、文書M1、署名対
象G2を検証者C1に送り、検証者C1は装置13によ
り署名Sの検証を行う。署名Sを検証者C2に示す場合
は、文書作成者は署名S、文書M2、署名対象G1を検
証者C2に送り、検証者C2は装置14により署名Sの
検証を行う。
【0012】以下各処理を具体的に説明する。署名生成処理 まず、署名生成処理を図2を参照して説明する。文書作
成者は装置11内の文書攪乱器21に文書M1,M2を
アルゴリズム識別子Daのアルゴリズムにより署名対象
G1,G2に変換し、それらを署名者の装置12に送信
する。署名者は署名対象G1,G2を装置12内の署名
生成器22で自らの秘密鍵SkUbにより署名Sを生成
し、署名Sを、秘密鍵SkUbに対応する公開鍵PkU
b、署名アルゴリズム識別子Dbと共に文書作成者に返
信する。文書作成者は受信した公開鍵PkUb、署名ア
ルゴリズム識別子Dbと保持していた署名対象G1,G
2とを用いて署名Sの正しさを装置11内の署名検証器
23で検証し、正しければ、受信したS,PkUb,D
bと、G1,G2の生成に用いたアルゴリズム識別子D
a、攪乱情報R1,R2を記憶装置24に保存する。署名検証処理 まず、文書作成者が、署名Sを、検証者C1に示す場合
を考える。図3に示すように文書作成者はS,Da,M
1,R1,G2,PkUb,Dbを記憶装置24から検
証者C1の装置13へ送信する。検証者C1の装置13
はM1,Da,R1を文書変換器25に入力し、その出
力としてG1を得る。その後、このG1と先に受信した
S,G2,PkUb,Dbを署名検証器26に入力し、
署名検証器26は署名Sを検証する。
【0013】次に、文書作成者が、署名Sを、検証者C
2に示す場合を考える。図4に示すように、文書作成者
は記憶装置24からS,Da,M2,R2,G1,Pk
Ub,Dbを検証者C2の装置14へ送信する。検証者
C2の装置14はDa,M2,R2を文書変換器27に
入力し、その出力としてG2を得る。その後、装置14
はこのG2と先に受信したS,G1,PkUb,Dbを
署名検証器28に入力し、署名検証器28で署名Sを検
証する。
【0014】図2中の文書攪乱器21の具体例は図5に
示すように乱数発生器31により乱数Rが生成され、そ
の乱数Rと文書Mとの連結MIIRを変数としてハッシ
ュ演算器32でハッシュ関数が演算され、その演算結
果、つまり署名対象Gと、乱数Rが出力され、図2中の
記憶装置24に記憶される。文書攪乱器21としてはあ
るいは図6に示すように、複数の一方向性関数演算器3
2−1〜31−nが設けられ、これら演算器32−1〜
32−nはその攪乱アルゴリズムが互いに異なるもので
あり、文書攪乱器21には文書Mと攪乱アルゴリズムの
識別子Dが入力され、その識別子Dに応じて演算器選択
器33が制御され、文書Mと乱数Rとが演算器32−1
〜32−n中の識別子Dと対応する演算器に供給され
る。この場合は、検証者装置へ攪乱アルゴリズムDも送
られる。
【0015】図3中の文書変換器25の具体例を、図6
の文書攪乱器21と対応したものを図7に示す。受信し
た文書Mと乱数Rと攪乱アルゴリズムの識別子Dとが入
力され、その識別子Dに応じて演算器選択器34が制御
され、互いにアルゴリズムが異なる一方向性関数演算器
35−1〜35−n中の1つが選択され、その選択され
た演算器に、文書Mと乱数Rとが供給され、これらを変
数として一方向性関数が演算され、その演算結果が署名
対象Gとして出力される。
【0016】なお上述で文書攪乱器としては乱数生成器
31を省略してもよい。しかし安全性を高める点からは
乱数などの攪乱情報も併用した方がよい。また攪乱演算
器としてはハッシュ関数に限らず、他の一方向性関数を
演算するものでもよい。更に上述において、検証者装置
へ送る開示できる文書を1つとしたが、これが複数であ
ってもよく、検証者装置へ送る署名対象は、検証者装置
へ送る開示できる文書と対応するものを除く全てとな
る。
【0017】以下に各装置での基本的な処理手順を、検
証者に開示できる文書が1つの場合について説明する。
署名を得る場合、文書作成者装置11では、図9に示す
ように文書M1,・・・,Mnより署名対象G1,・・
・,Gnを生成し(S1)、これら署名対象G1,・・
・,Gnを署名者装置12へ送り(S2)、これらに対
する署名者Aからの署名Sを受信し(S3)、その署名
Sが正しいものかを検証し(S4)、正しくなければ処
理を中断し、正しければ文書M1,・・・,Mn、署名
対象G1,・・・,Gn、署名S,署名検証用公開鍵P
kUb、署名アルゴリズムDb,署名対象作成に用いた
攪乱情報R1,・・・,Rn、攪乱アルゴリズム識別子
Daを記憶装置に記憶する(S5)。
【0018】署名者装置12では図10に示すように、
署名対象G1,・・・,Gnを受信し(S1)、これら
署名対象に対して秘密鍵SkUbで署名演算を行って署
名Sを生成し(S2)、その署名S、公開鍵PkUb、
アルゴリズム識別子Dbを文書作成者Aへ送信する(S
3)。文書作成者Aが文書Mについての署名Sの検証を
検証者に求める場合は図11に示すように、文書Mi、
この文書Miと対応する署名対象を除いた署名対象Gj
(j:iを除いたi≦j≦nをみたす全ての整数)、署
名S、公開鍵PkUb、署名アルゴリズム識別子Dbを
検証者へ送る。
【0019】検証者が文書Miの署名Sを検証する場合
は、図12に示すように、文書Miとこれと対応する以
外の署名対象Gj(j:iを除いたi≦j≦nを満す整
数)、署名S、公開鍵PkUb、署名アルゴリズム識別
子Dbを受信し(S1)、これらを用いて署名Sの検証
を行い、正しくなければ処理を中断し、正しければ文書
Mi、署名対象Gj、署名Sを記憶手段に格納して終了
する(S3)。
【0020】文書作成者装置11は例えば図13に、図
2,図3に対応する部分に同一符号を付けて示すよう
に、送信部41を通じて署名対象G1,・・・,Gnの
署名者装置12への送信や、署名S、文書Mi、署名対
象Gj、公開鍵PkUb、アルゴリズム識別子Dbなど
を検証者装置13や14へ送信を行い、受信部42で署
名者装置12よりの署名S、公開鍵PkUb、署名アル
ゴリズム識別子Dbを受信する。制御部43で記憶装置
24の読出し、書込み制御、文書攪乱器21、署名検証
器23、送信部41、受信部42の動作制御を行い、文
書の署名を得たい場合は、文書M1,・・・,Mnを読
出し、文書攪乱器21を動作させ、更に送信部41より
署名対象G1,・・・,Gnの送出を行わせ、署名者装
置よりの受信した署名Sの検証を署名検証器23に行わ
せ、その結果が合格ならSなどを記憶装置24に記憶す
る。また検証処理時には、制御部43文書Mi、署名対
象Gjの読出し、検証者装置への送信を制御する。
【0021】検証者装置13は図14に図3と対応する
部分に同一符号を付けて示すように、文書作成者装置1
1からの信号は受信部45で受信され、制御部46は、
その受信信号中の文書Miを文書変換器25へ供給し、
署名対象Giに変換し、これと、その他の受信された署
名S、署名対象Gjとを署名検証器26に供給して検証
処理をさせる。適用例 ここでは、特願平7−287457「信託機関付き電子
現金方法」にこの発明を適用した具体例を示す。
【0022】前記電子現金方法では、電子現金の利用者
は、まず最初に、信託機関と呼ぶ機関により、利用許可
証を発行してもらう。銀行(ここでは、電子現金の発行
・決済者を銀行と呼ぶが、実際は、どのような機関でも
良い)は、利用者の要求に従い、利用者にある金額の電
子現金(または、電子コインと呼ぶ)を発行する。利用
者は、その電子コインを額面金額になるまで何回でも支
払いに用いる。この場合、電子コインの受領者は、銀行
に対して実名を明らかにして預金処理を行なうが、電子
コインによる、支払処理においては、実名を秘匿したま
ま、公開鍵情報を支払相手に見せる必要がある。これ
は、銀行に対して、商品購入に関する支払者のプライバ
シーを守る為の条件である。つまり前記電子現金方法で
は、利用者Aが電子現金を利用者Bから受取る場合に、
その電子現金を銀行で決済してもらう場合は、利用者A
はその実名IDaを利用者Bに署名してもらう必要があ
り、一方、利用者Aが受取った電子現金を他の利用者C
へ譲渡する場合は、実名IDaではなく、仮名(公開鍵
情報)に署名してもらうことにより、プライバシーを守
ることができることになる。このように、受取った後の
電子現金の使い方により、実名か、仮名かを電子現金受
取り時に予め区別する必要があった。しかし上記処理に
対しこの発明を適用すると、以下に述べるように、銀行
へ実名を見せるかまたは公開鍵情報(仮名)を支払相手
に見せるのかを、電子コイン受領時には決める必要がな
い。
【0023】この適用例では、信託機関装置400、利
用者装置500、銀行装置600、受領者装置700で
構成され、これらは通信回線又はICカードなどで接続
することができる。これら装置に用いる署名アルゴリズ
ムは全てRSA方式とし、文書攪乱器は図5に示したも
のを、文書攪乱検証器は図8に示したものを、文書変換
器はハッシュ演算器をそれぞれ使用することとする。な
お、文中のh( ),g( )は一方向性関数のことで
ある。
【0024】信託機関装置400は秘密鍵(dj,N
j)および、公開鍵(ej,Nj)を保持し、利用者装
置500は秘密鍵duと公開鍵euと匿名公開情報Nu
を持つ。銀行Aは、発行する電子コインの金額wiに対
応する秘密鍵dwi及び公開鍵ewiの対を保持し、金
額に共通の公開鍵Nw及びewiとwiの対応を公開す
る。利用許可証の発行処理 利用者Uは、利用許可証を信託機関Jから発行してもら
う。利用許可証は1度発行してもらえばよい。この発行
処理手順を図15を参照して説明する。
【0025】ステップ1 利用者Uはその装置500を
用いて、その記憶装置501内の利用者識別子IDu、
匿名公開情報Nuを取出し、これらをそれぞれ文書攪乱
器502で、発生した乱数r1、r2と共に攪乱して攪
乱出力H1,H2を生成し、r1,r2を記憶装置50
1に記憶する。 ステップ2 利用者UはH1,H2,r1,r2とID
u,Nuを信託機関装置400へ送り、利用許可証の発
行を求める。
【0026】ステップ3 信託機関Jは利用者Uの身元
を何らかの方法で確認した後、合格した時は、装置40
0内の文書攪乱検証器401にH1,H2,r1,r
2,IDu,Nuを入力してH1,H2を検証する。こ
の検証に合格すると、利用者UのIDuと匿名公開情報
Nuを組として記憶装置402の対応表403に記憶し
て秘密に管理する。なお、文書攪乱検証器401の例を
図8に示す。入力された文書Mと乱数rとを変数として
ハッシュ演算器36でハッシュ関数が演算され、この演
算結果H′と入力されたHとが比較器37で比較され、
一致すれば合格、不一致で不合格が出力される。
【0027】ステップ4 信託機関装置400は、有効
期限等の情報Iを生成し、ハッシュ演算器404は、H
1,H2,Iを入力し、ハッシュ演算器404の出力g
(H1‖H2‖I)を、署名生成器405により秘密鍵
dj,Njを用いて次の署名演算を行う。 B=(g(H1‖H2‖I))djmod Nj (2) この署名BとIを利用者装置500に送信する。
【0028】ステップ5 利用者装置500は、信託機
関装置400からの受信データB、Iと匿名公開情報N
uとを利用許可証(B,I,Nu,IDu,r1,r
2)として、記憶装置501に記憶する。以下では説明
を簡単にするため、B=(g(Nu‖I)djmodN
j,利用許可証を(B,I,Nu)とする。電子現金の発行処理 次に、利用者Uが銀行Aから電子現金を発行してもらう
手順を図16を参照して説明する。
【0029】ステップ1 利用者装置500で、乱数発
生器503を用いて乱数Rcを生成して、記憶装置50
1に記憶する。一方、その乱数Rcと記憶装置501か
ら読みだした署名Bを、ハッシュ演算器504に入力し
てg(B‖Rc)を計算する。続いて、乱数生成器50
3を駆動して乱数rを生成し、g(B‖Rc)とrと、
発行して欲しい利用限度額wi(金額情報:例えば1万
円)と対応する公開鍵ewiおよび、金額共通の公開鍵
Nwとを、ブラインド署名前処理器505へ入力して次
式の処理を行う。
【0030】 Z=g(B‖Rc)rewi mod Nw (3) この処理結果Zを電子コインの金額情報wiと共に銀行
装置600に送信する。 ステップ2 銀行装置600は、電子コインの金額wi
に対応する秘密鍵dwiと公開鍵Nwを記憶装置601
から取出して署名生成器602へ入力し、受信情報Zに
対して次の処理(ブラインド署名)を行う。
【0031】 Q=Zdwi mod Nw (4) この署名Qを利用者装置500に送信する。 ステップ3 利用者装置500は、ブラインド署名前処
理のために先に発生した乱数rと公開鍵Nwと受信情報
Qとをブラインド署名後処理器506へ入力し、次式の
処理を行って指定した金額の引換署名、つまり電子コイ
ンCを得て記憶装置501に記憶する。
【0032】 C=Q/r mod Nw (5) ここで、C=(g(B‖Rc))dwi mod Nw と
なる。なおRSA暗号方法を用いたブラインド署名では
ewi × dwi mod Nw=1である。電子コインによる支払 次に、利用者Uが銀行Aにより発行された電子コインC
を用いて、受領者V1に支払いを行う場合について図1
7を参照して説明する。
【0033】ステップ1 利用者Uは装置500によ
り、利用許可証(I,Nu,B)と乱数Rc、電子コイ
ンC、その金額wiを受領者V1の装置700に送る。 ステップ2 受領者装置700は、受信したI,Nuお
よび、記憶装置701から読み出した信託機関Jの公開
鍵ej,Njを署名検証器702へ入力し、I,Nuに
対する署名Bの正当性を、次式を検証することにより確
認する。
【0034】 Bej≡g(Nu‖I)mod Nj (6) 続いて、B,Rcに対する署名Cの正当性、つまり電子
コインCの正当性を検証するため、受信したB,Rcお
よび、記憶装置701から読み出したewi,Nwを署
名検証器703へ入力し、次式を満たすことを確認す
る。 Cewi ≡g(B‖Rc)mod Nw (7) この検査の何れかが不合格のときは以降の処理を中止す
る。
【0035】ステップ3 この両検査に合格した場合、
受領者装置700は乱数生成器704を用いて乱数Eを
生成し、自らの識別子IDv及び、公開鍵Nvを記憶装
置701から読み出し、それを文書攪乱器707に入力
して、その出力としてG1,G2を得る。E,G1,G
2を出力する時刻印T(タイマ705から)と共に利用
者装置500に送る。
【0036】ステップ4 利用者装置500は、電子コ
インCのうち金額Xを使用することを決め、署名生成器
507へXと受信情報T,E,G1,G2を入力し、次
式により署名を行う。 S=(g(X‖h(T‖E‖G1‖G2)))dumod Nu (8) この署名S、公開鍵eu、およびXを受領者装置700
に送る。
【0037】ステップ5 受領者装置700は、署名検
証器706へS,X,eu,Nu,T,E,G1,G2
を入力し、次式が成り立つことを検証する。 Seu≡g(X‖h(T‖E‖G1‖G2))mod Nu (9) この検証に合格すれば、受領者装置700は、利用者U
のXに該当する金額の支払いを正当なものとみなして受
領する。S,X,eu,T,E,G1,G2,R1,R
2を記憶装置701に記憶する。つまり匿名情報Nuは
記憶されるが、その個人識別子IDuはそのままの形式
では利用されない。電子コインによる再支払 つぎに、受領者V1が利用者Uにより支払われた電子コ
インを再び用いて、受領者V2に支払いを行う場合につ
いて図18を参照して説明する。
【0038】ステップ1 受領者V1は装置700より
I,Nu,eu,B,Rc,C,wi,S,X,T,
E,G1,R2,Nvを受領者V2の装置800に送
る。つまり匿名情報Nvを送るが個人の識別子IDvは
送らない。 ステップ2 受領者装置800は、受信したI,Nuお
よび、記憶装置801から読み出したej,Njを署名
検証器802へ入力し、I,Nuに対する署名Bの正当
性を、(6)式を検証することにより確認する。
【0039】続いて、B,Rcに対する署名Cの正当
性、つまり電子コインCの正当性を検証するため、受信
したB,Rcおよび、記憶装置801から読み出したe
wi,Nwを署名検証器803へ入力し、(7)式を満
たすことを確認する。続いて、署名Sの正当性、つまり
当該電子コインが受領者V1に支払われた正当性を検証
するため、受信したR2,Nvを文書変換器809に入
力して、G2を得て、受信したS,X,T,G1,E,
Nu,euと共に署名検証器807へ入力して(9)式
を満たすことを確認する。
【0040】この検査の何れかが不合格のときは以降の
処理を中止する。 ステップ3 これらの全ての検査に合格した場合、受領
者装置800は乱数生成器804を用いて乱数E′を生
成し、自らの識別子IDv′及び、公開鍵Nv′を記憶
装置801から読み出し、それを文書攪乱器808に入
力して、その出力としてG1′,G2′を得る。E′,
G1′,G2′を出力する時刻印T′と共に受領者装置
700に送る。
【0041】ステップ4 受領者装置700は、電子コ
インCのうち金額X′を使用することを決め、署名生成
器706へX′と受信情報T′,E′,G1′,G2′
を入力し、次式により署名を行う。 S′=(g(X′‖h(T′‖E′‖G1′‖G2′)))dvmod Nv (8′) この署名S′、公開鍵ev、およびX′を受領者装置8
00に送る。
【0042】ステップ5 受領者装置800は、署名検
証器806へS′,X′,ev,Nv,T′,E′,G
1′,G2′を入力し、次式が成り立つことを検証す
る。 S′ev≡g(X′‖h(T′‖E′‖G1′‖G2′))mod Nv (9′) この検証に合格すれば、受領者V2は、受領者V1の
X′に該当する金額の支払いを正当なものとみなして受
領する。決済 つぎに、受領者V1が利用者Uにより支払われた電子コ
インを、銀行Aで決済を行う場合について図19を参照
して説明する。
【0043】ステップ1 受領者V1はその装置700
により、I,Nu,eu,B,Rc,C,wi,S,
X,T,E,G2,R1,IDvを銀行装置600に送
る。 ステップ2 銀行装置600は、受信したI,Nuおよ
び、記憶装置601から読み出したej,Njを署名検
証器603へ入力し、I,Nuに対する署名Bの正当性
を、(6)式を検証することにより確認する。
【0044】続いて、B,Rcに対する署名Cの正当
性、つまり電子コインCの正当性を検証するため、受信
したB,Rcおよび、記憶装置601から読み出したe
wi,Nwを署名検証器604へ入力し、(7)式を満
たすことを確認する。続いて、署名Sの正当性、つまり
当該電子コインが受領者V1に支払われた正当性を検証
するため、受信したR1,IDvを文書変換器605に
入力し、G1を得て、受信したS,X,T,G2,E,
Nu,euと共に署名検証器606へ入力し、(9)式
を満たすことを確認する。
【0045】この検査の何れかが不合格のときは以降の
処理を中止する。 ステップ3 これらの全ての検査に合格する場合、銀行
Aは受領者V1の決済を正当なものとみなして受領す
る。前記この発明を適用した電子現金方法は一般的には
次の通りである。利用者U1 は、ディジタル署名(以下
署名と呼ぶ)用の秘密情報Pに対応した公開情報N1
少なくとも1つの部局からなる信託機関Jに送信し、信
託機関Jは、利用者U1 と公開情報N1 の対応を秘密に
管理し(以後、N1を匿名公開情報と呼ぶ)、匿名公開
情報N1 に対するJの署名B1 を生成して利用者U1
送信し、利用者U1 は、匿名公開情報N1 と信託機関J
の署名B1 を利用許可証として、N1 に対応する秘密情
報P1 とともに記憶し(利用許可証の発行)、次に利用
者U1 は、銀行Aに対して利用許可証(B1 ,N1 )と
金額Xを示して金額Xの電子紙幣Cの発行を要求し、銀
行Aは、利用者Uに対して利用許可証(B1 ,N1 )に
関連しかつ、Xに相当する電子紙幣Cを署名により発行
し(電子紙幣の発行)、また利用者U1 は、利用者U2
に対して、U1 の利用許可証(B1 ,N1 )と電子紙幣
Cを示し、利用者U2 はその識別情報ID2 と、その匿
名公開情報N2 とのそれぞれを攪乱して署名対象G21
22を作り、利用者U1 へ送り、U1 はその匿名公開情
報N1 に対応する秘密情報P1 を使って、金額x(x
X),署名対象G21,G22を含む署名SとxをU2 に送
ってxの譲渡乃至支払を行い(電子紙幣の譲渡/支
払)、利用者U2 は、利用者U3 に対して、譲渡時の譲
渡の履歴H1 から署名対象G 21を除いたものと自己の利
用許可証(B2 ,N2 )を示し、利用者U3 はその識別
情報IDv と、その匿名公開情報Nv とそれぞれを攪乱
して署名対象Gv1,G v2を作り、利用者U2 へ送り、利
用者U2 は自己の匿名公開情報N2 に対応する秘密情報
2 を使って、金額y(yx),署名対象Gv1,Gv2
を含む署名Sとyを利用者U3 へ送ってyの譲渡乃至支
払を行う(電子紙幣の再譲渡/支払)。
【0046】あるいは利用者U2 は利用者U3 への支払
を行うことなく、前xの譲渡時の履歴H1 から署名対象
22を除いたものと自己の識別情報ID2 を銀行Aへ送
り、銀行AはそのID2 を攪乱して署名対象G21を作
り、このG21と受信履歴H1 よりその署名S、その他を
検証して、合格の場合は利用者U2 はxに該当する金額
を得(電子紙幣の決済)、銀行Aは、電子紙幣Cのもと
での支払の合計が、限度額Xを越えていないことを確認
し(電子紙幣の管理)、合計が、Xを超えている場合
は、信託機関Jに対して電子紙幣Cのもとでの全支払履
歴の少なくとも匿名公開情報N1 を提出し、RSA暗号
法を用いた署名について更に述べる。
【0047】利用者U1 は、2つの大きな素数P,Qを
生成して、これらを用いて合成数N 1 (N1 =P×Q)
を計算し、さらに、e(利用者共通)、P,Qから、 d=e-1mod LCM(P−1,Q−1) を計算し、d,N1 をメモリに記憶し、N1 を信託機関
Jに送信し(LCM(a,b)はaとbの最小公倍
数)、信託機関Jは、利用者U1 とN1 の対応関係を対
応表を用いて秘密に管理し、有効期限等の情報I1 を生
成し、信託機関Jの署名用秘密鍵(dj,Nj ), B1 =(g(N1 ‖I1 ))djmod Nj の署名計算を行い(gは一方向性関数)、その署名B1
とIを利用者U1 に送信し、利用者U1 は、信託機関J
からの受信データ(B1 ,I1 ,N1 )を利用許可証と
してメモリに記憶し、つぎに、利用者U1 は、乱数Rc
を生成してメモリに記憶し、その乱数Rcとメモリから
読み出した利用許可証(B1 ,I1 ,N1 )よりg(B
1 ‖RC )を計算し、さらに金額情報W(例えば1万
円)と対応した銀行Aの公開情報(ew,NW )を用い
て、 Z=g(B1 ‖RC )rewmod NW を計算し、この計算結果Zを電子紙幣の上記金額情報と
共に銀行Aに送信し、銀行Aは、受信情報Zと電子紙幣
の金額に対応する秘密鍵(dw,NW )とを用いて Θ=Zdwmod NW を計算し、その結果を利用者U1 に送信し、利用者U1
は、受信情報Θと、公開鍵(ew,NW )とを用いて C=Θ/rmod NW で計算して指定した金額の電子紙幣Cを得、利用者U1
は、利用許可証(B1 ,I1 ,N1 ),電子紙幣
(RC ,C,W)を利用者U2 に送り、利用者U2 は、
(I1 ,N1 )に対する署名B1 の正当性を、 B1 ej≡g(N1 ‖I1 )(mod Nj ) をB1 がみたすことで検査し、(B1 ,RC )に対する
電子紙幣Cの正当性を、Cが Cew≡g(B1 ‖RC )(mod NW ) をみたすことで検査し、このいずれかの検査が不合格の
ときは以降の処理を中止し、この両検査に合格すれば、
利用者U2 は、乱数Eを生成し、U2 の識別情報I
2 ,公開情報N2 をそれぞれ攪乱した署名対象G21,
22を計算し、E,G 21,G22を時刻印Tと共に利用者
1 に送り、利用者U1 は、電子紙幣Cのうちの譲渡す
る金額xについて署名計算 S1 =(g(x‖h(T‖E‖G21‖G22)))d1mod
1 を行い、その署名S1 とx,公開鍵e1 を利用者U2
送り、利用者U2 は、xが電子紙幣Cの利用限度額Wを
超えていないことを検査し、この検査が不合格のときは
以後の処理を中止し、合格の場合は署名S1 の正当性
を、S1 が S1 e1≡g(x‖h(T‖E‖G21‖G22))mod N1 をみたすことで検証し、この検証に合格すれば、利用者
2 は、利用者U1 のxに該当する金額の譲渡を正当な
ものとしてみなし、それを受けとり、利用者U2 は、利
用者U1 との電子紙幣譲渡時の交信履歴H1 (I1 ,N
1 ,B1 ,RC ,C,W,x,T,E,S1 ,e1 ,G
21,G22,N2 )をそのG22を除いて利用者U3 に送
り、利用者U3 は、(I1 ,N1 )に対する署名B1
正当性を、B1 が B1 ej≡g(N1 ‖I1 )(mod Nj ) をみたすことで確認(利用許可証の正当性)し、電子紙
幣Cの正当性を、Cが CCW≡g(B1 ‖RC )mod NW をみたすことで確認し、さらに、N2 を攪乱してG22
生成し、S1 が S1 e1≡g(x‖h(T‖E‖G21‖G22))mod N1 をみたすことで確認し、このいずれかの検査が不合格の
ときは以降の処理を中止し、これらの検査に合格すれ
ば、利用者U3 は、乱数E′を生成し、U3 のID3
公開情報N3 を攪乱して署名対象G31, G32をそれぞれ
生成し、E′,G31,G32を時刻印T′と共に利用者U
2 に送り、利用者U2 は、譲渡された金額xのうち使用
する金額yについての署名計算 S2 =(g(y‖h(E′‖T′‖G31‖G32))d2 m
od N2 を行い、この署名S2 とxを利用者U3 に送り、利用者
3 は、yが、電子紙幣Cの譲渡金額xを超えていない
ことを確認し、この検査が不合格のときは以後の処理を
中止し、合格の場合、署名S2 の正当性を、S2 が S2 e2≡g(y‖h(E‖T′‖G31‖G32)( mod
2 ) をみたすことで検証し、この検証に合格すれば、利用者
3 は利用者U2 のyに該当する金額の譲渡乃至支払を
正当なものとしてみなし、それを受けとる。
【0048】あるいは利用者U2 は利用者U3 への支払
を行うことなく、利用者U1 との交信履歴H1 をそのG
21を除いたものと識別情報ID2 を銀行Aへ送り、銀行
Aは先の場合と同様に(I1,1 )に対する署名B1
正当性、電子紙幣Cの正当性をそれぞれ確認し、さらに
ID2 を攪乱してG21を生成し、S1 が S1 e1≡g(x‖h(T‖E‖G21‖G22))mod N1 をみたすことで確認し、合格なら利用者U2 はxに該当
する金額を得る。
【0049】以上のように電子現金の支払乃至譲渡時に
その受取り人が受け取った電子現金を直ちに決済(換
金)するか、プライバシイを保護しながら受け取った電
子現金を更に他へ譲渡するかを区別することなく、支払
乃至譲渡を行なうことができる。
【0050】
【発明の効果】署名生成処理において、署名の検証者
(使用目的)を意識することなく処理を行うことが出来
る。署名検証処理において、相手に知られても良い文書
だけを開示すれば、残りの文書に関しては知られること
なく、署名の正しさを示すことが出来る。
【0051】特願平7−287457「信託機関付き電
子現金方法」にこの発明を適用すると、従来の支払い処
理(受け取った者がその電子現金を銀行で決済する場
合)と譲渡処理(受け取った者がその電子現金を他の支
払いに用いる場合)を1つにする事が出来、電子現金を
受け取った後に、受領者は、その電子現金を支払いに用
いるのか決済に用いるのかを自由に決定することが出来
る。
【図面の簡単な説明】
【図1】この発明の原理構成を示すブロック図。
【図2】署名生成処理における機能構成を示すブロック
図。
【図3】署名検証処理1における機能構成を示すブロッ
ク図。
【図4】署名検証処理2における機能構成を示すブロッ
ク図。
【図5】文書攪乱器21の機能構成を示すブロック図。
【図6】文書攪乱器21の他の機能構成のブロック図。
【図7】文書変換器25の機能構成のブロック図。
【図8】図15中の文書攪乱検証器401の機能構成を
示すブロック図。
【図9】本文書作成者の署名生成処理を示す流れ図。
【図10】署名者の署名生成処理を示す流れ図。
【図11】文書作成者の署名検証処理を示す流れ図。
【図12】署名検証者の署名検証処理を示す流れ図。
【図13】文書作成者装置の機能構成を示すブロック
図。
【図14】検証者装置の機能構成を示すブロック図。
【図15】この発明の適用例における利用許可証の発行
処理の機能構成を示すブロック図。
【図16】前記適用例における電子コインの発行処理の
機能構成を示すブロック図。
【図17】前記適用例における電子コインによる支払処
理の機能構成を示すブロック図。
【図18】前記適用例における電子コインによる再支払
処理の機能構成を示すブロック図。
【図19】前記適用例における決済処理の機能構成を示
すブロック図。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 藤崎 英一郎 東京都新宿区西新宿三丁目19番2号 日本 電信電話株式会社内 (72)発明者 森畠 秀実 東京都新宿区西新宿三丁目19番2号 日本 電信電話株式会社内

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 文書作成者は複数の文書を文書作成者装
    置でそれぞれ攪乱して複数の署名対象を生成し、 これら複数の署名対象を署名者の装置(以下署名者装置
    と記す)に送付し、 その署名者装置はこれら複数の署名対象に対してこれを
    1つのものとして署名演算を行って署名を生成して上記
    文書作成者装置へ返送し、 上記文書作成者装置は上記複数の文書、複数の署名対
    象、上記署名を記憶装置に記憶しておくことを特徴とす
    る電子署名方法。
  2. 【請求項2】 上記文書作成者は署名検証処理時に上記
    文書作成者装置より上記署名と検証者に開示できる文書
    と上記複数の署名対象中の上記開示できる文書と対応す
    るもの以外のものを上記検証者の装置(以下検証者装置
    と記す)に送付し、 上記検証者装置は受信した文書から署名対象を計算し、
    その計算した署名対象と上記受信した署名対象を用いて
    受信した署名を検証することを特徴とする請求項1記載
    の電子署名方法。
  3. 【請求項3】 上記文書作成者装置での攪乱は複数の文
    書M1,・・・,Mnと攪乱情報R1,・・・,Rnと
    の各n組のそれらを攪乱アルゴリズムDによって攪乱し
    て署名対象G1,・・・,Gnを生じさせるものであ
    り、上記攪乱情報R1,・・・,Rnも上記記憶装置に
    記憶することを特徴とする請求項1記載の電子署名方
    法。
  4. 【請求項4】 上記文書作成者装置での攪乱は複数文書
    M1,・・・,Mnと攪乱情報R1,・・・,Rnとの
    各n組のそれぞれを攪乱アルゴリズムDによって攪乱し
    て署名対象G1,・・・,Gnを生じさせるものであ
    り、上記攪乱情報R1,・・・,Rnも上記記憶装置に
    記憶し、 上記検証者装置に、上記攪乱情報中の上記開示できる文
    書と対応しないものも上記検証者装置へ送り、上記検証
    者装置は文書と対応する攪乱情報より、上記攪乱アルゴ
    リズムDによって署名対象を計算して上記署名の検証に
    用いることを特徴とする請求項2記載の電子署名方法。
  5. 【請求項5】 上記署名者装置は公開鍵暗号方法の秘密
    鍵Secと公開鍵Pubとを備え、 上記署名演算を上記秘密鍵Secを用いて行い、上記署
    名の他に上記公開鍵Pubをも上記文書作成者装置へ送
    り、 上記文書作成者装置は受信した公開鍵Pubを上記記憶
    装置に記憶し、 署名検証処理時に、上記公開鍵Pubも上記検証者装置
    へ送り、 上記検証者装置は上記公開鍵Pubを用いて検証演算を
    行うことを特徴とする請求項2又は4記載の電子署名方
    法。
  6. 【請求項6】 上記文書作成者装置は上記公開鍵Pub
    を受取ると、その公開鍵Pubを用いて、上記受取った
    署名の検証を行い、合格した時にのみ、上記受取った署
    名、公開鍵Pubの上記記憶装置への記憶を行うことを
    特徴とする請求項5記載の電子署名方法。
  7. 【請求項7】 複数の文書と、これら複数の文書をそれ
    ぞれ攪乱した複数の署名対象と、これら複数の署名対象
    に対する1つの署名とを記憶装置に保持し、 上記文書中の検証者に開示できる文書と、上記複数の署
    名対象中の上記開示できる文書と対応するものを除いた
    ものと、上記署名とを上記検証者の装置へ送り、 上記検証者の装置は受信した文書から署名対象を計算
    し、その計算した署名対象と上記受信した署名対象を用
    いて上記受信した署名を検証することを特徴とする電子
    署名検証方法。
  8. 【請求項8】 複数の文書M1,・・・,Mn,署名対
    象G1,・・・,Gn,署名S,を記憶する記憶装置
    と、 上記複数の文書M1,・・・,Mnをそれぞれ攪乱して
    上記署名対象G1,・・・,Gnを生成する文書攪乱手
    段と、 外部の信号を送信する送信手段と、 外部より信号を受信する手段と、 上記記憶装置に対する読出し、書込み制御、上記文書攪
    乱手段、上記送信手段及び上記受信手段の各動作制御を
    行い、上記署名対象G1,・・・,Gnを生成させ、署
    名者装置へ送信させ、上記署名者装置より受信した署名
    Sを上記記憶装置に記憶し、上記署名Sと、検証者に開
    示できる上記文書Miと、上記署名対象Gj(j:iを
    除いた1≦j≦nを満す全ての整数)を上記検証者の装
    置へ送信させる制御手段と、 を具備する電子署名用文書作成者装置。
  9. 【請求項9】 入力信号を受信する受信手段と、 受信した文書を攪乱して署名対象を生成する文書変換手
    段と、 署名対象G1,・・・,Gnに対する署名Sを検証する
    署名検証手段と、 上記受信手段に受信した文書Miを上記文書変換手段へ
    供給して署名対象Giを生成させ、受信した署名Sと受
    信した署名対象Gj(j:iを除いた1≦j≦nを満す
    全ての整数)と上記生成した署名対象Giを上記署名検
    証手段で検証させる制御手段と、 を具備する電子署名検証者装置。
JP8168784A 1996-06-28 1996-06-28 電子署名方法、その検証方法および装置 Pending JPH1020781A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8168784A JPH1020781A (ja) 1996-06-28 1996-06-28 電子署名方法、その検証方法および装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8168784A JPH1020781A (ja) 1996-06-28 1996-06-28 電子署名方法、その検証方法および装置

Publications (1)

Publication Number Publication Date
JPH1020781A true JPH1020781A (ja) 1998-01-23

Family

ID=15874414

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8168784A Pending JPH1020781A (ja) 1996-06-28 1996-06-28 電子署名方法、その検証方法および装置

Country Status (1)

Country Link
JP (1) JPH1020781A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002215027A (ja) * 2001-01-22 2002-07-31 Toshiba Corp 属性証明プログラム及び装置
WO2009118847A1 (ja) * 2008-03-26 2009-10-01 富士通株式会社 署名管理方法
JP2010171600A (ja) * 2009-01-21 2010-08-05 Ntt Data Corp 署名データ生成装置及び検証装置
JP4808903B2 (ja) * 2000-06-05 2011-11-02 テレフオンアクチーボラゲット エル エム エリクソン(パブル) パーソナルコンピュータ及び個人端末装置を使用して文書に対しデジタル署名する方法
JP2017016667A (ja) * 2012-05-29 2017-01-19 キャシー・ホールディングス・リミテッド・ライアビリティ・カンパニーCassy Holdings Llc 確率的処理
JP2021114201A (ja) * 2020-01-20 2021-08-05 富士通株式会社 検証方法、プログラム、および情報処理装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4808903B2 (ja) * 2000-06-05 2011-11-02 テレフオンアクチーボラゲット エル エム エリクソン(パブル) パーソナルコンピュータ及び個人端末装置を使用して文書に対しデジタル署名する方法
JP2002215027A (ja) * 2001-01-22 2002-07-31 Toshiba Corp 属性証明プログラム及び装置
JP4678956B2 (ja) * 2001-01-22 2011-04-27 株式会社東芝 属性証明プログラム及び装置
WO2009118847A1 (ja) * 2008-03-26 2009-10-01 富士通株式会社 署名管理方法
JP2010171600A (ja) * 2009-01-21 2010-08-05 Ntt Data Corp 署名データ生成装置及び検証装置
JP2017016667A (ja) * 2012-05-29 2017-01-19 キャシー・ホールディングス・リミテッド・ライアビリティ・カンパニーCassy Holdings Llc 確率的処理
JP2021114201A (ja) * 2020-01-20 2021-08-05 富士通株式会社 検証方法、プログラム、および情報処理装置

Similar Documents

Publication Publication Date Title
CN110781521B (zh) 基于零知识证明的智能合约认证数据隐私保护方法及系统
US6411942B1 (en) Electronic transaction system and systems for issuing and examining electronic check
US5511121A (en) Efficient electronic money
US4977595A (en) Method and apparatus for implementing electronic cash
EP0824814B1 (en) Methods and apparatus for authenticating an originator of a message
EP0439847B1 (en) Optionally moderated transaction systems
RU2157001C2 (ru) Способ проведения платежей (варианты)
US7490069B2 (en) Anonymous payment with a verification possibility by a defined party
EP1205889A1 (en) Returning of change in an electronic payment system
CN111062717B (zh) 一种数据转移处理方法、装置和计算机可读存储介质
JP2004023796A (ja) 選択的に開示可能なデジタル証明書
JP3365599B2 (ja) 電子小切手システム
EP0374225A1 (en) AUTHENTICATION METHOD AND DEVICE.
JPH1020781A (ja) 電子署名方法、その検証方法および装置
JPH0752460B2 (ja) 電子現金実施方法及びその装置
JP2805493B2 (ja) 認証方法及びそれに用いる装置
JP3388566B2 (ja) 利用許可証付き電子小切手方法および装置
JP4754359B2 (ja) サービス配信システム
JP3171227B2 (ja) 信託機関付き電子紙幣実施方法
CN111062833A (zh) 一种合同数据的签名认证方法及相关装置
JP3859983B2 (ja) ブラインド署名方法、その装置、そのプログラム及びその記録媒体
JP3428876B2 (ja) 電子証券の発行、移転、証明、消去のための処理システム及びその処理方法
JPH10171903A (ja) 電子現金方法及びこれに用いる装置
CN108550036A (zh) 一种建立安全基础设施的方法、终端及装置
JP3334018B2 (ja) 電子現金方法及び電子現金システム