密码学原理与实践第二版课件.ppt
《密码学原理与实践第二版课件.ppt》由会员分享,可在线阅读,更多相关《密码学原理与实践第二版课件.ppt(47页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2023/1/282023/1/28第第2章章 对称密钥密码体系对称密钥密码体系理解密码学的基本原理掌握DES加密算法了解A5和IDEA加密算法理解序列密码原理2023/1/282023/1/282.1 密码体制原理与分类密码体制原理与分类(I)加密加密解密解密明文明文P密文密文C明文明文P加密密钥加密密钥Ke解密密钥解密密钥KdC=E(Ke,P)P=D(Kd,E(Ke,P)对称密码体制对称密码体制(symmetric cryptosystem)-(symmetric cryptosystem)-单钥单钥加密密钥和解密密钥是相同的加密密钥和解密密钥是相同的非对称密码体制非对称密码体制(asym
2、metric cryptosystem)-(asymmetric cryptosystem)-公钥密码公钥密码加密密钥和解密密钥是成对出现加密密钥和解密密钥是成对出现加密过程和解密过程不同,使用的密钥也不同加密过程和解密过程不同,使用的密钥也不同2023/1/282023/1/28密码算法安全准则与分类密码算法安全准则与分类 密码的安全性原则密码的安全性原则 公开的密码算法才是安全的,保密的算法只在小范围内设公开的密码算法才是安全的,保密的算法只在小范围内设计和研究。计和研究。按照密钥使用方法分按照密钥使用方法分 对称密码算法对称密码算法(symmetric cipher)(symmetric
3、 cipher):又称传统密码算法:又称传统密码算法(conventional cipher)(conventional cipher)或秘密密钥算法、单密钥算法。或秘密密钥算法、单密钥算法。非对称密钥算法非对称密钥算法(asymmetric cipher)(asymmetric cipher),又称公开密钥,又称公开密钥算法算法(public-Key cipher)(public-Key cipher)。按照明文的处理方法分按照明文的处理方法分 分组密码分组密码(block cipher)(block cipher):将明文分成固定长度的组,:将明文分成固定长度的组,用同一密钥和算法对每一块
4、加密,输出也是固定长度用同一密钥和算法对每一块加密,输出也是固定长度的密文。的密文。流密码流密码(stream cipher)(stream cipher):又称序列密码,每次加密一位:又称序列密码,每次加密一位或一字节的明文。或一字节的明文。2023/1/282023/1/282.1.4 密码分析密码分析可破译密码可破译密码当给予足够的时间和计算资源的时候,破译者能当给予足够的时间和计算资源的时候,破译者能确定的加密算法。确定的加密算法。对可破译性的评估基于当前的技术。对可破译性的评估基于当前的技术。穷举攻击穷举攻击攻击者对一条密文尝试所有可能的密钥,直到得攻击者对一条密文尝试所有可能的密钥
5、,直到得到有意义的明文。到有意义的明文。KerckhoffKerckhoff原则原则:加密算法应建立在算法的公开不影:加密算法应建立在算法的公开不影响明文和密钥的安全的基础上。响明文和密钥的安全的基础上。这一原则得到普遍承认,成为判定密码强度的衡量标这一原则得到普遍承认,成为判定密码强度的衡量标准,实际上也成为古典密码和现代密码的分界线。准,实际上也成为古典密码和现代密码的分界线。2023/1/282023/1/28攻击类型攻击类型密码分析者已知的信息密码分析者已知的信息唯密文攻击唯密文攻击加密算法;要解密的密文加密算法;要解密的密文已知明文已知明文攻击攻击加密算法;要解密的密文;用加密算法;
6、要解密的密文;用(与待解密文与待解密文)同一同一密钥加密的多个明密文对密钥加密的多个明密文对选择明文选择明文攻击攻击加密算法;要解密的密文;分析者任选明文,并加密算法;要解密的密文;分析者任选明文,并用用(与待解密文与待解密文)同一密钥加密的密文同一密钥加密的密文选择密文选择密文攻击攻击加密算法;要解密的密文;分析者有目的选择密加密算法;要解密的密文;分析者有目的选择密文,并用文,并用(与待解密文与待解密文)同一密钥解密的对应明文同一密钥解密的对应明文选择文本选择文本攻击攻击加密算法;要解密的密文;分析者任选明文,并加密算法;要解密的密文;分析者任选明文,并用用(与待解密文与待解密文)同一密钥
7、加密的密文;分析者有同一密钥加密的密文;分析者有目的选择密文,并用目的选择密文,并用(与待解密文与待解密文)同一密钥解密同一密钥解密的对于明文的对于明文传统密码体制基于加密信息的攻击类型传统密码体制基于加密信息的攻击类型2023/1/282023/1/28密码的安全性与攻击复杂性密码的安全性与攻击复杂性无条件安全无条件安全(Unconditionally secure)(Unconditionally secure)无论破译者有多少密文无论破译者有多少密文,他也无法解出对应的明文他也无法解出对应的明文,即即使他解出了使他解出了,他也无法验证结果的正确性他也无法验证结果的正确性.一次一密一次一密
8、计算上安全的计算上安全的破译密码的代价超出密文信息的价值破译密码的代价超出密文信息的价值破译密码的时间超出密文信息的有效生命期破译密码的时间超出密文信息的有效生命期攻击复杂性:攻击复杂性:数据数据时间时间存储量存储量2023/1/282023/1/28古典密码古典密码古典密码的加密方法一般是文字置换,使用手工或机械变换的方式实现。古典密码系统已经初步体现出近代密码系统的雏形,它比古代加密方法复杂,其变化较小。单表代替密码:单表代替密码:CaesarCaesar密码;密码;多表代替密码:多表代替密码:VigenereVigenere密码、密码、HillHill密码;密码;转轮密码:二战中的转轮密
9、码:二战中的EnigmaEnigma。2023/1/282023/1/28现代密码现代密码计算机的发展使得基于复杂计算的密码成为可能,密码学成为一门新的学科。对称密钥密码算法的发展:1977年DES正式成为标准1977年公钥密码(非对称密码)出现90年代逐步出现椭圆曲线等其他公钥算法一些新的密码技术,如,混沌密码、量子密码等2023/1/282023/1/28恺撒密码的破译分析一般的恺撒密码一般的恺撒密码加密:加密:c ci i=E(p=E(pi i)=(p)=(pi i+k)mod 26+k)mod 26解密:解密:p pi i=E(c=E(ci i)=(c)=(ci i-k)mod 26-
10、k)mod 26其中其中k k为密钥,为密钥,1 1 k k 25 25一般的恺撒密码的破译分析一般的恺撒密码的破译分析已知加密和解密算法已知加密和解密算法需要测试的密钥只有需要测试的密钥只有2525个个明文所用的语言是已知的,且其意义易于识别。明文所用的语言是已知的,且其意义易于识别。可以采用穷举攻击可以采用穷举攻击2023/1/282023/1/28代换密码代换密码substitution cipherA B C D E F G H I J K L M N O P Q R S T U V W X Y Zw o r d A B C E F G H I J K L M N P Q R S T
11、U V X Y Z2023/1/282023/1/28置换密码置换密码置换密码体制1.61.明文与密文字母不变,利用转换打乱明文字母 的位置和次序。存储空间与报文长度相关。2.完全保留字符的统计信息3.使用多轮加密可提高安全性2023/1/282023/1/282.2 数据加密标准(DES)2.2.1 DES算法算法 DES加加密密算算法法如如图图2-3所所示示,由由以以下下四四个个部部分组成。分组成。2023/1/282023/1/281.初始置换函数初始置换函数IP DES对对64位位明明文文分分组组进进行行操操作作。首首先先,64位位明明文文分分组组x经经过过一一个个初初始始置置换换函函
12、数数IP,产产生生64位位的的输输出出x0,再再将将分分组组x0分分成成左左半半部部分分L0和和右半部分右半部分R0,即:,即:x x0 0=IP(x)=L=IP(x)=L0 0R R0 0置换表如表2-1所示。此表顺序为从上到下,从左至右。如初始置换把明文的第58位换至第1位,把第50位换至第二位,以此类推。2023/1/282023/1/28表2-1 初始置换IP58 50 42 34 26 18 10 260 52 44 36 28 20 12 462 54 46 38 30 22 14 664 56 48 40 32 24 16 857 49 41 33 25 17 9 159 51
13、43 35 27 19 11 361 53 45 37 29 21 13 563 55 47 39 31 23 15 72023/1/282023/1/28图2-5 DES加密算法2023/1/282023/1/28 2获取子密钥获取子密钥Ki DESDES加加密密算算法法的的密密钥钥长长度度为为5656位位,但但一一般般表表示示为为6464位位,其其中中,每每个个第第8 8位位用用于于奇奇偶偶校校验验。在在DESDES加加密密算算法法中中,将将用用户户提提供供的的6464位位初初始始密密钥钥经经过过一一系系列列的的处处理理得得到到K K1 1,K K2 2,K K1616,分分别别作作为为1
14、 11616轮轮运运算算的的1616个个子子密密钥钥。现在来看如何获得这现在来看如何获得这1616个子密钥。个子密钥。首首先先,将将6464位位密密钥钥去去掉掉8 8个个校校验验位位,用用密密钥钥置置换换PCPC 1 1置置换换剩剩下下的的5656位位密密钥钥;再再将将5656位位分分成成前前2828位位C C0 0和和后后2828位位D D0 0两两部部分分,即即PCPC 1(K1(K5656)=C)=C0 0D D0 0。密密钥钥置置换换PC-1PC-1如如表表2-22-2所示。所示。2023/1/282023/1/28表2-2 密钥置换PC157 49 41 33 25 17 91 58
15、 50 42 34 26 1810 2 59 51 43 35 2719 11 3 60 52 44 3663 55 47 39 31 23 157 62 54 46 38 30 2214 6 61 53 45 37 2921 13 5 28 20 12 4 2023/1/282023/1/28 接接接接下下下下来来来来,根根根根据据据据轮轮轮轮数数数数,这这这这两两两两部部部部分分分分分分分分别别别别循循循循环环环环左左左左移移移移1 1位位位位或或或或2 2位位位位。具具具具体体体体每每每每轮轮轮轮移移移移位位位位的的的的位位位位数数数数如如如如表表表表2-32-3所所所所示。示。示。示。
16、表2-3 每轮移动的位数 轮次轮次 1 2 3 4 5 6 7 8 9 10 11 12 13 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 14 15 16 位数位数 1 1 2 2 2 2 2 2 1 2 2 2 2 2 2 11 1 2 2 2 2 2 2 1 2 2 2 2 2 2 12023/1/282023/1/28 移移移移动动动动后后后后,将将将将两两两两部部部部分分分分合合合合并并并并成成成成5656位位位位后后后后通通通通过过过过压压压压缩缩缩缩置置置置换换换换PCPC 2 2后后后后得得得得到到到到4848位位位位子子子子密密密密钥钥钥钥,
17、即即即即K Ki i=PC-2=PC-2(C(Ci iD Di i)。压缩置换压缩置换压缩置换压缩置换如表如表如表如表2-42-4所示。所示。所示。所示。表2-4 压缩置换PC2 14 17 11 24 1 514 17 11 24 1 53 28 15 6 21 103 28 15 6 21 1023 19 12 4 26 823 19 12 4 26 816 7 27 20 13 216 7 27 20 13 241 52 31 37 47 5541 52 31 37 47 5530 40 51 45 33 4830 40 51 45 33 4844 49 39 56 34 5344 49
18、 39 56 34 5346 42 50 36 29 3246 42 50 36 29 329,18?9,18?2023/1/282023/1/28图2-6 子密钥产生 2023/1/282023/1/283 3密码函数密码函数密码函数密码函数F F1)1)函数函数函数函数F F的操作步骤的操作步骤的操作步骤的操作步骤 密密密密码码码码函函函函数数数数F F的的的的输输输输入入入入是是是是3232比比比比特特特特数数数数据据据据和和和和4848比比比比特特特特的子密钥,其操作步骤如图的子密钥,其操作步骤如图的子密钥,其操作步骤如图的子密钥,其操作步骤如图2-52-5所示。所示。所示。所示。(1
19、)(1)扩展置换扩展置换扩展置换扩展置换(E)(E)。将数据的右半部分。将数据的右半部分。将数据的右半部分。将数据的右半部分R Ri i从从从从3232位扩位扩位扩位扩展为展为展为展为4848位。位选择函数位。位选择函数位。位选择函数位。位选择函数(也称也称也称也称E E盒盒盒盒)如表如表如表如表2-52-5所示。所示。所示。所示。2023/1/282023/1/28图2-7 F(Ri,Ki)计算 2023/1/282023/1/28表2-5 扩展置换(E)32 1 2 3 4 54 5 6 7 8 98 9 10 11 12 1312 13 14 15 16 1716 17 18 19 20
20、 2120 21 22 23 24 2524 25 26 27 28 2928 29 30 31 32 12023/1/282023/1/28(2)(2)异或。扩展后的异或。扩展后的4848位输出位输出E(RE(Ri i)与压缩后的与压缩后的4848位密钥位密钥K Ki i作异或运算。作异或运算。(3)S(3)S盒替代。将异或得到的盒替代。将异或得到的4848位结果分成八个位结果分成八个6 6位的块,每一块通过对应的一个位的块,每一块通过对应的一个S S盒产生一盒产生一个个4 4位的输出。八个位的输出。八个S S盒如表盒如表2-62-6所示。所示。2023/1/282023/1/28 S S盒
21、的具体置换过程为:某个盒的具体置换过程为:某个盒的具体置换过程为:某个盒的具体置换过程为:某个SiSi盒的盒的盒的盒的6 6位输入的第位输入的第位输入的第位输入的第1 1位和第位和第位和第位和第6 6位形成一个位形成一个位形成一个位形成一个2 2位的二进制位的二进制位的二进制位的二进制数数数数(从从从从0 03)3),对应表中的某一行对应表中的某一行对应表中的某一行对应表中的某一行;同时,输入;同时,输入;同时,输入;同时,输入的中间的中间的中间的中间4 4位构成位构成位构成位构成4 4位二进制数位二进制数位二进制数位二进制数(从从从从0 015)15)对应表对应表对应表对应表中的中的中的中的
22、某一列某一列某一列某一列(注意:行和列均从注意:行和列均从注意:行和列均从注意:行和列均从0 0开始计数开始计数开始计数开始计数)。例如,第例如,第例如,第例如,第8 8个个个个S S盒的输入为盒的输入为盒的输入为盒的输入为0 0010101011 1,前,前,前,前后后后后2 2位形成的二进制数为位形成的二进制数为位形成的二进制数为位形成的二进制数为0101,对应第,对应第,对应第,对应第8 8个个个个S S盒的盒的盒的盒的第第第第1 1行;中间行;中间行;中间行;中间4 4位为位为位为位为01010101,对应同一,对应同一,对应同一,对应同一S S盒的第盒的第盒的第盒的第5 5列。列。列
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 密码学 原理 实践 第二 课件
限制150内