Brevet FR3038474A1 (20170106)
REVENDICATIONS1. Procédé de mise en oeuvre accélérée, par un circuit électronique (SC), d'un algorithme cryptographique HFE exploitant une clé privée HFE basée sur un polynôme (FsLc) de type HFE, sur un morphisme (y)), et sur une première (S) et une deuxième (T) transformations affines, le procédé comprenant: /El/ une utilisation, par le circuit électronique (SC), d'au moins un polynôme (f1 r`-' supplémentaire compris dans la clé privée HFE, et /E2/ une utilisation, par le circuit électronique (SC), d'une première (MAP) et d'une deuxième (MAP_I) fonctions de mappage comprises dans la clé privée HFE, et associant chacune, à un paramètre d'entrée (A, C') donné, autant de paramètres de sortie (A1,...,A1,C1,...,C'1) qu'il y a de polynômes u SI supplémentaires dans la clé privée HFE, l'au moins un polynôme (f1s'-0 ,...,f1B0) supplémentaire et les fonctions de mappage (MAP, MAP_I) étant tels que, pour un paramètre (C') donné, et pour toute racine (A) du polynôme (FsLc) de type HFE moins ledit paramètre C') donné, le résultat de la première fonction de mappage (MAP) appliquée à ladite racine (A) est une racine de chaque polynôme (f,') supplémentaire moins un paramètre de sortie (C'1), correspondant audit chaque polynôme f;300s' supplémentaire, de la deuxième fonction de mappage (MAP_I) appliquée audit paramètre (C') donné.\n<CLM>\1\tProcédé selon la revendication 1, comprenant une génération, par le circuit électronique (SC), de ladite clé privée HFE, ladite génération comprenant: /G1/ une génération, par le circuit électronique (SC), dudit au moins un polynôme supplémentaire et /G2/ une génération, par le circuit électronique (SC), desdites fonctions de mappage (MAP, MAP_I). 3038474 34\n<CLM>\1\tProcédé selon ta revendication 1 ou 2, comprenant une opération de déchiffrement mise en oeuvre par : /D1/ une réception, par le circuit électronique (SC), d'un message sous forme chiffrée et d'un hash calculé sur le message sous forme non chiffrée, 5 /D2/ une application par le circuit électronique (SC), de l'inverse de la deuxième transformation affine (T) au message sous forme chiffrée afin d'obtenir un message chiffré intermédiaire, /D3/ une application, par le circuit électronique (SC), de l'inverse du morphisme (q)) au message chiffré intermédiaire, 10 /D4/ une obtention d'au moins un paramètre de sortie par application, par le circuit électronique (50), de la deuxième fonction de mappage (MAP_I) au résultat de ladite application de l'inverse du morphisme /D5/ une résolution, par le circuit électronique (SC), d'un système 15 d'équation(s) tel que chaque polynôme (f') supplémentaire soit égal au paramètre de sortie (C',) respectif obtenu à l'étape précédente, /D6/ une application, par le circuit électronique (SC), de l'inverse de la première fonction de mappage (MAP) à une solution du système d'équation(s), 11D71 une application, par le circuit électronique (SC). du morphisme (g') 20 au résultat de l'inverse de la première fonction de mappage (MAP) obtenu à l'étape précédente, 11381 une obtention d'une estimation du message sous forme non chiffrée, par application, par le circuit électronique (SC), de l'inverse de la première transformation affine (S) au résultat du morphisme (9) obtenu à 25 l'étape précédente, /09/ un calcul, par le circuit électronique (SC) d'un hash de l'estimation du message sous forme non chiffrée, /D10/ si le hash de l'estimation du message sous forme non chiffrée est différent du hash reçu, l'obtention d'une autre estimation du message sous 30 forme non chiffrée selon les étapes précédentesjusqu'à ce que les deux hash soient égaux. 3038474\n<CLM>\1\tProcédé selon l'une des revendications précédentes, comprenant une opération de signature mise en oeuvre par : /S1/ un calcul, par le circuit électronique (SC), d'un hash d'un message à signer, 5 /S2/ une génération, par le circuit électronique (SC), d'un nombre aléatoire de taille égale à la taille d'un élément de l'ensemble d'arrivée du morphisme (i,-> ) moins la taille du hash du message à signer, /S3/ une application, par le circuit électronique (SC), de l'inverse de la deuxième transformation affine (T) à une concaténation du nombre aléatoire et 10 du hash du message à signer, /S4/ une application, par le circuit électronique (SC), de l'inverse du morphisme ço) au résultat de l'application de l'inverse de la deuxième transformation affine (T), /S5/ une obtention d'au moins un paramètre de sortie par 15 application, par le circuit électronique (SC), de la deuxième fonction de mappage (MAP_I) au résultat de ladite application de l'inverse du morphisme 47), /S6/ une résolution, par le circuit électronique (SC): d'un système d'équation(s) tel que chaque polynôme (f) supplémentaire soit égal au 20 paramètre de sortie (Cl,) respectif obtenu à l'étape précédente, /571 si le système d'équation(s) n'admet pas de solution, une répétition des étapes précédentes avec un autre nombre aléatoire. /581 une application, par le circuit électronique (SC), de l'inverse de la première fonction de mappage (MAP) à une solution du système d'équation(s), 25 1S91 une application, par le circuit électronique (SC), du morphisme (iço) au résultat de l'inverse de la première fonction de mappage (MAP) obtenu à l'étape précédente, /S10/ une obtention d'une signature du message à signer, par application, par le circuit électronique (SC), de l'inverse de la première 30 transformation affine (S) au résultat du morphisme (ço) obtenu à l'étape précédente. 3038474 36\n<CLM>\1\tProcédé selon l'une des revendications précédentes, dans lequel la clé privée HFE comprend un unique polynôme supplémentaire, dans lequel la première fonction de mappage (MAP) est un monôme, et dans lequel le polynôme de type HFE (FsEc) est égal à la composition du polynôme 5 supplémentaire avec la première fonction de mappage (MAP).\n<CLM>\1\tProgramme d'ordinateur comprenant une suite d'instructions mettant en oeuvre les étapes du procédé selon l'une des revendications 1 à 5 lorsqu'elles sont exécutées par un processeur. 10\n<CLM>\1\tSupport de stockage non transitoire lisible par ordinateur comprenant un programme d'ordinateur selon la revendication\n<CLM>\1\t8. Circuit électronique (SC) agencé pour mettre en oeuvre de façon 15 accélérée un algorithme cryptographique HFE exploitant une clé privée HFE basée sur un polynôme (FsLc) de type HFE, sur un morphisme (q)), et sur une première (S) et une deuxième (T) transformations affines, le circuit électronique (SC) comprenant: un sous circuit électronique d'utilisation d'au moins un polynôme 20 (fiBoost,..., tai us: supplémentaire compris dans la clé privée HFE, et un sous circuit électronique d'utilisation d'une première (MAP) et d'une deuxième (MARI) fonctions de mappage comprises dans la clé privée HFE, et associant chacune, à un paramètre d'entrée (A, C') donné, autant de paramètres de sortie (A1,....A. C'i,...,C't) qu'il y a de polynômes (fi Boost ,fiBoost) 25 supplémentaires dans la clé privée HFE, l'au moins un polynôme (f1'30'supplémentaire et les fonctions de mappage (MAP, MAU) étant tels que, pour un paramètre (C') donné, et pour toute racine (A) du polynôme (FsLc) de type HFE moins ledrt paramètre (C') donné, le résultat Ai,...,At) de la première fonction de mappage (MAP) 30 appliquée à ladite racine (A) est une racine de chaque polynôme (fiBuost) supplémentaire moins un paramètre de sortie (C'1), correspondant audit chaque polynôme (fost) supplémentaire, de la deuxième fonction de mappage (MAR_ ) appliquée audit paramètre C') donné. 3038474 37\n<CLM>\1\tCircuit électronique (SC) selon la revendication 8, comprenant, afin de mettre en oeuvre une opération de déchiffrement un sous circuit électronique de réception d'un message sous forme 5 chiffrée et d'un hash calculé sur le message sous forme non chiffrée, un sous circuit électronique d'application de l'inverse de la deuxième transformation affine (T) au message sous forme chiffrée afin d'obtenir un message chiffré intermédiaire, un sous circuit électronique d'application de l'inverse du morphisme (q)) 10 au message chiffré intermédiaire, un sous circuit électronique d'obtention d'au moins un paramètre de sortie (C'1,...,C',), par application de la deuxième fonction de mappage (MAP_I) au résultat de ladite application de l'inverse du morphisme un sous circuit électronique de résolution d'un système d'équation(s) tel 15 que chaque polynôme (1'301 supplémentaire soit égal au paramètre de sortie (C',) respectif, un sous circuit électronique d'application de l'inverse de la première fonction de mappage (MAP) à une solution du système d'équation(s), un sous circuit électronique d'application du morphisme ( ) au résultat 20 de l'inverse de fa première fonction de mappage MAP), un sous circuit électronique d'obtention d'une estimation du message sous forme non chiffrée, par application de l'inverse de la première transformation affine (S) au résultat de l'application du morphisme (p), un sous circuit électronique de calcul d'un hash de l'estimation du 25 message sous forme non chiffrée, un sous circuit électronique de vérification agencé pour vérifier si le hash de l'estimation du message sous forme non chiffrée est différent du hash reçu, et dans l'affirmative pour déclencher l'obtention d'une autre estimation du message sous forme non chiffrée, jusqu'à ce que les deux hash soient égaux. 30\n<CLM>\1\tCircuit électronique (SC) selon la revendication 8 ou 9, dans lequel la clé privée HFE comprend un unique polynôme supplémentaire, dans lequel la 3038474 38 première fonction de mappage (MAP) est un monôme, et dans lequel le polynôme de type HFE (FsEO est égal à la composition du polynôme supplémentaire avec la première fonction de mappage (MAP).