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 PDF

Info

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
Application number
DE102005037356A
Other languages
German (de)
Inventor
Antoine Degrendel
Winfried Kamp
Manfred Roth
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infineon Technologies AG filed Critical Infineon Technologies AG
Priority to DE102005037356A priority Critical patent/DE102005037356B3/en
Priority to US11/461,935 priority patent/US7881465B2/en
Application granted granted Critical
Publication of DE102005037356B3 publication Critical patent/DE102005037356B3/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/02Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
    • H03K19/08Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using semiconductor devices
    • H03K19/094Logic 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/096Synchronous circuits, i.e. using clock signals
    • H03K19/0963Synchronous circuits, i.e. using clock signals using transistors of complementary type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/75Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
    • G06F21/755Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic 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/21EXCLUSIVE-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/215EXCLUSIVE-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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • G06F2207/7233Masking, e.g. (A**e)+r mod n
    • G06F2207/7238Operand masking, i.e. message blinding, e.g. (A+r)**e mod n; k.(P+R)
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7266Hardware 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

The circuit has a logic circuit determining coded output values based on logic function from data values of two inputs and coding values and outputting the output values in a computation cycle. A summoning circuit (102) memorizes summoning values in an output if the summoning values are detected at the output or terminates the memorizing when two dual rail signals have data values and a dual rail coding signal has coding values. An independent claim is also included for a method of evaluating a logic function of a two coded input operand.

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 DE 103 44 647 B3 beschrieben. Die Dual-Rail-Signale weisen dabei zwischen gültigen Datenwerten Vorladesignale mit Vorladewerten auf. Gültige Datenwerte sind dadurch charakterisiert, dass auf beiden Einzelsignalen des Dual-Rail-Signals jeweils zueinander invertierte logische Zustände. Vorladewerte sind dadurch charakterisiert, dass auf den beiden Signalen eines Dual-Rail-Signals gleiche logische Zustände herrschen. Gemäß der Patentschrift werden die an den Eingängen der Schaltungsanordnung anliegenden Vorladewerte auf einen Ausgang der Schaltungsanordnung durchgereicht.A static implementation of a circuit arrangement for processing two dual-rail signals is in the patent DE 103 44 647 B3 described. In this case, the dual rail signals have precharge signals with precharge values between valid data values. Valid data values are characterized in that in each case mutually inverted logical states on both individual signals of the dual-rail signal. Precharging values are characterized by the fact that identical logic states prevail on the two signals of a dual rail signal. According to the patent, the precharging values applied to the inputs of the circuit arrangement are passed through to an output of the circuit arrangement.

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.

14 zeigt ein Blockschaltbild einer solchen Logikzelle mit den maskierten Eingängen A, B, einen Eingang für die Maske M und einen Ausgang zum Ausgeben des verschlüsselten Ausgangssignals Z. 14 shows a block diagram of such a logic cell with the masked inputs A, B, an input for the mask M and an output for outputting the encrypted output signal Z.

Die dabei zugrunde liegende Maskierung wird anhand der 15a und 15b beschrieben.The underlying masking is based on the 15a and 15b described.

15a zeigt eine Wertetabelle für eine XOR-Verknüpfung. Dabei sind die Signale A, B, Z nicht verschlüsselt. Die Wertetabelle für die XOR2-Verknüpfung basiert auf der Funktionsgleichung A xor B = Z. 15a shows a value table for an XOR operation. The signals A, B, Z are not encrypted. The table of values for the XOR2 operation is based on the function equation A xor B = Z.

15b zeigt eine Wertetabelle einer XOR-Verknüpfung für maskierte Signale AM, BM, ZM, wobei die Maske M verwendet wird. Bei der Verschlüsselung bzw. Maskierung handelt es sich um eine XOR-Verknüpfung der Signale AM, BM, ZM mit dem Wert der Maske M. Es gilt also AM = A XOR M; BM = B XOR M; ZM = Z XOR M. Die gezeigte Wertetabelle der maskierten XOR2-Verknüpfung basiert auf der Funktionsgleichung ((AM xor M) xor (BM xor M)) xor M = ZM. 15b shows a table of values of an XOR operation for masked signals AM, BM, ZM, using the mask M. The encryption or masking is an XOR combination of the signals AM, BM, ZM with the value of the mask M. Thus, AM = A XOR M; BM = B XOR M; ZM = Z XOR M. The table of values of the masked XOR2 link shown is based on the function equation ((AM xor M) xor (BM xor M)) xor M = ZM.

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 15c gezeigt. Gemäß dieser Wertetabelle befinden sich die Ausgänge ZM, ZM_N auf undefinierten Werten, sobald eines der Eingangssignale AM, AM_N, BM, BM_N, M, M_N in den Idle-Zustand geht. Befinden sich alle Eingangssignale im Idle-Zustand, so geht auch das Ausgangssignal ZM, ZM_N in den Idle-Zustand.A table of values for an XOR operation according to such a masked dual-rail technique is shown in FIG 15c shown. According to this value table, the outputs ZM, ZM_N are at undefined values as soon as one of the input signals AM, AM_N, BM, BM_N, M, M_N goes into the idle state. If all input signals are in the idle state, the output signal ZM, ZM_N also goes into the idle state.

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:

1 eine schematische Darstellung einer Schaltung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung; 1 a schematic representation of a circuit according to an embodiment of the present invention;

2 eine zeitliche Darstellung von Berechnungszyklen und Vorladezyklen gemäß einem Ausführungsbeispiel der vorliegenden Erfindung; 2 a timing chart of calculation cycles and precharge cycles according to an embodiment of the present invention;

3 eine schematische Darstellung einer Schaltung gemäß einem weiteren Ausführungsbeispiel der vorliegenden Erfindung; 3 a schematic representation of a circuit according to another embodiment of the present invention;

4 Wertetabelle einer logischen Verknüpfung gemäß einem Ausführungsbeispiel der vorliegenden Erfindung; 4 Value table of a logical operation according to an embodiment of the present invention;

5 und 6 Schaltbilder von Vorladeschaltungen gemäß Ausführungsbeispielen der vorliegenden Erfindung; 5 and 6 Schematics of Vorladeschaltungen according to embodiments of the present invention;

7 bis 13 Schaltbilder von Logikschaltungen gemäß Ausführungsbeispielen der vorliegenden Erfindung; 7 to 13 Circuit diagrams of logic circuits according to embodiments of the present invention;

14 Blockschaltbild einer zur Maskierung verwendeten Logikzelle gemäß dem Stand der Technik; 14 Block diagram of a used for masking logic cell according to the prior art;

15a-b Wertetabellen gemäß dem Stand der Technik; und 15a -b value tables according to the prior art; and

15c Wertetabelle mit einer logischen Grundfunktion die von erfindungsgemäßen Wertetabellen realisiert ist. 15c Value table with a basic logic function realized by value tables according to the invention.

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.

1 zeigt eine Schaltung zum Berechnen einer logischen Verknüpfung zweier verschlüsselten Eingangsoperanden gemäß einem Ausführungsbeispiel der vorliegenden Erfindung. Die Schaltung ist in Dual-Rail-Schaltungstechnik ausgeführt. Dabei wird jedes, auf einer Dual-Rail-Leitung übertragene Bit, durch zwei Knoten dargestellt, wobei jedes Bit einen gültigen logischen Wert aufweist, wenn der erste der beiden Knoten dem wahren logischen Wert dieses Bits entspricht und der zweite der beiden Knoten dem dazu invertierten Wert. Solche gültigen logischen Werte werden im Folgenden als Datenwerte bezeichnet. Zwischen zwei Datenwerten mit gültigen logischen Werten 1,0 oder 0,1 wird ein sog. Vorladezustand, im Englischen auch „Precharge oder Predischarge" genannt, eingefügt. In einem solchen Vorladezustand werden beide Knoten der Dual-Rail-Leitung auf dasselbe elektrische Potential geladen und nehmen logisch ungültige Werte 1,1 oder 0,0 an. Solche logisch ungültigen Werte werden im Folgenden als Vorladewerte bezeichnet. In den folgenden Ausführungsbeispielen werden als Vorladewerte die Zustände 0, 0 angenommen. In diesem Fall sind die Zustände 1,1 nicht erlaubt. Alternativ können als Vorladewerte auch die Zustände 0,0 angenommen werden. In diesem Fall sind die Zustände 1,1 nicht erlaubt. Berechnungszyklen, in denen gültige Datenwerte an der Schaltung anliegen, wechseln sich mit Vorladezyklen ab, in denen ungültige logische Werte in Form von Vorladewerten an der Schaltung anliegen. Liegen an einem Eingang der Schaltung Vorladewerte an, so werden diese auf den Ausgang der Schaltung durchgeschaltet, ohne dass dazu ein zusätzliches Taktsignal oder Vorladesignal erforderlich ist. Gemäß der vorliegenden Erfindung werden am Ausgang der Schaltung Vorladewerte ausgegeben, sobald mindestens an einem Eingang der Schaltung Vorladewerte anliegen. Dies entspricht dem Übergang von einem Berechnungszyklus, indem gültige Datenwerte am Eingang der Schaltung anliegen, in den Vorladezyklus, indem Vorladewerte am Eingang der Schaltung anliegen. Beim Übergang vom Vorladezyklus in den Berechnungszyklus werden am Ausgang der Schaltung solange Vorladewerte ausgegeben, bis an allen Eingängen der Schaltung keine Vorladewerte mehr anliegen. 1 shows a circuit for calculating a logical operation of two encrypted input operands according to an embodiment of the present invention. The circuit is executed in dual rail circuit technology. In this case, each bit transmitted on a dual-rail line is represented by two nodes, each bit having a valid logical value if the first of the two nodes corresponds to the true logical value of that bit and the second of the two nodes is inverted thereto Value. Such valid logical values are referred to below as data values. Between two data values with valid logical values of 1.0 or 0.1, a so-called pre-charge state is inserted, in which case both nodes of the dual-rail line are charged to the same electrical potential and assume logically invalid values 1, 1 or 0.0 Such logically invalid values are referred to below as preload values In the following embodiments, the preload values are assumed to be 0, 0. In this case, the states 1, 1 are not allowed Alternatively, the precharge values can also be assumed to be the states 0.0, in which case the states 1.1 are not allowed.Calculation cycles in which valid data values are applied to the circuit alternate with precharge cycles in which invalid logic values are in the form If there are precharge values at one input of the circuit, they will be applied to the output of the circuit ng, without requiring an additional clock signal or precharge signal is derlich. According to the present invention, precharge values are output at the output of the circuit as soon as precharge values are applied to at least one input of the circuit. This corresponds to the transition from a calculation cycle in which valid data values are present at the input of the circuit to the precharge cycle by applying precharge values to the input of the circuit. During the transition from the precharge cycle into the calculation cycle, precharge values are output at the output of the circuit until no precharge values are applied to all inputs of the circuit.

Die in 1 gezeigte Schaltung basiert auf der maskierten Dual-Rail-Precharge-Logik und arbeitet mit maskierten Eingangssignalen sowie mit einem maskierten Ausgangssignal. Dazu empfängt die Schaltung eine Maske, mit der sowohl die Eingangsignale als auch das auszugebende Ausgangssignal maskiert ist.In the 1 The circuit shown is based on the masked dual-rail precharge logic and operates with masked input signals as well as with a masked output signal. For this purpose, the circuit receives a mask with which both the input signals and the output signal to be output are masked.

Die in 1 gezeigte Schaltung weist eine Vorladeschaltung 102 und eine Logikschaltung 104 auf. Die Schaltung weist einen ersten Eingang zum Empfangen eines ersten Dual-Rail-Signals AM, AMN und einen zweiten Eingang zum Empfangen des Dual-Rail-Signals BM, BMN auf. Ferner weist die Schaltung einen dritten Eingang zum Empfangen eines Dual-Rail- Veschlüsselungssignals M, MN auf. Die Dual-Rail-Signale AM, AMN, BM, BMN weisen den Berechnungszyklus Datenwerte und im Vorladezyklus Vorladewerte auf. Dies bedeutet, dass beispielsweise im Berechnungszyklus auf dem Signal AM eine 0 anliegt und auf dem Signal AMN eine 1 oder auf dem Signal AM eine 1 und auf dem Signal AMN eine 0 anliegt. Im Vorladezyklus liegt auf den Signalen AM, AMN jeweils eine 0 oder eine 1 an. Das Verschlüsselungssignal weist in dem Berechnungszyklus Verschlüsselungswerte und in dem Vorladezyklus Vorladewerte auf. Die Schaltung weist ferner einen Ausgang zum Ausgeben eines Dual-Rail-Signals ZM, ZMN auf. Das Dual-Rail-Ausgangssignal weist ebenso wie die Dual-Rail-Eingangssignale im Berechnungszyklus Datenwerte und im Vorladezyklus Vorladewerte auf. Das Verschlüsselungssignal M, MN enthält die Maske, mit dem die Eingangssignale AM, AMN und BM, BMN verschlüsselt sind und mit der das Ausgangssignal ZM, ZMN verschlüsselt wird. Die Dual-Rail-Signale AM, AMN, BM, BMN, M, MN werden sowohl der Vorladeschaltung 102 als auch der Logikschaltung 104 zugeführt.In the 1 The circuit shown has a precharge circuit 102 and a logic circuit 104 on. The circuit has a first input for receiving a first dual-rail signal AM, AMN and a second input for receiving the dual-rail signal BM, BMN. Furthermore, the circuit has a third input for receiving a dual-rail Vignale signal M, MN. The dual-rail signals AM, AMN, BM, BMN have the calculation cycle data values and precharging values in the precharge cycle. This means that, for example, in the calculation cycle, a 0 is present on the signal AM and a 1 is present on the signal AMN or a 0 on the signal AM and a 0 on the signal AMN. In the precharge cycle, a 0 or a 1 is applied to the signals AM, AMN. The encryption signal has encryption values in the calculation cycle and precharge values in the precharge cycle. The circuit also has an output for outputting a dual-rail signal ZM, ZMN. The dual rail output as well as the dual rail inputs have data values in the calculation cycle and precharge values in the precharge cycle. The encryption signal M, MN contains the mask with which the input signals AM, AMN and BM, BMN are encrypted and with which the output signal ZM, ZMN is encrypted. The dual rail signals AM, AMN, BM, BMN, M, MN are both the precharge circuit 102 as well as the logic circuit 104 fed.

Die Logikschaltung 104 ist ausgebildet, um eine logische Verknüpfung der Werte durchzuführen, die auf den Dual-Rail-Signalen AM, AMN, BM, BMN anliegen. Dabei werden die Verschlüsselungswerte, die auf dem Verschlüsselungssignal M, MN anliegen, berücksichtigt. Die logische Verknüpfung erfolgt dabei in einem Durchgang, d.h. die Eingangssignale AM, AMN, BM, BMN werden nicht zuerst entschlüsselt und dann logisch verknüpft, sondern es wird die logische Verknüpfung gleich basierend auf den verschlüsselten Eingangssignalen AM, AMN, BM, BMN unter Berücksichtigung der Maske M, MN durchgeführt. Ebenso erfolgt eine Verschlüsselung des Ausgangssignals ZM, ZMN nicht in einem nachgeschalteten Verschlüsselungsschritt, sondern wird direkt bei der logischen Verknüpfung der verschlüsselten Eingangssignale AM, AMN, BM, BMN unter Berücksichtigung der Maske M, MN durchgeführt. Das Ergebnis der lo gischen Verknüpfung wird von der Logikschaltung 104 auf den Ausgang der Schaltung gelegt und wird von dem Dual-Rail-Ausgangssignal ZM, ZMN im Berechnungszyklus ausgegeben.The logic circuit 104 is designed to perform a logical combination of the values applied to the dual-rail signals AM, AMN, BM, BMN. In this case, the encryption values which are present on the encryption signal M, MN are taken into account. The logical connection is made in one go, ie the input signals AM, AMN, BM, BMN are not first decrypted and then logically linked, but the logic operation is based on the encrypted input signals AM, AMN, BM, BMN taking into account the Mask M, MN performed. Likewise, an encryption of the output signal ZM, ZMN is not performed in a subsequent encryption step, but is performed directly in the logical combination of the encrypted input signals AM, AMN, BM, BMN, taking into account the mask M, MN. The result of the logic operation is provided by the logic circuit 104 placed on the output of the circuit and is output from the dual rail output signal ZM, ZMN in the calculation cycle.

Die Vorladeschaltung 102 ist ausgebildet, um sicherzustellen, dass der Berechnungszyklus des Dual-Rail-Ausgangssignals ZM, ZMN, in dem die Ergebniswerte der Logikschaltung 104 ausgegeben werden, erst dann beginnt, wenn keines der Eingangssignale AM, AMN, BM, BMN, M, MN mehr Vorladewerte aufweist, bzw. wenn alle der Eingangssignale, AM, AMN, BM, BMN, M, MN gültige Datenwerte bzw. Verschlüsselungswerte aufweisen. Solange an einem der Eingangssignale AM, AMN, BM, BMN, M, MN noch Vorladewerte anliegen und am Eingang der Schaltung erfasst werden, prägt die Vorladeschaltung 102 auf dem Ausgangssignal ZM, ZMN Vorladewerte ein.The precharge circuit 102 is designed to ensure that the calculation cycle of the dual-rail output signal ZM, ZMN, in which the result values of the logic circuit 104 only when none of the input signals AM, AMN, BM, BMN, M, MN has more precharge values, or when all of the input signals AM, AMN, BM, BMN, M, MN have valid data values or encryption values , As long as precharging values are still present at one of the input signals AM, AMN, BM, BMN, M, MN and are detected at the input of the circuit, the precharge circuit impresses 102 on the output signal ZM, ZMN preload values.

2 veranschaulicht einen Übergang vom Berechnungszyklus in den Vorladezyklus und vom Vorladezyklus in einen weiteren Berechnungszyklus. Im Berechnungszyklus liegen an den Eingangssignalen AM/AMN, BM/BMN, M/MN sowie am Ausgangssignal ZM/ZMN gültige Werte an, die in 2 durch A1, B1, M1 und Z1 bezeichnet sind. Die Signale AM, BM, M, ZM weisen einen logischen Zustand 0 oder 1 auf und die dazugehörigen Dual-Rail-Signale AMN, BMN, MN, ZMN weisen den dazu invertierten logischen Zustand auf. Beim Übergang vom Berechnungszyklus in den Vorladezyklus nehmen alle Signale AM, AMN, BM, BMN, ZM, ZMN den gleichen logischen Wert, hier logisch 0 an. 2 illustrates a transition from the calculation cycle to the precharge cycle and from the precharge cycle to another calculation cycle. In the calculation cycle valid values are applied to the input signals AM / AMN, BM / BMN, M / MN and to the output signal ZM / ZMN 2 are denoted by A 1 , B 1 , M 1 and Z 1 . The signals AM, BM, M, ZM have a logic state 0 or 1 and the associated dual-rail signals AMN, BMN, MN, ZMN have the logic state inverted thereto. During the transition from the calculation cycle to the precharge cycle, all signals AM, AMN, BM, BMN, ZM, ZMN assume the same logical value, here logical 0.

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 1 gezeigte Vorladeschaltung 102 gewährleistet. Ohne diese Vorladeschaltung 102 könnten am Ausgang ZM, ZMN noch Datenwerte anliegen, solange das zweite Eingangssignal BM, BMN oder das Verschlüsselungssignal M, MN gültige Datenwerte aufweist. Ferner könnte es in diesem Zeitraum ohne die Vorladeschaltung 102 zu undefinierten Zuständen und Störimpulsen kommen. Die Vorladeschaltung 102 verhindert solche undefinierten Zustände auf dem Ausgangssignal ZM, ZMN, die zu Störimpulsen oder einem mehrfachen Umschalten des Ausgangssignals ZM, ZMN führen könnten. Beim Übergang vom Vorladezyklus in den Berechnungszyklus stellt die Vorladeschaltung 102 ebenfalls sicher, dass das Ausgangssignal ZM, ZMN solange Vorladewerte aufweist, solange noch an mindestens einem der Eingangssignale Vorladewerte anliegen. In diesem Fall bedeutet dies, dass das Ausgangssignal ZM, ZMN erst dann gültige Datenwerte annimmt, wenn die Eingangssignale AM, AMN, BM, BMN und das Verschlüsselungssignal M, MN gültige Datenwerte angenommen haben. Die Vorladeschaltung 102 verhindern somit, dass sich der Ausgang beim Eintreffen einzelner Eingangswerte schon vorab ändert, auch wenn die logische Funktion dies erlauben würde. Die Ausgangsänderung wird erst dann ausgeführt, wenn alle Eingangswerte aus dem Vorladezustand in den bewerteten Zustand übergegangen sind.The approach according to the invention ensures that the output signal ZM, ZMN has a precharge value, here logical 0, as soon as the first input signal, in this case the input signal AM, AMN assumes the precharge value. This is done by the in 1 shown precharge circuit 102 guaranteed. Without this precharge circuit 102 At the output ZM, ZMN, data values may still be present as long as the second input signal BM, BMN or the encryption signal M, MN has valid data values. Further, it could be during this period without the precharge circuit 102 to undefined states and glitches come. The precharge circuit 102 prevents such undefined states on the output signal ZM, ZMN, which could lead to glitches or a multiple switching of the output signal ZM, ZMN. During the transition from the precharge cycle to the calculation cycle, the precharge circuit is set 102 It is also certain that the output signal ZM, ZMN has precharge values as long as precharge values are still applied to at least one of the input signals. In this case, this means that the output signal ZM, ZMN assumes valid data values only when the input signals AM, AMN, BM, BMN and the encryption signal M, MN have accepted valid data values. The precharge circuit 102 thus prevent the output from changing in advance when individual input values arrive, even if the logical function would permit this. The output change is only executed when all input values have changed from the pre-charge state to the evaluated state.

3 zeigt ein weiteres Blockschaltbild einer Schaltung zum Berechnen einer logischen Verknüpfung zweier verschlüsselter Eingangsoperanden gemäß der vorliegenden Erfindung. Die erfindungsgemäße Schaltung weist wiederum eine Vorladeschaltung 102 und eine Logikschaltung 104 auf, die beide ausgebildet sind, um die maskierten Dual-Rail-Signale AM, AMN und BM, BMN sowie das Dual-Rail-Verschlüsselungssignal M, MN zu empfangen. Die Vorladeschaltung 102 als auch die Logikschaltung 104 sind ausgangsseitig mit einem Dual-Rail-Zwischenknoten ZM_INT, ZMN_INT verbunden. Ferner weist die Schaltung ein Inverterpaar 106a, 106b auf, das zwischen den Ausgang der Schaltung und den Zwischenknoten geschaltet sind. Der erste Inverter 106a ist ausgebildet, um einen logischen Zustand des ersten Knoten ZMN_INT des Zwischenknotens zu invertieren und als Ausgangssignal ZMN am Ausgang der Schaltung auszugeben. Der zweite Inverter 106b ist ausgebildet, um einen logischen Zustand des zweiten Knoten ZM_INT des Zwischenknotens zu invertieren und als Ausgangssignal ZM am Ausgang der Schaltung auszugeben. Die noch nicht invertierten Ausgangssignale am Zwischenknoten ZM_INT, ZMN_INT sind bereits mit der Maske M, MN verschlüsselt. 3 shows another block diagram of a circuit for calculating a logical operation of two encrypted input operands according to the present invention. The circuit according to the invention again has a precharge circuit 102 and a logic circuit 104 which are both designed to receive the masked dual-rail signals AM, AMN and BM, BMN and the dual-rail encryption signal M, MN. The precharge circuit 102 as well as the logic circuit 104 are connected on the output side to a dual rail intermediate node ZM_INT, ZMN_INT. Furthermore, the circuit has an inverter pair 106a . 106b on, which are connected between the output of the circuit and the intermediate node. The first inverter 106a is configured to invert a logic state of the first node ZMN_INT of the intermediate node and output as an output signal ZMN at the output of the circuit. The second inverter 106b is configured to invert a logic state of the second node ZM_INT of the intermediate node and output as an output signal ZM at the output of the circuit. The not yet inverted output signals at the intermediate node ZM_INT, ZMN_INT are already encoded with the mask M, MN.

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 102 ist als Pull-up-Netzwerk realisiert, das auf dem Zwischenknoten ZM_INT, ZMN_INT, abhängig von den Eingangssignalen AM, AMN, BM, BMN, M, MN das hohe Spannungspotential VDD einprägt. Dazu ist die Vorladeschaltung 102 mit einem ersten, hohen Potentialanschluss VDD verbunden.The precharge circuit 102 is realized as a pull-up network, which impresses on the intermediate node ZM_INT, ZMN_INT, depending on the input signals AM, AMN, BM, BMN, M, MN, the high voltage potential VDD. This is the Vorladeschaltung 102 connected to a first, high potential terminal VDD.

Die Logikschaltung 104 ist in diesem Ausführungsbeispiel als Pull-down-Netzwerk realisiert, das ausgebildet ist, um den Zwischenknoten ZM_INT, ZMN_INT, abhängig von den Eingangssignalen AM, AMN, BM, BMN, M, MN auf das niedrige elektrische Potential zu ziehen. Dazu ist die Logikschaltung 104 mit einem zweiten, niedrigen Potentialanschluss, in diesem Fall einem Masseanschluss VSS verbunden.The logic circuit 104 is realized in this embodiment as a pull-down network, which is designed to pull the intermediate node ZM_INT, ZMN_INT, depending on the input signals AM, AMN, BM, BMN, M, MN to the low electrical potential. This is the logic circuit 104 to a second, low potential terminal, in this case a ground terminal VSS.

Bei der Logikschaltung 104 kann es sich beispielsweise um eine Logikschaltung handeln, die eine logische XOR-Verknüpfung der verschlüsselten Operanden durchführt, die über die Eingangssignale AM, AMN, BM, BMN übertragen werden.In the logic circuit 104 it may be, for example, a logic circuit which performs a logical XOR operation on the encrypted operands transmitted via the input signals AM, AMN, BM, BMN.

4 zeigt eine Wertetabelle, die einer solchen XOR-Verknüpfung zugrunde liegt. 4 shows a lookup table that underlies such an XOR link.

Gemäß dem erfindungsgemäßen Ansatz ist die in 15c gezeigte Wertetabelle in den ersten drei Zeilen erweitert. Demgemäß befinden sich die Ausgangssignale ZM, ZMN im Vorladezustand oder Idle-Zustand, wenn an mindestens einem der Eingangssignale AM, AMN, BM, BMN, M, MN Vorladewerte anliegen. Es genügt also das an den Eingangssignalen AM, AMN jeweils eine logische 0 anliegt, um auf den Ausgangssignalen ZM, ZMN ebenfalls eine 0 auszugeben. Der logische Zustand der Signale BM, BMN, M, MN wird dabei nicht betrachtet. Dies ist in der Wertetabelle dadurch gekennzeichnet, dass bei den Signalen BM, BMN, M, MN don't care (–) eingetragen ist. Don't care und steht für eine logische 0 oder logische 1, wobei die Kombination logisch 1, logisch 1 für ein Eingangspaar verboten ist. Entsprechend dazu werden am Ausgang ZM, ZMN bereits Vorladewerte ausgegeben, wenn sich das zweite Eingangssignal BM, BMN im Vorladezustand befindet, unabhängig davon ob am ersten Eingangssignal AM, AMN Datenwerte oder Vorladewerte anliegen, bzw. ob am Verschlüsselungssignal M, MN Verschlüsselungswerte oder Vorladewerte anliegen. Entsprechendes gilt für das Verschlüsselungssignal M, MN. Liegen auf dem Verschlüsselungssignal M, MN Vorladewerte an, so werden am Ausgangssignal ZM, ZM_N Vorladewerte ausgegeben, unabhängig davon, ob an den Eingangssignalen AM, AM_N bzw. BM, BM_N Datenwerte oder Vorladewerte anliegen.According to the inventive approach, the in 15c shown value table in the first three lines expanded. Accordingly, the output signals ZM, ZMN are in the precharge state or idle state when precharge values are applied to at least one of the input signals AM, AMN, BM, BMN, M, MN. It is therefore sufficient that in each case a logical 0 is applied to the input signals AM, AMN in order to also output a 0 on the output signals ZM, ZMN. The logical state of the signals BM, BMN, M, MN is not considered. This is indicated in the value table in that do not care (-) is entered for the signals BM, BMN, M, MN. Do not care and stands for a logical 0 or logical 1, whereby the combination logical 1, logical 1 is forbidden for an input pair. Correspondingly, precharging values are already output at the output ZM, ZMN when the second input signal BM, BMN is in the precharge state, regardless of whether data values or precharge values are applied to the first input signal AM, or if encryption values or precharge values are applied to the encryption signal M, MN , The same applies to the encryption signal M, MN. If precharge values are present on the encryption signal M, MN, then precharging values are output at the output signal ZM, ZM_N, regardless of whether data values or precharge values are applied to the input signals AM, AM_N or BM, BM_N.

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.

5 zeigt ein detailliertes Schaltbild einer Vorladeschaltung 102, wie sie beispielsweise für das anhand von 3 beschriebene Ausführungsbeispiel verwendet werden kann. Die Vorladeschaltung 102 ist eine Transistorschaltung, die ein Pull-up-Netzwerk realisiert. Abhängig von den Dual-Rail-Eingangssignalen AM, AMN, BM, BMN, M, MN zieht die Vorladeschaltung 102 die Knoten des Dual-Rail-Zwischenknotens ZM_INT, ZMN_INT auf das hohe Spannungspotential VDD. Liegen an einem der Eingangssignale AM, AMN bzw. BM, BMN bzw. M, MN Vorladewerte, also in diesem Fall ein niedriges Spannungspotential an, beispielsweise auf dem Signal AM und dem Signal AMN, so schaltet die Vorladeschaltung 102 das hohe Spannungspotential von dem Potentialanschluss VDD auf beide Knoten des Zwischenknotens ZM_INT, ZMN_INT durch. Dazu weist die Vorladeschaltung 102 Vergleichseinrichtungen 510a, 510b, 510c auf, die ausgebildet sind, um das hohe Spannungspotential VDD auf den Zwischenknoten ZM_INT, ZMN_INT durchzuschalten, wenn an einem der Dual-Rail-Eingangssignale AM, AMN, BM, BMN, M, MN Vorladewerte anliegen. Eine Vergleichseinrichtung, beispielsweise die Vergleichseinrichtung 510a weist gemäß diesem Ausführungsbeispiel zwei in Reihe geschaltete Transistoren auf. Der Sourceanschluss des ersten Transistors ist mit dem hohen Spannungspotential VDD verbunden und der Drainanschluss des zweiten Transistors ist mit dem Zwischenknoten ZM_INT bzw. ZMN_INT verbunden. Der Gateanschluss des ersten Transistors wird von dem Signal AMN des ersten Dual-Rail-Eingangssignals AM, AMN und der Gateanschluss des zweiten Transistors von dem Signal AM des Dual-Rail-Eingangssignals AM, AMN angesteuert. Bei den Transistoren handelt es sich um Transistoren des p-Typs. Beide Transistoren schalten somit durch, wenn an beiden Gateanschlüssen das niedrige Spannungspotential anliegt. Liegt an einem der Gateanschlüsse ein hohes Spannungspotential an, wie dies der Fall ist, wenn auf dem Eingangssignal AM, AMN ein gültiger Datenwert anliegt, so sperrt die Vergleichseinrichtung 510a. Die zweite Vergleichseinrichtung 510b ist zur ersten Vergleichseinrichtung 510a parallel geschaltet und wird von dem zweiten Dual-Rail-Eingangssignal BM, BMN angesteuert. Entsprechend ist die dritte Vergleichseinrichtung 510c zur ersten und zweiten Vergleichseinrichtung 510a, b parallel geschaltet und wird von dem Dual-Rail-Verschlüsselungssignal M, MN angesteuert. Die Vergleichseinrichtungen 510a, 510b, 510c sind jeweils doppelt ausgeführt, um beide Zwischenknoten ZM_INT, ZMN_INT anzusteuern. 5 shows a detailed circuit diagram of a precharge circuit 102 , as for example for the basis of 3 described embodiment can be used. The precharge circuit 102 is a transistor circuit that implements a pull-up network. Depending on the dual-rail input signals AM, AMN, BM, BMN, M, MN pulls the Vorladeschaltung 102 the nodes of the dual rail intermediate node ZM_INT, ZMN_INT to the high voltage potential VDD. If at one of the input signals AM, AMN or BM, BMN or M, MN precharge values, in this case a low voltage potential, for example on the signal AM and the signal AMN, the precharge circuit switches 102 the high voltage potential of the potential terminal VDD on both nodes of the intermediate node ZM_INT, ZMN_INT by. For this purpose, the precharge circuit 102 comparators 510a . 510b . 510c configured to pass through the high voltage potential VDD to the intermediate node ZM_INT, ZMN_INT when precharge values are applied to one of the dual rail input signals AM, AMN, BM, BMN, M, MN. A comparison device, for example the comparison device 510a has two series-connected transistors according to this embodiment. The source terminal of the first transistor is connected to the high voltage potential VDD and the drain terminal of the second transistor is connected to the intermediate node ZM_INT or ZMN_INT. The gate terminal of the first transistor is driven by the signal AMN of the first dual rail input signal AM, AMN and the gate terminal of the second transistor by the signal AM of the dual rail input signal AM, AMN. The transistors are p-type transistors. Both transistors thus switch through when the low voltage potential is present at both gate terminals. If a high voltage potential is present at one of the gate terminals, as is the case when a valid data value is applied to the input signal AM, AMN, then the comparator blocks 510a , The second comparison device 510b is the first comparator 510a connected in parallel and is driven by the second dual rail input signal BM, BMN. Accordingly, the third comparison device 510c to the first and second comparison means 510a , b connected in parallel and is driven by the dual-rail encryption signal M, MN. The comparison devices 510a . 510b . 510c are each executed twice in order to control both intermediate nodes ZM_INT, ZMN_INT.

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 510a, 510b, 510c. Um auf dem Zwischenknoten ZM_INT, ZMN_INT einen gültigen Datenwert anzulegen, ist es jedoch erforderlich, dass ein Knoten des Zwischenknotens ZM_INT, ZMN_INT mit dem hohen Spannungspotential VDD verbunden ist. Dazu weist die Vorladeschaltung 102 ein Halteglied 512 auf, das aus zwei Transistoren besteht, die an ihren Source-Eingängen mit dem hohen Spannungspotential VDD und an ihren Drainausgängen mit dem Knoten ZMN_INT bzw. dem Knoten ZM_INT des Zwischenknotens verbunden sind. Die Gateanschlüsse werden jeweils von dem anderen Knoten des Zwischenknotens ZMN_INT, ZM_INT angesteuert, als dem Knoten mit dem der Drainanschluss des jeweiligen Transistors verbunden ist. Bei den Transistoren handelt es sich ebenfalls um Transistoren des p-Typs. Das Halteglied 512 gewährleistet, dass einer der Knoten des Zwischenknotens ZM_INT, ZMN_INT auf dem hohen Spannungspotential VDD gehalten wird, sobald der andere Knoten durch die Logikschaltung 104 auf ein niedriges Spannungspotential VSS gezogen wird.If a valid data value or encryption value is present at the input signals AM, AMN, BM, BMN and the encryption signal M, MN, then the comparison devices block 510a . 510b . 510c , However, in order to apply a valid data value on the intermediate node ZM_INT, ZMN_INT, it is necessary for a node of the intermediate node ZM_INT, ZMN_INT to be connected to the high voltage potential VDD. For this purpose, the precharge circuit 102 a holding member 512 on, which consists of two transistors which are connected at their source inputs to the high voltage potential VDD and at its drain outputs to the node ZMN_INT and the node ZM_INT of the intermediate node. The gate terminals are each driven by the other node of the intermediate node ZMN_INT, ZM_INT, as the node to which the drain terminal of the respective transistor is connected. The transistors are also p-type transistors. The holding member 512 ensures that one of the nodes of the intermediate node ZM_INT, ZMN_INT is held at the high voltage potential VDD as soon as the other node through the logic circuit 104 is pulled to a low voltage potential VSS.

6 zeigt eine weitere Vorladeschaltung 102 für eine erfindungsgemäße Schaltung mit drei Eingängen für die Signale AM, AMN, BM, BMN, CM, CMN und einen Verschlüsselungseingang für das Signal M, MN. Im Unterschied zu der in 5 gezeigten Vorladeschaltung weist die in 6 gezeigte Vorladeschaltung 102 je eine weitere Vergleichseinrichtung auf, die sicherstellt, dass der Zwischenknoten ZM_INT, ZMN_INT mit dem hohen Spannungspotential VDD verbunden wird, sobald an dem dritten Eingangssignal CM, CMN Vorladewerte anliegen. 6 shows another precharge circuit 102 for a circuit according to the invention with three inputs for the signals AM, AMN, BM, BMN, CM, CMN and an encryption input for the signal M, MN. Unlike the in 5 the precharge circuit shown in FIG 6 shown precharge circuit 102 depending on a further comparison device, which ensures that the intermediate node ZM_INT, ZMN_INT is connected to the high voltage potential VDD, as soon as at the third input signal CM, CMN Vorla values lie.

Die 7 bis 13 zeigen Ausführungsbeispiele von Logikschaltungen 104, wie sie für das in 3 beschriebene Ausführungsbeispiel eingesetzt werden können. Dabei sind die in 7 und 8 beschriebenen Logikschaltungen zur Verknüpfung von zwei verschlüsselten Eingangssignalen unter Berücksichtigung des Verschlüsselungssignals und die in den 9 bis 13 gezeigten Logikschaltungen 104 zur Verknüpfung von drei Eingangssignalen unter Berücksichtigung des Verschlüsselungssignals ausgelegt. Demgemäß können die in 7 und 8 gezeigten Logikschaltungen 104 zusammen mit der in 5 gezeigten Vorladeschaltung 102 und die in den 9 bis 13 gezeigten Logikschaltungen 104 mit der in 6 gezeigten Vorladeschaltung 102 eingesetzt werden. Die in 7 bis 13 gezeigten Logikschaltungen 104 sind als Transistorschaltungen realisiert, die ein Pull-down-Netzwerk realisieren. Es werden Transistoren vom N-Typ eingesetzt. Die Logikschaltungen 104 sind zwischen einem zweiten Potentialanschluss mit einem Massepotential GND bzw. VSS und dem Zwischenknoten ZM_INT, ZMN_INT geschaltet. Die Gateanschlüsse der in den in den 513 gezeigten Logikschaltungen 104, als auch in den Vorladeschaltungen 102 eingesetzten Transistoren werden von den Eingangssignalen AM, AMN, BM, BMN bzw. den weiteren Eingangssignalen bei Schaltungen für drei oder mehrere Eingangssignale unter Berücksichtigung des Verschlüsselungssignals M, MN angesteuert. Gemäß den, in den 513 gezeigten Ausführungsbeispielen sind die Vorladeschaltungen 102 und die Logikschaltungen 104 als eigenständige Schaltungen ausgeführt, die keine gemeinsamen Transistoren aufweisen.The 7 to 13 show embodiments of logic circuits 104 as for the in 3 described embodiment can be used. Here are the in 7 and 8th described logic circuits for linking two encrypted input signals taking into account the encryption signal and in the 9 to 13 shown logic circuits 104 designed to link three input signals taking into account the encryption signal. Accordingly, the in 7 and 8th shown logic circuits 104 together with the in 5 shown precharge circuit 102 and those in the 9 to 13 shown logic circuits 104 with the in 6 shown precharge circuit 102 be used. In the 7 to 13 shown logic circuits 104 are realized as transistor circuits that implement a pull-down network. It uses N-type transistors. The logic circuits 104 are connected between a second potential terminal with a ground potential GND or VSS and the intermediate node ZM_INT, ZMN_INT. The gate connections in the in the 5 - 13 shown logic circuits 104 , as well as in the precharge circuits 102 used transistors are driven by the input signals AM, AMN, BM, BMN and the other input signals in circuits for three or more input signals, taking into account the encryption signal M, MN. According to, in the 5 - 13 The embodiments shown are the precharge circuits 102 and the logic circuits 104 designed as independent circuits that have no common transistors.

Die in den 7 bis 13 gezeigten Logikschaltungen 104 sind ausgebildet, um eine Verbindung zwischen dem niedrigen Potentialanschluss GND und den Zwischenknoten ZM_INT, ZMN_INT zu unterbrechen, sobald an mindestens einem der Eingangssignale AM, AMN, BM, BMN, M, MN Vorladewerte anliegen. Liegen jedoch an allen Eingangssignalen AM, AMN, BM, BMN, M, MN gültige Datenwerte an, so sind die gezeigten Logikschaltungen 104 ausgebildet, um entsprechend der zu realisierenden logischen Verknüpfung einen der Knoten des Zwischenknotens ZM_INT, ZMN_INT mit dem niedrigen Spannungspotential GND zu verbinden und somit einen gültigen Datenwert auszugeben.The in the 7 to 13 shown logic circuits 104 are designed to interrupt a connection between the low potential terminal GND and the intermediate nodes ZM_INT, ZMN_INT as soon as at least one of the input signals AM, AMN, BM, BMN, M, MN present precharge values. However, if valid data values are present at all input signals AM, AMN, BM, BMN, M, MN, then the logic circuits shown are 104 designed to connect one of the nodes of the intermediate node ZM_INT, ZMN_INT to the low voltage potential GND in accordance with the logic operation to be implemented, and thus to output a valid data value.

7 zeigt eine Logikschaltung 104 in Form einer Transistorschaltung zur Realisierung einer UND-Verknüpfung. Die Transistorschaltung 104 weist Endladetransistoren 720 auf, die sowohl zum Entladen des Knotens ZM_INT als zum Entladen des Knotens ZMN_INT genutzt werden. Die Drain-Anschlüsse der beiden Transistoren 720 sind verbunden. Solche gemeinsamen Transistoren 720 werden auch in den weiteren Ausführungsbeispielen der 8 bis 13 eingesetzt, um die benötigte Transistorzahl zu reduzieren. 7 shows a logic circuit 104 in the form of a transistor circuit for realizing an AND operation. The transistor circuit 104 has Endladetransistoren 720 which are used both to unload the node ZM_INT and to unload the node ZMN_INT. The drain terminals of the two transistors 720 are connected. Such common transistors 720 be in the other embodiments of the 8th to 13 used to reduce the required transistor count.

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 720 sind verbunden. Die mit dem Knoten ZMN_INT verbundende Transistorschaltung entspricht der Transistorschaltung, die mit dem Knoten ZM_INT verbunden ist, mit dem Unterschied, dass die Gate-Anschlüsse der jeweiligen Transistoren mit dem jeweils invertierten Signal der Dual-Rail-Signale verbunden sind.To realize the AND operation, three transistors are connected in series between the node ZMN_INT and the potential connection GND, the gates of which are controlled by the signals M, AMN and BMN. In parallel, a further transistor circuit is arranged, with a first transistor whose drain terminal is connected to the node ZMN_INT and whose gate terminal is connected to the signal MN. The source terminal of this transistor is connected via a first or a second transistor series circuit to the ground potential GND. The first series circuit consists of two transistors whose gate terminals are connected to the signal AM or BMN. The second series circuit consists of two transistors whose gate terminals are connected to the signal AMN and the signal BM, respectively. The drain terminals of the two transistors 720 are connected. The transistor circuit connected to the node ZMN_INT corresponds to the transistor circuit which is connected to the node ZM_INT, with the difference that the gate terminals of the respective transistors are connected to the respectively inverted signal of the dual rail signals.

8 zeigt eine Logikschaltung 104 gemäß einem weiteren Ausführungsbeispiel, die eine logische XOR-Verknüpfung zweiter Eingangssignale AM, AMN, BM, BMN unter Berücksichtigung des Verschlüsselungssignals M, MN realisiert. 8th shows a logic circuit 104 according to a further embodiment, which implements a logical XOR combination of second input signals AM, AMN, BM, BMN taking into account the encryption signal M, MN.

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.

9 zeigt ein weiteres Ausführungsbeispiel einer Logikschaltung 104, die ausgebildet ist, um eine UND-Verknüpfung zwischen drei Eingangssignalen AM, AMN, BM, BMN, CM, CMN unter Berücksichtigung des Verschlüsselungssignals M, MN auszuführen. 9 shows a further embodiment of a logic circuit 104 , which is designed to perform an AND operation between three input signals AM, AMN, BM, BMN, CM, CMN in consideration of the encryption signal M, MN.

10 zeigt eine Logikschaltung 104 eines weiteren Ausführungsbeispiels, die eine logische UND-ODER-Verknüpfung zwischen drei Eingangssignalen AM, AMN, BM, BMN, CM, CMN unter Berücksichtigung des Verschlüsselungssignals M, MN ausführen. 10 shows a logic circuit 104 of a further embodiment, which perform a logical AND-OR operation between three input signals AM, AMN, BM, BMN, CM, CMN taking into account the encryption signal M, MN.

11 zeigt ein weiteres Ausführungsbeispiel einer Logikschaltung 104, die ausgebildet ist, um eine logische XOR-Verknüpfung zwischen drei Eingangssignalen AM, AMN, BM, BMN, CM, CMN unter Berücksichtigung des Verschlüsselungssignals M, MN auszuführen. 11 shows a further embodiment of a logic circuit 104 configured to perform a logical XOR operation between three input signals AM, AMN, BM, BMN, CM, CMN in consideration of the encryption signal M, MN.

12 zeigt ein weiteres Ausführungsbeispiel einer Logikschaltung 104, die ausgebildet ist, um eine Multiplexer-Verknüpfung zwischen zwei Eingangssignalen AM, AMN, BM, BMN und einem Select-Signal SEL, SELN unter Berücksichtigung des Verschlüsselungssignals M, MN durchzuführen. 12 shows a further embodiment of a logic circuit 104 , which is designed to perform a multiplexer connection between two input signals AM, AMN, BM, BMN and a select signal SEL, SELN taking into account the encryption signal M, MN.

13 zeigt ein weiteres Ausführungsbeispiel einer Logikverknüpfung 104, die ausgebildet ist, um eine Mehrheitsverknüpfung zwischen drei Eingangssignalen AM, AMN, BM, BMN, CM, CMN unter Berücksichtigung des Verschlüsselungssignals M, MN durchzuführen. 13 shows another embodiment of a logic link 104 adapted to perform a majority association between three input signals AM, AMN, BM, BMN, CM, CMN in consideration of the encryption signal M, MN.

Die exakte Verschaltung der in den 5 bis 13 verwendeten Transistoren ist aus den entsprechenden Figuren ersichtlich.The exact connection of the in the 5 to 13 used transistors can be seen from the corresponding figures.

Die in den 5 bis 13 gezeigten Schaltungen 102, 104 können für die erfindungsgemäße Schaltung, wie sie als Blockschaltbild in 3 dargestellt ist, verwendet werden. Dazu werden die in 3 gezeigten Inverter verwendet, um einen logischen Zustand der Zwischenknoten ZM_INT, ZMN_INT zu invertieren und am Ausgang als Ergebnissignal ZM, ZMN auszugeben.The in the 5 to 13 shown circuits 102 . 104 can be used for the inventive circuit, as shown in block diagram in 3 is shown used. These are the in 3 shown inverter used to invert a logic state of the intermediate nodes ZM_INT, ZMN_INT and output at the output as a result signal ZM, ZMN.

Alle Gatter in einer auf diesem Ausführungsbeispiel basierenden Libray haben die gleiche Struktur, die sich in drei Gruppen aufteilt. Ein Pull-down-Netzwerk 104 implementiert die Logikfunktionalität. Ein Pull-up-Netzwerk 102 implementiert die Prechargefunktionalität, also das Vorladen der Ausgangssignale. Das Pull-up-Netzwerk ist für alle Gatter mit der gleichen Zahl von Eingängen gleich aufgebaut. Die dritte Gruppe bilden die beiden Ausgangsinverter.All gates in a Libray based on this embodiment have the same structure, which is divided into three groups. A pull-down network 104 implements the logic functionality. A pull-up network 102 implements the precharge functionality, ie precharging the output signals. The pull-up network is the same for all gates with the same number of inputs. The third group are the two output inverters.

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 8 gezeigten Pull-down-Netzwerk 104 zur Implementierung einer XOR-Funktionalität die beiden Transistoren, deren Source-Anschluss mit dem Massepotential verbunden ist.The networks for discharging the nodes ZMN_INT and ZM_INT can, if the function permits, use in part the same transistors, for example the in 8th shown pull-down network 104 to implement an XOR functionality, the two transistors whose source terminal is connected to the ground potential.

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 513 gezeigten Transistorschaltungen sind beispielhaft und können durch Schaltungen mit gleicher Funktionalität ersetzt werden. Der erfindungsgemäße Ansatz lässt sich auf Schaltungen mit vier oder mehr Eingängen zum Empfangen weiterer Dual-Rail-Signale, erweitern. Ebenso ist die vorliegende Erfindung nicht auf die gezeigte Transistorlogik beschränkt. Bei den logischen Verknüpfungen kann es sich beispielsweise um eine AND-, eine NAND-, eine OR-, eine NOR-, eine XOR-, eine NXOR-, eine ANDOR-, eine ORRND-, eine Multiplexer- oder eine Mehrheitsfunktion handeln. Bei der Verschlüsselungsvorschrift kann es sich um eine XOR-Verknüpfung oder eine NXOR-Verknüpfung handeln.The in the 5 - 13 shown transistor circuits are exemplary and can be replaced by circuits with the same functionality. The inventive approach can be extended to circuits with four or more inputs for receiving additional dual-rail signals. Likewise, the present invention is not limited to the transistor logic shown. The logical operations may be, for example, an AND, NAND, OR, NOR, XOR, NXOR, ANDOR, ORRND, multiplexor or majority function. The encryption policy can be an XOR or an NXOR.

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)

Schaltung zum Berechnen einer logischen Verknüpfung zweier verschlüsselter Eingangsoperanden, mit folgenden Merkmalen: einem ersten Eingang zum Empfangen eines ersten Dual-Rail-Signals (AM, AMN), das in einem Berechnungszyklus Datenwerte des ersten Eingangs und in einem Vorladezyklus Vorladewerte aufweist; einem zweiten Eingang zum Empfangen eines zweiten Dual-Rail-Signals (BM, BMN), das in dem Berechnungszyklus Datenwerte des zweiten Eingangs und in dem Vorladezyklus Vorladewerte aufweist; einem dritten Eingang zum Empfangen eines Dual-Rail-Verschlüsselungssignals (M, MN), das in dem Berechnungszyklus Verschlüsselungswerte und in dem Vorladezyklus Vorladewerte aufweist; einem Ausgang zum Ausgeben eines Dual-Rail-Ergebnissignals (ZM, ZMN), 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 (104) 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 (102), 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 (AM, AMN) und das zweite Dual-Rail-Signal (BM, BMN) Datenwerte und das Dual-Rail-Verschlüsselungssignal (M, MN) Verschlüsselungswerte aufweisen.A circuit for computing a logical combination of two encrypted input operands, comprising: a first input for receiving a first dual rail signal (AM, AMN) 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 (BM, BMN) having data values of the second input in the calculation cycle and precharge values in the precharge cycle; a third input for receiving a dual rail encryption signal (M, MN) having encryption values in the calculation cycle and precharge values in the precharge cycle; an output for outputting a dual rail result signal (ZM, ZMN) 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 ( 104 ) 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 ( 102 ), which is designed to already impress pre-charging 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 (AM, AMN) and the second dual-rail signal (BM, BMN) data values and the dual-rail encryption signal (M, MN) have encryption values. Schaltung gemäß Anspruch 1, wobei jedes Dual-Rail-Signal (AM, AMN; BM, BMN; ZM, ZMN; M, MN) aus jeweils einem ersten Signal (AM, BM, ZM, M) und einem zweiten Signal (AMN, BMN, ZMN, MN) besteht, und wobei das erste und das zweite Signal der Dual-Rail-Signale bei Vorladewerten jeweils gleiche logische Zustände und bei Datenwerten, Verschlüsselungswerten bzw. Ergebniswerten zueinander invertierte logische Zustände aufweisen.Circuit according to claim 1, each dual-rail signal (AM, AMN, BM, BMN, ZM, ZMN, M, MN) each of a first signal (AM, BM, ZM, M) and a second signal (AMN, BMN, ZMN, MN), and wherein the first and second signals of the dual-rail signals at Preload values each have the same logical states and data values, encryption values or result values have mutually inverted logical states. Schaltung gemäß einem der vorangegangenen Ansprüche, wobei die Vorladewerte der Dual-Rail-Signale (AM, AMN; BM, BMN; ZM, ZMN; M, MN) gleiche logische Zustände aufweisen.Circuit according to a of the preceding claims, wherein the precharge values of the dual rail signals (AM, AMN, BM, BMN; ZM, ZMN; M, MN) have the same logical states. Schaltung gemäß einem der vorangegangenen Ansprüche, wobei die logische Verknüpfung eine XOR-Verknüpfung gemäß der Wertetabelle
Figure 00290001
Figure 00300001
ist, wobei der Platzhalter (–) für einen beliebigen der logischen Zustände 1 oder 0 steht.
A circuit according to any one of the preceding claims, wherein the logical link is an XOR link according to the look-up table
Figure 00290001
Figure 00300001
where the wildcard (-) stands for any of the logical states 1 or 0.
Schaltung gemäß einem der vorangegangenen Ansprüche, ferner mit einem ersten Potentialanschluss (VDD) für ein hohes Potential und einem zweiten Potentialanschluss (VSS) für ein niedriges Potential; wobei die Logikschaltung (104) ein Pull-Down-Netzwerk ist, das zwischen dem zweiten Potentialanschluss und einem Dual-Rail-Zwischenknoten (ZMN_INT, ZM_INT) geschaltet ist und ausgebildet ist, um einem Knoten des Dual-Rail-Zwischenknotens (ZMN_INT, ZM_INT) das niedrige Potential einzuprägen, wenn weder an dem ersten Eingang noch an dem zweiten Eingang noch an dem dritten Eingang zum Empfangen des Dual-Rail-Verschlüsselungssignals Vorladewerte erfasst werden; und wobei die Vorladeschaltung (102) ein Pull-Up-Netzwerk ist, das zwischen dem ersten Potentialanschluss und dem Dual-Rail-Zwischenknoten geschaltet ist, und ausgebildet ist, um beiden Knoten des Dual-Rail-Zwischenknoten das hohe Potential einzuprägen, solange mindestens an einem einzigen Eingang bzw. dem dritten Eingang zum Empfangen des Dual-Rail-Verschlüsselungssignals die Vorladewerte erfasst werden; und einem Inverterpaar (106a, 106b), das zwischen dem Dual-Rail-Zwischenknoten und dem Ausgang geschaltet ist, und ausgebildet ist, um dem hohen Potential bzw. dem niedrigen Potential entsprechende logische Zustände des Dual-Rail-Zwischenknotens invertiert als Dual-Rail-Ergebnissignal (ZM, ZMN) am Ausgang bereitzustellen.A circuit according to any one of the preceding claims, further comprising a first potential terminal (VDD) for a high potential and a second potential terminal (VSS) for a low potential; the logic circuit ( 104 ) is a pull-down network, which is connected between the second potential terminal and a dual rail intermediate node (ZMN_INT, ZM_INT) and is designed to impress the low potential on a node of the dual rail intermediate node (ZMN_INT, ZM_INT) if precharge values are detected at neither the first input nor the second input nor at the third input for receiving the dual rail encryption signal; and wherein the precharge circuit ( 102 ) is a pull-up network, which is connected between the first potential terminal and the dual-rail intermediate node, and is designed to memorize the high potential of both nodes of the dual-rail intermediate node, as long as at least one single input or the third input for receiving the dual-rail encryption signal, the precharge values are detected; and an inverter pair ( 106a . 106b ), which is connected between the dual-rail intermediate node and the output, and is designed to the high potential or the low potential corresponding logical states of the dual-rail intermediate node inverted as a dual-rail result signal (ZM, ZMN) to provide at the exit. Schaltung gemäß einem der vorangegangenen Ansprüche, wobei die Logikschaltung (104) und die Vorladeschaltung (102) jeweils als eigenständige Transistorschaltungen realisiert sind.Circuit according to one of the preceding claims, wherein the logic circuit ( 104 ) and the precharge circuit ( 102 ) are each realized as independent transistor circuits. Schaltung gemäß Anspruch 6, wobei die Transistorschaltung der Logikschaltung (104) und die Transistorschaltung der Vorladeschaltung (102) keine gemeinsam genutzten Transistoren aufweisen.A circuit according to claim 6, wherein the transistor circuit of the logic circuit ( 104 ) and the transistor circuit of the precharge circuit ( 102 ) have no shared transistors. Schaltung gemäß Anspruch 6 oder 7, wobei die Logikschaltung (104) einen Entladetransistor (720) aufweist, der ausgebildet ist, um in einem ersten Berechnungszyklus einem Knoten (ZM_INT) des Dual-Rail-Zwischenknotens E (ZM_INT, ZMN_INT) das niedrige Potential einzuprägen und in einem zweiten Berechnungszyklus dem anderen Knoten (ZMN_INT) des Dual-Rail-Zwischenknotens das niedrige Potential einzuprägen.A circuit according to claim 6 or 7, wherein the logic circuit ( 104 ) a discharge transistor ( 720 ), which is designed to memorize the low potential in a first calculation cycle to a node (ZM_INT) of the dual rail intermediate node E (ZM_INT, ZMN_INT) and, in a second calculation cycle, to the other node (ZMN_INT) of the dual rail intermediate node to memorize the low potential. Schaltung gemäß einem der vorangegangenen Ansprüche, wobei die logische Verknüpfung eine AND-, eine NAND-, eine OR-, eine NOR-, eine XOR-, eine NXOR- eine ANDOR-, eine ORAND eine Multiplexer- oder eine Mehrheitsfunktion ist.Circuit according to a of the preceding claims, where the logical link an AND, an NAND, an OR, a NOR, an XOR, an NXOR an ANDOR, an ORAND a multiplexor or a majority function is. Schaltung gemäß einem der Ansprüche 5 bis 9, wobei die Vorladeschaltung (102) eine erste Vergleichseinrichtung (510a), eine zweite Vergleichseinrichtung (510b) und eine dritte Vergleichseinrichtung (510c) aufweist, wobei die erste Vergleichseinrichtung ausgebildet ist, um Vorladewerte auf den Zwischenknoten (ZM_INT, ZMN_INT) einzuprägen, wenn das erste Signal und das zweite Signal des ersten Dual-Rail-Signals (AM, AMN) gleiche logische Werte aufweisen, wobei die zweite Vergleichseinrichtung (510b) ausgebildet ist, um Vorladewerte auf den Zwischenknoten (ZM_INT, ZMN_INT) einzuprägen, wenn das erste Signal und das zweite Signal des zweiten Dual-Rail-Signals (BM, BMN) gleiche logische Werte aufweisen und wobei die dritte Vergleichseinrichtung (510c) ausgebildet ist, um Vorladewerte auf den Zwischenknoten (ZM_INT, ZMN_INT) einzuprägen, wenn das erste Signal und das zweite Signal des Dual-Rail-Verschlüsselungssignals (M, MN) gleiche logische Werte aufweisen.Circuit according to one of claims 5 to 9, wherein the precharge circuit ( 102 ) a first comparison device ( 510a ), a second comparator ( 510b ) and a third comparison device ( 510c ), wherein the first comparison means is adapted to impress pre-charge values on the intermediate nodes (ZM_INT, ZMN_INT) when the first signal and the second signal of the first dual-rail signal (AM, AMN) have the same logical values, the second comparison device ( 510b ) is designed to impress precharge values on the intermediate nodes (ZM_INT, ZMN_INT) if the first signal and the second signal of the second dual-rail signal (BM, BMN) have identical logical values, and wherein the third comparison device ( 510c ) is configured to impress pre-charge values on the intermediate nodes (ZM_INT, ZMN_INT) when the first signal and the second signal of the dual-rail encryption signal (M, MN) have identical logical values. Schaltung gemäß einem der Ansprüche 5 bis 10, wobei die Vorladeschaltung ein Halteglied (512) aufweist, das ausgebildet ist, um einen der Knoten des Dual-RailZwischenknotens (ZM_INT, ZMN_INT) auf dem hohen Potential (VDD) zu halten, wenn dem anderen Knoten des Dual-Rail-Zwischenknotens von der Logikschaltung das niedrige Potential (VSS) eingeprägt ist.Circuit according to one of claims 5 to 10, wherein the precharge circuit comprises a holding member ( 512 ) configured to hold one of the nodes of the dual rail intermediate node (ZM_INT, ZMN_INT) at the high potential (VDD) when impressing the low potential (VSS) to the other node of the dual rail intermediate node from the logic circuit is. Schaltung gemäß einem der vorangegangenen Ansprüche, ferner mit einem weiteren Eingang zum Empfangen eines weiteren Dual-Rail-Signals (CM, CMN), das im Berechnungszyklus Datenwerte des weiteren Eingangs und in dem Vorladezyklus Vorladewerte aufweist, wobei die Datenwerte des weiteren Dual-Rail-Signals mit den Verschlüsselungswerten des Dual-Rail-Verschlüsselungssignals gemäß einer Verschlüsselungsvorschrift verschlüsselt sind; und wobei die Logikschaltung (104) ausgebildet ist, um die Ergebniswerte gemäß der logischen Verknüpfung aus den Datenwerten der ersten, zweiten und weiteren Dual-Rail-Signale und den Verschlüsselungswerten zu bestimmen; und wobei die Vorladeschaltung (102) ausgebildet ist, um das Einprägen der Vorladewerte erst dann zu beenden, wenn das erste, zweite und weitere Dual-Rail-Signal Datenwerte aufweist.Circuit according to one of the preceding claims, further comprising a further input for receiving a further dual rail signal (CM, CMN) which has data values of the further input in the calculation cycle and precharge values in the precharge cycle, the data values of the further dual rail Signals are encrypted with the encryption values of the dual-rail encryption signal according to an encryption rule; and wherein the logic circuit ( 104 ) is configured to determine the result values according to the logical combination of the data values of the first, second and further dual-rail signals and the encryption values; and wherein the precharge circuit ( 102 ) is formed in order to terminate the impressing of the precharge values only when the first, second and further dual rail signals have data values. Schaltung gemäß einem der vorangegangenen Ansprüche, wobei die Verschlüsselungsvorschrift eine XOR-Verknüpfung oder eine NXOR-Verknüpfung ist.Circuit according to a of the preceding claims, the encryption rule an XOR link or an NXOR link is. Verfahren zum Berechnen einer logischen Verknüpfung zweier Eingangsoperanden, mit folgenden Schritten: Empfangen eines ersten Dual-Rail-Signals (AM, AMN) an einem ersten Eingang, das in einem Berechnungszyklus Datenwerte des ersten Eingangs und in einem Vorladezyklus Vorladewerte aufweist; Empfangen eines zweiten Dual-Rail-Signals (BM, BMN) an einem zweiten Eingang, das in dem Berechnungszyklus Datenwerte des zweiten Eingangs und in dem Vorladezyklus Vorladewerte aufweist; Empfangen eines Dual-Rail-Verschlüsselungssignals (M, MN), 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 (ZM, ZMN), 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 Dual-Rail- Ergebnissignals 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 (M, MN) Verschlüsselungswerte aufweisen.Method for calculating a logical combination of two Input operands, with the following steps: Receiving a first dual rail signal (AM, AMN) at a first input, the in a calculation cycle, data values of the first input and in a precharge cycle has precharge values; Receiving a second dual rail signal (BM, BMN) at a second input, the in the calculation cycle, data values of the second input and in having precharge values in the precharge cycle; Receive a dual-rail encryption signal (M, MN), the encryption values in the calculation cycle and in the precharge cycle Having precharge values; Determine encrypted Result values according to the logical shortcut from the data values of the first input and the second input and the encryption values and spend the encrypted Result values in the calculation cycle at an output for output of a dual rail result signal (ZM, ZMN), which is in the calculation cycle the encrypted Result values and precharge values in the precharge cycle; in which the data values of the first and second dual-rail signal and the result values of the dual-rail result signal the encryption values of the dual-rail encryption signal according to a encoding rule encoded are; inculcate pre-load values at the exit already when pre-load values be detected at a single input, or terminate the memorization of the Precharge values only when the first and the second dual-rail signal Data values and the dual-rail encryption signal (M, MN) encryption values exhibit.
DE102005037356A 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 Expired - Fee Related DE102005037356B3 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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