IP Library Granted Patent US 9,300,472
Granted Patent B2
US 9,300,472 · App. 13/249,710 · Granted Mar 29, 2016

Method and apparatus for improving digital signatures

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,300,472
App. No.
13/249,710
Granted
Mar 29, 2016
Kind
B2
Abstract

Systems and methods are provided for enchancing pseudo random number generation to thwart various security attacks to a system that relies on digital signature security measures. For example, a random number may be bound to a message that is to be signed using a digital signature. Alternatively, a random number may be bound to a secret seed value, which may be updated subsequent to each signing. Alternatively still, a random number may be bound to both the message to be signed using a digital signature and a secret seed value.

Claims (60)

1. A method, comprising:

selecting a random number (rand);

enhancing the rand,

wherein the enhancing of the rand comprises binding the rand with the at least one of the message or document and with a secret seed value (seed),

wherein the binding comprises:

computing a function relative to the at least one of the message or document, the function being represented by the following formula: f(M); and

computing the rand 1 , the rand 1 being represented by the following formula: rand 1 ==g(rand, f(M), seed), wherein g comprises a one-way function, or

reading the seed from a secure memory unit; and

computing the rand 1 , the rand 1 being represented by the following formula: rand 1 =g(rand, seed), wherein g comprises a one-way function; and

deriving a digital signature based at least in part, upon the enhanced random number (rand 1 ), for signing at least one of a message or document transceived by at least one device,

the enhanced random number utilized in setting an r-component of the digital signature such that the r-component of the digital signature is different than each of one or more other r-components of each of one or more other digital signatures.

2. The method of claim 1 , wherein the enhancing of the rand comprises binding the rand with the at least one of the message or document.

3. The method of claim 2 , wherein the binding comprises:

computing a function relative to the at least one of the message or document, the function being represented by the following formula: f(M); and

computing the rand 1 , the rand 1 being represented by the following formula: rand 1 =g(rand, f(M)), wherein g comprises a one-way function.

4. The method of claim 1 , wherein the enhancing of the rand comprises binding the rand with a secret seed value (seed).

5. The method of claim 4 , wherein the binding comprises:

reading the seed from a secure memory unit; and

computing the rand 1 , the rand 1 being represented by the following formula: rand 1 =g(rand, seed), wherein g comprises a one-way function.

6. The method of claim 1 , wherein the enhancing of the rand comprises binding the rand with at least a secret seed value (seed), the seed being updated subsequent to the signing of the at least one of the message or document.

7. The method of claim 6 , further comprising:

adding a counter value into the seed; and

storing a new seed in a memory unit.

8. A non-transitory computer-readable medium including computer executable instructions stored thereon, the computer executable instructions, which when executed by a processor, cause an apparatus to:

select a random number (rand);

enhance the rand,

wherein causing the apparatus to perform the enhancing of the rand further comprises computer executable instructions, which when executed by a processor, cause an apparatus to bind the rand with the at least one of the message or document and with a secret seed value (seed),

wherein causing the apparatus to bind further computer executable instructions, which when executed by a processor, cause an apparatus to:

compute a function relative to the at least one of the message or document, the function being represented by the following formula: f(M); and

compute the rand 1 , the rand 1 being represented by the following formula: rand 1 =g(rand, f(M), seed), wherein g comprises a one-way function, or

read the seed from a secure memory unit; and

compute the rand 1 , the rand 1 being represented by the following formula: rand 1 =g(rand, seed), wherein g comprises a one-way function; and

derive a digital signature based at least in part, upon the enhanced random number (rand 1 ), for signing at least one of a message or document transceived by the apparatus,

the enhanced random number utilized in setting an r-component of the digital signature such that the r-component of the digital signature is different than each of one or more other r-components of each of one or more other digital signatures.

9. An apparatus, comprising:

at least one processor, and

at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus to perform at least the following:

select a random number (rand);

enhance the rand,

wherein causing the apparatus to perform the enhancing of the rand comprises the at least one memory, the computer program code, and the at least one processor to cause the apparatus to bind the rand with the at least one of the message or document and with a secret seed value (seed),

wherein causing the apparatus to bind comprises the at least one memory, the computer program code, and the at least one processor causing the apparatus to:

compute a function relative to the at least one of the message or document, the function being represented by the following formula: f(M); and

compute the rand 1 , the rand 1 being represented by the following formula: rand 1 =g(rand, f(M), seed), wherein g comprises a one-way function, or

read the seed from a secure memory unit; and

compute the rand 1 , the rand 1 being represented by the following formula: rand 1 =g(rand, seed), wherein g comprises a one-way function; and

derive a digital signature based at least in part, upon the enhanced random number (rand 1 ), for signing at least one of a message or document transceived by the apparatus,

the enhanced random number utilized in setting an r-component of the digital signature such that the r-component of the digital signature is different than each of one or more other r-components of each of one or more other digital signatures.

10. The apparatus of claim 9 , wherein causing the apparatus to perform the enhancing of the rand comprises the at least one memory, the computer program code, and the at least one processor causing the apparatus to bind the rand with the at least one of the message or document.

11. The apparatus of claim 10 , wherein causing the apparatus to bind comprises the at least one memory, the computer program code, and the at least one processor causing the apparatus to:

compute a function relative to the at least one of the message or document, the function being represented by the following formula: f(M); and

compute the rand 1 , the rand 1 being represented by the following formula: rand 1 =g(rand, f(M)), wherein g comprises a one-way function.

12. The apparatus of claim 9 , wherein causing the apparatus to perform the enhancing of the rand comprises the at least one memory, the computer program code, and the at least one processor causing the apparatus to bind the rand with a secret seed value (seed).

13. The apparatus of claim 12 , wherein causing the apparatus to bind comprises the at least one memory, the computer program code, and the at least one processor causing the apparatus to:

read the seed from a secure memory unit; and

compute the rand 1 , the rand 1 being represented by the following formula: rand 1 =g(rand, seed), wherein g comprises a one-way function.

14. The apparatus of claim 9 , wherein causing the apparatus to perform the enhancing of the rand comprises the at least one memory, the computer program code, and the at least one processor causing the apparatus to bind the rand with at least a secret seed value (seed), the seed being updated subsequent to the signing of the at least one of the message or document.

15. The apparatus of claim 14 , wherein the at least one memory, the computer program code, and the at least one processor further cause the apparatus to:

add a counter value into the seed; and

store a new seed in a memory unit.

16. The apparatus of claim 9 , wherein the digital signature comprises an elliptic curve digital signature.

Assignments (5)
SECURITY INTEREST Recorded Jun 1, 2021
From: WSOU INVESTMENTS, LLC
To: OT WSOU TERRIER HOLDINGS, LLC
Reel/Frame 056990/0081 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2018
From: NOKIA TECHNOLOGIES OY
To: WSOU INVESTMENTS, LLC
Reel/Frame 045084/0282 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2015
From: NOKIA CORPORATION
To: NOKIA TECHNOLOGIES OY
Reel/Frame 035424/0693 →
CORRECTIVE ASSIGNMENT TO CORRECT THE SPELLING OF THE THIRD INVENTOR PREVIOUSLY RECORDED ON REEL 027262 FRAME 0813. ASSIGNOR(S) HEREBY CONFIRMS THE THIRD INVENTOR'S NAME IS SPELLED "TAMMINEN, RAUNO". Recorded Jan 25, 2012
From: SOVIO, SAMPO; TAKALA, MARTTI; TAMMINEN, RAUNO; LEHTINEN, SUVI
To: NOKIA CORPORATION
Reel/Frame 027590/0020 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2011
From: SOVIO, SAMPO; TAKALA, MARTTI; TAMMINEN, RAUNNO; LEHTINEN, SUVI
To: NOKIA CORPORATION
Reel/Frame 027262/0813 →