基于Σ协议的零知识知识证明认证编译器解析
1. 编译器架构组件
编译器主要由后端、协议验证工具箱和插件三个核心组件构成,各组件功能如下:
- 后端(Backends) :可将协议实现转换为多种输出语言。
- C后端 :为证明者和验证者生成C语言源代码,这些代码可与GNU多精度算术库编译链接成可执行代码。
- LATEX后端 :生成协议的人类可读文档。
- 协议验证工具箱(Protocol Verification Toolbox) :以PSL文件和对应的PIL文件为输入,先提取构建协议稳健性形式化证明所需信息,再用Isabelle/HOL定理证明器自动检查生成的形式化证明。
- 插件(Plugins) :当前有两个可用插件。
- Σ2NIZK插件 :通过特定技术将生成的协议转换为非交互式版本,其功能可扩展到签名知识证明。
- Costs插件 :通过计算通信复杂度和所需的组操作数量,确定协议的抽象成本,便于在抽象层面比较不同协议的效率。
2. 协议规范语言(PSL)及使用示例
以一个面向群组应用的非正式陈述为例,展示编译器(特别是PSL)的使用:“两个合法用户中的一个对消息m进行了承诺,而不透露m或承诺用户的身份。”假设使用Pedersen承诺,形式为 $c = g^m h^r$($r$ 随机选择),其中 $\langle g\rangle = \l
超级会员免费看
订阅专栏 解锁全文
4140

被折叠的 条评论
为什么被折叠?



