Patent ID: 7814320

Claim:
A computer-implemented method for performing a cryptographic authentication in which a first computer system proves a knowledge of a password value π to a second computer system, the method comprising the first computer system performing the following operations: (1) the first computer system executing a protocol in cooperation with the second computer system for proving to at least one of the first and second computer systems that the other one of the first and second computer systems knows a predefined function of the password value π, the first computer system generating a cryptographic key K′ using data used in said protocol; (2) receiving, at the first computer system, a first value over the network, the first value purporting to incorporate an encryption of a signing key sk which corresponds to a predefined verification key pk, the encryption being obtainable by: (2A) a first encryption method encrypting the signing key to a first encrypted value c under a key dependent on the password value π, wherein the first encryption method does not consist of a one-time pad under a key independent of sk; and (2B) a second encryption method encrypting the first encrypted value c to a second encrypted value using said cryptographic key K′; (3) applying a decryption method to the first value to obtain the signing key; (4) generating, by the first computer system, a digital signature on a message with the signing key obtained in the operation (3); and (5) sending, by the first computer system, data incorporating the digital signature to the second computer system, to allow the second computer system to verify the digital signature by using the verification key pk; wherein the first encrypted value c comprises: a first portion decryptable to the signing key sk; and a verification portion for verifying the signing key sk, wherein the operation (3) comprises, by the first computer system, using the verification portion to verify the signing key sk, and indicating an authentication failure and omitting the operation (5) if the verifying of the signing key sk indicates that the signing key sk is invalid.