离散对数-BSGS算法

本文介绍了如何使用扩展大步小步法(BSGS算法)来解决离散对数问题。当给定ax ≡ b (mod m),且(m, a) = 1时,主要讨论了当m为质数的情况。通过将x表示为A⌈p⌉ + B的形式,预处理并按顺序枚举A,可以达到O(p+p)的时间复杂度。若需要对多个b求解,时间复杂度可优化为O(K+⌊kp⌋∗n)。" 113908681,10539464,使用MapReduce迁移MySQL数据,"['MySQL', 'Hadoop', 'MapReduce', '数据处理']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

口胡

参考:扩展大步小步法解决离散对数问题

离散对数主要是求解这样一类问题:

a x ≡ b ( m o d m ) a^x \equiv b \pmod m axb(modm) 大概就是 ( m o d m ) \pmod m (modm)意义下的对数

这里只考虑 ( m , a ) (m,a) (m,a)为1的情况。一般来说,给出的m是一个质数。

x = A ⌈ p ⌉ + B x = A \lceil \sqrt{p} \rceil + B x=Ap +B,其中 0 ≤ B &lt; ⌈ p ⌉ 0 \leq B &lt; \lceil \sqrt{p} \rceil 0B<p 0 ≤ A &lt; ⌈ p ⌉ 0 \leq A &lt; \lceil \sqrt{p} \rceil 0A<p 。则方程变成

a A ⌈ p ⌉ + B ≡ b ( m o d p ) a^{A\lceil \sqrt{p} \rceil + B} \equiv b \pmod p aAp +Bb(modp)
两边同时乘以 A ⌈ p ⌉ A \lceil \sqrt{p} \rceil Ap 的逆元,则方程变为
a B ≡ b ⋅ a − A ⌈ p ⌉ ( m o d p ) a^{B} \equiv b\cdot a^{-A\l

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值