一种基于蒙哥马利模乘的数据处理方法和装置.pdf

上传人:zhu****69 文档编号:1637656 上传时间:2018-06-30 格式:PDF 页数:6 大小:302.29KB
返回 下载 相关 举报
摘要
申请专利号:

CN201310754369.7

申请日:

2013.12.31

公开号:

CN104750455A

公开日:

2015.07.01

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 7/523申请日:20131231|||公开

IPC分类号:

G06F7/523

主分类号:

G06F7/523

申请人:

上海复旦微电子集团股份有限公司

发明人:

李清; 张志敏; 闫守礼; 张纲; 魏长征; 刘丹

地址:

200433上海市杨浦区国泰路127号复旦国家大学科技园4号楼

优先权:

专利代理机构:

北京集佳知识产权代理有限公司11227

代理人:

骆苏华

PDF下载: PDF下载
内容摘要

本发明提供了一种基于蒙哥马利模乘的数据处理方法和装置,其中,所述方法包括:分别获取第一存储器中的第一数A的位长a和第二存储器中的第二数B的位长b;根据所述位长a和b确定模数N,并将所述模数N写入第一运算寄存器,其中,N的位长n大于或等于a与b的和;调用蒙哥马利模乘器来执行第一存储器的值和第二存储器的值之间的模乘运算,所述模乘运算的模数为所述第一运算寄存器的值;将所述模乘运算的结果作为所述第一数A和第二数B的乘积输出。所述方法和装置能够提高加密处理的效率。

权利要求书

权利要求书
1.  一种基于蒙哥马利模乘的数据处理方法,其特征在于,包括:
分别获取第一存储器中的第一数A的位长a和第二存储器中的第二数B的位长b;
根据所述位长a和b确定模数N,并将所述模数N写入第一运算寄存器,其中,N的位长n大于或等于a与b的和;
调用蒙哥马利模乘器来执行第一存储器的值和第二存储器的值之间的模乘运算,所述模乘运算的模数为所述第一运算寄存器的值;
将所述模乘运算的结果作为所述第一数A和第二数B的乘积输出。

2.  如权利要求1所述的方法,其特征在于,所述第一数A和第二数B分别为RSA加密算法中计算公钥的大素数P和Q。

3.  如权利要求1所述的方法,其特征在于,所述第一数A和第二数B分别为RSA加密算法中计算欧拉函数的大素数P-1和Q-1。

4.  一种基于蒙哥马利模乘的数据处理装置,其特征在于,包括:
位长获取器,用于分别获取第一存储器中的第一数A的位长a和第二存储器中的第二数B的位长b;
处理器,用于根据所述位长a和b确定模数N,并将所述模数N写入第一运算寄存器,其中,N的位长n大于或等于a与b的和;
蒙哥马利模乘器,用于执行第一存储器的值和第二存储器的值之间的模乘运算,所述模乘运算的模数为所述第一运算寄存器的值;
输出单元,用于将所述模乘运算的结果作为所述第一数A和第二数B的乘积输出。

5.  如权利要求4所述的装置,其特征在于,所述第一数A和第二数B分别为RSA加密算法中计算公钥的大素数P和Q。

6.  如权利要求4所述的装置,其特征在于,所述第一数A和第二数B分别为RSA加密算法中计算欧拉函数的大素数P-1和Q-1。

说明书

说明书一种基于蒙哥马利模乘的数据处理方法和装置
技术领域
本发明涉及数据加密的技术领域,特别涉及一种基于蒙哥马利模乘的数据处理方法和装置。
背景技术
在数据的加密处理过程中,往往会涉及两个长整数的乘积运算,在现有技术中,一般直接通过软件进行乘积运算,然而,由于长整数的位长较大,那么在计算两个位长较大的整数的乘积时将消耗较长的运算时间,这将直接影响加密处理的效率。
因此,需要提出一种新的基于蒙哥马利模乘的数据处理方法和装置,以提高加密处理的效率。
发明内容
本发明解决的问题是提出一种新的基于蒙哥马利模乘的数据处理方法和装置,以提高加密处理的效率。
本发明的实施例提供了一种基于蒙哥马利模乘的数据处理方法,所述方法包括:分别获取第一存储器中的第一数A的位长a和第二存储器中的第二数B的位长b;根据所述位长a和b确定模数N,并将所述模数N写入第一运算寄存器,其中,N的位长n大于或等于a与b的和;调用蒙哥马利模乘器来执行第一存储器的值和第二存储器的值之间的模乘运算,所述模乘运算的模数为所述第一运算寄存器的值;将所述模乘运算的结果作为所述第一数A和第二数B的乘积输出。
可选地,所述第一数A和第二数B分别为RSA加密算法中计算公钥的大 素数P和Q。
可选地,所述第一数A和第二数B分别为RSA加密算法中计算欧拉函数的大素数P-1和Q-1。
本发明的实施例还提供了一种基于蒙哥马利模乘的数据处理装置,所述装置包括:位长获取器,用于分别获取第一存储器中的第一数A的位长a和第二存储器中的第二数B的位长b;处理器,用于根据所述位长a和b确定模数N,并将所述模数N写入第一运算寄存器,其中,N的位长n大于或等于a与b的和;蒙哥马利模乘器,用于执行第一存储器的值和第二存储器的值之间的模乘运算,所述模乘运算的模数为所述第一运算寄存器的值;输出单元,用于将所述模乘运算的结果作为所述第一数A和第二数B的乘积输出。
可选地,所述第一数A和第二数B分别为RSA加密算法中计算公钥的大素数P和Q。
可选地,所述第一数A和第二数B分别为RSA加密算法中计算欧拉函数的大素数P-1和Q-1。
与现有技术相比,本发明的实施例具有以下优点:在上述方案中,利用蒙哥马利模乘器执行第一数A和第二数B的模乘运算,以获取所述第一数A和第二数B的乘积,这避免直接通过软件进行乘积运算,减少了获取所述第一数A和第二数B的乘积的时间,从而提高了加密处理的效率。
附图说明
图1是本发明实施例中基于蒙哥马利模乘的数据处理方法的流程图;
图2是本发明实施例中基于蒙哥马利模乘的数据处理装置的结构示意图。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,下面结 合附图对本发明的具体实施方式做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,因此本发明不受下面公开的具体实施例的限制。
图1是本发明实施例中基于蒙哥马利模乘的数据处理方法的流程图。如图1所示,所述方法包括步骤S101至S104。
步骤S101,分别获取第一存储器中的第一数A的位长a和第二存储器中的第二数B的位长b。
在本发明的一个实施例中,所述第一数A和第二数B可以分别为RSA加密算法中计算公钥的大素数P和Q。
在本发明的另一个实施例中,所述第一数A和第二数B也可以分别为RSA加密算法中计算欧拉函数的大素数P-1和Q-1。
步骤S102,根据所述位长a和b确定模数N,并将所述模数N写入第一运算寄存器。
在本发明的实施例中,模数N等于2n-1,所述模数N的位长n可以大于a与b的和,也可以等于a与b的和,例如N=2a+b-1。
需要说明的是,由于A小于或等于2a-1,B小于或等于2b-1,那么当所述模数N的位长n可以大于或等于a和b的和时,A和B的乘积将小于N。
步骤S103,调用蒙哥马利模乘器来执行第一存储器的值和第二存储器的值之间的模乘运算,所述模乘运算的模数为所述第一运算寄存器的值。
在本发明的实施例中,需要计算所述第一存储器的值和第二存储器的值之间的乘积,即所述第一数A和第二数B的乘积,那么可以调用蒙哥马利模乘器来计算A和B的乘积,具体地,所述蒙哥马利模乘运算的模数为所述第一运算寄存器的值,即所述模乘运算的模数为N。
如前所述,当所述模数N的位长n可以大于或等于a和b的和时,A和B的乘积将小于N,那么A和B的乘积对N取模的结果仍为A和B的乘积。
由此可见,调用蒙哥马利模乘器来执行第一存储器的值和第二存储器的 值之间的模乘运算所获得的结果实际上就是A和B的乘积。但是,调用蒙哥马利模乘器来获取A和B的乘积相对于现有技术中直接通过软件相乘来获取A和B的乘积效率更高,计算时间更短。
需要说明的是,所述模乘运算的模参数W等于1。具体地,在本发明的实施例中,因为计算大数乘法时,模为全1,对应的N0(N0是模的最低32位)为0xFFFFFFFF,此时模参数W=(-N0-1mod232)=1。
后续可以通过步骤S104将所述模乘运算的结果输出。
具体地,步骤S104,将所述模乘运算的结果作为所述第一数A和第二数B的乘积输出。
本发明的实施例还提供了一种基于蒙哥马利模乘的数据处理装置,请参考图2,所述基于蒙哥马利模乘的数据处理装置200包括:位长获取器210,用于分别获取第一存储器中的第一数A的位长a和第二存储器中的第二数B的位长b;处理器220,用于根据所述位长a和b确定模数N,并将所述模数N写入第一运算寄存器,其中,N的位长n大于或等于a和b的和;蒙哥马利模乘器230,用于执行第一存储器的值和第二存储器的值之间的模乘运算,所述模乘运算的模数为所述第一运算寄存器的值;输出单元240,用于将所述模乘运算的结果作为所述第一数A和第二数B的乘积输出。
在本发明的一个实施例中,所述第一数A和第二数B可以分别为RSA加密算法中计算公钥的大素数P和Q。
在本发明的另一个实施例中,所述第一数A和第二数B也可以分别为RSA加密算法中计算欧拉函数的大素数P-1和Q-1。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。

一种基于蒙哥马利模乘的数据处理方法和装置.pdf_第1页
第1页 / 共6页
一种基于蒙哥马利模乘的数据处理方法和装置.pdf_第2页
第2页 / 共6页
一种基于蒙哥马利模乘的数据处理方法和装置.pdf_第3页
第3页 / 共6页
点击查看更多>>
资源描述

《一种基于蒙哥马利模乘的数据处理方法和装置.pdf》由会员分享,可在线阅读,更多相关《一种基于蒙哥马利模乘的数据处理方法和装置.pdf(6页珍藏版)》请在专利查询网上搜索。

本发明提供了一种基于蒙哥马利模乘的数据处理方法和装置,其中,所述方法包括:分别获取第一存储器中的第一数A的位长a和第二存储器中的第二数B的位长b;根据所述位长a和b确定模数N,并将所述模数N写入第一运算寄存器,其中,N的位长n大于或等于a与b的和;调用蒙哥马利模乘器来执行第一存储器的值和第二存储器的值之间的模乘运算,所述模乘运算的模数为所述第一运算寄存器的值;将所述模乘运算的结果作为所述第一数A和。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1