大步小步算法

✍ dations ◷ 2025-12-02 21:43:48 #自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版本的代码:

相关

  • 输尿管囊肿输尿管囊肿(Ureterocele)在输尿管中所发现的"输尿管先天畸形"病症。此种病症称为输尿管囊肿症(ureteroceles),输尿管气球产生在膀胱开口处,并形成一个"囊袋"(sac-like pouch)
  • PDB蛋白质数据库(Protein Data Bank,简称PDB)是一个专门收录蛋白质及核酸的三维结构资料的数据库。由Worldwide Protein Data Bank监管。PDB可以经由网络免费访问,是结构生物学研究
  • 外部皮层外部皮层(exocortex)是一个理论设想中的人工信息处理系统,用以增强大脑的认知与功能。一个人的外部皮层将包含额外的记忆模块、处理器、输入输出设备和软件系统来增强他的生物
  • 不当对立不当对立或无端对立(unwarranted contrast)是一种形式谬误,无来由地推定对立事物存在。形式逻辑上,是将特称肯定型(I型)或特称否定型(O型)之直言命题做形式互换。形式:范例:可能所有的
  • 缅甸总理政治主题缅甸总理曾是缅甸的政府首脑,缅甸于2011年大选后实行议会制,政府首脑职权移交总统,总理一职不再设立。自2016年4月起设立的国务资政被外界视为相当于总理的职务。
  • 杰克逊维尔市杰克逊维尔(英语:Jacksonville)是美国佛罗里达州人口最多的城市,美国本土面积最大的城市(英语:List of United States cities by area),也是杜瓦尔县的县治。 1968年,杰克逊维尔市与
  • 法国城市列表以下所列为人口超过50,000的法国城市(市区):括弧内为2010年人口数:
  • 2015年共和游行2015年共和游行(法语:marches républicaines),是指在法国当地时间2015年1月10日至11日间,于各城市所举办的游行,其中以巴黎共和广场的规模最大。游行的目的是为了声援沙尔利周刊
  • 幅度调制幅度调制(Amplitude Modulation,AM),也可简称为调幅,是在电子通信中使用的一种调制方法,最常用于无线电载波传输信息。在幅度调制中,载波的幅度(信号强度)是与所发送的波形成比例变化
  • 醋托啡123咖啡(英文:Acetorphine),是一种镇痛剂药物,其药效大概等于同质量吗啡的0.002倍。