如果您有一条消息M,并且希望发送者(alice)对每个人都匿名,但是收件人(bob),可以这样做吗?
crypto_box_seal(crypto_sign(M, alice), bob)(艾丽斯在留言上签名,然后把封条放在鲍勃的盒子里。)
这个答案建议crypto_box_seal然后crypto_sign,我想知道相反的顺序是否合适。
谢谢!
发布于 2021-01-06 10:38:28
不,不是!
如果您在此之前向某人签名了一条消息,那么他们可以使用此消息向Bob发送匿名消息,Bob可能会认为它来自Alice。
解决方案很简单,使用crypto_box (NaCl的认证加密)生成消息并与crypto_box_seal一起发送。
\text{crypto_box_seal}(\text{crypto_box}(m)).在这里,我们使用的是短形式的盒子,没有细节。
外层为所有人提供匿名,内部层提供身份。因为只有Bob可以显示crypto_box_seal,那么只有Bob才能显示crypto_box,并且能够理解消息来自谁;Alice。
注意,Bob可能不知道crypto_box_seal中有一个D6,在crypto_box`中添加一条附加消息以进行指示。
\text{crypto_box_seal}(\text{After the columns there is a crypto box:}||\text{crypto_box}(m))
https://crypto.stackexchange.com/questions/87363
复制相似问题