一种数字签名方法、装置、发送端、接收端及系统制造方法及图纸

技术编号:24129724 阅读:37 留言:0更新日期:2020-05-13 05:52
本发明专利技术提出了一种数字签名方法、装置、发送端、接收端及系统。本发明专利技术通过对常规数字签名方法的改进使其适应于RDS模式(调频)应急广播传输,使其既符合应急广播安全技术标准的要求,又可以提升RDS方式应急广播指令的传输效率。在本发明专利技术所提出的算法中减少了签名输出内容的长度,但能保证一定强度的安全性。实现了RDS方式应急广播指令的安全高效传输、验证,有效提高了指令的传输效率,提高了应急广播的播发效率。

A digital signature method, device, sender, receiver and system

【技术实现步骤摘要】
一种数字签名方法、装置、发送端、接收端及系统
本申请涉及网络信息安全领域,尤其涉及一种数字签名方法、装置、发送端、接收端及系统。
技术介绍
RDS(RadioDigitalSystem)是调频广播的一种实现方式,一般是指利用频频广播的副载波携带数据资料的一种工作方式,传输带宽窄、速率低。根据《应急广播安全保护技术数字签名》标准中要求,要采用SM2、SM3算法的数字签名方式对RDS传输的控制命令进行保护,采用这种算法后,RDS指令附加的保护数据比较长,因此传输时间也长,严重影响了RDS指令的下发速度,极大的降低了应急广播传播效率。应急广播信息保护标准中采用了标准的SM2和SM3算法实现的标准数字签名流程,能够有效的实现对应急广播信息发送端的验证和信息完整性的保护,调频广播主式也采用了此标准的签名方式进行传输指令及数据的保护。具体的措施是在RDS终端音柱上增加了专用密码模块,密码模块中保存了相应的信息发送端的公钥,以及实现了数字签名的验证流程;通过音柱的主控单元与密码模块进行通讯,实现对终端接收的信息进行安全验证。基于RDS的技术特性,在实际的应用中陆续发现了一些问题,包括误码率高,数字签名的数据接收时间长,应急广播指令处理延迟等。通过对现场数据的抓取及通过驻留在终端内的测试程序进行业务逻辑分析,最终发现产生这些问题的原因如下:(1)RDS数据通道传输数据慢:RDS传输数据通过数据帧实现,一帧只能传送4个有效数据字节,RDS的理论传输比特率是1187.5Hz。一帧数据的传输时间约为87.6毫秒,也就是说每秒钟最多可传送11个数据帧的信息,除去冗余信息,一秒最多能传送有效的数据为44字节。RDS一般是采用是空中无线传输方式,干扰较多,传输的数据帧越多,出现误码的频率也越高,中间任何一帧出现误码即需要重传。因此在实际使用中,一般耗时是理论时间的1.5-5倍,数据越长,因误码而重传的耗时也越多。(2)数字签名产生的数据长,导致接收时间长;目前采用的标准SM2数字签名算法,产生的数据签名内容为64字节(其中r为32字节,s为32字节),再加了附加签名信息UTC时间4字节,签名的证书编号6字节,总计为74字节,一般RDS应急广播指令是4-8个字节数据,传输大约1到2个数据帧就可以完成,耗时很短。目前的数字签名信息是74个字节,即附加的数据理论传输时间需要近2秒钟;同时由于数字签名信息需要传输19个数据帧才能传送完成,中间任何一帧出现误码即需要重传。在实际测试中,完整接收完数字签名信息所需时间为3-5秒钟。需要发送的数据过长,这是导致RDS方式接收误码率高,延时大的主要原因。
技术实现思路
为解决上述技术问题之一,本专利技术提供了一种数字签名方法、装置、发送端、接收端及系统。本专利技术实施例第一方面提供了一种数字签名方法,所述方法应用于发送端,所述方法包括:S101、设定其中M为待签名的应急广播传输覆盖指令,ENTLA为IDA的长度,IDA为SM3算法的用户标识,a、b、G和PA为SM2算法所使用的椭圆曲线方程的参数,G的坐标为(xG,yG),PA的坐标为(xA,yA),PA为发送端的公钥,H256为SM3摘要计算生成256位摘要值;S102、计算S103、从预制库中随机选取一个k及对应的(x1,y1),索引号定义为K,k为随机数,(x1,y1)为基于k获得的SM2算法所使用的椭圆曲线方程所生成的椭圆曲线上的点;S104、计算r=(e+x1)modn,若r=0或r+k=n,则返回执行步骤S103,其中,modn为对n取余计算,n为基点G的阶;S105、计算s=((1+dA)-1×(k-r×dA))modn,若s=0,则返回执行步骤S103,其中,dA为发送端的私钥;S106、将步骤S105中的s转换为字符串,M的数字签名为K||s,其中,K为1字节长,表示本次所使用的预制库中随机数的索引,s为32字节长。优选地,所述方法还包括设置预制库,所述设置预制库的具体过程包括:S10A、生成随机数k∈[1,n-1];S10B、使用k计算SM2算法所使用的椭圆曲线方程所生成的点(x1,y1)=[k]G;S10C、重复执行步骤S10A至步骤S10B,直至生成255组k和(x1,y1),所生成255组k和(x1,y1)组成所述预制库。本专利技术实施例第二方面提供了一种数字签名方法,所述方法应用于接收端,所述方法包括:S201、接收发送端发送的应急广播传输指令M′,以及所述应急广播传输指令所对应的数字签名s′=K||s′;S202、设计算其中,ZA=H256(ENTLA‖IDA‖a‖b‖xG‖yG‖xA‖yA‖),ENTLA为IDA的长度,IDA为SM3算法的用户标识,a、b、G和PA为SM2算法所使用的椭圆曲线方程的参数,G的坐标为(xG,yG),PA的坐标为(xA,yA),PA为发送端的公钥,H256为SM3摘要计算生成256位摘要值;S203、判断s′∈[1,n-1]是否成立,若不成立则验证结果为不通过;S204、根据所述应急广播传输指令所对应的数字签名中的K值,从预制库中获取对应的椭圆曲线上的点(x1,y1),并计算r′=(e′+x1)modn,其中,modn为对n取余计算,n为基点G的阶;S205、计算t=(r′+s′)modn,若t=0,则验证结果为不通过;S206、基于步骤S205中的t计算SM2算法所使用的椭圆曲线方程所生成的椭圆曲线上的点(x1′,y1′)=[s′]G+[t]PA;S207、基于步骤S206中的x1′计算R=(e′+x1′)modn,若R=r′,则验证结果为通过,否则验证结果为不通过。优选地,所述方法还包括设置预制库,所述设置预制库的具体过程包括:S20A、生成随机数k∈[1,n-1];S20B、使用k计算SM2算法所使用的椭圆曲线方程所生成的点(x1,y1)=[k]G;S20C、重复执行步骤S20A至步骤S20B,直至生成255组k和(x1,y1),所生成255组k和(x1,y1)组成所述预制库。本专利技术实施例第三方面提供了一种数字签名装置,所述装置应用于发送端,所述装置包括处理器,所述处理器,其被配置有处理器可执行的操作指令,以执行如本专利技术实施例第一方面所述的方法步骤。本专利技术实施例第四方面提供了一种数字签名装置,所述装置应用于接收端,所述装置包括处理器,所述处理器,其被配置有处理器可执行的操作指令,以执行如本专利技术实施例第二方面所述的方法步骤。本专利技术实施例第五方面提供了一种发送端,所述发送端包括如本专利技术实施例第三方面所述的数字签名装置。本专利技术实施例第六方面提供了一种发送端,所述发送端包括如本专利技术实施例第四方面所述的数字签名装置。本专利技术实施例第七方面提供了一种数字签名系统,所述系统包括如本专利技术实施例第五方面所述的发送端和如专利技术实施例第六方面所述的接收端。优选地,所述系本文档来自技高网
...

【技术保护点】
1.一种数字签名方法,其特征在于,所述方法应用于发送端,所述方法包括:/nS101、设定

【技术特征摘要】
1.一种数字签名方法,其特征在于,所述方法应用于发送端,所述方法包括:
S101、设定ZA=H256(ENTLA‖IDA‖a‖b‖xG‖yG‖xA‖yA‖),M为待签名的应急广播传输覆盖指令,ENTLA为IDA的长度,IDA为SM3算法的用户标识,a、b、G和PA为SM2算法所使用的椭圆曲线方程的参数,G的坐标为(xG,yG),PA的坐标为(xA,yA),PA为发送端的公钥,H256为SM3摘要计算生成256位摘要值;
S102、计算
S103、从预制库中随机选取一个k及对应的(x1,y1),索引号定义为K,k为随机数,(x1,y1)为基于k获得的SM2算法所使用的椭圆曲线方程所生成的椭圆曲线上的点;
S104、计算r=(e+x1)modn,若r=0或r+k=n,则返回执行步骤S103,其中,modn为对n取余计算,n为基点G的阶;
S105、计算s=((1+dA)-1×(k-r×dA))modn,若s=0,则返回执行步骤S103,其中,dA为发送端的私钥;
S106、将步骤S105中的s转换为字符串,M的数字签名为K||s,其中,K为1字节长,表示本次计算所选预制库内随机数的索引号,s为32字节长。


2.根据权利要求1所述的方法,其特征在于,所述方法还包括设置预制库,所述设置预制库的具体过程包括:
S10A、生成随机数k∈[1,n-1];
S10B、使用k计算SM2算法所使用的椭圆曲线方程所生成的点(x1,y1)=[k]G;
S10C、重复执行步骤S10A至步骤S10B,直至生成255组k和(x1,y1),所生成255组k和(x1,y1)组成所述预制库。


3.一种数字签名方法,其特征在于,所述方法应用于接收端,所述方法包括:
S201、接收发送端发送的应急广播传输指令M′,以及所述应急广播传输指令所对应的数字签名s′=K||s′;
S202、设计算其中,ZA=H256(ENTLA‖IDA‖a‖b‖xG‖yG‖xA‖yA‖),ENTLA为IDA的长度,IDA为SM3算法的用户标识,a、b、G和PA为SM2算法所使用的椭圆曲线方程的参数,G的坐标为(xG,yG),PA的坐标为(xA,yA...

【专利技术属性】
技术研发人员:赵云辉
申请(专利权)人:北京江南天安科技有限公司
类型:发明
国别省市:北京;11

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

1