大步小步算法

✍ dations ◷ 2025-11-25 23:56:38 #自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版本的代码:

相关

  • 北方园林三山五园是指北京西北部的皇家园林群的统称。这些园林兴建于清康熙时期,兴盛于乾隆时期,大多在1860年第二次鸦片战争中被焚毁。有关三山五园的具体所指,目前比较通行的说法是,三
  • 休斯敦县休斯顿县 (Houston County, Georgia,Houston读作house-ton)是美国乔治亚州中部的一个县。面积984平方公里。根据美国2000年人口普查,共有人口110,765人。县治佩里 (Perry)。成
  • 丁基橡胶丁基橡胶(英语:Butyl rubber,常用缩写是IIR ,代表Isobutylene Isoprene Rubber)是一种合成橡胶,是异丁烯和少量异戊二烯的共聚物,其中异戊二烯占0.6%到3%,根据异戊二烯的含量分成4-5
  • 法线三维平面的法线是垂直于该平面的三维向量。曲面在某点P处的法线为垂直于该点切平面(tangent plane)的向量。法线是与多边形(polygon)的曲面垂直的理论线,一个平面(plane)存在无限个
  • 济州市坐标:33°31′N 126°29′E / 33.517°N 126.483°E / 33.517; 126.483济州市(韩语:제주시/濟州市 Jeju si)是一个位于韩国济州特别自治道的一个市级行政区,也是该道的首府,面积97
  • 苏格兰博德斯苏格兰边区(英语:Scottish Borders;低地苏格兰语:The Mairches;苏格兰盖尔语:Chrìochan na h-Alba),又音译为博德斯行政区,英国苏格兰32个一级行政区之一。它地处苏格兰和英格兰的交
  • 马丁纽斯·韦尔特曼马丁纽斯·韦尔特曼(荷兰语:Martinus Justinus Godefriedus Veltman,1931年6月27日-),荷兰理论物理学家,密歇根大学退休教授。他和特胡夫特因在量子规范场论的重整化上的工作而获得
  • 鼓崖鼓崖(Drumcliff,或Drumcliffe)是爱尔兰斯莱戈郡鼓崖河畔的一个村庄,位于斯莱戈以北8千米(5.0英里)处,N15公路经过此地。威廉·巴特勒·叶芝的遗体安葬于当地的圣科伦巴教堂中。
  • 盘县火腿盘县火腿又名“兰熏”、“火肉”,是熏制或腌制的猪腿;产于盘县,迄今已有六百多年的历史,并已于2012年9月13日成为中国国家地理标志保护产品。盘县火腿形似琵琶、皮色腊黄、肥肉
  • 鹿蹄草科参见正文鹿蹄草科共有4属已知36种,分布于北半球的温带地区,中国有约32种,4属都有,分布在全国各地,东北和西南种类最多。鹿蹄草科植物为常绿的多年生草本,叶基生、对生或轮生,多数品