网络信息安全 课程第二讲 数据加密算法主讲 段云所 副教授北京大学计算机系数据加密密码 是一组含有参数的变换明文 plaintext) 作为加密输入的原始信息加密算法 变换函数密文 ciphertext):明文变换结果密钥 key):参与变换的参数加密模型明文明文密文加密算法解密算法密钥密钥密码体制通常一个完整密码体制要包括如下五个要素M,C,K,E,D
1 M是可能明文的有限集 称为明文空间
2 C是可能密文的有限集 称为密文空间
3 K是一切可能密钥构成的有限集 称为密钥空间
4 对于密钥空间的任一密钥 有一个加密算法和相应的解密算法 使得
ek:M->C 和dk:C->M分别为加密解密函数 满足d
k
(e
k
(x))=x,这里 x M
一个密码体制要是实际可用的 必须满足如下特性
1 每一个加密函数e
k
和每一个解密函数d
k
都能有效地计算
2 破译者取得密文后 将不能在有效的时间内破解出密钥k或明文x
3 一个密码系统是 的必要 密钥 将是不可 的 密钥空间 常
密码算法分
分 密码的 密码 对称密钥密码 密钥密码的 密码是 于
换的密码 在?¢使用 £是?¥? 密码的
§currency1 在'在使用的“是对? 变换的密码算法这?算法 密钥?fi的fl 可–分为? 对称算法与 密钥算法 对称算法的加密密钥和解密密钥相
这?算法· 作?密密钥算法或?密钥算法
加密? 分 对称算法?可分为”?密码和分组密码?
,?密码每…加密一?或一 ‰的明文 ·可–称为 密码,?密码是? 和`′密码时¥的? 分组密码将明文分成?ˉ?˙的组 用?一密钥和算法对每一
¨加密 输出·是?ˉ?˙的密文算法分类
经典密码
¥ 密码,?¥或? ¥¥或?码¥
换?密码:
对称加密算法
DES AES
非对称 公钥 算法
RSA?包密码 McEliece密码 Rabin ˇ— EIGamal D_H
¥ 密码或密码
¥ 密码 是将明文M 的每个?用密文C 的相应? ¥ 这一 密码包括?密码 换密码 密码 数密码? ¥ 密码 密钥 密码
1?密码是?的一 ¥ 密码 将的? k个对˙作? 算
a 为
1 e
k
(m)=(k+m) =c mod q
解密变换为
2 d
k
(c)=(m-k)=m mod q
q为M的?˙,m” ¥M 的? ·¥? 在M 的?,c” ¥
C 的? ·¥? 在C 的? Caesar 密码是对?文26个¥ 的密码
q=26 这?密码称为 密码 是?为 使用ok=3的这?密码 使用 密码 将明文
M= Peking University加密为
C=Ujpnsl Zsnajwxnyd
2 在 换密码 可对明文 q个 的 有可能 换得 密文密码是
换密码算法一个特
3 数密码·是一? 换密码?将每个? –一个密钥k
3 e
k
(m)=km mod q
k和q为 素的 这 的 一个?的 集k和q不 素,?有一
明文加密成相?的密文 不是 有的?都?出 在密文
4 换密码的 一个特 是 密码 加密的a 为
4 e
k
(m)=(k
1
m+k
2
) =c mod q k
1
和q是 素的
¥ 密码 于使用 明文 密文的?一映 –明文?的出 频率分布与密文
相? 可–?容易地通o使用?频率分析法 只有密文的攻击算法历史
(1)希腊密码 二维字母编码查表,公元前2世纪
zyxwv
Utsrq
ponml
kijhgf
edcba
Peking University
35 15 25 24 33 22 45 33 24 51 15 42 43 24 44 54
算法历史
(2)凯撒密码 将字母循环前移k位
k-5时对应关系如下
a b c d e f g h i j k l m n o p q r s t u v w x y z
f g h i j k l m n o p q r s t u v w x y z a b c d e
明文 Peking University
密文 Ujpnsl Zsnajwxnyd
将?编号a-z对应为1-26

恺 变换 c=m+kmod26
更一般
变换 c=k
1
m+k
2
mod 26
k
1
=1为 变换
或? ¥ 密码与?¥ 密码 似 只是映 是一对?的 每个明文?可–加密成?个密文
¥ 密码比?¥ 密码难破译得? 尤 是当对?的赋值个数与?出
频率成比 时 这是?为密文 号的相关分布?近似于平的 可–挫败频率分析然明文?的?统计信息在密文 '?明显时 那么? ¥ 密码'然是可破译的
¥ 密码
出 频率分布与密文 相¥ 密码使用 明文? 密文?的?
个映 隐藏出 的频率分布 每个映 是?¥ 密码 的一对一映
维吉尼亚 Vigenere 密码和博福特 Beaufort 密码均是¥ 密码的 子?
¥ 密码有?个密钥 每一个密钥?用 加密一个明文? 第一个密钥加密明文的第一个? 第二个密钥加密明文的第二个? 有密钥使用完后密钥?再循环使用 维吉尼亚 Vigenere 密码算法如下设密钥 明文 加密变换
5 e
k
(m)=c
1
c
2
…c
n
,C
i
=m
i
+k
i
mod 26
密钥k可–通o周期性地延? 反 –至无
或?码¥ 密码不?于前面介绍的¥ 密码都是每…加密一个明文¥ 密码将明文
划分为?˙相?的消息?元 称为明文组 对 ¨成组 ¥ 这 一 使密码分析更加困难¥ 的优点是容易将?的自然频˙隐蔽或均匀化
有利于抗击统计分析 Playfair密码 Hill密码都是这一 型的密码换?密码在换?密码 明文的?保持相? £顺”?打乱 于密文 与明文
相? 密文?的出 频率与明文?的出 频率相? 密码分析者可–?容易地 此 判别 虽然许? ¥密码·使用换? £ 于?对存储要求? 有时还要求消息为某个特ˉ的?˙比较¢用数据加密标准
DES
DES是一?对二元数据 加密的算法 数据分组?˙为64? 密文分组?
˙·是64? 使用的密钥为64? 有效密钥?˙为56? 有8?用于奇偶校验 解密时的o 和加密时相似 £密钥的顺”正好相反 DES的整个体制是 的 系统的 性完 靠密钥的保密
DES算法的o 是 在一个 始 换IP后 明文组?分成 分和
分 每 分32? –L
0
和R
0
然后是16 ¥的 变换 称为函数f
将数据和密钥结?§ 16 后? 分再 § o一个 始
换IP
-1
算法结
始 换与 始 换在密码 作用不 的作用在于打乱原
输入x的ASCII码 划分关系?将原 明文的校验?变成 换输出的一个

64?明文
始 换 IP
变换
始 换IP
-1
64?密文
48bit
k
i
L
i
=R
i-1
R
i
=L
i-1
⊕ f (R
i-1
,k
i
)
L
i-1
(32bit) R
i-1
(32bit)
变换E
+
变换
S ¥
换 算P
+
R
i
(32bit L
i
(32bit)
密钥
i? ¥…数 ⊕ 2 求和 f 为加密函数 DES 的加密和解密o
如下 加密o
)(64
16,,2,1),(
16,,2,1
)64(
1616
1
11
1
00
LRIPbit
ikRfLR
iRL
bitIPRL
iiii
ii

>←<
=⊕←
=←
><←
密文输入码
L
L
解密o
)(64
1,,15,16),(
1,,15,16
)64(
00
1
11
1
1616
LRIPbit
ikRfRL
iLR
bitIPLR
iiii
ii

>←<
=⊕←
=←
><←
明文密文
L
L
4子密钥的 成o
k
1
56? (48? )
k
i
56? 48?
64?密钥
换 1
C
0
28? D
0
28?
循环 循环
C
1
28? D
1
28?
循环 循环
C
i
28? D
i
28?
换 2
换 2
密钥?的计算
循环
1 1 9 1
2 1 10 2
3 2 11 2
4 2 12 2
5 2 13 2
6 2 14 2
7 2 15 2
8 2 16 1
密码分组 作?
ECB CBC CFB
其它分组加密算法这里?要 较为 的 要的?个对称密钥的分组密码算法 这?算法都是自DES 布 后 ¢ 解
DES的£点¥入的?§下currency1出的 currency1出的fl 有?
一?是对DES? '化?的抗攻击能,一
是的fl法?DES那 加解密fi˙fl? 有抗–分攻击和 fl 攻击的能,这?算法有? DES
IDEA RC5 RC6 Blowfish CAST RC2
DES
这?fl 里 使用? 或? 个不?的密钥对数据¨?… 或
… 加密 加密一…要比?通加密的?…要fl? DES的
'˙ ·和112-bit的密钥'˙相当? DES有型
a DES-EEE3 使用?个不?密钥 顺”?…加密变换
(b)DES-EDE3 使用?个不?密钥?… 加密-解密-加密变换
(c)DES-EEE2 密钥K
1
=K
3
顺”?…加密变换
(d)DES-EDE2 密钥K
1
=K
3
… 加密-解密-加密变换
前为? 还?有¢currency1出攻击? DES的有效fl法 对 密钥空间
密钥,? 那么 于空间… 这实际 是不可 的?
用–分攻击的fl法 相对于?一DES ‰?性– 数a 要
o10
52
RC5
RC5是 RSA `的′ˉ?Ron Rivest于1994˙设计 95˙正 的一个?实用的加密算法?是一?分组? 为2¨?w? 密钥? ‰数计 和 ¥
数都可变的一?分组 ¥密码?–RC5-w/r/b? Rivest?使用的标准RC5
为RC5-32/12/16?算法 有如下特性
(a) a? 易于 或者? 实 算fi˙fl
(b) 能?应于不的,不ˇ 出相—的算法
(c) 加密的 数可变 这个参数用 整加密fi˙和 性的 ˙
(d) 密钥?˙是可变的 加密'˙可 ‰
(e) 对 ˙要求不 使RC5可用于 似Smart Card这 对 ˙有限ˉ的
(f) 有 保密性?当 好参数
(g) 对数据实 bit循环' 抗攻击能“
RC5自1995˙ 布–?至 为?还?有 实际攻击的有效? 然?一?
fi 攻击的文 后·分析出RC5的一?£点
IDEA
IDEA是International Data Encryption Algorithm 的 是
1990˙ ˉ? ˉ X.J.Lai 和Masseya出的?标准算法 称作PES Proposed Encryption Standard
Lai 和Massey 在1992 ˙ '化 抗–分分析的能,称为IDEA?·是对64bit 的数据¨加密的分组加密算法 密钥?˙为128 于“相—¥数 的?
算”设计 算法用? 和 实 都?容易?比DES
在实 fl得?
6AES算法
1997˙4?15o?标准和 NIST § 集AES
算法的成?的AES 作组?的是为 ˉ一个 保密的
的使用的分组密码算法 用于保 下一 府的敏感信息?希望成为?密和?的数据加密标准 1997˙9?12
o 在 登 处 布 集AES候 算法的通告 AES的 本要求是比
DESfl? 至¢和? DES一 分组?˙128比特 密钥?˙
为128/192/256比特 1998˙8?20o NIST召 第一…候
布 15个候 算法 1999˙3?22o 第二…AES候
出5个 AES将成为?的 的 信息处fi标准( FIPS--Federal
Information Processing Standard) 用于 府组织保 敏感信息的一?
特殊的加密算法?标准 (NIST)预测AES广泛地应用于组织 ˉ?及个¢ 入 AES的五?算法是MARS RC6 Serpent
Twofish Rijndael 2000˙10?2o 商务?Norman Y,Mineta宣布 o?˙ 界著?密码? 间的竞争,“Rijndael数据加密算法
” 终获胜为此?在?范围内角 数˙的激烈竞争宣告结 这一?加密标准的问 将取¥DES数据加密标准 成为21 保?敏感信息的 级算法
[3]
为AES Rijndael算法的是 自比利时的密码? Proton World
International的Joan daemen博 Katholieke Universiteit Leuven电子 系
(ESAT)的Vincent Rijmen博 后 在加密领域里一直比较?跃
NIST?任Ray Kammer在马里兰召 的?闻 布? ‰ –
Rijndael是?为fl? 需的内存不? 这个算法是如此可靠
在密码fl面 内 的? 局·决ˉ将用? 保 一?关键数据不?窥视 Rijndael·是5个 决赛 唯一一个不面临潜在的o
`侵犯 利诉讼的算法 o 在 ˙早?时候宣布 对一系?密码采用的数ˉ 的 有权 £Kammer‰法律问题不是决ˉ算法 的?素
Rijndael算法的原a是Square算法?的设计策略是宽轨迹策略 Wide
Trail Strategy,这?策略是针对–分分析和 性分析a出 的 是一个分组 ¥密码 有可变的分组?˙和密钥?˙ AES?设计成?个密钥?
˙128/192/256比特 用于加密?˙为128/192/256比特的分组 相应的
数为10/12/14 Rijndael汇聚 性能 效率 可实 性和灵?性 优点 尤 是在无 有无反馈? 的计算环境下的? Rijndael都显
出 常好的性能 Rijndael的对内存的需求 常低 ·使用于受限制的环境 Rijndael的 作可抵御' 和实时的攻击此外?还有许?未?特别' 的防御性能 对算法的详细描述可参见有关文献
[4]
密码分析唯密问攻击 仅有密文
知明文攻击 知道密文和对应明文
明文攻击 知道密文和对应明文?可
密文攻击
文本攻击破译时间密钥?˙(bits) 密钥数 需时间 1/us) 需时间 10
6
/us)
32 4.3x10
9
35.8mins 2.15ms
56 7.2x10
16
1142years 10h
128 3.4x10
38
10
24
years 5.4x10
18
years
168 3.7x10
50
5.9x10
36
years 5.9x10
30
years
加密?
点对点链路加密
‰点加密