网络与信息安全--实验一
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验1 传统密码技术分析
一、实验目的
1.通过本实验掌握最大公因子算法的实现、剩余类中元素的乘法逆元的求解
2.利用穷举密钥攻击、统计分析的方法实现对移位密码、仿射密码、维吉尼亚密码的
密文分析。
二、实验原理
传统密码算法历史上曾被广泛应用,大都比较简单,通常使用手工或机械装置来实现信息的相互转换。传统密码的主要应用对象是文字信息,利用相应的转换方法将可正常阅读的文字转换成不可识别(掌握该转换方法的人除外)的杂乱无章的信息。传统密码按照其实现方式,可以简单的分成代换技术和置换技术两种。
1. 最大公因子算法
在辗转相除法的基础上求解最大公因子的算法和实现、在剩余类中元素的乘法逆元求解。本实验的准备知识包括基本的带余除法运算、模运算及其基本性质、素数等概念
2. 许多密码分析方法都利用了英文语言的统计特性。
目前已经有许多从各种小说、杂志和报纸上统计的26个英文字母出现的频率,如下表所示:
其中:以上字母分成5组:
1)e的概率大约为0.120
2)t,a,o,i,n,s,h,r的概率为0.06-0.09
3)d,l的概率大约为0.4
4)c,d,m,w,f,g,y.p,b的概率为0.015-0.023
5)v,k,j,x,q,z的概率小于0.01
另外,考虑两个字母组或三个字母组组成的固定序列也是很有用的,常见的两字母(按出现次数递减排序):TH,HE,IN,ER,AN,RE,DE,ON,ES,ST,EN,AT,TO,NT,HA,ND,OU,EA,NG...;常见的三字母组(按出现次数递减排序):THE, ING, AND, HER, ERE, ENT, THA, NTH, WAS, ETH, FORD和TH。
单表代换密码的语言统计方法步骤(以仿射密码为例)
1) 对密文中字母出现的频率进行统计
2) 将出现最多的字母假设是明文字母e 被加密的结果,次多字母是明文字母t 被加密
的结果,并由此建立两个同余方程。
3) 求解根据同余方程组解出密钥(a ,b )并判断(a ,26)=1是否成立,不成立则重新
假设出现较多的是有其他明文字母被加密的结果,重新建立同余方程组并判断。 当条件(a ,26)=1成立,则将所有明文解密,一般情况下,若恢复的明文可读,则密钥正确。
3. 多表代换的密码分析方法(以维吉尼亚密码为例)
针对该密码的有效分析方法包括卡西斯基确定密钥长度,重合指数法确定密钥长度和个子密钥。重合指数方法原理如下:
三、实验内容
利用自己熟悉的计算机语言编写代码实现以下算法,加深掌握模运算的性质。 1. 扩展Euclid 算法、乘法逆元算法的实现 2. 移位密码仿射密码分析
()概率。
中两个随机元素相同的定义为记为的重合指数个字符的字符串,是一个含有设x x I x n ...x x x x c n 21=()()()∑∑∑===⎪⎭
⎫
⎝⎛≈--=⎪⎪⎭
⎫ ⎝⎛⎪⎪⎭⎫
⎝⎛=
25
02
25
25
025101122 ,...C ,B ,A i i i i i i i c n f n n f f n f x I ,...f ,f f x ,则中出现的次数分别为在字符串设()()038
0261065
025
02
25
02
25
225
02
.n f x I x .p n f x I x i i i c i i i c =⎪⎭
⎫
⎝⎛≈⎪⎭⎫ ⎝⎛=≈≈⎪⎭⎫
⎝⎛=∑∑∑∑====,则是完全随机的英语字母如果是英语文本串,则如果()n
m m m m m m m m m m m i m i i i n ....y y y y z ..........,y y y z ....,y y y z ,...m ,i ...,y y y z m y ,.....y y y y 22222221111221
21 ++++++++======从而有:,个子串:分成将已知密文()。
文,所以有:位加密得到的密是用同一个密钥通过移是密钥的长度,则如果0650.z I z m i c i ≈()。
有:是随机的字母串,所以则不是密钥的长度如果反之0380z , ,i .z I m i c ≈
3.利用语言统计分析方法对仿射密码生成的密文进行分析
●统计字母出现的频率
●用出现频率最多的替代e,次多的替代t,建立同余方程组并求解密钥(a,b)
●成立则获得密钥,否则用后续的出现较多的字母替代t,并建立方程组求解。
4.维吉尼亚密码的分析方法
i.用卡西斯基测试法或重合指数法确定密钥长度
ii.确定每个子密钥
四、实验方法与步骤
1.扩展Euclid算法1
2.扩展Euclid算法2
3.使用穷尽密钥搜索方法破译如下利用移位密码加密的密文:
4.利用语言统计分析方法对下面经仿射密码加密生成的密文进行统计分析:
5.用重合指数法完成破解利用维吉尼亚密码获得的如下密文:
CHREEVOAHMAERATBIAXXWTNXBEEOPHBSBQMQEQERBWRVXUOAKXAO
SXXWEAHBWGJMMQMNKGRFVGXWTRZXWIAKLXFPSKAUTEMNDCMGTSX
MXBTUIADNGMGPSRELXNJELXVRVPRTULHDNQWTWDTYGBPHXTFALJHA
SVBFXNGLLCHRZBWELEKMSJIKNBHWRJGNMGJSGLXFHYPHAGNRBIEQJT
AMRVLCRREMNDGLXRRIMGNSNRWCHRQHAEYEVTAQEBBIPEEWEVKAKO
EWADREMXMTBJJCHRTKDNVRZCHRCLQOHPWQAIIWXNRMGWOIIFKEE
五、实验报告要求
1.撰写实验报告,并给出试验中使用的具体的数据:最大公因子的参数至少4位十进
制整数,逆元求解中模数至少为4位十进制整数。
2.密文破解过程中,写出具体的实验步骤,并详细说明。
3.实验报告按时上交