Estimating Modulus#
Use --param "logq" to estimate the modulus (logq) of the scheme.
The following commands estimate the modulus for a binary secret distribution, error distribution as a discrete Gaussian with standard deviation of 3.19, target security levels (lambda), and LWE dimensions:
python3 src/estimate.py --param "logq" --lambda "100" --n "1024" --secret "binary" --error "gaussian" --std "3.19"
Output Example
secret dist. | lambda | lwe dim. | output
---------------+--------+----------+-------
Uniform (-1 0) | 100 | 1024 | 33
Show all estimations from formulas/numerical methods
When adding the option --table, the output shows the individual results for each of the formulas and numerical methods.
secret dist. | lambda | lwe dim. | logq usvp | logq bdd | output
---------------+--------+----------+-----------+----------+-------
Uniform (-1 0) | 100 | 1024 | 33 | 33 | 33
Compare results against the Lattice Estimator
Use option -v, to see the result (columns est ‘name of attack / num’) of running the Lattice Estimator with the given parameters and compare them with our formulas/numerical methods.
secret dist. | lambda | lwe dim. | logq usvp | est usvp | logq bdd | est bdd | output
---------------+--------+----------+-----------+----------+----------+---------+-------
Uniform (-1 0) | 100 | 1024 | 33 | 103 | 33 | 101 | 33