CN106888082A - 一种用于加密解密的方法和处理器 - Google Patents
一种用于加密解密的方法和处理器 Download PDFInfo
- Publication number
- CN106888082A CN106888082A CN201510946603.5A CN201510946603A CN106888082A CN 106888082 A CN106888082 A CN 106888082A CN 201510946603 A CN201510946603 A CN 201510946603A CN 106888082 A CN106888082 A CN 106888082A
- Authority
- CN
- China
- Prior art keywords
- register
- data
- instruction
- addr8
- mem
- 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
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/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
本发明实施例公开的用于加密解密的方法和处理器,涉及加密解密技术,有效减少AES在FPGA的实现中占用的逻辑单元数。把输入数据存放在输入数据寄存器中,更新数据存储地址addr=addr1+addr8;如循环计数器小于该指令中的循环计数,变址寄存器和循环计数器分别加一,然后转移到addr8指定的指令地址,循环计数器置0,实现0到15范围内的循环操作;在进行寄存器写操作的同时把该寄存器原有数据保留到另一个寄存器,把存储器到寄存器的读取操作和该寄存器到另一寄存器的写操作组合在同一条指令中,用6条指令实现一个16次循环的程序块,用于加密解密。
Description
技术领域
本发明涉及加密解密技术领域,尤其涉及一种用于加密解密的方法和处理器。
背景技术
AES是目前流行程度比较高,可靠性比较好的一种加密解密算法。该算法在1998年提出,很快被定美国国家标准与技术研究所(NIST)定为高级加密标准,2006年之后在国际上广泛流行。
AES算法的秘钥分成128位,192位和256位三种。大众产品普遍采用128位版本,最高机密可用256位版本。
在实现技术方面,AES算法分成采用软件实现,FPGA实现以及ASIC实现。软件实现价格低廉灵活高,ASIC实现代价高性能也高。FPGA实现是两者之间的折中。目前,很多嵌入式系统中都包含了FPGA,因此适用于FPGA的AES实现有广泛的需求。
AES在硬件中的直接实现方案占用较大的面积。FPGA资源有限,FPGA的价格同FPGA中的资源量直接关联,资源越多价格越贵。因此,怎样减少面积是AES的FPGA实现所要解决的一个重要问题。
AES算法中包含了大量的并行操作。在硬件实现中,并行操作增加了面积。因此,减少AES面积的一个重要途径就是把并行操作通过顺序方式实现。虽然这样做会降低算法的速度,但是在很多情况下,顺序AES算法也足以满足应用的需要。
文献[1,2]采用一种把128位数据路径转变成32位数据路径的技术。这类变换能够把某些子模块的面积减少到原来的四分之一。为了进一步减少面积,文献[3,4]通过引入专用处理器实现了8位数据路径的AES实现。但这两篇文献并没有公布他们所涉及的处理器指令集以及处理器的实现细节。从文献介绍来看,某些实现技术并没有采用面积最小的实现方案。比如,在处理器中引入对子程序调用的支持,这一方案需要多占用一定的FPGA面积。
发明内容
本发明的目的在于克服现有技术不足,提供了一种用于加密解密的方法和处理器,能够有效的减少AES在FPGA的实现中所占用的逻辑单元数。
本发明的技术解决方案:
一方面,一种用于加密解密的处理器,包括:秘钥生成模块和加密、解密模块;
其中,所述秘钥生成模块,用于通过第一指令启动端口数据读入操作,并设置数据存储器ram的写操作使能为1,并把输入数据存放在数据存储器ram的输入数据寄存器中,以便下一时钟周期把输入数据读入数据存储器,所述第一指令用指令中的地址addr8域和变址寄存器addr1更新数据存储地址:addr=addr1+addr8;第二指令在循环计数器cnt2小于该指令中的循环计数cntv的条件下把变址寄存器addr1和循环计数器cnt2分别加一,然后转移到addr8指定的指令地址,循环计数器cnt2置0,所述第一指令和所述第二指令相结合实现0到15范围内的循环操作;
所述加密、解密模块,用于AES加密和解密过程中,在进行寄存器写操作的同时把该寄存器原有数据保留到另一个寄存器,把存储器到寄存器的读取操作和该寄存器到另一寄存器的写操作组合在同一条指令中,以实现两个并行的寄存器数据转移操作;用6条指令实现一个16次循环的程序块,该程序块能够完成数据存储区中的待加密文本数据同密钥做XOR操作并且把结果放回数据存储区,用以实现AES算法中的Add Roundkey操作,以上所涉及指令的结构包括操作符op、循环计数cntv和地址addr8。
进一步可选的,所述在进行寄存器写操作的同时把该寄存器原有数据保留到另一个寄存器为:第三指令在cntv=0时把addr1同addr8相加,结果放入addr,用于把数据存储器ram的数据ram[addr]读入到输出数据缓存寄存器mem_out中,同时,把输出数据缓存寄存器mem_out中原先的数据存入通用数据寄存器reg8。
进一步可选的,所述把存储器到寄存器的读取操作和该寄存器到另一寄存器的写操作组合在同一条指令中为:在指令2中实现reg8<-mem_out和addr<-addr1+addr8两个操作:后一操作将把ram[addr]读入到输出数据缓存寄存器mem_out中,指令2的一个应用是在密钥扩展中从数据存储器中读取前一次存放的密钥数据。
进一步可选的,所述用6条指令实现一个16次循环的程序块为:指令A和指令B进行循环的初始化,循环终结指令9做循环结束判断并且在未结束的情况下将控制跳转到指令B的下一条指令,循环次数通过指令C的cntv域设定为16进制的F,表示向后跳转15次,循环体总计执行16次,文本数据和密钥数据通过指令D的两次调用读取,指令D的第一次调用读取文本数据到输出数据缓存寄存器mem_out,第二次调用读取密钥数据到输出数据缓存寄存器mem_out,同时把原先输出数据缓存寄存器mem_out中数据转储到通用数据寄存器reg8,指令E把输出数据缓存寄存器mem_out和通用数据寄存器reg8两个寄存器的内容做XOR操作并保存在写入数据缓存寄存器mem_in,同时把写入地址保存在addr,下一个时钟上升沿将把数据写入数据存储器,在这一过程中,指令D和指令E均同时执行多项并行操作。
进一步可选的,所述加密、解密模块在Galois乘二操作的基础上实现其他常数乘法时,通过自然数的二进制表示方式把任意的常数乘法操作转换为乘二操作和Galois加法操作。
另一方面、一种用于加密解密的方法,包括以下步骤;
秘钥生成模块,通过第一指令启动端口数据读入操作,并设置数据存储器ram的写操作使能为1,并把输入数据存放在数据存储器ram的输入数据寄存器中,以便下一时钟周期把输入数据读入数据存储器,所述第一指令用指令中的地址addr8域和变址寄存器addr1更新数据存储地址:addr=addr1+addr8;第二指令在计数器cnt2小于该指令中的循环计数cntv的条件下把变址寄存器addr1和循环计数器cnt2分别加一,然后转移到addr8指定的指令地址,循环计数器cnt2置0,所述第二指令同指令0相结合实现0到15范围内的循环操作;
加密、解密模块在AES加密和解密过程中,在进行寄存器写操作的同时把该寄存器原有数据保留到另一个寄存器,把存储器到寄存器的读取操作和该寄存器到另一寄存器的写操作组合在同一条指令中,以实现两个并行的寄存器数据转移操作;用6条指令实现一个16次循环的程序块,该程序块能够完成数据存储区中的待加密文本数据同密钥做XOR操作并且把结果放回数据存储区,用以实现AES算法中的Add Roundkey操作。
本发明实施例提供的一种用于加密解密的方法和处理器,该处理器包括秘钥生成模块,从输入秘钥出发,按照AES算法生成内部秘钥;加密模块,在秘钥生成之后,实现AES加密;解密模块,在秘钥生成之后,实现AES解密。在完成AES加密和解密功能的情况下,对处理器的架构和指令集进行优化,采用较少的指令数,并且使每条指令结构简单;同时,为了保证一定的性能,每条指令执行尽可能多的操作。
附图说明
所包括的附图用来提供对本发明实施例的进一步的理解,其构成了说明书的一部分,用于例示本发明的实施例,并与文字描述一起来阐释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种用于加密解密的处理器结构示意图;
图2为图1所示处理器及其对应方法所涉及的指令结构图。
具体实施方式
下面将结合附图对本发明的具体实施例进行详细说明。在下面的描述中,出于解释而非限制性的目的,阐述了具体细节,以帮助全面地理解本发明。然而,对本领域技术人员来说显而易见的是,也可以在脱离了这些具体细节的其它实施例中实践本发明。
在此需要说明的是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的设备结构和/或处理步骤,而省略了与本发明关系不大的其他细节。
本发明实施例提供一种用于加密解密的处理器,如图1所示,包括:秘钥生成模块和加密、解密模块;
其中,秘钥生成模块,用于通过第一指令启动端口数据(intext)读入操作,并设置数据存储器ram的写操作使能为1(wten=1),并把输入数据(intext)存放在数据存储器ram的输入数据寄存器(mem_in)中,以便下一时钟周期把输入数据读入数据存储器(ram),所述第一指令用指令中的addr8域和变址寄存器addr1更新数据存储地址:addr=addr1+addr8;
第二指令在计数器cnt2小于cntv的条件下把变址寄存器addr1和循环计数器cnt2分别加一,然后转移到addr8指定的指令地址,循环计数器cnt2置0,所述第二指令同指令0相结合实现0到15范围内的循环操作,只用两条指令实现次数小于等于16的循环的控制方法。该方法可用于实现把16个字节(128位)输入秘钥或输入数据保存到数据存储器,其中,第一指令可以是操作符为0(op=0)的指令,第二指令可以是操作符为9(op=9)的指令,循环计数器cnt2置0的方式可以采用初始化阶段置0以及用其他本领域技术人员熟悉的指令置0方式,此处不再赘述;
加密、解密模块,用于AES加密和解密过程中,在进行寄存器写操作的同时把该寄存器原有数据保留到另一个寄存器,这一方法减少了存储器的访问次数,通过写操作的并行执行提高性能。具体的,第三指令在cntv=0时把addr1同addr8相加,结果放入addr,用于把数据存储器ram的数据ram[addr]读入到寄存器mem_out中,同时,把寄存器mem_out中原先的数据存入寄存器reg8,具体的,把存储器到寄存器的读取操作和该寄存器到另一寄存器的写操作组合在同一条指令中,实现两个并行的寄存器数据转移操作。具体的,存储器读取的内容存放到一个寄存器,同时把该寄存器的内容存放到另一个寄存器。在指令2中实现了两个操作:reg8<-mem_out,addr<-addr1+addr8,后一操作将把ram[addr]读入到寄存器mem_out中,指令2的一个应用是在密钥扩展中从数据存储器中读取前一次存放的密钥数据,以实现两个并行的寄存器数据转移操作,第三指令可以是操作符为2的指令;
用6条指令实现一个16次循环的程序块,该程序块能够完成数据存储区中的待加密文本数据同密钥做XOR操作并且把结果放回数据存储区,用以实现AES算法中的Add Roundkey操作。
其中,用6条指令实现一个16次循环的程序块为:指令A和指令6进行循环的初始化,循环终结指令9做循环结束判断并且在未结束的情况下将控制跳转到指令6的下一条指令,循环次数通过指令9的cntv域设定为16进制的F,表示向后跳转15次,循环体总计执行16次,文本数据和密钥数据通过指令2的两次调用读取,指令2的第一次调用读取文本数据到寄存器mem_out,第二次调用读取密钥数据到寄存器mem_out,同时把原先寄存器mem_out中数据转储到reg8,指令8把mem_out和reg8两个寄存器的内容做XOR操作并保存在mem_in,同时把写入地址保存在addr,下一个时钟上升沿将把数据写入数据存储器,在这一过程中,指令2和指令8均同时执行多项并行操作。
需要说明的是,如图2所示,以上所涉及指令的结构包括操作符op、循环计数cntv和地址addr8。
进一步可选的,加密、解密模块在Galois乘二操作的基础上实现其他常数乘法时,通过自然数的二进制表示方式把任意的常数乘法操作转换为乘二操作和Galois加法操作。
本发明实施例提供的一种用于加密解密的处理器,该处理器包括秘钥生成模块,从输入秘钥出发,按照AES算法生成内部秘钥;加密模块,在秘钥生成之后,实现AES加密;解密模块,在秘钥生成之后,实现AES解密。在完成AES加密和解密功能的情况下,对处理器的架构和指令集进行优化,采用较少的指令数,并且使每条指令结构简单;同时,为了保证一定的性能,每条指令执行尽可能多的操作。
本发明实施例提供一种用于加密解密的方法,包括以下步骤;
秘钥生成模块,通过第一指令启动端口数据读入操作,并设置数据存储器ram的写操作使能为1,并把输入数据存放在数据存储器ram的输入数据寄存器中,以便下一时钟周期把输入数据读入数据存储器,所述第一指令用指令中的addr8域和变址寄存器addr1更新数据存储地址:addr=addr1+addr8;第二指令在计数器cnt2小于cntv的条件下把变址寄存器addr1和循环计数器cnt2分别加一,然后转移到addr8指定的指令地址,循环计数器cnt2置0,所述第二指令同指令0相结合实现0到15范围内的循环操作;
加密、解密模块在AES加密和解密过程中,在进行寄存器写操作的同时把该寄存器原有数据保留到另一个寄存器,把存储器到寄存器的读取操作和该寄存器到另一寄存器的写操作组合在同一条指令中,以实现两个并行的寄存器数据转移操作;用6条指令实现一个16次循环的程序块,该程序块能够完成数据存储区中的待加密文本数据同密钥做XOR操作并且把结果放回数据存储区,用以实现AES算法中的Add Roundkey操作。
本发明实施例提供的一种用于加密解密的方法,该处理器包括秘钥生成模块,从输入秘钥出发,按照AES算法生成内部秘钥;加密模块,在秘钥生成之后,实现AES加密;解密模块,在秘钥生成之后,实现AES解密。在完成AES加密和解密功能的情况下,对处理器的架构和指令集进行优化,采用较少的指令数,并且使每条指令结构简单;同时,为了保证一定的性能,每条指令执行尽可能多的操作。
如上针对一种实施例描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施例中使用,和/或与其它实施例中的特征相结合或替代其它实施例中的特征使用。
应该强调,术语“包括/包含”在本文使用时指特征、整件、步骤或组件的存在,但并不排除一个或更多个其它特征、整件、步骤、组件或其组合的存在或附加。
这些实施例的许多特征和优点根据该详细描述是清楚的,因此所附权利要求旨在覆盖这些实施例的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施例限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。
本发明未详细说明部分为本领域技术人员公知技术。
Claims (6)
1.一种用于加密解密的处理器,其特征在于,包括:秘钥生成模块和加密、解密模块;
其中,所述秘钥生成模块,用于通过第一指令启动端口数据读入操作,并设置数据存储器ram的写操作使能为1,并把输入数据存放在数据存储器ram的输入数据寄存器中,以便下一时钟周期把输入数据读入数据存储器,所述第一指令用指令中的地址addr8域和变址寄存器addr1更新数据存储地址:addr=addr1+addr8;第二指令在循环计数器cnt2小于该指令中的循环计数cntv的条件下把变址寄存器addr1和循环计数器cnt2分别加一,然后转移到addr8指定的指令地址,循环计数器cnt2置0,所述第一指令和所述第二指令相结合实现0到15范围内的循环操作;
所述加密、解密模块,用于AES加密和解密过程中,在进行寄存器写操作的同时把该寄存器原有数据保留到另一个寄存器,把存储器到寄存器的读取操作和该寄存器到另一寄存器的写操作组合在同一条指令中,以实现两个并行的寄存器数据转移操作;用6条指令实现一个16次循环的程序块,该程序块能够完成数据存储区中的待加密文本数据同密钥做XOR操作并且把结果放回数据存储区,用以实现AES算法中的Add Roundkey操作,以上所涉及指令的结构包括操作符op、循环计数cntv和地址addr8。
2.根据权利要求1所述的处理器,其特征在于,所述在进行寄存器写操作的同时把该寄存器原有数据保留到另一个寄存器为:第三指令在cntv=0时把addr1同addr8相加,结果放入addr,用于把数据存储器ram的数据ram[addr]读入到输出数据缓存寄存器mem_out中,同时,把输出数据缓存寄存器mem_out中原先的数据存入通用数据寄存器reg8。
3.根据权利要求2所述的处理器,其特征在于,所述把存储器到寄存器的读取操作和该寄存器到另一寄存器的写操作组合在同一条指令中为:在指令中实现reg8<-mem_out和addr<-addr1+addr8两个操作:后一操作将把ram[addr]读入到输出数据缓存寄存器mem_out中,该指令的一个应用是在密钥扩展中从数据存储器中读取前一次存放的密钥数据。
4.根据权利要求3所述的处理器,其特征在于,所述用6条指令实现一个16次循环的程序块为:指令A和指令B进行循环的初始化,循环终结指令9做循环结束判断并且在未结束的情况下将控制跳转到指令B的下一条指令,循环次数通过指令C的cntv域设定为16进制的F,表示向后跳转15次,循环体总计执行16次,文本数据和密钥数据通过指令D的两次调用读取,指令D的第一次调用读取文本数据到输出数据缓存寄存器mem_out,第二次调用读取密钥数据到输出数据缓存寄存器mem_out,同时把原先输出数据缓存寄存器mem_out中数据转储到通用数据寄存器reg8,指令E把输出数据缓存寄存器mem_out和通用数据寄存器reg8两个寄存器的内容做XOR操作并保存在写入数据缓存寄存器mem_in,同时把写入地址保存在addr,下一个时钟上升沿将把数据写入数据存储器,在这一过程中,指令D和指令E均同时执行多项并行操作。
5.根据权利要求4所述的处理器,其特征在于,所述加密、解密模块在Galois乘二操作的基础上实现其他常数乘法时,通过自然数的二进制表示方式把任意的常数乘法操作转换为乘二操作和Galois加法操作。
6.一种用于加密解密的方法,其特征在于,包括以下步骤;
秘钥生成模块,通过第一指令启动端口数据读入操作,并设置数据存储器ram的写操作使能为1,并把输入数据存放在数据存储器ram的输入数据寄存器中,以便下一时钟周期把输入数据读入数据存储器,所述第一指令用指令中的地址addr8域和变址寄存器addr1更新数据存储地址:addr=addr1+addr8;第二指令在计数器cnt2小于该指令中的循环计数cntv的条件下把变址寄存器addr1和循环计数器cnt2分别加一,然后转移到addr8指定的指令地址,循环计数器cnt2置0,所述第一指令和所述第二指令同指令0相结合实现0到15范围内的循环操作;
加密、解密模块在AES加密和解密过程中,在进行寄存器写操作的同时把该寄存器原有数据保留到另一个寄存器,把存储器到寄存器的读取操作和该寄存器到另一寄存器的写操作组合在同一条指令中,以实现两个并行的寄存器数据转移操作;用6条指令实现一个16次循环的程序块,该程序块能够完成数据存储区中的待加密文本数据同密钥做XOR操作并且把结果放回数据存储区,用以实现AES算法中的Add Roundkey操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510946603.5A CN106888082B (zh) | 2015-12-16 | 2015-12-16 | 一种用于加密解密的方法和处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510946603.5A CN106888082B (zh) | 2015-12-16 | 2015-12-16 | 一种用于加密解密的方法和处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106888082A true CN106888082A (zh) | 2017-06-23 |
CN106888082B CN106888082B (zh) | 2019-09-10 |
Family
ID=59175528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510946603.5A Active CN106888082B (zh) | 2015-12-16 | 2015-12-16 | 一种用于加密解密的方法和处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106888082B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107679409A (zh) * | 2017-09-29 | 2018-02-09 | 深圳大学 | 一种数据加密的加速方法和系统 |
CN112035400A (zh) * | 2020-09-08 | 2020-12-04 | 福州大学 | 一种基于fpga的跨步访问数据流检测电路及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1558591A (zh) * | 2003-12-04 | 2004-12-29 | 智慧第一公司 | 重组透明化区块密码编译方法及装置 |
CN103152165A (zh) * | 2013-01-25 | 2013-06-12 | 西安电子科技大学 | 基于fpga的超高速aes处理器及其实现方法 |
US20140321639A1 (en) * | 2013-04-30 | 2014-10-30 | The Government Of The United States As Represented By The Secretary Of The Air Force | Apparatus and method to prevent side channel power attacks in advanced encryption standard using floating point operation |
-
2015
- 2015-12-16 CN CN201510946603.5A patent/CN106888082B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1558591A (zh) * | 2003-12-04 | 2004-12-29 | 智慧第一公司 | 重组透明化区块密码编译方法及装置 |
CN103152165A (zh) * | 2013-01-25 | 2013-06-12 | 西安电子科技大学 | 基于fpga的超高速aes处理器及其实现方法 |
US20140321639A1 (en) * | 2013-04-30 | 2014-10-30 | The Government Of The United States As Represented By The Secretary Of The Air Force | Apparatus and method to prevent side channel power attacks in advanced encryption standard using floating point operation |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107679409A (zh) * | 2017-09-29 | 2018-02-09 | 深圳大学 | 一种数据加密的加速方法和系统 |
CN112035400A (zh) * | 2020-09-08 | 2020-12-04 | 福州大学 | 一种基于fpga的跨步访问数据流检测电路及方法 |
CN112035400B (zh) * | 2020-09-08 | 2024-06-04 | 福州大学 | 一种基于fpga的跨步访问数据流检测电路及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106888082B (zh) | 2019-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10454669B2 (en) | SM4 acceleration processors, methods, systems, and instructions | |
CN112865954B (zh) | 用于Paillier解密的加速器、芯片及系统 | |
EP2889760B1 (en) | SMS4 acceleration processors, methods, systems, and instructions | |
CN107924367A (zh) | 计算存储器中可执行项的加密 | |
US20140164793A1 (en) | Cryptographic information association to memory regions | |
CN109565438B (zh) | 混合加密算法的硬件加速器及其系统 | |
TW200830327A (en) | System and method for encrypting data | |
Hutter et al. | NaCl’s crypto_box in hardware | |
US20210006391A1 (en) | Data processing method, circuit, terminal device and storage medium | |
US20140149743A1 (en) | Two dimensional direct memory access scheme for enhanced network protocol processing performance | |
CN107749792A (zh) | 实现数据加解密的方法、系统及计算机可读存储介质 | |
WO2019229192A1 (en) | Memory-efficient hardware cryptographic engine | |
US20170302438A1 (en) | Advanced bus architecture for aes-encrypted high-performance internet-of-things (iot) embedded systems | |
CN102411683B (zh) | 一种适用于嵌入式系统的基于高速缓存的aes加速器 | |
Homsirikamol et al. | A universal hardware API for authenticated ciphers | |
CN106888082A (zh) | 一种用于加密解密的方法和处理器 | |
CN107437988A (zh) | 防止侧信道分析攻击的电子电路及包括该电路的电子设备 | |
US11516013B2 (en) | Accelerator for encrypting or decrypting confidential data with additional authentication data | |
Iyer et al. | Efficient hardware architectures for AES on FPGA | |
CN104539417A (zh) | 一种基于流密码的加密设备 | |
Roldán Lombardía et al. | Six shades lighter: a bit-serial implementation of the AES family | |
US9014370B2 (en) | High performance hardware-based execution unit for performing C2 block cipher encryption/decryption | |
CN106209370A (zh) | 椭圆曲线密码芯片装置、系统及数据缓存控制方法 | |
Le et al. | Efficient and High-Speed CGRA Accelerator for Cryptographic Applications | |
US20150318984A1 (en) | Initialization vectors generation from encryption/decryption |
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 |