第2章 古典密码学体制
chap2-古典密码
25个可能的密钥k,适用Brute-Force Cryptanalysis
明文的语言是已知的且易于识别
恺撒密码的特点
单字母密码(简单替换技术) 简单,便于记忆 缺点:结构过于简单,密码分析员只使用很
Cryptography” 提出了不对称密钥密
▪ 1977年Rivest,Shamir & Adleman提出了RSA公钥算法 ▪ 90年代逐步出现椭圆曲线等其他公钥算法 ▪ 主要特点:公钥密码使得发送端和接收端无密钥传输的保密
通信成为可能
第3阶段 1976~
▪ 1977年DES正式成为标准 ▪ 80年代出现“过渡性”的“Post DES”算法,如
Chap2 古典密码
密码学的发展历史
三个阶段:古代加密方法、古典密码和近代密码。
1.古代加密方法(手工阶段)
从某种意义上说,战争是科学技术进步的催化剂。人类自从有了战 争,就面临着通信安全的需求,密码技术源远流长。 古代加密方法大约起源于公元前440年出现在古希腊战争中的隐写术 。当时为了安全传送军事情报,奴隶主剃光奴隶的头发,将情报写 在奴隶的光头上,待头发长长后将奴隶送到另一个部落,再次剃光 头发,原有的信息复现出来,从而实现这两个部落之间的秘密通信 。
➢ 1967年David Kahn的《The Codebreakers》 ➢ 1971-73年IBM Watson实验室的Horst Feistel等几篇技术报告
▪ 主要特点:数据的安全基于密钥而不是算法的保密
第3阶段 1976~
▪ 1976年:Diffie & Hellman 的 “New Directions in
2-1 古典密码
广义的单表代换
• 设P=C=Z/(26),K是由26个符号0,1,..,25的所有可能 置换组成。任意π∈K,定义e π(x)= π(x)=y 且 d π(y)=π-1(y)=x, π-1是π的逆置换。 注: 1*. 置换π的表示: 0 1 2 3 ..23 24 25 π= 0' 1' 2' 3' ..23' 24' 25' 2*密钥空间K很大,|k|=26! ≈ 4×1026,破译者穷举搜索 是不行的,然而,可由统计的方式破译它。 3*移位密码、乘数密码、仿射密码算法都是单表代换密 码。
• •
依然保留了字符频率某些统计信息 重码分析法:间距是密钥长度整数倍的相同子串有相 同密文,反过来,密文中两个相同的子串对应的密文 相同的可能性很大。
a b c d e f g h i j k l m 000102 030405 060708 091011 12 n o p q r s t u v w x y z 131415 161718 192021 222324 25 密钥: cryptographycryptographycr 明文: yourpackagereadyroomathree 密文: AFSGIOI PG PG
Playfair密码分析
• • • •
Playfair有26×26=676种字母对组合 字符出现概率一定程度上被均匀化 基于字母频率的攻击比较困难 依然保留了相当的结构信息
Hill密码(1929)
• •
基于矩阵的线性变换: K是一个m*m矩阵,在Z/(26)上可逆,即存在K-1使得: KK-1 = I (在Z/(26)) 对每一个k∈ K,定义ek(x)=xK (mod 26) 和 dk(y)=yK-1 (mod 26) 注:明文与密文都是 m元的向量(x1, x2 …, xm );(y1, y2,…,ym),Z/(26)为同余类环。在这个环上的可逆矩阵 Amxm,是指行列式detAmxm的值∈ Z*/(26),它为Z/(26)中全 体可逆元的集合。Z*/(26)= {a ∈Z/(26)|(a,26)=1}, Z*/(26)={1,3,5,7,9,11,15,17,19,21,23,25}
密码学-第2章古典密码
问题:
置换和换位的定义、区别?
作业:
习题2.1、2.2、2.3、2.4、2.6
抽象代数
群:由一个非空集合和一个二元运算组成,并满 足封闭性、结合性、单位元、逆元的代数系统。
乘法群
环:一个集合,可以在其上进行加法和乘法运算 而封闭。
交换环:对于乘法运算可交换
域:非零元都有乘法逆的交换环。
设明文m = (m1, m2, …, mn) ∈Z26n,密文c= (c1, c2, …, cn) ∈ Z26n ,密钥为Z26上的的n×n阶可逆 方阵K = (kij) n×n ,则 c = mK mod 26, m = cK-1 mod 26。
例2.4 设n=2,密钥为 11 8 7 18 -1 K= ,容易计算 K = 3 7 23 11 设明文为Hill, 则相应的明文向量为(7,8)和( 11,11)。于是,相应的密文向量 分别为 11 (7,8) 3 11 ( 11,11) 3 8 77 24, 56 56 )=(23,8), =( 7 8 121 33, 88 77 )=(24, 9 ), =( 7
表2.4称为Vigenere方阵(书P12)。当用密钥字 母ki对明文字母mi进行加密时,Vigenere方阵中 的第ki行第mi列的字母就是相应的密文字母。
例2.2
设明文为 This cryptosystem is not secure, 密钥为cipher, 则密文为:
VPXZGI AXIVWP UBTTMJ PWIZIT WZT。
有限域(伽罗瓦域):GF(2)
第2章 古典密码
主要内容
古典密码中的基本加密运算 几种典型的古典密码体制 古典密码的统计分析
第2章古典密码学-PPT文档资料
(x , y Z ) 26
7 mod 26 15 ,3 ), x ) 7 x 3 , • 例2.3 假定 k (7 ,加密函数为 e k( ( y ) 15 ( y 3 ) 15 y 19 则相应的解密函数为 d ,其中所有的运算都 k ( e ( x )) d ( 7 x 3 ) 15 ( 7 x 3 ) 19 x 45 19 x 是在 Z 26 中。容易验证 d 。 k k k 加密明文hot。
第2章 古典密码学
2.1古典密码学体制
2.1.1定义和分类
– 一个密码系统(Cryptosystem)是一个五元组 (P,C,K,E,D)满足条件: (1)P是可能明文的有限集;(明文空间) (2)C是可能密文的有限集;(密文空间) (3)K是一切可能密钥构成的有限集;(密钥空间) (4)任意 ,有一个加密算法 和相应的解密 k,使得 K 算法 和 ek E 分别为加密、 e C dk D d P 。 解密函数,满足 k : P k :C
• 仿射密码
– 设PCZ ,且
26
( a ,b ) K K ( a , b ) Z Z : gcd( a , 26 ) 1 对 k ,定义 26 26
1 e ( x ) ax bmod 26 ( y ) a ( y b ) mod 26 且 d k
1
首先转化这三个字母分别为数字7,14和19。然后加密
3 7 0 A X(mod 7 14 3 23 26 ); 19 3 6 G
• 替换密码
26 ,密钥空间K由所有可能的26个 – 设 PCZ 符号0,1,…….,25的置换组成。对每一个 置换 ,定义
应用密码学2-古典密码
cryp togr aphy XI BK GLT I ZKSB 这就是一种替代密码。
例:n长的英文字母串上的置换。(共有n!种) 将crptography的第一位字母和最后一个字母对调,
将第二位字母和导数第二位字母对调,依次类推, 产生一个置换。
Ee (m) (e(m1)e(m2 )) (c1c2 ) c 单表替代是用一个固定的置换 e。 对 c 解密时,计算,d e1
Dd (c) (d (c1)d (c2 )) (m1m2 ) m
恺撒密码就是单表替代密码,如果我们用数字 0,1,2,……24,25
分别表示字母A,B,C,……Y,Z,则密文字母
设 S 是一个有限集合,置换p 是从 S 到 S 的一 个双射。
如果p是(1,2, … ,n)到(1,2, … ,n)的一个置换,
则记为
p
1 p(1)
2 p(2)
n p(n)
例: S=(1,2,3,4,5), 一个置换 p:S-> S 定义为: p(1)=3, p(2)=5, P(3)=4, p(4)=2, p(5)=1,
可用明文字母 表示为: 3 (mod 26)
例如明文字母为Y,即 24 ,则
24 3 27 1 (mod 26)
因此密文为B。这里密钥就是3。
因为置换限制为移位,所以这类密码又称为移位密码。 (s就是用一系列的不同置换替代明文中的字母 。 也就是在不同字母位置使用不同的替换规则。 A是含有 q 个符号的字母表 M是 A 上的长度为 n 的所有符号串的集合 密钥空间 K 包含所有有序的 n 个置换( p1, p2, pn ) 的集合, 每个置换都定义在A上。
密码学第2章 古典密码体制
2. 古典密码举例
➢ 古典密码的主要技术手段:代换(Substitution)和置 换(Permutation),相应的密码系统称为代换密码和 置换密码。
➢ 代换密码又分为单字母代换密码和多字母代换密码。 ➢ 单字母代换密码又分为单表代换密码和多表代换密码。 ➢ 字母怎样进行加解密操作?
ABCDE FGH 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 VWX Y Z
13 14 15 16 17 18 19 20 21 22 23 24 25
2.1 移位密码(Shift Cipher)
➢ 模运算 定义 2.2:假设 a 和 b 均为整数, m 是一正整数。若 m 整 除 b a 则可将其表示为 a b(modm) 。式 a b(modm) 读 作“ a 与 b 模 m 同余”,正整数 m 称为模数。
密码体制 2.1:移位密码(加法密码)
令 26 。对 0 K 25,任意 x, y Z26 ,定义
以及
eK (x) (x K ) mod 26
dK ( y) ( y K ) mod 26
➢ 密码体制 2.1 给出了移位密码。因为英文有 26 个字母, 故其一般定义在 26 上。很容易验证移位密码满足前面所 定 义 的 密 码 体 制 的 条 件 , 对 任 意 的 x 26 , 有 d K (eK (x)) x 。
(ab)c a(Biblioteka c)9、 1 是乘法单位元:对任意的 a m ,有 a 1 1 a a 10、乘法和加法之间存在分配律:对任意的 a,b, c m ,
有 (a b)c (ac) (bc) , a(b c) (ab) (ac)
应用密码学第2章古典密码体制参考答案
第2章 古典密码体制1.当k=5,b=3时,用仿射密码加密这些字符:WO SHI XUESHENG 解:加密公式:c=e(p)=5p+3(mod26)首先转化把这些字母转换成数字:22,14,18,7,8,23,20,4,18,7,4,13,6 然后加密;)26(mod 716231215232514171215219)26(mod 3333333333333613471842023871814225⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡+⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡H Q X M P X Z O R M P V G 所以,加密后为:GV PMR OZXPMXQH 。
2.使用Vigenere 方案,给出密文:ZICVTWQNGRZGVTW A VZHCQYGLMGJ ,找出对应下列明文的密钥:W earediscoveredsaveyourself 。
解:明文:W e a r e d i s c o v e r e d s a v e y o u r s e l f 密文:Z IC VTWQNGR ZGVTWAVZH CQ YGLMGJ 将字幕转化成数字,再计算。
结果密钥为:3 4 2 4 15 19 8 21 43.分析Vigenere 密码体制的安全性,并编程实现Vigenere 密码算法。
解:Vigenere 密码的强度在于对每个明文字母有多个密文字母对应,因此该字母的频率信息是模糊的。
实际上,维吉尼亚(Vigenere )密码是一种多表加密算法,在密文的不同位置出现的字符通常不是以同样的方式加密的,但它是一种周期密码,如果两个同样的字符出现的间隔固定,并且为密钥长度的倍数,则它们将以同样的方法进行加密。
第04讲-古典密码2
By
的重合指数与Biblioteka 然语言的重合指数近似相等。JX
Y
原 理:
多表代替密码分析
定义:设 x
= x1 x2 ...xn
是一个长度为n的英文字母
我们有:
其中 f i (i = 0,1,...25) 表示第i个英文字母在x 中出现 的次数。
2015/3/23
By
I c ( x) =
JX
∑ f (f
By
设明文为 m = (m1 , m2 ,...mn ) ,k = (k1 , k 2 ,...k n ) 为密钥,
加解密过程为 ci = mi ⊕ ki
mi = ci ⊕ ki
2015/3/23
JX
Y
c = (c1 , c2 , )
Vernam体制
密码分析
当密钥重复使用时,可以通过明密文的对应关系猜
2015/3/23
By
JX
Y
多表代替密码分析
以Vigenere密码为例
· Kasiski测试法 (估测) · 重合指数法(验证)
2015/3/23
By
2.确定密钥字
· 交互重合指数
JX
1.确定密钥字长度。
Y
多表代替密码分析
确定密钥字长度——Kasiski测试法
1. 两个相同的明文片段之间的距离如果是密钥 字长度的倍数,则它们所对应的密文片段一 2. 反之,若密文中出现两个相同的密文片段 (长度>3),则它们对应的明文片段极有可能 相同。
2015/3/23
JX
l, Y j
l
l
Y
表示 用 l 作为加法密码的
教材P22,表2.10
密码编码学与网络安全 向金海 02-古典密码算法.ppt
128
2128 = 3.4 1038 2127 µs = 5.4 1024 years
5.4 1018 years
168
2168 = 3.7 1050 2167 µs = 5.9 1036 years
5.9 1030 years
26 characters (permutation)
基于密钥的算法,按照密钥特点 对称密码算法(传统密码算法或单钥密码算法) 非对称算法(公开钥密码算法或双钥密码算法)
按照明文处理方式 分组密码 流密码
*
7
安全要求
加密算法必须足够强
最低要求:已知密文时不能破译该密文或由密文 推导出密钥;
加强形式:已知某些明、密文对,也不能由此破 译出新的密文或发现密钥。
32
232 = 4.3 109
56
256 = 7.2 1016
Time required at 1 decryption/µs
231 µs = 35.8 minutes
255 µs = 1142 years
Time required at 106 decryptions/µs
2.15 milliseconds
惟密文攻击,ciphertext only
only know algorithm & ciphertext, is statistical, know or can identify plaintext
已知明文攻击,known plaintext
know/suspect plaintext & ciphertext
加密算法必须是足够强的 a strong encryption algorithm
密码学第2章 古典密码体制共73页
4、 0 是加法单位元:对任意的 a Zm ,有 a 0 0 a a 5、 任何元素存在加法逆元: a 的逆元为 m a ,因为
a (m a) (m a) a 0
6、 对乘法运算封闭:对任意的 a,b Zm ,有 ab Zm 7、 乘法运算满足交换律:对任意的 a,b Zm ,有 ab ba 8、 乘 法 运 算 满 足 结 合 律 : 对 任 意 的 a,b, c Zm , 有
e(x) (ax b) mod 26
a,b Z26 。因为这样的函数被称为仿射函数,所以也 将这样的密码体制称为仿射密码。 可以看出当 a 1 时其对应的正是移位密码。当 b 0 是 称为乘积密码。
为了能对密文进行解密,必须保证所选用的仿射函数 是一单射(可逆)函数。
即对任意 y Z26 ,同余方程 ax b y(mod26) 有唯一 解x。
(ab)c a(bc)
9、 1 是乘法单位元:对任意的 a Zm ,有 a 1 1 a a 10、乘法和加法之间存在分配律:对任意的 a,b, c Zm ,
有 (a b)c (ac) (bc) , a(b c) (ab) (ac)
性质 1,3-5,说明 Zm 关于其上定义的加法运算构成一 个群;若再加上性质 2,则构成一个交换群(阿贝尔群)。
按照上表应有 e (a) X , e (b) N ,等等。
解密函数是相应的逆置换。由下表给出:
A B CD E F GH I J KLM d l r y v o h e z xwp t
N O P Q R S T U VWX Y Z b g f j q nmu s k a c i
古典密码体制
d
s
q
q
c
x
c
e
22
Vigenere Cipher Table
The table lists the key characters on top and the plaintext characters on the side
9
补充例子 加密:
2 3 17 17 R 7 3 52 0 A 7 8 3 59 mod26 7 H 13 3 94 16 Q 0 3 3 3 D
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 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 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 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 a c d e f g h i j k l m n o p q r s t u v w x y z a b d e f g h i j k l m n o p q r s t u v w x y z a b c e f g h i j k l m n o p q r s t u v w x y z a b c d f g h i j k l m n o p q r s t u v w x y z a b c d e g h i j k l m n o p q r s t u v w x y z a b c d e f h i j k l m n o p q r s t u v w x y z a b c d e f g i j k l m n o p q r s t u v w x y z a b c d e f g h j k l m n o p q r s t u v w x y z 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 a b c d e f g h i j l m n o p q r s t u v w x y z a b c d e f g h i j k m n o p q r s t u v w x y z a b c d e f g h i j k l n o p q r s t u v w x y z a b c d e f g h i j k l m o p q r s t u v w x y z a b c d e f g h i j k l m n p q r s t u v w x y z a b c d e f g h i j k l m n o q r s t u v w x y z a b c d e f g h i j k l m n o p r s t u v w x y z a b c d e f g h i j k l m n o p q s t u v w x y z a b c d e f g h i j k l m n o p q r t u v w x y z a b c d e f g h i j k l m n o p q r s u v w x y z a b c d e f g h i j k l m n o p q r s t v w x y z a b c d e f g h i j k l m n o p q r s t u w x y z a b c d e f g h i j k l m n o p q r s t u v x y z a b c d e f g h i j k l m n o p q r s t u v w y z a b c d e f g h i j k l m n o p q r s t u v w x z 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
古典密码体制
B:3
11111111 00000011 00000011
2.1.3 电子隐藏技术
隐写工具
Steganos S-Tools (GIF, JPEG) Eshow StegHide (WAV, BMP) Invisible Secrets (JPEG) JPHide Camouflage Hiderman Many others…
1
2.2.1替换密码:分类
利用预先设计的代替规则,对明文逐字 符或逐字符组进行代替的密码。
凯撒密码
仿射密码 单表代换密码 多表代换密码
2.2.2 替换密码:凯撒密码
26
是一种对英文字母的典型逐字母加密的密码。
例如: A B CF
C
D D
TW
E
F
XA
G…… X
Y B
Y
Z
2.2.4替换密码:单表代替密码
英语中有26个字母 密钥总量:
天河机以每秒2.57千万亿次的速度来计算,若一 次运算能检验可能密钥中的一条,则检查完所有 的密钥并破解信息花费的时间大概是500年
公元九世纪,阿拉伯密码破译 专家,击破单表替换密码!
34 2.2.4替换密码:单表代替密码
e:出现频率约为0.127 t,a,o,i,n,s,h,r:出现频率约在0.06到0.09之间 d,l:的出现频率约为0.04 c,u,m,w,f,g,y,p,b :出现频率约在0.015到0.028之间
2.2.4替换密码:单表代替密码
有了上面的提示, 我们很容易确定出明文和例中的密 钥,解密明文如下: Our friend from Paris examined his empty glass with surprise, as if evaporation had taken place while he wasn’t looking. I poured some more wine and he settled back in his chair, face tilted up towards the sun.
清华大学出版社第2章 古典密码学
为
m1
c1
k11 k12
k1n
M
m2
,C
c2
,K=(kij )nn
k21
mn
cn
kn1
kn2
knn
其中,
c1 k11m1 k12m2 ... k1nmn mod 26
c2
k21m1
k22m2 ... k2nmn ......
mod 26
cn kn1m1 kn2m2 ... knnmn mod 26
5/67
第2章 古典密码技术
2.1.1 单表替代密码(续) 一般单表替代密码算法特点:
密钥空间K很大,|K|=26!=4×1026 ,破译者穷举搜索计算不可行,1微秒试一 个密钥,遍历全部密钥需要1013 年。
移位密码体制是替换密码体制的一个特例,它仅含26个置换做为密钥空间。 密钥π不便记忆。
1.维吉尼亚密码
维吉尼亚密码是最古老而且最著名的多表替代密码体制之一,与位移密 码体制相似,但维吉尼亚密码的密钥是动态周期变化的。
该密码体制有一个参数n。在加解密时,同样把英文字母映射为0-25的
数字再进行运算,并按n个字母一组进行变换。明文空间P 、 C密文K空间 及Z 密26钥n
空间都是长度为n的英文字母串的集合,因此可表示
表2.3 密钥为cipher的维吉尼亚密码加密过程
12/67
第2章 古典密码技 术
2.1.2 多表替代密码(续)
2.希尔(Hill)密码
Hill密码算法的基本思想是将n个明文字母通过线性变换,将它们转换为n个
。 密文字母。解密只需做一次逆变换即可
算法的密钥K =﹛ Z上26的
nn 可逆矩阵﹜,明文M与密文C 均为n维向量,记
Lecture02-古典密码
=(9,8,8,24)
=(JIIY)
解密:
K 1 23 20 5 1 2 11 18 1 2 20 6 25 25 2 22 25
P CK 1
23 20 5 1 2 11 18 1 mod 26 (9 8 8 24 ) 2 20 6 25 25 2 22 25
• “China”经仿射加密变换成“RAHQD”
解密:
17 19 236 2 C 0 19 19 7 H 15 7 19 86 mod 26 8 I 16 19 221 13 N 3 19 26 0 A
使用密钥的单表代替加密
• 设密钥为:spectacular。 • 明文:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
• 对应的密文:spectaulrbdfghijkmnoqvwxyz • 如果明文为“China”,则对应的密文为: • elrhs
仿射加密
• 加密:
y f ( x) k1 x k 2 (mod 26)
• 原始消息“China”得到恢复
单表代替密码的特点:
• 密钥量很小,不能抵抗穷尽搜索攻击 • 没有将明文字母出现的概率掩藏起来,很容易 受到频率分析的攻击
频率分析攻击
图3-3 一个长的英文文本中各字母出现的相对频率
常见的双字母组合:TH、HE、IN、ER、RE、AN、ON、EN、 AT; 常见的三字母组合:THE、ING、AND、HER、ERE、ENT、 THA、NTH、WAS、ETH、FOR、DTH等。
02古典和对称密码
• 因此,大家都知道Bob的公钥z,而只有Bob自己
知道他的私钥k。
• 因此,大家都能够用Bob的公钥z将明文消息加密
变为密文,并把密文向Bob发送,而只有Bob自己 能够解密这些密文。
• 因此,公钥密码体制除了具有信息保密的功能以
外,还具有了一种信息认证功能:Alice用Bob的 公钥z加密一个消息,谁能把消息正确解密, Alice就认为谁是真正的Bob。
古典密码
多表代换密码
多表代换密码是字母表Zq={0, 1, …, q-1}到 自身的d个可逆映射f0,f1,... ,fd-1,在加 密时循环排列使用。 令明文m=m0m1...,则相应密文为
c=c0c1...=f0(m0)f1(m1)...fd-1(md-1)f0(md) f1(md+1)...
2.2密码体制的分类
加解密算法的专业术语为”密码体制”。从 原理上,密码体制可以分为两大类: (1)单钥密码体制。(又称为对称密码体制) (2)双钥密码体制。(又称为非对称密码体 制,也称为公钥密码体制)
2.2密码体制的分类
单钥密码体制
单钥密码体制的加密密钥z和解密密钥k能够简单地 相互推导出来。 换句话说: Alice知道加密密钥z,她当然也就知道解密密钥k; Bob知道解密密钥k,他当然也就知道加密密钥z 。 再换句话说, Alice和Bob的地位是对称的,可以双 向地发送和接收保密信息。 (其实在一般实用情形之下,总有z=k )
信息安全
第二讲 数据加密技术
第2章 数 据 加 密
2.1 2.2 2.3 2.4 基本概念 密码体制的分类 古典密码 对称密码体制
2.1
基本概念
一个加密系统采用的基本工作方式称为密码 体制,密码体制的基本要素是密码算法和密钥, 其中密码算法是一些公式、法则或程序,而密钥 是密码算法中的可变参数。密码算法分为加密和 解密算法,前者是将明文变换成密文,后者是将 密文变换成明文;密钥相应地也分为加密密钥和 解密密钥。
古典密码体制
1、古典密码体制简单代替密码(simple substitution cipher),又称单表密码(monoalphabetic cipher):明文的相同字符用相应的一个密文字符代替多表密码(ployalphabetic cipher):明文中的相同字符映射到密文空间的字符不唯一,有多个。
单表代替是密码学中最基础的一种加密方式。
在加密时用一张自制字母表上的字母来代替明文上的字母(比如说A——Z,B——D)来达到加密。
移位密码也属于单表代替,只不过比较有规律,相当于集体向前或向后。
这种加密方法最容易被破解。
破解方法为统计法。
在英语中,最常用的字母为E,所以在密文中代替E 的字母出现的频率也最高,由此便可破解。
一般单表替代密码算法特点:▲密钥空间K很大,|K|=26!=4×1026 ,破译者穷举搜索计算不可行,1微秒试一个密钥,遍历全部密钥需要1013 年。
▲移位密码体制是替换密码体制的一个特例,它仅含26个置换做为密钥空间。
密钥π不便记忆。
▲针对一般替换密码密钥π不便记忆的问题,又衍生出了各种形式单表替代密码。
多表代替密码:由多个简单的代替密码构成,例如,可能有5个被使用的不同的简单代替密码,单独的一个字符用来改变明文的每个字符的位置。
多表替代密码的特点是使用了两个或两个以上的替代表。
著名的维吉尼亚密码和Hill密码等均是多表替代密码。
2、对称密码体制分组密码的一般设计原理•分组密码是将明文消息编码表示后的数字(简称明文数字)序列,划分成长度为n的组(可看成长度为n的矢量),每组分别在密钥的控制下变换成等长的输出数字(简称密文数字)序列,•DES的操作模式是什么?上述5种操作模式均可。
•AES的操作模式是什么?在AES的实际应用中,经常会选择CBC和CTR模式。
更多的是选择CTR。
第2讲古典密码体制37页PPT
若m不能整除a-b,则称a, b关于模m不同余。正整数m
称为模数。
明显地: 29 5 ( mod 8 ) 101 3 ( mod 7 ) -101 4 ( mod 7 ) 121 ,4关于模2不同余
易知 :a b ( mod m )
a ( mod m ) b ( mod m )
2020/3/26
14
移位密码实质上是正整数m上模运算,特别用Zm={0,1,…,m-1} 表示模m的剩余类,定义Zm上的加法和乘法,它完全类似于普通的 实数域上的数的加法和乘法,不同的仅是运算结果是取模以后的余 数。
-定义(移位密码算法):
设P = C = K = Z26,对0 k 25,即kK, x , yZ26,定义
(5) ( ab )( mod m ) a ( mod m )b ( mod m ) (6) 若a b ( mod m),c d ( mod m ), 则l,kZ(整数集合),
有la kc lb kd( mod m ) ,且ac bd ( mod m ) (7)设f(x)与g(x)分别是两个整系数多项式:
第2章 古典密码体制
2学时
2020/3/26
1
知识点:
◇ 隐写术 ◇ 替换(代替)密码技术 ◇ 换位密码技术 ◇ 古典密码体制的安全性分析
2020/3/26
2
1. 隐写术
2020/3/26
3
诗情画意传“密语”
水洗尘埃道未甞,甘于名 利两相忘。 心怀六洞丹霞客,口诵三 清紫府章。 十里采莲歌达旦,一轮明 月桂飘香。 日高公子还相觅,见得山 中好酒浆。
2020/3/26
9
ห้องสมุดไป่ตู้
古典密码技术根据其基本原理大体上可以分为两类: 替换密码技术和换位密码技术。
古典密码中的基本加密运算、体制单表和统计分析
其中的加法都是模
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 , 密文
解密变换为:
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
其中的加法和乘法都是
模 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 , 密文
设 X
n
Y n m 2 , , m n ) X n ,
k ( k 1 , k 2 , , k n ) K , 密文
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
– 密文: giffg hddn0 njngn cuaa0 inano meiog – 解密:加密的逆过程; 463521
6
课堂练习
•
对明文”can you believe her‖分别按以下算 法加密,求密文。
1. 2. 3. 4.
倒序置换密码; 密钥为3421的周期置换密码; 密钥为love的周期置换密码; 密钥为love的列置换密码;
– Vigenere密码;
• (4)多字母组代替密码(polygram substitution cipher)
– Playfair密码
10
同音代替密码
• homophonic Substitution cipher • 与简单代替密码系统相似,唯一的不同是单个字符可以映 射成密文的几个字符之一。 • 一个明文字母表的字母a,可以变换为若干密文字母f(a), 称为同音字母。 • 同样的明文,加密所得的密文可能不相同。 • 举例:
明文:M=m1m2…mi…ml 密文:C=c1c2 …c i …c l 工作钥:K=K1 K 2 …K i …K l
•
加密变换:
– – –
•
例:用户钥为cat,对明文“vigenere cipher‖加密
–
加密:ci=mi+Ki mod n,其中n为明文字母表的长度
M: K: C:
v c x
i a i
• 置换起到扩散(diffusion)的作用,代替起到混乱 (confusion)的作用。 • 扩散(diffusion)和混乱(confusion)是对称密码 设计的基本思想。置换和代替在现代密码设计中 仍然被采用:S盒,P盒;SP结构。
3
提纲
• 1 置换密码 • 2 代替密码 • 3 转轮机 • 4 ENIGMA的兴亡 • 作业
/
17
• 例:用Playfair密码加密明文“BOOKSTORE‖,密钥为 harpsicod
H I E M V
A C F N W
R O G Q X
P D K T Y
S B L U Z
明文填充规则:
– ①连续的相同字符间用X填充; – ②明文总长为偶数,末尾用X填充;
古典密码体制
1
古典密码与现代密码
• Classical Cryptography 古典密码学 • Contemporary Cryptography 现代密码学 • 许多古典密码都不能抵抗统计分析攻击。
– 替换密码虽然可以抗击穷举密钥攻击,但密码分析者可以利用英 文语言的统计规律来破译 – 经典密码分析的许多技术利用了英文语言的统计特性。
– – – – – – –
明文:ming chen jiu dian fa dong fan gong 加密密钥:3421(i=1,2,3,4的一个置换f (i) =3,4,2,1) 加密:将明文分组(4个字母一组),然后根据规定顺序变换 ming chen jiud ianf adon gfan gong ngim enhc udij nfai onda anfg ngog 密文:ngimenhcudijnfaiondaanfgngog 解密密钥:4312(3421的逆置换)
43,44
28,29,34 39
T
U V W X Y
18,23,24,30,40
37 21
G
H I J K L M 2,3,31 4,8
w
31 l 41 c
a
32 c 42 d
t
33 a 43 f
t
34 h 44 f
a
35 p
c
36 a
n
37 v
h
38 p
h
39 i
t
40 t
Z
“数字-字母”对应表
/
– 密钥:为一段给定的短文; – 将短文每一单词的首字母和一个数字(此单词在短文中出现的顺 序)对应,可得到一个1对多的“字母-数字”对应表; – 加密:明文字母可用其在对应表中的任何一个数字代替;
11
Canada’s large land mass and Scattered population make efficient comm. a necessity. Extensive railway, road and other transportation systems, as well as telephone, telegraph, and Cable networks, have helped to Link communities and have played a vital part in the Country’s development for future.
5,11,16,20,22,25 ,33,36 N O P 1,10,26,32,41 42 9,13 Q R S 14,15 6,19, 12,27 17 7,35,38
A
B 1 c 11 a 21 2 l 12 n 22 3 l 13 e 23 4 m 14 r 24 5 a 15 r 25 6 s 16 a 26 7 p 17 o 27 8 m 18 t 28 9 e 19 s 29 10 c 20 a 30 C D E F
5
置换密码(2)
• (3)列置换密码(距阵置换密码)
– 明文:
ming chen jiu dian fa dong fan gong – 密钥:yu lan hua – 加密:
• 去掉密钥重复字母:yulanh,得出距阵 列数为6;将明文按行填充距阵。 • 得到密钥字母顺序: 653142; • 按列(依顺序)写出距阵中的字母。
17
7,35,38 14,15 6,19 18,23,24,30,40 37 21
R
S T U V W X Y
E
F G H I J K L M
a
21 w 31 l 41 c
n
22 a 32 c 42 d
e
23 t 33 a 43 f
r
24 t 34 h 44 f
r
25 a 35 p
a
26 c 36 a
A B 1 c 11 2 l 12 3 l 13 4 m 14 5 a 15 6 s 16 7 p 17 8 m 18 9 e 19 10 c 20 C D 1,10,26,32,41 42 9,13 43,44 28,29,34 5,11,16,20,22,25,3 3,36 N 12,27
O
P Q
7
明文“can you believe her”
提纲
• 1 置换密码 • 2 代替密码 • 3 转轮机 • 4 ENIGMA的兴亡 • 作业
9
• 代替密码( Substitution cipher)就是明文中的每一个字符 被替换成密文中的另一个字符。接收者对密文进行逆替换 恢复出明文。 • (1)简单代替密码(simple substitution cipher):
18
•
•
The most well known digraph substitution cipher is the Playfair cipher, invented by Sir Charles Wheatstone. As well as devising the Playfair cipher he also invented the Wheatstone bridge. He also initiated the usage of electromagnets in electric generators and devised the stereoscope, a device for viewing pictures in three dimensions still used today. The Playfair cipher was named for Lyon Playfair, the first Baron Playfair of St. Andrews, who championed its usage at the British Foreign Office (although he was unsuccessful).
这本书中,他发明了自动密钥密码,这是一种理论上不可破译的加密算法。
15
多字母组代替密码-Playfair密码
• • • • • polygram substitution cipher 字符块成组加密的一种。 Playfair密码是一种2字母组代替密码。 密钥:由25个英文字母(除去J)组成的5阶方阵。 每一对明文字母m1和m2,都根据以下5条规则进行加密:
(1) 分组(2个为一组)加密:
– – – – – BO,同行,右,B→I,O→D OK,长方形,顶点,O→D,K→G ST,长方形,顶点,S→P,T→U OR,同列,下, O→G,R→O EX (填充X) ,长方形,顶点, E→G,X→V
Playfair密钥方阵
(2) 密文:IDDGPUGOGV
• 课堂练习:使用密钥加密明文“attack at nine morning‖ • 思考:解密算法?
– 明文的一个字符用相应的一个密文字符代替;亦称为单表 (monoalphabetic)代替密码; – 加法密码(例:Caesar密码),乘法密码,仿射密码;
• (2)同音代替密码(homophonic substitution cipher) • (3)多表代替密码(polyalphabetic substitution cipher)“字母-数字”对应表 Nhomakorabea13
多表代替密码-Vigenere
• • • Polyalphabetic substitution cipher,由多个简单的代替密码构成。 Vigenere密码是周期代替密码