设签名者为Alice,指定验证者为Bob,标准的强指定验证者签名方案由四个多项式时间算法组成,SIGsdvs =(密钥生成,签名,验证,副本模拟):
1.密钥生成.该算法输入安全参数1n,输出Alice和Bob的公私钥对(pkA,skA) 和(pkB,skB).
2.签名.该算法输出消息M 和(skA,pkB),输出一个签名σ.
3.验证.输入消息M,签名σ,Bob的私钥以及Alice 的公钥,该算法输出比特“1”如果σ 是消息M 的一个合法签名,否则,输出比特“0”.
4.副本模拟.输入(M,pkA,skB,pkB),该算法输出一个签名的副本σ′,该副本与真实签名算法输出的签名是不可区分的.
一个安全的SDVS方案应该满足以下安全特性.
1.正确性.一个真实生成的SDVS将以极大概率被验证算法接受.
2.不可伪造性.一个SDVS方案在适应性选择消息攻击下是存在性不可伪造的,假如任意多项式时间的敌手赢得以下游戏的优势是可忽略的.
系统建立.挑战者运行密钥生成算法生成系统参数以及Alice和Bob的公私钥对.挑战者将系统参数及Alice和Bob的公钥发送给敌手.
签名询问.敌手适应性的选择消息Mi,并对该消息进行签名询问.挑战者输出该消息以Bob为指定验证者的SDVS 作为回应.
验证询问.敌手可以访问验证预言机要求验证某个SDVS的合法性.作为回应,挑战者输出“1”假如该签名是合法的.否则,输出“0”.(www.daowen.com)
游戏的最后,敌手输出一个消息以Bob为指定验证者的新签名.如果该消息从未进行过签名询问且该签名能够被验证算法接受,则敌手赢得该游戏.
敌手在上述游戏中的优势定义为敌手输出一个伪造签名的概率.
3.不可传递性.不可传递性要求,验证者Bob无法传递该签名给任何第三方,换而言之,Bob无法使任何第三方相信该签名是由Alice签署的.这就要求Bob通过模拟算法输出的签名副本和真实的签名是不可区分的.具体的,不可传递性可以由以下游戏来定义,如果任意多项式时间的敌手赢得该游戏的概率是可忽略的,则SDVS方案满足不可传递性.
系统建立.挑战者运行密钥生成算法生成系统参数以及Alice和Bob的公私钥对.挑战者将系统参数及Alice和Bob的公钥发送给敌手.
签名与验证询问.敌手适应性的进行多项式有界次签名和验证询问.
挑战.敌手发送一个新的消息M 给挑战者.挑战者通过抛一个公平硬币的方式选择一个随机比特b,如果b = 0,发送该消息的真实SDVS给敌手,如果b = 1,发送签名副本给敌手.
游戏的最后,敌手输出一个猜测比特b′,如果b=b′,则敌手赢得该游戏.
敌手成功的优势定义为敌手猜对的概率与1/2的差值.即:
4.强性.任何不掌握Bob密钥的第三方无法确定该签名是否由Alice签署的,也无法验证该签名的正确性.
将上述SDVS的形式化定义,适当修改密钥生成算法可以将SDVS方案变型为一个SDVRS方案.在此过程中,密钥生成算法输出所以群组成员的公钥和密钥.对一个安全的SDVRS方案,除要求满足SDVS的安全特性外还应该满足签名者匿名性,具体见上一章环签名的定义.
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。