DE102006013515A1 - Kryptographisches Verfahren mit elliptischen Kurven - Google Patents

Kryptographisches Verfahren mit elliptischen Kurven Download PDF

Info

Publication number
DE102006013515A1
DE102006013515A1 DE102006013515A DE102006013515A DE102006013515A1 DE 102006013515 A1 DE102006013515 A1 DE 102006013515A1 DE 102006013515 A DE102006013515 A DE 102006013515A DE 102006013515 A DE102006013515 A DE 102006013515A DE 102006013515 A1 DE102006013515 A1 DE 102006013515A1
Authority
DE
Germany
Prior art keywords
elliptic curve
coordinate
order
twisted
tested
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
DE102006013515A
Other languages
English (en)
Inventor
Jean Georgiades
Bernd Dr. Meyer
Anton Kargl
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 DE102006013515A priority Critical patent/DE102006013515A1/de
Priority to JP2009501996A priority patent/JP2009531726A/ja
Priority to EP07726643A priority patent/EP1997000A1/de
Priority to CN200780010399XA priority patent/CN101410792B/zh
Priority to PCT/EP2007/052075 priority patent/WO2007107450A1/de
Priority to US12/225,480 priority patent/US8582761B2/en
Publication of DE102006013515A1 publication Critical patent/DE102006013515A1/de
Priority to KR1020087025841A priority patent/KR101391216B1/ko
Priority to JP2012069762A priority patent/JP2012123426A/ja
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
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Storage Device Security (AREA)
  • Complex Calculations (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

Verfahren zum Ermitteln einer elliptischen Kurve, die für kryptographische Verfahren geeignet ist, mit den folgenden Schritten: (a) Bereitstellen einer zu testenden elliptischen Kurve; (b) Bestimmen der Ordnung einer getwisteten elliptischen Kurve, die der zu testenden elliptischen Kurve zugeordnet ist; (c) automatisches Prüfen, ob die Ordnung der getwisteten elliptischen Kurve eine starke Primzahl ist; und (d) Auswählen der zu testenden elliptischen Kurve als eine elliptische Kurve, die für kryptographische Verfahren geeignet ist, wenn die Ordnung der getwisteten elliptischen Kurve eine starke Primzahl ist.

Description

  • Die vorliegende Erfindung betrifft ein Verfahren zum Ermitteln von elliptischen Kurven, insbesondere von elliptischen Kurven welche für kryptographische Datenverarbeitung geeignet sind. Ferner betrifft die vorliegende Erfindung ein kryptographisches Verfahren und eine Vorrichtung, die auf den zuvor ausgewählten elliptischen Kurven basieren.
  • Kryptographische Verfahren werden unter anderem zum Verschlüsseln von Botschaften, Signieren von Dokumenten und Authentifizieren von Personen oder Objekten verwendet. Hierfür eignen sich insbesondere so genannte asymmetrische Verschlüsselungsverfahren, die für einen Teilnehmer sowohl einen privaten und geheim gehaltenen Schlüssel als auch einen öffentlichen Schlüssel vorsehen.
  • Beim Verschlüsseln einer Botschaft besorgt sich der Absender den öffentlichen Schlüssel des gewünschten Adressaten und verschlüsselt damit die Botschaft. Nur der Adressat ist danach in der Lage, die Botschaft mit dem nur ihm bekannten privaten Schlüssel wieder zu entschlüsseln.
  • Beim Signieren eines Dokuments berechnet ein Unterzeichnender aus einem Dokument mit seinem privaten Schlüssel eine elektronische Unterschrift. Andere Personen können ohne weiteres die Unterschrift mit Hilfe des öffentlichen Schlüssels des Unterzeichnenden verifizieren. Es lassen sich jedoch nur Unterschriften mit dem öffentlichen Schlüssel verifizieren, die mit dem zugehörigen privaten Schlüssel signiert werden. Durch diese eindeutige Zuordnung und die Annahme, dass der private Schlüssel von dem Unterzeichnenden geheim gehalten wird, ergibt sich eine eindeutige Zuordnung der Signatur zu dem Unterzeichnenden und dem Dokument.
  • Beim Authentisieren mittels eines Challenge-Response-(Anfrage-Antwort)Protokolls übermittelt eine Prüfstelle eine Anfrage an eine Person und fordert diese auf, zu dieser Anfrage mit dem privaten Schlüssel der Person eine Antwort zu berechnen und rückzusenden. Eine positive Authentifizierung erfolgt in dem Fall, dass die Prüfstelle die zurückgesandte Antwort mit dem öffentlichen Schlüssel der zu prüfenden Person verifizieren kann.
  • Die asymmetrischen Kryptographieverfahren basieren, wie oben ausgeführt, auf einem privaten und einem öffentlichen Schlüssel. Dabei wird der öffentliche Schlüssel aus dem privaten Schlüssel mittels eines vorbestimmten Algorithmus generiert. Wesentlich für die kryptographischen Verfahren ist, dass eine Umkehrung, d.h. eine Bestimmung des privaten Schlüssels aus dem öffentlichen Schlüssel in endlicher Zeit mit den zur Verfügung stehenden Rechenkapazitäten nicht bewältigbar ist. Letzteres ist gewährt, wenn die Schlüssellänge des privaten Schlüssels eine Mindestlänge erreicht. Die Mindestlänge des Schlüssels ist von den verwendeten Algorithmen für die Verschlüsselung und der Bestimmung des öffentlichen Schlüssels abhängig.
  • Die Operationen mit den öffentlichen oder den privaten Schlüsseln erfordern einen gewissen Rechenaufwand. Dieser ist abhängig von den verwendeten Algorithmen und auch von der Länge der verwendeten Schlüssel. Hierbei erweist es sich als vorteilhaft, Verschlüsselungsalgorithmen basierend auf elliptischen Kurven zu verwenden, da diese eine hohe Sicherheit bei kurzen Schlüssellängen gewähren. Bisher ist für Kryptographieverfahren basierend auf elliptischen Kurven im Gegensatz zu anderen Verfahren keine Bestimmung des privaten Schlüssels aus dem öffentlichen Schlüssel bekannt, deren Rechenaufwand langsamer als mit exponentiellen Anstieg mit zunehmender Schlüssellänge ansteigt. In anderen Worten der Sicherheitsgewinn pro zusätzliche Bitlänge des verwendeten Schlüssels ist höher als bei anderen Verfahren. Für prakti sche Anwendungen können daher deutlich kürzere Schlüssellängen verwendet werden.
  • Eine elliptische Kurve E ist allgemein durch eine Weierstraß-Gleichung definiert, welche sich als folgende kubische Gleichung schreibt: y2 + a1xy + a3y = x3 + a2x2 + a4x + a6.
  • Dabei sind die a1 a2 a3 a4 a6 fest ausgewählte Elemente eines Körpers K und die Paare (x, y) heißen Punkte der elliptischen Kurve E und erfüllen die Weierstraß-Gleichung. Für die kryptographischen Verfahren wird ein endlicher Körper K ausgewählt. Entsprechend ist auch die Anzahl der Punkte der elliptischen Kurve E endlich und wird nachfolgend als Ordnung ord(E) der Kurve E bezeichnet. Zusätzlich wird ein formaler Punkt im Unendlichen eingeführt.
  • Auf der Menge der Punkte der elliptischen Kurve kann eine abelsche Gruppenstruktur G definiert werden. Die Operation der abelschen Gruppenstruktur wird nachfolgend als Addition bezeichnet und additiv geschrieben. Die Addition zweier beliebiger Punkte der elliptischen Kurve ergibt eindeutig einen dritten Punkt dieser elliptischen Kurve. Ferner kann auf diese Weise eine Skalarmultiplikation definiert werden, welche als mehrfache Addition eines Punktes mit sich selbst definiert ist. P sei ein Punkt der elliptischen Kurve E, s eine ganze Zahl und Q = sP das s-fache des Punktes P. Q ist ebenfalls ein Punkt der elliptischen Kurve. Die Bestimmung des Skalars s bei gegebenen Punkten P und Q wird als diskretes Logarithmus-Problem für elliptische Kurven bezeichnet. Bei einer geeigneten Wahl des Körpers K und der Parameter der elliptischen Kurve E ist es mit den heute zur Verfügung stehenden Rechnereinrichtungen unmöglich, das diskrete Logarithmus-Problem in vertretbarer Zeit zu lösen. Auf dieser Schwierigkeit beruht die Sicherheit von kryptographischen Verfahren mittels elliptischer Kurven.
  • Ein Kommunikationsteilnehmer wählt einen Skalar s als seinen privaten Schlüssel und hält diesen geheim. Ferner generiert er aus einem Startpunkt P den öffentlichen Schlüssel Q als das skalare Vielfache des Startpunktes. Hinsichtlich des Startpunktes P besteht Einigkeit zwischen den Kommunikationsteilnehmern. Eine Bestimmung des privaten Schlüssels s aus dem öffentlichen Schlüssel Q ist aufgrund des hohen rechnerischen Aufwandes des diskreten Logarithmus-Problems nicht möglich und gewährt somit die Sicherheit von kryptographischen Verfahren mit elliptischen Kurven. Eine weitere Forderung an die elliptischen Kurven ist, dass ihre Ordnung eine große Primzahl oder das Produkt einer großen Primzahl mit einer kleinen Zahl ist.
  • Die kryptographischen Verfahren stellen einen Kompromiss zwischen einer zu erwartenden Sicherheit und dem rechnerischen Aufwand beim Verschlüsseln von Daten dar. In der DE 101 61 138 A1 ist gezeigt, dass eine Bestimmung des skalaren Vielfachen eines Punktes allein anhand der x-Koordinaten ohne Hinzuziehen der y-Koordinaten möglich ist. Entsprechende Rechenvorschriften sind für beliebige Körper in der DE 101 61 138 A1 beschrieben. Hierdurch lassen sich wesentlich effizientere Implementierungen der Punktarithmetik, z.B. einer Montgomery Leiter für die Skalarmultiplikation, eine geringere Anzahl an Körpermultiplikationen pro Punktaddition und eine geringere Anzahl von Registern für die Punktdarstellung und der Zwischenergebnisse erreichen. Allerdings wird bei diesem Verfahren nicht geprüft, ob ein Punkt wirklich Element der elliptischen Kurve ist.
  • Hieraus ergibt sich die Möglichkeit, einen Seitenkanalangriff durchzuführen. An eine Verschlüsselungseinrichtung kann dabei eine x-Koordinate eines Punktes übermittelt werden, wobei der Punkt nicht auf der elliptischen Kurve liegt. Hierzu wird in der DE 10161138 A1 beschrieben, dass hierdurch eine teilweise Rekonstruktion des privaten Schlüssels der Verschlüsselungseinrichtung möglich ist. Die DE 10161138 A1 verwendet zum Verhindern eines solchen Seitenkanalangriffs speziell ausge wählte elliptische Kurven. Als Kriterium dienen hierbei die zu den elliptischen Kurven zugehörigen getwisteten elliptischen Kurven. Die zugehörige getwistete elliptische Kurve ist wie folgt definiert: y2 + va1xy + a3y = x3 + va2x2 + v2a4xv3a6,wobei die Parameter a1, a2, a3, a4, a6 die Parameter der elliptischen Kurven sind. Die Parameter v sind alle Nicht-Quadrate des Körpers K, falls die Charakteristik des Körpers K ungerade ist oder ein Element des Körpers K mit Spur 1. Alle diese getwisteten elliptischen Kurven sollen nach der DE 10161138 A1 ebenfalls eine Ordnung haben, die eine große Primzahl oder das Produkt einer großen Primzahl mit einer kleinen Zahl ist.
  • Die Autoren Daniel R. L. Brown und Robert P. Gallant beschreiben in ihrem Artikel "The Static Diffie-Hellman Problem" eine weitere Möglichkeit für einen Seitenkanalangriff, um einen privaten Schlüssel vollständig oder teilweise auszuspähen.
  • Vor diesem Hintergrund liegt der Erfindung die Aufgabe zugrunde, ein Verfahren bereitzustellen, welches elliptische Kurven auswählt, die bei Seitenkanalangriffen keinen Rückschluss auf den privaten Schlüssel ermöglichen.
  • Erfindungsgemäß wird diese Aufgabe durch das Verfahren mit den Merkmalen des Patentanspruchs 1 gelöst. Ein Verfahren zur kryptographischen Verarbeitung von Daten mit den Merkmalen des Patentanspruchs 4 und eine Vorrichtung zur Identitätsbestätigung einer Person oder eines Objekts mit den Merkmalen des Patentanspruchs 6 verhindern ebenfalls eine Bestimmung des privaten Schlüssels oder eine Teilbestimmung des privaten Schlüssels durch Seitenkanalangriffe.
  • Demgemäß ist vorgesehen:
  • Verfahren zum Ermitteln einer elliptischen Kurve, die für kryptographische Verfahren geeignet ist, mit den folgenden Schritten:
    • (a) Bereitstellen einer zu testenden elliptischen Kurve;
    • (b) Bestimmen der Ordnung einer getwisteten elliptischen Kurve, die der zu testenden elliptischen Kurve zugeordnet ist;
    • (c) automatisches Prüfen, ob die Ordnung der getwisteten elliptischen Kurve eine starke Primzahl ist; und
    • (d) Auswählen der zu testenden elliptischen Kurve als eine elliptische Kurve, die für kryptographische Verfahren geeignet ist, wenn die Ordnung der getwisteten elliptischen Kurve eine starke Primzahl ist.
  • Verfahren zum kryptographischen Verarbeiten von Daten mit den folgenden Schritten:
  • Bereitstellen einer elliptischen Kurve, die mit einem der Verfahren nach den Ansprüchen 1 bis 3 ermittelt wird; Bereitstellen nur einer x-Koordinate eines Punktes; Bereitstellen eines privaten Schlüssels; automatisches Anwenden eines kryptographischen Verschlüsselungsverfahrens auf die x-Koordinate unter Verwendung der bereitgestellten elliptischen Kurve und des privaten Schlüssels zum Bestimmen einer verschlüsselten x-Koordinate; und Ausgeben eines Wertes basierend auf der verschlüsselten x-Koordinate.
  • Vorrichtung zur Identitätsbestätigung einer Person oder eines Objekts mit
    • – einer Empfangseinrichtung, die zum Empfangen einer Koordinate dient,
    • – einer Speichereinrichtung, die einen privaten Schlüssel der Person oder des Objekts vorhält,
    • – einer Verarbeitungseinrichtung, die zum Verarbeiten der empfangenen Koordinate mit dem privaten Schlüssel dient, wobei das Verarbeiten auf einer elliptischen Kurve basiert, welche nach einem der Verfahren 1 bis 3 ausgewählt ist, und
    • – einer Ausgabeeinrichtung, die zum Ausgeben der verarbeiteten Koordinate eingerichtet ist.
  • Die der vorliegenden Erfindung zugrunde liegende Idee besteht darin, eine elliptische Kurve nur dann für kryptographische Verfahren zu verwenden, wenn die zu dieser elliptischen Kurve getwisteten elliptischen Kurven eine Ordnung aufweisen, die eine starke Primzahl ist. Eine starke Primzahl P ist durch nachfolgende Gleichung beschrieben: P = 1 + r·q,wobei r eine kleine Zahl, typischerweise im Bereich bis zu 255, und q eine große Primzahl ist. Idealerweise ist die starke Primzahl eine so genannte Sophie-Germain-Primzahl, d.h. r ist 2. Die elliptischen Kurven und die zugehörigen getwisteten elliptischen Kurven entsprechen den zuvor angegebenen Definitionen. Die vorliegende Erfindung verhindert Seitenkanalangriffe, die auf fehlerhaft übermittelten x-Koordinaten oder böswillig falsch übermittelten x-Koordinaten basieren, wobei diese x-Koordinaten keinem Punkt der ausgewählten elliptischen Kurve entsprechen. Das erfindungsgemäße Verfahren ist dahingehend robust, dass auch bei solchen x-Koordinaten keine Ausspähung oder teilweise Bestimmung des privaten Schlüssels durch eine externe Einrichtung möglich ist.
  • Vorteilhafte Weiterbildungen und Ausgestaltungen sind Gegenstand der weiteren Unteransprüche oder ergeben sich aus der Beschreibung in Zusammenschau mit der Zeichnung.
  • Gemäß einer Ausgestaltung wird die Ordnung der getwisteten elliptischen Kurve durch Zählen einer Anzahl von Punkten be stimmt, die auf der getwisteten elliptischen Kurve liegen. Alternativ kann die Ordnung der getwisteten elliptischen Kurve auch basierend auf einer Bestimmung der Ordnung der elliptischen Kurve und der Charakteristik des Körpers erfolgen. Hierzu können eindeutige mathematische Relationen zwischen den unterschiedlichen Ordnungen herangezogen werden. Das Zählen der Punkte erfolgt mit dem Fachmann allgemein bekannten Verfahren.
  • In einer Ausgestaltung wird automatisch geprüft, ob die Ordnung der zu testenden elliptischen Kurve eine starke Primzahl ist, und die zu testende elliptische Kurve wird nur dann für kryptographische Verfahren ausgewählt, wenn die Ordnung der zu testenden elliptischen Kurve eine starke Primzahl ist.
  • Die vorliegende Erfindung wird nachfolgend anhand der in den schematischen Figuren der Zeichnung angegebenen Ausführungsbeispiele erläutert. Dabei zeigen
  • 1 ein Flussdiagramm einer Ausführungsform des erfindungsgemäßen Verfahrens;
  • 2 ein Blockdiagramm einer Ausführungsform der erfindungsgemäßen Vorrichtung; und
  • 3 ein Flussdiagramm einer Ausführungsform des erfindungsgemäßen Verfahrens, das durch die Vorrichtungen aus 2 ausgeführt wird.
  • In 1 ist ein Flussdiagramm zur Illustration einer Ausführungsform des erfindungsgemäßen Verfahrens dargestellt. In einem ersten Schritt wird ein Pool mit elliptischen Kurven E bereitgestellt (S1). Die elliptischen Kurven E werden über einem endlichen Körper K definiert. Somit enthält die Kurve E eine endliche Anzahl an Punkten P. Die elliptische Kurve ist, wie bereits beschrieben, durch die Weierstraß-Gleichung und die Parameter a1, a2, a3, a4, a6 festgelegt. Durch entsprechende Einschränkungen oder Änderungen der Parametrisierung können einzelne Parameter null sein. Die Parameter sind so ausgewählt, dass die elliptischen Kurven nicht singulär sind.
  • Nachfolgend wird die Ordnung der elliptischen Kurve bestimmt (S2). Unter der Ordnung der elliptischen Kurve wird die Anzahl der Punkte über einem Körper K verstanden, die die Weierstraß-Gleichung erfüllen. In einer geometrischen Deutung sind dies alle Punkte P, die auf der elliptischen Kurve E liegen.
  • Die Ordnung der elliptischen Kurve, abgekürzt ord(E), soll eine Primzahl sein. Ergibt eine Überprüfung, dass diese keine Primzahl ist, wird eine andere Kurve E aus dem Pool ausgewählt (S8). Wird die Ordnung der elliptischen Kurve E als Primzahl bestätigt, erfolgt eine Prüfung, ob die Ordnung der elliptischen Kurve eine starke Primzahl ist (S3). Die Definition einer starken Primzahl ist oben angegeben.
  • In einem nächsten Schritt werden die zu der elliptischen Kurve E getwisteten elliptischen Kurven E übergeprüft (S4). Die Definition für die getwisteten Kurven E' ist bereits oben angegeben. Die Überprüfung erfolgt für sämtliche getwistete Kurven E', d.h. für alle möglichen Parameter v, die entsprechend kein Quadrat oder ein Element mit Spur 1 sind. Im Einzelnen wird die Ordnung der getwisteten Kurve E' bestimmt (S5). Die Ordnung der getwisteten Kurve E' soll ebenfalls wie die elliptische Kurve eine Primzahl sein. Falls dies nicht erfüllt ist, wird eine andere elliptische Kurve E ausgewählt.
  • Zusätzlich wird geprüft, ob die Ordnung der elliptischen Kurve E' eine starke Primzahl ist (E6).
  • Sind alle vier Bedingungen der Schritte S2, S3, S5 und S6 erfüllt, wird die elliptische Kurve E für ein kryptographisches Verfahren ausgewählt.
  • Die Ordnung einer elliptischen Kurve kann anhand eines bekannten Abzählverfahrens bestimmt werden. Alternativ ist es möglich, die Ordnung über die Beziehung ord(E) + ord(E') = 2·|K| + 2zu bestimmen, wobei |K| die Charakteristik des Körpers K ist.
  • In 2 ist ein Blockdiagramm eines Testobjekts A und einer Prüfeinrichtung B dargestellt. Das Testobjekt kann z.B. eine Smart-Card oder ein RFID-Chip sein. Die Prüfeinrichtung B ist die entsprechende Leseeinrichtung. Das Testobjekt A weist eine Speichereinrichtung 1 auf, in der ein privater Schlüssel KP vorgehalten wird. Dieser private Schlüssel KP wird geheim gehalten und ist in keiner Weise durch eine externe Einrichtung auslesbar. In einer weiteren Speichereinrichtung 2 werden die zur Parametrisierung einer elliptischen Kurve E benötigten Parameter gespeichert. Eine Datenverarbeitungseinrichtung 3 führt einen Verschlüsselungsalgorithmus basierend auf dem privaten Schlüssel und einer elliptischen Kurve aus, die durch die Parameter festgelegt wird, welche in der Speichereinrichtung 2 abgelegt sind. Die Parameter bzw. die elliptische Kurve sind anhand des erfindungsgemäßen Verfahrens, z.B. durch das in 1 gezeigte Ausführungsbeispiel bestimmt. Ferner weist das Testobjekt eine Empfangseinrichtung 4 auf, welche eine x-Koordinate eines Punktes empfangen kann. Diese x-Koordinate wird der Datenverarbeitungseinrichtung 3 zugeführt, welche darauf das zuvor festgelegte Verfahren ausführt. Besonders an diesem Verfahren ist, dass dieses nur auf die x-Koordinate angewandt wird und auch nur die x-Koordinate eines Punktes benötigt. Die verarbeitete oder verschlüsselte x-Koordinate wird durch eine Sendeeinrichtung 5 ausgegeben. Das Testobjekt A prüft nicht, ob die übermittelte x-Koordinate eine gültige x-Koordinate sein kann. Das Testobjekt A prüft nicht, ob diese x-Koordinate einem Punkt P der elliptischen Kurve zugeordnet ist. Die ausgewählten elliptischen Kurven, welche in der Speichereinrichtung 2 hinterlegt sind, stellen jedoch sicher, dass durch eine solche x- Koordinate kein Ausspähen oder teilweises Ausspähen des privaten Schlüssels möglich ist.
  • Die Prüfeinrichtung B weist einen Zufallsgenerator 10 auf, der einen beliebigen Punkt PO aus der elliptischen Kurve auswählt. Dieser wird mittels einer Sendeeinrichtung 11 an das Testobjekt A übermittelt. Ferner weist die Prüfeinrichtung B eine Empfangseinrichtung zum Empfangen der verarbeiteten x-Koordinate Q(x) auf. Eine Datenverarbeitungseinrichtung 13 prüft die verarbeitete x-Koordinate anhand eines öffentlichen Schlüssels des Testobjekts A. Der öffentliche Schlüssel kann entweder in der Prüfeinrichtung B hinterlegt sein oder von einer externen Quelle bezogen werden. Entspricht der entschlüsselte Wert der zuvor zufällig generierten x-Koordinate, wird an einer Schnittstelle 14 ausgegeben, dass die Identität des Testobjekts A bestätigt ist.
  • In 3 ist hierzu in einem Flussdiagramm noch einmal schematisch der Ablauf einer Identifikation eines Testobjektes A dargestellt. In einem ersten Schritt S10 generiert ein Zufallsgenerator einen Punkt PO auf der elliptischen Kurve E und übermittelt dessen x-Koordinate als Anfrage an das Testobjekt A. Dieses berechnet aus der x-Koordinate mit seinem privaten Schlüssel KP eine Antwort (S11). Nachfolgend übermittelt das Testobjekt die Antwort Q(x) und gegebenenfalls auch seinen öffentlichen Schlüssel KO. Die Antwort wird durch die Prüfstelle B mittels des öffentlichen Schlüssels KO geprüft (S12). Bei einer Bestätigung der Antwort wird ein Signal ausgegeben, dass die Person A authentifiziert oder identifiziert ist (S13, S14).
  • Nachfolgend sei beispielhaft eine geeignete elliptische Kurve angegeben. Der verwendete endliche Körper K habe die Form Z/pZ, und die Gleichung der elliptischen Kurve E sei durch y2 = x3 + ax + b gegeben. Die entsprechenden Parameter der elliptischen Kurve E sind:
    p = 517847993827160675843549642866661055787617496734405781471
    a = 38341706974568098172697905376562415410863420236739650958
    b = 395393382584534989047698356330422317897630021672687214876
  • Die Ordnung der elliptischen Kurve ord(E) = 517847993827160675843549642866661055787617496734522943517 und die zur elliptischen Kurve E getwistete elliptische Kurve E' hat ebenfalls eine prime Ordnung ord(E') = 517847993827160675843549642866661055787617496734288619427. Der Basispunkt P = (x, y) ist durch die Koordinaten
    x = 81094469663915015430255024705469171085831504304496796756
    y = 482060190644397986573077501327725919378173632606557848976
    gegeben, liegt auf der elliptischen Kurve E und erzeugt in diesem Fall sogar eine vollständige Punktgruppe. D.h., jeder Punkt der elliptischen Kurve E lässt sich als ein skalares Vielfaches des Basispunktes P darstellen. Ferner haben die Ordnungen der Kurven E und der getwisteten Kurven E' folgenden Wert:
    Ord(E) = 1 + 4·129461998456790168960887410716665263946904 374183630735879
    Ord(E') = 1 + 2·258923996913580337921774821433330527893808 748367144309713
  • Damit sind alle geforderten Eigenschaften für die elliptische Kurve für ein kryptographisches Verfahren erfüllt.

Claims (7)

  1. Verfahren zum Ermitteln einer elliptischen Kurve, für kryptographische Verfahren mit den Schritten: (a) Bereitstellen einer zu testenden elliptischen Kurve; (b) Bestimmen der Ordnung einer getwisteten elliptischen Kurve, die der zu testenden elliptischen Kurve zugeordnet ist; (c) automatisches Prüfen, ob die Ordnung der getwisteten elliptischen Kurve eine starke Primzahl ist; und (d) Auswählen der zu testenden elliptischen Kurve als eine elliptische Kurve, die für kryptographische Verfahren geeignet ist, wenn die Ordnung der getwisteten elliptischen Kurve eine starke Primzahl ist.
  2. Verfahren nach Anspruch 1 dadurch gekennzeichnet, dass die Ordnung der getwisteten elliptischen Kurve durch Zählen einer Anzahl von Punkten, die auf der getwisteten elliptischen Kurve liegen, bestimmt wird.
  3. Verfahren nach Anspruch 1 dadurch gekennzeichnet, dass die zu testende elliptische Kurve über einem Körper mit einer bekannten Charakteristik definiert wird und das Bestimmen der Ordnung der getwisteten elliptischen Kurve basierend auf einer Bestimmung der Ordnung der elliptischen Kurve und der Charakteristik des Körpers erfolgt.
  4. Verfahren nach einem der vorherigen Ansprüche dadurch gekennzeichnet, dass automatisch geprüft wird, ob die Ordnung der zu testenden elliptischen Kurve eine starke Primzahl ist und dass die zu testende elliptische Kurve für das kryptographische Verfahren ausgewählt wird, wenn die Ordnung der zu testenden elliptischen Kurve eine starke Primzahl ist.
  5. Verfahren zum kryptographischen Verarbeiten von Daten mit den Schritten: (a) Ermitteln und Bereitstellen einer elliptischen Kurve mittels eines Verfahrens nach einem der vorherigen Ansprüche; (b) Bereitstellen lediglich einer x-Koordinate eines Punktes; (c) Bereitstellen eines privaten Schlüssels; (d) automatisches Anwenden eines kryptographischen Verfahrens auf die x-Koordinate unter Verwendung der bereitgestellten elliptischen Kurve und des privaten Schlüssels zum Bestimmen einer verarbeiteten x-Koordinate; (e) Ausgeben eines Wertes basierend auf der verarbeiteten x-Koordinate.
  6. Verfahren nach Anspruch 5, dadurch gekennzeichnet, dass die x-Koordinate von einer Prüfstelle an ein Testobjekt gesendet wird; das Testobjekt den privaten Schlüssel bereitstellt; das Testobjekt die verarbeitete x-Koordinate bestimmt; das Testobjekt die verarbeitete x-Koordinate an die Prüfstelle übermittelt; die Prüfstelle einen öffentlichen Schlüssel des Testobjekts bereitstellt; die Prüfstelle die verarbeitete x-Koordinate mit dem öffentlichen Schlüssel prüft; und die Prüfstelle eine Bestätigung einer Identität des Testobjekts ausgibt, wenn die Prüfung die Gültigkeit der verarbeiteten x-Koordinate ergibt.
  7. Vorrichtung zur Identitätsbestätigung einer Person oder eines Objekts, – mit einer Empfangseinrichtung, die zum Empfangen einer Koordinate vorgesehen ist, – mit einer Speichereinrichtung, die einen privaten Schlüssel der Person oder des Objekts vorhält, – mit einer Verarbeitungseinrichtung, die die empfangenen Koordinaten unter Verwendung eines Verfahrens nach einem der Ansprüche 1 bis 4 mit dem privatem Schlüssel auf der Basis der elliptischen Kurve verarbeitet, und – mit einer Ausgabeeinrichtung, die zum Ausgeben der verarbeiteten Koordinate eingerichtet ist.
DE102006013515A 2006-03-23 2006-03-23 Kryptographisches Verfahren mit elliptischen Kurven Withdrawn DE102006013515A1 (de)

Priority Applications (8)

Application Number Priority Date Filing Date Title
DE102006013515A DE102006013515A1 (de) 2006-03-23 2006-03-23 Kryptographisches Verfahren mit elliptischen Kurven
JP2009501996A JP2009531726A (ja) 2006-03-23 2007-03-06 楕円曲線による暗号化方法
EP07726643A EP1997000A1 (de) 2006-03-23 2007-03-06 Kryptographisches verfahren mit elliptischen kurven
CN200780010399XA CN101410792B (zh) 2006-03-23 2007-03-06 利用椭圆曲线的密码方法
PCT/EP2007/052075 WO2007107450A1 (de) 2006-03-23 2007-03-06 Kryptographisches verfahren mit elliptischen kurven
US12/225,480 US8582761B2 (en) 2006-03-23 2007-03-06 Cryptographic method with elliptical curves
KR1020087025841A KR101391216B1 (ko) 2006-03-23 2008-10-22 타원형 곡선들을 사용한 암호화 방법
JP2012069762A JP2012123426A (ja) 2006-03-23 2012-03-26 暗号化方法用の楕円曲線を求める方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102006013515A DE102006013515A1 (de) 2006-03-23 2006-03-23 Kryptographisches Verfahren mit elliptischen Kurven

Publications (1)

Publication Number Publication Date
DE102006013515A1 true DE102006013515A1 (de) 2007-10-04

Family

ID=38190860

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102006013515A Withdrawn DE102006013515A1 (de) 2006-03-23 2006-03-23 Kryptographisches Verfahren mit elliptischen Kurven

Country Status (7)

Country Link
US (1) US8582761B2 (de)
EP (1) EP1997000A1 (de)
JP (2) JP2009531726A (de)
KR (1) KR101391216B1 (de)
CN (1) CN101410792B (de)
DE (1) DE102006013515A1 (de)
WO (1) WO2007107450A1 (de)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009118224A1 (de) * 2008-03-25 2009-10-01 Siemens Aktiengesellschaft Verfahren zum rechnergestützten ermitteln einer elliptischen kurve für kryptographische anwendungen
US8621212B2 (en) 2009-12-22 2013-12-31 Infineon Technologies Ag Systems and methods for cryptographically enhanced automatic blacklist management and enforcement
US8630411B2 (en) 2011-02-17 2014-01-14 Infineon Technologies Ag Systems and methods for device and data authentication
CN102231666A (zh) * 2011-06-29 2011-11-02 电子科技大学 基于强素数的零知识身份认证方法
US9590805B1 (en) * 2014-12-23 2017-03-07 EMC IP Holding Company LLC Ladder-based cryptographic techniques using pre-computed points

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10161137A1 (de) * 2001-12-12 2003-10-02 Siemens Ag Verfahren und System zum kryptographischen Bearbeiten von Daten
US6829356B1 (en) * 1999-06-29 2004-12-07 Verisign, Inc. Server-assisted regeneration of a strong secret from a weak secret

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5272755A (en) * 1991-06-28 1993-12-21 Matsushita Electric Industrial Co., Ltd. Public key cryptosystem with an elliptic curve
US5271061A (en) * 1991-09-17 1993-12-14 Next Computer, Inc. Method and apparatus for public key exchange in a cryptographic system
JP3835896B2 (ja) * 1997-07-30 2006-10-18 富士通株式会社 素数生成装置,B−smooth性判定装置及び記録媒体
JPH11234259A (ja) 1998-02-13 1999-08-27 Hitachi Ltd 相手認証と鍵配送方法とそれを用いた装置、および、暗号通信方法と暗号通信システム
CA2252078C (en) * 1998-10-28 2009-02-17 Certicom Corp. Power signature attack resistant cryptographic system
FR2791497B1 (fr) * 1999-03-26 2001-05-18 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
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
JP2002099211A (ja) * 2000-09-21 2002-04-05 Sony Corp 公開鍵証明書発行要求処理システムおよび公開鍵証明書発行要求処理方法
DE10161138B4 (de) 2001-12-12 2008-02-14 Siemens Ag Verfahren und Vorrichtung zum Ermitteln einer elliptischen Kurve, Verfahren und Vorrichtung zum Multiplizieren eines Punktes mit einem Skalar
JP2003255831A (ja) 2002-02-28 2003-09-10 Hitachi Ltd 楕円曲線スカラー倍計算方法及び装置
US7302056B2 (en) * 2003-06-30 2007-11-27 Lucent Technologies Inc. Method and system for determining sequence parameters to limit cycle attacks in timed release cryptography
JP4611305B2 (ja) * 2003-10-03 2011-01-12 パナソニック株式会社 情報伝達システム、暗号装置及び復号装置
US7647498B2 (en) * 2004-04-30 2010-01-12 Research In Motion Limited Device authentication
JP2005321719A (ja) 2004-05-11 2005-11-17 Ntt Docomo Inc 通信システム、復号装置、復元装置、鍵生成装置及び通信方法
CN101099328B (zh) * 2004-11-11 2011-05-18 塞尔蒂卡姆公司 定制的静态Diffie-Helman群
US20060153369A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Providing cryptographic key based on user input data
US7693277B2 (en) * 2005-01-07 2010-04-06 First Data Corporation Generating digital signatures using ephemeral cryptographic key
US7490239B2 (en) * 2005-01-07 2009-02-10 First Data Corporation Facilitating digital signature based on ephemeral private key
US20060153370A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Generating public-private key pair based on user input data
US20060156013A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Digital signature software using ephemeral private key and system
EP1844392B1 (de) * 2005-01-21 2012-07-04 Certicom Corp. Elliptische kurve-zufallszahlenerzeugung
US7864951B2 (en) * 2006-07-10 2011-01-04 King Fahd University Of Petroleum And Minerals Scalar multiplication method with inherent countermeasures
KR101233682B1 (ko) 2010-09-15 2013-02-15 고려대학교 산학협력단 타원곡선암호를 위한 연산 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6829356B1 (en) * 1999-06-29 2004-12-07 Verisign, Inc. Server-assisted regeneration of a strong secret from a weak secret
DE10161137A1 (de) * 2001-12-12 2003-10-02 Siemens Ag Verfahren und System zum kryptographischen Bearbeiten von Daten

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SEROUSSI, G.: "Elliptic curve cryptography". In: Information Theory and Networking Workshop, 27. Juni-01. Juli 1999, ISBN: 0-7803-5954-2 *

Also Published As

Publication number Publication date
US8582761B2 (en) 2013-11-12
KR20080111089A (ko) 2008-12-22
JP2009531726A (ja) 2009-09-03
US20090285388A1 (en) 2009-11-19
WO2007107450A1 (de) 2007-09-27
JP2012123426A (ja) 2012-06-28
CN101410792A (zh) 2009-04-15
EP1997000A1 (de) 2008-12-03
KR101391216B1 (ko) 2014-05-02
CN101410792B (zh) 2013-03-06

Similar Documents

Publication Publication Date Title
EP2197149B1 (de) Verfahren und Vorrichtung zum Verarbeiten von Daten
DE102012206341B4 (de) Gemeinsame Verschlüsselung von Daten
DE68919923T2 (de) Verfahren und Vorrichtung zur Authentifizierung.
DE112011100182T5 (de) Transaktionsprüfung für Datensicherheitsvorrichtungen
DE102010002241B4 (de) Vorrichtung und Verfahren zur effizienten einseitigen Authentifizierung
DE102007001070B3 (de) Verfahren zum verschlüsselten Datenausgleich eines Systems mit mindestens einem Datenträger und einem Lesegerät
EP1368929B1 (de) Verfahren zur authentikation
EP2656535B1 (de) Kryptographisches verfahren
EP0820670A1 (de) Verfahren zum rechnergestützten austausch kryptographischer schlüssel zwischen einer benutzercomputereinheit u und einer netzcomputereinheit n
CH708239A2 (de) Schlüsseleinigungsprotokoll.
DE69838258T2 (de) Public-Key-Datenübertragungssysteme
DE102006060760A1 (de) Authentifikationsverfahren und Kommunikationssystem zur Authentifikation
DE102006013515A1 (de) Kryptographisches Verfahren mit elliptischen Kurven
DE102018009943A1 (de) Verfahren zum Erzeugen einer blinden Signatur
DE112018006443T5 (de) Multifaktor-authentifizierung
DE60212248T2 (de) Informationssicherheitsvorrichtung, Vorrichtung und Verfahren zur Erzeugung einer Primzahl
EP2124382A1 (de) Verfahren zum verschlüsselten Datenaustausch und Kommunikationssystem
EP2730050B1 (de) Verfahren zur erstellung und überprüfung einer elektronischen pseudonymen signatur
EP3767513B1 (de) Verfahren zur sicheren durchführung einer fernsignatur sowie sicherheitssystem
DE68907717T2 (de) Diversifizierungsverfahren für öffentliche schlüssel.
EP3832950A1 (de) Kryptographisches signatursystem
DE102004049026B4 (de) Verfahren zur Authentifizierung von Elementen einer Gruppe
DE60221863T2 (de) Verfahren zur implementierung eines kryptographischen algorithmus zum finden des öffentlichen exponenten in einer elektronischen komponente
DE19841886C2 (de) Verfahren und Vorrichtung zur Erzeugung von Paßwörtern
DE102014010455A1 (de) Datensparsame Authentisierung

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8130 Withdrawal