Pedersen承诺似乎是这样起作用的:

让$ p $和$ q $成为大质数,使得$ q \ mid(p-1)$,让$ g $成为$ Z_p ^ {\ star} $的order- $ q $子组。假设$ a $是$ Z_q $中的随机秘密,并且$ h = g ^ a \ bmod p $。

值$ p $,$ q $,$ g $和$ h $是公开的,而$ a $是秘密的。

要提交给$ m \ in Z_q $的消息,发件人选择一个随机的$ r \ in Z_q $并发送承诺$ c = g ^ mh ^ r \ bmod p $到接收者;为了打开承诺,发送者显示$ m $和$ r $,接收者验证$ c = g ^ mh ^ r \ bmod p $。

此外,众所周知,Pedersen承诺方案为:


理论上隐藏的信息:给定承诺$ c $时,每个$ m $值的可能性均等是$ c $中承诺的值。例如,给定$ m $,$ r $和任何$ m ^ {\ prime} $,存在$ r ^ {\ prime} $使得$ g ^ mh ^ r = g ^ {m ^ {\ prime }} h ^ {r ^ {\ prime}} $。实际上,我们有$ r ^ {\ prime} = \ frac {mm ^ {\ prime}} {a} + r $。通过计算绑定:如果发件人可以找到不同的$ m $和$ m ^ {\ prime} $都可以打开承诺$ c $,因此$ g ^ mh ^ r = g ^ {m ^ {\ prime}} h ^ {r ^ {\ prime}} $,那么他可以解决离散对数$ \ log_g(h)= \ frac {m ^ {\ prime} -m} {rr ^ {\ prime}} $。如果我们假设离散对数很困难,那么发送者就无法用另一个值打开承诺。

我的问题与计算绑定属性有关:

我们从理论上知道信息隐藏的项目符号点,给定$ m $,$ r $和任何$ m ^ {\ prime} $,发送者可以计算$ r ^ {\ prime} $使得$ g ^ mh ^ r = g ^ {m ^ {\ prime}} h ^ {r ^ {\ prime}} $。但这是否不意味着他就可以用不同的消息$ m ^ {\ prime} $来打开承诺,甚至不必计算离散对数?

#1 楼

您可能会误解为“发件人能够计算$ r'$ ...”

实际上,这是不正确的,并且“理论上隐藏的信息”要点没有说明那。它所声明的是,对于每个$ m'$,都有一个满足关系的$ r'$;但是,这并不意味着真正的发送者可以找到这样的值。实际上,“具有计算约束力”的项目符号要点明确指出,真正的发送者不能(假设他无法解决离散日志问题)。点谈论接收者;也就是说,即使接收者具有无限的计算能力,他仍然无法从承诺中获得任何有关承诺内容的信息(因为所有可能的值均可能)。现在,Pedersen承诺方案在这方面是不对称的(因为计算不受限制的发送方可以更改承诺);另一方面,事实证明,两个在计算上不受限制的各方之间的承诺方案实际上是不可能的。 Pedersen方案离我们越近越好。

评论


$ \ begingroup $
次要补充:发送者无法计算$ r'$的原因是因为$ a $的值(例如$ h = g ^ a \ mod p $)应该被丢弃并在$ h之后被忘记$已生成。如果发送方也是生成系统参数的发送方,则发送方在技术上可能会作弊并保留$ a $。
$ \ endgroup $
–亨里克·赫尔斯特伦
13年8月13日在15:26

$ \ begingroup $
@HenrickHellström:实际上,根据Pedersen的原始论文,$ a $是由接收方生成的(我怀疑是因为如果有人生成了它,那么接收方就无法确定谁与它合谋了发送方)
$ \ endgroup $
–雨披
13年8月13日在16:53

$ \ begingroup $
非常正确,谢谢。不过,我希望您不要错过我的重点。
$ \ endgroup $
–亨里克·赫尔斯特伦
13年8月13日在17:25

$ \ begingroup $
@HenrickHellström我明白了,我认为$ a $是发件人已知的值。谢谢!
$ \ endgroup $
– LRM
13年8月14日在8:19

$ \ begingroup $
@poncho,您说“根据Pedersen的原始文件”,我阅读了原始文件,但没有说任何有关a的信息。我有一个cs.cornell.edu/courses/cs754/2001fa/129.pdf
$ \ endgroup $
–加油机
17-10-29在22:28