Scheme for arithmetic operations in finite field and group operations over elliptic curves realizing improved computational speed
First Claim
1. A method for calculating a multiplicative inverse in finite field GF(22n), comprising the steps of:
- expressing an element m.di-elect cons.GF(22n) as
space="preserve" listing-type="equation">m=xα
+y(α
+1)(x,y.di-elect cons.GF(2.sup.n))where α
.di-elect cons.GF(22n)\GF(2n), α
2 +α
+a=0, and a.di-elect cons.GF(2n) so that a multiplicative inverse m-1 of the element m in the finite field GF(22n) is expressed as a combination of multiplications, additions and a multiplicative inverse calculation in subfield GF(2n) given by
space="preserve" listing-type="equation">m.sup.-1 =(a(x+y).sup.2 +xy).sup.-1 yα
+(a(x+y).sup.2 +xy).sup.-1 x(α
+1)by combining a normal basis [α
α
+1] with extended Euclidean algorithm; and
calculating the multiplicative inverse m-1 of the element m in the finite field GF(22n) by executing said combination of multiplications, additions and a multiplicative inverse calculation in the subfield GF(2n).
1 Assignment
0 Petitions
Accused Products
Abstract
A scheme for arithmetic operations in finite field and group operations over elliptic curves capable of realizing a very fast implementation. According to this scheme, by using a normal basis [α α+1], the multiplicative inverse calculation and the multiplication in the finite field GF(22n) can be realized as combinations of multiplications, additions and a multiplicative inverse calculation in the subfield GF(2n). Also, by using a standard basis [1α], the multiplication, the square calculation, and the multiplicative inverse calculation in the finite field GF(22n) can be realized as combinations of multiplications, additions and a multiplicative inverse calculation in the subfield GF(2n). These arithmetic operations can be utilized for calculating rational expressions expressing group operations over elliptic curves that are used in information security techniques such as elliptic curve cryptosystems.
-
Citations
18 Claims
-
1. A method for calculating a multiplicative inverse in finite field GF(22n), comprising the steps of:
-
expressing an element m.di-elect cons.GF(22n) as
space="preserve" listing-type="equation">m=xα
+y(α
+1)(x,y.di-elect cons.GF(2.sup.n))where α
.di-elect cons.GF(22n)\GF(2n), α
2 +α
+a=0, and a.di-elect cons.GF(2n) so that a multiplicative inverse m-1 of the element m in the finite field GF(22n) is expressed as a combination of multiplications, additions and a multiplicative inverse calculation in subfield GF(2n) given by
space="preserve" listing-type="equation">m.sup.-1 =(a(x+y).sup.2 +xy).sup.-1 yα
+(a(x+y).sup.2 +xy).sup.-1 x(α
+1)by combining a normal basis [α
α
+1] with extended Euclidean algorithm; andcalculating the multiplicative inverse m-1 of the element m in the finite field GF(22n) by executing said combination of multiplications, additions and a multiplicative inverse calculation in the subfield GF(2n). - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for calculating a multiplication in finite field GF(22n), comprising the steps of:
-
reducing a multiplication of two elements m1 and m2 in GF(22n) into multiplications and additions in subfield GF(2n) by expressing m1, m2 .di-elect cons.GF(22n) as
space="preserve" listing-type="equation">m.sub.1 =x.sub.1 α
+y.sub.1 (α
+1), m.sub.2 =x.sub.2 α
+y.sub.2 (α
+1)where xi, yi .di-elect cons.GF(2n), i=1, 2, α
.di-elect cons.GF(22n)\GF(2n), α
2 +α
+a=0, and a.di-elect cons.GF(2n) so that a multiplication m0 of m1, m2 .di-elect cons.GF(22n) is given by
space="preserve" listing-type="equation">m.sub.0 =m.sub.1 m.sub.2 =(x.sub.1 x.sub.2 +a(x.sub.1 +y.sub.1)(x.sub.2 +y.sub.2))α
+(y.sub.1 y.sub.2 +a(x.sub.1 +y.sub.1)(x.sub.2 +y.sub.2))(α
+1); andcalculating the multiplication m0 by executing said multiplications and additions in the subfield GF(2n).
-
-
9. A device for calculating a multiplicative inverse in finite field GF(22n), comprising:
-
an input unit for expressing an element m.di-elect cons.GF(22n) as
space="preserve" listing-type="equation">m=xα
+y(α
+1)(x,y.di-elect cons.GF(2.sup.n))where α
.di-elect cons.GF(22n)\GF(2n), α
2 +α
+a=0, and a.di-elect cons.GF(2n) so that a multiplicative inverse m-1 of the element m in the finite field GF(22n) is expressed as a combination of multiplications, additions and a multiplicative inverse calculation in subfield GF(2n) given by
space="preserve" listing-type="equation">m.sup.-1 =(a(x+y).sup.2 +xy).sup.-1 yα
+(a(x+y).sup.2 +xy).sup.-1 x(α
+1)by combining a normal basis [α
α
+1] with extended Euclidean algorithm; anda calculation unit for calculating the multiplicative inverse m-1 of the element m in the finite field GF(22n) by executing said combination of multiplications, additions and a multiplicative inverse calculation in the subfield GF(2n).
-
-
10. A device for calculating a multiplication in finite field GF(22n), comprising:
-
an input unit for reducing a multiplication of two elements m1 and m2 in GF(22n) into multiplications and additions in subfield GF(2n) by expressing m1, m2 .di-elect cons.GF(22n) as
space="preserve" listing-type="equation">m.sub.1 =x.sub.1 α
+y.sub.1 (α
+1), m.sub.2 =x.sub.2 α
+y.sub.2 (α
+1)where xi, yi .di-elect cons.GF(2n), i=1, 2, α
.di-elect cons.GF(22n)\GF(2n), α
2 +α
+a=0, and a.di-elect cons.GF(2n) so that a multiplication m0 of m1, m2 .di-elect cons.GF(22n) is given by
space="preserve" listing-type="equation">m.sub.0 =m.sub.1 m.sub.2 =(x.sub.1 x.sub.2 +a(x.sub.1 +y.sub.1)(x.sub.2 +y.sub.2))α
+(y.sub.1 y.sub.2 +a(x.sub.1 +y.sub.1)(x.sub.2 +y.sub.2))(α
+1); anda calculation unit for calculating the multiplication m0 by executing said multiplications and additions in the subfield GF(2n).
-
-
11. An article of manufacture, comprising:
-
a computer usable medium having computer readable program code means embodied therein for causing a computer to function as a system for calculating a multiplicative inverse in finite field GF(22n), the computer readable program code means includes; first computer readable program code means for causing said computer to express an element m.di-elect cons.GF(22n) as
space="preserve" listing-type="equation">m=xα
+y(α
+1)(x,y.di-elect cons.GF(2.sup.n))where α
.di-elect cons.GF(22n)\GF(2n), α
2 +α
+a=0, and a.di-elect cons.GF(2n) so that a multiplicative inverse m-1 of the element m in the finite field GF(22n) is expressed as a combination of multiplications, additions and a multiplicative inverse calculation in subfield GF(2n) given by
space="preserve" listing-type="equation">m.sup.-1 =(a(x+y).sup.2 +xy).sup.-1 yα
+(a(x+y).sup.2 +xy).sup.-1 x(α
+1)by combining a normal basis [α
α
+1] with extended Euclidean algorithm; andsecond computer readable program code means for causing said computer to calculate the multiplicative inverse m-1 of the element m in the finite field GF(22n) by executing said combination of multiplications, additions and a multiplicative inverse calculation in the subfield GF(2n).
-
-
12. An article of manufacture, comprising:
-
a computer usable medium having computer readable program code means embodied therein for causing a computer to function as a system for calculating a multiplication in finite field GF(22n), the computer readable program code means includes; first computer readable program code means for causing said computer to reduce a multiplication of two elements m1 and m2 in GF(22n) into multiplications and additions in subfield GF(2n) by expressing m1, m2 .di-elect cons.GF(22n) as
space="preserve" listing-type="equation">m.sub.1 =x.sub.1 α
+y.sub.1 (α
+1), m.sub.2 =x.sub.2 α
+y.sub.2 (α
+1)where x1, y1 .di-elect cons.GF(2n), i=1, 2, α
.di-elect cons.GF(22n)\GF(2n), α
2 +α
+a=0, and a.di-elect cons.GF(2n) so that a multiplication m0 of m1, m2 .di-elect cons.GF(22n) is given by
space="preserve" listing-type="equation">m.sub.0 =m.sub.1 m.sub.2 =(x.sub.1 x.sub.2 +a(x.sub.1 +y.sub.1)(x.sub.2 +y.sub.2))α
+(y.sub.1 y.sub.2 +a(x.sub.1 +y.sub.1)(x.sub.2 +y.sub.2))(α
+1); andsecond computer readable program code means for causing said computer to calculate the multiplication m0 by executing said multiplications and additions in the subfield GF(2n).
-
-
13. A method for calculating a multiplication in finite field GF(22n), comprising the steps of:
-
expressing elements m1, m2 .di-elect cons.GF(22n)≃
GF(2n)[x]/(x2 +x+a) as
space="preserve" listing-type="equation">m.sub.1 =x.sub.1 +y.sub.1 α
space="preserve" listing-type="equation">m.sub.2 =x.sub.2 +y.sub.2 α
(x.sub.1, x.sub.2, y.sub.1, y.sub.2 .di-elect cons.GF(2.sup.n))where α
.epsilon slash.GF(2n), α
2 +α
+a=0, and a.di-elect cons.GF(2n) so that a multiplication m1 m2 of the elements m1 and m2 in the finite field GF(22n) is expressed as a combination of multiplications and additions in subfield GF(2n) given by
space="preserve" listing-type="equation">m.sub.1 m.sub.2 =(x.sub.1 x.sub.2 +ay.sub.1 y.sub.2)+((x.sub.1 +y.sub.1)(x.sub.2 +y.sub.2)+x.sub.1 x.sub.2)αby using a standard basis [1α
]; andcalculating the multiplication m1 m2 of the elements m1 and m2 in the finite field GF(22n) by executing said combination of multiplications and additions in the subfield GF(2n).
-
-
14. A method for calculating a multiplicative inverse in finite field GF(22n), comprising the steps of:
-
expressing an element m.di-elect cons.GF(22n)≃
GF(2n) [x]/(x2 +x+a) as
space="preserve" listing-type="equation">m=x+yα
(x,y.di-elect cons.GF(2.sup.n))where α
.epsilon slash.GF(2n), α
2 +α
+a=0, and a .di-elect cons.GF(2n) so that a multiplicative inverse m-1 of the element m in the finite field GF(22n) is expressed as a combination of multiplications, additions and a multiplicative inverse calculation in subfield GF(2n) given by
space="preserve" listing-type="equation">m.sup.-1 =(x(x+y)+ay.sup.2).sup.-1 ((x+y)+yα
)by using a standard basis [1α
]; andcalculating the multiplicative inverse m-1 of the element m in the finite field GF(22n) by executing said combination of multiplications, additions and a multiplicative inverse calculation in the subfield GF(2n).
-
-
15. A device for calculating a multiplication in finite field GF(22n), comprising:
-
an input unit for expressing elements m1, m2 .di-elect cons.GF(22n) ≃
GF(2n)[x]/(x2 +x+a) as
space="preserve" listing-type="equation">m.sub.1 =x.sub.1 +y.sub.1 α
space="preserve" listing-type="equation">m.sub.2 =x.sub.2 +y.sub.2 α
(x.sub.1, x.sub.2, y.sub.1, y.sub.2 .di-elect cons.GF(2.sup.n))where α
.epsilon slash.GF(2n), α
2 +α
+a=0, and a.di-elect cons.GF(2n) so that a multiplication m1 m2 of the elements m1 and m2 in the finite field GF(22n) is expressed as a combination of multiplications and additions in subfield GF(2n) given by
space="preserve" listing-type="equation">m.sub.1 m.sub.2 =(x.sub.1 x.sub.2 ay.sub.1 y.sub.2)+((x.sub.1 +y.sub.1) (x.sub.2 +y.sub.2)+x.sub.1 x.sub.2)αby using a standard basis [1α
]; anda calculation unit for calculating the multiplication m1 m2 of the elements m1 and m2 in the finite field GF(22n) by executing said combination of multiplications and additions in the subfield GF(2n).
-
-
16. A device for calculating a multiplicative inverse in finite field GF(22n), comprising:
-
an input unit for expressing an element m.di-elect cons.GF(22n)≃
GF(2n)[x]/(x2 +x+a) as
space="preserve" listing-type="equation">m=x+yα
(x,y.di-elect cons.GF(2.sup.n))where α
.epsilon slash.GF(2n), α
2 +α
+a=0, and a.di-elect cons.GF(2n) so that a multiplicative inverse m-1 of the element m in the finite field GF(22n) is expressed as a combination of multiplications, additions and a multiplicative inverse calculation in subfield GF(2n) given by
space="preserve" listing-type="equation">m.sup.-1 =(x(x+y)+ay.sup.2).sup.-1 ((x+y)+yα
)by using a standard basis [1α
]; anda calculation unit for calculating the multiplicative inverse m-1 of the element m in the finite field GF(22n) by executing said combination of multiplications, additions and a multiplicative inverse calculation in the subfield GF(2n).
-
-
17. An article of manufacture, comprising:
-
a computer usable medium having computer readable program code means embodied therein for causing a computer to function as a system for calculating a multiplication in finite field GF(22n), the computer readable program code means includes; first computer readable program code means for causing said computer to express elements m1, m2 .di-elect cons.GF(22n)≃
GF(2n)[x]/(x2 +x+a) as
space="preserve" listing-type="equation">m.sub.1 =x.sub.1 +y.sub.1 α
space="preserve" listing-type="equation">m.sub.2 =x.sub.2 +y.sub.2 α
(x.sub.1, x.sub.2, y.sub.1, y.sub.2 .di-elect cons.GF(2.sup.n))where α
.epsilon slash.GF(2n), α
2 +α
+a=0, and a.di-elect cons.GF(2n) so that a multiplication m1 m2 of the elements m1 and m2 in the finite field GF(22n) is expressed as a combination of multiplications and additions in subfield GF(2n) given by
space="preserve" listing-type="equation">m.sub.1 m.sub.2 =(x.sub.1 x.sub.2 +ay.sub.1 y.sub.2)+((x.sub.1 +y.sub.1)(x.sub.2 +y.sub.2)+x.sub.1 x.sub.2)αby using a standard basis [1α
]; andsecond computer readable program code means for causing said computer to calculate the multiplication m1 m2 of the elements m1 and m2 in the finite field GF(22n) by executing said combination of multiplications and additions in the subfield GF(2n).
-
-
18. An article of manufacture, comprising:
-
a computer usable medium having computer readable program code means embodied therein for causing a computer to function as a system for calculating a multiplicative inverse in finite field GF(22n), the computer readable program code means includes; first computer readable program code means for causing said computer to express an element m.di-elect cons.GF(22n)≃
GF(2n)[x]/(x2 +x+a) as
space="preserve" listing-type="equation">m=x+yα
(x,y.di-elect cons.GF(2.sup.n))where α
.epsilon slash.GF(2n), α
2 +α
+a=0, and a.di-elect cons.GF(2n) so that a multiplicative inverse m-1 of the element m in the finite field GF(22n) is expressed as a combination of multiplications, additions and a multiplicative inverse calculation in subfield GF(2n) given by
space="preserve" listing-type="equation">m.sup.-1 =(x(x+y)+ay.sup.2).sup.-1 ((x+y)+yα
)using a standard basis [1α
]; andsecond computer readable program code means for causing said computer to calculate the multiplicative inverse m-1 of the element m in the finite field GF(22n) by executing said combination of multiplications, additions and a multiplicative inverse calculation in the subfield GF(2n).
-
Specification