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

    公开(公告)号:CN118295628A

    公开(公告)日:2024-07-05

    申请号:CN202410374777.8

    申请日:2024-03-29

    Applicant: 武汉大学

    Abstract: 本发明公开了一种基于CUDA的椭圆曲线多标量乘法加速方法、系统及存储介质,包括:动态调整线程总数t;以4为步长,将椭圆曲线多标量乘的n个点切分为#imgabs0#个预计算子任务,基于偏移集合计算每个偏移位置处的点集合生成预计算表;将λ比特的标量ki切分为λ个单比特子标量ki,j,切分出以#imgabs1#个计算子任务计算得到每个计算子任务结果;将步骤3切分出的#imgabs2#个计算子任务平均分配给t个线程,每个线程内对#imgabs3#个椭圆曲线点做点加运算;对步骤4得到的#imgabs4#个计算子任务结果做并行求和,直到得到λ个求和结果;对结果进行循环更新。本发明通过预计算查表减少椭圆曲线上的点加计算,提升椭圆曲线多标量乘法效率。

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

    公开(公告)号:CN118312135A

    公开(公告)日:2024-07-09

    申请号:CN202410374774.4

    申请日:2024-03-29

    Applicant: 武汉大学

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

Patent Agency Ranking