1、第2章 密码学导论(1) 密码学基本概念,2,主要问题,密码学由哪几个部分构成?这几个部分相互之间的关系? 密码系统由哪几个部分构成?这几个部分相互之间如何关联? 密码系统如何进行数据加密?这种加密能够保证数据的保密性吗? 密码系统可以分成哪几种类型?这些类型有何特点?,3,关键知识点,加密是数据通信安全和网络安全中最为重要的安全手段。 现在实用的是相对安全的加密系统。 现代密码学包括两个体系: 传统加密体系, 公钥加密体系。,4,主要内容,密码学的组成 数据加密基本概念 密码破译技术 加密系统的安全性 现代密码学分类,5,密码学的组成,密码学包括两个部分: 数据加密和密码破译 数据加密: 对
2、信息进行加密和解密的技术 加密算法, 解密算法, 密钥管理技术 密码破译: 攻破加密信息的技术 破解加密信息, 破解密钥,6,密码学的组成(续),加密与破译是一对矛盾体 从密码学的完整性看, 研究密码学, 必须研究密码破译, 否则无法客观地评判各类加密算法的严密程度,7,数据加密基本概念,明文(Plaintext, P): 未加密的信息或数据。 密文(Ciphertext, C): 加密后的信息或数据。 加密算法(E): 将明文转换成为密文的处理过程。,8,密码学基本概念(续2),解密算法(D): 将密文转换成为明文的处理过程 加密密钥(KE): 控制加密处理过程的一种信息或数据 解密密钥(K
3、D): 控制解密处理过程的一种信息或数据,9,密码学中符号表示,加密算法: C = E(KE, P) = KEP 解密算法: P = D(KD, C) = D(KD, E(KE, P) 从以上加密和解密的公式可以看出,经过数学抽象表示的加密和解密过程更加简洁、明了,便于梳理思路,掌握本质内容。,10,密码破译技术,安全都是指在某种环境和条件下相对某种风险模型的安全。同样,必须根据目前常用的密码破译技术设计和评测加密算法。 Diffie和Hellman在1976年罗列了3种密码分析(也称为密码攻击)方式 已知密文:攻击者仅仅掌握密文, 试图破译对应的明文、加密算法和密钥 已知明文:攻击者掌握了大
4、量的明文和对应的采用相同加密算法和密钥加密的密文,试图破译加密这些密文的算法和密钥,11,密码破译技术(续),选择明文:攻击者可以向被攻击的加密系统提交无数个选择的明文并且可以检查对应生成的密文,试图破译该加密系统采用的加密算法和密钥。 已知明文攻击属于“被动系统识别”类攻击,而选择明文攻击属于“主动系统识别”类攻击。 在已知明文攻击,已知密文攻击和选择明文攻击这几种方式当中,选择明文攻击是对密码系统最有威胁的一种。 作为一个安全的加密系统应该是一类难以识别的系统,至少必须防范“被动系统识别” (已知明文)类攻击,最好能够防范“主动系统识别” (选择明文)类攻击。,12,非技术性密码分析,实际
5、常用的最为成功密码分析是非技术性密码分析: Social Engineering (社交计谋) 例如: 窃取密钥, 打探密钥, 选择明文(提供假情报) 启示: 信息安全不仅仅是一项技术工作, 更是一项管理工作. 虽然密码分析也是一门学问, 本章主要介绍密码学原理和算法,13,加密系统的安全性,W. Diffie和M. Hellman将加密系统的安全性分成两种类型: 相对安全(或计算安全)的加密系统 该类系统由于破译者的计算成本限制或者计算能力限制而看作是安全的。如果破译者不考虑计算成本,或者由于计算技术发展使得计算能力有大幅度提高,则这类系统就不再安全了。 绝对安全(或无条件安全)的加密系统
6、无论攻击者花费多少时间、使用多么高级的计算技术都无法破译的加密系统。,14,加密系统的安全性(续1),无条件安全加密系统源于某种密文存在多种有意义的明文, 例如,对于简单替换而成的密文XMD可以对应于有意义的明文:now, and, the等等。 在计算安全的加密系统中,密文就一定存在确定的信息唯一决定的明文和密钥,其安全性只是依赖于计算的成本。,15,加密系统的安全性(续2),一种可以证明的无条件安全加密系统是“一次性覆盖数”系统。由于计算成本过高而无法实用。 该系统设计的密钥必须与明文同样长度,通过该密钥与明文进行“异或”操作,完成对明文的加密。该加密系统必须保证“一次一密钥”,即对于不同
7、的明文采用不同的加密密钥。 目前实际可行的、并且得到广泛应用的还是相对安全(计算安全)的加密系统。,16,现代密码学分类,密码学有多种分类方法,例如可以根据加密数据过程中对明文的处理方式,分成块加密方法和流加密方法; 也可以根据加密和解密数据过程中采用的密钥数目,分成对称密钥加密方法和不对称密钥加密方法。 块加密方法是指对某个固定长度的数据块进行一系列复杂的运算生成对应的相同长度密文块的方法。通常采用的固定长度是64个比特,现在建议采用128个比特。,17,现代密码学分类(续1),流加密方法是指不间断地对数据流中的某个较小的数据单元进行简单运算生成密文流的方法。 这里的较小数据单元可能是1个八
8、位位组(即一个8比特长度的字节)或者2个八位位组。 对称密钥加密方法是指加密和解密过程都采用相同的密钥,即KE = KD。 不对称密钥加密方法是指加密和解密过程采用不同的密钥,即KE KD。,18,现代密码学分类(续2),现代密码学本质上可以分成两个部分: 传统密码学, 公钥密码学 传统密码学 对称密钥, 单个密钥进行加密和解密, 密钥保密才能保证密文保密 优点:加密和解密运算简单、高效 缺点:初始密钥协商和后续密钥更新困难,19,现代密码学分类(续2),公钥密码学 不对称密钥, 公钥和私钥分别用于加密和解密过程。 不仅可应用于数据加密, 还可以应用于数字签名。 私钥保密才能保证密文不被攻破 优点:无需进行初始密钥的协商 缺点:加密和解密算法的计算量较大, 计算成本较高,