大步小步算法

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

相关

  • 联合国人口基金会联合国人口基金(英语:United Nations Population Fund,简称UNFPA)是联合国一个专门机构,其使命是促进所有人健康生活和平等机会的权利。作为一个志愿性的基金机构,联合国人口基金
  • 哺育母乳母乳哺育(Breastfeeding),亦称哺乳、授乳或母乳喂养,指的是女性以乳房喂食婴儿母乳的行为。婴儿有吮吸反射,因此可以吮吸乳房并吞咽母乳,专家建议在出生后一小时即可哺喂母乳,之后
  • 动物分类表Rowland, 2001:海绵动物门 Spongiatia或Spongia下列各真后生动物均为格式起见而另起段落(包含基础真后生动物及两侧对称动物)有栉动物门、栉板动物门三叶动物门平板动物门、
  • 私家车轿车,某些地区称房车或私家车,美国英语称为Sedan,在英国则称为Saloon,通常指用于人员以及行李运输的汽车。轿车除乘客厢外,外观上可见明显长度的车头与车尾,因此可从外形上清晰分
  • 菲利浦莫理斯菲利普莫里斯国际公司(Philip Morris International Inc.,简称PMI)是世界上最大的烟草公司。万宝路香烟就是该公司生产的。2008年自奥驰亚集团独立,服务范围在美国以外的地区。
  • 普罗瑟普罗瑟(英语:Prosser)位于美国华盛顿州本顿县,也是该县的县治,位于亚基马河岸边。2010年美国人口普查时人口为5,714人。斑顿市 | 肯纳威克 | 普罗瑟 | 里奇兰 | 西里奇兰芬利
  • 小齿狸属小齿狸(学名:Arctogalidia trivirgata)为灵猫科小齿狸属的动物。分布于印度尼西亚、中南半岛、印度(阿萨姆)、缅甸以及中国大陆的云南等地。该物种的模式产地在马六甲。小齿狸包
  • 野山羊野山羊(Capra aegagrus)是一种野生的山羊,分布在欧洲及小亚细亚至中亚及中东。群族中野山羊的数量可以多达500头。较老的公羊会在发情期躯使年幼的公山羊进到母群中交配。平均
  • 中国四大盆地中国四大盆地指中国境内的四个大型盆地,自北向南分别是:四大盆地均位于中国西部;前三大盆地位于西北地区,四川盆地位于西南地区。
  • 赫尔曼·阿曼杜斯·施瓦茨赫尔曼·阿曼杜斯·施瓦茨(Hermann Amandus Schwarz,1843年1月25日-1921年11月30日)是德国数学家。生于普鲁士西里西亚黑姆斯多夫,大学初期攻读化学,在魏尔斯特拉斯等人的建议下改