diff options
| -rw-r--r-- | pyecsca/ec/formula/fliparoo.py | 4 | ||||
| -rw-r--r-- | pyecsca/ec/formula/graph.py | 7 |
2 files changed, 8 insertions, 3 deletions
diff --git a/pyecsca/ec/formula/fliparoo.py b/pyecsca/ec/formula/fliparoo.py index 9c0e6f6..c8d77ac 100644 --- a/pyecsca/ec/formula/fliparoo.py +++ b/pyecsca/ec/formula/fliparoo.py @@ -347,8 +347,8 @@ def combine_signed_nodes( sign = -1 new_node = CodeOpNode.from_str( - f"Fliparoo{randint(1,100000)}", left_node.result, operator, right_node.result - ) # TODO the randint is not ideal + f"Fliparoo{id(left_node)}_{id(operator)}_{id(sign)}_{id(right_node)}", left_node.result, operator, right_node.result + ) new_node.incoming_nodes = [left_node, right_node] left_node.outgoing_nodes.append(new_node) right_node.outgoing_nodes.append(new_node) diff --git a/pyecsca/ec/formula/graph.py b/pyecsca/ec/formula/graph.py index 5340f3c..e2f10ea 100644 --- a/pyecsca/ec/formula/graph.py +++ b/pyecsca/ec/formula/graph.py @@ -204,7 +204,12 @@ def formula_input_variables(formula: EFDFormula) -> List[str]: # temporary solution class ModifiedEFDFormula(EFDFormula): - pass + def __eq__(self, other): + if not isinstance(other, ModifiedEFDFormula): + return False + return ( + self.name == other.name and self.coordinate_model == other.coordinate_model and self.code == other.code + ) class ModifiedDoublingEFDFormula(DoublingEFDFormula, ModifiedEFDFormula): |
