CN117272352A - 多核并行加解密方法、装置、计算机设备和存储介质 - Google Patents

多核并行加解密方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN117272352A
CN117272352A CN202311553317.3A CN202311553317A CN117272352A CN 117272352 A CN117272352 A CN 117272352A CN 202311553317 A CN202311553317 A CN 202311553317A CN 117272352 A CN117272352 A CN 117272352A
Authority
CN
China
Prior art keywords
data
processed
packet
queue
decryption
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202311553317.3A
Other languages
English (en)
Other versions
CN117272352B (zh
Inventor
王利
赵维
赵亚琼
刘银栋
沈少辉
谢刚强
何斌
刘耕远
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Tasson Science and Technology Co Ltd
Original Assignee
Beijing Tasson Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Tasson Science and Technology Co Ltd filed Critical Beijing Tasson Science and Technology Co Ltd
Priority to CN202311553317.3A priority Critical patent/CN117272352B/zh
Publication of CN117272352A publication Critical patent/CN117272352A/zh
Application granted granted Critical
Publication of CN117272352B publication Critical patent/CN117272352B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Abstract

本申请涉及一种多核并行加解密方法、装置、计算机设备和存储介质。所述方法包括:对待处理数据包进行准确性检测,获得检测后数据队列;根据预设分析策略对检测后数据队列进行方案筛选,确定目标加解密方案,并根据目标加解密方案获得多个待处理分组队列和数据包划分顺序;根据目标加解密方案对多个待处理分组队列进行并行处理,获得每个待处理分组队列对应的处理后分组队列;根据目标加解密方案和数据包划分顺序对处理后分组队列进行打包,获得处理后数据包,并将处理后数据包传输至出口队列。采用本方法能够降低了系统资源的调用成本,同时还使得系统内的时延始终确定,进而提高了加解密运算性能。

Description

多核并行加解密方法、装置、计算机设备和存储介质
技术领域
本申请涉及逻辑加解密技术领域,特别是涉及一种多核并行加解密方法、装置、计算机设备和存储介质。
背景技术
在加解密算法领域,FPGA(现场可编程门阵列)和ASIC(应用特定集成电路)的实现经常被应用于国家重大基础设施领域,比如航天、电力和网络安全领域。这些领域对于加解密通信和数据保护具有高度需求,并且要求高性能和高安全级别。
传统技术中,可以采用传统的对称密码算法,如AES和SM4;或者可以采用传统的算法模式,如ECB和CBC。在采用对称密码算法时,对一个数据包进行加解密运算,受限于算法原理结构,一次只能处理固定大小的数据块。因此,在高带宽应用场景中,如10Gbps以太网通信,需要使用多核并行计算的方法才能满足性能需求。在采用算法模式时,在ECB模式下每个数据块独立加解密,导致同一个数据包的分组无法并行运算,只能进行流水式处理;在CBC模式下每个数据块的解密依赖于前一个数据块的密文,使得分组解密无法并行运算。尽管CBC模式的解密依赖于前一个数据块的结果,但它可以进行流水式处理。
然而,目前的传统方法,在并行处理时由于数据包长度不同,可能导致某些数据包的运算已经完成,但由于其他数据包较长仍在处理,导致资源闲置或延迟抖动的问题,即会产生可能一个数据包处理完成还需要等待其余数据包完成数据,进而出现已完成处理的数据包占用运算资源的情况。以及还会出现在每个算法核处理一个数据包并逐个迭代分组,形成包间并行时,无法保证对数据包完成保序以及无法统一处理每个数据包的处理时延。
发明内容
基于此,有必要针对上述技术问题,提供一种能够在保证顺序的前提下进行并行数据处理,降低系统资源的调用成本,提高加解密运算性能并且稳定并行运算的时延的多核并行加解密方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种多核并行加解密方法,包括:
对待处理数据包进行准确性检测,获得检测后数据队列;
根据预设分析策略对检测后数据队列进行方案筛选,确定目标加解密方案,并根据目标加解密方案获得多个待处理分组队列和数据包划分顺序;
根据目标加解密方案对多个待处理分组队列进行并行处理,获得每个待处理分组队列对应的处理后分组队列;
根据目标加解密方案和数据包划分顺序对处理后分组队列进行打包,获得处理后数据包,并将处理后数据包传输至出口队列。
在其中一个实施例中,对待处理数据包进行准确性检测,获得检测后数据队列,包括:
接收待处理数据包;
根据预设检测参数对待处理数据包中待处理数据进行准确性检测,获得检测结果;
当检测结果为待处理数据的参数与预设检测参数不完全一致,基于预设错误数据处理方案对待处理数据进行筛选,获得检测后数据;
当检测结果为待处理数据的参数与预设检测参数一致,将待处理数据设定为检测后数据;
将检测后数据传输至入口队列,得到检测后数据队列。
在其中一个实施例中,根据预设检测参数对待处理数据包中待处理数据进行准确性检测,获得检测结果,包括:
从待处理数据包中获取检测校验码;
根据预设检测方案对待处理数据包中待处理数据进行检测分析,获得分析校验码;
将分析校验码与检测校验码进行比较,获得检测结果。
在其中一个实施例中,根据预设分析策略对检测后数据队列进行方案筛选,确定目标加解密方案,并根据目标加解密方案获得多个待处理分组队列和数据包划分顺序,包括:
获取检测后数据队列中命令信息;
对命令信息进行加解密方案分析,获得目标加解密方案以及检测后数据队列长度;
根据目标加解密方案和检测后数据队列长度对检测后数据队列进行顺序划分操作,获得多个待处理分组队列和数据包划分顺序。
在其中一个实施例中,根据目标加解密方案和检测后数据队列长度对检测后数据队列进行顺序划分操作,获得多个待处理分组队列和数据包分组顺序,包括:
基于预设数据分组长度和检测后数据队列长度对检测后数据队列进行分组操作,获得多个数据组;
在对第一个检测后数据队列进行队列划分时,将第一个检测后数据队列中多个数据组依次传输至多个待处理队列中,并记录第一个检测后数据队列中多个数据组对应的数据包划分顺序;
在对其余检测后数据队列进行队列划分时,基于上一数据包划分顺序将当前检测后数据队列中多个数据组依次传输至多个待处理队列中,并记录当前数据包划分顺序;
直至完成对所有检测后数据队列的划分,获得多个待处理分组队列和所有检测后数据队列对应的数据包划分顺序。
在其中一个实施例中,命令信息包括加解密信息和模式信息,加解密信息包括加密执行指令或解密执行指令,模式信息包括ECB模式或CBC模式,加密执行指令仅对应ECB模式。
在其中一个实施例中,根据目标加解密方案对多个待处理分组队列进行并行处理,获得每个待处理分组队列对应的处理后分组队列,包括:
针对每个待处理分组队列,在识别到该待处理分组队列中的起始标识之后,基于目标加解密方案确定该待处理分组队列的加解密扰码队列;
根据该待处理分组队列的加解密扰码队列对该待处理分组队列中的多个待处理数据小组进行异或运算,获得每个待处理数据小组对应的扰码后数据小组;
在识别加到该待处理分组队列中的解密标识之后,根据目标加解密方案确定该待处理分组队列的加解密密钥队列;
根据该待处理分组队列的加解密密钥队列和每个待处理数据小组对应的扰码后数据小组进行加解密操作,获得每个待处理数据小组对应的加解密后数据小组;
将每个待处理数据小组对应的加解密后数据小组、每个待处理分组队列的起始标识和结束标识进行数据组合,获得每个待处理分组队列对应的处理后分组队列。
第二方面,本申请还提供了一种多核并行加解密装置,包括:
数据检测模块,用于对待处理数据包进行准确性检测,获得检测后数据队列;
预处理模块,用于根据预设分析策略对检测后数据队列进行方案筛选,确定目标加解密方案,并根据目标加解密方案获得多个待处理分组队列和数据包划分顺序;
加解密模块,用于根据目标加解密方案对多个待处理分组队列进行并行处理,获得每个待处理分组队列对应的处理后分组队列;
后置处理模块,用于根据目标加解密方案和数据包划分顺序对处理后分组队列进行打包,获得处理后数据包,并将处理后数据包传输至出口队列。
第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
对待处理数据包进行准确性检测,获得检测后数据队列;
根据预设分析策略对检测后数据队列进行方案筛选,确定目标加解密方案,并根据目标加解密方案获得多个待处理分组队列和数据包划分顺序;
根据目标加解密方案对多个待处理分组队列进行并行处理,获得每个待处理分组队列对应的处理后分组队列;
根据目标加解密方案和数据包划分顺序对处理后分组队列进行打包,获得处理后数据包,并将处理后数据包传输至出口队列。
第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
对待处理数据包进行准确性检测,获得检测后数据队列;
根据预设分析策略对检测后数据队列进行方案筛选,确定目标加解密方案,并根据目标加解密方案获得多个待处理分组队列和数据包划分顺序;
根据目标加解密方案对多个待处理分组队列进行并行处理,获得每个待处理分组队列对应的处理后分组队列;
根据目标加解密方案和数据包划分顺序对处理后分组队列进行打包,获得处理后数据包,并将处理后数据包传输至出口队列。
第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以下步骤:
对待处理数据包进行准确性检测,获得检测后数据队列;
根据预设分析策略对检测后数据队列进行方案筛选,确定目标加解密方案,并根据目标加解密方案获得多个待处理分组队列和数据包划分顺序;
根据目标加解密方案对多个待处理分组队列进行并行处理,获得每个待处理分组队列对应的处理后分组队列;
根据目标加解密方案和数据包划分顺序对处理后分组队列进行打包,获得处理后数据包,并将处理后数据包传输至出口队列。
上述多核并行加解密方法、装置、计算机设备、存储介质和计算机程序产品,在获取待处理数据包后,对待处理数据包检测剔除错误数据并将检测后数据放入队列中即得到检测后数据队列,然后基于数据包内命令信息分析得到加解密模式以及加解密执行指令,选择目标加解密方案,之后对检测后数据队列划分得到待处理分组,基于加解密模式对待处理分组进行处理,得到处理后分组队列,将其打包成数据包并输出至出口队列,基于加解密方案可以有顺序的将检测后数据队列划分成多个待处理分组,通过并行对待处理分组进行处理,并在完成处理后基于分组顺序将数据重新打包,降低了系统资源的调用成本,同时还使得系统内的时延始终确定,进而提高了加解密运算性能。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一个实施例中多核并行加解密方法的流程示意图;
图2为一个实施例中数据分组加解密步骤的工作流程图;
图3为一个实施例中数据分组加解密步骤的流程示意图;
图4为一个实施例中多核并行加解密装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个示例性的实施例中,如图1所示,提供了一种多核并行加解密方法,本实施例以该方法应用于终端进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
步骤102,对待处理数据包进行准确性检测,获得检测后数据队列。
其中,队列采用的是先进先出队列。
示例性地,在接收待处理数据包后,对待处理数据包进行错误过滤,将其中错误的数据剔除,得到数据无误的检测后数据队列。
步骤104,根据预设分析策略对检测后数据队列进行方案筛选,确定目标加解密方案,并根据目标加解密方案获得多个待处理分组队列和数据包划分顺序。
其中,预设分析策略是指从数据包中提取命令信息并对其分析。
示例性地,在得到检测后数据队列后,提取得到命令信息。对命令信息分析后对检测后数据队列进行划分处理得到多个待处理分组队列,其中需要将检测后数据队列中数据按照顺序依次放入待处理分组队列中,同时需要对待处理分组队列进行顺序划分,并将检测后数据队列中待处理数据的分组顺序进行记录。例如,将分组定义为起始分组、中间分组和结束分组。
步骤106,根据目标加解密方案对多个待处理分组队列进行并行处理,获得每个待处理分组队列对应的处理后分组队列。
其中,目标加解密方案包括模式信息和加解密信息,加解密信息包括加密执行指令或解密执行指令,模式信息包括ECB模式或CBC模式,加密执行指令仅对应ECB模式。
示例性地,如图2在确定目标加解密方案后,确定每个待处理分组队列的扰码队列和加解密密钥队列。对待处理分组对类中数据小组进行异或运算得到扰码后数据小组,然后利用加解密密钥队列对扰码后数据小组进行加解密运算,得到相应的明文或密文。
例如,在确定为获得加密执行指令时,模式信息仅为ECB模式,即目标加密方案为在ECB模式下对待处理数据包加密。而在确定为获得解密执行指令时,需要再识别模式信息,以判断在哪种模式下对待处理数据包解密。
步骤108,根据目标加解密方案和数据包划分顺序对处理后分组队列进行打包,获得处理后数据包,并将处理后数据包传输至出口队列。
示例性地,完成并行处理后,由于待处理分组队列是基于目标加解密方案的按照顺序划分策略分配得到的,并且由于是先进先出队列,则可以再按照进入多个待处理分组队列的顺序即数据包划分顺序从处理后分组队列中按顺序获取处理后数据,即可以得到与待处理数据包对应的处理后数据包,之后再将其存入出口队列中。
上述多核并行加解密方法中,在获取待处理数据包后,对待处理数据包检测剔除错误数据并将检测后数据放入队列中即得到检测后数据队列,然后基于数据包内命令信息分析得到加解密模式以及加解密执行指令,选择目标加解密方案,之后对检测后数据队列划分得到待处理分组,基于加解密模式对待处理分组进行处理,得到处理后分组队列,将其打包成数据包并输出至出口队列,基于加解密方案可以有顺序的将检测后数据队列划分成多个待处理分组,通过并行对待处理分组进行处理,并在完成处理后基于分组顺序将数据重新打包,降低了系统资源的调用成本,同时还使得系统内的时延始终确定,进而提高了加解密运算性能。
在一个示例性的实施例中,对待处理数据包进行准确性检测,获得检测后数据队列,包括:
接收待处理数据包;根据预设检测参数对待处理数据包中待处理数据进行准确性检测,获得检测结果;当检测结果为待处理数据的参数与预设检测参数不完全一致,基于预设错误数据处理方案对待处理数据进行筛选,获得检测后数据;当检测结果为待处理数据的参数与预设检测参数一致,将待处理数据设定为检测后数据;将检测后数据传输至入口队列,得到检测后数据队列。
示例性地,可以采用数据结构检测方案,即获取的待处理数据包包括待处理数据和预设检测参数,其中预设检测参数可以是数据架构相关参数。
在获取待处理数据包后,对待处理数据包中数据进行架构分析,得到待处理架构参数。然后将待处理架构参数和数据架构相关参数比较,以确定是否存在不同。若存在不同,则根据比较结果确定异常数据并将其剔除。之后将通过检测的检测后数据存入入口队列,即得到检测后数据队列。
在本实施例中,通过对获得的待处理数据包进行检测,查询是否存在错误数据,使得进入入口队列的检测后数据均无误,提高了数据加解密的精确性。
在一个示例性的实施例中,所述根据预设检测参数对所述待处理数据包中待处理数据进行准确性检测,获得检测结果,包括:
从所述待处理数据包中获取检测校验码;
根据预设检测方案对所述待处理数据包中待处理数据进行检测分析,获得分析校验码;
将所述分析校验码与所述检测校验码进行比较,获得检测结果。
示例性地,可以采用数据计算的检测方案,即取的待处理数据包包括待处理数据和初始数据校验值。
在获取待处理数据包后,对待处理数据包中数据进行校验计算,得到数据计算值。然后将数据计算值和初始数据校验值比较,以确定是否存在不同。若存在不同,则可以将该异常数据包删除,或根据预设错误处理机制处理该异常数据包得到检测后数据。之后将通过检测的检测后数据存入入口队列,即得到检测后数据队列。
在本实施例中,通过对获得的待处理数据包进行检测,查询是否存在错误数据,使得进入入口队列的检测后数据均无误,提高了数据加解密的精确性。
在一个示例性的实施例中,根据预设分析策略对检测后数据队列进行方案筛选,确定目标加解密方案,并根据目标加解密方案获得多个待处理分组队列和数据包分组顺序,包括:
获取检测后数据队列中命令信息;对命令信息进行加解密方案分析,获得目标加解密方案以及检测后数据队列长度;根据目标加解密方案和检测后数据队列长度对检测后数据队列进行顺序划分操作,获得多个待处理分组队列和数据包分组顺序。
其中,命令信息包括加解密信息和模式信息,加解密信息包括加密执行指令或解密执行指令,模式信息包括ECB模式或CBC模式,加密执行指令仅对应ECB模式。命令信息还包括数据长度。
示例性地,在得到检测后数据队列后,提取得到命令信息,以确定对待处理分组队列需要执行的目标加解密方案,并且根据检测处理操作和命令信息中数据长度确定检测后数据队列长度。由于检测后数据队列采用先进先出队列,则基于先进先出的特点对检测后数据队列按照顺序划分,得到多个待处理分组队列及检测后数据队列对应的分组顺序。
在本实施例中,基于检测后数据队列的先进先出特点,将检测后数据依次分配到各分组队列中,使得检测后数据可以进行分组间并行处理,有效的降低了系统资源的调用成本,并且可以控制数据包之间的时延间隙。
在一个示例性的实施例中,根据目标加解密方案和检测后数据队列长度对检测后数据队列进行顺序划分操作,获得多个待处理分组队列和数据包分组顺序,包括:
基于预设数据分组长度和检测后数据队列长度对检测后数据队列进行分组操作,获得多个数据组;在对第一个检测后数据队列进行队列划分时,将第一个检测后数据队列中多个数据组依次传输至多个待处理队列中,并记录第一个检测后数据队列中多个数据组对应的数据包划分顺序;在对其余检测后数据队列进行队列划分时,基于上一数据包划分顺序将当前检测后数据队列中多个数据组依次传输至多个待处理队列中,并记录当前数据包划分顺序;直至完成对所有检测后数据队列的划分,获得多个待处理分组队列和所有检测后数据队列对应的数据包划分顺序。
示例性地,对数据包中的数据进行检测验证之后,得到可处理的检测后数据队列。基于算法核处理预先设置每次处理的数据大小,根据预设的数据大小将每个检测后数据队列中待处理数据划分为多个数据组。同时基于数据处理的算法核预先设置多个空白队列,将每个数据包对应检测后数据队列中待处理数据以数据组的形式依次传输至空白队列中,并且需要记录每个数据包中数据组的划分顺序即数据包划分顺序。
在本实施例中,将所有数据包对应的检测后数据队列中待处理数据依次传输至多个待处理队列中,使得数据包间的时延计算转化为多个待处理队列间的时延计算,使得系统内的时延始终确定,进而提高了加解密运算性能。
在一个示例性的实施例中,如图3所示,根据目标加解密方案对多个待处理分组队列进行并行处理,获得每个待处理分组队列对应的处理后分组队列,其中:
步骤302,针对每个待处理分组队列,在识别到该待处理分组队列中的起始标识之后,基于目标加解密方案确定该待处理分组队列的加解密扰码队列。
其中,待处理分组队列包括多个待处理数据小组和待处理标识,待处理标识包括加解密标识、起始标识和结束标识。
示例性地,将多个待处理分组一一分配一个算法核。在获取待处理分组队列后,进行标识识别。在识别到起始标识后,根据该待处理分组队列对应的目标加解密方案选择加解密扰码队列。
例如:在ECB模式下,加解密扰码队列中则全为0。在CBC模式下,判断待处理分组队列的顺序;其中第一个待处理分组队列的扰码为初始划向量IV,其余待处理分组队列的扰码为前一个待处理分组队列。
步骤304,根据该待处理分组队列的加解密扰码队列对该待处理分组队列中的多个待处理数据小组进行异或运算,获得每个待处理数据小组对应的扰码后数据小组。
示例性地,在加解密扰码队列后,将加解密扰码队列中扰码与待处理分组列中待处理数据小组进行异或运算得到扰码后数据小组。其中,一个数据小组可以存储两个数据分组载荷,两个数据分组载荷的大小可以是16B。
步骤306,在识别加到该待处理分组队列中的解密标识之后,根据目标加解密方案确定该待处理分组队列的加解密密钥队列。
示例性地,在得到所有的扰码后数据小组后,算法核接收加解密标识和由扰码后数据小组组成的扰码后分组队列。算法核根据接收的加解密标识调取相应的加解密密钥队列。
步骤308,根据该待处理分组队列的加解密密钥队列和每个待处理数据小组对应的扰码后数据小组进行加解密操作,获得每个待处理数据小组对应的加解密后数据小组。
示例性地,在确定加解密密钥队列后,算法核逐一对扰码后分组队列中扰码后数据小组进行解密运算,得到加解密后数据小组。
步骤310,将每个待处理数据小组对应的加解密后数据小组、每个待处理分组队列的起始标识和结束标识进行数据组合,获得每个待处理分组队列对应的处理后分组队列。
示例性地,算法核完成加解密操作后,按顺序将加解密后数据小组组合得到加解密后分组队列,按照识别处理顺序依次将起始标识、加解密分组队列和结束标识写入处理后队列,即得到处理后分组队列。
在本实施例中,通过待处理分组队列中的标识信息,执行相应的操作,使得待处理分组队列中待处理数据小组在经过扰码、加解密、按顺序组合的操作转变成为处理后分组队列,并且多个待处理分组由多个算法核并行处理,有效的提高数据处理的效率,并且节省了系统资源,并且基于队列特点和标识信息有效的维持了数据小组以及数据分组的顺序。
在一个示例性的实施例中,一种多核并行加解密方法,包括:
接收待处理数据包。
从待处理数据包中获取检测校验码。
根据预设检测方案对待处理数据包中待处理数据进行检测分析,获得分析校验码。
将分析校验码与检测校验码进行比较,获得检测结果。
当检测结果为待处理数据的参数与预设检测参数不完全一致,基于预设错误数据处理方案对待处理数据进行筛选,获得检测后数据。
当检测结果为待处理数据的参数与预设检测参数一致,将待处理数据设定为检测后数据。
将检测后数据传输至入口队列,得到检测后数据队列。获取检测后数据队列中命令信息。
对命令信息进行加解密方案分析,获得目标加解密方案以及检测后数据队列长度。
根据目标加解密方案和检测后数据队列长度对检测后数据队列进行顺序划分操作,获得多个待处理分组队列和数据包划分顺序。
基于预设数据分组长度和检测后数据队列长度对检测后数据队列进行分组操作,获得多个数据组。
在对第一个检测后数据队列进行队列划分时,将第一个检测后数据队列中多个数据组依次传输至多个待处理队列中,并记录第一个检测后数据队列中多个数据组对应的数据包划分顺序。
在对其余检测后数据队列进行队列划分时,基于上一数据包划分顺序将当前检测后数据队列中多个数据组依次传输至多个待处理队列中,并记录当前数据包划分顺序。
直至完成对所有检测后数据队列的划分,获得多个待处理分组队列和所有检测后数据队列对应的数据包划分顺序。针对每个待处理分组队列,在识别到该待处理分组队列中的起始标识之后,基于目标加解密方案确定该待处理分组队列的加解密扰码队列。
根据该待处理分组队列的加解密扰码队列对该待处理分组队列中的多个待处理数据小组进行异或运算,获得每个待处理数据小组对应的扰码后数据小组。
在识别加到该待处理分组队列中的解密标识之后,根据目标加解密方案确定该待处理分组队列的加解密密钥队列。
根据该待处理分组队列的加解密密钥队列和每个待处理数据小组对应的扰码后数据小组进行加解密操作,获得每个待处理数据小组对应的加解密后数据小组。
将每个待处理数据小组对应的加解密后数据小组、每个待处理分组队列的起始标识和结束标识进行数据组合,获得每个待处理分组队列对应的处理后分组队列。
根据目标加解密方案对处理后分组队列进行打包,获得处理后数据包,并将处理后数据包传输至出口队列。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的多核并行加解密方法的多核并行加解密装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个多核并行加解密装置实施例中的具体限定可以参见上文中对于多核并行加解密方法的限定,在此不再赘述。
在一个示例性的实施例中,如图4所示,提供了一种多核并行加解密装置,包括:数据检测模块402、预处理模块404、加解密模块406和后置处理模块408,其中:
数据检测模块402,用于对待处理数据包进行准确性检测,获得检测后数据队列和数据包划分顺序。
预处理模块404,用于根据预设分析策略对检测后数据队列进行方案筛选,确定目标加解密方案,并根据目标加解密方案获得多个待处理分组队列。
加解密模块406,用于根据目标加解密方案和数据包划分顺序对多个待处理分组队列进行并行处理,获得每个待处理分组队列对应的处理后分组队列。
后置处理模块408,用于根据目标加解密方案对处理后分组队列进行打包,获得处理后数据包,并将处理后数据包传输至出口队列。
在一个示例性的实施例中,数据检测模块402,还用于接收待处理数据包;根据预设检测参数对待处理数据包中待处理数据进行准确性检测,获得检测结果;当检测结果为待处理数据的参数与预设检测参数不完全一致,基于预设错误数据处理方案对待处理数据进行筛选,获得检测后数据;当检测结果为待处理数据的参数与预设检测参数一致,将待处理数据设定为检测后数据;将检测后数据传输至入口队列,得到检测后数据队列。
在一个示例性的实施例中,数据检测模块402,还用于从所述待处理数据包中获取检测校验码;根据预设检测方案对所述待处理数据包中待处理数据进行检测分析,获得分析校验码;将所述分析校验码与所述检测校验码进行比较,获得检测结果。
在一个示例性的实施例中,预处理模块404,还用于获取检测后数据队列中命令信息;对命令信息进行加解密方案分析,获得目标加解密方案以及检测后数据队列长度;根据目标加解密方案和检测后数据队列长度对检测后数据队列进行顺序划分操作,获得多个待处理分组队列和数据包分组顺序。
在一个示例性的实施例中,预处理模块404,还用于基于预设数据分组长度和所述检测后数据队列长度对所述检测后数据队列进行分组操作,获得多个数据组;在对第一个检测后数据队列进行队列划分时,将所述第一个检测后数据队列中多个数据组依次传输至多个待处理队列中,并记录所述第一个检测后数据队列中多个数据组对应的数据包划分顺序;在对其余检测后数据队列进行队列划分时,基于上一数据包划分顺序将当前检测后数据队列中多个数据组依次传输至多个所述待处理队列中,并记录当前数据包划分顺序;直至完成对所有检测后数据队列的划分,获得多个待处理分组队列和所有检测后数据队列对应的数据包划分顺序。
在一个示例性的实施例中,加解密模块406,用于针对每个待处理分组队列,在识别到该待处理分组队列中的起始标识之后,基于目标加解密方案确定该待处理分组队列的加解密扰码队列;根据该待处理分组队列的加解密扰码队列对该待处理分组队列中的多个待处理数据小组进行异或运算,获得每个待处理数据小组对应的扰码后数据小组;在识别加到该待处理分组队列中的解密标识之后,根据目标加解密方案确定该待处理分组队列的加解密密钥队列;根据该待处理分组队列的加解密密钥队列和每个待处理数据小组对应的扰码后数据小组进行加解密操作,获得每个待处理数据小组对应的加解密后数据小组;将每个待处理数据小组对应的加解密后数据小组、每个待处理分组队列的起始标识和结束标识进行数据组合,获得每个待处理分组队列对应的处理后分组队列。
上述多核并行加解密装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个示例性的实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图5所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储原始数据包数据和加解密后数据包数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种多核并行加解密方法。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个示例性的实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个示例性的实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个示例性的实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要符合相关规定。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。

Claims (10)

1.一种多核并行加解密方法,其特征在于,所述方法包括:
对待处理数据包进行准确性检测,获得检测后数据队列;
根据预设分析策略对所述检测后数据队列进行方案筛选,确定目标加解密方案,并根据目标加解密方案获得多个待处理分组队列和数据包划分顺序;
根据所述目标加解密方案对多个所述待处理分组队列进行并行处理,获得每个待处理分组队列对应的处理后分组队列;
根据所述目标加解密方案和所述数据包划分顺序对所述处理后分组队列进行打包,获得处理后数据包,并将所述处理后数据包传输至出口队列。
2.根据权利要求1所述的方法,其特征在于,所述对待处理数据包进行准确性检测,获得检测后数据队列,包括:
接收待处理数据包;
根据预设检测参数对所述待处理数据包中待处理数据进行准确性检测,获得检测结果;
当检测结果为待处理数据的参数与预设检测参数不完全一致,基于预设错误数据处理方案对所述待处理数据进行筛选,获得检测后数据;
当检测结果为待处理数据的参数与预设检测参数一致,将所述待处理数据设定为检测后数据;
将所述检测后数据传输至入口队列,得到检测后数据队列。
3.根据权利要求2所述的方法,其特征在于,所述根据预设检测参数对所述待处理数据包中待处理数据进行准确性检测,获得检测结果,包括:
从所述待处理数据包中获取检测校验码;
根据预设检测方案对所述待处理数据包中待处理数据进行检测分析,获得分析校验码;
将所述分析校验码与所述检测校验码进行比较,获得检测结果。
4.根据权利要求1所述的方法,其特征在于,所述根据预设分析策略对所述检测后数据队列进行方案筛选,确定目标加解密方案,并根据目标加解密方案获得多个待处理分组队列和数据包划分顺序,包括:
获取所述检测后数据队列中命令信息;
对所述命令信息进行加解密方案分析,获得目标加解密方案以及检测后数据队列长度;
根据所述目标加解密方案和所述检测后数据队列长度对所述检测后数据队列进行顺序划分操作,获得多个待处理分组队列和数据包分组顺序。
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标加解密方案和所述检测后数据队列长度对所述检测后数据队列进行顺序划分操作,获得多个待处理分组队列和数据包分组顺序,包括:
基于预设数据分组长度和所述检测后数据队列长度对所述检测后数据队列进行分组操作,获得多个数据组;
在对第一个检测后数据队列进行队列划分时,将所述第一个检测后数据队列中多个数据组依次传输至多个待处理队列中,并记录所述第一个检测后数据队列中多个数据组对应的数据包划分顺序;
在对其余检测后数据队列进行队列划分时,基于上一数据包划分顺序将当前检测后数据队列中多个数据组依次传输至多个所述待处理队列中,并记录当前数据包划分顺序;
直至完成对所有检测后数据队列的划分,获得多个待处理分组队列和所有检测后数据队列对应的数据包划分顺序。
6.根据权利要求4所述的方法,其特征在于,所述命令信息包括加解密信息和模式信息,所述加解密信息包括加密执行指令和解密执行指令,所述模式信息包括ECB模式和CBC模式,所述加密执行指令对应ECB模式。
7.根据权利要求1所述的方法,其特征在于,每个待处理分组队列包括多个待处理数据小组和待处理标识,所述待处理标识包括加解密标识、起始标识和结束标识;所述根据所述目标加解密方案对多个所述待处理分组队列进行并行处理,获得每个待处理分组队列对应的处理后分组队列,包括:
针对每个待处理分组队列,在识别到该待处理分组队列中的起始标识之后,基于所述目标加解密方案确定该待处理分组队列的加解密扰码队列;
根据该待处理分组队列的加解密扰码队列对该待处理分组队列中的多个待处理数据小组进行异或运算,获得每个待处理数据小组对应的扰码后数据小组;
在识别加到该待处理分组队列中的解密标识之后,根据目标加解密方案确定该待处理分组队列的加解密密钥队列;
根据该待处理分组队列的加解密密钥队列和每个待处理数据小组对应的扰码后数据小组进行加解密操作,获得每个待处理数据小组对应的加解密后数据小组;
将每个待处理数据小组对应的加解密后数据小组、每个待处理分组队列的起始标识和结束标识进行数据组合,获得每个待处理分组队列对应的处理后分组队列。
8.一种多核并行加解密装置,其特征在于,所述装置包括:
数据检测模块,用于对待处理数据包进行准确性检测,获得检测后数据队列;
预处理模块,用于根据预设分析策略对所述检测后数据队列进行方案筛选,确定目标加解密方案,并根据目标加解密方案获得多个待处理分组队列和数据包划分顺序;
加解密模块,用于根据所述目标加解密方案对多个所述待处理分组队列进行并行处理,获得每个待处理分组队列对应的处理后分组队列;
后置处理模块,用于根据所述目标加解密方案和所述数据包划分顺序对所述处理后分组队列进行打包,获得处理后数据包,并将所述处理后数据包传输至出口队列。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202311553317.3A 2023-11-21 2023-11-21 多核并行加解密方法、装置、计算机设备和存储介质 Active CN117272352B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311553317.3A CN117272352B (zh) 2023-11-21 2023-11-21 多核并行加解密方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311553317.3A CN117272352B (zh) 2023-11-21 2023-11-21 多核并行加解密方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN117272352A true CN117272352A (zh) 2023-12-22
CN117272352B CN117272352B (zh) 2024-01-30

Family

ID=89201220

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311553317.3A Active CN117272352B (zh) 2023-11-21 2023-11-21 多核并行加解密方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN117272352B (zh)

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014175781A (ja) * 2013-03-07 2014-09-22 Hitachi High-Technologies Corp 並列パケット処理装置、方法およびプログラム
US20150113268A1 (en) * 2013-10-18 2015-04-23 Advanced Micro Devices, Inc. Virtualized AES Computational Engine
CN106788975A (zh) * 2016-12-28 2017-05-31 北京天融信网络安全技术有限公司 基于sm4密码算法的加解密装置
CN113010293A (zh) * 2021-03-19 2021-06-22 广州万协通信息技术有限公司 一种多线程并发数据加解密处理方法、装置及存储介质
US20210281406A1 (en) * 2020-03-05 2021-09-09 Timothy Arthur Huck Cryptographic security system, method, and program product using data partitioning
CN114969851A (zh) * 2022-05-31 2022-08-30 浪潮电子信息产业股份有限公司 一种基于fpga的数据处理方法、装置、设备及介质
CN115543938A (zh) * 2021-06-30 2022-12-30 腾讯科技(深圳)有限公司 数据处理方法、装置、电子设备及存储介质
CN115795522A (zh) * 2023-02-09 2023-03-14 广州万协通信息技术有限公司 多核并发的高速密码引擎数据处理方法及装置
CN116193166A (zh) * 2022-12-27 2023-05-30 北京锐马视讯科技有限公司 一种视频加密方法及系统
CN116204911A (zh) * 2023-04-27 2023-06-02 苏州浪潮智能科技有限公司 加解密系统、加解密控制方法、计算机设备及存储介质
CN116488794A (zh) * 2023-06-16 2023-07-25 杭州海康威视数字技术股份有限公司 基于fpga的高速sm4密码模组实现方法及装置
CN116611087A (zh) * 2023-05-19 2023-08-18 西安东勤科技有限公司 基本输入输出系统加密方法、装置、设备及存储介质
CN116628717A (zh) * 2023-05-25 2023-08-22 奇安信科技集团股份有限公司 数据处理方法、装置、电子设备及存储介质
CN116974784A (zh) * 2023-07-14 2023-10-31 兴业银行股份有限公司 任务队列的处理方法、装置、计算机设备及存储介质

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014175781A (ja) * 2013-03-07 2014-09-22 Hitachi High-Technologies Corp 並列パケット処理装置、方法およびプログラム
US20150113268A1 (en) * 2013-10-18 2015-04-23 Advanced Micro Devices, Inc. Virtualized AES Computational Engine
CN106788975A (zh) * 2016-12-28 2017-05-31 北京天融信网络安全技术有限公司 基于sm4密码算法的加解密装置
US20210281406A1 (en) * 2020-03-05 2021-09-09 Timothy Arthur Huck Cryptographic security system, method, and program product using data partitioning
CN113010293A (zh) * 2021-03-19 2021-06-22 广州万协通信息技术有限公司 一种多线程并发数据加解密处理方法、装置及存储介质
CN115543938A (zh) * 2021-06-30 2022-12-30 腾讯科技(深圳)有限公司 数据处理方法、装置、电子设备及存储介质
CN114969851A (zh) * 2022-05-31 2022-08-30 浪潮电子信息产业股份有限公司 一种基于fpga的数据处理方法、装置、设备及介质
CN116193166A (zh) * 2022-12-27 2023-05-30 北京锐马视讯科技有限公司 一种视频加密方法及系统
CN115795522A (zh) * 2023-02-09 2023-03-14 广州万协通信息技术有限公司 多核并发的高速密码引擎数据处理方法及装置
CN116204911A (zh) * 2023-04-27 2023-06-02 苏州浪潮智能科技有限公司 加解密系统、加解密控制方法、计算机设备及存储介质
CN116611087A (zh) * 2023-05-19 2023-08-18 西安东勤科技有限公司 基本输入输出系统加密方法、装置、设备及存储介质
CN116628717A (zh) * 2023-05-25 2023-08-22 奇安信科技集团股份有限公司 数据处理方法、装置、电子设备及存储介质
CN116488794A (zh) * 2023-06-16 2023-07-25 杭州海康威视数字技术股份有限公司 基于fpga的高速sm4密码模组实现方法及装置
CN116974784A (zh) * 2023-07-14 2023-10-31 兴业银行股份有限公司 任务队列的处理方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
CN117272352B (zh) 2024-01-30

Similar Documents

Publication Publication Date Title
US11169935B2 (en) Technologies for low-latency cryptography for processor-accelerator communication
US10904231B2 (en) Encryption using multi-level encryption key derivation
US20160344553A1 (en) Storing and retrieving ciphertext in data storage
US9762386B1 (en) Verification of stored encryption keys in multi-tiered encryption system
Dinur Cryptanalytic time-memory-data tradeoffs for FX-constructions with applications to PRINCE and PRIDE
CN112766495A (zh) 一种基于混合环境的深度学习模型隐私保护方法及装置
Le et al. Algebraic differential fault analysis on SIMON block cipher
Longo et al. How low can you go? Using side-channel data to enhance brute-force key recovery
EP3786928B1 (en) System, method, apparatus and program for secure aggregate maximum computation and for secure aggregate minimum computation
CN110299988B (zh) 轻量级分组密码算法抗攻击能力的检测方法及检测装置
CN110336661A (zh) Aes-gcm数据处理方法、装置、电子设备及存储介质
CN117272352B (zh) 多核并行加解密方法、装置、计算机设备和存储介质
US20220038270A1 (en) Data processing system and method
US11379384B2 (en) Oblivious filtering of data streams
Zhao Improvement of cloud computing medical data protection technology based on symmetric encryption algorithm
CN113177203B (zh) 一种识别加密恶意报文流的方法及装置
CN115348189A (zh) 基于sav架构的报文匹配方法、装置和计算机设备
CN111262837B (zh) 一种数据加密方法、数据解密方法、系统、设备和介质
Ghimire et al. Data integrity verification algorithms and performance evaluation for vehicle accident data recording system
CN114244517A (zh) 数据加密及签名方法、装置、计算机设备和存储介质
CN116134421A (zh) 向多瓦片处理系统流式传输数据
Phong et al. Password recovery for encrypted ZIP archives using GPUs
CN114826777B (zh) 身份认证方法、装置、计算机设备和存储介质
CN111712868B (zh) 检索装置、检索方法、以及记录介质
KR102344915B1 (ko) 오류 주입 공격 장치 및 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant