密码学中的关键技术与工具:向量问题求解与自动猜测工具
在密码学领域,有两项关键技术值得深入探讨,一是解决最近向量问题(CVP)以恢复快速密码伪随机数生成器(PRNG)的种子,二是使用自动猜测工具(Autoguess)进行猜测 - 确定(GD)攻击和寻找密钥桥。
最近向量问题(CVP)与种子恢复
最近向量问题(CVP)旨在给定的格中找到与目标向量 $T$ 最接近的向量。通常,这是一个难题,但当矩阵维度较小时,我们可以借助 CVP 求解器精确解决该问题。这里使用的是 Python 的 fpylll 库中的 CVP 求解器。
计算 $Z^{-r3}$
当 $f_1$ 足够大时,CVP 求解器会返回 $(1 + ar^{3 - s^3})Z^{-r^3} \times (1, a, a^2, a^3, \ldots) \bmod m$。但由于 $(1 + ar^{3 - s^3})$ 在模 $m$ 下不可逆,我们只能得到 $(1 + ar^{3 - s^3})Z^{-r^3}$,而无法直接得到 $Z^{-r^3}$。
具体步骤如下:
1. 设置 $f_1$ 参数 :
- 若 $n/d < s_1$,则 $f_1 = n/d + 1$,此时 $n/d + 1$ 计算得到的 $X_i$ 近似值的 $d - 1$ 个高位是正确的。
- 若 $n/d \geq s_1$,则设置 $f_1$ 满足 $f_1 - 1 \times (d - f_1 - s_1) \geq n$。
2. 构造目标向量 $T$ :
超级会员免费看
订阅专栏 解锁全文
43

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



