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

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

Info

Publication number
EP1878115A1
EP1878115A1 EP06754998A EP06754998A EP1878115A1 EP 1878115 A1 EP1878115 A1 EP 1878115A1 EP 06754998 A EP06754998 A EP 06754998A EP 06754998 A EP06754998 A EP 06754998A EP 1878115 A1 EP1878115 A1 EP 1878115A1
Authority
EP
European Patent Office
Prior art keywords
logic
input
protocol
circuit
output
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.)
Withdrawn
Application number
EP06754998A
Other languages
German (de)
English (en)
Inventor
Loïc DUFLOT
Philippe Le Moigne
Fabien Germain
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 represente par le Secretariat General de la Defense Nationale
Etat Francais
Original Assignee
Etat Francais represente par le Secretariat General de la Defense Nationale
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 represente par le Secretariat General de la Defense Nationale, Etat Francais filed Critical Etat Francais represente par le Secretariat General de la Defense Nationale
Publication of EP1878115A1 publication Critical patent/EP1878115A1/fr
Withdrawn legal-status Critical Current

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

Definitions

  • the present invention relates to the field of logic electronic circuits. It relates more particularly to the fight against the leakage of information conveyed by the differences in electrical or electromagnetic behavior of a circuit-type device (s) logical (s).
  • a general object 1 "invention is to provide a logic gate forming device which Ia consumption, ie radiation or any other measurable physical quantity external non-intrusive manner, are independent of the operation performed, that is to say are independent data entry of the gate, past or future entries of the door, his logic past, present or future and corresponding logical results.
  • Another object of the inv ention is to provide a suitable solution to be achieved without the use of hazard to fight effectively against attack by differential analysis of current or power consumption, providing a higher security to the other devices known logic (s).
  • Another object of the invention is to take into account and to neutralize the signature corresponding to the passage of logic inputs, a logic state that same logic state (e.g., the case of an inverter whose input transitions from a logic state 0 at the same logic stall 0). Indeed the fact of staying in the same stall logic causes in all circuit devices (s) logic (s) known a different signature that caused by n 'any other transition. This can be exploited in some attacks.
  • the invention therefore aims, balancing the same way signatures due to a change or absence of logic, to propose an effective recuperatoraesure against this type of attack.
  • a device forming an electrical circuit, characterized in that it comprises logic means forming switches, included in a logical and function adapted to dccorréler data input of said logical function, of any measurable external magnitude.
  • switch is understood to mean any device placed on a logical data path which makes it possible, in certain states, to decorrelate the electrical characteristics of certain inputs from those of certain outputs of the device, and in certain states of transmit certain logical values of certain inputs on certain outputs.
  • CMOS switches or multiplexers are examples given without limitation of devices meeting this definition.
  • the im ention takes advantage of certain logical structures and protocol considerations. It leads to the realization of logic elementary gates, whose signature difference between any two transitions of the inputs of the logic gate is largely diminished and strongly non-measurable.
  • Such doors can be assembled to form a functional logic circuit.
  • the door comprises logic means to semi-co ⁇ ductrur (s).
  • the door performs a logical function selected from the group consisting of a logical function N ⁇ ND between two input bits, a logic NOR function, an XOR operation, a logical OR function and a logical AND function,
  • the gate carries out the logical NAND operation between two logical bits conveyed by channels carrying the value of each of these bits.
  • the switch means are used to achieve the impedance matching of internal nodes to the door. These switches are semiconductor logic means.
  • the device comprises a logic gate performing a logic function and which incorporates ies logic switch means
  • the logic gate comprises an input interface on which it receives the quantities to which said device calculates said logic function, an interface which receives a supply, a transient state electronic circuit connected to the input interface calculating said logic function of said quantities, so that the consumption of said circuit when said calculation on said quantities is not corréiable auxdiles quantities, and an output interface for communicating the result of iadite logic function to the environment of said device.
  • the device comprises load or discharge means respectively activatable by a node internal to the door.
  • the device is directly inserted between two asynchronous logic gates generating their own acknowledgment signal, which ensures the protocol.
  • - it contains codemorisantes cells - it constitutes all or part of a device performing a cryptographic Opei ation and using a secret element, such as for example a graphical encoding operation comprising a symmetric cryptographic operation block, a cryptographic operation including an operation of asymmetric cryptography.
  • said cryptographic operation comprises a multiplier. It comprises switch means designed to reduce the overall consumption of the door, for example by reducing the conduction time of transistors connected between the power supply and the ground.
  • the switch means may consist each of a single MOS transistor, or each of plural MOS transistors, for example a NMOS transistor and a PMOS transistor.
  • Said switch means can be made for example conduction logic in the form of transistor (s) passage or other equivalent means. - it is based on a symmetrical architecture in which at least some of the components have a symmetrical having an opposite transition change.
  • the device according to the present invention advantageously uses a protocol comprising an "invalid data" state. More precisely, in such a protocol. I data coding to distinguish the states where the data is present, so that it has a certain logic value, and a state where the data is pending, which is only associates itself no logical value. Such a state is said to be invalid. Particularly in an embodiment of the present invention piéfrissa Ic device uses a protocol called "four phases double rail asynchronous >> known by the state of Tari for more than fifty years. Advantageously again in such an embodiment. Li door is auto-synchronized. so that it requires no control signal other than those borne by the conventional asynchronous protocol (data and acknowledgment).
  • the device uses a synchronous protocol using several means externally generated commands forming the device.
  • the device according to the present invention advantageously comprises, but not limited to, semiconductor means for suppressing any storage effect within the gate as soon as it passes through the invalid state provided by the protocol.
  • semiconductor means for suppressing any storage effect within the gate as soon as it passes through the invalid state provided by the protocol.
  • the status of all nodes of said door is refreshed at a predetermined known state. This passage of each node to a known state ensures that no memory of the past state, and therefore the logical value from which transitions, is left in the circuit.
  • certain means forming switches are used to allow resetting of the nodes considered by connection to ground through said switch means.
  • the device advantageously comprises, but not limited to, semiconductor means for carrying out the logic function for which the gate has been designed while maintaining a correspondence between certain nodes of the circuit, so that for each group of nodes in correspondence, Hamming weight is constant regardless [es valid entries of the door, as it's ie case in most of the devices in accordance with the stall of art for fifty years in asynchronous double rail technology, and so that, even with connection of additional capacities to the door, identical on both rails, the load seen by each of the nodes of each set is in practice the same.
  • the device comprises 4 so-called
  • these doors can advantageously be used in combination with doors of a standard library or a dedicated library.
  • Figure 1 is a block diagram of a logic circuit according to a possible embodiment of the invention performing a logical AND function asynchronously.
  • FIGS. 2, 3 and 4 detail the structure of possible subassemblies of the embodiment shown in FIG.
  • FIG. 5 is a block diagram of a logic circuit according to another possible embodiment of the invention providing a NAND logic function in synchronous mode.
  • FIGS. 6 and 7 detail the structure of possible subassemblies of the embodiment shown in FIG. 5
  • Figure 8 is an anime chron ⁇ gi description of a protocol that can be used to drive the embodiment of the invention shown in Figure 5.
  • Figure 9 shows another embodiment consistent with the present invention for the implementation of a flip-type logic function provides a storage function.
  • Figure 1 illustrates a possible embodiment of a device according to the present invention performing a logical AND function used in connection with a conventional double rail 4 -phase asynchronous protocol will be recalled below.
  • the gate carries out a binary AND operation between two logic inputs a and b.
  • Ia truth table of such an AND gate :
  • the device shown in Figure I includes an input stage 100 consists of elements of appointment 1 10, an intermediate stage 200 composed of chains 210. 250 consist of alternating combination of switch means 220 and devices charge / discharge switches 230 also comprising forming devices, an output stage 300 and a NOR gate 400 forming module for the generation of a control command integrated means in the aforementioned stages 200 and 300.
  • the input data . b are respectively coded on two bits according to the asynchronous double-rail 4-phase protocol.
  • a logic 0 is encoded by the torque O r and a logic 1 is encoded by Ic couple "10 '.
  • the protocol further includes an invalid state said code with the couple" 00.
  • the state "H ' is prohibited and is ignored by the protocol.
  • T he output data using the same coding
  • the protocol is following the if both inputs are at the non ⁇ ⁇ lide. Transmit state the invalid state if the one of the only valid entries wait until the second input s, ilo ⁇ abde. Once both entiées are valid, calculate the ⁇ alue le- AND between "two entries Luke retoui to the state not ⁇ Alid is necessary before any such recalculation reset data inputs is provided by the cnviiondging of the door, which uses iE signal asynchionc acknowledgment (either generated using a logical oR between the signals available at the outputs 312a, 3 2b, or by the environment of the door).
  • the type 1 circuits 10 of the input stage 100 are intended for the synchronization of the input data a, b (essential in asynchronous protocol). It is thus provided four circuits 1 10a, 1 1 Ob, 1 10c and 1 1 Od of the same structure, with two inputs 1 1 1a, 1 13a, 1 1 1b, 1 13b, 1 11c, 113c and HI d, 1 13d and an output 112a. 1 12b,
  • the inputs 11 1, 1 13 of the circuits 1 30 are connected to respectively different pairs of the inputs al, aO. bl and bO.
  • the outputs 1 12 of the circuits 1 10 change state when two states of the same type, valid or invalid, are applied to the associated inputs 1 1 3 and 1 13.
  • 1 10 is 1 at a time.
  • Exits 1 12a. 112b and 1 12c 12d 1 of these stages 1 10 are connected to the corresponding inputs 21 1.
  • 251 strings of switches 210, 250 as well as to the entiée module 400.
  • the channels 210, 250 are composed of a series of switches 220 and load / discharge devices 230, alternated. They are driven by the timing signal from the output 402 of the module 400.
  • the means which control the circuits 210 are such that: if the input 211. 251 is "0 " and the signal 402 is equal to T. all the internal nodes the circuit 210. 250 are forced to 0.
  • n sets of X circuits 210 and n sets of X circuits 250 inputs 21, 1 251 F one of the circuits 210 and one of the circuits 250 of each of the n sets being connected in parallel with the output 1 12 of a circuit 110.
  • These n sets of X circuits 210, 250 are divided into n groups each comprising X circuits, each of n groups comprising Y circuit (s) of type 210 or 250 and (XY) type circuits 250 or 210.
  • the outputs of circuits 210 and 250 of each of the n groups are commonly connected at a respective node 205a. 205b.
  • One of the groups includes (XI). is
  • the switch circuits 220 comprise two MOS transistors 224, 225 of the opposite type p and n, whose gates are connected to an input 221. respectively directly and via an inverter 226.
  • the tra, ets drain-source transistors 224. 225 are in turn ieered. in parallel, between an input 223 and an output 222 of the circuit 220
  • drain-source path is intended to mean a bidirectional path, that is to say both the drain and the source as well as the source of the drain.
  • the charging / discharging circuits 230 illustrated in FIG. 1 appended include an n-type MOS transistor 234 whose gate is connected to the output 402 of the module 400, while its drain-source path is connected between the ground and a node 235 which is itself connected to the input 231 and output 232 of the circuit 230. All circuits 220 have their input 221 connected to the input 21 3 or 251.
  • the first circuit 220 of each chain 21 0 or 250 has its en ⁇ ⁇ e 223 connected to a power supply (or a mass for the type of circuit 230 and a positive power supply for type 250 circuits). Its output 222 is connected to the input 23 1 d a discharge circuit 230.
  • the output 232 of this circuit 230 is itself connected to the input 223 of the circuit and following 220 so suile until the last network 220 of the chain whose output 222 constitutes the output 212 or 252 of a chain 210 or 250.
  • each chain 210. 250 comprises 4 switches 220 and 3 interchange circuits 230 intercalated.
  • the invention is however not limited to this number or this cell structure arranged in series between the power supply terminal 213, 253 in inlet and outlet 212. 252. In particular it is conceivable to reduce or increase this number of cells
  • the output circuits 310a and 310b consist of a discharge function switch means whose control is the signal 402. They are preferably identical to the circuits 230.
  • FIG. 1 shows circuits 310 comprising a transistor TM) S 314 n-type whose gate is connected to the output 402 of the module 400 while -wn drain-source path is connected between ground and a node 3 15 which is itself connected has the inlet 31 1 and to the output 312 of the circuit 310.
  • exits 212a. 212b. 212c and 252d are connected together.
  • This common output node 205a is connected to the input of the device 31 Oa.
  • the outputs 252a, 252b. 252c and 212d are connected together.
  • This common output node 205b is connected to the input of the device 3 10b.
  • FIGS. 3 and 4 show an exemplary embodiment of the module 400 for generating the control signal 402. According to the embodiment illustrated in FIGS. 3 and 4, the module 400 is composed of three circuits
  • FIG. 4 shows a circuit comprising two first parallel branches of two MOS transistors 414 (p), 415 (p) on the one hand and 417 (p), 41 8 (p) on the other hand.
  • the circuit further comprises two second parallel branches of a MOS transistor 416 ( ⁇ ) on the one hand and 419 (n) on the other hand.
  • the conduction paths drain-source of the transistors 414, 43 5, 41 6 on the one hand and 417, 418, 419 on the other hand are connected in series between the terminal of positive supply and ground.
  • the gate of transistor 414 is connected to an input 41 1. while the gates of two transistors 415 and 41 6 are connected to the second input 413 Symmetrically, from the supply positive, the gate of the transistor 417 is connected to the second input 413, while the gates of the two following transistors 4] 8 and 419 are connected to the first input 41 3.
  • the output 412 is taken from the node common to the drains and sources of the four transistors 415, 416 and 418, 419 located on the ground side.
  • the operator v alides signals available at the output of the first stage 100, it s' freed from any signature.
  • One of the features of the circuit shown in Figure 1 is that when at least one of the data is in the invalid state, the state of each of the nodes of the circuit can be determined solely from the current bit input state of the circuit. This makes it possible to eliminate any memorization effects of the previous calculations which can be induced by states internal to the gate (high impedance).
  • the structure of the type 1 means 10 and 400 and the type means 310 and 230 allow to put all the nodes of the network in a known state (always the same) as soon as it passes through 3 " invalid state, it is no other hand no 5 parasite memory effect in the door. There is in fact no node (even internal to a sub-circuit) to the high impedance state to the passage of> ns the buffer state .
  • switches 220 make it possible to make a selection in the manner of a multiplexer of the correct output of the door paimi the four possible (only one of the signals 1 12a, 1 12b, 1 12c and 1 0 I2D takes the value T at a time) and on the other hand, it enables to isolate the network capacity. All capacities on one side of an open switch is invisible from the other side, allowing the balancing capacity.
  • the circuit illustrated in Figure 1 may be subject of different embodiments.
  • the discharge means 310 placed in the stage 5 output 300 which are common to outputs 205a.
  • 205b four chains 210, 250. could be duplicated at the output of each of these chains
  • Figure 5 illustrates a possible embodiment of the invention in the case where it performs a NAND logic function used in the context of a protocol synchronous.
  • the gate carries out a binary NAND operation between two logic inputs a and b.
  • the inputs a and b are coded on 2 bits.
  • the input a will be represented by two bits a1 and a0 and the input b by two bits b1 and b0.
  • the protocol allows to impose at any given valid treatment followed by a treatment of buffer state, aimed resetting all internal nodes of the system, eliminating a possible effect storing in the door in question.
  • protocol signals In addition to these inputs a and b encoded on two bits, the door requires several protocol signals, here numbering 8. referenced 450 and 457. These signals 450-457 are generated deterministically and independent data, 1 "outside the door by any circuitcric (e.g., a state machine) which is outside the scope of the invention. These protocol signals are typically encoded by a single bit.
  • the circuit shown in Figure 3a comprises a 5 input stage 500. a coding stage 600 and a floor 700 of switches.
  • the input stage 500 includes 4 (Z) circuit 510 having two inputs 51 1. 513, respectively connected to different pairs of data eUrée al, aO, bO and Bi and an output 512.
  • the circuit 510 realize a conventional NAND bitwise function between their two inputs 51 1, 513.
  • the output of the device 53 Oa (signal 512a) always corresponds to the value of the NAND calculation (al.bl), hence NAND (ab) in a conventional encoding.
  • circuit 510 An embodiment of circuit 510 is illustrated in FIG. 6. Such a circuit comprises four transistors 514, 515, 516 and 517. The two MOS transistors
  • P-type 514 and 515 have their drain-source conduction paths connected in parallel between the positive power supply terminal and a node that corresponds to the output
  • the stage 600 that follows the input stage 500 comprises 4 (Z) circuit 610 has an input and two outputs 61 1 613 612.
  • the circuits 610 are connected respeeth ement. at the inputs, at the outputs of a circuit 510 They perform a coding function.
  • These circuits consist only of two invertors 614, 615. They calculate respectively the values provided by the protocol of each of the bits in the case of a data ⁇ alide.
  • circuits 610a correspond respectively to NAND (a, b) and NAND (ab) 0 in Ie case where the data a and b are both valid, c ' is to say that they are neither one nor the other in a buffer state.
  • the circuits 610 comprise the two inverters 614. 615 in series between the input 61 1 and a first output 612. The second output 613 is taken from the intermediate point common to the two inverters 614, 615,
  • 700 type switches circuits realize the crucial operation that constitutes the impedance matching. Indeed, for such a logic gate, it is necessary that the capabilities seen by each of the nodes 612a. 613a, 612b, 613b, 612c. 6] 3c, 612d, 613d are identical.
  • the stage 700 includes switch 2.Z. or here 8, switch modules 710 respectively connected to the outputs of the coding circuits 610.
  • the switch circuits 710 comprise in particular devices making switches intended to isolate certain capacities of the network. They further include elements to respect the protocol and to force in a known state the various nodes of the circuit in the case of a calculation on the buffer state.
  • each circuit 710 comprises the embodiment shown in FIG. 5.
  • An intermediate stage providing a multiplexer function 730 interposed between two switches 720, 750.
  • Lc device 730 is a multiplexer to select between the data that was transmitted by the upstream switch 720 and the value "1" corresponding to the transmission of the buffer status to a possible next door.
  • This device further comprises mass discharge structures enabling it to keep no memory of calculations made beforehand
  • the switch circuits 720 preferably comprise two transistois switches 724. 725.
  • the two transistors 724 and 725 of the opposite type n and p have their drain-source conduction path in parallel between Lentiated 721 and the output 722. Their gates are solicited iespeeth by an external timing signal
  • FIG. 7 shows a nonlimiting embodiment of a multiplexer function circuit 730.
  • This circuit 730 comprises 8 transistors 733 to
  • the input 731 is connected to the gate of n-type T 733 Ic whose drain-source conduction path is in series with the T 734 of n-type between ground
  • the n-type transistor 735 has its source drain path between the node 742 and the ground. Its gate is solicited by the signal 452.
  • the drain-source path of T 736 t> pe n is placed between the ground and the point common to T 733 and T 734. Its gate is biased by the signal 454.
  • the gates of T 734 and T 735 are respectively biased by the signals 453 and 452.
  • IO 737 and T 738 p-type are placed in series between the node 742 and the terminal positive power. Their grids are solicited respectively by the signal
  • n-type T 740 is placed between ground and the input 731. Its gate is biased by the signed] 454. Finally i "inverter 741 is placed between the node 742 and the output 732.
  • the switches 5 downstream struclurellement 750 are identical to the switches
  • the switches 750 include two transistors 754 and 755 of n and p type opposite conduction paths whose drain-source 0 are placed in parallel between ⁇ input 751 and output 752. Their gates are respectively biased by an external timing signal 457 , 456.
  • the output switches 750 may be omitted if the multiplexer circuits 730 have sufficient internal impedance.
  • the switches can be formed not of two transistors of opposite pole mounted in parallel for conveying respective high and low signals optimally, but of a single transistor for conveying signals called states.
  • the accessible outputs 702, 704 of the global circuit are taken from the outputs of the circuits 710a1 and 71a2.
  • the outputs of the other circuits 71 ObL 710b2, 73 OcL 710c2, 710dl and 710d2 remain inaccessible within the circuit.
  • Output 702 corresponds to the NAND logic function (a, b)
  • output 704 corresponds to the NAND logic function (a, b) 1.
  • Such a device very scbcmatiquement plays the role of a lock. It makes it possible to hide the calculations made in part of the circuit relative to the rest of the circuit. All that is on one side of an open switch is invisible from the point of view of the devices placed on the other side.
  • Circuit 800 has two circuits input 810a and 810b structure similar to the circuits 1 10 above. These circuits 810 receive on their two inputs on the one hand a respective signal aO and al, and secondly an acknowledgment signal 804. The outputs of circuits 810 are connected to respective inputs of two chains 820a and 820b switches structures similar to the aforementioned circuits 210.
  • the outputs of these two channels 820a and 820b provide the outputs 802 and 803 of the assembly. These outputs are loaded by discharge cells 830a, 83Ob similar to the circuits 230, comprising a transistor 832 whose gate is biased by the output of a gate 840 providing the logic OR function from the output of the circuits 810. Finally a Inverter 850 whose input is connected to the output of the gate 840, generates at its output, an acknowledgment signal.
  • the doors according to the present invention described above can be advantageously combined to form any logical function whatsoever.
  • the protocol signals of each door must be coordinated with the inputs of the door.
  • the placement-routing and the manufacturing process of all the components of the circuit must be adapted so that, within any pair of components having similar functions, these components exhibit the same electrical behavior, in terms of current , voltage, time and phase, to avoid any signature.
  • a circuit operating the logic function C) R can be realized from a structure similar to that illustrated in FIG. 1 only by reversing the connections of the inputs 213b. 213c and 253b, 253c, ie by connecting the inputs 213b and 233c not to the ground, but to the positive supply and connecting the inputs 253b and 253c not to the positive power supply, but to the ground .
  • a circuit operating the XOR logic function can be realized from a structure similar to that illustrated in FIG. 1, only by connecting the entries 213a, 253d. 253b and 253c to the positive supply and the input 213b, 213c, 253a and 213d to ground.
  • the present invention leads to a logic gate whose consumption is independent of its input data and its logical state. It can find many applications.
  • a liter of non-limiting example we can mention the protection of smart cards (advantageously in accordance with ISO 7816, 14443 or 15693) and other cryptosystems against attacks by auxiliary channels such as collision attacks and attacks by differential analysis current, power or consumption. According to other advantageous features of the invention:
  • control signals of the synchronous protocol are partially or wholly generated outside the gate.
  • the device constitutes all or part of a device performing a cryptographic operation and using a secret element.
  • the device has means 400, 630. for synchronizing two separate signals to be established almost simultaneously.
  • the synchronization means 400 use OR gates 410.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (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

DISPOSITIF FORMANT PORTE LOGIQUE ADAPTEE POUR MINIMISER LES DIFFERENCES DE COMPORTEMENT ELECTRIQUE OU ELECTROMAGNETIQUE DANS UN CIRCUIT INTEGRE MANIPULANT UN SECRET
La présente invention concerne le domaine des circuits ékctriques logiques. Elle se rapporte plus particulièrement à la lutte contre Ia fuite d'information véhiculée par les différences de comportement électrique ou électromagnétique d'un dispositif du type à circuit(s) Iogique(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 1" invention est de proposer un dispositif formant porte logique dont Ia consommation, ie 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-a-dire s'il passe de l'état logique 0 (respectivement 1) à l'état logique 0 (respectivement 1 ). II 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 soil 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 globai. 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équcncement 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 iccours à des techniques dites de masquage utilisant un aléa pour décorreler les \aleurs 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 lap.s de temps tics court il en îesulte une chute des performances du dispositif
Un autre but de l'inv ention est de proposer une solution apte a ê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 à ciicuit(s) logiquefs) 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 étal logique 0). En effet le fait de rester dans le même étal 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 contreraesure 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 dccorréler les données d'entrée de ladite fonction logique, de toute grandeur externe mesurable.
Dans Ie 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'im ention 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 a\ anîageuses. mais non limitatives de l'invention :
- La porte comporte des moyens logiques à semi-coπductrur(s).
- La porte réalise une fonction logique choisie dans le groupe comprenant une fonction logique NΛND 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 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 nœuds 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 ies 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 consommation dudit circuit lors dudit calcul sur lesdites quantités soit non corréiable auxdiles quantités, et une interface de sortie permettant de communiquer le résultat de iadite 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 nœud interne à la porte.
- Ic dispositif est directement inséré entre deux portes logiques asynchrones générant leur propre signal d'acquittement, lequel assuic Ie protocole
- il est adapté de soite qu'il ne subsiste aucun nœud dont la valeur dépend des calculs précédents lors du passage dans l 'ctat non- valide du protocole.
- il véhicule des états électroniques dits "()'. ' 1 \ v0' faible, L 1 ' faible.
- il contient des cellules mémorisantes - il constitue tout ou partie d'un dispositif réalisant une opéi ation cryptographique et utilisant un élément secret, telle que par exemple une opération crypto graphique comprenant une opération cryptographique symétrique par bloc, une opération cryptographique comprenant une opération de cryptographie asy métrique. - ladite opération cryptographique comprend un multiplieur. - îl comporte des moyens formant interrupteurs dcjtinés à réduire la consommation globale de la porte, par exemple en réduisant le temps de conduction de transistors connectés entre F 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 Ia consommation absolue de la porte en limitant Jes 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 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. Je 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 associe a aucune valeur logique. Un tel état est dit non valide. Notamment dans un mode de réalisation piéféré de la présente invention, Ic dispositif utilise un protocole dit « asynchrone double rail 4 phases >> connu par l 'état de Tari depuis plus d'une cinquantaine d'années. Avantageusement encore dans un tel mode de réalisation. Li porte est auto-synchronibé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 nœuds de ladite porte est rafraîchi à un état connu prédéterminé. Ce passage de chaque nœud 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 nœuds 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 nœuds considérés par connexion à Palimeniation à 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 nœuds du circuit, de telle sorte que pour chaque groupe de nœuds en correspondance, le poids de Hamming soit constant quelles que soient [es entrées valides de la porte, comme c'est Ie cas dans la majeure partie des dispositifs conformes à l 'étal 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 nœuds de chaque ensemble soit en pratique identique. Dans un mode de réalisation préfère, le dispositif comporte 4 portes dites de
« ous » (éléments C de Mullei ) permettant une synchronisation des données, chacune de ces portes étant connectées à un nombre égal de grilles de transistors. Ii convient néanmoins de souligner que la finalité des 4 éléments C de Millier, et du protocole double rai! 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 limitatîvement. utilisée dans les structures à circuits cryptographiques. Lesdites structures à circuits cryplographiques contiennent avantageusement une ou plusieurs porte(s) logique(s) différentes mettant en œuvre l'invention. Le dispositif est avantageusement, mais non limitativenient. 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 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 fonction logique NAND en mode synchrone. - Les figures 6 et 7 détaillent Ia structure de sous ensembles possibles du mode de réalisation présenté sur la figure 5
La figure 8 est un chronαgi anime 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 a la présente invention destinée à la mise en œuvre d' une fonction logique de type bascule assuranl 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 Ia table de vérité d'une telle porte AND :
Le dispositif illustré sur la figure î comprend un étage d'entrée 100 composé d'éléments de rendez-vous 1 10, 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 protocole asynchrone double rail 4-phase. Ainsi un 0 logique est codé par le couple 'O r et un 1 logique est codé par Ic couple " 10'. Le protocole comprend en outre un état dit non valide code par le couple "00*. L'état " H ' est interdit et est ignoré par le protocole. L es données de sortie utilisent le même codage Le protocole est le suivant si les deux entrées sont à l'état non \ αlide. transmettre l'état invalide Si l'une des entrées seulement est valide ' attendre que la seconde entrée s,oit \ abde. Dès que les deux entiées sont valides, calculer la \ aleur AND entre le-» deux entrées Lc retoui à l'état non \ alide est nécessaire avant tout nouveau calcul Une telle réinitialisation des données d'entrées est assurée par l'cnviionnement de la porte, qui utilise îe signal d'acquittement asynchionc (génère soit à l'aide d'un OR logique entre les signaux disponibles sur les sorties 312a, 3 ï 2b. soit par l'environnement de la porte).
La table de vérité de la porte AND devient alors -
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 ' 1 1 ').
Les circuits de type 1 10 de l'étage d'entrée 100 sont destinés à la synchronisation des données d'entrée a, b (indispensable en protocole asynchrone). ïl est ainsi prévu quatre circuits 1 10a, 1 1 Ob, 1 10c et 1 1 Od de même structure, à deux entrées 1 1 1a, 1 13a, 1 1 1b, 1 13b, 1 11c, 113c eî H I d, 1 13d et une sortie 112a. 1 12b,
1 12c et I 12d. Les entrées 11 1 , 1 13 des circuits 1 30 sont reliées à des paires respectivement différentes des entrées al, aO. bl et bO. Les sorties 1 12 des circuits 1 10 changent d'état lorsque deux états de même type, valides ou invalides, sont appliqués sur les entrées 1 1 3 et 1 13 associées.
On a représenté sur la figure 2 annexée un exemple non limitatif de réalisation d'un tel circuit 1 10. Le mode de réalisation ainsi représenté est connu de l'homme de i'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 1 12 des 4 circuits
1 10 est à 1 à la fois.
Les sorties 1 12a. 112b, 1 12c et 1 12d de ces étages 1 10 sont connectées aux entrées correspondantes 21 1. 251 des chaînes d'interrupteurs 210, 250. ainsi qu'à l'entié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 Ie 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 T. tous les nœuds internes au circuit 210. 250 sont forcés à 0. Si l'entrée 21 1 , 251 vaut T 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 L. sortie 212. 252. Si l'entrée 21 L 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 nœuds 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 P et le signal 402 vaut " T ne peut être atteint que de manière transitoire.
Plus précisément pour X circuits 1 10, il est prévu n ensembles de X circuits 210 et n ensembles de X circuits 250, les entrées 21 1 , 251 de F un des circuits 210 et de l'un des circuits 250 de chacun des n ensembles étant reliées en parallèle à la sortie 1 12 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 nœud 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-I). 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-I ), soit 3. circuits de type 250 ayant son alimentation
253 reliée à F alimentation positive et 1 circuit de type 230 ayant son alimentation
21 3 reliée à la masse.
Selon ie 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 tra,ets drain-source des transistors 224. 225 sont quant à eux ieliés. en parallèle, entre une entrée 223 et une sortie 222 du circuit 220
On précise ici que dans le cadie de la piësente description, on entend par trajet drain-source, un trajet bidirectionnel, c'est-a-dire aussi bien du drain veis la source que de la source \ cτs 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 nœud 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 21 3 ou 251. Le premier circuit 220 de chaque chaîne 21 0 ou 250 a son enϋ έe 223 reliée à une alimentation (respectivement une niasse pour les circuit de type 230 et une alimentation positive pour les circuits de type 250). Sa sortie 222 est reliée à l'entrée 23 1 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 suile, 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 ja 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. IJs sont de préférence identiques aux circuits 230 On retrouve en effet sur Ia figure 1 annexée des circuits 310 comprenant un transistor MC)S type n 314 dont la grille est reliée à la sortie 402 du module 400. tandis que -wn trajet drain-source est relié entre la masse et un nœud 3 15 qui est lui même relié a l'entrée 31 1 et à la sortie 312 du circuit 310.
Les sorties 212a. 212b. 212c et 252d sont connectées entre elles. Ce nœud commun de sortie 205a est connecte a rentrée du dispositif 31 Oa. De même, les sorties 252a, 252b. 252c et 212d sont connectées entre elles. Ce nœud commun de sortie 205b est connecté à l'entrée du dispositif 3 10b.
Les sorties 332a et 312b constituent les sorties du montage. La sortie 312a correspond à la fonction logique AND(a.b)! . 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 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
41 0a, 410b. 410c de constitution identique et de deux inverseurs 420a, 420b. Les entrées 41 î a. 413a : 41 1 b, 413b des deux circuits 41 0a. 4I 0b sont reliées à une paire respective des sorties ] ! 2a. 1 12b. 1 32c et I I 2d de l'étage d'entrée 100. Leur sortie 412a et 412b attaque respectivement l 'entrée 421 a, 421 b d'un inverseur 420a,
420b. Les sorties 422a, 422b de ces derniers sont reliées aux entrées 41 3 c. 413c du circuit 410c. Enfin ia 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), 41 8 (p) d'autre part. Le circuit comporte en outre deux deuxièmes branches parallèles d'un transistor MOS 416 (π) d'une part et 419 (n) d'autre part. Les trajets de conduction drain-source des transistors 414, 43 5, 41 6 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 41 1. tandis que les grilles des deux transistors suivants 415 et 41 6 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 4] 8 et 419 sont reliées a la piemière entrée 41 3 . La sortie 412 est prélevée sur le nœud commun aux drains et sources des quatre transistors 415, 416 et 418. 419 situés côté masse. L'homme de l'ail comprendra que le module 400 est conçu pour générer les signaux de sequencement 402 a partir des signaux de protocole double rail. Ce module est donc autonome. Par ailleurs de par sa structure symétrique, exploitant les signaux v alides 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 nœuds 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).
5 Une autre des particularités d'un tel circuit est Ia 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 nœuds 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 nœuds d'un même ensemble (vue I O du point de vue de l'entrée ou de la sortie) soit identique. U 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 1 10 et 400 et les moyens de type 310 et 230 permettent de mettre tous les nœuds du réseau dans un état connu (toujours le même) dès passage dans 3 "état non valide, il n'y a d'autre part aucun 5 effet de mémorisation parasite dans la porte. Il n'y a en effet aucun nœud (même interne à un sous-circuit) à l'état haute impédance au passage d> ns 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 ki porte paimi les quatre possibles (seul l'un des signaux 1 12a, 1 12b, 1 12c et 0 1 Î2d prend la valeur T à 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 litre d'exemple, les moyens de décharge 310 placés dans l'étage de 5 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 :
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 T, al = " T et aθ = '0'. Si a vaut '0', a] vaut "O' et aO vaut T. L'état al = T et aO = " I ' 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 nœuds internes du système, ce qui supprime un éventuel effet de mémorisation dans la porte considérée. L'état al = 'O1 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, à 1" extérieur de la porte, par une circuitcric quelconque (par exemple une machine a é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 Ia pork: NAND ient alors :
Notons que les autres combinaisons sont interdites par le protocole et la 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 eî placement routage est un problème classique en conception de circuits intégrés.
Le circuit représenté sur 3a 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 51 1. 513, reliées respectivement à des paires différentes de données d'eUrée al , aO, bî et bO et une sortie 512. Les circuits 510 réalisent une fonction NAND bit à bit classique entre leurs deux entrées 51 1, 513. La sortie du dispositif 53 Oa (signai 512a) correspond toujours à !a 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 nœud qui correspond à la sortie
512 du circuit 510. Leurs grilles sont sollicitées respectivement par un signal d'entrée al , aO bl et bO, via une entrée 51 1 ou 513. Les deux autres transistors 516 et 537 de type n ont leur trajet de conduction drain-source connecté en série entre le nœud 512 et la masse. Leurs grilles sont sollicitées respectivement par les entrées
513 et 51 1.
L'étage 600 qui suit l'étage d'entrée 500, comprend 4 (Z) circuits 610 a une entrée 61 1 et deux sorties 612. 613 Les circuits 610 sont reliés respeeth ement. en entrée, aux sorties d'un circuit 510 Ils réalisent une fonction de codage. Ces circuit:, sont constitues uniquement de deux inverseui.s 614, 615. Ils calculent respeeth ement les valeurs prévues par le protocole de chacun des bits dans le cas d'une donnée \ alide. 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 Ie 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 en série entre l'entrée 61 1 et une première sortie 612. La seconde sortie 613 est prélevée sur Je 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 nœuds 612a. 613a, 612b, 613b, 612c. 6 ] 3c, 612d, 613d soient identiques.
L'étage interrupteur 700 comprend 2.Z. soit ici 8, modules interrupteurs 710 connectes 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 différents nœuds du circuit dans le cas d'un calcul sur l'état tampon.
A cette fin chaque circuit 710 comprend scion 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.
Lc 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
I e.s circuits interrupteurs 720 comprennent de préférence deux transistois 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 Lentiée 721 et la sortie 722. Leurs grilles sont sollicitées iespeeth ement par un signal de cadencement externe
450. 45 1. Ces inteiTupteuïs 724, ement ouverts par les signaux 450,
451 pour échantillonner le résultat du calcul dans te cadre de données \ alidcs 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 suh antes. 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 comprer d 8 transistors 733 à
740 et un inverseur 741. L'entrée 731 est reliée la grille de T 733 type n dont Ic trajet de conduction drain-source est en série de celui de T 734 type n entre la masse
5 et un nœud interne 742. Le transistor T 735 type n a son trajet drain source entre le nœud 742 et la masse. Sa grille est sollicitée par le signal 452. Le trajet drain-source de T 736 t>pe n est placé entre la masse et le point commun à T 733 et T 734. Sa grille est sollicitée par Ic 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
I O 737 et T 738 type p sont placés en série entre le nœud 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 signa] 454. Enfin i "inverseur 741 est placé entre le nœud 742 et la sortie 732. 5 Les interrupteurs aval 750 sont struclurellement 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- 0 source sont placés en parallèle entre {'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 5 transistors de t\ pe opposé montes en parallèle pour véhiculer respectiv ement 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 ' L faible.
Les sorties 702, 704 accessibles du circuit global sont prélevées sur les sorties des circuits 710al et 71 0a2. Les sorties des autres circuits 71 ObL 710b2, 73 OcL 710c2, 710dl 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)l .
Un tel dispositif joue très scbcmatiquement le rôle d'une écluse. II permet de 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 71 ObL 710b2. 71 OcL 710c2. 710d l et 7I 0d2 (é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. Se 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 Ic cas d'un calcul sur l'état tampon. l'état de tous les nœuds du circuit doit être connu et adapté par les mécanismes formant inteiTupicur.
Lc 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 diîierentes transitions doit être cependant suffisant pour laisser le temps au circuit d'atieindi e 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 aO tels que pour a=0. a 1 =0 et al = l , tandis que pour a=l , al = l et aO≈O. Le circuit 800 comporte deux circuits d'entrée 810a et 810b de structure similaire aux circuits 1 10 précités. Ces circuits 810 reçoivent sur leurs deux entrées d'une part un signal respectif al et aO, 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, 83Ob 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 Ia 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 C)R à partir d'une structure similaire à celle illustrée sur Ia figure L uniquement en inversant les connexions des entrées 213b. 213c et 253b, 253c, c'est à dire en reliant les entrées 213b et 233c 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 indépendante de ses données d'entrée et de son état logique. Elle peut trouver de nombreuses applications. A litre d'exemple non limitatif, on peut citer la protection de cartes à puces (avantageusement conformes aux normes ISO 7816, 14443 ou 15693) et auties 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, 630. 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

REVENDICATIONS
1. Dispositif formant circuit électrique, caractérisé par Ie 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 ia 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éiable 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 Tune des revendications 1 ou 2. caractérisé en ce toutes ses composantes participent au moins à certains instants, selon Io valeur des données d'entrée, au calcul de la fonction logique,
4 Dispositif selon Tune des revendications 1 à 3. caractérise en ce qu'il comporte des moy ens logiques de tvpe a semi-conducteur(s).
5. Dispositif selon Tune des revendication 1 à 4. caractérisé en ce qu'il comprend des moyens formant interrupteur (220, 720. 750) de type seini- conducteur.
6. Dispositif selon l'une des levendieation 1 à 5. caractérisé en ce qu'il comporte des mo>ens (230) aptes à réaliser des opérations de décharge de certains nœuds vers la masse.
7. Dispositif selon l'une des revendications 1 à 6, caractérisé en ce qu'il comporte des moyens aptes à réaliser des opérations de charge de certains nœuds 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 Tune des revendications 6 à 8. caractérisé en ce que lesdits moyens de charge ou de décharge (230) sont respectivement activables par un nœud
(402)interne à la porte.
10. Dispositif selon l'une des revendications I à 9, caractérisé par le fait que deux interrupteurs (220) sont placés en série, le nœud intermédiaire entre ces deux interrupteurs (220) étant connecté à un moyen de charge ou décharge. 3 1 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 formant 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 Tune des revendications 1 à 11, caractérisé en ce que chaque bit logique (a.bjdes données d'entrée traitées par la fonction logique est représente par plusieurs bits physiques (al . aO . bl , W)) tels que le poids de Hamming de ladite repiesentation soit indépendant de la valeih logique desdits bits logique^
13. Dispositif selon l'une des revendications 1 à 12. caiaclérisc en ce qu'il utilise un protocole tel qu'il existe un état données non \ ahdes, et qu'il indique que la variable qui lui est associée ne poite aucune \aieur logique
14 Di.spositil selon l'une des levendicatioπs 1 à 1 \ 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 » (1 10) utilisés pour synchroniser lesditcs 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 » ( 1 10) est connectée à des commandes (221 ) d'interrupteurs (220).
1 7. Dispositif selon Tune des revendications 1 à 16. caractérisé par le fait 5 qu'il génère son propre signal d'acquittement.
1 8. Dispositif selon Tune 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.
1 9. Dispositif selon Tune des revendications 1 à 18, caractérisé par le fait îθ 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 ( 1 12) desdits éléments de « Rendez-vous » ( 1 10) est connectée audit moyen formant NOR logique (400)
15 utilisé pour commander iesdits 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 0 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 I à 22. caractérisé par le fait qu' ij est adapté de sorte qu'il ne subsiste aucun nœud dont la valeur dépend des calculs précédents loi"1- du passage dans l'état non-valide du protocole. 5 24. Dispositif selon Tune des revendications 1 a 23. caractérisé en ce qu' il véhicule des états électroniques diî.s '()'. " 1 ", "O' 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, 1 10. 730).
26. Dispositif selon Tune des revendications 1 à 25, caractérisé par le fait qu'il implémenîe une fonction logique choisie au moins dans le groupe comprenant : un NAND, un NOR. un XOR, un OR et un AND.
27. Dispositif selon Tune des revendications i à 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 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 crypto graphique comprend une opération de cryptographie asymétrique.
3 1 . Dispositif selon la revendication 28, caractérisé en ce que ladite opération cryptographique comprend un mulliplieur.
32. Dispositif selon la revendication 28, caractérisé en ce qu'il est embarqué sur une carte à puce. 33. Dispositif selon Tune des revendications I à 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 ^ nchronisation (400) utilisent des portes C)R (410).
36. Dispositif seion Tune des revendications 1 à 35, caractérisé en ce qu'il comporte des moyens formant interrupteurs destinés à réduire Ia consommation globale de la porte 37. Dispositif selon la revendication 36. caractérisé en ce que lesdits moyens formant interrupteurs destinés à rcduiie la consommation de la porte limitent les courants de fuite dynamiques.
38. Dispositif selon Tune 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 iesdits 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 Iesdits 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 Tune des revendications 1 à 40, caractérisé en ce que Iesdits 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
Iesdits moyens formant 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 Iesdits moyens formant interrupteurs (220. 720, 750) sont réalisés en transistor(s) de 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 P une des revendications 1 à 44. caractérisé par le fait que la charge équivalente de chacun des nœuds d'un même ensemble, vue du point de vue de l'entiée ou de la sortie, est identique.
46. Dispositif selon l'une des revendications 1 à 45. caractérisé par Ie fait que les capacités vues par chacun des nœuds (612a. 613a, 612b, 613b. 612c, 61 3c, 612d,
61 3d) de même rang d'un ensemble sont identiques. 47. Dispositif selon Tune des rev endications 1 à 46, caractérisé par Ic fait qu'il comprend un étage d'entiée ( 100 ) composé d'éléments de rendez-vous ( 1 10). 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 ( 3 10), 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 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 Ic cas d'une donnée valide et un étage d'interrupteurs (700) qui opère une adaptation d'impédance.
EP06754998A 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 Withdrawn EP1878115A1 (fr)

Applications Claiming Priority (2)

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
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

Publications (1)

Publication Number Publication Date
EP1878115A1 true EP1878115A1 (fr) 2008-01-16

Family

ID=35457855

Family Applications (1)

Application Number Title Priority Date Filing Date
EP06754998A Withdrawn 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

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

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3199882B2 (ja) * 1993-01-13 2001-08-20 株式会社東芝 不揮発性半導体記憶装置
WO2000005644A1 (fr) * 1998-07-22 2000-02-03 California Institute Of Technology Processus de communications remaniees dans des circuits asynchrones en pipe-line
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
See references of WO2006117391A1 *

Also Published As

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

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
EP2380305B1 (fr) Circuit de cryptographie, protégé notamment contre les attaques par observation de fuites d'information par leur chiffrement
US20110260749A1 (en) Synchronous logic system secured against side-channel attack
EP2257904B1 (fr) Procédé de protection de circuit de cryptographie programmable, et circuit protege par un tel procédé
US20110285421A1 (en) Synchronous logic system secured against side-channel attack
Tiri et al. Design method for constant power consumption of differential logic circuits
WO2006117391A1 (fr) Dispositif formant porte logique adaptee pour minimiser 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
EP1346508B1 (fr) Circuit logique a polarites internes variables
EP3595234A1 (fr) Registre à décalage protégé contre les attaques physiques
EP1111783B1 (fr) Bascule de type D maître-esclave sécurisée
EP3343427B1 (fr) Procédé et dispositif de gestion de la consommation en courant d'un module intégré
FR3049765A1 (fr)
EP3483773B1 (fr) Procédé de modification aléatoire du profil de consommation d'un circuit logique, et dispositif associé
CA2611177A1 (fr) Dispositif formant porte logique adaptee pour detecter une faute logique
Sauvage et al. Exploiting dual‐output programmable blocks to balance secure dual‐rail logics
EP0239168A2 (fr) Circuit arithmétique et logique
FR2960720A1 (fr) Procede de protection d'un circuit logique contre des radiations externes et dispositif electronique associe.
DE102023126170A1 (de) QRNG mit PRNG Nutzung und vertikaler Entropiequelle
Guilley Contre-mesures géométriques aux attaques exploitant les canaux cachés
苓re苔sGorAn et al. A Hardware-based Countermeasure to Reduce Side-Channel Leakage-Design, Implementation, and Evaluation
Selmane Global and local Fault attacks on AES cryptoprocessor: Implementation and Countermeasures.
Gonçalves Robust design of deep-submicron digital circuits
FR2870058A1 (fr) Generateur de vrai alea integre a un reseau numerique programmable

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20071113

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC NL PL PT RO SE SI SK TR

17Q First examination report despatched

Effective date: 20080602

DAX Request for extension of the european patent (deleted)
GRAP Despatch of communication of intention to grant a patent

Free format text: ORIGINAL CODE: EPIDOSNIGR1

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20130103