编辑: 颜大大i2 | 2013-04-26 |
20 2013/10/15 1. 基本概念―对称算法和非对称算法 ? 对称算法 加密密钥能够从解密密钥中推算出来,反过来 也成立. ? 公开密钥算法 公开密钥算法用作加密的密钥不同于用作 解密的密钥,而且解密密钥不能根据加密密钥计算出来. 南京大学计算机系讲义
21 2013/10/15 1. 基本概念―密码分析 ? 密码分析学是在不知道密钥的情况下.恢复出明文的科学. ? 对密码进行分析的尝试称为攻击. ? 密码分析的一个基本假设:密码分析者已有密码算法及其实现的全部 详细资料.在实际的密码分析中并不总是有这些详细信息的??应该 如此假设.如果其他人不能破译算法,即便了解算法如何工作也是徒 然,如果连算法的知识都没有,那就肯定不可能破译它. 南京大学计算机系讲义
22 2013/10/15 (1)唯密文攻击 ? 密码分析者有一些消息的密文 ? 这些消息都用同一加密算法加密 ? 密码分析者的任务是恢复尽可能多的明文 ? 或者最好是能推算出加密消息的密钥来 ? 已知:C1=EK(P1),C2=EK(P2),??, ? 推导出:P1,P2,?, 南京大学计算机系讲义
23 2013/10/15 (2)已知明文攻击 ? 密码分析者不仅可得到一些消息的密文,而且也知道这些 消息的明文. ? 分析者的任务就是用加密信息推出用来加密的密钥或导出一个算 法,此算法可以对用同一密钥加密的任何新的消息进行解密. ? 已知:P1,C1=Ek(P1),P2,C2=Ek(P2),?,Pi,Ci=Ek (Pi) ? 推导出:密钥k,或从Ci+1= Ek(Pi+1)推出Pi+1的算法. 南京大学计算机系讲义
24 2013/10/15 (3)选择明文攻击 ? 分析者不仅可得到一些消息的密文和相应的明文,而且他们也可 选择被加密的明文. ? 这比已知明文攻击更有效.因为密码分析者能选择特定的明文块去 加密,那些块可能产生更多关于密钥的信息,分析者的任务是推出 用来加密消息的密钥或导出一个算法,此算法可以对用同一密钥加 密的任何新的消息进行解密. 南京大学计算机系讲义
25 2013/10/15 (4)选择密文攻击 ? 密码分析者能选择不同的被加密的密文,并可得到对应的 解密的明文,例如密码分析者存取一个防窜改的自动解密 盒,密码分析者的任务是推出密钥. 选择:C1,P1=Dk(C1),C2,P2=Dk(C2),?,Ci, Pi=Dk(Ci), 推导出: k. 南京大学计算机系讲义
26 2013/10/15 ? 最好的算法是那些已经公开的,并经过世界上最好的 密码分析家们多年的攻击,但还是不能破译的算法. ? 美国国家安全局对外保持他们的算法的秘密,但他们 有很好的密码分析家在内部工作,他们互相讨论他们 的算法,通过执著的审查发现他们工作中的弱点. 南京大学计算机系讲义
27 2013/10/15 1. 基本概念― 密码学目标 ? 机密性 ? 完整性 ? 认证 ? 不可抵赖性、公证性 南京大学计算机系讲义
28 2013/10/15 2. 古典密码算法 ? 在计算机出现前,密码学由基于字符的密码算法构成.不同的 密码算法是字符之间互相代换或者是互相之间换位,好的密码 算法是结合这两种方法,每次进行多次运算. ? 现在事情变得复杂多了,但原理还是没变.重要的变化是算法 对比特而不是对字母进行变换,实际上这只是字母表长度上的 改变,从26个元素变为2个元素.大多数好的密码算法仍然是代 替和换位的元素组合. 南京大学计算机系讲义
29 2013/10/15 密码体制 ? P:所有可能的明文组成的有限集.;
? C:所有可能的密文组成的有限集;