大步小步算法

✍ dations ◷ 2025-11-29 18:01:14 #自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版本的代码:

相关

  • 内华达山脉内华达山脉(英语:Sierra Nevada),中文又音谢拉内华达,雪乐山 是一条纵贯美国加利福尼亚州东部的山脉。部分山体也位于内华达州境内。内华达山脉的最高峰是惠特尼峰,标高4,418 m。
  • 爱德基金会爱德基金会(英语:The Amity Foundation)是与中国基督教协会有关联的团体,是中国的基督徒志愿者参加组成,主要帮助中国贫困地区的团体。本部在南京,活动概况主要包括从海外针对中国
  • 中国与葡语国家商贸合作服务平台发展委员会中国与葡语国家商贸合作服务平台发展委员会(葡萄牙语:Comissão para o Desenvolvimento da Plataforma de Serviços para a Cooperação Comercial entre a China e os Pa
  • 本土决战本土决战是在太平洋战争时,日军所想定的战略之一,意味着在日本本土中陆上决战之意。1944年末起,日军开始制定“决号作战”,1945年夏开始具体部署:在本土集中53个师团、22个独立混
  • 道格拉斯·费尔班克斯范朋克,又译道格拉斯·费尔班克斯(英语:Douglas Fairbanks,1883年5月23日-1939年12月12日)是一位美国演员、导演与剧作家。著名于默剧演出。是第一位在电影中扮演黑侠佐罗的演员。
  • 特伦顿战役特伦顿战役(英语:Battle of Trenton),是美国独立战争于1776年的一场重要战役,发生于新泽西州特伦顿市。英国在华盛顿堡攻城战取胜后,乔治·华盛顿带领大陆军经新泽西州向宾夕法尼
  • 衰变加速因子n/an/an/an/an/an/an/an/an/an/a衰变加速因子(Decay-accelerating factor, DAF),亦称为CD55,在人体内是一种由CD55基因编码的膜蛋白,分子量为70kD。CD55可以通过间接抑制膜攻击复
  • 高丽昌王高丽昌王(朝鲜语:고려 창왕/高麗 昌王 ;1381年-1389年),讳王昌(朝鲜语:왕창/王昌 ),高丽王朝第33位国王(1388年—1389在位),前任国王王禑之子。明太祖洪武二十一年(1388年)五月,守门下侍中李
  • 米哈伊尔·彼得罗维奇·拉扎列夫米哈伊尔·彼得罗维奇·拉扎列夫(俄语:Михаи́л Петро́вич Ла́зарев,1788年11月3日-1851年4月11日),俄罗斯海军军官、探险家。出生于弗拉基米尔。1800年,进
  • 戴树和戴树和(1923年5月16日-2013年10月16日),男,江苏如皋人,中国化工机械专家,南京化工学院教授。1923年生于北京。祖籍江苏如皋。1937年全面抗日战争爆发后到达重庆,入读重庆南开中学。1