CN116488795A - 一种gcm-aes处理方法和装置 - Google Patents
一种gcm-aes处理方法和装置 Download PDFInfo
- Publication number
- CN116488795A CN116488795A CN202310725690.6A CN202310725690A CN116488795A CN 116488795 A CN116488795 A CN 116488795A CN 202310725690 A CN202310725690 A CN 202310725690A CN 116488795 A CN116488795 A CN 116488795A
- Authority
- CN
- China
- Prior art keywords
- text
- key
- packets
- packet
- additional message
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 16
- 230000011218 segmentation Effects 0.000 claims abstract description 31
- 238000012545 processing Methods 0.000 claims abstract description 30
- 238000012795 verification Methods 0.000 claims abstract description 15
- 239000013598 vector Substances 0.000 claims description 33
- 238000000034 method Methods 0.000 claims description 26
- 230000014509 gene expression Effects 0.000 claims description 5
- 230000001360 synchronised effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 7
- 239000000203 mixture Substances 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004615 ingredient Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供GCM‑AES处理方法,包括:分割文本以形成复数个文本块;读取当前文本块;分割成文本分组;生成对应当前文本块的第一密钥;形成与文本分组一一对应的加解密分组;提供与文本分组一一对应的附加消息分组;利用第一密钥、加解密分组以及附加消息分组顺序生成第二密钥,第一、第二密钥数量之和与文本分组数量相等,并使第一、第二密钥与加解密分组一一对应;利用附加消息分组及第一密钥,并行的对加解密分组生成附加消息验证码,读取下一个文本块作为当前文本块,以及同步的执行从分割成文本分组开始的步骤,直至所有的文本块处理完毕。本发明还包括对应处理方法的系统。本发明提供了一种应对高吞吐数据处理场景下的GCM‑AES处理方法和系统。
Description
技术领域
本发明属于信息加密技术领域,尤其涉及一种GCM-AES处理方法和装置。
背景技术
高级加密标准(Advanced Encryption Standard,AES)指定可以用于保护电子数据的密码算法。AES算法是可以加密(密化)和解密(破译)信息的对称分组密码。加密将数据转换成被称为密文的难以理解的形式,并且对密文进行解密将数据转换回其被称为明文的原始形式。AES算法能够使用128、192和256位的密码密钥来加密和解密128位的块中的数据。
早在2004年,GCM(Galois Counter Mode,伽罗瓦计算模式)算法就已经被提出,作为AES加解密的一种操作模式,其也在2005年正式成为NIST(National Institute ofStandards and Technology,美国国家标准与技术研究院)的加密认证标准。在2006年公布的IEEE802.1ae标准中,GCM算法是这个协议的默认加密认证算法。GCM算法既可以应用于IEEE802.1ae标准中,也可以应用于因特网安全性协议集(Internet Protocol Security,IPSec)中。
随着科技发展,所需要处理的数据也大幅度上升。例如,网络带宽从10Gbps、25Gbps到100Gbps、200Gbps不断提升,网卡芯片的内部数据总线位宽也不断提升,从128bit到256bit、512bit甚至1024bit。这种高吞吐数据处理场景的高要求对GCM-AES提出了新的技术挑战。
基于以上,本申请提供了解决以上技术问题的技术方案。
发明内容
针对现有技术应对高吞吐数据处理场景有困难的场景,本发明提供了一种GCM-AES处理方法,所述方法用于实现高吞吐数据处理,其具体技术方案包括:其包括如下步骤:
步骤S1、提供一文本,按一第一位宽分割所述文本,以形成复数个文本块;
步骤S2、按顺读取第一块所述文本块为当前文本块;
步骤S3、将所述当前文本块按一第二位宽分割成一预定数量的文本分组;
步骤S4、生成一对应所述当前文本块的第一密钥;
步骤S5、利用所述第一密钥,并行的对所述文本块中对应的文本分组分别进行加密或解密,以形成与所述文本分组一一对应的加密分组或解密分组;
步骤S6、提供一对应所述当前文本块的附加消息组,所述附加消息组中包括与所述当前文本块中的文本分组一一对应的复数个附加消息分组;
步骤S7、利用所述第一密钥、加密分组或解密分组以及复数个所述附加消息分组顺序生成复数个第二密钥,使所述第一密钥与所述第二密钥数量之和等与所述当前文本块中的文本分组数量相等,并使所述第一密钥与所述第二密钥按照一预定规则与所述加密分组或解密分组一一对应;
步骤S8、利用复数个所述附加消息分组,及所述第一密钥,并行的对所述加密分组或所述解密分组生成附加消息验证码,并同步的顺序读取下一个所述文本块作为所述当前文本块,以及同步的执行由所述步骤S3开始的步骤,直至所有的所述文本块处理完毕。
在本发明的一个具体实施方式中,所述步骤S4中所述第一密钥的产生方法包括:
步骤S41,提供一计数器,所述计数器以一预定步长于一个时钟周期内产生与所述当前文本块中的所述文本分组数量相同的计数信号,以及提供一向量队列,使所述向量队列中的每个向量元素按照于所述向量队列中的先后顺序,与所述计数信号一一对应;
步骤S42,提供一第三密钥,对每个所述时钟周期内的第一个所述计数信号和对应的所述向量元素进行加密,以获得所述第一密钥,以及对每个所述时钟周期内的第二个所述计数信号和对应的所述向量元素进行加密,以获得一附加参数。
在本发明的一个具体实施方式中,所述步骤S42中,采用AES算法对所述计数信号和对应的所述向量元素进行加密。
在本发明的一个具体实施方式中,所述第一位宽包括512bit。
具体地,所述第二位宽包括128bit。
具体地,所述第二位宽与所述第一密钥的位宽相同。
具体地,所述步骤S5中所述文本分组进行加密或解密的方法包括将所述文本分组分别与所述第一密钥进行异或运算。
具体地,所述步骤S7中,所述预定规则包括将所述第一密钥与所述当前文本块中的排在顺序第一的所述文本分组对应,复数个所述第二密钥按照生成顺序与所述当前文本块中除排在顺序第一的所述文本分组外的其他所述文本分组按照先后顺序一一对应。
在本发明的一个具体实施方式中,所述步骤S7中,生成所述第二密钥的方法包括:
步骤S71,所述第一密钥、所述附加消息及所述加密分组或解密分组进行计算以获得第一个所述第二密钥;
步骤S72,将第一个所述第二密钥设置为当前第二密钥;
步骤S73,将所述当前第二密钥、所述附加消息及所述加密分组或解密分组进行计算以获得后续的所述第二密钥;
步骤S74,将后续的所述第二密钥设置为当前第二密钥并重复所述步骤S73,直至生成满足需要数量的所述第二密钥。
在本发明的一个具体实施方式中,所述步骤S8中,利用以下算式生成所述生成附加消息验证码:
其中,
Tag为所述附加消息验证码,Tag的下标表示对应的所述加密分组或所述解密分组于所述文本中的顺序;
AAD为所述附加消息,AAD的下标表示附加消息分组对应的所述加密分组或所述解密分组于所述文本中的顺序;
TXT表示所述加密分组或所述解密分组,TXT的下标表示所述加密分组或所述解密分组于所述文本中的顺序;
m表示所述附加消息的总位宽;
n表示所述文本的总位宽;
H表示所述第一密钥;
H2-H4表示所述第二密钥,所述第二密钥包括所述第一密钥的二阶密钥、三阶密钥和四阶密钥,上标表示阶数;
Ej0表示初始向量密文块。
还提供一种GCM-AES处理装置,其应用本发明所述的方法,包括:
一第一文本分割模块,用以将一文本,按一第一位宽分割所述文本,以形成复数个文本块;
一第二文本分割模块,连接所述第一文本分割模块,用以将当前处理的所述文本块按一第二位宽分割成一预定数量的文本分组,以及将一附加消息队列中的附加消息分割成与当前处理的所述文本块中的所述文本分组一一对应的附加消息分组;
一第一密钥生成模块,连接所述第二文本分割模块,用以生成一对应当前处理的所述文本块的第一密钥;
一第一加密/解密模块,连接所述第二文本分割模块及所述第一密钥生成单元,用以根据所述第一密钥,并行的对所述文本块中对应的文本分组分别进行加密或解密,以形成与所述文本分组一一对应的加密分组或解密分组;
一第二密钥生成模块,连接所述第二文本分割模块,所述第一密钥生成模块,所述第一加密/解密模块,用以根据所述第一密钥、所述加密分组或解密分组以及复数个所述附加消息分组顺序生成复数个第二密钥,并使所述第一密钥与所述第二密钥数量之和等与所述当前文本块中的文本分组数量相等,并使所述第一密钥与所述第二密钥按照一预定规则与所述加密分组或解密分组一一对应;
一附加消息验证码生成模块,连接所述第二文本分割模块,所述第二密钥生成模块,所述第一加密/解密模块,用以根据复数个所述附加消息分组,及所述第一密钥,并行的对所述加密分组或所述解密分组生成附加消息验证码。
在本发明的一个具体实施方式中,所述第二文本分割模块包括先进先出储存部件,所述先进先出储存部件,用以储存被分割的所述文本分组及所述附加消息分组。
在本发明的一个具体实施方式中,还包括状态控制模块,分别连接所述第一文本分割模块,所述第二文本分割模块,所述第一密钥生成模块,所述第一加密/解密模块,所述第二密钥生成模块以及所述附加消息验证码生成模块,用以控制各个模块的状态。
在本发明的一个具体实施方式中,所述状态控制模块包括有限状态机。
本发明能够带来以下至少一种有益效果:有效地应对高吞吐数据处理场景的高要求。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对上述特性、技术特征、优点及其实现方式予以进一步说明。
图1为现有的GCM/AES算法框图;
图2为本发明的一个具体实施方式的GCM-AES处理方法的示意图;
图3为本发明的另一个具体实施方式的GCM-AES处理方法的示意图;其中步骤S4与图2的具体实施方式不同;
图4为本发明的另一个具体实施方式的GCM-AES处理方法的示意图;其中步骤S7与图2的具体实施方式不同;
图5为本发明的一个优选实施方式的模块示意图。
图6为本发明的GCM-AES处理装置的示意图。
具体实施方式
以下对本发明的各个方面进行进一步详述。
除非另有定义或说明,本文中所使用的所有专业与科学用语与本领域技术熟练人员所熟悉的意义相同。此外任何与所记载内容相似或均等的方法及材料皆可应用于本发明方法中。
以下对术语进行说明。
除非另有明确的规定和限定,本发明中所述的“或”,包含了“和”的关系。所述“和”相当于布尔逻辑运算符“AND”,所述“或”相当于布尔逻辑运算符“OR”,而“AND”是“OR”的子集。
可以理解到,尽管术语“第一”、“第二”等等可以在此用来说明不同的元件,但是这些元件不应被这些术语限制。这些术语仅仅用来将一个元件与另一个元件区分开。因此,第一元件可以被称为第二元件,而不背离本发明构思的教导。
本发明中,术语“含有”、“包含”或“包括”表示各种成分可一起应用于本发明的混合物或组合物中。因此,术语“主要由 ...组成”包含在术语“含有”、“包含”或“包括”中。
除非另有明确的规定和限定,本发明的术语“相连”、“连通”、“连接”应作广义理解,例如,可以是固定连接,也可以是通过中介媒介间相连,可以是两个元件内部的连通或者两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
例如,如果一个元件(或部件)被称为在另一个元件上、与另一个元件耦合或者与另一个元件连接,那么所述一个元件可以直接地在所述另一个元件上形成、与之耦合或者与之连接,或者在它们之间可以有一个或多个介于中间的元件。相反,如果在此使用表述“直接在......上”、“直接与......耦合”和“直接与......连接”,那么表示没有介于中间的元件。用来说明元件之间的关系的其他词语应该被类似地解释,例如“在......之间”和“直接在......之间”、“附着”和“直接附着”、“相邻”和“直接相邻”等等。
另外需要说明的是,下面描述中使用的词语“前”、“后”、“左”、“右”、“上”和“下”指的是附图中的方向。使用的词语“内”和“外”分别指的是朝向或远离特定部件几何中心的方向。可以理解到,在此,这些术语用来描述如在附图中所示的一个元件、层或区域相对于另一个元件、层或区域的关系。除了在附图中描述的取向之外,这些术语应该也包含装置的其他取向。
本发明的其它方面由于本文的公开内容,对本领域的技术人员而言是显而易见的。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
还需要说明的是,以下实施例中所提供的图示仅以示意方式说明本申请的基本构想,图式中仅显示与本申请中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。例如,在附图中的元件的厚度可以为了清楚性起见而被夸张。
实施例
目前的GCM-AES处理中,以下是以往的应用场景、常见的导致新问题的场景,以及为解决新问题而采用的对应解决措施的处理方案:
场景一、以往较低的网络带宽的GCM/AES加解密数据处理
IPSEC(Internet Protocol Security,互联网安全协议)是最常用的网络加解密协议。IPSEC及其后继协议Google所提出的PSP(Packet Switching Protocol,分组交换协议)均采用AES128或AES256进行报文加解密。而AES加解密的最常用模式为(GaloisCounter Mode,GCM)。具体而言,报文通过AES128/256进行加解密时,报文头中需要确保完整性的部分通过GMAC(Galois message authentication code mode,伽罗瓦消息验证码)进行认证保护。无论是AES还是GMAC操作,其输入输出数据位宽均需与其密钥长度一致,为128bit或256bit。
在较低的网络带宽的数据处理情况下,网卡芯片内部数据总线位宽不足128bit。譬如10Gbps的网络中,采用时钟频率为500Mhz的网卡芯片,网卡芯片的数据位宽仅需达到20bit即可满足网络的速度需求。在数据位宽≤128bit的情况下,进入GCM/AES加解密的数据仅需进行padding(填充)。在此情况下,硬件加解密单元仅需支持一路AES128引擎和一路GMAC引擎,保证每时钟周期持续输出即可。
场景二、位宽提高后的GCM/AES加解密数据处理
当数据随着网络带宽的不断提升,100Gbps的网络中的网卡芯片内部数据位宽已达到512bit甚至更高。譬如200Gbps网络中,如采用时钟频率为500Mhz的网卡芯片,则内部数据位宽在芯片数据处理完全无气泡的情况下至少需达到200Gbit /500M=400bit。
面对上述问题,网络芯片的内部数据处理通常需要每个时钟周期处理完整的数据总线位宽长度的数据才能达到线速。在芯片内部数据总线位宽数倍于AES密钥长度的情况下,如何在AES128/256 GCM模式下每时钟周期完成多笔128/256的数据加解密、以及GMAC操作存在着技术挑战。
本发明中,发明人经过了广泛和深入的研究,发现通过对GCM中加解密部分以及认证部分的算法进行拆解及并行化处理,使得其可以并行完成多个拆分数据块的加解密及认证操作。
优选的,每芯片时钟周期内并行完成多个拆分数据块的加解密及认证操作每芯片时钟周期内。
优选的,发明人还提出相应的硬件设计使得其可以进一步优化在每芯片时钟周期内并行完成多个拆分数据块的加解密及认证操作。
参见图1,对现有技术的GCM-AES数据处理的原理进行了描述。通常,可以先利用计数器的计数信号与初始向量(IV或iv)组合,并使用密钥k,对计数信号和IV做AES加密,然后,将加密的结果与明文进行XOR(异或)运算来生成密文。通常,对每次加密使用不同的IV。对于附加消息,会使用密钥H(由密钥K得出),运行GMAC,将结果与密文进行XOR运算,从而生成可用于验证数据完整性的消息验证码。最后,密文接收者会收到一条完整的消息,包含密文、IV(初始向量)、消息验证码(MAC值)。
其中,明文(pText):是指未经加密的数据。
其中,密文C(cText): 是指经过加密的数据。
其中,密钥K(key):是指用来加密明文的密码。通常,在对称加密算法中,加密与解密的密钥是相同的,由双方协商产生,不可以泄漏。
其中,加密函数Ek:是指,将明文和密钥作为参数,传入加密函数中,就可以获得密文。
其中,XOR运算是指异或运算。XOR运算的特点是,对一个值连续做两次XOR,会返回这个值本身。
从图1可以看出,每份128bit的数据加解密之后均需进行GMAC运算,并且每份数据的GMAC运算相互关联,后级的输入需基于前级的输出。
这样产生的困难就是:当需要加解密的数据位宽超出密钥长度,如512bit的数据经由GCM/AES128进行加解密和认证,基于GCM/AES算法设计,无法简单的将512bit的数据拆成若干份,同步的由若干组同样的GCM/AES128引擎进行处理。
举例而言,将数据拆分成4份128bit为例,如果依然采用单一GCM/AES引擎,4份处理串行,虽然满足了GCM/AES的算法要求,但是严重降低了性能,无法达到网络线速处理要求。
现有技术的另一种解决方案(图中未示)为将单一GCM/AES128硬件引擎拓展为4份,每时钟周期进入的报文数据在4组引擎中进行调度。由于512bit为数据总线宽度,实际进入引擎的报文长度为动态可变(≤512bit),调度算法需考虑报文长度、各引擎利用率等实际情况进行调度,同时针对每个网卡队列输出的报文需严格进行保序。该实现易出现队头阻塞(Head of Line blocking)的情况。
通常,Head of Line blocking(队头阻塞)是指,包括单个慢的对象阻止其他或后续的对象前进,是本领域难以解决的网络性能问题之一。
参见图2所示,针对现有技术应对高吞吐数据处理场景有困难的场景,本发明提供了一种GCM-AES处理方法,方法用于实现高吞吐数据处理,其具体技术方案包括:其包括如下步骤:
步骤S1、提供一文本,按一第一位宽分割文本,以形成复数个文本块。在本发明的一个具体实施方式中,第一位宽可以包括512bit。
优选的是,密钥为AES密钥。更优选的是,本发明可以采用密钥长度是128bit、循环次数为11轮。此时,由于AES128引擎需11轮运算,因而需11个时钟周期完成一次加解密。
具体地,预定数量文本分组可以包括2-12组,具体例如2、3、4、5、6、7、8、9、12组。应当理解,上述仅为示例,包括但不限于的分组,只要不对本发明的发明目的产生限制任何形式的增加或删减都应当被包含在本发明的主旨内。
步骤S2、按顺读取第一块文本块为当前文本块。
步骤S3、将当前文本块按一第二位宽分割成一预定数量的文本分组。
具体地,第二位宽包括128bit。
步骤S4、生成一对应当前文本块的第一密钥。
具体地,第二位宽与第一密钥的位宽相同。
应当注意的是本发明中,第一密钥的长度包括但不限于128bit、192bit和256bit,只要不对本发明的发明目的产生限制任何形式的增加或删减都应当被包含在本发明的主旨内。
步骤S5、利用第一密钥,并行的对文本块中对应的文本分组分别进行加密或解密,以形成与文本分组一一对应的加密分组或解密分组。
具体地,步骤S5中文本分组进行加密或解密的方法包括将文本分组分别与第一密钥进行异或运算。
步骤S6、提供一对应当前文本块的附加消息组,附加消息组中包括与当前文本块中的文本分组一一对应的复数个附加消息分组。
步骤S7、利用第一密钥、加密分组或解密分组以及复数个附加消息分组顺序生成复数个第二密钥,使第一密钥与第二密钥数量之和等与当前文本块中的文本分组数量相等,并使第一密钥与第二密钥按照一预定规则与加密分组或解密分组一一对应。
具体地,步骤S7中,预定规则包括将第一密钥与当前文本块中的排在顺序第一的文本分组对应,复数个第二密钥按照生成顺序与当前文本块中除排在顺序第一的文本分组外的其他文本分组按照先后顺序一一对应。
步骤S8、利用复数个附加消息分组,及第一密钥,并行的对加密分组或解密分组生成附加消息验证码,并同步的顺序读取下一个文本块作为当前文本块,以及同步的执行由步骤S3开始的步骤,直至所有的文本块处理完毕。
更具体的,步骤S8中,利用以下算式生成附加消息验证码:
其中,
Tag为附加消息验证码,Tag的下标表示对应的加密分组或解密分组于文本中的顺序;
AAD为附加消息,AAD的下标表示附加消息分组对应的加密分组或解密分组于文本中的顺序;
TXT表示加密分组或解密分组,TXT的下标表示加密分组或解密分组于文本中的顺序;
m表示附加消息的总位宽;
n表示文本的总位宽;
H表示所述第一密钥;
H2-H4表示所述第二密钥,所述第二密钥包括所述第一密钥的二阶密钥、三阶密钥和四阶密钥,上标表示阶数;
Ej0表示初始向量密文块。
更具体而言,第一密钥H是将0经过输入的密钥加密后的结果,用于上面公式中的GMAC运算。第一密钥H也可被称为Hash subkey(子钥)。
更具体而言,第二密钥可以包括所述第一密钥的二阶密钥、三阶密钥和四阶密钥。例如,H2 、H3 、H4是分别是第一密钥H的二次、三次、四次方。所述第二密钥也可以称为二阶、三阶、四阶Hash子钥。
Ej0是输入的初始向量(IV)与1合并后经过输入的密钥加密后的结果。可被称为初始向量密文块。
为了详细说明,以下为GCM-AES处理方法中示例性的演示:
算式1)展示了GCM/AES中认证部分所进行的GMAC运算。其中包含了对AAD部分、加解密之后的密文/明文、长度、以及Ej0的GMAC。其中AAD和密文/明文部分取决于密钥的位宽均拆分为128bit/256bit的子块,分别与H依次进行相乘。
将算式1)合并后可得到算式2)中的Tag统一表达公式。
由算式2)可见,Tag中的运算可以每4个一组进行拆分。从而推演出算式3)。
拆分后每组内的4个GMAC运算可以在同一时钟周期内并行,共同完成位宽为512bit的GMAC,其叠加结果作为下一时钟周期中第一个GMAC输入的一部分。
参见图3,为本发明的另一个具体实施方式的GCM-AES处理方法的示意图;其中步骤S4与图2的具体实施方式不同。
其中,步骤S4中第一密钥的产生方法包括:
步骤S41,提供一计数器,计数器以一预定步长于一个时钟周期内产生与当前文本块中的文本分组数量相同的计数信号,以及提供一向量队列,使向量队列中的每个向量元素按照于向量队列中的先后顺序,与计数信号一一对应;
步骤S42,提供一第三密钥,对每个时钟周期内的第一个计数信号和对应的向量元素进行加密,以获得第一密钥,以及对每个时钟周期内的第二个计数信号和对应的向量元素进行加密,以获得一附加参数。
步骤S42中,采用AES算法对计数信号和对应的向量元素进行加密。
发明人发现,在AES加解密单元内对round key进行展开复制,从而可以实现流水线化处理,达到每时钟周期可背靠背接受输入,使得多组AES输入可以同时流水线处理。
Round Key具体是指,由于AES加解密算法的加密过程中,每一轮迭代包括字节替换(Byte Substitute或 SubByte)、行移位(Shift Row)、列混合(Mix Column)、密钥加法(Round Key 或 Add Round Key)等四个步骤,最后一轮没有列混合,以抵抗某些特殊密码分析。解密过程的每一轮迭代包括行移位求逆、字节替换求逆、轮密钥加求逆、列混合求逆四个步骤,最后一轮没有列混合,以抵抗某些特殊密码分析。的密钥扩展为轮迭代所需的11组子密钥。
如前,S3中的预定数量文本分组包括2-12组,具体例如2、3、4、5、6、7、8、9、12组。此时对采用AES算法对相对应的计数信号和香对应的向量元素进行加密。
例如,以采用4组文本分组为例,GCM中的AES加解密<iv, counter>进行加解密,其中iv为初始向量,counter为计数器的计数值,因此实现4组并行。运行时,可直接提供<iv,counteri>,<iv, counteri+1>,<iv, counteri+2>,<iv, counteri+3>作为输入。最初的时钟周期需运算<0>,<iv, 1>,<iv, 2>,<iv, 3>。其中<0>的运算结果作为GMAC的H输入,<iv,1>的结果作为Tag中的Ej0。
其中,iv作为随机向量的作用是,保证即使是相同的明文,使用相同的密钥进行加密,也会使每次加密得到的密文结果不相同。从而避免同样的明文块时钟加密成同样的密文块。在每一个明文块加密前,会让明文块和一个值先做异或操作。iv作为初始化变量,参与第一个明文块的异或运算,后续的每一个明文块和它前一个明文块所加密出的密文块相异或运算,从而保证加密出的密文块都不同。
其中,Tag(Mac tag)的作用是,将确保数据在传输和存储过程中不会被意外更改或恶意篡改。该标签随后在解密操作期间使用,以确保密文和AAD未被篡改。在加密时,Mactag由明文、密钥Key、iv、AAD共同产生。
通常,AES加解密算法包括但不限于:将明文与子密钥进行若干轮迭代。具体的,将明文与子密钥进行若干轮迭代时,是指AES加解密算法通过大量轮数来增加加密数据的复杂性。根据密钥长度,AES加解密算法对128位数据的加密轮数分别是11、13和15轮,迭代型分组密码抗击密码分析供给的能力随着加密轮数的增加而增加。
需要注意的是,加密轮数越多,当然安全性越好,但也更耗费时间,因此需要使用者进行一定的权衡。具体的,当AES加解密算法对128位数据的加密轮数分别是11、13和15轮时,AES加解密算法块的分组长度为128位,而密钥长度可以是128、192、256位,分别对应扩充后的密钥组组数11、13、15组,每轮循环次数分别为11、13、15轮,每轮循环使用四组密钥,每组密钥长度均为32位。
参见图4,为本发明的另一个具体实施方式的GCM-AES处理方法的示意图;其中步骤S7与图2的具体实施方式不同。
需要注意的是,本发明的每个具体实施方式的单个或多个技术特征可以和其他实施方式的单个或多个技术特征进行组合,这些组合都属于本发明的保护范围。
举例而言,具体实施方式可以是图2的实施方式与图3的实施方式的组合;图2的实施方式与图4的实施方式的组合;或是图2的实施方式、图3的实施方式、图4的实施方式的组合。
具体参见图4,步骤S7中,生成第二密钥的方法包括:
步骤S71,第一密钥、附加消息及加密分组或解密分组进行计算以获得第一个第二密钥;
步骤S72,将第一个第二密钥设置为当前第二密钥;
步骤S73,将当前第二密钥、附加消息及加密分组或解密分组进行计算以获得后续的第二密钥;
步骤S74,将后续的第二密钥设置为当前第二密钥并重复步骤S73,直至生成满足需要数量的第二密钥。
图5为本发明的一个优选实施方式的模块图。
其中,AES加解密模块100即第一密钥生成模块和第一加密/解密模块的实施例,其输入包括密钥(key), 初始向量Initial vector (IV),需加密/解密的被分割的明文(Plaintext)/密文(Ciphertext)文本,以及需认证部分的被分割的附加消息AdditionalAuthentication Data (AAD)。经由加密/解密和认证之后输出Ciphertext(密文)/Plaintext(明文),以及Tag。
在AES加解密模块100中,GCM中的AES加解密对<iv, counter>进行加解密,因此实现4组并行,可直接提供<iv, counteri>,<iv, counteri+1>,<iv, counteri+2>,<iv,counteri+3>作为输入。最初的时钟周期需运算<0>,<iv, 1>,<iv, 2>,<iv, 3>。其中<0>的运算结果作为GMAC的H输入,<iv, 1>的结果作为Tag中的Ej0。
AES128加密模块100内对Round Key进行展开复制,从而可以实现流水线化处理,达到每时钟周期可背靠背接受输入,使得多组AES输入可以同时在引擎内流水线处理。
输入部分的IV由Counter Gen(计数器)模块负责每时钟周期输出4个连续的counter(计数信号),并由4组AES加密模块100基于输入的key(密钥)进行并行的加解密运算。其中前两个IV向量加解密后的输出分别用于后续认证部分的H,以及Ej0。
Input Splitter为文本分割单元的实施例,包括第一文本分割模块和第二文本分割模块,第一文本分割模块用于把连续的Plaintext(明文)/Ciphertext(密文)文本分割成512bit大小的文本块,第二文本分割模块用于把512bit大小的文本块分割成128bit大小的文本分组,经并进行缓存处理,第二文本分割模块中包括先进先出储存部件用于实现缓存,其实施例为图中的FIFO。先进先出储存部件输出由FSM(状态控制模块的实施例)确保与AES加密模块100输出能一一对应,并与AES加解密结果进行XOR运算。
在GMAC认证模块200为附加消息验证码生成模块的实施例,AES加解密模块100输出的H部分,经过多组gmult(第二密钥生成模块的实施例)处理后,输出H2, H3, H4,用于后续该笔认证中每时钟周期的GMAC并行运算。
AAD输入经过Input Splitter(文本分割装置)300进行拆分并缓存处理后,缓存输出由FSM控制进入gmult单元进行GMAC运算。每时钟周期处理4组并行的128bit GMAC运算。每组运算按照S8中所定义运算进行。在拆分后每组内的4个GMAC运算可以在同一时钟周期内并行,共同完成位宽为512bit的GMAC运算,其叠加结果作为下一时钟周期中第一个GMAC运算输入的一部分。
FSM单元400可以具有本领域的常规含义。通常,其作用包括但不限于,把复杂的控制逻辑分解成有限个稳定状态,在每个状态上判断事件,变连续处理为离散数字处理。
本发明还提供一种GCM-AES处理装置,用于应用所述的GCM-AES处理方法,如图6所示,还包括:
一第一文本分割模块,用以将一文本,按一第一位宽分割文本,以形成复数个文本块;
一第二文本分割模块,连接第一文本分割模块,用以将当前处理的文本块按一第二位宽分割成一预定数量的文本分组,以及将一附加消息队列中的附加消息分割成与当前处理的文本块中的文本分组一一对应的附加消息分组;
一第一密钥生成模块,连接第二文本分割模块,用以生成一对应当前处理的文本块的第一密钥;
一第一加密/解密模块,连接第二文本分割模块及第一密钥生成单元,用以根据第一密钥,并行的对文本块中对应的文本分组分别进行加密或解密,以形成与文本分组一一对应的加密分组或解密分组;
一第二密钥生成模块,连接第二文本分割模块,第一密钥生成模块,第一加密/解密模块,用以根据第一密钥、加密分组或解密分组以及复数个附加消息分组顺序生成复数个第二密钥,并使第一密钥与第二密钥数量之和等与当前文本块中的文本分组数量相等,并使第一密钥与第二密钥按照一预定规则与加密分组或解密分组一一对应;
一附加消息验证码生成模块,连接第二文本分割模块,第二密钥生成模块,第一加密/解密模块,用以根据复数个附加消息分组,及第一密钥,并行的对加密分组或解密分组生成附加消息验证码。
于上述技术方案基础上进一步的,第二文本分割模块还可以包括先进先出储存部件,先进先出储存部件,用以储存被分割的文本分组及附加消息分组。
于上述技术方案基础上进一步的,还可以包括状态控制模块,分别连接第一文本分割模块,第二文本分割模块,第一密钥生成模块,第一加密/解密模块,第二密钥生成模块以及附加消息验证码生成模块,用以控制各个模块的状态。
于上述技术方案基础上进一步的,状态控制模块包括有限状态机。
综上,本发明获得了如下效果:
实现GCM-AES处理中,在一个时钟周期内并行的处理4个GMAC运算,提高了系统的处理效率。
基于本申请,所属领域的技术人员应了解,本文中所描述的一个方面可与任何其它方面独立地实施,且可以各种方式组合这些方面中的两者或两者以上。举例来说,可使用本文中所阐述的任何数目和方面来实施设备及/或实践方法。另外,可使用除了本文中所阐述的方面中的一或多者之外的其它结构及/或功能性实施此设备及/或实践此方法。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
应当说明的是,上述实施例均可根据需要自由组合。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
在本发明提及的所有文献都在本申请中引用作为参考,就如同每一篇文献被单独引用作为参考那样。此外应理解,在阅读了本发明的上述内容之后,本领域技术人员可以对本发明作各种改动或修改,这些等价形式同样落于本申请所附权利要求书所限定的范围。
Claims (10)
1.一种GCM-AES处理方法,其特征在于,包括如下步骤:
步骤S1、提供一文本,按一第一位宽分割所述文本,以形成复数个文本块;
步骤S2、按顺读取第一块所述文本块为当前文本块;
步骤S3、将所述当前文本块按一第二位宽分割成一预定数量的文本分组;
步骤S4、生成一对应所述当前文本块的第一密钥;
步骤S5、利用所述第一密钥,并行的对所述文本块中对应的文本分组分别进行加密或解密,以形成与所述文本分组一一对应的加密分组或解密分组;
步骤S6、提供一对应所述当前文本块的附加消息组,所述附加消息组中包括与所述当前文本块中的文本分组一一对应的复数个附加消息分组;
步骤S7、利用所述第一密钥、加密分组或解密分组以及复数个所述附加消息分组顺序生成复数个第二密钥,使所述第一密钥与所述第二密钥数量之和等与所述当前文本块中的文本分组数量相等,并使所述第一密钥与所述第二密钥按照一预定规则与所述加密分组或解密分组一一对应;
步骤S8、利用复数个所述附加消息分组,及所述第一密钥,并行的对所述加密分组或所述解密分组生成附加消息验证码,并同步的顺序读取下一个所述文本块作为所述当前文本块,以及同步的执行由所述步骤S3开始的步骤,直至所有的所述文本块处理完毕。
2.如权利要求1所述的GCM-AES处理方法,其特征在于,所述步骤S4中所述第一密钥的产生方法包括:
步骤S41,提供一计数器,所述计数器以一预定步长于一个时钟周期内产生与所述当前文本块中的所述文本分组数量相同的计数信号,以及提供一向量队列,使所述向量队列中的每个向量元素按照于所述向量队列中的先后顺序,与所述计数信号一一对应;
步骤S42,提供一第三密钥,对每个所述时钟周期内的第一个所述计数信号和对应的所述向量元素进行加密,以获得所述第一密钥,以及对每个所述时钟周期内的第二个所述计数信号和对应的所述向量元素进行加密,以获得一附加参数。
3.如权利要求2所述的GCM-AES处理方法,其特征在于,
所述步骤S42中,采用AES算法对所述计数信号和对应的所述向量元素进行加密。
4. 如权利要求1所述的GCM-AES处理方法,其特征在于,所述第一位宽包括512bit;和/或
所述第二位宽包括128bit;和/或
所述第二位宽与所述第一密钥的位宽相同;和/或
所述步骤S5中所述文本分组进行加密或解密的方法包括将所述文本分组分别与所述第一密钥进行异或运算;和/或
所述步骤S7中,所述预定规则包括将所述第一密钥与所述当前文本块中的排在顺序第一的所述文本分组对应,复数个所述第二密钥按照生成顺序与所述当前文本块中除排在顺序第一的所述文本分组外的其他所述文本分组按照先后顺序一一对应。
5.如权利要求1所述的GCM-AES处理方法,其特征在于,所述步骤S7中,生成所述第二密钥的方法包括:
步骤S71,所述第一密钥、所述附加消息及所述加密分组或解密分组进行计算以获得第一个所述第二密钥;
步骤S72,将第一个所述第二密钥设置为当前第二密钥;
步骤S73,将所述当前第二密钥、所述附加消息及所述加密分组或解密分组进行计算以获得后续的所述第二密钥;
步骤S74,将后续的所述第二密钥设置为当前第二密钥并重复所述步骤S73,直至生成满足需要数量的所述第二密钥。
6.如权利要求1所述的GCM-AES处理方法,其特征在于,所述步骤S8中,利用以下算式生成所述生成附加消息验证码:
;
其中,
Tag为所述附加消息验证码,Tag的下标表示对应的所述加密分组或所述解密分组于所述文本中的顺序;
AAD为所述附加消息,AAD的下标表示附加消息分组对应的所述加密分组或所述解密分组于所述文本中的顺序;
TXT表示所述加密分组或所述解密分组,TXT的下标表示所述加密分组或所述解密分组于所述文本中的顺序;
m表示所述附加消息的总位宽;
n表示所述文本的总位宽;
H表示所述第一密钥;
H2-H4表示所述第二密钥,所述第二密钥包括所述第一密钥的二阶密钥、三阶密钥和四阶密钥,上标表示阶数;
Ej0表示初始向量密文块。
7.一种GCM-AES处理装置,其特征在于,用于应用如权利要求1-6中任一所述的方法,还包括:
一第一文本分割模块,用以将一文本,按一第一位宽分割所述文本,以形成复数个文本块;
一第二文本分割模块,连接所述第一文本分割模块,用以将当前处理的所述文本块按一第二位宽分割成一预定数量的文本分组,以及将一附加消息队列中的附加消息分割成与当前处理的所述文本块中的所述文本分组一一对应的附加消息分组;
一第一密钥生成模块,连接所述第二文本分割模块,用以生成一对应当前处理的所述文本块的第一密钥;
一第一加密/解密模块,连接所述第二文本分割模块及所述第一密钥生成单元,用以根据所述第一密钥,并行的对所述文本块中对应的文本分组分别进行加密或解密,以形成与所述文本分组一一对应的加密分组或解密分组;
一第二密钥生成模块,连接所述第二文本分割模块,所述第一密钥生成模块,所述第一加密/解密模块,用以根据所述第一密钥、所述加密分组或解密分组以及复数个所述附加消息分组顺序生成复数个第二密钥,并使所述第一密钥与所述第二密钥数量之和等与所述当前文本块中的文本分组数量相等,并使所述第一密钥与所述第二密钥按照一预定规则与所述加密分组或解密分组一一对应;
一附加消息验证码生成模块,连接所述第二文本分割模块,所述第二密钥生成模块,所述第一加密/解密模块,用以根据复数个所述附加消息分组,及所述第一密钥,并行的对所述加密分组或所述解密分组生成附加消息验证码。
8.如权利要求7所述的GCM-AES处理装置,其特征在于,所述第二文本分割模块包括先进先出储存部件,所述先进先出储存部件,用以储存被分割的所述文本分组及所述附加消息分组。
9.如权利要求7所述的GCM-AES处理装置,其特征在于,还包括状态控制模块,分别连接所述第一文本分割模块,所述第二文本分割模块,所述第一密钥生成模块,所述第一加密/解密模块,所述第二密钥生成模块以及所述附加消息验证码生成模块,用以控制各个模块的状态。
10.如权利要求9所述的GCM-AES处理装置,其特征在于,所述状态控制模块包括有限状态机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310725690.6A CN116488795B (zh) | 2023-06-19 | 2023-06-19 | 一种gcm-aes处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310725690.6A CN116488795B (zh) | 2023-06-19 | 2023-06-19 | 一种gcm-aes处理方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116488795A true CN116488795A (zh) | 2023-07-25 |
CN116488795B CN116488795B (zh) | 2023-09-22 |
Family
ID=87223545
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310725690.6A Active CN116488795B (zh) | 2023-06-19 | 2023-06-19 | 一种gcm-aes处理方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116488795B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116933331A (zh) * | 2023-07-28 | 2023-10-24 | 三峡高科信息技术有限责任公司 | 一种基于wasm和web worker的多线程文件哈希方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060126835A1 (en) * | 2004-12-13 | 2006-06-15 | Kim Kwang O | High-speed GCM-AES block cipher apparatus and method |
CN101335741A (zh) * | 2007-06-28 | 2008-12-31 | 财团法人工业技术研究院 | 认证加密的迦罗瓦计数模式中赫序运算的加速方法与装置 |
US20100115017A1 (en) * | 2008-10-30 | 2010-05-06 | Chih-Hsu Yen | Semi-Sequential Galois Field Multiplier And The Method For Performing The Same |
US20140157005A1 (en) * | 2012-05-07 | 2014-06-05 | David H. Leventhal | Method and apparatus for a secure and deduplicated write once read many virtual disk |
CN109714151A (zh) * | 2019-01-14 | 2019-05-03 | 盛科网络(苏州)有限公司 | 基于aes-gcm的芯片数据处理方法及系统 |
US20210399876A1 (en) * | 2020-06-23 | 2021-12-23 | Intel Corporation | High throughput post quantum aes-gcm engine for tls packet encryption and decryption |
CN114679252A (zh) * | 2022-03-25 | 2022-06-28 | 芯河半导体科技(无锡)有限公司 | 一种MACsec AES算法资源共享方法 |
-
2023
- 2023-06-19 CN CN202310725690.6A patent/CN116488795B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060126835A1 (en) * | 2004-12-13 | 2006-06-15 | Kim Kwang O | High-speed GCM-AES block cipher apparatus and method |
CN101335741A (zh) * | 2007-06-28 | 2008-12-31 | 财团法人工业技术研究院 | 认证加密的迦罗瓦计数模式中赫序运算的加速方法与装置 |
US20100115017A1 (en) * | 2008-10-30 | 2010-05-06 | Chih-Hsu Yen | Semi-Sequential Galois Field Multiplier And The Method For Performing The Same |
US20140157005A1 (en) * | 2012-05-07 | 2014-06-05 | David H. Leventhal | Method and apparatus for a secure and deduplicated write once read many virtual disk |
CN109714151A (zh) * | 2019-01-14 | 2019-05-03 | 盛科网络(苏州)有限公司 | 基于aes-gcm的芯片数据处理方法及系统 |
US20210399876A1 (en) * | 2020-06-23 | 2021-12-23 | Intel Corporation | High throughput post quantum aes-gcm engine for tls packet encryption and decryption |
CN114679252A (zh) * | 2022-03-25 | 2022-06-28 | 芯河半导体科技(无锡)有限公司 | 一种MACsec AES算法资源共享方法 |
Non-Patent Citations (8)
Title |
---|
BENJAMIN BUHROW等: "A Highly Parallel AES-GCM Core for Authenticated Encryption of 400 Gb/s Network Protocols", 2015 INTERNATIONAL CONFERENCE ON RECONFIGURABLE COMPUTING AND FPGAS (RECONFIG) * |
JUNJIE SU等: "Parallel Implementation of AES-GCM with High Throughput and Energy Efficiency", 2018 INTERNATIONAL CONFERENCE ON NETWORKING AND NETWORK APPLICATIONS * |
LUCA HENZEN等: "FPGA Parallel-Pipelined AES-GCM Core for 100G Ethernet Applications", 2010 PROCEEDINGS OF ESSCIRC * |
SHAY GUERON: "AES-GCM for Efficient Authenticated Encryption – Ending the Reign of HMAC-SHA-1?", RWC 2013 * |
ZHUN ZHANG等: "High-Efficiency Parallel Cryptographic Accelerator for Real-Time Guaranteeing Dynamic Data Security in Embedded Systems", MICROMACHINES * |
张旭鹏: "媒体访问控制安全协议硬件设计与实现", 中国优秀硕士学位论文全文数据库(电子期刊), no. 10 * |
赵晶晶;李丽;潘红兵;许俊;吴志刚;林军;: "IEEE802.1AE中GCM的高速硬件实现", 电子与信息学报, no. 06 * |
赵晶晶等: "IEEE802.1AE 中 GCM 的高速硬件实现", 电子与信息学报, vol. 32, no. 6 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116933331A (zh) * | 2023-07-28 | 2023-10-24 | 三峡高科信息技术有限责任公司 | 一种基于wasm和web worker的多线程文件哈希方法 |
CN116933331B (zh) * | 2023-07-28 | 2024-02-06 | 三峡高科信息技术有限责任公司 | 一种基于wasm和web worker的多线程文件哈希方法 |
Also Published As
Publication number | Publication date |
---|---|
CN116488795B (zh) | 2023-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Mathur et al. | AES based text encryption using 12 rounds with dynamic key selection | |
CN110313146B (zh) | 模糊度增强 | |
US9209967B2 (en) | Precalculated encryption key | |
US10320554B1 (en) | Differential power analysis resistant encryption and decryption functions | |
US8983063B1 (en) | Method and system for high throughput blockwise independent encryption/decryption | |
US8259934B2 (en) | Methods and devices for a chained encryption mode | |
US20060023875A1 (en) | Enhanced stream cipher combining function | |
Huang et al. | A novel structure with dynamic operation mode for symmetric-key block ciphers | |
CN116488795B (zh) | 一种gcm-aes处理方法和装置 | |
EP2904731B1 (en) | Method and device for digital data blocks encryption and decryption | |
Priya et al. | FPGA implementation of efficient AES encryption | |
WO2021176242A1 (en) | Scrambler apparatus and method in particular for cryptographic applications, and descrambler apparatus and method therefor | |
Assafli et al. | Generation and Evaluation of a New Time-Dependent Dynamic S-Box Algorithm for AES Block Cipher Cryptosystems | |
Abbas et al. | An efficient implementation of PBKDF2 with RIPEMD-160 on multiple FPGAs | |
Bajaj et al. | AES algorithm for encryption | |
Naidu et al. | Design of high throughput and area efficient advanced encryption system core | |
Surabhi et al. | Advanced 256-Bit Aes Encyption With Plain Text Partitioning | |
Kumar et al. | Implementation of AES algorithm using VHDL | |
Dulla et al. | A unique message encryption technique based on enhanced blowfish algorithm | |
Dalakoti et al. | Hardware efficient AES for image processing with high throughput | |
Landge et al. | VHDL based Blowfish implementation for secured embedded system design | |
CN111740818A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
Guzmán et al. | FPGA implementation of the AES-128 algorithm in non-feedback modes of operation | |
Abbas et al. | Dictionary Attack on TRUECRYPT with RIVYERA S3-5000 | |
Shete et al. | Image Encryption using AES Algorithm: Study and Evaluation |
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 |