IP Library Granted Patent US 9,049,021
Granted Patent B2
US 9,049,021 · App. 13/723,552 · Granted Jun 2, 2015

Method for determining the cofactor of an elliptic curve, corresponding electronic component and computer program product

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 9,049,021
App. No.
13/723,552
Granted
Jun 2, 2015
Kind
B2
Abstract

A method and apparatus are proposed for cryptographic computations implemented in an electronic component. The method includes determining the cofactor of an elliptic curve E defined over a finite field F q with q elements, the elliptic curve comprising a base point P having an order equal to n. The step of determining includes determining a value of floor((q+2 ceil(b/2)+1 +1)/n) when n>6√q, where the function ceil corresponds to the ceiling function, floor corresponds to the floor function, and b corresponds to the size q in number of bits of q.

Claims (60)

1. A method for cryptographic computations implemented in an electronic component implemented within a first electronic device, wherein the method comprises:

determining a cofactor of an elliptic curve E defined over a finite field F q with q elements using the electronic component that is configured to determine the cofactor, said elliptic curve comprising a base point P having an order equal to n, wherein determining the cofactor comprises determining a value of floor((q+2 ceil(b/2)+1 +1)/n) as the cofactor when n>6√q using the electronic component, where the function ceil corresponds to the ceiling function, floor corresponds to the floor function, and b corresponds to the size q in number of bits of q;

performing, using the electronic component, a cryptographic function based on elliptic curve cryptography using the cofactor; and

exchanging, by the first electronic device, data relating to said cryptographic function with a second electronic device.

2. The method for cryptographic computations according to claim 1 wherein q=2 m where m is an integer greater than or equal to one.

3. The method for cryptographic computations according to claim 1 wherein q=p where p is a prime number greater than or equal to three.

4. The method for cryptographic computations according to claim 1 , wherein the method comprises:

a step of determining A:=36q;

a step of determining B:=n 2;

a step of comparing A and B.

5. The method for cryptographic computations according to claim 1 , wherein the method comprises computations by the electronic device that are compliant with the ECC CDH protocol.

6. The method for cryptographic computations according to claim 1 , wherein the electronic component is implemented within a first electronic device and wherein the method comprises:

the first electronic device receiving domain parameters D of said elliptic curve E from a second electronic device.

7. The method of claim 1 , further comprising:

sending at least one secure domain parameter comprising the cofactor to a second electronic device for validation.

8. The method of claim 1 , further comprising:

receiving, by the electronic component, at least one secure domain parameter from a second electronic device for validation;

determining, by the electronic component, whether the received at least one secure domain parameter comprises the cofactor;

if the received at least one secure domain parameter does not comprise the cofactor, recovering the cofactor by performing the step of determining the cofactor.

9. The method of claim 1 , further comprising:

sending or receiving the cofactor as part of at least one secure domain parameter to or from a second electronic device; and

using the at least one domain parameter to perform at least one of the following with the second electronic device:

a secret key exchange;

signatures and verification of signatures;

key pair generation;

a public key validation;

a cryptographic protocol based on the use of elliptic curves.

10. The method of claim 1 , further comprising:

using the cofactor to determine a secret key shared between the electronic component and a second device; and

conducting encrypted communications with the second electronic device using the shared secret key.

11. A computer-readable and non-transitory storage medium storing a computer program comprising a set of computer-executable instructions to implement a method for cryptographic computations when the instructions are executed by a computer of a first electronic device, wherein the instructions comprise:

instructions, which when executed, configure the computer to determine a cofactor of an elliptic curve E defined over a finite field F q with q elements, said elliptic curve comprising a base point P having an order equal to n;

instructions, which when executed, configure the computer to determine the cofactor as a value of floor((q+2 ceil(b/2)+1 +1)/n) when n>6√q, where the function ceil corresponds to the ceiling function, floor corresponds to the floor function, and b corresponds to the size q in number of bits of q;

instructions, which when executed, configure the computer to perform a cryptographic function based on elliptic curve cryptography using the cofactor; and

instructions, which when executed, configure the computer to exchange data relating to said cryptographic function with a second electronic device.

12. An electronic component of a first electronic device, comprising:

means for performing cryptographic computations comprising means for determining the cofactor of an elliptic curve E defined over a finite body F q with q elements, said elliptic curve comprising a base point P having an order equal to n, said means for determining comprising means for determining the cofactor as a value of floor((q+2 ceil(b/2)+1 +1)/n) when n>6√q, where the function ceil corresponds to the ceiling function, floor corresponds to the floor function, and b corresponds to the size of q in number of bits;

means for performing a cryptographic function based on elliptic curve cryptography using the cofactor; and

means for exchanging data relating to said cryptographic function with a second electronic device.

13. The electronic component according to claim 12 wherein the means for determining a cofactor comprise means for comparing n and 6√q.

14. An electronic component according to claim 12 , wherein the electronic component is comprised within a secured module.

15. The electronic component of claim 12 , further comprising:

means for sending at least one secure domain parameter comprising the cofactor to a second electronic device for validation.

16. The electronic component of claim 12 , wherein:

the means for exchanging comprises means for receiving, by the electronic component, at least one secure domain parameter from the second electronic device for validation, and

wherein the electronic component further comprises:

means for determining whether the received at least one secure domain parameter comprises the cofactor;

means for, if the received at least one secure domain parameter does not comprise the cofactor, recovering the cofactor by performing the step of determining the cofactor.

17. The electronic component of claim 12 , wherein:

the means for exchanging comprises means for sending or receiving the cofactor as part of at least one secure domain parameter to or from a second electronic device; and

wherein the electronic component further comprises:

means for using the at least one domain parameter to perform at least one of the following with the second electronic device:

a secret key exchange;

signatures and verification of signatures;

key pair generation;

a public key validation;

a cryptographic protocol based on the use of elliptic curves.

18. The electronic component of claim 12 , further comprising:

means for using the cofactor to determine a secret key shared between the electronic component and the second device; and

the means for exchanging comprises means for conducting encrypted communications with the second electronic device using the shared secret key.

Assignments (2)
CHANGE OF NAME Recorded Dec 16, 2022
From: OBERTHUR TECHNOLOGIES
To: IDEMIA FRANCE
Reel/Frame 062140/0907 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2013
From: DOTTAX, EMMANUELLE; AUMONIER, SEBASTIEN
To: OBERTHUR TECHNOLOGIES
Reel/Frame 030217/0070 →