大步小步算法

✍ dations ◷ 2025-12-06 21:51:01 #自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版本的代码:

相关

  • 作家古希腊文学是指古代希腊世界的文学。广义的古希腊文学涵盖了从氏族制希腊社会到希腊化时代的文学,持续时间近1000年。古希腊文学是整个西方文学的源头,也是欧洲文学的第一个高
  • 脏腑脏腑,是中医对内脏的总称,通称五脏六腑。根据《素问‧五脏别论篇》,“脏”指的是人体内的五脏,即:肝、心、脾、肺、肾(加上心包即为六脏),主要功能为生化和蓄存精气;以及六腑,即:胆、小
  • 汉斯·奥斯特汉斯·克海斯提安·奥斯特(丹麦语:Hans Christian Ørsted,1777年8月14日-1851年3月9日),丹麦物理学家、化学家和文学家。在物理学领域,他首先发现载流导线的电流会产生作用力于磁
  • 通用转录因子通用转录因子(英语:General transcription factor,GTFs)是最基本的转录因子,为一群转录因子蛋白,键结于DNA的特殊位置以活化转录。GTFs、RNA聚合酶和辅活化子再加上蛋白质组成了转
  • 北方豚尾猕猴北方豚尾猕猴(学名:Macaca leonina),猕猴属的一种,主要分布在亚洲南部的孟加拉国、柬埔寨、老挝、马来西亚、缅甸、泰国和越南等地,中国南部也有少量分布。体型比豚尾猕猴略小。
  • 大观音亭坐标:22°59′54″N 120°12′22″E / 22.998291°N 120.206035°E / 22.998291; 120.206035大观音亭兴济宫是位在台湾台南市北区的著名庙宇,于民国七十四年(1985年)11月27日公
  • 费迪南德·马科斯费迪南德·埃曼努埃尔·埃德拉林·马科斯(他加禄语:Ferdinand Emmanuel Edralin Marcos,1917年9月11日-1989年9月28日),菲律宾政治人物、独裁者,1965年至1986年统治菲律宾长达20年
  • 查理七世 (法兰西)查理七世(法语:Charles VII,1403年2月22日-1461年7月22日),绰号胜利者(法语:le Victorieux)、忠于职守者(法语:le Bien-Servi),瓦卢瓦王朝第五位国王(1422年-1461年在位)。他最后打赢百年战
  • 屯溪话屯溪话,是安徽省黄山市(徽州)屯溪区及毗邻部分地区使用的徽语方言,属休黟片,使用人口约为25万人。1949年前后屯溪话成为徽州话(徽语)代表音。屯溪话保留了很多的古音因素,和官话差别
  • 白垩新伪蕈甲属白垩新伪蕈甲属()为伪蕈甲科下一已灭绝的属级分类元。目前仅知有始祖白垩新伪蕈甲一种。本属可借由下列特征与其他伪蕈甲科属级进行鉴别:身体小型、双眼毗邻。触角细长,延伸至具