IP Library Granted Patent US 11,102,012
Granted Patent B2
US 11,102,012 · App. 15/986,753 · Granted Aug 24, 2021

Process for digital signing of a document with a predetermined secret key

Inventors: Victor Servant (Issy les Moulineaux, FR); Emmanuel Prouff (Issy les Moulineaux, FR); Herve Chabanne (Issy les Moulineaux, FR)
Assignee: IDEMIA IDENTITY & SECURITY FRANCE
H04L9/3252G06F7/721G06F7/727H04L9/0643H04L9/0825H04L9/0861H04L2209/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 11,102,012
App. No.
15/986,753
Granted
Aug 24, 2021
Kind
B2
Abstract

A method for digital signing of a document using a predetermined secret key. An initial internal state is determined by application to a condensate of the document of a first white box implementation of generation of a main nonce; then a modular sum of the main nonce and of a predetermined constant. The method also determines a first internal state by application to the initial internal state of a first modular arithmetic operation, then of a modular product with exponentiation of the predetermined constant. The method then determines a second internal state by application to said condensate of a second white box implementation of generation of the main nonce; and a second modular arithmetic operation function of the first internal state, of the main signature nonce and of the secret key. It then generates a digital signature of the document from the first internal state and the second internal state.

Claims (48)

1. A method for digital signing of a document using a predetermined secret key (x), comprising performing by a data-processing unit of equipment steps of:

(a) determination of an initial internal state (s 0 ) by application to a condensate of the document obtained by a given hashing function, of a first white box implementation (WB 0 ) of:

generation of a main nonce (k) from said condensate; then

a modular sum of the main nonce (k) and of a predetermined constant (K);

said first white box implementation (WB 0 ) being stored on a data-storage unit of the equipment;

(b) determination of a first internal state (s 1 ) by application to the initial internal state (s 0 ) of a first modular arithmetic operation, then of a modular product with an exponentiation of the predetermined constant (K);

(c) determination of a second internal state (s 2 ) by application to said condensate of a second white box implementation (WB s2 ) of:

generation of the main nonce (k) from said condensate; and

a second modular operation function of the first internal state (s 1 ), of the main nonce (k) and of the secret key (x);

said second white box implementation (WB s2 ) being stored on the data-storage unit of the equipment;

(d) generation of a digital signature of the document from the determined first internal state (s 1 ) and of the second internal state (s 2 ); and

further comprising executing said modular product with exponentiation of the predetermined constant (K) by application of a third white box implementation (WB s1 ) stored on the data-storage unit of the equipment.

2. The method according to claim 1 , wherein said second modular arithmetic operation comprises a modular inversion of the main nonce (k).

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

4. The method according to claim 3 , wherein said modular product with an exponentiation of the predetermined constant (K) is z zg −K mod q.

5. The method according to claim 3 , wherein said first modular arithmetic operation is z (g z mod p) mod q, where g and p are constants.

6. The method according to claim 5 , wherein said modular sum with the predetermined constant (K) is z k+K mod p.

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

8. The method according to claim 1 , further comprising executing the first modular arithmetic operation by the data-processing unit of the equipment.

9. The method according to claim 1 , comprising also steps of:

(a′) determination of a third internal state (s 3 ) by application to a condensate of the document obtained by a given hashing function of a fourth white box implementation (WB 0 ′) of:

generation of the main nonce (k) and of an auxiliary nonce (k′) from said condensate; then

the modular product of the main nonce (k) and of the auxiliary nonce (k′);

said fourth white box implementation (WB 0 ′) being stored on the data-storage unit of the equipment;

(b′) determination of a fourth internal state (s 4 ) by modular inversion of the third internal state (s 3 ).

10. The method according to claim 2 in combination with claim 9 , wherein steps (a′) and (b′) are conducted prior to step (c), said second white box implementation (WB s2 ) implementing also:

generation of the auxiliary nonce (k′) from said condensate; and

the modular product of the fourth internal state (s 4 ) and of the auxiliary nonce (k′) to obtain the value of the modular inverse of the main nonce (k).

11. The method according to claim 10 , wherein step (b′) is visibly executed by the data-processing unit of the equipment.

12. The method according to claim 10 , wherein said second white box implementation (WB s2 ) implements also the modular product of the auxiliary nonce (k) and of said value of the modular inverse of the main nonce (k) for verification.

13. The method according to claim 1 , comprising a prior step (a0) of generation of said white box implementations (WB 0 , WB 0 ′, WB s1 , WB s2 ) by a data-processing unit of a server, and their transmission to the equipment.

14. The method according to claim 6 , wherein step (a0) comprises prior generation of the constants p,q,g according to a Digital Signature Algorithm (DSA).

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

16. The method according to claim 1 , wherein said white box implementations (WB 0 , WB 0 , WB s1 , WB s2 ) utilise a Residue Number System, RNS, to execute the modular sums or products.

17. The method according to claim 1 , comprising a subsequent association step (d) by the data-processing unit of the equipment associating the generated digital signature with the document.

18. A non-transitory computer-readable storage medium storing a computer program product comprising code instructions for digital signing of a document using a predetermined secret key (x), which code instructions when executed by a data-processing unit:

a) determine an initial internal state (s 0 ) by application to a condensate of the document obtained by a given hashing function, of a first white box implementation (WB 0 ) of:

generation of a main nonce (k) from said condensate; then

a modular sum of the main nonce (k) and of a predetermined constant (K);

said first white box implementation (WB 0 ) being stored on a data-storage unit of the equipment;

b) determine a first internal state (s 1 ) by application to the initial internal state (s 0 ) of a first modular arithmetic operation, then of a modular product with an exponentiation of the predetermined constant (K);

c) determine a second internal state (s 2 ) by application to said condensate of a second white box implementation (WB s2 ) of:

generation of the main nonce (k) from said condensate; and

a second modular operation function of the first internal state (s 1 ), of the main nonce (k) and of the secret key (x);

said second white box implementation (WB s2 ) being stored on the data-storage unit of the equipment;

d) generate a digital signature of the document from the determined first internal state (s 1 ) and of the second internal state (s 2 ); and

further comprising executing said modular product with exponentiation of the predetermined constant (K) by application of a third white box implementation (WB s1 ) stored on the data-storage unit of the equipment.

19. The method according to claim 13 , wherein step (a0) comprises prior generation of the constants p, q, g according to a Digital Signature Algorithm (DSA).

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 Oct 7, 2020
From: SERVANT, VICTOR; CHABANNE, HERVE; PROUFF, EMMANUEL
To: IDEMIA IDENTITY & SECURITY FRANCE
Reel/Frame 054002/0285 →
Priority Claims (1)
FR 1754636 · May 24, 2017 · national
Continuity (1)
Related Publication 20180343124A1 · Nov 29, 2018