aboutsummaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/data/formulas/add-openssl-z256.op32
-rw-r--r--test/data/formulas/add-sunec-v21-ed255192
-rw-r--r--test/data/formulas/dbl-sunec-v21-ed255192
-rw-r--r--test/sca/test_structural.py14
4 files changed, 15 insertions, 5 deletions
diff --git a/test/data/formulas/add-openssl-z256.op3 b/test/data/formulas/add-openssl-z256.op3
index bc0ccfc..3819546 100644
--- a/test/data/formulas/add-openssl-z256.op3
+++ b/test/data/formulas/add-openssl-z256.op3
@@ -11,7 +11,7 @@ H = U2 - U1
Rsqr = R^2
Z3 = H * Z1
Hsqr = H^2
-Z3 = H * Z2
+Z3 = Z3 * Z2
Hcub = Hsqr * H
U2 = U1 * Hsqr
Hsqr = 2 * U2
diff --git a/test/data/formulas/add-sunec-v21-ed25519 b/test/data/formulas/add-sunec-v21-ed25519
index 078aa39..5814455 100644
--- a/test/data/formulas/add-sunec-v21-ed25519
+++ b/test/data/formulas/add-sunec-v21-ed25519
@@ -1,2 +1,2 @@
source Java JDK 21 https://github.com/openjdk/jdk/blob/jdk-21-ga/src/jdk.crypto.ec/share/classes/sun/security/ec/ed/Ed25519Operations.java#L147
-coords extended
+coords extended-1
diff --git a/test/data/formulas/dbl-sunec-v21-ed25519 b/test/data/formulas/dbl-sunec-v21-ed25519
index 6814542..f20095f 100644
--- a/test/data/formulas/dbl-sunec-v21-ed25519
+++ b/test/data/formulas/dbl-sunec-v21-ed25519
@@ -1,2 +1,2 @@
source Java JDK 21 https://github.com/openjdk/jdk/blob/jdk-21-ga/src/jdk.crypto.ec/share/classes/sun/security/ec/ed/Ed25519Operations.java#L184
-coords extended
+coords extended-1
diff --git a/test/sca/test_structural.py b/test/sca/test_structural.py
index be1f45f..0587f7a 100644
--- a/test/sca/test_structural.py
+++ b/test/sca/test_structural.py
@@ -11,8 +11,18 @@ from pyecsca.ec.formula import (
)
from pyecsca.ec.model import ShortWeierstrassModel, MontgomeryModel, TwistedEdwardsModel
from pyecsca.ec.params import get_params
-from pyecsca.sca.re.structural import formula_similarity, formula_similarity_fuzz
-import itertools
+from pyecsca.sca.re.structural import formula_similarity
+
+
+def test_formula_similarity(secp128r1):
+ add_bl = secp128r1.curve.coordinate_model.formulas["add-2007-bl"]
+ add_rcb = secp128r1.curve.coordinate_model.formulas["add-2015-rcb"]
+ out = formula_similarity(add_bl, add_rcb)
+ assert out["output"] == 0
+ assert out["ivs"] < 0.5
+ out_same = formula_similarity(add_bl, add_bl)
+ assert out_same["output"] == 1
+ assert out_same["ivs"] == 1
@pytest.mark.parametrize(