




已阅读5页,还剩63页未读, 继续免费阅读
(计算机应用技术专业论文)基于混合加密的数据传输系统.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 保护网络系统中传输的数据遭到破坏、更改、泄露,是网络安全技术所要解 决的主要问题和重要的研究领域。数据加密对于保证网络中数据的正确传输,起 到了非常重要的作用。本文以此需求为基础,通过对d e s 和r s a 两种经典的 加密算法的仔细和深入研究,提出和设计了混合加密的数据传输系统,用v i s u a l c + + 进行了编程实现,并用两台电脑对混合加密的数据传输系统进行了模拟和试 验,实验结果证明该混合加密的数据传输系统设计和实现是成功的,它克服了以 前此类系统的速度慢,密钥传输困难等缺点。 本文在对密码学和数据传输的基本技术进行研究的基础上,分析了几种常见 的数据加密算法和数据通信方式,仔细研究了w i n s o c k 通信方法。在混合加密的 数据传输系统的设计中,确定了系统设计目标和系统的主要功能。设计的重点在 混合加密模块,在此模块中,先由软件系统生成一对r s a 密钥,将其导入到混 合加密过程中,对系统中随机生成的d e s 密钥进行加密,然后用d e s 对数据加 密。在数据传输模块,将加密后的数据和加密后的密钥一起传给接收方,接收方 接到之后,用私钥先解密密钥,然后用密钥对文件进行解密,得到明文,至此完 成了数据传输的全部过程。 在本文的结尾部分,对于设计的混合加密的数据传输系统进行了总结,并对 基于混合加密的传输技术的发展和应用前景作了展望。 关键字:d e s ,r s a ,w i n s o c k ,混合加密 a b s t r a c t t op r o t e c td a t af r o md e s t r o yi sav e r yi m p o r t a n tp r o b l e ma n dr e s e a r c hf i e l di n n e t w o r k ss e c u r i t y d a t ae n c r y p t i o n p l a ya ni m p o r t a n tr o l ei ne n s u r i n gt h ed a t a t r a n s m i s s i o ni nn e t w o r k t h i sa r t i c l ei so nt h eb a s eo ft h er e q u i r e m e n t ,l u c u b r a t et h e d e sa n dr s aa l g o r i t h m ,g i v e sas a y i n ga n dd e s i g nt h ed a t at r a n s m i s s i o ns y s t e m b a s e do i lm i xe n c r y p t i o n a n du s ev c + + c a r r yo u tt h ep r o g r a m ,s i m u l a t ea n d e x a m i n a t i o nw i t ht w oc o m p u t e r t h er e s u l t p r o v e st h i ss y s t e mi ss u c c e s s f u l ,i t c o n q u e r sm a n yd i s a d v a n t a g e so fs o m eo l ds y s t e m ,f o re x a m p l e ,t h es l o ws p e e da n d t h ep r o b l e mo fk e yt r a n s m i s s i o n f i r s to fa l l ,t h ep a p e re x p a t i a t e so nt h eb a s ei n f o r m a t i o no fc r y p t o l o g ya n d t r a n s m i t s y s t e m ,i n t r o d u c e ss e v e r a le n c r y p ta r i t h m e t i ca n dd a t at r a f f i cm o d e , m o r e o v e r t h e nr e s e a r c h e sw i n s o c kc o m m u n i c a t et e c h n i q u e a tt h et i m eo fd e s i g n t h et r a n s m i ts y s t e mo nm i xe n c r y p t ,e n s u r et h ed e s i g nt a r g e to ft h es y s t e m ,t h e e m p h a s e so fd e s i g ni sm i x e de n c r y p t i o nm o d u l e o nt h i sm o d u l e ,b u i l tap a i ro fr s a k e ya tf i r s t ,i m p o r t st h e mi nt h em i xe n c r y p t i o np r o c e s s ,e n c r y p td e sk e yw h i c hi s c r e a t ea u t o m a t i c ,a n dt h e n ,e n c r y p td a t af i l e b yd e sk e y o nd a t at r a n s m i s s i o n m o d u l e ,s e n dt h ee n c r y p td a t aa n dk e yt or e c e i v ep e o p l e ,t h e n ,t h er e c e i v ep e o p l eu s e s e c r e tk e yd e c r y p t i o nt h ek e ya n du s ei tt od e c r y p t i o nt h ed a t af i l e a tt h i sp o i n t , c o m p l e t et h ew h o l ep r o c e s s a tl a s to ft h ep a p e r ,s u m m a r yo ft h i ss y s t e ma n dp r o s p e c tt h et r a n s m i to nm i x e n c r y p t i o n k e y w o r d s :d e s ,r s aw i n s o c k ,m i xe n c r y p t i o n 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究j r 作和取得的研究成果,除 了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或撰写过的研究成果,也 不包含为获得丞洼王些太堂或其他教育机构的学位或证书而使用过的材料。与我一同上作 的同忠对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 学位论文作者签名:7 青飘 签字日期:加叼年弓月f 日 学位论文版权使用授权书 本学位论文作者完全了解丞洼- i 些太堂有关保留、使用学位论文的规定。特授权云 洼王些太堂可以将学位论文的全部缄部分内容编入有关数据库进行检索,并采用影印、缩 印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国家有关部l 、j 或机构送交论文 的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:1 鱼狠 导师签名: 签字日期:加7 年弓月f 日 签字日期:如力年3 月i 珀 f 学位论文主要创新点 一、提出了一种新的基于混合加密的传输系统方案并加以实现, 该方案利用r s a 算法加密d e s 密钥,用d e s 算法加密数据,从而解决 了d e s 密钥管理和传输中易被窃取以及r s a 加密速度慢的问题。 二、在对数据和密钥加密的基础上实现了w i n s o c k 传输,并且混 合加密、传输全部用软件编程实现,增加了系统的可重用性和可更改 性。 第一章绪论 1 1 课题背景及研究意义 第一章绪论 近年来,随着信息与计算机的结合,电子商务、会融电子化、政府办公网 络化等等都给我们的工作和生活带来了巨大的便利,互联网己经成为我们同常 工作和生活中不可或缺的一部分。但是在获得网络资源的同时,自身的保密资 源和用户的个人信息也不同程度的遭到了窃取和攻击。因此,信息和网络的安 全在这个时代就显得尤为重要。密码技术是信息安全的核心技术,因此,面对 紧迫的形势,加强对密码技术的研究和发展创新具有重要的理论意义和实用价 值。 2 1 世纪以来,国家建设了一批信息安全基础设施,加强了互联网信息内容 的安全管理,信息安全保障工作取得一些成效。由于基础薄弱,工作人员防范 意识淡薄,安全隐患仍然很大。网上的重大失窃案件多有发生;境内外敌对势 力利用因特网从事各种违法犯罪活动,对社会稳定和政权巩固造成了许多负面 影响。而意识形态方面的文化渗透,这也是利用信息战进行和平演变的一个重 要方面。 信息网络存在严重隐患还表现在,不能快速有效抑制各种计算机病毒的入 侵,2 0 0 3 年初至年底我国连续遭受口令、冲击波等病毒袭击,这些病毒都给计 算机用户造成了较严重的损失,随着国家信息化的进一步发展,还将更多地暴 露出我国信息网络的安全隐患,遭受更大的威胁和风险。因此,信息安全应引 起我们的高度重视。 信息安全的基础是密码技术,而密码技术的核心是加密算法。近三十年来, 密码学已成为一门热门的学科,在理论和方法上都有了迅速发展。 传统加密算法有代换密码法、数字密码法和转换密码法等。d e s 算法 心1 ( d i g i t a le n c r y p t i o ns t a n d a r d 数据加密标准) 在1 9 7 5 年3 月被公丌发表,并在 1 9 7 7 年由美国国家标准局宣布,d e s 可用于非国家保密机关,正式作为商用加 密算法的标准。d e s 作为乘积密码的典型代表,在密码学发展历史上具有重要 的地位。1 9 7 7 年,r i v e s t 、s h a m i r 和a d l e m e n 对公钥密码学思想进行了深入的 研究,发明了用于加密和数字签名的r s a 算法口1 ,这是第一个公钥密码体制。 也具有划时代的意义。 由于过去用的传统加密算法设计简单,比较容易破译,本文主要通过对目 天津。i :业人学硕十学位论文 前常用的一些密码算法进行分析比较,综合d e s 和r s a 的优缺点,设计了混 合加密算法,应用于数据传输系统,提高了所传输文件的安全性。 1 2 网络信息安全 由于计算机网络中存在着各种各样的来自各方面的安全威胁,网络安全技 术应全方位地针对各种不同的威胁和脆弱性,确保网络的保密性、完整性和可 用性。网络应该采取何种控制技术保证安全访| 、u j 而绝对禁止非法者进入,真正 实现既要使网络丌放又要使网络安伞的目标,已成为网络建设及安全的重大i 、u j 题。 对于保证计算机网络信息安全主要有以下几项基本要求: ( 1 ) 数据保密由于系统无法确认是否有未授权的用户截取网络一卜的数据, 因此需要对数据进行保密,即对数据进行加密。 ( 2 ) 数据完整性系统需要采用数据加密和校验方法来确认送到网络上的 数据在传输过程中没有被篡改。 ( 3 ) 身份验证就是指明确信息发送者的身份,是供一个系统确定一个实体 身份的一种服务,它是许多安全机制的基础。 ( 4 ) 授杖系统需要利用访问控制表控制谁能够访问网络上的信息以及如 何访问。 ( 5 ) 不可抵赖和不可否认用户不能抵赖自己曾经发出信息,也不能否认曾 经接到对方的信息。 ( 6 ) 访问控制系统要有能力限制和控制通过通信链路对主机系统和应用 程序的访问。 另外,保护硬件资源不被非法占有,软件资源免受病毒的侵害,都构成了 整个计算机网络上安全通信的需求。 1 3 网络数据加密技术 数据加密技术是网络中最基本的安全技术,主要是通过对网络中传输信息 进行数据加密来保障其安全性,这是一种主动安全防御策略,用很小代价即可 为信息提供强大的安全保护。 密码技术是网络安全最有效的技术之一。一个加密网络,不但可以防止非 授权用户的搭线窃听和入网,而且也是对付恶意软件的有效方法之一。在密码 技术中,被隐藏的消息称为明文,用某种方法隐藏消息称为加密,加密的消息 2 第一章绪论 称为密文,把密文转换为明文的过程称为解密。图1 - 1 表明了密码学的基本通 信方案。 加密密钥k解密密钥k : 图1 - 1 密码学的基本通信方案 一般的数据加密可以在通信的三个层次来实现:链路加密、节点加密和端 到端加密。 1 、链路加密 对于在两个网络节点间的某一次通信链路,链路加密能为网上传输的数据 提供安全保证。对于链路加密( 又称在线加密) ,所有消息在被传输之前进行加 密,在每一个节点对接收到的消息进行解密,然后先使用下一个链路的密钥对 消息进行加密,再进行传输。在到达目的地之前,一条消息可能要经过许多通 信链路的传输。由于在每一个中间传输节点消息均被解密后重新进行加密,因 此,包括路由信息在内的链路上的所有数据均以密文形式出现。这样,链路加 密就掩盖了被传输消息的源点与终点。由于填充术的使用以及填充字符在不需 要传输数据的情况下就可以进行加密,这使得消息的频率和长度特性得以掩盖, 从而可以防止对通信业务进行分析。 尽管链路加密在计算机网络环境中使用得相当普遍,但它并非没有问题。 链路加密通常用在点对点的同步或异步线路上,它要求先对在链路两端的加密 设备进行同步,然后使用一种链模式对链路上传输的数据进行加密。这就给网 络的性能和可管理性带来了副作用。在线路信号经常不通的海外或卫星网络 中,链路上的加密设备需要频繁地进行同步,带来的后果是数据丢失或重传。 3 天津i :业人学硕十学何论文 另一方面,即使仅一小部分数掂需要进行加密,也会使得所有传输数据被加密。 在一个网络节点,链路加密仅在通信链路上提供安全性,消息以明文形式 存在,因此所有节点在物理上必须是安全的,否则就会泄漏明文内容。然而保 证每一个节点的安全性需要较高的费用,为每一个节点提供加密硬件设备和一 个安全的物理环境所需要的费用由以下几部分组成:保护节点物理安全的雇员 丌销,为确保安全策略和程序的i f 确执行而进行审计时的费用,以及为防l l 安 全性被破坏时带来损失而参加保险的费用。 在传统的加密算法中,用于解密消息的密钥与用于加密的密钥是相同的, 该密钥必须被秘密保存,并按一定规则进行变化。这样,密钥分配在链路加密 系统中就成了一个问题,因为每一个节点必须存储与其相连接的所有链路的加 密密钥,这就需要对密钥进行物理传送或者建立二号用网络设施。而网络节点地 理分布的广阔性使得这一过程变得复杂,同时增加了密钥连续分配时的费用。 2 、节点加密 尽管节点加密能给网络数据提供较高的安全性,但它在操作方式上与链路 加密是类似的:两者均在通信链路上为传输的消息提供安全性;都在中问节点 先对消息进行解密,然后进行加密。因为要对所有传输的数据进行加密,所以 加密过程对用户是透明的。 然而,与链路加密不同,节点加密不允许消息在网络节点以明文形式存在, 它先把收到的消息进行解密,然后采用另一个不同的密钥进行加密,这一过程 是在节点上的一个安伞模块中进行。节点加密要求报头和路由信息以明文形式 传输,以便中间节点能得到如何处理消息的信息。因此这种方法对于防止攻击 者分析通信业务是脆弱的。 3 、端到端加密 端到端加密允许数据在从源点到终点的传输过程中始终以密文形式存在。 采用端到端加密( 又称脱线加密或包加密) ,消息在被传输时到达终点之前不进 行解密,因为消息在整个传输过程中均受到保护,所以即使有节点被损坏也不 会使消息泄露。 端到端加密系统的价格便宜些,并且与链路加密和节点加密相比更可靠, 更容易设计、实现和维护。端到端加密还避免了其它加密系统所固有的同步问 题,因为每个报文包均是独立被加密的,所以一个报文包所发生的传输错误不 会影响后续的报文包。此外,从用户对安全需求的直觉上讲,端到端加密更自 然些。单个用户可能会选用这种加密方法,以便不影响网络上的其他用户,此 方法只需要源和目的节点是保密的即可。 端到端加密系统通常不允许对消息的目的地址进行加密,这是因为每一个 4 第一章绪论 消息所经过的节点都要用此地址来确定如何传输消息。由于这种加密方法不能 掩盖被传输消息的源点与终点,因此它对于防止攻击者分析通信j i k 务是脆弱的。 1 4 加密算法的发展 密码学早在公元前4 0 0 多年就已经产生,正如破译者中所说“人类使 用密码的历史几乎与使用文字的时间一样长”。第一次世界大战前,重要的密码 学进展尽管很少在公开文献中出现,但该领域也和其它专业学科一样向前发展。 在上世纪3 0 年代和4 0 年代,有几篇基础性的文章出现在公开的文献中, 有关该领域的几篇论文也相继发表,只不过这些论文的内容离当时真j 下的技术 水平相差甚远,战争结束时,情况急转直下,公开的文献几乎殆尽。只有一个 突出的例外,那就是香农( c l a u d es h a n n o n ) 的文章保密系统的通信理论出现 在1 9 4 9 年贝尔系统技术杂志上,它类似于f r i e d m a n1 9 1 8 年的文章,也是 战时工作的产物。从1 9 4 9 年到1 9 6 7 年,密码学文献几乎空白h 1 。在1 9 6 7 年, 一部与众不同的著作d a v i dk a h n 的破译者出现,它没有任何新的技术思想, 但却对以往的密码学历史作了相当完整的记述,包括政府仍然认为是秘密的一 些事情。破译者的意义不仅在于它涉及到的领域相当广泛,而且在于它使成 千上万原本不知道密码学的人了解密码学砺1 。 到了1 9 7 7 年美国国家标准局n b s ( n a t i o n a lb u r e a uo fs t a n d a r d ) 公布了由 i b m 公司研制的一种加密算法,批准它作为非机要部门使用的数据加密标准, 简称d e s ( d a t ae n c r y p t i o ns t a n d a r d ) 。进入9 0 年代后,以色列的密码学家s h a m i r 等人提出了一种“差分分析法 ,以后r 本人又提出类似的方法,这才正式有一 种称得上对它的攻击方法。但是严格的讲,s h a m i r 的“差分分析法”也只有理 论上的价值。但随着技术的进步,d e s 密码体制已于1 9 9 7 年6 月1 7 日被成功 破解1 。1 9 7 6 年,d i f f i e 和h e l l m a n 提出:不仅密码算法本身可以公开,而且加 密用的密钥也可以公开,只要解密密钥保密就可以了,这就是加密密钥和解密 密钥不同的非对称密码体系,又称公钥密码体系;1 9 7 8 年,r i v e s t 、s h a m i r 和 a d l e m a n 三人合作提出了第一个实用的非对称密码算法,即著名的r s a 密码算 法。但由于其速度较慢,在那些密级要求较高、实时性要求又很强、用户终端 计算处理能力弱的网络和无限网络的应用中受到了局限n 1 。 美国国家标准和技术研究所( n i s t ) 于1 9 9 7 年1 月发起并组织了在全世界广 泛征集新的加密标准算法的活动,同时要求每一种候选算法应当支持1 2 8 、1 9 2 和2 5 6 比特的密钥长度。经过3 年多时间的反复较量,对首轮入选的几十种不 同算法进行了广泛的评估和测试,筛选出5 种算法进入决赛。最终于2 0 0 0 年 5 大津i :业人学硕+ 学位论文 1 0 月宣柿由比利时的密码专家j o a nd a e m e n ( p r o t o nw o r l di n t e r n a t i o n a l 公司) 及 v i n c e n tr i j m e n ( l e u v e n 大学1 所提出的加密算法助r i j m e n 赢得了胜利,成为2 1 世纪新的高级加密算法a e s ( a d v a n c e de n c r y p t i o ns t a n d a r d ) 。在2 0 0 5 年8 月1 7 同,在美国加州圣巴巴拉召丌的幽际密码学会议上,山东大学王小云教授关于 破泽m d 5 、h a v a l - 1 2 8 、m d 4 和r i p e m d 算法的报告引起了轰动。针对1 三小 云教授等人的报告,美国国家技术与标准, 居- j ( n i s t ) 发表专门评论,并宣布美国 计划在2 0 1 0 年之前逐步淘汰现在采用的数字签名体系,换用其他更长更安全的 算法。 1 5 论文的主要内容 本文主要研究了基于混合力i l 密的数据传输系统。利用对称算法d e s 加密数 据文件,利用非对称算法r s a 加密密钥,设计了混合加密的传输系统,该系统 能够完成数据加密,密钥加密,数据传输等功能,从而实现了数据传输的安全 性和高效性。本文的具体内容如卜: 第一章绪论分析了网络安全的圈际和国内发展背景,以及数据加密的发 展、研究水平和意义,最后概括了本文的主要研究内容。 第二章加密和数据传输分析了密码学的基础知识,常用的几种加密算法 原理和几种数据通信方式,并对本课题所使用的加密算法和通信技 术进行了详细论述。 第三章基于混合加密的数据传输系统设计对系统进行了需求分析,确定 了系统的设计目标,并对系统流程、系统主要实现的功能和模块进 行了设计。 第四章基于混合加密的数据传输系统实现具体讲述了混合加密模块和数 据传输模块的实现过程以及原理。 第五章系统测试测试了系统的两个主要模块加密模块和数据传输模 块,证明了该系统是成功的,克服了密钥保存和加密速度等问题。 第六章结论与展望总结全文,指出了下一步的研究内容。 6 第二章加密与数据传输 2 1 密码学基础 第二章加密和数据传输 本课题设计了一个基于混合加密的数据传输系统,为了实现加密效率和加密 质量的双重目标,综合使用了对称密码技术和公钥密码体制,加密文件时用到了 对称密码算法d e s 和扩展了密钥的3 d e s ,加密密钥时用到了公钥密码中的r s a 算法,鉴于此,本章先对对称密码技术和公钥密码体制的特点等进行了概述,然 后较为详细的介绍了本课题所使用的两种算法。由于课题也涉及到传输,在本章 介绍加密算法之后,先对数据传输的各种方式做了分析和研究,然后详细研究了 本课题所使用的w i n s o c k 编程的技术。 2 1 1 对称密码技术 2 1 1 1 对称密码技术基本概念 首先先来研究一下混合加密中用来加密文件的对称加密算法。对称密码就是 加密密钥和解密密钥完全相同或者一个密钥很容易从另一个密钥中导出的密码。 它要求发送者和接收者在安全通信之前,商定一个密钥,密钥就经过安全的密钥 信道由发送方传给接收方。对称算法的安全性依赖于密钥的安全性,泄漏密钥就 意味着得到密钥的任何人都能对消息进行加密、解密。只要通信需要保密,密钥 就必须保密。根据对明文信息的加密方式,对称密码可分为两类。一次只对明文 中单个位( 有时对字节) 运算的算法称为序列算法( s t r e a ma l g o r i t h m ) 或序列密码 ( s t r e a mc i p h e r ) 。另一类算法是对明文的一组位进行运算,这些位组称为分组 ( b l o c k ) ,相应的算法称为分组算法( b l o c k a l g o r i t h m ) 或分组密码( b l o c kc i p h e r ) m 1 。 现代计算机密码算法的典型分组长度为6 4 位,这个长度大到足以防止分析破译, 但又小到足以方便使用。 2 1 1 2 对称密码技术的基本成分和特点 对称密码有五个基本成分例: ( 1 ) 明文:原始可理解的消息或数据,作为算法的输入。 ( 2 ) 加密算法:加密算法对明文进行各种代换和变换。 7 天津i :业人学硕十学位论文 ( 3 ) 密钥:密钥也是加密算法的输入,独立于明文和算法。算法根据所用的 特定密钥而产生不同的输出,算法所用的代换也依靠密钥。 ( 4 ) 密文:密文是加密算法的输出。看起来是随机而杂乱的消息,依赖丁明 文和算法。彳 0 ,q 是奇数。设 a 是整数且1 4 & & p 1 e n 4 & q 1 e n = m a x ( p 1 e n ,q 1 e n ) & e l e n n 1 e n ) p _ l = p ;p _ 1 b i t o 】一= 1 ; q _ l = q ;q _ 1 b i t o 卜= l ; c h e c k ( b i m u l ( n _ l ,p _ l ,q - 1 ) ) w h i l e ( t r u e ) b i r a n d v a l ( e ,e l e n ) ; i f ( b i c m p ( e ,n ) 0 & b i i n v e r s e ( e ,d ,n _ l ,t m p ) ) r e t u mt r u e ; 4 1 2 混合加密的实现 混合加密过程是该系统的核心部分,因为d e s 算法在密钥管理方面不如非 对称的r s a 算法,而速度方面却比r s a 算法快很多。选择r s a 算法j j u 密d e s 算法产生的密钥,用d e s 算法加密文件,既满足了速度的需求,也增加了系统 的安全性。非对称密码算法采用公开形式分配加密密钥,所以对加密密钥的更新 很容易,并且对不同的通信对象,只需保密自己的解密密钥即可;而对称密码体 制要求通信前对密钥进行秘密分配,密钥的更换很困难,而且对不同的通信对象, 对称密码体制需产生和保管不同的密钥。 该系统的加密部分主要运行过程如下: 3 9 天津:l :业人学硕十学位论文 ( 1 ) 浏览文件,选择需要加密的文件。 ( 2 ) 选择加密后文件保存的目录。 ( 3 ) 文件选择之后,将在r s a 密钥7 e 成模块所产生的公钥,即n 和k 导入 该模块主要使用的子函数如表4 2 所示: 表4 - 2 混合加密中土要f 函数及其作刚 子函数名作川返而l o p e n f i l e 打开输入输出文f ,j :打开成功返川t r u e ,否则返同f a l s e e n c r y p t 加密 加密成功返同t r u e ,否则返同f a l s e d e c r y p t解密解密成功返同t r u e ,否则返同f a l s e e n c r y p t 加密设置成功返同t r u e ,否则返州f a l s e 说明: e n c r y p t 所需参数:k e y s t r ,m o d s t r 为o 结尾的密钥串,用于设置r s a 密钥 和模1 1 s e t k e y 所需参数:k e y s t r ,m o d s t r 为0 结尾的密钥串,对应密钥和模n ( 1 ) 混合加密 b o o l c m c s :e n c r y p t ( c h a r 术o u t f i l e ,c h a r木i n f i l e ,c h a r = :r s a k e y s t r , c h a r 半r s a m o d s t r , b o o li s 3 d e s l c h e c k ( r s a k e y s t r & & r s a m o d s t r & & o p e n f i l e ( o u t f i l e ,i n f i l e ) ) c h a r d e s k e y 【1 7 】; c w i n d o ww n d ; w n d s h o w w a i t c u r s o r 0 ;显示等待光标 w n d s e t w i n d o w c a p t i o n ( ”r s a 正在加密d e s 密钥- t 。) ; d e s r a n d k e y s t r ( d e s k e y ) ;产生随机密钥串 i f ( i s 3 d e s ) d e s r a n d k e y s t r ( & d e s k e y 【8 】) ;如果使用3 次d e s 加密,则再产生一个 密钥 f i l ec h e c k ( m c s h e a d k e y l e n = r s a e n c r y p t ( m c s h e a d d e s k e y ,d e s k ey ,i s 3 d e s ? 1 6 :8 ,r s a k e y s t r , r s a m o d s t r ) ,o u t f i l e ) 加密d e s 密钥串 w n d e n d w a i t c u r s o r 0 ; 结束等待光标 一1 w r i t e ( f h _ o u t ,( c h a r 木) & m c s h e a d ,s i z e o f ( m c s h e a d ) ) ;写入信息头 f i l ec h e c k ( d e s e n c r y p t ( f h _ o u t ,f h _ i n ,d e s k e y ) ,o u t f i l e ) 进行d e s 加密 4 0 第四章基于混合加密的数据传输系统的实现 c l o s e f i l e o ; r e t u mt r u e ; , ( 2 ) 解密 b o o l c m c s :d e c r y p t ( c h a r 幸o u t f i l e ,c h a r术i n f i l e ,c h a r 宰r s a k e y s t r , c h a r r s a m o d s t r ) c h e c k ( r s a k e y s t r & r s a m o d s t r & & o p e n f i l e ( o u t f i l e ,i n f i l e ) ) c w i n d o w w n d ; f i l e _ c h e c k _ m s g ( _ l r e a d ( f h _ i n ,& m c s h e a d ,s i z e o f ( m c s h e a d ) ) = = s i z e o f ( m c s h e a d ) ,o u t f i l e ,”错误:该文件不是有效的m c s 加密文件! ”) 读取信息头并检查长度 w n d s h o w w a i t c u r s o r 0 ; w n d s e t w i n d o w c a p t i o n ( ”r s a 正在解密d e s 密钥t ) ; i n tl e n = r s a d e c r y p t ( m c s h e a d d e s k e y , m c s h e a d d e s k e y , m c s h e a d k e y l e n ,r s a k e y s t r , r s a m o d s t r ) ;解密d e s 密钥串 w n d e n d w a i t c u r s o r 0 ; f i l e _ c h e c k ( 1 e n ,o u t f i l e ) 检查r s a 密钥的正确性 f i l e _ c h e c k _ m s g ( 1 e n = 1 6 ,o u t f i l e , 错误:r s a 密钥不正确! ”) m c s h e a d d e s k e y 1 e n 】= 叼; f i u l c h e c k ( d e s d e c r y p t ( f h _ o u t ,n l i n ,m c s h e a d d e s k e y ) ,o u t f i l e ) c l o s e f i l e 0 ; r e t u mt r u e ; 4 2 数据传输模块的实现 4 2 1 网络通信基础 4 2 1 1 网络协议的分层 为了减少协议设计的复杂性,大多数网络都按照层( 1 a y e r ) 或级( 1 e v e l ) 的方式 4 1 天津l :业人学硕十学位论文 来组织,每一层都建立在它的下层之上。不同的网络,其层的数量、各层的名字、 内容和功能都不尽相同。然而,在所有的网络中,每一层的目的都是向它的上一 层提供一定的服务,而把如何实现这一服务的细节埘上一层加以屏蔽。 一台机器上的第n 层与另一台机器上的第n 层进行对话。通话的规则就是第 n 层的协议( p r o t o c 0 1 ) 。协议是指通信双方关于通信如何进行所达成的一致。分层 的协议要设计成达到这样的效果,即目标机的第n 层所收到的数据就是源_ 卡机的 第n 层所发出的数据。不同机器罩包含对应层的实体叫对等进程( p e e r ) 。也就是 说,正足对等进程利用踟议进行通信。实际上,数据不是从一台机器的第n 层直 接传送到另一台机器的第n 层,而是每一层都把数据和控制信息交给它的的下一 层,直到最下层。在最下层进行实际的物理通信。 4 2 1 2t c p i p 模型 协议和层的集合被称为网络体系结构( n e t w o r ka r c h i t e c t u r e ) 。目前,互联网上 最流行的网络体系结构是t c p i p 参考模型。m 3 ,所以接下来的协议分析主要是针 对该模型进行。 t c p i p 参考模型并不完全符合o s i 。玎r3 州( o p e ns y s t e m si n t e r c o n n e c t i o n ) 的七 层参考模型。传统的开放式系统互连参考模型,是一种通信协议的7 层抽象的参 考模型,其中每一层执行某一特定任务。该模型的目的是使各种硬件在相同的层 次上相互通信。这7 层是:物理层( p h y s i c a ll a y e r ) 数据链路层( d a t a l i n kl a y e r ) 、 网路层( n e t w o r kl a y e r ) 、传输层( t r a n s p o r tl a y e r ) 、会话层( s e s s i o nl a y e r ) 、表示 层( p r e s e n t a t i o nl a y e r ) 并1 j r l 用层( a p p l i c a t i o nl a y e r ) 而t c p i p 参考模型采用了4 层 的层级结构,每一层都呼叫它的下一层所提供的网络来完成自己的需求。这4 层分别为: ( 1 ) 链路层。又称为网络接口层,对实际的网络媒体的管理,定义如何使用 实际网络( 如e t h e r n e t ,s e r i a ll i n e 等) 来传送数据。它负责接收网络层数据报并通 过传输线发送,或者从传输线上接收数据帧,从中取出数据报,交给网络层。 ( 2 ) 网络层。是基于t c p i p 协议组的任意网络的核心。负责提供基本的数 据封包传送功能,让每一块数据包都能够到达目的主机,如网际协议i p 。 f 3 ) 传输层。在此层中,它提供了节点问的数据传送服务,如传输控制协议 t c p 、用户数据报协议u d p 等。它的主要功能是格式化传输数据并为数据的传 输提供一种机制。为了解决不同应用程序的识别问题,传输层在每个数据报中增 加识别信源和信宿应用程序的信息。 ( 4 ) 应用层。应用程序白j 沟通的层,如简单电子邮件传输( s m t p ) 、文件传输 协议( f t p ) 、网络远程访问协议( t e l n e t ) 等。如上所说t c p i p 参考模型由4 层组成, 4 2 第四章基于混合加密的数据传输系统的实现 它是由很多协议共同组成的。表4 3 是t c p i p 参考模型分层结构示意图。 表4 3t c p i p 协议具体内容 协议协议名作用 所属层 负责主机问数据的路由和网络上 网络层 i p 网间协议数据的存储,为l c m p 、t c p 、u d p 提供分组发送服务 a r p 地士i 解析协议负责将网络地址映射到硬f ,l :地址 网络层 r a r p 反向地址解析协议将硬件地址映射剑网络地址 网络层 川,在主服务器和路由器之间传网络层 l c m p 网间报文控制协议 递控制信息和报错 为用户进氍提供可靠的全双j i :字传输层 。1 y 流、面向连接的协议,为j h 户进 t c p 传输控制协议 徉提供虚电路服务,并为数据可靠 传输建立检奄 为j j 户进程提供无连接协议,刚于传输层 u d p 用户数据报协议 传送数据而不进行正确性检查 允许用户以文件操作的方式与另 廊用层 丌p 文件传输协议 一主机相互通信 s m t p 协议为系统之问传送电子邮应刚层 s m t p 简单i t t l j f l :传送协议 什 允许川户以虚终端方式访问远程 t e l n e t 终端协议 主机 h t i p 超文本传输协议 应用层 t f t p 简单文件传输协议 应用层 4 2 1 3t c p lp 协议数据格式 ( 1 ) 链路层数据格式 从数据链路层直接接收下来的数据是以太网数据,其结构如表4 4 所示: 表4 4 以太网数据格式 从表中可知,首先是6 个字节的目标物理地址,然后是6 个字节的源物理地 址,后面足2 个字节的数据类型,若为0 8 0 0 则是i p 数据报,0 8 0 6 足a r p 数据 报。下面是依据以太网封装设计的数据结构。 t y p e d e fs t r u c t e t h e r h d r ui n t 8te t h e rd s t 6 : 严目的物理地址宰 ui n t 8te t h e rs r c 6 1 ;尸源物理地址串 4 3 天津jl :业人学硕十学位论文 u i n t l 6 一te t h e r _ t y p e ; 木协议类型宰 e t h e r h d r ; ( 2 ) 网络层数据格式 网际协议i p ( i n t e r n e tp r o t o c 0 1 ) 是t c p i p 的核心,也是网络层中最重要的协 议。网际协议i p 是一种不可靠,无连接的协议。它允许两个主机系统在没有任 何预先调用设置的情况下交换信息。因为l p 是无连接的,所以数据报有可能在 两个术端用户站点之问丢失。网际协议i p 对它的术端用户把其底层子网隐藏起 来。从这个角度上来看,它给木端用户建立了一个虚拟网络,允许不同类型的网 络和i p 网关相连。其结果使得l p 的安装非常简单,并且由于i p 的无连接设计, 它的扩展性也非常好。但是,因为i p 是一个不i 叮靠的数据类型协议,所以它没 有可靠性机制。它不给底层子网提供容错恢复功能,也没有流量控制。用户数据 可能会丢失,甚至不按顺序到达。 l p 数据报格式如表4 5 所示: 表4 5l p 数据报格式 版本号报头k 度服务类型t o s报文总长度 报文标识标志分段偏移量 生存期协议号报头校验和 源i p 地址 目的l p 地址 选项+ 填充数据 报文数据 t y p e d e fs t r u c t 1 p h d r ui n t 8ti pv e r h l ;术版本与头长度木 1 1i n t 8ti p; 拳服务类型宰_ t o s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论