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

基于CUDA的椭圆曲线多标量乘法加速方法、系统及存储介质技术方案

技术编号:42008234 阅读:33 留言:0更新日期:2024-07-12 12:28
本发明专利技术公开了一种基于CUDA的椭圆曲线多标量乘法加速方法、系统及存储介质,包括:根据CPU硬件信息动态调整线程总数;将大规模椭圆曲线多标量乘法的原始运算任务依据标量切分多个子运算任务;根据已硬编码的特殊点以及标量映射规则分别建立硬编码特殊点预计算表和映射规则预计算表;以分层规约的形式并行计算桶点聚合的中间量并且对其进行并行累加得到当前轮次的子运算任务结果;判断当前轮次是否为最后一轮,若是则执行下一步,若否则返回上一步;对结果进行循环更新。本发明专利技术通过标量预处理和特殊点预计算,大幅减少桶的数量,并对串行阶段,以分层规约的形式实现并行,提升了整体性能。本发明专利技术的时间复杂度相较于现有方法更低。

【技术实现步骤摘要】

本专利技术属于密码,具体涉及一种基于cuda的椭圆曲线多标量乘法加速方法、系统及存储介质。


技术介绍

1、椭圆曲线多标量乘法(msm),指n个点做标量乘并累加,可表示为它在密码学领域中有着广泛的应用,例如零知识证明、数字签名等。由于多标量乘法在实际场景下的规模(n)一般很大,传统cpu上的朴素算法耗时无法满足低延迟的需求,可利用gpu的并行计算能力,降低整体耗时。

2、cuda是由nvidia开发的并行计算平台和编程模型,它允许开发者使用标准的c/c++编程语言在nvidiagpu上进行高性能计算。

3、pippenger算法被广泛应用于高效计算椭圆曲线多标量乘法,如图1所示。pippenger算法分为轮,每轮的(2s-1)个桶被初始化为无穷远点对于每轮分割出的s比特子标量ki,j,将对应椭圆曲线点pi填入下标为ki,j的桶中(若桶中已有值,则更新为点加结果)。填入完成后,当轮结果(其中)。最后再将每轮的结果规约回

4、目前,椭圆曲线多标量乘法的大部分gpu加速方案都基于pippenger算法,但只是针对个子任务,或是将本文档来自技高网...

【技术保护点】

1.一种基于CUDA的椭圆曲线多标量乘法加速方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于CUDA的椭圆曲线多标量乘法加速方法,其特征在于,所述步骤3中硬编码特殊点的预计算表为:21Pi,22Pi,…,2yPi

3.根据权利要求2所述的基于CUDA的椭圆曲线多标量乘法加速方法,其特征在于,所述步骤3中根据标量映射规则建立映射规则预计算表包括:

4.根据权利要求1所述的基于CUDA的椭圆曲线多标量乘法加速方法,其特征在于,所述步骤4包括如下子步骤:

5.根据权利要求4所述的基于CUDA的椭圆曲线多标量乘法加速方法,其特征在于,...

【技术特征摘要】

1.一种基于cuda的椭圆曲线多标量乘法加速方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的基于cuda的椭圆曲线多标量乘法加速方法,其特征在于,所述步骤3中硬编码特殊点的预计算表为:21pi,22pi,…,2ypi

3.根据权利要求2所述的基于cuda的椭圆曲线多标量乘法加速方法,其特征在于,所述步骤3中根据标量映射规则建立映射规则预计算表包括:

4.根据权利要求1所述的基于cuda的椭圆曲线多标量乘法加速方法,其特征在于,所述步骤4包括如下子步骤:

5.根据权利要求4所述的基于c...

【专利技术属性】
技术研发人员:陈宇田彭聪罗敏冯琦郭勇立何德彪
申请(专利权)人:武汉大学
类型:发明
国别省市:

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

1