密码学
密码学:提供了通信安全的基础
∙
\bullet
∙ 通信安全包括:
– 保密性
– 真实性
– 完整性
– 不可否认性
加密流程
密码分析
∙ \bullet ∙密码分析试图破解出加密消息的密钥或明文
∙
\bullet
∙密码分析的类型
–密文攻击
已知
C
1
=
E
K
(
P
1
)
,
C
2
=
E
K
(
P
2
)
,
.
.
.
.
.
.
C1=E_K(P1),C2=E_K(P2),......
C1=EK(P1),C2=EK(P2),......推导出
P
1
,
P
2
,
.
.
.
P1,P2,...
P1,P2,...或
K
K
K
C
4
C4
C4加密之后的秘闻,P是明文,E是加密方法,K是密钥
– 已知明文攻击
已知
P
1
,
C
1
=
E
K
(
P
1
)
,
P
2
,
C
2
=
E
K
(
P
2
)
,
.
.
.
.
.
.
P1,C1=E_K(P1),P2,C2=E_K(P2),......
P1,C1=EK(P1),P2,C2=EK(P2),......推导出K或某种算法,
C
i
+
1
=
E
K
(
P
i
+
1
)
Ci+1=E_K(Pi+1)
Ci+1=EK(Pi+1)中获得Pi+1
– 选择明文攻击
已知
P
1
,
C
1
=
E
K
(
P
1
)
,
P
2
,
C
2
=
E
K
(
P
2
)
,
.
.
.
.
.
.
P1,C1=E_K(P1),P2,C2=E_K(P2),......
P1,C1=EK(P1),P2,C2=EK(P2),......攻击者从其中选择P1,P2,…推导出K或某种算法,从
C
i
+
1
=
E
K
(
P
i
+
1
)
Ci+1=E_K(Pi+1)
Ci+1=EK(Pi+1)中获得Pi+1
∙
\bullet
∙一次性密码本(OTP),在理论上是安全的(Shannon)
∙
\bullet
∙没有密钥就无法对密文进行解密
∙
\bullet
∙OTP是很多现代加密算法的基础
OTP的保证:
∙
\bullet
∙密钥必须足够随机
∙
\bullet
∙密钥必须足够长
∙
\bullet
∙密钥只能使用一次
∙
\bullet
∙加密算法是计算安全的:
– 破解加密算法的成本超过了加密信息的价值
–破解密码所需的时间超过了信息的使用寿命
∙
\bullet
∙成本和时间很那估计
∙
\bullet
∙暴力破解:穷举密钥空间搜索密钥
加密算法
对称加密:(单独加密,密钥必须保密)
– 加密和加密使用相同的密钥
非对称加密:
– 使用两个不同的密钥(K1和K2)
– 无法通过一个密钥计算另一个密钥
- -使用一个密钥进行加密,必须使用另一个密钥进行解密
随机树生成器:
– 随机数生成器(基于物理现象,例如幽州微博背景辐射)
–伪随机数生成器(利用初始种子和特殊算法)前提保证:相当长的时间内都不会生成重复序列的
加密算法分类:
∙ \bullet ∙单向散列函数(摘要函数,哈希函数)
– 由可变长度的输入固定长度的输出
–转换是单向的,不可逆
–转换近尽可能类似随机函数的
–往往可以通过密钥K进行自定义许多情况下K存在默认值
∙ \bullet ∙单向散列函数
–输入发生变化后,哈希值必定发生变化
–原像抗性:无法预计算整个散列空间
–次原抗性:对于任意哈希值,无法找到一个能够生成同样原像的输入
MD4,MD5在我们日常的应用中是比较多见的
–抗碰撞性:无法找到具有相同哈希的两条消息
MD4:每两位代表一个字节,2n个字符,代表n个字节。
安全通信
目标:
–保密性
–真实性
–完整性
–不可否认性
威胁模型:
–可以拦截数据
–可以重复发送数据
–可以修改数据
–仍无法破解密码
破解密码思路
无穷举尽所有的展示空间,散列函数的原像抗性就会避免这个问题。
目前比较安全:sha-256