Brevet FR2860364A1 — publié le 20050401

La présente invention concerne de façon générale un moteur cryptographique matériel, et plus particulièrement un moteur cryptographique matériel. Des utilisateurs peuvent transmettre de l'information en utilisant des cartes à microprocesseur (ou cartes à circuit intégré), des communications par Internet, des communications par réseau local sans fil, etc. Certaines des transmissions peuvent faire intervenir de l'information secrète pour laquelle la sécurité peut devoir être maintenue. Dans ce but, un moteur cryptographique matériel peut être réalisé pour chiffrer l'information. L'information chiffrée peut être appelée un cryptogramme. Le moteur cryptographique matériel peut exécuter des algorithmes cryptographiques avec une clé appropriée pour produire le cryptogramme. Des attaquants, qui cherchent à accéder à l'information sans autorisation, peuvent employer des méthodes d'attaque qui se concentrent sur des faiblesses théoriques des algorithmes cryptographiques. Ces méthodes d'attaque peuvent permettre à un attaquant de décrypter des communications. Des méthodes d'attaque mettant en oeuvre des approches théoriques ont pu réussir seulement dans des conditions très limitées. Des attaquants peuvent également employer des méthodes d'attaque qui font intervenir la scrutation d'une propriété physique de l'opération cryptographique. De telles propriétés physiques peuvent comprendre, par exemple, une différence de niveaux de consommation de puissance et une différence de temps pour des opérations effectuées. Des méthodes d'attaque basées sur la scrutation d'une propriété physique peuvent acquérir des clés (qui sont utilisées par l'algorithme cryptographique dans des buts de chiffrement et de déchiffrement) en moins de temps et avec moins d'effort qu'avec des méthodes d'attaque basées sur des faiblesses théoriques. Une opération de chiffrement peut être réalisée par matériel (par exemple des cartes à microprocesseur). Des algorithmes à clé publique, tels par exemple que RSA et ECC, peuvent être mis en oeuvre par matériel. En cryptographie à clé publique, on peut utiliser une clé publique pour effectuer des opérations de chiffrement. Des algorithmes à clé symétrique, tels par exemple que les algorithmes Data Encryption Standard (DES) et Advanced Encryption Standard (AES), peuvent également être mis en oeuvre par matériel. Aussi bien dans les systèmes à clé publique que dans les systèmes à clé symétrique, il est souhaitable qu'un attaquant ne puisse pas obtenir de l'information secrète. La figure 1 est un schéma synoptique d'un moteur cryptographique matériel de l'art antérieur qui peut mettre en oeuvre une technique de traitement parallèle. Ce moteur cryptographique matériel peut exécuter l'algorithme DES (par exemple) par lequel deux moteurs de cryptogramme 100, 200 peuvent fonctionner indépendamment et en parallèle pour traiter le chiffrement. Les moteurs de cryptogramme 100, 200 parallèles peuvent générer respectivement deux cryptogrammes identiques (CRYPTA) à partir de données d'émission (TXD). Chacun des moteurs de cryptogramme 100, 200 peut générer le cryptogramme (CRYPTA) à partir de données d'émission (TXD) par des opérations à 16 rondes. Ainsi, comme représenté sur la figure 1, chacun des blocs de ronde (rondes 1 à 16) peut exécuter une opération de chiffrement conformément à l'algorithme DES en utilisant une clé prédéterminée. Les 16 rondes peuvent toutes être accomplies pour générer le cryptogramme (CRYPTA). Les blocs de ronde respectifs (rondes 1 à 16) peuvent utiliser des clés. Les clés peuvent être générées par un programme de clés d'un algorithme de génération de clés supplémentaire. Par exemple, si on utilise une clé DES à 8 octets, alors il est possible de générer les clés de rondes 1 à 16. En fonction de l'application particulière, les clés peuvent être différentes les unes des autres, les clés peuvent être les mêmes, et les clés peuvent être des clés privées ou des clés ouvertes. Si des cryptogrammes (CRYPTA) émis par les deux moteurs de cryptogramme 100, 200 parallèles sont identiques, alors le cryptogramme (CRYPTA) peut être émis vers un noeud de destination désiré par l'intermédiaire d'un module d'émission prédéterminé. Cependant, si un défaut se produit pendant les opérations de chiffrement, des cryptogrammes émis respectivement par les deux moteurs de cryptogramme 100, 200 parallèles peuvent ne pas être identiques. Dans ce cas, pour éviter une fuite d'information secrète, l'émission du cryptogramme (CRYPTA) vers le noeud de destination n'est pas permise. La figure 2 est un schéma de deux blocs de ronde représentés sur la figure 1. Chacun des blocs de ronde (rondes 1 à 16) des premier et second moteurs de cryptogramme 100, (200) peut inclure une unité de chiffrement 120, (220) et un' circuit logique OU-Exclusif (OU-EX) 110, (210). Lorsque les premier et second moteurs de cryptogramme 100, 200 chiffrent respectivement des données d'émission (TXD) avec 16 rondes, et des cryptogrammes identiques (CRYPTA) sont fournis en sortie, les circuits situés à la suite peuvent émettre vers un noeud de destination le cryptogramme (CRYPTA), qui peut être considéré comme dépourvu de défaut. Lorsqu'un défaut mécanique se produit pendant l'opération de chiffrement, les cryptogrammes (CRYPTA) émis respectivement par les deux moteurs de cryptogramme 100, 200 parallèles peuvent ne pas être identiques. Pour éviter une fuite d'information secrète, l'émission du cryptogramme (CRYPTA) vers le noeud de destination n'est pas permise. Le dispositif de l'art antérieur représenté sur la figure 1 n'est pas dépourvu d'inconvénients. Par exemple, des défauts respectifs peuvent se produire à des emplacements identiques dans les premier et second moteurs de cryptogramme 100, 200. Comme représenté sur la figure 2, les défauts respectifs peuvent transformer un cryptogramme original A en un cryptogramme erroné A' dans le bloc du moteur de cryptogramme 100 et le bloc du moteur de cryptogramme 200. Dans ce cas, malgré les défauts, les cryptogrammes finals (CRYPTA) respectivement émis par les deux moteurs de cryptogramme 100, 200 parallèles peuvent encore être identiques, et le cryptogramme (CRYPTA) peut être émis vers un noeud de destination. Ceci peut conduire à une fuite d'information secrète à l'extérieur du moteur cryptographique matériel. Par exemple, le défaut mécanique se produisant dans le moteur cryptographique matériel peut être produit par un pirate informatique, dépourvu d'autorisation. Le pirate peut ensuite trouver des clés utilisées dans l'algorithme en analysant les cryptogrammes ayant le défaut. On a effectué des recherches sur la possibilité de ces attaques sur défaut accomplies par des pirates informatiques, et des exemples de cas ont été annoncés par Infineon Technologies. Parmi ces attaques sur défaut, il y a une attaque sur défaut différentiel (DFA pour "Differential Fault Attack"). L'attaque DFA peut être utilisée frauduleusement (comme un moyen d'acquisition d'information secrète) par des pirates informatiques désirant obtenir des clés par l'intermédiaire d'un cryptogramme ayant un défaut (message erroné), dans un algorithme symétrique tel que le DES (par exemple). Conformément à la pratique classique, il est possible d'éviter la fuite d'information secrète par la DFA en effectuant deux fois un chiffrement identique. On peut comparer les valeurs résultantes des chiffrements. Si les valeurs résultantes sont mutuellement différentes, alors on peut effectuer à nouveau le chiffrement, de façon à pouvoir éviter un défaut. Un autre procédé classique fait intervenir l'introduction d'un cryptogramme par l'intermédiaire d'une ligne de communication. Le cryptogramme peut être stocké et décodé. Les données décodées peuvent être chiffrées à nouveau et comparées avec le cryptogramme reçu par l'intermédiaire de la ligne de communication. Bien qu'on considère généralement que ces techniques classiques procurent des résultats acceptables, elles sont relativement malcommodes, du fait qu'elles font intervenir la comparaison des résultats d'opérations effectuées deux fois. En outre, le fait d'accomplir deux fois des opérations peut prendre un temps considérable, ce qui diminue la vitesse de fonctionnement d'un système. Conformément à des modes de réalisation de la présente invention, constituant des exemples non limitatifs, un moteur cryptographique matériel peut éviter l'émission d'un résultat de chiffrement final, même lorsqu'un défaut identique se produit dans des emplacements identiques pendant un traitement de chiffrement parallèle utilisant un algorithme symétrique tel que le DES employant deux moteurs de cryptogramme matériels, ou plus, pour éviter ainsi une fuite d'information secrète. Par conséquent, le moteur peut être robuste contre une attaque sur défaut et peut ne pas effectuer l'opération de chiffrement de façon répétée, ce qui fait que la vitesse de fonctionnement du moteur peut être élevée. Un exemple de mode de réalisation porte sur un procédé cryptographique matériel par lequel, même lorsqu'un défaut identique se produit dans des emplacements identiques pendant un traitement de chiffrement parallèle utilisant un algorithme symétrique tel que le DES employant deux moteurs de cryptogramme matériels, ou plus, le défaut peut être détecté avant d'émettre un résultat de chiffrement final, et une fuite d'information secrète peut être évitée. Par conséquent, le procédé peut être robuste contre une attaque sur défaut et peut ne pas effectuer l'opération de chiffrement de façon répétée, ce qui fait que la vitesse de fonctionnement du procédé peut être élevée. Conformément à un exemple de mode de réalisation de la présente invention, un moteur cryptographique matériel peut inclure une multiplicité de moteurs de cryptogramme qui peuvent générer des cryptogrammes intermédiaires. Un premier des moteurs de cryptogramme peut recevoir un second cryptogramme intermédiaire émis par un second des moteurs de cryptogramme, pour générer un premier cryptogramme intermédiaire. Le moteur cryptographique matériel peut émettre un cryptogramme final lorsque les cryptogrammes intermédiaires générés par les moteurs de cryptogramme sont mutuellement identiques. Selon un exemple de mode de réalisation de la présente invention, le moteur cryptographique matériel peut inclure un premier moteur de cryptogramme, un second moteur de cryptogramme, une unité de comparaison et une unité de sortie de données de chiffrement. Le premier moteur de cryptogramme peut recevoir un second cryptogramme intermédiaire émis par le second moteur de cryptogramme, générer un premier cryptogramme intermédiaire, et utiliser le premier cryptogramme intermédiaire pour générer et émettre un premier cryptogramme final. Le second moteur de cryptogramme peut émettre le second cryptogramme intermédiaire, et utiliser le second cryptogramme intermédiaire pour générer et émettre un second cryptogramme final. L'unité de comparaison peut générer et émettre un signal de commande ayant un état logique dépendant du fait que le premier cryptogramme final est le même, ou non, que le second cryptogramme final. L'unité de sortie de données de chiffrement peut réagir à l'état logique du signal de commande, et émettre un cryptogramme final lorsque le premier cryptogramme final est le même que le second cryptogramme final. Le second moteur de cryptogramme peut recevoir le premier cryptogramme intermédiaire émis par le premier moteur de cryptogramme et générer le second cryptogramme intermédiaire. Chacun du premier moteur de cryptogramme et du second moteur de cryptogramme peut inclure une multiplicité de blocs de ronde et un circuit logique. Chacun des circuits logiques peut recevoir sur ses entrées un premier cryptogramme intermédiaire respectif et un second cryptogramme intermédiaire respectif. Chacun des blocs de ronde du premier moteur de cryptogramme peut générer le premier cryptogramme intermédiaire respectif, et chacun des blocs de ronde du second moteur de cryptogramme peut générer le second cryptogramme intermédiaire respectif. Les premiers cryptogrammes intermédiaires respectifs et les seconds cryptogrammes intermédiaires respectifs peuvent être identiques si aucun défaut ne se produit. Le circuit logique avoir des informations d'entrée constituées d'autres cryptogrammes intermédiaires qui sont les mêmes que le second cryptogramme intermédiaire respectif dans le second moteur de cryptogramme, et des informations d'entrée constituées d'autres cryptogrammes intermédiaires qui sont les mêmes que le premier cryptogramme intermédiaire respectif dans le premier moteur de cryptogramme. Un nombre impair de cryptogrammes intermédiaires peut être appliqué en entrée du circuit logique. Un circuit logique peut être disposé dans chaque bloc de ronde. Un circuit logique peut être disposé au moins une fois dans chaque bloc de ronde de deux moteurs de cryptogramme voisins. Conformément à un autre exemple de mode de réalisation de la présente invention, il est proposé un procédé de chiffrement de données d'émission. Le procédé peut inclure l'accomplissement d'un premier chiffrement. Le premier chiffrement peut faire intervenir la réception d'un second cryptogramme intermédiaire pour générer un premier cryptogramme intermédiaire, et l'utilisation du premier cryptogramme intermédiaire pour générer et émettre un premier cryptogramme final. Le procédé peut également comprendre l'accomplissement d'un second chiffrement. Le second chiffrement peut faire intervenir l'émission du second cryptogramme intermédiaire, et l'utilisation du second cryptogramme intermédiaire pour générer et émettre un second cryptogramme final. Le procédé peut également inclure la génération et l'émission d'un signal de commande ayant un état logique qui dépend du fait que le premier cryptogramme final est le même, ou non, que le second cryptogramme final. Ensuite, en réponse à l'état logique du signal de commande, un cryptogramme final peut être émis lorsque le premier cryptogramme final est le même que le second cryptogramme final. Selon un autre exemple de mode de réalisation, un moteur de cryptogramme pour chiffrer des données d'émission peut inclure une multiplicité de blocs de ronde qui génèrent des cryptogrammes intermédiaires respectifs. L'un des blocs de ronde peut recevoir en tant qu'information d'entrée un nombre impair de cryptogrammes intermédiaires, incluant un cryptogramme intermédiaire provenant d'un autre moteur de cryptogramme, pour générer le cryptogramme intermédiaire respectif. Dans un exemple de mode de réalisation, un procédé pour faire fonctionner un moteur de cryptogramme peut inclure l'introduction d'un nombre impair de cryptogrammes intermédiaires, incluant un cryptogramme intermédiaire provenant d'un autre moteur de cryptogramme. Le procédé peut également inclure la génération d'un cryptogramme de sortie à partir du nombre impair de cryptogrammes intermédiaires. Selon un autre exemple de mode de réalisation de la présente invention, un bloc de ronde d'un moteur de cryptogramme pour chiffrer des données d'émission peut inclure une unité de chiffrement qui peut générer un cryptogramme intermédiaire. Un premier opérateur logique peut recevoir un nombre impair de cryptogrammes intermédiaires, incluant un cryptogramme intermédiaire provenant d'un autre moteur de cryptogramme, pour générer un cryptogramme intermédiaire. Un second opérateur logique peut recevoir le cryptogramme intermédiaire généré par l'unité de chiffrement et le cryptogramme intermédiaire généré par le premier opérateur logique. Dans un exemple de mode de réalisation, il est proposé un procédé pour faire fonctionner un bloc de ronde d'un moteur de cryptogramme, pour chiffrer des données d'émission. Le procédé peut inclure la génération d'un cryptogramme intermédiaire d'une unité de chiffrement et la génération d'un cryptogramme intermédiaire d'un premier opérateur logique, sur la base d'un nombre impair de cryptogrammes intermédiaires appliqués en entrée, incluant un cryptogramme intermédiaire provenant d'un autre moteur de cryptogramme. Un cryptogramme intermédiaire d'un second opérateur logique peut être généré sur la base d'informations d'entrée comprenant le cryptogramme intermédiaire de l'unité de chiffrement et le cryptogramme intermédiaire du premier opérateur logique. D'autres caractéristiques et avantages de l'invention seront mieux compris à la lecture de la description qui va suivre de modes de réalisation, donnés à titre d'exemples non limitatifs. La suite de la description se réfère aux dessins annexés, dans lesquels: la figure 1 est un schéma synoptique d'un moteur cryptographique matériel de l'art antérieur. La figure 2 est un schéma de deux blocs de ronde représentés sur la figure 1. La figure 3 est un schéma synoptique d'un moteur cryptographique matériel conforme à un exemple de mode de réalisation de la présente invention. La figure 4 est un schéma partiel d'un exemple de fonctionnalité de moteurs de cryptogramme. La figure 5 est un schéma partiel d'un autre exemple de fonctionnalité de moteurs de cryptogramme. La figure 6 est un schéma partiel d'un autre 35 exemple de fonctionnalité de moteurs de cryptogramme. La figure 7 est un schéma synoptique d'un moteur cryptographique matériel conforme à un autre exemple de mode de réalisation de la présente invention. Des numéros de référence semblables peuvent être 5 utilisés dans l'ensemble des dessins pour désigner des éléments semblables. En se référant à la figure 3, on note qu'un moteur cryptographique matériel conforme à un mode de réalisation de la présente invention constituant un exemple non limitatif, peut inclure un premier moteur de cryptogramme 310, un second moteur de cryptogramme 320, une unité de comparaison 330 et une unité de sortie de données de chiffrement 340. Dans toute la description, on fera référence à un "cryptogramme intermédiaire", qui peut indiquer un cryptogramme à un stade intermédiaire de traitement par les moteurs de cryptogramme 310, 320. En outre, les termes "premier" et "second" peuvent être utilisés comme des adjectifs pour indiquer des caractéristiques respectivement associées aux premier et second moteurs de cryptogramme 310, 320. Par exemple, le terme "premier cryptogramme intermédiaire" peut indiquer un cryptogramme intermédiaire généré par le premier moteur de cryptogramme 310, tandis que le terme "second cryptogramme intermédiaire" peut indiquer un cryptogramme intermédiaire généré par le second moteur de cryptogramme 320. Le premier moteur de cryptogramme 310 peut chiffrer les données d'émission (TXD) appliquées en entrée. Pendant le processus de chiffrement, le premier moteur de cryptogramme 310 peut recevoir un second cryptogramme intermédiaire provenant du second moteur de cryptogramme 320, générer un premier cryptogramme intermédiaire, et en utilisant le premier cryptogramme intermédiaire, générer et fournir en sortie un premier cryptogramme final (CRYPTA). Le second moteur de cryptogramme 320 peut également chiffrer les données d'émission (TXD) appliquées en entrée. Pendant le processus de chiffrement, le second moteur de cryptogramme 320 peut appliquer un second cryptogramme intermédiaire généré dans chaque ronde au premier moteur de cryptogramme 310, et également à une ronde suivante dans le second moteur de cryptogramme 320. Le second moteur de cryptogramme 320 peut générer et fournir en sortie un second cryptogramme final (CRYPTB). L'unité de comparaison 330 peut générer un signal de commande de sortie (SAMD) ayant un état logique différent selon que le premier cryptogramme final (CRYPTA) est le même, ou non, que le second cryptogramme final (CRYPTB). L'unité de sortie de données de chiffrement 340 peut fournir en sortie un cryptogramme final (CRYPTD) lorsque le premier cryptogramme final (CRYPTA) est le même que le second cryptogramme final (CRYPTB), comme indiqué par l'état logique du signal de commande de sortie (SAMD). Par exemple, en réponse à un état actif du signal de commande de sortie (SAMD) (par exemple un état logique "haut"), l'unité de sortie de données de chiffrement 340 peut fournir en sortie le cryptogramme final (CRYPTD). Pour la commodité de l'explication, et pour faciliter la compréhension, la figure 3 illustre un scénario dans lequel le cryptogramme intermédiaire fourni en sortie de chaque ronde du second moteur de cryptogramme 320 peut être appliqué à une ronde correspondante du premier moteur de cryptogramme 310 sur la figure 3. L'invention n'est cependant pas ainsi limitée à cet égard, et peut être modifiée d'une variété de manières. Par exemple, des cryptogrammes intermédiaires peuvent être émis seulement à partir de rondes sélectionnées du second moteur de cryptogramme 320, et appliqués à des rondes correspondantes du premier moteur de cryptogramme 310. De plus, un cryptogramme intermédiaire provenant d'une ronde du second moteur de cryptogramme 320 peut être envoyé à plus d'une ronde du premier moteur de cryptogramme 310. La figure 4 est un schéma partiel d'un exemple de fonctionnalité des moteurs de cryptogramme 310, 320 représentés sur la figure 3. Ici, des blocs de ronde du premier moteur de cryptogramme 310 peuvent être représentés du côté gauche, tandis que des blocs de ronde du second moteur de cryptogramme 320 peuvent être représentés du côté droit. Chaque bloc de ronde du premier moteur de cryptogramme 310 peut inclure deux circuits logiques OU-EX et une unité de chiffrement (F). Par exemple, le bloc de ronde du premier moteur de cryptogramme 310 représenté sur la figure 4 peut inclure un circuit logique OU-EX supérieur 318, un circuit logique OU-EX inférieur 319 et une unité de chiffrement 313. Chaque bloc de ronde du second moteur de cryptogramme 320 peut inclure un circuit logique OU-EX et une unité de chiffrement. Par exemple, le bloc de ronde le plus bas du second moteur de cryptogramme 320 représenté sur la figure 4 peut inclure le circuit logique OU-EX 328 et l'unité de chiffrement 323. Les blocs de ronde décrits ci-dessus peuvent être disposés de manière répétée dans chacun des moteurs de cryptogramme 310, 320. D'autres conceptions sont cependant possibles. Dans une structure d'algorithme DES caractéristique, les blocs de ronde peuvent effectuer un chiffrement de façon répétée sur 16 rondes. Les unités de chiffrement (F) peuvent recevoir des clés prédéterminées conformément à l'algorithme DES, et peuvent chiffrer des données et les fournir en sortie. En comparaison avec le second moteur de cryptogramme 320, le premier moteur de cryptogramme 310 peut inclure des blocs de ronde ayant un circuit logique OU-EX supplémentaire (par exemple le circuit logique OU-EX supérieur 318). Le circuit logique OU-EX supplémentaire, qui peut être présent dans chacun des blocs de ronde du premier moteur de cryptogramme 310, peut renforcer une fonction de détection de défaut. En outre, bien que les circuits logiques OU-EX supplémentaires puissent être incorporés dans les blocs de ronde du premier moteur de cryptogramme 310, lorsque les premier et second moteurs de cryptogramme 310, 320 sont dépourvus de défauts, les premier et second moteurs de cryptogramme 310, 320 peuvent fonctionner en ayant des valeurs symétriquement identiques dans des emplacements logiques identiques, comme décrit ci-dessous de façon plus détaillée. Chacun de la multiplicité de blocs de ronde du premier moteur de cryptogramme 310 peut recevoir un nombre impair d'informations d'entrée, incluant des premiers cryptogrammes intermédiaires provenant de blocs de ronde précédents du premier moteur de cryptogramme 310, et un second cryptogramme intermédiaire provenant d'un bloc de ronde correspondant du second moteur de cryptogramme 320. On considérera le bloc de ronde le plus bas du premier moteur de cryptogramme 310 représenté sur la figure 4. Ce bloc de ronde peut recevoir deux premiers cryptogrammes intermédiaires A, B (provenant de blocs de ronde précédents du premier moteur de cryptogramme 310), et le second cryptogramme intermédiaire C (provenant du second moteur de cryptogramme 320). Les trois cryptogrammes intermédiaires A, B, C peuvent être appliqués à des entrées du circuit logique OU-EX supplémentaire 318 du bloc de ronde. Dans un scénario sans défaut, tous les cryptogrammes intermédiaires A, B, C peuvent avoir la même valeur. Ainsi, un nombre impair de cryptogrammes intermédiaires identiques (incluant le second cryptogramme intermédiaire C) peuvent être des informations d'entrée du circuit logique OU-EX 318. Lorsque les informations d'entrée A, B, C en nombre impair sont identiques, le cryptogramme intermédiaire D qui est fourni en sortie du circuit logique OU-EX 318 peut être normal (c'est-à-dire qu'il n'y a pas de défaut). Ici, le cryptogramme intermédiaire D provenant du circuit logique OU-EX 318 peut être identique au second cryptogramme intermédiaire C. Le cryptogramme intermédiaire D peut être une information d'entrée du circuit logique OU- EX 319 du bloc de ronde dans le premier moteur de cryptogramme 310, tandis que le second cryptogramme intermédiaire C peut être une information d'entrée du circuit logique OU-EX 328 d'un bloc de ronde correspondant dans le second moteur de cryptogramme 320. De cette manière, les premier et second moteurs de cryptogramme 310, 320 peuvent fonctionner en ayant des valeurs identiques dans des emplacements logiques identiques. Dans cet exemple de mode de réalisation, le nombre impair d'informations d'entrée A, B, C du circuit logique OU-EX supplémentaire (par exemple 318) peut être de 3. L'invention n'est cependant pas ainsi limitée et le nombre d'informations d'entrée peut être supérieur à 3. La fonctionnalité des circuits logiques OU-EX supplémentaires (par exemple 318) recevant un nombre impair (qui peut être de 3 ou plus) de cryptogrammes intermédiaires identiques, peut être représentée par l'équation 1 suivante. Dans l'équation 1, m peut désigner une valeur de données numériques des cryptogrammes intermédiaires, et O+ peut désigner un opérateur logique OU-Exclusif (OU- EX) m m m = m Par conséquent, dans l'exemple ci-dessus, A, B, C et D peuvent être dans des emplacements d'opérations logiques identiques, et à moins qu'il y ait un défaut, ils peuvent être les mêmes cryptogrammes intermédiaires. Le circuit logique OU-EX supplémentaire (par exemple 318) recevant trois, ou plus, cryptogrammes intermédiaires identiques, en nombre impair, peut être disposé dans chacun des blocs de ronde. Cependant, en fonction de l'objectif et de la complexité d'un circuit, un bloc de ronde peut inclure plus d'un circuit logique OU-EX supplémentaire. On va maintenant considérer un scénario dans lequel des défauts peuvent se produire à la fois dans les premier et second moteurs de cryptogramme 310, 320. Même si les défauts sont identiques et se produisent à des emplacements correspondants des premier et second moteurs de cryptogramme 310, 320, le cryptogramme final (CRYPTA) fourni en sortie du premier moteur de cryptogramme 310 peut être différent du cryptogramme final (CRYPTB) fourni en sortie du second moteur de cryptogramme 320. Par exemple, et en référence à la figure 4, on suppose qu'un défaut se produit dans le second moteur de cryptogramme 320 à l'emplacement d'opération logique qui peut générer le second cryptogramme intermédiaire C. On suppose en outre qu'un défaut identique se produit dans le premiermoteur de cryptogramme 310 à l'emplacement d'opération logique qui peut générer le premier cryptogramme intermédiaire A. Ici, à la fois le second cryptogramme intermédiaire C et le premier cryptogramme intermédiaire A peuvent être affectés par un défaut, et le premier cryptogramme intermédiaire B peut ne pas être affecté par un défaut. Par conséquent, en référence à l'équation 1 ci-dessus, la valeur des cryptogrammes A et C peut être changée de m à m'. Ainsi, m' peut désigner la valeur de données numériques des cryptogrammes intermédiaires A, C affectés par des défauts. Sur la base de ces informations d'entrée, le circuit logique OU-EX 318 peut fournit en sortie un cryptogramme intermédiaire D ayant la valeur m. Cette fonctionnalité peut être représentée par l'équation 2 suivante: m e m' O+ m' m Ainsi, le premier cryptogramme final (CRYPTA) peut être ensuite chiffré et généré en utilisant le cryptogramme intermédiaire D (ayant une valeur de m), tandis que le second cryptogramme final (CRYPTB) peut ensuite être chiffré et généré en utilisant le cryptogramme intermédiaire C (ayant une valeur de m'). Il en résulte que le premier cryptogramme final (CRYPTA) peut être différent du second cryptogramme final (CRYPTB), de façon que l'apparition des défauts puisse être détectée de manière appropriée. La figure 5 est un schéma partiel d'un autre exemple de fonctionnalité des moteurs de cryptogramme représentés sur la figure 3. Ici, un bloc de ronde du premier moteur de cryptogramme 310 peut recevoir le second cryptogramme intermédiaire (par exemple D5) provenant du second moteur de cryptogramme 320, et une multiplicité de premiers cryptogrammes intermédiaires (par exemple Dl à D4) dans le premier moteur de cryptogramme 310, qui peuvent avoir le même cryptogramme que le cryptogramme intermédiaire D5. De façon plus spécifique, le bloc de ronde du premier moteur de cryptogramme 310 peut inclure un circuit logique OU- EX supplémentaire (par exemple 511) qui peut recevoir en tant qu'information d'entrée les cryptogrammes Dl à D5. Si ces cinq cryptogrammes intermédiaires sont identiques, alors la fonctionnalité du circuit logique OU-EX (par exemple 511) peut être représentée par l'équation 3 suivante: mGm( mmO+m=m... (3) Comme décrit ci-dessus, le second moteur de cryptogramme 320 peut également inclure une multiplicité de blocs de ronde. Chacun des blocs de ronde disposés dans le second moteur de cryptogramme 320 peut fournir en sortie un second cryptogramme intermédiaire. La figure 6 est un schéma partiel d'un autre exemple de fonctionnalité des moteurs de cryptogramme représentés sur la figure 3. Ici, pendant le chiffrement de données d'entrée d'émission (TXD), le second moteur de cryptogramme 320 peut recevoir un premier cryptogramme intermédiaire (par exemple F2) provenant du premier moteur de cryptogramme 310, générer un second cryptogramme intermédiaire (F4), et en utilisant le second cryptogramme intermédiaire (F4), générer et fournir en sortie le second cryptogramme final (CRYPTB). De façon plus spécifique, le bloc de ronde du second moteur de cryptogramme 320 peut inclure un circuit logique OU- EX supplémentaire (par exemple 641). Le circuit logique OU-EX supplémentaire peut recevoir un nombre impair (c'est-à-dire supérieur ou égal à 3) de cryptogrammes intermédiaires, incluant des seconds cryptogrammes intermédiaires (par exemple Fi, F3) dans le second moteur de cryptogramme 320 lui-même, et le premier cryptogramme intermédiaire (par exemple F2) provenant du premier moteur de cryptogramme. Les seconds cryptogrammes intermédiaires (par exemple F1, F3) peuvent avoir la même valeur que le premier cryptogramme intermédiaire (F2). Par conséquent, dans un scénario dans lequel il n'y a pas de défaut, l'emplacement d'opération logique et le cryptogramme de l'information de sortie (F4) du circuit logique OU-EX 641 peuvent être les mêmes que ceux du premier cryptogramme intermédiaire (F2). La figure 7 est un schéma synoptique d'un moteur cryptographique matériel conforme à un autre exemple de mode de réalisation de la présente invention. Ici, le moteur cryptographique matériel peut inclure une multiplicité de moteurs de cryptogramme 710, 720, 730, une unité de comparaison 740 et une unité de sortie de données de chiffrement 750. Chacun des moteurs de cryptogramme 710, 720, 730 peut inclure une multiplicité de blocs de ronde. Chacun des blocs de ronde peut avoir une structure et une fonctionnalité qui sont similaires à la structure et à la fonctionnalité de n'importe lesquels des blocs de ronde représentés sur les figures 4 à 6. Chacun des moteurs de cryptogramme 710, 720, 730 peut chiffrer des données d'entrée d'émission (TXD). En effectuant ceci, chaque moteur de cryptogramme peut recevoir et traiter des cryptogrammes intermédiaires provenant d'autres moteurs, et générer un cryptogramme intermédiaire qui peut avoir le même emplacement d'opération logique et le même cryptogramme que ceux des autres moteurs. En utilisant les cryptogrammes intermédiaires générés et par des opérations utilisant des valeurs symétriquement identiques, les moteurs de cryptogramme 710, 720, 730 peuvent respectivement générer et fournir en sortie des cryptogrammes finals (CRYPT1), (CRYPT2), (CRYPTN). En plus du cryptogramme intermédiaire provenant des autres moteurs, chaque bloc de ronde des moteurs de cryptogramme 710, 720, 730 peut en outre recevoir d'autres cryptogrammes intermédiaires qui peuvent avoir la même valeur que le cryptogramme intermédiaire provenant des autres moteurs. De cette manière, un circuit logique OU-EX de chaque bloc de ronde peut recevoir un nombre impair (qui est supérieur ou égal à trois) de cryptogrammes intermédiaires identiques, incluant le cryptogramme intermédiaire reçu d'un autre moteur. L'emplacement d'opération logique et le cryptogramme de l'information de sortie du circuit logique OU-EX peuvent être les mêmes que ceux du cryptogramme intermédiaire de l'autre moteur. Ici, le circuit logique OU-EX recevant les cryptogrammes intermédiaires identiques, en un nombre impair de trois ou plus, peut être disposé dans chacun des blocs de ronde. De plus, un circuit OU-EX recevant des cryptogrammes intermédiaires identiques en un nombre impair de trois ou plus, peut être disposé dans chaque bloc de ronde de deux moteurs de cryptogramme voisins. L'unité de comparaison 740 peut générer et fournir en sortie un signal de commande (SAMD) qui peut avoir un état logique différent sous la dépendance du fait que les cryptogrammes finals provenant des moteurs de cryptogramme 710, 720, 730 sont tous les mêmes, ou non. L'unité de sortie de données de chiffrement 750 (en réponse à l'état logique du signal de commande de sortie (SAMD)) peut fournir en sortie l'un des cryptogrammes finals (CRYPT1 à CRYPTN) comme un cryptogramme final normal (CRYPTD) lorsque les cryptogrammes finals (CRYPT1 à CRYPTN) sont tous les mêmes. Par exemple, en réponse à un état actif du signal de commande de sortie (SAMD), l'unité de sortie de données de chiffrement 750 peut fournir en sortie l'un des cryptogrammes finals (CRYPT1 à CRYPTN) comme un cryptogramme final (CRYPTD). Ainsi, dans le moteur cryptographique matériel représenté sur la figure 7, si un défaut se produit à un emplacement d'opération logique d'un moteur particulier, et si un défaut identique se produit au même emplacement d'opération logique dans un autre moteur, le moteur recevant le cryptogramme intermédiaire provenant de l'autre moteur peut fournir en sortie un cryptogramme final qui peut être différent de celui de l'autre moteur. Conformément à cet exemple de mode de réalisation de la présente invention, chacun des moteurs de cryptogramme 710, 720, 730 peut avoir une multiplicité de blocs de ronde. Chaque bloc de ronde peut recevoir un nombre impair (supérieur ou égal à trois) de cryptogrammes intermédiaires, incluant un cryptogramme intermédiaire reçu d'un autre moteur. Les cryptogrammes intermédiaires en nombre impair peuvent être des informations d'entrée d'un circuit logique OU-EX d'un bloc de ronde. Lorsque les informations d'entrée du circuit logique OU-EX sont identiques, l'emplacement d'opération logique et le cryptogramme de l'information de sortie du circuit logique OU-EX peuvent être les mêmes que le cryptogramme intermédiaire reçu de l'autre moteur. Par conséquent, même lorsqu'un défaut identique se produit dans des emplacements identiques d'une multiplicité de moteurs de cryptogramme 710, 720, 730, le défaut peut être détecté avant de fournir en sortie un résultat de chiffrement final. Comme décrit ci-dessus, dans un processus accomplissant des opérations de chiffrement parallèles conformément à un algorithme symétrique (comme par exemple le DES) en utilisant deux moteurs de cryptogramme matériels, ou plus, même lorsqu'un défaut identique se produit dans des emplacements identiques, le moteur cryptographique matériel à traitement en parallèle interdépendant peut détecter le défaut avant de fournir en sortie un résultat de chiffrement final. De cette manière, il est possible d'éviter une fuite d'information secrète. Par conséquent, le moteur peut être robuste contre une attaque sur défaut, et peut avoir une vitesse de fonctionnement élevée du fait qu'il n'effectue pas l'opération de chiffrement de façon répétée. Des exemples de modes de réalisation de l'invention ont été expliqués cidessus et illustrés dans les figures. La présente invention n'est cependant pas limitée aux modes de réalisation exposés, du fait que l'homme de l'art pourra mettre en oeuvre des modifications nombreuses et variées, sans sortir de l'esprit et du cadre de l'invention tels qu'ils sont définis dans les revendications annexées. Par exemple, les éléments sur les figures 3-7 décrivant les exemples d'appareils et de procédés peuvent être mis en uvre par matériel et/ou logiciel. Les formes de réalisation matérielles / logicielles peuvent inclure une combinaison de processeur(s) et de produit(s) manufacturé(s). Le ou les produits manufacturés peuvent inclure des supports de stockage et un ou plusieurs programmes exécutables par un ordinateur. Le ou les programmes exécutables par un ordinateur peuvent inclure les instructions pour accomplir les opérations ou les fonctions décrites. Le ou les programmes exécutables par un ordinateur peuvent être fournis sous la forme d'une partie d'un ou de plusieurs signaux se propageant, provenant de l'extérieur. De telles modifications ne doivent pas être considérées comme hors de l'esprit et du cadre des exemples de modes de réalisation de la présente invention, et on considère que toutes les modifications qui seraient évidentes pour l'homme de l'art sont incluses dans le cadre des revendications suivantes. REVENDICATIONS 1. Moteur cryptographique matériel pour chiffrer des données d'émission (TXD), le moteur cryptographique matériel étant caractérisé en ce qu'il comprend: une multiplicité de moteurs de cryptogramme (310, 320) qui génèrent des cryptogrammes intermédiaires, un premier (310) des moteurs de cryptogramme recevant un second cryptogramme intermédiaire fourni en sortie d'un second des moteurs de cryptogramme (320) pour générer un premier cryptogramme intermédiaire. 2. Moteur cryptographique matériel selon la revendication 1, caractérisé en ce que les premier et second cryptogrammes intermédiaires sont identiques si aucun défaut ne se produit. 3. Moteur cryptographique matériel pour chiffrer des données d'émission (TXD), le moteur cryptographique matériel étant caractérisé en ce qu'il comprend un premier moteur de cryptogramme (310) qui reçoit un second cryptogramme intermédiaire (C) émis par un second moteur de cryptogramme (320), génère un premier cryptogramme intermédiaire (A, B), et utilise le premier cryptogramme intermédiaire (A, B) pour générer et fournir en sortie un premier cryptogramme final (CRYPTA); le second moteur de cryptogramme (320) qui fournit en sortie le second cryptogramme intermédiaire (C), et utilise le second cryptogramme intermédiaire (C) pour générer et fournir en sortie un second cryptogramme final (CRYPTB); une unité de comparaison (330) qui génère et fournit en sortie un signal de commande (SAMD) ayant un état logique qui dépend du fait que le premier cryptogramme final (CRYPTA) est le même ou non que le second cryptogramme final (CRYPTB); et une unité de sortie de données de chiffrement (340) qui réagit à l'état logique du signal de commande (SAMD) , et fournit en sortie un cryptogramme final (CRYPTD) lorsque le premier cryptogramme final (CRYPTA) est le même que le second cryptogramme final (CRYPTB). 4. Moteur cryptographique matériel selon la revendication 3, caractérisé en ce que le second moteur de cryptogramme (320) reçoit le premier cryptogramme intermédiaire provenant du premier moteur de cryptogramme (310) et génère le second cryptogramme intermédiaire. 5. Moteur cryptographique matériel selon la revendication 4, caractérisé en ce que chacun du premier moteur de cryptogramme {310) et du second moteur de cryptogramme (320) comprend une multiplicité de blocs de ronde et un circuit logique avec pour informations d'entrée un premier cryptogramme intermédiaire respectif et un second cryptogramme intermédiaire respectif, chacun des blocs de ronde du premier moteur de cryptogramme (310) génère le premier cryptogramme intermédiaire respectif, et chacun des blocs de ronde du second moteur de cryptogramme (320) génère le second cryptogramme intermédiaire respectif. 6. Moteur cryptographique matériel selon la revendication 5, caractérisé en ce que le premier cryptogramme intermédiaire respectif et le second cryptogramme intermédiaire respectif sont identiques si aucun défaut ne se produit. 7. Moteur cryptographique matériel selon la revendication 5, caractérisé en ce que le circuit logique a en outre des informations d'entrée constituées d'autres cryptogrammes intermédiaires qui sont les mêmes que le second cryptogramme intermédiaire respectif dans le second moteur de cryptogramme (320), et des informations d'entrée consistant en d'autres cryptogrammes intermédiaires qui sont les mêmes que le premier cryptogramme intermédiaire respectif dans le premier moteur de cryptogramme (310). 8. Moteur cryptographique matériel selon la revendication 5, caractérisé en ce qu'un nombre impair de cryptogrammes intermédiaires sont appliqués au circuit logique. 9. Moteur cryptographique matériel selon la revendication 5, caractérisé en ce que le circuit logique est disposé dans chaque bloc de ronde. 10. Moteur cryptographique matériel selon la revendication 5, caractérisé en ce que le circuit logique est disposé au moins une fois dans chaque bloc de ronde de deux moteurs de cryptogramme (310, 320) voisins. 11. Procédé de chiffrement de données d'émission, caractérisé en ce qu'il comprend les étapes suivantes: on introduit un second cryptogramme intermédiaire d'un second moteur de cryptogramme (320) dans un premier moteur de cryptogramme (310); et on génère un premier cryptogramme intermédiaire du premier moteur de cryptogramme (310) en utilisant le second cryptogramme intermédiaire. 12. Procédé selon la revendication 11, caractérisé en ce que les premier et second cryptogrammes intermédiaires sont identiques si aucun défaut ne se produit. 13. Procédé de chiffrement de données d'émission (TXD), caractérisé en ce qu'il comprend les étapes suivantes: on effectue un premier chiffrement qui fait intervenir la réception d'un second cryptogramme intermédiaire pour générer un premier cryptogramme intermédiaire, et on utilise le premier cryptogramme intermédiaire pour générer et fournir en sortie un premier cryptogramme final (CRYPTA); on effectue un second chiffrement qui fait intervenir l'émission du second cryptogramme intermédiaire, et on utilise le second cryptogramme intermédiaire pour générer et fournir en sortie un second cryptogramme final (CRYPTB); on génère et on fournit en sortie un signal de commande (SAMD) ayant un état logique qui dépend du fait que le premier cryptogramme final (CRYPTA) est le même ou non que le second cryptogramme final (CRYPTB); et on réagit à l'état logique du signal de commande (SAND) en fournissant en sortie un cryptogramme final (CRYPTD) lorsque le premier cryptogramme final (CRYPTA) est le même que le second cryptogramme final (CRYPTB). 14. Procédé selon la revendication 13, caractérisé en ce que le second chiffrement fait en outre intervenir la réception du premier cryptogramme intermédiaire et la génération du second cryptogramme intermédiaire. 15. Procédé selon la revendication 14, caractérisé en ce que le premier chiffrement est effectué dans une multiplicité de blocs de ronde d'un premier moteur de cryptogramme (310), le second chiffrement est effectué dans une multiplicité de blocs de ronde d'un second moteur de cryptogramme (320), et le premier moteur de cryptogramme (310) et le second moteur de cryptogramme (320) utilisent un circuit logique recevant en tant qu'informations d'entrée un premier cryptogramme intermédiaire respectif et un second cryptogramme intermédiaire respectif. 16. Procédé selon la revendication 15, caractérisé en ce que le premier cryptogramme intermédiaire respectif et le second cryptogramme intermédiaire respectif sont identiques si aucun défaut ne se produit. 17. Procédé selon la revendication 15, caractérisé en ce que le circuit logique a en outre des informations d'entrée consistant en d'autres cryptogrammes intermédiaires qui sont les mêmes que le second cryptogramme intermédiaire respectif dans le second moteur de cryptogramme (320), et des informations d'entrée consistant en d'autres cryptogrammes intermédiaires qui sont les mêmes que le premier cryptogramme intermédiaire respectif dans le premier moteur de cryptogramme (310). 18. Procédé selon la revendication 15, caractérisé en ce qu'un nombre impair de cryptogrammes intermédiaires sont appliqués au circuit logique. 19. Procédé selon la revendication 15, caractérisé en ce que le circuit logique est disposé dans chaque bloc 35 de ronde. 20. Procédé selon la revendication 15, caractérisé en ce que le circuit logique est utilisé au moins une fois dans chaque bloc de ronde de deux moteurs de cryptogramme (310, 320) voisins. 21. Moteur cryptographique matériel caractérisé en ce qu'il est configuré pour chiffrer des données d'émission (TXD) conformément au procédé de la revendication 11. 22. Moteur cryptographique matériel caractérisé en ce qu'il est configuré pour chiffrer des données d'émission (TXD) conformément au procédé de la revendication 13. 23. Moteur de cryptogramme (310) pour chiffrer des données d'émission (TXD), le moteur de cryptogramme étant caractérisé en ce qu'il comprend. une multiplicité de blocs de ronde qui génèrent des cryptogrammes intermédiaires respectifs; dans lequel l'un des blocs de ronde reçoit un nombre impair d'informations d'entrée consistant en cryptogrammes intermédiaires, incluant un cryptogramme intermédiaire (G, C) provenant d'un autre moteur de cryptogramme (320), pour générer le cryptogramme intermédiaire respectif. 24. Procédé pour faire fonctionner un moteur de cryptogramme (310), caractérisé en ce qu'il comprend les étapes suivantes on introduit un nombre impair de cryptogrammes intermédiaires, incluant un cryptogramme intermédiaire (G, C) provenant d'un autre moteur de cryptogramme {320); et on génère un cryptogramme de sortie (CRYPTA) à partir du nombre impair de cryptogrammes intermédiaires. 25. Bloc de ronde d'un moteur de cryptogramme (310) pour chiffrer des données d'émission (TXD), le bloc de ronde étant caractérisé en ce qu'il comprend: une unité de chiffrement (F) qui génère un cryptogramme intermédiaire; un premier opérateur logique (314, 316, 318) qui reçoit un nombre impair de cryptogrammes intermédiaires, incluant un cryptogramme intermédiaire (G, C) provenant d'un autre moteur de cryptogramme (320), pour générer un cryptogramme intermédiaire 317, 319) qui par l'unité intermédiaire logique (314, 26.(H, D); et un second opérateur logique (315, reçoit le cryptogramme intermédiaire généré de chiffrement (F) et le cryptogramme (H, D) généré par le premier opérateur 316, 318). pour faire fonctionner un bloc de ronde Procédé d'un moteur de cryptogramme (310) pour chiffrer des données d'émission (TXD), le procédé étant caractérisé en ce qu'il comprend les étapes suivantes: on génère un cryptogramme intermédiaire d'une unité de chiffrement (F); on génère un cryptogramme intermédiaire (H, D) d'un premier opérateur logique (314, 316, 318) sur la base d'informations d'entrée consistant en un nombre impair de cryptogrammes intermédiaires, incluant un cryptogramme intermédiaire (G, C) provenant d'un autre moteur de cryptogramme (320); et on génère un cryptogramme intermédiaire d'un second opérateur logique (315, 317, 319) sur la base d'informations d'entrée comprenant le cryptogramme intermédiaire de l'unité de chiffrement (F) et le cryptogramme intermédiaire (H, D) du premier opérateur logique (314, 316, 318). 27. Moteur de cryptogramme, caractérisé en ce qu'il est configuré pour fonctionner conformément au procédé de la revendication 24. 28. Bloc de ronde d'un moteur de cryptogramme, 25 caractérisé en ce que le bloc de ronde est configuré pour fonctionner conformément au procédé de la revendication 26.