WO1995022215A2 - Limited-traceability systems - Google Patents

Limited-traceability systems Download PDF

Info

Publication number
WO1995022215A2
WO1995022215A2 PCT/US1995/001551 US9501551W WO9522215A2 WO 1995022215 A2 WO1995022215 A2 WO 1995022215A2 US 9501551 W US9501551 W US 9501551W WO 9522215 A2 WO9522215 A2 WO 9522215A2
Authority
WO
WIPO (PCT)
Prior art keywords
tracing
trustee
party
payer
payment
Prior art date
Application number
PCT/US1995/001551
Other languages
French (fr)
Inventor
David Chaum
Original Assignee
David Chaum
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 David Chaum filed Critical David Chaum
Priority to EP95909503A priority Critical patent/EP0744106A4/en
Priority to AU17448/95A priority patent/AU1744895A/en
Publication of WO1995022215A2 publication Critical patent/WO1995022215A2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/085Payment architectures involving remote charge determination or related payment systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/36Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
    • G06Q20/367Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
    • G06Q20/3678Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/383Anonymous user system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3257Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using blind signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/56Financial cryptography, e.g. electronic payment or e-cash

Definitions

  • This invention relates to transaction systems, and more specifically to cryptographic protocols and other techniques for ensuring security and privacy.
  • Examples include: preventing use of blacklisting mechanism for unauthorized blackhsting or tracing; controlling how many investigations are made and maintaining confidentiality of who is being investigated; preventing marking of money withdrawn from occurring more than to a limited extent; ensuring that statistical studies cannot determine individually identifiable data; preventing use of a recovery mechanism by parties other than the party whose data is being recovered; and allowing recipients and intermediaries in payments some control over clandestine or otherwise improper use of tracing information.
  • objects of the present invention include: allowing tracing under one or more conditions and preventing it under other conditions; allowing tracing if and only if agreed sets of trustees cooperate; tracing from a payment to the payer by cooperation of a set of trustees; tracing from a payment to the payer without revealing to trustees which payer is being traced or which payment; identifying all payments by a payer provided appropriate trustees cooperate; identifying all payments by a payer under investigation without trustees learning which payer and/or which payments; limiting resolution to groups of payers in tracing for statistical purposes; allowing limited different markings of payment instruments while preventing payers from learning which marking they receive; providing for recovery of lost money without compromise of unrelated transactions; allowing participants the ability to retain, not forward, and even destroy some tracing inf oimation without financial harm; providing the option of artificial increase in the computational cost of at least some tracing; providing the option of blurry linking of payments to payers; and allow efficient, economical, and practical apparatus and methods fulfilling the other objects of the invention
  • Fig. 1 shows a combination general block, functional and flow diagram of a preferred embodiment of overall structure means and working methods of a payment system in accordance with the teachings of the present invention.
  • Fig.2a shows a flowchart of a preferred embodiment of an overall process from tracing key creation to payment transaction in accordance with the teachings of the present invention.
  • Fig. 2b shows a flowchart of a preferred embodiment of exemplary means and methods whereby payment data flows from the payer through a network of operatives and may ultimately reach the issuer, all in accordance with the teachings of the present invention.
  • Fig. 2c shows a flowchart of a preferred exemplary means and methods whereby tracing is conducted and optionally trustees are kept from knowing from where and/or to where they are tracing, in accordance with the teachings of the present invention.
  • Fig. 2d shows a flowchart of a preferred exemplary means and methods whereby trustees allow tracing from an account identifier to actual payment transactions, in accordance with the teachings of the present invention.
  • Fig. 2e shows a flowchart of a preferred exemplary means and methods whereby a payer can obtain an identity from a group of identities that can be traced by a trustee, in accordance with the teachings of the present invention.
  • Fig. 2f shows a flowchart of a preferred exemplary means and methods whereby computational difficulty of tracing can be increased and tracing can be conducted accordingly, in accordance with the teachings of the present invention.
  • Fig. 2g shows a flowchart of a preferred exemplary means and methods whereby a secret seed is used to develop the parameters needed to protect unlinkability and can later be used to allow tracing of those values, in accordance with the teachings of the present invention.
  • Fig. 3 shows a flowchart of a preferred embodiment of a cut-and- choose protocol performed between parties denoted bank B and payer P in accordance with the teachings of the present invention.
  • Fig. 4a shows a flowchart of a first preferred exemplary embodiment of both a form of money and a blinded, two-trustee protocol for tracing without the trustees learning either what was traced or who it was traced to, in accordance with the teachings of the present invention.
  • Fig. 4b shows a flowchart of a first preferred exemplary embodiment of an alternate form of money and a single trustee, as well as an unblinded form of a tracing protocol, all in accordance with the teachings of the present invention.
  • Fig. 4c shows a flowchart of a first preferred exemplary embodiment of a system for convincing a payer P that a particular set of linking information is merely a permuted copy of a list developed by the trustee(s), thereby allowing a payer substantial certainty that they are linkable to an entry on the list, but substantially inability to determine which entry on the original list they are linked to, all in accordance with the teachings of the present invention.
  • Fig. 4d shows a flowchart of a first preferred exemplary embodiment of a system for allowing blackhsting information to be developed with knowledge of the payer account, in accordance with the teachings of the present invention.
  • Fig. 4e shows a flowchart of a first preferred exemplary embodiment of a system for making the work required to trace substantially as high as desired, in accordance with the teachings of the present invention.
  • Fig. 4f shows a flowchart of a first preferred exemplary embodiment of a system for restricting the blinding factor and also another use of the truncation function just described, both in accordance with the teachings of the present invention.
  • Fig. 4g shows a flowchart of a first preferred exemplary embodiment of another example of the choice of a blinding factor from a limited range corresponding to certain limited values, in accordance with the teachings of the present invention.
  • the essential way of providing for limited tracing is to put tracing information into the money numbers that will be spent or to ensure that it is in the blinding parameters used in withdrawing them.
  • the payer's tamper-resistant device can form it or certify that it is in place; a trustee can put it in place; the issuer can put it in place; a protocol between the issuer workstation and the payer can ensure the issuer that it is in place without revealing the tracing information to the issuer, or a protocol involving a tamper-resistant device communicating only with the workstation can convince the issuer that the information is in place.
  • tracing information There are various types of tracing information. Examples include: information that can be used to identify the payer if each trustee does some computation on it; information that allows an acceptor to do a computational test based on a cryptographic witness for a payment that is not to be honored or that is to cause an alarm if recognized; information that can be reconstructed by the trustees so that they can publish in effect a blacklist of all payments by a payer, information that lets the payments of a particular payer be recognized based on withdrawal and payment data; information that links a payer to a group of payers, without the payer needing to know which member of the group the linking is to; and seed information that the payer can recover in case other payment information is lost by the payer.
  • trustees are preferably required, giving a separation between the role of allowing tracing on the one side and, on the other side, of issuing and guaranteeing the funds.
  • trustees There may be various sets of trustees corresponding to different kinds of tracing information and different payers.
  • trustees There may also be a variety of quorum conditions that are sufficient to allow tracing, such as two out of three or unanimity.
  • the tracer party doing the tracing might not wish to reveal certain things to the trustees, such as which payment is being traced or which person is being investigated.
  • Lines and arrows in the drawing figures represent messages, which may be held initially or delayed on their way, passed through various parties, encoded and decoded cryptographically or otherwise to provide their authenticity and/or secrecy and/or error detection and/or error recovery.
  • messages may be held initially or delayed on their way, passed through various parties, encoded and decoded cryptographically or otherwise to provide their authenticity and/or secrecy and/or error detection and/or error recovery.
  • party is used herein to indicate an entity with control over at least the secrecy of some information, usually at least one key. It is anticipated that a plurality of people may each know all or in effect part of some key, and they might be thought of collectively as a party. In other cases, a key may be substantially unknown to people, and reside in some physical device, and then the device itself or those who control it from time to time may be regarded as parties.
  • Assigning a variable a "random" value performs the function of creating a value that should not be readily determined by at least some party.
  • Many means and methods are known in the art for generating such unpredictable quantities, often called keys. Some are based on physical phenomena, such as noise in semiconductors, or patterns detected in humans pushing buttons, or possibly deterministic cryptographic techniques sometimes called pseudorandom generators. It is well known in the art that these various techniques can often be combined, and that post-processing can often improve the results. Thus the particular means or methods whereby random values are derived is not essential to the present invention, and it is anticipated that any technique may be employed in this regard.
  • Fig. 1 a combination general block, functional and flow diagram for a preferred embodiment will now be described in detail. It shows the overall structure means and working methods of a payment system in accordance with the teachings of the present invention. The component parts will now be considered separately.
  • Trustees 112a through 112d are parties maintaining secret information that can be useful in tracing. For particular information, a collection of more than one trustee may cooperate. In which case a quorum of those trustees is a subset or the full set sufficient to use the particular information.
  • Each payer may have a different set of trustees for each different kind of tracing information or, on another extreme, there may be a single set of trustees for a whole system.
  • the figure shows sets grouped by issuers 110, to be described, for clarity only. Other parties, such as the signer or issuer may be all or part of a trustee set. It is, however, believed desirable where practical for the trustees to be distinct from the issuers of money, as the trust relationships and functions of the two groups differ and payers should be able to choose among them separately.
  • Signer 113a and signer 113b are the parties who make the signatures on behalf of an issuer 110 that validate money. They might typically be embodied as tamper-resistant security modules and might be stored in secure locations.
  • the signing process may involve verification that certain tracing information is properly encoded within the money numbers being signed.
  • the signers may need data from trustees that allows them to determined this but which preferably is insufficient to allow them to trace without cooperation of the trustees.
  • such data supplied to issuers should be supplied only occasionally and be rather compact, thereby reducing the need to process large amounts of data and to rely on the availability of the trustees for issuing money. This data may even be supplied by the trustees directly to payers, who may only provide authenticated copies of it to signers. Nevertheless, the figure shows the information flowing directly from the trustees 112 to the signers 113.
  • Database 114a and 114b are devices or processes that store the received payment transaction data that is returned to the issuer. The purpose of such storage may be to detect improper multiple spending of the same number. Some payment transactions may be truncated by trusted parties before they reach the issuer from which they came.
  • Issuer 110a and 110b are parties, such as banks, who issue money and must ultimately be responsible for honoring it later. They include the singer 113 and database 114 functions already described. They may, as indicated and already mentioned, have also an associated set of trustees, or themselves be trustees. They may receive authorization, in the form of certificates, or contribution to individual signatures from a central issuer.
  • the central issuer may be a national bank, or international payment system, and the issuers may be banks.
  • Acceptors 132a through 132d are parties that receive payments directly from payers. They may test the transactions, discard, store and forward all or parts of the data selectively depending on pre-arranged rules, outcomes of tests, and communication with other parties. Although shown only providing output to a single aquirer, they may give various different outputs to multiple aquirers and/or communicate directly with issuers. Not shown for clarity are the other communication paths to the acceptors, such as those that update their rules and values needed in testing.
  • Aquirers 131a and 131b are parties on the way from the acceptors 131 to the issuers 110. They may form part of a hierarchy as shown, or they may more generally be part of a network. They perform such functions as aggregation of data, hiding of detail, gateway to issuers, trust/contractual relations with issuers and acceptors. They may also, for instance, also be issuer themselves. Different acquirers may process different parts of a single transaction, such as, for example, because different pieces of tracing information in the money number are to be handled in different ways.
  • Acquisition networks 130a and 130b are collections of parties that ultimately do cooperate in returning some payment data to issuers. There may be multiple distinct such acquisition networks, each possibly an issuer itself, or these functions may overlap in a more general way.
  • Tamper-resistant device 122 is computation, control, storage, and communication means presumed at least substantially difficult for a user to modify or to obtain secrets from. For instance, this might be a smart card or so-called observer issued by or on behalf of an organization, such as the central or other issuers, to the individual payer. Although not shown for clarity, it could be used directly in cooperation with both issuers and acceptors. Preferably, however, as known from "Card computer moderated systems," and “Optionally moderated transaction systems" referenced above, it may communicate with other parties, at least at times, only through the user workstation 121.
  • User workstation 121 is a computing resource preferably largely under the control of the system user. Examples are personal computers, whether installed at fixed locations or portable. The issuers are not able to trust that such a device remains free from modification of its intended function or whether it can maintain secrets from users.
  • the workstation 121 may be used without a tamper-resistant device 122. In this case, the issuer can still obtain confidence in the proper form of the money numbers withdrawn, particularly with regard to the tracing information they are to contain, even if they are withdrawn in a blinded form.
  • One way to achieve this is by protocols that convince about the structure but do not reveal tracing information. Examples of these are presented in detail later, for instance in Fig. 3.
  • the tamper-resistant device may provide certification, based on its secret keys, that certain possibly blinded money numbers are properly formed. It may do this by virtue of having constructed the numbers itself, verified the construction by the workstation, or cooperatively constructed them together with the workstation. This certification may be relied on exclusively. Alternatively, the workstation only techniques described above may be combined with this technique to obtain the best of both, along the lines disclosed in the last two cited references.
  • FIG. 2a shows an overall process from tracing key creation to payment transaction iteration.
  • Box 211 first shows the creation and agreement on tracing keys by one or more trustees and the payer.
  • Other parties such as the issuer could also be involved, as will be described for instance with reference to Fig. 4c.
  • Public tracing keys such as in Figs. 4a and 4b, could be created by the trustees.
  • Certain padding values as will be described in Fig. 4, may be created by the user. Trustees must be able to trace and payers must use the system, and therefore the two groups should agree on the tracing keys.
  • Box 212 indicates that the issuer should be aware of the tracing keys being used. If the issuer is not the trustee, then the issuer should, it is believed, be able to verify that the proper tracing information is present in payment signatures. This will be illustrated more fully later with reference to Fig.4.
  • Box 213 is the issuing of signatures to the payer. It is believed that during this step the issuer should be able to ensure that the agreed tracing information is contained in the money withdrawn.
  • the cut-and-choose protocol of Fig. 3, for instance, is believed to provide this function.
  • Box 214 portrays the spending of money with an aquirer. Some, if not all, of the tracing information is provided in the payment to the aquirer. Parts of it may be hidden or omitted as may become known to and/or accepted by the parties, as will be further described with reference to Fig. 2b.
  • the arrow returning to box 213 is intended to indicate that during an ongoing series of payments, additional withdrawals may be required.
  • Box 215 stands for the transfer of payment information from the initial acceptor of payment through a network of operatives. Some paths through the operatives may lead back to the issuer, but not all payment data may be provided on each path, as will be described more fully with reference to Fig. 2b.
  • the arrow returning to box 214 is meant to depict the possibility for multiple payments between withdrawal transactions.
  • Fig. 2b a flowchart for part of a preferred embodiment will be described in detail. It shows exemplary means and methods whereby payment data flows from the payer through a network of operatives and may ultimately reach the issuer.
  • Box 221 is the receipt of payment data by an acceptor of payments. How much data the acceptor requires may vary, depending, for instance, on random chance, the nature of what is sold, various relationships with other payment operatives, and so on.
  • Box 222 depicts the testing of the received data by the acceptor.
  • One type of testing that can be done locally by an acceptor is simply searching for a match between the payment data received and the entries on a blacklist, as will be described more fully later with reference to Fig. 4d.
  • Another type of testing requires computation involving witness values, as will be described more fully later, for instance with reference to Fig. 4b.
  • Substantial protection against clandestine and/or other improper tracing can be provided by distributing the parties that would have to cooperate to trace.
  • having blacklists searched by potentially many acceptors of payments is believed to mean that it would be difficult to hide the extent of blacklisting from such parties, and possibly consequently from the payer community as a whole.
  • the parties may destroy all or part of the tracing infoimation after no match occurs. In this last case, clandestine, retroactive, or tracing further down the path of the transaction data is believed to become more difficult if not substantially impractical.
  • Box 223 indicates that some tracing data, which might be part of the tracing data contained in a payment, may be forwarded by the initial acceptor of the payment to other payment operatives. Some of these operatives may in turn test, destroy, forward, or retain such data. And the process may go on as the data makes its way, possibly through various concurrent paths of a network, and possibly ultimately to the original issuer.
  • Box 224 is the holding of data by a payment operative and the selective forwarding of all or part of such data. For instance, an operative may hold on to some data, with or without forwarding it, for some period or until some event transpires. During the period the data is kept, the operative may decide to forward all or part of it to other parties, depending on various factors, such as authorization/request and the type of tracing data. Of course once the data is destroyed, the operative can no longer forward it.
  • Fig. 2c a flowchart for part of a preferred embodiment will be described in detail. It shows exemplary means and methods whereby tracing is conducted and optionally trustees are kept from knowing from where and/or to where they are tracing.
  • Box 231 shows that a tracer party, possibly distinct from an issuer or trustee, can optionally blind the transaction or other data which is to be traced. Examples of this will be presented later in Fig. 4a.
  • Box 232 depicts the application of tracing keys by one or more trustees in the process of developing tracing information from transaction information.
  • the transaction data is believed substantially impractical to develop into tracing information. Further examples of this are shown, for instance, in Figs.4a and 4b.
  • Box 233 is the optional unblinding of the tracing data and the development of the tracing information. Examples, of this process are, for instance, provided in Fig.4a.
  • Fig. 2d a flowchart for part of a preferred embodiment will be described in detail. It shows exemplary means and methods whereby trustees allow tracing from an account identifier to actual payment transactions.
  • Box 241 provides the account identifier to the trustees.
  • Box 242 indicates that the trustees develop a blacklist or witnesses.
  • a blacklist is just searched for a match.
  • a witness allows the acceptor of payments, not being a trustee, to perform a computational test other than simple matching, to determine if the payment is traced.
  • Box 243 is the checking of payment transactions by payment operatives, such as acceptors, using the blacklist or the witoesses just described. Further examples are provided in Fig. 4a and 4b.
  • Fig. 2e a flowchart for part of a preferred embodiment will be described in detail. It shows exemplary means and methods whereby a payer can obtain an identity from a group of identities that can be traced by a trustee.
  • Box 251 is the developing of a group of identities by one or more trustees. This is done preferably keeping secrets, on which the group is based, that will allow tracing a transaction or member of a derived group to a particular group member only by trustees.
  • Box 252 is the selection by the issuer of an identity within the group for use by the payer.
  • Box 253 is where the payer becomes convinced that the identity is among the members of the group chosen by the trustees and or the issuer.
  • Box 254 is the eventual possibility of development of tracing information, and eventual tracing, requiring cooperation of a quorum of relevant trustees.
  • Fig. 2f a flowchart for part of a preferred embodiment will be described in detail. It shows exemplary means and methods whereby computational difficulty of tracing can be increased and tracing can be conducted accordingly.
  • Box 261 is the clipping, deletion, or other restriction of information from the encrypted form of tracing information before it is used in transactions.
  • Box 262 presents how a tracing party is believed to need to develop possible values for the clipped values.
  • Box 263 is the testing of a possible clipped value by substituting such a possible value for the clipped values and then inverting the cryptographic operations in search of redundancy adequate to confirm the correctness of the possible value being tested.
  • Fig. 2g a flowchart for part of a preferred embodiment will be described in detail. It shows exemplary means and methods whereby a secret seed is used to develop the parameters needed to protect unlinkability and can later be used to allow tracing of those values.
  • Box 271 describes generation of a session key by a one-way process from session identifiers and a secret seed.
  • the secret seed could be a value that the payer holds in reserve, such as by keeping it in a safe place and/or dividing it by known secret sharing techniques among a set of parties.
  • the session parameters could be the serial number or date of the last withdrawal transaction.
  • Box 272 indicates an iterative process, depicted by the feedback arrow, by which a transaction seed is generated. If the value of a transaction seed were to be divulged by the payer, then all subsequent payments until the next withdrawal session could be traced. Thus, if payment information is lost by the payer, the session seed and the identifier of the last withdrawal session, and the serial number of the last known payment, can be used to reconstruct the transaction seed for the next transaction. This transaction seed could then be provided, or otherwise used, to allow tracing of any subsequent payments. Thus, after a key change, for instance, the issuer could be sure that no subsequent payments occurred and could refund the unspent lost payment amounts.
  • the operations performed are grouped together into flowchart boxes.
  • One kind of operation is an equality test.
  • Another kind of operation is that of sending a message. This is shown by a message number on the left; followed by a recipient name and an arrow (these appear for readability as either a recipient name then left pointing arrow, when the recipient is on the left; or right pointing arrow then recipient name, when the recipient is on the right); followed by a colon; finally followed by an expression denoting the actual value of the message that should be sent. (These operations are depicted in a "bold" typeface for clarity.) Square brackets are used to delimit message numbers and such an expression stands for the value of the corresponding message.
  • a further kind of expression involves exponentiation. All such exponentiation (unless noted otherwise) is in a finite group. When no operation is shown explicitly, multiplication in such a group is assumed. When “/ " is applied between elements of such a group, the result can be calculated by first computing the multiplicative inverse of the expression on the right and then multiplying it by the expression on the left — but this operation may also be described simply as division. When the "/ " is used between exponents, and if the result is a proper fraction, it indicates a corresponding root, as is well known in the art.
  • Fig. 3 a flowchart for part of a preferred embodiment will now be described in detail. It shows a cut-and-choose protocol performed between parties denoted bank B and payer P. It will be appreciated that a general cut-and-choose protocol is disclosed here, and that it is believed to offer certain advantages; however, other known cut-and-choose protocols, such as those disclosed in the above referenced patent entitled “One show blind signature systems" could of course be applied as well. Other more specific protocols are also anticipated.
  • Box 301 first shows P choosing ri and ei at random. Both are base numbers in the modular arithmetic system used throughout Fig. 3.
  • the modulus for this system has been created by B from preferably two random primes of sufficient size, as is well known in the art.
  • a plurality of other random values are chosen modulo z, which is the preferably prime public exponent of .sufficient size also chosen by B.
  • These values are qi, qi, ci, xk, and yk.
  • the index j runs over the number of results that are to be obtained, which may be though of as the number of payments that will later be possible.
  • the index i runs over the total number of initial candidates, which is believed to need to be significantly larger than j in order to obtain the desired level of security as is well known in the art and has been investigated in detail elsewhere. (The form of h is also believed relevant in this connection and example values will be provided when h is introduced later).
  • P is shown forming a first message [32.1 ]i and sending it to B.
  • the message is just the product of the values ⁇ raised to the z, s raised to the ai, t raised to the Ci, ei, and g raised to the qi.
  • the values s, t, and g are simply public generators.
  • B has chosen these and provides a proof that any one can be expressed as a power of any other one of the three. This could easily be accomplished using well known protocols, such as Chaum, Evertse, v.d. Graaf, and Perlata "Demonstrating possession of a discrete log without revealing it" CRYPTO "86, Springer-Verlag, 1987, pp. 200-212.
  • the other message shown sent by P to B in this box is simply s to the x ⁇ power times t to the y power.
  • Box 302 defines the actions of B after the above mentioned two messages are received from P. First a random base number pi is chosen. It will be appreciated that the index values i and j are used similarly by both parties.
  • This domain is the candidate indexes, being integers from 1 to the number of candidates.
  • the range includes 0 as a distinguished entry and the integers from 1 to the number of payments that will result, as already mentioned for k.
  • a candidate index maps to 0, it will be "opened” later. All the candidates that map to a particular nonzero value will make up the check with that number. Every check is assumed for simplicity to have the same number of candidates.
  • the first message [32.1]i to be sent by B to P is formed as a product of three terms: the already mentioned generator s, raised to the b n (i) power; t raised to the di power; and received message [31.2] indexed by hi.
  • This message has the form shown corresponding to how it was formed with the included message multiplicatively contributing a power of s and of t.
  • .Also shown being sent are the pi as message [32.2]i,
  • Box 303 describes how P forms the exponent request message [33]i that is sent to B.
  • the value is formed, per candidate, modulo z as is well known, as the output of the one-way function f, having three inputs, minus the value qi already mentioned.
  • the first argument of f is the base value of the ultimate signature, ej times pi received in message [32.2]i already mentioned.
  • the second argument is the powers of s and t; s appears to the ai and t to the Ci, with the additional s and t powers provided by B from received message [32.1].
  • the third argument is the money number mi.
  • the actual form sent reveals the content of [32.1]i, which was already described with reference to box 302.
  • Box 304 is just the sending of the entire map h from B to P. For clarity as will be appreciated, h is shown in the boxes of P, not as a message number, but in symbolic form. Box 305 sends the opening of candidates that have an index that h maps to 0. Six values are sent per opened candidate: m, c, q, r, e, and a, in messages [35.1] through [35.6], respectively.
  • Box 306 indicates first a checking of the opened candidates and then the supply of the actual roots and powers needed to obtain showable signatures.
  • m is "validated," which is intended to denote any sort of testing that may be appropriate, such as testing that the form has the proper linking structure, as will be described more fully later.
  • message [31.1] should equal received message [35.4] raised to the z, times s raised to the received message [35.6] times t raised to the received message [35.2] times received message [35.5] times g raised to the received message [35.3].
  • n is formed for convenience formed to collect the powers of s and t. The powers of s shown are received message [35.6] plus b. The powers of t shown are received message [35.2] plus d.
  • the first, per candidate, is message [36.1], the z'th root on the product of four terms: [32.1], [31.1], p, and g raised to the requested power [33].
  • a different use of temporary value n, and one of temporary value o are used for clarity in denoting the form of this first message sent.
  • the second message, which is per check, is b and is sent as [36.2] (with subscript k).
  • the third and final message, which is per candidate, is d.
  • Box 307 represents the putting in convenient order for storing and then the final testing of the signature by P.
  • Each value is re-indexed to have two indices, the first for the check number and a second for the serial number of the candidate within that check.
  • the ordering is chosen arbitrarily as preserving the check numbers and with serial numbers in the same order as the corresponding original candidate.
  • the first value is p, which is the signature [36.1] with the blinding factor r divided out of it.
  • the second is u, which is the base value e times p from message [32.2].
  • the third is the power of s, being the sum of x and b from message [36.2].
  • the fourth and final is the power of t, which is the sum of the corresponding c, of the y, and d from message [36.3].
  • Fig. 4a a flowchart for part of a preferred embodiment will now be described in detail. It shows both a form of money and a blinded, two-trustee protocol for tracing without the trustees learning either what was traced or who it was traced to.
  • Box 410 first shows that the value wj is chosen at random as an unknown padding to allow the concealment of the value u within the money number. Then the form of the money number is shown explicitly for clarity in a two trustee setting, where each trustee uses RS A as the trapdoor public mapping. . Any other number of trustees or trap door public function(s) could, as would be obvious, be used. This form of the money number could, for instance, be entered as the value mi, or as one of multiple components of that value, in a cut-and-choose, such as that of Fig. 3. Specifically, the money number is the composition of two mappings, the inner most is RSA encryption with the public key of Tl and the outer layer composes encryption with the public key of T2, such basic operations themselves being well known in the art.
  • Box 411 illustrates how a first blinding of the money number is performed by tracer A using s, a random residue modulo ni.
  • the message sent to trustee Tl is just the money number already described times the blinding factor s raised to the public exponent e2.
  • Box 412 has Ti decrypt the message [91] received and return this result to tracer A as message [92].
  • Box 413 begins by forming a second blinding factor t, this one for use under the modulus of T2. Then the result form Ti may be tested simply by raising it to ei, the pubic power of Ti, and checking that this results in message [91]. In forming message [93] to send to trustee T2, the blinding by s is divided out of message [92] and the result is re-blinded with t using nl, the modulus of Tl.
  • Box 414 again simply has a trustee, Ti this time, decrypt using the corresponding secret key di.
  • the input is message [93], and the output is [94].
  • Box 415 shows how received message [94] is first unblinded by dividing out t modulo nl. Then the inverse of f* is applied, to yield the original pair, already described, containing padding i and revealing the identity of the payer u.
  • f* is an optional and substantially invertable yet preferably cryptographic mapping that allows recovery of its arguments but is believed to distort structure, such a multiplicative structure, that might allow undesired interaction between the arguments and the signature scheme. Other uses for such a function in this position, such as for clipping, will be described later.
  • Fig. 4b a flowchart for part of a preferred embodiment will now be described in detail. It shows an alternate form of money and a single trustee, as well as an unblinded form of a tracing protocol.
  • Box 420 displays an exemplary form of a money number represented as two residues modulo a common fixed public prime p (although any group could be used).
  • the disguising, as in box 410, is shown by denoting the random formation of wi. This value is applied as an exponent to each member of the pair of fixed values associated with the particular account.
  • One such fixed value is simply a common public generator g. (It is anticipated, however, that specific powers could also be used here to advantage in some cases.)
  • the other such value is that same generator raised to a value only known to the trustees.
  • a single value U2 is shown, which could for instance be applied to all money numbers from this account. With multiple trustees, as would be appreciated, the value U 2 could be composed of the sum or product of contributions from multiple trustees.
  • Box 421 is the transmission of the second component of the money number by tracer A to trustee T.
  • Box 422 then has T remove each of a set of possible exponents from copies of message [95] received.
  • One exponent could, for instance, correspond to one payer account and the whole set might cover all payer accounts.
  • the value is raised to the multiplicative inverse, modulo the order to the group, of that exponent.
  • Box 423 tests all the returned values, until one is found that is equal to the first component of the money number g . In this way the money number is traced to the account corresponding to the index i of the matching message [96].
  • the multiple trustees as already mentioned could each remove their exponents one after the other. No fixed order, as in Fig 4a, would be required. Blinding could be achieved, for instance, by using exponential blinding: [95] would be raised to a random power by A and the result retumed by T would be raised to the inverse power. The message could still travel around through multiple trustees in any order and without, as in Fig. 4 a, coming back to A between each trustee. Furthermore, each trustee could first remove the account specific exponent and put in place the same exponent. This would then allow, for instance, permuting of various such values so that they can be operated on in the same way.
  • Fig. 4c a flowchart for part of a preferred embodiment will now be described in detail. It shows a system for convincing a payer P that a particular set of linking information is merely a permuted copy of a list developed by the trustee(s), thereby allowing a payer substantial certainty that they are linkable to an entry on the list, but substantially inability to determine which entry on the original list they are linked to. .An example application is marking of bank notes in a limited number of categories hidden from those withdrawing the notes.
  • Box 430 first indicates the formation of a public hst of meta-identifiers by the trustee(s).
  • the value cj is chosen at random and preferably remains confidential to the trustee(s); what can be provided to payers or even made public is aj, which is set equal to a generator g in the group of public order used throughout this protocol.
  • aj which is set equal to a generator g in the group of public order used throughout this protocol.
  • j may be thought of as ranging from 1 to n.
  • More than one trustee can supply a contribution to aj, such that, for instance, the product of the contributions is taken as aj; or, for example, each trustee could place a power on the accumulated value as it travels around among them.
  • Box 431 shows the formation of a set of identities by B.
  • This is an optional feature that allows a non-trustee party, possibly such as the issuer, to create a permuted instance of a list of identities from the meta-list First Wj is chosen as a suitable exponent.
  • the function h maps the indices of the meta- identity hst into those of the identity list; that is, it is the permutation between the meta-identities and the particular set of identities created by B.
  • Message [90.1] j is formed as g raised to the w selected by h applied to j.
  • each identifier is a pair g and a meta-identifier, both members of the pair being hidden by being raised to the same power of w.
  • Box 432 begins the loop part of the convincing, that can be repeated any number of times, as indicated by the arrows. It is believed that uncertainty is halved by each iteration, and for clarity the number of iterations is not shown explicitly.
  • random exponents w' j and permutation h' are created at ransom, each essentially like its unprimed namesake.
  • the message [91.1]j is foimed as g raised to the particular w' selected by h' apphed to j; similarly, [91.2]j is formed as a selected by h' of j, the quantity raised to the w' selected by h' of j.
  • Box 433 receives these above described commitment messages and then issues a random challenge bit b as message [92] provided to B.
  • Box 434 handles one of two cases: either b is 0 or it is 1.
  • w' j and h' are sent to P as messages [93.1]j and [93.2], respectively.
  • a permutation kj is foimed as h' inverse composed with h.
  • Message [93.3]j is foimed as WhQ times the multiplicative inverse of w' n(j ).
  • message [93.4] is simply the mapping k.
  • Box 435 checks the response from B by evaluating a different pair of equalities depending on the value of b. If b is 0, then message [91.1] j received is compared for equality with g raised to the [93.1] selected by h' of j; [91.2] j is compared with a selected by h' applied to j, the quantity raised to the [93.1] selected by h' applied to j. In case b is 1, [90.1]j is compared for equality with [91.1] selected by kj the quantity raised to the power [93.3] selected by j; [90.2] j is compared to [91.2] selected by kj the quantity to the power [93.3] selected by j. (The values k and h' are shown for clarity with its alphabetic as opposed to its message number notation here.)
  • Fig. 4d a flowchart for part of a preferred embodiment will be described in detail. It shows a system for allowing blacklisting information to be developed with knowledge of the payer account.
  • Box 440 shows the form of the money number mi. It is shown as a modular sum, but other techniques as would be appreciated could be used, such as exclusive-or.
  • the number of terms that must be combined is equal to the number of trustees, and they need not each work in the same way.
  • the combination technique preferably allows any one contribution to block out and otherwise hide any other contributions, although its is anticipated that this property may be violated to some advantage in some circumstances.
  • One term shown is f applied to the pi'th root of the universal identifier u, within the residue classes induced by the RS A composite ni.
  • the other term uses the same prime but a different modulus. The idea is that the trustee owning the modulus is able to construct all the roots on u and provide them to the payer; the bank, however, is unable to determine the roots, even though given any root opened during the cut-and-choose, the bank can verify that it is uniquely determined by its index and the payer identity u. Thus the index of the primes may preferably be taken as the candidate number. Also note that the method of combining terms allows a quorum of trustees to be required for tracing.
  • Fig. 4e a flowchart for part of a preferred embodiment will now be described in detail. It shows a system for making the work required to trace substantially as high as desired.
  • Box 450 shows first how the payer forms a value w ⁇ at random.
  • the value mi a money number
  • the value mi is formed as the truncation of a quantity. This is intended to indicate that some of the information in the quantity is left out. For instance, but without limitation, a simple example would be to perform the truncation operation as the leaving out of a predetermined number of bits of the representation of its argument Thus, in this example, for each bit left out, the amount of computation that the tracer would have to do is believed to double.
  • the form of the money number that is the argument of the truncation function could be anything described elsewhere here. But, for definiteness, a specific form is shown, and it is the encryption using two public keys ei and e2, as indicated by their position in the exponent. The value they encrypt is shown as an image under f * of the pair wi and u, the former having been chosen as random padding as already mentioned, and the latter being an identifier. The entire encryption is the argument for an outer application off*.
  • Fig.4f a flowchart for part of a preferred embodiment will be described in detail. It shows both a system for restricting the blinding factor and also another use of the truncation function just described.
  • Box 460 forms a blinding factor rj as an (optional) truncation of the invertable cryptographic function f* apphed to an account identifier as well as a random padding value bj, all as more fully already described.
  • the blinding as denoted also by ⁇ in Fig. 3, does not have the full range of possible values.
  • the value of the blinding factor is determined by forming the quotient of the guessed corresponding withdrawal and deposit, as is well known. Once the guessed blinding value is determined, and the truncated bits removed, then f* can be inverted and the redundancy in, for instance, the identifier u can be used to recognize the fact that a proper guess has been made.
  • Fig. 4g a flowchart for part of a preferred embodiment will be described here in detail. It shows another example of the choice of a blinding factor from a limited range corresponding to certain limited values.
  • Box 470 depicts a second example of a restriction on the blinding factor n from Fig. 3. It will readily be appreciated that the restriction on the blinding factor is verified as part of the cut-and-choose protocol.
  • the particular example shown uses the form of money number already described in detail for Fig. 4a. The difference being only the outer application of the f*, which is intended, as already mentioned, to inhibit any undesired interaction between the values it encompasses and those that contain it.

Description

LIMΠΈD-TRACEABILΠΎ SYSTEMS
BACKGROUND OF THE INVENTION
1. Field of the Invention.
This invention relates to transaction systems, and more specifically to cryptographic protocols and other techniques for ensuring security and privacy.
2. Description of Prior Art.
Reference is hereby made to the following U.S. patents by the present applicant that are included herein by reference: U.S. 4,759,063 "Blind signature systems"; U.S. 4,759,064 "Unanticipated blind signature systems"; U.S. 4,947,430 "Card computer moderated systems"; U.S. 4,949,380 "Retumed-value blind signature systems"; U.S. 4,987,593 "One-show blind signature systems"; and U.S. 5,131,039 "Optionally moderated transaction systems."
Payment systems today structurally provide either substantially unlimited txaceability of payments or substantial untraceability. Bank notes and checks are paper-based examples of each extreme. Most digital systems proposed to date are similarly polarized into substantially traceable and substantially untraceable.
A variety of perceived requirements are believed to suggest a need for systems that have some provisions for traceablity. Examples include: blacklisting known abusers of a system; investigations related to violation of law;marking of bearer instruments given to suspected criminals; statistical analysis of aggregated consumer behavior; recovery of money in case of unanticipated loss of information; and maintenance and provision by participants in payments of comprehensive records.
On the other hand, a variety of perceived requirements are believed to suggest a need for some corresponding limitations on traceablity. Examples include: preventing use of blacklisting mechanism for unauthorized blackhsting or tracing; controlling how many investigations are made and maintaining confidentiality of who is being investigated; preventing marking of money withdrawn from occurring more than to a limited extent; ensuring that statistical studies cannot determine individually identifiable data; preventing use of a recovery mechanism by parties other than the party whose data is being recovered; and allowing recipients and intermediaries in payments some control over clandestine or otherwise improper use of tracing information.
OBJECTS OF THE INVENTION
Accordingly, objects of the present invention include: allowing tracing under one or more conditions and preventing it under other conditions; allowing tracing if and only if agreed sets of trustees cooperate; tracing from a payment to the payer by cooperation of a set of trustees; tracing from a payment to the payer without revealing to trustees which payer is being traced or which payment; identifying all payments by a payer provided appropriate trustees cooperate; identifying all payments by a payer under investigation without trustees learning which payer and/or which payments; limiting resolution to groups of payers in tracing for statistical purposes; allowing limited different markings of payment instruments while preventing payers from learning which marking they receive; providing for recovery of lost money without compromise of unrelated transactions; allowing participants the ability to retain, not forward, and even destroy some tracing inf oimation without financial harm; providing the option of artificial increase in the computational cost of at least some tracing; providing the option of blurry linking of payments to payers; and allow efficient, economical, and practical apparatus and methods fulfilling the other objects of the invention.
Other objects, features, and advantages of the present invention will be appreciated when the present description and appended claims are read in conjunction with the drawing figures.
BRIEF DESCRIPTION OF THE DRAWING FIGURES
Fig. 1 shows a combination general block, functional and flow diagram of a preferred embodiment of overall structure means and working methods of a payment system in accordance with the teachings of the present invention.
Fig.2a shows a flowchart of a preferred embodiment of an overall process from tracing key creation to payment transaction in accordance with the teachings of the present invention.
Fig. 2b shows a flowchart of a preferred embodiment of exemplary means and methods whereby payment data flows from the payer through a network of operatives and may ultimately reach the issuer, all in accordance with the teachings of the present invention.
Fig. 2c shows a flowchart of a preferred exemplary means and methods whereby tracing is conducted and optionally trustees are kept from knowing from where and/or to where they are tracing, in accordance with the teachings of the present invention.
Fig. 2d shows a flowchart of a preferred exemplary means and methods whereby trustees allow tracing from an account identifier to actual payment transactions, in accordance with the teachings of the present invention.
Fig. 2e shows a flowchart of a preferred exemplary means and methods whereby a payer can obtain an identity from a group of identities that can be traced by a trustee, in accordance with the teachings of the present invention.
Fig. 2f shows a flowchart of a preferred exemplary means and methods whereby computational difficulty of tracing can be increased and tracing can be conducted accordingly, in accordance with the teachings of the present invention.
Fig. 2g shows a flowchart of a preferred exemplary means and methods whereby a secret seed is used to develop the parameters needed to protect unlinkability and can later be used to allow tracing of those values, in accordance with the teachings of the present invention.
Fig. 3 shows a flowchart of a preferred embodiment of a cut-and- choose protocol performed between parties denoted bank B and payer P in accordance with the teachings of the present invention.
Fig. 4a shows a flowchart of a first preferred exemplary embodiment of both a form of money and a blinded, two-trustee protocol for tracing without the trustees learning either what was traced or who it was traced to, in accordance with the teachings of the present invention.
Fig. 4b shows a flowchart of a first preferred exemplary embodiment of an alternate form of money and a single trustee, as well as an unblinded form of a tracing protocol, all in accordance with the teachings of the present invention.
Fig. 4c shows a flowchart of a first preferred exemplary embodiment of a system for convincing a payer P that a particular set of linking information is merely a permuted copy of a list developed by the trustee(s), thereby allowing a payer substantial certainty that they are linkable to an entry on the list, but substantially inability to determine which entry on the original list they are linked to, all in accordance with the teachings of the present invention.
Fig. 4d shows a flowchart of a first preferred exemplary embodiment of a system for allowing blackhsting information to be developed with knowledge of the payer account, in accordance with the teachings of the present invention. Fig. 4e shows a flowchart of a first preferred exemplary embodiment of a system for making the work required to trace substantially as high as desired, in accordance with the teachings of the present invention.
Fig. 4f shows a flowchart of a first preferred exemplary embodiment of a system for restricting the blinding factor and also another use of the truncation function just described, both in accordance with the teachings of the present invention.
Fig. 4g shows a flowchart of a first preferred exemplary embodiment of another example of the choice of a blinding factor from a limited range corresponding to certain limited values, in accordance with the teachings of the present invention.
BRIEF SUM.MARY OF THE INVENTION
In accordance with the forgoing and other objects of the present invention, a brief summary of some exemplary embodiments will now be presented. Some simplifications and omissions may be made in this summary, which is intended to highlight and introduce some aspects of the present invention, but not to limit its scope in any way. Detailed descriptions of preferred exemplary embodiments adequate to allow those of ordinary skill in the art to make and use the inventive concepts are provided later.
The essential way of providing for limited tracing is to put tracing information into the money numbers that will be spent or to ensure that it is in the blinding parameters used in withdrawing them.
There are various ways of ensuring that the tracing information is in place. Examples include: the payer's tamper-resistant device can form it or certify that it is in place; a trustee can put it in place; the issuer can put it in place; a protocol between the issuer workstation and the payer can ensure the issuer that it is in place without revealing the tracing information to the issuer, or a protocol involving a tamper-resistant device communicating only with the workstation can convince the issuer that the information is in place.
There are various types of tracing information. Examples include: information that can be used to identify the payer if each trustee does some computation on it; information that allows an acceptor to do a computational test based on a cryptographic witness for a payment that is not to be honored or that is to cause an alarm if recognized; information that can be reconstructed by the trustees so that they can publish in effect a blacklist of all payments by a payer, information that lets the payments of a particular payer be recognized based on withdrawal and payment data; information that links a payer to a group of payers, without the payer needing to know which member of the group the linking is to; and seed information that the payer can recover in case other payment information is lost by the payer.
If payments are to be traced, then some trustees are preferably required, giving a separation between the role of allowing tracing on the one side and, on the other side, of issuing and guaranteeing the funds. There may be various sets of trustees corresponding to different kinds of tracing information and different payers. There may also be a variety of quorum conditions that are sufficient to allow tracing, such as two out of three or unanimity. Furthermore, the tracer party doing the tracing might not wish to reveal certain things to the trustees, such as which payment is being traced or which person is being investigated.
GENERAL DESCRIPTION
The drawing figures and the detailed descriptions provided later make a number of simplifying assumptions for concreteness and for clarity in exposition. It will be appreciated, however, that these should not be taken to limit the scope of the invention.
Lines and arrows in the drawing figures represent messages, which may be held initially or delayed on their way, passed through various parties, encoded and decoded cryptographically or otherwise to provide their authenticity and/or secrecy and/or error detection and/or error recovery. Thus the particular means or methods whereby messages are transferred are not essential to the present invention, and it is anticipated that any technique may be employed in this regard.
The term "party" is used herein to indicate an entity with control over at least the secrecy of some information, usually at least one key. It is anticipated that a plurality of people may each know all or in effect part of some key, and they might be thought of collectively as a party. In other cases, a key may be substantially unknown to people, and reside in some physical device, and then the device itself or those who control it from time to time may be regarded as parties.
Assigning a variable a "random" value performs the function of creating a value that should not be readily determined by at least some party. Many means and methods are known in the art for generating such unpredictable quantities, often called keys. Some are based on physical phenomena, such as noise in semiconductors, or patterns detected in humans pushing buttons, or possibly deterministic cryptographic techniques sometimes called pseudorandom generators. It is well known in the art that these various techniques can often be combined, and that post-processing can often improve the results. Thus the particular means or methods whereby random values are derived is not essential to the present invention, and it is anticipated that any technique may be employed in this regard.
To "convince" or "prove" something or to "transfer conviction" about something to a party are all interpreted to correspond to the notion, widely known and appreciated in the art, of a technical method or means that substantially removes doubt. Typically the removal of doubt relies on the assumption that certain computational problems are substantially intractable. It also typically accepts a probability, of a party being falsely convinced, that is preferably exponentially small in a security parameter. But these typical attributes are not necessary and can sometimes be avoided. If the party receiving conviction does not receive conviction about anything else of substantial utility, then the conviction will be said to be "separate."
The choice of party names, and the number of parties are examples of choices made for clarity and convenience. Naturally, the inventive concepts disclosed here should not be interpreted as limited to a particular type, grouping, or multiplicity of parties nor should there be any other implications of namin 4ge conventions or the like.
★ ★ *
Turning now to Fig. 1, a combination general block, functional and flow diagram for a preferred embodiment will now be described in detail. It shows the overall structure means and working methods of a payment system in accordance with the teachings of the present invention. The component parts will now be considered separately.
Trustees 112a through 112d are parties maintaining secret information that can be useful in tracing. For particular information, a collection of more than one trustee may cooperate. In which case a quorum of those trustees is a subset or the full set sufficient to use the particular information. Each payer may have a different set of trustees for each different kind of tracing information or, on another extreme, there may be a single set of trustees for a whole system. The figure shows sets grouped by issuers 110, to be described, for clarity only. Other parties, such as the signer or issuer may be all or part of a trustee set. It is, however, believed desirable where practical for the trustees to be distinct from the issuers of money, as the trust relationships and functions of the two groups differ and payers should be able to choose among them separately.
Signer 113a and signer 113b, collectively signers, are the parties who make the signatures on behalf of an issuer 110 that validate money. They might typically be embodied as tamper-resistant security modules and might be stored in secure locations. The signing process may involve verification that certain tracing information is properly encoded within the money numbers being signed. For this purpose, the signers may need data from trustees that allows them to determined this but which preferably is insufficient to allow them to trace without cooperation of the trustees. Ideally, such data supplied to issuers should be supplied only occasionally and be rather compact, thereby reducing the need to process large amounts of data and to rely on the availability of the trustees for issuing money. This data may even be supplied by the trustees directly to payers, who may only provide authenticated copies of it to signers. Nevertheless, the figure shows the information flowing directly from the trustees 112 to the signers 113.
Database 114a and 114b are devices or processes that store the received payment transaction data that is returned to the issuer. The purpose of such storage may be to detect improper multiple spending of the same number. Some payment transactions may be truncated by trusted parties before they reach the issuer from which they came.
Issuer 110a and 110b are parties, such as banks, who issue money and must ultimately be responsible for honoring it later. They include the singer 113 and database 114 functions already described. They may, as indicated and already mentioned, have also an associated set of trustees, or themselves be trustees. They may receive authorization, in the form of certificates, or contribution to individual signatures from a central issuer. For instance, the central issuer may be a national bank, or international payment system, and the issuers may be banks.
Acceptors 132a through 132d are parties that receive payments directly from payers. They may test the transactions, discard, store and forward all or parts of the data selectively depending on pre-arranged rules, outcomes of tests, and communication with other parties. Although shown only providing output to a single aquirer, they may give various different outputs to multiple aquirers and/or communicate directly with issuers. Not shown for clarity are the other communication paths to the acceptors, such as those that update their rules and values needed in testing.
Aquirers 131a and 131b are parties on the way from the acceptors 131 to the issuers 110. They may form part of a hierarchy as shown, or they may more generally be part of a network. They perform such functions as aggregation of data, hiding of detail, gateway to issuers, trust/contractual relations with issuers and acceptors. They may also, for instance, also be issuer themselves. Different acquirers may process different parts of a single transaction, such as, for example, because different pieces of tracing information in the money number are to be handled in different ways.
Acquisition networks 130a and 130b are collections of parties that ultimately do cooperate in returning some payment data to issuers. There may be multiple distinct such acquisition networks, each possibly an issuer itself, or these functions may overlap in a more general way.
Tamper-resistant device 122 is computation, control, storage, and communication means presumed at least substantially difficult for a user to modify or to obtain secrets from. For instance, this might be a smart card or so-called observer issued by or on behalf of an organization, such as the central or other issuers, to the individual payer. Although not shown for clarity, it could be used directly in cooperation with both issuers and acceptors. Preferably, however, as known from "Card computer moderated systems," and "Optionally moderated transaction systems" referenced above, it may communicate with other parties, at least at times, only through the user workstation 121.
User workstation 121 is a computing resource preferably largely under the control of the system user. Examples are personal computers, whether installed at fixed locations or portable. The issuers are not able to trust that such a device remains free from modification of its intended function or whether it can maintain secrets from users.
The workstation 121 may be used without a tamper-resistant device 122. In this case, the issuer can still obtain confidence in the proper form of the money numbers withdrawn, particularly with regard to the tracing information they are to contain, even if they are withdrawn in a blinded form. One way to achieve this is by protocols that convince about the structure but do not reveal tracing information. Examples of these are presented in detail later, for instance in Fig. 3.
Cooperation with tamper-resistant device 122 is believed to allow certain advantages described more fully in the last two references cited above. The tamper-resistant device may provide certification, based on its secret keys, that certain possibly blinded money numbers are properly formed. It may do this by virtue of having constructed the numbers itself, verified the construction by the workstation, or cooperatively constructed them together with the workstation. This certification may be relied on exclusively. Alternatively, the workstation only techniques described above may be combined with this technique to obtain the best of both, along the lines disclosed in the last two cited references.
DETAILED DESCRIPTION OF PREFERRED EMBODIMElSfTS
Turning now to Fig. 2, and referring specifically to Fig. 2a, a flowchart for part of a preferred embodiment will now be described in detail. It shows an overall process from tracing key creation to payment transaction iteration.
Box 211 first shows the creation and agreement on tracing keys by one or more trustees and the payer. Other parties, such as the issuer could also be involved, as will be described for instance with reference to Fig. 4c. Public tracing keys, such as in Figs. 4a and 4b, could be created by the trustees. Certain padding values, as will be described in Fig. 4, may be created by the user. Trustees must be able to trace and payers must use the system, and therefore the two groups should agree on the tracing keys.
Box 212 indicates that the issuer should be aware of the tracing keys being used. If the issuer is not the trustee, then the issuer should, it is believed, be able to verify that the proper tracing information is present in payment signatures. This will be illustrated more fully later with reference to Fig.4.
Box 213 is the issuing of signatures to the payer. It is believed that during this step the issuer should be able to ensure that the agreed tracing information is contained in the money withdrawn. The cut-and-choose protocol of Fig. 3, for instance, is believed to provide this function.
Box 214 portrays the spending of money with an aquirer. Some, if not all, of the tracing information is provided in the payment to the aquirer. Parts of it may be hidden or omitted as may become known to and/or accepted by the parties, as will be further described with reference to Fig. 2b. The arrow returning to box 213 is intended to indicate that during an ongoing series of payments, additional withdrawals may be required.
Box 215 stands for the transfer of payment information from the initial acceptor of payment through a network of operatives. Some paths through the operatives may lead back to the issuer, but not all payment data may be provided on each path, as will be described more fully with reference to Fig. 2b. The arrow returning to box 214 is meant to depict the possibility for multiple payments between withdrawal transactions.
★ * *
Referring specifically now to Fig. 2b, a flowchart for part of a preferred embodiment will be described in detail. It shows exemplary means and methods whereby payment data flows from the payer through a network of operatives and may ultimately reach the issuer.
Box 221 is the receipt of payment data by an acceptor of payments. How much data the acceptor requires may vary, depending, for instance, on random chance, the nature of what is sold, various relationships with other payment operatives, and so on.
Box 222 depicts the testing of the received data by the acceptor. One type of testing that can be done locally by an acceptor is simply searching for a match between the payment data received and the entries on a blacklist, as will be described more fully later with reference to Fig. 4d. Another type of testing requires computation involving witness values, as will be described more fully later, for instance with reference to Fig. 4b.
Substantial protection against clandestine and/or other improper tracing can be provided by distributing the parties that would have to cooperate to trace. Thus, having blacklists searched by potentially many acceptors of payments is believed to mean that it would be difficult to hide the extent of blacklisting from such parties, and possibly consequently from the payer community as a whole. Furthermore, as indicated, the parties may destroy all or part of the tracing infoimation after no match occurs. In this last case, clandestine, retroactive, or tracing further down the path of the transaction data is believed to become more difficult if not substantially impractical.
Box 223 indicates that some tracing data, which might be part of the tracing data contained in a payment, may be forwarded by the initial acceptor of the payment to other payment operatives. Some of these operatives may in turn test, destroy, forward, or retain such data. And the process may go on as the data makes its way, possibly through various concurrent paths of a network, and possibly ultimately to the original issuer.
Box 224 is the holding of data by a payment operative and the selective forwarding of all or part of such data. For instance, an operative may hold on to some data, with or without forwarding it, for some period or until some event transpires. During the period the data is kept, the operative may decide to forward all or part of it to other parties, depending on various factors, such as authorization/request and the type of tracing data. Of course once the data is destroyed, the operative can no longer forward it.
★ * ★
Referring specifically now to Fig. 2c, a flowchart for part of a preferred embodiment will be described in detail. It shows exemplary means and methods whereby tracing is conducted and optionally trustees are kept from knowing from where and/or to where they are tracing.
Box 231 shows that a tracer party, possibly distinct from an issuer or trustee, can optionally blind the transaction or other data which is to be traced. Examples of this will be presented later in Fig. 4a.
Box 232 depicts the application of tracing keys by one or more trustees in the process of developing tracing information from transaction information. Thus, without the tracing keys, the transaction data is believed substantially impractical to develop into tracing information. Further examples of this are shown, for instance, in Figs.4a and 4b.
Box 233 is the optional unblinding of the tracing data and the development of the tracing information. Examples, of this process are, for instance, provided in Fig.4a.
* * ★
Referring specifically now to Fig. 2d, a flowchart for part of a preferred embodiment will be described in detail. It shows exemplary means and methods whereby trustees allow tracing from an account identifier to actual payment transactions.
Box 241 provides the account identifier to the trustees.
Box 242 indicates that the trustees develop a blacklist or witnesses. A blacklist is just searched for a match. A witness allows the acceptor of payments, not being a trustee, to perform a computational test other than simple matching, to determine if the payment is traced.
Box 243 is the checking of payment transactions by payment operatives, such as acceptors, using the blacklist or the witoesses just described. Further examples are provided in Fig. 4a and 4b.
* ★ ★
Referring specifically now to Fig. 2e, a flowchart for part of a preferred embodiment will be described in detail. It shows exemplary means and methods whereby a payer can obtain an identity from a group of identities that can be traced by a trustee.
Box 251 is the developing of a group of identities by one or more trustees. This is done preferably keeping secrets, on which the group is based, that will allow tracing a transaction or member of a derived group to a particular group member only by trustees.
Box 252 is the selection by the issuer of an identity within the group for use by the payer.
Box 253 is where the payer becomes convinced that the identity is among the members of the group chosen by the trustees and or the issuer. Box 254 is the eventual possibility of development of tracing information, and eventual tracing, requiring cooperation of a quorum of relevant trustees.
★ ★ *
Referring specifically now to Fig. 2f, a flowchart for part of a preferred embodiment will be described in detail. It shows exemplary means and methods whereby computational difficulty of tracing can be increased and tracing can be conducted accordingly.
Box 261 is the clipping, deletion, or other restriction of information from the encrypted form of tracing information before it is used in transactions.
Box 262 presents how a tracing party is believed to need to develop possible values for the clipped values.
Box 263 is the testing of a possible clipped value by substituting such a possible value for the clipped values and then inverting the cryptographic operations in search of redundancy adequate to confirm the correctness of the possible value being tested.
★ * *
Referring specifically now to Fig. 2g, a flowchart for part of a preferred embodiment will be described in detail. It shows exemplary means and methods whereby a secret seed is used to develop the parameters needed to protect unlinkability and can later be used to allow tracing of those values.
Box 271 describes generation of a session key by a one-way process from session identifiers and a secret seed. For instance, the secret seed could be a value that the payer holds in reserve, such as by keeping it in a safe place and/or dividing it by known secret sharing techniques among a set of parties. The session parameters could be the serial number or date of the last withdrawal transaction.
Box 272 indicates an iterative process, depicted by the feedback arrow, by which a transaction seed is generated. If the value of a transaction seed were to be divulged by the payer, then all subsequent payments until the next withdrawal session could be traced. Thus, if payment information is lost by the payer, the session seed and the identifier of the last withdrawal session, and the serial number of the last known payment, can be used to reconstruct the transaction seed for the next transaction. This transaction seed could then be provided, or otherwise used, to allow tracing of any subsequent payments. Thus, after a key change, for instance, the issuer could be sure that no subsequent payments occurred and could refund the unspent lost payment amounts.
* ★ ★
While it is believed that the notation of Figs. 3 and 4 would be clear to those of ordinary skill in the art, it is first reviewed here for definiteness.
The operations performed are grouped together into flowchart boxes. One kind of operation is an equality test. The "?=?" symbol is used to indicate such a test, and the party conducting the test terminates the protocol if the equality does not hold. (If the test is the last operation to be performed by a party during a protocol, then the success or failure of the test determines the party's success or failure with the protocol.)
Another kind of operation is that of sending a message. This is shown by a message number on the left; followed by a recipient name and an arrow (these appear for readability as either a recipient name then left pointing arrow, when the recipient is on the left; or right pointing arrow then recipient name, when the recipient is on the right); followed by a colon; finally followed by an expression denoting the actual value of the message that should be sent. (These operations are depicted in a "bold" typeface for clarity.) Square brackets are used to delimit message numbers and such an expression stands for the value of the corresponding message.
The further operation of saving a value under a symbolic name is denoted by the symbolic name on the left hand side of an equal sign and an expression on the right hand side.
Several kinds of expressions are used. One is just the word "random." This indicates that a value is preferably chosen uniformly from an appropriate set of values (defined in the text where not obvious to those of skill in the art) and that is chosen independently of everything else in the protocol. Creation of random values has already been mentioned.
A further kind of expression involves exponentiation. All such exponentiation (unless noted otherwise) is in a finite group. When no operation is shown explicitly, multiplication in such a group is assumed. When "/ " is applied between elements of such a group, the result can be calculated by first computing the multiplicative inverse of the expression on the right and then multiplying it by the expression on the left — but this operation may also be described simply as division. When the "/ " is used between exponents, and if the result is a proper fraction, it indicates a corresponding root, as is well known in the art.
★ ★ *
Turning now to Fig. 3, a flowchart for part of a preferred embodiment will now be described in detail. It shows a cut-and-choose protocol performed between parties denoted bank B and payer P. It will be appreciated that a general cut-and-choose protocol is disclosed here, and that it is believed to offer certain advantages; however, other known cut-and-choose protocols, such as those disclosed in the above referenced patent entitled "One show blind signature systems" could of course be applied as well. Other more specific protocols are also anticipated.
Box 301 first shows P choosing ri and ei at random. Both are base numbers in the modular arithmetic system used throughout Fig. 3. The modulus for this system has been created by B from preferably two random primes of sufficient size, as is well known in the art. A plurality of other random values are chosen modulo z, which is the preferably prime public exponent of .sufficient size also chosen by B. These values are qi, qi, ci, xk, and yk. The index j runs over the number of results that are to be obtained, which may be though of as the number of payments that will later be possible. The index i runs over the total number of initial candidates, which is believed to need to be significantly larger than j in order to obtain the desired level of security as is well known in the art and has been investigated in detail elsewhere. (The form of h is also believed relevant in this connection and example values will be provided when h is introduced later). Now P is shown forming a first message [32.1 ]i and sending it to B. The message is just the product of the values η raised to the z, s raised to the ai, t raised to the Ci, ei, and g raised to the qi. The values s, t, and g are simply public generators. It is believed desirable that B has chosen these and provides a proof that any one can be expressed as a power of any other one of the three. This could easily be accomplished using well known protocols, such as Chaum, Evertse, v.d. Graaf, and Perlata "Demonstrating possession of a discrete log without revealing it" CRYPTO "86, Springer-Verlag, 1987, pp. 200-212. The other message shown sent by P to B in this box is simply s to the xκ power times t to the y power. Box 302 defines the actions of B after the above mentioned two messages are received from P. First a random base number pi is chosen. It will be appreciated that the index values i and j are used similarly by both parties.
Then the random map h is selected. This domain is the candidate indexes, being integers from 1 to the number of candidates. The range includes 0 as a distinguished entry and the integers from 1 to the number of payments that will result, as already mentioned for k. When a candidate index maps to 0, it will be "opened" later. All the candidates that map to a particular nonzero value will make up the check with that number. Every check is assumed for simplicity to have the same number of candidates. Example values, that are believed adequate for a substantial level of security, might be 1000 candidates, 10 per check, with a total of 80 check and 200 opened candidates. Extensive analysis of such parameters have been made and are known in the art.
.Also chosen at random are bk and di, all residues modulo z. The first message [32.1]i to be sent by B to P is formed as a product of three terms: the already mentioned generator s, raised to the bn(i) power; t raised to the di power; and received message [31.2] indexed by hi. This message has the form shown corresponding to how it was formed with the included message multiplicatively contributing a power of s and of t. .Also shown being sent are the pi as message [32.2]i,
Box 303 describes how P forms the exponent request message [33]i that is sent to B. The value is formed, per candidate, modulo z as is well known, as the output of the one-way function f, having three inputs, minus the value qi already mentioned. The first argument of f is the base value of the ultimate signature, ej times pi received in message [32.2]i already mentioned. The second argument is the powers of s and t; s appears to the ai and t to the Ci, with the additional s and t powers provided by B from received message [32.1]. The third argument is the money number mi. Thus, the actual form sent reveals the content of [32.1]i, which was already described with reference to box 302.
Box 304 is just the sending of the entire map h from B to P. For clarity as will be appreciated, h is shown in the boxes of P, not as a message number, but in symbolic form. Box 305 sends the opening of candidates that have an index that h maps to 0. Six values are sent per opened candidate: m, c, q, r, e, and a, in messages [35.1] through [35.6], respectively.
Box 306 indicates first a checking of the opened candidates and then the supply of the actual roots and powers needed to obtain showable signatures.
First the value of m is "validated," which is intended to denote any sort of testing that may be appropriate, such as testing that the form has the proper linking structure, as will be described more fully later. For each j that is mapped to 0 by h, two equalities are tested. In the first, message [31.1] should equal received message [35.4] raised to the z, times s raised to the received message [35.6] times t raised to the received message [35.2] times received message [35.5] times g raised to the received message [35.3]. For the second equality, n is formed for convenience formed to collect the powers of s and t. The powers of s shown are received message [35.6] plus b. The powers of t shown are received message [35.2] plus d. Also are the contributions from message [32.1] already sent by B. Now all the messages [33] received are reconstructed as an image under f minus the corresponding message [35.3] received. The' first argument for f is received message [35.5] times p. The second is n. The third is message [35.1] received.
Three values are provided to P, two for each unopened candidate and one for each check. The first, per candidate, is message [36.1], the z'th root on the product of four terms: [32.1], [31.1], p, and g raised to the requested power [33]. A different use of temporary value n, and one of temporary value o are used for clarity in denoting the form of this first message sent. The second message, which is per check, is b and is sent as [36.2] (with subscript k). The third and final message, which is per candidate, is d.
Box 307 represents the putting in convenient order for storing and then the final testing of the signature by P. Each value is re-indexed to have two indices, the first for the check number and a second for the serial number of the candidate within that check. The ordering is chosen arbitrarily as preserving the check numbers and with serial numbers in the same order as the corresponding original candidate. Thus, the first value is p, which is the signature [36.1] with the blinding factor r divided out of it. The second is u, which is the base value e times p from message [32.2]. The third is the power of s, being the sum of x and b from message [36.2]. The fourth and final is the power of t, which is the sum of the corresponding c, of the y, and d from message [36.3].
For completeness, the testing of the signature, which could be performed also when the signature is received by another party, is shown. The z'th power of the signature p itself is compared for equality with its reconstruction as a product of four terms. The first is s raised to the v; second is t raised to the w. The third is the base u. and the fourth is g raised to the image under f, which for convenience is denoted o\ To compute o\ f has been shown as applied to three arguments: u, s to the v the quantity times t to the w, and m.
★ ★ *
Turning now to Fig. 4, and referring specifically to Fig. 4a, a flowchart for part of a preferred embodiment will now be described in detail. It shows both a form of money and a blinded, two-trustee protocol for tracing without the trustees learning either what was traced or who it was traced to.
Box 410 first shows that the value wj is chosen at random as an unknown padding to allow the concealment of the value u within the money number. Then the form of the money number is shown explicitly for clarity in a two trustee setting, where each trustee uses RS A as the trapdoor public mapping. .Any other number of trustees or trap door public function(s) could, as would be obvious, be used. This form of the money number could, for instance, be entered as the value mi, or as one of multiple components of that value, in a cut-and-choose, such as that of Fig. 3. Specifically, the money number is the composition of two mappings, the inner most is RSA encryption with the public key of Tl and the outer layer composes encryption with the public key of T2, such basic operations themselves being well known in the art.
Box 411 illustrates how a first blinding of the money number is performed by tracer A using s, a random residue modulo ni. The message sent to trustee Tl is just the money number already described times the blinding factor s raised to the public exponent e2.
Box 412 has Ti decrypt the message [91] received and return this result to tracer A as message [92].
Box 413 begins by forming a second blinding factor t, this one for use under the modulus of T2. Then the result form Ti may be tested simply by raising it to ei, the pubic power of Ti, and checking that this results in message [91]. In forming message [93] to send to trustee T2, the blinding by s is divided out of message [92] and the result is re-blinded with t using nl, the modulus of Tl.
Box 414 again simply has a trustee, Ti this time, decrypt using the corresponding secret key di. The input is message [93], and the output is [94].
Box 415 shows how received message [94] is first unblinded by dividing out t modulo nl. Then the inverse of f* is applied, to yield the original pair, already described, containing padding i and revealing the identity of the payer u. As will be appreciated, f* is an optional and substantially invertable yet preferably cryptographic mapping that allows recovery of its arguments but is believed to distort structure, such a multiplicative structure, that might allow undesired interaction between the arguments and the signature scheme. Other uses for such a function in this position, such as for clipping, will be described later.
★ ★ ★
Referring specifically now to Fig. 4b, a flowchart for part of a preferred embodiment will now be described in detail. It shows an alternate form of money and a single trustee, as well as an unblinded form of a tracing protocol.
Box 420 displays an exemplary form of a money number represented as two residues modulo a common fixed public prime p (although any group could be used). The disguising, as in box 410, is shown by denoting the random formation of wi. This value is applied as an exponent to each member of the pair of fixed values associated with the particular account. One such fixed value is simply a common public generator g. (It is anticipated, however, that specific powers could also be used here to advantage in some cases.) The other such value is that same generator raised to a value only known to the trustees. For clarity, a single value U2 is shown, which could for instance be applied to all money numbers from this account. With multiple trustees, as would be appreciated, the value U2 could be composed of the sum or product of contributions from multiple trustees.
Box 421 is the transmission of the second component of the money number by tracer A to trustee T.
Box 422 then has T remove each of a set of possible exponents from copies of message [95] received. One exponent could, for instance, correspond to one payer account and the whole set might cover all payer accounts. To remove an exponent, the value is raised to the multiplicative inverse, modulo the order to the group, of that exponent. Thus, it is believed for all but one of the [96]i returned by T to A, the exponent will not be canceled, because it was not there originally. But for the one of the values, the exponent was there and it is canceled.
Box 423 tests all the returned values, until one is found that is equal to the first component of the money number g . In this way the money number is traced to the account corresponding to the index i of the matching message [96].
As will be appreciated, elaboration is readily achieved. For instance, the multiple trustees as already mentioned could each remove their exponents one after the other. No fixed order, as in Fig 4a, would be required. Blinding could be achieved, for instance, by using exponential blinding: [95] would be raised to a random power by A and the result retumed by T would be raised to the inverse power. The message could still travel around through multiple trustees in any order and without, as in Fig. 4 a, coming back to A between each trustee. Furthermore, each trustee could first remove the account specific exponent and put in place the same exponent. This would then allow, for instance, permuting of various such values so that they can be operated on in the same way.
★ ★ *
Referring specifically now to Fig. 4c, a flowchart for part of a preferred embodiment will now be described in detail. It shows a system for convincing a payer P that a particular set of linking information is merely a permuted copy of a list developed by the trustee(s), thereby allowing a payer substantial certainty that they are linkable to an entry on the list, but substantially inability to determine which entry on the original list they are linked to. .An example application is marking of bank notes in a limited number of categories hidden from those withdrawing the notes.
Box 430 first indicates the formation of a public hst of meta-identifiers by the trustee(s). The value cj is chosen at random and preferably remains confidential to the trustee(s); what can be provided to payers or even made public is aj, which is set equal to a generator g in the group of public order used throughout this protocol. Thus there are n meta-identities, and j may be thought of as ranging from 1 to n. More than one trustee can supply a contribution to aj, such that, for instance, the product of the contributions is taken as aj; or, for example, each trustee could place a power on the accumulated value as it travels around among them.
Box 431 shows the formation of a set of identities by B. This is an optional feature that allows a non-trustee party, possibly such as the issuer, to create a permuted instance of a list of identities from the meta-list First Wj is chosen as a suitable exponent. The function h maps the indices of the meta- identity hst into those of the identity list; that is, it is the permutation between the meta-identities and the particular set of identities created by B. Message [90.1]j is formed as g raised to the w selected by h applied to j. Also sent with and corresponding to each of these there is a [90.2]j formed as the meta- identifier list permuted by h, each raised to the w selected by h applied to j. Thus, each identifier is a pair g and a meta-identifier, both members of the pair being hidden by being raised to the same power of w.
Box 432 begins the loop part of the convincing, that can be repeated any number of times, as indicated by the arrows. It is believed that uncertainty is halved by each iteration, and for clarity the number of iterations is not shown explicitly. In order to create a list of temporary pairs, random exponents w'j and permutation h' are created at ransom, each essentially like its unprimed namesake. The message [91.1]j is foimed as g raised to the particular w' selected by h' apphed to j; similarly, [91.2]j is formed as a selected by h' of j, the quantity raised to the w' selected by h' of j.
Box 433 receives these above described commitment messages and then issues a random challenge bit b as message [92] provided to B.
Box 434 handles one of two cases: either b is 0 or it is 1. In the first case, w'j and h' are sent to P as messages [93.1]j and [93.2], respectively. In the second case, a permutation kj is foimed as h' inverse composed with h. Message [93.3]j is foimed as WhQ times the multiplicative inverse of w'n(j). And message [93.4] is simply the mapping k.
Box 435 checks the response from B by evaluating a different pair of equalities depending on the value of b. If b is 0, then message [91.1]j received is compared for equality with g raised to the [93.1] selected by h' of j; [91.2]j is compared with a selected by h' applied to j, the quantity raised to the [93.1] selected by h' applied to j. In case b is 1, [90.1]j is compared for equality with [91.1] selected by kj the quantity raised to the power [93.3] selected by j; [90.2]j is compared to [91.2] selected by kj the quantity to the power [93.3] selected by j. (The values k and h' are shown for clarity with its alphabetic as opposed to its message number notation here.)
* * *
Referring specifically now to Fig. 4d, a flowchart for part of a preferred embodiment will be described in detail. It shows a system for allowing blacklisting information to be developed with knowledge of the payer account.
Box 440 shows the form of the money number mi. It is shown as a modular sum, but other techniques as would be appreciated could be used, such as exclusive-or. The number of terms that must be combined is equal to the number of trustees, and they need not each work in the same way. The combination technique preferably allows any one contribution to block out and otherwise hide any other contributions, although its is anticipated that this property may be violated to some advantage in some circumstances.
One term shown is f applied to the pi'th root of the universal identifier u, within the residue classes induced by the RS A composite ni. The other term uses the same prime but a different modulus. The idea is that the trustee owning the modulus is able to construct all the roots on u and provide them to the payer; the bank, however, is unable to determine the roots, even though given any root opened during the cut-and-choose, the bank can verify that it is uniquely determined by its index and the payer identity u. Thus the index of the primes may preferably be taken as the candidate number. Also note that the method of combining terms allows a quorum of trustees to be required for tracing.
* * ★
Referring specifically now to Fig. 4e, a flowchart for part of a preferred embodiment will now be described in detail. It shows a system for making the work required to trace substantially as high as desired.
Box 450 shows first how the payer forms a value w^ at random. The value mi, a money number, is formed as the truncation of a quantity. This is intended to indicate that some of the information in the quantity is left out. For instance, but without limitation, a simple example would be to perform the truncation operation as the leaving out of a predetermined number of bits of the representation of its argument Thus, in this example, for each bit left out, the amount of computation that the tracer would have to do is believed to double.
The form of the money number that is the argument of the truncation function could be anything described elsewhere here. But, for definiteness, a specific form is shown, and it is the encryption using two public keys ei and e2, as indicated by their position in the exponent. The value they encrypt is shown as an image under f * of the pair wi and u, the former having been chosen as random padding as already mentioned, and the latter being an identifier. The entire encryption is the argument for an outer application off*.
If this money number is to be traced, it is believed that, provided f* is adequately strong, the most effective way to discover u should be to guess at the values of the omitted information, such as the deleted bits already mentioned. For each guess, the inverse of f* should be applied. Some redundancy could be included that would be recognizable at this point, so that the proper guess could be detected after the inversion. .Alternatively, redundancy might only be recognizable only once the two encryptions are inverted, such as by the respective trustees, and the inner f* is inverted. In any case, u can be recovered by inverting the outer and then the inner f*.
★ * *
Referring specifically now to Fig.4f, a flowchart for part of a preferred embodiment will be described in detail. It shows both a system for restricting the blinding factor and also another use of the truncation function just described.
Box 460 forms a blinding factor rj as an (optional) truncation of the invertable cryptographic function f* apphed to an account identifier as well as a random padding value bj, all as more fully already described. Thus the blinding, as denoted also by η in Fig. 3, does not have the full range of possible values. The value of the blinding factor is determined by forming the quotient of the guessed corresponding withdrawal and deposit, as is well known. Once the guessed blinding value is determined, and the truncated bits removed, then f* can be inverted and the redundancy in, for instance, the identifier u can be used to recognize the fact that a proper guess has been made.
★ * * Referring specifically now to Fig. 4g, a flowchart for part of a preferred embodiment will be described here in detail. It shows another example of the choice of a blinding factor from a limited range corresponding to certain limited values.
Box 470 depicts a second example of a restriction on the blinding factor n from Fig. 3. It will readily be appreciated that the restriction on the blinding factor is verified as part of the cut-and-choose protocol. The particular example shown uses the form of money number already described in detail for Fig. 4a. The difference being only the outer application of the f*, which is intended, as already mentioned, to inhibit any undesired interaction between the values it encompasses and those that contain it.
★ * *
As would be obvious to those of ordinary skill in the art, there are many essentially equivalent orders to evaluate expressions; ways to evaluate expressions; ways to order expressions, tests, and transmissions within flowchart boxes; ways to group operations into flowchart boxes; and ways to order flowchart boxes. The particular choices that have been made here are merely for clarity in exposition and are sometimes arbitrary. Also the order in which messages are generated within a box and sent may be of little or no significance.
It will also be obvious to those of ordinary skill in the art how parts of the inventive concepts and protocols herein disclosed can be used to advantage without necessitating the complete preferred embodiment. This may be more fully appreciated in light of some examples: Of course each different type of tracing can be used separately, as can each way of ensuring the tracing information is in place. Tracing by the payer, as disclosed here, could simply be used for backup purposes. Also, the protocol of Fig. 3 is a very general cut- and-choose, and could be used for credential or any other application of such protocols. Similarly, the protocol of Fig. 3c is of general utility..
Certain variations and substitutions may be apparent to those of ordinary skill in the art. For example, while the present specification and claims are cast in the language of payments for clarity in exposition, many other transaction systems can employ the basic techniques of limited traceability.. While these descriptions of the present invention have been given as examples, it will be appreciated by those of ordinary skill in the art that various modifications, alternate configurations and equivalents may be employed without departing from the spirit and scope of the present invention.
★ ★ ★

Claims

What is claimed is:
1. In a payment system method, the improvement comprising the step of: forming tracing values depending on tracing keys, the tracing keys substantially concealed by at least one trustee, such that without the tracing keys of the at least one trustee it is substantially infeasible to link payment transaction data with payer accounts and that with the cooperation of the at least one trustee using the tracing keys, at least under some conditions, some linking is substantially feasible.
2. In the method of claim 1 , at least one party other than a trustee being necessary to validate money.
3. In the method of claim 1 , requiring for tracing participation of a quorum of trustees.
4. In the method of claim 1 , including more than one tracing value per payment.
5. In the method of claim 1 , including different trustee quorums for different tracing values.
6. In the method of claim 1 , storing for at least a substantial time at least one of said tracing values by at least one system operative.
7. In the method of claim 1 , preventing at least one of said tracing values from being forwarded from at least one system operative to a further system operative.
8. In the method of claim 1 , deleting parts of a encrypted tracing value so that exhaustive search for the deleted parts is substantially needed to recover the tracing value.
9. In the method of claims 2 through 8, said system allowing said at least one trustee to allow linking from a particular payer account to at least one particular payment transaction.
10. In the method of claim 9, developing information in the foim of a blackhst of values that can be transferred from said at least one trustee to a tracer party, without revealing other tracing key information to the tracer party and can be searched directly by the tracer party for a substantially identical matching value.
11. In the method of claim 9, developing information in the form of a witness value that can be transferred from said at least one trustee to a tracer party, without revealing other tracing key information to that tracer party, and can be used by the tracer party in a computational test of matching.
12. In the method of claim 9, concealing from said at least one trustee which payer account is being traced.
13. In the method of claim 9, cooperation of said at least one trustee in computational testing of whether said payment transaction corresponds to a particular payer account.
14. In the method of claim 13, allowing said testing such that it remains substantially infeasible for said at least one trustee to transfer such testing ability to other parties without transferring tracing keys.
15. In the method of claim 13, allowing said testing while concealing the identity of the payer account from said at least one trustee.
16. In the method of claims 2 through 8, said system allowing at least one trustee to allow a particular payment transaction to be traced to the corresponding payer account.
17. In the method of claim 16, allowing such tracing while concealing from said at least one trustee the account identity.
18. In the method of claim 16, allowing such tracing while concealing from said at least one trustee the payment transaction identity.
19. In the method of claims 2 through 8, grouping within said system at least some payer accounts into categories.
20. In the method of claim 19, concealing from the payer party the category in which a corresponding payer account is placed.
21. In the method of claim 19, using said groupings for analyzing aggregated patterns of payment transactions while concealing unagregated transaction details.
22. In the method of claims 2 through 8, payer parties cooperating within said system and maintaining data and making computations for conducting transactions.
23. In the method of claim 22, payers using in payment transactions only tamper-resistant devices issued to them.
24. In the method of claim 22, payers using in payment transactions only information processing equipment other than tamper-resistant devices issued to them.
25. In the method of claim 22, payers using in payment transactions both tamper-resistant devices issued to them and other information processing equipment; and configuring the equipment so that, for at least some transactions, the tamper-resistant device can only communicate to other parties through said other information processing equipment
26. In a blind signature system method, the improvement comprising the step of: forming at least one blinding value, instead of at random, at least partly deterministically.
27. In the method of claim 26, protocols for cooperation of a party obtaining a blind signature and the party issuing the blind signature that ensure a blinding value be taken from a limited range.
28. In the method of claim 27, said protocols achieving a blurred linking.
29. In the method of claim 27, said protocols allowing substantially complete linkability.
30. In the method of claim 26, said protocols such that a computational test capable of being performed by parties other than said party obtaining a blind signature can be used to recognize a valid blinding value and thereby link payer accounts with payment transactions.
31. In the method of claim 30, dividing at least some of the keys needed for said test among a plurality of trustees.
32. In the method of claim 30, multiple such computationally distinguishable elements corresponding to multiple trustee quorums.
33. In the method of claim 30, leaving out some information from at least one of said distinguishable blinding values to require exhaustive computational testing and thereby increase the cost of testing.
34. In the method of claim 26, developing a blinding value in a reproducible computation involving a seed key substantially known only to the account holder party.
35. In the method of claim 34, imparting a one-way property so that particular values can be given that allow computing forward blinding factors and the values given being such that it is substantially infeasible to use them to compute back to earlier factors.
36. In the method of claim 34, the payment account holder storing said seed key separately from the money number and later turning it in if the money number should become lost.
37. In the methods of claims 26, 27, 30, and 34, parties cooperating in obtaining said blind signatures maintaining data and making computations for conducting transactions.
38. In the method of claim 37, including the step of system providers issuing to said parties tamper-resistant devices and the steps of said parties using said tamper resistant devices for information processing in said cooperation.
39. In the method of claim 37, including the step of said parties obtaining information processing means from a party other than one authorized by said system providers and using such means for conducting transactions in said cooperation.
40. In the method of claim 37, said parties using in said cooperation both tamper-resistant devices authorized by said system provider and other information processing equipment, and, for the purposes of at least some transaction within said cooperation, communicating information from said tamper-resistant device only through said other information processing equipment.
41. In a payment system apparatus, the improvement comprising: means for forming tracing values depending on tracing keys, the tracing keys substantially concealed by at least one trustee, such that without the tracing keys of the at least one trustee it is substantially unfeasible to link payment transaction data with payer accounts and that with the cooperation of the at least one trustee using the tracing keys, at least under some conditions, some linking is substantially feasible.
* * * * *
PCT/US1995/001551 1994-02-08 1995-02-08 Limited-traceability systems WO1995022215A2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP95909503A EP0744106A4 (en) 1994-02-08 1995-02-08 Limited-traceability systems
AU17448/95A AU1744895A (en) 1994-02-08 1995-02-08 Limited-traceability systems

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/193,500 US5712913A (en) 1994-02-08 1994-02-08 Limited-traceability systems
US193,500 1994-02-08

Publications (1)

Publication Number Publication Date
WO1995022215A2 true WO1995022215A2 (en) 1995-08-17

Family

ID=22713895

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1995/001551 WO1995022215A2 (en) 1994-02-08 1995-02-08 Limited-traceability systems

Country Status (4)

Country Link
US (3) US5712913A (en)
EP (1) EP0744106A4 (en)
AU (1) AU1744895A (en)
WO (1) WO1995022215A2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999026207A1 (en) * 1997-11-19 1999-05-27 Rsa Security Inc. Digital coin tracing using trustee tokens

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5712913A (en) * 1994-02-08 1998-01-27 Digicash Incorporated Limited-traceability systems
US8271339B2 (en) * 1995-11-13 2012-09-18 Lakshmi Arunachalam Method and apparatus for enabling real-time bi-directional transactions on a network
US8037158B2 (en) * 1995-11-13 2011-10-11 Lakshmi Arunachalam Multimedia transactional services
US7930340B2 (en) * 1995-11-13 2011-04-19 Lakshmi Arunachalam Network transaction portal to control multi-service provider transactions
US5812670A (en) * 1995-12-28 1998-09-22 Micali; Silvio Traceable anonymous transactions
US6945457B1 (en) 1996-05-10 2005-09-20 Transaction Holdings Ltd. L.L.C. Automated transaction machine
US7020638B1 (en) * 1996-11-18 2006-03-28 Microsoft Corporation System and method for flexible micropayment of low value electronic assets
US6539092B1 (en) * 1998-07-02 2003-03-25 Cryptography Research, Inc. Leak-resistant cryptographic indexed key update
RU2153191C2 (en) 1998-09-29 2000-07-20 Закрытое акционерное общество "Алкорсофт" Method for blind production of digital rsa signature and device which implements said method
US7010512B1 (en) * 1998-11-09 2006-03-07 C/Base, Inc. Transfer instrument
US7254557B1 (en) 1998-11-09 2007-08-07 C/Base, Inc. Financial services payment vehicle and method
RU2157001C2 (en) 1998-11-25 2000-09-27 Закрытое акционерное общество "Алкорсофт" Method for conducting transactions
US6424953B1 (en) * 1999-03-19 2002-07-23 Compaq Computer Corp. Encrypting secrets in a file for an electronic micro-commerce system
US20020095298A1 (en) * 1999-04-19 2002-07-18 Frogmagic, Inc. Blind Gift Method and System
KR100349418B1 (en) * 1999-08-10 2002-08-19 학교법인 한국정보통신학원 Method for preventing abuse in blind signatures
FI19992510A (en) * 1999-11-24 2001-05-25 Nokia Mobile Phones Ltd Electronic device and method in the electronic device
AU4508001A (en) * 1999-11-29 2001-06-18 Microsoft Corporation System and method for flexible micropayment of low value electronic assets
WO2001044968A2 (en) * 1999-12-02 2001-06-21 Oakington Technologies Limited Transaction system and method
US6453301B1 (en) 2000-02-23 2002-09-17 Sony Corporation Method of using personal device with internal biometric in conducting transactions over a network
AU2001237701A1 (en) * 2000-03-06 2001-09-17 Aplettix Inc. Authentication technique for electronic transactions
US6867764B2 (en) * 2000-03-22 2005-03-15 Sony Corporation Data entry user interface
WO2001082246A2 (en) * 2000-04-24 2001-11-01 Visa International Service Association Online payer authentication service
US10062457B2 (en) 2012-07-26 2018-08-28 Carefusion 303, Inc. Predictive notifications for adverse patient events
US9741001B2 (en) 2000-05-18 2017-08-22 Carefusion 303, Inc. Predictive medication safety
US7860583B2 (en) 2004-08-25 2010-12-28 Carefusion 303, Inc. System and method for dynamically adjusting patient therapy
IL152717A0 (en) 2000-05-18 2003-06-24 Alaris Medical Syst Inc Distributed remote asset and medication management drug delivery system
US9427520B2 (en) 2005-02-11 2016-08-30 Carefusion 303, Inc. Management of pending medication orders
US11087873B2 (en) 2000-05-18 2021-08-10 Carefusion 303, Inc. Context-aware healthcare notification system
US10353856B2 (en) 2011-03-17 2019-07-16 Carefusion 303, Inc. Scalable communication system
US20020026419A1 (en) * 2000-08-24 2002-02-28 Sony Electronics, Inc. Apparatus and method for populating a portable smart device
US7360080B2 (en) * 2000-11-03 2008-04-15 International Business Machines Corporation Non-transferable anonymous credential system with optional anonymity revocation
US7251633B2 (en) * 2000-12-11 2007-07-31 Sony Corporation Method or system for executing deferred transactions
US7765163B2 (en) * 2000-12-12 2010-07-27 Sony Corporation System and method for conducting secure transactions over a network
US6680924B2 (en) 2000-12-14 2004-01-20 Carnegie Mellon University Method for estimating signal strengths
US8396810B1 (en) * 2000-12-29 2013-03-12 Zixit Corporation Centralized authorization and fraud-prevention system including virtual wallet for network-based transactions
US20020124190A1 (en) * 2001-03-01 2002-09-05 Brian Siegel Method and system for restricted biometric access to content of packaged media
US6950937B2 (en) * 2001-05-30 2005-09-27 Lucent Technologies Inc. Secure distributed computation in cryptographic applications
US7996888B2 (en) * 2002-01-11 2011-08-09 Nokia Corporation Virtual identity apparatus and method for using same
US7707120B2 (en) * 2002-04-17 2010-04-27 Visa International Service Association Mobile account authentication service
US6805289B2 (en) 2002-05-23 2004-10-19 Eduardo Noriega Prepaid card payment system and method for electronic commerce
BR0314158A (en) 2002-09-10 2005-07-12 Visa Int Service Ass Method and system for authentication and data provisioning
US7729984B1 (en) 2002-09-27 2010-06-01 Abas Enterprises Llc Effecting financial transactions
US7168091B2 (en) * 2003-03-14 2007-01-23 Citibank, N.A. Method and system of transaction security
US8762283B2 (en) 2004-05-03 2014-06-24 Visa International Service Association Multiple party benefit from an online authentication service
US7606738B2 (en) * 2005-11-29 2009-10-20 Target Brands, Inc. E-mail based gift delivery
US7877331B2 (en) * 2007-09-06 2011-01-25 King Fahd University Of Petroleum & Minerals Token based new digital cash protocols with combined blind digital signature and pseudonym authentication
US20090076904A1 (en) * 2007-09-17 2009-03-19 Frank David Serena Embedding digital values for digital exchange
US9177313B1 (en) * 2007-10-18 2015-11-03 Jpmorgan Chase Bank, N.A. System and method for issuing, circulating and trading financial instruments with smart features
US8856879B2 (en) * 2009-05-14 2014-10-07 Microsoft Corporation Social authentication for account recovery
US9124431B2 (en) 2009-05-14 2015-09-01 Microsoft Technology Licensing, Llc Evidence-based dynamic scoring to limit guesses in knowledge-based authentication
IL210169A0 (en) 2010-12-22 2011-03-31 Yehuda Binder System and method for routing-based internet security
US10430554B2 (en) 2013-05-23 2019-10-01 Carefusion 303, Inc. Medication preparation queue
US11182728B2 (en) 2013-01-30 2021-11-23 Carefusion 303, Inc. Medication workflow management
CA2900564C (en) 2013-03-13 2022-04-26 Carefusion 303, Inc. Patient-specific medication management system
WO2014164565A1 (en) 2013-03-13 2014-10-09 Carefusion 303, Inc. Predictive medication safety
US10013682B2 (en) 2015-02-13 2018-07-03 International Business Machines Corporation Storage and recovery of digital data based on social network
US10643203B2 (en) 2016-04-12 2020-05-05 Digicash Pty Ltd. Secure transaction controller for value token exchange systems

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4438824A (en) * 1981-04-22 1984-03-27 Siemens Corporation Apparatus and method for cryptographic identity verification
US4458109A (en) * 1982-02-05 1984-07-03 Siemens Corporation Method and apparatus providing registered mail features in an electronic communication system
US4947430A (en) * 1987-11-23 1990-08-07 David Chaum Undeniable signature systems
US4759063A (en) * 1983-08-22 1988-07-19 Chaum David L Blind signature systems
US4759064A (en) * 1985-10-07 1988-07-19 Chaum David L Blind unanticipated signature systems
US4868877A (en) * 1988-02-12 1989-09-19 Fischer Addison M Public key/signature cryptosystem with enhanced digital signature certification
US4987593A (en) * 1988-03-16 1991-01-22 David Chaum One-show blind signature systems
WO1989008957A1 (en) * 1988-03-16 1989-09-21 David Chaum One-show blind signature systems
US4879747A (en) * 1988-03-21 1989-11-07 Leighton Frank T Method and system for personal identification
US4949380A (en) * 1988-10-20 1990-08-14 David Chaum Returned-value blind signature systems
EP0439847B1 (en) * 1990-01-29 1997-10-22 Security Technology Corporation Optionally moderated transaction systems
US5224162A (en) * 1991-06-14 1993-06-29 Nippon Telegraph And Telephone Corporation Electronic cash system
US5276737B1 (en) * 1992-04-20 1995-09-12 Silvio Micali Fair cryptosystems and methods of use
US5315658B1 (en) * 1992-04-20 1995-09-12 Silvio Micali Fair cryptosystems and methods of use
US5373558A (en) * 1993-05-25 1994-12-13 Chaum; David Desinated-confirmer signature systems
NL9301348A (en) * 1993-08-02 1995-03-01 Stefanus Alfonsus Brands Electronic payment system
US5712913A (en) * 1994-02-08 1998-01-27 Digicash Incorporated Limited-traceability systems
US5604805A (en) * 1994-02-28 1997-02-18 Brands; Stefanus A. Privacy-protected transfer of electronic information
US5553145A (en) * 1995-03-21 1996-09-03 Micali; Silvia Simultaneous electronic transactions with visible trusted parties

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of EP0744106A4 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999026207A1 (en) * 1997-11-19 1999-05-27 Rsa Security Inc. Digital coin tracing using trustee tokens
US6446052B1 (en) 1997-11-19 2002-09-03 Rsa Security Inc. Digital coin tracing using trustee tokens

Also Published As

Publication number Publication date
US5781631A (en) 1998-07-14
AU1744895A (en) 1995-08-29
US5712913A (en) 1998-01-27
EP0744106A1 (en) 1996-11-27
EP0744106A4 (en) 2000-05-17
US5878140A (en) 1999-03-02

Similar Documents

Publication Publication Date Title
US5712913A (en) Limited-traceability systems
Dagher et al. Provisions: Privacy-preserving proofs of solvency for bitcoin exchanges
Frankel et al. “Indirect discourse proofs”: Achieving efficient Fair Off-Line e-cash
Courtois et al. Stealth address and key management techniques in blockchain systems
US4947430A (en) Undeniable signature systems
Tsiounis Efficient electronic cash: new notions and techniques
US5131039A (en) Optionally moderated transaction systems
Camenisch et al. An efficient fair payment system
Law et al. How to make a mint: the cryptography of anonymous electronic cash
Camenisch et al. Balancing accountability and privacy using e-cash
Cruz et al. E-voting system based on the bitcoin protocol and blind signatures
Williamson The aztec protocol
CN110392038A (en) The multi-key cipher that can verify that under a kind of multi-user scene can search for encryption method
CN106845275B (en) A kind of the electronic bill management system and method for secret protection
Wang et al. Untraceable off-line electronic cash flow in e-commerce
Fischer et al. A public randomness service
Li et al. Non-equivocation in blockchain: double-authentication-preventing signatures gone contractual
Pfitzmann et al. Strong loss tolerance of electronic coin systems
Huth Secure communicating systems: design, analysis, and implementation
EP0407465B1 (en) One-show blind signature systems
Brands Electronic Cash.
Bucerzan et al. Wallet key management in blockchain technology
Kassaras et al. Zkps: Does this make the cut? recent advances and success of zero-knowledge security protocols
Franklin et al. The blinding of weak signatures
Lueks Security and Privacy via Cryptography Having your cake and eating it too

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AM AT AU BB BG BR BY CA CH CN CZ DE DK EE ES FI GB GE HU JP KE KG KP KR KZ LK LR LT LU LV MD MG MN MW MX NL NO NZ PL PT RO RU SD SE SI SK TJ TT UA UZ VN

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): KE MW SD SZ AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 1995909503

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1995909503

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: CA

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWW Wipo information: withdrawn in national office

Ref document number: 1995909503

Country of ref document: EP