多重签名技术是签名技术中研究的比较频繁的一种。早在1983年K.Itakura和K.Nakamura就提出了多重数字签名的概念,设计了适合多重数字签名的公钥密码体制。
多重数字签名方案是一种能够实现多个用户对同一消息签名的数字签名方案。根据签名过程不同,多重数字签名方案可分为广播多重数字签名方案和有序多重数字签名方案,这两类方案都包含消息的发送者、消息的签名者和签名的验证者。在广播多重数字签名方案中还包括签名的收集者。
假设A和B签署文件,C为签名验证者。A和B都各自有自己的公私钥(JA,SA),(JB,SB);公开参数为(n,e)。
(1)A选取随机数rA,1<rA<n-1,计算TA=reA mod n;把TA发送给B。
(2)B选取随机数rB,1<rB<n-1,计算TB=reB mod n;把TB发送给A。
(3)A和B分别计算T=TA TB mod n。
(4)A和B分别对消息M计算d=H(M,T),H为散列函数。
(5)A计算DA=rA SdA mod n,发送DA给B。
(6)B计算DB=rB SdB mod n,发送DB给A。
(7)A和B分别计算D=DA DB mod n。(www.daowen.com)
(8)至此,消息M的签名为(d,D,JA,JB)。
验证过程如下。
(1)验证者收到消息M和签名(d,D,JA,JB)。
(2)验证者计算J=JA JB mod n。
(3)验证者计算T′=De Jd mod n。
(4)验证者计算d′=H(M,T′)。
(5)比较d和d′,相等表示签名有效;否则,签名无效。
这个协议可以推广到多个人的情况。多人时,签名算法的步骤(3)是所有签名者的Ti相乘;步骤(7)是所有的Di相乘。验证时,步骤(2)是所有的Ji相乘。最后,签名若有效,则所有签名者的签名都有效;否则,只要有一个签名者的签名无效,就会导致整个签名无效。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。