格罗布纳基计算与RSA模数分解算法研究
在代数计算和密码学领域,格罗布纳基(Gröbner basis)计算以及RSA模数分解是两个重要的研究方向。本文将介绍一种加速格罗布纳基计算的新策略,以及利用随机已知位重构素数来分解RSA模数的方法。
灵活部分扩展加速格罗布纳基计算
传统的格罗布纳基计算复杂度研究主要关注计算过程中出现的多项式的最大次数。例如,对于齐次半正则序列,有计算正则度(Dreg)的精确公式,在某种通用序列的情况下,该度数与使用F5算法计算过程中出现的多项式的最大度数一致。对于齐次系统,通过对大小为正则度项数的方阵进行线性代数运算可求解系统,并将此作为上界。但对于非齐次半正则序列,需要加上低次项。
本文提出的算法对这一界限的尖锐性提出了质疑。以24个变量的24个二次多项式的随机系统为例,新算法生成的最大矩阵大小为26409×33245,而24个变量到6次的项数为190051。这是因为在不同度数下省略了一些分区,导致某些项在计算中从未出现。
该算法的复杂度不仅取决于系统的最高度数D和变量数n,还取决于每个度数d省略的变量序列n1, n2, …, nD。最大矩阵的列数由以下公式给出:
[
\sum_{d = 1}^{D} \binom{n - n_d}{d} + 1
]
通过实验比较了MGB与MXL3和F4算法的效率。实验在特定服务器上进行,使用随机系统和HFE系统进行测试。
以下是密集随机系统的实验结果:
| 算法 | n | D | 最大矩阵 |
| ---- | ---- | ---- | ---- |
| F4 | 24 | 6 | 207150
超级会员免费看
订阅专栏 解锁全文
17

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



