大步小步算法

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

相关

  • 越南国家银行越南国家银行(英语:State Bank of Vietnam,简称SBV),成立于1951年5月6日,系越南社会主义共和国的国家银行,属于越南中央政府中的一个部级机构,其总部设于首都河内市。越南国家银行原
  • 马特·斯通马修·理查德·“马特”·斯通(英语:Matthew Richard "Matt" Stone,1971年5月26日-),美国动画师、编剧家、电视片导演、电视片制片人、配音演员、音乐家以及演员。他与特雷·帕克
  • 文莱经济文莱是世界上最富有的国家之一,国民无须缴交个人所得税。原油和天然气是国家的主要支柱,总产值几乎占整个国家国内生产总值90%。在东南亚,石油储量和产量仅次于印度尼西亚,居第2
  • 卡斯特 (菲尼斯泰尔省)卡斯特(法语:Cast)是法国菲尼斯泰尔省的一个市镇,位于该省中部,属于沙托兰区,也是普雷邦-沙托兰-波尔宰地方公共社区(法语:Communauté de communes de Pleyben-Châteaulin-Porzay)
  • 塭仔圳重划区塭仔圳重划区位于台湾新北市新庄区与泰山区交界处,总面绩约400公顷。原淡水河被管制的洪水平原一级管制区,解除后,与区域防洪计划完成后所提供土地,变更为都市发展用地,将其分区
  • 步非烟 (作家)步非烟(1981年7月11日-),本名辛晓娟,出生于四川省成都市,当代武侠小说作家,被网友称为“北大才女”。其笔名来自于皇甫枚所著的唐代传奇《步飞烟》。1999年步非烟考入北京大学中文
  • cmp (Unix)cmp是Unix及类Unix操作系统计算机系统上使用的命令行实用程序。它能比较两个任何类型的文件,并将结果写入标准输出。默认情况下,如果文件相同,cmp没有任何输出;如果不同,则报告第
  • 皮乌拉省皮乌拉省 (Provincia de Piura)位于秘鲁共和国北部的皮乌拉地区,共分为9个管辖区。面积6,211.61平方公里,2005年人口642,428人。首府皮乌拉。该省于1861年3月20日建立。
  • DARKER THAN BLACKDARKER THAN BLACK系列是由动画公司BONES与冈村天斋制作的TV动画及衍生作品。本作正式简称是“DTB”,在日本也简称作“DARKER(ダーカー)”。目前整个系列的故事由以下3部已完结
  • 宝体站宝体站是深圳地铁1号线一个车站。站名因车站附近宝安区体育中心而得名,并将其名称缩短为“宝体”。位于中国广东省深圳市宝安区新湖路与罗田路交叉口下方,顺新湖路呈东南至西