0网络安全-05:高级加密标准

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Chapter5高级加密标准《密码编码学与网络安全》2020/2/24河北科技大学信息学院2AdvancedEncryptionStandard(AES)2001年由美国国家标准技术局(NIST)发布对称分组密码算法,用以取代DES2020/2/24河北科技大学信息学院3§5.1高级加密标准的评估准则§5.1.1高级加密标准的起源1997年4月15日,NIST发起征集高级加密标准的活动,活动目的是确定一个非保密的、可以公开技术细节的、全球免费使用的分组密码算法,作为新的数据加密标准。1997年9月12日,美国联邦登记处公布了正式征集AES候选算法的通告。作为进入AES候选过程的一个条件,开发者承诺放弃被选中算法的知识产权。对AES的基本要求是:比三重DES快、至少与三重DES一样安全、数据分组长度为128比特、密钥长度为128/192/256比特。1998年8月12日,在首届AES会议上指定了15个候选算法。1999年3月22日第二次AES会议上,将候选名单减少为5个,这5个算法是MARS(IBM)、RC6(MIT)、Rijndael(比)、Serpent(英、以、美)、Twofish(美)。2000年4月13日,第三次AES会议上,对这5个候选算法的各种分析结果进行了讨论。2000年10月2日,NIST宣布了获胜者—Rijndael算法,2001年11月出版了最终标准FIPSPUB197。2020/2/24河北科技大学信息学院4§5.1.2NIST对AES算法的要求privatekeysymmetricblockcipher128-bitdata,128/192/256-bitkeysstronger&fasterthanTriple-DESactivelifeof20-30years(+archivaluse)providefullspecification&designdetailsbothC&Javaimplementations…2020/2/24河北科技大学信息学院5AESEvaluationCriteriainitialcriteria:security–effortforpracticalcryptanalysiscost–intermsofcomputationalefficiencyalgorithm&implementationcharacteristicsfinalcriteriageneralsecurityeaseofsoftware&hardwareimplementationimplementationattacksflexibility(inen/decrypt,keying,otherfactors)2020/2/24河北科技大学信息学院6§5.2AES密码AES的参数AES-128AES-192AES-256密钥长度(字/字节/位)4/16/1286/24/1928/32/256明文分组长度(字/字节/位)4/16/1284/16/1284/16/128轮数101214每轮的密钥长度(字/字节/位)4/16/1284/16/1284/16/128扩展密钥长度(字/字节)44/7652/20860/2402020/2/24河北科技大学信息学院7§5.2AES密码AES的特性所有的已知攻击具有免疫性在各种平台上执行速度快,代码紧凑设计简单2020/2/24河北科技大学信息学院8§5.2AES密码数据结构以字节为单位的方阵描述:输入分组in、中间数组State、输出、密钥排列顺序:方阵中从上到下,从左到右2020/2/24河北科技大学信息学院9§5.2AES密码AES算法结构2020/2/24河北科技大学信息学院10§5.2AES密码AES算法结构AES算法的轮变换中没有Feistel结构,轮变换是由三个不同的可逆一致变换组成,称之为层。线性混合层:确保多轮之上的高度扩散。非线性层:非线性性的S-盒的并行应用。密钥加层:轮密钥简单地异或到中间状态上。2020/2/24河北科技大学信息学院11§5.2AES密码SP网络结构在这种密码的每一轮中,轮输入首先被一个由子密钥控制的可逆函数S作用,然后再对所得结果用置换(或可逆线性变换)P作用。S和P分别被称为混乱层和扩散层,主要起混乱和扩散作用。2020/2/24河北科技大学信息学院12AES-128加解密过程Rijndael2020/2/24河北科技大学信息学院132020/2/24河北科技大学信息学院14§5.2AES密码AES算法描述假设:State表示数据以及每一轮的中间结果,RoundKey表示每一轮对应的子密钥算法如下:第一轮之前执行AddRoundKey(State,RoundKey)Round(State,RoundKey){ByteSub(State);ShiftRow(State);MixColumn(State);AddRoundKey(State,RoundKey);}//执行9次FinalRound(State,RoundKey){ByteSub(State);ShiftRow(State);AddRoundKey(State,RoundKey);}2020/2/24河北科技大学信息学院15§5.2AES密码数据结构:状态、密钥、输出的矩阵表示2020/2/24河北科技大学信息学院16§5.2.1字节代换(SubstituteBytes)变换正向和逆向变换字节代替是一个非线性的字节代替,独立地在每个状态字节上进行运算。代替表(S-盒)是可逆的,是一个16×16的矩阵。2020/2/24河北科技大学信息学院172020/2/24河北科技大学信息学院18§5.2.1字节代换(SubstituteBytes)变换S-盒代替表(S-盒)是可逆的,是一个16×16的矩阵。2020/2/24河北科技大学信息学院192020/2/24河北科技大学信息学院20§5.2.1字节代换(SubstituteBytes)变换例子2020/2/24河北科技大学信息学院21§5.2.2行移位(shiftRow)变换正向和逆向变换2020/2/24河北科技大学信息学院22§5.2.2行移位(shiftRow)变换例子2020/2/24河北科技大学信息学院23§5.2.3列混淆(MixColumn)变换正向和逆向变换2020/2/24河北科技大学信息学院242020/2/24河北科技大学信息学院25§5.2.3列混淆(MixColumn)变换例子2020/2/24河北科技大学信息学院26§5.2.4轮密钥加(AddRoundKey)变换一个简单地按位异或的操作2020/2/24河北科技大学信息学院27内部函数的功能小结SubBytes的目的是为了得到一个非线性的代换密码。对于分析密码抗差分分析来说,非线性是一个重要的性质。ShiftRows和MixColumns的目的是获得明文消息分组在不同位置上的字节混合。AddRoundKey给出了消息分布所需的秘密随机性。2020/2/24河北科技大学信息学院28§5.2.5AES的密钥扩展轮密钥是通过密钥调度算法从初始密钥中产生,包括两个组成部分:密钥扩展和轮密钥选取。基本原理如下:所有轮密钥比特的总数等于分组长度乘轮数加1。(如128比特的分组长度和10轮迭代,共需要1408比特的密钥)。将密钥扩展成一个扩展密钥。轮密钥按下述方式从扩展密钥中选取:第一个轮密钥由开始Nb个字组成,第二个轮密钥由接下来的Nb个字组成,如此继续下去。2020/2/24河北科技大学信息学院29§5.2.5AES的密钥扩展密钥扩展扩展过程2020/2/24河北科技大学信息学院30§5.2.5AES的密钥扩展密钥扩展伪代码函数gRotWord执行一字节循环左移[b0,b1,b2,b3][b1,b2,b3,b0]SubWord执行使用S-盒实行字节替换前两步的结果XOR与轮常数Rcon[j]2020/2/24河北科技大学信息学院312020/2/24河北科技大学信息学院32j12345678910RC[j]01020408102040801B36§5.2.5AES的密钥扩展轮常量2020/2/24河北科技大学信息学院33§5.2.5AES的密钥扩展例子2020/2/24河北科技大学信息学院34§5.2.6对应的逆运算2020/2/24河北科技大学信息学院35§5.2.6实现可以在8-bitCPU上有效实现bytesubstitutionworksonbytesusingatableof256entriesshiftrowsissimplebyteshiftaddroundkeyworksonbyteXOR’smixcolumnsrequiresmatrixmultiplyinGF(28)whichworksonbytevalues,canbesimplifiedtousetablelookups&byteXOR’s2020/2/24河北科技大学信息学院36§5.2.6实现可以在32-bitCPU上有效实现重新定义步骤以适应32-bit的字长可以预先计算256个字的四个表theneachcolumnineachroundcanbecomputedusing4tablelookups+4XORs4Kb用于存储表设计者认为在AES大选中有效实现是一个关键因素2020/2/24河北科技大学信息学院37小结AES的选择过程AES密码-Rijndael的细节每轮中的步骤密钥的扩展实现

1 / 37
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功