ImageVerifierCode 换一换
格式:DOCX , 页数:30 ,大小:305.08KB ,
资源ID:16480968      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16480968.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(密码学课程设计报告Word文档格式.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

密码学课程设计报告Word文档格式.docx

1、消息认证数字签字公钥分配共享密钥策略DESRSA公用目录表简单分配数据认证算法DSSAESRC4公钥管理机构移位密码具有保密性的分配MD5 仿射密码公钥证书维吉尼亚密码发送消息的内容为:由学号、姓名、班级构成的字符串。设计要求:(1)每人选择一种系统配置,每名同学的配置必须有所不同;(2)对加密、消息认证、数字签字等算法要给出具体的设置,包括参数、密钥等;(3)根据算法的设置,在“信息安全实验教学系统”上进行计算,并保留截图;(4)公钥分配、共享密钥策略等需根据具体设计进行模拟;(5)使用指定的消息内容,模拟一次完整的消息发送过程,包括:密钥分配、消息加密、消息认证和数字签字的生成、消息认证和

2、数字签字的验证、消息解密等。三、对课程设计说明书撰写内容、格式、字数的要求1课程设计说明书是体现和总结课程设计成果的载体,主要内容包括:设计题目、设计目的、设备器材、设计原理及内容、设计步骤、遇到的问题及解决方法、设计总结、参考文献等。一般不应少于3000字。2在适当位置配合相应的实验原理图、功能模块图、算法流程图等图表进行说明。应做到文理通顺,内容正确完整,书写工整,装订整齐。3设计总结部分主要写本人完成工作简介以及自己的设计体会,包括通过课程设计学到了什么,哪里遇到了困难,解决的办法以及今后的目标。4课程设计说明书手写或打印均可。手写要用学校统一的课程设计用纸,用黑或蓝黑墨水工整书写;打印

3、时采用A4纸,页边距均为20mm,正文采用宋体小四号字,行间距18磅。文中大标题采用黑体小三号字,一级节标题采用黑体四号字,二级节标题采用黑体小四号字,表题与图题采用宋体五号字。5课程设计说明书装订顺序为:封面、任务书、成绩评定表、目录、正文、参考文献。四、设计完成后应提交成果的种类、数量、质量等方面的要求1完成“任务书”中指定的功能,运行结果正确。2课程设计说明书。五、时间进度安排顺序阶段日期计 划 完 成 内 容备注1第1天进行设计准备,阅读资料,分析设计任务书,明确设计要求、内容和步骤2第2天系统总体设计3第3天加密、消息认证、数字签字等算法设计4第4天在“信息安全实验教学系统”上模拟5

4、第5天撰写课程设计报告六、主要参考资料(文献)1 杨波.现代密码学. 北京:清华大学出版社 2 张福泰.密码学教程. 武汉:武汉大学出版社3 刘嘉勇. 应用密码学.北京:清华大学出版社4 卢开澄.计算机密码学(第2 版). 北京:5 宋震.密码学. 中国水利水电出版社 应用密码学技术 课程设计成绩评定表院(系): 信息学院 班级: 信安本111 学生姓名: 卢宁 指 导 教 师 评 审 意 见评价内容具 体 要 求权重评 分加权分调研论证能独立查阅文献,收集资料;能制定课程设计方案和日程安排。0.1工作能力态度工作态度认真,遵守纪律,出勤情况是否良好,能够独立完成设计工作, 0.2工作量按期圆

5、满完成规定的设计任务,工作量饱满,难度适宜。说明书的质量说明书立论正确,论述充分,结论严谨合理,文字通顺,技术用语准确,符号统一,编号齐全,图表完备,书写工整规范。0.5指导教师评审成绩(加权分合计乘以8) 分加权分合计指 导 教 师 签 名: 年 月 日评 阅 教 师 评 审 意 见查阅文献查阅文献有一定广泛性;有综合归纳资料的能力工作量饱满,难度适中。0.3评阅教师评审成绩(加权分合计乘以4)分评 阅 教 师 签 名:答 辩 小 组 评 审 意 见学生汇报汇报准备充分,思路清晰;语言表达准确,概念清楚,论点正确,有层次,有重点,基本上反映了所完成任务的全部内容;时间符合要求。答 辩思路清晰

6、;回答问题有理论依据,基本概念清楚;主要问题回答准确,深入,有说服力。答辩小组评审成绩答辩小组教师签名:课 程 设 计 总 评 成 绩摘要随着科学技术的发展信息化速度急剧加快,信息安全显得尤为重要,社会对信息安全技术人才的要求也非常高。为了能符合社会对这类人才标准要求大学的教育的重点也就很明显了,我们要培养具有研究和实践能力的高层次的计算机专业技术人才已成为我们计算机教育的重点目标。也就是在这个目标的指引下我们在进行应用密码学的课程教学后,在第二学期就进行了一周的课程设计。这样可以很好锻炼我们的实践和研究能力,这对当代就要面临就业压力的计算机专业大学生是非常有必要的。数据摘要是实现网上信息安全

7、的重要手段,而数据摘要又是密码学中占有非常重要的地位。在数据摘要的算法中哈希函数又是关键。密码学是研究编制和密码破解的技术科学,它的客观变化规律应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情报的,称为破译学,总称为密码学。它是在编码和破译的斗争中发展起来的,并随着先进科学技术的应用已成为一门综合性的尖端技术科学。它与语言学、数学、电子学、声学、信息论、计算机科学有着广泛而密切的联系。 本次课程设计的题目是模拟保密通信的过程,通过模拟整个过程来体会密码学的强大功能。首先确定发送方要发送的消息,通过对称加密,得到密文,接受方再通过一系列的解密处理过程得到发送的原始数据。先对

8、整个系统的执行流程进行了分析,根据据执行流程对、每个部分再进行设计,过程是首先是共享密钥的分配,在这一阶段采用RSA加密算法和公钥证书分配方式以及具有保密性的共享密钥分配策略,接着再消息认证过程中采用MD5算法,发送方要对发送的信息采用RC4算法进行加密,最后DSS进行数字签名。对每一步中的相关信息进行具体的设置,使其能够成功的发送和接收。通过具体的设计之后,对自己所选题中所使用的算法进行具体深入研究和掌握。也加深了对简单的保密通信系统的工作过程的了解。 关键词 密码学 编码学 破译学 保密通信 数字签名 第一章 绪 论1.1密码学概述密码学(Cryptogra phy)在希腊文用Krupto

9、s(hidden)+graphein(to write)表达,现代准确的术语为“密码编制学”,简称“编密学”, 与之相对的专门研究如何破解密码的学问称之为“密码分析学”。密码学是主要研究通信安全和保密的学科,他包括两个分支:密码编码学和密码分析学。密码编码学主要研究对信息进行变换,以保护信息在传递过程中不被敌方窃取、解读和利用的方法,而密码分析学则于密码编码学相反,它主要研究如何分析和破译密码。这两者之间既相互对立又相互促进。密码的基本思想是对机密信息进行伪装。一个密码系统完成如下伪装:加密者对需要进行伪装机密信息(明文)进行伪装进行变换(加密变换),得到另外一种看起来似乎与原有信息不相关的表

10、示(密文),如果合法者(接收者)获得了伪装后的信息,那么他可以通过事先约定的密钥,从得到的信息中分析得到原有的机密信息(解密变换),而如果不合法的用户(密码分析者)试图从这种伪装后信息中分析得到原有的机密信息,那么,要么这种分析过程根本是不可能的,要么代价过于巨大,以至于无法进行。在计算机出现以前,密码学的算法主要是通过字符之间代替或易位实现的,我们称这些密码体制为古典密码。其中包括:易位密码、代替密码(单表代替密码、多表代替密码等)。这些密码算法大都十分简单,现在已经很少在实际应用中使用了。由于密码学是涉及数学、通讯、计算机等相关学科的知识,就我们现有的知识水平而言,只能初步研究古典密码学的

11、基本原理和方法。但是对古典密码学的研究,对于理解、构造和分析现代实用的密码都是很有帮助。以下介绍我们所研究的古典密码学。1.2密码学的发展简介密码学作为保护信息的手段,经历了三个发展时期。它最早应用在军事和外交领域,随着科技的发展而逐渐进入人们的生活中。在手工阶段,人们只需通过纸和笔对字符进行加密。密码学的历史源远流长,人类对密码的使用可以追溯到古巴比伦时代。下图的Phaistos圆盘是一种直径约为160mm的粘土圆盘,它始于公元前17世纪,表面有明显字间空格的字母。近年有研究学家认为它记录着某种古代天文历法,但真相仍是个迷。随着工业革命的兴起,密码学也进入了机器时代、电子时代。与人手操作相比

12、电子密码机使用了更优秀复杂的加密手段,同时也拥有更高的加密解密效率。其中最具有代表性的就是下图所示的ENIGMA。ENIGMA是德国在1919年发明的一种加密电子器,它被证明是有史以来最可靠的加密系统之一。二战期间它开始被德军大量用于铁路、企业当中,令德军保密通讯技术处于领先地位。在这个时期虽然加密设备有了很大的进步,但是密码学的理论却没有多大的改变,加密的主要手段仍是-替代和换位。计算机的出现使密码进行高度复杂的运算成为可能。直到1976年,为了适应计算机网络通信和商业保密要求产生的公开密钥密码理论,密码学才在真正意义上取得了重大突破,进入近代密码学阶段。近代密码学改变了古典密码学单一的加密

13、手法,融入了大量的数论、几何、代数等丰富知识,使密码学得到更蓬勃的发展。到了现在,世界各国仍然对密码的研究高度重视,已经发展到了现代密码学时期。密码学已经成为结合物理、量子力学、电子学、语言学等多个专业的综合科学,出现了如“量子密码”、“混沌密码”等先进理论,在信息安全中起着十分重要的角色。1.3 密码学分类.1.3.1 基本分类 有二大类的密码系统。第一类为对称金钥(Symmetric Key)密码系统,第二类为非对称金钥(Public Key) 密码系统。 首先密码学是由万维网的嬉皮士所研究,而且涉及钥匙传送问题。60年代 请保安传送钥匙;70年初,发 现这个不是好辨法,费时浪费时间。19

14、65年,美国史丹福大学电机工程系-默克尔、迪菲、赫尔曼等三人研究密码学可惜并未有所发现。 另外在英国通讯电子保安组(CESG)秘密机构的切尔纳姆发现了还原密码式,但是由于属于秘密机构,所以不能公开。直到1977年麻省理工研究生-里夫斯,阿德曼发现和切尔曼差不多的式。他们成立RSA Security Company (RSA是他们名字的字头)现时值25亿美元,在传送信用卡时起了很大作用。RSA已安装了5亿套产品在IE , Netscape下的小锁就是RSA的产品。数学挂销第一个发现不是美国,但是第一个公开。数学挂锁上锁易,还原难,所以受广氾使用,亦即是信息编码保密。.1.3.2不对称密码学传统的

15、对称加密算法遇到了密钥分发管理的难题,最优秀的算法,如果密钥在分发、传发泄漏,则整个安全体系则毁于一旦。不对称加密算法则有效的避免了其分发管理密钥的难题。不对称密码学中使用到一对公钥(public key)和私钥(private key)组合。用公钥加密的密文只能用私钥解密,反之,用私钥加密的密文只能用公钥解密。在操作过程中,人们把公钥向外界发布,让外界都知道,自己保存私钥,只有自己才能知道。如果A要发一份秘密信息给B,则A只需要得到B的公钥,然后用B的公钥加密秘密信息,此加密的信息只有B能用其保密的私钥解密。反之,B也可以用A的公钥加密保密信息给A。信息在传送过程中,即使被第三方截取,也不可

16、能解密其内容。 (I)RSA RSA(取Ron Rivest,Adi Shamir和Leonard Adleman三创始人字句首字母)几乎已经成为了公开密钥密码体制的代名词。RSA是一种公开密钥加密体系,它的应用原理是:先由密钥管理中心产生一对公钥 (public-key)和私钥(Private-key),称为密钥对。方法如下:先产生两个足够大的强质数p、q。可得p与q的乘积为 n=pq。再由p和q算出另一个数z=(p-1)(q-1),然后再选取一个与z互素的奇数e,称e为公开指数;从这个e值可以找出另一个值d,并能 满足ed=1 mod (z)条件。由此而得到的两组数(n,e)和(n,d)分

17、别被称为公开密钥和秘密密钥,或简称公钥和私钥。 公钥密码算法都是基于一些复杂的数学难题,例如广泛使用的RSA算法就是基于大整数因子分解这一著名的数学难题。公钥密码体系的优点是能适应网络的开放性要求,密钥管理简单,并且可方便地实现数字签名和身份认证等功能,是电子商务等技术的核心基础。其缺点是算法复杂,加密数据的速度和效率较低。因此在实际应用中,通常将对称加密算法和非对称加密算法结合使用,利用对称加密算法来进行大容量数据的加密,而采用RSA等非对称加密算法来传递对称加密算法所使用的密钥,通过这种方法可以有效地提高加密的效率并能简化对密钥的管理。(II) 鉴别与签名对称密码学解决了数据机密性的功能要

18、求,不对称密码学则相应的解决了签别和不可否认性等功能需求。在不对称密码学中,用自己公钥加密的数据只有自己才能打开,人们就可以把自己的公钥放在网上,通信的对方可以用自己的公钥加密数据,密文只有自己才能打开,达到了加密数据而不需要通过一种十分可靠的方式来传递对称密钥的作用。反之,如果使用私钥来加密消息,通信的对方用公钥来解密消息,就可以达到鉴别的作用。因为能用公钥解密消息,说明数据一定是自己加密的,前提是这些加密并不为保护数据内容,只为确认、鉴别身份而用。这样可以用对称算法作数字签名 (digital signature),用私钥加密报文,就可以让对方确认身份。如果A用其私钥加密了某信息,B用A的

19、公钥钥密后“阅读”A的信息,则A就不能否认其给A发过过信息。(III)CA (Certification Authrity)公钥加密体系理论上非常安全,操作过程中有可能会受到中间人攻击(man-in-the-middle attack)。比如B要发一个保密信息给A,所以第一步A把自己的公钥Ka发给B。在这一过程中,如果窃听者H 截取到其公钥,然后伪装成A,将自己的公钥Kh发给B。B将敏感信息用Kh加密后发给A,此过程中,窃听者H截取密文后用H的私钥解密得到信息内容,然后用A的公钥Ka加密得到密文,自己伪装成B发给A,A用自己的私钥顺利的解开了密文。在此过程中,A与B通讯顺利,也感觉不到H的存在

20、,但A与B的信息却被窃听者窃取。CA的出现有效的解决了中间人的攻击。CA(certification authrity)把一个特定的实体和公钥绑在一起。人们把信任建立在一个大家都信任的第三方,从信任第三方来达到信任对方的目的。如果人们想发放自己的公钥,则用自己的相关身份信息和自己的公钥到一家权威机构(比如像派出所这样的机构)办一个数据证书。权威机构核实你的身份以后,用其权威机构的私钥来加密你的数据证书。如果你要把你的公钥传送给对方,只需要将自己的数据证书传递给对方,对方用权威机构的公钥解密即可得到你身份的相关信息和公钥。而权威机构的公钥则更加透明,比如可以刊登在报纸上让大家都知道。系统本身也带

21、有一些权威机构的公钥,这些在人们装好系统就已经存在了。第2章 保密通信系统原理设计2.1 保密通信系统原理数据通信的迅速发展带来了数据失密问题。信息被非法截取和数据库资料被窃的事例经常发生。数据失密会造成严重后果,所以数据保密成为十分重要的问题。数据保密技术包括:用户身份标志。不同的用户享有不同的权利,可以对不同的数据库或数据库的不同部分进行访问,用户身份标志最常用的方法是口令学。物理性保护。一般保密性较高的数据库除了用户身份标志外,还需要数据加密,如信用卡。使用权。数据库的每一个受保护部分保持一份各个用户使用权的清单。在数据通信中的传统的保密方法是采用通信双方协定的密钥字(定期或不定期变换)

22、,在通信开始时先验证对方身份。传输的信号也是经过加密的。公开密钥理论,其基本要领是给每一用户分配一对密钥,其中一个是只有使用者本人掌握秘密密钥,另一个是可以公开的密钥,两个密钥通过算法结成一定的关系。公开密钥只用于加密密钥通过算法结成一定的关系。公开密钥只用于加密,秘密密钥只用于解密,因而要想从一个密钥导出另一个密钥事实上是不可能的,即从数字观点来看,函数是单向的,而且只有惟一的解。这一方法的特点是把经过加密的报文发送出去而无需双方进行密钥互换、分配或同步。RSA法的数字签名验证法,可以确证对方用户身份。数字签名可以由公开密钥系统产生出来,其前提是公开密钥和秘密密钥是互逆的,就是说,假使一个明

23、文报文是用某个秘密密钥“解密”的,则公开密钥“加密”就可以将报文恢复为明文格式。2.2设计内容具有保密性分配MD5表2.2 保密通信系统配置表2.3 RC4流密码算法 流密码(stream cipher)也称为序列密码,每次加密处理数据流的一位或一个字节,加解密使用相同的密钥,是对称密码算法的一种。1949年Shannon证明只有一次一密密码体制是绝对安全的,为流密码技术的研究提供了强大的支持,一次一密的密码方案是流密码的雏形。流密码的基本思想是利用密钥K产生一个密钥流k1k2kn对明文流M=m1m2mn进行如下加密:C=c1c2cn=Ek1(m1)Ek2(m2)Ekn(mn)。若流密码所使用

24、的是真正随机产生的、与消息流长度相同的密钥流,则此时的流密码就是一次一密的密码体制。流密码分为同步流密码和自同步流密码两种。同步流密码的密钥流的产生独立于明文和密文;自同步流密码的密钥流的产生与密钥和已经产生的固定数量的密文字符有关,即是一种有记忆变换的序列密码。RC4是1987年Ron Rivest为RSA公司设计的一种流密码,是一个面向字节操作、具有密钥长度可变特性的流密码,是目前为数不多的公开的流密码算法。目前的RC4至少使用128为的密钥。RC4的算法可简单描述为:对于n位长的字,有共N=2n个可能的内部置换状态矢量S=S0,S1,SN-1,这些状态是保密的。密钥流K由S中的2n个元素

25、按一定方式选出一个元素而生成,每生成一个密钥值,S中的元素就重新置换一次,自始至终置换后的S包含从0到N-1的所有n比特数。RC4有两个主要算法:密钥调度算法KSA和伪随机数生成算法PRGA。KSA算法的作用是将一个随机密钥变换成一个初始置换,及相当于初始化状态矢量S,然后PRGA利用KSA生成的初始置换生成一个伪随机数出序列。密钥调度算法KSA的算法描述如下:fori=0 to N-1 doSi=i;j=0;j=(j+Si+Ki mod L) mod N;swap(Si,Sj);初始化时,S中元素的值被设置为0到N-1,密钥长度为L个字节,从S0到SN-1对于每个Si根据有密钥K确定的方案,

26、将Si置换为S中的另一个元素。伪随机数生成算法PRGA的算法描述如下:i=0;while(true)i=(i+1) mod N;j=(j+Si)mod N;swap(Si,sj);output k=S(Si+Sj)mod N;PRGA算法主要完成密钥流的生成,从S0到SN-1,对每个Si,根据当前S的值,将Si与S中的另一个元素置换,当SN-1完成置换后,操作再从S0开始重复。加密时将K值与下一个明文字节异或;解密时将K值与下一密文字节异或。2.4共享密钥分配2.4.1 RSA算法 非对称密码体制又称为公钥密码体制,加解密使用公私钥密钥对,私钥由密钥拥有者保管,公钥可以公开,基于公开渠道进行分

27、发,解决了对称密钥体制中密钥管理、分发和数字签名等难题。RSA公钥算法由Rivest、Shamir、Adleman于1978年提出的,是目前公钥密码的国际标准。算法的数学基础是Euler定理,是基于Deffie-Hellman的单项陷门函数的定义而给出的第一个公钥密码的实际实现,其安全性建立在大整数因子分解的困难性之上。RSA算法的明文空间M=密文空间C=Zn整数,其算法描述如下:密钥生成:随机选择两个大素数p和q,计算n=p q,(n) = (p-1)(q-1);选择一个随机整数e(n),满足gcd(e,(n)=1,计算整数d = e-1mod(n),即ed 1 mod(n);公开公钥(n,e),安全的销毁p、q和(n),并保留(d,n)作为私钥。加密:C Me mod n,M n解密:M Cd mod n使用中国剩余定理可以加速RSA密码算法的实现。2.4.2 公钥证书 用户互相交换自己的公钥而无须与公钥管理机构联系由证书管理机构CA(certificate authority)为用户建立其中的数据项有与该用户的秘密钥相匹配的公开钥及用户的身份和时戳等所有的数据项经CA用自己的秘密钥签字后就形成证书CA=ESKCAT,IDA,PKA,其中

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1