From ba8e3448e611f3d67bb2deb1be6fc1cf5d333af0 Mon Sep 17 00:00:00 2001 From: Naga Suramouli <naga.suramouli@stud.th-deg.de> Date: Tue, 23 Jul 2019 22:58:37 +0200 Subject: [PATCH] Upload New File --- .../sage/point_validation_Jacobian | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 ECC Over GF(2m)/sage/point_validation_Jacobian diff --git a/ECC Over GF(2m)/sage/point_validation_Jacobian b/ECC Over GF(2m)/sage/point_validation_Jacobian new file mode 100644 index 0000000..50e9229 --- /dev/null +++ b/ECC Over GF(2m)/sage/point_validation_Jacobian @@ -0,0 +1,40 @@ +def Pointvalidation_Jacobi_Mont(x,y,a,b,PRECISION): +r=(2^PRECISION).__xor__(n); rpoly = str_to_poly(r) + r2poly = rpoly * rpoly; r2 = poly_to_str(r2poly) + rinvpoly = rpoly^-1; rinv = poly_to_str(rinvpoly) + +x_poly = str_to_poly(x) +y_poly = str_to_poly(y) + +x_poly_MD = x_poly * r2poly * rinvpoly +y_poly_MD = y_poly * r2poly * rinvpoly +L_poly_MD = L_poly * r2poly * rinvpoly +R_poly_MD = R_poly * r2poly * rinvpoly + +temp1_poly_MD = x_poly_MD * rinvpoly +temp2_poly_MD = y_poly_MD * rinvpoly +temp3_poly_MD = a_poly_MD * rinvpoly +temp4_poly_MD = b_poly_MD * rinvpoly + +temp5_poly_MD = temp1_poly_MD * temp1_poly_MD * rinvpoly +temp6_poly_MD = temp5_poly_MD * temp1_poly_MD * rinvpoly + +temp7_poly_MD = temp2_poly_MD * temp2_poly_MD * rinvpoly + +temp8_poly_MD = temp1_poly_MD * temp2_poly_MD * rinvpoly + +temp9_poly_MD = temp3_poly_MD * temp5_poly_MD * rinvpoly + +L_poly_MD = temp7_poly_MD + temp8_poly_MD * rinvpoly + +R_poly_MD = temp4_poly_MD + temp9_poly_MD + temp6_poly_MD * rinvpoly + + + + + +print 'L_MD=',poly_to_str(L_poly_MD) +print 'R_MD=',poly_to_str(R_poly_MD) + + + -- GitLab