CN111934850A - 组纲aes加解密方法 - Google Patents
组纲aes加解密方法 Download PDFInfo
- Publication number
- CN111934850A CN111934850A CN202010606548.6A CN202010606548A CN111934850A CN 111934850 A CN111934850 A CN 111934850A CN 202010606548 A CN202010606548 A CN 202010606548A CN 111934850 A CN111934850 A CN 111934850A
- Authority
- CN
- China
- Prior art keywords
- encryption
- round
- key
- decryption
- data
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 239000011159 matrix material Substances 0.000 claims abstract description 24
- 230000009466 transformation Effects 0.000 claims description 17
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000001131 transforming effect Effects 0.000 claims description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 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/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加解密方法,包括以下步骤:步骤一:将输入的数据排成4×4字节的状态矩阵,然后根据不同的秘钥长度进行Nr加密迭代操作;步骤二:初始秘钥加法,将数据和秘钥模架;步骤三:进行Nr‑1次轮变化处理,其中,每次轮变化由四部分组成,对输入的数据进行S盒置换,对经S盒置换后的数据进行行移位操作;对经行移位操作后的数据进行列混合操作,根据上一轮的子密钥进行轮密钥加操作。本发明中,加密部分和解密部分均在同一FPGA中完成,加密过程和解密过程的执行互不影响,实现并行完成,方便实际使用,在进行实际使用时加密过程和解密过程执行速度快,显著的提高了提高了加密和解密的效率。
Description
技术领域
本发明涉及密码学技术领域,尤其涉及组纲AES加解密方法。
背景技术
密码是通信双方按约定的法则进行信息特殊变换的一种重要保密手段。依照这些法则,变明文为密文,称为加密变换;变密文为明文,称为脱密变换。密码在早期仅对文字或数码进行加、脱密变换,随着通信技术的发展,对语音、图像、数据等都可实施加、脱密变换AES加密算法是密码学中的高级密码标准,由于其具备安全性、稳定性等优点,现已成为对称密钥加密中最流行的算法之一,被广泛的运用于各个安全领域,加密算法的实现,宏观的可分为软件方向和硬件方向,但考虑到软件实现加密算法的安全性和速率的缺陷,人们更加倾向于采用硬件实现加密算法,但是,在现有技术中,AES 加解密方法加解密过程为异步完成,加解密执行速度慢。
发明内容
为了实现上述目的,本发明采用了如下技术方案:组纲AES加解密方法,包括以下步骤:
步骤一:将输入的数据排成4×4字节的状态矩阵,然后根据不同的秘钥长度进行Nr加密迭代操作;
步骤二:初始秘钥加法,将数据和秘钥模架;
步骤三:进行Nr-1次轮变化处理,其中,每次轮变化由四部分组成,对输入的数据进行S盒置换,对经S盒置换后的数据进行行移位操作;对经行移位操作后的数据进行列混合操作,根据上一轮的子密钥进行轮密钥加操作;
步骤四:对经过Nr-l个轮变换后的状态矩阵进行一个不完全的轮变换,从而完成加密;
步骤五:解密时,对步骤四和步骤三进行逆运算过程完成解密过程,解密过程包括根据S盒逆置换、逆行移位操作、逆列混合操作和轮密钥加。
作为上述技术方案的进一步描述:
所述加解密由加密模块、解密模块和秘钥扩展模块、以及对整个流程进行控制的控制单元完成,通过控制单元产生各模块所需要的控制信号,秘钥扩展模块完成各轮所需秘钥的产生和调度,通过加密模块、解密模块对数据进行轮变换,加密模块、解密模块的加解密过程均在FPGA中同步完成后,加解密过程执行互不影响,实现并行完成。
作为上述技术方案的进一步描述:
所述S盒置换操作是针对分组数据里的字节进行的独立操作,是一种非线性变换,其中,S盒置换后具体操作步骤如下:
S1:将每个字节在GF(2^8)有限域上进行取逆元操作,其中“00”的逆元为其本身;
S2:将求得的逆元仍然在GF(2^8)有限域下利用函数ffne进行变换。
作为上述技术方案的进一步描述:
所述轮秘钥相加变换,主密钥先通过密钥生成方案生成一个与原矩阵结构相同的回合密钥矩阵,然后将原矩阵与该回合密钥矩阵中的每个字节作异或运算,再将计算结果存到新的矩阵中。
作为上述技术方案的进一步描述:
所述秘钥扩展为:将初始密钥作为扩展密钥K的前Nk个字节,以后的字 w[i]按照式w(i)=w(i-1)田w(i-N)计算得到,其中,整个加密过程中,产生的总轮密钥位数等于加密循环次数加1再乘以分组长度位数,每一个加密循环中的轮密钥按顺序从.上述扩展密钥中选取,第一轮中的密钥取前4*Nb个字节,第二轮中的密钥取第二个4*Nb个字节。
作为上述技术方案的进一步描述:
所述初始密钥和每一轮的循环密钥都必须与数据分组长度一致,所以第i 轮的密钥长度与分组长度相等。
作为上述技术方案的进一步描述:
所述不完全的轮变换包括:字节替换操作、进行行移位操作和轮密钥加操作。
本发明提供了组纲AES加解密方法,具备以下有益效果:
该组纲AES加解密方法的加密部分和解密部分均在同一FPGA中完成,加密过程和解密过程的执行互不影响,实现并行完成,方便实际使用,在进行实际使用时加密过程和解密过程执行速度快,显著的提高了提高了加密和解密的效率。
具体实施方式
下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
组纲AES加解密方法,包括以下步骤:
步骤一:将输入的数据排成4×4字节的状态矩阵,然后根据不同的秘钥长度进行Nr加密迭代操作;
步骤二:初始秘钥加法,将数据和秘钥模架;
步骤三:进行Nr-1次轮变化处理,其中,每次轮变化由四部分组成,对输入的数据进行S盒置换,对经S盒置换后的数据进行行移位操作;对经行移位操作后的数据进行列混合操作,根据上一轮的子密钥进行轮密钥加操作;
步骤四:对经过Nr-l个轮变换后的状态矩阵进行一个不完全的轮变换,从而完成加密;
步骤五:解密时,对步骤四和步骤三进行逆运算过程完成解密过程,解密过程包括根据S盒逆置换、逆行移位操作、逆列混合操作和轮密钥加。
加解密由加密模块、解密模块和秘钥扩展模块、以及对整个流程进行控制的控制单元完成,通过控制单元产生各模块所需要的控制信号,秘钥扩展模块完成各轮所需秘钥的产生和调度,通过加密模块、解密模块对数据进行轮变换,加密模块、解密模块的加解密过程均在FPGA中同步完成后,加解密过程执行互不影响,实现并行完成。
S盒置换操作是针对分组数据里的字节进行的独立操作,是一种非线性变换,其中,S盒置换后具体操作步骤如下:
S1:将每个字节在GF(2^8)有限域上进行取逆元操作,其中“00”的逆元为其本身;
S2:将求得的逆元仍然在GF(2^8)有限域下利用函数ffne进行变换。
行移变换是对字节状态矩阵进行向左循环移位操作,移位的最小单位为- 一个字节,每一横行移位操作的偏移量与AES算法的分组情况有关,但对于所有分组情况的第一横行,都是移动0个字节,即第一横行不移位。
轮秘钥相加变换,主密钥先通过密钥生成方案生成一个与原矩阵结构相同的回合密钥矩阵,然后将原矩阵与该回合密钥矩阵中的每个字节作异或运算,再将计算结果存到新的矩阵中。
秘钥扩展为:将初始密钥作为扩展密钥K的前Nk个字节,以后的字w[i] 按照式w(i)=w(i-1)田w(i-N)计算得到,其中,整个加密过程中,产生的总轮密钥位数等于加密循环次数加1再乘以分组长度位数,每一个加密循环中的轮密钥按顺序从.上述扩展密钥中选取,第一轮中的密钥取前4*Nb个字节,第二轮中的密钥取第二个4*Nb个字节。
初始密钥和每一轮的循环密钥都必须与数据分组长度一致,所以第i轮的密钥长度与分组长度相等。
不完全的轮变换包括:字节替换操作、进行行移位操作和轮密钥加操作。
该组纲AES加解密方法的加密部分和解密部分均在同一FPGA中完成,加密过程和解密过程的执行互不影响,实现并行完成,方便实际使用,在进行实际使用时加密过程和解密过程执行速度快,显著的提高了提高了加密和解密的效率。
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料过着特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (8)
1.组纲AES加解密方法,其特征在于,包括以下步骤:
步骤一:将输入的数据排成4×4字节的状态矩阵,然后根据不同的秘钥长度进行Nr加密迭代操作;
步骤二:初始秘钥加法,将数据和秘钥模架;
步骤三:进行Nr-1次轮变化处理,其中,每次轮变化由四部分组成,对输入的数据进行S盒置换,对经S盒置换后的数据进行行移位操作;对经行移位操作后的数据进行列混合操作,根据上一轮的子密钥进行轮密钥加操作;
步骤四:对经过Nr-l个轮变换后的状态矩阵进行一个不完全的轮变换,从而完成加密;
步骤五:解密时,对步骤四和步骤三进行逆运算过程完成解密过程,解密过程包括根据S盒逆置换、逆行移位操作、逆列混合操作和轮密钥加。
2.根据权利要求1所述的组纲AES加解密方法,其特征在于,所述加解密由加密模块、解密模块和秘钥扩展模块、以及对整个流程进行控制的控制单元完成,通过控制单元产生各模块所需要的控制信号,秘钥扩展模块完成各轮所需秘钥的产生和调度,通过加密模块、解密模块对数据进行轮变换,加密模块、解密模块的加解密过程均在FPGA中同步完成后,加解密过程执行互不影响,实现并行完成。
3.根据权利要求1所述的组纲AES加解密方法,其特征在于,所述S盒置换操作是针对分组数据里的字节进行的独立操作,是一种非线性变换,其中,S盒置换后具体操作步骤如下:
S1:将每个字节在GF(2^8)有限域上进行取逆元操作,其中“00”的逆元为其本身;
S2:将求得的逆元仍然在GF(2^8)有限域下利用函数ffne进行变换。
4.根据权利要求1所述的组纲AES加解密方法,其特征在于,所述行移变换是对字节状态矩阵进行向左循环移位操作,移位的最小单位为-一个字节,每一横行移位操作的偏移量与AES算法的分组情况有关,但对于所有分组情况的第一横行,都是移动0个字节,即第一横行不移位。
5.根据权利要求1所述的组纲AES加解密方法,其特征在于,所述轮秘钥相加变换,主密钥先通过密钥生成方案生成一个与原矩阵结构相同的回合密钥矩阵,然后将原矩阵与该回合密钥矩阵中的每个字节作异或运算,再将计算结果存到新的矩阵中。
6.根据权利要求1所述的组纲AES加解密方法,其特征在于,所述秘钥扩展为:将初始密钥作为扩展密钥K的前Nk个字节,以后的字w[i]按照式w(i)=w(i-1)田w(i-N)计算得到,其中,整个加密过程中,产生的总轮密钥位数等于加密循环次数加1再乘以分组长度位数,每一个加密循环中的轮密钥按顺序从.上述扩展密钥中选取,第一轮中的密钥取前4*Nb个字节,第二轮中的密钥取第二个4*Nb个字节。
7.根据权利要求1所述的组纲AES加解密方法,其特征在于,所述初始密钥和每一轮的循环密钥都必须与数据分组长度一致,所以第i轮的密钥长度与分组长度相等。
8.根据权利要求1所述的组纲AES加解密方法,其特征在于,所述不完全的轮变换包括:字节替换操作、进行行移位操作和轮密钥加操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010606548.6A CN111934850A (zh) | 2020-06-29 | 2020-06-29 | 组纲aes加解密方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010606548.6A CN111934850A (zh) | 2020-06-29 | 2020-06-29 | 组纲aes加解密方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111934850A true CN111934850A (zh) | 2020-11-13 |
Family
ID=73316279
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010606548.6A Pending CN111934850A (zh) | 2020-06-29 | 2020-06-29 | 组纲aes加解密方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111934850A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282949A (zh) * | 2021-07-26 | 2021-08-20 | 中国电力科学研究院有限公司 | 数据加密方法、数据解密方法、装置及电力数据交互系统 |
CN113691364A (zh) * | 2021-08-31 | 2021-11-23 | 衡阳师范学院 | 一种基于位片技术的动态s盒分组密码的加密及解密方法 |
CN116155620A (zh) * | 2023-04-14 | 2023-05-23 | 深圳市聚力得电子股份有限公司 | 一种刷卡器交易数据安全传输方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111064562A (zh) * | 2019-12-12 | 2020-04-24 | 北京计算机技术及应用研究所 | 一种fpga上的aes算法的实现方法 |
-
2020
- 2020-06-29 CN CN202010606548.6A patent/CN111934850A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111064562A (zh) * | 2019-12-12 | 2020-04-24 | 北京计算机技术及应用研究所 | 一种fpga上的aes算法的实现方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113282949A (zh) * | 2021-07-26 | 2021-08-20 | 中国电力科学研究院有限公司 | 数据加密方法、数据解密方法、装置及电力数据交互系统 |
CN113282949B (zh) * | 2021-07-26 | 2021-11-02 | 中国电力科学研究院有限公司 | 数据加密方法、数据解密方法、装置及电力数据交互系统 |
CN113691364A (zh) * | 2021-08-31 | 2021-11-23 | 衡阳师范学院 | 一种基于位片技术的动态s盒分组密码的加密及解密方法 |
CN113691364B (zh) * | 2021-08-31 | 2024-02-09 | 衡阳师范学院 | 一种基于位片技术的动态s盒分组密码的加密及解密方法 |
CN116155620A (zh) * | 2023-04-14 | 2023-05-23 | 深圳市聚力得电子股份有限公司 | 一种刷卡器交易数据安全传输方法 |
CN116155620B (zh) * | 2023-04-14 | 2023-07-18 | 深圳市聚力得电子股份有限公司 | 一种刷卡器交易数据安全传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7840003B2 (en) | High-speed GCM-AES block cipher apparatus and method | |
KR100917073B1 (ko) | 암호 작성 프로세싱의 스피드를 증가시키는 방법 및 장치 | |
CN110880967B (zh) | 采用分组对称密钥算法对多消息并行加解密方法 | |
CN111934850A (zh) | 组纲aes加解密方法 | |
JPH0863097A (ja) | データを暗号化するための対称暗号化方法およびシステム | |
JPH1075240A (ja) | データ送信を保護する方法およびデータを暗号化または解読化する装置 | |
US20030059054A1 (en) | Apparatus for generating encryption or decryption keys | |
US8000471B2 (en) | Robust cipher design | |
WO2001082524A1 (en) | Cryptographic system for data encryption standard | |
JP2015191106A (ja) | 暗号処理装置、および暗号処理方法、並びにプログラム | |
US6732271B1 (en) | Method of deciphering ciphered data and apparatus for same | |
Al-Neaimi et al. | New Approach for Modifying Blowfish Algorithm by Using Multiple Keys | |
Gehlot et al. | Implementation of Modified Twofish Algorithm using 128 and 192-bit keys on VHDL | |
JP4793268B2 (ja) | 共通鍵ブロック暗号化装置、共通鍵ブロック暗号化方法及び共通鍵ブロック暗号化プログラム | |
Greene et al. | Aradi and llama: Low-latency cryptography for memory encryption | |
US20240097880A1 (en) | High-speed circuit combining aes and sm4 encryption and decryption | |
CN114422111B (zh) | 一种轻量级的sm4算法的硬件实现电路 | |
Kocheta et al. | A review of some recent stream ciphers | |
CN114244496B (zh) | 基于塔域优化s盒的sm4加解密算法并行化实现方法 | |
JP4857230B2 (ja) | 疑似乱数生成装置及びそれを用いた暗号化処理装置 | |
JP2000075785A (ja) | 高速暗号処理回路および処理方法 | |
JP2002510058A (ja) | 2進データ・ブロックの暗号変換のための方法 | |
JP5268001B2 (ja) | ストリーム暗号向け擬似乱数生成装置とプログラムと方法 | |
CN115913518A (zh) | 基于分组密码算法和比特切片的gcm优化方法及系统 | |
RU2738321C1 (ru) | Способ криптографического преобразования и устройство для его осуществления |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201113 |
|
RJ01 | Rejection of invention patent application after publication |