Brevet FR3066845A1 (20181130)

REVENDICATIONS1. Procédé de signature électronique d'un document avec une clé secrète (x) prédéterminée, le procédé étant caractérisé en ce qu'il comprend la mise en oeuvre par des moyens de traitement de données (11a) d'un équipement (10a) d'étapes de : (a) détermination d'un état interne initial (so) par application à un condensat du document obtenu par une fonction de hachage donnée d'une première implémentation blanchie (WB0) de : - la génération d'un nonce principal (k) à partir dudit condensat ; puis - une somme modulaire du nonce principal (k) et d'une constante prédéterminée (K) ; ladite première implémentation blanchie (WB0) étant stockée sur des moyens de stockage de données (12a) de l'équipement (10a) ; (b) détermination d'un premier état interne (si) par application à l'état interne initial (so) d'une première opération d'arithmétique modulaire, puis d'un produit modulaire avec une exponentiation de la constante prédéterminée (K) ; (c) Détermination d'un deuxième état interne (s2) par application audit condensat d'une deuxième implémentation blanchie (W/3,2) de : - la génération du nonce principal (k) à partir dudit condensat ; et - une deuxième opération modulaire fonction du premier état interne (si), du nonce principal (k) et de la clé secrète (x) ; ladite deuxième implémentation blanchie (W/3,2) étant stockée sur les moyens de stockage de données (12a) de l'équipement (10a) ; (d) génération d'une signature électronique du document à partir du premier état interne (si) et du deuxième état interne (s2) déterminés.\n<CLM>\1\tProcédé selon la revendication 1, dans lequel ladite deuxième opération d'arithmétique modulaire comprend l'inversion modulaire du nonce principal (k). 3066845 22\n<CLM>\1\tProcédé selon la revendication 2, dans lequel ladite deuxième opération d'arithmétique modulaire est z 1-> + s1x)k-1 mod q, où si est le premier état interne, k le nonce principal, x la clé secrète et q une constante. 5\n<CLM>\1\tProcédé selon la revendication 3, dans lequel ledit produit modulaire avec une exponentiation de la constante prédéterminée (K) est z 1-> zg-K mod q. 10\n<CLM>\1\tProcédé selon l'une des revendications 3 et 4, dans lequel ladite première opération d'arithmétique modulaire est z 1-> (gZ mod p) mod q, où g et p sont des constantes.\n<CLM>\1\tProcédé selon la revendication 5, dans lequel ladite somme 15 modulaire avec la constante prédéterminée (K) est z 1-> k + K mod p.\n<CLM>\1\tProcédé selon l'une des revendications 1 à 6, dans lequel la signature est le couple (s1, s2) des premier et deuxième états internes. 20\n<CLM>\1\tProcédé selon l'une des revendications 1 à 7, dans lequel la première opération d'arithmétique modulaire est mise en oeuvre en clair par les moyens de traitement de données (11 a) de l'équipement (10a).\n<CLM>\1\tProcédé selon la revendication 8, dans lequel ledit produit 25 modulaire avec une exponentiation de la constante prédéterminée (K) est mise en oeuvre par application d'une troisième implémentation blanchie (W/3,1) stockée sur les moyens de stockage de données (12a) de l'équipement (10a).\n<CLM>\1\tProcédé selon l'une des revendications 1 à 8, comprenant en 30 outre des étapes de : (a') détermination d'un troisième état interne (s3) par application à un condensat du document obtenu par une fonction de hachage donnée d'une quatrième implémentation blanchie (W/30') de : 3066845 23 - la génération du nonce principal (k) et d'un nonce auxiliaire (k') à partir dudit condensat ; puis - le produit modulaire du nonce principal (k) et du nonce auxiliaire (k') ; 5 ladite quatrième implémentation blanchie (WB0') étant stockée sur les moyens de stockage de données (12a) de l'équipement (10a) ; (b') détermination d'un quatrième état interne (s4) par inversion modulaire du troisième état interne (s3). 10\n<CLM>\1\tProcédé selon la revendications 2 en combinaison avec la revendication 10, dans lequel les étapes (a') et (b') sont mises en oeuvre antérieurement à l'étape (c), ladite deuxième implémentation blanchie (W/3,2) implémentant également : - la génération du nonce auxiliaire (k') à partir dudit condensat ; et 15 - le produit modulaire du quatrième état interne (s4) et du nonce auxiliaire (k') de sorte à obtenir la valeur de l'inverse modulaire du nonce principal (k).\n<CLM>\1\tProcédé selon la revendication 11, dans lequel l'étape (b') est 20 mise en oeuvre en clair par les moyens de traitement de données (11a) de l'équipement (10a).\n<CLM>\1\tProcédé selon l'une des revendications 11 et 12, dans lequel ladite deuxième implémentation blanchie (W/3,2) implémente également le produit 25 modulaire du nonce auxiliaire (k) et de ladite valeur de l'inverse modulaire du nonce principal (k) pour vérification.\n<CLM>\1\tProcédé selon l'une des revendications 1 à 13, comprenant une étape préalable (a0) de génération desdites implémentations blanchies (WBo, 30 WB0', WBsi, WBs2) par des moyens de traitement de données (11b) d'un serveur (1 b), et leur transmission à l'équipement (10a). 3066845 24\n<CLM>\1\tProcédé selon les revendications 6 et 14 en combinaison, dans lequel l'étape (a0) comprend la génération préalable des constantes p, q, g conformément à l'algorithme DSA. 5\n<CLM>\1\tProcédé selon la revendication 15, dans lequel l'étape (a0) comprend également la génération préalable de la clé secrète (x) et d'une clé publique associée en fonction des constantes p, q, g.\n<CLM>\1\tProcédé selon l'une des revendications 1 à 8, dans lequel 10 lesdites implémentations blanchies (WBo, WB0,, W/3,1, W/3,2) utilisent un Système de Représentation Modulaire, RNS, pour effectuer les sommes ou produits modulaires.\n<CLM>\1\tProcédé selon l'une des revendications 1 à 17, comprenant 15 une étape subséquente (d) d'association par les moyens de traitement de données (11a) de l'équipement (10a) de la signature électronique générée au document de sorte à former le document signé\n<CLM>\1\tProduit programme d'ordinateur comprenant des instructions 20 de code pour l'exécution d'un procédé selon l'une des revendications 1 à 18 de signature électronique d'un document avec une clé secrète (x) prédéterminée, lorsque ledit programme est exécuté par un ordinateur.\n<CLM>\1\tMoyen de stockage lisible par un équipement informatique sur 25 lequel un produit programme d'ordinateur comprend des instructions de code pour l'exécution d'un procédé selon l'une des revendications 1 à 18 de de signature électronique d'un document avec une clé secrète (x) prédéterminée.