DE102005037356B3 - Two coded input operand`s logic function evaluating circuit for safety-relevant application, has summoning circuit terminating memorizing when two dual rail signals have data values and coding signal has coding values - Google Patents
Two coded input operand`s logic function evaluating circuit for safety-relevant application, has summoning circuit terminating memorizing when two dual rail signals have data values and coding signal has coding values Download PDFInfo
- Publication number
- DE102005037356B3 DE102005037356B3 DE102005037356A DE102005037356A DE102005037356B3 DE 102005037356 B3 DE102005037356 B3 DE 102005037356B3 DE 102005037356 A DE102005037356 A DE 102005037356A DE 102005037356 A DE102005037356 A DE 102005037356A DE 102005037356 B3 DE102005037356 B3 DE 102005037356B3
- Authority
- DE
- Germany
- Prior art keywords
- values
- dual
- rail
- precharge
- signal
- 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.)
- Expired - Fee Related
Links
- 230000009977 dual effect Effects 0.000 title claims abstract description 47
- 238000000034 method Methods 0.000 claims abstract description 10
- 238000004364 calculation method Methods 0.000 claims description 46
- 230000036316 preload Effects 0.000 claims description 11
- 230000007704 transition Effects 0.000 description 12
- 238000013459 approach Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000000873 masking effect Effects 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000007599 discharging Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101100421141 Homo sapiens SELENON gene Proteins 0.000 description 1
- 102100023781 Selenoprotein N Human genes 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003071 parasitic effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/08—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices
- H03K19/094—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices using field-effect transistors
- H03K19/096—Synchronous circuits, i.e. using clock signals
- H03K19/0963—Synchronous circuits, i.e. using clock signals using transistors of complementary type
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/75—Protecting 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/755—Protecting 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/20—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
- H03K19/21—EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical
- H03K19/215—EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical using field-effect transistors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
- G06F2207/7223—Randomisation as countermeasure against side channel attacks
- G06F2207/7233—Masking, e.g. (A**e)+r mod n
- G06F2207/7238—Operand masking, i.e. message blinding, e.g. (A+r)**e mod n; k.(P+R)
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
- G06F2207/7266—Hardware adaptation, e.g. dual rail logic; calculate add and double simultaneously
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Logic Circuits (AREA)
Abstract
Description
Die vorliegende Erfindung befasst sich mit einer Schaltung und einem Verfahren zum Berechnen einer logischen Verknüpfung zweier Eingangsoperanden, die insbesondere für sicherheitsrelevante Anwendungen eingesetzt werden können.The The present invention relates to a circuit and a Method for calculating a logic operation of two input operands, especially for safety-relevant applications can be used.
Schaltungen die zur Verarbeitung sicherheitsrelevanter Daten eingesetzt werden, werden möglichst so gestaltet, dass die zu verarbeitenden Daten vor Angreifern geschützt werden, die versuchen durch eine Analyse der Schaltung an die sicherheitsrelevanten Daten zu gelangen. Aufgrund von SPA/DPA-Angriffen (SPA/DPA; SPA/DPA = Simple Power-Attack/Differential Power-Attack) ist es für Hochsicherheits-Anwendungen notwendig, den Stromverbrauch einer integrierten Schaltung, unabhängig von den prozessierten Daten zu gestalten.circuits used to process security-related data, be possible designed to protect the data being processed from attackers, try by analyzing the circuit to the safety-relevant To get data. Due to SPA / DPA attacks (SPA / DPA; SPA / DPA = Simple Power Attack / Differential Power Attack) is for high security applications necessary, the power consumption of an integrated circuit, regardless of to design the processed data.
Diese Problematik kann durch eine dynamische Dual-Rail-Schaltungstechnik gelöst werden, deren Entwurf, Charakterisierung und Verifikation allerdings zeitaufwendig ist. Eine auf der dynamischen Dual-Rail-Schaltungstechnik basierende Bibliothek ist aufgrund der, für einen Vorladezustand zwischen den Datenzuständen, erforderlichen Precharge Signale nicht synthetisierbar und für statische Timinganalysen nicht geeignet.These Problem can be solved by a dynamic dual-rail circuit technology, however, their design, characterization and verification are time consuming is. A based on the dynamic dual-rail circuit technology Library is due to, for a precharge state between the data states, required precharge Signals not synthesizable and for static timing analysis not suitable.
Eine
statische Implementierung einer Schaltungsanordnung zur Verarbeitung
zweier Dual-Rail-Signale ist in der Patentschrift
Die genannte Patentschrift befasst sich nicht mit verschlüsselten Signalen.The said patent does not deal with encrypted Signals.
Bei der Technologie „Masking" werden interne Signale durch eine Maske verschlüsselt. Dabei werden spezielle, neue Logikzellen eingesetzt, die in der Lage sind aus maskierten Eingangssignalen A und B sowie einer Maske M ein ebenfalls verschlüsseltes Ausgangssignal Z zu erzeugen.at The technology "masking" becomes internal signals encrypted by a mask. Special, new logic cells are used in the Location are masked input signals A and B and a mask M also encrypted Output signal Z to produce.
Die
dabei zugrunde liegende Maskierung wird anhand der
Aus der Schrift „Side-Channel Leakage of Masked CMOS Gates; Stefan Mangard, Thomas Popp, Berndt M. Gammel" ist bekannt, dass bei einer Single-Rail-Realisierung der maskierten Schaltungstechnik etwaige Glitches, also Störimpulse die Logik angreifbar machen.Out the writing "Side-Channel Leakage of Masked CMOS Gates; Stefan Mangard, Thomas Popp, Berndt M. Gammel "is known that in a single-rail implementation of the masked circuit technology any glitches, so glitches make the logic vulnerable.
Eine
Möglichkeit
zur sicheren Verschlüsselung
von maskierten Signalen besteht in einer maskierten Dual-Rail-Precharge-Logik. Dabei werden,
wie bei unverschlüsseltem
Dual-Rail, die mit der Maske M verschlüsselten Signale und auch die
Maske selbst doppelt ausgeführt.
Es gibt also zwei Dual-Rail-Eingangssignale
A, AN und B, BN sowie eine Dual-Rail-Maske M, MN. Ferner wird eine
Idle-Phase zwischen zwei gültigen Werte-Folgen eingeführt. Die
Idle-Phase ist ein Vorladezustand oder auch „Precharge" genannt, zwischen zwei Evaluate-Phasen,
im fogenden auch Berechnungszyklen genannt. Damit ergibt sich wie
bei unverschlüsseltem
Dual-Rail eine alternierende Folge der beiden Zustände:
Evaluate→Idle→Evaluate→Idle→Evaluate→Idle→Evaluate
...One possibility for secure encryption of masked signals is a masked dual-rail precharge logic. As with unencrypted dual-rail, the signals encrypted with the mask M and also the mask itself are executed twice. So there are two dual-rail input signals A, AN and B, BN and a dual-rail mask M, MN. Furthermore, an idle phase between two valid value sequences is introduced. The idle phase is a precharge state, also called "precharge", between two evaluation phases, also referred to below as calculation cycles, resulting in an alternating sequence of the two states, as with unencrypted dual rail:
Evaluate → Idle → Evaluate → Idle → Evaluate → Idle → Evaluate ...
Dabei
wird folgender Effekt ausgenutzt:
Beim Übergang von einem Idle-Zustand
zu einem gültigen
Wert in der Evaluate-Phase können
nur steigende Flanken auftreten:
(0/0 → (1/0)
(0/0 → (0/1)The following effect is exploited:
When transitioning from an idle state to a valid value in the Evaluate phase, only rising edges can occur:
(0/0 → (1/0)
(0/0 → (0/1)
Es geht gemäß Definition bei dieser Übergangsphase kein physikalisches Signal von high nach low zurück.It goes by definition at this transitional stage no physical signal from high to low.
Entsprechendes
gilt für
den Übergang
eines gültigen
Wertes in einen Idle-Zustand.
(1/0 → (0/0)
(0/1 → (0/0)The same applies to the transition of a valid value to an idle state.
(1/0 → (0/0)
(0/1 → (0/0)
Eine
Wertetabelle für
eine XOR-Verknüpfung
gemäß einer
solchen maskierten Dual-Rail-Technik ist in
Es hat sich herausgestellt, dass aufgrund von Glitches, die in jeder CMOS-Schaltung auftreten, eine maskierte Dual-Rail-Schaltung trotzdem angreifbar ist.It It has been proven that due to glitches in each CMOS circuit occur, a masked dual-rail circuit anyway is vulnerable.
Insbesondere können bei einem Übergang von einem Berechnungszyklus, also einem Zyklus mit gültigen Datenwerten an den Eingängen, in einen Vorladezyklus, also einem Zyklus in dem an den Eingängen Vorladewerte anliegen, oder bei einem umgekehrten Übergang Störimpulse auftreten.Especially can at a transition from a calculation cycle, ie a cycle with valid data values at the entrances, in a precharge cycle, ie a cycle in the precharge values at the inputs applied, or in a reverse transition glitches occur.
Dies ist insbesondere dann der Fall, wenn beim Übergang vom Berechnungszyklus in den Vorladezyklus an einem Eingangssignal bereits der Vorladewert anliegt an dem anderen Eingangssignal jedoch noch ein gültiger Datenwert anliegt. In diesem Fall kann am Ausgang bereits ein Vorladewert oder aber auch noch ein Datenwert ausgegeben werden. Es ist auch nicht ausgeschlossen, das bei dem Übergang zwischenzeitlich mehrere unterschiedliche Datenwerte am Ausgang ausgegeben werden, bevor letztendlich Vorladewerte am Ausgang ausgegeben werden. Die gleiche Problematik tritt beim Übergang von Vorladezyklus auf den Berechnungszyklus auf. Liegt an einem der Eingänge bereits ein gültiger Datenwert an, an dem anderen Eingang jedoch noch ein Vorladewert, so ist wiederum offen, ob an dem Ausgang bereits ein gültiger Datenwert, wechselnde Datenwerte oder noch ein Vorladewert anliegt. Diese Unsicherheiten können zu Störimpulsen führen und bieten einen Angriffspunkt für neueste Angriffsszenarien bei denen durch eine höhere zeitliche Auflösung des Stromverbrauchs einer Schaltung versucht wird, unterschiedliche Schaltzeitpunkte zu erkennen und dann den Stromverlauf entsprechend zu bewerten.This is especially the case when transitioning from the calculation cycle in the precharge cycle at an input signal already the precharge however, there is still a valid data value at the other input signal is applied. In this case, a precharge value may already be available at the output or even a data value is output. It is also not excluded in the transition in the meantime several different data values are output at the output before Finally, preload values are output at the output. The same Problem occurs at the transition from precharge cycle to the calculation cycle. Is at one the inputs already a valid one Data value, but at the other input still a preload value, so it is again open, whether at the exit already a valid data value, changing data values or even a preload value is present. These uncertainties can to interference pulses lead and provide a point of attack for latest attack scenarios where by a higher temporal resolution of the Power consumption of a circuit is trying different To detect switching times and then the current curve accordingly to rate.
US 2002/0101262 A1 zeigt eine Logikschaltung zur Berechnung eines Ergebnisoperanden aus Eingangsoperanden. Die Schaltung weist entsprechende Eingänge und Ausgänge zum Empfangen der Eingangsoperanden sowie zum Ausgeben des Ergebnisoperanden auf. Zudem weist die Schaltung eine erste Logikstufe und eine zweite Logikstufe mit entsprechenden Zwischenknoten auf. Der Ergebnisoperand nimmt einen „Haltewert" ein, sobald einer der Eingangsoperanden diesen „Haltewert" einnimmt.US 2002/0101262 A1 shows a logic circuit for calculating a result operand from input operands. The circuit has corresponding inputs and outputs for receiving the input operands and for outputting the result operand on. In addition, the circuit has a first logic stage and a second Logic level with corresponding intermediate nodes. The result operand takes a "hold value" as soon as one the input operand assumes this "hold value".
Es ist die Aufgabe der vorliegenden Erfindung, eine Schaltung und ein Verfahren zum Berechnen einer logischen Verknüpfung von verschlüsselten Eingangsoperanden zu schaffen, die eine sichere Verarbeitung der Operanden ermöglichen.It The object of the present invention is a circuit and a Method for calculating a logical connection of encrypted To create input operands that secure processing of Enable operands.
Diese Aufgabe wird durch eine Schaltung gemäß Anspruch 1 und ein Verfahren gemäß Anspruch 14 gelöst.These The object is achieved by a circuit according to claim 1 and a method according to claim 14 solved.
Die
vorliegende Erfindung schafft eine Schaltung zum Berechnen einer
logischen Verknüpfung
zweier Eingangsoperanden, mit:
einem ersten Eingang zum Empfangen
eines ersten Dual-Rail-Signals,
das in einem Berechnungszyklus Datenwerte des ersten Eingangs und
in einem Vorladezyklus Vorladewerte aufweist;
einem zweiten
Eingang zum Empfangen eines zweiten Dual-Rail-Signals, das in dem Berechnungszyklus
Datenwerte des zweiten Eingangs und in dem Vorladezyklus Vorladewerte
aufweist;
einem dritten Eingang zum Empfangen eines Dual-Rail-Verschlüsselungssignals,
das in dem Berechnungszyklus Verschlüsselungswerte und in dem Vorladezyklus
Vorladewerte aufweist;
einen Ausgang zum Ausgeben eines verschlüsselten
Dual-Rail-Ergebnissignals,
das in dem Berechnungszyklus verschlüsselte Ergebniswerte und in
dem Vorladezyklus Vorladewerte aufweist;
wobei die Datenwerte
des ersten und zweiten Dual-Rail-Signals und die verschlüsselten
Ergebniswerte des Dual-Rail-Ergebnissignals
mit den Verschlüsselungswerten
des Dual-Rail-Verschlüsselungssignals
gemäß einer
Verschlüsselungsvorschrift
verschlüsselt
sind;
einer Logikschaltung zum Bestimmen der verschlüsselten
Ergebniswerte gemäß der logischen
Verknüpfung aus
den Datenwerten des ersten Eingangs und des zweiten Eingangs und
den Verschlüsselungswerten,
und zum Ausgeben der verschlüsselten
Ergebniswerte in dem Berechnungszyklus am Ausgang; und
einer
Vorladeschaltung, die ausgebildet ist, um Vorladewerte in dem Ausgang
bereits dann einzuprägen,
wenn Vorladewerte an einem einzigen Eingang erfasst werden, oder
die ausgebildet ist, um ein Einprägen der Vorladewerte erst dann
zu beenden, wenn das erste Dual-Rail-Signal und das zweite Dual-Rail-Signal Datenwerte aufweisen
und das Verschlüsselungssignal
Verschlüsselungswerte
aufweist.The present invention provides a circuit for calculating a logical operation of two input operands, comprising:
a first input for receiving a first dual rail signal having data values of the first input in a calculation cycle and precharge values in a precharge cycle;
a second input for receiving a second dual-rail signal, which in the calculation cycle Da having values of the second input and precharge values in the precharge cycle;
a third input for receiving a dual rail encryption signal having encryption values in the calculation cycle and precharge values in the precharge cycle;
an output for outputting an encrypted dual rail result signal having result values encrypted in the calculation cycle and precharge values in the precharge cycle;
wherein the data values of the first and second dual-rail signals and the encrypted result values of the dual-rail result signal are encrypted with the encryption values of the dual-rail encryption signal according to an encryption rule;
a logic circuit for determining the encrypted result values according to the logical combination of the data values of the first input and the second input and the encryption values, and for outputting the encrypted result values in the calculation cycle at the output; and
a precharge circuit, which is designed to already impress precharge values in the output when precharge values are detected at a single input, or which is designed to terminate an impressing of the precharge values only when the first dual rail signal and the second dual rail signal data values and the encryption signal comprises encryption values.
Die
vorliegende Erfindung schafft ferner ein Verfahren zum Berechnen
einer logischen Verknüpfung zweier
Eingangsoperanden mit den Schritten:
Empfangen eines ersten
Dual-Rail-Signals, an einem ersten Eingang, das in einem Berechnungszyklus
Datenwerte des ersten Eingangs und in einem Vorladezyklus Vorladewerte
aufweist;
Empfangen eines zweiten Dual-Rail-Signals an einem
zweiten Eingang, das in dem Berechnungszyklus Datenwerte des zweiten
Eingangs und in dem Vorladezyklus Vorladewerte aufweist;
Empfangen
eines Dual-Rail-Verschlüsselungssignals,
das in dem Berechnungszyklus Verschlüsselungswerte und in dem Vorladezyklus
Vorladewerte aufweist;
Bestimmen von verschlüsselten
Ergebniswerten gemäß der logischen
Verknüpfung
aus den Datenwerten des ersten Eingangs und des zweiten Eingangs
und den Verschlüsselungswerten
und ausgeben der verschlüsselten
Ergebniswerte in dem Berechnungszyklus an einem Ausgang zum Ausgeben
eines Dual-Rail-Ergebnissignals,
das in dem Berechnungszyklus die verschlüsselten Ergebniswerte und in
dem Vorladezyklus Vorladewerte aufweist;
wobei die Datenwerte
des ersten und zweiten Dual-Rail-Signals und die Ergebniswerte des
dritten Dual-Rail-Signals mit den Verschlüsselungswerten des Dual-Rail-Verschlüsselungssignals
gemäß einer
Verschlüsselungsvorschrift
verschlüsselt
sind;
Einprägen
von Vorladewerten am Ausgang bereits dann, wenn Vorladewerte an
einem einzigen Eingang erfasst werden, oder Beenden des Einprägens der
Vorladewerte erst dann, wenn das erste und das zweite Dual-Rail-Signal
Datenwerte und das Dual-Rail-Verschlüsselungssignal Verschlüsselungswerte
aufweisen.The present invention further provides a method for calculating a logical operation of two input operands, comprising the steps of:
Receiving a first dual rail signal at a first input having data values of the first input in a calculation cycle and precharge values in a precharge cycle;
Receiving a second dual rail signal at a second input having data values of the second input in the calculation cycle and precharge values in the precharge cycle;
Receiving a dual rail encryption signal having encryption values in the calculation cycle and precharge values in the precharge cycle;
Determining encrypted result values according to the logical combination of the data values of the first input and the second input and the encryption values and outputting the encrypted result values in the calculation cycle at an output for outputting a dual rail result signal containing the encrypted result values in the calculation cycle and having precharge values in the precharge cycle;
wherein the data values of the first and second dual-rail signals and the result values of the third dual-rail signal are encrypted with the encryption values of the dual-rail encryption signal according to an encryption rule;
Imposing pre-charge values at the output already when precharge values are detected at a single input, or terminating the memorization of the precharge values only when the first and second dual-rail signals have data values and the dual-rail encryption signal has encryption values.
Der erfindungsgemäße Ansatz erweitert die Wertetabellen gemäß dem Stand der Technik um den Fall, dass sobald ein beliebiges Dual-Rail-Eingangspaar Vorladewerte aufweist, auch der Gatter-Ausgang Vorladewerte aufweist. Umgekehrt bedeutet die Erweiterung auch, dass das Dual-Rail-Ausgangspaar erst dann den Vorladezustand verlässt, wenn sich kein Eingang mehr im Vorladezustand befindet.Of the inventive approach extends the value tables according to the state the technique to the case that once any dual-rail input pair Vorladewerte also has the gate output preload values. Conversely, the extension also means that the dual-rail output pair only then leaves the precharge state, if there is no input more in pre-charge state.
Durch Anwendung dieser Erweiterungen wird der zu messende Stromverlauf wesentlich zwischen unterschiedlichen Eingangswechseln harmonisiert.By Application of these extensions becomes the current waveform to be measured substantially harmonized between different input changes.
Zusätzlich führen sogenannte „Don't care"-Zustände auf der Eingangsseite einer solchen erfindungsgemäßen Wertetabelle zu einer Vereinfachung der erfindungsgemäßen Schaltung. Bei den „Don't care"-Zuständen handelt es sich um Zustände, bei denen mindestens eines der Eingangssignal Vorladewerte aufweist. In diesem Fall werden die übrigen Eingangssignale nicht weiter beachtet, da auf dem Ausgang, unabhängig von den anderen Eingangssignalen, Vorladewerte eingeprägt werden.In addition, so-called "do not care" states occur the input side of such a value table according to the invention for simplicity the circuit according to the invention. In the "do not care" states they are states, in which at least one of the input signal has precharge values. In In this case, the rest Input signals disregarded, since on the output, regardless of the other input signals, preload values are impressed.
Der erfindungsgemäße Ansatz ermöglicht Gatter-Implementierungen, die zu jedem Zeitpunkt getrieben sind. D.h., es liegt kein dynamischer Zustand vor. Somit ist eine Bibliothek, die auf diesen Gatter-Implementierungen basiert, geeignet für die Synthese einer Schaltung.Of the inventive approach allows Gate implementations, which are driven at any time. That is, there is no dynamic Condition before. Thus, a library is based on these gate implementations based, suitable for the synthesis of a circuit.
Die vorgeschlagene Schaltungstechnik verhindert, dass ein Zeitpunkt einer Änderung des Ausgangsdatums von den einzelnen Zeitpunkten der Änderung der Eingangsdaten abhängt. Ferner werden Hazards, also Störeffekte bzw. Glitches, also Störimpulse während Umschaltvorgängen vermieden. Damit wird verhindert, dass bei Messung des Stromflusses Rückschlüsse auf die prozessierten Daten gelingen.The proposed circuitry prevents a timing a change the starting date of each time of change depends on the input data. Furthermore, hazards, ie parasitics or glitches, ie glitches while switchover avoided. This prevents when measuring the current flow Conclusions on the processed data succeed.
Dabei liegt der vorliegenden Erfindung die Erkenntnis zugrunde, dass der Übergang von einem Berechnungszyklus, auch Evaluate genannt, in einen Vorladezyklus, auch Idle genannt, geschieht, sobald das erste Eingangssignal in den Vorladezustand geht. Ferner darf ein Übergang vom Vorladezyklus in den Berechnungszyklus erst dann geschehen, wenn das letzte Eingangssignal auch in dem Berechnungszustand gegangen ist. Auch wenn sich funktionell keine weiteren Änderungen ergeben würden, darf sich das Ausgangssignal nicht frühzeitig ändern.The present invention is based on the finding that the transition from a Be Calculation cycle, also called Evaluate, in a pre-charge cycle, also called idle, happens as soon as the first input signal goes into the pre-charge state. Furthermore, a transition from the precharge cycle into the calculation cycle must not occur until the last input signal has also gone into the calculation state. Even if there were no further functional changes, the output signal must not change at an early stage.
Somit wird die Ausgangsänderung, vom letzten Eingang ausgelöst und es wird die Beobachtbarkeit weiter reduziert, da ein frühzeitiger Wechsel datenabhängig wäre.Consequently becomes the output change, triggered by the last input and the observability is further reduced as an early one Change data-dependent would.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend bezugnehmend auf die beiliegenden Zeichnungen näher erläutert. Es zeigen:preferred embodiments The present invention will be described below with reference to FIGS enclosed drawings closer explained. Show it:
In der nachfolgenden Beschreibung der bevorzugten Ausführungsbeispiele der vorliegenden Erfindung werden für die in den verschiedenen Zeichnungen dargestellten und ähnlich wirkenden Elementen gleiche oder ähnliche Bezugszeichen verwendet, wobei eine wiederholte Beschreibung dieser Elemente weggelassen wird.In the following description of the preferred embodiments of the present invention are for those in the various Drawings shown and similar acting elements have the same or similar reference numerals, omitting a repeated description of these elements becomes.
Die
in
Die
in
Die
Logikschaltung
Die
Vorladeschaltung
Durch
den erfindungsgemäßen Ansatz
wird sichergestellt, dass das Ausgangssignal ZM, ZMN einen Vorladewert,
hier logisch 0, aufweist, sobald das erste Eingangssignal, in diesem
Fall das Eingangssignal AM, AMN den Vorladewert annimmt. Dies wird
durch die in
In diesem Ausführungsbeispiel wird ein logisch erster Zustand 1 physikalisch durch ein hohes Spannungspotential VDD und ein zweiter logischer Zustand 0 durch ein niedriges Spannungspotential VSS realisiert.In this embodiment becomes a logical first state 1 physically by a high voltage potential VDD and a second logic state 0 by a low voltage potential VSS realized.
Die
Vorladeschaltung
Die
Logikschaltung
Bei
der Logikschaltung
Gemäß dem erfindungsgemäßen Ansatz
ist die in
Durch eine Spezialisierung der Ausgangswerte auf 0/0 anstelle von dc/dc bei Idle-Inputs, d.h. bei Eingangssignalen, die Vorladewerte aufweisen, wird die erfindungsgemäße Schaltung zwar größer, aber der Umschaltzeitpunkt ist unabhängig von den Eingangsdaten immer derselbe.By specializing the output values at 0/0 instead of dc / dc at idle inputs, ie at input signals having precharge values, the circuit according to the invention becomes larger, but the Um Switching time is always the same regardless of the input data.
Die Gatter können dabei so implementiert werden, dass der Pull-Up-Netzwerk nur den Vorladezustand codiert und damit unabhängig von der zu implementierenden Funktion ist. Die Zellen können deshalb zur Hälfte wieder verwendet werden.The Gates can be implemented so that the pull-up network only the Precharge state coded and thus independent of the implementation Function is. The cells can therefore half again be used.
Zusätzlich führen die „don't Gares" auf der Eingangsseite der Wertetabelle zu einer Vereinheitlichung des Pull-Up Netzwerkes, das heißt, dass für alle Logikfunktionen das Pull-Up-Netzwerk gleich ist und deshalb wieder verwendet werden kann.In addition, the "do not gares" on the input page the table of values for a standardization of the pull-up network, this means, that for all logic functions the pull-up network is the same and therefore can be used again.
Das Pull-Down Netzwerk muss allerdings insoweit erweitert werden, dass immer nur maximal ein Pfad durchgängig aktiviert ist. Damit werden floatende Zustände und Kurzschlüsse vermieden.The However, the pull-down network has to be extended to the extent that Only one maximum path is activated continuously. With that floating states and short circuits avoided.
Der erfindungsgemäße Ansatz wurde hier beispielhaft an einer Wertetabelle für eine XOR2-Funktion erläutert. Entsprechende Wertetabellen lassen sich ebenso für andere logische Funktionen aufstellen.Of the inventive approach was explained here by way of example on a value table for an XOR2 function. Appropriate Tables of values can also be used for other logical functions put up.
Liegt
an den Eingangssignalen AM, AMN, BM, BMN und dem Verschlüsselungssignal
M, MN ein gültiger
Datenwert bzw. Verschlüsselungswert
an, so sperren die Vergleichseinrichtungen
Die
Die
in den
Zur
Realisierung der UND-Verknüpfung
sind zwischen dem Knoten ZMN_INT und dem Potentialanschluss GND
drei Transistoren in Reihe geschaltet, deren Gates von den Signalen
M, AMN und BMN angesteuert sind. Parallel dazu ist eine weitere
Transistorschaltung angeordnet, mit einem ersten Transistor, dessen Drain-Anschluss
mit dem Knoten ZMN_INT und dessen Gate-Anschluss mit dem Signal MN verbunden
ist. Der Source-Anschluss
dieses Transistors ist über
eine erste oder eine zweite Transistorreihenschaltung mit dem Massepotential
GND verbunden. Die erste Reihenschaltung besteht aus zwei Transistoren,
deren Gate-Anschlüsse
mit dem Signal AM bzw. BMN verbunden sind. Die zweite Reihenschaltung
besteht aus zwei Transistoren, deren Gate-Anschlüsse mit dem Signal AMN bzw.
dem Signal BM verbunden sind. Die Drain-Anschlüsse der beiden Transistoren
Der Zwischenknoten ZMN_INT ist über eine Reihenschaltung dreier Transistoren, deren Gate-Anschlüsse mit dem Signal M, BM, AMN angesteuert sind, mit dem Massepotential GND verbunden. Der Drain-Anschluss des von dem Signal M angesteuerten Transistors ist mit dem Source-Anschluss eines weiteren Transistors verbunden, der von dem Signal BMN angesteuert wird, dessen Drain-Anschluss wiederum mit dem Source-Anschluss eines Transistors verbunden ist, der von dem Signal AM angesteuert wird, wobei dessen Drain-Anschluss mit dem Knoten ZMN_INT verbunden ist. Eine entsprechende Schaltung ist zwischen dem Knoten ZM_INT und dem Massepotential GND angeordnet, wobei die sich entsprechenden Transistoren wiederum von den jeweils invertierten Signalen angesteuert werden. Ferner besteht eine Verbindung zwischen den Source-Anschlüssen der sich entsprechenden Transistoren, die direkt mit den Zwischenknoten ZMN_INT, ZM_INT verbunden sind.The intermediate node ZMN_INT is connected to the ground potential GND via a series circuit of three transistors whose gate terminals are driven by the signal M, BM, AMN. The drain terminal of the transistor M controlled by the signal M is connected to the source terminal of a further transistor, which is driven by the signal BMN whose drain terminal is in turn connected to the source terminal of a transistor which is connected to the signal AM is driven, wherein its drain terminal is connected to the node ZMN_INT. A corresponding circuit is arranged between the node ZM_INT and the ground potential GND, wherein the corresponding transistors are in turn driven by the respectively inverted signals. Furthermore, there is a connection between the source terminals of the corresponding transistors which are connected directly to the intermediate nodes ZMN_INT, ZM_INT are connected.
Die
exakte Verschaltung der in den
Die
in den
Alle
Gatter in einer auf diesem Ausführungsbeispiel
basierenden Libray haben die gleiche Struktur, die sich in drei
Gruppen aufteilt. Ein Pull-down-Netzwerk
Durch das Pull-up-Netzwerk ist der Vorladezustand immer definiert, solange mindestens ein Eingang im Vorladezustand ist.By the pull-up network is always pre-charged, as long as is at least one input in the pre-charge state.
Durch das Pull-down-Netzwerk wird im Evaluierungsfall, also dem Berechnungszyklus, nur entweder der ZMN_INT-Knoten oder oder ZM_INT-Knoten entladen. Die Pull-down-Netzwerke sind so entworfen, dass maximal nur ein Pfad auf das niedrige Spannungspotential, also nach VSS durchgeschaltet ist, da sonst unterschiedliche Entladungsströme bei unterschiedlichen Eingangskombinationen fließen würden.By the pull-down network is used in the evaluation case, ie the calculation cycle, only unload either the ZMN_INT node or or ZM_INT node. The pull-down networks are designed to be a maximum of only one Path to the low voltage potential, so switched to VSS is, otherwise different discharge currents at different input combinations flow would.
Die
Netzwerke zur Entladung der Knoten ZMN_INT bzw. ZM_INT können, sofern
dies die Funktion zulässt,
in Teilen dieselben Transistoren nutzen, beispielsweise bei dem
in
Dadurch dass bei den Dual-Rail-Schaltungstechniken im Evaluierungszustand immer differentielle Werte angenommen werden 1/0 oder 0/1, kann durch Vertauschen der beiden Ausgangsleitungen ZM, ZMN eine logische Invertierung des Gatters erreicht werden. Werden weiterhin auch noch die Eingangspaare AM, AMN und BM, BMN vertauscht, können mit zwei unterschiedlichen Pull-down-Netzwerken alle möglichen Logikfunktionen mit zwei Eingängen abgebildet werden. Für die Abbildung aller Logikfunktionen mit drei Eingängen werden nur fünf Strukturen benötigt.Thereby that in the dual-rail circuit techniques in the evaluation state always differential values can be assumed 1/0 or 0/1, can by exchanging the two output lines ZM, ZMN a logical Inversion of the gate can be achieved. Will continue too still the input pairs AM, AMN and BM, BMN reversed, can with two different pull-down networks all possible Logic functions with two inputs be imaged. For The illustration of all logic functions with three inputs only five Structures needed.
Zusätzlich wird jedes Mal der Mask-Dual-Rail Eingang benötigt. Somit sind die entsprechenden Pull-Up Netzwerke jeweils um einen zusätzlichen P-Pfad ergänzt, dessen Gates mit den Signalen „M" und „MN" verbunden sind.In addition will every time the mask dual rail input is needed. Thus, the corresponding pull-up Networks each with an additional P-path added, whose gates are connected to the signals "M" and "MN".
Funktionen mit mehreren Eingängen lassen sich entsprechend realisieren.features with several inputs can be realized accordingly.
Die
in den
- 102102
- Vorladeschaltungprecharge circuit
- 104104
- Logikschaltunglogic circuit
- 106a, 106b106a, 106b
- Inverterpaarinverter pair
- 510a, 510b, 510c510a, 510b, 510c
- Vergleichseinrichtungencomparators
- 512512
- Haltegliedretaining member
- 720720
- Entladetransistordischarging
- AM, AMNAT THE, AMN
- erstes Dual-Rail-Signalfirst Dual-rail signal
- BM, BMNBM, BMN
- zweites Dual-Rail-Signalsecond Dual-rail signal
- ZM, ZMNZM, ZMN
- Dual-Rail-ErgebnissignalDual-rail result signal
- CM, CMNCM, CMN
- weiteres Dual-Rail-Signaladditional Dual-rail signal
- M, MNM, MN
- Verschlüsselungssignalencryption signal
- ZMN_INT, ZM_INTZMN_INT, ZM_INT
- Dual-Rail-ZwischenknotenDual-rail intermediate node
- VDDVDD
- erster Potentialanschlussfirst potential terminal
- VSS, GNDVSS, GND
- zweiter Potentialanschlusssecond potential terminal
Claims (14)
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102005037356A DE102005037356B3 (en) | 2005-08-08 | 2005-08-08 | Two coded input operand`s logic function evaluating circuit for safety-relevant application, has summoning circuit terminating memorizing when two dual rail signals have data values and coding signal has coding values |
US11/461,935 US7881465B2 (en) | 2005-08-08 | 2006-08-02 | Circuit and method for calculating a logic combination of two encrypted input operands |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102005037356A DE102005037356B3 (en) | 2005-08-08 | 2005-08-08 | Two coded input operand`s logic function evaluating circuit for safety-relevant application, has summoning circuit terminating memorizing when two dual rail signals have data values and coding signal has coding values |
Publications (1)
Publication Number | Publication Date |
---|---|
DE102005037356B3 true DE102005037356B3 (en) | 2006-12-14 |
Family
ID=37440247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE102005037356A Expired - Fee Related DE102005037356B3 (en) | 2005-08-08 | 2005-08-08 | Two coded input operand`s logic function evaluating circuit for safety-relevant application, has summoning circuit terminating memorizing when two dual rail signals have data values and coding signal has coding values |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102005037356B3 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020101262A1 (en) * | 2001-01-31 | 2002-08-01 | A-I-L Corporation | Logical circuit |
DE10344647B3 (en) * | 2003-09-25 | 2005-02-17 | Infineon Technologies Ag | Dual-rail signal circuit device e.g. for chip card security applications, has dual-rail data input signals with similar values provided as pre-charge signal to obtain dual-rail data output signal having same values |
-
2005
- 2005-08-08 DE DE102005037356A patent/DE102005037356B3/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020101262A1 (en) * | 2001-01-31 | 2002-08-01 | A-I-L Corporation | Logical circuit |
DE10344647B3 (en) * | 2003-09-25 | 2005-02-17 | Infineon Technologies Ag | Dual-rail signal circuit device e.g. for chip card security applications, has dual-rail data input signals with similar values provided as pre-charge signal to obtain dual-rail data output signal having same values |
Non-Patent Citations (1)
Title |
---|
MANGARD, S. et al.: Side-Channel Leakage of Mas- ked CMOS Gates. In: Proc. RSA Conference,Feb.2005 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE4115081A1 (en) | LOGIC CIRCUIT FOR ASYNCHRONOUS CIRCUITS WITH N-CHANNEL LOGIC BLOCK AND INVERSE P-CHANNEL LOGIC BLOCK | |
DE102007009526B4 (en) | Device for storing a binary state | |
DE102016120009B4 (en) | DIGITAL CIRCUIT AND METHOD FOR PRODUCING A DIGITAL CIRCUIT | |
DE102005037357B3 (en) | Logic circuit for calculating result operand esp. for safety-sensitive applications, has two logic stages with first between input and intermediate node, and second between intermediate nodes and output | |
DE2707451A1 (en) | SETUP AND PROCEDURE FOR ADDING AT LEAST TWO BINARY NUMBERS CONSISTING OF MULTIPLE BITS | |
DE10019698C2 (en) | Device for performing a sum-and-compare operation | |
DE4305677A1 (en) | Test circuit, esp. for LSI circuits - has clock, test data and test control inputs, and is connected between two circuit stages | |
EP0834117B1 (en) | Circuit for comparing two electrical quantities provided by a first neuron mos field effect transistor and a reference source | |
DE102005037355B3 (en) | Circuit to calculate a logical connection between two input operations for high security uses processes inputs for dual-rail signals using logic and precharge circuits | |
DE10244738B3 (en) | Dual-rail input conversion device providing one-hot output used for cryptographic applications operated in data mode or pre-charge or pre-discharge mode via control device | |
DE19709229A1 (en) | A timing-consistent dynamic comparison with a positive miss circuit | |
DE10344647B3 (en) | Dual-rail signal circuit device e.g. for chip card security applications, has dual-rail data input signals with similar values provided as pre-charge signal to obtain dual-rail data output signal having same values | |
DE102005037356B3 (en) | Two coded input operand`s logic function evaluating circuit for safety-relevant application, has summoning circuit terminating memorizing when two dual rail signals have data values and coding signal has coding values | |
DE102004009144B4 (en) | A logic cell and method for performing a dual rail logic operation and storage medium | |
DE10217375B4 (en) | Circuit arrangement and method for generating a dual-rail signal | |
DE10202725B4 (en) | Integrated circuit and circuit arrangement for converting a single-rail signal into a dual-rail signal | |
DE10227618B4 (en) | logic circuit | |
DE10224742B4 (en) | Data processing circuit and method for transmitting data | |
DE102004020576B4 (en) | Data processing device with switchable charge neutrality and method for operating a dual-rail circuit component | |
DE3913801C2 (en) | Logic gate | |
EP0834116B1 (en) | Circuit for comparing two electrical quantities | |
WO2007012102A2 (en) | Method and circuit for carrying out calculation operations secure from bugging | |
DE19960047B4 (en) | Method and unit for secure information handling in a cryptographic information processing system | |
DE102006058169A1 (en) | Integrated semiconductor circuit | |
DE19841203C1 (en) | Digital logic circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8100 | Publication of patent without earlier publication of application | ||
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |