密码学-第2章古典密码
实验二 古典密码
实验2 古典密码1.实验目的(1)了解古典密码中的基本加密运算。
(2)了解几种典型的古典密码体制。
(3)掌握古典密码的统计分析方法。
2.实验内容(1)古典密码体制①简单移位加密(单表代换)该加密方法中,加密时将明文中的每个字母向前推移K位。
经典恺撒密码加密变换就是这种变换,取k=3。
步骤1:打开CAP4软件,并加载实验一附带的“mw.txt”,如图2-1所示。
图2-1加载文件步骤2:采用恺撒加密方法手工加密“mw.txt”;打开CAP4菜单栏“Cipher”菜单项选择“simple shift”选项,并选择移位值“shift value”为3,加密步骤1中加载的文件,如图2-2所示。
图2-2 参数设置图2-3加密文件步骤3:比较二者的加密结果是否相同。
步骤4:点击CAP4软件中的“Simple analysis”下的“shift”键,观察恺撒加密法的可能密钥值,并分析其攻击的难度,如图2-4所示。
图2-4密钥分析②仿射密码加密(单表代换)在仿射密码加密(affine cipher)中,字母表中的字母被赋予一个数字,例如,a=0,b=1,c=2,…,z=25.仿射密码加密法的密钥为0~25之间的数字对(a,b)。
a与26的最大公约数必须为1,这就是说能整除a和26的数只有1.现在假设m为明文字母的数字,而c为密文字母的数字,那么,这两个数字之间有如下关系: c=(am+b)(mod 26)m=a-1(c-b)(mod 26)其中,(mod 26)的操作是:除以26,得其余数。
例如,选取密钥为(7,3)。
因为7与26互素,也就是只有公约数1,所以(7,3)可以作为仿射密码的加密钥。
将“hot”转换成数字7、14、19,利用仿射等式生成: c(H)=(7×7+3) mod 26=52 mod 26=0,即为字母“a“。
c(O)=(7×14+3) mod 26=101 mod 26=23,即为字母“x“.c(T)=(7×19+3) mod 26=136 mod 26=6,即为字母”g”. 这样,对于这个密钥,”hot”变成了“axg“.CAP4软件中实现仿射密码加密:步骤1:在CAP4软件中加载要加密地的明文“mw.txt“.步骤2:选取Cipher菜单下的Affine Cipher菜单项,弹出如下对话框,如图2-5所示。
第2章 古典密码学体制
– 密文: 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的兴亡 • 作业
chap2-古典密码
密钥 密文
密钥
明文
加密算法
明文 解密算法
加密密钥(Encryption Key) 解密密钥(Decryption Key)
基本概念
需要密钥的加密算法,记为:C=E(K,P),即密文消息同时
依赖于初始明文和密钥的值。实际上,E是一组加密算法, 而密钥则用于选择其中特定的一个算法。
加密与解密的密钥相同,即:P=D(K,E(K,P)) 加密与解密的密钥不同,则:P=D(K ,E(K ,P))
除了一次一密的方案外,没有无条件安全的算法 安全性体现在任意一条:
• 破译的成本超过加密信息的价值 • 破译的时间超过该信息有用的生命周期
密钥搜索所需平均时间
目录
1.
2. 3.
密码学的起源、发展和现状
密码学基本概念 典型几种古典密码技术
经典加密技术
替代 置换 隐写术
古典密码:替代(代替)
2018/6/26
41/72
古典密码:置换
改变明文内容元素的相对位置,保持内容的表现形式不 变 通常称为transposition或者permutation密码 通过重新安排消息字母的位置来隐藏明文信息,而不是 用其他字母来代换明文字母 这种方法是很容易破译的,因为密文拥有与明文一样的 字母频率统计特性
(4)任意k∈ K,有一个加密算法 ek E 和相应的解密 算法 d k D ,使得 ek : P C 和 dk : C P 分别为加 密解密函数, 满足dk(ek(x))=x ,这里 x ∈P。
密码编码系统分类
保密内容 密钥数量 明文处理的方式
保密内容
受限制的(restricted)算法
密码技术专题(二)——古典密码体制
密码技术专题(二)—古典密码体制∙1、密码体制的概念o明文信源o密文o密钥与加密运算o密码体制∙2、古典密码体制的发展o古典加密方法o代替密码o换位密码o转轮密码∙3、几种典型的古典密码体制o CAESAR体制o双字的Playfair体制o维吉尼亚体制o Hill体制我们已经知道,一个密码体制由明文信源、密文、密钥与加密运算这四个基本要素构成,下面我们将进一步给出它们的数学模型。
1、明文信源直观地讲,明文信源就是明文字母表或者明文字母。
比如所有的英文字母、全部的中文字符就是典型的明文字母表。
准确一点,明文信源还应当包含明文字母的概率分布。
如果用X表示明文字母表,则它的元素x∈X则就是明文字母。
在明文字母表中,不同的明文字母出现的频率往往是不同的,比如在26个英文字母中,一般来说字母“e”的频率最高;而在汉字中,可能是“的”字频率最高。
所以,一个明文信源记为S=[X,p(x)],其中X为明文字母表,p(x)为明文字母x∈X 出现的概率,而且p(x)满足如下条件:对任何x∈X,p(x)≥0,且∑p(x)=1。
2、密文密文由密文字母表Y和密文字母y∈Y组成,密文字母表一般是指密文可能使用的全部字母的集合,而y∈Y是它的元素。
密文字母表可以与明文字母表相同,也可以不同。
3、密钥与加密运算密钥用来从密码体制的一组加密运算中选择一个加密运算(或者称为加密步),密钥允许你按照以前制定的规则改变加密,比如每天,或每份报之后,或者每个字符之后。
通常,密钥的组织和编排须利于它们允许通过简单的规则产生单独的加密步。
加密方法的组合复杂度取决于在此方法下密钥的数量。
如果用K表示密钥空间,也就是选择加密步的参数集合,k∈K则称为一个密钥。
加密步就是明文字母表X到密文字母表Y的一个映射:E:X→Y,对每个x∈X。
由于加密步并不是单一的,而是一族运算,因此我们就可以记为Ek=Ek(x),其中x∈X,k∈K。
除特殊的编码方法外,如多名码或多音码,对于每个k∈K,Ek(x)都是X到Y的1-1映射。
第二章 简单密码学(补充古典密码学)
中
所使用的方式,其中密钥k=3,比如hello!就表示为khoor(忽略空格和符 号),它的数学表达式为:
加密:c=m+k(mod26)
解密:m=c-k(mod26) 加密步骤:1)先将26个英文字母编号:a,b,c,d……y,z;每个英文字母对应
的数字分别是0,1,2,3……24,25,注意这里的编号是从0开始的,与我们平时
12
Caesar密码
Caesar密码攻击
湖南公安高 等专科学校
如果在一篇用恺撒密码加密的密文中(假设它的字数很多,
而且字母随机性很好),我们就可以从中发现出现频率最多的 字母,假设它为e或者t或者a,将出现频率最低的字母假设为x 或者z或者q,然后玩填字游戏,找到加密所使用的k,攻破这个 加密体制。 求解k的表达式为:k=c-m(mod26) 注意:如果k为负数时,则加上26,使得k始终是一正数
第二章 简单密码学(补充——古典密码学)
湖南公安高 等专科学校
候选明文 exxegoexsrgi dwwdfndwrqfh cvvcemcvqpeg buubdlbupodf attackatonce zsszbjzsnmbd yrryaiyrmlac … haahjrhavujl gzzgiqgzuti式为:
加密:c=m+k(mod26) 解密:m=c-k(mod26) 其中k即密钥,也就是关键字(如cipher)的字母个数。还有一点与Caesar 密码不同,这里的字母表中字母顺序打乱了,不再是完全按英文字母顺序排列 的,关键字不同,密码表的次序就不相同,保证了安全性,比Caesar密码更加 健壮,单由于它仍然是单表替换密码,同样可用字母出现频率弱点进行攻击。
第二章 简单密码学(补充——古典密码学)
密码学-2
密钥量为 ( q! ) n
5、换位密码 (这里换位被看作一种多表代替密码!)
n X n Y n Zq ,
K 为 {1,2,, n} 上的全体置换的全体, 对任意明文 m (m1 , m2 ,, mn ) X n,k K, c E(m) (m (1) , m ( 2) ,, m ( n ) ) k
Z5
+ 0 1 2 3 0 0 1 2 3 1 1 2 3 4 2 2 3 4 0 3 3 4 0 1 4 4 0 1 2 * 1 1 1
* Z5
2 2
3 3
4 4
2
3 4
2
3 4
4
1 3
1
4 2
3
2 1
4
4
0
1
2
3
对于英文字母表 q=26
字母 数字
Z 26 {0, 1, 2,, 25}
f
c Ek (m) (m k ) mod q m Dk (c) (c k ) mod q
加法密码的密钥量为q 。 移位密码,凯撒密码体制
2、 乘法密码 X Y Z q , K Z q *, m X , k K ,
c Ek (m) km mod q, m k c mod q
密钥量为 (q )! 当q为素数时
n
A
D
B
E
R
P-1
b r e a d
* 求逆时需要重新排序!
(4 5 1 3 2) (3 5 4 1 2)
代替:字母表上的置换表。 (substitution) 换位:明文字母上的置换。(直接称为置换permutation) 混淆和扩散 S 盒和 P 盒
02 古典密码及分析
已知明文攻击,known plaintext
选择明文攻击,chosen plaintext
选择密文攻击,chosen ciphertext
选择文本攻击,chosen text
西安电子科技大学计算机学院
7
基于密码分析的攻击
Cryptanalytic Attacks
An algorithm that meets one or both of the following criteria:
An encryption scheme is said to be computationally secure if either of the foregoing two criteria are met.
unconditionally secure
8
西安电子科技大学计算机学院
穷举攻击
Key Size (bits)
西安电子科技大学计算机学院
15
对称密码模型
(Symmetric Cipher Model)
西安电子科技大学计算机学院
16
西安电子科技大学计算机学院
17
对称密码安全的两个必备条件:
加密算法必须是足够强的 a strong encryption algorithm 惟有发送者和接收者知道的秘密密钥 a secret key known only to sender / receiver C = EK(P) P = DK(C)
10
密码学的发展历史
第1阶段:1949年以前
1949年以前的密码技术可以说是一种艺术,而不是一种科 学,那时的密码专家是凭直觉和信念来进行密码设计和分 析的,而不是靠推理证明。
03_密码学基础(二)_古典密码算法
Vigenére cipher-破译 破译
依然保留了字符频率某些统计信息 重码分析法: 重码分析法:间距是密钥长度整数倍的相同子串有相同 密文,反过来, 密文,反过来,密文中两个相同的子串对应的密文相同 的可能性很大 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 密钥: 密钥 cryptographycryptographycr 明文: 明文 yourpackagereadyroomathree 密文: 密文 AFSGIOI PG PG…
FDHVDU FLSKHU
caesar cipher
明文 a 变成了密文 D
明文 密文
abcdefghijklmnopqrstuvwxyz DEFGHIJKLMNOPQRSTUVWXYZABC
FDHVDU FLSKHU Nhomakorabeacaesar cipher
明文 e 变成了密文 H
单字母替换密码
单表替换密码 移位( 密码、乘数( 移位(shift )密码、乘数(multiplicative)密码 密码 仿射( 密码、多项式( 仿射(affine ) 密码、多项式(Polynomial)密码 密码 密钥短语( 密钥短语(Key Word)密码 密码 多名替换密码 多表替换密码 维吉尼亚( 维吉尼亚(Vigenere)密码 密码 博福特( 博福特(Beaufort)密码 ) 滚动密钥(running-key)密码 滚动密钥 密码 弗纳姆(Vernam)密码 弗纳姆 密码 转子机(rotor machine) 转子机
应用密码学第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
《应用密码学》 第二讲 古典密码 课件
古典密码(基于字符)的编码方法: 代替(代换)、置换
2020/2/1
一、古典密码
1、代替密码:明文中每一个字符被替换成密文中 的另外一个字符。接收者对密文进行逆替换就恢 复出明文来。在古典密码学中,有四种类型的代 替密码: ①简单代替密码 ②多名码代替密码 ③多字母代替密码 ④多表代替密码
另外,编制古典密码的基本方法对于编制近 代密码仍然有效。 例1:斯巴达人用于加解密的一种军事设备:
情报发送者把一条羊皮螺旋形地缠在一 个锥形棒上 思想:置换
2020/2/1
一、古典密码学
例2:凯撒密码:公元前50年 明文:System models 密文:Vbvwhp prghov 思想:代替
明文: ABCDEFGHIJKLMNOPQRSTUVWXYZ
M=INTELLIGENT Ek(M)= DJTSFFDCSJT 思考:解密怎么做?
2020/2/1
一、古典密码学
②加法密码(移位密码) ● M和C是有26个字母的字母表。
K={0,1,2…25}
●定义一个由M到C的映射:Ek:M →C Ek(mi) = (mi+k) mod 26 Dk(ci) =(ci-k) mod 26
cmodn
2020/2/1
剩余类和剩余系
由于同余关系是等价关系, 因此对于给定的任一正整数 n, 利用模n同余这个关系, 可将整数集划分成n个等价 类, 由于它是一些整数除n后的余数形成的, 所以称它是 剩余类或同余类.
定义:设n是一给定的正整数, 若 [r]n := {i}{ ir(mod n) iZ, 0≤r≤n-1}
Ek(mi)=(ami+b) mod 26 Dk(ci)=a-1(ci-b) mod 26
第2讲--古典密码
其中 n m q 读作 n 模q,它是 od , 除后所得的余数. n被q除后所得的余数. 如18 mod7 = 4 上述加法称为模 加 上述加法称为模q加. 脱密变换: m = Dk (c) = (c − k) m q 脱密变换 od
c1 − c2 = [(m + 3) m 10 − (m2 + 3) m 10] od od 1
12
= [(m + 3) − (m2 + 3)] m 10 = (m −m2 ) m 10 od od 1 1
例4: Caesar密码(凯撒密码) Caesar密码 密码(
这是一种对英文字母的典型逐字母加密的 的加法密码,其密钥k=3。 英文字母被编码为该字母的序号 英文 A B C D … X Y Z 数字 0 1 2 3 … 23 24 25 加密变换为: 加密变换为
14
二、多表代替密码 根据密钥的指示, 根据密钥的指示,来选择加密时使用的单 表的方法,称为多表代替密码。 多表代替密码 表的方法,称为多表代替密码。 例4:加密变换为: c = Ek (m) = (m + k) m 10 加密变换为: od 不再是固定常数而是密钥。 但 k 不再是固定常数而是密钥。 加密算法: 加密算法: 明 文: 晨 五 点 总 攻 明文序列: 明文序列: 1931 4669 2167 5560 1505 密钥序列: 密钥序列: 4321 5378 4322 3109 1107 密文序列: 密文序列: 5252 9937 6489 8669 2602 若密钥序列是随机的,该密码就是绝对安全 绝对安全的 若密钥序列是随机的,该密码就是绝对安全的. 随机就是指序列的信号相互独立且等概分布 就是指序列的信号相互独立 分布. 随机就是指序列的信号相互独立且等概分布.
现代密码学02 - 古典密码
映射关系
24
频率分析:简单代换密码的终结者 字母出现频率差别很大 频率分布极不均匀
25
频率分析:简单代换密码的终结者
字母 出现频率 字母 出现频率
a
0.082
n
0.067
b
0.015
o
0.075
c
0.028
在这种大环境下,阿拉伯世界 成为东西方文明交流的中转站,其 成就对欧洲乃至全世界都产生了巨 大影响。
Abbasid Caliphate (850)
20
频率分析:简单代换密码的终结者
频率分析 最早记录于9世纪阿尔.金迪的
革命性著作《关于破译加密信息的手稿》。 这项伟大成就是语言学、统计学和宗教信
仰之间的卓越联合,它在密码学历史上掀起 一场革命。
使用不同的代换表进行加解密。
注意:在维吉尼亚密码中,代换表不再是密钥了。
44
维吉尼亚密码
维吉尼亚密码的代换表 如右图
每行都由前一行向左移一位得到。 实际就是26个移位密码的代换表。 具体使用哪一行代换表,是基于 密钥进行的,在代换过程中会不断 变换。
45
维吉尼亚密码
明文:ATTACKATDAWN 密钥:LEMON (m=5) •加密
Julius Caesar (100 BC – 44 BC)
a b c d e . . . wx y z DE F GH . . . ZABC
没有密钥,不安全
13
移位密码
工作原理 • 加密 : 把明文中每个字母代换为字母表中其后的第k个字母
• 解密 : 与加密相反,把密文中每个字母代换为字母表中其前的第k个字母
密码学第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
应用密码学第2讲-311
字母
A B C D E F G H I
表2.1 英文字母的概率分布
概率
0.08167 0.01492 0.02782 0.04253 0.12702 0.02280 0.02015 0.06094 0.06966
字母
J K L M N O P Q R
概率
0.00153 0.00772 0.04025 0.02405 0.06749 0.07567 0.01929 0.00095 0.05497
(1) 双字母出现的概率 例如QE出现的概率。按照一阶特性计算QE出现的概率为
p(QE)=0.0095 × 0.12702 ≈ 1.21 × 10-4 但是在英文课文中QE根本不会出现。 (2)四字母SEND和SEDN在一阶统计特性下出现的概率相等, 这也不符合实际。
8
2.1 语言的统计特性
双字母出现的频数表示为:N(i,j) i, j = 0,1,2, (m-1) (N双-字1母) 出现的概率p(xi,xj)近似地可以表示为 p(xi,xj) = N(i,j) /
以下将q个字母的字母表与Z模q中数作一一对应,利用每个字母 对应的数字代替该字母。例如, 将英文字母表作如下对应:
a b c …y z
0 1 2 … 24 25
这样, 可以用0表示a, 用1表示b.....。
移位代替密码是最简单的一种代替密码。其加密变换 为:Ek (m) m k c(mod q),0 ≤ m, c<q
Zm={0,1,…,m-1}
3
2.1 语言的统计特性
例如,英文字母表可以表示为 X={a,b,c,…,x,y, z} 或者 Zm={0,1,2,…, 24,25}
明文是由Zm中的元素和固定的结合规则确定的。因此具有 语言的统计特性。 例如:字母q后总是跟着字母u。
密码学第2章 古典密码体制
密码体制 2.2: 代换密码
令 P C Z26 。 K 由 26 个数字 0,1,…,25 的所有
可能置换组成。对任意的置换 K ,定义:
再定义
e (x) (x) ,
d ( y) 1 ( y) ,
这里 1 代表置换 的逆置换。
也可以认为 P 和 C 是 26 个英文字母(而不是 Z26 元
解密法则 dK D 。并且对每一 eK : P C , dK : C P ,对任意
的明文 x P ,均有 d K (eK (x)) x 。
保密通信过程示意图
实用密码体制需要满足的基本条件
1.每个加密函数 ek 和每个解密函数 d k 应当能被有效地 计算。
2.即使看到密文串 y,窃听者 Oscar 确定所用的密钥 k 或明文串 x 是不可行的。
性质 1-10,说明 Zm 是一个环。
由于在 Zm 中存在加法逆,我们可以在 Zm 中做减法。定 义 Zm 中 a b 为 (a b) mod m 。即,我们计算整数 a b , 然后对它进行模 m 约化。例如,为了在 Z31 中计算,我们 首先用 11 减去 18,得到 7 ,然后计算 (7) mod 31 24 。
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 称为模数。
例:计算101mod7 ,101 7 14 3 ,因为 0 3 6 ,故 101mod7 3
2密码学基础
2.2 古典密码
介绍四种古典密码 简单代替密码 双重置换密码 一次一密 电子本密码
上一页 下一页 停止放映
第13页
2.2.1 简单代替密码
简单代替密码的简单实现 就是将明文按照字母表中当前字母后移N位加密 产生的。 通过查找明文行中的字母,并用密文行中对应的 字母进行代替。
上一页 下一页 停止放映
第8页
How to Speak Crypto
上一页 下一页 停止放映
A keyis used to configure a cryptosystem 在加密解密过程中要使用密钥 A symmetric keycryptosystem uses the same key to encrypt as to decrypt 在对称密钥密码中,加密和解密过程使用相同的 密钥 A public keycryptosystem uses a public key to encrypt and a private key to decrypt 对于公钥密码,加密和解密过程中使用的密钥不 相同,其中加密密钥被公开称公钥,解密密钥必 须保密,称私钥。
上一页 下一页 停止放映
第18页
Not-so-Simple Substitution
Shift by n for some n{0,1,2,…,25}
Then key is n
Example: key n = 7
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
第9页
密码的目标
对于任何一个密码系统,其目标都是: 只有掌握密钥的情况下才能将密文恢复成明文。
2-古典密码
凯撒密码
凯撒密码表
abcdef ghi j kl m D E F G H I J K L MN O P n o p q r s t u v wx y z Q R S T U V WX Y Z A B C
加密明文消息时采用不同的单表代换,由密钥具体决 定采用哪个表代换消息,密钥通常是一个词的重复 。
简化的多表代换密码 ----维吉尼亚密码( Vigenère Cipher ):由26个类似 caesar密码的代换表组成
多表代换密码
维吉尼亚密码:在长为m的密码中,任何一个字母可 被影射为26个字母中的一个
仿射密码安全性分析
对于仿射密码,c=e(p)= k p+b (mod 26),因为k要和26 互质,并且还要去掉1,密钥空间只有11个,不能 经得起穷举分析。
例2-3:假设从仿射密码获得的密文为: FMXVEDKAPHFERBNDKRXRSREFMORUDSDKDV
SHVUFEDKAPRKDLYEVLRHHRH 仅有57个密文 字母,但足够分析仿射密码。 具体说一下
Vigenere密码
明文:h e r e i s h o w i t w o r k s 密钥:21 4 2 19 14 17 21 4 2 19 14 17 21 4 2 19 密文:C I T X W J C S Y B H N J V M L
如果仅知道算法和密文,如何破解?
多表代换密码
已知m个连续的明文和密文,可以恢复维吉尼亚密 码的单表移位量(即密钥); 穷举攻击:已知密文,明文为有意义字符,至多尝试 26m 个,可以恢复明文
class2_古典密码学
单表代换—多项式代换密码
(Polynomial SubstitueCipher)
移位密码、乘法密码、仿射密码
是多项式密码的特例!
代换密码(Substitution Cipher)
单表代换—密钥短语密码(Key Word/Phrase Cipher)
单表代换 单字母代换 单码代换 流密码 代换密码
Phaistos圆盘,直径约160mm的Creran-Minoan粘土圆盘,始于公元前17
世纪。表面有明显字间空格的字母,至今还没有破解。J.Friedrichs:“如 果没有进一步的线索,短的报文段不会提示其含义的。”
双密码盘,估计始于18或19世纪。外层圆盘上有类似词汇表的明文,明文 中有字母,元音字母和常用单词。密文是由两位的十进制数组成的。
多表代换:以一系列代换表依次对明文字母进行代换
周期多表代换密码
d的长度为1:单表代换密码 d的长度和明文一样长:滚动密钥密码 密钥不重复:一次一密钥密码
密钥取自:书、报告 起始位置:书名、章节号、标题
代换密码(Substitution Cipher)
多表代换—弗纳姆Vernam密码
代换密码(Substitution Cipher)
内容及分类
单表代换 单字母代换 单码代换 流密码 代换密码
棋盘密码 移位代换密码凯撒密码 数/采样密码 仿射密码 多项式代换密码 密钥短语密码 乘 非周期多表代换密码 一次一密密码
多表代换
周期多表代换密码
古典 密码
置换密码
多字母代换 多码代换 分组密码
单表代换 多表代换
Playfair密码 希尔(Hill)密码 (矩阵变换密码) 置换 矩阵
单表代换 —棋盘密码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主要内容
古典密码中的基本加密运算 几种典型的古典密码体制 古典密码的统计分析
2.1 古典密码中的基本加密运算
单表密码体制 多表密码体制
对于一个密码体制, 明 文字母对不同位置的同一明文字 母在密文中对应的密文字 母不同.
ci = mi⊕ki , i ≥1。
在用Vernam密码对明文加密时,如果对不同的明文使 用不同的密钥,则这时Vernam密码为“一次一密”(onetime pad)密码,在理论上是不可破译的。如果存在不 同的明文使用相同的密钥,则这时Vernam密码就比较 容易被破译。
5. Hill体制
Hill体制的基本思想是将n个明文字母通过线性 变换转换为n个密文字母。解密时只需做一次逆 变换即可。密钥就是变换矩阵。
例2.6(P22)
第2章总结
单表古典密码中的基本加密运算:加法、乘法、仿射、置 换 多表古典密码中的基本加密运算:简单加法、简单乘法、 简单仿射、简单置换、换位、广义置换、广义仿射 几种典型的古典密码体制:Caesar、标准字头、Playfair、 Vigenere、Beaufort、Vernam(one-time pad)、Hill 古典密码的统计分析:单表、多表(Kasiski测试法、重 合指数法)
确定密钥字:交互重合指数
定义2.1(x的重合指数):x中的两个随机元素相 同的概率,记为Ic(x)。
Ic(x) ≈ 0.065
定义2.2(x和y的交互重合指数):x中的一个随机 元素与y中的一个随机元素相同的概率,记为 MIc(x, y) 。
yi与yj的相对位移:(ki − kj) mod 26
3. Beaufort体制
设明文m = m1m2…mn,k = k1k2…kn,则密文
c = Ek(m) = c1c2…cn, 其中ci = (ki + 25 - mi) mod 26, i = 1, 2, …, n。
同Vigenere体制一样,当密钥的长度比明文短时,密钥 可以周期性地重复使用,直至完成明文中每个字母的 加密。 表2.5称为Beaufort方阵(书P13)。当用密钥字母ki对明 文字母mi进行加密时, Beaufort方阵中的第ki行第mi列 的字母就是相应的密文字母。
2.1.1 单表古典密码中的基本加密运算
4. 置换密码 2. 仿射密码 3. 乘法密码 1. 加法密码
设 为 ,对任意 上全体置换 设 ,对任意 ,密文 对任意 密文 的集合. 对任意 密文 显然 , 仿射密码是置换密码的特例 解密变换为 其中, q 是正整数, 解密变换为 其中,
显然, 加法密码和乘法密码都是仿 射密码的特例.
例2.5(P16)
表2.6 26个英文字母的出现频率
2.3.2 多表古典密码的统计分析
在多表古典密码的分析中,首先要确定密钥字的长度, 也就是要首先确定所使用的加密表的个数,然后再分析确 定具体的密钥。 确定密钥字长的常用方法有: Kasiski 测试法 (Kasiski test)
重合指数法 (index of coincidence)
问题:
置换和换位的定义、区别?
作业:
习题2.1、2.2、2.3、2.4、2.6
抽象代数
群:由一个非空集合和一个二元运算组成,并满 足封闭性、结合性、单位元、逆元的代数系统。
乘法群
环:一个集合,可以在其上进行加法和乘法运算 而封闭。
交换环:对于乘法运算可交换
域:非零元都有乘法逆的交换环。
2. 2 几种典型的古典密码体制
几种典型的单表 古典密码体制
几种典型的多表 古典密码体制
2. 2.1 几种典型的单表古典密码体制
Caesar 体制
标准字头密码体制
2.2.2 几种典型的多表古典密码体制
明文 Playfair 体制 其他多表古典密码体制有 密钥是一个 5×5 的构造矩阵 分组 Vigenere 体制 Beaufort 体制 加密时, 先在明文字母串插入特定字母 , 譬 如字母q, 使得长度为偶数 , 然后两两分组, Vernam 体制 每组中的两个字母不同。 Hill 体制
首先确定密钥字的长度,即加密表的个数。
Kasiski测试法:寻找密文中长度至少为3的相同 的密文片段对,计算每对密文片段中的两个密 文片段之间的距离。这样,我们就得到了一些 距离值d1, d2, d3, …di.我们可以猜测密钥字的 长度m可能是d1, d2, d3, …di的最大公因子。 重合指数法:利用重合指数法可以进一步确定 密钥字的长度是否为m。
P 中同行,
密文
P 中同列,
非同行同列,
为紧靠各自右端的字母 为紧靠各自下方的字母 为确定矩阵的对角字母
2. Vigenere体制
设明文m = m1m2…mn,k = k1k2…kn,则密文
c = Ek(m) = c1c2…cn, 其中ci = (mi + ki) mod 26, i = 1, 2, …, n。 当密钥的长度比明文短时,密钥可以周期性地 重复使用,直至完成明文中每个字母的加密。
字母 a b c d e f g h i j k l m 百分比 8.2 1.5 2.8 4.2 12.7 2.2 2.0 6.1 7.0 0.1 0.8 4.0 2.4 字母 n o p q r s t u v w x y z 百分比 6.8 7.5 1.9 0.1 6.0 6.3 9.0 2.8 1.0 2.4 2.0 0.1 0.1
表2.4称为Vigenere方阵(书P12)。当用密钥字 母ki对明文字母mi进行加密时,Vigenere方阵中 的第ki行第mi列的字母就是相应的密文字母。
例2.2
设明文为 This cryptosystem is not secure, 密钥为cipher, 则密文为:
VPXZGI AXIVWP UBTTMJ PWIZIT WZT。
例2.3
设明文为 This cryptosystem is also not secure, 密钥为cipher, 则密文为:
IAGOBZ DSVSLS JOKUVY BWWSQC IPKEJZ X。
4. Vernam体制
Vernam密码在加密前首先将明文编码为(0, 1)字符串。
设明文m = m1m2…mn,k = k1k2…kn,其中mi , ki∈GF(2) , 则密文c = c1c2…cn ,其中
因此,明文Hill的密文为XIYJ.
2. 3 古典密码的统计分析
单表古典密码的 统计分析
多表古典密码的 统计分析
2.3.1 单表古典密码的统计分析
单表古典密码体制的密文字母表实际上是明文字母表 的一个排列。 因此, 明文字母的统计特性在密文中能够反 映出来。当截获的密文足够多时, 可以通过统计密文字母 的出现频率来确定明文字母和密文字母之间的对应关系。
2.1.2 多表古典密码中的基本加密运算
3. 4. 6. 1. 7. 简单仿射密码 简单置换密码 广义置换密码 广义仿射密码 5. 2. 简单乘法密码 换位密码 简单加法密码 设 设 设 对任意
对任意 密文 对任意
密文 密文 其中的加法都是模 q 加法 . 显然 , 简单 其中的乘法都是模 q 乘法 . 显然 , 简单乘法 加法密码的密钥量为 密码的密钥量为 其中的加法和乘法都是模q 加法和乘法. 显然, 简单仿射密码的密钥量为
设明文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
有限域(伽罗瓦域):GF(2)