古典密码技术
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
3/67
第2章 古典密码技术
2.1.1 单表替代密码
(1)一般单表替代密码 一般单表替代密码的原理是以26个英文字母集合上的 一个臵换π为密钥,对明文消息中的每个字母依次进行变 换。 可描述为:明文空间M和密文空间C都是26个英文字母 的集合,密钥空间K={π:Z26→Z26|π是臵换},是所有可能 臵换的集合。 对任意π∈K,定义: 加密变换:eπ (m)=π (m)=c 解密变换:dπ(c) = π-1(c)=m, π-1是π的逆臵换。
(4)密钥短语密码
选用一个英文短语或单词串作为密钥,去掉其中重复的字母 得到一个无重复字母的字符串,然后再将字母表中的其它字母 依次写于此字母串后,就可构造出一个字母替代表。 如密钥为key时,替代表如表2.2所示。
当选择上面的密钥进行加密时,若明文为“china”,则密文为 “yfgmk”。 显然,不同的密钥可以得到不同的替换表,对于明文为英文 单词或短语的情况时,密钥短语密码最多可能有26!=4×1026个不 同的替换表。
m1 c1 k11 k12 k1n k m c M 2 ,C 2 ,K=(kij ) nn 21 m c k k k nn n n n1 n 2
加密运算: 解密运算: Ek(M)= K • M= C (mod 26) Dk(C)= K –1 • C = M (mod 26) 其中, K –1 称为K在模26上的逆矩阵,有: K • K –1 = K –1 • K=I ;这里 I 为单位矩阵
该密码体制有一个参数n。在加解密时,同样把英文字母映 射为0-25的数字再进行运算,并按n个字母一组进行变换。
明文空间、密文空间及密钥空间都是长度为n的英文字母串 的集合。因此可表示为:
PC K
Z 26
n
16/67
第2章 古典密码技术
2.1.2 多表替代密码(续)
加密变换定义如下: 设密钥 k=(k1,k2,…,kn), 明文m=(m1,m2,…,mn),
8 4
e d c
4 3 2
r
y p
t r
17
o c
2
s i
8
y
s
t
e m
4 12
15 11 15 7
17 24 15 19 14 18 24 18 19
p h e
r
17
c
2
i
8
p h e
15 7 4
p h e
15 7 4
r
17
c
2
密 2 23 4 18 12 21 5 10 6 5 19 10 16 0 13 25 23 21 14 文 C X T S M V F K G F T K Q A N Z X V O
4/67
Βιβλιοθήκη Baidu
第2章 古典密码技术
密码替代表 明文 密文
abcdefghijklmnopqrstuvwxyz DEFGHIJKLMNOPQRSTUVWXYZABC
FDHVDU FLSKHU
caesar cipher 明文 明文 明文 c 变成了密文 ea 变成了密文 变成了密文 F H D
5/67
第2章 古典密码技术
课程主要内容
第 1章 第2章 第 3章 第 4章 第5章 第 6章 第 7章 第 8章 第 9章 第10章
密码学概述 古典密码技术 分组密码 公钥密码体制 散列函数与消息鉴别 数字签名技术 密钥管理技术 身份鉴别技术 序列密码基础 密码技术应用
第2章 古典密码技术
本章主要内容
加密变换为:
Ek(m)=(c1,c2,…,cn) 其中ci=(mi + ki) (mod26) 对密文 c=(c1,c2,…,cn), 解密变换为: Dk(c)=(m1,m2,…,mn),
,
,i =1,2,…,n
其中 mi=(ci -ki)(mod26),i =1,2,…,n
17/67
第2章 古典密码技术
2.1.2 多表替代密码(续)
【例2.4】设密钥k =cipher,明文消息appliedcryptosystem, 试用弗吉尼亚密码对其进行加密,然后再进行解密。 解:由密钥k=cipher,得n=6,密钥对应的数字序列为 (2,8,15,7,4,17)。然后将明文按每6个字母进行分组,并 转换这些明文字母为相应的数字,再用模26加上对应密钥数字 ,其加密过程如表2.3所示。 明 a p 文 0 15 密 c i 钥 2 8 p l i
• 替代密码 • 臵换密码
周期臵换密码 列臵换密码 • 转轮机密码 • 古典密码的统计分析 单表替代密码分析 多表替代密码分析 对Hill密码的已知明文分析
这些密码算法大多都十分简单,现在已经很少在实际 应用中使用了。但是研究这些密码的原理,对于理解、构 造和分析现代实用的密码都是很有益的。
明文 密文
abcdefghijklmnopqrstuvwxyz DEFGHIJKLMNOPQRSTUVWXYZABC
FDHVDU FLSKHU
8/67
caesar cipher
第2章 古典密码技术
2.1.1 单表替代密码(续)
(3)仿射密码
仿射密码也是一般单表替代密码的一个特例,是一种线 性变换。仿射密码的明文空间和密文空间与移位密码相同, 但密钥空间为 K={(k1,k2)| k1,k2∈Z26,gcd(k1,26)=1} 对任意m∈M,c∈C,k = (k1,k2)∈K,定义加密变换为: c = Ek (m) = k1 m +k2 (mod 26) 相应解密变换为: m = Dk (c) = k1-1 (c-k2) (mod 26)
12/67
第2章 古典密码技术
(5)单表替换密码的安全性分析
最大问题: 单表替代密码表现出明文中单字母出现的频率分布与密文中相 同。 英文单字母出现概率顺序:e, t, o, a, n, i,…….,th, er, re, an,……,the, ing, ion,… 而单表代替密码算法的最大缺陷就在于具有单字母一一的对应 关系,它没有将明文字母出现的概率掩藏起来,故在实际应用中 ,可利用自然语言的统计特性来破译这种密码。 例如,破译者可以统计出所截获密文中的高频率出现的代码 ,与表中高频率字(字母)相对应,使用猜字法,找出其中的对应关 系,推断出密钥,从而破解密码。(书P28,表2.4)
2.1.1 单表替代密码(续)
一般单表替代密码算法特点: 密钥空间K很大,|K|=26!=4×1026 ,破译者穷举搜索计 算不可行,1微秒试一个密钥,遍历全部密钥需要1013 年。
移位密码体制是替换密码体制的一个特例,它仅含26个 臵换做为密钥空间。
密钥π不便记忆。 针对一般替换密码密钥π不便记忆的问题,又衍 生出了各种形式单表替代密码。
1 Dk (c) k 1 (c k 2)(mod 26) 3 (c 2)(mod 26) (3c 6)(mod 26)
明文消息对应的数字序列为(2,7,8,13,0),用仿射 密码对明文进行加密 如下: 2 2 20 u 7 2 13 n Ek (m) 9 8 2 22 mod 26 w c 13 2 15 p 0 2 2 c 10/67
1 1mod 26 其中,k 1k 1
。
很明显,k1=1时即为移位密码,而k2=0则称为乘法 密码。
9/67
第2章 古典密码技术
2.1.1 单表替代密码(续) 【例2.3】设明文消息为china,密钥k=(k1, k2)=(9,2) 试用仿射密码对其进行加密,然后再进行解密。 1 解:利用扩展的欧几里德算法可计算出 k 1 3 加密变换为: E k (m) k 1m k 2(mod 26) 9 m 2(mod 26) 解密变换为:
2/67
第2章 古典密码技术
2.1 替代密码 (substitution cipher)
• 替代是古典密码中用到的最基本的处理技巧之一 ; • 替代密码是指先建立一个替换表,加密时将需要加密 的明文依次通过查表,替换为相应的字符,明文字符 被逐个替换后,生成无任何意义的字符串,即密文, 替代密码的密钥就是其替换表 ; • 根据密码算法加解密时使用替换表多少的不同,替代 密码又可分为单表替代密码和多表替代密码。 单表替代密码: 密码算法加解密时使用一个固定的替换表; 多表替代密码: 密码算法加解密时使用多个替换表。
密文为:CXTSMVFKGFTKQANZXVO。(解密,略)
18/67
第2章 古典密码技术
2.1.2 多表替代密码(续)
(2)希尔(Hill)密码 Hill密码算法的基本思想是将 n个明文字母通过线性变换,将 它们转换为n个密文字母。解密只需做一次逆变换即可。 算法的密钥 K =﹛Z26 上的 n×n 可逆矩阵 ﹜ ,明文 M 与密文 C 均为n维向量,记为
13/67
第2章 古典密码技术
英文字母出现频率 (不同文献类略有差别)
字母 出现频率 字母 出现频率
a ③
b c d
0.0856
0.0139 0.0279 0.0378
n
o p q
⑤
④
0.0707
0.0797 0.0199 0.0012
e
f g h i j k l m
①
0.1304
0.0289 0.0199 0.0528
即恢复明文消息为china。 仿射密码要求(k1, 26)=1 ,否则就会有多个明文字母对应 一个密文字母的情况。由于与26互素的整数有12个,故仿射密码 密钥空间大小为|K|=12×26=312。 若将仿射密码的加密函数换为多项式函数时,即为多项式密码。
11/67
第2章 古典密码技术
2.1.1 单表替代密码(续)
6/67
第2章 古典密码技术
2.1.1 单表替代密码(续)
(2)移位密码
明文空间M、密文空间C都是和密钥空间K满足
P C K 0,1,2,...,25 Z 26
即把26个英文字母与整数0,1,2,…,25一一对应,如表: 表2.1 字母数字映射表
7/67
第2章 古典密码技术
2.1.1 单表替代密码(续) 加密变换,E={E:Z26→Z26, Ek (m) = m + k (mod26)| m∈M, k∈K } 解密变换,D={D:Z26→Z26, Dk (c) = c-k (mod26)| c∈C, k∈K } 解密后再把Z26中的元素转换英文字母。 显然,移位密码是前面一般单表替代密码的一个特例。当移 位密码的 密钥k=3时,就是历史上著名的凯撒密码(Caesar) 。根据其加密函数特 点,移位密码也称为加法密码。
r
s t u v w x y z
⑥
②
0.0677
0.0607 0.1045 0.0249 0.0092 0.0149 0.0017 0.0199 0.0008
14/67
⑦
0.0627 0.0013 0.0042 0.0339 0.0249
第2章 古典密码技术
英语字母中常见的组合
15/67
第2章 古典密码技术
第2章 古典密码技术
2.1.1 单表替代密码(续) 密文消息为unwpc(20,13,22,15,2)。而解密过程如下: 20 6 2 c 13 6 7 h Dk ( m) 3 22 6 8 mod 26 i 15 6 13 n 2 6 0 a
2.1.2 多表替代密码
单表替换密码局限:明文字母(字)与密文字母(字)一一对应。
多表替代密码的特点是使用了两个或两个以上的替代表。 著名的弗吉尼亚密码和Hill密码等均是多表替代密码。 (1)弗吉尼亚密码(Vigenere) 弗吉尼亚密码是最古老而且最著名的多表替代密码体制之 一,与位移密码体制相似,但弗吉尼亚密码的密钥是动态周期 变化的。