GPU/CPU友好的模乘算法:Multi-Precision Fast Modular Multiplication

1. 引言

前序博客:

  • 基础算法优化——Fast Modular Multiplication

大整数的模乘:

  • 是每种SNARK计算的核心
  • 是最昂贵的基石
  • 通常可决定整个协议的复杂度

对模乘运算的哪怕一点点改进,都可能带来大幅加速。

Ingonyama团队2023年论文 Multi-Precision Fast Modular Multiplication,开源代码实现见:

  • https://github.com/ingonyama-zk/modular_multiplication(Python)

基础算法优化——Fast Modular Multiplication(本文称为Barrett-Domb模乘算法)是一种基于Barrett modular reduction方案的低复杂度、硬件友好的模乘算法。

Multi-Precision Fast Modular Multiplication为多精度的、GPU/CPU友好的Barrett-Domb模乘算法。相比于现有广泛使用的Montgomery模乘算法:

  • 本算法具有竞争力,且可能会消除对繁琐的Montgomery转换的需求。
  • 如NTT中需要大量的Montgomery格式转入转出,本算法可具有更低的乘法运算次数。

参考资料

[1] Ingonyama团队2023年1月博客 Multi-Precision Fast Modular Multiplication

ZKP加速系列博客

  • Multi-scalar multiplication: state of the art & new ideas
  • 采用特殊硬件指令对密码学算法加速
  • 零知识证明的硬件加速
  • STARK/SNARK加速小技巧
  • 借助FPGA硬件对Multi-Scalar Multiplication加速
  • 基础算法优化——Fast Modular Multiplication
  • Ingonyama团队的ZKP加速
  • ZKP加速 GPU/FPGA/ASIC

你可能感兴趣的:(基础理论,基础理论)