应用密码学对称密码体制概念和操作模式

上传人:ap****ve 文档编号:119610110 上传时间:2020-01-20 格式:PPT 页数:42 大小:5.70MB
返回 下载 相关 举报
应用密码学对称密码体制概念和操作模式_第1页
第1页 / 共42页
应用密码学对称密码体制概念和操作模式_第2页
第2页 / 共42页
应用密码学对称密码体制概念和操作模式_第3页
第3页 / 共42页
应用密码学对称密码体制概念和操作模式_第4页
第4页 / 共42页
应用密码学对称密码体制概念和操作模式_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《应用密码学对称密码体制概念和操作模式》由会员分享,可在线阅读,更多相关《应用密码学对称密码体制概念和操作模式(42页珍藏版)》请在金锄头文库上搜索。

1、应用密码学 AppliedCryptography 对称密码体制概念和操作模式 学习要点 对称密码体制的基本概念分组密码原理分组密码操作模式DES和AES两种典型的对称密码算法 5 3高级加密标准 AES 高级加密标准 AES 1997年4月15日 美国 国家标准技术研究所 NIST 发起征集高级加密标准 AdvancedEncryptionStandard AES的活动 活动目的是确定一个非保密的 可以公开技术细节的 全球免费使用的分组密码算法 作为新的数据加密标准 1997年9月12日 美国联邦登记处公布了正式征集AES候选算法的通告 对AES的基本要求是 比三重DES快 至少与三重DES

2、一样安全 数据分组长度为128比特 密钥长度为128 192 256比特 高级加密标准 AES 1998年8月20日 NIST召开了第一次候选大会 并公布了15个候选算法1999年3月22日 NIST从15个候选算法中公布了5个进入第二轮选择 MARS RC6 Rijndael SERPENT和Twofish2000年10月2日 以安全性 性能 大小 实现特性为标准而最终选定了Rijndael算法2001年 正式发布AES标准 Rijndael算法是由两位比利时的密码专家发明的 它很快而且所需的内存不多 这个算法非常可靠Rijndael算法的设计策略是针对差分分析和线性分析提出来的 是一个分组

3、迭代密码 具有可变的分组长度和密钥长度Rijndael汇聚了安全性能 效率 可实现性和灵活性等优点 AES参数 破译时间 NIST对Rijndael算法的评估准则及结论见课本P84 Square结构 AES的加密与解密 字节代替SubBytes 列混淆MixColumns 行移位ShiftRows 轮密钥加AddRoundKey AES的基本运算 字节代替SubBytes列混淆MixColumns轮密钥加AddRoundKey行移位ShiftRows 三代替 一换位 有限域GF 28 上的字节运算 加法 字节的按位异或运算 其中 i 0 1 7 乘法 是普通多项式乘法 但系数运算可看作比特的乘

4、法和异或运算 即看作域 0 1 上的运算 例子 01110011 10010101 所以 01110011 10010101 01110000 乘法的实际计算方法 讨论 再看前面的例子 01110011 10010101 01110000 即 73 95 70 01110011 10010101 00000001 00000010 00010000 00100000 01000000 10010101 00000001 10010101 00000010 10010101 00010000 10010101 00100000 10010101 01000000 10010101 1001010

5、1 00101010 00011011 00010000 10010101 00100000 10010101 01000000 10010101 10010101 00110001 10001000 00011011 00100000 10010101 01000000 10010101 10010101 00110001 10010011 00100110 00011011 01000000 10010101 10010101 00110001 10010011 00111101 01111010 01110000 70 基于表操作的有限域乘法运算 例子 查对数表 73 03 15 95

6、03 16 则 73 95 03 15 03 15 03 15 16 03 2B 查反对数表 03 2B 表示的域元素为 70 说明 73 95 70 对数表 xy 03 L xy 反对数表 域元素 E 03 xy 查表求任意域元素的逆 方法 除了 00 外所有的域元素都有逆如果 则 或用十六进制表示为 例子 查对数表 95 03 16 其逆为 95 1 03 ff 16 03 e9 查反对数表 03 e9 8a 故 95 的逆为 8a 字运算 系数在有限域GF 28 上的多项式运算 例子 S盒变换 SubBytes 是一个基于S盒的非线性置换映射方法 把输入字节的高4位作为S盒的行值 低4位

7、作为列值 然后取出S盒中对应行和列的元素作为输出 SubBytes变换的两个步骤 步一 把S盒中的每个字节映射为它在有限域GF 28 中的乘法逆步二 例子 95 的乘法逆为 8a 二进制表示为 10001010 结果为 00101010 十六进制表示为 2a 列混合变换 MixColumns 列混合操作是将状态的列看作有限域GF 28 上的4维向量 并与有限域GF 28 上的一个固定可逆方阵A相乘 表示为A S S 形式 行移位运算 ShiftRows 轮密钥加变换 AddRoundKey AES的解密 解密过程除轮密钥加AddRoundKey不变外 其余的字节代替SubBytes 行移位Sh

8、iftRows 列混淆MixColumns都要进行求逆变换 即InvSubBytes InvShiftRows InvMixColumns运算 逆字节代替 InvSubBytes 仿射变换的逆变换 例子 输入 2a 二进制表示 00101010 仿射结果为 10001010 十六进制表示为 8a 再计算乘法逆 8a 在GF 28 中的乘法逆为 95 逆行移位 InvShiftRows 与行移位相反 逆行移位将态State的后三行按相反的方向进行移位操作 逆列混淆 InvMixColumns SS 验证 0E 47 0B 37 0D 94 09 ED 87 0E 47 00001110 0100

9、0111 00000010 00000100 00001000 01000111 00000010 01000111 00000100 01000111 00001000 01000111 10001110 00011100 00011011 00001000 01000111 10001110 00000111 00001110 10000111 0B 37 00001011 00110111 00000001 00000010 00001000 00110111 00110111 01101110 10111000 00011011 11111010 0D 94 00001101 1001

10、0100 0000001 00000100 00001000 10010100 10010100 01100110 11001100 00111110 09 ED 00001001 11101101 00000001 00001000 11101101 11101101 00101001 11000100 0E 47 0B 37 0D 94 09 ED 10000111 11111010 00111110 11000100 10000111 87 十六进制表示 密钥扩展 根据输入密钥得到w 0 w 1 w 2 w 3 作为扩展密钥的基础扩展密钥 对w数组中下标不为4的倍数的元素 w i w i 1 w i 4 i不为4的倍数 对w数组中下标为4的倍数的元素 将一个字的四个字节循环左移一个字节 即 b0 b1 b2 b3 b1 b2 b3 b0 基于S盒对输入字中的每个字节进行S代替将步骤1和步骤2的结果再与轮常量Rcon i 相异或 前10个轮常数Rcon i Rcon i RC i 00 00 00 RC 0 01 RC i 2 RC i 1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号