DE69917592T2 - Gegen stromverbrauchsignaturanfall beständige kryptographie - Google Patents
Gegen stromverbrauchsignaturanfall beständige kryptographie Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/724—Finite field arithmetic
- G06F7/725—Finite field arithmetic over elliptic curves
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2207/00—Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F2207/72—Indexing scheme relating to groups G06F7/72 - G06F7/729
- G06F2207/7219—Countermeasures against side channel or fault attacks
- G06F2207/7261—Uniform 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), 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,
- 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 Bezugsziffer20 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 oder28 ausgewählt. Wenn das Bit, wie in Block25a 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 Block25b 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 Bezugsziffer30 bezeichnet. Bei dieser Realisierung wird ein erster und ein zweiter Spezialrechner zur Verfügung gestellt. Der erste Prozessor32 führt entweder eine "Verdoppelungs"- oder "Quadrierungs"- oder beide Operationen aus, wohingegen der zweite Prozessor34 eine "Additions"- oder "Multiplikations"- oder beide Operationen durchführt. Ein Hauptprozessor36 bestimmt, welcher der Spezialrechner32 und34 aktiviert wird. - Beide Prozessoren
32 und34 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)
- 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. - Verfahren nach Anspruch 1, wobei das Gebiet über F2 m definiert ist.
- Verfahren nach Anspruch 1, wobei das Gebiet über FP definiert ist.
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)
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)
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 |
-
1998
- 1998-10-28 CA CA002252078A patent/CA2252078C/en not_active Expired - Lifetime
-
1999
- 1999-10-05 AT AT99971110T patent/ATE268022T1/de not_active IP Right Cessation
- 1999-10-05 US US09/582,499 patent/US6738478B1/en not_active Expired - Lifetime
- 1999-10-05 JP JP2000578723A patent/JP4582912B2/ja not_active Expired - Lifetime
- 1999-10-05 WO PCT/CA1999/000919 patent/WO2000025204A1/en active IP Right Grant
- 1999-10-05 DE DE69917592T patent/DE69917592T2/de not_active Expired - Lifetime
- 1999-10-05 EP EP99971110A patent/EP1044405B1/de not_active Expired - Lifetime
- 1999-10-05 AU AU59642/99A patent/AU5964299A/en not_active Abandoned
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 |