4.7 失败-终止 数字签名

    让我们假想Eve是非常强劲的敌人。她有巨大的计算机网络和很多装满了Cray计算机的屋子(计算机能力比Alice大许多量级)。这些计算机昼夜工作试图破译出Alice的私钥,最终成功了。Eve现在就能够冒充Alice,随意地在文件上伪造她的签名。

    由Birgit Pfitzmann和Michael Waidner[1240]引入的失败-终止数字签名就能避免这种欺诈。如果Eve在穷举攻击后伪造Alice的签名,那么Alice能够证明它们都是伪造的。如果Alice对文件签名,然后否认签名,声称是伪造的,法院能够验证它不是伪造的。

    失败-终止签名的基本原理是:对每个可能的公开密钥,许多可能的私钥和它一起工作。这些私钥中的每一个产生许多不同的可能的签名。然而,Alice只有一个私钥,只能计算一个签名。Alice并不知道别的任何私钥。

    Eve试图破解出Alice的秘密密钥。(在这种情况下,Eve也可能是Alice,试图为她自己计算第二个私钥。)她收集签名消息,并且利用她的Cray计算机阵列,试图恢复出Alice的私钥。即使Eve能够恢复出一个有效的私钥,但因为有许多可能的私钥,因而这个私钥可能是不同的一个。Eve恢复出合适的私钥的概率非常小,可以忽略不计。

    现在,当Eve利用她产生的私钥伪造签名时,它将不同于Alice本人对文件的签名。当Alice被传到法院,对同一消息和公开密钥她能够生成两个不同的签名(对应于她的私钥以及Eve产生的私钥)以证明是伪造的。另一方面,如果Alice不能产生两个不同的签名,这时没有伪造,Alice就要对她的签名负责。

    这个签名方案避免了Eve通过巨大的计算能力来破译Alice的签名方案。它对下面这种更有可能发生的攻击却无能为力:当Mallory闯入Alice的住宅并偷窃她的私钥或者Alice签署了一个文件然后却丢失了她的私自钥时。为了防止前一种攻击,Alice应该给她自己买条好的看门狗,这种事情已超出了密码学的范围。

    其它的关于失败-终止签名的理论和应用能在[1239,1241,730,731]中找到。