大步小步算法

✍ dations ◷ 2025-11-28 02:16:23 #自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版本的代码:

相关

  • 蜜环菌Armillariella mellea (Vahl) P. Karst., (1881)蕈伞凸面子实层连生美味蜜环菌(学名:Armillaria mellea),又名榛蘑、臻蘑、蜜蘑、蜜环蕈、栎蕈,分布于全球各地区,为小皮伞科真菌,也
  • 结构细胞(英语:Cell)旧称䏭,是生物体结构和功能的基本单位。它是除了病毒之外所有具有完整生命力的生物的最小单位,也经常被称为生命的积木(病毒仅由DNA/RNA组成,并由蛋白质和脂肪包裹
  • 黑颈天鹅黑颈天鹅(学名:Cygnus melancoryphus)是小型鸭科天鹅属鸟类,主要分布于南美洲南回归线以南的地区,是南美洲体型最大的原生雁鸭类。体长1至1.4米,体重3.5-6.7公斤;雄性身型较雌性大
  • 奥古斯特·魏斯曼弗里德里希·利奥波德·奥古斯特·魏斯曼(德语:Friedrich Leopold August Weismann,1834年1月17日 - 1914年11月5日),德国的进化生物学家。恩斯特·迈尔将他列为19世纪第二个最显
  • 堤坝或河堤是一条长长的,由泥土、石头、或混凝土造成的堆土、积墙或高岸,多为人工建造以用作预防水灾。人工堤的主要目的是避免洪水进入村庄或市镇,也减缓水道的自然变化,可供运
  • 紫禁城出版社故宫出版社,位于北京市东城区景山前街4号,是故宫博物院直属独立企业法人单位。由中华人民共和国文化部主管,故宫博物院主办。故宫出版社成立于1983年,当时名为“紫禁城出版社”
  • 美国各州首府列表
  • 天使之吻天使之吻(angel kiss),一种鸡尾酒, 用2/3可可利口酒,1/3鲜奶油,最后在白色的鲜奶油上以一粒红樱桃做装饰,饮用时如同和天使接吻,味道比较甜。
  • 亚历山大·李亚普诺夫亚历山大·李亚普诺夫(俄语:Александр Михайлович Ляпунов,英语:Aleksandr Mikhailovich Lyapunov,1857年6月6日-1918年11月3日)是俄罗斯应用数学家和物
  • 君士坦丁·孔多米忒君士坦丁·孔多米忒(希腊语:Κωνσταντῖνος ὁ Κοντομύτης,活跃时期为841年-860年)是拜占庭帝国的贵族与将领。作为色雷斯西亚军区的将军,他在841年沉重打击