密码学系列 - 零知识证明(ZKP) - NTT与MSM的总结

区别

特性 多项式乘法 (NTT) 椭圆曲线点乘 (MSM)
定义 两个多项式的系数逐项乘积并合并结果。 标量和椭圆曲线点的点乘。
数学背景 代数运算(有限域/环上的多项式)。 椭圆曲线上的群运算。
操作对象 多项式的系数。 椭圆曲线上的点和整数标量。
结果类型 多项式(一个更高次的多项式)。 椭圆曲线上的点。
复杂度 使用 NTT 优化到 O ( n log ⁡ n ) O(n \log n) O(nlogn)。 使用双倍和加法优化到 O ( log ⁡ k ) O(\log k) O(logk)。
主要用途 多项式承诺、FFT 运算、约束检查等。 密钥生成、签名、验证、证明生成。
加速方法 NTT、FFT、并行化等。 Pippenger 算法、分块优化等。

联系

尽管它们在数学定义上不同,但在许多密码学和零知识证明系统中,它们常常相辅相成:

  1. 多项式承诺和 KZG(Kate-Zaverucha-Goldberg)方案:
    • 多项式承诺用于证明一个多项式在某一点的值是正确的。
    • KZG 承诺需要将多项式的系数映射到椭圆曲线上的点,这种映射本质上是 MSM(多标量乘法)的应用。
  2. 生成证明:
    • 零知识证明需要将电路表达为一个多项式约束系统。
    • 约束系统中的多项式运算需要通过多项式乘法(优化为 NTT)来处理,而验证者需要依赖 MSM 来验证多项式承诺和点对验证。
  3. 两者协同加速:
    • 电路约束阶段
      • 多项式运算的优化(例如 NTT 加速)可以减少整个电路的中间步骤。
    • 证明生成与验证阶段
      • 椭圆曲线点乘(MSM)的优化(如 Pippenger 算法)可以加速证明的最终生成和验证。

: 区块链知识系列
: 密码学系列
: 零知识证明系列
: 共识系列
: 公链调研系列
: BTC系列
: 以太坊系列
: EOS系列
: Filecoin系列
: 联盟链系列
: Fabric系列
: 智能合约系列
: Token系列

相关推荐
帅次3 天前
信息安全的容灾与业务持续&安全管理的措施
安全·网络安全·系统安全·密码学·网络攻击模型·安全威胁分析·安全架构
奔跑吧邓邓子7 天前
【C语言实战(78)】C语言进阶:筑牢数据安全防线,密码学实战探秘
c语言·密码学·数据安全·开发实战
passxgx7 天前
10.7 密码学中的线性代数
线性代数·密码学
HaiLang_IT7 天前
【信息安全毕业设计】基于zkSNARK与递归证明的数字签名验证方案研究
零知识证明·数字签名·身份验证
麦烤楽鸡翅9 天前
幂数加密(攻防世界)
网络安全·密码学·ctf·crypto·解密·攻防世界·幂数加密
CyberSecurity_zhang9 天前
汽车信息安全--关于安全强度的误区
信息安全·汽车·密码学·安全强度
国服第二切图仔10 天前
Rust开发实战之密码学基础——哈希计算与对称加密实战
rust·密码学·哈希算法
粉色挖掘机10 天前
矩阵在密码学的应用——希尔密码详解
线性代数·算法·机器学习·密码学
电院工程师11 天前
SIMON64/128算法Verilog流水线实现(附Python实现)
python·嵌入式硬件·算法·密码学
YuanDaima204811 天前
安全协议设计入门:原理与分析
人工智能·笔记·安全·网络安全·密码学·安全协议·课程