CN201178468Y - 一种aes算法加密装置及数字电视前端双向认证系统 - Google Patents
一种aes算法加密装置及数字电视前端双向认证系统 Download PDFInfo
- Publication number
- CN201178468Y CN201178468Y CNU2007201716033U CN200720171603U CN201178468Y CN 201178468 Y CN201178468 Y CN 201178468Y CN U2007201716033 U CNU2007201716033 U CN U2007201716033U CN 200720171603 U CN200720171603 U CN 200720171603U CN 201178468 Y CN201178468 Y CN 201178468Y
- Authority
- CN
- China
- Prior art keywords
- module
- data
- byte
- bit width
- round key
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Storage Device Security (AREA)
- Image Processing (AREA)
Abstract
本实用新型公开一种AES算法加密装置及数字电视前端双向认证系统,该装置包括轮密钥加模块,字节替换模块、字节移位模块和列混合模块,所述字节替换模块包括数据位宽转换模块和查表模块,所述数据位宽转换模块用于接收轮密钥加模块输出的数据及设置该数据的位宽,将所述数据按进行数据位宽转换,输出转换后的数据到查表模块;所述查表模块对所述转换后的数据进行字节替换,并输出替换后的数据到所述字节移位模块。本实用新型通过可控的数据位宽,来调节S盒的个数,以适应不同面积的芯片,而各轮加密中间则使用流水操作,从而提高了加密过程的处理速度,同时,也大大方便了产品的开发调试过程,加快了产品的开发速度。
Description
技术领域
本实用新型涉及AES算法加密技术领域,尤其是涉及一种基于FPGA的AES算法加密装置及包括该加密装置的数字电视前端双向认证系统。
背景技术
高级加密算法(Advanced Encrypt Standard,AES)是一种迭代型的高级分组加密算法,分组长度为128bits,密钥长度可为128,192和256位。以密钥长度为128位为例,详细介绍AES算法的加密操作流程,如图1所示,待加密的数据按128位分组输入,在进行第一次加密迭代之前,首先进行密钥运算操作,之后启动Nr次加密迭代操作流程;在Nr次加密迭代过程中,加密数据首先经过S盒置换和字节的移位操作,之后进行混列变换,最后进行密钥运算操作;在最后一次加密迭代的时候省略混列变换操作,输出加密以后的数据;解密操作流程:待解密的数据按128位分组输入,在进行第一次解密迭代之前,首先进行密钥运算操作,之后启动Nr次解密迭代操作流程;在N:次解密迭代过程中,与加密流程不同的是,解密首先进行的是字节的移位操作,再进行S盒的逆置换,之后进行密钥运算操作,最后进行混列逆变换;在最后一次解密迭代的时候省略混列逆变换步骤,输出解密以后的数据。AES的加密操作和解密操作使用的是相同的子密钥值,只是使用的子密钥的顺序不同。
用FPGA来实现AES算法,首要解决的问题是字节替换,字节替换是一个非线性的字节替代,独立地在每个状态字节上进行运算。它包括两个变换。
1.在有限域GF(28)上求乘法逆,‘00’映射到它自身。
2.在GF(2)上进行下面的仿射变换:
用FPGA作如上的矩阵运算比较复杂,每个字节所能表示的数的范围为0到255,如果将这256个数的结果都事先计算好,存储在一个表中,只需要查表就可以得到相应的结果。这个表即S盒,由于一般FPGA中都有较多的存储单元,因此可以用内部存储单元作S盒,这样,每个S盒的大小为256*8=2048bit,对于输入的128位数据,若要在一个时钟内完成查表,就需要16个S盒,需10轮运算的AES算法总共所需的存储单元为2048*16*10=327680bit;当128位数据为串行输入时,则每轮只需一个S盒,总共需要2048*10=20480bit的存储单元,虽然减少了面积,但要完成128位数据的查表,就需16个时钟周期。
目前,在FPGA中实现AES算法,主要的难题是解决速度与面积的平衡,迭代方法消耗资源小,处理速度慢,流水线结构处理速度快,但消耗资源大,一旦选择相应的方法,就必须根据算法选择相应的FPGA芯片,若当前没有相应的FPGA芯片,或者需要变换其他的芯片,而不能直接变换加密数据位宽,只能更改整个程序,这样就给开发和调试都带来很多不便。
实用新型内容
本实用新型提供一种AES算法加密装置及数字电视前端双向认证系统,旨在解决现有技术中的无法转换加密数据的位宽的技术问题。
为解决本实用新型的技术问题,本实用新型公开一种AES算法加密装置,包括轮密钥加模块,字节替换模块、字节移位模块和列混合模块,所述轮密钥加模块用于对明文及轮密钥进行密钥运算;所述字节替换模块用于对轮密钥加模块处理后的数据进行查表替换;所述字节移位模块用于对字节替换模块输出的数据进行字节移位操作;所述列混合模块用于对字节移位模块处理后的数据进行混合列变换;所述字节替换模块包括数据位宽转换模块和查表模块,所述数据位宽转换模块用于接收轮密钥加模块输出的数据及设置该数据的位宽,将所述数据按进行数据位宽转换,输出转换后的数据到查表模块;所述查表模块对所述转换后的数据进行字节替换,并输出替换后的数据到所述字节移位模块。
其中,所述数据位宽转换模块设置的数据位宽包括:8、16、31、64、128。
其中,所述加密装置为流水线结构,每一轮变换之间设有一寄存器,用于轮间的数据传输。
本实用新型还公开一种数字电视前端双向认证系统,包括AES算法加密装置,该装置包括:轮密钥加模块,字节替换模块、字节移位模块和列混合模块,所述轮密钥加模块用于对明文及轮密钥进行密钥运算;所述字节替换模块用于对轮密钥加模块处理后的数据进行查表替换;所述字节移位模块用于对字节替换模块输出的数据进行字节移位操作;所述列混合模块用于对字节移位模块处理后的数据进行混合列变换,其特征在于,所述字节替换模块包括数据位宽转换模块和查表模块,所述数据位宽转换模块用于接收轮密钥加模块输出的数据及设置该数据的位宽,将所述数据按进行数据位宽转换,输出转换后的数据到查表模块;所述查表模块对所述转换后的数据进行字节替换,并输出替换后的数据到所述字节移位模块。
其中,所述数据位宽转换模块设置的数据位宽包括:8、16、31、64、128。
其中,所述加密装置为流水线结构,每一轮变换之间设有一寄存器,用于轮间的数据传输。
与现有技术相比,本实用新型具有如下有益效果:本实用新型通过可控的数据位宽,来调节S盒的个数,以适应不同面积的芯片,而各轮加密中间则使用流水操作,从而提高了加密过程的处理速度,同时,也大大方便了产品的开发调试过程,加快了产品的开发速度。
附图说明
图1是AES算法的操作流程图;
图2是本实用新型的AES算法加密装置原理图;
图3是本实用新型的AES算法加密装置的字节替换模块原理图;
图4是本实用新型的AES算法加密装置的流水线结构图。
具体实施方式
下面结合附图和实施例,对本实用新型作进一步详细说明。
本实用新型通过可控的数据位宽,来调节S盒的个数,以适应不同面积的芯片,而各轮加密中间则使用流水操作,从而提高了加密过程的处理速度,同时,也大大方便了产品的开发调试过程,加快了产品的开发速度。
如图2和图3所示,本实施例的AES算法加密装置包括轮密钥加模块,字节替换模块、字节移位模块和列混合模块,所述字节替换模块包括数据位宽转换模块和查表模块,所述数据位宽转换模块用于接收轮密钥加模块输出的数据及设置该数据位宽,并按所述数据位宽输出转换后的数据到查表模块;所述查表模块对所述数据进行字节替换,并输出替换后的数据到所述字节移位模块。
以下以密钥长度128位,循环10轮变换为例,详细描述本实用新型的工作流程。
首先将明文按128位分组输入轮密钥加模块,进行密钥运算操作,之后启动9次加密迭代操作流程,将轮密钥加模块处理后的128位数据输入字节替换模块,若当前的芯片只允许每轮变换使用4个S盒的存储单元(每个S盒的大小为256*8=2048bit),则将数据位宽设置为32位,数据位宽转换模块将128位数据分成4组输出,每组32位,依次输入查表模块;查表模块依次对每组数据进行S盒查表,就需要四个时钟完成128位数据的查表;每组数据查表完后,就输入字节移位模块进行字节的移位操作,之后进行混列变换,这样循环九轮之后,在第10轮变换时,省略混列变换操作,最后输出密文。
若当前芯片面积允许有8个S盒,需要完成128位数据的加密,则需要通过数据位宽转换模块设置数据位宽为64,将128位数据分成2组进行循环轮变换,因此只需要2个时钟周期就可完成128位数据的加密。
本实施例的数据位宽转换模块可支持设置的数据位宽包括:8、16、31、64、128。
如图4所示,为进一步提高处理速度,本实用新型还采用流水线结构,每一轮变换作为一个单独流水级。轮间设有一个寄存器,用于轮间的数据传输。
本实施例的AES算法加密装置可应用于数字电视前端双向认证系统,不仅大大提高产品开发速度,而且资源消耗较少,使成本更低。
Claims (6)
1、一种AES算法加密装置,包括轮密钥加模块,字节替换模块、字节移位模块和列混合模块,所述轮密钥加模块用于对明文及轮密钥进行密钥运算;所述字节替换模块用于对轮密钥加模块处理后的数据进行查表替换;所述字节移位模块用于对字节替换模块输出的数据进行字节移位操作;所述列混合模块用于对字节移位模块处理后的数据进行混合列变换,其特征在于,所述字节替换模块包括数据位宽转换模块和查表模块,所述数据位宽转换模块用于接收轮密钥加模块输出的数据及设置该数据的位宽,将所述数据进行数据位宽转换,输出转换后的数据到查表模块;所述查表模块用于对所述转换后的数据进行字节替换,并输出替换后的数据到所述字节移位模块。
2、如权利要求1所述的AES算法加密装置,其特征在于,所述数据位宽转换模块设置的数据位宽包括:8、16、31、64、128。
3、如权利要求1所述的AES算法加密装置,其特征在于,所述加密装置为流水线结构,每一轮变换之间设有一寄存器,用于轮间的数据传输。
4、一种数字电视前端双向认证系统,包括AES算法加密装置,该装置包括:轮密钥加模块,字节替换模块、字节移位模块和列混合模块,所述轮密钥加模块用于对明文及轮密钥进行密钥运算;所述字节替换模块用于对轮密钥加模块处理后的数据进行查表替换;所述字节移位模块用于对字节替换模块输出的数据进行字节移位操作;所述列混合模块用于对字节移位模块处理后的数据进行混合列变换,其特征在于,所述字节替换模块包括数据位宽转换模块和查表模块,所述数据位宽转换模块用于接收轮密钥加模块输出的数据及设置该数据的位宽,将所述数据按进行数据位宽转换,输出转换后的数据到查表模块;所述查表模块用于对所述转换后的数据进行字节替换,并输出替换后的数据到所述字节移位模块。
5、如权利要求4所述的数字电视前端双向认证系统,其特征在于,所述数据位宽转换模块设置的数据位宽包括:8、16、31、64、128。
6、如权利要求4所述的数字电视前端双向认证系统,其特征在于,所述加密装置为流水线结构,每一轮变换之间设有一寄存器,用于轮间的数据传输。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNU2007201716033U CN201178468Y (zh) | 2007-08-31 | 2007-08-31 | 一种aes算法加密装置及数字电视前端双向认证系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNU2007201716033U CN201178468Y (zh) | 2007-08-31 | 2007-08-31 | 一种aes算法加密装置及数字电视前端双向认证系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN201178468Y true CN201178468Y (zh) | 2009-01-07 |
Family
ID=40218490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNU2007201716033U Expired - Fee Related CN201178468Y (zh) | 2007-08-31 | 2007-08-31 | 一种aes算法加密装置及数字电视前端双向认证系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN201178468Y (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109670320A (zh) * | 2017-10-13 | 2019-04-23 | 三星电子株式会社 | 加密设备和解密设备、以及其操作方法 |
-
2007
- 2007-08-31 CN CNU2007201716033U patent/CN201178468Y/zh not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109670320A (zh) * | 2017-10-13 | 2019-04-23 | 三星电子株式会社 | 加密设备和解密设备、以及其操作方法 |
CN109670320B (zh) * | 2017-10-13 | 2023-04-25 | 三星电子株式会社 | 加密设备和解密设备、以及其操作方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101626289B (zh) | Aes加密芯片的设计方法及电脑加密机 | |
CN102025484B (zh) | 一种分组密码加解密方法 | |
CN1921382B (zh) | 一种基于aes算法的加解密方法及加解密器 | |
CN101764685B (zh) | 实现sms4算法的加解密系统 | |
CN104639314A (zh) | 基于aes加密/解密算法的装置和流水控制方法 | |
CN101478392B (zh) | 利用vlsi实现128位密钥长度aes算法的装置 | |
CN105490802A (zh) | 基于gpu的改进sm4并行加解密通信方法 | |
CN106921487A (zh) | 可重构s盒电路结构 | |
CN104852798B (zh) | 一种数据加解密系统及方法 | |
CN102801519A (zh) | 一种实现aes加解密的方法及装置 | |
CN101702709A (zh) | 一种适用于mips处理器的aes加密单元 | |
CN103632104A (zh) | 一种大数据环境下动态数据的并行加解密方法 | |
CN109033892A (zh) | 基于合成矩阵的轮变换复用电路及aes解密电路 | |
CN106982116A (zh) | 一种基于可逆逻辑电路的aes的本地文件加密方法 | |
CN109150495A (zh) | 一种轮变换复用电路及其aes解密电路 | |
CN206585573U (zh) | 可重构s盒电路结构 | |
CN104219045A (zh) | Rc4 流密码生成器 | |
CN108933652A (zh) | 一种普通轮变换运算单元、普通轮变换电路及aes解密电路 | |
CN101588234B (zh) | 一种aes中列混合变换模块的加解密复用方法 | |
CN201178468Y (zh) | 一种aes算法加密装置及数字电视前端双向认证系统 | |
CN105049203A (zh) | 一种支持多工作模式的可配置3des加解密算法电路 | |
CN103209071B (zh) | Aes加密装置 | |
CN106788976A (zh) | 一种aes加解密电路仿真分析方法及装置 | |
CN108809627B (zh) | 轮变换复用电路及aes解密电路 | |
CN102857334B (zh) | 一种实现aes加解密的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
DD01 | Delivery of document by public notice |
Addressee: Wang Ling Document name: Notification to Pay the Fees |
|
DD01 | Delivery of document by public notice |
Addressee: Wang Ling Document name: Notification of Termination of Patent Right |
|
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090107 Termination date: 20120831 |