METHOD OF GENERATING AN ELLIPTIC CURVE CRYPTOGRAPHIC KEY PAIR
First Claim
1. A method for generating an cryptographic key pair for use in a processor, the method comprising:
- generating a first pseudo-random number using a first pseudo-random number generator operating in a scalar number domain;
generating a pseudo-random group element using a second pseudo-random number generator; and
providing a private key from the first random number and a public key from the pseudo-random group element, the private key and the public key being a key pair,wherein the first and second random number generators are operating in step with each other to produce a plurality of key pairs.
1 Assignment
0 Petitions
Accused Products
Abstract
A method is provided for generating an elliptic curve cryptography key pair that uses two topologically identical pseudo-random number generators operating in parallel and in step with each other. One generator operates in the scalar number domain and the other generator operates in the elliptic curve point domain. Parallel sequences of pseudo-random elliptic curve points aG and corresponding scalars a are generated in this manner. A scalar a becomes a private key and an elliptic curve point aG is a public key of a key pair. Each generator is advanced by one iteration successively, and the isomorphic relationship ensures that the point domain generator always contains values which are multiples of the system base point according to values contained in the corresponding position in the number domain generator. In one embodiment, the pseudo-random number generators are each characterized as being lagged Fibonacci generators.
45 Citations
20 Claims
-
1. A method for generating an cryptographic key pair for use in a processor, the method comprising:
-
generating a first pseudo-random number using a first pseudo-random number generator operating in a scalar number domain; generating a pseudo-random group element using a second pseudo-random number generator; and providing a private key from the first random number and a public key from the pseudo-random group element, the private key and the public key being a key pair, wherein the first and second random number generators are operating in step with each other to produce a plurality of key pairs. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for generating an cryptographic key pair for use in a processor, the method comprising:
-
generating a first pseudo-random number using a first pseudo-random number generator operating in a scalar number domain; generating a pseudo-random member of a mathematical group using a second pseudo-random number generator which performs computations in the mathematical group; and providing a private key from the first pseudo-random number and a public key from the pseudo-random member of the mathematical group, the private key and the public key being a key pair, wherein the first and second pseudo-random number generators operate in step with each other to produce a plurality of key pairs. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A method for generating an elliptic curve cryptographic key pair for use in a processor, the method comprising:
-
generating a first pseudo-random number using a first random number generator operating in a scalar number domain as a circular buffer; generating a pseudo-random elliptic curve point using a second random number generator operating in a point domain as a circular buffer; and providing a private key from the first random number and a public key from the pseudo-random elliptic curve point, the private key and the public key being a key pair, wherein the first and second random number generators are characterized as being lagged Fibonacci generators operating in step with each other. - View Dependent Claims (18, 19, 20)
-
Specification