Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

Elliptic curve arithmetic

the below code is performed mod arithmetic of two polynomial fE and fL over prime field P= 5 and the extension is 5^2. the mod of two polynomial is always third degree polynomial. My fE polynomial is always 3p degree and fL polynomial is p degree. my question is whatever p(large p = 112 bit ,128 bit 160 bit) I will take my mod is always third degree. is it because of any polynomial property.

p=5 A=4 B=4 print"\n p=",p print"\n A=",A print"\n B=",B

F = GF(p) E = EllipticCurve( F, [A,B] );E

S. = PolynomialRing( F ) K. = GF( p**2);#K.modulus#, modulus=W^2+W+1 ) print "\n Modulus of K is =", K.modulus()

R.<z> = PolynomialRing( K, sparse=True )

fE=z^15 + (4a + 4)z^11 + 2z^10 + (a + 3)z^7 + z^6 + (2a + 2)z^5 + z^3 + 2z^2 + (3a + 4)z + 1 fL=(4az^5 + (a + 4)z + 3);fL f1= (fE%fL).monic;f1 z^3 + (3a + 4)z^2 + 3z + 3a + 2

Elliptic curve arithmetic

the below code is performed mod arithmetic of two polynomial fE and fL over prime field P= 5 and the extension is 5^2. the mod of two polynomial is always third degree polynomial. My fE polynomial is always 3p degree and fL polynomial is p degree. my question is whatever p(large p = 112 bit ,128 bit 160 bit) I will take my mod is always third degree. is it because of any polynomial property.

p=5
A=4
B=4
print"\n p=",p
print"\n A=",A
print"\n B=",B

B=",B

F = GF(p) E = EllipticCurve( F, [A,B] );E

);E

S. S.<a> = PolynomialRing( F ) K. K.<a> = GF( p**2);#K.modulus#, modulus=W^2+W+1 ) print "\n Modulus of K is =", K.modulus()

K.modulus()

R.<z> = PolynomialRing( K, sparse=True )

)

fE=z^15 + (4a (4*a + 4)z^11 4)*z^11 + 2z^10 2*z^10 + (a + 3)z^7 3)*z^7 + z^6 + (2a (2*a + 2)z^5 2)*z^5 + z^3 + 2z^2 2*z^2 + (3a (3*a + 4)z 4)*z + 1 fL=(4az^5 fL=(4*a*z^5 + (a + 4)z 4)*z + 3);fL f1= (fE%fL).monic;f1 z^3 + (3a (3*a + 4)z^2 4)*z^2 + 3z 3*z + 3a 3*a + 2

2