8、图形卡上的并行最短格向量枚举

图形卡上的并行最短格向量枚举

1. 引言

基于格的密码系统被认为能抵御量子计算机攻击,因此是基于因式分解或离散对数系统的有前途的替代方案。格基约简有助于确定这些问题在实际中的难度。近年来,人们对格的穷举搜索算法,特别是其实现方面的关注度不断提高。本文主要探讨穷举搜索的并行化以及特殊硬件的应用。

格约简旨在寻找格中短且正交的向量。目前实际中用于格约简的是Schnorr和Euchner提出的BKZ算法,它由两部分组成:在低维中对最短非零向量进行穷举搜索(“枚举”),以及在高维中使用LLL算法搜索短(非最短)向量。BKZ算法由块大小参数β进行参数化,该参数决定了BKZ内部穷举搜索算法的块大小。

穷举搜索算法由Kannan和Fincke - Pohst提出,有时枚举也被称为KFP算法。Kannan的算法运行时间为$2^{O(n \log n)}$,其中n表示格的维度。Schnorr和Euchner提出了KFP穷举搜索的一个变体,称为ENUM。枚举算法大致是在一个搜索树中进行深度优先搜索,该搜索树包含特定搜索空间内的所有格向量,即所有欧几里得范数小于指定界限的向量。主要挑战是确定可以剪掉哪些树的分支以加速穷举搜索。枚举总是在至少经过LLL约简的格基上执行,因为与未约简的基相比,这可以显著减少运行时间。

LLL算法的运行时间在格维度上是多项式的,因此可以应用于高格维度(n > 1000)。所有已知的穷举搜索算法的运行时间在维度上是指数级的,因此只能应用于较小维度的块(n ⪅70)。因此,BKZ的运行时间在块大小β上呈指数增长。在BKZ中,枚举执行非常频繁,因此实际中块大小最多选择到50。对于高块大小,经验表明ENUM占用了BKZ 99%的时间。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值