[发明专利]基于GPU的SM2数字签名与验签快速实现方法及系统有效
申请号: | 202110613751.0 | 申请日: | 2021-06-02 |
公开(公告)号: | CN113221193B | 公开(公告)日: | 2022-07-29 |
发明(设计)人: | 邱卫东;张崴城;王杨德;田昊;郭捷;唐鹏 | 申请(专利权)人: | 上海交通大学 |
主分类号: | G06F21/64 | 分类号: | G06F21/64 |
代理公司: | 上海交达专利事务所 31201 | 代理人: | 王毓理;王锡麟 |
地址: | 200240 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 gpu sm2 数字签名 快速 实现 方法 系统 | ||
1.一种基于GPU的SM2数字签名与验签快速实现方法,其特征在于,通过在CPU端对待签名信息或待验签信息进行预处理,得到包含公钥私钥、随机数、压缩函数SM3预计算与GPU初始化以及查找表的预处理结果,然后在GPU端对预处理得到的结果进行Jacobian加重射影坐标系的映射后,进一步进行模运算优化处理和压缩函数优化的签名处理或验签处理;
所述的模运算优化处理是指:通过对签名/验签任务进行的大量大整数模运算中消耗大量计算资源的模乘运算和模除运算进行优化,降低计算复杂度,其中模乘运算优化采用蒙哥马利化简算法与蒙哥马利乘法作为模乘运算的替代优化算法;模除运算优化采用采用费马小定理与扩展欧几里得算法相结合的方式作为模除运算的替代优化算法;
所述的压缩函数优化的签名处理或验签处理是指:采用GPU结构优化技术对SM2算法中的杂凑算法SM3进行优化,具体包括:指令优化与寄存器复用,其中指令优化使用OpenCL内置的bitselect函数和rotate函数对SM2算法中采用的SM3杂凑算法运算的逻辑运算和循环移位运算进行优化;寄存器复用在SM3杂凑算法运算进行64步消息扩展阶段,采用16个字的寄存器空间复用64个字;
所述的签名处理由CPU端预生成的查找表配合在GPU端进行梳状签名法运算以得到签名结果,验签处理在GPU端通过二进制展开法运算以得到验签结果。
2.根据权利要求1所述的基于GPU的SM2数字签名与验签快速实现方法,其特征是,所述的预处理是指:在CPU端对①SM2数字签名任务或②验签任务进行GPU初始化以及公钥私钥、随机数、压缩函数SM3的预计算,以方便后续GPU端的运算;对③签名任务,进一步进行[k]倍点查找表的预计算以提高后续GPU签名处理的效率。
3.根据权利要求1或2所述的基于GPU的SM2数字签名与验签快速实现方法的系统,其特征在于,包括:用于降低整体运算复杂度的椭圆曲线表达方程坐标系映射模块、用于获取模乘运算、模除运算的最佳运行效率的模运算计算复杂度优化模块、用于实现消息杂凑算法的性能优化的压缩函数优化模块和用于提高签名与验签运算效率的椭圆曲线多倍点运算优化模块,其中:椭圆曲线表达方程坐标系映射模块接收CPU端预处理的数据信息进行行椭圆曲线的坐标轴映射处理并输出映射后的椭圆曲线至后续签名/验签任务的计算,模运算计算复杂度优化模块负责对椭圆曲线多倍点运算中包含的大量大整数模运算进行优化处理并高速输出大整数模运算的结果至椭圆曲线多倍点运算优化模块,压缩函数优化模块负责对SM2签名/验签任务中的SM3压缩函数运算进行优化处理并输出SM3压缩运算结果至椭圆曲线多倍点运算优化模块,椭圆曲线多倍点运算优化模块接收映射后的椭圆曲线信息进行SM2签名/验签任务中多倍点运算的优化处理,结合大整数模运算结果与SM3杂凑运算结果输出最终SM2签名/验签结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海交通大学,未经上海交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110613751.0/1.html,转载请声明来源钻瓜专利网。