已阅读5页,还剩9页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实验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.仿射密码加密法的密钥为025之间的数字对(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)=(77+3) mod 26=52 mod 26=0,即为字母“a“。 c(O)=(714+3) mod 26=101 mod 26=23,即为字母“x“. c(T)=(719+3) mod 26=136 mod 26=6,即为字母”g”.这样,对于这个密钥,”hot”变成了“axg“.CAP4软件中实现仿射密码加密:步骤1:在CAP4软件中加载要加密地的明文“mw.txt“.步骤2:选取Cipher菜单下的Affine Cipher菜单项,弹出如下对话框,如图2-5所示。 图2-5 设置加密密钥 步骤3:选择图中”Affine Cipher”中的“Encipher“选项进行加密,如图2-6所示。图2-6 采用Affine Cipher加密维吉尼亚密码加密(多表代换) Vigenere加密法是一个很著名的多表代换加密法。该加密法是基于关键词的多表代换加密系统,但不像单表代换中的关键词加密那样,使用关键词来定义替换模式,它是先将明文按照关键字的长度分组,然后将分组中的每个字符与关键字中相应位置上的字符进行模26加密运算,这样每个明文字母都与一个关键词的字母关联。例如:如果关键词为”hold”,而明文为”this is the plaintext”,那么,关键词明文的关联如下所示:注意:以上的密文结果,也可以直接查找Vigenere表获取密文.例如:上面示例中的第一对是“ht“.在Vigenere表中查找”t”列和”h”行,找到结果密文字母”a”,重复这个过程。明文 密钥CAP4软件中实现维吉尼亚加密:步骤1:在CAP4软件中加载要加密地的明文“mw.txt“.步骤2:选取Cipher菜单下的Vigenere菜单项,弹出如下对话框,如图2-7所示。 图2-7 设置加密密钥词步骤3:选择”Encipher”菜单项加密。(2)古典密码体制的统计分析因为古典密码学中的大部分加密都是基于英文字母的,所以其相应的明文和密文都会遵循相应的语言统计规律。根据明密文中的统计特性来破译密文,是古典密码学破译的基本方法。最容易观察的字母特性是其出现频率,所以古典密码的统计分析很多也是以字母出现频率做为主要线索的。然而,大多数频率分析是基于标准英语字母的常见频率表的,其中各个英文字母的出现频率如下:从高到低的顺序:通常由于所加密明文的性质不同,那么字母出现频率也会有所差异,所以,一般采用字母频率来破译时不能完全依照上述顺序进行相关对照来得出单表代换模式,而是考虑将频率分组。标准英文字母出现四个频率组:高E T A O N I R S H中 D L U C M低 P F Y W G B V缺少 J K Q X Z 字母在分组中的位置可能有些变化,但很少出现在其他分组中。将密文中的字母出现频率进行统计后,可以将它们按照出现频率的高低,先进行简单分组,然后对照以上频率组,逐个分析,以便确定其单表代换模式。 仅仅依靠以上规律通常还是很不充分的,很多时候还会用到双联字母或三联字母的出现频率来辅助破译。例如,TH,HE,IN,RE,DE,ST,EN,AT,OR,IS,ET,IT,AR,TE,HI,OF,THE,ING,ERE,FOR等都比较常出现。采用CAP4软件来实现古典密码的统计分析。 仿射密码的统计分析前提是,我们已经知道该段密文是采用仿射加密法加密的。步骤1:打开CAP4软件,加载已经获取的密文“fsbhmi.txt”,并按下”Basic Tools”工具条中的“Freq”按钮,统计密文中每个字母出现的几率,如图2-8所示。图2-8 统计密文字母频率通过统计可知,密文中出现频率最高的字母依次是X、H、N、T、C、K、,故可假设密文字符X对应的是明文字符E,密文字符H对应的铭文字符为T。步骤2:打开CAP4中的“Simple analysis”工具条中的“Affine”按钮,输入上述字母对,如图2-9所示。 图2-9 验证猜测a注意:这里的k0,k1,表示仿射加密函数为y=k1x+k0 mod 26,所以其中k1的取值只能属于下列整数集合1,3,5,7,9,11,15,17,19,21,23,25。很明显,以上猜测有误,故可以进一步假设密文字母X对应的明文字符为E,密文字符N对应的明文字符为T,经测试可以知道,该猜测也不成立。接着测试可以发现密文字符X对应明文E,密文字符T对应T的假设也不成立。试假设密文C对应明文T。步骤3:进一步验证上述猜测,其结果如下所示,如图2-10所示。图2-10 验证猜测b通过测试发现,此次假设成立,即该段密文采用的仿射变换函数可能为y=9x+13 mod 26.步骤4:采用上述假设结果,在CAP4软件的菜单项“Cipher”下选择“Affine”,解密密文,如图2-11所示。 图2-11 破译密文采用以上猜测结果破译密文所获取的明文,具有意义,所以可以认定该次加密操作采用的加密变换函数为:y=9x+13 mod 26.知识点 (1)模运算 (带余除法)若a,b为两个整数,b0, 则唯一存在两个整数q和r, 使得下式成立: a=bq+r, 0r|b|. 模的定义 如果a 是一个整数,n是一个正整数,定义 a mod n为a除以n的余数 ana/n+(a mod n). 例1:113 mod 24=17 模算术运算由定义可知,运算(mod n)将所有的整数映射到集合0,1,n-1,那么在这个集合上进行的算术运算称为模算术。模算术有如下的性质:(a mod n) + (b mod n) mod n=(a+b) mod n; (a mod n) (b mod n) mod n=(a-b) mod n; (a mod n) (b mod n)mod n=(ab) mod n.因此,普通算术的加、减、乘、除运算规则可以平移到模算术中。 Zn上模运算的性质:定义比n小的非负整数集合为Zn, Zn=0,1, ,n-1,这个集合称为剩余类集,或模n的剩余类。更确切的说,Zn中的每个整数代表一个剩余类,我们可以将模n的剩余类表示为0,1,2 ,n-1。例2:模4剩余类为: 0= ,-16,-12,-8,-4,0,4,8,12,16 1= ,-15,-11,-7,-3,1,5,9,13,17 2= ,-14,-10,-6,-2,2,6,10,14,18 3= ,-13,-9,-5,-1,3,7,11,15,19, 在剩余类的所有整数中,我们通常用最小非负整数来代表这个剩余类。寻找与k模同余(指的是两个数对同一个数求模结果相同,例如:整数a和b对整数n求模结果相同,我们就说a和b模n同余,记为ab(mod n)的最小非负整数的过程,称为模n的k约化。如果我们在Zn中进行模运算,该运算具有如下性质:交换律:(w+x)mod n=(x+w) mod n (wx)mod n=(xw) mod n 结合律:(w+x)+y mod n=w+(x+y) mod n (wx) y mod n=w(xy) mod n 分配率:w(x+y) mod n=(wx)+(wy)mod n 单位元:(0+w)mod n=w mod n (1w) mod n=w mod n 加法逆元(-w):对于Zn中的任意w,存在一个z,使得w+z= 0 mod n.注意:一般来说,在Zn中,一个整数与n互素,那么在Zn中有它的一个乘法逆元,使得该整数与其逆元相乘模n为1.这里的互素指的是两个数的最大公约数为1.例3:在Z 8中,整数1,3,5,7有一个乘法逆元,而2,4和6没有。特别提醒:我们密码学中用到的运算均为模运算,对于古典密码体制来说,用到的运算均为Z26上的模运算。(2)乘法逆元在仿射加密法中,我们是通过仿射函数变换来实现加密的,其加密变换函数一般表示为: ek(x)=ax+b mod 26,那么该函数的逆函数(也就是相应的解密函数)为: dk( y)=1/a(y-b) mod 26 正如上面所述在密码学中,我们提及的运算一般是模运算,这里指的是Z26 上的运算。在模运算中,将1/a表示为:a-1,称作a的乘法逆元,由乘法逆元性质可知:aa-1 =1 mod 26.由于在Z26中并不是所有的整数都有乘法逆元,事实上,只有1,3,5,7,9,11,15,17,19,21,23,25才有乘法逆元,也就是说只有当加密变换函数中的a取上面这些值时,其才是可逆的,才能实现解密。另外,某个整数集上相关元素的乘法逆元的求解一般采用欧几里德扩展算法来实现(放在后续课程中讲解),这里直接给出Z26上相关整数的乘法逆元,以便参考:1-1 mod 26=1 , 3-1 mod 26=9, 5-1 mod 26=21, 7-1 mod 26=15, 11-1 mod 26=19, 17-1 mod 26=23, 25-1 mod 26=25.常见问题解答(1)密码学研究的主要问题是什么?解答:密码学的基本目的是在通信双方之间应用不安全的信道进行通信时,设法保证通信安全。密码学研究对通信双方要传输的信息进行何种保密变换以防止未被授权的第三方窃取信息。此外,密码技术还可以用来进行信息鉴别、数据完整性校验、数字签名等。密码学包括密码编码学和密码分析学两大方向。(2)研究古典密码体制的意义何在?解答:古典密码学是密码学的渊源,虽然古典密码学比较简单而且容易破译,但研究古典密码学的设计原理和分析方法对于理解、设计及分析现代密码学技术是十分有益的。.思考题(1)实验过程中,大家接触到的古典加密体制有哪几种?各有什么特点?(2)移位加密法有多少种密钥?试分析该加密法的安全性?(3)仿射加密方法比其他单表加密方法(比如:移位密码)更安全吗?为什吗?(4)设明文为“visit shanghai tomorrow”,密钥为“enjoy”,试用Vigenere算法对其加密。(5)在Alice和Bob的保密通信中,传送的密文是“rjjy rj ts ymj xfggfym bj bnqq inxhzxx ymj uqfs”,如果他们使用的是移位密码算法,试解密其通信内容。(6)已知下面一段密文是通过仿射加密法加密的,试用统计分析的方法来破译:oliawgphycgixzgntorgktaawphylxiiawgnylylyxtggiylrimkyt cylgiolvtalxavzoizamigxzgnylylyxtggiyqoizvatxzg ptaipgtoxuavhyxgtkg
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新民周刊社工作人员招考13人易考易错模拟试题(共500题)试卷后附参考答案
- 延边州民政局所属事业单位2025年下半年招聘笔试易考易错模拟试题(共500题)试卷后附参考答案
- 山东潍坊高新区2025招考部分专业工作人员易考易错模拟试题(共500题)试卷后附参考答案
- 国航股份飞行总队2025届高校毕业生校园招聘(5人)易考易错模拟试题(共500题)试卷后附参考答案
- xx乡镇产业协议书
- 中越委托征婚协议书
- 乡下兄弟分房协议书
- 公务员考试题及答案查询
- 兴业银行考试题库及答案
- 2024年国网电力工程研究院有限公司高校毕业生招聘笔试真题
- T-CPARK 55-2024 桥式和门式智能起重机控制系统检验规范
- 煤矿培训课件-调度和应急管理
- 《低出生体重儿》课件
- 心内科护理工作计划
- 调饮师-国家职业标准
- 数字化技术在中国会计师事务所中应用的研究报告 2024
- 热力学与统计物理-20220523203859
- 工程罚款通知单模板
- 2024年烘焙店合作经营合同范本
- 3-U9C操作培训-MRP基础
- 中国癫痫临床诊疗指南完整版
评论
0/150
提交评论