当前位置: 首页 > 专利查询>北京大学专利>正文

基于GPU与CPU异构结构的椭圆曲线数字签名方法技术

技术编号:26307590 阅读:78 留言:0更新日期:2020-11-10 20:08
本发明专利技术公布了一种椭圆曲线数字签名方法,采用基于CPU和GPU异构结构的分工协作方式进行ECDSA数字签名生成算法的计算,对费马小定理进行变形,使用该变形方法优化椭圆曲线数字签名的模逆运算在GPU中的实现步骤,批量进行椭圆曲线数字签名中椭圆曲线的多倍点计算,再根据GPU计算得到的结果,由CPU将待签名消息根据椭圆曲线数字签名计算步骤顺序进行计算,充分利用GPU架构的并行性,提高ECDSA数字签名生成算法的计算效率,从而节省待签名消息进行数字签名的计算时间。

【技术实现步骤摘要】
基于GPU与CPU异构结构的椭圆曲线数字签名方法
本专利技术涉及信息安全中的公钥密码技术,特别涉及一种基于中央处理器(CPU)和图形处理器(GPU,GraphicsProcessingUnit)的椭圆曲线数字签名算法(ECDSA)的实现方法。
技术介绍
采用多核并行计算是提升处理器性能的重要方式,因此出现了包括海量并行结构运算单元的GPU(图形处理器,GraphicsProcessingUnit),GPU已经发展成为了并行度高、多线程、计算快捷及内存带宽大的高性能通用处理器。GPU体系结构在组成上分为三层:第一层由若千个线程处理器簇(TPC,ThreadPreocessingCluster)组成,第二层由多个流多处理器(SM,StreamingMultiprocessor)组成,第三层为构成SM的流处理器(SP,StreamProcessor),也可以称为线程处理器。SM作为GPU的一个任务执行和调度单元,主要负责执行GPU分发的线程指令,而SP是GPU中最基本的指令执行单元,其执行的操作由所属的SM控制。2006年NVIDIA公司推出本文档来自技高网...

【技术保护点】
1.一种椭圆曲线数字签名方法,采用基于CPU和GPU异构结构的分工协作方式进行ECDSA数字签名生成算法的计算,对费马小定理进行变形,使用该变形方法优化椭圆曲线数字签名的模逆在GPU中的实现步骤,批量进行椭圆曲线数字签名中椭圆曲线的多倍点计算,再根据GPU计算得到的结果,由CPU将待签名消息根据椭圆曲线数字签名计算步骤顺序进行计算,从而节省待签名消息进行数字签名的计算时间;/n椭圆曲线数字签名的输入为:参数组D=(q,F

【技术特征摘要】
1.一种椭圆曲线数字签名方法,采用基于CPU和GPU异构结构的分工协作方式进行ECDSA数字签名生成算法的计算,对费马小定理进行变形,使用该变形方法优化椭圆曲线数字签名的模逆在GPU中的实现步骤,批量进行椭圆曲线数字签名中椭圆曲线的多倍点计算,再根据GPU计算得到的结果,由CPU将待签名消息根据椭圆曲线数字签名计算步骤顺序进行计算,从而节省待签名消息进行数字签名的计算时间;
椭圆曲线数字签名的输入为:参数组D=(q,Fq,a,b,P,n),其中Fq为素域,其阶为q;a,b为椭圆曲线方程y2=x3+ax+b的参数,点P为基点,是域中的两个元素组成的椭圆曲线上的已知点,P=(xp,yp),P点有素数阶n;输出为签名(r,s);
基于CPU和GPU异构结构的椭圆曲线数字签名方法包括如下步骤:
1)CPU每次等待一段时间,汇总这段时间内收到的签名请求,即获得i条待签名消息m,作为待计算数据;
2)CPU将i条数据传送给GPU;
3)通过GPU并行执行ECDSA算法中的计算椭圆曲线多倍点运算,对于第j条数据(j∈[1,i]),选择随机数kj∈[0,n-1],计算(xj,yj)=kjP;(xj,yj)即为多倍点结果;具体执行操作:
将椭圆曲线多倍点的计算步骤拆解为有限域运算层基础操作,包括:点乘、点加、倍点;点乘再分解为点加和倍点;点加和倍点再分解为更低层次的有限域运算,包括:模乘;模平方;模加;模逆;
在GPU平台使用费马小定理进行模逆算法的计算;具体为:
根据费马小定理:假如z是质数,t是整数,且t和z互质,那么tz-1≡1modz;
推导得到:tz-2≡1modz,即tz-1≡tz...

【专利技术属性】
技术研发人员:郁莲王晓天
申请(专利权)人:北京大学
类型:发明
国别省市:北京;11

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

1