sd_problem

class cryptographic_estimators.SDEstimator.sd_problem.SDProblem(n: int, k: int, w: int, **kwargs)

Bases: BaseProblem

Construct an instance of the Syndrome Decoding Problem.

Parameters:
  • n (int) – Code length.

  • k (int) – Code dimension.

  • w (int) – Error weight.

  • nsolutions (int) – Number of (expected) solutions of the problem in logarithmic scale.

  • memory_bound (int) – Maximum allowed memory to use for solving the problem.

Construct an instance of BaseProblem.

Parameters:
  • parameters (dict) – Parameters of the problem.

  • nsolutions (int) – Number of solutions of the problem.

  • memory_bound (float, optional) – Maximum allowed memory to use for solving the problem. Defaults to inf.

expected_number_solutions()

Returns the logarithm of the expected number of existing solutions to the problem.

get_parameters()

Returns the ISD paramters n, k, w.

to_bitcomplexity_memory(elements_to_store: float)

Returns the memory bit-complexity associated with a given number of elements to store.

Parameters:

elements_to_store (float) – The number of memory operations (logarithmic).

Returns:

The memory bit-complexity associated with the given number of elements to store.

to_bitcomplexity_time(basic_operations: float)

Calculates the bit-complexity corresponding to the number of field additions, which are the basic_operations for SDAlgorithms.

Parameters:

basic_operations (float) – The number of field additions (in logarithmic scale).

Returns:

The bit-complexity corresponding to the given number of field additions.