pyecsca.ec.formula.partitions module

pyecsca.ec.formula.partitions.reduce_all_adds(formula, rename=True)[source]
Return type:

CodeFormula

pyecsca.ec.formula.partitions.expand_all_muls(formula, rename=True)[source]
Return type:

CodeFormula

pyecsca.ec.formula.partitions.expand_all_nopower2_muls(formula, rename=True)[source]
Return type:

CodeFormula

pyecsca.ec.formula.partitions.find_single_input_add_fliparoos(graph)[source]
Return type:

List[AddFliparoo]

pyecsca.ec.formula.partitions.find_constant_mul_fliparoos(graph)[source]
Return type:

List[MulFliparoo]

pyecsca.ec.formula.partitions.find_expansion_nodes(graph, nopower2=False)[source]
Return type:

List[Node]

pyecsca.ec.formula.partitions.is_power_of_2(n)[source]
Return type:

bool

pyecsca.ec.formula.partitions.reduce_all_XplusX(graph)[source]
pyecsca.ec.formula.partitions.find_all_XplusX(graph)[source]
Return type:

List[CodeOpNode]

pyecsca.ec.formula.partitions.reduce_XplusX(graph, node)[source]
pyecsca.ec.formula.partitions.reduce_mul_fliparoo(fliparoo, copy=True)[source]
pyecsca.ec.formula.partitions.reduce_add_fliparoo(fliparoo, copy=True)[source]
pyecsca.ec.formula.partitions.expand_mul(graph, node, copy=True)[source]
Return type:

FormulaGraph

class pyecsca.ec.formula.partitions.Partition(n)[source]

Bases: object

value: int
parts: List[Partition]
property is_final
pyecsca.ec.formula.partitions.compute_partitions(n)[source]
Return type:

List[Partition]

pyecsca.ec.formula.partitions.generate_partitioned_formulas(formula, rename=True)[source]
pyecsca.ec.formula.partitions.generate_all_node_partitions(original_graph, node)[source]
Return type:

Generator[FormulaGraph, Any, None]

pyecsca.ec.formula.partitions.partition_node(graph, node, partition, source_node)[source]