estimator.reduction.MATZOV#
- class estimator.reduction.MATZOV(nn='classical')[source]#
Improved enumeration routine in list decoding from [MATZOV22].
- Parameters:
nn – Nearest neighbor cost model. We default to “ListDecoding” (i.e. BDGL16) and to the “depth × width” metric. Kyber uses “AllPairs”.
- __call__(beta, d, B=None)#
Runtime estimation from [Kyber20] and [AC:AGPS20].
- Parameters:
beta – Block size ≥ 2.
d – Lattice dimension.
B – Bit-size of entries.
EXAMPLE:
>>> from math import log >>> from estimator.reduction import RC, Kyber >>> log(RC.Kyber(500, 1024), 2.0) 176.55419197058822 >>> log(Kyber(nn="list_decoding-ge19")(500, 1024), 2.0) 172.89020262269491
Methods
LLL(d[, B])Runtime estimation for LLL algorithm based on [AC:CheNgu11].
__init__([nn])beta()Estimate required block size β for a given root-hermite factor δ based on [PhD:Chen13].
d4f(beta)Dimensions "for free" following [EC:Ducas18].
delta(beta)Compute root-Hermite factor δ from block size β.
short_vectors(beta, d[, N, preprocess, B, ...])Cost of outputting many somewhat short vectors according to [AC:GuoJoh21].
short_vectors_simple(beta, d[, N, B, preprocess])Cost of outputting many somewhat short vectors.
svp_repeat(beta, d)Return number of SVP calls in BKZ-β.
Attributes