技术领域
本申请涉及密码学技术领域,尤其涉及一种用于获取同源密码的模乘结果的运算装置。
背景技术
如今,公钥密码学是互联网安全的基础,允许双方在不需要提前交换密钥信息的情况下也能安全通信。
目前所有广泛应用的有限域运算系统均是基于大整数因式分解困难(比如RivestShamir Adleman,即RSA算法系统)或者是在某些群中计算离散对数困难(比如Ellipticcurve cryptography,即ECC算法系统))来实现的。由于ECC算法系统在同样安全级别的前提下比RSA算法系统占用资源更少,其在公钥密码系统中地位越来越重要。但是在量子计算机的计算资源下,ECC算法或RSA算法系统均无法提供很好的安全保障。同时还存在算法复杂度高、运算速度过慢以及延时高的缺点。
发明内容
本申请提供了一种用于获取同源密码的模乘结果的运算装置,以解决现有运算装置延时高、运算速度过慢的问题。
本申请公开了一种用于获取同源密码的模乘结果的运算装置,包括数据获取单元、数据处理单元、乘加单元、约简单元以及后处理单元:
获取有限数域F
乘加单元被配置为对所述有限数域F
所述将所述有限数域F
所述乘加单元应用Karatsuba算法进行计算。
约简单元被配置为对所述乘加计算结果Fc执行约简计算,得到约简结果,所述约简结果包括商q
所述约简单元由若干个约简计算模块并联组成,每个所述约简计算模块均包括第一数据选择器、第一乘法器、第一加法器、第二乘法器以及第二加法器;
所述第一乘法器的输出端与所述第二乘法器的输入端连接;
所述第二乘法器的输出端与所述第一加法器的输入端连接;
所述第一加法器的输出端与所述第二加法器的输入端连接;
后处理单元被配置为对所述约简结果执行后处理操作,得到模乘结果。
所述第一数据选择器被配置为对所述乘加结果F
若F
若F
所述第一乘法器被配置为将所述高位乘加结果c
所述高位乘加结果c
其中F
w
所述第二乘法器被配置为将来自第一乘法器的所述运算结果t,进行移位操作,得到商q
所述第一加法器被配置为对所述计算结果进行幂方操作,得到余数r
第二加法器被配置为对所述余数r
若r
若r
所述后处理单元包括若干个第二数据选择器和一个第三加法器;
所述第二数据选择器的输出端并联连接所述第三加法器的输入端。
所述第二数据选择器被配置为分别获取所述约简结果,并行计算;
若r
若r
所述第二数据选择器还被配置为分别获取所述约简结果,并行计算;
判断r
所述第三加法器计算还被配置为:
若r
若r
由以上技术方案可知,本申请提供了一种用于获取同源密码的模乘结果的运算装置,包括数据获取单元、数据处理单元、乘加单元、约简单元以及后处理单元,数据获取单元被配置为获取待处理的有限数域F
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请的一种用于同源密码的超低延时有限域运算方法的工作示意图;
图2为本申请的所述约简单元的架构示意图;
图3为本申请的所述约简计算模块的架构示意图;
图4为本申请的所述后处理单元的架构示意图;
图5为本申请的所述获取同源密码的模乘结果的运算装置的算法示意图。
具体实施方式
下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的系统和方法的示例。
如图1所示,一种用于获取同源密码的模乘结果的运算装置,包括数据获取单元、数据处理单元、乘加单元、约简单元以及后处理单元:
数据获取单元被配置为获取有限数域F
乘加单元被配置为对所述有限数域F
所述有限数域F
其中0<i<n-1;
a
b
a和b为素数,e
所述将所述有限数域F
所述乘加单元应用Karatsuba算法进行计算。更为具体的是,通过使用karastuba乘法,可以使得本申请的运算装置的运算复杂度有效降低。
约简单元被配置为对所述乘加计算结果Fc执行约简计算,得到约简结果,所述约简结果包括商q
如图2所示,所述约简单元由若干个约简计算模块并联组成,更为具体的是,图中所示IBR
所述第一乘法器的输出端与所述第二乘法器的输入端连接;
所述第二乘法器的输出端与所述第一加法器的输入端连接;
所述第一加法器的输出端与所述第二加法器的输入端连接;
所述第一数据选择器被配置为对所述乘加结果F
若F
若F
所述第一乘法器被配置为将所述高位乘加结果c
所述高位乘加结果c
其中F
w
所述第一加法器被配置为对所述计算结果进行幂方操作,得到余数r
第二加法器被配置为对所述余数r
若r
若r
更为具体的是,通过若干个约简计算模块并行处理数据,能够有效减少延时,降低复杂度。
所述约简计算模块的功能为求解R除以c
将c分为高位c
通过令c
通过对q的低位(即
在硬件中,对模2中进行幂方操作。
计算r-R'和q+1,只是通过判断r-R'的正负来决定最终的输出结果。此时商数q已经求出来,只要余数的高位和低位拼接起来就可以得到r的最终结果。从硬件上来看,如果不插流水线,整个所述约简计算模块的关键路径为两个乘法器和两个加法器,而本发明可以通过插入流水线可以对时钟频率进行有效提高。
后处理单元被配置为对所述约简结果执行后处理操作,得到模乘结果。
所述第一数据选择器被配置为对所述乘加结果F
若F
若F
所述第一乘法器被配置为将所述高位乘加结果c
所述高位乘加结果c
其中F
w
所述第二乘法器被配置为将来自第一乘法器的所述运算结果t,进行移位操作,得到商q
所述第一加法器被配置为对所述计算结果进行幂方操作,得到余数r
第二加法器被配置为对所述余数r
若r
若r
如图4所示,所述后处理单元包括若干个第二数据选择器和一个第三加法器;
所述第二数据选择器的输出端并联连接所述第三加法器的输入端。
所述第二数据选择器被配置为分别获取所述约简结果,并行计算;
判断r
所述第三加法器计算被配置为:
若r
若r
所述第二数据选择器还被配置为分别获取所述约简结果,并行计算;
判断r
所述第三加法器计算还被配置为:
若r
若r
更为具体的是,所述后处理单元的工作过程为:约简部分算出来的结果c
其具体过程为:
并行计算所有可能的值,即r
如图5所示,图5为本申请的所述获取同源密码的模乘结果的运算装置的算法示意图。具体工作过程为:将所述有限数域F
为了与以前的SIKE协议作比较,通过对NIST安全等级为5的SIKEp751,在XilinxVirtex-7xc7vx690tffg1157-3的设备上进行综合测试。采用相同的同源密码,使用所述用于获取同源密码的模乘结果的运算装置与现有的蒙哥马利运算装置进行比较,结果如表1所示。
表1:运算结果对比表
如表1所示,本申请的运算装置的吞吐量是蒙哥马利运算装置的十倍以上。而且在延时方面,本申请的运算装置的延时周期为16,相比于蒙哥马利运算装置少了一个数量级以上,更短的延时意味着本申请能够比蒙哥马利运算装置更快计算出模乘的结果。具有高吞吐量,低延时的优点。
由以上技术方案可知,本申请提供了一种用于获取同源密码的模乘结果的运算装置,包括数据获取单元、数据处理单元、乘加单元、约简单元以及后处理单元,数据获取单元被配置为获取待处理的同源密码,数据处理单元被配置为根据所述同源密码,获取有限数域F
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
机译: 用于密码学,尤其是RSA公钥密码学的模块化算术方法,其中使用一种算法和运算符而不是调用它们的操作数的同余性
机译: 识别编码人乳头状瘤病毒18型L1和L2蛋白酶蛋白的DNA序列,用于表达DNA序列的矢量,一种获取病毒合适颗粒的方法,并根据当前流通的当前DNA密码子的正确性,从当前的计算机中提取出正确的数字,获取病毒适合颗粒的方法,方向处理类型,DNA虚拟代码当前使用病毒的类型
机译: 一种新的屏蔽方案,用于保护侧道攻击,该方法可保护密码算法的线性运算