托普利茨哈希算法的处理电路、芯片和终端制造技术

技术编号:31577358 阅读:18 留言:0更新日期:2021-12-25 11:19
本申请实施例涉及一种托普利茨哈希算法的处理电路、芯片和终端,所述托普利茨哈希算法的处理电路,用于对报文数据进行托普利茨哈希处理,所述处理电路包括运算模块和数据锁存器,其中:所述运算模块,用于根据密钥序列分别对待处理的报文数据的多个比特bit的数据进行多次第一逻辑运算,其中,第n次第一逻辑运算后,向所述数据锁存器输出所述第n次第一逻辑运算的第n运算结果,n为大于1的整数;所述数据锁存器,与所述运算模块连接,用于对所述第n运算结果进行锁存,并在对所述报文数据进行第n+1次第一逻辑运算时输出所述第n运算结果,所述第n运算结果用于所述第n+1次第一逻辑运算。第n运算结果用于所述第n+1次第一逻辑运算。第n运算结果用于所述第n+1次第一逻辑运算。

【技术实现步骤摘要】
托普利茨哈希算法的处理电路、芯片和终端


[0001]本申请实施例涉及芯片
,特别是涉及一种托普利茨哈希算法的处理电路、芯片和终端。

技术介绍

[0002]散列(Hash)算法把固定或任意长度的输入变换成固定长度的输出,该输出就是散列值。这种变换是一种压缩映射,即,不同的输入可能会散列成相同的输出,相应地,也不可能从散列值来唯一确定输入值。Hash算法具有存储空间的利用率高、数据的查询效率高以及数据传递的安全性高的特点,因此,Hash算法被广泛地应用在各种终端的通信中。例如,托普利茨(Toeplize)哈希算法可以应用于接收端缩放(receive side scaling,RSS)的使用场景,RSS能够对多核系统网络收发数据包的处理能力实现高效能地分配。但是,随着通信技术的不断发展,现有的托普利茨哈希算法的处理速度已经无法满足目前的通信需求。

技术实现思路

[0003]本申请实施例提供了一种托普利茨哈希算法的处理电路、芯片和终端,可以提高托普利茨哈希算法的处理速度。
[0004]一种托普利茨哈希算法的处理电路,用于对报文数据进行托普利茨哈希处理,所述处理电路包括运算模块和数据锁存器,其中:
[0005]所述运算模块,用于根据密钥序列分别对待处理的报文数据的多个比特bit的数据进行多次第一逻辑运算,其中,第n次第一逻辑运算后,向所述数据锁存器输出所述第n次第一逻辑运算的第n运算结果,n为大于1的整数;
[0006]所述数据锁存器,与所述运算模块连接,用于对所述第n运算结果进行锁存,并在对所述报文数据进行第n+1次第一逻辑运算时输出所述第n运算结果,所述第n运算结果用于所述第n+1次第一逻辑运算。
[0007]一种芯片,包括如上述的托普利茨哈希算法的处理电路。
[0008]一种终端,包括如上述的芯片。
[0009]上述托普利茨哈希算法的处理电路,通过硬件结构实现托普利茨哈希算法的处理过程,运算模块基于内部实际连接的电路结构数据,无需受控于外部的指令信号或控制信号,因此能够大大提升数据处理的速度。而且,锁存器能够基于确定的时钟信号对第n运算结果进行锁存,以减小处理逻辑链路上的总延迟。相应地,由于总延迟减小,就可以提升处理电路的综合频率,从而有效提升托普利茨哈希算法的处理电路的处理速度。即,本实施例提供了一种处理速度较快的托普利茨哈希算法的处理电路。
附图说明
[0010]为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获取其他的附图。
[0011]图1为一实施例的托普利茨哈希算法的处理电路的结构示意图之一;
[0012]图2为一实施例的托普利茨哈希算法的处理电路的结构示意图之二;
[0013]图3为一实施例的密钥生成单元的结构示意图;
[0014]图4为一实施例的数据提取的结构示意图;
[0015]图5为一实施例的托普利茨哈希算法的处理电路的结构示意图之三。
[0016]元件标号说明:
[0017]处理模组:11;运算模块:100;数据提取单元:110;第二选择子单元:111;目标位确定子单元:112;移位器:1121;与门:1122;密钥生成单元:120;第一选择子单元:121;拼接子单元:122;低位选择单元:123;结果更新单元:130;第一多路选择器:131;异或门:132;第二多路选择器:140;数据锁存器:200。
具体实施方式
[0018]为了便于理解本申请实施例,下面将参照相关附图对本申请实施例进行更全面的描述。附图中给出了本申请实施例的首选实施例。但是,本申请实施例可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本申请实施例的公开内容更加透彻全面。
[0019]除非另有定义,本文所使用的所有的技术和科学术语与属于本申请实施例的
的技术人员通常理解的含义相同。本文中在本申请实施例的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请实施例。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
[0020]可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本申请的范围的情况下,可以将第一哈希值称为第二哈希值,且类似地,可将第二哈希值称为第一哈希值。第一哈希值和第二哈希值两者都是哈希值,但其不是同一哈希值。
[0021]此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。在本申请的描述中,“若干”的含义是至少一个,例如一个,两个等,除非另有明确具体的限定。
[0022]本申请实施例的托普利茨哈希算法的处理电路可以与数据包分配电路连接,哈希算法的处理电路获取接收数据包携带的报文数据,对报文数据进行哈希处理并获取哈希值,以使每个接收数据包具有对应的哈希值。对于多核系统而言,核是指中央处理器(central processing unit,简称CPU),即,多个CPU都能对接收数据包进行处理。因此,数据包分配电路需要将多个接收数据包较为平均地分配给各个CPU,以使各CPU能够均衡地运行。数据包分配电路被配置有各哈希值与各CPU之间一一映射的关系,能够将接收数据包分配给与哈希值相对应的CPU,即,当一接收数据包的哈希值为第一哈希值时,数据包分配电
路就将该接收数据包分配至与第一哈希值对应的第一CPU进行处理;当一接收数据包的哈希值为第二哈希值时,数据包分配电路就将该接收数据包分配至与第二哈希值对应的第二CPU进行处理。
[0023]可以理解的是,由于通信水平的不断发展,数据包的收发速度也会不断提升,因此,需要提高数据包的分配速度,以适配于越来越快的数据收发速度。本实施例的哈希算法基于硬件描述语言实现,即可以理解为,本实施例提供了一种哈希算法的硬件实现方式。其中,硬件描述语言可以为但不限于Verilog HDL或超高速集成电路硬件描述语言(Very

High

Speed Integrated Circuit Hardware Description Language,VHDL)等。基于硬件描述语言,本实施例能够对处理电路中不同的硬件模块进行调用,以实现需要的处理功能。其中,调用即是指将数据传输至需要进行处理的功能模块,并通过功能模块中的硬件电路结构,直接对接收到的数字信号进行处理的方式。
...

【技术保护点】

【技术特征摘要】
1.一种托普利茨哈希算法的处理电路,其特征在于,用于对报文数据进行托普利茨哈希处理,所述处理电路包括运算模块和数据锁存器,其中:所述运算模块,用于根据密钥序列分别对待处理的报文数据的多个比特bit的数据进行多次第一逻辑运算,其中,第n次第一逻辑运算后,向所述数据锁存器输出所述第n次第一逻辑运算的第n运算结果,n为大于1的整数;所述数据锁存器,用于对所述第n运算结果进行锁存,并在对所述报文数据进行第n+1次第一逻辑运算时输出所述第n运算结果,所述第n运算结果用于所述第n+1次第一逻辑运算。2.根据权利要求1所述的处理电路,其特征在于,所述运算模块包括:数据提取单元,用于在进行第n+1次第一逻辑运算时,选取所述报文数据中的第n+1个bit的数据;密钥生成单元,被配置有所述密钥序列,所述密钥生成单元用于在第n+1次执行所述第一逻辑运算时,选取所述密钥序列中多个bit的数据作为第n+1次生成的哈希密钥;结果更新单元,分别与所述密钥生成单元和所述数据提取单元连接,用于在第n+1次执行所述第一逻辑运算时,基于所述第n+1个bit的数据、第n+1次生成的哈希密钥和所述第n运算结果获得第n+1运算结果。3.根据权利要求2所述的处理电路,其特征在于,所述密钥生成单元包括:第一选择子单元,用于每进行Q次所述第一逻辑运算时,选择所述密钥序列中P bit的数据作为初始密钥,并选择所述密钥序列中Q bit的数据作为补充密钥;拼接子单元,与所述第一选择子单元连接,用于对所述初始密钥的低(P

i)bit和所述补充密钥的高i+1bit进行拼接,以形成长度为P+1bit的第n拼接数据;低位选择单元,与所述拼接子单元连接,用于选择所述第n拼接数据的低Pbit的数据作为第n次生成的所述哈希密钥,其中,所述P和Q均为正整数,且Q<P<n,i为n除以Q的余数。4.根据权利要求2所述的处理电路,其特征在于,所述数据提取单元包括:第二选择子单元,用于每进行Q次所述第一逻辑运算时,选择所述报文数据中的Q bit作为待处理数据,其中,所述Q为大于1的整数;目标位确定子单元,与所述第二选择子单元连接,用于确定所述待处理数据中的第i个bit的数据作为第n次生成的所述目标位数据,其中,所述Q均为正整数,且Q<n,i为n除以Q的余数。5.根据权利要求4所述的处理电路,其特征在于,所述目标位确定子单元包括:移位器,用于对所述待处理数据进行移位处理,其中,当根据所述待处理数据进行第i次第一逻辑运算时,对所述待处理数据右移i

1位;与门,用于接收移位处理后的所述待处理数据和Q bit的目标位确定序列,并进行与计算,其中,所述目标位确定序列中一个bit的数据为1,剩余bit的数据均为0。6.根据权利要求2所述的处理电路,其特征在于,所述结果更新单元具体用于:分别接收第n+1次生成的目标位数据、第n+1次生成的所述哈希密钥和第n运算结果,第n+1次生成的所述目标位数据为所述数据提取单元从所述报文数据中选取的第n+1个...

【专利技术属性】
技术研发人员:王增丽苑志刚
申请(专利权)人:哲库科技北京有限公司
类型:发明
国别省市:

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

1