IP Library Granted Patent US 8,582,758
Granted Patent B2
US 8,582,758 · App. 12/735,757 · Granted Nov 12, 2013

Apparatus and a method for calculating a multiple of a point an elliptic curve

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,582,758
App. No.
12/735,757
Granted
Nov 12, 2013
Kind
B2
Abstract

A device and a method for calculating a multiple of a point on an elliptic curve from the right to the left by repeated point doubling and point addition. Each point doubling is evaluated with an extended set of coordinates and each point addition is evaluated by taking as input a restricted set of the extended set of coordinates. The at least one coordinate of the extended set that is not part of the restricted set is stored in a memory between each iteration of the point doubling. This can enable speeding up the calculations as compared to prior art solutions. Also provided is a computer program product.

Claims (64)

1. A cryptographic method for calculating a multiple of a point on an elliptic curve from the right to the left by repeated point addition and point doubling in an elliptic curve cryptosystem, the method comprising:

evaluating each point doubling by a micro-processor by taking as input a set of coordinates comprising projective coordinates T 1 , T 2 , T 3 and at least one further coordinate T 4 ;

evaluating each point addition by the micro-processor by taking as input the projective coordinates T 1 , T 2 , T 3 ; and

storing by the micro-processor the at least one further coordinate T 4 in a memory device for use in the next point doubling,

wherein output coordinates of a point doubling is used as input coordinates for the next point doubling,

wherein the point doubling is calculated by:

obtaining the values of the projective coordinates T 1 , T 2 , T 3 and the value of the further coordinate, T 4 , initialized to T 4 =aT 3 4 , where a is a first parameter of the elliptic curve;

calculating intermediate variables:

U=T 1 2 ;

V=T 2 2 ;

M= 3 U+T 4 ;

W=V 2 ; and

S= 2(( T 1 +V ) 2 −U−W );

T 1 =M 2 −2 S;

calculating new value of T 2 ;

T 2 =M ( S−T 1 )−8 W ; and

outputting at least the values of coordinates T 1 , T 2 , T 3 .

2. The method of claim 1 , wherein the elliptic curve is given by a Weierstrass equation E IK : Y 2 =X 3 +aXZ 4 +bZ 6 , with a characteristic different from 2 and 3, wherein b is a second parameter of the elliptic curve.

3. The method of claim 1 , wherein the scalar multiplication is performed using a Non-Adjacent Form of the scalar.

4. The method of claim 1 , wherein the scalar multiplication is performed using a binary representation of the scalar.

5. The method of claim 1 , wherein the point doubling is performed using modified Jacobian coordinates and the point addition is performed using Jacobian coordinates.

6. A device for calculating a multiple of a point on an elliptic curve from the right to the left in an elliptic curve cryptosystem, the device comprising memory and a micro-processor configured to:

perform repeated point doubling and point addition;

evaluate each point doubling by taking as input a set of coordinates comprising projective coordinates T 1 , T 2 , T 3 and at least one further coordinate T 4 ;

evaluate each point addition by taking as input the set of projective coordinates T 1 , T 2 , T 3 ; and

store the at least one further coordinate T 4 in the memory for use in the next point doubling,

wherein output coordinates of a point doubling is used as input coordinates for the next point doubling,

wherein the point doubling is calculated by:

obtaining the values of the projective coordinates T 1 , T 2 , T 3 and the value of the further coordinate, T 4 , initialized to T 4 =aT 3 4 , where a is a first parameter of the elliptic curve;

calculating intermediate variables:

U=T 1 2 ;

V=T 2 2 ;

M= 3 U+T 4 ;

W=V 2 ; and

S= 2(( T 1 +V ) 2 −U−W );

calculating new values of T 3 and T 4 :

T 3 =2 T 2 T 3 ;

T 4 =16 WT 4 ,

calculating new value of T 1 :

T 1 =M 2 −2 S;

calculating new value of T 2 :

T 2 =M ( S−T 1 )−8 W ; and

outputting at least the values of coordinates T 1 , T 2 , T 3 .

7. A non-transitory medium storing a computer program that, when executed on a micro-processor, performs a cryptographic method for calculating a multiple of a point on an elliptic curve from the right to the left by repeated point doubling and point addition in an elliptic curve cryptosystem, the method comprising:

evaluating each point doubling by the micro-processor by taking input a set of coordinates comprising projective coordinates T 1 , T 2 , T 3 and at least one further coordinate T 4 ;

evaluating each point addition by the micro-processor by taking as input the projective coordinates T 1 , T 2 , T 3 ; and

storing by the micro-processor the at least one further coordinate T 4 in a memory device for use in the next point doubling,

wherein output coordinates of a point doubling is used as input coordinates for the next point doubling,

wherein the point doubling is calculated by:

obtaining the values of the projective coordinates T 1 , T 2 , T 3 and the value of the further coordinate, T 4 , initialized to T 4 =aT 3 4 , where a is a first parameter of the elliptic curve;

calculating intermediate variables:

U=T 1 2 ;

V=T 2 2 ;

M= 3 U+T 4 ;

W=V 2 ; and

S= 2(( T 1 +V ) 2 −U−W );

calculating new values of T 3 and T 4 :

T 3 =2 T 2 T 3 ;

T 4 =16 WT 4 ,

calculating new value of T 1 :

T 1 =M 2 −2 S;

calculating new value of T 2 :

T 2 =M ( S−T 1 )−8 W ; and

outputting at least the values of coordinates T 1 , T 2 , T 3 .

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2020
From: THOMSON LICENSING S.A.S.
To: MAGNOLIA LICENSING LLC
Reel/Frame 053570/0237 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 13, 2010
From: JOYE, MARC
To: THOMSON LICENSING
Reel/Frame 024851/0939 →