aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/ec/test_divpoly.py
diff options
context:
space:
mode:
authorJ08nY2023-08-01 19:50:48 +0200
committerJ08nY2023-08-01 19:50:48 +0200
commita702c701187c92b9e6f8d7b889430f1c368bf330 (patch)
tree71de908bf696d60e690ac207005402e69c371043 /test/ec/test_divpoly.py
parent6dcf7835175a9c3c575ce484740d340a7f6f8f68 (diff)
downloadpyecsca-a702c701187c92b9e6f8d7b889430f1c368bf330.tar.gz
pyecsca-a702c701187c92b9e6f8d7b889430f1c368bf330.tar.zst
pyecsca-a702c701187c92b9e6f8d7b889430f1c368bf330.zip
Add sagemath test for larg-er divpoly.
Diffstat (limited to 'test/ec/test_divpoly.py')
-rw-r--r--test/ec/test_divpoly.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/test/ec/test_divpoly.py b/test/ec/test_divpoly.py
index 7cda6f6..9773624 100644
--- a/test/ec/test_divpoly.py
+++ b/test/ec/test_divpoly.py
@@ -1,4 +1,5 @@
from unittest import TestCase
+import json
from sympy import FF
from pyecsca.ec.divpoly import a_invariants, b_invariants, divpoly0, divpoly, mult_by_n
@@ -167,3 +168,19 @@ class DivpolyTests(TestCase):
my_num, my_denom = my
self.assertDictEqual(my_num.as_dict(), coeffs_my_num)
self.assertDictEqual(my_denom.as_dict(), coeffs_my_denom)
+
+ def test_mult_by_n_large(self):
+ K = FF(self.secp128r1.curve.prime)
+ mx, my = mult_by_n(self.secp128r1.curve, 21)
+ with open("test/data/divpoly/mult_21.json") as f:
+ sage_data = json.load(f)
+ sage_data["mx"][0] = {eval(key): K(val) for key, val in sage_data["mx"][0].items()}
+ sage_data["mx"][1] = {eval(key): K(val) for key, val in sage_data["mx"][1].items()}
+ sage_data["my"][0] = {eval(key): K(val) for key, val in sage_data["my"][0].items()}
+ sage_data["my"][1] = {eval(key): K(val) for key, val in sage_data["my"][1].items()}
+
+ self.assertDictEqual(mx[0].as_dict(), sage_data["mx"][0])
+ self.assertDictEqual(mx[1].as_dict(), sage_data["mx"][1])
+
+ self.assertDictEqual(my[0].as_dict(), sage_data["my"][0])
+ self.assertDictEqual(my[1].as_dict(), sage_data["my"][1])