JP3334013B2 - Electronic cash distribution method - Google Patents

Electronic cash distribution method

Info

Publication number
JP3334013B2
JP3334013B2 JP9339094A JP9339094A JP3334013B2 JP 3334013 B2 JP3334013 B2 JP 3334013B2 JP 9339094 A JP9339094 A JP 9339094A JP 9339094 A JP9339094 A JP 9339094A JP 3334013 B2 JP3334013 B2 JP 3334013B2
Authority
JP
Japan
Prior art keywords
bank
user
electronic cash
value
node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP9339094A
Other languages
Japanese (ja)
Other versions
JPH07302288A (en
Inventor
龍明 岡本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP9339094A priority Critical patent/JP3334013B2/en
Publication of JPH07302288A publication Critical patent/JPH07302288A/en
Application granted granted Critical
Publication of JP3334013B2 publication Critical patent/JP3334013B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】DETAILED DESCRIPTION OF THE INVENTION

【0001】[0001]

【産業上の利用分野】本発明は、電子現金流通方法に係
り、特に、電子通信システムで電子的な現金を電子紙幣
として、これにより、電子現金支払い、電子現金発行等
を行うことが可能な電子現金流通方法に関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an electronic cash distribution method , and more particularly to an electronic communication system in which electronic cash is used as electronic bills, thereby enabling electronic cash payment, electronic cash issuance, and the like. It relates to an electronic cash distribution method .

【0002】[0002]

【従来の技術】電気通信システムを用いた電子資金移動
が普及しつつある。一般に換金可能な証書(手形、小切
手等)は、証書の象徴的機能(証書を保持している人に
対して証書に記載してある権利が供与させること)を備
えている。証書を電気通信システムで取り扱う場合に
は、証書の内容をディジタル化したデータとして取り扱
う。また、電子的現金としては、プリペイドカードやク
レジットカードがある。
2. Description of the Related Art Electronic funds transfer using telecommunications systems is becoming widespread. Generally, redeemable certificates (bills, checks, etc.) have the symbolic function of the certificate (letting the person holding the certificate be granted the rights described in the certificate). When a certificate is handled in a telecommunications system, the contents of the certificate are handled as digitized data. Electronic cash includes a prepaid card and a credit card.

【0003】計算機能を備えたカードで換金時にカード
読み取り装置とカードとの間のデータのやりとりを工夫
することで、プライバシを保証し、かつカードの2重使
用を検出する方式が提案されている。例えば、Chaum, F
iat, Naor:'Untraceable Electric Cash', Proc. of CR
YPTO'88 がある。
A method has been proposed in which a card having a calculation function is devised to exchange data between the card reader and the card at the time of cashing, thereby guaranteeing privacy and detecting double use of the card. . For example, Chaum, F
iat, Naor: 'Untraceable Electric Cash', Proc. of CR
There is YPTO'88.

【0004】[0004]

【発明が解決しようとする課題】しかしながら、上記の
証書は、ディジタル化されたデータであり、容易にコピ
ーを作成して複数回の換金が可能となる。同様にプリペ
ードカードのような電子的現金を実現するときにも、こ
の問題が生じる。即ち、プリペードカードをコピーする
ことで、不正に複数回の換金あるいは、商品の購入が可
能となる。一方、クレジットカードでは、このような2
重使用の危険性はほとんどないが、その代わりに、利用
者の利用履歴がすべてカード会社に知られてしまうとい
う欠点がある(つまり、プライバシが保証されていな
い)。
However, the above-mentioned certificate is digitized data, and a copy can be easily made and redeemed a plurality of times. Similarly, this problem arises when realizing electronic cash such as a prepaid card. In other words, by copying the prepaid card, it becomes possible to illegally redeem the cash or purchase the product a plurality of times. On the other hand, with credit cards,
There is little danger of heavy use, but instead there is the disadvantage that all of the user's usage history is known to the card company (that is, privacy is not guaranteed).

【0005】また、Chaum 等の方式では、1回発行され
た電子現金を分割して利用する(例えば、1万円の電子
現金を合計利用額が1万円になるまで何回も利用する)
ことはできない。
In the method of Chaum et al., Electronic cash issued once is divided and used (for example, electronic cash of 10,000 yen is used many times until the total usage amount becomes 10,000 yen).
It is not possible.

【0006】本発明は、上記の点に鑑みなされたもの
で、従来の方式の問題点を解決し、プライバシを保証
し、いかなる結託による不正使用をも防ぐ電子現金方式
において、一回発行された電子現金を発行時に決められ
た額になるまで何回も分割して利用できるような電子現
流通方法を提供することを目的とする。
The present invention has been made in view of the above points, and has been issued once in an electronic cash system which solves the problems of the conventional system, guarantees privacy, and prevents unauthorized use by any collusion. It is an object of the present invention to provide an electronic cash distribution method in which electronic cash can be divided and used many times until it reaches an amount determined at the time of issuance.

【0007】[0007]

【課題を解決するための手段】図1は、本発明の原理を
説明するための図(その1)である。
FIG. 1 is a diagram (part 1) for explaining the principle of the present invention.

【0008】[0008]

【0009】本発明は、電子現金を発行する機関の装置
(以下、銀行側装置)と、該電子現金を発行される者の
装置(以下、利用者装置)及び利用者より電子現金を受
領する機関の装置(以下、小売店側装置)より構成され
る電子現金システムにおける電子現金流通方法におい
て、 利用者装置は、秘密情報uをランダムに生成し、該
秘密情報uよりp(素数)を法とする剰余演算を用いて
計算した結果Iと該結果Iに対する利用者の署名情報を
銀行側装置に送信し、 銀行側装置は、結果Iより剰余演
算結果mを算出し、該銀行装置自身の秘密情報xを用い
て該剰余演算結果mに対する銀行の署名m x mod pを求
め、該署名m x mod pの正当性を証明するための情報と
共に、利用者装置に送信し、 利用者装置は、剰余演算結
果mを銀行側装置には隠匿しておくデータm’に変形
し、最終的に該データm’の値を該銀行側装置に秘密に
したまま、該データm’に対する銀行側の署名m’ x mo
d pをその正当性を保証する情報と共に取得し、該デー
タm’と該データm’に対する銀行側署名の対を利用許
可証とし、 利用者が、ある金額の電子現金を銀行より引
き出す場合には、利用者装置は、金額に相当する階層を
持つ木構造の全ノード個々に対応する各々の値(t−
値)を計算し、 木構造の最上位のノードより認証用情報
を生成して銀行側装置に送信し、 銀行側装置は、認証用
情報より引出し金額に対応するブラインド署名を作成し
て、利用者装置に送信し、 利用者装置は、銀行側装置か
ら受信したブラインド署名から木構造認証用情報Tと利
用許可証に対する銀行の署名を計算して、該木構造認証
用情報T及び利用許可証と引出し金額に対応する銀行署
名の対である電子現金を取得する。
[0009] The present invention relates to a device of an institution that issues electronic cash.
(Hereinafter referred to as a bank-side device) and the person who is issued the electronic cash.
Device (hereinafter, user device) and electronic cash
Equipment (hereinafter referred to as retail equipment)
Of Electronic Cash Distribution Method in Electronic Cash System
Thus, the user device randomly generates the secret information u,
Using remainder operation modulo p (prime number) from secret information u
The calculated result I and the user's signature information for the result I are
The result is transmitted to the bank-side device , and the bank-side device transmits the remainder
Calculation result m, and using the secret information x of the bank device itself.
To obtain the bank signature m x mod p for the remainder operation result m
Information for certifying the validity of the signature m x mod p
Are transmitted to the user device, and the user device
The result m is transformed into data m 'which is kept hidden in the bank device.
Finally, the value of the data m ′ is secretly stored in the bank device.
The bank's signature m ' x mo for the data m'
dp together with information that guarantees its validity,
Use a pair of data m 'and a bank signature for the data m'
The user will withdraw a certain amount of electronic cash from the bank
When the user device starts, the user device
Each value (t−t) corresponding to each node of the tree structure
Value) and calculate the authentication information from the highest node in the tree structure.
Is generated and transmitted to the bank-side device.
Create a blind signature corresponding to the withdrawal amount from the information
And send it to the user device.
The tree structure authentication information T and the
Calculating the bank's signature for the license
Banking office corresponding to the information T and the license and withdrawal amount
Get the electronic cash that is the name pair.

【0010】また、本発明は、電子現金の発行を受けた
利用者が、小売店で該電子現金を使用する際に、利用者
装置において、発行金額以内の利用額を定めた後、発行
された該電子現金に対応した木構造のノード中の利用金
額に対応するノードAを定め、該利用者は、該電子現金
を提示し、 利用者装置は、ノードAの兄弟ノード並び
に、該ノードAの先祖ノードの兄弟ノードのそれぞれに
対応する値t−値から剰余演算及び一方向性関数演算に
より求められる値を小売店側装置に送信し、 小売店側装
置は、送信された値から木構造認証用Tを求め、利用者
装置に質問情報αを送信し、 利用者装置は、小売店側装
置からの質問情報αに対応した応答文を自分の秘密情報
uから計算し、該小売店側装置に送信し、 小売店側装置
は、利用者装置からの応答文の正当性を確認し、正しけ
れば、利用金額の電子現金による支払を認める。
[0010] Further, according to the present invention , an electronic cash is issued.
When the user uses the electronic cash at a retail store,
Issuing after setting the usage amount within the issue amount on the device
Money in a tree-structured node corresponding to the given electronic cash
A node A corresponding to the amount is determined, and the user
Is displayed, and the user device displays a sibling node list of the node A.
To each of the sibling nodes of the ancestor node of the node A
From the corresponding value t-value to the remainder operation and one-way function operation
The value obtained from the request is sent to the retail store device,
Calculates the tree structure authentication T from the transmitted value,
The question information α is sent to the device , and the user device
The response sentence corresponding to the question information α from the
u, and sends the calculated value to the retail store device.
Confirms the correctness of the response sentence from the user device,
If accepted, payment by electronic cash for the usage amount is permitted.

【0011】また、本発明は、電子現金の発行を受けた
利用者装置より、小売店側装置が受領した電子現金を銀
行で決済する際に、 後日、小売店側装置は決済のために
銀行側装置に利用者装置と該小売店側装置間の相互通信
文を送信し、 銀行側装置は、相互通信文の正当性を検証
して、合格の時には、該相互通信文をメモリに記憶し、
電子現金が不正に使用されると、利用許可証を生成する
時に用いた利用者の秘密情報を算出する。
[0011] Further, the present invention provides a method for receiving electronic cash.
Electronic cash received by the retailer device from the user device
At the time of settlement in the line , the retailer side device will be
Mutual communication between the user device and the retailer device at the bank device
Sends the sentence, and the bank device verifies the validity of the intercommunication sentence
Then, when the result is passed, the mutual communication is stored in the memory,
Generate a license when electronic cash is used fraudulently
The secret information of the user used at the time is calculated.

【0012】また、本発明は、利用者装置において、秘
密情報uをランダムに生成し、該秘密情報uより合成数
nを法とする剰余演算を用いて計算した結果Iと該結果
Iに対する利用者の署名情報を銀行側装置に送信し、
行側装置は、結果IよりI’を算出し、該銀行装置自身
の秘密情報dを用いて、銀行署名z=(I’) d mod n
を求め、利用者装置に送信し、 利用者装置は、I’を
該I’のブラインド値mに変更すると共に、該ブライン
ド値mを銀行に秘密にしたまま、該ブラインド値mに対
する該銀行の署名wを該銀行署名zから取得し、該ブラ
インド値mと該銀行署名wの組(m,w)を利用許可証
とし、 利用者がある金額の電子現金を銀行から引き出す
場合に、利用者装置は、金額に相当する階層を持つ木構
造の全ノード個々に対応する値(t−値)を計算し、そ
の最上位のノードのt−値から素数pを法とする剰余演
算により木構造認証用情報Tを求め、該木構造認証用情
報Tに対して、該利用許可証と秘密の乱数により認証用
情報を生成して、銀行側装置に送信し、 銀行側装置は、
認証用情報により、引出し金額に相当するブラインド署
名を作成し、利用者装置に送信し、 利用者装置は、銀行
側装置から受信したブラインド署名から木構造認証用情
報Tと利用許可証に対する銀行の署名を計算して、該木
構造認証用情報Tと該利用許可証と、引出し金額に対応
する銀行署名の対を、電子現金として受け取る。
[0012] The present invention also provides a user device that has a secret
The secret information u is randomly generated, and the composite number is calculated from the secret information u.
the result I and the result calculated using the remainder operation modulo n
Sends the signature information of the user to the I to the bank-side device, silver
The bank device calculates I ′ from the result I, and the bank device itself
Using the secret information d of the bank signature z = (I ′) d mod n
Is transmitted to the user device, and the user device transmits I ′
The blind value m of the I ′ is changed to
With the blind value m kept secret to the bank,
To obtain the signature w of the bank from the bank signature z.
The license of the pair (m, w) of the Indian value m and the bank signature w
And the user withdraws a certain amount of electronic cash from the bank
In this case, the user device has a tree structure having a hierarchy corresponding to the amount of money.
Calculate the value (t-value) corresponding to each node of the structure
Remainder modulo the prime number p from the t-value of the highest node of
The tree structure authentication information T is obtained by calculation, and the tree structure authentication information is obtained.
The information T is used for authentication using the license and a secret random number.
Generates information and sends it to the bank device , where the bank device
Blind station equivalent to the withdrawal amount based on the authentication information
Creates a name and sends it to the user device.
Tree authentication information from the blind signature received from the local device.
Calculate the signature of the bank for the report T and the license
Corresponding to the structure authentication information T, the license and the withdrawal amount
You receive a pair of bank signatures as electronic cash.

【0013】また、本発明は、電子現金の発行を受けた
利用者が、小売店で該電子現金を使用する際には、発行
金額以内の利用額を定めた後に、発行された電子現金に
対応した木構造のノード中の利用金額に対応するノード
を定め、 利用者装置は、電子現金を提示すると共に、該
当ノードAに対応する値のt−値からnを法とする剰余
演算により該当ノードAの値βを計算し、該βを小売店
側装置に送信すると共に、該ノードA、並びに該ノード
Aの先祖ノードの兄弟ノードのそれぞれに対応する値
(t−値)から剰余演算及び一方向関数演算により求め
られる値を該小売店側装置に送信し、 小売店側装置は、
送付された値から木構造認証用情報Tを求め、利用者装
置に質問情報αを送り、 利用者装置は、小売店側装置か
らの質問情報αに対応した応答文を自分の秘密情報uか
ら計算し、該小売店側装置に送信し、 小売店側装置は、
応答文の正当性を確認し、該応答文が正しければ該当利
用金額の電子現金による支払を認める。
[0013] Further, the present invention provides a method for receiving electronic cash.
When the user uses the electronic cash at a retail store, it is issued
After deciding the amount of use within the amount, the issued electronic cash
The node corresponding to the usage amount in the node of the corresponding tree structure
And the user device presents the electronic cash and
The remainder modulo n from the t-value of the value corresponding to this node A
Calculate the value β of the corresponding node A by calculation, and calculate the value β at the retail store.
The node A and the node A
A value corresponding to each of the sibling nodes of A's ancestor node
From (t-value) by remainder operation and one-way function operation
To the retail store device , and the retail store device
The tree structure authentication information T is obtained from the transmitted value,
Is sent to the user, and the user device is
The response sentence corresponding to their question information α
And sends it to the retail store device , where the retail store device:
Check the validity of the response statement, and if the response statement is correct,
We accept payment in electronic cash for the payment.

【0014】また、本発明は、電子現金の発行を受けた
利用者より小売店が受領した電子現金を銀行で決済する
際に、 後日、小売店側装置は、決済のための銀行側装置
に、利用者装置と該小売店側装置との間の相互通信文を
送信し、 銀行側装置は、相互通信文の正当性を検査し
て、合格のときは、該相互通信文をメモリに記憶し、
子現金が不正に使用されると、利用許可証を生成する時
に用いた秘密情報を算出する。
[0014] Further, the present invention provides a method for receiving electronic cash.
Settle the electronic cash received by the retailer from the user at the bank
In the meantime, at a later date, the retail store side device will
In the meantime, the communication message between the user device and the retail device is exchanged.
Sending, the bank device checks the validity of the intercommunication message
Te, when the pass, storing the intercommunication statement in memory, electrostatic
When generating a license when child cash is used illegally
Calculate the secret information used for

【0015】[0015]

【作用】本発明は、電子現金の構造に対応した階層構成
のテーブル(木構造)を構成し、電子現金利用時には、
このテーブルの構造に対応させる形で、一定の額面金額
内の現金を何回かに分割して使用する。
According to the present invention, a hierarchically structured table (tree structure) corresponding to the structure of electronic cash is constructed.
In accordance with the structure of this table, cash within a certain denomination is divided and used several times.

【0016】また、上記の利用形態における不正使用を
検出するため、離散対数問題の人称方式を用いて、不正
使用が行われると離散対数問題における秘密情報を求め
ることができ、それにより不正利用者のIDが露見す
る。
Further, in order to detect unauthorized use in the above-mentioned usage form, it is possible to obtain confidential information in the discrete logarithm problem when unauthorized use is performed by using a person system of the discrete logarithmic problem, thereby enabling the unauthorized user ID is revealed.

【0017】さらに、本発明は、上記の利用形態におけ
る不正使用を検出するため、素因数分解に関連する問題
の認証方式を用いて、不正使用が行われると素因数分解
に関連する問題における秘密情報を求めることができ、
それにより不正利用者のIDが露見する。
Further, the present invention uses an authentication method for a problem related to prime factorization in order to detect unauthorized use in the above-mentioned usage form, and to detect secret information in a problem related to prime factorization when unauthorized use is performed. Can be sought,
This reveals the ID of the unauthorized user.

【0018】[0018]

【実施例】以下、図面と共に本発明の実施例を詳細に説
明する。
Embodiments of the present invention will be described below in detail with reference to the drawings.

【0019】図2は、本発明の一実施例のシステム構成
図を示す。同図に示すシステムは、銀行装置(以下、銀
行と記す)100、利用者装置(以下、利用者と記す)
200、小売店装置(以下、小売店と記す)300から
構成され、通信回線400で接続されている。銀行10
0は、利用者200に対して利用許可証と電子紙幣から
なる電子現金を発行する。利用者200は、銀行100
から発行された電子現金を小売店300に対する支払い
に使用する。小売店300は、利用者が使用した金額を
銀行100に請求し、銀行100にて決済する。
FIG. 2 shows a system configuration diagram of an embodiment of the present invention. The system shown in the figure, the bank device (hereinafter, silver
100), user device (hereinafter referred to as user)
200, a retail store device (hereinafter referred to as a retail store) 300, which is connected by a communication line 400. Bank 10
0 is for user 200 from license and electronic bill
Issue electronic cash . The user 200 is the bank 100
It used to pay for a pair in a retail store 300 issued the electronic cash from. The retail store 300 requests the amount of money used by the user from the bank 100 and makes a payment at the bank 100.

【0020】[第1の実施例]まず、本発明の第1の実
施例を説明する。本実施例は、不正使用を検出するため
に、離散対数問題の認証方式を用いて、不正者の秘密情
報を取得する例である。
[First Embodiment] First, a first embodiment of the present invention will be described. The present embodiment is an example in which in order to detect unauthorized use, secret information of an unauthorized person is acquired by using an authentication method of a discrete logarithm problem.

【0021】(1)利用許可証の発行処理 まず、銀行100で口座を新たに開設した利用者200
が、利用許可証を銀行より発行してもらう場合について
説明する。利用許可証は、変更となる事項が少なく利用
者のマスタファイルのイメージで用いられ、電子現金
は、トランザクションのイメージで扱われ、例えば、現
金引き出し処理等に対応する。
(1) Processing for issuing a license First, a user 200 who newly opened an account at the bank 100
However, a case in which a usage certificate is issued from a bank will be described. The usage certificate is used in the image of the master file of the user with few items to be changed, and the electronic cash is handled in the image of the transaction, and corresponds to, for example, cash withdrawal processing.

【0022】ここで、IDP は利用者の識別情報とす
る。銀行100は、利用許可証に対応する情報として、
ディジタル署名で用いる秘密鍵x及び公開鍵hの対を作
成しておき、h(公開鍵),p,q(素数)、g(位数
をq(素数)とする(p−1)以下の正整数)を公開し
ておく。但し、公開鍵h=gx mod pとする。また、素
数qは(p−1)とする。また、銀行100は、位数を
qとするp−1以下の正の整数g1 ,g2 を公開する。
Here, ID P is identification information of the user. The bank 100 stores information corresponding to the license as follows:
A pair of a secret key x and a public key h used in a digital signature is created, and h (public key), p, q (prime), g (order is q (prime)) and (p-1) (Positive integer). However, the public key is assumed to be h = g x mod p. The prime q is (p-1). Further, the bank 100 publishes positive integers g 1 and g 2 equal to or smaller than p−1 with the order being q.

【0023】一方、利用者200は、ディジタル署名で
用いる秘密鍵及び公開鍵の対を作成しておき、公開鍵を
IDP と対にして公開しておく。
[0023] On the other hand, the user 200, leave to create a pair of secret key and a public key to be used in the digital signature, made public by the public key to the ID P and the pair.

【0024】図3は、本発明の第1の実施例の利用許可
証の発行処理を行う場合の銀行及び利用者の構成を示
す。同図において、銀行100は、乱数wを生成する乱
数発生器101、及び2つの剰余演算器1021 、10
2 より構成される。利用者200は、2つの乱数発生
器2011 、2012 と、4つの剰余演算器2021
2022 、2023 、2024 、署名作成器203と一
方向性関数演算器204より構成される。
FIG. 3 shows a configuration of a bank and a user when a process of issuing a usage certificate according to the first embodiment of the present invention is performed. In the figure, a bank 100 includes a random number generator 101 for generating a random number w, and two remainder arithmetic units 102 1 , 10 2
Composed of 2 2. The user 200 has two random number generators 201 1 , 2012 2 and four remainder arithmetic units 202 1 ,
202 2 , 202 3 , 202 4 , a signature generator 203 and a one-way function calculator 204.

【0025】利用者200の第1の乱数発生器2011
は乱数uを生成する。第1の剰余演算器202は、乱数
uと正整数gと素数pが入力され、剰余演算を行い、演
算結果Iを出力する。この演算結果Iは、銀行100に
送出されると共に、署名作成器203及び第2の剰余演
算器2022 にも出力される。署名作成器203は、署
名用秘密鍵が入力され、署名S(I)が生成され、利用
者識別情報IDp と共に銀行100に送出される。
The first random number generator 201 1 of the user 200
Generates a random number u. The first remainder arithmetic unit 202 receives the random number u, the positive integer g, and the prime number p, performs a remainder operation, and outputs an operation result I. The calculation result I, together are sent to the bank 100, is also output to the signature generator 203 and the second remainder calculation unit 202 2. Signature generator 203, signing secret key is inputted, the signature S (I) is generated and sent to the bank 100 together with the user identification information ID p.

【0026】第2の剰余演算器2022 は、第1の剰余
演算器2021 からの出力Iと、乱数発生器201で生
成された乱数s,t,v、正整数g2 、素数p,g、銀
行100の剰余演算器102からz,a,bが入力さ
れ、剰余演算を行う。演算結果は、m’,z’,a’,
b’が一方向演算器204に入力されると共に、銀行1
00に隠蔽されたブラインド値m’とsign(m’)とし
て出力される。
The second remainder operation unit 202 2 outputs the output I from the first remainder operation unit 202 1 , the random numbers s, t, v generated by the random number generator 201, the positive integer g 2 , the prime number p, g, z, a, and b are input from the remainder operation unit 102 of the bank 100, and the remainder operation is performed. The calculation results are m ', z', a ',
b ′ is input to the one-way operator 204 and the bank 1
It is output as a blind value m ′ and sign (m ′) hidden in 00.

【0027】一方向性関数演算器204は、出力c’を
第3の剰余演算器202に出力する。第3の剰余演算器
2023 は、乱数tと素数q,一方向性関数演算器20
4からの出力c’が入力され、剰余演算された結果cを
銀行の第1の剰余演算器102に送出する。
The one-way function calculator 204 outputs the output c ′ to the third remainder calculator 202. The third remainder operation unit 202 3 includes a random number t, a prime number q, and a one-way function operation unit 20
4 and outputs the result c of the remainder operation to the first remainder operation unit 102 of the bank.

【0028】銀行の剰余演算器1022 は、秘密鍵x、
乱数w、素数q及び利用者200の第3の剰余演算器2
02及び署名作成器203からの出力rによる剰余演算
を行い、その出力を利用者200の第4の剰余演算器2
024 に入力する。
The remainder operation unit 102 2 of the bank generates a secret key x,
Random number w, prime number q and third remainder arithmetic unit 2 of user 200
02 and the output r from the signature creator 203, and outputs the result to the fourth remainder operator 2 of the user 200.
Input to 02 4.

【0029】利用者200の第4の剰余演算器2024
は、乱数t、v,銀行100から出力されたrが入力さ
れ、剰余演算を行い、r’を出力する。この出力r’に
上記の剰余演算器2022 からの出力と合わせてsign
(m’)が出力される。
The fourth remainder arithmetic unit 202 4 of the user 200
Receives the random numbers t, v, and r output from the bank 100, performs a remainder operation, and outputs r ′. Sign to the output r 'together with the output from the remainder arithmetic unit 202 2
(M ') is output.

【0030】利用者200は、銀行100から利用許可
証を発行してもらう手順は、以下の通りである。図4
は、本発明の第1の実施例の銀行と利用者間の交信の例
を示す。
The procedure for the user 200 to issue a license from the bank 100 is as follows. FIG.
Shows an example of communication between a bank and a user according to the first embodiment of the present invention.

【0031】ステップ1)利用者200は、乱数発生器
201を用いて乱数uを生成して、乱数u、正整数g
1、素数pを剰余演算器202に入力し、出力I=g1
u modpを署名作成器203に入力し、利用者の署名S
(I)を作成し、剰余演算器202の出力、利用者の署
名S(I)、利用者識別情報IDP を銀行100に送
る。
Step 1) The user 200 generates a random number u using the random number generator 201, and generates a random number u and a positive integer g
1. The prime number p is input to the remainder arithmetic unit 202, and the output I = g 1
u modp is input to the signature creator 203, and the signature S
Create a (I), the output of the remainder calculator 202, the user signature S (I), and sends the user identity ID P bank 100.

【0032】ステップ2)銀行100は、乱数発生器1
01を用いて、乱数wを生成し、ステップ1の剰余演算
器2021 の出力I、正整数g2 、秘密鍵x、素数p、
正整数g、乱数wを剰余演算器102に入力し、 m=Ig2 mod p z=mx mod p a=gw mod p b=mw mod p が出力される。このうち、剰余演算器102の出力z,
a,bを利用者200に送る。
Step 2) The bank 100 operates the random number generator 1
01, a random number w is generated, the output I of the remainder operation unit 202 1 in step 1, a positive integer g 2 , a secret key x, a prime number p,
Positive integer g, a random number w and enter the remainder operator 102, m = Ig 2 mod p z = m x mod p a = g w mod p b = m w mod p is output. Among them, the outputs z,
a and b are sent to the user 200.

【0033】ステップ3)利用者200は、乱数発生器
2012 を用いて、乱数s,t,vを生成し、剰余演算
器2021 の出力結果であるI及び、正整数g2 、素数
p,銀行100から送信されたz,a,b及び乱数s,
t,vを剰余演算器2022に入力し、以下の値を出力
する。
[0033] Step 3) The user 200 uses a random number generator 201 2, a random number s, t, v generate, I and an output result of the modulo operation unit 202 1, a positive integer g 2, prime number p , Z, a, b and random number s transmitted from the bank 100,
t, v and input to the remainder arithmetic unit 202 2, and outputs the following values.

【0034】m’=ms mod p(つまり、m’=g1 us
2 s mod p) z’=zs modp a’=at v mod p b’=bst(m’)v mod p さらに、m’,z’,z’,b’を一方向正関数演算器
204に入力し、その出力c’=Η(m’,z’,
a’,b’)をさらに、t,qと共に剰余演算器202
3 に入力し、c=c’/tmod qを出力する。利用者2
00は、cを銀行100に送る。
M '= ms mod p (that is, m' = g 1 us
g 2 s mod p) z ' = z s modp a' = a t g v mod p b '= b st (m') v mod p In addition, m ', z', z ', b' a one-way positive Input to the function calculator 204 and output c ′ = Η (m ′, z ′,
a ′, b ′) are further added together with t and q to the remainder arithmetic unit 202.
3 and output c = c '/ tmod q. User 2
00 sends c to the bank 100.

【0035】ステップ4)銀行100は、x,c,w,
qを剰余演算器1022 に入力し、その出力r=xc+
wmod qを利用者200に送信する。
Step 4) The bank 100 sets x, c, w,
q is input to the remainder operation unit 102 2 , and the output r = xc +
Send wmod q to the user 200.

【0036】ステップ5)利用者200は、r,t,v
を剰余演算器2024 に入力し、r’=rt+vmod q
を求める。
Step 5) The user 200 determines that r, t, v
Is input to the remainder arithmetic unit 202 4 , and r ′ = rt + vmod q
Ask for.

【0037】以上の手順により、利用者200は、以下
の情報(利用許可証)を得る。
According to the above procedure, the user 200 obtains the following information (license).

【0038】m’,sign(m’) ここで、 m’=g1 us2 s mod p, sign(m’)={z’,a’,b’,r’} となり、一方、銀行100は、剰余演算器2021 から
の出力Iとそれに対する利用者200の署名S(I)を
得る。
[0038] m ', sign (m'), where, m '= g 1 us g 2 s mod p, sign (m') = {z ', a', b ', r'} . On the other hand, the bank 100 obtains the output I from the remainder arithmetic unit 202 1 and the signature S (I) of the user 200 corresponding thereto.

【0039】(2)電子現金の発行処理 次に、利用者が銀行から電子現金を発行してもらう手順
を示す。まず、銀行は、電子現金の金額に対応する情報
として、RSAディジタル署名で用いる秘密鍵dn 及び
公開鍵(eB ,nB )の対を作成しておき、公開鍵(e
B ,nB )をその金額と共に公開しておく。ここで、銀
行と利用者の間の交信例を図5に示す。また、図6は、
本発明の第2の実施例の電子現金の発行処理を行う場合
の銀行及び利用者の構成を示す。
(2) Electronic Cash Issuing Process Next, a procedure for a user to issue electronic cash from a bank will be described. First, banks, as information corresponding to the amount of electronic cash, RSA digital private key d n and the public key used in the signature (e B, n B) in advance to create a pair, a public key (e
B , n B ) are published along with the amount. Here, an example of communication between the bank and the user is shown in FIG. Also, FIG.
7 shows a configuration of a bank and a user in a case where electronic cash issuance processing according to a second embodiment of the present invention is performed.

【0040】図6に示す利用者200は、乱数eを生成
する乱数発生器201、乱数eが入力され、一方向性関
数演算を行い、t0j1...jn, を出力する一方向性関数演
算器2041 、g1 ,g2 ,Pとt0j1...jnが入力さ
れ、剰余演算を行う剰余演算器2022 、剰余演算器2
021 から出力されたg1 r0j,...jn,1 2 r0j1...jn,
2 mod Pが入力され、一方向性関数演算を行い、t
0j1,...jn-1, …t0 を出力する一方向性関数演算器2
042 、t0 及びg1 ,g2 ,Pが入力され、木構造認
証用情報Tを算出する剰余演算器2022 、剰余演算器
2022 から出力されたTと銀行署名m’が入力され、
一方向性関数演算を行い、H(T‖m’)を出力する一
方向性関数演算器2043 、公開鍵nB ,eB と、乱数
発生器2012で生成された乱数Rにより剰余演算を行
い、認証用情報Xを生成し、銀行100に送出する。ま
た、公開鍵nB , B と乱数R、銀行100から入力さ
れるX’により銀行100の署名Cを出力する剰余演算
器2024 を有する。
A user 200 shown in FIG. 6 receives a random number generator 201 for generating a random number e, a random number e, performs a one-way function operation , and outputs t 0j1... Jn. Arithmetic units 204 1 , g 1 , g 2 , P and t 0j1... Jn are input, and a remainder arithmetic unit 202 2 for performing a remainder operation, a remainder arithmetic unit 2
02 1 output from the g 1 r0j, ... jn, 1 g 2 r0j1 ... jn,
2 mod P is input, a one-way function operation is performed, and t
0j1, ... jn-1, one-way function calculator 2 for outputting a ... t 0
04 2 , t 0, g 1 , g 2 , and P are input, the remainder arithmetic unit 202 2 for calculating the tree structure authentication information T, the T output from the remainder arithmetic unit 202 2 and the bank signature m ′ are input. ,
One-way function calculator 204 3 that performs one-way function calculation and outputs H (T‖m ′), modulo calculation using public keys n B and e B and random number R generated by random number generator 2012 2 To generate the authentication information X and send it to the bank 100. Also it has a public key n B, e B and the random number R, remainder operator 202 4 for outputting a sign C bank 100 by X 'inputted from the bank 100.

【0041】銀行100は、公開鍵nB ,秘密鍵d
B と、利用者200より入力された認証用情報Xを用い
て剰余演算を行う剰余演算器102を有する。
The bank 100 has a public key n B and a secret key d.
B, and a remainder calculator 102 that performs remainder calculation using the authentication information X input from the user 200.

【0042】なお、ここで、用いるディジタル署名は、
ブラインド署名が実行できるものであれば何でもよい。
例えば、Schnorr 法を用いたブラインド署名( 「Okamot
o, T., "Provably Secure and Practical Identificati
on Schemes and Corresponding Signature Schemes", P
roceedings of the Crypto 92, pp. 31-53(1993)」のAp
pendix Bで紹介されている) を用いてもよい。
The digital signature used here is:
Anything that can perform a blind signature can be used.
For example, blind signature using the Schnorr method ("Okamot
o, T., "Provably Secure and Practical Identificati
on Schemes and Corresponding Signature Schemes ", P
roceedings of the Crypto 92, pp. 31-53 (1993) ''
pendix B) may be used.

【0043】ステップ101)[準備]Step 101) [Preparation]

【0044】[0044]

【数1】 (Equation 1)

【0045】の電子現金を発行してもらおうとする利用
者200は、以下のような事前処理を行う。
The user 200 who wants to issue the electronic cash performs the following pre-processing.

【0046】まず、乱数発生器2011 を用いて、秘密
情報eを生成する。次に、(ι+1)の階層を持つ木構
造を考える。図7は、木構造を示す。今、一方向関数演
算器204を用いて、最下位のレベルのノード
Firstly, using a random number generator 201 1 generates the secret information e. Next, consider a tree structure having a hierarchy of (ι + 1). FIG. 7 shows a tree structure. Now, using the one-way function calculator 204, the lowest level node

【0047】[0047]

【数2】 (Equation 2)

【0048】n0j1,j2,...,jι,ji ∈{0、1}に対
応する値(t−値)を以下のように求める。
A value (t-value) corresponding to n 0j1, j2,..., J ι, j i {0,1} is obtained as follows.

【0049】 toj1,j2...jv =H(e‖0j1j2...Jι). ここで、Hは、一方向関数を示し、‖は結合を意味す
る。各t−値を分解して、2つの値(γ値)を以下のよ
うに定める。
T oj1, j2... Jv = H (e‖0j1j2... Jι). Here, H indicates a one-way function, and ‖ indicates a combination. By decomposing each t-value, two values (γ values) are determined as follows.

【0050】toj1,j2...jv =(roj1,j2...jv,1 )‖
(roj1,j2...jv,2 ) 次に、上記で求めた最下位のノードのt−値から順次上
位のノードのt−値を、剰余演算器2021 及び一方向
演算器2042 を用いて、以下の関係を満足するように
求める。つまり、ノードr0 j1,j2...jvのt−値t
0 j1,j2...jv0 は、その2つの子ノードのt−値(t
0 j1,j2...jv0 )は、その2つの子ノードのt−値(t
0 j1,j2...jv1 )から以下のように一意に定まる。 t0 j1,j2,..jv=Η(Η(g1 r0j1,j2...jv0,1 g2r0j1,j2...jv0,2 mod p) ‖Η(g1 r0j1,j2...jv1,1 2 r0j1,j2...jv1,2 mod p) ここで、 t0 j1j2...jv0=(r0 j1,j2...jv0,1 ‖r0 j1,j2...jv0,2 ) and t0 j1j2...jv1= (r0 j1,j2...jv1,1 ‖r0 j1,j2...jv1,2 ) この手順を繰り返して行くと、最終的に最上位ノードn
0 のt−値t0 を求めることができる。 (例)3階層の例を示す(図7参照)。 t0 =H(H g1 r00,12 r00,2 mod p)‖H(g1 r01,1
2 r01,2 mod p)), t00=(r00,1‖r00,2) =H(H g1 r000,1 2 r000,2 modp) ‖H(g1 r001,1 2 r001,2 modp)), t01=(r01,1‖r01,2) =H(H g1 r010,1 2 r010,2 modp) ‖H(g1 r011,1 2 R011,2 modp)) ステップ102)利用者200は、準備(ステップ10
1)で求めたt0 及びg1 ,g2 ,p を剰余演算器20
2 に入力して、 T=g1 r0,12 r0,2mod p(t0 =(r0,1
0,2 )) を求める。さらに、乱数発生器2012 を用いて、乱数
Rを生成し、T,m’を一方向関数演算器2043 に入
力し、H(T‖m’)を求め、その出力H(T‖m’)
及びR,nB ,eB を剰余演算器2023 に入力し、 X=H(T‖m’)ReB modnB を出力し、Xを銀行に送る。
T oj1, j2 ... jv = ( roj1, j2 ... jv, 1 ) ‖
(R oj1, j2 ... jv, 2) then the t- value nodes sequentially higher from t- value of the least significant of the node obtained in the above, residue calculating unit 202 1 and the one-way calculator 204 2 Is used to satisfy the following relationship. That is, the t-value t of the nodes r 0 j1, j2.
0 j1, j2 ... jv0 are the t-values (t
0 j1, j2 ... jv0 ) are the t-values (t
0 j1, j2 ... jv1 ) and is uniquely determined as follows. t 0 j1, j2, .. jv = Η (Η (g 1 r0j1, j2 ... jv0,1 g2 r0j1, j2 ... jv0,2 mod p) ‖Η (g 1 r0j1, j2 ... jv1 , 1 g 2 r0j1, j2 ... jv1,2 mod p) where t 0 j1j2 ... jv0 = (r 0 j1, j2 ... jv0,1 ‖r 0 j1, j2 ... jv0, 2 ) and t 0 j1j2 ... jv1 = (r 0 j1, j2 ... jv1,1 ‖r 0 j1, j2 ... jv1,2 ) By repeating this procedure, finally the top node n
T- value t 0 of 0 can be obtained. (Example) An example of three layers is shown (see FIG. 7). t 0 = H (H g 1 r00,1 g 2 r00,2 mod p) ‖H (g 1 r01,1 g
2 r01,2 mod p)), t 00 = (r 00,1 ‖r 00,2) = H (H g 1 r000,1 g 2 r000,2 modp) ‖H (g 1 r001,1 g 2 r001 , 2 modp)), t 01 = (r 01,1 ‖r 01,2 ) = H (H g 1 r010,1 g 2 r010,2 modp) ‖H (g 1 r011,1 g 2 R011,2 modp )) Step 102) The user 200 prepares (step 10)
The t 0 and g 1 , g 2 , p obtained in 1) are converted to the remainder arithmetic unit 20.
Enter the 2 2, T = g 1 r0,1 g 2 r0,2 mod p (t 0 = (r 0,1 ||
r 0,2 )). Moreover, using a random number generator 201 2 generates a random number R, 'enter into the one-way function calculator 204 3, H (T‖m' T , m seeking), the output H (T‖m ')
And R, n B, and e B input to the remainder arithmetic unit 202 3, X = H (T‖m ') outputs the R eB modn B, sends the X bank.

【0051】ステップ103)Xを受信した銀行100
は、Xと電子現金の金額に対応する秘密鍵(dB ,n
B )とを剰余演算器102に入力し、 X’=XdBmod nB を求め、それを利用者200に送付する。同時に、利用
者の口座から該当する金額を引き落とすか、利用者か
該当する金額を受領する。
Step 103) Bank 100 receiving X
Is, the secret key (d B corresponding to the amount of X and e-cash, n
B ) is input to the remainder arithmetic unit 102, X ′ = X dB mod n B is obtained, and is transmitted to the user 200. At the same time, use
Or debit the amount corresponding from's account, to receive an amount corresponding user or et al.

【0052】ステップ104)銀行100よりX’を受
信した利用者200は、乱数Rと銀行100より受信し
た情報X’及び公開鍵nB を剰余演算器2024 に入力
し、銀行の署名 C=X’/Rmod nB =(H(T‖M’))dBmod nB を求める。ここで、(T,C)が電子現金に相当する。
[0052] Step 104) X from the bank 100 'user 200 that has received the random number R and the information received from the bank 100 X' type a and a public key n B to the remainder arithmetic unit 202 4, the signature of the bank C = X '/ Rmod n B = ( H (T‖M')) Request dB mod n B. Here, (T, C) corresponds to electronic cash .

【0053】なお、利用許可証と、電子現金を一体化さ
せる場合は、上記手続でブラインド署名Cを発行する代
わりに、利用許可発行手続において、Tをm’と見なし
てsign(m’)を発行すればよい。
In the case where the license and electronic cash are integrated, instead of issuing the blind signature C in the above procedure, in the license issuing procedure, T is regarded as m ′ and the sign (m ′) is changed. Issue it.

【0054】利用許可証と一体化した電子現金発行処理
は以下に述べる通りである。
The electronic cash issuance process integrated with the license is as described below.

【0055】ステップ801)[準備]Step 801) [Preparation]

【0056】[0056]

【数3】 (Equation 3)

【0057】の電子現金を発行してもらおうとする利用
者200は、以下のような事前処理を行う。
The user 200 who wants to issue the electronic cash performs the following pre-processing.

【0058】まず、乱数発生器201を用いて、秘密情
報eを生成する。次に、(ι+1)の階層を持つ木構造
を考える。図7は、木構造を示す。今、一方向関数演算
器204を用いて、最下位のレベルのノード
First, using the random number generator 201, secret information e is generated. Next, consider a tree structure having a hierarchy of (ι + 1). FIG. 7 shows a tree structure. Now, using the one-way function calculator 204, the lowest level node

【0059】[0059]

【数4】 (Equation 4)

【0060】n0j1,j2,...,jι,ji ∈{0、1}に対
応する値(t−値)を以下のように求める。
A value (t-value) corresponding to n 0j1, j2,..., J ι, j i {0,1} is obtained as follows.

【0061】 toj1,j2...jv =H(e‖0j1j2...Jι). ここで、Hは、一方向関数を示し、‖は結合を意味す
る。各t−値を分解して、2つの値(γ値)を以下のよ
うに定める。
T oj1, j2... Jv = H (e‖0j1j2... Jι). Here, H indicates a one-way function, and ‖ indicates a combination. By decomposing each t-value, two values (γ values) are determined as follows.

【0062】toj1,j2...jv =(roj1,j2...jv,1 )‖
(roj1,j2...jv,2 ) 次に、上記で求めた最下位のノードのt−値から順次上
位のノードのt−値を、剰余演算器2021 の及び一方
向演算器204を用いて、以下の関係を満足するように
求める。つまり、ノードr0 j1,j2...jvのt−値t
0 j1,j2...jv0 は、その2つの子ノードのt−値(t
0 j1,j2...jv0 )は、その2つの子ノードのt−値(t
0 j1,j2...jv1 )から以下のように一意に定まる。 t0 j1,j2,..jv=Η(Ηg1 r0j1,j2...jv01g2r0j1,j2...jv0,2 mod p) ‖Η(g1 r0j1,j2...jv1,1 2 r0j1,j2...jv1,2 mod p) ここで、 t0 j1j2...jv0=(r0 j1,j2...jv0,1 ‖r0 j1,j2...jv0,2 ) and t0 j1j2...jv1= (r0 j1,j2...jv1,1 ‖r0 j1,j2...jv1,2 ) この手順を繰り返して行くと、最終的に最上位ノードn
o のt−値t0 を求めることができる。
T oj1, j2 ... jv = ( roj1, j2 ... jv, 1 ) ‖
(R oj1, j2 ... jv, 2) then the t- value nodes sequentially higher from t- value of the least significant of the node obtained in the above, the remainder calculator 202 1 and the one-way operation 204 Is used to satisfy the following relationship. That is, the t-value t of the nodes r 0 j1, j2.
0 j1, j2 ... jv0 are the t-values (t
0 j1, j2 ... jv0 ) are the t-values (t
0 j1, j2 ... jv 1) and is uniquely determined as follows. t 0 j1, j2, .. jv = Η (Ηg 1 r0j1, j2 ... jv01 g2 r0j1, j2 ... jv0,2 mod p) ‖Η (g 1 r0j1, j2 ... jv1,1 g 2 r0j1, j2 ... jv1,2 mod p) where t0j1j2 ... jv0 = ( r0j1 , j2 ... jv0,11r0 j1, j2 ... jv0,2 ) and t 0 j1j2 ... jv1 = (r 0 j1, j2 ... jv1,1 ‖r 0 j1, j2 ... jv1,2 ) By repeating this procedure, finally the top node n
The t-value t 0 of o can be determined.

【0063】ステップ802)利用者200は、準備
(ステップ801)で求めたt0 及びg1 ,g2 ,p を
剰余演算器202に入力して、 T=g1 r0,1 2 r0,2mod p(t0 =(r0,1
0,2 )) を求める。
Step 802) The user 200 inputs t 0 and g 1 , g 2 , p obtained in the preparation (step 801) to the remainder arithmetic unit 202, and T = g 1 r0,1 2 r0,2 mod p (t 0 = (r 0,1
r 0,2 )).

【0064】ステップ803)利用者200は、乱数発
生器201を用いて乱数uを生成して、乱数u、正整数
g1、素数pを剰余演算器202に入力し、出力I=g
u 1mod pを署名作成器203に入力し、利用者の署名
S(I)を作成し、剰余演算器202の出力、利用者の
署名S(I)、利用者識別情報IDP を銀行100に送
る。
Step 803) The user 200 generates a random number u using the random number generator 201, inputs the random number u, the positive integer g1, and the prime number p to the remainder calculator 202, and outputs I = g
The u 1 mod p is input to the signature creator 203 to create the user's signature S (I), and the output of the remainder operation unit 202, the user's signature S (I), and the user identification information ID P are stored in the bank 100. Send to

【0065】ステップ804)銀行100は、乱数発生
器101を用いて、乱数wを生成し、出力I、正整数g
2 、秘密鍵x、素数p、正整数g、乱数wを剰余演算器
102に入力し、 m=Ig2 mod p z=mx mod p z=mx mod p a=gw mod p b=mw mod p が出力される。このうち、剰余演算器202の出力z,
a,bを利用者200に送る。
Step 804) The bank 100 generates a random number w using the random number generator 101, and outputs the output I and the positive integer g.
2, private key x, primes p, positive integer g, a random number w and enter the remainder operator 102, m = Ig 2 mod p z = m x mod p z = m x mod p a = g w mod p b = m w mod p is output. Of these, outputs z,
a and b are sent to the user 200.

【0066】ステップ805)利用者200は、乱数発
生器201を用いて、乱数s,t,vを生成し、剰余演
算器202の出力結果であるI,正整数g2 、素数p,
銀行100から送信されたz,a,b及び乱数s,t,
vを剰余演算器202に入力し、以下の値を出力する。
Step 805) The user 200 generates random numbers s, t, and v using the random number generator 201, and outputs I, a positive integer g 2 , a prime number p,
Z, a, b and random numbers s, t, transmitted from the bank 100
v is input to the remainder arithmetic unit 202, and the following value is output.

【0067】m’=ms mod p(つまり、m’=g1 us
2 s mod p) z’=zs modp a’=at v mod p b’=bst(m’)v mod p さらに、m’,z’,z’,b’を一方向正関数演算器
204に入力し、その出力c’=Η(m’,z’,
a’,b’,T)をさらに、t,qと共に剰余演算器2
02に入力し、c=c’/tmod qを出力する。利用者
200は、cを銀行100に送る。
M ′ = ms mod p (that is, m ′ = g 1 us
g 2 s mod p) z ' = z s modp a' = a t g v mod p b '= b st (m') v mod p In addition, m ', z', z ', b' a one-way positive Input to the function calculator 204 and output c ′ = Η (m ′, z ′,
a ′, b ′, T) together with t, q,
02 and outputs c = c '/ tmod q. The user 200 sends c to the bank 100.

【0068】ステップ806)銀行100は、x,c,
w,gを剰余演算器102に入力し、その出力r=xc
+wmod qを利用者200に送信する。
Step 806) The bank 100 sets x, c,
w and g are input to the remainder arithmetic unit 102, and the output r = xc
+ Wmod q is transmitted to the user 200.

【0069】ステップ807)利用者200は、r,
t,vを剰余演算器202に入力し、r’=rt+vmo
d qを求める。
Step 807) The user 200 sets r,
t and v are input to the remainder arithmetic unit 202, and r ′ = rt + vmo
Find dq.

【0070】以上の手順により、利用者は、以下の情報
(利用許可証)を得る。
According to the above procedure, the user obtains the following information (license).

【0071】m’,sign(m’) ここで、 m’=g1 us2 s od p, sign(m’)={z’,a’,b’,r’} となり、一方、銀行100は、剰余演算器202からの
出力Iとそれに対する利用者200の署名S(I)を得
る。
[0071] m ', sign (m'), where, m '= g 1 us g 2 s od p, sign (m') = {z ', a', b ', r'} . On the other hand, the bank 100 obtains the output I from the remainder arithmetic unit 202 and the signature S (I) of the user 200 for it.

【0072】上記の処理は、口座開設時に特に処理は行
わずに、現金引出し時毎に上記の処理を行う。
The above processing is not performed at the time of opening an account, but is performed every time cash is withdrawn.

【0073】(3)電子現金の支払 次に、利用者が銀行より発行された電子現金を用いて小
売店で支払をする場合について説明する。
(3) Payment of Electronic Cash Next, a case where a user pays at a retail store using electronic cash issued by a bank will be described.

【0074】まず、電子現金の金額及びその使用最小単
位(例えば、10円単位等)に対応して階層的構造テー
ブルが定められる。(ここでは、先程述べたように、
First, a hierarchical structure table is determined corresponding to the amount of electronic cash and the minimum unit of use (for example, 10 yen unit). (Here, as mentioned earlier,

【0075】[0075]

【数5】 (Equation 5)

【0076】の紙幣とし、使用最小単位が1円とする。
例えば、図8に示す、1円単位で、4円の紙幣を利用す
る場合の階層的構造テーブルにおいて、例えば、3円を
使う場合、ノードn00とノードn010 が該当するノード
となる。この該当ノードは、以下のルールで定められ
る。 1.あるノードの直下の子ノードの該当金額の合計がそ
のノードの該当金額となる。 2.あるノードが一度使われた後は、そのノードと連結
する全ての親(先祖)ノード及び子(子孫)ノードは利
用してはならない。 3.各ノードは、1回以上使用してはならない。
The minimum usage unit is 1 yen.
For example, it is shown in FIG. 8, at 1 yen, in a hierarchical structure table in the case of using the bill of 4 yen, for example, when using 3 yen, the node node n 00 and the node n 010 corresponds. This corresponding node is determined by the following rules. 1. The sum of the applicable amounts of the child nodes immediately below a certain node is the applicable amount of the node. 2. After a node has been used once, all parent (ancestor) nodes and child (descendant) nodes connected to the node must not be used. 3. Each node must not be used more than once.

【0077】このルールに従うと、先の例では、ノード
00とノードn010 が使用された後で、使用できるノー
ドは、ノードn011 のみである。つまり上記のルールに
従うことにより、使用できる合計金額は、額面通り、4
円となると共に、1円単位でどのような使い方でもでき
る。この階層的構造テーブルは、電子現金の額面金額を
大きくし、さらに、利用単位金額を小さくすれば、その
階層が増えることになる。例えば、額面が1万円で、1
0円単位で利用できる電子現金の場合、その階層は、お
よそ10となる。
According to this rule, in the above example, only the node n 011 can be used after the nodes n 00 and n 010 are used. In other words, by following the above rules, the total amount that can be used is 4
It becomes a circle, and it can be used in any unit of one yen. In this hierarchical structure table, if the face value of the electronic cash is increased and the usage unit amount is reduced, the hierarchy is increased. For example, if the face value is 10,000 yen and 1
In the case of electronic cash that can be used in units of 0 yen, the hierarchy is about 10.

【0078】[0078]

【数6】 (Equation 6)

【0079】図9は、本発明の第1の実施例の利用者と
小売店間の交信例を示し、図10は、本発明の第1の実
施例の電子現金支払処理を行う場合の利用者と小売店の
構成を示す。
FIG. 9 shows an example of communication between a user and a retail store according to the first embodiment of the present invention, and FIG. 10 shows a case where electronic cash payment processing is performed according to the first embodiment of the present invention. Shows the structure of retailers and retailers.

【0080】図10に示す利用者200の構成は、3つ
の剰余演算器2021 、2022 、2023 、一方向性
関数演算器204より構成され、小売店300は、3つ
の剰余演算器3021 、3022 、3033 、一方向関
数演算器304、関数演算器305、比較器306より
構成される。
The configuration of the user 200 shown in FIG. 10 is composed of three remainder computing units 202 1 , 202 2 , 202 3 and a one-way function computing unit 204, and the retail store 300 has three remainder computing units 302. 1, 302 2, 303 3, the one-way function calculator 304, function calculator 305, composed of a comparator 306.

【0081】多くの場合、利用金額に相当する階層構造
テーブルの該当ノードは、複数あるが、各ノードに対応
する処理は、基本的に同じアルゴリズムで行われ、それ
ぞれのノードの処理を並列に行うことができるため、以
下では、1つのノードに対する処理のみを説明する。
In many cases, there are a plurality of 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 is performed in parallel. Therefore, only the processing for one node will be described below.

【0082】この該当ノードをn0j1j2...jkとする。This corresponding node is assumed to be n 0j1j2 .

【0083】ステップ201)利用者200は、まず、 m’(=g1 us2 mod p), sign(m’)={z’,a’,b’,r’} 及び銀行100の署名Cを小売店300に送る。Step 201) The user 200 first sets m ′ (= g 1 us g 2 mod p), sign (m ′) = {z ′, a ′, b ′, r ′} and the signature of the bank 100 C is sent to the retail store 300.

【0084】さらに、利用者200は、g1 ,g2
p,r0j1j2...jk,1,r0j1j2....jk, 2 を剰余演算器2
021 に入力して以下の値βを求める。
Further, the user 200 determines that g 1 , g 2 ,
p, r 0j1j2 ... jk, 1 , r 0j1j2 .... jk, 2 are the remainder arithmetic unit 2
02 1 to obtain the following value β.

【0085】 β=g1 r0j1j2...jk,1 2 r0j1j2...jk,2 mod p. さらに、g1 、g2 及びノードn0j1j2...jk並びにその
先祖の兄弟のードのr−値を剰余演算器2022 及び一
方向関数演算器204に入力し、以下を出力し、これを
βとともに小売店300に送る。
[0085] β = g 1 r0j1j2 ... jk, 1 g 2 r0j1j2 ... jk, 2 mod p. Further, g 1, g 2 and node n 0j1j2 ... jk and r- value of over de sibling their fathers input to the remainder arithmetic unit 202 2 and the one-way function calculator 204, and outputs the following, this Is sent to the retail store 300 together with β.

【0086】[0086]

【数7】 (Equation 7)

【0087】ここで、bがビット(0もしくは、1)の
ときは、b’はbを反転させた値を意味する。
Here, when b is a bit (0 or 1), b 'means a value obtained by inverting b.

【0088】ステップ202)小売店300は、送られ
てきた情報をg1 ,g2 ,pと共に剰余演算器3021
及び一方向関数演算器304に入力し、ノードn
0j1,j2...j k の全ての先祖のノードt−値を求め、最終
的にt0 を求め、さらに、その値をg1 , g2 ,pとと
もに剰余演算器302に入力することにより、Tが求め
られる。 小売店300は、小売店名、時間等の情報を
関数演算器305に入力し、その出力αを利用者200
に送る。
Step 202) The retail store 300 stores the transmitted information together with g 1 , g 2 , and p, and calculates a remainder arithmetic unit 302 1.
And the one-way function calculator 304, the node n
0j1, j2 ... seek node t- values of all ancestral j k, ultimately seek t 0, further, by inputting the value with g 1, g 2, p the remainder operator 302 , T are required. The retail store 300 inputs information such as a retail store name and time to the function calculator 305 and outputs the output α to the user 200.
Send to

【0089】ステップ203)利用者200は、秘密情
報u,s並びにαr0j1j2...jk,1,r0j1j2...jk,1,r
0j1j2...jk,2,qを剰余演算器2023 に入力し、 y1 =r0j1j2...jk,1+α(us)mod q, (1) y2 =r0j1j2...jk,2+αsmod q (2) を求め、それらを小売店300に送る。
Step 203) The user 200 sends the secret information u, s and αr 0j1j2 ... jk, 1 , r 0j1j2 ... jk, 1 , r
0j1j2 ... jk, 2, and q is input to a modulo calculator 202 3, y 1 = r 0j1j2 ... jk, 1 + α (us) mod q, (1) y 2 = r 0j1j2 ... jk, 2 + αsmod q (2) and send them to the retail store 300.

【0090】ステップ204)小売店300は、剰余演
算器3022 、3023 及び比較器311を用いて、y
1 ,y2 が以下の関係を満足するかどうかを検証する。
[0090] Step 204) retailers 300 uses the remainder calculator 302 2, 302 3, and a comparator 311, y
It is verified whether 1 and y 2 satisfy the following relationship.

【0091】[0091]

【数8】 (Equation 8)

【0092】この検査が不合格のときは処理を中断す
る。この検査に合格すれば、小売店300はその電子
のノードnj1...jk に該当する金額の支払いを正当な
ものとみなし、それを受け取る。
If the inspection fails, the processing is interrupted. If they pass this inspection, a retail store 300 is the electron current
The payment of the amount corresponding to the gold nodes n j1... Jk is regarded as valid and received.

【0093】(4)決済 最後に小売店300と銀行100の間の決済方法につい
て説明する。小売店300は、利用者200との電子現
金利用時の交信履歴Hを銀行100に提出し、銀行から
該当する金額の支払を受ける。銀行は、Hの正当性を検
査し、検査に合格すれば、Hを記憶し、小売店の口座へ
該当する金額を払い込む。銀行は、電子現金の不正利用
を見つけると、Hを取り出して、それらの情報より不正
者の秘密情報uを算出し、それよりI,IDP を確定す
る。
(4) Settlement Finally, a settlement method between the retail store 300 and the bank 100 will be described. The retail store 300 submits the communication history H at the time of using electronic cash with the user 200 to the bank 100 and receives payment of the corresponding amount from the bank. The bank checks the validity of H, and if the check passes, stores H and pays the corresponding amount to the retailer's account. Bank finds unauthorized use of electronic cash, take out the H, than those of the information to calculate the secret information u of an unauthorized person, to confirm than I, the ID P it.

【0094】[第2の実施例]以下に本発明の第2の実
施例を説明する。
[Second Embodiment] A second embodiment of the present invention will be described below.

【0095】本発明の第2の実施例は、不正使用を検出
するために、素因数分解に関連する問題の認証方式を用
いて不正者の秘密情報を取得する例である。この方法
は、素因数分解に関連する問題における秘密情報を求
め、この秘密情報により不正利用者のIDが露見すると
いうものである。
The second embodiment of the present invention is an example in which in order to detect unauthorized use, secret information of an unauthorized person is acquired by using an authentication method for a problem related to factorization of prime factors. In this method, secret information in a problem related to prime factorization is obtained, and the ID of an unauthorized user is revealed using the secret information.

【0096】(1)利用許可証の発行処理 まず、銀行100で口座を新しく開設した利用者200
が、利用許可証を銀行100より発行してもらう場合に
ついて説明する。ここで、IDP は、利用者200の識
別情報とする。銀行100は、利用許可証に対応する情
報として、RSAディジタル署名で用いる秘密鍵d及び
公開鍵(e,n)の対を作成しておき、公開鍵(e,
n)を公開しておく。ここで、nは、素数の積となる合
成数、eは、nの素因数から1引いた数と互いに素とな
るような整数である。また、秘密鍵dは、x=(xe
d mod nとなるような値である。さらに、銀行100
は、整数a,bを公開しておく。
(1) Issuance of Usage License First, a user 200 who newly opened an account at the bank 100
However, a case where the usage permit is issued from the bank 100 will be described. Here, ID P is the identification information of the user 200. The bank 100 creates a pair of a private key d and a public key (e, n) used in the RSA digital signature as information corresponding to the license, and
Make n) public. Here, n is a composite number that is a product of prime numbers, and e is an integer that is relatively prime to a number obtained by subtracting one from the prime factor of n. Also, the secret key d is x = (x e )
The value is such that d mod n. In addition, bank 100
Publishes integers a and b.

【0097】一方、利用者200は、ディジタル署名で
用いる秘密鍵及び公開鍵の対を作成しておき、公開鍵を
IDP と対にして公開しておく。
[0097] On the other hand, the user 200, leave to create a pair of secret key and a public key to be used in the digital signature, made public by the public key to the ID P and the pair.

【0098】利用者200が銀行100から利用許可証
を発行してもらう手順は、以下の通りである。銀行10
0と利用者200の間の交信例を図11に示し、利用許
可証発行に関する処理を行う場合の銀行100と利用者
200の構成を図12に示す。図12に示す利用者20
0は、2つの乱数発生器2011 、2012 、剰余演算
器2021 、2022 、署名作成器203より構成さ
れ、銀行100は、剰余演算器102を有する。
The procedure for the user 200 to issue a license from the bank 100 is as follows. Bank 10
FIG. 11 shows an example of communication between the user 0 and the user 200, and FIG. User 20 shown in FIG.
0 includes two random number generators 201 1 and 201 2 , remainder calculators 202 1 and 202 2 , and a signature creator 203. The bank 100 has a remainder calculator 102.

【0099】ステップ301)利用者200は、乱数発
生器2011 を用いて乱数uを生成して、乱数u、整数
a、合成数nを剰余演算器2021 に入力し、その出力
I=au mod nを署名作成器203に入力して利用者の
署名S(I)を作成し、IとS(I)、IDP を銀行1
00に送出する。
[0099] Step 301) The user 200 generates a random number u by using a random number generator 201 1, a random number u, an integer a, the composite number n input to the remainder arithmetic unit 202 1, the output I = a u mod n is input to the signature creator 203 to create the user's signature S (I), and I, S (I), and ID P are stored in the bank 1
Send to 00.

【0100】ステップ302)利用者200は、乱数発
生器2012 を用いて乱数s,tを生成し、I,z,
b,u,s,t,e,nを剰余演算器2022 に入力
し、以下の値を出力する。
[0100] Step 302) The user 200 generates a random number s, t using a random number generator 201 2, I, z,
b, type u, s, t, e, n and the residue calculating unit 202 2, and outputs the following values.

【0101】 w=zt smod n, m=autt e mod n 以上の手順により、利用者200は、利用許可証(m,
w)を得る。ここで、m=we mod nとなる。
[0101] w = z t smod n, m = a ut b t s e by mod n the above procedure, the user 200, the usage permit (m,
w). Here, the m = w e mod n.

【0102】一方、銀行100は、利用者200の署名
作成器203の出力Iとそれに対する利用者200の署
名を得る。
On the other hand, the bank 100 obtains the output I of the signature creator 203 of the user 200 and the signature of the user 200 corresponding thereto.

【0103】(2)電子現金の発行処理 次に、利用者200が銀行100から電子現金を発行し
てもらう手順を示す。まず、銀行100は、電子現金
金額に対応する情報として、RSAディジタル署名で用
いる秘密鍵dB 及び公開鍵(eB ,nB )の対を作成し
ておき、公開鍵(eB ,nB )をその金額と共に公開し
ておく。なお、公開鍵のnB は、先に用いたnと同一で
もよい。ここで、銀行100と利用者200の間の交信
例を図13に示し、この場合の銀行100と利用者20
0の構成を図14に示す。
(2) Electronic Cash Issuance Processing Next, a procedure in which the user 200 has the bank 100 issue electronic cash will be described. First, the bank 100, as information corresponding to the amount of electronic cash, the private key d B and a public key (e B, n B) for use in the RSA digital signature previously created a pair, the public key (e B, n B ) is published along with the amount. Note that n B of the public key may be the same as n used previously. Here, an example of communication between the bank 100 and the user 200 is shown in FIG.
0 is shown in FIG.

【0104】図14に示す利用者200は、2つの乱数
発生器2011 、2012 、4つの剰余演算器20
1 、2022 、2023 、2024 、3つの一方向性
関数演算器2041 、2042 、2043 より構成され
る。また、銀行100は、剰余計算機102を有する。
The user 200 shown in FIG. 14 has two random number generators 201 1 and 201 2 and four remainder arithmetic units 20
21 1 , 202 2 , 202 3 , 202 4 and three one-way function calculators 204 1 , 204 2 , 204 3 . The bank 100 has a surplus calculator 102.

【0105】なお、ここで用いるディジタル署名は、ブ
ラインド署名が実行できるものであれば何でもよい。例
えば、Schnorr 法を用いたブラインド署名( 「Okamoto,
T.,"Provably Secure and Practical Identification
Schemes and CorrespondingSignature Schemes", Proce
edings of the Crypto 92, pp. 31-53(1993)」のAppend
ix Bで紹介されている) を用いてもよい。
The digital signature used here may be any digital signature that can execute a blind signature. For example, blind signature using the Schnorr method ("Okamoto,
T., "Provably Secure and Practical Identification
Schemes and CorrespondingSignature Schemes ", Proce
edings of the Crypto 92, pp. 31-53 (1993) Append
ix B).

【0106】ステップ401)[準備]Step 401) [Preparation]

【0107】[0107]

【数9】 (Equation 9)

【0108】の電子現金を発行してもらおうとする利用
者200は、以下のような事前処理を行う。
The user 200 who wants to issue the electronic cash performs the following pre-processing.

【0109】まず、乱数発生器2011 を用いて秘密情
報eを生成する。次に、(ι+1)段の階層を持つ木構
造(図7)を考える。今、一方向関数演算器2041
用いて、最下位のレベルのノード
[0109] First, to generate secret information e using a random number generator 201 1. Next, consider a tree structure (FIG. 7) having a hierarchy of (ι + 1) levels. Now, using the one-way function calculator 204 1 , the lowest level node

【0110】[0110]

【数10】 (Equation 10)

【0111】n0j1j2....jι,ji ∈{0,1}に対応す
る値(t−値)を以下のように求める。
.. J j , ji {0, 1}, the value (t-value) corresponding to {0, 1} is obtained as follows.

【0112】t0j1j2....jι=Η(e‖0j1j2...jι) ここで、Ηは、一方向関数を、‖は結合を意味する。各
t−値を分解して3つの値(r−値)を以下のように求
める。 t0j1j2...jv=(roj1j2...jv,1‖roj1j2...jv,2‖r
oj1j2...jv,3) 次に、上で求めた最下位のノードt−値から順次上位の
ノードt−値を、剰余演算器2021 及び一方向関数演
算器2042 を用いて、以下の関係を満足するように求
める。つまり、ノードn0j1j2...jvのt−値t
0j1j2...jv0 は、その2つの子ノードのt−値(t
0j1j2...jv0 とt0j1j2...jv1 )から以下のように一意
に定まる。 t0j1j2...jv=Η(Η(ar0j1jw...jv0,1r0j1j2...jv0,20j1j2...jv0,3 e mod n)‖ Η(ar0j1jw...jv1,1r0j1j2...jv1,20j1j2...jv1 3 e mod n)) ここで、 t0j1j2....jι0 =(r0j1j2....jι0,1 ‖r0j1j2....jι0,2 ‖r
0j1j2....jι0,3 ), t0j1j2....jι1 =(r0j1j2....jι1,1 ‖r0j1j2....jι1,2 ‖r
0j1j2....jι1,3 . この手順を繰り返していくと、最終的に最上位ノードの
0 のt−値t0 を求めることができる。
T 0j1j2... J ι = Η (e‖0j1j2 ... jι) where こ こ denotes a one-way function and ‖ denotes a combination. Each t-value is decomposed to determine three values (r-values) as follows. t 0j1j2 ... jv = ( roj1j2 ... jv, 1‖roj1j2 ... jv, 22r
oj1j2 ... jv, 3) then sequentially node t- value of the upper from the lowest node t- value calculated above, with a remainder computing unit 202 1 and the one-way function calculator 204 2, below To satisfy the relationship. That is, the t-value t of the nodes n 0j1j2.
0j1j2 ... jv0 are the t-values (t
0j1j2 ... jv0 and t0j1j2 ... jv1 ) are uniquely determined as follows. t 0j1j2 ... jv = Η (Η (a r0j1jw ... jv0,1 b r0j1j2 ... jv0,2 r 0j1j2 ... jv0,3 e mod n)) Η (a r0j1jw ... jv1,1 b r0j1j2 ... jv1,2 r 0j1j2 ... jv1 3 e mod n)) where t 0j1j2 .... j ι 0 = (r 0j1j2 .... j ι 0,1 ‖r 0j1j2 .. ..j ι 0,2 ‖r
0j1j2 .... j ι 0,3), t 0j1j2 .... j ι 1 = (r 0j1j2 .... j ι 1,1 ‖r 0j1j2 .... j ι 1,2 ‖r
0j1j2... J ι 1,3 ) . By repeating this procedure, the t-value t 0 of n 0 of the highest-order node can be finally obtained.

【0113】ステップ402)利用者200は、準備で
求めたt0 及びa,b,nを剰余演算器2022 に入力
して T=ar0,1r0,20,3 e mod n(t0 =r0,1 ‖r
0,2 ‖r0,3 ) を求める。さらに、乱数発生器2012 を用いて、乱数
Rをを生成し、T,mを一方向関数演算器2043 に入
力し、Η(T‖m)を求め、その出力及びR,n B ,e
B を剰余演算器2024 に入力し、 X=Η(T‖m)ReB mod n を出力し、銀行100に送る。
Step 402) The user 200 prepares
T found0And a, b, and n are represented by the remainder arithmetic unit 202.TwoEnter in
Then T = ar0,1br0,2r0,3 emod n (t0= R0,1‖R
0,2‖R0,3). Further, the random number generator 201TwoAnd the random number
R is generated, and T and m are calculated by the one-way function calculator 204.ThreeEnter
To obtain ‖ (T‖m), its output and R, n B, E
BIs the remainder arithmetic unit 202FourX = Η (T‖m) ReB mod n is output and sent to the bank 100.

【0114】ステップ403)ブラインド情報Xを受信
した銀行100は、Xと電子紙幣の金額に対応する秘密
鍵(dB ,nB )とを剰余演算器102に入力し、ブラ
インド署名 X’=XdB mod nB を求め、それを利用者200に送付する。同時に、利用
者200の口座から該当する金額を引き落とすか、利用
者200から該当する金額を受領する。
Step 403) Receiving the blind information X, the bank 100 inputs X and a secret key (d B , n B ) corresponding to the amount of the electronic bill to the remainder calculator 102, and the blind signature X ′ = X It asked the dB mod n B, and sends it to the user 200. At the same time, the corresponding amount is debited from the account of the user 200 or the corresponding amount is received from the user 200.

【0115】ステップ404)銀行100よりX’を受
信した利用者200は、乱数Rと銀行100より受信し
た情報及び公開鍵nB を剰余演算器2024 に入力し、
銀行100の署名 C=X’/R mod nB =(H(T‖m))dBmod nB を求める。ここで、(T,C)が電子現金に相当する。
Step 404) The user 200 having received X ′ from the bank 100 inputs the random number R, the information received from the bank 100 and the public key n B to the remainder arithmetic unit 202 4 ,
The signature of the bank 100, C = X ′ / R mod n B = (H (T‖m)) dB mod n B is obtained. Here, (T, C) corresponds to electronic cash .

【0116】(3)電子現金の支払 次に、利用者200が銀行100より発行された電子
を用いて小売店で支払をする場合について説明する。
[0116] (3) Payment of electronic cash Next, the electronic current the user 200 has been issued by the bank 100
A case where payment is made at a retail store using money will be described.

【0117】現金に対する木構造については、先に説明
したものと同一であるため、説明を省略する。
The tree structure for cash is the same as that described above, and a description thereof will be omitted.

【0118】次に、利用者200と小売店300間で電
子現金の支払時の交信例を図15に示し、その場合の利
用者200と小売店300の構成を図16に示す。
Next, an example of communication between the user 200 and the retail store 300 when paying electronic cash is shown in FIG. 15, and the configuration of the user 200 and the retail store 300 in that case is shown in FIG.

【0119】利用者200は、3つの剰余演算器202
1 、2022 、2023 と、一方向性関数演算器204
より構成される。小売店300は、3つの剰余演算器3
02 1 、3022 、3023 、関数演算器305、比較
器311より構成される。
The user 200 has three remainder arithmetic units 202
1, 202Two, 202ThreeAnd the one-way function calculator 204
It is composed of The retail store 300 has three remainder arithmetic units 3
02 1, 302Two, 302Three, Function calculator 305, comparison
It is composed of a device 311.

【0120】以下では、1つのノード(n0j1...jk) に
対する処理のみを説明する。ステップ501)利用者2
00は、まず、(m,w,C)を小売店300に送る。
さらに、利用者200はa,b,n,r0j1j2...jk,1
0j1j2...jk,2, 0j1j2...jk,3を剰余演算器2021
に入力して以下の値βを求める。 β=ar0j1j2...jk,1 r0j1j2...jk,2 0j1j2...jk,e
e mod n. さらに、a,b,及びノードn0j1j2...jk並びにその先
祖の兄弟ノードr−値を剰余演算器2022 及び一方向
関数演算器204に入力し、以下を出力し、これをβと
ともに小売店300に送る。
In the following, one node (n0j1 ... jk)
Only the corresponding process will be described. Step 501) User 2
00 first sends (m, w, C) to the retail store 300.
Further, the user 200 has a, b, n, r0j1j2 ... jk, 1,
r0j1j2 ... jk, 2,r 0j1j2 ... jk, 3Is the remainder arithmetic unit 2021
To obtain the following value β. β = ar0j1j2 ... jk, 1br0j1j2 ... jk, 2r0j1j2 ... jk, e
emod n. a, b, and node n0j1j2 ... jkAnd beyond
The sibling node r-value of the ancestorTwoAnd one-way
Input to the function calculator 204 and output the following,
Both are sent to the retail store 300.

【0121】[0121]

【数11】 [Equation 11]

【0122】ここで、bがビット(0もしくは1)のと
き、b’は、bをビット反転させた値を意味する。
Here, when b is a bit (0 or 1), b 'means a value obtained by inverting the bit of b.

【0123】ステップ502)小売店300は、送られ
てきた情報をa,b,nと共に剰余演算器3021 に入
力することにより、木構造認証用情報Tが求められる。
[0123] Step 502) retailers 300, the information sent a, b, by inputting to the residue calculating unit 302 1 with n, the tree structure authentication information T is obtained.

【0124】小売店300は、小売店名、時間等の情報
を関数演算器305に入力し、その出力(質問情報)α
を利用者200に送る。
The retail store 300 inputs information such as the retail store name and time to the function calculator 305, and outputs (question information) α.
To the user 200.

【0125】ステップ503)利用者200は、秘密情
報u,t,s並びに、α,r0j1j2. ..jk,1,r
0j1j2...jk,1,e,nを剰余演算器2023 に入力し、
Step 503) The user 200 transmits the secret information u, t, s and α, r 0j1j2 ... Jk, 1 , r
0j1j2 ... jk, 1, e, the n type to the residue calculating unit 202 3,

【0126】[0126]

【数12】 (Equation 12)

【0127】を求め、それらを小売店300に送る。Are sent to the retail store 300.

【0128】ステップ504)小売店300は、剰余計
算器3022 、3023 及び比較器311を用いてy
1,y2が以下の関係を満足するかどうか検証する。
[0128] Step 504) retailers 300, y using the remainder calculation unit 302 2, 302 3 and the comparator 311
It is verified whether 1, y2 satisfies the following relationship.

【0129】[0129]

【数13】 (Equation 13)

【0130】この検査が不合格のときは、処理を中断す
る。この検査に合格すれば、小売店300は、その電子
紙幣のノードnj1...jk に該当する金額の支払いを正当
なものとみなし、それを受け取る。
If this inspection fails, the processing is interrupted. If the inspection passes, the retail store 300 regards the payment of the amount corresponding to the nodes n j1... Jk of the electronic bill as valid and receives it.

【0131】(4)決済 最後に小売店300と銀行100の間の決済方法につい
て説明する。小売店300は、利用者200との電子現
金利用時の交信履歴Hを銀行100に提出し、銀行10
0から該当する金額の支払いを受ける。銀行100は、
Hの正当性を検査し、検査に合格すれば、Hを記憶し、
小売店300の口座に該当する金額を払い込む。銀行1
00は、電子現金の不正利用を見つけると、Hを取り出
して、それらの情報より不正者の秘密鍵uを算出し、そ
れよりI,IDP を確定する。
(4) Settlement Finally, a settlement method between the retail store 300 and the bank 100 will be described. The retail store 300 submits the communication history H at the time of using electronic cash with the user 200 to the bank 100, and
You will be paid the corresponding amount from 0. Bank 100
Inspect H for legitimacy, and if it passes, remember H,
The corresponding amount is paid into the account of the retail store 300. Bank 1
00, we find the unauthorized use of electronic cash, take out the H, than those of the information to calculate the secret key u of an unauthorized person, to confirm than I, the ID P it.

【0132】最後に、不正使用があった場合の処理につ
いて説明する。
Lastly, a description will be given of the processing in the case where there is unauthorized use.

【0133】図17は、不正使用を説明するための図で
ある。不正使用には、以下の2つのパターンがあり、第
1には、木構造の先祖−子孫関係にあるノードを利用し
たとき、図17において、×印のついている2つのノー
ドA,Bを利用した場合、第2には、同じノードを2重
に利用した場合とがある。
FIG. 17 is a diagram for explaining unauthorized use. There are the following two patterns of illegal use. First, when a node having an ancestor-descendant relationship in a tree structure is used, two nodes A and B marked with a cross in FIG. 17 are used. In the second case, the same node is used twice.

【0134】まず、第1のパターンでは、ノードBを利
用すると、ノードBに対応するβ−値及び関連δ値(前
述のステップ201)が小売店300に送られる(最終
的には銀行100)。これにより、t−値(r−値)を
計算できる。
First, in the first pattern, when the node B is used, the β-value and the related δ value (step 201 described above) corresponding to the node B are sent to the retail store 300 (finally, the bank 100). . Thus, the t-value (r-value) can be calculated.

【0135】一方、ノードAを利用すると、ノードAに
対応するy1 ,y2 (前述のステップ203)が送られ
る。ノードAのr−値が計算できるので、(1)、
(2)の式より不正者の秘密情報u,sが算出できる。
On the other hand, when the node A is used, y 1 and y 2 (step 203 described above) corresponding to the node A are sent. Since the r-value of node A can be calculated, (1),
The secret information u, s of the fraudster can be calculated from the equation (2).

【0136】また、第2のパターンでは、同じノードを
2回利用すると、前述のステップ203が異なる2つの
値のα(α1 、α2 )に対して実行される。つまり、
(1)、(2)式がα=α1 、α=α2 に対して成立す
る。 y11=r...,1 +α1 (us) y21=r...,2 +α1 s y12=r...,1 +α2 (us) y22=r...,2 +α2 s 以上の4つの連立方程式を4つの未知数r...,1 、r
...,2 、u,sについてとけば、これらの未知数を求め
ることができる。従って、秘密情報uの値を算出するこ
とができる。
In the second pattern, when the same node is used twice, the above-described step 203 is executed for two different values of α (α 1 , α 2 ). That is,
Equations (1) and (2) hold for α = α 1 and α = α 2 . y 11 = r ..., 1 + α 1 (us) y 21 = r ..., 2 + α 1 s y 12 = r ..., 1 + α 2 (us) y 22 = r ..., 2 + α Four simultaneous equations of 2 s or more are converted into four unknowns r ..., 1 , r
., 2 , u, s, these unknowns can be obtained. Therefore, the value of the secret information u can be calculated.

【0137】[0137]

【発明の効果】上述のように、本発明によれば、Chaum
等の方式と同様に、利用者のプライバシを保証でき、か
つ不正使用を検出できる。さらに、本発明では、従来の
chaumらの方法では不可能であった一回発行された電子
現金を発行時に決められた額になるまで、何回も分割し
て利用できるような電子現金方式を実現することができ
る。決められた額以上の支払いを行うと、その不正使用
者のID並びにその秘密情報を算出することにより、不
正使用の証拠とすることができる。
As described above, according to the present invention, Chaum
As in the above methods, privacy of the user can be guaranteed, and unauthorized use can be detected. Furthermore, in the present invention, the conventional
It is possible to realize an electronic cash system in which electronic cash issued once, which was impossible with the method of chaum et al., can be used by dividing it many times until it reaches the amount determined at the time of issuance. If payment is made over the determined amount, the ID of the unauthorized user and the secret information thereof are calculated, which can be used as evidence of unauthorized use.

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

【図1】本発明の原理を説明するための図である。FIG. 1 is a diagram for explaining the principle of the present invention.

【図2】本発明の一実施例のシステム構成図である。FIG. 2 is a system configuration diagram of an embodiment of the present invention.

【図3】本発明の第1の実施例の利用許可証の発行処理
を行う場合の銀行及び利用者の構成図である。
FIG. 3 is a configuration diagram of a bank and a user when performing a process of issuing a usage certificate according to the first embodiment of this invention.

【図4】本発明の第1の実施例の銀行と利用者間の交信
の例を示す図である。
FIG. 4 is a diagram illustrating an example of communication between a bank and a user according to the first embodiment of this invention.

【図5】本発明の第1の実施例の銀行と利用者間の交信
例を示す図である。
FIG. 5 is a diagram illustrating an example of communication between a bank and a user according to the first embodiment of this invention.

【図6】本発明の第2の実施例の電子現金の発行処理を
行う場合の銀行及び利用者の構成図である。
FIG. 6 is a configuration diagram of a bank and a user when issuing electronic cash according to a second embodiment of the present invention.

【図7】木構造を示す図である。FIG. 7 is a diagram showing a tree structure.

【図8】三階層の電子現金の木構造を示す図である。FIG. 8 is a diagram showing a tree structure of three levels of electronic cash.

【図9】本発明の第1の実施例の利用者と小売店間の交
信例を示す図である。
FIG. 9 is a diagram illustrating an example of communication between a user and a retail store according to the first embodiment of this invention.

【図10】本発明の第1の実施例の電子現金支払処理を
行う場合の利用者と小売店の構成図である。
FIG. 10 is a configuration diagram of a user and a retail store when performing electronic cash payment processing according to the first embodiment of this invention.

【図11】本発明の第2の実施例の利用許可証の発行処
理時の銀行と利用者間の交信例を示す図である。
FIG. 11 is a diagram illustrating an example of communication between a bank and a user at the time of processing for issuing a usage certificate according to the second embodiment of this invention.

【図12】本発明の第2の実施例の利用許可証発行時の
銀行と利用者の構成図である。
FIG. 12 is a configuration diagram of a bank and a user at the time of issuing a license according to a second embodiment of the present invention.

【図13】本発明の第2の実施例の電子現金の発行処理
時の銀行と利用者間の交信例を示す図である。
FIG. 13 is a diagram showing an example of communication between a bank and a user during electronic cash issuance processing according to the second embodiment of the present invention.

【図14】本発明の第2の実施例の電子現金の発行時の
銀行と利用者の構成図である。
FIG. 14 is a configuration diagram of a bank and a user at the time of issuing electronic cash according to a second embodiment of the present invention.

【図15】本発明の第2の実施例の電子現金支払時の利
用者と小売店間の交信例を示す図である。
FIG. 15 is a diagram showing an example of communication between a user and a retail store at the time of electronic cash payment according to the second embodiment of the present invention.

【図16】本発明の第2の実施例の電子現金支払時の利
用者と小売店の構成図である。
FIG. 16 is a configuration diagram of a user and a retail store at the time of electronic cash payment according to the second embodiment of the present invention.

【図17】不正使用を説明するための図である。FIG. 17 is a diagram for explaining unauthorized use.

【符号の説明】[Explanation of symbols]

100 銀行 101 乱数発生器 102 剰余演算器 200 利用者 201 乱数発生器 202 剰余演算器 203 署名作成器 204 一方向性関数演算器 300 小売店 302 剰余演算器 304 一方向性関数演算器 305 関数演算器 311 比較器 400 通信回線 REFERENCE SIGNS LIST 100 bank 101 random number generator 102 remainder operator 200 user 201 random number generator 202 remainder operator 203 signature creator 204 one-way function operator 300 retail store 302 remainder operator 304 one-way function operator 305 function operator 311 comparator 400 communication line

フロントページの続き (56)参考文献 特開 平4−367070(JP,A) 特開 平3−73065(JP,A) 特開 平5−20344(JP,A) 理想的電子現金方式,電子情報通信学 会技術研究報告,1991年7月15日,Vo l.91 No.127,p.39−47 Untraceable Off−L ine Cash in Wallet with Observers,Le cture Notes in Com puter Science,Vol. 773,p.302−318 Single Term Off−L ine Coins,Lecture Notes in Computer Science,Vol.765,p.292 −301 (58)調査した分野(Int.Cl.7,DB名) G06F 17/60 410 G09C 1/00 660 JICSTファイル(JOIS)Continuation of the front page (56) References JP-A-4-367070 (JP, A) JP-A-3-73065 (JP, A) JP-A-5-20344 (JP, A) Ideal electronic cash method, electronic information Technical report of the Communication Society of Japan, July 15, 1991, Vol. 91 No. 127, p. 39-47 Untraceable Off-Line Cash in Wallet with Observers, Lecture Notes in Computer Science, Vol. 773, p. 302-318 Single Term Off-Line Coins, Lecture Notes in Computer Science, Vol. 765, p. 292 −301 (58) Field surveyed (Int. Cl. 7 , DB name) G06F 17/60 410 G09C 1/00 660 JICST file (JOIS)

Claims (6)

(57)【特許請求の範囲】(57) [Claims] 【請求項1】 電子現金を発行する機関の装置(以下、
銀行側装置)と、該電子現金を発行される者の装置(以
下、利用者装置)及び利用者より電子現金を受領する機
関の装置(以下、小売店側装置)より構成される電子現
金システムにおける電子現金流通方法において、 前記利用者装置は、秘密情報uをランダムに生成し、該
秘密情報uよりp(素数)を法とする剰余演算を用いて
計算した結果Iと該結果Iに対する利用者の署名情報を
前記銀行側装置に送信し、 前記銀行側装置は、前記結果Iより剰余演算結果mを算
出し、該銀行装置自身の秘密情報xを用いて該剰余演算
結果mに対する銀行の署名m x mod pを求め、該署名m
x mod pの正当性を証明するための情報と共に、前記利
用者装置に送信し、 前記利用者装置は、前記剰余演算結果mを前記銀行側装
置には隠匿しておくデータm’に変形し、最終的に該デ
ータm’の値を該銀行側装置に秘密にしたまま、該デー
タm’に対する銀行側の署名m’ x mod pをその正当性
を保証する情報と共に取得し、該データm’と該データ
m’に対する銀行側署名の対を利用許可証とし、 前記利用者が、ある金額の電子現金を前記銀行より引き
出す場合には、前記利用者装置は、金額に相当する階層
を持つ木構造の全ノード個々に対応する各々の値(t−
値)を計算し、 前記木構造の最上位のノードより認証用情報を生成して
前記銀行側装置に送信し、 前記銀行側装置は、前記認証用情報より引出し金額に対
応するブラインド署名を作成して、前記利用者装置に送
信し、 前記利用者装置は、前記銀行側装置から受信した前記ブ
ラインド署名から木構造認証用情報Tと前記利用許可証
に対する前記銀行の署名を計算して、該木構造認証用情
報T及び利用許可証と前記引出し金額に対応する銀行署
名の対である電子現金を取得することを特徴とする電子
現金流通方法。
(1)Institutions that issue electronic cash (hereinafter referred to as
Bank-side device) and the device of the person issuing the electronic cash (hereinafter referred to as the device)
Below, user device) and a machine that receives electronic cash from the user
Electronic devices composed of Seki's equipment (hereinafter referred to as retail equipment)
In the electronic cash distribution method in the gold system, The user device randomly generates secret information u,
Using remainder operation modulo p (prime number) from secret information u
The calculated result I and the user's signature information for the result I are
Sending to the bank-side device, The bank-side device calculates a remainder operation result m from the result I.
And the remainder calculation using the secret information x of the bank device itself.
Bank signature m for result m x mod p and the signature m
x Along with information to prove the validity of the mod p,
To the user device, The user device transmits the remainder calculation result m to the bank-side device.
Is transformed into data m 'to be concealed,
While keeping the value of data m 'secret to the bank-side device,
Bank's signature m 'for tag m' x mod p its validity
And the data m ′ and the data
The pair of the bank's signature for m 'is used as a license, The user withdraws a certain amount of electronic cash from the bank
When issuing, the user device has a hierarchy corresponding to the amount of money.
Each value (t−t) corresponding to each individual node of the tree structure having
Value) Generate authentication information from the top node of the tree structure
Sending to the bank-side device, The bank-side device checks the withdrawal amount from the authentication information.
Creates a corresponding blind signature and sends it to the user device.
Believe in The user device is configured to receive the broadcast received from the bank device.
From the lined signature, the tree structure authentication information T and the license
Calculate the bank signature for the tree structure authentication information.
And the bank office corresponding to the license and the withdrawal amount
An electronic device characterized by acquiring electronic cash as a name pair
Cash distribution method.
【請求項2】 前記電子現金の発行を受けた前記利用者
が、小売店で該電子 現金を使用する際に、前記利用者装
置において、発行金額以内の利用額を定めた後、発行さ
れた該電子現金に対応した木構造のノード中の利用金額
に対応するノードAを定め、該利用者は、該電子現金を
提示し、 前記利用者装置は、前記ノードAの兄弟ノード並びに、
該ノードAの先祖ノードの兄弟ノードのそれぞれに対応
する値t−値から剰余演算及び一方向性関数演算により
求められる値を前記小売店側装置に送信し、 前記小売店側装置は、送信された前記値から木構造認証
用Tを求め、前記利用者装置に質問情報αを送信し、 前記利用者装置は、前記小売店側装置からの前記質問情
報αに対応した応答文を自分の前記秘密情報uから計算
し、該小売店側装置に送信し、 前記小売店側装置は、前記利用者装置からの前記応答文
の正当性を確認し、正しければ、前記利用金額の電子現
金による支払を認める請求項1記載の電子現金流通方
法。
(2)The user who has received the electronic cash
But at a retail store, When using cash, the user
After determining the usage amount within the issuance amount,
Usage amount in a tree-structured node corresponding to the obtained electronic cash
Is determined, and the user transfers the electronic cash
Presented, The user device includes a sibling node of the node A and
Corresponds to each of the sibling nodes of the ancestor node of the node A
From the value t-value, the remainder operation and the one-way function operation
Transmitting the required value to the retailer side device, The retailer side apparatus performs tree structure authentication from the transmitted value.
Request T, and send question information α to the user device, The user device may receive the question information from the retail store device.
Calculates the response sentence corresponding to the report α from the secret information u of the user
Transmitting to the retailer side device, The retailer-side device may receive the response sentence from the user device.
Is confirmed, and if correct, the electronic value of the
The electronic cash distribution method according to claim 1, wherein payment by money is permitted.
Law.
【請求項3】 前記電子現金の発行を受けた前記利用者
装置より、前記小売店側装置が受領した電子現金を銀行
で決済する際に、 後日、前記小売店側装置は決済のために前記銀行側装置
に前記利用者装置と該小売店側装置間の相互通信文を送
信し、 前記銀行側装置は、前記相互通信文の正当性を検証し
て、合格の時には、該相互通信文をメモリに記憶し、 前記電子現金が不正に使用されると、前記利用許可証を
生成する時に用いた前記利用者の秘密情報を算出する請
求項1または、2記載の電子現金流通方法。
(3)The user who has received the electronic cash
From the device, the electronic cash received by the retailer device is transferred to a bank.
When paying with At a later date, the retail store device will be
To the user device and the retail store device.
Believe in The bank device verifies the validity of the intercommunication message.
Then, when the result is passed, the mutual communication is stored in the memory, If the electronic cash is used improperly, the license
A request to calculate the secret information of the user used when generating
3. The electronic cash distribution method according to claim 1 or 2.
【請求項4】 前記利用者装置は、秘密情報uをランダ
ムに生成し、該秘密情報uより合成数nを法とする剰余
演算を用いて計算した結果Iと該結果Iに対する利用者
の署名情報を前記銀行側装置に送信し、 前記銀行側装置は、前記結果IよりI’を算出し、該銀
行装置自身の秘密情報dを用いて、銀行署名z=
(I’) d mod nを求め、前記利用者装置に送信し、 前記利用者装置は、前記I’を該I’のブラインド値m
に変更すると共に、該ブラインド値mを前記銀行に秘密
にしたまま、該ブラインド値mに対する該銀行の署名w
を該銀行署名zから取得し、該ブラインド値mと該銀行
署名wの組(m ,w)を利用許可証とし、 前記利用者がある金額の電子現金を前記銀行から引き出
す場合に、前記利用者装置は、金額に相当する階層を持
つ木構造の全ノード個々に対応する値(t−値)を計算
し、その最上位のノードのt−値から素数pを法とする
剰余演算により木構造認証用情報Tを求め、該木構造認
証用情報Tに対して、該利用許可証と秘密の乱数により
認証用情報を生成して、前記銀行側装置に送信し、 前記銀行側装置は、前記認証用情報により、引出し金額
に相当するブラインド署名を作成し、前記利用者装置に
送信し、 前記利用者装置は、前記銀行側装置から受信した前記ブ
ラインド署名から前記木構造認証用情報Tと利用許可証
に対する銀行の署名を計算して、該木構造認証用情報T
と該利用許可証と、引出し金額に対応する銀行署名の対
を、電子現金として受け取る請求項1記載の電子現金流
通方法。
(4)The user device transmits the secret information u
And the remainder modulo the composite number n from the secret information u
The result I calculated using the operation and the user for the result I
Sending the signature information of The bank-side device calculates I ′ from the result I, and
Using the secret information d of the banking device itself, the bank signature z =
(I ') d mod n is obtained and transmitted to the user device; The user device sets the I ′ to a blind value m of the I ′
And the blind value m is kept secret from the bank.
And the bank's signature w for the blind value m
From the bank signature z, the blind value m and the bank
Set of signature w (m , W) as the license, The user withdraws a certain amount of electronic cash from the bank
In this case, the user device has a hierarchy corresponding to the amount of money.
Calculate the value (t-value) corresponding to each node of the tree structure
And modulo the prime number p from the t-value of the highest node
The tree structure authentication information T is obtained by a remainder operation.
For the certificate information T, the license and the secret random number are used.
Generate authentication information and send it to the bank device, The bank-side device determines a withdrawal amount based on the authentication information.
Create a blind signature equivalent to
Send, The user device is configured to receive the broadcast received from the bank device.
From the lined signature, the tree structure authentication information T and the license
Of the tree structure authentication information T
Pair of the license and the bank signature corresponding to the withdrawal amount
Electronic cash flow according to claim 1, wherein the electronic cash flow is received as electronic cash.
Communication method.
【請求項5】 前記電子現金の発行を受けた前記利用者
が、前記小売店で該電子現金を使用する際には、発行金
額以内の利用額を定めた後に、発行された電子現金に対
応した木構造のノード中の利用金額に対応するノードを
定め、 前記利用者装置は、前記電子現金を提示すると共に、該
当ノードAに対応する値のt−値からnを法とする剰余
演算により該当ノードAの値βを計算し、該βを前記小
売店側装置に送信すると共に、該ノードA、並びに該ノ
ードAの先祖ノードの兄弟ノードのそれぞれに対応する
値(t−値)から剰余演算及び一方向関数演算により求
められる値を該小売店側装置に送信し、 前記小売店側装置は、送付された値から前記木構造認証
用情報Tを求め、前記利用者装置に質問情報αを送り、 前記利用者装置は、前記小売店側装置からの前記質問情
報αに対応した応答文を自分の秘密情報uから計算し、
該小売店側装置に送信し、 前記小売店側装置は、前記応答文の正当性を確認し、該
応答文が正しければ該当利用金額の電子現金による支払
を認める請求項4記載の電子現金流通方法。
Claim 5.The user who has received the electronic cash
However, when using the electronic cash at the retail store,
After determining the amount of use within the amount, you can
The node corresponding to the usage amount in the node of the tree structure
Determined, The user device presents the electronic cash, and
The remainder modulo n from the t-value of the value corresponding to this node A
Calculate the value β of the corresponding node A by calculation, and
The node A and the node A are transmitted to the store side device.
Corresponding to each of the sibling nodes of the ancestor node of node A
From the value (t-value) by remainder operation and one-way function operation
Transmitting the value to the retailer side device, The retailer side apparatus obtains the tree structure authentication from the transmitted value.
For the user information T, send question information α to the user device, The user device may receive the question information from the retail store device.
Calculates the response sentence corresponding to the report α from its own secret information u,
Transmit to the retailer side device, The retail store device checks the validity of the response sentence,
If the response is correct, pay the applicable usage amount by electronic cash
5. The electronic cash distribution method according to claim 4, wherein
【請求項6】 前記電子現金の発行を受けた利用者より
前記小売店が受領した電子現金を前記銀行で決済する際
に、 後日、前記小売店側装置は、決済のための前記銀行側装
置に、前記利用者装置 と該小売店側装置との間の相互通
信文を送信し、 前記銀行側装置は、前記相互通信文の正当性を検査し
て、合格のときは、該相互通信文をメモリに記憶し、 前記電子現金が不正に使用されると、前記利用許可証を
生成する時に用いた秘密情報を算出する請求項4また
は、5記載の電子現金流通方法。
6.From the user who received the electronic cash
When the electronic cash received by the retail store is settled at the bank
To At a later date, the retailer-side device may be configured to use the bank-side device for settlement.
The user device Communication between the device and the retail store device
Send a letter, The bank-side device checks the validity of the intercommunication message.
If it passes, the mutual communication is stored in the memory, If the electronic cash is used improperly, the license
Calculating secret information used at the time of generation;
Is the electronic cash distribution method described in 5.
JP9339094A 1994-05-02 1994-05-02 Electronic cash distribution method Expired - Fee Related JP3334013B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9339094A JP3334013B2 (en) 1994-05-02 1994-05-02 Electronic cash distribution method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9339094A JP3334013B2 (en) 1994-05-02 1994-05-02 Electronic cash distribution method

Publications (2)

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

Family

ID=14080991

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9339094A Expired - Fee Related JP3334013B2 (en) 1994-05-02 1994-05-02 Electronic cash distribution method

Country Status (1)

Country Link
JP (1) JP3334013B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2811451B1 (en) * 2000-07-07 2002-11-29 Thomson Multimedia Sa SYSTEM AND METHOD FOR MANAGING MICROPAYMENT TRANSACTIONS, CUSTOMER TERMINAL AND MERCHANT EQUIPMENT THEREOF
CN106875543B (en) * 2017-01-25 2019-06-07 杭州视氪科技有限公司 It is a kind of based on visually impaired people's bill acceptor system of RGB-D camera and recognition methods
CN106846608B (en) * 2017-01-25 2019-03-01 杭州视氪科技有限公司 A kind of visually impaired people's paper money recognition glasses based on RGB-D camera

Non-Patent Citations (3)

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

Also Published As

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

Similar Documents

Publication Publication Date Title
US20220116343A1 (en) Methods and Systems for Creating and Using Massless Currency
EP0518365B1 (en) method of implementing use of electronic cash
RU2157001C2 (en) Method for conducting transactions
US6411942B1 (en) Electronic transaction system and systems for issuing and examining electronic check
CN113994357A (en) Method for directly transmitting electronic coin data records between a terminal and a payment system
US7353398B2 (en) Article, method, system and apparatus for decentralized creation, distribution, verification and transfer of valuable documents
KR20030029607A (en) System and method for managing micropayment transactions, corresponding client terminal and trader equipment
CN110738474A (en) method and system for encrypting digital currency tokens based on SM2 cryptographic algorithm
WO2021250046A1 (en) Computer implemented methods and systems
CN113744036B (en) Quantum check transaction method based on blockchain digital signature
JP3334013B2 (en) Electronic cash distribution method
JP2002329152A (en) Method for undoing operation remotely performed on server station
Wang et al. A consumer scalable anonymity payment scheme with role based access control
JP2879792B2 (en) Method and apparatus for splitting and using electronic cash
Wang et al. Building a consumer scalable anonymity payment protocol for Internet purchases
JPH0752460B2 (en) Electronic cash implementation method and apparatus
JP2631781B2 (en) Electronic cash implementation method
JP3171227B2 (en) Electronic banknote implementation method with a trust institution
JP3599493B2 (en) Electronic cash method and user device with separate issuing agency number registration type
JP3435677B2 (en) Trackable electronic cash execution method and device
JP3334018B2 (en) Electronic cash method and electronic cash system
JP2631776B2 (en) Electronic cash implementation method
JP3599492B2 (en) Number registration type electronic cash method and user device
JP3171228B2 (en) Electronic bill execution method using multiple trust institutions
JP3388485B2 (en) Anonymous electronic cash deposit method, device thereof, and program recording medium

Legal Events

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

Free format text: PAYMENT UNTIL: 20070802

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20080802

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20080802

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090802

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090802

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100802

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100802

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110802

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120802

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130802

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees