Dispositif, système, et procédé de masquage de données traitées dans un circuit intégré
Renvoi
Cette demande revendique la priorité et les droits de la demande de brevet américain provisoire 60/929,784, intitulée « Method and device for power trace obfuscation >>, qui a été déposée le 12 juillet 2007 et dont la description complète est incorporée ici par référence. État de la technique
Un dispositif de cryptographie, par exemple un circuit intégré cryptographique (IC), peut recevoir des données d'entrée et générer des données de sortie en traitant en interne de données secrètes, par exemple, une clé de chiffrement, une clé secrète, une information secrète déchiffrée à partir des données d'entrée, et/ou toutes autres données appropriées.
Un ou plusieurs paramètres, représentant des « effets de bord » qui sont liés à un fonctionnement du dispositif cryptographique, peuvent être corrélés aux données secrètes. Par exemple, une variation de la consommation et/ou du rayonnement électromagnétique (EM) du dispositif cryptographique peut être corrélée aux données secrètes traitées par le dispositif. Par conséquent, une tentative de détection des données secrètes (« attaque ») peut inclure la mesure d'un ou plusieurs effets de bord du dispositif afin de déduire et/ou de découvrir les données secrètes. Par exemple, une attaque par canal auxiliaire, par exemple une attaque par analyse de puissance différentielle auxiliaire, par exemple une attaque par analyse de puissance différentielle (DPA : Differential Power Analysis), peut inclure l'analyse de la consommation du dispositif cryptographique afin de découvrir les données secrètes.
Un moyen pour s’opposer à une attaque par DPA consiste à utiliser une logique de précharge double rail (dual-rail préchargé), comme c’est décrit dans « Masked Dual-Rail Pre-Charge Logic : DPA-Resistance without Routing Constraints », Tomas Popp and Stefan Mangard, Cryptographie Hardware and Embedded Systems (CHES) 2005. Cependant, cette mise en oeuvre entraîne une augmentation importante de la surface.
Un autre moyen de s’opposer consiste à masquer les données secrètes. Cependant, une telle mise en oeuvre peut être insuffisante si des pointes de tension surviennent à l'intérieur des circuits logiques du dispositif cryptographique, comme cela a été décrit dans « Successfully Attacking Masked AES Hardware Implémentation », Stefan Mangard, Norbert Pramstaller and Elisabeth Oswald, CHES 2005. Résumé
Certains modes de réalisation incluent, par exemple des dispositifs, des systèmes et des procédés de masquage de données, par exemple de données secrètes, traitées dans un circuit intégré ou analogue.
Dans certains modes de réalisation, une modification sélectionnée de façon pseudo-aléatoire peut être appliquée à un modèle de transition d'état d'au moins un signal, qui est lié à, et/ou impliqué dans, le traitement des données secrètes. Dans un mode de réalisation, le signal peut inclure les données secrètes ou en faire partie.
Dans un autre mode de réalisation, le signal peut ne pas faire partie des données secrètes, mais peut être traité conjointement avec les données secrètes, et/ou peut affecter le traitement des données secrètes par tout moyen approprié.
Dans certains modes de réalisation, la modification sélectionnée de façon pseudo-aléatoire peut imposer des variations de la consommation et/ou du rayonnement électromagnétique (EM) du circuit intégré, ce qui peut se traduire par des lignes de puissance du circuit intégré, d'une manière qui ne peut pas être prédite par un observateur extérieur, par exemple un observateur extérieur malveillant ou un pirate. En conséquence, il peut être pratiquement impossible pour l'observateur extérieur de déduire et/ou de découvrir les données secrètes en mesurant et/ou en interprétant les variations de la consommation et/ou du rayonnement EM.
Certains modes de réalisation incluent un circuit intégré qui contient un modificateur de signal permettant d'introduire une modification sélectionnée de façon pseudo-aléatoire dans un modèle de transition d'état d'au moins un signal, ce qui est lié au traitement interne de données dans les circuits intégrés.
Dans certains modes de réalisation, le modificateur de signal va générer au moins un signal modifié en introduisant la modification sélectionnée de façon pseudo-aléatoire dans un modèle de transition d'état d'un signal d'entrée. Le circuit intégré peut inclure un circuit logique permettant d'effectuer une opération logique sur le signal modifié.
Dans certains modes de réalisation, le modificateur de signal va introduire une modification sélectionnée de façon pseudo-aléatoire dans au moins une transition d'état parmi un certain nombre de transitions d'état et dans le déroulement d’une ou plusieurs transitions d’état du signal pendant un cycle d'horloge.
Dans certains modes de réalisation, pendant le cycle d'horloge, un certain nombre de transitions d'état dans le signal modifié et un certain nombre de transition d'état dans le signal d'entrée ont la même parité.
Dans certains modes de réalisation, le modificateur de signal va retarder le signal d'entrée avec un retard prédéfini, et va réaliser une opération logique XOR sur le signal retardé et sur un signal d’impulsion de tension transitoire sélectionné de façon pseudo-aléatoire parmi au moins des premier et deuxième signaux d’impulsion de tension prédéfinis de durées différentes.
Dans certains modes de réalisation, une première transition d'état du premier signal d’impulsion de tension et une première transition d'état du deuxième signal d’impulsion de tension surviennent sensiblement en même temps ; une deuxième transition d'état du premier signal d’impulsion de tension survient avant une deuxième transition d'état du deuxième signal d’impulsion de tension ; et la durée du retard prédéfini dépend de la deuxième transition d’état du deuxième signal d’impulsion de tension.
Dans certains modes de réalisation, le modificateur de signal va masquer le résultat de l'opération XOR conformément à un signal de masquage, qui est fondé sur la durée du retard prédéfini et sur la deuxième transition d’état du deuxième signal d’impulsion de tension.
Dans certains modes de réalisation, le modificateur de signal peut inclure deux ou plusieurs modules de fonctions destinés à générer au moins un ensemble de deux ou plusieurs signaux intermédiaires respectifs en appliquant à au moins un signal d'entrée deux ou plusieurs fonctions logiquement identique qui ont au moins deux retards différents, respectivement ; et au moins un sélectionneur permettant de générer au moins un signal modifié, respectivement, en sélectionnant de façon pseudoaléatoire l’un des deux ou plusieurs signaux intermédiaires.
Dans certains modes de réalisation, le circuit intégré peut inclure un circuit intégré cryptographique destiné à recevoir des données d'entrée et à générer des données de sortie en traitant les données en interne. La consommation du circuit intégré cryptographique est statistiquement indépendante des données.
Dans certains modes de réalisation, un procédé de masquage des données traitées en interne dans un circuit intégré peut inclure l'introduction d'une modification sélectionnée de façon pseudo-aléatoire dans un modèle de transition d’état d'au moins un signal, ce qui est lié au traitement des données.
Dans certains modes de réalisation, le procédé peut inclure la réalisation d'une opération logique sur un signal modifié résultant de l'introduction de la modification sélectionnée de façon pseudo-aléatoire.
Dans certains modes de réalisation, l'introduction peut inclure l'introduction d'une modification sélectionnée de façon pseudo-aléatoire dans au moins une transitions d'état parmi un certain nombre de transitions d'état et dans le déroulement d’une ou plusieurs transitions d'état du signal pendant un cycle d'horloge.
Dans certains modes de réalisation, l'introduction peut inclure le retardement du signal avec un retard sélectionné de façon pseudo-aléatoire.
Dans certains modes de réalisation, pendant le cycle d'horloge, un certain nombre d'états de transition d’état dans un signal modifié dû à l'introduction et un certain nombre de transitions d'état dans le signal ont la même parité.
Dans certains modes de réalisation, l'introduction peut inclure le retardement du signal avec un retard prédéfini ; et la réalisation d'une opération logique XOR sur le signal retardé et sur un signal d’impulsion de tension transitoire sélectionnée de façon pseudo-aléatoire parmi au moins des premier et deuxième signaux d’impulsion de tension transitoires prédéfinis de durées différentes.
Dans certains modes de réalisation, une première transition d’état du premier signal d’impulsion de tension et une première transition d’état du deuxième signal d’impulsion de tension surviennent sensiblement en même temps ; une deuxième transition d’état du premier signal d’impulsion de tension survient avant une deuxième transition d’état du deuxième signal d’impulsion de tension ; et la durée du retard prédéfini dépend de la deuxième transition d’état du deuxième signal d’impulsion de tension.
Dans certains modes de réalisation, l'introduction peut inclure le masquage du résultat de l'opération XOR conformément à un signal de masquage, qui est fondé sur la durée du retard prédéfini et sur la deuxième transition d’état du deuxième signal d’impulsion de tension.
Dans certains modes de réalisation, le procédé peut inclure l'application à au moins un signal de deux ou plusieurs fonctions logiquement identiques qui ont au moins deux retards différents, respectivement, ce qui permet de générer au moins un ensemble de deux ou plusieurs signaux intermédiaires respectifs ; et la génération d'au moins un signal modifié en sélectionnant de façon pseudo-aléatoire l'un des deux ou plusieurs signaux intermédiaires.
Dans certains modes de réalisation, la consommation du circuit intégré est statistiquement indépendante des données.
Certains modes de réalisation peuvent présenter d'autres intérêts et/ou avantages et/ou des intérêts et/ou avantages supplémentaires.
Description sommaire des dessins
Pour des raisons de simplicité et de clarté d'illustration, les éléments représentés dans les figures ne sont pas nécessairement dessinés à l'échelle. Par exemple, les dimensions de certains des éléments peuvent être exagérées par rapport à d'autres éléments pour des raisons de clarté de présentation. De plus, les références numériques peuvent être répétées d'une figure à l'autre pour indiquer des éléments correspondants ou analogues. La liste des figures est donnée ci-dessous.
La figure 1 représente un synoptique schématique d'un système, selon certains modes de réalisation démonstratifs.
La figure 2 est une représentation schématique d'un procédé de modification de signal, conformément à certains modes de réalisation démonstratifs.
La figure 3 est une représentation schématique d'un circuit incluant un modificateur de signal permettant de modifier un signal appliqué à un circuit logique ET, conformément à certains modes de réalisation démonstratifs.
La figure 4 est une représentation schématique d'une courbe de consommation de puissance résultant de l’absence d’application d'un retard à un signal d'entrée du circuit logique de la figure 3 ; et de deux courbes de consommation de puissance résultant de l’application de premier et deuxième retards respectifs au signal d'entrée, conformément à un mode de réalisation démonstratif.
Les figures 5, 6, 7 et 8 sont des représentations schématiques de quatre ensembles respectifs de premier et deuxième modèles de transition d'un signal modifié résultant de l'application de premier et deuxième procédés de modification à quatre modèles de transition d’état respectifs d'un signal pendant un cycle d'horloge, conformément à certains modes de réalisation démonstratifs.
La figure 9 est une représentation schématique d'un modificateur de signal, conformément à certains modes de réalisation démonstratifs.
Les figures 10, 11, 12 et 13 sont des représentations schématiques de modèles de transition d’état résultant de l'application à des modèles de transition d’état du signal des figures 5, 6, 7 et 8, respectivement, d'un retard prédéfini, d’un premier signal d’impulsion de tension transitoire, d'un deuxième signal d’impulsion de tension transitoire, et d’un signal de masquage, conformément à certains modes de réalisation démonstratifs.
La figure 14 représente un organigramme schématique d'un procédé de masquage de données traitées en interne dans un circuit intégré, conformément à certains modes de réalisation démonstratifs.
Description d’un mode préférentiel de l’invention
Dans la description détaillée suivante, il est donné de nombreux détails spécifiques permettant une compréhension exhaustive de certains modes de réalisation. Cependant, des hommes du métier auront à l'esprit que certains modes de réalisation peuvent être mis en pratique sans ces détails spécifiques. Dans d'autres exemples, des procédés, procédures, composants, unités et/ou circuits bien connus n’ont pas été décrits en détail afin de ne pas alourdir la présentation.
Les discussions qui utilisent ici des termes tels que, par exemple, « traitement », « calcul », « détermination », « établissement », « analyse », « vérification », ou analogue, font référence à une ou des opérations et/ou un ou des traitements effectués par un ordinateur, une plate-forme informatique, un système informatique, ou d'autres dispositifs de calcul électronique, qui manipulent et/ou transforment des données représentées sous forme de quantités physiques (par exemple électroniques) dans les registres et/ou mémoires de l'ordinateur en d’autres données représentées de façon similaire sous forme de quantités physiques dans les registres et/ou mémoires de l'ordinateur ou d’autres supports de stockage d'informations qui peuvent stocker des instructions permettant d'effectuer des opérations et/ou des traitements.
Les termes « pluralité » et « une pluralité », tels qu'ils sont utilisés ici, signifient, par exemple, « multiple » ou « deux ou plusieurs ». Par exemple, une « pluralité d'article » signifie « deux ou plusieurs articles ».
Les termes « aléatoire » et « pseudo-aléatoire » peuvent être utilisés ici de façon interchangeable pour signifier, par exemple, aléatoire, pseudoaléatoire, imprévisible et/ou désordonné. Par exemple, les termes « aléatoire » et/ou « pseudo-aléatoire », tels qu'ils sont utilisés ici de façon interchangeable, peuvent concerner un ou plusieurs éléments qui n’ont pas, ou semblent ne pas avoir, par exemple, pour un observateur manquant d'informations sur un procédé utilisé pour générer des éléments, d’ordre et/ou de structure, de caractère prévisible, une structure définie, qui sont, ou semblent être, désordonnés, chaotiques, désorganisés ; et un ou plusieurs éléments qui sont générés ou produits par un processus dont la grandeur de sortie ne suit pas, ou ne semble pas suivre, un modèle et/ou une règle descriptible, prévisible, défini et/ou déterministe. Les termes « sélection aléatoire » ou « sélection pseudo-aléatoire », tels qu'ils sont utilisés ici en relation avec un élément, signifient choix et/ou sélection de l’élément parmi deux ou plusieurs éléments selon un procédé de sélection aléatoire ou pseudo-aléatoire, par exemple, fondé sur un nombre ou un signal généré de façon aléatoire ou pseudo-aléatoire.
Le terme « donnée secrète », tel qu'il est utilisé ici, signifie toute information et/ou donnée appropriée, qui peut être traitée, stockée, conservée, manipulée, et/ou utilisée en interne par un dispositif, et qui n’est pas destinée à être révélée, divulguée, communiquée, exposée, fournie et délivrée en sortie par le dispositif. Le dispositif peut traiter la donnée secrète, par exemple, pour générer une donnée de sortie, fondée sur la donnée d'entrée reçue par le dispositif. Dans un exemple, la donnée secrète peut inclure une donnée cryptographique conservée ou stockée dans un dispositif de cryptographique, par exemple, une clé secrète, une clé de chiffrement, et analogue. Dans un autre exemple, la donnée secrète peut être fondée sur la donnée d'entrée, par exemple, si la donnée d'entrée inclut une donnée chiffrée, et la donnée secrète inclut une donnée déchiffrée résultant du déchiffrement de la donnée d'entrée.
Le terme « transition d’état », tel qu'il est utilisé ici en référence à un signal, peut inclure un passage entre des premier et deuxième états logiques possibles du signal. Dans un mode de réalisation, la transition d’état peut inclure soit une transition de l'état logique « 0 » à l’état logique « 1 », ou une transition de l'état logique « 1 » à l'état logique « 0 ».
Le terme « modèle de transition d’état », tel qu'il est utilisé ici en référence à un signal, peut concerner un certain nombre, par exemple zéro ou tout entier positif approprié, de transitions d'état du signal pendant un cycle d'horloge ; et/ou un déroulement des transitions d'état.
La figure 1 est une représentation schématique d’un synoptique d'un système 100 incluant un circuit intégré (IC) 102, conformément à certains modes de réalisation démonstratifs.
Dans certains modes de réalisation, le système 100 peut inclure un système informatique, ou faire partie de celui-ci, qui comprend un processeur 114, une mémoire 116, une unité de stockage 118, une unité d'entrée 120, une unité de sortie 122, une unité de communication 124 et/ou tout autre composant approprié. Le processeur 114 comprend, par exemple, un processeur à noyaux multiples (multicore process, « CMP » en anglais), un multiprocesseur, une unité centrale de traitement (CPU), un processeur de signal numérique (DSP), un microprocesseur, un processeur hôte, un contrôleur, une pluralité de processeurs ou de contrôleurs, une puce, une micropuce, des éléments de circuit, une unité logique, un circuit intégré (IC), un circuit intégré spécifique à une application (ASIC), ou tout autre processeur ou contrôleur approprié spécifique ou polyvalent. La mémoire 116 inclut, par exemple, une mémoire à accès aléatoire (RAM), une RAM dynamique (DRAM), une DRAM synchrone (SD-RAM), une mémoire flash, une mémoire volatile, ou toute autre unité de mémorisation appropriée. L'unité de stockage 118 inclut, par exemple, une unité de disques durs, une unité de disquettes, une unité de disques compacts (CD), une unité de CD-ROM, une unité de disque numérique polyvalent (DVD), ou toutes autres unités de stockage appropriées amovibles ou non amovibles. L'unité d'entré 120 inclut, par exemple, un clavier, un bloc touches, une souris, un pavé tactile, un crayon, un microphone, ou tout autre dispositif de pointage ou dispositif d'entrée approprié. L'unité de sortie 122 inclut, par exemple, un moniteur ou une unité de présentation à tube cathodique (CRT), un moniteur ou une unité de présentation à cristaux liquides (LCD), un écran, un moniteur, un haut-parleur, ou toute autre unité de présentation ou dispositif de sortie appropriée. L'unité de communication 124 ou l’unité de communication 116 comprend, par exemple, une carte d'interface réseau filaire ou sans fil (NIC), un modem filaire ou sans fil, un récepteur et/ou émetteur filaire ou sans fil, un émetteur/récepteur filaire ou sans fil, une unité de communication ou émetteur-récepteur radiofréquence (RF), et toutes autres unités aptes à transmettre et/ou recevoir des signaux, des blocs, des trames, des flux de transmission, des paquets, des messages et/ou des données. L'unité de communication 116 peut inclure en option, ou peut être associée en option à, par exemple une ou plusieurs antennes, par exemple une antenne dipolaire, une antenne unipolaire, une antenne omnidirectionnelle, une antenne à alimentation d’extrémité, une antenne à polarisation circulaire, une antenne microstrip, antenne à rayonnement zénithal réduit, ou analogue.
Dans certains modes de réalisation, le système 100 peut comprendre, ou peut être, un ordinateur personnel (PC) ; un ordinateur de bureau ; un ordinateur mobile ; un ordinateur portable ; un notebook ; un ordinateur Tablet ; un ordinateur serveur ; un dispositif portable ; un assistant numérique personnel (PDA) ; un dispositif embarqué ; un dispositif non embarqué ; un dispositif hybride ; un dispositif embarqué sur véhicule ; un dispositif non embarqué sur véhicule ; un dispositif mobile ou portable ; un dispositif non mobile ou non portable ; une station de communication sans fil ; un dispositif de communication sans fil ; un point d’accès sans fil (AP) ; un routeur filaire ou sans fil ; un modem filaire ou sans fil ; une unité ou un dispositif d’un réseau filaire ou sans fil, un réseau local (LAN) un LAN sans fil (WLAN), un réseau urbain (MAN), un MAN sans fil, un réseau mondial (WAN), un WAN sans fil (WWAN), un réseau personnel (PAN), un PAN sans fil (WPAN), un système de radiocommunication à deux voies, et/ou un système de communication par radiotéléphone cellulaire ; un téléphone cellulaire ; un téléphone sans fil ; un dispositif de système de communication personnel (PCS) ; un dispositif PDA qui incorpore un dispositif de communication sans fil ; un système de positionnement mondial mobile ou portable (GPS) ; un dispositif qui incorpore un récepteur ou émetteur-récepteur ou puce GPS ; un dispositif qui incorpore un élément RFID ou puce ; un dispositif ou émetteur-récepteur à entrée multiple/sortie multiple (ΜΙΜΟ) ; un dispositif ou émetteur-récepteur à entrée simple/sortie multiple (SIMO) ; un dispositif ou émetteur-récepteur à entrée multiple/sortie simple (MISO) ; un dispositif radio multi-standard, un dispositif portable filaire ou sans fil (par exemple, BlackBerry, Palm Treo), un dispositif à protocole d’application sans fil (WAP), ou analogue.
Dans certains modes de réalisation, le circuit intégré 102 peut inclure un circuit intégré cryptographique capable de recevoir des données d'entrée 168, par exemple, d'un processeur 114, d'une mémoire 116, d'un dispositif de stockage 118, d'une unité d'entrée 120, d'un dispositif de communication 124, et/ou de tout autre élément du système 100, par exemple, une application (non représentée) ou un système d'exploitation (OS) (non représenté), qui peut être exécuté par le système 100. En se fondant sur les données d'entrée 168, le circuit intégré 102 peut générer une donnée de sortie 169 en traitant une donnée secrète 109. La donnée de sortie 169 peut être fournie, par exemple, à un processeur 114, une mémoire 116, un dispositif de stockage 118, une unité de sortie, un dispositif de communication 124, et/ou tout autre élément du système 100, par exemple, l'application ou l’OS.
La donnée secrète 109 peut inclure toute information et/ou donnée appropriée, qui peut être traitée, stockée, conservée, manipulée, et/ou utilisée en interne par le IC 102, et qui n’est pas destinés à être révélée, divulguée, communiquée, exposée, fournie et/ou délivrée en sortie à l'extérieur au circuit intégré 102, par exemple, en tant que partie de la donnée de sortie 169. Dans un mode de réalisation, la donnée secrète 169 peut inclure une donnée cryptographique conservées ou stockées en interne à l'intérieur du circuit intégré 102, par exemple, une clé secrète, une clé de chiffrement, et analogue. Dans un autre mode de réalisation, la donnée secrète 109 peut être fondée sur la donnée d'entrée 168, par exemple, si la donnée d'entrée 168 inclut une donnée chiffrée, et la donnée secrète 109 inclut une donnée déchiffrée résultant du déchiffrement de la donnée d'entrée 168.
Dans certains modes de réalisation, le circuit intégré 102 peut introduire une modification sélectionnée de façon pseudo-aléatoire dans un modèle de transition d’état d’au moins un signal, ce qui est lié au traitement de la donnée secrète 109, par exemple, comme cela est décrit ci-dessous.
Dans certains modes de réalisation, le traitement de la donnée secrète 109 par le circuit intégré 102 peut impliquer, inclure ou être associé à un ou plusieurs signaux traités par au moins un circuit logique 108. Par exemple, le circuit logique 108 peut générer un ou plusieurs signaux de sortie 112 en réalisant une opération logique sur un ou plusieurs signaux d'entrée, par exemple, au moins un signal 110 et au moins un signal 111. Dans un exemple, le signal 111 et/ou le signal 110 peut inclure au moins une partie de la donnée secrète 109. Dans un autre exemple, le signal 112 peut être impliqué dans le traitement d'au moins une partie de la donnée secrète 109 ; par exemple, le signal 112 peut être introduit dans un autre circuit logique conjointement avec un ou plusieurs autres signaux incluant au moins une partie de la donnée secrète 109.
Dans certains modes de réalisation démonstratifs, une attaque, par exemple, une attaque de canal auxiliaire, par exemple une attaque DPA, peut être effectuée sur l’IC 102 afin de tenter de découvrir la donnée secrète 109 ou tout ou partie de celle-ci en observant les variations de la consommation du circuit intégré 102, par exemple sur une ligne d'alimentation du circuit intégré 102. De telles variations peuvent être déterminées, par exemple, en surveillant un courant fourni au circuit intégré 102, une chute de tension au niveau de l’IC 102, ou par tout autre procédé approprié.
Dans certains modes de réalisation, le circuit intégré 102 peut inclure au moins un modificateur de signal 104 permettant de générer au moins un signal modifié 110 en introduisant une modification sélectionnée de façon pseudo-aléatoire dans un modèle de transition d’état d'un signal d'entrée 106, qui sera fournie au circuit logique 108. En conséquence, la consommation en puissance du circuit intégré 102 peut être statistiquement indépendante de la donnée secrète 109. Par exemple, un déroulement des transitions dans le circuit logique 108, et par conséquent un déroulement des pointes de consommation résultant du fonctionnement du circuit logique 108, peut être considéré comme distordu et/ou randomisé par un pirate.
Dans certains modes de réalisation, le modificateur de signal 104 peut introduire une modification sélectionnée de façon pseudo-aléatoire dans au moins une transition d'état parmi un certain nombre de transitions d’état, et dans un déroulement d'une ou plusieurs transitions d’état, du signal 106 pendant un cycle d'horloge, par exemple, comme cela est décrit ci-dessous.
On fera maintenant référence à la figure 2, qui représente schématiquement un procédé de modification de signal 200 conformément à certains modes de réalisation démonstratifs. Dans un mode de réalisation, le procédé de modification de signal 200 peut jouer le rôle de modificateur de signal 104 (figure 1).
Dans certains modes de réalisation, le procédé de modification de signal 200 peut être mis en oeuvre pour introduire un retard sélectionné de façon pseudo-aléatoire dans un ou plusieurs signaux de sortie modifiés, ce qui peut entraîner l'application d'au moins une fonction prédéfinie à un ou plusieurs signaux d'entrée. Par exemple, le procédé de modification de signal 200 peut introduire un retard sélectionné de façon pseudo-aléatoire dans un premier signal de sortie 220, appelé B1, et un deuxième signal de sortie 222, appelé B2, qui peut résulter de l'application d'une fonction prédéfinie, appelée F, à un premier signal d'entrée 210, appelé A1, un deuxième signal d'entrée 212, appelé A2, et un troisième signal d'entrée 214, appelé A3.
Dans certains modes de réalisation, le procédé de modification de signal 200 peut inclure au moins deux modules de fonction permettant de générer au moins un ensemble de deux ou plusieurs signaux intermédiaires respectifs en appliquant à un ou plusieurs signaux d'entrée deux ou plusieurs fonctions logiquement identiques présentant au moins deux retards différents, respectivement. Par exemple, le procédé de modification de signal 200 peut inclure un premier module de fonction 204 permettant de générer un premier ensemble de premier et deuxième signaux intermédiaires C11 et C12 en appliquant aux signaux 210, 212, et 214 une première fonction, appelée F1, qui peut être logiquement identique à la fonction F, et qui peut présenter un premier retard ; et un deuxième module de fonction 202 permettant de générer un deuxième ensemble de premier et deuxième signaux intermédiaires C21 et C22 en appliquant aux signaux 210, 212, et 214 une deuxième fonction, appelée F2, qui peut être logiquement identique à la fonction F1, et qui peut présenter un deuxième retard différent du premier retard de la fonction F1. Les signaux C11 et C12 peuvent être logiquement identiques l’un à l'autre, et logiquement identiques à un premier signal de sortie d'application de la fonction F aux signaux d'entrée ; et les signaux C12 et C22 peuvent être logiquement identiques l’un à l'autre, et logiquement identiques à un deuxième signal de sortie d'application de la fonction F aux signaux d'entrée. Les signaux C11 et C12 peuvent présenter le premier retard associé à la fonction F1, tandis que les signaux C21 et C22 peuvent présenter le deuxième retard associé à la fonction F2.
Dans certains modes de réalisation, le procédé de modification de signal 200 peut également inclure un ou plusieurs sélecteurs permettant de générer un ou plusieurs signaux de sortie, respectivement, en sélectionnant de façon pseudo-aléatoire l'un des deux ou plusieurs signaux intermédiaires. Par exemple, le procédé de modification de signal 200 peut inclure un premier sélectionneur 206, appelé S1, permettant de générer le signal de sortie 220 en sélectionnant de façon pseudo-aléatoire l'un des signaux intermédiaires C11 et C21, par exemple, en se fondant sur la valeur d'un signal pseudoaléatoire R1 ; et un deuxième sélectionneur 208, appelé S2, permettant de générer le signal de sortie 222 en sélectionnant de façon pseudo-aléatoire l'un des signaux intermédiaires C12 et C22, par exemple, en se fondant sur la valeur d'un signal pseudo-aléatoire R2. En conséquence, les signaux B1 et B2 peuvent être logiquement identiques aux premier et deuxième signaux de sortie résultant de l'application de la fonction F aux signaux d'entrée A1, A2, et A3, tandis que chacun des signaux B1 et B2 peut être retardé avec un retard sélectionné de façon pseudo-aléatoire, par exemple, l'un des retards des fonctions F1 et F2.
Dans certains modes de réalisation, le procédé de modification de signal 200 peut être configuré pour permettre toute introduction d'un retard sélectionné de façon pseudo-aléatoire dans un nombre approprié quelconque de signaux de sortie modifiés, ce qui peut entraîner l'application d’un nombre approprié quelconque de fonctions prédéfinies à un nombre approprié quelconque de signaux d'entrée. Dans un exemple, le procédé de modification de signal 200 peut être configuré pour introduire un retard sélectionné de façon pseudoaléatoire dans un signal d'entrée. Par exemple, les fonctions F1 et F2 peuvent être configurées pour inclure deux fonctions d'identité respectives présentant des retards différents, ayant chacune un signal d'entrée unique et un signal de sortie unique ; et le procédé de modification de signal 200 peut inclure un sélecteur unique permettant de choisir de façon pseudo-aléatoire entre les signaux de sortie des fonctions F1 et F2, ce qui permet de générer un signal de sortie modifié retardé avec un retard pseudo-aléatoire par rapport au signal d'entrée.
On se référera maintenant à la figure 3, qui représente schématiquement un circuit 300 incluant un modificateur de signal 302 permettant de modifier une entrée de signal d'un circuit logique ET 304, conformément à certains modes de réalisation démonstratifs. Dans un mode de réalisation, le modificateur de signal 302 et le circuit logique 304 peuvent jouer le rôle du modificateur de signal 104 (figure 1) et du circuit logique 108 (figure 1), respectivement.
Dans certains modes de réalisation, le modificateur de signal 302 peut introduire un retard sélectionné de façon pseudo-aléatoire dans un premier signal d’entrée 306, appelé B, pour générer ainsi un signal modifié 310, appelé B’, qui sera fourni comme première entrée au circuit ET 304. Un deuxième signal d'entrée 308, appelé A, peut être fourni comme deuxième entrée au circuit ET 304. Le circuit logique 304 peut effectuer une opération logique ET sur les première et deuxième entrées, ce qui permet de générer un signal de sortie 312, appelé C’, avec C’=(A)ET(B’).
Dans un mode de réalisation, le modificateur de signal 302 peut être implémenté en utilisant un procédé de modification de signal 200 (figure 1) dans la configuration adaptée pour introduire un retard sélectionné de façon pseudo-aléatoire dans un signal d'entrée unique, par exemple, comme c'est décrit ci-dessus. Dans d'autres modes de réalisation, le modificateur de signal 302 peut mettre en oeuvre tout autre procédé approprié apte à introduire un retard sélectionné de façon pseudo-aléatoire dans le signal 306.
Il sera maintenant fait référence à la figure 4, qui représente schématiquement une courbe de consommation de puissance 408 résultant de l'absence d'introduction de retard dans le signal d'entrée B ; et deux courbes de consommation 414 et 420 résultant de l'introduction de premier et deuxième retards respectifs dans le signal d'entrée B, conformément à un mode de réalisation démonstratif.
Comme c’est représenté dans la figure 4, la courbe de consommation 408 correspond à un modèle de transition d’état 406 d'un signal de sortie C résultant de l'application de l'opération ET à un modèle de transition d’état 402 du signal d'entrée A et à un modèle de transition d’état 404 du signal d'entrée B pendant un cycle d'horloge.
Comme c'est représenté dans la figure 4, l'introduction du premier retard dans le signal B peut donner le signal modifié B’ comportant un premier modèle de transition d’état modifié 410 ; et l'introduction du deuxième retard, qui peut être plus long que le premier retard, dans le signal B peut donner le signal modifié B’ comportant un deuxième modèle de transition d’état modifié 416. En conséquence, une courbe de consommation 414 correspond à un modèle de transition d’état 412 du signal de sortie & résultant de l'introduction du premier retard, la courbe de consommation 420 correspond à un modèle de transition d’état 418 du signal de sortie C’ résultant de l'introduction du deuxième retard.
Comme c'est représenté dans la figure 4, la sélection pseudo-aléatoire du retard introduit dans le signal d'entrée B, par exemple, la sélection pseudoaléatoire entre les premier et deuxième retards donnant des modèles de transition d’état 410 et 416, respectivement, peut entraîner une consommation agissant de façon pseudo-aléatoire conformément à une courbe parmi une pluralité de courbes, par exemple, l'une des deux courbes 414 et 420. En conséquence, on peut réduire une corrélation entre la consommation du circuit 300 (figure 3) et les signaux A et/ou B et/ou de tout traitement de données lié au signal C’.
En se référant de nouveau à la figure 1, dans certains modes de réalisation démonstratifs, le modificateur de signal 104 est capable de modifier le signal 106 pour générer un signal modifié 110 de sorte qu'un état logique du signal modifié 110 au début d'un cycle d'horloge est le même qu'un état logique du signal 106 au début du cycle d'horloge, et un certain nombre de transitions d’état dans le signal modifié 110 et un certain nombre de transitions d’état dans le signal d'entrée 106 peuvent avoir la même parité, par exemple, comme cela est écrit ci-dessous. Le nombre 0 peut être considéré comme pair.
Le terme « consommation moyenne » de puissance tel qu'il est utilisé ici en liaison avec le traitement d'un signal modifié de façon pseudo-aléatoire, par exemple le signal modifié 110, peut concerner une moyenne d'une pluralité de courbes de consommation résultant d'une pluralité de modèles de transition possible du signal modifié. Par exemple, si le signal modifié résultant d'un certain modèle de transition d’état du signal d'entrée a pu sélectionné de façon pseudo-aléatoire l'un des n modèles de transitions d’état, la consommation moyenne de puissance correspondant au signal modifié peut alors être déterminée en effectuant la moyenne des n courbes de consommation correspondant aux n modèles de transition d’état.
Dans certains modes de réalisation, une consommation moyenne résultant du traitement du signal modifié 110 peut être statistiquement indépendante du modèle de transition d’état du signal 106. Par exemple, la même consommation moyenne correspondant au signal modifié 110 peut être effectuée pour une pluralité de modèles de transition d’état possibles différents du signal 106, par exemple, comme cela est écrit ci-dessous.
On se référera aux figures 5, 6, 7 et 8, qui représentent schématiquement quatre ensembles respectifs de premier et deuxième modèles de transition du signal modifié 110 résultant de l'application de premier et deuxième procédés de modification à quatre modèles de transition d’état respectifs du signal 106 pendant un cycle d'horloge, conformément à certains modes de réalisation démonstratifs.
Comme c'est représenté dans la figure 5, un premier modèle de transition d’état 502 du signal 106 peut inclure une transition d'état unique de l'état logique « 0 » à l’état logique « 1 » ; un premier modèle de transition d’état 504 du signal modifié 110 résultant du modèle 502 peut inclure trois transitions d’état de l'état logique « 0 » à l'état logique « 1 » ; et un deuxième modèle de transition d’état 506 du signal modifié 110 résultant du modèle 502 peut inclure une transition d’état de l'état logique « 0 » à l'état logique « 1 », qui peut être retardé en comparaison avec la transition d’état du signal 106. Une courbe de consommation moyenne 508 peut correspondre aux modèles 504 et 506.
Comme c'est représenté dans la figure 6, un deuxième modèle de transition d'état 602 du signal 106 peut inclure une transition d'état unique de l'état logique « 1 » à l'état logique « 0 » ; un premier modèle de transition d'état 604 du signal modifié 110 résultant du modèle 602 peut inclure trois transitions d'état de l'état logique « 1 » à l'état logique « 0 » ; et un deuxième modèle de transition d'état 606 du signal modifié 110 résultant du modèle 602 peut inclure une transition d'état de l'état logique « 1 » à l'état logique « 0 », qui peut être retardé en comparaison avec la transition d'état du signal 106. La courbe de consommation moyenne 608 correspondant aux modèles 604 et 606 peut être sensiblement identique à la courbe de consommation moyenne 508.
Comme c’est représenté dans la figure 7, un troisième modèle de transition d'état 702 du signal 106 peut inclure l'état logique «0» sans aucune transition d'état ; un premier modèle de transition d'état 704 du signal modifié 110 résultant du modèle 702 peut inclure deux transitions d'état de l'état logique « 0 » de nouveau vers l'état logique « 0 » ; et un deuxième modèle de transition d'état 706 du signal modifié 110 résultant du modèle 702 peut inclure deux transitions d'état de l'état logique « 0 » de nouveau vers l'état logique « 0 ». Une première transition d'état des modèles 704 et 706 peut être sensiblement simultanée, et une deuxième transition d'état du modèle 706 peut être retardée par rapport à une deuxième transition du modèle 704. Une courbe de consommation moyenne 708 correspondant aux modèles 704 et 706 peut être sensiblement identique aux courbes de consommation moyenne 508 et 608.
Comme c’est représenté dans la figure 8, un quatrième modèle de transition d'état 802 du signal 106 peut inclure l'état logique « 1 » sans aucune transition d'état ; un premier modèle de transition d'état 804 du signal modifié 110 résultant du modèle 802 peut inclure deux transitions d'état de l'état logique « 1 » de nouveau vers l'état logique « 1 » ; et un deuxième modèle de transition d'état 806 du signal modifié 110 résultant du modèle 802 peut inclure deux transitions d’état de l'état logique « 1 » de nouveau vers l'état logique « 1 ». Une première transition d'état des modèles 804 et 806 peut être sensiblement simultanée, et une deuxième transition d'état du modèle 806 peut être retardée par rapport à une deuxième transition du modèle 804. Une courbe de consommation moyenne 808 correspondant aux modèles 804 et 806 peut être sensiblement identique aux courbes de consommation moyenne 508, 608 et 708.
Dans certains modes de réalisation, le modificateur de signal 104 est apte à générer le signal modifié 110 comportant l’un des premier et deuxième modèles de transition des figures 5, 6, 7 et 8 en retardant le signal d'entrée 106 avec un retard prédéfini, et en réalisant une opération logique XOR sur le signal retardé et sur un signal d’impulsion de tension transitoire de durées différentes, comme cela est décrit en détail ci-dessous. Le terme « signal d’impulsion de tension transitoire » tel qu'il est utilisé ici peut désigner un signal présentant au moins une paire constituée d'une première transition d'un premier état logique vers un deuxième état logique et d'une deuxième transition du deuxième état logique de nouveau vers le premier état logique.
On se référera à la figure 9, qui représente schématiquement un modificateur de signal 900, conformément à certains modes de réalisation démonstratifs.
Dans un mode de réalisation, le modificateur de signal 900 peut jouer le rôle du modificateur de signal 104 (figure 1).
Dans certains modes de réalisation, le modificateur de signal 900 peut générer un signal modifié 924, par exemple, le signal 110 (figure 1), en introduisant une modification sélectionnée de façon pseudo-aléatoire dans un modèle de transition d'état d'un signal d'entrée 902, par exemple le signal 106 (figure 1).
Dans certains modes de réalisation, le modificateur de signal 900 peut inclure un module de retard 904 permettant de générer un signal retardé 906 en retardant le signal d'entrée 902 avec un retard prédéfini, par exemple, comme cela est décrit ci-dessous. Le module de retard 904 peut inclure une mémoire tampon appropriée quelconque, une chaîne d'inverseurs quelconque, et/ou tout autre élément approprié apte à retarder le signal 902 avec le retard prédéfini.
Dans certains modes de réalisation, le modificateur de signal 900 peut inclure un sélecteur 908, par exemple, un multiplexeur (MUX), permettant de sélectionner de façon pseudo-aléatoire, en se fondant sur un signal pseudoaléatoire 910, un signal d’impulsion de tension transitoire 911 provenant d'un premier signal d’impulsion de tension transitoire 912 (« impulsion de tension brève ») d'une première durée et un deuxième signal d’impulsion de tension transitoire 914 («impulsion de tension longue») d’une deuxième durée supérieure à la première durée, par exemple comme cela est décrit ci-dessous.
Dans certains modes de réalisation démonstratifs, le modificateur de signal 900 peut inclure un module XOR 916 permettant d'appliquer une opération logique XOR au signal retardé 906 et au signal d’impulsion de tension transitoire 911, sélectionné de façon pseudo-aléatoire, pour générer ainsi un signal 918.
Dans certains modes de réalisation, une première transition d'état du signal 912 et une première transition d'état du signal 914 peuvent survenir sensiblement simultanément, une deuxième transition d'état du signal 912 peut survenir avant une deuxième transition d'état du signal 914 ; et une durée du retard prédéfini peut dépendre de la deuxième transition d'état du signal 914, par exemple, de telle sorte que la transition d'état du signal retardé 906 peut être prévue pour survenir sensiblement simultanément à la deuxième transition d'état du signal 914, par exemple, comme c’est représenté dans les figures 10, 11, 12 et 13 décrites ci-dessous.
Dans certains modes de réalisation, le modificateur de signal 900 peut inclure un verrou 920 permettant de générer le signal modifié 924 à l'aide d'un signal de masquage 918 conformément à un signal de masque 922. Le signal de masque 922 peut être mis en œuvre, par exemple, pour éliminer une impulsion de tension transitoire qui peut être introduite dans le signal 918 si la transition d'état du signal retardé 906 et la deuxième transition d'état du signal 914 ne surviennent pas sensiblement simultanément. Par exemple, le masque 922 peut être fondé sur la durée du retard prédéfini et sur la deuxième transition d'état du signal 914. Le verrou 920 peut être ouvert, par exemple, seulement lorsque le signal de masque 918 est dans un état logique prédéfini, par exemple l'état logique « 1 ».
On se référera également aux figures 10, 11, 12 et 13, qui représentent schématiquement des modèles de transition d'état résultant de l'application aux signaux 502 (figure 5), 602 (figure 6), 702 (figure 7), et 802 (figure 8), respectivement, d’un retard prédéfini, d'un premier signal d’impulsion de tension transitoire 1004, d’un second signal d’impulsion de tension transitoire 1006, et d’un signal de masque 1012, conformément à certains modes de réalisation démonstratifs. Dans un mode de réalisation, les signaux 1004, 1006 et 1012 peuvent inclure les signaux 912, 914 et 922, respectivement.
Comme c'est représenté dans la figure 10, le signal retardé 906 peut comporter un modèle de transition d'état 1002 si le retard prédéfini est appliqué au signal 502 (figure 5). Le signal 918 peut comporter un modèle de transition d'état 1008, si le signal d’impulsion de tension transitoire 1004 est sélectionné par le sélecteur 908 pour être soumis à une opération XOR avec le signal retardé 906 ; ou un modèle de transition d'état 1010, si le signal d’impulsion de tension transitoire 1006 est sélectionné par le sélecteur 908 pour être soumis à une opération XOR avec le signal retardé 906. Le signal modifié 924 peut comporter un modèle de transition d'état 1014, si le signal de masque 1012 est appliqué au modèle de transition d'état 1008 ; ou un modèle de transition d'état 1016 si le signal de masque 1012 est appliqué au modèle de transition d'état 1010. Les modèles de transition d'état 1014 et 1016 peuvent être sensiblement identiques aux modèles de transition d'état 504 (figure 5) et 506 (figure 5), respectivement.
Comme c'est représenté dans la figure 11, le signal retardé 906 peut comporter un modèle de transition d'état 1102 si le retard prédéfini est appliqué au signal 602 (figure 6). Le signal 918 peut comporter un modèle de transition d'état 1108, si le signal d’impulsion de tension transitoire 1004 est sélectionné par le sélecteur 908 pour être soumis à une opération XOR avec le signal retardé 906 ; ou un modèle de transition d'état 1110, si le signal d’impulsion de tension transitoire 1006 est sélectionné par le sélecteur 908 pour être soumis à une opération XOR avec le signal retardé 906. Le signal modifié 924 peut comporter un modèle de transition d'état 1114, si le signal de masque 1012 est appliqué au modèle de transition d'état 1108 ; ou un modèle de transition d'état 1116 si le signal de masque 1012 est appliqué au modèle de transition d’état 1110. Les modèles de transition d’état 1114 et 1116 peuvent être sensiblement identiques aux modèles de transition d'état 604 (figure 6) et 606 (figure 6), respectivement.
Comme c'est représenté dans la figure 12, le signal retardé 906 peut comporter un modèle de transition d'état 1202 si le retard prédéfini est appliqué au signal 702 (figure 7). Le signal 918 peut comporter un modèle de transition d'état 1208, si le signal d’impulsion de tension transitoire 1004 est sélectionné par le sélecteur 908 pour être soumis à une opération XOR avec le signal retardé 906 ; ou un modèle de transition d'état 1210, si le signal d’impulsion de tension transitoire 1006 est sélectionné par le sélecteur 908 pour être soumis à une opération XOR avec le signal retardé 906. Le signal modifié 924 peut comporter un modèle de transition d'état 1214, si le signal de masque 1012 est appliqué au modèle de transition d'état 1208 ; ou un modèle de transition d'état 1216 si le signal de masque 1012 est appliqué au modèle de transition d'état 1210. Les modèles de transition d'état 1214 et 1216 peuvent être sensiblement identiques aux modèles de transition d'état 704 (figure 7) et 706 (figure 7), respectivement.
Comme c'est représenté dans la figure 13, le signal retardé 906 peut comporter un modèle de transition d'état 1302 si le retard prédéfini est appliqué au signal 802 (figure 8). Le signal 918 peut comporter un modèle de transition d'état 1308, si le signal d’impulsion de tension transitoire 1004 est sélectionné par le sélecteur 908 pour être soumis à une opération XOR avec le signal retardé 906 ; ou un modèle de transition d'état 1310, si le signal d’impulsion de tension transitoire 1006 est sélectionné par le sélecteur 908 pour être soumis à une opération XOR avec le signal retardé 906. Le signal modifié 924 peut comporter un modèle de transition d'état 1314, si le signal de masque 1012 est appliqué au modèle de transition d'état 1308 ; ou un modèle de transition d'état 1316 si le signal de masque 1012 est appliqué au modèle de transition d'état 1310. Les modèles de transition d'état 1314 et 1316 peuvent être sensiblement identiques aux modèles de transition d'état 804 (figure 8) et 806 (figure 8), respectivement.
On se référera maintenant à la figure 14, qui représente schématiquement un procédé de masquage de données traitées en interne dans un circuit intégré, conformément à certains modes de réalisation démonstratifs. Dans un mode de réalisation, une ou plusieurs opérations du procédé de la figure 14 peuvent être réalisées par un ou plusieurs éléments du circuit intégré 102 (figure 1), par exemple, le modificateur de signal 104 (figure 1).
Comme c'est indiqué au bloc 1402, le procédé peut inclure l'introduction d'une modification sélectionnée de façon pseudo-aléatoire dans un modèle de transition d'état d'au moins un signal, ce qui revient à traiter la donnée. Par exemple, le modificateur de signal 104 (figure 1) peut introduire une modification sélectionnée de façon aléatoire dans un modèle de transition d'état du signal 106 (figure 1), comme cela a été décrit ci-dessus.
Comme c’est indiqué au bloc 1404, le procédé peut inclure la réalisation d'une opération logique sur un signal modifié résultant de l'introduction de la modification. Par exemple, le circuit logique 108 (figure 1) peut réaliser une opération logique sur le signal modifié 116 (figure 1), comme cela a été décrit ci-dessus.
Comme c'est indiqué au bloc 1406, l'introduction peut inclure l'introduction d'une modification sélectionnée de façon pseudo-aléatoire dans au moins une transition d’état parmi un certain nombre de transitions d'état, ou le déroulement d'une ou plusieurs transitions d'état, du signal pendant un cycle d'horloge.
Comme c'est indiqué au bloc 1408, dans certains modes de réalisation, l'introduction peut inclure le retardement du signal avec un retard sélectionné de façon pseudo-aléatoire, par exemple, comme cela a été décrit ci-dessus en se référant aux figures 3 et/ou 4.
Dans certains modes de réalisation, un certain nombre de transitions d'état dans le signal modifié résultant de l'introduction et un certain nombre de transitions d'état dans le signal peuvent avoir la même parité. Par exemple, l’introduction peut inclure le retardement du signal avec un retard prédéfini, comme c'est indiqué au bloc 1410 ; et la réalisation d'une opération logique XOR sur le signal retardé et un signal d’impulsion de tension transitoire sélectionnée de façon pseudo-aléatoire parmi au moins des premier et deuxième signaux d’impulsion de tension transitoires prédéfinis de durées différentes, comme c'est indiqué au bloc 1412.
Dans certains modes de réalisation, une première transition d'état du premier signal d’impulsion de tension et une première transition d'état du deuxième signal d’impulsion de tension surviennent sensiblement simultanément ; une deuxième transition d'état du premier signal d’impulsion de tension survient avant une deuxième transition d'état du deuxième signal d’impulsion de tension ; et la durée du retard prédéfini dépend de la deuxième transition d'état du deuxième signal d’impulsion de tension, par exemple, comme cela a été décrit ci-dessus.
Comme c'est indiqué au bloc 1414, l'introduction peut inclure le masquage du résultat de l'opération XOR conformément à un signal de masque, qui est fondé sur la durée du retard prédéfini et sur la deuxième transition d'état du deuxième signal d’impulsion de tension, par exemple, comme cela a été décrit ci-dessus.
Les fonctions, opérations, composants et/ou caractéristiques, décrits ici en se référant à un ou plusieurs modes de réalisation, peuvent être combinés, ou utilisés en combinaison, avec un ou plusieurs autres fonctions, opérations, composants et/ou caractéristiques décrits ici en se référant à un ou plusieurs autres modes de réalisation, ou vice versa.
Bien que l’on ait illustré et décrit ici certaines caractéristiques, bon nombre de modifications, substitutions, changements, et équivalents peuvent ressortir à l'homme du métier. Il faut donc avoir à l'esprit que les revendications jointes sont destinées à couvrir toutes les modifications et tous les changements tombant dans le cadre réel de l'invention.