DE102005041102A1 - Verfahren zur Skalarmultiplikation von Punkten auf einer elliptischen Kurve - Google Patents

Verfahren zur Skalarmultiplikation von Punkten auf einer elliptischen Kurve Download PDF

Info

Publication number
DE102005041102A1
DE102005041102A1 DE102005041102A DE102005041102A DE102005041102A1 DE 102005041102 A1 DE102005041102 A1 DE 102005041102A1 DE 102005041102 A DE102005041102 A DE 102005041102A DE 102005041102 A DE102005041102 A DE 102005041102A DE 102005041102 A1 DE102005041102 A1 DE 102005041102A1
Authority
DE
Germany
Prior art keywords
characteristic
scalar multiplication
degree
elliptic curve
polynomial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
DE102005041102A
Other languages
English (en)
Inventor
Anton Kargl
Bernd Dr. Meyer
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Priority to DE102005041102A priority Critical patent/DE102005041102A1/de
Priority to US11/991,181 priority patent/US20090136025A1/en
Priority to CNA2006800318338A priority patent/CN101253473A/zh
Priority to PCT/EP2006/064099 priority patent/WO2007025796A1/de
Priority to EP06777699A priority patent/EP1920323A1/de
Publication of DE102005041102A1 publication Critical patent/DE102005041102A1/de
Withdrawn 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/7214Calculation via prime subfield, i.e. the subfield being GF(p) with p an integer prime > 3; e.g. GF(p**k) via GF(p)

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)
  • Devices For Executing Special Programs (AREA)

Abstract

Verfahren zur Skalarmultiplikation von Punkten auf einer elliptischen Kurve über einen endlichen Erweiterungskörper K eines Primkörpers F¶p¶ mit einer Charakteristik p > 3, wobei die Charakteristik p ein geringes Hamming-Gewicht aufweist, und der Erweiterungskörper K in polynomieller Darstellung ein irreduzibles Polynom F(X) = X·d· - 2 vom Grad d besitzt.

Description

  • Die Erfindung betrifft ein Verfahren zur Skalarmultiplikation von Punkten auf einer elliptischen Kurve, insbesondere von elliptischen Kurven über einen endlichen Erweiterungskörper K eines Primkörpers Fp mit einer Charakteristik p > 3.
  • In der Kryptographie wird zwischen symmetrischen und asymmetrischen Verfahren unterschieden. Symmetrische Verfahren benutzen nur einen, geheimen Schlüssel, sowohl zum Ver- als auch zum Entschlüsseln. Der Schlüssel muss an beide Kommunikationsteilnehmer über einen sicheren Kanal verteilt werden. Bei den asymmetrischen Verfahren werden zwei Schlüssel eingesetzt, ein öffentlicher und ein privater. Der öffentliche Schlüssel kann an alle Teilnehmer verteilt werden, ohne die Sicherheit des Datenaustauschs zu gefährden. Der Schlüsselaustausch ist daher bei asymmetrischen Verfahren unproblematischer als bei den symmetrischen Verfahren. Nachteilig bei den asymmetrischen Verfahren ist, dass sie etwa hundert- bis tausendmal langsamer als vergleichbare symmetrische Verfahren sind.
  • Elliptische Kurven werden seit 1985 in asymmetrischen Kryptographie-Verfahren eingesetzt. Der Hauptvorteil von auf elliptischen Kurven basierender Kryptographie ist, dass im Vergleich zu anderen Verfahren, wie zum Beispiel RSA, kleinere Schlüssel eingesetzt werden können und dennoch das gleiche Sicherheitsniveau erreicht wird. Eine Schlüssellänge von 160 Bit weist die gleiche Sicherheit gegenüber Angriffen auf wie ein Schlüssel von 1.024 Bit bei dem RSA-Verfahren. Pro Bit des Schlüssels liefert die elliptische Kurven-Kryptographie die höchste Sicherheit von allen derzeit bekannten Verfahren. Die elliptische Kurven-Kryptographie ist daher besonders für Kanäle mit stark begrenzter Bandbreite geeignet. Nachteilig ist jedoch, dass die Ver- und Entschlüsselung rechnerisch aufwendiger als bei anderen Verfahren ist. Für die Anwendung in kryptographischen Verfahren ist es daher wichtig, eine optimale Auswahl der Parameter des kryptographischen Systems zu treffen.
  • Sei K ein endlicher Körper der Charakteristik p > 3 und a, b ∊ K. Eine elliptische Kurve über dem Körper K ist die Nullstellenmenge der Gleichung y2 = x3 + ax + b mit 4a3 + 27b2 ≠ 0. Elliptische Kurven sind unter Einbeziehung des unendlich fernen Punktes als neutrales Element additive Gruppen. Sei G ⊂ E eine Untergruppe mit primer Ordnung. Dann ist jeder nicht-triviale Punkt P ∊ G ein Generator von P. Folglich ist jeder Punkt Q ∊ G das Ergebnis einer Skalarmultiplikation Q = sP, mit s ϵ{0,... , ord(P) – 1}. Wenn der Skalar s eine positive Ganzzahl ist, entspricht der Skalarmultiplikation die s-fach wiederholte Addition eines Punktes P zu sich selber.
  • Die Skalarmultiplikation ist derzeit für Kurven mit bestimmten Eigenschaften eine mathematische Einwegfunktion. Sie kann in polynomieller Zeit berechnet werden, allerdings nach dem heutigen Stand der Technik nur in exponentieller Zeit umgekehrt werden. Die Umkehrung der Skalarmultiplikation auf elliptischen Kurven wird auch als diskretes Logarithmus-Problem (ECDLP) bezeichnet und ist die mathematische Grundlage für auf elliptischen Kurven basierende Kryptosysteme. Die derzeit bekannten Verfahren zur Berechnung diskreter Logarithmen auf kryptographisch geeigneten elliptischen Kurven besitzen die Komplexität O(20,5n), wobei n die binäre Länge der Ordnung von G ⊂ E ist. Um den aktuellen Sicherheitsanforderungen zu genügen, wird empfohlen mindestens eine Bitlänge von n > 160 zu wählen.
  • Die Skalarmultiplikation eines Punktes P wird üblicherweise durch Addition und Verdopplung von Punkten der elliptischen Kurve implementiert. Die Rechenvorschrift für die Addition und die Verdopplung besteht aus Elementaroperationen auf Elementen aus dem Körper K. Für eine effektive Implementierung der Skalarmultiplikation ist eine optimierte Arithmetik im Körper K erforderlich.
  • Der wichtigste Faktor bei der Wahl des zugrunde liegenden Körpers K ist die Architektur der zur Verfügung stehenden Hardware-Plattform. Steht auf der Hardware-Plattform eine Langzahlarithmetik zur Verfügung und sind Koprozessoren zur Beschleunigung der Arithmetik im Körper K integriert, so können für den Körper K Primkörper eingesetzt werden. Chipkarten mit Koprozessor und Langzahlarithmetik können z.B. elliptische Kurven mit Primzahlen mit Bitlängen von 160 bis 600 Bit sehr effektiv verarbeiten.
  • In Hardware-Umgebungen dagegen, die keine speziellen Rechenwerke aufweisen, wie zum Beispiel Embedded Systems, mit Busbreiten von nur 8 oder 16 Bit und ohne Koprozessor, muss die Langzahlarithmetik erst durch entsprechende Software-Befehle implementiert werden. Die kryptographischen Verfahren müssen somit vollständig in Software realisiert werden und sind nur schwierig beziehungsweise nur mit sehr viel Erfahrung optimierbar.
  • Die Leistungsfähigkeit von derartigen Software-Lösungen zur Skalarmultiplikation kann wesentlich gesteigert werden, wenn die von der Hardware zur Verfügung gestellten Optimierungsmöglichkeiten, wie zum Beispiel die SSE2-Einheit eines Pentium 4-Prozessors oder das gleichzeitige Addieren und Multiplizieren eines Signalprozessors, ausgenutzt werden können.
  • Alternativ zur Wahl eines Primkörpers können für den Körper K Erweiterungskörper eines Primkörpers Fp gewählt werden. Mithilfe von kleineren Primzahlen p mit binären Längen von nur 20 bis 30 Bit und eines irreduziblen Polynoms vom Grad d kann man einen kleineren Körper Fp konstruieren. Die Körperelemente eines Erweiterungskörpers sind dabei Polynome, deren Koeffizienten auch aus dem Körper Fp stammen, d. h. Polynome sind. Auf diese Weise lässt sich trotz der kleineren Primzahlen p eine hohe effektive Bitzahl erreichen, die dann eine ausreichend hohe Sicherheit ermöglicht. Die erforderliche Polynomarithmetik kann damit an die Busbreite des jeweiligen Prozessors angepasst werden, sodass die im jeweiligen Prozessor bereitgestellten Arithmetikoperationen optimal verwendet werden können und keine Langzahlarithmetik erforderlich ist. Bei der Polynomarithmetik sind wie bei der Multiplikation von zwei n-Bit Zahlen n2 Multiplikationen erforderlich. Von Vorteil ist bei der Polynomarithmetik jedoch, dass sich durch Einsatz spezieller Algorithmen die Gesamtzahl der Operationen viel stärker reduzieren lässt.
  • Um bei der Multiplikation von zwei Polynomen, deren Ergebnis ein Polynom mit maximalem Grad 2d – 2 ist, wieder in den Körper zurückzukommen, muss das Polynom reduziert werden. Zum Einen werden die Koeffizienten des Polynoms modulo p im endlichen Körper Fp reduziert, zum Anderen wird das Polynom selber modulo irreduzibles Polynom reduziert.
  • Durch geschickte Wahl des Erweiterungskörpers Fp lässt sich der Aufwand für beide Arten von Reduzierung minimieren. Optimale Erweiterungskörper (OEF) über Primkörper Fp mit einer Charakteristik p > 3 und einer polynomiellen Darstellung mit maximalem Grad d – 1 sind dabei durch zwei wesentliche Eigenschaften gekennzeichnet:
    • 1. Die Primzahl p ist eine Pseudo-Mersenne Primzahl in der Form p = 2n ± c, wobei log (c) < n/2. Diese Eigenschaft ermöglicht eine schnelle Reduktion im Körper Fp.
    • 2. Es existiert ein irreduzibles Polynom F(X) = Xd – w ∊ Fp[X]. Diese Eigenschaft ermöglicht eine schnelle Reduktion im Polynomring Fp[X], da die zu reduzierenden Koeffizienten durch eine Multiplikation und eine Addition in Fp reduziert werden können.
  • Die optimalen Erweiterungskörper können weiter vom Typ 1 oder Typ 2 sein:
    Typ 1: Für die Primzahl p gilt p = 2n ± 1, das heißt c = 1.
    Typ 2: Für das irreduzible Polynom F(X) gilt F(X) = Xd – 2, das heißt w = 2.
  • Es kann mathematisch bewiesen werden, dass ein optimaler Erweiterungskörper entweder vom Typ 1 oder vom Typ 2 ist, aber nicht beide Eigenschaften gleichzeitig besitzen kann. Der Typ 1 optimale Erweiterungskörper ermöglicht eine effiziente Arithmetik im Primkörper Fp, während der Typ 2 optimale Erweiterungskörper eine effiziente Reduktion im Polynomring Fp[X] ermöglicht. In beiden Fällen ist es nicht auszuschließen, dass während der Reduktion in Fp oder im Polynomring Fp[X] Multiplikation mit Elementen des Primkörpers Fp ausgeführt werden müssen.
  • Falls der Körper K ein Primkörper Fp ist, kann die Reduktion von Produkten aus Elementen des Primkörpers Fp durch die Wahl von speziellen Primzahlen p beschleunigt werden. Die Zahl der benötigten Operationen für eine Multiplikation hängt nicht allein von der Anzahl der Stellen der beiden Faktoren, sondern vielmehr von den Hamming-Gewichten ihrer Darstellung ab. Unter dem Hamming-Gewicht einer Zahl Z versteht man die Anzahl der gesetzten Bits von Z. Das Hamming-Gewicht von 11101 ist beispielsweise vier. Durch eine geschickte Darstellung von Zahlen kann man bei einer Multiplikation von zwei Zahlen Rechenoperationen einsparen: Die Zahl 63 besitzt in binärer Form die Darstellung 111111 mit dem Hamming-Gewicht 6. Eine Multiplikation mit einer Potenz von 2 wird durch Linksschieben erreicht, sodass in diesem Fall insgesamt 5-mal Schiebeoperationen und 5 Additionen erforderlich sind. Die Zahl 63 lässt sich jedoch auch als 26 – 1 darstellen. Sie hat in dieser Darstellung ein Hamming-Gewicht von nur 2, sodass eine Multiplikation mit 63 mit einem Linkschieben um 6 Bitpositionen und einer Subtraktion erfolgen kann. Im Gegensatz dazu werden bei einer Multiplikation mit der Zahl 10 trotz der geringeren Anzahl von Stellen zwei Schiebeoperationen und eine Addition benötigt. Der Aufwand einer Multiplikation hängt folglich stark von ihrem Hamming-Gewicht ab. In einer Liste empfohlener elliptischer Kurven über Primkörper des National Institute of Standards and Technology (NIST, USA) wird darauf geachtet, dass die Primzahl eine Darstellung in der Form p = 2n ± 2m ± 1 mit dem Hamming-Gewicht 3 hat und somit eine effiziente Reduktion ermöglicht.
  • Das irreduzible Polynom Xd – 2 besitzt bezüglich der Reduktion eine optimale Form. Es beinhaltet nur zwei Terme, Xd und einen konstanten, additiven Faktor. Dieser Faktor, 2, ist auch optimal gewählt, da der Koeffizient der zu reduzieren ist, nur um ein Bit verschoben werden muss, um ihn mit 2 zu multiplizieren. Die Primzahl in der Darstellung p = 2n ± 1 ist ebenfalls bezüglich der Reduktion optimal, da nur ein additives Glied zu 2n vorhanden ist. Unglücklicherweise können beide Typen nicht miteinander kombiniert werden, sodass bei der Wahl des Erweiterungskörpers immer eine Abwägung bezüglich des Aufwands erforderlich ist.
  • Die Koeffizienten a und b einer über einen Erweiterungskörper definierten elliptischen Kurve sind im Allgemeinen Polynome. Bei einer Koblitz-Kurve liegen a und b im Grundkörper und sind Polynome vom Grad Null. Die Potenzierung eines auf der Kurve liegenden Punktes mit p bildet diesen aufgrund des Frobenius Homomorphismus im endlichen Körper wieder auf die gleiche Kurve ab. Falls a und b dagegen Polynome sind, wird der Punkt auf einer anderen Kurve abgebildet. Der Frobenius Endomorphismus auf der elliptischen Kurve ist im Endophormismusring, das heißt, man kann bei Koblitz-Kurven sämtliche Skalare bezüglich des Frobenius Endomorphismus darstellen und erhält dadurch einen sehr schnellen skalaren Multiplikationsalgorithmus.
  • Aufgabe der vorliegenden Erfindung ist es daher, eine effiziente Realisierung der Skalarmultiplikation von Punkten einer elliptischen Kurve über einem endlichen Erweiterungskörper mit der Charakteristik p > 3 in Software auf einem Standardprozessor ohne zusätzliche Koprozessoren anzugeben.
  • Die Aufgabe wird durch ein Verfahren zur Skalarmultiplikation von Punkten auf einer elliptischen Kurve über einen endlichen Erweiterungskörper K eines Primkörpers Fp mit einer Charakteristik p > 3 gelöst, wobei die Skalarmultiplikation innerhalb eines kryptographischen Algorithmus für eine Verschlüsselung einer Nachricht, eine Entschlüsselung einer Nachricht, eine Signaturerzeugung aus einer Nachricht oder eine Signatur-Verifikationsberechnung aus einer Nachricht ausgeführt wird, und wobei die Charakteristik p ein Hamming-Gewicht ≤ 4 aufweist und der Erweiterungskörper K in polynomieller Darstellung ein irreduzibles Polynom F(X) = Xd – 2 vom Grad d besitzt. Der optimale Erweiterungskörper ist somit vom Typ 2 und weist bezüglich der Reduktion im Polynomring Fp[X] optimale Reduktionseigenschaften auf. Da sich optimale Erweiterungskörper vom Typ 1 und Typ 2 gegenseitig ausschließen ist eine Darstellung der Primärzahl in der Form p = 2n ± 1 nicht möglich. Um dennoch eine effiziente Arithmetik im Primkörper Fp zu ermöglichen, wird gefordert dass die Primzahl p ein geringes Hamming-Gewicht aufweist. Durch das geringe Hamming-Gewicht in der binären Darstellung wird die Anzahl der Rechenoperationen stark reduziert und die Berechnung der Skalarmultiplikation beschleunigt.
  • Gemäß einer vorteilhaften Ausgestaltung weist die Charakteristik p ein Hamming-Gewicht von 3 auf. Für ein Hamming-Gewicht kleiner als 3 erhält man einen optimalen Erweiterungskörper vom Typ 1. Da bereits jedoch ein optimaler Erweiterungskörper vom Typ 2 gewählt wurde, ist dies nicht möglich. Ist das Hamming-Gewicht 4 oder größer so erhält man zusätzliche Summanden die sich auf die Effizienz des Algorithmus für die Skalarmultiplikation auswirken.
  • Gemäß einer vorteilhaften Ausgestaltung wird die Charakteristik so gewählt, dass p = 2n ± 2m ± 1 gilt, wobei n und m natürliche Zahlen sind. Wird die Charakteristik in dieser Form gewählt besitzt sie automatisch ein Hamming-Gewicht von 3. Sämtliche Operationen lassen sich durch Verschieben der Bit positionen und Addition beziehungsweise Subtraktion effizient realisieren.
  • Gemäß einer vorteilhaften Ausgestaltung ist der Grad d des irreduziblen Polynoms eine Primzahl. Wäre d eine gerade Zahl, so gäbe es eine binomische Formel mit der das irreduzible Polynom reduziert werden könnte. Ist der Grad d eine Primzahl, so lassen sich bekannte Angriffe verhindern, die möglich sind wenn der Grad d keine Primzahl ist.
  • Gemäß einer vorteilhaften Ausgestaltung ist die elliptische Kurve durch y2 = x3 + ax + b mit 4a3 + 27b2 ≠ 0 gegeben. Dies stellt keine Einschränkung, das Verfahren ist auch auf andere Kurven anwendbar. Die Bedingung für die Koeffizienten a und b muss gelten, damit die elliptische Kurve keine singulären Punkte besitzt, da sie sonst für Kryptographieanwendungen untauglich wäre.
  • Gemäß einer vorteilhaften Ausgestaltung ist die elliptische Kurve eine Koblitz-Kurve. Koblitz-Kurven erlauben eine schnelle Skalarmultiplikation mittels des Frobenius Endomorphismus über dem Körper Fp.
  • Gemäß einer vorteilhaften Ausgestaltung wird die Skalarmultiplikation mittels eines Frobenius Endomorphismus in einer Potenzreihendarstellung des Skalars durchgeführt. Die Skalarmultiplikation kann dann als eine Summe von kürzeren Skalarmultiplikationen implementiert werden.
  • Gemäß einer vorteilhaften Ausgestaltung werden die Potenzen der Potenzreihe zuvor berechnet und abgespeichert. Die Effizienz des Skalarmultiplikationsalgorithmus kann dadurch weiter gesteigert werden.
  • Gemäß einer vorteilhaften Ausgestaltung wird die Bitlänge der Charakteristik p und der Grad d an den Prozessor, auf dem die Skalarmultiplikation ausgeführt wird, angepasst. Bei einem Prozessor mit einer Wortbreite von 8 Bit kann die Primzahl p 5 bis 6 Bit umfassen, was eine Darstellung von Primzahlen bis 31 ermöglicht. Um eine ausreichende Sicherheit zu ermöglichen muss der Grad d des irreduziblen Polynoms dabei höher gewählt werden, als bei einer Primzahl mit einer größeren Bitlänge. Um einen Körper mit mindestens 160 Bit zu realisieren ist ein Grad von d = 23 oder 29 erforderlich. Bei einem Prozessor mit 16 Bit Wortbreite können Charakteristiken p mit Bitlängen von 12 bis 13 Bit verwendet werden, der Grad des irreduziblen Polynoms kann dann geringer sein, z.B. d = 11.
  • Gemäß einer vorteilhaften Ausgestaltung wird die Charakteristik p und der Grad d so gewählt, dass die für die Busbreite des Prozessors bereitgestellten Arithmetikoperationen direkt für die Skalarmultiplikation verwendet werden können. Auf diese Weise ist das Speichern von Zwischenergebnissen bei Multiplikationen möglich, ohne dass eine Reduzierung bezüglich der Charakteristik p erforderlich ist. Weiter ist keine Implementierung für eine Langzahlenarithmetik notwendig.
  • Gemäß einer vorteilhaften Ausgestaltung werden Teile der Rechenoperationen der Skalarmultiplikation mittels eines Streaming Single Instruction Multiple Data (SIMD) Extension-Befehlsatzes (SSE) parallel ausgeführt. Durch die Parallelisierung und dem Ausnutzen von weiteren, auf der Hardware-Plattform zur Verfügung stehenden Optimierungsmöglichkeiten, lässt sich die erforderliche Rechenzeit auch ohne Koprozessoren dramatisch reduzieren.
  • Erfindungsgemäß werden die oben beschriebenen Verfahren in einer asymmetrischen Kryptographieanwendung eingesetzt. Diese Anwendungen können den Schlüsselaustausch, digitale Signaturen, etc. ermöglichen, wobei die Rechenzeit und die Anforderung an die Hardware auf einem für den Benutzer akzeptablen Niveau liegen.
  • Die Erfindung wird nachfolgend an Hand von Ausführungsbeispielen näher erläutert.
  • Um die Berechnung der Skalarmultiplikation zu beschleunigen, muss eine elliptische Kurve über einem optimalen Erweiterungsfeld und die Feldarithmetik entsprechend der vorhandenen Hardware-Plattform optimiert werden. Dies gelingt durch eine Optimierung bezüglich des Rechenaufwands, der erforderlich ist, wenn der optimale Erweiterungskörper eine der Bedingungen vom Typ 1 bzw. vom Typ 2 nicht erfüllt. Es zeigt sich, dass wenn ein optimaler Erweiterungskörper vom Typ 2 gewählt wird, die daraus folgende nicht-optimale Form bezüglich Typ 1 durch eine geschickte Wahl der Primzahl p ausreichend kompensiert werden kann. Ist dagegen das irreduzible Polynom F(X) nicht optimal, so bedeutet das mehr Rechenaufwand, da sich dieses Polynom bei der Berechnung öfters auswirkt und je nach dem Grad d entsprechend viele Koeffizienten besitzt.
  • Um die nicht-optimale Form der Primzahl bezüglich Typ 1 zu kompensieren, wird als Primzahl p daher eine Zahl gewählt, die in binärer Darstellung ein sehr kleines Hamming-Gewicht aufweist. Das kleinste mögliche Hamming-Gewicht, nämlich 3, besitzen Primzahlen der Form p = 2n ± 2m ± 1. Der zusätzliche Summand 2m wirkt sich weniger schwerwiegend auf die Rechenzeit aus als ein nicht optimales Reduktionspolynom.
  • Die Primzahl p wird weiter so gewählt, dass möglichst viele Zwischenergebnisse in Registern gehalten werden können, ohne dass man bezüglich der Primzahl p reduzieren muss. Man kann dann ohne große Nachteile bezüglich der Rechenzeit die additive Konstante zulassen, da nur einmal zum Schluss reduziert werden muss.
  • In den Ausführungsbeispielen wird als Zielplattform ein 32 Bit Pentium 4-Prozessor mit einer SSE2-Einheit benutzt. Damit man ohne Langzahlarithmetik oder Koprozessor auskommt, wird die Bitlänge der Primzahl p zwischen 20 und 30 Bit gewählt. Im Vergleich zur empfohlenen Bitlänge von 160 Bit stellt dies eine Reduzierung um den Faktor fünf bis acht dar.
  • Das Reduktionspolynom wird zu F(X) = Xd – w gewählt, mit d = 11 und w = 2. Die Primzahl wird zu p = 229 – 29 + 1 mit n = 29, m = 9 und c = 511 gewählt. Die Primzahl p weist somit eine Bitlänge von nur 29 Bit auf.
  • Die in der Definition des optimalen Erweiterungskörpers zur Reduktion notwendiger Multiplikation mit c = 511 kann dann aufgrund des Hamming-Gewichts von 3 sehr effektiv mit den schnellen Operationen bitweise Schieben, Addition und Subtraktion realisiert werden.
  • Durch die Erfindung ist es nun möglich, optimale Erweiterungskörper zu finden, die die Vorteile von Typ 1 und Typ 2 optimalen Erweiterungskörpern vereinen. Die Reduktion von Produktion von Elementen des Primkörpers Fp als auch die Reduktion von Produkten im Polynomring über Fp kann ohne Verwendung von Multiplikationsbefehlen des Prozessors durchgeführt werden. Die Multiplikation mit der additiven Konstante c = ± 2m ± 1 lässt sich aufgrund des kleinen Hamming-Gewichts durch eine Schiebeoperation und einer Subtraktion bzw. Addition realisieren. Eine Reduktion modulo p lässt sich durch nur vier Schiebeoperationen, zwei Subtraktionen und zwei Additionen realisieren. Weiter lassen sich alle Zwischensummen von Teilprodukten der Koeffizienten der Operanten in einem 64-Bit-Register ohne Überlauf speichern. Die Reduktion modulo p erfolgt ein einziges Mal am Ende der Berechnung der Koeffizienten des Produkts.
  • Mithilfe des SSE2 (Streaming SIMD Extension 2)-Assembler-Befehlsatzes von Intel können bei einem Pentium 4-Prozessor Teile der Körperarithmetik über den Körper Fp parallelisiert werden. Das Single Instruction Multiple Data (SIMD)-Konzept und die 128 Bit Register erlauben die gleichzeitige Berechnung von zwei partiellen Produkten, wie in dem folgendem Programmsegment dargestellt ist.
  • Figure 00110001
  • Figure 00120001
  • Das folgende Programmsegment nutzt die geschickte Darstellung von p = 229 – 29 + 1 mit geringem Hamming-Gewicht aus, um gleichzeitig zwei Zwischenergebnisse zu reduzieren:
    Figure 00120002
  • Mithilfe von SSE2-Befehlen, die auf 4 double words angewandt werden, ist es sogar möglich, bei der Addition und Subtraktion in Fp gleichzeitig 4 Koeffizienten zu berechnen und zu reduzieren.
  • Als elliptische Kurve wird eine Koblitz-Kurve mit y2 = x3 + ax + b modulus p mit den Parametern a = 468383287 und b = 63579974 gewählt. Die Koeffizienten a und b wurden zufällig ermittelt und sind vom Grad 0, sodass eine Potenzierung eines Punktes mit p diesen wieder auf der gleichen Kurve abbildet. Auf diese Weise ist es möglich, den Frobenius Endomorphismus für einen sehr schnellen skalaren Multiplikationsalgorithmus einzusetzen. Zur weiteren Beschleunigung werden die dazu er forderlichen Potenzen der Zahl 2 vorab berechnet und in Tabellen abgelegt.
  • Die optimalen Erweiterungskörper lassen sich in ähnlicher Weise auch für Hardware-Plattformen mit anderen Busbreiten wählen. Die Primzahl p wird so gewählt, dass man auf der einen Seite ein optimales Reduktionspolynom vom Typ 2, das heißt Xd – 2, hat und auf der anderen Seite die Primzahl p ein minimales Hamming-Gewicht besitzt, sodass möglichst wenig Summanden in der binären Darstellung vorhanden sind. Für einen 16-Bit-Prozessor weist die Primzahl p zum Beispiel eine Bitlänge von 11 oder 13 Bit auf.
  • Durch den Einsatz der oben dargestellten optimalen Erweiterungskörper und die geschickte Wahl der Primzahl p wird die Rechenzeit für die Skalarmultiplikation von Punkten auf elliptischen Kurven reduziert, sodass kryptographische Verfahren, die elliptische Kurven über optimale Erweiterungskörpern einsetzen, schneller ausgeführt werden können. Da sich zudem das Verfahren zur Skalarmultiplikation durch eine entsprechende Wahl der Bitlänge der Primzahlen skalierbar ist und somit an unterschiedliche Prozessor-Busbreiten angepasst werden kann, lässt es sich auch auf den unterschiedlichsten Hardware-Plattformen einsetzen. Insbesondere bei Hardware-Plattformen ohne Langzahlarithmetik oder Koprozessor können somit asymmetrische Verfahren auf Basis elliptischer Kurven mit geringen Rechenzeiten eingesetzt werden.

Claims (13)

  1. Verfahren zur Skalarmultiplikation von Punkten auf einer elliptischen Kurve über einen endlichen Erweiterungskörper K eines Primkörpers Fp mit einer Charakteristik p > 3, wobei die Skalarmultiplikation innerhalb eines kryptographischen Algorithmus für eine Verschlüsselung einer Nachricht, eine Entschlüsselung einer Nachricht, eine Signaturerzeugung aus einer Nachricht oder eine Signatur-Verifikationsberechnung aus einer Nachricht ausgeführt wird, dadurch gekennzeichnet, dass – die Charakteristik p ein Hamming-Gewicht ≤ 4 aufweist, und – der Erweiterungskörper K in polynomieller Darstellung ein irreduzibles Polynom F(X) = Xd – 2 vom Grad d besitzt.
  2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, dass die Charakteristik p ein Hamming-Gewicht von 3 aufweist.
  3. Verfahren nach Anspruch 2, dadurch gekennzeichnet, dass die Charakteristik p = 2n ± 2m ± 1 gewählt wird, wobei n und m natürliche Zahlen sind.
  4. Verfahren nach einem der Ansprüche 1 bis 3, dadurch gekennzeichnet, dass der Grad d des irreduziblen Polynoms eine Primzahl ist.
  5. Verfahren nach einem der Ansprüche 1 bis 4, dadurch gekennzeichnet, dass die elliptische Kurve durch y2 = x3 + ax + b mit 4a3 + 27b2 ≠ 0 gegeben ist.
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass die elliptische Kurve eine Koblitz Kurve ist.
  7. Verfahren nach Anspruch 6, dadurch gekennzeichnet, dass die Skalarmultiplikation mittels eines Frobenius Endomorphismus in einer Potenzreihendarstellung des Skalars durchgeführt wird.
  8. Verfahren nach Anspruch 7, dadurch gekennzeichnet, dass die Potenzen der Potenzreihe zuvor berechnet und abgespeichert werden.
  9. Verfahren nach einem der Ansprüche 1 bis 8, dadurch gekennzeichnet, dass die Bitlänge der Charakteristik p und der Grad d an den Prozessor, auf dem die Skalarmultiplikation ausgeführt wird, angepasst ist.
  10. Verfahren nach Anspruch 9, dadurch gekennzeichnet, dass die Charakteristik p und der Grad d so gewählt wird, dass die für die Busbreite des Prozessors bereitgestellten Arithmetikoperationen direkt für die Skalarmultiplikation verwendet werden können.
  11. Verfahren nach Anspruch 9 oder 10, dadurch gekennzeichnet, dass die Charakteristik p und der Grad d so gewählt wird, dass alle Koeffizienten von Zwischenprodukte einer modularen Multiplikation über den Erweiterungskörper ohne Überlauf in einem der Register des Prozessors gespeichert werden können.
  12. Verfahren nach einem der vorigen Ansprüche, dadurch gekennzeichnet, dass Teile der Rechenoperationen der Skalarmultiplikation mittels eines Streaming Single Instruction Multiple Data Extention Befehlssatzes parallel ausgeführt werden.
  13. Verwendung des Verfahren gemäß einem der vorigen Ansprüche in einer asymmetrischen Kryptographieanwendung.
DE102005041102A 2005-08-30 2005-08-30 Verfahren zur Skalarmultiplikation von Punkten auf einer elliptischen Kurve Withdrawn DE102005041102A1 (de)

Priority Applications (5)

Application Number Priority Date Filing Date Title
DE102005041102A DE102005041102A1 (de) 2005-08-30 2005-08-30 Verfahren zur Skalarmultiplikation von Punkten auf einer elliptischen Kurve
US11/991,181 US20090136025A1 (en) 2005-08-30 2006-07-11 Method for scalarly multiplying points on an elliptic curve
CNA2006800318338A CN101253473A (zh) 2005-08-30 2006-07-11 用于对椭圆弧上的点进行标量乘法的方法
PCT/EP2006/064099 WO2007025796A1 (de) 2005-08-30 2006-07-11 Verfahren zur skalarmultiplikation von punkten auf einer elliptischen kurve
EP06777699A EP1920323A1 (de) 2005-08-30 2006-07-11 Verfahren zur skalarmultiplikation von punkten auf einer elliptischen kurve

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102005041102A DE102005041102A1 (de) 2005-08-30 2005-08-30 Verfahren zur Skalarmultiplikation von Punkten auf einer elliptischen Kurve

Publications (1)

Publication Number Publication Date
DE102005041102A1 true DE102005041102A1 (de) 2007-03-15

Family

ID=37087755

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102005041102A Withdrawn DE102005041102A1 (de) 2005-08-30 2005-08-30 Verfahren zur Skalarmultiplikation von Punkten auf einer elliptischen Kurve

Country Status (5)

Country Link
US (1) US20090136025A1 (de)
EP (1) EP1920323A1 (de)
CN (1) CN101253473A (de)
DE (1) DE102005041102A1 (de)
WO (1) WO2007025796A1 (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101527867B1 (ko) * 2007-07-11 2015-06-10 삼성전자주식회사 타원 곡선 암호 시스템에 대한 부채널 공격에 대응하는방법
US7991162B2 (en) 2007-09-14 2011-08-02 University Of Ottawa Accelerating scalar multiplication on elliptic curve cryptosystems over prime fields
EP2090978A1 (de) * 2008-02-15 2009-08-19 Thomson Licensing Vorrichtung und Verfahren zur Berechnung einer Punktmultiplikation auf einer elliptischen Kurve
WO2010024401A1 (ja) * 2008-08-29 2010-03-04 国立大学法人岡山大学 ペアリング演算装置、ペアリング演算方法、及びペアリング演算プログラム
DE102008046291B4 (de) * 2008-09-08 2012-02-23 Siemens Aktiengesellschaft Effiziente Speicherung kryptographischer Parameter
US8139765B2 (en) * 2008-12-29 2012-03-20 King Fahd University Of Petroleum & Minerals Elliptical polynomial-based message authentication code
US10270598B2 (en) 2016-08-26 2019-04-23 Intel Corporation Secure elliptic curve cryptography instructions
WO2018135511A1 (ja) * 2017-01-18 2018-07-26 日本電信電話株式会社 秘密計算方法、秘密計算システム、秘密計算装置、およびプログラム
US11303456B2 (en) 2019-02-15 2022-04-12 International Business Machines Corporation Compute digital signature authentication sign instruction
US11075763B2 (en) 2019-02-15 2021-07-27 International Business Machines Corporation Compute digital signature authentication sign with encrypted key instruction
US11108567B2 (en) 2019-02-15 2021-08-31 International Business Machines Corporation Compute digital signature authentication verify instruction

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7069287B2 (en) * 2000-09-19 2006-06-27 Worcester Polytechnic Institute Method for efficient computation of odd characteristic extension fields
GB2389678A (en) * 2002-06-14 2003-12-17 Univ Sheffield Finite field processor reconfigurable for varying sizes of field.
US7680268B2 (en) * 2005-03-15 2010-03-16 Microsoft Corporation Elliptic curve point octupling using single instruction multiple data processing

Also Published As

Publication number Publication date
EP1920323A1 (de) 2008-05-14
US20090136025A1 (en) 2009-05-28
WO2007025796A1 (de) 2007-03-08
CN101253473A (zh) 2008-08-27

Similar Documents

Publication Publication Date Title
DE102005041102A1 (de) Verfahren zur Skalarmultiplikation von Punkten auf einer elliptischen Kurve
DE102012202015B4 (de) Vorrichtung und Verfahren zum Schützen einer Referenzzahl gegen darauf gerichtete Differential Power Analyse-Angriffe und Template-Angriffe
DE69917592T2 (de) Gegen stromverbrauchsignaturanfall beständige kryptographie
DE102006022960B9 (de) Verfahren zum Verschlüsseln von Eingabedaten, kryptographisches System und Computerprogrammprodukt
DE102020102453A1 (de) Integrierte Schaltung zum modularen Multiplizieren von zwei ganzen Zahlen für ein kryptographisches Verfahren und Verfahren zur kryptographischen Verarbeitung von Daten basierend auf modularer Multiplikation
DE112007001319T5 (de) Multiplizieren zweier Zahlen
EP1922837B1 (de) Verfahren zum sicheren ver- oder entschlüsseln einer nachricht
EP2771782A1 (de) Effiziente primzahlprüfung
DE60204955T2 (de) Gegenmassnahmen in einem elektronischen baustein zur ausführung eines krypto-algorithmus mit auf elliptischen kurven basierendem öffentlichen schlüssel
DE102008051447B9 (de) Verfahren und Vorrichtung zum Schützen einer RSA-Berechnung an einer Ausgabe mit Hilfe des chinesischen Restsatzes
DE10219158B4 (de) Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer modularen Multiplikation
EP1370933B1 (de) Verfahren und vorrichtung zum modularen multiplizieren
DE102006025713B9 (de) Kryptographie-Vorrichtung und Kryptographie-Verfahren zum Berechnen eines Ergebnisses einer modularen Multiplikation
DE10151129B4 (de) Verfahren und Vorrichtung zum Berechnen eines Ergebnisses einer Exponentiation in einer Kryptographieschaltung
DE102006025677B4 (de) Vorrichtung und Verfahren zum Berechnen eines Ergebnisses einer Summe mit einem Rechenwerk mit begrenzter Wortlänge
DE102006013989A1 (de) Verfahren zur Reduktion eines Polynoms in einem binären finiten Feld
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
DE10219164B4 (de) Vorrichtung und Verfahren zum Berechnen eines ganzzahligen Quotienten
EP1518165B1 (de) Berechnung eines vielfachen eines gruppenelements für kryptographische zwecke
DE102012210354B3 (de) Verfahren und Recheneinheit zur Erzeugung kryptographischer Daten
DE10329885B4 (de) Verfahren zur Konstruktion elliptischer Kurven über endlichen Körpern
WO2007006649A1 (de) Verfahren zur seitenkanalangriffsresistenten vervielfachung
DE102022201745A1 (de) Schnelle vorberechnung für montgomery- multiplikator
DE102011100390A1 (de) Beschleunigte kryptographische Berechnung, insbesondere ECC-Berechnung, in Prozessor mit Montgomery-Koprozessor

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
R002 Refusal decision in examination/registration proceedings
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20120301