LLL格基约化算法

LLL (Lenstra–Lenstra–Lovász) 算法是一种用于将给定的格基 (lattice basis) 转换为更为紧凑的格基的算法。格基是在一个向量空间内的整数线性组合中生成整个格子的向量集合。

这里还要挖一个坑 未来找到例题了完善一下这里

给定一个格基,LLL 算法将其转换为一个更加“紧凑”的格基,其中“紧凑”意味着每个向量都尽可能地小,并且向量之间的角度足够大,以便于其他计算(例如在密码学中的应用)。这个算法是由 Hendrik Lenstra、Arjen K. Lenstra 和 László Lovász 在1982年提出的。

LLL算法是基于Gram-Schmidt正交化过程的改进,通过在每个向量的基础上计算其它向量在其上的投影来保证格基更加紧凑。它也可以被用于解决基于格的问题,例如在密码学中的应用,如整数因子分解、离散对数问题、RSA问题等。

Lattice basis(格基)是一个向量集合,它们通过整数线性组合可以生成一个格子(lattice)中的所有点。这些向量必须是线性无关的,因此它们构成了一个基(basis),并且它们可以用来唯一地表示格子中的每个点。

举个例子,考虑二维空间中由向量 (1, 0) 和 (1, 1) 生成的格子。这两个向量形成了一个格基,因为它们是线性无关的,它们可以用来生成整个格子。也就是说,对于任何整数 aabb,向量 a(1,0)+b(1,1)a(1, 0) + b(1, 1) 将是格子中的一个点。格子中的每个点都可以用这种方式唯一地表示为 aabb 的整数线性组合。

格基在计算几何、密码学和通信领域中有很多应用,包括基于格的密码学、调制解调器设计、无线网络编码等等。