【技术实现步骤摘要】
【国外来华专利技术】用于密码运算的协处理器
[0001]本专利技术涉及密码硬件,特别是用于执行密码运算的协处理器。协处理器可以用作密码片上系统的一部分。还描述了执行密码运算的方法。
技术介绍
[0002]最近,连接到计算机网络的设备的数量激增。例如,互联网连接正在从诸如台式和膝上型计算机的计算设备扩展到诸如机动车辆、灯泡、冰箱、医疗设备、恒温器和监控系统的日常物品内的嵌入式系统。电信链路允许许多低成本计算设备在世界范围内报告传感器数据和/或受控制。这些所连接设备的一个问题在于,它们通常容易受到攻击和恶意控制。例如,成百上千的嵌入式设备可能会受到恶意方的攻击,并被用于实施分布式拒绝服务攻击。在许多情况下,由于密码协议的实现不良或有限,很容易获得对这些设备的控制。随着这些所连接设备的数量和流行度的增长,如何保护它们是一个悬而未决的问题。
[0003]保护所连接计算设备时的另一考虑因素是未来使用量子计算进行攻击的可能性。多年来,主要在理论方面关注量子计算机。然而,量子计算机的研究实现正在迅速发展。当前可用的是具有50和72个量子位的量子计算机,并且有许多研究小组正在积极研究更高量子位的机器。鉴于量子计算未来可能的现实,最近的工作表明,许多众所周知的公钥密码系统可被足够强大的量子计算机破解。
[0004]在实现密码函数尤其是那些“后量子”安全的密码函数时,存在这些函数中许多是资源密集型的挑战。例如,许多密码函数涉及使用长位长度值的复杂数学函数。这些函数通常会消耗大量处理器周期,并且在低资源嵌入式设备内的实现存在困难。另外,随着数 ...
【技术保护点】
【技术特征摘要】
【国外来华专利技术】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中任一项所述的协处理器,其中,所述协处理器是通过至少一个处理单元将函数标识符写入所述一组控制寄存器...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。