DE10201450B4 - Carry-skip adder for encrypted data - Google Patents
Carry-skip adder for encrypted data Download PDFInfo
- Publication number
- DE10201450B4 DE10201450B4 DE2002101450 DE10201450A DE10201450B4 DE 10201450 B4 DE10201450 B4 DE 10201450B4 DE 2002101450 DE2002101450 DE 2002101450 DE 10201450 A DE10201450 A DE 10201450A DE 10201450 B4 DE10201450 B4 DE 10201450B4
- Authority
- DE
- Germany
- Prior art keywords
- carry
- signal
- encrypted
- adder
- skip
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
- G06F7/50—Adding; Subtracting
- G06F7/505—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination
- G06F7/506—Adding; Subtracting in bit-parallel fashion, i.e. having a different digit-handling circuit for each denomination with simultaneous carry generation for, or propagation over, two or more stages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/72—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
- G06F2207/7223—Randomisation as countermeasure against side channel attacks
- G06F2207/7233—Masking, e.g. (A**e)+r mod n
- G06F2207/7238—Operand masking, i.e. message blinding, e.g. (A+r)**e mod n; k.(P+R)
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Storage Device Security (AREA)
Abstract
Carry-Skip-Addierer zum Addieren eines ersten Operanden (a) und eines zweiten Operanden (b), wobei der erste und der zweite Operand durch Bits darstellbar sind, die von einem niederstwertigen Bit aus eine ansteigende Ordnung haben, mit folgenden Merkmalen:
einer ersten Addiereinrichtung (10) zum Liefern von Summenbits für eine erste Mehrzahl von Bits in aufsteigender Reihenfolge, ausgehend von dem niederstwertigen Bit, und zum Liefern eines ersten Übertragsignals (c4) für ein höchstwertiges Bit der ersten Mehrzahl von Bits;
einer zweiten Addiereinrichtung (12) zum Liefern von Summenbits für eine zweite Mehrzahl von Bits in aufsteigender Reihenfolge, ausgehend von einem nächsthöheren Bit als das höchstwertige Bit der ersten Mehrzahl von Bits, zum Liefern eines zweiten Übertragsignals des höchstwertigen Bits der zweiten Mehrzahl von Bits und zum Liefern eines Propagate-Werts (P) der zweiten Mehrzahl von Bits;
einer dritten Addiereinrichtung (18) zum Liefern von Summenbits für eine dritte Mehrzahl von Bits in aufsteigender Reihenfolge, ausgehend...Carry-skip adder for adding a first operand (a) and a second operand (b), the first and the second operand being able to be represented by bits which have an increasing order from a least significant bit, with the following features:
a first adder (10) for supplying sum bits for a first plurality of bits in ascending order, starting from the least significant bit, and for supplying a first carry signal (c 4 ) for a most significant bit of the first plurality of bits;
a second adder (12) for supplying sum bits for a second plurality of bits in ascending order, starting from a next higher bit than the most significant bit of the first plurality of bits, for supplying a second carry signal of the most significant bit of the second plurality of bits and for Providing a propagate value (P) of the second plurality of bits;
a third adding device (18) for supplying sum bits for a third plurality of bits in ascending order, starting from ...
Description
Die vorliegende Erfindung bezieht sich auf Addierer-Rechenwerke und insbesondere auf Carry-Skip-Addierer.The present invention relates on adder arithmetic units and especially on carry-skip adders.
Bis hierhin arbeite er Addierer wie
ein normaler Ripple-Carry-Addierer.
Der bekannte Carry-Skip-Addierer, wie er in
Bevor auf die Funktionsweise des
bekannten Carry-Skip-Addierers
eingegangen wird, wird zunächst auf
die Berechnung des Propagate-Signals
Ein Propagate-Wert für einen
Bit-Slice i berechnet sich folgendermaßen:
Der Propagate-Wert gibt an, ob ein Carry-Bit eines niedrigeren Bit-Slices von dem Bit-Slice, dessen Propagate-Wert bekannt ist, absorbiert wird. Dies ist der Fall, wenn ai und bi 0 sind, d. h. der Propagate-Wert pi 0 ist. Andererseits wird ein Carry-Bit eines niedrigeren Bit-Slices vom aktuellen Bit-Slice weitergereicht, d. h. „propagiert", wenn entweder ai oder bi gleich 1 ist . Sind sowohl ai als auch bi gleich 1, so wird von diesem Bit-Slice nicht nur ein Carry-Bit weitergereicht, sondern sogar erzeugt. Der Wert, der anzeigt, ob ein Bit-Slice einen Carry erzeugt, wird auch als Generate-Wert bezeichnet. Der Generate-Wert ergibt sich aus der UND-Verknüpfung der beiden Operanden-Bits.The propagate value indicates whether a carry bit of a lower bit slice is absorbed by the bit slice whose propagate value is known. This is the case if a i and b i are 0, ie the propagate value pi is 0. On the other hand, a carry bit of a lower bit slice is passed on by the current bit slice, ie "propagated" if either a i or b i is 1. If both a i and b i are 1, this bit is used -Slice not only passes on a carry bit, but even generates it. The value that indicates whether a bit slice is generating a carry is also known as the generate value. The generate value results from the AND operation of the two operand bits.
Der Carry-Skip-Addierer baut allgemein
gesagt darauf auf, daß,
wenn beispielsweise der zweite Addiererblock
Das ODER-Gatter
Es sei darauf hingewiesen, daß das Berechnen
des Propagate-Werts
P einfacher als das Berechnen des Generate-Werts G ist. Im Carry-Skip-Addierer
werden daher lediglich die Propagate-Werte P berechnet. Die Überträge beginnen
mit dem „Durchrippeln" durch jeden Block
im wesentlichen gleichzeitig. Wenn ein Block einen Carry erzeugt,
dann wird das Carry-Ausgangssignal
dieses Blocks wahr sein, selbst wenn das Carry-Eingangssignal in
den Block noch nicht korrekt ist. Wenn an dem Beginn jeder Addier-Operation
der Carry-Eingang in jeden Block 0 ist, dann werden auch keine Carry-Ausgangssignale
erzeugt. Somit kann das Carry-Ausgangssignal jedes Blocks auch derart
aufgefaßt
werden, daß es
das G Signal ist. Sobald das Carry-Ausgangssignal aus dem niederstwertigen
Block (Addierer
Nachteilig an dem beschriebenen Carry-Skip-Addierer
ist die Tatsache, daß er
für kryptographische Anwendungen
nur bedingt geeignet ist, da er für Nadelangriffe zur Abhörung verarbei teter
Daten bzw. Ergebnisdaten und insbesondere auch für SPA-Angriffe (SPA = Single Power Analysis)
oder DPA-Angriffe (DPA = Differential Power Analysis) anfällig ist.
Im bekannten Carry-Skip-Addierer, der in
Das Vorlesungsskript der Uni Hannover, Ausgabe 11/00, insbesondere Kapitel 2.1.4 Seite 2-16 bis 2.23, recherchiert im Internet unter der Adresse URL:http://www.sra.unihannover.de/lehre/vorlesungen/hlr/kapitel.2.pdf offenbart zur Beschleunigung der Addition einen Carry-Lookahead-Addierer, bei dem Propagate-Signale, Generate-Signale und daraus berechnete Carry-Signale verwendet werden. Ferner werden auch Carry-Skip-Addierer oder Carry-Select-Addierer beschrieben.The lecture script of the University of Hanover, Issue 11/00, in particular chapter 2.1.4 pages 2-16 to 2.23, researched on the Internet at the address URL: http://www.sra.unihannover.de/lehre/vorlesungen/hlr/kapitel.2.pdf discloses a carry lookahead adder to accelerate the addition, in which Propagate signals, generate signals and carry signals calculated from them be used. Carry skip adders or carry select adders are also described.
Die
Die Aufgabe der vorliegenden Erfindung besteht darin, einen sichereren Carry-Skip-Addierer zu schaffen.The object of the present invention is to create a more secure carry-skip adder.
Diese Aufgabe wird durch einen Carry-Skip-Addierer gemäß Patentanspruch 1 gelöst.This is done by a carry-skip adder according to claim 1 solved.
Der vorliegenden Erfindung liegt die Erkenntnis zugrunde, daß die Sicherheit des Carry-Skip-Addierers wesentlich erhöht werden kann, wenn zumindest teilweise mit verschlüsselten Operanden gerechnet wird. Dies trifft insbesondere für die Übertragsignalleitung, die Propagate-Leitung und die Skip-Leitung und für das UND-Gatter und das ODER-Gatter des Carry-Skip-Addierers zu. Diese Strukturen sind charakteristisch für den Carry-Skip-Addierer und in einem Design möglicherweise erkennbar. Darüber hinaus sind diese Leitungen in einem realen Design länger als Leitungen eines Bit-Slices der Addierer, so daß z. B. physikalische Angriffe auf diese Signale leichter sind.The present invention lies based on the knowledge that the Security of the carry-skip adder can be increased significantly can, if at least partially counted with encrypted operands becomes. This is especially true for the carry signal line, the propagate line and the skip line and for the AND gate and the OR gate of the carry-skip adder to. These structures are characteristic of the carry-skip adder and possibly in a design recognizable. About that in addition, these lines are longer than in a real design Lines of a bit slice of the adders, so that, for. B. physical attacks on these signals are easier.
Es wird ferner bevorzugt, nicht nur die Übertragssignale, die Propagate-Signale und die Skip-Signale zu verschlüsseln, sondern auch die UND- und die ODER-Berechnungen verschlüsselt durchzuführen, und darüber hinaus auch in den Addiererblöcken Addierer für verschlüsselte Daten einzusetzen.It is also preferred, not only the carry signals, to encrypt the propagate signals and the skip signals, but also perform the AND and OR calculations in encrypted form, and about that also in the adder blocks Adder for encrypted Use data.
Obgleich grundsätzlich jeder umkehrbare Verschlüsselungsalgorithmus zum Verschlüsseln der Operanden des UND-Gatters und des ODER-Gatters eingesetzt werden können, wird es aus Gründen der Schnelligkeit und des Schaltungsaufwands bevorzugt, eine Verschlüsselung in Form einer XOR-Verknüpfung als Verschlüsselungsalgorithmus und eines Verschlüsselungsparameters oder alternativ eine XNOR-Verknüpfung mit einem Verschlüsselungsparameter einzusetzen, wobei die Verschlüsselung bitweise ist, d. h. daß der Verschlüsselungsparameter für jedes Operandenbit, d. h. für jeden Bit-Slice unterschiedlich ist. Eine hohe Sicherheit wird dadurch erreicht, daß der Schlüssel ab und an oder sogar für jeden Operanden gewechselt wird.Although basically any reversible encryption algorithm for encryption the operands of the AND gate and the OR gate are used can, it will for reasons preference for speed and circuitry, encryption in the form of an XOR link as an encryption algorithm and an encryption parameter or alternatively an XNOR link with an encryption parameter use, the encryption bitwise, d. H. that the encryption parameters for each Operand bit, i. H. For every bit slice is different. This ensures a high level of security achieved that the key now and then or even for every operand is changed.
In einer bevorzugten Ausführungsform arbeitet das gesamte Rechenwerk direkt auf verschlüsselten Operanden. Die Verschlüsselung kann nach dem Prinzip einer One-Time-Pad-Verschlüsselung erfolgen. Das Ergebnis liegt dabei ebenfalls in verschlüsselter Form vor, ohne jemals ein Zwischenergebnis in Klartext zu generieren. Dadurch werden alle Arten von statistischen Angriffsszenarien, wie z. B. DPA und SPA, wesentlich erschwert. Dadurch wird – als bekannte sichere Alternative – eine Fullcustom-Lösung mit Dual-Rail-Precharge vermieden. Das erfindungsgemäße Rechenwerk ist somit technologieunabhängiger und typischerweise auch, wenn ein einfacher Verschlüsselungsalgorithmus verwendet wird, platzsparender als eine Fullcustom-Lösung in Dual-Rail-Precharge-Technik. Wenn jedoch eine maximale Sicherheit gesucht wird, so kann das erfindungsgemäße Rechenwerk ebenfalls in Dual-Rail-Precharge-Technik realisiert werden.In a preferred embodiment the entire arithmetic unit works directly on encrypted operands. The encryption can be done according to the principle of one-time pad encryption. The result is also encrypted Form without ever generating an intermediate result in plain text. This will allow all types of statistical attack scenarios, such as z. B. DPA and SPA, much more difficult. This is - as known safe alternative - one Full custom solution avoided with dual-rail pre-charge. The arithmetic unit according to the invention is therefore more technology independent and typically also if a simple encryption algorithm is used to save space than a full custom solution in Dual rail precharge technique. However, if maximum security is searched, the arithmetic unit according to the invention can also be found in Dual rail precharge technology will be realized.
Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung werden nachfolgend Bezug nehmend auf die beiliegenden Zeichnungen detailliert erläutert. Es zeigen:Preferred embodiments of the present Invention are hereinafter referred to with reference to the accompanying Drawings explained in detail. Show it:
Das umverschlüsselte Übertragbit wird dann in einen
zweiten Addierer
Der Carry-Skip-Addierer für verschlüsselte Daten
aus
Es sei darauf hingewiesen, daß bei dem
in
Zur Erzeugung der verschlüsselten Übertragsignale,
Propagate-Signale
und Skip-Signale existieren verschiedene Möglichkeiten. Eine einfache
Möglichkeit
zur Erzeugung dieser Signale besteht darin, Klartext-Addierer
Die vorstehend beschriebene Ausführungsform
liefert bereits eine gewisse Sicherheit dahingehend, daß keine
verschlüsselten
Daten über
längere
Leitungen übertragen
werden. In diesem Zusammenhang ist es ebenfalls sinnvoll, die Summenbits
der Addierer
Eine weitere Sicherheitserhöhung besteht
darin, die UND-Operation
der R-Box sowie die ODER-Operation der C-Box nicht mehr im Klartextraum
auszuführen,
sondern bereits die UND-Verknüpfung mittels
der R-Box
Die Operation der R-Box im Geheimtextraum
läßt sich
folgendermaßen
angeben:
Gewünscht ist, daß nur verschlüsselte Operanden
vorhanden sind. Ein verschlüsseltes Übertragsignal c' sei folgendermaßen definiert,
wobei VA einen Verschlüsselungsalgorithmus
angibt, und wobei i der Schlüssel
für den
Verschlüsselungsalgorithmus
ist:
Aus Gleichung 5 läßt sich das Klartext-Übertragsignal
folgendermaßen
berechnen:
In Gleichung 7 bezeichnen i, j und k unterschiedliche Schlüssel, wobei i der Schlüssel für das Übertragsignal c ist, wobei j der Schlüssel für das Propagate-Signal P ist und wobei k der Schlüssel für das Ergebnis ist, also für das Skip-Signal.In equation 7, i, j and k different keys, where i is the key for the carry signal c is where j is the key for the Propagate signal P and where k is the key for the result, that is, for the skip signal.
Gleichung 7 kann für einen konkreten Verschlüsselungsalgorithmus entsprechend umgeformt werden, um zu einer Form zu gelangen, bei der ohne Berechnung von Zwischenergebnissen im Klartextraum das verschlüsselte Skip-Signal R aus dem verschlüsselten Übertragsignal c und dem verschlüsselten Propagate-Signal P berechnet werden kann.Equation 7 can for one concrete encryption algorithm be reshaped accordingly to form a shape at that without calculating intermediate results in plain text space encrypted Skip signal R from the encrypted carry signal c and the encrypted Propagate signal P can be calculated.
Dies wird nachfolgend anhand des
folgenden Verschlüsselungsalgorithmus
dargelegt.
Der Verschlüsselungsalgorithmus ist die
XOR-Funktion, deren Umkehrung ebenfalls die XOR-Operation ist. Gleichung
8 in Gleichung 7 eingesetzt wird zu folgendem Ausdruck:
Wenn angenommen wird, daß die Schlüssel i,
j und k gleich sind und dieser Schlüssel mit k bezeichnet wird,
und wenn Gleichung 9 unter Verwendung üblicher mathematischer Umformungsgesetze
umgeformt wird, erhält
man eine logische Gleichung für
R', die allgemein
ausgedrückt
folgendermaßen
gegeben ist:
Bezüglich der Notation in
Dieselbe Vorgehensweise wie in
In Gleichung 11 ist c' das Übertrag-Ausgangssignal
der C-Box
Eine direkte Logikimplementation
von Gleichung 12 ist in
Die Logikimplementationen der
Eine Umverschlüsselung für den in Gleichung 8 gezeigten
Verschlüsselungsalgorithmus
ist allgemein folgendermaßen
definiert:
In Gleichung 13 bedeutet x(i) einem mit dem Schlüssel i verschlüsselten Wert x, während x(j) einen mit j verschlüsselten Wert x darstellt. tij ist der Umverschlüsselungsschlüssel, der für den hier behandelten Verschlüsselungsalgorithmus aus einer XOR-Verknüpfung der beiden Schlüssel i und j berechnet wird.In equation 13, x (i) means a value x encrypted with the key i, while x (j) represents a value x encrypted with j. t ij is the re-encryption key that is calculated for the encryption algorithm discussed here from an XOR combination of the two keys i and j.
Wie es nachfolgend erläutert wird,
wird es bevorzugt, einen Carry-Skip-Addierer zu haben, der vollständig im
Geheimtextraum arbeitet, und bei dem Verschlüsselungsschlüssel bzw.
Verschlüsselungsparameter
bitweise vergeben werden. Dies bedeutet, wenn
Für Fachleute ist es offensichtlich, daß es für die Implementationen der Gleichungen, auf denen aufbauend die R-Box für verschlüsselte Daten und die C-Box für verschlüsselte Daten implementiert werden, und insbesondere für die Umverschlüsselungen eine Vielzahl verschiedener Möglichkeiten gibt, wobei die verschiedenen Möglichkeiten dadurch erhalten werden können, daß unter Verwendung mathematischer Umformungsgesetze die entsprechenden Gleichungen umgeformt werden, oder daß verschiedene Schlüsselbasen verwendet werden. Welche Implementation im praktischen Aufbau bevorzugt wird, hängt auch von der verwendeten Technologie ab, d. h. ob z. B. ODER-Gatter oder Exklusiv-ODER-Gatter günstiger zu implementieren sind, oder ob AND-Gatter oder NAND-Gatter für eine bestimmte Technologie geeigneter sind.For It is obvious to experts that it is for the implementations of the Equations based on the R-Box for encrypted data and the C-Box for encrypted data be implemented, and especially for the re-encryption a variety of different ways there, taking the various options can be obtained by that under Using mathematical transformation laws the corresponding equations be reshaped, or that different Keybases used become. Which implementation is preferred in practice, hangs too depending on the technology used, d. H. whether z. B. OR gate or exclusive OR gate better to implement, or whether AND gates or NAND gates for a particular Technology are more appropriate.
Wie es bereits ausgeführt worden
ist, wird es bevorzugt, für
die Addierer
Auf die Operandenbits ai,
bi bezogen bedeutet dies:
Das verschlüsselte Propagate-Signal P'a, berechnet sich
demnach unter Verwendung der Systematik von Gleichung 9 und Gleichung
11:
Auch Gleichung 16 kann unter Verwendung üblicher mathematischer Gesetze umgeformt werden, um zu einer Form zu gelangen, bei der keine Klartext-Zwischenergebnisse auftreten. Insbesondere ist aus Gleichung 16 zu ersehen, daß für jeden verschlüsselten Propagate-Wert eines Bit-Slices eine Umverschlüsselung für den nächst-höheren Bit-Slice durchzuführen ist, um wieder eine gemeinsame Schlüsselbasis zu erhalten. Die XOR-Verknüpfung des Gesamtergebnisses mit dem Ergebnis der XOR-Verknüpfung von k7 und k4 am Ende von Gleichung 16 liefert die Umverschlüsselung des Propagate-Werts auf den Schlüssel k4. Wird der Propagate-Wert dagegen verschlüsselt mit dem Schlüssel k7 benötigt, so kann auf diese Umverschlüsselungsoperation verzichtet werden.Equation 16 can also be transformed using conventional mathematical laws to arrive at a form in which no intermediate plain-text results occur. In particular, it can be seen from equation 16 that for each encrypted propagate value of a bit slice, a re-encryption for the next higher bit slice is to be carried out in order to obtain a common key base again. The XOR combination of the overall result with the result of the XOR combination of k 7 and k 4 at the end of equation 16 provides the re-encoding of the propagate value to the key k 4 . If, on the other hand, the propagate value is required encrypted with the key k 7 , this re-encryption operation can be dispensed with.
Für
Fachleute ist es offensichtlich, daß als Addierer
Im nachfolgenden werden verschiedene Möglichkeiten zum Implementieren eines Addierers im Geheimtextraum dargelegt.The following are different possibilities to implement an adder in ciphertext space.
Im nachfolgenden wird auf
Die Operation von drei Operanden
bzw. von drei Bits von Operanden, wenn ein Bit-Slice eines Parallel-Addierers
betrachtet wird, führt
zu einem Übertrag
c, wobei in der vorletzten Spalte und der drittletzten Spalte der
in
Der Übertrag ckn(n+i) ergibt sich durch folgende Gleichung: The carry ckn (n + i) results from the following equation:
Die Implementierung der vorstehenden
Gleichung ist in
Die beiden vorstehenden Gleichungen geben eine Implementation für einen Addierer mit verschlüsselten Operanden vor, der ein verschlüsseltes Summenbit s' (s' = skn) und ein verschlüsseltes Übertragbit c' (c' = (ckn)n+1) ausgibt, wobei derselbe eingangsseitig neben den beiden verschlüsselten Operanden ein verschlüsseltes Übertrageingangsbit erhält. Ein solcher Addierer wird im Stand der Technik – bei unverschlüsselten Daten – auch als Ein-Bit-Volladdierer bezeichnet.The two equations above provide an implementation for an adder with encrypted operands, which outputs an encrypted sum bit s '(s' = s kn ) and an encrypted carry bit c '(c' = (ckn) n + 1 ), the same on the input side in addition to the two encrypted operands receives an encrypted transmission input bit. Such an adder is also referred to in the prior art - in the case of unencrypted data - as a one-bit full adder.
Ein Ein-Bit-Volladdierer wird verwendet,
um einen n-Bit breiten Volladdierer
Der Ein-Bit-Volladdierer, der in
Die Addierergleichungen sind hier
so gewählt,
daß in
dem Ein-Bit-Volladdierer
Es wird darauf hingewiesen, daß das Übertragausgangsbit
des vorhergehenden Bit-Slices nicht direkt verwendet werden kann,
da für
die beiden unterschiedlichen Bit-Slice-Einrichtungen
Im Falle einer Verschlüsselung
mittels einer XOR-Verknüpfung
kann eine Umverschlüsselung
einfach durch XOR-Verknüpfung
des verschlüsselten Übertragausgangsbits
des Bit-Slices
Die Bit-Slice-Einrichtung
Werden mehrere Bit-Slices aneinander
geschaltet, wie es in
Selbstverständlich kann statt einer 0 auch
eine 1 angelegt werden, wie es für
den nachfolgend erläuterten
Carry-Select-Addierer
erläutert
wird. Ausgangsseitig liefert der Addierer von
- 1010
- erster Addiererfirst adder
- 1111
- UmverschlüsselungseinrichtungUmverschlüsselungseinrichtung
- 1212
- zweiter Addierersecond adder
- 1414
- R-BoxR-Box
- 1616
- C-BoxC-Box
- 1818
- dritter Addiererthird adder
- 22-2422-24
- UND-GatterAND gate
- 2525
- ODER-GatterOR gate
- 29-3129-31
- UND-GatterAND gate
- 3232
- ODER-GatterOR gate
- 171-173171-173
- UND-GatterAND gate
- 179-180179-180
- ODER-GatterOR gate
- 600600
- erster Addiererfirst adder
- 601601
- zweiter Addierersecond adder
- 602602
- dritter Addiererthird adder
- 603603
- Propagate-LeitungPropagate line
- 604604
- Übertrag-Ausgangssignal-LeitungCarry output signal line
- 605605
- UND-GatterAND gate
- 606606
- Skip-Signal-LeitungSkip signal line
- 607607
- Übertrag-Ausgangssignal-Leitung für den zweiten AddiererCarry output signal line for the second adder
- 608608
- ODER-GatterOR gate
- 12001200
- Bit-Slice für Bit nBit-slice for bit n
- 12021202
- Bit-Slice für Bit n+1Bit-slice for bit n + 1
- 12041204
- 1-Bit-Volladdierer1-bit full adder
- 12061206
- UmverschlüsselungseinrichtungUmverschlüsselungseinrichtung
Claims (11)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2002101450 DE10201450B4 (en) | 2002-01-16 | 2002-01-16 | Carry-skip adder for encrypted data |
AU2002358757A AU2002358757A1 (en) | 2002-01-16 | 2002-12-18 | Carry-skip adder for encoded data |
PCT/EP2002/014491 WO2003060672A1 (en) | 2002-01-16 | 2002-12-18 | Carry-skip adder for encoded data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE2002101450 DE10201450B4 (en) | 2002-01-16 | 2002-01-16 | Carry-skip adder for encrypted data |
Publications (2)
Publication Number | Publication Date |
---|---|
DE10201450A1 DE10201450A1 (en) | 2003-07-31 |
DE10201450B4 true DE10201450B4 (en) | 2004-09-02 |
Family
ID=7712275
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE2002101450 Expired - Fee Related DE10201450B4 (en) | 2002-01-16 | 2002-01-16 | Carry-skip adder for encrypted data |
Country Status (3)
Country | Link |
---|---|
AU (1) | AU2002358757A1 (en) |
DE (1) | DE10201450B4 (en) |
WO (1) | WO2003060672A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10395063B2 (en) | 2015-09-23 | 2019-08-27 | Infineon Technologies Ag | Zero detection circuit and masked boolean or circuit |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101817284B1 (en) | 2008-06-25 | 2018-01-11 | 에스바테크 - 어 노바티스 컴파니 엘엘씨 | Stable and soluble antibodies inhibiting vegf |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69222174T2 (en) * | 1991-08-05 | 1998-04-09 | Litton Systems, Inc., Woodland Hills, Calif. | NONLINEAR DYNAMIC BLOCK EXCHANGE PROCEDURES. |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5337269A (en) * | 1993-03-05 | 1994-08-09 | Cyrix Corporation | Carry skip adder with independent carry-in and carry skip paths |
KR100490114B1 (en) * | 1999-12-02 | 2005-05-16 | 인피네온 테크놀로지스 아게 | Microprocessor arrangement having an encoding function |
JP3848573B2 (en) * | 2000-01-18 | 2006-11-22 | インフィネオン テクノロジーズ アクチエンゲゼルシャフト | Microprocessor system |
-
2002
- 2002-01-16 DE DE2002101450 patent/DE10201450B4/en not_active Expired - Fee Related
- 2002-12-18 WO PCT/EP2002/014491 patent/WO2003060672A1/en not_active Application Discontinuation
- 2002-12-18 AU AU2002358757A patent/AU2002358757A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69222174T2 (en) * | 1991-08-05 | 1998-04-09 | Litton Systems, Inc., Woodland Hills, Calif. | NONLINEAR DYNAMIC BLOCK EXCHANGE PROCEDURES. |
Non-Patent Citations (2)
Title |
---|
Vorlesungsskript Uni Hannover, Ausgabe 11/00, insbes. Kap. 2.4.1, S. 2-16 bis 2-23 (online), Im Internet: URL:http://www.sra.uni-hannover.de/le hre/vorlesungen/hlr/kapitel_2.pdf recherchiert am 28.10.2002 |
Vorlesungsskript Uni Hannover, Ausgabe 11/00, insbes. Kap. 2.4.1, S. 2-16 bis 2-23 (online), Im Internet: URL:http://www.sra.uni-hannover.de/lehre/vorlesungen/hlr/kapitel_2.pdf recherchiert am 28.10.2002 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10395063B2 (en) | 2015-09-23 | 2019-08-27 | Infineon Technologies Ag | Zero detection circuit and masked boolean or circuit |
Also Published As
Publication number | Publication date |
---|---|
AU2002358757A1 (en) | 2003-07-30 |
WO2003060672A1 (en) | 2003-07-24 |
DE10201450A1 (en) | 2003-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10201449C1 (en) | Arithmetic unit, method for performing an operation with an encrypted operand, carry select adder and cryptography processor | |
DE102005012098B4 (en) | Data cipher processor as well as AES cipher system and AES ciphers | |
DE60223337T3 (en) | METHOD FOR SECURE ENCRYPTION AND COMPONENT FOR CARRYING OUT SUCH A COATING METHOD | |
DE102005028662B4 (en) | Method and device for calculating a polynomial multiplication, in particular for elliptic curve cryptography | |
DE10143728A1 (en) | Device and method for calculating a result of a modular exponentiation | |
DE10304451B3 (en) | Modular exponentiation with randomized exponent | |
DE10219158B4 (en) | Device and method for calculating a result of a modular multiplication | |
EP3387636B1 (en) | Cryptographic algorithm having a key-dependent masked computing step (sbox call) | |
DE10324422B4 (en) | Method and device for mapping an input value to be mapped onto an encrypted mapped output value | |
DE10201450B4 (en) | Carry-skip adder for encrypted data | |
DE69829566T2 (en) | ENCRYPTION DEVICE | |
WO2014063875A1 (en) | Device and method for carrying out a cryptographic method | |
EP1446711B1 (en) | Shifting device and shifting method | |
EP1466245B1 (en) | Arithmetic-logic unit and method for combining a first operand with a second operand | |
DE19921633A1 (en) | Procedure for implementing cryptographic algorithms | |
DE102004037814A1 (en) | Pseudo-random number generator for use as key generator in chip card, has combination unit to combine data sequences from respective outputs of nonlinear feedback shift registers for obtaining sequence of numbers | |
DE10201443B4 (en) | Carry save multiplier for encrypted data | |
DE10303723B4 (en) | Apparatus and method for calculating encrypted data from unencrypted data or unencrypted data from encrypted data | |
EP1044533A1 (en) | Encoding method for carrying out cryptographic operations | |
DE10129241B4 (en) | Multifunctional calculator | |
DE10207966B4 (en) | Device and method for coding a stream of information units or for decoding codewords | |
DE10149191C2 (en) | Method and device for determining original source data from original input data on the basis of a cryptographic operation | |
DE10201442C1 (en) | Device and method for multiplying or dividing a first operand by or by a second operand | |
DE10324420A1 (en) | Multiplexer cell for cryptography circuit for data communications has 3 elementary multiplexers in 2 successive stages one of which is controlled by encryption control signal | |
EP1833191A1 (en) | Data processing method with an encryption algorithm |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8364 | No opposition during term of opposition | ||
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |