[发明专利]SM2数字签名生成算法的实现方法及装置有效
申请号: | 201310445395.1 | 申请日: | 2013-09-25 |
公开(公告)号: | CN103546288B | 公开(公告)日: | 2017-02-01 |
发明(设计)人: | 林璟锵;潘无穷;余幸杰;王琼霄;荆继武 | 申请(专利权)人: | 中国科学院数据与通信保护研究教育中心 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/30 |
代理公司: | 北京德琦知识产权代理有限公司11018 | 代理人: | 牛峥,王丽琴 |
地址: | 100093 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | sm2 数字签名 生成 算法 实现 方法 装置 | ||
技术领域
本发明涉及公钥密码算法技术,特别涉及一种结合中央处理器(CPU)和图形处理器(GPU,Graphics Processing Unit)的SM2数字签名生成算法的实现方法及装置。
背景技术
采用多核并行计算是提升处理器性能的重要方式,因此出现了包括海量并行结构运算单元的GPU,GPU已经发展成为了并行度高、多线程、计算快捷及内存带宽大的高性能通用处理器。GPU体系结构在组成上分为三层:第一层由若干个线程处理器簇(TPC,Thread Preocessing Cluster)组成,第二层由多个流多处理器(SM,Streaming Multiprocessor)组成,第三层为构成SM的流处理器(SP,Stream Processor),也可以称为线程处理器。SM作为GPU的一个任务执行和调度单元,主要负责执行GPU分发的线程指令,而SP是GPU中最基本的指令执行单元,其执行的操作由所属的SM控制。
2006年NVIDIA公司推出了计算机一体设备结构(CUDA,Compute Unified Device Architecture)可编程平台,可以实现GPU线程的调度。在CUDA可编程平台架构下,GPU执行的最小单位是线程(thread),数个线程(thread)可以组成一个线程块(block)。一个block中的thread可以存取同一共享内存且同步。执行相同程序的thread,组成栅格(grid),不同的grid可以执行不同的程序。
相对于中央处理器(CPU),GPU具有强大的数据处理能力,在浮点运算及并行计算等方面,提高几十倍甚至数百倍于CPU的性能。GPU具有几千个核,有很高的并行性,但是每个SM相比CPU处理能力比较弱。CPU计算能力强,但是核数比较少。因此,采用何种CPU和GPU协作方式进行构架,完成各种计算,以提高系统整体计算能力,是一个亟待解决的问题。
椭圆曲线公钥密码算法(SM2),是中国国家密码管理局发布的密码算法。SM2明确规定了SM2算法的数字签名算法、公钥加密算法及密钥交换协议。其中,SM2算法的数字签名算法包括生成算法和验证算法,应用在消息传输过程中可靠性的消息传输及使用消息的合法者验证。在SM2的数字签名算法中,包括一一对应的公钥和私钥,其中,私钥用于待签名消息生成数字签名,公钥用于对数字签名进行验证。签名者采用私钥进行待签名消息M的数字签名生成算法计算,得到待签名消息M的数字签名;验证者采用公钥对接收的待签名消息M进行数字签名验证计算,验证待签名消息M的数字签名是否匹配,如果匹配,确认接收的待签名消息M是正确的。
SM2算法的数字签名生成算法具体过程如下。
设待签名消息为M,为了取得待签名消息M的数字签名(r,s),作为签名者的用户A应实现以下运算步骤:
A1:置ZA‖M表示ZA与M的拼接;
A2:计算将e的数据类型转换为整数;
A3:产生随机数k∈[1,n-1];
A4:计算椭圆曲线点(x,y)=[k]G;
A5:计算r=(e+x)mod n,若r=0或r+k=n则返回A3;
A6:计算s=((1+dA)-1·(k-r·dA))mod n,若s=0则返回A3;
A7:将r、s的数据类型转换为字节串,待签名消息M的签名为(r,s)。
其中:ZA:关于用户A的可辨别标识、部分椭圆曲线系统参数和用户公钥A的杂凑值;HV():消息摘要长度为v比特的密码杂凑函数;G:椭圆曲线上的一个基点,其阶为素数;n:基点G的阶;dA:用户A的私钥;[k]G:椭圆曲线上点G的k倍点,即,[k]G=G+G…+G,表示k个G在椭圆曲线域上相加。
目前,在实现SM2数字签名生成算法时,是由CPU按照上述步骤顺序计算,最终得到待签名消息M的数字签名,由于在计算过程中计算量比较大,比较费时,得到数字签名的效率比较低。
发明内容
有鉴于此,本发明提供一种结合CPU和GPU的SM2数字签名生成算法的实现方法,该方法能够提高SM2数字签名生成算法的计算效率。
本发明还提供一种结合CPU和GPU的SM2数字签名生成算法实现装置,该装置能够提高SM2数字签名生成算法的计算效率。
为达到上述目的,本发明实施的技术方案具体是这样实现的:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院数据与通信保护研究教育中心,未经中国科学院数据与通信保护研究教育中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310445395.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:机械手装置上的移送滚轮与轨道状态的检测装置
- 下一篇:含有瓜氨酸的佐剂组合物