AES加密算法及其应用研究
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《网络安全》课程报告
课题名称: AES 加密算法及其应用研究 姓 学 名: 王安峰 院: 计算机科学与工程学院 系: 计算机科学与技术 专 学 业: 计算机科学与技2010/12/25
AES 加密算法及其应用研究
王安峰,090308207,08 计科 2 班
2.2对称密码学简介
在 1976 年以前,所谓的密码学就是指对称密钥密码系统,该系统加密与解密是用同一 把密钥。 此类算法被运用的历史悠久, 从一般的侦探小说里的各种简单的语音转换和跳选的 加密方式, 到目前最被广为运用的 DES 密码算法以及美国于 2000 年推动的下一代密码算法 AES(Advance Encryption Standards)都属于此类密码系统。此类密码系统的优点为其加解 密速度较快,远高于公开密钥密码系统。 分组密码算法涉及要遵循 Shannon 1949 年提出的混乱原则和扩散原则。 [7] 扩散 (Diffusion)是明文的统计结构被扩散消失到密文的长程同经济特性,使得明文和密文之间 的统计关系尽量复杂。混乱(Confusion)是使得密文的统计特性与密钥的取值之间的关系 尽量复杂,以至于这种统计特性对密码分析者来说是无法利用的[7]。 所谓公钥密码密钥密码技术就是加密和解密使用不同的密钥的密码技术, 又成为非对称 密钥密码技术[8]。它使用一堆密钥,一个归发送者,一个归接受者。
(常熟理工学院 计算机科学与工程学院,江苏 常熟 215500)
摘 要: 20 世纪 70 年代中期美国人开创的 DES(数据加密标准)可以说经历了近 1/4 个漫 长而辉煌的年代,并逐渐由繁荣走向衰落。它之所以走向衰落,是由于 20 世纪末出现了差 分密码分析及线性密码分析。 美国国家和标准技术研究所(NIST)于 1997 年初发起并组织了在全世界广泛征集新的加密 标准算法的活动,同时要求每一种候选算法应当支持 128、192 和 256 比特的密钥长度。经 过 3 年多时间的反复较量,对首轮入选的 15 种不同算法进行了广泛的评估和测试,筛选出 5 种算法进入决赛。最终,由比利时的密码专家 Joan Daemen 及 Vincent Rijmen 所提出的加 密算法 Rijndeal 幸运的赢得了胜利,成为 21 世纪新的高级加密标准算法 AES。[1] 本文主要分析 AES 加密算法及其应用的研究,在基于 MFC 基础上对该算法进行简单实现, 采用面向对象的 C++语言,模拟加密及其解密过程。分析该算法的安全性能和广泛应用。
3 高级加密标准 AES
3.1高级数据加密标准
1995 年,美国国家标准技术所开始寻找一种新的、更强有力的加密算法。寻找的结果 最终成为了高级加密标准,即 AES。[2]美国政府鉴于破密技术的快速演进,虽然到目前为 止并无一致命性的攻击方法可以直接破解 DES(目前的破解方法大多针对 DES 密钥长度太
关键词:AES 加密算法;基于 C++;加密;解密; Rijndeal 算法;MFC 类;
1 引言
信息社会的兴起,给全球带来了信息技术飞速发展的契机:信息技术的应用,引起了人 们生产方式、 生活方式和思想观念的巨大变化, 极大地推动了人类社会的发展和人类文明的 进步。随着人类进入知识经济时代,网络和信息已主见成为人们从事社会活动的基本工具, 但是, 由于计算机和网络系统的发放性带来的信息与信息系统的安全问题也拓展到前所未有 的程度。 日益增多的对信息系统的非法入侵和破坏活动正在以惊人的速度在全世界蔓延, 给 各国信息系统带来巨大的经济损失和安全威胁。 随着信息技术的不断发展,信息安全,网络安全的概念正在与时俱进,逐渐从早期的通 信保密发展到关注信息的保密、 完整、 可用、 可控和不可否认的信息安全。 信息与信息系统, 网络与网络系统安全并重,保证信息系统能够安全、可靠、不间断的运行,以提供必要的服 务。[6]近年来,我国在发展知识经济、建设信息基础设施以及中国互联网的建设和应用方 面都有相当大的进步。计算机网络的广泛应用已经对经济、文化、教育、科学的发展和人类 生活质量的提高产生了重要影响, 但也带来了一些新的问题。 信息系统的的安全总是面临着 日益严重的威胁。 一方面是由于互联网的开放性及安全性不足, 另一方面是众多的攻击手段。 为了保证信息系统的安全,需要完整的安全保障体系,应具有保护功能、检测手段、工具的 反应以及事故恢复能力。 因而, 除了不断完善相应的法律和监督措施, 我们更需要自我保护。 理论和事实都说明, 密码技术是一种经济、 实用而有效的方法, 这也是密码技术得到快速发展和广泛应用的原因。
2 密码学
2.1 密码学的起源和发展
密码学(cryptology)是研究信息系统安全保密的科学,包括密码编程学和密码分析学。 密码编程学(Cryptography) ,主要研究对信息进行编码,实现对信息的隐蔽。密码分析学
(Cryptanalytics)主要研究加密消息的破解或消息的伪造。[7]今天,对加密技术的一些元素 实现访问控制、验证、消息完整性和不可抵赖性时,都影响着信息的安全性。 在第一次世界大战之前,密码技术很少见诸于世,直到 1918 年,William F.Friedman 的 论文“重合指数及其在密码学中的应用” (The Index of Coincidence and Applications in Cryptography)发表时,情况才有所好转。 1949 年,香农(Claude Shannon)的论文“保密系统的通信理论” (The Communication Theory of Secrecy Systems)在《贝尔系统技术杂志》上发表,奠定了密码学理论基础。[5] 1967 年,戴维。卡恩(David Kahn) ,收集整理了第一次世界大战和第二次世界大战的 大量史料,创作出版了《破译者》 (The Coddebreakers) ,为密码技术的公开化、大众化拉开 了序幕。此后,密码学的文献大量涌现。 20 世纪 70 年代,是密码需发展的重要时期,有两件大事发生: 其一,美国国家标准局(NBS,即现在的国家标注与技术研究所 NIST)开始数据加密 标准(Data Encryption Standard)的征集工作。1975 年 3 月 17 日,NBS 在 Federal Register 上公布了一个候选算法,1976 年 11 月 23 日,该算法被正式确认为联邦标准 DES,并授权 在政府通信中使用,此后,DES 被多个部门和标准化机构采纳为标准,甚至成为事实上的 归家标准,1998 年正式退役。 其二, 1976 年 11 月, Differ 与 Hellman 的革命性论文 “密码学新方向” (New direction in crypotography) 发表, 开辟了公开密钥密码学的新领域, 成为现代密码学的一个里程碑。 1978 年,RLRivest,AShamir 和 LAdleman 实现了 RSA 公钥密码体制,它成为公钥密码的杰出代 表和事实标准。 1997 年 1 月, 美国国家标准和技术探究所 (NIST) 发布公告征集新的加密标准, 即 AES。 新的加密标准将取代旧的数据加密标准(DES)和三重 DES 而成为一个(美国)联邦信息 处理标准(FIPS) 。[1]
短来破解) ,但是这些发展已直接影响了 DES 密码系统的安全性,所以在 1998 年对世界公 开征求下一代的密码算法,用以取代 DES 算法。 如同征集 DES 候选方案一样,NIST 也提出了几项重要的条件,算法必须是: (1) 无类别的; (2) 公开揭示的; (3) 无特权,可世界范围使用的; (4) 对称密码算法,每块 128 位; (5) 可使用的密钥长度为 128、192 以及 256 位。正文部分(五号宋体) 候选算法的标准是: (1) 安全性; (2) 开销; (3) 算法和实现特性。 经过第二届 AES 会议后一段相对平静的时期,直到 NIST 于 1999 年 8 月公布入围的 5 个 候选方案,它们是(依字母排序)MARS、RC6、Rijndeal、Serpent 和 Twofish。[1] NIST 指出,从密码学的角度,这 5 个算法都找不到弱点,之所以最终选择 Rijndeal 是 因为它是安全性、性能、效率、实现方便性和灵活性的最佳组合。尤其是因为以下原因: (1) 在各种计算机的软硬件中性能良好 (2) 在反馈和无反馈模式中性能良好; (3) 密码设置时间准确; (4) 密码极为敏捷、快速; (5) 不需要太多记忆; (6) 在电源攻击和定时攻击时有极好的防护。 2001 年 Rijndeal 算法正式被美国政府采用, 作为政府数据传输和存储的保护手段。 NIST 做出这一决定很大程度上依赖于对算法的公开分析。
3.2.1 轮的数目的设定 当前的密码分析研究表明, 迭代型分组密码抗击密码分析攻击的能力随轮数的增加而增 加。 我们通过考虑抗击捷径攻击来确定轮的数目, 因为捷径攻击明显比穷尽密钥搜索攻击更 有效。在此基础上,又增加了一个适当的安全余量。对分组长度和密钥长度均是 128 比特的 Rijndael,我们尚未发现能够对具有六轮以上的简化版本实施的捷径攻击,又增加 4 轮作为 安全余量。这是一个保守的做法,因为: (1) Rijndael 中两轮即可提供以下意义上的“全扩散”。每个状态比特均依赖与两轮之前 的所有状态比特, 或者一个状态比特的改变均可能对两轮之后的半数状态比特产生影响。 在 增加 4 轮可以看作是在密码的开始和结束时增加了一个“全扩散步骤”。Rijndael 轮变换的高 扩散性归功于它在所有状态比特上的均匀结构。对于所谓的 Feistel 密码,没轮仅对半数的 状态比特进行作用,三轮后才可以获得全扩散。在实际中,这种密码一般采用四轮或更多。 (2) 为了攻击密码的第 n+1 或 n+2 轮,相信密码分析,差分密码分析和截短差分析攻击 通常采用一个直到 n 轮的传播轨迹。 渗透攻击也是如此, 它利用一个四轮的传播结构来攻击 六轮。在这方面,我们增加四轮实际上使得找到一个传播轨迹所遍历的轮数增加一倍。 对于具有较长密钥的 Rijndael 版本,密码密钥每增加 32 比特,伦德数目就增加一轮。 原因如下: (1) 主要目的之一是是比穷举密钥搜索攻击更有效的捷径攻击失效。 因为穷举密钥搜索 的工作量随密钥长度的增加而增加,而捷径攻击对具有更长密钥的密码的攻击效率不高。 (2) (部分的) 已知密钥和相关密钥攻击利用了密码密钥中的比特信息, 或者具有利用 不用密码密钥的能力。如果增加密码密钥的长度,密码分析者的搜索范围也将随之增加。 关于具有更长密钥的 Rijndael 的安全性研究文献已经表明, 这一策略带来了足够的安全 余量[31,36,62]。而对具有较长分组的 Rijndael 版本,分组长度每增加 32 比特,轮的数 目就增加一轮。理由如下: (1) 如果密码的分组长度大于 128 比特, 就采用三轮来实现全扩散, 这是因为轮变换的 扩散能力将随分组长度的增加而降低。 (2) 更大的分组长度将增加可能出现的模式的选取范围, 这些模式可用在某几轮的输入 输出上。这一附加的灵活性可使攻击所必须处理的范围扩大一轮或者几轮。 对于具有更大分组长度 256 比特的 Rijndael 版本,我们已经发现,即使将攻击的处理范 围扩大一轮也难以实现。因此,这是一个保守的余量。 表 3.2 列出了作为 N b 和 N k 函数的 N t 值。对于 AES N b 取固定值为 4;对于 128 比特
3.2 AES加密算法实现过程分析
AES 中的操作均是以字节作为基础的,用到的变量也都是以字节为基础。State 可以用 4× 4 的矩阵表示。AES 算法结构对加密和解密的操作,算法由轮密钥开始,并用 Nr 表示对 一个数据分组加密的轮数(加密轮数与密钥长度的关系如表 1 所示)。 AES 算法的主循环 State 矩阵执行 N r 1 轮迭代运算,每轮都包括所有 4 个阶段的代换,分别是在规范中被称为 SubBytes(字节替换)、ShiftRows(行位移变换)、MixColumns(列混合变换) 和 AddRoundKey, (由于外部输入的加密密钥 K 长度有限 , 所以在算法中要用一个密钥扩展程序(Keyexpansion) 把外部密钥 K 扩展成更长的比特串,以生成各轮的加密和解密密钥。)最后执行只包括 3 个阶段 (省略 MixColumns 变换)的最后一轮运算。 表 3.1 AES 参数 密钥长度(bits) 明文分组长度(bits) 轮数 每轮密钥长度(bits) 扩展密钥长度(bytes) 128 128 10 128 176 192 128 12 128 206 256 128 14 128 240
课题名称: AES 加密算法及其应用研究 姓 学 名: 王安峰 院: 计算机科学与工程学院 系: 计算机科学与技术 专 学 业: 计算机科学与技2010/12/25
AES 加密算法及其应用研究
王安峰,090308207,08 计科 2 班
2.2对称密码学简介
在 1976 年以前,所谓的密码学就是指对称密钥密码系统,该系统加密与解密是用同一 把密钥。 此类算法被运用的历史悠久, 从一般的侦探小说里的各种简单的语音转换和跳选的 加密方式, 到目前最被广为运用的 DES 密码算法以及美国于 2000 年推动的下一代密码算法 AES(Advance Encryption Standards)都属于此类密码系统。此类密码系统的优点为其加解 密速度较快,远高于公开密钥密码系统。 分组密码算法涉及要遵循 Shannon 1949 年提出的混乱原则和扩散原则。 [7] 扩散 (Diffusion)是明文的统计结构被扩散消失到密文的长程同经济特性,使得明文和密文之间 的统计关系尽量复杂。混乱(Confusion)是使得密文的统计特性与密钥的取值之间的关系 尽量复杂,以至于这种统计特性对密码分析者来说是无法利用的[7]。 所谓公钥密码密钥密码技术就是加密和解密使用不同的密钥的密码技术, 又成为非对称 密钥密码技术[8]。它使用一堆密钥,一个归发送者,一个归接受者。
(常熟理工学院 计算机科学与工程学院,江苏 常熟 215500)
摘 要: 20 世纪 70 年代中期美国人开创的 DES(数据加密标准)可以说经历了近 1/4 个漫 长而辉煌的年代,并逐渐由繁荣走向衰落。它之所以走向衰落,是由于 20 世纪末出现了差 分密码分析及线性密码分析。 美国国家和标准技术研究所(NIST)于 1997 年初发起并组织了在全世界广泛征集新的加密 标准算法的活动,同时要求每一种候选算法应当支持 128、192 和 256 比特的密钥长度。经 过 3 年多时间的反复较量,对首轮入选的 15 种不同算法进行了广泛的评估和测试,筛选出 5 种算法进入决赛。最终,由比利时的密码专家 Joan Daemen 及 Vincent Rijmen 所提出的加 密算法 Rijndeal 幸运的赢得了胜利,成为 21 世纪新的高级加密标准算法 AES。[1] 本文主要分析 AES 加密算法及其应用的研究,在基于 MFC 基础上对该算法进行简单实现, 采用面向对象的 C++语言,模拟加密及其解密过程。分析该算法的安全性能和广泛应用。
3 高级加密标准 AES
3.1高级数据加密标准
1995 年,美国国家标准技术所开始寻找一种新的、更强有力的加密算法。寻找的结果 最终成为了高级加密标准,即 AES。[2]美国政府鉴于破密技术的快速演进,虽然到目前为 止并无一致命性的攻击方法可以直接破解 DES(目前的破解方法大多针对 DES 密钥长度太
关键词:AES 加密算法;基于 C++;加密;解密; Rijndeal 算法;MFC 类;
1 引言
信息社会的兴起,给全球带来了信息技术飞速发展的契机:信息技术的应用,引起了人 们生产方式、 生活方式和思想观念的巨大变化, 极大地推动了人类社会的发展和人类文明的 进步。随着人类进入知识经济时代,网络和信息已主见成为人们从事社会活动的基本工具, 但是, 由于计算机和网络系统的发放性带来的信息与信息系统的安全问题也拓展到前所未有 的程度。 日益增多的对信息系统的非法入侵和破坏活动正在以惊人的速度在全世界蔓延, 给 各国信息系统带来巨大的经济损失和安全威胁。 随着信息技术的不断发展,信息安全,网络安全的概念正在与时俱进,逐渐从早期的通 信保密发展到关注信息的保密、 完整、 可用、 可控和不可否认的信息安全。 信息与信息系统, 网络与网络系统安全并重,保证信息系统能够安全、可靠、不间断的运行,以提供必要的服 务。[6]近年来,我国在发展知识经济、建设信息基础设施以及中国互联网的建设和应用方 面都有相当大的进步。计算机网络的广泛应用已经对经济、文化、教育、科学的发展和人类 生活质量的提高产生了重要影响, 但也带来了一些新的问题。 信息系统的的安全总是面临着 日益严重的威胁。 一方面是由于互联网的开放性及安全性不足, 另一方面是众多的攻击手段。 为了保证信息系统的安全,需要完整的安全保障体系,应具有保护功能、检测手段、工具的 反应以及事故恢复能力。 因而, 除了不断完善相应的法律和监督措施, 我们更需要自我保护。 理论和事实都说明, 密码技术是一种经济、 实用而有效的方法, 这也是密码技术得到快速发展和广泛应用的原因。
2 密码学
2.1 密码学的起源和发展
密码学(cryptology)是研究信息系统安全保密的科学,包括密码编程学和密码分析学。 密码编程学(Cryptography) ,主要研究对信息进行编码,实现对信息的隐蔽。密码分析学
(Cryptanalytics)主要研究加密消息的破解或消息的伪造。[7]今天,对加密技术的一些元素 实现访问控制、验证、消息完整性和不可抵赖性时,都影响着信息的安全性。 在第一次世界大战之前,密码技术很少见诸于世,直到 1918 年,William F.Friedman 的 论文“重合指数及其在密码学中的应用” (The Index of Coincidence and Applications in Cryptography)发表时,情况才有所好转。 1949 年,香农(Claude Shannon)的论文“保密系统的通信理论” (The Communication Theory of Secrecy Systems)在《贝尔系统技术杂志》上发表,奠定了密码学理论基础。[5] 1967 年,戴维。卡恩(David Kahn) ,收集整理了第一次世界大战和第二次世界大战的 大量史料,创作出版了《破译者》 (The Coddebreakers) ,为密码技术的公开化、大众化拉开 了序幕。此后,密码学的文献大量涌现。 20 世纪 70 年代,是密码需发展的重要时期,有两件大事发生: 其一,美国国家标准局(NBS,即现在的国家标注与技术研究所 NIST)开始数据加密 标准(Data Encryption Standard)的征集工作。1975 年 3 月 17 日,NBS 在 Federal Register 上公布了一个候选算法,1976 年 11 月 23 日,该算法被正式确认为联邦标准 DES,并授权 在政府通信中使用,此后,DES 被多个部门和标准化机构采纳为标准,甚至成为事实上的 归家标准,1998 年正式退役。 其二, 1976 年 11 月, Differ 与 Hellman 的革命性论文 “密码学新方向” (New direction in crypotography) 发表, 开辟了公开密钥密码学的新领域, 成为现代密码学的一个里程碑。 1978 年,RLRivest,AShamir 和 LAdleman 实现了 RSA 公钥密码体制,它成为公钥密码的杰出代 表和事实标准。 1997 年 1 月, 美国国家标准和技术探究所 (NIST) 发布公告征集新的加密标准, 即 AES。 新的加密标准将取代旧的数据加密标准(DES)和三重 DES 而成为一个(美国)联邦信息 处理标准(FIPS) 。[1]
短来破解) ,但是这些发展已直接影响了 DES 密码系统的安全性,所以在 1998 年对世界公 开征求下一代的密码算法,用以取代 DES 算法。 如同征集 DES 候选方案一样,NIST 也提出了几项重要的条件,算法必须是: (1) 无类别的; (2) 公开揭示的; (3) 无特权,可世界范围使用的; (4) 对称密码算法,每块 128 位; (5) 可使用的密钥长度为 128、192 以及 256 位。正文部分(五号宋体) 候选算法的标准是: (1) 安全性; (2) 开销; (3) 算法和实现特性。 经过第二届 AES 会议后一段相对平静的时期,直到 NIST 于 1999 年 8 月公布入围的 5 个 候选方案,它们是(依字母排序)MARS、RC6、Rijndeal、Serpent 和 Twofish。[1] NIST 指出,从密码学的角度,这 5 个算法都找不到弱点,之所以最终选择 Rijndeal 是 因为它是安全性、性能、效率、实现方便性和灵活性的最佳组合。尤其是因为以下原因: (1) 在各种计算机的软硬件中性能良好 (2) 在反馈和无反馈模式中性能良好; (3) 密码设置时间准确; (4) 密码极为敏捷、快速; (5) 不需要太多记忆; (6) 在电源攻击和定时攻击时有极好的防护。 2001 年 Rijndeal 算法正式被美国政府采用, 作为政府数据传输和存储的保护手段。 NIST 做出这一决定很大程度上依赖于对算法的公开分析。
3.2.1 轮的数目的设定 当前的密码分析研究表明, 迭代型分组密码抗击密码分析攻击的能力随轮数的增加而增 加。 我们通过考虑抗击捷径攻击来确定轮的数目, 因为捷径攻击明显比穷尽密钥搜索攻击更 有效。在此基础上,又增加了一个适当的安全余量。对分组长度和密钥长度均是 128 比特的 Rijndael,我们尚未发现能够对具有六轮以上的简化版本实施的捷径攻击,又增加 4 轮作为 安全余量。这是一个保守的做法,因为: (1) Rijndael 中两轮即可提供以下意义上的“全扩散”。每个状态比特均依赖与两轮之前 的所有状态比特, 或者一个状态比特的改变均可能对两轮之后的半数状态比特产生影响。 在 增加 4 轮可以看作是在密码的开始和结束时增加了一个“全扩散步骤”。Rijndael 轮变换的高 扩散性归功于它在所有状态比特上的均匀结构。对于所谓的 Feistel 密码,没轮仅对半数的 状态比特进行作用,三轮后才可以获得全扩散。在实际中,这种密码一般采用四轮或更多。 (2) 为了攻击密码的第 n+1 或 n+2 轮,相信密码分析,差分密码分析和截短差分析攻击 通常采用一个直到 n 轮的传播轨迹。 渗透攻击也是如此, 它利用一个四轮的传播结构来攻击 六轮。在这方面,我们增加四轮实际上使得找到一个传播轨迹所遍历的轮数增加一倍。 对于具有较长密钥的 Rijndael 版本,密码密钥每增加 32 比特,伦德数目就增加一轮。 原因如下: (1) 主要目的之一是是比穷举密钥搜索攻击更有效的捷径攻击失效。 因为穷举密钥搜索 的工作量随密钥长度的增加而增加,而捷径攻击对具有更长密钥的密码的攻击效率不高。 (2) (部分的) 已知密钥和相关密钥攻击利用了密码密钥中的比特信息, 或者具有利用 不用密码密钥的能力。如果增加密码密钥的长度,密码分析者的搜索范围也将随之增加。 关于具有更长密钥的 Rijndael 的安全性研究文献已经表明, 这一策略带来了足够的安全 余量[31,36,62]。而对具有较长分组的 Rijndael 版本,分组长度每增加 32 比特,轮的数 目就增加一轮。理由如下: (1) 如果密码的分组长度大于 128 比特, 就采用三轮来实现全扩散, 这是因为轮变换的 扩散能力将随分组长度的增加而降低。 (2) 更大的分组长度将增加可能出现的模式的选取范围, 这些模式可用在某几轮的输入 输出上。这一附加的灵活性可使攻击所必须处理的范围扩大一轮或者几轮。 对于具有更大分组长度 256 比特的 Rijndael 版本,我们已经发现,即使将攻击的处理范 围扩大一轮也难以实现。因此,这是一个保守的余量。 表 3.2 列出了作为 N b 和 N k 函数的 N t 值。对于 AES N b 取固定值为 4;对于 128 比特
3.2 AES加密算法实现过程分析
AES 中的操作均是以字节作为基础的,用到的变量也都是以字节为基础。State 可以用 4× 4 的矩阵表示。AES 算法结构对加密和解密的操作,算法由轮密钥开始,并用 Nr 表示对 一个数据分组加密的轮数(加密轮数与密钥长度的关系如表 1 所示)。 AES 算法的主循环 State 矩阵执行 N r 1 轮迭代运算,每轮都包括所有 4 个阶段的代换,分别是在规范中被称为 SubBytes(字节替换)、ShiftRows(行位移变换)、MixColumns(列混合变换) 和 AddRoundKey, (由于外部输入的加密密钥 K 长度有限 , 所以在算法中要用一个密钥扩展程序(Keyexpansion) 把外部密钥 K 扩展成更长的比特串,以生成各轮的加密和解密密钥。)最后执行只包括 3 个阶段 (省略 MixColumns 变换)的最后一轮运算。 表 3.1 AES 参数 密钥长度(bits) 明文分组长度(bits) 轮数 每轮密钥长度(bits) 扩展密钥长度(bytes) 128 128 10 128 176 192 128 12 128 206 256 128 14 128 240