1、234安全问题安全问题安全目标安全目标安全技术安全技术机密性机密性信息的保密信息的保密加密加密完整性完整性探测信息是否被篡改探测信息是否被篡改数字摘要数字摘要验证验证验证身份验证身份数字签名,提问应答,数字签名,提问应答,口令,生物测定法口令,生物测定法不可否认性不可否认性不能否认信息的发送、不能否认信息的发送、接收及信息内容接收及信息内容数字签名,数字证书,时数字签名,数字证书,时间戳间戳访问控制访问控制只有授权用户才能访问只有授权用户才能访问防火墙,口令,生物测定防火墙,口令,生物测定法法2.1 密码技术概述2.1.1 密码学的基本概念明文(明文(plain text):密文密文(ciph
2、er text):加密(加密(encryption):加密算法:加密函数或者是加密变换的具体规加密算法:加密函数或者是加密变换的具体规则则,用用E来表示来表示解密算法:解密函数或解密变换的具体规则解密算法:解密函数或解密变换的具体规则,用用D来表示来表示密钥密钥(key): 参与变换的参数,用参与变换的参数,用k来表示来表示,加加密变换和解密变换都是在密钥的控制下进行的密变换和解密变换都是在密钥的控制下进行的.如:如:E(X,K)=Y加解密过程示意图加解密过程示意图明文明文密文加密算法解密算法密钥密钥密码体制一个密码系统(密码体制)密码系统(密码体制)通常由四个部分组成: 明文空间明文空间M
3、M,全体明文的集合,全体明文的集合 密文空间密文空间C C,全体密文的集合,全体密文的集合 密钥空间,全体密钥的集合密钥空间,全体密钥的集合K K(K K e e,K K d d) 密码方案密码方案: :加密算法加密算法E E,C CE(M,KE(M,Ke e) )解密算法解密算法D, M=D(C ,KD, M=D(C ,Kd d), D), D是是E E的逆变换的逆变换 密码体制的分类根据发展史:根据发展史:古典密码和近现代密码古典密码和近现代密码 ;根据加解密算法所使用的密钥是否相同:根据加解密算法所使用的密钥是否相同:对对称密钥密码体制和非对称密钥密码体制;称密钥密码体制和非对称密钥密码
4、体制;根据加密方式:根据加密方式:流密码和分组密码流密码和分组密码 ;根据加密变换是否可逆:根据加密变换是否可逆:单向函数密码以及单向函数密码以及双向变换密码体制。双向变换密码体制。 公元前公元前19世纪:象形文字的修改,世纪:象形文字的修改,modified hieroglyphics密码学最早的例子是对标准书写符号的密码学最早的例子是对标准书写符号的修改。修改。 例如:古埃及法老坟墓上的文字例如:古埃及法老坟墓上的文字 思想:替代(思想:替代(substitution)2.1.2 密码学的历史密码学的发展阶段密码学的三个阶段密码学的三个阶段P38:1949年前年前密码学是一门艺术:古典密码
5、密码学是一门艺术:古典密码19491975年年密码学成为科学密码学成为科学1976年以后年以后密码学的新方向:公钥密码学密码学的新方向:公钥密码学第一阶段:古典密码密码学还不是科学,而是艺术密码学还不是科学,而是艺术出现一些密码算法和加密设备出现一些密码算法和加密设备密码算法的基本手段出现,主要分两类密码算法的基本手段出现,主要分两类替代运算替代运算移位法移位法/置换法置换法P42简单的密码分析手段出现简单的密码分析手段出现主要特点主要特点p39:数据的安全基于算法本身的保数据的安全基于算法本身的保密性密性 针对的对象是字符针对的对象是字符密码学还不是科学,而是艺术密码学还不是科学,而是艺术出
6、现一些密码算法和加密设备出现一些密码算法和加密设备密码算法的基本手段出现,主要分两类密码算法的基本手段出现,主要分两类替代运算替代运算移位法移位法/置换法置换法P42简单的密码分析手段出现简单的密码分析手段出现主要特点主要特点p39:数据的安全基于算法本身的保数据的安全基于算法本身的保密性密性 针对的对象是字符针对的对象是字符第二阶段:19491975计算机使得基于复杂计算的密码成为可计算机使得基于复杂计算的密码成为可能能相关技术的发展相关技术的发展1949年,年,Shannon 的的the communication theory of secret systems 将科学背景加入密码学将科
7、学背景加入密码学主要特点主要特点数据的安全基于密钥而不是算法的保密数据的安全基于密钥而不是算法的保密基于算法的安全和基于密钥的安全?如何来理解?古典密码:基本思想是替代古典密码:基本思想是替代,置换置换密钥(密钥(key ):用于密码变换的的参数):用于密码变换的的参数(k),只有发送者或接收者拥有的秘密),只有发送者或接收者拥有的秘密消息。用于加密或解密的秘密参数消息。用于加密或解密的秘密参数, 选自选自密钥空间密钥空间 K 除了古典密码,一般的密码系统中的算除了古典密码,一般的密码系统中的算法是公开的,法是公开的, 只有密钥是秘密信息只有密钥是秘密信息如:如:DES算法中算法中k1.k16
8、第三阶段:1976年以后1976年,年,Diffie and Hellman发表了发表了 New Directions in Crytography,提出了公开密钥提出了公开密钥加密机制加密机制1977年,年,Rivest, Shamir and Adleman提提出了出了RSA公钥算法公钥算法90年代逐步出现年代逐步出现椭圆曲线椭圆曲线等其他公钥算法等其他公钥算法主要特点:主要特点:公开密钥算法用一个密钥进行加密公开密钥算法用一个密钥进行加密,用另一个进行解密,用另一个进行解密,其中的一个密钥可以公其中的一个密钥可以公开,开,使得发送端和接收端无密钥传输的保密通使得发送端和接收端无密钥传输的
9、保密通信成为可能。信成为可能。15161718密密文文明明文文发发送送方方Internet密密文文密密钥钥发发送送方方 (= 密密钥钥接接收收方方)加加密密明明文文接接收收方方密密钥钥接接收收方方解解密密优点:加密和解密的速度快,效率也很高,广泛用于大量数据文件的加密过程中。缺点:密钥管理比较困难首先是密钥数目的问题 n(n-1)/2其次是安全传输密钥也是一个难题第三是无法鉴别彼此身份1920对称密钥加密算法:DES算法DES (Data Encryption Standard) :数数据加密标准,是一种分组密码算法,是最据加密标准,是一种分组密码算法,是最通用的计算机加密算法。通用的计算机加
10、密算法。数据加密标准DESDES的产生:的产生:1972年,美国国家标准局(年,美国国家标准局(NBS)征集满足下列条件的标准加密算法)征集满足下列条件的标准加密算法:DES的产生(续)DES加密的数据流程明文分组:明文分组:64位位密钥长度:密钥长度:64位,其中位,其中8位为奇偶校验位,真正起密位为奇偶校验位,真正起密钥作用的钥作用的是是56位。位。DES综合运用了置换、迭代相结合的密码技术,把明综合运用了置换、迭代相结合的密码技术,把明文分成文分成64位大小的块,使用位大小的块,使用56位密钥,迭代轮数为位密钥,迭代轮数为16轮的加密算法。轮的加密算法。DES密码算法输入的是密码算法输入
11、的是64比特的明比特的明文,通过初始置换文,通过初始置换IP,变成,变成T0=IP(T),再对再对T0经过经过16层的加密变换,最后通过逆初始变换得到层的加密变换,最后通过逆初始变换得到64比特的密比特的密文。反之输入文。反之输入64比特的密文,输出比特的密文,输出64比特的明文。比特的明文。DES加密的流程DES利用利用56位的密钥位的密钥K来加密长度为来加密长度为64位的明位的明文,得到长度为文,得到长度为64位的位的密文。密文。2627什么是散列函数?(也称Hash函数)它是一种从明文到密文的不可逆函数,即只能加密信息而不能将加密过的信息还原成明文.散列函数实际上是一个将任意长度的信息压
12、缩到一个具有固定长度的信息摘要(message digest)的函数,即h=H(M). 信息摘要h就像是原始信息 H的指纹,与原始信息保持对应关系.原始信息即使只更动一个字符,对应的信息摘要就会变得截然不同.2829n是密码学一次伟大的革命是密码学一次伟大的革命n1976年,年,Diffie和和Hellman 在在“密码学新密码学新方向方向”一文中提出。一文中提出。n使用两个密钥:使用两个密钥:公开密钥、私有密钥公开密钥、私有密钥n加解密的非对称性加解密的非对称性n利用数论的方法利用数论的方法n是对对称密码的重要补充是对对称密码的重要补充30发发送送方方明明文文密密文文密密文文公公开开密密钥钥
13、接接收收方方明明文文接接收收方方私私有有密密钥钥接接收收方方Internet原理:公开密钥密码基于单向陷门函数单向函数:许多函数正向计算是容易的单向函数:许多函数正向计算是容易的,而其求逆计算在计算上是不可行的,而其求逆计算在计算上是不可行的,也就是很难从输出推算出它的输入。也就是很难从输出推算出它的输入。如:已经如:已经x,很容易计算是很容易计算是f(x),但已经但已经f(x),却难于计算出却难于计算出x.在物质世界中有很多这样的例子。在物质世界中有很多这样的例子。数学上有很多函数目前还没有找到有效数学上有很多函数目前还没有找到有效的求逆算法。的求逆算法。密码学中最常用的单向函数有:公开密钥
14、密码中使用的单向陷门函数公开密钥密码中使用的单向陷门函数消息摘要中使用的单向散列函数消息摘要中使用的单向散列函数单向函数不能用于加密(无人能解开)单向函数不能用于加密(无人能解开)可以利用具有可以利用具有陷门信息陷门信息的单向函数构造的单向函数构造公开密钥密码。公开密钥密码。单向陷门函数单向函数的一类:在一个方向上计算容单向函数的一类:在一个方向上计算容易,在另一个方向上计算困难。如果知易,在另一个方向上计算困难。如果知道那个道那个秘密陷门秘密陷门,也能很容易在另一个,也能很容易在另一个方向计算这个函数。方向计算这个函数。如已经如已经x,易于计算易于计算f(x),而已经而已经f(x),却难却难
15、于计算于计算x。然而一旦给出。然而一旦给出f(x)的一些秘密的一些秘密信息信息y,就很容易计算就很容易计算x.在公开密钥密码中,在公开密钥密码中,计算计算f(x)相当于加相当于加密密,陷门陷门y 相当于私有密钥相当于私有密钥,则,则利用陷利用陷门门y求求f(x)中的中的x则相当于解密则相当于解密。RSA算法RSA算法的生成步骤:设计密钥,生成密算法的生成步骤:设计密钥,生成密文,恢复明文。文,恢复明文。 (1)设计密钥,先选取两个互素的大素数设计密钥,先选取两个互素的大素数P和和Q,令公开的模数,令公开的模数NPQ, 计算欧计算欧拉函数拉函数z=(P-1)(Q-1),接着随机选择加接着随机选择
16、加密密钥密密钥e,使,使gcd(e,z)=1,再计算再计算d,满足满足ed1(mod z).这里,这里,(N,e)就是公开的加密密钥,(就是公开的加密密钥,(N,d)就是私钥。就是私钥。(2)生成密文:将发送的明文)生成密文:将发送的明文M分块,分块,其加密过程中:其加密过程中:CMe(mod N)(3)恢复明文:对恢复明文:对C解密,即得到明文解密,即得到明文 MCd(mod N)简单例子选中两个素数 p7,q17 npq(n)请练习任务:对明文 M=19 加密 npq119(n)(p-1)(q-1)61696选取整数1e (n)与(n) 互素:e5求e的逆元d:ed1 mod (n) 请练
17、习计算 C=Me(mod n)=? 其中M=19 请练习 计算 M=Cd(mod n)=? 请练习 d=77c=66RSA 示例总结选p7,q17则npq119且(n)(p-1)(q-1)61696取e5则d77 (57738549611 mod 96)公钥(5,119),私钥(77,119) 加密m19则cme mod n= 195 mod 119 = 66 mod 119解密c66mcd mod n = 6677mod 11919 mod 1193940第一次实验安排:PGP实验414243发发送送方方的的私私钥钥发发送送方方的的公公钥钥4445464748495051密钥生命周期密钥生命周期密钥产生密钥产生证书签发证书签发Bob密钥使用密钥使用Bob证书检验证书检验密钥过期密钥过期密钥更新密钥更新备份与恢复备份与恢复53明文的明文的内容内容54公开密钥调包风险AB1、解密、解密2、加密并签名、加密并签名冒牌货的冒牌货的公开密钥公开密钥Mallory我用我的公开密钥和我用我的公开密钥和Alice的调包,让的调包,让Bob以为我的以为我的公开密钥就是公开密钥就是Alice的的这封讯息经认证是由这封讯息经认证是由Alice发来的发来的565758596061本章小结与思考题:P6662