一种基于模幂运算的数据处理方法和装置的制造方法

文档序号:8430495阅读:177来源:国知局
一种基于模幂运算的数据处理方法和装置的制造方法
【技术领域】
[0001] 本发明涉及数据安全的技术领域,特别涉及一种基于模幂运算的数据处理方法和 装直。
【背景技术】
[0002] 在公钥密码算法(RSA、ECC、SM2等)应用领域,经常使用蒙哥马利模乘运算单元来 进行高效的算法实现,自然数需要先转化为蒙哥马利模乘所需的数据格式才能进行相应的 运算,在数据格式的转换过程中首先要实现蒙哥马利预计算R*R mod N,而预计算的速度直 接影响了公钥算法的性能。
[0003] 在现有技术中,一般采用软件运算来计算R和R的乘积对N取模的值,然而,当R 的位长较长时,所述运算过程将消耗较长的运算时间。
[0004] 因此,需要提出一种新的基于模幂运算的数据处理方法和装置,以提高数据处理 的效率。

【发明内容】

[0005] 本发明解决的问题是提出一种新的基于模幂运算的数据处理方法和装置,以提高 数据处理的效率。
[0006] 本发明的实施例提供了一种基于模幂运算的数据处理方法,所述方法包括:将模 长n存入第一运算寄存器,并将模数N存入第二运算寄存器;获取R对第二运算寄存器中的 N取模的结果X,将X存入第三运算寄存器,其中,R=2 n ;调用第一模加运算器对所述第三运 算寄存器的值进行模加运算,获取2R对N取模的结果Y,并将Y存入第四运算寄存器;调用 模幂运算器对第四运算寄存器的值进行模幂运算,获取R*R对N取模的结果Z存入第五运 算寄存器,其中,所述模幂运算器的幂指数为所述第一运算寄存器的值,所述模幂运算器的 幂底数为所述第四运算寄存器的值,所述模幂运算器的模数为所述第二运算寄存器的值。
[0007] 可选地,所述获取R对N取模的结果包括:计算N的反码调用第二模加运算器 计算所述反码N和1进行模加运算后的值,所述第二模加运算器的模数为所述第二运算寄 存器的值。
[0008] 可选地,调用模减运算器计算N的反码N。
[0009] 可选地,所述获取R对N取模的结果包括:将R/2存入第六运算寄存器;调用第三 模加运算器对所述第六运算寄存器的值进行模加运算,其中,所述第三模加运算器的加数 和被加数分别为所述第六运算寄存器的值,所述第三模加运算器的模数为所述第二运算寄 存器的值。
[0010] 可选地,所述模幂运算器为蒙哥马利模幂运算器。
[0011] 本发明的实施例还提供了一种基于模幂运算的数据处理装置,所述装置包括:数 据获取单元,用于将模长n存入第一运算寄存器,并将模数N存入第二运算寄存器;取模运 算器,用于获取R对第二运算寄存器中的N取模的结果X,将X存入第三运算寄存器,其中, R=2n ;第一模加运算器,用于对所述第三运算寄存器的值进行模加运算,获取2R对N取模的 结果Y,并将Y存入第四运算寄存器;模幂运算器,用于对第四运算寄存器的值进行模幂运 算,获取R*R对N取模的结果Z存入第五运算寄存器,其中,所述模幂运算器的幂指数为所 述第一运算寄存器的值,所述模幂运算器的幂底数为所述第四运算寄存器的值,所述模幂 运算器的模数为所述第二运算寄存器的值。
[0012] 可选地,所述取模运算器包括:反码运算器,用于计算N的反码第二模加运算 器,用于计算所述反码反和1进行模加运算后的值,所述第二模加运算器的模数为所述第二 运算寄存器的值。
[0013] 可选地,所述反码运算器为模加运算器。
[0014] 可选地,所述取模运算器包括:数据获取子单元,用于将R/2存入第六运算寄存 器;第三模加运算器,用于对所述第六运算寄存器的值进行模加运算,其中,所述第三模加 运算器的加数和被加数分别为所述第六运算寄存器的值,所述第三模加运算器的模数为所 述第二运算寄存器的值。
[0015] 可选地,所述模幂运算器为蒙哥马利模幂运算器。
[0016] 与现有技术相比,本发明的实施例具有以下优点:在上述技术方案中,采用模加运 算器、模减运算器和模乘运算器等硬件模块(模幂运算器可选择软件或者硬件实现)来计算 R和R的乘积对N取模的值,减少了运算的执行时间,从而提高了数据处理效率。
【附图说明】
[0017] 图1是本发明实施例中基于模幂运算的数据处理方法的流程图;
[0018] 图2是本发明实施例中基于模幂运算的数据处理装置的结构示意图;
[0019] 图3是本发明一实施例中取模运算器的结构示意图;
[0020] 图4是本发明另一实施例中取模运算器的结构示意图。
【具体实施方式】
[0021] 为详细说明本发明的技术内容、构造特征、所实现目的及效果,下面结合附图对本 发明的【具体实施方式】做详细的说明。在下面的描述中阐述了很多具体细节以便于充分理解 本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,因此本发明不受 下面公开的具体实施例的限制。
[0022] 图1是本发明实施例中基于模幂运算的数据处理方法的流程图。如图1所示,所 述方法包括步骤S101至S104。
[0023] 步骤S101,将模长n存入第一运算寄存器,并将模数N存入第二运算寄存器
[0024] 步骤S102,获取R对第二运算寄存器中的N取模的结果X,将X存入第三运算寄存 器,其中,R=2 n。
[0025] 在本发明的一个实施例中,所述获取R对N取模的结果X包括:步骤a和步骤b。
[0026] 由于R = 2n,那么R对N取模的结果等于R-N。
[0027] 又由于模长等于 r
【主权项】
1. 一种基于模幂运算的数据处理方法,其特征在于,包括: 将模长η存入第一运算寄存器,并将模数N存入第二运算寄存器; 获取R对第二运算寄存器中的N取模的结果X,将X存入第三运算寄存器, 其中,R=2n; 调用第一模加运算器对所述第三运算寄存器的值进行模加运算,获取2R对N取模的结 果Y,并将Y存入第四运算寄存器; 调用模幂运算器对第四运算寄存器的值进行模幂运算,获取R*R对N取模的结果Z存 入第五运算寄存器,其中,所述模幂运算器的幂指数为所述第一运算寄存器的值,所述模幂 运算器的幂底数为所述第四运算寄存器的值,所述模幂运算器的模数为所述第二运算寄 存器的值。
2. 如权利要求1所述的方法,其特征在于,所述获取R对N取模的结果包括: 计算N的反码 调用第二模加运算器计算所述反码N和1进行模加运算后的值,所述第二模加运算器 的模数为所述第二运算寄存器的值。
3. 如权利要求2所述的方法,其特征在于,调用模减运算器计算N的反码N。
4. 如权利要求1所述的方法,其特征在于,所述获取R对N取模的结果包括: 将R/2存入第六运算寄存器; 调用第三模加运算器对所述第六运算寄存器的值进行模加运算,其中,所述第三模加 运算器的加数和被加数分别为所述第六运算寄存器的值,所述第三模加运算器的模数为所 述第二运算寄存器的值。
5. 如权利要求1所述的方法,其特征在于,所述模幂运算器为蒙哥马利模幂运算器。
6. -种基于模幂运算的数据处理装置,其特征在于,包括: 数据获取单元,用于将模长η存入第一运算寄存器,并将模数N存入第二运算寄存器; 取模运算器,用于获取R对第二运算寄存器中的N取模的结果X,将X存入第三运算寄 存器,其中,R=2n; 第一模加运算器,用于对所述第三运算寄存器的值进行模加运算,获取2R对N取模的 结果Y,并将Y存入第四运算寄存器; 模幂运算器,用于对第四运算寄存器的值进行模幂运算,获取R*R对N取模的结果Z存 入第五运算寄存器,其中,所述模幂运算器的幂指数为所述第一运算寄存器的值,所述模幂 运算器的幂底数为所述第四运算寄存器的值,所述模幂运算器的模数为所述第二运算寄 存器的值。
7. 如权利要求6所述的装置,其特征在于,所述取模运算器包括: 反码运算器,用于计算N的反码 第二模加运算器,用于计算所述反码N和1进行模加运算后的值,所述第二模加运算器 的模数为所述第二运算寄存器的值。
8. 如权利要求7所述的装置,其特征在于,所述反码运算器为模加运算器。
9. 如权利要求6所述的装置,其特征在于,所述取模运算器包括: 数据获取子单元,用于将R/2存入第六运算寄存器; 第三模加运算器,用于对所述第六运算寄存器的值进行模加运算,其中, 所述第三模加运算器的加数和被加数分别为所述第六运算寄存器的值,所 述第三模加运算器的模数为所述第二运算寄存器的值。
10.如权利要求6所述的装置,其特征在于,所述模幂运算器为蒙哥马利模幂运算器。
【专利摘要】本发明提供了一种基于模幂运算的数据处理方法和装置,其中,所述方法包括:将模长n存入第一运算寄存器,并将模数N存入第二运算寄存器;获取R对第二运算寄存器中的N取模的结果X,将X存入第三运算寄存器,其中,R=2n;调用第一模加运算器对所述第三运算寄存器的值进行模加运算,获取2R对N取模的结果Y,并将Y存入第四运算寄存器;调用模幂运算器对第四运算寄存器的值进行模幂运算,获取R*R对N取模的结果Z存入第五运算寄存器,其中,所述模幂运算器的幂指数为所述第一运算寄存器的值,所述模幂运算器的幂底数为所述第四运算寄存器的值,所述模幂运算器的模数为所述第二运算寄存器的值。所述方法和装置能够提高了数据处理的效率。
【IPC分类】G06F7-72
【公开号】CN104750457
【申请号】CN201310754512
【发明人】李清, 张志敏, 闫守礼, 王立辉, 单伟君
【申请人】上海复旦微电子集团股份有限公司
【公开日】2015年7月1日
【申请日】2013年12月31日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1