DES-AES-SHA算法详解(个人详细总结)资料课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《DES-AES-SHA算法详解(个人详细总结)资料课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DES AES SHA 算法 详解 个人 详细 总结 资料 课件
- 资源描述:
-
1、Agenda1.DES algorithm2.AES algorithm3.DES/AES work-modes4.SHA algorithmAgenda1.DES algorithm2.AES algorithm3.DES/AES mode4.SHA algorithm5.SE module Feature list1. 1 DES背景介绍 1977年1月,美国政府颁布:采纳IBM公司设计的方案作为非机密数据的正式数据加密标准(DES-Data Encryption Standard)。 DES (Data Encryption Standard),是IBM在上个世纪70年代开发的单密钥对称
2、加解密算法。该算法利用一个56+8奇偶校验位(第8, 16, 24, 32, 40, 48, 56, 64位)=64位的密钥对以64位为单位的块数据进行加解密。1. 2 DES工作原理DES算法是这样工作的:如Mode为加密,则用Key 去把数据Data进行加密, 生成Data的密码形式(64位)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。在通信网络的两端,双方约定一致的Key,在通信的源点用Key对核心数据进行DES加密,然后以密码形式在公共通信网(如电话网)中传输到通信网络的终点,数据到达目的地后
3、,用同样的Key对密码数据进行解密,便再现了明码形式的核心数据。这样,便保证了核心数据(如PIN、MAC等)在公共通信网中传输的安全性和可靠性。通过定期在通信网络的源端和目的端同时改用新的Key,便能更进一步提高数据的保密性,这正是现在金融交易网络的流行做法1.3 DES加密算法64bitRound key1st step:Initial permutationFeistel function1. DES Cipher2nd step:16-round 迭代加密迭代加密3st step:L15和和R15互换互换4st step:IP-11.3 DES加密算法1. DES Ciphern IP
4、permutationIP585042342618102605244362820124625446383022146645648403224168574941332517915951433527191136153453729211356355473931231570 1 1 0 0 0 1 1 0 1 1 0 1 1 1 1 0 1 1 0 1 1 0 1 0 1 1 1 0 0 0 00 1 1 1 0 1 0 1 0 1 1 1 0 1 0 0 0 1 1 0 0 1 0 1 0 1 1 1 0 0 1 011111111 10111000 01110110 010101110000000
5、0 11111111 00000110 10000011IP PermutationL0R01.3 DES加密算法1. DES Ciphern Feistel functionf 操作只是对操作只是对Ri-1进行操作进行操作1.3 DES加密算法1. DES Ciphern Feistel function Expansion100000000001011111111110 100000001101010000000110R0: 32bitExpansion00000000 11111111 00000110 10000011R0-E: 48 bit1.3 DES加密算法1. DES Ciph
6、ern Feistel function Substitution101111 011001 100000 110011101101111110 101101 001110E-R0与与K1异或异或substitution01110110001101000010011010100001B1B6=10, 选中第选中第2行行B2B3B5=1111,选中第,选中第15行行= 648 bit32 bit1.3 DES加密算法1. DES Ciphern Feistel function Substitution1.3 DES加密算法1. DES Ciphern Feistel function Perm
7、utation0 1 0 0 0 1 0 00 0 1 0 0 0 0 01 0 0 1 1 1 1 01 0 0 1 1 1 1 10 1 1 1 0 1 1 00 0 1 1 0 1 0 00 0 1 0 0 1 1 01 0 1 0 0 0 0 1Permutation1.3 DES加密算法1. DES Cipher0 1 0 0 0 1 0 00 0 1 0 0 0 0 01 0 0 1 1 1 1 01 0 0 1 1 1 1 1 L0R1 =L1 = R01.3 DES加密算法2. Key schedule1st step: PC-12nd step: 循环左移循环左移3st st
8、ep: PC-21.3 DES加密算法2.Key schedulen PC-1 已知主密钥为已知主密钥为64位(其中每个字节的第位(其中每个字节的第8位作为奇偶校验位)。略去奇偶校位作为奇偶校验位)。略去奇偶校验位,验位,DES的密钥由的密钥由64位减至位减至56位,对这位,对这56位密钥进行如下置换(位密钥进行如下置换(PC-1) 经置换后的经置换后的56位密钥,被分成左右两部分,每部分位密钥,被分成左右两部分,每部分28位。位。5749413325179158504234261810259514335271911360524436635547393123157625446383022146
9、615345372921135282012411101100 10011001 0 0 0 11 0 11 1 0 1110110100 01011000 1 0 0 0 111 0 0 11 0k=01110000 01110010 01101111 0110011101110010 01100001 01101101PC-1D0C01.3 DES加密算法2.Key schedulen 循环左移(循环左移(Rotate)轮12345678910111213141516位数11222222122222211.3 DES加密算法2.Key schedulen PC-2:将:将56位密钥压缩成位密
10、钥压缩成48位。位。1417112415328156211023191242681672720132415231374755304051453348444939563453464250362932k1=00111101 10001111 11001101 00110111 00111111 0000011011101100 10011001 00011011 101110110100 01011000 10001110 0110循环左移循环左移+PC-21.4 DES解密算法n 在经过所有的替代、置换、异或和循环移动之后,获得了这样一个非常有用的性质:加密和解密可使用相同的算法。n DES解密
11、结构与其加密结构是对称相似的,使得能用相同的函数来加密或解密每个分组。n 二者的唯一不同之处是密钥的次序相反。这就是说,如果各轮的加密密钥分别是K1,K2,K3,K16,那么解密密钥就是K16,K15,K14,K1。为各轮产生密钥的算法也是循环的。密钥向右移动,每次移动位数为0,1,2,2,2,2,2,2,1,2,2,2,2,2,2,1.1.4 DES解密算法1.4 DES解密算法子密钥子密钥子密钥IPIP子密钥子密钥子密钥子密钥Agenda1.DES algorithm2.AES algorithm3.DES/AES mode4.SHA algorithm5.SE module Featur
12、e list2.1 AES introduction 随着对称密码的发展,DES数据加密标准算法由于密钥长度较小(56位),已经不适应当今分布式开放网络对数据加密安全性的要求,因此1997年NIST公开征集新的数据加密标准,即AES1。 经过三轮的筛选,比利时Joan Daeman和Vincent Rijmen提交的Rijndael算法被提议为AES的最终算法。此算法将成为美国新的数据加密标准而被广泛应用在各个领域中。尽管人们对AES还有不同的看法,但总体说,AES作为新一代的数据加密标准汇聚了强安全性、高性能、高效率、易用和 灵活等优点。 AES设计有三个密钥长度:128,192,256位,
13、相对而言,AES的128密钥比DES的56密钥强1021倍2。AES算法主要包括三个方面:轮变化、圈数和密钥扩展。2.2 AES 加密算法 14 14 14 14 12 12 14 12 10rN4bN6bN8bN4kN6kN8kNPlaintext word = ?Key word = ?Round = ?1. Cipher 2.2 AES 加密算法Key schedule1st step2nd Step: 循环迭代循环迭代Round = ?2.1 AES introduction单轮操作步骤单轮操作步骤1. Cipher 2.1 AES introduction SubBytes2.1 A
14、ES introduction SubBytesS-box2.1 AES introduction ShiftRowsPlaintext = 4WordPlaintext = 6WordPlaintext = 8Word2.1 AES introduction ShiftRows2.1 AES introduction MixColumns2.1 AES introduction MixColumns2.1 AES introduction AddRoundKey AddRoundKey就就是将是将round key简单地与状态进行逐简单地与状态进行逐比特异或。比特异或。 round key由
15、由cipher key通过通过key schedule算法得到,算法得到, round key等于分组长度等于分组长度2.2 AES 加密算法2. Key Schedulen Key ExpansionRound key size = plaintext bock sizeExpanded key size = Round key size * (round + 1)2.2 AES 加密算法2. Key Schedulen Key ExpansionNk = 6 (key size = 4W/6W),下面以,下面以Nk=4为例,则为例,则round = 10 最前面的最前面的 Nk 个个wor
16、d是由种子密钥填充的。是由种子密钥填充的。 之后的每一个字之后的每一个字 Wj 等于前面的字等于前面的字 Wj-1 的与的与 Nk 个位置之前的字个位置之前的字 Wj-Nk的异或。的异或。 而且对于而且对于 Nk 的整数倍的位置处的字,在异或之前,对的整数倍的位置处的字,在异或之前,对 Wj-1 的进行的进行如下变换:如下变换:a)字节的循环移位字节的循环移位 RotByte, 即当输入字为即当输入字为 (a,b,c,d) 时,输出字为时,输出字为 (b , c, d, a )b)用用 S 盒进行变换次位元组盒进行变换次位元组c)与轮常数与轮常数 Rconi异或异或2.2 AES 加密算法2.
17、 Key Schedulen Key Expansioni12345678910RCi01020408102040801b36Rconi 01000000020000000400000008000000100000002000000040000000800000001b00000036000000轮常数轮常数 Rconi :Rconi=(RCi,00,00,00) RC0=01 RCi=2 RCi-12.2 AES 加密算法2. Key Schedulen Round key selectRound key0 = WORD3:0Round key1 = WORD7:4Round key10 =
展开阅读全文