DE60204955T2 - Gegenmassnahmen in einem elektronischen baustein zur ausführung eines krypto-algorithmus mit auf elliptischen kurven basierendem öffentlichen schlüssel - Google Patents

Gegenmassnahmen in einem elektronischen baustein zur ausführung eines krypto-algorithmus mit auf elliptischen kurven basierendem öffentlichen schlüssel Download PDF

Info

Publication number
DE60204955T2
DE60204955T2 DE60204955T DE60204955T DE60204955T2 DE 60204955 T2 DE60204955 T2 DE 60204955T2 DE 60204955 T DE60204955 T DE 60204955T DE 60204955 T DE60204955 T DE 60204955T DE 60204955 T2 DE60204955 T2 DE 60204955T2
Authority
DE
Germany
Prior art keywords
point
elliptic curve
curve
algorithm
coordinates
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
DE60204955T
Other languages
English (en)
Other versions
DE60204955D1 (de
Inventor
Marc Joye
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.)
Gemplus SA
Original Assignee
Gemplus SA
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 Gemplus SA filed Critical Gemplus SA
Publication of DE60204955D1 publication Critical patent/DE60204955D1/de
Application granted granted Critical
Publication of DE60204955T2 publication Critical patent/DE60204955T2/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
    • 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
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • G06F2207/7228Random curve mapping, e.g. mapping to an isomorphous or projective curve

Description

  • Die vorliegende Erfindung betrifft Gegenmaßnahmen in einem elektronischen Baustein zur Ausführung eines Krypto-Algorithmus mit auf elliptischen Kurven basierendem öffentlichem Schlüssel.
  • Algorithmen mit öffentlichem Schlüssel auf einer kryptographischen elliptischen Kurve erlauben Anwendungen vom Typ Chiffrierung, Überprüfung der Unterschrift, Zugangsberechtigungsprüfung, usw.
  • Sie werden insbesondere sehr stark in Anwendungen vom Typ Chipkarte eingesetzt, weil sie den Einsatz von recht kurzen Bearbeitungszeiten zulassenden Schlüsseln kurzer Länge erlauben und weil sie für ihre Implementierung u. U. keinen Einsatz von Krypto-Prozessoren benötigen, was den Gestehungspreis der elektronischen Bausteine, in denen sie implementiert sind, senkt.
  • Zur Erinnerung – wenn IK ein Korpus ist, bildet die die allgemeine Gleichung nach Weirstrass: y2 + a1xy + a3x = x3 + a2x2 + a4x + a6 überprüfende Struktur der Punkte (x, y) ∈ IK × IK bei ai ∈ IK und dem Punkt in der Unendlichkeit O eine elliptische Kurve. Jede elliptische Kurve auf einem Korpus kann in dieser Form ausgedrückt werden.
  • Die Struktur der Punkte (x, y) und der Punkt in der Unendlichkeit bilden eine wechselseitige Gruppe, in der der Punkt in der Unendlichkeit das neutrale Element ist und in der die Gruppenoperation die mit + bezeichnete und durch die bekannte Regel der Sekante und der Tangente vorgegebene Punkteaddition ist. In dieser Gruppe bildet das Paar (x, y), bei dem die Abszisse x und die Ordinate Y Elemente des Korpus IK sind, die affinen Koordinaten eines Punktes P der elliptischen Kurve.
  • Es wird daran erinnert, dass die Anzahl von Elementen des Korpus sich in einem fertigen Korpus immer in Form von Pn ausdrückt, in der P eine Primzahl ist. P ist das Merkmal des Korpus.
  • Zwei Klassen von elliptischen Kurven werden insbesondere in kryptographischen Systemen verwendet: diejenigen, die auf einem fertigen Korpus mit dem von 2 und 3 unterschiedlichen Merkmal P definiert werden und diejenigen, die auf einem Korpus mit dem Merkmal gleich 2 definiert werden.
  • Bei elliptischen Kurven der ersten Klasse vereinfacht sich die Gleichung nach Weirtrass in: y2 = x3 + ax2 + b
  • Und bei denen der zweiten Klasse wird diese Gleichung unter Beschränkung auf die nicht super-singulären Kurven: y2 = xy = x3 + ax2 + b
  • Bei jeder dieser beiden Kurvenklassen werden Additions- und Punktverdoppelungsoperationen definiert. Formeln für diese Operationen werden in zahlreichen bekannten Referenzen des Fachmanns gegeben. Diese Formeln werden weiter im Text im Einzelnen für den Fall einer auf einem Korpus des von 2 oder 3 unterschiedlichen Merkmals definierten elliptischen Kurve aufgegeben.
  • Diese Operationen stellen die Basis der Exponentierungs-Algorithmen auf diesen elliptischen Kurven dar: In Anbetracht eines zu einer elliptischen Kurve gehörenden Punkts P und d, einer vorbestimmten Zahl (eine ganze Zahl) ist das Ergebnis der Skalarmultiplikation des Punktes P durch den Multiplikator d ein Punkt Q der Kurve, wie z. B. Q = d·P = P + P + ... + Pd Mal.
  • Krypto-Algorithmen mit auf elliptischer Kurve basierendem öffentlichen Schlüssel basieren somit auf der Skalarmultiplikation eines auf der Kurve durch eine vorbestimmte Zahl d, dem geheimen Schlüssel, ausgewählten Punktes P. Das Ergebnis dieser Skalarmultiplikation d·P ist ein Punkt Q der elliptischen Kurve. In einem Anwendungsbeispiel zur Chiffrierung gemäß dem Verfahren nach El Gamal, ist der erhaltene Punkt Q der öffentliche Schlüssel, der zur Chiffrierung einer Meldung dient.
  • Kryptoschlüssel mit auf elliptischer Kurve basierendem öffentlichen Schlüssel haben sich jedoch als empfindlich gegen insbesondere auf das Ausspionieren des Wertes dieses geheimen Schlüssels abzielende Angriffe erwiesen. Zu nennen wären insbesondere Angriffe mit einfachen oder differentialen versteckten Kanälen.
  • Unter Angriff mit einfachem oder differentialem verstecktem Kanal ist ein auf einer messbaren physikalischen Größe von außerhalb der Vorrichtung basierender Angriff zu verstehen, dessen direkte Analyse (einfacher Angriff) oder die Analyse gemäß einer statistischen Methode (differentialer Angriff) die Feststellung der in den Verarbeitungen in der Vorrichtung enthaltenen und manipulierten Informationen erlaubt. Diese Angriffe können somit die Feststellung der vertraulichen Informationen ermöglichen. Diese Angriffe werden insbesondere durch Paul Kocher (Advances in Cryptology – CRYPTO '99, Band 1966 of Lecture Notes in Computer Science, S. 388–397, Springer Verlag, 1999) offen gelegt. Unter den physikalischen Größen, die zu diesen Zwecken genutzt werden können, wären der Stromverbrauch zu nennen, das elektromagnetische Feld, usw. Diese Angriffe basieren auf der Tatsache, dass die Manipulation eines Bits, das heißt seine Verarbeitung durch eine besondere Anweisung, je nach seinem Wert einen besonderen Abdruck auf der betrachteten physikalischen Größe hat.
  • In auf elliptischen Kurven basierenden kryptographischen Systemen zielen diese Angriffe auf die Skalarmultiplikation ab.
  • Die Berechnung der Skalarmultiplikation Q = d·P kann durch unterschiedliche Exponentierungs-Algorithmen realisiert werden. Davon wären einige zu nennen, wie z. B. der auf der binären Darstellung des Multiplikators d basierende Verdoppelungs- und Additionsalgorithmus (double and add in der angelsächsischen Literatur), dem auf der binären Darstellung des Multiplikators d basie rende, dem auf der unterschriebenen binären Darstellung des Multiplikators d basierende Additions-Subtraktionsalgorithmus, dem Algorithmus mit Fenster, usw. Alle diese Algorithmen nutzen auf den elliptischen Kurven definierte Verdoppelungs- und Additions-Operations-Formeln.
  • Bei allen diesen Algorithmen mussten die Verhinderung der Verbreitung der unterschiedlichen Angriffe erlaubende Gegenmaßnahmen vorgesehen werden. Mit anderen Worten, es wurde versucht, diese Algorithmen zu sichern. Zum Beispiel ist der bekannte, so genannte Verdoppelungs- und Additions-Algorithmus insbesondere anfällig gegen Angriffe mit versteckten Kanälen vom einfachen Typ, denn er beinhaltet eine konditionale Operation mit dem Wert eines Bits des Geheimschlüssels d. Zur Sicherung dieses Algorithmus wurde er in einen so genannten Verdoppellungs-Algorithmus mit systematischer Addition umgewandelt. In diesem Algorithmus werden, unabhängig vom Wert des Bits des Geheimschlüssels bei der laufenden Verarbeitung, immer dieselben Operationen in derselben Anzahl ausgeführt. Im Allgemeinen kann man diese Algorithmen gegenüber einfachen Angriffen sichern, indem alle bedingten Anschlüsse an den Wert der verarbeiteten Information unterdrückt werden.
  • Dennoch konnte nachgewiesen werden, dass diese Paraden nicht vor differentialen Angriffen mit versteckten Kanälen schützten, durch die das Aufspüren des Geheimschlüssels d ermöglicht wurde.
  • Eine wirkungsvolle Parade gegen differentiale Angriffe besteht darin, die Eingänge und/oder Ausgänge des zur Berechnung von Q = d·P verwendeten Exponentierungs-Algorithmus zufällig zu gestalten. Mit anderen Worten, es geht darum, den Multiplikator d und/oder den Punkt P zufällig zu gestalten.
  • Dieses Prinzip anwendende Gegenmaßnahmen sind bekannt. Derartige Gegenmaßnahmen werden insbesondere in einem Artikel von Jean-Sébastien Coron beschrieben (Cryptographic Hardware and Embedded Systems, Band 1717 of Lecture Notes in Computer Science, Seiten 292–302, Springer Verlag, 1999) beschrieben.
  • In diesem Artikel besteht eine Gegenmaßnahme insbesondere in dem Maskieren des Punktes P durch Einsatz von auf zufällige Weise definierten projektiven Koordinaten dieses Punktes.
  • Ein Punkt der (vom Punkt in der Unendlichkeit unterschiedlichen) elliptischen Kurve E wird nämlich auf einzigartige Weise auf dieser Kurve durch seine affinen Koordinaten (x, y) definiert. Aber man kann diesen Punkt durch projektive Koordinaten (X:Y:Z) darstellen, und es gibt eine exponentiale Anzahl von Darstellungen in projektiven Koordinaten.
  • In den beschriebenen Gegenmaßnahmen wird somit eine zufällige Zahl t IK ermittelt und der Punkt P durch projektive Koordinaten in Abhängigkeit von dieser zufälligen Zahl dargestellt.
  • In dem vorgenannten Artikel wird auf vorteilhafte Weise die Bildung der projektiven Koordinaten des Punktes P in Abhängigkeit von der zufälligen Zahl t und der affinen Koordinaten, zum Beispiel in der Form P = (tx : ty : t) in homogenen projektiven Koordinaten oder P = (t2x : t3y : t) in jakobineschen Koordinaten vorgeschlagen. Auf diese Koordinaten wird der Exponentierungs-Algorithmus angewendet. Erhalten wird eine Darstellung des Punktes Q in projektiven Koordinaten, von denen die affinen Koordinaten dieses Punktes abgeleitet (berechnet) werden.
  • Ein Gegenstand der vorliegenden Erfindung ist eine Gegenmaßnahme, insbesondere gegenüber differentialen Angriffen mit versteckten Kanälen.
  • Ein weiterer Gegenstand der Erfindung ist eine einfach umzusetzende Gegenmaßnahme.
  • Im Verhältnis zum vorgenannten Artikel weist das vorgeschlagene Verfahren den Vorteil auf, schneller zu sein und unabhängig in affinen und projektiven Koordinaten anwendbar zu sein.
  • Die der Erfindung zugrunde liegende Idee besteht im Einsatz der Gruppenisomorphismen zur Übertragung der Skalarmultiplikationsberechnungen auf eine durch Anwendung eines Isomorphismus der im Verhältnis zu einer zufälligen Zahl u ungleich Null, Element des Korpus IK definierten Gruppe φu erhaltenen elliptische Kurve E_u.
  • Mit anderen Worten, die Gegenmaßnahme besteht dann in der Ermittlung einer zufälligen Zahl u ungleich Null zur Definition einer zufälligen isomorphen elliptischen Kurve E_= φu(E), in der Berechnung der Koordinaten des Bildpunktes auf dieser Kurve E_u des Punktes P, in der Anwendung des Exponentierungs-Algorithmus auf diesen Bildpunkt P' auf der isomorphen elliptischen Kurve E_u, zum Erhalt eines aus Q' resultierenden Punktes und in der Berechnung der Koordinaten des Vor-Bild- Punktes Q des Punktes Q' auf der elliptischen Kurve E, auf der das kryptographische System basiert.
  • Da die Algebrastruktur der elliptischen Kurven sehr reich ist, gibt es zahlreiche Definitionsmöglichkeiten von Isomorphismen, so dass die erfindungsgemäßen Gegenmaßnahmen eine sehr allgemeine Anwendung haben.
  • Die Erfindung betrifft daher Gegenmaßnahmen in einem elektronischen Baustein zur Ausführung eines Krypto-Algorithmus mit auf einer auf einem Korpus IK bestimmten elliptischen Kurven E basierendem öffentlichen Schlüssel mit einer Exponentierungsberechnung vom Typ Q = d·P, in der P und Q Punkte der bestimmten elliptischen Kurve (E) sind und d eine vorbestimmte Zahl ist, dadurch gekennzeichnet, dass das genannte Verfahren die folgenden Stufen umfasst:
    • – Ermitteln einer zufälligen Zahl u ungleich Null, Element des Korpus IK, zur zufälligen Definition einer isomorphen elliptischen Kurve E_u,
    • – Berechnung der Koordinaten eines Punktes P' auf der genannten isomorphen elliptischen Kurve E_u, Darstellung des Punktes P,
    • – Anwendung eines Exponentierungsalgorithmus auf den genannten Darstellungspunkt P' auf der genannten isomorphen elliptischen Kurve E_u zwecks Erhalts eines resultierenden Punktes Q',
    • – Berechnung der Koordinaten auf der bestimmten elliptischen Kurve E des Punktes Q, der Vor-Darstellung des resultierenden Punktes Q'.
  • Weitere Merkmale und Vorteile der Erfindung werden in der nachfolgenden Beschreibung unter Bezugnahme auf eine besondere Ausführungsform der elliptischen Kurven auf einem IK mit zu 2 oder 3 unterschiedlichen Merkmalen vorgestellt.
  • Es wurde aufgezeigt, dass eine elliptische Kurve auf einem derartigen Korpus folgendermaßen definiert werden kann: E/IK : y2 = x3 + ax + b.
  • Das heißt zwei auf einem derartigen Korpus definierte elliptische Kurven E1 und E2: E1/IK : y2 = x3 + ax + b E2/IK : y2 = x3 + a'x + b'
  • Es wird aufgezeigt, dass diese beiden Kurven nur dann auf IK isomorph sind, wenn eine zu IK gehörende Zahl u ungleich Null, wie zum Beispiel u4a' = a und u6b' = b vorhanden ist.
  • Wenn man φ, den Gruppenisomorphismus, wie zum Beispiel E2 = φ(E1) notiert, zeigt man, dass P = (x, y) der elliptischen Kurve E1 in jedem Punkt einem Bildpunkt φ(P) = P' = (x', y') auf der elliptischen Kurve E2 entspricht, wie zum Beispiel: x' = u–2xundy' = u–3y.
  • Durch die Anwendung des umgekehrten Isomorphismus φ–1, wie zum Beispiel φ–1(E2) = E1, entspricht umgekehrt jedem Punkt P' = (x', y') der elliptischen Kurve E2 ein Vor-Bild-Punkt φ–1(P') = P = (x, y) auf der elliptischen Kurve E1, wie zum Beispiel: x = u2x'undy = u3y'.
  • In der Erfindung wird der auf die elliptischen Kurven angewendete Gruppenisomorphismus zur zufälligen Maskierung des Punktes P angewendet, auf den der Exponentierungs-Algorithmus angewendet wird.
  • Das heißt, ein Exponentierungs-Algorithmus vom Typ Q = d·P, bei dem Q und P Punkte einer definierten elliptischen Kurve E sind. Die erfindungsgemäße Gegenmaßnahme besteht daher in der zufälligen Ermittlung einer Zahl u in den Elementen ungleich Null des Korpus IK zur zufälligen Definition einer isomorphen elliptischen Kurve E_u = φu(E). Die Koordinaten des Bildpunktes P' des Punktes P werden auf dieser isomorphen elliptischen Kurve E_u berechnet, und dieser Bildpunkt P' wird am Eingang des Exponentierungs-Algorithmus angewendet. Man erhält einen auf der isomorphen elliptischen Kurve E_u resultierenden Punkt Q'. Dann werden die Koordinaten des Vor-Bild-Punktes Q des auf der definierten elliptischen Kurve E resultierenden Punktes Q' berechnet. Mit anderen Worten, es wird gemäß diesem Verfahren Folgendes berechnet: Q = φ–1(d(φ(P))).
  • Durch dieses Verfahren sind die Berechnungszwischenstufen des Exponentierungs-Algorithmus unvorhersehbar, da die Zahl u zufällig ist.
  • Dieses Verfahren kann auf jeden Exponentierungs-Algorithmus nach Wahl und in dem System affiner oder projektiver Koordinaten nach Wahl angewendet werden. Insbesondere kann der Punkt P' = (x'1, y'1) durch die projektiven Koordinaten P' = (X : Y : Z) bei 1a in der Koordinate mit Z gleich 1, also: P' = (x'1 : y'1 : 1) dargestellt werden.
  • Dann wird ein Exponentierungs-Algorithmus in (homogenen oder jakobineschen) projektiven Koordinaten nach Wahl verwendet. Da die Koordinaten in Z gleich 1 sind, wird dann die Zahl der Operationen zur Berechnung von d·P' reduziert.
  • Bevorzugt wird jedes Mal, wenn der Krypto-Algorithmus angesprochen wird, ein zufälliger Wert u ermittelt.
  • In einer anderen Ausführungsvariante wird ein zufälliger Wert u zur Personalisierung des elektronischen Bausteins ermittelt. Dieser Wert wird dann in einem wiederbeschreibbaren Speicherabschnitt des elektronischen Bausteins, wie dem geheimen Schlüssel d, gespeichert. In diesem Fall kann die Vor-Berechnung bestimmter Werte zur Beschleunigung der Verarbeitung vorgesehen werden. In dem besonders beschriebenen Ausführungsbeispiel über fertige Korpus mit Merkmalen unterschiedlich von 2 oder kann insbesondere der Wert u–1 vorberechnet werden, der die Berechnung der Koordinaten der Punkte P' und Q' erlaubt, und wird im wiederbeschreibbaren Speicher gespeichert. Dies ist insbesondere in den Anwendungen interessant, in denen die Verarbeitungsgeschwindigkeit sehr hoch ist, und in denen der wiederbeschreibbare Speicher eine ausreichende Kapazität hat.
  • Die auf ein auf einer auf einem fertigen Korpus mit von 2 oder 3 unterschiedlichen Merkmalen elliptischen Kurve E basierendes kryptographisches System angewendeten erfindungsgemäßen Gegenmaßnahmen können zur Vornahme einer Exponentiation des Typs Q = d·P detailliert werden, bei der Q und P Punkte der elliptischen Kurve E sind und d eine vorbestimmte Zahl ist. d und P sind die Eingänge und Q ist der Ausgang des Exponentierungs-Algorithmus.
  • In einem derartigen Beispiel haben wir gesehen, dass die Gleichung nach Weirstrass für die elliptische Kurve E auf dem Korpus IK folgendermaßen lautet: E/IK : y2 = X3 + ax + b.
  • In dieser Kurve ergibt die Additionsoperation eines Punkte P = (x1, y1) und Q = (x2, y2) (bei Q ≠ –P) einen Punkt R = (x3, y3) = P + Q, wie zum Beispiel: x3 = λ2 – x1 – x2 und y3 = λ(x1 – x3) – y1
    beiλ = (y2 – y1)/(x2 – x1), wenn P ≠ Q (Formel 1)undλ = (3x1 2 + a)/2y1, wenn P = Q (Formel 2).
  • Die Formel 1 ist die Additionsformel der beiden unterschiedlichen Punkte: R = Q + P, während die Formel 2 die Verdoppelungsformel des Punktes R = 2·P ist.
  • Es ist festzustellen, dass keine dieser Formeln den Parameter b der Gleichung der elliptischen Kurve E verwendet.
  • Somit kann sich eine auf eine durch die Gleichung nach Weirstrass vom Typ y2 = x3 + ax + b definierte elliptische Kurve und auf einen auf einen Punkt P = (x1, y1) angewendeten Verdoppelungsoperationen eines Punktes und Additionsoperationen zwischen zwei Punkten dieser Kurve E verwendenden Exponentierungs-Algorithmus angewendete Gegenmaßnahmen folgendermaßen geschrieben werden:
    • a) Zufälliges Ermitteln einer Zahl u ungleich Null;
    • b) Bewertung des Parameters a' = u–4a der Gleichung nach Weirstrass vom eine isomorphe elliptische Kurve E_u der elliptischen Kurve E definierenden Typ y2 = x3 + a'x + b';
    • c) Bilden des Punktes P' = (u–2x1, u–3y1);
    • d) Berechnen des Punktes Q' = d·P' auf der isomorphen elliptischen Kurve E_u.
    • e) Wenn der resultierende Punkt Q' der Punkt in der Unendlichkeit ist, ist der Punkt Q der Punkt in der Unendlichkeit, Andernfalls schreibt man Q' = (x'3, y'3);
    • f) umkehren von Q = (u2x'3, u3y'3) als Vor-Bild-Punkt.
  • Die Berechnung des Punktes Q + dP' in der Stufe d) dieses Verfahrens kann auf bemerkenswerte Weise mit dem Algorithmus nach Wahl und in dem Koordinatensystem nach Wahl erfolgen. Die Verwendung von (homogenen oder jakobineschen) projektiven Koordinaten für den Punkt P'4 ist insbesondere interessant, wenn P' mit seiner Koordinate in Z gleich 1 dargestellt wird, da die Anzahl von Operationen zur Berechnung von dP' dann reduziert ist. Man erhält also P' = (u–2x1 : u–3y1 : 1).
  • Die erfindungsgemäßen Gegenmaßnahmen können verallgemeinert werden. Insbesondere können die elliptischen Kurven durch andere Parametrisierungen als die nach Weirstrass vorgegeben werden.
  • Im Allgemeinen besteht die Stufe b). des oben im Einzelnen dargelegten Verfahrens somit in der Berechnung der Parameter der isomorphen elliptischen Gleichung auf der Basis der zufälligen Zahl u und der Parameter der elliptischen Kurve, auf der das kryptographische System basiert. Nur die in den Operationen auf der elliptischen Kurve verwendeten Parameter (Addition von zwei Punkten, Verdoppelung) sind zu berechnen. Im oben im Einzelnen dargelegten Verfahren ist nur der Parameter zu berechnen.
  • Darüber hinaus können die Gegenmaßnahmen auf unterschiedliche Exponentierungs-Algorithmen der Vorveröffentlichungen angewendet werden, da sie nur diesen Algorithmus auf eine andere elliptische Kurve übertragen. Somit können diese Gegenmaßnahmen in allen auf elliptischer Kurve basierenden kryptographischen Systemen verwendet werden. Es findet insbesondere auf die für Chipkarten bestimmten elektronischen Bausteine Anwendung.

Claims (9)

  1. Gegenmaßnahmen in einem elektronischen Baustein zur Ausführung eines Krypto-Algorithmus mit auf einer auf einem Korpus IK bestimmten elliptischen Kurven E basierendem öffentlichen Schlüssel mit einer Exponentierungsberechnung vom Typ Q = d·P, in der P und Q Punkte der bestimmten elliptischen Kurve (E) sind und d eine vorbestimmte Zahl ist, dadurch gekennzeichnet, dass das genannte Verfahren die folgenden Stufen umfasst: – Ermitteln einer zufälligen Zahl u ungleich Null, Element des Korpus IK, zur zufälligen Definition einer isomorphen elliptischen Kurve E_u, – Berechnung der Koordinaten eines Punktes P' auf der genannten isomorphen elliptischen Kurve E_u, Darstellung des Punktes P, – Anwendung eines Exponentierungs-Algorithmus auf den genannten Darstellungspunkt P' auf der genannten isomorphen elliptischen Kurve E_u zwecks Erhalts eines resultierenden Punktes Q', – Berechnung der Koordinaten auf der bestimmten elliptischen Kurve E des Punktes Q, der Vor-Darstellung des resultierenden Punktes Q'.
  2. Gegenmaßnahmen gemäß Anspruch 1, dadurch gekennzeichnet, dass die Definition der isomorphen elliptischen Kurve E_u die Parameterberechnung (a und/oder b) der genannten Kurve in Abhängigkeit der Parameter der definierten elliptischen Kurve E und der genannten zufälligen Variable umfasst, wobei die genannten Para meter in dem genannten Exponentierungs-Algorithmus verwendet werden.
  3. Gegenmaßnahmen gemäß Anspruch 1 oder 2, dadurch gekennzeichnet, dass der genannte Exponentierungs-Algorithmus auf den Bildpunkt P' in affinen Koordinaten (P = (x'1, y'1)) angewendet wird.
  4. Gegenmaßnahmen gemäß Anspruch 1 oder 2, dadurch gekennzeichnet, dass der genannte Exponentierungsalgorithmus auf den Bildpunkt P' in projektiven Koordinaten angewendet wird.
  5. Gegenmaßnahmen gemäß Anspruch 4, dadurch gekennzeichnet, dass die genannten projektiven Koordinaten vom Typ mit Koordinaten in Z gleich 1 (P = (x'1 : y'1 : 1) sind.
  6. Gegenmaßnahmen gemäß Anspruch 2, wobei die definierte elliptische Kurve E die Gleichung y2 = x3 + ax + b hat und der auf einen Punkt P = (x1, y1) angewendete Exponentierungs-Algorithmus die Verdoppelungsoperationen eines Punktes oder Additions- oder Substraktionsoperationen zwischen zwei Punkten dieser Kurve E verwendet, dadurch gekennzeichnet, dass sie die folgenden Stufen umfasst: a) Zufällig eine Zahl u ungleich Null ermitteln; b) Den Parameter a' = u–4a in der eine isomorphe elliptische Kurve E_u zur elliptischen Kurve E definierenden Gleichung y2 = x3 + a'x + b' bewerten; c) den Bildpunkt P' = (u–2x1, u–3y1) des Punktes P auf der genannten isomorphen Kurve E_u bilden; d) Berechnung des resultierenden Punktes Q' = d·P' durch Anwendung des genannten Exponentierungs- Algorithmus auf der genannten isomorphen elliptischen Kurve E_u. e) Wenn der Punkt Q' gleich dem Punkt in der Unendlichkeit ist, den Punkt in der Unendlichkeit als Darstellungspunkt Q umkehren, Ansonsten schreiben Q' = (x'3, y'3); f) Q = (u2x'3, u3y'3) umkehren.
  7. Gegenmaßnahmen gemäß dem vorherigen Anspruch, dadurch gekennzeichnet, dass der genannte Exponentierungsalgorithmus in der Stufe d) auf die in der Stufe c) durch P' = (u–2x1 : u–3y1 : 1) gebildeten projektiven Koordinaten (X:Y:Z) des Punktes P' angewendet wird.
  8. Elektronischer Baustein, in dem Gegenmaßnahmen gemäß einem der vorherigen Ansprüche umgesetzt werden.
  9. Chipkarte mit einem elektronischen Baustein gemäß Anspruch 8.
DE60204955T 2001-04-27 2002-04-25 Gegenmassnahmen in einem elektronischen baustein zur ausführung eines krypto-algorithmus mit auf elliptischen kurven basierendem öffentlichen schlüssel Expired - Lifetime DE60204955T2 (de)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR0105759A FR2824210B1 (fr) 2001-04-27 2001-04-27 Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique sur une courbe elliptique
FR0105759 2001-04-27
PCT/FR2002/001434 WO2002088933A1 (fr) 2001-04-27 2002-04-25 Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique sur une courbe elliptique

Publications (2)

Publication Number Publication Date
DE60204955D1 DE60204955D1 (de) 2005-08-11
DE60204955T2 true DE60204955T2 (de) 2006-04-27

Family

ID=8862815

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60204955T Expired - Lifetime DE60204955T2 (de) 2001-04-27 2002-04-25 Gegenmassnahmen in einem elektronischen baustein zur ausführung eines krypto-algorithmus mit auf elliptischen kurven basierendem öffentlichen schlüssel

Country Status (6)

Country Link
US (1) US20040228478A1 (de)
EP (1) EP1381936B1 (de)
DE (1) DE60204955T2 (de)
ES (1) ES2247326T3 (de)
FR (1) FR2824210B1 (de)
WO (1) WO2002088933A1 (de)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2854997B1 (fr) * 2003-05-16 2005-07-22 Gemplus Card Int Procede de contre-mesure dans un composant electronique mettant en oeuvre un algorithme cryptographique du type a cle publique sur une courbe elliptique definie sur un corps de caracteristique deux
US7961874B2 (en) * 2004-03-03 2011-06-14 King Fahd University Of Petroleum & Minerals XZ-elliptic curve cryptography with secret key embedding
US7961873B2 (en) * 2004-03-03 2011-06-14 King Fahd University Of Petroleum And Minerals Password protocols using XZ-elliptic curve cryptography
US7379546B2 (en) * 2004-03-03 2008-05-27 King Fahd University Of Petroleum And Minerals Method for XZ-elliptic curve cryptography
FR2880149B1 (fr) 2004-12-23 2007-03-30 Oberthur Card Syst Sa Procede de traitement de donnees et dispositif associe
DE602005020702D1 (de) 2005-10-18 2010-05-27 Telecom Italia Spa Verfahren zur skalarmultiplikation in gruppen elliptischer kurven über primkörpern für nebenkanal-attacken-beständige kryptosysteme
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
US7885406B2 (en) * 2006-10-10 2011-02-08 Microsoft Corporation Computing endomorphism rings of Abelian surfaces over finite fields
US8559625B2 (en) * 2007-08-07 2013-10-15 Inside Secure Elliptic curve point transformations
US8619977B2 (en) * 2008-01-15 2013-12-31 Inside Secure Representation change of a point on an elliptic curve
US8233615B2 (en) 2008-01-15 2012-07-31 Inside Secure Modular reduction using a special form of the modulus
DE102008018001A1 (de) * 2008-04-09 2009-10-22 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Übertragung von Nachrichten in Echtzeit
US8509426B1 (en) 2010-12-01 2013-08-13 King Fahd University Of Petroleum And Minerals XZ-elliptic curve cryptography system and method
US8699701B2 (en) 2010-12-01 2014-04-15 King Fahd University Method of performing XZ-elliptic curve cryptography for use with network security protocols
US20120140921A1 (en) * 2010-12-01 2012-06-07 King Fahd University Of Petroleum And Minerals Rsa-analogous xz-elliptic curve cryptography system and method
FR2972064B1 (fr) * 2011-02-25 2013-03-15 Inside Secure Procede de cryptographie comprenant une operation d'exponentiation
EP2916215B1 (de) * 2014-03-03 2016-12-07 Thomson Licensing Verfahren zur kryptographischen Verarbeitung von Daten auf elliptischen Kurven, entsprechende elektronische Vorrichtung und Computerprogrammprodukt
CN105959108A (zh) * 2016-06-27 2016-09-21 收付宝科技有限公司 对云支付限制密钥进行加密及解密的方法、装置和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU758621B2 (en) * 1997-12-05 2003-03-27 Icesoft Technologies, Inc. Transformation methods for optimizing elliptic curve cryptographic computations
CN1235446A (zh) * 1998-03-05 1999-11-17 松下电器产业株式会社 椭圆曲线变换装置、利用装置和利用系统
FR2791496B1 (fr) * 1999-03-26 2001-10-19 Gemplus Card Int Procedes de contre-mesure dans un composant electronique mettant en oeuvre un algorithme de crytographie a cle publique de type courbe elliptique

Also Published As

Publication number Publication date
FR2824210A1 (fr) 2002-10-31
FR2824210B1 (fr) 2003-05-30
ES2247326T3 (es) 2006-03-01
DE60204955D1 (de) 2005-08-11
WO2002088933A1 (fr) 2002-11-07
US20040228478A1 (en) 2004-11-18
EP1381936B1 (de) 2005-07-06
EP1381936A1 (de) 2004-01-21

Similar Documents

Publication Publication Date Title
DE60204955T2 (de) Gegenmassnahmen in einem elektronischen baustein zur ausführung eines krypto-algorithmus mit auf elliptischen kurven basierendem öffentlichen schlüssel
DE69930334T2 (de) IC-Karte ausgerüstet mit einer Verarbeitungsanlage für Elliptische-Kurven-Verschlüsselung
DE60125710T2 (de) Manipulationssichere Methode zur modularen Multiplikation
EP1262037B1 (de) Tragbarer datenträger mit zugriffsschutz durch schlüsselteilung
DE60119620T2 (de) Verfahren zur Skalarmultiplikation auf einer elliptischen Kurve und entsprechende Vorrichtung
DE102006009239B4 (de) Vorrichtung und Verfahren zum Berechnen einer Darstellung eines Ergebnis-Operanden
EP1891512B1 (de) Bestimmung einer modularen inversen
DE602004013206T2 (de) Verfahren und diesbezügliche einrichtung zur hardwareorientierten umsetzung zwischen arithmetik- und boolscher zufallsmaskierung
EP1999884B1 (de) Verfahren zum sicheren ermitteln von daten
DE102010001289B4 (de) Vorrichtung zum Berechnen eines Ergebnisses einer Skalarmultiplikation
DE60223775T2 (de) Vorrichtung zum Konvertieren einer elliptischen Kurve
EP2197149A1 (de) Verfahren und Vorrichtung zum Verarbeiten von Daten
DE112008000668T5 (de) Kryptografisches Verfahren und System
EP3593483A1 (de) Übergang von einer booleschen maskierung zu einer arithmetischen maskierung
EP1920323A1 (de) Verfahren zur skalarmultiplikation von punkten auf einer elliptischen kurve
DE60217131T2 (de) Universelles berechnungsverfahren für punkte auf einer elliptischen kurve
DE102008051447B4 (de) Verfahren und Vorrichtung zum Schützen einer RSA-Berechnung an einer Ausgabe mit Hilfe des chinesischen Restsatzes
EP1664979B1 (de) Übergang zwischen maskierten repräsentationen eines wertes bei kryptographischen berechnungen
DE60022770T2 (de) Gegenmassnahme in einem elektronischen baustein zur ausführung eines kryptoalgorithmus mit öffentlichem schlüssel vom rsa-typ
DE112018002723T5 (de) System, verfahren und vorrichtung zur verschleierung von vorrichtungsoperationen
WO2012065730A1 (de) Verfahren zur langzahldivision oder modulare reduktion
EP1615098B1 (de) Ausspähungsgeschütztes Berechnen eines maskierten Ergebniswertes
DE60220793T2 (de) Verwürfelung bzw. Verschleierung (Scrambling) einer Berechnung, bei welcher eine modulare Funktion zur Anwendung kommt
EP1518165B1 (de) Berechnung eines vielfachen eines gruppenelements für kryptographische zwecke
EP2128754B1 (de) Sichere sliding window exponentiation

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
R082 Change of representative

Ref document number: 1381936

Country of ref document: EP

Representative=s name: HOFFMANN - EITLE, DE