离散对数
Summary
求 a 的 x 次方模 p 等于 b 的最小非负整数 x,称为离散对数问题。当 a 与 p 互质时用大步小步算法 BSGS 求解:设 m 取根号 p 上取整,令 x=im−j,方程化为 a 的 im 次方等于 b 乘 a 的 j 次方;先枚举 j 把右侧的值存入哈希表作为小步,再枚举 i 计算左侧查表作为大步,时间复杂度为 O(根号 p)。当 a 与 p 不互质时改用扩展 BSGS 处理。
参考资料
简介
求 的最小非负整数 称为 离散对数 问题。当 时,用 BSGS(Baby-Step Giant-Step,大步小步)求解。
设 ,令 (),则方程化为 。先枚举 把 存入哈希表(小步),再枚举 计算 查表(大步),时间复杂度 。当 时用扩展 BSGS。