DE10057203C1 - Verfahren zur Berechnung eines digitalen Signalwertes für ein cryptographisches Verfahren - Google Patents

Verfahren zur Berechnung eines digitalen Signalwertes für ein cryptographisches Verfahren

Info

Publication number
DE10057203C1
DE10057203C1 DE2000157203 DE10057203A DE10057203C1 DE 10057203 C1 DE10057203 C1 DE 10057203C1 DE 2000157203 DE2000157203 DE 2000157203 DE 10057203 A DE10057203 A DE 10057203A DE 10057203 C1 DE10057203 C1 DE 10057203C1
Authority
DE
Germany
Prior art keywords
natural number
scalar product
calculated
values
calculation method
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 - Fee Related
Application number
DE2000157203
Other languages
English (en)
Inventor
Rainer Bluemel
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.)
CV CRYPTOVISION GmbH
Original Assignee
CV CRYPTOVISION GmbH
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 CV CRYPTOVISION GmbH filed Critical CV CRYPTOVISION GmbH
Priority to DE2000157203 priority Critical patent/DE10057203C1/de
Application granted granted Critical
Publication of DE10057203C1 publication Critical patent/DE10057203C1/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/60Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers
    • G06F7/72Methods or arrangements for performing computations using a digital non-denominational number representation, i.e. number representation without radix; Computing devices using combinations of denominational and non-denominational quantity representations, e.g. using difunction pulse trains, STEELE computers, phase computers using residue arithmetic
    • G06F7/724Finite field arithmetic
    • G06F7/725Finite field arithmetic over elliptic curves
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7261Uniform execution, e.g. avoiding jumps, or using formulae with the same power profile

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

Für eine sichere Kommunikation ist darauf abzustellen, daß die Rechnung mit geheimzuhaltenden Schlüsseln auf der Smart-Card nicht von außen mitgelesen werden kann. Hierzu wird erfindungsgemäß eine Vorrichtung vorgeschlagen, die die Berechnung gegen ein Auslesen abschirmt. Ebenfalls wird ein überaus schnelles Berechnungsverfahren für elliptische Kurven vorgestellt, das die Berechnung vor einem Mitlesen von außen abschirmt.

Description

Die Erfindung betrifft ein Verfahren zur Berechnung eines digitalen Signalwertes für ein cryptographisches Verfahren, insbesondere für ein cryptographisches Verfahren mit öffentlichen Schlüsseln, das mit elliptischen Kurven über endlichen Körpern ar­ beitet.
Das Konzept der Cryptographie mit öffentlichen Schlüsseln beruht auf zwei Schlüs­ seln, von denen einer dem Kommunikationspartner bekannt sein muß. Dies ist der so­ genannte öffentliche Schlüssel. Der entsprechende zweite Schlüssel, der sogenannte private Schlüssel, ist geheim zu halten. Zur Verschlüsselung wird der Klartext mit dem öffentlichen Schlüssel des Empfängers zu einer Nachricht so verknüpft, daß ein Chiffretext entsteht. Aus dem Chiffretext kann der Klartext nur unter Verwendung des privaten Schlüssels des Nachrichtenempfängers zurückgewonnen werden. Beispiels­ weise übermittelt eine Person A ihren öffentlichen Schlüssel an eine Person B. B ver­ schlüsselt eine Nachricht mit diesem öffentlichen Schlüssel und sendet den entstande­ nen Chiffretext an A. Den empfangenen Chiffretext kann nun A mit seinem privaten Schlüssel dechiffrieren. Das allgemeine Konzept der Verschlüsselung mit öffentlichen Schlüsseln geht auf einen Vorschlag von Diffie und Hellman aus dem Jahr 1976 zu­ rück.
Neben der Verwendung des Schlüsselpaares zum Verschlüsseln von Nachrichten kann das Schlüsselpaar aus öffentlichem und privatem Schlüssel auch als digitale Signatur verwendet werden. Eine einfache Ausführung einer digitalen Signatur besteht darin, daß die Rolle von öffentlichem und privatem Schlüssel vertauscht wird. A versieht eine Nachricht bzw. deren Hash-Wert mit seinem privaten Schlüssel, B kann nach Er­ halt der Nachricht mit dem öffentlichen Schlüssel von A überprüfen, ob die Nachricht mit dem privaten Schlüssel von A unterschrieben wurde. Hierbei muß selbstverständ­ lich gewährleistet sein, daß der private Schlüssel nicht rekonstruiert werden kann.
Wichtige Voraussetzung bei der Verwendung von cryptographischen Verfahren mit öffentlichen Schlüsseln ist die Geheimhaltung des privaten Schlüssels. Denn für eine sichere Kommunikation ist es zum Austausch von Nachrichten gerade erforderlich, daß das Verschlüsselungsverfahren und die dabei verwendeten Größen allgemein bekannt sind, so daß die Sicherheit einzig und allein auf der Unkenntnis des privaten Schlüssels beruht.
Eine zentrale Operation bei der Verwendung von cryptographischen Verfahren mit öf­ fentlichen Schlüsseln ist das Potenzieren von natürlichen Zahlen. Beispielsweise ver­ wenden das als RSA verbreitete Verfahren von R. L. Rivest, A. Shamier und L. Adle­ man aus dem Jahre 1978 und das von El Gamal vorgeschlagene Verfahren aus dem Jahre 1985 das Potenzieren mit sehr großen natürlichen Zahlen zur Ver- und Ent­ schlüsselung.
Neben der Verwendung von natürlichen Zahlen modulo einer Primzahl, die sich als Elemente von endlichen Primkörpern auffassen lassen, hat es sich bewährt, die Punkte elliptischer Kurven über endlichen Körpern zu betrachten; diese Punkte sind Lösungen einer Gleichung. Von besonderem Interesse sind hierbei die Galois-Felder GF (p), wobei p eine große Primzahl ist, und GF(2^k). Der Vorteil bei der Verwendung ellip­ tischer Kurven über endlichen Körpern liegt darin, daß für vergleichbare cryptographi­ sche Sicherheit mit deutlich kürzeren Schlüsseln gearbeitet werden kann; dies hat dann im allgemeinen deutlich kürzere Rechenzeiten zur Folge. Speziell für GF(2^k) ist eine weitere Beschleunigung durch spezifische Hardware, etwa Schieberegister mit Linearrückkopplung, möglich.
Mathematisch handelt es sich bei einer elliptischen Kurve um eine kommutative Gruppe, dazu wird zu den Lösungspunkten der Gleichung ein zusätzlicher Punkt, das neutrale Element der Addition, hinzugenommen. Bei dem Rechnen mit Punkten auf einer elliptischen Kurve ist zwischen der Addition zweier verschiedener Punkte und der Verdopplung eines Punktes zu unterscheiden, da sie durch unterschiedliche Ver­ fahren realisiert werden. Unter einer skalaren Multiplikation wird eine mehrfache Ad­ dition eines Punktes der elliptischen Kurve zu sich selbst verstanden.
Als grobe Regel kann festgehalten werden, daß in einem cryptographischen Verfahren bei der Verwendung von Punkten einer elliptischen Kurve die skalare Multiplikation an die Stelle des Potenzieren von natürlichen Zahlen tritt.
Aus Vorstehendem ergibt sich, daß für die zentralen Operationen bei cryptographi­ schen Verfahren mit öffentlichen Schlüsseln, die Berechnungen schnell und vor An­ griffen sicher auszuführen sind.
Ein möglicher Angriff gegen eine Vorrichtung ist die sogenannte Power-Attack. Bei diesem Angriff versucht der Angreifer Kenntnisse vom Geheimnis, insbesondere vom privaten Schlüssel, zu erlangen, indem er Strom- und/oder Leistungsaufnahme wäh­ rend der Berechnung einer Signatur oder der Ver- bzw. Entschlüsselung aufzeichnet. Die Strom- und/oder Leistungsaufnahme der Vorrichtung geben Aufschluß über die durchgeführten Operationen, die Rückschlüsse auf die Operanden zulassen. Mit Hilfe des Programmcodes ist der Angreifer dann in der Lage, Teile der verwendeten Zahlen und Daten zu entschlüsseln.
Als Gegenmaßnahme zur Abwehr dieser Power-Attacken wurde vorgeschlagen, einen Programmcode zu verwenden, der zufällige und nicht zur Berechnung notwendige Be­ fehle ausführt. So können beispielsweise mehrfache Sprungbefehle auftreten, die un­ abhängig von den geheim zu haltenden Werten die relevanten Befehle verschleiern, so daß die bei einer Power-Attack gemessenen Signale keine Information über die ge­ heimzuhaltenden Größen liefern. Nachteilig an diesem Verfahren ist jedoch, daß hier­ durch die Berechnung verlangsamt wird. Für eine akzeptable Antwortzeit des Systems müssen also kürzere Schlüssel verwendet werden, so daß hierdurch die Sicherheit vermindert wird.
Soll die Verwendung von kurzen Schlüsseln vermieden werden, so ist aus US-Patent US 5,999,627 ein schnelles Verfahren zum Exponentieren für cryptographische Ver­ fahren mit öffentlichen Schlüsseln bekannt. Bei diesem Verfahren werden Werte vor­ berechnet und in einem Speicher abgelegt. Das Ergebnis ergibt sich durch ein Berech­ nen von Produkten der im Speicher abgelegten Werte. Umgesetzt wird das Verfahren, indem beginnend mit einem Startwert, abwechselnd dieser Wert mit einem vorberech­ neten Wert multipliziert und anschließend der so erhaltene Wert quadriert wird. Um das Verfahren möglichst effizient ablaufen zu lassen, wird im Verfahren nach US 5,999,627 möglichst häufig mit dem neutralen Element multipliziert, da solche Ope­ rationen nicht durchgeführt werden müssen.
Eine Übertragung des Verfahrens auf elliptische Kurven ist möglich, dabei ersetzt die Addition von Punkten die Multiplikation beim Verfahren nach US 5,999,627. Jedoch sind die Algorithmen für Verdopplung bzw. Addition zweier Punkte auf einer ellipti­ schen Kurve so unterschiedlich, dass aus Power Attack Messungen geschlossen wer­ den kann, ob addiert oder verdoppelt wurde. Dadurch wird der geheimzuhaltende skalare Multiplikator in Teilen für den Angreifer zugänglich. Eine Abschätzung ergibt, daß bei der Verwendung des Verfahrens nach US 5,999,627 ungefähr 25% der Binär­ stellen der geheimzuhaltenden Zahl durch eine einzige Power-Attack zugänglich ist. Der Geschwindigkeitsvorteil der sich aus der möglichst häufigen Addition mit dem neutralen Element ergibt, wird somit zu einem wesentlichen Sicherheitsproblem.
Aus EP 0 874 307 ist ein Verfahren zur beschleunigten Multiplikation eines Punktes einer elliptischen Kurve mit einer natürlichen Zahl k bekannt. Hierbei wird die Zahl k als Binärvektor in einem Register gespeichert. Abhängig davon, ob eine Binärstelle den Wert Null oder Eins aufweist, werden die Koordinaten des Punktes P addiert oder multipliziert. Bei dem Einsatz für cryptographische Verfahren ist hierbei nachteilig, daß abhängig von den geheimzuhaltenden Zahlen bei der Berechnung verzweigt wird, so daß diese für einen Angreifer zugänglich ist.
Aus EP 1 014 617 ist ein Verfahren zur Berechnung eines Skalarprodukts auf einer el­ liptischen Kurve bekannt. Auch bei diesem Verfahren wird in Abhängigkeit der Bi­ närdarstellung eines Multiplikators verzweigt, so daß auch dieses Verfahren keine si­ chere Berechnung mit geheimzuhaltenden Größen erlaubt.
Der Erfindung liegt die Aufgabe zugrunde ein Verfahren bereitzustellen, das eine schnelle und sichere Berechnung von geheimzuhaltenden Größen erlaubt.
Die erfindungsgemäße Aufgabe wird durch ein Verfahren zur Berechnung eines digi­ talen Signalwertes für ein cryptographisches Verfahren mit Hilfe eines elektronischen Rechners gelöst. Das erfindungsgemäße Verfahren ist bei der Verwendung von digi­ talen Größen B von Vorteil, die sich als Punkte einer elliptischen Kurve über einem endlichen Körper darstellen lassen. Das Verfahren berechnet die Größe rB, also das skalare Produkt aus einem Basispunkt B und einer natürlichen Zahl r, bei einer da­ tenunabhängigen Strom- und/oder Leistungsaufnahme. Der Programmablauf kann so­ mit als execution invariant angesehen werden, denn die Reihenfolge der einzelnen ablaufenden Schritte hängt nicht von den geheimzuhaltenden Daten ab. Hierbei sei (n-1, n-2, . . ., 0) die Binärdarstellung der natürlichen Zahl r mit einer Bitlänge n. Ferner sei h eine natürliche Zahl mit 1 ≦ h < n, bevorzugt eine kleine Zahl zwischen 2 und 8. Es sei a die kleinste natürliche Zahl mit ha ≦ n, wobei durch Auffüllen von r mit führenden Nullen erreicht wird, daß ha = n ist.
In einem ersten Verfahrensschritt werden 2h-Werte vorberechnet und in einem Feld C [f] in einem Speicher abgespeichert. Hierbei sei (h-1, h-2, . . ., 0) die Binärdarstel­ lung von f. Die vorberechneten Werte des Feldes C[f] werden alle Werte von f mit 0 ≦ f < 2h berechnet:
Hierbei steht "⊕" für die Gruppenaddition der Punkte auf der elliptischen Kurve.
In einem zweiten Verfahrensschritt werden a-Werte gj mit 0 ≦ j < a berechnet:
Beim dritten Verfahrensschritt wird die Größe D berechnet:
Die zu berechnende Größe rB ergibt sich zu
Aus der Definition des Feldes C wird deutlich, daß das Gruppenelement B stets unab­ hängig von den Werten f hinzu addiert wird. Die Addition des Elements B zu jedem Wert in dem Feld C bewirkt, daß bei Ausführung des Produkts rB zusätzlich der Wert D addiert wird, der nachfolgend wieder subtrahiert werden muß. Für die Subtraktion des Wertes D, also für die Addition des inversen Elements von D, steht das Zeichen "⊖". Indem stets das Element B hinzu addiert ist, wird im Laufe der Berechnung beim Zugriff auf das Feld C niemals das neutrale Element verwendet. Das vorgestellte Ver­ fahren ist somit vor der oben beschriebenen Power-Attack sicher, denn aus der immer gleichen Reihenfolge von Addition und Verdoppelung kann nicht auf den geheimzu­ haltenden Zahlenwert geschlossen werden. Selbstverständlich kann das erfindungsge­ mäße Verfahren auch mit Elementen anderer kommutativer Gruppen, bevorzugt auch mit hyperelliptischen Kurven, durchgeführt werden.
Wird das erfindungsgemäße Verfahren auf einer Smart-Card implementiert, so ent­ steht eine gegen Power-Attacks sichere Vorrichtung, die beispielsweise für digitale Signaturen verwendet werden kann.
Ein weiterer besonderer Vorteil des erfindungsgemäßen Verfahrens liegt darin, daß sich die Berechnung der Größe Z = rB in einfacher Weise durch folgende Schleife realisieren läßt:
Z = C[ga-1];
for (j = a - 2; j < = 1; j--)
{
Z = Z ⊕ Z;
Z = Z ⊕ C[gj];
}
Z = Z ⊕ Z;
Z = Z ⊖ D;
Z = Z ⊕ C [g0].
Zusammenfassend verdeutlicht auch der vorstehende Pseudocode die wichtigsten Aspekte des Zusammenspiels:
  • - Die Berechnung der Werte g[i] darf nicht nach außen dringen. Auf Hardwareebene wird dies durch einen Abhörschutz des Datenbus realisiert, die Software unter­ stützt es durch "execution invariante" Programmierung, wie der vorstehende Pseu­ docode mit seiner abwechselnden Addition und Verdoppelung zeigt.
  • - Sowohl Addition als auch Verdopplung darf nicht mit im Voraus oder im Nach­ hinein mit zu bestimmenden modularen Rechenoperationen korrelieren. Dies wird durch das erfindungsgemäße Verfahren realisiert, indem r zufällig gewählt wird.
  • - Aus einer einzelnen elementaren Operation (insbesondere modulare Multiplika­ tion) darf auf keine der verwendeten Operanden rückgeschlossen werden. Diese muß durch die Hardware sichergestellt werden und ist Grundvoraussetzung für den sicheren Einsatz eines cryptographischen Verfahrens.
Da ein Angriff recht unproblematisch möglich ist, falls der Datenbus abgehört werden kann, kommen als geeignete Mikrokontroller nur solche in Frage, bei denen der Da­ tenbus nur innerhalb des Chips zugänglich ist; im wesentlichen handelt es sich dabei um die Smartcardprozessoren. Des weiteren ist aus Sicherheits- und Geschwindig­ keitsgründen ein cryptographischer Koprozessor sinnvoll, der die modulare Arithmetik durchführt. Es ist allerdings durchaus möglich, solche Prozessoren mit gleichen Si­ cherheitsvorkehrungen auch außerhalb von Smartcards zu verwenden.
Nachfolgend wird ein cryptographisches Verfahren mit öffentlichen Schlüsseln basie­ rend auf elliptischen Kurven erläutert: Beiden Benutzern A und B ist eine elliptische Kurve E und ein Basispunkt F auf dieser Kurve bekannt. Um einen geheimen Schlüs­ sel zu erzeugen, wählt ein Benutzer A eine natürliche Zahl v zufällig aus, wobei v groß ist. Der Benutzer A berechnet vF Element aus E. Das Ergebnis vF wird bekannt gemacht, während die Zahl v geheimgehalten wird. Ein zweiter Benutzer B wählt ein zufälliges w und veröffentlicht das Ergebnis wF Element aus E. Beide Benutzer sind in der Lage, einen geheimen Schlüssel P = vwF Element E zu berechnen, denn v(wF) = w(vF). Da v und w geheimgehalten werden, müßte ein Angreifer aus vF und wF die Zahlen v und/oder w berechnen. Dies wird als das Problem des sogenannten diskreten Logarithmus bezeichnet und gilt als sehr schwierig zu lösen. Durch den Schutz der Smart-Card vor Power-Attacks wird die Berechnung der Produkte vF und vwF vor Angriffen geschützt. Da nun A und B ein gemeinsamer Schlüssel bekannt ist, können verschlüsselte Daten ausgetauscht werden.
Für die Signatur kommt üblicherweise ein mit "ECDSA" bezeichnetes Verfahren zum Einsatz:
Es sei p eine Primzahl, die elliptische Kurve sei über GF(p) definiert;
n sei die Ordnung der vom Basispunkt der elliptischen Kurve erzeugten Untergruppe (für cryptographische Anwendungen werden meist elliptische Kurven verwendet, die nur eine nichttriviale Untergruppe haben. In diesen Fällen ist n gleich der Anzahl der Elemente der elliptischen Kurve und hat damit bis auf max. eine Stelle Differenz die gleiche Bitlänge wie p, vgl. Theorem von Hasse-Weil);
d sei der private Schlüssel.
Das Verfahren besitzt die folgenden Schritte:
  • 1. Bestimme den Hashwert m einer zu signierenden Nachricht,
  • 2. bestimme k als eine Zufallszahl mit 1 < k < n - 1,
  • 3. bestimme x- und y-Koordinaten (x, y) von G = kB, wobei B wie vorher der Ba­ sispunkt ist,
  • 4. r = x mod n und
  • 5. s = (m + dr)/k mod n, wobei die Signatur aus dem Paar (r, s) besteht.
Zum Entschlüsseln wird der öffentliche Punkt Q = dB benötigt. Im wesentlichen ist die Gleichung
(x, y) = ((m/s)P + (r/s)Q) (die skalaren Operationen (m/s und r/s) sind mod n zu ver­ stehen).
Die Signatur ist korrekt, falls x = r mod n ist.
Das erfindungsgemäße Verfahren kommt in Schritt 3 zum Einsatz.
Ein Beispiel dient zur Verdeutlichung des Verfahrens mit kleinen Zahlen:
h = 3
n = 17
==< a = 6 (und ah = 18)
Im Feld C stehen die Werte
C[0] = B
C[1] = 2B
C[2] = (2^6 + 1)B = 65B
C[3] = (2^6 + 2)B = 66B
C[4] = (2^12 + 1)B = 4097B
C[5] = (2^12 + 2)B = 4098B
C[6] = (2^12 + 2^6 + 1)B = 4161B
C[7] = (2^12 + 2^6 + 2)B = 4162B
D berechnet sich zu
D = (2^6 - 1) = 63B
Der (zufällige) Multiplikator r in Binärdarstellung (original mit 17 Bit):
r = 01110010101100111
ergänzt mit führenden Nullen (ah Bitstellen)
r = 001110000101100111 = 001110 000101 100111 = 14.2^12 + 5.2^6 + 39 = 57344 + 320 + 39 = 57703
r wird in 3 Gruppen aufgeteilt, die die g[i] ergeben, wobei jeweils die (i + 1)-ten Stellen der drei Blöcke zusammen die 3 Bit der g[i] ergeben:
001 ==< g[5] = 1
000 ==< g[4] = 0
100 ==< g[3] = 4
111 ==< g[2] = 7
101 ==< g[1] = 5
011 ==< g[0] = 3
Der Rechenablauf ergibt nun die Zwischenschritte:
Z: = C[1] = 2B
Z: = Z + Z = 4B
Z: = Z + C[0] = 4B + B = 5B
Z: = Z + Z = 10B
Z: = Z + C[4] = 10B + 4097B = 4107B
Z: = Z + Z = 8214B
Z: = Z + C[7] = 8214B + 4162B = 12376B
Z: = Z + Z = 24752
Z: = Z + C[5] = 24752B + 4098B = 28850B
Z: = Z + Z = 57700B
Z: = Z - D = 57700B - 63B = 57637B
Z: = Z + C[3] = 57638B + 66B = 57703B
Damit das Verfahren ordnungsgemäß ablaufen kann, ist an r eine Bedingung zu stel­ len:
Es darf nicht gleichzeitig g[a - 1] = 0 und g[a - 2] = 1 sein, denn dann würde bei der ersten Addition 2B zu 2B addiert.
Eine Vorrichtung zur Durchführung des Verfahrens besitzt eine zentrale Prozessorein­ heit, einen Speicher, eine Datenausgabe sowie elektrische Kontakte zum Anlegen ei­ ner Versorgungsspannung. Die Prozessoreinheit lädt ansprechend auf ein Startsignal zwei binäre Signalfolgen sowie ein Programm zur Berechnung des digitalen Signal­ werts aus den zwei Bitfolgen in die Prozessoreinheit und führt das geladene Programm zur Berechnung von K aus derart, daß von außen lediglich ein im wesentlichen von den geheimzuhaltenden Daten unabhängiger Wert für die Strom- und Leistungsauf­ nahme feststellbar ist. Es wird mit dem erfindungsgemäßen Verfahren erreicht, daß die Stromaufnahme während der relevanten Berechnungen, also insbesondere Addition und Verdoppelung von Punkten auf der elliptischen Kurve, keine Korrelation zu dem geheimzuhaltenden skalaren Faktor aufweist. Durch das Zusammenspiel von Prozes­ soreinheit und geladenem Programm während der Berechnung mit dem geheimzuhal­ tenden Wert bleiben die in der Prozessoreinheit ablaufenden Befehlsfolgen mit ihren Daten von außen verborgen.
In einer möglichen Ausgestaltung sind zentrale Prozessoreinheit und Speicher in einen einzigen Chip integriert. Die gesamte Vorrichtung kann als eine Smart-Card ausge­ führt, die über externe Kontakte mit Spannung versorgt wird. Für gewöhnlich besitzt eine Smart-Card einen 8-Bit-Mikroprozessor, der mit ungefähr 1280 Byte RAM und ungefähr 32 kByte ROM und entweder mit einem EPROM oder einem EEPROM und mit einer Crypto engine zur schnellen Berechnung von modulo-Multiplikationen aus­ geführt ist. Selbstverständlich können Smart-Cards auch mit anderen Kapazitäten verwendet werden. Die Stromversorgung der Smart-Card erfolgt über das Einstecken in das Lesegerät. Die geheime Berechnung von digitalen Größen ist bei Smart-Cards von besonderer Bedeutung, denn in der Regel unterliegen die Lesegeräte nicht der Kontrolle des Kartenbesitzers und können daher von Dritten für Angriffe genutzt wer­ den, wobei die Power-Attack als zerstörungsfreier Angriff auf die Karte zudem belie­ big oft wiederholt werden kann.
Im Speicher der Smart-Card sind ein oder mehrere Programme zur Ver- oder Ent­ schlüsselung von digitalen Daten und/oder zum Signieren digitaler Daten nach einem oder mehreren cryptographischen Verfahren abgelegt, die auf Daten in dem Speicher zugreifen. Das geladene Programm führt die skalare Multiplikation eines Punktes ei­ ner elliptischen Kurve mit einer natürlichen Zahl aus.

Claims (2)

1. Verfahren zur Berechnung eines Skalarprodukts aus einer natürlichen Zahl r und einem Punkt B einer elliptischen Kurve für eine cryptographische Anwendung, bei dem durch einen elektronischen Rechner mit einem Prozessor das Skalarprodukt bei im wesentlichen datenunabhängiger Strom- und/oder Leistungsaufnahme des Prozessors berechnet wird, gekennzeichnet durch die folgenden Verfahrens­ schritte:
  • - es sei (n-1, n-2, . . ., 0) die Binärdarstellung der natürlichen Zahl r, es sei h eine natürliche Zahl mit 1 ≦ h < n und es sei a eine natürliche Zahl mit ha = n, wobei hierzu r mit führenden Nullen aufgefüllt ist,
  • - in einem ersten Verfahrensschritt werden insgesamt 2h-Werte berechnet und in einem Feld C[f] abgespeichert, wobei (h-1, h-2, . . ., 0) die Binär­ darstellung von f sei und die Werte des Feldes C[f] für alle Werte von f mit 0 ≦ f < 2h berechnet werden:
  • - in einem zweiten Verfahrensschritt werden insgesamt a-Größen gj mit 0 ≦ j < a berechnet mit folgenden Werten:
  • - in einem dritten Verfahrensschritt wird ein Element D berechnet:
  • - in einem vierten Verfahrensschritt ergibt sich das zu berechnende Skalar­ produkt rB für das cryptographische Verfahren zu
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß das Verfahren auf einem Mikroprozessor einer Smart-Card abläuft.
DE2000157203 2000-11-17 2000-11-17 Verfahren zur Berechnung eines digitalen Signalwertes für ein cryptographisches Verfahren Expired - Fee Related DE10057203C1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE2000157203 DE10057203C1 (de) 2000-11-17 2000-11-17 Verfahren zur Berechnung eines digitalen Signalwertes für ein cryptographisches Verfahren

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE2000157203 DE10057203C1 (de) 2000-11-17 2000-11-17 Verfahren zur Berechnung eines digitalen Signalwertes für ein cryptographisches Verfahren

Publications (1)

Publication Number Publication Date
DE10057203C1 true DE10057203C1 (de) 2002-06-06

Family

ID=7663758

Family Applications (1)

Application Number Title Priority Date Filing Date
DE2000157203 Expired - Fee Related DE10057203C1 (de) 2000-11-17 2000-11-17 Verfahren zur Berechnung eines digitalen Signalwertes für ein cryptographisches Verfahren

Country Status (1)

Country Link
DE (1) DE10057203C1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004079986A1 (en) * 2003-03-04 2004-09-16 International Business Machines Corporation Long-term secure digital signatures
WO2004112306A2 (en) * 2003-06-12 2004-12-23 Philips Intellectual Property & Standards Gmbh Method for defence against differential power analysis attacks

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0874307A1 (de) * 1997-03-25 1998-10-28 Certicom Corp. Beschleunigte Begrenztes-Feld-Operationen auf einer elliptischen Kurve
JPH11316542A (ja) * 1998-03-05 1999-11-16 Matsushita Electric Ind Co Ltd 楕円曲線変換装置、利用装置及び利用システム
US5999627A (en) * 1995-01-07 1999-12-07 Samsung Electronics Co., Ltd. Method for exponentiation in a public-key cryptosystem
EP1014617A2 (de) * 1998-12-22 2000-06-28 Hitachi, Ltd. Verfahren und Vorrichtung zur Kryptographie mittels elliptischer Kurven und Aufzeichnungsmedium hierzu

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5999627A (en) * 1995-01-07 1999-12-07 Samsung Electronics Co., Ltd. Method for exponentiation in a public-key cryptosystem
EP0874307A1 (de) * 1997-03-25 1998-10-28 Certicom Corp. Beschleunigte Begrenztes-Feld-Operationen auf einer elliptischen Kurve
JPH11316542A (ja) * 1998-03-05 1999-11-16 Matsushita Electric Ind Co Ltd 楕円曲線変換装置、利用装置及び利用システム
EP1014617A2 (de) * 1998-12-22 2000-06-28 Hitachi, Ltd. Verfahren und Vorrichtung zur Kryptographie mittels elliptischer Kurven und Aufzeichnungsmedium hierzu

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
GUAJARDO, J. u.a.: Efficient implementation of elliptic curve cryptosystems on the TI MSP 430x 33x family of microcontrollers, In: Lecture Notes in Computer Science 1992, S. 365 ff *
JOYE, M. u.a.: Compact encoding of non-adjacent forms with applications to elliptic curve cryptography, In: Lecture Notes in Computer Science 1992, S. 353 ff. *
KOBAYASHI, T. u.a.: Fast elliptic curve algorithm combining frobenius map and table reference to adapt to higher characteristic, In: Lecture Notes in Computer Science 1999 *
RANKL, W., EFFING, W.: Handbuch der Chipkarten, München, Carl Hanser Verlag, 1995, S. 12-14 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004079986A1 (en) * 2003-03-04 2004-09-16 International Business Machines Corporation Long-term secure digital signatures
CN1717896B (zh) * 2003-03-04 2010-06-30 国际商业机器公司 用于对电子文档进行数字签名的方法、计算机设备和***
WO2004112306A2 (en) * 2003-06-12 2004-12-23 Philips Intellectual Property & Standards Gmbh Method for defence against differential power analysis attacks
WO2004112306A3 (en) * 2003-06-12 2005-02-10 Philips Intellectual Property Method for defence against differential power analysis attacks

Similar Documents

Publication Publication Date Title
DE60217260T2 (de) Datenverarbeitungs- und Verschlüsselungseinheit
DE69534603T2 (de) Verschlüsselungssystem für elliptische kurve
DE60222052T2 (de) Verschlüsselung gesichert gegen Angriffe durch die Analyse der Leistungsaufnahme (DPA)
DE2843583C2 (de) Verfahren für den zugriffsicheren Nachrichtenverkehr über einen ungesicherten Nachrichtenübertragungskanal
DE60125710T2 (de) Manipulationssichere Methode zur modularen Multiplikation
DE60121066T2 (de) Angriffsresistente kryptographische Verfahren und Vorrichtung
DE10201449C1 (de) Rechenwerk, Verfahren zum Ausführen einer Operation mit einem verschlüsselten Operanden, Carry-Select-Addierer und Kryptographieprozessor
DE3685987T2 (de) Verfahren zum vermindern der fuer eine rsa-verschluesselung benoetigten veraenderlichen speicherkapazitaet.
US7162033B1 (en) Countermeasure procedures in an electronic component implementing an elliptical curve type public key encryption algorithm
EP3686871A1 (de) Verfahren zum härten von softwareapplikationen
DE102010001289B4 (de) Vorrichtung zum Berechnen eines Ergebnisses einer Skalarmultiplikation
DE60036499T2 (de) Eine Technik, um einen Parameter, wie z.b. eine Prüfsumme, durch ein Primitiv zu erzeugen, welche elementare Register-Operationen verwendet
CH660822A5 (de) Zufallsprimzahlen-erzeugungsmittel in einer mit oeffentlichem schluessel arbeitenden daten-verschluesselungsanlage.
DE112008000668T5 (de) Kryptografisches Verfahren und System
DE112007003061T5 (de) Mechanismus zum Schützen eines Schlüssels
DE102007007699A1 (de) Reduktion von Seiten-Kanal-Informationen durch interagierende Krypto-Blocks
DE102005042339B4 (de) Verfahren zum sicheren Ver- oder Entschlüsseln einer Nachricht
DE60117813T2 (de) Verfahren und Vorrichtung zur Speicherung und wiedergewinnung eones Privaten Kryptoschlüssels
DE10328860B4 (de) Vorrichtung und Verfahren zum Verschlüsseln von Daten
DE10057203C1 (de) Verfahren zur Berechnung eines digitalen Signalwertes für ein cryptographisches Verfahren
DE69612335T2 (de) System und Verfahren zur Kommunikation von verschlüsselten Nachrichten unter Verwendung von RSA mit modularer Reduktion für schnelle Entschlüsselung
EP1442391A2 (de) Verfahren und vorrichtung zum absichern einer berechnung in einem kryptographischen algorithmus
DE102020134618A1 (de) Sicherheits-controller und verfahren zur verarbeitung von datenelementen eines datenfeldes
DE69821091T2 (de) Kryptographische vorrichtung mit verschlüsselungs und entschlüsselungssystem und schlüsselhinterlegungssystem
DE10162496B4 (de) Verfahren und Vorrichtung zum Absichern einer Berechnung in einem kryptographischen Algorithmus

Legal Events

Date Code Title Description
8100 Publication of the examined application without publication of unexamined application
D1 Grant (no unexamined application published) patent law 81
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee