当前位置:文档之家› 应用密码学之古典密码

应用密码学之古典密码

设 X n = Yn = Zn q,
K = {(< k11 , k 21 > , < k12 , k 22 > ,L , < k1n , k 2 n >) | k1i ∈ Zq , k 2i ∈ Z∗ q ,1 ≤ i ≤ n}.
对任意的 m = ( m 1 , m 2 ,L , m n ) ∈ X n ,
k = σ ∈ K ,密文
c = E k ( m) = σ ( m ).
显然仿射密码是置换密 码的特例 .置换密码的密钥量为 q!.
2.1.2 多表古典密码中的基本加密运算
1. 简单加法密码
n n 设 X n = Yn = Zn q , K = Z q . 对任意的 m = ( m1 , m 2 ,L , m n ) ∈ X ,
c = E k (m) = (k 1 (m1), k 2 (m2),L , k n (mn ))
显然,简单置换密码的密钥量为 (q! )n .
5. 换位密码 5. 换位密码
设 X n = Yn = Zn 密钥空间 K 为{1, 2, L,n }上的全体置换的集合 .对任意明文 q,
m = (m1 , m2 ,L , mn) ∈ X n , k = σ ∈ K ,密文
例: 试加密 caesarcode.
2.2.1 几种典型的单表古典密码体制
明 a b c d e f g h i j k l mn o p 文 字 母 密 d e f g h i j k l mn o p q r s 文 字 母 q r s t u v w x y z
t u v
w x
y z
a b c
例2.1 设密钥矩阵
⎛c ⎜ ⎜r p =⎜g ⎜ ⎜o ⎜v ⎝ i a k q w p b l s x h d m t y e⎞ ⎟ f⎟ n⎟ ⎟ u⎟ z⎟ ⎠
Playfair体制
明文 Playfair cipher was actually invented by wheatstone. 将明文分组为 pl ay fa ir ci ph er wa sa ct ua lq ly in ve nt ed ts to ne 则密文为 bs dw rb ca ip he cf ik qb ho qf ks mx ek zc mu hf dx yi if ut uq uf
4. 简单置换密码
4. 简单置换密码
设 X n = Yn = Zn 1 ≤ i ≤ n}. q , K = {( k 1 , k 2 ,L , k n ) | k i 是 Z q 上的置换,
对任意的 m = ( m1 , m 2 ,L , m n ) ∈ X n , k = ( k 1 , k 2 ,L k n ) ∈ K ,密文
明 a b c d e f g h i j k l mn o 文 字 母 p q r s t u v w x y z
密 c i p h e r a b d f g j k l m n o q s 文 字 母
t
u v
w x
y
z
注意:要将密钥字内的重字母、空格及标点符号忽略。
例1
明 a b c d e f g h i j k l mn o 文 字 母 p q r s t u v w x y z
密文
c = E k (m) = (k1 + k 2 m) mod q.
解密变换为
1 m = k− 2 (c − k 1) mod q
显然,加法密码和乘法密码都是仿射密码的特例.仿射密码的
密钥量为qϕ (q).
4. 置换密码
4. 置换密码
设X = Y = Z q , K为 z q 上全体置换的集合. 对任意的m ∈ X ,
1. Playfair体制
Playfair体制的密钥是一个 5 × 5 的矩阵P = ( pij )5×5 .构造方法如下: (1)构造字母表{a,b,c,d,e,f,g,h,i,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z} 的一个置换.这里将j当作i,实际只有25个字母. (2)将所得置换按行排列成一个 5 × 5 的矩阵P = ( pij )5×5 用playfair体制对明文字母串进行加密时,首先在明文字母串的适 当位置插入一些特定的字母,譬如字母q,使得明文字母串的长度为偶 数,并且将明文的字母串案两个字母一组进行分组,每组中的两个 字母不同.对任意的明文字母对m1 m2 ,设它们对应的密文对为 c1 c 2
m = k −1 c mod q
显然,乘法密码的密钥量为ϕ (q ).
k
−1
是 k 的 mod q 乘法逆, 即 k −1 k = 1 mod q, 求逆算法见5.2.4.
3. 仿射密码
3. 仿射密码
设X = Y = Z q , K = {( k1 , k 2) | k1 ∈ z q , k 2 ∈ z* 对任意m ∈ X , k = (k1 , k 2) ∈ K , q}.
密 c i p h e r a b d f g j k l m n o q s 文 字 母
t
u v
w x
y
z
用此密表对shaanxi normal university 加密. 解密 Wejpmke. 例2. 假设密钥字为information security,构造对应的密 表.
2.2.2 几种典型的多表古典密码体制
2.1古典密码中的基本加密运算

பைடு நூலகம்
定义
对于一个密码体制,如果明文字母对应的密文字母在密文中保 持不变,则称其为单表密码体制;如果明文中不同位置的同一明文 字母在密文中对应的密文字母不同,则称其为多表密码体制.
2.1.1 单表古典密码中的基本加密算法
1. 加法密码
设X = Y = Z q , K = Z q . 对任意的m ∈ X,k ∈ K,密文
c = E k ( m) = ( m + k ) mod q
显然,加法密码的密钥量为q.
解密变换为
m = Dk (c) = (c − k ) mod q
2. 乘法密码
2. 乘法密码
设X = Y = Z q , K = Z ∗ q . 对任意的 m ∈ X,k ∈ K,密文
解密变换为:
c = E k ( m ) = km modq
例: 试加密 caesarcode. 解密: kdssbeluwkgdb.
2 标准字头密码体制 2. 标准字头密码体制
这是一种置换密码.它利用一个密钥字来构造置换作为密钥.譬如, 如果选择cipher作为密钥字,则标准字头密码体制中的明文字母与密 文字母的对应关系为表2.3所示.(有时也称密钥字密码体制) 表2.3
m = ( m1 , m2 ,L , mn ) ∈ X n , k = (k 1 , k 2 ,L , k n) ∈ K ,密文
c = E k (m) = (m1 k 1 , m2 k 2 , K , mn k n )
其中的乘法都是模q乘法.显然,简单乘法密码的密钥量为ϕ ( q ) .
n
3. 简单仿射密码 3. 简单仿射密码
加密方法如下:
Playfair体制其实是由英国著名科学家 Charles Wheatstone(惠斯通电桥的设计者) 发明的. 名字取自于率先发起使用此密码体 制的Lione Playfair.
2.2.2 几种典型的多表古典密码体制
1. Playfair体制
Playfair体制的密钥是一个 5 × 5 的矩阵P = ( pij )5×5 .构造方法如下: (1)构造字母表{a,b,c,d,e,f,g,h,i,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z} 的一个置换.这里将j当作i,实际只有25个字母. (2)将所得置换按行排列成一个 5 × 5 的矩阵P = ( pij )5×5 用playfair体制对明文字母串进行加密时,首先在明文字母串的适 当位置插入一些特定的字母,譬如字母q,使得明文字母串的长度为偶 数,并且将明文的字母串案两个字母一组进行分组,每组中的两个 字母不同.对任意的明文字母对m1 m2 ,设它们对应的密文对为 c1 c 2
加密方法如下:
Playfair体制
(1)如果 m1和 m2在P中的同一行,则密文 c1 和 c 2为紧靠 m1 和 m2 右 端的字母.这里将第一列看作最后一列的右端. (2)如果 m1和 m2在P中的同一列,则密文 c1 和 c 2为紧靠 m1 和 m2 下 方的字母.这里将第一行看作最后一行的下端. (3)如果 m1和 m2 既不在P的同一行又不在同一列,则密文 c1 和 c 2 分别为 m1 和 m2 确定的矩形的其他两个角上的字母. c1 和 m1 在同一行,c 2 和 m2 在同一行.
如何解密?请写出解密方法。
2. Vigenere体制
2. Vigenere体制
0 1 2 3 4 5 6 7 8
j k l m n o p q r
9 10 11 12 13 14 15 16 17
s t u v w x y z
18 19 20 21 22 23 24 25
2.2.1 几种典型的单表古典密码体制
1. Caesar体制
Caesar体制是一种典型的加法密码,其密钥 k = 3. 表2.2给出了 该体制的明文字母和密文字母的对应关系. 表2.2
c = E k (m) = σ (m).
显然,广义置换密码的密钥量为(q n)!
7. 广义仿射密码 7. 广义仿射密码
设 X n = Yn = Zn K = {(α , H ) | α ∈ Z n q, q , H 为 Z q 上的阶为 n 的可逆方阵 }
对任意的 m = ( m1 , m 2 , L , m n ) ∈ X n , k = (α , H ) ∈ K , 密文
相关主题