System and method for generating unique secure values for digitally signing documents
First Claim
1. A method of digitally signing a specified document, comprising the steps of:
- receiving a private key associated with a person or entity signing the document;
generating a digest of the specified document using a predefined one-way hash function;
generating a pseudo-random key, k, including combining the document digest with at least one other value in accordance with a predefined computational procedure; and
generating a digital signature for the specified document as a predefined function of the private key, the document digest, and the pseudo-random key k;
wherebya distinct pseudo-random key is generated for each distinct specified document; and
for a given value of the private key, a distinct digital signature is generated for each distinct specified document.
3 Assignments
0 Petitions
Accused Products
Abstract
A document is digitally signed with a digital signature that is unique to the signer/document pair. A document digest is generated by applying a predefined one-way hash function to the document. A pseudo-random key is generated by combining the document digest with at least one other value in accordance with a predefined computational procedure. The digital signature is then generated as a predefined function of the private key, the document digest, and the pseudo-random key k. A distinct pseudo-random key is generated for each distinct specified document, and for a given value of the private key, a distinct digital signature is generated for each distinct specified document. In a preferred embodiment the pseudo-random key generating step includes combining the document digest with a value corresponding to the private key to generate an intermediate value, and hashing the intermediate value with the predefined one-way hash function to generate the pseudo-random key k. In another preferred embodiment the pseudo-random key generating step includes hashing the private key with the predefined one-way hash function to generate a first intermediate value, combining the document digest with a value corresponding to the first intermediate value and an ancillary secret value to generate a second intermediate value, and hashing the second intermediate value with the predefined one-way hash function to generate the pseudo-random key k.
78 Citations
15 Claims
-
1. A method of digitally signing a specified document, comprising the steps of:
-
receiving a private key associated with a person or entity signing the document; generating a digest of the specified document using a predefined one-way hash function; generating a pseudo-random key, k, including combining the document digest with at least one other value in accordance with a predefined computational procedure; and generating a digital signature for the specified document as a predefined function of the private key, the document digest, and the pseudo-random key k; whereby a distinct pseudo-random key is generated for each distinct specified document; and for a given value of the private key, a distinct digital signature is generated for each distinct specified document. - View Dependent Claims (2)
-
-
3. A method of digitally signing a specified document, comprising the steps of:
-
receiving a private key associated with a person or entity signing the document; generating a digest of the specified document using a predefined one-way hash function; generating a pseudo-random key, k, including combining the document digest with a value corresponding to the private key to generate an intermediate value, and hashing the intermediate value with the predefined one-way hash function to generate the pseudo-random key k; and generating a digital signature for the specified document as a predefined function of the private key, the document digest, and the pseudo-random key k; whereby a distinct pseudo-random key is generated for each distinct specified document; and for a given value of the private key, a distinct digital signature is generated for each distinct specified document.
-
-
4. A method of digitally signing a specified document, comprising the steps of:
-
receiving a private key associated with a person or entity signing the document; generating a digest of the specified document using a predefined one-way hash function; generating a pseudo-random key, k, including; hashing the private key with the predefined one-way hash function to generate a first intermediate value; combining the document digest with a value corresponding to the first intermediate value and an ancillary secret value to generate a second intermediate value, and hashing the second intermediate value with the predefined one-way hash function to generate the pseudo-random key k; and generating a digital signature for the specified document as a predefined function of the private key, the document digest, and the pseudo-random key k; whereby a distinct pseudo-random key is generated for each distinct specified document; and for a given value of the private key, a distinct digital signature is generated for each distinct specified document.
-
-
5. A method of digitally signing a specified document, comprising the steps of:
-
receiving a private key associated with a person or entity signing the document; generating a digest of the specified document using a predefined one-way hash function; generating a pseudo-random key, k, including; hashing the private key with the predefined one-way hash function to generate a first intermediate value; combining the document digest with a value corresponding to the first intermediate value and an ancillary secret value to generate a second intermediate value; hashing the second intermediate value with the predefined one-way hash function to generate a seed key value; and performing a predefined pseudo-random key generation procedure, using the generated seed key value as an input thereto, to generate the pseudo-random key k; and generating a digital signature for the specified document as a predefined function of the private key, the document digest, and the pseudo-random key k; whereby a distinct pseudo-random key is generated for each distinct specified document; and for a given value of the private key, a distinct digital signature is generated for each distinct specified document.
-
-
6. A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising:
-
a one-way hash procedure for generating a digest of a specified document; pseudo-random key generation instructions, including instructions for combining the document digest with at least one other value in accordance with a predefined computational methodology to generate a pseudo-random key k; and digital signature generation instructions for generating a digital signature for the specified document as a predefined function of a private key, the document digest, and the pseudo-random key k;
wherein the private key is associated with a person or entity signing the specified document;whereby a distinct pseudo-random key is generated for each distinct specified document; and for a given value of the private key, a distinct digital signature is generated for each distinct specified document. - View Dependent Claims (7)
-
-
8. A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising:
-
a one-way hash procedure for generating a digest of a specified document; pseudo-random key generation instructions, including instructions for combining the document digest with a value corresponding to the private key to generate an intermediate value, and hashing the intermediate value with the predefined one-way hash function to generate the pseudo-random key k; and digital signature generation instructions for generating a digital signature for the specified document as a predefined function of a private key, the document digest, and the pseudo-random key k;
wherein the private key is associated with a person or entity signing the specified document;whereby a distinct pseudo-random key is generated for each distinct specified document; and for a given value of the private key, a distinct digital signature is generated for each distinct specified document.
-
-
9. A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising:
-
a one-way hash procedure for generating a digest of a specified document; pseudo-random key generating instructions, including instructions for; hashing the private key with the predefined one-way hash function to generate a first intermediate value; combining the document digest with a value corresponding to the first intermediate value and an ancillary secret value to generate a second intermediate value, and hashing the second intermediate value with the predefined one-way hash function to generate the pseudo-random key k; and digital signature generation instructions for generating a digital signature for the specified document as a predefined function of a private key, the document digest, and the pseudo-random key k;
wherein the private key is associated with a person or entity signing the specified document;whereby a distinct pseudo-random key is generated for each distinct specified document; and for a given value of the private key, a distinct digital signature is generated for each distinct specified document.
-
-
10. A computer program product for use in conjunction with a computer system, the computer program product comprising a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising:
-
a one-way hash procedure for generating a digest of a specified document; pseudo-random key generating instructions, including instructions for; hashing the private key with the predefined one-way hash function to generate a first intermediate value; combining the document digest with a value corresponding to the first intermediate value and an ancillary secret value to generate a second intermediate value; hashing the second intermediate value with the predefined one-way hash function to generate a seed key value; and performing a predefined pseudo-random key generation procedure, using the generated seed key value as an input thereto, to generate the pseudo-random key k; and digital signature generation instructions for generating a digital signature for the specified document as a predefined function of a private key, the document digest, and the pseudo-random key k;
wherein the private key is associated with a person or entity signing the specified document;whereby a distinct pseudo-random key is generated for each distinct specified document; and for a given value of the private key, a distinct digital signature is generated for each distinct specified document.
-
-
11. A system for digitally signing a specified document, comprising:
-
means for receiving a private key associated with a person or entity signing the document; means for generating a digest of the specified document using a predefined one-way hash function; means for generating a pseudo-random key, k, including combining the document digest with at least one other value in accordance with a predefined computational procedure; and means for generating a digital signature for the specified document as a predefined function of the private key, the document digest, and the pseudo-random key k; whereby a distinct pseudo-random key is generated for each distinct specified document; and for a given value of the private key, a distinct digital signature is generated for each distinct specified document. - View Dependent Claims (12)
-
-
13. A system for digitally signing a specified document, comprising:
-
means for receiving a private key associated with a person or entity signing the document; means for generating a digest of the specified document using a predefined one-way hash function; means for generating a pseudo-random key, k, including means for combining the document digest with a value corresponding to the private key to generate an intermediate value, and hashing the intermediate value with the predefined one-way hash function to generate the pseudo-random key k; and means for generating a digital signature for the specified document as a predefined function of the private key, the document digest, and the pseudo-random key k; whereby a distinct pseudo-random key is generated for each distinct specified document; and for a given value of the private key, a distinct digital signature is generated for each distinct specified document.
-
-
14. A system for digitally signing a specified document, comprising:
-
means for receiving a private key associated with a person or entity signing the document; means for generating a digest of the specified document using a predefined one-way hash function; means for generating a pseudo-random key, k, including means for hashing the private key with the predefined one-way hash function to generate a first intermediate value, and combining the document digest with a value corresponding to the first intermediate value and an ancillary secret value to generate a second intermediate value, and hashing the second intermediate value with the predefined one-way hash function to generate the pseudo-random key k; and means for generating a digital signature for the specified document as a predefined function of the private key, the document digest, and the pseudo-random key k; whereby a distinct pseudo-random key is generated for each distinct specified document; and for a given value of the private key, a distinct digital signature is generated for each distinct specified document.
-
-
15. A system for digitally signing a specified document, comprising:
-
means for receiving a private key associated with a person or entity signing the document; means for generating a digest of the specified document using a predefined one-way hash function; means for generating a pseudo-random key, k, including combining the document digest with at least one other value in accordance with a predefined computational procedure; and means for generating a pseudo-random key, k, including means for; hashing the private key with the predefined one-way hash function to generate a first intermediate value; combining the document digest with a value corresponding to the first intermediate value and an ancillary secret value to generate a second intermediate value; hashing the second intermediate value with the predefined one-way hash function to generate a seed key value; and performing a predefined pseudo-random key generation procedure, using the generated seed key value as an input thereto, to generate the pseudo-random key k; and means for generating a digital signature for the specified document as a predefined function of the private key, the document digest, and the pseudo-random key k; whereby a distinct pseudo-random key is generated for each distinct specified document; and for a given value of the private key, a distinct digital signature is generated for each distinct specified document.
-
Specification