Brevet FR2857804A1 — publié le 20050121

PROCÉDÉ ET APPAREIL POUR LISSER LA CONSOMMATION DE COURANT DANS UN CIRCUIT INTÉGRÉ CONTEXTE DE L'INVENTION Domaine de l'invention La présente invention concerne le lissage de la consommation de courant dans les modules logiques numériques et plus particulièrement le remodelage du 5 courant dans les processeurs afin de rendre l'analyse du courant plus difficile. Art antérieur La Figure 1 est un schéma qui illustre un microcontrôleur simplifié de l'art antérieur. Un microcontrôleur comprend généralement un microprocesseur, de la mémoire, un module périphérique qui assure la communication, par exemple un 15 émetteur/récepteur universel asynchrone (UART), une interface SPI, et un bus USB, ainsi qu'un contrôleur d'interruptions. Le microcontrôleur 100 comprend le microprocesseur 102 couplé à la mémoire 104. Le décodeur d'adresse 106 reçoit et décode les adresses du microprocesseur 102 pour la mémoire 104 et les périphériques 108. Le décodeur d'adresse 106 et les 5 périphériques 108 reçoivent les adresses sur le bus d'adresse 110 alors que le décodeur d'adresse 106 transmet des informations de sélection sur la sélection mémoire 112 et la sélection périphérique 114. Les données sont transmises entre le microprocesseur 102, 10 la mémoire 104 et les périphériques 108 sur le bus de données 116. Un signal de lecture ou d'écriture est transmis entre le microprocesseur 102 et la mémoire 104 et les périphériques 108 sur le signal de lecture/écriture 117. Le microcontrôleur 100 reçoit le 15 signal d'horloge 118 et le signal de réinitialisation 120. L'entrée 122 comprend, par exemple, des déclencheurs et des données d'entrée UART alors que la sortie 124 comprend, par exemple, des données de sortie d'émetteur UART. Le contrôleur 20 d'interruptions 126 recueille et traite les signaux d'interruptions des périphériques 108 le long d'une ligne d'interruptions (non représentée). Les périphériques 108 peuvent être une logique 25 fonctionnelle, par exemple un UART, un traitement de chiffrement, un traitement de signal numérique (DSP), et un filtrage numérique. La Figure 2 illustre un exemple de périphérique, 30 un processeur de chiffrement. Avec un processeur de chiffrement, si un tampon de données doit être chiffré ou déchiffré, un logiciel divise le tampon en plusieurs parties. Chaque partie représente les données en mesure d'être traitées pendant une période de traitement. Dès que ladite partie est entrée dans le processeur de 5 chiffrement et/ou qu'un signal de début est appliqué, le périphérique commence à traiter ladite partie. Après une période de cycles d'horloge, la période de traitement se termine et le processeur de chiffrement fournit une partie chiffrée/déchiffrée qui peut être 10 lue par le logiciel. Quand le traitement des données est terminé, une période sans traitement commence et un signal d'interruption peut être affirmé pour informer le microprocesseur que ladite partie est prête à être lue et que le processeur de chiffrement est prêt à 15 chiffrer/déchiffrer une nouvelle partie. Une fois que la nouvelle partie est entrée dans le processeur de chiffrement et/ou qu'un signal de début est appliqué, la période sans traitement se termine et une nouvelle période de traitement commence. Le logiciel continue de 20 lire et d'écrire des parties jusqu'à la fin du tampon de données. Lorsque l'algorithme utilisé par le processeur de chiffrement est exécuté, la consommation de courant due 25 à la commutation des cellules numériques augmente quand le traitement commence et baisse quand le traitement se termine. Le courant augmente à cause du fonctionnement, dans le module numérique qui exécute l'algorithme, des cellules combinatoires (par exemple des cellules AND, 30 OR, INVERT, MUX et XOR) et séquentielles (des bascules de type D ou DFF). Généralement, pendant une période sans traitement, le seul basculement est celui sur les broches d'horloge des bascules DFF. Cette valeur, associée à un courant de fuite statique, n'est pas significative comparée au courant consommé quand le traitement est actif. Le module interface utilisateur 200 traite les données du système, par exemple les signaux d'adresse, de données, de lecture/écriture et de sélection, de 10 façon à générer les commandes et les données pour le module algorithme 202. Le module algorithme 202 réalise le chiffrage/déchiffrage selon la commande de contrôle, les données et une clé de chiffrage/déchiffrage fournie par le module interface utilisateur 200. Le 15 compteur 108 reçoit un signal de début de l'interface utilisateur 200 et organise le flux des données dans le module algorithme 202. Un algorithme de chiffrement peut être représenté 20 comme une fonction combinatoire de base, concaténée plusieurs fois pour obtenir le résultat. Par exemple, une fonction combinatoire de base est réalisée une fois puis reliée à des moyens de mémorisation (bascules DFF ou autres). Un multiplexeur est nécessaire pour 25 sélectionner l'entrée de -la fonction algorithme (entrées de données ou résultat intermédiaire) selon la valeur n d'un module compteur (n étant le nombre d'itérations à effectuer pour obtenir le résultat: 16, par exemple, selon la norme de cryptage standard des 30 données (DES)). La norme de cryptage triple des données (TDES) utilise, elle, trois périodes de 16 itérations. Le compteur 204 reçoit un signal de début sur la ligne de début 206. Le signal de début déclenche un signal de premier cycle, du compteur 204 au 5 multiplexeur 208 du module algorithme 202. Le multiplexeur 208 reçoit le signal de premier cycle et sélectionne l'entrée de la ligne de données d'entrée 210. Les données d'entrée vont alors au circuit combinatoire 212 qui, en combinaison avec une 10 clé et un chiffre, manipule les données d'entrée. Le circuit combinatoire 212 commence le traitement à la réception du signal de premier cycle et des données d'entrée, débutant ainsi la période de traitement. Le circuit combinatoire 212 transmet les données d'entrée 15 manipulées au multiplexeur 213. Pendant la période de traitement, le multiplexeur 213 reçoit le signal de période de traitement du compteur 204 et sélectionne par conséquent les données du circuit combinatoire 212. Le multiplexeur 213 transmet les données d'entrée 20 manipulées à la bascule DFF 214, laquelle envoie alors les données manipulées à la sortie 216 et aux multiplexeurs 208 et 213. Pour les itérations ultérieures, aucun signal de premier cycle n'est transmis au multiplexeur 208, de sorte que celui-ci 25 sélectionne les données d'entrée manipulées des bascules DFF 214 et les envoie au circuit combinatoire 212, lequel manipule de nouveau les données d'entrée. Le compteur 204 garde une trace de chaque itération et effectue un décompte jusqu'à la 30 dernière itération. À la dernière itération, le compteur 204 envoie un signal de dernier cycle au circuit combinatoire 212, indiquant la fin de la période de traitement. Le signal de période de traitement du compteur 108 déclenche le multiplexeur 213 afin de sélectionner l'entrée de la 5 bascule DFF 214 au lieu de celle du circuit combinatoire 212. La bascule DFF 214 reçoit les données recyclées, qui à ce moment du cycle sont les données de sortie désirées. Un signal d'interruption est envoyé du compteur 204 indiquant que les données disponibles à la 10 sortie 216 sont une sortie désirée, de sorte que le module interface utilisateur 200 récupère les données de sortie de la sortie 216 dans le cycle d'horloge approprié. À la fin de la période de traitement, le compteur 204 est réinitialisé et attend qu'une nouvelle séquence soit débutée. La Figure 3 est un graphique qui illustre un chronogramme et une forme d'onde de courant représentant l'activation du circuit combinatoire 212 20 pendant la période de traitement. Quand un tampon de données est traité, la consommation de courant peut être vue comme une série d'impulsions. La période de niveau bas de cette forme 25 d'onde représente la consommation de courant de l'arbre de l'horloge et de la broche d'horloge des bascules DFF du module périphérique. La période de niveau haut représente le courant de commutation du circuit combinatoire 212. En synchronisant un équipement 30 analyseur numérique externe sur le bord vertical des impulsions, il est possible de mémoriser une représentation numérique du courant. Ce modèle peut être traité pour extraire la valeur "clé" de l'algorithme sans détruire le circuit intégré avec une attaque intrusive (le traitement du modèle est souvent 5 désigné comme une attaque non intrusive). Il est basé sur la différence de consommation de courant quand des données différentes sont traitées. La Figure 3 illustre le signal d'horloge 300 et 10 les données d'entrée 305. Les données d'entrée 305 sont disponibles sur la ligne de données d'entrée 210 (Figure 2) et représentent une partie du tampon de données d'entrée divisé. Le signal de début 310 est transmis le long de la ligne de début 206 et il 15 déclenche le commencement de la période de traitement 315. Le compteur 204 décompte, ici de 15 à 0 pour un cryptage DES, avec une valeur d'intervalle 320. Le signal de premier cycle 325 est transmis à partir du compteur 204 en association avec le premier compte sur 20 le compteur d'intervalle 320. Le signal de dernier cycle 330 est transmis à partir du compteur 204 en association avec le dernier compte sur le compteur d'intervalle 320, et il signale la fin de la période de traitement 315 et le début de la période sans 25 traitement 335. Le circuit combinatoire 212 est actionné par des données d'entrée pendant la période de traitement 315, utilisant plus de courant que pendant la période sans traitement 335. Si une période d'horloge est utilisée pour programmer les différentes étapes du traitement des données, la période de traitement 315 peut être détectée ou observée par des procédés non intrusifs tels que l'analyse de la forme de la consommation de courant. Chaque fois que les données sont traitées le 5 courant augmente dans une plage active de courant, puis il se réduit dans une plage inactive de courant pendant la période sans traitement 335. Par conséquent, il est possible de déterminer les données traitées à l'intérieur d'un circuit intégré. 10 Il est nécessaire de disposer d'un système et d'un procédé pour rendre l'analyse de la consommation de courant plus difficile. RÉSUMÉ DE L'INVENTION L'invention consiste à combler la période sans traitement avec une valeur de courant proche de la valeur (et de la forme) du courant pendant la période 20 de traitement. L'invention peut être utilisée dans tout circuit dans lequel sont incorporés des modules logiques numériques. L'invention se situe dans la partie numérique d'un circuit intégré. Quand les données sont traitées dans un module numérique, la 25 logique combinatoire fonctionne et provoque une augmentation de la consommation d'énergie. L'augmentation de courant est principalement due à la commutation des cellules, en considérant uniquement la logique numérique. Le courant de fuite total des 30 cellules est faible comparé à ce courant de commutation. Le système et le procédé remodèlent la consommation de courant de façon à rendre l'analyse du courant plus difficile. La remodélisation du courant est effectuée pendant la période sans traitement, par 5 la même logique numérique qui a produit la forme du courant pendant la période de traitement, conduisant à une forme d'onde de courant identique, que les données soient traitées ou non. BRÈVE DESCRIPTION DES DESSINS La Figure 1 est un schéma de l'art antérieur qui illustre un microcontrôleur simplifié. La Figure 2 est un schéma de l'art antérieur qui illustre un exemple de périphérique. La Figure 3 est un graphique de l'art antérieur qui illustre un chronogramme et une forme d'onde de 20 courant pour un périphérique de la Figure 2. La Figure 4 est un schéma qui illustre un mode de réalisation de l'invention dans un microcontrôleur. La Figure 5 est un schéma qui illustre un mode de réalisation de l'invention de la Figure 4. La Figure 6 est un schéma qui illustre un mode de réalisation plus détaillé de l'invention de la Figure 5. 30 La Figure 7 est un graphique qui illustre un chronogramme et d'une forme d'onde de courant pour un mode de réalisation de l'invention. La Figure 8 est un organigramme qui illustre un procédé de lissage du courant dans un module logique numérique. La Figure 9 est un organigramme qui illustre un 10 procédé de lissage du courant dans un module logique numérique. DESCRIPTION DÉTAILLÉE DE L'INVENTION La Figure 4 est un schéma qui illustre un mode de réalisation de l'invention dans un module logique numérique, ou un périphérique d'un microcontrôleur. Le circuit de traitement 400 reçoit de l'interface utilisateur 402 l'entrée le long de la ligne 20 d'entrée 404. Le circuit de lissage 406 reçoit de l'interface utilisateur 402 un signal de début le long de la ligne de début 408. Le circuit de lissage 406 transmet un signal de premier cycle au circuit de traitement 400, lequel entame une période de traitement. 25 Pendant une période de traitement, le circuit de traitement 400 manipule l'entrée de façon à produire la sortie désirée, par exemple une version codée ou décodée de l'entrée. Du fait de la manipulation, par exemple la commutation des cellules logiques, le 30 circuit de traitement 400 extrait une plage active de courant pendant la période de traitement. À la fin de la période de traitement, le circuit de lissage 406 transmet un signal de dernier cycle au circuit de traitement 400 et l'entrée manipulée est prête à sortir sur le port de sortie 410. La fin de la période de traitement est le début de la période sans traitement. Le circuit de lissage 406 active le circuit de traitement 400 durant la période sans traitement de façon à ce que le circuit de 10 traitement 400 dessine la même plage de courant pendant la période sans traitement que pendant la période de traitement. Dans un mode de réalisation, le fonctionnement du circuit de traitement 400 pendant la période sans traitement ne modifie pas la sortie 15 disponible au port de sortie 410. La Figure 5 est un schéma qui illustre un mode de réalisation plus détaillé de l'invention de la Figure 4. La Figure 5 comprend l'interface utilisateur 402, le 20 circuit de lissage 406 et le circuit de traitement 400. Dans un mode de réalisation, le circuit de traitement 400 comprend le circuit combinatoire 500 couplé au multiplexeur 510. Le multiplexeur 510 reçoit l'entrée de la ligne d'entrée 404. Si le 25 multiplexeur 510 reçoit également du circuit de lissage 406 un signal de premier cycle, alors le multiplexeur 510 sélectionne l'entrée de la ligne d'entrée 404 et l'envoie au circuit combinatoire 500. Le circuit combinatoire 500 manipule l'entrée et 30 délivre l'entrée manipulée aux bascules DFF 520. Dans un mode de réalisation, le circuit combinatoire 500 reçoit un signal de premier cycle et un signal de dernier cycle. Dans un autre mode de réalisation, le circuit combinatoire 500 ne reçoit pas le signal de premier cycle et/ou le signal de dernier cycle. Le 5 signal de premier cycle et le signal de dernier cycle contrôlent le flux des données pendant la période de traitement et la période sans traitement. Les bascules DFF 520 envoient l'entrée manipulée 10 au circuit mémoire 530 et au multiplexeur 510. Maintenant, dans le second cycle, le multiplexeur 510 ne reçoit pas de signal de premier cycle si bien qu'il transmet l'entrée manipulée des bascules DFF 520 au circuit combinatoire 500. Le circuit de lissage 406 15 conserve une trace du nombre d'itérations nécessaires pour que l'entrée traverse le circuit combinatoire 500. Pendant chaque itération, les bascules DFF 520 transmettent chaque cycle d'entrée manipulée au circuit 20 mémoire 530. Tout au long de la période de traitement, le circuit mémoire 530 reçoit un résultat intermédiaire qui n'est pas la sortie désirée. À la fin de la période de traitement, après que l'entrée a été suffisamment manipulée pour produire la sortie désirée, le circuit 25 de lissage 406 transmet un signal de mémorisation au circuit mémoire 530. Une fois que le circuit mémoire 530 a reçu le signal de mémorisation, il mémorise la sortie désirée et la rend disponible au port de sortie 410, tout au long de la période sans 30 traitement. Au début de la période de traitement suivante, le circuit mémoire 530 continue de rendre disponible la précédente sortie désirée au port de sortie 410 jusqu'au signal de mémorisation suivant. Pendant la durée sans traitement, le circuit 5 combinatoire 500 continue de manipuler l'entrée fournie par le multiplexeur 510, bien que la sortie désirée ait déjà été produite. La sortie désirée est mémorisée dans le circuit mémoire 530, rendue disponible au port de sortie 410 et n'est pas affectée par la manipulation du 10 circuit combinatoire 500 qui continue pendant la période sans traitement. A la fin de la période sans traitement et au début de la période de traitement suivante, le circuit de lissage 406 reçoit un signal de début et envoie un signal de premier cycle au 15 multiplexeur 510, lequel sélectionne alors l'entrée disponible à la ligne d'entrée 404. Le reste de la période de traitement suivante se déroule comme décrit ci-dessus. Dans un mode de réalisation, le circuit mémoire 530 comprend le multiplexeur 540 et les bascules DFF 550. Le multiplexeur 540 reçoit l'entrée manipulée des bascules DFF 520 et l'entrée des bascules DFF 550 pendant la période de traitement. Jusqu'à ce 25 que le multiplexeur 540 reçoive un signal de mémorisation du circuit de lissage 406, le multiplexeur 540 sélectionne l'entrée des bascules DFF 550 pour sortir vers les bascules DFF 550. Les bascules DFF 550 rendent disponible l'entrée du 30 multiplexeur 540 au port de sortie 410 et au multiplexeur 540. La même valeur boucle entre le multiplexeur 540 et les bascules DFF 550 jusqu'à ce que le signal de mémorisation bascule le multiplexeur 540 pour sélectionner la sortie désirée, disponible à la fin de la période de traitement. Dans un mode de réalisation, l'assertion du signal de premier cycle est retirée pendant la période sans traitement. La bascule DFF 625 peut sortir vers une porte AND (non illustrée) qui reçoit le signal de 10 premier cycle, si bien que le signal de premier cycle est déclenché seulement lorsque le signal de départ a été transmis et pas encore réinitialisé. Ce mode de réalisation peut compliquer l'analyse d'un algorithme TDES, dans lequel un traitement spécial est effectué 15 pendant le premier cycle de chaque période de cryptage DES. Ce traitement spécial conduit à une valeur de courant différente étant donné qu'il reproduit exactement les différences de consommation qui surviennent pendant les premier et dernier cycles de 20 traitement. Une idée semblable s'applique au dernier cycle de chaque période de cryptage DES. La Figure 6 est un schéma qui illustre un mode de réalisation plus détaillé de l'invention de la Figure 5. 25 Un mode de réalisation du circuit de lissage 406 est le compteur 600. Le compteur 600 est un exemple de circuit configuré pour suivre les périodes de traitement et sans traitement. Un homme du métier reconnaîtra que différents circuits et logiques peuvent remplacer le 30 compteur 600 et accomplir une fonction similaire. Le compteur 600 reçoit un signal de réinitialisation et il remet son compte à zéro. Dans un exemple, le compte est de 16 pour un cryptage DES, et par conséquent, le compteur 600 décompte de 15 à zéro. Le compteur 600 comprend un multiplexeur 605 qui reçoit le signal de 5 début, et donc, à la réception du signal de réinitialisation et de début, le compteur 600 transmet un signal de premier cycle et réinitialise les bascules DFF 610 à un compte de 15. Les bascules DFF 610 transmettent le compte à un soustracteur, ou un 10 décrémenteur (non représentés), qui réduit le compte de un puis le multiplexeur 605 sélectionne le compte décrémenté et le transmet aux bascules DFF 610. Le compte est décrémenté jusqu'à zéro, ce qui déclenche la transmission du signal de dernier cycle. 15 Le signal de début bascule le multiplexeur 620 pour sélectionner l'affirmation, dans cet exemple une valeur d'entrée haute de "un". Le multiplexeur 620 transmet la valeur d'entrée haute à la bascule DFF 625, 20 laquelle la transmet à la porte AND 630 et au multiplexeur 635. Le multiplexeur 635 sélectionne par défaut l'entrée à partir de la bascule DFF 625, si bien que le multiplexeur 635 transmet la valeur haute au multiplexeur 620. Au cycle d'horloge suivant, le signal 25 de début n'est plus affirmé, si bien que le multiplexeur 620 sélectionne par défaut l'entrée du multiplexeur 635. La valeur haute continue à boucler au cours de la période de traitement. À la fin de la période de traitement, le signal de dernier cycle bascule le multiplexeur 635, faisant sélectionner au multiplexeur 635 l'infirmation, ou la valeur d'entrée basse, de zéro dans cet exemple. Le multiplexeur 620 sélectionne par défaut la sortie du multiplexeur 635 et transmet le zéro. Le signal de 5 dernier cycle est haut sur la porte AND 630. La bascule DFF 625 n'a pas encore reçu les résultats du zéro, si bien que la bascule DFF 625 a une sortie haute vers la porte AND 630. Les signaux hauts combinés vers la porte AND 630 entraînent l'affirmation du signal de 10 mémorisation par la porte AND 630, déclenchée par la fin de la période de traitement. Étant donné que le compteur 600 continue de compter pendant la période sans traitement, le 15 compteur 600 ne doit pas émettre de signal de mémorisation, ce qui changerait la valeur de sortie mémorisée au port de sortie 410. Le multiplexeur 620, actionné par le signal de début, empêche l'assertion du signal de mémorisation pendant la période sans 20 traitement. La Figure 7 est un graphique qui illustre un chronogramme et une forme d'onde de courant pour un mode de réalisation de l'invention. Les signaux et le 25 courant sur la Figure 7 sont décrits concernant le circuit illustré sur la Figure 4. Chacun de l'interface utilisateur 402, du circuit de lissage 406 et du circuit de traitement 400 reçoit le signal d'horloge 700. Le circuit de traitement 400 reçoit les 30 données d'entrée 710 de l'interface utilisateur 402, et le signal de premier cycle 720 du circuit de lissage 406. Le signal de début (non représenté) est déjà émis par l'interface utilisateur 402 et a déjà débuté la période de traitement 730, qui dans cet exemple est de 16 cycles d'horloge. Le circuit de 5 traitement 400 manipule l'entrée et extrait le courant 740 pendant la période de traitement 730. À la fin de la période de traitement 730, le circuit de lissage 406 transmet le signal de dernier cycle et la sortie désirée est rendue disponible au port de 10 sortie 410. Bien que l'entrée n'ait plus besoin d'être manipulée afin de produire la sortie désirée, le circuit de traitement 400 continue de la manipuler et d'extraire le courant 740 pendant la période sans traitement 760. Le signal de début (non représenté) 15 bascule encore et débute la période de traitement 770, avec un signal de premier cycle 780. Le courant 740 tout au long des périodes de traitement 730 et 770, et de la période sans traitement 760, reste dans une plage qui indique un fonctionnement actif du circuit de 20 traitement 400, rendant par conséquent l'analyse de la consommation de courant plus difficile. Le comportement interne et les paramètres sont davantage protégés contre les attaques non intrusives, par exemple les DPA. La Figure 8 est un organigramme qui illustre un procédé de lissage de la consommation de courant dans un module logique numérique comprenant un circuit de traitement couplé à un port de sortie. Dans le bloc 800, réception d'une entrée. Dans le bloc 805, réception 30 d'un signal de début quand l'entrée est disponible. Dans le bloc 810, déclenchement du début de la période de traitement. Dans le bloc 815, actionnement du circuit de traitement pour manipuler l'entrée pendant une période de traitement. Dans le bloc 820, suivi de la période de traitement avec un compteur. Dans le 5 bloc 825, obtention d'une sortie à partir de l'entrée manipulée pendant la période de traitement. Dans le bloc 830, génération d'un signal de dernier cycle qui indique la fin de la période de traitement. Dans le bloc 835, combinaison du signal de dernier cycle et du 10 signal de début dans un signal de mémorisation. Dans le bloc 840, réception du signal de mémorisation à la fin de la période de traitement. Dans le bloc 845, mémorisation de la sortie à la réception du signal de mémorisation. Dans le bloc 850, mise à disposition de 15 la sortie au port de sortie. Dans le bloc 855, transmission d'un signal d'interruption quand la sortie est disponible, dans lequel le signal d'interruption coïncide avec la fin de la période de traitement et le début d'une période sans traitement. Dans le bloc 860, 20 actionnement du circuit de traitement pour manipuler l'entrée pendant la période sans traitement. Dans le bloc 865, réception, pendant la période sans traitement, d'un résultat intermédiaire à partir du circuit de traitement. Dans le bloc 870, conservation de la 25 mémoire de la sortie pendant la période sans traitement. La Figure 9 illustre un procédé de lissage de la consommation de courant dans un module logique numérique comprenant un circuit de traitement configuré 30 pour recevoir une entrée et manipuler l'entrée au cours d'une période de traitement afin de produire une sortie. La production de la sortie est suivie d'une période sans traitement, dans lequel le circuit de traitement est également configuré pour extraire une plage active de courant pendant la période de traitement, et une 5 plage inactive de courant pendant une période sans traitement. Dans le bloc 900, déclenchement du début de la période de traitement avec un signal de début. Dans le bloc 910, suivi de la période de traitement. Dans le bloc 920, génération d'un signal de dernier cycle à la 10 fin de la période de traitement. Dans le bloc 930, génération d'un signal de mémorisation à la fin de la période de traitement. Dans le bloc 940, mémorisation de la sortie à la fin de la période de traitement. Dans le bloc 950, actionnement du circuit de traitement 15 pendant la période sans traitement. Dans le bloc 960, génération d'une plage active de courant pendant la période sans traitement. Toute personne du métier reconnaîtra dans la 20 description qui précède et dans les figures et les revendications que des modifications et des changements peuvent être apportés à l'invention sans s'écarter de l'étendue de l'invention définie dans les revendications qui suivent. REVENDICATIONS 1. Système pour lisser la consommation de courant dans un module logique numérique, comprenant: un circuit de traitement configuré pour recevoir une entrée et manipuler l'entrée; un compteur couplé au circuit de traitement et configuré pour effectuer le suivi d'une période de traitement pendant laquelle le circuit de traitement 10 manipule l'entrée de façon à créer une sortie; et un port de sortie couplé au circuit de traitement et configuré pour transmettre la sortie pendant que le circuit de traitement continue de fonctionner pendant 15 une période sans traitement, dans lequel la période de traitement est suivie de la période sans traitement, laquelle se termine dès qu'une nouvelle période de traitement commence. 2. Système selon la revendication 1, comprenant également: un circuit mémoire couplé au port de sortie et configuré pour mémoriser la sortie pendant la période sans traitement et transmettre la sortie au port de sortie. 3. Système selon la revendication 1, comprenant également: une ligne de début couplée au compteur et configurée pour transmettre un signal de début au compteur quand l'entrée est disponible pour le circuit de traitement, dans lequel le signal de début déclenche le début de la période de traitement; et 15 une ligne d'interruption couplée au compteur et configurée pour transmettre un signal d'interruption à partir du compteur quand la sortie est disponible au port de sortie, dans lequel le signal d'interruption 20 coïncide avec la fin de la période de traitement et le début de la période sans traitement. 4. Système selon la revendication 3 dans lequel le compteur est également configuré pour générer un 25 signal de dernier cycle qui indique la fin de la période de traitement, le signal de dernier cycle et le signal de début se combinant pour former un signal de mémorisation, le système comprenant également: un circuit mémoire couplé au port de sortie et configuré pour mémoriser la sortie dès réception du signal de mémorisation, et transmettre pendant la période sans traitement la sortie au port de sortie. 5. Système selon la revendication 4 dans lequel le circuit mémoire comprend également: une bascule bistable couplée au port de sortie et configurée pour transmettre la sortie au port de sortie pendant la période sans traitement; et 10 un multiplexeur couplé au compteur, au circuit de traitement, ainsi qu'à la bascule bistable, et configuré pour transmettre la sortie à la bascule bistable et pour retransmettre la sortie à la bascule 15 bistable à la réception du signal de mémorisation. 6. Système pour lisser la consommation de courant dans un module logique numérique comprenant un circuit de traitement configuré pour recevoir une 20 entrée et manipuler l'entrée pendant une période de traitement afin de produire une sortie, une période sans traitement suivant la production de la sortie, le circuit de traitement étant également configuré pour extraire une plage active de courant pendant la période 25 de traitement et une plage inactive de courant pendant la période sans traitement, le plage active de courant n'étant pas inférieure à la plage inactive de courant, le système comprenant: un circuit de lissage couplé au circuit de traitement et configuré pour activer le circuit de traitement pendant la période sans traitement et pour faire extraire une plage active de courant pendant la période sans traitement au circuit de traitement. 7. Système selon la revendication 6 comprenant également: un compteur couplé au circuit de traitement et configuré pour effectuer le suivi de la période de 10 traitement. 8. Système selon la revendication 7, comprenant également: un circuit mémoire couplé au circuit de traitement et configuré pour mémoriser la sortie pendant la période sans traitement. 9. Système selon la revendication 8 dans lequel 20 le circuit de lissage comprend le compteur. 10. Système selon la revendication 9 comprenant également: une ligne de début couplée au compteur et configurée pour transmettre un signal de début au compteur quand l'entrée est disponible pour le circuit de traitement, dans lequel le signal de début déclenche le début de la période de traitement; et une ligne d'interruption couplée au compteur et configurée pour transmettre un signal d'interruption depuis le compteur quand la sortie est disponible, dans lequel le signal d'interruption coïncide avec la fin de 5 la période de traitement et le début de la période sans traitement. 11. Système selon la revendication 10 dans lequel le compteur est également configuré pour générer un 10 signal de dernier cycle qui indique la fin de la période de traitement, le signal de dernier cycle et le signal de début se combinant pour former un signal de mémorisation, le système comprenant également: un circuit mémoire couplé au circuit de traitement et configuré pour recevoir un résultat intermédiaire à partir du circuit de traitement pendant la période de traitement, pour recevoir le signal de mémorisation et pour mémoriser le résultat intermédiaire en tant que 20 sortie, dans lequel pendant la période sans traitement le circuit de traitement continue de manipuler l'entrée et génère la plage active de courant. 12. Système selon la revendication 11 dans lequel 25 le circuit mémoire est également configuré, pendant la période sans traitement, pour recevoir le résultat intermédiaire et pour garder mémoire de la sortie. 13. Procédé de lissage de la consommation de 30 courant dans un module logique numérique comprenant un circuit de traitement couplé à un port de sortie, ledit procédé comprenant: la réception d'une entrée; l'actionnement du circuit de traitement pour manipuler l'entrée pendant une période de traitement; l'obtention d'une sortie à partir de l'entrée 10 manipulée pendant la période de traitement; la mise à disposition de la sortie au port de sortie; et l'actionnement du circuit de traitement pour manipuler l'entrée pendant une période sans traitement. 14. Procédé selon la revendication 13, comprenant également: le suivi de la période de traitement avec un compteur. 15. Procédé selon la revendication 14 comprenant 25 également: la réception d'un signal de début quand l'entrée est disponible; le déclenchement du début de la période de traitement; et la transmission d'un signal d'interruption quand la sortie est disponible, dans lequel le signal d'interruption coïncide avec la fin de la période de traitement et le début de la période sans traitement. 16. Procédé selon la revendication 15 comprenant également: la génération d'un signal de dernier cycle qui indique la fin de la période de traitement; la combinaison du signal de dernier cycle et du signal de début dans un signal de mémorisation; la réception du signal de mémorisation à la fin de la période de traitement; et la mémorisation de la sortie dès réception du 20 signal de mémorisation. 17. Procédé selon la revendication 16 comprenant également: la réception, pendant la période sans traitement, d'un résultat intermédiaire à partir du circuit de traitement; et la conservation, pendant la 30 traitement, de la mémoire de la sortie. période sans 18. Procédé de lissage de la consommation de courant dans un module logique numérique comprenant un circuit de traitement configuré pour recevoir une entrée et manipuler l'entrée pendant une période de 5 traitement afin de produire une sortie, la production de la sortie étant suivie d'une période sans traitement, dans lequel le circuit de traitement est également configuré pour extraire une plage active de courant pendant la période de traitement, et une plage 10 inactive de courant pendant une période sans traitement, le procédé comprenant: l'actionnement du circuit de traitement pendant la période sans traitement; et 15 la génération d'une plage active de courant pendant la période sans traitement. 19. Procédé selon la revendication 18 comprenant 20 également: le suivi de la période de traitement; et la génération d'un signal de dernier cycle à la 25 fin de la période de traitement. 20. Procédé selon la revendication 19 comprenant également: le déclenchement du début de la période de traitement par un signal de début; et la génération d'un signal de mémorisation à la fin de la période de traitement. 21. Procédé selon la revendication 20 comprenant également: la mémorisation de la sortie à la fin de la période de traitement. 22. Procédé selon la revendication 18 dans lequel l'actionnement du circuit de traitement pendant la période sans traitement comprend également: la manipulation de l'entrée pendant la période sans traitement. 23. Procédé selon la revendication 18 comprenant également: la conservation de la sortie pendant la période sans traitement.