1.一种基于Mambo的代理签名方法,其特征在于:具体方法步骤如下:S1:初始化:随机选择一个大素数p,q为p‑1的一个大素因子, 且g为 的生成元;A的私钥和公钥对为(xA,yA),B的私钥和公钥对为(xB,yB),其中S2:代理密钥生成的过程:A随机选取整数k,通过公式(W1)和(W2)求出r和s,然后通过一个安全通道将(r,s)作为代理秘钥发送给B;具体公式如下:k
r=gmod p (W1)
s=(xAyA+kr)mod q (W2);
S3:验证代理密钥的过程:B收到(r,s)后,首先验证等式 是否成立,如果成立,则可以认为(r,s)是A发来的,可以接受A的委托,否则可以拒绝接受A的委托或者要求A重新发送一份(r,s);
S4:产生代理签名的过程:B验证等式 成立后,首先选择一个国家安全中心认证的哈希函数H(),通过该哈希函数计算出代签名消息m的哈希值H(m),然后通过公s′式(W3)求出s′,以s′作为自己的代理私钥,相应的代理公钥为g ,即 记代理公钥为Y,并向社会公示,具体公式如下:s′=(s+xByB)mod q (W3)再随机选取整数c,通过公式(W4)和(W5)求出u和v,将(u,v)和消息m发送给C;具体公式如下:c
u=gmod p (W4)
‑1
v=(H(m)‑us′)c mod q (W5);
m代表待签名的消息;
H(m) v u
S5:代理签名验证的过程;C收到(u,v)和m后,验证等式g =u (Y) mod p是否相等;
如果相等,收到的签名是有效的;如果不相等,签名是无效的,A为原始签名人;B为代理签名人;C为签名验证者。