lwe 估計器的輸出參數代表什麼?
我想使用 lwe 估計器來找到我提出的密鑰交換協議的經典和量子安全性。在這個網站上,我想了解下面給出的 lwe 估計器上 sage 程式碼的輸出。
聖人:負載(“estimator.py”)
sage: n, alpha, q = Param.Regev(128)
聖人:成本=估計_lwe(n,alpha,q)
輸出是
usvp: rop: ≈2 ^ 57.2, red: ≈2 ^ 57.2, δ_0: 1.009214, β: 101, d: 349, m: 220
dec:rop:≈2^61.5, m:229, red:≈2^61.5, δ_0:1.009595, β:93, d:357, female:≈2^46.8, female_op:≈2^61.9, repeat:293。 ε:0.015625
dual: rop: ≈2 ^ 81.4, m: 376, red: ≈2 ^ 81.4, δ_0: 1.008810, β: 111, d: 376, | v |: 736.521, repeat: ≈2 ^ 19.0, ε: 0.003906
什麼是 rop, red, δ_0, β, d, m 在輸出中代表什麼。我搜尋了許多這樣的 lwe estimator 官方文件(他們在第 7 節中簡要描述了其他參數,如 bop)和this。但它們提供有關輸入參數和使用的算法的資訊,而不是有關輸出參數的資訊。任何幫助表示讚賞。
- δ_0:所需的根 Hermite 因子
- β:BKZ 塊大小
- d:被減小的晶格的維度
- m:使用的 LWE 樣本數
我也想使用 lwe 估計器。但和你一樣,我找不到任何解釋。所以我搜尋原始碼。最重要的功能是
lattice_reduction_cost()
告訴您lattice_reduction的成本。def lattice_reduction_cost(cost_model, delta_0, d, B=None): """ Return cost dictionary for returning vector of norm` δ_0^d Vol(Λ)^{1/d}` using provided lattice reduction algorithm. :param lattice_reduction_estimate: :param delta_0: root-Hermite factor `δ_0 > 1` :param d: lattice dimension :param B: bit-size of entries """ beta = betaf(delta_0) cost = cost_model(beta, d, B) return Cost([("rop", cost), ("red", cost), ("delta_0", delta_0), ("beta", beta)])
並且預設的cost_model是.
reduction_default_cost = BKZ.enum
它的定義在class BKZ
.你對這個問題有一些解釋嗎?@vivek。希望作者為 lwe 估計器提供更多 README,謝謝。@MartinR.Albrecht