首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种基于浮点数计算能力加速SM2国密算法的方法_南京邮电大学_202410318131.8 

申请/专利权人:南京邮电大学

申请日:2024-03-20

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

公开(公告)号:CN117908835B

主分类号:G06F7/544

分类号:G06F7/544;G06F7/499

优先权:

专利状态码:有效-授权

法律状态:2024.05.17#授权;2024.05.07#实质审查的生效;2024.04.19#公开

摘要:本发明公开了一种基于浮点数计算能力加速SM2国密计算的方法,涉及信息安全领域;其通过将256比特的SM2素数域大整数拆分成5个52比特的字,利用改进的积和融加指令计算得到每两个字乘积的高低位子积,并存储在双精度浮点数的尾数部分;根据一定次序累加被乘数A的每一个字与乘数B的每一个字乘积到对应位置;利用掩码操作将浮点数的符号位和指数位转化成零,用来存储累加过程产生的进位,有效节省浮点数存储空间和减少寄存器的占用。本发明所述的有益效果为:通过提出的SM2大整数表示方法,减少表示字的数量、乘加运算的次数,降低计算复杂度,从而大大提升计算速度。

主权项:1.一种基于浮点数计算能力加速SM2国密算法的方法,其特征在于,所述方法包括以下步骤:步骤1、数据划分:将SM2素数域Fp上长度均为n比特的被乘数A与乘数B各分为M段单字表示,分别记为;其中每段的长度为w比特,并将数据储存在GPU共享内存当中;步骤2、乘法运算:被乘数A与乘数B的多精度乘法转换成个单字乘法,得到的乘积结果C的长度不超过2n比特;使用改进的积和融加指令依次计算各分段的乘积结果,并分成高位子积和低位子积,分别保存在两个双精度浮点数的52位尾数部分;所述改进的积和融加指令表示为: , ,其中,为积和融加指令;x、y为积和融加指令的两个乘数,其数据类型均为双精度浮点数;为高位子积,为低位子积;步骤3、掩码操作:对于步骤2中得到的高位子积和低位子积进行掩码操作,使得双精度浮点数的符号位和指数位全为0,并将其转换成uint64_t格式的二进制形式,然后在整数域中进行求和;步骤4、快速约减:利用快速约减公式将10个乘法过程中存放每一列累加运算结果的累加器缩减至5个累加器,将乘积结果约减至长度为266比特的结果,接着进行进位消解操作得到在SM2的素数域Fp上模乘运算的结果;所述快速约减公式为,其中: ;以上公式中,至表示快速约减之前的10个累加器中的值,表示快速约减之后5个累加器中的值,表示经过快速约减之后长度为266比特的乘积结果。

全文数据:

权利要求:

百度查询: 南京邮电大学 一种基于浮点数计算能力加速SM2国密算法的方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。