5.8 不可否认签名任何人都可以验证普通签名。有时候需要在签名者参加的情况下才能进行签名验证。满足这个要求的签名叫“不可否认签名”(UndeniableSignatureScheme)。例如:1)实体A希望访问实体B控制的“安全区域”。实体B在授予实体A访问权之前,要求A对“访问时间、日期”进行签名。实体A不希望别人了解这个事实,即实体B没有A的参与不能通过出示A的签名及验证证明“实体A访问该区域”这一事实。2)某公司A开发的一个软件包。A将软件包和他对软件包的签名卖给用户B,B当场验证其签名,以便确认软件包的真实性。用户B决定把该软件包的拷贝卖给第三者。由于没有公司A参与,第三者不能验证软件包的真实性。下面我们介绍1989年Chaum-vanAntwerpen提出的不可否认签名方案:密钥生成选择随机素数,q也是素数。在中找q阶元,显然是模p的二次剩余。由生成的群G是的子群,它由中全体模p二次剩余组成。选择秘密指数,计算 公布,秘密保存私钥。签名算法是对消息m的签名.验证协议验证者签名者随机选取计算验证成立接受,否则拒绝。签名者A想否认一个“由签名算法构造出来的”合法签名,其方式有1)