实验报告模板信息安全综合实验

上传人:桔**** 文档编号:497554791 上传时间:2023-04-28 格式:DOC 页数:24 大小:800.50KB
返回 下载 相关 举报
实验报告模板信息安全综合实验_第1页
第1页 / 共24页
实验报告模板信息安全综合实验_第2页
第2页 / 共24页
实验报告模板信息安全综合实验_第3页
第3页 / 共24页
实验报告模板信息安全综合实验_第4页
第4页 / 共24页
实验报告模板信息安全综合实验_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《实验报告模板信息安全综合实验》由会员分享,可在线阅读,更多相关《实验报告模板信息安全综合实验(24页珍藏版)》请在金锄头文库上搜索。

1、信息安全综合实验实验报告专业: 信息安全 班 级: 信息安全2班 小组成员: 韩非寒(20102033) 指导教师:唐召东、赵春蕾 职 称: 讲 师 天津理工大学计算机与通信工程学院 2014年 5 月 天津信息安全综合实验 实验报告设计日期 2014 年 5月11 日至 2014年5月25日小组成员在本次设计中承担的任务成绩 指导教师签字: 年 月 日目录前言2实验一 网络通信安全31.1 实验概述31.2 实验原理31.3 实验结果以及分析161.4实验小结20 3前言为了提高学生的动手能力,培养同学们的学习兴趣,同时对所学知识进行全面的复习,特在第7学期开设本课程。信息安全专业综合实践是

2、信息安全专业的集中性实践环节课程。本课程的任务是训练学生综合利用所学理论知识和实践技能解决实际问题,提高学生独立钻研及团队合作能力,为适应今后的工作打下扎实的基础。通过该课程实践,使学生能够利用密码学知识实现通信系统的机密性、完整性;能够评估系统的安全性,能够利用弱点攻破远程系统,能够有效地防御远程攻击;对Web服务、Email服务能够熟练地管理和配置,增强系统的安全性;能够综合利用认证、授权、访问控制设计一个安全、高效的信息系统。实验一 网络通信安全 1.1 实验概述本实验应用DES,RSA,MD5等加密算法,以及Socket套接字实现一个简单的加密解密的聊天工具CryptTalk。本实验的

3、程序在jdk1.6与Eclipse开发环境下编写,基本实现了消息加密的聊天工具的功能。通信的步骤基本如下:首先,服务器端随机产生一对RSA密钥,将公钥发送给客户端,客户端将自己的对称密钥用公钥加密发送给服务器端,服务器端接收到加密后的密钥后,用自己的私钥解密得到对称密钥。然后服务器端和客户端都利用这个对称密钥对发送的消息加密,进行加密后的聊天。同时把消息经过MD5加密生成摘要发送,在接收端解密后进行MD5加密比较,检查信息是否被篡改。 1.2 实验原理 1.2.1 RSA加密算法RSA加密算法原理RSA算法它是第一个既能用于数据加密也能用于数字签名的算法。它易于理解和操作,也很流行。算法的名字

4、以发明者的名字命名:RonRivest,AdiShamir和LeonardAdleman。但RSA的安全性一直未能得到理论上的证明。它经历了各种攻击,至今未被完全攻破。RSA算法的原理以及算法分析如下。首先,找出三个数,其中,是两个相异的质数,是与互质的数。,这三个数便是privatekey。接着,找出,使得,这个一定存在,因为与互质,用辗转相除法就可以得到。再来,计算。,这两个数便是publickey。编码过程是,若资料为,将其看成是一个大整数,假设。如果的话,就将表成进位(,通常取),则每一位数均小于,然后分段编码。接下来,计算,(),就是编码后的资料。解码的过程是,计算(),于是乎,解码

5、完毕。可以证明和是相等的。如果第三者进行窃听时,他会得到几个数:,(),。他如果要解码的话,必须想办法得到,所以,他必须先对作质因数分解。要防止他分解,最有效的方法是找两个非常的大质数,使第三者作因数分解时发生困难。RSA算法的安全性RSA的安全性依赖于大数分解,但是否等同于大数分解一直未能得到理论上的证明,因为没有证明破解RSA就一定需要作大数分解。假设存在一种无须分解大数的算法,那它肯定可以修改成为大数分解算法。目前,RSA的一些变种算法已被证明等价于大数分解。不管怎样,分解n是最显然的攻击方法。现在,人们已能分解多个十进制位的大素数。因此,模数n必须选大一些,因具体适用情况而定。RSA的

6、速度以及分析由于进行的都是大数计算,使得RSA最快的情况也比DES慢上倍,无论是软件还是硬件实现。速度一直是RSA的缺陷。一般来说只用于少量数据加密。RSA算法是第一个能同时用于加密和数字签名的算法,也易于理解和操作。RSA是被研究得最广泛的公钥算法,从提出到现在已近二十年,经历了各种攻击的考验,逐渐为人们接受,普遍认为是目前最优秀的公钥方案之一。RSA的安全性依赖于大数的因子分解,但并没有从理论上证明破译RSA的难度与大数分解难度等价。即RSA的重大缺陷是无法从理论上把握它的保密性能如何,而且密码学界多数人士倾向于因子分解不是NPC问题。 RSA的缺点主要有:A)产生密钥很麻烦,受到素数产生

7、技术的限制,因而难以做到一次一密。B)分组长度太大,为保证安全性,n 至少也要 600 bits 以上,使运算代价很高,尤其是速度较慢,较对称密码算法慢几个数量级;且随着大数分解技术的发展,这个长度还在增加,不利于数据格式的标准化。目前,SET( Secure Electronic Transaction )协议中要求CA采用比特长的密钥,其他实体使用比特的密钥。 1.2.2 DES加密算法DES加密算法原理当今社会是信息化的社会。为了适应社会对计算机数据安全保密越来越高的要求,美国国家标准局(NBS)于1997年公布了一个由IBM公司研制的一种加密算法,并且确定为非机要部门使用的数据加密标准

8、,简称DES(Data Encrypton Standard)。自公布之日起,DES算法作为国际上商用保密通信和计算机通信的最常用算法,一直活跃在国际保密通信的舞台上,扮演了十分突出的角色。现将DES算法简单介绍一下,并给出实现DES算法的VC源代码。DES算法由加密、解密和子密钥的生成三部分组成。DES加密算法过程DES算法处理的数据对象是一组64比特的明文串。设该明文串为m=m1m2m64 (mi=0或1)。明文串经过64比特的密钥K来加密,最后生成长度为64比特的密文E。其加密过程图示如下:对DES算法加密过程图示的说明如下:待加密的64比特明文串m,经过IP置换后,得到的比特串的下标列

9、表如下:该比特串被分为32位的L0和32位的R0两部分。R0子密钥K1(子密钥的生成将在后面讲)经过变换f(R0,K1)(f变换将在下面讲)输出32位的比特串f1,f1与L0做不进位的二进制加法运算。运算规则为:f1与L0做不进位的二进制加法运算后的结果赋给R1,R0则原封不动的赋给L1。L1与R0又做与以上完全相同的运算,生成L2,R2 一共经过16次运算。最后生成R16和L16。其中R16为L15与f(R15,K16)做不进位二进制加法运算的结果,L16是R15的直接赋值。R16与L16合并成64位的比特串。值得注意的是R16一定要排在L16前面。R16与L16合并后成的比特串,经过置换I

10、P-1后所得比特串的下标列表如下:经过置换IP-1后生成的比特串就是密文e。下面再讲一下变换f(Ri-1,Ki)。它的功能是将32比特的输入再转化为32比特的输出。其过程如图所示:对f变换说明如下:输入Ri-1(32比特)经过变换E后,膨胀为48比特。膨胀后的比特串的下标列表如下:膨胀后的比特串分为8组,每组6比特。各组经过各自的S盒后,又变为4比特(具体过程见后),合并后又成为32比特。该32比特经过P变换后,其下标列表如下:经过P变换后输出的比特串才是32比特的f (Ri-1,Ki)。下面再讲一下S盒的变换过程。任取一S盒。见图:在其输入b1,b2,b3,b4,b5,b6中,计算出x=b1

11、*2+b6, y=b5+b4*2+b3*4+b2*8,再从Si表中查出x 行,y 列的值Sxy。将Sxy化为二进制,即得Si盒的输出。(S表如图所示)子密钥的生成过程如下。64比特的密钥生成16个48比特的子密钥。其生成过程见图:子密钥生成过程具体解释如下:64比特的密钥K,经过PC-1后,生成56比特的串。其下标如表所示:该比特串分为长度相等的比特串C0和D0。然后C0和D0分别循环左移1位,得到C1和D1。C1和D1合并起来生成C1D1。C1D1经过PC-2变换后即生成48比特的K1。K1的下标列表为:C1、D1分别循环左移LS2位,再合并,经过PC-2,生成子密钥K2依次类推直至生成子密

12、钥K16。注意:Lsi (I =1,2,.16)的数值是不同的。具体见下表:DES的解密过程和DES的加密过程完全类似,只不过将16圈的子密钥序列K1,K2K16的顺序倒过来。即第一圈用第16个子密钥K16,第二圈用K15,其余类推。L=R15, R=L15f(R15,K16)f(R15,K16)=L15同理R15=L14f(R14,K15), L15=R14。同理类推:得 L=R0, R=L0。其程序源代码与加密相同。在此就不重写。 1.2.3 MD5加密算法HASH原理Hash,一般翻译做“散列”,也有直接音译为哈希的,就是把任意长度的输入(又叫做预映射, pre-image),通过散列算

13、法,变换成固定长度的输出,该输出就是散列值。这种转换是一种压缩映射,也就是,散列值的空间通常远小于输入的空间,不同的输入可能会散列成相同的输出,而不可能从散列值来唯一的确定输入值。数学表述为:h = H(M) ,其中H( )-单向散列函数,M-任意长度明文,h-固定长度散列值。在信息安全领域中应用的Hash算法,还需要满足其他关键特性:第一当然是单向性(one-way),从预映射,能够简单迅速的得到散列值,而在计算上不可能构造一个预映射,使其散列结果等于某个特定的散列值,即构造相应的M=H-1(h)不可行。这样,散列值就能在统计上唯一的表征输入值,因此,密码学上的 Hash 又被称为消息摘要(

14、message digest),就是要求能方便的将消息进行摘要,但在摘要中无法得到比摘要本身更多的关于消息的信息。第二是抗冲突性(collision-resistant),即在统计上无法产生2个散列值相同的预映射。给定M,计算上无法找到M,满足H(M)=H(M) ,此谓弱抗冲突性;计算上也难以寻找一对任意的M和M,使满足H(M)=H(M) ,此谓强抗冲突性。要求强抗冲突性主要是为了防范所谓生日攻击(birthday attack),在一个10人的团体中,你能找到和你生日相同的人的概率是2.4%,而在同一团体中,有2人生日相同的概率是11.7%。类似的,当预映射的空间很大的情况下,算法必须有足够

15、的强度来保证不能轻易找到相同生日的人。第三是映射分布均匀性和差分分布均匀性,散列结果中,为 0 的 bit 和为 1 的 bit ,其总数应该大致相等;输入中一个 bit 的变化,散列结果中将有一半以上的 bit 改变,这又叫做雪崩效应(avalanche effect);要实现使散列结果中出现 1bit 的变化,则输入中至少有一半以上的 bit 必须发生变化。其实质是必须使输入中每一个 bit 的信息,尽量均匀的反映到输出的每一个 bit 上去;输出中的每一个 bit,都是输入中尽可能多 bit 的信息一起作用的结果。Damgard 和 Merkle 定义了所谓“压缩函数(compression func

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号