Solve

class solve.algebraic_attack.Solve(file_log_result_path: str, file_output_result_path: str, file_input_path: str, algo_gb: str, options: dict[str, list[dict[str, any]]], algo_order_change: str, full_computation_timetout: float)

Solve is the class to solve a multivariate system of equations.

Parameters:
  • file_log_result_path (str) – Path to the log file

  • file_output_result_path (str) – Path to the file containing result

  • file_input_path (str) – Path to the file with systems

  • algo_gb (str) – Algorithm to compute the Gröbner basis

  • options (dict[str, list[dict[str, any]]]) – Options for the Gröbner basis algorithm

  • algo_order_change (str) – Algorithm to use for the temr order change step

  • full_computation_timeout (float) – timeout to solve the systems

solve()

Solve the systems of equations

solve.algebraic_attack.system_of_equation_shape(system_of_equation: list)

Return the system of equations shape that is a list of tuple. Each tuple has 3 coordinates: the number of monomials in the polynomial, the indices of the variables involved in the polynomial and the total degree of the polynomial. Each tuple corresponds to the shape of a polynomial in the system. It allows to draw random ideal generated from system of equations sharing the same shape.

Parameters:

system_of_equation (list) – System of equations