ZKDocs内容更新概览
我们已为ZKDocs新增四个核心章节并对现有内容进行扩展。ZKDocs专注于为实践中使用但缺乏文档的密码学协议提供解释、指导和文档支持。本次更新重点填补了以下常见协议的实现指南空白:
- 内积参数(IPA):Bulletproofs零知识证明体系的底层基础
- Pedersen承诺方案
- KZG多项式承诺方案
- IPA多项式承诺方案
此外,我们在随机采样章节新增了宽模约简技术详解——一种在密码学圈内熟知但未被广泛公开的高效随机采样方法。
内积参数(IPA)技术解析
Bulletproofs作为近年来流行的零知识证明类型,其复杂协议结构使得实现细节难以掌握。IPA作为Bulletproofs的基础构建模块,经历了理论家的多年迭代优化。ZKDocs通过分解简化结构,逐步展示如何通过改进达成最终协议,并配备协议流程图和安全注意事项。
承诺方案体系升级
密码学承诺方案的核心逻辑是:提交者首先生成隐藏秘密值的加密承诺,随后在特定时刻公开揭示该值。安全方案需确保承诺不泄露任何秘密信息,且提交者无法对秘密值进行抵赖。
多项式承诺方案(PCS) 作为标量承诺方案的泛化形式,允许一方向另一方证明多项式在特定点的正确求值,而不泄露多项式其他信息。ZKDocs现包含以下三种承诺方案的详解:
- Pedersen承诺(最常用方案)
- IPA多项式承诺(基于IPA衍生)
- KZG多项式承诺
宽模约简安全采样技术
密码学操作常涉及随机值与素数处理,需要生成0到素数p之间的随机值。由于计算机以比特和字节为单位处理数据,随机数发生器通常生成0到2ⁿ范围的数值(n为请求的随机比特数),但2ⁿ非素数导致直接取模会产生偏差。
ZKDocs揭示了以下不安全的常见实现方式:
|
|
我们推荐采用宽模约简技术:若素数p占k比特,则生成(k+256)比特随机值(256为可调整安全参数),再执行取模运算。该技术同样适用于复合模数,ZKDocs新增章节通过统计分析论证了其安全性依据。
社区协作邀请
我们致力于持续维护和扩展ZKDocs内容体系。为确保内容实用性,欢迎通过ZKDocs GitHub页面提交议题,共同完善密码学协议文档生态。