用于密码运算的协处理器制造技术

技术编号:32868504 阅读:16 留言:0更新日期:2022-04-02 11:56
本文描述的某些实例涉及一种允许处理单元高效地执行密码运算的协处理器。所述协处理器具有算术单元,所述算术单元被配置为使用从存储器加载的位序列来执行离散二进制算术。所述协处理器可被配置用于某些函数的快速低功率计算,所述函数包括用于密码运算的低级构建块。这些函数可包括布尔逻辑和整数算术。所述协处理器具有能够由所述处理单元写入以控制所述协处理器的一组控制寄存器。一个或多个源和目的地的地址能够由所述协处理器计算以实现灵活运算。所述协处理器能够允许快速地计算许多高级密码运算,包括“后量子”安全的那些运算。算。算。

【技术实现步骤摘要】
【国外来华专利技术】用于密码运算的协处理器


[0001]本专利技术涉及密码硬件,特别是用于执行密码运算的协处理器。协处理器可以用作密码片上系统的一部分。还描述了执行密码运算的方法。

技术介绍

[0002]最近,连接到计算机网络的设备的数量激增。例如,互联网连接正在从诸如台式和膝上型计算机的计算设备扩展到诸如机动车辆、灯泡、冰箱、医疗设备、恒温器和监控系统的日常物品内的嵌入式系统。电信链路允许许多低成本计算设备在世界范围内报告传感器数据和/或受控制。这些所连接设备的一个问题在于,它们通常容易受到攻击和恶意控制。例如,成百上千的嵌入式设备可能会受到恶意方的攻击,并被用于实施分布式拒绝服务攻击。在许多情况下,由于密码协议的实现不良或有限,很容易获得对这些设备的控制。随着这些所连接设备的数量和流行度的增长,如何保护它们是一个悬而未决的问题。
[0003]保护所连接计算设备时的另一考虑因素是未来使用量子计算进行攻击的可能性。多年来,主要在理论方面关注量子计算机。然而,量子计算机的研究实现正在迅速发展。当前可用的是具有50和72个量子位的量子计算机,并且有许多研究小组正在积极研究更高量子位的机器。鉴于量子计算未来可能的现实,最近的工作表明,许多众所周知的公钥密码系统可被足够强大的量子计算机破解。
[0004]在实现密码函数尤其是那些“后量子”安全的密码函数时,存在这些函数中许多是资源密集型的挑战。例如,许多密码函数涉及使用长位长度值的复杂数学函数。这些函数通常会消耗大量处理器周期,并且在低资源嵌入式设备内的实现存在困难。另外,随着数据和通信两者的端到端加密变得普遍,这些密码函数也必须以高速重复执行。要安全就是要慢。
[0005]US 2008/0019524 Al描述了一种用于嵌入式系统的低功率AES密码电路的装置。所述装置包括:接口电路,所述接口电路用于输入和输出数据以及与通用处理器协作的控制命令;代码处理单元,所述代码处理单元用于按添加回合密钥运算、字节替换密钥运算、移位行运算和混合列运算的运算次序来执行回合运算;数据存储器,所述数据存储器用于存储通过接口电路输入的数据和在代码处理单元处处理的运算结果;数据选择单元,所述数据选择单元用于选择往返于代码处理单元和存储单元的数据输入/输出;以及控制单元,所述控制单元用于控制代码处理单元、存储单元和数据选择单元,使得对从接口电路输入的数据重复地执行设定回合的回合运算,并且在最后一个回合期间对移位行运算结果值和秘密密钥执行添加回合密钥运算。
[0006]期望提供密码运算的有效实现方式。例如,期望提供可在低资源嵌入式系统内和/或在高速数据处理运算中使用,同时在后量子环境中提供抵抗攻击的能力的实现方式。

技术实现思路

[0007]本专利技术的各方面在所附独立权利要求中陈述。然后本专利技术的某些变型在随附从属权利要求中陈述。
附图说明
[0008]现将参考附图仅以举例的方式来描述本专利技术的实例,在附图中:
[0009]图1是示出根据一个实例的用于密码运算的协处理器的示意图;
[0010]图2是示出根据一个实例的密码片上系统的示意图;
[0011]图3是示出根据一个实例的耦接到计算设备内的系统总线的用于密码运算的协处理器的示意图;
[0012]图4是示出根据一个实例的算术引擎的运算的示意图;
[0013]图5A是示出根据一个实例的多维数据阵列的示意图;
[0014]图5B是示出根据一个实例的算术单元可如何迭代地应用于一组多维数据阵列的示意图;
[0015]图6是示出根据一个实例的源数据可如何在输入时移位的示意图;
[0016]图7是示出根据一个实例的主处理单元和辅助处理单元可如何通过系统总线访问数据的示意图;
[0017]图8是示出一组示例性控制寄存器的表格;
[0018]图9是示出根据一个实例的执行密码运算的方法的流程图;并且
[0019]图10是用于与示例性布尔运算一起使用的表格。
具体实施方式
[0020]本文所述的某些实例涉及一种允许处理单元高效地执行密码运算的协处理器。协处理器具有算术单元,所述算术单元被配置为使用从存储器加载的位序列来执行离散二进制算术。这些位序列可以是位块,并且因此协处理器可称为一种形式的“位块传送器”,即用于移动和操纵存储器中的位块的硬件辅助系统(其中术语“位块传送器”来自施乐奥拓计算机的“BitBLT”(位块传送)微代码指令)。协处理器可被配置用于某些函数的快速低功率计算,所述函数包括用于密码运算的低级构建块。这些函数可包括布尔逻辑和/或整数算术。这样,处理单元可有效地将用于密码运算的资源密集型计算卸载到协处理器,所述协处理器作为专用且安全的硬件设备进行操作。协处理器可提供从处理单元的角度来看是原子级的低级位运算。因此,协处理器可允许快速地计算许多高级密码运算,包括“后量子”安全的那些运算。
[0021]在本文所述的某些实例中,协处理器可用于从互联网服务器到嵌入式设备的广泛多种计算系统中。在一种实现方式中,协处理器可提供为较广泛密码片上系统(SoC)的一部分,它可允许许多低成本嵌入式设备实现“后量子”密码学并提供“后量子”安全系统。例如,由协处理器的算术引擎实现的函数可允许例如通过卸载诸如整数加法、减法和乘法的许多常见低级二进制逻辑函数来快速地执行基于代码或格的密码运算。协处理器可被配置或预编程有一组可用函数,所述可用函数可由处理单元通过协处理器的控制寄存器中的函数标志或变量来选择。协处理器可能够通过避免加载和解释处理单元所需的不同指令来更快速地计算某些函数。例如,所述一组可用函数可在可编程微电路系统中硬配置并且被配置为访问源寄存器和目的地寄存器布置中的数据,其中数据是基于由地址生成器针对算术引擎的每次迭代生成的存储器地址提取和存储的。当与嵌入式和资源有限的目标一起使用时,密码处理器可能特别有益。
[0022]图1示出密码协处理器110的实例100。在图1中,密码协处理器110包括一组控制寄存器115、控制逻辑120、算术引擎125和地址生成器130。密码协处理器110可使用编程的现场可编程门阵列(FPGA)或专用集成电路(ASIC)来实现。密码协处理器110的部件可使用硬件描述语言(HDL)来配置。在某些情况下,密码协处理器110的不同部件可使用专用逻辑电路系统、ASIC、FPGA和固件指令中的一者或多者来实现。在一种情况下,密码协处理器110的功能性可通过微代码和固件更新中的一者或多者来提供。在这种情况下,可能需要对微代码进行认证来确保安全。
[0023]密码协处理器110被设计用于与外部或主处理单元一起使用。这在图2的实例200中示出,其中密码协处理器110通过系统总线230通信地耦接到中央处理单元(CPU)220。系统总线230可包括数据总线和地址总线中的一者或多者。图2的实例200示出形成密码片上系统240的一部分的密码协处理器110和中央处理单元220。这可嵌入到从智能卡到服务器主板的一系列设备中。替代地,密码协处理器11本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于密码运算的协处理器,所述协处理器通信地耦接到外部处理单元,所述协处理器包括:一组控制寄存器,所述一组控制寄存器能够由所述外部处理单元写入;算术引擎,所述算术引擎用于对存储在一组源寄存器中的二进制数据执行函数,并且将所述函数的输出存储在至少一个目的地寄存器中,所述函数被应用于存储在所述一组源寄存器内的表示整数值的一组相应位序列,所述函数选自包括布尔逻辑和整数算术中的一者或多者的函数集;地址生成器,所述地址生成器用于确定用于将来自存储器的二进制数据加载到所述一组源寄存器中的一组源地址以及用于将来自所述至少一个目的地寄存器的二进制数据存储在存储器中的至少一个目的地地址;以及控制逻辑,所述控制逻辑用于基于存储在所述一组控制寄存器中的值控制所述算术引擎和所述地址生成器的运算,其中,控制器被配置为基于所述一组控制寄存器中的至少一个值从所述函数集选择所述函数。2.根据权利要求1所述的协处理器,其中,至少所述一组控制寄存器能够作为存储器映射资源由所述外部处理单元访问。3.根据权利要求1或权利要求2所述的协处理器,包括:内部存储器,所述内部存储器是所述外部处理单元能够访问的;其中,所述一组源地址和所述至少一个目的地地址包括所述内部存储器内的地址,并且其中,所述内部存储器能够作为存储器映射资源由所述外部处理单元访问。4.根据权利要求1或权利要求2所述的协处理器,包括:外部存储器接口,所述外部存储器接口用于将所述协处理器通信地耦接到外部存储器,所述外部存储器是所述外部处理单元的存储器,其中,所述一组源地址和所述至少一个目的地地址包括所述外部存储器内的地址。5.根据权利要求1至4中任一项所述的协处理器,其中,所述控制逻辑在一组迭代内应用所述算术引擎和所述地址生成器以对与多个源相关联的二进制数据执行运算并输出与目的地相关联的二进制数据,其中,在所述一组迭代内,所述地址生成器确定与每个源的数据矩阵相关联的一组源地址和与所述目的地的数据矩阵相关联的一组目的地地址,并且其中,在所述一组迭代内,算术单元被应用于所述多个源的所述数据矩阵以输出目的地的所述数据矩阵。6.根据权利要求5所述的协处理器,其中,所述地址生成器基于存储在所述一组控制寄存器内的值确定表示相应数据矩阵内的可编程路径的源地址和目的地地址。7.根据权利要求6所述的协处理器,其中,存储在所述一组控制寄存器内的所述值指示:所述多个源的起始地址;以及所述数据矩阵的两个维度中的每一个的正增量或负增量,所述增量是针对所述算术引擎的迭代应用的。8.根据权利要求1至7中任一项所述的协处理器,其中,地址生成器被配置为确定内部
双端口存储器内的地址,并且所述一组源寄存器包括三个内部源寄存器。9.根据权利要求1至8中任一项所述的协处理器,包括:一组影子寄存器,所述一组影子寄存器对应于所述一组源寄存器,其中,响应于将来自所述一组源地址的数据复制到所述一组源寄存器中的相应源寄存器的指令,所述协处理器被配置为将所述一组源寄存器内的先前值存储在所述一组影子寄存器中。10.根据权利要求9所述的协处理器,其中,对于给定源,所述协处理器被配置为从对应的源寄存器和影子寄存器的组合读取加窗数据部分,并且其中,所述一组控制寄存器指示用于控制数据的加窗部分的位置的移位参数。11.根据权利要求1至10中任一项所述的协处理器,其中,整数算术包括整数乘法、整数减法和整数加法中的一者或多者。12.根据权利要求1至11中任一项所述的协处理器,其中,所述函数集包括用于基于代码和基于格的密码学中的一者或多者的子函数。13.根据权利要求1至12中任一项所述的协处理器,其中,所述协处理器是通过至少一个处理单元将函数标识符写入所述一组控制寄存器...

【专利技术属性】
技术研发人员:马尔库尤哈尼
申请(专利权)人:PQ盾牌有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1