A user registers a user public key PKU as a pseudonym at a trustee or
issuer and obtains an signature for the pseudonym as a license. The sends
the pseudonym, PKU identification information IdU and the amount of
withdrawal x to the issuer institution. The issuer increments a balance
counter of the pseudonym by x, then generates an issuer signature
SKI(PKU, x) with a secret key SKI, and sends the issuer signature as an
electronic cash to the user. The user verifies the validity of the issuer
signature with a public key SKI, and if valid, increments an electronic
cash balance counter Balance by x. At the time of payment, user sends the
public key PKU and the license to a shop, and the shop verifies the
validity of the license, and if valid, sends a challenge to the user. The
user attaches a signature to the challenge with user secret key SKU, then
sends it to the shop together with the amount due y, and decrements the
electronic cash balance counter by y.