1. A method of using a machine to verify electronic payments generated by a customer using a private key, the machine including a memory storing instructions of the method in machine readable form, the method comprising: receiving from a bank a first set of k electronic verifiers for a first set of k electronic payments from the customer and a conversation key, each verifier allowing authentication of its associated electronic payment without revealing the private key; selecting from the verifiers a random subset of verifiers and storing only the random subset of verifiers; transmitting payment information to the customer for use in generating electronic payments; the payment information including an initializing payment and a first value of a payment index, each value of the payment index associating an electronic payment with a verifier; receiving a request from the customer and an electronic payment associated with a second value of the payment index; authenticating the electronic payment using one of the verifiers by: determining whether the electronic payment will be authenticated by searching the memory for a verifier having an associated value of the payment index matching the value of the payment index for the electronic payment, and comparing a first hash of a first string including the electronic payment to a verifier having an associated value of the payment index equal to the second value of the payment index; and responding to the request if the electronic payment is authenticated.