性质:在不透露消息具体内容的条件下,甲以某种方式向乙证明甲知道该消息的内容。
这里我们假设两个参与者,他们分别是Peggy和Victor。Peggy知道密钥,且不想让Victor知道密钥的具体内容,
但同时,Peggy想向Victor证明他知道。这里我借用一幅图来解释原理:Peggy与Victor一起从A走向B,Victor看着Peggy从B点走入C或者D。
C与D之间有一扇门,Peggy想向Victor证明他知道打开门的密钥。此时,只需要Victor向Peggy说出他希望Peggy从哪边出来即可。若Peggy知道密钥,则Peggy一定能从这个特定的方向出现。
否则若有一次不符合预期情况,则证明Peggy不知道密钥。例如:Peggy从C的一边走进去,则Victor希望他从D的一边出来,依此往复多次,则可以避免巧合。
由于任何数学定理都可以转化为一个图,而找出两个图是否同构需要目前的计算机工作几百年的时间;并且已知一个图时,构造出与这个图同构的图却很简单。
也就是说,一个图同构出另一个图,easy。
由两个现有的图证明他们同构,almost impossible。
由一个图同构出另一个图并证明它们同构,easy。
具体的实现过程:
(1):Peggy将消息加入一个随机数,建立一个与原难题同构的题目
(2):Peggy通过位承诺方案对新难题提交解法
(3):Peggy向Victor发送新难题,Victor无法从获得的信息中推测原难题的解法
(4):Peggy证明两个难题同构
(5):Peggy提交新难题的解法
以上步骤重复n次。
用难题进行表述是因为不仅仅可以利用图同构来实现此协议。
现实价值猜想:在双方交易一些具有一次性价值的商品时,有很好的实用价值。这里的商品不仅仅是具体物品,通常为敏感消息、如商业机密,设计方案等等。
猜想仅供参考。
非作者同意禁止转载。