EP1222527A1 - Method for generating pseudo random numbers and method for electronic signatures - Google Patents

Method for generating pseudo random numbers and method for electronic signatures

Info

Publication number
EP1222527A1
EP1222527A1 EP00958257A EP00958257A EP1222527A1 EP 1222527 A1 EP1222527 A1 EP 1222527A1 EP 00958257 A EP00958257 A EP 00958257A EP 00958257 A EP00958257 A EP 00958257A EP 1222527 A1 EP1222527 A1 EP 1222527A1
Authority
EP
European Patent Office
Prior art keywords
points
random numbers
pseudo random
generating
curves
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
EP00958257A
Other languages
German (de)
French (fr)
Inventor
Erwin Hess
Pascale Serf
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 EP1222527A1 publication Critical patent/EP1222527A1/en
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/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • G06F7/584Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • 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

Definitions

  • the invention relates to a method for generating pseudo random numbers and a method for electronic signature.
  • Random numbers are required in cryptography to encrypt or sign messages.
  • An addition modulo 26 is carried out so that no numbers greater than 25 arise.
  • texts are converted into binary numbers and zeros and ones are added modulo 2.
  • the recipient subtracts the character stream - modulo 26 or 2 - from the received ciphertext and thereby recovers the plaintext.
  • the character stream is generated with the help of random number generators. These used to be based on high-frequency voltage fluctuations in certain pipes, so-called thyratrons, and later on radioactive decay events.
  • a disadvantage of the RSA method is that it is too slow for message encryption, since very large numbers - approximately 1000 binary or 300 decimal places - have to be used to ensure adequate security. Such large numbers must be exponentiated with others of the same order of magnitude, which cannot be done quickly enough to encrypt data to be transmitted.
  • the RSA method is therefore only used for the encrypted transmission of keys to be kept secret for a conventional method, which then carries out the actual encryption.
  • Such methods based on elliptic curves require considerably less computing power with the same security as the RSA method.
  • Such methods can be implemented in small computers, e.g. m chip cards. Siemens AG sells a chip card with the brand name SLE44CR80S, which implements a signature process based on elliptical curves.
  • Random numbers are again required to generate the keys, the public key that the recipient publishes, and its corresponding private key.
  • the invention is therefore based on the object of creating, on the basis of elliptical curves, a method for generating pseudorandom numbers which can be carried out simply and quickly and with which a large amount of high-quality random numbers can be generated.
  • the invention is also based on the object of creating a method for electronic signature based on elliptical curves and a corresponding device which require less storage space than known methods and devices for electronic signature based on elliptical curves and which are implemented on small computer systems, in particular chip cards can.
  • pairs of points are determined which lie on at least two different elliptical curves over a finite body, and a random number is determined as a function of such a pair of points.
  • the method according to the invention for electronic signature combines a known signature method with the method according to the invention for generating pseudo random numbers.
  • the same routines or devices can be used both in the signature method and in the generation of the random numbers, as a result of which program code and memory space can be saved considerably.
  • pseudorandom numbers generated according to the invention cannot be distinguished from random numbers of a real random generator and can be generated with relatively little computation effort.
  • FIG. 6 shows the basic principle of the method according to the invention for generating pseudo random numbers in a flow chart
  • FIG. 7 shows the structure of a program for executing a signature method according to the invention.
  • Fig. 2 shows an elliptic curve over a finite body.
  • Korper defines a "range of numbers" in which one can add, subtract, multiply and divide according to the formal calculation rules known from the rational numbers.
  • Finite bodies are, for example, the body GF (p) of the numbers mod p, where p is a prime number, or the body GF (2 n ) of the binary vectors of length n.
  • GF stands for "Galois field", which is a synonym for "finite body”.
  • FIG. 3 shows the addition of two points P P_ on an elliptic curve over the real numbers
  • Point P 3 results.
  • the connecting line of the points Pi and P ⁇ is formed and their 3rd intersection is determined with the elliptic curve. This point of intersection is mirrored on the x-axis and gives the result P ⁇ er addition of P : and P_.
  • a first elliptic curve E over the body GF (p) is given by the following equation:
  • p is a prime number with 160 bits.
  • the group order of an elliptic curve is the number of elements of the point group, i.e. the number of solutions of the defining equation of the elliptic curve E via GF (p).
  • the size of the group orders and their maximum prime divisors thus represents a quality feature of the method according to the invention, the group orders preferably being at least 2 100 or better 2 130 .
  • the curve E ' isogenic to the curve E, that is, when the course
  • q ' is a prime number with a length of 152 bits.
  • Step S1 from FIG. 5 is completed by determining the elliptic curves E, E ', the points P, P' and the starting values s, s'.
  • the procedure now goes to step S2, in which the points P, P 'are multiplied by s or s', the result being referred to as PA or PA'.
  • the multiplication is carried out as an s-fold or s-fold addition according to FIG. 3.
  • step S2 the points PA and PA 'are also sent to the
  • Pass step S4 in which the points P, P 'remain unchanged and s or s' is increased by one.
  • step S4 the process flow goes back to step S2, at which new points PA and PA 'are again formed, which are then passed back to step S3 for calculating further random bits and to step S4.
  • This process sequence can be repeated many times, with new random bits being generated again and again.
  • the inventors of the present invention have generated 20 x one million random bits using the above-described method for generating random numbers and have subjected these random bits to various statistical tests. With ⁇ en tests no deviations from real random bits could be determined.
  • step S3 the random number Z is determined from the two points PA and PA ', which originate from different elliptic curves E and E'. Linking these two points PA and PA 'ensures that the pseudorandom numbers generated cannot be used to determine the points P and P on which the calculation of the points PA and PA' is based by means of discrete logarithms. From the result from S3 it is therefore not possible to refer to the method for generating the points PA, PA ' steps S1, S2 and S4 are closed, which is shown by the dashed line in FIG. 5.
  • the invention is not restricted to the exemplary embodiment shown in FIG. 5.
  • the two x coordinates are linked by an addition modulo p.
  • x and y coordinates are linked by an addition modulo p.
  • x and y coordinates are linked by an addition modulo p.
  • x and y coordinates it is also possible that instead of fixed elliptic curves E, E 'with points P, P' after each calculation of PA and PA 'new curves E *, E *' and points P *, P * ' be determined, which are used to calculate the next points PA * and PA * '.
  • the values s, s' can also be changed as desired.
  • the values s, s' are integers. At the beginning of the method, they can be generated, for example, with a simple random generator that does not have to meet high standards.
  • 6 shows the basic principle of the present invention, which has a loop consisting of steps S5 and S6, wherein in step S5 two elliptic curves E, E ', two points P, P' on the two curves and two starting values s, s' can be selected. In step S6, the points P, P 'are multiplied by s and s', respectively, resulting in PA and PA'. Each time the loop S5, S6 is repeated, at least one of the pairs E, E 'or P, P' or s, s' is changed. It is also possible to change two or all 3 pairs according to a rule to be defined.
  • the program consists of a part P1 for carrying out the signature method, which uses a program part P2 with which multiplications on elliptic curves over finite bodies are carried out.
  • the program part P1 is supplied with a random number by a further program part P3, the program part P3 again using the program part P2 for multiplying on elliptic curves.
  • a data input stream I and a data output stream 0 are shown on the program part P1, the data input stream being a message to be signed and the data output stream being the signature.
  • the program part P1 can output its private and public key at the data output stream 0.
  • program part P1 corresponds to the signature methods and devices known per se based on elliptical curves.
  • the method according to the invention can be used in particular in computing devices with a lower computing capacity, such as Chip cards are used because the corresponding program code is extremely compact and the length of the numbers to be processed is significantly shorter than with an RSA procedure of the same security level.

Abstract

The invention relates to a method for generating pseudo random numbers and a method for electronic signatures. According to the inventive method for generating pseudo random numbers, points are determined on at least two different elliptical curves. A pseudo random number is produced respectively by linking the points. The linking of points of different elliptical curves to generate a pseudo random number makes it impossible to deduce the individual elliptical curves on the basis of the pseudo random numbers. The cryptographic security of the inventive method is thus tremendously increased because the computation of discrete logarithms is made impossible.

Description

Beschreibung description
Verfahren zum Erzeugen von Pseudozufallszahlen und Verfahren für elektronische SignaturMethod of generating pseudo random numbers and method for electronic signature
Die Erfindung betrifft ein Verfahren zum Erzeugen von Pseudozufallszahlen und ein Verfahren für elektronische Signatur.The invention relates to a method for generating pseudo random numbers and a method for electronic signature.
Zufallszahlen werden m der Kryptographie zum Verschlüsseln oder Signieren von Nachrichten benotigt. Im Artikel „Vom diplomatischen Code zur Fallturfunktion" von Otto Leiberich, Spektrum der Wissenschaft, Juni 1999, Seite 26 bis 34 wird ein Überblick über die Entwicklung der Kryptographie m Deutschland gegeben. Hierin ist ein früher verwendetes Wurm- oder Stromchiffrierverfahren beschrieben, bei dem eine sehr lange Zeichenfolge, die keinerlei innere Struktur aufweist, ein sogenannter Zeichenwurm oder Zeichenstrom, Zeichen f r Zeichen zu einer zu verschlüsselnden Nachricht, dem Klartext, addiert wird. Sind es Buchstaben, werden sie zunächst nach dem Schema a = 0, b = 1, ..., z = 25 m Zahlen verwandelt.Random numbers are required in cryptography to encrypt or sign messages. In the article "From diplomatic code to trap door function" by Otto Leiberich, Spectrum of Science, June 1999, pages 26 to 34, an overview of the development of cryptography in Germany is given. This describes a previously used worm or stream encryption method, in which a very long character string, which has no internal structure, a so-called character worm or character stream, character by character is added to a message to be encrypted, the plain text .. If they are letters, they are first written according to the scheme a = 0, b = 1,. .., z = 25 m numbers transformed.
Damit keine größeren Zahlen als 25 entstehen, wird eine Addition modulo 26 durchgeführt. Im Zeitalter der Computer werden die Texte m binare Zahlen verwandelt und Nullen und Einsen modulo 2 addiert. Der Empfanger subtrahiert vom empfangenen Geheimtext den Zeichenstrom - modulo 26 bzw. 2 - und gewinnt dadurch den Klartext zurück.An addition modulo 26 is carried out so that no numbers greater than 25 arise. In the age of computers, texts are converted into binary numbers and zeros and ones are added modulo 2. The recipient subtracts the character stream - modulo 26 or 2 - from the received ciphertext and thereby recovers the plaintext.
Der Zeichenstrom wird mit Hilfe von Zufallszahlengeneratoren erzeugt. Diese beruhten früher auf hochfrequenten Spannungs- Schwankungen bestimmter Rohren, sogenannter Thyratrons, und spater auf radioaktiven Zerfallsereignissen.The character stream is generated with the help of random number generators. These used to be based on high-frequency voltage fluctuations in certain pipes, so-called thyratrons, and later on radioactive decay events.
Da jedoch die Zeichenstrome jeweils parallel vom Sender zum Empfanger sicher übertragen werden müssen, ist ein erhebli- eher Durchsatz an sicherem Datentransfer notwendig. Man hat deshalb Verfahren zum Erzeugen von Pseudozufallszahlen, sogenannte Pseudozufallszahlengeneratoren, entwik- kelt, die m Abhängigkeit von einem Schlüssel eine im wesentlichen beliebig lange Folge von Pseudozufallszahlen erzeugen können. Hierdurch mußte bei obigem Codierverfahren lediglich ein Schlüssel zwischen den Kommunikationspartnern genei übermittelt werden, was wesentlich einfacher handhabbar ist, als jeweils einen kompletten Zeichenstrom zu übermitteln.However, since the character streams have to be securely transmitted in parallel from the sender to the receiver, a considerable throughput of secure data transfer is necessary. Methods have therefore been developed for generating pseudo random numbers, so-called pseudo random number generators, which, depending on a key, can generate a sequence of pseudo random numbers that is essentially of any length. As a result, only one key had to be transmitted between the communication partners in the above coding method, which is much easier to handle than transmitting a complete character stream in each case.
Für heutige offene Netze, insbesondere das Internet, sind Verfanren entwickelt worden, bei denen zwei Kommunikationspartner, die zum ersten Mal miteinander kommunizieren wollen, sich verschlüsselte Nachrichten übersenden können. Diese Verfahren sind sogenannte asymmetrische Schlusselverfahren, die auch als Public-Key-Verfahren bezeichnet werden, bei welchen der Empfanger seinen Schlüssel, den sogenannten Public Key, veröffentlicht.For today's open networks, especially the Internet, engineers have been developed in which two communication partners who want to communicate with each other for the first time can send encrypted messages. These methods are so-called asymmetrical key methods, which are also referred to as public key methods, in which the recipient publishes his key, the so-called public key.
Eines der bekanntesten Verfahren dieses Typs ist das soge- nannte RSA-Verfahren, bei dem Teile der Schlüssel, die sogenannten Schlusselmoduln, Produkte zweier großer Primzahlen sind. Der Sender der Nachricht kennt lediglich den Schlussel- modul, also das Produkt, und kann mit diesem nach einer bestimmten mathematischen Funktion die Nachricht verschlüsseln. Zur Entschlüsselung der Nachricht genügt jedoch nicht dieOne of the best known methods of this type is the so-called RSA method, in which parts of the key, the so-called key modules, are products of two large prime numbers. The sender of the message only knows the key module, ie the product, and can use it to encrypt the message according to a certain mathematical function. However, it is not sufficient to decrypt the message
Kenntnis des Produktes, sondern man benotigt die beiden Primzahlen. Mit Hilfe dieser Primzahlen und einer entsprechenden Umkehrfunktion kann nur der richtige Empfanger, der den Schlüssel erzeugt hat, die verschlüsselte Nachricht ent- schlüsseln.Knowledge of the product, but you need the two prime numbers. With the help of these prime numbers and a corresponding inverse function, only the correct recipient who generated the key can decrypt the encrypted message.
Die Zerlegung des Schlusselmoduls in seine Teiler, die beiden Primzahlen, ist bei großen Moduln mit normalem Rechenaufwand praktisch nicht möglich. In „Faktorisierung großer Zahlen" von Johannes Buchmann, Spektrum der Wissenschaft, SeptemberThe breakdown of the key module into its divisors, the two prime numbers, is practically not possible with large modules with normal computing effort. In "Factoring Large Numbers" by Johannes Buchmann, Spectrum of Science, September
1996, Seite 80 - 88 ist das Problem der Zerlegung großer Zahlen m ihre Primzahlen ausführlich beschrieben und der Auf- wand zur Zerlegung einer 129stellιgen Zanl dargelegt. Diese Zahl wurde mit Hilfe von 600 Freiwilligen, die ihre Computer zur Verfugung gestellt haben, m die einzelnen Primzahlen zerlegt.1996, pages 80 - 88 the problem of the decomposition of large numbers m their prime numbers is described in detail and the problem wall for the disassembly of a 129 figure. This number was broken down into the individual prime numbers with the help of 600 volunteers who made their computers available.
Nachteilig an dem RSA-Verfahren ist, daß es zu langsam f r die Nachrichtenverschlusselung ist, da zur Gewahrleistung einer ausreichenden Sicherheit sehr große Zahlen - ungefähr 1000 Binar- oder 300 Dezimalstellen - verwendet werden mus- sen. Es sind derart große Zahlen mit anderen gleicher Größenordnung zu potenzieren, was zur Verschlüsselung von zu übertragenden Daten nicht schnell genug erfolgen kann. Das RSA- Verfahren wird deshalb lediglich zur verschlüsselten Übertragung von geheimzuhaltenden Schlüsseln für ein herkömmliches Verfahren verwendet, das dann die eigentliche Verschlüsselung vollzieht .A disadvantage of the RSA method is that it is too slow for message encryption, since very large numbers - approximately 1000 binary or 300 decimal places - have to be used to ensure adequate security. Such large numbers must be exponentiated with others of the same order of magnitude, which cannot be done quickly enough to encrypt data to be transmitted. The RSA method is therefore only used for the encrypted transmission of keys to be kept secret for a conventional method, which then carries out the actual encryption.
Als Alternative zu dem RSA-Verfahren sind Verfahren auf Grundlage von elliptischen Kurven entwickelt worden. Für die Kryptographie sind lediglich elliptische Kurven über endlichen Korpern relevant. Diese elliptischen Kurven über endlichen Korpern bilden Punktgruppen, m denen eine Addition und eine Multiplikation definiert sind, die mit der landläufigen Addition und Multiplikation nichts gemeinsam haben als die Rechenregeln. Die Multiplikation auf einer elliptischen Kurve über einem endlichen Korper ist eine Einwegfunktion, das heißt, daß die Umkehrung - die Berechnung sogenannter diskreter Logarithmen - im Normalfall rechentechnisch undurchführbar ist, wohingegen die Multiplikation sehr einfach und schnell ausgeführt werden kann. Diese Tatsache wird bei den auf elliptischen Kurven basierenden kryptographischen Verfahren ausgenutzt, indem der Empfanger sich eine Zufallszahl t wählt und auf Grundlage dieser Zufallszahl t und einer Multiplikation mit t auf der elliptischen Kurve einen Kurvenpunkt T bestimmt. Der Kurvenpunkt T wird als Schlüssel veröffentlicht, wohingegen die Zufallszahl t vom Empfanger geheimgehalten wird. Ein Sender kann mit Hilfe des Kurvenpunktes T seine Nachricht verschlüsseln, die dann lediglich der Empfanger, der die dem Kurvenpunkt T zugrundeliegende Zufallszanl t kennt, entschlüsseln kann.As an alternative to the RSA method, methods based on elliptic curves have been developed. Only elliptic curves over finite bodies are relevant for cryptography. These elliptic curves over finite fields form point groups, which define an addition and a multiplication, which have nothing in common with the common addition and multiplication but the calculation rules. Multiplication on an elliptic curve over a finite field is a one-way function, which means that the inverse - the calculation of so-called discrete logarithms - is normally not technically feasible, whereas the multiplication can be carried out very easily and quickly. This fact is exploited in the cryptographic methods based on elliptic curves, in that the receiver selects a random number t and, based on this random number t and a multiplication by t on the elliptical curve, determines a curve point T. The curve point T is published as a key, whereas the random number t is kept secret by the recipient. A transmitter can use the curve point T encrypt his message, which only the recipient, who knows the random number on which the curve point T is based, can then decrypt it.
Solche auf elliptischen Kurven basierende Verfahren benotigen bei gleicher Sicherheit wie das RSA-Verfahren wesentlich weniger Rechenleistung. Derartige Verfahren können in Klein- strechnern implementiert werden, wie z.B. m Chipkarten. Die Siemens AG vertreibt eine Chipkarte mit der Markenbezeichnung SLE44CR80S, m der ein Signaturverfahren auf der Basis elliptischer Kurven implementiert ist.Such methods based on elliptic curves require considerably less computing power with the same security as the RSA method. Such methods can be implemented in small computers, e.g. m chip cards. Siemens AG sells a chip card with the brand name SLE44CR80S, which implements a signature process based on elliptical curves.
Zur Erzeugung der Schlüssel, des öffentlichen Schlüssels, den der Empfanger veröffentlicht, und seines entsprechenden pri- vaten Schlüssels, werden wiederum Zufallszahlen benotigt.Random numbers are again required to generate the keys, the public key that the recipient publishes, and its corresponding private key.
Der Erfindung liegt deshalb die Aufgabe zugrunde, auf Basis elliptischer Kurven ein Verfahren zum Erzeugen von Pseudozufallszahlen zu schaffen, das einfach und schnell ausführbar ist und mit dem eine große Menge qualitativ hochwertiger Zu- fallszahlen erzeugt werden kann.The invention is therefore based on the object of creating, on the basis of elliptical curves, a method for generating pseudorandom numbers which can be carried out simply and quickly and with which a large amount of high-quality random numbers can be generated.
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelost.This object is achieved by a method with the features of claim 1.
Ferner liegt der Erfindung die Aufgabe zugrunde, ein Verfahren für elektronische Signatur auf Basis elliptischer Kurven sowie eine entsprechende Vorrichtung zu schaffen, die weniger Speicherplatz als bekannte Verfahren und Vorrichtungen für elektronische Signatur auf Grundlage elliptischer Kurven benotigen und auf kleinen Rechensystemen, insbesondere Chipkarten, implementiert werden können.The invention is also based on the object of creating a method for electronic signature based on elliptical curves and a corresponding device which require less storage space than known methods and devices for electronic signature based on elliptical curves and which are implemented on small computer systems, in particular chip cards can.
Die Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 11 und eine Vorrichtung mit den Merkmalen des Anspruchs 12 gelost. Vorteilhafte Ausgestaltungen der Erfindung sind m den Un- teranspruchen angegeben.The object is achieved by a method with the features of claim 11 and a device with the features of claim 12. Advantageous embodiments of the invention are specified in the subclaims.
Beim erfmdungsgemaßen Verfahren nach Anspruch 1 zum Erzeugen von Pseudozufallszahlen werden Paare von Punkten bestimmt, die auf zumindest zwei unterschiedlichen elliptischen Kurven über einem endlichen Korper liegen, und m Abhängigkeit von jeweils einem solchen Paar von Punkten wird eine Zufallszahl ermittelt.In the method according to the invention for generating pseudo random numbers, pairs of points are determined which lie on at least two different elliptical curves over a finite body, and a random number is determined as a function of such a pair of points.
Da erfmdungsgemaß zwei verschiedene elliptische Kurven benutzt werden, und die Pseudozufallszahl aus einem Paar von Punkten abgeleitet wird, wobei die beiden Punkte des Paares auf unterschiedlichen elliptischen Kurven liegen, ist es un- möglich, aus den derart ermittelten Pseudozufallszahlen auf die Kurvenpunkte zuruckzuschließen. Bei Verwendung lediglich einer einzigen elliptischen Kurve zum Ableiten von Pseudozufallszahlen konnte durch Berechnen diskreter Logarithmen aus den Pseudozufallszahlen auf die Kurvenpunkte zuruckgeschlos- sen werden. Hierdurch wäre es möglich, daß Dritte die Rechenregel der Pseudozufallszahlen bestimmen konnten und die weiteren Pseudozufallszahlen voraussagen konnten. Dies wurde ein erhebliches Sicherheitsrisiko darstellen, das mit der vorliegenden Erfindung vermieden wird.Since two different elliptical curves are used according to the invention, and the pseudo-random number is derived from a pair of points, the two points of the pair lying on different elliptical curves, it is impossible to draw conclusions about the curve points from the pseudo-random numbers determined in this way. When using only a single elliptic curve to derive pseudorandom numbers, it was possible to draw conclusions about the curve points by calculating discrete logarithms from the pseudorandom numbers. This would make it possible for third parties to determine the calculation rule of the pseudo random numbers and to predict the further pseudo random numbers. This would pose a significant security risk that is avoided with the present invention.
Das erfmdungsgemäße Verfahren für elektronische Signatur kombiniert ein an sich bekanntes Signaturverfahren mit dem erfmdungsgemaßen Verfahren zum Erzeugen von Pseudozufallszahlen. Die gleichen Routinen bzw. Einrichtungen können so- wohl beim Signaturverfahren als auch bei der Erzeugung der Zufallszahlen verwendet werden, wodurch erheblich Programmcode und Speicherplatz eingespart werden kann. Zudem wirkt sich eine Optimierung der EC (=ellιptιc curve)- Arithmetik sowohl bei der Erzeugung der Pseudozufallszahlen als auch bei der unmittelbaren Ausfuhrung des Signaturverfahrens vorteilhaft aus. Durch diese doppelte Verwendung der Routinen und Einrichtungen auf Basis elliptischer Kurven werden somit Synergieeffekte erzielt.The method according to the invention for electronic signature combines a known signature method with the method according to the invention for generating pseudo random numbers. The same routines or devices can be used both in the signature method and in the generation of the random numbers, as a result of which program code and memory space can be saved considerably. In addition, an optimization of the EC (= ellιptιc curve) arithmetic has an advantageous effect both in the generation of the pseudo-random numbers and in the direct execution of the signature process. Through this double use of the Routines and facilities based on elliptic curves thus achieve synergy effects.
Ferner sind die erf dungsgemaß erzeugten Pseudozufallszahlen nicht von Zufallszahlen eines echten Zufallsgenerators zu unterscheiden und können mit relativ geringem Rechenaufwand erzeugt werden.Furthermore, the pseudorandom numbers generated according to the invention cannot be distinguished from random numbers of a real random generator and can be generated with relatively little computation effort.
Die Erfindung wird nachfolgend beispielhaft anhand der Zeich- nungen naher erläutert. In denen zeigen schematisch:The invention is explained in more detail below by way of example using the drawings. In which schematically show:
Fig. 1 eine elliptische Kurve über den reellen Zahlen,1 shows an elliptic curve over the real numbers,
Fig. 2 eine elliptische Kurve über einem endlichen Korper,2 shows an elliptic curve over a finite body,
Fig. 3 die Addition zweier Punkte einer elliptischen Kurve über den reellen Zahlen,3 shows the addition of two points of an elliptic curve over the real numbers,
Fig. 4 die Punkte der elliptischen Kurve y=x3+2x+9 über dem Korper mod 13, die eine zyklische Gruppe mit 174 shows the points of the elliptic curve y = x 3 + 2x + 9 above the body mod 13, which is a cyclic group with 17
Punkten bilden,Form dots,
Fig. 5 den Verfahrensablauf eines Ausfuhrungsbeispiels der Erfindung einem Flußdiagramm,5 shows the process flow of an exemplary embodiment of the invention, a flow chart,
Fig. 6 das Grundprinzip des erfmdungsgemaßen Verfahrens zum Erzeugen von Pseudozufallszahlen m einem Flußdiagramm, und6 shows the basic principle of the method according to the invention for generating pseudo random numbers in a flow chart, and
Fig. 7 den Aufbau eines Programmes zum Ausfuhren eines erfmdungsgemaßen Signaturverfahrens .7 shows the structure of a program for executing a signature method according to the invention.
Zun chst werden kurz die mathematischen Grundlagen zum Rechnen auf elliptischen Kurven erläutert. Eine elliptische Kurve E über einem Korper K ist eine Kurve, die durch eine kubische Gleichung der Form: y~=x3+ax+b ,First, the mathematical basics for calculating on elliptic curves are briefly explained. An elliptic curve E over a body K is a curve formed by a cubic equation of the form: y ~ = x 3 + ax + b,
beschrieben werden kann mit a und b aus K, 4a~+27b" ≠ 0. Paare (x, y) aus K x K, welche die Gleicnung erfüllen, sowie das formale Paar (∞,°°) nennt man Punkte der Kurve E über K.can be described with a and b from K, 4a ~ + 27b "≠ 0. Pairs (x, y) from K x K, which fulfill the equation, and the formal pair (∞, °°) are called points of curve E about K.
Eine elliptische Kurve über den reellen Zahlen ist m Fig. 1 gezeigt. Man beachte, daß elliptische Kurven keine Ellipsen sind.An elliptic curve over the real numbers is shown in FIG. 1. Note that elliptic curves are not ellipses.
Fig. 2 zeigt eine elliptische Kurve über einem endlichen Korper. Der algebraische Begriff Korper definiert einen „Zahlen- bereich", m dem man nach den von den rationalen Zahlen bekannten formalen Rechenregeln addieren, subtrahieren, multi- plizieren und dividieren kann. Es gibt unendliche Korper, wie z.B. die rationalen Zahlen, die reellen Zahlen, die komplexen Zahlen, und endliche Korper. Endliche Korper sind z.B. der Korper GF(p) der Zahlen mod p, wobei p eine Primzahl ist, bzw. der Korper GF(2n) der Binarvektoren der Lange n. („GF" steht f r „Galois field", was ein Synonym für „endlicher Korper" ist.) Für die Kryptographie sind nur elliptische Kurven über endlichen Korpern relevant.Fig. 2 shows an elliptic curve over a finite body. The algebraic term Korper defines a "range of numbers" in which one can add, subtract, multiply and divide according to the formal calculation rules known from the rational numbers. There are infinite bodies, such as the rational numbers, the real numbers, the complex numbers, and finite bodies. Finite bodies are, for example, the body GF (p) of the numbers mod p, where p is a prime number, or the body GF (2 n ) of the binary vectors of length n. ("GF" stands for "Galois field", which is a synonym for "finite body".) Only elliptic curves over finite bodies are relevant for cryptography.
Fig. 3 zeigt die Addition zweier Punkte P P_ auf einer el- liptischen Kurve über den reellen Zahlen, wobei sich derFIG. 3 shows the addition of two points P P_ on an elliptic curve over the real numbers, the
Punkt P3 ergibt. Bei dieser Addition wird die Verbindungsgerade der Punkte Pi und P^ gebildet und deren 3. Schnittpunkt mit der elliptischen Kurve ermittelt. Dieser Schnittpunkt wird an der x-Achse gespiegelt und ergibt das Resultat P αer Addition von P: und P_ .Point P 3 results. With this addition, the connecting line of the points Pi and P ^ is formed and their 3rd intersection is determined with the elliptic curve. This point of intersection is mirrored on the x-axis and gives the result P αer addition of P : and P_.
Diese Addition der Punkte auf elliptischen Kurven kann durch folgende Formeln ausgedruckt werden:This addition of the points on elliptic curves can be printed out using the following formulas:
r= (y2-yι) / (x2-xι) falls xι≠x2 r=(3xι+a)/2y falls P.=P_ wobei x^, y^ die Koordinaten des Punktes P (ι=l,2,3) s α. r = (y 2 -yι) / (x 2 -xι) if xι ≠ x 2 r = (3xι + a) / 2y if P. = P_ where x ^ , y ^ are the coordinates of the point P (ι = l, 2,3) s α.
Diese Formeln gelten auch für elliptische Kurven über endl^- cnen Korpern.These formulas are also valid for elliptic curves over endl ^ - CNEN Korpern.
Durch Iteration der Punktaddition wird eine Multiplikation von Kurvenpunkten mit ganzen Zahlen k definiert:Iteration of the point addition defines a multiplication of curve points by integers k:
k-P=P+P+...+P (k-fache Summe).k-P = P + P + ... + P (k times the sum).
Diese Multiplikation von Kurvenpunkten mit ganzen Zahlen kann leicht und schnell ausgeführt werden, wohingegen die Umkehraufgabe, die Berechnung sogenannter diskreter Logarithmen, normalerweise nur mit außergewöhnlichem Rechenaufwand gelost werden kann. Hierfür gibt es keinen Algorithmus mit subexpo- nentieller Laufzeit. Diese Punktmultiplikation stellt somit eine Einwegfunktion dar, weshalb sie bei Verfahren mit öffentlichen Schlüsseln, den sogenannten Public-Key-Verfahren, verwendet wird.This multiplication of curve points by integers can be carried out easily and quickly, whereas the inverse task, the calculation of so-called discrete logarithms, can usually only be solved with extraordinary computational effort. There is no algorithm for this with a sub-exponential runtime. This point multiplication thus represents a one-way function, which is why it is used in procedures with public keys, the so-called public key procedure.
Nachfolgend wird anhand eines m Fig. 5 gezeigten Ausfuh- rungsbeispieles das erf dungsgemaße Verfahren zum Erzeugen von Pseudozufallszahlen erläutert.The method according to the invention for generating pseudo random numbers is explained below on the basis of an exemplary embodiment shown in FIG. 5.
Eine erste elliptische Kurve E über dem Korper GF(p) ist durch die folgende Gleichung gegeben:A first elliptic curve E over the body GF (p) is given by the following equation:
(y) mod p = (x~ + 6x +(y) mod p = (x ~ + 6x +
605067903441846547388214966045455206952938406771) mod p, wobei p =2160-47=605067903441846547388214966045455206952938406771) mod p, where p = 2 160 -47 =
1461501637330902918203684832716283019655932542929. p ist eine Primzahl mit 160 Bits.1461501637330902918203684832716283019655932542929. p is a prime number with 160 bits.
Die elliptische Kurve E über GF(p) besitzt als Gruppenordnung q=208785948190128988314812461240940947434505754881. q ist wiederum eine Primzahl mit 128 Bits. Die Gruppenordnung einer elliptischen Kurve ist die Anzahl der Elemente der Punktgruppe, also die Anzahl der Losungen der definierenden Gleichung der elliptischen Kurve E über GF(p). Je großer der maximale Primteiler der Gruppenordnung ist, desto schwieriger ist die Berechnung diskreter Logarithmen. Die Große der Gruppenordnungen und ihrer maximalen Primteiler stellt somit ein Qualitatsmerkmal des erf dungsgemaßen Verfahrens dar, wobei die Gruppenordnungen vorzugsweise zumindest 2100 oder besser 2130 betragen sollten.The elliptic curve E over GF (p) has a group order q = 208785948190128988314812461240940947434505754881. q is again a prime number with 128 bits. The group order of an elliptic curve is the number of elements of the point group, i.e. the number of solutions of the defining equation of the elliptic curve E via GF (p). The larger the maximum prime divisor of the group order, the more difficult it is to calculate discrete logarithms. The size of the group orders and their maximum prime divisors thus represents a quality feature of the method according to the invention, the group orders preferably being at least 2 100 or better 2 130 .
Eine zweite elliptische Kurve E' über GF(p) ist durch folgende Gleichung gegeben:A second elliptic curve E 'over GF (p) is given by the following equation:
(y:) mod p = (x" + 3x +(y :) mod p = (x "+ 3x +
168756385740498547400152923318200148712149363991) mod p.168756385740498547400152923318200148712149363991) mod p.
Die Kurve E' ist isogen zur Kurve E, das heißt, wenn die Kur The curve E 'is isogenic to the curve E, that is, when the course
y2=x3+ax+by 2 = x 3 + ax + b
aufweist, besitzt die Kurve E' die Formhas, the curve E 'has the shape
y~=x3+ac~x+bc3,y ~ = x 3 + ac ~ x + bc 3 ,
mit a, b, c aus GF(p), wobei c ein quadratischer Nichtrest modulo p ist. Im vorliegenden Fall gilt für c:with a, b, c from GF (p), where c is a quadratic non-residue modulo p. In the present case, the following applies to c:
c= 503145425704462245322517599589013227703324936803.c = 503145425704462245322517599589013227703324936803.
Die Verwendung zweier isogener Kurven statt zweier beliebiger Kurven bietet wesentliche Vorteile. So kann man die Ordnung der elliptischen Kurve E' über GF(p) einfach aus der Grup- penordnung von E ableiten, da namlich die Summe der beiden Ordnungen 2p+2 ist, womit sich folgende Gleichung ergibt: #E ' ( GF (p ) ) = 2p+2 - #E ( GF (p ) )Using two isogenic curves instead of any two curves offers significant advantages. The order of the elliptic curve E 'over GF (p) can easily be derived from the group order of E, since the sum of the two orders is 2p + 2, which gives the following equation: #E '(GF (p)) = 2p + 2 - #E (GF (p))
Im vorliegenden Fall ergibt sich für die Gruppenordnung von E' :In the present case, for the group order of E ':
#E' (GF(p)) = 2p+2 - #E(GF(p)) = 11 * 19 * q1 mit q'= 4581509834893112596249788202965452687367789347.#E '(GF (p)) = 2p + 2 - #E (GF (p)) = 11 * 19 * q 1 with q' = 4581509834893112596249788202965452687367789347.
q' ist eine Primzahl mit einer Lange von 152 Bits.q 'is a prime number with a length of 152 bits.
Man wählt nun zwei Punkte P, P' der Kurven E, E' , wie z.B.:Now choose two points P, P 'of the curves E, E', such as:
P =(27, 1199480719563308855489368355308026541006624847440) P' =(318,767790262932904318810390534329377261151321453045), und zwei Startwerte s, s' , z.B. s=s'=2.P = (27, 1199480719563308855489368355308026541006624847440) P '= (318.767790262932904318810390534329377261151321453045), and two start values s, s', e.g. s = s' =. 2
Durch die Bestimmung der elliptischen Kurven E, E' , der Punk- te P, P' und der Startwerte s, s' ist der Schritt Sl aus Fig. 5 abgeschlossen. Der Verfahrensablauf geht nun auf den Schritt S2 über, bei dem die Punkte P, P' mit s bzw. s' multipliziert werden, wobei das Ergebnis als PA bzw. PA' bezeichnet wird. Die Multiplikation wird als s-fache bzw. s - fache Addition gemäß der Fig. 3 gezeigten Addition ausgeführt.Step S1 from FIG. 5 is completed by determining the elliptic curves E, E ', the points P, P' and the starting values s, s'. The procedure now goes to step S2, in which the points P, P 'are multiplied by s or s', the result being referred to as PA or PA'. The multiplication is carried out as an s-fold or s-fold addition according to FIG. 3.
Die Punkte PA und PA' werden der Vorschrift zum Ermitteln von Zufallsbits übergeben (Schritt S3). Im vorliegenden Fall wer- den die x-Koordmaten der beiden Punkte PA und PA' mit XOR verknüpft und durch c geteilt.Points PA and PA 'are passed to the rule for determining random bits (step S3). In the present case, the x coordinates of the two points PA and PA 'are linked to XOR and divided by c.
Für lsogene elliptische Kurven E und E' gilt, daß für ein beliebiges x aus GF(p) x entweder x-Koordmate von zwei ver- schiedenen Punkten auf E ist, oder aber x ist x-Koordmate eines Punktes auf E und ex ist x-Koordmate eines Punktes auf E' , oder aber x ist nicht x-Koordmate eines Punktes auf E, aber ex ist x-Koorαmate von zwei Punkten auf E' . Wenn man also die x-Koordmaten auf E' durch c teilt, dann kommt jedes beliebige x aus GF(p) genau 2x als x-Koordmate vor. Das heißt, wenn man eine x-Koordmate auf E mit einer x- Koordinate auf E' geteilt durch c verknüpft, ist das äquivalent zum Verknüpfen zweier beliebiger, zufälliger Werte zwischen 0 und p-1. Die hierdurch abgeleiteten Pseudozufallsbits verhalten sich also wie echte Zufallsbits.For isogenic elliptic curves E and E 'it holds that for any x from GF (p) x is either x-coordinate of two different points on E, or x is the x-coordinate of a point on E and ex is x -Coordinate of a point on E ', or x is not x-coordinate of a point on E, but ex is x-coordinate of two points on E '. So if you divide the x coordinates on E 'by c, then any x from GF (p) occurs exactly 2x as the x coordinate. This means that if you link an x coordinate on E with an x coordinate on E 'divided by c, it is equivalent to linking any two random values between 0 and p-1. The pseudorandom bits derived in this way therefore behave like real random bits.
Vom Schritt S2 werden die Punkte PA und PA' auch an denFrom step S2, the points PA and PA 'are also sent to the
Schritt S4 übergeben, bei dem die Punkte P, P' unverändert bleiben und s bzw. s' jeweils um eins erhöht wird.Pass step S4, in which the points P, P 'remain unchanged and s or s' is increased by one.
Vom Schritt S4 geht der Verfahrensablauf wieder auf den Schritt S2 über, bei dem wiederum neue Punkte PA und PA' gebildet werden, die dann wieder an den Schritt S3 zur Berechnung weiterer Zufallsbits und an den Schritt S4 übergeben werden. Dieser Verfahrensablauf kann vielfach wiederholt werden, wobei immer wieder neue Zufallsbits erzeugt werden.From step S4, the process flow goes back to step S2, at which new points PA and PA 'are again formed, which are then passed back to step S3 for calculating further random bits and to step S4. This process sequence can be repeated many times, with new random bits being generated again and again.
Die Erfinder der vorliegenden Erfindung haben mit dem oben beschriebenen Verfahren zum Erzeugen von Zufallszahlen 20 x eine Million Zufallsbits erzeugt und diese Zufallsbits verschiedenen statistischen Tests unterzogen. Mit αen Tests konnten keine Abweichungen von echten Zufallsbits festgestellt werden.The inventors of the present invention have generated 20 x one million random bits using the above-described method for generating random numbers and have subjected these random bits to various statistical tests. With αen tests no deviations from real random bits could be determined.
Für die Erfindung ist wesentlich, daß im Schritt S3 die Zufallszahl Z aus den beiden Punkten PA und PA' ermittelt wird, die von unterschiedlichen elliptischen Kurven E und E' stammen. Durch das Verknüpfen dieser beiden Punkte PA und PA' wird sichergestellt, daß anhand der erzeugten Pseudozufallszahlen nicht die der Berechnung der Punkte PA und PA' zugrunde liegenden Punkte P und P durch diskrete Logarithmen er- mittelt werden können. Von dem Ergebnis aus S3 kann somit nicht auf das Verfahren zum Erzeugen der Punkte PA, PA' mit den Schritten Sl, S2 und S4 geschlossen werden, was durcn die gestrichelte Linie m Fig. 5 dargestellt ist.It is essential for the invention that in step S3 the random number Z is determined from the two points PA and PA ', which originate from different elliptic curves E and E'. Linking these two points PA and PA 'ensures that the pseudorandom numbers generated cannot be used to determine the points P and P on which the calculation of the points PA and PA' is based by means of discrete logarithms. From the result from S3 it is therefore not possible to refer to the method for generating the points PA, PA ' steps S1, S2 and S4 are closed, which is shown by the dashed line in FIG. 5.
Die Erfindung ist nicht auf das m Fig. 5 dargestellte Aus- fuhrungsbeispiel beschrankt. Im Rahmen der Erfindung ist es z.B. möglich, im Schritt S3 eine andere Verknüpfung der x- Koord aten zu wählen. So können z.B. die beiden x- Koordmaten durch eine Addition modulo p miteinander verknüpft werden. Oder aber man verknüpft die y-Koordmaten. Oder aber x- und y-Koordmaten. Im Rahmen der Erfindung ist es auch möglich, daß anstelle von fest vorgegebenen elliptischen Kurven E, E' mit Punkten P, P' nach jeder Berechnung von PA und PA' neue Kurven E*, E*' und Punkte P*, P*' bestimmt werden, die zur Berechnung der nächsten Punkte PA* und PA*' herangezogen werden. Auch die Werte s, s' können an sich beliebig verändert werden. Für die Erfindung ist lediglich wesentlich, daß die Werte s, s' ganze Zahlen sind. Zu Beginn des Verfahrens können sie beispielsweise mit einem einfachen Zufallsgenerator erzeugt werden, der keinen hohen Ansprüchen genügen muß. In Fig. 6 ist das grundsätzliche Prinzip der vorliegenden Erfindung dargestellt, das eine Schleife bestehend aus den Schritten S5 und S6 aufweist, wobei m Schritt S5 zwei elliptische Kurven E, E' , zwei Punkte P, P' auf den beiden Kurven und zwei Startwerte s, s' gewählt werden. Im Schritt S6 werden die Punkte P, P' mit s bzw. s' multipliziert, woraus sich PA und PA' ergibt. Bei jeder Wiederholung der Schleife S5, S6 wird zumindest eines der Paare E, E' bzw. P, P' bzw. s, s' verändert. Es ist auch möglich, zwei oder alle 3 Paare nach einer festzulegenden Regel zu verandern.The invention is not restricted to the exemplary embodiment shown in FIG. 5. In the context of the invention it is e.g. possible to choose a different combination of the x coordinates in step S3. For example, the two x coordinates are linked by an addition modulo p. Or you link the y-coordinates. Or x and y coordinates. In the context of the invention it is also possible that instead of fixed elliptic curves E, E 'with points P, P' after each calculation of PA and PA 'new curves E *, E *' and points P *, P * ' be determined, which are used to calculate the next points PA * and PA * '. The values s, s' can also be changed as desired. It is only essential for the invention that the values s, s' are integers. At the beginning of the method, they can be generated, for example, with a simple random generator that does not have to meet high standards. 6 shows the basic principle of the present invention, which has a loop consisting of steps S5 and S6, wherein in step S5 two elliptic curves E, E ', two points P, P' on the two curves and two starting values s, s' can be selected. In step S6, the points P, P 'are multiplied by s and s', respectively, resulting in PA and PA'. Each time the loop S5, S6 is repeated, at least one of the pairs E, E 'or P, P' or s, s' is changed. It is also possible to change two or all 3 pairs according to a rule to be defined.
Bei jeder Wiederholung der Schleife wird ein neues Zahlenpaar PA, PA' erzeugt und dem Verfahrensschπtt S7 übergeben, bei dem die beiden Punkte PA und PA' jeweils zu einer Pseudozufallszahl Z verknüpft werden.Each time the loop is repeated, a new pair of numbers PA, PA 'is generated and transferred to method step S7, in which the two points PA and PA' are each linked to form a pseudo random number Z.
Verfahren auf Basis elliptischer Kurven verwenden als Emweg- funktion die Multiplikation auf elliptischen Kurven, weshalb Vorrichtungen zum Durchfuhren solcher Verfahren mit Routinen und Einrichtungen für Arithmetik auf elliptischen Kurven versehen sind. Solche Verfahren benotigen zudem Zufallszahlen zum Erstellen der privaten und öffentlichen Schlüssel. Durch Verwenden des erf dungsgemaßen Verfahrens zum Erzeugen dieser Zufauszahlen können zum einen qualitativ hochwertige Pseudozufallszahlen erzeugt, und zum anderen kann der Programmcode gering gehalten werden, da die vorhandenen Routinen doppelt verwendet werden können. Hierdurch werden erhebliche Ressourcen eingespart, und gleichzeitig wird die Sicherheit des Verfahrens deutlich gesteigert.Methods based on elliptic curves use multiplication on elliptical curves as an out-of-bound function, which is why Devices for performing such methods are provided with routines and facilities for arithmetic on elliptic curves. Such methods also require random numbers to generate the private and public keys. By using the method according to the invention for generating these random numbers, on the one hand high-quality pseudo random numbers can be generated and on the other hand the program code can be kept small, since the existing routines can be used twice. This saves considerable resources and at the same time significantly increases the security of the process.
Fig. 7 zeigt schematisch den Aufbau eines Programmes zum Ausfuhren des erfmdungsgemaßen Verfahrens m einem Blockschalt- bild. Das Programm besteht aus einem Teil Pl zum Durchfuhren des Signaturverfahrens, das auf einen Programmteil P2 zurückgreift, mit dem Multiplikationen auf elliptischen Kurven über endlichen Korpern durchgeführt werden. Der Programmteil Pl wird von einem weiteren Programmteil P3 mit Zufallszahlen versorgt, wobei der Programmteil P3 wiederum auf den Programmteil P2 zum Multiplizieren auf elliptischen Kurven zurückgreift. Am Programmteil Pl ist ein Dateneingangsstrom I und ein Datenausgangsstrom 0 dargestellt, wobei der Dateneingangsstrom eine zu signierende Nachricht sein kann und der Datenausgangsstrom die Signatur. Ferner kann der Programmteil Pl am Datenausgangsstrom 0 seinen privaten und öffentlichen Schlüssel ausgeben. Diese Funktionen des Programmteils Pl entsprechen den an sich bekannten Signaturverfahren und -Vorrichtungen auf Basis elliptischer Kurven. Das erfmdungsgema- ße Verfahren kann insbesondere bei Recheneinrichtungen mit geringerer Rechenkapazitat, wie z.B. Chipkarten eingesetzt werden, da der entsprechende Programmcode äußerst kompakt ist und die Lange der zu verarbeitenden Zahlen wesentlich kurzer als bei einem RSA-Verfahren gleicher Sicherheitsstufe . Es ist jedoch auch möglich, die Programme auf elektronisch lesbaren Datenträgern zu vertreiben. 7 schematically shows the structure of a program for executing the method according to the invention in a block diagram. The program consists of a part P1 for carrying out the signature method, which uses a program part P2 with which multiplications on elliptic curves over finite bodies are carried out. The program part P1 is supplied with a random number by a further program part P3, the program part P3 again using the program part P2 for multiplying on elliptic curves. A data input stream I and a data output stream 0 are shown on the program part P1, the data input stream being a message to be signed and the data output stream being the signature. Furthermore, the program part P1 can output its private and public key at the data output stream 0. These functions of the program part P1 correspond to the signature methods and devices known per se based on elliptical curves. The method according to the invention can be used in particular in computing devices with a lower computing capacity, such as Chip cards are used because the corresponding program code is extremely compact and the length of the numbers to be processed is significantly shorter than with an RSA procedure of the same security level. However, it is also possible to distribute the programs on electronically readable data carriers.

Claims

Patentansprüche claims
1. Verfahren zum Erzeugen von Pseudozufallszahlen, bei dem zumindest zwei Punkte (P, P') von zumindest zwei unter- schiedlichen elliptischen Kurven (E, E') über einem endlichen Korper (GF) bestimmt werden und eine Pseudozufallszahl durcn Verknüpfen dieser Punkte (P, P') erzeugt wird.1. Method for generating pseudo-random numbers, in which at least two points (P, P ' ) of at least two different elliptic curves (E, E') are determined over a finite field (GF) and a pseudo-random number by linking these points ( P, P ') is generated.
2. Verfahren zum Erzeugen von Pseudozufallszahlen nach Anspruch 1, d a d u r c h g e k e n n z e i c h n e t, daß zur Bestimmung der Pseudozufallszahl jeweils ein Paar von Punkten (P, P') bestimmt wird, wobei zur Bestimmung der einzelnen Paare jeweils dieselben zwei elliptischen Kurven (E, E ' ) verwendet werden.2. A method for generating pseudo random numbers according to claim 1, characterized in that a pair of points (P, P ' ) is determined in each case for determining the pseudo random number, the same two elliptical curves (E, E') being used in each case for determining the individual pairs become.
3. Verfahren zum Erzeugen von Pseudozufallszahlen nach Anspruch 2, d a d u r c h g e k e n n z e i c h n e t, daß die beiden elliptischen Kurven (E, E') zueinander isogen sind.3. A method for generating pseudorandom numbers according to claim 2, so that the two elliptic curves (E, E ') are isogenic to one another.
4. Verfahren zum Erzeugen von Pseudozufallszahlen nach einem der Ansprüche 1 bis 3, d a d u r c h g e k e n n z e i c h n e t, daß die Punkte (P, P') eines ersten Paares in Abhängigkeit zweier Startwerte (s, s') bestimmt werden.4. A method for generating pseudo random numbers according to one of claims 1 to 3, characterized in that the points (P, P ' ) of a first pair are determined as a function of two starting values (s, s').
5. Verfahren zum Erzeugen von Pseudozufallszahlen nach Anspruch 4, d a d u r c h g e k e n n z e i c h n e t, daß die Punkte (P, P') der weiteren Paare durch Variieren der Startwerte gemäß einer vorbestimmten Regel bestimmt werden.5. A method for generating pseudo random numbers according to claim 4, characterized in that the points (P, P ' ) of the further pairs are determined by varying the starting values according to a predetermined rule.
6. Verfahren zum Erzeugen von Pseudozufallszahlen nach einem der Ansprüche 1 bis 4, d a d u r c h g e k e n n z e i c h n e t, daß die weiteren Paare von Punkten (P, P') durch Variieren der elliptischen Kurven und/oder der Punkte (P, P") nach einer vorbestimmten Regel bestimmt werden.6. A method for generating pseudo random numbers according to one of claims 1 to 4, characterized in that the further pairs of points (P, P ' ) by varying the elliptical Curves and / or the points (P, P ") can be determined according to a predetermined rule.
7. Verfahren zum Erzeugen von Pseudozufallszahlen nach einem der Ansprüche 1 bis 6, d a d u r c h g e k e n n z e i c h n e t, daß zum Ermitteln einer Zufallszahl die Koordinaten der beiden Punkte (P, P') miteinander verknüpft werden.7. A method for generating pseudo random numbers according to one of claims 1 to 6, d a d u r c h g e k e n n z e i c h n e t that the coordinates of the two points (P, P ') are linked together to determine a random number.
8. Verfahren zum Erzeugen von Pseudozufallszahlen nach Anspruch 7, d a d u r c h g e k e n n z e i c h n e t, daß die x- Koordmaten der beiden Punkte (P, P") miteinander verknüpft werden, wobei die beiden elliptischen Kurven (E, E') isogen sind.8. A method for generating pseudorandom numbers according to claim 7, so that the x-coordinate of the two points (P, P ") are linked to one another, the two elliptic curves (E, E ') being isogenic.
9. Verfahren zum Erzeugen von Pseudozufallszahlen nach einem der Ansprüche 1 bis 8, d a d u r c h g e k e n n z e i c h n e t, daß die Punkt- gruppen (E(GF (p) ) , E'(GF (p) ) ) der elliptischen Kurven (E, E') über einem endlichen Korper GF(p) Gruppenordnungen (q bzw. q') von zumindest 2100 und vorzugsweise mindestens 2130 aufweisen.9. A method for generating pseudo random numbers according to one of claims 1 to 8, characterized in that the point groups (E (GF (p)), E ' (GF (p))) of the elliptic curves (E, E') over a finite body GF (p) have group orders (q or q ' ) of at least 2 100 and preferably at least 2 130 .
10. Verfahren zum Erzeugen von Pseudozufallszahlen nach einem der Ansprüche 1 bis 9, d a d u r c h g e k e n n z e i c h n e t, daß die elliptischen Kurven über dem endlichen Korper GF(p) definiert sind, wobei p eine Primzahl ist, die großer als 3 ist.10. A method for generating pseudorandom numbers according to one of claims 1 to 9, d a d u r c h g e k e n n z e i c h n e t that the elliptic curves are defined over the finite field GF (p), where p is a prime number that is greater than 3.
11. Verfahren für elektronische Signatur auf Basis elliptischer Kurven, bei dem die Schlüssel auf Grundlage von Zufallszahlen erzeugt werden, d a d u r c h g e k e n n z e i c h n e t, daß die Zufalls- zahlen nach einem Verfahren der Ansprüche 1 bis 10 ermittelt werden. 11. A method for electronic signature based on elliptic curves, in which the keys are generated on the basis of random numbers, characterized in that the random numbers are determined according to a method of claims 1 to 10.
12. Vorrichtung zur Durchführung des Verfahrens für elektronische Signatur auf Basis elliptischer Kurven nach Anspruch 11, mit einer Einrichtung zum Ausführen von Multiplikationen in der Punktgruppe einer elliptischen Kurve (E, E') über einem endlichen Körper (GF(p)), einer Einrichtung zum Signieren, die die Einrichtung zum Ausführen der Multiplikation verwendet, und einer Einrichtung zum Erzeugen von Pseudozufallszahlen nach dem Verfahren nach einem der Ansprüche 1 bis 9, wobei auch diese Einrichtung die Einrichtung zum Ausführen der Multiplikation verwendet. 12. An apparatus for performing the method for electronic signature based on elliptic curves according to claim 11, with a device for performing multiplications in the point group of an elliptical curve (E, E ') over a finite body (GF (p)), a device for signing, which uses the means for performing the multiplication, and a means for generating pseudorandom numbers according to the method according to one of claims 1 to 9, which means also uses the means for performing the multiplication.
EP00958257A 1999-08-18 2000-08-16 Method for generating pseudo random numbers and method for electronic signatures Withdrawn EP1222527A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE19939059 1999-08-18
DE19939059 1999-08-18
PCT/DE2000/002776 WO2001013218A1 (en) 1999-08-18 2000-08-16 Method for generating pseudo random numbers and method for electronic signatures

Publications (1)

Publication Number Publication Date
EP1222527A1 true EP1222527A1 (en) 2002-07-17

Family

ID=7918727

Family Applications (1)

Application Number Title Priority Date Filing Date
EP00958257A Withdrawn EP1222527A1 (en) 1999-08-18 2000-08-16 Method for generating pseudo random numbers and method for electronic signatures

Country Status (4)

Country Link
EP (1) EP1222527A1 (en)
JP (1) JP2003507761A (en)
CA (1) CA2381937A1 (en)
WO (1) WO2001013218A1 (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7646872B2 (en) 2004-04-02 2010-01-12 Research In Motion Limited Systems and methods to securely generate shared keys
JP5147412B2 (en) 2005-01-21 2013-02-20 サーティコム コーポレーション Elliptic curve random number generation
FR2897451A1 (en) * 2006-02-13 2007-08-17 France Telecom CRYPTOGRAPHY DEVICE AND METHOD FOR GENERATING PSEUDO-RANDOM NUMBERS
DE102006017911B4 (en) 2006-04-18 2023-01-26 creditPass GmbH Electronic payment system and method for carrying out a payment transaction
EP2316180A4 (en) 2008-08-11 2011-12-28 Assa Abloy Ab Secure wiegand communications
EP2256702A1 (en) 2009-05-28 2010-12-01 Dmitri Pakhomov Portable card writer, card system and method of using a protable card writer
US10452877B2 (en) 2016-12-16 2019-10-22 Assa Abloy Ab Methods to combine and auto-configure wiegand and RS485

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO0113218A1 *

Also Published As

Publication number Publication date
CA2381937A1 (en) 2001-02-22
JP2003507761A (en) 2003-02-25
WO2001013218A1 (en) 2001-02-22

Similar Documents

Publication Publication Date Title
DE69434422T2 (en) Method and apparatus for encryption / decryption based on the Montgomery method using efficient modular multiplication
DE69929251T2 (en) ENCRYPTION SYSTEM WITH A KEY OF CHANGING LENGTH
DE69721439T2 (en) CRYPTOGRAPHIC METHOD AND DEVICE FOR THE NON-LINEAR ASSEMBLY OF A DATA BLOCK AND A KEY
DE69534603T2 (en) ENCRYPTION SYSTEM FOR ELLIPTIC CURVE
CH660822A5 (en) RANDOM PRIME GENERATOR IN A DATA ENCRYPTION SYSTEM WORKING WITH PUBLIC KEY.
DE102005028662B4 (en) Method and device for calculating a polynomial multiplication, in particular for elliptic curve cryptography
DE69920875T2 (en) Apparatus and method for calculating a digital signature
DE60031304T3 (en) METHOD FOR AUTHENTICATING SOFTWARE USERS
DE69838258T2 (en) Public key data transmission systems
DE102008061483A1 (en) Method and device for processing data
DE3203412A1 (en) FAST REAL-TIME PUBLIC ENCRYPTION SYSTEM
DE2843583A1 (en) METHOD AND DEVICE FOR DECRYPTION OF ENCRYPTED MESSAGES
EP1298834B1 (en) Method and apparatus for encrypting and decrypting data
DE102017117907A1 (en) Perform a cryptographic operation
DE60311507T2 (en) METHOD FOR ELLIPTIC CURVE ENCRYPTION
DE69333257T2 (en) System for signal switching and processing
DE69735290T2 (en) METHOD OF UNSYMMETRIC CRYPTOGRAPHIC COMMUNICATION AND RELATED ARTICLE
DE10304451B3 (en) Modular exponentiation with randomized exponent
DE69924912T2 (en) Encryption method and apparatus using an elliptic curve
EP1222527A1 (en) Method for generating pseudo random numbers and method for electronic signatures
DE69633253T2 (en) CRYPTOGRAPHIC PROCEDURE WITH PUBLIC KEY
EP1342153B1 (en) Method and device for generating a pseudo random sequence using a discrete logarithm
EP1999571B1 (en) Method and device for reducing a polynomial in a binary finite field, in particular for a cryptographic application
DE19513896A1 (en) Method of signing a message
DE10248006B4 (en) Method and device for encrypting data

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: 20020109

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

AX Request for extension of the european patent

Free format text: AL;LT;LV;MK;RO;SI

17Q First examination report despatched

Effective date: 20020906

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

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20030617

RBV Designated contracting states (corrected)

Designated state(s): CH DE FR GB LI