大步小步算法

✍ dations ◷ 2025-10-08 20:22:03 #自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版本的代码:

相关

  • 莫西沙星莫西沙星(学名:Moxifloxacin,发音“moxi FLOX a sin”)是一种由拜尔公司开发的第四代人工合成的喹诺酮类抗细菌药(8-methoxy-fluoroquinolone类抗生素)。其口服剂(以盐酸莫西沙星之
  • 释放因子释放因子(英语:release factor)是指透过在信使RNA排序中辨认终止密码子结束翻译过程的蛋白质。在信使RNA的翻译时,大部分的密码子都会被经过氨酰化处理,并因应各自对应的反密码子
  • 键结断裂键结断裂,或简称断裂,是指分子在解离过程中的化学键分裂。分子经过键结断裂后,产生两个或两个以上的产物。键结断裂有2种形式:均匀断裂(homolytic cleavage)和非均匀断裂(heterolyt
  • 交通运输地理学交通运输地理学(Transport geography, transportation geography),也称交通地理学,是人文地理学的一个分支,其旨在研究人类活动、货物交通以及地球表面信息之间的关系。经济地理
  • 立方拍米体积(英语:Volume)是物件占有多少空间的量。体积的国际单位制是立方米。一件固体物件的体积是一个数值用以形容该物件在空间所占有的空间。一维空间物件(如线)及二维空间物件(如正
  • 南湖区南湖区是中国浙江省嘉兴市所辖的一个市辖区,原名秀城区,2005年5月17日改为现名。古置秀州,有秀水傍城墙流过,故名。南湖区辖8个街道、5个镇:建设街道、解放街道、新嘉街道、南湖
  • 萨摩麟萨摩麟(学名:),也作萨摩兽,是长颈鹿科下已灭绝的一属,生活在中新世和上新世的欧亚大陆和非洲大陆。萨摩麟头上长有两个皮骨角,腿长较长。萨摩麟和山西兽属之间关系紧密。2015年的一
  • 约瑟·巴贝拉约瑟夫·罗兰·“乔”·巴伯拉(英语:Joseph Roland "Joe" Barbera,1911年3月24日-2006年12月18日)是美国动画师、导演、制片人、分镜画师兼卡通画师,他创作的电影和电视动画角色曾
  • 达摩洞达摩洞,位于南京市幕府山三台洞西,高90米。四周有明代碑刻和佛龛。梁大通元年,梁武帝迎达摩至建康。达摩的佛学思想不被接受,遂前往嵩山少林寺,相传北上前在此洞休息,故名。明代焦
  • 广义长垒广义长垒(越南语:Trường lũy Quảng Ngãi),简称长垒,是越南中部的一处历史遗迹。该遗址是一处长为127.4公里的城墙,从北面广义省境内延伸到南面的平定省境内。该城墙是东南亚