某软件公司发布了一个新软件。为确保他们的软件无病毒,上面包含数字签名。然而,仅为软件的合法买方,不是非法翻版,能验证签名。同时,如果发现新软件的拷贝含有病毒,该软件公司无法拒绝其有效的签名而承担责任。
通常的数字签名实际上是能复制的。有时,这个特性是有用的,如传播公开的布告。但在某些时候却是问题。试想,在商务或个人信件中的数字签名,如果复制件满天飞,每一份都当是真的,这也使人窘迫或导致黑信泛滥。最好的解决方案是能判明数字签名的有效性,但未经签名者同意收信者不能向第三方显示。
不可否认的签名适合以上任务。像通常的数字签名,不可否认的签名取决于签名文件和签名者的私钥。但不同于通常的数字签名,未经签名者同意,不能验证不可否认的签名。
不可否认的签名协议的基本思想简述如下
(1)A为B提供一个签名
(2)B产生一个随机数并发给A;
(3)A使用随机数和她的私钥计算,并把结果发给B。仅在签名有效时,A可进行计算。
(4)B加以确认
B不能使另一人信服A的签名是有效的,因为他不知道B的数字为随机的。B从纸上倒行协议是易行的,无需A的任何帮助,将结果显示给另一人,但不能使他相信A的签名有效,除非同A本人按协议进行工作。
这个方案并不完善。经过证明在一些应用中,B可使另一人信服A的签名有效,这是一种例如国际象棋大师问题的攻击。