FR2885461A1 - Dispositif formant porte logique adaptee pour minimisee les differences de comportement electrique ou electromagnetique dans un circuit integre manipulant un secret - Google Patents

Dispositif formant porte logique adaptee pour minimisee les differences de comportement electrique ou electromagnetique dans un circuit integre manipulant un secret Download PDF

Info

Publication number
FR2885461A1
FR2885461A1 FR0504569A FR0504569A FR2885461A1 FR 2885461 A1 FR2885461 A1 FR 2885461A1 FR 0504569 A FR0504569 A FR 0504569A FR 0504569 A FR0504569 A FR 0504569A FR 2885461 A1 FR2885461 A1 FR 2885461A1
Authority
FR
France
Prior art keywords
logic
input
protocol
circuits
circuit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0504569A
Other languages
English (en)
Other versions
FR2885461B1 (fr
Inventor
Loic Duflot
Moigne Philippe Le
Fabien Germaine
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Etat Francais
Original Assignee
Etat Francais
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Etat Francais filed Critical Etat Francais
Priority to FR0504569A priority Critical patent/FR2885461B1/fr
Priority to US11/919,773 priority patent/US7863926B2/en
Priority to CA002607553A priority patent/CA2607553A1/fr
Priority to EP06754998A priority patent/EP1878115A1/fr
Priority to PCT/EP2006/062037 priority patent/WO2006117391A1/fr
Publication of FR2885461A1 publication Critical patent/FR2885461A1/fr
Application granted granted Critical
Publication of FR2885461B1 publication Critical patent/FR2885461B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/173Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
    • H03K19/1731Optimisation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Electronic Switches (AREA)
  • Logic Circuits (AREA)

Abstract

La présente invention concerne une porte logique dont la consommation est indépendante de ses données d'entrées et de son état logique. Pour ce faire, ce dispositif utilise des moyens logiques formant interrupteurs (220, 720, 750). L'intérêt d'un tel dispositif est, par exemple, la protection de cartes à puces et autres cryptosystèmes contre les attaques par canaux auxiliaires telles que les attaques par collision et les attaques par analyse différentielle de courant, puissance ou consommation. Cette protection se fait au niveau matériel. L'invention est destinée à être intégrée à tous les dispositifs nécessitant une telle protection.

Description

La présente invention concerne le domaine des circuits électriques
logiques.
Elle se rapporte plus particulièrement à la lutte contre la fuite d'information véhiculée par les différences de comportement électrique ou électromagnétique d'un dispositif du type à circuit(s) logique(s).
Elle trouve avantageusement, mais non limitativement, application aux dispositifs manipulant un secret du type à circuit(s) logique(s), ou encore aux dispositifs cryptographiques du type à circuit(s) logique(s).
Un but général de l'invention est de proposer un dispositif formant porte logique dont la consommation, le rayonnement ou toute autre grandeur physique externe mesurable de façon non intrusive, sont indépendants de l'opération effectuée; c'est-à-dire sont indépendants des données d'entrée de la porte, des entrées passées ou futures de la porte, de son état logique passé, présent ou futur et des résultats logiques correspondants.
On sait que les circuits électroniques classiques ont généralement une consommation qui diffère en fonction des états logiques et des transitions de leurs données d'entrées. En particulier, un inverseur logique consommera différemment si son unique entrée passe de l'état logique 0 à l'état logique 1, ou si elle passe de l'état logique 1 à l'état logique 0. Il consommera encore différemment si l'état logique reste inchangé, c'est-à-dire s'il passe de l'état logique 0 (respectivement 1) à l'état logique 0 (respectivement 1). Il en est de même pour toute autre porte logique.
Par la suite on appellera transition le fait de changer d'état logique ou de rester dans le même état logique.
Pour chaque transition possible de la donnée d'entrée, toute porte a donc un comportement électrique ou électromagnétique a priori différent. On appellera signature caractéristique d'une transition le comportement électrique ou électromagnétique occasionné par une transition en entrée de la porte considérée. Pour une porte logique donnée, chaque transition possible des variables d'entrée possède donc une signature différente a priori. Ce constat reste valable que la technologie employée soit de type synchrone ou asynchrone. On rappelle qu'en mode synchrone, tous les éléments partagent une notion de temps discrète commune, comme un signal d'horloge global. En mode asynchrone, au contraire il n'existe pas de notion de temps discrète commune entre les éléments. Celle-ci est remplacée par un mécanisme dit de poignée de mains opérant une synchronisation locale, et assurant la communication et le séquencement des opérations.
Les attaques par analyse différentielle de courant, puissance ou consommation, utilisent ces considérations pour identifier une information secrète utilisée par des circuits électriques classiques, par exemple lors d'un calcul cryptographique par un cryptosystème ou lors d'une vérification de la connaissance d'un élément secret.
On connaît déjà plusieurs dispositifs à circuit logique présentés comme permettant de diminuer les différences entre signatures. Cependant, pour de tels dispositifs, la diminution est bien insuffisante en regard de nombreuses applications où la sécurité est primordiale. En particulier, les dispositifs purement matériels antérieurs à la présente invention ne parviennent pas à résoudre de façon efficace le problème de l'adaptation d'impédance nécessaire au but général.
Lorsqu'une réduction de signature est nécessaire, les concepteurs de circuits cryptographiques ont tendance à avoir recours à des techniques dites de masquage utilisant un aléa pour décorréler les valeurs d'entrées du module calculatoire, du calcul qui est effectué. Ces solutions sont extrêmement pénalisantes en terme de performances puisqu'elles nécessitent d'obtenir de très nombreux bits d'aléa dans un laps de temps très court. Il en résulte une chute des performances du dispositif.
Un autre but de l'invention est de proposer une solution apte à être réalisée sans l'utilisation d'aléa permettant de lutter efficacement contre l'attaque par analyse différentielle de courant, puissance ou consommation, en fournissant une sécurité supérieure aux autres dispositifs à circuit(s) logique(s) connus.
Un autre but de l'invention est de prendre en compte et de neutraliser la signature correspondant au passage logique des entrées, d'un état logique à ce même état logique (par exemple le cas d'un inverseur dont l'entrée passe de l'état logique 0 au même état logique 0). En effet le fait de rester dans le même état logique occasionne dans tous les dispositifs à circuit(s) logique(s) connus une signature différente de celle occasionnée par n'importe quelle autre transition. Ceci peut être exploité dans certaines attaques. L'invention a donc pour but, en équilibrant de la même manière les signatures dues à un changement ou non d'état logique, de proposer une contremesure efficace contre ce type d'attaques.
Les buts précités sont atteints dans le cadre de la présente invention, grâce à un dispositif formant circuit électrique, caractérisé par le fait qu'il comprend des moyens logiques formant interrupteurs, inclus dans une fonction logique et adaptés pour décorréler les données d'entrée de ladite fonction logique, de toute grandeur externe mesurable.
Dans le cadre de la présente invention, on entend par interrupteur, tout dispositif placé sur un chemin logique de données qui permet, dans certains états, de décorréler les caractéristiques électriques de certaines entrées de celles de certaines sorties du dispositif, et dans certains états de transmettre certaines valeurs logiques de certaines entrées sur certaines sorties. Les interrupteurs CMOS ou les multiplexeurs sont des exemples donnés à titre non limitatif de dispositifs répondant à cette définition.
L'invention tire parti de certaines structures logiques et de considérations protocolaires. Elle conduit à la réalisation de portes élémentaires logiques, dont la différence de signature entre deux quelconques transitions des entrées de la porte logique est largement diminuée et fortement non mesurable.
De telles portes peuvent être assemblées pour former un circuit logique fonctionnel.
Selon d'autres caractéristiques avantageuses, mais non limitatives de l'invention: - La porte comporte des moyens logiques à semi-conducteur(s).
- La porte réalise une fonction logique choisie dans le groupe comprenant une fonction logique NAND entre deux bits d'entrée, une fonction logique NOR, une fonction logique XOR, une fonction logique OR et une fonction logique AND.
- La porte effectue l'opération de NAND logique entre deux bits logiques 30 véhiculés par des canaux portant valeur de chacun de ces bits.
- Les moyens formant interrupteurs sont utilisés pour réaliser l'adaptation d'impédance de noeuds internes à la porte.
- Ces interrupteurs sont des moyens logiques à semi-conducteur(s).
- le dispositif comprend une porte logique réalisant une fonction logique et qui incorpore les moyens logiques formant interrupteurs, et la porte logique comprend une interface d'entrée sur laquelle il reçoit les quantités sur lesquelles ledit dispositif calcule ladite fonction logique, une interface qui reçoit une alimentation, un circuit électronique à état transitoire connecté à l'interface d'entrée calculant ladite fonction logique sur lesdites quantités, de façon à ce que la Io consommation dudit circuit lors dudit calcul sur lesdites quantités soit non corrélable auxdites quantités, et une interface de sortie permettant de communiquer le résultat de ladite fonction logique à l'environnement dudit dispositif.
- toutes les composantes du circuit participent au moins à certains instants, selon la valeur des données d'entrée, au calcul de la fonction logique.
- le dispositif comporte des moyens de charge ou de décharge respectivement activables par un noeud interne à la porte.
- le dispositif est directement inséré entre deux portes logiques asynchrones générant leur propre signal d'acquittement, lequel assure le protocole.
- il est adapté de sorte qu'il ne subsiste aucun noeud dont la valeur dépend des calculs précédents lors du passage dans l'état non-valide du protocole.
- il véhicule des états électroniques dits 0', 1', 0' faible, 1' faible.
- il contient des cellules mémorisantes.
- il constitue tout ou partie d'un dispositif réalisant une opération cryptographique et utilisant un élément secret, telle que par exemple une opération cryptographique comprenant une opération cryptographique symétrique par bloc, une opération cryptographique comprenant une opération de cryptographie asymétrique.
- ladite opération cryptographique comprend un multiplieur.
- il comporte des moyens formant interrupteurs destinés à réduire la 30 consommation globale de la porte, par exemple en réduisant le temps de conduction de transistors connectés entre l'alimentation et la masse.
- lesdits moyens formant interrupteurs destinés à réduire la consommation de la porte limitent les courants de fuite dynamiques.
- il comporte des moyens uniquement destinés à augmenter le temps de propagation de certaines variables intermédiaires de manière à réduire la consommation absolue de la porte en limitant les courants de fuite dynamiques.
- les moyens formant interrupteur peuvent être constitués chacun d'un unique transistor MOS, ou chacun de plusieurs transistors MOS, par exemple d'un transistor NMOS et d'un transistor PMOS.
- lesdits moyens formant interrupteurs peuvent être réalisés par exemple en 10 logique de conduction, sous forme de transistor(s) de passage ou autres moyens équivalents.
- il repose sur une architecture symétrique dans laquelle au moins certains des composants ont un symétrique présentant un changement de transition opposée.
Le dispositif conforme à la présente invention utilise avantageusement un protocole comprenant un état données non valide . Plus précisément, dans un tel protocole, le codage des données permet de distinguer des états où la donnée est présente, où donc elle possède une certaine valeur logique, et un état où la donnée est en attente, qui n'est donc associé à aucune valeur logique. Un tel état est dit non valide. Notamment dans un mode de réalisation préféré de la présente invention, le dispositif utilise un protocole dit asynchrone double rail 4 phases connu par l'état de l'art depuis plus d'une cinquantaine d'années. Avantageusement encore dans un tel mode de réalisation, la porte est auto-synchronisée, de telle sorte qu'elle ne nécessite aucun signal de contrôle autre que ceux véhiculés par le protocole asynchrone classique (données et acquittement).
Dans un second mode de réalisation possible de l'invention, le dispositif utilise un protocole synchrone utilisant plusieurs moyens formant commandes générées extérieurement au dispositif.
Le dispositif conforme à la présente invention comporte avantageusement, mais non limitativement, des moyens à semi-conducteurs permettant de supprimer tout effet de mémorisation au sein de la porte dès passage par l'état non valide prévu par le protocole. En particulier dans un mode de réalisation préféré, dès que la porte passe dans l'état non valide, l'état de tous les noeuds de ladite porte est rafraîchi à un état connu prédéterminé. Ce passage de chaque noeud vers un état connu garantit qu'aucune mémoire de l'état passé, donc de la valeur logique depuis laquelle s'effectue une transition, ne subsiste dans le circuit.
Avantageusement, mais non limitativement, certains moyens formant interrupteurs sont utilisés pour permettre une remise à zéro des noeuds considérés par connexion à la masse à travers lesdits moyens formant interrupteurs.
Avantageusement, mais non limitativement, encore certains moyens formant interrupteurs sont utilisés pour une mise à un des noeuds considérés par connexion à 10 l'alimentation à travers lesdits moyens formant interrupteurs.
Le dispositif comporte avantageusement, mais non limitativement, des moyens à semi-conducteurs permettant de réaliser la fonction logique pour laquelle la porte a été conçue en conservant une correspondance entre certains noeuds du circuit, de telle sorte que pour chaque groupe de noeuds en correspondance, le poids de Hamming soit constant quelles que soient les entrées valides de la porte, comme c'est le cas dans la majeure partie des dispositifs conformes à l'état de l'art depuis une cinquantaine d'années en technologie double rail asynchrone, et de telle sorte que, même avec connexion de capacités additionnelles à la porte, identiques sur les deux rails, la charge vue par chacun des noeuds de chaque ensemble soit en pratique identique.
Dans un mode de réalisation préféré, le dispositif comporte 4 portes dites de rendez-vous (éléments C de Muller) permettant une synchronisation des données, chacune de ces portes étant connectées à un nombre égal de grilles de transistors. Il convient néanmoins de souligner que la finalité des 4 éléments C de Muller, et du protocole double rail est uniquement protocolaire. Le but de l'invention est atteint à l'aide des interrupteurs conformes à la présente invention qui sont associés en aval à ces éléments.
L'invention est avantageusement, mais non limitativement, utilisée dans les structures à circuits cryptographiques. Lesdites structures à circuits cryptographiques contiennent avantageusement une ou plusieurs porte(s) logique(s) différentes mettant en oeuvre l'invention.
Le dispositif est avantageusement, mais non limitativement, intégré dans un circuit intégré, tel qu'un ASIC ou un FPGA.
Dans un ASIC, ces portes pourront avantageusement être utilisées en combinaison avec des portes d'une librairie standards ou d'une librairie dédiée.
D'autres caractéristiques, buts et avantages de l'invention ressortiront encore de la description qui suit, laquelle est purement illustrative et non limitative, et doit être lue en regard des dessins annexés sur lesquels: La figure 1 est un schéma de principe d'un circuit logique conforme à un mode de réalisation possible de l'invention réalisant une fonction 10 logique AND en mode asynchrone.
Les figures 2, 3 et 4 détaillent la structure de sous ensembles possibles du mode de réalisation présenté sur la figure 1.
La figure 5 est un schéma de principe d'un circuit logique conforme à un autre mode de réalisation possible de l'invention réalisant une 15 fonction logique NAND en mode synchrone.
Les figures 6 et 7 détaillent la structure de sous ensembles possibles du mode de réalisation présenté sur la figure 5.
La figure 8 est un chronogramme descriptif d'un protocole pouvant être utilisé pour piloter la réalisation de l'invention présentée en figure 5.
La figure 9 représente une autre variante de réalisation conforme à la présente invention destinée à la mise en oeuvre d'une fonction logique de type bascule assurant une fonction de mémorisation.
La figure 1 illustre un exemple de réalisation possible d'un dispositif conforme à la présente invention réalisant une fonction logique AND utilisée dans le cadre d'un protocole asynchrone 4-phase double rail classique qui sera rappelé plus bas. La porte réalise une opération de AND binaire entre deux entrées logiques a et b. Ci-dessous la table de vérité d'une telle porte AND: a b AND(a,b) faux faux faux faux vrai faux vrai faux faux vrai vrai vrai Le dispositif illustré sur la figure 1 comprend un étage d'entrée 100 composé d'éléments de rendez-vous 110, un étage intermédiaire 200 composé de chaînes 210, 250 constituées de l'association alternée de moyens formant interrupteurs 220 et de dispositifs de charge/décharge 230 comportant également des dispositifs formant interrupteurs, un étage de sortie 300 et un module formant porte NOR 400 destiné à la génération d'une commande de contrôle des moyens intégrés dans les étages précités 200 et 300.
Les données d'entrées a, b sont codées respectivement sur deux bits selon le lo protocole asynchrone double rail 4-phase. Ainsi un 0 logique est codé par le couple 01' et un 1 logique est codé par le couple 10'. Le protocole comprend en outre un état dit non valide codé par le couple 00'. L'état 11' est interdit et est ignoré par le protocole. Les données de sortie utilisent le même codage.
Le protocole est le suivant: si les deux entrées sont à l'état non valide, transmettre l'état invalide. Si l'une des entrées seulement est valide: attendre que la seconde entrée soit valide. Dès que les deux entrées sont valides, calculer la valeur AND entre les deux entrées. Le retour à l'état non valide est nécessaire avant tout nouveau calcul. Une telle réinitialisation des données d'entrées est assurée par l'environnement de la porte, qui utilise le signal d'acquittement asynchrone (généré soit à l'aide d'un OR logique entre les signaux disponibles sur les sorties 312a, 312b, soit par l'environnement de la porte).
La table de vérité de la porte AND devient alors: a b al a0 bl bO AND(a,b) AND(a,b)1 AND(a,b)O non valide non valide 0 0 0 0 non valide 0 0 faux faux 0 I 0 1 faux 0 1 vrai faux 1 0 0 1 faux 0 1 faux vrai 0 1 1 0 faux 0 1 vrai vrai 1 0 1 0 vrai 1 0 Les autres situations correspondent soit à une situation d'attente de rendez-vous des données d'entrées (l'une des données est valide et l'autre non) soit à un état illicite (l'une au moins des entrées est à l'état 11').
Les circuits de type 110 de l'étage d'entrée 100 sont destinés à la synchronisation des données d'entrée a, b (indispensable en protocole asynchrone). Il est ainsi prévu quatre circuits 110a, 110b, 110c et 110d de même structure, à deux entrées 111a, 113a, l llb, 113b, 111c, 113c et l l ld, 113d et une sortie 112a, 112b, 112c et 112d. Les entrées 111, 113 des circuits 110 sont reliées à des paires respectivement différentes des entrées al, a0, bl et b0. Les sorties 112 des circuits 110 changent d'état lorsque deux états de même type, valides ou invalides, sont appliqués sur les entrées 111 et 113 associées.
On a représenté sur la figure 2 annexée un exemple non limitatif de réalisation d'un tel circuit 110. Le mode de réalisation ainsi représenté est connu de l'homme de l'art. Il ne sera donc pas décrit dans le détail par la suite. L'homme de l'art comprendra à l'examen des figures 1 et 2 qu'une seule des sorties 112 des 4 circuits est à 1 à la fois.
Les sorties 112a, 112b, 112c et 112d de ces étages 110 sont connectées aux entrées correspondantes 211, 251 des chaînes d'interrupteurs 210, 250, ainsi qu'à l'entrée du module 400.
Les chaînes 210, 250 sont constituées d'une série d'interrupteurs 220 et de dispositifs de charge/décharge 230, alternés. Elles sont pilotées par le signal de cadencement issu de la sortie 402 du module 400. Les moyens qui commandent les circuits 210 sont tels que: si l'entrée 211, 251 vaut 0' et le signal 402 vaut 1', tous les noeuds internes au circuit 210, 250 sont forcés à 0. Si l'entrée 211, 251 vaut 1' et le signal 402 vaut 0', tous les interrupteurs 220 sont passants et la valeur de l'alimentation 213, 253 (c'est à dire la masse pour les circuits 210 et la valeur de l'alimentation positive pour les circuits 250) est copiée sur la sortie 212, 252. Si l'entrée 211, 251 vaut 0' et le signal 402 vaut 0', tous les moyens formant interrupteurs 220 sont bloquants, de même que les moyens de charge/décharge incorporant des interrupteurs 230. Les noeuds internes sont à l'état haute impédance, de même que la sortie 212, 252. L'état dans lequel l'entrée 211, 251 vaut 1' et le signal 402 vaut 1' ne peut être atteint que de manière transitoire.
Plus précisément pour X circuits 110, il est prévu n ensembles de X circuits 210 et n ensembles de X circuits 250, les entrées 211, 251 de l'un des circuits 210 et de l'un des circuits 250 de chacun des n ensembles étant reliées en parallèle à la sortie 112 d'un circuit 110. Ces n ensembles de X circuits 210, 250 sont répartis en n groupes comprenant chacun X circuits, chacun des n groupes comprenant Y circuit(s) de type 210 ou 250 et (X-Y) circuits de type 250 ou 210. Les sorties des circuits 210 et 250 de chacun des n groupes sont reliées en commun au niveau d'un noeud respectif 205a, 205b. Selon le mode de réalisation de la figure 1 il est ainsi prévu deux groupes de 4 circuits 210, 250. L'un des groupes comprend (X-1), soit 3, circuits de type 210 ayant son alimentation 213 reliée à la masse et 1 circuit de type 250 ayant son alimentation 253 reliée à l'alimentation positive, tandis que l'autre groupe comprend (X-1), soit 3, circuits de type 250 ayant son alimentation 253 reliée à l'alimentation positive et 1 circuit de type 210 ayant son alimentation 213 reliée à la masse.
Selon le mode de réalisation non limitatif illustré sur la figure 1 annexée, les circuits interrupteurs 220 comprennent deux transistors MOS 224, 225 de type opposé p et n, dont les grilles sont reliées à une entrée 221, respectivement directement et par l'intermédiaire d'un inverseur 226. Les trajets drain-source des transistors 224, 225 sont quant à eux reliés, en parallèle, entre une entrée 223 et une sortie 222 du circuit 220.
On précise ici que dans le cadre de la présente description, on entend par trajet drain-source, un trajet bidirectionnel, c'est-à-dire aussi bien du drain vers la source 25 que de la source vers le drain.
Les circuits de charge/décharge 230 illustrés sur la figure 1 annexée comprennent un transistor MOS type n 234 dont la grille est reliée à la sortie 402 du module 400, tandis que son trajet drain-source est relié entre la masse et un noeud 235 qui est lui même relié à l'entrée 231 et à la sortie 232 du circuit 230.
Tous les circuits 220 ont leur entrée 221 reliée à l'entrée 211 ou 251. Le premier circuit 220 de chaque chaîne 210 ou 250 a son entrée 223 reliée à une alimentation (respectivement une masse pour les circuit de type 210 et une alimentation positive pour les circuits de type 250). Sa sortie 222 est reliée à l'entrée 231 d'un circuit de décharge 230. La sortie 232 de ce circuit 230 est elle même reliée à l'entrée 223 du circuit 220 suivant et ainsi de suite, jusqu'au dernier circuit 220 de la chaîne dont la sortie 222 constitue la sortie 212 ou 252 d'une chaîne 210 ou 250.
Selon la représentation donnée sur la figure 1, chaque chaîne 210, 250 comprend 4 interrupteurs 220 et 3 circuits de décharge 230 intercalés. L'invention n'est cependant pas limitée à ce nombre ni à cette structure de cellules disposées en série entre la borne d'alimentation 213, 253 en entrée et la sortie 212, 252. En particulier on peut envisager de réduire ou d'augmenter ce nombre de cellules 220/230 si les technologies de fabrication des interrupteurs ou la structure des interrupteurs permettent d'adapter l'impédance de ceux-ci par rapport aux technologies actuellement disponibles.
Les circuits de sortie 310a et 310b sont constitués d'un moyen formant interrupteur à fonction de décharge dont la commande est le signal 402. Ils sont de préférence identiques aux circuits 230. On retrouve en effet sur la figure 1 annexée des circuits 310 comprenant un transistor MOS type n 314 dont la grille est reliée à la sortie 402 du module 400, tandis que son trajet drain-source est relié entre la masse et un noeud 315 qui est lui même relié à l'entrée 311 et à la sortie 312 du circuit 310.
Les sorties 212a, 212b, 212c et 252d sont connectées entre elles. Ce noeud commun de sortie 205a est connecté à l'entrée du dispositif 310a. De même, les sorties 252a, 252b, 252c et 212d sont connectées entre elles. Ce noeud commun de sortie 205b est connecté à l'entrée du dispositif 310b.
Les sorties 312a et 312b constituent les sorties du montage. La sortie 312a correspond à la fonction logique AND(a,b)1, tandis que la sortie 312b correspond à la fonction logique AND(a,b)0.
On a représenté sur les figures 3 et 4 annexées un exemple de réalisation du 30 module 400 destiné à générer le signal de commande 402. Selon le mode de réalisation illustré sur les figures 3 et 4, le module 400 est composé de trois circuits 410a, 410b, 410c de constitution identique et de deux inverseurs 420a, 420b. Les entrées 411a, 413a; 41 lb, 413b des deux circuits 410a, 410b sont reliées à une paire respective des sorties 112a, 112b, 112c et 112d de l'étage d'entrée 100. Leur sortie 412a et 412b attaque respectivement l'entrée 421a, 421b d'un inverseur 420a, 420b. Les sorties 422a, 422b de ces derniers sont reliées aux entrées 411c, 413c du circuit 410c. Enfin la sortie 412c du circuit 410c constitue la sortie 402 du module 400.
Un mode de réalisation particulier des circuits 410 est illustré sur la figure 4. On aperçoit sur cette figure un circuit comprenant deux premières branches parallèles de deux transistors MOS 414 (p), 415 (p) d'une part et 417 (p), 418 (p) d'autre part. Le circuit comporte en outre deux deuxièmes branches parallèles d'un transistor MOS 416 (n) d'une part et 419 (n) d'autre part. Les trajets de conduction drain-source des transistors 414, 415, 416 d'une part et 417, 418, 419 d'autre part sont connectés en série entre la borne d'alimentation positive et la masse.
A partir de l'alimentation positive, la grille du transistor 414 est reliée à une entrée 411, tandis que les grilles des deux transistors suivants 415 et 416 sont reliées à la seconde entrée 413. De façon symétrique, à partir de l'alimentation positive, la grille du transistor 417 est reliée à la seconde entrée 413, tandis que les grilles des deux transistors suivants 418 et 419 sont reliées à la première entrée 411.
La sortie 412 est prélevée sur le noeud commun aux drains et sources des quatre transistors 415, 416 et 418, 419 situés côté masse.
L'homme de l'art comprendra que le module 400 est conçu pour générer les signaux de séquencement 402 à partir des signaux de protocole double rail. Ce module est donc autonome. Par ailleurs de par sa structure symétrique, exploitant les signaux valides disponibles en sortie du premier étage 100, il s'affranchit de toute signature.
L'une des particularités du circuit illustré sur la figure 1 est que lorsque l'une au moins des données est dans l'état invalide, l'état de chacun des noeuds du circuit peut être déterminé uniquement à partir de l'état courant des bits d'entrée du circuit.
Ceci permet de faire disparaître d'éventuels effets de mémorisations des calculs précédents qui peuvent être induits par des états internes à la porte (haute impédance).
Une autre des particularités d'un tel circuit est la symétrie de sa structure. Quelle que soit la donnée d'entrée de la porte, sa structure lui permet de regrouper les différents noeuds de la porte, de telle façon que, pour chacun des groupes, d'une part, le poids de Hamming total soit indépendant de la valeur des entrées a et b et, d'autre part, la charge équivalente de chacun des noeuds d'un même ensemble (vue du point de vue de l'entrée ou de la sortie) soit identique. Il en résulte que la consommation ne va pas dépendre de la valeur des données à un instant donné.
Comme, par ailleurs, la structure des moyens de type 110 et 400 et les moyens de type 310 et 230 permettent de mettre tous les noeuds du réseau dans un état connu (toujours le même) dès passage dans l'état non valide, il n'y a d'autre part aucun effet de mémorisation parasite dans la porte. Il n'y a en effet aucun noeud (même interne à un sous-circuit) à l'état haute impédance au passage dans l'état tampon. L'intérêt des interrupteurs 220 est double: d'une part, ces interrupteurs
permettent de faire une sélection à la manière d'un multiplexeur de la sortie correcte de la porte parmi les quatre possibles (seul l'un des signaux 112a, 112b, 112c et 112d prend la valeur 1' à la fois) et, d'autre part, il permet d'isoler les capacités du réseau. Toutes les capacités d'un côté d'un interrupteur ouvert sont invisibles depuis l'autre côté, ce qui permet l'équilibrage des capacités.
Le circuit illustré sur la figure 1 peut faire l'objet de différentes variantes de réalisation. A titre d'exemple, les moyens de décharge 310 placés dans l'étage de sortie 300, qui sont communs aux sorties 205a, 205b de quatre chaînes 210, 250, pourraient être dupliqués en sortie de chacune de ces chaînes.
On va maintenant décrire en regard de la figure 5, une autre variante de réalisation conforme à la présente invention destinée à réaliser une fonction logique NAND.
La figure 5 illustre un exemple de réalisation possible de l'invention dans le cas où elle réalise une fonction logique NAND utilisée dans le cadre d'un protocole synchrone. La porte réalise une opération de NAND binaire entre deux entrées logiques a et b. Ci-dessous la table de vérité d'une telle porte NAND: a b NAND(a,b) faux faux vrai vrai faux vrai faux vrai vrai vrai vrai faux Les entrées a et b sont codées sur 2 bits. Ainsi l'entrée a sera-t-elle représentée par deux bits al et aO et l'entrée b par deux bits bl et bO. Lorsque a vaut 1', al = 1' et aO = 0'. Si a vaut 0', al vaut 0' et aO vaut l'. L'état al = 1' et aO = l' code un état donnée non valide encore appelé état tampon. Le protocole permet d'imposer qu'au traitement de toute donnée valide succède un traitement de l'état tampon, ayant pour but la réinitialisation de tous les noeuds internes du système, ce qui supprime un éventuel effet de mémorisation dans la porte considérée. L'état al = 0' et aO = 0' est inutilisé.
Outre ces entrées a et b codées sur deux bits, la porte nécessite plusieurs signaux protocolaires, ici au nombre de 8, référencés 450 à 457. Ces signaux 450 à 457 sont générés de façon déterministe et indépendante des données, à l'extérieur de la porte, par une circuiterie quelconque (par exemple une machine à état) qui est hors du périmètre de l'invention. Ces signaux protocolaires sont codés classiquement par un unique bit.
La table de vérité de la porte NAND devient alors: a b al aO bl bO NAND(a, b) NAND(a,b)1 NAND(a,b)O non valide non valide 1 1 1 1 non valide 1 1 faux faux 0 1 0 1 vrai 1 0 vrai faux 1 O 0 1 vrai 1 0 faux vrai 0 1 1 0 vrai 1 0 vrai vrai 1 0 1 0 faux 0 1 Notons que les autres combinaisons sont interdites par le protocole et la 20 conception du circuit qui comprend la présente porte. Il est nécessaire que le calcul ne s'effectue qu'entre deux données valides ou entre deux états tampons. Ce problème purement physique de synthèse et placement routage est un problème classique en conception de circuits intégrés.
Le circuit représenté sur la figure 5 comprend un étage d'entrée 500, un étage de codage 600 et un étage d'interrupteurs 700.
L'étage d'entrée 500 comprend 4 (Z) circuits 510 à deux entrées 511, 513, reliées respectivement à des paires différentes de données d'entrée al, a0, bl et b0 et une sortie 512. Les circuits 510 réalisent une fonction NAND bit à bit classique entre leurs deux entrées 511, 513. La sortie du dispositif 510a (signal 512a) correspond toujours à la valeur du calcul NAND(al,bl), donc NAND(a,b) dans un codage classique.
Un exemple de réalisation de circuit 510 est illustré sur la figure 6. Un tel circuit comprend quatre transistors 514, 515, 516 et 517. Les deux transistors MOS 514 et 515 de type p ont leurs trajets de conduction drain-source connectés en parallèle entre la borne d'alimentation positive et un noeud qui correspond à la sortie 512 du circuit 510. Leurs grilles sont sollicitées respectivement par un signal d'entrée al, a0, bl et b0, via une entrée 511 ou 513. Les deux autres transistors 516 et 517 de type n ont leur trajet de conduction drain-source connecté en série entre le noeud 512 et la masse. Leurs grilles sont sollicitées respectivement par les entrées 513 et 511.
L'étage 600 qui suit l'étage d'entrée 500, comprend 4 (Z) circuits 610 à une entrée 611 et deux sorties 612, 613. Les circuits 610 sont reliés respectivement, en entrée, aux sorties d'un circuit 510. Ils réalisent une fonction de codage. Ces circuits sont constitués uniquement de deux inverseurs 614, 615. Ils calculent respectivement les valeurs prévues par le protocole de chacun des bits dans le cas d'une donnée valide. A titre d'exemple, les signaux 612a et 613a disponibles sur les sorties des circuits 610a correspondent respectivement à NAND(a,b) l et NAND(a,b)0 dans le cas où les données a et b sont toutes deux valides, c'est-à-dire qu'elles ne sont ni l'une ni l'autre dans un état tampon.
Plus précisément les circuits 610 comprennent les deux inverseurs 614, 615 30 en série entre l'entrée 611 et une première sortie 612. La seconde sortie 613 est prélevée sur le point intermédiaire commun aux deux inverseurs 614, 615.
Les circuits de type interrupteurs 700 réalisent l'opération cruciale que constitue l'adaptation d'impédance. En effet, pour une telle porte logique, il est nécessaire que les capacités vues par chacun des noeuds 612a, 613a, 612b, 613b, 612c, 613c, 612d, 613d soient identiques.
L'étage interrupteur 700 comprend 2.Z, soit ici 8, modules interrupteurs 710 connectés respectivement sur les sorties des circuits de codage 610.
Les circuits interrupteurs 710 comportent notamment des dispositifs faisant interrupteurs destinés à isoler certaines capacités du réseau. Ils comportent en outre des éléments permettant de respecter le protocole et de forcer dans un état connu les 10 différents noeuds du circuit dans le cas d'un calcul sur l'état tampon.
A cette fin chaque circuit 710 comprend selon le mode de réalisation représenté sur la figure 5, un étage intermédiaire assurant une fonction de multiplexeur 730 intercalé entre deux interrupteurs 720, 750.
Le dispositif 730 est un multiplexeur permettant de choisir entre la donnée qui a été transmise par l'interrupteur amont 720 et la valeur 1' correspondant à l'envoi de l'état tampon vers une éventuelle porte suivante. Ce dispositif comporte en outre des structures de décharge vers la masse lui permettant de ne conserver aucune mémoire des calculs effectués auparavant.
Les circuits interrupteurs 720 comprennent de préférence deux transistors interrupteurs 724, 725. Les deux transistors 724 et 725 de type opposé n et p ont leur trajet de conduction drain-source en parallèle entre l'entrée 721 et la sortie 722. Leurs grilles sont sollicitées respectivement par un signal de cadencement externe 450, 451. Ces interrupteurs 724, 725 sont brièvement ouverts par les signaux 450, 451 pour échantillonner le résultat du calcul dans le cadre de données valides et restent en position fermées pour un calcul sur l'état tampon puisque les multiplexeurs 730 se chargent ensuite de transmettre l'état tampon aux éventuelles portes logiques suivantes.
On a représenté sur la figure 7 un exemple non limitatif de réalisation d'un circuit à fonction de multiplexeur 730. Ce circuit 730 comprend 8 transistors 733 à 740 et un inverseur 741. L'entrée 731 est reliée la grille de T 733 type n dont le trajet de conduction drain-source est en série de celui de T 734 type n entre la masse et un noeud interne 742. Le transistor T 735 type n a son trajet drain source entre le noeud 742 et la masse. Sa grille est sollicitée par le signal 452. Le trajet drain- source de T 736 type n est placé entre la masse et le point commun à T 733 et T 734. Sa grille est sollicitée par le signal 454. Les grilles de T 734 et T 735 sont sollicitées respectivement par les signaux 453 et 452. Les trajets drain-source des transistors T 737 et T 738 type p sont placés en série entre le noeud 742 et la borne d'alimentation positive. Leurs grilles sont sollicitées respectivement par le signal 452 et l'entrée 731. Le trajet drain-source de T 740 type n est placé entre la masse et l'entrée 731. Sa grille est sollicitées par le signal 454. Enfin l'inverseur 741 est placé entre le noeud 742 et la sortie 732.
Les interrupteurs aval 750 sont structurellement identiques aux interrupteurs 720, mais sont commandés par une commande différente (456, 457) permettant de laisser passer alternativement le résultat du calcul sur des données valides et le résultat du calcul sur des données tampons. Les interrupteurs 750 comprennent deux transistors 754 et 755 de type opposé n et p dont les trajets de conduction drain-source sont placés en parallèle entre l'entrée 751 et la sortie 752. Leurs grilles sont sollicitées respectivement par un signal de cadencement externe 457, 456.
Le cas échéant les interrupteurs de sortie 750 peuvent être omis si les circuits 730 formant multiplexeur présente une impédance interne suffisante.
Le cas échéant les interrupteurs peuvent être formés non pas de deux transistors de type opposé montés en parallèle pour véhiculer respectivement des signaux haut et des signaux bas de manière optimale, mais d'un transistor unique permettant de véhiculer des signaux dits états électroniques 0' faible et 1' faible.
Les sorties 702, 704 accessibles du circuit global sont prélevées sur les sorties des circuits 710a1 et 710a2. Les sorties des autres circuits 710b1, 710b2, 710c1, 710c2, 710d1 et 710d2 restent non accessibles au sein du circuit.
La sortie 702 correspond à la fonction logique NAND(a,b)0, tandis que la sortie 704 correspond à la fonction logique NAND(a,b)1.
Un tel dispositif joue très schématiquement le rôle d'une écluse. Il permet de 30 masquer les calculs effectués dans une partie du circuit par rapport au reste du circuit. Tout ce qui est d'un côté d'un interrupteur ouvert est invisible du point de vue des dispositifs placés de l'autre côté.
La présence d'un dispositif 710 en aval de chacune des sorties des circuits 610 permet de réaliser une adaptation d'impédance de telle sorte que les capacités sont équilibrées à chaque instant du protocole, quelle que soit la charge sur les sorties 702 et 704 du dispositif, même dans le cas où les charges sont infinies sur les sorties des circuits 710b1, 710b2, 710c1, 710c2, 710d1 et 710d2 (éventuellement non connectées).
En effet si l'on branchait une charge quelconque sur les sorties 612a et 612b sans connecter les 6 autres sorties 612 et 613 du dispositif, il en résulterait une dissymétrie capacitive qui se refléterait très fortement en terme de signature. Une porte logique basée sur le schéma illustré sur la figure 5, mais qui ne comporterait pas les dispositifs 710 ne donnerait donc pas satisfaction en termes de protection.
Notons qu'à chaque instant, le poids de Hamming des données intermédiaires déjà établies est indépendant des données a et b qui sont traitées. Ceci est nécessaire, mais nullement suffisant. Dans le cas d'un calcul sur l'état tampon, l'état de tous les noeuds du circuit doit être connu et adapté par les mécanismes formant interrupteur.
Le protocole complet correspondant à un calcul sur deux données quelconques est présenté sur la figure 8. Seul l'ordre de transition des commandes est important. L'écart entre les différentes transitions doit être cependant suffisant pour laisser le temps au circuit d'atteindre un état stable avant de recevoir une nouvelle commande.
On a illustré sur la figure 9 un exemple de réalisation d'une bascule 800 conforme à la présente invention. Ce circuit 800 est conçu pour opérer en protocole asynchrone double rail 4 phases. Il utilise deux bits al et a0 tels que pour a=0, al=0 et al=1, tandis que pour a=1, al=1 et a0=0. Le circuit 800 comporte deux circuits d'entrée 810a et 810b de structure similaire aux circuits 110 précités. Ces circuits 810 reçoivent sur leurs deux entrées d'une part un signal respectif al et a0, et d'autre part un signal d'acquittement 804. Les sorties des circuits 810 sont reliées aux entrées respectives de deux chaînes d'interrupteurs 820a et 820b de structures similaires aux circuits 210 précités. Les sorties de ces deux chaînes 820a et 820b fournissent les sorties 802 et 803 du montage. Ces sorties sont chargées par des cellules de décharges 830a, 830b similaires aux circuits 230, comprenant un transistor 832 dont la grille est sollicitée par la sortie d'une porte 840 assurant la fonction logique OU à partir de la sortie des circuits 810. Enfin un inverseur 850 dont l'entrée est reliée à la sortie de la porte 840, génère à sa sortie, un signal d'acquittement.
Les portes conformes à la présente invention précédemment décrites peuvent être avantageusement combinées pour former quelque fonction logique que ce soit.
Cependant, les signaux protocolaires de chaque porte doivent être coordonnés aux entrées de la porte.
Par ailleurs le placement-routage et le processus de fabrication de l'ensemble des composants du circuit doivent être adaptés de sorte que, au sein de toute paire de composants ayant des fonctions analogues, ces composants présentent le même comportement électrique, en terme de courant, tension, temps et phase, pour éviter toute signature.
Bien entendu la présente invention n'est pas limitée aux modes de réalisation particuliers qui viennent d'être décrits, mais s'étend à toute variantes conformes à son esprit.
En particulier on peut réaliser un circuit opérant la fonction logique OR à partir d'une structure similaire à celle illustrée sur la figure 1, uniquement en inversant les connexions des entrées 213b, 213c et 253b, 253c, c'est à dire en reliant les entrées 213b et 213c non pas à la masse, mais à l'alimentation positive et en reliant les entrées 253b et 253c non pas à l'alimentation positive, mais à la masse.
De même on peut réaliser un circuit opérant la fonction logique XOR à partir d'une structure similaire à celle illustrée sur la figure 1, uniquement en connectant les entrées 213a, 253d, 253b et 253c à l'alimentation positive et les entrée 213b, 213c, 253a et 213d à la masse.
La présente invention conduit à une porte logique dont la consommation est 30 indépendante de ses données d'entrée et de son état logique. Elle peut trouver de nombreuses applications. A titre d'exemple non limitatif, on peut citer la protection de cartes à puces (avantageusement conformes aux normes ISO 7816, 14443 ou 15693) et autres cryptosystèmes contre les attaques par canaux auxiliaires telles que les attaques par collision et les attaques par analyse différentielle de courant, de puissance ou consommation.
Selon d'autres caractéristiques avantageuses de l'invention: - les signaux de contrôle du protocole synchrone sont partiellement ou en totalité générés à l'extérieur de la porte.
- le dispositif constitue tout ou partie d'un dispositif réalisant une opération cryptographique et utilisant un élément secret.
- le dispositif possède des moyens 400, 610, permettant de synchroniser deux signaux distincts devant être établis quasiment simultanément.
- ces moyens de synchronisation utilisent des inverseurs 614, 615.
- les moyens de synchronisation 400 utilisent des portes OR 410.

Claims (49)

REVENDICATIONS
1. Dispositif formant circuit électrique, caractérisé par le fait qu'il comprend des moyens logiques formant interrupteurs (220; 720, 750), inclus dans une fonction logique et adaptés pour décorréler les données d'entrée de ladite fonction logique, de toute grandeur externe mesurable.
2. Dispositif selon la revendication 1 caractérisé en ce qu'il comprend une porte logique réalisant une fonction logique et qui incorpore les moyens logiques formant interrupteurs (220; 720, 750), et caractérisé en ce que la porte logique comprend une interface d'entrée (100, 500) sur laquelle il reçoit les quantités sur lesquelles ledit dispositif calcule ladite fonction logique, une interface qui reçoit une alimentation, un circuit électronique (200, 700) à état transitoire connecté à l'interface d'entrée (100, 500) calculant ladite fonction logique sur lesdites quantités, de façon à ce que la consommation dudit circuit lors dudit calcul sur lesdites quantités soit non corrélable auxdites quantités, et une interface de sortie (300) permettant de communiquer le résultat de ladite fonction logique à l'environnement dudit dispositif.
3. Dispositif selon l'une des revendications 1 ou 2, caractérisé en ce toutes ses composantes participent au moins à certains instants, selon la valeur des données 20 d'entrée, au calcul de la fonction logique.
4. Dispositif selon l'une des revendications 1 à 3, caractérisé en ce qu'il comporte des moyens logiques de type à semi-conducteur(s).
5. Dispositif selon l'une des revendication 1 à 4, caractérisé en ce qu'il comprend des moyens formant interrupteur (220, 720, 750) de type semi-25 conducteur.
6. Dispositif selon l'une des revendication 1 à 5, caractérisé en ce qu'il comporte des moyens (230) aptes à réaliser des opérations de décharge de certains noeuds vers la masse.
7. Dispositif selon l'une des revendications 1 à 6, caractérisé en ce qu'il 30 comporte des moyens aptes à réaliser des opérations de charge de certains noeuds par l'alimentation.
8. Dispositif selon l'une des revendications 6 ou 7, caractérisé en ce que lesdits moyens aptes à réaliser des opérations de charges ou décharge (230) sont de type semi-conducteurs.
9. Dispositif selon l'une des revendications 6 à 8, caractérisé en ce que lesdits 5 moyens de charge ou de décharge (230) sont respectivement activables par un noeud (402)interne à la porte.
10. Dispositif selon l'une des revendications 1 à 9, caractérisé par le fait que deux interrupteurs (220) sont placés en série, le noeud intermédiaire entre ces deux interrupteurs (220) étant connecté à un moyen de charge ou décharge.
11. Dispositif selon l'une des revendications 1 à 10, caractérisé en ce qu'il comprend plusieurs groupes de moyens formant interrupteurs (220) et moyens aptes à réaliser des opérations de charge ou décharge (230), chacun de ces groupes comportant plusieurs branches élémentaires (210, 250) connectées en une extrémité (205) et intercalant plusieurs desdits moyens fol mant interrupteurs (220) et moyens (230) aptes à des opérations de charge ou de décharge, l'autre extrémité (213, 253) de chacune desdites branches (210, 250) étant connectée soit à une alimentation, soit au potentiel de référence (masse).
12. Dispositif selon l'une des revendications 1 à 11, caractérisé en ce que chaque bit logique (a,b)des données d'entrée traitées par la fonction logique est représenté par plusieurs bits physiques (al, aO; b1, b0) tels que le poids de Hamming de ladite représentation soit indépendant de la valeur logique desdits bits logiques.
13. Dispositif selon l'une des revendications 1 à 12, caractérisé en ce qu'il utilise un protocole tel qu'il existe un état données non valides, et qu'il indique que 25 la variable qui lui est associée ne porte aucune valeur logique.
14. Dispositif selon l'une des revendications 1 à 13, caractérisé en ce qu'il utilise un protocole asynchrone double rail.
15. Dispositif selon l'une des revendications 1 à 14, caractérisé en ce qu'il comprend au moins 2 éléments de Rendez-vous (110) utilisés pour synchroniser 30 lesdites quantités d'entrée (a, b).
16. Dispositif selon la revendication 15 caractérisé en ce que la sortie desdits éléments de Rendez-vous (110) est connectée à des commandes (221) d'interrupteurs (220).
17. Dispositif selon l'une des revendications 1 à 16, caractérisé par le fait 5 qu'il génère son propre signal d'acquittement.
18. Dispositif selon l'une des revendication 1 à 16, caractérisé par le fait qu'il est directement inséré entre deux portes logiques asynchrones générant leur propre signal d'acquittement, lequel assure le protocole.
19. Dispositif selon l'une des revendications 1 à 18, caractérisé par le fait 10 qu'il comporte un circuit (400) formant porte NOR à quatre entrées permettant de commander lesdits moyens de charge ou décharge (230) .
20. Dispositif selon la revendication 19 prise en combinaison avec l'une des revendications 15 ou 16, caractérisé en ce que la sortie (112) desdits éléments de Rendez-vous (110) est connectée audit moyen formant NOR logique (400) utilisé pour commander lesdits moyens de charge ou décharge (230) par l'intermédiaire d'un signal de commande interne.
21. Dispositif selon l'une des revendications 1 à 13, caractérisé par le fait qu'il utilise un protocole synchrone.
22. Dispositif selon la revendication 21, caractérisé par le fait que les signaux 20 de contrôle dudit protocole sont partiellement ou en totalité générés à l'extérieur de la porte.
23. Dispositif selon l'une des revendications 1 à 22, caractérisé par le fait qu'il est adapté de sorte qu'il ne subsiste aucun noeud dont la valeur dépend des calculs précédents lors du passage dans l'état nonvalide du protocole.
24. Dispositif selon l'une des revendications 1 à 23, caractérisé en ce qu'il véhicule des états électroniques dits 0', 1', 0' faible, 1' faible.
25. Dispositif selon l'une des revendications 1 à 24, caractérisé par le fait qu'il contient des cellules mémorisantes (800, 110, 730).
26. Dispositif selon l'une des revendications 1 à 25, caractérisé par le fait 30 qu'il implémente une fonction logique choisie au moins dans le groupe comprenant: un NAND, un NOR, un XOR, un OR et un AND.
27. Dispositif selon l'une des revendications 1 à 26 caractérisé par le fait qu'il comporte plusieurs portes logiques.
28. Dispositif selon l'une des revendications précédentes caractérisé en ce qu'il constitue tout ou partie d'un dispositif réalisant une opération cryptographique 5 et utilisant un élément secret.
29. Dispositif selon la revendication précédente, caractérisé en ce que ladite opération cryptographique comprend une opération cryptographique symétrique par bloc.
30. Dispositif selon la revendication 28, caractérisé en ce que ladite opération l0 cryptographique comprend une opération de cryptographie asymétrique.
31. Dispositif selon la revendication 28, caractérisé en ce que ladite opération cryptographique comprend un multiplieur.
32. Dispositif selon la revendication 28, caractérisé en ce qu'il est embarqué sur une carte à puce.
33. Dispositif selon l'une des revendications 1 à 32, caractérisé par le fait qu'il possède des moyens (400, 610) permettant de synchroniser deux signaux distincts devant être établis quasiment simultanément.
34. Dispositif selon la revendication 33, caractérisé par le fait que lesdits moyens de synchronisation utilisent des inverseurs (614, 615).
35. Dispositif selon la revendication 33, caractérisé par le fait que lesdits moyens de synchronisation (400) utilisent des portes OR (410).
36. Dispositif selon l'une des revendications 1 à 35, caractérisé en ce qu'il comporte des moyens formant interrupteurs destinés à réduire la consommation globale de la porte.
37. Dispositif selon la revendication 36, caractérisé en ce que lesdits moyens formant interrupteurs destinés à réduire la consommation de la porte limitent les courants de fuite dynamiques.
38. Dispositif selon l'une des revendications 1 à 37, caractérisé en ce qu'il comporte des moyens uniquement destinés à augmenter le temps de propagation de certaines variables intermédiaires de manière à réduire la consommation absolue de la porte en limitant les courants de fuite dynamiques.
39. Dispositif selon l'une des revendications 1 à 38, caractérisé en ce que lesdits moyens formant interrupteur (220, 720, 750) sont constitués chacun d'un unique transistor MOS.
40. Dispositif selon l'une des revendications 1 à 39, caractérisé en ce que lesdits moyens formant interrupteur (220, 720, 750) sont constitués chacun d'un transistor NMOS et d'un transistor PMOS (224, 225; 724, 725; 754, 755).
41. Dispositif selon l'une des revendications 1 à 40, caractérisé en ce que lesdits moyens formant interrupteur (220, 720, 750) sont constitués chacun de plusieurs transistors MOS.
42. Dispositif selon l'une des revendications 1 à 40, caractérisé en ce que lesdits moyens fonnant interrupteurs (220, 720, 750) sont réalisés en logique de conduction.
43. Dispositif selon l'une des revendications 1 à 40, caractérisé en ce que lesdits moyens formant interrupteurs (220, 720, 750) sont réalisés en transistor(s) de 15 passage.
44. Dispositif selon l'une des revendications 1 à 43, caractérisé par le fait qu'il repose sur une architecture symétrique dans laquelle au moins certains des composants ont un symétrique présentant un changement de transition opposée.
45. Dispositif selon l'une des revendications 1 à 44, caractérisé par le fait que la charge équivalente de chacun des noeuds d'un même ensemble, vue du point de vue de l'entrée ou de la sortie, est identique.
46. Dispositif selon l'une des revendications 1 à 45, caractérisé par le fait que les capacités vues par chacun des noeuds (612a, 613a, 612b, 613b, 612c, 613c, 612d, 613d) de même rang d'un ensemble sont identiques.
47. Dispositif selon l'une des revendications 1 à 46, caractérisé par le fait qu'il comprend un étage d'entrée (100) composé d'éléments de rendezvous (110), un étage intermédiaire (200) composé de chaînes (210, 250) constituées de l'association alternée de moyens formant interrupteurs (220) et de dispositifs de charge/décharge (230), un étage de sortie (300) et un module (400) destiné à la génération d'une commande de contrôle des moyens intégrés dans les étages précités (200, 300).
48. Dispositif selon l'une des revendications 1 à 47, caractérisé par le fait qu'il comprend un étage d'entrée (100) composé de 4 éléments de rendez-vous (110), un étage intermédiaire (200) composé de 2 groupes de 4 chaînes (210, 250) constituées de l'association alternée de moyens formant interrupteurs (220) et de dispositifs de charge/décharge (230), un étage de sortie (300) comprenant deux circuits de décharge (310) et un module (400) destiné à la génération d'une commande de contrôle des moyens intégrés dans les étages précités (200, 300).
49. Dispositif selon l'une des revendications 1 à 46, caractérisé par le fait qu'il comprend un étage d'entrée (500) comprenant des circuits (510) qui calculent lo une fonction logique, un étage de codage (600) comprenant des circuits (610) qui calculent respectivement les valeurs, prévues par un protocole, de chacun des bits dans le cas d'une donnée valide et un étage d'interrupteurs (700) qui opère une adaptation d'impédance.
FR0504569A 2005-05-04 2005-05-04 Dispositif formant porte logique adaptee pour minimisee les differences de comportement electrique ou electromagnetique dans un circuit integre manipulant un secret Expired - Fee Related FR2885461B1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
FR0504569A FR2885461B1 (fr) 2005-05-04 2005-05-04 Dispositif formant porte logique adaptee pour minimisee les differences de comportement electrique ou electromagnetique dans un circuit integre manipulant un secret
US11/919,773 US7863926B2 (en) 2005-05-04 2006-05-04 Device forming a logic gate for minimizing the differences in electrical or electro-magnetic behavior in an integrated circuit manipulating a secret
CA002607553A CA2607553A1 (fr) 2005-05-04 2006-05-04 Dispositif formant porte logique adaptee pour minimiser les differences de comportement electrique ou electromagnetique dans un circuit integre manipulant un secret
EP06754998A EP1878115A1 (fr) 2005-05-04 2006-05-04 Dispositif formant porte logique adaptee pour minimiser les differences de comportement electrique ou electromagnetique dans un circuit integre manipulant un secret
PCT/EP2006/062037 WO2006117391A1 (fr) 2005-05-04 2006-05-04 Dispositif formant porte logique adaptee pour minimiser les differences de comportement electrique ou electromagnetique dans un circuit integre manipulant un secret

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0504569A FR2885461B1 (fr) 2005-05-04 2005-05-04 Dispositif formant porte logique adaptee pour minimisee les differences de comportement electrique ou electromagnetique dans un circuit integre manipulant un secret

Publications (2)

Publication Number Publication Date
FR2885461A1 true FR2885461A1 (fr) 2006-11-10
FR2885461B1 FR2885461B1 (fr) 2007-07-27

Family

ID=35457855

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0504569A Expired - Fee Related FR2885461B1 (fr) 2005-05-04 2005-05-04 Dispositif formant porte logique adaptee pour minimisee les differences de comportement electrique ou electromagnetique dans un circuit integre manipulant un secret

Country Status (5)

Country Link
US (1) US7863926B2 (fr)
EP (1) EP1878115A1 (fr)
CA (1) CA2607553A1 (fr)
FR (1) FR2885461B1 (fr)
WO (1) WO2006117391A1 (fr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107729775B (zh) * 2014-07-17 2020-04-10 天地融科技股份有限公司 实现智能密钥设备模式间切换的方法和装置
US9467144B2 (en) * 2014-07-24 2016-10-11 Arizona Board Of Regents On Behalf Of Arizona State University Radiation hardened digital circuit
EP3384422B1 (fr) * 2015-12-02 2021-02-24 Cryptography Research, Inc. Logique de congélation
US11799627B2 (en) * 2020-11-19 2023-10-24 Nuvoton Technology Corporation Protection against side-channel attacks by balancing cell drive polarity

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040030858A1 (en) * 1998-07-22 2004-02-12 Lines Andrew M. Reshuffled communications processes in pipelined asynchronous circuits
WO2005029704A1 (fr) * 2003-09-17 2005-03-31 The Regents Of The University Of California Logique cmos dynamique et differentielle a consommation d'energie independante du signal pouvant resister a une analyse de puissance differentielle

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3199882B2 (ja) * 1993-01-13 2001-08-20 株式会社東芝 不揮発性半導体記憶装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040030858A1 (en) * 1998-07-22 2004-02-12 Lines Andrew M. Reshuffled communications processes in pipelined asynchronous circuits
WO2005029704A1 (fr) * 2003-09-17 2005-03-31 The Regents Of The University Of California Logique cmos dynamique et differentielle a consommation d'energie independante du signal pouvant resister a une analyse de puissance differentielle

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TIRI K ET AL: "A DYNAMIC AND DIFFERENTIAL CMOS LOGIC WITH SIGNAL INDEPENDENT POWER CONSUMPTION TO WITHSTAND DIFFERENTIAL POWER ANALYSIS ON SMART CARDS", PROCEEDINGS OF THE EUROPEAN SOLID STATE CIRCUITS CONFERENCE, 2002, pages 403 - 406, XP001223944 *

Also Published As

Publication number Publication date
CA2607553A1 (fr) 2006-11-09
WO2006117391A1 (fr) 2006-11-09
FR2885461B1 (fr) 2007-07-27
EP1878115A1 (fr) 2008-01-16
US7863926B2 (en) 2011-01-04
US20090302882A1 (en) 2009-12-10

Similar Documents

Publication Publication Date Title
EP2131495B1 (fr) Circuit asynchrone insensible aux délais avec circuit d'insertion de délai
EP2248061B1 (fr) Procédé de test de circuits de cryptographie, circuit de cryptographie sécurisé apte à être testé, et procédé de câblage d'un tel circuit
EP2257904B1 (fr) Procédé de protection de circuit de cryptographie programmable, et circuit protege par un tel procédé
FR2948795A1 (fr) Detecteur d'injection de fautes dans un circuit integre
EP2422206A1 (fr) Dispositif de surveillance du fonctionnement d'un circuit numerique
FR2488006A1 (fr) Circuit de report perfectionne pour un additionneur binaire
FR3051600A1 (fr) Dispositif electronique a identification de type puf
FR2885461A1 (fr) Dispositif formant porte logique adaptee pour minimisee les differences de comportement electrique ou electromagnetique dans un circuit integre manipulant un secret
WO2010018071A1 (fr) Procede de detection d'anomalies dans un circuit de cryptographie protege par logique differentielle et circuit mettant en oeuvre un tel procede
EP3376670B1 (fr) Ligne à retard configurable
EP1346508B1 (fr) Circuit logique a polarites internes variables
EP3595234A1 (fr) Registre à décalage protégé contre les attaques physiques
FR3049765A1 (fr)
EP0229433B1 (fr) Dispositif de test de circuit logique combinatoire
FR2903205A1 (fr) Procede de controle du temps d'evaluation d'une machine d'etat
FR2860933A1 (fr) Circuit dote d'un bus ayant plusieurs recepteurs
FR2887090A1 (fr) Circuit xor.
FR2960720A1 (fr) Procede de protection d'un circuit logique contre des radiations externes et dispositif electronique associe.
EP2612157B1 (fr) Procede et dispositif de controle de latence de circuits electroniques
FR2887089A1 (fr) Dispositif formant porte logique adaptee pour detecter une faute logique
FR2935176A1 (fr) Circuit et procede de mesure des performances des transistors
FR2966263A1 (fr) Procede de controle d'un circuit integre, circuit integre et calculateur comportant un circuit integre
FR2793088A1 (fr) Procede et dispositif de collecte des valeurs logiques de sortie d'une unite logique dans un circuit electronique
FR2773652A1 (fr) Circuit de generation d'un signal d'activation commande
FR2885417A1 (fr) Circuit integre comportant un mode de test securise par detection de l'etat chaine des cellules configurables du circuit integre

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20140131