|
|
|
|
Lesson#26
|
E-CASH PAYMENT SYSTEM
|
|
|
|
A company, DigiCash, has pioneered the use of electronic cash or
e-cash. Anonymity of the buyer is the key
feature of this system. There are three participants in it,
namely, buyer, merchant and bank. Both, symmetric
and asymmetric type of cryptography is used in this system.
Buyers and merchants, both, have accounts in the E-cash bank.
Buyers withdraw coins against their
account and store them in e-cash wallet software (Cyber wallet)
on their computer. Cyber wallet stores and
manages coins and records every transaction. Merchant forwards
coins to e-cash bank which ensures that
these have not already been spent and credits the account of the
merchant.
E-cash Coins
The currency used in this payment system is called an e-cash
coin or simply coin. A coin consists of three
elements or parts - serial #, key version and serial no. signed
by the secret or private key of a certain
denomination of the e-cash bank. In other words, a coin of one
dollar would consist of the following:
Coin = Serial#, keyversion, {Serial #}SK
bank’s $1 key
Each coin has a unique value, partly minted by the client and
partly by the e-cash bank.
Minting of the coin
A long serial no. is randomly generated by the client’s Cyber
wallet in order to mint a coin. This serial no. is
blinded, which means that it is multiplied with a blinding
factor “r” and sent to the e-cash bank for
signatures. Thus, the e-cash bank cannot see the serial no. it
is signing. Key version (corresponding public
key of the bank) is also part of the coin, and is sent usually
at the time of account opening. An e-cash bank
may have 1 dollar signature, 5 dollar signature or 10 dollar
signature etc. If the client wants to mint a coin of
2 dollars then e-cash bank would use its private or secret key
of 2 dollars to sign the serial no.
How bank signs blindly?
Cyberwallet generates a serial # and a blinding factor ‘r’. This
blinding factor “r” is only known to the client.
It is used in the following mathematical expression which is
sent to the bank for signatures.
Serial # . re2
(mod m)
Public key of the bank consists of modulus ‘m’ and a no. ‘e’.
Bank signs with its secret key of 2 dollars (d2)
such that:
(Serial #. re2)d2(mod
m)=Serial#d2.re2d2(mod
m)
(Serial #. re2)d2(mod
m)=Serial#d2.r(mod
m)
The product of e2 and d2 cancel out each other due the property
of inverse relationship of keys. Bank
cannot see serial # it is signing since it does not know ‘r’.
The expression “Serial#d2.r(mod
m)” is sent back
by the bank to the client, who divides it with “r” to get the
third part of a valid 2 dollar coin as follows:
Serail#d2.r(mod
m)/r=Serial#d2(mod
m)
Thus, minting of a 2 dollar coin is completed. In a similar
fashion one can withdraw or mint coins of
different denominations. E-cash bank signs the serial nos. and
debits the account of the client. A client must
maintain his account with the bank. So, if a client has $ 50 in
his account with the e-cash bank and requests
for the coins of a total value of $ 10, the amount left in his
account after bank’s signatures on the serial nos.
would be $ 40.
Client wallet or cyber wallet can generate serial nos., store
coins, make and accept payments. It can
withdraw (get the coins minted) from the e-cash bank, and
deposit coins at the payment stage to the bank.
E-cash bank can issue new coins and send account statement to
the client. On the merchant side, there is
special merchant software. Thus, a merchant can sell items,
accept payments from clients and also make
payments. E-cash bank signs the serial nos., maintains accounts
of the client and the merchant and also
maintains a database in which the serial nos. of all such coins
sent for payment are recorded. The client
makes the payment to the merchant for the items bought. The
payment is made through e-cash coins. Note
that these coins are earlier got minted with the help of e-cash
bank and remain stored in the cyber wallet.
The coins are encrypted with the public key of the bank and are
forwarded to the merchant for onwards
deposit to the bank. The merchant cannot, therefore, view these
coins. E-cash bank decrypts the coins
using its corresponding private key and compares the serial nos.
, thus revealed, with its database of spent
coins to check the validity of the coins. If a revealed serial
no. is not contained in the database, it proves that
the coin is valid and unspent. The bank then sends the valid
indication to the merchant and adds that
particular serial no. in its database to prevent any chance of
its being consumed in the future. The merchant
then sends the goods and receipt of payment to the client.
|
|
|
|