古典密码中的基本加密运算、体制单表和统计分析
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
明 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
3.
表2.2给出了
u v
w x
y
z
t u v
w x
y
z
a b c
**凯撒密码是一种非常古老的加密方法,相传当年凯撒大地行军打仗时为了保证自己 的命令不被敌军知道,就使用这种特殊的方法进行通信,以确保信息传递的安全。
加密方法如下:
Playfair体制其实是由英国著名科学家Charles Wheatstone(惠斯通电桥的设计者)发明的. 名 字取自于率先发起使用此密码体制的Lione Playfair.
2.2.2 几种典型的多表古典密码体制
1. Playfair体制
Playfair体制的密钥是一个 5 5 的矩阵 P ( p ij ) 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 ( p ij ) 5 5 用playfair体制对明文字母串进行加密时,首先在明文字母串的适 当位置插入一些特定的字母,譬如字母q,使得明文字母串的长度为偶 数,并且将明文的字母串案两个字母一组进行分组,每组中的两个 字母不同.对任意的明文字母对m 1 m 2 ,设它们对应的密文对为 c 1 c 2
4. 置换密码
4. 置换密码
设 X Y Z q ,K为 . 对任意的 m X ,
z
q
上全体置换的集合
k K , 密文
c E k (m ) (m ).
显然仿射密码是置换密 码的特例 .置换密码的密钥量为 q !.
2.1.2 多表古典密码中的基本加密运算
1. 简单加法密码
t
u v
w x
y
z
用此密表对shaanxi normal university 加密. 解密
Wejpmke.
例2. 假设密钥字为information security,构造对应的密 表.
2.2.2 几种典型的多表古典密码体制
1. Playfair体制
Playfair体制的密钥是一个 5 5 的矩阵 P ( p ij ) 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 ( p ij ) 5 5 用playfair体制对明文字母串进行加密时,首先在明文字母串的适 当位置插入一些特定的字母,譬如字母q,使得明文字母串的长度为偶 数,并且将明文的字母串案两个字母一组进行分组,每组中的两个 字母不同.对任意的明文字母对m 1 m 2 ,设它们对应的密文对为 c 1 c 2
m X,k K, 密文
c E k ( m ) ( m k ) mod q
显然,加法密码的密钥
量为 q .
解密变换为
m D k ( c ) ( c k ) mod q
2. 乘法密码
2. 乘法密码
设 X Y Z q , K Z . 对任意的 q
m X,k K, 密文
对任意 m X , k ( k 1 , k 2 ) K ,
密文
c E k ( m ) ( k 1 k 2 m ) mod q .
解密变换为
m k 1 ( c k 1) mod q 2
显然 , 加法密码和乘法密码都
密钥量为 q ( q ).
是仿射密码的特例
.仿射密码的
例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
设 X
n
Y n Z n , K Z n . 对任意的 q q
m ( m 1 , m 2 , , m n ) X n ,
k ( k 1 , k 2 , , k n ) K , 密文
c E k (m ) (m1 k 1 , m 2 k 2 , , m n k n)
第二章 古典密码
第二章 古典密码
•2.1 古典密码中的基本加密运算 2.1.1 单表古典密码中的基本加密算法 2.1.2 多表古典密码中的基本加密运算
•2.2 几种典型的古典密码体制
2.2.1 几种典型的单表古典密码体制 2.2.2 几种典型的多表古典密码体制 •2.3 古典密码的统计分析 2.3.1 单表古典密码的统计分析 2.3.2 多表古典密码的统计分析
例: 试加密 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
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 该体制的明文字母和密文字母的对应关系. 表2.2
对任意的
m ( m 1 , m 2 , , m n ) X
n
,
k ( k 11 , k 21 , k 12 , k 22 , , k 1 n , k 2 n ) K ,
密文
c E k ( m ) ( k 11 k 21 m 1 , k 12 k 22 m 2 , , k 1n k 2 n m n )
解密变换为:
c E k ( m ) km mod q
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 {( k 1 , k 2 ) | k 1 z q , k 2 z * }. q
加密方法如下:
Playfair体制
(1)如果 m 1和 m 2在P中的同一行,则密文 c 1 和 c 2 为紧靠 m 1 和 m 2 右 端的字母.这里将第一列看作最后一列的右端. (2)如果 m 1和 m 2在P中的同一列,则密文 c 1 和 c 2 为紧靠 m 1 和 m 2 下 方的字母.这里将第一行看作最后一行的下端. (3)如果 m 1和 m 2 既不在P的同一行又不在同一列,则密文 c 1 和 c 2 分别为 m 1 和 m 2 确定的矩形的其他两个角上的字母. c 1 和 m 1 在同一行,c 2 和 m 2 在同一行.
c E k ( m ) ( m (1) , m (2) , , m ( n ) ).
显然,换位密码的密钥
量为
n!.
6. 广义置换密码
6. 广义置换密码
设 X
n
Yn Zn, q
.对任意的 m X n , k K , 密文
K 为 Z n 上的全体置换的集合 q
c E k ( m ) ( m ).
显然,广义置换密码的 密钥量为 ( q )!
n
7. 广义仿射密码
7. 广义仿射密码
设 X
n
Yn Zn, q
K {( , H ) | Z n , H 为 Z q 上的阶为 q
n 的可逆方阵
}
对任意的
m ( m 1 , m 2 , , m n ) X n , k ( , H ) K , 密文
例: 试加密 caesarcode. 解密: kdssbeluwkgdb.
明 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
2. 标准字头密码体制
密 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 这是一种置换密码.它利用一个密钥字来构造置换作为密钥.譬如, 文 字 如果选择cipher作为密钥字,则标准字头密码体制中的明文字母与密 母
文字母的对应关系为表2.3所示.(有时也称密钥字密码体制) 表2.3
注意:要将密钥字内的重字母、空格及标点符号忽略。
例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 i p h e r a b d f g j k l m n o q s 文 字 母
c E k ( m ) mH
其中的运算都是模 q的. 显然,广义仿射密码的 密钥量为 q r n , 其中 r n 为
n
Z q 上的不同的
n 阶可逆方阵的个数
.
2.2 几种典型的古典密码体制
下表给出了字母和数字的对应关系
字母 数字 字母 数字 字母 数字
a b c d e f g h i
c E k ( m ) ( k 1 ( m 1), k 2 ( m 2 ), , k n ( m n ))
显然,简单置换密码的
密钥量为
(q! ) .
n
5. 换位密码
5. 换位密码
设 X
n
Yn Zn, q
密钥空间 K 为 {1, , ,n }上的全体置换的集合 2
.对任意明文
m ( m 1 , m 2 , , m n ) X n , k K , 密文
其中的加法都是模
q 加法 .显然,简单加法密码的
密钥量为
q .
n
解密变换是什么
2. 简单乘法密码
2. 简单乘法密码
设 X
n
Yn Zn, q
K {( k 1 , k 2 , , k n | k i z * ,1 i n } . 对任意 q
m ( m 1 , m 2 , , m n ) X n , k ( k 1 , k 2 , , k n ) K , 密文
其中的加法和乘法都是
模 q 的 .显然,它的密钥量为
q ( q ).
n
n
4. 简单置换密码
4. 简单置换密码
设 X
n
ห้องสมุดไป่ตู้
Y n Z n , K {( k 1 , k 2 , , k n ) | k i 是 Z q 上的置换, 1 i n }. q
对任意的 m ( m 1 , m 2 , , m n ) X n , k ( k 1 , k 2 , k n ) K , 密文
c E k (m ) (m1 k 1 , m 2 k 2 , , m n k n)
其中的乘法都是模
q 乘法 .显然,简单乘法密码的
密钥量为 ( q ) .
n
3. 简单仿射密码
3. 简单仿射密码
设 X
n
Yn Zn, q
K {( k 11 , k 21 , k 12 , k 22 , , k 1 n , k 2 n ) | k 1 i Z q , k 2 i Z ,1 i n }. q
2.1古典密码中的基本加密运算
定义
对于一个密码体制,如果明文字母对应的密文字母在密文中保 持不变,则称其为单表密码体制;如果明文中不同位置的同一明文 字母在密文中对应的密文字母不同,则称其为多表密码体制.
2.1.1 单表古典密码中的基本加密算法
1. 加法密码
设 X Y Z q , K Z q . 对任意的
3.
表2.2给出了
u v
w x
y
z
t u v
w x
y
z
a b c
**凯撒密码是一种非常古老的加密方法,相传当年凯撒大地行军打仗时为了保证自己 的命令不被敌军知道,就使用这种特殊的方法进行通信,以确保信息传递的安全。
加密方法如下:
Playfair体制其实是由英国著名科学家Charles Wheatstone(惠斯通电桥的设计者)发明的. 名 字取自于率先发起使用此密码体制的Lione Playfair.
2.2.2 几种典型的多表古典密码体制
1. Playfair体制
Playfair体制的密钥是一个 5 5 的矩阵 P ( p ij ) 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 ( p ij ) 5 5 用playfair体制对明文字母串进行加密时,首先在明文字母串的适 当位置插入一些特定的字母,譬如字母q,使得明文字母串的长度为偶 数,并且将明文的字母串案两个字母一组进行分组,每组中的两个 字母不同.对任意的明文字母对m 1 m 2 ,设它们对应的密文对为 c 1 c 2
4. 置换密码
4. 置换密码
设 X Y Z q ,K为 . 对任意的 m X ,
z
q
上全体置换的集合
k K , 密文
c E k (m ) (m ).
显然仿射密码是置换密 码的特例 .置换密码的密钥量为 q !.
2.1.2 多表古典密码中的基本加密运算
1. 简单加法密码
t
u v
w x
y
z
用此密表对shaanxi normal university 加密. 解密
Wejpmke.
例2. 假设密钥字为information security,构造对应的密 表.
2.2.2 几种典型的多表古典密码体制
1. Playfair体制
Playfair体制的密钥是一个 5 5 的矩阵 P ( p ij ) 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 ( p ij ) 5 5 用playfair体制对明文字母串进行加密时,首先在明文字母串的适 当位置插入一些特定的字母,譬如字母q,使得明文字母串的长度为偶 数,并且将明文的字母串案两个字母一组进行分组,每组中的两个 字母不同.对任意的明文字母对m 1 m 2 ,设它们对应的密文对为 c 1 c 2
m X,k K, 密文
c E k ( m ) ( m k ) mod q
显然,加法密码的密钥
量为 q .
解密变换为
m D k ( c ) ( c k ) mod q
2. 乘法密码
2. 乘法密码
设 X Y Z q , K Z . 对任意的 q
m X,k K, 密文
对任意 m X , k ( k 1 , k 2 ) K ,
密文
c E k ( m ) ( k 1 k 2 m ) mod q .
解密变换为
m k 1 ( c k 1) mod q 2
显然 , 加法密码和乘法密码都
密钥量为 q ( q ).
是仿射密码的特例
.仿射密码的
例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
设 X
n
Y n Z n , K Z n . 对任意的 q q
m ( m 1 , m 2 , , m n ) X n ,
k ( k 1 , k 2 , , k n ) K , 密文
c E k (m ) (m1 k 1 , m 2 k 2 , , m n k n)
第二章 古典密码
第二章 古典密码
•2.1 古典密码中的基本加密运算 2.1.1 单表古典密码中的基本加密算法 2.1.2 多表古典密码中的基本加密运算
•2.2 几种典型的古典密码体制
2.2.1 几种典型的单表古典密码体制 2.2.2 几种典型的多表古典密码体制 •2.3 古典密码的统计分析 2.3.1 单表古典密码的统计分析 2.3.2 多表古典密码的统计分析
例: 试加密 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
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 该体制的明文字母和密文字母的对应关系. 表2.2
对任意的
m ( m 1 , m 2 , , m n ) X
n
,
k ( k 11 , k 21 , k 12 , k 22 , , k 1 n , k 2 n ) K ,
密文
c E k ( m ) ( k 11 k 21 m 1 , k 12 k 22 m 2 , , k 1n k 2 n m n )
解密变换为:
c E k ( m ) km mod q
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 {( k 1 , k 2 ) | k 1 z q , k 2 z * }. q
加密方法如下:
Playfair体制
(1)如果 m 1和 m 2在P中的同一行,则密文 c 1 和 c 2 为紧靠 m 1 和 m 2 右 端的字母.这里将第一列看作最后一列的右端. (2)如果 m 1和 m 2在P中的同一列,则密文 c 1 和 c 2 为紧靠 m 1 和 m 2 下 方的字母.这里将第一行看作最后一行的下端. (3)如果 m 1和 m 2 既不在P的同一行又不在同一列,则密文 c 1 和 c 2 分别为 m 1 和 m 2 确定的矩形的其他两个角上的字母. c 1 和 m 1 在同一行,c 2 和 m 2 在同一行.
c E k ( m ) ( m (1) , m (2) , , m ( n ) ).
显然,换位密码的密钥
量为
n!.
6. 广义置换密码
6. 广义置换密码
设 X
n
Yn Zn, q
.对任意的 m X n , k K , 密文
K 为 Z n 上的全体置换的集合 q
c E k ( m ) ( m ).
显然,广义置换密码的 密钥量为 ( q )!
n
7. 广义仿射密码
7. 广义仿射密码
设 X
n
Yn Zn, q
K {( , H ) | Z n , H 为 Z q 上的阶为 q
n 的可逆方阵
}
对任意的
m ( m 1 , m 2 , , m n ) X n , k ( , H ) K , 密文
例: 试加密 caesarcode. 解密: kdssbeluwkgdb.
明 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
2. 标准字头密码体制
密 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 这是一种置换密码.它利用一个密钥字来构造置换作为密钥.譬如, 文 字 如果选择cipher作为密钥字,则标准字头密码体制中的明文字母与密 母
文字母的对应关系为表2.3所示.(有时也称密钥字密码体制) 表2.3
注意:要将密钥字内的重字母、空格及标点符号忽略。
例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 i p h e r a b d f g j k l m n o q s 文 字 母
c E k ( m ) mH
其中的运算都是模 q的. 显然,广义仿射密码的 密钥量为 q r n , 其中 r n 为
n
Z q 上的不同的
n 阶可逆方阵的个数
.
2.2 几种典型的古典密码体制
下表给出了字母和数字的对应关系
字母 数字 字母 数字 字母 数字
a b c d e f g h i
c E k ( m ) ( k 1 ( m 1), k 2 ( m 2 ), , k n ( m n ))
显然,简单置换密码的
密钥量为
(q! ) .
n
5. 换位密码
5. 换位密码
设 X
n
Yn Zn, q
密钥空间 K 为 {1, , ,n }上的全体置换的集合 2
.对任意明文
m ( m 1 , m 2 , , m n ) X n , k K , 密文
其中的加法都是模
q 加法 .显然,简单加法密码的
密钥量为
q .
n
解密变换是什么
2. 简单乘法密码
2. 简单乘法密码
设 X
n
Yn Zn, q
K {( k 1 , k 2 , , k n | k i z * ,1 i n } . 对任意 q
m ( m 1 , m 2 , , m n ) X n , k ( k 1 , k 2 , , k n ) K , 密文
其中的加法和乘法都是
模 q 的 .显然,它的密钥量为
q ( q ).
n
n
4. 简单置换密码
4. 简单置换密码
设 X
n
ห้องสมุดไป่ตู้
Y n Z n , K {( k 1 , k 2 , , k n ) | k i 是 Z q 上的置换, 1 i n }. q
对任意的 m ( m 1 , m 2 , , m n ) X n , k ( k 1 , k 2 , k n ) K , 密文
c E k (m ) (m1 k 1 , m 2 k 2 , , m n k n)
其中的乘法都是模
q 乘法 .显然,简单乘法密码的
密钥量为 ( q ) .
n
3. 简单仿射密码
3. 简单仿射密码
设 X
n
Yn Zn, q
K {( k 11 , k 21 , k 12 , k 22 , , k 1 n , k 2 n ) | k 1 i Z q , k 2 i Z ,1 i n }. q
2.1古典密码中的基本加密运算
定义
对于一个密码体制,如果明文字母对应的密文字母在密文中保 持不变,则称其为单表密码体制;如果明文中不同位置的同一明文 字母在密文中对应的密文字母不同,则称其为多表密码体制.
2.1.1 单表古典密码中的基本加密算法
1. 加法密码
设 X Y Z q , K Z q . 对任意的