← Back to Patent Explorer
US5016274A Expired / Lapsed US ⏱️ 0.0 years remaining

On-line/off-line digital signing

Assignee: Individual
•
Filing: 1988-11-08
•
Granted: 1991-05-14
•
Expires: 2008-11-08
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method for "on-line/off-line" digital signing is described and begins by pre-computing a data string x from a pair of matching public and secret keys of a digital signature scheme such that, for any message m later selected to be signed, a signature of m derived from x can be computed substantially faster than the signature of m derived from the matching public and secret keys. After a message m is selected to be signed, the method computes a signature σ of the message m using the data string x. Because the method uses a two-stage approach to sign a message, the technique can be advantageously used to enhance the security of known digital signature schemes or to effect transaction processing using "smart" cards.

Inventors

  • 👤 Silvio Micali
  • 👤 Oded Goldreich
  • 👤 Shimon Even

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-25 10:54
CPC Classifications
G; G07; G07F; G07F7/00; G07F7/08; G07F7/10; G07F7/1008; G06; G06Q; G06Q20/00; G06Q20/30; G06Q20/34; G06Q20/341; G06Q20/36; G06Q20/367; G06Q20/3672; G06Q20/38; G06Q20/40; G06Q20/409; G06Q20/4097; G06Q20/40975; H; H04; H04L; H04L9/00; H04L9/30; H04L9/3006; H04L9/302; H04L9/32; H04L9/3247; H04L9/3249; H04L2209/00; H04L2209/56

Claims Analysis

Total Claims: 47
Claim 1
Independent Claim 155 words
A method for enabling a single signer to generate a digital signature of a message using first and second digital signature schemes, each of the digital signature schemes having a key generation algorithm for generating a pair of matching public and secret keys, a signing algorithm which uses the pair of matching public and secret keys to produce a signature with respect to the public key, and a verification algorithm for determining whether the signature produced by the signing algorithm is valid with respect to the public key, comprising the steps of: (a) computing a signature Σ of the public key pk of the first digital signature scheme using the signing algorithm S of the second digital signature scheme; and (b) computing a signature σ of the message using the signing algorithm s of the first digital signature scheme to generate a digital signature of the message, the digital signature comprising a data string (Σ,σ).
Claim 2
Independent Claim 155 words
A method for enabling a single signer to generate a digital signature of a message using first and second digital signature schemes, each of the digital signature schemes having a key generation algorithm for generating a pair of matching public and secret keys, a signing algorithm which uses the pair of matching public and secret keys to produce a signature with respect to the public key, and a verification algorithm for determining whether the signature produced by the signing algorithm is valid with respect to the public key, comprising the steps of: (a) computing a signature Σ of the public key pk of the first digital signature scheme using the signing algorithm S of the second digital signature scheme; and (b) computing a signature σ of the message using the signing algorithm s of the first digital signature scheme to generate a digital signature of the message, the digital signature comprising a data string (Σ,σ).
Claim 3
Dependent Claim 46 words
The method for generating a digital signature as described in claim 1 further including the steps of enriching the message with a data string to create an enriched message and applying a predetermined differentiating function H to the enriched message prior to computing the signature σ.
Claim 4
Dependent Claim 21 words
The method for generating a digital signature as described in claim 2 wherein the predetermined differentiating function is the identity function.
Claim 5
Dependent Claim 75 words
The method for generating a digital signature as described in claim 2 wherein the predetermined differentiating function is a hashing function and the data string includes one or more of the following: the public key pk, a hashed version of the public key pk, a hashed version of the public key pk enriched with a data string, the signature E, data identifying the signer, data identifying the date of signing, other data or no data.
Claim 6
Dependent Claim 37 words
The method for generating a digital signature as described in claim 1 further including the step of enriching the public key with a data string to create an enriched public key prior to computing the signature Σ.
Claim 7
Dependent Claim 40 words
The method for generating a digital signature as described in claim 1 wherein the first digital signature scheme is a one-time scheme having a one-time key generation algorithm g, a one-time signing algorithm s and a one-time verification algorithm v.
Claim 8
Independent Claim 214 words
A method for generating and verifying digital signatures using one or more one-time digital signature schemes and a second digital signature scheme, each of the digital signature schemes having a key generation algorithm for generating a pair of matching public and secret keys, a signing algorithm which uses the pair of matching public and secret keys to produce a signature with respect to the public key, and a verification algorithm for determining whether the signature produced by the signing algorithm is valid with respect to the public key, comprising the steps of: (a) computing a signature Σ of the public key pk of one of the one-time digital signature schemes using the signing algorithm S of the second digital signature scheme; (b) storing a data string in a storage area, the data string comprising a pre-computed signature which includes the signature Σ of the public key pk of the one-time digital signature scheme; (c) selecting a message m to be signed; (d) differentiating the message using a predetermined differentiating function H to generate a mapped message; (e) computing a signature s of the mapped message using the signing algorithm s of the one-time digital signature scheme used in step (a); and (f) generating a data string (S,s) representing a signature of the message m.
Claim 9
Independent Claim 214 words
A method for generating and verifying digital signatures using one or more one-time digital signature schemes and a second digital signature scheme, each of the digital signature schemes having a key generation algorithm for generating a pair of matching public and secret keys, a signing algorithm which uses the pair of matching public and secret keys to produce a signature with respect to the public key, and a verification algorithm for determining whether the signature produced by the signing algorithm is valid with respect to the public key, comprising the steps of: (a) computing a signature Σ of the public key pk of one of the one-time digital signature schemes using the signing algorithm S of the second digital signature scheme; (b) storing a data string in a storage area, the data string comprising a pre-computed signature which includes the signature Σ of the public key pk of the one-time digital signature scheme; (c) selecting a message m to be signed; (d) differentiating the message using a predetermined differentiating function H to generate a mapped message; (e) computing a signature s of the mapped message using the signing algorithm s of the one-time digital signature scheme used in step (a); and (f) generating a data string (S,s) representing a signature of the message m.
Claim 10
Dependent Claim 35 words
The method for generating and verifying digital signatures as described in claim 7 further including the step of: (g) steps (a)-(f) using a different one-time digital signature scheme for each message selected to be signed.
Claim 11
Dependent Claim 103 words
The method for generating and verifying digital signatures as described in claim 7 further including the steps of: (h) using the verification algorithm V of the second digital signature scheme to determine whether the signature Σ is the signature of the public key pk in the one-time digital signature scheme; (i) if the signature Σ is the signature of the public key pk, using the predetermined differentiating function to generate the mapped message; and (j) using verification algorithm v of the one-time digital signature scheme used in step (a) to verify that the signature σ is the one-time signature of the mapped message.
Claim 12
Dependent Claim 28 words
The method for generating and verifying digital signatures as described in claim 7 wherein the pre-computed signature includes the secret key sk of the one-time digital signature scheme.
Claim 13
Independent Claim 207 words
A method for generating digital signatures using a one-time digital signature scheme and a second digital signature scheme, each of the digital signature schemes having a key generation algorithm for generating a pair of matching public and secret keys, a signing algorithm which uses the pair of matching public and secret keys to produce a signature with respect to the public key, and a verification algorithm for determining whether the signature produced by the signing algorithm is valid with respect to the public key, comprising the steps of: (a) enriching the public key pk of the one-time signature scheme and using a predetermined differentiating function H' to map the enriched public key into a data string H'(pk); (b) computing a signature Σ of the data string H'(pk) using the signing algorithm S of the second digital signature scheme; (c) selecting a message m to be signed; (d) enriching the message and using a predetermined differentiating function H to map the enriched message and the data string H'(pk) into a data string H(m,H'(pk)); (e) computing a signature σ of the data string H(m,H'(pk)) using the signing algorithm s of the one-time digital signature scheme; and (f) generating a data string (Σ,σ) representing a signature of the message m.
Claim 14
Independent Claim 207 words
A method for generating digital signatures using a one-time digital signature scheme and a second digital signature scheme, each of the digital signature schemes having a key generation algorithm for generating a pair of matching public and secret keys, a signing algorithm which uses the pair of matching public and secret keys to produce a signature with respect to the public key, and a verification algorithm for determining whether the signature produced by the signing algorithm is valid with respect to the public key, comprising the steps of: (a) enriching the public key pk of the one-time signature scheme and using a predetermined differentiating function H' to map the enriched public key into a data string H'(pk); (b) computing a signature Σ of the data string H'(pk) using the signing algorithm S of the second digital signature scheme; (c) selecting a message m to be signed; (d) enriching the message and using a predetermined differentiating function H to map the enriched message and the data string H'(pk) into a data string H(m,H'(pk)); (e) computing a signature σ of the data string H(m,H'(pk)) using the signing algorithm s of the one-time digital signature scheme; and (f) generating a data string (Σ,σ) representing a signature of the message m.
Claim 15
Dependent Claim 34 words
A method for generating digital signatures as described in claim 11 further including the step of: (g) repeating steps (a)-(f) using a different one-time digital signature scheme for each message selected to be signed.
Claim 16
Independent Claim 240 words
A method for enhancing the security of a known digital signature scheme which may be subject to an adaptive chosen plaintext attack, the known digital signature scheme having a key generation algorithm G for generating a pair of matching public and secret keys (PK,SK), a signing algorithm S which uses the pair of matching public and secret keys to produce a signature with respect to the public key PK, and a verification algorithm V for determining whether the signature produced by the signing algorithm is valid with respect to the public key PK, comprising the steps of: (a) running a key generation algorithm g of a one-time digital signature scheme to generate a one-time public key pk and its associated one-time secret key sk; (b) computing a signature S of the public key pk of the one-time digital signature scheme using the signing algorithm S of the known digital signature scheme; (c) storing a data string in a storage area, the data string comprising a pre-computed signature which includes the signature S of the public key pk of the one-time digital signature scheme; (d) selecting a message m to be signed; (e) differentiating the message using a predetermined differentiating function H to generate an enriched message; (f) computing a signature s of the enriched message using the signing algorithm s of the one-time digital signature scheme; and (g) generating a data string (S,s) representing a signature of the message m.
Claim 17
Independent Claim 240 words
A method for enhancing the security of a known digital signature scheme which may be subject to an adaptive chosen plaintext attack, the known digital signature scheme having a key generation algorithm G for generating a pair of matching public and secret keys (PK,SK), a signing algorithm S which uses the pair of matching public and secret keys to produce a signature with respect to the public key PK, and a verification algorithm V for determining whether the signature produced by the signing algorithm is valid with respect to the public key PK, comprising the steps of: (a) running a key generation algorithm g of a one-time digital signature scheme to generate a one-time public key pk and its associated one-time secret key sk; (b) computing a signature S of the public key pk of the one-time digital signature scheme using the signing algorithm S of the known digital signature scheme; (c) storing a data string in a storage area, the data string comprising a pre-computed signature which includes the signature S of the public key pk of the one-time digital signature scheme; (d) selecting a message m to be signed; (e) differentiating the message using a predetermined differentiating function H to generate an enriched message; (f) computing a signature s of the enriched message using the signing algorithm s of the one-time digital signature scheme; and (g) generating a data string (S,s) representing a signature of the message m.
Claim 18
Dependent Claim 31 words
The method for enhancing the security of a known digital signature scheme as described in claim 13 wherein the known digital signature scheme is the Rivest, Shamir and Adleman (RSA) scheme.
Claim 19
Independent Claim 92 words
A method for on-line/off-line digital signing, comprising the steps of: (a) pre-computing a data string x from a pair of matching public and secret keys of a digital signature scheme such that, for any message m later selected to be signed, a signature of the message m derived from x can be computed substantially faster than the signature of the message m derived from the matching Public and secret keys; (b) selecting a message m to be signed; (c) computing a signature σ of the message m using the data string x.
Claim 20
Independent Claim 92 words
A method for on-line/off-line digital signing, comprising the steps of: (a) pre-computing a data string x from a pair of matching public and secret keys of a digital signature scheme such that, for any message m later selected to be signed, a signature of the message m derived from x can be computed substantially faster than the signature of the message m derived from the matching Public and secret keys; (b) selecting a message m to be signed; (c) computing a signature σ of the message m using the data string x.
Claim 21
Dependent Claim 22 words
The method for on-line/off-line signing as described in claim 15 wherein steps (a) and (c) are carried out by the same signer.
Claim 22
Dependent Claim 24 words
The method for on-line/off-line signing as described in claim 16 wherein each data string includes a different Pair of matching public and secret keys.
Claim 23
Dependent Claim 22 words
The method for on-line/off-line signing as described in claim 15 wherein steps (a) and (c) are carried out by a different signer.
Claim 24
Dependent Claim 28 words
The method for on-line/off-line signing as described in claim 15 wherein step (a) is run to generate a new data string for each message m to be signed.
Claim 25
Independent Claim 199 words
A method for generating a digital signature of a message using first and second digital signature schemes, each of the digital signature schemes having a key generation algorithm, a signing algorithm and a verification algorithm, comprising the steps of: (a) running the key generation algorithm g of the first digital signature scheme to generate a plurality of public keys and their associated secret keys; (b) computing a signature Σ of the plurality of public keys of the first digital signature scheme using the signing algorithm S of the second digital signature scheme; (c) storing a data string in a storage area, the data string comprising a pre-computed signature which includes the signature E of the plurality of public keys of the first digital signature scheme; (d) selecting a message m to be signed; (e) using a predetermined differentiating function H to map the message into a data string H(m); (f) computing a signature σ of the data string H(m) with respect to one of the public keys pk of the first digital signature scheme using the signing algorithm s of the first digital signature scheme; and (g) generating a data string (Σ,σ) representing a signature of the message m.
Claim 26
Independent Claim 199 words
A method for generating a digital signature of a message using first and second digital signature schemes, each of the digital signature schemes having a key generation algorithm, a signing algorithm and a verification algorithm, comprising the steps of: (a) running the key generation algorithm g of the first digital signature scheme to generate a plurality of public keys and their associated secret keys; (b) computing a signature Σ of the plurality of public keys of the first digital signature scheme using the signing algorithm S of the second digital signature scheme; (c) storing a data string in a storage area, the data string comprising a pre-computed signature which includes the signature E of the plurality of public keys of the first digital signature scheme; (d) selecting a message m to be signed; (e) using a predetermined differentiating function H to map the message into a data string H(m); (f) computing a signature σ of the data string H(m) with respect to one of the public keys pk of the first digital signature scheme using the signing algorithm s of the first digital signature scheme; and (g) generating a data string (Σ,σ) representing a signature of the message m.
Claim 27
Dependent Claim 34 words
The method for generating a digital signature as described in claim 20 wherein steps (d)-(g) are repeated using a different public key of the first digital signature scheme for each message to be signed.
Claim 28
Dependent Claim 29 words
The method for generating a digital signature as described in claim 20 further including the step of hashing the plurality of Public keys prior to comPuting the signature Σ.
Claim 29
Dependent Claim 29 words
The method for generating a digital signature as described in claim 22 wherein the data string includes the plurality of public keys to enable verification of the signature σ.
Claim 30
Independent Claim 133 words
A method for generating a one-time digital signature of a message ready to be signed, the message having a length n, comprising the steps of: (a) selecting a predetermined one-way function f which can be composed with itself; (b) generating k randomly-selected input strings as a one-time secret key, where the number of input strings k is less than the length n of the message; (c) applying the one-way function f to the input strings of the one-time secret key to generate a one-time public key corresponding to the one-time secret key; and (d) applying the one-way function f to the input strings of the secret key a predetermined number of times x, where x is polynomial in n, to generate a one-time signature of the message relative to the one-time public key.
Claim 31
Independent Claim 133 words
A method for generating a one-time digital signature of a message ready to be signed, the message having a length n, comprising the steps of: (a) selecting a predetermined one-way function f which can be composed with itself; (b) generating k randomly-selected input strings as a one-time secret key, where the number of input strings k is less than the length n of the message; (c) applying the one-way function f to the input strings of the one-time secret key to generate a one-time public key corresponding to the one-time secret key; and (d) applying the one-way function f to the input strings of the secret key a predetermined number of times x, where x is polynomial in n, to generate a one-time signature of the message relative to the one-time public key.
Claim 32
Dependent Claim 27 words
The method for generating a one-time digital signature as described in claim 24 wherein the input strings of the one-time secret key are selected in psuedo-random manner.
Claim 33
Independent Claim 205 words
A method for generating a one-time digital signature of a message ready to be signed, the message having a length n which is less than or equal to the product (ek) where e and k are integers, comprising the steps of: (a) selecting a predetermined one-way function f which can be composed with itself; (b) generating a sequence of randomly-selected inputs r 1 , . . . , r k+1 as a one-time secret key; (c) using the predetermined one-way function f and the one-time secret key to generate a sequence s 1 , . . . , s k+1 as a one-time public key, where s.sub.i =f.sup.2.spsp.e (r.sub.i) for i=0, . . . , k and s.sub.k+1 =f.sup.k·2.spsp.e (r.sub.k+1); (d) selecting a message m to be signed; (e) dividing the message m into k segments to obtain k e-bit strings m 1 , . . . , m k , each of the strings being an integer between 0 and 2 e ; and (f) generating a one-time signature of the message m comprising the sequence σ 1 , . . . , σ k+1 , where σ.sub.i =f.sup.-m i(S.sub.i) for i=0, . . . , k and σ.sub.k+1 =f.sup.-(k·2.spsp.e.sup.-(m.sbsp.1.sup.+. . . +m.sbsp.k.sup.)) (s.sub.k+1).
Claim 34
Independent Claim 205 words
A method for generating a one-time digital signature of a message ready to be signed, the message having a length n which is less than or equal to the product (ek) where e and k are integers, comprising the steps of: (a) selecting a predetermined one-way function f which can be composed with itself; (b) generating a sequence of randomly-selected inputs r 1 , . . . , r k+1 as a one-time secret key; (c) using the predetermined one-way function f and the one-time secret key to generate a sequence s 1 , . . . , s k+1 as a one-time public key, where s.sub.i =f.sup.2.spsp.e (r.sub.i) for i=0, . . . , k and s.sub.k+1 =f.sup.k·2.spsp.e (r.sub.k+1); (d) selecting a message m to be signed; (e) dividing the message m into k segments to obtain k e-bit strings m 1 , . . . , m k , each of the strings being an integer between 0 and 2 e ; and (f) generating a one-time signature of the message m comprising the sequence σ 1 , . . . , σ k+1 , where σ.sub.i =f.sup.-m i(S.sub.i) for i=0, . . . , k and σ.sub.k+1 =f.sup.-(k·2.spsp.e.sup.-(m.sbsp.1.sup.+. . . +m.sbsp.k.sup.)) (s.sub.k+1).
Claim 35
Dependent Claim 94 words
A card for use in effecting transactions, comprising: a body portion; a memory within said body portion for storing a data string x pre-computed from a pair of matching public and secret keys of a digital signature scheme such that, for any message m later selected to be signed, a signature of the message m derived from x can be computed substantially faster than the signature of the message m derived from the matching public and secret keys; and means for computing a signature s of the message m using the data string x.
Claim 36
Dependent Claim 94 words
A card for use in effecting transactions, comprising: a body portion; a memory within said body portion for storing a data string x pre-computed from a pair of matching public and secret keys of a digital signature scheme such that, for any message m later selected to be signed, a signature of the message m derived from x can be computed substantially faster than the signature of the message m derived from the matching public and secret keys; and means for computing a signature s of the message m using the data string x.
Claim 37
Dependent Claim 79 words
A card for use in effecting transactions, comprising: a body portion; a memory within said body portion for storing a signature Σ, the signature Σ being the digital signature of a public key pk of a first digital signature scheme derived by a signing algorithm S of a second digital signature scheme; and means within the body portion for computing a signature σ of a transaction data message using a signing algorithm s of the first digital signature scheme.
Claim 38
Dependent Claim 79 words
A card for use in effecting transactions, comprising: a body portion; a memory within said body portion for storing a signature Σ, the signature Σ being the digital signature of a public key pk of a first digital signature scheme derived by a signing algorithm S of a second digital signature scheme; and means within the body portion for computing a signature σ of a transaction data message using a signing algorithm s of the first digital signature scheme.
Claim 39
Independent Claim 138 words
A system for allowing authorized users of transaction cards to effect transactions via at least one transaction terminal, comprising: a plurality of said cards, each of the cards having a memory for storing a data string x pre-computed from a pair of matching public and secret keys of a digital signature scheme such that, for any message m later selected to be signed, a signature of the message m derived from x can be computed substantially faster than the signature of the message m derived from the matching public and secret keys, each card further including means for computing a signature s of the message m using the data string x; and at least one transaction terminal having means for communicating with the card and for receiving the signature s of the message m computed by the card.
Claim 40
Independent Claim 138 words
A system for allowing authorized users of transaction cards to effect transactions via at least one transaction terminal, comprising: a plurality of said cards, each of the cards having a memory for storing a data string x pre-computed from a pair of matching public and secret keys of a digital signature scheme such that, for any message m later selected to be signed, a signature of the message m derived from x can be computed substantially faster than the signature of the message m derived from the matching public and secret keys, each card further including means for computing a signature s of the message m using the data string x; and at least one transaction terminal having means for communicating with the card and for receiving the signature s of the message m computed by the card.
Claim 41
Dependent Claim 29 words
The system for allowing authorized users of transaction cards to effect transactions as described in claim 29 wherein the transaction terminal further includes means for generating the message m.
Claim 42
Independent Claim 140 words
A system for allowing authorized users of transaction cards to effect transactions via at least one transaction terminal, comprising: a plurality of said transaction cards, each of the cards having stored therein a signature Σ representing the digital sign of a public key pk of a first digital signature scheme derived by a signing algorithm S of a second digital signature scheme, each of the cards further including means for computing a signature σ of a transaction data message using a signing algorithm s of the first digital signature scheme and means for storing a data string (Σ,σ); and at least one transaction terminal having means for receiving a card inserted into the transaction terminal, means for communicating with the card inserted into the terminal and means for receiving the signature σ of the message m computed by the card.
Claim 43
Independent Claim 140 words
A system for allowing authorized users of transaction cards to effect transactions via at least one transaction terminal, comprising: a plurality of said transaction cards, each of the cards having stored therein a signature Σ representing the digital sign of a public key pk of a first digital signature scheme derived by a signing algorithm S of a second digital signature scheme, each of the cards further including means for computing a signature σ of a transaction data message using a signing algorithm s of the first digital signature scheme and means for storing a data string (Σ,σ); and at least one transaction terminal having means for receiving a card inserted into the transaction terminal, means for communicating with the card inserted into the terminal and means for receiving the signature σ of the message m computed by the card.
Claim 44
Dependent Claim 101 words
A terminal for loading data into transaction cards to be used with at least one transaction terminal, each card having a memory therein, comprising: means for computing a data string x pre-computed from a pair of matching public and secret keys of a digital signature scheme such that, for any message m later selected to be signed, a signature of the message m derived from x can be computed substantially faster than the signature of the message m derived from the matching public and secret keys; and means for storing the data string x in the memory of an transaction card.
Claim 45
Dependent Claim 101 words
A terminal for loading data into transaction cards to be used with at least one transaction terminal, each card having a memory therein, comprising: means for computing a data string x pre-computed from a pair of matching public and secret keys of a digital signature scheme such that, for any message m later selected to be signed, a signature of the message m derived from x can be computed substantially faster than the signature of the message m derived from the matching public and secret keys; and means for storing the data string x in the memory of an transaction card.
Claim 46
Dependent Claim 66 words
A terminal for loading data into transaction cards to be used with at least one transaction terminal, each card having a memory therein, comprising: means for computing a signature Σ of the public key pk of a first digital signature scheme using the signing algorithm S of a second digital signature scheme; and means for storing the signature Σ in the memory of an transaction card.
Claim 47
Dependent Claim 66 words
A terminal for loading data into transaction cards to be used with at least one transaction terminal, each card having a memory therein, comprising: means for computing a signature Σ of the public key pk of a first digital signature scheme using the signing algorithm S of a second digital signature scheme; and means for storing the signature Σ in the memory of an transaction card.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1994-05-13 1994-11-12 1995-05-14 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 1998-05-13 1998-11-12 1999-05-14 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2002-05-13 2002-11-12 2003-05-14 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag