CN106888082B - 一种用于加密解密的方法和处理器 - Google Patents

一种用于加密解密的方法和处理器 Download PDF

Info

Publication number
CN106888082B
CN106888082B CN201510946603.5A CN201510946603A CN106888082B CN 106888082 B CN106888082 B CN 106888082B CN 201510946603 A CN201510946603 A CN 201510946603A CN 106888082 B CN106888082 B CN 106888082B
Authority
CN
China
Prior art keywords
register
data
instruction
mem
addr8
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.)
Active
Application number
CN201510946603.5A
Other languages
English (en)
Other versions
CN106888082A (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 Jinghang Computing Communication Research Institute
Original Assignee
Beijing Jinghang Computing Communication Research Institute
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 Jinghang Computing Communication Research Institute filed Critical Beijing Jinghang Computing Communication Research Institute
Priority to CN201510946603.5A priority Critical patent/CN106888082B/zh
Publication of CN106888082A publication Critical patent/CN106888082A/zh
Application granted granted Critical
Publication of CN106888082B publication Critical patent/CN106888082B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0631Substitution 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算法也足以满足应用的需要。
现有技术中采用一种把128位数据路径转变成32位数据路径的技术。这类变换能够把某些子模块的面积减少到原来的四分之一。为了进一步减少面积,现有技术中还通过引入专用处理器实现了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算法中的AddRoundkey操作。
其中,用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 (5)

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;
所述用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均同时执行多项并行操作。
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所述的处理器,其特征在于,所述加密、解密模块在Galois乘二操作的基础上实现其他常数乘法时,通过自然数的二进制表示方式把任意的常数乘法操作转换为乘二操作和Galois加法操作。
5.一种用于加密解密的方法,其特征在于,包括以下步骤;
秘钥生成模块,通过第一指令启动端口数据读入操作,并设置数据存储器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操作;
所述用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均同时执行多项并行操作。
CN201510946603.5A 2015-12-16 2015-12-16 一种用于加密解密的方法和处理器 Active CN106888082B (zh)

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 CN106888082A (zh) 2017-06-23
CN106888082B true 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)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107679409B (zh) * 2017-09-29 2021-02-23 深圳大学 一种数据加密的加速方法和系统

Citations (2)

* Cited by examiner, † Cited by third party
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处理器及其实现方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9135834B2 (en) * 2013-04-30 2015-09-15 The United Sates of America 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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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处理器及其实现方法

Also Published As

Publication number Publication date
CN106888082A (zh) 2017-06-23

Similar Documents

Publication Publication Date Title
CN108702286B (zh) 抗功率侧信道攻击的高级加密标准加速器处理器
Tillich et al. Instruction set extensions for efficient AES implementation on 32-bit processors
US8700919B2 (en) Switch key instruction in a microprocessor that fetches and decrypts encrypted instructions
EP2889760B1 (en) SMS4 acceleration processors, methods, systems, and instructions
TW201717030A (zh) 用於記憶體位址範圍的支持可組態安全性級別
CN110233720A (zh) Sm4加速处理器、方法和系统
EP3537330B1 (en) A decryption method and circuit, corresponding device
JP2019207393A (ja) 高性能認証付き暗号に関するハードウェアアクセラレータ及び方法
US10204532B2 (en) Multiple input cryptographic engine
WO2014055136A1 (en) Parallelized counter tree walk for low overhead memory replay protection
Kundi et al. A high performance ST-Box based unified AES encryption/decryption architecture on FPGA
EP3716524A2 (en) Ultra-low latency advanced encryption standard
CN107749792A (zh) 实现数据加解密的方法、系统及计算机可读存储介质
Xie et al. Securing emerging nonvolatile main memory with fast and energy-efficient AES in-memory implementation
US20190386816A1 (en) Cryptography method and circuit, corresponding device
CN107566113A (zh) 3des对称加解密方法、系统及计算机可读存储介质
CN109565438A (zh) 混合aes-sms4硬件加速器
CN106888082B (zh) 一种用于加密解密的方法和处理器
CN102411683A (zh) 一种适用于嵌入式系统的基于高速缓存的aes加速器
CN114371829A (zh) 多项式乘法器中的数据处理方法、多项式乘法器及处理器
US20200007329A1 (en) Accelerator for encrypting or decrypting confidential data with additional authentication data
TWI274281B (en) Apparatus and method for performing transparent block cipher cryptographic functions
Azad et al. RISE: RISC-V SoC for En/Decryption Acceleration on the Edge for Homomorphic Encryption
CN110034918B (zh) 一种sm4加速方法和装置
CN110336658A (zh) 基于aes算法的加密方法、用户设备、存储介质及装置

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