[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JPH0520344A - Electronic cash system - Google Patents

Electronic cash system

Info

Publication number
JPH0520344A
JPH0520344A JP3170131A JP17013191A JPH0520344A JP H0520344 A JPH0520344 A JP H0520344A JP 3170131 A JP3170131 A JP 3170131A JP 17013191 A JP17013191 A JP 17013191A JP H0520344 A JPH0520344 A JP H0520344A
Authority
JP
Japan
Prior art keywords
user
bank
electronic
information
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
Application number
JP3170131A
Other languages
Japanese (ja)
Other versions
JP2631781B2 (en
Inventor
Tatsuaki Okamoto
龍明 岡本
Kazuo Ota
和夫 太田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP17013191A priority Critical patent/JP2631781B2/en
Priority to US07/895,036 priority patent/US5224162A/en
Priority to DE69210878T priority patent/DE69210878T3/en
Priority to EP92109934A priority patent/EP0518365B2/en
Publication of JPH0520344A publication Critical patent/JPH0520344A/en
Application granted granted Critical
Publication of JP2631781B2 publication Critical patent/JP2631781B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

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

Abstract

PURPOSE:To prevent the wrong use and to permit transfer. CONSTITUTION:When a user 1 transfers electronic paper money, a node corresponding to the amount of money to be transferred in a hierarchical structure table corresponding to a minimum use unit of electronic paper money is determined, and the remainder power root of a value corresponding to this node and electronic paper money are sent to a user 2, and the user 2 verifies their validity to send question information to the user 1, and the user 1 obtains the remainder power root of the value of the pertinent node in the hierarchical structure table to generate a response text to this question and sends it to the user 2, and the user 2 confirms the validity of the response text from the user 1 to the question, and transfer of the amount of monmey with electronic paper money is recognized if it is correct.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【産業上の利用分野】この発明は、電子現金を発行する
銀行と、電子現金を使用する利用者と、利用者から電子
現金を受領して銀行との間で決済を行う小売店とにより
電子通信システムを利用して構成され、電子的な現金を
実現する電子現金方式である。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a bank that issues electronic cash, a user who uses electronic cash, and a retail store that receives electronic cash from the user and makes payment with the bank. It is an electronic cash system that is configured using a communication system and realizes electronic cash.

【0002】[0002]

【従来の技術】電気通信システムを用いた電子資金移動
が普及しつつある。一般に換金可能な証書(手形、小切
手など)は、証書の象徴的機能(証書を保持している人
に対して、証書に記載してある権利が供与されること)
を備えている。証書を電気通信システムで取り扱う場
合、証書はディジタル化されたデータであり、容易にコ
ピーを作成して複数回の換金が可能となる。プリペイド
カードのような電子的現金を実現するときにも、この問
題が生じる。すなわち、プリペイドカードをコピーする
ことで、不正に複数回の換金あるいは商品の購入が可能
となる。一方、クレジットカードでは、このような2重
使用の危険性はほとんどないが、その代わりに、利用者
の利用履歴がすべてカード会社に知られてしまうという
欠点がある(つまり、プライバシが保証されていな
い)。これら問題の解決策として、計算機能を備えたカ
ードで換金時にカード読み取り装置とカードとの間のデ
ータのやりとりを工夫することで、プライバシを保証
し、かつカードの2重使用を検出する方式が提案されて
いる。たとえば、Chaum,Fiat,Naor:
“Untraceable Electric Cas
h”,Proc.of CRYPTO′88がある。し
かしながら、Chaum等の方式では、電子現金を他の
利用者に譲渡することはできない、さらに一回発行され
た電子現金を分割して利用する(例えば、1万円の電子
現金を合計利用額が1万円になるまで何回も利用する)
ことはできない。また、Chaum等の方式では、一回
毎の電子現金発行時に、銀行と利用者の間でかなりの量
の通信と処理を行う必要がある。
2. Description of the Related Art Electronic fund transfer using telecommunication systems is becoming popular. Generally, a certificate that can be exchanged for cash (such as bills and checks) is a symbolic function of the certificate (the person holding the certificate is entitled to the rights described in the certificate).
Is equipped with. When the certificate is handled in a telecommunication system, the certificate is digitized data, and it is possible to easily make a copy and redeem it multiple times. This problem also occurs when implementing electronic cash, such as prepaid cards. That is, by copying the prepaid card, it is possible to illegally redeem money or purchase the product multiple times. On the other hand, with a credit card, there is almost no risk of such double use, but instead, there is a drawback in that the entire usage history of the user is known to the card company (that is, privacy is guaranteed). Absent). As a solution to these problems, there is a method of ensuring privacy and detecting double use of the card by devising the exchange of data between the card reading device and the card at the time of cash conversion with a card having a calculation function. Proposed. For example, Chaum, Fiat, Naor:
"Untraceable Electric Cas
h ", Proc. of CRYPTO'88. However, in the method such as Chaum, electronic cash cannot be transferred to another user, and electronic cash issued once is divided and used (for example, (Use electronic cash of 10,000 yen many times until the total usage amount reaches 10,000 yen)
It is not possible. In addition, in the method such as Chaum, it is necessary to perform a considerable amount of communication and processing between the bank and the user at the time of issuing electronic cash each time.

【0003】[0003]

【発明が解決しようとする課題】この発明の目的は、プ
ライバシを保証し、いかなる結託による不正使用をも防
ぐ電子現金方式において、他の利用者に電子現金を譲渡
可能とし、かつ一回発行された電子現金を発行時に決め
られた額になるまで、何回も分割して利用でき、しかも
電子現金発行時の処理手順を効率化するような電子現金
方式を提供することにある。
SUMMARY OF THE INVENTION An object of the present invention is to make electronic cash transferable to other users and to be issued once in an electronic cash system that guarantees privacy and prevents unauthorized use due to any collusion. Another object of the present invention is to provide an electronic cash system in which electronic cash can be divided and used up to a predetermined amount at the time of issuance and the processing procedure at the time of issuing electronic cash can be made efficient.

【0004】[0004]

【課題を解決するための手段】この発明によれば、銀行
に新たに口座を開く利用者は、利用者の識別情報を含ん
だ秘密情報(利用者情報)より乱数で攪乱したK組(K
は2以上の整数)のブラインド情報を作成し、銀行は、
そのブラインド情報の中のL組(L<K)の情報の開示
を求め、開示された情報が正しく作成されていれば、残
りの未開示の組の情報に対しブラインド署名を作成し利
用者に送信し、利用者は、銀行から受信したブラインド
署名から利用者情報に対する銀行の署名を計算して、こ
の利用者情報とその銀行署名との対を利用許可証とし、
利用者が、ある金額の電子現金(電子紙幣と呼ぶ)を銀
行より引き出す場合は、利用者は、秘密の乱数より認証
用情報を生成し、その認証用情報と利用許可証より、引
き出す電子紙幣の金額に相当するブラインド情報を生成
して銀行に送信し、銀行は、そのブラインド情報より、
引出し金額に相当するブラインド署名を作成し利用者に
送信し、利用者は、銀行から受信したブラインド署名か
ら認証用情報と利用許可証に対する銀行の署名を計算し
て、この認証用情報及び利用許可証と、引出し金額に対
応する銀行署名との対を電子紙幣とし、小売店でその電
子紙幣を使用する際には、利用者は該当電子紙幣の利用
残高以内の利用額を定めた後に、電子紙幣の利用最小単
位に対応した階層構造テーブルを定め、さらに、そのテ
ーブル中の利用金額に対応するノードを定め、電子紙幣
を提示すると共に、該当ノードに対応する値の剰余べき
乗根を小売店に送り、小売店はその正当性を検証した後
に、正しければ、利用者に質問情報を送り、利用者は、
小売店からの質問に対応した応答文を階層構造テーブル
中の該当ノードに対応する値の剰余平方根を求めること
により生成して小売店に提示し、小売店は、小売店の問
い合わせに対する利用者の応答文の正当性を確認し、そ
れが正しければ、該当利用金額の電子紙幣による支払い
を認め、後日小売店は決済のために銀行に利用者と小売
店の間の相互通信文を送信し、銀行は、それら相互通信
文の正当性を検査して、合格のときにはその情報をメモ
リに記憶し、同じ電子紙幣が不正に使用されると、利用
許可証を生成するときに用いた利用者の秘密情報を算出
する。
According to the present invention, a user who newly opens an account in a bank uses a set of K (K) that is disturbed by random numbers from secret information (user information) including identification information of the user.
Is a whole number greater than or equal to 2) and the bank creates
Request the disclosure of L sets (L <K) of the blind information, and if the disclosed information is created correctly, create a blind signature for the remaining undisclosed set information and ask the user. Then, the user calculates the bank signature for the user information from the blind signature received from the bank, and the pair of the user information and the bank signature is used as a license,
When a user withdraws a certain amount of electronic cash (called an electronic bill) from a bank, the user generates authentication information from a secret random number and uses the authentication information and a license to withdraw the electronic bill. The blind information corresponding to the amount of is generated and transmitted to the bank, and the bank uses the blind information to
A blind signature corresponding to the withdrawal amount is created and transmitted to the user, and the user calculates the authentication information and the bank signature for the license from the blind signature received from the bank, and the user uses this authentication information and license. When a pair of a certificate and a bank signature corresponding to the withdrawal amount is used as an electronic banknote and the electronic banknote is used at a retail store, the user determines the amount of money within the usage balance of the corresponding electronic banknote and then A hierarchical structure table corresponding to the minimum unit of banknote usage is defined, a node corresponding to the amount of money used in the table is defined, electronic banknotes are presented, and the surplus power root of the value corresponding to the corresponding node is presented to the retail store. After confirming the legitimacy, the retailer sends the question information to the user, if correct, and the user
The response sentence corresponding to the question from the retail store is generated by finding the remainder square root of the value corresponding to the corresponding node in the hierarchical structure table and presented to the retail store. Check the validity of the response, and if it is correct, allow the payment of the applicable usage amount by electronic banknote, and at a later date, the retail store sends a mutual communication message between the user and the retail store to the bank for settlement, The bank checks the legitimacy of these mutual communication sentences, stores the information in the memory when it passes, and if the same electronic bill is illegally used, it will be stored in the memory of the user who used to generate the license. Calculate confidential information.

【0005】譲渡元利用者が譲渡先利用者に電子紙幣を
譲渡する際には、その電子紙幣の利用残高以内の譲渡額
を定めた後に、電子紙幣の利用最小単位に対応した階層
構造テーブルを定め、さらに、そのテーブル中の譲渡金
額に対応するノードを定め、譲渡元利用者はその電子紙
幣を提示すると共に、譲渡金額該当ノードに対応する値
の剰余べき乗根を譲渡先利用者に送り、その譲渡先利用
者はその正当性を検証すると共に、譲渡元利用者に質問
情報を送り、その譲渡元利用者は、譲渡先利用者からの
質問に対応した応答文を階層構造テーブル中の該当ノー
ドに対応する値の剰余べき乗根を求めることにより生成
して譲渡先利用者に提示し、譲渡先利用者は、その譲渡
先利用者の先の問い合わせ(質問情報)に対する譲渡元
利用者からの応答文の正当性を確認し、それが正しけれ
ば該当金額の電子紙幣による譲渡を認める。
When the transfer source user transfers the electronic bill to the transfer destination user, after determining the transfer amount within the usage balance of the electronic bill, a hierarchical structure table corresponding to the minimum unit of use of the electronic bill is set. Furthermore, the node corresponding to the transfer amount in the table is determined, the transfer source user presents the electronic bill, and sends the surplus power root of the value corresponding to the transfer amount applicable node to the transfer destination user, The transferee user verifies its validity and sends question information to the transferee user, and the transferee user responds to the question from the transferee user with a corresponding response in the hierarchical structure table. It is generated by obtaining the modular exponentiation of the value corresponding to the node and presented to the transferee user. The transferee user receives the inquiry (question information) of the transferee user from the transferee user. response Check the validity of, acknowledge the transfer by the electronic bill of the corresponding amount of money if it is correct.

【0006】上記利用形態における不正使用を検出する
ため、上述のように譲渡元利用者と譲渡先利用者との確
認、また利用者と小売店との確認で剰余べき乗根を利用
することは、例えばウィリアムズ数と呼ばれる合成数を
法とする偶数べき乗根を利用することであり、ここで
は、2つの異なるタイプの偶数べき乗根を用いて、法で
ある合成数の素因数分解ができるという事実が重要な役
割をする。つまり、利用者が不正使用をすれば、法の素
因数分解を通じて、利用者の秘密情報である利用者のI
Dが露見するしかけになっている。
In order to detect unauthorized use in the above-mentioned usage form, it is not possible to use the modular exponentiation root by confirming the transfer source user and the transfer destination user, and by confirming the user and the retail store as described above. For example, it is to use an even power root modulo a composite number called Williams number. Here, the fact that two different types of even power roots can be used to perform prime factorization of a composite number that is a modulus is important. Play an important role. In other words, if the user makes an illegal use, I's secret information of the user is obtained through factorization of the modulus.
D is the trigger to reveal.

【0007】[0007]

【実施例】図1Aにこの発明が適用されるシステムを示
し、銀行100と利用者1(400)と利用者2(50
0)と小売店300とが通信回線等を介して接続されて
いる。利用者1と利用者2とに共通の処理手順について
は図1Bに示すように、利用者200の処理手順として
示す。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS FIG. 1A shows a system to which the present invention is applied. The bank 100, user 1 (400) and user 2 (50).
0) and the retail store 300 are connected via a communication line or the like. The processing procedure common to the users 1 and 2 is shown as the processing procedure of the user 200, as shown in FIG. 1B.

【0008】(1)利用許可証の発行処理 まず、銀行で口座を新たに開設した利用者(利用者1,
利用者2)が、利用許可証を銀行より発行してもらう場
合について説明する。利用者は利用者の識別情報IDp
(利用者の口座番号など)を含んだ秘密情報(利用者情
報)より乱数で攪乱したK組のブラインド情報を作成
し、銀行は、そのブラインド情報の中でL組(L<K)
の情報の開示を求め、開示された情報が正しく作成され
ていれば、残りの未開示の(K−L)組の情報に対しブ
ラインド署名を作成し利用者に送信し、利用者は、銀行
から受信したブラインド署名から利用者情報に対する銀
行の署名を計算して、この利用者情報とその銀行署名と
の対を利用許可証とする。
(1) Issuing process of usage permit First, a user who newly opened an account at a bank (user 1,
The case where the user 2) has the bank issue a usage permit will be described. The user is the identification information IDp of the user
K sets of blind information are created by randomizing from secret information (user information) including (user's account number, etc.), and the bank creates L sets (L <K) of the blind information.
If the disclosed information is created correctly, a blind signature is created for the remaining undisclosed (K-L) set of information, and the blind signature is sent to the user. The bank signature for the user information is calculated from the blind signature received from the user, and the pair of the user information and the bank signature is used as the license.

【0009】銀行は、利用許可証に対応する情報とし
て、ディジタル署名で用いるRSA暗号の秘密鍵(dA,
nA)及び公開鍵(eA, nA)の対を作成しておき公開鍵e
A, nAを公開しておく。一方、利用者は、ディジタル署
名で用いるRSA暗号の秘密鍵(dP, nP)及び公開鍵
(eP, nP)の対を作成しておき、(eP, nP)をIDpと
対にして公開しておく。
The bank uses, as information corresponding to the usage permit, a private key (dA,
nA) and public key (eA, nA) pair is created, and public key e
Make A and nA public. On the other hand, the user creates a pair of the secret key (dP, nP) and the public key (eP, nP) of the RSA encryption used in the digital signature, and publishes the pair (eP, nP) with the IDp. deep.

【0010】利用者が銀行から利用認可証を発行しても
らう手順は、以下の通り。銀行と利用者の間の交信例を
図2に示す。利用者(200)の利用許可証発行処理の
構成を図3に、銀行のそれを図4にそれぞれ示す。以下
では、i=1,2,…,Kとする。 ステップ1 利用者は、乱数発生器201を用いて乱数
i,iを生成して、IDpと共に連結器204に入力
し、その出力IDp‖ai を一方向ハッシュ関数演算器
205に入力し、さらにその出力 g(IDp‖ai )を
利用者の署名用秘密鍵(dP, nP)と共にRSA署名器2
06に入力し、(g (IDp‖ai )) dPmod nPを求め
る。
Even if the user issues a license from the bank
The procedure for leap is as follows. Example of communication between bank and user
As shown in FIG. Of user (200) usage permit issuance processing
The structure is shown in Fig. 3 and that of a bank is shown in Fig. 4. Less than
Then, i = 1, 2, ..., K. Step 1 The user uses the random number generator 201 to generate a random number.
ai,riIs generated and input to the coupler 204 together with IDp
And its output IDp ‖aiOne-way hash function calculator
205, and the output g (IDp / | ai)
Private key for signature of user (dP,nP) with RSA signer 2
06, enter (g (IDp ‖ai)) dPfind mod nP
It

【0011】ステップ2 署名器206の出力をIDP
‖ai と共に連結器207に入力して、Si =IDP
i ‖( g(IDP ‖ai ))dPmod nPを求める。さら
に、Si を分割器208に入力し、Si =S1,i ‖S
2,i になるようなS1,i とS2, i を求める。 ステップ3 素数生成器202を用いて、Pi ≡3(mo
d 8)及びQi ≡7(mod 8)を満足する2つの素数P
i,i を生成して、乗算器203を用いてその積Ni
i i を求める。
Step 2 The output of the signer 206 is ID P
Input to the coupler 207 together with ‖a i , S i = ID P
a i (g (ID P ‖a i) ) determine the dP mod nP. Furthermore, S i is input to the divider 208, and S i = S 1, i ‖S
Find S 1, i and S 2, i such that 2, i . Step 3 Using the prime number generator 202, P i ≡3 (mo
Two prime numbers P satisfying d 8) and Q i ≡ 7 (mod 8)
i, Q i is generated and its product N i =
Find P i Q i .

【0012】ステップ4 S1,i 及びS2,i をNi と共
に剰余べき乗演算器209及び211にそれぞれ入力
し、I1,i =(S1,i )2mod Ni とI2,i =(S2,i
2 modNi を求め、それらを連結器210に入力しIi
=I1,i ‖I2,i を計算する。
Step 4 S 1, i and S 2, i are input to the modular exponentiators 209 and 211 together with N i , and I 1, i = (S 1, i ) 2 mod N i and I 2 , i. = (S 2 , i )
2 modN i are calculated, and these are input to the coupler 210, and I i
= I 1, i ‖I 2, i is calculated.

【0013】ステップ5 Ni,i を連結器212に入
力し、その出力Ii ‖Ni を一方向ハッシュ関数演算器
213に入力し、 g(Ii ‖Ni )を得る。一方、ri
を銀行の公開鍵(eA, nA)と共にRSA暗号器215に
入力し、(ri eAmod nAを求める。次に、それら出力
を剰余乗算器214に入力し、ブラインド情報Wi
(ri eA g(Ii ‖Ni )modnAを求めて、Wi (i
=1,2,…,K)を銀行に送信する。
Step 5 N i, I i is input to the concatenator 212, and its output I i ‖N i is input to the one-way hash function calculator 213 to obtain g (I i ‖N i ). On the other hand, r i
Is input to the RSA encryptor 215 together with the public key (eA, nA) of the bank to obtain (r i ) eA mod nA. Next, those outputs are input to the residue multiplier 214, and the blind information W i =
(R i ) eA g (I i ‖N i ) modnA is obtained, and W i (i
, 1, 2, ..., K) to the bank.

【0014】ステップ6 次に、銀行は、利用者に、そ
のうちのK/2組のai,i,i (g(IDp‖
i ))dPmod np,IDp,ri を開示させて、利用
者がステップ1からステップ5を正しく実行しているこ
とを確認する。このため、銀行100は、1からKの中
からランダムにK/2個を選び、それを開示要求として
利用者に送信する(ここでは、表記を簡単にするため、
K/2+1,K/2+2,…,Kが開示指定されたと仮
定して説明する)。K/2個でなく、Kの一部であれば
よいが、K/2とすると処理効率がよい。
Step 6 Next, the bank asks the user to set K / 2 pairs of a i, P i, Q i (g (IDp ‖
a i )) Disclose dP mod np, IDp, r i to confirm that the user is performing steps 1 to 5 correctly. Therefore, the bank 100 randomly selects K / 2 from 1 to K and sends it to the user as a disclosure request (here, in order to simplify the notation,
It is assumed that K / 2 + 1, K / 2 + 2, ..., K are designated as disclosed). It may be a part of K instead of K / 2, but if it is K / 2, the processing efficiency is good.

【0015】ステップ7 利用者200は、銀行から開
示要求を受信すると、銀行の指示するK/2組のai,
i,i,( g ( IDp‖ai ))dPmod np,IDp,r
i を開示する。銀行は、iが開示対象の時、次の手順を
行う。 ステップ8 利用者200より受信したai,IDpより
( g ( IDp‖ai ))dPmod nPの署名の正当性を利用
者の公開鍵(eP, nP)を用いて連結器104でai とI
Dpを連結し、それを一方向ハッシュ関数演算器105
へ供給し、一方( g ( IDp‖ai dPmod nPとnP,eP
とをRSA暗号器107に入力して暗号化しこの結果と
演算器105の出力とを比較器111で検証する。ここ
で、検証に合格しなければ処理を中断する。
Step 7 Upon receiving the disclosure request from the bank, the user 200 receives K / 2 pairs of a i, P specified by the bank.
i, Q i, (g (IDp / | a i )) dP mod np, IDp, r
Disclose i . The bank performs the following steps when i is subject to disclosure. Step 8 From a i, IDp received from the user 200
(g (IDp ‖ a i )) dP mod The validity of the signature of nP is verified by ai and I in the concatenator 104 using the public key (eP , nP) of the user.
Dp is concatenated and the one-way hash function calculator 105 is connected to it.
On the other hand, (g (IDp ‖ a i ) dP mod nP and nP, eP
Are input to the RSA encryptor 107 to be encrypted, and the result and the output of the arithmetic unit 105 are verified by the comparator 111. Here, if the verification is not passed, the processing is interrupted.

【0016】ステップ9 利用者200より受信したa
i,i,i,( g ( IDp‖ai dPmod nP IDpか
ら、乗算器103を用いてNi =Pi,i を求め、さら
に、連結器108でai ,IDpを連結してSi とし、
i を分割器109で分割し、それぞれ剰余べき乗演算
器110,112でNi と剰余べき演算し、その結果を
連結器111で連結してIi を求める。
Step 9 a received from the user 200
i, P i, Q i, (g (IDp ‖ a i ) dP mod nP IDp is used to obtain N i = P i, Q i using the multiplier 103, and the concatenator 108 calculates a i and IDp. Concatenate into S i ,
Dividing the S i in the divider 109, respectively calculated N i and the remainder should be the modulo exponentiation arithmetic unit 110 obtains the I i by concatenating the result by coupler 111.

【0017】ステップ10 上で計算したIi,i を連
結器113で連結し、さらに一方向ハッシュ関数演算器
114に供給し、受信したri と公開鍵eA, nAをRSA
暗号器117へ供給し、その出力と演算器114の出力
とを剰余乗算器115へ供給してW′i =(ri eA g
(Ii ‖Ni)mod nAを計算する。 ステップ11 前に受信したWi の値とW′i の値を比
較器116で比較し、一致すれば合格とし、不合格の場
合、処理を中断する。銀行は、K/2個のすべてのiに
ついて上記の検査を行い、いずれかの検査に不合格のと
きには、以降の処理を中止する。すべての検査に合格の
ときには、銀行は、開示対象でないi=1,…,K/2
に対して、次の手順でブラインド署名を行う。
The I i, N i calculated in step 10 are concatenated by the concatenator 113 and further supplied to the one-way hash function calculator 114, and the received r i and public keys eA , nA are RSA.
It is supplied to the encryptor 117, and the output thereof and the output of the arithmetic unit 114 are supplied to the residue multiplier 115, and W ′ i = (r i ) eA g
Compute (I i ‖N i ) mod nA. Step 11 The value of W i and the value of W ′ i received before are compared by the comparator 116. If they match, the result is passed, and if not, the process is interrupted. The bank performs the above inspection for all K / 2 i's, and if any of the inspections fails, the bank stops further processing. If all inspections pass, the bank is not subject to disclosure i = 1, ..., K / 2
For this, a blind signature is made in the following procedure.

【0018】ステップ12 剰余乗算器118とRSA
署名作成器119を用いて、銀行の署名用秘密鍵(nA,
dA)とWi とからW=(Π Wi dAmod nAを求め、つ
まりブラインド署名を作り、このWを利用者に送信す
る。 ステップ13 利用者は、銀行からWを受信すると、r
i と公開鍵(eA,nA)から、剰余乗算器216、剰余除
算器217を用いて利用許可証B=W/(Πr i )mod
nA=(Π g (Ii ‖Ni dAmod nA.を計算する。Πは
i=1からK/2までである。
Step 12 Modulus multiplier 118 and RSA
Using the signature generator 119, the bank signature private key (nA,
dA) and WiAnd from W = (Π Wi)dAfind mod nA,
Create a blind blind signature and send this W to the user
It Step 13 When the user receives W from the bank,
iAnd the public key (eA, nA), the remainder multiplier 216, the remainder division
Using the calculator 217, the usage permit B = W / (Πr i) Mod
nA = (Π g (Ii‖Ni)dAmod nA. To calculate. Π is
i = 1 to K / 2.

【0019】(2)電子現金の発行処理 次に、利用者が銀行から電子紙幣を発行してもらう手順
を示す。まず、銀行は、電子紙幣の金額に対応する情報
として、RSAディジタル署名で用いる秘密鍵(dA′n
A′)及び公開鍵(eA′nA′)の対を作成しておき、(e
A′nA′)をその金額と共に公開しておく。ここで、銀
行と利用者の間の交信例を図5に示す。利用者200及
び銀行100の各電子紙幣発行処理の構成を図6A,B
にそれぞれ示す。以下では、i=1,2,…,K/2と
する。
(2) Electronic Cash Issuing Process Next, a procedure for a user to issue an electronic bill from a bank will be described. First, the bank uses the private key (dA'n) used in the RSA digital signature as information corresponding to the amount of the electronic bill.
A pair of A ') and public key (eA'nA') is created, and (e
A'nA ') is disclosed with the amount. Here, an example of communication between the bank and the user is shown in FIG. 6A and 6B show the configuration of each electronic bill issuing process of the user 200 and the bank 100.
Are shown respectively. In the following, i = 1, 2, ..., K / 2.

【0020】ステップ1 乱数発生器201を用いて生
成した乱数b,rと利用認可証B及び電子紙幣の発行金
額に相当する銀行の公開鍵(eA′,nA′)からrとeA′
nA′とをRSA暗号器215へ供給して認証用情報を生
成し、これとh,Bとから連結器204、一方向ハッシ
ュ関数演算器205、剰余乗算器214を用いて、 Z=reA′g(B‖b)mod nA′ を計算して引き出す電子紙幣の金額に相当するブライン
ド情報を得る。
Step 1 Random numbers b and r generated using the random number generator 201, the usage certificate B, and the public key (eA ', nA') of the bank corresponding to the issued amount of the electronic banknote, r and eA '.
nA ′ is supplied to the RSA encryptor 215 to generate authentication information, and from this and h and B, Z = r eA using the concatenator 204, the one-way hash function calculator 205, and the remainder multiplier 214. By calculating'g (B | b) mod nA ', blind information corresponding to the amount of the electronic bill to be withdrawn is obtained.

【0021】ステップ2 このZを電子紙幣の金額情報
と共に銀行へ送る。 ステップ3 Zを受信した銀行は、Zと電子紙幣の金額
に対応する秘密鍵(dA′nA′)とをRSA署名生成器1
19に入力し、Z′=ZdA′mod nA′を求め、つまり引
き出し金額に相当するブラインド署名を作成してそれを
利用者に送付する。同時に、利用者の口座から該当する
金額を引き落とすか、利用者から該当する金額を受領す
る。
Step 2 This Z is sent to the bank together with the amount information of the electronic bill. Step 3 The bank receiving Z sends the RSA signature generator 1 the Z and the private key (dA′nA ′) corresponding to the amount of the electronic bill.
Input in 19 to obtain Z '= ZdA'mod nA', that is, create a blind signature corresponding to the withdrawal amount and send it to the user. At the same time, either withdraw the applicable amount from the user's account or receive the applicable amount from the user.

【0022】ステップ4 銀行よりZ′を受信した利用
者は、乱数rと銀行より受信した情報Z′及び公開鍵n
A′剰余除算器217に入力し、認証用情報及び利用許
可証に対する銀行の署名 C=Z′/rmod nA′=( g (B‖b)dA′mod nA′ を求める。ここで、Cが電子紙幣に相当する。
Step 4 The user who receives Z'from the bank receives the random number r, the information Z'received from the bank and the public key n.
'Input to modular division 217, authentication information, and use the signature C = Z banks for license' A Request / rmod nA '= (g ( B‖b) dA' mod nA '. Here, C is It corresponds to an electronic banknote.

【0023】(3)電子現金の支払 次に、利用者が、電子紙幣を用いて小売店で支払いをす
る場合について説明する。なお、電子現金を他の利用者
へ譲渡する場合、譲渡された電子現金を用いて小売店で
支払いをする場合については後で説明し、ここでは銀行
から発行されたまゝの電子紙幣を用いた支払い方法につ
いて述べる。まず、電子紙幣の金額及びその使用最小単
位(例えば、10円単位等)に対応して、階層的構造テ
ーブルが定められる。例えば、25円単位で、100円
の紙幣を利用する場合の階層的構造テーブルを図7Aに
示す。ここで、例えば、75円を使う場合、ノード00
とノード010が該当するノードとなる。この該当ノー
ドは、以下のルールで定められる。
(3) Payment of electronic cash Next, a case where the user pays at a retail store using electronic bills will be described. In addition, when transferring electronic cash to other users, we will explain later how to use the transferred electronic cash to pay at retail stores.Here, we used the original electronic banknote issued by the bank. Describe the payment method. First, a hierarchical structure table is defined in correspondence with the amount of electronic bill and the minimum unit of use (for example, a unit of 10 yen). For example, FIG. 7A shows a hierarchical structure table in the case of using a 100-yen bill in 25-yen units. Here, for example, when using 75 yen, node 00
And the node 010 becomes the corresponding node. This applicable node is defined by the following rules.

【0024】1.あるノードの直下の子ノードの該当金
額の合計が、そのノードの該当金額となる。 2.あるノードが一度使われた後は、そのノードと連結
するすべての親(先祖)ノード及び子(子孫)ノードは
利用してはならない。 3.各ノードは、一回以上使用してはならない。
1. The sum of the applicable amounts of child nodes immediately below a certain node is the applicable amount of the node. 2. Once a node has been used once, all parent (ancestor) and child (descendant) nodes linked to it should not be used. 3. Each node may not be used more than once.

【0025】このルールに従うと、先の例では、ノード
00とノード010が使用された後で、使用できるノー
ドは、ノード011(25円)のみである。つまり、上
のルールに従うことにより、使用できる合計金額は、額
面通り100円となると共に、25円単位でどのような
使い方でもできる。この階層的構造テーブルは、電子紙
幣の額面金額を大きくし、さらに利用単位金額を小さく
すれば、その階層が増えることになる。例えば、額面が
100万円で、1円単位で利用できる電子紙幣の場合、
その階層は、およそ20となる(log2 100000
0≒20)。
According to this rule, in the above example, only the node 011 (25 yen) can be used after the node 00 and the node 010 are used. In other words, by following the rules above, the total amount of money that can be used will be 100 yen at face value, and any amount of money can be used in 25 yen units. In this hierarchical structure table, if the denomination amount of the electronic bill is increased and the usage unit amount of money is further reduced, the number of layers increases. For example, in the case of electronic banknotes whose face value is 1 million yen and can be used in units of 1 yen,
The hierarchy is about 20 (log 2 100,000).
0≈20).

【0026】次に、利用者と小売店の間の交信例を図8
に示す。小売店300と利用者200の電子現金利用手
続の処理構成をそれぞれ図9,10に示す。多くの場
合、利用金額に相当する階層構造テーブルの該当ノード
は複数あるが、各ノードに対応する処理は、基本的に同
じアルゴリズムで行われ、それぞれのノードの処理を並
列に行うことができるため、以下では、1つのノードに
対する処理のみを説明する。この該当ノードをノードj
1 2 …jt (jl ∈{0,1})とする(図7B)。
また、以下では、i=1,2,…,K/2とする。
Next, an example of communication between the user and the retail store is shown in FIG.
Shown in. 9 and 10 show the processing configurations of the electronic cash use procedure of the retail store 300 and the user 200, respectively. In many cases, there are multiple corresponding nodes in the hierarchical structure table corresponding to the usage amount, but the processing corresponding to each node is basically performed by the same algorithm, and the processing of each node can be performed in parallel. In the following, only the process for one node will be described. This corresponding node is node j
Let 1 j 2 ... J t (j l ε {0, 1}) (FIG. 7B).
In the following, i = 1, 2, ..., K / 2.

【0027】なお、以下の手順で用いる記号の意味をこ
こでまとめて記しておく。
The meanings of the symbols used in the following procedure are summarized here.

【0028】[0028]

【数1】 なお、以上において、(/)は、ヤコビ記号を意味す
る。ヤコビ記号の効率的計算法は、例えば、藤崎、森
田、山本著の「数論への出発(数学セミナー増刊)」
(日本評論社)の166頁に記されている。 ステップ1 利用者200は、まず、C,Ni よりラン
ダム関数Γ演算器220を用いて、Γi,0 を求める。
[Equation 1] In the above, (/) means the Jacobian symbol. An efficient calculation method for the Jacobi symbol is, for example, "Departure to Number Theory (Special Issue in Mathematics Seminar)" by Fujisaki, Morita, and Yamamoto.
(Nippon Hyoronsha), page 166. Step 1 The user 200 first obtains Γ i, 0 from C, N i using the random function Γ calculator 220.

【0029】[0029]

【数2】 次に、Cと利用金額と対応するノードj1 …jt とNi
をランダム関数Ω演算器221に入力し、Ωi,j1...jl
(l=1,…,t)を生成する。
[Equation 2] Next, the nodes j 1 ... J t and N i corresponding to C and the usage amount are
Is input to the random function Ω calculator 221 and Ω i, j1 ... jl
(L = 1, ..., T) is generated.

【0030】[0030]

【数3】 さらに、Γi,0 ,Ωi,j1...jl (l=1,…,t),N
i より剰余べき乗演算器222、剰余乗算器223、剰
余べき乗根演算器224を用いて、利用金額に対応する
ノードに対する値の剰余べき乗根Xi,j1...jt を求め
る。ここでNi はウィリアムズ数である。
[Equation 3] Furthermore, Γ i, 0 , Ω i, j1 ... jl (l = 1, ..., t), N
From i , the remainder exponentiation unit 222, the remainder multiplication unit 223, and the remainder exponentiation unit 224 are used to obtain the remainder exponentiation root X i, j1 ... jt of the value corresponding to the node corresponding to the usage amount. Here, N i is the Williams number.

【0031】[0031]

【数4】 ステップ2 利用者200は、(Ii ,Ni ,X
i,j1...jt )(i=1,…,K/2)及び(B,C)を
小売店300に送る。 ステップ3 小売店300は、連結器304、一方向ハ
ッシュ関数演算器305、剰余乗算器309、RSA暗
号器310、比較器311を用いて、公開鍵(eA, nA)
によりBのIi ‖Ni に対する署名の正当性を(つま
り、BeA=(Πg(Ii ‖Ni ))mod nAが成立するか
どうかを、Πはi=1からK/2まで)、また、連結器
312、一方向ハッシュ関数演算器313、RSA暗号
器314、比較器315を用いて公開鍵(eA′,nA ′)
によりCのB‖bに対する署名の正当性を(つまり、C
eA' =(g(B‖b))mod nA′が成立するかどうか
を)検査する。この検査が、不合格のときは以降の処理
を中止する。
[Equation 4] Step 2 The user 200 uses (I i , N i , X
i, j1 ... jt ) (i = 1, ..., K / 2) and (B, C) are sent to the retail store 300. Step 3 The retail store 300 uses the concatenator 304, the one-way hash function calculator 305, the remainder multiplier 309, the RSA encryptor 310, and the comparator 311 to open the public key (eA, nA).
The validity of the signature for I i ‖N i of B by (i.e., B eA = (whether Πg (I i ‖N i)) mod nA is established, from i = 1 to K / 2 [pi) , The public key (eA ′, nA ′) using the concatenator 312, the one-way hash function calculator 313, the RSA encryptor 314, and the comparator 315.
To verify the authenticity of C's signature on B ‖ b (that is, C
eA ' = (g (B | b)) mod nA' is checked. If this inspection fails, the subsequent processing is stopped.

【0032】ステップ4 小売店300は、ヤコビ記号
演算器316及び比較器317を用いて、Xi,j1...jt
が以下の関係を満足するかどうかを検証する。この検査
が、不合格のときは以降の処理を中止する。 (Xi,j1...jt /Ni )=−1, 次に、C,Ni よりランダム関数Γ演算器324を用い
て、
Step 4 The retail store 300 uses the Jacobi symbol calculator 316 and the comparator 317 to determine X i, j1 ... jt.
Verify that satisfies the following relation. If this inspection fails, the subsequent processing is stopped. (X i, j1 ... jt / N i ) = − 1, then using C, N i , the random function Γ calculator 324,

【0033】[0033]

【数5】 を求める。また、C,j1...t ,Ni をランダム関数
Ω演算器321に入力し、Ωi,j1...jl (l=1,…,
t)を生成する。
[Equation 5] Ask for. Further, C, j 1 ... j t , N i are input to the random function Ω calculator 321 and Ω i, j1 ... jl (l = 1, ...,
generate t).

【0034】[0034]

【数6】 さらに、[Equation 6] further,

【0035】[0035]

【数7】 より剰余べき乗演算器322、剰余乗算器323、剰余
除算器319、比較器320を用いて、Xi,j1...jt
以下の関係を満足するかどうかを検証する。この検査
が、不合格のときは以降の処理を中止する。
[Equation 7] Using the modular exponentiation calculator 322, the modular multiplier 323, the modular divider 319, and the comparator 320, it is verified whether X i, j1 ... jt satisfy the following relationship. If this inspection fails, the subsequent processing is stopped.

【0036】[0036]

【数8】 ここで、di は、±1,±2のいずれかの値である。 ステップ5 小売店は、乱数発生器301より取り出し
た値Ei ∈{0,1}(i=1,…,K/2)を利用者
に質問情報として送付する。 ステップ6 利用者は、ランダム関数Λ演算器225を
用いて、C,j1...t ,Ni よりΛi,j1...jt を計算
する。
[Equation 8] Here, d i is one of ± 1 and ± 2. Step 5 The retail store sends the value E i ε {0,1} (i = 1, ..., K / 2) extracted from the random number generator 301 to the user as question information. Step 6 The user uses the random function Λ calculator 225 to calculate Λ i, j1 ... jt from C, j 1 ... j t , N i .

【0037】[0037]

【数9】 次に、剰余平方根演算器226を用いて、Λi,j1...jt
及びEi より、Yi,j1 ...jt を計算する。
[Equation 9] Next, using the remainder square root calculator 226, Λ i, j1 ... jt
And E i , Y i, j1 ... jt is calculated.

【0038】[0038]

【数10】 利用者は、Yi,j1...jt を小売店に送る。 ステップ7 小売店は、ヤコビ記号演算器325及び比
較器326を用いて、Yi,j1...jt が以下の関係を満足
するかどうかを検証する。この検査が、不合格のときは
以降の処理を中止する。
[Equation 10] The user sends Y i, j1 ... jt to the retail store. Step 7 The retail shop uses the Jacobian symbol calculator 325 and the comparator 326 to verify whether Y i, j1 ... jt satisfy the following relationship. If this inspection fails, the subsequent processing is stopped.

【0039】(Yi,j1...jt /Ni )=(−1)Ei 次に、C,j1 …jt ,Ni をランダム関数Λ演算器3
28に入力し、さらにその出力及びYi,j1...jt ,Ni
に対し、剰余べき乗演算器327、剰余除算器329、
比較器330を用いて、以下の関係を満足するかどうか
を検証する。
[0039] (Y i, j1 ... jt / N i) = (- 1) Ei Then, C, j 1 ... j t , random function N i lambda calculator 3
28, and the output and Y i, j1 ... jt , N i
On the other hand, the remainder exponentiation calculator 327, the remainder divider 329,
The comparator 330 is used to verify whether the following relationship is satisfied.

【0040】[0040]

【数11】 ここで、d′i は、±1,±2のいずれかの値である。
この検査に合格すれば、小売店は、その電子紙幣のノー
ドj1 …jt に該当する金額の支払を正当なものとみな
し、それを受け取る。 (4)電子現金の譲渡 まず、先に示したように電子紙幣の金額及びその使用最
小単位に対応して、階層的構造テーブルを定め、さら
に、譲渡金額に対応した階層構造テーブル中のノードを
定める。
[Equation 11] Here, d' i is one of ± 1 and ± 2.
If this inspection is passed, the retail store considers the payment of the amount corresponding to the nodes j 1 ... J t of the electronic bill to be valid and receives it. (4) Transfer of electronic cash First, as described above, a hierarchical structure table is determined corresponding to the amount of electronic banknotes and the minimum unit of use thereof, and the node in the hierarchical structure table corresponding to the transfer amount is set. Establish.

【0041】次に、利用者1が、利用者2に電子現金を
譲渡する場合について説明する。利用者1と利用者2の
間の交信例を図11に示す。なお、以下「′」のついた
変数は利用者1に関するものであり、「″」のついた変
数は利用者2に関するものである。また、変数の意味
は、特に断らない限り、これまでに定義した意味に従う
ものとする。 ステップ1 譲渡金額該当ノードをノードj1 2 …j
t(j1 ∈{0,1})とする(図7B)。利用者1(4
00)は、(3)節で述べた電子現金支払処理の利用者
として、また利用者2(500)は、(3)節の小売店
として、利用者1(400)が利用者2(500)にノ
ードj1 2 …jt に相当する金額を譲渡する処理を
(3)節の支払処理手順に従って実行する。なお、多く
の場合、譲渡金額に相当する階層構造テーブルの該当ノ
ードは、複数あるが、(3)節で示したように、各ノー
ドに対応する処理は、基本的に同じアルゴリズムで行わ
れ、それぞれのノードの処理を並列に行うことができ
る。
Next, the case where the user 1 transfers the electronic cash to the user 2 will be described. An example of communication between the user 1 and the user 2 is shown in FIG. In the following, variables marked with “′” relate to the user 1 and variables marked with “″” relate to the user 2. Also, the meanings of variables shall follow the meanings defined so far, unless otherwise specified. Step 1 The transfer amount applicable node is node j 1 j 2 ... j
Let t (j 1 ε {0,1}) (FIG. 7B). User 1 (4
00) is a user of the electronic cash payment processing described in section (3), user 2 (500) is a retail store in section (3), and user 1 (400) is user 2 (500). ) to run in accordance with the payment procedure of the node j 1 j 2 ... the process to transfer an amount equivalent to the value of the j t (3) clause. In many cases, there are a plurality of corresponding nodes in the hierarchical structure table corresponding to the transfer amount, but as shown in section (3), the processing corresponding to each node is basically performed by the same algorithm, The processing of each node can be performed in parallel.

【0042】ステップ2 利用者1(400)は、以下
のような譲渡証Tを作成し、それを利用者2(500)
に渡す。 T=(<g(C‖j1j2 …jt♯…♯j′1 j′2 …j′t′‖B″)>QR)1/2modN1′ ここで、j1 2 …jt♯…♯j′1j′2…j′t′は、譲
渡金額に対応する全ノードを表現したものである。
Step 2 User 1 (400) creates a transfer certificate T as shown below and uses it for User 2 (500).
Pass to. T = (<g (C ‖j 1 j 2 ... j t # ... # j ' 1 j' 2 ... j ' t ′ ‖B ″)> QR ) 1/2 modN 1 ′ where j 1 j 2 … j t # ... #j ′ 1 j ′ 2 ... j ′ t ′ represent all the nodes corresponding to the transfer amount.

【0043】ステップ3 利用者2(500)は、Tの
正当性を確認した後に、上記手順(ステップ1,2)の
履歴H′を譲渡された電子現金として保持する。 (5)譲渡された電子現金による支払い 次に、利用者2(500)が、譲渡された電子現金を用
いて、小売店(300)で支払いをする手順を説明す
る。
Step 3 After confirming the validity of T, the user 2 (500) holds the history H'of the procedure (steps 1 and 2) as the transferred electronic cash. (5) Payment by Transferred Electronic Cash Next, a procedure in which the user 2 (500) uses the transferred electronic cash to make a payment at the retail store (300) will be described.

【0044】まず、先に示したように電子紙幣の金額及
びその使用最小単位に対応して、階層的構造テーブルを
定め、さらに、譲渡された電子現金に対応した階層構造
テーブル中のノードの中で、支払いに利用するノード
(金額)を定める。利用者2(500)と小売店(30
0)の間の交信例を図12に示す。 ステップ1 利用者2(500)は、まず、譲渡された
電子現金H′を小売店(300)に送る。また、支払金
額及びそれに対応するノードを小売店に通知する。
First, as described above, a hierarchical structure table is determined corresponding to the amount of electronic bill and the minimum unit of use, and further, among the nodes in the hierarchical structure table corresponding to the transferred electronic cash. Then, the node (amount of money) used for payment is determined. User 2 (500) and retail store (30
Fig. 12 shows an example of communication during 0). Step 1 User 2 (500) first sends the transferred electronic cash H'to the retail store (300). It also notifies the retailer of the payment amount and the corresponding node.

【0045】ステップ2 小売店(300)では、H′
の正当性を検証する。また、小売店(300)は、支払
いに対応するノードが、譲渡された電子現金の対応する
ノードに含まれていることを検証する。もし、これら検
証に合格しなければ、処理を中止する。 ステップ3 利用者2(500)は、上記した(3)節
の手順に従って、該当するノードの支払処理を行う。
(3)節の手順を実行するに当たって、Cは、譲渡され
たCを用い、Ni 及びBとしては、利用者2(500)
のNi″及びB″を用いる。
Step 2 At the retail store (300), H '
Verify the legitimacy of. The retail store (300) also verifies that the node corresponding to the payment is included in the corresponding node of the electronic cash transferred. If these verifications are not passed, the processing is stopped. Step 3 The user 2 (500) performs payment processing of the corresponding node according to the procedure of the above section (3).
In executing the procedure in section (3), C uses the transferred C, and N i and B are the user 2 (500).
, N i ″ and B ″.

【0046】(6)決 済 最後に、小売店と銀行の間の決済方法について説明す
る。小売店(300)は、利用者(200)との電子現
金利用時の交信履歴Hを銀行に提出し、銀行から該当す
る金額の支払いを受ける。銀行は、Hの正当性を検査
し、検査に合格すれば、Hを記憶して、小売店の口座へ
該当する金額を払い込む。銀行は、電子現金の不正利用
を見つけると、Hを取り出して、それらの情報より不正
者のIDを確定する。
(6) Settlement Finally, the settlement method between the retail store and the bank will be described. The retail store (300) submits the communication history H with the user (200) when using electronic cash to the bank, and receives the payment of the corresponding amount from the bank. The bank checks the legitimacy of H, and if it passes the check, remembers H and pays the relevant amount to the account of the retail store. When the bank finds an unauthorized use of electronic cash, it takes out H and determines the ID of the illicit person from the information.

【0047】[0047]

【発明の効果】この発明は、Chaumらの方式と同様
に、利用者のプライバシィを保障でき、かつ不正使用を
検出できる、という特徴を備えている。さらに、この発
明では、従来のChaumらの方法では不可能であった
利用者間の電子紙幣の譲渡を可能としている。つまり、
銀行より電子紙幣を発行された利用者1が他の利用者2
にその電子紙幣を譲渡することができる。ここで、利用
者1が使用済みの電子現金を利用者2に譲渡する場合
や、複数利用者に同一電子現金を譲渡する場合等の不正
使用を行った場合は、同一電子現金を2回使用の場合と
同様に利用者1の秘密情報が露見する。
As in the method of Chaum et al., The present invention is characterized by being able to guarantee the privacy of the user and detect illegal use. Furthermore, the present invention enables transfer of electronic banknotes between users, which is not possible with the conventional method of Chaum et al. That is,
User 1 who has been issued an electronic banknote by a bank is another user 2
The electronic bill can be transferred to. Here, if the user 1 makes an unauthorized use such as transferring used electronic cash to the user 2 or transferring the same electronic cash to a plurality of users, the same electronic cash is used twice. The confidential information of the user 1 is exposed as in the case of.

【図面の簡単な説明】[Brief description of drawings]

【図1】この発明が適用されるシステム例を示すブロッ
ク図。
FIG. 1 is a block diagram showing an example of a system to which the present invention is applied.

【図2】利用許可証発行手続における交信例を示す図。FIG. 2 is a diagram showing an example of communication in a license issuance procedure.

【図3】利用者における利用許可証発行処理の構成を示
すブッロク図。
FIG. 3 is a block diagram showing a configuration of a user's license issuance process.

【図4】銀行における利用許可証発行処理の構成を示す
ブッロク図。
FIG. 4 is a block diagram showing a configuration of a license issuing process in a bank.

【図5】電子紙幣発行手順における交信例を示す図。FIG. 5 is a diagram showing an example of communication in an electronic bill issuing procedure.

【図6】A,Bはそれぞれ電子紙幣発行処理における利
用者側及び銀行側の各構成を示すブロック図。
6A and 6B are block diagrams showing respective configurations on the user side and the bank side in the electronic bill issuing process.

【図7】電子現金の階層的構成テーブルを示す図。FIG. 7 is a diagram showing a hierarchical configuration table of electronic cash.

【図8】電子現金の利用手続における交信例を示す図。FIG. 8 is a diagram showing an example of communication in a procedure of using electronic cash.

【図9】利用者における電子現金利用処理の構成を示す
ブロック図。
FIG. 9 is a block diagram showing a configuration of electronic cash use processing by a user.

【図10】小売店における電子現金利用処理の構成を示
すブロック図。
FIG. 10 is a block diagram showing a configuration of electronic cash use processing in a retail store.

【図11】電子現金の譲渡の交信例を示す図。FIG. 11 is a diagram showing an example of communication for transfer of electronic cash.

【図12】譲渡された電子現金による支払いの交信例を
示す図。
FIG. 12 is a diagram showing an example of communication for payment by electronic cash transferred.

Claims (3)

【特許請求の範囲】[Claims] 【請求項1】 電子現金を発行する機関(銀行と呼
ぶ)、電子現金を譲渡する利用者1,電子現金を譲渡さ
れる利用者2から構成された電子現金方式において、 銀行に新たに口座を開く上記利用者1及び2はそれぞれ
利用者の識別情報を含んだ秘密情報(利用者情報)より
乱数で攪乱したK組(Kは2以上の整数)のブラインド
情報を作成し、銀行は、そのブラインド情報の中でL組
(L<K)の情報の開示を求め、開示された情報が正し
く作成されていれば、残りの未開示のK−L組の情報に
対しブラインド署名を作成し利用者に送信し、利用者
は、銀行から受信したブラインド署名から利用者情報に
対する銀行の署名を計算して、この利用者情報とその銀
行署名の対を利用許可証として受け、 上記利用者1が、秘密の乱数より認証用情報を生成し、
その認証用情報と上記利用者1の上記利用許可証より、
引き出す電子現金(電子紙幣と呼ぶ)の金額に相当する
ブラインド情報を生成して銀行に送信し、銀行は、その
ブラインド情報より、引き出し金額に相当するブライン
ド署名を作成し上記利用者1に送信し、利用者1は、銀
行から受信したブラインド署名から認証用情報と利用者
1の利用許可証に対する銀行の署名を計算して、この認
証用情報及び利用許可証と、引き出し金額に対応する銀
行署名との対を電子紙幣とし、 上記利用者1が上記利用者2に電子紙幣を譲渡する際に
は、該当電子紙幣の利用残高以内の譲渡額を定めた後
に、電子紙幣の利用最小単位に対応した階層構造テーブ
ルを定め、さらに、そのテーブル中の譲渡金額に対応す
るノードを定め、上記利用者1は、電子紙幣を提示する
と共に、譲渡金額該当ノードに対応する値の剰余べき乗
根を上記利用者2に送り、その利用者2は、その正当性
を検証すると共に、利用者1に質問情報を送り、利用者
1は、利用者2からの質問に対応した応答文を階層構造
テーブル中の該当ノードに対応する値の剰余べき乗根を
求めることにより生成して利用者2に提示し、利用者2
は、利用者2の問い合わせに対する利用者1の応答文の
正当性を確認し、それが正しければ、該当金額の電子紙
幣による譲渡を認めることを特徴とする電子現金方式。
1. An electronic cash system comprising an institution that issues electronic cash (called a bank), a user 1 who transfers electronic cash, and a user 2 who transfers electronic cash. Open The above users 1 and 2 each create blind information of K sets (K is an integer of 2 or more) perturbed by random numbers from secret information (user information) including identification information of the user, and the bank Requesting disclosure of L sets (L <K) of the blind information, and if the disclosed information is created correctly, create and use a blind signature for the remaining undisclosed K-L set of information. The user calculates the bank signature for the user information from the blind signature received from the bank, receives the pair of the user information and the bank signature as a license, and the user 1 , Authentication information from secret random numbers Generated,
From the authentication information and the usage permit of the user 1,
Blind information corresponding to the amount of electronic cash to be withdrawn (called electronic bill) is generated and transmitted to the bank, and the bank creates a blind signature corresponding to the withdrawal amount from the blind information and transmits it to the user 1. , The user 1 calculates the bank signature for the authentication information and the license of the user 1 from the blind signature received from the bank, and the bank signature corresponding to the authentication information and license and the withdrawal amount. When the user 1 transfers the electronic banknote to the user 2, after the pair is set to an electronic banknote, the transfer amount within the usage balance of the corresponding electronic banknote is determined, and then the minimum usage unit of the electronic banknote is handled. The hierarchical structure table is defined, and the node corresponding to the transfer amount in the table is defined. The user 1 presents the electronic bill and displays the value corresponding to the transfer amount corresponding node. The surplus exponentiation root is sent to the user 2, the user 2 verifies its validity, and sends question information to the user 1, and the user 1 responds to the question from the user 2. Is generated by obtaining a modular exponentiation root of the value corresponding to the corresponding node in the hierarchical structure table and presented to the user 2,
Is an electronic cash system characterized by confirming the legitimacy of the response sentence of the user 1 in response to the inquiry of the user 2 and, if it is correct, permitting the transfer of electronic money of the corresponding amount.
【請求項2】 電子現金を発行する機関(銀行と呼
ぶ)、電子現金を譲渡する利用者1,電子現金を譲渡さ
れる利用者2,利用者2から電子現金を受領する機関
(小売店と呼ぶ)から構成された電子現金方式におい
て、 請求項1の発明により、利用者2が利用者1より電子現
金を譲渡され、 その利用者2が、その譲渡された電子紙幣を小売店で使
用する際には、譲渡金額以内の利用額を定めた後に、譲
渡された電子紙幣に対応した階層構造テーブルのノード
の中の利用金額に対応するノードを定め、利用者2は、
譲渡された電子紙幣を提示すると共に、該当ノードに対
応する値の剰余べき乗根を小売店に送り、小売店はその
正当性を検証すると共に、利用者2に質問情報を送り、
利用者2は小売店からの質問に対応した応答文を階層構
造テーブル中の該当ノードに対応する値の剰余べき乗根
を求めることにより応答文を生成して小売店に提示し、
小売店は、小売店の問い合わせに対する利用者2の応答
文の正当性を確認し、それが正しければ、該当利用金額
の電子紙幣による支払いを認めることを特徴とする電子
現金方式。
2. An institution that issues electronic cash (referred to as a bank), a user who transfers electronic cash 1, a user to whom electronic cash is transferred 2, an institution that receives electronic cash from users 2 (a retail store and According to the invention of claim 1, the user 2 transfers electronic cash from the user 1, and the user 2 uses the transferred electronic banknote in a retail store. In this case, after determining the usage amount within the transfer amount, the node corresponding to the usage amount in the nodes of the hierarchical structure table corresponding to the transferred electronic bill is defined, and the user 2
While presenting the transferred electronic banknote, the surplus power root of the value corresponding to the relevant node is sent to the retail store, and the retail store verifies its validity and sends the question information to the user 2.
User 2 generates a response sentence by presenting the response sentence corresponding to the question from the retail store to the retail store by obtaining the modular exponentiation root of the value corresponding to the corresponding node in the hierarchical structure table,
The retail store confirms the validity of the response sentence of the user 2 to the inquiry of the retail store, and if it is correct, the payment by the electronic bill of the applicable usage amount is accepted, and the electronic cash system.
【請求項3】 電子現金を発行する機関(銀行と呼
ぶ)、電子現金を譲渡する利用者1,電子現金を譲渡さ
れる利用者2,利用者2から電子現金を受領して銀行と
の間で決済を行う機関(小売店と呼ぶ)から構成された
電子現金方式において、 請求項1の発明により、利用者2が利用者1より電子現
金を譲渡され、その利用者2が請求項2の発明により、
その譲渡された電子現金を小売店に支払い、後日その小
売店は決済のために銀行に利用者2と小売店との間の相
互通信文を送信し、銀行は、それら相互通信文の正当性
を検査して、合格のときにはその情報をメモリに記憶
し、その電子紙幣が不正に使用されると、利用許可証を
生成するときに用いた利用者の秘密情報を算出できるこ
とを特徴とする電子現金方式。
3. An institution that issues electronic cash (referred to as a bank), a user who transfers electronic cash 1, a user to whom electronic cash is transferred 2, and a bank that receives electronic cash from user 2 According to the invention of claim 1, the user 2 is assigned electronic cash by the user 1, and the user 2 of claim 2 According to the invention,
The transferred electronic cash is paid to the retail store, and at a later date, the retail store sends a mutual correspondence between the user 2 and the retail store to the bank for settlement, and the bank verifies the mutual correspondence. If the electronic bill is illicitly used, the confidential information of the user used when generating the license can be calculated. Cash method.
JP17013191A 1991-06-14 1991-07-10 Electronic cash implementation method Expired - Lifetime JP2631781B2 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP17013191A JP2631781B2 (en) 1991-07-10 1991-07-10 Electronic cash implementation method
US07/895,036 US5224162A (en) 1991-06-14 1992-06-08 Electronic cash system
DE69210878T DE69210878T3 (en) 1991-06-14 1992-06-12 Procedure for implementing the use of electronic money
EP92109934A EP0518365B2 (en) 1991-06-14 1992-06-12 method of implementing use of electronic cash

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP17013191A JP2631781B2 (en) 1991-07-10 1991-07-10 Electronic cash implementation method

Publications (2)

Publication Number Publication Date
JPH0520344A true JPH0520344A (en) 1993-01-29
JP2631781B2 JP2631781B2 (en) 1997-07-16

Family

ID=15899232

Family Applications (1)

Application Number Title Priority Date Filing Date
JP17013191A Expired - Lifetime JP2631781B2 (en) 1991-06-14 1991-07-10 Electronic cash implementation method

Country Status (1)

Country Link
JP (1) JP2631781B2 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996018161A1 (en) * 1994-12-07 1996-06-13 Omron Corporation Transaction processing system and method, and terminal equipment and ic card used for the transaction processing system and method
JP2002540653A (en) * 1999-01-27 2002-11-26 フランス テレコム Method, system, and apparatus for proving message integrity and / or authenticity using entity authenticity and / or special prime factors
US6736590B1 (en) 1999-01-21 2004-05-18 Steag Hama Tech Ag Lifting device for substrates
JP2006121687A (en) * 2004-10-19 2006-05-11 Samsung Electronics Co Ltd Method and apparatus for electronic commerce using digital ticket to guarantee anonymity of user

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996018161A1 (en) * 1994-12-07 1996-06-13 Omron Corporation Transaction processing system and method, and terminal equipment and ic card used for the transaction processing system and method
US6736590B1 (en) 1999-01-21 2004-05-18 Steag Hama Tech Ag Lifting device for substrates
JP2002540653A (en) * 1999-01-27 2002-11-26 フランス テレコム Method, system, and apparatus for proving message integrity and / or authenticity using entity authenticity and / or special prime factors
JP2003513480A (en) * 1999-01-27 2003-04-08 フランス テレコム A method for proving the authenticity of an entity and / or the integrity of a message
JP4772189B2 (en) * 1999-01-27 2011-09-14 ファンタム・ダイアー・エヌヴェー・エルエルシー Method, system, and apparatus for proving message integrity and / or authenticity using entity authenticity and / or special prime factors
JP4772965B2 (en) * 1999-01-27 2011-09-14 ファンタム・ダイアー・エヌヴェー・エルエルシー Method for proving entity authenticity and / or message integrity
JP2006121687A (en) * 2004-10-19 2006-05-11 Samsung Electronics Co Ltd Method and apparatus for electronic commerce using digital ticket to guarantee anonymity of user
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 (en) * 2004-10-19 2011-07-20 三星電子株式会社 Electronic commerce method and apparatus using digital ticket to guarantee user's anonymity

Also Published As

Publication number Publication date
JP2631781B2 (en) 1997-07-16

Similar Documents

Publication Publication Date Title
Law et al. How to make a mint: the cryptography of anonymous electronic cash
EP0755136B1 (en) Method and apparatus for implementing traceable electronic cash
Low et al. Anonymous credit cards
US5224162A (en) Electronic cash system
AU720200B2 (en) Electronic-monetary system
US7505944B2 (en) Method and system of payment by electronic cheque
Yacobi Efficient electronic money
TW200820108A (en) Method for automatically validating a transaction, electronic payment system and computer program
US6636969B1 (en) Digital signatures having revokable anonymity and improved traceability
Mambo et al. Unlinkable electronic coupon protocol with anonymity control
Chida et al. Digital money–a survey
JP2879792B2 (en) Method and apparatus for splitting and using electronic cash
Wang et al. A consumer scalable anonymity payment scheme with role based access control
JP2631781B2 (en) Electronic cash implementation method
JP2631776B2 (en) Electronic cash implementation method
Franklin et al. The blinding of weak signatures
JP3171227B2 (en) Electronic banknote implementation method with a trust institution
JP3334013B2 (en) Electronic cash distribution method
JP3599493B2 (en) Electronic cash method and user device with separate issuing agency number registration type
JP3435677B2 (en) Trackable electronic cash execution method and device
Saputra et al. A study of electronic cash paradigm
Camp An atomicity-generating protocol for anonymous currencies
JP3171228B2 (en) Electronic bill execution method using multiple trust institutions
JPH10171903A (en) Electronic cash method and device used for the method
JP3334018B2 (en) Electronic cash method and electronic cash system

Legal Events

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

Free format text: PAYMENT UNTIL: 20090425

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20090425

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20100425

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20100425

Year of fee payment: 13

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

Free format text: PAYMENT UNTIL: 20110425

Year of fee payment: 14

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

Free format text: PAYMENT UNTIL: 20120425

Year of fee payment: 15

EXPY Cancellation because of completion of term
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120425

Year of fee payment: 15