第四章 密码学 * (重点、计算题
了解密码学发展历史,掌握密码体制模型及概念、密码体制原则、密码体制的分类、密码体制的安全性分类及典型攻击;
掌握分组密码设计的一般原理,了解DES算法;(重点)
掌握序列密码的基本原理,掌握线性反馈寄存器,掌握非线性序列的生成方法; (重点)
掌握哈希函数的概念、结构及应用,了解典型的哈希算法,掌握消息验证码概念,了解基于DES和Hash的消息认证码; (重点)
掌握公开密钥密码系统的特点及原理,掌握RSA的公钥密码算法,了解数字签名的特点和原理; (重点)
理解并掌握密钥管理的层次结构,掌握密钥建立、协商的方法,了解PKI技术。 (重点
密码学概述
4.1.1 密码学发展简史
密码学(cryptology)起源于保密通信技术,是结合数学、计算机、信息论等学科的一门综合性、交叉性学科。
密码学又分为密码编码学(cryptography)和密码分析学(cryptanalysis)两部分。
密码编码学主要研究如何设计编码,使得信息编码后除指定接收者外的其他人都不能读懂。密码分析学主要研究如何攻击密码系统,实现加密消息的破译或消息的伪造。
发展阶段
-
古典密码时期(置换密码,替代密码)
密码学发展的手工阶段
置换密码:栅栏密码
替代密码:凯撒密码、棋盘密码
替代密码的破解
作业:如果替代密码的密钥不是固定的,而是随机选取的,例如:
随机选取密钥k:={ac, bw, cu, …, zd}
请问:
(1) 密钥的空间有多大(即:有多少种可能的密钥)?
(2) 替代密码还能否破解?(提示词:频率)
如果不能破解,请说明原因!如果能破解,请详细描述破解方法!1)26!-1
2)能。将密文中各个字母出现的次数统计出来,找出频率最高的字母,根据英文字母出现频率最高的那个字母与密文中出现最高的字母对应,之后,再找出与密文出现频率最高的字母相邻的两字母组,统计他们的次数,找出最多与最少出现的相邻的两字母组,根据英语单词习惯分析出第二个密文字母对应的明文,重复上面操作,最后根据英语词汇联想得出对应的明文。
-
近代密码时期(机械密码 二战密码战 恩尼格玛密码机)
利用电动机械设备实现信息加密、解密操作的密码方法
-
现代密码时期(现代密码体制(大量课时):“一次一密”密码,对称密码,非对称密码,哈希函数、密钥管理)
利用计算机技术实现加解密过程
4.1.2 密码体制的基本组成及分类
一个密码体制(cryptosystem)由五个部分组成
- 明文空间M,它是全体明文m 的集合;
- 密文空间C,它是全体密文c 的集合;
- 密钥空间K,它是全体密钥k的集合。其中每一个密钥k 均由加密密钥ke和解密密钥kd 组成,即k = (ke , kd );
- 加密算法E,是在密钥控制下将明文消息从M 对应到C 的一种变换,即c = E (ke , m );
- 解密算法D,是在密钥控制下将密文消息从C 对应到M 的一种变换,即m =D (kd , c ) 。
例4-1扩展(作业):仿射密码的数学表达(替换密码的一种)
英语有26个字母,假设x, y, a, b ∈ Z26,对于y ≡ a⋅x + b mod 26(其中a必须与26互素)来说:
该仿射密码的明文空间:?
该仿射密码的密文空间:?
该仿射密码的加密算法:?
该仿射密码的解密算法:?
该仿射密码的密钥:加密密钥是由(a,b)数值对组成,解密密钥是?
- 该仿射加密的密钥空间有多大?是否安全?
例4-2 Vernam密码(一次一密one-time pad, OTP密码)
在对明文加密前,首先将明文编码为(0,1)序列,加密时用明文与密钥进行模2相加,解密时将密文再与密钥模2相加即可。例如:明文为10001 11000,密钥为10010 00101时,加密得到的密文为00011 11101。
在应用Vernam密码时,如果每次使用不同的随机密钥对明文进行加密,则被称为一次一密(one-time pad, OTP)密码。
根据加、解密密钥使用策略不同,可将密码体制分为对称密码体制和非对称密码体制。
对称密码体制(单钥密码体制): 一个密码体制中的加密密钥ke和解密密钥kd相同,或者由其中一个密钥很容易推算出另一个密钥。
非对称密码体制(公钥密码系统):如果在计算上由加密密钥ke不能推出解密密钥kd,因此可以将ke公开。
4.1.3 密码体制的设计原则
密码学的基本目的就是:保障不安全信道上的通信安全。
密码学领域存在一个很重要的事