第二讲 密码学基础 古典密码学
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Page 1
密码学的起源和发展
密码学有着悠久而神秘的历史,人们很难对密码学的起始时间给出准确的 定义。
三个阶段:
- 1949年之前密码学是一门艺术 年之前密码学是一门艺术 - 1949~1975年密码学成为科学 ~ 年密码学成为科学 - 1976年以后密码学的新方向 年以后密码学的新方向——公钥密码学 年以后密码学的新方向 公钥密码学
3
阶段—从古代到1949年 第1阶段 从古代到1949年 阶段 从古代到1949 -隐写术(公元前440年出现在古希腊战争中
)。
- 当时为了安全传送军事情报,奴隶主剃光奴隶的头 发,将情报写在奴隶的光头上,待头发长长后将奴 隶送到另一个部落,再次剃光头发,原有的信息复 现出来,从而实现这两个部落之间的秘密通信。
x = 19 × (16 − 3) mod 26 = 13
32
6 置换密码 通过重新排列消息中元素的位置而不改变元素本身的方式,对一个 消息进行变换。这种加密机制称为置换密码(也称为换位密码)。
定义1.2.6 置换密码体 定义 制 m M 令 m ≥ 2 是一个正整数, = C = ( Z 26 ) K是 K Z m = {1, 2,L , m}上所有可能置换构成的集合。对任意的 ( x1 , x2 ,L , xm ) ∈ M
- 到了20世纪20年代,随着机械和机电技术的成熟, 以及电报和无线电需求的出现,引起了密码设备方 面的一场革命——发明了转轮密码机(简称转轮机 ,Rotor),转轮机的出现是密码学发展的重要标志 之一。
7
20世纪早期密码机 20世纪早期密码机
来自百度文库
8
关于二战的密码小插曲
美国在1942年制造出了世界上第一台计算机 年制造出了世界上第一台计算机. 美国在 年制造出了世界上第一台计算机 二战期间,日本采用的最高级别的加密手段是采用 二战期间 日本采用的最高级别的加密手段是采用 M-209转轮机械加密改进型 紫密 在手工计算的 转轮机械加密改进型—紫密 转轮机械加密改进型 紫密,在手工计算的 情况下不可能在有限的时间破解,美国利用计算机 情况下不可能在有限的时间破解 美国利用计算机 轻松地破译了日本的紫密密码,使日本在中途岛海 轻松地破译了日本的紫密密码 使日本在中途岛海 战中一败涂地,日本海军的主力损失殆尽.( 战中一败涂地 日本海军的主力损失殆尽 (现代计 算机每秒可执行万亿次) 算机每秒可执行万亿次) 1943年,在获悉山本五十六将于 月18日乘中型轰 年 在获悉山本五十六将于 在获悉山本五十六将于4月 日乘中型轰 炸机, 架战斗机护航, 炸机,由6架战斗机护航,到中途岛视察时 罗斯 架战斗机护航 到中途岛视察时,罗斯 福总统亲自做出决定截击山本,山本乘坐的飞机在 福总统亲自做出决定截击山本 山本乘坐的飞机在 去往中途岛的路上被美军击毁,山本坠机身亡 山本坠机身亡,日本 去往中途岛的路上被美军击毁 山本坠机身亡 日本 海军从此一蹶不振.密码学的发展直接影响了二战 海军从此一蹶不振 密码学的发展直接影响了二战 9 的战局! 的战局
14
1.1 密码学的基本概念
密码学的基本目的是面对攻击者Oscar,在被称 , 密码学的基本目的是面对攻击者 为Alice和Bob的通信双方之间应用不安全的信道 和 的通信双方之间应用不安全的信道 进行通信时,保证通信安全。 进行通信时,保证通信安全。
Alice Bob
密文 明文
明文
Oscar
15
16
1.1 密码学的基本概念
Alice
Bob
明文
密文
明文
加密密匙
保密通信的一般机制
解密密匙
17
1.1 密码学的基本概念
密码体制的分类
对称密匙密码系统 加密密钥=解密密钥 Symmetric Key Cryptosystem 钥匙是保密的
加密密钥≠解密密钥 非对称密匙密码系统 Asymmetric Key Cryptosystem • 加密密钥为公钥(Public Key) • 解密密钥为私钥(Private Key)
dkey ( y) = k1−1( y − k2 )mod26
30
Mod 26
31
明文字符对应的整数为 仿射密码的密钥为
ekey ( x) = (k1 x + k2 ) mod 26
y = (11 × 13 + 3) mod 26 = 16
11−1 mod 26 = 19
密文为 :
d key ( y ) = k1−1 ( y − k2 ) mod 26
阶段— 1949年到1975年 年到1975 第2阶段—从1949年到1975年
1949年Shannon发表了题为《 1949年Shannon发表了题为《 发表了题为 保密通信的信息理论》 保密通信的信息理论》的著名 论文, 论文,把密码学置于坚实的数 学基础之上, 学基础之上,标志着密码学作 为一门学科的形成, 为一门学科的形成,这是密码 学的第一次飞跃 第一次飞跃。 学的第一次飞跃。 主要特点: 主要特点:数据安全基于密钥 而不是算法的保密。 而不是算法的保密。
5
第1阶段—从古代到1949年 阶段—从古代到1949年 1949
- 我国古代也早有以藏头诗、藏尾诗、漏格诗及绘画 等形式,将要表达的真正意思或“密语”隐藏在诗 文或画卷中特定位置的记载,一般人只注意诗或画 的表面意境,而不会去注意或很难发现隐藏其中的 “话外之音”。
6
第1阶段—从古代到1949年 阶段—从古代到1949年 1949
12
古典密码
密码学基本概念 几种典型的古典密码体制 古典密码的统计分析
13
1.1 密码学的基本概念
密码学(cryptology)作为数学的一个分支,是密码编码学和密码分析学 作为数学的一个分支, 作为数学的一个分支 的统称
。
- 使消息保密的技术和科学叫做密码编码学(cryptography) 密码编码学( 密码编码学 - 破译密文的科学和技术就是密码分析学(cryptanalysis) 密码分析学( 密码分析学 )
1.1 密码学的基本概念
密码体制的定义
定义1.1.1 密码体制:密码体制的构成包括以下要素: 定义1.1.1 密码体制:密码体制的构成包括以下要素: (1)M:明文消息空间,表示所有可能的明文组成的有限集。 明文消息空间,表示所有可能的明文组成的有限集。 (2)C:密文消息空间,表示所有可能的密文组成的有限集。 密文消息空间,表示所有可能的密文组成的有限集。 (3)K:密钥空间,表示所有可能的密钥组成的有限集。 密钥空间,表示所有可能的密钥组成的有限集。 (4)E:加密算法集合。 加密算法集合。 (5)D:解密算法集合。 解密算法集合。
dkey ( y1, y2 ,L, ym ) = ( y1 − k1, y2 − k2 ,L, ym − km )mod26
如果已经在26个英文字母和之间建立了一一对应的关系,则每 一个密钥都相当于一个长度为m的字母串,被称为密钥字。
29
5 仿射密码 仿射密码是移位密码的一个推广,其加密过程中不仅包含移位操作 ,而且使用了乘法运算。
24
A B C D E
F
G H
I
J
K L
M
00 01 02 03 04 05 06 07 08 09 10 11 12 N O P Q R S T U V W X Y Z 13 14 15 16 17 18 19 20 21 22 23 24 25
ekey ( x) = ( x + 7) mod 26
2
从古代到1949 第1阶段—从古代到1949年 阶段 从古代到1949年
这一时期可以看作是科学密码学的前夜时期, 这一时期可以看作是科学密码学的前夜时期,这阶段的密码技术可以说是 一种艺术,而不是一种科学, 一种艺术,而不是一种科学,密码学专家常常是凭知觉和信念来进行密码 设计和分析,而不是推理和证明。 设计和分析,而不是推理和证明。 主要特点:数据的安全基于算法的保密。 主要特点:数据的安全基于算法的保密。
主要特点:公钥密码使得发送端和接收端无密钥传输的 保密通信成为可能。
11
第3阶段—从1976年至今 阶段— 1976年至今
受Diffie和Hellman的思想启迪,各 Diffie和Hellman的思想启迪, 的思想启迪 种公钥密码体制被提出,特别是1978 种公钥密码体制被提出,特别是 公钥密码体制的出现, 年RSA公钥密码体制的出现,成为公 公钥密码体制的出现 钥密码的杰出代表, 钥密码的杰出代表,并成为事实标准 ,在密码学史上是一个里程碑。 在密码学史上是一个里程碑。 里程碑
18
1.1 密码学的基本概念
19
1.1 密码学的基本概念
20
1.2 古典密码体制
1、棋盘密码 2、移位密码 3、代换密码 4、维吉尼亚密码 5、仿射密码 6、置换密码
21
1 棋盘密码 棋盘密码是公元前2世纪前后由希腊作家Polybius提出来的,在当时 得到了广泛的应用。棋盘密码的密钥如下表所示:
这里 π 和 π 互为逆置换。
−1
26
A q N f
B w O g
C e P h
D r Q j
E t R k
F y S l
G u T z
H i U x
I o V c
J p W v
K a X b
L s Y n
M d Z m
27
28
4 维吉尼亚密码 单表代换密码---移位密码、仿射密码等等 多表代换密码----维吉尼亚密码(Vigenère cipher),它是由法国人 Blaise de Vigenère在16世纪提出的。
4
第1阶段—从古代到1949年 阶段—从古代到1949年 1949
密码学用于通信的另一个记录是斯巴达人于公元前400年应用 年应用Scytale加密 密码学用于通信的另一个记录是斯巴达人于公元前 年应用 加密 工具在军官间传递秘密信息。 工具在军官间传递秘密信息。
- Scytale实际上是一个锥形指挥棒,周围环绕一张羊 皮纸,将要保密的信息写在羊皮纸上。解下羊皮纸 ,上面的消息杂乱无章、无法理解,但将它绕在另 一个同等尺寸的棒子上后,就能看到原始的消息。
10
第3阶段—从1976年至今 阶段— 1976年至今
1976年 1976年,W.Diffie和M.Hellman在发 Diffie和 Hellman在发 表的文章“密码学的新动向” 表的文章“密码学的新动向”中提出了 公开密钥的思想,从而开创了公钥密码 公开密钥的思想, 学的新纪元, 学的新纪元,导致了密码学上的一场革 这是密码学的第二次飞跃 第二次飞跃。 命,这是密码学的第二次飞跃。
d key ( y ) = ( y − 7) mod 26
25
3 代换密码
定义1.2.3 代换密码体制 定义 上所有可能置换构成的集合。对任意的置 : 令 M = C = Z 26 , 是 Z 26 K 换 π ∈ K x ∈ M y ∈ C 定义 eπ (x) =π(x) : −1
dπ (y) =π (y)
定义1.2.4 维吉尼亚密码体制: 维吉尼亚密码体制: 定义
令是一个正整数M = C = K = (Z 26 )m 。对任意的密钥 key = (k1 , k2 ,L , km ) ∈ K ,, x2 ,L , xm ) ∈ M ( y1 , y2 ,L , ym ) ∈ C 定义: ( x1
ekey (x1 , x2 ,L, xm ) = (x1 + k1, x2 + k2 ,L, xm + km )mod26
1 1 2 3 4 5 A F L Q V 2 B G M R W 3 C H N S X 4 D I/J O T Y 5 E K P U Z
22
1 1 2
2
3
4
5
q w e y u i/j a s h k c v d l b
r t o p f g z x n m
3 4 5
23
2 移位密码 移位密码的加密对象为英文字母,移位密码采用对明文消息的每 一个英文字母向前推移固定位的方式实现加密。换句话说,移位 密码实现了26个英文字母的循环移位。 移位密码中,当取密钥k=3时,得到的移位密码称为凯撒密码, 因为该密码体制首先被Julius Caesar所使用。
定义1.2.5 仿射密码的密码体制 定义
K 令 M = C = Z 26 密钥空间为 = {(k1 , k2 ) ∈ Z26 × Z 26 : gcd(k1 , 26) = 1}
对任意密钥 key = ( k1 , k 2 ) ∈ K
x∈M
y∈C
定 义 :
ekey (x) = (k1x + k2 )mod26
密码学的起源和发展
密码学有着悠久而神秘的历史,人们很难对密码学的起始时间给出准确的 定义。
三个阶段:
- 1949年之前密码学是一门艺术 年之前密码学是一门艺术 - 1949~1975年密码学成为科学 ~ 年密码学成为科学 - 1976年以后密码学的新方向 年以后密码学的新方向——公钥密码学 年以后密码学的新方向 公钥密码学
3
阶段—从古代到1949年 第1阶段 从古代到1949年 阶段 从古代到1949 -隐写术(公元前440年出现在古希腊战争中
)。
- 当时为了安全传送军事情报,奴隶主剃光奴隶的头 发,将情报写在奴隶的光头上,待头发长长后将奴 隶送到另一个部落,再次剃光头发,原有的信息复 现出来,从而实现这两个部落之间的秘密通信。
x = 19 × (16 − 3) mod 26 = 13
32
6 置换密码 通过重新排列消息中元素的位置而不改变元素本身的方式,对一个 消息进行变换。这种加密机制称为置换密码(也称为换位密码)。
定义1.2.6 置换密码体 定义 制 m M 令 m ≥ 2 是一个正整数, = C = ( Z 26 ) K是 K Z m = {1, 2,L , m}上所有可能置换构成的集合。对任意的 ( x1 , x2 ,L , xm ) ∈ M
- 到了20世纪20年代,随着机械和机电技术的成熟, 以及电报和无线电需求的出现,引起了密码设备方 面的一场革命——发明了转轮密码机(简称转轮机 ,Rotor),转轮机的出现是密码学发展的重要标志 之一。
7
20世纪早期密码机 20世纪早期密码机
来自百度文库
8
关于二战的密码小插曲
美国在1942年制造出了世界上第一台计算机 年制造出了世界上第一台计算机. 美国在 年制造出了世界上第一台计算机 二战期间,日本采用的最高级别的加密手段是采用 二战期间 日本采用的最高级别的加密手段是采用 M-209转轮机械加密改进型 紫密 在手工计算的 转轮机械加密改进型—紫密 转轮机械加密改进型 紫密,在手工计算的 情况下不可能在有限的时间破解,美国利用计算机 情况下不可能在有限的时间破解 美国利用计算机 轻松地破译了日本的紫密密码,使日本在中途岛海 轻松地破译了日本的紫密密码 使日本在中途岛海 战中一败涂地,日本海军的主力损失殆尽.( 战中一败涂地 日本海军的主力损失殆尽 (现代计 算机每秒可执行万亿次) 算机每秒可执行万亿次) 1943年,在获悉山本五十六将于 月18日乘中型轰 年 在获悉山本五十六将于 在获悉山本五十六将于4月 日乘中型轰 炸机, 架战斗机护航, 炸机,由6架战斗机护航,到中途岛视察时 罗斯 架战斗机护航 到中途岛视察时,罗斯 福总统亲自做出决定截击山本,山本乘坐的飞机在 福总统亲自做出决定截击山本 山本乘坐的飞机在 去往中途岛的路上被美军击毁,山本坠机身亡 山本坠机身亡,日本 去往中途岛的路上被美军击毁 山本坠机身亡 日本 海军从此一蹶不振.密码学的发展直接影响了二战 海军从此一蹶不振 密码学的发展直接影响了二战 9 的战局! 的战局
14
1.1 密码学的基本概念
密码学的基本目的是面对攻击者Oscar,在被称 , 密码学的基本目的是面对攻击者 为Alice和Bob的通信双方之间应用不安全的信道 和 的通信双方之间应用不安全的信道 进行通信时,保证通信安全。 进行通信时,保证通信安全。
Alice Bob
密文 明文
明文
Oscar
15
16
1.1 密码学的基本概念
Alice
Bob
明文
密文
明文
加密密匙
保密通信的一般机制
解密密匙
17
1.1 密码学的基本概念
密码体制的分类
对称密匙密码系统 加密密钥=解密密钥 Symmetric Key Cryptosystem 钥匙是保密的
加密密钥≠解密密钥 非对称密匙密码系统 Asymmetric Key Cryptosystem • 加密密钥为公钥(Public Key) • 解密密钥为私钥(Private Key)
dkey ( y) = k1−1( y − k2 )mod26
30
Mod 26
31
明文字符对应的整数为 仿射密码的密钥为
ekey ( x) = (k1 x + k2 ) mod 26
y = (11 × 13 + 3) mod 26 = 16
11−1 mod 26 = 19
密文为 :
d key ( y ) = k1−1 ( y − k2 ) mod 26
阶段— 1949年到1975年 年到1975 第2阶段—从1949年到1975年
1949年Shannon发表了题为《 1949年Shannon发表了题为《 发表了题为 保密通信的信息理论》 保密通信的信息理论》的著名 论文, 论文,把密码学置于坚实的数 学基础之上, 学基础之上,标志着密码学作 为一门学科的形成, 为一门学科的形成,这是密码 学的第一次飞跃 第一次飞跃。 学的第一次飞跃。 主要特点: 主要特点:数据安全基于密钥 而不是算法的保密。 而不是算法的保密。
5
第1阶段—从古代到1949年 阶段—从古代到1949年 1949
- 我国古代也早有以藏头诗、藏尾诗、漏格诗及绘画 等形式,将要表达的真正意思或“密语”隐藏在诗 文或画卷中特定位置的记载,一般人只注意诗或画 的表面意境,而不会去注意或很难发现隐藏其中的 “话外之音”。
6
第1阶段—从古代到1949年 阶段—从古代到1949年 1949
12
古典密码
密码学基本概念 几种典型的古典密码体制 古典密码的统计分析
13
1.1 密码学的基本概念
密码学(cryptology)作为数学的一个分支,是密码编码学和密码分析学 作为数学的一个分支, 作为数学的一个分支 的统称
。
- 使消息保密的技术和科学叫做密码编码学(cryptography) 密码编码学( 密码编码学 - 破译密文的科学和技术就是密码分析学(cryptanalysis) 密码分析学( 密码分析学 )
1.1 密码学的基本概念
密码体制的定义
定义1.1.1 密码体制:密码体制的构成包括以下要素: 定义1.1.1 密码体制:密码体制的构成包括以下要素: (1)M:明文消息空间,表示所有可能的明文组成的有限集。 明文消息空间,表示所有可能的明文组成的有限集。 (2)C:密文消息空间,表示所有可能的密文组成的有限集。 密文消息空间,表示所有可能的密文组成的有限集。 (3)K:密钥空间,表示所有可能的密钥组成的有限集。 密钥空间,表示所有可能的密钥组成的有限集。 (4)E:加密算法集合。 加密算法集合。 (5)D:解密算法集合。 解密算法集合。
dkey ( y1, y2 ,L, ym ) = ( y1 − k1, y2 − k2 ,L, ym − km )mod26
如果已经在26个英文字母和之间建立了一一对应的关系,则每 一个密钥都相当于一个长度为m的字母串,被称为密钥字。
29
5 仿射密码 仿射密码是移位密码的一个推广,其加密过程中不仅包含移位操作 ,而且使用了乘法运算。
24
A B C D E
F
G H
I
J
K L
M
00 01 02 03 04 05 06 07 08 09 10 11 12 N O P Q R S T U V W X Y Z 13 14 15 16 17 18 19 20 21 22 23 24 25
ekey ( x) = ( x + 7) mod 26
2
从古代到1949 第1阶段—从古代到1949年 阶段 从古代到1949年
这一时期可以看作是科学密码学的前夜时期, 这一时期可以看作是科学密码学的前夜时期,这阶段的密码技术可以说是 一种艺术,而不是一种科学, 一种艺术,而不是一种科学,密码学专家常常是凭知觉和信念来进行密码 设计和分析,而不是推理和证明。 设计和分析,而不是推理和证明。 主要特点:数据的安全基于算法的保密。 主要特点:数据的安全基于算法的保密。
主要特点:公钥密码使得发送端和接收端无密钥传输的 保密通信成为可能。
11
第3阶段—从1976年至今 阶段— 1976年至今
受Diffie和Hellman的思想启迪,各 Diffie和Hellman的思想启迪, 的思想启迪 种公钥密码体制被提出,特别是1978 种公钥密码体制被提出,特别是 公钥密码体制的出现, 年RSA公钥密码体制的出现,成为公 公钥密码体制的出现 钥密码的杰出代表, 钥密码的杰出代表,并成为事实标准 ,在密码学史上是一个里程碑。 在密码学史上是一个里程碑。 里程碑
18
1.1 密码学的基本概念
19
1.1 密码学的基本概念
20
1.2 古典密码体制
1、棋盘密码 2、移位密码 3、代换密码 4、维吉尼亚密码 5、仿射密码 6、置换密码
21
1 棋盘密码 棋盘密码是公元前2世纪前后由希腊作家Polybius提出来的,在当时 得到了广泛的应用。棋盘密码的密钥如下表所示:
这里 π 和 π 互为逆置换。
−1
26
A q N f
B w O g
C e P h
D r Q j
E t R k
F y S l
G u T z
H i U x
I o V c
J p W v
K a X b
L s Y n
M d Z m
27
28
4 维吉尼亚密码 单表代换密码---移位密码、仿射密码等等 多表代换密码----维吉尼亚密码(Vigenère cipher),它是由法国人 Blaise de Vigenère在16世纪提出的。
4
第1阶段—从古代到1949年 阶段—从古代到1949年 1949
密码学用于通信的另一个记录是斯巴达人于公元前400年应用 年应用Scytale加密 密码学用于通信的另一个记录是斯巴达人于公元前 年应用 加密 工具在军官间传递秘密信息。 工具在军官间传递秘密信息。
- Scytale实际上是一个锥形指挥棒,周围环绕一张羊 皮纸,将要保密的信息写在羊皮纸上。解下羊皮纸 ,上面的消息杂乱无章、无法理解,但将它绕在另 一个同等尺寸的棒子上后,就能看到原始的消息。
10
第3阶段—从1976年至今 阶段— 1976年至今
1976年 1976年,W.Diffie和M.Hellman在发 Diffie和 Hellman在发 表的文章“密码学的新动向” 表的文章“密码学的新动向”中提出了 公开密钥的思想,从而开创了公钥密码 公开密钥的思想, 学的新纪元, 学的新纪元,导致了密码学上的一场革 这是密码学的第二次飞跃 第二次飞跃。 命,这是密码学的第二次飞跃。
d key ( y ) = ( y − 7) mod 26
25
3 代换密码
定义1.2.3 代换密码体制 定义 上所有可能置换构成的集合。对任意的置 : 令 M = C = Z 26 , 是 Z 26 K 换 π ∈ K x ∈ M y ∈ C 定义 eπ (x) =π(x) : −1
dπ (y) =π (y)
定义1.2.4 维吉尼亚密码体制: 维吉尼亚密码体制: 定义
令是一个正整数M = C = K = (Z 26 )m 。对任意的密钥 key = (k1 , k2 ,L , km ) ∈ K ,, x2 ,L , xm ) ∈ M ( y1 , y2 ,L , ym ) ∈ C 定义: ( x1
ekey (x1 , x2 ,L, xm ) = (x1 + k1, x2 + k2 ,L, xm + km )mod26
1 1 2 3 4 5 A F L Q V 2 B G M R W 3 C H N S X 4 D I/J O T Y 5 E K P U Z
22
1 1 2
2
3
4
5
q w e y u i/j a s h k c v d l b
r t o p f g z x n m
3 4 5
23
2 移位密码 移位密码的加密对象为英文字母,移位密码采用对明文消息的每 一个英文字母向前推移固定位的方式实现加密。换句话说,移位 密码实现了26个英文字母的循环移位。 移位密码中,当取密钥k=3时,得到的移位密码称为凯撒密码, 因为该密码体制首先被Julius Caesar所使用。
定义1.2.5 仿射密码的密码体制 定义
K 令 M = C = Z 26 密钥空间为 = {(k1 , k2 ) ∈ Z26 × Z 26 : gcd(k1 , 26) = 1}
对任意密钥 key = ( k1 , k 2 ) ∈ K
x∈M
y∈C
定 义 :
ekey (x) = (k1x + k2 )mod26