[go: up one dir, main page]

DE19936918A1 - Verschlüsselungsverfahren zum Ausführen von kryptographischen Operationen - Google Patents

Verschlüsselungsverfahren zum Ausführen von kryptographischen Operationen

Info

Publication number
DE19936918A1
DE19936918A1 DE19936918A DE19936918A DE19936918A1 DE 19936918 A1 DE19936918 A1 DE 19936918A1 DE 19936918 A DE19936918 A DE 19936918A DE 19936918 A DE19936918 A DE 19936918A DE 19936918 A1 DE19936918 A1 DE 19936918A1
Authority
DE
Germany
Prior art keywords
bit
data
sub
control signal
inverter
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.)
Withdrawn
Application number
DE19936918A
Other languages
English (en)
Inventor
Stefan Philipp
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.)
Philips Intellectual Property and Standards GmbH
Original Assignee
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
Application filed by Philips Corporate Intellectual Property GmbH filed Critical Philips Corporate Intellectual Property GmbH
Priority to DE19936918A priority Critical patent/DE19936918A1/de
Priority to PCT/EP1999/007012 priority patent/WO2000019656A1/de
Priority to EP99948819A priority patent/EP1044533A1/de
Priority to JP2000573037A priority patent/JP2003524916A/ja
Publication of DE19936918A1 publication Critical patent/DE19936918A1/de
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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)
    • 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
    • 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/12Details relating to cryptographic hardware or logic circuitry

Landscapes

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

Abstract

Die vorliegende Erfindung betrifft ein Verschlüsselungsverfahren sowie eine Verschlüsselungsvorrichtung, wobei wenigstens eine kryptographische Teiloperation y¶i¶ = f¶i¶(x¶i¶, k¶i¶) von digital als Datenbitworte gespeicherten Daten x¶i¶, k¶i¶ ausgeführt und das jeweilige Ergebnis bzw. jeweilige Zwischenergebnisse y¶i¶ digital als Datenbitworte abgespeichert bzw. zwischengespeichert werden. Hierbei wird wenigstens eines der Daten x¶i¶, k¶i¶ und/oder das Ergebnis bzw. wenigstens ein Zwischenergebnis y¶i¶ in Abhängigkeit von einem auf Zufallszahlen basierenden Steuersignal r¶i¶ wahlweise bitweise zu DOLLAR I1 und/oder DOLLAR I2 komplementiert oder nicht.

Description

Technisches Gebiet
Die Erfindung betrifft ein Verschlüsselungsverfahren, wobei wenigstens eine kryptographische Teiloperation yi = fi (xi, ki) von digital als Datenbit­ worte gespeicherten Daten xi, ki ausgeführt und das jeweilige Ergebnis bzw. jeweilige Zwischenergebnisse yi digital als Datenbitworte abgespei­ chert bzw. zwischengespeichert werden, gemäß dem Oberbegriff des An­ spruchs 1. Die Erfindung betrifft ferner eine Verschlüsselungsvorrichtung mit einer Berechnungseinheit und Registern Ri, wobei die Berechnungs­ einheit wenigstens eine kryptographische Teiloperation yi = fi (xi, ki) von di­ gital in den Registern Ri der Verschlüsselungsvorrichtung als Datenbit­ worte gespeicherten Operanden xi, ki ausführt und das jeweilige Ergebnis bzw. Zwischenergebnisse yi digital in den Registern Ri der Verschlüsse­ lungsvorrichtung als Datenbitworte abspeichert, bzw. zwischenspeichert, gemäß dem Oberbegriff des Anspruchs 8.
Stand der Technik
In vielen Datenverarbeitungsgeräten dienen kryptographische Operatio­ nen zum Schutz des Betriebes dieser Geräte bzw. zum Schutz von in dem Gerät transportierten Daten. Die hierfür notwendigen Berechnungsopera­ tionen 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 kryptographi­ schen Berechnungen, wie in Fig. 1 veranschaulicht, ist es oftmals not­ wendig, entsprechende Speicherbereiche bzw. Register des Datenverar­ beitungsgerätes mit Operanden xi, ki zu initialisieren. Während der i-ten Berechnung werden ggf Zwischenergebnisse yi in Speicherbereichen oder Registern Ri abgelegt oder abschließend das Ergebnis der Berech­ nung zur Weiterverarbeitung in Speicherbereichen oder Registern abge­ legt. Das Register ri befindet sich zwischen einer vorherigen i-ten krypto­ graphischen Berechnung und einer nachfolgenden (i+1)-ten kryptographi­ schen Berechnung. Bei den in diesem Zusammenhang verwendeten Da­ ten xi , ki bzw. Zwischenergebnissen yi handelt es sich üblicherweise um sicherheitsrelevante Informationen, wie beispielsweise kryptographische Schlüssel oder Operanden.
Zur Berechnung der kryptographischen Algorithmen werden in den Daten­ verarbeitungsgeräten logische Verknüpfungen zwischen Operanden ki bzw. Zwischenergebnissen yi bzw. xi , xi+1 durchgeführt. In Abhängigkeit von der verwendeten Technologie führen diese Operationen, insbesonde­ re das Laden der Speicherbereiche bzw. Register mit Daten, zu einem erhöhten Stromverbrauch der Datenverarbeitungsgeräte. Bei komple­ mentä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. Re­ gister 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 entspre­ chende Analyse dieser Stromänderung könnte es möglich sein, Informa­ tionen ü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 Informa­ tionen ermöglicht werden. Andererseits könnten mehrere Strommessun­ gen 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 Änderun­ gen des Stromverbrauches des Datenverarbeitungsgerätes eine ggf. un­ berechtigte Kryptoanalyse der kryptographischen Operationen, Algorith­ men, 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 Hoch­ frequenz ähnlich zu derjenigen des Computers abstrahlt. Dadurch ist es für einen unberechtigten Dritten nicht mehr möglich, die Hochfrequenzab­ strahlung 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 Ergeb­ nisses einer kryptographischen Operation bzw. einer Übertragung einer Schlüsselinformation für eine kryptographischen Operation und der kryp­ tographischen Operation selbst zu beseitigen ist es aus Patent Abstracts of Japan 100 69 222 A bekannt, das Ergebnis der kryptographischen Ope­ ration bzw. die Übertragung der Schlüsselinformation für die kryptographi­ schen 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 Datenverarbei­ tungsgerätes verrät.
Darstellung der Erfindung, Aufgabe, Lösung, Vorteile
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 er­ folgreiche 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 xi, ki und/oder das Ergebnis bzw. wenigstens ein Zwischenergebnis yi in Abhängigkeit von einem auf Zufallszahlen basierenden Steuersignal ri wahlweise bitweise zu y=f(x, k) und/oder, yi komplementiert wird oder nicht.
Dies hat den Vorteil, dass bei wiederholter Ausführung derselben krypto­ graphischen Operation andere Bitfolgen bearbeitet bzw. abgespeichert werden, so dass sich bei der jeweiligen Ausführung einer kryptographi­ schen 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 Pseudozufalls­ zahlenreihe 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 ba­ sierende Steuersignal ri nicht bekannt bzw. vorbestimmt ist, fehlt eine Kor­ relation 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 Teilope­ rationen.
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) aus­ geführt.
Die Daten umfassen beispielsweise kryptographische Schlüssel und/oder Operanden.
In einer bevorzugten Ausführungsform werden Zwischenergebnisse yi zwischen der Ausführung von aufeinander folgenden kryptographischen Teiloperationen in einem Register Ri zwischengespeichert und als Ope­ rand xi+1 der nachfolgenden kryptographischen Teiloperationen zugeführt.
Zum Herstellen eines originalen, nicht invertierten Wertes nach jeder Tei­ loperation wird eine aus dem Zwischenergebnis yi einer vorangegangenen Teiloperation i erhaltene Bitfolge xi+1 = yi für eine nachfolgende Teilopera­ tion i+1 bitweise zu xi+1, komplementiert, wenn die Daten xi, ki der voran­ gegangenen Teiloperation i bitweise komplementiert wurden.
In einer besonders bevorzugten Ausführungsform werden bei der bitwei­ sen Komplementierung wenigstens ein Bitwert, insbesondere die geraden Bitwerte, die ungeraden Bitwerte oder alle Bitwerte, eines Datenbitwortes xi , ki, bzw. yi invertiert. Hierbei ist es besonders vorteilhaft, wenn eine In­ vertierung von Bitwerten bzw. Bitadressen eines Datenbitwortes xi, ki, bzw. yi bei der bitweisen Komplementierung mittels einer XOR-Operation (Ex­ klusiv-Oder-Operation) durchgeführt wird.
Bei einer Vorrichtung der o. g. Art ist erfindungsgemäß wenigstens ein von einem Steuersignal ri steuerbarer Inverter für wenigstens eines der Daten xi, ki und/oder das Ergebnis bzw. wenigstens ein Zwischenergebnis yi , ein Zufallszahlengenerator, welcher Zufallszahlen erzeugt, sowie eine Vor­ richtung zum Erzeugen des Steuersignals ri auf den Zufallszahlen basie­ rend vorgesehen, wobei der steuerbare Inverter in Abhängigkeit von dem Steuersignal ri wahlweise die Bitfolgen xi, ki bzw. yi zu ihrem bitweisen Komplement xi, ki bzw. yi, umsetzt oder unverändert lässt.
Dies hat den Vorteil, dass bei wiederholter Ausführung derselben krypto­ graphischen 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 Ge­ samtberechnung erreicht, dass jeder Datenpfad bei einer echten Zufalls­ zahlenreihe 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 Steuersi­ gnal ri 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 Stromver­ brauch der Gesamtoperation keine brauchbare Information über die ver­ wendeten Teiloperanden bzw. Zwischenergebnisse in den Teiloperatio­ nen.
Vorzugsweise Weitergestaltungen der Vorrichtung sind in den Ansprüchen 9 bis 14 beschrieben.
In einer bevorzugten Ausführungsform ist wenigstens einem Register Ri ein Inverter nachgeschaltet, welcher das identische Steuersignal ri erhält, wie die der i-ten Teiloperation vorgeschalteten Inverter für die Daten xi, ki. Dieser einem Register Ri der i-ten Teiloperation nachgeschaltete Inverter ist dabei bevorzugt mit einem der nachfolgenden (i+1)-ten Teiloperation vorgeschalteten Inverter für ein Eingangsdatum xi+1 kombiniert. Der kom­ binierte Inverter erhält zweckmäßigerweise sowohl das Steuersignal ri der vorangegangenen i-ten Teiloperation als auch das Steuersignal ri+1 der nachfolgenden (i+1)-ten Teiloperation.
Die Daten umfassen beispielsweise kryptographische Schlüssel und/oder Operanden.
In einer bevorzugten Ausführungsform speichert ein Register Ri zwischen einer vorangegangenen i-ten Teiloperation und einer nachfolgenden (i+1)- ten Teiloperation ein Zwischenergebnis yi der vorangegangenen i-ten Teiloperation und leitet dieses Zwischenergebnis als Eingangswert xi+1 an die nachfolgende (i+1)-te Teiloperation weiter.
Zweckmäßigerweise invertiert die bitweise Komplementierung wenigstens einen Bitwert, insbesondere die geraden Bitwerte, die ungeraden Bitwerte oder alle Bitwerte, eines Datenbitwortes xi, ki bzw. yi.
Kurze Beschreibung der Zeichnungen
Nachstehend wird die Erfindung anhand der beigefügten Zeichnungen näher erläutert. Diese zeigen in
Fig. 1 ein Ablaufschema eines Teiles einer kryptographischen Ope­ ration gemäß dem Stand der Technik,
Fig. 2 ein Ablaufschema eines Teiles einer ersten bevorzugten Ausführungsform einer erfindungsgemäßen kryptographi­ schen Operation und
Fig. 3 ein Ablaufschema eines Teiles einer zweiten bevorzugten Ausführungsform einer erfindungsgemäßen kryptographi­ schen Operation.
Bester Weg zur Ausführung der Erfindung
Bei der in Fig. 2 dargestellten ersten bevorzugten Ausführungsform eines erfindungsgemäßen Verschlüsselungsverfahrens wird durch eine Kette von Teiloperationen fi (xi, ki ), 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+1)-te Teiloperation 12, wobei jede Teiloperation von einer Berechnungseinheit ausgeführt wird. Jeder Teiloperation 10, 12 ist eine Speicherzelle oder ein Register Ri 14 bzw. eine Speicherzelle oder ein Register Ri 16 nachge­ schaltet. Jede Teiloperation 10, 12 hat als Eingangswert ein Datum xi , xi+1 sowie einen Operanden ki, ki+1, welche als Datenbitworte zur Verfügung stehen.
Jeder Teiloperation 10, 12 vorgeschaltet ist jeweils ein steuerbarer Inver­ ter 18 bzw. 20 für die Daten xi, xi+1 sowie jeweils ein steuerbarer Inverter 22, 24 für die Operanden ki, ki+1. Ferner ist bei jeder Teiloperation 10, 12 dem jeweiligen Register Ri 14 bzw. Ri +Ri+1 16 ein steuerbarer Inverter 26, 28 für das Zwischenergebnis yi, yi+1 nachgeschaltet, wobei dieses Zwischen­ ergebnis von dem jeweiligen Register Ri 14 bzw. Ri+1 16 als Eingangsda­ ten xi+1 bzw. xi+2 an eine nachfolgende Teiloperation 12 weiter gegeben werden. Diese Inverter 18 bis 28 sind durch ein Steuersignal ri bzw. ri+1 derart steuerbar, dass sie in Abhängigkeit von dem jeweiligen Steuersi­ gnal ri bzw. ri+1 wahlweise die zugeordneten Datenbitworte bitweise kom­ plementieren oder nicht. Hierbei erhalten alle Inverter 18, 22, 26 bzw. 20, 24, 28 einer Teiloperation 10 bzw. 12 dasselbe Steuersignal ri bzw. ri+1. Mit anderen Worten wird die Entscheidung, ob eine Invertierung der ent­ sprechenden 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 ri bzw. ri+1 entschieden. Diese Anord­ nung von Registern 14, 16 zwischen Teiloperationen 10, 12 findet vor al­ lem dann Anwendung, wenn die Teiloperationen 10, 12 zeitlich nachein­ ander von ein und derselben Einheit berechnet werden und somit die Teilergebnisse zwischengespeichert werden müssen.
Das Steuersignal wird durch Zufallswerte aus einem Zufallsgenerator da­ hingehend gesteuert, dass die Teiloperation abhängig vom Wert der Zu­ fallszahlen 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 Ri 14, 18 entweder mit Originalwerten oder mit bitinvertierten Werten durchge­ fü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 Ge­ samtoperation enthält somit keine brauchbare Information über die ver­ wendeten Teiloperanden ki bzw. Zwischenergebnisse yi in den Teilopera­ tionen 10, 12. Der dem Register 14, 16 nachgeschaltete Inverter 26, 28 stellt für die folgende Teiloperation 12 wieder den originalen, nicht inver­ tierten Wert her.
Die zweite bevorzugte Ausführungsform des erfindungsgemäßen Ver­ sohlüsselungsverfahrens gemäß Fig. 3 entspricht der ersten Ausfüh­ rungsform von Fig. 2 mit dem einzigen Unterschied, dass die den Regi­ stern 14, 16 nachgeschalteten Inverter 26, 28 mit dem jeweiligen Ein­ gangsinverter 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+1)-te Teiloperation
14
Register Ri
,
16
Register Ri+1
18
steuerbarer Inverter für xi
20
steuerbarer Inverter für xi+1
22
steuerbarer Inverter für ki
24
steuerbarer Inverter für ki+1
26
steuerbarer Inverter für yi
28
steuerbarer Inverter für yi+1
30
kombinierter Inverter

Claims (14)

1. Verschlüsselungsverfahren, wobei wenigstens eine kryptographi­ sche Teiloperation yi = fi (xi , ki) von digital als Datenbitworte gespei­ cherten Daten xi, ki ausgeführt und das jeweilige Ergebnis bzw. je­ weilige Zwischenergebnisse yi digital als Datenbitworte abgespei­ chert bzw. zwischengespeichert werden, dadurch gekennzeichnet, dass wenigstens eines der Daten xi, ki und/oder das Ergebnis bzw. we­ nigstens ein Zwischenergebnis yi in Abhängigkeit von einem auf Zufallszahlen basierenden Steuersignal ri 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 umfas­ sen.
4. Verschlüsselungsverfahren nach einem der vorhergehenden An­ sprüche, dadurch gekennzeichnet, dass Zwischenergebnisse yi zwischen der Ausführung von aufeinander folgenden kryptographischen Teiloperationen in einem Register Ri zwischengespeichert und als Operand xi+1 der nachfolgenden kryptographischen Teiloperationen zugeführt werden.
5. Verschlüsselungsverfahren nach einem der vorhergehenden An­ sprüche, dadurch gekennzeichnet, dass eine aus dem Zwischenergebnis yi einer vorangegangenen Teilope­ ration i erhaltene Bitfolge xi+1 = yi für eine nachfolgende Teiloperati­ on i+1 bitweise zu xi+1, komplementiert wird, wenn die Daten xi , ki der vorangegangenen Teiloperation i bitweise komplementiert wur­ den.
6. Verschlüsselungsverfahren nach einem der vorhergehenden An­ sprüche, dadurch gekennzeichnet, dass bei der bitweisen Komplementierung wenigstens ein Bitwert, insbe­ sondere die geraden Bitwerte, die ungeraden Bitwerte oder alle Bitwerte, eines Datenbitwortes xi, ki , bzw. yi invertiert werden.
7. Verschlüsselungsverfahren nach einem der vorhergehenden An­ sprüche, dadurch gekennzeichnet, dass eine Invertierung von Bitwerten bzw. Bitadressen eines Datenbit­ wortes xi, ki , bzw. yi bei der bitweisen Komplementierung mittels ei­ ner XOR-Operation (Exklusiv-Oder-Operation) durchgeführt wird.
8. Verschlüsselungsvorrichtung mit einer Berechnungseinheit und Registern Ri (14, 16), wobei die Berechnungseinheit wenigstens ei­ ne kryptographische Teiloperation yi = fi (xi, ki) (10, 12) von digital in den Registern Ri (14, 16) der Verschlüsselungsvorrichtung als Da­ tenbitworte gespeicherten Operanden xi, ki ausführt und das jewei­ lige Ergebnis bzw. Zwischenergebnisse yi digital in den Registern Ri (14, 16) der Verschlüsselungsvorrichtung als Datenbitworte abspei­ chert bzw. zwischenspeichert, dadurch gekennzeichnet, dass wenigstens ein von einem Steuersignal ri steuerbarer Inverter (18 bis 28; 30) für wenigstens eines der Daten xi, ki und/oder das Er­ gebnis bzw. wenigstens ein Zwischenergebnis yi, ein Zufallszahlen­ generator, welcher Zufallszahlen erzeugt, sowie eine Vorrichtung zum Erzeugen des Steuersignal ri auf den Zufallszahlen basierend vorgesehen ist, wobei der steuerbare Inverter (18 bis 28; 30) in Ab­ hängigkeit von dem Steuersignals ri wahlweise die Bitfolgen xi, ki bzw. yi zu ihrem bitweisen Komplement xi , ki, bzw. yi umsetzt oder unverändert lässt.
9. Verschlüsselungsvorrichtung nach Anspruch 8, dadurch gekennzeichnet, dass wenigstens einem Register Ri (14, 16) ein Inverter (26, 28; 30) nachgeschaltet ist, welcher das identische Steuersignal ri erhält, wie die der i-ten Teiloperation (10, 12) vorgeschalteten Inverter (18, 20) für die Daten xi, ki.
10. Verschlüsselungsvorrichtung nach Anspruch 9, dadurch gekennzeichnet, dass der einem Register Ri (14, 16) der i-ten Teiloperation (10, 12) nachgeschaltete Inverter (26, 28) mit einem der nachfolgenden (i+1)-ten Teiloperation (12) vorgeschalteten Inverter (20) für ein Eingangsdatum xi+1 kombiniert ist.
11. Verschlüsselungsvorrichtung nach Anspruch 10, dadurch gekennzeichnet, dass der kombinierte Inverter (30) sowohl das Steuersignal ri der voran­ gegangenen i-ten Teiloperation (10) als auch das Steuersignal ri+1 der nachfolgenden (i+1)-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 umfas­ sen.
13. Verschlüsselungsvorrichtung nach einem der Ansprüche 8 bis 12, dadurch gekennzeichnet, dass ein Register Ri (14, 16) zwischen einer vorangegangenen i-ten Teiloperation (10) und einer nachfolgenden (i+1)-ten Teiloperation (12) ein Zwischenergebnis yi der vorangegangenen i-ten Teilopera­ tion (10) speichert und dieses Zwischenergebnis als Eingangswert xi+1 an die nachfolgende (i+1)-te Teiloperation (12) weiterleitet.
14. Verschlüsselungsvorrichtung nach einem der Ansprüche 8 bis 13, dadurch gekennzeichnet, dass die bitweise Komplementierung wenigstens einen Bitwert, insbe­ sondere die geraden Bitwerte, die ungeraden Bitwerte oder alle Bitwerte, eines Datenbitwortes xi, ki, bzw. yi invertiert.
DE19936918A 1998-09-30 1999-08-05 Verschlüsselungsverfahren zum Ausführen von kryptographischen Operationen Withdrawn DE19936918A1 (de)

Priority Applications (4)

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

Applications Claiming Priority (2)

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

Publications (1)

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

Family

ID=7882966

Family Applications (1)

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

Country Status (1)

Country Link
DE (1) DE19936918A1 (de)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2818847A1 (fr) * 2000-12-26 2002-06-28 St Microelectronics Sa Circuit logique a polarite variable
DE10202700A1 (de) * 2002-01-24 2003-08-07 Infineon Technologies Ag Vorrichtung und Verfahren zum Erzeugen eines Befehlscodes
EP1398901A1 (de) * 2002-09-11 2004-03-17 Kabushiki Kaisha Toshiba Feistel-Verschlüsselungsverfahren und - Vorrichtung mit Schutz gegen DPA-Angriffe
FR2847093A1 (fr) * 2002-11-12 2004-05-14 Samsung Electronics Co Ltd Procede et appareil de chiffrement avec une structure (des) parallele
WO2004070496A3 (de) * 2003-02-06 2004-11-04 Infineon Technologies Ag Schaltung mit schutz vor manipulativen angriffen und verfahren
DE102004001235A1 (de) * 2004-01-07 2005-08-11 Infineon Technologies Ag Übertragungsvorrichtung
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
US7161869B2 (en) 2004-01-07 2007-01-09 Infineon Technologies Ag Transmission device
WO2009138287A1 (de) * 2008-05-16 2009-11-19 Siemens Aktiengesellschaft Verfahren und speichervorrichtung zum bereitstellen eines kryptografischen schlüssels

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2818847A1 (fr) * 2000-12-26 2002-06-28 St Microelectronics Sa Circuit logique a polarite variable
WO2002052782A1 (fr) * 2000-12-26 2002-07-04 Stmicroelectronics Sa Circuit logique a polarites internes variables
US7290151B2 (en) 2000-12-26 2007-10-30 Stmicroelectronics Sa Logic circuit with variable internal polarities
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
DE10202700A1 (de) * 2002-01-24 2003-08-07 Infineon Technologies Ag Vorrichtung und Verfahren zum Erzeugen eines Befehlscodes
EP1398901A1 (de) * 2002-09-11 2004-03-17 Kabushiki Kaisha Toshiba Feistel-Verschlüsselungsverfahren und - Vorrichtung mit Schutz gegen DPA-Angriffe
FR2847093A1 (fr) * 2002-11-12 2004-05-14 Samsung Electronics Co Ltd Procede et appareil de chiffrement avec une structure (des) parallele
WO2004070496A3 (de) * 2003-02-06 2004-11-04 Infineon Technologies Ag Schaltung mit schutz vor manipulativen angriffen und verfahren
DE102004001235A1 (de) * 2004-01-07 2005-08-11 Infineon Technologies Ag Übertragungsvorrichtung
DE102004001235B4 (de) * 2004-01-07 2005-12-15 Infineon Technologies Ag Übertragungsvorrichtung
US7161869B2 (en) 2004-01-07 2007-01-09 Infineon Technologies Ag Transmission device
WO2009138287A1 (de) * 2008-05-16 2009-11-19 Siemens Aktiengesellschaft Verfahren und speichervorrichtung zum bereitstellen eines kryptografischen schlüssels

Similar Documents

Publication Publication Date Title
DE60222052T2 (de) Verschlüsselung gesichert gegen Angriffe durch die Analyse der Leistungsaufnahme (DPA)
DE10201449C1 (de) Rechenwerk, Verfahren zum Ausführen einer Operation mit einem verschlüsselten Operanden, Carry-Select-Addierer und Kryptographieprozessor
DE602004013206T2 (de) Verfahren und diesbezügliche einrichtung zur hardwareorientierten umsetzung zwischen arithmetik- und boolscher zufallsmaskierung
DE69936024T2 (de) Vorrichtung zur Verschlüsselung/Entschlüsselung
DE69416684T2 (de) System und anordnung zum blockweisen verschlüsseln/entschlüsseln von daten
DE102005012098B4 (de) Datenchiffrierprozessor sowie AES-Chiffriersystem und AES-Chiffrierverfahren
DE60302512T2 (de) Feistel-Verschlüsselungsverfahren und -vorrichtung mit Schutz gegen DPA-Angriffe
DE60036499T2 (de) Eine Technik, um einen Parameter, wie z.b. eine Prüfsumme, durch ein Primitiv zu erzeugen, welche elementare Register-Operationen verwendet
DE69911815T2 (de) Selbstkorrigierendes zufallsverschlüsselungssystem und -verfahren
EP1298834B1 (de) Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten
DE10304451B3 (de) Modulare Exponentiation mit randomisiertem Exponenten
DE69514261T2 (de) Pseudozufallzahlengenerator und Kommunikationsverfahren und -einrichtung unter Verwendung eines verschlüsselten Textes basierend auf mittels dieses Generators erzeugten Pseudozufallszahlen
DE19936918A1 (de) Verschlüsselungsverfahren zum Ausführen von kryptographischen Operationen
DE102005009170B4 (de) Logikschaltung und zugehöriges Verfahren
DE102004061312B4 (de) Vorrichtung und Verfahren zum Detektieren eines potentiellen Angriffs auf eine kryptographische Berechnung
DE112020007024T5 (de) Vertrauliche-information-verarbeitungssystem, verschlüsselungsvorrichtung, verschlüsselungsverfahren und verschlüsselungsprogramm
EP1044533A1 (de) Verschlüsselungsverfahren zum ausführen von kryptographischen operationen
DE102020102796A1 (de) Datenverarbeitungsvorrichtung und verfahren zum verarbeiten von geheimen daten
DE102004037814B4 (de) Vorrichtung und Verfahren zum Erzeugen einer Folge von Zahlen
DE69520847T2 (de) Verschlüsselungseinrichtung mit öffentlichem Schlüssel wobei das Chiffrat mit einem öffentlichen Schlüssel verarbeitet wird
EP1446711B1 (de) Schiebevorrichtung und verfahren zum verschieben
DE10201450B4 (de) Carry-Skip-Addierer für verschlüsselte Daten
DE60302249T2 (de) Aes mixcolumn transformation
DE102021100538A1 (de) Schaltung und verfahren zur rotationsinvarianten ausführung einer oder mehrerer operationen mit mindestens einem operanden
EP1466245B1 (de) Rechenwerk und verfahren zum kombinieren eines ersten operanden mit einem zweiten operanden

Legal Events

Date Code Title Description
8127 New person/name/address of the applicant

Owner name: PHILIPS INTELLECTUAL PROPERTY & STANDARDS GMBH, 20

8141 Disposal/no request for examination