从本质上讲,我正在试图建立一个由验证者存储在数据库P中的授权公钥列表。如果公钥属于经过验证的用户数据库中的用户,那么公钥将被认为是授权的。问题是,验证者不应该将公钥链接到特定的授权用户。
我在想以下几点--D中的每个用户都会将一条秘密消息与他们在D中的帐户一起存储起来:
+-------+--------+
| User | Hash |
+-------+--------+
| Bob | abc123 |
| Alice | xyz789 |
| Eve | 456fgh |
+-------+--------+然后,可以使用某种密码累加器来组合散列。当用户想要授权他们的公钥时,他们向V(在零知识中)证明,他们知道一条消息,当散列时,它构成累加器的一部分。如果V能够确认这一点,则将公钥添加到P中,否则将被拒绝。
为了使事情更加复杂,用户应该只能拥有P中的一个公钥,换句话说,Bob不能连续请求将多个密钥添加到P中,因此,一旦每个人都获得了公钥授权,P将如下所示:
+--------+
| PK |
+--------+
| MXH452 |
| B6HGJS |
| 67ZC6S |
+--------+因为不可能知道哪个公钥属于哪个用户。我们所知道的是,这些公钥被验证并属于D中的一个用户,并且只有一个。
如何才能做到这一点?我看过几篇关于这个问题的论文,但它们往往很快就会变得非常技术性。
发布于 2017-06-24 17:13:41
我想你想要的是戒指签名。这是一种签名机制,允许您证明某人在一组演员中签名,而不透露是哪一位。
你可能想读https://link.springer.com/chapter/10.1007%2F3-540-45682-1_32和https://github.com/Blockstream/borromean_纸/生/母/波罗米_草案_0.01_34241bb.pdf
发布于 2017-06-25 08:09:46
如果公钥属于经过验证的用户D的数据库中的用户,则将被视为授权密钥。问题是验证者不应将公钥链接到特定的授权用户。
公钥也可以被认为是授权的,如果签署。使用盲签名方案,将签名链接到协议实例(向其发出签名)是不可行的。
Chaum提出的RSA盲方案是众所周知的。布兰兹的“重新思考PKI”一书是相关的。
https://crypto.stackexchange.com/questions/48584
复制相似问题