格密码学中的Babai算法与基于格难题的密码系统
1. Babai算法与近似最近向量问题(apprCVP)求解
1.1 正交基下的最短向量问题(SVP)和最近向量问题(CVP)求解
当格 $L \subset R^n$ 有一组两两正交的基向量 $v_1, \cdots, v_n$ ,即对于所有 $i \neq j$ ,都有 $v_i \cdot v_j = 0$ 时,求解SVP和CVP都变得容易。
对于SVP,格中任意向量的长度由公式 $|a_1v_1 + a_2v_2 + \cdots + a_nv_n|^2 = a_1^2|v_1|^2 + a_2^2|v_2|^2 + \cdots + a_n^2|v_n|^2$ 给出。由于 $a_1, \cdots, a_n \in Z$ ,格中最短的非零向量就是集合 ${\pm v_1, \cdots, \pm v_n}$ 中最短的向量。
对于CVP,假设要找到格 $L$ 中最接近给定向量 $w \in R^n$ 的向量。首先将 $w$ 写成 $w = t_1v_1 + t_2v_2 + \cdots + t_nv_n$ ,其中 $t_1, \cdots, t_n \in R$ 。对于 $v = a_1v_1 + \cdots + a_nv_n \in L$ ,有 $|v - w|^2 = (a_1 - t_1)^2|v_1|^2 + (a_2 - t_2)^2|v_2|^2 + \cdots + (a_n - t_n)^2|v_n|^2$ 。因为 $a_i$ 必须是整数,所以当每个 $a_i$ 取最接近相应 $t_i$ 的整数时,该式取得最小值。
超级会员免费看
订阅专栏 解锁全文
20

被折叠的 条评论
为什么被折叠?



