(现代密码学课件)01古典密码
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ap1a1p2a2ptat
其中p1<p2<…<pt是素数,ai>0
例:91=7×11,11011=7×112×13
5
素数和互素数
整数分解唯一性的另一表示
P是所有素数的集合,任一a(a>1)可表示为
a pap pP
ap≥0,大多数指数项ap为0,任一整数可由非0指数 列表表示。例如11011可以表示为{a7=1, a11=2, a13=1}
字母 a b c d e f g h i j k l m 数字 0 1 2 3 4 5 6 7 8 9 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
14
凯撒密码
凯撒密码据传是由古罗马的凯撒大帝和前 方将领联系时使用的
m=Dk(c)≡c-k (mod 26), 0≤c, k ≤25
17
移位密码分析
移位密码的密钥空间只包含25个密钥 很容易受到唯密文攻击(穷举攻击法) 例如:
密文:PHHW PH DIWHU WKH WRJD SDUWB
依次尝试将密文中的字母分别后移1位,2位, 3位,…,其中得到的有意义消息记为明文
若n|(a-b),称a,b模n同余,记为a≡b (mod n) a≡b (mod n) 等价于 (a mod n)=(b mod n) 同余的性质
a≡a (mod n) a≡b (mod n) ,则 b≡a (mod n) a≡b (mod n) ,b≡c (mod n) ,则 a≡c (mod n)
ቤተ መጻሕፍቲ ባይዱ
8
同余和模运算
求余运算a mod n将a映射到集合 {0,1,…,n-1},求余运算称为模运算
称与a模n同余的数的全体为a的同余类, 记为[a],a称为这个同余类的代表元素
定义Zn={[0],[1],..,[n-1]}为模n的同余 类集合。通常简记为Zn={0,1,..,n-1}
在Zn中可以定义模加法和模乘法
10
同余和模运算
模n的同余类集合Zn={0,1,..,n-1}对于模 加法和模乘法运算构成一个交换环。
Zn中并非所有x都有乘法逆元。 定理:设a∈Zn,gcd(a,n)=1,则a在Zn有逆元
设p为素数,Zp中每一个非零元素a都与p互
素,因此有乘法逆元,且有乘法消去律 由 a·b=a·c (mod n) 可得 b=c (mod n)
11
模运算练习
对于 mod 26 的同余类集合 Z26 求出所有可 逆元素的乘法逆元。
a 0 1 2 3 4 5 6 7 8 9 10 11 12
a-1 ×
×
××
×
×
×
a 13 14 15 16 17 18 19 20 21 22 23 24 25
a-1 × ×
×
××
×
×
12
二、单表代换密码
古典密码中常用的加密方法有换位和代换
加密: c=E3(m) ≡ m+3 (mod 26), 0≤m ≤25
解密: m=D3(c) ≡ c-3 (mod 26), 0≤c ≤25
15
凯撒密码
为方便起见,在古典密码中我们约定:明 文用小写字母表示,而密文用大写字母表 示。
因此,在凯撒密码中,字母 a 加密之后变 成 D,而字母 b 加密之后变成 E,等等。
观察里面的英文内容,已知它是用移位密码 加密而成的,选出一些内容并将它解密出 来。
19
仿射密码
移位密码又可以推广成一般的仿射密码
9
同余和模运算
例:Z8={0,1,2,3,4,5,6,7},模8加法和乘法
+0 1 2 3 4 5 6 7 001234567 112345670 223456701 334567012 445670123 556701234 667012345 770123456
×0 1 2 3 4 5 6 7 000000000 101234567 202460246 303614725 404040404 505274163 606420642 707654321
明文: all of the gaul is divided into three parts 密文: DOO RI JDXO LV GLYLGHG LQWR
WKUHH SDUWV
16
移位密码
凯撒密码可以推广成一般的移位密码 移位密码:每个字母往后移动 k 位 加密:
c=Ek(m)≡m+k (mod 26), 0≤m, k ≤25 解密:
meet me after the toga party
18
移位密码实例
打开 Windows 电脑的注册表的如下目录: HKEY_CURRENT_USER\Software\Micro soft\Windows\CurrentVersion\Explorer\Us erAssist\{75048700-EF1F-11D0-9888006097DEACF9}\Count
3
素数和互素数
因子
整数a,b,如果存在m,使a=mb,称为b整除a, 记为b|a,称b是a的因子。
性质
a|1,则a=±1 a|b且b|a,则a=±b 对任意b,b≠0,则b|0 b|g,b|h,对任意整数m,n,有b|(mg+nh)
4
素数和互素数
素数 整数p(p>1)为素数,如果p的因子只有±1,±p 整数分解的唯一性 任一整数a(a>1)可唯一的分解为
两数相乘等价于对应的指数相加
由a|b可得,对每一素数p, ap ≤bp
6
素数和互素数
c是a和b的最大公因子,c=gcd(a,b)
c是a的因子也是b的因子 a和b的任一公因子也是c的因子
gcd(a,b)=1,称为a,b互素
6
7
同余和模运算
设n是一个正整数,a是整数,若 a=qn+r, 0≤r<n, 则记为 a mod n=r
换位密码:各个字母不变但是位置改变(略) 代换密码:每个字母用另一个字母代换
代换密码又可以分为两种
单表代换密码:对单个字母逐个代换 多表代换密码:对多个字母同时代换
单表代换密码:每个字母加密之后的结果 总是固定的,例如 a 总是被加密为 w。
13
字母和十进制数字对应
在加密之前我们首先需要将每个字母用等价的十进 制数字对应:
其中p1<p2<…<pt是素数,ai>0
例:91=7×11,11011=7×112×13
5
素数和互素数
整数分解唯一性的另一表示
P是所有素数的集合,任一a(a>1)可表示为
a pap pP
ap≥0,大多数指数项ap为0,任一整数可由非0指数 列表表示。例如11011可以表示为{a7=1, a11=2, a13=1}
字母 a b c d e f g h i j k l m 数字 0 1 2 3 4 5 6 7 8 9 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
14
凯撒密码
凯撒密码据传是由古罗马的凯撒大帝和前 方将领联系时使用的
m=Dk(c)≡c-k (mod 26), 0≤c, k ≤25
17
移位密码分析
移位密码的密钥空间只包含25个密钥 很容易受到唯密文攻击(穷举攻击法) 例如:
密文:PHHW PH DIWHU WKH WRJD SDUWB
依次尝试将密文中的字母分别后移1位,2位, 3位,…,其中得到的有意义消息记为明文
若n|(a-b),称a,b模n同余,记为a≡b (mod n) a≡b (mod n) 等价于 (a mod n)=(b mod n) 同余的性质
a≡a (mod n) a≡b (mod n) ,则 b≡a (mod n) a≡b (mod n) ,b≡c (mod n) ,则 a≡c (mod n)
ቤተ መጻሕፍቲ ባይዱ
8
同余和模运算
求余运算a mod n将a映射到集合 {0,1,…,n-1},求余运算称为模运算
称与a模n同余的数的全体为a的同余类, 记为[a],a称为这个同余类的代表元素
定义Zn={[0],[1],..,[n-1]}为模n的同余 类集合。通常简记为Zn={0,1,..,n-1}
在Zn中可以定义模加法和模乘法
10
同余和模运算
模n的同余类集合Zn={0,1,..,n-1}对于模 加法和模乘法运算构成一个交换环。
Zn中并非所有x都有乘法逆元。 定理:设a∈Zn,gcd(a,n)=1,则a在Zn有逆元
设p为素数,Zp中每一个非零元素a都与p互
素,因此有乘法逆元,且有乘法消去律 由 a·b=a·c (mod n) 可得 b=c (mod n)
11
模运算练习
对于 mod 26 的同余类集合 Z26 求出所有可 逆元素的乘法逆元。
a 0 1 2 3 4 5 6 7 8 9 10 11 12
a-1 ×
×
××
×
×
×
a 13 14 15 16 17 18 19 20 21 22 23 24 25
a-1 × ×
×
××
×
×
12
二、单表代换密码
古典密码中常用的加密方法有换位和代换
加密: c=E3(m) ≡ m+3 (mod 26), 0≤m ≤25
解密: m=D3(c) ≡ c-3 (mod 26), 0≤c ≤25
15
凯撒密码
为方便起见,在古典密码中我们约定:明 文用小写字母表示,而密文用大写字母表 示。
因此,在凯撒密码中,字母 a 加密之后变 成 D,而字母 b 加密之后变成 E,等等。
观察里面的英文内容,已知它是用移位密码 加密而成的,选出一些内容并将它解密出 来。
19
仿射密码
移位密码又可以推广成一般的仿射密码
9
同余和模运算
例:Z8={0,1,2,3,4,5,6,7},模8加法和乘法
+0 1 2 3 4 5 6 7 001234567 112345670 223456701 334567012 445670123 556701234 667012345 770123456
×0 1 2 3 4 5 6 7 000000000 101234567 202460246 303614725 404040404 505274163 606420642 707654321
明文: all of the gaul is divided into three parts 密文: DOO RI JDXO LV GLYLGHG LQWR
WKUHH SDUWV
16
移位密码
凯撒密码可以推广成一般的移位密码 移位密码:每个字母往后移动 k 位 加密:
c=Ek(m)≡m+k (mod 26), 0≤m, k ≤25 解密:
meet me after the toga party
18
移位密码实例
打开 Windows 电脑的注册表的如下目录: HKEY_CURRENT_USER\Software\Micro soft\Windows\CurrentVersion\Explorer\Us erAssist\{75048700-EF1F-11D0-9888006097DEACF9}\Count
3
素数和互素数
因子
整数a,b,如果存在m,使a=mb,称为b整除a, 记为b|a,称b是a的因子。
性质
a|1,则a=±1 a|b且b|a,则a=±b 对任意b,b≠0,则b|0 b|g,b|h,对任意整数m,n,有b|(mg+nh)
4
素数和互素数
素数 整数p(p>1)为素数,如果p的因子只有±1,±p 整数分解的唯一性 任一整数a(a>1)可唯一的分解为
两数相乘等价于对应的指数相加
由a|b可得,对每一素数p, ap ≤bp
6
素数和互素数
c是a和b的最大公因子,c=gcd(a,b)
c是a的因子也是b的因子 a和b的任一公因子也是c的因子
gcd(a,b)=1,称为a,b互素
6
7
同余和模运算
设n是一个正整数,a是整数,若 a=qn+r, 0≤r<n, 则记为 a mod n=r
换位密码:各个字母不变但是位置改变(略) 代换密码:每个字母用另一个字母代换
代换密码又可以分为两种
单表代换密码:对单个字母逐个代换 多表代换密码:对多个字母同时代换
单表代换密码:每个字母加密之后的结果 总是固定的,例如 a 总是被加密为 w。
13
字母和十进制数字对应
在加密之前我们首先需要将每个字母用等价的十进 制数字对应: