1.2 古典密码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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
相关文档
最新文档