我正在搜索一个支持非对称加密的ZKP包,以便实现以下场景:
卡罗尔用爱丽丝的公钥加密消息m,并将密文发送给爱丽丝。鲍伯和艾丽斯都知道\operatorname{hash}(m),但是因为m是用爱丽斯的公钥加密的,所以鲍勃不知道m--只有爱丽丝知道m。
这里是需要ZKP的部分: Alice想要向Bob证明这个密文实际上是对哈希为\operatorname{hash}(m)的消息的加密。
换句话说,我想证明我有一个值,它的散列等于y=散列( a ),其加密形式是z= enc(a),但我不想显示a。
我在ZKP包中进行了彻底的搜索,但是没有一个能实现加密,所以我认为ZKP不是解决方案。
是否有任何可用的软件包支持我想要做的?
发布于 2019-04-23 10:43:17
发布于 2019-04-15 09:39:57
如果可能,只需使用用于身份验证的HMAC包装消息(在您的示例中是hash(m))即可。
根据维基百科的说法:
在密码学中,HMAC (有时扩展为密钥散列消息身份验证代码或基于哈希的消息身份验证代码)是一种特定类型的消息身份验证代码(MAC),涉及密码散列函数和秘密加密密钥。它可以用于同时验证消息的数据完整性和身份验证,就像对任何MAC一样。
有大量的HMAC实现,因此很容易找到适合您需要的包。
https://crypto.stackexchange.com/questions/68724
复制相似问题