DE102006013975A1 - Kryptographievorrichtung und -verfahren mit Skalarmultiplikation - Google Patents

Kryptographievorrichtung und -verfahren mit Skalarmultiplikation Download PDF

Info

Publication number
DE102006013975A1
DE102006013975A1 DE102006013975A DE102006013975A DE102006013975A1 DE 102006013975 A1 DE102006013975 A1 DE 102006013975A1 DE 102006013975 A DE102006013975 A DE 102006013975A DE 102006013975 A DE102006013975 A DE 102006013975A DE 102006013975 A1 DE102006013975 A1 DE 102006013975A1
Authority
DE
Germany
Prior art keywords
output point
encrypted
point
encrypted output
secret key
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.)
Granted
Application number
DE102006013975A
Other languages
English (en)
Other versions
DE102006013975B4 (de
Inventor
Ihor Suwon Vasyltsov
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of DE102006013975A1 publication Critical patent/DE102006013975A1/de
Application granted granted Critical
Publication of DE102006013975B4 publication Critical patent/DE102006013975B4/de
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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]
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • 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
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • 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
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/40Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using contact-making devices, e.g. electromagnetic relay
    • G06F7/44Multiplying; Dividing
    • G06F7/443Multiplying; Dividing by successive additions or subtractions
    • 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
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves
    • 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/004Countermeasures against attacks on cryptographic mechanisms for fault attacks
    • 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/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • 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
    • 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/7271Fault verification, e.g. comparing two values which should be the same, unless a computational fault occurred
    • 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

Abstract

Die Erfindung bezieht sich auf eine Kryptographievorrichtung mit einer Skalarmultiplikationsvorrichtung, die einen ersten Verschlüssler (210), der zum Empfangen eines Eingabepunktes (P) und eines geheimen Schlüssels (k) und Erzeugen eines ersten verschlüsselten Ausgabepunktes (Q') eingerichtet ist, und einen zweiten Verschlüssler (220) umfasst, der zum Empfangen des geheimen Schlüssels und des Eingabepunktes oder des ersten verschlüsselten Ausgabepunktes zum Erzeugen eines zweiten verschlüsselten Ausgabepunktes (Q'') eingerichtet ist, und auf ein zugehöriges Kryptographieverfahren. DOLLAR A Eine Kryptographievorrichtung gemäß der Erfindung umfasst eine erste Logikschaltung (230), die zum Empfangen des zweiten verschlüsselten Ausgabepunktes und des ersten verschlüsselten Ausgabepunktes oder des Eingabepunktes eingerichtet ist, um eine erste Logikoperation auszuführen, und eine zweite Logikschaltung (240), die zum Empfangen des ersten Logikoperationsresultates der ersten Logikschaltung und des geheimen Schlüssels eingerichtet ist, um eine zweite Logikoperation auszuführen. DOLLAR A Verwendung z. B. in der Datenverschlüsselungstechnik.

Description

  • Die Erfndung bezieht sich auf eine Kryptographievorrichtung nach dem Oberbegriff des Anspruchs 1 und ein zugehöriges Kryptrographieverfahren.
  • Um Probleme zu lösen, die mit modernen vertraulichen Datenkommunikationen verknüpft sind, beispielsweise die ständig wachsenden Leistungsanforderungen an Hardware zu erfüllen, können Kryptrographiesysteme auf der Basis von allgemein bekannten Kryptroalgorithmen eingesetzt werden. Kryptroalgorithmen, Algorithmen mit öffentlichem Schlüssel, wie Rivest-Shamir-Adleman (RSA) und Elliptikkurven-Kryptrographie (ECC), sowie Algorithmen mit symmetrischem Schlüssel, wie Datenverschlüsselungsstandard (DES) und weiterentwickelter Verschlüsselungsstandard (AES), sind allgemein bekannt.
  • Zusätzlich zu hardwareorientierten Kryptosystemen sind jedoch neue Kryptoanalyseverfahren entwickelt worden, wie Seitenkanalanalyse (SCA). Hierbei gibt es einige unterschiedliche Angriffstechniken, wie Timing-Analyse, Leistungsanalyse, elektromagnetische Analyse und Differenzfehleranalyse (DFA). Diese Techniken können die Kryptosysteme erfolgreich attackieren und geheime Schlüssel in kurzer Zeit und mit ge ringem Aufwand erhalten. Dementsprechend sind Gegenmaßnahmen gegen die Kryptoanalysemethoden, wie SCA, entwickelt worden. Ein Beispiel einer SCA-Technik ist die DFA.
  • 1 veranschaulicht eine herkömmliche Kryptographievorrichtung 100 mit einer Skalarmultiplikationseinheit 110, die parallele Elliptikkurven(EC)-Operationseinheiten 120, 130 beinhaltet, sowie einer Vergleichs- und Ausgabeeinheit 140. Jede der EC-Operationseinheiten 120, 130 erzeugt verschlüsselte endgültige Ausgabepunkte Q1 und Q2 mittels Durchführen einer Skalarmultiplikationsoperation eines vorhergehenden Punktes und eines geheimen Schlüssels gemäß eines ECC-Algorithmus. Die Vergleichs- und Ausgabeeinheit 140 stellt fest, ob die Ausgabepunkte Q1 und Q2 gleich sind, überträgt irgendeinen der Ausgangspunkte Q zu einem Postprozessor, wenn sie gleich sind, und gibt die verschlüsselten Ausgabepunkte nicht ab, wenn sie nicht gleich sind. Das bedeutet, dass die verschlüsselten Ausgabepunkte, die von den EC-Operationseinheiten 120, 130 erzeugt werden, voneinander verschieden sein können, wenn während der Skalarmultiplikationsoperation für die Verschlüsselung ein Fehler auftritt. Die verschlüsselten Ausgabepunkte werden dann nicht zum Postprozessor übertragen, um ein Leck an vertraulicher Information zu verhindern.
  • Für ein Kryptosystem, wie eine Smartcard, das die herkömmliche Kryptographievorrichtung 100 enthält, kann ein Kyptoanalyst oder Angreifer absichtlich während der Skalarmultiplikationsberechnung einen Fehler erzeugen, wie Leistungsstörspitzen, elektromagnetische Einflüsse oder optische Einflüsse, die gleichen verschlüsselten Ausgabepunkte erzeugen wie jene, die durch die parallelen EC-Operationseinheiten 120, 130 generiert werden, und fehlerbehaftete Ausgabepunkte analysieren und einen vom System benutzten geheimen Schlüssel erhalten. Ein Angreifer kann leicht vertrauliche Information bei den herkömmlichen Kryptographiemethoden durch einfaches Überprüfen von parallel verschlüssel ten Ausgabepunkten erhalten. Außerdem ist es bekannt, dass die herkömmlichen Kryptographieverfahren einem Vorzeichenwechselausfallangriff (SCF-Angriff) gegen einen Skalarmultiplikationsalgorithmus auf Basis einer nicht benachbarten Form (NAF) kaum wiederstehen können.
  • Der Erfindung liegt als technisches Problem die Bereitstellung einer Kryptographievorrichtung der eingangs genannten Art und eines zugehörigen Kryptographieverfahrens zugrunde, die in der Lage sind, die oben erwähnten Schwierigkeiten des Standes der Technik zu verringern oder zu vermeiden und insbesondere einen verbesserten Schutz gegen die verschiedenen, oben erwähnten Angriffstypen bieten.
  • Die Erfindung löst dieses Problem durch die Bereitstellung einer Kryptographievorrichtung mit den Merkmalen des Anspruchs 1 und eines Kryptographieverfahrens mit den Merkmalen des Anspruchs 9. Vorteilhafte Ausführungsbeispiele der Erfindung sind in den Unteransprüchen angegeben.
  • Vorteilhafte Ausführungsformen der Erfindung werden nachfolgend beschrieben und sind in den Zeichnungen dargestellt, die außerdem das oben zum leichteren Verständnis der Erfindung erläuterte herkömmliche Ausführungsbeispiel darstellen. Es zeigen:
  • 1 ein Blockdiagramm einer herkömmlichen Kryptographievorrichtung,
  • 2 ein Blockdiagramm einer Skalarmultiplikationsvorrichtung gemäß einem Ausführungsbeispiel der Erfindung,
  • 3 ein Flussdiagramm zur Veranschaulichung einer Parallelverarbeitung der Skalarmultiplikationsvorrichtung von 2,
  • 4 ein Flussdiagramm zur Veranschaulichung einer sequentiellen Verarbeitung der Skalarmultiplikationsvorrichtung von 2,
  • 5 ein Blockdiagramm einer Skalarmultiplikationsvorrichtung gemäß einem weiteren Ausführungsbeispiel der Erfindung,
  • 6 ein Flussdiagramm zur Veranschaulichung einer Betriebsweise der Skalarmultiplikationsvorrichtung von 5,
  • 7 ein Blockdiagramm einer Skalarmultiplikationsvorrichtung gemäß der Erfindung, bei der zusätzlich zur Skalarmultiplikationsvorrichtung von 2 ein Zufallszahlengenerator enthalten ist,
  • 8 ein Blockdiagramm einer Skalarmultiplikationsvorrichtung gemäß der Erfindung, bei der zusätzlich zur Skalarmultiplikationsvorrichtung von 5 ein Zufallszahlengenerator enthalten ist,
  • 9 ein Blockdiagramm einer Skalarmultiplikationsvorrichtung gemäß der Erfindung, die eine skalierbare reguläre Struktur zur Hardware-Pipelineimplementierung von 2 aufweist,
  • 10 ein Blockdiagramm einer Skalarmultiplikationsvorrichtung gemäß der Erfindung, in welcher die Skalarmultiplikationsvorrichtung von 9 mittels Zufallszahlendaten arbeitet,
  • 11 ein Blockdiagramm einer Skalarmultiplikationsvorrichtung gemäß der Erfindung mit einer skalierbaren regulären Struktur zur Hardware-Pipelineimplementierung von 5 und
  • 12 ein Blockdiagramm einer Skalarmultiplikationsvorrichtung gemäß der Erfindung, bei welcher die Skalarmultiplikationsvorrichtung von 11 mittels Zufallszahlendaten arbeitet.
  • Im Folgenden werden beispielhafte Ausführungsformen der Erfindung im Detail unter Bezugnahme auf die begleitenden 2 bis 12 beschrieben. Gleiche Bezugszeichen werden durchgehend in den Zeichnungen zur Bezeichnung gleichartiger Elemente benutzt. Eine Elliptikkurve E ist ein Satz von Punkten (x, y), der die Elliptikkurven(EC)-Operation gemäß Gleichung 1 in der Weierstrass-Form erfüllt: E: y2 + a1xy + a3y = x3 + a2x2 + a4x + a6 (1)
  • Für Krytographieanwendungen kann die EC über ein primes finites Feld GF(p) oder ein binäres finites Feld GF(2n) verwendet werden. Herbei bezeichnet GF() ein Galois-Feld, während ein primes finites Feld ein Feld ist, das eine prime Anzahl von Elementen enthält, und ein binäres finites Feld ein Feld ist, das 2'' Elemente enthält. Wenn p eine ungerade Primzahl ist, gibt es ein eindeutiges Feld GF(p) mit p Elementen. Für den Fall des primen finiten Feldes lässt sich Gleichung 1 ändern in:
    Figure 00050001
  • Wenn n ≥ 1 ist, gibt es ein eindeutiges Feld GF(2'') mit 2'' Elementen. Für den Fall des binären finiten Feldes wird aus Gleichung 1:
    Figure 00050002
  • Die Elliptikkurven besitzen die Punktadditionsoperation, und unter speziellen Umständen tritt die Punktverdopplungsoperation wie folgt auf. Um von zwei Punkten P = (x1, y1) und Q = (x2, y2) den resultierenden Punkt R = P + Q = (x3, y3) zu erhalten, ist es erforderlich, die nächste finite Feldoperation in GF(p) auszuführen:
    Figure 00060001
  • Wenn die Punktverdopplungsoperation P = Q vorliegt, ist die nächste finite Feldoperation gemäß Gleichung 5 in GF(p) zu bestimmen:
    Figure 00060002
  • Im Fall des binären finiten Feld GF(2'') entsprechen den Gleichungen 4 und 5 die Gleichungen 6 und 7:
    Figure 00060003
    Figure 00070001
  • Eine Operation bei der E1liptikkurven-Kryptographie (ECC) kann eine Skalarpunktmultiplikation sein, welche die Berechnung Q = k·P = P + P + ... + P (k mal) beinhalten, wobei k ein geheimer Schlüssel ist. Die Skalarpunktmultiplikation kann auf Punktoperationen basieren, die ihrerseits auf finiten Feldoperationen basieren, wie in den obigen Gleichungen veranschaulicht. Eine verwandte Operation kann der diskrete Logarithmus sein, der die Berechnung von k aus P und Q = k·P beinhaltet.
  • Es kann neben der affinen Darstellung, die in den obigen Gleichungen benutzt wurde, andere mögliche Darstellungen des Punktes auf der EC geben, beispielsweise normal projektiv, Jacobi-projektiv, Lopez-Dahabprojektiv, Hessisch, etc. In beispielhaften Ausführungsformen der Erfindung können Punktdarstellungen in der affinen Weierstrass-Form wie in den Gleichungen 1 bis 7 betrachtet werden. Eine Skalarmultiplikationsvorrichtung und ein Skalarmultiplikationsverfahren sind jedoch nicht hierauf beschränkt und können in einem beliebigen Typ von finiter Felddarstellung und/oder Punktdarstellung angewandt werden.
  • Ein Angreifer kann absichtlich während der Skalarmultiplikationsoperation in der ECC Fehler induzieren, wie Leistungsstörimpluse, elektromagnetische Einflüsse oder optische Einflüsse, und fehlerbehaftete Ausgabedaten analysieren. In einem DFA-Prozess kann der Angreifer einen Fehler für den Eingabepunkt P in einem Kryptosystem induzieren und einen fehlerbehafteten Ausgabepunkt Q ~ = k·P ~ erhalten. Der Angreifer kann eine kryptographisch schwache Elliptikkurve (EC) E ~ ≠ E definieren, auf welcher der fehlerbehaftete Ausgabepunkt existiert, z.B. Q ~ ∊ E ~. Der Angreifer kann versuchen, ein diskretes Logarithmusproblem zu lösen, das die Berechnung von k aus P~ und Q ~ = k·P ~ auf der kryptographisch schwachen EC E ~ ≠ E beinhaltet. Durch Wiederholen der obigen Vorgänge kann der Angreifer den im Kryptosystem enthaltenen geheimen Schlüssel erhalten.
  • In beispielhaften Ausführungsformen der vorliegenden Erfindung kann durch DFA-Angriffe ein modifizierter geheimer Schlüssel anstatt eines geheimen Schlüssels erhalten werden. Das bedeutet, es wird als modifizierter Ausgabepunkt Q ~ = k ~·P ~ statt Q ~ = k·P ~ ausgegeben, obwohl der Angreifer durch absichtliches Induzieren eines DFA-Angriffs das diskrete Logarithmusproblem lösen kann. Dementsprechend kann der Angreifer nur einen modifizierten geheimen Schlüssel k statt des tatsächlichen geheimen Schlüssels k erhalten.
  • 2 ist ein Blockdiagramm, das eine Skalarmultiplikationsvorrichtung 200 gemäß einem exemplarischen Ausführungsbeispiel der vorliegenden Erfindung veranschaulicht. Unter Bezugnahme auf 2 umfasst die Skalarmultiplikationsvorrichtung 200 einen ersten Verschlüssler 210, einen zweiten Verschlüssler 220, eine erste XOR-Schaltung 230 und eine zweite XOR-Schaltung 240. Der erste und der zweite Verschlüssler 210, 220 verschlüsseln einen Eingabepunkt P. 3 veranschaulicht gleichzeitige parallele EC-Operationen, und 4 veranschaulicht sequentielle EC-Operationen. Zu Zwecken der Erläuterung werden XOR-Schaltungen beschrieben, exemplarische Ausführungsformen der Erfindung sind jedoch nicht auf XOR-Schaltungen beschränkt, sondern es können auch andere Logikschaltungen benutzt werden.
  • Jeder von dem ersten und dem zweiten Verschlüssler 210, 220 kann EC-Bereichsparameter von einem nicht gezeigten, geschützten nicht flüchtigen Speicher empfangen, siehe S31 von 3 und S41 von 4. Hierbei sind die Bereichsparameter a, b, p im Fall von GF(p) und a, b, n im Fall von GF(2n). Der geschützte nichtflüchtige Speicher kann innerhalb oder außerhalb eines jeden von dem ersten und zweiten Verschlüssler 210, 220 vorgesehen sein.
  • Jeder von dem ersten und zweiten Verschlüssler 210, 220 kann den zu verschlüsselnden Eingabepunkt P empfangen, siehe S32 von 3 und S42 von 4, und den Eingabepunkt P als Ausgabepunkt Q zuweisen, siehe S33 von 3 und S43 von 4. Jeder von dem ersten und zweiten Verschlüssler 210, 220 kann einen modifizierten geheimen Schlüssel k vom geschützten nichtflüchtigen Speicher empfangen, siehe S34 von 3 und S44 von 4.
  • Der erste Verschlüssler 210 kann einen Ausgabepunkt Q' aus dem Eingabepunkt P, der in den Operationen S33 von 3 und S43 von 4 als Ausgabepunkt Q zugewiesen wurde, und dem von der zweiten XOR-Schaltung 240 abgegebenen, modifizierten geheimen Schlüssel k generieren, um eine EC-Operation Q' = f (k, Q, a, b, p|n), wie in den Gleichungen 1 bis 7 definiert, unter Verwendung der EC-Bereichsparameter auszuführen, siehe S35 von 3 und S45 von 4. Wie in 3 veranschaulicht, kann der zweite Verschlüssler 220 in einer mit dem ersten Verschlüssler 210 parallelen EC-Operation einen verschlüsselten Ausgabepunkt Q'' aus dem Eingabepunkt P, der im Vorgang S33 von 3 als der Ausgabepunkt Q zugewiesen wurde, und dem von der zweiten XOR-Schaltung 240 abgegebenen, modifizierten geheimen Schlüssel k generieren, um die gleiche EC-Operation Q'' = f(k, Q, a, b, p|n) wie im ersten Verschlüssler 210 unter Verwendung der EC-Bereichsparameter auszuführen, siehe S36 von 3.
  • 4 veranschaulicht die sequentiellen Vorgänge des ersten und zweiten Verschlüsslers 210, 220. Nach Durchführung der EC-Operation im ersten Verschlüssler 210 kann der zweite Verschlüssler 220 einen verschlüsselten Ausgabepunkt Q'' aus dem Eingabepunkt P, der im Vorgang S43 von 4 als der Ausgabepunkt Q zugewiesen wurde, und dem von der zweiten XOR-Schaltung 240 abgegebenen, modifizierten geheimen Schlüssel generieren, indem er unter Verwendung der EC-Bereichsparameter den gleichen EC-Vorgang Q'' = f(k, Q, a, b, p|n) ausführt wie im ersten Verschlüssler 210.
  • In Vorgängen S37 von 3 und S47 von 4 kann die erste XOR-Schaltung 230 eine XOR-Operation mit dem Ausgabepunkt Q' des ersten Verschlüsslers 210 und dem Ausgabepunkt Q'' des zweiten Verschlüsslers 220 ausführen. Außerdem kann in den Operationen S37 von 3 und S47 von 4 die zweite XOR-Schaltung 240 eine XOR-Operation mit dem Operationsergebnis der ersten XOR-Schaltung 230 und dem zugeführten geheimen Schlüssel k ausführen und das XOR-Operationsergebnis als den modifizierten geheimen Schlüssel k generieren, der dem ersten bzw. zweiten Verschlüssler 210, 220 zuzuführen ist.
  • Gemäß der obigen Beschreibung können die Ausgabepunkte Q' und Q'' des ersten und zweiten Verschlüsslers 210, 220 als gleich angesehen werden, wenn kein Fehler im ersten und zweiten Verschlüssler 210, 220 induziert wird, so dass das Operationsergebnis der zweiten XOR-Schaltung 240 den zugeführten geheimen Schlüsselwert k beibehält. Wenn hingegen ein Fehler im ersten Verschlüssler 210 oder im zweiten Verschlüssler 220 induziert wird, kann das Operationsergebnis der zweiten XOR-Schaltung 240 ein modifizierten geheimer Schlüsselwert k ~ ≠ k sein.
  • Es sei angenommen, dass der Angreifer nicht den gleichen Fehler sowohl im ersten Verschlüssler 210 als auch im zweiten Verschlüssler 220 induzieren kann, unabhängig davon, ob der erste und der zweite Verschlüssler 210, 220 im parallelen oder sequentiellen EC-Betrieb betrieben werden.
  • Wenn die Skalarmultiplikationsoperation endet, siehe S38 von 3 und S48 von 4, kann vom ersten Verschlüssler 210 oder vom zweiten Verschlüssler 220 der verschlüsselte Ausgabepunkt Q = k·P oder Q = k ~·P an einen Postprozessor in einer oberen Schicht abgegeben werden, siehe S39 von 3 und S49 von 4. Wenn die Skalarmultiplikationsoperation nicht endet, können der erste und zweite Verschlüssler 210, 220 die EC-Operation unter Verwendung des von der zweiten XOR-Schaltung 240 abgegebenen, modifizierten geheimen Schlüsselwertes k wiederholt ausführen. Um besser gegen DFA-Angriffe gewappnet zu sein, können einige EC-Operationen im ersten und zweiten Verschlüssler 210, 220 ausgeführt werden. In beispielhaften Ausführungsformen wird die EC-Operation jedoch 2- oder 3-mal wiederholt.
  • In einer beispielhaften Ausführungsform kann der originale geheime Schlüsselwert k durch den modifizierten geheimen Schlüsselwert k ~ ≠ k ersetzt werden, indem wenigstens eine Punktadditionsoperation und wenigstens eine Punktverdopplungsoperation nach einer Fehlerinduktion gegen die DFA-Angriffe durchgeführt werden. Als Resultat können die fehlerbehafteten Daten verstreut werden, und der Angreifer kann nicht in einfacher Weise den geheimen Schlüssel k erhalten.
  • Beim sequentiellen Verarbeitungsverfahren, wie es in 4 illustriert ist, kann der zweite Verschlüssler 220 Basisfeldoperationshardware, wie XOR-Operatoren, Multiplizieren, Addieren und Subtrahieren, gemeinsam nutzen, die im ersten Verschlüssler 210 enthalten ist. Wenn an einer bestimmten Position der Basisfeldoperationshardware ein permanenter Fehler existiert, sind die Ausgabepunkte Q' und Q'' des ersten und zweiten Verschlüsslers 210, 220 gleich.
  • Um diese Möglichkeit zu berücksichtigen, kann eine inverse EC-Operation fINV verwendet werden, um den originalen Eingabepunkt P aus dem EC-Operationsergebnis Q zurückzugewinnen. Eine entsprechende Skalarmultiplikationsvorrichtung 500 gemäß einer beispielhaften Ausführungsform der Erfindung ist in 5 illustriert. Unter Bezugnahme auf 5 beinhaltet die Skalarmultiplikationsvorrichtung 500 einen ersten Verschlüssler 510, der die EC-Operation ausführt, und einen zweiten Verschlüssler 520, der die inverse EC-Operation ausführt, sowie eine erste XOR-Schaltung 530 und eine zweite XOR-Schaltung 540. 6 ist ein Flussdiagramm, das eine Beschreibung einer Betriebsweise der Skalarmultiplikationsvorrichtung 500 von 5 veranschaulicht. Mit Ausnahme eines Vorgangs S66 von 6, bei dem der zweite Verschlüssler 520 die inverse EC-Operation ausführt, sind die übrigen Vorgänge gleichartig zu entsprechenden Vorgängen von 4.
  • Jeder der ersten Verschlüssler 510 kann EC-Bereichsparameter in einem Vorgang S61 von einem nicht gezeigten, geschützten nichtflüchtigen Speicher empfangen. Die Entschlüssler 510 können den zu verschlüsselnden Eingabepunkt P in einem Vorgang S62 empfangen und den Eingabepunkt P in einem Vorgang S63 als ein Punkt Q zuweisen. Jeder der ersten und zweiten Entschlüssler 510, 520 kann zudem einen modifizierten geheimen Schlüssel k vom geschützten nichtflüchtigen Speicher in einem Vorgang S64 empfangen.
  • Der erste Verschlüssler 510 kann einen verschlüsselten Ausgabepunkt Q' aus dem Eingabepunkt P, der im Vorgang S63 als der resultierende Punkt Q zugewiesen wurde, und dem von der zweiten XOR-Schaltung 540 abgegebenen, modifizierten geheimen Schlüssel k unter Verwendung der EC-Bereichsparameter in einem Vorgang S65 generieren, um einen EC-Vorgang Q' = f(k, Q, a, b, p|n) auszuführen.
  • Der zweite Verschlüssler 520 kann einen Ausgabepunkt Q'' aus dem Ausgabepunkt Q' und dem von der zweiten XOR-Schaltung 540 abgegebenen, modifizierten geheimen Schlüssel k durch Ausführen einer inversen EC-Operation Q'' = fINV(k, Q', a, b, p|n), die der EC-Operation des ersten Verschlüsslers 510 entgegengesetzt ist, unter Verwendung der EC-Bereichparameter in einem Vorgang S66 generieren.
  • In einem Vorgang S67 kann die erste XOR-Schaltung 540 eine XOR-Operation des Eingabepunktes P, der als der resultierende Punkt Q im Vorgang S63 zugewiesen wurde, und des Ausgabepunktes Q'' des zweiten Verschlüsslers 520 ausführen. Außerdem kann im Vorgang S67 die zweite XOR-Schaltung eine XOR-Operation des Verknüpfungsergebnisses der ersten XOR-Schaltung 530 mit dem zugeführten geheimen Schlüssel k ausführen und das XOR-Operationsresultat als den modifizierten geheimen Schlüssel k dem ersten und zweiten Verschlüssler 510, 520 zuführen.
  • Wenn kein Fehler im ersten und zweiten Verschlüssler 510, 520 induziert wurde, ist der Ausgabepunkt Q'' des zweiten Verschlüsslers 520 gleich dem Eingabepunkt P, und das Operationsergebnis der zweiten XOR-Schaltung 520 behält den zugeführten geheimen Schlüsselwert k bei. Wenn hingegen ein Fehler im ersten Verschlüssler 510 oder im zweiten Verschlüssler 520 induziert wurde, kann das Operationsergebnis der zweiten XOR-Schaltung 540 ein modifizierter geheimer Schlüsselwert k ≠ k sein.
  • Wenn die Skalarmultiplikationsoperation in einem Vorgang S68 endet, wird der verschlüsselte Ausgabepunkt Q = k·P oder Q = k ~·P vom ersten Verschlüssler 510 oder vom zweiten Verschlüssler 520 an einen Postprozessor in einer oberen Schicht in einem Vorgang S69 abgegeben. Wenn die Skalarmultiplikationsoperation nicht endet, wird die EC-Operation vom ersten und zweiten Verschlüssler 510, 520 unter Ver wendung des von der zweiten XOR-Schaltung 540 abgegebenen, modifizierten geheimen Schlüsselwertes k wiederholt ausgeführt.
  • 7 ist ein Blockdiagramm einer Skalarmultiplikationsvorrichtung 700 gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung, bei der in der Skalarmultiplikationsvorrichtung 200 des Weiteren ein Zufallszahlengenerator 750 enthalten ist. Ein erster Verschlüssler 710, ein zweiter Verschlüssler 720, eine erste XOR-Schaltung 730 und eine zweite XOR-Schaltung 740, die in der Skalarmultiplikationsvorrichtung 700 enthalten sind, können gleiche Vorgänge und Funktionen wie die jeweils entsprechende Komponente in 2 aufweisen. Die Skalarmultiplikationsvorrichtung 700 weist jedoch zusätzlich den Zufallszahlengenerator 750 auf.
  • Unter Bezugnahme auf 7 generiert der Zufallszahlengenerator 750 willkürliche Zufallszahlendaten und gibt die erzeugten Zufallszahlendaten an die erste XOR-Schaltung 730 und die zweite XOR-Schaltung 740 ab. Die erste XOR-Schaltung 730 kann eine XOR-Operation mit einem vorn ersten Verschlüssler 710 erzeugten, verschlüsselten Ausgabepunkt Q', einem vom zweiten Verschfüssler 720 erzeugten, verschlüsselten Ausgabepunkt Q'' und den vom Zufallszahlengenerator 750 erzeugten Zufallszahlendaten ausführen. Die zweite XOR-Schaltung 740 kann eine XOR-Operation mit dem Operationsergebnis der ersten XOR-Schaltung 730, einem zugeführten geheimen Schlüssel k und den Zufallszahlendaten ausführen und das XOR-Operationsresultat als den modifizierten geheimen Schlüsselwert k erzeugen, der dem ersten Verschlüssler 710 und dem zweiten Verschlüssler 720 zugeführt wird.
  • 8 ist ein Blockdiagramm einer Skalarmultiplikationsvorrichtung 800 gemäß einer weiteren exemplarischen Ausführungsform der vorliegenden Erfindung, bei der in der Skalarmultiplikationsvorrichtung 500 zusätzlich ein Zufallszahlengenerator 850 enthalten ist. Ein erster Verschlüssler 810, ein zweiter Verschlüssler 820, eine erste XOR-Schaltung 830 und eine zweite XOR-Schaltung 840, die in der Skalarmultiplikationsvorrichtung 800 enthalten sind, weisen gleichartige Operationen und Funktionen wie die jeweils entsprechenden Komponenten in 5 auf. Die Skalarmultiplikationsvorrichtung 800 weist jedoch zusätzlich den Zufallszahlengenerator 850 auf.
  • Unter Bezugnahme auf 8 kann der Zufallszahlengenerator 850 willkürliche Zufallszahlendaten generieren und die erzeugten Zufallszahlendaten an die erste XOR-Schaltung 830 und die zweite XOR-Schaltung 840 abgeben. Die erste XOR-Schaltung 830 kann eine XOR-Operation mit einem Eingabepunkt P, der im Vorgang S63 von 6 als der resultierende Punkt Q zugewiesen wurde, einem vom zweiten Verschlüssler 820 erzeugten, verschlüsselten Ausgabepunkt Q'' und den vom Zufallszahlengenerator 850 erzeugten Zufallszahlendaten ausführen. Die zweite XOR-Schaltung 840 kann eine XOR-Operation mit dem Operationsergebnis der ersten XOR-Schaltung 830, einem zugeführten geheimen Schlüssel k und den Zufallszahlendaten ausführen und das XOR-Operationsergebnis als den modifizierten geheimen Schlüsselwert k erzeugen, der dem ersten Verschlüssler 810 und dem zweiten Verschlüssler 820 zugeführt wird.
  • Wie in den 7 und 8 dargestellt, können die Zufallszahlengeneratoren 750, 780 enthalten sein, um die Möglichkeit auszuschließen, dass der Angreifer einige Datenregister in den EC-Operationen auf null setzt und leicht den geheimen Schlüssel k aus dem Wert Q erhält, der als Ergebnis dieser Festlegung abgegeben wird.
  • 9 ist ein Blockdiagramm einer Skalarmultiplikationsvorrichtung 900 mit einer skalierbaren regulären Struktur für eine Hardwarepipelineimplementierung gemäß beispielhaften Ausführungsformen der vorliegenden Erfindung. Unter Bezugnahme auf 9 können ein erster Verschlüssler 910, ein zweiter Verschlüssler 920, eine erste XOR-Schaltung 930 und eine zweite XOR-Schaltung 940, die in der Skalarmultiplikationsvorrichtung 900 enthalten sind, gleichartige Operationen und Funktionen wie die entsprechenden, in 2 dargestellten Komponenten haben. Die Skalarmultiplikationsvorrichtung 900 kann jedoch eine Struktur aufweisen, bei welcher der erste Verschlüssler 910 und der zweite Verschlüssler 920 wiederholt die EC-Operationen ausführen. Beispielsweise können der erste Verschlüssler 910 und der zweite Verschlüssler 920 eine erste EC-Operation ECO_1, EXO_1', eine zweite EC-Operation ECO_2, ECO_2' usw. bis zu einer n-ten EC-Operation ECO_n, ECO_n' ausführen.
  • Jeder von dem ersten Verschlüssler 910 und dem zweiten Verschlüssler 920 kann einen verschlüsselten Ausgabepunkt aus einem Eingabepunkt P mittels Durchführen der EC-Operation generieren. Beispielsweise kann jeder von dem ersten Verschlüssler 910 und dem zweiten Verschlüssler 920 einen verschlüsselten Ausgabepunkt für eine zweite Operation aus dem verschlüsselten Ausgabepunkt einer ersten Operation mittels Durchführen der EC-Operation generieren. Die Operation kann nacheinander für wenigstens zwei Vorgänge ausgeführt werden.
  • Die erste XOR-Schaltung 930 kann XOR-Operationen mit den von jeweiligen Operationen des ersten Verschlüsslers 910 generierten, verschlüsselten Ausgabepunkten und den von jeweiligen Operationen des zweiten Verschlüsslers 920 generierten, verschlüsselten Ausgabepunkten durchführen. Die zweite XOR-Schaltung 940 kann eine XOR-Operation der Operationsergebnisse der ersten XOR-Schaltung 930 mit einem geheimen Schlüssel k ausführen und das XOR-Operationsergebnis als den modifizierten geheimen Schlüssel k erzeugen, der dem ersten und zweiten Verschlüssler 910, 920 zugeführt wird.
  • 10 ist ein Blockdiagramm einer Skalarmultiplikationsvorrichtung 1000 gemäß einer exemplarischen Ausführungsform der vorliegenden Erfindung, bei der die Skalarmultiplikationsvorrichtung 900 von 9 durch Zufallszahlendaten arbeiten kann, die von einem nicht gezeigten Zufallszahlengenerator erzeugt werden. Unter Bezugnahme auf 10 können ein erster Verschlüssler 1010, ein zweiter Verschlüssler 1020, eine erste XOR-Schaltung 1030 und eine zweite XOR-Schaltung 1040, die in der Skalarmultiplikationsvorrichtung 1000 enthalten sind, gleichartige Operationen und Funktionen wie die entsprechenden Komponenten von 9 haben. Die Skalarmultiplikationsvorrichtung 1000 kann jedoch durch Zufallszahlendaten RND_1, RND_2, ..., RND_n jeweiliger Operationen arbeiten, die von einem Zufallszahlengenerator erzeugt werden.
  • Die erste XOR-Schaltung 1030 kann XOR-Operationen der von jeweiligen Operationen des ersten Verschlüsslers 1010 erzeugten, verschlüsselten Ausgabepunkte mit den von jeweiligen Operationen des zweiten Verschlüsslers 1020 erzeugten, verschlüsselten Ausgabepunkten und den Zufallszahlendaten RND_1, RND_2,..., RND_n jeweiliger Operationen ausführen. Die zweite XOR-Schaltung 1040 führt eine XOR-Operation der jeweiligen Operationsergebnisse der ersten XOR-Schaltung 1030 mit einem geheimen Schlüssel k und den jeweiligen Zufallszahlendaten RND_1, RND_2, ..., RND_n aus, um das XOR-Operationsergebnis als den modifizierten geheimen Schlüssel k zu erzeugen, der dem ersten und zweiten Verschlüssler 1010, 1020 zugeführt wird.
  • 11 ist ein Blockdiagramm einer Skalarmultiplikationsvorrichtung 1100 mit einer skalierbaren regulären Struktur für eine Hardwarepipelineimplementierung von 5 gemäß einer beispielhaften Ausführungsform der vorliegenden Erfindung. Unter Bezugnahme auf 11 können ein erster Verschlüssler 1110, ein zweiter Verschlüssler 1120, eine erste XOR-Schaltung 1130 und eine zweite XOR-Schaltung 1140, die in der Skalarmultiplikationsvorrichtung 1100 enthalten sind, gleichartige Operationen und Funktionen wie die entsprechenden Komponenten von 5 aufweisen. Die Skalarmultiplikationsvorrichtung 1100 kann jedoch eine Struktur haben, bei welcher der erste Verschlüssler 1110 und der zweite Verschlüssler 1120 wiederholt die EC-Operation über einige Vorgänge hinweg durchführen. Gleichartig zur Skalarmultiplikationsvorrichtung von 9 kann die Skalarmultiplikationsvorrichtung 1100 anstelle einer einzelnen EC-Operation mehrere EC-Operationen ausführen.
  • Jeder von dem ersten Verschlüssler 1110 kann mittels Durchführen der EC-Operation einen verschlüsselten Ausgabepunkt von einem Eingabepunkt P erzeugen. Der erste Verschlüssler 1110 kann einen verschlüsselten Ausgabepunkt für einen nachfolgenden Durchlauf aus dem verschlüsselten Ausgabepunkt eines vorherigen Durchlaufs mittels Durchführen der EC-Operation generieren. Der Vorgang kann nacheinander für wenigstens zwei Operationen ausgeführt werden. Der zweite Verschlüssler 1120 kann einen verschlüsselten Ausgabepunkt für jeden Durchlauf aus einem Ausgabepunkt eines entsprechenden Durchlaufs des ersten Verschlüsslers 1110 mittels Durchführen der inversen EC-Operation generieren.
  • Die erste XOR-Schaltung 1130 kann XOR-Operationen der verschlüsselten Ausgabepunkte, die für jeweilige Operationen des ersten Verschlüsslers 1110 generiert werden, mit den verschlüsselten Ausgabepunkten durchführen, die für jeweilige Operationen des zweiten Verschlüsslers 1120 generiert werden. Die zweite XOR-Schaltung 1140 kann eine XOR-Operation der Operationsergebnisse der ersten XOR-Schaltung 930 mit einem geheimen Schlüssel k ausführen, um das XOR-Operationsresultat als den modifizierten geheimen Schlüssel k zu erzeugen, der dem ersten und zweiten Verschlüssler 1110, 1120 zugeführt wird.
  • 12 ist ein Blockdiagramm einer Skalarmultiplikationsvorrichtung 1200 gemäß einer vorteilhaften Ausführungsform der Erfindung, bei der die Skalarmultiplikationsvorrichtung 1100 von 11 mittels Zufallszahlendaten arbeitet, die von einem nicht gezeigten Zufallszahlengenerator erzeugt werden. Unter Bezugnahme auf 12 können ein erster Verschlüssler 1210, ein zweiter Verschlüssler 1220, eine erste XOR-Schaltung 1230 und eine zweite XOR-Schaltung 1240, die in der Skalarmultiplikationsvorrichtung 1200 enthalten sind, gleichartige Operationen und Funktionen wie die jeweiligen Komponenten von 11 aufweisen. Die Skalarmultiplikationsvorrichtung 1200 kann jedoch mittels Zufallszahlendaten RND_1, RND_2,..., RND_n für jeweilige Operationen arbeiten, die von einem Zufallszahlengenerator erzeugt werden.
  • Die erste XOR-Schaltung 1230 kann XOR-Operationen mit den verschlüsselten Ausgabepunkten, die für jeweilige Operationen vom ersten Verschlüssler 1210 erzeugt werden, den verschlüsselten Ausgabepunkten, die für jeweilige Operationen vom zweiten Verschlüssler 1220 erzeugt werden, und den Zufallszahlendaten RND_1, RND_2, ..., RND_n für die jeweiligen Operationen ausführen. Die zweite XOR-Schaltung 1240 kann eine XOR-Operation der jeweiligen Operationsergebnisse der ersten XOR-Schaltung 1230 mit einem geheimen Schlüssel k und den jeweiligen Zufallszahlendaten RND_1, RND_2,..., RND_n ausführen, um das XOR-Operationsresultat als den modifizierten geheimen Schlüssel k zu erzeugen, der dem ersten und zweiten Verschlüssler 1210, 1220 zugeführt wird.
  • Wie oben beschrieben, können die Skalarmultiplikationsvorrichtungen 200, 500, 700, 800, 900, 1000, 1100 und 1200 den originalen geheimen Schlüsselwert k in den modifizierten Schlüsselwert k ≠ k modifizieren, wenn ein Fehler im Skalarmultiplikationsberechnungsprozess auftritt. Als Ergebnis kann der originale geheime Schlüsselwert k nicht herausgefunden werden.
  • Beispielhafte Ausführungsformen der vorliegenden Erfindung können als Computerprogramme geschrieben und in Digitalcomputern von allgemeinem Gebrauch implementiert sein, welche die Programme unter Verwendung eines computerlesbaren Aufzeichnungsmediums ausführen. Beispiele des computerlesbaren Aufzeichnungsmediums umfassen magnetische Speichermedien, wie ROM, Disketten, Festplatten etc., optische Speichermedien, wie CD-ROMs, DVDs etc., und Speichermedien wie Trägerwellen, z.B. Übertragung über das Internet. Das computerlesbare Aufzeichnungsmedium kann auch über Netzwerke verteilt sein, die mit Computersystemen gekoppelt sind, so dass der computerlesbare Code in verteilter Weise gespeichert und ausgeführt wird.
  • Wie oben erläutert, werden in einer Skalarmultiplikationsvorrichtung und in einem Skalarmultiplikationsverfahren gemäß beispielhaften Ausführungsformen der Erfindung XOR-Operationen vor einer endgültigen Ausgabe ausgeführt, und keine Fehlerüberprüfung wird in einem Ausgabeprozess ausgeführt, bei dem der geheime Schlüssel gegen einen Angriff anfällig sein kann. Dementsprechend kann es für die Skalarmultiplikationsvorrichtung und das Skalarmultiplikationsverfahren vorteilhaft sein, bei einem Kryptosystem verwendet zu werden, das eine DFA-Angriffsresistenz und/oder eine hohe Betriebsgeschwindigkeit erfordert. Außerdem können die Skalarmultiplikationsvorrichtung und das Skalarmultiplikationsverfahren verwendet werden, um SCA-Angriffen gegen einen Skalarmultiplikationsalgorithmus auf Basis von NAF (nicht benachbarter Form) zu begegnen. Außerdem können die Skalarmultiplikationsvorrichtung und das Skalarmultiplikationsverfahren leicht an alle Arten von Kryptographiealgorithmen, die einen symmetrischen Schlüssel oder einen asymmetrischen Schlüssel verwenden, durch eine geringfügige Modifikation angepasst werden.

Claims (16)

  1. Kryptographievorrichtung mit einer Skalarmultiplikationsvorrichtung, die umfasst: – einen ersten Verschlüssler (210, 510), der zum Empfangen eines Eingabepunktes (P) und eines geheimen Schlüssels (k) eingerichtet ist, um einen ersten. verschlüsselten Ausgabepunkt (Q') zu erzeugen, – einen zweiten Verschlüssler (220, 520), der zum Empfangen des geheimen Schlüssels und des Eingabepunktes oder des ersten verschlüsselten Ausgabepunktes eingerichtet ist, um einen zweiten verschlüsselten Ausgabepunkt (Q'') zu erzeugen, gekennzeichnet durch – eine erste Logikschaltung (230, 530), die zum Empfangen des zweiten verschlüsselten Ausgabepunktes (Q'') und des ersten verschlüsselten Ausgabepunktes (Q) oder des Eingabepunktes (P) eingerichtet ist, um eine erste Logikoperation auszuführen, und – eine zweite Logikschaltung (240, 540), die zum Empfangen des ersten Logikoperationsresultates der ersten Logikschaltung und des geheimen Schlüssels (k) eingerichtet ist, um eine zweite Logikoperation auszuführen.
  2. Kryptographievorrichtung nach Anspruch 1, wobei die erste und die zweite Logikschaltung XOR-Schaltungen sind.
  3. Kryptographievorrichtung nach Anspruch 1 oder 2, wobei wenigstens einer der zwei Verschlüssler den verschlüsselten Ausgabepunkt mittels Ausführen einer Elliptikkurven-Operation unter Verwendung von Parametern erzeugt, die von einem nichtflüchtigen Speicher zugeführt werden, und wobei der nichtflüchtige Speicher auch den geheimen Schlüssel speichert.
  4. Kryptographievorrichtung nach einem der Ansprüche 1 bis 3, wobei jeder der beiden Verschlüssler zum Empfangen des geheimen Schlüssels eingerichtet ist, wenn kein Fehler in den beiden Verschlüsslern detektiert wird, jedoch einen modifizierten geheimen Schlüssel empfängt, wenn ein Fehler in den zwei Verschlüsslern detektiert wird.
  5. Kryptographievorrichtung nach einem der Ansprüche 1 bis 4, die des Weiteren einen Zufallszahlengenerator (750) enthält, der zur Erzeugung von Zufallszahlendaten eingerichtet ist, wobei die erste Logikschaltung zum Empfangen der Zufallszahlendaten zusätzlich zu dem zweiten verschlüsselten Ausgabepunkt und eines von dem ersten verschlüsselten Ausgabepunkt und dem Eingabepunkt und zur Durchführung der ersten Logikoperation eingerichtet ist und die zweite Logikschaltung zum Empfangen des ersten Logikoperationsresultates der ersten Logikschaltung, der Zufallszahlendaten und des geheimen Schlüssels zur Durchführung der zweiten Logikoperation eingerichtet ist.
  6. Kryptographievorrichtung nach einem der Ansprüche 1 bis 5, wobei jeder der zwei Verschlüssler zur Erzeugung zweier verschlüsselter Ausgabepunkte aus dem Eingabepunkt mittels Durchführen einer Elliptikkurven-Operation eingerichtet ist und einen dritten verschlüsselten Ausgabepunkt für eine nachfolgende Operation aus den zwei verschlüsselten Ausgabepunkten einer vorherigen Operation mittels Durchführen der Elliptikkurven-Operation erzeugt und wobei die verschlüsselten Ausgabepunkte für wenigstens zwei Operationen erzeugt werden.
  7. Kryptographievorrichtung nach einem der Ansprüche 3 bis 6, wobei der erste Verschlüssler den ersten verschlüsselten Ausgabepunkt mittels Durchführen einer Elliptikkurven-Operation unter Verwendung von Parametern erzeugt, die von einem nichtflüchtigen Speicher zugeführt werden, und der zweite Verschlüssler den zweiten verschlüsselten Ausgabepunkt mittels Durchführen einer inversen Elliptikkurven-Operation unter Verwendung der vorgegebenen Parameter erzeugt und wobei der nichtflüchtige Speicher den geheimen Schlüssel speichert.
  8. Kryptographievorrichtung nach einem der Ansprüche 1 bis 7, wobei der erste Verschlüssler zur Erzeugung des ersten verschlüsselten Ausgabepunktes aus dem Eingabepunkt und dem geheimen Schlüssel mittels Durchführen einer Elliptikkurven-Operation und zur Erzeugung eines weiteren verschlüsselten Ausgabepunktes für einen nachfolgenden Vorgang aus dem ersten verschlüsselten Ausgabepunkt eines vorherigen Vorgangs mittels Durchführen der Elliptikkurven-Operation eingerichtet ist und wobei der erste und der weitere verschlüsselte Ausgabepunkt für wenigstens zwei Operationen erzeugt werden, – der zweite Verschlüssler zur Erzeugung des zweiten verschlüsselten Ausgabepunktes für jede Operation aus dem ersten verschlüsselten Ausgabepunkt und dem geheimen Schlüssel mittels Durchführen einer inversen Elliptikkurven-Operation eingerichtet ist und – die erste Logikschaltung eine erste XOR-Operation für jeden Vorgang mit dem in jeder Operation vom ersten Verschlüssler erzeugten, ersten verschlüsselten Ausgabepunkt und dem in jeder Operation vom zweiten Verschlüssler erzeugten, zweiten verschlüsselten Ausgabepunkt durchführt.
  9. Kryptographieverfahren mit einem Skalarmultiplikationsprozess, der umfasst: – Empfangen eines Eingabepunktes (P) und eines geheimen Schlüssels (k), – Erzeugen eines ersten verschlüsselten Ausgabepunktes (Q') aus dem Eingabepunkt und dem geheimen Schlüssel und – Erzeugen eines zweiten verschlüsselten Ausgabepunktes (Q'') aus dem Eingabepunkt und dem geheimen Schlüssel oder Erzeugen eines zweiten verschlüsselten Ausgabepunktes (Q'') aus dem ersten verschlüsselten Ausgabepunkt und dem geheimen Schlüssel mittels Durchführen einer inversen Operation, gekennzeichnet durch – Durchführen einer ersten Logikoperation mit dem ersten verschlüsselten Ausgabepunkt (Q') und dem zweiten verschlüsselten Ausgabepunkt (Q'') und – Durchführen einer zweiten Logikoperation mit einem Ergebnis der ersten Logikoperation und dem geheimen Schlüssel.
  10. Kryptographieverfahren nach Anspruch 9, wobei eine erste XOR-Operation als die erste Logikoperation ausgeführt wird und eine zweite XOR-Operation als die zweite Logikoperation ausgeführt wird.
  11. Kryptographieverfahren nach Anspruch 9 oder 10, wobei das Erzeugen des ersten und zweiten verschlüsselten Ausgabepunktes eine Durchführung einer Elliptikkurven-Operation unter Verwendung gewünschter Parameter umfasst.
  12. Kryptographieverfahren nach einem der Ansprüche 9 bis 11, wobei der erste und zweite verschlüsselte Ausgabepunkt parallel oder sequentiell erzeugt werden.
  13. Kryptographieverfahren nach einem der Ansprüche 9 bis 12, wobei die erste Logikoperation mit dem ersten verschlüsselten Ausgabepunkt, dem zweiten verschlüsselten Ausgabepunkt und erzeugten Zufallszahlendaten ausgeführt wird.
  14. Kryptographieverfahren nach einem der Ansprüche 9 bis 13, wobei das Erzeugen des ersten und zweiten verschlüsselten Ausgabepunktes umfasst: – Erzeugen eines verschlüsselten Ausgabepunktes aus dem Eingabepunkt mittels Durchführen einer Elliptikkurven-Operation, – Erzeugen eines verschlüsselten Ausgabepunktes für einen nachfolgenden Durchlauf aus dem verschlüsselten Ausgabepunkt eines vorherigen Durchlaufs mittels Durchführen der Elliptikkurven-Operation, wobei jeweilige Ausgabepunkte, die für wenigstens zwei Operationen verschlüsselt werden, als der erste verschlüsselte Ausgabepunkt und der zweite verschlüsselte Ausgabepunkt erzeugt werden, und – Durchführen der ersten Logikoperation in jedem Durchlauf für den ersten verschlüsselten Ausgabepunkt und den zweiten verschlüsselten Ausgabepunkt, die in jedem Durchlauf erzeugt werden.
  15. Kryptographieverfahren nach einem der Ansprüche 9 bis 13, wobei das Erzeugen des ersten verschlüsselten Ausgabepunktes eine Durchführung einer Elliptikkurven-Operation unter Verwendung gewünschter Parameter beinhaltet und das Erzeugen des zweiten verschlüsselten Ausgabepunktes die Durchführung einer inversen Elliptikkurven-Operation mit dem ersten verschlüsselten Ausgabepunkt und dem geheimen Schlüssel umfasst.
  16. Kryptographieverfahren nach einem der Ansprüche 9 bis 13, wobei – das Erzeugen des ersten verschlüsselten Ausgabepunktes umfasst: – Erzeugen eines verschlüsselten Ausgabepunktes aus dem Eingabepunkt mittels Durchführen einer Elliptikkurven-Operation, – Erzeugen eines verschlüsselten Ausgabepunktes einer nachfolgenden Operation aus dem verschlüsselten Ausgabepunkt einer vorherigen Operation mittels Durchführen der Elliptikkurven-Operation, wobei der für wenigstens zwei Operationen verschlüsselte Ausgabepunkt als der erste Ausgabepunkt erzeugt wird, – und das Erzeugen des zweiten verschlüsselten Ausgabepunktes umfasst: – Erzeugen eines verschlüsselten Ausgabepunktes jedes Durchlaufs aus dem ersten verschlüsselten Ausgabepunkt für einen entsprechenden Durchlauf mittels Durchführen der inversen Elliptikkurven-Operation, – und wobei die erste XOR-Operation in jedem Durchlauf mit dem Eingabepunkt jedes Durchlaufs ausgeführt wird, der für die Erzeugung des ersten Ausgabepunktes und des in jedem Durchlauf erzeugten zweiten Ausgabepunktes benutzt wird.
DE102006013975.5A 2005-03-19 2006-03-15 Kryptographievorrichtung und -verfahren mit Skalarmultiplikation Expired - Fee Related DE102006013975B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2005-0022929 2005-03-19
KR1020050022929A KR100699836B1 (ko) 2005-03-19 2005-03-19 스칼라 곱에서 dfa 대책을 위한 장치 및 방법

Publications (2)

Publication Number Publication Date
DE102006013975A1 true DE102006013975A1 (de) 2006-11-02
DE102006013975B4 DE102006013975B4 (de) 2016-02-25

Family

ID=36293024

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006013975.5A Expired - Fee Related DE102006013975B4 (de) 2005-03-19 2006-03-15 Kryptographievorrichtung und -verfahren mit Skalarmultiplikation

Country Status (4)

Country Link
US (1) US7916860B2 (de)
KR (1) KR100699836B1 (de)
DE (1) DE102006013975B4 (de)
GB (1) GB2424295B (de)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009022272A2 (en) * 2007-08-16 2009-02-19 Nxp B.V. System and method providing fault detection capability
KR100946907B1 (ko) * 2007-10-29 2010-03-09 주식회사 케이티테크 멀티미디어 데이터의 암호화 장치, 멀티미디어 데이터의암호화 방법 및 멀티미디어 데이터의 암호화 기능을 구비한휴대용 단말기
FR2949010A1 (fr) * 2009-08-05 2011-02-11 St Microelectronics Rousset Procede de contremesure pour proteger des donnees memorisees
US9215069B2 (en) * 2012-12-10 2015-12-15 Intel Corporation Methods and apparatus for device authentication with one-time credentials
FR3001315B1 (fr) * 2013-01-18 2016-05-06 Inside Secure Procede de cryptographie comprenant une operation de multiplication par un scalaire ou une exponentiation
EP3119031A1 (de) * 2015-07-16 2017-01-18 ABB Schweiz AG Verschlüsselungsschema mit mehreren parteien
US10270598B2 (en) * 2016-08-26 2019-04-23 Intel Corporation Secure elliptic curve cryptography instructions

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4635223A (en) * 1983-05-16 1987-01-06 Motorola, Inc. Fail safe protection circuitry for a commerical microprocessor in encryption equipment
US5307409A (en) * 1992-12-22 1994-04-26 Honeywell Inc Apparatus and method for fault detection on redundant signal lines via encryption
DE69534603T2 (de) * 1994-07-29 2006-08-03 Certicom Corp., Mississauga Verschlüsselungssystem für elliptische kurve
US7302415B1 (en) * 1994-09-30 2007-11-27 Intarsia Llc Data copyright management system
US6108419A (en) * 1998-01-27 2000-08-22 Motorola, Inc. Differential fault analysis hardening apparatus and evaluation method
US6144740A (en) * 1998-05-20 2000-11-07 Network Security Technology Co. Method for designing public key cryptosystems against fault-based attacks with an implementation
JP2003098962A (ja) 2001-09-20 2003-04-04 Hitachi Ltd 楕円曲線スカラー倍計算方法及び装置並びに記録媒体
FR2809893B1 (fr) * 2000-06-02 2002-11-15 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de cryptographie a cle publique sur courbe elliptique
US7002946B2 (en) * 2001-07-16 2006-02-21 Qualcomm Inc. Frequency discriminator
JP2003216026A (ja) 2002-01-18 2003-07-30 Sony Corp 楕円曲線暗号処理方法および楕円曲線暗号処理装置、並びにコンピュータ・プログラム
JP2003255831A (ja) 2002-02-28 2003-09-10 Hitachi Ltd 楕円曲線スカラー倍計算方法及び装置
JP2004163687A (ja) 2002-11-13 2004-06-10 Fujitsu Ltd 楕円曲線暗号装置、楕円曲線暗号プログラム
EP1548687B1 (de) * 2002-12-18 2013-01-09 Fujitsu Limited Manipulationsbeständige verschlüsselung mit elliptischer kurve unter verwendung eines geheimschlüssels
US7309004B1 (en) * 2002-12-26 2007-12-18 Diebold Self-Service Systems, Division Of Diebold, Incorporated Cash dispensing automated banking machine firmware authentication system and method
US7532722B2 (en) * 2003-04-18 2009-05-12 Ip-First, Llc Apparatus and method for performing transparent block cipher cryptographic functions
JP2004350007A (ja) * 2003-05-22 2004-12-09 Matsushita Electric Ind Co Ltd 暗号方式
WO2004112306A2 (en) 2003-06-12 2004-12-23 Philips Intellectual Property & Standards Gmbh Method for defence against differential power analysis attacks
KR100574945B1 (ko) * 2003-08-08 2006-04-28 삼성전자주식회사 겹침 연산 방식과 변동 클럭 방식을 이용한 암호화 방법
FR2872977B1 (fr) * 2004-07-08 2006-10-13 Gemplus Sa Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme a cle publique utilisant les courbes elliptiques permettant la protection du calcul de couplage sur les dites courbes
KR100725169B1 (ko) 2005-01-27 2007-06-04 삼성전자주식회사 전력 분석 공격에 안전한 논리 연산 장치 및 방법

Also Published As

Publication number Publication date
GB2424295A (en) 2006-09-20
KR100699836B1 (ko) 2007-03-27
DE102006013975B4 (de) 2016-02-25
US20060212506A1 (en) 2006-09-21
US7916860B2 (en) 2011-03-29
GB0605477D0 (en) 2006-04-26
GB2424295B (en) 2007-06-20
KR20060101069A (ko) 2006-09-22

Similar Documents

Publication Publication Date Title
DE102006022960B4 (de) Verfahren zum Verschlüsseln von Eingabedaten, kryptographisches System und Computerprogrammprodukt
DE69434422T2 (de) Verfahren und Anordnung zur Verschlüsselung/Entschlüsselung auf der Basis des Montgomery-Verfahrens unter Verwendung von effizienter modularer Multiplikation
DE102006013975B4 (de) Kryptographievorrichtung und -verfahren mit Skalarmultiplikation
DE602004001273T2 (de) Verfahren und Vorrichtung zur Identifiezierungsbasierten Verschlüsselung
DE102005005335A1 (de) Vorrichtung und Verfahren zur Hardware-Verschlüsselung
DE102005012098A1 (de) Datenchiffrierprozessor sowie AES-Chiffriersystem und AES-Chiffrierverfahren
DE102006033386A1 (de) Kryptographisches System und Verfahren zum Verschlüsseln von Eingangsdaten
DE112009000154T5 (de) Änderung der Darstellung eines Punktes auf einer elliptischen Kurve
EP1922837B1 (de) Verfahren zum sicheren ver- oder entschlüsseln einer nachricht
DE112017007095T5 (de) Verschlüsselungsvorrichtung und entschlüsselungsvorrichtung
DE69924912T2 (de) Verschlüsselungsverfahren und Vorrichtung unter Verwendung einer elliptischen Kurve
WO2002073374A2 (de) Verfahren zur authentikation
DE10304451B3 (de) Modulare Exponentiation mit randomisiertem Exponenten
DE112009000152T5 (de) Modulare Reduktion unter Verwendung einer speziellen Form des Modulo
Huang et al. Cryptanalysis and security enhancement for a chaos-based color image encryption algorithm
CH708240A2 (de) Signaturprotokoll und Gerät zu dessen Umsetzung.
DE102006011208A1 (de) Verfahren und Vorrichtung für die Kryptographie
DE60218421T2 (de) Verfahren und Vorrichtung zur Erzeugung von Digitalsignaturen
He et al. Cryptanalysis and improvement of a block cipher based on multiple chaotic systems
Amina et al. A novel trigonometric 3D chaotic map and its application in a double permutation-diffusion image encryption
Yang et al. A stream cipher based on fractional pseudo chaotic random number generator
DE112020007024T5 (de) Vertrauliche-information-verarbeitungssystem, verschlüsselungsvorrichtung, verschlüsselungsverfahren und verschlüsselungsprogramm
Charalampidis et al. A Novel Piecewise Chaotic Map for Image Encryption
DE102012210354B3 (de) Verfahren und Recheneinheit zur Erzeugung kryptographischer Daten
DE602005003984T2 (de) Kryptografisches Verfahren und Gerät

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R016 Response to examination communication
R018 Grant decision by examination section/examining division
R020 Patent grant now final
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee