C-sigma: Easy-to-use Sigma proofs in C using libsodium
5 months ago
- #libsodium
- #zero-knowledge-proofs
- #cryptography
- Sigma协议的简洁C语言实现,附带Fiat-Shamir变换以实现非交互式零知识证明
- 支持Schnorr协议,用于证明离散对数的知识
- 支持Chaum-Pedersen协议,用于证明离散对数相等性(DLEQ)
- 使用SHAKE128哈希算法实现Fiat-Shamir变换的非交互式证明
- 极简API设计,仅需6个函数即可实现完整功能
- 直接操作字节数组,无需抽象层或包装类型
- 基于libsodium的Ristretto255群运算保障安全性
- 包含`sigm_init()`初始化函数来封装`sodium_init()`
- 提供Schnorr和Chaum-Pedersen证明的生成与验证函数
- 详细应用场景说明,涵盖数字签名、身份认证和可验证加密
- Schnorr与Chaum-Pedersen协议的对比表格
- 技术规格说明,包括椭圆曲线群、哈希函数、证明大小和安全等级