量子计算与后量子密码学:现状与挑战
1. 整数分解算法
当需要对一个 m 位的整数 N 进行分解时,有以下几种算法:
- 基础算法 :遍历所有小于等于 √N 的质数 p,检查 p 是否能整除 N,最大运行时间为 (e^{O(m)})。
- 二次筛法 :尝试找到整数 a 和 b,使得 (a^2 - b^2) 是 N 的倍数。找到 a 和 b 后,通过计算 (a ± b) 来检查与 N 的公因子,运行时间为 (e^{O(m^{1/2})})。
- 通用数域筛法(GNFS) :目前最先进的算法,在处理大数字时非常成功,运行时间为 (e^{O(m^{1/3})})。
从这三种算法可以看出,随着数字增大,经典算法分解大的半质数所需的时间呈指数增长,超出了多项式时间的范围。
2. 分解方法
对于大的半质数多项式的分解,可以采用简化的方法,结合欧几里得定理中的最大公因数(GCF)概念和欧拉定理的周期查找来找到给定数字 N 的两个非平凡质因数。
- 周期的定义 :给定互质的数字 N 和 a,使得 (a^r - 1) 是 N 的倍数的最小正整数 r 称为 a 模 N 的周期,a/N 的余数称为 a 模 N 的值,记为 a (mod N)。
- 计算 GCF :可以使用欧几里得、莱默或二进制 GCD 算法来计算 GCF。
- 具体步骤 :
1. 由于不知道 N 的两个质因数 (p_1
超级会员免费看
订阅专栏 解锁全文
39

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



