IP Library Granted Patent US 10,027,483
Granted Patent B2
US 10,027,483 · App. 15/671,064 · Granted Jul 17, 2018

Cryptography on an elliptical curve

Inventors: Thomas Icart (Paris, FR); Jean-Sebastien Coron (Asnieres-sur-Seine, FR)
Assignee: MORPHO
H04L9/30H04L9/005H04L9/3066G06F7/725H04L9/002
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 10,027,483
App. No.
15/671,064
Granted
Jul 17, 2018
Kind
B2
Abstract

A cryptographic calculation includes obtaining a point P(X,Y) from a parameter t on an elliptical curve Y 2 =f(X); and from polynomials X1(t), X2(t), X3(t) and U(t) satisfying: f(X1(t))·f(X2(t))·f(X3(t))=U(t) 2 in Fq, with q=3 mod 4. Firstly a value of the parameter t is obtained. Next, the point P is determined by: (i) calculating X1=X1(t), X2=X2(t), X3=X3(t) and U=U(t); (ii) if the term f(X1)·f(X2) is a square, then testing whether the term f(X3) is a square in Fq and if so calculating the square root of f(X3) in order to obtain the point P(X3); (iii) otherwise, testing whether the term f(X1) is a square and, if so, calculating the square root of f(X1) in order to obtain the point P(X1); (iv) otherwise, calculating the square root of f(X2) in order to obtain the point P(X2). This point P is useful in a cryptographic application.

Claims (178)

1. An electronic component configured to execute a cryptographic calculation and to obtain a point P(X,Y) from at least one parameter t, on an elliptical curve that satisfies the equation: Y 2 =f(X) and from polynomials X 1 (t), X 2 (t), X 3 (t) and U(t) satisfying the following Skalba equality: f(X1(t))·f(X2(t))·f(X3(t))=U(t) 2 in a finite field F q , regardless of the parameter t, q satisfying the equation q=3 mod 4, wherein said electronic component is configured to:

obtain a value of the parameter t; and

determine the point P by:

(i) calculating X 1 =X 1 (t), X 2 =X 2 (t), X 3 =X 3 (t) and U=U(t);

(ii) if the term f(X1)·f(X2) is a squared term in the finite field Fq then testing whether the term f(X 3 ) is a squared term in the finite field Fq and calculating the square root of the term f(X 3 ), the point P having X 3 as abscissa and the square root of the term f(X3) as ordinate;

(iii) otherwise, testing whether the term f(X 1 ) is a squared term in the finite field Fq and in this case, calculating the square root of the term f(X 1 ), the point P having X 1 as abscissa and the square root of the term f(X 1 ) as ordinate; and

(iv) otherwise, calculating the square root of the term f(X 2 ), the point P having X 2 as abscissa and the square root of the term f(X 2 ) as ordinate;

wherein said electronic component is further configured to use said point P in a cryptographic application selected from the group consisting of encryption or hashing or signature or authentication or identification,

wherein the cryptographic calculation is an application of authentication or identification by a checking entity, and

wherein obtaining the value of the parameter t further comprises:

/a/ generating a random value;

/b/ obtaining an encrypted value by encrypting said random value based on an encryption function using an encryption key determined from a password or identifier corresponding to the parameter; and

/c/ transmitting the encrypted value to the checking entity.

2. The electronic component according to claim 1 , wherein in order to determine the point P said electronic component is further configured to:

calculate R 1 such that:

R

1

=

(

f

(

X

1

)

·

f

(

X

2

)

)

q

+

1

4

;

if R 1 2 is equal to f(X1)·f(X 2 ), then decide whether the term f(X1)·f(X 2 )is a squared term in the field F q ; and

test whether the term f(X 1 ) is a squared term in the finite field F q by:

calculating R′ 2 such that:

R

2

=

f

(

X

1

)

q

-

1

-

q

+

1

4

;

calculating R′ 3 such that:

R′ 3 =R′ 2 2 ; and

calculating R′ 4 such that:

R′ 4 =R′ 3 ·f ( X 1 )

if R′ 4 is not equal to 1, obtain the square roof of the term f(X 2 ) from the following equation:

√{square root over ( f ( X 2 ))}= R 1 ·R′ 2 .

3. The electronic component according to claim 1 , wherein the polynomials that satisfy Skalba's equality are expressed in Jacobian coordinates according to which the point P(X,Y) is written P(X′,Y′,Z) such that:

X′=X·Z 2 ,

Y′=Y·Z 3

wherein the function f is written f z (X′) and satisfies :

f z ( X′ )= X′ 3 + a·X′·Z 4 +b·Z 6

with the elliptical curve satisfying the equation:

Y′ 2 =f z ( X ′)

in which the polynomials that satisfy Skalba's equality expressed in Jacobian coordinates are X′ 1 (t), X′ 2 (t), X′ 3 (t), Z(t) and U′(t) and satisfy Skalba's equality in Jacobian coordinates:

U′ ( t ) 2 =f Z(t) ( X′ 1 ( t ))· f Z(t) (X′ 2 ( t ))·f Z(t) ( X′ 3 ,( t ))

and in which Z(t) is determined in such a way that operations of inversion are transformed into operations of multiplication.

4. The electronic component according to claim 1 , wherein the polynomials that satisfy Skalba's equality are such that it is possible to set a value of X 3 (t) for any possible t, such that f(X 3 (t)) is never a squared term in Fq, and

wherein when determining the point P, the term f(X 1 )·f(X 2 ) is not a squared term in the finite field F q ,

wherein determining the point P further comprises testing whether the term f(X 1 ) is a squared term in the finite field F q by:

calculating R′ 2 such that:

R

2

=

f

(

X

1

)

q

-

1

-

q

+

1

4

;

calculating R′ 3 such that:

R′ 3 =R′ 2 2 ; and

calculating R′ 4 such that:

R′ 4 = R′ 3 ·f ( X 1 )

wherein, if R′ 4 is not equal to 1, determining the point P further comprises obtaining the square root of the term f(X 2 ) according to the following equation:

√{square root over ( f (X 2 ))}=R 1 ·R′ 2

where

R

1

=

(

f

(

X

1

)

·

f

(

X

2

)

)

q

+

1

4

in which R1 is obtained beforehand from the following equation:

R

1

=

(

f

(

X

)

·

f

(

X

2

)

)

q

+

1

4

=

U

·

f

(

u

)

q

-

1

-

q

+

1

4

.

5. The electronic component according to claim 4 , wherein the polynomials that satisfy Skalba's equality are expressed in Jacobian coordinates according to which the point P(X,Y) is written P(X′,Y′,Z) such that:

X′=X·Z 2 ,

Y′=Y·Z 3

where the function f is written f z (X′) and satisfies:

f z ( X′ )= X′ 3 +a·X′·Z 4 +b·Z 6

with the elliptical curve satisfying the equation:

Y′ 2 =f z (X′)

in which the polynomials that satisfy Skalba's equality expressed in Jacobian coordinates are X′1(t), X′2(t), Z(t) and U′(t) and satisfy Skalba's equality in Jacobian coordinates:

U′ ( t ) 2 =f Z(t) ( X′ 1 ( t ))· f Z(t) ( X′ 2 ( t ))· f ( X 3 ( t ))

and in which Z(t) is determined in such a way that operations of inversion are transformed into operations of multiplication.

6. The electronic component according to claim 1 , wherein obtaining the value of the parameter t comprises obtaining the value of the parameter t as a function of a password or an identifier.

Assignments (3)
CHANGE OF NAME Recorded May 1, 2020
From: SAFRAN IDENTITY & SECURITY
To: IDEMIA IDENTITY & SECURITY FRANCE
Reel/Frame 052555/0685 →
CHANGE OF NAME Recorded Apr 30, 2020
From: MORPHO
To: SAFRAN IDENTITY & SECURITY
Reel/Frame 052554/0222 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2018
From: ICART, THOMAS; CORON, JEAN-SEBASTIEN
To: MORPHO
Reel/Frame 046021/0265 →
Priority Claims (1)
FR 09 54053 · Jun 16, 2009 · national
Continuity (4)
Continuation 15178528 · Jun 9, 2016
Continuation In Part 14261959 · Apr 25, 2014
Continuation 13377404
Related Publication 20170359176A1 · Dec 14, 2017