Patent ID: 7062044
Filing Date: 2006-06-13
Classification: H04L

Abstract:
1. A method of generating a cryptographic key between a first user and a second user, comprising the steps of: a) selecting, between the first user and the second user, a prime number p that is approximately equal to 2^(2d), where d is an integer; b) selecting, between the first user and the second user, an elliptic curve, where the elliptic curve is defined over a field of integers modulo p and divisible by a prime number q, known by the first user and the second user, and where the elliptic curve is selected from a group of elliptic curves consisting of a first type and a second type; where the elliptic curves of the first type are defined by y^2=x^3+A*x (mod p), where A is an integer modulo p, and there exists a number w and integers h and k such that, if (x,y) is a point on the curve for which q*(x,y) is the identity point O, then (2^d)*(x,y)=k*(x,y)+h*(−x,w*y); where the elliptic curves of the second type are defined by y^2=x^3+B (mod p), where B is an integer modulo p, and there exists a number w and integers h and k such that, if (x,y) is a point on the curve for which q*(x,y) is the identity point O, then (2^d)*(x,y)=k*(x,y)+h*(w*x,y); c) selecting, between the first user and the second user, a point P of order q; d) generating, by the first user, an integer w e) generating by the second user, an integer w f) generating, by the first user, the point W g) generating, by the second user, the point W h) transmitting, by the first user, the point W i) transmitting, by the second user, the point W j) generating, by the first user, the point K=w k) generating, by the second user, the point K=w l) deriving the cryptographic key from K by the first user and the second user in a same user-definable manner.