WO2000019656A1 - Verschlüsselungsverfahren zum ausführen von kryptographischen operationen - Google Patents

Verschlüsselungsverfahren zum ausführen von kryptographischen operationen Download PDF

Info

Publication number
WO2000019656A1
WO2000019656A1 PCT/EP1999/007012 EP9907012W WO0019656A1 WO 2000019656 A1 WO2000019656 A1 WO 2000019656A1 EP 9907012 W EP9907012 W EP 9907012W WO 0019656 A1 WO0019656 A1 WO 0019656A1
Authority
WO
WIPO (PCT)
Prior art keywords
bit
data
sub
control signal
cryptographic
Prior art date
Application number
PCT/EP1999/007012
Other languages
English (en)
French (fr)
Inventor
Stefan Philipp
Original Assignee
Koninklijke Philips Electronics N.V.
Philips Corporate Intellectual Property Gmbh
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
Priority claimed from DE19936918A external-priority patent/DE19936918A1/de
Application filed by Koninklijke Philips Electronics N.V., Philips Corporate Intellectual Property Gmbh filed Critical Koninklijke Philips Electronics N.V.
Priority to JP2000573037A priority Critical patent/JP2003524916A/ja
Priority to EP99948819A priority patent/EP1044533A1/de
Publication of WO2000019656A1 publication Critical patent/WO2000019656A1/de

Links

Classifications

    • 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
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Definitions

  • the invention relates to an encryption method, wherein at least one cryptographic partial operation k;) of data Xi, ki stored digitally as data bit words, and the respective result or respective intermediate results yj are digitally stored or buffered as data bit words, according to the preamble of claim 1.
  • the invention further relates to an encryption device with a calculation unit and registers Rj , wherein the computing unit at least one cryptographic sub-operation k;) of operands x ;, k; stored digitally in the registers Rj of the encryption device as data bit words; executes and the respective result or intermediate results y; digital in the registers R; stores or temporarily stores the encryption device as data bit words, according to the preamble of claim 8.
  • cryptographic operations serve to protect the operation of these devices or to protect data carried in the device.
  • the calculation operations required for this are carried out both by standard arithmetic units and by dedicated crypto arithmetic units.
  • a typical example of the latter are chip cards or IC cards.
  • intermediate results yi are stored in memory areas or registers R; stored or finally the result of the calculation is stored in memory areas or registers for further processing.
  • the register r is located between a previous i-th cryptographic calculation and a subsequent (i + l) -th cryptographic calculation.
  • To calculate the cryptographic algorithms logical links between operands k or intermediate results yi or j, x 1 + 1 are carried out in the data processing devices. Depending on the technology used, these operations, in particular loading the memory areas or registers with data, lead to increased power consumption by the data processing devices.
  • Adequate extraction of the information could be made possible, for example, in the case of very small signal changes, by performing several current measurements on the data processing device. On the other hand, several current measurements could enable the formation of a difference, if necessary.
  • This type of cryptanalysis is also referred to as "differential power analysis", by means of which an outsider can successfully carry out a possibly unauthorized cryptanalysis of the cryptographic operations, algorithms, operands or data by simply observing changes in the power consumption of the data processing device.
  • control signal r since the control signal r; is not known or predetermined, there is no correlation between the current changes and the bit values of the data and results, so that a "differential power analysis" no longer leads to successful cryptanalysis. In other words, the average power consumption of the overall operation does not contain any useful information about the partial operands used or intermediate results in the partial operations. Further developments of the device are preferably described in claims 2 to 7.
  • One or more XOR operations are expediently carried out in the cryptographic partial operations.
  • the data include, for example, cryptographic keys and / or operands.
  • intermediate results y are temporarily stored in a register Rj between the execution of successive cryptographic partial operations and are supplied as operand x 1 + 1 to the subsequent cryptographic partial operations.
  • bit sequence x 1 + 1 y, obtained from the intermediate result yi of a previous partial operation i. for a subsequent sub-operation i + 1 bitwise, +1 complemented if the data x "k, of the previous sub-operation i was bitwise complemented.
  • Bit values or all bit values of a data bit word x "k" or y inverted. It is particularly advantageous here if an inversion of bit values or bit addresses of a
  • At least one inverter controllable by a control signal r, for at least one of the data x "k, and / or the result or at least one intermediate result y" is a random number generator, which
  • Control signal r optionally converting the bit sequences x “k, or y, to their bit-wise complement x,, k t or y t or leaving them unchanged.
  • At least one register R an inverter is connected downstream, which receives the identical control signal rj as the inverter upstream of the i-th sub-operation for the data x ;, ki.
  • This inverter connected downstream of a register Rj of the i-th sub-operation is preferably combined with one of the following (i + 1) th sub-operations upstream for an input data x 1 + 1 .
  • the combined inverter expediently receives both the control signal r; the previous i-th sub-operation as well as the control signal r ⁇ +1 of the subsequent (i + l) -th sub-operation.
  • the data include, for example, cryptographic keys and / or
  • a register R stores; an intermediate result yj of the previous i-th sub-operation between a previous i-th sub-operation and a subsequent (i + l) -th sub-operation and forwards this intermediate result as input value x 1 + 1 to the subsequent (i + l) -th sub-operation.
  • the bit-wise complementation expediently inverts at least one bit value, in particular the even bit values, the odd bit values or all bit values, of a data bit word x 1; kj, or y ,.
  • FIG. 1 shows a flowchart of a part of a cryptographic operation according to the prior art
  • FIG. 2 shows a flowchart of a part of a first preferred
  • FIG. 3 shows a flow diagram of part of a second preferred embodiment of a cryptographic operation according to the invention.
  • a cryptographic overall operation is carried out by a chain of partial operations fi (xi, kj) within which one or more logical XOR operations (exclusive-OR operation) are carried out.
  • Two sub-operations are shown, namely the i-th sub-operation 10 and the (i + l) -th sub-operation 12, each sub-operation being carried out by a calculation unit.
  • Each sub-operation 10, 12 is a memory cell or a register Rj 14 or a memory cell or a register R; 16 downstream.
  • Each sub-operation 10, 12 has a data Xj, Xj + i and an operand ki, k as input value; +1 , which are available as data bit words.
  • a controllable inverter 18 or 20 for the data Xj, xj + i and a controllable inverter 22, 24 for the operands kj, kj +1 are connected in front of each suboperation 10, 12. Furthermore, a controllable inverter 26, 28 for the intermediate result yj, y 1 + 1 is connected downstream of the respective register Rj 14 or R 1 + 1 16 for each partial operation 10, 12, this
  • Sub-operations 10, 12 are calculated one after the other by the same unit and thus the sub-results have to be buffered.
  • the repeated execution of the overall calculation ensures that each data path changes from “0” to the same number "0", changes from “0" to "1", from “1” to “0” and from "1" to "1".
  • the average power consumption of the overall operation therefore contains no useful information about the partial operands kj used or intermediate results y; in sub-operations 10, 12.
  • the inverter 26, 28 connected downstream of the register 14, 16 restores the original, non-inverted value for the following sub-operation 12.
  • the second preferred embodiment of the encryption method according to the invention shown in FIG. 3 corresponds to the first embodiment of FIG. 2 with the only difference that the inverters 26, 28 connected downstream of the registers 14, 16 combine with the respective input inverter 20 of the following stage 12 to form an inverter 30 are.
  • the inverters also invert only a part of the bit values of the respective data bit word. For example, only the even or odd bit words or bit addresses are inverted.
  • the bit values are inverted, for example, by means of an XOR operation (exclusive-OR operation).
  • controllable inverters for yj 28 controllable inverters for yj +1

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

Die vorliegende Erfindung betrifft ein Verschlüsselungsverfahren sowie eine Verschlüsselungsvorrichtung, wobei wenigstens eine kryptographische Teiloperation yi=fi(xi, ki) von digital als Datenbitworte gespeicherten Daten xi, ki ausgeführt und das jeweilige Ergebnis bzw. jeweilige Zwischenergebnisse yi digital als Datenbitworte abgespeichert bzw. zwischengespeichert werden. Hierbei wird wenigstens eines der Daten xi, ki und/oder das Ergebnis bzw. wenigstens ein Zwischenergebnis yi in Abhängigkeit von einem auf Zufallszahlen basierenden Steuersignal ri wahlweise bitweise zu æi, ki und/oder yi komplementiert oder nicht.

Description

Verschlüsselungsverfahren zum Ausführen von kryptographischen Operationen.
Die Erfindung betrifft ein Verschlüsselungsverfahren, wobei wenigstens eine kryptographische Teiloperation
Figure imgf000003_0001
k;) von digital als Datenbitworte gespeicherten Daten Xi, ki ausgeführt und das jeweilige Ergebnis bzw. jeweilige Zwischenergebnisse yj digital als Datenbitworte abgespeichert bzw. zwischengespeichert werden, gemäß dem Oberbegriff des Anspruchs 1. Die Erfindung betrifft ferner eine Verschlüsselungsvorrichtung mit einer Berechnungseinheit und Registern Rj, wobei die Berechnungseinheit wenigstens eine kryptographische Teiloperation
Figure imgf000003_0002
k;) von digital in den Registern Rj der Verschlüsselungsvorrichtung als Datenbitworte gespeicherten Operanden x;, k; ausführt und das jeweilige Ergebnis bzw. Zwischenergebnisse y; digital in den Registern R; der Verschlüsselungsvorrichtung als Datenbitworte abspeichert bzw. zwischenspeichert, gemäß dem Oberbegriff des Anspruchs 8.
In vielen Datenverarbeitungsgeräten dienen kryptographische Operationen zum Schutz des Betriebes dieser Geräte bzw. zum Schutz von in dem Gerät transportierten Daten. Die hierfür notwendigen Berechnungsoperationen werden dabei sowohl von Standard- Rechenwerken als auch von dedizierten Crypto-Rechenwerken durchgeführt. Ein typisches Beispiel für letzteres sind Chipkarten bzw. IC-Karten. Bei derartigen kryptographischen Berechnungen, wie in Fig. 1 veranschaulicht, ist es oftmals notwendig, entsprechende Speicherbereiche bzw. Register des Datenverarbeitungsgerätes mit Operanden Xj, k; zu initialisieren. Während der i-ten Berechnung werden ggf. Zwischenergebnisse yi in Speicherbereichen oder Registern R; abgelegt oder abschließend das Ergebnis der Berechnung zur Weiterverarbeitung in Speicherbereichen oder Registern abgelegt. Das Register r; befindet sich zwischen einer vorherigen i-ten kryptographischen Berechnung und einer nachfolgenden (i+l)-ten kryptographischen Berechnung. Bei den in diesem Zusammenhang verwendeten Daten Xj, k; bzw. Zwischenergebnissen y; handelt es sich üblicherweise um sicherheitsrelevante Informationen, wie beispielsweise kryptographische Schlüssel oder Operanden. Zur Berechnung der kryptographischen Algorithmen werden in den Datenverarbeitungsgeräten logische Verknüpfungen zwischen Operanden k, bzw. Zwischenergebnissen yi bzw. j, x1+1 durchgeführt. In Abhängigkeit von der verwendeten Technologie führen diese Operationen, insbesondere das Laden der Speicherbereiche bzw. Register mit Daten, zu einem erhöhten Stromverbrauch der Datenverarbeitungsgeräte. Bei komplementärer Logik, wie beispielsweise der CMOS-Technik, tritt ein erhöhter Stromverbrauch dann auf, wenn der Wert einer Bit-Speicherzelle geändert wird, d.h. sein Wert sich von "0" auf "1" bzw. von "1" auf "0" ändert. Der erhöhte Verbrauch hängt dabei von der Anzahl der im Speicher bzw. Register geänderten Bitstellen ab. Mit anderen Worten lässt das Laden eines zuvor gelöschten Registers einen Stromverbrauch proportional zum Hamminggewicht des Operanden (=Anzahl der Bits mit dem Wert "1") bzw. der Differenz im Hamminggewicht ansteigen. Durch eine entsprechende Analyse dieser Stromänderung könnte es möglich sein, Informationen über die berechneten Operationen zu extrahieren, so dass eine erfolgreiche Kryptoanalyse von geheimen Operanden, wie beispielsweise kryptographischen Schlüsseln, möglich ist. Mittels Durchführung mehrerer Strommessungen am Datenverarbeitungsgerät könnten beispielsweise bei sehr kleinen Signaländerungen eine hinreichende Extraktion der Informationen ermöglicht werden. Andererseits könnten mehrere Strommessungen eine ggf. erforderliche Differenzbildung ermöglichen. Diese Art der Kryptoanalyse wird auch als "Differential Power Analysis" bezeichnet, mittels derer ein Außenstehender durch reine Beobachtung von Änderungen des Stromverbrauches des Datenverarbeitungsgerätes eine ggf. unberechtigte Kryptoanalyse der kryptographischen Operationen, Algorithmen, Operanden bzw. Daten erfolgreich ausführen kann.
Aus der US 5 297 201 ist es bekannt, einen Hochfrequenz abstrahlenden Computer mit einer Einrichtung zu kombinieren, welche ebenfalls Hochfrequenz ähnlich zu derjenigen des Computers abstrahlt. Dadurch ist es für einen unberechtigten Dritten nicht mehr möglich, die Hochfrequenzabstrahlung des Computers zu dekodieren. Eine Kryptoanalyse durch einen Dritten, der unmittelbar Zugang zum Computer hat, kann dieses System jedoch nicht verhindern. Um bei Chipkarten eine Korrelation zwischen einer Ausgabe eines Ergebnisses einer kryptographischen Operation bzw. einer Übertragung einer Schlüsselinformation für eine kryptographischen Operation und der kryptographischen Operation selbst zu beseitigen ist es aus Patent Abstracts of Japan 10069222A bekannt, das Ergebnis der kryptographischen Operation bzw. die Übertragung der Schlüsselinformation für die kryptographischen Operationen zeitlich zu verzögern. Jedoch ist auch dieses System mittels der "Differential Power Analysis" analysierbar, da sich auch die verzögerte Datenübertragung im Stromverbrauch des Datenverarbeitungsgerätes verrät.
Es ist Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren sowie eine verbesserte Vorrichtung der obengenannten Art zur Verfügung zu stellen, welche die obengenannten Nachteile beseitigen und eine erfolgreiche Kryptoanalyse mittels Beobachtung eines Stromverbrauches eines Datenverarbeitungsgerätes wirksam verhindert. Diese Aufgabe wird durch ein Verfahren der o.g. Art mit den in Anspruch 1 gekennzeichneten Merkmalen gelöst.
Dazu ist es erfindungsgemäß vorgesehen, dass wenigstens eines der Daten Xj, kj und/oder das Ergebnis bzw. wenigstens ein Zwischenergebnis yi in Abhängigkeit von einem auf Zufallszahlen basierenden Steuersignal r, wahlweise bitweise zu y ' und/oder y. komplementiert wird oder nicht.
Dies hat den Vorteil, dass bei wiederholter Ausführung derselben kryptographischen Operation andere Bitfolgen bearbeitet bzw. abgespeichert werden, so dass sich bei der jeweiligen Ausführung einer kryptographischen Operation bzw. mehrerer kryptographischer Operationen andere Stromänderungen des Datenverarbeitungsgerätes ergeben. Unabhängig vom eigentlichen Wert der Teilergebnisse wird somit bei wiederholter Ausführung der Gesamtberechnung erreicht, dass jeder Datenpfad bei einer echten Zufallszahlenreihe gleichhäufig bzw. bei einer Pseudozufallszahlenreihe nahezu gleichhäufig von "0" auf "0", von "0" auf "1", von "1" auf "0" und von "1" auf "1" wechselt. Da jedoch das auf Zufallszahlen basierende Steuersignal r; nicht bekannt bzw. vorbestimmt ist, fehlt eine Korrelation zwischen den Stromänderungen und den Bitwerten der Daten und Ergebnisse, so dass eine "Differential Power Analysis" nicht mehr zu einer erfolgreichen Kryptoanalyse führt. Mit anderen Worten enthält der mittlere Stromverbrauch der Gesamtoperation keine brauchbare Information über die verwendeten Teiloperanden bzw. Zwischenergebnisse in den Teiloperationen. Vorzugsweise Weitergestaltungen der Vorrichtung sind in den Ansprüchen 2 bis 7 beschrieben.
Zweckmäßigerweise werden in den kryptographischen Teiloperationen eine oder mehrere XOR-Verknüfungen (Exklusiv-Oder-Verknüfung) ausgeführt. Die Daten umfassen beispielsweise kryptographische Schlüssel und/oder Operanden.
In einer bevorzugten Ausführungsform werden Zwischenergebnisse y, zwischen der Ausführung von aufeinander folgenden kryptographischen Teiloperationen in einem Register Rj zwischengespeichert und als Operand x1+1 der nachfolgenden kryptographischen Teiloperationen zugeführt.
Zum Herstellen eines originalen, nicht invertierten Wertes nach jeder Teiloperation wird eine aus dem Zwischenergebnis yi einer vorangegangenen Teiloperation i erhaltene Bitfolge x1+1 = y,. für eine nachfolgende Teiloperation i+1 bitweise zu ,+1 komplementiert, wenn die Daten x„ k, der vorangegangenen Teiloperation i bitweise komplementiert wurden.
In einer besonders bevorzugten Ausführungsform werden bei der bitweisen
Komplementierung wenigstens ein Bitwert, insbesondere die geraden Bitwerte, die ungeraden
Bitwerte oder alle Bitwerte, eines Datenbitwortes x„ k„ bzw. y, invertiert. Hierbei ist es besonders vorteilhaft, wenn eine Invertierung von Bitwerten bzw. Bitadressen eines
Datenbitwortes x„ k„ bzw. y, bei der bitweisen Komplementierung mittels einer XOR-
Operation (Exklusiv-Oder-Operation) durchgeführt wird.
Bei einer Vorrichtung der o.g. Art ist erfindungsgemäß wenigstens ein von einem Steuersignal r, steuerbarer Inverter für wenigstens eines der Daten x„ k, und/oder das Ergebnis bzw. wenigstens ein Zwischenergebnis y„ ein Zufallszahlengenerator, welcher
Zufallszahlen erzeugt, sowie eine Vorrichtung zum Erzeugen des Steuersignals r, auf den
Zufallszahlen basierend vorgesehen, wobei der steuerbare Inverter in Abhängigkeit von dem
Steuersignal r, wahlweise die Bitfolgen x„ k, bzw. y, zu ihrem bitweisen Komplement x, , kt bzw. yt umsetzt oder unverändert lässt. Dies hat den Vorteil, dass bei wiederholter Ausführung derselben kryptographischen Operation andere Bitfolgen bearbeitet bzw. abgespeichert werden, so dass sich bei der jeweiligen Ausführung der kryptographischen Operation bzw. kryptographischen Operationen andere Stromänderungen des Datenverarbeitungsgerätes ergeben. Unabhängig vom eigentlichen Wert der Teilergebnisse wird somit bei wiederholter Ausführung der Gesamtberechnung erreicht, dass jeder Datenpfad bei einer echten Zufallszahlenreihe gleichhäufig bzw. bei einer Pseudozufallszahlenreihe nahezu gleichhäufig von "0" auf "0", von "0" auf "1", von "1" auf "0" und von "1" auf "1" wechselt. Da jedoch das auf Zufallszahlen basierende Steuersignal r,. nicht bekannt bzw. vorbestimmt ist, fehlt eine Korrelation zwischen den Stromänderungen und den Bitwerten der Daten und Ergebnisse, so dass eine "Differential Power Analysis" nicht mehr zu einer erfolgreichen Kryptoanalyse führt. Mit anderen Worten enthält der mittlere Stromverbrauch der Gesamtoperation keine brauchbare Information über die verwendeten Teiloperanden bzw. Zwischenergebnisse in den Teiloperationen. Vorzugsweise Weitergestaltungen der Vorrichtung sind in den Ansprüchen 9 bis 14 beschrieben.
In einer bevorzugten Ausführungsform ist wenigstens einem Register R; ein Inverter nachgeschaltet, welcher das identische Steuersignal rj erhält, wie die der i-ten Teiloperation vorgeschalteten Inverter für die Daten x;, ki. Dieser einem Register Rj der i-ten Teiloperation nachgeschaltete Inverter ist dabei bevorzugt mit einem der nachfolgenden (i+1)- ten Teiloperation vorgeschalteten Inverter für ein Eingangsdatum x1+1 kombiniert. Der kombinierte Inverter erhält zweckmäßigerweise sowohl das Steuersignal r; der vorangegangenen i-ten Teiloperation als auch das Steuersignal rι+1 der nachfolgenden (i+l)-ten Teiloperation. Die Daten umfassen beispielsweise kryptographische Schlüssel und/oder
Operanden.
In einer bevorzugten Ausführungsform speichert ein Register R; zwischen einer vorangegangenen i-ten Teiloperation und einer nachfolgenden (i+l)-ten Teiloperation ein Zwischenergebnis yj der vorangegangenen i-ten Teiloperation und leitet dieses Zwischenergebnis als Eingangswert x1+1 an die nachfolgende (i+l)-te Teiloperation weiter. Zweckmäßigerweise invertiert die bitweise Komplementierung wenigstens einen Bitwert, insbesondere die geraden Bitwerte, die ungeraden Bitwerte oder alle Bitwerte, eines Datenbitwortes x1; kj, bzw. y,.
Nachstehend wird die Erfindung anhand der beigefügten Zeichnungen näher erläutert. Diese zeigen in
Fig. 1 ein Ablaufschema eines Teiles einer kryptographischen Operation gemäß dem Stand der Technik, Fig. 2 ein Ablaufschema eines Teiles einer ersten bevorzugten
Ausführungsform einer erfindungsgemäßen kryptographischen Operation und
Fig. 3 ein Ablaufschema eines Teiles einer zweiten bevorzugten Ausführungsform einer erfindungsgemäßen kryptographischen Operation. Bei der in Fig. 2 dargestellten ersten bevorzugten Ausführungsform eines erfindungsgemäßen Verschlüsselungsverfahrens wird durch eine Kette von Teiloperationen fi(xi, kj), innerhalb derer ein oder mehrere logische XOR- Verknüpfungen (Exklusiv-Oder- Verknüpfung) ausgeführt werden, eine kryptographische Gesamtoperation durchgeführt. Dargestellt sind zwei Teiloperationen, nämlich die i-te Teiloperation 10 und die (i+l)-te Teiloperation 12, wobei jede Teiloperation von einer Berechnungseinheit ausgeführt wird. Jeder Teiloperation 10, 12 ist eine Speicherzelle oder ein Register Rj 14 bzw. eine Speicherzelle oder ein Register R; 16 nachgeschaltet. Jede Teiloperation 10, 12 hat als Eingangswert ein Datum Xj, Xj+i sowie einen Operanden ki, k;+1, welche als Datenbitworte zur Verfügung stehen.
Jeder Teiloperation 10, 12 vorgeschaltet ist jeweils ein steuerbarer Inverter 18 bzw. 20 für die Daten Xj, xj+i sowie jeweils ein steuerbarer Inverter 22, 24 für die Operanden kj, kj+1. Ferner ist bei jeder Teiloperation 10, 12 dem jeweiligen Register Rj 14 bzw. R1+1 16 ein steuerbarer Inverter 26, 28 für das Zwischenergebnis yj, y1+1 nachgeschaltet, wobei dieses
Zwischenergebnis von dem jeweiligen Register Rj 14 bzw. R;+1 16 als Eingangsdaten x1+1 bzw. Xi+2 an eine nachfolgende Teiloperation 12 weiter gegeben werden. Diese Inverter 18 bis 28 sind durch ein Steuersignal n bzw. r1+1 derart steuerbar, dass sie in Abhängigkeit von dem jeweiligen Steuersignal r; bzw. r1+1 wahlweise die zugeordneten Datenbitworte bitweise komplementieren oder nicht. Hierbei erhalten alle Inverter 18, 22, 26 bzw. 20, 24, 28 einer Teiloperation 10 bzw. 12 dasselbe Steuersignal r; bzw. rj+1. Mit anderen Worten wird die Entscheidung, ob eine Invertierung der entsprechenden Eingangswerte der Inverter 18 bis 28 durchgeführt wird oder ob die Eingangswerte unbearbeitet die Inverter 18 bis 28 durchlaufen, durch das zusätzliche Steuersignal bzw. rj+i entschieden. Diese Anordnung von Registern 14, 16 zwischen Teiloperationen 10, 12 findet vor allem dann Anwendung, wenn die
Teiloperationen 10, 12 zeitlich nacheinander von ein und derselben Einheit berechnet werden und somit die Teilergebnisse zwischengespeichert werden müssen.
Das Steuersignal wird durch Zufallswerte aus einem Zufallsgenerator dahingehend gesteuert, dass die Teiloperation abhängig vom Wert der Zufallszahlen entweder das Originalergebnis y = f(x, k) oder das bitinvertierte Ergebnis y = f(x, k) liefert. Hierdurch wird realisiert, dass sowohl die Berechnung als auch die Speicherung der Daten in den Registern Rj 14, 18 entweder mit Originalwerten oder mit bitinvertierten Werten durchgeführt wird. Unabhängig vom eigentlichen Wert der Teilergebnisse wird somit bei wiederholter Ausführung der Gesamtberechnung erreicht, dass jeder Datenpfad gleich häufig von "0" auf "0", von "0" auf "1", von "1" auf "0" und von "1" auf "1" wechselt. Der mittlere Stromverbrauch der Gesamtoperation enthält somit keine brauchbare Information über die verwendeten Teiloperanden kj bzw. Zwischenergebnisse y; in den Teiloperationen 10, 12. Der dem Register 14, 16 nachgeschaltete Inverter 26, 28 stellt für die folgende Teiloperation 12 wieder den originalen, nicht invertierten Wert her.
Die zweite bevorzugte Ausführungsform des erfindungsgemäßen Verschlüsselungsverfahrens gemäß Fig. 3 entspricht der ersten Ausführungsform von Fig. 2 mit dem einzigen Unterschied, dass die den Registern 14, 16 nachgeschalteten Inverter 26, 28 mit dem jeweiligen Eingangsinverter 20 der folgenden Stufe 12 zu einem Inverter 30 kombiniert sind.
Die Inverter invertieren beispielsweise auch nur einen Teil der Bitwerte des jeweiligen Datenbitwortes. So werden beispielsweise nur die geraden oder ungeraden Bitworte bzw. Bitadressen invertiert. Die Invertierung der Bitwerte erfolgt beispielsweise mittels einer XOR-Operation (Exklusiv-Oder-Operation).
BEZUGSZEICHENLISTE:
10 i-te Teiloperation
12 (i+l)-te Teiloperation
14 Register Ri
16 Register R1+1 18 steuerbarer Inverter für xj
20 steuerbarer Inverter für x1+1
22 steuerbarer Inverter für k;
24 steuerbarer Inverter für k1+1
26 steuerbarer Inverter für yj 28 steuerbarer Inverter für yj+1
30 kombinierter Inverter

Claims

PATENTANSPRÜCHE:
1. Verschlüsselungsverfahren, wobei wenigstens eine kryptographische Teiloperation kj) von digital als Datenbitworte gespeicherten Daten Xj, k; ausgeführt und das jeweilige Ergebnis bzw. jeweilige Zwischenergebnisse y; digital als Datenbitworte abgespeichert bzw. zwischengespeichert werden, dadurch gekennzeichnet, dass wenigstens eines der Daten xj, kj und/oder das Ergebnis bzw. wenigstens ein Zwischenergebnis y; in Abhängigkeit von einem auf Zufallszahlen basierenden Steuersignal rj wahlweise bitweise zu xi, ki und/oder yi komplementiert wird oder nicht.
2. Verschlüsselungsverfahren nach Anspruch 1, dadurch gekennzeichnet, dass in den kryptographischen Teiloperationen eine oder mehrere XOR- Verknüpfungen (Exklusiv- Oder- Verknüpfung) ausgeführt werden.
3. Verschlüsselungsverfahren nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Daten kryptographische Schlüssel und/oder Operanden umfassen.
4. Verschlüsselungsverfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass
Zwischenergebnisse y; zwischen der Ausführung von aufeinander folgenden kryptographischen Teiloperationen in einem Register R; zwischengespeichert und als Operand Xi+1 der nachfolgenden kryptographischen Teiloperationen zugeführt werden.
5. Verschlüsselungsverfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass eine aus dem Zwischenergebnis y; einer vorangegangenen Teiloperation i erhaltene Bitfolge Xi+i = Yi für eine nachfolgende Teiloperation i+1 bitweise zu 3 +1 komplementiert wird, wenn die Daten Xj, kj der vorangegangenen Teiloperation i bitweise komplementiert wurden.
6. Verschlüsselungsverfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass bei der bitweisen Komplementierung wenigstens ein Bitwert, insbesondere die geraden Bitwerte, die ungeraden Bitwerte oder alle Bitwerte, eines Datenbitwortes Xj, kj, bzw. yi invertiert werden.
7. Verschlüsselungsverfahren nach einem der vorhergehenden Ansprüche, dadurch gekennzeichnet, dass eine Invertierung von Bitwerten bzw. Bitadressen eines Datenbitwortes Xj, kj, bzw. y bei der bitweisen Komplementierung mittels einer XOR-Operation (Exklusiv-Oder-Operation) durchgeführt wird.
8. Verschlüsselungsvorrichtung mit einer Berechnungseinheit und Registern Rj (14, 16), wobei die Berechnungseinheit wenigstens eine kryptographische Teiloperation yi=fi(Xi, kj) (10, 12) von digital in den Registern R; (14, 16) der Verschlüsselungsvorrichtung als Datenbitworte gespeicherten Operanden Xj, kj ausführt und das jeweilige Ergebnis bzw. Zwischenergebnisse y; digital in den Registern Ri (14, 16) der Verschlüsselungsvorrichtung als Datenbitworte abspeichert bzw. zwischenspeichert, dadurch gekennzeichnet, dass wenigstens ein von einem Steuersignal rj steuerbarer Inverter (18 bis 28; 30) für wenigstens eines der Daten Xj, kj und/oder das Ergebnis bzw. wenigstens ein Zwischenergebnis yj, ein Zufallszahlengenerator, welcher Zufallszahlen erzeugt, sowie eine Vorrichtung zum Erzeugen des Steuersignal r; auf den Zufallszahlen basierend vorgesehen ist, wobei der steuerbare Inverter (18 bis 28; 30) in Abhängigkeit von dem Steuersignals r; wahlweise die Bitfolgen Xi, kj bzw. yj zu ihrem bitweisen Komplement 3c. , kt bzw. yt umsetzt oder unverändert lässt.
9. Verschlüsselungsvorrichtung nach Anspruch 8, dadurch gekennzeichnet, dass wenigstens einem Register Rj (14, 16) ein Inverter (26, 28; 30) nachgeschaltet ist, welcher das identische Steuersignal n erhält, wie die der i-ten Teiloperation (10, 12) vorgeschalteten Inverter (18, 20) für die Daten xj, k;.
10. Verschlüsselungsvorrichtung nach Anspruch 9, dadurch gekennzeichnet, dass der einem Register R; (14, 16) der i-ten Teiloperation (10, 12) nachgeschaltete Inverter (26, 28) mit einem der nachfolgenden (i+l)-ten Teiloperation (12) vorgeschalteten Inverter (20) für ein Eingangsdatum Xj+1 kombiniert ist.
11. Verschlüsselungsvorrichtung nach Anspruch 10, dadurch gekennzeichnet, dass der kombinierte Inverter (30) sowohl das Steuersignal r; der vorangegangenen i-ten Teiloperation (10) als auch das Steuersignal r;+1 der nachfolgenden (i+l)-ten Teiloperation (12) erhält.
12. Verschlüsselungsvorrichtung nach einem der Ansprüche 8 bis 11, dadurch gekennzeichnet, dass die Daten kryptographische Schlüssel und/oder Operanden umfassen.
13. Verschlüsselungsvorrichtung nach einem der Ansprüche 8 bis 12, dadurch gekennzeichnet, dass ein Register R; (14, 16) zwischen einer vorangegangenen i-ten Teiloperation (10) und einer nachfolgenden (i+l)-ten Teiloperation (12) ein Zwischenergebnis yi der vorangegangenen i- ten Teiloperation (10) speichert und dieses Zwischenergebnis als Eingangswert x1+1 an die nachfolgende (i+l)-te Teiloperation (12) weiterleitet.
14. Verschlüsselungsvorrichtung nach einem der Ansprüche 8 bis 13, dadurch gekennzeichnet, dass die bitweise Komplementierung wenigstens einen Bitwert, insbesondere die geraden Bitwerte, die ungeraden Bitwerte oder alle Bitwerte, eines Datenbitwortes Xi, k;, bzw. yi invertiert.
PCT/EP1999/007012 1998-09-30 1999-09-17 Verschlüsselungsverfahren zum ausführen von kryptographischen operationen WO2000019656A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000573037A JP2003524916A (ja) 1998-09-30 1999-09-17 暗号処理を実行するための符号化方法
EP99948819A EP1044533A1 (de) 1998-09-30 1999-09-17 Verschlüsselungsverfahren zum ausführen von kryptographischen operationen

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
DE19845095 1998-09-30
DE19845095.8 1998-09-30
DE19936918.6 1999-08-05
DE19936918A DE19936918A1 (de) 1998-09-30 1999-08-05 Verschlüsselungsverfahren zum Ausführen von kryptographischen Operationen

Publications (1)

Publication Number Publication Date
WO2000019656A1 true WO2000019656A1 (de) 2000-04-06

Family

ID=26049210

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP1999/007012 WO2000019656A1 (de) 1998-09-30 1999-09-17 Verschlüsselungsverfahren zum ausführen von kryptographischen operationen

Country Status (3)

Country Link
EP (1) EP1044533A1 (de)
JP (1) JP2003524916A (de)
WO (1) WO2000019656A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003516659A (ja) * 1999-12-11 2003-05-13 ハネウェル・インコーポレーテッド 1の補数暗号コンバイナ
US6954047B2 (en) 2001-08-10 2005-10-11 Robert Bosch Gmbh Transmission detector for a window body, in particular the windshield of a motor vehicle, and a cleaning device for a viewing area of a window body

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4317607B2 (ja) * 1998-12-14 2009-08-19 株式会社日立製作所 情報処理装置、耐タンパ処理装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4176247A (en) * 1973-10-10 1979-11-27 Sperry Rand Corporation Signal scrambler-unscrambler for binary coded transmission system
US5091941A (en) * 1990-10-31 1992-02-25 Rose Communications, Inc. Secure voice data transmission system
US5297201A (en) 1992-10-13 1994-03-22 J.D. Technologies, Inc. System for preventing remote detection of computer data from tempest signal emissions
FR2776445A1 (fr) * 1998-03-17 1999-09-24 Schlumberger Ind Sa Procede de securisation de donnees mettant en oeuvre un algorithme cryptographique

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4176247A (en) * 1973-10-10 1979-11-27 Sperry Rand Corporation Signal scrambler-unscrambler for binary coded transmission system
US5091941A (en) * 1990-10-31 1992-02-25 Rose Communications, Inc. Secure voice data transmission system
US5297201A (en) 1992-10-13 1994-03-22 J.D. Technologies, Inc. System for preventing remote detection of computer data from tempest signal emissions
FR2776445A1 (fr) * 1998-03-17 1999-09-24 Schlumberger Ind Sa Procede de securisation de donnees mettant en oeuvre un algorithme cryptographique
EP1064752B1 (de) 1998-03-17 2003-08-20 SCHLUMBERGER Systèmes Verfahren zur datensicherung welches einen krypto-algorithmus verwendet

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
ADLER: "Cryptographic Device", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 16, no. 10, March 1974 (1974-03-01), pages 3406 - 4309
ADLER: "Cryptographic Device. March 1974.", IBM TECHNICAL DISCLOSURE BULLETIN, vol. 16, no. 10, New York, US, pages 3406 - 3409, XP002128176 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003516659A (ja) * 1999-12-11 2003-05-13 ハネウェル・インコーポレーテッド 1の補数暗号コンバイナ
US6954047B2 (en) 2001-08-10 2005-10-11 Robert Bosch Gmbh Transmission detector for a window body, in particular the windshield of a motor vehicle, and a cleaning device for a viewing area of a window body

Also Published As

Publication number Publication date
JP2003524916A (ja) 2003-08-19
EP1044533A1 (de) 2000-10-18

Similar Documents

Publication Publication Date Title
DE60222052T2 (de) Verschlüsselung gesichert gegen Angriffe durch die Analyse der Leistungsaufnahme (DPA)
DE602004013206T2 (de) Verfahren und diesbezügliche einrichtung zur hardwareorientierten umsetzung zwischen arithmetik- und boolscher zufallsmaskierung
DE102005012098B4 (de) Datenchiffrierprozessor sowie AES-Chiffriersystem und AES-Chiffrierverfahren
DE60217260T2 (de) Datenverarbeitungs- und Verschlüsselungseinheit
DE60302512T2 (de) Feistel-Verschlüsselungsverfahren und -vorrichtung mit Schutz gegen DPA-Angriffe
DE102005009170B4 (de) Logikschaltung und zugehöriges Verfahren
DE60019432T2 (de) Eine technik, um einen parameter, wie z.b. eine prüfsumme, durch ein primitiv zu erzeugen, welche elementare register-operationen verwendet
DE10339999B4 (de) Pseudozufallszahlengenerator
DE69911815T2 (de) Selbstkorrigierendes zufallsverschlüsselungssystem und -verfahren
DE10347455B4 (de) Pseudozufallszahlengenerator für einen Stream Cipher
EP1298834A1 (de) Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
DE10304451B3 (de) Modulare Exponentiation mit randomisiertem Exponenten
EP0616429B1 (de) Verfahren und Schaltungsanordnung zum Erzeugen einer Pseudozufallsfolge sowie deren Verwendung
DE19936918A1 (de) Verschlüsselungsverfahren zum Ausführen von kryptographischen Operationen
DE102004061312B4 (de) Vorrichtung und Verfahren zum Detektieren eines potentiellen Angriffs auf eine kryptographische Berechnung
DE102018116572A1 (de) Schutz gegen seitenkanalangriffe
DE102004013480A1 (de) Zufallszahlengenerator und Verfahren zum Erzeugen von Zufallszahlen
EP1044533A1 (de) Verschlüsselungsverfahren zum ausführen von kryptographischen operationen
DE10224742B4 (de) Datenverarbeitungsschaltung und Verfahren zum Übertragen von Daten
DE102004037814B4 (de) Vorrichtung und Verfahren zum Erzeugen einer Folge von Zahlen
EP1446711B1 (de) Schiebevorrichtung und verfahren zum verschieben
DE102004043480B3 (de) Vorrichtung und Verfahren zum Erkennen einer Störung einer kryptographischen Einheit vorzugsweise des AES-Algorithmus
DE10201450B4 (de) Carry-Skip-Addierer für verschlüsselte Daten
EP0624839B1 (de) Verfahren und Schaltungsanordnung zum Erzeugen einer Pseudozufallsfolge sowie deren Verwendung
DE10201443B4 (de) Carry-Save-Multiplizierer für verschlüsselte Daten

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 1999948819

Country of ref document: EP

Ref document number: 09555305

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1999948819

Country of ref document: EP