大步小步算法

✍ dations ◷ 2025-11-27 13:12:34 #自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版本的代码:

相关

  • 毒性毒性(英语:Toxicity)是毒物的化学分子或化合物到达生物敏感部位引起机体损害的能力。毒物的联合作用有以下四种:协同作用、相加作用、独立作用和拮抗作用。
  • 网页网页(英语:web page)是一个适用于万维网和网页浏览器的文件,它存放在世界某个角落的某一部或一组计算机中,而这部计算机必须是与互联网相连。网页经由网址(URL)来识别与访问,当我们
  • 1992年1992年被中华人民共和国处决的死刑犯列表,旨在列出1992年被中华人民共和国处决的死刑犯。
  • 长寿区长寿区位于重庆市中部。东南邻涪陵区,西南与渝北区、巴南区接壤,西北靠四川省邻水县,东北接垫江县。幅员面积1415.49平方千米。全区辖4街道14镇,总人口88万。明夏时期置县,据《蜀
  • 安达卢斯安达卢斯(阿拉伯语:الأندلس‎;Al-Andalus)是指阿拉伯和北非穆斯林(西方称摩尔人)统治下的伊比利亚半岛和塞蒂马尼亚,也指半岛被统治的711年-1492年这段时期。这片区域后在收
  • 江西电视台江西广播电视台是一家位于中华人民共和国江西省的传媒事业单位,是中国江西省官办的省级广播电台兼电视台,是经国家广电总局批准,江西省委、省政府决定成立的省级广播电视大型综
  • 黛安娜·艾勃特黛安·朱莉·艾勃特(英语:Daine Julie Abbott,1953年9月27日-)是一名英国工党政治家,现为影子内政大臣。1987年大选时,她在北哈克尼和斯托克纽因顿选区当选为国会议员(MP),成为首位下
  • 亨利·斯壮亨利·阿尔瓦·斯壮(英语:Henry Alvah Strong,1838年8月30日-1919年7月26日,又名亨利·A·斯壮(英语:Henry A. Strong))是美国的摄影商人,是伊士曼柯达公司1884年至1919年之间的董事长
  • 泰国地理泰王国位于中南半岛中部,南连马来半岛。东西皆面海:东临泰国湾,西枕安达曼海。总面积514,000平方千米,其中水域面积2,230平方千米。海岸线长3,219千米。与老挝、柬埔寨、马来西
  • 非法采矿非法采矿指的是在没有取得许可证的情况下进行采矿的行为。根据《中华人民共和国刑法》第三百四十三条,“违反矿产资源法的规定,未取得采矿许可证擅自采矿,擅自进入国家规划矿区