Patent ID: 7877331
Filing Date: 2011-01-25
Classification: G06Q,H04L

Abstract:
1. A digital cash implementing method providing digital cash tokens for an electronic cash system which contains a certificate authority, a bank and an issuer of digital cash tokens, said method comprising: a. said certificate authority using a process device of said certificate authority provides at least two pairs of certified keys to a user including a master pair having a private and a public key and at least one pseudonym pair having a private and public key; b. said user using a processing device of said user stores said private master and pseudonym private keys as a secret, selecting a blinding function and corresponding unblinding function that are secret to said user, applying said blinding function to face value X to obtain a blinded number, BLIND(X), wherein said user signs BLIND(X), said user identification and a face value X using said user master private key and using a digital signature method with message recovery, and shows said signed blinded number, BLIND(X), said user identification and said signed face value X to said bank and requests said bank to issue digital cash E of said face value X; c. said bank using a processing device of said bank decrements said face value X from a bank account of said user associate with a real identity of said user, issues to said user, by a signature said digital cash E associated with said signed blinded value, BLIND(X), and corresponding to said face value X; d. said user using said processing device of said user removes said user signature from said digital cash E by using message recovery to obtain digital cash D, uses said unblinding function that is secret to said user only to unblind digital cash D in order to obtain digital cash C, uses said unblinding function on blinded number, BLIND(X), to obtain unblinded number, UNBLIND(X), signs said digital cash C to obtain signed digital cash sC, signs UNBLIND(X) to obtain signed sUNBLIND(X), generates multiple of random numbers R e. said issuer of digital cash using a processing device of said user of digital cash verifies said user's pseudonym signature on said digital cash sC and said signed unblinded number sUNBLIND(X) using said user's pseudonym public key, verifies said bank's signature on said digital cash C using said bank's public key of said digital cash face value X and said unblinded number UNBLIND(X), shows said digital cash C and said unblinded number UNBLIND(X) to said bank and requests payment from said bank; f. said bank using said processing device of said bank checks that said digital cash C associated to said unblinded number UNBLIND(X) which was sent by said issuer of digital cash has not been used before, and if it has been used, halts payment, and requests from said digital cash issuer said pseudonym public key used by said user in requesting digital cash C from said issuer of digital cash, and if it has not been used, stores said digital cash C and said unblinded number UNBLIND(X) in memory, and sends payment to said digital cash issuer; g. said issuer of digital cash using said processing device of said issuer of digital cash upon receipt of payment from said bank converts said digital cash C into digital cash tokens DT h. said user using said processing device of said user applies said unblinding function secret to said user only to said digital cash tokens DT i. said shop using a processing device of said shop checks signature of signed token random numbers said signed token random numbers sUNBLIND(R j. said digital cash issuer using said processing device of said digital cash issuer checks that said digital cash tokens CT