Key-Exchange

lwe 估計器的輸出參數代表什麼?

  • June 17, 2020

我想使用 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

引用自:https://crypto.stackexchange.com/questions/77523