签名的方法及装置、验证签名的方法及装置的制造方法
【技术领域】
[0001] 本发明设及信息安全技术领域,特别设及一种签名的方法及装置、一种验证签名 的方法及装置。
【背景技术】
[0002] 伴随着电子商务的发展,越来越多的电子交易在网上完成,需要处理的数据量非 常庞大,运对于签名者而言是异常大的压力,同时也对用户忍耐性是一个非常大的考验。因 此,为保证数字信息的可验证性和不可抵赖性,盲签名是一种有效的工具。盲签名不仅可W 用来保护用户的信息,同时能够保证数据的可验证性,是电子交易中最常用的工具。
[0003] 现有技术中,在进行盲签名时,对于每个待签名的文件,需要逐个对文件进行盲签 名。在验证盲签名时,也需要逐个对盲签名信息验证。总之,现有技术的处理速度较慢。
【发明内容】
[0004] 有鉴于此,本发明提供了一种签名的方法及装置、一种验证签名的方法及装置,能 够提高处理速度。
[0005] 第一方面,本发明提供了一种签名的方法,包括:
[0006] Sl:获取公钥和私钥;
[0007] S2 :获取多个待签名消息;
[0008] S3 :为每个待签名消息选择预设数量个随机数;
[0009] S4:根据所述公钥和所述私钥W及每个待签名消息对应的预设数量个随机数,对 所有待签名消息进行批签名。
[0010] 进一步地,所述预设数量个随机数包括:第一随机数、第二随机数、第=随机数、第 四随机数、第五随机数,所述公钥表示为:(gl,g2,P,q,t,V),所述私钥表示为:(Si,S2); W11] 所述S4,包括:
[0012] Al:为每个待签名消息设置对应的X参数,将每个待签名消息对应的X参数的初始 值设置为1 ;
[0013] A2 :将每个待签名消息对应的第一随机数和第二随机数的最低位作为当前位;
[0014] A3:分别根据公式一计算每个待签名消息对应的X参数,其中,公式一为:Xi= XiXgiBgsb,其中,Xi为第i个待签名消息nil对应的X参数,i= 1,…,n,i为正整数,n为正 整数,n为获取的待签名消息的数量,a为第一随机数的当前位,b为第二随机数的当前位;
[0015] A4:分别判断每个待签名消息对应的第一随机数和第二随机数的当前位是否是最 高位,如果是,则执行步骤A5,否则,计算&=扭,&=接,将每个待签名消息对应的第一 随机数和第二随机数的当前位的左边一位作为当前位,返回步骤A3 ;
[0016] A5 :为每个待签名消息设置对应的X*参数,将每个待签名消息对应的X*参数的初 始值设置为1 ;
[0017] A6 :将每个待签名消息对应的第立随机数、第四随机数、第五随机数的最低位作为 当前位;
[001引 A7:分别根据公式二计算每个待签名消息对应的料参数,其中,公式二为: X;二,其中,为第i个待签名消息Hii对应的X*参数,C为第S随机数的当前 位,f为第四随机数的当前位,h为第四随机数的当前位;
[0019] A8 :分别判断每个待签名消息对应的第S随机数、第四随机数和第五随机数的当 前位是否是最高位,如果是,则执行步骤A9,否则,计算&=封,& = ,V=v2,将每个待签 名消息对应的第=随机数、第四随机数和第五随机数的当前位的左边一位作为当前位,返 回步骤A7 ; W20] A9 :分别根据公式S计算每个待签名消息对应的E*参数,其中,公式立为: ,/?;,),其中,%为第i个待签名消息叫对应的E*参数;
[002UAlO:分别根据公式S计算每个待签名消息对应的E参数,其中,公式四为: 巧二6; + 4,其中,Gi为第i个待签名消息m1对应的E参数;
[0022] All:分别根据公式五计算每个待签名消息对应的第一签名,分别根据公式六计算 每个待签名消息对应的第二签名,其中,公式五为:yi,i=r +GiSimodq,公式六为:yi,2= r(i,2)+eiS2modq,其中,y;,i为第i个待签名消息m对应的第一签名,yi,2为第i个待签名消息Hii对应的第二签名,r 为第i个待签名消息Hii对应的第一随机数,r 为第i个待签名 消息Hii对应的第二随机数。
[0023] 进一步地,所述SI,包括:
[0024] Bl:选择满足qI(P-I)的两个素数P和q; 阳0巧]B2 :确定阶数为q的群Zp* ;
[0026] B3 :从所述群Zp*中随机选择两个生成元gi,邑2;
[0027] B4 :确定域Zq,从所述域Zq中确定S个随机元素S1,S2,t;
[0028] B5:根据公式屯计算出V,公式屯为:V' =,或尸;
[0029] B6 :生成所述公钥和所述私钥,其中,所述公钥表示为:妃,g2,P,q,t,V),所述私 钥表不为:(Si,S2)。
[0030] 第二方面,本发明提供了一种签名的方法,包括:
[0031] 接收外部发来的每个待签名消息对应的第一签名和第二签名、每个待签名消息对 应的第=随机数和第四随机数、每个待签名消息对应的E*参数;
[0032]根据公式八计算每个待签名消息的第一签名对应的第一参数,根据公式九计算每 个待签名消息的第二签名对应的第二参数,其中,公式八为:记I +1/,,,.,,mody,公式九 为:足,=也+"<巧,记为第i个待签名消息Hii对应的第一签名对应第一参数,记:为 第i个待签名消息Hii对应的第二签名对应第二参数,y1,1为第i个待签名消息m1对应的第 一签名,yi,2为第i个待签名消息m对应的第二签名,U为第i个待签名消息m对应的 第S随机数,11^2>为第i个待签名消息m1对应的第四随机数; W33] 生成每个待签名消息的签名对,其中,第i个待签名消息的签名对为 (巧点记,记),巧*为第i个待签名消息nil对应的E*参数。
[0034] 第=方面,本发明提供了一种验证签名的方法,包括:
[0035] 接收外部发来的每个待签名消息的签名对和公钥,其中,第i个待签名消息的签 名对为(巧;ej,>';:,,记),苗为第i个待签名消息叫对应的E*参数,Hii为第i个待签名消息, _),;1为第i个待签名消息m拥应的第一参数,在为第i个待签名消息m对应的第二参数, 公钥表示为:妃,g2,P,q,t,V);
[0036] 分别根据公式十计算每个待签名消息对应的Z参数,其中,公式十为: Z,.二巧(容产容沪,巧),Zi为第i个待签名消息m对应的Z参数;
[0037] 针对每个待签名消息,判断当前待签名消息对应的Z参数与E*参数是否相同,如 果是,则当前待签名消息的签名对通过验证,否则,当前待签名消息的签名对没有通过验 证。
[003引第四方面,本发明提供了一种签名的装置,包括:
[0039] 第一获取单元,用于获取公钥和私钥;
[0040] 第二获取单元,用于获取多个待签名消息;
[0041] 选择单元,用于为每个待签名消息选择预设数量个随机数;
[0042] 签名单元,用于根据所述公钥和所述私钥W及每个待签名消息对应的预设数量个 随机数,对所有待签名消息进行批签名。
[0043] 进一步地,所述预设数量个随机数包括:第一随机数、第二随机数、第=随机数、第 四随机数、第五随机数,所述公钥表示为:(gi,g2,P,q,t,V),所述私钥表示为:(Si,S2);
[0044] 所述签名单元,具体用于:
[0045] Al:为每个待签名消息设置对应的X参数,将每个待签名消息对应的X参数的初始 值设置为1 ;
[0046] A2 :将每个待签名消息对应的第一随机数和第二随机数的最低位作为当前位;
[0047] A3 :分别根据公式一计算每个待签名消息对应的X参数,其中,公式一为:Xi= XiXgiBgzb,其中,Xi为第i个待签名消息m1对应的X参数,i= 1,…,n,i为正整数,n为正 整数,n为获取的待签名消息的数量,a为第一随机数的当前位,b为第二随机数的当前位;
[0048] A4:分别判断每个待签名消息对应的第一随机数和第二随机数的当前位是否是最 高位,如果是,则执行步骤A5,否则,计算窥=:篡f,窮=掉,将每个待签名消息对应的第一 随机数和第二随机数的当前位的左边一位作为当前位,返回步骤A3 ;
[0049] A5 :为每个待签名消息设置对应的X*参数,将每个待签名消息对应的X*参数的初 始值设置为1 ;
[0050] A6 :将每个待签名消息对应的第S随机数、第四随机数、第五随机数的最低位作为 当前位;
[0051] A7:分别根据公式二计算每个待签名消息对应的料参数