JP3334013B2 - 電子現金流通方法 - Google Patents

電子現金流通方法

Info

Publication number
JP3334013B2
JP3334013B2 JP9339094A JP9339094A JP3334013B2 JP 3334013 B2 JP3334013 B2 JP 3334013B2 JP 9339094 A JP9339094 A JP 9339094A JP 9339094 A JP9339094 A JP 9339094A JP 3334013 B2 JP3334013 B2 JP 3334013B2
Authority
JP
Japan
Prior art keywords
bank
user
electronic cash
value
node
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
JP9339094A
Other languages
English (en)
Other versions
JPH07302288A (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 JP9339094A priority Critical patent/JP3334013B2/ja
Publication of JPH07302288A publication Critical patent/JPH07302288A/ja
Application granted granted Critical
Publication of JP3334013B2 publication Critical patent/JP3334013B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、電子現金流通方法に係
り、特に、電子通信システムで電子的な現金を電子紙幣
として、これにより、電子現金支払い、電子現金発行等
を行うことが可能な電子現金流通方法に関する。
【0002】
【従来の技術】電気通信システムを用いた電子資金移動
が普及しつつある。一般に換金可能な証書(手形、小切
手等)は、証書の象徴的機能(証書を保持している人に
対して証書に記載してある権利が供与させること)を備
えている。証書を電気通信システムで取り扱う場合に
は、証書の内容をディジタル化したデータとして取り扱
う。また、電子的現金としては、プリペイドカードやク
レジットカードがある。
【0003】計算機能を備えたカードで換金時にカード
読み取り装置とカードとの間のデータのやりとりを工夫
することで、プライバシを保証し、かつカードの2重使
用を検出する方式が提案されている。例えば、Chaum, F
iat, Naor:'Untraceable Electric Cash', Proc. of CR
YPTO'88 がある。
【0004】
【発明が解決しようとする課題】しかしながら、上記の
証書は、ディジタル化されたデータであり、容易にコピ
ーを作成して複数回の換金が可能となる。同様にプリペ
ードカードのような電子的現金を実現するときにも、こ
の問題が生じる。即ち、プリペードカードをコピーする
ことで、不正に複数回の換金あるいは、商品の購入が可
能となる。一方、クレジットカードでは、このような2
重使用の危険性はほとんどないが、その代わりに、利用
者の利用履歴がすべてカード会社に知られてしまうとい
う欠点がある(つまり、プライバシが保証されていな
い)。
【0005】また、Chaum 等の方式では、1回発行され
た電子現金を分割して利用する(例えば、1万円の電子
現金を合計利用額が1万円になるまで何回も利用する)
ことはできない。
【0006】本発明は、上記の点に鑑みなされたもの
で、従来の方式の問題点を解決し、プライバシを保証
し、いかなる結託による不正使用をも防ぐ電子現金方式
において、一回発行された電子現金を発行時に決められ
た額になるまで何回も分割して利用できるような電子現
流通方法を提供することを目的とする。
【0007】
【課題を解決するための手段】図1は、本発明の原理を
説明するための図(その1)である。
【0008】
【0009】本発明は、電子現金を発行する機関の装置
(以下、銀行側装置)と、該電子現金を発行される者の
装置(以下、利用者装置)及び利用者より電子現金を受
領する機関の装置(以下、小売店側装置)より構成され
る電子現金システムにおける電子現金流通方法におい
て、 利用者装置は、秘密情報uをランダムに生成し、該
秘密情報uよりp(素数)を法とする剰余演算を用いて
計算した結果Iと該結果Iに対する利用者の署名情報を
銀行側装置に送信し、 銀行側装置は、結果Iより剰余演
算結果mを算出し、該銀行装置自身の秘密情報xを用い
て該剰余演算結果mに対する銀行の署名m x mod pを求
め、該署名m x mod pの正当性を証明するための情報と
共に、利用者装置に送信し、 利用者装置は、剰余演算結
果mを銀行側装置には隠匿しておくデータm’に変形
し、最終的に該データm’の値を該銀行側装置に秘密に
したまま、該データm’に対する銀行側の署名m’ x mo
d pをその正当性を保証する情報と共に取得し、該デー
タm’と該データm’に対する銀行側署名の対を利用許
可証とし、 利用者が、ある金額の電子現金を銀行より引
き出す場合には、利用者装置は、金額に相当する階層を
持つ木構造の全ノード個々に対応する各々の値(t−
値)を計算し、 木構造の最上位のノードより認証用情報
を生成して銀行側装置に送信し、 銀行側装置は、認証用
情報より引出し金額に対応するブラインド署名を作成し
て、利用者装置に送信し、 利用者装置は、銀行側装置か
ら受信したブラインド署名から木構造認証用情報Tと利
用許可証に対する銀行の署名を計算して、該木構造認証
用情報T及び利用許可証と引出し金額に対応する銀行署
名の対である電子現金を取得する。
【0010】また、本発明は、電子現金の発行を受けた
利用者が、小売店で該電子現金を使用する際に、利用者
装置において、発行金額以内の利用額を定めた後、発行
された該電子現金に対応した木構造のノード中の利用金
額に対応するノードAを定め、該利用者は、該電子現金
を提示し、 利用者装置は、ノードAの兄弟ノード並び
に、該ノードAの先祖ノードの兄弟ノードのそれぞれに
対応する値t−値から剰余演算及び一方向性関数演算に
より求められる値を小売店側装置に送信し、 小売店側装
置は、送信された値から木構造認証用Tを求め、利用者
装置に質問情報αを送信し、 利用者装置は、小売店側装
置からの質問情報αに対応した応答文を自分の秘密情報
uから計算し、該小売店側装置に送信し、 小売店側装置
は、利用者装置からの応答文の正当性を確認し、正しけ
れば、利用金額の電子現金による支払を認める。
【0011】また、本発明は、電子現金の発行を受けた
利用者装置より、小売店側装置が受領した電子現金を銀
行で決済する際に、 後日、小売店側装置は決済のために
銀行側装置に利用者装置と該小売店側装置間の相互通信
文を送信し、 銀行側装置は、相互通信文の正当性を検証
して、合格の時には、該相互通信文をメモリに記憶し、
電子現金が不正に使用されると、利用許可証を生成する
時に用いた利用者の秘密情報を算出する。
【0012】また、本発明は、利用者装置において、秘
密情報uをランダムに生成し、該秘密情報uより合成数
nを法とする剰余演算を用いて計算した結果Iと該結果
Iに対する利用者の署名情報を銀行側装置に送信し、
行側装置は、結果IよりI’を算出し、該銀行装置自身
の秘密情報dを用いて、銀行署名z=(I’) d mod n
を求め、利用者装置に送信し、 利用者装置は、I’を
該I’のブラインド値mに変更すると共に、該ブライン
ド値mを銀行に秘密にしたまま、該ブラインド値mに対
する該銀行の署名wを該銀行署名zから取得し、該ブラ
インド値mと該銀行署名wの組(m,w)を利用許可証
とし、 利用者がある金額の電子現金を銀行から引き出す
場合に、利用者装置は、金額に相当する階層を持つ木構
造の全ノード個々に対応する値(t−値)を計算し、そ
の最上位のノードのt−値から素数pを法とする剰余演
算により木構造認証用情報Tを求め、該木構造認証用情
報Tに対して、該利用許可証と秘密の乱数により認証用
情報を生成して、銀行側装置に送信し、 銀行側装置は、
認証用情報により、引出し金額に相当するブラインド署
名を作成し、利用者装置に送信し、 利用者装置は、銀行
側装置から受信したブラインド署名から木構造認証用情
報Tと利用許可証に対する銀行の署名を計算して、該木
構造認証用情報Tと該利用許可証と、引出し金額に対応
する銀行署名の対を、電子現金として受け取る。
【0013】また、本発明は、電子現金の発行を受けた
利用者が、小売店で該電子現金を使用する際には、発行
金額以内の利用額を定めた後に、発行された電子現金に
対応した木構造のノード中の利用金額に対応するノード
を定め、 利用者装置は、電子現金を提示すると共に、該
当ノードAに対応する値のt−値からnを法とする剰余
演算により該当ノードAの値βを計算し、該βを小売店
側装置に送信すると共に、該ノードA、並びに該ノード
Aの先祖ノードの兄弟ノードのそれぞれに対応する値
(t−値)から剰余演算及び一方向関数演算により求め
られる値を該小売店側装置に送信し、 小売店側装置は、
送付された値から木構造認証用情報Tを求め、利用者装
置に質問情報αを送り、 利用者装置は、小売店側装置か
らの質問情報αに対応した応答文を自分の秘密情報uか
ら計算し、該小売店側装置に送信し、 小売店側装置は、
応答文の正当性を確認し、該応答文が正しければ該当利
用金額の電子現金による支払を認める。
【0014】また、本発明は、電子現金の発行を受けた
利用者より小売店が受領した電子現金を銀行で決済する
際に、 後日、小売店側装置は、決済のための銀行側装置
に、利用者装置と該小売店側装置との間の相互通信文を
送信し、 銀行側装置は、相互通信文の正当性を検査し
て、合格のときは、該相互通信文をメモリに記憶し、
子現金が不正に使用されると、利用許可証を生成する時
に用いた秘密情報を算出する。
【0015】
【作用】本発明は、電子現金の構造に対応した階層構成
のテーブル(木構造)を構成し、電子現金利用時には、
このテーブルの構造に対応させる形で、一定の額面金額
内の現金を何回かに分割して使用する。
【0016】また、上記の利用形態における不正使用を
検出するため、離散対数問題の人称方式を用いて、不正
使用が行われると離散対数問題における秘密情報を求め
ることができ、それにより不正利用者のIDが露見す
る。
【0017】さらに、本発明は、上記の利用形態におけ
る不正使用を検出するため、素因数分解に関連する問題
の認証方式を用いて、不正使用が行われると素因数分解
に関連する問題における秘密情報を求めることができ、
それにより不正利用者のIDが露見する。
【0018】
【実施例】以下、図面と共に本発明の実施例を詳細に説
明する。
【0019】図2は、本発明の一実施例のシステム構成
図を示す。同図に示すシステムは、銀行装置(以下、銀
行と記す)100、利用者装置(以下、利用者と記す)
200、小売店装置(以下、小売店と記す)300から
構成され、通信回線400で接続されている。銀行10
0は、利用者200に対して利用許可証と電子紙幣から
なる電子現金を発行する。利用者200は、銀行100
から発行された電子現金を小売店300に対する支払い
に使用する。小売店300は、利用者が使用した金額を
銀行100に請求し、銀行100にて決済する。
【0020】[第1の実施例]まず、本発明の第1の実
施例を説明する。本実施例は、不正使用を検出するため
に、離散対数問題の認証方式を用いて、不正者の秘密情
報を取得する例である。
【0021】(1)利用許可証の発行処理 まず、銀行100で口座を新たに開設した利用者200
が、利用許可証を銀行より発行してもらう場合について
説明する。利用許可証は、変更となる事項が少なく利用
者のマスタファイルのイメージで用いられ、電子現金
は、トランザクションのイメージで扱われ、例えば、現
金引き出し処理等に対応する。
【0022】ここで、IDP は利用者の識別情報とす
る。銀行100は、利用許可証に対応する情報として、
ディジタル署名で用いる秘密鍵x及び公開鍵hの対を作
成しておき、h(公開鍵),p,q(素数)、g(位数
をq(素数)とする(p−1)以下の正整数)を公開し
ておく。但し、公開鍵h=gx mod pとする。また、素
数qは(p−1)とする。また、銀行100は、位数を
qとするp−1以下の正の整数g1 ,g2 を公開する。
【0023】一方、利用者200は、ディジタル署名で
用いる秘密鍵及び公開鍵の対を作成しておき、公開鍵を
IDP と対にして公開しておく。
【0024】図3は、本発明の第1の実施例の利用許可
証の発行処理を行う場合の銀行及び利用者の構成を示
す。同図において、銀行100は、乱数wを生成する乱
数発生器101、及び2つの剰余演算器1021 、10
2 より構成される。利用者200は、2つの乱数発生
器2011 、2012 と、4つの剰余演算器2021
2022 、2023 、2024 、署名作成器203と一
方向性関数演算器204より構成される。
【0025】利用者200の第1の乱数発生器2011
は乱数uを生成する。第1の剰余演算器202は、乱数
uと正整数gと素数pが入力され、剰余演算を行い、演
算結果Iを出力する。この演算結果Iは、銀行100に
送出されると共に、署名作成器203及び第2の剰余演
算器2022 にも出力される。署名作成器203は、署
名用秘密鍵が入力され、署名S(I)が生成され、利用
者識別情報IDp と共に銀行100に送出される。
【0026】第2の剰余演算器2022 は、第1の剰余
演算器2021 からの出力Iと、乱数発生器201で生
成された乱数s,t,v、正整数g2 、素数p,g、銀
行100の剰余演算器102からz,a,bが入力さ
れ、剰余演算を行う。演算結果は、m’,z’,a’,
b’が一方向演算器204に入力されると共に、銀行1
00に隠蔽されたブラインド値m’とsign(m’)とし
て出力される。
【0027】一方向性関数演算器204は、出力c’を
第3の剰余演算器202に出力する。第3の剰余演算器
2023 は、乱数tと素数q,一方向性関数演算器20
4からの出力c’が入力され、剰余演算された結果cを
銀行の第1の剰余演算器102に送出する。
【0028】銀行の剰余演算器1022 は、秘密鍵x、
乱数w、素数q及び利用者200の第3の剰余演算器2
02及び署名作成器203からの出力rによる剰余演算
を行い、その出力を利用者200の第4の剰余演算器2
024 に入力する。
【0029】利用者200の第4の剰余演算器2024
は、乱数t、v,銀行100から出力されたrが入力さ
れ、剰余演算を行い、r’を出力する。この出力r’に
上記の剰余演算器2022 からの出力と合わせてsign
(m’)が出力される。
【0030】利用者200は、銀行100から利用許可
証を発行してもらう手順は、以下の通りである。図4
は、本発明の第1の実施例の銀行と利用者間の交信の例
を示す。
【0031】ステップ1)利用者200は、乱数発生器
201を用いて乱数uを生成して、乱数u、正整数g
1、素数pを剰余演算器202に入力し、出力I=g1
u modpを署名作成器203に入力し、利用者の署名S
(I)を作成し、剰余演算器202の出力、利用者の署
名S(I)、利用者識別情報IDP を銀行100に送
る。
【0032】ステップ2)銀行100は、乱数発生器1
01を用いて、乱数wを生成し、ステップ1の剰余演算
器2021 の出力I、正整数g2 、秘密鍵x、素数p、
正整数g、乱数wを剰余演算器102に入力し、 m=Ig2 mod p z=mx mod p a=gw mod p b=mw mod p が出力される。このうち、剰余演算器102の出力z,
a,bを利用者200に送る。
【0033】ステップ3)利用者200は、乱数発生器
2012 を用いて、乱数s,t,vを生成し、剰余演算
器2021 の出力結果であるI及び、正整数g2 、素数
p,銀行100から送信されたz,a,b及び乱数s,
t,vを剰余演算器2022に入力し、以下の値を出力
する。
【0034】m’=ms mod p(つまり、m’=g1 us
2 s mod p) z’=zs modp a’=at v mod p b’=bst(m’)v mod p さらに、m’,z’,z’,b’を一方向正関数演算器
204に入力し、その出力c’=Η(m’,z’,
a’,b’)をさらに、t,qと共に剰余演算器202
3 に入力し、c=c’/tmod qを出力する。利用者2
00は、cを銀行100に送る。
【0035】ステップ4)銀行100は、x,c,w,
qを剰余演算器1022 に入力し、その出力r=xc+
wmod qを利用者200に送信する。
【0036】ステップ5)利用者200は、r,t,v
を剰余演算器2024 に入力し、r’=rt+vmod q
を求める。
【0037】以上の手順により、利用者200は、以下
の情報(利用許可証)を得る。
【0038】m’,sign(m’) ここで、 m’=g1 us2 s mod p, sign(m’)={z’,a’,b’,r’} となり、一方、銀行100は、剰余演算器2021 から
の出力Iとそれに対する利用者200の署名S(I)を
得る。
【0039】(2)電子現金の発行処理 次に、利用者が銀行から電子現金を発行してもらう手順
を示す。まず、銀行は、電子現金の金額に対応する情報
として、RSAディジタル署名で用いる秘密鍵dn 及び
公開鍵(eB ,nB )の対を作成しておき、公開鍵(e
B ,nB )をその金額と共に公開しておく。ここで、銀
行と利用者の間の交信例を図5に示す。また、図6は、
本発明の第2の実施例の電子現金の発行処理を行う場合
の銀行及び利用者の構成を示す。
【0040】図6に示す利用者200は、乱数eを生成
する乱数発生器201、乱数eが入力され、一方向性関
数演算を行い、t0j1...jn, を出力する一方向性関数演
算器2041 、g1 ,g2 ,Pとt0j1...jnが入力さ
れ、剰余演算を行う剰余演算器2022 、剰余演算器2
021 から出力されたg1 r0j,...jn,1 2 r0j1...jn,
2 mod Pが入力され、一方向性関数演算を行い、t
0j1,...jn-1, …t0 を出力する一方向性関数演算器2
042 、t0 及びg1 ,g2 ,Pが入力され、木構造認
証用情報Tを算出する剰余演算器2022 、剰余演算器
2022 から出力されたTと銀行署名m’が入力され、
一方向性関数演算を行い、H(T‖m’)を出力する一
方向性関数演算器2043 、公開鍵nB ,eB と、乱数
発生器2012で生成された乱数Rにより剰余演算を行
い、認証用情報Xを生成し、銀行100に送出する。ま
た、公開鍵nB , B と乱数R、銀行100から入力さ
れるX’により銀行100の署名Cを出力する剰余演算
器2024 を有する。
【0041】銀行100は、公開鍵nB ,秘密鍵d
B と、利用者200より入力された認証用情報Xを用い
て剰余演算を行う剰余演算器102を有する。
【0042】なお、ここで、用いるディジタル署名は、
ブラインド署名が実行できるものであれば何でもよい。
例えば、Schnorr 法を用いたブラインド署名( 「Okamot
o, T., "Provably Secure and Practical Identificati
on Schemes and Corresponding Signature Schemes", P
roceedings of the Crypto 92, pp. 31-53(1993)」のAp
pendix Bで紹介されている) を用いてもよい。
【0043】ステップ101)[準備]
【0044】
【数1】
【0045】の電子現金を発行してもらおうとする利用
者200は、以下のような事前処理を行う。
【0046】まず、乱数発生器2011 を用いて、秘密
情報eを生成する。次に、(ι+1)の階層を持つ木構
造を考える。図7は、木構造を示す。今、一方向関数演
算器204を用いて、最下位のレベルのノード
【0047】
【数2】
【0048】n0j1,j2,...,jι,ji ∈{0、1}に対
応する値(t−値)を以下のように求める。
【0049】 toj1,j2...jv =H(e‖0j1j2...Jι). ここで、Hは、一方向関数を示し、‖は結合を意味す
る。各t−値を分解して、2つの値(γ値)を以下のよ
うに定める。
【0050】toj1,j2...jv =(roj1,j2...jv,1 )‖
(roj1,j2...jv,2 ) 次に、上記で求めた最下位のノードのt−値から順次上
位のノードのt−値を、剰余演算器2021 及び一方向
演算器2042 を用いて、以下の関係を満足するように
求める。つまり、ノードr0 j1,j2...jvのt−値t
0 j1,j2...jv0 は、その2つの子ノードのt−値(t
0 j1,j2...jv0 )は、その2つの子ノードのt−値(t
0 j1,j2...jv1 )から以下のように一意に定まる。 t0 j1,j2,..jv=Η(Η(g1 r0j1,j2...jv0,1 g2r0j1,j2...jv0,2 mod p) ‖Η(g1 r0j1,j2...jv1,1 2 r0j1,j2...jv1,2 mod p) ここで、 t0 j1j2...jv0=(r0 j1,j2...jv0,1 ‖r0 j1,j2...jv0,2 ) and t0 j1j2...jv1= (r0 j1,j2...jv1,1 ‖r0 j1,j2...jv1,2 ) この手順を繰り返して行くと、最終的に最上位ノードn
0 のt−値t0 を求めることができる。 (例)3階層の例を示す(図7参照)。 t0 =H(H g1 r00,12 r00,2 mod p)‖H(g1 r01,1
2 r01,2 mod p)), t00=(r00,1‖r00,2) =H(H g1 r000,1 2 r000,2 modp) ‖H(g1 r001,1 2 r001,2 modp)), t01=(r01,1‖r01,2) =H(H g1 r010,1 2 r010,2 modp) ‖H(g1 r011,1 2 R011,2 modp)) ステップ102)利用者200は、準備(ステップ10
1)で求めたt0 及びg1 ,g2 ,p を剰余演算器20
2 に入力して、 T=g1 r0,12 r0,2mod p(t0 =(r0,1
0,2 )) を求める。さらに、乱数発生器2012 を用いて、乱数
Rを生成し、T,m’を一方向関数演算器2043 に入
力し、H(T‖m’)を求め、その出力H(T‖m’)
及びR,nB ,eB を剰余演算器2023 に入力し、 X=H(T‖m’)ReB modnB を出力し、Xを銀行に送る。
【0051】ステップ103)Xを受信した銀行100
は、Xと電子現金の金額に対応する秘密鍵(dB ,n
B )とを剰余演算器102に入力し、 X’=XdBmod nB を求め、それを利用者200に送付する。同時に、利用
者の口座から該当する金額を引き落とすか、利用者か
該当する金額を受領する。
【0052】ステップ104)銀行100よりX’を受
信した利用者200は、乱数Rと銀行100より受信し
た情報X’及び公開鍵nB を剰余演算器2024 に入力
し、銀行の署名 C=X’/Rmod nB =(H(T‖M’))dBmod nB を求める。ここで、(T,C)が電子現金に相当する。
【0053】なお、利用許可証と、電子現金を一体化さ
せる場合は、上記手続でブラインド署名Cを発行する代
わりに、利用許可発行手続において、Tをm’と見なし
てsign(m’)を発行すればよい。
【0054】利用許可証と一体化した電子現金発行処理
は以下に述べる通りである。
【0055】ステップ801)[準備]
【0056】
【数3】
【0057】の電子現金を発行してもらおうとする利用
者200は、以下のような事前処理を行う。
【0058】まず、乱数発生器201を用いて、秘密情
報eを生成する。次に、(ι+1)の階層を持つ木構造
を考える。図7は、木構造を示す。今、一方向関数演算
器204を用いて、最下位のレベルのノード
【0059】
【数4】
【0060】n0j1,j2,...,jι,ji ∈{0、1}に対
応する値(t−値)を以下のように求める。
【0061】 toj1,j2...jv =H(e‖0j1j2...Jι). ここで、Hは、一方向関数を示し、‖は結合を意味す
る。各t−値を分解して、2つの値(γ値)を以下のよ
うに定める。
【0062】toj1,j2...jv =(roj1,j2...jv,1 )‖
(roj1,j2...jv,2 ) 次に、上記で求めた最下位のノードのt−値から順次上
位のノードのt−値を、剰余演算器2021 の及び一方
向演算器204を用いて、以下の関係を満足するように
求める。つまり、ノードr0 j1,j2...jvのt−値t
0 j1,j2...jv0 は、その2つの子ノードのt−値(t
0 j1,j2...jv0 )は、その2つの子ノードのt−値(t
0 j1,j2...jv1 )から以下のように一意に定まる。 t0 j1,j2,..jv=Η(Ηg1 r0j1,j2...jv01g2r0j1,j2...jv0,2 mod p) ‖Η(g1 r0j1,j2...jv1,1 2 r0j1,j2...jv1,2 mod p) ここで、 t0 j1j2...jv0=(r0 j1,j2...jv0,1 ‖r0 j1,j2...jv0,2 ) and t0 j1j2...jv1= (r0 j1,j2...jv1,1 ‖r0 j1,j2...jv1,2 ) この手順を繰り返して行くと、最終的に最上位ノードn
o のt−値t0 を求めることができる。
【0063】ステップ802)利用者200は、準備
(ステップ801)で求めたt0 及びg1 ,g2 ,p を
剰余演算器202に入力して、 T=g1 r0,1 2 r0,2mod p(t0 =(r0,1
0,2 )) を求める。
【0064】ステップ803)利用者200は、乱数発
生器201を用いて乱数uを生成して、乱数u、正整数
g1、素数pを剰余演算器202に入力し、出力I=g
u 1mod pを署名作成器203に入力し、利用者の署名
S(I)を作成し、剰余演算器202の出力、利用者の
署名S(I)、利用者識別情報IDP を銀行100に送
る。
【0065】ステップ804)銀行100は、乱数発生
器101を用いて、乱数wを生成し、出力I、正整数g
2 、秘密鍵x、素数p、正整数g、乱数wを剰余演算器
102に入力し、 m=Ig2 mod p z=mx mod p z=mx mod p a=gw mod p b=mw mod p が出力される。このうち、剰余演算器202の出力z,
a,bを利用者200に送る。
【0066】ステップ805)利用者200は、乱数発
生器201を用いて、乱数s,t,vを生成し、剰余演
算器202の出力結果であるI,正整数g2 、素数p,
銀行100から送信されたz,a,b及び乱数s,t,
vを剰余演算器202に入力し、以下の値を出力する。
【0067】m’=ms mod p(つまり、m’=g1 us
2 s mod p) z’=zs modp a’=at v mod p b’=bst(m’)v mod p さらに、m’,z’,z’,b’を一方向正関数演算器
204に入力し、その出力c’=Η(m’,z’,
a’,b’,T)をさらに、t,qと共に剰余演算器2
02に入力し、c=c’/tmod qを出力する。利用者
200は、cを銀行100に送る。
【0068】ステップ806)銀行100は、x,c,
w,gを剰余演算器102に入力し、その出力r=xc
+wmod qを利用者200に送信する。
【0069】ステップ807)利用者200は、r,
t,vを剰余演算器202に入力し、r’=rt+vmo
d qを求める。
【0070】以上の手順により、利用者は、以下の情報
(利用許可証)を得る。
【0071】m’,sign(m’) ここで、 m’=g1 us2 s od p, sign(m’)={z’,a’,b’,r’} となり、一方、銀行100は、剰余演算器202からの
出力Iとそれに対する利用者200の署名S(I)を得
る。
【0072】上記の処理は、口座開設時に特に処理は行
わずに、現金引出し時毎に上記の処理を行う。
【0073】(3)電子現金の支払 次に、利用者が銀行より発行された電子現金を用いて小
売店で支払をする場合について説明する。
【0074】まず、電子現金の金額及びその使用最小単
位(例えば、10円単位等)に対応して階層的構造テー
ブルが定められる。(ここでは、先程述べたように、
【0075】
【数5】
【0076】の紙幣とし、使用最小単位が1円とする。
例えば、図8に示す、1円単位で、4円の紙幣を利用す
る場合の階層的構造テーブルにおいて、例えば、3円を
使う場合、ノードn00とノードn010 が該当するノード
となる。この該当ノードは、以下のルールで定められ
る。 1.あるノードの直下の子ノードの該当金額の合計がそ
のノードの該当金額となる。 2.あるノードが一度使われた後は、そのノードと連結
する全ての親(先祖)ノード及び子(子孫)ノードは利
用してはならない。 3.各ノードは、1回以上使用してはならない。
【0077】このルールに従うと、先の例では、ノード
00とノードn010 が使用された後で、使用できるノー
ドは、ノードn011 のみである。つまり上記のルールに
従うことにより、使用できる合計金額は、額面通り、4
円となると共に、1円単位でどのような使い方でもでき
る。この階層的構造テーブルは、電子現金の額面金額を
大きくし、さらに、利用単位金額を小さくすれば、その
階層が増えることになる。例えば、額面が1万円で、1
0円単位で利用できる電子現金の場合、その階層は、お
よそ10となる。
【0078】
【数6】
【0079】図9は、本発明の第1の実施例の利用者と
小売店間の交信例を示し、図10は、本発明の第1の実
施例の電子現金支払処理を行う場合の利用者と小売店の
構成を示す。
【0080】図10に示す利用者200の構成は、3つ
の剰余演算器2021 、2022 、2023 、一方向性
関数演算器204より構成され、小売店300は、3つ
の剰余演算器3021 、3022 、3033 、一方向関
数演算器304、関数演算器305、比較器306より
構成される。
【0081】多くの場合、利用金額に相当する階層構造
テーブルの該当ノードは、複数あるが、各ノードに対応
する処理は、基本的に同じアルゴリズムで行われ、それ
ぞれのノードの処理を並列に行うことができるため、以
下では、1つのノードに対する処理のみを説明する。
【0082】この該当ノードをn0j1j2...jkとする。
【0083】ステップ201)利用者200は、まず、 m’(=g1 us2 mod p), sign(m’)={z’,a’,b’,r’} 及び銀行100の署名Cを小売店300に送る。
【0084】さらに、利用者200は、g1 ,g2
p,r0j1j2...jk,1,r0j1j2....jk, 2 を剰余演算器2
021 に入力して以下の値βを求める。
【0085】 β=g1 r0j1j2...jk,1 2 r0j1j2...jk,2 mod p. さらに、g1 、g2 及びノードn0j1j2...jk並びにその
先祖の兄弟のードのr−値を剰余演算器2022 及び一
方向関数演算器204に入力し、以下を出力し、これを
βとともに小売店300に送る。
【0086】
【数7】
【0087】ここで、bがビット(0もしくは、1)の
ときは、b’はbを反転させた値を意味する。
【0088】ステップ202)小売店300は、送られ
てきた情報をg1 ,g2 ,pと共に剰余演算器3021
及び一方向関数演算器304に入力し、ノードn
0j1,j2...j k の全ての先祖のノードt−値を求め、最終
的にt0 を求め、さらに、その値をg1 , g2 ,pとと
もに剰余演算器302に入力することにより、Tが求め
られる。 小売店300は、小売店名、時間等の情報を
関数演算器305に入力し、その出力αを利用者200
に送る。
【0089】ステップ203)利用者200は、秘密情
報u,s並びにαr0j1j2...jk,1,r0j1j2...jk,1,r
0j1j2...jk,2,qを剰余演算器2023 に入力し、 y1 =r0j1j2...jk,1+α(us)mod q, (1) y2 =r0j1j2...jk,2+αsmod q (2) を求め、それらを小売店300に送る。
【0090】ステップ204)小売店300は、剰余演
算器3022 、3023 及び比較器311を用いて、y
1 ,y2 が以下の関係を満足するかどうかを検証する。
【0091】
【数8】
【0092】この検査が不合格のときは処理を中断す
る。この検査に合格すれば、小売店300はその電子
のノードnj1...jk に該当する金額の支払いを正当な
ものとみなし、それを受け取る。
【0093】(4)決済 最後に小売店300と銀行100の間の決済方法につい
て説明する。小売店300は、利用者200との電子現
金利用時の交信履歴Hを銀行100に提出し、銀行から
該当する金額の支払を受ける。銀行は、Hの正当性を検
査し、検査に合格すれば、Hを記憶し、小売店の口座へ
該当する金額を払い込む。銀行は、電子現金の不正利用
を見つけると、Hを取り出して、それらの情報より不正
者の秘密情報uを算出し、それよりI,IDP を確定す
る。
【0094】[第2の実施例]以下に本発明の第2の実
施例を説明する。
【0095】本発明の第2の実施例は、不正使用を検出
するために、素因数分解に関連する問題の認証方式を用
いて不正者の秘密情報を取得する例である。この方法
は、素因数分解に関連する問題における秘密情報を求
め、この秘密情報により不正利用者のIDが露見すると
いうものである。
【0096】(1)利用許可証の発行処理 まず、銀行100で口座を新しく開設した利用者200
が、利用許可証を銀行100より発行してもらう場合に
ついて説明する。ここで、IDP は、利用者200の識
別情報とする。銀行100は、利用許可証に対応する情
報として、RSAディジタル署名で用いる秘密鍵d及び
公開鍵(e,n)の対を作成しておき、公開鍵(e,
n)を公開しておく。ここで、nは、素数の積となる合
成数、eは、nの素因数から1引いた数と互いに素とな
るような整数である。また、秘密鍵dは、x=(xe
d mod nとなるような値である。さらに、銀行100
は、整数a,bを公開しておく。
【0097】一方、利用者200は、ディジタル署名で
用いる秘密鍵及び公開鍵の対を作成しておき、公開鍵を
IDP と対にして公開しておく。
【0098】利用者200が銀行100から利用許可証
を発行してもらう手順は、以下の通りである。銀行10
0と利用者200の間の交信例を図11に示し、利用許
可証発行に関する処理を行う場合の銀行100と利用者
200の構成を図12に示す。図12に示す利用者20
0は、2つの乱数発生器2011 、2012 、剰余演算
器2021 、2022 、署名作成器203より構成さ
れ、銀行100は、剰余演算器102を有する。
【0099】ステップ301)利用者200は、乱数発
生器2011 を用いて乱数uを生成して、乱数u、整数
a、合成数nを剰余演算器2021 に入力し、その出力
I=au mod nを署名作成器203に入力して利用者の
署名S(I)を作成し、IとS(I)、IDP を銀行1
00に送出する。
【0100】ステップ302)利用者200は、乱数発
生器2012 を用いて乱数s,tを生成し、I,z,
b,u,s,t,e,nを剰余演算器2022 に入力
し、以下の値を出力する。
【0101】 w=zt smod n, m=autt e mod n 以上の手順により、利用者200は、利用許可証(m,
w)を得る。ここで、m=we mod nとなる。
【0102】一方、銀行100は、利用者200の署名
作成器203の出力Iとそれに対する利用者200の署
名を得る。
【0103】(2)電子現金の発行処理 次に、利用者200が銀行100から電子現金を発行し
てもらう手順を示す。まず、銀行100は、電子現金
金額に対応する情報として、RSAディジタル署名で用
いる秘密鍵dB 及び公開鍵(eB ,nB )の対を作成し
ておき、公開鍵(eB ,nB )をその金額と共に公開し
ておく。なお、公開鍵のnB は、先に用いたnと同一で
もよい。ここで、銀行100と利用者200の間の交信
例を図13に示し、この場合の銀行100と利用者20
0の構成を図14に示す。
【0104】図14に示す利用者200は、2つの乱数
発生器2011 、2012 、4つの剰余演算器20
1 、2022 、2023 、2024 、3つの一方向性
関数演算器2041 、2042 、2043 より構成され
る。また、銀行100は、剰余計算機102を有する。
【0105】なお、ここで用いるディジタル署名は、ブ
ラインド署名が実行できるものであれば何でもよい。例
えば、Schnorr 法を用いたブラインド署名( 「Okamoto,
T.,"Provably Secure and Practical Identification
Schemes and CorrespondingSignature Schemes", Proce
edings of the Crypto 92, pp. 31-53(1993)」のAppend
ix Bで紹介されている) を用いてもよい。
【0106】ステップ401)[準備]
【0107】
【数9】
【0108】の電子現金を発行してもらおうとする利用
者200は、以下のような事前処理を行う。
【0109】まず、乱数発生器2011 を用いて秘密情
報eを生成する。次に、(ι+1)段の階層を持つ木構
造(図7)を考える。今、一方向関数演算器2041
用いて、最下位のレベルのノード
【0110】
【数10】
【0111】n0j1j2....jι,ji ∈{0,1}に対応す
る値(t−値)を以下のように求める。
【0112】t0j1j2....jι=Η(e‖0j1j2...jι) ここで、Ηは、一方向関数を、‖は結合を意味する。各
t−値を分解して3つの値(r−値)を以下のように求
める。 t0j1j2...jv=(roj1j2...jv,1‖roj1j2...jv,2‖r
oj1j2...jv,3) 次に、上で求めた最下位のノードt−値から順次上位の
ノードt−値を、剰余演算器2021 及び一方向関数演
算器2042 を用いて、以下の関係を満足するように求
める。つまり、ノードn0j1j2...jvのt−値t
0j1j2...jv0 は、その2つの子ノードのt−値(t
0j1j2...jv0 とt0j1j2...jv1 )から以下のように一意
に定まる。 t0j1j2...jv=Η(Η(ar0j1jw...jv0,1r0j1j2...jv0,20j1j2...jv0,3 e mod n)‖ Η(ar0j1jw...jv1,1r0j1j2...jv1,20j1j2...jv1 3 e mod n)) ここで、 t0j1j2....jι0 =(r0j1j2....jι0,1 ‖r0j1j2....jι0,2 ‖r
0j1j2....jι0,3 ), t0j1j2....jι1 =(r0j1j2....jι1,1 ‖r0j1j2....jι1,2 ‖r
0j1j2....jι1,3 . この手順を繰り返していくと、最終的に最上位ノードの
0 のt−値t0 を求めることができる。
【0113】ステップ402)利用者200は、準備で
求めたt0 及びa,b,nを剰余演算器2022 に入力
して T=ar0,1r0,20,3 e mod n(t0 =r0,1 ‖r
0,2 ‖r0,3 ) を求める。さらに、乱数発生器2012 を用いて、乱数
Rをを生成し、T,mを一方向関数演算器2043 に入
力し、Η(T‖m)を求め、その出力及びR,n B ,e
B を剰余演算器2024 に入力し、 X=Η(T‖m)ReB mod n を出力し、銀行100に送る。
【0114】ステップ403)ブラインド情報Xを受信
した銀行100は、Xと電子紙幣の金額に対応する秘密
鍵(dB ,nB )とを剰余演算器102に入力し、ブラ
インド署名 X’=XdB mod nB を求め、それを利用者200に送付する。同時に、利用
者200の口座から該当する金額を引き落とすか、利用
者200から該当する金額を受領する。
【0115】ステップ404)銀行100よりX’を受
信した利用者200は、乱数Rと銀行100より受信し
た情報及び公開鍵nB を剰余演算器2024 に入力し、
銀行100の署名 C=X’/R mod nB =(H(T‖m))dBmod nB を求める。ここで、(T,C)が電子現金に相当する。
【0116】(3)電子現金の支払 次に、利用者200が銀行100より発行された電子
を用いて小売店で支払をする場合について説明する。
【0117】現金に対する木構造については、先に説明
したものと同一であるため、説明を省略する。
【0118】次に、利用者200と小売店300間で電
子現金の支払時の交信例を図15に示し、その場合の利
用者200と小売店300の構成を図16に示す。
【0119】利用者200は、3つの剰余演算器202
1 、2022 、2023 と、一方向性関数演算器204
より構成される。小売店300は、3つの剰余演算器3
02 1 、3022 、3023 、関数演算器305、比較
器311より構成される。
【0120】以下では、1つのノード(n0j1...jk) に
対する処理のみを説明する。ステップ501)利用者2
00は、まず、(m,w,C)を小売店300に送る。
さらに、利用者200はa,b,n,r0j1j2...jk,1
0j1j2...jk,2, 0j1j2...jk,3を剰余演算器2021
に入力して以下の値βを求める。 β=ar0j1j2...jk,1 r0j1j2...jk,2 0j1j2...jk,e
e mod n. さらに、a,b,及びノードn0j1j2...jk並びにその先
祖の兄弟ノードr−値を剰余演算器2022 及び一方向
関数演算器204に入力し、以下を出力し、これをβと
ともに小売店300に送る。
【0121】
【数11】
【0122】ここで、bがビット(0もしくは1)のと
き、b’は、bをビット反転させた値を意味する。
【0123】ステップ502)小売店300は、送られ
てきた情報をa,b,nと共に剰余演算器3021 に入
力することにより、木構造認証用情報Tが求められる。
【0124】小売店300は、小売店名、時間等の情報
を関数演算器305に入力し、その出力(質問情報)α
を利用者200に送る。
【0125】ステップ503)利用者200は、秘密情
報u,t,s並びに、α,r0j1j2. ..jk,1,r
0j1j2...jk,1,e,nを剰余演算器2023 に入力し、
【0126】
【数12】
【0127】を求め、それらを小売店300に送る。
【0128】ステップ504)小売店300は、剰余計
算器3022 、3023 及び比較器311を用いてy
1,y2が以下の関係を満足するかどうか検証する。
【0129】
【数13】
【0130】この検査が不合格のときは、処理を中断す
る。この検査に合格すれば、小売店300は、その電子
紙幣のノードnj1...jk に該当する金額の支払いを正当
なものとみなし、それを受け取る。
【0131】(4)決済 最後に小売店300と銀行100の間の決済方法につい
て説明する。小売店300は、利用者200との電子現
金利用時の交信履歴Hを銀行100に提出し、銀行10
0から該当する金額の支払いを受ける。銀行100は、
Hの正当性を検査し、検査に合格すれば、Hを記憶し、
小売店300の口座に該当する金額を払い込む。銀行1
00は、電子現金の不正利用を見つけると、Hを取り出
して、それらの情報より不正者の秘密鍵uを算出し、そ
れよりI,IDP を確定する。
【0132】最後に、不正使用があった場合の処理につ
いて説明する。
【0133】図17は、不正使用を説明するための図で
ある。不正使用には、以下の2つのパターンがあり、第
1には、木構造の先祖−子孫関係にあるノードを利用し
たとき、図17において、×印のついている2つのノー
ドA,Bを利用した場合、第2には、同じノードを2重
に利用した場合とがある。
【0134】まず、第1のパターンでは、ノードBを利
用すると、ノードBに対応するβ−値及び関連δ値(前
述のステップ201)が小売店300に送られる(最終
的には銀行100)。これにより、t−値(r−値)を
計算できる。
【0135】一方、ノードAを利用すると、ノードAに
対応するy1 ,y2 (前述のステップ203)が送られ
る。ノードAのr−値が計算できるので、(1)、
(2)の式より不正者の秘密情報u,sが算出できる。
【0136】また、第2のパターンでは、同じノードを
2回利用すると、前述のステップ203が異なる2つの
値のα(α1 、α2 )に対して実行される。つまり、
(1)、(2)式がα=α1 、α=α2 に対して成立す
る。 y11=r...,1 +α1 (us) y21=r...,2 +α1 s y12=r...,1 +α2 (us) y22=r...,2 +α2 s 以上の4つの連立方程式を4つの未知数r...,1 、r
...,2 、u,sについてとけば、これらの未知数を求め
ることができる。従って、秘密情報uの値を算出するこ
とができる。
【0137】
【発明の効果】上述のように、本発明によれば、Chaum
等の方式と同様に、利用者のプライバシを保証でき、か
つ不正使用を検出できる。さらに、本発明では、従来の
chaumらの方法では不可能であった一回発行された電子
現金を発行時に決められた額になるまで、何回も分割し
て利用できるような電子現金方式を実現することができ
る。決められた額以上の支払いを行うと、その不正使用
者のID並びにその秘密情報を算出することにより、不
正使用の証拠とすることができる。
【図面の簡単な説明】
【図1】本発明の原理を説明するための図である。
【図2】本発明の一実施例のシステム構成図である。
【図3】本発明の第1の実施例の利用許可証の発行処理
を行う場合の銀行及び利用者の構成図である。
【図4】本発明の第1の実施例の銀行と利用者間の交信
の例を示す図である。
【図5】本発明の第1の実施例の銀行と利用者間の交信
例を示す図である。
【図6】本発明の第2の実施例の電子現金の発行処理を
行う場合の銀行及び利用者の構成図である。
【図7】木構造を示す図である。
【図8】三階層の電子現金の木構造を示す図である。
【図9】本発明の第1の実施例の利用者と小売店間の交
信例を示す図である。
【図10】本発明の第1の実施例の電子現金支払処理を
行う場合の利用者と小売店の構成図である。
【図11】本発明の第2の実施例の利用許可証の発行処
理時の銀行と利用者間の交信例を示す図である。
【図12】本発明の第2の実施例の利用許可証発行時の
銀行と利用者の構成図である。
【図13】本発明の第2の実施例の電子現金の発行処理
時の銀行と利用者間の交信例を示す図である。
【図14】本発明の第2の実施例の電子現金の発行時の
銀行と利用者の構成図である。
【図15】本発明の第2の実施例の電子現金支払時の利
用者と小売店間の交信例を示す図である。
【図16】本発明の第2の実施例の電子現金支払時の利
用者と小売店の構成図である。
【図17】不正使用を説明するための図である。
【符号の説明】
100 銀行 101 乱数発生器 102 剰余演算器 200 利用者 201 乱数発生器 202 剰余演算器 203 署名作成器 204 一方向性関数演算器 300 小売店 302 剰余演算器 304 一方向性関数演算器 305 関数演算器 311 比較器 400 通信回線
フロントページの続き (56)参考文献 特開 平4−367070(JP,A) 特開 平3−73065(JP,A) 特開 平5−20344(JP,A) 理想的電子現金方式,電子情報通信学 会技術研究報告,1991年7月15日,Vo l.91 No.127,p.39−47 Untraceable Off−L ine Cash in Wallet with Observers,Le cture Notes in Com puter Science,Vol. 773,p.302−318 Single Term Off−L ine Coins,Lecture Notes in Computer Science,Vol.765,p.292 −301 (58)調査した分野(Int.Cl.7,DB名) G06F 17/60 410 G09C 1/00 660 JICSTファイル(JOIS)

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】 電子現金を発行する機関の装置(以下、
    銀行側装置)と、該電子現金を発行される者の装置(以
    下、利用者装置)及び利用者より電子現金を受領する機
    関の装置(以下、小売店側装置)より構成される電子現
    金システムにおける電子現金流通方法において、 前記利用者装置は、秘密情報uをランダムに生成し、該
    秘密情報uよりp(素数)を法とする剰余演算を用いて
    計算した結果Iと該結果Iに対する利用者の署名情報を
    前記銀行側装置に送信し、 前記銀行側装置は、前記結果Iより剰余演算結果mを算
    出し、該銀行装置自身の秘密情報xを用いて該剰余演算
    結果mに対する銀行の署名m x mod pを求め、該署名m
    x mod pの正当性を証明するための情報と共に、前記利
    用者装置に送信し、 前記利用者装置は、前記剰余演算結果mを前記銀行側装
    置には隠匿しておくデータm’に変形し、最終的に該デ
    ータm’の値を該銀行側装置に秘密にしたまま、該デー
    タm’に対する銀行側の署名m’ x mod pをその正当性
    を保証する情報と共に取得し、該データm’と該データ
    m’に対する銀行側署名の対を利用許可証とし、 前記利用者が、ある金額の電子現金を前記銀行より引き
    出す場合には、前記利用者装置は、金額に相当する階層
    を持つ木構造の全ノード個々に対応する各々の値(t−
    値)を計算し、 前記木構造の最上位のノードより認証用情報を生成して
    前記銀行側装置に送信し、 前記銀行側装置は、前記認証用情報より引出し金額に対
    応するブラインド署名を作成して、前記利用者装置に送
    信し、 前記利用者装置は、前記銀行側装置から受信した前記ブ
    ラインド署名から木構造認証用情報Tと前記利用許可証
    に対する前記銀行の署名を計算して、該木構造認証用情
    報T及び利用許可証と前記引出し金額に対応する銀行署
    名の対である電子現金を取得することを特徴とする電子
    現金流通方法。
  2. 【請求項2】 前記電子現金の発行を受けた前記利用者
    が、小売店で該電子 現金を使用する際に、前記利用者装
    置において、発行金額以内の利用額を定めた後、発行さ
    れた該電子現金に対応した木構造のノード中の利用金額
    に対応するノードAを定め、該利用者は、該電子現金を
    提示し、 前記利用者装置は、前記ノードAの兄弟ノード並びに、
    該ノードAの先祖ノードの兄弟ノードのそれぞれに対応
    する値t−値から剰余演算及び一方向性関数演算により
    求められる値を前記小売店側装置に送信し、 前記小売店側装置は、送信された前記値から木構造認証
    用Tを求め、前記利用者装置に質問情報αを送信し、 前記利用者装置は、前記小売店側装置からの前記質問情
    報αに対応した応答文を自分の前記秘密情報uから計算
    し、該小売店側装置に送信し、 前記小売店側装置は、前記利用者装置からの前記応答文
    の正当性を確認し、正しければ、前記利用金額の電子現
    金による支払を認める請求項1記載の電子現金流通方
    法。
  3. 【請求項3】 前記電子現金の発行を受けた前記利用者
    装置より、前記小売店側装置が受領した電子現金を銀行
    で決済する際に、 後日、前記小売店側装置は決済のために前記銀行側装置
    に前記利用者装置と該小売店側装置間の相互通信文を送
    信し、 前記銀行側装置は、前記相互通信文の正当性を検証し
    て、合格の時には、該相互通信文をメモリに記憶し、 前記電子現金が不正に使用されると、前記利用許可証を
    生成する時に用いた前記利用者の秘密情報を算出する請
    求項1または、2記載の電子現金流通方法。
  4. 【請求項4】 前記利用者装置は、秘密情報uをランダ
    ムに生成し、該秘密情報uより合成数nを法とする剰余
    演算を用いて計算した結果Iと該結果Iに対する利用者
    の署名情報を前記銀行側装置に送信し、 前記銀行側装置は、前記結果IよりI’を算出し、該銀
    行装置自身の秘密情報dを用いて、銀行署名z=
    (I’) d mod nを求め、前記利用者装置に送信し、 前記利用者装置は、前記I’を該I’のブラインド値m
    に変更すると共に、該ブラインド値mを前記銀行に秘密
    にしたまま、該ブラインド値mに対する該銀行の署名w
    を該銀行署名zから取得し、該ブラインド値mと該銀行
    署名wの組(m ,w)を利用許可証とし、 前記利用者がある金額の電子現金を前記銀行から引き出
    す場合に、前記利用者装置は、金額に相当する階層を持
    つ木構造の全ノード個々に対応する値(t−値)を計算
    し、その最上位のノードのt−値から素数pを法とする
    剰余演算により木構造認証用情報Tを求め、該木構造認
    証用情報Tに対して、該利用許可証と秘密の乱数により
    認証用情報を生成して、前記銀行側装置に送信し、 前記銀行側装置は、前記認証用情報により、引出し金額
    に相当するブラインド署名を作成し、前記利用者装置に
    送信し、 前記利用者装置は、前記銀行側装置から受信した前記ブ
    ラインド署名から前記木構造認証用情報Tと利用許可証
    に対する銀行の署名を計算して、該木構造認証用情報T
    と該利用許可証と、引出し金額に対応する銀行署名の対
    を、電子現金として受け取る請求項1記載の電子現金流
    通方法。
  5. 【請求項5】 前記電子現金の発行を受けた前記利用者
    が、前記小売店で該電子現金を使用する際には、発行金
    額以内の利用額を定めた後に、発行された電子現金に対
    応した木構造のノード中の利用金額に対応するノードを
    定め、 前記利用者装置は、前記電子現金を提示すると共に、該
    当ノードAに対応する値のt−値からnを法とする剰余
    演算により該当ノードAの値βを計算し、該βを前記小
    売店側装置に送信すると共に、該ノードA、並びに該ノ
    ードAの先祖ノードの兄弟ノードのそれぞれに対応する
    値(t−値)から剰余演算及び一方向関数演算により求
    められる値を該小売店側装置に送信し、 前記小売店側装置は、送付された値から前記木構造認証
    用情報Tを求め、前記利用者装置に質問情報αを送り、 前記利用者装置は、前記小売店側装置からの前記質問情
    報αに対応した応答文を自分の秘密情報uから計算し、
    該小売店側装置に送信し、 前記小売店側装置は、前記応答文の正当性を確認し、該
    応答文が正しければ該当利用金額の電子現金による支払
    を認める請求項4記載の電子現金流通方法。
  6. 【請求項6】 前記電子現金の発行を受けた利用者より
    前記小売店が受領した電子現金を前記銀行で決済する際
    に、 後日、前記小売店側装置は、決済のための前記銀行側装
    置に、前記利用者装置 と該小売店側装置との間の相互通
    信文を送信し、 前記銀行側装置は、前記相互通信文の正当性を検査し
    て、合格のときは、該相互通信文をメモリに記憶し、 前記電子現金が不正に使用されると、前記利用許可証を
    生成する時に用いた秘密情報を算出する請求項4また
    は、5記載の電子現金流通方法。
JP9339094A 1994-05-02 1994-05-02 電子現金流通方法 Expired - Fee Related JP3334013B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9339094A JP3334013B2 (ja) 1994-05-02 1994-05-02 電子現金流通方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9339094A JP3334013B2 (ja) 1994-05-02 1994-05-02 電子現金流通方法

Publications (2)

Publication Number Publication Date
JPH07302288A JPH07302288A (ja) 1995-11-14
JP3334013B2 true JP3334013B2 (ja) 2002-10-15

Family

ID=14080991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9339094A Expired - Fee Related JP3334013B2 (ja) 1994-05-02 1994-05-02 電子現金流通方法

Country Status (1)

Country Link
JP (1) JP3334013B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2811451B1 (fr) * 2000-07-07 2002-11-29 Thomson Multimedia Sa Systeme et procede de gestion de transactions de micropaiement, terminal de client et equipement de marchand correspondants
CN106846608B (zh) * 2017-01-25 2019-03-01 杭州视氪科技有限公司 一种基于rgb-d相机的视障人士纸币识别眼镜
CN106875543B (zh) * 2017-01-25 2019-06-07 杭州视氪科技有限公司 一种基于rgb-d相机的视障人士纸币识别***及识别方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Single Term Off−Line Coins,Lecture Notes in Computer Science,Vol.765,p.292−301
Untraceable Off−Line Cash in Wallet with Observers,Lecture Notes in Computer Science,Vol.773,p.302−318
理想的電子現金方式,電子情報通信学会技術研究報告,1991年7月15日,Vol.91 No.127,p.39−47

Also Published As

Publication number Publication date
JPH07302288A (ja) 1995-11-14

Similar Documents

Publication Publication Date Title
US20220116343A1 (en) Methods and Systems for Creating and Using Massless Currency
EP0518365B1 (en) method of implementing use of electronic cash
RU2157001C2 (ru) Способ проведения платежей (варианты)
US6411942B1 (en) Electronic transaction system and systems for issuing and examining electronic check
CN113994357A (zh) 在终端与支付***之间直接传输电子硬币数据记录的方法
US7353398B2 (en) Article, method, system and apparatus for decentralized creation, distribution, verification and transfer of valuable documents
KR20030029607A (ko) 마이크로지불 트랜젝션을 관리하는 시스템 및 방법 및이에 대응하는 고객용 단말기 및 판매인용 단말기
WO2021250129A1 (en) Computer implemented systems and methods for improved authentication of blockchain-based tokens
CN110738474A (zh) 一种基于国密sm2算法加密的数字代币券的方法及***
CN113744036B (zh) 一种基于区块链数字签名的量子支票交易方法
JP3334013B2 (ja) 電子現金流通方法
JP2002329152A (ja) サーバステーションで遠隔的に実行された操作の取消方法
Wang et al. A consumer scalable anonymity payment scheme with role based access control
Luo et al. Offline transferable E-cash mechanism
JP2879792B2 (ja) 電子現金の分割使用方法およびその装置
Wang et al. Building a consumer scalable anonymity payment protocol for Internet purchases
JPH0752460B2 (ja) 電子現金実施方法及びその装置
JP2631781B2 (ja) 電子現金実施方法
JP3171227B2 (ja) 信託機関付き電子紙幣実施方法
JP3599493B2 (ja) 発行機関分離型番号登録式電子現金方法および利用者装置
Isern-Deyà et al. Untraceable, anonymous and fair micropayment scheme
JP3334018B2 (ja) 電子現金方法及び電子現金システム
JP2631776B2 (ja) 電子現金実施方法
JPH09153103A (ja) 追跡可能な電子現金実施方法及びその装置
JP3599492B2 (ja) 番号登録式電子現金方法および利用者装置

Legal Events

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

Free format text: PAYMENT UNTIL: 20070802

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20080802

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20080802

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090802

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090802

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100802

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100802

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110802

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120802

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130802

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees