1.2 古典密码
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
油
大
2. 标准字头密码体制
学
1.2.4 几种典型的多表古典密码体制
Playfair 密码是多表密码的经典算法。
Ⅰ构造矩阵
东
Playfair 密码基于一个 5 5 字母矩阵。该矩阵使用 一个关键词(密钥)来构造。其构造方法是:从左至右, 从上到下依次填入关键词(去除重复字母),然后再以 字母表顺序填入其他字母。字母I和J算作一个字母(即 J被当做I处理)。
油
大
学
S A D L U O R G M V F E H N X
T B I P Y
W C K Q Z
东
北
解:(Ⅰ)构造矩阵
a f l q v b g m r w c h n s x d
石
i o t y
e f t k fivestar p d u m z u
B I P Y
C K Q Z
东
北
石
这里如果 m1 和 m2 在同一列,则密文 c1 和 c2 分 别为紧靠 m1 和 m2 下方的字母。这里将第一行看作 最后一行的下方。
油
大
原则2:
学
S A D L U O R G M V F E H N X T T B I P Y W C K Q Z
东
石
原则3: 如果 m1 和 m2 既不在同一行也不在同一列,则密 文 c1 和 c2 分别为由 m1 和 m2 确定的矩形的其他两 c1 和 m1 同行, 角上的字母。 c2 和 m2 同行。
石
油
大
Ⅱ.明文分组
学
Ⅲ.加密方法
原则1: n 如果m1 和 m2 在同一行,则密文 c1 和c2 分别 为紧靠 m1 和 m2 右端的字母。这里将第一列看做最 后一列的右端。 S O F T W
n
北
石
油
大
对任意的明文字母对m1m2 ,设它们对应的密文c1c2 加密方法如下:
n
学
A D L U R G M V E H N X
东
北
c E k (m) mH
石
对任意 m (m1 , m2 , , mn )
油
n X n Y n Zq ,
n K {( , H) | Z q , H 为 Zq 上的n阶可逆方阵}
k ( , H) K
大
7. 广义仿射密码
学
密文
二 几种典型的古典密码体制
东
fuxiaoming.1@163.com
北
石
油
付晓明
大
密码学
学
1.2 古典密码
东
北
一 二
古典密码中的基本加密运算 几种典型的古典密码体制
石
油
本章介绍古典密码体制中的基本加密运算以 及几种典型的密码体制。
大
学
一 古典密码中的基本加密运算
东
北
明文字母表:明文字母表X是指明文空间中出 现的所有不同字母的集合。 密文字母表:密文字母表Y是指密文空间中出 现的所有不同字母的集合。 单表密码体制:如果明文字母对应的密文字母 在密文中保持不变。 多表密码体制:如果明文中不同位置的同一明 文字母在密文中对应的密文字母不同。
学
设 X n Y n Z qn , K 为 Z qn 上的全体置换的集合。
广义置换密码的密钥量为
东
c Ek (m) (m)
(q n )!
北
对任意 m X n , k K
石
油
大
密文
6. 广义置换密码
学
设
n 其中的运算都是模 q 运算。广义仿射密码的密钥量为 q rn 其 中 rn 是 Z q 上不同的 n 阶可逆方阵的个数。
大
2. 简单乘法密码
学
设
其中的加法和乘法都是模 q 加法和乘法,显然,简单仿射密 码的密钥量为 q n (q) n
东
密文
c Ek (m) (k11 k21m1 , k12 k22 m2 , , k1n k2 n mn )
北
n 对任意 m (m1 , m2 , , mn ) X , k ( k11 , k21 , k12 , k22 , , k1n , k2 n ) K
油
大
学
东
显然,仿射密码是置换密码的特例。置换密码的密 钥量为 q ! 。
北
设 X Y Z q , K 为 Z q 上全体置换的集合。对任意 m X , k K 密文 c Ek (m) (m)
石
油
大
4.置换密码
学
1.2.2 多表古典密码中的基本加密算法
设 X n Y n Z qn , K Z qn 对任意 m (m1 , m2 , , mn ) X n ,
油
大
2. Vigenere 体制
学
利用Vigenere方阵可以方便的进行加密和解密,当 密钥字母 ki 对明文mi 进行加密时,Vigenere方阵 中的第 ki 行第 mi 列的字母就是相应的密文字。
东
北
石
油
大
表 1.2.4 Vigenere 方阵
学
东 北 石 油 大
学
=(1+6,20+14,24+14,24+6,14+11,20+4,19+6, 20+14,1+14,4+6)mod 26
东
c Ek (m) (k1m1 , k2 m2 , , kn mn )
北
m (m1 , m2 , , mn ) X n , k (k1 , k2 , , kn ) K ,密文
石
油
n X n Y n Zq , K (k1 , k2 , , kn ) | ki Z q ,1 i n ,对任意
石
油
大
学
东
Beaufort体制和Vigenere体制相似也是一种多 表简单加法密码。
北
石
3. Beaufort体制
油
=(7,8,12,4,25,24,25,8,15,10) 对应的密文字母分别为HIMEZYZIPK 通过查表也能得到相同的答案。
大
学
东
其中 ci (ki 25 mi ) mod 26 同 Vigenere 一样,当密钥的长度比明文短 时,密钥可以周期的重复使用,直至完成明文的 每个字母的加密。
北
石
油
大
1.Playfair 体制
学
石
油
如果选取密钥字为“software” 则构造如下 5 5 矩阵
大
学
S A D L U O R G M V F E H N X
T B I P Y
W C K Q Z
东
北
东
北
将明文字符串按两个字母一组进行分组,分 组之后,如果相邻两个字母相同,则要在他们 之间插入一个字符(事先约定的字母,如Q), 如果明文字母数是奇数时,同样要在明文的末 端添加某个事先约定的字母作为填充。
东
北
c Ek (m) (m (1) , m (2) , , m (n) )
石
设 X n Y n Zqn , 密钥空间 K 为 1, 2, , n 上全体 置换的集合。对任意明文 m (m1 , m2 , , mn ) X n , k K 密文
油
大
5. 换位密码
东
m k21 (c k1 ) mod q
北
解密变换为
石
设 X Y Z q , k (k1 , k2 ) | k1 Z q , k2 Z q 对任意 m X , k (k1 , k2 ) K 密文 c Ek (m) (k1 k2 m) mod q
北
石
c 2, (2 3) mod 26 5
油
例1.1 明文为China,用Caesar密码求密文 解:China中5个字母分别对应的数字为2、7 8、13、0 所以密文 c (m 3) mod 26
大
学
东
北
石
这是一种置换密码。它利用一个密钥字来构造置 换作为密钥,例如,如果选择cipher作为密钥字, 则标准字头密码体制中的明文字母与密文字母的对 应关系如表1.2.3所示。
东
c Ek (m1 , m2 , , mn ) (m1 k1 , m2 k2 , , mn kn )
北
例1.3 设 m 6 K GOOGLE 明文 BUYYOUTUBE 用Vigenere 密码求密文。 解:密钥GOOGLE 分别对应数字 6,14,14,6,11,4. 明文BUYYOUTUBE分别对应数字 1,20,24,24,14,20,19,20,1,4 根据加密公式得
石
油
大
学
东
北
q 记 ,则 在模 乘 Zq Zq k Z q | gcd(k, q) 1 法运算下构成一个乘法群。其中 gcd(k, q) 1 表示 和 的最大公因子。 k q
石
油
大
设 是一个正整数 ,则在模 Z q 0,1, 2, q 1 q q q 加法和模 乘法运算下构成一个交换环。
解密变换为
模 q 求逆。乘法密码的密钥量为 (q) 。这里 (q) 是小于 q 且与 q 互素的非负整数的个数,称为Euler数。
k 1 是
k
东
北
m k 1c mod q
石
c Ek (m) km mod q
油
大
2. 乘法密码
学
3.仿射密码
加法密码和乘法密码都是仿射密码的特例。仿射密码的密钥量 为 q (q) 。
学
1.2.1 单表古典中的基本加密运算
设 X Y Z q , K Z q ,对任意 m X , k K ,密文
东
显然,加法密码的密钥量为 q 。
Байду номын сангаас
北
c Ek (m) (m k ) mod q
石
油
大
1.加法密码
学
设 X Y=Zq , K Z q ,对任意的 m X , k K 密文
北
对任意 m (m1 , m2 , , mn ) X n , k (k1 , k2 , , kn ) K 密文
石
油
设 X n Y n Z qn , K (k1 , k2 , , kn ) | ki 是Z q上的置换,1 i n
大
4. 简单置换密码
学
换位密码的密钥量为 n !
东
北
石
油
大
学
其中 ci (mi ki ) mod 26, i 1, 2, , n 当密钥的长度比明文短时,密钥可以周期的 重复使用,直至完成明文的每个字母的加密。
东
北
石
Vigenere 体制是多表简单加法密码。 设 明文 m m1m2 mn 密钥 k k1k2 kn 则密文 c Ek c1c2 cn
表 1.2.1 字母与数字的对应关系
东
北
石
油
大
学
1.2.3 几种典型的单表古典密码体制
1.Caesar 体制 Caesar 体制是一种典型的加法密码,其密钥 k 3 表1.2.2给出了明文字母与密文字母对应的关系
东
北
石
油
大
学
分别对应的字母即密文为f,k,l,q,d
东
h 7, (7 3) mod 26 10 i 8, (8 3) mod 26 11 n 13, (13 3) mod 26 16 a 0, (0 3) mod 26 3
北
石
油
设明文 m m1m2 mn 密钥 k k1k2 kn 则密文
其中的加法都是模 q 加法。显然简单加法密码的密钥 量为 q n
东
c Ek (m) (m1 k1 , m2 k2 , , mn kn )
北
密文
石
k (k1 , k2 , , kn ) K
油
大
1. 简单加法密码
学
设
n 其中的乘法都是模 q 乘法,显然 简单乘法密码的密钥量为 (q)
石
K ( k11 , k21 , k12 , k22 , , k1n , k2 n ) | k1i Z q , k2i Z q ,1 i n
油
n X n Y n Zq ,
大
3. 简单仿射密码
学
显然,简单置换密码的密钥量为 (q!)n
东
c Ek (m) (k1 (m1 ), k2 (m2 ), , kn (mn ))
油
例 1.2 明文为 very good ,密钥fivestar,用 Playfair 密码求密文。
大
学
i
v
e b k p y
a r g h n o w x
s c l q z
东
北
(Ⅱ)分组 明文 very good ve ry go qo dq (Ⅲ)加密 ve: 同行所以密文为es ry:对角线所以密文为bx go: 对角线所以密文为hn qo: 同行所以密文为mp dq: 对角线所以密文为lm 即密文为 es bx hn mp lm