离散对数问题的攻击方法与异常曲线分析
1. 离散对数问题基础
在处理离散对数问题时,为了抵抗某些攻击,群的阶应选择包含一个大素因子。若群的阶 $N$ 包含小素因子,Pohlig - Hellman 方法可用于获取部分关于离散对数 $k$ 的信息,这在某些密码学场景中可能是不利的。因此,常选择大素数阶的群 $G$。具体操作步骤如下:
1. 从一个阶中包含大素数 $q$ 的群开始。
2. 随机选取一个点 $P_1$ 并计算其阶。由于概率至少为 $1 - 1/q$,$P_1$ 的阶可被 $q$ 整除,经过几次尝试,能找到这样的点 $P_1$。
3. 将 $P_1$ 的阶写为 $qm$,则 $P = mP_1$ 的阶为 $q$。只要 $q$ 足够大,由 $P$ 生成的循环群中的离散对数问题就能抵抗 Pohlig - Hellman 攻击。
2. 基于配对的攻击方法
2.1 MOV 攻击
MOV 攻击利用 Weil 配对将椭圆曲线 $E(F_q)$ 上的离散对数问题转化为有限域 $F_{q^m}$ 的乘法群中的离散对数问题。因为有限域中的离散对数问题可通过指标计算方法攻击,只要 $F_{q^m}$ 不比 $F_q$ 大太多,就能比椭圆曲线离散对数问题更快地解决。
对于椭圆曲线 $E$ 上的点 $P, Q \in E(F_q)$,设 $P$ 的阶为 $N$,且 $\gcd(N, q) = 1$,要找到 $k$ 使得 $Q = kP$,可按以下步骤进行:
1. 检查 $k$ 是否存在:存在 $k$ 使得 $Q = kP$ 当且仅当 $NQ = \infty$ 且 Weil 配对 $e_N(P, Q) = 1$。
超级会员免费看
订阅专栏 解锁全文
82

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



