密码学概述
• 1.1、密码学的基本概念
-
密码编码学 : 密码编制
-
密码分析学 : 密码破译
-
密码学 : 研究密码保护
通信手段的科学, 密码编码学+密码分析学 -
密码技术: 把可理解的消息伪装为不可理解的消息,再复原成原消息的科学
概念
-
明文 P / M P/M P/M :伪装前的原始数据
-
密文 C C C:伪装后的数据
-
加密 E E E:伪装的过程
-
密钥 K K K:参与密码变换的参数
-
加密算法:用于对数据加密的一组数学变换
-
解密 D D D:将密文恢复为明文
-
解密算法:用于解密的一组数学变换
一般有
E
(
P
)
=
C
D
(
C
)
=
P
E(P)=C\quad D(C)=P
E(P)=CD(C)=P
附带参数K, K可以是任意值, K可能值范围为 密钥空间
E K ( P ) = C D K ( C ) = P EK(P) = C\quad DK(C)=P EK(P)=CDK(C)=P
非对称加密密钥可能使用不同的加密密钥和解密密钥
E
K
1
(
M
)
=
C
D
K
2
(
C
)
=
M
EK1(M) = C\quad DK2(C)=M
EK1(M)=CDK2(C)=M
• 1.2、密码体制
密码系统 —— 密码体制
- 明文空间 M M M 全体明文
- 密文空间 C C C 全体密文
- 密钥空间 K K K 全体密钥, K K K由加密密钥 K e Ke Ke与解密密钥 K d Kd Kd组成 K = < K e , K d > K = <Ke, Kd> K=<Ke,Kd>
- 加密算法 E E E,它是一组由 M M M到 C C C的加密变换
- 解密算法 D D D,它是一组由 C C C到 M M M的解密变换
if Kd = Ke || 根据其中一个K容易推出另一个K:
then 为 单密钥密码体制 || 对称密码体制 || 传统密码体制
else 双密钥体制
if Kd不可由Ke推出
then 为 公开密钥密码体制
根据明文、密文处理方式,可分为 分组密码体制 和 序列密码体制
• 1.3、密码分析
主动攻击:干扰系统,并删除、更改、增添、重放、伪造
被动攻击:截取并分析保密系统
密码分析:属于被动攻击
- 非授权接收者通过各种办法 他们通过各种办法来窃取信息。
- 搭线窃听
- 电磁窃听
- 声音窃听等
- 不知密钥,但分析密文可能推出明文
攻击密码系统方法
- 穷举攻击
- 依次试遍所有可能的密钥
- 或者用一个确定的密钥对所有可能的明文进行加密,得到所获得密文
- 统计分析攻击
- 分析密文和明文的统计规律
- 数学分析攻击
- 数学基础和某些密码学特性
破译密码的类型
- 唯密文攻击(Ciphertext-only attack
- 只知道密文,推出明文或算法,一般用穷举攻击
- 已知明文攻击(Know-plaintext attack plaintext attack)
- 知道部分的明文和密文对,推出密钥和加密算法
- 选择明文攻击(Chosen-plaintext attack plaintext attack)
- 知道明文和对应的密文(并且知道了加密算法),目标为推出密钥
- 自适应选择明文攻击 (Adaptive Adaptive-chosen-plaintext attack)
- 选择明文的特殊情况 – 基于之前的加密选择修正加密报文的选择
- 选择密文攻击(Chosen-ciphertext attack)
- 选择密钥攻击(Chosen-key attack)
- 软磨硬泡攻击
• 1.4、密码体制的安全性
性质
- 即使知道明文空间, 很难从密文恢复明文应该
- 很难从密文计算出明文部分信息
- 很难从密文探测出简单有效的事实 —— 如 相同信息被发送了两次
攻破效果
- 完全攻破 —— 密钥
- 部分攻破 —— 对给定密文获取明文特定信息
- 密文识别 —— 两个给定的不同明文及其中一个明文的密文。 能够识别出该密文对应于哪个明文,或者能够识别 给定明文的密文和随机字符串
安全性
- 无条件安全性 —— 无限的计算能力,密码体制也不能被攻破
- 计算安全性 —— 算法用现在或将来可得到的资源都不能在足够长的时间内破译
- 可证明安全性 —— 安全与问题相关