支持用于密码/认证实现的可调谐对准的方法和装置制造方法及图纸

技术编号:38888246 阅读:18 留言:0更新日期:2023-09-22 14:14
本文的一些实施例涉及支持用于密码/认证实现的可调谐对准的方法和装置。一种密码系统包括块传输引擎和密码映射单元。块传输引擎被配置为接收多个加密计数器值和多个分组属性。块传输引擎还被配置为从多个计数器值确定加密计数器值子集,加密计数器值子集要用于加密来自多个传入分组中的传入分组子集。存储除了加密计数器值子集之外的加密计数器值以供稍后加密使用。密码映射单元被配置为从块传输引擎接收多个传入分组和加密计数器值子集。密码映射单元还被配置为用加密计数器值子集加密所接收的多个传入分组中的传入分组子集。所接收的多个传入分组中的传入分组子集。所接收的多个传入分组中的传入分组子集。

【技术实现步骤摘要】
支持用于密码/认证实现的可调谐对准的方法和装置
[0001]相关申请的交叉引用
[0002]本申请是非临时申请,并且要求于2022年3月7日提交的申请号为63/317,104的临时申请的权利和优先权,该临时申请通过引用整体并入本文。

技术介绍

[0003]很多应用(例如,密码操作/算法)以流方式来传输/接收数据。密码算法可以用硬件和/或软件实现,以加密和保护敏感数据。当在处理单元处被接收到时,以流方式传输的数据可能是非对准的。例如,经由例如高级加密标准(AES)处理在处理单元处接收的用于加密操作的128位块可能与硬件数据总线非对准,从而导致例如在重新格式化和重新对准数据方面的附加复杂性。在使用交错总线结构的多管道实现中,多个数据流可以在同一周期或不同周期内在单个总线上交错。这种多管道实现中使用的过程很复杂,具体取决于特定应用,例如,构建适用于AES

Galois计数器模式(GCM)的块、处理由块提供的附加数据、重新格式化和变换输出数据等等,并且可能需要附加的存储器,从而导致附加的延迟。不幸的是,这些特定的应用可能表现出可预测的行为和模式,这可能会使AES

GCM受到攻击,例如篡改、窥探、密码系统的无效化等,仅举几例。此外,从未对准的传入数据流构建适用于AES

GCM的块的过程可能会因附加的处理要求而变得更加复杂(例如,用于防止在AES

GCM变换引擎中建立的实现),从而导致性能下降。
[0004]传统上,在针对AES

GCM的块构建阶段期间,文本字节和附加认证数据(AAD)字节的延迟导致超过硬件总线宽度的数据累加。在一些常规的系统中,为了避免潜在的性能下降,这些数据的累加在分组末尾时被排出,并且在某些情况下,可以在数据管线中插入气泡周期以排出多余数据的累加。不幸的是,对于某些高性能应用可能无法插入气泡周期,例如在外围组件互连快速(PCIe)和计算快速链路(CXL)中使用的完整性和数据加密(IDE)协议。此处,CXL是用于高速中央处理器(CPU)到设备和CPU到存储器连接的开放标准,其是专为高性能数据中心计算机而设计的。CXL可以建立在PCIe物理和电气接口上。
[0005]相关技术的前述示例和与其相关的限制旨在是说明性的而不是排他性的。通过阅读说明书和研究附图,相关技术的其他限制将变得很清楚。
附图说明
[0006]为了更完整地理解本实施例及其优点,现在以举例的方式结合附图参考以下描述,在附图中:
[0007]图1示出了一个加密和解密单元的示例;
[0008]图2示出了根据实施例的一个方面的密码系统的示例;
[0009]图3A

图3C示出了根据实施例的一个方面的图2的密码系统的操作的非限制性示例;
[0010]图4示出了根据实施例的一个方面的图2的密码系统的操作的另一非限制性示例;
[0011]图5A

图5C示出了根据实施例的一个方面的认证架构的示例;
[0012]图6示出了根据实施例的一个方面的图5的RHASH内核的示例;以及
[0013]图7示出了根据实施例的一个方面的将加密计数器值与未对准的传入数据分组进行对准以用于加密的流程图的示例。
具体实施方式
[0014]以下公开提供了很多不同的实施例或示例,以用于实现主题的不同特征。下面描述组件和布置的具体示例以简化本公开。当然,这些仅仅是示例并且不旨在进行限制。此外,本公开可以在各种示例中重复附图标记和/或字母。这种重复是为了简单和清楚的目的,并且其本身并不规定所讨论的各种实施例和/或配置之间的关系。
[0015]在更详细地描述各种实施例之前,应当理解,实施例不是限制性的,因为这些实施例中的元素可以变化。同样应当理解,本文中描述和/或图示的特定实施例具有可以容易地与特定实施例分离并且可选地与若干其他实施例中的任何一个组合或替代本文中描述的若干其他实施例中的任何一个中的元素的元素。还应当理解,本文中使用的术语是为了描述某些概念的目的,并且该术语不旨在进行限制。除非另外定义,否则本文中使用的所有技术和科学术语具有与实施例所属领域中通常理解的相同的含义。
[0016]应当理解,本文中公开的执行指令的任何模块、组件或设备可以包括或以其他方式可以访问用于存储信息的一种或多种非暂态计算机/处理器可读存储介质,诸如计算机/处理器可读指令、数据结构、程序模块和/或其他数据。非暂态计算机/处理器可读存储介质的示例的非详尽列表包括磁盒、磁带、磁盘存储器或其他磁存储设备、光盘(诸如光盘只读存储器(CD

ROM)、数字视频光盘或数字多功能光盘(即,DVD)、Blu

ray Disc
TM
或其他光学存储)、以任何方法或技术实现的易失性和非易失性的可移动和不可移动介质、随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存或其他存储器技术。任何这样的非暂态计算机/处理器存储介质可以是设备的一部分或由设备可访问或可连接到设备。用于实现本文中描述的应用或模块的计算机/处理器可读/可执行指令可以由这种非暂态计算机/处理器可读存储介质存储或以其他方式保持。
[0017]实施例涉及通过重构密码变换逻辑和/或通用散列计算逻辑以使得系统能够接受未对准的传入数据块,来减轻密码系统中具有未对准的传入数据块的某些挑战。在一些非限制性示例中,重构消除了对构建块的需要,这将在下面更详细地描述。可以理解,重构可以消除对过度供应密码引擎的需要,从而简化对数据交错的支持。
[0018]在整个申请中,关于密码操作/算法(例如,AES

GCM)的非限制性示例描述了所提出的数据对准/非对准/未对准方法,仅用于说明目的,而不应当被解释为限制实施例的范围。如本文中描述的用于数据对准/非对准/未对准的相同或类似方法也可以在其他应用中实现,包括但不限于人工智能(AI)、机器学习(ML)应用等,或者在如本领域技术人员所理解的其他类型的密码算法中实现。
[0019]图1示出了用于实现AES

GCM算法的加密/解密系统的框图的非限制性示例。如图1的示例所示,加密过程涉及生成一系列块。例如,可以生成随机数或序列101。在一个非限制性示例中,随机序列101的长度可以是96位。在一个非限制性示例中,在称为AES

CTR的“计数器”操作模式下,与随机序列101一起使用例如32位的数据矢量(其也可以是随机数)以创建唯一的128位计数器值111。在一个非限制性示例中,级联(concatenation)单元110可以
将数据矢量级联到随机序列101,例如,32位的数据矢量可以作为最低有效位被级联到随机序列101。所生成的序列111(以下称为计数器值)针对每个接收分组被递增。例如,计数器值111可以由计数器121递增以生成用于第一分组的另一计数器值121本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种密码系统,包括:块传输引擎,被配置为接收多个加密计数器值和多个分组属性;从所述多个计数器值确定加密计数器值子集,所述加密计数器值子集要用于加密来自多个传入分组的传入分组子集;存储除了所述加密计数器值子集之外的加密计数器值以供稍后加密使用;以及密码映射单元,被配置为从所述块传输引擎接收所述多个传入分组和所述加密计数器值子集;用所述加密计数器值子集加密来自所接收的所述多个传入分组的所述传入分组子集。2.根据权利要求1所述的密码系统,其中所述多个加密计数器值由所述块传输引擎在第一周期接收,并且其中所述多个加密计数器值由所述块传输引擎在所述第一周期存储在存储器组件中。3.根据权利要求2所述的密码系统,其中在所述第一周期之后发生的第二周期,所述块传输引擎被配置为从所述存储器组件中取回所存储的所述多个加密计数器值,并且其中要用于加密所述传入分组子集的所述加密计数器值子集的所述确定在所述第二周期发生。4.根据权利要求3所述的密码系统,其中在所述第二周期之后发生的第三周期,所述块传输引擎被配置为取回被存储的、除了所述加密计数器值子集的子集之外的所述加密计数器值。5.根据权利要求4所述的密码系统,其中在所述第三周期,所述块传输引擎被配置为接收附加的多个加密计数器值并且将所述附加的多个加密计数器值存储在所述存储器组件中。6.根据权利要求1所述的密码系统,还包括被配置为生成多个计数器值的计数器生成单元。7.根据权利要求6所述的密码系统,其中所述计数器生成单元被配置为基于随后递增的矢量数据来生成计数器值。8.根据权利要求1所述的密码系统,还包括被配置为加密多个计数器值以生成所述多个加密计数器值的加密引擎。9.根据权利要求8所述的密码系统,其中所述加密引擎被配置为使用高级加密标准AES处理。10.根据权利要求1所述的密码系统,其中所述块传输引擎被配置为将所述多个加密计数器值与所述多个传入分组中的分组进行对准。11.根据权利要求1所述的密码系统,其中所述多个传入分组中的分组是未对准的。12.一种方法,包括:接收多个加密计数器值和多个分组属性;从所述多个计数器值确定加密计数器值子集,所述加密计数器值子集要用于加密来自多个传入分组的传入分组子集;存储除了所述加密计数器值子集之外的加密计数器值以供稍后加密使用;接收所述多个传入分组和所述加密计数器值子集;以及用所述加密计数器值子集加密来自所接收的所述多个传入分组的所述传入分组子集。
13.根据权利要求12所述的方法,还包括:在第一周期接收所述多个加密计数器值,并且在所述第一周期将所述多个加密计数器值存储在存储器组件中。14.根据权利要求13所述的方法,还包括:在所述第一周期之后发生的第二周期,从所述存储器组件中取回所存储的所述多个加密计数器值,并且其中要用于加密所述传入分组子集的所述加密计数器值子集的所述确定在所述第二周期发生。15.根据权利要求14所述的方法,还包括:在所述第二周期之后发生的第三周期,取回被存储的、除了所述加密计数器值子集的子集之外的所述加密计数器值。16.根据权利要求15所述的方法,还包括:在所述第三周期,接收附加的多个加密计数器值并且将所述附加的多个加密计数器值存储在所述存储器组件中。17.根据权利要求12所述的方法,还包括生成多个计数器值。18.根据权利要求17所述的方法,还包括基于随后递增的矢量数据来生成计数器值。19.根据权利要求12所述的方法,还包括加...

【专利技术属性】
技术研发人员:T
申请(专利权)人:马维尔亚洲私人有限公司
类型:发明
国别省市:

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

1