EP1997000A1 - Cryptographic method with elliptical curves - Google Patents

Cryptographic method with elliptical curves

Info

Publication number
EP1997000A1
EP1997000A1 EP07726643A EP07726643A EP1997000A1 EP 1997000 A1 EP1997000 A1 EP 1997000A1 EP 07726643 A EP07726643 A EP 07726643A EP 07726643 A EP07726643 A EP 07726643A EP 1997000 A1 EP1997000 A1 EP 1997000A1
Authority
EP
European Patent Office
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.)
Ceased
Application number
EP07726643A
Other languages
German (de)
French (fr)
Inventor
Jean Georgiades
Anton Kargl
Bernd 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
Publication of EP1997000A1 publication Critical patent/EP1997000A1/en
Ceased 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

Definitions

  • the present invention relates to a method for Ermit ⁇ stuffs of elliptic curves, which, in particular of elliptic curves are suitable for cryptographic data processing. Further, the present invention relates to a kryp ⁇ tographisches method and apparatus based on the to-elliptical front selected curves.
  • Cryptographic techniques are used to encrypt messages, sign documents, and authenticate people or objects, among other things.
  • asymmetric Locks ⁇ are particularly so selungsvon, as well as provide a public key for a user in both a private and secret keys.
  • the sender When encrypting a message, the sender obtains the public key of the desired addressee and thus encrypts the message. Only the addressee is there ⁇ able to decrypt the message again with the private key known only to him.
  • a Signing a document calculates a elekt ⁇ tronic signature with his private key. Other people can easily verify the signature using the undersigned's public key. However, only signatures can be verified with the public key, which are signed with the associated private key. This unambiguous assignment and the assumption that the private key is kept secret by the signer result in a clear assignment of the signature to the signer and the document.
  • authenticating using a challenge-response (request-response) protocol transmits a testing a request to a person and ask it to this on ⁇ ask with the private key of the person to calculate an answer and be returned. A positive authentication occurs in the event that the verifier can verify the returned response with the public key of the person under review.
  • the asymmetric cryptography methods are based on a private and a public key, as stated above.
  • the public key is generated from the private key by means of a predetermined algorithm.
  • Essential for the cryptographic methods is that a reversal, i. H. a determination of the private key from the public key in finite time with the available computing capacity is not manageable. The latter is granted if the key length of the private key reaches a minimum length. The minimum length of the key depends on the algorithms used for encryption and the determination of the public key.
  • An elliptic curve E is generally defined by a Weierstrass equation which written as following cubic sliding ⁇ chung:
  • the ai are a ⁇ a3 a selected elements of a
  • Body K and the pairs (x, y) are hot points of the elliptic curve E and satisfy the Weierstrass equation.
  • a finite field K is selected.
  • the number of points of the elliptic curve E is finite and is hereinafter referred to as the order ord (E) of the curve E.
  • a formal point is introduced at infinity.
  • An abelian group structure G can be defined on the set of points of the elliptic curve.
  • the operation of the abelian group structure is hereinafter referred to as addition and written additively.
  • the addition of two arbitrary points of the elliptic curve clearly gives a third point of this elliptic curve.
  • a scalar multiplication can be defined in DIE se, which is defined as multiple addition of a point to itself defi ⁇ .
  • P is a point on the elliptic curve E
  • s is an integer
  • Q sP the s-fold of the point P.
  • Q is flat ⁇ if a point of the elliptic curve.
  • the determination of the scalar s at given points P and Q is called a discrete logarithm problem for elliptic curves.
  • a suitable choice of the body K and the parameters of the elliptic curve E it is impossible with the computer equipment available today to solve the discrete logarithm problem within a reasonable time.
  • the security of cryptographic methods using elliptic curves is based on this difficulty.
  • a communication user selects a scalar s as his private key and keeps it secret. Furthermore, it generates the public key Q from a starting point P as the scalar multiple of the starting point. With respect to the start point P is agreement between the communication ⁇ participants.
  • S is a determination of the private key from the public key Q due to the high computational effort of the discrete logarithm problem does not mög ⁇ Lich and thus granted the security of cryptographic methods with elliptic curves.
  • Another requirement of the elliptic curves is that their order is a large prime or the product of a large prime with a small number.
  • the parameters ai, a 2, a 3, a 4, a 6, the parameters of the el ⁇ liptica curves.
  • the parameters v are all non-squares of the body K if the characteristic of the body K is odd or an element of the body K with trace 1.
  • Al ⁇ le these twisted elliptic curves should also have an order according to DE 10161138 Al, the one large prime or the product of a large prime number with a small number.
  • the object of the invention is to provide a method which selects elliptic curves which do not permit any conclusion on the private key in side channel attacks.
  • this object is achieved by the method having the features of patent claim 1.
  • a method for the cryptographic processing of data with the features of claim 4 and a device for Identticiansbes ⁇ actuation of a person or an object with the features of claim 6 also prevent a determination of the private key or a partial determination of the private key by side channel attacks.
  • Method for determining an elliptic curve suitable for cryptographic methods comprising the following steps:
  • test elliptic curve as the elliptic curve net cryptographic procedures geeig ⁇ when the order of the twisted elliptic curve is a strong prime number.
  • the idea underlying the present invention is to provide an elliptic curve only for cryptographic
  • a strong prime P is described by the following equation:
  • r is a small number, typically in the range up to 255, and q is a large prime.
  • the strong prime is a so-called Sophie Germain prime, i. r is 2.
  • the elliptic curves and the associated twisted elliptic curves correspond to the definitions given above.
  • the present invention prevents page channel attacks based on improperly transmitted x coordinates or malformed incorrectly transmitted x coordinates, these x coordinates not corresponding to any point on the selected elliptic curve.
  • the method according to the invention is robust to the extent that even with such x-coordinates no spying or partial determination of the private key by an external device is possible.
  • the order of the twisted elliptic curve is calculated by counting a number of points. true, which lie on the twisted elliptic curve.
  • the order of the twisted elliptic curve may also be made based on a determination of the order of the elliptic curve and the characteristic of the body. For this purpose, clear mathematical relations between the different orders can be used. The counting of the dots is done by methods well known to those skilled in the art.
  • the elliptic curve to be tested is selected for cryptographic methods only if the order of the elliptic curve to be tested is a strong prime.
  • FIG. 1 shows a flow chart of an embodiment of the method according to the invention
  • Fig. 2 is a block diagram of an embodiment of the device according to the invention.
  • FIG. 3 is a flowchart of an embodiment of the method according to the invention, which is carried out by the devices of FIG. 2.
  • FIG. 1 shows a flow chart for illustrating an embodiment of the method according to the invention.
  • a pool with elliptic curves E is provided (S1).
  • the elliptic curves E are defined over a finite field K.
  • the curve E contains a finite number of points P.
  • the elliptic curve is defined by the Weierstrass equation and the parameters ai, a 2 , a 3 , a 4 , a 6 .
  • corre ⁇ sponding restrictions or changes in the parameterization individual parameters can be zero. The parameters are selected so that the elliptic curves are not singular.
  • the order of the elliptic curve is determined (S2).
  • the order of the elliptic curve is understood to mean the number of points over a body K that satisfy the Weerrstraß equation. In a geometric interpretation, these are all points P lying on the elliptic curve E.
  • the order of the elliptic curve should be a prime number. If a review that this is not a prime number, a different curve E is out of the pool on the ⁇ selected (S8). If the order of the elliptic curve E is confirmed to be prime, a check is made as to whether the order of the elliptic curve is a strong prime (S3). The definition of a strong prime is given above.
  • the elliptical curves E that are twisted into the elliptic curve E are checked (S4).
  • the definition for the twisted curves E ' is already given above.
  • the check is made for all twisted curves E ', i. for all possible parameters v, which are correspondingly not a square or an element with track 1.
  • the order of the twisted curve E ' is determined
  • the elliptic curve E is selected for a cryptographic method.
  • the order of an elliptic curve can be determined by a known counting method. Alternatively it is possible the order about the relationship
  • FIG. 2 shows a block diagram of a test object A and a test device B.
  • the test object may be, for example, a smart card or an RFID chip.
  • the testing device B is the corresponding reading device.
  • the test object A has ei ⁇ ne memory device 1, in which a private key KP is held. This private key KP is kept secret and is in no way readable by an external device.
  • the parameters required for the parameterization of an elliptic curve E are stored.
  • a data processing device 3 performs an encryption algorithm based on the private key and an elliptic curve, which is determined by the parameters which cher worn in the SpeI ⁇ stored second
  • the parameters or the elliptic curve are determined by means of the method according to the invention, for example by the exemplary embodiment shown in FIG.
  • the test object has a receiving device 4, which can receive an x-coordinate of a point.
  • This x coordinate is supplied to the data processing means 3 which carries out the predetermined process from ⁇ . What is special about this method is that it is only applied to the x-coordinate and only requires the x-coordinate of a point.
  • the processed or encrypted x-coordinate is output by a transmitting device 5.
  • the test object A does not check whether the transmitted x-coordinate can be a valid x-coordinate.
  • the test object A does not check whether this x-coordinate is assigned to a point P of the elliptic curve.
  • the selected rule ⁇ elliptic curves that are stored in the memory means 2 shall make sure that such an x- Coordinate no spying or partial spying of the private key is possible.
  • the tester B has a random number generator 10 which selects an arbitrary point PO from the elliptic curve. This is transmitted by means of a transmitting device 11 to the test object A. Furthermore, the checking device B has a receiving device for receiving the processed x-coordinate Q (x). A data processing device 13 checks the processed x-coordinate on the basis of a public key of the test object A. The public key can either be stored in the test device B or obtained from an external source. If the decrypted value corresponds to the previously randomly generated x-coordinate, it is output at an interface 14 that the identity of the test object A is confirmed.
  • a first step S generates a to ⁇ event generator a point PO on the elliptic curve E and transmits the x-coordinate as a request to the test ⁇ object A. This is calculated from the x-coordinate with its private key KP a response (Sil) , Subsequently, the test object transmits the answer Q (x) and possibly also its public key KO. The response is ge by the verifier B using the public key KO ⁇ checked (S12). Upon confirmation of the response, a signal is output that person A is authenticated or identified (S13, S14).
  • a suitable elliptic curve is given by way of example.
  • the corresponding parameters of the elliptic curve E are:
  • the base point P (x, y) is defined by the coordinates
  • each point of the elliptic curve E can be represented as a scalar multiple of the base point P.
  • the orders of the curves E and the twisted curves E ' have the following value:

Abstract

The invention relates to a method for determining an elliptical curve, suitable for a cryptographic method, comprising the following steps: (a) an elliptical curve to be tested is prepared; (b) the order of a twisted elliptical curve associated with the elliptical curve to be tested is determined; (c) it is automatically checked whether the order of the twisted elliptical curve is a strong prime number; and (d) if the order of the twisted elliptical curve is a strong prime number, the elliptical curve to be tested is selected as an elliptical curve suitable for cryptographical methods.

Description

Beschreibungdescription
Kryptographisches Verfahren mit elliptischen KurvenCryptographic method with elliptic curves
Die vorliegende Erfindung betrifft ein Verfahren zum Ermit¬ teln von elliptischen Kurven, insbesondere von elliptischen Kurven welche für kryptographische Datenverarbeitung geeignet sind. Ferner betrifft die vorliegende Erfindung ein kryp¬ tographisches Verfahren und eine Vorrichtung, die auf den zu- vor ausgewählten elliptischen Kurven basieren.The present invention relates to a method for Ermit ¬ stuffs of elliptic curves, which, in particular of elliptic curves are suitable for cryptographic data processing. Further, the present invention relates to a kryp ¬ tographisches method and apparatus based on the to-elliptical front selected curves.
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üs¬ selungsverfahren, die für einen Teilnehmer sowohl einen privaten und geheim gehaltenen Schlüssel als auch einen öffentlichen Schlüssel vorsehen.Cryptographic techniques are used to encrypt messages, sign documents, and authenticate people or objects, among other things. For this purpose, called asymmetric Locks ¬ are particularly so selungsverfahren, as well as provide a public key for a user in both a private and secret keys.
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 da¬ nach in der Lage, die Botschaft mit dem nur ihm bekannten privaten Schlüssel wieder zu entschlüsseln.When encrypting a message, the sender obtains the public key of the desired addressee and thus encrypts the message. Only the addressee is there ¬ able to decrypt the message again with the private key known only to him.
Beim Signieren eines Dokuments berechnet ein Unterzeichnender aus einem Dokument mit seinem privaten Schlüssel eine elekt¬ ronische 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, er- gibt 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 An¬ frage 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.When signing a document a Signing a document calculates a elekt ¬ tronic signature with his private key. Other people can easily verify the signature using the undersigned's public key. However, only signatures can be verified with the public key, which are signed with the associated private key. This unambiguous assignment and the assumption that the private key is kept secret by the signer result in a clear assignment of the signature to the signer and the document. When authenticating using a challenge-response (request-response) protocol transmits a testing a request to a person and ask it to this on ¬ ask with the private key of the person to calculate an answer and be returned. A positive authentication occurs in the event that the verifier can verify the returned response with the public key of the person under review.
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.The asymmetric cryptography methods are based on a private and a public key, as stated above. In this case, the public key is generated from the private key by means of a predetermined algorithm. Essential for the cryptographic methods is that a reversal, i. H. a determination of the private key from the public key in finite time with the available computing capacity is not manageable. The latter is granted if the key length of the private key reaches a minimum length. The minimum length of the key depends on the algorithms used for encryption and the determination of the public key.
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 ellip¬ tischen 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 Re¬ chenaufwand langsamer als mit exponentiellen Anstieg mit zu- nehmender Schlüssellänge ansteigt. In anderen Worten der Si¬ cherheitsgewinn pro zusätzliche Bitlänge des verwendeten Schlüssels ist höher als bei anderen Verfahren. Für prakti- sehe Anwendungen können daher deutlich kürzere Schlüssellängen verwendet werden.Operations with public or private keys require a certain amount of computation. This depends on the algorithms used and also on the length of the keys used. It proves to be advantageous to use encryption algorithms based on ellip ¬ tables curves, since they provide a high level of security with short key lengths. So far, unlike other methods, no determination of the private key from the public key is known for cryptographic methods based on elliptic curves, the Re ¬ chenaufwand increases slower than exponential increase with increasing key length. In other words, the Si ¬ cherheitsgewinn per additional bit length of the key used is higher than in other processes. For practical therefore, shorter key lengths can be used.
Eine elliptische Kurve E ist allgemein durch eine Weierstraß- Gleichung definiert, welche sich als folgende kubische Glei¬ chung schreibt:An elliptic curve E is generally defined by a Weierstrass equation which written as following cubic sliding ¬ chung:
Dabei sind die ai a∑ a3 aβ fest ausgewählte Elemente einesThe ai are aΣ a3 a selected elements of a
Körpers K und die Paare (x, y) heißen Punkte der elliptischen Kurve E und erfüllen die Weierstraß-Gleichung. Für die kryp- tographischen Verfahren wird ein endlicher Körper K ausgewählt. Entsprechend ist auch die Anzahl der Punkte der ellip- tischen Kurve E endlich und wird nachfolgend als Ordnung ord(E) der Kurve E bezeichnet. Zusätzlich wird ein formaler Punkt im Unendlichen eingeführt.Body K and the pairs (x, y) are hot points of the elliptic curve E and satisfy the Weierstrass equation. For the cryptographic methods, a finite field K is selected. Correspondingly, the number of points of the elliptic curve E is finite and is hereinafter referred to as the order ord (E) of the curve E. In addition, a formal point is introduced at infinity.
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 die- se Weise eine Skalarmultiplikation definiert werden, welche als mehrfache Addition eines Punktes mit sich selbst defi¬ niert ist. P sei ein Punkt der elliptischen Kurve E, s eine ganze Zahl und Q=sP das s-fache des Punktes P. Q ist eben¬ falls 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 Kommunikations¬ teilnehmern. 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ög¬ lich 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.An abelian group structure G can be defined on the set of points of the elliptic curve. The operation of the abelian group structure is hereinafter referred to as addition and written additively. The addition of two arbitrary points of the elliptic curve clearly gives a third point of this elliptic curve. Further, a scalar multiplication can be defined in DIE se, which is defined as multiple addition of a point to itself defi ¬. P is a point on the elliptic curve E, s is an integer and Q = sP the s-fold of the point P. Q is flat ¬ if a point of the elliptic curve. The determination of the scalar s at given points P and Q is called a discrete logarithm problem for elliptic curves. With a suitable choice of the body K and the parameters of the elliptic curve E, it is impossible with the computer equipment available today to solve the discrete logarithm problem within a reasonable time. The security of cryptographic methods using elliptic curves is based on this difficulty. A communication user selects a scalar s as his private key and keeps it secret. Furthermore, it generates the public key Q from a starting point P as the scalar multiple of the starting point. With respect to the start point P is agreement between the communication ¬ participants. S is a determination of the private key from the public key Q due to the high computational effort of the discrete logarithm problem does not mög ¬ Lich and thus granted the security of cryptographic methods with elliptic curves. Another requirement of the elliptic curves is that their order is a large prime or the product of a large prime with a small number.
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 Al ist gezeigt, dass eine Bestimmung des skalaren Vielfa¬ chen eines Punktes allein anhand der x-Koordinaten ohne Hin- zuziehen der y-Koordinaten möglich ist. Entsprechende Rechenvorschriften sind für beliebige Körper in der DE 101 61 138 Al 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 Verfah¬ ren nicht geprüft, ob ein Punkt wirklich Element der ellipti¬ schen Kurve ist.The cryptographic techniques provide a compromise between security to be expected and the computational effort during the encryption of data. In DE 101 61 138 Al it is shown that to determine the scalar Vielfa ¬ surfaces of a point using only the x-coordinate without reciprocating drawing the y-coordinates is possible. Corresponding calculation instructions are described for arbitrary bodies in DE 101 61 138 A1. This can be much more efficient implementations of the point arithmetic, z. As a Montgomery ladder for scalar multiplication, a lower number of body multiplies per point addition and a smaller number of registers for the point representation and achieve the intermediate results. However reindeer in this procedural ¬, is not checked whether a point element is really the elliptic curve ¬ rule.
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 Al beschrieben, dass hierdurch eine teilweise Rekonstruktion des privaten Schlüssels der Verschlüsselungs¬ einrichtung möglich ist. Die DE 10161138 Al 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:This results in the possibility to perform a side channel attack. An x-coordinate of a point can be transmitted to an encryption device, the point not lying on the elliptic curve. For this purpose, it is described in DE 10161138 A1 that in this way a partial reconstruction of the private key of the encryption device is possible. DE 10161138 A1 specifically uses to prevent such side channel attack. chose elliptic curves. The criterion used here are the twisted elliptic curves associated with the elliptic curves. The associated twisted elliptic curve is defined as follows:
y2 + vaixy + a3y = x3 + va2X2 + v2a4xv3aε,y 2 + vaixy + a3y = x 3 + va2X 2 + v 2 a4xv 3 aε,
wobei die Parameter ai, a2, a3, a4, a6 die Parameter der el¬ liptischen 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. Al¬ le diese getwisteten elliptischen Kurven sollen nach der DE 10161138 Al ebenfalls eine Ordnung haben, die eine große Primzahl oder das Produkt einer großen Primzahl mit einer kleinen Zahl ist.wherein the parameters ai, a 2, a 3, a 4, a 6, the parameters of the el ¬ liptischen curves. The parameters v are all non-squares of the body K if the characteristic of the body K is odd or an element of the body K with trace 1. Al ¬ le these twisted elliptic curves should also have an order according to DE 10161138 Al, the one large prime or the product of a large prime number with a small number.
Die Autoren Daniel R. L. Brown und Robert P. Gallant be¬ schreiben 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 auszu¬ spähen .The authors write Daniel RL Brown and Robert P. Gallant be ¬ in their article "The Static Diffie-Hellman problem" another opportunity for a side-channel attack, completely to a private key or in part for For ¬ peek.
Vor diesem Hintergrund liegt der Erfindung die Aufgabe zugrunde, ein Verfahren bereitzustellen, welches elliptische Kurven auswählt, die bei Seitenkanalangriffen keinen Rück- schluss auf den privaten Schlüssel ermöglichen.Against this background, the object of the invention is to provide a method which selects elliptic curves which do not permit any conclusion on the private key in side channel attacks.
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ätsbes¬ tä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 .According to the invention, this object is achieved by the method having the features of patent claim 1. A method for the cryptographic processing of data with the features of claim 4 and a device for Identitätsbes ¬ actuation of a person or an object with the features of claim 6 also prevent a determination of the private key or a partial determination of the private key by side channel attacks.
Demgemäß ist vorgesehen: Verfahren zum Ermitteln einer elliptischen Kurve, die für kryptographische Verfahren geeignet ist, mit den folgenden Schritten :Accordingly, it is provided: Method for determining an elliptic curve suitable for cryptographic methods, comprising the following steps:
(a) Bereitstellen einer zu testenden elliptischen Kurve;(a) providing an elliptic curve to be tested;
(b) Bestimmen der Ordnung einer getwisteten elliptischen Kurve, die der zu testenden elliptischen Kurve zugeordnet ist;(b) determining the order of a twisted elliptic curve associated with the elliptic curve to be tested;
(c) automatisches Prüfen, ob die Ordnung der getwisteten elliptischen Kurve eine starke Primzahl ist; und(c) automatically checking if the order of the twisted elliptic curve is a strong prime; and
(d) Auswählen der zu testenden elliptischen Kurve als eine elliptische Kurve, die für kryptographische Verfahren geeig¬ net ist, wenn die Ordnung der getwisteten elliptischen Kurve eine starke Primzahl ist.(d) selecting the test elliptic curve as the elliptic curve net cryptographic procedures geeig ¬ when the order of the twisted elliptic curve is a strong prime number.
Verfahren zum kryptographischen Verarbeiten von Daten mit den folgenden Schritten:Method for cryptographically processing data with the following steps:
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üs¬ selungsverfahrens 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.Providing an elliptic curve determined by one of the methods of claims 1 to 3; Providing only one x-coordinate of a point; Providing a private key; automatically applying a cryptographic Locks ¬ selungsverfahrens on the x coordinate using the provided elliptic curve and the private key for determining an encrypted x-coordinate; and outputting a value based on the encrypted x-coordinate.
Vorrichtung zur Identitätsbestätigung einer Person oder eines Objekts mit einer Empfangseinrichtung, die zum Empfangen einer Koor- dinate 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 ausge- wählt ist, und einer Ausgabeeinrichtung, die zum Ausgeben der verarbeiteten Koordinate eingerichtet ist.A device for confirming the identity of a person or an object with a receiving device that serves to receive a coordinate, a storage device that holds a private key of the person or the object, processing means for processing the received coordinate with the private key, wherein the processing is based on an elliptic curve selected according to any of the methods 1 to 3 and an output means arranged to output the processed coordinate.
Die der vorliegenden Erfindung zugrunde liegende Idee besteht darin, eine elliptische Kurve nur dann für kryptographischeThe idea underlying the present invention is to provide an elliptic curve only for cryptographic
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:Method to use when the elliptic curves twisted to this elliptic curve have an order that is a strong prime. A strong prime P is described by the following equation:
P = I + r-q,P = I + 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 Sei- tenkanalangriffe, 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.where r is a small number, typically in the range up to 255, and q is a large prime. Ideally, the strong prime is a so-called Sophie Germain prime, i. r is 2. The elliptic curves and the associated twisted elliptic curves correspond to the definitions given above. The present invention prevents page channel attacks based on improperly transmitted x coordinates or malformed incorrectly transmitted x coordinates, these x coordinates not corresponding to any point on the selected elliptic curve. The method according to the invention is robust to the extent that even with such x-coordinates no spying or partial determination of the private key by an external device is possible.
Vorteilhafte Weiterbildungen und Ausgestaltungen sind Gegenstand der weiteren Unteransprüche oder ergeben sich aus der Beschreibung in Zusammenschau mit der Zeichnung.Advantageous developments and refinements are the subject of the other dependent claims or will become apparent from the description in conjunction with the drawings.
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 .According to one embodiment, the order of the twisted elliptic curve is calculated by counting a number of points. true, which lie on the twisted elliptic curve. Alternatively, the order of the twisted elliptic curve may also be made based on a determination of the order of the elliptic curve and the characteristic of the body. For this purpose, clear mathematical relations between the different orders can be used. The counting of the dots is done by methods well known to those skilled in the art.
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.In one embodiment, it is automatically checked whether the order of the elliptic curve to be tested is a strong prime, and the elliptic curve to be tested is selected for cryptographic methods only if the order of the elliptic curve to be tested is a strong prime.
Die vorliegende Erfindung wird nachfolgend anhand der in den schematischen Figuren der Zeichnung angegebenen Ausführungsbeispiele erläutert. Dabei zeigenThe present invention is explained below with reference to the exemplary embodiments indicated in the schematic figures of the drawing. Show
Fig. 1 ein Flussdiagramm einer Ausführungsform des erfindungsgemäßen Verfahrens;1 shows a flow chart of an embodiment of the method according to the invention;
Fig. 2 ein Blockdiagramm einer Ausführungsform der erfindungsgemäßen Vorrichtung; undFig. 2 is a block diagram of an embodiment of the device according to the invention; and
Fig. 3 ein Flussdiagramm einer Ausführungsform des erfindungsgemäßen Verfahrens, das durch die Vorrichtungen aus Fig. 2 ausgeführt wird.3 is a flowchart of an embodiment of the method according to the invention, which is carried out by the devices of FIG. 2.
In Fig. 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 (Sl) . 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 ai, a2, a3, a4, a6 festgelegt. Durch entspre¬ chende 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.FIG. 1 shows a flow chart for illustrating an embodiment of the method according to the invention. In a first step, a pool with elliptic curves E is provided (S1). The elliptic curves E are defined over a finite field K. Thus, the curve E contains a finite number of points P. As already described, the elliptic curve is defined by the Weierstrass equation and the parameters ai, a 2 , a 3 , a 4 , a 6 . By corre ¬ sponding restrictions or changes in the parameterization individual parameters can be zero. The parameters are selected so that the elliptic curves are not singular.
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 Wei- erstraß-Gleichung erfüllen. In einer geometrischen Deutung sind dies alle Punkte P, die auf der elliptischen Kurve E liegen .Subsequently, the order of the elliptic curve is determined (S2). The order of the elliptic curve is understood to mean the number of points over a body K that satisfy the Weerrstraß equation. In a geometric interpretation, these are all points P lying on the elliptic curve E.
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 ausge¬ wä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.The order of the elliptic curve, abbreviated ord (E), should be a prime number. If a review that this is not a prime number, a different curve E is out of the pool on the ¬ selected (S8). If the order of the elliptic curve E is confirmed to be prime, a check is made as to whether the order of the elliptic curve is a strong prime (S3). The definition of a strong prime is given above.
In einem nächsten Schritt werden die zu der elliptischen Kur- ve 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 Ein- zelnen wird die Ordnung der getwisteten Kurve E' bestimmtIn a next step, the elliptical curves E that are twisted into the elliptic curve E are checked (S4). The definition for the twisted curves E 'is already given above. The check is made for all twisted curves E ', i. for all possible parameters v, which are correspondingly not a square or an element with track 1. In detail, the order of the twisted curve E 'is determined
(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.(S5). The order of the twisted curve E 'should also be a prime number like the elliptic curve. If this is not satisfied, another elliptic curve E is selected.
Zusätzlich wird geprüft, ob die Ordnung der elliptischen Kurve E' eine starke Primzahl ist (E6) .In addition, it is checked whether the order of the elliptic curve E 'is a strong prime number (E6).
Sind alle vier Bedingungen der Schritte S2, S3, S5 und S6 er¬ fü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 BeziehungIf all four conditions of steps S2, S3, S5 and S6 it fills ¬, the elliptic curve E is selected for a cryptographic method. The order of an elliptic curve can be determined by a known counting method. Alternatively it is possible the order about the relationship
ord(E) + ord(E') = 2-|κ| + 2ord (E) + ord (E ') = 2- | κ | + 2
zu bestimmen, wobei κ| die Charakteristik des Körpers K ist.to determine, where κ | the characteristic of the body K is.
In Fig. 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 ei¬ ne 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 Spei¬ chereinrichtung 2 abgelegt sind. Die Parameter bzw. die elliptische Kurve sind anhand des erfindungsgemäßen Verfahrens, z.B. durch das in Fig. 1 gezeigte Ausführungsbeispiel be- stimmt. 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 aus¬ fü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 Testob- jekt A prüft nicht, ob diese x-Koordinate einem Punkt P der elliptischen Kurve zugeordnet ist. Die ausgewählten ellipti¬ schen 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.FIG. 2 shows a block diagram of a test object A and a test device B. The test object may be, for example, a smart card or an RFID chip. The testing device B is the corresponding reading device. The test object A has ei ¬ ne memory device 1, in which a private key KP is held. This private key KP is kept secret and is in no way readable by an external device. In a further memory device 2, the parameters required for the parameterization of an elliptic curve E are stored. A data processing device 3 performs an encryption algorithm based on the private key and an elliptic curve, which is determined by the parameters which chereinrichtung in the SpeI ¬ stored second The parameters or the elliptic curve are determined by means of the method according to the invention, for example by the exemplary embodiment shown in FIG. Furthermore, the test object has a receiving device 4, which can receive an x-coordinate of a point. This x coordinate is supplied to the data processing means 3 which carries out the predetermined process from ¬. What is special about this method is that it is only applied to the x-coordinate and only requires the x-coordinate of a point. The processed or encrypted x-coordinate is output by a transmitting device 5. The test object A does not check whether the transmitted x-coordinate can be a valid x-coordinate. The test object A does not check whether this x-coordinate is assigned to a point P of the elliptic curve. However, the selected rule ¬ elliptic curves that are stored in the memory means 2 shall make sure that such an x- Coordinate no spying or partial spying of the private key is possible.
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.The tester B has a random number generator 10 which selects an arbitrary point PO from the elliptic curve. This is transmitted by means of a transmitting device 11 to the test object A. Furthermore, the checking device B has a receiving device for receiving the processed x-coordinate Q (x). A data processing device 13 checks the processed x-coordinate on the basis of a public key of the test object A. The public key can either be stored in the test device B or obtained from an external source. If the decrypted value corresponds to the previously randomly generated x-coordinate, it is output at an interface 14 that the identity of the test object A is confirmed.
In Fig. 3 ist hierzu in einem Flussdiagramm noch einmal schematisch der Ablauf einer Identifikation eines Testobjektes A dargestellt. In einem ersten Schritt SlO generiert ein Zu¬ fallsgenerator einen Punkt PO auf der elliptischen Kurve E und übermittelt dessen x-Koordinate als Anfrage an das Test¬ objekt A. Dieses berechnet aus der x-Koordinate mit seinem privaten Schlüssel KP eine Antwort (Sil) . Nachfolgend über- mittelt 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 ge¬ prüft (S12) . Bei einer Bestätigung der Antwort wird ein Signal ausgegeben, dass die Person A authentifiziert oder iden- tifiziert ist (S13, S14) .In FIG. 3, the flow of an identification of a test object A is again shown schematically in a flow chart. In a first step S generates a to ¬ event generator a point PO on the elliptic curve E and transmits the x-coordinate as a request to the test ¬ object A. This is calculated from the x-coordinate with its private key KP a response (Sil) , Subsequently, the test object transmits the answer Q (x) and possibly also its public key KO. The response is ge by the verifier B using the public key KO ¬ checked (S12). Upon confirmation of the response, a signal is output that person A is authenticated or identified (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:In the following, a suitable elliptic curve is given by way of example. The finite field K has the form Z / pZ, and the equation of the elliptic curve E is given by y 2 = x 3 + ax + b. The corresponding parameters of the elliptic curve E are:
p = 517847993827160675843549642866661055787617496734405781471 a = 38341706974568098172697905376562415410863420236739650958 b = 395393382584534989047698356330422317897630021672687214876p = 517847993827160675843549642866661055787617496734405781471 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') =The order of the elliptic curve ord (E) = 517847993827160675843549642866661055787617496734522943517 and the elliptic curve E 'twisted to the elliptic curve E also has a prime order ord (E') =
517847993827160675843549642866661055787617496734288619427. Der Basispunkt P = (x,y) ist durch die Koordinaten517847993827160675843549642866661055787617496734288619427. The base point P = (x, y) is defined by the coordinates
x = 81094469663915015430255024705469171085831504304496796756 y = 482060190644397986573077501327725919378173632606557848976y = 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 :given lies on the elliptic curve E and in this case even generates a complete point group. That is, each point of the elliptic curve E can be represented as a scalar multiple of the base point P. Further, the orders of the curves E and the twisted curves E 'have the following value:
Ord(E) = 1 + 4 • 129461998456790168960887410716665263946904Ord (E) = 1 + 4 • 129461998456790168960887410716665263946904
374183630735879 Ord(E') = 1 + 2 • 258923996913580337921774821433330527893808374183630735879 Ord (E ') = 1 + 2 • 258923996913580337921774821433330527893808
748367144309713748367144309713
Damit sind alle geforderten Eigenschaften für die elliptische Kurve für ein kryptographisches Verfahren erfüllt. This fulfills all required properties for the elliptic curve for a cryptographic method.

Claims

Patentansprüche claims
1. Verfahren zum Ermitteln einer elliptischen Kurve, für kryptographische Verfahren mit den Schritten:A method of determining an elliptic curve for cryptographic methods comprising the steps of:
(a) Bereitstellen einer zu testenden elliptischen Kurve;(a) providing an elliptic curve to be tested;
(b) Bestimmen der Ordnung einer getwisteten elliptischen Kur- ve, die der zu testenden elliptischen Kurve zugeordnet ist ;(b) determining the order of a twisted elliptical curve associated with the elliptic curve to be tested;
(c) automatisches Prüfen, ob die Ordnung der getwisteten elliptischen Kurve eine starke Primzahl ist; und(c) automatically checking if the order of the twisted elliptic curve is a strong prime; and
(d) Auswählen der zu testenden elliptischen Kurve als eine elliptische Kurve, die für kryptographische Verfahren ge¬ eignet ist, wenn die Ordnung der getwisteten elliptischen Kurve eine starke Primzahl ist.(d) selecting the test is suitable elliptic curve as the elliptic curve, the cryptographic procedures ge ¬ when the order of the twisted elliptic curve is a strong prime number.
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 el- liptischen Kurve liegen, bestimmt wird.2. Method according to claim 1, characterized in that the order of the twisted elliptic curve is determined by counting a number of points lying on the twisted elliptic curve.
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.A method according to claim 1, characterized in that the elliptic curve to be tested is defined over a body having a known characteristic and the order of the twisted elliptic curve is determined based on a determination of the order of the elliptic curve and the characteristic of the body.
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 Ver¬ fahren ausgewählt wird, wenn die Ordnung der zu testenden elliptischen Kurve eine starke Primzahl ist.4. The method according to any one of the preceding claims, characterized in that it is automatically checked whether the order of the elliptic curve to be tested is a strong prime and that the elliptic curve to be tested is selected for the cryptographic method when the order of the elliptic curve to be tested is a strong prime.
5. Verfahren zum kryptographischen Verarbeiten von Daten mit den Schritten:5. Method for cryptographically processing data with the steps:
(a) Ermitteln und Bereitstellen einer elliptischen Kurve mittels eines Verfahrens nach einem der vorherigen Ansprü¬ che; (b) Bereitstellen lediglich einer x-Koordinate eines Punktes;(A) determining and providing an elliptic curve by means of a method according to one of the preceding Ansprü ¬ surface; (b) providing only one x-coordinate of a point;
(c) Bereitstellen eines privaten Schlüssels;(c) providing a private key;
(d) automatisches Anwenden eines kryptographischen Verfahrens auf die x-Koordinate unter Verwendung der bereitgestell¬ ten elliptischen Kurve und des privaten Schlüssels zum Bestimmen einer verarbeiteten x-Koordinate;(d) automatically applying a cryptographic method to the x-coordinate by using the ready rack ¬ th elliptic curve and the private key for determining a processed x-coordinate;
(e) Ausgeben eines Wertes basierend auf der verarbeiteten x- Koordinate .(e) output a value based on the processed x-coordinate.
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 öffent- liehen Schlüssel prüft; und die Prüfstelle eine Bestätigung einer Identität des Testob¬ jekts ausgibt, wenn die Prüfung die Gültigkeit der verarbei¬ teten x-Koordinate ergibt .6. The method according to claim 5, characterized in that the x-coordinate is sent from a test site to a test object; the test object provides the private key; the test object determines the processed x-coordinate; the test object transmits the processed x-coordinate to the test site; the verifier provides a public key of the test object; the verifier checks the processed x-coordinate with the public key; and the test center issues a confirmation of identity of Testob ¬ jekts when examining the validity of the proces ¬ ended resulting x coordinate.
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. 7. A device for confirming the identity of a person or an object, having a receiving device which is provided for receiving a coordinate, with a storage device holding a private key of the person or object, with a processing device that processes the received coordinates using a method according to one of claims 1 to 4 with the private key based on the elliptic curve, and with an output device which is set up to output the processed coordinate.
EP07726643A 2006-03-23 2007-03-06 Cryptographic method with elliptical curves Ceased EP1997000A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102006013515A DE102006013515A1 (en) 2006-03-23 2006-03-23 Cryptographic method with elliptic curves
PCT/EP2007/052075 WO2007107450A1 (en) 2006-03-23 2007-03-06 Cryptographic method with elliptical curves

Publications (1)

Publication Number Publication Date
EP1997000A1 true EP1997000A1 (en) 2008-12-03

Family

ID=38190860

Family Applications (1)

Application Number Title Priority Date Filing Date
EP07726643A Ceased EP1997000A1 (en) 2006-03-23 2007-03-06 Cryptographic method with elliptical curves

Country Status (7)

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

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009118224A1 (en) * 2008-03-25 2009-10-01 Siemens Aktiengesellschaft Method for the computer-supported determination of an elliptical curve for cryptographic applications
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 (en) * 2011-06-29 2011-11-02 电子科技大学 Zero knowledge identity authentication method based on strong primes
US9590805B1 (en) * 2014-12-23 2017-03-07 EMC IP Holding Company LLC Ladder-based cryptographic techniques using pre-computed points

Family Cites Families (25)

* 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 (en) 1997-07-30 2006-10-18 富士通株式会社 Prime number generation device, B-smoothness determination device, and recording medium
JPH11234259A (en) 1998-02-13 1999-08-27 Hitachi Ltd Other party authentication and key delivery method, device using the method, cryptography communication method and system therefor
CA2252078C (en) * 1998-10-28 2009-02-17 Certicom Corp. Power signature attack resistant cryptographic system
FR2791496B1 (en) * 1999-03-26 2001-10-19 Gemplus Card Int COUNTERMEASUREMENT METHODS IN AN ELECTRONIC COMPONENT USING AN ELLIPTICAL CURVE TYPE PUBLIC KEY CRYTOGRAPHY ALGORITHM
FR2791497B1 (en) * 1999-03-26 2001-05-18 Gemplus Card Int COUNTERMEASUREMENT METHODS IN AN ELECTRONIC COMPONENT USING AN ELLIPTICAL CURVE TYPE PUBLIC KEY CRYTOGRAPHY ALGORITHM
US6829356B1 (en) * 1999-06-29 2004-12-07 Verisign, Inc. Server-assisted regeneration of a strong secret from a weak secret
JP2002099211A (en) * 2000-09-21 2002-04-05 Sony Corp System and method for processing public key certificate issuing request
DE10161137B4 (en) * 2001-12-12 2008-02-14 Siemens Ag Method and system for cryptographically processing data
DE10161138B4 (en) * 2001-12-12 2008-02-14 Siemens Ag Method and apparatus for determining an elliptic curve, method and apparatus for multiplying a point by a scalar
JP2003255831A (en) * 2002-02-28 2003-09-10 Hitachi Ltd Method and device for calculating elliptic curve scalar multiple
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 (en) * 2003-10-03 2011-01-12 パナソニック株式会社 Information transmission system, encryption device, and decryption device
US7647498B2 (en) * 2004-04-30 2010-01-12 Research In Motion Limited Device authentication
JP2005321719A (en) 2004-05-11 2005-11-17 Ntt Docomo Inc Communication system, decrypting device, restoration device, key generation device, and communication method
CN101099328B (en) * 2004-11-11 2011-05-18 塞尔蒂卡姆公司 Custom static Diffie-Hellman groups
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
US20060153369A1 (en) * 2005-01-07 2006-07-13 Beeson Curtis L Providing cryptographic key based on user input data
US7490239B2 (en) * 2005-01-07 2009-02-10 First Data Corporation Facilitating digital signature based on ephemeral private key
US7693277B2 (en) * 2005-01-07 2010-04-06 First Data Corporation Generating digital signatures using ephemeral cryptographic key
US8396213B2 (en) * 2005-01-21 2013-03-12 Certicom Corp. Elliptic curve random number generation
US7864951B2 (en) * 2006-07-10 2011-01-04 King Fahd University Of Petroleum And Minerals Scalar multiplication method with inherent countermeasures
KR101233682B1 (en) 2010-09-15 2013-02-15 고려대학교 산학협력단 Calculating apparatus and method for elliptic curve cryptography

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BROWN D R L ET AL: "The Static Diffie-Hellman Problem", 23 June 2005 (2005-06-23), pages 1 - 17, XP002533452, Retrieved from the Internet <URL:http://eprint.iacr.org/2004/306.ps> *
See also references of WO2007107450A1 *

Also Published As

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

Similar Documents

Publication Publication Date Title
EP2197149B1 (en) Device and method for processing data
DE102012206341B4 (en) Joint encryption of data
DE102010002241B4 (en) Apparatus and method for efficient one-way authentication
DE112011100182B4 (en) Data security device, computing program, terminal and system for transaction verification
EP1125395B1 (en) Method and array for authenticating a first instance and a second instance
EP2656535B1 (en) Cryptographic method
EP1368929B1 (en) Authentication method
CH708239A2 (en) Key agreement protocol.
DE69838258T2 (en) Public key data transmission systems
EP2340502A2 (en) Data processing system for providing authorization keys
DE102006060760A1 (en) Subscribers authenticating method for radio frequency identification communication system, involves encrypting calculated response and certificate associated with subscriber in randomized manner, and decrypting and authenticating response
DE19829643A1 (en) Digital signature verification method
EP1997000A1 (en) Cryptographic method with elliptical curves
DE10143728A1 (en) Device and method for calculating a result of a modular exponentiation
EP1062764B1 (en) Elliptic curve cryptographic process and device for a computer
EP3465513B1 (en) User authentication by means of an id token
CH711134A2 (en) Key tuning protocol.
EP2124382A1 (en) Method for encrypted data exchange and communication system
CH708240A2 (en) Signature log and device for its implementation.
EP2730050B1 (en) Method for generating and verifying an electronic pseudonymous signature
DE60221863T2 (en) METHOD FOR IMPLEMENTING A CRYPTOGRAPHIC ALGORITHM TO FIND THE PUBLIC EXPONENT IN AN ELECTRONIC COMPONENT
EP2975799A1 (en) Data-minimising authentication
DE10159690C2 (en) Procedure for agreeing a symmetrical key over an insecure channel and for digital signature
EP1054364A2 (en) Method to improve security of systems using digital signatures
EP4068684A1 (en) Cryptographic system with trapdoor function

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20080804

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): DE ES FR GB IT

RBV Designated contracting states (corrected)

Designated state(s): DE ES FR GB IT

17Q First examination report despatched

Effective date: 20100211

R17C First examination report despatched (corrected)

Effective date: 20100211

DAX Request for extension of the european patent (deleted)
RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: SIEMENS AKTIENGESELLSCHAFT

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20160216