零知识证明:具有DDH假设的 ZKP
Diffie-Hellman部分
我们必须证明我们仍然持有一个秘密(私有)密钥,这是一个非常典型的情况。那我们怎么把Victor和Peggy绑定到一个证明基础设施中让Peggy向Victor证明她还持有一把私钥呢?为此,我们将通过交换Diffie-Hellman密钥来绑定Victor和Peggy。
在DDH中,我们有一个由 ⟨ g、ga*、*gb、g^{ab }⟩ 组成的元组,其中a和b是秘密。ga和gb的值在双方交换后,应该都能生成g^{ab}:
Chaum-Pedersen部分
如果Peggy是证明者,而Victor是验证者,那么Peggy需要表明她知道一个秘密值a。有了Chaum-Pedersen ZKP,Victor让Peggy生成一个ZKP来保护一个秘密。在这个过程中,她将g^a (mod p)的值发送给Victor,当Victor需要证明她仍然知道