大步小步算法

✍ dations ◷ 2025-12-04 11:31:56 #自2020年4月需要从俄语维基百科翻译的条目,算法,群论

在群论中,大步小步算法(英语:baby-step giant-step)是丹尼尔·尚克斯(英语:Daniel Shanks)发明的一种中途相遇算法,用于计算离散对数或者有限阿贝尔群的阶。其中离散对数问题在公钥加密领域有着非常重要的地位。

许多常用的加密系统都基于离散对数极难计算这一假设——计算越困难,这些系统提供的数据传输就越安全。增加离散对数计算难度的一种方法,是把密码系统建立在更大的群上。

这是一种空间换时间(英语:space–time tradeoff)的算法,实质上是求解离散对数的朴素算法(枚举并试乘)的一个相当简单的改进。

给出一个 n {\displaystyle n} 阶循环群 G {\displaystyle G} 、该群的一个生成元 α {\displaystyle \alpha } 和一个元素 β {\displaystyle \beta } 。试找到一个整数 x {\displaystyle x} 满足

大步小步算法把 x {\displaystyle x} 代换成:

于是,我们有:

该算法先对 j {\displaystyle j} 的不同取值计算出 α j {\displaystyle \alpha ^{j}} 的值,然后固定一个 m {\displaystyle m} ,并对 i {\displaystyle i} 尝试不同的取值,带入上面同余式的右边,看是否与某个(已经预先算出的)同余式左边的值相匹配。

给出C++17版本的代码:

相关

  • 统一意大利统一运动(意大利语:Risorgimento,意为“复兴”,故中文文亦有译为“复兴运动”)是19世纪至20世纪初期间,将意大利半岛内各个国家统一为意大利的政治及社会过程。1861年3月17
  • 周 俊周俊(1932年2月5日-),中国植物资源与植物化学家。生于江苏东台。1958年毕业于华东化工学院制药工程专业。中国科学院昆明植物研究所研究员。1999年当选为中国科学院院士。
  • 阿齐沙坦阿齐沙坦(又称阿齐沙坦酯,英语:Azilsartan)(INN) 是一款正处于研发中的治疗高血压症的血管紧张素II受体拮抗剂药物,多用于治疗高血压症,也是目前唯一处于末期临床的血管紧张素II受体
  • 场地自行车场地自行车(英语:Track bike)用于在室内或室外脚踏车场馆(Velodrome)的椭圆形赛道上使用。这种脚踏车结构非常简单:单速,没有车闸(刹车),没有可逆转的飞轮。需要减速时须反向踩踏板。
  • CIsub4/sub四碘化碳、四碘甲烷(分子式:CI4),是四卤甲烷的一种,室温下为亮红色晶体,是少见的深色甲烷衍生物之一。其分子中仅含碳2%。四碘化碳分子为正四面体型,C-I键长为2.12±0.02Å,分子内I-
  • 台北世大运第二十九届夏季世界大学生运动会(英语:XXIX Summer Universiade,简称2017年台北大运会或台北大运会)于2017年8月19日至8月30日在中华民国台北市举行,为台湾首次举办世界大学生运
  • 上蒲溪瑶族乡上蒲溪瑶族乡,是中华人民共和国湖南省怀化市辰溪县下辖的一个乡镇级行政单位。上蒲溪瑶族乡下辖以下地区:五保田村、龙脑上村、中蒲溪村、当峰村、田坪村、温溪村、茂兰冲村、
  • 何塞·穆希卡荷西·阿伯托·穆希卡·康丹诺(西班牙语:José Alberto Mujica Cordano,1935年5月20日-)乌拉圭政治家,曾为第40任乌拉圭总统。1935年5月20日,穆希卡出生于乌拉圭首都蒙得维的亚附近
  • 过河问题过河问题(英语:River crossing puzzle)是著名的益智游戏,是在一些规则下求最短路径的解。网络上有许多以动态游戏的方式呈现这些过河问题,常使用图论(graph theory)来表示与解决
  • 布施瑟山坐标:47°29′16.16″N 10°26′25.28″E / 47.4878222°N 10.4403556°E / 47.4878222; 10.4403556布施瑟山(德语:Bschießer),是中欧的山峰,位于奥地利和德国接壤的边境,属于阿尔