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