第2章 传统密码技术1_1
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课程主要内容
第 1章 第2章 第 3章 第 4章 第5章 第 6章 第 7章 第8章 第 9章 第10章 附录
密码学概述 传统密码技术 分组密码 公钥密码体制 散列函数与消息鉴别 数字签名技术 密钥管理技术 身份鉴别技术 序列密码 密码技术应用
第2章 传统密码技术
本章主要内容
• 替代密码:利用预先设计的替代规则,对明文逐字符或 逐字符组进行替代的密码. 分为单表替代和多表替代 两种 • 置换密码:对各字符或字符组进行位置移动的密码. • 转轮机密码 :利用转轮机进行加解密操作
2
第2章 传统密码技术
2.1.1 替代密码
单表替代密码 一般单表替代密码 移位密码 仿射密码
多表替代密码 弗吉尼亚密码
3
第2章 传统密码技术
2.1.1 单表替代密码
单表替代密码:明文字母表到密文字母表的固定映射 f:A→B, f ( ai )= bj A={a0, a1,…, an-1}为包含了n个字母的明文字母表; B={b0, b1,…, bn-1} 为包含n个字母的密文字母表 一般:f 是一一映射,以保证加密的可逆性。
4
第2章 传统密码技术
2.1.1 单表替代密码(续)
• 一般单表替代密码
明文空间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
5
第2章 传统密码技术
2.1.1 单表替代密码(续)
一般单表替代密码算法特点: 密钥空间K很大,|K|=26!=4×1026 ,破译者穷举搜索计算不可行,1微秒试 一个密钥,遍历全部密钥需要1013 年。 移位密码体制是替换密码体制的一个特例,它仅含26个置换做为密钥空间。 密钥π不便记忆。 针对一般替换密码密钥π不便记忆的问题,又衍生出了各种形式单表替代密 码。 • 移位密码 把26个英文字母与整数0,1,2,…,25一一对应,如表2.1所示。 表2.1 字母数字映射表
6
第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)。 根据其加密函数特 点,移位密码也称为加法密码。
7
第2章 传统密码技术
2.1.1 单表替代密码(续) • 恺撒密码 这是一种对英文字母的典型逐字母加密的的加法密码,其密钥k=3。 英文字母被编码为该字母的序号 英文 A B C D … X Y Z 数字 0 1 2 3 … 23 24 25 • 破译以下密文: –密文:PHHW PH –明文:meet me DIWHO after WKH the SDUWB party
加密变换为:
c E3 (m) (m 3) mod 26, 0 m 25
解密变换为:
m D3 (c) (c 3) mod 26, 0 c 25
返 回
8
第2章 传统密码技术
2.1.1 单表替代密码(续)
仿射密码
• 是替换密码的一个特例 • 加密函数的形式为: • 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)
9
第2章 传统密码技术
2.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)
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
第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。 仿射密码要求gcd(k1, 26)=1 ,否则就会有多个明文字母对应 一个密文字母的情况。由于与26互素的整数有12个,故仿射密码密钥空间大 小为|K|=12×26=312。
若将仿射密码的加密函数换为多项式函数时,即为多项式密码 。
密钥短语密码
选用一个英文短语或单词串作为密钥,去掉其中重复的字母得到一个无 重复字母的字符串,然后再将字母表中的其它字母依次写于此字母串后,就 可构造出一个字母替代表。如密钥为key时,替代表如表2.2所示。
11
第2章 传统密码技术
表2.2 密钥为key的单表替代密码
当选择上面的密钥进行加密时,若明文为“china”,则密文为“yfgmk”
。 显然,不同的密钥可以得到不同的替换表。
2.1.2
多表替代密码
单表替代密码表现出明文中单字母出现的频率分布与密文中相同, 多表替代密码使用从明文字母到密文字母的多个映射来隐藏单字母 出现的频率分布,每个映射是简单替代密码中的一对一映射,多表替 代密码将明文字母划分为长度相同的消息单元,称为明文分组,对 明文成组地进行替代,同一个字母有不同的密文,改变了单表替代 密码中密文的唯一性,使密码分析更加困难。
12
第2章 传统密码技术
2.1.2 多表替代密码(续)
多表替代密码的特点是使用了两个或两个以上的替代表。著名的维吉 尼亚密码和Hill密码等均是多表替代密码。
1.维吉尼亚密码
该密码体制有一个参数n,按n个字母一组进行变换。也是把英文字母 映射为0-25的数字再进行运算,明文空间、密文空间及密钥空间都是长度 为n的英文字母串的集合,因此可表示 P C K Z 26
n
加密变换定义如下:
设密钥 k=(k1,k2,…,kn), 明文m=(m1,m2,…,mn), 加密变换为:
其中ci=(mi + ki)(mod26),i =1,2,…,n Ek(m)=(c1,c2,…,cn), 对密文 c=(c1,c2,…,cn), 解密变换为: Dk(c)=(m1,m2,…,mn), 其中 mi=(ci -ki)(mod26),i =1,2,…,n
13
第2章 传统密码技术
2.1.2 多表替代密码(续) 【例2.4】设密钥k =cipher,明文消息appliedcryptosystem, 试用维吉尼亚密码对其进行加密,然后再进行解密。 解:由密钥k=cipher,得n=6,密钥对应的数字序列为 (2,8, 15,7,4,17)。然后将明文按每6个字母进行分组,并转换这 些明文字母为相应的数字,再用模26加上对应密钥数字,其加 密过程如表2.3所示。
表2.3 密钥为cipher的维吉尼亚密码加密过程
密文为:cxtsmvfkgftkqanzxvo。 解密使用相同的密钥,但用模26的减法代替模26加法,这里 不再赘述。
14
第2章 传统密码技术
替代密码的安全性分析 1. 单表替代的优缺点 优点: 明文字符的形态一般将面目全非 缺点: (A) 明文的位置不变; (B) 明文字符相同,则密文字符也相同; 从而导致: (I) 若明文字符e被加密成密文字符a,则明文中e的出现次数就 是密文中字符a的出现次数; (II) 明文的跟随关系反映在密文之中. 因此,明文字符的统计规律就完全暴露在密文字符的统计规 律之中.形态变但位置不变
15
第2章 传统密码技术
替代密码的安全性分析 2. 多表替代的优缺点 优点: 只要 (1) 多表设计合理,即每行中元互不相同,每列中元互不相同.(这 样的表称为拉丁方表) (2) 密钥序列是随机序列,即具有等概性和独立性。这个多表 代替就是完全保密的。 等概性:每个位置的字符取可能字符的概率相同; 独立性:在其它所有字符都知道时,也判断不出未知的字符 取哪个的概率更大。
16
第2章 传统密码技术
替代密码的安全性分析 2. 多表替代的缺点 密钥序列是随机序列意味着: (1)密钥序列不能周期重复; (2)密钥序列必须与明文序列等长; (3)这些序列必须在通信前分配完毕; (4)大量通信时不实用; (5)分配密钥和存储密钥时安全隐患大。
17
第2章 传统密码技术
2.2 置换密码 ( Permutation/Transposition Cipher ) 置换密码通过改变明文消息各元素的相对位置,但明文消 息元素本身的取值或内容形式不变; 形态不变但位置变。
18
第2章 传统密码技术
2.2 置换密码
• 最简单的例子是栅栏技术:
• 明文:meet me after the party • 写为:m e m a t r h p r y e t e f e t e a t
• 密文:mematrhpry etefeteat
19
第2章 传统密码技术
2.2 置换密码
• 例:设m=6,设置密钥置换P24: • 加密的密钥置换
明文组中的第3个字符 置换到第1位
明文组中的第5个字符 置换到第2位
K = • 3 5 1 6 4 2 • 解密的密钥置换 K-1 = • 3 6 1 5 2 4
密文的第3个字符置换 到第1位, 密文的第6个字符置换 到第2位,
20
第2章 传统密码技术
2.2 置换密码
• 对明文cryptography进行加密,首先将明文分成6个字母 长的明文组:crypto|graphy; • 然后将每个明文组按密钥置换K重新排列:
加密的密 K = 钥置换
• 1 2 3 4 5 6 • 3 5 1 6 4 2
= YTCOPR
(crypto)K (graphy)K
• c r y p t o = • y t c o p r • g r a p h y = • a h g y p r
= AHGYPR
21
第2章 传统密码技术
2.2 置换密码
• 对密文YTCOPRAHGYPR进行解密,首先将密文分成6个 字母长的明文组:YTCOPR|AHGYPR; • 然后将每个密文组按密钥置换K-1重新排列:
第 1章 第2章 第 3章 第 4章 第5章 第 6章 第 7章 第8章 第 9章 第10章 附录
密码学概述 传统密码技术 分组密码 公钥密码体制 散列函数与消息鉴别 数字签名技术 密钥管理技术 身份鉴别技术 序列密码 密码技术应用
第2章 传统密码技术
本章主要内容
• 替代密码:利用预先设计的替代规则,对明文逐字符或 逐字符组进行替代的密码. 分为单表替代和多表替代 两种 • 置换密码:对各字符或字符组进行位置移动的密码. • 转轮机密码 :利用转轮机进行加解密操作
2
第2章 传统密码技术
2.1.1 替代密码
单表替代密码 一般单表替代密码 移位密码 仿射密码
多表替代密码 弗吉尼亚密码
3
第2章 传统密码技术
2.1.1 单表替代密码
单表替代密码:明文字母表到密文字母表的固定映射 f:A→B, f ( ai )= bj A={a0, a1,…, an-1}为包含了n个字母的明文字母表; B={b0, b1,…, bn-1} 为包含n个字母的密文字母表 一般:f 是一一映射,以保证加密的可逆性。
4
第2章 传统密码技术
2.1.1 单表替代密码(续)
• 一般单表替代密码
明文空间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
5
第2章 传统密码技术
2.1.1 单表替代密码(续)
一般单表替代密码算法特点: 密钥空间K很大,|K|=26!=4×1026 ,破译者穷举搜索计算不可行,1微秒试 一个密钥,遍历全部密钥需要1013 年。 移位密码体制是替换密码体制的一个特例,它仅含26个置换做为密钥空间。 密钥π不便记忆。 针对一般替换密码密钥π不便记忆的问题,又衍生出了各种形式单表替代密 码。 • 移位密码 把26个英文字母与整数0,1,2,…,25一一对应,如表2.1所示。 表2.1 字母数字映射表
6
第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)。 根据其加密函数特 点,移位密码也称为加法密码。
7
第2章 传统密码技术
2.1.1 单表替代密码(续) • 恺撒密码 这是一种对英文字母的典型逐字母加密的的加法密码,其密钥k=3。 英文字母被编码为该字母的序号 英文 A B C D … X Y Z 数字 0 1 2 3 … 23 24 25 • 破译以下密文: –密文:PHHW PH –明文:meet me DIWHO after WKH the SDUWB party
加密变换为:
c E3 (m) (m 3) mod 26, 0 m 25
解密变换为:
m D3 (c) (c 3) mod 26, 0 c 25
返 回
8
第2章 传统密码技术
2.1.1 单表替代密码(续)
仿射密码
• 是替换密码的一个特例 • 加密函数的形式为: • 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)
9
第2章 传统密码技术
2.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)
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
第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。 仿射密码要求gcd(k1, 26)=1 ,否则就会有多个明文字母对应 一个密文字母的情况。由于与26互素的整数有12个,故仿射密码密钥空间大 小为|K|=12×26=312。
若将仿射密码的加密函数换为多项式函数时,即为多项式密码 。
密钥短语密码
选用一个英文短语或单词串作为密钥,去掉其中重复的字母得到一个无 重复字母的字符串,然后再将字母表中的其它字母依次写于此字母串后,就 可构造出一个字母替代表。如密钥为key时,替代表如表2.2所示。
11
第2章 传统密码技术
表2.2 密钥为key的单表替代密码
当选择上面的密钥进行加密时,若明文为“china”,则密文为“yfgmk”
。 显然,不同的密钥可以得到不同的替换表。
2.1.2
多表替代密码
单表替代密码表现出明文中单字母出现的频率分布与密文中相同, 多表替代密码使用从明文字母到密文字母的多个映射来隐藏单字母 出现的频率分布,每个映射是简单替代密码中的一对一映射,多表替 代密码将明文字母划分为长度相同的消息单元,称为明文分组,对 明文成组地进行替代,同一个字母有不同的密文,改变了单表替代 密码中密文的唯一性,使密码分析更加困难。
12
第2章 传统密码技术
2.1.2 多表替代密码(续)
多表替代密码的特点是使用了两个或两个以上的替代表。著名的维吉 尼亚密码和Hill密码等均是多表替代密码。
1.维吉尼亚密码
该密码体制有一个参数n,按n个字母一组进行变换。也是把英文字母 映射为0-25的数字再进行运算,明文空间、密文空间及密钥空间都是长度 为n的英文字母串的集合,因此可表示 P C K Z 26
n
加密变换定义如下:
设密钥 k=(k1,k2,…,kn), 明文m=(m1,m2,…,mn), 加密变换为:
其中ci=(mi + ki)(mod26),i =1,2,…,n Ek(m)=(c1,c2,…,cn), 对密文 c=(c1,c2,…,cn), 解密变换为: Dk(c)=(m1,m2,…,mn), 其中 mi=(ci -ki)(mod26),i =1,2,…,n
13
第2章 传统密码技术
2.1.2 多表替代密码(续) 【例2.4】设密钥k =cipher,明文消息appliedcryptosystem, 试用维吉尼亚密码对其进行加密,然后再进行解密。 解:由密钥k=cipher,得n=6,密钥对应的数字序列为 (2,8, 15,7,4,17)。然后将明文按每6个字母进行分组,并转换这 些明文字母为相应的数字,再用模26加上对应密钥数字,其加 密过程如表2.3所示。
表2.3 密钥为cipher的维吉尼亚密码加密过程
密文为:cxtsmvfkgftkqanzxvo。 解密使用相同的密钥,但用模26的减法代替模26加法,这里 不再赘述。
14
第2章 传统密码技术
替代密码的安全性分析 1. 单表替代的优缺点 优点: 明文字符的形态一般将面目全非 缺点: (A) 明文的位置不变; (B) 明文字符相同,则密文字符也相同; 从而导致: (I) 若明文字符e被加密成密文字符a,则明文中e的出现次数就 是密文中字符a的出现次数; (II) 明文的跟随关系反映在密文之中. 因此,明文字符的统计规律就完全暴露在密文字符的统计规 律之中.形态变但位置不变
15
第2章 传统密码技术
替代密码的安全性分析 2. 多表替代的优缺点 优点: 只要 (1) 多表设计合理,即每行中元互不相同,每列中元互不相同.(这 样的表称为拉丁方表) (2) 密钥序列是随机序列,即具有等概性和独立性。这个多表 代替就是完全保密的。 等概性:每个位置的字符取可能字符的概率相同; 独立性:在其它所有字符都知道时,也判断不出未知的字符 取哪个的概率更大。
16
第2章 传统密码技术
替代密码的安全性分析 2. 多表替代的缺点 密钥序列是随机序列意味着: (1)密钥序列不能周期重复; (2)密钥序列必须与明文序列等长; (3)这些序列必须在通信前分配完毕; (4)大量通信时不实用; (5)分配密钥和存储密钥时安全隐患大。
17
第2章 传统密码技术
2.2 置换密码 ( Permutation/Transposition Cipher ) 置换密码通过改变明文消息各元素的相对位置,但明文消 息元素本身的取值或内容形式不变; 形态不变但位置变。
18
第2章 传统密码技术
2.2 置换密码
• 最简单的例子是栅栏技术:
• 明文:meet me after the party • 写为:m e m a t r h p r y e t e f e t e a t
• 密文:mematrhpry etefeteat
19
第2章 传统密码技术
2.2 置换密码
• 例:设m=6,设置密钥置换P24: • 加密的密钥置换
明文组中的第3个字符 置换到第1位
明文组中的第5个字符 置换到第2位
K = • 3 5 1 6 4 2 • 解密的密钥置换 K-1 = • 3 6 1 5 2 4
密文的第3个字符置换 到第1位, 密文的第6个字符置换 到第2位,
20
第2章 传统密码技术
2.2 置换密码
• 对明文cryptography进行加密,首先将明文分成6个字母 长的明文组:crypto|graphy; • 然后将每个明文组按密钥置换K重新排列:
加密的密 K = 钥置换
• 1 2 3 4 5 6 • 3 5 1 6 4 2
= YTCOPR
(crypto)K (graphy)K
• c r y p t o = • y t c o p r • g r a p h y = • a h g y p r
= AHGYPR
21
第2章 传统密码技术
2.2 置换密码
• 对密文YTCOPRAHGYPR进行解密,首先将密文分成6个 字母长的明文组:YTCOPR|AHGYPR; • 然后将每个密文组按密钥置换K-1重新排列: