The present invention, in some embodiments thereof, relates to a multi-topology logic gate and, more particularly, but not exclusively, to operation of multi-topology logic circuits.
The use of cryptographic devices storing sensitive information securely has substantially increased in the last decades, and in the foreseen future this trend is probably about to continue. Devices such as smart cards, mobile devices, radio frequency identification (RFID), and wireless sensor networks (WSN), are implemented in various applications [2-4]. In order to handle a very wide variety of threats, these devices, in most cases, include a multi-level security protection. Usually, the security system comprises an authentication block, and depending on the application, also a cryptographic block. Essentially, the purpose of the cryptographic block is to encrypt the plaintext to be sent, according to some cryptographic algorithm and secret key, and vice versa.
The security sensitive applications face different kinds of threats today. The mathematical/software attacks try to reveal the device key by using the plaintext, the ciphertext, or both [5]. In contrast, side-channel attacks, brought into attention slightly more than a decade ago [1,6,7], exploit and misuse the information related to the physical behavior of these devices, such as: operation time, power consumption, or emitted electromagnetic radiations.
Such attacks may be performed in a form of simple power analysis (SPA), which includes just few measurements but requires much knowledge regarding the ASIC implementation, or more dangerous but time consuming differential power analysis (DPA) which includes a large number of measurements, assuming less regarding the ASIC implementation [8].
The aforementioned attacks have lead researchers and commercial companies to develop many countermeasures against them, of which the common principle is breaking the connection between the instantaneous power consumption and the intermediate processed data in the ASIC crypto-core. This includes algorithmic or system approaches that are based on correlation reduction between the performed operation and circuit activity, such as: an addition of dummy operations, averaging the activities of the different processing steps [9], a randomization of crypto-operation execution [10]. Another algorithmic approach called blinding uses an internal random generation and masking the processed data with the random numbers using mathematical operation like exclusive-or operation [11]. The disadvantages of these methods are higher power consumption and area. Additionally, these methods are still vulnerable to higher-order DPA attacks [12].
Similar to algorithmic methodologies, the hardware redesign methods could be utilized, where the goal is averaging the power consumption per clock cycle. This can be achieved by addition of “dummy” gates, which draw always the same amount of current regardless of its inputs [12]. The disadvantage of these techniques is a big energy consumption overhead that is introduced. Another method is based on use of dynamic differential logic. Dynamic differential logic has the constant current consumption independent from the switching type (0 to 1 or 1 to 0). There are different variants of this approach including Sense Amplifier Based Logic (SABL) [13], and Wave Dynamic Differential Logic (WDDL) [14].
Although many logic families, such as CMOS, PTL, Domino, GDI, DML and others [15-18] have been proposed in the literature, only a few of them were identified as candidates to improve the resistance to power attacks.
Useful and important metrics for analyzing and evaluating the effectiveness of a DPA attack are the inter-signal SNR (SNRINTER), described in [19], and the use of information theoretic tools (e.g., mutual information), described in [12]-[25]. The SNRINTER indicates the difficulty of the recognition of the correct key from the wrong keys. Referring to the information theoretic tools, the amount of information that leaks from the circuit when it processes data is evaluated. The mutual information between the inputs to the circuit and the power consumed is examined. These information theoretic tools help us to divide the security problem into two orthogonal problems: evaluation of the actual information that leaks from the circuit, and supposition of how an attacker can (or cannot) model and use it to find the correct key.
The security of digital systems is under the threat of so-called side channel attacks. In particular, Differential Power Analysis (DPA) and Differential Electromagnetic Analysis (DEMA) are powerful attack techniques, as they do not require any assumptions regarding the chip implementation of the device.
A Randomized Multi-Topology Logic (RMTL) family is presented herein. This logic family enables the design of logic circuits and gates which may be operated in multiple topologies. A randomization methodology utilized RMTL logic circuits in a countermeasure strategy to deal with side channel attacks. The high immunity of cryptographic modules to the side channel attacks is obtained by randomly switching between the various topologies of Randomized Multi Topology Logic (RMTL). Consequently, the resultant power profile of such devices becomes much more difficult to estimate, causing the side channel attacks to be less effective.
According to an aspect of some embodiments of the present invention there is provided a multi-topology logic gate for performing a specified logic function. The logic gate has logic inputs and a logic output, and includes:
i) a logic output connection to output a logic output signal;
ii) multiple logic input connections to input logic signals;
iii) at least two logic blocks, each of the blocks respectively including logic inputs connectable to the logic gate input connections, and a logic output connected to the logic output connection. At least one of the logic blocks is able to operate in multiple modes, in accordance with a respective mode control signal; and
iv) a topology selector which applies mode control signals to the logic blocks so as to operate the logic gate in multiple topologies.
According to some embodiments of the invention, the logic blocks include respective transistor networks.
According to some embodiments of the invention, each of the logic blocks implements the same logic function in different respective topologies.
According to some embodiments of the invention, logic blocks having multiple of modes of operation respectively operate in at least two of: static, dynamic and on-off modes, in accordance with the mode control signals.
According to some embodiments of the invention, at least two of the logic blocks operate in multiple modes in accordance with a respective mode control signal.
According to some embodiments of the invention, the multi-topology logic gate further includes a logic block with a single mode of operation.
According to some embodiments of the invention, at least one of the mode control signals is a constant voltage.
According to some embodiments of the invention, at least one of the mode control signals is a clock signal.
According to some embodiments of the invention, the topology selector connects a pre-charge clock signal to the logic output connection during pull-down dynamic logic operation.
According to some embodiments of the invention, the topology selector connects a pre-discharge clock signal to the logic output connection during pull-up dynamic logic operation.
According to some embodiments of the invention, the topology selector switches the logic gate between the topologies randomly.
According to some embodiments of the invention, the topology selector switches the logic gate between the topologies in accordance with a specified sequence.
According to some embodiments of the invention, the topology selector includes topology control inputs and switches the logic gate between the topologies in accordance with external signals input to the topology control inputs.
According to some embodiments of the invention, the topology selector directs logic input signals to respective logic inputs of selected ones of the logic blocks, in accordance with a current topology.
According to some embodiments of the invention, the logic inputs of at least one of the logic blocks are fixedly connected to the logic input connections.
According to an aspect of some embodiments of the present invention there is provided a multi-topology logic circuit, which includes:
i) multiple logic gates, wherein at least one of the logic gates is a multi-topology logic gate which is capable of operating in multiple logic topologies in accordance with a respective topology control signal; and
ii) a topology selector which provides the topology control signals to the multi-topology logic gates so as to operate the logic circuit in multiple topologies.
According to some embodiments of the invention, each of the multi-topology logic gates respectively includes at least two logic blocks, and at least one of the logic blocks is capable of operating in multiple modes. The topology control signals select respective modes of operation of the logic blocks.
According to some embodiments of the invention, the logic circuit further includes an interconnection element for separating between the logic gates.
According to some embodiments of the invention, the logic circuit operates in at least two static topologies.
According to some embodiments of the invention, the logic circuit operates in at least two dynamic topologies.
According to some embodiments of the invention, the logic circuit operates in at least three topologies.
According to an aspect of some embodiments of the present invention there is provided a method for multi-topology logic circuit operation for performing a logic function. The logic circuit includes multiple interconnected logic gates, wherein at least one of the gates is capable of operating in multiple topologies in accordance with respective topology control signals. The method includes inputting a topology control sequence during logic circuit operation so as to dynamically change logic gate topologies during operation.
According to some embodiments of the invention, each of the multi-topology logic gates respectively includes at least two logic blocks at least one of which operates in multiple modes, and the method further includes: dynamically switching the logic blocks between the modes during logic gate operation, thereby to obtain a selected topology for logic circuit operation.
According to some embodiments of the invention, the control sequence is a random sequence.
According to some embodiments of the invention, the control sequence is a semi-random sequence.
According to some embodiments of the invention, the method further includes generating a respective control sub-sequence for each of the logic gates, the respective control sub-sequences collectively forming the control sequence.
According to some embodiments of the invention, the logic circuit uses a security key and the control sequence disguises the security key from detection during logic circuit operation.
According to some embodiments of the invention, the control sequence maintains a single logic function for the logic circuit, while varying the respective topologies of the logic gates.
According to some embodiments of the invention, the control sequence switches between multiple logic functions for the logic circuit, while varying the respective topologies of the logic gates.
According to an aspect of some embodiments of the present invention there is provided a method for multi-topology logic gate operation. The method includes: providing a logic gate capable of operating in multiple topologies, wherein the current topology of the logic gate is selected by a topology control signal, and inputting a sequence of topology control signals during logic gate operation so as to dynamically switch the logic gate between the topologies.
According to some embodiments of the invention, the multi-topology logic gate includes at least two logic blocks associated with a logic gate output connection. Each of the logic blocks has respective logic inputs which are connectable to logic gate input connections. At least one of the logic blocks operates in multiple modes, and the control sequence dynamically switches the logic blocks between the modes during logic gate operation to obtain a selected topology for logic gate operation.
According to some embodiments of the invention, logic blocks having a multiple modes of operation operate respectively in at least two of static, dynamic and on-off modes, in accordance with the mode control signals.
According to some embodiments of the invention, the logic gate is switched between topologies so as to dynamically vary a power profile of the gate during operation.
According to some embodiments of the invention, the control sequence maintains a single logic function for the logic gate.
According to some embodiments of the invention, the control sequence switches the logic gate between multiple logic functions.
According to an aspect of some embodiments of the present invention there is provided a multi-topology logic gate for performing a specified logic function, the logic gate comprising logic inputs and a logic output, comprising:
at least two logic blocks, each of the blocks comprising a respective transistor network; and
at least one connection element, wherein each of the connection elements has a respective control input, first connection input and second connection input and is configured to connect and disconnect the first and second connection inputs in accordance with a control signal into the respective control input;
wherein the logic blocks and the at least one connection element are interconnected such that the logic gate operates in differing logic topologies in accordance with the control signals, thereby to provide the specified logic function.
According to some embodiments of the invention, the logic gate is configured for operation in at least two static topologies.
According to some embodiments of the invention, the logic gate is configured for operation in at least two dynamic topologies.
According to some embodiments of the invention, the logic gate is configured for operation in at least three topologies.
According to some embodiments of the invention, at least one of the connection elements is connected to a clock signal.
According to some embodiments of the invention, the clock signal is connected to a control input of a respective connection element.
According to some embodiments of the invention, at least one of the connection elements is connected to ground.
According to some embodiments of the invention, wherein the ground connection is to a connection input of a respective connection element.
According to some embodiments of the invention, at least one of the connection elements is connected to a constant voltage.
According to some embodiments of the invention, the constant voltage connection is to a connection input of a respective connection element.
According to an aspect of some embodiments of the present invention there is provided a multi-topology logic circuit, comprising a plurality of multi-topology logic gates, the logic gates comprising respective logic inputs and at least one respective connection input, the logic circuit being configured to perform a same logic operation for differing specified input sequences to the control inputs.
According to some embodiments of the invention, the multi-topology logic further comprises an interconnection element for separating between the logic gates.
According to an aspect of some embodiments of the present invention there is provided a method for logic circuit operation, the logic circuit comprising a plurality of logic inputs, a logic output, and at least one control input, comprising:
connecting a plurality of multi-topology logic gates to form a logic circuit, wherein the logic circuit performs a logic function, wherein each of the multi-topology logic gates is configured for operating in respective multiple topologies in accordance with the at least one control input; and
inputting a specified control sequence to the control inputs during logic circuit operation so as to dynamically switch between respective topologies of the logic gates during the operation.
According to some embodiments of the invention, the control sequence comprises a random sequence.
According to some embodiments of the invention, the control sequence comprises a semi-random sequence.
According to some embodiments of the invention, the method further comprises generating a respective control sub-sequence for each of the logic gates, the respective control sub-sequences collectively forming the specified control sequence.
According to some embodiments of the invention, the logic circuit comprises a security key and the control sequence is adapted to disguise the security key from detection during logic circuit operation.
According to some embodiments of the invention, the control sequence maintains a single logic function for the logic circuit, while varying the respective topologies of the logic gates.
According to some embodiments of the invention, the control sequence switches between multiple logic functions for the logic circuit, while varying the respective topologies of the logic gates.
Unless otherwise defined, all technical and/or scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the invention pertains. Although methods and materials similar or equivalent to those described herein can be used in the practice or testing of embodiments of the invention, exemplary methods and/or materials are described below. In case of conflict, the patent specification, including definitions, will control. In addition, the materials, methods, and examples are illustrative only and are not intended to be necessarily limiting.
Implementation of the method and/or system of embodiments of the invention can involve performing or completing selected tasks manually, automatically, or a combination thereof. Moreover, according to actual instrumentation and equipment of embodiments of the method and/or system of the invention, several selected tasks could be implemented by hardware, by software or by firmware or by a combination thereof using an operating system.
For example, hardware for performing selected tasks according to embodiments of the invention could be implemented as a chip or a circuit. As software, selected tasks according to embodiments of the invention could be implemented as a plurality of software instructions being executed by a computer using any suitable operating system. In an exemplary embodiment of the invention, one or more tasks according to exemplary embodiments of method and/or system as described herein are performed by a data processor, such as a computing platform for executing a plurality of instructions. Optionally, the data processor includes a volatile memory for storing instructions and/or data and/or a non-volatile storage, for example, a magnetic hard-disk and/or removable media, for storing instructions and/or data. Optionally, a network connection is provided as well. A display and/or a user input device such as a keyboard or mouse are optionally provided as well.
Some embodiments of the invention are herein described, by way of example only, with reference to the accompanying drawings. With specific reference now to the drawings in detail, it is stressed that the particulars shown are by way of example and for purposes of illustrative discussion of embodiments of the invention. In this regard, the description taken with the drawings makes apparent to those skilled in the art how embodiments of the invention may be practiced.
In the drawings:
The present invention, in some embodiments thereof, relates to a multi-topology logic gate and, more particularly, but not exclusively, to operation of multi-topology logic circuits.
The following presents embodiments of a Multi-Topology Logic family (RMTL). RMTL logic gates and circuits include control inputs which dynamically switch the RMTL gate/circuit operating topology during operation.
As used herein, the term “topology” means a configuration of transistor connectivity within a logic gate or circuit. As described below, an RMTL gate (or circuit) may provide the same logical function while operating with different topologies.
As used herein, the terms “randomized multi-topology logic gate” and RMTL mean that the multi-topology logic gate may be controlled in a randomized manner. The terms are not limiting to a logic gate which contains randomly-operating elements within it.
RMTL logic circuits and gates may be dynamically switched between different operating topologies during circuit operation. By inputting the appropriate control sequences the connection between the consumed power and the processed data may be broken. Random switching between the logic topologies during regular operation may result in random power profiles of the cryptographic device/module, and consequently higher immunity to side channel attacks.
RMTL logic gates and circuits are not to a particular hardware realization of any circuit architecture. The RMTL circuits may be useful for implementation of any cryptographic architecture, including, but not limited to, symmetric design, asymmetric design and automatic design (for example implemented by CAD tools, etc.).
The RMTL concept is technology (i.e., process node) independent, and is not limited to a particular semi-conductor material or manufacturing technology, including silicon (e.g., 65 nm, 40 nm, 28 nm etc. . . . ) and non-silicon processes.
Simulation results made for an exemplary five-topology RMTL family are presented below. These results show higher immunity to DPA attacks as compared to the CMOS logic family. These results may also indicate higher immunity to DEMA attacks, as randomized power profile of this gate results in randomized electromagnetic radiation as well.
Before explaining at least one embodiment of the invention in detail, it is to be understood that the invention is not necessarily limited in its application to the details of construction and the arrangement of the components and/or methods set forth in the following description and/or illustrated in the drawings and/or the Examples. The invention is capable of other embodiments or of being practiced or carried out in various ways.
RMTL Gates
Referring now to the drawings,
Although this concept may appear to be taking up a lot of space, the implementation of such logic family may include wise integration between the number of topologies and the area of an RMTL gate, as may be seen in the example below (
The RMTL logic gate/circuit topology types may include both static and dynamic logic families, such as CMOS, PTL, Differential PTL, Dynamic Logic, Differential Dynamic Logic, Domino and/or others. The main characteristic of these topologies is their different consumed power with the same input data. Consequently, for the same data flow of the same operation, a different power profile may be obtained for each topology of the same RMTL gate. Moreover, for a cryptographic module in a device realized with RMTL gates, random switching between the topologies of its gates may be performed (using random cnt signals), and a random power profile may be obtained. This random switching may result in a higher immunity to side channel attacks on the attacked device, as shown below.
Reference is now made to
i) Logic output connection 130 which outputs the for the logic gate;
ii) Logic input connections 140 which input the logic input signals to RMTL gate 100;
iii) At least two logic blocks 110.1 to 110.n; and
iv) Topology selector 120 which controls logic blocks 110.1 to 110.n in order to operate RMTL gate 100 in the required topology.
As used herein the term “connection” means a location where an input or output electronic signal enters or leaves the logic gate. The connection may be internal to the logic circuit containing the RMTL gate.
Each of logic blocks 110.1 to 110.n includes logic inputs which may be connected to the logic input connections 140, and a logic output connected to logic output connection 130. At least one of the logic blocks operates in multiple modes, where the respective mode is selected by a respective mode control signal provided by topology selector 120. Further optionally, at least two of the logic blocks have multiple modes of operation.
Optionally, logic block modes include two or more of:
i) On/Off mode (also denoted herein “connected” and “disconnected”)—When turned “off” (or disconnected) the logic block does not affect the operation of the logic gate. When “on” (or connected) the logic block participates in logic gate operation;
ii) Static mode, optionally implemented by operating one or more of the logic blocks continuously in on mode; and
iii) Dynamic mode. Optionally, dynamic mode operation is implemented using a clocked mode control signal to switch one or more logic blocks between on and off modes, while inputting a pre-charge or pre-discharge signal to the logic gate output if or as needed.
Optionally, one or more of the logic blocks has a single mode of operation.
Exemplary embodiments for controlling the mode of each logic block in order to obtain the desired topology are described below for
Topology selector 120 inputs mode control signals to the logic blocks so as to implement the logic function in multiple topologies. Topology selector 120 ensures that all logic blocks and other circuit components operate in the selected topology without conflict. For example, when operating in static mode topology selector 120 does not apply pre-charge signals to the logic output whereas the pre-charge signal may be applied during dynamic mode.
Optionally, topology selector 120 selects the mode control signals (and optionally other input signals required for operating in a given topology) in accordance with a specified logic and/or using a look-up table which identifies, for each topology, the correct signals to be input to the RMTL gate.
Optionally, each of the logic blocks independently implements the same logic function with different logic block topologies. Further optionally, the circuit is switched between topologies by turning one of the logic blocks (i.e. “on” mode) on while the remaining logic blocks are in “off” mode.
Optionally, the logic blocks include transistor networks. Other electronic components (e.g. capacitors) may be included within or between the logic blocks to obtain the desired logic block and/or logic gate operation.
Mode control signals applied by topology selector 120 to the logic blocks (and optionally other locations in the logic gate) may include:
i) A constant voltage;
ii) A clock signal;
iii) Ground connection.
Optionally, topology selector 120 connects a pre-charge clock signal to logic input connection 130 during pull-down dynamic logic operation.
Optionally, topology selector 120 connects a pre-discharge clock signal to logic input connection 130 during pull-up dynamic logic operation.
In some embodiments, the logic input signals are not input to all the logic blocks for all gate topologies. Optionally, topology selector 120 directs logic input signals to the logic inputs of only some of the logic blocks as required by the current logic gate topology. Additionally or alternately, one or more of the logic blocks have fixed connections to logic input connections 140.
Optionally, topology selector 120 switches between logic gate topologies randomly, semi-randomly or in a specified sequence. Alternately or additionally, topology selector 120 switches between logic gate topologies in accordance with a sequence of topology control signals input to topology selector 120 by an external circuit element such as a processor.
Reference is now made to
RMTL logic gate 100 includes:
i) At least two logic blocks 110.1-110.n, each of the blocks comprising a respective transistor network; and
ii) At least one connection element 120.1-120.m, where each connection element includes a control input and a connection input and a connection output connected to a logic block. Control signals applied to the control inputs open and close an electronic pathway between the two connection input and output.
The logic blocks and connection element(s) are interconnected such that the logic gate operates in differing logic topologies in accordance with the control signals, thereby to provide the specified logic function.
The logic gate may operate with varying types of topologies, including but not limited to:
i) At least two static topologies.
ii) At least two dynamic topologies.
iii) At least three topologies.
In order to create the desired topologies the connection element's inputs may be connected to various types of signals, including but not limited to:
i) A clock signal.
ii) A ground connection.
iii) A constant voltage.
Opening and closing the connection elements connects the input signals to the logic blocks, and optionally other locations in the logic gate, providing control over logic gate topology and operation.
Reference is now made to
RMTL Logic Gate Operation
Reference is now made to
In 210 a multi-topology logic gate capable of operating in multiple topologies is provided. In 220 a sequence of topology control signals is input to the RMTL gate during logic gate operation to dynamically switch the logic gate between the topologies. The topology control signals are selected in a manner that ensures that all logic gate elements (e.g. logic blocks, clock signal inputs, etc.) are operating in accordance with the required topology, and that no conflicts occur amongst the logic gate elements.
Optionally the multi-topology logic gate is an RMTL gate as described herein, and switching between topologies includes switching logic block modes during logic gate operation to obtain the selected topology.
Optionally one or more logic blocks operate in at least two of static, dynamic and on-off modes.
Optionally, the multi-topology logic gate is switched between topologies so as to dynamically vary a power profile of the gate during operation.
The control sequence may maintain a single logic function for the logic gate. Alternately or additionally, the control sequence may change the logic function by switching logic block modes.
Cascading RMTL Gates
Optionally, the RMTL gates are cascaded with no optimization needed.
In contrast to existing optimization approaches, which attempt to optimize the logic on the energy-delay space (e.g., by requiring operation instructions regarding the transistors' sizes), the RMTL gate may achieve a maximum number of random power profiles by selection of appropriate topology control signals. This is a significant advantage over standard designs in which connecting a gate in topology 1 with a gate in topology 2 is not possible due to increased power dissipation/delay or reliability problems. Proper selection of the current topology of each of the RMTL gates may ensure that incompatible gate topologies are not connected.
RMTL Logic Circuits
In some embodiments an RMTL logic circuit is formed from interconnected logic gates, at least one of which is an RMTL logic gate. The RMTL logic circuit may include additional components as needed for circuit operation. These components may operate in single or in multiple topologies and/or be involved in controlling the gate/circuit operating topology, as required by the respective logic circuit. In some embodiments, the RMTL logic circuit includes at least one interconnection element separating between the RMTL logic gates. Changing the topology of one or more of the RMTL logic gates changes the topology of the entire logic circuit.
RMTL Logic Circuit Operation
Reference is now made to
In 310 logic gates, including at least one multi-topology gate, are connected to form a logic circuit which performs a logic function. Each of the multi-topology logic gates may operate in multiple topologies in accordance with the gate's respective control input(s).
In 320 a topology control sequence is input to the control inputs during logic circuit operation. The topology control sequence dynamically switches between logic gate topologies during operation. As described in more detail herein, dynamic switching of logic gate topology may result in improved protection from DPA, DEMA and other types of attacks.
Optionally the one or more of the multi-topology logic gates is an RMTL gate as described herein, and switching between topologies includes switching logic block modes during logic circuit operation in order to obtain the required topology.
The control sequence may include separate control sub-sequences for respective RMTL logic gates within the logic circuit.
The control sequence input into the logic gate control inputs may be random, semi-random or a specified sequence. The specified sequence may be optimized to provide protection from security attacks, and may be tailored to a specific RMTL circuit and/or gate.
According to some embodiments of the invention, the logic circuit comprises a security key and the control sequence is adapted to disguise the security key from detection during logic circuit operation.
According to some embodiments of the invention, the control sequence maintains a single logic function for the logic circuit, while varying the respective topologies of the logic gates.
According to some embodiments of the invention, the control sequence switches between multiple logic functions for the logic circuit, while varying the respective topologies of the logic gates.
It is expected that during the life of a patent maturing from this application many relevant logic block architectures, logic gate topologies, logic circuit topologies, logic gates, logic circuits, logic gate realizations, logic circuit realizations, materials and manufacturing technologies will be developed and the scope of the terms logic block, logic gate and logic circuit is intended to include all such new technologies a priori.
The terms “comprises”, “comprising”, “includes”, “including”, “having” and their conjugates mean “including but not limited to”.
The term “consisting of” means “including and limited to”.
The term “consisting essentially or means that the composition, method or structure may include additional ingredients, steps and/or parts, but only if” the additional ingredients, steps and/or parts do not materially alter the basic and novel characteristics of the claimed composition, method or structure.
As used herein, the singular form “a”, “an” and “the” include plural references unless the context clearly dictates otherwise. For example, the term “a compound” or “at least one compound” may include a plurality of compounds, including mixtures thereof. Throughout this application, various embodiments of this invention may be presented in a range format. It should be understood that the description in range format is merely for convenience and brevity and should not be construed as an inflexible limitation on the scope of the invention. Accordingly, the description of a range should be considered to have specifically disclosed all the possible subranges as well as individual numerical values within that range. For example, description of a range such as from 1 to 6 should be considered to have specifically disclosed subranges such as from 1 to 3, from 1 to 4, from 1 to 5, from 2 to 4, from 2 to 6, from 3 to 6 etc., as well as individual numbers within that range, for example, 1, 2, 3, 4, 5, and 6. This applies regardless of the breadth of the range.
Whenever a numerical range is indicated herein, it is meant to include any cited numeral (fractional or integral) within the indicated range. The phrases “ranging/ranges between” a first indicate number and a second indicate number and “ranging/ranges from” a first indicate number “to” a second indicate number are used herein interchangeably and are meant to include the first and second indicated numbers and all the fractional and integral numerals therebetween.
It is appreciated that certain features of the invention, which are, for clarity, described in the context of separate embodiments, may also be provided in combination in a single embodiment. Conversely, various features of the invention, which are, for brevity, described in the context of a single embodiment, may also be provided separately or in any suitable subcombination or as suitable in any other described embodiment of the invention. Certain features described in the context of various embodiments are not to be considered essential features of those embodiments, unless the embodiment is inoperative without those elements.
Various embodiments and aspects of the present invention as delineated hereinabove and as claimed in the claims section below find calculated support in the following examples.
Reference is now made to the following examples, which together with the above descriptions illustrate some embodiments of the invention in a non limiting fashion.
RMTL Logic Gate with Five Topologies
A five-topology RMTL gate is described for
A. RMTL Methodology Against DPA
Reference is now made to
Topology A, shown in
Topology C, illustrated in
For the dynamic topologies (Topologies B, C, D, E), the Precharge Clocked Enable and Pre-discharge Clocked Enable signals are assigned an asymmetric clock, allowing two distinct phases: Pre-charge (or Pre-discharge) and evaluation. During the Pre-charge (or Predischarge) phase, the output is charged to high/low, dependent on the topology of the RMTL gate. In the consequent evaluation phase, the logic output is evaluated according to the values at the control transistor gate inputs.
The power consumption of each topology is quite different from each other even for the same data flow. It may be seen, that a wise integration between several topologies and small area has been implemented by designing a five-topology RMTL gate, with the addition of only four transistors.
Essentially, static and dynamic logic families differ in their power profile. The consumed power peak in CMOS logic family (static) from the power supply VDD primarily occurs when a low to high transition (0→1) takes place at the gate output.
In contrast, in the dynamic logic family, such as dynamic precharge logic (which may include or may not include a PUN network), different power levels may be consumed at the different stages (and even differently for each logic type). For example, in some dynamic logic having precharge and evaluation phases, the power is mainly consumed from the voltage supply VDD whenever the previous state is ‘0,’ i.e., during bit transitions: 0→0 and 0→1. In a dynamic logic family (which may or may not include a PDN network) with precharge and evaluation phases, the situation may differ as the power from the voltage supply VDD mat mainly consumed (differently for each type) whenever the last state is ‘1’, i.e., during bit transitions: 0→1 and 1→1.
It should be noted that the consumed energies are different for each topology (i.e., Ei≠Ej where i≠j).
Tables I and II below summarize the different consumed energies of each of the five topologies (A-E) for all transitions, for precharge and evaluation phases respectively (assuming arbitrarily that the energy of static Topology A is consumed in the precharge phase).
A. Signal to Noise Ratio Analysis and Modeling
In the context of this randomization approach, the circuit power consumed due to the different topologies act like a random processes, and the main goal is achieving a Signal to Noise Ratio (SNR) as low as possible.
In general, the SNR is described in the following equation:
where the noise signal comprises of several components, described in next equation:
Pnoise=Pele.noise+Pquant.+Panalog+Puncorr.data
In addition, not only the consumed power is different in each topology for the same processed data. The timing profile for these calculations also differs. The RMTL logic family has the capability to switch randomly between respective topologies at the gate level, in order to achieve randomization of the consumed power signal, thus significantly decreasing the SNR. One of the advantages that the RMTL logic family has compared to other logic families is that it enables lowering the SNR without decreasing the performance and increasing the area substantially.
As stated above, for a DPA attack a very useful and important parameter is the inter-signal SNR (SNRINTER). The SNRINTER indicates the difficulty of the recognition of the correct key from the wrong keys.
Basically, the DPA attack comprises two different phases. In the first phase, the power consumption signal is recorded (by measuring the supply current or the voltage drop of an external resistor connected in series to the power supply) for N random but known input sequences (i.e., plaintext, Ii, where i=1, . . . , N). The N power traces tri(j) include M samples (i.e., j=1, . . . , M). In the second phase, assuming one key k and knowing the algorithm procedure, the outcome is calculated (i.e., ciphertext).
Next, based on the result bits and the power model (e.g. Hamming Weight), the recorded signals from the first phase may be divided into two subsets S0 and S1 (e.g. one bit attack, multi bit attack), using the value of the selection function D=ƒ(Ii,k). Then, one computes the difference of the averages of these subsets (average means many input sequences). The difference in these subsets' averages depends on the correlation between the partitioning into subsets choice (the selection function D) and the measurements contained in the mentioned traces tri. The DPA result—ΔD(j)—is actually a discrete time signal where the Y-axis shows the difference in the averages of the two distributions. In case of correlation (the guessed key was correct), at some point in time these distributions will differ, resulting in a nonzero value δ (i.e., a higher spike) in the graph. This time point (j*) is actually the time when this bit is calculated somewhere in the chip, hence resulting in consumed power needed for this calculation. In uncorrelated case, the distributions will not have statistically significant differences, and the points in the graph will converge to 0 as the number of traces increases.
Depending on the attack type, the selection function D=0,1. The average power consumption AD of the subset SD (D=0,1) is given in Eqn. (1):
According to the above explanations, the differential power trace is ΔD (j)=|A0(j)−A1(j)|, thus a spike δ exhibits in time j=j* is given by:
δ=|A0(j*)−A1(j*)| (2)
Finally, the inter-signal SNR is described in Eqn. (3):
Obviously, for successful DPA attack, SNRINTER must be greater than unity, for the correct guess of key k. In further to the analysis of the SNRINTER for static logic circuits [19], in which the major parameter is the number of the 0→1 transitions (see Tables I, II), now we analyze the degradation of the SNRINTER of a crypto-core circuit that includes RMTL gates, comparing to the SNRINTER of a CMOS logic implementation.
We define PRMTL as the number of the RMTL gates out of all gates constructing the circuit, which by default are designed in CMOS technology. The 0→1 transition of the RMTL gate with five topologies may have five different power consumptions at each 0→1 transition (third line in Tables I, II), named EA, E2B, E2C, E2D, E2E for topologies A, B, C, D, E, respectively, while only power consumption EA of Topology A complies the static logic SNRINTER model. Let ntop be the number of topologies used in the RMTL gate, ntop∈{1, 2, 3, 4, 5}. Therefore, the probability in which an RMTL gate is configured to topologies B-E is then:
Obviously, for general RMTL gate with m topologies, ntop∈{2, 3, . . . , m}.
As mentioned, there are N power traces tri, i.e., there are N points (on time line) that the calculation is performed. Let l be the number of the random time points out of N in which the random sequence generator change an RMTL gate to any topology apart from the static one, and let r be the number of the different sequence generators. We are looking for the probability that a time point X (out of N) is generated at least once. Thus, X is a random variable follows the Binomial Distribution with parameters r and p, X˜B (r, p), where p is the success probability given in Eqn. (5)0:
Therefore, the probability that a time point X is generated by random number generator RNG at least once P(X≥1) without referring the contribution of the 0→1 transitions, which may decrease this probability as well) is given in Eqn. (6):
PRNG=P(X≥1)=1−(1−P)r (6)
As a result, if we refer only to the 0→1 transitions, the new spike δRMTL of the correct key is then:
δRMTL(Dcorrect)=(1−PRMTLgates·PRNG)·δ(Dcorrect) (7)
Similarly, for the wrong key maximum differential power trace δ, if referring the possible contributions of the 0→1 and the 0→0 transitions, the new spike δRMTL of the wrong key is given by:
δRMTL(Dwrong)=(1+PRMTLgates·PRNG)·δ(Dwrong) (8)
Eqn. (9) summarizes the SNRINTER degradation:
γeff∈[0,1] is the efficiency coefficient of SNRINTERRMTL for circuits that include RMTL gates, comparing to SNRINTERstatic of static CMOS logic. For CMOS logic case (there are no RMTL gates), PRMTLgates=0, thus γeff=1, and on the other hand, γeff→0, when the whole circuit is implemented with RMTL gates with different RNG for each gate (i.e., PRMTLgates·PRNG→1).
It can be seen that for static case (CMOS) when PRMTL=0, γeff=1 ∀ntop∈{2, 3, 4, 5} as expected, while γeff decreases with the decrease of PRMTL and the increase of ntop.
The static CMOS case is accepted for a zero success probability p=0 (i.e., the RNGs producing no topology change, and the circuit is in static topology) and thus γeff≡1. We can notice the vast decrease in γeff due to higher number of topologies as well as higher number of RNGs.
As may be seen in the simulation results in next section, the randomization design and implementation (of the RNGs) may cause the intensity of immunity to DPA attacks in several different levels—more strong or less strong, such as randomization of every gate or several groups of gates with the three topologies and different randomized signals, or randomization of only a few gates with only two topologies, respectively.
An intuitive explanation of such immunity to DPA attacks caused by this randomization could be treating the cryptographic circuit as a huge stack of states, or different circuits, that are randomly changed, while every state is one of the selected combinations of the circuits determined by the RNGs, in which each gate of this circuit may be one of the five topologies of the RMTL operation. For example, assuming a circuit composed of fifty gates, and assuming every gate has different RNG, we may treat it as 550 different circuits that change randomly.
B. Mutual Information Criterion
In this section, we use information theoretic tools to evaluate the RMTL technology. Specifically, we evaluate the amount of information that leaks from the circuit when it processes data. We examine the mutual information between the inputs to the circuit and the power consumed. These information theoretic tools help us to divide the security problem into two orthogonal problems: evaluation of the actual information that leaks from the circuit, and supposition of how an attacker can (or cannot) model and use it to find the correct key. In this sense, the following information theoretic criterion is stronger than the SNR criterion. Information theory deals with RVs/random vectors and random processes. In our case, the random vectors and processes are as follows.
1) X—the current input to the circuit. X is a uniformly distributed random n-bits binary vector. It is assumed that the current input and the previous input (denoted by Xp) are independent, identically distributed random vectors.
2) L(t)—the measured power consumption. L(t) is a random process.
3) {circumflex over (L)}(t)—a random process that represents the power consumption as simulated by SPICE. The process {circumflex over (L)}(t) is a function of the random inputs X, Xp and the random configuration of the RMTL gates embedded in the simulated circuit.
4) η(t)—a random process that represents an additive noise caused by cross talk, process variation, measurement errors, and so on. The noise process is defined as the difference between the SPICE simulated power consumption and the actual measured power
η(t)=L(t)−{circumflex over (L)}(t) (10)
As shown in [21]-[23], the noise can be represented as a random Gaussian process whose samples are independent Gaussian RVs with zero mean and standard deviation ση.
5) R—a random vector over an alphabet of size five. R represents the current configuration of the RMTL gates. The length of R is equal to the number of RMTL gates.
The power consumption is a random process. However, there is a point (or several points) in time when the power consumption reflects the number of transitions inside the S-box. In static logic circuits, there is a single point (denoted as j*), whereas in RMTL logic there are two such points (
L=L(X,Xp,η,R)={circumflex over (L)}(X,Xp,R)+η (11)
The entropy of a RV, say X, is defined (in bits) as:
H(x)=−Σxp(x)log2p(x)=−E(log2p(X)) (12)
where p(x)=p(X=x) is the probability that an RV X will take the value x, and E(ƒ(X)) stands for the expected value of ƒ over the probability distribution of X. Similarly, the conditional entropy of X given L is defined as:
The mutual information between the X and L represents the amount of information that L provides about X (see
I(X;L)=H(X)−H(X|L)=H(L)−H(L|X). (14)
If L tells everything about X, then I(X; L)=H(X), and if L tells nothing about X, then I (X; L)=0. The goal is to minimize I(X; L); that is, to minimize the leakage of information from the circuit. Similarly, the mutual information between the input X and the SPICE simulated {circumflex over (L)} is denoted:
I(X;{circumflex over (L)})=H(X)−H(x|{circumflex over (L)}). (15)
The mutual information between the input X and both L and L is described as:
I(X;L,{circumflex over (L)})=I(X;L)+I(X;{circumflex over (L)}|L)=I(X;{circumflex over (L)})+I(X;L|{circumflex over (L)}). (16)
When {circumflex over (L)} is given, L does not provide any additional information about the input X, therefore, I(X; L|{circumflex over (L)})=0. This leads to an upper bound on the mutual information between the input variable and the measured power consumption, as stated:
I(X;L)≤I(X;{circumflex over (L)}). (16)
In next section, we calculate the value of I(X; {circumflex over (L)}) for standard CMOS and RMTL technologies. Satisfactory results obtained for I(X; {circumflex over (L)}) will necessarily impact to the same extent on I(X; L). In other words, the mutual information obtained by simulated power consumption with no added noise will certainly be improved when noise is considered.
C. Simulation Results
Reference is now made to
DPA Test Setup
A real cryptographic system [such as an advanced encryption standard (AES) implementation], has various modules, each of which has a different role in the cryptographic algorithm (e.g., S-box, shift rows, and mix columns). Consider the system shown in
The control buses of the S-box modules (cnt1, cnt2, . . . , cntq) are fed from a control generator. The control buses of each S-box can be the same. The difference, then, should be reflected in the different locations of the RMTL gates that are connected in each S-box module. An RNG module, which exists at any cryptographic chip, is used for a random sequence generation. The control generator translates the output sequence of the RNG, and produces the appropriate control signals for each bus.
In general, the S-box (or SubBytes) block in the AES algorithm is an 8-bit block [27], which is the only nonlinear operation in the algorithm, and thus the most vulnerable block to DPA attack. Since we are dealing with simulations, we focus on a smaller system. To evaluate the proposed RMTL methodology, a 4-bit S-box module was chosen as a benchmark. Although this block is smaller, which enables reduced simulation time, it is still an efficient indicator. The test setup used to assess DPA attacks is described below.
The 4-bit S-box module was implemented in 40-nm standard CMOS technology with 1.1V VDD, using a Cadence Virtuoso environment, and its immunity to DPA attacks was examined. It is composed of a Galois field (GF) inverse operation (cyclic inverse) and a linear transformation. Hence, its calculations are in a GF(24) field. The module consists of 72 gates, including two and three inputs of NAND and NOR. For the RMTL examination, six RMTL gates were implemented arbitrarily in the S-box, and all the rest of the gates were implemented in standard CMOS gates.
The 4-bit input signal is first XORed with a 4-bit secret key, and then the result propagates to the 4-bit SBOX block. The SBOX implementation uses the RMTL family, whereas their control signals (cnt1, cnt2, . . . , cnt6) are governed by a control generator.
SNR Measurements
1) CMOS Logic:
The first test circuit was realized using the standard CMOS family (the SBOX is implemented using CMOS logic). The circuit inputs—In[0:3] were fed by 200 random but known inputs, and the current graphs were recorded, for evaluating the data process of the DPA attack, based on the intersignal SNR metric, as explained previously. A multibit DPA attack was implemented, such that the selection function ƒ(Ii, k) was defined as the product between the HW and Hamming distance (HD) of the S-box outputs, as shown in Eqn. (17). The two subsets S0 and S1 may therefore be derived immediately, as well as the differential power trace ΔD(j). The 200 random inputs are sufficient in our case since we examined a very small module such that there was no environmental noise, and the simulations do not contain noise. Obviously, the attack succeeded to reveal the secret key (arbitrary determined as 1101), even with the existence of noise, as no countermeasures were adopted (
2) Rmtl Family:
The first phenomenon that could occur when using RMTL is the deviation of the Hamming Weight (HW) model from the actual consumed power during the calculation, stemming from the use of alternating between static and dynamic modes of operation. Using the HW model (as a common model used for DPA attacks) which does not estimate the consumed power well (as may be studied from Tables I, II) might decrease the peak in δ for the right key, as well as increasing ‘ghost peaks’ in Δ(j) for wrong key guesses, as the division into the two subsets is no longer correlated to the actual power consumption. The second phenomenon needed to be treated is the time shift of the attacked bit calculation. By the nature of the RMTL family, the calculation time for each gate is different when comparing static and dynamic modes of operation. Consequently, the exact time the calculation of the attacked bit occurs (i.e., j*) is a Random Variable (RV). This RV is actually a sum of RVs which are the logic gate delays (determined by the operation modes in each cycle) along the calculation path of the attacked bit. Being the calculation time an RV leads to a smeared peak, and hence decreases both SNR.
a) RMTL—Two Topologies:
Using the same test-circuit as described for
b) RMTL—Three Topologies:
Further to the previous result, with the same inputs—In[0:3], in the next step we examined the maximum differential power trace results when the same 10% of the SBOX gates were implemented by three topologies—a static topology—Topology A, and dynamic topologies Topology D and Topology E (i.e., three topologies, a static, and two dynamic precharge and predischarge including PUN and PDH, respectively), while the rest 90% of the SBOX gates were remained in a static topology—Topology A. We can see in the maximum differential power trace graph, shown in
c) RMTL—Four Topologies:
In the next step we examined the maximum differential power trace results when the same conditions where 10% of the SBOX gates were operated using four topologies. A static topology—Topology A, and dynamic topologies—Topology D, Topology E, and Topology B (i.e. four topologies, a static, two dynamic precharge and predischarge including PUN and PDH, respectively, and one dynamic precharge), while the rest 90% of the SBOX gates were remained in static topology—Topology A. It can be noticed in
d) RMTL—Five Topologies:
In this case all five topologies are utilized. We examined the maximum differential power trace results when the same 10% of the SBOX gates were operated in five topologies. A static topology Topology A, and all dynamic topologies Topology B, Topology C, Topology D, and Topology E (i.e., five topologies, a static, two dynamic precharge and predischarge including PUN and PDH, respectively, and two dynamic precharge and predischarge, respectively), while the rest 90% of the SBOX gates were remained in static topology—Topology A. We can see in the maximum differential power trace graph, shown in
Power Profiles Comparison
The power profiles (supply current) of the three cases for the same 200 random inputs—In[0:3] are given in
As expected and described in previous sections, it may be seen that the power profile of the CMOS logic is relatively “quiet” comparing to the “noisy” ones of the RMTL logic. The CMOS logic current graph accommodates the least amount of current spikes according to the input transitions, while much more current spikes appear in the power profiles of the RMTL logic. In addition, we may notice that the amount of the current spikes increases as the number of the RMTL topologies rises from two to five topologies. As a result, as “noisier” as the power profile gets (e.g., a larger RMTL topologies), the SNR decreases, which may intuitively explain the obtained maximum differential power trace results: by the RNGs control of the several RMTL gates, they change randomly between their topologies, which consequently causes an unpredictable behavior of the power profile, comparing to the expected power profile of the CMOS logic.
Estimating the Mutual Information
We constructed a profiled security evaluation to calculate the mutual information between the inputs and the leakage of the 4-bit S-box. We used the same test bench to implement a template attack estimation tool introduced in [28] on the S-box using 10% of the gates with RMTL. Template attacks are considered a useful way to estimate the worst-case scenario in information theoretic analysis [24][24]. The mutual information, introduced in [22] and [29], tells us how accurately the adversary's leakage model can predict the actual leakage distribution of the device.
In the first step, we produced 16×1000 power traces using SPICE. For the 4-bit S-box implemented with CMOS gates, these traces represent the 16 transitions from Xp=0 to all the 16 possible values of X. In terms of the RMTL, they correspond to both the precharge and evaluation phases of the S-box computation, for the same 16 inputs. Then, we computed the mutual information for the CMOS and RMTL technologies. The computed entropies and mutual information were based on 1000 measurements for each input transition.
The maximal mutual information for this setup is the entropy of X; that is, 4 bits of information. The mutual information between the input X and the simulated (noise-free) power consumption {circumflex over (L)} of both the CMOS and RMTL 4-bit S-box modules was computed using:
Table III presents the mutual information I(X; {circumflex over (L)}) and I(HW; {circumflex over (L)}) results for both the CMOS and RMTL S-box modules.
As can be seen from Table III, the CMOS technology leaks more than half of the bits of X and thus is vulnerable to DPA attacks. In contrast, when using RMTL gates, the leakage is significantly reduced and approaches zero. Recall that these results form an upper bound on the actual leakage, as described in Eqn. (16). Obviously, in practice, the noise adds uncertainty and thus decreases the leakage even more. Consequently, using the RMTL gates in a cryptographic device leads to a much lower leakage of information than CMOS technology, and may increase immunity to DPA attacks.
Maximum Differential Power Trace Comparison
An additional parameter that may point to the effectiveness of the RMTL methodology is the diminishing trend of the maximum differential power trace magnitude with relation to the rising number of the RMTL topologies.
SNRINTER Model
Here we compare the theoretical SNRINTER calculated results and the SNRINTER achieved in the simulation results. As described previously, in our test there are six different RMTL gates out of ˜50 gates, and thus we have six different RNGs that change the RMTL gates topology from Topology A for about 20÷35 times out of the 200 time points. Using equations 4-9 and the simulation results, the calculated and the measured SNRINTER versus the number of the topologies of the RMTL gates are described in Table IV.
Although the invention has been described in conjunction with specific embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. Accordingly, it is intended to embrace all such alternatives, modifications and variations that fall within the spirit and broad scope of the appended claims.
All publications, patents and patent applications mentioned in this specification are herein incorporated in their entirety by reference into the specification, to the same extent as if each individual publication, patent or patent application was specifically and individually indicated to be incorporated herein by reference. In addition, citation or identification of any reference in this application shall not be construed as an admission that such reference is available as prior art to the present invention. To the extent that section headings are used, they should not be construed as necessarily limiting.
This application is a National Phase of PCT Patent Application No. PCT/IL2015/050446 having International filing date of Apr. 29, 2015, which claims the benefit of priority under 35 USC § 119(e) of U.S. Provisional Patent Application No. 61/985,487 filed on Apr. 29, 2014. The contents of the above applications are all incorporated by reference as if fully set forth herein in their entirety.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/IL2015/050446 | 4/29/2015 | WO | 00 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2015/166496 | 11/5/2015 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
20060259887 | Tretz | Nov 2006 | A1 |
20070195949 | Okochi et al. | Aug 2007 | A1 |
20130063179 | Myers et al. | Mar 2013 | A1 |
Number | Date | Country |
---|---|---|
WO 0145318 | Jun 2001 | WO |
WO 2015166496 | Nov 2015 | WO |
Entry |
---|
International Preliminary Report on Patentability dated Nov. 10, 2016 From the International Bureau of WIPO Re. Application No. PCT/IL2015/050446. (5 Pages) |
International Search Report and the Written Opinion dated Aug. 10, 2015 From the International Searching Authority Re. Application No. PCT/IL2015/050446. |
Kamel et al. “Analysis of Dynamic Differential Swing Limited Logic for Low-Power Secure Applications”, Journal of Low Power Electronics and Applications, 2(1): 98-126, Mar. 16, 2012. |
Tiri et al. “A Dynamic and Differential CMOS Logic With Signal Independent Power Consumption to Withstand Differential Power Analysis on Smart Cards”, Proceedings of the 28th European Solid-State Circuits Conference, ESSCIRC 2002, Florence, Italy, Sep. 24-26, 2002, p. 403-406, Sep. 2002. |
Tiri et al. “A Logic Level Design Methodology fro A Secure DPA Resistant ASIC or FPGA Implementation”, Proceedings of the Design, Automation and Test in Europe Conference and Exhibition, DATE '04, Feb. 16-20, 2004, 1: 246-251, Feb. 2004. |
Number | Date | Country | |
---|---|---|---|
20170169220 A1 | Jun 2017 | US |
Number | Date | Country | |
---|---|---|---|
61985487 | Apr 2014 | US |