现代密码学知识点整理:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章 基本概念
1. 密钥体制组成部分:
明文空间,密文空间,密钥空间,加密算法,解密算法 2、一个好密钥体制至少应满足的两个条件:
(1)已知明文和加密密钥计算密文容易;在已知密文和解密密钥计算明文容易; (2)在不知解密密钥的情况下,不可能由密文c 推知明文 3、密码分析者攻击密码体制的主要方法: (1)穷举攻击 (解决方法:增大密钥量)
(2)统计分析攻击(解决方法:使明文的统计特性与密文的统计特性不一样) (3)解密变换攻击(解决方法:选用足够复杂的加密算法) 4、四种常见攻击
(1)唯密文攻击:仅知道一些密文
(2)已知明文攻击:知道一些密文和相应的明文
(3)选择明文攻击:密码分析者可以选择一些明文并得到相应的密文 (4)选择密文攻击:密码分析者可以选择一些密文,并得到相应的明文
【注:①以上攻击都建立在已知算法的基础之上;②以上攻击器攻击强度依次增加;③密码体制的安全性取决于选用的密钥的安全性】
第二章 古典密码
(一)单表古典密码
1、定义:明文字母对应的密文字母在密文中保持不变
2、基本加密运算
设q 是一个正整数,}1),gcd(|{};1,...,2,1,0{*
=∈=-=q k Z k Z q Z q q q
(1)加法密码 ①加密算法:
κκ∈∈===k X m Z Z Y X q q ;,;对任意,密文为:q k m m E c k m od )()(+== ②密钥量:q (2)乘法密码 ①加密算法:
κκ∈∈===k X m Z Z Y X q q ;,;*
对任意,密文为:q km m E c k m od )(== ②解密算法:q c k c D m k mod )(1
-==
③密钥量:)(q ϕ (3)仿射密码 ①加密算法:
κκ∈=∈∈∈===),(;},,|),{(;21*
2121k k k X m Z k Z k k k Z Y X q q q 对任意;密文
q m k k m E c k m od )()(21+==
②解密算法:q k c k c D m k mod )()(11
2-==-
③密钥量:)(q q ϕ (4)置换密码 ①加密算法:
κσκ∈=∈==k X m Z Z Y X q q ;,;对任意上的全体置换的集合为,密文
)()(m m E c k σ==
②密钥量:!q
③仿射密码是置换密码的特例 3.几种典型的单表古典密码体制 (1)Caeser 体制:密钥k=3 (2)标准字头密码体制: 4.单表古典密码的统计分析
(二)多表古典密码
1.定义:明文中不同位置的同一明文字母在密文中对应的密文字母不同
2.基本加密运算 (1)简单加法密码 ①加密算法:
κκ∈=∈====),...,(,),...,(,,11n n n n
q n q n n k k k X m m m Z Z Y X 对任意设,密文:
),...,()(11n n k k m k m m E c ++==
②密钥量:n
q (2)简单乘法密码 ①密钥量:n q )(ϕ 1.简单仿射密码
①密钥量:n n q q )(ϕ
2.简单置换密码 ①密钥量:n
q )!( (3)换位密码 ①密钥量:!n
(4)广义置换密码
①密钥量:)!(n
q
(5)广义仿射密码 ①密钥量:n n r q
3.几种典型的多表古典密码体制 (1)Playfair 体制: ①密钥为一个5X5的矩阵
②加密步骤:a.在适当位置闯入一些特定字母,譬如q,使得明文字母串的长度为偶数,并且将明文字母串按两个字母一组进行分组,每组中的两个字母不同。b.明文21m m 对应的密文21c c 的确定:
21m m 和同行或同列,则1c 为1m 后的字符,2c 为2m 后的字符;若21m m 和既不同行也不同
列,则21c c 在21m m 所确定的矩形的其他两个角上,1c 和1m 同行,2c 和2m 同行。 (2)Vigenere 体制
设明文n m m m m ...21=,密钥n k k k k ...21=则密文:n k c c c m E c ...)(21==, 其中n i k m c i i i ,...2,126m od )(=+=
当密钥长度比明文长度短时,密钥可周期性地重复利用。 (3)Vernam 体制
设明文......21i m m m m =,密钥......21i k k k k =其中,1)2(,≥∈i GF k m i i 则密文
......21i c c c c =,其中1≥⊕=i k m c i i i
(4)Hill 体制
设明文n
n Z m m m m 2621)...(∈=,密文n
n Z c c c c 2621)...(∈=,密钥为26Z 上的nXn 街可逆方阵
n n ij k K ⨯=)(,则:
26
mod 26mod 1
-==cK m mK c
4.多表古典密码的统计分析
(1)分析步骤:①确定密钥字的长度;②确定密钥的内容
(2)确定密钥字的常用方法:Kasisiki 测试法和重合指数法
①Kasisiki 测试法可以找出可能密钥;而重合指数法可以进一步确定密钥
②kasisiki 测试法步骤:a.寻找密文中长度至少为3的相同的密文片段;b.计算没对密文片段之间的距离为i d d d ,...,,21;c.计算可能密钥),...,,gcd(21i d d d m = ③重合指数法:
065.0)
1()
1()(25
1
225
=≈--=
∑∑==i i i i
i c p n n f
f x I
其中i i p f 和分别为英文字母A,B,.....,Z 在长度为n 的英文字符串中出现的次数,及各字符出现的概率
第三章 香农理论
1、密码体制各组成部分的熵之间的关系:
)()()()|(C H M H K H C K H -+=
2、语言L 的冗余度:
|
|log 12X H R L
L -
=
3、伪密钥
(1)定义:密码分析者得到众多可能密钥中除正确密钥之外的一个密钥
(2)对于任意一个密文,用不同的密钥进行解密,如果得到的有意义的明文越多,则伪密钥也越多。这是判断哪个密钥正确的难度就越大。
(3)对于一个密钥体制,设X 是明文字母表,Y 是密文字母表,并且|X|=|Y|,设L R 是明文语言的冗余度,假设密钥的选取满足均匀分布,则对于任意一个场地为n 的密钥字母串,当n 充分大时,萎靡要的期望数目n s 满足:
1|||
|-≥
L
n
n R X K s (4)唯一解距离 令0=n s ,解之:|
|log |
|log 0X R K n L ≈
①一个密钥体制的唯一解距离就是密码分析者在有足够的计算时间的情况下,能够唯一的计算出正确密钥所需的密文的平均长度。
②明文语言的冗余度越大,唯一解距离就越小,密码分析者在唯密文攻击的情况下就越容易求得正确的密钥。
第三章 DES