承诺方案与零知识证明协议解读
1. 文章概述
本文主要介绍了密码协议理论中的两个基本原语:承诺方案和零知识协议,并综述了它们的存在性以及两者之间联系的新旧成果,最后指出了一些开放的研究问题。在阅读零知识协议的技术部分之前,建议先学习承诺方案的相关内容。读者需要具备一定的密码学和数学基础知识,特别是公钥密码学以及基于RSA和离散对数的公钥系统的代数知识。
2. 承诺方案
2.1 引言
承诺概念是现代密码协议几乎所有构造的核心。在协议中,做出承诺意味着参与者能从某个(有限)集合中选择一个值并确定该选择,之后不能更改,但不一定要立即透露该选择。
以两个参与者P和V的游戏为例:
1. P想对一个比特b做出承诺,他把b写在纸上,放入盒子并锁上。
2. P把盒子给V。
3. 如果P愿意,之后可以给V钥匙打开盒子。
这个游戏体现了承诺方案的两个基本属性:
- 绑定属性 :P给出盒子后无法改变里面的内容,打开盒子时,我们知道所揭示的确实是P最初承诺的选择。
- 隐藏属性 :V收到盒子后,在P给钥匙之前无法得知里面的内容。
实现这种基本功能的方式有很多,包括基于物理过程(如噪声信道或量子力学)和基于网络中多参与者信息分发的方式。这里主要关注两个参与者之间通过数字通信实现的承诺。
例如,P有一对RSA密钥,V知道公钥(模数n和公钥指数e)。为了对一个比特b做出承诺,P可以构造一个随机选择的模n的数xb,使其最低有效位为b,然后将加密结果C = xeb mod n发送给V
超级会员免费看
订阅专栏 解锁全文
378

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



