我偶然看到一篇博客文章http://blog.stratumn.com/zkp-hash-chains/,它提供了一个Protocol to prove in zero-knowledge that an integer (such as age or balance) is greater than a known threshold.
它是基于本文:可验证的网络广告交换方案。
该议定书如下:
S。当局将一个秘密(256位) S分配给P。假设P的(S)是:VerifiedAge == EncryptedAge__。如果相同,则验证年龄大于年龄。下面是JavaScript中用于测试上述协议的代码:https://repl.it/repls/SmartOccasionalQueries
我认为协议中有一个缺陷,它发生在这一步:
Proof=HASH ^ {1+ActualAge−AgeToProve} (S)当1+ActualAge等于AgeToProve时,哈希将不应用于S。
S应该被保密。下面是使用Age = 19和AgeToProof = 20的博客示例:

发布于 2018-04-14 08:55:59
https://crypto.stackexchange.com/questions/58349
复制相似问题