Method and system for atomicity for elliptic curve cryptosystems
View Patent ↗A method and system are provided for atomicity for elliptic curve cryptosystems (ECC-systems). The method includes a side channel atomic scalar multiplication algorithm using mixed coordinates. The mixed coordinates are chosen based on a ratio of I/M where I and M are the time required to execute an inversion and a multiplication in the ground field respectively. If the I/M ratio is less than 60, a mixture of affine and Jacobian coordinates are used during scalar multiplication. If the I/M ratio is 60 or more, a mixture of Chudnovsky-Jacobian and Jacobian coordinates are used during scalar multiplication. The method is optimized for elliptic curves over F p defined by an equation of the form y 2 =x 3 +ax+b, where a, bεF p , having a=−3.
1. A method of providing atomicity for cryptosystems based on elliptic curves, comprising:
using a computing device comprising:
a side channel atomic scalar multiplication algorithm using mixed coordinates, including:
repeating a sequence of field operations for each elliptic curve addition or doubling operation to provide an atomic block, wherein the atomic block appears equivalent by side-channel analysis; and
choosing the coordinates based on a ratio of I/M where I and M are the time required to execute an inversion and a multiplication in the ground field respectively, wherein when the I/M ratio is less than 60, a combination of both affine and Jacobian coordinates are used during scalar multiplication and when the I/M ratio is 60 or more, a combination of both Chudnovsky-Jacobian and Jacobian coordinates are used during scalar multiplication.
2. The method as claimed in claim 1 , wherein the side channel atomic scalar multiplication algorithm is optimized for elliptic curves over F p defined by an equation of the form y 2 =x 3 +ax+b, where a, bεF p , having a=−3 and b is a real number.
3. The method as claimed in claim 1 , wherein the sequence of field operations starts with a multiplication operation.
4. The method as claimed in claim 3 , wherein the sequence of field operations is a multiplication, an addition, a negation, and an addition.
5. An elliptic curve cryptography system (ECC-system) providing atomicity, comprising:
means for encryption including means for applying a side channel atomic scalar multiplication using mixed coordinates, including:
means for repeating a sequence of field operations for each elliptic curve addition or doubling operation to provide an atomic block, wherein the atomic block appears equivalent by side-channel analysis; and
means for choosing the coordinates based on a ratio of I/M where I and M are the time required to execute an inversion and a multiplication in the ground field respectively, wherein when the I/M ratio is less than 60, a combination of both affine and Jacobian coordinates are used during scalar multiplication and when the I/M ratio is 60 or more, a combination of both Chudnovsky-Jacobian and Jacobian coordinates are used during scalar multiplication; and
means for transferring encrypted data, wherein the encrypted data is protected from side-channel analysis.
6. The ECC-system as claimed in claim 5 , wherein the means for encryption is optimized for elliptic curves over F p defined by an equation of the form y 2 =x 3 +ax+b, where a, bεF p , having a=−3 and b is a real number.
7. The ECC-system as claimed in claim 5 , wherein the means for repeating a sequence of field operations, includes a sequence starting with a multiplication operation.
8. The ECC-system as claimed in claim 7 , wherein the means for repeating a sequence of field operations, includes a sequence of a multiplication, an addition, a negation, and an addition.
9. A computer program product stored on a non-transitory computer readable storage medium, comprising computer readable program code means for performing the steps of, when executed on a computer:
a side channel atomic scalar multiplication algorithm using mixed coordinates, including:
repeating a sequence of field operations for each elliptic curve addition or doubling operation to provide an atomic block, wherein the atomic block appears equivalent by side-channel analysis; and
choosing the coordinates based on a ratio of I/M where I and M are the time required to execute an inversion and a multiplication in the ground field respectively, wherein when the I/M ratio is less than 60, a combination of both affine and Jacobian coordinates are used during scalar multiplication and when the I/M ratio is 60 or more, a combination of both Chudnovsky-Jacobian and Jacobian coordinates are used during scalar multiplication.