CN102223228A - 基于fpga的aes加密芯片设计方法及嵌入式加密系统 - Google Patents

基于fpga的aes加密芯片设计方法及嵌入式加密系统 Download PDF

Info

Publication number
CN102223228A
CN102223228A CN2011101216122A CN201110121612A CN102223228A CN 102223228 A CN102223228 A CN 102223228A CN 2011101216122 A CN2011101216122 A CN 2011101216122A CN 201110121612 A CN201110121612 A CN 201110121612A CN 102223228 A CN102223228 A CN 102223228A
Authority
CN
China
Prior art keywords
aes
encryption
key
row
algorithm
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.)
Pending
Application number
CN2011101216122A
Other languages
English (en)
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.)
Beihang University
Original Assignee
Beihang University
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 Beihang University filed Critical Beihang University
Priority to CN2011101216122A priority Critical patent/CN102223228A/zh
Publication of CN102223228A publication Critical patent/CN102223228A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Storage Device Security (AREA)

Abstract

本发明公开了一种基于FPGA的AES加密芯片的设计方法,它是针对嵌入式系统需求而设计的,即可以以固体芯片的形式使用,也可以以软件模块的方式使用。同时支持ECB,CBC,CTR三种操作模式,可完成AES所有标准的加密和解密。对字节替换和密钥扩展采用查表的优化算法,并提出了列混合的优化结构,在保证运算速度下节约了器件资源。利用FPGA自带的双端口可配置RAM作为信息与密钥的缓存,解决其他器件或设备与FPGA通信的时序和数据存储问题。采用存储总线方式与FPGA接口并为安全可靠通信加入CRC检错。所述AES加密芯片具有安全性高、加解密速度快、器件资源要求低、成本低等优点,可广泛应用于智能卡系统,ATM取款机,无线局域网,无线传感器网等信息技术产业中。

Description

基于FPGA的AES加密芯片设计方法及嵌入式加密系统
技术领域
本发明是一种对信息及数据进行加解密的IC芯片及嵌入式加密系统的设计方法。即它充分利用FPGA的硬件可靠性及其逻辑编程的灵活性实现AES加密算法,其中还涉及保证处理速度的情况下如何减少器件资源的设计方法,这种方法支持AES的所有标准以及三种非反馈模式:电子密码本(ECB),密码分组链接模式(CBC)和计数器模式(CTR),以及该芯片应用于嵌入式系统的方法。
背景技术
目前国内外信息技术产业都需要加解密系统来提高信息的安全性,如智能卡系统(Smart Card),手机银行系统(Cell Phone Bank),万维网(WWW),ATM取款机,无线局域网(WLAN),无线传感器网(WSN)等。
密码技术是实现信息安全传输最常用、最有效的安全保护方法。而加密则是密码技术中最基础和最关键的实现手段之一。通过加密变换,将可读的文件变换成不可理解的乱码,从而起到保护信息和数据的作用。它直接支持机密性、完整性和非否认性。当前信息安全的主流技术和理论都是基于算法复杂性理论为特征的现代密码学。自1997年,美国国家标准研究院(NIST)开始寻找一种标准来替换DES(Data Encryption Standard),并于2000年10月选择了两位比利时研究者Daemen和Rijmen提出的Rijndael算法作为最新的加密算法标准(AES,Advanced Encryption Standard)以取代使用多年的DES,目前尚未发现有效的攻击手段来破解AES。
密码算法的实现是其得到广泛工业应用的前提和先决条件,但是和DES分组加密算法相比,实现难度高,特别是在嵌入式系统中,微处理器的运算能力有限,软件实现往往难以保证必要的数据吞吐率,需要增加密码协处理器来辅助主控器完成AES算法的整体功能,而且与软件加密系统相比,硬件加密系统更加安全可靠。
同时随着电子技术的快速发展,由嵌入式微控制器组成的系统即嵌入式系统,最明显的优势就是可以嵌入到任何微型或小型仪器、设备中。早期,嵌入式系统以ASIC技术为支持,但其设计周期长、投入费用高、风险较大,在嵌入式系统中的应用受到了一定的限制。后来,可编程逻辑器件得到了迅速的发展,尤其是高密度现场可编程逻辑器件FPGA的设计性能已完全能够与ASIC媲美,因此,FPGA在嵌入式系统设计领域中得到了广泛的应用。
由于FPGA的这些先天的优势,再加上FPGA价格越来越被市场接受和认可,以“嵌入式微控制器+FPGA”为核心的嵌入式系统体系结构因其强大的处理能力和灵活的工作方式而被广泛采用,其在嵌入式系统中的前景也广为看好。
在经过对现有技术的文献检索中发现,中国专利“AES加密芯片的设计方法及电脑加密机”,公开号CN 10626289A,公开日2010年1月13日的专利是针对电脑加密机设计的加密芯片,是通过查表法来减少电路资源的,而未从AES的理论算法出发,进一步提出减少电路资源的新方法,并且未考虑AES的操作模式问题以及通信检错。在AES基础分组密码算法之后有不同的运行模式,这些运行模式能够增强分组密码算法的不确定性(随机性)。例如:它可将明文消息运作成任意长度,从而使得密文长度不必与明文长度相关;加强对错误传播的控制;方便于流密码的密钥生成等。而多种类的操作模式和多种类的通信检错方法会增强加密芯片的安全性和应用面。
发明内容
根据上述技术问题,本发明提出了一种基于FPGA和存储总线方式的AES加密芯片以及设备的设计。并开发成功,可作为SoC系统的IP核,所编程成功的芯片可作为IC芯片和嵌入式系统中的外设使用。它实现的是AES加密方式,支持AES的所有加密标准;同时支持加密与解密;支持多种模式,同时支持ECB,CBC,CTR三种非反馈模式;列混合和逆列混合的优化算法;占有器件资源少,对器件的要求低,从而芯片成本低;具有独立的资源存储区;密钥模块可在掉电后可自动初始化,避免密钥重复读写;其他设备工作时钟频率与FPGA本身工作时钟频率不同的矛盾的解决;支持可以应用到多数的单片机或者嵌入式系统中的存储总线方式及握手控制方式;通信检错方法支持三种CRC检错模式;速度适中,能够满足大部分的加密系统需求。
为解决上述技术问题,本发明采用以下技术方案予以实现:
一种AES加密芯片的设计方法,在芯片内部设计如下部分:
接口存储区模块,用于实现加密芯片对外部给入信息及内部待传出信息的存储,分为两类,一类是RAM型,另一类是寄存器型。接口存储区模块不仅完成存储功能,而且同时用来解决外部数据总线与AES加解密数据处理宽度不同的矛盾,其中密钥RAM、初始向量IV和初始计数器CTR0的RAM可进行掉电初始化,从而保证不必要的密钥重复读写,与此同时RAM作为数据缓存器,能解决ARM与FPGA间存储总线频率与FPGA本身工作时钟频率不同的矛盾,避免因速度不一致而丢失数据;
接口控制模块,用于控制明文、密文、密钥初始向量IV和初始计数器CTR0、各个模式类型及CRC代码的装载过程,加密结果、解密结果的输出过程,AES算法、CRC算法及模式选择的执行过程;
AES算法模块,完成对明文的AES标准的加密操作及对密文的AES标准的解密操作;
CRC算法模块,完成对传入和传出信息的验证,避免加密芯片与外界进行数据信息交互时产生错误的传输;
模式选择模块,对AES加密标准、加密与解密过程、操作模式及CRC校验模式的选择和确定。
下面对各部分的设计方法分别进行说明:
所述CRC算法模块,它支持三种CRC检错模式。因在使用硬件方法执行AES的过程中,都避免不了与外界进行数据信息的交互。在此过程中数据是否稳定和准确同样很重要。本发明提供了三种CRC数据检错模式,为数据的准确性提供了保障,其中CRC校验模式支持以下三种标准,分别定义为三种模式:
CRC1:G(x)=X16+X15+X2+1                                    (1)
CRC2:G(x)=X16+X12+X5+1                                    (2)
CRC3:G(x)=X32+X26+X23+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1  (3)
所述AES算法模块,支持AES的所有加密标准;同时支持加密与解密;支持多种模式,同时支持ECB,CBC,CTR三种非反馈模式;实现列混合和逆列混合的优化算法。下面对AES算法模块各部分设计分别进行说明:
(1)支持AES的所有加密标准
Rijndael算法采用的是Square结构,本质上是一种对称分组密码体制,其分组长度和密钥长度都是可以改变的,只是为了满足AES的要求才限定处理的分组大小为128位,而密钥长度规定为128位、192位和256位,相应的迭代轮数为10轮、12轮或14轮,如表1所示。
Figure BDA0000060566670000031
表1
(2)同时支持加密与解密
在同一个芯片或者系统中可以同时进行加密和解密运算,这样可以根据功能需求灵活使用。
(3)支持多种模式
在ECB模式中,一个明文分组加密成一个密文分组,每个明文分组都可被独立地进行加解密,因而对整个明文序列的加解密可以以随机的顺序进行,这对于加解密以随机顺序存储的文件,如数据库,是非常重要的。其工作过程如下:
ECB加密:yi←ek(xi),i≥1
ECB解密:xi←ek(yi),i≥1
其中yi,xi,ek分别代表密文块,明文块和密钥块作用函数;
在CBC模式中,每一个密文分组y i在用密钥K加密之前,都要先跟下一个明文分组xi+1相异或。严格地说,CBC模式从初始向量IV开始,定义y0=IV,
然后用如下公式构造密文序列:
y i = e k ( y i - 1 ⊕ x i ) , i≥1
在CTR模式中,计数器从初始值计数,然后将所得到的值馈送给基础分组密码算法。随着计数的增加。基础分组密码算法输出连续的分组来构成一个比特串,这个比特串被用作非纳姆密码的密钥流,也就是密钥流与明文分组相异或。其工作过程如下:
CTR加密:输入:ctri,xi;输出:ctri,yi
y i ← x i ⊕ e k ( ctr i ) , i≥1
CTR解密:输入:ctri,yi;输出:ctri,xi
x i ← y i ⊕ e k ( ctr i ) , i≥1
(4)列混合和逆列混合的优化算法
列混合是以状态阵的列为单位进行的线性变换操作,Rijndael算法的列混合线性变换阵是固定的可逆矩阵,加密和解密时线性变换可逆阵分别为:
A = 02 03 01 01 01 02 03 01 01 01 02 03 03 01 01 02 - - - ( 4 )
B = 0 E 0 B 0 D 09 09 0 E 0 B 0 D 0 D 09 0 E 0 B 0 B 0 D 09 0 E - - - ( 5 )
同时我们注意到矩阵A和B存在下面的关系:
B = 02 03 01 01 01 02 03 01 01 01 02 03 03 01 01 02 05 00 04 00 00 05 00 04 04 00 05 00 00 04 00 05 - - - ( 6 )
所以从(4),(6)式看出加解密列混合线性变换阵所用到的因子是六个固定的元素:02,03,01与04,05。并且逆列混合的线性变换阵B与列混合线性变换阵存在着固定的关系。同时在GF(28)中,加减运算是等同的。因而根据上述固定因子和固定的关系,我们提出一种列混合的优化算法如下:
以第一列输入[a0,a1,a2,a3]T为例,加密和解密输出分别为b0和c0。
b0=[02,03,01,01][a0,a1,a2,a3]T,(7)
c0=[0E,0B,0D,09][a0,a1,a2,a3]T  (8)
即:
b0=(a0+a1+a2+a3)+{02}(a0+a1)+a0(9)
c0=(a0+a1+a2+a3)+{02}(a0+a1)+a0+
{02}({04}(a0+a2)+{04}(a1+a3))+
{04}(a0+a2)               (10)
然我们可以得到完整的列混合和逆列混合的操作步骤,如图4所示。在逆列混合中除了共享列混合的硬件资源外,还存在两部分的共享。第一部分是所有的逆列混合输出c0,c1,c2,c3共享了{02}({04}(a0+a2)+{04}(a1+a3))这部分硬件资源;第二部分是{04}(a0+a2)硬件资源被c0,c2共享,{04}(a1+a3)硬件资源被c1,c3共享。这种优化结构通过列混合与逆列混合及逆列混合中相同的操作来共享部分硬件而实现了硬件资源的节省。
所述接口存储区模块,为加解密过程中的明文、密文、加密结果、解密结果、密钥和初始向量IV与初始计数器值CTR0分别分配了不同的双端口RAM块,保证了资源信息的独立性;加密芯片在实际使用过程中,密钥,初始向量IV和初始计数器值通常是双方约定好的,不需要过度频繁的变换,并且如果系统每次掉电或者出现故障就要重新写入密钥,这样即繁琐又降低了系统的安全性。则对密钥RAM进行了单独和特殊的数据初始化设置,从而保证不必要的密钥重复读写,即密钥存储块,初始向量IV与初始计数器值CTR0存储块可在掉电后可自动初始化;FPGA加密芯片本身工作时钟频率与它所介入的嵌入式系统的微处理器或者其他设备及芯片的工作频率不一定相同,为解决这个问题,这里加入双端口RAM作为缓存,RAM两端读写都可采用不同的工作时钟。
所述模式选择模块,多样的选择方式为加密芯片的实际应用提供了方便的解决方案。
与现有技术相比,本发明的优点和积极效果是:本发明的AES加密芯片是针对嵌入式系统而设计的,而嵌入式系统广泛应用于如智能卡系统(Smart Card),手机银行系统(Cell Phone Bank),万维网(WWW),ATM取款机,无线局域网(WLAN),无线传感器网(WSN)等国内外信息技术产业中,它实现了当前最先进的对称加密算法-AES高级加密标准算法,并采用了一般嵌入式系统都可使用的存储总线接口及握手的控制方式,并为减少芯片面积、降低成本,根据AES算法的特点提出了列混合与逆列混合的优化算法来减少所占有的硬件资源,同时查表法即减少了逻辑电路单元又加快芯片的执行速度。采用上述AES加密芯片构件的加密嵌入式系统具有安全性高、加解密速度快、体积小、价格低廉等优点。
结合附图阅读本发明的具体实施方式的详细描述后,本发明的特点和优点将更加清晰。
附图说明
图1是本发明所提出的AES加密芯片的主要外部信号图;
图2是AES加密芯片的一种实施例的总体架构示意图;
图3是AES加密和解密算法的执行流程图;
图4是AES算法中的列混合与逆列混合的硬件共享电路执行图;
图5是CBC操作模式下的AES算法执行过程图;
具体实施方式
本发明的具体实施方式结合附图作进一步详细说明。
首先,对AES加密芯片的主要外部信号进行描述,参见图1及下表2.
表2
其次,对AES加密芯片的总体结构进行描述,参见图2所示。
硬件架构设计是以ARM或其它微控制器及设备为主控器,FPGA加密芯片为协处理器,如图2所示。主控器完成整个加密系统的管理工作,涉及加密或者解密模式设置,操作模式的设置,初始密钥、初始向量IV(CBC模式)和初始计数值CTR0(CTR模式)的设置和CRC(Cyclic Redundancy Check)模式的设置。在设定完这些模式后FPGA按照相应的需求工作。
所述AES加密芯片主要由接口存储区模块、接口控制模块、模式选择模块、AES算法模块、和CRC算法模块构成。AES算法模块中包含密钥扩展模块、列混合与逆列混合优化模块、S_box模块、逆S_box模块、加密模块和解密模块。对于加密芯片内部逻辑功能设计,采用Verilog HDL硬件设计语言及自顶向下的系统设计方法完成这些模块逻辑功能。综合工具采用的是altera公司的综合工具QuartusII9.1.
各部分功能描述如下:
1、接口存储区模块,用于实现加密芯片对外部给入信息及内部待传出信息的存储,分为两类,一类是RAM型,另一类是寄存器型。接口存储区模块不仅完成存储功能,而且同时用来解决外部数据总线与AES加解密数据处理宽度不同的矛盾,其中密钥RAM、初始向量IV和初始计数器CTR0的RAM可进行掉电初始化,从而保证不必要的密钥重复读写,与此同时RAM作为数据缓存器,能解决ARM与FPGA间存储总线频率与FPGA本身工作时钟频率不同的矛盾,避免因速度不一致而丢失数据。具体来讲,本设计选用Altera公司出产的Cyclone III系列的芯片,它内部的双端口RAM的两端可支持不同的工作时钟,不同宽度的数据格式,并可设置初始化数据内容等,然为加解密过程中的明文、密文、加密结果、解密结果、密钥和初始向量IV与初始计数器值CTR0分别分配了不同的双端口RAM块。为AES操作模式、CRC模式、AES标准、加密与解密模式、外部给定的校验码1和加密芯片生成的校验码2分别分配了寄存器类型的存储区,详细的分区如下表3所示。
Figure BDA0000060566670000071
表3
2、模式选择模块,对AES加密标准、加密与解密过程、操作模式及CRC校验模式的选择和确定。首先从AES操作模式、CRC模式、AES标准、加密与解密模式寄存器存储区中读取其中的数据/命令内容,根据相应的规定作出相应的模式选择。参见表3所示规定来执行。
3、CRC算法模块,完成从存储总线上传入和待传出信息的CRC计算,并且当信息是从总线上传入加密芯片的时候,把计算的结果与给入的CRC代码进行比较,如果比较结果是相同的则进行加密或者解密算法的操作,如果不一致则放弃此次传输的数据,重新传输,不再进行任何加解密的操作,当信息是从加密芯片向总线上传出的时候,把计算的CRC结果放入接口存储区模块中的CRC代码寄存器中,等待读出。
4、接口控制模块,用于控制明文、密文、密钥初始向量IV和初始计数器CTR0、各个模式类型及CRC代码的装载过程,加密结果、解密结果的输出过程,AES算法、CRC算法及模式选择的执行过程,即产生完成上述各个过程所需要的控制信号。
5、AES算法模块,完成对明文的AES标准的加密操作及对密文的AES标准的解密操作。加解密的具体执行过程参见图3。根据AES标准的规定,128比特的消息(明文,密文)分组被分成16个字节,其一个字节是8比特,则它被表示成4×4的矩阵,并称为状态矩阵。因而加解密的核心算法是对4×4状态矩阵进行的某种变换法则,其算法完成的内容如下,并以加密过程为例进行说明。
(1)字节替换(SubBytes)
字节替换是一种非线性置换,每一个位元组都是使用S-Box独立执行运算,目的为提高扰乱的效果。这部分功能的实现结合了FPGA的特点采用查找表的方式达到字节替换的非线性置换,保证每一个位元组都是使用S-Box独立执行运算。这种方法替换了逻辑电路结构复杂的乘法逆和仿射作用,使得字节替换功能部分的逻辑电路简单,处理速度加快,并达到了提高扰乱效果的目的。
(2)行移变换(ShiftRows)
行移变换是一种线性混合,在状态矩阵的每个行间进行的,是状态阵中的行按照不同的偏移量进行循环左移的运算。它的目的也是使得信息达到充分的混合。由于行移变换算法是在状态矩阵的每个行间以字节为单位进行的移位操作,并且每行移位的字节数是固定的,所以利用FPGA组合逻辑的硬件特性采用直接线连的方式实现行移变换算法。这种方法不仅完成AES的线性混合,使信息达到充分的混合,而且它只占用FPGA的连线资源,并使得处理时间仅为连线上的传输延迟,即节约资源又加快处理速度。
(3)列混合(MixColumns)
列混合也是一种线性混合,把状态阵的每一列转换为一个新的列,从而实现信息的进一步混乱。根据提出的列混合与逆列混合的优化算法,采用图4所示的电路结构实现列混合与逆列混合的操作功能。
(4)密钥加法(AddRoundKey)
AddRoundKey是把一个轮密钥字于每一个状态列矩阵相加,实现密码和密钥的混合。直接利用FPGA中异或逻辑来实现。
(5)密钥扩展(KeyExpansion)
KeyExpansion是为了提供一些阻止密码分析的功能,例如,它使得两个不同的密码密钥,不管彼此多么相似,都可以产生两个最少在个别轮上有区别的扩展,使得AES中没有重要的弱密钥。密钥扩展实现过程中包含字节替换、字旋转和轮常数的引入。为节省逻辑单元,同时也能够提升运算速度,密钥扩展过程中的字代换和轮常数都采用查表法。并从重构的角度出发,密钥扩展也设计成了独立的模块,它同时支持AES所有密钥长度的扩展,可作为专用的IP核。轮密钥中各个字节与状态字中的各个字节逐位加法运算由硬件描述语言Verilog HDL的异或完成,轮密钥由ARM给定的初始密钥通过FPGA的密钥扩展而来,从而实现密码和密钥的混合。
在上述加解密的执行过程中,由密钥扩展模块、列混合与逆列混合优化模块、S_box模块、逆S_box模块、加密模块、解密模块的协作来完成,参见图2所示。其中的S_box模块、逆S_box模块分别采用的是如下表4、表5,轮常数的查表法采用表6中的数据。
表4
表5
Figure BDA0000060566670000103
表6
进一步的在不同的操作模式下,明文分组将采用不同的方式。在ECB模式中,一个明文分组加密成一个密文分组,每个明文分组都可被独立地进行加解密,因而对整个明文序列的加解密可以以随机的顺序进行。其工作过程如下:
ECB加密:yi←ek(xi),i≥1
ECB解密:xi←ek(yi),i≥1
其中yi,xi,ek分别代表密文块,明文块和密钥块作用函数
但是在ECB模式下,如果128位明文分组出现多次,它们产生的密文总是一样的,因而对于长报文,ECB模式可能不太安全。
在CBC模式中,每一个密文分组y i在用密钥K加密之前,都要先跟下一个
明文分组xi+1相异或。严格地说,CBC模式从初始向量IV开始,定义y0=IV,
然后用如下公式构造密文序列:如图5所示。
y i = e k ( y i - 1 ⊕ x i ) , i≥1
这种模式能够使得当同一个明文分组重复出现时将产生不同的密文分组。
在CTR模式中,计数器从初始值计数,然后将所得到的值馈送给基础分组密码算法。随着计数的增加。基础分组密码算法输出连续的分组来构成一个比特串,这个比特串被用作非纳姆密码的密钥流,也就是密钥流与明文分组相异或。其工作过程如下:
CTR加密:输入:ctri,xi;输出:ctri,yi
y i ← x i ⊕ e k ( ctr i ) , i≥1
CTR解密:输入:ctri,yi;输出:ctri,xi
x i ← y i ⊕ e k ( ctr i ) , i≥1
这种模式也能够使得单同一个明文分组重复出现时将产生不同的密文分组。
解密与加密的数据路径并不完全相同,在加密中,密钥加法操作在列混合之后执行,而在解密中,密钥加法却在列混合操作之后,但是FPGA内每个步骤的实现方式是相同的,即查表、移位、线连、异或等。在具体的运算步骤中,InSubBytes、InShiftRows和InvMixColumns分别是字节替换(SubBytes)、行位移变换(ShiftRows)、列混合(MixColumns)逆变换,轮密钥加法(AddRoundKey)和密钥扩展(KeyExpansion)的操作不变。
由上述在AES加解密的实现过程中可以看出,比较繁琐的计算主要是字节替换与反字节替换、列混合与逆列混合和密钥扩展部分。并且目前的FPGA芯片多数都带有RAM块,可以存储大量的数据表,这为查找表提供了方便。因字节替换的原理是复杂的乘法逆和仿射作用算法,这部分功能的实现结合了FPGA的特点采用查找表的方式达到字节替换的非线性置换,保证每一个位元组都是使用S-Box独立执行运算。这种方法替换了逻辑电路结构复杂的乘法逆和仿射作用,使得字节替换功能部分的逻辑电路简单,处理速度加快,并达到了提高扰乱效果的目的。对于列混合和逆列混合我们从算法本身出发,独创性的提出了一种优化算法,如(4)中所述。密钥扩展过程中的字代换和轮常数都采用查表法。并从重构的角度出发,密钥扩展也设计成了独立的模块,它同时支持AES所有密钥长度的扩展,可作为专用的IP核。这些方法使得它占有器件资源少,对器件的要求低。

Claims (8)

1.一种AES加密芯片的设计方法,在芯片内部设计如下部分:
接口存储区模块,用于实现加密芯片对外部给入信息及内部待传出信息的存储,分为两类,一类是RAM型,另一类是寄存器型,接口存储区模块不仅完成存储功能,而且同时用来解决外部数据总线与AES加解密数据处理宽度不同的矛盾,其中密钥RAM、初始向量IV和初始计数器CTR0的RAM可进行掉电初始化,从而保证不必要的密钥重复读写,与此同时RAM作为数据缓存器,能解决ARM与FPGA间存储总线频率与FPGA本身工作时钟频率不同的矛盾,避免因速度不一致而丢失数据;
接口控制模块,用于控制明文、密文、密钥初始向量IV和初始计数器CTR0、各个模式类型及CRC代码的装载过程,加密结果、解密结果的输出过程,AES算法、CRC算法及模式选择的执行过程;
AES算法模块,完成对明文的AES标准的加密操作及对密文的AES标准的解密操作;
CRC算法模块,完成对传入和传出信息的验证,避免加密芯片与外界进行数据信息交互时产生错误的传输;
模式选择模块,对AES加密标准、加密与解密过程、操作模式及CRC校验模式的选择和确定。
2.根据权利要求1所述的AES加密芯片的设计方法,其特征在于:
所述CRC算法模块,它支持三种CRC检错模式,CRC算法模块,完成从存储总线上传入和待传出信息的CRC计算,并且当信息是从总线上传入加密芯片的时候,把计算的结果与给入的CRC代码进行比较,如果比较结果是相同的则进行加密或者解密算法的操作,如果不一致则放弃此次传输的数据,重新传输,不再进行任何加解密的操作,当信息是从加密芯片向总线上传出的时候,把计算的CRC结果放入接口存储区模块中的CRC代码寄存器中,等待读出,本发明提供了三种CRC数据检错模式,为数据的准确性提供了保障,其中CRC校验模式支持以下三种标准,分别定义为三种模式:
CRC1:G(x)=X16+X15+X2+1                                    (1)
CRC2:G(x)=X16+X12+X5+1                                    (2)
CRC3:G(x)=X32+X26+X23+X16+X12+X11+X10+X8+X7+X5+X4+X2+X+1  (3)
3.根据权利要求1所述的AES加密芯片的设计方法,其特征在于:
所述AES算法模块,支持AES的所有加密标准,同时支持加密与解密,支持多种模式,同时支持ECB,CBC,CTR三种非反馈模式,实现列混合和逆列混合的优化算法,下面对AES算法模块各部分设计分别进行说明:
(1)支持AES的所有加密标准
Rijndael算法采用的是Square结构,本质上是一种对称分组密码体制,其分组长度和密钥长度都是可以改变的,只是为了满足AES的要求才限定处理的分组大小为128位,而密钥长度规定为128位、192位和256位,相应的迭代轮数为10轮、12轮或14轮;
(2)同时支持加密与解密
在同一个芯片或者系统中可以同时进行加密和解密运算,这样可以根据功能需求灵活使用;
(3)支持多种模式
在ECB模式中,一个明文分组加密成一个密文分组,每个明文分组都可被独立地进行加解密,因而对整个明文序列的加解密可以以随机的顺序进行,这对于加解密以随机顺序存储的文件,如数据库,是非常重要的,其工作过程如下:
ECB加密:yi←ek(xi),i≥1
ECB解密:xi←ek(yi),i≥1
其中yi,xi,ek分别代表密文块,明文块和密钥块作用函数;
在CBC模式中,每一个密文分组yi在用密钥K加密之前,都要先跟下一个明文分组xi+1相异或,严格地说,CBC模式从初始向量IV开始,定义y0=IV,
然后用如下公式构造密文序列:
y i = e k ( y i - 1 ⊕ x i ) , i≥1
在CTR模式中,计数器从初始值计数,然后将所得到的值馈送给基础分组密码算法,随着计数的增加,基础分组密码算法输出连续的分组来构成一个比特串,这个比特串被用作非纳姆密码的密钥流,也就是密钥流与明文分组相异或,其工作过程如下:
CTR加密:输入:ctri,xi;输出:ctri,yi
y i ← x i ⊕ e k ( ctr i ) , i≥1
CTR解密:输入:ctri,yi;输出:ctri,xi
x i ← y i ⊕ e k ( ctr i ) , i≥1
(4)列混合和逆列混合的优化算法
列混合是以状态阵的列为单位进行的线性变换操作,Rijndael算法的列混合线性变换阵是固定的可逆矩阵,加密和解密时线性变换可逆阵分别为:
A = 02 03 01 01 01 02 03 01 01 01 02 03 03 01 01 02 - - - ( 4 )
B = 0 E 0 B 0 D 09 09 0 E 0 B 0 D 0 D 09 0 E 0 B 0 B 0 D 09 0 E - - - ( 5 )
同时我们注意到矩阵A和B存在下面的关系:
B = 02 03 01 01 01 02 03 01 01 01 02 03 03 01 01 02 05 00 04 00 00 05 00 04 04 05 00 04 00 04 00 05 - - - ( 6 )
所以从(4),(6)式看出加解密列混合线性变换阵所用到的因子是六个固定的元素:02,03,01与04,05,并且逆列混合的线性变换阵B与列混合线性变换阵存在着固定的关系,同时在GF(28)中,加减运算是等同的,因而根据上述固定因子和固定的关系,我们提出一种列混合的优化算法如下:
以第一列输入[a0,a1,a2,a3]T为例,加密和解密输出分别为b0和c0,
b0=[02,03,01,01][a0,a1,a2,a3]T,(7)
c0=[0E,0B,0D,09][a0,a1,a2,a3]T(8)
即:
b0=(a0+a1+a2+a3)+{02}(a0+a1)+a0(9)
c0=(a0+a1+a2+a3)+{02}(a0+a1)+a0+
{02}({04}(a0+a2)+{04}(a1+a3))+
{04}(a0+a2)                       (10)
然我们可以得到完整的列混合和逆列混合的操作步骤,在逆列混合中除了共享列混合的硬件资源外,还存在两部分的共享,第一部分是所有的逆列混合输出c0,c1,c2,c3共享了{02}({04}(a0+a2)+{04}(a1+a3))这部分硬件资源;第二部分是{04}(a0+a2)硬件资源被c0,c2共享,{04}(a1+a3)硬件资源被c1,c3共享,这种优化结构通过列混合与逆列混合及逆列混合中相同的操作来共享部分硬件而实现了硬件资源的节省。
4.根据权利要求1及3所述的AES加密芯片的设计方法,其特征在于:
AES算法模块,完成对明文的AES标准的加密操作及对密文的AES标准的解密操作,根据AES标准的规定,128比特的消息(明文,密文)分组被分成16个字节,其一个字节是8比特,则它被表示成4×4的矩阵,并称为状态矩阵,而加解密的核心算法是对4×4状态矩阵进行的某种变换法则,其算法完成的内容如下,并以加密过程为例进行说明:
(1)字节替换(SubBytes)
字节替换是一种非线性置换,每一个位元组都是使用S-Box独立执行运算,目的为提高扰乱的效果,这部分功能的实现结合了FPGA的特点采用查找表的方式达到字节替换的非线性置换,保证每一个位元组都是使用S-Box独立执行运算,这种方法替换了逻辑电路结构复杂的乘法逆和仿射作用,使得字节替换功能部分的逻辑电路简单,处理速度加快,并达到了提高扰乱效果的目的;
(2)行移变换(ShiftRows)
行移变换是一种线性混合,在状态矩阵的每个行间进行的,是状态阵中的行按照不同的偏移量进行循环左移的运算,它的目的也是使得信息达到充分的混合,由于行移变换算法是在状态矩阵的每个行间以字节为单位进行的移位操作,并且每行移位的字节数是固定的,所以利用FPGA组合逻辑的硬件特性采用直接线连的方式实现行移变换算法,这种方法不仅完成AES的线性混合,使信息达到充分的混合,而且它只占用FPGA的连线资源,并使得处理时间仅为连线上的传输延迟,即节约资源又加快处理速度;
(3)列混合(MixColumns)
列混合也是一种线性混合,把状态阵的每一列转换为一个新的列,从而实现信息的进一步混乱,据权利3中提出的列混合与逆列混合的优化算法,以共享的电路结构实现列混合与逆列混合功能;
(4)密钥加法(AddRoundKey)
AddRoundKey是把一个轮密钥字于每一个状态列矩阵相加,实现密码和密钥的混合,直接利用FPGA中异或逻辑来实现;
(5)密钥扩展(KeyExpansion)
KeyExpansion是为了提供一些阻止密码分析的功能,它使得两个不同的密码密钥,不管彼此多么相似,都可以产生两个最少在个别轮上有区别的扩展,使得AES中没有重要的弱密钥,密钥扩展实现过程中包含字节替换、字旋转和轮常数的引入,为节省逻辑单元,同时也能够提升运算速度,密钥扩展过程中的字代换和轮常数都采用查表法,并从重构的角度出发,密钥扩展也设计成了独立的模块,它同时支持AES所有密钥长度的扩展,可作为专用的IP核,轮密钥中各个字节与状态字中的各个字节逐位加法运算由硬件描述语言Verilog HDL的异或完成,轮密钥由ARM给定的初始密钥通过FPGA的密钥扩展而来,从而实现密码和密钥的混合。
5.根据权利要求1、3及4所述的AES加密芯片的设计方法,其特征在于:
解密与加密的数据路径并不完全相同,在加密中,密钥加法操作在列混合之后执行,而在解密中,密钥加法却在列混合操作之后,但是FPGA内每个步骤的实现方式是相同的,即查表、移位、线连、异或等,在具体的运算步骤中,InSubBytes、InShiftRows和InvMixColumns分别是字节替换(SubBytes)、行位移变换(ShiftRows)、列混合(MixColumns)逆变换,轮密钥加法(AddRoundKey)和密钥扩展(KeyExpansion)的操作不变。
6.根据权利要求1、2、3及4所述的AES加密芯片的设计方法,其特征在于:
接口存储区模块,用于实现加密芯片对外部给入信息及内部待传出信息的存储,分为两类,一类是RAM型,另一类是寄存器型,接口存储区模块不仅完成存储功能,而且同时用来解决外部数据总线与AES加解密数据处理宽度不同的矛盾,其中密钥RAM、初始向量IV和初始计数器CTR0的RAM可进行掉电初始化,从而保证不必要的密钥重复读写,与此同时RAM作为数据缓存器,能解决ARM与FPGA间存储总线频率与FPGA本身工作时钟频率不同的矛盾,避免因速度不一致而丢失数据,具体来讲,本设计选用Altera公司出产的Cyclone III系列的芯片,它内部的双端口RAM的两端可支持不同的工作时钟,不同宽度的数据格式,并可设置初始化数据内容等,然为加解密过程中的明文、密文、加密结果、解密结果、密钥和初始向量IV与初始计数器值CTR0分别分配了不同的双端口RAM块,为AES操作模式、CRC模式、AES标准、加密与解密模式、外部给定的校验码1和加密芯片生成的校验码2分别分配了寄存器类型的存储区。
7.根据权利要求1、2、3、5及6所述的AES加密芯片的设计方法,其特征在于:
模式选择模块,对AES加密标准、加密与解密过程、操作模式及CRC校验模式的选择和确定;首先从AES操作模式、CRC模式、AES标准、加密与解密模式寄存器存储区中读取其中的数据/命令内容,根据相应的规定作出相应的模式选择。
8.根据权利要求1所述的AES加密芯片的设计方法,其特征在于:
接口控制模块,用于控制明文、密文、密钥初始向量IV和初始计数器CTR0、各个模式类型及CRC代码的装载过程,加密结果、解密结果的输出过程,AES算法、CRC算法及模式选择的执行过程,即产生完成上述各个过程所需要的控制信号。
CN2011101216122A 2011-05-11 2011-05-11 基于fpga的aes加密芯片设计方法及嵌入式加密系统 Pending CN102223228A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2011101216122A CN102223228A (zh) 2011-05-11 2011-05-11 基于fpga的aes加密芯片设计方法及嵌入式加密系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2011101216122A CN102223228A (zh) 2011-05-11 2011-05-11 基于fpga的aes加密芯片设计方法及嵌入式加密系统

Publications (1)

Publication Number Publication Date
CN102223228A true CN102223228A (zh) 2011-10-19

Family

ID=44779662

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2011101216122A Pending CN102223228A (zh) 2011-05-11 2011-05-11 基于fpga的aes加密芯片设计方法及嵌入式加密系统

Country Status (1)

Country Link
CN (1) CN102223228A (zh)

Cited By (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102664729A (zh) * 2012-04-28 2012-09-12 中山大学 一种基于fpga的aes加解密网络通讯装置及其实现方法
CN103077362A (zh) * 2012-12-27 2013-05-01 深圳先进技术研究院 具有安全机制的gpio ip核
CN103152165A (zh) * 2013-01-25 2013-06-12 西安电子科技大学 基于fpga的超高速aes处理器及其实现方法
CN103684587A (zh) * 2013-11-21 2014-03-26 华东师范大学 一种基于数字微镜器件的多通道无线激光通信方法及装置
CN104182696A (zh) * 2014-08-15 2014-12-03 浪潮电子信息产业股份有限公司 一种基于Avalon接口的AES算法IP核的设计方法
CN104753662A (zh) * 2013-12-27 2015-07-01 重庆重邮信科通信技术有限公司 基于aes算法的加密密钥流产生方法
CN105024804A (zh) * 2015-06-10 2015-11-04 国网智能电网研究院 一种高效可配的对称密钥装置及配对方法
CN105049204A (zh) * 2015-07-30 2015-11-11 苏州中科启慧软件技术有限公司 基于ctr模式和分组密码vh的轻量级流密码技术vhc
CN105099711A (zh) * 2015-08-28 2015-11-25 北京三未信安科技发展有限公司 一种基于zynq的小型密码机及数据加密方法
CN105357218A (zh) * 2015-12-03 2016-02-24 上海斐讯数据通信技术有限公司 一种具备硬件加解密功能的路由器及其加解密方法
CN105611529A (zh) * 2015-12-31 2016-05-25 盛科网络(苏州)有限公司 Capwap dtls报文加解密的芯片实现方法
CN105721139A (zh) * 2014-12-05 2016-06-29 上海航天有线电厂有限公司 一种适用于有限io资源的fpga的aes加解密方法及电路
CN105790926A (zh) * 2014-12-26 2016-07-20 中国科学院沈阳自动化研究所 用于wia-pa安全的分组密码算法工作模式实现方法
CN105790773A (zh) * 2016-04-08 2016-07-20 暨南大学 一种新型的万兆以太网并行crc编译码方法
CN105897418A (zh) * 2015-02-13 2016-08-24 厦门密安信息技术有限责任公司 基于多核arm/fpga的ecc密码算法的ip
CN105933106A (zh) * 2016-04-08 2016-09-07 广东工业大学 基于aes的网络信息加密ip核的设计与实现方法
CN106034005A (zh) * 2015-03-16 2016-10-19 北京军懋国兴科技股份有限公司 飞行数据实时监控系统的基站数据处理方法和系统
CN106034022A (zh) * 2015-03-12 2016-10-19 中国科学院上海高等研究院 Cbc模式下的aes加解密装置及方法
CN106452731A (zh) * 2016-09-18 2017-02-22 四川长虹电器股份有限公司 碎片化密钥存储系统及其存储方法
CN106533656A (zh) * 2016-11-18 2017-03-22 东莞理工学院 一种基于wsn的密钥多层混合加/解密方法
CN106603223A (zh) * 2016-11-30 2017-04-26 中国电子科技集团公司第五十八研究所 基于FPGA的Rijndael‑ECC加密系统
CN106788968A (zh) * 2015-11-24 2017-05-31 中国科学院沈阳自动化研究所 应用于wia-pa协议的安全协处理器的实现方法
CN107078902A (zh) * 2014-10-10 2017-08-18 高通股份有限公司 基于旋转的密码术
CN107171782A (zh) * 2017-04-19 2017-09-15 南通大学 一种基于可逆逻辑电路的aes私密日志加密方法
CN107800534A (zh) * 2017-10-16 2018-03-13 北京连山时代科技有限公司 一种基于多链路传输的数据加密方法和解密方法
CN108134665A (zh) * 2017-12-20 2018-06-08 东南大学 一种面向IoT应用的8比特AES电路
CN108183790A (zh) * 2018-02-13 2018-06-19 中山大学 一种aes加密装置、芯片及系统
CN108270544A (zh) * 2016-12-30 2018-07-10 广东精点数据科技股份有限公司 一种基于urDEED算法的密文图像可逆信息隐藏方法及装置
CN108345806A (zh) * 2017-12-14 2018-07-31 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 一种硬件加密卡和加密方法
CN108566271A (zh) * 2018-06-11 2018-09-21 安徽工程大学 复用轮变换电路、aes加密电路及其加密方法
CN109981671A (zh) * 2019-04-03 2019-07-05 北京深思数盾科技股份有限公司 基于加密机的数据处理方法及加密机
CN110113147A (zh) * 2019-04-11 2019-08-09 深圳市致宸信息科技有限公司 一种数字加密装置及方法
CN110399979A (zh) * 2019-06-17 2019-11-01 深圳大学 一种基于现场可编程门阵列的点击率预估的系统及方法
CN110795754A (zh) * 2019-11-12 2020-02-14 中核控制系统工程有限公司 一种基于fpga的维护信息安全方法
CN112235099A (zh) * 2020-09-18 2021-01-15 广东电网有限责任公司广州供电局 一种基于aes算法的模块化自主定制加密方法及系统
CN112367342A (zh) * 2020-12-04 2021-02-12 国网江苏省电力有限公司南京供电分公司 一种分布式光伏运维数据的加密传输方法及系统
CN113055716A (zh) * 2021-03-03 2021-06-29 六所智达(北京)科技有限公司 视频流实时加密方法及系统
CN113271201A (zh) * 2021-05-27 2021-08-17 国网江苏省电力有限公司南京供电分公司 一种动态的aes物理层数据加密方法
TWI736998B (zh) * 2019-10-04 2021-08-21 東隆五金工業股份有限公司 資料加解密處理方法
CN113408013A (zh) * 2021-05-29 2021-09-17 国网辽宁省电力有限公司辽阳供电公司 多种算法规则混合的加解密芯片构架
CN113595717A (zh) * 2020-04-30 2021-11-02 比亚迪股份有限公司 Ecb模式分组加密方法和解密方法及控制装置和车辆
CN114301618A (zh) * 2021-11-11 2022-04-08 北京蜂云科创信息技术有限公司 一种基于区块链的商用车联网数据加密传输方法及系统
CN114495474A (zh) * 2022-02-16 2022-05-13 青岛克莱玛物联技术有限公司 一种无线遥控装置
CN114679255A (zh) * 2020-12-24 2022-06-28 成都优易票信息科技有限公司 一种数据通信设备加密方法
CN116361840A (zh) * 2023-06-02 2023-06-30 深圳市力博实业有限公司 一种银行自助设备数据安全管理系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6259626B1 (en) * 1999-07-22 2001-07-10 Stmicroelectronics S.R.L. Method for storing bytes in multi-level non-volatile memory cells
WO2006096035A1 (en) * 2005-03-10 2006-09-14 Electronics And Telecommunications Research Institute Encryption and decryption device in wireless portable internet system, and method thereof
CN101588233A (zh) * 2008-05-19 2009-11-25 北京大学深圳研究生院 无线传感器网络节点应用中aes协处理器系统与架构
CN101626289A (zh) * 2009-07-14 2010-01-13 青岛科技大学 Aes加密芯片的设计方法及电脑加密机

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6259626B1 (en) * 1999-07-22 2001-07-10 Stmicroelectronics S.R.L. Method for storing bytes in multi-level non-volatile memory cells
WO2006096035A1 (en) * 2005-03-10 2006-09-14 Electronics And Telecommunications Research Institute Encryption and decryption device in wireless portable internet system, and method thereof
CN101588233A (zh) * 2008-05-19 2009-11-25 北京大学深圳研究生院 无线传感器网络节点应用中aes协处理器系统与架构
CN101626289A (zh) * 2009-07-14 2010-01-13 青岛科技大学 Aes加密芯片的设计方法及电脑加密机

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
王春蕾等: "《基于FPGA的AES-128加密芯片的设计与实现》", 《青岛职业技术学院学报》, vol. 22, no. 3, 30 September 2009 (2009-09-30), pages 1 - 2 *

Cited By (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102664729B (zh) * 2012-04-28 2014-12-31 中山大学 一种基于fpga的aes加解密网络通讯装置及其实现方法
CN102664729A (zh) * 2012-04-28 2012-09-12 中山大学 一种基于fpga的aes加解密网络通讯装置及其实现方法
CN103077362A (zh) * 2012-12-27 2013-05-01 深圳先进技术研究院 具有安全机制的gpio ip核
CN103077362B (zh) * 2012-12-27 2015-09-30 深圳先进技术研究院 具有安全机制的gpio ip核
CN103152165A (zh) * 2013-01-25 2013-06-12 西安电子科技大学 基于fpga的超高速aes处理器及其实现方法
CN103152165B (zh) * 2013-01-25 2016-01-20 西安电子科技大学 基于fpga的超高速aes处理器及其实现方法
CN103684587A (zh) * 2013-11-21 2014-03-26 华东师范大学 一种基于数字微镜器件的多通道无线激光通信方法及装置
CN103684587B (zh) * 2013-11-21 2016-06-29 华东师范大学 一种基于数字微镜器件的多通道无线激光通信方法及装置
CN104753662B (zh) * 2013-12-27 2019-09-20 锐迪科(重庆)微电子科技有限公司 基于aes算法的加密密钥流产生方法
CN104753662A (zh) * 2013-12-27 2015-07-01 重庆重邮信科通信技术有限公司 基于aes算法的加密密钥流产生方法
CN104182696A (zh) * 2014-08-15 2014-12-03 浪潮电子信息产业股份有限公司 一种基于Avalon接口的AES算法IP核的设计方法
CN107078902A (zh) * 2014-10-10 2017-08-18 高通股份有限公司 基于旋转的密码术
CN105721139B (zh) * 2014-12-05 2019-05-07 上海航天有线电厂有限公司 一种适用于有限io资源的fpga的aes加解密方法及电路
CN105721139A (zh) * 2014-12-05 2016-06-29 上海航天有线电厂有限公司 一种适用于有限io资源的fpga的aes加解密方法及电路
CN105790926A (zh) * 2014-12-26 2016-07-20 中国科学院沈阳自动化研究所 用于wia-pa安全的分组密码算法工作模式实现方法
CN105897418A (zh) * 2015-02-13 2016-08-24 厦门密安信息技术有限责任公司 基于多核arm/fpga的ecc密码算法的ip
CN106034022B (zh) * 2015-03-12 2019-11-26 中国科学院上海高等研究院 Cbc模式下的aes加解密装置及方法
CN106034022A (zh) * 2015-03-12 2016-10-19 中国科学院上海高等研究院 Cbc模式下的aes加解密装置及方法
CN106034005A (zh) * 2015-03-16 2016-10-19 北京军懋国兴科技股份有限公司 飞行数据实时监控系统的基站数据处理方法和系统
CN105024804A (zh) * 2015-06-10 2015-11-04 国网智能电网研究院 一种高效可配的对称密钥装置及配对方法
CN105049204A (zh) * 2015-07-30 2015-11-11 苏州中科启慧软件技术有限公司 基于ctr模式和分组密码vh的轻量级流密码技术vhc
CN105099711A (zh) * 2015-08-28 2015-11-25 北京三未信安科技发展有限公司 一种基于zynq的小型密码机及数据加密方法
CN105099711B (zh) * 2015-08-28 2018-10-12 北京三未信安科技发展有限公司 一种基于zynq的小型密码机及数据加密方法
CN106788968A (zh) * 2015-11-24 2017-05-31 中国科学院沈阳自动化研究所 应用于wia-pa协议的安全协处理器的实现方法
CN105357218B (zh) * 2015-12-03 2018-07-24 上海斐讯数据通信技术有限公司 一种具备硬件加解密功能的路由器及其加解密方法
CN105357218A (zh) * 2015-12-03 2016-02-24 上海斐讯数据通信技术有限公司 一种具备硬件加解密功能的路由器及其加解密方法
CN105611529A (zh) * 2015-12-31 2016-05-25 盛科网络(苏州)有限公司 Capwap dtls报文加解密的芯片实现方法
CN105611529B (zh) * 2015-12-31 2019-05-03 盛科网络(苏州)有限公司 Capwap dtls报文加解密的芯片实现方法
CN105790773A (zh) * 2016-04-08 2016-07-20 暨南大学 一种新型的万兆以太网并行crc编译码方法
CN105933106A (zh) * 2016-04-08 2016-09-07 广东工业大学 基于aes的网络信息加密ip核的设计与实现方法
CN105933106B (zh) * 2016-04-08 2019-03-05 广东工业大学 基于aes的网络信息加密ip核的设计与实现方法
CN106452731A (zh) * 2016-09-18 2017-02-22 四川长虹电器股份有限公司 碎片化密钥存储系统及其存储方法
CN106533656A (zh) * 2016-11-18 2017-03-22 东莞理工学院 一种基于wsn的密钥多层混合加/解密方法
CN106533656B (zh) * 2016-11-18 2019-08-23 东莞理工学院 一种基于wsn的密钥多层混合加/解密方法
CN106603223A (zh) * 2016-11-30 2017-04-26 中国电子科技集团公司第五十八研究所 基于FPGA的Rijndael‑ECC加密系统
CN108270544A (zh) * 2016-12-30 2018-07-10 广东精点数据科技股份有限公司 一种基于urDEED算法的密文图像可逆信息隐藏方法及装置
CN107171782A (zh) * 2017-04-19 2017-09-15 南通大学 一种基于可逆逻辑电路的aes私密日志加密方法
CN107171782B (zh) * 2017-04-19 2020-10-30 南通大学 一种基于可逆逻辑电路的aes私密日志加密方法
CN107800534A (zh) * 2017-10-16 2018-03-13 北京连山时代科技有限公司 一种基于多链路传输的数据加密方法和解密方法
CN108345806A (zh) * 2017-12-14 2018-07-31 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 一种硬件加密卡和加密方法
CN108134665A (zh) * 2017-12-20 2018-06-08 东南大学 一种面向IoT应用的8比特AES电路
CN108183790A (zh) * 2018-02-13 2018-06-19 中山大学 一种aes加密装置、芯片及系统
CN108183790B (zh) * 2018-02-13 2020-10-13 中山大学 一种aes加密装置、芯片及系统
CN108566271A (zh) * 2018-06-11 2018-09-21 安徽工程大学 复用轮变换电路、aes加密电路及其加密方法
CN109981671B (zh) * 2019-04-03 2020-12-08 北京深思数盾科技股份有限公司 基于加密机的数据处理方法及加密机
CN109981671A (zh) * 2019-04-03 2019-07-05 北京深思数盾科技股份有限公司 基于加密机的数据处理方法及加密机
CN110113147A (zh) * 2019-04-11 2019-08-09 深圳市致宸信息科技有限公司 一种数字加密装置及方法
CN110399979A (zh) * 2019-06-17 2019-11-01 深圳大学 一种基于现场可编程门阵列的点击率预估的系统及方法
CN110399979B (zh) * 2019-06-17 2022-05-13 深圳大学 一种基于现场可编程门阵列的点击率预估的系统及方法
TWI736998B (zh) * 2019-10-04 2021-08-21 東隆五金工業股份有限公司 資料加解密處理方法
CN110795754A (zh) * 2019-11-12 2020-02-14 中核控制系统工程有限公司 一种基于fpga的维护信息安全方法
CN110795754B (zh) * 2019-11-12 2022-02-18 中核控制系统工程有限公司 一种基于fpga的维护信息安全方法
CN113595717A (zh) * 2020-04-30 2021-11-02 比亚迪股份有限公司 Ecb模式分组加密方法和解密方法及控制装置和车辆
CN113595717B (zh) * 2020-04-30 2023-10-17 比亚迪股份有限公司 Ecb模式分组加密方法和解密方法及控制装置和车辆
CN112235099A (zh) * 2020-09-18 2021-01-15 广东电网有限责任公司广州供电局 一种基于aes算法的模块化自主定制加密方法及系统
CN112367342A (zh) * 2020-12-04 2021-02-12 国网江苏省电力有限公司南京供电分公司 一种分布式光伏运维数据的加密传输方法及系统
CN114679255A (zh) * 2020-12-24 2022-06-28 成都优易票信息科技有限公司 一种数据通信设备加密方法
CN113055716A (zh) * 2021-03-03 2021-06-29 六所智达(北京)科技有限公司 视频流实时加密方法及系统
CN113271201A (zh) * 2021-05-27 2021-08-17 国网江苏省电力有限公司南京供电分公司 一种动态的aes物理层数据加密方法
CN113408013A (zh) * 2021-05-29 2021-09-17 国网辽宁省电力有限公司辽阳供电公司 多种算法规则混合的加解密芯片构架
CN114301618A (zh) * 2021-11-11 2022-04-08 北京蜂云科创信息技术有限公司 一种基于区块链的商用车联网数据加密传输方法及系统
CN114495474A (zh) * 2022-02-16 2022-05-13 青岛克莱玛物联技术有限公司 一种无线遥控装置
CN114495474B (zh) * 2022-02-16 2022-11-22 青岛克莱玛物联技术有限公司 一种无线遥控装置
CN116361840A (zh) * 2023-06-02 2023-06-30 深圳市力博实业有限公司 一种银行自助设备数据安全管理系统

Similar Documents

Publication Publication Date Title
CN102223228A (zh) 基于fpga的aes加密芯片设计方法及嵌入式加密系统
CN1655496B (zh) 产生密码钥匙排程的装置及方法
CN101588233B (zh) 一种无线传感器网络节点应用中aes协处理器中的模块复用方法
CN101520966A (zh) 并行运算模式中优化高级加密标准加解密的方法和装置
CN101626289A (zh) Aes加密芯片的设计方法及电脑加密机
Jun et al. FPGA-based design and implementation of reduced AES algorithm
JPH1074044A (ja) デジタルデータを符号化する方法および装置
CN101702709A (zh) 一种适用于mips处理器的aes加密单元
CN101431405A (zh) Des加密电路和方法及其硬件电路实现方法
Tay et al. Compact and low power aes block cipher using lightweight key expansion mechanism and optimal number of s-boxes
CN105049203B (zh) 一种支持多工作模式的可配置3des加解密算法电路
CN102411683A (zh) 一种适用于嵌入式系统的基于高速缓存的aes加速器
CN110336661A (zh) Aes-gcm数据处理方法、装置、电子设备及存储介质
CN101515853B (zh) 信息终端及其信息安全装置
CN104539417A (zh) 一种基于流密码的加密设备
CN105721139B (zh) 一种适用于有限io资源的fpga的aes加解密方法及电路
CN106788976A (zh) 一种aes加解密电路仿真分析方法及装置
Pfitzmann et al. More efficient software implementations of (generalized) DES
CN104158650B (zh) 基于数据冗余检错机制的aes加/解密电路
CN105790926A (zh) 用于wia-pa安全的分组密码算法工作模式实现方法
CN105187198B (zh) 一种用于IPSec协议下的AES算法硬件实现装置
CN113949504A (zh) 一种适用于移动设备的高速sm4密码算法电路
Abbas et al. Low area and low power implementation for CAESAR authenticated ciphers
CN106788968A (zh) 应用于wia-pa协议的安全协处理器的实现方法
CN101882994B (zh) 基于分组密码算法的三重认证方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20111019