大步小步算法

✍ dations ◷ 2025-12-08 07:24:20 #自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版本的代码:

相关

  • 社交网络服务多数社交网路会提供多种让用户交互起来的方式 ,可以为聊天、寄信、影音、文件分享、博客、新闻组等。社交网路为信息的交流与分享提供了新的途径。作为社交网路的网站一般会
  • 乳母乳母,又称乳娘、奶娘、奶妈、奶母、奶婆,是雇用来以母乳喂哺婴儿的妇女。在古代,奶粉或其他母乳代用品未发明或未普及时,婴儿的生母如不能或不愿意哺育其子女,往往会雇用乳母。尤
  • 让-奥诺雷·弗拉戈纳尔让-奥诺雷·弗拉戈纳尔(Jean-Honoré Fragonard,1732年4月5日-1806年8月22日),法国罗可可时代最后一位重要代表画家。1732年出生于法国东南部滨海-阿尔卑斯省的格拉斯,他父亲是一
  • 标准德语标准德语(德语:Hochdeutsch或Standarddeutsch),中文也称标准德文,是德语的标准语,作为书面语使用,并作为不同方言区的交流语使用。德语是一种多中心语言(有多种标准语的语言)。根据不
  • 呆小症先天性碘缺乏症候群(又称矮呆病、克汀病、呆小病)是指因产妇对碘的摄取不足,使得婴儿先天性缺乏甲状腺激素(先天性甲状腺机能低下症),而导致严重阻碍身心发展的一种症状。一般通过
  • 黑非洲撒哈拉以南非洲(英语:Sub-Saharan Africa),指撒哈拉沙漠以南的非洲地区,又称亚撒哈拉地区、下撒哈拉、漠南非洲,也有称黑非洲(Negro Africa)。政治上,包括了所有或部分领土位于撒哈拉
  • 本我在心理动力论中,本我、自我与超我是由精神分析学家弗洛伊德之结构理论所提出,精神的三大部分。1923年,弗洛伊德提出相关概念,以解释意识和潜意识的形成和相互关系。“本我”(完全
  • 马志明 (数学家)马志明(1948年1月25日-),生于四川成都,籍贯山西交城,中国数学家。1978年毕业于重庆师范学院数学系。1981年获中国科学院研究生院数学硕士学位。1984年获中国科学院应用数学研究所
  • 盔或称胄、鍪、牟,也称头盔,是具有对头部非一般保护能力的帽。古代盔主要由皮革、棉布、麻布与金属制成,近世亦用树脂或塑胶制成。今日军用盔多采用抗弹纤维制成。民用盔常在人
  • 克什米尔人克什米尔人(英语:Kashmiri people)是目前生活在印巴争议地区克什米尔的一群以达尔德语、克什米尔语为日常语言的人,他们分布于印控克什米尔、巴控克什米尔和中华人民共和国管理