[发明专利]数字签名方法、装置以及密码设备有效
申请号: | 201710031439.4 | 申请日: | 2017-01-17 |
公开(公告)号: | CN106712965B | 公开(公告)日: | 2020-02-18 |
发明(设计)人: | 张永强 | 申请(专利权)人: | 数安时代科技股份有限公司 |
主分类号: | H04L9/32 | 分类号: | H04L9/32 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 潘桂生;王东亮 |
地址: | 528200 广东省佛*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 数字签名 方法 装置 以及 密码 设备 | ||
本发明涉及一种数字签名方法、装置以及密码设备;其中,数字签名方法,包括以下步骤:获取椭圆曲线上的多倍点点乘运算结果,并根据点乘运算结果,生成签名材料数据;对签名材料数据进行混淆运算处理,得到混淆签名材料数据;根据混淆签名材料数据执行数字签名,获取签名结果。本发明通过对已知多倍点运算结果进行基于点加的混淆运算,从而抵抗线性攻击,并获得足够高的运算效率。基于低速硬件设备产生的随机数及点乘运算结果,采用混淆算法来产生更多的多倍点运算结果,从而提高签名的效率。通过混淆算法,使得混淆输出结果之间的相关性较低,可以有效抵抗线性攻击。
技术领域
本发明涉及密码学技术领域,特别是涉及一种数字签名方法、装置以及密码设备。
背景技术
由于多倍点运算需要消耗大量的计算资源,会制约数字签名装置的效率。为了提高计算椭圆曲线多倍点运算的效率,传统技术提出了很多的优化方法,基本思想是改变随机数k的形式从而减少点加、多倍点运算,或者采用预先计算并存储2rG,或者采用更高效的有限域计算方法等。
具体的,例如传统技术提出一种通过在GPU预先计算并存储椭圆曲线多倍点运算,然后由CPU调用存储的预先计算完成签名计算的步骤。这种技术方案可以通过预先计算来解决签名请求的突发业务,通过闲时计算多倍点运算并存储,以便在出现业务高峰时不会增加业务延迟。另一种为根据多个多倍点运算的历史数据来导出一个新的多倍点运算结果,其基本过程为获取并存储服务器返回的多个的历史数据,然后,根据历史数据导出签名参数。
在实现过程中,发明人发现传统技术中至少存在如下问题:一方面,传统技术对于重负载的场合,提交的签名请求可能超出硬件设备计算多倍点的运算能力,此时缓冲区可能一直处于没有数据的状态,预先计算的缓冲机制会完全失效。另一方面,攻击者可以通过监视跟踪历史数据的签名结果,并通过相关数据构建线性方程组,从而提取到用户私钥,即传统技术在抵抗线性攻击方面也存在弱点,且受限于硬件设备的性能,难以满足海量用户并发执行的签名需求,制约了数字签名效率。
发明内容
基于此,有必要针对以上问题,提供一种数字签名方法、装置以及密码设备。
为了实现上述目的,本发明技术方案的实施例为:
一方面,提供了一种数字签名方法,包括以下步骤:
获取椭圆曲线上的多倍点点乘运算结果,并根据点乘运算结果,生成签名材料数据;
对签名材料数据进行混淆运算处理,得到混淆签名材料数据;
根据混淆签名材料数据执行数字签名,获取签名结果。
一方面,还提供了一种数字签名装置,包括:
签名材料生成单元,用于获取椭圆曲线上的多倍点点乘运算结果,并根据点乘运算结果,生成签名材料数据;
混淆倍增单元,用于对签名材料数据进行混淆运算处理,得到混淆签名材料数据;
签名单元,用于根据混淆签名材料数据执行数字签名,获取签名结果。
另一方面,提供了一种数字签名密码设备,其被配置为获取椭圆曲线上的多倍点点乘运算结果,并根据点乘运算结果,生成签名材料数据;对签名材料数据进行混淆运算处理,得到混淆签名材料数据;根据混淆签名材料数据执行数字签名,获取签名结果。
上述技术方案具有如下有益效果:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于数安时代科技股份有限公司,未经数安时代科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710031439.4/2.html,转载请声明来源钻瓜专利网。