pe_problem

class cryptographic_estimators.PEEstimator.pe_problem.PEProblem(n: int, k: int, q: int, **kwargs)

Bases: BaseProblem

Construct an instance of the Permutation Code Equivalence Problem.

Parameters:
  • n (int) – Code length

  • k (int) – Code dimension

  • q (int) – Field size

  • **kwargs

    Additional keyword arguments

    h - Dimension of the hull (Default: min(n,n-k), i.e., code is assumed to be weakly self dual)

    nsolutions - Number of (expected) solutions of the problem in logarithmic scale

    memory_bound - Maximum allowed memory to use for solving the problem

expected_number_solutions()

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

get_parameters()

Returns n, k, q and h.

to_bitcomplexity_memory(elements_to_store: float)

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

Parameters:

elements_to_store (float) – Number of elements to store (logarithmic)

to_bitcomplexity_time(basic_operations: float)

Returns the bit-complexity corresponding to basic_operations Fq additions.

Parameters:

basic_operations (float) – Number of field additions (logarithmic)