申请试用
HOT
登录
注册
 
计算机系统信息安全
有只羊
/
发布于
/
1891
人观看
这一套PDF为南京大学黄皓教授讲述计算机系统信息安全所用。在绪论中粗略的讲述了课程设置。第一章内容为对称密码学,首先介绍了密码学中基础概念如明文、密文、密钥等,之后详细讲述对称密码学的发展历程、相关算法及其实现,包括古典密码学中的移位密码、代换密码、置换密码算法;加密电子机械ENIGMA的实现原理及其破解方法;现代密码算法原理:SPN网络原理,Feistel密码原理;分组密码相关算法:主要包括对称密钥算法DES、AES及其实现的操作方式。
展开查看详情

1 .计算机系统信息安全 南京大学计算机系 黄皓 教授 2013年9月17日

2 .开场白 —— 一个电话骗局 中央电视台《今日说法》报道

3 . 一个电话欺骗(中央电视台今日说法) 第1幕 — 在火车站  一个计划到上海的给孩子看病的旅客到达了上海站。  他到公用电话处,拿起电话听筒,拨打在上海的亲戚的电话。  旅客:“喂,是表哥吗?”  听筒传出:“是,你到了?很不巧,因为交通堵塞,我还没有到车站。你们 到人民路的人民商场门口,我到那里接你吧。”  旅客:“好。” 南京大学计算机系讲义

4 .一个电话欺骗(中央电视台今日说法) 第2幕 — 在人民商场门口  旅客在人民商场的门口等待。  一个中年人向正在等待的旅客走来。  “我是你表哥委托来接你们的。”  交谈后,在准备回表哥家时:  中年人:“我刚才在前面一个商店看到了我要一直想买的非常紧俏的相机,今 天好不容易看到了,但是我没有带够钱,你们身上有钱吗?借给我一点,回去 马上给你。”  “你要多少?”  ”三千“  “好”  你们稍等,我马上回来。  几个警察迅速抓住了这个快速离开的中年人。  旅客过去跟警察说:“这是我表哥的朋友,你抓错人了吧?” 南京大学计算机系讲义

5 . 骗子设法知道公用电话的号码。  不断拨这个公用电话的号码。  拨通后等待别人:拿听筒、不听是否拨号音就直接拨电话的人。  骗子可以听到,“鱼儿”的拨号的键盘音。等待他/她的开始说话。 骗子用的电话 公用电话  拨公用电话,等待“鱼儿”拿起听筒…  拿起听筒(这时实际已经通了),拨号 (没有实际作用),“喂,是表哥吗?”  “是,你到了?很不巧,因为交通堵塞,我还没有 到车站。你们到人民路的人民商场门口,我到那 里接你吧。”  “好。”  “我刚才在前面一个商店看到了我要买的, 但是我没有带够钱,你们身上有钱吗?借 给我一点,回去马上给你。”  “你要多少?”  “三千”  “好”  “你们稍等,我马上回来。” 南京大学计算机系讲义

6 . 课程内容 1. 对称密码学 8. IP安全 2. 非对称密码学 9. Web安全 3. 密码协议 10. 安全电子交易 4. 公开密钥基础设施 11. 安全邮件 5. 安全模型 12. 网络防火墙技术 6. 安全操作系统 13. 入侵检测技术 7. 安全数据库 14. 安全评估技术 2013/10/15 南京大学计算机系讲义 6

7 . 参考书 1. 讲稿和各章讲稿所列的参考文献 2. Wenbo Mao(毛文波),现代密码学理论与实践,电子工 业出版社,2004年7月。 3. 王立斌,黄征译,计算机安全学—安全的艺术与科学, 电子工业出版社,2005年5月。 4. Allen Harper, Shon Harris等著, 杨明军,韩智文,程 文俊译, 灰帽黑客,清华大学出版社,2012年11月,第 1版。 2013/10/15 南京大学计算机系讲义 7

8 .第1章 对称密码学

9 . 参考文献 1. Wenbo Mao(毛文波),现代密码学理论与实践,电子工业出版 社,2004年7月。 2. 吴文玲,冯登国,张文涛,分组密码的设计与分析,清华大学 出版社,2009年10月。 3. 冯登国,密码分析学,清华大学出版社,2000年8月。 4. Bruce Chneier, 应用密码学,机械工业出版社,2000年1月。 2013/10/15 南京大学计算机系讲义 9

10 . 一个例子  问题  两个朋友Alice和Bob想一起外出,但是他们定不下来是去电影院还是 歌剧院。他们达成一个通过抛掷硬币来决定的协议:  Alice说:“你选择一面,然后我来抛” 。他们约定:如果Bob选择的 一面朝上则有Bob决定,否则有Alice决定。  假想这两个朋友尝试再电话上执行这个协议,如果Alice对Bob说: “你选则一面,然后我来抛,并且告诉你是否你赢了”。 2013/10/15 南京大学计算机系讲义 10

11 . 一个例子  单向函数  对任意整数x,由x计算f(x)是容易的,而给出f(x),要找出对应 的原像x是不可能的,不管x是奇数还是偶数。  不可能找出一对整数(x,y),满足x≠y且f(x)=f(y)。 2013/10/15 南京大学计算机系讲义 11

12 . 一个例子  协议  Alice和Bob已经同意:  有一个单向函数f  f(x)中的偶数x代表“正面”,奇数x代表“背面” ① Alice选择一个大随机数x并计算f(x),然后通过电话告诉Bob f(x)的值; 只能是猜测,因为 ② Bob告诉Alice自己对x的奇偶性猜测; f(x)是单向向函数, 无法从函数值计算 ③ Alice告诉Bob x的值; 自变量。 Alice只能如实告诉, ④ Bob验证f(x),并察看他所做的猜测是正确或错误。 因为Alice无法找到 另一个值y(奇偶性 与x不同),f(y)=f(x)。 2013/10/15 南京大学计算机系讲义 12

13 . 一个例子  安全性  首先,Alice无法找到不同的两个数x和y,其中一个是奇数而另一个是偶 数,使其满足f(x)=f(y)。因此,Alice一旦通过电话告诉Bob,f(x)的值(第1 步),她也就向Bob就x的值做出了承诺,她无法再改变x的值。也就是说 Alice已经完成了其掷硬币过程。  第二,由于,已知f(x),Bob不能判定出Alice所使用的x是奇数还是偶数, 因周而他不得不把其猜测(第2步)真实地给出。  这样,Alice可给出x的值,令Bob相信其猜测是否正确(第3步)。  如果Bob利用Alice告诉的x来计算对f(x) (第4步),并与Alice在第1步发送 的结果一样,且Bob相信f所具有的性质,则Bob应该相信最终的输赢。 2013/10/15 南京大学计算机系讲义 13

14 .1. 基本概念—术语  消息被称为明文(plain text)。  用某种方法伪装消息以隐藏它的内容的过程称为加密 (encryption, encipher)。  加了密的消息称为密文(cipher text)。  而 把 密 文 转 变 为 明 文 的 过 程 称 为 解 密 ( decryption, decipher)。 2013/10/15 南京大学计算机系讲义 14

15 . 1. 基本概念—术语  使消息保密的技术和科学叫做密码编码学(cryptography)。  从事此行的叫密码编码者(cryptographer)。  破译密文的科学和技术叫做密码分析学(cryptanalysis)。  从事密码分析的专业人员叫做密码分析者(cryptanalyst)。  密码学包括密码编码学和密码分析学两者。现代的密码学家通常也是 理论数学家。 2013/10/15 南京大学计算机系讲义 15

16 . 1. 基本概念—密码学的其它作用  鉴别 消息的接收者应该能够确认消息的来源;入侵者不 可能伪装成他人。  完整性 消息的接收者应该能够验证在传送过程中消息没 有被修改;入侵者不可能用假消息代替合法消息。  抗抵赖 发送者事后不可能虚假地否认他发送的消息。 2013/10/15 南京大学计算机系讲义 16

17 . 1. 基本概念—算法和密钥  密码算法也叫密码,是用于加密和解密的数学函数。通常情况下, 有两个相关的函数:一个用作加密,另一个用作解密。  明文用M(消息),密文用C表示,加密函数E作用于M得到密文 C,用数学表示为: E(M)=C.  相反地,解密函数D作用于C产生M D(C)=M.  先加密后再解密消息,原始的明文将恢复出来,下面的等式必须 成立: D(E(M))=M 2013/10/15 南京大学计算机系讲义 17

18 . 1. 基本概念—受限制的算法  如果算法的保密性是基于保持算法的秘密,这种算法称 为受限制的算法。  如果有人无意暴露了这个秘密,所有人都必须改变他们 的算法。 2013/10/15 南京大学计算机系讲义 18

19 . 1. 基本概念—现代密码学  现代密码学用密钥解决了这个问题,密钥用K表示。  密钥K的可能值的范围叫做密钥空间。  加密和解密运算都使用这个密钥,加/解密函数现在变 成: EK(M)=C EK1(M)=C DK(C)=M DK2(C)=M DK(EK(M))=M DK2(EK1(M))=M 2013/10/15 南京大学计算机系讲义 19

20 . 1. 基本概念—对称算法和非对称算法  对称算法 加密密钥能够从解密密钥中推算出来,反过来 也成立。  公开密钥算法 公开密钥算法用作加密的密钥不同于用作 解密的密钥,而且解密密钥不能根据加密密钥计算出来。 2013/10/15 南京大学计算机系讲义 20

21 . 1. 基本概念—密码分析  密码分析学是在不知道密钥的情况下。恢复出明文的科学。  对密码进行分析的尝试称为攻击。  密码分析的一个基本假设:密码分析者已有密码算法及其实现的全部 详细资料。在实际的密码分析中并不总是有这些详细信息的应该 如此假设。如果其他人不能破译算法,即便了解算法如何工作也是徒 然,如果连算法的知识都没有,那就肯定不可能破译它。 2013/10/15 南京大学计算机系讲义 21

22 . (1)唯密文攻击  密码分析者有一些消息的密文  这些消息都用同一加密算法加密  密码分析者的任务是恢复尽可能多的明文  或者最好是能推算出加密消息的密钥来  已知:C1=EK(P1),C2=EK(P2),,  推导出:P1,P2,, 2013/10/15 南京大学计算机系讲义 22

23 . (2)已知明文攻击  密码分析者不仅可得到一些消息的密文,而且也知道这些 消息的明文。  分析者的任务就是用加密信息推出用来加密的密钥或导出一个算 法,此算法可以对用同一密钥加密的任何新的消息进行解密。  已知:P1,C1=Ek(P1),P2,C2=Ek(P2),,Pi,Ci=Ek (Pi)  推导出:密钥k,或从Ci+1= Ek(Pi+1)推出Pi+1的算法。 2013/10/15 南京大学计算机系讲义 23

24 . (3)选择明文攻击  分析者不仅可得到一些消息的密文和相应的明文,而且他们也可 选择被加密的明文。  这比已知明文攻击更有效。因为密码分析者能选择特定的明文块去 加密,那些块可能产生更多关于密钥的信息,分析者的任务是推出 用来加密消息的密钥或导出一个算法,此算法可以对用同一密钥加 密的任何新的消息进行解密。 2013/10/15 南京大学计算机系讲义 24

25 . (4)选择密文攻击  密码分析者能选择不同的被加密的密文,并可得到对应的 解密的明文,例如密码分析者存取一个防窜改的自动解密 盒,密码分析者的任务是推出密钥。 选择:C1,P1=Dk(C1),C2,P2=Dk(C2),,Ci, Pi=Dk(Ci), 推导出: k。 2013/10/15 南京大学计算机系讲义 25

26 .  最好的算法是那些已经公开的,并经过世界上最好的 密码分析家们多年的攻击,但还是不能破译的算法。  美国国家安全局对外保持他们的算法的秘密,但他们 有很好的密码分析家在内部工作,他们互相讨论他们 的算法,通过执著的审查发现他们工作中的弱点。 2013/10/15 南京大学计算机系讲义 26

27 . 1. 基本概念— 密码学目标  机密性  完整性  认证  不可抵赖性、公证性 2013/10/15 南京大学计算机系讲义 27

28 . 2. 古典密码算法  在计算机出现前,密码学由基于字符的密码算法构成。不同的 密码算法是字符之间互相代换或者是互相之间换位,好的密码 算法是结合这两种方法,每次进行多次运算。  现在事情变得复杂多了,但原理还是没变。重要的变化是算法 对比特而不是对字母进行变换,实际上这只是字母表长度上的 改变,从26个元素变为2个元素。大多数好的密码算法仍然是代 替和换位的元素组合。 2013/10/15 南京大学计算机系讲义 28

29 . 密码体制  P:所有可能的明文组成的有限集。;  C:所有可能的密文组成的有限集;  K:所有可能的密钥组成的有限集; 对任意的k∈K,都存在 一个加密法则ek ∈E 和相应的解密法则dk ∈D ,满足: 对任意的ek: P→C , dk: C→P, 明文x∈P, 均有 dk( ek(x) ) = x 密码体制:( P, C, K, E, D) 2013/10/15 南京大学计算机系讲义 29

3 点赞
1 收藏
1下载
相关文档
确认
3秒后跳转登录页面
去登陆