EP1222527A1 - Verfahren zum erzeugen von pseudozufallszahlen und verfahren für elektronische signatur - Google Patents
Verfahren zum erzeugen von pseudozufallszahlen und verfahren für elektronische signaturInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
- G06F7/584—Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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/065—Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
- H04L9/0656—Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/60—Methods 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/72—Methods 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/724—Finite field arithmetic
- G06F7/725—Finite 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.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Die Erfindung betrifft ein Verfahren zum Erzeugen von Pseudozufallszahlen, sowie ein Verfahren für elektronische Signatur. Bei dem erfindungsgemäßen Verfahren zum Erzeugen von Pseudozufallszahlen werden Punkte auf zumindest zwei verschiedenen elliptischen Kurven bestimmt, und durch Verknüpfen der Punkte wird jeweils eine Pseudozufallszahl erzeugt. Das Verknüpfen der Punkte von unterschiedlichen elliptischen Kurven zu einer Pseudozufallszahl macht Rückschlüsse aus den so erzeugten Pseudozufallszahlen auf die einzelnen elliptischen Kurven unmöglich, wodurch die kryptographische Sicherheit des erfindungsgemäßen Verfahrens erheblich erhöht wird, weil die Berechnung diskreter Logarithmen unmöglich gemacht wird.
Description
Beschreibung
Verfahren zum Erzeugen von Pseudozufallszahlen und Verfahren für elektronische Signatur
Die Erfindung betrifft ein Verfahren zum Erzeugen von Pseudozufallszahlen und ein Verfahren für elektronische Signatur.
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.
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.
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.
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.
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.
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 die
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.
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, 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.
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 .
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.
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.
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.
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.
Diese Aufgabe wird durch ein Verfahren mit den Merkmalen des Anspruchs 1 gelost.
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.
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.
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.
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.
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.
Ferner sind die erf dungsgemaß erzeugten Pseudozufallszahlen nicht von Zufallszahlen eines echten Zufallsgenerators zu unterscheiden und können mit relativ geringem Rechenaufwand erzeugt werden.
Die Erfindung wird nachfolgend beispielhaft anhand der Zeich- nungen naher erläutert. In denen zeigen schematisch:
Fig. 1 eine elliptische Kurve über den reellen Zahlen,
Fig. 2 eine elliptische Kurve über einem endlichen Korper,
Fig. 3 die Addition zweier Punkte einer elliptischen Kurve über den reellen Zahlen,
Fig. 4 die Punkte der elliptischen Kurve y=x3+2x+9 über dem Korper mod 13, die eine zyklische Gruppe mit 17
Punkten bilden,
Fig. 5 den Verfahrensablauf eines Ausfuhrungsbeispiels der Erfindung einem Flußdiagramm,
Fig. 6 das Grundprinzip des erfmdungsgemaßen Verfahrens zum Erzeugen von Pseudozufallszahlen m einem Flußdiagramm, und
Fig. 7 den Aufbau eines Programmes zum Ausfuhren eines erfmdungsgemaßen Signaturverfahrens .
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 ,
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.
Eine elliptische Kurve über den reellen Zahlen ist m Fig. 1 gezeigt. Man beachte, daß elliptische Kurven keine Ellipsen sind.
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. 3 zeigt die Addition zweier Punkte P P_ auf einer el- liptischen Kurve über den reellen Zahlen, wobei sich der
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_ .
Diese Addition der Punkte auf elliptischen Kurven kann durch folgende Formeln ausgedruckt werden:
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 α.
Diese Formeln gelten auch für elliptische Kurven über endl^- cnen Korpern.
Durch Iteration der Punktaddition wird eine Multiplikation von Kurvenpunkten mit ganzen Zahlen k definiert:
k-P=P+P+...+P (k-fache Summe).
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.
Nachfolgend wird anhand eines m Fig. 5 gezeigten Ausfuh- rungsbeispieles das erf dungsgemaße Verfahren zum Erzeugen von Pseudozufallszahlen erläutert.
Eine erste elliptische Kurve E über dem Korper GF(p) ist durch die folgende Gleichung gegeben:
(y) mod p = (x~ + 6x +
605067903441846547388214966045455206952938406771) mod p, wobei p =2160-47=
1461501637330902918203684832716283019655932542929. p ist eine Primzahl mit 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.
Eine zweite elliptische Kurve E' über GF(p) ist durch folgende Gleichung gegeben:
(y:) mod p = (x" + 3x +
168756385740498547400152923318200148712149363991) mod p.
Die Kurve E' ist isogen zur Kurve E, das heißt, wenn die Kur
y2=x3+ax+b
aufweist, besitzt die Kurve E' die Form
y~=x3+ac~x+bc3,
mit a, b, c aus GF(p), wobei c ein quadratischer Nichtrest modulo p ist. Im vorliegenden Fall gilt für c:
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 ) )
Im vorliegenden Fall ergibt sich für die Gruppenordnung von E' :
#E' (GF(p)) = 2p+2 - #E(GF(p)) = 11 * 19 * q1 mit q'= 4581509834893112596249788202965452687367789347.
q' ist eine Primzahl mit einer Lange von 152 Bits.
Man wählt nun zwei Punkte P, P' der Kurven E, E' , wie z.B.:
P =(27, 1199480719563308855489368355308026541006624847440) P' =(318,767790262932904318810390534329377261151321453045), und zwei Startwerte s, s' , z.B. 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.
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.
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.
Vom Schritt S2 werden die Punkte PA und PA' auch an den
Schritt S4 übergeben, bei dem die Punkte P, P' unverändert bleiben und s bzw. s' jeweils um eins erhöht wird.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE19939059 | 1999-08-18 | ||
DE19939059 | 1999-08-18 | ||
PCT/DE2000/002776 WO2001013218A1 (de) | 1999-08-18 | 2000-08-16 | Verfahren zum erzeugen von pseudozufallszahlen und verfahren für elektronische signatur |
Publications (1)
Publication Number | Publication Date |
---|---|
EP1222527A1 true EP1222527A1 (de) | 2002-07-17 |
Family
ID=7918727
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP00958257A Withdrawn EP1222527A1 (de) | 1999-08-18 | 2000-08-16 | Verfahren zum erzeugen von pseudozufallszahlen und verfahren für elektronische signatur |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP1222527A1 (de) |
JP (1) | JP2003507761A (de) |
CA (1) | CA2381937A1 (de) |
WO (1) | WO2001013218A1 (de) |
Families Citing this family (7)
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 |
US8396213B2 (en) | 2005-01-21 | 2013-03-12 | Certicom Corp. | Elliptic curve random number generation |
FR2897451A1 (fr) * | 2006-02-13 | 2007-08-17 | France Telecom | Dispositif et procede de cryptographie pour generer des nombres pseudo-aletoires |
DE102006017911B4 (de) | 2006-04-18 | 2023-01-26 | creditPass GmbH | Elektronisches Bezahlsystem und Verfahren zum Ausführen eines Bezahlvorgangs |
US8358783B2 (en) | 2008-08-11 | 2013-01-22 | Assa Abloy Ab | Secure wiegand communications |
EP2256702A1 (de) | 2009-05-28 | 2010-12-01 | Dmitri Pakhomov | Tragbarer Kartenbeschreiber, Kartensystem und Verfahren zur Verwendung eines tragbaren Kartenbeschreibers |
US10452877B2 (en) | 2016-12-16 | 2019-10-22 | Assa Abloy Ab | Methods to combine and auto-configure wiegand and RS485 |
-
2000
- 2000-08-16 CA CA002381937A patent/CA2381937A1/en not_active Abandoned
- 2000-08-16 EP EP00958257A patent/EP1222527A1/de not_active Withdrawn
- 2000-08-16 WO PCT/DE2000/002776 patent/WO2001013218A1/de not_active Application Discontinuation
- 2000-08-16 JP JP2001517250A patent/JP2003507761A/ja not_active Withdrawn
Non-Patent Citations (1)
Title |
---|
See references of WO0113218A1 * |
Also Published As
Publication number | Publication date |
---|---|
JP2003507761A (ja) | 2003-02-25 |
WO2001013218A1 (de) | 2001-02-22 |
CA2381937A1 (en) | 2001-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69327238T2 (de) | Verfahren zur digitalen Unterschrift und Verfahren zur Schlüsselübereinkunft | |
DE69434422T2 (de) | Verfahren und Anordnung zur Verschlüsselung/Entschlüsselung auf der Basis des Montgomery-Verfahrens unter Verwendung von effizienter modularer Multiplikation | |
DE69929251T2 (de) | Verschlüsselungssystem mit einem schlüssel veränderlicher länge | |
DE69534603T2 (de) | Verschlüsselungssystem für elliptische kurve | |
DE69331183T2 (de) | Verfahren und Vorrichtung zur Authentifizierung unter Verwendung eines Null-Kenntnis-Protokolls | |
DE60217260T2 (de) | Datenverarbeitungs- und Verschlüsselungseinheit | |
DE69613409T2 (de) | Verfahren und Vorrichtung zur gesicherten anonymen Nachrichtenübertragung und zum elektronischen Abstimmen | |
DE102005028662B4 (de) | Verfahren und Vorrichtung zum Berechnen einer Polynom-Multiplikation, insbesondere für die elliptische Kurven-Kryptographie | |
DE69520714T2 (de) | Verfahren und Vorrichtung zum sicheren elektronischen Abstimmen | |
CH660822A5 (de) | Zufallsprimzahlen-erzeugungsmittel in einer mit oeffentlichem schluessel arbeitenden daten-verschluesselungsanlage. | |
DE69920875T2 (de) | Vorrichtung und Verfahren zum Berechnen einer digitalen Unterschrift | |
DE60031304T3 (de) | Verfahren zur authentifizierung von softwarebenutzern | |
DE69838258T2 (de) | Public-Key-Datenübertragungssysteme | |
DE102008061483A1 (de) | Verfahren und Vorrichtung zum Verarbeiten von Daten | |
DE3203412A1 (de) | Schnelles oeffentliches realzeit-verschluesselungssystem | |
DE102017117907A1 (de) | Durchführen einer kryptografischen Operation | |
EP1298834A1 (de) | Verfahren und Vorrichtung zum Verschlüsseln und Entschlüsseln von Daten | |
DE69333257T2 (de) | Anlage für Signalschaltung und -verarbeitung | |
DE69735290T2 (de) | Verfahren zur unsymmetrischen kryptographischen kommunikation und zugehöriger tragbarer gegenstand | |
DE10304451B3 (de) | Modulare Exponentiation mit randomisiertem Exponenten | |
DE69924912T2 (de) | Verschlüsselungsverfahren und Vorrichtung unter Verwendung einer elliptischen Kurve | |
WO2001013218A1 (de) | Verfahren zum erzeugen von pseudozufallszahlen und verfahren für elektronische signatur | |
DE69633253T2 (de) | Kryptographisches verfahren mit öffentlichem schlüssel | |
EP1342153B1 (de) | Verfahren und vorrichtung zum erzeugen einer pseudozufallsfolge mittels diskretem logarithmus | |
EP1999571B1 (de) | Verfahren und vorrichtung zur reduktion eines polynoms in einem binären finiten feld, insbesondere im rahmen einer kryptographischen anwendung |
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 |