大步小步算法

✍ dations ◷ 2025-12-05 07:24:49 #自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版本的代码:

相关

  • 肛瘘肛瘘是指直肠或肛管与肛周皮肤之间形成的瘘管。也称为肛门直肠瘘,但一般都称为肛瘘,古时又称为肛漏,先也有俗称“老鼠偷粪”。瘘管的内口多位于齿状线附近,而外口位于肛周皮肤。
  • 树薯木薯(学名:Manihot esculenta),又称树薯,是一种大戟科木薯属植物,原产于南美洲。木薯为灌木,有肉质长圆柱形块根;茎直立有乳汁,叶子互生,掌状3-9深裂,裂片披针形至长椭圆状披针形;顶生或
  • ECN显式拥塞通知(英语:Explicit Congestion Notification,简称ECN)是一个对网际协议和传输控制协议(TCP)的扩展,定义于RFC 3168(2001)。ECN允许拥塞控制的端对端通知而避免丢包。ECN为一
  • 丁戊奇荒丁戊奇荒,是中国华北地区发生于清朝光绪元年(1875年)至四年(1878年)之间的一场罕见的特大旱灾饥荒。1877年为丁丑年,1878年为戊寅年,因此史称“丁戊奇荒”。时任山西巡抚的曾国荃称
  • USB通用串行总线(英语:Universal Serial Bus,缩写:USB)是连接计算机系统与外部设备的一种串口总线标准,也是一种输入输出接口的技术规范,被广泛地应用于个人电脑和移动设备等信息通讯
  • 烧尻岛烧尻岛(日语:焼尻島/やぎしりとう Yagishiritō */?)是日本北海道留萌支厅苫前郡羽幌町以西25千米的岛屿,位于日本海之上。西北方以武藏水道与天卖岛相望。面积5.21平方千米、
  • 良性阵发性姿势性眩晕良性阵发性姿势性眩晕(Benign paroxysmal positional vertigo,简称BPPV)为一种内耳诱发的疾病,患者会有重复性短暂眩晕的症状,头部移动时会感到天旋地转,甚至连就寝翻身时都会有晕
  • 巴纳特方言 (罗马尼亚语)巴纳特方言是罗马尼亚语的方言,主要分布在巴纳特地区,在罗马尼亚、塞尔维亚共有使用者约约800,000人。
  • 自动标引自动标引(英语:Automatic Indexing)包括关键词自动提取(又称自动抽词标引)与自动赋词标引两种类型。关键词自动提取是一种识别有意义且具有代表性片段或词汇的自动化技术。关键词
  • 藤异秀明藤异秀明(1977年12月12日-),日本男性漫画家,出生于宫崎县,笔下的漫画角色站立姿势都有出现向JOJO冒险野郎的JoJo站姿的致敬意味,代表作是《真·女神转生 恶魔之子》,其笔名藤异秀明