IP Library Granted Patent US 10,938,576
Granted Patent B2
US 10,938,576 · App. 15/915,019 · Granted Mar 2, 2021

Method for electronic signing of a document with a predetermined secret key

Inventors: Herve Chabanne (Issy-les-Moulineaux, FR); Emmanuel Prouff (Issy-les-Moulineaux, FR)
Assignee: IDEMIA IDENTITY & SECURITY FRANCE
H04L9/3252G06F7/723H04L9/0825H04L9/0861H04L9/3006H04L2209/16
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 10,938,576
App. No.
15/915,019
Granted
Mar 2, 2021
Kind
B2
Abstract

The present invention relates to a method for electronic signing of a document with a predetermined secret key (x), the method being characterized in that it comprises the implementation of steps of: (a) Drawing a pair formed by a first internal state (s 1 i ) and a white-box implementation (WB i ) of a modular arithmetic operation, from among a set of predetermined pairs ({(s 1 i ,WB i )} i∈[0,n-1] ) each for one nonce (k i ), said first internal state (s 1 i ) being a function of the nonce (k i ) and said modular arithmetic operation being a function of the first internal state (s 1 i ), of the nonce (k i ) and of the secret key (x); (b) Determining a second internal state (s 2 i ) by application of said drawn white-box implementation (WB i ) to a condensate of the document obtained via a given hash function; (c) Generating an electronic signature of the document from the first internal state (s 1 i ) of the drawn pair and from the second determined internal state (s 2 i ), and deleting the drawn pair of said set of pairs ({(s 1 i ,WB i )} i∈[0,n-1] ).

Claims (24)

1. Method for electronic signing of a document with a predetermined secret key, x, the method being characterized in that it comprises the implementation, by a data processor of equipment, of steps of:

(a) Drawing a pair formed by a first internal state, s 1 i , and a white-box implementation, WB i , of a modular arithmetic operation, from among a set of predetermined pairs, {(s 1 i ,WB i )} i∈[0,n-1] , each one nonce, k i , said set of pairs {(s 1 i ,WB i )} i∈[0,n-1] being stored on a memory of the equipment, said first internal state s 1 i being a function of the nonce k i and said modular arithmetic operation being a function of the first internal state s 1 i , of the nonce k i and of the secret key x;

(b) Determining a second internal state, s 2 i , by application of said drawn white-box implementation WB i to a condensate of the document obtained via a given hash function;

(c) Generating an electronic signature of the document from the first internal state s 1 i of the drawn pair and from the second determined internal state s 2 i , and deleting the drawn pair of said set of pairs {(s 1 i ,WB i )} i∈[0,n-1] .

2. The method according to claim 1 , wherein said modular arithmetic operation is z (z+s 1 i x)k i −1 mod q, where s 1 i is the first internal state, k i the nonce, x the secret key and q a constant.

3. The method according to claim 2 , wherein s 1 i =(g k i mod p) mod q, where g and p are constants.

4. The method according to claim 1 , wherein the signature is the pair (s 1 i ,s 2 i ) of the first and second internal states.

5. The method according to claim 1 , comprising a prior step (a0) to generate said set of pairs {(s 1 i ,WB i )} i∈[0,n-1] by a data processor of a server, and transmission thereof to the equipment.

6. The method according to claim 5 , wherein step (a0) comprises the generation of a plurality of nonces {k i } i∈[0,n-1] , followed by the generation of the pair (s 1 i ,WB i ) for each nonce k i .

7. The method according to claim 6 , wherein said modular arithmetic operation is z (z+s 1 i x)k i −1 mod q, where s 1 i is the first internal state, k i the nonce, x the secret key and q a constant and s 1 i =(g k i mod p) mod q, where g and p are constants, and

wherein step (a0) comprises the prior generation of the constants p,q,g conforming to the DSA algorithm.

8. The method according to claim 7 , wherein step (a0) also comprises the prior generation of the secret key x and of an associated public key as a function of the constants p,q,g.

9. The method according to claim 1 , wherein said white-box implementations WB i use a Residue Number System, RNS, to perform said modular arithmetic operation.

10. The method according to claim 1 , comprising a subsequent step (d) by the data processor of the equipment to associate the generated electronic signature with the document to form the signed document.

11. Equipment comprising a memory and a data processor implementing a method for electronic signing of a document with a predetermined secret key, x, the method comprising:

(a) Drawing a pair formed by a first internal state, s i 1 , and a white-box implementation, WB i , of a modular arithmetic operation, from among a set of predetermined pairs, {(s i 1 ,WB i )} iϵ[0,n-1] , each for one nonce, k i , said set of pairs {(s i 1 ,WB i )} iϵ[0,n-1] being stored on a memory of the equipment, said first internal state s i 1 being a function of the nonce k i and said modular arithmetic operation being a function of the first internal state s i 1 , of the nonce k i and of the secret key x;

(b) Determining a second internal state, s i 2 , by application of said drawn white-box implementation WB i to a condensate of the document obtained via a given hash function;

(c) Generating an electronic signature of the document from the first internal state of the drawn pair and from the second determined internal state s i 2 ,

and deleting the drawn pair of said set of pairs {(s i 1 ,WB i )} iϵ[0,n-1] .

12. Non transitory computer readable medium comprising stored thereon code instruction to execute a method for electronic signing of a document with a predetermined secret key, x the method comprising:

(a) Drawing a pair formed by a first internal state, s i 1 , and a white-box implementation, WB i , of a modular arithmetic operation, from among a set of predetermined pairs, {(s i 1 ,WB i )} iϵ[0,n-1] , each for one nonce, k i , said set of pairs {(s i 1 ,WB i )} iϵ[0,n-1] being stored on a memory of the equipment, said first internal state s i 1 being a function of the nonce k i and said modular arithmetic operation being a function of the first internal state s i 1 , of the nonce k i and of the secret key x;

(b) Determining a second internal state, s i 2 , by application of said drawn white-box implementation WB i to a condensate of the document obtained via a given hash function;

(c) Generating an electronic signature of the document from the first internal state of the drawn pair and from the second determined internal state s i 2 ,

and deleting the drawn pair of said set of pairs {(s i 1 ,WB i )} iϵ[0,n-1] .

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2025
From: IDEMIA IDENTITY & SECURITY FRANCE
To: IDEMIA FRANCE
Reel/Frame 070632/0157 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2019
From: CHABANNE, HERVE; PROUFF, EMMANUEL
To: IDEMIA IDENTITY & SECURITY FRANCE
Reel/Frame 048016/0935 →