大步小步算法

✍ dations ◷ 2025-10-18 16:06:28 #自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版本的代码:

相关

  • 非正常死亡非正常死亡在法医学上指由外部作用导致的死亡,包括火灾、溺水等自然灾难;或工伤、医疗事故、交通事故、自杀、他杀、受伤害等人为事故致死。与之相对的正常死亡,则指由内在的健
  • 科迪勒拉山系科迪勒拉山系(英语:American Cordillera;西班牙语:cordillera Americana)是世界上最长的山系,其山脉位于南北美洲大陆西部,北起阿拉斯加,南到火地岛,绵延约15000公里。属中新生代褶皱
  • 昙石山遗址坐标:26°09′01″N 119°08′41″E / 26.15028°N 119.14472°E / 26.15028; 119.14472昙石山遗址位于中国福建省闽侯县甘蔗镇昙石村,地处闽江下游北岸,是新石器时代中晚期到
  • 中性流相互作用中性流(Neutral current)是次原子粒子相互作用现象之一,这些相互作用由Z玻色子所引发。弱中性流的发现是弱力与电磁力(弱电理论)统一的重要关键,并导致W及Z玻色子最终被发现。1973
  • 眉毛眉是位于眼睛以上,顺着眉弓的形状而长出来的粗糙毛发。眉毛的主要功能是防止水流入眼睛,大多是“汗”水和“雨”水。眉毛边缘弯曲的形状和眉尖所指的方向,可以确保水滴沿着脸的
  • 人手人力资源(英语:Human Resources;简称:HR),是指一个机构中由人所组成的劳动力。人力资源的安排、运用称为“人力资源管理”,关键功能是‘在合适的时间,将合适的人员,安排在合适的职务
  • 碘泡虫属碘泡虫属(学名:)是黏体动物纲下的一属,当中包括了一些重要的鱼类寄生虫(如脑粘体虫)。此属为多系群,其成员分布于黏体动物纲的不同演化支中。
  • 蜡嘴雁 Latham, 1801 (Vieillot, 1818)蜡嘴雁(学名),又名巴伦角鹅,是澳洲南部一种大型的鹅。蜡嘴雁的体型粗大及呈灰色,有黑色圆斑点。尾巴及飞羽都是黑色的,腿及脚掌分别呈粉红色及黑
  • 陈道曾陈道曾,字端诚,福建晋江人,明朝政治人物。陈章应之孙。永乐十五年(1417年),福建丁丑乡试中举。永乐十六年(1418年)联捷戊戌科进士,改户科给事中,后授吴县教谕,升瑞州府教授,迁无为州学正
  • 逆元素数学中,逆元素(英语:Inverse element)推广了加法中的加法逆元和乘法中的倒数。直观地说,它是一个可以取消另一给定元素运算的元素。设为一有二元运算 * 的集合。若为(,*)的单位元