JPH0373065A - 電子現金実施方法及びその装置 - Google Patents
電子現金実施方法及びその装置Info
- Publication number
- JPH0373065A JPH0373065A JP2088838A JP8883890A JPH0373065A JP H0373065 A JPH0373065 A JP H0373065A JP 2088838 A JP2088838 A JP 2088838A JP 8883890 A JP8883890 A JP 8883890A JP H0373065 A JPH0373065 A JP H0373065A
- Authority
- JP
- Japan
- Prior art keywords
- information
- user
- party
- bank
- electronic cash
- 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
- 238000000034 method Methods 0.000 title claims description 159
- 230000006870 function Effects 0.000 claims description 131
- 230000004044 response Effects 0.000 claims description 96
- 238000012545 processing Methods 0.000 claims description 53
- 238000012546 transfer Methods 0.000 claims description 39
- 238000007781 pre-processing Methods 0.000 claims description 23
- 238000012805 post-processing Methods 0.000 claims description 15
- 238000012795 verification Methods 0.000 claims description 13
- 238000004364 calculation method Methods 0.000 claims description 11
- 230000003094 perturbing effect Effects 0.000 claims description 3
- 230000008030 elimination Effects 0.000 claims 1
- 238000003379 elimination reaction Methods 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 5
- 238000010586 diagram Methods 0.000 description 34
- 238000012360 testing method Methods 0.000 description 12
- 238000007689 inspection Methods 0.000 description 10
- 238000001514 detection method Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000002452 interceptive effect Effects 0.000 description 4
- 238000007796 conventional method Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 101100136092 Drosophila melanogaster peng gene Proteins 0.000 description 1
- 241001168730 Simo Species 0.000 description 1
- 235000003642 hunger Nutrition 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 230000037351 starvation Effects 0.000 description 1
- 235000012976 tarts Nutrition 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
- Control Of Vending Devices And Auxiliary Devices For Vending Devices (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
【発明の詳細な説明】
〔産業上の利用分野〕
本発明は、電子通信システムを利用して電子的な現金を
実現する電子現金実施方法及びそのための装置に関する
。
実現する電子現金実施方法及びそのための装置に関する
。
(従来の技術)
電子通信システムを使用した電子資金移動が普及しつつ
ある。一般に金融機関(以下の説明ではすべて銀行で代
表する)で換金可能な、例えば手形、小切手等の証書は
、証書のは象徴的機能(証書を保持している人に対して
証書に記載しである権利が供与されること)を備えてい
る。証書を電気通信システムで取り扱う場合、証書はデ
ィジタル化されたデータであり、容易にコピーを作成し
て複数回の換金が可能となる。プリペイドカードのよう
な電子的現金を実現する時にも、このような問題が生じ
る。すなわち、プリペイドカードをコピーすることで、
不正に複数回の換金または商品の購入が可能となる。
ある。一般に金融機関(以下の説明ではすべて銀行で代
表する)で換金可能な、例えば手形、小切手等の証書は
、証書のは象徴的機能(証書を保持している人に対して
証書に記載しである権利が供与されること)を備えてい
る。証書を電気通信システムで取り扱う場合、証書はデ
ィジタル化されたデータであり、容易にコピーを作成し
て複数回の換金が可能となる。プリペイドカードのよう
な電子的現金を実現する時にも、このような問題が生じ
る。すなわち、プリペイドカードをコピーすることで、
不正に複数回の換金または商品の購入が可能となる。
この問題の解決策として、計算機能を備えたカードで換
金時にカード読み取り装置とカードとの間のデータのや
り取りを工夫することで、カードの二重使用を検出する
方式が提案されている(例えば、Chaus、 Fia
t、 Naor : Untraceable E
iec−tric Cath ’ Proc of C
RYPTO’ 88)。
金時にカード読み取り装置とカードとの間のデータのや
り取りを工夫することで、カードの二重使用を検出する
方式が提案されている(例えば、Chaus、 Fia
t、 Naor : Untraceable E
iec−tric Cath ’ Proc of C
RYPTO’ 88)。
上述したchaum等の方式の概要は次の通りである。
なお、以降では利用者の識別情報(口座番号等)をID
で表わす。
で表わす。
まず、利用者が銀行から一定額面の電子現金を発行して
もらう手順は以下の通りである。
もらう手順は以下の通りである。
ステップl:利用者は、k個の乱数al(+=1、・・
・、k)を生成して公開された一方向性関数gを用いて
次式 %式%) によりXiとy′iを求める。
・、k)を生成して公開された一方向性関数gを用いて
次式 %式%) によりXiとy′iを求める。
ここで■は排他的論理和を表わす。
ステップ2:利用者は、公開された一方向性関数fを使
用して計算した値f(xi、)′i)と乱数r、の0乗
との積Biを次式 %式% ・・・、にで計算し銀行に提示する。この処理はf (
Xi 、 3′i )の内容を銀行読まれないように
して結果的にf(x+、yi)に銀行の署名を得るブラ
インド署名のための前処理である。ここで−iにa l
1od bは整数aを整数すで割った余りを表わす。
用して計算した値f(xi、)′i)と乱数r、の0乗
との積Biを次式 %式% ・・・、にで計算し銀行に提示する。この処理はf (
Xi 、 3′i )の内容を銀行読まれないように
して結果的にf(x+、yi)に銀行の署名を得るブラ
インド署名のための前処理である。ここで−iにa l
1od bは整数aを整数すで割った余りを表わす。
ステップ3:銀行は、利用者にIDとそれぞれに/2個
のai とr′iを開示させて利用者がステップlおよ
び2を正しく実行していることを確認する(以下では、
i=l、・・・、に/2が未開示と仮定して説明する)
。
のai とr′iを開示させて利用者がステップlおよ
び2を正しく実行していることを確認する(以下では、
i=l、・・・、に/2が未開示と仮定して説明する)
。
ステップ4:銀行は、未公開のに/2個のB。
の積を取り、d乗して署名りを次式のように計算する。
同時に、利用者の口座から対応する金額を引き落とす。
D=rl Btmodn
ステップ5:利用者は、Dから乱数riの影響を取り除
いた電子現金Cを次式で計算する。
いた電子現金Cを次式で計算する。
この時次式が成立する。
C−Hf (Xt 、 )′i )’ mad
nこの処理により得られる電子現金Cはf(x、。
nこの処理により得られる電子現金Cはf(x、。
y=)に直接銀行の署名を付けたものと等価である。こ
こで、e、dおよびnは銀行によって生成され、次式を
満たす。
こで、e、dおよびnは銀行によって生成され、次式を
満たす。
n=PXQ (PとQは素数)
eXd=1 (sod ff1)
但し、z=t、cM((p−1)、 (Q−1)1で
あり、LCM (a、blはaとbの最小公倍数を表わ
す、銀行は電子現金の額面に対応する情報eと鍵nを公
開し、鍵dを秘密に管理する。
あり、LCM (a、blはaとbの最小公倍数を表わ
す、銀行は電子現金の額面に対応する情報eと鍵nを公
開し、鍵dを秘密に管理する。
利用者が、小売店で電子現金Cを利用して支払う手順は
次の通りである。
次の通りである。
ステップ6:利用者は、Cを小売店に提出する。
ステップ7:小売店は、ランダムなビット列Ei、
・・・、Ek/lを生成して利用者に送信する。
・・・、Ek/lを生成して利用者に送信する。
ステップ8:利用者は、l≦i≦に/2なる未開示対象
のiに対して E8−1とき、alとyiを、 Ei=0のとき、Xiと(atΦID)を小売店に提示
する。
のiに対して E8−1とき、alとyiを、 Ei=0のとき、Xiと(atΦID)を小売店に提示
する。
ステップ9:小売店は利用者の応答、公開情報eおよび
nを用いてCの正当性が次式により成り立つことを確認
する。
nを用いてCの正当性が次式により成り立つことを確認
する。
但し1、Xi =g (ai )
yt =g (at el D)
小売店と銀行の間の決済方法は次の通りである。
ステップ10:小売店は、後日、C,ビット列Ei、
・・・、Ei7□と利用者からの応答(aiと3′i
sまたはXiと(az691D))を銀行に提示して、
銀行から該当する金額の支払いを受け用いた次のような
ブラインド署名技法を提案してステップ11:銀行はC
、ビット列Ei、 ・・E k/2とa i (E
i = 1のとき)または(a6■ID)(Ei =O
のとき)を記憶する。
・・・、Ei7□と利用者からの応答(aiと3′i
sまたはXiと(az691D))を銀行に提示して、
銀行から該当する金額の支払いを受け用いた次のような
ブラインド署名技法を提案してステップ11:銀行はC
、ビット列Ei、 ・・E k/2とa i (E
i = 1のとき)または(a6■ID)(Ei =O
のとき)を記憶する。
こここで示した方式は、■利用者のプライバシイを保障
でき、■二重使用を検出できるという特徴を備えている
。
でき、■二重使用を検出できるという特徴を備えている
。
まず、利用者のブライバシイの保障について説明する。
情報Bはf (x、y)を乱数で撹乱したものなので、
銀行および第3者はBからf(xy)を推定できない。
銀行および第3者はBからf(xy)を推定できない。
また、銀行と小売店が結託しても、電子現金Cと署名り
の対応を知ることができない。従って、誰がCを発行し
たかを知ることができない。これによりChaum等の
方式では、電子現金Cの発行元(利用者)を推定できな
いので、利用者の消費動向等のブライバシイを守ること
ができる。以降では、ここで使用した署名の技法を「ブ
ラインド署名」と称することにする。
の対応を知ることができない。従って、誰がCを発行し
たかを知ることができない。これによりChaum等の
方式では、電子現金Cの発行元(利用者)を推定できな
いので、利用者の消費動向等のブライバシイを守ること
ができる。以降では、ここで使用した署名の技法を「ブ
ラインド署名」と称することにする。
ブラインド署名の技法としては例えばChaumが米国
特許Nα4,759,063においてR3A暗号方式を
いる。
特許Nα4,759,063においてR3A暗号方式を
いる。
利用者は文書Mに対し撹乱乱数rを使って次式%式%(
1) で表わされる一方向性関数F、Aにより文書Mを撹乱し
て撹乱文書Wを作成し、銀行に送る。この関数による処
理をブラインド署名前処理と呼ぶ。
1) で表わされる一方向性関数F、Aにより文書Mを撹乱し
て撹乱文書Wを作成し、銀行に送る。この関数による処
理をブラインド署名前処理と呼ぶ。
銀行は次式(2)で表わされる署名関数り。Aにより撹
乱文書Wに署名して署名付撹乱文書Ωを得て、利用者に
送る。
乱文書Wに署名して署名付撹乱文書Ωを得て、利用者に
送る。
Ω=D、A(W)−WdAIIIOdn・・・(2)利
用者は次式(3)で表わされるブラインド署名後処理関
数H6Aにより署名付撹乱文書Ωを処理する。
用者は次式(3)で表わされるブラインド署名後処理関
数H6Aにより署名付撹乱文書Ωを処理する。
!(、A(Ω)−Ω/rIIOdn・・・(3)ただし
式(1)、(2)、(3)におけるeA+dA 、
nは次の条件を満すものとする。
式(1)、(2)、(3)におけるeA+dA 、
nは次の条件を満すものとする。
eAXdA= l (sod jり
f=LcM((P−1)、 (Q−1,))n=PX
Q PとQは素数であり、LCM (a、blはaとbの最
小公倍数を表わす。dAは秘密鍵であり、eA及びnは
公開鍵である。
Q PとQは素数であり、LCM (a、blはaとbの最
小公倍数を表わす。dAは秘密鍵であり、eA及びnは
公開鍵である。
上式(3)は次のように変形できる。
H−A(Ω) =H,A (D、A (F、A (M)
) 1ミ(r″^×M)4^/r BreAXd^X M d^/r =M” (n+od n) ・ ・ ・(4) 式(5)の右辺は明らがk式(2)の中のWをMに置き
替えたものである。従って次式 %式%(5) が成立する。これら式(1)、(2)、(3)がブライ
ンド署名の手順を示しており、そのブラインド署名が可
能であることを式(4)が証明している。即ち署名付撹
乱文書Ωをブラインド署名後処理関数H1により処理す
ることによって署名付撹乱文書Ωから撹乱乱数rの影響
を除去することができ、従って銀行が文書Mを直接署名
関数DaAにより署名したものと同じ署名付文書り。(
M)が得られる。
) 1ミ(r″^×M)4^/r BreAXd^X M d^/r =M” (n+od n) ・ ・ ・(4) 式(5)の右辺は明らがk式(2)の中のWをMに置き
替えたものである。従って次式 %式%(5) が成立する。これら式(1)、(2)、(3)がブライ
ンド署名の手順を示しており、そのブラインド署名が可
能であることを式(4)が証明している。即ち署名付撹
乱文書Ωをブラインド署名後処理関数H1により処理す
ることによって署名付撹乱文書Ωから撹乱乱数rの影響
を除去することができ、従って銀行が文書Mを直接署名
関数DaAにより署名したものと同じ署名付文書り。(
M)が得られる。
次に、二重使用の検出について説明する。銀行は小売店
から送られてきたCをすでにメモリに蓄積されているす
べてのCと比較し、同じCが2回使用されてないかチエ
ツクする。利用者が不正にCを2回使用すると、1回目
のCに対応じてE。
から送られてきたCをすでにメモリに蓄積されているす
べてのCと比較し、同じCが2回使用されてないかチエ
ツクする。利用者が不正にCを2回使用すると、1回目
のCに対応じてE。
=1の時a!がEi=0の時(atOID)が銀行のメ
モリ内に記憶されているので、1回目のE8と2回目の
Eiが異なる場合には、atO(atOID)を計算し
てIDが求まる。銀行はに/2ビットの問い合わせをす
るので、1回目と2回目のEiが全ビット(i=1〜に
/2)で一致する確率、即ち二重使用されたCからそれ
を使用した利用者のIDを計算できない確率は2−に/
2となる。
モリ内に記憶されているので、1回目のE8と2回目の
Eiが異なる場合には、atO(atOID)を計算し
てIDが求まる。銀行はに/2ビットの問い合わせをす
るので、1回目と2回目のEiが全ビット(i=1〜に
/2)で一致する確率、即ち二重使用されたCからそれ
を使用した利用者のIDを計算できない確率は2−に/
2となる。
上述したChaum等の方式では、二重使用に対する安
全性を保障するために関数fとgが一方向性であること
に加えて、2戒分の不干渉性、即ちZ−f(χ、 y
) =f (x’、 y’)を満たす(x、y)と(
X・、y・)を見つけることが困難なことが必要である
。ところが、このような2成分の不干渉性を満足する一
方向性関数の構成方法については現在知られていない。
全性を保障するために関数fとgが一方向性であること
に加えて、2戒分の不干渉性、即ちZ−f(χ、 y
) =f (x’、 y’)を満たす(x、y)と(
X・、y・)を見つけることが困難なことが必要である
。ところが、このような2成分の不干渉性を満足する一
方向性関数の構成方法については現在知られていない。
本発明は、上記に鑑みてなされたもので、その目的とす
るところは、特殊な条件を備えた関数fを用いることな
く、二重使用を検出することができるとともに、また利
用者のブライバシイを保障することができる電子現金実
施方法とその装置を提供することにある。
るところは、特殊な条件を備えた関数fを用いることな
く、二重使用を検出することができるとともに、また利
用者のブライバシイを保障することができる電子現金実
施方法とその装置を提供することにある。
[課題を解決するための手段]
本発明の電子現金方式は、銀行が発行する電子現金を利
用者が使用し、この電子現金を小売店が受領して銀行と
の間で決済する電子現金処理における電子現金実施方法
であって、 利用者は、利用者の識別情報(IDr)を裸のまま含ん
だ秘密情報(Si)から利用者情報(■、)を生威し、
その利用者情報(Vi)又はそれを含む情報(Ml)を
ブラインド署名前処理器により撹乱して撹乱利用者情報
(Wi)を生威し、銀行に送信する。
用者が使用し、この電子現金を小売店が受領して銀行と
の間で決済する電子現金処理における電子現金実施方法
であって、 利用者は、利用者の識別情報(IDr)を裸のまま含ん
だ秘密情報(Si)から利用者情報(■、)を生威し、
その利用者情報(Vi)又はそれを含む情報(Ml)を
ブラインド署名前処理器により撹乱して撹乱利用者情報
(Wi)を生威し、銀行に送信する。
銀行は、署名器を使って撹乱利用者情報(Wi)に署名
し、その署名付撹乱利用者情報(Ω、)を利用者に送信
する。
し、その署名付撹乱利用者情報(Ω、)を利用者に送信
する。
利用者は、ブラインド署名後処理器を使用して銀行から
受信した署名付撹乱利用者情報から撹乱を除去すること
により銀行の署名が付いた署名付利用者情報(B□又は
Bi又はB)を得る。
受信した署名付撹乱利用者情報から撹乱を除去すること
により銀行の署名が付いた署名付利用者情報(B□又は
Bi又はB)を得る。
利用者は乱数情報(Ri )から第1通信文計算器を使
用して認証用情報(Xi)を生威し、その認証用情報又
はそれを含む情報mをブラインド署名前処理器により撹
乱して撹乱認証用情報(Zi又はZ)を生威し、銀行に
送る。
用して認証用情報(Xi)を生威し、その認証用情報又
はそれを含む情報mをブラインド署名前処理器により撹
乱して撹乱認証用情報(Zi又はZ)を生威し、銀行に
送る。
銀行は署名器を使って撹乱認証用情報(Zi又はZ)に
署名し、その署名付撹乱認証情報(■i又はe)を利用
者に送る。
署名し、その署名付撹乱認証情報(■i又はe)を利用
者に送る。
利用者はブラインド後処理器を使って署名付撹乱認証用
情報から撹乱を除去することにより銀行の署名が付いた
署名付認証用情報(Bii又はC)を得る。
情報から撹乱を除去することにより銀行の署名が付いた
署名付認証用情報(Bii又はC)を得る。
利用者は小売店での支払い時に利用者情報、認証用情報
、署名付利用者情報、及び署名付認証用情報を電子現金
として提示する。
、署名付利用者情報、及び署名付認証用情報を電子現金
として提示する。
小売店は、検査器を使用して署名付利用者情報と署名付
認証用情報の妥当性を検査する。また小売店自身の情報
により作成した問い合わせ文qiを利用者に送る。利用
者は小売店からの問い合わせに対して秘密情報(Si)
と乱数情報(R4)と問い合わせ文とを使って応答文(
Yi)を作成し、小売店に提示する。
認証用情報の妥当性を検査する。また小売店自身の情報
により作成した問い合わせ文qiを利用者に送る。利用
者は小売店からの問い合わせに対して秘密情報(Si)
と乱数情報(R4)と問い合わせ文とを使って応答文(
Yi)を作成し、小売店に提示する。
小売店は応答文を検査することによって利用者情報と認
証用情報が利用者自身のものであることを確認し、電子
現金を正当なものであると判定する。小売店は決済のた
めに銀行に利用者の提示した情報と共に問い合わせ文と
それに対する応答文を送信する。
証用情報が利用者自身のものであることを確認し、電子
現金を正当なものであると判定する。小売店は決済のた
めに銀行に利用者の提示した情報と共に問い合わせ文と
それに対する応答文を送信する。
銀行は、検査器を使用して署名付利用者情報と署名付認
証用情報の妥当性を検査して、合格の時には受信した利
用者情報と認証用情報の組と同じものが既にメモリ内に
蓄積されている情報の中にないか検査し、あった場合は
それら2&[lの利用者情報と認証用情報に対応する問
い合わせ文と応答文から利用者の秘密情報を算出して利
用者を同定し、同じ組がなかった場合は小売店から受信
した情報をメモリに蓄積する。
証用情報の妥当性を検査して、合格の時には受信した利
用者情報と認証用情報の組と同じものが既にメモリ内に
蓄積されている情報の中にないか検査し、あった場合は
それら2&[lの利用者情報と認証用情報に対応する問
い合わせ文と応答文から利用者の秘密情報を算出して利
用者を同定し、同じ組がなかった場合は小売店から受信
した情報をメモリに蓄積する。
このようにこの発明によれば識別情報を含んだ秘密情報
から作られた利用者情報と乱数情報から作られた認証用
情報とに対し、それぞれ別々にブラインド署名をするよ
うにしたため利用者情報及び認証用情報を作成するため
の関数には成分の不干渉性の問題は生じない。従って所
望の関数を構成することができる。
から作られた利用者情報と乱数情報から作られた認証用
情報とに対し、それぞれ別々にブラインド署名をするよ
うにしたため利用者情報及び認証用情報を作成するため
の関数には成分の不干渉性の問題は生じない。従って所
望の関数を構成することができる。
更に1度得た署名付利用者情報を銀行が発行した利用許
可証(Br又はB)として使い、必要毎にに認証用情報
Xiと利用許可証を連結した情報に対し、銀行にブライ
ンド署名させて得た前記署名付認証用情報を銀行が発行
した電子コインとして使うようにすれば電子コインの発
行処理手順を簡略化でき、しかも電子コインを譲渡した
り及び/又は複数回使用したりすることも可能となる。
可証(Br又はB)として使い、必要毎にに認証用情報
Xiと利用許可証を連結した情報に対し、銀行にブライ
ンド署名させて得た前記署名付認証用情報を銀行が発行
した電子コインとして使うようにすれば電子コインの発
行処理手順を簡略化でき、しかも電子コインを譲渡した
り及び/又は複数回使用したりすることも可能となる。
以下、図面を用いて本発明の詳細な説明する。
第1図は本発明の各実施例に係わる電子現金方式が適用
される銀行(RANに)、利用者(USER)および小
売店(SHOP)の関係を示す構成図である。
される銀行(RANに)、利用者(USER)および小
売店(SHOP)の関係を示す構成図である。
第1図において、銀行100、利用者200および小売
店300は例えば通信回線等を介して接続されているが
、情報を記録できる例えばICカードを介しての接続で
あってもよい。
店300は例えば通信回線等を介して接続されているが
、情報を記録できる例えばICカードを介しての接続で
あってもよい。
〔第1実施例]
銀行100は、利用者200の電子現金発行要求に応じ
て利用者200の身元をn認して利用者の口座から電子
現金に対応する金額を引き落とすか、又は利用者200
から現金を受領した後に、そのことを証明する証拠(電
子現金を構成する情報の一部である後述する署名付利用
者情報と署名付認証用情報)を利用者200にブライン
ド署名の技法を用いて発行する。
て利用者200の身元をn認して利用者の口座から電子
現金に対応する金額を引き落とすか、又は利用者200
から現金を受領した後に、そのことを証明する証拠(電
子現金を構成する情報の一部である後述する署名付利用
者情報と署名付認証用情報)を利用者200にブライン
ド署名の技法を用いて発行する。
利用者200は、小売店300に対する支払い時に証拠
を小売店300に提出し、かつ小売店300からの問い
合わせに対して利用者情報と認証用情報をそれぞれ生成
する時に用いた秘密情報と乱数情報から応答文を生成し
て小売店に提出して支払いを済ます。
を小売店300に提出し、かつ小売店300からの問い
合わせに対して利用者情報と認証用情報をそれぞれ生成
する時に用いた秘密情報と乱数情報から応答文を生成し
て小売店に提出して支払いを済ます。
次に、利用者識別情報としてIDPを用いる利用者20
0が電子現金を銀行100から発行してもらう場合につ
いて詳細に説明する。
0が電子現金を銀行100から発行してもらう場合につ
いて詳細に説明する。
まず、銀行は電子現金発行手順において使用されるブラ
インド署名の技法にここではR5A暗号を使うため、必
要な各種パラメータを次の条件を満たすように決定する
。
インド署名の技法にここではR5A暗号を使うため、必
要な各種パラメータを次の条件を満たすように決定する
。
n=PXQ
eXdミ1 (sod f)
但し、f=LcM ((P−1)、(Q−1))でe、
dおよびnを計算して、鍵eおよび鍵nを公開し、鍵d
を秘密に管理する。銀行が発行する電子現金の額面は一
定であり、公開鍵eはその金額に対応じている。
dおよびnを計算して、鍵eおよび鍵nを公開し、鍵d
を秘密に管理する。銀行が発行する電子現金の額面は一
定であり、公開鍵eはその金額に対応じている。
ここで、LCM (a、b)は整数aとbの最小公倍数
を表わし、PおよびQは相異なる2つの大きな素数とす
る。また、aミb (aaod jりは、abがlの整
数倍であることを表わす。このような各種パラメータの
決め方は、例えば R,L。
を表わし、PおよびQは相異なる2つの大きな素数とす
る。また、aミb (aaod jりは、abがlの整
数倍であることを表わす。このような各種パラメータの
決め方は、例えば R,L。
Rjvest etal、 ”A Method jo
r Obtaining DigitalSignat
ures and Publickey Crypto
systemsCommunications of
the ACM Vol、 21.Nn2. pp12
0126、1978に記載されている。
r Obtaining DigitalSignat
ures and Publickey Crypto
systemsCommunications of
the ACM Vol、 21.Nn2. pp12
0126、1978に記載されている。
次に利用者200は、自分の識別情報10.を裸のまま
埋め込んだ秘密情報Siから利用者情報Viをあらかじ
め決めた第1の一方向性関数に従って生威し、乱数情報
R,から認証用情報Xiを前記第2の一方向性関数に従
って生威する。利用者は銀行にブラインド署名の技法を
用いてVl とXiに署名をつけさせる。ここで、ブラ
インド署名を用いている理由は、小売店と銀行が結託し
ても利用者のブライバシイを保障できるようにするため
である。この発明で重要なことの1つは秘密情報Siが
未加工の識別情報IDPを含んでいることである。
埋め込んだ秘密情報Siから利用者情報Viをあらかじ
め決めた第1の一方向性関数に従って生威し、乱数情報
R,から認証用情報Xiを前記第2の一方向性関数に従
って生威する。利用者は銀行にブラインド署名の技法を
用いてVl とXiに署名をつけさせる。ここで、ブラ
インド署名を用いている理由は、小売店と銀行が結託し
ても利用者のブライバシイを保障できるようにするため
である。この発明で重要なことの1つは秘密情報Siが
未加工の識別情報IDPを含んでいることである。
以下に説明する銀行と利用者間の処理におけるブライン
ド署名はChau+iの米国特許に4,759,063
に開示されているブラインド署名技法と同様に、R3A
暗号(前述したRivest等の論文参照)を利用した
場合であるが、対話型の認証方式を用いるブラインド署
名(例えば、米国出願Nα367.650(1989年
6月19日出願)参照)を使ってもよい。
ド署名はChau+iの米国特許に4,759,063
に開示されているブラインド署名技法と同様に、R3A
暗号(前述したRivest等の論文参照)を利用した
場合であるが、対話型の認証方式を用いるブラインド署
名(例えば、米国出願Nα367.650(1989年
6月19日出願)参照)を使ってもよい。
利用者が銀行から電子現金を発行してもらう手順を第2
図Aに示し、利用者200及び銀行100の構成を示す
ブロック図をそれぞれ第3図及び第4図に示す。なお、
以下の説明でばi−1,・・・kとする。
図Aに示し、利用者200及び銀行100の構成を示す
ブロック図をそれぞれ第3図及び第4図に示す。なお、
以下の説明でばi−1,・・・kとする。
ステップS2 :利用者は、乱数発生器(RANDOM
GEN) 211を用いて乱数a8を生威し、識別情報
IDPとともに署名器(SLG EGI) 212に
供給する。署名器212はa!とIDpの連結に利用者
の署名を付けるものであり、その署名付出力g!はgi
=c (aa II IDp )と表わされ、Gは
署名関数である。記号11は連結を表わし、例えば01
11011110=01110110である。
GEN) 211を用いて乱数a8を生威し、識別情報
IDPとともに署名器(SLG EGI) 212に
供給する。署名器212はa!とIDpの連結に利用者
の署名を付けるものであり、その署名付出力g!はgi
=c (aa II IDp )と表わされ、Gは
署名関数である。記号11は連結を表わし、例えば01
11011110=01110110である。
ステップS2 :乱数発生器211の出力a、と署名器
212の出力grをIDアとともに連結器(cONG)
213に入力して、秘密情報S!を作成する。秘密情
報Siは次式で示すようにIDp、乱数a、及び署名g
、の連結であり、従って識別情報IDpを裸のまま含ん
でする。
212の出力grをIDアとともに連結器(cONG)
213に入力して、秘密情報S!を作成する。秘密情
報Siは次式で示すようにIDp、乱数a、及び署名g
、の連結であり、従って識別情報IDpを裸のまま含ん
でする。
Si ”” I Dr If at II g=
・=(6)また素数発生器(PRIM GEN)
221を用いて、2つの素数P、、Q′iを生威し
、乗算器222を用いて素数P、とQlの積Niを求め
る。
・=(6)また素数発生器(PRIM GEN)
221を用いて、2つの素数P、、Q′iを生威し
、乗算器222を用いて素数P、とQlの積Niを求め
る。
ステップS3 :素数り8.連結器213の出力Siと
乗算器(MUL) 222の出力である素数積N。
乗算器(MUL) 222の出力である素数積N。
から、剰余付きべき乗計算器(MOD−POWER)
223を用いて第1の一方向性関数である次式で与えら
れる利用者情報 Vi −Si口 −od Nl
−(7)を計算する。
223を用いて第1の一方向性関数である次式で与えら
れる利用者情報 Vi −Si口 −od Nl
−(7)を計算する。
一方乱数発生器(RANDOM GEN) 224を用
いて生成した秘密の乱数情報R4、乗算器222の出力
N および素数L から、剰余付きべき乗計算器(MO
D−PO圓ER) 225を用いて第2の一方向性関数
である次式で与えられる認証用情報 Xム=Rt” sod Nl ・・・(8)を
計算する。LiとN(は式(7)、 (8)で表わせる
一方向性関数を構成するパラメータとして使われるので
パラメータ情報と呼ぶ。
いて生成した秘密の乱数情報R4、乗算器222の出力
N および素数L から、剰余付きべき乗計算器(MO
D−PO圓ER) 225を用いて第2の一方向性関数
である次式で与えられる認証用情報 Xム=Rt” sod Nl ・・・(8)を
計算する。LiとN(は式(7)、 (8)で表わせる
一方向性関数を構成するパラメータとして使われるので
パラメータ情報と呼ぶ。
ステップS4ニブラインド署名前処理としてVlとXi
をそれぞれ撹乱乱数riとr・1で撹乱するための前処
理関数はそれぞれ一方向性関数であり一般に下で次のよ
うに表わすが必ずしも同じ形である必要はない。
をそれぞれ撹乱乱数riとr・1で撹乱するための前処
理関数はそれぞれ一方向性関数であり一般に下で次のよ
うに表わすが必ずしも同じ形である必要はない。
wt =F* (ri 、vt ) ・・・
(9)Zi =Fll (r′i、X+ l
−00第2A図及び第3図に示す実施例においてはこ
の前処理を次のように行う。即ち乱数発生器(RAND
OM GBN) 226の生成した撹乱乱数ri と
剰余付きべき乗計算器223の生成したVlと公開鍵e
とnから剰余乗算・べき乗計算器(MODMOL/PO
WER) 227を用いて、次式で表わされる撹乱利用
者情報 W ! =F* (rt 、 Vt )
=rt xvi +wod n −Q
υを計算する。
(9)Zi =Fll (r′i、X+ l
−00第2A図及び第3図に示す実施例においてはこ
の前処理を次のように行う。即ち乱数発生器(RAND
OM GBN) 226の生成した撹乱乱数ri と
剰余付きべき乗計算器223の生成したVlと公開鍵e
とnから剰余乗算・べき乗計算器(MODMOL/PO
WER) 227を用いて、次式で表わされる撹乱利用
者情報 W ! =F* (rt 、 Vt )
=rt xvi +wod n −Q
υを計算する。
一方乱数発生器226の生成した撹乱乱数r′iと剰余
付きべき乗計算器225の生成したXiと公開鍵eとn
から、剰余乗算・べき乗計算器(MOD−MυL/PO
WER) 22 Bを用いて、次式で表わされる撹乱認
証用情報 Zt=F* (rZ+Xt )=r′iXX+mod
n −・・07Jを計算する。
付きべき乗計算器225の生成したXiと公開鍵eとn
から、剰余乗算・べき乗計算器(MOD−MυL/PO
WER) 22 Bを用いて、次式で表わされる撹乱認
証用情報 Zt=F* (rZ+Xt )=r′iXX+mod
n −・・07Jを計算する。
計算したWiとZIを銀行に送信する。
ここで、乱数発生器226、剰余乗算・べき乗計算器2
27,228はブラインド署名前処理葬2OAを構成し
ている。
27,228はブラインド署名前処理葬2OAを構成し
ている。
ステップSi:銀行は利用者200からWiと2′iを
受信すると、メーF−リ(MEM) 101 、 1(
12にそれぞれ記憶する(第4図参照)。
受信すると、メーF−リ(MEM) 101 、 1(
12にそれぞれ記憶する(第4図参照)。
次に銀行100は利用者にに/2組の(Si。
Ri + ri y rコ、 Li 、 Ni )
を開示させて、利用者が各秘密情報Siに本人の識別情
報■DPを正しく入れていることを認識し、かつステッ
プS3からステップS4を正しく実行していることを以
下の手順により確認する。
を開示させて、利用者が各秘密情報Siに本人の識別情
報■DPを正しく入れていることを認識し、かつステッ
プS3からステップS4を正しく実行していることを以
下の手順により確認する。
ステップSi:銀行は利用者に対し開示要求するに/2
組の情報(S8. R4、ri r ’t +し3.
Ni)を指定するiJグループU=(j=1、・・・k
/2)を決め、そのi、グループU=(ijl =l
、・・・、に/2)を利用者に送る(以下ではi=l、
・・・、に/2)が未開示と仮定して説明する)。
組の情報(S8. R4、ri r ’t +し3.
Ni)を指定するiJグループU=(j=1、・・・k
/2)を決め、そのi、グループU=(ijl =l
、・・・、に/2)を利用者に送る(以下ではi=l、
・・・、に/2)が未開示と仮定して説明する)。
ステップSi:利用者は、銀行から開示要求を受信する
と、銀行の指定するiに対応するに/2組の(Si、R
i、ri、r′i、Li、Nilを銀行に送る。
と、銀行の指定するiに対応するに/2組の(Si、R
i、ri、r′i、Li、Nilを銀行に送る。
銀行は、iが開示対象の時、次のステノブS。
〜Si゜の手順を行う。
ステップSs:iを開示′対象とした時、Si中の所定
の位置にIDpが入っていることを確認し、利用者20
0から受信した(Sl、Ri,Li。
の位置にIDpが入っていることを確認し、利用者20
0から受信した(Sl、Ri,Li。
Ni )から、剰余べき乗計算器(MOD−PO囚ER
)111及び121を用いて、 y’、 =Si mod Ni Kr =Ri mad Ni を計算する。
)111及び121を用いて、 y’、 =Si mod Ni Kr =Ri mad Ni を計算する。
ステップSi:剰余べき乗計算器111 、121の出
カシi、 + ri 、受信したri 、 r′i と
公開鍵eとnから、剰余乗算・べき乗計算器(MOD−
MUL/POIIER) 112. 122を用いて、
Wi =r、 XV′i mod nZ’r
=r!XX’+ sod nを計算する。
カシi、 + ri 、受信したri 、 r′i と
公開鍵eとnから、剰余乗算・べき乗計算器(MOD−
MUL/POIIER) 112. 122を用いて、
Wi =r、 XV′i mod nZ’r
=r!XX’+ sod nを計算する。
ステップS+o:メモリ101内の値Wi、と剰余乗算
・べき乗計算器112の出力Wi、を比較器(GOMP
) 113において比較する。またメモリ1(12内の
値Z!と剰余乗算・べき乗計算器122の出力Ziを比
較器(GOMP) 1.23において比較する。
・べき乗計算器112の出力Wi、を比較器(GOMP
) 113において比較する。またメモリ1(12内の
値Z!と剰余乗算・べき乗計算器122の出力Ziを比
較器(GOMP) 1.23において比較する。
このように銀行は、k/2個のすべてのiについて検査
して、いずれかの検査に不合格のときには、以降の処理
を中止する。すべての検査に合格のときには、銀行は利
用者の口座から該当する金額を引き落とすか、利用者か
ら該当する金額を受領すると、開示対象でないiに対し
て次の手順を行う。
して、いずれかの検査に不合格のときには、以降の処理
を中止する。すべての検査に合格のときには、銀行は利
用者の口座から該当する金額を引き落とすか、利用者か
ら該当する金額を受領すると、開示対象でないiに対し
て次の手順を行う。
ステップSi:公開鍵nと秘密wldとメモリ1.01
,1(12上のWi、、Ziから、剰余べき乗計算器(
MOD−POWEI+) 131 、 141を用い
て、次式で表わされる署名付撹乱利用者情報Ωiと署名
付撹乱認証用情報e′iをそれぞれ計算し、Ω□と8′
iを利用者に送る。
,1(12上のWi、、Ziから、剰余べき乗計算器(
MOD−POWEI+) 131 、 141を用い
て、次式で表わされる署名付撹乱利用者情報Ωiと署名
付撹乱認証用情報e′iをそれぞれ計算し、Ω□と8′
iを利用者に送る。
Ri −De (W+ ) =Wi mod
n −・・O3)@+ −De (Li
) =Zi nod n =・Qaこ
こで、弐〇3)、04)で表わされる処理が銀行がWi
と21に対し行った署名であり、D′iを署名関数と呼
ぶ。剰余べき乗計算器131,141は署名器1.OA
を構成する。
n −・・O3)@+ −De (Li
) =Zi nod n =・Qaこ
こで、弐〇3)、04)で表わされる処理が銀行がWi
と21に対し行った署名であり、D′iを署名関数と呼
ぶ。剰余べき乗計算器131,141は署名器1.OA
を構成する。
ステンプSi□二利用者は、銀行からΩ□と0゜を受信
すると、Ω、と08から撹乱乱数rl とr゛、の影響
を取り除いて、銀行の署名の跡が残っている署名付利用
者情報Bv、と署名付認証用情報BXIを計算するため
に銀行から受信したΩ、、e。
すると、Ω、と08から撹乱乱数rl とr゛、の影響
を取り除いて、銀行の署名の跡が残っている署名付利用
者情報Bv、と署名付認証用情報BXIを計算するため
に銀行から受信したΩ、、e。
と乱数発生器226の生成した撹乱乱数ri。
ri1 と公開鍵nから、剰余除算器(MOD−ロIV
) 23L232を用いて、 Bvi−Ha (rt 、Ωi)=Ωi / r t
mod n・・・0つ Bxi=Ha b’t 、et l −er /rコ
sod n・・・(16) を計算する。
) 23L232を用いて、 Bvi−Ha (rt 、Ωi)=Ωi / r t
mod n・・・0つ Bxi=Ha b’t 、et l −er /rコ
sod n・・・(16) を計算する。
ここで弐05)に式00とθつを代入し、式00に弐G
2)とα滲をそれぞれ代入すると次式が成立する。
2)とα滲をそれぞれ代入すると次式が成立する。
ミVil1od n、=Da (Vt )ミXI
+mod n =De (Xi )上記2つの
式は銀行から受信した署名付撹乱利用者情報Ω、と署名
付撹乱認証用情報e′iを関数H,で処理すると、銀行
がVi、Xiに対し直接署名関数り、により処理を行っ
た結果り、(Vi)。
+mod n =De (Xi )上記2つの
式は銀行から受信した署名付撹乱利用者情報Ω、と署名
付撹乱認証用情報e′iを関数H,で処理すると、銀行
がVi、Xiに対し直接署名関数り、により処理を行っ
た結果り、(Vi)。
D、(Xi)が得られることを示している。即ち、関数
HoはΩiiiから撹乱乱数rム、r゛、の影響を除去
する。この撹乱乱数ri、r’、の影響を除去する処理
をブラインド署名後処理と呼び、関数Hlを後処理関数
と呼ぶ、除算器231と232はブラインド署名後込埋
葬20Bを構成している。利用者は情報の組(Vz 、
Bvi、XiBxilを電子現金として使用する。
HoはΩiiiから撹乱乱数rム、r゛、の影響を除去
する。この撹乱乱数ri、r’、の影響を除去する処理
をブラインド署名後処理と呼び、関数Hlを後処理関数
と呼ぶ、除算器231と232はブラインド署名後込埋
葬20Bを構成している。利用者は情報の組(Vz 、
Bvi、XiBxilを電子現金として使用する。
次に、利用者が電子現金を用いて小売店で支払いをする
場合について説明する。利用者と小売店との間の処理手
順例を第2B図に示す・また・小売店200のブロック
構成を第5図に示す。
場合について説明する。利用者と小売店との間の処理手
順例を第2B図に示す・また・小売店200のブロック
構成を第5図に示す。
ステップSi.二利用者は電子現金(V8. Bvil
Xi 、 BXi) とパラメータ情報(Ni、Li
)を小売店に送る。
Xi 、 BXi) とパラメータ情報(Ni、Li
)を小売店に送る。
ステンブS【4:小売店は電子現金(Vi 、 Bvi
。
。
χi 、 Bxilと情報(Ni 、Li lを受信す
ると、それらをメモリ(MEM) 301に記憶する
と共に剰余べき乗計算器(MOD−POWER) 3
11. 312を使用して次の検証式VF。
ると、それらをメモリ(MEM) 301に記憶する
と共に剰余べき乗計算器(MOD−POWER) 3
11. 312を使用して次の検証式VF。
Vi =VFa (Bvil =Bv4 no
d nX’t −VFa (Bxi) =Bx
t nod nを計算する。
d nX’t −VFa (Bxi) =Bx
t nod nを計算する。
ステップ5157比較器(cOMP)313. 314
によりそれぞれに/2個の計算結果ゾ2.テ、と利用者
から受けたVi、Xiがそれぞれ互いに等しいか検査す
る(t=l、 ・・・、 k/2)。これによって署
名付利用者情報By□及び署名付認証用情報BXiに付
けられている署名は確がk銀行の署名であるか判定でき
る。
によりそれぞれに/2個の計算結果ゾ2.テ、と利用者
から受けたVi、Xiがそれぞれ互いに等しいか検査す
る(t=l、 ・・・、 k/2)。これによって署
名付利用者情報By□及び署名付認証用情報BXiに付
けられている署名は確がk銀行の署名であるか判定でき
る。
ステソブSI6:に/2個の検査に合格すると、乱数発
生器(RANDOM G[!N) 321を使用して乱
数γ3をに/2個生生成てメモリ301に記憶して、店
のIDv、時間も、乱数γ′iを問い合わせ文qiとし
て利用者に送信する。同時に、公開された一方向性関数
fを計算するf−計算器(f−CAL)322を用いて
、 Ei −’f (IDV 、t 、γ3)を計算する。
生器(RANDOM G[!N) 321を使用して乱
数γ3をに/2個生生成てメモリ301に記憶して、店
のIDv、時間も、乱数γ′iを問い合わせ文qiとし
て利用者に送信する。同時に、公開された一方向性関数
fを計算するf−計算器(f−CAL)322を用いて
、 Ei −’f (IDV 、t 、γ3)を計算する。
以後では0<Ei<Liが戒り立つものとする。
ステップSI□:利用者は、小売店からqi=(IDV
it、γ、)を受信すると、公開された一方向性関数f
−計算器(f−CAL) 241を用いて、 Ei =r(Qi ) =f (IDv +t 、T
I )を計算する。
it、γ、)を受信すると、公開された一方向性関数f
−計算器(f−CAL) 241を用いて、 Ei =r(Qi ) =f (IDv +t 、T
I )を計算する。
ステップ5Ill:連結器213の出力S8、乗算器2
22の出力N1、乱数発生器224の出力R4およびf
−計算器241の出力Eiを剰余乗算・べき乗計算器(
問D−POWER) 242に入力して一方向性関数
である次式により Y t =Rr ×S 1 mod Ni ・0
7)応答文Yiを計算して、小売店に送信する(i=1
、・・・、に/2)。
22の出力N1、乱数発生器224の出力R4およびf
−計算器241の出力Eiを剰余乗算・べき乗計算器(
問D−POWER) 242に入力して一方向性関数
である次式により Y t =Rr ×S 1 mod Ni ・0
7)応答文Yiを計算して、小売店に送信する(i=1
、・・・、に/2)。
ステップSi.:小売店は利用者から応答文Y。
を受信すると、Yiの正当性を、剰余乗算・べき乗計算
器(MOD−MUL/POWEII) 331を用い
て、AH−XHXVL @od Nl ・=0
8)を計算し剰余べき乗計算器(MOD−POWER)
332を用いて、 A’1=Yi mod Ni 、、・0
9を計算する。
器(MOD−MUL/POWEII) 331を用い
て、AH−XHXVL @od Nl ・=0
8)を計算し剰余べき乗計算器(MOD−POWER)
332を用いて、 A’1=Yi mod Ni 、、・0
9を計算する。
ステップS2゜:比較器(cOMP> 333を用いて
A。
A。
とA′rが一致することを確認する。(i=l、・・・
k/2)。
k/2)。
ここで、剰余べき乗計算器311,312、比較器31
3,31.4は利用者情報Viと認証用情報Xiの正当
性を検査する検査器30Aを構威し、f−計算器322
、剰余乗算・べき乗計算器331、剰余べき乗計算器3
32及び比較器333は応答文Yiの妥当性を検査する
検査器30Bを構成する。上述では各ステップSI6〜
S2゜においてすべてのi (i”1.・・・、 k
/2)についての処理を行うように説明したが、各iに
ついてステップSl&〜S2゜を繰返すように処理を行
ってもよい。
3,31.4は利用者情報Viと認証用情報Xiの正当
性を検査する検査器30Aを構威し、f−計算器322
、剰余乗算・べき乗計算器331、剰余べき乗計算器3
32及び比較器333は応答文Yiの妥当性を検査する
検査器30Bを構成する。上述では各ステップSI6〜
S2゜においてすべてのi (i”1.・・・、 k
/2)についての処理を行うように説明したが、各iに
ついてステップSl&〜S2゜を繰返すように処理を行
ってもよい。
最後に、小売店と銀行との間の決済方法について説明す
る。小売店と銀行との間の処理手順例を第2C図に示す
。
る。小売店と銀行との間の処理手順例を第2C図に示す
。
ステップS21:小売店は、後日、メモリ301内の電
子現金情報{Vi、Xt 、Bvi、Bxt)と、パラ
メータ情報(Nt 、Li )と、問い合せ文(rI)
v、 t、、 Ti )と応答文Yiを銀行に提出
するN=l、 ・・・、 k/2)。
子現金情報{Vi、Xt 、Bvi、Bxt)と、パラ
メータ情報(Nt 、Li )と、問い合せ文(rI)
v、 t、、 Ti )と応答文Yiを銀行に提出
するN=l、 ・・・、 k/2)。
ステップSzz:1!行は小売店から(Nt 、 L
i 。
i 。
Vi 、Xt 、Bvi、Bvi、IDv 、t、ri
。
。
Yi )を受信すると、公開鍵eとnを剰余べき乗計算
器(MOD−POWEI?) 1.51 、 152
に入力して、次の検証式VF。
器(MOD−POWEI?) 1.51 、 152
に入力して、次の検証式VF。
ゾ+ −VF* (Bv+l =Byt mod
nX’+ =VF、 (Bxi) =Bxi s
od nを計算する。
nX’+ =VF、 (Bxi) =Bxi s
od nを計算する。
ステップS0:計算したV′i 、 X’tが受信した
Vi、Xiとそれぞれ等しいか比較器(cOMP) 1
56゜157により検査する(i=l、・・・、 k
/2)。これらが等しければBvi+ BXiに示さ
れている署名は確がk銀行のものであると判定する。従
って署名が付けられている情報v、’、x、も信頼でき
るものであると判定する。
Vi、Xiとそれぞれ等しいか比較器(cOMP) 1
56゜157により検査する(i=l、・・・、 k
/2)。これらが等しければBvi+ BXiに示さ
れている署名は確がk銀行のものであると判定する。従
って署名が付けられている情報v、’、x、も信頼でき
るものであると判定する。
ステップS!4:すべての検査に合格すると、公開され
た一方向性関数fを計算する「−計算器(f −CAL
) 1.53を用いて、E(=f (IDy 、t、r
i ) を計算して、剰余乗算・べき乗計算器(MOD−MUL
/POWEI+) 154を用いて、 At =x、 xv、 l1od Ntを計算し、
剰余べき乗計算器(MOD−POWBR) 1.55
を用いて、 A′i =Y! IIod N6 を計算する。
た一方向性関数fを計算する「−計算器(f −CAL
) 1.53を用いて、E(=f (IDy 、t、r
i ) を計算して、剰余乗算・べき乗計算器(MOD−MUL
/POWEI+) 154を用いて、 At =x、 xv、 l1od Ntを計算し、
剰余べき乗計算器(MOD−POWBR) 1.55
を用いて、 A′i =Y! IIod N6 を計算する。
ステップSzs:比較器(GO?IP) 15 Bを用
いてA、とA iが一致することを確認する(i=1゜
・・・、 k/2)。これによってEiとYi も信
用できるものであることがわかる。
いてA、とA iが一致することを確認する(i=1゜
・・・、 k/2)。これによってEiとYi も信
用できるものであることがわかる。
ステップSn:小売店から提出された(Ni 。
L+ 、Vr 、Xt 、Et 、Yi )H=’、・
=に/2)をメモリ(MEM) 161に記憶して、
店IDvの口座へ該当する金額を払い込む。
=に/2)をメモリ(MEM) 161に記憶して、
店IDvの口座へ該当する金額を払い込む。
以上では、高次根のべき乗根の計算の困難性に基づく対
話型の認証方式に基づく方式について実現例を説明した
が、M、Tompa and H,Wollの゛’Ra
nda端5elf−Reducibtlity and
Zero Knowledge Interacti
ve Proofs of Prossesston
of InformationThe Proc、 o
f FOC3,1987pp、472−482で示され
ているような他の対話型の証明方式においても同様の方
式が実現できる。
話型の認証方式に基づく方式について実現例を説明した
が、M、Tompa and H,Wollの゛’Ra
nda端5elf−Reducibtlity and
Zero Knowledge Interacti
ve Proofs of Prossesston
of InformationThe Proc、 o
f FOC3,1987pp、472−482で示され
ているような他の対話型の証明方式においても同様の方
式が実現できる。
なお、一般に対話型の認証方式は、健全性(1組のVi
とXiに対して2組の正しいEiとY。
とXiに対して2組の正しいEiとY。
が求まるとき、■、に対応する秘密情報Siが計算でき
る)を満たすので、■、とXiの同じ組を2回以上使用
すると、利用者のIDpが露見する。
る)を満たすので、■、とXiの同じ組を2回以上使用
すると、利用者のIDpが露見する。
次に電子現金の不正な二重使用の検出について証明する
。
。
前述のように利用者200が小売店300に対し電子現
金を使用すると、小売店300は問い合わせ文Qi =
(il:h 、t、14 )を利用者200に与える
。この問い合わせ文qiの内容としては識別情報rD、
、時間を及び乱数γ、が使われているので、異なる小売
店ではIDVが異なり、同じ小売店でも時間が異なれば
tが異なる。従って利用者が同一電子現金を不正に2回
使用するとそれらに対し小売店から与えられる問い合わ
せ文(tpv、t、TI)の内容のいずれかは必ず異っ
ているのでEz =f (IDv 、t、Tt )も異
なると期待できる。従って式0′I)から明らかなよう
にそれに対する応答文Yiも異なる。その結果、電子現
金が2回使用されると銀行は1回目と2回目の同一のV
iとXiの組に対し異なる2&IlのEiとYiを得る
ことになる。これら2組を(Ei。
金を使用すると、小売店300は問い合わせ文Qi =
(il:h 、t、14 )を利用者200に与える
。この問い合わせ文qiの内容としては識別情報rD、
、時間を及び乱数γ、が使われているので、異なる小売
店ではIDVが異なり、同じ小売店でも時間が異なれば
tが異なる。従って利用者が同一電子現金を不正に2回
使用するとそれらに対し小売店から与えられる問い合わ
せ文(tpv、t、TI)の内容のいずれかは必ず異っ
ているのでEz =f (IDv 、t、Tt )も異
なると期待できる。従って式0′I)から明らかなよう
にそれに対する応答文Yiも異なる。その結果、電子現
金が2回使用されると銀行は1回目と2回目の同一のV
iとXiの組に対し異なる2&IlのEiとYiを得る
ことになる。これら2組を(Ei。
Yi )、(E’l 、 Y’l )とするとこれらは
いずれもステップS+*、Si6の検査穴〇8)、 0
9)を満足したので次式 %式% が得られ、更にSiミVi (鵬odNt)が成立つの
で次式が得られる。
いずれもステップS+*、Si6の検査穴〇8)、 0
9)を満足したので次式 %式% が得られ、更にSiミVi (鵬odNt)が成立つの
で次式が得られる。
ここで、Liが素数なのでり、とEi E′iが互い
に素となり α×L+βX (EiE′i ) =1 ・・・
(24)を満足する整数αとβを、ユークリッドの互除
法を用いて計算することができる。従ってJ M
xL*I x l!j−!’1)V(x (Y
= X’y’+ ) ミ5i=3+ (sod Nt
)・・・(25)となるのでSiを計算できる。秘密情
報slは裸のIDpを含んでいるので、電子現金を不正
使用した利用者を特定することができる。
に素となり α×L+βX (EiE′i ) =1 ・・・
(24)を満足する整数αとβを、ユークリッドの互除
法を用いて計算することができる。従ってJ M
xL*I x l!j−!’1)V(x (Y
= X’y’+ ) ミ5i=3+ (sod Nt
)・・・(25)となるのでSiを計算できる。秘密情
報slは裸のIDpを含んでいるので、電子現金を不正
使用した利用者を特定することができる。
上述の二重使用検出手順は例えば第2C図のステップS
4Sとsitの間に挿入され、その手順を第2D図と第
4図を参照して説明する。
4Sとsitの間に挿入され、その手順を第2D図と第
4図を参照して説明する。
ステップSc−銀行は受信した(Vi 、Xi)と同じ
ものがメモリ161の中にあるか探して1、無ければ第
2C図のステップS4.に行き、有れば次に進む。
ものがメモリ161の中にあるか探して1、無ければ第
2C図のステップS4.に行き、有れば次に進む。
ステップSi2:既にメモリ161内に記憶されている
{Vi、Xi}と対応する(E′i、ゾ、)を読出す。
{Vi、Xi}と対応する(E′i、ゾ、)を読出す。
ステップSC3ニユークリツドの互除法計算器(EUC
LTD’S ALGORITHM) 172 ヲ用イi
’弐〇glを満足するαとβを求める。
LTD’S ALGORITHM) 172 ヲ用イi
’弐〇glを満足するαとβを求める。
α×L+β(Ei−E′i) = 1
ステップSea:剰余除算器(MOD−[11V)
171にYi 、 ’Y’を及びNiを入力してY i
/ Vi 110d N Lを計算し、その結果をα
、β及びNtを剰余乗算・べき来宅(MOD−MUL/
POWER) 173に入力して前式(25)を計算
してSlを得る。
171にYi 、 ’Y’を及びNiを入力してY i
/ Vi 110d N Lを計算し、その結果をα
、β及びNtを剰余乗算・べき来宅(MOD−MUL/
POWER) 173に入力して前式(25)を計算
してSlを得る。
ステップses:s+の中からIDpを取出す。
以上説明したようにこの発明によれば利用者のIDpを
裸のまま含む秘密情報SLをもとに作成した情報Vi
と乱数情報Ri 情報Xiは互いに別々にブラインド署名前処理(第2A
図のステップS4)を受けるのでChaum等の一方向
性関数f(Xi、)’、)に要求されるような2成分の
不干渉性条件の問題が無い。逆に言えばChaun+等
の電子現金スキームにおいては同一の一方向性関数fに
乱数にもとづく情報XiとIDにもとづく情報y、の両
方のパラメータを含んでいる事と、しかも情報y、はそ
の乱数によってIDと関連づけられている事、即ちy、
はXlに関連づけられている事が不干渉性の問題を作り
出していると言える。
裸のまま含む秘密情報SLをもとに作成した情報Vi
と乱数情報Ri 情報Xiは互いに別々にブラインド署名前処理(第2A
図のステップS4)を受けるのでChaum等の一方向
性関数f(Xi、)’、)に要求されるような2成分の
不干渉性条件の問題が無い。逆に言えばChaun+等
の電子現金スキームにおいては同一の一方向性関数fに
乱数にもとづく情報XiとIDにもとづく情報y、の両
方のパラメータを含んでいる事と、しかも情報y、はそ
の乱数によってIDと関連づけられている事、即ちy、
はXlに関連づけられている事が不干渉性の問題を作り
出していると言える。
ところで今述べたように(Vi 、Wi )と(xi、
zム)は互いに独立して処理されており、また式θつ及
び(h)によるブラインド署名の結果得られる情報Ωi
と81も互いに独立して処理されている。更にこれらに
対し弐〇51.00により後処理をして得られる署名付
情報BviとBXiも互いに独立して処理されている。
zム)は互いに独立して処理されており、また式θつ及
び(h)によるブラインド署名の結果得られる情報Ωi
と81も互いに独立して処理されている。更にこれらに
対し弐〇51.00により後処理をして得られる署名付
情報BviとBXiも互いに独立して処理されている。
つまり利用者が電子現金の発行を要求してから電子現金
を得るまでの処理過程においては情報系列(Vi、Wi
、、Ri 、 Bvt)と情報系列(Xi、Zz、eo
、 BXりは互いに独立して処理されている。利用者が
第2B図の電子現金を使用する処理過程において、小売
店からの質問に応答するための応答文YiをステップS
。
を得るまでの処理過程においては情報系列(Vi、Wi
、、Ri 、 Bvt)と情報系列(Xi、Zz、eo
、 BXりは互いに独立して処理されている。利用者が
第2B図の電子現金を使用する処理過程において、小売
店からの質問に応答するための応答文YiをステップS
。
で作成する段階で初めて秘密情報SLと乱数情報Riが
1つの関数で関係づけられる。この事実は第2A図に示
す処理過程における情報系列(vi 。
1つの関数で関係づけられる。この事実は第2A図に示
す処理過程における情報系列(vi 。
Wi、Ω= 、 Bvi)に関する処理と情報系列(X
i、Zi、et 、B□)に関する処理を互いに分離し
、互いに異なる時間及び状況において実行してもよいこ
とを意味している。このことを利用したのが次に第6A
〜6D図及び第7A〜7D図を参照して説明する第2の
実施例である。
i、Zi、et 、B□)に関する処理を互いに分離し
、互いに異なる時間及び状況において実行してもよいこ
とを意味している。このことを利用したのが次に第6A
〜6D図及び第7A〜7D図を参照して説明する第2の
実施例である。
〔第2実施例〕
第2の実施例においては利用者からの要求により銀行は
利用許可証を1回発行し、利用者は電子現金を銀行に発
行してもらう場合は、いつでもその利用許可証と乱数情
報から生成した情報を銀行に提示してそれに証明させる
ことにより電子現金発行の処理手順を簡素化している。
利用許可証を1回発行し、利用者は電子現金を銀行に発
行してもらう場合は、いつでもその利用許可証と乱数情
報から生成した情報を銀行に提示してそれに証明させる
ことにより電子現金発行の処理手順を簡素化している。
この利用許可証の発行手順において先に述べた秘密情報
Siに関連する情報系列(Vi 、 Wt 、Ri 、
Bvi)に対応する情報系列が生成され、こうして発
行された利用許可証にもとづいて電子現金を発行する手
順において先に述べた乱数情報Riに関連する情報系列
(Xz 、 Z* 、 8i 、 B111)に対応
する情報系列が生成される。ここでは簡便化された手順
により発行される電子現金を電子コインと呼びCで表わ
すことにする。
Siに関連する情報系列(Vi 、 Wt 、Ri 、
Bvi)に対応する情報系列が生成され、こうして発
行された利用許可証にもとづいて電子現金を発行する手
順において先に述べた乱数情報Riに関連する情報系列
(Xz 、 Z* 、 8i 、 B111)に対応
する情報系列が生成される。ここでは簡便化された手順
により発行される電子現金を電子コインと呼びCで表わ
すことにする。
まず、第6A図の処理フローと第7A図の装置I!能ブ
ロック図を参照して銀行100に口座を開設した利用者
200が、利用許可証を銀行100より発行してもらう
場合について説明する。ここでIDpは利用者200の
口座番号等の識別情報とする。
ロック図を参照して銀行100に口座を開設した利用者
200が、利用許可証を銀行100より発行してもらう
場合について説明する。ここでIDpは利用者200の
口座番号等の識別情報とする。
銀行100は利用許可証に対応する情報として、ブライ
ンド署名で用いる秘密鍵d、および公開鍵e、の対を作
成しておき、eAを公開しておく。
ンド署名で用いる秘密鍵d、および公開鍵e、の対を作
成しておき、eAを公開しておく。
ここで、すでに証明したようにブラインド署名によれば
、ある文書Mに銀行100のブラインド署名をつけても
らいたい利用者200が銀行100のブラインド署名用
の公開1deaと撹乱乱数rを用いたブラインド署名前
処理関数W = F eA (rM)によって文書Mを
撹乱して他人に読めない撹乱文書Wとし、それを銀行1
00に送る。銀行100は秘密鍵d′iを用いたブライ
ンド署名作成処理Ω=D−a(W)により撹乱文書Wに
署名(ブラインド署名)し、その署名付撹乱文書Ωを利
用者200に送る。Ωを受け取った利用者200は、W
を作成するときに用いた撹乱乱数rを使って乱数除去関
数HlA(Ω)によりΩの中の撹乱乱数rの影響を除去
することにより銀行の署名の跡が付いた文書である署名
付文書り。(M)を得ることができる。ここで、撹乱処
理のためのF。は一方向性関数であるブラインド署名前
処理関数、D、Aはブラインド署名作成関数、乱数成分
除去処理のためのHlはブラインド署名後処理関数、I
)ea(M)は公開鍵eAに対応した銀行の署名付文書
を意味する。ブラインド署名の実現方法は、前述のR3
A暗号を用いたChau+wの方法およびこの出願の発
明者等の特願昭63−156(120に示されている方
法のいずれのブラインド署名を用いてもよい。
、ある文書Mに銀行100のブラインド署名をつけても
らいたい利用者200が銀行100のブラインド署名用
の公開1deaと撹乱乱数rを用いたブラインド署名前
処理関数W = F eA (rM)によって文書Mを
撹乱して他人に読めない撹乱文書Wとし、それを銀行1
00に送る。銀行100は秘密鍵d′iを用いたブライ
ンド署名作成処理Ω=D−a(W)により撹乱文書Wに
署名(ブラインド署名)し、その署名付撹乱文書Ωを利
用者200に送る。Ωを受け取った利用者200は、W
を作成するときに用いた撹乱乱数rを使って乱数除去関
数HlA(Ω)によりΩの中の撹乱乱数rの影響を除去
することにより銀行の署名の跡が付いた文書である署名
付文書り。(M)を得ることができる。ここで、撹乱処
理のためのF。は一方向性関数であるブラインド署名前
処理関数、D、Aはブラインド署名作成関数、乱数成分
除去処理のためのHlはブラインド署名後処理関数、I
)ea(M)は公開鍵eAに対応した銀行の署名付文書
を意味する。ブラインド署名の実現方法は、前述のR3
A暗号を用いたChau+wの方法およびこの出願の発
明者等の特願昭63−156(120に示されている方
法のいずれのブラインド署名を用いてもよい。
利用者200は自分の識別情報IDpを裸のまま埋め込
んだ秘密情報Siからこの実施例で利用者情報と呼ぶV
iを生成し、利用者200は銀行100にブラインド署
名技法を用いてViに署名をつけさせる。この署名の付
いたV8、即ちり、A(■1)を利用許可証と呼ぶ。こ
こで、ブラインド署名を用いる理由は、小売店300と
銀行100が結託しても利用者200のブライバシイを
保障できるようにするためである。
んだ秘密情報Siからこの実施例で利用者情報と呼ぶV
iを生成し、利用者200は銀行100にブラインド署
名技法を用いてViに署名をつけさせる。この署名の付
いたV8、即ちり、A(■1)を利用許可証と呼ぶ。こ
こで、ブラインド署名を用いる理由は、小売店300と
銀行100が結託しても利用者200のブライバシイを
保障できるようにするためである。
第6A図に示す利用者200が銀行100から利用許可
証を発行してもらう手順をその処理手順に係わる第7A
図に示す利用者200と銀行lOOのブロック構成図を
参照して説明する。以下では、i=l、・・・、にとす
る。
証を発行してもらう手順をその処理手順に係わる第7A
図に示す利用者200と銀行lOOのブロック構成図を
参照して説明する。以下では、i=l、・・・、にとす
る。
ステップSI :利用者200は乱数発生器(RAND
OM GBN) 203を用いて乱数a′iを生成して
IDpと共に連結器(cONC) 204に入力し、そ
の出力IDpHa+を署名生成器(DIG 5IGG
BN)218に入力し、 gi =Q (I Dp II a t )
・・・(26)を求める。
OM GBN) 203を用いて乱数a′iを生成して
IDpと共に連結器(cONC) 204に入力し、そ
の出力IDpHa+を署名生成器(DIG 5IGG
BN)218に入力し、 gi =Q (I Dp II a t )
・・・(26)を求める。
ステップSz :署名生成器218の出力を(IDp1
lai)と共に連結器204に入力して秘密情報 Si = I Dp It a i II gi
−(27)を求めてメモリ211に記憶する。また素
数生成器(PRr?IE GEN) 201を用いて
に対の素数(P8゜Q+)を生成して、乗算器(MUL
) 2(12を用いてP、とQlの積Nlを求めて記
憶する。
lai)と共に連結器204に入力して秘密情報 Si = I Dp It a i II gi
−(27)を求めてメモリ211に記憶する。また素
数生成器(PRr?IE GEN) 201を用いて
に対の素数(P8゜Q+)を生成して、乗算器(MUL
) 2(12を用いてP、とQlの積Nlを求めて記
憶する。
ステップSi:素数発生器(PRIME GEN)
213により素数Li (例えば3以上の素数)を発
生し、LiとSi、NHから剰余べき来宅(MOD−P
O阿Eil)205を用いて、利用者情報 Vz =Si 1wod Nt −(
28)を計算してLiとViをメモリ(ME)I)
211に記憶する。
213により素数Li (例えば3以上の素数)を発
生し、LiとSi、NHから剰余べき来宅(MOD−P
O阿Eil)205を用いて、利用者情報 Vz =Si 1wod Nt −(
28)を計算してLiとViをメモリ(ME)I)
211に記憶する。
ステップSi:N1 、Vi 、Liを連結器(cON
G)206に入力し、ソノ出力Mi = (Ni I
I v、 ++Li)を銀行100が公開した利用許
可証作成のめたの鍵eAと共にブラインド署名前処理器
(BSPRE−PI?0CESS) 207に入力し、
撹乱利用者情報Wi =F eA (r i 、 Mt
) −(29)を求め、銀行100に送る。
G)206に入力し、ソノ出力Mi = (Ni I
I v、 ++Li)を銀行100が公開した利用許
可証作成のめたの鍵eAと共にブラインド署名前処理器
(BSPRE−PI?0CESS) 207に入力し、
撹乱利用者情報Wi =F eA (r i 、 Mt
) −(29)を求め、銀行100に送る。
ここでブラインド署名前処理関数FaAはR3A暗号方
式を使ったChaumの式(+)と同様でもよく、この
出願の発明者等の特願昭63−156(120に提案し
たものでもよい。
式を使ったChaumの式(+)と同様でもよく、この
出願の発明者等の特願昭63−156(120に提案し
たものでもよい。
次に、銀行100は利用者200にに/2組の(Si
、Li 、Pi 、Q= 、r+ )を開示させて、利
用者200が各秘密情報Siに本人の識別情報IDp′
iを正しく入れていることを確認し、かつステップSi
からステップS4を正しく実行していることを以下の手
順で確認する。
、Li 、Pi 、Q= 、r+ )を開示させて、利
用者200が各秘密情報Siに本人の識別情報IDp′
iを正しく入れていることを確認し、かつステップSi
からステップS4を正しく実行していることを以下の手
順で確認する。
ステップSi:銀行100はランダム選択器(1?AN
DOM 5EL) 101を用いて1乃至にのi中から
ランダムにに/2個の異なるiを選び、そのiの組を開
示要求”” (iJ I J=l、、・・・、 k/
2)として利用者200に送信する。ここでは、表記を
簡単にするため銀行100がk/2+1 、 k/2+
2 、 ・・・kをiとして選んだとする。従ってi
=l、・・・k/2は開示対象でない。
DOM 5EL) 101を用いて1乃至にのi中から
ランダムにに/2個の異なるiを選び、そのiの組を開
示要求”” (iJ I J=l、、・・・、 k/
2)として利用者200に送信する。ここでは、表記を
簡単にするため銀行100がk/2+1 、 k/2+
2 、 ・・・kをiとして選んだとする。従ってi
=l、・・・k/2は開示対象でない。
ステップS6 ;利用者200は銀行lOoから開示要
求Uを受信すると、開示制御器(D l5CLO3UR
ECONT) 208を用いて銀行100の指示する
に/2組の(Sl、 LH、Pi 、 Qi 、ri
)を開示する。ここで、r、はステップS4でWiを
作成するためにブラインド署名前処理関数F。に用いた
撹乱乱数である。
求Uを受信すると、開示制御器(D l5CLO3UR
ECONT) 208を用いて銀行100の指示する
に/2組の(Sl、 LH、Pi 、 Qi 、ri
)を開示する。ここで、r、はステップS4でWiを
作成するためにブラインド署名前処理関数F。に用いた
撹乱乱数である。
ステップs、:m行100はiが開示対象の時、つまり
に/2+1.S j≦にの時、Si中の所定の位置にI
Dpが入っていることをfiIglし、利用者200よ
り受信した(S+ 、Li 、P r 、Qi 、
rt lから乗算器(MUL) 1(12を用いてN
!=P五×Q。
に/2+1.S j≦にの時、Si中の所定の位置にI
Dpが入っていることをfiIglし、利用者200よ
り受信した(S+ 、Li 、P r 、Qi 、
rt lから乗算器(MUL) 1(12を用いてN
!=P五×Q。
を求め、剰余べき乗計算器(MOD−POWER)
105を用いて、 V (= 31 nod N (−(30)でVi
を計算する。
105を用いて、 V (= 31 nod N (−(30)でVi
を計算する。
ステップS4 :剰余べき乗計算器105の出力■0、
受信したri と公開鍵eAから連結器(cONC)1
04およびブラインド署名前処理器(BS PREPR
OCESS) 107を用いて v/1=F−s (ri 、 (Ni II vi
II L+ ) )でWを計算する。
受信したri と公開鍵eAから連結器(cONC)1
04およびブラインド署名前処理器(BS PREPR
OCESS) 107を用いて v/1=F−s (ri 、 (Ni II vi
II L+ ) )でWを計算する。
ステップSi:前に受信したWtの値とWi、の値を比
較器(cOMP) l 06で比較し、一致すれば合格
とし、不合格の場合は処理を中断する。
較器(cOMP) l 06で比較し、一致すれば合格
とし、不合格の場合は処理を中断する。
銀行100はこのようにしてに/2個のすべてのiにつ
いて上記の検査を行い、いずれかの検査に不合格のとき
には以降の処理を中止する。すべての検査に合格のとき
は、銀行100は開示対象でないt (i=l、・・
・、 k/2)に対して次の署名手順を行う。
いて上記の検査を行い、いずれかの検査に不合格のとき
には以降の処理を中止する。すべての検査に合格のとき
は、銀行100は開示対象でないt (i=l、・・
・、 k/2)に対して次の署名手順を行う。
ステップS4゜:w、と銀行100のブラインド署名用
の秘密鍵dAをブラインド署名生成器(BSGUN)
108に人力し、次式のブラインド署名Ω、=D−a
(Wt ) ・・・(31)を求めて
利用者200に送る。関数り。は銀行の署名関数であり
、例えばR3A暗号方式を使ったChaua+の式(2
)と同様のものでよい。
の秘密鍵dAをブラインド署名生成器(BSGUN)
108に人力し、次式のブラインド署名Ω、=D−a
(Wt ) ・・・(31)を求めて
利用者200に送る。関数り。は銀行の署名関数であり
、例えばR3A暗号方式を使ったChaua+の式(2
)と同様のものでよい。
ステップS4:利用者200は銀行100からブライン
ド署名Ω′iを受信すると、そのブラインド署名Ω、と
ブラインド署名前処理(ステップS4)において使用し
た撹乱乱数fJ と公開鍵eAからブラインド署名後処
理器(BS PO3T−PROCESS)209を用い
て Bi =Ham (rt 、Ωi ) ・=
(32)を計算することによりΩ、から撹乱乱数riの
影響を除去する。この関数HlはChaumの式(3)
と同様のものでよい。式(32)により得られる署名付
利用者情報Biは次式 B+ =D−a (M+ ) =(3
3)を満足しているのはChaullの式(5)と同様
である。
ド署名Ω′iを受信すると、そのブラインド署名Ω、と
ブラインド署名前処理(ステップS4)において使用し
た撹乱乱数fJ と公開鍵eAからブラインド署名後処
理器(BS PO3T−PROCESS)209を用い
て Bi =Ham (rt 、Ωi ) ・=
(32)を計算することによりΩ、から撹乱乱数riの
影響を除去する。この関数HlはChaumの式(3)
と同様のものでよい。式(32)により得られる署名付
利用者情報Biは次式 B+ =D−a (M+ ) =(3
3)を満足しているのはChaullの式(5)と同様
である。
従って式(32)で得られるBiは銀行が公開鍵eAに
対応する秘密鍵dAを使って利用者情報■′iを含む文
書Mi = (Ni II Vi II Li )
に直接署名したものと回しである。利用者200はこの
ようにして得られた署名付利用者情報B工を電子コイン
の利用許可証として以後何回でも使用することができる
。
対応する秘密鍵dAを使って利用者情報■′iを含む文
書Mi = (Ni II Vi II Li )
に直接署名したものと回しである。利用者200はこの
ようにして得られた署名付利用者情報B工を電子コイン
の利用許可証として以後何回でも使用することができる
。
尚上述のステンブSIOではに/2個のWi、について
それぞれ別々のΩiを得て、ステップSi1においてに
/2個のBiを得たが、次のようにメツセージMI、・
・・、 Mkytに対し一括して署名を付けるように処
理することも可能である。即ち、ステップS’+o:銀
行100は、開示対象でないに/2個のi (i=l
、・・・、 k/2)のすべての撹乱利用者情報Wi
、を多重化した多重化撹乱利用者情報に対し1つのブラ
インド署名Ωを次式%式%) により計算して利用者200に送る。
それぞれ別々のΩiを得て、ステップSi1においてに
/2個のBiを得たが、次のようにメツセージMI、・
・・、 Mkytに対し一括して署名を付けるように処
理することも可能である。即ち、ステップS’+o:銀
行100は、開示対象でないに/2個のi (i=l
、・・・、 k/2)のすべての撹乱利用者情報Wi
、を多重化した多重化撹乱利用者情報に対し1つのブラ
インド署名Ωを次式%式%) により計算して利用者200に送る。
ステップS′+−二利用者200は銀行100から・・
・(31’) 受けたΩと乱数r、と公開鍵eAとからブラインド署名
後込埋葬209を用いて1つの署名付利用者情報Bを次
式 %式%(32) により計算する。この式(32’)によって得られる署
名付利用者情報は次式 %式%(33) を満足する。
・(31’) 受けたΩと乱数r、と公開鍵eAとからブラインド署名
後込埋葬209を用いて1つの署名付利用者情報Bを次
式 %式%(32) により計算する。この式(32’)によって得られる署
名付利用者情報は次式 %式%(33) を満足する。
式(31’)、 (32°)、(33°)が成立するよ
うな関数D*A+ H@Aは例えばR3A暗号方式を使
ったChauwのブラインド署名における前述の式(1
)、 (2)及び(3)を次のようにそれぞれ変形する
ことによって実現できる。
うな関数D*A+ H@Aは例えばR3A暗号方式を使
ったChauwのブラインド署名における前述の式(1
)、 (2)及び(3)を次のようにそれぞれ変形する
ことによって実現できる。
Wi = F *a (Mi ) −r = ×M
Isod n −(1’)Ω−り。(Wi、・・・、
Ww/l )−(rI Wt ) sod
n =(2’)HIIA (r I +
”’+ rk/! + Ω)工Ω/IT
ri sod n −(
3’)このように関数をそれぞれ決めると次式が成立す
る。
Isod n −(1’)Ω−り。(Wi、・・・、
Ww/l )−(rI Wt ) sod
n =(2’)HIIA (r I +
”’+ rk/! + Ω)工Ω/IT
ri sod n −(
3’)このように関数をそれぞれ決めると次式が成立す
る。
B−H−a (Do(Wi 、 ・・・、 Wki
z ) 。
z ) 。
r l + ”’+ r k/2 )ミ■
M。
mad n
=D−a (M+ 、 −、Mi/l )以下の説明
において上述のように利用許可証が一括署名により作ら
れた1つのピースBから成る場合についての式にはその
番号にダッシュをつけて示すが、図に示す処理手順及び
機能ブロック図はに72ピースのBiから成る利用許可
証を使用する場合のみを示しである。
において上述のように利用許可証が一括署名により作ら
れた1つのピースBから成る場合についての式にはその
番号にダッシュをつけて示すが、図に示す処理手順及び
機能ブロック図はに72ピースのBiから成る利用許可
証を使用する場合のみを示しである。
次に利用者200が銀行100から電子コインを発行し
てもらう手順を示す。この手順においては、利用者20
0は乱数情報Riにもとづく認証用情報Xiを作成し、
これに利用許可証Biを連結した情報に対し銀行100
の署名を付けてもらい電子コインとして使用する。この
場合にもその署名にはブラインド署名技法を使う。まず
、銀行100は電子コインの金額に対応する情報として
、ブラインド署名で用いる秘密鍵d’sおよび公開鍵e
′。の対を作成しておき、公開鍵ehを公開しておく。
てもらう手順を示す。この手順においては、利用者20
0は乱数情報Riにもとづく認証用情報Xiを作成し、
これに利用許可証Biを連結した情報に対し銀行100
の署名を付けてもらい電子コインとして使用する。この
場合にもその署名にはブラインド署名技法を使う。まず
、銀行100は電子コインの金額に対応する情報として
、ブラインド署名で用いる秘密鍵d’sおよび公開鍵e
′。の対を作成しておき、公開鍵ehを公開しておく。
ここで、銀行100と利用者200の間の処理手順例を
第6B図に示す、利用者200および銀行100のブロ
ック構成図を第7B図に示す。
第6B図に示す、利用者200および銀行100のブロ
ック構成図を第7B図に示す。
以下では1=l、・・・、に/2とする。
ステップSl□:利用者200は乱数発生器(RAND
OM GEN) 214を用いて生成した乱数情報R
,とメモリ(MEM) 211より取り出したパラメー
タ情報NIとり、から剰余べき来宅(MOD−POWE
il)215を用いて、認証用情報 X+=Ri mad N+ ・・・(3
4)を計算し、X!とR,をメモリ211に記憶する。
OM GEN) 214を用いて生成した乱数情報R
,とメモリ(MEM) 211より取り出したパラメー
タ情報NIとり、から剰余べき来宅(MOD−POWE
il)215を用いて、認証用情報 X+=Ri mad N+ ・・・(3
4)を計算し、X!とR,をメモリ211に記憶する。
ステップSi、: i−1,・・・、に/2のすべてに
ついて、X!とメモリ211より取り出した利用許可証
Biを連結器(cONC) 216に入力して連結し
、その出力 m −X + II −II X *yt It B
IIt −If B */z・・・(35) 又は−括署名による1ピース利用許可証Bを用いる場合
に m−X=lI−11XmzgllB −−−(35
’ )を電子コインの金額に対応する公開fi1g′m
と乱数rpと共にブラインド署名前処理器(BS PR
E−PROCESS) 217に入力し、その出力であ
る攪乱認証用情報 Z=Fe’A(rp、m) ・ =(3
6)を計算し、電子コインの金額情報と共に銀行100
へ送る。
ついて、X!とメモリ211より取り出した利用許可証
Biを連結器(cONC) 216に入力して連結し
、その出力 m −X + II −II X *yt It B
IIt −If B */z・・・(35) 又は−括署名による1ピース利用許可証Bを用いる場合
に m−X=lI−11XmzgllB −−−(35
’ )を電子コインの金額に対応する公開fi1g′m
と乱数rpと共にブラインド署名前処理器(BS PR
E−PROCESS) 217に入力し、その出力であ
る攪乱認証用情報 Z=Fe’A(rp、m) ・ =(3
6)を計算し、電子コインの金額情報と共に銀行100
へ送る。
ステップSI4:Zを受信した銀行100は、Zと電子
コインの金額に対応する秘密1d’aとをブラインド署
名生成器(BS GEN) 109に入力し、署名付
撹乱認証用情報 e=D e′h (Z) ・・・(3
7)を求め、それを利用者200に送付する。同時に利
用者2000口座から該当する金額を引き落すか、利用
者200から該当する金額を受領する。
コインの金額に対応する秘密1d’aとをブラインド署
名生成器(BS GEN) 109に入力し、署名付
撹乱認証用情報 e=D e′h (Z) ・・・(3
7)を求め、それを利用者200に送付する。同時に利
用者2000口座から該当する金額を引き落すか、利用
者200から該当する金額を受領する。
ステップS0.:銀行100より署名付撹乱認証用情報
eを受信した利用者200はブラインド署名前処理葬2
17で用いた撹乱乱数rpと銀jテ100より受信した
情報eおよび公開鍵e7.をブラインド署名後処理器(
BS POST−PROCESS) 219に入力し、
次式 %式%(38) を計算し、メモリ211に記憶する。式(38)の計算
結果は、次式 %式%(39) を満足する。即ちCは銀行が情報mに直接署名を付けた
ものと等価である。このようにして得られたCを電子コ
インとして使用する。
eを受信した利用者200はブラインド署名前処理葬2
17で用いた撹乱乱数rpと銀jテ100より受信した
情報eおよび公開鍵e7.をブラインド署名後処理器(
BS POST−PROCESS) 219に入力し、
次式 %式%(38) を計算し、メモリ211に記憶する。式(38)の計算
結果は、次式 %式%(39) を満足する。即ちCは銀行が情報mに直接署名を付けた
ものと等価である。このようにして得られたCを電子コ
インとして使用する。
次に、利用者200が電子コインCを用いて小売店30
0で支払いをする場合について説明する。
0で支払いをする場合について説明する。
利用者200と小売店300の間の処理手順例を第6C
図に示す。小売店300と利用者200のブロック構成
図を第7C図に示す。以下ではi−1、・・・、にI2
とする。
図に示す。小売店300と利用者200のブロック構成
図を第7C図に示す。以下ではi−1、・・・、にI2
とする。
ステップSi.:利用者200はメモリ(11E門)2
11より取り出した電子コインC1利用許可証Bu、利
用者情報v、、2証用情報X8、パラメータ情報Ni、
Liを小売店300に送信する。
11より取り出した電子コインC1利用許可証Bu、利
用者情報v、、2証用情報X8、パラメータ情報Ni、
Liを小売店300に送信する。
ステップS0:小売店300はディジタル署名検査器(
DIG SIG VERIFIER) 319 A、
319 Bを用いて公開鍵e′真により利用許可証
Biに示されているMi”” (Ni If V+ I
I Li)に対する銀行の署名の正当性と、公開鍵el
、により電子コインCに示されているm−(XI II
= It Xk/zll B+ If −11Bh
z□)に対する銀行の署名の正当性をそれぞれ次の検証
式vF、Aが成立するか計算して検査する。この検査が
不合格の時は以降の処理を中止する。
DIG SIG VERIFIER) 319 A、
319 Bを用いて公開鍵e′真により利用許可証
Biに示されているMi”” (Ni If V+ I
I Li)に対する銀行の署名の正当性と、公開鍵el
、により電子コインCに示されているm−(XI II
= It Xk/zll B+ If −11Bh
z□)に対する銀行の署名の正当性をそれぞれ次の検証
式vF、Aが成立するか計算して検査する。この検査が
不合格の時は以降の処理を中止する。
(Njll Vill t、t) =VFsa (Bl
) =Br mod n ・
・・(40)(Xil・・・If Xvzz II B
I II・・・If Bb7g) =VF、A(c
) =Cmod n ・・・(41)又は1M1
=V F、A (Bl =B” 1iod n−(40
’ )(XI II ・II L/211 B) =V
F、、A (c) =ステップS+、1:小売店300
はタイマ(74門ER)321より取り出した時刻t、
乱数発生器(RANDOM GEN) 303より取
り出した乱数値T1および小売店300の識別情報ID
vを問い合せ文qiとして利用者200に送付し、これ
らの情報にもとづく所定の応答を要求する。それと共に
それらの情報を使って一方向性関数器(f −(:AL
)322により Et=f(qi) =f(T Dv、 t 、r i)
・・・(42)を計算する。
) =Br mod n ・
・・(40)(Xil・・・If Xvzz II B
I II・・・If Bb7g) =VF、A(c
) =Cmod n ・・・(41)又は1M1
=V F、A (Bl =B” 1iod n−(40
’ )(XI II ・II L/211 B) =V
F、、A (c) =ステップS+、1:小売店300
はタイマ(74門ER)321より取り出した時刻t、
乱数発生器(RANDOM GEN) 303より取
り出した乱数値T1および小売店300の識別情報ID
vを問い合せ文qiとして利用者200に送付し、これ
らの情報にもとづく所定の応答を要求する。それと共に
それらの情報を使って一方向性関数器(f −(:AL
)322により Et=f(qi) =f(T Dv、 t 、r i)
・・・(42)を計算する。
ステップSi9;利用者200は受信したIDv。
tart′iを一方向性関数器(f−CAL)221へ
人力して同様の計算f(10v、t、 I1)をし、
その出力値Eiとメモリ211より取り出した情報Si
、Niを使って剰余べき来園(MOD−POW[R)2
22により3’t=Si sod Niを計算し、その
結果y、とメモリ211から読出したRi、Nうを使っ
てYi=3’1XRt sod N=を剰余乗算器(M
OD−MUL) 223を用いて計算し Y+=Rt ・Si +wod Nt ・・
・(43)を得る。このYiを応答文として小売店に送
信する。
人力して同様の計算f(10v、t、 I1)をし、
その出力値Eiとメモリ211より取り出した情報Si
、Niを使って剰余べき来園(MOD−POW[R)2
22により3’t=Si sod Niを計算し、その
結果y、とメモリ211から読出したRi、Nうを使っ
てYi=3’1XRt sod N=を剰余乗算器(M
OD−MUL) 223を用いて計算し Y+=Rt ・Si +wod Nt ・・
・(43)を得る。このYiを応答文として小売店に送
信する。
ステップS2゜:小売店300は一方向性関数器322
の出力値Ei と先に利用者200から与えられたNi
、Viから剰余べき来園(MOD−POWER)304
によりy 1 = V (sod N iを計算し、更
にその結果yムとXI sod Ntの剰余乗算を剰余
乗算器(MOD−MIIL) 313によって行いXi
×■−odNiを得る。一方、受信したY+およびLi
、Ntヲ剰余ヘキ来宅(MOD−POW[iR) 30
5 ニ入力し、Yi nod Nrを計算し、その結果
と剰余乗算器313の出力を比較器(cOMP) 3
06に入力し、YH=)(、Hvl (mod Nr
) ・・・(44)が成立するかどうかを検査する
。この検査に合格すれば小売店300はその電子コイン
Cを正当なものとみなしそれを受け取る。
の出力値Ei と先に利用者200から与えられたNi
、Viから剰余べき来園(MOD−POWER)304
によりy 1 = V (sod N iを計算し、更
にその結果yムとXI sod Ntの剰余乗算を剰余
乗算器(MOD−MIIL) 313によって行いXi
×■−odNiを得る。一方、受信したY+およびLi
、Ntヲ剰余ヘキ来宅(MOD−POW[iR) 30
5 ニ入力し、Yi nod Nrを計算し、その結果
と剰余乗算器313の出力を比較器(cOMP) 3
06に入力し、YH=)(、Hvl (mod Nr
) ・・・(44)が成立するかどうかを検査する
。この検査に合格すれば小売店300はその電子コイン
Cを正当なものとみなしそれを受け取る。
最後に、小売店300と銀行100の間の決済方法につ
いて説明する。小売店300と銀行100間の処理手順
例を第6D図に示す、ii行100と小売店300のブ
ロック構成図を第7D図に示ず。
いて説明する。小売店300と銀行100間の処理手順
例を第6D図に示す、ii行100と小売店300のブ
ロック構成図を第7D図に示ず。
ステンプS2.:小売店300は、後日メモリ(ME旧
311内の{Ni、Li、Vi、Xi、Bi、y、、c
。
311内の{Ni、Li、Vi、Xi、Bi、y、、c
。
I Dv、 t 、 r=) (i = L ・・
・、に/2)を銀行100に提出して、銀行100から
該当する金額の支払いを受ける。
・、に/2)を銀行100に提出して、銀行100から
該当する金額の支払いを受ける。
ステップSzz:銀行100は小売店300からの情報
を受けるとディジタル署名検査器(DIG 5IGVE
RIFrER) 1.1.9 A、 119 Bを用
いて公開鍵eAにより利用許可証B1に示されているM
、=(Ni、 II Li II Vi)に対する銀行
の署名の正当性を、また公開me’Aにより電子コイン
Cに示されているm = (X + II ・= II
χwyz II B + II −It B k/z)
に対する銀行の署名の正当性をそれぞれ式(40)及び
(41)が成立するがkより検査する。又は1ピース利
用許可証Bを使う場合は式(40’ )及び(41’)
で検査する。この検査にバスした時のみ次のステップに
進む。
を受けるとディジタル署名検査器(DIG 5IGVE
RIFrER) 1.1.9 A、 119 Bを用
いて公開鍵eAにより利用許可証B1に示されているM
、=(Ni、 II Li II Vi)に対する銀行
の署名の正当性を、また公開me’Aにより電子コイン
Cに示されているm = (X + II ・= II
χwyz II B + II −It B k/z)
に対する銀行の署名の正当性をそれぞれ式(40)及び
(41)が成立するがkより検査する。又は1ピース利
用許可証Bを使う場合は式(40’ )及び(41’)
で検査する。この検査にバスした時のみ次のステップに
進む。
ステップS。:TDv、t、7iを一方向性関数器(f
−CAL)112へ人力し、その出力値E; −f (
I Dv、 t、 rr )を求める。剰余べき来宅(
)100−PO匈ER) 113を使ってYi、Ni、
LiからYimodNiを計算する。また剰余べき乗算
器(MOD−POWER) 114を使ってEi、Vi
、N□からVinod Nlを計算し、更に剰余乗算器
(MOD−MUD、)115を使って剰余べき来宅11
4の出力とNi。
−CAL)112へ人力し、その出力値E; −f (
I Dv、 t、 rr )を求める。剰余べき来宅(
)100−PO匈ER) 113を使ってYi、Ni、
LiからYimodNiを計算する。また剰余べき乗算
器(MOD−POWER) 114を使ってEi、Vi
、N□からVinod Nlを計算し、更に剰余乗算器
(MOD−MUD、)115を使って剰余べき来宅11
4の出力とNi。
XiからXH−VHmod Nrを計算する。剰余べき
来宅113及び剰余乗算器115の出力結果は比較器(
cOMP) 116に入力され、Yi =Xi −V
i (mod Nr )が成立するかどうかを検査する
。
来宅113及び剰余乗算器115の出力結果は比較器(
cOMP) 116に入力され、Yi =Xi −V
i (mod Nr )が成立するかどうかを検査する
。
ステップSZ4:以上の検査に合格すれば利用者200
から提出された(Nr、Li、Vt、Xi、Bl。
から提出された(Nr、Li、Vt、Xi、Bl。
Yi、C,IDv、t、rr) Nrl、、、、、 k
/2)をメモリ (MEM) 111に記憶して、小売
店300の口座LIDv)へ該当する金額を払い込む。
/2)をメモリ (MEM) 111に記憶して、小売
店300の口座LIDv)へ該当する金額を払い込む。
以上では、高次根のべき乗根の計算の困難性に基づく対
話型の認証方式(特願昭63−36391号)に基づく
方式について実施例を説明したが、他の対話型の認証方
式においても同様の方式が実現できる。
話型の認証方式(特願昭63−36391号)に基づく
方式について実施例を説明したが、他の対話型の認証方
式においても同様の方式が実現できる。
なお、対話型の認証方式は健全性(同一の■、とXiの
組に対して2個の正しいYiが求まるとき、viに対応
する秘密情報Siが計算できる)をみたすので、同一の
電子コインを2回以上使用すると利用者のIDpが露見
する。つまり、利用者が不正に電子コインを2回使用す
ると第1実施例における第2D図で説明した場合と同様
に同一の■、とXiの組に対して検査式(44)を満た
す2組の(EiとYi)と(E′i、Vi)が得られる
の(Yi /¥i) Liミ’l/、E″−”’(mo
d Nz)が成立し、これより (Yi/ゾI)=SLil−11(IIlodNi)が
得られる。一方、 S i = V (sod N = が成り立つ。ここでり、は素数でありり、とE。
組に対して2個の正しいYiが求まるとき、viに対応
する秘密情報Siが計算できる)をみたすので、同一の
電子コインを2回以上使用すると利用者のIDpが露見
する。つまり、利用者が不正に電子コインを2回使用す
ると第1実施例における第2D図で説明した場合と同様
に同一の■、とXiの組に対して検査式(44)を満た
す2組の(EiとYi)と(E′i、Vi)が得られる
の(Yi /¥i) Liミ’l/、E″−”’(mo
d Nz)が成立し、これより (Yi/ゾI)=SLil−11(IIlodNi)が
得られる。一方、 S i = V (sod N = が成り立つ。ここでり、は素数でありり、とE。
−E′iが互いに素となるので38が計算できる。
Siは利用者200のIDpを裸のまま含んでいるので
、不正な利用者がばれる。
、不正な利用者がばれる。
以上詳細に説明したように、第2の実施例も第1の実施
例と同様に、(a)利用者のブライバシイを保障できる
、(b)二重使用を検出できる、という特徴を備えてい
る。(a)についてはブラインド署名を利用しているの
で、利用者の消費動向等のブライバシイを守ることがで
きる。(b)については電子コインが2回以上使用され
ると対話型の認証方式の性質によって利用許可証を生成
するときに用いた秘密情報が露見する。
例と同様に、(a)利用者のブライバシイを保障できる
、(b)二重使用を検出できる、という特徴を備えてい
る。(a)についてはブラインド署名を利用しているの
で、利用者の消費動向等のブライバシイを守ることがで
きる。(b)については電子コインが2回以上使用され
ると対話型の認証方式の性質によって利用許可証を生成
するときに用いた秘密情報が露見する。
ところで、利用許可証を発行する時にはに個のデータを
銀行に送り、銀行はその中からに/2個のものを選びそ
れらをそれぞれ作成するのに使用したに/2組のパラメ
ータを開示させるという手順が必要であり、処理上の負
担が大きい。しかし、この発明ではこの処理は利用者が
口座を開設する時のみである。それに対し、電子コイン
を発行する処理は比較的頻度が多いと思われるが、その
発行処理は基本的に1回のブラインド署名作成手順を行
うのみでよく、処理上の負担が少ない。ところが、第1
の実施例では利用許可証と電子コインが一体化した電子
現金として扱われているので、各電子現金の発行手順に
おいてに個のデータを銀行に送り、その中からに/2個
のものを選び開示させるという手順が必要であり処理上
の負担が大きい。
銀行に送り、銀行はその中からに/2個のものを選びそ
れらをそれぞれ作成するのに使用したに/2組のパラメ
ータを開示させるという手順が必要であり、処理上の負
担が大きい。しかし、この発明ではこの処理は利用者が
口座を開設する時のみである。それに対し、電子コイン
を発行する処理は比較的頻度が多いと思われるが、その
発行処理は基本的に1回のブラインド署名作成手順を行
うのみでよく、処理上の負担が少ない。ところが、第1
の実施例では利用許可証と電子コインが一体化した電子
現金として扱われているので、各電子現金の発行手順に
おいてに個のデータを銀行に送り、その中からに/2個
のものを選び開示させるという手順が必要であり処理上
の負担が大きい。
上述のように第2の実施例においては銀行が最初に発行
した利用許可証Bi(i=l、・・・、 k/2)又は
Bを使って任意の時に電子コインCの発行を簡便に何回
でも実行できる。このように利用許可証の発行と電子コ
インの発行を分離したこの発明の方法による電子コイン
は更に便利ないくつかの使用形態が可能である。第1の
使用形態は電子コインを他の利用者に譲渡することであ
る。第2の使用形態は同じ電子コインを複数回使用する
ことである。第3の使用形態は電子コインを他の利用者
に譲渡したり複数回使用したりすることである。
した利用許可証Bi(i=l、・・・、 k/2)又は
Bを使って任意の時に電子コインCの発行を簡便に何回
でも実行できる。このように利用許可証の発行と電子コ
インの発行を分離したこの発明の方法による電子コイン
は更に便利ないくつかの使用形態が可能である。第1の
使用形態は電子コインを他の利用者に譲渡することであ
る。第2の使用形態は同じ電子コインを複数回使用する
ことである。第3の使用形態は電子コインを他の利用者
に譲渡したり複数回使用したりすることである。
以下に第2の実施例においてこれらの機能を実施する電
子コインについて説明する。
子コインについて説明する。
利用者200aが第6B図の処理手順で発行された電子
コインCを利用者200bに譲渡する場合について説明
する。ただし利用者200bも利用者200aと同様な
手順で銀行から得た利用許可証を有しているものとする
。利用者200aと利用者200bの間の処理手順の例
を第8A図に示す。利用者200aと利用者200bの
ブロック構成図を第9A図に示す。以下では、i−1゜
2、・・・、に/2とする。なお、以下で記号の上にへ
のついた変数はすべて譲り受け人である利用者200b
に関するものである。また、変数の意味は特に断わらな
い限り、これまでに定義した意味に従うものとする。
コインCを利用者200bに譲渡する場合について説明
する。ただし利用者200bも利用者200aと同様な
手順で銀行から得た利用許可証を有しているものとする
。利用者200aと利用者200bの間の処理手順の例
を第8A図に示す。利用者200aと利用者200bの
ブロック構成図を第9A図に示す。以下では、i−1゜
2、・・・、に/2とする。なお、以下で記号の上にへ
のついた変数はすべて譲り受け人である利用者200b
に関するものである。また、変数の意味は特に断わらな
い限り、これまでに定義した意味に従うものとする。
ステップS2 :利用者200aはメモリ (MEM)
211より取り出した利用許可証Bi又はBi電子コイ
ンC1利用者情報V8.認証用情報Xi。
211より取り出した利用許可証Bi又はBi電子コイ
ンC1利用者情報V8.認証用情報Xi。
パラメータ情報Ni、Liを利用者200bに送信する
。
。
ステップS2 :利用者200bはディジタル署名検査
器(DIG SIG VERIFIER) 519
A、 519Bを用いて公開鍵eAにより利用許可証
Biに示されているMi= (Ni II Vi II
Li)に対する銀行の署名の正当性を、また公開鍵e
′6により電子コインCに示されているm= (Xll
L・llX+=zzllB111・・・i13に/z)
に対する銀行の署名の正当性をそれぞれ次の検証式(4
5) 、 (46)が成立するか計算して検査する。1
ピース利用許可証Bを使う場合は弐(45’ )及び(
46’)により検査する。この検査が不合格のときは以
降の処理を中止する。
器(DIG SIG VERIFIER) 519
A、 519Bを用いて公開鍵eAにより利用許可証
Biに示されているMi= (Ni II Vi II
Li)に対する銀行の署名の正当性を、また公開鍵e
′6により電子コインCに示されているm= (Xll
L・llX+=zzllB111・・・i13に/z)
に対する銀行の署名の正当性をそれぞれ次の検証式(4
5) 、 (46)が成立するか計算して検査する。1
ピース利用許可証Bを使う場合は弐(45’ )及び(
46’)により検査する。この検査が不合格のときは以
降の処理を中止する。
(Ni II Vi II Li) =V FaA(B
i) =B= mod n ・
・・(45)(Xi11・・・II X1=zz II
B + It・・・tlBhz□)=VF、A(c1
=C”Amodn ・ ・ ・(46)・ ・ ・
(45’) (x、II・・・1[χ+zzll B) =V F
、・A(c)=C1A mod n
・ ・ ・ (46′ )ステンブSi:譲渡人
である利用者200aから送ってきた利用者情報Vi及
び認証用情報Xiが確がk譲渡穴自身のものであるかを
確認するため利用者200bは乱数発生器(RANII
OM GEN) 503より取り出した値ε五を質問
文として利用者200aへ送付する。
i) =B= mod n ・
・・(45)(Xi11・・・II X1=zz II
B + It・・・tlBhz□)=VF、A(c1
=C”Amodn ・ ・ ・(46)・ ・ ・
(45’) (x、II・・・1[χ+zzll B) =V F
、・A(c)=C1A mod n
・ ・ ・ (46′ )ステンブSi:譲渡人
である利用者200aから送ってきた利用者情報Vi及
び認証用情報Xiが確がk譲渡穴自身のものであるかを
確認するため利用者200bは乱数発生器(RANII
OM GEN) 503より取り出した値ε五を質問
文として利用者200aへ送付する。
ステップS4 :利用者200aは受信したC1とメモ
リ(MEM) 211より取り出した自分の情報Si
、Niより剰余べき来宅(?l0D−POWER) 2
22を使ってSiIIod N!を計算し、その結果と
メモリ 211から読出したRi、Niから剰余乗算器
(MOD−MUL) 223を用いてY+=Ri’
Si■odNt を求め、Yiを応答文として利用者200bに送信する
。
リ(MEM) 211より取り出した自分の情報Si
、Niより剰余べき来宅(?l0D−POWER) 2
22を使ってSiIIod N!を計算し、その結果と
メモリ 211から読出したRi、Niから剰余乗算器
(MOD−MUL) 223を用いてY+=Ri’
Si■odNt を求め、Yiを応答文として利用者200bに送信する
。
ステップS5 :利用者200bはεiと受信したVi
、Nrを剰余べき来園(MOD−POWEI?) 5
04に入力して V i mod N 。
、Nrを剰余べき来園(MOD−POWEI?) 5
04に入力して V i mod N 。
を計算し、この結果と受信したXIとNiを剰余乗算器
(MOD−MUL) 513に人力してX(−Vl s
od Nt を計算し、一方、受信したYi、LiとNiを剰余べき
来園(MOD−PCVER) 505に入力してYr
sod N1 を計算し、この結果と剰余乗算器513の出力を比較器
(cOMP) 506に入力して、一致するかどうか
を検査する。一致すればVi、X□は譲渡穴200a自
身のものであると判定する。
(MOD−MUL) 513に人力してX(−Vl s
od Nt を計算し、一方、受信したYi、LiとNiを剰余べき
来園(MOD−PCVER) 505に入力してYr
sod N1 を計算し、この結果と剰余乗算器513の出力を比較器
(cOMP) 506に入力して、一致するかどうか
を検査する。一致すればVi、X□は譲渡穴200a自
身のものであると判定する。
ステップSi:譲り受入である利用者200bは自分の
利用許可証言、、・・・、 1i、、、 (又は官)
に譲渡穴200aの署名を付けてもらうために官、。
利用許可証言、、・・・、 1i、、、 (又は官)
に譲渡穴200aの署名を付けてもらうために官、。
・・・IL/□ (又は官)を利用者200aに送る。
ステップSi :譲渡穴200aは送られてきた官、・
・・r’fl*y□ (又は官)に例えば次式(47)
又は(47’)のディジタル署名関数を計算する署名器
(DIG SIG GEN) 233を使って自分の署
名を付けて譲渡証Tとして譲り受入200bに送り返す
。
・・r’fl*y□ (又は官)に例えば次式(47)
又は(47’)のディジタル署名関数を計算する署名器
(DIG SIG GEN) 233を使って自分の署
名を付けて譲渡証Tとして譲り受入200bに送り返す
。
T= (f+ II −tl 13+/*)”’mod
Ni ・・・(47)T−官1′31IlodNi・
・・(47′)ただしNiは1≦i≦に/2の範囲のあ
らかじめ決めた1つのiについての値を使用する。
Ni ・・・(47)T−官1′31IlodNi・
・・(47′)ただしNiは1≦i≦に/2の範囲のあ
らかじめ決めた1つのiについての値を使用する。
ステップSil :利用者200bは利用者200aの
公開鍵Niと受信したTをディジタル署名検査器(DI
G SIG VERIFIER) 51.9 Gに入力
してTの正当性を次式が成立するがkより検査する。た
だしNiは上述のあらかじめ決めた1つのiに対する値
である。
公開鍵Niと受信したTをディジタル署名検査器(DI
G SIG VERIFIER) 51.9 Gに入力
してTの正当性を次式が成立するがkより検査する。た
だしNiは上述のあらかじめ決めた1つのiに対する値
である。
(f、 II ・1口に*yz) =T’ l1od
Nr ・・(48)官−T’ +l1od Nt
・・・ (48’ )この検査に合格す
れば利用者200bはその電子コインCを正当なものと
みなしそれを受け取る。
Nr ・・(48)官−T’ +l1od Nt
・・・ (48’ )この検査に合格す
れば利用者200bはその電子コインCを正当なものと
みなしそれを受け取る。
次に、利用者200bが利用者200aより譲渡された
電子コインを用いて小売店300で支払いをする場合に
ついて説明する。利用者200bと小売店300の間の
処理手順例を第8B図に示す。小売店300と利用者2
00bのブロック構成図を第9B図に示す。以下ではi
=l、・・・k/2とする。
電子コインを用いて小売店300で支払いをする場合に
ついて説明する。利用者200bと小売店300の間の
処理手順例を第8B図に示す。小売店300と利用者2
00bのブロック構成図を第9B図に示す。以下ではi
=l、・・・k/2とする。
ステップSi二利用者200bはメモリ(MUM)51
1より取り出した受信情報グループ(N。
1より取り出した受信情報グループ(N。
Li、Vi、X□、Bi、Yi、C,T、) とメモリ
511より取り出した自分の情報グループ(Ri,f:
i+、gt、εi)を小売店300に送信する。
511より取り出した自分の情報グループ(Ri,f:
i+、gt、εi)を小売店300に送信する。
ステップSi゜:小売店300はディジタル署名検査器
(DIG SIG VERIFIER) 319 A、
319 Bを用いて公開1!e^により利用者20
0aの利用許可証Biに示された(Nt It vt
II Lり r、=対する銀行の署名の正当性を、また
、公開鍵e/Aにより電子コインCに示された(x、I
I・・・Xl+/□l B 、 II・・・1lB=z
z)に対する銀行の署名の正当性を両式(45)、 (
46)に従って検査する。1ピース利用許可証Bを使用
する場合は(45’ ) ; (46’ )により検査
する。さらに譲渡証Tに示されている(f、ll・・・
II官に、2)に対する利用者200aの署名の正当性
を両式(4日)に従ったディジタル署名検査器(DIG
SIG VEi?IFIEi+) 319 Cニより
検査する。Bを使う場合は式(48”Iを使って検査す
る。
(DIG SIG VERIFIER) 319 A、
319 Bを用いて公開1!e^により利用者20
0aの利用許可証Biに示された(Nt It vt
II Lり r、=対する銀行の署名の正当性を、また
、公開鍵e/Aにより電子コインCに示された(x、I
I・・・Xl+/□l B 、 II・・・1lB=z
z)に対する銀行の署名の正当性を両式(45)、 (
46)に従って検査する。1ピース利用許可証Bを使用
する場合は(45’ ) ; (46’ )により検査
する。さらに譲渡証Tに示されている(f、ll・・・
II官に、2)に対する利用者200aの署名の正当性
を両式(4日)に従ったディジタル署名検査器(DIG
SIG VEi?IFIEi+) 319 Cニより
検査する。Bを使う場合は式(48”Iを使って検査す
る。
ステップSi:小売店300は更に、受信したt i+
vi、 Niを剰余べき来園(MOD−POWER)
314に入力してVl mod Niを計算し、その
結果と受信したXi、Niを剰余乗算器(MOD−MU
L) 313に入力してXi・vjIlodNiを計算
する。一方受信したYi、Ni、Liを剰余べき来園(
Moil−POWER)315に入力してY Hsod
N tを計算し、その結果と剰余乗算器313の出力
とを比較器(cOMP)が成立するかどうかを検査する
。この式が成立すれば受信した情報Vi、Xiは確がk
譲渡穴である利用者20.0 a自身のものであると判
定する。
vi、 Niを剰余べき来園(MOD−POWER)
314に入力してVl mod Niを計算し、その
結果と受信したXi、Niを剰余乗算器(MOD−MU
L) 313に入力してXi・vjIlodNiを計算
する。一方受信したYi、Ni、Liを剰余べき来園(
Moil−POWER)315に入力してY Hsod
N tを計算し、その結果と剰余乗算器313の出力
とを比較器(cOMP)が成立するかどうかを検査する
。この式が成立すれば受信した情報Vi、Xiは確がk
譲渡穴である利用者20.0 a自身のものであると判
定する。
ステップSi:小売店300は更にディジタル署名検査
器(DIG SIG VERIFIER) 319 D
を用いて公開鍵eAにより譲り受入である利用者200
bの利用許可証言、に示されたQ= = (FJr I
f Vi Itfl’t)に対する銀行の署名の正当性
を両式(45)と同様の次式(50)に従って検査する
。1ピース利用許可証Bの場合は(50”)を使う。
器(DIG SIG VERIFIER) 319 D
を用いて公開鍵eAにより譲り受入である利用者200
bの利用許可証言、に示されたQ= = (FJr I
f Vi Itfl’t)に対する銀行の署名の正当性
を両式(45)と同様の次式(50)に従って検査する
。1ピース利用許可証Bの場合は(50”)を使う。
(t3i It ’?III Ut) = V F
−a f官i 1−官l1lOdn・・・(50) rout =VF、A (f) =官#Amod n
・ ・ ・ (50’ ) この検査が不合格の時は以降の処理を中止する。
−a f官i 1−官l1lOdn・・・(50) rout =VF、A (f) =官#Amod n
・ ・ ・ (50’ ) この検査が不合格の時は以降の処理を中止する。
ステップSi3:小売店300は譲り受入である利用者
200bの利用者情報、が確がk譲り受入200b自身
のものであるかを確認するため、タイマ(TI?1ER
) 321より取り出した時刻も、乱数発生器(RAN
DO門GEN)303より取り出した値T、および小売
店300の識別情報IDvを問い合せ文qiとして利用
者200bに送付する。それと共に一方向性関数器(f
−CAL)322に問い合せ文q!の成分子Dv、t、
7.を入力してE=f (qt)=f (IDv、t、
ri)を計算する。
200bの利用者情報、が確がk譲り受入200b自身
のものであるかを確認するため、タイマ(TI?1ER
) 321より取り出した時刻も、乱数発生器(RAN
DO門GEN)303より取り出した値T、および小売
店300の識別情報IDvを問い合せ文qiとして利用
者200bに送付する。それと共に一方向性関数器(f
−CAL)322に問い合せ文q!の成分子Dv、t、
7.を入力してE=f (qt)=f (IDv、t、
ri)を計算する。
ステップS0:利用者200bは受信したqi=(ID
v、t、 γ1)を一方向性関数器(f−CAL)5
22へ入力し、その出力値E五−f(IDv、t、
Yt)とメモリ511より取り出した自身の情報室=、
Riより剰余べき来宅(MOD−POWER) 523
を使って3 h sod Q 1を計算し、その結果と
メモリ511から読出したφ13Riから剰余乗算器(
MOD−MOL) 524を用いて、Vi =?i
・gi mad¥Ji’ −−−(51)を求め
、?′iを応答文として小売店に送信する。
v、t、 γ1)を一方向性関数器(f−CAL)5
22へ入力し、その出力値E五−f(IDv、t、
Yt)とメモリ511より取り出した自身の情報室=、
Riより剰余べき来宅(MOD−POWER) 523
を使って3 h sod Q 1を計算し、その結果と
メモリ511から読出したφ13Riから剰余乗算器(
MOD−MOL) 524を用いて、Vi =?i
・gi mad¥Ji’ −−−(51)を求め
、?′iを応答文として小売店に送信する。
なお、蓋1は次式(52)の関係を満足する値であり、
利用者200aから電子コインCを譲り受けた後蓋・
=)(、l1od pi ・ ・ ・
(52)ここで1/亡、は剰余N1におけるt!の指数
成分としての逆面であり、次式 %式%) を満す。P i + Qi + f:8から逆面計算に
より1/″f:iが計算される。
利用者200aから電子コインCを譲り受けた後蓋・
=)(、l1od pi ・ ・ ・
(52)ここで1/亡、は剰余N1におけるt!の指数
成分としての逆面であり、次式 %式%) を満す。P i + Qi + f:8から逆面計算に
より1/″f:iが計算される。
ステップs+5:小売店300は一方向性関数器322
の出力値Eiと受信した1山を剰余べき来宅(MOD−
POWER) 304に人力して=’Pod飢を計算し
、その結果とXi 、 ′FJ′iを剰余乗算器(MO
D−MUL) 313に入力してx、−Hsod f;
j+を得る。一方受信した?五とQ= 、t=を剰余べ
き来宅(MOD−POWER) 305に入力して9+
modRiを計算し、その結果と剰余乗算器313の出
出力を比較器(GOMP) 306に入力し、9i
:Xi−= (mood ’Fjl) ・・・(
54)が成立するかどうかを検査する。この検査に合格
すれば情報、は譲り受入である利用者200b自身のも
のであると認め、小売店300はその電子コインCを正
当なものとみなしそれを受け取る。
の出力値Eiと受信した1山を剰余べき来宅(MOD−
POWER) 304に人力して=’Pod飢を計算し
、その結果とXi 、 ′FJ′iを剰余乗算器(MO
D−MUL) 313に入力してx、−Hsod f;
j+を得る。一方受信した?五とQ= 、t=を剰余べ
き来宅(MOD−POWER) 305に入力して9+
modRiを計算し、その結果と剰余乗算器313の出
出力を比較器(GOMP) 306に入力し、9i
:Xi−= (mood ’Fjl) ・・・(
54)が成立するかどうかを検査する。この検査に合格
すれば情報、は譲り受入である利用者200b自身のも
のであると認め、小売店300はその電子コインCを正
当なものとみなしそれを受け取る。
このように利用42 o o bはステップSI4にお
いて自分自身の乱数情報Riを使うかわりにXzの関数
である式(52)で与えられる蓋8を使って(45)の
応答文?′iを作成するので、小売店300が行うステ
ップSI5の検査式(54)の計算には利用者200a
の認証用情報Xiを使うことができる。
いて自分自身の乱数情報Riを使うかわりにXzの関数
である式(52)で与えられる蓋8を使って(45)の
応答文?′iを作成するので、小売店300が行うステ
ップSI5の検査式(54)の計算には利用者200a
の認証用情報Xiを使うことができる。
つまり譲渡された電子コインを使用する利用者200b
は自分の認証用情報Ytを小売店300に提示する必要
がない。
は自分の認証用情報Ytを小売店300に提示する必要
がない。
最後に、小売店300と銀行100の間の決済方法につ
いて説明する。小売店300と銀行100間の処理手順
例を第8C図に示す。銀行100と小売店300のブロ
ック構成図を第9C図に示す。
いて説明する。小売店300と銀行100間の処理手順
例を第8C図に示す。銀行100と小売店300のブロ
ック構成図を第9C図に示す。
ステップS4:小売店300は、後日、メモリ(MEM
) 11.1内の利用者200aに関する情報グループ
(Nt、Li、Vt、Xi、Bi、Yi、C,T)およ
び利用者200bと小売店300に関する情報グループ
(Q+、 Ui、 Vi、 lit、 9+、ε!、
I Dv、 t+rt)を銀行100に提出する(i=
l、・・・、に/2)。
) 11.1内の利用者200aに関する情報グループ
(Nt、Li、Vt、Xi、Bi、Yi、C,T)およ
び利用者200bと小売店300に関する情報グループ
(Q+、 Ui、 Vi、 lit、 9+、ε!、
I Dv、 t+rt)を銀行100に提出する(i=
l、・・・、に/2)。
ステップS+y:i!i行100はディジタル署名検査
器(DIG SrG VERIFIER) 119
A、 119 Bを用いて公開鍵eAにより利用者2
00aの利用許可証Biに示された(Nt II Vi
It Lりに対する銀行の署名の正当性を、また公開
1!e’aにより電子コインCに示された(Xil+・
・・lIX*z霊If B ! 11・・・1lBhz
□)に対する銀行の署名の正当性を前式(45)、 (
46)に従って検査する。さらに、譲渡証Tに示されて
いる([、II・・・1lfi、、□)に対する利用者
200aの署名の正当性を両式(48)に従ったディジ
タル署名検査器(DIG SIG VERrFIER)
119Cにより検査する。1ピース利用許可証Bの
場合はそれぞれ式(45’ )、 (46”)及び(4
8’ )を使って検査する。
器(DIG SrG VERIFIER) 119
A、 119 Bを用いて公開鍵eAにより利用者2
00aの利用許可証Biに示された(Nt II Vi
It Lりに対する銀行の署名の正当性を、また公開
1!e’aにより電子コインCに示された(Xil+・
・・lIX*z霊If B ! 11・・・1lBhz
□)に対する銀行の署名の正当性を前式(45)、 (
46)に従って検査する。さらに、譲渡証Tに示されて
いる([、II・・・1lfi、、□)に対する利用者
200aの署名の正当性を両式(48)に従ったディジ
タル署名検査器(DIG SIG VERrFIER)
119Cにより検査する。1ピース利用許可証Bの
場合はそれぞれ式(45’ )、 (46”)及び(4
8’ )を使って検査する。
ステップSi:εi、 V i、 N iを剰余べき来
園(MOD−POWER) 117 ニ入力してvl
l1OdNiを計算し、その結果とNi、Xiを剰余乗
算器(MOD−MUL) 118に人力してXi
・Vi sod Niを計算する。一方Yi、Ni、L
iを剰余べき来園(Mol)−POWER) 103
に入力してV4 mad N(を計算し、その結果と剰
余乗算器118の出力を比較器(cORP) 121
に人力し、両式49と伺し次式Y+ =)(、Hvi
(mod Ni)が成立するかどうかを検査する。こ
の式が成立すれば情報Vi 、Xiは確がk譲渡穴20
0a自身のものであると判定する。
園(MOD−POWER) 117 ニ入力してvl
l1OdNiを計算し、その結果とNi、Xiを剰余乗
算器(MOD−MUL) 118に人力してXi
・Vi sod Niを計算する。一方Yi、Ni、L
iを剰余べき来園(Mol)−POWER) 103
に入力してV4 mad N(を計算し、その結果と剰
余乗算器118の出力を比較器(cORP) 121
に人力し、両式49と伺し次式Y+ =)(、Hvi
(mod Ni)が成立するかどうかを検査する。こ
の式が成立すれば情報Vi 、Xiは確がk譲渡穴20
0a自身のものであると判定する。
ステップS4.:デイジタル署名検査具119Dを用い
て公開鍵e、により譲り受け人200bの利用許可証言
、に示され、?、: (Ni II Vi II Ui
) ニ対する銀行の署名の正当性を両式(50)と同じ
式により検査する。lピース利用許可証Bの場合は式(
50’)を使って検査する。またql=(IDv。
て公開鍵e、により譲り受け人200bの利用許可証言
、に示され、?、: (Ni II Vi II Ui
) ニ対する銀行の署名の正当性を両式(50)と同じ
式により検査する。lピース利用許可証Bの場合は式(
50’)を使って検査する。またql=(IDv。
t、 r+)を一方向性関数器(f−CAL)112
へ入力し、Ei=f (IDv、t、 Tr)を計算
する。
へ入力し、Ei=f (IDv、t、 Tr)を計算
する。
その出力(IiE i と1.Riを剰余べき来園(M
ODPOWER) 11.4に入力して(nod Qr
を計算し、その結果とXi 、p+を剰余乗算器(MO
D−MUL)115に人力してXi・、mod Q=を
得る。
ODPOWER) 11.4に入力して(nod Qr
を計算し、その結果とXi 、p+を剰余乗算器(MO
D−MUL)115に人力してXi・、mod Q=を
得る。
方?t、 pi、 i)iを剰余べき来園(MOD−P
OWER)113に入力して9 (l1od Q lを
計算する。剰余乗算器115と剰余べき乗器113の出
力を比較器(GOMP)、 11.6に入力し、両式(
54)と同じ次式が成立するかどうかを検査する。この
式が成立すれば情報、が確がk譲り受入200b自身の
ものであると判定する。
OWER)113に入力して9 (l1od Q lを
計算する。剰余乗算器115と剰余べき乗器113の出
力を比較器(GOMP)、 11.6に入力し、両式(
54)と同じ次式が成立するかどうかを検査する。この
式が成立すれば情報、が確がk譲り受入200b自身の
ものであると判定する。
ステップS2゜:以上の検査に合格すれば利用者200
aから提出された情報{Ni、Li、Vi、Xi。
aから提出された情報{Ni、Li、Vi、Xi。
Bi、Yi、C,T)および利用者200bと小売店3
00に関する情報(Ni、亡1、8.官・、9I、ε・
。
00に関する情報(Ni、亡1、8.官・、9I、ε・
。
IDv、t、rtl (t−1,−、に/2)をメモ
!J 111に記憶して、小売店300の口座IDvへ
該当する金額を払い込む。
!J 111に記憶して、小売店300の口座IDvへ
該当する金額を払い込む。
尚、上述の電子コインの譲渡で説明した利用者200a
が電子コインを不正に二重使用すれば前に説明したのと
同様に同じくり、Xi)の組が2つ存在することになり
、銀行100における第2D図の処理フローにより二重
使用が検出され、かつその使用者が特定される。それに
対し、電子コインを譲渡された利用者200bが電子コ
インを不正に二重使用したのを検出するためには、銀行
は受信した(91.Xi)の組に対し同じ値のものがす
でにメモリ111内に記憶されているか検出すればよい
、もし同じ値の(7t、Xt)があった場合には、メモ
リ内にあるその組に対応する?、。
が電子コインを不正に二重使用すれば前に説明したのと
同様に同じくり、Xi)の組が2つ存在することになり
、銀行100における第2D図の処理フローにより二重
使用が検出され、かつその使用者が特定される。それに
対し、電子コインを譲渡された利用者200bが電子コ
インを不正に二重使用したのを検出するためには、銀行
は受信した(91.Xi)の組に対し同じ値のものがす
でにメモリ111内に記憶されているか検出すればよい
、もし同じ値の(7t、Xt)があった場合には、メモ
リ内にあるその組に対応する?、。
ViX (Yi/Y’ i)=に+
ミ宮i (mod カ、)
から宮′iを計算することができる。
(電子コインの繰返し使用]
第2の実施例における第6B図の手順に従って利用者2
00が得た電子コインを複数回使用する方法について説
明する。ここでは利用者200がk回の利用が許されて
いる電子コインをj回目(j≦K)に利用する際の利用
手順を示す。これは、他の利用者200に譲渡する場合
でも、小売店300に支払う場合でも可能であるが、こ
こでは小売店300での支払いに利用する場合を例にと
り説明する。ここで、利用者200と小売店300の間
の処理手順例を第10図に示し、利用者200及び小売
店300のブロック構成図を第11図に示す。以下では
i=l、・・・、に/2とする。
00が得た電子コインを複数回使用する方法について説
明する。ここでは利用者200がk回の利用が許されて
いる電子コインをj回目(j≦K)に利用する際の利用
手順を示す。これは、他の利用者200に譲渡する場合
でも、小売店300に支払う場合でも可能であるが、こ
こでは小売店300での支払いに利用する場合を例にと
り説明する。ここで、利用者200と小売店300の間
の処理手順例を第10図に示し、利用者200及び小売
店300のブロック構成図を第11図に示す。以下では
i=l、・・・、に/2とする。
ステップSi :利用者200はメモリ211より取り
出した(Ni、L+、 ■+、Bi、Xt、C)を小売
店300に送信する。
出した(Ni、L+、 ■+、Bi、Xt、C)を小売
店300に送信する。
ステップSよ =小売店300はディジタル署名検査器
(DIG SIG VERIjrER) 319 A
及び319Bを用いて公開鍵e、により利用者200の
利用許可証Biに示されている(Nt II Vl I
I Li)に対する銀行の署名の正当性を、また公開鍵
e”Aにより電子コインCに示されている(Xil・・
・11L/z II B I II・・・llB*z□
)に対する銀行の署名の正当性を両式(40)及び(4
1)に従って検査する。
(DIG SIG VERIjrER) 319 A
及び319Bを用いて公開鍵e、により利用者200の
利用許可証Biに示されている(Nt II Vl I
I Li)に対する銀行の署名の正当性を、また公開鍵
e”Aにより電子コインCに示されている(Xil・・
・11L/z II B I II・・・llB*z□
)に対する銀行の署名の正当性を両式(40)及び(4
1)に従って検査する。
1ピース利用許可証Bを使う場合は式(40”)及び(
41’)を使って検査する。この検査が不合格のときは
以降の処理を中止する。
41’)を使って検査する。この検査が不合格のときは
以降の処理を中止する。
ステップSi:小売店300はタイマ(Tl門Ei?)
321より取り出した時刻t、乱数発生器(RANDO
M GEN) 303より取り出した乱数値γ。
321より取り出した時刻t、乱数発生器(RANDO
M GEN) 303より取り出した乱数値γ。
および小売店の識別情報IDpを問い合せ文qiとして
利用者200に送付する。それと共にそれらの情報を一
方向性関数器(f−CAL)322に入力してE(=f
(I Dv、t、r+)を計算する。
利用者200に送付する。それと共にそれらの情報を一
方向性関数器(f−CAL)322に入力してE(=f
(I Dv、t、r+)を計算する。
ステップS4 :利用者200は受信したiDv。
t T′iを一方向性関数器(f−CAL)221へ
入力し、その出力値EI=f (IDv、t、it)メ
モリ211より取り出した情報Si、Niを剰余べき東
回(MOD−POWER) 222に入力してSimo
dNiを計算する。その計算結果とNi及び後いて、 を求め、jと共にYiを小売店の問い合わせに対する応
答文として小売店300に送信する。ここべき東回(M
OD−P(lW[!R) 253を使って事前に計算し
ておく(事前に計算してメモリに格納しておいてもよ(
b)。
入力し、その出力値EI=f (IDv、t、it)メ
モリ211より取り出した情報Si、Niを剰余べき東
回(MOD−POWER) 222に入力してSimo
dNiを計算する。その計算結果とNi及び後いて、 を求め、jと共にYiを小売店の問い合わせに対する応
答文として小売店300に送信する。ここべき東回(M
OD−P(lW[!R) 253を使って事前に計算し
ておく(事前に計算してメモリに格納しておいてもよ(
b)。
1/Liは、剰余Niにおけるり、の指数成分としての
逆光であり、次式 %式%(( を満たす、P!、Q、、Liをメモリ(MEM) 21
1から読出して逆光計算器(rNV ELEM CAL
) 252に入力して1/L1を計算する。またXl
の関数f、(Xi)は一方向性関数器(f−CAL)2
51によって実行されるjをパラメータとする一方向性
関数であり、例えば次のような実現例がある。
逆光であり、次式 %式%(( を満たす、P!、Q、、Liをメモリ(MEM) 21
1から読出して逆光計算器(rNV ELEM CAL
) 252に入力して1/L1を計算する。またXl
の関数f、(Xi)は一方向性関数器(f−CAL)2
51によって実行されるjをパラメータとする一方向性
関数であり、例えば次のような実現例がある。
ここでfは適当な一方向性関数とする。
r、(X) =f (xll j) ・・−(
58)ステップSi:小売店300は受信したjとメモ
リ(MEM) 311から読出したXlとを一方向性関
数器f−(cAL)350に人力し、jをパラメータと
する式(58)と同様な関数fj(Xi)を計算する。
58)ステップSi:小売店300は受信したjとメモ
リ(MEM) 311から読出したXlとを一方向性関
数器f−(cAL)350に人力し、jをパラメータと
する式(58)と同様な関数fj(Xi)を計算する。
一方向性関数器322の出力値Eiと受信したVi、N
iを剰余べき東回(MOD−POWER) 304に入
力してVl mod Nl を計算し、その結果とfj
(Xi)及びN1を剰余乗算器(MOD−MOL) 3
13に入力してf+(Xt) ・Vi (sod N
t)を得る。
iを剰余べき東回(MOD−POWER) 304に入
力してVl mod Nl を計算し、その結果とfj
(Xi)及びN1を剰余乗算器(MOD−MOL) 3
13に入力してf+(Xt) ・Vi (sod N
t)を得る。
またYi、Nt、Liを剰余べき東回(MOD−POW
ER)305に入力してYillOdNiを計算する。
ER)305に入力してYillOdNiを計算する。
剰余べき乗器305と剰余乗算器313の出力を比較器
(GOMP) 306に入力し、次式%式%) が成立するかどうかを検査する。この式が成立すれば利
用者200は確がk自分の秘密情報Siを使って応答文
Yiを正しく作成したと判断し、小売店300はその電
子コインを正当なものとみなしそれを受け取る。
(GOMP) 306に入力し、次式%式%) が成立するかどうかを検査する。この式が成立すれば利
用者200は確がk自分の秘密情報Siを使って応答文
Yiを正しく作成したと判断し、小売店300はその電
子コインを正当なものとみなしそれを受け取る。
小売店300と銀行100の間の処理手順と機能ブロッ
ク図はそれぞれ第6D図及び第7D図とほとんど同じな
のでその詳細な説明は省略する。
ク図はそれぞれ第6D図及び第7D図とほとんど同じな
のでその詳細な説明は省略する。
第6D図の処理手順と異なる点はステップS4lにおい
て小売店300から銀行100に送られる情報の中に電
子コインCの使用回数jを追加している点である。又、
銀行100において電子コインの不正二重使用を検出す
るには、第2D図のステップSetにおいて受信した(
Vl、 Xi、 j )と同じ値の組がメモリ11.1
内に既に記憶されているか探しくただし1≦j≦K)、
以下の処理はSCt〜SC5と同じである。即ち同一電
子コインCに対し同じ値の情報(Vi、 Xi、 j
)の組が2つあった場合、それらに対応する異なる他の
情報の&u(Ei。
て小売店300から銀行100に送られる情報の中に電
子コインCの使用回数jを追加している点である。又、
銀行100において電子コインの不正二重使用を検出す
るには、第2D図のステップSetにおいて受信した(
Vl、 Xi、 j )と同じ値の組がメモリ11.1
内に既に記憶されているか探しくただし1≦j≦K)、
以下の処理はSCt〜SC5と同じである。即ち同一電
子コインCに対し同じ値の情報(Vi、 Xi、 j
)の組が2つあった場合、それらに対応する異なる他の
情報の&u(Ei。
yt)及び(E’、、ゾ8)が存在することになり、前
述のように対応する秘密情報Siを計算で求めることが
可能となる。SIには識別情報IDpが入っているので
二重使用者を特定することができる。
述のように対応する秘密情報Siを計算で求めることが
可能となる。SIには識別情報IDpが入っているので
二重使用者を特定することができる。
〔j回目の使用における電子コインの譲渡〕第2実施例
によれば前述の電子コインの譲渡と複数回使用を組合せ
て実施することも可能である。
によれば前述の電子コインの譲渡と複数回使用を組合せ
て実施することも可能である。
以下に利用者200aが使用j回目において電子コイン
Cを利用者200bに譲渡し、利用者200bが小売店
300での支払いに利用する場合について説明する。
Cを利用者200bに譲渡し、利用者200bが小売店
300での支払いに利用する場合について説明する。
譲渡穴である利用者200aと譲り受入である利用者2
00bとの間の処理手順を第1.2A図に、またその場
合の利用者200aと200bの機能ブロック図を第1
3A図に示す。以下ではi=1゜・・・、に/2とする
。
00bとの間の処理手順を第1.2A図に、またその場
合の利用者200aと200bの機能ブロック図を第1
3A図に示す。以下ではi=1゜・・・、に/2とする
。
ステップS2 :まず譲渡穴200aはメモリ(MHM
) 211から読出した自分の有している情報(Ni、
Li、Vt、Bl、Xi、C)を譲受人200 bニ送
信する。
) 211から読出した自分の有している情報(Ni、
Li、Vt、Bl、Xi、C)を譲受人200 bニ送
信する。
ステップS2 :譲受人200bはディジタル署名検査
器(DIG SIG VEi?TFIER) 519
A、 519Bを用いて、公開鍵e、により譲渡穴
200aの利用許可証BiC又はB)に示されているM
、=Ni II vi II r、i又はMl、・・・
、 M、k2、に対する銀行の署名の正当性を、前検証
式(45)又は(45’ )を使って、また公開me’
aにより電子コインCに示されているX111・・・I
I X++zz II B I II・・・IIB−/
−又はXil・・・11 X −y−II Bに対する
銀行の署名の正当性を前検証式(46)又は(46’
)を使ってそれぞれ検査する。この検査が不合格の場合
は以降の処理を中止する。
器(DIG SIG VEi?TFIER) 519
A、 519Bを用いて、公開鍵e、により譲渡穴
200aの利用許可証BiC又はB)に示されているM
、=Ni II vi II r、i又はMl、・・・
、 M、k2、に対する銀行の署名の正当性を、前検証
式(45)又は(45’ )を使って、また公開me’
aにより電子コインCに示されているX111・・・I
I X++zz II B I II・・・IIB−/
−又はXil・・・11 X −y−II Bに対する
銀行の署名の正当性を前検証式(46)又は(46’
)を使ってそれぞれ検査する。この検査が不合格の場合
は以降の処理を中止する。
ステップS3 :譲受人200bは乱数発生器(RAN
DOM GBN) 503より発生した乱数εiを問
い合わせ文として譲渡穴200aに送る。
DOM GBN) 503より発生した乱数εiを問
い合わせ文として譲渡穴200aに送る。
ステップS4 :譲渡穴200aは受信したε。
とメモリ211から読出した自分の情報S+、Ntを剰
余べき来宅(MOD−POWER) 222に入力して
ε 。
余べき来宅(MOD−POWER) 222に入力して
ε 。
SHl1od N4を計算する。その計算結果とメモリ
211から読出したNi及び申、と剰余乗算器(MOD
−MOL) 223に入力して<J> ε益 Yr =’?r ・Si sod N1を計算
し、jと共にYIを応答文として譲受人魚に説明したも
のと同じであり、式(56)、 (57)。
211から読出したNi及び申、と剰余乗算器(MOD
−MOL) 223に入力して<J> ε益 Yr =’?r ・Si sod N1を計算
し、jと共にYIを応答文として譲受人魚に説明したも
のと同じであり、式(56)、 (57)。
す211に記憶しである。
ステップSi:譲受人200bは受信したjとメモリ
(MEM) 511から読出したXiとを一方向性関数
器(f−CAL)521に入力し、jをパラメータとす
る前述の式(58)と同様な関数fj(Xl)を計算す
る。一方乱数発生器503から発生された乱数εiと受
信したVi、Niを剰余べき来宅(MOD−POltE
R) 504に入力してVlllodNiを計算し、そ
の結果と一方向性関数器521の出力rj(xt)及び
Niを剰余乗算器(MOD−MOL)513に入力して
f i (Xi) ・Vi sod Ntを得る。ま
た受信した応答文Yiとメモリ511から読出したNi
、Liを剰余べき来宅(?1OD−PO阿ER)505
に入力してYi sod Niを計算する。これれら剰
余べき来宅505と剰余乗算器513の出力を比較器(
cOMP) 506に人力しYiミf j(Xt)−
Vi (mod Ni)・・・(60) が成立するか検査する。この式が成立すれば譲渡穴20
0aが確がk自分の秘密情報Siを使って正しく応答文
Yiを作成したと判断する。
(MEM) 511から読出したXiとを一方向性関数
器(f−CAL)521に入力し、jをパラメータとす
る前述の式(58)と同様な関数fj(Xl)を計算す
る。一方乱数発生器503から発生された乱数εiと受
信したVi、Niを剰余べき来宅(MOD−POltE
R) 504に入力してVlllodNiを計算し、そ
の結果と一方向性関数器521の出力rj(xt)及び
Niを剰余乗算器(MOD−MOL)513に入力して
f i (Xi) ・Vi sod Ntを得る。ま
た受信した応答文Yiとメモリ511から読出したNi
、Liを剰余べき来宅(?1OD−PO阿ER)505
に入力してYi sod Niを計算する。これれら剰
余べき来宅505と剰余乗算器513の出力を比較器(
cOMP) 506に人力しYiミf j(Xt)−
Vi (mod Ni)・・・(60) が成立するか検査する。この式が成立すれば譲渡穴20
0aが確がk自分の秘密情報Siを使って正しく応答文
Yiを作成したと判断する。
ステップSi:譲受人200bはそこで自分の利用許可
証言、、・・・、官、7□ (又は官)をメモリ511
から読出して譲渡穴200aに送る。
証言、、・・・、官、7□ (又は官)をメモリ511
から読出して譲渡穴200aに送る。
ステップSi:譲渡人200aは受けた官、、・・・g
、k2、 <又は官)に対し、例えば両式(47)の
ディジタル署名関数を計算する署名器(DIG SIG
GBN)233を使って自分の署名を付けて、その結
果Tを譲渡証として譲受人200bに送り返す。
、k2、 <又は官)に対し、例えば両式(47)の
ディジタル署名関数を計算する署名器(DIG SIG
GBN)233を使って自分の署名を付けて、その結
果Tを譲渡証として譲受人200bに送り返す。
ステップS2 :m受入200bは譲渡穴200aの公
開鍵Niと受信した譲渡証Tをディジタル署名検査器(
DIG SIG VERIFIER) 519 Cに入
力して両式(48)が成立するか検査する。1ピース利
用許可証官の場合は式(48”)により検査する。
開鍵Niと受信した譲渡証Tをディジタル署名検査器(
DIG SIG VERIFIER) 519 Cに入
力して両式(48)が成立するか検査する。1ピース利
用許可証官の場合は式(48”)により検査する。
この検査に合格すれば、譲受人200bはj回目使用の
電子コインCを正当なものとみなして受け取る。
電子コインCを正当なものとみなして受け取る。
次に譲受人である利用者200bが利用者200aから
譲渡された電子コインCを用いて小売店300で支払い
をする場合について説明する。利用者200bと小売店
300の間の処理手順例を第12B図に示す。又、利用
者200bと小売店300の機能ブロック図を第13B
図に示す。以下ではi−1,・・・、に/2とする。
譲渡された電子コインCを用いて小売店300で支払い
をする場合について説明する。利用者200bと小売店
300の間の処理手順例を第12B図に示す。又、利用
者200bと小売店300の機能ブロック図を第13B
図に示す。以下ではi−1,・・・、に/2とする。
ステップSi:利用者200bはメモーリ (MEM)
511から読出した受信情報グループ(Ni、LiVH
,XH,B(、Yh、C,T、 j)と自分の情報グ
ループ(F3r、亡i、9=−u正、 e t) ヲ小
売店300 ニ送信する。
511から読出した受信情報グループ(Ni、LiVH
,XH,B(、Yh、C,T、 j)と自分の情報グ
ループ(F3r、亡i、9=−u正、 e t) ヲ小
売店300 ニ送信する。
ステップSi゜:小売店300はディジタル署名検査器
(DIG SIG VEI?fFIER) 319
Aと319Bを用いて公開鍵eAにより譲渡穴200a
の利用許可証Biに示された(Ni II V! It
Li)に対する銀行の署名の正当性を、また公開鍵e
j、により電子コインCに示された(Xl It−It
xi、zzll B。
(DIG SIG VEI?fFIER) 319
Aと319Bを用いて公開鍵eAにより譲渡穴200a
の利用許可証Biに示された(Ni II V! It
Li)に対する銀行の署名の正当性を、また公開鍵e
j、により電子コインCに示された(Xl It−It
xi、zzll B。
11・・・IIB−/□)に対する銀行の署名の正当性
を両式(45)、 (46)に従って検査する。1ピー
ス利用許可証Bの場合は式(45’ )、 (46’
)を使って検査する。さらに譲渡証Tに示された(Li
l・・・11官ア、□)に対する譲渡穴200aの署名
の正当性を両式(48)に従ったディジタル署名検査器
(DIGSIG VERIFIER) 3 L 9 C
により検査する。1ピース利用許可証Bの場合は式(4
8’ )を使う。
を両式(45)、 (46)に従って検査する。1ピー
ス利用許可証Bの場合は式(45’ )、 (46’
)を使って検査する。さらに譲渡証Tに示された(Li
l・・・11官ア、□)に対する譲渡穴200aの署名
の正当性を両式(48)に従ったディジタル署名検査器
(DIGSIG VERIFIER) 3 L 9 C
により検査する。1ピース利用許可証Bの場合は式(4
8’ )を使う。
ステップSi1:小売店300は更に、受信したεi.
Vi、NZを剰余べき来宅(MOD−POWEI?)
314に人力してV81IlodNIを計算し、その結
果と受信したNi、Xlを剰余乗算器(門OD−Mtl
L) 313に入力してXi・VHmod Nrを計算
する。一方、受信したYi、Ni、Liを剰余べき来宅
(MooPOWER) 315に人力してYiIwOd
N□を計算し、その結果と剰余乗算器313の出力とを
比較器(GOMP) 316に入力し、次式 %式%) が成立するか検査する。この式が成立すれば、受信した
情報Vi、Xiは確がk譲渡穴である利用者200a自
身のものであると判定する。
Vi、NZを剰余べき来宅(MOD−POWEI?)
314に人力してV81IlodNIを計算し、その結
果と受信したNi、Xlを剰余乗算器(門OD−Mtl
L) 313に入力してXi・VHmod Nrを計算
する。一方、受信したYi、Ni、Liを剰余べき来宅
(MooPOWER) 315に人力してYiIwOd
N□を計算し、その結果と剰余乗算器313の出力とを
比較器(GOMP) 316に入力し、次式 %式%) が成立するか検査する。この式が成立すれば、受信した
情報Vi、Xiは確がk譲渡穴である利用者200a自
身のものであると判定する。
ステップSI!:小売店300は更にディジタル署名検
査器(DIG SIG VEI?IFrER) 319
Dを用いて公開鍵e、により利用者200bの利用許
可証言えに示された(R5If v″11i’f:+)
に対する銀行の署名の正当性を両式(50)と同様の式
に従って検査する。1ピース利用許可証官を使う場合は
式(50’ )と同様な式を使って検査する。この検査
が不合格の時は以降の処理を中止する。
査器(DIG SIG VEI?IFrER) 319
Dを用いて公開鍵e、により利用者200bの利用許
可証言えに示された(R5If v″11i’f:+)
に対する銀行の署名の正当性を両式(50)と同様の式
に従って検査する。1ピース利用許可証官を使う場合は
式(50’ )と同様な式を使って検査する。この検査
が不合格の時は以降の処理を中止する。
ステップSi.:小売店は譲受人である利用者200b
の利用者情報Viの正当性を検査するためのタイマ(T
IMER) 321の出力時刻む、乱数発生器(RAN
DOM Gll!N) 303から出力された乱数T、
及び小売店の識別情報IDvを問い合わせ文qiとして
利用者200bに送る。それと共に一方向性関数器(f
−CAL)322にlDv、tTlを入力してEi −
f (IDv、t、 It)を計算する。
の利用者情報Viの正当性を検査するためのタイマ(T
IMER) 321の出力時刻む、乱数発生器(RAN
DOM Gll!N) 303から出力された乱数T、
及び小売店の識別情報IDvを問い合わせ文qiとして
利用者200bに送る。それと共に一方向性関数器(f
−CAL)322にlDv、tTlを入力してEi −
f (IDv、t、 It)を計算する。
ステップSi4:利用者200bは受信した10゜t、
γ′iを一方向性関数器(f、−CAL) 522へ入
力し、その出力EH= f (I Dv、 t+ r
+)とメモリ(MEM) 511から読出した自分の情
報室、。
γ′iを一方向性関数器(f、−CAL) 522へ入
力し、その出力EH= f (I Dv、 t+ r
+)とメモリ(MEM) 511から読出した自分の情
報室、。
R,を剰余べき来宅(MOD−POI4EI+) 52
3に入力してgr sod ’f3iを計算する。その
計算結果とメモ器(MOD−MUL) 524に入力
して次式を計算し、?′iを応答文としてjと共に小売
店と同様に次式を満足し、あらかじめ計算してメモリ5
11内に記憶されている。
3に入力してgr sod ’f3iを計算する。その
計算結果とメモ器(MOD−MUL) 524に入力
して次式を計算し、?′iを応答文としてjと共に小売
店と同様に次式を満足し、あらかじめ計算してメモリ5
11内に記憶されている。
ステップS+s:小売店300は一方向性関数器322
の出力Eiと受信したv直、¥Jiを剰余べき来宅(列
0D−POWER) 304に入力して□−Od’Ri
を計算する。一方、受信したjとメモリ(?lEM)3
11から読出したX工を一方向性関数器(f−CAL)
350に入力してfJ(Xt)を計算し、その結果とN
i及び剰余べき来宅304の出力をを剰余乗算器(MO
D−MOL) 313に入力シテfJ(Xi) ・
vIIIOd々□を得る。また受信した?1とIt・t
lは剰余べき来宅(珂0O−PO匈ER) 305に与
えられて?、−0dN+が計算される。この計算結果と
剰余乗算器313の出力を比較器(cOMP)306に
入力し、次式 が成立するかを検査する。この式が成立すれば情報、は
譲受人200b自身のものであると判定し、小売店30
0はその電子コインCを正当なものとみなして受け取る
。
の出力Eiと受信したv直、¥Jiを剰余べき来宅(列
0D−POWER) 304に入力して□−Od’Ri
を計算する。一方、受信したjとメモリ(?lEM)3
11から読出したX工を一方向性関数器(f−CAL)
350に入力してfJ(Xt)を計算し、その結果とN
i及び剰余べき来宅304の出力をを剰余乗算器(MO
D−MOL) 313に入力シテfJ(Xi) ・
vIIIOd々□を得る。また受信した?1とIt・t
lは剰余べき来宅(珂0O−PO匈ER) 305に与
えられて?、−0dN+が計算される。この計算結果と
剰余乗算器313の出力を比較器(cOMP)306に
入力し、次式 が成立するかを検査する。この式が成立すれば情報、は
譲受人200b自身のものであると判定し、小売店30
0はその電子コインCを正当なものとみなして受け取る
。
銀行100と小売店300との間の処理手順及びそれら
の機能ブロック図は第8C図及び第9C図とほとんど同
じなので図示してない。異なる点は第8C図のステップ
Si6において銀行100に送信する情報のグループに
は利用者200bから受信した使用回数情報jも付加さ
れている点である。銀行100は不正二重使用を検出す
るために受信した情報(Vi、Xi、j)と同じ値の組
がメモ’J 111内にあるかを第2D図のステップS
i6で探し、以下の処理はステップSc!−3cSと同
じである。このようにして同じ情報(Vi、 Xi、
j )の組が2つあった場合、それらに対応する異なる
値の情報の組(Ei、Yi)及び(E′i、Y’+)が
存在することになり、前述のように対応する秘密情報S
iを計算することが可能となるので二重使用者を特定で
きる。
の機能ブロック図は第8C図及び第9C図とほとんど同
じなので図示してない。異なる点は第8C図のステップ
Si6において銀行100に送信する情報のグループに
は利用者200bから受信した使用回数情報jも付加さ
れている点である。銀行100は不正二重使用を検出す
るために受信した情報(Vi、Xi、j)と同じ値の組
がメモ’J 111内にあるかを第2D図のステップS
i6で探し、以下の処理はステップSc!−3cSと同
じである。このようにして同じ情報(Vi、 Xi、
j )の組が2つあった場合、それらに対応する異なる
値の情報の組(Ei、Yi)及び(E′i、Y’+)が
存在することになり、前述のように対応する秘密情報S
iを計算することが可能となるので二重使用者を特定で
きる。
以上より、この発明では、銀行、利用者と小売店のプロ
トコルを工夫することで従来方式で問題であった関数f
の2戒分の不干渉性を仮定しなくても従来方式と同等の
機能を有する電子現金を実施できる。
トコルを工夫することで従来方式で問題であった関数f
の2戒分の不干渉性を仮定しなくても従来方式と同等の
機能を有する電子現金を実施できる。
またあらかじめ利用許可証を発行し、その利用許可証を
使って電子コインを発行するようにすれば、電子コイン
の発行処理は1回のブラインド署名作成手順を行うのみ
でよく処理上の負担が少ない。
使って電子コインを発行するようにすれば、電子コイン
の発行処理は1回のブラインド署名作成手順を行うのみ
でよく処理上の負担が少ない。
さらに、この発明では従来方法では不可能であった利用
者間の電子コインの譲渡を可能としている。つまり、電
子コインを発行された利用者が他の利用者にその電子コ
インを譲渡することができる。ここで、利用者が使用済
の電子コインを他の利用者に譲渡する場合や、複数利用
者に同一電子コインを譲渡する場合は、同一コインを2
回使用の場合と同様に電子コインを不正に処理した利用
者の秘密情報が露見する。
者間の電子コインの譲渡を可能としている。つまり、電
子コインを発行された利用者が他の利用者にその電子コ
インを譲渡することができる。ここで、利用者が使用済
の電子コインを他の利用者に譲渡する場合や、複数利用
者に同一電子コインを譲渡する場合は、同一コインを2
回使用の場合と同様に電子コインを不正に処理した利用
者の秘密情報が露見する。
また、1つの電子コインを一定回数以内で複数回利用で
きる方式も可能となる。この方式を用いると利用者は保
持情報量を少なくして(1個のコインを保持する時と同
等の情報量で)、多数のコインを保持することと同等の
効果を得ることができる。
きる方式も可能となる。この方式を用いると利用者は保
持情報量を少なくして(1個のコインを保持する時と同
等の情報量で)、多数のコインを保持することと同等の
効果を得ることができる。
第1図はこの発明が適用される銀行100、利用者20
0及び小売店300の関係を示す図、第2A図はこの発
明の第1実施例における銀行100と利用者200間の
電子現金の発行処理手順を示すフロー図、第2B図は第
1実施例における利用者200と小売店300との間の
電子現金の使用処理手順を示すフロー図、第2C図は第
1実施例における銀行100と小売店300の間の処理
手順を示すフロー図、第2D図は第2C図において銀行
100が行う二重使用検出手順を示すフロー図、第3図
は第1実施例における利用者200の機能ブロック図、
第4図は第1実施例における銀行100の機能ブロック
図、第5図は第1実施例における小売店300の機能ブ
ロック図、第6A図はこの発明の第2実施例における銀
行100と利用者200の間の利用許可証発行の処理手
順を示すフロー図、第6B図は第2実施例における銀行
100と利用者200の間の電子コインの発行処理手順
を示すフロー図、第6C図は第2実施例における利用者
200と小売店300との間の電子コイン使用処理手順
を示すフロー図、第6D図は第2実施例における銀行1
00と小売店300の間の処理手順を示すフロー図、第
7A図は第6A図における銀行100と利用者200の
機能ブロック図、第7B図は第6B図における銀行10
0と利用者200の機能ブロック図、第7C図は第6C
図における利用者200と小売店300の機能ブロック
図、第7D図は第6D図における銀行100と小売店3
00の機能ブロック図、第8A図は第2実施例における
利用者200aと200b間の電子コインの譲渡処理手
順を示すフロー図、第8B図は譲受人200bと小売店
300の間の譲渡された電子コインの使用子1+[を示
すフロー図、第8C図は銀行100と小売店300の間
の譲渡された電子コインの処理手順を示すフロー図、第
9A図は第8A図における利用者200aと200bの
機能ブロック図、第9B図は第8B図における利用者2
00bと小売店300の機能ブロック図、第9C図は第
8C図における銀行100と小売店300の機能ブロッ
ク図、第10図は第2実施例における複数回使用電子コ
インの利用者200と小売店300の間の使用手順を示
すフロー図、第11図は第10図における利用者200
と小売店300の機能ブロック図、第12A図は第2実
施例における複数回使用の電子コインの譲渡手順を表わ
す利用者200aと200bの間の処理フロー図、第1
.2 B図は譲渡された複数回使用の電子コインの使用
手順を示すフロー図、第13A図は第12A図における
利用者200aと200bの機能ブロック図、及び第1
3B図は第12B図における利用者200bと小売店3
00の機能ブロック図である。 特許出願メ
0及び小売店300の関係を示す図、第2A図はこの発
明の第1実施例における銀行100と利用者200間の
電子現金の発行処理手順を示すフロー図、第2B図は第
1実施例における利用者200と小売店300との間の
電子現金の使用処理手順を示すフロー図、第2C図は第
1実施例における銀行100と小売店300の間の処理
手順を示すフロー図、第2D図は第2C図において銀行
100が行う二重使用検出手順を示すフロー図、第3図
は第1実施例における利用者200の機能ブロック図、
第4図は第1実施例における銀行100の機能ブロック
図、第5図は第1実施例における小売店300の機能ブ
ロック図、第6A図はこの発明の第2実施例における銀
行100と利用者200の間の利用許可証発行の処理手
順を示すフロー図、第6B図は第2実施例における銀行
100と利用者200の間の電子コインの発行処理手順
を示すフロー図、第6C図は第2実施例における利用者
200と小売店300との間の電子コイン使用処理手順
を示すフロー図、第6D図は第2実施例における銀行1
00と小売店300の間の処理手順を示すフロー図、第
7A図は第6A図における銀行100と利用者200の
機能ブロック図、第7B図は第6B図における銀行10
0と利用者200の機能ブロック図、第7C図は第6C
図における利用者200と小売店300の機能ブロック
図、第7D図は第6D図における銀行100と小売店3
00の機能ブロック図、第8A図は第2実施例における
利用者200aと200b間の電子コインの譲渡処理手
順を示すフロー図、第8B図は譲受人200bと小売店
300の間の譲渡された電子コインの使用子1+[を示
すフロー図、第8C図は銀行100と小売店300の間
の譲渡された電子コインの処理手順を示すフロー図、第
9A図は第8A図における利用者200aと200bの
機能ブロック図、第9B図は第8B図における利用者2
00bと小売店300の機能ブロック図、第9C図は第
8C図における銀行100と小売店300の機能ブロッ
ク図、第10図は第2実施例における複数回使用電子コ
インの利用者200と小売店300の間の使用手順を示
すフロー図、第11図は第10図における利用者200
と小売店300の機能ブロック図、第12A図は第2実
施例における複数回使用の電子コインの譲渡手順を表わ
す利用者200aと200bの間の処理フロー図、第1
.2 B図は譲渡された複数回使用の電子コインの使用
手順を示すフロー図、第13A図は第12A図における
利用者200aと200bの機能ブロック図、及び第1
3B図は第12B図における利用者200bと小売店3
00の機能ブロック図である。 特許出願メ
Claims (54)
- (1)銀行が利用者に対し電子現金を発行し、利用者は
その電子現金を使って第3者に支払いをし、銀行は使用
された電子現金を持っている最後のパーティとの間で決
済をする電子現金実施方法であり次の工程を含む: 利用者は (a)自分の識別情報を含んだ秘密情報から第1の一方
向性関数により利用者情報を作成し、 (b)銀行に対し前記利用者情報を含む情報にブライン
ド署名をさせて署名付利用者情報を得、 (c)乱数情報から第2の一方向性関数により認証用情
報を作成し、 (d)銀行に対し前記認証用情報を含む情報にブライン
ド署名をさせて署名付認証用情報を得、 (e)前記利用者情報と、前記署名付利用者情報と、前
記認証用情報と、及び前記署名付認証用情報とを含む電
子現金情報を前記銀行が発行した電子現金として第3者
に渡し、 前記第三者は (f)受け取った前記電子現金情報中の前記署名付利用
者情報と前記署名付認証用情報の正当性を検証し、 (g)前記正当性が検証されたならば問い合せ文を作成
して前記利用者に与え、 前記利用者は (h)少くとも自分の作成した前記秘密情報と前記第3
者から受け取った前記問い合せ文とを使って応答文を作
成して前記第三者に与え、 前記第3者は (i)受け取った前記電子現金情報中の前記利用者情報
と前記認証用情報とを使って前記応答文の正当性を検査
し、前記応答文が正当であれば前記電子現金を正当なも
のとして受け、 (j)必要に応じて少くとも前記電子現金情報と、前記
第3者の前記問い合せ文と、前記利用者の前記応答文と
を第4者に渡す。 - (2)前記銀行は、 使用された前記電子現金を保有する最後のパーティから
前記電子現金情報と、前記第3者の作成した前記問い合
せ文と、前記利用者が作成した前記応答文とを含む情報
を決済のため受けると、前記電子現金情報中の前記署名
付利用者情報と前記署名付認証用情報の正当性と前記第
3者の前記問い合せ文に対する前記利用者の前記応答文
の正当性を検査する工程を含む請求項1項記載の電子現
金実施方法。 - (3)前記決済のための工程は前記電子現金情報中の前
記利用者情報と前記認証用情報の組と同じ値の組が前記
銀行の有するメモリに蓄積されている情報の中にあるか
検査することにより前記利用者による前記電子現金の不
正使用の検出を行い、前記電子現金情報と前記問い合せ
文及び前記応答文とを含む情報を前記メモリに蓄積する
工程を含む請求項2項記載の電子現金実施方法。 - (4)前記利用者は前記署名付利用者情報を前記銀行が
発行した利用許可証として保持し、前記利用者は必要毎
に前記認証用情報と前記利用許可証を含む情報に対し前
記銀行にブラインド署名をさせ、それによって得た前記
署名付認証用情報を前記銀行が発行した電子コインとし
て用い、前記利用者は前記電子コインの使用に際し前記
第3者に対し少くとも前記利用許可証と、前記電子コイ
ンと、前記利用者情報と、前記認証用情報を含む情報の
組を前記電子現金として与え、各前記第3者及び前記銀
行は前記署名付利用者情報と前記署名付認証用情報の正
当性の検証を前記利用許可証と前記電子コインの正当性
の検証として行う工程を含む請求項2項記載の電子現金
実施方法。 - (5)前記最後のパーティは前記第3者であり、第4者
は前記銀行であり、前記第3者の作成した前記問い合せ
文は前記第3者の識別情報と時刻情報を含んでいる請求
項4項記載の電子現金実施方法。 - (6)前記第3者は自分の秘密情報と自分の利用許可証
を有しており、前記利用者からの前記応答文が正当であ
れば前記第3者は自分の利用許可証を前記利用者に与え
、前記利用者は前記第3者の利用許可証に対し署名をし
、その署名付利用用許可証を譲渡証として前記第3者に
与える工程を含む請求項4項記載の電子現金実施方法。 - (7)前記最後のパーティは前記第4者であり、前記第
4者は前記第3者から少くとも前記利用者が出した利用
許可証と、前記電子コインと、前記利用者情報と、前記
認証用情報と、前記応答文と、前記第3者が出した自分
の前記利用許可証と、自分の利用者情報と、前記問い合
せ文とを受け取り、前記第4者は: 前記利用者の利用許可証と、前記電子コインのそれぞれ
の正当性を検証し、 前記第3者の前記問い合せ文に対する前記利用者の前記
応答文の正当性を検証し、 前記第3者の利用許可証の正当性を検証し、前記第4者
自身の問い合せ文を作成して前記第3者に与え、 前記第3者は: 前記第4者から受けた前記問い合せ文と、前記第3者自
身の前記秘密情報と、前記利用者の前記認証用情報から
作成した情報と、を使って応答文を作成し、前記第4者
に与え、 前記第4者は: 前記第3者の前記利用者情報と、前記第4者の問い合せ
文と、前記利用者の前記認証用情報を使って前記第3者
の前記応答文の正当性を検証し、 前記第4者は: 前記第3者の前記利用者情報と、前記第4者の前記問い
合せ文と、前記利用者の前記認証用情報とを使って前記
第3者の前記応答文の正当性を検証し、前記電子現金情
報と、前記第3者の問い合せ文と、前記利用者の応答文
と、前記第3者の利用許可証と、前記第3者の利用者情
報と、前記第4者の問い合せ文と前記第3者の応答文と
、を含む情報を前記銀行に与える請求項6項記載の電子
現金実施方法。 - (8)前記銀行は更に前記第4者の問い合せ文に対する
前記第3者の応答文の正当性を検証する工程を含み、前
記銀行は前記利用者の前記認証用情報と前記第3者の前
記利用者情報の組と同じ値の組が前記銀行の有する前記
メモリに蓄積されている情報の中にあるか検査すること
により前記第3者による前記電子コインの不正使用の検
出を行う工程を含む請求項7項記載の電子現金実施方法
。 - (9)前記銀行はあらかじめ決めた複数回にの前記電子
コインの使用を許可しており、前記利用者は前記電子コ
インのj回目、ただしi≦j≦k、の使用において前記
第3者からの前記問い合せ文に対し、前記利用者の前記
秘密情報と前記値jをパラメータとして変化する一方向
性関数により前記利用者の前記認証用情報から計算した
情報とから前記応答文を作成し、前記応答文を前記値j
と共に前記第3者に与え、前記第3者は前記問い合せ文
と、前記利用者の前記認証用情報と、前記利用者の前記
利用者情報と前記値jを使って前記応答文の正当性を検
証し、前記第4者へ与える情報中に前記値jを含めて与
える工程を含む請求項4項記載の電子現金実施方法。 - (10)前記第3者は前記利用者からの応答文が正当で
あると検証すると前記第3者の利用許可証を前記利用者
に与え、前記利用者は受けた前記第3者の利用許可証に
署名をして譲渡証として前記第3者に与え、前記第3者
は前記譲渡証の正当性を検証する工程を含む請求項9項
記載の電子現金実施方法。 - (11)前記銀行は前記最後のパーティから前記値jも
受け取り、前記銀行は前記利用者情報と前記認証用情報
と前記値jとの組と同じ値の組が前記銀行の前記メモリ
に蓄積されている情報の中にあるか検査することによっ
て前記利用者による前記電子コインの不正使用を検出す
る工程を含む請求項9又は10項記載の電子現金実施方
法。 - (12)前記利用者情報を含む情報に前記ブラインド署
名させる工程は: 前記利用者が前記利用者情報を含む情報を撹乱乱数を変
数とする一方向性のブラインド署名前処理関数により処
理して撹乱利用者情報として前記銀行に与える工程と、 前記銀行が前記撹乱利用者情報の一部に署名関数により
署名し、署名付撹乱利用者情報として前記利用者に返す
工程と、 前記利用者は受けた前記署名付撹乱利用者情報からブラ
インド署名後処理関数により前記撹乱乱数の影響を除去
することにより前記署名付利用者情報を得る工程、 とを含む請求項1、2又は4項記載の電子現金実施方法
。 - (13)前記利用者は前記秘密情報をk個、kは2以上
の整数を作成し、またそれらk個の前記秘密情報にそれ
ぞれ対応して前記利用者情報及び前記撹乱利用者情報を
それぞれk個作成し、 前記銀行はk個の前記撹乱利用者情報を受けると、その
うちあらかじめ決めた個数の前記銀行が選択した前記撹
乱利用者情報の作成にそれぞれ使われた前記秘密情報と
前記撹乱乱数を含む作成データの組を与えるよう前記利
用者に要求し、それによって前記利用者から得た作成デ
ータの組により対応する撹乱利用者情報を計算し、それ
ら計算結果が前記利用者から受けた前記撹乱利用者情報
の対応するものとそれぞれ一致することを検証する工程
を含む請求項12項記載の電子現金実施方法。 - (14)前記撹乱利用者情報の前記一部は前記銀行が前
記利用者から受けたk個の前記撹乱利用者情報のうち前
記検証で使用した以外のあらかじめ決めた第2の個数の
前記撹乱利用者情報であり、前記銀行は前記署名関数に
より前記あらかじめ決めた第2の個数の前記撹乱利用者
情報に対して署名を付け、前記署名付撹乱利用者情報を
作成し前記利用者に与える工程を含む請求項13項記載
の電子現金実施方法。 - (15)前記利用者情報を含む情報に前記ブラインド署
名させる工程と前記認証用情報を含む情報にブラインド
署名をさせる工程は次の工程を含む:前記利用者は:そ
れぞれが前記識別情報ID_pを含む前記秘密の情報S
_iをk個、kは2以上の整数を作成し、前記乱数情報
R_iをk個作成し、k個の前記秘密情報とk個の前記
乱数情報から前記第1及び第2一方向性関数によりそれ
ぞれk個の前記利用者情報V_iとk個の前記認証用情
報X_iを作成し、k個の前記利用者情報V_iをそれ
ぞれ変数として一方向性の第1ブラインド署名前処理関
数に与えることによりそれぞれ撹乱処理された対応する
k個の前記撹乱利用者情報W_iを作成し、k個の前記
認証用情報X_iをそれぞれ変数として一方向性の第2
ブラインド署名前処理関数に与えることによりそれぞれ
撹乱処理された対応するk個の前記撹乱認証用情報Z_
iを作成し、これらk個の前記撹乱利用者情報W_i、
とk個の前記撹乱認証用情報Z_iを前記銀行に与え、 前記銀行は:各k組の前記撹乱利用情報W_iと前記撹
乱認証用情報Z_iを受け取ると、それらの中からそれ
ぞれk個より少ないあらかじめ決めた第1の個数k_1
の前記撹乱利用者情報と前記撹乱認証用情報を選択し、
選択した前記撹乱利用者情報と前記撹乱認証用情報の作
成に前記利用者によってそれぞれ使われた前記秘密情報
S_iと前記乱数情報R_iとをそれぞれ含む前記第1
の個数k_1の情報の組を指定して前記利用者に対し要
求し、 前記利用者は:前記銀行の指定した前記第1の数の前記
情報の組を前記銀行に与え、 前記銀行は:受け取った前記情報の組により前記第1の
数k_1の対応する撹乱利用者情報W_iと前記第1の
数に対応する撹乱認証用情報Z_iをそれぞれ計算し、
それら計算された撹乱利用者情報W_iと計算された撹
乱認証用情報Z_iがそれぞれ選択した前記撹乱利用者
情報W_i及び前記撹乱認証用情報Z_iのそれぞれ対
応するものと一致することを検証し、受け取った前記情
報の組の中のすべての前記秘密情報S_iの中に前記利
用者の前記識別情報ID_pが含まれていることを確認
し、前記利用者から受け取ったk個の前記撹乱利用者情
報W_iのうち前記選択したk個以外のあらかじめ決め
た第2の個数k_2の前記撹乱利用者情報に対しそれぞ
れ第1署名関数により署名して前記第2の個数k_2の
署名付撹乱利用者情報Ω_iを作成して前記利用者に与
え、前記利用者から受け取ったk個の前記撹乱認証用情
報Z_iのうち前記選択したk_1個以外の前記第2の
個数k_2の前記撹乱認証用情報に対しそれぞれ第2署
名関数により署名して前記第2の個数の署名付撹乱認証
用情報■_iを作成して前記利用者に与え、 前記利用者は:受け取った前記署名付撹乱利用者情報Ω
_iと前記署名付撹乱認証用情報■_iに対しそれぞれ
第1及び第2ブラインド署名後処理関数により撹乱除去
処理をしてそれぞれk_2個の前記署名付利用者情報B
_v_iと前記署名付認証用情報B_x_iを得る、 工程を含み、前記電子現金の使用における前記署名付利
用者情報と前記署名付認証用情報に係わる処理はすべて
前記第2の数k_2の署名付利用者情報と前記第2の数
k_2の署名付認証用情報に対して実行される請求項1
項記載の電子現金実施方法。 - (16)前記利用者はk個の素数L_iと、k対の秘密
の素数P_i、Q_iと、k個の素数積P_i×Q_i
=N_iを作成し、前記秘密情報S_iと前記乱数情報
R_iから前記利用者情報V_iと前記認証用情報X_
iをそれぞれ次式で表される前記第1及び第2一方向性
関数 ▲数式、化学式、表等があります▼ ▲数式、化学式、表等があります▼ により計算する工程を含む請求項15項記載の電子現金
実施方法。 - (17)前記最後のパーティは前記第3者であり、前記
第4者は前記銀行であり、前記利用者は前記電子現金を
前記第3者に対し使用するにあたってk_2組の{V_
i、B_v_i、X_i、B_x_i}を電子現金情報
としてN_iとL_iと共に前記第3者に与え、前記第
3者は前記問い合せ文q_iを前記利用者に与えると共
に問い合せ文関数E_i=f(q_i)により問い合せ
文情報E_iをk_2個のiについて計算し、前記利用
者は受け取った前記問い合せ文q_iから前記問い合せ
文関数E_i=f(q_i)によりk_2個の問い合せ
文情報E_iを計算し、次式で表わせる応答文 Y_i=R_i・S_i^E^imodN_iをk_2
個作成して前記第3者に与え、 前記第3者は受け取った応答文Y_iを使って次式で表
わされる検証式、 Y_i≡X_i・V_i^E^i(modNi)がk_
2個のすべてのiについて成立することにより前記応答
文Y_iの正当性を検証する工程を含む請求項16項記
載の電子現金実施方法。 - (18)前記第3者は前記電子現金を決済するためのk
_2個のすべてのiについての前記電子現金情報{V_
i、B_v_i、X_i、B_x_i}と、前記問い合
せ文q_iと前記応答文Y_iとL_i及びN_iを前
記銀行に与え、 前記銀行は前記第3者から受けた情報を使って、次式で
表わされる検証式 Y_i^L^i≡X_i・V_i^E^i(modN_
i)がk_2個のすべてのiについて成立することによ
り前記問い合せ文q_iに対する前記応答文Y_iの正
当性を検証する工程を含む請求項17項記載の電子現金
実施方法。 - (19)前記銀行は前記第3者から受け取った前記利用
者情報と前記認証用情報の組{V_i、X_i}と同じ
値の組が前記銀行の前記メモリ内にあるか検査し、なか
った場合は前記第3者から受けた情報を前記メモリに記
憶し、あった場合は前記メモリ内に記憶されている対応
する問い合せ文q′_iと応答文Y′_iを読出し、前
記読出した問い合せ文q′_iから問い合せ情報E′_
i=f(q′_i)を計算し、次式 α・L_i+β(E_i−E′_i)=1 を満たす整数αとβをユークリッド互除法により解き、
更に次式 V_i^α・(Y_i/Y′_i)^βmodN_i=
S_iより秘密情報S_iを計算し、前記計算した秘密
情報S_iの中から前記電子現金を不正使用した前記利
用者の識別情報ID_pを得る工程を含む請求項18項
記載の電子現金実施方法。 - (20)前記利用許可証を得る工程は 前記利用者が:それぞれが前記識別情報を含む前記秘密
情報S_iをk個、kは2以上の整数、作成し、k個の
前記秘密情報S_iから前記第1の一方向性関数により
前記利用者情報V_iをk個作成し、各前記利用者情報
V_iを含む情報M_iを変数として一方向性の第1ブ
ラインド署名前処理関数に与えることによりそれぞれ撹
乱処理された対応するk個の前記撹乱利用者情報W_i
を作成し、それを前記銀行に与え、 前記銀行が:k個の前記撹乱利用者情報W_iを受け取
ると、それらの中からk個より少ないあらかじめ決めた
第1の個数k_1の前記撹乱利用者情報を選択し、選択
した前記撹乱利用者情報の作成に前記利用者によってそ
れぞれ使われた前記秘密情報S_iを含む情報の組を指
定して前記利用者に対し要求し、 前記利用者が:前記銀行の指定した前記第1の個数k_
1の前記情報の組を前記銀行に与え、前記銀行が:受け
取った前記情報の組により前記第1の個数k_1の対応
する撹乱利用者情報W_iを計算し、それら計算された
撹乱利用者情報W_iが前記選択した撹乱利用者情報W
_iの対応するものと一致することを検証し、受け取っ
た前記情報の組の中の全ての前記秘密情報S_iの中に
前記利用者の前記識別情報ID_pが含まれていること
を確認し、 前記利用者から受け取ったk個の前記撹乱利用者情報W
_iのうち前記選択したk_i個以外のあらかじめ決め
た第2の個数k_2の前記撹乱利用者情報に対しそれぞ
れ第1署名関数により署名してk_2個の署名付撹乱利
用者情報Ω_iを作成して前記利用者に与え、 前記利用者が:受け取ったk_2個の前記署名付撹乱利
用者情報Ω_iに対しそれぞれ第1ブラインド署名後処
理関数により撹乱除去処理をしてk_2個の前記署名付
利用者情報B_v_iを得る、工程を含み、前記利用者
はk_2個の前記署名付利用者情報を前記銀行が発行し
た前記利用許可証として使用する請求項4項記載の電子
現金実施方法。 - (21)前記電子コインの発行は、 前記利用者が前記乱数情報R_iをk_2個作成し、前
記第2の個数k_2の前記乱数情報R_iから前記第2
一方向性関数によりk_2個の前記認証用情報X_iを
作成し、k_2個の前記利用許可証B_iとk_2個の
前記認証用情報X_iを含む情報mを変数として一方向
性の第2ブラインド署名前処理関数に与えることにより
前記撹乱認証用情報Zを作成して前記銀行に与え、 前記銀行は与えられた前記撹乱認証用情報Zに対し第2
署名関数により署名をして前記署名付撹乱認証用情報■
を作成して前記利用者に与え、前記利用者は前記署名付
撹乱認証用情報■に対し第2ブラインド後処理関数を使
って撹乱除去処理をして前記署名塚認証用情報を前記電
子コインCとして得る工程を含む請求項20項記載の電
子現金実施方法。 - (22)前記利用者はk個の素数L_iと、k対の秘密
の素数P_i、Q_iと、k個の素数積N_i=P_i
×Q_iを作成し、k個の前記秘密情報S_iからk個
の前記利用者情報V_iを次式で表わされる前記第1の
一方向性関数 V_i=S_i^L^imodN_i、i=l、・・・
、kにより計算する工程を含む請求項21項記載の電子
現金実施方法。 - (23)以下において前記k_2個のiをi=l、・・
・、k_2とすると、前記利用者は前記認証用情報X_
iを次式 X_i=R_i^L^imodNi、i=l、・・・、
k_2で表わされる前記第2一方向性関数によってk_
2個作成する工程を含む請求項22項記載の電子現金実
施方法。 - (24)前記最後のパーティは前記第3者であり、前記
第4者は前記銀行であり、前記利用者は前記電子コイン
Cの使用において、前記電子コインCとk_2個の前記
利用許可証B_iと、k_2個の前記利用者情報V_i
と、k_2個の前記認証用情報X_iとを含む前記電子
現金情報とk_2個の前記素数L_iと、k_2個のN
_iとを前記第3者に与え、前記第3者はk_2個の前
記問い合せ文q_iを作成して前記利用者に与えると共
に問い合せ文関数E_i=f(q_i)によりk_2個
の問い合せ文情報E_iを計算し、前記利用者は与えら
れた前記問い合せ文q_iから前記問い合せ文関数によ
り問い合せ文情報E_iを作成し、その問い合せ文情報
E_iと前記秘密情報S_iと前記乱数情報R_iとを
使って次式Y_i=R_i・S_i^E^imodN_
i、i=l、・・・、k_2 によりk_2個の前記応答文Y_iを作成して前記第3
者に与え、前記第3者は自分で作成した問い合せ文情報
E_iと、前記利用者から与えられた前記利用者情報V
_iと、前記認証用情報X_iとを使って次式 Y_i^L^i≡X_i・V_i^E^i(modN_
i)、i=l、・・・、k_2 が成立することにより前記応答文Y_iの正当性を検証
し、前記電子コインを正当なものとして認証する工程を
含む請求項23項記載の電子現金実施方法。 - (25)前記第3者は前記電子コインの決済のため前記
電子現金情報V_i、X_i、B_i、CとN_iと前
記素数L_iと、前記問い合せ文q_iと、前記応答文
Y_iとを含む情報を前記銀行に与え、前記銀行は次式
で表わされる検証式 Y_i^L^i≡X_i・V_i^E^i(modN_
i)、i=l、・・・、k_2 が成立することによって前記問い合せ文q_iに対する
前記応答文Y_iの正当性を検証する工程を含む請求項
24項記載の電子現金実施方法。 - (26)前記銀行は前記第4者から受け取った前記利用
者情報と前記認証用情報の組{V_i、X_i}と同じ
値の組が前記銀行の前記メモリ内にあるか検査し、なか
った場合は前記第4者から受けた情報を前記メモリに記
憶し、あった場合は前記メモリ内に記憶されている対応
する問い合せ文q′_iと応答文Y′_iを読出し、前
記読出した問い合せ文q′_iから問い合せ情報E′_
i=f(q′_i)を計算し、次式 α・L_i+β(E_i−E′_i)=1 を満たす整数αとβをユークリッド互除去法により解き
、更に次式 V_i^α・(Y_i/Y′_i)modN_i=S_
iより秘密情報S_iを計算し、前記計算した秘密情報
S_iの中から前記電子コインを不正使用した前記利用
者の識別情報ID_pを得る工程を含む請求項25項記
載の電子現金実施方法。 - (27)前記最後のパーティは前記第4者であり、前記
利用者は前記第3者に対し前記電子コインを与えるにあ
たって前記電子現金情報{V_i、X_i、B_i、C
}と、N_iと、前記素数L_iとを含む情報を前記第
3者に与え、 前記第3者は前記問い合せ文ε_iをk_2個作成して
前記利用者に与え、 前記利用者は前記問い合せ文ε_iと前記乱数情報R_
iと前記秘密情報S_iとを使って次式Y_i=R_i
・S_i^ε^imodN_i、i=l、・・・、k_
2 によりk_2個の前記応答文Y_iを作成して前記第3
者に与え、前記第3者は次式 Y_i^L^i≡X_i・V_i^ε^i(modN_
i)、i=l、・・・、k_2 が成立することによって前記応答文Y_iの正当性を検
証し、自分の持っているk_2個の利用許可証■_iを
前記利用者に与え、前記利用者は受け取った前記第3者
の利用許可証■_1、・・・、■_k_zに対し署名を
付けて譲渡証Tを作成し、前記第3者に与える工程を含
む請求項27項記載の電子現金実施方法。 - (28)前記第3者は前記電子コインの使用にあたって
、N_iと、L_iと、前記電子現金情報{V_i、X
_i、B_i、C}と、前記譲渡証Tと、前記問い合せ
文ε_iと、前記応答文Y_iと、前記第3者の利用許
可証■_iと、前記第3者の利用許可証■_iの作成に
係わった前記第3者の公開素数積■_i、素数■_i、
利用者情報■_iとを前記第4者に与え、前記第4者は
次式 Y_i^L^i≡X_i・V_i^ε^i(modN_
i)、i=l、・・・、k_2 が成立することによって前記利用者の応答文Y_iの正
当性を検証し、問い合せ文q_iを作成して前記第3者
に与えると共に問い合せ文関数E_i=f(q_i)に
より問い合せ文情報E_iを計算し、前記第3者は与え
られた問い合せ文q_iから前記問い合せ文関数E_i
=f(q_i)により問い合せ文情報E_iを計算して
次式 ■_i=X_i^1^/■^imod■_i■_i=■
_i・■_imod■_i、 i=l、・・・、k_2 から応答文■_iを作成し、前記第4者に与え、前記第
4者は前記利用者の認証用情報X_iを使って次式 ■_i≡X_i・■_i(mod■_i)、i=l、・
・・、k_2 が成立することにより前記第3者の応答文■_iの正当
性を検証する工程を含む請求項27項記載の電子現金実
施方法。 - (29)前記第4者は前記電子コインの決済のため前記
銀行に対し前記電子現金情報{V_i、X_i、B_i
、C}と、前記利用者の情報N_i、L_i、Y_iと
、前記譲渡証Tと、前記第3者の情報{■_i、■_i
、■_i、■_i、ε_i、■_i}と前記第4者の問
い合せ文q_iを前記銀行に与え、前記銀行は次式で表
わされる検証式 ▲数式、化学式、表等があります▼ ▲数式、化学式、表等があります▼ が成立することによって前記利用者の応答文Y_iと前
記第3者の応答文■_iの正当性を検証する工程を含む
請求項28項記載の電子現金実施方法。 - (30)前記銀行は前記第4者から受け取った前記利用
者情報と前記認証用情報の組{V_i、X_i}と同じ
値の組が前記銀行の前記メモリ内にあるか検査し、なか
った場合は前記第4者から受けた情報を前記メモリに記
憶し、あった場合は前記メモリ内に記憶されている対応
する問い合せ文q′_iと応答文Y′_iを読出し、前
記読出した問い合せ文q′_i。 から問い合せ情報E′_i=f(q′_i)を計算し、
次式 α・L_i+β(E_i−E′_i)=1 を満す整数αとβをユークリッド互除法により解き、更
に次式 V_i・(Y_i/Y′_i)modN_i=S_iよ
り秘密情報S_iを計算し、前記計算した秘密情報S_
iの中から前記電子コインを不正使用した前記利用者の
識別情報ID_pを得る工程を含む請求項29項記載の
電子現金実施方法。 - (31)前記銀行は前記第4者から受け取った前記第3
者の前記利用者情報■_iと前記利用者の前記認証用情
報X_iの組{■_i、X_i}と同じ値の組が前記銀
行の前記メモリ内に記憶されているか検査し、なかった
場合は受け取った情報を前記メモリ内に記憶し、あった
場合は前記メモリ内に記憶されている対応する前記第4
者の問い合せ文q′_iとそれに対する前記第3者の応
答文■_iを読み出し、前記読出した問い合せ文q′_
iから問い合せ情報E′_i=f(q′_i)を計算し
、次式α・■_i+β・(E_i−E′_i)=1を満
足する整数αとβをユークリッドの互除法により解き、
更に次式 ■_i^α・(■_i/■_i)mod■_i=■_i
から秘密情報■_iを計算し、前記計算した秘密情報■
_iの中から前記電子コインを不正使用した前記第3者
の識別情報を得る工程を含む請求項29又は30項記載
の電子現金実施方法。 - (32)前記銀行はあらかじめ決めた複数K回の前記電
子コインの使用を許可しており、前記最後のパーティは
前記第3者であり、前記第4者は前記銀行であり、 前記利用者は前記電子コインのj回目、ただし1≦j≦
k、の使用において前記第3者に前記電子現金情報{V
_i、X_i、B_i、C}と情報{N_i、L_i}
を与え、 前記第3者は前記問い合せ文q_iを作成して前記利用
者に与えると共に問い合せ文関数E_i=f(q_i)
によって問い合せ文情報E_iを計算し、前記利用者は
前記問い合せ文q_iから前記問い合せ文関数E_i=
f(q_i)により問い合せ文情報E_iを計算して次
式 ▲数式、化学式、表等があります▼、 ▲数式、化学式、表等があります▼ から前記応答文Y_iを作成して前記第3者にjと共に
与え、ここでf_j(X_i)はjをパラメータとして
変化するX_iの関数であり、 前記第3者は次式 Y_i^L^i≡f_J(X_i)・V_i^E^i(
modN_i)、i=l、・・・、k_2 が成立することによって前記応答文Y_iの正当性を検
証する工程を含む請求項23項記載の電子現金実施方法
。 - (33)前記銀行はあらかじめ決めた複数K回の前記電
子コインの使用を許可しており、前記利用者は前記電子
コインのj回目、1≦j≦k、の使用において前記第3
者に前記電子現金情報{V_i、X_i、B_i、C}
と情報{N_i、L_i}を与え、 前記第3者は前記問い合せ文ε_iを作成して前記利用
者に与え、 前記利用者は前記問い合せ文ε_iを使って次式▲数式
、化学式、表等があります▼、 ▲数式、化学式、表等があります▼ により前記応答文Y_iを作成して前記第3者にjと共
に与え、ここでf_j(X_i)はjをパラメータとし
て変化するX_iの関数であり、 前記第3者は次式 ▲数式、化学式、表等があります▼、 が成立することによって前記応答文Y_iの正当性を検
証し、前記第3者が持っている利用許可証■_i、i=
1、・・・、k_2、を前記利用者に与え、前記利用者
は自分の素数積N_iを使って前記第3者の利用許可証
■_iに対し署名を付けて譲渡証Tとして前記第3者に
与える工程を含む請求項23項記載の電子現金実施方法
。 - (34)前記最後のパーティは前記第4者であり、前記
第3者は前記電子コインの使用にあたって前記電子現金
情報{V_i、X_i、B_i、C}と前記利用者の情
報{N_i、L_i、T、Y_i、j}と前記第3者の
情報{■_i、■_i、■_i、ε_i}を前記第4者
に与え、 前記第4者は次式 ▲数式、化学式、表等があります▼ が成立することにより前記利用者の応答文Y_iの正当
性を検証し、問い合せ文q_iを作成して前記第3者へ
与えると共に問い合せ文関数E_i=f(q_i)によ
り問い合せ文情報E_iを計算し、前記第3者は前記第
4者からの問い合せ文q_iから前記問い合せ文関数E
_i=f(q_i)により問い合せ文情報E_iを計算
して次式 ▲数式、化学式、表等があります▼、 ▲数式、化学式、表等があります▼ により応答文■_iを作成して前記第4者に与え、前記
第4者は次式 ▲数式、化学式、表等があります▼、 が成立することにより前記第3者の応答文■_iの正当
性を検証する工程を含む請求項33項記載の電子現金実
施方法。 - (35)前記銀行は前記電子コインの決済のため前記最
後のパーティから前記電子現金情報{V_i、X_i、
B_i、C)と、前記利用者の情報{N_i、L_i
Yi、j)と、前記第3者の問い合せ文q_iを含む情
報を受け取ると、前記問い合せ文関数E_i=f(q_
i)により問い合せ文情報E_iを計算し、前記利用者
情報V_iと前記認証用情報X_iと前記jの組{V_
i、X_i、j}と同じ値の組が前記銀行の前記メモリ
内に記憶されているか検査し、同じ値の組があった場合
は前記メモリ内から対応する前記第3者の問い合せ文q
_iとそれに対する前記利用者の応答文Y_iを読出し
、前記読出した問い合せ文q′_iから問い合せ文情報
E′_i=f(q′i)を計算して次式 α・L_i+β・(E_i−E′_i)=1、i=1、
・・・、k_2 を満足する整数αとβをユークリッドの互除法により解
いて更に次式 V_i^α・(Y_i/Y′_i)modN_i=S_
i、i=1、・・・、k_2 から秘密情報S_iを計算し、その計算した秘密情報S
_iの中から前記電子コインを不正使用した前記利用者
の識別情報ID_pを得る工程を含む請求項32項記載
の電子現金実施方法。 - (36)前記利用者情報を含む情報に前記ブラインド署
名をさせる工程は、 前記利用者が、それぞれが前記識別情報を含むk個の前
記秘密情報S_i、kは2以上の整数、を作成し、k個
の前記秘密情報S_iから前記第1の一方向性関数によ
り前記利用者情報V_iをk個作成し、各前記利用者情
報V_iを含む情報M_iを変数として一方向性の第1
ブラインド署名前処理関数に与えることによりそれぞれ
撹乱処理された対応するk個の前記撹乱利用者情報W_
iを作成し、それを前記銀行に与え、 前記銀行がk個の前記撹乱利用者情報W_iを受け取る
とそれらの中からk個より少ないあらかじめ決めた第1
の個数k_1の前記撹乱利用情報を選択し、選択した前
記撹乱利用者情報の作成に前記利用者によってそれぞれ
使われた前記秘密情報S_iを含む情報の組を指定して
前記利用者に対し要求し、 前記利用者が前記銀行の指定した前記第1の個数k_1
の前記情報の組を前記銀行に与え、 前記銀行が受け取った前記情報の組により前記第1の個
数k_1の対応する撹乱利用者情報W′_iを計算し、
それら計算された撹乱利用者情報W′_iが前記選択し
た撹乱利用者情報W_iの対応するものと一致すること
を検証し、受け取った前記情報の組の中のすべての前記
秘密情報S_iの中に前記利用者の前記識別情報ID_
pが含まれていることを確認し、前記利用者から受け取
ったk個の前記撹乱利用者情報W_iのうち前記選択し
たk_1個以外のあらかじめ決めた第2の個数k_2の
前記撹乱利用者情報から得た多重撹乱利用者情報に対し
第1署名関数により署名をして署名付撹乱利用者情報Ω
を作成して前記利用者に与え、 前記利用者が受け取った前記署名付撹乱利用者情報Ωに
対し第1ブラインド署名後処理関数により撹乱除去処理
をして前記署名付利用者情報Bを得る工程を含み、前記
利用者は前記署名付利用者情報Bを前記銀行が発行した
前記利用許可証として使用する請求項4項記載の電子現
金実施方法。 - (37)前記電子コインの発行は、 前記利用者が前記乱数情報R_iをk_2個作成し、そ
れらから第2一方向性関数によりk_2個の前記認証用
情報X_iを作成し、k_2個の前記認証用情報X_i
と前記利用許可証Bを含む情報mを変数として一方向性
の第2ブラインド署名前処理関数に与えることにより前
記撹乱認証用情報Zを作成して前記銀行に与え、 前記銀行は与えられた前記撹乱認証用情報Zに対し第2
署名関数により署名をして前記署名付撹乱認証用情報■
を作成して前記利用者に与え、前記利用者は前記署名付
撹乱認証用情報、■に対し第2ブラインド署名後処理関
数を使って撹乱除去処理をして前記署名付認証用情報を
前記電子コインCとして得る工程を含む請求項36項記
載の電子現金実施方法。 - (38)前記利用者はk個の素数L_iと、k対の秘密
の素数P_i、Q_iと、k個の素数積N_i=P_i
×Q_iを作成し、k個の前記秘密情報S_iからk個
の前記利用者情報V_iを次式 V_i=S_i^L^imodN_i、i=1、・・・
、kで表わされる前記第1の一方向性関数により計算す
る工程を含む請求項37項記載の電子現金実施方法。 - (39)以下において前記k_2個のiをi=1、・・
・k_2とすると、前記利用者は前記認証用情報X_i
を次式 X_i=R_i^L^imodNi、i=1、・・・、
k_2で表わされる前記第2一方向性関数によって作成
する工程を含む請求項38項記載の電子現金実施方法。 - (40)前記最後のパーティは前記第3者であり、前記
第4者は前記銀行であり、前記利用者は前記電子コイン
Cの使用において、前記電子コインCと前記利用許可証
Bと、k_2個の前記利用者情報V_iと、k_2個の
前記認証用情報X_iとを含む前記電子現金情報とk_
2個の前記素数L_iとk_2個のN_iとを前記第3
者に与え、 前記第3者は前記問い合せ文q_iを作成して前記利用
者に与えると共に問い合せ文関数E_i=f(q_i)
によりk_2個の問い合せ文情報E_iを計算し、前記
利用者は与えられた前記問い合せ文q_iから前記問い
合せ文関数により問い合せ文情報E_iを作成し、その
問い合せ文情報E_iと前記秘密情報S_iと前記秘密
乱数情報R_iとを使って次式Y_i=R_i・S_i
^E^imodNi、i=1、・・・、k_2 によりk_2個の前記応答文Y_iを作成して前記第3
者に与え、 前記第3者は自分で作成した問い合せ文情報E_iと、
前記利用者から与えられた前記利用者情報V_iと、前
記認証用情報X_iとを使って次式 Y_i^L^i≡X_i・V_i^E^i(modN_
i)、i=1、・・・、k_2 が成立することにより前記応答文Y_iの正当性を検証
する工程を含む請求項39項記載の電子現金実施方法。 - (41)前記第3者は前記電子コインの決済のため前記
電子現金情報V_i、X_i、B、Cと、N_iと、前
記問い合せ文q_iと、前記応答文Y_iとを含む情報
を前記銀行に与え、 前記銀行は次の検証式 Y_i^L^i≡X_i・V_i^E^i(modN_
i)、i=1、・・・、k_2 が成立することによって前記問い合せ文q_iに対する
前記応答文Y_iの正当性を検証する工程を含む請求項
40記載の電子現金実施方法。 - (42)前記銀行は前記第4者から受け取った前記利用
者情報と前記認証用情報の組{V_i、X_i}と同じ
値の組が前記銀行の前記メモリ内にあるか検査し、なか
った場合は前記第4者から受けた情報を前記メモリに記
憶し、あった場合は前記メモリ内に記憶されている対応
する問い合せ文q′_iと応答文Y′_iを読出し、前
記読出した問い合せ文q′_iから問い合せ情報E′_
i=f(q′_i)を計算し、次式、 α・L_i+β(E_i−E′_i)=1 を満す整数のα、βをユーリッド互除法により解き、更
に次式 V_i^α・(Y_i/Y′_i)^βmodNi=S
_iより秘密情報S_iを計算し、前記計算した秘密情
報S_iの中から前記電子コインを不正使用した前記利
用者の識別情報ID_pを得る工程を含む請求項41項
記載の電子現金実施方法。 - (43)前記最後のパーティは前記第4者であり、前記
利用者は前記第3者に対し前記電子コインを与えるにあ
たって前記電子現金情報{V_i、X_i、B、C}と
、N_iと、前記素数L_iとを含む情報を前記第3者
に与え、 前記第3者は前記問い合せ文ε_iをk_2個作成して
前記利用者に与え、 前記利用者は前記問い合せ文ε_iと前記秘密乱数情報
R_iと前記秘密情報S_iとを使って次式Y_i=R
_i・S_i^ε^imodN_i、i=1、・・・、
k_2 によりk_2個の前記応答文を作成して前記第3者に与
え、 前記第3者は次式 Y_i≡X_i・V_i^ε^i(modN_i)、i
=1、・・・、k_2 が成立することによって前記応答文の正当性を検証し、
自分の持っている利用許可証■を前記利用者に与え、前
記利用者は受け取った前記第3者の利用許可証■に対し
署名を付けて譲渡証Tを作成し、前記第3者に与える工
程を含む請求項39項記載の電子現金実施方法。 - (44)前記第3者は前記電子コインの使用にあたって
N_iと、L_iと、前記電子現金情報{V_i、X_
i、B、C}と、前記譲渡証Tと、前記問い合せ文ε_
iと、前記応答文Y_iと、前記第3者の利用許可証■
と、前記第3者の利用許可証■の作成に係わった前記第
3者の素数積■_i、素数■_i、利用者情報■_iと
を前記第4者に与え、 前記第4者は次式 ▲数式、化学式、表等があります▼、 が成立することによって前記利用者の応答文Y_iの正
当性を検証し、問い合せ文q_iを作成して前記第3者
に与えると共に問い合せ文関数E_i=f(q_i)に
より問い合せ文情報E_iを計算し、前記第3者は与え
られた問い合せ文q_iから前記問い合せ文関数E_i
=f(q_i)により問い合せ文情報E_iを計算して
次式 ■_i=X_^1^/^■^imod■_i■_i=■
_i・■_i^E^imod■_i、i=1、・・・、
k_2 から応答文■_iを作成し、前記第4者に与え、前記第
4者は前記利用者の認証用情報X_iを使って次式 ■_i≡X_i・■_i^E^i(mod■_i)、i
=1、・・・、k_2 正当性を検証する工程を含む請求項43項記載の電子現
金実施方法。 - (45)前記第4者は前記電子コインの決済のため前記
銀行に対し前記電子現金情報{V_i、X_i、B、C
}と、前記利用者の情報N_i、L_i、Y_iと、前
記譲渡証Tと、前記第3者の情報{■_i、■_i、■
_i、■、ε_i、■_i}と前記第4者の情報を前記
銀行に与え、前記銀行は次式 ▲数式、化学式、表等があります▼、 ■_i≡X_i・■_i^E^i(mod■_i)が成
立することによって前記利用者の応答文Y_iと前記第
3者の応答文■_iの正当性を検証する工程を含む請求
項44項記載の電子現金実施方法。 - (46)前記銀行は前記第4者から受け取った前記利用
者情報と前記認証用情報の組{V_i、X_i}と同じ
値の組が前記銀行の前記メモリ内にあるか検査し、なか
った場合は前記第4者から受けた情報を前記メモリに記
憶し、あった場合は前記メモリ内に記憶されている対応
する問い合せ文q′_iと応答文Y′_iを読出し、前
記読出した問い合せ文q′_iから問い合せ情報E′_
i=f(q′_i)を計算し、次式 α・L_i+β(E_i−E′_i)=1 を満たす整数αとβをユーリッド互除法により解き、更
に次式 V_i^α・(Y_i/Y′_i)^βmodN_i=
S_iより秘密情報S_iを計算し、前記計算した秘密
情報S_iの中から前記電子コインを不正使用した前記
利用者の識別情報ID_pを得る工程を含む請求項45
項記載の電子現金実施方法。 - (47)前記銀行は前記第4者から受け取った前記13
者の前記利用者情報■_iと前記利用者の前記認証用情
報X_iの組{V_i、X_i}と同じ値の組が前記銀
行の前記メモリ内に記憶されているか検査し、なかった
場合は受け取った情報を前記メモリ内に記憶し、あった
場合は前記メモリ内に記憶されている対応する前記第4
者の問い合せ文q′_iとそれに対する前記第3者の応
答文■_iを読出し、前記読出した問い合せ文q′_i
から問い合せ情報E′_i=f(q′_i)を計算し、
次式 α・■_i+β・(E_i−E′_i)=1を満足する
整数αとβをユークリッドの互除法により解き、更に次
式 ■_i^α・(■_i/■_i)^βmod ■_i=
■_iから秘密情報■_iを計算し、前記計算した秘密
情報■_iの中から前記電子コインを不正使用した前記
第3者の識別情報を得る工程を含む請求項45又は46
項記載の電子現金実施方法。 - (48)前記銀行はあらかじめ決めた複数k回の前記電
子コインの使用を許可しており、前記最後のパーティは
前記第3者であり、前記第4者は前記銀行であり、 前記利用者は前記電子コインのj回目、ただし1≦j≦
k、の使用において前記第3者に前記電子現金情報{V
_i、X_i、B、C}と情報{N_i、L_i}を与
え、 前記第3者は前記問い合せ文q_iを作成して前記利用
者に与えると共に問い合せ文関数E_i=f(q_i)
によって問い合せ文情報E_iを計算し、前記利用者は
前記問い合せ文q_iから前記問い合せ文関数E_i=
f(q_i)により問い合せ文情報E_iを計算して次
式 ▲数式、化学式、表等があります▼、 ▲数式、化学式、表等があります▼ から前記応答文Y_iを作成して前記第3者にjと共に
与え、ここでf_j(X_i)はjをパラメータとして
変化するX_iの関数であり、 前記第3者は次式 ▲数式、化学式、表等があります▼、 が成立することによって前記応答文Y_iの正当性を検
証する工程を含む請求項39項記載の電子現金実施方法
。 - (49)前記銀行はあらかじめ決めた複数k回の前記電
子コインの使用を許可しており、前記利用者は前記電子
コインのj回目、1≦j≦k、の使用において前記第3
者に前記電子現金情報{V_i、X_i、B、C}と情
報{N_i、L_i}を与え、 前記第3者は前記問い合せ文情報ε_iを作成して前記
利用に与え、 前記利用者は前記問い合せ文情報ε_iを使って次式 ▲数式、化学式、表等があります▼、 ▲数式、化学式、表等があります▼ により前記応答文Y_iを作成して前記第3者にjと共
に与え、ここでf_j(X_i)はjをパラメータとし
て変化するX_iの関数であり、 前記第3者は次式 ▲数式、化学式、表等があります▼、 が成立することにより前記応答文Y_iの正当性を検証
し、前記第3者が持っている利用許可証■を前記利用者
に与え、 前記利用者は自分の素数積N_iを使って前記第3者の
利用許可証■に対し署名を付けて譲渡証Tとして前記第
3者に与える工程を含む請求項39項記載の電子現金実
施方法。 - (50)前記最後のパーティは前記第4者であり、前記
第3者は前記電子コインの使用にあたって前記電子現金
情報{V_i、X_i、B、C}と前記利用者の情報{
N_i、L_i、T、Y_i、j}と前記第3者の情報
{■_i、■_i、■、ε_i}を前記第4者に与え、 前記第4者は次式 ▲数式、化学式、表等があります▼ が成立することにより前記利用者の応答文Y_iの正当
性を検証し、問い合せ文q_iを作成して前記第3者へ
与えると共に問い合せ文関数E_i=f(q_i)によ
り問い合せ文情報E_iを計算し、前記第3者は前記第
4者からの問い合せ文q_iから前記問い合せ文関数E
_i=f(q_i)により問い合せ文情報E_iを計算
して次式 ▲数式、化学式、表等があります▼、 ▲数式、化学式、表等があります▼ により応答文■_iを作成して前記第4者に与え、前記
第4者は次式 ■_i≡X_i、■_i^E^i(mod■_i)、i
=1、・・・、k_2 が成立することにより前記第3者の応答文■_iの正当
性を検証する工程を含む請求項49項記載の電子現金実
施方法。 - (51)前記銀行は前記電子コインの決済のため前記最
後のパーティから前記電子現金情報{V_i、X_i、
B、C}と、前記利用者の情報{N_i、L_i、Y_
i、j}と、前記第3者の問い合せ文q_iを含む情報
を受け取ると、前記問い合せ文関数E_i=f(q_i
)により問い合せ文情報E_iを計算し、前記利用者情
報V_iと前記認証用情報X_iと前記jの組{V_i
、X_i、j}と同じ値の組が前記銀行の前記メモリ内
に記憶されているか検査し、同じ値の組があった場合は
前記メモリ内から対応する前記第3者の問い合せ文q′
_iとそれに対する前記利用者の応答文Y_iを読出し
、前記読出した問い合せ文から問い合せ文情報E′_i
=f(q′_i)を計算して次式 α・L_i+β・(E_i−E′_i)=1i=1、・
・・、k_2 を満足する整数α、βをユークリッドの互除法により解
いて更に次式 V_i^α・(Y_i/Y′_i)^βmod N_i
=S_iから秘密情報S_iを計算し、その計算した秘
密情報S_iの中から前記電子コインを不正使用した前
記利用者の識別情報ID_pを得る工程を含む請求項4
8項記載の電子現金実施方法。 - (52)銀行が利用者に対し電子現金を発行し、利用者
がその電子現金を使って第3者に支払をする電子現金を
実施する利用者装置において、 識別情報を含む秘密情報を作成する秘密情報作成手段と
、 前記秘密情報作成手段から出力された前記秘密情報から
第1一方向性関数を使って利用者情報を作成する利用者
情報作成手段と、 前記利用者情報作成手段から出力された前記利用者情報
を含む情報に対し一方向性のブラインド署名前処理をし
て撹乱利用者情報を作る第1ブラインド署名前処理手段
と、 前記銀行が前記撹乱利用者情報に署名した署名付撹乱利
用者情報から撹乱を除去して署名付利用者情報を作るブ
ラインド署名後処理手段と、秘密乱数情報を発生する秘
密乱数情報発生手段と、 前記秘密乱数情報発生手段から出力された前記秘密乱数
情報から第2一方向性関数を使って認証用情報を作成す
る認証用情報作成手段と、 前記認証用情報作成手段から出力された前記認証用情報
を含む情報に対し一方向性のブラインド署名前処理をし
て撹乱認証用情報を作る第2ブラインド署名前処理手段
と、 前記銀行が前記撹乱認証用情報に署名した署名付撹乱認
証用情報から撹乱を除去して署名付認証用情報を作る第
2ブラインド署名後処理手段と、前記第3者の問い合せ
文に対し少くとも前記秘密情報を使って応答文を作成す
る応答文作成手段とを含む利用者装置。 - (53)前記第2ブラインド署名前処理手段は前記認証
用情報と前記署名付利用者情報を連結して連結文を作る
ための連結手段と、前記連結文を撹乱数で撹乱して前記
撹乱利用者情報を作成する一方向性前処理関数器とを含
む請求項52項記載の利用者装置。 - (54)前記第3者から与えられた前記第3者の署名付
利用者情報に前記利用者が署名を付けるための一方向性
署名関数器を含む請求項53項記載の利用者装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8883890A JPH0752460B2 (ja) | 1989-04-03 | 1990-04-03 | 電子現金実施方法及びその装置 |
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP8157189 | 1989-04-03 | ||
JP1-81571 | 1989-05-18 | ||
JP12294489 | 1989-05-18 | ||
JP12294589 | 1989-05-18 | ||
JP1-122945 | 1989-05-18 | ||
JP1-122944 | 1989-05-18 | ||
JP8883890A JPH0752460B2 (ja) | 1989-04-03 | 1990-04-03 | 電子現金実施方法及びその装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0373065A true JPH0373065A (ja) | 1991-03-28 |
JPH0752460B2 JPH0752460B2 (ja) | 1995-06-05 |
Family
ID=27466591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP8883890A Expired - Fee Related JPH0752460B2 (ja) | 1989-04-03 | 1990-04-03 | 電子現金実施方法及びその装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0752460B2 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04367070A (ja) * | 1991-06-14 | 1992-12-18 | Nippon Telegr & Teleph Corp <Ntt> | 電子現金実施方法 |
JPH06162059A (ja) * | 1991-11-15 | 1994-06-10 | Citibank Na | 電子通貨システム |
WO1996002890A1 (fr) * | 1994-07-18 | 1996-02-01 | Ntt Data Communications Systems Corporation | Livre de banque electronique et systeme de traitement d'informations sur les transactions monetaires utilisant celui-ci |
US6539364B2 (en) | 1997-12-26 | 2003-03-25 | Nippon Telegraph And Telephone Corporation | Electronic cash implementing method and equipment using user signature and recording medium recorded thereon a program for the method |
JP2003338816A (ja) * | 2002-03-15 | 2003-11-28 | Matsushita Electric Ind Co Ltd | 個人情報認証を行うサービス提供システム |
JP2006121687A (ja) * | 2004-10-19 | 2006-05-11 | Samsung Electronics Co Ltd | 使用者の匿名性を保証するデジタルチケットを利用した電子商取り引き方法及び装置 |
JP2021520732A (ja) * | 2018-04-13 | 2021-08-19 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | 即時オフラインのブロックチェイントランザクションのセキュリティを高めるのに適しているコンピュータにより実装されるシステム及び方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7072820B2 (ja) * | 2017-06-01 | 2022-05-23 | 株式会社 エヌティーアイ | データ構造、送信装置、受信装置、決済装置、方法、コンピュータプログラム |
-
1990
- 1990-04-03 JP JP8883890A patent/JPH0752460B2/ja not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04367070A (ja) * | 1991-06-14 | 1992-12-18 | Nippon Telegr & Teleph Corp <Ntt> | 電子現金実施方法 |
JPH06162059A (ja) * | 1991-11-15 | 1994-06-10 | Citibank Na | 電子通貨システム |
WO1996002890A1 (fr) * | 1994-07-18 | 1996-02-01 | Ntt Data Communications Systems Corporation | Livre de banque electronique et systeme de traitement d'informations sur les transactions monetaires utilisant celui-ci |
US6029887A (en) * | 1994-07-18 | 2000-02-29 | Ntt Data Communications Systems Corporation | Electronic bankbook and processing system for financial transaction information using electronic bankbook |
US6539364B2 (en) | 1997-12-26 | 2003-03-25 | Nippon Telegraph And Telephone Corporation | Electronic cash implementing method and equipment using user signature and recording medium recorded thereon a program for the method |
JP2003338816A (ja) * | 2002-03-15 | 2003-11-28 | Matsushita Electric Ind Co Ltd | 個人情報認証を行うサービス提供システム |
JP4510392B2 (ja) * | 2002-03-15 | 2010-07-21 | パナソニック株式会社 | 個人情報認証を行うサービス提供システム |
JP2006121687A (ja) * | 2004-10-19 | 2006-05-11 | Samsung Electronics Co Ltd | 使用者の匿名性を保証するデジタルチケットを利用した電子商取り引き方法及び装置 |
US7730314B2 (en) | 2004-10-19 | 2010-06-01 | Samsung Electronics Co., Ltd. | Method and apparatus for electronic commerce using digital ticket to provide anonymity |
JP4728081B2 (ja) * | 2004-10-19 | 2011-07-20 | 三星電子株式会社 | 使用者の匿名性を保証するデジタルチケットを利用した電子商取り引き方法及び装置 |
JP2021520732A (ja) * | 2018-04-13 | 2021-08-19 | エヌチェーン ホールディングス リミテッドNchain Holdings Limited | 即時オフラインのブロックチェイントランザクションのセキュリティを高めるのに適しているコンピュータにより実装されるシステム及び方法 |
Also Published As
Publication number | Publication date |
---|---|
JPH0752460B2 (ja) | 1995-06-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100358426B1 (ko) | 전자현금거래방법 | |
Chaum et al. | Untraceable electronic cash | |
US7505944B2 (en) | Method and system of payment by electronic cheque | |
CA2013368C (en) | Method and apparatus for implementing electronic cash | |
EP0518365B1 (en) | method of implementing use of electronic cash | |
Brands | Rethinking public key infrastructures and digital certificates: building in privacy | |
AU698271B2 (en) | Restricted blind signatures | |
Hwang et al. | A simple micro-payment scheme | |
Asokan et al. | State of the art in electronic payment systems | |
JPH0373065A (ja) | 電子現金実施方法及びその装置 | |
Claessens et al. | Anonymity controlled electronic payment systems | |
Wang et al. | A consumer scalable anonymity payment scheme with role based access control | |
Kane | On the use of continued fractions for electronic cash | |
JP3171227B2 (ja) | 信託機関付き電子紙幣実施方法 | |
JP2879792B2 (ja) | 電子現金の分割使用方法およびその装置 | |
JPH02266464A (ja) | 認証方法及びそれに用いる装置 | |
JP3859983B2 (ja) | ブラインド署名方法、その装置、そのプログラム及びその記録媒体 | |
JP3435677B2 (ja) | 追跡可能な電子現金実施方法及びその装置 | |
Brands | Electronic Cash. | |
JP3599493B2 (ja) | 発行機関分離型番号登録式電子現金方法および利用者装置 | |
JPH10171903A (ja) | 電子現金方法及びこれに用いる装置 | |
JP2805494B2 (ja) | 認証方法及びそれに用いる装置 | |
Turdimatov et al. | PROSPECTS FOR USE OF ELECTRONIC SIGNATURE IN MANAGEMENT OF ELECTRONIC DOCUMENTS IN ENTERPRISES AND ORGANIZATIONS | |
JPH0520344A (ja) | 電子現金方式 | |
Alotaibi | Design and evaluate a fair exchange protocol based on online Trusted Third Party (TTP) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |