古典密码统计分析

合集下载

实验二 古典密码

实验二 古典密码

实验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所示。

第3章_古典密码体制续-密码分析

第3章_古典密码体制续-密码分析

如前面的猜测,假设 dK (Z ) e, dK (W ) d ,回过头再 看看密文并注意到 ZRW 和 RZW 出现在密文的开始部分,RW 后面也出现过。因为 R 在密文中频繁的出现,而 nd 是一 个常见的两字母组,所以我们可以视 dK (R) n 作为可能 的情况。
这样,就有如下的形式:
➢ 另外,考虑两字母组或三字母组组成的固定序列也 是很有用的。
➢ 30 个 最 常 见 的 两 字 母 组 ( 出 现 次 数 递 减 ): TH,HE,IN,ER,AN,RE,DE,ON,ES,ST,EN,AT,TO,NT,H A,ND,OU,EA,NG,AS,OR,TI,IS,ET,IT,AR,TE,SE,HI 和 OF。
-ed-a---nh---ha---a-e----ed-----a-d--he--n XZWGCHSMRNMDHNCMFQCHZJMXJZWIEJYUCFWDJNZDIR
现在考虑出现次数较高的密文字母 M,由前面分析,密 文段 RNM 解密成 nh-,这说明 h-是一个词的开头,所以 M 很可能是一个元音,因为已经使用了 a 和 e,所以猜测 dK (M ) i 或 o,因为 ai 是一个比 ao 出现次数更高的明 文组,所以首先猜得 dK (M ) i,这样有:
------end---------e----ned---e-----------YIFQFMZRWQFYVECFMDZPCVMRZWNMDZVEJBTXCDDUMJ
--------e----e---------n--d---en----e----e NDIFEFMDZCDMQZKCEYFCJMYRNCWJCSZREXCHZUNMXZ
➢ 首先考虑最弱类型的攻击,即唯密文攻击。
➢ 假设明文串是不包括标点符号及空格的普通英文 文本。

现代密码学理论与实践02 - 古典密码

现代密码学理论与实践02 - 古典密码

24 25 26 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23
21 03 15 01 19 10 14 26 20 08 16 07 22 04 11 05 17 09 12 23 18 02 25 06 24 13
26 20 01 01 02 06 03 04 04 15 05 03 06 14 07 12 08 23 09 05 10 16 11 02 12 22 13 19 14 11 15 18 16 25 17 24 18 13 19 07 20 10 21 08 22 21 23 09 24 26 25 中 17
4
举例

例:m=6时,臵换π如下 x π(x) 1 3 2 5 3 1 4 6 5 4 6 2
明文字符位置 变换后的位置

明文 gohome …… 密文 HEGMOO ……
解密时需要逆臵换π-1
y 1 π-1(y) 3 2 6 3 1 4 5 5 2 6 4
5
周期置换密码的密钥空间



24
维吉尼亚密码的密钥空间

密钥空间与密钥长度m有关


共有26m个密钥,即使m很小,穷举攻击也不太现实 假设m=5,密钥空间超过1.1×107 ,已超出手工计 算进行穷举攻击的能力范围。 但这并不表示维吉尼亚密码无法用手工破译。
25
维吉尼亚密码的弱点

对所有多表代换密码的破译都是以字母频率为基础的。 同一个明文字母可被加密成不同密文字母,简单的频率 分析行不通。 破译的关键在于它的密钥是重复使用的。 故而,维吉尼亚密码的弱点 当相同字母间隔密钥长度倍数时,被加密成相同字母

实验二 古典密码

实验二 古典密码

实验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所示。

古典密码的实验报告

古典密码的实验报告

古典密码的实验报告古典密码的实验报告引言:密码学作为一门古老而又神秘的学科,一直以来都吸引着人们的兴趣。

在古代,人们用各种各样的密码来保护重要信息的安全性。

本实验旨在通过实际操作,探索古典密码的加密原理和破解方法,从而深入了解密码学的基本概念和应用。

一、凯撒密码凯撒密码,又称移位密码,是最简单的一种古典密码。

其原理是通过将明文中的每个字母按照一定的规则进行移位,得到密文。

在本实验中,我们选择了一个简单的凯撒密码进行破解。

首先,我们选择了一段明文:“HELLO WORLD”,并将其按照凯撒密码的规则进行移位,假设移位数为3,则得到密文:“KHOOR ZRUOG”。

接下来,我们尝试使用暴力破解的方法来还原明文。

通过尝试不同的移位数,我们发现当移位数为3时,得到的明文与原文完全一致。

这表明我们成功地破解了凯撒密码,并还原了原始的明文。

二、维吉尼亚密码维吉尼亚密码是一种基于多个凯撒密码组合而成的密码算法。

其原理是通过使用不同的移位数对明文进行加密,从而增加了密码的复杂度。

在本实验中,我们选择了一段明文:“CRYPTOGRAPHY”,并使用维吉尼亚密码进行加密。

我们选择了一个关键词“KEY”作为加密密钥。

首先,我们将关键词“KEY”重复至与明文长度相同,得到“KEYKEYKEYKEYK”。

然后,将明文中的每个字母与关键词中对应位置的字母进行凯撒密码的移位操作。

经过加密后,我们得到了密文:“LXFOPVEFRNHR”。

接下来,我们尝试使用破解方法来还原明文。

通过尝试不同的关键词和移位数的组合,我们发现当关键词为“KEY”且移位数为3时,得到的明文与原文完全一致。

这表明我们成功地破解了维吉尼亚密码,并还原了原始的明文。

三、栅栏密码栅栏密码是一种基于换位操作的密码算法。

其原理是通过将明文中的字母按照一定的规则进行重新排列,得到密文。

在本实验中,我们选择了一段明文:“HELLO WORLD”,并使用栅栏密码进行加密。

密码学-2

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

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年以前的密码技术可以说是一种艺术,而不是一种科 学,那时的密码专家是凭直觉和信念来进行密码设计和分 析的,而不是靠推理证明。

2 古典密码分析

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 古典密码
数学与系统科学学院
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
I c ( X ) ≈ ∑ pi2
i =0 25
=0.065
现代密码学
解放军信息工程大学电子技术学院
对于英文的一个随机字母串, 对于英文的一个随机字母串,每个英文字 母出现的期望概率均为1/26,则在X中任 ,则在 中任 母出现的期望概率均为 意选取两个元素相同的概率为
1 Ic ≈ ∑ i =0 26
解放军信息工程大学电子技术学院
现代密码学
解放军信息工程大学电子技术学院
明文的统计规律
26个英文字母: 26个英文字母 个英文字母: e t---a---o---i---n---s---h---r ---a---o---i---n---s---h---r d---l ---l c---u---m---w---f---g---y---p---b ---u---m---w---f---g---y---p---b v—k---j---x---q---z ---j---x---q---z 12% 6%--9% 6%--9% 4% 1.5%--2.8% 1.5%--2.8% <1%
密码体制的数学模型 熵及其性质
现代密码学
习题2解答:
解:f1的逆为: m=15(c-5)mod26=(15c+3)mod26 f2的逆为:T‘=(23154) 则对C做f2的逆变换得:icfsxbfezi 再做f1的逆变换得:thanksalot。
现代密码学
解放军信息工程大学电子技术学院
下节课讲授的主要内容
Shannon理论 Shannon理论
现代密码学
解放军信息工程大学电子技术学院 K1+i,i=0,……,25 K1-k2=5
k1 k2 k3 M k5
y1 y2 y3 M y5
y6 y7 y8 M
L yn m +1 L yn m + 2 L yn m + 3 M M yn
y10 L
现代密码学
解放军信息工程大学电子技术学院
计算具体密钥内容的复杂度分析
现代密码学
解放军信息工程大学电子技术学院
Kasiski测试法:Kasiski于1863年提出 测试法: 测试法 于 年提出 寻找密文中相同的片段对, 寻找密文中相同的片段对,计算每对相同密文片段对 之间的距离,不妨记为d1,d2,…,di,若令密钥字的长度为 之间的距离,不妨记为 m,则m=gcd(d1,d2,…,di)。 , 。 定理1 若两个相同的明文片段之间的距离是密钥长度 定理 的倍数,则这两个明文段对应的密文一定相同。 的倍数,则这两个明文段对应的密文一定相同。 反之则不然。 反之则不然。 若密文中出现两个相同的密文段(密文段的长度 若密文中出现两个相同的密文段 密文段的长度m>2), 密文段的长度 , 则它们对应的明文(及密钥)将以很大的概率相同。 则它们对应的明文(及密钥)将以很大的概率相同。
现代密码学
解放军信息工程大学电子技术学院
用交互重合指数确定密钥的具体内容
定义 设X=x1x2…xn和Y=y1y2…yn,是两个长度分别
的字母串。 和 的交互重合指数 的交互重合指数(mutual 为n和n’的字母串。X和Y的交互重合指数 和 的字母串 index of coincidence)定义为 中的一个随机元素与 定义为X中的一个随机元素与 定义为 中的一个随机元素与Y 中的一个随机元素相同的概率, 中的一个随机元素相同的概率,记为 MIc ( X , Y )
解放军信息工程大学电子技术学院
习题
2、已知某密码的加密方法为:C=f2(f1(M)) 其中变换f1为:c=(7m+5)mod26; 变换f2为置换T=(31254), 今收到一份用这种密码加密的密文 C=ficxsebfiz,求对应的明文M。 f1的逆为: m=15(c-5)mod26=(15c+3)mod26 现代密码学
现代密码学
解放军信息工程大学电子技术学院
定理1 设英文字母A,B,…,Z在X中出现的次数分别为: f0,f1,…,f25 则从X中任意选取两个字母相同的概率为
Ic (X ) =
25
∑ f (f
i =0 i
iБайду номын сангаас
1)
n(n 1)
证明
在X中任意选取两个字母共有种 种选取的可能。故易证。证毕。
n (n 1) 2
现代密码学
解放军信息工程大学电子技术学院
计算表1中的任意两行之间的交互重合指数
Yi 中的一个随机元素与 Y j 中的一个随
机元素同为字母h(0<=h<26)的概率为
MIc (Yi , Y j ) = ∑ phki phk j = ∑ ph phk j +ki
h =0 h =0 25 25
则 (ki k j ) mod 26 称为 Yi 和 Y j 之间的 相对位移(relative shift),用 l 表示。 由于
这样可以得到任意两行之间的相对位移。 给定某一行,猜测其密钥值(只有26种可能),其 它行的密钥由相对位移唯一确定,这时用穷举法 只有26种可能,可得到密钥值。
现代密码学
解放军信息工程大学电子技术学院
习题
1、已知某密码的加密方法为:先用易位密码 对明文M加密,再对该结果用维吉尼亚密 码加密得密文C。若易位密码使用的加密密 钥为置换T=(351246),维吉尼亚密码使 用的加密密钥为AEF,密文 C=vemaildytophtcmystnqzahj, 求明文M。 现代密码学
选取
2 的可能;在X中的每个相同的字母中选取两个元素共有 Cn =
f i ( f i 1) C = 2
2 fi
现代密码学
解放军信息工程大学电子技术学院
已知每个英文字母出现的期望概率,分别记为 已知每个英文字母出现的期望概率, p0,p1,…,p25,那么X中两个元素相同的概率 ,那么 中两个元素相同的概率 为:
解放军信息工程大学电子技术学院
习题1解答:
解:加密密钥为置换T=(351246),则脱密 密钥为置换T’=(341526) 用维吉尼亚密码脱密得结果 vahaeg duoolc tykyoo nmuade 再使用易位密码脱密得明文M haveagoodluckytoyouandme
现代密码学
解放军信息工程大学电子技术学院
∑p
h =0
25
h
p h + l = ∑ p h p h l
h =0
25
现代密码学
解放军信息工程大学电子技术学院
计算具体密钥内容
当相对位移不为0时,重合指数的取值范围 [0.031,0.045] 当相对位移为0时,重合指数取值为0.065。 可以统计每两行中英文字母出现的概率f0,f1,…,f25 和f’0,f’1,…,f’25 记Y jg 为以 g 作密钥进行加法加密得到的密文, g 并穷举计算得到 MIc (Yi , Y j ) 若 g = l ,则应该接近0.065; 若不然,应该接近[0.031,0.045]中的某个值。
现代密码学
解放军信息工程大学电子技术学院
思考:以多大的概率成立?
P(X1=X2|Y1=Y2) =1-P(X1!=X2;K1!=K2|Y1=Y2) 由于密钥是等概独立的,每个密钥出现的概率为 1/26,这相当于求满足 1/26 X1+K1=X2+K2(mod26) 的K1和K2出现的概率。若K1和K2中均有m个字母, 且m>=3,则 3 P(X1=X2|Y1=Y2) ≥ 1 1 ≥ 0.999999 26
现代密码学
解放军信息工程大学电子技术学院
汉字中双音节词出现频率
从三亿汉字的母体材料中,抽样二千五百万字进行双音 节词词频统计,结果是: 频率在一万次以上的双音节词有33个: 我们 可以 他们 三万次以上 二万次以上
进行 没有 工作 人民 生产 这个 发展 就是 问题 国 家 中国 这样 革命 自己 不能 由于 这些 所以 因此 作用 一般 什么 如果 情况 必须 方法 因为 主要 要 求 社会
现代密码学
解放军信息工程大学电子技术学院
多表古典密码的统计分析
步骤1:首先确定密钥的长度:利用 步骤 :首先确定密钥的长度:利用Kasiski测试法 测试法 和重合指数法(index of coincidence) 和重合指数法 步骤2:确定具体的密钥内容: 步骤 :确定具体的密钥内容:交互重合指数法
古典密码的统计分析
王 滨 2005年3月4日 年 月 日
解放军信息工程大学电子技术学院
上次课内容回顾
代替密码 单表代替密码的概念及安全性特点 多表代替密码的概念及安全性特点 几个典型的古典密码体制 卡撒密码 维及尼亚密码 维福特密码
现代密码学
解放军信息工程大学电子技术学院
单表古典密码的统计分析 原理: 原理:明文的统计规律在密文中能够反映出 来,故信息泄露大。 故信息泄露大。 多表古典密码的统计分析 原理:密钥相同时, 原理:密钥相同时,相同的明文对应相同的 密文。 密文。 现代密码学
现代密码学
解放军信息工程大学电子技术学院 汉字中单音节出现频率 最常用,出现频率在百分之一以上的有14个音节,它 们是: de shi yi bu you zhi le ji zhe wo yen li ta dao 的 是一不 有 之 了机 这 我 们 里他 到 次常用音节有33个,它们是: zhong zi guo shang ge men he wei ye da gong jian jiu xiang zhu lai sheng di zai ni xiao ke yao wu yu jie jin chan zuo jia xian quan shuo
25 2
=0.038.
现代密码学
解放军信息工程大学电子技术学院
根据Kasiski测试法得到的 ,可以将密文 按照下列形式排 测试法得到的m,可以将密文Y按照下列形式排 根据 测试法得到的 列: 排列成m行 列的形式, 表1 将Y排列成 行n/m列的形式,设m=0(modn) 排列成 列的形式
相关文档
最新文档