02 古典密码及分析
密码学-第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 古典密码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 古典密码

• 实用加密体制需满足:
1.Εk,Dk易于计算
2.对任何敌手,即使获得密文y,不可能由此确
定k和x。
• 已知y,试图得到k的过程,称为密码分析。 • 要求:通过y计算k至少与通过y计算x同样困难。
移位密码不安全,可用穷尽密钥搜索破译 例: 密文 V H F X U LW B v h f x ul wb u g e w tk va
Jiangsu University
2 古典密码
古典密码体制
古典密码有两个基本工作原理:
代换(substitution) 置换(permutation)
这两个基本工作原理在仍然是现代对称加密算法的最重要 的核心技术
现代对称密码DES和AES中就有这两个工作原理的应用
11/10/15 10:57
• 已知m,确定K=(k1,k2,…km)
---- f0,f1,…,f25为A,B,…,Z在yi中出现的频数,n’=n/m为yi长度 26个字母在yi中的概率分布为: f0/n’,f1/n’,…,f25/n’ ---- yi中是由明文子集中字母移ki位所得,故移位后概率分布 fki/n’,f1+ki/n’,…,f25+ki/n’ 应近似等于p0,p1,…,p25 ---- 定义Mg=∑(pifi+g)/n’, g=0,1,…25
如果g=ki,
Mg ≈ ∑pi2=0.065
如果g≠ki, Mg 一般应该<0.065 对每个i,由此确定ki
换位密码
换位密码,也成为置换密码,通过重新排列消息中元素的位 置而不改变元素本身来变换一个消息,这种思想广泛应用于 现代分组密码的构造。
密钥为置换: 加密算法为: 显然有: 解密算法为:
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映射。
第1章02--古典密码

11
例1: 汉字和符号的区位码(单表代替) 2211
2277
12
例2 以十进值数为代替单位的代替函数
S : {0,1,2,,9} {0,1,2,,9}
假设S[10] {5, 4,8, 2,1, 0,9,7,3,6}
即代替表为:
明文 0 1 2 3 4 5 6 7 8 9 密文 5 4 8 2 1 0 9 7 3 6
则明文晨五点总攻 先变换为区位码 1931 4669 2167 5560 1505 再被加密成密文 4624 1996 8497 0095 4050 单表代替的缺点:明文字符相同,则密文字符也相同
13
例3 加法密码 选定常数 q 和 k. 明文空间=密文空间= Zq {0,1,2,, q 1}
18
y=24, 7*24+21(mod26)=7,
yh
例6:仿射密码
加密变换: 脱密变换:
c (am b) mod26
m a (c b) mod26
1
0 m, c 25
a-1是a的乘法逆元 a-1*a(mod26)=1
如:设(a,b)=(7,21),对vlxijh脱密。 7-1mod26=? 7*15mod26=1 7-1mod26=15
比较
计算散列值
随机选取M2
5
密码学的目标(2)
在敌人可能会对消息进行伪造的前 提下,采取额外的步骤以便接收者 能够对消息的完整性进行验证。
保密性 完整性 认证 不可否认
指身份特征或者消息实体的代表的属性。 认证算法:消息认证码(MAC)
需要秘密密钥来阻止任何人对标记进行伪造
具有同意负责任的属性。 不可否认和认证的性质十分相似,从 实现角度上讲,它们大都使用了相同 的基本原理。 当使用者具备签名能力时,他的公钥 签名才能称为不可否认性“设备”。
2 古典密码分析

•代替密码
简单代替密码(simple substitution cipher),又称单 字母密码(monoalphabetic cipher):明文的一个字符用 相应的一个密文字符代替。
多字母密码(ployalphabetic cipher):明文中的字符 映射到密文空间的字符还依赖于它在上下文中的位置。
可能尝试的密钥只有11个
仿射密码算法-i
• 加密函数取形式为
e(x)=ax+b (mod 26), a,b∈Z/(26)
要求唯一解的充要条件是 gcd( a,26)=1 该算法描述为: 设 P=C=Z/(26)
K={(a,b) ∈Z/(26)×Z/(26)|gcd(a,26)=1}, 对 k=(a,b) ∈K, 定义
(4)若a≡b mod q且b≡c mod q ,则a≡c mod q
模q算术-ii
• 模算术(Modular Arithmatic)
在mod q的q个剩余类集{0,1,2,…,q-1}上可以定 义加法和乘法运算如下: 加法: (a mod q)+ (b mod q)= (a+b) mod q 乘法:(a mod q) × (b mod q) = (a ×b)mod q
代替密码(substitution cipher):就是明文中的每一个字 符被替换成密文中的另一个字符。接收者对密文做反向替 换就可以恢复出明文。 置换密码(permutation cipher),又称换位密码 (transposition cipher):明文的字母保持相同,但顺序被 打乱了。
经典密码体制 代替密码 单字母密码 单表代换密码 多表代换密码 多字母密码 置换密码
1.4 古典密码
数学与系统科学学院
《古典密码学》课件

03
古典密码学的加密 方式
替换式密码
原理:将明文中的每个字符 替换为其他字符
例子:凯撒密码,每个字符 向后移动3位
优点:简单易用,易于实现
缺点:安全性较低,容易破 解
错位式密码
原理:通过改变字母的 位置来加密信息
应用:广泛应用于古代 军事、外交等领域
政治机密保护
古代战争:传递军事情报,保护军事机密 外交谈判:保护外交机密,防止泄露 皇室宫廷:保护皇室机密,防止篡位夺权 商业贸易:保护商业机密,防止竞争对手窃取商业信息
商业秘密保护
商业合同:保护商业合同中的机密信息 商业谈判:保护商业谈判中的机密信息 商业计划:保护商业计划中的机密信息 商业策略:保护商业策略中的机密信息
文艺复兴时期的密码学
起源:文艺复 兴时期,密码 学开始兴起
代表人物:莱 昂纳多·达·芬奇、 伽利略等
密码类型:替 换密码、移位 密码等
应用领域:军 事、外交、商 业等
古典密码学的概念
古典密码学的主要目的是 保护信息的机密性
古典密码学是研究如何将 明文转换为密文的学科
古典密码学的主要方法包 括替换密码和置换密码
古典密码学与现代密码学的关系
古典密码学: 基于数学和 逻辑的加密 方法,如凯 撒密码、维 吉尼亚密码 等
现代密码学: 基于计算机 和通信技术 的加密方法, 如RSA、 AES等
关系:古典 密码学是现 代密码学的 基础,现代 密码学在古 典密码学的 基础上进行 了改进和创 新
局限性:古 典密码学在 安全性和效 率上存在局 限性,容易 被破解
步骤:收集足够多的密文 样本,统计字符频率,找
出最可能的字符
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
已知明文攻击,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年以前的密码技术可以说是一种艺术,而不是一种科 学,那时的密码专家是凭直觉和信念来进行密码设计和分 析的,而不是靠推理证明。
标志:1949年Shannon发表的《保密系统的信息理论》一文, 标志着密码术到密码学的转变。 标志:1976年Diffie和Hellman发表了《密码学新方向》一 文,提出了一种崭新的密码设计思想,导致了密码学的一 场革命。
26! = 4 1026
2 1026 µ s = 6.4 1012 years
西安电子科技大学计算机学院
6.4 106 years
9
两个概念
绝对安全,unconditional security 计算安全,computational security
西安电子科技大学计算机学院
古典代替密码
将明文字母替换成其他字母、数字或符号的
方法;
如果把明文看成是0或1的序列,那么密文就
是0或1比特序列的另一种表达。
西安电子科技大学计算机学院
22
恺撒密码
Caesar Cipher
所知道的最早的代替密码 Julius Caesar 首先用在军事通信中 用字母后的第三个字母代替
明文P = p1p2…pn
(加密)运算:Ci = pi + k (mod 26), i = 1,2,…,n
解码得密文:C = c1c2…cn
西安电子科技大学计算机学院
24
恺撒密码-加密
方式二:查表(例k=3)
明 文
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
32 56
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)
惟密文攻击,ciphertext only
only know algorithm & ciphertext, is statistical, know or can identify plaintext know/suspect plaintext & ciphertext select plaintext and obtain ciphertext select ciphertext and obtain plaintext select plaintext or ciphertext to en/decrypt
密码是通信双方按约定的法则, 进行信息特殊变换的一种重要保密手段
西安电子科技大学计算机学院
3
密码学
密码学是研究编制密码和破译密码的学科
密码编码学 密码分析学
西安电子科技大学计算机学院
4
密码编码学
Cryptography
研究内容
主要研究对信息进行编码,实现对信息的隐蔽。
特征
运算类型:代换与置换 所用的密钥数:单钥与双钥
第2阶段:从1949年到1976年
第3阶段:1976年至今
西安电子科技大学计算机学院
11
密码算法分类
按照保密内容
受限制的(restricted)算法:算法的保密性基于保持算法的 秘密;
基于密钥的(key-based)算法:算法的保密性基于对密钥 的保密 对称密码算法(传统密码算法或单钥密码算法) 非对称算法(公开钥密码算法或双钥密码算法) 分组密码 流密码
西安电子科技大学计算机学院
26
恺撒密码-解密
方式二:查表(例k=3)
密 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
明 文
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
西安电子科技大学计算机学院
27
恺撒密码的密码分析
共有密钥25个 可简单地依次去测试 ,强力搜索,穷举攻击 基于字母频率的破译方法 所破译的明文需要识别
• The cost of breaking the cipher exceeds the
value of the encrypted information. • The time required to break the cipher exceeds the useful lifetime of the information.
33
Playfair密钥矩阵
5X5 填写密钥单词 用其他字母填写剩下的空缺 I=J
M O N A R
C
E
H
F
Y
G
B
I/J
D
K
L U
P V
Q W
S X
T Z
西安电子科技大学计算机学院
34
M
O H
N Y
A B
R D
Playfair密码的加/解密步骤
C
E
L U
F
P V
G
Q W
I/J
31
英语字母使用频率
西安电子科技大学计算机学院
32
Playfair密码
单表代替密码由于密钥空间较小所以无法提 供安全性;
Playfair密码是一个多字母代替密码 ;
Charles Wheatstone 于1854年发明, 用其朋友 Baron Playfair 命名。
西安电子科技大学计算机学院
29
单表代替密码分析
密钥空间: 26! > 4 x 1026
貌似安全,实则不然
语言特性
西安电子科技大学计算机学院
30
语言的冗余与密码分析
人类的语言是有冗余的 字母的使用频率是不同的 在英语中E使用的频率最高 有些字母使用较少 单字母、双字母、三字母组合统计
西安电子科技大学计算机学院
密 文
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
西安电子科技大学计算机学院
25
恺撒密码 - 解密
方式一:公式计算
密文C = c1c2…cn
(加密)运算:pi = ci - k (mod 26), i= 1,2,…,n
解码得明文: P = p1p2…pn
Number of Alternative Keys 232 = 4.3 109 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 10.01 hours
S X
K
T Z
加密
明文分组(填充):2个字母/组 同行字母对加密:循环向右,ei→FK 同列字母对加密:循环向下,cu→EM, xi→AS 其它字母对加密:矩形对角线字母,且按行排 序,ya→BN,es→IL(或JL)
解密
加密的逆向操作
西安电子科技大学计算机学院