[发明专利]基于求余器的运算方法及装置有效
申请号: | 201711386984.1 | 申请日: | 2017-12-20 |
公开(公告)号: | CN109947393B | 公开(公告)日: | 2021-11-02 |
发明(设计)人: | 王千喜;张庆胜;王绍刚 | 申请(专利权)人: | 航天信息股份有限公司 |
主分类号: | G06F7/52 | 分类号: | G06F7/52 |
代理公司: | 北京工信联合知识产权代理有限公司 11266 | 代理人: | 郭一斐;叶万东 |
地址: | 100195 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 求余器 运算 方法 装置 | ||
本发明公开了一种基于求余器的运算方法及装置,该方法包括:获取第一乘数与第二乘数后,调用所述乘法器计算所述第一乘数与所述第二乘数的乘积;分别调用所述第一加法器、所述第二加法器、所述第三加法器和所述第四加法器计算所述乘积与对应的设定值的和值;调用所述选择器根据四个和值从所述第一加法器、所述第二加法器、所述第三加法器和所述第四加法器中选出选定加法器;根据所述选定加法器对应的和值和所述存储器中保存的最大值确定所述乘积对应的部分余数。该方案相对于现有技术,求余器的运算压力大大减小,运算效率大大提高,功耗大大降低。
技术领域
本发明涉及计算机技术领域,尤指一种基于求余器的运算方法及装置。
背景技术
随着计算机运算速度的迅速提高和Internet分布式计算能力的日益强大,经典的RSA公钥密码体制在密钥长度为1024比特下已经越来越不安全。目前为了保证用户的安全,增加RSA密钥长度是必然趋势。但是随着密钥长度从1024比特向2048比特,甚至4096比特方向发展的过程中,安全系统能增加其固有的安全性,但是加解密效率会越来越低,同时对计算机系统的要求也会提高。为此,需要具有更高执行效率的RSA硬件系统来提高加解密系统的效率。
而在RSA加密算法中,求余器是硬件算法设计的重中之重,只要提高了求余器的执行效率就可极大提高RSA算法的效率。目前的基于求余器的运算方法中,乘数每次乘2后得到的乘积都要与模进行比较,如果小于模,则会继续乘2,如果大于模,则求出乘积与模的余数,从而得到加密的密码。该运算方法在密钥长度越来越长的情况下,求余器的运算压力非常大,运算效率很低,功耗很大。
发明内容
本发明实施例提供一种基于求余器的运算方法及装置,用以解决现有技术中存在的运算压力非常大,运算效率很低,功耗很大的问题。
根据本发明实施例,提供一种基于求余器的运算方法,所述求余器包括乘法器、第一加法器、第二加法器、第三加法器、第四加法器、存储器和选择器,所述方法包括:
获取第一乘数与第二乘数后,调用所述乘法器计算所述第一乘数与所述第二乘数的乘积;
分别调用所述第一加法器、所述第二加法器、所述第三加法器和所述第四加法器计算所述乘积与对应的设定值的和值;
调用所述选择器根据四个和值从所述第一加法器、所述第二加法器、所述第三加法器和所述第四加法器中选出选定加法器;
根据所述选定加法器对应的和值和所述存储器中保存的最大值确定所述乘积对应的部分余数。
可选的,所述求余器还包括模寄存器、和累加器,所述方法包括:
根据所述第一乘数的位数逐次调用所述累加器累加所述模寄存器中的模;
将得到的各个累加值保存在所述存储器中。
具体的,根据所述第一乘数的位数逐次调用所述累加器累加所述模寄存器中的模,具体包括:
调用所述累加器将所述模寄存器中的模与所述累加器中的数值相加;
将得到的结果保存在所述存储器中;
将累加次数加1后,确定所述累加次数的数值是否小于所述第一乘数的位数对应的最大值;
若确定所述累加次数的数值小于所述第一乘数的位数对应的最大值,则执行所述调用所述累加器将所述模寄存器中的模与所述累加器中的数值相加的步骤;
若确定所述累加次数的数值等于所述第一乘数的位数对应的最大值,则停止调用所述累加器。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于航天信息股份有限公司,未经航天信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711386984.1/2.html,转载请声明来源钻瓜专利网。