第一章
经典密码学介绍
1.1
密码学和现代密码学
a.现代密码学与古典密码学的区别:
1.2
对称密钥加密的基本设置
a.
b.
加密的语法
密钥产生算法
Gen
:一种概率算法
加密算法
Enc
:
输入密钥
k
,明文
m
,输出密文
c
。
记为
Enc
k
(
m
)
解密算法
Dec
:
输入密钥
k
,密文
c
,
输出明文
m
。记为
Dec
k
(c)
c.Kerckhoffs
原则
1)
内容:加密方案本身不必保密,唯一需要保密的是通信双方共享的秘密密钥
2)
理由:
1.
与维护算法的保密性相比,通信各方非常容易的维护短小密钥的保密性
2.
密钥一旦暴露,诚实参与方将非常容易改变密钥而不是替换算法
3.
一旦多对人员需要加密他们的通信,对参与方而言
d.
开放密码学设计优势:
e.
攻击场景:
1.3
古典密码
(
都是唯密文攻击
)
a.
凯撒密码:移动
3
个位置
>>
密钥空间充分性原则:任何安全的加密方案必须拥有一个能抵御穷举搜索的密钥空间
b.
单字母替换
>>
一种对移位加密改进的攻击:
用
pi
表示在普通英文文本中第
i
个字母的概率,则有Σ
p
i
2
=0.065
用
qi
表示在密文中第
i
个字母的概率,则有
I
j
=
Σ
p
i
*q
i+j
若
I
k
=0.065
,则得到密钥为
k
c.
多字母移位加密
(Vigenere
加密
)
1)
密文中一个单词出现
2
次或多次,我们可以认为这些距离的最大公约数是周期
t
或
t
的倍数
2)
巧合指数法:若密钥长度为
t
,说明
c
1
,
c
1+t
,
c
1+2t
……
是同样的移位加密
则对于序列
c
1
,
c
1+r
,
c
1+2r
……
,若
S
r
=
Σ
q
i
2
=0.065
,则
r=t
为周期
否则
S
r
=
Σ
q
i
2
=
Σ
(1/26)
2
=0.038
d.
关于密码设计的经验
1.4
现代密码学的基本原则
>>
如何形式化的描述对称密钥加密所需要的加密方案
如果没有敌手能从密文中计算任何关于明文的函数,则加密方案是安全的
>>
安全定义的通用形式
如果特定的敌手不能完成特定的攻破,则对给定任务的一个密码学方案是安全的
>>
规约方法
若给定假设
X
时正确的,根据给定的定义,构造方案
Y
是安全的