コンテンツへスキップ
uencoder

LLL Algorithm

LLLアルゴリズムは、格子基底を多項式時間でほぼ直交する基底に簡約する。得られた最初のベクトルの長さは最短ベクトルの 2^((n-1)/2) 倍以下である。

目的

多項式時間で近似的な格子簡約(lattice reduction)を行い、暗号解読や数論で広く使われる。

メカニズム

グラム・シュミットの直交化を行った後、Lovász 条件(|μ_{i,i-1}|≤1/2 かつ B_i≥(3/4-μ^2)B_{i-1})を検査し、満たさなければ交換と縮約を繰り返す。出力基底の最初のベクトルの長さは 2^((n-1)/2) * λ_1 以下となる。

ユースケース

  • 格子(lattice)を用いた暗号解読
  • 多項式の因数分解(factoring)
  • CVPの近似解法

関連ツール

References