estimator.ntru.Estimate.rough#
- Estimate.rough(params, jobs=1, catch_exceptions=True, quiet=False)[source]#
This function makes the following (non-default) somewhat routine assumptions to evaluate the cost of lattice reduction, and to provide comparable numbers with most of the literature:
The ZGSA holds.
The Core-SVP model holds.
Provided numbers are notably not directly comparable with the rest of our API, when using the default cost models.
This function furthermore assumes the following heuristics:
The primal hybrid attack only applies to sparse secrets.
The dual hybrid MITM attack only applies to sparse secrets.
The dense sublattice attack only applies to possibly overstretched parameters
- Parameters:
params – NTRU parameters.
jobs – Use multiple threads in parallel.
catch_exceptions – When an estimate fails, just print a warning.
quiet – suppress printing
EXAMPLE
>>> from estimator import * >>> _ = NTRU.estimate.rough(schemes.NTRUHPS2048509Enc) usvp :: rop: ≈2^109.2, red: ≈2^109.2, δ: 1.004171, β: 374, d: 643, tag: usvp bdd_hybrid :: rop: ≈2^108.6, red: ≈2^107.7, svp: ≈2^107.5, β: 369, η: 368, ζ: 0, |S|: 1, ... >>> _ = NTRU.estimate.rough(schemes.NTRUHPS2048509Enc, quiet=True)