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.