LLL格约减算法与举例

    LLL格约减算法由Arjen LenstraHendrik Lenstra以及László Lovász三人于1982年提出的一种在多项式时间内求解格中的近似正交基的算法。由于格的性质,如果能够通过某种方式求得一个格的正交基,那么求解最近向量问题(CVP)与最短向量问题(SVP)都将是十分容易的。

    事实上,在某种情况下,我们可以把LLL算法看作是对Gauss约减算法的一种拓展,因为Gauss约减算法解决了求解二维格中的一个近似正交基问题,而LLL算法则将这个维度拓展到了n维。

LLL格约减算法的定义

LLL Lattice Reduction Algorithm

  其中要注意的一点是,对于罗瓦兹条件,其可以有多种表达形式,其另一种同样常见且正确的表达方式为||v^*_i+\mu _{i,i-1}v^*_{i-1}||^2 \geq \frac{3}{4} ||v^*_{i-1} ||^2  。 

    对于LLL约减算法的定义,用更直白的语言来说,给定一个格L的一组基BB^*是其经过施密特正交化后的一组基,那么我们说,如果对于基B,其满足以上两个条件(尺度条件与罗瓦兹条件),那么便认为基B是经LLL约减后的一组基。

    经过LLL格约减算法后得到的一组基有着一些良好的性质,利用这些性质我们可以很容易地求解某些问题,例如,通过使用LLL格约减算法可以在一个令密钥持有者十分不安的时间内,破解那些使用基于背包密码体制问题的密码系统密钥。

LLL格约减算法的计算

    LLL格约减算法的伪代码如下所示:

LLL算法

    该算法没有什么难点,只要按照步骤走,就可以得到一组LLL的近似正交基。但是需要注意的是Gram-Shimidt正交化的时机。在实际使用该算法时,并不是在一开始计算一次Gram-Schimidt就可以了,而是在每一次步骤(这里的步骤指的是k的循环)的开始,需要重新计算一次当前基(v1,v2,v3,...,vn)的Gram-Schimidt正交化基。

    考虑到在许多写LLL算法的博客都没有给出LLL算法的例子,我这里便给出一个使用LLL算法的例子,供大家参考,该例子来源于Youtube链接

  问题:给定格L\subset \mathbb{R}^3,其一组基B=\{(15,23,11),(46,15,3),(32,1,1) \},利用LLL算法求其约减后的一组基。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 16宿命:用概率思维提高你的胜算 以前的我是风险厌恶者,不喜欢去冒险,但是人生放弃了冒险,也就放弃了无数的可能。 ...
    yichen大刀阅读 8,141评论 0 4
  • 公元:2019年11月28日19时42分农历:二零一九年 十一月 初三日 戌时干支:己亥乙亥己巳甲戌当月节气:立冬...
    石放阅读 7,515评论 0 2
  • 年纪越大,人的反应就越迟钝,脑子就越不好使,计划稍有变化,就容易手忙脚乱,乱了方寸。 “玩坏了”也是如此,不但会乱...
    玩坏了阅读 2,353评论 2 1
  • 感动 我在你的眼里的样子,就是你的样子。 相互内化 没有绝对的善恶 有因必有果 当你以自己的价值观幸福感去要求其他...
    周粥粥叭阅读 1,744评论 1 5
  • 昨天考过了阿里规范,心里舒坦了好多,敲代码也犹如神助。早早完成工作回家喽
    常亚星阅读 3,280评论 0 1

友情链接更多精彩内容