第2章古典密码学.ppt
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
第2章 古典密码技术
2.1.2 多表替代密码(续)
多表替代密码的特点是使用了两个或两个以上的替代表。著名的维吉 尼亚密码和Hill密码等均是多表替代密码。
1.维吉尼亚密码
维吉尼亚密码是最古老而且最著名的多表替代密码体制之一,与位移 密码体制相似,但维吉尼亚密码的密钥是动态周期变化的。 该密码体制有一个参数n。在加解密时,同样把英文字母映射为0-25 的数字再进行运算,并按n个字母一组进行变换。明文空间、密文空间及密 P C K Z 26 钥空间都是长度为n的英文字母串的集合,因此可表示
• 多表替代密码的密码算法加解密时使用多个替换表。
3/67
第2章 古典密码技术
2.1.1 单表替代密码 单表替代密码对明文中的所有字母都使用一个固定的映 射(明文 字母表到密文字母表)。 设A={a0, a1,…, an-1}为包含了n个字母的明文字母表; B={b0, b1,…, bn-1} 为包含n个字母的密文字母表,单表替 代密码使用了A到B的映射关系: f:A→B, f ( ai )= bj 一般情况下,f 是一一映射,以保证加密的可逆性。 加密变换过程就是将明文中的每一个字母替换为密文字母 表的一个字母。而单表替代密码的密钥就是映射f或密文 字母表。 经常密文字母表与明文字母表的字符集是相同的,这时 的密钥就是映射f。下面给出几种典型的单表替代密码。
6/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) 。根据其加密函数特 点,移位密码也称为加法密码。 仿射密码 仿射密码也是一般单表替代密码的一个特例,是一种线性 变换。仿射密码的明文空间和密文空间与移位密码相同,但 密钥空间为 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)
n
加密变换定义如下: 设密钥 k=(k1,k2,…,kn), 明文m=(m1,m2,…,mn), 加密变换为: Ek(m)=(c1,c2,…,cn), 其中ci(mi + ki)(mod26),i =1,2,…,n 对密文 c=(c1,c2,…,cn), 解密变换为: Dk(c)=(m1,m2,…,mn), 其中 mi=(ci -ki)(mod26),i =1,2,…,n
7/67
第2章 古典密码技术
2.1.1 单表替代密码(续)
mD ( 相应解密变换为: k c)=k1 (c k 2)(mod 26) 1 k 1k 1 1mod 26 。很明显,k1=1时即为移位密码,而k2=1则称为乘法 其中,
1
密码。
【例2.3】设明文消息为china,密钥 k (k 1,k 2) (9, 2)试用仿射密码对其进行 加密,然后再进行解密。 1 解:利用扩展的欧几里德算法(参见附录A.1.2)可计算出 k 1 3 加密变换为: E k (m) k 1m k 2(mod 26) 9 m 2(mod 26)
8/67
第2章 古典密码技术
2.1.1 单表替代密码(续)
密文消息为unwpc。而解密过程如下:
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 即恢复明文消息为china。 仿射密码要求(k1, 26)=1 ,否则就会有多个明文字母对应 一个密文字母的情况。由于与26互素的整数有12个,故仿射密码密钥空间大 小为|K|=12×26=312。
4/67
第2章 古典密码技术
2.1.1 单表替代密码(续)
• 一般单表替代密码
一般单表替代密码的原理是以26个英文字母集合上的一个置换π为 密钥,对明文消息中的每个字母依次进行变换。 可描述为:明文空间M和密文空间C都是26个英文字母的集合,密 钥空间K={π:Z26→Z26|π是置换},是所有可能置换的集合。 对任意π∈K,定义: 加密变换:eπ (m)=π (m)=c 解密变换:dπ(c) = π-1(c)=m, π-1是π的逆置换。 【例2.1】设置换π的对应关系如下: 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 q w e r t y u i o p a s d f g h j k l z x c v b n m 试用单表替代密码以π为密钥对明文消息message加密,然后写出逆 置换 ,并对密文解密。 解:以π为密钥用单表替代密码对明文消息message加密,所得 密文消息为: π(m) π(e) π(s) π(s) π(a) π(g) π(e)=dtllqut
当选择上面的密钥进行加密时,若明文为“china”,则密文为“yfgmk”
。 显然,不同的密钥可以得到不同的替换表,对于明文为英文单词或短语 的情况时,密钥短语密码最多可能有26!=4×1026个不同的替换表。
2.1.2
多表替代密码
单表替代密码表现出明文中单字母出现的频率分布与密文中相同, 多表替代密码使用从明文字母到密文字母的多个映射来隐藏单字母出现 的频率分布,每个映射是简单替代密码中的一对一映射多表替代密码将 明文字母划分为长度相同的消息单元,称为明文分组,对明文成组地进 行替代,同一个字母有不同的密文,改变了单表替代密码中密文的唯一 性,使密码分析更加困难。
表2.3 密钥为cipher的维吉尼亚密码加密过程
密文为:cxtsmvfkgftkqanzxvo。 解密使用相同的密钥,但用模26的减法代替模26加法,这里 不再赘述。
12/67
第2章 古典密码技术
2.1.2 多表替代密码(续) 2.希尔(Hill)密码
Hill密码算法的基本思想是将n个明文字母通过线性变换,将它们转换为n 个密文字母。解密只需做一次逆变换即可。 算法的密钥K =﹛ Z 26上的 n n 可逆矩阵﹜,明文M与密文C 均为n维向量, 记为
11/67
第2章 古典密码技术
2.1.2 多表替代密码(续) 【例2.4】设密钥k =cipher,明文消息appliedcryptosystem, 试用维吉尼亚密码对其进行加密,然后再进行解密。 解:由密钥k=cipher,得n=6,密钥对应的数字序列为 (2,8, 15,7,4,17)。然后将明文按每6个字母进行分组,并转换这 些明文字母为相应的数字,再用模26加上对应密钥数字,其加 密过程如表2.3所示。
5/67
第2章 古典密码技术
2.1.1 单表替代密码(续) 一般单表替代密码算法特点:
密钥空间K很大,|K|=26!=4×1026 ,破译者穷举搜索计算不可行,1微秒试 一个密钥,遍历全部密钥需要1013 年。 移位密码体制是替换密码体制的一个特例,它仅含26个置换做为密钥空间。 密钥π不便记忆。 针对一般替换密码密钥π不便记忆的问题,又衍生出了各种形式单表替代密码 。 • 移位密码 明文空间M、密文空间C都是和密钥空间K满足 P C K 0,1,2,...,25 Z 26 即把26个英文字母与整数0,1,2,…,25一一对应,如表2.1所示。 表2.1 字母数字映射表
m1 c1 k11 k12 k m c 2 2 M ,C ,K=(kij ) nn 21 m c n n kn1 kn 2 k1n knn
其中,
c1 k11m1 k12 m2 ... k1n mn mod 26 c k m k m ... k m mod 26 2 21 1 22 2 2n n ...... cn k n1m1 k n 2 m2 ... k nn mn mod 26
课程主要内容
第 1章 第 2章 第 3章 第 4章 第 5章 第 6章 第 7章 第 8章 第 9章 第10章
密码学概述 古典密码技术 分组密码 公钥密码体制 散列函数与消息鉴别 数字签名技术 密钥管理技术 身份鉴别技术 序列密码 密码技术应用
ቤተ መጻሕፍቲ ባይዱ
第2章 古典密码技术
本章主要内容
或写成
C K M (mod 26)
1 解密变换则为: M K C (mod 26).
13/67
第2章 古典密码技术
2.1.2 多表替代密码(续)
其中,K –1为K在模26上的逆矩阵,满足:K K –1 = K –1 K=I (mod 26) 这里 I 为单位矩阵。 定理2.1:假设A = ( ai,j) 为一个定义在Z26上的n×n矩阵,若A 在模26上可 逆,则有: A –1= ( det A ) –1 A* (mod 26 ) ;这里A*为矩阵A的伴随矩阵 在n = 2的情况下,有下列推论: a1,1 a1,2 假设 A= ,是一个Z26上的2×2矩阵,它的行列式: a2,1 a2,2 a a1,2 1 1 2,2 是可逆的,那么: A (det A) det A a a a a mod 26