1. 引言
前序博客:
大整数的模乘:
- 是每种SNARK计算的核心
- 是最昂贵的基石
- 通常可决定整个协议的复杂度
对模乘运算的哪怕一点点改进,都可能带来大幅加速。
Ingonyama团队2023年论文 Multi-Precision Fast Modular Multiplication,开源代码实现见:
基础算法优化------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](https://medium.com/@ingonyama/multi-precision-fast-modular-multiplication-730b30de665f) # ZKP加速系列博客 * [Multi-scalar multiplication: state of the art \& new ideas](https://blog.csdn.net/mutourend/article/details/126207923) * [采用特殊硬件指令对密码学算法加速](https://blog.csdn.net/mutourend/article/details/128740085) * [零知识证明的硬件加速](https://blog.csdn.net/mutourend/article/details/126016782) * [STARK/SNARK加速小技巧](https://blog.csdn.net/mutourend/article/details/121651654) * [借助FPGA硬件对Multi-Scalar Multiplication加速](https://blog.csdn.net/mutourend/article/details/127554472) * [基础算法优化------Fast Modular Multiplication](https://blog.csdn.net/mutourend/article/details/126000814) * [Ingonyama团队的ZKP加速](https://blog.csdn.net/mutourend/article/details/130311742) * [ZKP加速 GPU/FPGA/ASIC](https://blog.csdn.net/mutourend/article/details/130913259)