当前位置: 首页 > 专利查询>暨南大学专利>正文

一种在P4可编程交换机上实现SHA256算法的方法技术

技术编号:37622127 阅读:11 留言:0更新日期:2023-05-18 12:13
本发明专利技术公开了一种在P4可编程交换机上实现SHA256算法的方法,包括如下步骤:S1、将P4可编程交换机安排为包括预处理模块、中间数据处理模块以及数据平面处理模块,预处理模块和中间数据处理模块联接至P4可编程交换机的控制平面上,该数据平面处理模块联接至P4可编程交换机流水线上;S2、通过预处理模块在交换机控制平面上接收待处理的消息,对待处理数据进行扩展处理,在P4可编程交换机上实现SHA256算法的方法将需要加密的内容放入交换机的控制平面进行解析,生成流表项,交由控制平面进行下一步操作,这样就能够在可编程网络的数据平面中实现一种保证数据签名算法安全所必须的安全散列算法,提高了网络数据签名的安全性。提高了网络数据签名的安全性。提高了网络数据签名的安全性。

【技术实现步骤摘要】
一种在P4可编程交换机上实现SHA256算法的方法


[0001]本专利技术涉及网络安全
,更具体地说,涉及一种在P4可编程交换机上实现SHA256算法的方法。

技术介绍

[0002]SHA256是在构建区块链时被广泛使用的哈希函数,它将输入的待处理数据进行计算,并得到一串256位数字与字符混合的字符串,在保证区块链中区块数据的完整性时被用于计算相关数据的哈希值。在数字货币系统中,被用于设计工作量证明的共识机制。
[0003]SHA256值的计算过程共有两个阶段:待处理数据的预处理和主循环。在待处理数据的预处理阶段,主要完成待处理数据进行补位和扩展,以512位作为单位将补位后的待处理数据分为n个块,依次对每个块使用SHA256压缩函数进行处理。在主循环阶段,不断重复压缩函数加密流程,直至达到64轮加密完成。
[0004]目前P4可编程交换机本质上是一种与协议无关的交换机架构,在交换机内部采用P4编程语言,其本身把计算机网络里报文转发时最基础的过程高度抽象化,具体来讲:数据包进入交换机后,包头被解析并提取出来,随后进入带有动作匹配表的流水线,进行预先定义过后的逻辑的处理,最终把处理完的数据包发送出去。
[0005]本
技术实现思路

[0006]针对现有技术中存在的问题,本专利技术的目的在于提供一种在P4可编程交换机上实现SHA256算法的方法,它可以实现在可编程网络的数据平面中实现一种保证数据签名算法安全所必须的安全散列算法功能。
[0007]为解决上述问题,本专利技术采用如下的技术方案:
[0008]一种在P4可编程交换机上实现SHA256算法的方法,包括如下步骤:
[0009]S1、将P4可编程交换机安排为包括预处理模块、中间数据处理模块以及数据平面处理模块,预处理模块和中间数据处理模块联接至P4可编程交换机的控制平面上,该数据平面处理模块联接至P4可编程交换机流水线上;
[0010]S2、通过预处理模块在交换机控制平面上接收待处理的消息,对待处理数据进行扩展处理,输出中间数据并发送至中间数据处理模块;
[0011]S3、通过中间数据处理模块接收所述中间数据,对所述中间数据使用迭代公式计算加密主循环中所需要的键值,将交换机控制平面上计算得到的键值和加密所需的常量结合起来输出流表数据并插入键值和常量所转换的匹配

动作表项;
[0012]S4、通过数据平面处理模块,接收所述匹配

动作表项,对所述流表数据进行压缩处理,生成待处理数据的SHA256值,在P4硬件交换机流水线上进行报文的循环操作,每个循环执行压缩函数,以进行消息的加密。
[0013]作为本专利技术的一种优选方案,所述S1步骤中具体操作是:
[0014]预处理模块将待处理数据进行预处理,对待处理数据进行补码处理:当消息M的二进制编码长度为n位,在消息末尾补一位“1”,然后再补上k个“0”。
[0015]作为本专利技术的一种优选方案,所述待处理数据是一条消息或任务,消息的长度小于264。
[0016]作为本专利技术的一种优选方案,所述S2步骤中具体操作是:
[0017]中间数据处理模块对中间数据进行扩展处理,生成每一轮加密所需要的加密密钥参数,中间数据处理模块根据加密密钥参数构建匹配

动作表中的表项,在报文经过流水线时,交换机执行查表的操作获得所需的参数。
[0018]作为本专利技术的一种优选方案,所述加密密钥参数包括W扩展消息块和K常数。
[0019]作为本专利技术的一种优选方案,所述数据平面处理模块包括压缩处理子模块和循环处理子模块;
[0020]所述压缩处理子模块用于接收所述流表数据和常量数据,对所述流表数据和常量数据进行压缩处理,输出循环数据并发送至循环处理子模块;
[0021]所述循环处理子模块用于接收所述循环数据,对所述循环数据进行循环处理,生成待处理数据的SHA256值。
[0022]作为本专利技术的一种优选方案,采用P4可编程交换机入口流水线的元数据来存储中间哈希值,自定义了一个报文头,包含报文进入的端口号port、当前循环轮数curr_round以及哈希结果res,循环处理子模块通过以事先分配端口号的方式控制报头文进入不同的端口,以此判断报头文是第一次进入交换机,从而进行初始化操作或是处于循环,进行加密计算。
[0023]作为本专利技术的一种优选方案,所述循环处理子模块的具体实现方式为:定义一个Parser,若是从默认端口号,则只解析自定义的header,该字段被设置成Valid,不解析metadata,该字段将被设置成Invalid,进入控制流control时将判断metadata是否为Valid,若未被解析,则进行初始化,赋值初始哈希值,否则直接进入加密循环。
[0024]相比于现有技术,本专利技术的优点在于:在P4可编程交换机上实现SHA256算法的方法将需要加密的内容放入交换机的控制平面进行解析,生成流表项,并下发至动作匹配流水线中,以报文再循环的方式,不断对交换机内部数据进行计算,当最后一轮循环结束时报文将携带结果返回至源端口,交由控制平面进行下一步操作,这样就能够在可编程网络的数据平面中实现一种保证数据签名算法安全所必须的安全散列算法,提高了网络数据签名的安全性。
附图说明
[0025]图1是本专利技术提供的在P4可编程交换机上实现SHA256算法的方法的结构示意图;
[0026]图2是本专利技术提供的P4可编程交换机数据平面处理模块的结构示意图;
[0027]图3是本专利技术提供的主循环处理逻辑示意图;
[0028]图4是本专利技术提供的逻辑函数定义图。
具体实施方式
[0029]下面将结合本专利技术实施例中的附图对本专利技术实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例,基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实
施例,都属于本专利技术保护的范围。
[0030]在本专利技术的描述中,需要说明的是,术语“上”、“下”、“内”、“外”、“顶/底端”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0031]在本专利技术的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“设置有”、“套设/接”、“连接”等,应做广义理解,例如“连接”,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本专利技术中的具体含义。
[0032]实施例:
[本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种在P4可编程交换机上实现SHA256算法的方法,其特征在于,包括如下步骤:S1、将P4可编程交换机安排为包括预处理模块、中间数据处理模块以及数据平面处理模块,预处理模块和中间数据处理模块联接至P4可编程交换机的控制平面上,该数据平面处理模块联接至P4可编程交换机流水线上;S2、通过预处理模块在交换机控制平面上接收待处理的消息,对待处理数据进行扩展处理,输出中间数据并发送至中间数据处理模块;S3、通过中间数据处理模块接收所述中间数据,对所述中间数据使用迭代公式计算加密主循环中所需要的键值,将交换机控制平面上计算得到的键值和加密所需的常量结合起来输出流表数据并插入键值和常量所转换的匹配

动作表项;S4、通过数据平面处理模块,接收所述匹配

动作表项,对所述流表数据进行压缩处理,生成待处理数据的SHA256值,在P4硬件交换机流水线上进行报文的循环操作,每个循环执行压缩函数,以进行消息的加密。2.根据权利要求1所述的一种在P4可编程交换机上实现SHA256算法的方法,其特征在于,所述S1步骤中具体操作是:预处理模块将待处理数据进行预处理,对待处理数据进行补码处理:当消息M的二进制编码长度为n位,在消息末尾补一位“1”,然后再补上k个“0”。3.根据权利要求2所述的一种在P4可编程交换机上实现SHA256算法的方法,其特征在于,所述待处理数据是一条消息或任务,消息的长度小于264。4.根据权利要求1所述的一种在P4可编程交换机上实现SHA256算法的方法,其特征在于,所述S2步骤中具体操作是:中间数据处理模块对中间数据进行扩展处理,生成每一轮加密所需要的加密密钥参数,中间数据处理模块根据加密...

【专利技术属性】
技术研发人员:崔林李文梽邓玉辉张震官全龙
申请(专利权)人:暨南大学
类型:发明
国别省市:

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

1