一种有限资源下的数字签名方法、装置及系统制造方法及图纸

技术编号:16177678 阅读:33 留言:0更新日期:2017-09-09 05:08
本申请公开了一种有限资源下的数字签名方法、装置及系统,涉及计算机领域,本发明专利技术实施例提供的数字签名的方法中,在初始化时由签名代理服务器针对椭圆曲线双线性映射运算进行预计算,终端获取其全部预计算结果或者部分预计算结果,再根据签名代理服务器进行预计算的预计算结果计算数字签名,和/或根据签名代理服务器进行预计算的预计算结果验证数字签名。由签名代理服务器承担了预计算的计算量,从而减少了终端上的计算复杂度,减轻了终端的计算负担。

【技术实现步骤摘要】
一种有限资源下的数字签名方法、装置及系统
本公开一般涉及计算机领域,具体涉及物联网技术,尤其涉及一种有限资源下的数字签名方法、装置及系统。
技术介绍
近年来物联网应用增长迅速,但随之也出现了越来越多的由联网设备引发的安全事件,这些安全事件许多是由于缺乏设备认证保护措施造成。由于物联网应用一般存在海量设备的接入认证、需支持设备到设备认证等特点,目前有一种基于标识的密码算法(IBC,Identity-BasedCryptograph)及体系,即将设备标识号直接作为设备公钥,设备私钥本地安全保存。认证双方使用私钥生成挑战数据,并直接使用对方标识号进行验证。较传统PKI技术,IBC技术能够较好地简化系统结构和减少交互流程,并能很方便的支持设备到设备的直接认证。基于标识的国产密码算法SM9算法更加方便了基于标识的密码算法在国内的应用。但是,SM9算法签名、验证签名流程里用到的椭圆曲线上的一些运算,如:双线性映射、乘法循环群上的指数运算等是较耗费计算资源的运算,在使用软件实现时编译得到的实现文件体积也通常较大。由于很多物联网设备其计算能力和存储空间往往有限,因此限制了该技术在物联网中的使用。
技术实现思路
鉴于现有技术中的上述缺陷或不足,期望提供一种有限资源下的数字签名方法、装置及系统,以减少终端上的计算复杂度。第一方面,本专利技术实施例提供一种有限资源下的数字签名方法,所述方法包括:获取初始化时签名代理服务器针对椭圆曲线双线性映射运算进行预计算的全部预计算结果或者部分预计算结果;根据签名代理服务器进行预计算的预计算结果计算数字签名,和/或根据签名代理服务器进行预计算的预计算结果验证数字签名。优选的,所述初始化时签名代理服务器针对椭圆曲线双线性映射运算进行预计算,具体为:初始化时签名代理服务器计算其中,i=0,1,...,|N|-1,P1为加法循环群G1的生成元,Ppub-s为签名主公钥,N为循环群的阶,为大于2191的素数,e(P1,Ppub-s)为P1,Ppub-s的椭圆曲线上的双线性映射运算,|N|为N的二进制位数。进一步,当获取初始化时签名代理服务器进行预计算的全部预计算结果时,所述根据签名代理服务器进行预计算的预计算结果计算数字签名,具体包括:生成随机数r∈[1,N-1],提取r中值为1的比特位下标集合Ix,若Ix∩I'=φ则重新生成随机数r∈[1,N-1]直至Ix∩I'=φ,其中I为i值的集合;计算阶为素数N的乘法循环群GT中的元素根据所述w计算数字签名。当获取初始化时签名代理服务器进行预计算的部分预计算结果时,所述根据签名代理服务器进行预计算的预计算结果计算数字签名,具体包括:生成随机数r∈[1,N-1],提取r中值为1的比特位下标集合Ix,若Ix∩I'=φ则重新生成随机数r∈[1,N-1]直至Ix∩I'=φ,其中I′为所获取的预计算结果对应的i值的集合;计算向签名代理服务器发送Ix′=Ix∩I″,并获取签名代理服务器计算的其中,I″为未获取的预计算结果对应的i值的集合;计算阶为素数N的乘法循环群GT中的元素w=W1·W2;根据所述w计算数字签名。进一步,所述根据签名代理服务器进行预计算的预计算结果验证数字签名,具体包括:确定接收到的消息M'的数字签名(h′,S′);计算阶为素数N的加法循环群G2中的元素P;确定t为i=h′时的Ei值,并将S'、P发送给签名代理服务器,接收签名代理服务器通过对S'、P椭圆曲线上双线性映射运算计算的u值;根据u、t、h'、M',确定验证结果。更进一步,所述确定t为i=h′时的Ei值,并将S'、P发送给签名代理服务器,接收签名代理服务器通过对S'、P椭圆曲线上双线性映射运算计算的u值,具体包括:当本地获取的预计算结果中包括h'对应的Ei时,直接通过本地获取的预计算结果确定t值,并将S'、P发送给签名代理服务器,接收签名代理服务器通过对S'、P椭圆曲线上双线性映射运算计算的u值;当本地获取的预计算结果中不包括h'对应的Ei时,将h'、S'、P发送给签名代理服务器,接收签名代理服务器确定的t值以及通过对S'、P椭圆曲线上双线性映射运算计算的u值。第二方面,本专利技术实施例还提供一种有限资源下的数字签名方法,所述方法包括:在初始化时进行针对椭圆曲线双线性映射运算的预计算;将全部预计算结果或者部分预计算结果发送给终端,由终端根据签名代理服务器进行预计算的预计算结果计算数字签名,和/或根据签名代理服务器进行预计算的预计算结果验证数字签名。优选的,所述在初始化时进行预计算,具体包括:在初始化时计算其中,i=0,1,...,|N|-1,P1为加法循环群G1的生成元,Ppub-s为签名主公钥,N为循环群的阶,为大于2191的素数,e(P1,Ppub-s)为P1,Ppub-s的椭圆曲线上的双线性映射运算,|N|为N的二进制位数。进一步,当将部分预计算结果发送给终端时,所述由终端根据签名代理服务器进行预计算的预计算结果计算数字签名,具体包括:接收终端根据随机数r∈[1,N-1]计算的Ix′=Ix∩I″,其中Ix为r中值为1的比特位下标集合,I″为未获取的预计算结果对应的i值的集合;计算并将W2值发送给终端,由终端根据该W2值计算数字签名。进一步,所述由终端根据签名代理服务器进行预计算的预计算结果验证数字签名,具体包括:接收终端验证消息M'的数字签名(h′,S′)时发送的S'、P,所述P为阶为素数N的加法循环群G2中的元素;通过对S'、P椭圆曲线上双线性映射运算计算u值,并发送给终端,由终端根据该u值确定验证结果。更进一步,还包括:当终端本地获取的预计算结果中不包括h'对应的Ei时,接收终端发送的h'值;确定t为i=h′时的Ei值,并将该t值发送给终端,由终端根据该t值确定验证结果。第三方面,本专利技术实施例还提供一种有限资源下的数字签名装置,所述装置包括:获取单元,用于获取初始化时签名代理服务器进行针对椭圆曲线双线性映射运算预计算的全部预计算结果或者部分预计算结果;计算单元,用于根据签名代理服务器进行预计算的预计算结果计算数字签名,和/或根据签名代理服务器进行预计算的预计算结果验证数字签名。优选的,所述初始化时签名代理服务器进行预计算,具体为:初始化时签名代理服务器计算其中,i=0,1,...,|N|-1,P1为加法循环群G1的生成元,Ppub-s为签名主公钥,N为循环群的阶,为大于2191的素数,e(P1,Ppub-s)为P1,Ppub-s的椭圆曲线上的双线性映射运算,|N|为N的二进制位数。进一步,当获取初始化时签名代理服务器进行预计算的全部预计算结果时,所述计算单元根据签名代理服务器进行预计算的预计算结果计算数字签名,具体包括:生成随机数r∈[1,N-1],提取r中值为1的比特位下标集合Ix,若Ix∩I'=φ则重新生成随机数r∈[1,N-1]直至Ix∩I'=φ,其中I为i值的集合;计算阶为素数N的乘法循环群GT中的元素根据所述w计算数字签名。进一步,当获取初始化时签名代理服务器进行预计算的部分预计算结果时,所述计算单元根据签名代理服务器进行预计算的预计算结果计算数字签名,具体包括:生成随机数r∈[1,N-1],提取r中值为1的比特位下标集合Ix,若Ix∩I'=φ则重新生成随机数r∈[1本文档来自技高网...
一种有限资源下的数字签名方法、装置及系统

【技术保护点】
一种有限资源下的数字签名方法,所述方法包括:获取初始化时签名代理服务器针对椭圆曲线双线性映射运算进行预计算的全部预计算结果或者部分预计算结果;根据签名代理服务器进行预计算的预计算结果计算数字签名,和/或根据签名代理服务器进行预计算的预计算结果验证数字签名。

【技术特征摘要】
1.一种有限资源下的数字签名方法,所述方法包括:获取初始化时签名代理服务器针对椭圆曲线双线性映射运算进行预计算的全部预计算结果或者部分预计算结果;根据签名代理服务器进行预计算的预计算结果计算数字签名,和/或根据签名代理服务器进行预计算的预计算结果验证数字签名。2.如权利要求1所述的方法,其特征在于,所述初始化时签名代理服务器针对椭圆曲线双线性映射运算进行预计算,具体为:初始化时签名代理服务器计算其中,i=0,1,...,|N|-1,P1为加法循环群G1的生成元,Ppub-s为签名主公钥,N为循环群的阶,为大于2191的素数,e(P1,Ppub-s)为P1,Ppub-s的椭圆曲线上的双线性映射运算,|N|为N的二进制位数。3.如权利要求2所述的方法,其特征在于,当获取初始化时签名代理服务器进行预计算的全部预计算结果时,所述根据签名代理服务器进行预计算的预计算结果计算数字签名,具体包括:生成随机数r∈[1,N-1],提取r中值为1的比特位下标集合Ix,若Ix∩I'=φ则重新生成随机数r∈[1,N-1]直至Ix∩I'=φ,其中I为i值的集合;计算阶为素数N的乘法循环群GT中的元素根据所述w计算数字签名。4.如权利要求2所述的方法,其特征在于,当获取初始化时签名代理服务器进行预计算的部分预计算结果时,所述根据签名代理服务器进行预计算的预计算结果计算数字签名,具体包括:生成随机数r∈[1,N-1],提取r中值为1的比特位下标集合Ix,若Ix∩I'=φ则重新生成随机数r∈[1,N-1]直至Ix∩I'=φ,其中I′为所获取的预计算结果对应的i值的集合;计算向签名代理服务器发送Ix′=Ix∩I″,并获取签名代理服务器计算的其中,I″为未获取的预计算结果对应的i值的集合;计算阶为素数N的乘法循环群GT中的元素w=W1·W2;根据所述w计算数字签名。5.如权利要求2所述的方法,其特征在于,所述根据签名代理服务器进行针对椭圆曲线双线性映射运算预计算的预计算结果验证数字签名,具体包括:确定接收到的消息M'的数字签名(h′,S′);计算阶为素数N的加法循环群G2中的元素P;确定t为i=h′时的Ei值,并将S'、P发送给签名代理服务器,接收签名代理服务器通过对S'、P椭圆曲线上双线性映射运算计算的u值;根据u、t、h'、M',确定验证结果。6.如权利要求5所述的方法,其特征在于,所述确定t为i=h′时的Ei值,并将S'、P发送给签名代理服务器,接收签名代理服务器通过对S'、P椭圆曲线上双线性映射运算计算的u值,具体包括:当本地获取的预计算结果中包括h'对应的Ei时,直接通过本地获取的预计算结果确定t值,并将S'、P发送给签名代理服务器,接收签名代理服务器通过对S'、P椭圆曲线上双线性映射运算计算的u值;当本地获取的预计算结果中不包括h'对应的Ei时,将h'、S'、P发送给签名代理服务器,接收签名代理服务器确定的t值以及通过对S'、P椭圆曲线上双线性映射运算计算的u值。7.一种有限资源下的数字签名方法,所述方法包括:在初始化时针对椭圆曲线双线性映射运算进行预计算;将针对椭圆曲线双线性映射运算进行的全部预计算结果或者部分预计算结果发送给终端,由终端根据签名代理服务器进行预计算的预计算结果计算数字签名,和/或根据签名代理服务器进行预计算的预计算结果验证数字签名。8.如权利要求7所述的方法,其特征在于,所述在初始化时进行针对椭圆曲线双线性映射运算的预计算,具体包括:在初始化时计算其中,i=0,1,...,|N|-1,P1为加法循环群G1的生成元,Ppub-s为签名主公钥,N为循环群的阶,为大于2191的素数,e(P1,Ppub-s)为P1,Ppub-s的椭圆曲线上的双线性映射运算,|N|为N的二进制位数。9.如权利要求8所述的方法,其特征在于,当将部分预计算结果发送给终端时,所述由终端根据签名代理服务器进行预计算的预计算结果计算数字签名,具体包括:接收终端根据随机数r∈[1,N-1]计算的Ix′=Ix∩I″,其中Ix为r中值为1的比特位下标集合,I″为未获取的预计算结果对应的i值的集合;计算并将W2值发送给终端,由终端根据该W2值计算数字签名。10.如权利要求8所述的方法,其特征在于,所述由终端根据签名代理服务器进行预计算的预计算结果验证数字签名,具体包括:接收终端验证消息M'的数字签名(h′,S′)时发送的S'、P,所述P为阶为素数N的加法循环群G2中的元素;通过对S'、P椭圆曲线上双线性映射运算计算u值,并发送给终端,由终端根据该u值确定验证结果。11.如权利要求10所述的方法,其特征在于,还包括:当终端本地获取的预计算结果中不包括h'对应的Ei时,接收终端发送的h'值;确定t为i=h′时的Ei值,并将该t值发送给终端,由终端根据该t值确定验证结果。12.一种有限资源下的数字签名装置,所述装置包括:获取单元,用于获取初始化时签名代理服务器进行针对椭圆曲线双线性映射运算预计算的全部预计算结果或者部分预计算结果;计算单元,用于根据签名代理服务器进行预计算的预计算结果计算数字签名,和/或根据签名代理服务器进行预计算的预计算结果验证数字签名。13.如权利要求12所述的装置,其特征在于,所述初始化时签名代理服务器进行针对椭圆曲线双线性映射运算的预计算,具体为:初始化时签名代理服务器计算其中,i=0,1,...,|N|-1,P1为加法循环群G1的生成元,Ppub-s为签名主公钥,N为循环群的阶,为大于2191的素数,e(P1,Ppub-s)为P1,Ppub-s的椭圆曲线上的双线性映射运算,|N|为N的二进制位数。14.如权利要求13所述的装置,其特征在于,当获取初始化时签名代理服务器进行预计算的全部预计算结果时,所述计算单元根据签名代理服务器进行预计算的预计算结果计算数字签名,具体包括:生成随机数r∈[1,N-1],提取r中值为1的比特位下标集合Ix,若Ix∩I'=φ则重新生成随机数r∈[1,N-1]直至Ix∩I'=φ,其中I为i值的集合;计算阶为素数N的乘法循环群GT中的元素根据所述w计算数字签名。15.如权利要求13所述的装置,其特征在于,当获取初始化时签名代理服务器进行预计算的部分预计算结果时,所述计算单元根据签名代理服务器进行预计算的预计算结果计算数字签名,具体包括:生成随机数r∈[1,N-1],提取r中值为1的比特位下标集合Ix,若Ix∩I'=φ则重新生成随机数r∈[1,N-1]直至Ix∩I'=φ,其中I′为所获取的预计算结果对应的i值的集合;计算向签名代理服务器发送Ix′=Ix∩I″,并获取签名代理服务器计算的其中,I″为未获取的预计算结果对应的i值的集合;计算阶为素数N的乘法循环群GT中的元素w=W1·W2;根据所述w计算数字签名。16.如...

【专利技术属性】
技术研发人员:阚志刚陈彪王天雨彭建芬卢佐华
申请(专利权)人:北京洋浦伟业科技发展有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1