离散对数 学习笔记
离散对数的定义方式和对数类似。取有原根的正整数模数
我们称这个
显然
性质
离散对数的性质也和对数有诸多类似之处。
设
是模 的原根, ,则:
进而
若
也是模 的原根,则
引入
BSGS(baby-step giant-step),即大步小步算法,常用于求解离散对数问题。该算法可以在
方法
我们将求解的答案
也就是
于是就可以用 Meet in middle
攻击了
进阶篇
对
该问题可以转化为 BSGS 求解的问题。
由于式子中的模数
方法一
我们令
于是就转换成了 BSGS 的基本模型了,可以在
方法二
我们仍令
方程两边同时取离散对数得到
我们可以通过 BSGS 求解
找到所有解
在知道
于是得到所有解为
对于上面这个式子,显然有
这就是原问题的所有解。
扩展篇(扩展 BSGS)
对
其中
当
具体地,设
如果
同理,这样不停的判断下去,直到
记
由于
注意,不排除解小于等于
补充:小粉兔的另一种 exBSGS
洛谷 P5345: 【XR-1】快乐肥宅 - 粉兔 - 博客园
主要思想是特判 “尾巴BSGS