大步小步算法

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

相关

  • 环氧丙醇缩水甘油,分子式C3H6O2。无色几乎无臭液体。与水、低碳醇、乙醚、氯仿、苯、甲苯混溶,部分溶于四氯乙烯、二甲苯、1,1,1-三氯乙烷,几乎不溶于脂肪烃和脂环烃。可通过皮肤吸收进
  • 妊娠高血压妊娠型高血压(英语:Gestational hypertension,或pregnancy-induced hypertension),指孕妇在怀孕二十周之后,出现的高血压症状。如果孕妇怀有多胞胎,或是水泡状胎(葡萄胎),可能在二十周
  • 增强剂再摄取强化剂 (Reuptake Enhancer , RE),有时也称作再摄取激活剂,是一种再摄取调节剂(英语:reuptake modulator)。可以增强膜上转运蛋白对神经递质的再摄取(英语:reuptake),使胞外神
  • 服饰服装(亦称为衣物、衣服、衣着)最广义的定义,除了指躯干与四肢的遮蔽物之外,还包括了手部(手套)、脚部(袜子、鞋子、凉鞋、靴子)与头部(帽子)的遮蔽物,以及延伸出来的服装配饰。几乎所有
  • 色度 (色彩学)色度指的是色彩的纯度,也叫饱和度或彩度,是“色彩三属性”之一。如大红就比玫红更红,这就是说大红的色度要高。它是HSV色彩属性模式、孟塞尔颜色系统等的描述色彩变量。从广义
  • 迈克尔·波伦迈克尔·波伦(Michael Pollan,1955年2月6日-)是一位美国作家、专栏作家、行动主义者、新闻学教授及柏克莱加州大学科学和环境新闻学奈特项目的主任。普兰出生于美利坚合众国纽约
  • 梅迪辛博-鲁特国家森林梅迪辛博-鲁特国家森林(英语:Medicine Bow – Routt National Forest)是美国国家森林局管控的一座国家森林,面积超过2,222,313英亩(8,993.38平方千米),位于怀俄明州和科罗拉多州。
  • CELTCELT是一种开放、免版税的有损音频压缩格式和自由软件编解码器,具有非常低的算法延迟,可用于低延迟音频通信。这些算法是公开记录的,其使用不受软件专利限制。该格式的开发由Xi
  • 元系统跃迁元系统跃迁或元系统转换是指通过进化,突现更高层次的组织或控制。最好的例子如生命起源,单细胞到多细胞的进化,象征性思维。元系统是一些本来互相独立的组件,如分子,细胞,个体等
  • 博·埃克隆德博·埃克隆德(Bo Ekelund,1894年7月26日-1983年4月1日)瑞典体育家,国际奥委会委员、奥林匹克银质勋章获得者。埃克隆德瑞典人,理工科大学毕业.是瑞典田径运动员.在大学期间是一名优