estimator.lwe.Estimate#
- class estimator.lwe.Estimate[source]#
- __call__(params, red_cost_model=<estimator.reduction.MATZOV object>, red_shape_model='gsa', deny_list=(), add_list=(), jobs=1, catch_exceptions=True)[source]#
Run all estimates.
- Parameters:
params – LWE parameters.
red_cost_model – How to cost lattice reduction.
red_shape_model – How to model the shape of a reduced basis (applies to primal attacks)
deny_list – skip these algorithms
add_list – add these
(name, function)
pairs to the list of algorithms to estimate.ajobs – Use multiple threads in parallel.
catch_exceptions – When an estimate fails, just print a warning.
EXAMPLE
>>> from estimator import * >>> _ = LWE.estimate(schemes.Kyber512) bkw :: rop: ≈2^178.8, m: ≈2^166.8, mem: ≈2^167.8, b: 14, t1: 0, t2: 16, ℓ: 13, #cod: 448... usvp :: rop: ≈2^143.8, red: ≈2^143.8, δ: 1.003941, β: 406, d: 998, tag: usvp bdd :: rop: ≈2^140.3, red: ≈2^139.7, svp: ≈2^138.8, β: 391, η: 421, d: 1013, tag: bdd bdd_hybrid :: rop: ≈2^140.3, red: ≈2^139.7, svp: ≈2^138.8, β: 391, η: 421, ζ: 0, |S|: 1, ... bdd_mitm_hybrid :: rop: ≈2^260.3, red: ≈2^259.4, svp: ≈2^259.3, β: 405, η: 2, ζ: 102, |S|: ≈2^247.2,... dual :: rop: ≈2^149.9, mem: ≈2^88.0, m: 512, β: 424, d: 1024, ↻: 1, tag: dual dual_hybrid :: rop: ≈2^145.6, mem: ≈2^140.5, m: 512, β: 408, d: 1004, ↻: 1, ζ: 20, tag: dual_hybrid
Methods
__init__
()rough
(params[, jobs, catch_exceptions])This function makes the following somewhat routine assumptions: