From 068dff3d7de2332ce04078dbd52fc928ac515726 Mon Sep 17 00:00:00 2001 From: vojtechsu Date: Fri, 24 Nov 2023 10:49:05 +0100 Subject: Add ivs norm --- pyecsca/ec/formula_gen/metrics.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pyecsca/ec/formula_gen/metrics.py b/pyecsca/ec/formula_gen/metrics.py index 5e5093d..45f51c2 100644 --- a/pyecsca/ec/formula_gen/metrics.py +++ b/pyecsca/ec/formula_gen/metrics.py @@ -39,6 +39,16 @@ def formula_similarity(one: Formula, other: Formula) -> Dict[str, float]: } +def ivs_norm(one: Formula): + one_unroll = unroll_formula(one) + one_results = {} + for name, value in one_unroll: + if name in one.outputs: + one_results[name] = value + one_polys = set(map(itemgetter(1), one_unroll)) + return one_polys + + def formula_similarity_abs(one: Formula, other: Formula) -> Dict[str, float]: if one.coordinate_model != other.coordinate_model: warnings.warn("Mismatched coordinate model.") -- cgit v1.2.3-70-g09d2