Patent ID: 7730319

Claim:
A method comprising: computing, by a computer system, a signature based on a first secret seed and a second secret seed, where computing the signature comprises generating a first value x i using the first secret seed, generating a second value c i using the second secret seed, and computing the signature Sig i =Sig((g x i h i c i ,h i )), where g is a generator point, h i is a value derived from g x i , and providing the signature Sig i and h i to a server; subsequent to computing the signature Sig i , creating, by the computer system, a provisional signature by performing an operation on a message, wherein creating the provisional signature comprises identifying a third value r i that satisfies the following g m i h i r i =g x i h i c i , where m i is the message; and outputting, by the computer system, the third value r i as the provisional signature to cause the server to complete the provisional signature and to thereby create a final signature (Sig i , h i , m i , r i ) on the message.