密码学系列文(1)--密码学基础概念详解
目录
1.1 基本概念
1.2 保密系统
1.3 密码体制分类
1.3.1 单钥体制
1.3.2 双钥体制(公钥体制)
1.4 密码分析
1.4.1 密码分析法
1.4.2 密码攻击
1.5 无条件安全和计算安全
1.1 基本概念
密码学:研究信息系统安全保密的科学。它包括两个分支:
- 密码编码学:对信息进行编码实现隐藏信息的一门学问;
- 密码分析学:研究分析破译密码的学问
1.2 保密系统
保密系统模型如下:
保密系统应当满足的要求:
- (1)系统即使达不到理论上是不可破的,但
,也应当为实际上不可破的。就是说,从截获的密文或某些已知明文密文对,要决定密钥或任意明文在计算上是不可行的;
- (2)系统的保密性不依赖于对加密体制或算法的保密,而依赖于密钥。这就是著名的Kerckhoff原则;
- (3)加密和解密算法适用于所有密钥空间中的元素;
认证与认证系统:防止消息被篡改、删除、重放和伪造;
完整性:检测错误、恢复消息和原来发送消息一致性;
1.3 密码体制分类
密码体制有两大类:
- (1)单钥体制:加密密钥和解密密钥相同;
- (2)双钥体制:加密密钥和解密密钥不同;
1.3.1 单钥体制
单钥体制主要研究问题:密钥产生和密钥管理;
分类:流密码(Stream cipher)和分组密码(Block cipher);
单钥体制不仅可用于数据加密,也可用于消息的认证;
1.3.2 双钥体制(公钥体制)
主要特点:
- (1)加密和解密能力分开;
- (2)可以实现多个用户加密的消息只能由一个用户解读(用于公共网络中实现保密通信);
- (3)只能由一个用户加密消息而使多个用户可以解读(可用于认证系统中对消息进行数字签字);
- (4)无需事先分配密钥;
1.4 密码分析
密码设计和密码分析是共生的、又是互逆的,两者密切相关但追求的目标相反;密码分析法包括:
1.4.1 密码分析法
(1)穷举法
- 对截获的密报依次用各种可解的密钥试译,直到得到有意义的明文;
- 或完全试凑法:在不变密钥下,对所有可能的明文加密直到得到与截获密报一致为止;
只要有足够多的计算时间和存储容量,原则上穷举法总是可以成功的。但实际中,任何一种能保障安全要求的实用密码都会设计使得这一方法在实际上不可行;
(2)分析法
- 确定性分析法:利用一个或几个已知量(比如,已知密文或明文-密文对)用数学关系式表示出所求未知量(如密钥等)。已知量和未知量的关系视加密和解密算法而定,寻求这种关系是确定性分析法的关键步骤。
- 统计分析法:利用明文的已知统计规律进行破译的方法、密码破译者对截获的密文进行统计分析,总结出其间的统计规律,并与明文的统计规律进行对照比较,从中提取出明文和密文之间的对应或变换信息。
1.4.2 密码攻击
攻击类型 | 攻击者拥有的资源 |
唯密文攻击 | 加密算法 截获的部分密文 |
已知明文攻击 | 加密算法 截获的部分密文和相应的明文 |
选择明文攻击 | 加密算法 加密黑盒子,可加密任意明文得到相应的密文 |
选择密文攻击 | 加密算法 解密黑盒子,可解密任意密文得到相应的明文 |
1.5 无条件安全和计算安全
- 无条件安全:如果算法产生的密文不能给出唯一决定相应明文的足够信息,无论截获多少密文,花费多少时间都不能解密密文;Shannon指出,仅当密钥至少和明文一样长时达到无条件安全(即一次一密);
- 计算安全:破译密文的代价超过被加密信息的价值;破译密文所花时间超过信息的有效期;