DE69917592T2 - Gegen stromverbrauchsignaturanfall beständige kryptographie - Google Patents

Gegen stromverbrauchsignaturanfall beständige kryptographie Download PDF

Info

Publication number
DE69917592T2
DE69917592T2 DE69917592T DE69917592T DE69917592T2 DE 69917592 T2 DE69917592 T2 DE 69917592T2 DE 69917592 T DE69917592 T DE 69917592T DE 69917592 T DE69917592 T DE 69917592T DE 69917592 T2 DE69917592 T2 DE 69917592T2
Authority
DE
Germany
Prior art keywords
point
points
doubling
generating
generate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69917592T
Other languages
English (en)
Other versions
DE69917592D1 (de
Inventor
A. Scott VANSTONE
P. Robert GALLANT
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.)
Certicom Corp
Original Assignee
Certicom Corp
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 Certicom Corp filed Critical Certicom Corp
Application granted granted Critical
Publication of DE69917592D1 publication Critical patent/DE69917592D1/de
Publication of DE69917592T2 publication Critical patent/DE69917592T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • 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
    • 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/7261Uniform execution, e.g. avoiding jumps, or using formulae with the same power profile

Description

  • Diese Erfindung betrifft ein Verfahren zur Minimierung von Stromverbrauchsignaturangriffen bei Verschlüsselungssystemen.
  • HINTERGRUND DER ERFINDUNG
  • Verschlüsselungssysteme verdanken ihre Sicherheit im Allgemeinen der Tatsache, dass ein spezielles Informationsstück geheim gehalten wird, ohne welches es fast unmöglich ist, das Schema zu knacken. Die geheime Information muss im Allgemeinen in dem Kryptographieprozessor innerhalb einer sicheren Begrenzung gespeichert werden, wodurch es einem Angreifer erschwert wird, darauf direkten Zugriff zu erlangen. Es sind jedoch unterschiedliche Maßnahmen oder Angriffe unternommen worden, um an diese geheime Information zu gelangen. Einer davon ist der Takt- oder Stromverbrauchsignaturangriff.
  • Der Taktangriff (oder "Seitenkanalangriff") ist ein offensichtliches Ergebnis sequentieller Computeroperationen, die während Verschlüsselungsoperationen durchgeführt werden. Üblicherweise nutzt der Angriff einige Implementierungsaspekte eines Verschlüsselungsalgorithmus aus.
  • Gängige Verschlüsselungsschemata, wie beispielsweise RSA und elliptische Kurven (EC) arbeiten beispielsweise über mathematischen Gruppen; Z*n(n = pq) bei RSA, diskrete Protokollsysteme bei einem finiten Feld F*q (q ist eine Potenz einer Primzahl),
    Figure 00020001
    oder einer EC-Gruppe über diese finiten Felder. Die Gruppenoperationen, die bei RSA Modulo-n-Multiplikation und bei EC Punkt-Addition genannt werden, werden in einer bestimmten Art und Weise sequentiell wiederholt, um eine skalare Operation durchzuführen. Bei RSA wird der Operand Exponent genannt, die Operation wird Potenzierung genannt und das Multiplikationsverfahren ist allgemein als wiederholtes Quadrieren-und-Multiplizieren bekannt. Wenn somit eine Anzahl a ∈ Z*n und ein Integerwert, der Exponent, 0 ≤ k < p gegeben ist, dessen binäre Darstellung sich als k = Σ i / i=0 ki2i darstellen lässt, kann ein Wert ak mod n unter wiederholter Anwendung des "Quadrier-und-Multiplizier"-Algorithmus (der in dem Handbuch der angewandten Kryptographie auf Seite 615 beschrieben ist) berechnet werden. Gleichermaßen kann bei gegebenem g(x) ∈ FPm und einem Integerwert 0 ≤ k ≤ pm – 1 dann g(x)k mod f(x) mittels diesem Verfahren berechnet werden.
  • Einerseits ist bei EC der Operand ein skalarer Multiplikator, die Operation wird skalare Punktmultiplikation genannt und das Verfahren ist als "Verdopplung-und-Addition" bekannt. Wenn daher k ein positiver Integerwert ist, und wenn P ein Punkt einer elliptischen Kurve ist, dann kann kP unter Verwendung des "Verdopplung-und-Addition"-Verfahrens erhalten werden. Diese beiden Verfahren sind aus dem Stand der Technik bereits bekannt und werden nicht weiter erörtert werden.
  • Wenn ein Angreifer einmal im Besitz des privaten Schlüssels ist (sei es ein Langzeit- oder Sitzungsschlüssel), ist er, wie bereits zuvor erwähnt wurde, in der Lage, Signaturen zu fälschen und geheime Nachrichten, die für die angegriffene Einheit bestimmt sind, zu entschlüsseln. Es ist daher von höchster Bedeutung, die Geheimhaltung oder Integrität des privaten Schlüssels in dem System zu wahren.
  • Es sind viele Verfahren vorgeschlagen worden, um den privaten Schlüssel zu erhalten. Die Verschlüsselungsoperationen werden entweder von einem sequentiell arbeitenden Spezial- oder Universalprozessor durchgeführt. Jüngste Angriffsverfahren wurden in öffentlich zugänglichen Schriftwerken vorgeschlagen, wie beispielsweise in Paul Kochers Artikel "Taktangriffe auf Implementierungen von Diffie-Hellmann-, RAS-, DSS- und anderen Systemen" beschrieben. Diese Angriffe basierten auf einer Taktanalyse dieser Prozessoren oder anders gesagt auf der Taktanalyse von "Blackbox"-Operationen. In einem Fall erhält ein Angreifer eine Stromverbrauchsignatur, indem er den momentanen Stromverbrauch eines Prozessors während einer Operation eines privaten Schlüssels erfasst. Die Stromverbrauchsignatur ist mit der Anzahl der Gates verknüpft, die während jedes Taktzyklus aktiv sind. Jede der im vorangehenden Absatz beschriebenen Fundamentaloperation erzeugt ein eindeutiges Taktmuster. Zum Erhalt einer Stromverbrauchsignatur existieren andere Verfahren als der Momentanstromverbrauch.
  • Aufwendige und sorgfältige Analysen einer End-End-Wellenform können den Rang von Addition-und-Verdopplungs- oder Quadrier-und-Multiplikations-Operationen zerlegen. Unter Verwendung des Standardalgorithmus muss jeweils entweder eine Verdopplung oder Quadrierung für jedes Bit des Exponenten oder des skalaren Multiplikators erfolgen. Die Stellen, an denen Verdoppelungswellenformen aneinander angrenzen, repräsentieren daher mit Nullen besetzte Bitstellen, und Stellen mit Additionswellenformen zeigen mit Einsen besetzte Bits an. Diese Taktmessungen können daher analysiert werden, um den gesamten geheimen Schlüssel herauszufinden und stellen somit das System dar.
  • Zusätzlich zu den zuvor erwähnten "Quadrierung-und Multiplikations"- oder "Verdoppelung-und-Additions"-Verfahren sind andere Verfahren zur Berechnung von kP beispielsweise die "Binärleiter" oder das Montgomery-Verfahren, das in "Speeding the Pollard and Elliptic Curve Methods of Factorization" von Peter L. Montgomery sowie in "An implementation of Elliptic Curve Cryptosystem Over F2155" im IEEE-Journal on selected areas in communications, Vol. 11, no. 5 auf den Seiten 804 bis 813 beschrieben ist. Bei diesem Verfahren werden die x-Koordinaten von Punktepaaren (iP, (i + 1)P) berechnet. Das Montgomeryverfahren ist ein effizienter Algorithmus, um Modulo-Multiplikationen durchzuführen, was durch ein Beispiel deutlicher veranschaulicht wird. Wenn eine Gruppe E (FP) und ein Punkt P auf einer elliptischen Kurve gegeben ist, kann das Montgomery-Verfahren verwendet werden, um einen anderen Punkt kP zu berechnen. Im Falle eines geordnetes Punktepaars (iP, (i + 1)P) ist für jedes Bit der binären Darstellung von k, wenn Bit i eine 0 ist, die nächste berechnete Punktemenge (2iP, (2i + 1)P), und wenn Bit i eine 1 ist, dann ist die nächste Punktemenge ((2i + 1)P, (2i + 2)P), d. h. die erste des Paares wird in Abhängigkeit, ob mit i eine 0 oder eine 1 ist, mittels Verdoppelns oder Addierens abgeleitet.
  • In einem Prozessor umfasst jede der Verdopplungen oder Additionen mehrere Operationen, die eindeutige Stromverbrauchsignaturen erzeugen. Indem diese Stromverbrauchsignaturen, wie schematisch in der 1(a) gezeigt ist, überwacht werden, kann der Angreifer eine Folge von Nullen und Einsen und damit den verwendeten Skalar oder Exponenten ableiten.
  • Wegen seiner hohen Effizienz hinsichtlich der zuvor beschriebenen direkten "Verdoppelung und Addition" wird das Montgomery-Verfahren wird in EC-Verschlüsselungssystemen bevorzugt.
  • Der Angriff auf das zuvor beschriebene Montgomery-Verfahren ist insbesondere wichtig, wenn RSA-Operationen privater Schlüssel durchgeführt werden. In einer jüngeren Veröffentlichung, die von Dan Boneh et al. mit dem Titel "An Attack On RSA Given A Small Fraction Of The Private Key Bits" herausgegeben wurde, ist gezeigt worden, dass bei RSA mit einem niedrigen öffentlichen Exponenten, im Falle eines Viertels der Bits des privaten Schlüssels, ein Widersacher den gesamten privaten Schlüssel bestimmen kann. Unter Verwendung dieses Angriffs in Verbindung mit der zuvor beschriebenen Stromverbrauchsignatur ist das RSA-Schema extrem ungeschützt.
  • Es ist daher ein Ziel dieser Erfindung, ein System zur Verfügung zu stellen, das das Risiko eines erfolgreichen Taktangriffs minimiert, insbesondere, wenn das Montgomery-Verfahren bei Operationen mit privatem Schlüssel verwendet wird.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß dieser Erfindung wird ein Verfahren zum Berechnen eines Vielfachen k eines Punktes P auf einer elliptischen Kurve, die über ein Gebiet definiert ist, in einem Kryptographieprozessor bereitgestellt, wobei das Verfahren die folgenden Schritte umfasst:
    • a) Abbilden der Zahl k als Binärvektor von Bits ki;
    • b) Bilden eines georderten Punktepaares P1 und P2, wobei die Punkte P1 und P2 höchstens um P verschieden sind; und
    • c) nacheinander Auswählen jedes Bits ki; und für jedes dieser ki;
    • i) wenn ki eine 0 ist,
    • ii) Berechnen einer neuen Punktemenge P1', P2', indem der erste Punkt P1 verdoppelt wird, um den Punkt P1' zu generieren; und durch anschließendes Addieren der Punkte P1 und P2, um den Punkt P2' zu generieren; oder wenn ki eine 1 ist,
    • iv) Berechnen einer neuen Punktemenge P1', P2', indem der zweite Punkt P2 verdoppelt wird, um den Punkt P2' zu generieren; und durch anschließendes Addieren der Punkte P1 und P2 um den Punkt P1' zu erzeugen,
    wobei das Verdoppeln oder Addieren für jedes Bit bi immer in der gleichen Reihenfolge ausgeführt wird, wodurch ein Taktangriff auf dieses Verfahren minimiert wird.
  • Gemäß einem weiteren Aspekt dieser Erfindung ist das Gebiet entweder F3 m oder Fp.
  • Gemäß einem weiteren Aspekt dieser Erfindung wird eine Prozessor-Hardware bereitgestellt, um das Verfahren zu implementieren.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Diese und weitere Merkmale der bevorzugten Ausführungsform der Erfindung werden durch die folgende detaillierte Beschreibung deutlicher werden, in der Bezug auf die beigefügten Zeichnungen genommen wird:
  • 1(a) und (b) sind schematische Darstellungen einer Stromverbrauchssignatur eines Prozessors;
  • 2 ist ein Flussdiagramm eines Verfahrens gemäß einer Ausführungsform der vorliegenden Erfindung;
  • 3 ist eine schematische Darstellung eines symmetrischen Prozessors, der ein Verfahren gemäß einer Ausführungsform der vorliegenden Erfindung ausführt; und
  • 4 ist eine schematische Darstellung einer Integerzahl k in Binärzahlen.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Mit Bezugnahme auf die 2 ist ein verallgemeinerter Algorithmus zur Berechnung eines Vielfachen eines Punktes einer elliptischen Kurve, die über ein Gebiet F2 m oder FP definiert ist, allgemein mit der Bezugsziffer 20 bezeichnet. Bei dieser Ausführungsform ist der Punkt P ein Parameter des Systems. Der Algorithmus berechnet ein Vielfaches des Punktes kP, wobei der Skalar k möglicherweise ein privater Schlüssel oder ein anderer geheimer Wert ist. Der Skalar k wird in einem Register als Binärvektor dargestellt, der Bits bi 24 besitzt. Es wird ein Elementpaar (a, b) erzeugt, wobei a und b Punkte auf einer elliptischen Kurve sind, die sich höchstens um P unterscheiden, oder im Falle der Gruppe FP sind a und b Elemente g, die sich durch ein Vielfaches von g unterscheiden.
  • Bei der vorliegenden Ausführungsform wollen wir ein Schema einer elliptischen Kurve betrachten, so dass die Elemente a und b den x-Koordinaten eines geordneten Punktpaares iP und (i + 1P) entsprechen. Ein Bit bi wird beginnend mit dem ersten Bit der binären Darstellung des Skalars k ausgewertet. In Abhängigkeit des Wertes des Bits wird einer der beiden Algorithmen 26 oder 28 ausgewählt. Wenn das Bit, wie in Block 25a gezeigt, eine 0 ist, wird das erste Element a des Eingabepaares (a, b) verdoppelt und in dem ersten Element a des Ausgabepaares (a', b') gespeichert, während die ersten und zweiten Elemente der Eingabe addiert werden a + b und in das zweite Element b' des Ausgabepaares (a', b') eingestellt werden. Wenn das Bit, wie in Block 25b gezeigt, eine 1 ist, wird das zweite Element b des Eingabepaares (a, b) verdoppelt und in dem zweiten Element b' des Ausgabepaares (a', b') gespeichert, während das erste und zweite Eingabeelement addiert werden, d. h. a + b, und in das erste Element a' des Ausgabepaares (a', b') eingestellt werden. Diese Schritte werden für alle Bits des Skalars k wiederholt.
  • Es kann somit aus 1(b) entnommen werden, dass die Durchführung der "Verdopplungs-Operation", die von der "Additions-Operation" gefolgt wird, hinsichtlich jedes Bits eine konsistente Stromverbrauchsignaturwellenform erzeugt und somit einem potentiellen Angreifer ein bisschen Information zur Verfügung stellt. Die Operationen könnten ebenfalls in umgekehrter Reihenfolge durchgeführt werden, d. h. dass zunächst die "Addition"- und danach die "Verdoppelungs"-Operation" durchgeführt wird. Bei einem RSA-Schema sind die analogen Operationen "Quadrierung und Multiplikation".
  • Der Deutlichkeit halber sei angenommen, dass wir kP unter Verwendung der "Binärleiter"-Methode berechnen, dann besitzen wir nach einigen Iterationen die x-Koordinaten von (iP, (i + 1)P), d. h. nachdem i Bits von k verarbeitet worden sind, wie schematisch in der 4 gezeigt ist. Wenn das nächste zu bearbeitende Bit 0 ist, dann müssen wir die (geordneten Paare der) x-Koordinaten (2iP, (2i + 1)P) berechnen. Wenn das nächste Bit 1 ist, dann müssen wir die (geordneten Paare der) x-Koordinaten ((2i + 1)P, (2i + 2)P) erzeugen.
  • Wahrscheinlich erfordert die "Verdopplungs"-Formel ungeachtet der Eingabe etwa dieselbe Menge an Strom (und Zeit). Wahrscheinlich erfordern die Additionsformeln ungeachtet der Eingabe in etwa dieselbe Menge an Strom (und Zeit). Die Ausführung der Verdoppelungsformel wird jedoch einen anderen Strombetrag erfordern (weniger, wenn die gewöhnlichen Montgomery-Formeln verwendet werden) als die Ausführung der Additionsformeln.
  • Durch die Überwachung der Stromanzeige können wir somit zwischen einer "Verdopplung" und einer "Addition" unterscheiden. Wenn somit diese Gleichungen in einer konsistenten Reihenfolge ausgeführt werden, dann sind die verarbeiteten Stromverbrauchsignaturen einer 1 oder einer 0 nicht zu unterscheiden. Jede besteht aus einer "Verdopplungs"-Stromverbrauchsignatur, die von einer "Additions"-Stromverbrauchsignatur gefolgt wird.
  • Wir möchten erwähnen, dass im Falle einer Umkehrung der Auswertungsreihenfolge in beiden Fällen die Stromverbrauchssignaturen immer noch nicht zu unterscheiden sind.
  • Dieses Verfahren zur Berechnung von kP auf einer elliptischen Kurve wird daher bevorzugt, da es vermeidet, dass der Integerwert k mittels der Stromverbrauchsstatistiken preisgegeben wird. Dieses Verfahren ist ebenfalls geeignet, wenn die "Montgomery"-"Verdoppelungs"- und "Additions"-Formeln verwendet werden, insbesondere wenn die projektive Form verwendet wird, die Umkehrungen vermeidet.
  • Hinsichtlich der Effektivität sei bemerkt, dass für jeden Schritt der "Binärleiter"-Methode zwei Operationen durchgeführt werden müssen. Das heißt, dass die Ergebnisse der "Additions"-Formel für die "Verdoppelungs"-Formel nicht benötigt werden und umgekehrt. Dies ermöglicht eine effiziente parallele Hardware-Realisierung.
  • Mit Bezugnahme auf die 3 ist somit eine schematische, parallele Hardwarerealisierung des vorliegenden Verfahrens mit der Bezugsziffer 30 bezeichnet. Bei dieser Realisierung wird ein erster und ein zweiter Spezialrechner zur Verfügung gestellt. Der erste Prozessor 32 führt entweder eine "Verdoppelungs"- oder "Quadrierungs"- oder beide Operationen aus, wohingegen der zweite Prozessor 34 eine "Additions"- oder "Multiplikations"- oder beide Operationen durchführt. Ein Hauptprozessor 36 bestimmt, welcher der Spezialrechner 32 und 34 aktiviert wird.
  • Beide Prozessoren 32 und 34 werden gleichzeitig betrieben. (Jedoch können die Schaltungen zur Ausführung unterschiedliche Zeiten benötigen). Die Eingaben und Ausgaben dieser Schaltungen werden je nach dem jeweiligen Fall behandelt, d. h. mit Bit bi = 0 oder Bit bi = 1. Dieses einfache Beispiel stellt eine Beschleunigung um einen Faktor von fast 2 gegenüber einer seriellen Realisierung zur Verfügung. Es sollte erkannt werden, dass zumindest im Falle der herkömmlichen projektiven Montgomery-Formel die Schaltung mehr Zeit benötigt und komplizierter als die Verdoppelungsschaltung ist. Da kein Bedarf besteht, das Ergebnis der Verdoppelungsschaltung vor der Additionsschaltung zu besitzen, kann sie langsamer sein. In der Praxis kann dies bedeuten, dass die Verdoppelungsschaltung kostengünstiger gebaut werden kann.

Claims (3)

  1. Verfahren zum Berechnen eines Vielfachen k eines Punktes P auf einer elliptischen Kurve, die über einem Gebiet definiert ist, in einem Kryptographieprozessor, der sich unterscheidende Stromsignaturen für Addier- und Verdoppelungsoperationen generiert, umfassend die Schritte: a) Abbilden (24) der Zahl k als Binärvektor ki; b) Bilden eines geordneten Paares von Punkten P1 und P2, wobei die Punkte P1 und P2 höchstens um P verschieden sind; wobei das Verfahren gekennzeichnet ist durch die Schritte: c) nacheinander Auswählen jedes Bits ki und für jedes dieser ki: i) wenn ki eine 0 ist, Berechnen (25a) einer neuen Punktemenge P1', P2', indem der erste Punkt P1 verdoppelt wird, um den Punkt P1' zu generieren, und dadurch Erzeugen einer ersten Stromsignatur, und daraufhin Hinzuaddieren der Punkte P1 und P2, um den Punkt P2' zu generieren, und dadurch Erzeugen einer zweiten Stromsignatur, die sich von der ersten Stromsignatur unterscheidet; oder ii) wenn ki eine 1 ist, Berechnen (25b) einer neuen Punktemenge P1', P2', indem der zweite Punkt P2 verdoppelt wird, um den Punkt P2' zu generieren, und dadurch Erzeugen der ersten Stromsignatur, und daraufhin Hinzuaddieren der Punkte P1 und P2, um den Punkt P1' zu generieren, und dadurch Erzeugen der zweiten Stromsignatur; wobei das Verdoppeln oder Hinzuaddieren für jedes der Bits bi immer in der gleichen Reihenfolge ausgeführt wird, wodurch eine konsistente Stromsignatur-Wellenform erzeugt wird und hierdurch eine Zeitattacke auf dieses Verfahren minimiert wird.
  2. Verfahren nach Anspruch 1, wobei das Gebiet über F2 m definiert ist.
  3. Verfahren nach Anspruch 1, wobei das Gebiet über FP definiert ist.
DE69917592T 1998-10-28 1999-10-05 Gegen stromverbrauchsignaturanfall beständige kryptographie Expired - Lifetime DE69917592T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CA002252078A CA2252078C (en) 1998-10-28 1998-10-28 Power signature attack resistant cryptographic system
CA2252078 1998-10-28
PCT/CA1999/000919 WO2000025204A1 (en) 1998-10-28 1999-10-05 Power signature attack resistant cryptography

Publications (2)

Publication Number Publication Date
DE69917592D1 DE69917592D1 (de) 2004-07-01
DE69917592T2 true DE69917592T2 (de) 2005-06-02

Family

ID=4162964

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69917592T Expired - Lifetime DE69917592T2 (de) 1998-10-28 1999-10-05 Gegen stromverbrauchsignaturanfall beständige kryptographie

Country Status (8)

Country Link
US (1) US6738478B1 (de)
EP (1) EP1044405B1 (de)
JP (1) JP4582912B2 (de)
AT (1) ATE268022T1 (de)
AU (1) AU5964299A (de)
CA (1) CA2252078C (de)
DE (1) DE69917592T2 (de)
WO (1) WO2000025204A1 (de)

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19963408A1 (de) * 1999-12-28 2001-08-30 Giesecke & Devrient Gmbh Tragbarer Datenträger mit Zugriffsschutz durch Schlüsselteilung
JP3821631B2 (ja) * 2000-05-30 2006-09-13 株式会社日立製作所 楕円曲線暗号におけるスカラー倍計算方法及び装置、並びに記憶媒体
FR2825863B1 (fr) * 2001-06-07 2003-09-19 Gemplus Card Int Procede de securisation d'un calcul d'exponentiation dans un dispositif electronique
DE10151129B4 (de) 2001-10-17 2004-07-29 Infineon Technologies Ag Verfahren und Vorrichtung zum Berechnen eines Ergebnisses einer Exponentiation in einer Kryptographieschaltung
DE10156708B4 (de) * 2001-11-19 2005-09-29 Infineon Technologies Ag Verfahren und Vorrichtung zum Multiplizieren und Verfahren und Vorrichtung zum Addieren auf einer elliptischen Kurve
JP4067818B2 (ja) 2001-12-10 2008-03-26 富士通株式会社 楕円曲線暗号装置、楕円曲線暗号プログラム及び楕円曲線暗号の演算方法
JP4034585B2 (ja) * 2002-01-28 2008-01-16 松下電器産業株式会社 楕円曲線演算装置及び楕円曲線演算方法
FR2838210B1 (fr) * 2002-04-03 2005-11-04 Gemplus Card Int Procede cryptographique protege contre les attaques de type a canal cache
US7555122B2 (en) 2002-12-04 2009-06-30 Wired Communications LLC Method for elliptic curve point multiplication
EP1548687B1 (de) * 2002-12-18 2013-01-09 Fujitsu Limited Manipulationsbeständige verschlüsselung mit elliptischer kurve unter verwendung eines geheimschlüssels
US7646872B2 (en) * 2004-04-02 2010-01-12 Research In Motion Limited Systems and methods to securely generate shared keys
EP1844392B1 (de) * 2005-01-21 2012-07-04 Certicom Corp. Elliptische kurve-zufallszahlenerzeugung
JP4825199B2 (ja) * 2005-04-27 2011-11-30 パナソニック株式会社 情報セキュリティ装置及び楕円曲線演算装置
CA2542556C (en) 2005-06-03 2014-09-16 Tata Consultancy Services Limited An authentication system executing an elliptic curve digital signature cryptographic process
DE102005042339B4 (de) * 2005-09-06 2007-08-16 Siemens Ag Verfahren zum sicheren Ver- oder Entschlüsseln einer Nachricht
US8913739B2 (en) 2005-10-18 2014-12-16 Telecom Italia S.P.A. Method for scalar multiplication in elliptic curve groups over prime fields for side-channel attack resistant cryptosystems
WO2007048430A1 (en) * 2005-10-28 2007-05-03 Telecom Italia S.P.A. A method for scalar multiplication in elliptic curve groups over binary polynomial fields for side-channel attack-resistant cryptosystems
CN101366232B (zh) 2005-11-03 2012-05-16 塞尔蒂卡姆公司 同步标量乘法算法
FR2893796B1 (fr) * 2005-11-21 2008-01-04 Atmel Corp Procede de protection par chiffrement
US9313027B2 (en) 2005-12-29 2016-04-12 Proton World International N.V. Protection of a calculation performed by an integrated circuit
DE102006002891B4 (de) * 2006-01-20 2009-06-04 Siemens Ag Verfahren, Vorrichtung und System zum Verifizieren von auf einer elliptischen Kurve ermittelten Punkten
KR100850202B1 (ko) * 2006-03-04 2008-08-04 삼성전자주식회사 Ecc 패스트 몽고매리 전력 래더 알고리즘을 이용하여dfa 에 대응하는 암호화 방법
EP1994465A1 (de) * 2006-03-16 2008-11-26 Gemplus Verfahren zur verschlüsselung einer berechnung einer exponentiation oder multiplikation mittels skalar bei einer elektronischen vorrichtung
DE102006013515A1 (de) * 2006-03-23 2007-10-04 Siemens Ag Kryptographisches Verfahren mit elliptischen Kurven
EP1840732A1 (de) * 2006-03-31 2007-10-03 Axalto SA Schutz vor Seitenkanalangriffen
JP2009532973A (ja) * 2006-04-06 2009-09-10 エヌエックスピー ビー ヴィ 安全な復号方法
US7774616B2 (en) * 2006-06-09 2010-08-10 International Business Machines Corporation Masking a boot sequence by providing a dummy processor
US20070288740A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for secure boot across a plurality of processors
US7594104B2 (en) * 2006-06-09 2009-09-22 International Business Machines Corporation System and method for masking a hardware boot sequence
US20070288761A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for booting a multiprocessor device based on selection of encryption keys to be provided to processors
US20070288739A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for masking a boot sequence by running different code on each processor
US20070288738A1 (en) * 2006-06-09 2007-12-13 Dale Jason N System and method for selecting a random processor to boot on a multiprocessor system
US7856101B2 (en) * 2007-02-07 2010-12-21 King Fahd University Of Petroleum And Minerals Method for elliptic curve scalar multiplication
US8243919B2 (en) 2007-03-07 2012-08-14 Research In Motion Limited Method and apparatus for performing elliptic curve scalar multiplication in a manner that counters power analysis attacks
CN101689233B (zh) * 2007-07-05 2013-01-02 Nxp股份有限公司 安全敏感系统中的微处理器
US7991162B2 (en) * 2007-09-14 2011-08-02 University Of Ottawa Accelerating scalar multiplication on elliptic curve cryptosystems over prime fields
EP2213037B1 (de) * 2007-10-30 2013-09-04 Certicom Corp. Fehlererkennung in potenzierungs- und kommamultiplikationsoperationen mithilfe einer montgomery-leiter
EP2401734B1 (de) * 2009-02-27 2016-04-20 Certicom Corp. System und verfahren zur durchführung einer potenzierung in einem kryptographischen system
CN103282950B (zh) * 2010-12-27 2015-11-25 三菱电机株式会社 运算装置、运算装置的椭圆标量乘法方法以及运算装置的剩余运算方法
US8334705B1 (en) 2011-10-27 2012-12-18 Certicom Corp. Analog circuitry to conceal activity of logic circuitry
US8635467B2 (en) 2011-10-27 2014-01-21 Certicom Corp. Integrated circuit with logic circuitry and multiple concealing circuits
US9979543B2 (en) 2013-12-23 2018-05-22 Nxp B.V. Optimized hardware architecture and method for ECC point doubling using jacobian coordinates over short weierstrass curves
US9900154B2 (en) * 2013-12-23 2018-02-20 Nxp B.V. Optimized hardward architecture and method for ECC point addition using mixed affine-jacobian coordinates over short weierstrass curves
US9929862B2 (en) 2013-12-23 2018-03-27 Nxp B.V. Optimized hardware architecture and method for ECC point doubling using Jacobian coordinates over short Weierstrass curves
US9391773B2 (en) 2014-04-04 2016-07-12 Qualcomm Incorporated Elliptic curve point multiplication procedure resistant to side-channel information leakage
US9645794B2 (en) * 2014-09-23 2017-05-09 Texas Instruments Incorporated Homogeneous atomic pattern for double, add, and subtract operations for digital authentication using elliptic curve cryptography
US9590805B1 (en) * 2014-12-23 2017-03-07 EMC IP Holding Company LLC Ladder-based cryptographic techniques using pre-computed points
US9735953B2 (en) * 2015-03-06 2017-08-15 Qualcomm Incorporated Side channel analysis resistant architecture
US10491401B2 (en) 2017-02-21 2019-11-26 Google Llc Verification of code signature with flexible constraints
CN108875416B (zh) * 2018-06-22 2020-05-19 北京智芯微电子科技有限公司 椭圆曲线多倍点运算方法和装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10222065A (ja) * 1997-02-03 1998-08-21 Nippon Telegr & Teleph Corp <Ntt> 冪乗剰余演算方法及び装置
US6252959B1 (en) * 1997-05-21 2001-06-26 Worcester Polytechnic Institute Method and system for point multiplication in elliptic curve cryptosystem
US6263081B1 (en) * 1997-07-17 2001-07-17 Matsushita Electric Industrial Co., Ltd. Elliptic curve calculation apparatus capable of calculating multiples at high speed
CA2243761C (en) * 1998-07-21 2009-10-06 Certicom Corp. Timing attack resistant cryptographic system
US20020057796A1 (en) * 1998-12-24 2002-05-16 Lambert Robert J. Method for accelerating cryptographic operations on elliptic curves
IL154651A0 (en) * 2000-08-29 2003-09-17 Ntru Cryptosystems Inc Speed enhanced cryptographic method and apparatus
CA2369545C (en) * 2001-12-31 2013-01-08 Certicom Corp. Method and apparatus for elliptic curve scalar multiplication

Also Published As

Publication number Publication date
EP1044405A1 (de) 2000-10-18
AU5964299A (en) 2000-05-15
EP1044405B1 (de) 2004-05-26
CA2252078C (en) 2009-02-17
ATE268022T1 (de) 2004-06-15
CA2252078A1 (en) 2000-04-28
DE69917592D1 (de) 2004-07-01
JP4582912B2 (ja) 2010-11-17
WO2000025204A1 (en) 2000-05-04
JP2002528771A (ja) 2002-09-03
US6738478B1 (en) 2004-05-18

Similar Documents

Publication Publication Date Title
DE69917592T2 (de) Gegen stromverbrauchsignaturanfall beständige kryptographie
DE69828787T2 (de) Verbessertes verfahren und vorrichtung zum schutz eines verschlüsselungsverfahrens mit öffentlichem schlüssel gegen angriffe mit zeitmessung und fehlereinspeisung
DE69534603T2 (de) Verschlüsselungssystem für elliptische kurve
DE69930334T2 (de) IC-Karte ausgerüstet mit einer Verarbeitungsanlage für Elliptische-Kurven-Verschlüsselung
DE60005284T2 (de) Berechnungsverfahren für kryptographie mittels elliptischer kurven
DE102006022960B9 (de) Verfahren zum Verschlüsseln von Eingabedaten, kryptographisches System und Computerprogrammprodukt
DE60119620T2 (de) Verfahren zur Skalarmultiplikation auf einer elliptischen Kurve und entsprechende Vorrichtung
DE69434422T2 (de) Verfahren und Anordnung zur Verschlüsselung/Entschlüsselung auf der Basis des Montgomery-Verfahrens unter Verwendung von effizienter modularer Multiplikation
DE60223775T2 (de) Vorrichtung zum Konvertieren einer elliptischen Kurve
DE69826963T2 (de) Gerät für die modulare Inversion zur Sicherung von Information
EP1922837B1 (de) Verfahren zum sicheren ver- oder entschlüsseln einer nachricht
DE112008000668T5 (de) Kryptografisches Verfahren und System
DE112007001319T5 (de) Multiplizieren zweier Zahlen
DE102005041102A1 (de) Verfahren zur Skalarmultiplikation von Punkten auf einer elliptischen Kurve
DE102005024609A1 (de) Bestimmung einer modularen Inversen
DE69924912T2 (de) Verschlüsselungsverfahren und Vorrichtung unter Verwendung einer elliptischen Kurve
EP1346509B1 (de) Verfahren und Vorrichtung zum Ermitteln eines Schlüsselpaars und zum Erzeugen von RSA-Sclüsseln
DE10219158B4 (de) Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Multiplikation
DE60117813T2 (de) Verfahren und Vorrichtung zur Speicherung und wiedergewinnung eones Privaten Kryptoschlüssels
EP1370933B1 (de) Verfahren und vorrichtung zum modularen multiplizieren
DE10357661A1 (de) Modularer Montgomery-Multiplizierer und zugehöriges Multiplikationsverfahren
DE10151129B4 (de) Verfahren und Vorrichtung zum Berechnen eines Ergebnisses einer Exponentiation in einer Kryptographieschaltung
DE10042234C2 (de) Verfahren und Vorrichtung zum Durchführen einer modularen Exponentiation in einem kryptographischen Prozessor
DE102008050800B4 (de) Vorrichtung und Verfahren zum Bestimmen einer modularen multiplikativen Inversen
EP1504337B1 (de) Berechnung des modularen inversen eines wertes

Legal Events

Date Code Title Description
8328 Change in the person/name/address of the agent

Representative=s name: KRAMER - BARSKE - SCHMIDTCHEN, 81245 MUENCHEN

8364 No opposition during term of opposition
8328 Change in the person/name/address of the agent

Representative=s name: DERZEIT KEIN VERTRETER BESTELLT

8328 Change in the person/name/address of the agent

Representative=s name: MERH-IP MATIAS ERNY REICHL HOFFMANN, 80336 MUENCHE