安全加密算法之AES分析1

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
、扩散以及非线性功能,这种方法非常有效且 非常安全。 • (7)每个阶段均可逆。 • (8)解密算法按逆序方式利用了扩展密钥。但 是AES的解密和加密算法并不一样。 • (9)一旦将所有的四个阶段求逆,很容易证明 解密函数的确可以恢复原来的明文。 • (10)加密和解密过程的最后一轮均只包含三个 阶段。
目录结构
1、对称加密算法
• 对称加密算法[1]是应用较早的加密算法,技 术成熟。在对称加密算法中,数据发信方将明 文(原始数据)和加密密钥一起经过特殊加密 算法处理后,使其变成复杂的加密密文发送出 去。收信方收到密文后,若想解读原文,则需 要使用加密用过的密钥及相同算法的逆算法对 密文进行解密,才能使其恢复成可读明文。在 对称加密算法中,使用的密钥只有一个,发收 信双方都使用这个密钥对数据进行加密和解密 ,这就要求解密方事先必须知道加密密钥。
• 截至2006年,针对AES唯一的成功攻击 是旁道攻击。美国国家安全局审核了所 有的参与竞选AES的最终入围者(包括 Rijndael),认为他们均能够满足美国 政府传递非机密文件的安全需要。2003 年6月,美国政府宣布AES可以用于加密 机密文件。
AES应用
• Rijndael 被选为AES是经过多个国家的密码专家广泛讨论的 结果。Rijndael 算法具有灵活、简便、抗击多种密码分析 的优点,它的目标是发展成能够安全用于商业、政治和军事 的加密算法。
• 输入密钥直接被复制到扩展密钥数组 的前四个字。然后每次用四个字填充 扩展密钥数组余下的部分。在扩展密 钥数组中,每个新增的字w[i]依赖于 w[i-1]和w[i-4]。在四种情形下,三 个使用了异或。对w数组中下标为4的 倍数的元素采用了更复杂的函数来计 算。
g函数:
字节
w
• 1、字循环的功能是使 一个字中的4个字节循 环左移一个字节,即字循环 将输入字[B0,B1,B2,B3] 变换成[B1,B2,B3,B0]。
对称加密算的特点
• 对称加密算法的特点是算法公开、计算量小、 加密速度快、加密效率高。不足之处是,交易 双方都使用同样钥匙,安全性得不到保证。此 外,每对用户每次使用对称加密算法时,都需 要使用其他人不知道的惟一钥匙,这会使得发 收信双方所拥有的钥匙数量成几何级数增长, 密钥管理成为用户的负担。对称加密算法在分 布式网络系统上使用较为困难,主要是因为密 钥管理困难,使用成本较高。而与公开密钥加 密算法比起来,对称加密算法能够提供加密和 认证却缺乏了签名功能,使得使用范围有所缩 小。在计算机专网系统中广泛使用的对称加密 算法有DES和IDEA等。美国国家标准局倡导的 AES即将作为新标准取代DES。
• AES是一种分组密码,用以取代DES的商业应用 。其明文长度为128位,密钥长度为128位、 192位、或256位。
算法特点:
• 明文分组的长度为128位即16字节,密 钥长度可以为16,24,或32字节(128,192 或256位)。根据密钥的长度,算法被称 为AES-128、AES-192、AES-256。
• 轮密钥加(AddRoundKey ):当前分组和扩展密钥的一部分 进行按位XOR。
• (4)算法结构非常简单。对加密和解密操作, 算法由轮密钥加开始,接着执行9轮迭代运算 ,每轮都包含所有4个阶段的代替,接着是第 10轮的三个阶段。
• (5)仅仅在轮密钥加阶段中使用密钥。 • (6)轮密钥加是XOR,其他三个阶段提供了混淆
1、字节代替变换
• 简单的查表操作。 • AES定义了一个S盒,它是一个16X16个
字节的矩阵,包含了8位所能表示的256 个数的一个置换。 • 字节与S盒的映射:把该字节的高4位作 为行值,低4位作为列值,以这些行列 值作为索引从S盒的对应位置取出元素 作为输出。 • 例如,十六进制数{95}对应S盒的9行5 列,在S盒中的值为{2A},所以{95}就 被代替为{2A}。 • 逆S盒与其类似,逆推。
S0,0 S0,1 S0,2 S0,3 S1,1 S1,2 S1,3 S1,0 S2,2 S2,3 S2,0 S2,1 S3,3 S3,0 S3,1 S3,2
3、列混淆变换
• 每列的每个字节被映射为一个新值,此值由该列中的4个字 节通过函数变换得到。
• 变换如下:
02 03 01 01 01 02 03 01 01 01 02 03 03 01 01 02
S’3,0 S’3,1 S’3,2 S’3,3
0E 0B 0D 09 09 0E 0B 0D 0D 09 0E 0B 0B 0D 09 0E
固定
S0,0 S0,1 S0,2 S0,3 S1,0 S1,1 S1,2 S1,3 S2,0 S2,1 S2,2 S2,3 S3,0 S3,1 S3,2 S3,3
AES算法优点
• AES的基本要求是,比三重DES快,至少与三重 DES一样安全,采用对称分组密码体制,密钥 长度的最少支持为128、192、256,分组长度 128位,算法应易于各种硬件和软件实现。
• 2000年10月2日美国政府正式宣布选中比利时 密码学家Joan Daemen 和 Vincent Rijmen 提 出的一种密码算法RIJNDAEL 作为 AES.
安全加密算法之AES分析
AES(Rijndael)算法汇聚了安 全性、效率高、易实现性和灵活 性等优点,是一种较DES更好的 算法,通常被认为是DES算法的 取代者。
组员分工:
• 张威 20103272 • 李鑫 20103277 • 李正熹 20103273 • 苏龙杰 20103281
1、对称加密算法 2、高级加密算法AES 3、AES安全性分析
组分左右部分,进行一般为16轮的迭代运算,每次迭代 完后交换左右位置,可以自己进行设计的有: 分组大小 密钥长度 轮次数 子密钥生成 轮函数 • (2)输入的密钥被扩展成由44个32位字所组成的数组w[i] 。 • (3)由4个不同的阶段组成,包括一个置换和三个代替: • 字节代替(SubBytes ):用一个S盒完成分组的字节到字节 的代替。 • 行移位(ShiftRows ):一个简单的置换。 • 列混淆(MixColumns ):利用域GF(28)上的算术特性的一 个代替。
对称加密算的原理及应用
• 对称加密算法的优点在于加解密的高速度和使 用长密钥时的难破解性。假设两个用户需要使 用对称加密方法加密然后交换数据,则用户最 少需要2个密钥并交换使用,如果企业内用户 有n个,则整个企业共需要n×(n-1) 个密钥, 密钥的生成和分发将成为企业信息部门的恶梦 。对称加密算法的安全性取决于加密密钥的保 存情况,但要求企业中每一个持有密钥的人都 保守秘密是不可能的,他们通常会有意无意的 把密钥泄漏出去——如果一个用户使用的密钥 被入侵者所获得,入侵者便可以读取该用户密 钥加密的所有文档,如果整个企业共用一个加 密密钥,那整个企业文档的保密性便无从谈起 。
明文分组长度(字/字节/ 位)
4/16/128
4/16/128
4/16/128
轮数
10
12
14
每轮的密钥长度(字/字节 /位)
4/16/128
扩展密钥长度(字/字节/ 位)
44/176
注:1字=4字节、1字节=8位
4/16/128 52/208
4/16/128 60/240
AES结构:
• (1)它不是Feistel 结构。 • Feistel结构就是一种分组密码,一般分为64位一组,一
字节代替
S盒
2、行移位变换
• 4X4的state矩阵第一行保持不变,第二 行循环左移一个字节,第三行循环左移 两个字节,第四行循环左移三个字节。
S0,0 S0,1 S0,2 S0,3 S1,0 S1,1 S1,2 S1,3 S2,0 S2,1 S2,2 S2,3 S3,0 S3,1 S3,2 S3,3
2、高级加密标准
• 高级加密标准(Advanced Encryption Standard,AES),在密码学中又称 Rijndael加密法,是美国联邦政府采用 的一种区块加密标准。这个标准用来替 代原先的DES,已经被多方分析且广为 全世界所使用。经过五年的甄选流程, 高级加密标准由美国国家标准与技术研 究院(NIST)于2001年11月26日发布于 FIPS PUB 197,并在2002年5月26日成 为有效的标准。2006年,高级加密标准 已然成为对称密钥加密中最流行的算法 之一。
• 没人知道AES或其他的加密算法会持续多 久,NIST的数据加密标准(DES)是一个美 国政府标准,直到被庞大的并行网络电 脑攻击和特定的"DES- Cracking"硬件攻 克时,它已连续使用了20年。AES比DES 支持更长的密钥。除非一些对AES的攻击 速度比密钥耗尽(key exhaustion)还要 快, 否则AES可保持超过20年之久的安 全。当AES作为FIPS被发布出来后,该算 法将正式被作为一个合适的加密法,可 被美国政府组织用以保护敏感信息。
S0,0 S0,1 S0,2 S0,3 S1,0 S1,1 S1,2 S1,3 S2,0 S2,1 S2,2 S2,3 S3,0 S3,1 S3,2 S3,3
固定
逆向列混淆如下:
S’0,0 S’0,1 S’0,2 S’0,3
=
S’1,0 S’1,1 S’1,2 S’1,3 S’2,0 S’2,1 S’2,2 S’2,3
• 2、字代替利用S盒对 输入字中的每个字节字代替 进行字节代替。
• 3、将结果与轮常量 Rcon[j]相异或。
B0 B1 B2 B3
g
B1 B2 B3 B0 SS SS B1’ B2’ B3’ B0’
⊕ RCj 0 0 0
轮常量 w’
轮常量:
• 轮常量是一个字,这个字的最右边三个字节总 为0。因此字与Rcon相异或,其结果只是与该 字最左边那个字节相异或。
• 随着网络技术发展迅猛,网络数据加密要求日益提高,AES 的应用首先体现在网络信息安全领域中。
无线网络的应用
• 由于无线网络的通信信道较有线网络更 为开放,安全性的要求更高。为了保障 数据传输安全性,一些无线网络技术使 用了AES。例如ZigBee 技术,为确保 MAC 帧的完整性、机密性、真实性和一 致性,其MAC 层使用AES 算法进行加密 ,并且生成一系列的安全机制。
• AES(Rijndael)算法汇聚了安全性、效率高、易实现性和 灵活性等优点,是一种较DES 更好的算法,通常被认为是 DES算法的取代者。目前AES 算法主要用于基于私钥数据加 密算法(对称密钥加密算法)的各种信息安全技术和安全产 品,为原有的数据加密应用提供更强的数据安全保障。此外 ,AES 算法硬件实现的速度大约是软件实现的3 倍, 这就给 用硬件实现加密提供了很好的机会。
• 商业的和其他非美国政府组织被推荐( 而非要求)使用AES和NIST的其它加密标 准。Rijndael的商业产品本应在宣布之 后不久推出,然而AES本身在2001年某 一时间才会成为正式标准,之后NIST还 会推出相应的测试规范,NIST和加拿大 政府通讯安全机构(CSE)共同运行加密 模块确认程序(CMVP)来测试此算法,为 NIST的标准和规范制定商业的、官方认 可的实验室测试加密执行标准,如果可 行,NIST和CSE将共同为该算法授权。
S’0,0 S’0,1 S’0,2 S’0,3
=
S’1,0 S’1,1 S’1,2 S’1,3 S’2,0 S’2,1 S’2,2 S’2,3
S’3,0 S’3,1 S’3,2 S’3,3
列混淆
4、轮密钥加变换
• 在轮密钥加变换中,128位的state 矩阵按位与128位的轮密钥XOR。
wk.baidu.com
5、密钥扩展
• 密码由N轮组成,其中轮数依赖于密钥长度 :16字节密钥是10轮,24字节密钥对应12轮 ,32字节密钥对应14轮。
• 最后一轮仅包含三个变换,而在第一轮的前 面有一个起始的单变换(轮密钥加),可以视 为0轮。
AES的参数
密钥长度(字/字节/位) 4/16/128 6/24/192 8/32/256
• 每轮的轮常量均不同,其定义为 Rcon[j]=(RC[j],0,0,0),其中 RC[1]=1,RC[j]=2·RC[j-1]。
• RC[j]的值按十六进制表示为:
j 1 2 3 4 5 6 7 8 9 10 RC[j] 01 02 04 08 10 20 40 80 1B 36
AES算法安全性
相关文档
最新文档