基于向量指令的大整数乘法实现方法及装置

    公开(公告)号:CN104461449B

    公开(公告)日:2018-02-27

    申请号:CN201410645961.8

    申请日:2014-11-14

    Abstract: 一种基于向量指令的大整数乘法实现方法及装置,将大整数乘法的被乘数和乘数分别拆分为一个或多个向量长度整数,计算这些整数相乘,并对所有乘积求和;计算两个向量长度的整数相乘时,将所有向量乘法指令产生的积向量按照指定的次序组成两条加法进位链,利用带进位的向量加法指令,将每次向量相加产生的进位作为下一个向量加法指令的输入,消除链中所有加法进位,只产生两个加法进位,将其加回,得到两个向量长度整数的乘积。特别地,若被乘数和乘数的长度都小于向量长度的1/n,将n组整数相乘合并为一次向量长度整数相乘,计算吞吐量提升n倍。基于以上大整数乘法方法,还公开了一种基于Intel Xeon Phi协处理器的高速大整数乘法装置。本发明减少了大整数乘法需要的指令数,降低了计算延迟,提高了计算吞吐量。

    基于向量指令的大整数乘法实现方法及装置

    公开(公告)号:CN104461449A

    公开(公告)日:2015-03-25

    申请号:CN201410645961.8

    申请日:2014-11-14

    Abstract: 一种基于向量指令的大整数乘法实现方法及装置,将大整数乘法的被乘数和乘数分别拆分为一个或多个向量长度整数,计算这些整数相乘,并对所有乘积求和;计算两个向量长度的整数相乘时,将所有向量乘法指令产生的积向量按照指定的次序组成两条加法进位链,利用带进位的向量加法指令,将每次向量相加产生的进位作为下一个向量加法指令的输入,消除链中所有加法进位,只产生两个加法进位,将其加回,得到两个向量长度整数的乘积。特别地,若被乘数和乘数的长度都小于向量长度的1/n,将n组整数相乘合并为一次向量长度整数相乘,计算吞吐量提升n倍。基于以上大整数乘法方法,还公开了一种基于Intel Xeon Phi协处理器的高速大整数乘法装置。本发明减少了大整数乘法需要的指令数,降低了计算延迟,提高了计算吞吐量。

    SM2数字签名生成算法的实现方法及装置

    公开(公告)号:CN103546288A

    公开(公告)日:2014-01-29

    申请号:CN201310445395.1

    申请日:2013-09-25

    Abstract: 一种SM2数字签名生成算法的实现方法及装置,本发明采用CPU和GPU协作方式进行SM2数字签名生成算法计算,将SM2数字签名生成算法中的计算椭圆曲线点步骤在GPU中进行预先计算得到结果并存储在设置的存储器中,将对用户私钥增1求逆计算在CPU中进行预先计算得到结果并存储在设置的存储器中,然后由CPU根据SM2数字签名生成算法计算步骤对待签名消息顺序计算时,调用存储器存储的预先计算得到的结果,从而节省了对待签名消息进行数字签名的计算时间,提高了SM2数字签名生成算法的计算效率。更进一步,在CPU中可以同时对多个不同用户私钥分别进行用户私钥增1后求逆并存储在存储器中,进一步提高计算效率。

    基于GPU的SM2算法实现方法及装置

    公开(公告)号:CN103532710B

    公开(公告)日:2016-11-30

    申请号:CN201310459734.1

    申请日:2013-09-26

    Abstract: 本发明公开了一种基于GPU的SM2算法的实现方法及装置,本发明由CPU接收SM2算法计算请求,调用GPU,由GPU执行该SM2算法后得到SM2算法计算结果,反馈给CPU。在具体实现上,CPU可以接收多个SM2算法计算请求并按照计算类型分类后,分别调用执行不同计算类型的SM2算法计算请求的GPU线程组,由相应的GPU线程组完成对应计算类型的SM2算法计算,得到SM2算法计算结果,反馈给CPU。GPU在计算SM2算法的过程中,都是并行计算执行,提高了SM2算法的计算效率。

Patent Agency Ranking